commit f77e6ea881a8a2a1c63a0aee897e110616e9fae1 Author: Danijel Martinek Date: Sun Jul 12 20:40:54 2026 +0200 chore(template): clean-slate template snapshot from bb4a0c7 Curated, product-agnostic snapshot of the post-story-04 tree: demo content deleted, auth-only reference feature, web-next shell, all gates green. Product-specific docs, ADRs 027-029, PRDs/epics/archive, editor library traces, and product naming are curated out; generic template repairs (coverage provider devDeps, root test:coverage script, live lint fixes, root-only release-please) are kept. See TEMPLATE.md for provenance, curation list, and usage. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_016j8z4VHjedXDTjEDNg7qHK diff --git a/.claude/hooks/bash-guard.sh b/.claude/hooks/bash-guard.sh new file mode 100755 index 0000000..a7fdbfb --- /dev/null +++ b/.claude/hooks/bash-guard.sh @@ -0,0 +1,44 @@ +#!/usr/bin/env bash +# Tier 1 — blocks dangerous shell invocations the agent shouldn't run +# autonomously. Reads PreToolUse JSON on stdin; exits 2 with stderr to block, +# 0 to allow. Reinforces the Git Safety Protocol in CLAUDE.md. + +set -euo pipefail + +input=$(cat) +cmd=$(printf '%s' "$input" | jq -r '.tool_input.command // ""') + +blocks=( + '(^|[[:space:]])--no-verify([[:space:]]|$)' + '(^|[[:space:]])--no-gpg-sign([[:space:]]|$)' + 'git[[:space:]]+push[[:space:]]+([^&|;]*[[:space:]])?(-f|--force)([[:space:]]|$)' + 'git[[:space:]]+reset[[:space:]]+[^&|;]*--hard' + 'git[[:space:]]+clean[[:space:]]+-[a-zA-Z]*f' + 'git[[:space:]]+checkout[[:space:]]+\.([[:space:]]|$)' + 'git[[:space:]]+restore[[:space:]]+\.([[:space:]]|$)' + 'git[[:space:]]+branch[[:space:]]+-D' + 'git[[:space:]]+commit[[:space:]]+[^&|;]*--amend' + 'rm[[:space:]]+-rf?[[:space:]]+/' + 'rm[[:space:]]+-rf?[[:space:]]+~' + 'rm[[:space:]]+-rf?[[:space:]]+\$HOME' +) + +for pattern in "${blocks[@]}"; do + if [[ "$cmd" =~ $pattern ]]; then + cat >&2 <\` in the prompt) or document the override +in their request. See CLAUDE.md → "Executing actions with care" and the +Git Safety Protocol section. +EOF + exit 2 + fi +done + +exit 0 diff --git a/.claude/hooks/generator-first-nudge.sh b/.claude/hooks/generator-first-nudge.sh new file mode 100755 index 0000000..c54bfba --- /dev/null +++ b/.claude/hooks/generator-first-nudge.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash +# Tier 1 — enforces the generator-first rule. Blocks hand-rolled scaffolding +# under packages/ or apps/ via mkdir/cp/touch. Use `pnpm turbo gen `. + +set -euo pipefail + +input=$(cat) +cmd=$(printf '%s' "$input" | jq -r '.tool_input.command // ""') + +# Match creation of a NEW top-level packages// or apps// directory. +# Allows working inside an existing package (e.g. `mkdir -p packages/blog/src/foo`). +patterns=( + 'mkdir[[:space:]]+(-p[[:space:]]+)?packages/[a-zA-Z0-9_-]+/?([[:space:]]|$)' + 'mkdir[[:space:]]+(-p[[:space:]]+)?apps/[a-zA-Z0-9_-]+/?([[:space:]]|$)' + 'cp[[:space:]]+-[rR][[:space:]]+packages/[^[:space:]]+[[:space:]]+packages/[a-zA-Z0-9_-]+/?([[:space:]]|$)' +) + +for pattern in "${patterns[@]}"; do + if [[ "$cmd" =~ $pattern ]]; then + cat >&2 < # optional core (events|realtime|audit|trpc|ui) + pnpm turbo gen event # event contract or handler + pnpm turbo gen job # background job + pnpm turbo gen realtime # realtime channel or handler + pnpm turbo gen core-ui-component # atomic-design UI component + +If you're modifying an existing package (e.g. \`mkdir -p packages/blog/src/x\`) +this hook will not block you. If you genuinely need to bypass (e.g. fixing +the generator itself), ask the user to authorize and re-state the intent. + +Command: ${cmd} +EOF + exit 2 + fi +done + +exit 0 diff --git a/.claude/hooks/library-policy-nudge.sh b/.claude/hooks/library-policy-nudge.sh new file mode 100755 index 0000000..0b817b9 --- /dev/null +++ b/.claude/hooks/library-policy-nudge.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash +# Advisory — nudges the agent to run /evaluate-library before adding runtime +# dependencies. Non-blocking (exit 0). Stdout is injected as system-reminder +# context by the harness. +# +# Dispatches on payload shape: +# .tool_input.command → PreToolUse / Bash (pnpm add / pnpm i ) +# .tool_input.file_path → PostToolUse / Edit|Write (**/package.json edits) + +set -euo pipefail + +input=$(cat) + +# --- PreToolUse / Bash path --- +cmd=$(printf '%s' "$input" | jq -r '.tool_input.command // ""') +if [[ -n "$cmd" ]]; then + # Match: pnpm add <...> or pnpm i — must have a space after keyword + if [[ "$cmd" =~ (^|[[:space:]])pnpm[[:space:]]+(add[[:space:]]|i[[:space:]]) ]]; then + # Skip dev-dependency installs — no policy evaluation needed for devDeps + if [[ ! "$cmd" =~ (^|[[:space:]])(-D|--save-dev)([[:space:]]|$) ]]; then + cat <<'EOF' +[library-policy-nudge] Runtime dependency detected — evaluate before adding. + +Run the evaluate-library skill first: + /evaluate-library --tier --target + +This ensures the dependency is logged in docs/decisions/ before the pre-commit gate fires. +EOF + fi + fi + exit 0 +fi + +# --- PostToolUse / Edit|Write path --- +file_path=$(printf '%s' "$input" | jq -r '.tool_input.file_path // ""') +if [[ "$file_path" == */package.json ]]; then + cat <<'EOF' +[library-policy-nudge] package.json edited — verify any new runtime dependencies are evaluated. + +If you added a runtime dependency, run the evaluate-library skill: + /evaluate-library --tier --target + +This ensures the dependency is logged in docs/decisions/ before the pre-commit gate fires. +EOF +fi + +exit 0 diff --git a/.claude/hooks/library-policy-nudge.test.sh b/.claude/hooks/library-policy-nudge.test.sh new file mode 100755 index 0000000..e861e40 --- /dev/null +++ b/.claude/hooks/library-policy-nudge.test.sh @@ -0,0 +1,73 @@ +#!/usr/bin/env bash +# Smoke tests for library-policy-nudge.sh +# Usage: bash .claude/hooks/library-policy-nudge.test.sh + +set -euo pipefail + +SCRIPT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/library-policy-nudge.sh" +MARKER="/evaluate-library" +PASS=0 +FAIL=0 + +assert_contains() { + local name="$1" + local input="$2" + local output + output=$(printf '%s' "$input" | bash "$SCRIPT" 2>/dev/null) + if echo "$output" | grep -qF "$MARKER"; then + echo " PASS: $name" + PASS=$((PASS + 1)) + else + echo " FAIL: $name" + echo " Expected stdout to contain: $MARKER" + echo " Got: ${output:-}" + FAIL=$((FAIL + 1)) + fi +} + +assert_no_output() { + local name="$1" + local input="$2" + local output + output=$(printf '%s' "$input" | bash "$SCRIPT" 2>/dev/null) + if ! echo "$output" | grep -qF "$MARKER"; then + echo " PASS: $name" + PASS=$((PASS + 1)) + else + echo " FAIL: $name" + echo " Expected no $MARKER in stdout, got: $output" + FAIL=$((FAIL + 1)) + fi +} + +echo "library-policy-nudge.sh smoke tests" +echo "------------------------------------" + +# pnpm add → reminder (runtime dep) +assert_contains \ + "pnpm add foo triggers reminder" \ + '{"tool_input":{"command":"pnpm add foo"}}' + +# pnpm add -D → no reminder (dev dep) +assert_no_output \ + "pnpm add -D foo produces no reminder" \ + '{"tool_input":{"command":"pnpm add -D foo"}}' + +# pnpm add --save-dev → no reminder (dev dep, long flag) +assert_no_output \ + "pnpm add --save-dev foo produces no reminder" \ + '{"tool_input":{"command":"pnpm add --save-dev foo"}}' + +# Edit on non-package.json → no reminder +assert_no_output \ + "Edit on feature.manifest.ts produces no reminder" \ + '{"tool_input":{"file_path":"/workspace/packages/auth/src/feature.manifest.ts"}}' + +# Edit on package.json → reminder +assert_contains \ + "Edit on package.json triggers reminder" \ + '{"tool_input":{"file_path":"/workspace/packages/auth/package.json"}}' + +echo "" +echo "Results: $PASS passed, $FAIL failed" +[[ $FAIL -eq 0 ]] diff --git a/.claude/hooks/post-manifest-edit.sh b/.claude/hooks/post-manifest-edit.sh new file mode 100755 index 0000000..3720538 --- /dev/null +++ b/.claude/hooks/post-manifest-edit.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash +# Tier 3 — when a feature.manifest.ts is edited, remind the agent to surface +# drift and follow manifest-first ordering. Non-blocking (stderr exit 0 is +# visible in transcript; we don't want this to kill the agent's flow). + +set -euo pipefail + +input=$(cat) +file_path=$(printf '%s' "$input" | jq -r '.tool_input.file_path // ""') + +if [[ "$file_path" != *"feature.manifest.ts" ]]; then + exit 0 +fi + +feature=$(echo "$file_path" | sed -nE 's|.*packages/([^/]+)/src/feature\.manifest\.ts$|\1|p') + +cat >&2 <} test typecheck lint + pnpm conformance +EOF + +exit 0 diff --git a/.claude/hooks/prompt-context.sh b/.claude/hooks/prompt-context.sh new file mode 100755 index 0000000..afa0ef6 --- /dev/null +++ b/.claude/hooks/prompt-context.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash +# Tier 2 — injects relevant ADR + workflow pointers when the user's prompt +# mentions concepts covered by an ADR or a hard ordering rule. +# stdout is appended to the agent's context for this turn. + +set -euo pipefail + +input=$(cat) +prompt=$(printf '%s' "$input" | jq -r '.prompt // ""' | tr '[:upper:]' '[:lower:]') + +inject=() + +if echo "$prompt" | grep -qE 'event|publish|consume|cross-feature|job queue'; then + inject+=('Events/jobs: ADR-015 + docs/guides/events-and-jobs.md. Rules E0 (events for cross-feature only), E1 (handlers private), J0 (jobs for deferred work).') +fi +if echo "$prompt" | grep -qE 'realtime|socket\.io|channel|broadcast|presence'; then + inject+=('Realtime: ADR-016 + docs/guides/realtime.md. Rules R0 (state delivery only), R1 (handlers private), R2 (socket.io in core-realtime only).') +fi +if echo "$prompt" | grep -qE 'audit|compliance|gdpr|dpa|erasure'; then + inject+=('Audit: ADR-018 + docs/guides/audit-and-compliance.md. Optional core; scaffold with pnpm turbo gen core-package audit.') +fi +if echo "$prompt" | grep -qE 'sentry|otel|opentelemetry|tracing|instrumentation|pii|scrub'; then + inject+=('Instrumentation: ADR-014 (interfaces) + ADR-017 (OTel migration). PII rules non-negotiable: sendDefaultPii=false, server-side scrub at OTel processor layer.') +fi +if echo "$prompt" | grep -qE 'use case|use-case|controller|repository|feature\.manifest|new feature|scaffold'; then + inject+=('Manifest-first ordering: (1) manifest → (2) contracts (xInputSchema, xOutputSchema, IXUseCase) → (3) tests (red) → (4) impl (green). Use pnpm turbo gen feature/event/job/realtime — never hand-roll.') +fi +if echo "$prompt" | grep -qE 'prd|epic|story|task|sandcastle|dispatch|orchestrat'; then + inject+=('Workflow: docs/architecture/agent-first-workflow-and-conformance.md + ADR-019. PRDs live in docs/work/prds/ — use the to-prd skill. Stress-test plans with grill-with-docs.') +fi +if echo "$prompt" | grep -qE 'di container|inject|bind-production|bind-dev-seed|symbols'; then + inject+=('DI: ADR-008 (per-feature containers). Binders take ctx from core-shared/di. Use .toDynamicValue() for factory bindings. Tests inject mocks directly — no container rebinding.') +fi +if echo "$prompt" | grep -qE 'boundary|boundaries|cross-package|cross feature'; then + inject+=('Boundaries: ADR-006 + ADR-010. Five tags (app|core|core-composition|feature|tooling). Features may only depend on core + tooling. Enforced by ESLint + Turborepo boundaries.') +fi +if echo "$prompt" | grep -qE 'coverage|uncovered|lcov|mutation|stryker|coverage band'; then + inject+=('Coverage: ADR-020 + docs/guides/coverage.md (cookbook). 4 layers — L0 vitest thresholds, L1 pnpm coverage:diff (cover-the-diff), L2 coverage/summary.json (committed trend), L3 pnpm mutate (Stryker on entities + use-cases). Manifest-driven: feature.manifest.ts coverage.bands is the single source of truth.') +fi +if echo "$prompt" | grep -qE 'commit|message|changelog|conventional'; then + inject+=('Conventional Commits (non-negotiable): (): (≤72 chars). Types: feat|fix|docs|style|refactor|test|chore|perf|ci|build|revert. Use `!` for breaking changes. Body explains WHY if non-obvious. Examples: feat(auth): hash password before persisting; refactor(docs)!: consolidate scaffolding into guides. See CLAUDE.md Key Conventions.') +fi +if echo "$prompt" | grep -qE 'release|version|bump|semver|tag\b'; then + inject+=('Releases: ADR-021 + docs/guides/releasing.md. Hybrid versioning — root template (template-v...) + 5 feature packages (auth-v..., blog-v..., etc.) version independently from 0.1.0. release-please reads Conventional Commits and opens a rolling release PR on every push to main; merging cuts per-package tags. Bump targeting is by commit-path, not (scope). Pre-1.0 policy: feat: -> patch, feat!: -> minor.') +fi +if echo "$prompt" | grep -qE 'refactor|deepening|shallow|architecture|seam|adapter|interface design|design it twice'; then + inject+=('Architecture refactors: invoke the improve-codebase-architecture skill (.claude/skills/improve-codebase-architecture/SKILL.md). Vocabulary: module (= feature by default in this repo) / interface / seam / adapter / depth / leverage / locality. Process: Explore -> Present numbered candidates -> Grilling loop. Hard constraints: respect ADRs 001-021 (factory-function shape, per-feature DI, manifest-first, generator-first, boundary tags, vendor isolation). Companion files: DEEPENING.md (dependency categories), INTERFACE-DESIGN.md (parallel sub-agent design pattern), LANGUAGE.md (vocab + this-repo identifier mapping).') +fi + +if [ ${#inject[@]} -gt 0 ]; then + echo "=== context-relevant pointers (from .claude/hooks/prompt-context.sh) ===" + printf -- '- %s\n' "${inject[@]}" +fi + +exit 0 diff --git a/.claude/hooks/session-start.sh b/.claude/hooks/session-start.sh new file mode 100755 index 0000000..9af2198 --- /dev/null +++ b/.claude/hooks/session-start.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +# Tier 2 — surfaces a fresh session's "where to look first" pointers. +# Output on stdout is injected as additional context. + +cat <<'EOF' +=== template-vertical session pointers === +Canonical vocabulary: docs/glossary.md (resolve "what does X mean here?" first) +Architecture: AGENTS.md, docs/architecture/overview.md, docs/architecture/agent-first-workflow-and-conformance.md +Workflow: pnpm work status | pnpm work next | pnpm work dispatch (ADR-019) +Generator-first: pnpm turbo gen beats hand-rolled scaffolding (non-negotiable) +Conformance: pnpm conformance + pnpm fallow (5-gate drift detection) +Conventional Commits (non-negotiable): (): — see CLAUDE.md Key Conventions +Releases: release-please reads commits + opens rolling release PR on merge to main (ADR-021) +Skills: to-prd, grill-with-docs, grill-me, handoff, improve-codebase-architecture, evaluate-library (.claude/skills/) +EOF + +exit 0 diff --git a/.claude/hooks/stop-check-manifest-tests.sh b/.claude/hooks/stop-check-manifest-tests.sh new file mode 100755 index 0000000..e099dc0 --- /dev/null +++ b/.claude/hooks/stop-check-manifest-tests.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash +# Tier 3 — when the agent tries to stop, check whether feature.manifest.ts +# changes have matching test changes. If manifest moved without tests, +# nudge the agent to continue (exit 2 forces continuation). + +set -euo pipefail + +input=$(cat) + +# Loop guard — Claude Code sets stop_hook_active when a Stop hook already +# forced continuation; don't loop infinitely. +already_stopped=$(printf '%s' "$input" | jq -r '.stop_hook_active // false') +if [ "$already_stopped" = "true" ]; then + exit 0 +fi + +# Only run inside the repo +if ! git rev-parse --git-dir >/dev/null 2>&1; then + exit 0 +fi + +manifest_changed=$(git diff --name-only HEAD 2>/dev/null | grep -E 'feature\.manifest\.ts$' || true) + +if [ -z "$manifest_changed" ]; then + exit 0 +fi + +tests_changed=$(git diff --name-only HEAD 2>/dev/null | grep -E '\.test\.(ts|tsx)$' || true) + +if [ -n "$tests_changed" ]; then + exit 0 +fi + +cat >&2 < + +`package.json` declares `"license": "MIT"`. MIT is on the allowlist. Pass. + +## Filter: types + + + +`clsx` ships its own `.d.ts` declarations at `dist/clsx.d.ts`. No `@types/clsx` package needed. +The TypeScript surface covers the full public API (`ClassValue`, overloads). Pass. + +## Filter: maintenance + + + +Last npm release: `2.1.1` published 2024-02-06 (15 months ago at evaluation date — within the 18-month threshold). GitHub shows open PR/issue activity within the last 3 months. The library is small, intentionally stable, and actively maintained. Pass. + +## Filter: boundary-fit + + + +`clsx` is a pure string-concatenation utility. It imports nothing from Node.js or browser globals; it has zero transitive dependencies. Adding it to `packages/navigation` as a `feature`-tagged package introduces no boundary violations under ADR-006 or ADR-010. It does not import `@sentry/*`, `@opentelemetry/*`, or any core-reserved vendor SDK. Pass. + +## Filter: shadow-check + + + +The locked workspace must-haves are: `zod`, `inversify`, `payload`, `@trpc/server`, `superjson`, `reflect-metadata`. None of these perform CSS class-name composition. There is no existing utility in the workspace for this purpose. Pass. + +## Filter: eu-residency + + + +`clsx` is a pure in-process string utility. It performs no network calls, transmits no user data, and has no SaaS endpoint. EU residency filter does not apply. + +## Filter: cve-scan + + + +`pnpm audit --audit-level=moderate` returns 0 vulnerabilities for `clsx@2.1.1` at evaluation time. No accepted advisories. + +## Filter: named-consumer + + + +Named consumer: `packages/navigation/src/ui/components/navigation-menu.tsx` — the `NavigationMenuLink` component must compute conditional class names for the active/inactive link state. Without `clsx` this is implemented as a ternary chain that becomes unreadable past three conditions. The component exists today; this is not a hypothetical future use case. + +Secondary consumer: `packages/navigation/src/ui/components/mobile-nav.tsx` — open-state drawer overlay class computation. Both components are blocked on this adoption. + +## Prompt: replaces + +Replaces inline ternary chains like `` `base-class ${isActive ? 'active' : ''} ${isDisabled ? 'disabled' : ''}` ``. No library is being retired — this is a first-time adoption of a class-composition utility. No parallel adoption risk. + +## Prompt: migration-cost-out + +**Mechanical.** `clsx` is called only at the component leaf level. Removal means replacing `clsx(...)` calls with equivalent template-literal ternaries — a mechanical sed-style refactor bounded to the `packages/navigation/src/ui/` subtree. No data format dependencies, no vendor lock-in, no protocol coupling. + +## Prompt: alternatives-considered + +1. **`classnames`** — functional equivalent, MIT, widely used. Rejected in favour of `clsx` because `clsx` is the successor written by the same author with better TypeScript support and 2× faster benchmarks at comparable bundle size (330 B vs 440 B minzipped). `classnames` would also pass all eight filters; `clsx` is strictly preferable. + +2. **Inline ternary chains (no library)** — the current approach. Adequate for one or two conditions; degrades rapidly past three. The `navigation-menu` component already has four conditional classes; this is the threshold where a utility library pays for itself. Rejected as the status quo. + +3. **`tailwind-merge`** — superset of `clsx` that also de-duplicates conflicting Tailwind classes. Overkill for this use case (navigation components use a small, non-conflicting class set). Higher migration cost out (data-format dependency on Tailwind class semantics). Deferred. diff --git a/.claude/skills/evaluate-library/EXAMPLES/rejected-trpc-to-openapi.md b/.claude/skills/evaluate-library/EXAMPLES/rejected-trpc-to-openapi.md new file mode 100644 index 0000000..54a520d --- /dev/null +++ b/.claude/skills/evaluate-library/EXAMPLES/rejected-trpc-to-openapi.md @@ -0,0 +1,99 @@ +--- +package: trpc-to-openapi +version: "^1.2.0" +tier: core +decision: rejected +date: 2026-05-14 +deciders: [danijel, claude-sonnet-4-6] +adr: null +filter-results: + license: MIT + types: native + maintenance: active + boundary-fit: pass + shadow-check: pass + eu-residency: n/a + cve-scan: clean + named-consumer: fail +verification-commands: + - npm info trpc-to-openapi license + - npm info trpc-to-openapi time.modified + - pnpm audit --audit-level=moderate +accepted-cves: [] +--- + +## Filter: license + + + +`package.json` declares `"license": "MIT"`. On the allowlist. Pass. + +## Filter: types + + + +`trpc-to-openapi` ships TypeScript declarations (`.d.ts`) alongside the compiled output. Full API surface typed. Pass. + +## Filter: maintenance + + + +Last npm release: `1.2.0` published within the past 12 months at evaluation date. GitHub shows active issue triage. Pass. + +## Filter: boundary-fit + + + +`trpc-to-openapi` would land in a `core`-tagged package alongside the tRPC router configuration. Core packages are permitted to hold tRPC-adjacent tooling. The library imports `@trpc/server` (already a workspace must-have) and standard `zod` types. No boundary violations under ADR-006 or ADR-010. Pass. + +## Filter: shadow-check + + + +No existing workspace library performs OpenAPI spec generation from tRPC routers. `trpc-to-openapi` does not duplicate any locked must-have. Pass. + +## Filter: eu-residency + + + +`trpc-to-openapi` is a pure in-process code-generation utility. It produces an OpenAPI JSON spec at build time or request time; it transmits nothing to a vendor endpoint. EU residency filter does not apply. + +## Filter: cve-scan + + + +`pnpm audit --audit-level=moderate` returns 0 vulnerabilities at evaluation time. Pass. + +## Filter: named-consumer + + + +**No named consumer exists.** + +The proposal arose during a 2026-05-14 grill session exploring whether to expose the tRPC router surface as a REST API for external consumers. The session established that **all current callers are TypeScript** and use `createCaller` directly — there are no HTTP REST clients calling the API, and no external consumers are blocked waiting for an OpenAPI spec. + +The hypothetical consumers cited were: + +- "External partners might want a REST API someday" — speculative; no partner is waiting. +- "A mobile client might prefer REST over tRPC-HTTP" — hypothetical; no mobile client exists. +- "OpenAPI docs improve DX for third-party integrations" — no third-party integration is in flight. + +The grill-session question "who calls this code path today, or who is blocked waiting for it?" had the honest answer: nobody. The library would have shipped approximately 30 lines of `.meta({...})` annotations per router and a `superjson`-incompatible HTTP handler configuration in exchange for zero downstream consumers — pure carrying cost. + +This trace exists as a permanent record per ADR-022 §4 so future agents do not re-evaluate `trpc-to-openapi` without first answering whether a named consumer now exists. If a concrete external integration is later planned, re-open this evaluation with the integration as the named consumer, re-run all eight filters, and write a new trace. + +## Prompt: replaces + +Nothing is being retired. The adoption would have been additive alongside the existing `createCaller` usage path. + +## Prompt: migration-cost-out + +**Hard.** Once `.meta({...})` annotations are added to tRPC procedures, they accumulate across routers over time. Removal requires stripping those annotations, deleting the OpenAPI spec generation step, and coordinating with any REST consumers that may have formed since adoption. The `superjson`-incompatible HTTP handler creates a parallel request path that would need to be decommissioned. Hard-rated because of the scattered annotation surface. + +## Prompt: alternatives-considered + +1. **`@anatine/zod-nestjs` + NestJS** — full REST framework alternative; overkill for a tRPC-native repo and would require replacing the tRPC layer entirely. Not a serious alternative for this use case. + +2. **Custom OpenAPI spec, hand-authored** — maintain a `openapi.yaml` alongside the tRPC router. Zero runtime cost; no dependency; the spec is always exactly what consumers need. Viable if a named consumer materialises and the schema surface is stable. The correct path when named-consumer passes. + +3. **No action (status quo)** — current approach: TypeScript callers use `createCaller`; no REST surface exposed. Correct given that no named consumer exists today. This is the chosen outcome. diff --git a/.claude/skills/evaluate-library/POLICY.md b/.claude/skills/evaluate-library/POLICY.md new file mode 100644 index 0000000..2b1db5d --- /dev/null +++ b/.claude/skills/evaluate-library/POLICY.md @@ -0,0 +1,110 @@ +# Library Evaluation Policy — Quick Reference + +> Authoritative source: `docs/decisions/adr-022-library-evaluation-policy.md` +> Authoritative runbook: `.claude/skills/evaluate-library/SKILL.md` + +--- + +## Why this policy exists + +The repo ships with a deliberately narrow runtime surface (six deps per feature package). That discipline is uncodified. Three signals exposed the gap: a near-miss adding `trpc-to-openapi` for hypothetical REST consumers; three ADRs recording library choices _after_ adoption; and no EU-residency gate before a library could silently transmit user data to a US-only SaaS endpoint. ADR-022 codifies the discipline and makes it agent-runnable. + +--- + +## Tier trigger + +The policy applies to **direct runtime dependencies** in feature- and core-tier packages. Devdeps and app-tier deps are exempt. + +| Where the dep lands | Process required | Companion record | +| -------------------------- | ------------------------- | ---------------- | +| `apps/` | Author's call — no policy | — | +| `packages/` | Trace required | — | +| `packages/core-*` | Trace required | ADR required | +| New optional-core category | Trace required | ADR required | + +The trigger maps onto the existing ESLint `boundaries` tag system (ADR-006, ADR-010) — no new mental model. + +--- + +## Eight hard auto-reject filters + +**Phase 1 — cheap (always run to completion)** + +| # | Filter | Auto-reject condition | +| --- | ---------------- | -------------------------------------------------------------------------------------------------------------------------- | +| 1 | **license** | Outside `MIT`, `Apache-2.0`, `BSD-*`, `ISC`, `MPL-2.0` | +| 2 | **types** | No `.d.ts` and no `@types/` | +| 3 | **shadow-check** | Functional parallel to a locked must-have (`zod`, `inversify`, `payload`, `@trpc/server`, `superjson`, `reflect-metadata`) | +| 4 | **boundary-fit** | Dep would violate ESLint boundary rules for the target tier (e.g., `@sentry/node` in a feature package — ADR-017 §4) | + +**Phase 2 — expensive (short-circuit after first reject)** + +| # | Filter | Auto-reject condition | +| --- | ------------------ | ---------------------------------------------------------------------------------------------------------------------- | +| 5 | **maintenance** | Last release ≥ 18 months OR activity gap ≥ 12 months (`abandoned`) | +| 6 | **cve-scan** | Open advisory at `moderate` severity or above (via `pnpm audit`) | +| 7 | **eu-residency** | Library transmits user data/telemetry to a vendor endpoint with no EU data region available or not configured | +| 8 | **named-consumer** | No concrete call site exists today and no feature is blocked waiting for it — hypothetical future use does not qualify | + +A single failure in any filter → `decision: rejected`. Cheap filters always run; expensive filters stop at the first fail. + +--- + +## Three discussion prompts + +Not auto-reject filters — any answer is acceptable with justification. Required in every trace. + +1. **replaces** — What existing approach does this replace? Parallel adoption of the same capability is a smell. +2. **migration-cost-out** — Rate the removal cost 18 months from now: mechanical / hard / impossible. +3. **alternatives-considered** — Two named alternatives minimum. For core-tier, also duplicated into the companion ADR. + +--- + +## Trace artifact + +Every decision — approved or rejected — produces a file at `docs/library-decisions/-.md`. + +**Required frontmatter fields:** + +| Field | Values | +| ------------------------------- | ------------------------------------------ | +| `package` | npm package name | +| `version` | semver range | +| `tier` | `app` \| `feature` \| `core` | +| `decision` | `approved` \| `rejected` | +| `date` | `YYYY-MM-DD` | +| `deciders` | list of authors (human and/or agent) | +| `adr` | `adr-NNN` or `null` | +| `filter-results.license` | SPDX id | +| `filter-results.types` | `native` \| `@types/` \| `none` | +| `filter-results.maintenance` | `active` \| `dormant` \| `abandoned` | +| `filter-results.boundary-fit` | `pass` \| `fail` | +| `filter-results.shadow-check` | `pass` \| `fail` \| `"shadows "` | +| `filter-results.eu-residency` | `ok` \| `n/a` \| `self-hostable` \| `fail` | +| `filter-results.cve-scan` | `clean` \| advisory ID \| `fail` | +| `filter-results.named-consumer` | `pass` \| `fail` | +| `verification-commands` | list of literal commands run | +| `accepted-cves` | list of accepted advisory IDs (optional) | + +Skipped expensive filters (short-circuited by an earlier reject) → write `skip` as the frontmatter value and note "Not evaluated" in the prose section. + +The trace lands in **the same commit** as the `package.json` change. The pre-commit hook validates this for approved traces. + +--- + +## Four-layer enforcement stack + +| Layer | Latency | Catches | +| ----------------------------------------------------------- | ---------- | ----------------------------------------------------------------- | +| Claude `PreToolUse`/`PostToolUse` hook | inline | Agent skipping the skill before `pnpm add` or `package.json` edit | +| `/evaluate-library` skill | seconds | The decision itself + writes the trace | +| Git pre-commit hook (`scripts/library-decisions/check.mjs`) | pre-commit | Humans or agents bypassing the skill | +| Sandcastle reviewer prompt | per-slice | Bypasses that slipped past pre-commit | + +The Claude hook injects a `` pointing to this skill. It is non-blocking — devdep additions and app-tier changes trigger the reminder but do not require a trace. The pre-commit hook is the deterministic gate. + +--- + +## Composition with generators + +`pnpm turbo gen core-package ` emits **pre-shipped traces** — one per direct runtime dep of the new core package — pre-marked `decision: approved` and citing the relevant ADR (ADR-015 for events, ADR-016 for realtime, ADR-018 for audit). No separate evaluation needed for scaffolded optional cores. diff --git a/.claude/skills/evaluate-library/SKILL.md b/.claude/skills/evaluate-library/SKILL.md new file mode 100644 index 0000000..a44722d --- /dev/null +++ b/.claude/skills/evaluate-library/SKILL.md @@ -0,0 +1,308 @@ +--- +name: evaluate-library +description: Walk the 9-filter + 3-prompt library evaluation protocol for a named package, write the decision trace to docs/library-decisions/, and return pass/fail. Use when adding a runtime dependency to a feature or core package, or when the library-policy-nudge hook fires. +--- + + + +``` +/evaluate-library --tier --target +``` + +All three arguments are required. The `library-policy-nudge` hook emits this exact invocation. For `app`-tier packages, evaluation still runs but a trace is optional (author's call per ADR-022 §1). + + + + + +## Overview + +Walk nine hard auto-reject filters in **collect-cheap-skip-expensive** order, then answer three discussion prompts. Write the trace unconditionally at the end — including for rejections. A rejection trace is a permanent record that prevents future agents from re-litigating the same decision. + +## Phase 1 — Cheap filters (always run to completion, even if one fails) + +Run all four cheap filters regardless of their outcomes. Record each result before moving to Phase 2. + +### Filter 1: license + +Command: `node -e "const p = JSON.parse(require('fs').readFileSync('./node_modules//package.json','utf8')); console.log(p.license)"` + +Allowlist: `MIT`, `Apache-2.0`, `BSD-2-Clause`, `BSD-3-Clause`, `ISC`, `MPL-2.0`. + +Result values: the SPDX identifier (e.g. `MIT`) if allowed, or ` (rejected)` if outside the allowlist. Anything outside the allowlist is an automatic reject but does not stop Phase 1. + +### Filter 2: types + +Check whether TypeScript types ship with the package or via `@types/`: + +``` +ls node_modules//index.d.ts 2>/dev/null && echo native || npm info @types/ version 2>/dev/null | head -1 +``` + +Result values: `native` (ships its own `.d.ts`), `@types/` (community types available), or `none` (auto-reject — un-typed library shifts maintenance cost to the feature). + +### Filter 3: shadow-check + +Check whether this library duplicates a must-have already locked in the workspace. Locked must-haves: `zod` (validation), `inversify` (DI, ADR-002), `payload` (CMS), `@trpc/server` (API layer), `superjson` (serialisation), `reflect-metadata` (DI metadata). + +Command: `cat package.json | grep -E '"(zod|inversify|payload|@trpc/server|superjson|reflect-metadata)"'` — run from the workspace root. + +Result values: `pass` (no shadow), `fail` (exact duplicate of a locked dep), `"shadows "` (functional parallel that would create two libraries doing the same job — auto-reject). A replacement must be a separate ADR with consequences analysis, not a parallel adoption. + +### Filter 4: boundary-fit + +Confirm the dependency does not violate ESLint boundary-tag rules for the target tier (ADR-006, ADR-010, ADR-017). + +Key rules: + +- Feature packages cannot import `@sentry/*` or `@opentelemetry/sdk-*` directly — those are reserved for core (ADR-017 §4). +- No package may import across feature boundaries without going through the event bus or tRPC. +- Optional core packages can only be imported by apps and `core-composition`-tagged packages. + +Check by reviewing what the proposed library's transitive imports would bring in and whether any violate the boundary ruleset. + +Result values: `pass` or `fail`. + +--- + +After Phase 1: tally results. If **any cheap filter failed**, the overall decision is `rejected`. Proceed to Phase 2 anyway — all expensive filters still run if the Phase 1 decision is already rejected (they inform the full record). If all cheap filters passed, proceed to Phase 2 to determine the final decision. + +## Phase 2 — Expensive filters (short-circuit after first reject) + +Run in order. On the first failure, set remaining filter results to `skip` and skip to the [Trace write step](#trace-write-step). + +### Filter 5: maintenance + +Check last release date and recent PR/issue activity: + +``` +npm info time.modified +npm info time | tail -5 +``` + +Result values: + +- `active` — last release < 18 months **and** PR/issue activity < 12 months +- `dormant` — stable, not actively developed (acceptable for finished libraries like `reflect-metadata`) +- `abandoned` — last release ≥ 18 months **or** no activity in ≥ 12 months → auto-reject; short-circuit remaining expensive filters + +On `abandoned` → set `cve-scan`, `eu-residency`, `named-consumer`, `socketRisk` to `skip` → write trace. + +### Filter 6: cve-scan + +``` +pnpm audit --audit-level=moderate 2>&1 | head -40 +``` + +Result values: `clean` (no advisories), an advisory ID like `GHSA-xxxx-xxxx-xxxx` (accepted risk — document in `accepted-cves` frontmatter), or `fail` (open advisory not accepted → auto-reject; short-circuit remaining expensive filters). + +On `fail` → set `eu-residency`, `named-consumer`, `socketRisk` to `skip` → write trace. + +### Filter 7: eu-residency + +Applies only if the library transmits user data, telemetry, business state, or secrets to a vendor-controlled endpoint by default. Examples: analytics SDKs, error-tracking clients, AI APIs, log aggregation services. + +Exemptions (result: `n/a`): pure in-process libraries (no network calls), self-hostable software where the operator controls the endpoint, and build-time-only tools. + +For non-exempt libraries: verify the vendor offers an EU data region AND that the integration in `target` is configured to use it. + +Result values: `ok` (vendor offers EU region, integration configured), `n/a` (no data transmission), `self-hostable` (operator-controlled endpoint), `fail` → auto-reject; short-circuit `named-consumer`. + +On `fail` → set `named-consumer`, `socketRisk` to `skip` → write trace. + +### Filter 8: named-consumer + +Answer: **Who calls this code path today, or who is blocked waiting for it?** + +A named consumer is a concrete call site that exists now or a feature blocked on this capability today. "We might want this later", "external clients could use this", and "it would be nice to have" are not named consumers. + +If the only possible callers are hypothetical or future → `fail` → set `socketRisk` to `skip` → auto-reject. + +Result value: `pass` or `fail`. + +### Filter 9: supply-chain behavior (Socket) + +**Expensive — network call. Run last in Phase 2. Short-circuit: if any earlier Phase 2 filter already rejected the library, set `socketRisk` to `skip` and proceed to the [Trace write step](#trace-write-step).** + +Verify the package's supply-chain health via `socket-cli`: + +``` +npx socket-cli@latest scan . --json 2>&1 +``` + +This scans the current directory's lockfile for packages installed from the target under evaluation. For a targeted single-package check before installing: + +``` +npx socket-cli@latest info @ --json 2>&1 +``` + +The JSON output contains an array of findings, each with a `severity` field. Cross-reference with the repo-root `.socket.json` `issueRules` to determine the classification: + +| Finding severity | `.socket.json` rule | `socketRisk` value | +| ----------------------------------- | ------------------- | ------------------- | +| No findings, or only `medium`/`low` | `ignore` | `clean` | +| `high`-severity finding present | `warn` | `flagged` | +| `critical`-severity finding present | `error` | `` | + +Where `` is a concise label for the critical finding (e.g. `"new-author-on-publish"`, `"install-scripts-added"`, `"exfiltrates-env"`). + +Set `filter-results.socketRisk` in the trace frontmatter to one of these three values. + +Result values: + +- `clean` — no meaningful supply-chain signals; proceed to Phase 3 prompts. +- `flagged` — `high`-severity finding; document the specific signal in the trace body and decide whether to accept with justification. Not an auto-reject. +- `` — `critical`-severity finding; auto-reject. This is the last filter — no further filters to skip. + +--- + +## Skip sentinel + +When a filter is short-circuited (not evaluated), write `skip` for its frontmatter value. The Zod schema validates approved traces end-to-end; rejected/partial traces may carry `skip` in fields that would normally require an enum value. The pre-commit check only validates that approved traces exist for new deps — partial traces are informational records. + +## Three discussion prompts + +Answer all three in the trace, regardless of filter outcome. These are not auto-reject filters; any answer is acceptable with justification. + +### Prompt: replaces + +What existing library or approach does this replace? New-and-old running in parallel is a smell — name the thing being retired and the retirement plan, or explain why parallel adoption is intentional and time-bounded. + +### Prompt: migration-cost-out + +What does ripping this back out look like 18 months from now? Rate: **mechanical** (swap one package, update call sites), **hard** (scattered integration points, data-format dependencies), or **impossible** (vendor lock-in, protocol coupling). Higher cost raises the bar for adoption. + +### Prompt: alternatives-considered + +Name at least two alternatives evaluated before choosing this library. For `core`-tier adoptions, this section is also duplicated into the companion ADR. If no alternatives exist, explain why (e.g., the library is the de-facto standard with no viable substitutes). + +--- + +## Sub-processor classification + +Answer these two questions before writing the trace. The answers become +top-level frontmatter fields required by ADR-022 §9. + +### Question: is-sub-processor + +**Does the vendor receive personal data on the operator's behalf?** + +A library is a sub-processor when it transmits personal data (user identifiers, +email addresses, behavioural events, request bodies, etc.) to a vendor-controlled +endpoint — analytics SDKs, error-tracking clients, AI APIs, log aggregation +services. Network calls alone do not make a library a sub-processor; only calls +that carry personal data do. + +Pure in-process libraries (no network calls), self-hostable software where the +operator controls the endpoint, and build-time-only tools are **not** sub-processors. + +Set `is-sub-processor: true | false`. + +### Question: processes-pii + +**Does the library process personal data in-process, even without transmitting +it to a vendor?** + +A library processes PII if it reads, validates, serialises, stores, or +transforms data fields that may contain personal information (names, emails, +IDs, content authored by users, authentication credentials). A self-hosted +database or CMS is a prime example: no data leaves to a vendor, yet the +library clearly handles PII. + +Pure utility libraries (DI containers, type validators, serialisers operating +on already-typed objects without inspecting field semantics, test runners) +typically answer `false`. + +Set `processes-pii: true | false`. + +### Conditional block: when is-sub-processor is true + +When `is-sub-processor: true`, five additional fields are **required** in the +trace frontmatter. Gather them before writing the trace: + +``` +data-sent: "" +region: "" +dpa-signed: true | false # has the operator signed a DPA with this vendor? +sccs-required: true | false # does the vendor require SCCs (non-EEA transfer)? +contact: "" +``` + +If the vendor does not yet have a signed DPA or if you cannot determine the +region, record `dpa-signed: false` / region as best-known and add a prose note +under `## Sub-processor` in the trace body explaining the gap. + +--- + +## Trace write step + +Write the trace **unconditionally** at evaluation end — even for rejections, even for partial traces. + +**Path:** `docs/library-decisions/-.md` + +Use today's date. Use `docs/library-decisions/_template.md` as the structural guide. + +Frontmatter rules: + +- `decision: approved` only if all eight filters passed. Otherwise `decision: rejected`. +- `adr: null` for feature-tier. For core-tier approvals, coordinate the ADR slug before writing (`adr: adr-NNN`). +- `verification-commands` — include the literal commands run for each filter, one per line. +- `accepted-cves: []` (empty unless you accepted a specific advisory). +- `is-sub-processor` and `processes-pii` are **always required** (see Sub-processor classification above). +- When `is-sub-processor: true`, include `data-sent`, `region`, `dpa-signed`, `sccs-required`, and `contact`. +- For skipped expensive filters, write `skip` for the frontmatter value and omit the prose section body or note "Not evaluated — skipped due to earlier rejection." + +Frontmatter template: + +```yaml +--- +package: +version: "" +tier: app | feature | core +decision: approved | rejected +date: +deciders: [, ...] +adr: adr-NNN | null +lastRevalidated: null +is-sub-processor: false +processes-pii: false +# include the block below only when is-sub-processor: true +# data-sent: "" +# region: "" +# dpa-signed: false +# sccs-required: false +# contact: "" +filter-results: + license: + types: native | "@types/" | none + maintenance: active | dormant | abandoned + boundary-fit: pass | fail + shadow-check: pass | fail | "shadows " + eu-residency: ok | n/a | self-hostable | fail + cve-scan: clean | "" | fail + named-consumer: pass | fail + socketRisk: clean | flagged | +verification-commands: + - +accepted-cves: [] +--- +``` + +After writing the trace: + +- For approved traces: confirm the trace is staged in the same commit as the `package.json` change. The pre-commit hook validates this. +- For rejected traces: stage the trace file alone. Do not run `pnpm add `. + + + + + +After completing the evaluation, emit a one-paragraph summary: + +``` +/evaluate-library result: @ () +Rejection filters (if any): +Trace written to: docs/library-decisions/-.md +``` + + diff --git a/.claude/skills/evaluate-library/TRACE-TEMPLATE.md b/.claude/skills/evaluate-library/TRACE-TEMPLATE.md new file mode 100644 index 0000000..fcee28a --- /dev/null +++ b/.claude/skills/evaluate-library/TRACE-TEMPLATE.md @@ -0,0 +1,167 @@ +# Trace Template + +Use this file as the structural guide when writing a library decision trace. Copy the frontmatter block and all 11 headings. Replace placeholder values with real results. + +Trace path: `docs/library-decisions/-.md` + +--- + +## Frontmatter — all filters evaluated + +```markdown +--- +package: +version: "" +tier: app | feature | core +decision: approved | rejected +date: +deciders: [, ...] +adr: adr-NNN | null +filter-results: + license: + types: native | "@types/" | none + maintenance: active | dormant | abandoned + boundary-fit: pass | fail + shadow-check: pass | fail | "shadows " + eu-residency: ok | n/a | self-hostable | fail + cve-scan: clean | "" | fail + named-consumer: pass | fail + socketRisk: clean | flagged | +verification-commands: + - + - + - + - +accepted-cves: [] +--- +``` + +## Frontmatter — partial trace (expensive filters short-circuited) + +When an expensive filter fails (Phase 2 short-circuit), set remaining filter fields to `skip`. The Zod schema validates approved traces end-to-end; `skip` is the accepted sentinel for unevaluated fields in rejected traces. + +Example: `maintenance: abandoned` → `cve-scan`, `eu-residency`, `named-consumer` skipped. + +```markdown +--- +package: +version: "" +tier: feature | core +decision: rejected +date: +deciders: [, ...] +adr: null +filter-results: + license: MIT + types: native + maintenance: abandoned + boundary-fit: pass + shadow-check: pass + eu-residency: skip + cve-scan: skip + named-consumer: skip + socketRisk: skip +verification-commands: + - npm view time.modified +accepted-cves: [] +--- +``` + +--- + +## Required headings (11 total, in this order) + +### Filter sections (8) + +```markdown +## Filter: license + + + +Record the SPDX identifier from `package.json` or `npx license-checker --packages `. +Allowed: MIT, Apache-2.0, BSD-2-Clause, BSD-3-Clause, ISC, MPL-2.0. +Anything else → auto-reject (note the identifier and rejection reason). + +## Filter: types + + + +Confirm TypeScript types are available. `native` = ships its own `.d.ts`; `@types/` = community +types package exists and is current; `none` = no types → auto-reject. + +## Filter: maintenance + + + +Check last release date and recent PR/issue activity. `active` = last release < 18 months AND +activity < 12 months. `dormant` = stable but not actively developed (acceptable for finished +libraries). `abandoned` = auto-reject. +If skipped (earlier expensive filter failed), write: "Not evaluated — skipped due to rejection." + +## Filter: boundary-fit + + + +Confirm the dependency does not violate ESLint boundary-tag rules for the target tier +(ADR-006, ADR-010, ADR-017). Name the specific rule checked and the result. + +## Filter: shadow-check + + + +Check whether this library duplicates a must-have already locked in the workspace. +Locked must-haves: zod, inversify, payload, @trpc/server, superjson, reflect-metadata. +`shadows ` → auto-reject; a replacement requires a dedicated ADR. + +## Filter: eu-residency + + + +If the library transmits user data, telemetry, or business state to a vendor-controlled +endpoint by default, the vendor must offer an EU data region and the integration must be +configured to use it. Pure in-process libraries and build-time tools → `n/a`. +If skipped, write: "Not evaluated — skipped due to rejection." + +## Filter: cve-scan + + + +Run `pnpm audit --audit-level=moderate`. `clean` = no advisories at adoption time. Record +accepted advisory IDs in the `accepted-cves` frontmatter field and explain the risk acceptance +here. If skipped, write: "Not evaluated — skipped due to rejection." + +## Filter: named-consumer + + + +Answer: "Who calls this code path today, or who is blocked waiting for it?" +Hypothetical future callers are not consumers (ADR-022 §2.8 — the direct response to the +2026-05-14 OpenAPI near-miss). If skipped, write: "Not evaluated — skipped due to rejection." +``` + +### Prompt sections (3) + +```markdown +## Prompt: replaces + + + +What existing library or approach does this replace? New-and-old running in parallel is a smell. +Name the thing being retired and its retirement plan, or explain why parallel adoption is +intentional and time-bounded. + +## Prompt: migration-cost-out + + + +What does ripping this back out look like 18 months from now? Rate: mechanical (swap package, +update call sites), hard (scattered integration, data-format dependencies), or impossible +(vendor lock-in, protocol coupling). Higher migration cost raises the adoption bar. + +## Prompt: alternatives-considered + + + +Name at least two alternatives evaluated before choosing this library. For core-tier adoptions, +this section is also duplicated into the companion ADR. If no alternatives exist, explain why. +``` diff --git a/.claude/skills/grill-me/SKILL.md b/.claude/skills/grill-me/SKILL.md new file mode 100644 index 0000000..8ea7bed --- /dev/null +++ b/.claude/skills/grill-me/SKILL.md @@ -0,0 +1,18 @@ +--- +name: grill-me +description: Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when the user wants to stress-test a plan, get grilled, or mentions "grill me". Use grill-with-docs instead when the plan should cross-check against ADRs + glossary + manifests. +--- + +Interview the user relentlessly about every aspect of this plan until you reach a shared understanding. Walk down each branch of the design tree, resolving dependencies between decisions one-by-one. For each question, provide your recommended answer. + +Ask the questions **one at a time**, waiting for feedback before continuing. + +If a question can be answered by exploring the codebase, explore the codebase instead. Useful shortcuts in this repo: + +- `pnpm work status` — current epics and ready stories +- `cat packages//src/feature.manifest.ts` — declared use cases / events / audits +- `ls docs/decisions/` — ADRs by number +- `pnpm fallow` — dead exports, dupes, complexity hotspots +- grep manifests across all features: `grep -r "publishes:" packages/*/src/feature.manifest.ts` + +When grilling pulls in ADR / glossary / manifest cross-checks and you want to update those docs inline, switch to `grill-with-docs` instead. diff --git a/.claude/skills/grill-with-docs/SKILL.md b/.claude/skills/grill-with-docs/SKILL.md new file mode 100644 index 0000000..733094a --- /dev/null +++ b/.claude/skills/grill-with-docs/SKILL.md @@ -0,0 +1,106 @@ +--- +name: grill-with-docs +description: Stress-test a plan against this repo's domain glossary, ADRs, conformance rules, and feature manifests. Update docs/glossary.md inline as terms crystallize; offer ADRs sparingly. Use when the user wants to harden a plan before it becomes a PRD. +--- + + + +Interview the user relentlessly about every aspect of this plan until you reach a shared understanding. Walk down each branch of the design tree, resolving dependencies between decisions one-by-one. For each question, provide your recommended answer. + +Ask the questions **one at a time**, waiting for feedback on each before continuing. + +If a question can be answered by exploring the codebase, explore the codebase instead of asking. The repo has fast feedback loops — run `pnpm work status`, grep manifests, read feature `feature.manifest.ts`, check ADRs. Speculation is a last resort. + + + + + +## Repo doc map + +This repo uses a **single context** with these doc locations: + +``` +/ +├── docs/ +│ ├── glossary.md ← lazy-create when first term resolves +│ ├── decisions/ ← ADRs (adr-NNN-.md, 3-digit zero-pad) +│ │ ├── adr-001-monorepo-tool.md +│ │ ├── adr-018-audit-and-compliance.md +│ │ └── ... +│ ├── architecture/ ← long-form specs + workflow design +│ ├── work/ ← PRDs, epics, stories, tasks +│ └── guides/ ← how-to runbooks +└── packages//src/feature.manifest.ts ← per-feature contract +``` + +There is **no `CONTEXT.md` or `CONTEXT-MAP.md`** — this repo uses `docs/glossary.md` (create lazily) plus the per-feature `feature.manifest.ts` files for machine-readable domain shape. Don't create the multi-context layout (`CONTEXT-MAP.md`) unless this becomes a polyrepo. + +## During the session + +### Challenge against the glossary + manifests + +When the user introduces a term that conflicts with `docs/glossary.md` (if it exists) or with a `feature.manifest.ts` entry, call it out immediately: + +> "Your glossary defines `cancellation` as the act of voiding an unsent invoice, but you seem to mean the user-initiated subscription teardown — which is it?" + +> "`auth.signIn` exists in `packages/auth/src/feature.manifest.ts` with that exact slug — are you adding a new use case or extending the existing one?" + +### Sharpen fuzzy language + +When the user uses vague or overloaded terms, propose a precise canonical term: + +> "You're saying `account` — do you mean a `User` (entity in `packages/auth`) or a Payload-collection record? Those are distinct." + +### Discuss concrete scenarios + +When domain relationships are being discussed, stress-test them with specific scenarios. Invent edge cases that force precision about boundaries between concepts. Lean on the existing feature set — auth, blog, media, marketing-pages, navigation — for grounding examples. + +### Cross-reference with code + +When the user states how something works, verify it against the code. Look at: + +- The feature's `feature.manifest.ts` for declared use cases, audits, publishes, consumes +- `packages//src/application/use-cases/` for the actual shape +- `packages//src/di/bind-production.ts` for what's wired +- `docs/decisions/adr-NNN-*.md` for the decision history + +If you find a contradiction, surface it: + +> "You said cross-feature reactions happen through the bus, but `packages/auth/src/feature.manifest.ts` shows `publishes: []` — has this been wired yet?" + +### Cross-reference with ADRs + +Before recommending an approach, scan `docs/decisions/` for relevant ADRs. If your recommendation contradicts a current-status ADR, surface that explicitly: + +> "You're proposing direct cross-feature imports, but `adr-006-vertical-feature-packages.md` plus rule R20 in the ESLint config forbid that — events (`core-events`) are the sanctioned path. Want to use events, or do you want to reopen the ADR?" + +### Cross-reference with conformance rules + +The conformance system (`docs/architecture/agent-first-workflow-and-conformance.md`) defines hard contracts: + +- Every use case has a manifest entry → contracts → tests → impl (in that order) +- TS brands (`Instrumented`, `Captured`, `Audited`) attached at DI bind time +- ESLint rules enforce manifest ↔ code alignment +- `pnpm conformance` enforces cross-feature event closure + +If the plan would violate any of these, flag it. + +### Update `docs/glossary.md` inline + +When a term is resolved during the conversation, append it to `docs/glossary.md` right then — don't batch. Lazy-create the file when the first term is resolved. Use the format in [glossary-format.md](./glossary-format.md). + +Only include terms meaningful to **this repo's domain** (template / monorepo / agent-first workflow / clean architecture / vertical features). Skip general programming concepts. Skip implementation details — those belong in code or ADRs. + +### Offer ADRs sparingly + +Only offer to create an ADR when all three are true: + +1. **Hard to reverse** — the cost of changing your mind later is meaningful +2. **Surprising without context** — a future reader will wonder "why did they do it this way?" +3. **Result of a real trade-off** — there were genuine alternatives and you picked one for specific reasons + +If any is missing, skip the ADR. The repo's ADRs follow a long-form `Context → Decision → Alternatives considered → Consequences → Related` shape (see `docs/decisions/adr-015-events-and-jobs.md` for a representative example). Number is next-highest in `docs/decisions/` zero-padded to 3 digits (`adr-020-...`, `adr-021-...`). + +If the grill produced a major refactor decision rather than a new feature, lead the user to an ADR; if it produced a feature plan, lead to a PRD via `to-prd`. + + diff --git a/.claude/skills/grill-with-docs/glossary-format.md b/.claude/skills/grill-with-docs/glossary-format.md new file mode 100644 index 0000000..5218c40 --- /dev/null +++ b/.claude/skills/grill-with-docs/glossary-format.md @@ -0,0 +1,62 @@ +# docs/glossary.md Format + +## Structure + +```md +# Glossary + +Domain vocabulary for `template-vertical`. Terms specific to this repo — clean architecture, vertical features, agent workflow, conformance. General programming concepts don't belong here; implementation details belong in code or ADRs. + +## Architecture + +**Feature**: +A vertical slice owning its Clean Architecture layers (entities → application → infrastructure → DI → integrations). +_Avoid_: module, domain, app. + +**Use case**: +A single business action exposed by a feature, implemented as a factory `(deps) => async (input) => output`. Each one has a manifest entry, a Zod input/output schema pair, a colocated test, and a controller. +_Avoid_: command, action, handler. + +**Manifest**: +The `feature.manifest.ts` file that declares a feature's use cases, audits, publishes, consumes, and required core packages. Source of truth for conformance gates. + +**Conformance**: +The 5-gate enforcement system (TS brands → ESLint → boot assertion → `pnpm conformance` → fallow) that keeps manifest and code aligned. + +## Workflow + +**PRD**: +The top-level requirements doc at `docs/work/prds/-.prd.md` that seeds an epic. + +**Epic**: +A large body of work containing stories. Folder at `docs/work/epics//_epic.md`. + +**Story**: +One use case or technical capability. Folder under the epic, file `_story.md`. + +**Task**: +One vertical slice = one PR = one commit. File `.task.md` under the story folder. + +## Relationships + +- A **PRD** decomposes into one or more **Epics** +- An **Epic** contains one or more **Stories** +- A **Story** is implemented by one or more **Tasks** +- A **Use case** is declared in a **Manifest** before it has code +- **Conformance** asserts that the **Manifest** and the code agree + +## Flagged ambiguities + +- (none yet — append here when conflicts are resolved during grilling) +``` + +## Rules + +- **Be opinionated.** When multiple words exist for the same concept, pick the best one and list the others as aliases to avoid. +- **Flag conflicts explicitly.** When grilling surfaces ambiguity, capture both meanings under "Flagged ambiguities" with the resolution. +- **Keep definitions tight.** One sentence max. Define what it IS, not what it does. +- **Show relationships.** Use bold term names; express cardinality where obvious. +- **Only domain terms specific to this repo.** General programming concepts (timeouts, retries, errors, DI) don't belong even if used heavily. Before adding, ask: is this concept unique to template-vertical, or generic? +- **Group under subheadings** when natural clusters emerge (Architecture, Workflow, Instrumentation, etc.). + +This repo is **single-context**: one `docs/glossary.md`, no `CONTEXT-MAP.md`. Don't switch to multi-context layout unless the repo splits. diff --git a/.claude/skills/handoff/SKILL.md b/.claude/skills/handoff/SKILL.md new file mode 100644 index 0000000..dcb5711 --- /dev/null +++ b/.claude/skills/handoff/SKILL.md @@ -0,0 +1,36 @@ +--- +name: handoff +description: Compact the current conversation into a handoff document for another agent to pick up. Use when the user wants to transition work to a fresh session, switch worktrees, or hand off to a subagent. +argument-hint: "What will the next session be used for?" +--- + +Write a handoff document summarising the current conversation so a fresh agent can continue the work. Save it to a path produced by `mktemp -t handoff-XXXXXX.md` (read the file before you write to it). + +Suggest the skills the next session should use, if any. In this repo, the common follow-ups are: + +- `grill-with-docs` — stress-test the plan before coding +- `to-prd` — materialize the plan into `docs/work/prds/-.prd.md` +- `superpowers:writing-plans` — author the implementation plan +- `superpowers:subagent-driven-development` — dispatch implementer + reviewer subagents per task + +## Don't duplicate + +Reference these artifacts by path or URL rather than inlining their content: + +- PRDs (`docs/work/prds/*.prd.md`), epics (`docs/work/epics//_epic.md`), stories (`_story.md`), tasks (`*.task.md`) +- ADRs (`docs/decisions/adr-NNN-*.md`) +- AGENTS.md and CLAUDE.md (the next agent loads these automatically) +- `_state.json` (orchestrator-derived; the next agent regenerates it from markdown via `pnpm work rebuild-state`) +- Commit messages, diffs, PR descriptions — link the SHA / PR number +- Existing plans under `docs/superpowers/plans/` + +## Do capture + +- The active **goal** in one sentence +- **In-flight branch / worktree** and any uncommitted state (e.g. `git status` summary, dangling commits) +- **Decisions made in conversation** that haven't yet landed in a PRD or ADR +- **Blockers** and proposed next steps +- **Skills to invoke first** in the next session +- If the user passed arguments, treat them as the next session's focus and tailor the doc accordingly + +Keep the document short — it's a baton, not a thesis. diff --git a/.claude/skills/improve-codebase-architecture/DEEPENING.md b/.claude/skills/improve-codebase-architecture/DEEPENING.md new file mode 100644 index 0000000..9eb41f7 --- /dev/null +++ b/.claude/skills/improve-codebase-architecture/DEEPENING.md @@ -0,0 +1,98 @@ +# Deepening + +How to deepen a cluster of shallow modules in this repo, given its dependencies. **In this repo "module" defaults to "feature"** — most deepenings operate on or within a feature (`packages//`). Narrower scopes (use case, controller, repository) follow the same dependency-category logic. Assumes the vocabulary in [LANGUAGE.md](LANGUAGE.md) — **module**, **interface**, **seam**, **adapter**. + +## Dependency categories + +When assessing a candidate for deepening, classify its dependencies. The category determines how the deepened module is tested across its seam. + +### 1. In-process + +Pure computation, in-memory state, no I/O. Always deepenable — merge the modules and test through the new interface directly. No adapter needed. + +**Where this lives in our repo:** + +- `entities/models/**` — Zod schemas + types + pure helpers +- `entities/errors/**` — domain error classes +- `application/use-cases/**` — pure orchestration (factories take ports as deps) +- `interface-adapters/controllers/**` + their colocated `presenter` functions +- Pure helpers in `core-shared/conformance/`, `core-shared/instrumentation/` (the non-OTel parts) + +For category 1 modules: **merge, then test the result through its interface**. No mocks. The test surface IS the new interface. + +### 2. Local-substitutable + +Dependencies that have local test stand-ins. **In this repo every infrastructure port already has both a real implementation and a mock side-by-side** — the mock IS the test stand-in. + +**Pattern (from ADR-012):** + +- `.repository.interface.ts` — the port (seam) +- `.repository.ts` — Payload-backed adapter (real) +- `.repository.mock.ts` — in-memory adapter (test stand-in) + +The deepened module is tested with the `.mock.ts` adapter injected directly via the factory function. No container rebinding (ADR-012). + +**Common category-2 ports in this repo:** + +- `IUsersRepository`, `IArticlesRepository`, `IMediaRepository`, etc. → Mock + Payload adapters +- `IAuthenticationService` → Mock + real adapter +- `IJobQueue` (from `core-shared/jobs/`) → `InMemoryJobQueue` + `PayloadJobQueue` +- `IEventBus` (from `core-events/`) → `InMemoryEventBus` + `PayloadJobsEventBus` +- `ITracer`, `ILogger`, `IMetrics` (from `core-shared/instrumentation/`) → `Noop*` + `Otel*` + `Recording*` (the third one lives in `core-testing` for assertions) + +If the deepening touches a category-2 port, the recommendation shape is: _"Merge X into Y, keep the port boundary at the existing `.repository.interface.ts`; both adapters survive unchanged."_ + +### 3. Remote but owned + +Our own services across a network boundary. **In this repo, cross-feature communication is already this pattern via the event bus (ADR-015).** + +The **port** is `IEventBus.publish(descriptor, payload)` + `IEventBus.subscribe(descriptor, consumerFeature, handler)`. Adapters: + +- `InMemoryEventBus` (test + dev-seed) — synchronous fan-out +- `PayloadJobsEventBus` (production) — Payload tasks fan-out durably across the network if features are split into separate deploys + +If a deepening proposal would introduce a NEW cross-feature seam, the answer is almost always "use the event bus" — don't invent a new transport. Rule E0 forbids in-feature use of the bus (in-feature reactions are direct use-case calls); E1 keeps consumer handlers private. + +If the deepening proposal would EXPOSE one feature's internals to another, that's a boundary violation — reject and suggest events instead. + +### 4. True external + +Third-party services we don't control. The deepened module takes the external dependency as an injected port; tests provide a mock adapter. + +**Where this lives in our repo:** + +- Payload CMS itself — features depend on `IXRepository`, not on `payload` directly. The real adapter (`.repository.ts`) is the only place Payload is touched. +- Sentry / OpenTelemetry exporters — features use `ITracer`/`ILogger`/`IMetrics` from `core-shared/instrumentation/`. The OTel SDK lives ONLY in `core-shared/instrumentation/otel/` (ESLint-enforced via rule R52). +- Socket.IO — features use `IRealtimeBroadcaster`; `socket.io` itself lives only in `@repo/core-realtime` (rule R2). + +If a deepening proposal would import a vendor SDK from a feature package, that's an ADR-014/ADR-016/ADR-017 violation — reject and route through the existing port. + +## Seam discipline + +- **One adapter means a hypothetical seam. Two adapters means a real one.** Don't introduce a port unless at least two adapters are justified (typically production + test). Single-adapter ports in this repo are usually a smell — check if the mock is missing or if the port itself is unnecessary. +- **Internal seams vs external seams.** A deep module can have internal seams (private to its implementation, used by its own tests) as well as the external seam at its interface. Don't expose internal seams through the interface just because tests use them. +- **The DI symbol is the seam contract.** `*_SYMBOLS.IXRepository` plus `.repository.interface.ts` together define what callers depend on. Adapter swaps happen at bind time in `bind-production.ts` / `bind-dev-seed.ts`. +- **`feature.manifest.ts` is the structural-conformance seam.** If a deepening moves use cases across features, the manifests of BOTH features change — the conformance ESLint rules + `assertFeatureConformance` boot check enforce that the move is reflected in declarations, not just code. + +## Testing strategy: replace, don't layer + +- **Old unit tests on shallow modules become waste** once tests at the deepened module's interface exist — delete them. Our coverage thresholds (ADR-020) reward this: collapsing N shallow modules + their N test files into one deep module + one test file at its interface keeps coverage 100% without test bloat. +- **Write new tests at the deepened module's interface.** The **interface is the test surface**. +- **Tests assert on observable outcomes through the interface**, not internal state. +- **Tests should survive internal refactors** — if a test has to change when the implementation changes, it's testing past the interface. +- **L1 diff coverage (`pnpm coverage:diff`) will surface uncovered lines after the refactor** — every deepened module needs its new tests to cover the merged behaviour before the refactor PR is mergeable. + +## Conformance check (run before claiming the deepening is complete) + +After deepening, the following must all stay green: + +``` +pnpm typecheck # TS brand-slot enforcement +pnpm lint # ESLint conformance + boundaries +pnpm test --filter @repo/ -- --coverage # per-layer L0 thresholds +pnpm conformance # cross-feature event closure +pnpm fallow:audit # whole-codebase audit + dead-export sweep +pnpm coverage:diff -- --base origin/main # cover-the-diff (ADR-020 L1) +``` + +If `pnpm dev` was running, it should still boot — `assertFeatureConformance` will fail loudly on brand-slot or manifest drift if the deepening forgot a binding update. diff --git a/.claude/skills/improve-codebase-architecture/INTERFACE-DESIGN.md b/.claude/skills/improve-codebase-architecture/INTERFACE-DESIGN.md new file mode 100644 index 0000000..498f9fd --- /dev/null +++ b/.claude/skills/improve-codebase-architecture/INTERFACE-DESIGN.md @@ -0,0 +1,66 @@ +# Interface Design + +When the user wants to explore alternative interfaces for a chosen deepening candidate, use this parallel sub-agent pattern. Based on "Design It Twice" (Ousterhout) — your first idea is unlikely to be the best. + +Uses the vocabulary in [LANGUAGE.md](LANGUAGE.md) — **module** (= **feature** by default in this repo), **interface**, **seam**, **adapter**, **leverage**. + +## Process + +### 1. Frame the problem space + +Before spawning sub-agents, write a user-facing explanation of the problem space for the chosen candidate: + +- The constraints any new interface would need to satisfy +- The dependencies it would rely on, and which category they fall into (see [DEEPENING.md](DEEPENING.md)) +- The **hard constraints from SKILL.md** that the new interface must respect (factory-function shape, per-feature DI, manifest-first, generator-first, brand wrappers, etc.) +- A rough illustrative code sketch to ground the constraints — not a proposal, just a way to make the constraints concrete + +Show this to the user, then immediately proceed to Step 2. The user reads and thinks while the sub-agents work in parallel. + +### 2. Spawn sub-agents + +Spawn 3+ sub-agents in parallel using the `Agent` tool (`subagent_type=general-purpose` or a more specific type if appropriate). Each must produce a **radically different** interface for the deepened module. + +Prompt each sub-agent with a separate technical brief (file paths, coupling details, dependency category from [DEEPENING.md](DEEPENING.md), what sits behind the seam). The brief is independent of the user-facing problem-space explanation in Step 1. Give each agent a different design constraint: + +- **Agent 1**: "Minimise the interface — aim for 1–3 entry points max. Maximise leverage per entry point." +- **Agent 2**: "Maximise flexibility — support many use cases and extension." +- **Agent 3**: "Optimise for the most common caller — make the default case trivial." +- **Agent 4 (if applicable)**: "Design around ports & adapters for cross-seam dependencies." + +**Every brief MUST also include:** + +- This repo's vocabulary from [`docs/glossary.md`](../../../docs/glossary.md) (use case, manifest, feature, slice, etc.) +- The architecture vocabulary from [LANGUAGE.md](LANGUAGE.md) +- The hard constraints from [SKILL.md](SKILL.md) — sub-agents must not propose interfaces that violate ADR-006 (boundaries), ADR-008 (per-feature DI), ADR-012 (factory shape, one controller per use case), ADR-013 (schemas in use-case file), ADR-014/017 (vendor isolation), ADR-015 (events for cross-feature), ADR-020 (manifest-driven coverage bands), or ADR-021 (versioning by commit-path). +- The relevant feature `feature.manifest.ts` shape so the proposed interface aligns with manifest-first ordering. + +Each sub-agent outputs: + +1. **Interface** (types, methods, params — plus invariants, ordering, error modes, schemas if applicable) +2. **Usage example** showing how callers in this repo would use it (use real file paths and real existing feature names) +3. **What the implementation hides** behind the seam +4. **Dependency strategy and adapters** (see [DEEPENING.md](DEEPENING.md)) — which existing ports/adapters get reused, which (if any) are new +5. **Manifest + binder impact** — which `feature.manifest.ts` entries and which `bind-production.ts` / `bind-dev-seed.ts` files change +6. **Trade-offs** — where leverage is high, where it's thin +7. **ADR conflicts (if any)** — call out by ADR number with rationale, or state "none" + +### 3. Present and compare + +Present designs sequentially so the user can absorb each one, then compare them in prose. Contrast by: + +- **Depth** (leverage at the interface) +- **Locality** (where change concentrates) +- **Seam placement** (which existing `*.interface.ts` survives, which gets replaced, which is new) +- **Conformance impact** (how many manifests change, how many binders change, how many tests rewrite) +- **Coverage delta** (cumulative L0 band impact — does any layer drop below its declared 100% / 95%?) + +After comparing, give your own recommendation: which design you think is strongest and why. If elements from different designs would combine well, propose a hybrid. Be opinionated — the user wants a strong read, not a menu. + +If the chosen design crosses a feature-package boundary (e.g. moves a use case from `@repo/blog` to `@repo/media`), state explicitly: + +- Which `feature.manifest.ts` files lose / gain entries +- Which package versions will bump on the next release-please PR (per ADR-021 commit-path bump targeting) +- Whether the migration needs an intermediate compatibility seam to keep `pnpm conformance` green during the transition + +The implementation lands via the manifest-first ordering: (1) update the manifests in both packages, (2) write the new contracts in the use-case file, (3) write the failing tests, (4) implement until green. Don't skip the order even when the move feels mechanical. diff --git a/.claude/skills/improve-codebase-architecture/LANGUAGE.md b/.claude/skills/improve-codebase-architecture/LANGUAGE.md new file mode 100644 index 0000000..1393042 --- /dev/null +++ b/.claude/skills/improve-codebase-architecture/LANGUAGE.md @@ -0,0 +1,78 @@ +# Language + +Shared vocabulary for every suggestion this skill makes. Use these terms exactly — don't substitute "component," "service" (we use that narrowly for DI ports), "API," or "boundary" (overloaded with our workspace-tag enforcement). Consistent language is the whole point. + +This vocabulary is foundational for the skill's reasoning. The project's domain vocabulary lives in [`docs/glossary.md`](../../../docs/glossary.md) — terms like _use case_, _manifest_, _slice_, _binder_, _brand_, _conformance band_, _coverage layer_. Both vocabularies are in scope when proposing deepenings; see the "Mapping to this repo's identifiers" section below for how the abstract terms here land on concrete file shapes. + +## Terms + +**Module** — **in this repo, "module" defaults to "feature"** (`packages//`). The abstract definition (anything with an interface + implementation) still applies at narrower scales — a use case, controller, repository/service port, or binder can also be a module — but **whenever the refactor scope is "the whole thing", say feature**. Reach for "module" only when the abstraction across scales actually matters (e.g., comparing how a use case's depth differs from its containing feature's depth). +_Avoid_: unit, component, service (we use "service" for DI ports specifically). + +**Interface** +Everything a caller must know to use the module correctly. Includes the type signature, but also invariants, ordering constraints, error modes, required configuration, performance characteristics, **manifest declarations**, and **DI symbol contract**. +_Avoid_: API, signature (too narrow — those refer only to the type-level surface). + +**Implementation** +What's inside a module — its body of code. Distinct from **Adapter**: a thing can be a small adapter with a large implementation (a Payload-backed repository) or a large adapter with a small implementation (an in-memory mock). Reach for "adapter" when the seam is the topic; "implementation" otherwise. + +**Depth** +Leverage at the interface — the amount of behaviour a caller (or test) can exercise per unit of interface they have to learn. A module is **deep** when a large amount of behaviour sits behind a small interface. A module is **shallow** when the interface is nearly as complex as the implementation. + +**Seam** _(from Michael Feathers)_ +A place where you can alter behaviour without editing in that place. The _location_ at which a module's interface lives. Choosing where to put the seam is its own design decision, distinct from what goes behind it. +_Avoid_: boundary (this repo uses "boundary" specifically for ESLint workspace-tag rules — keep it for that meaning). + +**Adapter** +A concrete thing that satisfies an interface at a seam. Describes _role_ (what slot it fills), not substance (what's inside). In this repo every port typically has at least two adapters (real + mock); some have three (real + mock + recording). + +**Leverage** +What callers get from depth. More capability per unit of interface they have to learn. One implementation pays back across N call sites and M tests. + +**Locality** +What maintainers get from depth. Change, bugs, knowledge, and verification concentrate at one place rather than spreading across callers. Fix once, fixed everywhere. + +## Principles + +- **Depth is a property of the interface, not the implementation.** A deep module can be internally composed of small, mockable, swappable parts — they just aren't part of the interface. A module can have **internal seams** (private to its implementation, used by its own tests) as well as the **external seam** at its interface. +- **The deletion test.** Imagine deleting the module. If complexity vanishes, the module wasn't hiding anything (it was a pass-through). If complexity reappears across N callers, the module was earning its keep. +- **The interface is the test surface.** Callers and tests cross the same seam. If you want to test _past_ the interface, the module is probably the wrong shape. +- **One adapter means a hypothetical seam. Two adapters means a real one.** Don't introduce a seam unless something actually varies across it. In this repo, the typical justification is "one real adapter + one mock for tests" — that's two. +- **The manifest is a structural seam.** A feature's `feature.manifest.ts` declares its use cases / events / jobs / channels / required cores / coverage bands. Refactors that move behaviour between features MUST move manifest entries too; the conformance gates enforce this. + +## Relationships + +- A **Module** has exactly one **Interface** (the surface it presents to callers and tests). +- **Depth** is a property of a **Module**, measured against its **Interface**. +- A **Seam** is where a **Module**'s **Interface** lives. +- An **Adapter** sits at a **Seam** and satisfies the **Interface**. +- **Depth** produces **Leverage** for callers and **Locality** for maintainers. + +## Mapping to this repo's identifiers + +Abstract → concrete translation table. When proposing a deepening, name things using the right column. + +| Abstract term | Where it lands in this repo | +| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| **Module** | **Primarily a feature** (`packages//`) — that's the canonical refactor scope. Also: a use case (`*.use-case.ts`), controller (`*.controller.ts`), repository port + adapters (`*.repository.{interface,mock,}.ts`), service port + adapters (`*.service.{interface,mock,}.ts`), binder (`bind-production.ts` / `bind-dev-seed.ts`), manifest (`feature.manifest.ts`), or a core package (`packages/core-/`) — when the refactor operates at those narrower scales. When in doubt, say "feature". | +| **Interface** | The exported types from a module file: `IXUseCase = ReturnType`, `IXController`, the `.repository.interface.ts` shape, the manifest's declared keys, the Zod input/output schemas, the DI symbol contract. | +| **Implementation** | The factory body, the adapter class body, what the binder wires. | +| **Seam** | `.repository.interface.ts`, `.service.interface.ts`, the DI symbol (`*_SYMBOLS.IXRepository`), the manifest entry, a `// ` anchor, the protocol types in `core-shared/di/bind-protocols.ts`. | +| **Adapter** | `.repository.ts` (Payload real) ↔ `.repository.mock.ts` (in-memory). For instrumentation: `Noop*` ↔ `Otel*` ↔ `Recording*` (test). For bus: `InMemoryEventBus` ↔ `PayloadJobsEventBus`. | +| **Test stand-in** | The `.mock.ts` adapter (constructed directly + injected into the factory). No container rebinding (ADR-012). | + +## Rejected framings + +- **Depth as ratio of implementation-lines to interface-lines** (Ousterhout's original metric): rewards padding the implementation. We use depth-as-leverage instead. +- **"Interface" as the TypeScript `interface` keyword or a class's public methods**: too narrow — interface here includes every fact a caller must know, including manifest entries and DI symbols. +- **"Boundary"** as a synonym for **seam**: this repo uses "boundary" specifically for ESLint workspace-tag rules (`feature` may depend on `core` + `tooling` only). Keep that meaning intact; say **seam** or **interface** when discussing features. +- **"Service" as a generic term**: in this repo, **service** = a DI-injected port for non-collection capabilities (`IAuthenticationService`, `IMailerService`). Not a generic stand-in for "feature" or "the module doing the work." +- **"Module" as the canonical noun**: avoid in everyday discourse — say **feature** (or **use case** / **controller** / **package** when narrower). "Module" is the abstract refactor vocabulary's word for the same thing, useful only when the abstraction across scales is the point. + +## Cross-references + +- [`docs/glossary.md`](../../../docs/glossary.md) — project domain vocabulary (use case, manifest, slice, brand, coverage band, etc.) +- [`docs/decisions/`](../../../docs/decisions/) — 21 ADRs that constrain the design space +- [SKILL.md](SKILL.md) — the skill's process + hard constraints +- [DEEPENING.md](DEEPENING.md) — dependency categories + seam discipline +- [INTERFACE-DESIGN.md](INTERFACE-DESIGN.md) — parallel sub-agent design exploration diff --git a/.claude/skills/improve-codebase-architecture/SKILL.md b/.claude/skills/improve-codebase-architecture/SKILL.md new file mode 100644 index 0000000..c67cc34 --- /dev/null +++ b/.claude/skills/improve-codebase-architecture/SKILL.md @@ -0,0 +1,104 @@ +--- +name: improve-codebase-architecture +description: Find deepening opportunities in this repo, informed by docs/glossary.md and the ADRs in docs/decisions/. Use when the user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make the codebase more testable and AI-navigable. Respects the conformance system, boundary rules, and the 21 ADRs that govern shape. +--- + +# Improve Codebase Architecture + +Surface architectural friction and propose **deepening opportunities** — refactors that turn shallow modules into deep ones. The aim is testability and AI-navigability, scoped to what this template's existing rules permit. + +## Glossary + +Use these terms exactly in every suggestion. Consistent language is the point — don't drift into "component," "service" (we use that for DI ports specifically), or "boundary" (we use that for ESLint workspace-tag rules). Full definitions in [LANGUAGE.md](LANGUAGE.md). + +- **Module** — **in this repo defaults to "feature"** (`packages//`). The abstract definition (anything with interface + implementation) still applies at narrower scales — a use case, controller, repository/service port, binder, or core package can also be a module — but say "feature" whenever that's the scope. Reach for "module" only when comparing depth/leverage across scales. +- **Interface** — everything a caller must know to use the module: types, invariants, error modes, ordering, schemas, DI shape. Not just the TypeScript type signature. +- **Implementation** — the code inside. +- **Depth** — leverage at the interface: a lot of behaviour behind a small interface. **Deep** = high leverage. **Shallow** = interface nearly as complex as the implementation. +- **Seam** — where an interface lives; a place behaviour can be altered without editing in place. In this repo seams take a concrete shape: `*.interface.ts` files, DI symbols, manifest declarations, and `` anchors. +- **Adapter** — a concrete thing satisfying an interface at a seam. In this repo: `.repository.ts` (Payload real impl) vs `.repository.mock.ts` vs `Recording*` test doubles. +- **Leverage** — what callers get from depth. +- **Locality** — what maintainers get from depth: change, bugs, knowledge concentrated in one place. + +Key principles (see [LANGUAGE.md](LANGUAGE.md) for the full list): + +- **Deletion test**: imagine deleting the module. If complexity vanishes, it was a pass-through. If complexity reappears across N callers, it was earning its keep. +- **The interface is the test surface.** +- **One adapter = hypothetical seam. Two adapters = real seam.** + +This skill is **informed by** the project's domain model and architecture decisions. Read [`docs/glossary.md`](../../../docs/glossary.md) for project vocabulary and the relevant ADR(s) in [`docs/decisions/`](../../../docs/decisions/) before proposing anything in their territory. + +## Hard constraints (do not propose violations) + +These are settled decisions — propose deepening WITHIN them, never against them: + +- **Factory-function use cases & controllers** (ADR-012, ADR-013) — every use case is `(deps) => async (input) => output`; every controller is one verb-noun pair per file with a co-located `presenter`. +- **Schemas in the use-case file** (ADR-013) — `xInputSchema`/`xOutputSchema` colocate with the factory; don't propose moving them to a separate module. +- **Per-feature DI containers** (ADR-008) — don't propose a single global container. +- **Five boundary tags + the dependency-direction matrix** (ADR-006, ADR-010) — features may depend only on `core` + `tooling`; cross-feature reactions go through `IEventBus` (ADR-015). +- **Manifest-first ordering** (ADR-012, ADR-020) — new use cases land manifest → contracts → tests → impl; don't propose collapsing the steps. +- **Brand-based conformance** — `Instrumented` / `Captured` / `Audited` are attached at DI bind time via `withSpan` / `withCapture` / `withAudit`; don't propose moving the wrapping elsewhere. +- **Generator-first** — `pnpm turbo gen ` is the entry point for new features/events/jobs/realtime channels. Don't propose hand-rolled scaffolding. +- **Conventional Commits** (CLAUDE.md Key Conventions) — any refactor lands as conventional-commit messages. +- **Hybrid versioning** (ADR-021) — refactors that move code between feature packages have version + CHANGELOG implications. + +If a proposed deepening **would** violate an ADR, surface it explicitly with the ADR number and a "worth reopening because…" justification — but only if the friction is real enough. Most should be silently scoped out. + +## Process + +### 1. Explore + +Read [`docs/glossary.md`](../../../docs/glossary.md) and any ADRs in the area you're touching first. Then walk the codebase noting friction. The primary unit of attention is the **feature** (`packages//`); narrower units (use cases, controllers, repositories) get attention when the friction lives at that scale. + +- Where does understanding one concept require bouncing between many small files across `entities/`, `application/`, `infrastructure/`, `interface-adapters/` inside a single feature? +- Where is a feature **shallow** — its public surface (the `.` + `./ui` + `./api` exports) nearly as complex as its internal implementation? Or where inside a feature is a smaller unit shallow: + - A `service.interface.ts` with one method that wraps a single repository call. + - A `presenter` that's just `(x) => x`. + - A controller body that's just `useCase(parsed.data)` with no transformation. + - A repository wrapping another repository. + - A use case wrapping another use case. +- Where have pure functions been extracted just for testability, but the real bugs hide in how they're called (no **locality**)? +- Where do tightly-coupled features leak across their seams? (e.g. a feature reaches into another feature's internals via deep import — though ESLint should catch this.) +- Which parts are untested, or hard to test through their current interface? `pnpm coverage:diff` and `pnpm fallow` surface candidates. + +Useful exploration shortcuts in this repo: + +- `pnpm fallow` — dead exports, dupes, complexity hotspots, circular deps +- `pnpm fallow:audit` — the AI-change audit; surfaces drift across recent edits +- `git log --oneline --follow -- ` — change frequency is a depth signal +- `cat packages//src/feature.manifest.ts` — declared surface of a feature +- `pnpm turbo boundaries` — workspace dependency graph + +Apply the **deletion test** to anything you suspect is shallow: would deleting it concentrate complexity, or just move it? A "yes, concentrates" is the signal you want. + +### 2. Present candidates + +Present a numbered list of deepening opportunities. For each candidate: + +- **Files** — which files / features / smaller units are involved (give exact paths) +- **Problem** — why the current architecture is causing friction +- **Solution** — plain English description of what would change +- **Benefits** — explained in terms of **locality** and **leverage**, plus how tests would improve +- **ADR impact** — any ADR this touches. If the proposed change conflicts with a current ADR, mark it explicitly: _"contradicts ADR-NNN — worth reopening because…"_ (only when the friction warrants it). +- **Manifest impact** — if the change moves use cases / events / jobs / channels across features, the `feature.manifest.ts` of each feature involved will need an update; flag this so the user knows the conformance gates will require manifest edits before code edits (manifest-first ordering). + +**Use [`docs/glossary.md`](../../../docs/glossary.md) vocabulary for the domain (use case, manifest, slice, feature, etc.) and [LANGUAGE.md](LANGUAGE.md) vocabulary for the architecture (module, seam, adapter, depth, leverage, locality).** + +Do NOT propose interfaces yet. Ask the user: "Which of these would you like to explore?" + +### 3. Grilling loop + +Once the user picks a candidate, drop into a grilling conversation. Walk the design tree with them — constraints, dependencies, the shape of the deepened module, what sits behind the seam, what tests survive. + +Side effects happen inline as decisions crystallize: + +- **Naming a deepened module after a concept not in [`docs/glossary.md`](../../../docs/glossary.md)?** Add the term to the glossary right there — same discipline as the `grill-with-docs` skill. Pick the appropriate section (Packages / Architecture layers / Feature building blocks / Conformance / Cross-feature / Instrumentation / Workflow / Releasing). +- **Sharpening a fuzzy term during the conversation?** Update the glossary inline. +- **User rejects the candidate with a load-bearing reason?** Offer an ADR, framed as: _"Want me to record this as ADR-NNN so future architecture reviews don't re-suggest it?"_ Only offer when the reason would actually be needed by a future agent to avoid re-suggesting the same thing. The next ADR number is `001 + max(existing)` (currently `ADR-022`). Our ADR shape: `Context → Decision → Alternatives considered → Consequences → Related`. +- **Refactor will move code between feature packages?** Flag the release-please impact: both affected packages will bump versions on the next release PR. +- **Want to explore alternative interfaces for the deepened module?** See [INTERFACE-DESIGN.md](INTERFACE-DESIGN.md). + +## Related skills + +- `grill-with-docs` (`.claude/skills/grill-with-docs/`) — stress-tests plans against ADRs + glossary + manifests; share the same glossary-update discipline. +- `to-prd` — if the deepening is large enough to merit a multi-task epic, materialize it as a PRD. diff --git a/.claude/skills/to-prd/SKILL.md b/.claude/skills/to-prd/SKILL.md new file mode 100644 index 0000000..b5b5944 --- /dev/null +++ b/.claude/skills/to-prd/SKILL.md @@ -0,0 +1,108 @@ +--- +name: to-prd +description: Turn the current conversation context into a PRD and write it to docs/work/prds/. Use when the user wants to materialize the discussion into a draft PRD that feeds the pnpm work pipeline. +--- + +This skill takes the current conversation context and codebase understanding and produces a PRD. Do NOT interview the user — just synthesize what you already know. If you need to interview first, invoke `grill-with-docs` instead. + +The PRD lives on the filesystem (this repo does not use an issue tracker for work). The downstream pipeline is `pnpm work decompose` → epic + stories → tasks → sandcastle dispatch (see `docs/architecture/agent-first-workflow-and-conformance.md`). + +## Process + +1. **Explore the repo if you haven't already.** Use the project's domain vocabulary throughout (check `docs/glossary.md` if it exists, otherwise lift terms from `docs/architecture/vertical-feature-spec.md` §6 and the feature packages' `feature.manifest.ts`). Respect any ADRs in the area you're touching — they're at `docs/decisions/adr-NNN-.md`. Use `pnpm work status` to see in-flight epics. + +2. **Sketch the major modules / packages.** Identify which existing packages (`packages//`, `packages/core-*/`) you'll modify and which new ones — if any — you'll create. Actively look for **deep modules**: small interface, deep implementation, rarely-changing surface. The vertical-feature-package shape (entities → application → infrastructure → DI) is the default unit; resist scaffolding new core packages unless required. + + Check with the user that this module sketch matches their expectations. Confirm which modules they want tests written for. (The conformance system already mandates tests for every use case + controller; this question is about extra coverage — repository contract suites, integration tests, etc.) + +3. **Pick a slug** for the PRD filename: `docs/work/prds/.prd.md`. No date prefix in the slug — the `created:` timestamp in frontmatter carries the date. Future task-tracker IDs (e.g. ClickUp) will land as `-` once that integration ships; until then, bare slug only. + +4. **Write the PRD using the template below**, then save it. Status starts at `draft`. The decomposer (`pnpm work decompose`) refuses to run on `draft` PRDs — the human flips it to `approved` after review. + + + +```markdown +--- +id: +title: +type: prd +status: draft +author: +elicitation-session: +created: +--- + +## Problem + +What's broken or missing today? Who hurts because of it? Frame it from the user's perspective (where "user" may be a developer using the template, an end-user of an app built on it, or an AI agent operating in the codebase). + +## Goal + +What state are we trying to reach? One or two sentences. + +## In scope + +- Bullets of what this PRD covers. + +## Out of scope + +- Bullets of what's explicitly excluded. The explicit no-s are as valuable as the yes-s. + +## Constraints + +- Non-negotiables: existing ADRs to respect, conformance rules, performance budgets, compliance requirements, etc. +- Reference ADRs by ID: `ADR-014`, `ADR-017`, etc. + +## Success criteria + +- Verifiable outcomes. "Feature X passes `pnpm typecheck && pnpm test && pnpm conformance` green" is concrete; "feature X is great" is not. + +## User stories + +A numbered list. Cover all aspects of the feature, including edge cases. + +1. As a ``, I want ``, so that ``. +2. ... + +## Implementation decisions + +Decisions captured here so the decomposer (and downstream agents) don't re-litigate them. Include: + +- Modules to be built / modified (by package or feature name — no file paths; those rot fast) +- Interface shapes (Zod schemas, TypeScript types, tRPC procedures) — describe in prose; inline only if a snippet encodes the decision more precisely than prose (e.g., a Zod schema, a discriminated union, a state machine) +- Architectural choices (DI factory shape, withSpan/withCapture wrapping, manifest entries, anchor placements) +- Schema changes (Payload collections, database migrations) +- Cross-feature interactions (event publish/consume pairs, realtime channels, audit emissions) +- Optional-core requirements (does this feature require `core-events`? `core-realtime`? `core-audit`?) + +Do NOT include specific file paths or full code snippets — they go stale quickly. Prefer prose plus inline contracts (schemas, types) where they tighten the decision. + +## Testing decisions + +- What "good test" means for this feature (behavior through public interfaces, not implementation details) +- Which modules get repository contract suites (any new `IXRepository`) +- Which modules get use-case unit tests (every use case — that's a conformance rule) +- Integration / e2e coverage: which apps, which Playwright specs +- Prior art in the codebase: pointers to similar test patterns to mirror + +## Open questions + +- Q1: `` — `` +- Q2: ... + +## Out of scope (deferred) + +Things that are tempting to include but should be a separate PRD. + +## Further notes + +Anything else: stakeholders, related PRDs (`Builds on `, `Supersedes `), external references. +``` + + + +## After writing + +- Verify the file lives at `docs/work/prds/.prd.md`. +- Tell the user the path and remind them to review and flip `status: draft → approved` before running `pnpm work decompose`. +- If new domain terms were introduced or sharpened during synthesis, append them to `docs/glossary.md` (lazy-create if missing) — same rules as `grill-with-docs`. diff --git a/.claude/skills/work-decompose/SKILL.md b/.claude/skills/work-decompose/SKILL.md new file mode 100644 index 0000000..9e4de56 --- /dev/null +++ b/.claude/skills/work-decompose/SKILL.md @@ -0,0 +1,50 @@ +--- +name: work-decompose +description: Use when an approved PRD must be broken into an epic with story and task files under docs/work/. Triggers — the user asks to decompose a PRD, invokes /work-decompose, or wants a PRD turned into the work tree. +--- + +# work-decompose + +Decompose an `approved` PRD into an epic + story files under `docs/work/epics/`, by dispatching a **decomposer sub-agent** whose role is defined by the existing Sandcastle prompt. + +This is the in-session, skill form of `pnpm work decompose --execute`. It adds a path; it changes nothing about `.sandcastle/` or `pnpm work`. + +## Single source of truth — do not copy the prompt + +The decomposer's role is defined in **`.sandcastle/decomposer.prompt.md`** — the same file `pnpm work decompose --execute` consumes. This skill **reads that file at dispatch time and passes it verbatim**. Never paraphrase, summarise, or inline it here. If this skill and the prompt ever disagree, **the prompt wins** — fix this skill, not the prompt. + +## Process + +1. **Resolve the PRD.** The user names a PRD (slug or path); otherwise list `docs/work/prds/*.prd.md` and ask which. Read the file. + +2. **Refuse drafts.** If the PRD's frontmatter `status:` is not `approved`, **stop** — tell the user to flip it after review. The decomposer refuses drafts; catch it early. + +3. **Build the prompt.** Read `.sandcastle/decomposer.prompt.md`. Substitute its `{{PRD_FILE_CONTENT}}` placeholder with the full PRD file contents. + +4. **Dispatch the decomposer sub-agent.** Use the Agent tool, `general-purpose`. Its instructions are the substituted prompt, followed by this environment-adaptation note (the note adapts the environment — it is not a prompt edit): + + > **Environment:** you are a Claude Code sub-agent, not running inside Sandcastle. Ignore the `COMPLETE` marker instruction — there is no iteration loop; just return your final summary. Write the epic + story files to `docs/work/epics/`. **Do not commit** — leave the files for the human to review and commit, per your own "offer them a chance to review + edit" step. + +5. **Report.** Relay the epic folder path the sub-agent created. Remind the user to review/edit the stories, then commit, and that `pnpm work rebuild-state` (or the pre-commit hook) refreshes `_state.json`. The next step in the pipeline is `/work-dispatch`. + +## Why a sub-agent + +Decomposition is a self-contained, read-heavy job — the whole PRD, the slice-rule reasoning, the file-writing. Running it in a sub-agent keeps all of that out of the main session; you get back only the epic path. + +## Quick reference + +| | | +| ----------------- | ------------------------------------------------------------------ | +| Input | an `approved` PRD in `docs/work/prds/` | +| Role prompt | `.sandcastle/decomposer.prompt.md` — read, never copied | +| Sub-agent | one `general-purpose` agent | +| Output | `docs/work/epics//` — `_epic.md` + `NN-/_story.md` | +| Upstream | `to-prd` / `grill-with-docs` produce the PRD | +| Downstream | `/work-dispatch` runs the tasks | +| Sandcastle parity | mirrors `pnpm work decompose --execute` | + +## Common mistakes + +- **Copying the prompt into this skill.** `.sandcastle/decomposer.prompt.md` is the source of truth — read it at dispatch time, every time. +- **Decomposing a `draft` PRD.** Check `status: approved` first. +- **Letting the sub-agent commit.** It writes files; the human reviews and commits. diff --git a/.claude/skills/work-dispatch/SKILL.md b/.claude/skills/work-dispatch/SKILL.md new file mode 100644 index 0000000..05fb2cd --- /dev/null +++ b/.claude/skills/work-dispatch/SKILL.md @@ -0,0 +1,76 @@ +--- +name: work-dispatch +description: Use when a task in the docs/work/ tree should be implemented and reviewed. Triggers — the user asks to dispatch a task, run the next task, run the implement-review loop, or invokes /work-dispatch. +--- + +# work-dispatch + +Run one work-tree task through the **implement → review loop**, using two separate sub-agents whose roles are defined by the existing Sandcastle prompts. + +This is the in-session, skill form of `pnpm work dispatch --execute`. It adds a path; it changes nothing about `.sandcastle/` or `pnpm work`. + +## Single source of truth — do not copy the prompts + +Two role definitions, two files, read at dispatch time — **never copied**: + +- implementer role → **`.sandcastle/implementer.prompt.md`** +- reviewer role → **`.sandcastle/reviewer.prompt.md`** + +`pnpm work dispatch --execute` (Sandcastle) and this skill consume the **same** files. Never paraphrase or inline them. If a prompt and this skill disagree, **the prompt wins**. This skill is only the _wiring_: pick the task, substitute placeholders, dispatch the sub-agents, run the loop. + +## Separate sub-agents — non-negotiable + +The implementer and the reviewer are **distinct sub-agents**, dispatched separately: + +- The **implementer** writes code. Dispatch a `general-purpose` Agent with `isolation: "worktree"` — it works on an isolated git worktree + branch, so bad output never touches your main tree. +- The **reviewer** must be a _different_ agent and must _not_ write. Dispatch an `Explore` Agent (read-only by construction) — it cannot Edit/Write the repo even by accident; it only verifies the diff. + +Never collapse the two into one agent. An agent that writes code and then grades its own work has not been reviewed. + +## Process + +1. **Resolve the task.** Default: run `pnpm work next`, then read the first unchecked task file of that story (`docs/work/epics///NN-.task.md`). Or the user names a task id. Read the task file; note its `max-attempts` frontmatter (default 3). + +2. **Dispatch the implementer.** Read `.sandcastle/implementer.prompt.md`, substitute `{{TASK_FILE_CONTENT}}` with the task file. Dispatch a `general-purpose` Agent with `isolation: "worktree"`; instructions = the substituted prompt + this environment-adaptation note: + + > **Environment:** a Claude Code sub-agent in a fresh, isolated git worktree — NOT a Sandcastle Docker sandbox. Run `pnpm install` as your first step (the worktree has no `node_modules`). Commit your slice on a branch. **Report that branch name** in the `notes` field of your output JSON. Ignore the `COMPLETE` marker — there is no iteration loop; just return the structured JSON as your final message. + + Read the returned JSON: `status`, `commit_sha`, `files_changed`, `notes` (which carries the branch name). + +3. **Handle the implementer's status.** `complete` → step 4. `blocked` or `needs-clarification` → surface the `notes` to the user and stop; do not proceed to review. + +4. **Compute the diff.** `git diff main...` from the main tree — git worktrees share `.git`, so the implementer's branch is visible. + +5. **Dispatch the reviewer.** Read `.sandcastle/reviewer.prompt.md`, substitute `{{TASK_FILE_CONTENT}}` and `{{DIFF}}`. Dispatch an `Explore` Agent (read-only); instructions = the substituted prompt + this environment-adaptation note: + + > **Environment:** a Claude Code sub-agent reviewing a LOCAL branch — there is no pull request or CI run yet. Where the prompt says to trust Sandcastle's CI step: the implementer has already run and reported the five conformance gates + coverage as its commit precondition — verify AC coverage, out-of-scope discipline, and slice discipline by **reading the diff**, as your checks describe. Run the library-trace check directly (`node scripts/library-decisions/check.mjs`). The Socket and CodeQL steps require a CI run — note them as "deferred to CI", do not block on them. Ignore the `COMPLETE` marker; return the JSON decision. + + Read the returned JSON: `decision`, `scope_violations`, `notes`. + +6. **Run the loop.** + - **`approve`** → merge `` into `main`; remove the worktree. Then run `pnpm typecheck && pnpm lint && pnpm test && pnpm conformance` once on `main` as a post-merge safety check. Print the suggested task-checkbox / `_state.json` mutation for the user to apply — **do not write state yourself.** + - **`reject`** → re-dispatch the implementer (step 2) with the reviewer's `notes` appended to its instructions. Repeat until `approve`, or until the task's `max-attempts` is reached — then stop and surface the last reviewer notes. + +## Why this shape + +State mutation stays manual (the skill suggests, the human applies) — exactly as Sandcastle's v1 orchestrator does, and consistent with the implementer prompt's "the orchestrator handles state writes." Worktree isolation gives the implementer a clean room without Docker. The read-only reviewer makes "the reviewer does not modify the repo" a property of the tool, not a promise. + +## Quick reference + +| | | +| ----------------- | ------------------------------------------------------------------------------------- | +| Implementer | `.sandcastle/implementer.prompt.md` · `general-purpose` · `isolation: "worktree"` | +| Reviewer | `.sandcastle/reviewer.prompt.md` · `Explore` (read-only) | +| Placeholders | implementer: `{{TASK_FILE_CONTENT}}` · reviewer: `{{TASK_FILE_CONTENT}}` + `{{DIFF}}` | +| Loop cap | the task's `max-attempts` frontmatter (default 3) | +| State writes | suggested to the user, never applied by the skill | +| Upstream | `/work-decompose` produces the tasks | +| Sandcastle parity | mirrors `pnpm work dispatch --execute` | + +## Common mistakes + +- **Copying a prompt into this skill.** The `.sandcastle/*.prompt.md` files are the source of truth — read them at dispatch time. +- **One agent for both roles.** Implementer and reviewer are separate sub-agents; the reviewer is `Explore` (read-only). +- **Writing `_state.json` or ticking the checkbox.** The skill prints the suggested mutation; the human applies it. +- **Skipping the environment-adaptation note.** Without it the sub-agent follows Sandcastle-only instructions — the `` marker, "trust CI" — that do not apply in-session. +- **Reviewing before the implementer says `complete`.** A `blocked` status stops the loop; do not review a partial slice. diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..e564199 --- /dev/null +++ b/.env.example @@ -0,0 +1,86 @@ +# ============================================================================= +# Environment variables — copy this file to .env and fill in your values. +# See docs/guides/runbook.md for the full reference. +# ============================================================================= + +# --- Required for `pnpm dev` --- + +# Postgres connection. Matches `docker compose up -d` default. +DATABASE_URL=postgresql://postgres:postgres@localhost:5433/template + +# Payload CMS encryption key. Any random 32+ char string in dev. +PAYLOAD_SECRET=replace-with-a-random-32-char-string + +# --- Optional: app URLs (defaults work in dev) --- + +NEXT_PUBLIC_APP_URL=http://localhost:3000 +CMS_URL=http://localhost:3001 + +# Force dev-seed binders (mock repos) regardless of NODE_ENV. Useful for +# running pnpm dev without Payload booted. +# USE_DEV_SEED=true + +# --- Optional: Sentry observability --- +# Leaving these unset → instrumentation falls back to the no-op tracer/logger. +# Set the DSN for any app you want OTel + Sentry on. + +# WEB_NEXT_SENTRY_DSN= +# NEXT_PUBLIC_WEB_NEXT_SENTRY_DSN= +# CMS_SENTRY_DSN= + +# Source-map upload at build time (production only). +# SENTRY_AUTH_TOKEN= +# SENTRY_ORG= +# SENTRY_PROJECT_WEB_NEXT= +# SENTRY_PROJECT_CMS= + +# OTel trace sample rate (0.0 = none, 1.0 = all). 0.1 recommended in dev. +# SENTRY_TRACES_SAMPLE_RATE=0.1 +# SENTRY_ENVIRONMENT=development + +# --- Optional: git commit SHA for releases --- + +# VERCEL_GIT_COMMIT_SHA= +# NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA= + +# --- Optional: core-audit (only when `gen core-package audit` is scaffolded) --- + +# Salt for GDPR pseudonymisation. PRODUCTION MUST set this to a stable secret. +# AUDIT_PSEUDONYM_SALT= + +# --- Optional: sandcastle dispatch (only when running `pnpm work dispatch --execute`) --- + +# Auth (pick one — subscription is preferred): +# +# 1. Subscription mode (recommended for Pro/Max subscribers): +# Run `claude login` on the host once. Sandcastle bind-mounts ~/.claude/ +# into the sandbox so the container's Claude Code CLI uses your session. +# Zero per-task token spend. No env var needed. +# +# 2. API-key mode (fallback when no host creds available): +# ANTHROPIC_API_KEY= +# OPENAI_API_KEY= + +# Override the path to host Claude Code creds (default: ~/.claude/) +# SANDCASTLE_CLAUDE_CREDS_DIR= + +# GitHub access (optional — for orchestrator-created PRs) +# GITHUB_TOKEN= + +# Sandbox provider (default: docker; alternatives: podman, vercel, daytona) +# SANDCASTLE_PROVIDER=docker + +# Agent iteration budgets. Sandcastle's `run()` cuts the agent off after N +# iterations (one iteration = one tool-use + response round-trip). The +# repo's defaults are tuned for typical work; bump if an agent gets cut +# mid-commit (you'll see "Reached max iterations" in .sandcastle/logs/). +# +# SANDCASTLE_DECOMPOSE_ITERATIONS=10 # decompose: read PRD, write epic + stories, commit +# SANDCASTLE_IMPLEMENTER_ITERATIONS=30 # implementer: full TDD slice (red test → green impl → gates → commit) +# SANDCASTLE_REVIEWER_ITERATIONS=10 # reviewer: read diff + task, return decision + +# Reject-cycle cap. After this many reviewer rejects on the same slice, the +# dispatch loop gives up on that slice and exits 1 with the last rejection +# notes printed. Bump for tricky slices; lower for fast-feedback iteration. +# +# SANDCASTLE_MAX_ATTEMPTS=3 diff --git a/.fallowrc.json b/.fallowrc.json new file mode 100644 index 0000000..57fa98c --- /dev/null +++ b/.fallowrc.json @@ -0,0 +1,62 @@ +{ + "$schema": "https://raw.githubusercontent.com/fallow-rs/fallow/main/schema.json", + "ignorePatterns": [ + "**/node_modules/**", + "**/dist/**", + "**/.next/**", + "**/.turbo/**", + "**/storybook-static/**", + "**/__snapshots__/**", + "**/turbo/generators/templates/**", + "**/*.generated.ts", + "**/*.d.ts", + "docs/product/reference/**" + ], + "dynamicallyLoaded": [ + "packages/**/__factories__/**", + "packages/**/__seeds__/**", + "apps/**/instrumentation.ts", + "apps/**/instrumentation-client.ts", + "apps/storybook/test-runner.config.ts", + "scripts/**/*.mjs" + ], + "publicPackages": ["@repo/core-*"], + "ignoreDependencies": [ + "@payloadcms/ui", + "sass", + "sharp", + "@tanstack/react-query", + "@trpc/server", + "superjson", + "@repo/core-api", + "@repo/core-testing", + "http-server", + "wait-on", + "@opentelemetry/api-logs", + "@typescript-eslint/eslint-plugin", + "@testing-library/user-event", + "zod", + "@eslint/js", + "@opentelemetry/sdk-node", + "@sentry/opentelemetry", + "@stryker-mutator/core", + "@stryker-mutator/vitest-runner" + ], + "ignoreExportsUsedInFile": true, + "rules": { + "unused-files": "warn", + "unused-exports": "warn", + "unused-types": "off", + "unused-class-members": "warn", + "unused-dependencies": "warn", + "unused-dev-dependencies": "warn", + "unlisted-dependencies": "warn", + "circular-dependencies": "error", + "duplicate-code": "warn" + }, + "health": { + "maxCyclomatic": 25, + "maxCognitive": 30, + "maxCrap": 400 + } +} diff --git a/.github/renovate.json b/.github/renovate.json new file mode 100644 index 0000000..16f2ed9 --- /dev/null +++ b/.github/renovate.json @@ -0,0 +1,52 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "config:base", + "helpers:pinGitHubActionDigests", + ":separateMajorReleases", + ":automergeMinor", + ":automergePatch" + ], + "dependencyDashboard": true, + "dependencyDashboardLabels": ["renovate/dashboard"], + "commitMessagePrefix": "chore(deps):", + "major": { + "commitMessagePrefix": "chore(deps-major):" + }, + "packageRules": [ + { + "groupName": "Sentry packages", + "matchPackagePatterns": ["^@sentry/"], + "schedule": ["on monday"], + "automerge": false + }, + { + "groupName": "OpenTelemetry packages", + "matchPackagePatterns": ["^@opentelemetry/"], + "schedule": ["on monday"], + "automerge": false + }, + { + "groupName": "tRPC packages", + "matchPackagePatterns": ["^@trpc/"], + "schedule": ["on monday"], + "automerge": false + }, + { + "groupName": "Payload packages", + "matchPackagePatterns": ["^payload"], + "schedule": ["on monday"], + "automerge": false + }, + { + "groupName": "Inversify packages", + "matchPackagePatterns": ["^inversify"], + "schedule": ["on monday"], + "automerge": false + } + ], + "dockerfile": { + "enabled": true, + "fileMatch": ["^\\.sandcastle/Dockerfile$"] + } +} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..4558570 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,162 @@ +# CI workflow — runs on every push to main and every pull request. +# +# TURBO_TOKEN / TURBO_TEAM: set these in your repository secrets/variables +# to enable Turborepo remote caching. Without them the workflow still works, +# just without the remote-cache speedup. +# +# PAYLOAD_SECRET: the value used here is a throwaway test secret. Do NOT +# reuse it in production. Set a real secret for your deployed environments. + +name: CI + +on: + push: + branches: [main] + pull_request: + +env: + TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} + TURBO_TEAM: ${{ vars.TURBO_TEAM }} + CI: true + +jobs: + validate: + name: typecheck + lint + boundaries + test + build + runs-on: ubuntu-latest + services: + postgres: + image: postgres:16-alpine + env: + POSTGRES_PASSWORD: postgres + POSTGRES_USER: postgres + POSTGRES_DB: cms_test + ports: + - 5432:5432 + options: >- + --health-cmd "pg_isready -U postgres" + --health-interval 10s + --health-timeout 5s + --health-retries 5 + steps: + - uses: actions/checkout@v4 + with: + # Full history so coverage:diff can resolve `origin/...HEAD` + # against the PR's base branch (ADR-020 L1). + fetch-depth: 0 + - uses: pnpm/action-setup@v4 + with: + version: 9 + - uses: actions/setup-node@v4 + with: + node-version: 22 + cache: pnpm + - run: pnpm install --frozen-lockfile + - name: Audit package signatures + run: pnpm audit signatures --audit-level=high + - name: Socket supply-chain scan + if: github.event_name == 'pull_request' + run: | + if git diff --name-only origin/${{ github.base_ref }}...HEAD \ + | grep -qE '(^|/)package\.json$|(^|/)pnpm-lock\.yaml$'; then + npx --yes socket-cli@latest scan . + else + echo "No package.json or pnpm-lock.yaml changes — skipping Socket scan." + fi + - run: pnpm typecheck + - run: pnpm lint + - run: pnpm conformance + - name: Compliance manifest drift check + run: | + pnpm compliance:emit-all --check || { + echo "" + echo "Compliance artifacts are out of date." + echo "Run \`pnpm compliance:emit-all\` locally and commit the updated files." + exit 1 + } + - name: Fallow whole-codebase analysis + run: pnpm fallow --format annotations + - run: pnpm turbo boundaries + - name: Test with coverage + env: + DATABASE_URL: postgres://postgres:postgres@localhost:5432/cms_test + PAYLOAD_SECRET: test-secret-do-not-use-in-prod + run: pnpm test:coverage + # L2 — merge per-package lcovs to coverage/lcov.info + emit + # coverage/summary.json (ADR-020). Runs even on test failure so the + # artifact still captures what was produced. + - name: Coverage — aggregate (L2) + if: always() + run: pnpm coverage:aggregate + # L1 — cover-the-diff gate. Only meaningful on PRs (push-to-main has + # no base ref to diff against). Compares against the PR's base branch. + - name: Coverage — diff (L1) + if: github.event_name == 'pull_request' + run: pnpm coverage:diff -- --base origin/${{ github.base_ref }} + - run: pnpm build + - uses: actions/upload-artifact@v4 + if: always() + with: + name: coverage + path: | + coverage/lcov.info + coverage/summary.json + **/coverage/lcov.info + retention-days: 7 + + e2e: + name: Playwright e2e + needs: validate + runs-on: ubuntu-latest + services: + postgres: + image: postgres:16-alpine + env: + POSTGRES_PASSWORD: postgres + POSTGRES_USER: postgres + POSTGRES_DB: cms_test + ports: + - 5432:5432 + options: >- + --health-cmd "pg_isready -U postgres" + --health-interval 10s + --health-timeout 5s + --health-retries 5 + steps: + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 + with: + version: 9 + - uses: actions/setup-node@v4 + with: + node-version: 22 + cache: pnpm + - run: pnpm install --frozen-lockfile + - run: pnpm exec playwright install --with-deps chromium + - name: Run e2e + env: + DATABASE_URL: postgres://postgres:postgres@localhost:5432/cms_test + PAYLOAD_SECRET: test-secret-do-not-use-in-prod + run: pnpm test:e2e + + storybook: + name: Storybook smoke tests + visual regression + needs: validate + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 + with: + version: 9 + - uses: actions/setup-node@v4 + with: + node-version: 22 + cache: pnpm + - run: pnpm install --frozen-lockfile + - run: pnpm exec playwright install --with-deps chromium + - name: Build Storybook + run: pnpm --filter @repo/storybook build:storybook + - run: pnpm test:stories + - name: Install Playwright browsers + run: pnpm exec playwright install chromium --with-deps + - name: Visual regression + run: pnpm test:visual diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 0000000..0a90183 --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,44 @@ +# CodeQL static analysis — javascript-typescript. +# +# Runs on every push to main, every pull request, and weekly on Wednesday +# at 02:00 UTC (staggered from the trace-revalidation cron on Monday 06:30). +# +# NOTE (consumers): CodeQL is free for public repositories and GitHub Free +# plans. For *private* repositories it requires GitHub Advanced Security +# (available on GitHub Enterprise Cloud/Server or as an add-on). If you are +# using this template with a private repo and do not have Advanced Security +# enabled, remove or disable this workflow — it will fail at the "Initialize +# CodeQL" step with a licensing error. + +name: CodeQL + +on: + push: + branches: [main] + pull_request: + schedule: + # 02:00 UTC every Wednesday + - cron: "0 2 * * 3" + +permissions: + contents: read + security-events: write + +jobs: + analyze: + name: Analyze (javascript-typescript) + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - uses: actions/checkout@v4 + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + with: + languages: javascript-typescript + # Uses the default query suite (security-and-quality). To restrict + # to security-only queries, set: + # queries: security-extended + - name: Autobuild + uses: github/codeql-action/autobuild@v3 + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v3 diff --git a/.github/workflows/coverage-snapshot.yml b/.github/workflows/coverage-snapshot.yml new file mode 100644 index 0000000..748a5de --- /dev/null +++ b/.github/workflows/coverage-snapshot.yml @@ -0,0 +1,72 @@ +# Coverage snapshot — commits coverage/summary.json back to main after each +# merge so the trend history accumulates in `git log -- coverage/summary.json` +# (ADR-020 L2). This is the only workflow that needs `contents: write`. +# +# Skipped if summary.json hasn't changed since the previous commit. + +name: Coverage snapshot + +on: + push: + branches: [main] + +# Avoid two snapshot runs racing each other on rapid-fire merges. +concurrency: + group: coverage-snapshot + cancel-in-progress: false + +permissions: + contents: write + +jobs: + snapshot: + runs-on: ubuntu-latest + services: + postgres: + image: postgres:16-alpine + env: + POSTGRES_PASSWORD: postgres + POSTGRES_USER: postgres + POSTGRES_DB: cms_test + ports: + - 5432:5432 + options: >- + --health-cmd "pg_isready -U postgres" + --health-interval 10s + --health-timeout 5s + --health-retries 5 + steps: + - uses: actions/checkout@v4 + with: + # Token with write scope so we can push the snapshot back. + token: ${{ secrets.GITHUB_TOKEN }} + - uses: pnpm/action-setup@v4 + with: + version: 9 + - uses: actions/setup-node@v4 + with: + node-version: 22 + cache: pnpm + - run: pnpm install --frozen-lockfile + - name: Test with coverage + env: + DATABASE_URL: postgres://postgres:postgres@localhost:5432/cms_test + PAYLOAD_SECRET: test-secret-do-not-use-in-prod + run: pnpm test:coverage + - name: Aggregate + run: pnpm coverage:aggregate + - name: Commit summary.json if changed + run: | + if git diff --quiet --exit-code coverage/summary.json; then + echo "No summary.json change; skipping commit." + exit 0 + fi + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + git add coverage/summary.json + git commit -m "chore(coverage): snapshot ${GITHUB_SHA::7} + + Auto-generated by .github/workflows/coverage-snapshot.yml. + + [skip ci]" + git push origin HEAD:main diff --git a/.github/workflows/mutation-nightly.yml b/.github/workflows/mutation-nightly.yml new file mode 100644 index 0000000..412138e --- /dev/null +++ b/.github/workflows/mutation-nightly.yml @@ -0,0 +1,110 @@ +# Mutation testing (L3) — nightly run + on-demand. ADR-020. +# +# Stryker is slow (~minutes per feature) so it's NOT part of the default +# CI loop. This workflow runs nightly (and on manual dispatch) across every +# feature with a stryker.config.json, then uploads the HTML + JSON +# mutation reports as artifacts. +# +# On a meaningful score drop (>5%) it opens a tracking issue. + +name: Mutation testing (nightly) + +on: + schedule: + # 02:30 UTC nightly + - cron: "30 2 * * *" + workflow_dispatch: + inputs: + filter: + description: "Feature filter (e.g. @repo/auth). Empty = all features." + required: false + default: "" + +permissions: + contents: read + issues: write + +jobs: + mutate: + runs-on: ubuntu-latest + services: + postgres: + image: postgres:16-alpine + env: + POSTGRES_PASSWORD: postgres + POSTGRES_USER: postgres + POSTGRES_DB: cms_test + ports: + - 5432:5432 + options: >- + --health-cmd "pg_isready -U postgres" + --health-interval 10s + --health-timeout 5s + --health-retries 5 + timeout-minutes: 60 + steps: + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 + with: + version: 9 + - uses: actions/setup-node@v4 + with: + node-version: 22 + cache: pnpm + - run: pnpm install --frozen-lockfile + - name: Run mutation testing + env: + DATABASE_URL: postgres://postgres:postgres@localhost:5432/cms_test + PAYLOAD_SECRET: test-secret-do-not-use-in-prod + run: | + if [ -n "${{ inputs.filter }}" ]; then + pnpm mutate -- --filter "${{ inputs.filter }}" + else + pnpm mutate + fi + continue-on-error: true + - name: Upload mutation reports + if: always() + uses: actions/upload-artifact@v4 + with: + name: mutation-reports + path: packages/*/reports/mutation/ + retention-days: 30 + - name: Open tracking issue on >5% score drop + if: failure() + uses: actions/github-script@v7 + with: + script: | + const fs = require('fs'); + const path = require('path'); + const reports = []; + const pkgsDir = path.join(process.cwd(), 'packages'); + if (fs.existsSync(pkgsDir)) { + for (const pkg of fs.readdirSync(pkgsDir)) { + const json = path.join(pkgsDir, pkg, 'reports', 'mutation', 'mutation.json'); + if (fs.existsSync(json)) { + try { + const data = JSON.parse(fs.readFileSync(json, 'utf8')); + const score = data.thresholds?.high && data.systemUnderTestMetrics?.metrics?.mutationScore; + if (typeof score === 'number') { + reports.push({ pkg, score: score.toFixed(2) }); + } + } catch { /* skip */ } + } + } + } + if (reports.length === 0) return; + const body = [ + 'Nightly mutation testing run flagged failures. Latest scores:', + '', + ...reports.map(r => `- **${r.pkg}**: ${r.score}%`), + '', + `Run: ${context.serverUrl}/${context.repo.owner}/${context.repo.repo}/actions/runs/${context.runId}`, + ].join('\n'); + await github.rest.issues.create({ + owner: context.repo.owner, + repo: context.repo.repo, + title: `Mutation score drop — ${new Date().toISOString().slice(0, 10)}`, + body, + labels: ['mutation-testing', 'automated'], + }); diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml new file mode 100644 index 0000000..12463e3 --- /dev/null +++ b/.github/workflows/release-please.yml @@ -0,0 +1,83 @@ +# Release Please — automated changelog + version bumps on merge to main. +# +# How it works: +# 1. On every push to main, release-please scans conventional commits since +# the last release tag. +# 2. It opens (or updates) a single rolling "release PR" containing: +# - the root package.json version bump +# - new CHANGELOG.md entries grouped by section (Features / Bug Fixes +# / Performance / Refactoring / Documentation / Reverts) +# - updated .release-please-manifest.json +# 3. Merging that PR triggers tag creation (`vN.N.N`) and GitHub release +# notes. +# +# Single root version (template default): only the root package is tracked +# and tags are plain `v*` (`include-component-in-tag: false`). Hybrid +# per-feature versioning is a documented alternative — see ADR-021. +# +# Tracked package, manifest baseline, and changelog sections live in +# `release-please-config.json` + `.release-please-manifest.json`. + +name: Release Please + +on: + push: + branches: [main] + +permissions: + contents: write + pull-requests: write + +# A second push to main while a release PR is open shouldn't fight with the +# first invocation — release-please-action already updates the rolling PR +# idempotently, but concurrency keeps the audit trail clean. +concurrency: + group: release-please + cancel-in-progress: false + +jobs: + release-please: + runs-on: ubuntu-latest + steps: + - uses: googleapis/release-please-action@v4 + id: release + with: + config-file: release-please-config.json + manifest-file: .release-please-manifest.json + token: ${{ secrets.GITHUB_TOKEN }} + + # The steps below run only when release-please actually cut a release. + # pnpm dlx avoids adding @cyclonedx/cyclonedx-npm to the lockfile (CI-only + # tool per ADR-022); SHA-pinned action follows ADR-023 §1 Renovate pattern. + - uses: actions/checkout@v4 + if: ${{ steps.release.outputs.releases_created == 'true' }} + + - uses: pnpm/action-setup@v4 + if: ${{ steps.release.outputs.releases_created == 'true' }} + with: + version: 9 + + - uses: actions/setup-node@v4 + if: ${{ steps.release.outputs.releases_created == 'true' }} + with: + node-version: 22 + cache: pnpm + + - name: Install dependencies + if: ${{ steps.release.outputs.releases_created == 'true' }} + run: pnpm install --frozen-lockfile + + - name: Generate CycloneDX SBOM + if: ${{ steps.release.outputs.releases_created == 'true' }} + run: > + pnpm dlx @cyclonedx/cyclonedx-npm + --output-file sbom-${{ steps.release.outputs.tag_name }}.cdx.json + --output-format json + --ignore-npm-errors + + - name: Attach SBOM to GitHub release + if: ${{ steps.release.outputs.releases_created == 'true' }} + uses: softprops/action-gh-release@b4309332981a82ec1c5618f44dd2e27cc8bfbfda # v3.0.0 + with: + tag_name: ${{ steps.release.outputs.tag_name }} + files: sbom-${{ steps.release.outputs.tag_name }}.cdx.json diff --git a/.github/workflows/sentry-pii-guard.yml b/.github/workflows/sentry-pii-guard.yml new file mode 100644 index 0000000..70dc683 --- /dev/null +++ b/.github/workflows/sentry-pii-guard.yml @@ -0,0 +1,28 @@ +# R31 — block sendDefaultPii: true from ever landing. +# +# This is a defense-in-depth gate: the privacy posture is also enforced by +# the centralized init helpers in core-shared/instrumentation/sentry/, but +# this grep makes any drift impossible to merge. + +name: Sentry PII guard (R31) + +on: + pull_request: + push: + branches: [main] + +jobs: + pii-guard: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Verify sendDefaultPii is never true + run: | + if grep -RIn --include='*.ts' --include='*.tsx' --include='*.mjs' --include='*.cjs' --include='*.js' \ + --exclude-dir=node_modules --exclude-dir=.next --exclude-dir=dist --exclude-dir=.turbo \ + -E 'sendDefaultPii\s*:\s*true' \ + packages/ apps/; then + echo "::error::R31 violation — sendDefaultPii: true is forbidden anywhere in the repo." + exit 1 + fi + echo "OK — no sendDefaultPii: true detected." diff --git a/.github/workflows/trace-revalidation-weekly.yml b/.github/workflows/trace-revalidation-weekly.yml new file mode 100644 index 0000000..9f6d4e8 --- /dev/null +++ b/.github/workflows/trace-revalidation-weekly.yml @@ -0,0 +1,38 @@ +# Library trace revalidation — weekly run + on-demand. ADR-022. +# +# Walks every approved + pre-shipped trace in docs/library-decisions/, +# re-runs each trace's verification-commands, classifies divergence as +# soft (minor drift → rolling dashboard issue) or hard (re-evaluation +# warranted → per-dep issue), and opens/updates/closes GitHub issues +# accordingly. Runs in parallel to main — does NOT gate deployments. + +name: Library trace revalidation (weekly) + +on: + schedule: + # 06:30 UTC every Monday + - cron: "30 6 * * 1" + workflow_dispatch: + +permissions: + contents: read + issues: write + +jobs: + revalidate: + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 + with: + version: 9 + - uses: actions/setup-node@v4 + with: + node-version: 22 + cache: pnpm + - run: pnpm install --frozen-lockfile + - name: Revalidate library traces + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: node scripts/library-decisions/revalidate.mjs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..808d03c --- /dev/null +++ b/.gitignore @@ -0,0 +1,67 @@ +# Dependencies +node_modules + +# pnpm's content-addressable store (only present when a misconfigured +# pnpm install places the store inside the project rather than at the +# global default ~/.local/share/pnpm/store). Always ignored — the store +# is pnpm's cache, not source. +.pnpm-store/ + +# Turbo +.turbo + +# Build outputs +dist +build +.next +out +storybook-static + +# Environment +.env +.env.local +.env.*.local + +# Per-user local overrides (never commit — .claude/settings.local.json, etc.) +*.local +*.local.* +**/settings.local.json + +# Testing — per-package coverage output (vitest) +packages/*/coverage/ +apps/*/coverage/ +turbo/generators/coverage/ +# Aggregated coverage output (pnpm coverage:aggregate): ignore everything +# under /coverage/ EXCEPT summary.json (committed for trend history per +# ADR-020) and .gitkeep markers. +/coverage/* +!/coverage/summary.json +!/coverage/.gitkeep +# Keep the source scripts at scripts/coverage/ tracked (allows files +# named "coverage" elsewhere) +!/scripts/coverage/ + +# OS +.DS_Store +Thumbs.db + +# IDE +.vscode +.idea +*.swp + +# Debug +npm-debug.log* +pnpm-debug.log* + +# Superpowers brainstorm sessions +.superpowers/ + +# Git worktrees +.worktrees/ + +# Template setup history — preserved locally, invisible to fresh clones. +.archive/ + +# Scratch / working notes — local only, never committed. +.tmp/ diff --git a/.gitleaks.toml b/.gitleaks.toml new file mode 100644 index 0000000..0007830 --- /dev/null +++ b/.gitleaks.toml @@ -0,0 +1,14 @@ +# Gitleaks configuration for this monorepo. +# Docs: https://github.com/gitleaks/gitleaks#configuration + +title = "gitleaks config" + +[extend] +# Use the upstream default ruleset as the base. +useDefault = true + +[allowlist] +description = "Test fixtures in __seeds__ directories use token-shaped dummy strings that are not real credentials." +paths = [ + '''__seeds__/''', +] diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 0000000..6c2832e --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,38 @@ +#!/usr/bin/env sh + +# Pre-commit gates — fast checks only. Slow checks (full conformance, full +# test, full typecheck) stay in CI. + +# 1. lint-staged: format + lint staged files +pnpm exec lint-staged || exit 1 + +# 2. Stamp the `updated:` frontmatter field on every staged docs/work/ md file. +node scripts/work/bump-updated-timestamps.mjs || exit 1 + +# 3. If any docs/work/ markdown is staged, regenerate _state.json + re-stage it +if git diff --cached --name-only | grep -qE '^docs/work/.*\.md$'; then + pnpm work rebuild-state + git add docs/work/_system/_state.json +fi + +# 3. Run the state-sync guard: refuses to commit if _state.json is +# staged but doesn't match what rebuild-state would produce. Catches the case +# where someone hand-edits _state.json without going through rebuild-state. +node scripts/work/state-sync-guard.mjs || exit 1 + +# 4. Check library decision traces for new runtime deps in feature/core packages. +node scripts/library-decisions/check.mjs || exit 1 + +# 5. If any staged file touches Payload configs, library traces, or compliance +# artifacts, regenerate compliance YAMLs and auto-stage them. +if git diff --cached --name-only | grep -qE '^(packages/[^/]+/src/integrations/cms/|docs/library-decisions/|compliance/)'; then + pnpm compliance:emit-all || exit 1 + git add compliance/ +fi + +# 6. Scan staged changes for secrets (skip gracefully if gitleaks is not installed). +if command -v gitleaks > /dev/null 2>&1; then + gitleaks protect --staged --redact || exit 1 +else + echo "gitleaks not found in \$PATH — skipping secret scan (install via brew install gitleaks or https://github.com/gitleaks/gitleaks)" +fi diff --git a/.mcp.json b/.mcp.json new file mode 100644 index 0000000..8b126b6 --- /dev/null +++ b/.mcp.json @@ -0,0 +1,13 @@ +{ + "mcpServers": { + "storybook": { + "type": "http", + "url": "http://localhost:6006/mcp" + }, + "playwright": { + "type": "stdio", + "command": "npx", + "args": ["@anthropic-ai/playwright-mcp"] + } + } +} diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..a47628c --- /dev/null +++ b/.npmrc @@ -0,0 +1,2 @@ +auto-install-peers=true +enable-pre-post-scripts=true diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..d230ed6 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,2 @@ +# Generated compliance artifacts — do not reformat +compliance/*.yml diff --git a/.release-please-manifest.json b/.release-please-manifest.json new file mode 100644 index 0000000..466df71 --- /dev/null +++ b/.release-please-manifest.json @@ -0,0 +1,3 @@ +{ + ".": "0.1.0" +} diff --git a/.sandcastle/.env.example b/.sandcastle/.env.example new file mode 100644 index 0000000..a563d98 --- /dev/null +++ b/.sandcastle/.env.example @@ -0,0 +1,20 @@ +# .sandcastle/.env — runtime tokens for sandcastle dispatch. +# Copy to .sandcastle/.env (gitignored) and fill what you need. +# +# Most developers don't need ANY of these if they've run `claude login` on +# the host — sandcastle mounts ~/.claude/ into the sandbox by default. + +# Anthropic API key (fallback when no host Claude Code session exists) +# ANTHROPIC_API_KEY= + +# OpenAI / Codex (alternative) +# OPENAI_API_KEY= + +# GitHub access for orchestrator-created PRs +# GITHUB_TOKEN= + +# Override Claude creds path (default: ~/.claude/) +# SANDCASTLE_CLAUDE_CREDS_DIR= + +# Sandbox provider (docker / podman / vercel / daytona) +SANDCASTLE_PROVIDER=docker diff --git a/.sandcastle/.gitignore b/.sandcastle/.gitignore new file mode 100644 index 0000000..44da1e7 --- /dev/null +++ b/.sandcastle/.gitignore @@ -0,0 +1,3 @@ +.env +*.log +.cache/ diff --git a/.sandcastle/Dockerfile b/.sandcastle/Dockerfile new file mode 100644 index 0000000..6839be6 --- /dev/null +++ b/.sandcastle/Dockerfile @@ -0,0 +1,52 @@ +# Sandcastle sandbox image — runs the implementer + reviewer + decomposer +# agents. Shape required by @ai-hero/sandcastle: a non-root `agent` user +# (UID/GID aligned with the host so bind-mounted files share owner), Claude +# Code CLI on PATH, and a long-running ENTRYPOINT so the container survives +# the gap between sandcastle creating it and exec'ing into it. +# +# Authenticates via the host's mounted ~/.claude/ session (subscription +# mode — sandcastle issue #191 workaround, our primary flow). Falls back +# to ANTHROPIC_API_KEY when no host credentials are present. + +FROM node:22-bookworm + +# System deps — git for worktree ops, curl for the Claude installer, jq for +# JSON tooling agents use, plus ca-certificates implicit in the base image. +RUN apt-get update && apt-get install -y --no-install-recommends \ + git \ + curl \ + jq \ + && rm -rf /var/lib/apt/lists/* + +# pnpm via corepack (matches the repo's packageManager version). +RUN corepack enable && corepack prepare pnpm@9 --activate + +# Build-args for UID/GID alignment: `sandcastle docker build-image` passes +# the host user's UID/GID by default so image-built files and bind-mounted +# files share an owner without runtime chown. +ARG AGENT_UID=1000 +ARG AGENT_GID=1000 + +# Rename the base image's "node" user to "agent" and align UID/GID. +# `-o` (non-unique) is required because the host's GID may collide with a +# pre-existing system group in the base image (e.g. macOS UID:501 GID:20 +# collides with Debian's `dialout` group at GID 20). Allowing a duplicate +# GID is safe here — only one user occupies the sandbox. +RUN groupmod -o -g $AGENT_GID node && \ + usermod -o -u $AGENT_UID -g $AGENT_GID -d /home/agent -m -l agent node + +USER ${AGENT_UID}:${AGENT_GID} + +# Claude Code CLI — used by sandcastle's claudeCode() agent provider. +# The CLI reads credentials from ~/.claude/ inside the container; the host +# mounts its ~/.claude/ over that path at sandbox start. +RUN curl -fsSL https://claude.ai/install.sh | bash + +ENV PATH="/home/agent/.local/bin:$PATH" + +WORKDIR /home/agent + +# In worktree sandbox mode, sandcastle bind-mounts the git worktree at +# ${SANDBOX_REPO_DIR} and overrides the working directory to that path at +# container start. The Dockerfile's WORKDIR is just the default home. +ENTRYPOINT ["sleep", "infinity"] diff --git a/.sandcastle/README.md b/.sandcastle/README.md new file mode 100644 index 0000000..238a548 --- /dev/null +++ b/.sandcastle/README.md @@ -0,0 +1,57 @@ +# .sandcastle/ + +This directory holds prompt templates that the future orchestrator +(`pnpm work dispatch` in the `sandcastle-dispatch-v1` epic) feeds to +[sandcastle](https://github.com/mattpocock/sandcastle) when dispatching +agents. + +## Prompt templates + +| File | Role | Variables | +| ------------------------ | ----------------------------------------- | ----------------------------------- | +| `prd-eliciter.prompt.md` | Interview a human to produce a PRD draft | `{{INITIAL_BRIEF}}` | +| `adr-eliciter.prompt.md` | Interview a human to produce an ADR draft | `{{INITIAL_PROPOSAL}}` | +| `decomposer.prompt.md` | Turn a PRD into epic + story files | `{{PRD_FILE_CONTENT}}` | +| `implementer.prompt.md` | Execute a single task | `{{TASK_FILE_CONTENT}}` | +| `reviewer.prompt.md` | Review the implementer's diff | `{{TASK_FILE_CONTENT}}`, `{{DIFF}}` | + +## Convention: every prompt enforces "generators first" + +Each prompt template starts with the same non-negotiable rule: **the agent +must prefer `pnpm turbo gen ` over hand-rolled scaffolding.** This +applies to feature packages, events, jobs, realtime channels, optional +core packages, and atomic-design components. Hand-rolled code is only +acceptable when the generator's output doesn't cover the case — and even +then, the agent runs the generator first and modifies its output rather +than starting from scratch. + +## Environment + +Configure runtime tokens via `.env` (gitignored). Copy `.env.example` +and fill values for the providers you use. + +## Build the sandbox image (one-time) + +Sandcastle dispatches into a Docker image tagged `sandcastle:`. +Build it once per clone before `pnpm work dispatch --execute` or +`pnpm work decompose --execute` will work: + +```bash +pnpm exec sandcastle docker build-image +# Tags: sandcastle:template-vertical +``` + +Rebuild after editing this `Dockerfile`: + +```bash +pnpm exec sandcastle docker remove-image +pnpm exec sandcastle docker build-image +``` + +See [`docs/guides/runbook.md` → Using Sandcastle → Prerequisites](../docs/guides/runbook.md#using-sandcastle-for-agent-dispatch) for the full setup. + +## Manual usage + +Until the orchestrator ships, these templates are usable manually: copy +the relevant `.prompt.md` content into a Claude / Codex / other agent +session, fill the `{{VARIABLE}}` placeholders by hand, and run. diff --git a/.sandcastle/adr-eliciter.prompt.md b/.sandcastle/adr-eliciter.prompt.md new file mode 100644 index 0000000..b34b92f --- /dev/null +++ b/.sandcastle/adr-eliciter.prompt.md @@ -0,0 +1,61 @@ +# ADR Elicitation Agent + +You are an Architecture Decision Record (ADR) elicitation agent for the template-vertical monorepo. Your job is to interview a human (one question at a time) and produce a complete ADR that captures the trade-offs of a proposed infrastructure decision. + +## Use generators first (non-negotiable) + +When the ADR concerns adopting infrastructure that has a generator path, the ADR's "Decision" section MUST reference the generator: + +- **New optional core package** (cache, email, feature-flags, etc.) → `pnpm turbo gen core-package ` +- **Atomic-design component library** → `pnpm turbo gen core-ui-component ` to seed +- **Feature package as part of the integration** → `pnpm turbo gen feature ` + +If the ADR is about adopting a package that has a generator and you describe the integration as hand-rolled, you have failed. + +## Input + +The human's initial proposal: + +``` +{{INITIAL_PROPOSAL}} +``` + +## Interview rules + +1. Ask ONE question at a time. +2. **Push the human to articulate alternatives.** If they only describe one option, your next question is "What other options did you consider and reject?" — ADRs without alternatives are weak. +3. Topics, in order: + - **Context**: what's the situation? What problem is forcing a decision? + - **Drivers**: what's making this decision urgent (timeline, cost, deprecation, …)? + - **Considered options**: enumerate ALL alternatives, minimum 2. For each, pros + cons. + - **Decision**: which option, and why. Reference generators if applicable. + - **Consequences**: positive + negative + follow-up work (PRDs). +4. Minimum 5 substantive answers before drafting. + +## Output + +Write the ADR to `docs/adr/NNN-.md` (use the next available NNN number; check `docs/adr/` for existing ADRs). + +Frontmatter: + +```yaml +--- +id: NNN +title: +status: proposed +date: +supersedes: [] +superseded-by: null +related-prds: [] +--- +``` + +Body: Context, Drivers, Considered options, Decision, Consequences (Positive / Negative / Follow-up work). + +Tell the human the file path. Tell them to review and flip `status: proposed` → `status: accepted` (or `rejected` / `superseded`) before any downstream PRDs are decomposed. + +## Don't + +- Don't accept a single-option ADR. Push for alternatives. +- Don't skip the generator check. +- Don't write code or PRDs. diff --git a/.sandcastle/decomposer.prompt.md b/.sandcastle/decomposer.prompt.md new file mode 100644 index 0000000..43425bb --- /dev/null +++ b/.sandcastle/decomposer.prompt.md @@ -0,0 +1,87 @@ +# Decomposer Agent + +You are the decomposer agent. Given an approved PRD, you produce the epic file + one story file per requirement under `docs/work/epics//`. Folder names use the **bare slug** — no date prefix; the `created:` timestamp in frontmatter carries the date. Each story has its own checkbox-driven Tasks list — where **every checkbox is a vertical slice**. + +## The slice rule (non-negotiable) + +**slice = task = PR = commit.** Every task you write MUST satisfy ALL of: + +1. **One green commit.** After the task lands, `pnpm typecheck && pnpm lint && pnpm test && pnpm conformance && pnpm fallow:audit && pnpm coverage:diff` all pass. No task may leave the repo in a broken state. +2. **Exercises a layer.** The task either creates a NEW piece of vertical capability (manifest entry + contracts + test + impl + DI wiring + integration, end-to-end for one slice), OR completes a self-contained refactor (e.g. "wire feature X's binder through the new helper") that keeps the slice green. +3. **Independently meaningful.** Reading the task description, an implementer can know what "done" looks like without reading the next checkbox. + +## Tasks that are FORBIDDEN + +- **"Read X file"** — reading is part of doing the work, not a separate task. The implementer reads what it needs to read. +- **"Write the test"** as a standalone task when the implementation hasn't landed (the test gate is red between this checkbox and the next — violates rule 1). Same for "write the implementation" without the test. +- **"Run typecheck"** / **"Run pnpm test"** / **"Run lint"** as separate tasks — these gates are part of the implementer's done-criteria for every task, not their own checkboxes. +- **"Export X from index.ts"** as a standalone task when the export's consumer also lands in this story — combine them. (Standalone export is fine only when it's the entire payload of a slice; rare.) +- **Sub-step decomposition of a single slice** ("Step 1: scaffold the file. Step 2: implement the body. Step 3: add tests.") — that's one task, not three. + +## Tasks that are CORRECT + +- **`Run pnpm turbo gen `** — generator scaffolds an entire slice (manifest + contracts + tests + impl + DI wiring) in one shot. Always the FIRST task for any story that creates new feature/event/job/realtime/core-package/component code. +- **`Add use case to `** — one full vertical slice: manifest entry + contracts (input/output schemas, IXUseCase type) + red test + green impl + DI binding + (if cross-feature) event wiring. All in one commit; the implementer follows the manifest-first ordering inside the task. +- **`Migrate 's binders to `** — for refactor stories: replace the inline wrapping in `bind-production.ts` + `bind-dev-seed.ts` of one feature, keep the feature's tests green. One commit per feature, NOT one per binder file. +- **`Add audit emission to `** — manifest's `audits: [...]` declaration + `auditLog.record(...)` call site + test asserting the audit, all in one commit. +- **`Wire into apps//bindAll()`** — single binding integration point landing with its test. + +## Manifest-first ordering INSIDE a task + +When a single task creates a new use case, the implementer's INTERNAL ordering is (1) manifest entry → (2) contracts → (3) red test → (4) green impl — but this is one task that lands as one commit. The four steps don't become four separate checkboxes; they're the work done inside a single slice. The reviewer verifies the slice is whole, not that the implementer wrote things in a specific order. + +## Use generators first (non-negotiable) + +When decomposing requirements into stories + tasks, your first task in every story that creates a feature / event / job / realtime / core-package / component MUST be `Run \`pnpm turbo gen \``. Do not write a story whose first task is "hand-write src/foo.ts" when a generator can produce src/foo.ts. The generators are: + +- `pnpm turbo gen feature ` — feature scaffold (manifest, contracts, binders, controllers, tests) +- `pnpm turbo gen event` — event contract (publish) or handler (consume) +- `pnpm turbo gen job` — background job +- `pnpm turbo gen realtime` — realtime channel or inbound handler +- `pnpm turbo gen core-package ` — optional core package +- `pnpm turbo gen core-ui-component ` — atomic-design component + +For each requirement, ask: "is there a generator for this?" If yes, the first task is the generator invocation; subsequent tasks customise the generator's output (add use-case behaviours, declare audits/publishes, etc.). + +## Input + +The approved PRD: + +``` +{{PRD_FILE_CONTENT}} +``` + +## Your job + +1. Read the PRD. Extract: epic id (kebab-slug from title — **no date prefix**; the `created:` timestamp carries the date), story list (one per Requirement), dependency edges (from "depends on" hints in the PRD), out-of-scope items. The epic id should match the PRD's `id:` field exactly. +2. Write `docs/work/epics//_epic.md` with frontmatter: `id`, `prd` (path to the PRD file), `title`, `type: epic`, `status: in-progress`, `features`, `created: ` (use the current timestamp). The pre-commit hook adds `updated:` automatically — do NOT set it yourself. +3. For each Requirement, write `docs/work/epics//-/_story.md`: + - Frontmatter: `id`, `epic`, `title`, `type: technical-story | user-story`, `status: in-progress` (for the first) or `todo` (subsequent), `feature`, `depends-on` (array, may reference other stories in this epic by id), `blocks`, `created: `. The pre-commit hook stamps `updated:` — do NOT set it yourself. + - Sections: Goal, Why, Done when, In scope, Out of scope, Tasks (checkbox list). + - **Each story's Tasks list:** every checkbox MUST satisfy the slice rule above — one green commit per checkbox. If a generator is applicable, list the generator invocation as the FIRST checkbox; subsequent checkboxes customise the generator's output and each one lands its own green commit (e.g. "Add audit emission to use case X", "Wire event publish from X into bus"). + +## Output + +Do not implement anything. Do not write code. Do not invent requirements not in the PRD. Each story should be a thin descriptor; the implementer fills in details when it picks up each task. + +When done, tell the human the epic folder path and offer them a chance to review + edit before invoking the implementer. + +## Constraints + +- Stay literal to the PRD. The decomposer's judgment is about structure (which requirement becomes which story, what depends-on edges look like), not content. +- If a Requirement is too broad for one story, split it into multiple stories with clear depends-on chains. Don't merge unrelated Requirements into one story. +- If the PRD's status is not `approved`, refuse to decompose and tell the human to flip it first. +- **Slice discipline:** prefer FEWER but FATTER tasks (one per vertical slice) over MANY thinner sub-steps. If you're tempted to write more than ~5 checkboxes for a story, ask: "is each one really an independent vertical slice that lands as its own green commit?" If not, collapse the sub-steps into a single task and trust the implementer to follow the manifest-first ordering internally. +- **Self-check before writing each Tasks list:** for each checkbox, imagine the commit it would produce. Would `pnpm typecheck && pnpm lint && pnpm test && pnpm conformance && pnpm coverage:diff` all pass on that commit alone? If no, the checkbox isn't a slice — merge it with its neighbours. + +## Signal completion (required) + +When the epic folder + story files are written and committed (or you have determined the work is truly done — including the case where you decided not to write anything and reported the reason), emit the literal string `COMPLETE` as the final line of your response. + +Sandcastle uses this marker to stop the iteration loop. Without it, the orchestrator will re-invoke you up to `maxIterations` times even when the work is already done — every redundant iteration costs subscription quota and time. + +Do NOT emit the marker if: + +- You still have files to write, gates to run, or commits to make. +- You returned a partial result and intend the next iteration to continue. +- You hit an error you want sandcastle to surface as "max iterations reached" rather than "complete." diff --git a/.sandcastle/implementer.prompt.md b/.sandcastle/implementer.prompt.md new file mode 100644 index 0000000..ab8168e --- /dev/null +++ b/.sandcastle/implementer.prompt.md @@ -0,0 +1,112 @@ +# Implementer Agent + +You are the implementer agent. You execute ONE task at a time, identified by the task description below. Your output is a single green commit (or a series of commits squashed at merge time). + +## Use generators first (non-negotiable) + +Before writing any code: if your task description includes `pnpm turbo gen ...`, run that command FIRST and use its output as your starting point. Even if the generator only emits half of what you need, customising generator output is always preferred over hand-rolling. + +Available generators: + +- `pnpm turbo gen feature ` — full feature scaffold +- `pnpm turbo gen event` — event contract or handler +- `pnpm turbo gen job` — background job +- `pnpm turbo gen realtime` — realtime channel or handler +- `pnpm turbo gen core-package ` — optional core package +- `pnpm turbo gen core-ui-component ` — atomic-design component + +If your task's first checkbox is a generator invocation, that's your first action. Do not skip ahead. + +## Task + +``` +{{TASK_FILE_CONTENT}} +``` + +## Manifest-first ordering + +For any new use case, the order is non-negotiable: + +1. **Manifest entry** — add to `feature.manifest.ts` +2. **Contracts** — `xInputSchema`, `xOutputSchema`, `IXUseCase` exports in the use-case file (factory body throws `not implemented` initially) +3. **Tests (red)** — write the failing test +4. **Implementation (green)** — fill the factory body until tests pass + +The generator handles step 1 + 2 for you when scaffolding a new feature. + +## Conformance gates (run before declaring done) + +``` +pnpm typecheck # TS brand-slot enforcement, 0s +pnpm lint # ESLint rules incl. conformance/* — <1s +pnpm test --filter @repo/ -- --coverage # tests + per-layer thresholds for the feature you touched +pnpm conformance # cross-feature event closure +pnpm fallow:audit # whole-codebase analysis: dead exports, dupes, circular deps, complexity +``` + +All five pass before you commit. If any fail, fix or report BLOCKED — do not paper over. + +## Coverage gates (ADR-020 — run after the conformance gates) + +The coverage architecture has its own multi-layer enforcement that's distinct from the conformance gates above. Run all of these before declaring done: + +``` +pnpm test:coverage # L0 — per-layer thresholds (100% on entities/use-cases/controllers) +pnpm coverage:aggregate # L2 — merges per-package lcovs to coverage/lcov.info + coverage/summary.json +pnpm coverage:diff -- --base # L1 — cover-the-diff: every changed line must be exercised +``` + +Treat `pnpm coverage:diff` output as machine-readable: + +- Exit 0 → pass; the JSON stdout has `status: "pass"` +- Exit 1 → fail; the JSON stdout's `uncovered` array lists each `{ file, line, kind }` hit +- `kind: "uncovered"` → write the missing test +- `kind: "no-coverage-data"` → entire file isn't in lcov; you shipped untested code (a sibling test file is missing) + +Fix every hit before reporting `complete`. If you legitimately can't (e.g., the line is genuinely unreachable), extend the allowlist in `scripts/coverage/diff.mjs` AND add a test in `scripts/coverage/diff.test.mjs` — don't silently bypass. + +See `docs/guides/coverage.md` for the full architecture (4 layers) and the troubleshooting section. The base ref is usually `origin/main` for PR work; for in-session iteration use `HEAD~N`. + +## Commit message format + +`(): ` + +Examples: + +- `feat(auth): hash password before persisting` +- `test(blog): assert article not found error` +- `feat(scripts): conformance drift gate + tests` + +Subject line ≤72 chars. Body explains WHY if non-obvious. + +## When you're stuck + +Report status `BLOCKED` (don't silently produce work you're unsure about). State specifically: what you tried, what's unclear, what kind of help you need (more context / different model / smaller task / plan is wrong). + +## Output format + +When done, return structured JSON: + +```json +{ + "status": "complete" | "blocked" | "needs-clarification", + "ac_satisfied": [0, 1, 2], + "files_changed": ["packages/..."], + "commit_sha": "abc123", + "notes": "..." +} +``` + +Do NOT modify the task markdown or `_state.json` yourself — the orchestrator handles state writes. + +## Signal completion (required) + +After you have committed the slice (or returned a terminal `blocked` / `needs-clarification` status), emit the literal string `COMPLETE` as the final line of your response. + +Sandcastle uses this marker to stop the iteration loop. Without it, the orchestrator will re-invoke you up to `maxIterations` times even when the work is already done — every redundant iteration costs subscription quota and time. + +Do NOT emit the marker if: + +- The five conformance gates haven't all passed yet. +- You still have files to write, fixes to apply, or commits to make. +- You returned a partial result and intend the next iteration to continue. diff --git a/.sandcastle/prd-eliciter.prompt.md b/.sandcastle/prd-eliciter.prompt.md new file mode 100644 index 0000000..7a6e0ae --- /dev/null +++ b/.sandcastle/prd-eliciter.prompt.md @@ -0,0 +1,64 @@ +# PRD Elicitation Agent + +You are a PRD elicitation agent for the template-vertical monorepo. Your job is to interview a human (one question at a time) and produce a complete, agent-ready PRD that the decomposer can turn into stories. + +## Use generators first (non-negotiable) + +When the human's idea maps to creating any of these, the PRD's "Requirements" section must explicitly reference the generator that will produce the artefact: + +- **Feature package** → `pnpm turbo gen feature ` +- **Event contract / handler** → `pnpm turbo gen event` +- **Background job** → `pnpm turbo gen job` +- **Realtime channel / handler** → `pnpm turbo gen realtime` +- **Optional core package** → `pnpm turbo gen core-package ` +- **Atomic-design component** → `pnpm turbo gen core-ui-component ` + +If a requirement could be satisfied by a generator and you write it instead as a hand-rolled file list, you have failed. Always check first whether a generator covers the requirement. + +## Input + +The human's initial brief: + +``` +{{INITIAL_BRIEF}} +``` + +## Interview rules + +1. Ask ONE question at a time. Never bundle multiple questions in one turn. +2. Prefer multiple-choice when the answer space is small. Open-ended only when the answer is genuinely open. +3. Topics to cover, in order: + - **Problem**: what's broken or missing today; who hurts because of it? + - **Goal**: what state are we trying to reach? + - **In scope** / **Out of scope**: the explicit fence. + - **Constraints**: what existing APIs / performance budgets / SLAs must we preserve? + - **Success criteria**: how do we observe success? + - **Requirements**: numbered list (R1, R2, …). For each, identify the generator that produces it if applicable. + - **Open questions**: decisions you couldn't resolve in the interview. +4. After enough information is gathered (you decide; minimum 6 substantive answers), draft the PRD and present it to the human for review. The PRD's `status` is `draft` until the human flips it to `approved`. + +## Output + +When you've gathered enough, write the PRD to `docs/work/prds/-.prd.md` with this frontmatter: + +```yaml +--- +id: - +title: +type: prd +status: draft +author: +elicitation-session: +created: +--- +``` + +And the body sections (in order): Problem, Goal, In scope, Out of scope, Constraints, Success criteria, Requirements (numbered), Open questions. + +Tell the human the file path. Tell them to review and flip `status: draft` → `status: approved` before invoking the decomposer. + +## Don't + +- Don't decompose into stories — that's the decomposer's job +- Don't write code or tests +- Don't skip the generator check on each requirement diff --git a/.sandcastle/reviewer.prompt.md b/.sandcastle/reviewer.prompt.md new file mode 100644 index 0000000..9755500 --- /dev/null +++ b/.sandcastle/reviewer.prompt.md @@ -0,0 +1,129 @@ +# Reviewer Agent + +You are the reviewer agent. You verify the implementer's diff against the task's AC + scope. You do NOT modify the repo. + +## Generator-first check (verify, don't bypass) + +If the task's first checkbox was a generator invocation, verify the implementer actually ran the generator. Signs the generator was run: + +- The diff includes files at canonical generator paths (e.g., `packages//src/feature.manifest.ts`, `packages//src/di/bind-production.ts`, etc.) +- The generator's anchor comments (`// `, `// `, etc.) are present +- The file shapes match what `pnpm turbo gen ` would produce + +If you suspect the implementer hand-rolled what should have been generator output, reject. Tell them to delete what they wrote and run the generator. + +## Task + +``` +{{TASK_FILE_CONTENT}} +``` + +## Diff + +``` +{{DIFF}} +``` + +## Your checks + +1. **AC coverage** (acceptance criteria, not test coverage): every checkbox in the task's AC list is verifiably satisfied by the diff. Verify by reading the actual code, not by trusting the implementer's report. +2. **Out-of-scope discipline**: the diff does NOT touch anything listed under the task's "Out of scope" (or anything not related to the AC). Over-engineering / drive-by refactors are rejection causes. +3. **Manifest-first ordering**: if a new use case landed, the manifest was updated; tests exist; the factory was wrapped at bind time. +4. **Conformance gates**: the diff's tests + lint + typecheck pass. (You don't run them yourself; sandcastle's CI step does. Trust the CI status, reject if it's red.) +5. **Generator-first**: see the section above. Hand-rolled code that should have been generated is a rejection. +6. **Fallow audit**: verify the implementer ran `pnpm fallow:audit` and it passed. If their diff increases dead exports / dupes / circular deps / complexity beyond the baseline, that's a rejection cause unless the implementer's notes explicitly justify it. +7. **Coverage gates** (ADR-020): the implementer must have run `pnpm coverage:diff` and gotten status `pass`. The CI surfaces this as the "Coverage — diff (L1)" step; if it's red, reject. Additionally, check: + - **Per-layer thresholds (L0)**: any new code under `entities/`, `application/use-cases/`, or `interface-adapters/controllers/` is bound to 100%/100%/95%/100% bands. If the test run produced threshold errors, that's a rejection. + - **No silent allowlist expansion**: if `scripts/coverage/diff.mjs`'s `ALLOWED_GLOBS` grew, the implementer's notes must explain why (and the matching test fixture must exist in `scripts/coverage/diff.test.mjs`). + - **Manifest coverage band drift**: if `feature.manifest.ts` was edited, its `coverage:` section must match `DEFAULT_COVERAGE_BANDS` from `@repo/core-shared/conformance/coverage` (or carry an explicit override the implementer's notes justify). +8. **Slice discipline** (slice = task = PR = commit): the task represented ONE vertical slice that lands as ONE green commit. Reject if: + - The implementer broke the work into multiple commits where any intermediate commit would leave the repo with red gates (test failing, typecheck failing, lint failing). + - The diff is shaped like sub-steps that should have been their own tasks ("scaffold a file" + "implement the body" + "add tests" = three commits, three task tickets, not one task with three sub-commits). + - The slice is incomplete — e.g., a use case landed without its DI binding, an event was declared in the manifest but no publish site exists, a controller was added without wiring into a router. The slice is whole or it's a rejection. + +## Epic close-out: PRD status flip + +After approving a task, check `docs/work/_system/_state.json` for the `needs_prd_ship` array (rebuilt automatically by the pre-commit state-sync hook). Each entry has shape: + +```json +{ + "epic": "", + "prd": "", + "prd_status": "approved", + "action": "pnpm work prd-ship --auto-commits" +} +``` + +If the task you just approved was the FINAL task of an epic (i.e., the epic transitioned to `status: done`) and that epic appears in `needs_prd_ship`, the orchestrator must run the suggested `action` command before declaring the epic closed. The `prd-ship` command: + +- Refuses to flip `draft` PRDs (must go through human review first) +- Idempotent — won't double-flip an already `shipped` PRD +- Writes `status: shipped`, `shipped: `, and `shipping-commits: [...]` to the PRD frontmatter +- Auto-derives the shipping-commits list from `git log` of the linked epic folder when `--auto-commits` is passed + +Include the PRD-ship outcome in your review notes when applicable. + +## Output format + +Return structured JSON: + +```json +{ + "decision": "approve" | "reject", + "ac_verified": [0, 1, 2], + "scope_violations": ["files touched that weren't in scope"], + "generator_skipped": false, + "prd_shipped": "" | null, + "notes": "..." +} +``` + +If you reject, the orchestrator passes your notes back to the implementer for a fix-up cycle (up to the task's `max-attempts`, default 3). + +## Library-trace check + +Before issuing your verdict, run: + +```bash +node scripts/library-decisions/check.mjs --staged-against +``` + +where `` is the PR's base branch (typically `main`). If the command exits non-zero, **reject** the slice: a new runtime dependency in a feature- or core-tier package is missing an approved library-decision trace. The implementer must run the evaluate-library skill (`.claude/skills/evaluate-library/SKILL.md`) and add the resulting `docs/library-decisions/*.md` trace before the slice can be approved. + +## CI security checks + +Before issuing your verdict, retrieve the CI run logs for the PR and scan for security findings: + +```bash +gh run view --log +``` + +where `` is the most recent workflow run for the PR's head commit (find it via `gh pr checks `). + +**Socket — critical findings:** +Scan the log output for any Socket security finding with severity `critical`. These appear in the "Socket Security" check step output. If any `critical` finding is present: + +- **Reject** the slice. +- Name the specific finding (package name + finding label) in your notes. +- Cite the failure-mode hierarchy in `docs/guides/ci-security.md` for remediation guidance. + +Example rejection note: `"Socket reports critical finding 'protestware' on package foo@1.2.3. See docs/guides/ci-security.md for the failure-mode hierarchy."` + +**CodeQL — error-severity findings:** +Scan the log output for any CodeQL finding with severity `error`. These appear in the "CodeQL" check step output (also surfaced as SARIF alerts on the PR). If any `error`-severity finding is present: + +- **Reject** the slice. +- Name the specific finding (rule ID + file + line) in your notes. +- Cite the failure-mode hierarchy in `docs/guides/ci-security.md` for remediation guidance. + +Example rejection note: `"CodeQL reports error-severity finding 'js/sql-injection' at src/foo.ts:42. See docs/guides/ci-security.md for the failure-mode hierarchy."` + +These checks compose with the library-trace check above: **all three must pass** (library-trace clean, no Socket `critical`, no CodeQL `error`) for the slice to be approved. + +## Signal completion (required) + +After you have returned the structured JSON decision, emit the literal string `COMPLETE` as the final line of your response. + +Sandcastle uses this marker to stop the iteration loop. Without it, the orchestrator will re-invoke you up to `maxIterations` times even when the decision has already been returned — every redundant iteration costs subscription quota and time. + +Emit the marker for BOTH `approve` and `reject` decisions — the decision is itself a terminal output, regardless of which way it went. Do NOT emit the marker if you still need to read more of the diff, run a tool, or otherwise have unfinished work. diff --git a/.socket.json b/.socket.json new file mode 100644 index 0000000..0e3dd7e --- /dev/null +++ b/.socket.json @@ -0,0 +1,8 @@ +{ + "issueRules": { + "critical": "error", + "high": "warn", + "medium": "ignore", + "low": "ignore" + } +} diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..0d78672 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,575 @@ +# AGENTS.md — Vertical Feature Monorepo + +This is a **Turborepo + pnpm monorepo** organized by vertical features. Each feature package owns its own Clean Architecture layers (entities, application, infrastructure, interface-adapters) and integrations (CMS collections, tRPC routers, UI components). Core packages provide foundation: primitives, design system, CMS composition, API aggregation, and tRPC client platform. + +> **Vocabulary:** Every cross-cutting term used in this repo (feature, use case, manifest, slice, conformance, dispatch, etc.) is defined in [`docs/glossary.md`](./docs/glossary.md). When in doubt about what a term means **here**, check the glossary first — it's the single source for shared vocabulary between humans and agents. + +> **Commits:** Every commit message follows [Conventional Commits](https://www.conventionalcommits.org/): `(): ` (≤72 chars). Types: `feat | fix | docs | style | refactor | test | chore | perf | ci | build | revert`. Use `!` for breaking changes. The sandcastle implementer + reviewer prompts enforce this; agents authoring autonomously MUST honor it. + +> **Releases:** Versioning is hybrid (ADR-021) — root template + 5 feature packages version independently from `0.1.0`. release-please reads Conventional Commits and opens a rolling release PR on every merge to main; merging it cuts tagged releases. See [`docs/guides/releasing.md`](./docs/guides/releasing.md). + +## Agent-driven development + +This template assumes agents (Claude, Codex, etc.) will author most feature work. The orchestration substrate is [Sandcastle](https://github.com/mattpocock/sandcastle) — see [ADR-019](./docs/decisions/adr-019-sandcastle-for-agent-orchestration.md). Day-to-day entry points: + +- `pnpm work next` / `ready` / `blocked` — DAG-aware task selection from `docs/work/` +- `pnpm work dispatch` — print the next dispatch plan (planning mode, no agent invoked) +- `pnpm work dispatch --execute` — invoke sandcastle (requires `ANTHROPIC_API_KEY`) +- `.sandcastle/` — 5 prompt templates (PRD eliciter, ADR eliciter, decomposer, implementer, reviewer); all enforce **generator-first** (`pnpm turbo gen ` over hand-rolling) + +Every feature has a `src/feature.manifest.ts` declaring its use cases AND its coverage bands. Every `bindProductionX(ctx)` and `bindDevSeedX(ctx)` self-asserts at its tail via `assertFeatureConformance(...)`. Quality is enforced by two parallel multi-latency systems: + +- **Conformance** (5 gates) — TypeScript brands (0s), ESLint (<1s), boot (~3s), `pnpm conformance` (~120s), `pnpm fallow` (~30–60s). Catches manifest↔code drift. See `docs/guides/conformance-quickref.md`. +- **Coverage** (4 layers, ADR-020) — L0 vitest thresholds, L1 `pnpm coverage:diff` (cover-the-diff gate), L2 `pnpm coverage:aggregate` → committed `coverage/summary.json`, L3 `pnpm mutate` (nightly). The manifest's `coverage.bands` is the single source of truth. See `docs/guides/coverage.md`. + +See `docs/guides/runbook.md` for the full workflow. + +--- + +## Package Map + +| Package | Tag | Purpose | +| ----------------------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `@repo/core-shared` | core | Generic primitives (Zod, env, Payload hooks/fields/blocks, tRPC init/context) | +| `@repo/core-ui` | core | Design system (atoms, molecules, generic organisms, templates) — **optional**, scaffold via `pnpm turbo gen core-package ui` | +| `@repo/core-audit` | core | DPA-compliant audit logging (4 impls, GDPR erasure, OTel correlation) — **optional**, scaffold via `pnpm turbo gen core-package audit` | +| `@repo/core-api` | core-composition | tRPC router aggregator — imports `@repo//api` only | +| `@repo/core-cms` | core-composition | Payload config aggregator — imports `@repo//cms` only | +| `@repo/core-trpc` | core-composition | Frontend tRPC client + framework-specific providers (Next.js, TanStack) | +| `@repo/auth` | feature | Users collection + sign-in/up/out | +| `@repo/core-eslint` | tooling | Shared ESLint 9 flat configs (base, next, react-internal, boundaries) | +| `@repo/core-typescript` | tooling | Shared TypeScript base configs + Vitest base | +| `@repo/core-testing` | tooling | Shared test utilities (defineFactory, defineContractSuite, renderWithProviders, payload mocks) | + +--- + +## Boundary Rules + +### Five tags + +- **app** (3 packages) — `apps/web-next`, `apps/cms`, `apps/storybook` +- **core-composition** (3 packages) — `packages/core-api`, `core-cms`, `core-trpc` +- **core** (1–2 packages) — `packages/core-shared`; `core-ui` is optional (scaffold with `pnpm turbo gen core-package ui`) +- **feature** (1 package) — `packages/auth` +- **tooling** (3 packages) — `packages/core-eslint`, `core-typescript`, `core-testing` + +### Allowed dependency directions + +| Tag | May depend on | +| ---------------- | --------------------------------------------- | +| app | app, core, core-composition, feature, tooling | +| core-composition | core, core-composition, feature, tooling | +| core | core, core-composition, tooling | +| feature | core, feature, tooling | +| tooling | tooling | + +### Composition exceptions + +1. **`core-api`** may import `@repo//api` subpath exports only (to compose tRPC routers). +2. **`core-cms`** may import `@repo//cms` subpath exports only (to compose Payload collections). +3. **`core-trpc`** reaches features transitively through `core-api`'s `AppRouter` type. + +No other cross-package boundary deviations are permitted. + +### Four enforcement layers + +1. **`package.json` dependencies** — only allowed deps are declared; illegal imports fail at install time. +2. **`exports` maps** — feature packages expose `.`, `./ui`, `./cms`, `./api`, `./di/bind-production`, `./di/bind-dev-seed` only; no deep source paths exist. +3. **ESLint `eslint-plugin-boundaries`** (lint-time) — configured in `packages/core-eslint/`: + - Enforces the five-tag rules at linting + - Feature packages may import from `core`, tooling, and other features' public exports (the `@repo/` contract barrel — e.g. an event contract a consumer subscribes to). They must not reach another feature's internals (the `exports` map seals those) or call its use cases directly — cross-feature behaviour flows through `IEventBus`. + - `core-shared`, `core-ui` may not import any feature. + - `core-api` restricted to `@repo//api` imports. + - `core-cms` restricted to `@repo//cms` imports. + - No `../../../` cross-package relative imports. +4. **Turborepo `boundaries`** (build-graph time) — configured in root `turbo.json`: + - Validates the entire workspace dependency graph, including transitive dependencies + - Catches issues ESLint might miss (e.g., transitive feature reaches through composition packages) + - Run with `pnpm turbo boundaries` + +--- + +## Adding a Feature + +**Fast path — use the generator.** `pnpm turbo gen feature` scaffolds a package under `packages//` (single entity, single `getX` use case) matching the `auth` reference shape. It emits package files, entities, use case + controller (with input/output schemas + presenter), mock + real repositories, DI container, both binders (`bind-production` / `bind-dev-seed`), tRPC procedures + router with tests, contract suite, dev seed, and an empty `ui/` barrel — all wired with the span + capture sandwich at bind time. + +```bash +pnpm turbo gen feature # interactive +pnpm turbo gen feature --args widgets Widget widgets # non-interactive: +``` + +The generator does NOT wire aggregators or emit Payload CMS templates / faker factories / multi-entity layouts. After running, hand-edit `apps/web-next/src/server/bind-production.ts`, `packages/core-api/src/root.ts`, and the two `package.json` files (the generator prints the exact checklist on success). See `docs/guides/scaffolding-a-feature.md` for the full reference. + +**Manual path.** When the generator's scope doesn't fit (multiple entities/use cases, custom layout, extending an existing feature), follow `docs/guides/adding-a-feature.md` — a step-by-step walkthrough covering folder structure, Clean Architecture layers, Payload + tRPC integration, core wiring, and testing / lint validation. + +--- + +## Key Commands + +```bash +pnpm install # Install all dependencies +pnpm dev # Start all dev servers (Next.js :3000, CMS :3001, Storybook :6006) +pnpm typecheck # Type-check all packages +pnpm lint # Lint all packages (ESLint boundaries enforced) +pnpm turbo boundaries # Validate workspace dependency graph (Turbo boundaries) +pnpm turbo gen feature # Scaffold a new feature package (see docs/guides/scaffolding-a-feature.md) +pnpm turbo gen core-package # Scaffold an optional core package back (realtime, events, trpc, ui — see docs/guides/scaffolding-core-package.md) +pnpm turbo gen core-ui-component # Scaffold a core-ui atomic-design component (atom/molecule/organism — see docs/guides/scaffolding-core-ui-component.md) +pnpm test # Run all unit + integration tests (Vitest) +pnpm test:e2e # Run e2e tests (Playwright across both apps) +pnpm build # Build all packages (Turborepo) +docker compose up -d # Start PostgreSQL + +# Filtered commands +pnpm dev --filter @repo/web-next # Only Next.js app +pnpm dev --filter @repo/cms # Only CMS admin +pnpm dev --filter @repo/storybook # Only Storybook +pnpm typecheck --filter @repo/auth # Only auth feature +pnpm test --filter @repo/auth # Only auth unit/integration tests +``` + +--- + +## Per-Package Conventions + +> Canonical summary: `CLAUDE.md` § Key Conventions. +> Decision records: `docs/decisions/adr-012-feature-conventions.md` and `docs/decisions/adr-013-input-output-unification.md`. + +### Source files use RELATIVE imports (not @/) + +Inside `src/` files, import from sibling layers using relative paths (no `.js` extension — modern Node/Vitest resolves without it): + +```typescript +// packages/blog/src/application/use-cases/get-articles.use-case.ts +import type { IArticlesRepository } from "../repositories/articles.repository.interface"; +import { BLOG_SYMBOLS } from "../../di/symbols"; +import type { Article } from "../../entities/models/article"; +``` + +Entity models live at `entities/models/.ts`; domain errors at `entities/errors/.ts`; the shared `InputParseError` at `entities/errors/common.ts`. +Mock siblings use the `.mock.ts` suffix (`.repository.mock.ts`); real repository impls drop the `Payload` prefix (`articles.repository.ts`); interface filenames are dot-separated (`articles.repository.interface.ts`). + +This keeps source code portable and avoids circular alias issues. + +### Test files use @/ alias + +Test files (`*.test.ts`) use the `@/` alias to import from `src/`: + +```typescript +// packages/blog/src/application/use-cases/get-articles.use-case.test.ts +import { getArticlesUseCase } from "@/application/use-cases/get-articles.use-case"; +``` + +### vitest.config.ts MUST declare @/ alias + +Every package's `vitest.config.ts` must define the alias: + +```typescript +import path from "path"; +import { defineConfig } from "vitest/config"; + +export default defineConfig({ + test: { environment: "node", globals: true }, + resolve: { + alias: { + "@": path.resolve(__dirname, "./src"), + }, + }, +}); +``` + +### tsconfig.json rootDir = "." + +TypeScript configs must set `"rootDir": "."` to allow both `src/` and test files to coexist: + +```json +{ + "extends": "@repo/core-typescript/base.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "dist" + }, + "include": ["src/**/*", "tests/**/*"], + "exclude": ["node_modules", "dist"] +} +``` + +### Use cases own input + output schemas + +Every use-case file exports its Zod schemas and inferred types. The use case body validates its output before returning — a misbehaving repository fails loudly at the layer that owns the contract. + +```typescript +// packages/blog/src/application/use-cases/get-articles.use-case.ts +import { z } from "zod"; +import { articleSchema } from "../../entities/models/article"; +import type { IArticlesRepository } from "../repositories/articles.repository.interface"; + +// ── Input ──────────────────────────────────────────────────────────────── +export const getArticlesInputSchema = z + .object({ status: z.string().optional(), limit: z.number().int().optional() }) + .strict(); +export type GetArticlesInput = z.infer; + +// ── Output ─────────────────────────────────────────────────────────────── +export const getArticlesOutputSchema = z.array(articleSchema); +export type GetArticlesOutput = z.infer; + +// ── Use case ───────────────────────────────────────────────────────────── +export type IGetArticlesUseCase = ReturnType; + +export const getArticlesUseCase = + (articlesRepository: IArticlesRepository) => + async (input: GetArticlesInput): Promise => { + const result = await articlesRepository.getArticles(input); + return getArticlesOutputSchema.parse(result); + }; +``` + +Void-input use cases use `z.object({}).strict()` and accept `_input: XInput`. Void-output use cases (e.g. `signOutUseCase`) export only `xInputSchema` — no `xOutputSchema`. + +Tests inject mocks directly — no container rebinding: + +```typescript +const repo = new MockArticlesRepository([]); +const useCase = getArticlesUseCase(repo); +const articles = await useCase({ status: "published" }); +``` + +### Controllers receive `unknown` + presenter + +Controllers `safeParse(xInputSchema)` from the use-case file and throw `InputParseError` on failure. Every non-void controller defines a top-level `function presenter(value: XOutput)` and returns `Promise>`. Identity is fine — `return value` — but the function form is always present so adding a transform later is a one-line edit. + +```typescript +// packages/blog/src/interface-adapters/controllers/get-articles.controller.ts +import { InputParseError } from "../../entities/errors/common"; +import { + getArticlesInputSchema, + type GetArticlesOutput, + type IGetArticlesUseCase, +} from "../../application/use-cases/get-articles.use-case"; + +function presenter(value: GetArticlesOutput) { + return value; +} + +export type IGetArticlesController = ReturnType; + +export const getArticlesController = + (getArticlesUseCase: IGetArticlesUseCase) => + async (input: unknown): Promise> => { + const parsed = getArticlesInputSchema.safeParse(input); + if (!parsed.success) { + throw new InputParseError("Invalid input", { cause: parsed.error }); + } + return presenter(await getArticlesUseCase(parsed.data)); + }; +``` + +Void controllers (e.g. `signOutController`) return `Promise` and skip the presenter entirely. One controller file per use case — no multi-method controller files. + +DI binds each factory with `.toDynamicValue()`: + +```typescript +bind(BLOG_SYMBOLS.IGetArticlesUseCase).toDynamicValue( + (ctx) => + getArticlesUseCase(ctx.container.get(BLOG_SYMBOLS.IArticlesRepository)), +); +``` + +### Feature-scoped tRPC error mapping + +Each feature owns `integrations/api/procedures.ts` that wires domain errors to tRPC codes. `core-shared` provides the `defineErrorMiddleware` factory but never enumerates feature error classes. + +```typescript +// packages/blog/src/integrations/api/procedures.ts +import { t } from "@repo/core-shared/trpc/init"; +import { defineErrorMiddleware } from "@repo/core-shared/trpc/define-error-middleware"; +import { ArticleNotFoundError } from "../../entities/errors/article"; +import { InputParseError } from "../../entities/errors/common"; + +export const blogProcedure = t.procedure.use( + defineErrorMiddleware([ + [InputParseError, "BAD_REQUEST"], + [ArticleNotFoundError, "NOT_FOUND"], + ]), +); +``` + +The router then uses `blogProcedure.input(xInputSchema)` for every procedure — schemas are imported from the use-case file, never redefined inline. Unmapped errors still surface as `TRPCError(code: INTERNAL_SERVER_ERROR)`; the original domain error is preserved as `.cause`. + +### Per-feature public-API surface + +Each feature package exposes exactly these subpath exports: + +| Subpath | What it exports | Who consumes | +| ---------------------- | -------------------------------------------------------------------------------------------------- | ----------------------- | +| `.` (root) | Contracts only: types, errors, schemas, `IUseCase` / `IController` aliases, router type, constants | Any consumer | +| `./ui` | Hooks (`useX`), components, query builders (`queryOptions`) | App packages | +| `./api` | tRPC router (`xRouter` + `XRouter` type) | `@repo/core-api` only | +| `./cms` | Payload collections | `@repo/core-cms` only | +| `./reader` | `IReader` type (cross-feature domain query contract) | Other feature packages | +| `./di/bind-production` | App boot side-effect — swaps mock for real Payload impl | App packages only | +| `./di/bind-dev-seed` | App boot side-effect — swaps empty mock for populated mock | App packages, storybook | + +Apps import schemas/types from `@repo/` (root) and hooks/components from `@repo//ui`. Deep source paths are not accessible — the `exports` map enforces this. + +### Feature UI structure + +Each feature's `src/ui/` follows this layout: + +``` +src/ui/ + index.ts # Barrel — exports server components as public API + query.ts # Query builder functions (framework-agnostic) + hooks/ + use-.ts # "use client" — wraps useTRPC + useSuspenseQuery + components/ + -list.server.tsx # Server — DI + prefetch + HydrationBoundary (public) + -list.client.tsx # "use client" — calls hook (internal only) + -card.tsx # Presentational (receives props) +``` + +Server components (`.server.tsx`) are the public API — the barrel exports them under clean names (`ArticleList`, not `ArticleListServer`). Client components (`.client.tsx`) are internal — only imported by their `.server` counterpart. Server components resolve controllers from DI, prefetch data, and wrap client components in `HydrationBoundary` for SSR + instant hydration. App pages just import and render: ``, ``. See [`docs/guides/building-feature-ui.md`](./docs/guides/building-feature-ui.md) for the full guide. + +### Payload-backed features use constructor injection + +Feature packages that need Payload receive the `SanitizedConfig` via constructor, not via `@repo/core-cms` dependency: + +```typescript +// packages/blog/src/infrastructure/repositories/articles.repository.ts +@injectable() +export class ArticlesRepository implements IArticlesRepository { + constructor(private config: SanitizedConfig) {} + + async getArticles(options?: { + status?: string; + limit?: number; + }): Promise { + const payload = await getPayload({ config: this.config }); + // ... + } +} +``` + +Class names carry no `Payload` prefix — `ArticlesRepository`, `PagesRepository`, `HeaderRepository`, etc. The config comes from the app at boot time (see below). + +### Apps call `bindAll()` per feature at boot + +Each app (`web-next`, `cms`) imports both binders per feature and uses a small dispatcher (`bindAll()`) that picks based on environment: + +- `USE_DEV_SEED === "true"` → dev seed (explicit override; works in any `NODE_ENV`) +- `NODE_ENV === "production"` → production (real Payload) +- otherwise → dev seed (developer default; `pnpm dev` boots without Payload) + +```typescript +// apps/web-next/src/server/bind-production.ts +// Slim default template — no optional packages scaffolded yet. +// After running e.g. `pnpm turbo gen core-package events`, the full +// IEventBus type can be plugged via the generic args +// `BindProductionContext` and the bus/queue construction +// (resolveEventsAndJobsProduction) wires back in per the printed next-steps. +import type { BindProductionContext, BindContext } from "@repo/core-shared/di"; + +export async function bindAllProduction(): Promise { + const { tracer, logger } = resolveInstrumentation(); + const resolvedConfig = await config; + + const ctx: BindProductionContext = { + config: resolvedConfig, + tracer, + logger, + }; + + bindProductionAuth(ctx); +} + +export async function bindAllDevSeed(): Promise { + const { tracer, logger } = resolveInstrumentation(); + + const ctx: BindContext< + IEventBus, + IRealtimeBroadcaster, + IRealtimeHandlerRegistry + > = { + tracer, + logger, + bus, + queue, + realtime, + realtimeRegistry, + }; + + await bindDevSeedAuth(ctx); + // ... (same for each additional feature) +} +``` + +Actual function name: `bindProductionAuth`. + +Each feature binder signature is `(ctx: BindProductionContext): void` for production and `(ctx: BindContext): Promise` for dev-seed. Required ctx fields: `tracer`, `logger`. Production-only: `config`. Optional: `bus`, `queue`, `realtime`, `realtimeRegistry`. + +**Cross-feature readers:** Features that expose domain queries return a reader from their binder: `bindProductionAuth(ctx)` returns `{ reader: IAuthReader }`. Consuming features accept readers as a second parameter: `bindProductionBlog(ctx, { authReader: authResult.reader })`. Ordering in `bindAll()` is explicit — owning feature first, consumers after. Reader cycles are a design error (rule Q3). Readers live at `integrations/readers/`, exported via `./reader` subpath. See the cross-feature readers ADR for full design. + +--- + +### Conformance contract (every feature) + +Every feature package MUST declare a `src/feature.manifest.ts` using `defineFeature` from `@repo/core-shared/conformance`. The manifest declares the use cases, what they audit/publish/consume, and which optional cores they require. + +The feature's `src/di/bind-production.ts` MUST call `assertFeatureConformance(container, manifest, symbols, ctx)` at the tail of `bindProduction` so `pnpm dev` refuses to boot if a binding loses its brand. + +Re-export the manifest from `src/index.ts`: + +```ts +export { fooManifest, type FooManifest } from "./feature.manifest"; +``` + +See `docs/guides/conformance-quickref.md` for the canonical pattern; the generator (`pnpm turbo gen feature `) emits all of this correctly by default. + +--- + +### Cross-feature events and background jobs (ADR-015) + +Three rules: + +- **E0:** Events are for cross-feature decoupling. In-feature reactions are direct use-case calls — do not use the bus. +- **E1:** Event contracts are exported from the publisher's root; handlers are private to the consumer's bind-\* files (never re-exported, ESLint-enforced). +- **J0:** Jobs are for _deferred_ work, not abstraction. Synchronous code stays synchronous. + +`@repo/core-events` provides `IEventBus` (`InMemoryEventBus` for dev/test, `PayloadJobsEventBus` for prod). `@repo/core-shared/jobs` provides `IJobQueue` (`InMemoryJobQueue` / `PayloadJobQueue`). Both are swapped by `bindAll()` using the same `USE_DEV_SEED` / `NODE_ENV` rules as repositories. + +Per-feature folders (all optional): `events/.event.ts`, `events/handlers/on--.handler.ts`, `jobs/.job.ts`, `integrations/cms/jobs/.task.ts`. + +Use the generators: `pnpm turbo gen event {publish|consume}`, `pnpm turbo gen job`. They insert at six fixed `// ` anchor comments present in every feature. + +See `docs/guides/events-and-jobs.md` and `docs/decisions/adr-015-events-and-jobs.md`. + +--- + +### Realtime layer (ADR-016) + +Three rules: + +- **R0:** Realtime is for state delivery, not for replacing tRPC. Persistent operations with request/response semantics belong on tRPC procedures. Use realtime when the server needs to push without a request, or the data is too high-frequency for HTTP. +- **R1:** Channel descriptors are exported; handlers are private. A feature's `realtime/.channel.ts` is re-exported from the package root barrel; `realtime/handlers/*.handler.ts` is wired only in the feature's own bind-\* files and never re-exported (ESLint-enforced via `no-realtime-handler-reexport`). +- **R2:** `socket.io` lives in one package only. Feature packages MUST NOT `import "socket.io"` or `import "socket.io-client"`. Allowlist: `packages/core-realtime/src/socket-io-*.ts` + `apps/*/server.ts`. ESLint rule `no-direct-socket-io` enforces this. + +`@repo/core-realtime` provides `IRealtimeBroadcaster` (server → client), `IRealtimeHandlerRegistry` (client → server), and the `SocketIORealtimeServer` adapter. `apps/web-next/server.ts` replaces `next start`/`next dev` with a custom Node http server hosting both Next.js and Socket.IO on port 3000. + +Use the generators: `pnpm turbo gen realtime channel`, `pnpm turbo gen realtime handler`. They insert at three fixed `// ` anchor comments per feature. + +See `docs/guides/realtime.md` and `docs/decisions/adr-016-realtime-layer.md`. + +--- + +## Instrumentation conventions + +Substrate: **OpenTelemetry SDK** (ADR-017). Sentry is wired as the exporter via `@sentry/opentelemetry`. Vendor swaps are exporter swaps — feature code never touches Sentry or OTel SDK directly. + +**Symbols (in `core-shared/instrumentation/symbols.ts`):** + +- `INSTRUMENTATION_SYMBOLS.ITracer` — bound to `ITracer` (`NoopTracer` / `OtelTracer`) +- `INSTRUMENTATION_SYMBOLS.ILogger` — bound to `ILogger` (`NoopLogger` / `OtelLogger`) +- `INSTRUMENTATION_SYMBOLS.IMetrics` — bound to `IMetrics` (`NoopMetrics` / `OtelMetrics`) + +**Repository constructor signature (every feature):** + +```ts +constructor( + config: SanitizedConfig, + tracer: ITracer = new NoopTracer(), + logger: ILogger = new NoopLogger(), +) +``` + +**Repository method body (every public async method):** + +```ts +return this.tracer.startSpan( + { name: ".", op: "repository", attributes: { /* ... */ } }, + async (span) => { + try { + const result = await /* payload op */; + span.setAttribute("count", /* ... */); + return result; + } catch (err) { + this.logger.captureException(err, { + tags: { feature: "", repo: "", method: "" }, + }); + span.setStatus("error", err instanceof Error ? err.message : String(err)); + throw err; + } + }, +); +``` + +**Use case + controller spans + capture (applied at DI bind time):** + +```ts +const wrappedUC = withSpan( + tracer, + { name: "blog.getArticles", op: "use-case" }, + withCapture( + logger, + { feature: "blog", layer: "use-case", name: "blog.getArticles" }, + getArticlesUseCase(repo), + ), +); +const wrappedCtrl = withSpan( + tracer, + { name: "blog.getArticles", op: "controller" }, + withCapture( + logger, + { feature: "blog", layer: "controller", name: "blog.getArticles" }, + getArticlesController(wrappedUC), + ), +); +``` + +`withSpan` is outermost; `withCapture` is between span and factory so the error is captured before the span closes with error status. Bodies stay vendor-clean — neither use cases nor controllers call `tracer` / `logger` inline. + +**Capture rules** (each error captured exactly once via the `__sentryReported` flag from `core-shared/instrumentation/reported-flag.ts`): + +| Layer | Captures | Doesn't capture | +| ----------------------- | --------------------------------------------------------------------------------------------- | ----------------------------------------------------- | +| Repository | Infra/Payload errors that originate here (inline in catch) | Bubbled errors | +| Use case | Business-rule violations + output-schema failures originated in this body (via `withCapture`) | Errors from repos — flag set, `withCapture` bails | +| Controller | `InputParseError` from `safeParse` failure (via `withCapture`) | Errors from use cases — flag set, `withCapture` bails | +| `defineErrorMiddleware` | Nothing — maps domain → TRPCError only | — | + +**Boundary rules (eslint-enforced):** +Feature packages MUST NOT `import "@sentry/*"` or `import "@opentelemetry/sdk-*"`. Allowlists: + +- `@sentry/*`: `**/instrumentation/otel/sentry-bridge.{ts,js}`, `**/instrumentation/sentry/init-client*.{ts,js}`, `**/instrumentation/sentry/init-server*.{ts,js}`, `**/setup/no-instrumentation.{ts,js}`, `apps/*/instrumentation*.{ts,mjs,js}`, `apps/*/next.config.{mjs,ts,js}`, `apps/*/vite.config.{ts,mjs,js}` +- `@opentelemetry/sdk-*`, `@opentelemetry/instrumentation-*`, `@opentelemetry/resources`, `@opentelemetry/semantic-conventions`, `@sentry/opentelemetry`: `**/instrumentation/otel/**` + +The vendor-neutral API packages (`@opentelemetry/api`, `@opentelemetry/api-logs`) are unrestricted within `core-shared/instrumentation/`. + +**Test rules:** + +- Default to `NoopTracer` / `NoopLogger` / `NoopMetrics` (constructor defaults) +- Assert spans/captures by injecting `RecordingTracer` / `RecordingLogger` / `RecordingMetrics` from `@repo/core-testing/instrumentation` +- Real Sentry SDK + OTel SDK MUST NOT initialize during tests (guarded by `core-testing/setup/no-instrumentation.ts`; old alias `no-sentry` kept for one release) + +--- + +## Specification & Guides + +- **Vertical Feature Spec** — `docs/architecture/vertical-feature-spec.md` — full design, rationale, decision log +- **Architecture Overview** — `docs/architecture/overview.md` — package responsibilities, data flow +- **Dependency Flow** — `docs/architecture/dependency-flow.md` — allowed directions and composition pattern +- **Scaffolding a Feature** — `docs/guides/scaffolding-a-feature.md` — `turbo gen feature` reference (fast path) +- **Adding a Feature Guide** — `docs/guides/adding-a-feature.md` — step-by-step new feature walkthrough (manual path) +- **Events and Jobs Guide** — `docs/guides/events-and-jobs.md` — publish, consume, schedule background work +- **Realtime Guide** — `docs/guides/realtime.md` — declare channels, broadcast, receive +- **Testing Strategy** — `docs/guides/testing-strategy.md` — test placement, Vitest per-package, Playwright e2e +- **TDD Workflow** — `docs/guides/tdd-workflow.md` — red-green-refactor cycle, mocking decision tree, coverage targets + +Per-package documentation lives in each `AGENTS.md`: + +- `packages/core-shared/AGENTS.md` +- `packages/core-api/AGENTS.md`, `core-cms/AGENTS.md`, `core-trpc/AGENTS.md` +- `packages/core-ui/AGENTS.md` (optional — generated by `pnpm turbo gen core-package ui`; see `turbo/generators/templates/core-package/ui/AGENTS.md.hbs`) +- `packages/auth/AGENTS.md` +- `packages/core-eslint/AGENTS.md`, `core-typescript/AGENTS.md`, `core-testing/AGENTS.md` +- `apps/cms/AGENTS.md`, `web-next/AGENTS.md`, `storybook/AGENTS.md` diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..3a2e46c --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,18 @@ +# Changelog — template-vertical + +All notable changes to this template at the root level. Per-feature changelogs live at `packages//CHANGELOG.md`. + +This file is maintained by [release-please](https://github.com/googleapis/release-please) — do not edit manually. Edits land via the rolling release PR triggered by merges to `main`. See [ADR-021](./docs/decisions/adr-021-versioning-and-changelog.md) for the architecture and [`docs/guides/releasing.md`](./docs/guides/releasing.md) for the day-to-day reference. + +## 0.1.0 (2026-05-13) + +### Initial baseline + +- Hybrid versioning established (ADR-021): root template + 5 feature packages each version independently. +- Conventional Commits required for every commit (CLAUDE.md Key Conventions). +- Coverage architecture shipped (ADR-020): L0 vitest thresholds, L1 `pnpm coverage:diff`, L2 `pnpm coverage:aggregate`, L3 `pnpm mutate`. +- Manifest-driven coverage bands in every `feature.manifest.ts`. +- Sandcastle agent orchestration (ADR-019) + PRD-lifecycle automation (`pnpm work prd-ship`). +- 5 features (auth / blog / media / marketing-pages / navigation) all green on declared L0 bands. + +Future entries appear above this section as release-please assembles them from conventional commits since the last release. diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..169d121 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,154 @@ +# Clean Architecture Monorepo Template + +## Quick Start + +```bash +pnpm install # Install + auto-wire husky pre-commit hooks +pnpm dev # Start all dev servers +pnpm build # Build all packages +pnpm test # Run all tests +pnpm typecheck # TypeScript across all packages +pnpm lint # ESLint (incl. 15 conformance/* rules) +pnpm conformance # Cross-feature event closure +pnpm fallow # Whole-codebase: dead exports, dupes, complexity +pnpm fallow:audit # AI-change audit (run before commits) +pnpm coverage:aggregate # Merge per-package lcovs -> coverage/lcov.info + summary.json (L2) +pnpm coverage:diff # Cover-the-diff gate; JSON to stdout (L1, ADR-020) +pnpm mutate # Stryker mutation testing on entities + use-cases (L3, on-demand) +pnpm turbo boundaries # Workspace dependency graph +pnpm work status # docs/work/ epic + story state +pnpm work next # Next ready story +pnpm work dispatch # Print next dispatch plan (use --execute to invoke sandcastle) +pnpm turbo gen feature # Scaffold a new feature package +pnpm turbo gen event # Scaffold an event contract or handler +pnpm turbo gen job # Scaffold a background job +pnpm turbo gen realtime # Scaffold a realtime channel or handler +pnpm turbo gen reader # Scaffold a cross-feature reader +pnpm turbo gen core-package # Scaffold an optional core package +pnpm turbo gen core-ui-component # Scaffold an atomic-design component +docker compose up -d # Start PostgreSQL +``` + +**First time?** Read [`docs/guides/runbook.md`](./docs/guides/runbook.md) end-to-end. + +## TDD + +```bash +pnpm test --watch --filter @repo/ # watch one feature +pnpm test:coverage # full run with coverage +pnpm test:stories # Storybook smoke tests +pnpm test:e2e # Playwright e2e +``` + +See `docs/guides/tdd-workflow.md` for the full cycle. + +## Project Overview + +Turborepo + pnpm monorepo organized by vertical features. Each feature (`auth`) owns its Clean Architecture layers. Must-have core packages (`core-shared`, `core-cms`, `core-api`) provide foundation; five optional core packages (`core-realtime`, `core-events`, `core-trpc`, `core-ui`, `core-audit`) scaffold on demand via `pnpm turbo gen core-package ` (see `docs/architecture/template-tiers.md`). Two tooling packages (`core-eslint`, `core-typescript`) provide shared configs. Workspace boundaries are enforced by ESLint (lint-time) and Turborepo (build-graph time). Supports Next.js and TanStack Start as frontend frameworks, Payload CMS for content management, and comprehensive agent-optimized documentation. + +## Read First + +- `docs/glossary.md` — **Canonical vocabulary** for the monorepo. Resolves "what does X mean here?" for every cross-cutting term (feature, use case, manifest, conformance, slice, dispatch, etc.). Shared between humans and agents. +- `AGENTS.md` — Package map, boundary rules, per-package conventions +- `docs/architecture/overview.md` — High-level architecture and package responsibilities +- `docs/architecture/vertical-feature-spec.md` — Design spec with rationale and decision log +- `docs/guides/scaffolding-a-feature.md` — `turbo gen feature` reference (fast path; prefer this over the manual walkthrough) +- `docs/guides/adding-a-feature.md` — End-to-end new feature walkthrough (manual path; for cases the generator's scope doesn't cover) +- `docs/guides/events-and-jobs.md` — publish/consume/schedule cookbook (cross-feature events + background jobs; _requires `gen core-package events`_) +- `docs/guides/realtime.md` — Socket.IO channels, broadcasts, handlers (_requires `gen core-package realtime`_) +- `docs/guides/audit-and-compliance.md` — DPA-compliant audit logging cookbook (_requires `gen core-package audit`_) +- `docs/guides/coverage.md` — 4-layer coverage cookbook (L0 vitest thresholds, L1 `pnpm coverage:diff`, L2 aggregate, L3 mutation; ADR-020) +- `docs/guides/releasing.md` — release-please workflow: how Conventional Commits become tagged versions + per-package CHANGELOGs (ADR-021) +- `docs/architecture/template-tiers.md` — must-have vs optional packages and how to scaffold the optionals +- `docs/guides/building-feature-ui.md` — Feature UI components, hooks, data fetching (tRPC + React Query), SSR prefetch/hydration, seed data, DI wiring +- `docs/guides/compliance-overview.md` — hub for operator compliance obligations: GDPR, cookie consent, DSR, and pre-launch checklist + +## Conformance system + +Every feature has a `src/feature.manifest.ts` declaring its use cases, audits, publishes, consumes, reads (cross-feature reader deps), required cores, `rateLimit?: RateLimitBudget[]` (when applicable, for per-use-case rate-limit budgets), and (when applicable) `requiresConsent: ConsentCategory[]` for features that gate behaviour behind user consent. Drift is caught at five latencies: + +| Layer | Latency | Catches | +| -------------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------- | +| **TypeScript brands** | 0s | forgotten `withSpan` / `withCapture` / `withAudit` at bind time | +| **ESLint rules** | <1s | manifest ↔ code drift; undeclared `bus.publish` / `auditLog.record`; missing manifest; missing sibling test | +| **Boot assertion** (`pnpm dev`) | ~3s | binding without required brand at runtime; manifest edited without rebinder | +| **CI drift gate** (`pnpm conformance`) | ~120s | orphan event consumers across features | +| **Fallow** (`pnpm fallow`) | ~30–60s | dead exports / unused files; duplicate code; circular deps; complexity hotspots; AI-change audit drift | + +The sixteen conformance ESLint rules: `feature-must-have-manifest` (error), `usecase-must-have-test-file` (error), `required-cores-installed` (error), `usecase-must-be-wired` (error), `no-undeclared-event-publish` (warn), `no-undeclared-audit` (warn), `no-undeclared-analytics-event` (warn), `no-undeclared-reader` (warn), `pii-declaration-must-be-complete` (warn), `component-must-have-story` (warn), `component-must-have-test` (warn), `atomic-tier-import-direction` (warn), `no-undeclared-consent-check` (warn), `no-undeclared-rate-limit` (warn), `entity-must-have-test` (warn), `no-relative-parent-import-in-tests` (warn). Fallow runs as a fifth layer, post-ESLint, whole-codebase. + +See `docs/architecture/agent-first-workflow-and-conformance.md` for the full design and `docs/guides/conformance-quickref.md` for the day-to-day reference. + +### Sibling architecture: coverage (ADR-020) + +Coverage runs in parallel to the 5-gate conformance system above — same multi-latency philosophy, different signal. Each feature's `feature.manifest.ts` declares a `coverage.bands` section that vitest (test-time), `pnpm coverage:diff` (CI/agent-loop), and `pnpm mutate` (nightly) all read from. Four layers: + +| Layer | Catches | Surface | +| ---------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------- | +| **L0** Per-layer vitest thresholds | Drift below declared bands (entities/use-cases/controllers at 100%) | `pnpm test:coverage` | +| **L1** Diff coverage | Changed line not exercised by tests | `pnpm coverage:diff` — CI-gated on PRs + dispatch post-task | +| **L2** Aggregate trend | Codebase coverage drifted over time | `pnpm coverage:aggregate` → committed `coverage/summary.json` | +| **L3** Mutation testing | Tests that exist + execute the code but assert nothing | `pnpm mutate` — on-demand + nightly GH Action | + +See `docs/guides/coverage.md` for the cookbook and ADR-020 for the full rationale. Agents running in sandcastle: run `pnpm coverage:diff` before reporting `complete` — the implementer and reviewer prompts enforce this. + +## Key Conventions + +- **Conventional Commits (non-negotiable)** — Every commit message MUST follow the [Conventional Commits](https://www.conventionalcommits.org/) spec: `(): ` (≤72 chars). Types: `feat | fix | docs | style | refactor | test | chore | perf | ci | build | revert`. Use `!` after type/scope for breaking changes. Body explains WHY if non-obvious. Examples: `feat(auth): hash password before persisting`, `test(blog): assert article not found error`, `refactor(docs)!: consolidate scaffolding into guides`. The sandcastle implementer + reviewer prompts both enforce this; agents authoring commits autonomously MUST honor it. Commits become versions + changelog entries automatically via release-please (ADR-021 / `docs/guides/releasing.md`). +- **Versioning is single root version (template default)** — Only the root package (`template-vertical`) is tracked by release-please, tagged as plain `v*`. release-please reads Conventional Commits since the last tag and opens a rolling release PR on every merge to main; merging it cuts the tag + GitHub release. Hybrid per-feature versioning (independent tags per feature package, bump targeting by commit path) is a documented alternative — see ADR-021 and `docs/guides/releasing.md`. Pre-1.0 policy: `feat:` → patch, `feat!:` → minor. +- **Relative imports in `src/`** — Source files use relative paths (`../repositories/...`), not `@/` alias +- **`@/` alias in tests** — Test files (`*.test.ts`) use `@/` to import from `src/` +- **`vitest.config.ts`** — Every package must define `resolve.alias: { "@": path.resolve(__dirname, "./src") }` +- **`tsconfig.json` rootDir** — Set `"rootDir": "."` so TypeScript finds both `src/` and test files +- **File layout convention** — Entities live at `entities/models/.ts`; errors at `entities/errors/.ts` + `entities/errors/common.ts`; mock siblings use the `.mock.ts` suffix (`.repository.mock.ts`); real repository impls drop the `payload-` prefix (`.repository.ts`); interface filenames are dot-separated (`.repository.interface.ts`) +- **Factory-function use cases & controllers** — Every use case and controller is `(deps) => async (input) => result`; each exports `export type I*UseCase = ReturnType` (and the analogous `I*Controller`); one controller per use case (no multi-method controllers) +- **DI uses `.toDynamicValue()` for factories** — `bind(SYMBOL).toDynamicValue((ctx) => xUseCase(ctx.container.get(...)))`; mocks remain the default binding +- **Tests inject mocks directly** — Construct `MockXRepository` and pass into the factory: `signInUseCase(mockUsers, mockAuth)(input)`. No container rebinding in unit tests +- **Schemas in the use-case file** — Every use case exports `xInputSchema` (a `z.ZodObject` with `.strict()`; `z.object({}).strict()` for void inputs) and, for non-void use cases, `xOutputSchema`. Types: `XInput = z.infer` and `XOutput`. Use case body ends with `xOutputSchema.parse(result)` before returning (runtime guarantee against malformed repository data) +- **Controllers receive `unknown` + presenter** — Controllers `safeParse(xInputSchema)` from the use-case file and throw `InputParseError` on failure. Non-void controllers define a top-level `function presenter(value: XOutput)` and return `Promise>` (identity is fine — `return value`); void controllers return `Promise` with no presenter +- **Feature-scoped tRPC error mapping** — Each feature has `integrations/api/procedures.ts` exporting `xProcedure = t.procedure.use(defineErrorMiddleware([[Ctor, "TRPC_CODE"], ...]))` from `@repo/core-shared/trpc/define-error-middleware`. Routers use `xProcedure.input(xInputSchema)` — schemas are imported from the use-case file, never redefined inline. `core-shared` never enumerates feature error classes +- **Public surface split** — Feature root (`.`) exports contracts only: types, errors, schemas, IUseCase / IController aliases, router type, constants. UI artifacts (hooks, components, query builders) live behind `./ui` (`src/ui/index.ts`). Apps import hooks/components from `@repo//ui`, schemas/types from `@repo/` +- **Feature UI owns its data fetching** — Each feature's `src/ui/hooks/` contains `"use client"` hooks that wrap `useTRPC` + `useSuspenseQuery`. Connected components in `src/ui/components/` call these hooks. App pages prefetch via `appRouter.createCaller({})` and hydrate via `HydrationBoundary` + `dehydrate` + `setQueryData`. See `docs/guides/building-feature-ui.md` +- **Payload repositories via constructor** — Feature packages receive Payload config at constructor time, not as a direct dependency +- **Three binding modes per feature** — Each feature exports two binders: `./di/bind-production` (real Payload) and `./di/bind-dev-seed` (populated mock). The app's `bindAll()` dispatcher in `apps/web-next/src/server/bind-production.ts` picks one by env: `USE_DEV_SEED="true"` → dev seed; `NODE_ENV="production"` → production; otherwise → dev seed (developer default so `pnpm dev` boots without Payload). Dev seed lives in `src/__seeds__/dev.ts` as a lazy `buildDev()` function that uses the feature's existing factory +- **Binders take a `ctx` arg from `core-shared/di`** — `bindProductionX(ctx: BindProductionContext)` for production binders; `bindDevSeedX(ctx: BindContext)` for dev-seed. Required fields: `tracer`, `logger`, plus `config` for production. Optional fields: `bus`, `queue`, `realtime`, `realtimeRegistry` (correspond to optional core packages — guard with `?.` or `if (bus) { ... }` when used; use-case signatures should accept the protocol type when they only need protocol methods, not the full concrete interface). Aggregator builds one ctx object and passes it to all feature binders +- **App bootstrap** — Each app calls `bindAll()` from a server entry point (page server component, route handler) before resolving any feature controller. The dispatcher is idempotent +- **Instrumentation lives in `core-shared/instrumentation/`** — Three interfaces (`ITracer`, `ILogger`, `IMetrics`), three implementation pairs (`Noop*`, `Otel*`, and `Recording*` from `core-testing`). The OTel SDK is the substrate; Sentry is wired as the exporter via `@sentry/opentelemetry`. Feature packages MUST NOT import `@opentelemetry/sdk-*` or `@sentry/*` directly (ESLint-enforced); the vendor-neutral `@opentelemetry/api` family is the import surface for advanced cases (ADR-017) +- **Spans + capture composed at DI bind time** — Use cases + controllers are wrapped at DI bind time in this order (outermost → innermost): `withSpan → withCapture → withAudit → withAnalytics → withConsent → factory(deps)`. Apply `withAudit` when the manifest declares `audits`, `withAnalytics` when it declares `analyticsEvents`, `withConsent` when it declares `requiresConsent`. `withSpan` is always outermost so an errored span's timing reflects the capture-and-rethrow. Repository methods are different — they call `this.tracer.startSpan(...)` and `this.logger.captureException(...)` inline per method because they own per-call attributes +- **Capture at throw sites only, with double-report guard** — Repos capture infra errors inline; use cases + controllers capture via `withCapture` at bind time; `defineErrorMiddleware` never captures. Each error gets a non-enumerable `__sentryReported` flag the first time it's captured; `withCapture`, `OtelLogger`, and `RecordingLogger` all bail if the flag is set, so a bubbled error surfaces exactly once with the inner-most layer's tags (helper at `core-shared/instrumentation/reported-flag.ts`) +- **PII handling is non-negotiable** — `sendDefaultPii: false` everywhere (CI grep gate); replay default-masks all text/inputs/media (allowlist starts empty); `setUser({ id })` only — no email/username; server-side PII scrubbing happens at the OTel processor layer (`PiiScrubSpanProcessor` + `PiiScrubLogRecordProcessor`) before any exporter sees the data (ADR-017 §7) +- **Two apps, two Sentry projects** — `WEB_NEXT_SENTRY_DSN`, `CMS_SENTRY_DSN`. The browser DSN uses the `NEXT_PUBLIC_` prefix (web-next) +- **Instrumentation binding is orthogonal to repo binding** — `bindAll()`'s Rule 0 (DSN → OTel+Sentry vs Noop) is independent of `USE_DEV_SEED` / `NODE_ENV`. Run `pnpm dev` with `WEB_NEXT_SENTRY_DSN` set to test the integration locally +- **Cross-feature events go through `IEventBus` (E0)** — In-feature reactions are direct use-case calls, not bus publishes. The bus is for _crossing_ feature boundaries (e.g. an `auth` signed-up event consumed by another feature) +- **Event contracts are public; handlers are private (E1)** — Publisher's `events/.event.ts` is exported from the feature root barrel. Consumer's `events/handlers/on--.handler.ts` is never re-exported (ESLint-enforced via `core-eslint/rules/no-handler-reexport`) +- **Jobs are for _deferred_ work, not abstraction (J0)** — Synchronous code stays synchronous. A job exists only when something must run off the request path (latency, retries, cron). Feature packages enqueue via `IJobQueue` only — direct `payload.jobs.queue()` is ESLint-blocked outside `core-shared/jobs/` +- **Realtime is for state delivery, not for replacing tRPC (R0)** — Persistent request/response operations belong on tRPC procedures. Use realtime when the server needs to push without a request or the data is too high-frequency for HTTP +- **Realtime channel descriptors are exported; handlers are private (R1)** — A feature's `realtime/.channel.ts` is re-exported from the root barrel; `realtime/handlers/*.handler.ts` is wired only in bind-\* files and never re-exported (ESLint-enforced via `no-realtime-handler-reexport`) +- **`socket.io` lives in `@repo/core-realtime` only (R2)** — Feature packages MUST NOT import `socket.io` or `socket.io-client`. ESLint rule `no-direct-socket-io` enforces this; allowlist covers `core-realtime/src/socket-io-*.ts` and `apps/*/server.ts` +- **Cross-feature domain queries go through readers (Q0)** — When a use case needs another vertical's domain-evaluated answer on the request path (e.g., permission check), use a reader (`IReader`). For raw data joins, use Payload `relationTo`. For reactions/side effects, use the event bus +- **Reader contracts are public; implementations are private (Q1)** — The owning feature exports `IReader` from `./reader` subpath (`integrations/readers/`). The implementation (`Reader`) is internal, constructed by the binder. Consumers import the type only +- **Readers are strictly read-only; cross-feature writes go through events (Q2)** — A reader may only wrap use cases declared `mutates: false`. Enforced by `ReadOnly` brand at compile time and `assertReaderPurity` at boot time +- **Reader cycles are a design error (Q3)** — If Feature A reads from Feature B and vice versa, the boundaries are wrong. Break via: (a) UI composition at app layer, (b) event for one direction, (c) merge the features +- **Readers wrap existing use cases, not repositories** — The reader is a thin facade; if the domain logic doesn't exist as a use case yet, create the use case first (manifest-first). No `MockReader` needed — same class works in dev-seed because the use cases beneath it are backed by mock repos +- **Manifest `reads` field** — Use cases that query another feature's reader declare `reads: [""]` in `feature.manifest.ts`. Verified by `assertFeatureConformance` at boot and `no-undeclared-reader` ESLint rule +- **Binders return readers; `bindAll()` threads them** — `bindProductionAuth(ctx)` returns `{ reader: IAuthReader }`. `bindAll()` passes it: `bindProductionBlog(ctx, { authReader: authResult.reader })`. Ordering in `bindAll()` is explicit — owning feature first, consumers after +- **Manifest-first ordering** — for any new use case, the workflow is **(1) manifest entry** → **(2) contracts** (`xInputSchema`, `xOutputSchema`, `IXUseCase`) → **(3) tests (red)** → **(4) implementation (green)**. The generator emits the manifest + a self-asserting `bind-production.ts` so new features are conformance-compliant by default +- **Self-asserting `bindProductionX(ctx)`** — every feature's bind-production calls `assertFeatureConformance(container, manifest, symbols, ctx)` at its tail. `pnpm dev` refuses to boot on drift +- **`pnpm conformance`** — cross-feature event-closure and reader-closure check; fails CI on orphan consumers or unresolvable `reads` entries +- **New runtime dependencies require a library trace** — adding a runtime dependency to a feature- or core-tier package requires a trace at `docs/library-decisions/-.md` produced by the `/evaluate-library` skill; see ADR-022 and `docs/guides/adding-a-library.md` +- **CI security + supply-chain enforcement** — Renovate for bumps + Action SHA pinning, Socket for supply-chain behavior, weekly trace revalidation, CodeQL + audit signatures + gitleaks. See ADR-023 + `docs/guides/ci-security.md` + +## MCP Servers + +Start Storybook before UI work: `pnpm dev --filter @repo/storybook` + +Storybook MCP available at `http://localhost:6006/mcp` — use `list-all-documentation` to discover existing components before creating new ones. + +## Key Ports + +| Service | Port | +| ----------- | ---- | +| Next.js | 3000 | +| Payload CMS | 3001 | +| PostgreSQL | 5432 | +| Storybook | 6006 | diff --git a/README.md b/README.md new file mode 100644 index 0000000..d1980d2 --- /dev/null +++ b/README.md @@ -0,0 +1,118 @@ +# Clean Architecture Monorepo Template + +Turborepo + pnpm monorepo organised by vertical features, with an **agent-first workflow** and **five conformance gates**. + +This template is built for **agent-driven development**. [Sandcastle](https://github.com/mattpocock/sandcastle) is the orchestration substrate; `pnpm work dispatch` is the entry point. See [ADR-019](./docs/decisions/adr-019-sandcastle-for-agent-orchestration.md) for the decision rationale and [`docs/guides/runbook.md`](./docs/guides/runbook.md) for end-to-end usage. + +## Start here + +Read [`docs/guides/runbook.md`](./docs/guides/runbook.md) — day-1 onboarding (prerequisites, env vars, daily commands, troubleshooting, **Using Sandcastle for agent dispatch**). + +## Quick reference + +```bash +pnpm install # Install + auto-wire husky pre-commit hooks +pnpm dev # All dev servers (web-next:3000, cms:3001, storybook:6006) +pnpm test # All tests +pnpm typecheck # TypeScript across all packages +pnpm lint # ESLint (incl. 8 conformance/* rules) +pnpm conformance # Cross-feature event closure +pnpm fallow # Whole-codebase: dead exports, dupes, complexity +pnpm turbo boundaries # Workspace dependency graph +pnpm work status # docs/work/ epic + story state +docker compose up -d # Start PostgreSQL +``` + +## Sandcastle setup (one-time) + +Required only if you'll use `pnpm work dispatch --execute` or `pnpm work decompose --execute` (agent dispatch). The dispatch loop runs the implementer / reviewer / decomposer agents inside an isolated Docker sandbox; the image is built once locally. + +```bash +# 1. Ensure Docker is running +docker info >/dev/null + +# 2. Build the sandcastle image (reads .sandcastle/Dockerfile) +pnpm exec sandcastle docker build-image +# Tags as: sandcastle:template-vertical (derived from the root package.json name) + +# 3. Pick ONE auth path: +# (a) Recommended — Claude Pro/Max subscription: +claude login # one-time; ~/.claude/ becomes the auth source +# (b) Fallback — API key: +export ANTHROPIC_API_KEY=sk-ant-... +``` + +**macOS users**: subscription auth needs an extra step. Claude Code stores credentials in the macOS Keychain by default, so the host's `~/.claude/` directory has no `.credentials.json` for the sandbox to read. Two workarounds: + +```bash +# (preferred for macOS subscription users) extract keychain -> file once: +security find-generic-password -s "Claude Code-credentials" -a "$USER" -w \ + > ~/.claude/.credentials.json +chmod 600 ~/.claude/.credentials.json +# Trade-off: credentials now live as a plaintext file at the path; refresh +# when the token expires (re-run the same one-liner). The file is in your +# home directory — chmod 600 + your home permissions are the protection. + +# OR fall back to API key — no host changes needed: +export ANTHROPIC_API_KEY=sk-ant-... +``` + +Linux + WSL users with `claude login` write `~/.claude/.credentials.json` directly; nothing extra needed. + +After the image exists, dispatch flows work without further setup: + +```bash +pnpm work dispatch # print plan (safe anywhere) +pnpm work dispatch --execute # actually dispatch via sandcastle +pnpm work decompose # print decompose plan +pnpm work decompose --execute # decompose an approved PRD +``` + +To rebuild the image after changing `.sandcastle/Dockerfile`: + +```bash +pnpm exec sandcastle docker remove-image +pnpm exec sandcastle docker build-image +``` + +See [`docs/guides/runbook.md` → Using Sandcastle](./docs/guides/runbook.md#using-sandcastle-for-agent-dispatch) for the full dispatch lifecycle, auth modes, and troubleshooting. + +## Versioning + +Releases are automated via release-please with a **single root version** — only the root package (`template-vertical`) is tracked, tagged as plain `v*` (see `.github/workflows/release-please.yml` + `release-please-config.json`). Hybrid per-feature versioning (independent tags per feature package, bump targeting by commit path) is a documented alternative — see [ADR-021](./docs/decisions/adr-021-versioning-and-changelog.md) and [`docs/guides/releasing.md`](./docs/guides/releasing.md); the per-feature config remains greppable in the source repo's git history. + +## Documentation map + +- **[`docs/guides/runbook.md`](./docs/guides/runbook.md)** — start here +- **[`CLAUDE.md`](./CLAUDE.md)** — full conventions reference +- **[`AGENTS.md`](./AGENTS.md)** — package map + boundary rules +- **[`docs/guides/conformance-quickref.md`](./docs/guides/conformance-quickref.md)** — manifest + 5-gate daily reference +- **[`docs/architecture/agent-first-workflow-and-conformance.md`](./docs/architecture/agent-first-workflow-and-conformance.md)** — full design +- **[`docs/architecture/feature-conformance-explainer.html`](./docs/architecture/feature-conformance-explainer.html)** — interactive explainer + +## Scaffolding + +```bash +pnpm turbo gen feature # Scaffold a feature (manifest + contracts + tests) +pnpm turbo gen event # Event contract or handler (requires gen core-package events) +pnpm turbo gen job # Background job +pnpm turbo gen realtime # Realtime channel (requires gen core-package realtime) +pnpm turbo gen core-package # Optional core: events / realtime / trpc / ui / audit +pnpm turbo gen core-ui-component # Atomic-design component +``` + +**Generator-first is non-negotiable** — hand-rolled feature/event/job/realtime/component code is rejected by reviewer agents and may fail the CI scaffold-drift check. + +## Optional packages + +Five core packages scaffold on demand: + +```bash +pnpm turbo gen core-package realtime # Socket.IO realtime layer (ADR-016) +pnpm turbo gen core-package events # Cross-feature events + Payload jobs (ADR-015) +pnpm turbo gen core-package trpc # tRPC server setup +pnpm turbo gen core-package ui # Design system +pnpm turbo gen core-package audit # DPA-compliant audit logging (ADR-018) +``` + +See [`docs/architecture/template-tiers.md`](./docs/architecture/template-tiers.md) for the full tier list. diff --git a/TEMPLATE.md b/TEMPLATE.md new file mode 100644 index 0000000..bab5d57 --- /dev/null +++ b/TEMPLATE.md @@ -0,0 +1,90 @@ +# Template snapshot — provenance and usage + +This branch (`template/clean-slate`) is a curated, product-agnostic snapshot of +the Clean Architecture monorepo template — "template-vertical v2". It is a +single orphan commit with no shared history with `main`. + +## Provenance + +- **Source:** the Veect monorepo (local repo `Projects/Veect`), commit + `bb4a0c7219b62aefb77d3eede3d29ccedc970c97` on the platform-retrofit line + ("test(web-next): boot smoke asserts auth-only bindAll"). +- **Snapshot date:** 2026-07-12. +- **Why that commit:** it is the maximally generic moment of the retrofit — + demo content deleted, `auth` as the only (reference) feature, `web-next` a + clean authenticated shell, all gates green including live lint — before any + product-specific optional cores or agent-docs rewrites landed. + +## What was curated out (relative to the source commit) + +Product-specific material was removed; everything else is byte-identical to +the source tree: + +- `docs/product/` — the entire product spec bundle + reference prototypes. +- `docs/decisions/adr-027-*.md`, `adr-028-*.md`, `adr-029-*.md` — the three + product-domain ADRs (ADR-001–026, which are template-generic, remain). +- The "Veect product domain" section of `docs/glossary.md` (the rest of the + glossary is untouched). +- `docs/work/prds/platform-retrofit.prd.md`, `docs/work/prds/walking-skeleton.prd.md` + and their epics `docs/work/epics/{platform-retrofit,walking-skeleton}/`. +- `docs/work/archive/` — the source repo's archived template-era work items. + Choice: **deleted**, not kept — it was the source repo's history bookkeeping + (epic/story state for work already merged), which has no value to a project + starting fresh; the material remains in the source repo's git history. +- `docs/library-decisions/2026-07-12-zustand.md` and + `2026-07-12-@xyflow/react.md` — product-editor library traces for + dependencies that are not present in any `package.json` of this tree (they + referenced the deleted ADR-028/029). +- Product naming in the app shell (`apps/web-next/src/app/{layout,page}.tsx` + now say "Template"), the `docs/product/reference/` lint/format/coverage + excludes in `eslint.config.js`, `.prettierignore`, + `scripts/coverage/diff.mjs` (+ its test case), and the release-please + workflow comment. +- `docs/work/_system/_state.json` regenerated for the curated tree (0 epics). + +The only intentional occurrence of the source product's name on this branch +is this provenance note (grep target: Veect). + +## Baseline defects fixed relative to the original template + +This snapshot carries repairs the original `template-vertical` shipped broken: + +1. **Broken turbo lint graph** — a demo-feature dependency cycle made + `pnpm lint` unable to run across the workspace. The demo features are gone + and lint runs live across the whole graph. +2. **Missing `@vitest/coverage-v8`** — 9 packages declared coverage without + the provider devDep, so `--coverage` runs failed. Every package that runs + vitest with coverage now has the provider installed. +3. **Unparseable documented L0 invocation** — docs prescribed + `pnpm test -- --coverage`, which turbo cannot parse. The root + `test:coverage` script (`turbo run test -- --coverage`) is the supported + invocation and the docs reference it. + +Also retained: calibrated per-package coverage excludes, generator anchors + +generators, the `web-next` shell + boot smoke test, and the root-only +release-please config as the template default (hybrid per-feature versioning +is a documented alternative — see ADR-021, `docs/guides/releasing.md`, and +the pre-retrofit config in the source repo's git history). + +## How to start a project from this branch + +```bash +# 1. Create a fresh repo from the snapshot (no template history needed): +git clone my-app && cd my-app +git checkout template/clean-slate +git checkout --orphan main && git commit -m "chore: init from template/clean-slate" + +# 2. Bootstrap: +pnpm install # installs + wires husky pre-commit hooks +pnpm dev # boots in dev-seed mode (no Postgres needed) + +# 3. Verify the gates: +pnpm typecheck && pnpm lint && pnpm test && pnpm conformance + +# 4. Rename the root package (optional) and add your first feature: +pnpm turbo gen feature +``` + +Read `docs/guides/runbook.md` first; `CLAUDE.md` is the conventions +reference. The `auth` package is the reference feature — study it, don't +delete it until you have a second feature to learn from. diff --git a/apps/cms/AGENTS.md b/apps/cms/AGENTS.md new file mode 100644 index 0000000..0135839 --- /dev/null +++ b/apps/cms/AGENTS.md @@ -0,0 +1,89 @@ +# AGENTS.md — apps/cms + +**Thin shell** hosting the Payload CMS admin panel via Next.js. All CMS configuration (collections, globals, hooks, access control, `payload.config.ts`) lives in `@repo/core-cms`, which aggregates collections from feature packages. + +## Purpose + +This app exists solely to serve the Payload Admin UI. It contains no custom CMS code beyond Next.js routing boilerplate. All business knowledge lives in feature packages (`@repo/auth`, etc.), which export their collections/globals via subpath exports (`.../cms`). `@repo/core-cms` composes them into a single Payload config. + +## Port: 3001 + +```bash +docker compose up -d postgres # Start PostgreSQL on port 5432 +pnpm dev --filter @repo/cms # http://localhost:3001/admin +``` + +## Key Files + +| File | Purpose | +| -------------------------------------------------- | ------------------------------------------------------------------- | +| `next.config.mjs` | Minimal config wrapped with `withPayload()` from `@payloadcms/next` | +| `tsconfig.json` | TypeScript config with `@payload-config` path alias | +| `src/app/(payload)/layout.tsx` | Auto-generated Payload root layout (DO NOT MODIFY) | +| `src/app/(payload)/admin/[[...segments]]/page.tsx` | Auto-generated catch-all admin page (DO NOT MODIFY) | +| `src/app/(payload)/importMap.js` | Auto-generated Payload import map (DO NOT MODIFY) | + +## Hard Rules + +- **NEVER** add collections, globals, or hooks in this app — put them in feature packages +- **NEVER** create custom CMS logic here — use `@repo/core-cms` +- **NEVER** modify auto-generated files under `src/app/(payload)/` +- All Payload config changes go in `packages/core-cms/src/payload.config.ts` + +## @payload-config Alias + +The `tsconfig.json` points to `@repo/core-cms`: + +```json +{ + "compilerOptions": { + "paths": { + "@payload-config": ["../../packages/core-cms/src/payload.config.ts"] + } + } +} +``` + +When Payload imports `@payload-config`, it resolves to the composed config from `@repo/core-cms`, which in turn imports feature collections. + +## Composition flow + +``` +Feature (@repo/auth) + └─ src/integrations/cms/collections/users.ts + └─ exported as ./cms + +Core CMS (@repo/core-cms) + └─ src/payload.config.ts + imports all feature /cms exports + calls buildConfig({ collections, globals }) + +This app (@repo/cms) + └─ src/app/(payload)/layout.tsx + loads config from @payload-config + Payload CLI auto-generates admin routes +``` + +## Type Generation + +After adding/modifying collections in any feature's `/cms` folder: + +```bash +cd apps/cms && pnpm generate:types +# Regenerates packages/core-cms/src/generated-types.ts +``` + +## Dependencies + +| Dependency | Purpose | +| ------------------ | ------------------------------- | +| `@repo/core-cms` | Payload config + buildConfig | +| `@payloadcms/next` | Next.js integration for Payload | +| `payload` | Payload CMS core | +| `next` | Next.js 15 framework | +| `sharp` | Image processing | + +## Cross-References + +- **Feature collections:** each feature's `src/integrations/cms/` folder +- **CMS composition:** `packages/core-cms/AGENTS.md` diff --git a/apps/cms/eslint.config.js b/apps/cms/eslint.config.js new file mode 100644 index 0000000..e6b4a81 --- /dev/null +++ b/apps/cms/eslint.config.js @@ -0,0 +1,11 @@ +import baseConfig from "@repo/core-eslint/base"; + +export default [ + ...baseConfig, + { + files: ["next-env.d.ts"], + rules: { + "@typescript-eslint/triple-slash-reference": "off", + }, + }, +]; diff --git a/apps/cms/instrumentation.ts b/apps/cms/instrumentation.ts new file mode 100644 index 0000000..d20e6ab --- /dev/null +++ b/apps/cms/instrumentation.ts @@ -0,0 +1,22 @@ +// apps/cms/instrumentation.ts +// CMS is server-only (Payload admin UI). No instrumentation-client.ts here — +// Payload admin UI bundling is opinionated and the public DSN flow is +// out-of-scope per spec §8. +// +// Initializes the OTel SDK here so PII scrub processors are active from the +// very first request — before bindAll() fires (C1 fix). + +export async function register() { + if ( + process.env["NEXT_RUNTIME"] === "nodejs" || + process.env["NEXT_RUNTIME"] === "edge" + ) { + const { initOtelServerNode } = + await import("@repo/core-shared/instrumentation/otel/init-server-node"); + initOtelServerNode({ + dsn: process.env["CMS_SENTRY_DSN"] ?? "", + serviceName: "cms", + environment: process.env["NODE_ENV"] ?? "development", + }); + } +} diff --git a/apps/cms/middleware.ts b/apps/cms/middleware.ts new file mode 100644 index 0000000..72db1ee --- /dev/null +++ b/apps/cms/middleware.ts @@ -0,0 +1,18 @@ +import { buildSecurityHeaders } from "@repo/core-shared/security"; +import type { NextRequest } from "next/server"; +import { NextResponse } from "next/server"; + +export function middleware(_request: NextRequest): NextResponse { + const mode = process.env.NODE_ENV === "production" ? "prod" : "dev"; + const secHeaders = buildSecurityHeaders({ mode }); + + const response = NextResponse.next(); + for (const [name, value] of Object.entries(secHeaders)) { + response.headers.set(name, value); + } + return response; +} + +export const config = { + matcher: ["/((?!_next/static|_next/image|favicon.ico).*)"], +}; diff --git a/apps/cms/next-env.d.ts b/apps/cms/next-env.d.ts new file mode 100644 index 0000000..830fb59 --- /dev/null +++ b/apps/cms/next-env.d.ts @@ -0,0 +1,6 @@ +/// +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/apps/cms/next.config.mjs b/apps/cms/next.config.mjs new file mode 100644 index 0000000..6054f5d --- /dev/null +++ b/apps/cms/next.config.mjs @@ -0,0 +1,14 @@ +import { withPayload } from "@payloadcms/next/withPayload"; +import { withSentryConfig } from "@sentry/nextjs"; + +/** @type {import('next').NextConfig} */ +const nextConfig = {}; + +export default withSentryConfig(withPayload(nextConfig), { + silent: process.env.CI !== "true", + authToken: process.env.SENTRY_AUTH_TOKEN, + org: process.env.SENTRY_ORG, + project: process.env.SENTRY_PROJECT_CMS, + hideSourceMaps: true, + disableLogger: true, +}); diff --git a/apps/cms/package.json b/apps/cms/package.json new file mode 100644 index 0000000..0969552 --- /dev/null +++ b/apps/cms/package.json @@ -0,0 +1,38 @@ +{ + "name": "@repo/cms", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "build": "echo 'CMS build requires database — use docker compose or pnpm dev'", + "dev": "next dev --port 3001", + "lint": "eslint .", + "test": "vitest run --passWithNoTests", + "typecheck": "tsc --noEmit", + "generate:types": "payload generate:types" + }, + "dependencies": { + "@payloadcms/next": "^3.14.0", + "@payloadcms/richtext-lexical": "^3.14.0", + "@payloadcms/ui": "^3.14.0", + "@repo/core-cms": "workspace:*", + "@repo/core-shared": "workspace:*", + "@sentry/nextjs": "^10.51.0", + "next": "^15.3.0", + "payload": "^3.14.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "sass": "^1.99.0", + "sharp": "^0.33.0" + }, + "devDependencies": { + "@repo/core-eslint": "workspace:*", + "@repo/core-testing": "workspace:*", + "@repo/core-typescript": "workspace:*", + "@types/node": "^22.0.0", + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0", + "@vitest/coverage-v8": "^3.2.4", + "vitest": "^3.0.0" + } +} diff --git a/apps/cms/src/app/(payload)/admin/[[...segments]]/not-found.tsx b/apps/cms/src/app/(payload)/admin/[[...segments]]/not-found.tsx new file mode 100644 index 0000000..4d20285 --- /dev/null +++ b/apps/cms/src/app/(payload)/admin/[[...segments]]/not-found.tsx @@ -0,0 +1,23 @@ +/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */ +/* DO NOT MODIFY IT BECAUSE IT COULD BE REWRITTEN AT ANY TIME. */ +import type { Metadata } from "next"; + +import config from "@payload-config"; +import { NotFoundPage, generatePageMetadata } from "@payloadcms/next/views"; +import { importMap } from "../importMap"; + +type Args = { + params: Promise<{ segments: string[] }>; + searchParams: Promise>; +}; + +export const generateMetadata = ({ + params, + searchParams, +}: Args): Promise => + generatePageMetadata({ config, params, searchParams }); + +const NotFound = ({ params, searchParams }: Args) => + NotFoundPage({ config, importMap, params, searchParams }); + +export default NotFound; diff --git a/apps/cms/src/app/(payload)/admin/[[...segments]]/page.tsx b/apps/cms/src/app/(payload)/admin/[[...segments]]/page.tsx new file mode 100644 index 0000000..351caf5 --- /dev/null +++ b/apps/cms/src/app/(payload)/admin/[[...segments]]/page.tsx @@ -0,0 +1,23 @@ +/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */ +/* DO NOT MODIFY IT BECAUSE IT COULD BE REWRITTEN AT ANY TIME. */ +import type { Metadata } from "next"; + +import config from "@payload-config"; +import { RootPage, generatePageMetadata } from "@payloadcms/next/views"; +import { importMap } from "../importMap"; + +type Args = { + params: Promise<{ segments: string[] }>; + searchParams: Promise>; +}; + +export const generateMetadata = ({ + params, + searchParams, +}: Args): Promise => + generatePageMetadata({ config, params, searchParams }); + +const Page = ({ params, searchParams }: Args) => + RootPage({ config, importMap, params, searchParams }); + +export default Page; diff --git a/apps/cms/src/app/(payload)/admin/importMap.js b/apps/cms/src/app/(payload)/admin/importMap.js new file mode 100644 index 0000000..6eedaaf --- /dev/null +++ b/apps/cms/src/app/(payload)/admin/importMap.js @@ -0,0 +1,76 @@ +import { RscEntryLexicalCell as RscEntryLexicalCell_44fe37237e0ebf4470c9990d8cb7b07e } from "@payloadcms/richtext-lexical/rsc"; +import { RscEntryLexicalField as RscEntryLexicalField_44fe37237e0ebf4470c9990d8cb7b07e } from "@payloadcms/richtext-lexical/rsc"; +import { LexicalDiffComponent as LexicalDiffComponent_44fe37237e0ebf4470c9990d8cb7b07e } from "@payloadcms/richtext-lexical/rsc"; +import { InlineToolbarFeatureClient as InlineToolbarFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from "@payloadcms/richtext-lexical/client"; +import { HorizontalRuleFeatureClient as HorizontalRuleFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from "@payloadcms/richtext-lexical/client"; +import { UploadFeatureClient as UploadFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from "@payloadcms/richtext-lexical/client"; +import { BlockquoteFeatureClient as BlockquoteFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from "@payloadcms/richtext-lexical/client"; +import { RelationshipFeatureClient as RelationshipFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from "@payloadcms/richtext-lexical/client"; +import { LinkFeatureClient as LinkFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from "@payloadcms/richtext-lexical/client"; +import { ChecklistFeatureClient as ChecklistFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from "@payloadcms/richtext-lexical/client"; +import { OrderedListFeatureClient as OrderedListFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from "@payloadcms/richtext-lexical/client"; +import { UnorderedListFeatureClient as UnorderedListFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from "@payloadcms/richtext-lexical/client"; +import { IndentFeatureClient as IndentFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from "@payloadcms/richtext-lexical/client"; +import { AlignFeatureClient as AlignFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from "@payloadcms/richtext-lexical/client"; +import { HeadingFeatureClient as HeadingFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from "@payloadcms/richtext-lexical/client"; +import { ParagraphFeatureClient as ParagraphFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from "@payloadcms/richtext-lexical/client"; +import { InlineCodeFeatureClient as InlineCodeFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from "@payloadcms/richtext-lexical/client"; +import { SuperscriptFeatureClient as SuperscriptFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from "@payloadcms/richtext-lexical/client"; +import { SubscriptFeatureClient as SubscriptFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from "@payloadcms/richtext-lexical/client"; +import { StrikethroughFeatureClient as StrikethroughFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from "@payloadcms/richtext-lexical/client"; +import { UnderlineFeatureClient as UnderlineFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from "@payloadcms/richtext-lexical/client"; +import { BoldFeatureClient as BoldFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from "@payloadcms/richtext-lexical/client"; +import { ItalicFeatureClient as ItalicFeatureClient_e70f5e05f09f93e00b997edb1ef0c864 } from "@payloadcms/richtext-lexical/client"; +import { CollectionCards as CollectionCards_f9c02e79a4aed9a3924487c0cd4cafb1 } from "@payloadcms/next/rsc"; + +/** @type {Record} */ +export const importMap = { + "@payloadcms/richtext-lexical/rsc#RscEntryLexicalCell": + RscEntryLexicalCell_44fe37237e0ebf4470c9990d8cb7b07e, + "@payloadcms/richtext-lexical/rsc#RscEntryLexicalField": + RscEntryLexicalField_44fe37237e0ebf4470c9990d8cb7b07e, + "@payloadcms/richtext-lexical/rsc#LexicalDiffComponent": + LexicalDiffComponent_44fe37237e0ebf4470c9990d8cb7b07e, + "@payloadcms/richtext-lexical/client#InlineToolbarFeatureClient": + InlineToolbarFeatureClient_e70f5e05f09f93e00b997edb1ef0c864, + "@payloadcms/richtext-lexical/client#HorizontalRuleFeatureClient": + HorizontalRuleFeatureClient_e70f5e05f09f93e00b997edb1ef0c864, + "@payloadcms/richtext-lexical/client#UploadFeatureClient": + UploadFeatureClient_e70f5e05f09f93e00b997edb1ef0c864, + "@payloadcms/richtext-lexical/client#BlockquoteFeatureClient": + BlockquoteFeatureClient_e70f5e05f09f93e00b997edb1ef0c864, + "@payloadcms/richtext-lexical/client#RelationshipFeatureClient": + RelationshipFeatureClient_e70f5e05f09f93e00b997edb1ef0c864, + "@payloadcms/richtext-lexical/client#LinkFeatureClient": + LinkFeatureClient_e70f5e05f09f93e00b997edb1ef0c864, + "@payloadcms/richtext-lexical/client#ChecklistFeatureClient": + ChecklistFeatureClient_e70f5e05f09f93e00b997edb1ef0c864, + "@payloadcms/richtext-lexical/client#OrderedListFeatureClient": + OrderedListFeatureClient_e70f5e05f09f93e00b997edb1ef0c864, + "@payloadcms/richtext-lexical/client#UnorderedListFeatureClient": + UnorderedListFeatureClient_e70f5e05f09f93e00b997edb1ef0c864, + "@payloadcms/richtext-lexical/client#IndentFeatureClient": + IndentFeatureClient_e70f5e05f09f93e00b997edb1ef0c864, + "@payloadcms/richtext-lexical/client#AlignFeatureClient": + AlignFeatureClient_e70f5e05f09f93e00b997edb1ef0c864, + "@payloadcms/richtext-lexical/client#HeadingFeatureClient": + HeadingFeatureClient_e70f5e05f09f93e00b997edb1ef0c864, + "@payloadcms/richtext-lexical/client#ParagraphFeatureClient": + ParagraphFeatureClient_e70f5e05f09f93e00b997edb1ef0c864, + "@payloadcms/richtext-lexical/client#InlineCodeFeatureClient": + InlineCodeFeatureClient_e70f5e05f09f93e00b997edb1ef0c864, + "@payloadcms/richtext-lexical/client#SuperscriptFeatureClient": + SuperscriptFeatureClient_e70f5e05f09f93e00b997edb1ef0c864, + "@payloadcms/richtext-lexical/client#SubscriptFeatureClient": + SubscriptFeatureClient_e70f5e05f09f93e00b997edb1ef0c864, + "@payloadcms/richtext-lexical/client#StrikethroughFeatureClient": + StrikethroughFeatureClient_e70f5e05f09f93e00b997edb1ef0c864, + "@payloadcms/richtext-lexical/client#UnderlineFeatureClient": + UnderlineFeatureClient_e70f5e05f09f93e00b997edb1ef0c864, + "@payloadcms/richtext-lexical/client#BoldFeatureClient": + BoldFeatureClient_e70f5e05f09f93e00b997edb1ef0c864, + "@payloadcms/richtext-lexical/client#ItalicFeatureClient": + ItalicFeatureClient_e70f5e05f09f93e00b997edb1ef0c864, + "@payloadcms/next/rsc#CollectionCards": + CollectionCards_f9c02e79a4aed9a3924487c0cd4cafb1, +}; diff --git a/apps/cms/src/app/(payload)/api/[...slug]/route.ts b/apps/cms/src/app/(payload)/api/[...slug]/route.ts new file mode 100644 index 0000000..dc8ba37 --- /dev/null +++ b/apps/cms/src/app/(payload)/api/[...slug]/route.ts @@ -0,0 +1,19 @@ +/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */ +/* DO NOT MODIFY IT BECAUSE IT COULD BE REWRITTEN AT ANY TIME. */ +import config from "@payload-config"; +import "@payloadcms/next/css"; +import { + REST_DELETE, + REST_GET, + REST_OPTIONS, + REST_PATCH, + REST_POST, + REST_PUT, +} from "@payloadcms/next/routes"; + +export const GET = REST_GET(config); +export const POST = REST_POST(config); +export const DELETE = REST_DELETE(config); +export const PATCH = REST_PATCH(config); +export const PUT = REST_PUT(config); +export const OPTIONS = REST_OPTIONS(config); diff --git a/apps/cms/src/app/(payload)/api/graphql/route.ts b/apps/cms/src/app/(payload)/api/graphql/route.ts new file mode 100644 index 0000000..d138a67 --- /dev/null +++ b/apps/cms/src/app/(payload)/api/graphql/route.ts @@ -0,0 +1,6 @@ +/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */ +/* DO NOT MODIFY IT BECAUSE IT COULD BE REWRITTEN AT ANY TIME. */ +import config from "@payload-config"; +import { GRAPHQL_POST } from "@payloadcms/next/routes"; + +export const POST = GRAPHQL_POST(config); diff --git a/apps/cms/src/app/(payload)/custom.scss b/apps/cms/src/app/(payload)/custom.scss new file mode 100644 index 0000000..a34c53e --- /dev/null +++ b/apps/cms/src/app/(payload)/custom.scss @@ -0,0 +1 @@ +// Custom admin panel styles diff --git a/apps/cms/src/app/(payload)/layout.tsx b/apps/cms/src/app/(payload)/layout.tsx new file mode 100644 index 0000000..c78ffef --- /dev/null +++ b/apps/cms/src/app/(payload)/layout.tsx @@ -0,0 +1,35 @@ +/* THIS FILE WAS GENERATED AUTOMATICALLY BY PAYLOAD. */ +/* DO NOT MODIFY IT BECAUSE IT COULD BE REWRITTEN AT ANY TIME. */ +import config from "@payload-config"; +import "@payloadcms/next/css"; +import type { ServerFunctionClient } from "payload"; +import { handleServerFunctions, RootLayout } from "@payloadcms/next/layouts"; +import React from "react"; + +import { importMap } from "./admin/importMap.js"; +import "./custom.scss"; + +type Args = { + children: React.ReactNode; +}; + +const serverFunction: ServerFunctionClient = async function (args) { + "use server"; + return handleServerFunctions({ + ...args, + config, + importMap, + }); +}; + +const Layout = ({ children }: Args) => ( + + {children} + +); + +export default Layout; diff --git a/apps/cms/src/middleware.test.ts b/apps/cms/src/middleware.test.ts new file mode 100644 index 0000000..0ba9468 --- /dev/null +++ b/apps/cms/src/middleware.test.ts @@ -0,0 +1,81 @@ +import { describe, it, expect, vi, beforeEach } from "vitest"; + +const responseMock = vi.hoisted(() => { + function makeResponseMock() { + const store = new Map(); + return { + _store: store, + headers: { + set: vi.fn((k: string, v: string) => store.set(k, v)), + get: vi.fn((k: string) => store.get(k) ?? null), + }, + }; + } + return { makeResponseMock }; +}); + +vi.mock("next/server", () => ({ + NextResponse: { + next: vi.fn(), + }, +})); + +import type { NextRequest } from "next/server"; +import { NextResponse } from "next/server"; +import { middleware } from "../middleware"; + +const ALL_SIX_HEADERS = [ + "Strict-Transport-Security", + "X-Frame-Options", + "X-Content-Type-Options", + "Referrer-Policy", + "Permissions-Policy", + "Content-Security-Policy", +] as const; + +function makeRequest(): NextRequest { + return { headers: new Headers() } as unknown as NextRequest; +} + +describe("cms middleware", () => { + let mock: ReturnType; + + beforeEach(() => { + mock = responseMock.makeResponseMock(); + vi.mocked(NextResponse.next).mockReturnValue( + mock as unknown as ReturnType, + ); + }); + + it("sets all six security headers on the response", () => { + middleware(makeRequest()); + + for (const header of ALL_SIX_HEADERS) { + expect(mock._store.has(header)).toBe(true); + } + }); + + it("does not set a nonce header", () => { + middleware(makeRequest()); + + expect(mock._store.has("x-nonce")).toBe(false); + }); + + it("CSP is permissive in development mode", () => { + vi.stubEnv("NODE_ENV", "development"); + + middleware(makeRequest()); + + const csp = mock._store.get("Content-Security-Policy"); + expect(csp).toContain("'unsafe-inline'"); + }); + + it("CSP uses strict-dynamic in production mode", () => { + vi.stubEnv("NODE_ENV", "production"); + + middleware(makeRequest()); + + const csp = mock._store.get("Content-Security-Policy"); + expect(csp).toContain("'strict-dynamic'"); + }); +}); diff --git a/apps/cms/src/payload.config.test.ts b/apps/cms/src/payload.config.test.ts new file mode 100644 index 0000000..3897972 --- /dev/null +++ b/apps/cms/src/payload.config.test.ts @@ -0,0 +1,16 @@ +import { describe, it, expect } from "vitest"; +import config from "./payload.config"; + +describe("CMS app payload.config", () => { + it("registers all feature collections", async () => { + const resolved = await config; + const slugs = resolved.collections?.map((c) => c.slug) ?? []; + expect(slugs).toEqual(expect.arrayContaining(["users"])); + }); + + it("registers no feature globals (none remain)", async () => { + const resolved = await config; + const slugs = resolved.globals?.map((g) => g.slug) ?? []; + expect(slugs).toEqual([]); + }); +}); diff --git a/apps/cms/src/payload.config.ts b/apps/cms/src/payload.config.ts new file mode 100644 index 0000000..08643eb --- /dev/null +++ b/apps/cms/src/payload.config.ts @@ -0,0 +1,3 @@ +// Re-export Payload config from @repo/core-cms. +// This file exists so @payload-config resolves correctly in the CMS app. +export { default } from "@repo/core-cms"; diff --git a/apps/cms/tsconfig.json b/apps/cms/tsconfig.json new file mode 100644 index 0000000..5c37671 --- /dev/null +++ b/apps/cms/tsconfig.json @@ -0,0 +1,18 @@ +{ + "extends": "@repo/core-typescript/nextjs.json", + "compilerOptions": { + "paths": { + "@/*": ["./src/*"], + "@payload-config": ["./src/payload.config.ts"] + }, + "allowJs": true, + "types": ["vitest/globals"] + }, + "include": [ + "next-env.d.ts", + "src/**/*.ts", + "src/**/*.tsx", + ".next/types/**/*.ts" + ], + "exclude": ["node_modules"] +} diff --git a/apps/cms/tsconfig.tsbuildinfo b/apps/cms/tsconfig.tsbuildinfo new file mode 100644 index 0000000..22b39d1 --- /dev/null +++ b/apps/cms/tsconfig.tsbuildinfo @@ -0,0 +1 @@ +{"fileNames":["../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/.pnpm/@types+react@19.2.14/node_modules/@types/react/global.d.ts","../../node_modules/.pnpm/csstype@3.2.3/node_modules/csstype/index.d.ts","../../node_modules/.pnpm/@types+react@19.2.14/node_modules/@types/react/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/styled-jsx/types/css.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/styled-jsx/types/macro.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/styled-jsx/types/style.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/styled-jsx/types/global.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/styled-jsx/types/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/amp.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/amp.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/get-page-files.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/compatibility/disposable.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/compatibility/indexable.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/compatibility/index.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/globals.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/web-globals/domexception.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/web-globals/events.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/web-globals/fetch.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/web-globals/navigator.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/web-globals/storage.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/assert.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/assert/strict.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/async_hooks.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/buffer.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/child_process.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/cluster.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/console.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/constants.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/crypto.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/dgram.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/dns.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/dns/promises.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/domain.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/events.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/fs.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/fs/promises.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/http.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/http2.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/https.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/inspector.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/inspector.generated.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/module.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/net.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/os.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/path.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/perf_hooks.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/process.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/punycode.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/querystring.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/readline.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/readline/promises.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/repl.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/sea.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/sqlite.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/stream.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/stream/promises.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/stream/consumers.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/stream/web.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/string_decoder.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/test.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/timers.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/timers/promises.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/tls.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/trace_events.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/tty.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/url.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/util.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/v8.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/vm.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/wasi.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/worker_threads.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/zlib.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/index.d.ts","../../node_modules/.pnpm/@types+react@19.2.14/node_modules/@types/react/canary.d.ts","../../node_modules/.pnpm/@types+react@19.2.14/node_modules/@types/react/experimental.d.ts","../../node_modules/.pnpm/@types+react-dom@19.2.3_@types+react@19.2.14/node_modules/@types/react-dom/index.d.ts","../../node_modules/.pnpm/@types+react-dom@19.2.3_@types+react@19.2.14/node_modules/@types/react-dom/canary.d.ts","../../node_modules/.pnpm/@types+react-dom@19.2.3_@types+react@19.2.14/node_modules/@types/react-dom/experimental.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/fallback.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/compiled/webpack/webpack.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/config.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/load-custom-routes.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/image-config.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/body-streams.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/cache-control.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/setup-exception-listeners.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/worker.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/constants.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/app-router-headers.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/rendering-mode.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/require-hook.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/experimental/ppr.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/webpack/plugins/app-build-manifest-plugin.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/page-types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/segment-config/app/app-segment-config.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/segment-config/pages/pages-segment-config.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/analysis/get-page-static-info.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/webpack/loaders/get-module-build-info.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/webpack/plugins/middleware-plugin.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/node-polyfill-crypto.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/node-environment-baseline.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/node-environment-extensions/error-inspect.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/node-environment-extensions/random.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/node-environment-extensions/date.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/node-environment-extensions/web-crypto.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/node-environment-extensions/node-crypto.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/node-environment.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/page-extensions-type.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/instrumentation/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/coalesced-function.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/router-utils/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/modern-browserslist-target.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/constants.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/trace/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/trace/trace.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/trace/shared.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/trace/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/load-jsconfig.d.ts","../../node_modules/.pnpm/@next+env@15.5.14/node_modules/@next/env/dist/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/use-cache-tracker-utils.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/telemetry-plugin.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/telemetry/storage.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/build-context.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/bloom-filter.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/webpack-config.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-kind.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-definitions/route-definition.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/swc/generated-native.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/swc/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/dev/parse-version-info.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/next-devtools/shared/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/dev/dev-indicator-server-state.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/parse-stack.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/next-devtools/server/shared.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/next-devtools/shared/stack-frame.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/next-devtools/dev-overlay/utils/get-error-by-type.d.ts","../../node_modules/.pnpm/@types+react@19.2.14/node_modules/@types/react/jsx-runtime.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/next-devtools/dev-overlay/container/runtime-error/render-error.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/next-devtools/dev-overlay/shared.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/dev/hot-reloader-types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/cache-handlers/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/response-cache/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/resume-data-cache/cache-store.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/resume-data-cache/resume-data-cache.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/render-result.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/i18n-provider.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/web/next-url.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/compiled/@edge-runtime/cookies/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/web/spec-extension/cookies.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/web/spec-extension/request.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/after/builtin-request-context.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/web/spec-extension/fetch-event.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/web/spec-extension/response.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/segment-config/middleware/middleware-config.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/web/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/router/utils/parse-url.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/base-http/node.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-definitions/locale-route-definition.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-definitions/pages-route-definition.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/mitt.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/with-router.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/router.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/route-loader.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/page-loader.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/router/router.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/router-context.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/loadable-context.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/loadable.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-definitions/app-page-route-definition.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/webpack/loaders/metadata/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/webpack/loaders/next-app-loader/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/app-dir-module.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/async-storage/draft-mode-provider.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/web/spec-extension/adapters/headers.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/app-render/cache-signal.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/app-render/dynamic-rendering.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/request/fallback-params.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/response-cache/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/lazy-result.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/implicit-tags.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/app-render/work-unit-async-storage.external.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/deep-readonly.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/app-render/app-render.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/amp-context.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-modules/app-page/module.compiled.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/error-boundary.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/layout-router.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/render-from-template-context.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/app-render/action-async-storage-instance.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/app-render/action-async-storage.external.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/client-page.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/client-segment.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/request/search-params.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/hooks-server-context.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/http-access-fallback/error-boundary.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/metadata/types/extra-types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/metadata/types/metadata-types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/metadata/types/manifest-types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/metadata/types/twitter-types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/metadata/types/resolvers.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/metadata/types/icons.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/metadata/resolve-metadata.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/metadata/metadata.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/framework/boundary-components.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/app-render/rsc/preloads.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/app-render/rsc/postpone.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/app-render/rsc/taint.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/app-render/collect-segment-data.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/app-render/entry-base.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/templates/app-page.d.ts","../../node_modules/.pnpm/@types+react@19.2.14/node_modules/@types/react/jsx-dev-runtime.d.ts","../../node_modules/.pnpm/@types+react@19.2.14/node_modules/@types/react/compiler-runtime.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.d.ts","../../node_modules/.pnpm/@types+react-dom@19.2.3_@types+react@19.2.14/node_modules/@types/react-dom/client.d.ts","../../node_modules/.pnpm/@types+react-dom@19.2.3_@types+react@19.2.14/node_modules/@types/react-dom/static.d.ts","../../node_modules/.pnpm/@types+react-dom@19.2.3_@types+react@19.2.14/node_modules/@types/react-dom/server.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-modules/app-page/module.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/web/adapter.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/use-cache/cache-life.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/app-render/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/router-reducer/router-reducer-types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/flight-data-helpers.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/router-reducer/fetch-server-response.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-modules/pages/module.compiled.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/templates/pages.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-modules/pages/module.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/next-devtools/userspace/pages/pages-dev-overlay-setup.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/render.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-definitions/pages-api-route-definition.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-matches/pages-api-route-match.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-matchers/route-matcher.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/normalizers/normalizer.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/normalizers/locale-route-normalizer.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/normalizers/request/pathname-normalizer.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/normalizers/request/suffix.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/normalizers/request/rsc.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/normalizers/request/prefetch-rsc.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/normalizers/request/next-data.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/static-paths/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/base-server.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/async-callback-set.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/router/utils/route-regex.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/router/utils/route-matcher.d.ts","../../node_modules/.pnpm/sharp@0.34.5/node_modules/sharp/lib/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/image-optimizer.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/next-server.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/lru-cache.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/dev-bundler-service.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/dev/static-paths-worker.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/dev/next-dev-server.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/next.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/render-server.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/router-server.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/router/utils/path-match.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/router-utils/filesystem.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/router-utils/router-server-context.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-modules/route-module.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/load-components.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-definitions/app-route-route-definition.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/async-storage/work-store.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/web/http.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-modules/app-route/shared-modules.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/redirect-status-code.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/redirect-error.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/templates/app-route.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-modules/app-route/module.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-modules/app-route/module.compiled.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/segment-config/app/app-segments.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/utils.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/turborepo-access-trace/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/turborepo-access-trace/result.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/turborepo-access-trace/helpers.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/turborepo-access-trace/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/export/routes/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/export/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/export/worker.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/worker.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/incremental-cache/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/after/after.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/after/after-context.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/app-render/work-async-storage-instance.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/app-render/work-async-storage.external.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/request/params.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-matches/route-match.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/request-meta.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/cli/next-test.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/config-shared.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/base-http/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/api-utils/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/html-context.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/utils.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/pages/_app.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/app.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/web/spec-extension/unstable-cache.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/web/spec-extension/revalidate.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/web/spec-extension/unstable-no-store.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/use-cache/cache-tag.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/cache.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/runtime-config.external.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/config.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/pages/_document.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/document.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/dynamic.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dynamic.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/pages/_error.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/error.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/head.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/head.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/request/cookies.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/request/headers.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/request/draft-mode.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/headers.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/get-img-props.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/image-component.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/image-external.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/image.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/link.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/link.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/redirect.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/not-found.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/forbidden.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/unauthorized.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/unstable-rethrow.server.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/unstable-rethrow.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/navigation.react-server.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/unrecognized-action-error.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/navigation.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/navigation.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/router.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/script.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/script.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/web/spec-extension/user-agent.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/compiled/@edge-runtime/primitives/url.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/web/spec-extension/image-response.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/compiled/@vercel/og/satori/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/compiled/@vercel/og/emoji/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/compiled/@vercel/og/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/after/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/request/root-params.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/request/connection.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/server.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/types/global.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/types/compiled.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/image-types/global.d.ts","./next-env.d.ts","../../node_modules/.pnpm/@vitest+pretty-format@3.2.4/node_modules/@vitest/pretty-format/dist/index.d.ts","../../node_modules/.pnpm/@vitest+utils@3.2.4/node_modules/@vitest/utils/dist/types.d.ts","../../node_modules/.pnpm/@vitest+utils@3.2.4/node_modules/@vitest/utils/dist/helpers.d.ts","../../node_modules/.pnpm/tinyrainbow@2.0.0/node_modules/tinyrainbow/dist/index-8b61d5bc.d.ts","../../node_modules/.pnpm/tinyrainbow@2.0.0/node_modules/tinyrainbow/dist/node.d.ts","../../node_modules/.pnpm/@vitest+utils@3.2.4/node_modules/@vitest/utils/dist/index.d.ts","../../node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/tasks.d-cksck4of.d.ts","../../node_modules/.pnpm/@vitest+utils@3.2.4/node_modules/@vitest/utils/dist/types.d-bcelap-c.d.ts","../../node_modules/.pnpm/@vitest+utils@3.2.4/node_modules/@vitest/utils/dist/diff.d.ts","../../node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/types.d.ts","../../node_modules/.pnpm/@vitest+utils@3.2.4/node_modules/@vitest/utils/dist/error.d.ts","../../node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/index.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/propertysymbol.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/enums/browsererrorcaptureenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/enums/browsernavigationcrossoriginpolicyenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/ieventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/eventphaseenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/event.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/ieventlisteneroptions.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/teventlistenerfunction.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/teventlistenerobject.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/teventlistener.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/console/iconsole.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/async-task-manager/asynctaskmanager.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/node/nodetypeenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/node/nodedocumentpositionenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/node/nodelist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/mutation-observer/mutationtypeenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/mutation-observer/mutationrecord.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/mutation-observer/imutationobserverinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/mutation-observer/imutationlistener.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/node/icachedresult.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/node/icachedqueryselectorallresult.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/node/icachedqueryselectorresult.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/query-selector/iselectormatch.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/node/icachedmatchesresult.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/node/icachedelementsbytagnameresult.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/node/icachedelementbytagnameresult.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/declaration/property-manager/icssstyledeclarationpropertyvalue.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/declaration/property-manager/cssstyledeclarationpropertymanager.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/node/icachedcomputedstyleresult.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/node/icachedelementbyidresult.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/cssruletypeenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/utilities/cssparser.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/cssrule.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/rules/cssgroupingrule.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/rules/cssconditionrule.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/rules/cssmediarule.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/medialist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/cssstylesheet.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/declaration/cssstyledeclaration.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/domstringmap.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/attr/attr.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-element/htmlelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-style-element/htmlstyleelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/element/htmlcollection.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-input-element/htmlinputelementselectionmodeenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/file/blob.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/file/file.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-input-element/filelist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-meter-element/htmlmeterelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-output-element/htmloutputelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-progress-element/htmlprogresselement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-option-element/htmloptionelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-select-element/htmloptionscollection.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-select-element/htmlselectelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-text-area-element/htmltextareaelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-label-element/htmllabelelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-data-list-element/htmldatalistelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-input-element/htmlinputelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-object-element/htmlobjectelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/validity-state/validitystate.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-button-element/htmlbuttonelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-field-set-element/htmlfieldsetelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-form-element/thtmlformcontrolelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-form-element/radionodelist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-form-element/htmlformcontrolscollection.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-form-element/htmlformelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/child-node/ichildnode.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/child-node/inondocumenttypechildnode.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/character-data/characterdata.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/text/text.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-slot-element/htmlslotelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/idomrectinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/domrectreadonly.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/domrect.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/idompointinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/dompointreadonly.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/dompoint.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/dom-matrix/idommatrixcompatibleobject.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/dom-matrix/tdommatrixinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/dom-matrix/tdommatrix2darray.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/dom-matrix/tdommatrix3darray.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/dom-matrix/idommatrixjson.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/dom-matrix/dommatrixreadonly.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/dom-matrix/dommatrix.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgstringlist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgmatrix.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgtransformtypeenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgtransform.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgtransformlist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svganimatedtransformlist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-graphics-element/svggraphicselement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgrect.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgpoint.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svglengthtypeenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svglength.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgangletypeenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgangle.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgnumber.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svganimatedrect.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgpreserveaspectratiomeetorsliceenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgpreserveaspectratioalignenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgpreserveaspectratio.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svganimatedpreserveaspectratio.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svganimatedlength.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/domtokenlist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-hyperlink-element/ihtmlhyperlinkelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-anchor-element/htmlanchorelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-area-element/htmlareaelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-media-element/timeranges.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-media-element/remoteplayback.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-media-element/imediatrackcapabilities.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-media-element/imediatracksettings.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-media-element/mediastreamtrack.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/imediaquerylisteventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/mediastreamtrackevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-media-element/mediastream.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-media-element/texttrackcue.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-media-element/texttrackcuelist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-media-element/texttrackkindenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-media-element/texttrack.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-media-element/texttracklist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-media-element/htmlmediaelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-audio-element/htmlaudioelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-base-element/htmlbaseelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-body-element/htmlbodyelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-br-element/htmlbrelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-canvas-element/imagebitmap.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-canvas-element/offscreencanvas.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-canvas-element/htmlcanvaselement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-d-list-element/htmldlistelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-data-element/htmldataelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-details-element/htmldetailselement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-dialog-element/htmldialogelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-div-element/htmldivelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-embed-element/htmlembedelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-head-element/htmlheadelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-heading-element/htmlheadingelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-hr-element/htmlhrelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-html-element/htmlhtmlelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/location/location.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/window/crossoriginbrowserwindow.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-iframe-element/htmliframeelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-image-element/htmlimageelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-legend-element/htmllegendelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-li-element/htmllielement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-link-element/htmllinkelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-map-element/htmlmapelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-menu-element/htmlmenuelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-meta-element/htmlmetaelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-mod-element/htmlmodelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-o-list-element/htmlolistelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-opt-group-element/htmloptgroupelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-paragraph-element/htmlparagraphelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-param-element/htmlparamelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-picture-element/htmlpictureelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-pre-element/htmlpreelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-quote-element/htmlquoteelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/types/trequestreferrerpolicy.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-script-element/htmlscriptelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-source-element/htmlsourceelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-span-element/htmlspanelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-table-caption-element/htmltablecaptionelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-table-cell-element/htmltablecellelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-table-col-element/htmltablecolelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-table-row-element/htmltablerowelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-table-section-element/htmltablesectionelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-table-element/htmltableelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-animation-element/svganimationelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-animate-element/svganimateelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-animate-motion-element/svganimatemotionelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-animate-transform-element/svganimatetransformelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svganimatednumber.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-geometry-element/svggeometryelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-circle-element/svgcircleelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svganimatedenumeration.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-clip-path-element/svgclippathelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-defs-element/svgdefselement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-desc-element/svgdescelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-ellipse-element/svgellipseelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svganimatedstring.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-blend-element/svgfeblendelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgnumberlist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svganimatednumberlist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-color-matrix-element/svgfecolormatrixelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-component-transfer-element/svgfecomponenttransferelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-composite-element/svgfecompositeelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svganimatedboolean.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svganimatedinteger.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-convolve-matrix-element/svgfeconvolvematrixelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-diffuse-lighting-element/svgfediffuselightingelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-displacement-map-element/svgfedisplacementmapelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-distant-light-element/svgfedistantlightelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-drop-shadow-element/svgfedropshadowelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-flood-element/svgfefloodelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-component-transfer-function-element/svgcomponenttransferfunctionelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-func-a-element/svgfefuncaelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-func-b-element/svgfefuncbelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-func-g-element/svgfefuncgelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-func-r-element/svgfefuncrelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-gaussian-blur-element/svgfegaussianblurelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-image-element/svgfeimageelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-merge-element/svgfemergeelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-merge-node-element/svgfemergenodeelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-morphology-element/svgfemorphologyelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-offset-element/svgfeoffsetelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-point-light-element/svgfepointlightelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-specular-lighting-element/svgfespecularlightingelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-spot-light-element/svgfespotlightelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-tile-element/svgfetileelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-turbulence-element/svgfeturbulenceelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-filter-element/svgfilterelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-foreign-object-element/svgforeignobjectelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-g-element/svggelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-image-element/svgimageelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-line-element/svglineelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-gradient-element/svggradientelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-linear-gradient-element/svglineargradientelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svganimatedangle.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-marker-element/svgmarkerelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-mask-element/svgmaskelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-metadata-element/svgmetadataelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-m-path-element/svgmpathelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-path-element/svgpathelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-pattern-element/svgpatternelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgpointlist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-polygon-element/svgpolygonelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-polyline-element/svgpolylineelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-radial-gradient-element/svgradialgradientelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-rect-element/svgrectelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-script-element/svgscriptelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-set-element/svgsetelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-stop-element/svgstopelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-switch-element/svgswitchelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-symbol-element/svgsymbolelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-text-content-element/svgtextcontentelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svglengthlist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svganimatedlengthlist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-text-positioning-element/svgtextpositioningelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-text-element/svgtextelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-text-path-element/svgtextpathelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-title-element/svgtitleelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-t-span-element/svgtspanelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-use-element/svguseelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-view-element/svgviewelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/config/isvgelementtagnamemap.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/document-fragment/documentfragment.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/shadow-root/shadowroot.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-template-element/htmltemplateelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-time-element/htmltimeelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-title-element/htmltitleelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-track-element/htmltrackelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-u-list-element/htmlulistelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-video-element/htmlvideoelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/config/ihtmlelementtagnamemap.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-svg-element/svgsvgelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-element/svgelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-style-element/svgstyleelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/node/node.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/domrectlist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/element/namednodemap.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/parent-node/iparentnode.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/window/iscrolltooptions.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/element/element.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/tree-walker/tnodefilter.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/tree-walker/nodeiterator.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/tree-walker/treewalker.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/document-type/documenttype.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom-implementation/domimplementation.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/comment/comment.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/document/documentreadystateenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/range/rangehowenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/range/irangeboundarypoint.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/range/range.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/selection/selection.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/processing-instruction/processinginstruction.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/document/visibilitystateenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/headers.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/types/theadersinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/types/iresponseinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/form-data/formdata.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/types/tresponsebody.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/cache/response/cachedresponsestateenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/cache/response/icachedresponse.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/response.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/preload/preloadentry.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/document/document.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/types/ibrowserpageviewport.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/console/ivirtualconsoleloggroup.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/console/enums/virtualconsoleloglevelenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/console/enums/virtualconsolelogtypeenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/console/ivirtualconsolelogentry.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/console/ivirtualconsoleprinter.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/console/virtualconsoleprinter.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/url/url.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/cookie/enums/cookiesamesiteenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/cookie/icookie.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/cookie/ioptionalcookie.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/cookie/icookiecontainer.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/cache/response/icacheablerequest.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/cache/response/icacheableresponse.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/cache/response/iresponsecachefilesystem.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/cache/response/iresponsecache.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/utilities/browserexceptionobserver.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/types/ibrowser.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/cache/preflight/icachedpreflightresponse.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/cache/preflight/icacheablepreflightrequest.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/cache/preflight/icacheablepreflightresponse.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/cache/preflight/ipreflightresponsecache.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/module/types/iecmascriptmoduleimport.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/module/types/iecmascriptmodulecachedresult.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/types/ibrowsercontext.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/types/ireloadoptions.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/types/igotooptions.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/types/ioptionalbrowserpageviewport.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/types/ibrowserpage.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/history/historyscrollrestorationenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/history/ihistoryitem.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/history/historyitemlist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/types/ibrowserframe.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/clipboard/clipboarditem.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/clipboard/clipboard.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/cssunitvalue.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/css.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/rules/csscontainerrule.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/rules/cssfontfacerule.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/rules/csskeyframerule.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/rules/csskeyframesrule.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/style-property-map/csskeywordvalue.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/style-property-map/cssstylevalue.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/style-property-map/stylepropertymapreadonly.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/style-property-map/stylepropertymap.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/rules/cssstylerule.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/rules/csssupportsrule.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/custom-element/icustomelementdefinition.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/custom-element/customelementregistry.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom-parser/domparser.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/datatransferitem.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/datatransferitemlist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/datatransfer.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/messageport.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/itouchinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/touch.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/iuieventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/uievent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/ianimationeventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/animationevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/iclipboardeventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/clipboardevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/icustomeventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/customevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/ierroreventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/errorevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/ifocuseventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/focusevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/ihashchangeeventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/hashchangeevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/iinputeventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/inputevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/ikeyboardeventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/keyboardevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/imediaquerylistinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/mediaquerylistevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/imessageeventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/messageevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/imouseeventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/mouseevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/ipointereventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/pointerevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/iprogresseventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/progressevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/storage/storage.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/istorageeventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/storageevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/isubmiteventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/submitevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/itoucheventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/touchevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/iwheeleventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/wheelevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/exception/domexception.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/abortcontroller.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/types/trequestinfo.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/file/filereader.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/history/history.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/intersection-observer/intersectionobserverentry.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/intersection-observer/iintersectionobserverinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/intersection-observer/intersectionobserver.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/match-media/mediaquerylist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/mutation-observer/mutationobserver.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/navigator/plugin.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/navigator/mimetype.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/navigator/mimetypearray.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/navigator/pluginarray.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/permissions/permissionstatus.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/permissions/permissions.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/navigator/navigator.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/document/documentreadystatemanager.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-audio-element/audio.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-document/htmldocument.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-image-element/image.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-media-element/vttregion.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-media-element/vttcue.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-unknown-element/htmlunknownelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/xml-document/xmldocument.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/resize-observer/resizeobserver.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/screen/screen.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/screen/screendetailed.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/screen/screendetails.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/xml-http-request/xmlhttprequesteventtarget.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/xml-http-request/xmlhttprequestreadystateenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/xml-http-request/xmlhttprequestupload.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/xml-http-request/xmlhttpresponsetypeenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/types/trequestbody.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/xml-http-request/xmlhttprequest.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/xml-serializer/xmlserializer.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/window/inodejsglobal.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-canvas-element/canvascapturemediastreamtrack.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgunittypes.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/custom-element/customelementreactionstack.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/module/types/imodule.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/module/types/imoduleimportmaprule.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/module/types/imoduleimportmapscope.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/module/types/imoduleimportmap.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/rules/cssscoperule.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/ipopstateeventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/popstateevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/icloseeventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/closeevent.d.ts","../../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/ws/index.d.mts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/web-socket/websocket.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/window/browserwindow.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/eventtarget.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/abortsignal.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/types/trequestmode.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/types/trequestcredentials.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/types/trequestredirect.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/types/irequestinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/request.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/types/isyncresponse.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/types/ifetchinterceptor.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/types/ivirtualserver.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/types/ifetchrequestheaders.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/window/ioptionaltimerloopslimit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/module/types/iresolvenodemodules.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/types/ibrowsersettings.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/browserframe.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/browserpage.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/browsercontext.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/types/ioptionalbrowsersettings.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/browser.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/detached-browser/detachedbrowserframe.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/detached-browser/detachedbrowserpage.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/detached-browser/detachedbrowsercontext.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/detached-browser/detachedbrowser.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/console/virtualconsole.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/html-serializer/htmlserializer.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/tree-walker/nodefilter.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/window/detachedwindowapi.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/window/window.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/window/globalwindow.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/xml-parser/xmlparser.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/index.d.ts","../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.13_@types+node@22.19.17_happy-dom@20.8.9_jiti@2.7.0_jsdom@25.0._eilcqkakhi6sgyexltx2n5amsi/node_modules/vitest/optional-types.d.ts","../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.13_@types+node@22.19.17_happy-dom@20.8.9_jiti@2.7.0_jsdom@25.0._eilcqkakhi6sgyexltx2n5amsi/node_modules/vitest/dist/chunks/environment.d.cl3nlxbe.d.ts","../../node_modules/.pnpm/@types+estree@1.0.8/node_modules/@types/estree/index.d.ts","../../node_modules/.pnpm/rollup@4.60.1/node_modules/rollup/dist/rollup.d.ts","../../node_modules/.pnpm/rollup@4.60.1/node_modules/rollup/dist/parseast.d.ts","../../node_modules/.pnpm/vite@6.4.2_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99.0_terser@5.46.2_tsx@4.21.0_yaml@2.9.0/node_modules/vite/types/hmrpayload.d.ts","../../node_modules/.pnpm/vite@6.4.2_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99.0_terser@5.46.2_tsx@4.21.0_yaml@2.9.0/node_modules/vite/types/customevent.d.ts","../../node_modules/.pnpm/vite@6.4.2_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99.0_terser@5.46.2_tsx@4.21.0_yaml@2.9.0/node_modules/vite/types/hot.d.ts","../../node_modules/.pnpm/vite@6.4.2_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99.0_terser@5.46.2_tsx@4.21.0_yaml@2.9.0/node_modules/vite/dist/node/modulerunnertransport.d-dj_me5sf.d.ts","../../node_modules/.pnpm/vite@6.4.2_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99.0_terser@5.46.2_tsx@4.21.0_yaml@2.9.0/node_modules/vite/dist/node/module-runner.d.ts","../../node_modules/.pnpm/esbuild@0.25.12/node_modules/esbuild/lib/main.d.ts","../../node_modules/.pnpm/source-map-js@1.2.1/node_modules/source-map-js/source-map.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/previous-map.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/input.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/css-syntax-error.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/declaration.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/root.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/warning.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/lazy-result.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/no-work-result.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/processor.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/result.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/document.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/rule.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/node.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/comment.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/container.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/at-rule.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/list.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/postcss.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/postcss.d.mts","../../node_modules/.pnpm/lightningcss@1.32.0/node_modules/lightningcss/node/ast.d.ts","../../node_modules/.pnpm/lightningcss@1.32.0/node_modules/lightningcss/node/targets.d.ts","../../node_modules/.pnpm/lightningcss@1.32.0/node_modules/lightningcss/node/index.d.ts","../../node_modules/.pnpm/vite@6.4.2_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99.0_terser@5.46.2_tsx@4.21.0_yaml@2.9.0/node_modules/vite/types/internal/lightningcssoptions.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/deprecations.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/util/promise_or.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/importer.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/logger/source_location.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/logger/source_span.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/logger/index.d.ts","../../node_modules/.pnpm/immutable@5.1.5/node_modules/immutable/dist/immutable.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/value/boolean.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/value/calculation.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/value/color.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/value/function.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/value/list.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/value/map.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/value/mixin.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/value/number.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/value/string.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/value/argument_list.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/value/index.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/options.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/compile.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/exception.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/legacy/exception.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/legacy/plugin_this.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/legacy/function.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/legacy/importer.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/legacy/options.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/legacy/render.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/index.d.ts","../../node_modules/.pnpm/vite@6.4.2_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99.0_terser@5.46.2_tsx@4.21.0_yaml@2.9.0/node_modules/vite/types/internal/csspreprocessoroptions.d.ts","../../node_modules/.pnpm/vite@6.4.2_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99.0_terser@5.46.2_tsx@4.21.0_yaml@2.9.0/node_modules/vite/types/importglob.d.ts","../../node_modules/.pnpm/vite@6.4.2_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99.0_terser@5.46.2_tsx@4.21.0_yaml@2.9.0/node_modules/vite/types/metadata.d.ts","../../node_modules/.pnpm/vite@6.4.2_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99.0_terser@5.46.2_tsx@4.21.0_yaml@2.9.0/node_modules/vite/dist/node/index.d.ts","../../node_modules/.pnpm/@vitest+mocker@3.2.4_vite@6.4.2_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99_6luif36gt44smyegmt575nthfy/node_modules/@vitest/mocker/dist/registry.d-d765pazg.d.ts","../../node_modules/.pnpm/@vitest+mocker@3.2.4_vite@6.4.2_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99_6luif36gt44smyegmt575nthfy/node_modules/@vitest/mocker/dist/types.d-d_arzrdy.d.ts","../../node_modules/.pnpm/@vitest+mocker@3.2.4_vite@6.4.2_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99_6luif36gt44smyegmt575nthfy/node_modules/@vitest/mocker/dist/index.d.ts","../../node_modules/.pnpm/@vitest+utils@3.2.4/node_modules/@vitest/utils/dist/source-map.d.ts","../../node_modules/.pnpm/vite-node@3.2.4_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99.0_terser@5.46.2_tsx@4.21.0_yaml@2.9.0/node_modules/vite-node/dist/trace-mapping.d-dlvdeqop.d.ts","../../node_modules/.pnpm/vite-node@3.2.4_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99.0_terser@5.46.2_tsx@4.21.0_yaml@2.9.0/node_modules/vite-node/dist/index.d-dgmxd2u7.d.ts","../../node_modules/.pnpm/vite-node@3.2.4_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99.0_terser@5.46.2_tsx@4.21.0_yaml@2.9.0/node_modules/vite-node/dist/index.d.ts","../../node_modules/.pnpm/@vitest+snapshot@3.2.4/node_modules/@vitest/snapshot/dist/environment.d-dhdq1csl.d.ts","../../node_modules/.pnpm/@vitest+snapshot@3.2.4/node_modules/@vitest/snapshot/dist/rawsnapshot.d-lfsmjfud.d.ts","../../node_modules/.pnpm/@vitest+snapshot@3.2.4/node_modules/@vitest/snapshot/dist/index.d.ts","../../node_modules/.pnpm/@vitest+snapshot@3.2.4/node_modules/@vitest/snapshot/dist/environment.d.ts","../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.13_@types+node@22.19.17_happy-dom@20.8.9_jiti@2.7.0_jsdom@25.0._eilcqkakhi6sgyexltx2n5amsi/node_modules/vitest/dist/chunks/config.d.d2roskhv.d.ts","../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.13_@types+node@22.19.17_happy-dom@20.8.9_jiti@2.7.0_jsdom@25.0._eilcqkakhi6sgyexltx2n5amsi/node_modules/vitest/dist/chunks/worker.d.1gmbbd7g.d.ts","../../node_modules/.pnpm/@types+deep-eql@4.0.2/node_modules/@types/deep-eql/index.d.ts","../../node_modules/.pnpm/assertion-error@2.0.1/node_modules/assertion-error/index.d.ts","../../node_modules/.pnpm/@types+chai@5.2.3/node_modules/@types/chai/index.d.ts","../../node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/utils.d.ts","../../node_modules/.pnpm/tinybench@2.9.0/node_modules/tinybench/dist/index.d.ts","../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.13_@types+node@22.19.17_happy-dom@20.8.9_jiti@2.7.0_jsdom@25.0._eilcqkakhi6sgyexltx2n5amsi/node_modules/vitest/dist/chunks/benchmark.d.bwvbvtda.d.ts","../../node_modules/.pnpm/vite-node@3.2.4_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99.0_terser@5.46.2_tsx@4.21.0_yaml@2.9.0/node_modules/vite-node/dist/client.d.ts","../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.13_@types+node@22.19.17_happy-dom@20.8.9_jiti@2.7.0_jsdom@25.0._eilcqkakhi6sgyexltx2n5amsi/node_modules/vitest/dist/chunks/coverage.d.s9rmnxie.d.ts","../../node_modules/.pnpm/@vitest+snapshot@3.2.4/node_modules/@vitest/snapshot/dist/manager.d.ts","../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.13_@types+node@22.19.17_happy-dom@20.8.9_jiti@2.7.0_jsdom@25.0._eilcqkakhi6sgyexltx2n5amsi/node_modules/vitest/dist/chunks/reporters.d.bflkqcl6.d.ts","../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.13_@types+node@22.19.17_happy-dom@20.8.9_jiti@2.7.0_jsdom@25.0._eilcqkakhi6sgyexltx2n5amsi/node_modules/vitest/dist/chunks/worker.d.ckwwzbsj.d.ts","../../node_modules/.pnpm/@vitest+spy@3.2.4/node_modules/@vitest/spy/dist/index.d.ts","../../node_modules/.pnpm/@vitest+expect@3.2.4/node_modules/@vitest/expect/dist/index.d.ts","../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.13_@types+node@22.19.17_happy-dom@20.8.9_jiti@2.7.0_jsdom@25.0._eilcqkakhi6sgyexltx2n5amsi/node_modules/vitest/dist/chunks/global.d.mamajcmj.d.ts","../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.13_@types+node@22.19.17_happy-dom@20.8.9_jiti@2.7.0_jsdom@25.0._eilcqkakhi6sgyexltx2n5amsi/node_modules/vitest/dist/chunks/vite.d.cmlllifp.d.ts","../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.13_@types+node@22.19.17_happy-dom@20.8.9_jiti@2.7.0_jsdom@25.0._eilcqkakhi6sgyexltx2n5amsi/node_modules/vitest/dist/chunks/mocker.d.be_2ls6u.d.ts","../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.13_@types+node@22.19.17_happy-dom@20.8.9_jiti@2.7.0_jsdom@25.0._eilcqkakhi6sgyexltx2n5amsi/node_modules/vitest/dist/chunks/suite.d.fvehnv49.d.ts","../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/utils.d.ts","../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/overloads.d.ts","../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/branding.d.ts","../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/messages.d.ts","../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/index.d.ts","../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.13_@types+node@22.19.17_happy-dom@20.8.9_jiti@2.7.0_jsdom@25.0._eilcqkakhi6sgyexltx2n5amsi/node_modules/vitest/dist/index.d.ts","../../packages/core-shared/src/security/security-types.ts","../../packages/core-shared/src/security/nonce.ts","../../packages/core-shared/src/security/build-security-headers.ts","../../packages/core-shared/src/security/index.ts","./middleware.ts","./src/middleware.test.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/version.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/jsutils/maybe.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/language/source.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/jsutils/objmap.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/jsutils/path.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/jsutils/promiseorvalue.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/language/kinds.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/language/tokenkind.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/language/ast.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/language/location.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/error/graphqlerror.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/language/directivelocation.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/type/directives.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/type/schema.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/type/definition.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/execution/execute.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/graphql.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/type/scalars.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/type/introspection.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/type/validate.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/type/assertname.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/type/index.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/language/printlocation.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/language/lexer.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/language/parser.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/language/printer.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/language/visitor.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/language/predicates.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/language/index.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/execution/subscribe.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/execution/values.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/execution/index.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/subscription/index.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/typeinfo.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/validationcontext.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/validate.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/maxintrospectiondepthrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/specifiedrules.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/executabledefinitionsrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/fieldsoncorrecttyperule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/fragmentsoncompositetypesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/knownargumentnamesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/knowndirectivesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/knownfragmentnamesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/knowntypenamesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/loneanonymousoperationrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/nofragmentcyclesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/noundefinedvariablesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/nounusedfragmentsrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/nounusedvariablesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/overlappingfieldscanbemergedrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/possiblefragmentspreadsrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/providedrequiredargumentsrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/scalarleafsrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/singlefieldsubscriptionsrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/uniqueargumentnamesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/uniquedirectivesperlocationrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/uniquefragmentnamesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/uniqueinputfieldnamesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/uniqueoperationnamesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/uniquevariablenamesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/valuesofcorrecttyperule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/variablesareinputtypesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/variablesinallowedpositionrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/loneschemadefinitionrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/uniqueoperationtypesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/uniquetypenamesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/uniqueenumvaluenamesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/uniquefielddefinitionnamesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/uniqueargumentdefinitionnamesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/uniquedirectivenamesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/possibletypeextensionsrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/custom/nodeprecatedcustomrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/custom/noschemaintrospectioncustomrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/index.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/error/syntaxerror.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/error/locatederror.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/error/index.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/getintrospectionquery.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/getoperationast.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/getoperationroottype.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/introspectionfromschema.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/buildclientschema.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/buildastschema.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/extendschema.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/lexicographicsortschema.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/printschema.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/typefromast.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/valuefromast.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/valuefromastuntyped.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/astfromvalue.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/coerceinputvalue.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/concatast.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/separateoperations.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/stripignoredcharacters.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/typecomparators.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/assertvalidname.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/findbreakingchanges.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/typedquerydocumentnode.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/resolveschemacoordinate.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/index.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/index.d.ts","../../node_modules/.pnpm/graphql-http@1.22.4_graphql@16.13.2/node_modules/graphql-http/lib/common.d.mts","../../node_modules/.pnpm/graphql-http@1.22.4_graphql@16.13.2/node_modules/graphql-http/lib/handler.d.mts","../../node_modules/.pnpm/graphql-http@1.22.4_graphql@16.13.2/node_modules/graphql-http/lib/client.d.mts","../../node_modules/.pnpm/graphql-http@1.22.4_graphql@16.13.2/node_modules/graphql-http/lib/audits/common.d.mts","../../node_modules/.pnpm/graphql-http@1.22.4_graphql@16.13.2/node_modules/graphql-http/lib/audits/server.d.mts","../../node_modules/.pnpm/graphql-http@1.22.4_graphql@16.13.2/node_modules/graphql-http/lib/audits/render.d.mts","../../node_modules/.pnpm/graphql-http@1.22.4_graphql@16.13.2/node_modules/graphql-http/lib/audits/index.d.mts","../../node_modules/.pnpm/graphql-http@1.22.4_graphql@16.13.2/node_modules/graphql-http/lib/index.d.mts","../../node_modules/.pnpm/pino-std-serializers@7.1.0/node_modules/pino-std-serializers/index.d.ts","../../node_modules/.pnpm/sonic-boom@4.2.1/node_modules/sonic-boom/types/index.d.ts","../../node_modules/.pnpm/pino@9.14.0/node_modules/pino/pino.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/primitive/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/built-in/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/key-of-base/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/strict-exclude/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/strict-extract/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/any-array/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/any-record.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/strict-omit/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/writable/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/async-or-sync/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/async-or-sync-type/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/dictionary/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/dictionary-values/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/merge/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/merge-n/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/newable/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/non-never/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/omit-properties/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/opaque/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/prettify/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/path-value/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/is-any/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/is-never/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/create-type-options.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/any-function/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/value-of/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/paths/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/pick-properties/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/safe-dictionary/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/union-to-intersection/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/is-unknown/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/xor/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/mark-optional/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/is-equal-considering-writability.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/is-fully-writable.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/readonly-keys/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/mark-readonly/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/mark-required/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/writable-keys/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/mark-writable/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/is-tuple/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/deep-partial/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/deep-writable/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/buildable/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/deep-non-nullable/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/deep-nullable/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/non-undefinable.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/deep-modify.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/deep-omit/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/strict-deep-omit/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/deep-pick/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/strict-deep-pick/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/deep-readonly/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/deep-required/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/deep-undefinable/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/optional-keys/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/pick-keys/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/required-keys/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/exact/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/non-empty-object/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/array-or-single/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/element-of/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/head/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/non-empty-array/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/readonly-array-or-single/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/tail/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/tuple/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/camel-case/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/deep-camel-case-properties/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/predicate-function/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/predicate-type/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/functions/unreachable-case-error/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/functions/assert/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/functions/create-factory-with-constraint/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/functions/is-exact/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/functions/noop/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/awaited/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/index.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/constants.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/types.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/fp/types.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/types.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/add.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addbusinessdays.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/adddays.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addhours.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addisoweekyears.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addmilliseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addminutes.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addmonths.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addquarters.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addweeks.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addyears.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/areintervalsoverlapping.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/clamp.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/closestindexto.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/closestto.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/compareasc.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/comparedesc.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/constructfrom.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/constructnow.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/daystoweeks.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceinbusinessdays.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceincalendardays.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceincalendarisoweekyears.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceincalendarisoweeks.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceincalendarmonths.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceincalendarquarters.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceincalendarweeks.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceincalendaryears.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceindays.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceinhours.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceinisoweekyears.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceinmilliseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceinminutes.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceinmonths.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceinquarters.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceinseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceinweeks.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceinyears.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/eachdayofinterval.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/eachhourofinterval.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/eachminuteofinterval.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/eachmonthofinterval.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/eachquarterofinterval.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/eachweekofinterval.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/eachweekendofinterval.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/eachweekendofmonth.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/eachweekendofyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/eachyearofinterval.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endofday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endofdecade.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endofhour.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endofisoweek.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endofisoweekyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endofminute.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endofmonth.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endofquarter.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endofsecond.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endoftoday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endoftomorrow.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endofweek.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endofyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endofyesterday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/format/formatters.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/format/longformatters.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/format.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/formatdistance.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/formatdistancestrict.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/formatdistancetonow.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/formatdistancetonowstrict.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/formatduration.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/formatiso.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/formatiso9075.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/formatisoduration.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/formatrfc3339.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/formatrfc7231.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/formatrelative.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/fromunixtime.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getdate.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getdayofyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getdaysinmonth.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getdaysinyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getdecade.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/defaultoptions.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getdefaultoptions.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/gethours.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getisoday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getisoweek.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getisoweekyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getisoweeksinyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getmilliseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getminutes.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getmonth.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getoverlappingdaysinintervals.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getquarter.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/gettime.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getunixtime.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getweek.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getweekofmonth.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getweekyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getweeksinmonth.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/hourstomilliseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/hourstominutes.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/hourstoseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/interval.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/intervaltoduration.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/intlformat.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/intlformatdistance.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isafter.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isbefore.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isdate.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isequal.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isexists.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isfirstdayofmonth.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isfriday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isfuture.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/islastdayofmonth.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isleapyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/ismatch.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/ismonday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/ispast.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/issameday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/issamehour.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/issameisoweek.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/issameisoweekyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/issameminute.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/issamemonth.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/issamequarter.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/issamesecond.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/issameweek.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/issameyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/issaturday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/issunday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isthishour.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isthisisoweek.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isthisminute.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isthismonth.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isthisquarter.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isthissecond.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isthisweek.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isthisyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isthursday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/istoday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/istomorrow.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/istuesday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isvalid.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/iswednesday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isweekend.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/iswithininterval.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isyesterday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/lastdayofdecade.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/lastdayofisoweek.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/lastdayofisoweekyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/lastdayofmonth.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/lastdayofquarter.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/lastdayofweek.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/lastdayofyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/format/lightformatters.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/lightformat.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/max.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/milliseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/millisecondstohours.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/millisecondstominutes.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/millisecondstoseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/min.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/minutestohours.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/minutestomilliseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/minutestoseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/monthstoquarters.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/monthstoyears.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/nextday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/nextfriday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/nextmonday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/nextsaturday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/nextsunday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/nextthursday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/nexttuesday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/nextwednesday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/types.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/setter.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parser.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parseiso.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parsejson.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/previousday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/previousfriday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/previousmonday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/previoussaturday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/previoussunday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/previousthursday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/previoustuesday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/previouswednesday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/quarterstomonths.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/quarterstoyears.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/roundtonearesthours.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/roundtonearestminutes.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/secondstohours.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/secondstomilliseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/secondstominutes.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/set.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setdate.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setdayofyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setdefaultoptions.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/sethours.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setisoday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setisoweek.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setisoweekyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setmilliseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setminutes.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setmonth.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setquarter.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setweek.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setweekyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startofday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startofdecade.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startofhour.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startofisoweek.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startofisoweekyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startofminute.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startofmonth.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startofquarter.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startofsecond.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startoftoday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startoftomorrow.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startofweek.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startofweekyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startofyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startofyesterday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/sub.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/subbusinessdays.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/subdays.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/subhours.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/subisoweekyears.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/submilliseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/subminutes.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/submonths.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/subquarters.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/subseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/subweeks.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/subyears.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/todate.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/transpose.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/weekstodays.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/yearstodays.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/yearstomonths.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/yearstoquarters.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/index.d.ts","../../node_modules/.pnpm/@payloadcms+translations@3.81.0/node_modules/@payloadcms/translations/dist/importdatefnslocale.d.ts","../../node_modules/.pnpm/@payloadcms+translations@3.81.0/node_modules/@payloadcms/translations/dist/clientkeys.d.ts","../../node_modules/.pnpm/@payloadcms+translations@3.81.0/node_modules/@payloadcms/translations/dist/languages/en.d.ts","../../node_modules/.pnpm/@payloadcms+translations@3.81.0/node_modules/@payloadcms/translations/dist/utilities/languages.d.ts","../../node_modules/.pnpm/@payloadcms+translations@3.81.0/node_modules/@payloadcms/translations/dist/types.d.ts","../../node_modules/.pnpm/@payloadcms+translations@3.81.0/node_modules/@payloadcms/translations/dist/utilities/gettranslation.d.ts","../../node_modules/.pnpm/@payloadcms+translations@3.81.0/node_modules/@payloadcms/translations/dist/utilities/init.d.ts","../../node_modules/.pnpm/@payloadcms+translations@3.81.0/node_modules/@payloadcms/translations/dist/exports/index.d.ts","../../node_modules/.pnpm/dataloader@2.2.3/node_modules/dataloader/index.d.ts","../../node_modules/.pnpm/@types+busboy@1.5.4/node_modules/@types/busboy/index.d.ts","../../node_modules/.pnpm/@types+json-schema@7.0.15/node_modules/@types/json-schema/index.d.ts","../../node_modules/.pnpm/sharp@0.33.5/node_modules/sharp/lib/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/apierror.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/validationerror.d.ts","../../node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/types.d.ts","../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/editor/editor.api.d.ts","../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/editor/editor.main.d.ts","../../node_modules/.pnpm/@monaco-editor+react@4.7.0_monaco-editor@0.55.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@monaco-editor/react/dist/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/preferences/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/forms/field.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/forms/error.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/join.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/globals/config/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/validations.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/config/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/richtext.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/richtext.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/cookies.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/extractjwt.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/config/client.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/config/client.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/globals/config/client.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/config/client.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/languageoptions.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/views/document.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/views/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/email/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/authenticationerror.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/duplicatecollection.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/duplicatefieldname.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/duplicateglobal.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/errordeletingfile.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/fileretrievalerror.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/fileuploaderror.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/forbidden.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/invalidconfiguration.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/invalidfieldname.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/invalidfieldrelationship.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/locked.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/lockedauth.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/missingcollectionlabel.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/missingeditorprop.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/missingfieldinputoptions.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/missingfieldtype.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/missingfile.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/notfound.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/queryerror.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/reservedfieldname.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/unauthorizederror.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/unverifiedemail.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/folders/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/query-presets/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/config/types/tasktypes.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/operations/runjobs/runjob/getupdatejobfunction.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/operations/runjobs/runjob/getruntaskfunction.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/config/types/workflowjsontypes.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/config/types/workflowtypes.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/config/global.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/operations/handleschedules/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/operations/runjobs/runjob/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/operations/runjobs/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/localapi.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/config/types/index.d.ts","../../node_modules/.pnpm/pino-abstract-transport@2.0.0/node_modules/pino-abstract-transport/index.d.ts","../../node_modules/.pnpm/colorette@2.0.20/node_modules/colorette/index.d.ts","../../node_modules/.pnpm/pino-pretty@13.1.2/node_modules/pino-pretty/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/logger.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/config/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/bin/generateimportmap/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/tabs.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/forms/form.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/elements/cell.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/adddays.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addhours.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addminutes.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addmonths.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addquarters.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addseconds.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addweeks.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addyears.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getdate.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getday.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/gethours.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getminutes.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getmonth.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getquarter.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getseconds.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/gettime.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getyear.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isafter.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isbefore.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isdate.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/types.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/fp/types.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/types.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/set.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/sethours.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setminutes.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setmonth.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setquarter.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setyear.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/subdays.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/submonths.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/subquarters.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/subweeks.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/subyears.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/add.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addbusinessdays.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/adddays.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addhours.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addisoweekyears.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addmilliseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addminutes.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addmonths.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addquarters.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addweeks.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addyears.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/areintervalsoverlapping.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/clamp.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/closestindexto.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/closestto.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/compareasc.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/comparedesc.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/constructfrom.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/constructnow.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/daystoweeks.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceinbusinessdays.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceincalendardays.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceincalendarisoweekyears.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceincalendarisoweeks.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceincalendarmonths.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceincalendarquarters.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceincalendarweeks.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceincalendaryears.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceindays.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceinhours.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceinisoweekyears.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceinmilliseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceinminutes.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceinmonths.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceinquarters.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceinseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceinweeks.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceinyears.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/eachdayofinterval.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/eachhourofinterval.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/eachminuteofinterval.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/eachmonthofinterval.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/eachquarterofinterval.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/eachweekofinterval.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/eachweekendofinterval.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/eachweekendofmonth.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/eachweekendofyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/eachyearofinterval.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/endofday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/endofdecade.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/endofhour.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/endofisoweek.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/endofisoweekyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/endofminute.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/endofmonth.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/endofquarter.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/endofsecond.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/endoftoday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/endoftomorrow.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/endofweek.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/endofyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/endofyesterday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/_lib/format/formatters.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/_lib/format/longformatters.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/format.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/formatdistance.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/formatdistancestrict.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/formatdistancetonow.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/formatdistancetonowstrict.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/formatduration.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/formatiso.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/formatiso9075.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/formatisoduration.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/formatrfc3339.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/formatrfc7231.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/formatrelative.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/fromunixtime.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getdate.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getdayofyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getdaysinmonth.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getdaysinyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getdecade.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/_lib/defaultoptions.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getdefaultoptions.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/gethours.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getisoday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getisoweek.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getisoweekyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getisoweeksinyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getmilliseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getminutes.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getmonth.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getoverlappingdaysinintervals.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getquarter.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/gettime.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getunixtime.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getweek.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getweekofmonth.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getweekyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getweeksinmonth.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/hourstomilliseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/hourstominutes.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/hourstoseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/interval.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/intervaltoduration.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/intlformat.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/intlformatdistance.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isafter.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isbefore.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isdate.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isequal.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isexists.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isfirstdayofmonth.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isfriday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isfuture.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/islastdayofmonth.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isleapyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/ismatch.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/ismonday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/ispast.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/issameday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/issamehour.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/issameisoweek.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/issameisoweekyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/issameminute.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/issamemonth.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/issamequarter.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/issamesecond.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/issameweek.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/issameyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/issaturday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/issunday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isthishour.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isthisisoweek.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isthisminute.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isthismonth.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isthisquarter.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isthissecond.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isthisweek.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isthisyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isthursday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/istoday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/istomorrow.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/istuesday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isvalid.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/iswednesday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isweekend.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/iswithininterval.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isyesterday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/lastdayofdecade.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/lastdayofisoweek.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/lastdayofisoweekyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/lastdayofmonth.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/lastdayofquarter.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/lastdayofweek.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/lastdayofyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/_lib/format/lightformatters.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/lightformat.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/max.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/milliseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/millisecondstohours.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/millisecondstominutes.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/millisecondstoseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/min.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/minutestohours.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/minutestomilliseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/minutestoseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/monthstoquarters.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/monthstoyears.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/nextday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/nextfriday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/nextmonday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/nextsaturday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/nextsunday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/nextthursday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/nexttuesday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/nextwednesday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/types.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/setter.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parser.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parseiso.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parsejson.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/previousday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/previousfriday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/previousmonday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/previoussaturday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/previoussunday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/previousthursday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/previoustuesday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/previouswednesday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/quarterstomonths.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/quarterstoyears.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/roundtonearesthours.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/roundtonearestminutes.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/secondstohours.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/secondstomilliseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/secondstominutes.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/set.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setdate.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setdayofyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setdefaultoptions.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/sethours.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setisoday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setisoweek.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setisoweekyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setmilliseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setminutes.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setmonth.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setquarter.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setweek.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setweekyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startofday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startofdecade.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startofhour.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startofisoweek.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startofisoweekyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startofminute.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startofmonth.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startofquarter.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startofsecond.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startoftoday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startoftomorrow.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startofweek.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startofweekyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startofyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startofyesterday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/sub.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/subbusinessdays.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/subdays.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/subhours.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/subisoweekyears.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/submilliseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/subminutes.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/submonths.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/subquarters.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/subseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/subweeks.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/subyears.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/todate.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/transpose.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/weekstodays.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/yearstodays.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/yearstomonths.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/yearstoquarters.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/index.d.mts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/date_utils.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/input_time.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/day.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/week_number.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/week.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/month.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/month_dropdown_options.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/month_dropdown.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/month_year_dropdown_options.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/month_year_dropdown.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/time.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/year.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/year_dropdown_options.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/year_dropdown.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/click_outside_wrapper.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/calendar.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/calendar_icon.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/portal.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/tab_loop.d.ts","../../node_modules/.pnpm/@floating-ui+utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.d.mts","../../node_modules/.pnpm/@floating-ui+core@1.7.5/node_modules/@floating-ui/core/dist/floating-ui.core.d.mts","../../node_modules/.pnpm/@floating-ui+utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.d.mts","../../node_modules/.pnpm/@floating-ui+dom@1.7.6/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.mts","../../node_modules/.pnpm/@floating-ui+react-dom@2.1.8_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.d.mts","../../node_modules/.pnpm/@floating-ui+react@0.27.19_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react/dist/floating-ui.react.d.mts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/with_floating.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/popper_component.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/calendar_container.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/elements/datepicker.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/elements/editmenuitems.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/elements/nav.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/elements/previewbutton.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/elements/publishbutton.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/elements/savebutton.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/elements/savedraftbutton.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/elements/status.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/elements/table.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/elements/unpublishbutton.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/elements/upload.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/elements/withserversideprops.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/array.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/blocks.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/checkbox.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/code.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/collapsible.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/date.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/email.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/group.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/hidden.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/json.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/number.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/point.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/radio.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/relationship.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/row.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/select.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/text.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/textarea.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/ui.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/upload.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/forms/description.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/forms/diff.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/forms/label.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/forms/rowlabel.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/basefields/slug/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/transformcolumnpreferences.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/functions/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/views/dashboard.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/views/folderlist.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/views/list.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/me.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/refresh.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/uploads/optionallyappendmetadata.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/uploads/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/forgotpassword.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/login.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/resetpassword.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/unlock.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/count.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/countversions.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/create.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/delete.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/deletebyid.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/find.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/hooks/afterread/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/findbyid.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/finddistinct.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/findversionbyid.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/local/find.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/findversions.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/update.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/updatebyid.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/utilities/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/config/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/types/constants.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/types/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/auth.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/local/forgotpassword.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/local/login.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/local/resetpassword.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/local/unlock.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/local/verifyemail.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/local/count.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/local/create.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/local/delete.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/local/duplicate.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/local/findbyid.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/local/finddistinct.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/local/findversionbyid.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/local/findversions.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/local/restoreversion.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/local/update.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/globals/operations/local/countversions.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/globals/operations/findone.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/globals/operations/local/findone.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/globals/operations/local/findversionbyid.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/globals/operations/local/findversions.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/globals/operations/local/restoreversion.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/globals/operations/local/update.d.ts","../../node_modules/.pnpm/croner@9.1.0/node_modules/croner/dist/croner.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/kv/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/crypto.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/local/countversions.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/basefields/accountlock.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/basefields/apikey.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/basefields/auth.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/basefields/email.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/basefields/sessions.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/basefields/username.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/basefields/verification.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/executeaccess.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/executeauthstrategies.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/extractaccessfrompermission.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/getaccessresults.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/getfieldstosign.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/getloginoptions.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/jwt.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/access.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/init.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/logout.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/registerfirstuser.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/verifyemail.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/strategies/jwt.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/strategies/local/incrementloginattempts.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/strategies/local/resetloginattempts.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/bin/generateimportmap/iteratefields.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/bin/migrate.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/dataloader.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/docaccess.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/duplicate.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/restoreversion.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/config/build.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/config/defaults.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/config/orderable/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/config/sanitize.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/combinequeries.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/createdatabaseadapter.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/defaultbegintransaction.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/flattenwheretooperators.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/queryvalidation/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/getlocalizedpaths.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/migrations/createmigration.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/migrations/findmigrationdir.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/migrations/getmigrations.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/migrations/getpredefinedmigration.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/migrations/migrate.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/migrations/migratedown.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/migrations/migraterefresh.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/migrations/migratereset.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/migrations/migratestatus.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/migrations/migrationscollection.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/migrations/migrationtemplate.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/migrations/readmigrationfiles.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/migrations/writemigrationindex.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/queryvalidation/validatequerypaths.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/queryvalidation/validatesearchparams.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/basefields/baseblockfields.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/basefields/baseidfield.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/config/sanitize.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/getdefaultvalue.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/hooks/afterchange/traversefields.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/hooks/afterread/promise.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/hooks/afterread/traversefields.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/hooks/beforechange/traversefields.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/hooks/beforevalidate/traversefields.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/sortablefieldtypes.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/folders/utils/getfolderdata.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/globals/operations/docaccess.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/globals/operations/findversionbyid.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/globals/operations/findversions.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/globals/operations/restoreversion.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/globals/operations/update.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/kv/adapters/databasekvadapter.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/kv/adapters/inmemorykvadapter.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/config/collection.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/errors/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/operations/handleschedules/countrunnableoractivejobsforqueue.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/operations/runjobs/runjob/importhandlerpath.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/utilities/getcurrentdate.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/translations/getlocali18n.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/uploads/getfilebypath.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/utility.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/header.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/readable.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/fetch.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/formdata.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/connector.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/client-stats.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/client.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/errors.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/dispatcher.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/global-dispatcher.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/global-origin.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/pool-stats.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/pool.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/handlers.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/balanced-pool.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/round-robin-pool.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/h2c-client.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/agent.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/mock-interceptor.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/mock-call-history.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/mock-agent.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/mock-client.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/mock-pool.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/snapshot-agent.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/mock-errors.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/proxy-agent.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/socks5-proxy-agent.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/env-http-proxy-agent.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/retry-handler.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/retry-agent.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/api.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/cache-interceptor.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/interceptors.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/util.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/cookies.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/patch.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/websocket.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/eventsource.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/diagnostics-channel.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/content-type.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/cache.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/index.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/uploads/safefetch.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/adddataandfiletorequest.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/addlocalestorequest.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/canaccessadmin.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/committransaction.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/configtojsonschema.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/createarrayfromcommadelineated.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/createlocalreq.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/createpayloadrequest.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/deepcopyobject.d.ts","../../node_modules/.pnpm/deepmerge@4.3.1/node_modules/deepmerge/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/deepmerge.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/dependencies/dependencychecker.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/dependencies/getdependencies.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/dynamicimport.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/escaperegexp.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/findup.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/flattenallfields.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/flattentoplevelfields.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/formaterrors.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/formatlabels.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/getblockselect.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/getcollectionidfieldtypes.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/getfieldbypath.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/getobjectdotnotation.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/getrequestlanguage.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/handleendpoints.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/headerswithcors.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/inittransaction.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/isentityhidden.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/isolateobjectproperty.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/isplainobject.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/isvalidid.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/killtransaction.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/logerror.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/mapasync.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/mergeheaders.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/parsedocumentid.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/sanitizefallbacklocale.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/sanitizejoinparams.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/sanitizepopulateparam.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/sanitizeselectparam.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/stripunselectedfields.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/traversefields.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/buildcollectionfields.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/buildglobalfields.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/buildversioncompoundindexes.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/defaults.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/deletecollectionversions.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/drafts/appendversiontoquerykey.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/drafts/getquerydraftssort.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/enforcemaxversions.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/getlatestcollectionversion.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/getlatestglobalversion.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/migrations/localizestatus/mongo/down.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/migrations/localizestatus/mongo/up.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/migrations/localizestatus/mongo/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/migrations/localizestatus/sql/down.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/migrations/localizestatus/sql/up.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/migrations/localizestatus/sql/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/migrations/localizestatus/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/saveversion.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/schedule/types.d.ts","../../node_modules/.pnpm/@payloadcms+translations@3.81.0/node_modules/@payloadcms/translations/dist/utilities/deepmergesimple.d.ts","../../node_modules/.pnpm/@payloadcms+translations@3.81.0/node_modules/@payloadcms/translations/dist/exports/utilities.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/entity.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/cache/core/types.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/cache/core/cache.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/logger.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/casing.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/table.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/operations.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/subquery.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/query-builders/select.types.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sql/sql.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/utils.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sql/expressions/conditions.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sql/expressions/select.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sql/expressions/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sql/functions/aggregate.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/query-builders/query-builder.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sql/functions/vector.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sql/functions/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sql/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/checks.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/sequence.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/int.common.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/bigintt.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/boolean.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/bytes.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/custom.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/date-duration.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/decimal.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/double-precision.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/duration.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/integer.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/json.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/date.common.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/localdate.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/localtime.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/real.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/relative-duration.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/smallint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/text.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/timestamp.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/timestamptz.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/uuid.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/all.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/indexes.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/roles.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/policies.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/primary-keys.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/unique-constraint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/table.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/foreign-keys.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/common.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/bigint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/view-base.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/relations.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/session.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/query-builders/count.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/query-promise.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/runnable-query.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/query-builders/query.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/query-builders/raw.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/subquery.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/db.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/session.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/query-builders/delete.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/query-builders/update.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/query-builders/insert.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/query-builders/refresh-materialized-view.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/query-builders/select.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/query-builders/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/dialect.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/query-builders/query-builder.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/view-common.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/view.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/query-builders/select.types.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/alias.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/schema.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/utils.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/checks.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/binary.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/boolean.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/char.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/custom.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/date.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/datetime.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/decimal.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/double.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/enum.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/float.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/int.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/json.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/mediumint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/real.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/serial.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/smallint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/text.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/time.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/date.common.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/timestamp.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/tinyint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/varbinary.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/varchar.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/year.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/all.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/indexes.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/primary-keys.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/unique-constraint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/table.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/foreign-keys.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/common.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/bigint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/migrator.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/query-builders/delete.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/subquery.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/view-base.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/query-builders/select.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/query-builders/query-builder.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/query-builders/update.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/query-builders/insert.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/dialect.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/query-builders/count.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/query-builders/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/query-builders/query.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/db.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/session.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/view-common.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/view.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/query-builders/select.types.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/alias.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/schema.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/utils.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/checks.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/bigserial.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/boolean.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/char.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/cidr.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/custom.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/date.common.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/date.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/double-precision.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/inet.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/sequence.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/int.common.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/integer.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/timestamp.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/interval.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/json.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/jsonb.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/line.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/macaddr.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/macaddr8.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/numeric.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/point.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/postgis_extension/geometry.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/real.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/serial.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/smallint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/smallserial.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/text.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/time.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/uuid.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/varchar.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/bit.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/halfvec.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/sparsevec.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/vector.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/all.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/indexes.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/roles.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/policies.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/primary-keys.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/unique-constraint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/table.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/foreign-keys.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/common.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/bigint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/enum.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/view-base.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/query-builders/count.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/query-builders/query.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/query-builders/raw.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/query-builders/refresh-materialized-view.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/subquery.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/db.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/session.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/query-builders/delete.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/query-builders/update.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/query-builders/insert.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/query-builders/select.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/query-builders/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/dialect.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/query-builders/query-builder.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/view-common.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/view.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/query-builders/select.types.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/alias.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/schema.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/utils.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/utils/array.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/utils/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/binary.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/boolean.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/char.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/custom.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/date.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/datetime.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/decimal.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/double.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/enum.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/float.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/int.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/json.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/mediumint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/real.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/serial.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/smallint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/text.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/time.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/date.common.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/timestamp.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/tinyint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/varbinary.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/varchar.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/vector.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/year.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/all.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/indexes.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/primary-keys.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/unique-constraint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/table.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/common.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/bigint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/query-builders/delete.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/query-builders/update.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/query-builders/insert.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/dialect.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/cache/core/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore/session.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore/driver.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/query-builders/count.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/subquery.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/query-builders/select.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/query-builders/query-builder.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/query-builders/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/db.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/session.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/query-builders/select.types.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/alias.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/schema.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/utils.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/checks.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/columns/custom.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/indexes.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/primary-keys.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/unique-constraint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/view-base.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/query-builders/count.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/query-builders/query.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/subquery.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/db.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/query-builders/raw.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/session.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/query-builders/delete.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/query-builders/update.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/query-builders/insert.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/query-builders/select.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/query-builders/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/dialect.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/view.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/utils.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/columns/integer.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/columns/numeric.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/columns/real.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/columns/text.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/columns/all.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/table.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/foreign-keys.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/columns/common.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/columns/blob.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/columns/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/query-builders/select.types.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/alias.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/column-builder.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/column.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/alias.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/errors.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/view-common.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/batch.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/libsql/driver-core.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/libsql/driver.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/libsql/session.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/libsql/index.d.ts","../../node_modules/.pnpm/pg-types@4.1.0/node_modules/pg-types/lib/builtins.d.ts","../../node_modules/.pnpm/pg-types@4.1.0/node_modules/pg-types/index.d.ts","../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/messages.d.ts","../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/serializer.d.ts","../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/parser.d.ts","../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/index.d.ts","../../node_modules/.pnpm/@types+pg@8.10.2/node_modules/@types/pg/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/node-postgres/session.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/node-postgres/driver.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/node-postgres/index.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/queries/buildquery.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql2/session.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql2/driver.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql2/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore/index.d.ts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/typealiases.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/index.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/zoderror.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseutil.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/enumutil.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorutil.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/partialutil.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/standard-schema.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/external.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/index.d.cts","../../node_modules/.pnpm/drizzle-kit@0.31.7/node_modules/drizzle-kit/api.d.mts","../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/index.d.ts","../../node_modules/.pnpm/@types+pg@8.6.1/node_modules/@types/pg/index.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/queries/operatormap.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/find/chainmethods.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/types.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/postgres/columntocodeconverter.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/count.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/countglobalversions.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/countversions.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/create.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/createglobal.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/createglobalversion.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/createtablename.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/createversion.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/deletemany.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/deleteone.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/deleteversions.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/destroy.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/find.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/finddistinct.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/findglobal.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/findglobalversions.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/findone.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/findversions.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/migrate.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/migratedown.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/migratefresh.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/migraterefresh.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/migratereset.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/migratestatus.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/queries/parseparams.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/querydrafts.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/schema/builddrizzlerelations.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/schema/buildrawschema.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/transactions/begintransaction.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/transactions/committransaction.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/transactions/rollbacktransaction.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/updateglobal.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/updateglobalversion.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/updatejobs.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/updatemany.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/updateone.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/updateversion.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/upsert.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/upsertrow/types.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/upsertrow/index.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/utilities/blockstojsonmigrator.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/utilities/buildcreatemigration.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/utilities/buildindexname.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/utilities/createschemagenerator.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/utilities/extenddrizzletable.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/utilities/executeschemahooks.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/utilities/haslocalestable.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/utilities/pushdevschema.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/utilities/validateexistingblockisidentical.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/index.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/postgres/types.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/postgres/countdistinct.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/postgres/createdatabase.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/postgres/createextensions.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/postgres/createjsonquery/index.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/postgres/defaultsnapshot.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/postgres/deletewhere.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/postgres/dropdatabase.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/postgres/execute.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/postgres/init.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/postgres/insert.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/postgres/predefinedmigrations/v2-v3/index.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/postgres/requiredrizzlekit.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/postgres/schema/geometrycolumn.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/exports/postgres.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/exports/types-deprecated.d.ts","../../node_modules/.pnpm/@payloadcms+db-postgres@3.81.0_@opentelemetry+api@1.9.1_payload@3.81.0_graphql@16.13.2_typescript@5.9.3_/node_modules/@payloadcms/db-postgres/dist/types.d.ts","../../node_modules/.pnpm/@payloadcms+db-postgres@3.81.0_@opentelemetry+api@1.9.1_payload@3.81.0_graphql@16.13.2_typescript@5.9.3_/node_modules/@payloadcms/db-postgres/dist/index.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/nodes/lexicalelementnode.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/nodes/lexicaltextnode.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/lexicalselection.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/nodes/lexicalrootnode.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/lexicaleditorstate.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/lexicalconstants.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/lexicalnodestate.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/lexicalupdatetags.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/lexicaleditor.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/lexicalnode.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/caret/lexicalcaret.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/caret/lexicalcaretutils.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/lexicalcommands.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/lexicalevents.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/lexicalnormalization.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/lexicalupdates.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/lexicalutils.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/nodes/artificialnode.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/nodes/lexicaldecoratornode.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/nodes/lexicallinebreaknode.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/nodes/lexicalparagraphnode.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/nodes/lexicaltabnode.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/extension-core/internal.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/extension-core/types.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/extension-core/defineextension.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/extension-core/safecast.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/extension-core/shallowmergeconfig.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/extension-core/index.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/utils/classnames.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/utils/mergeregister.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/packages/@lexical/markdown/markdowntransformers.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/packages/@lexical/markdown/markdownshortcuts.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/packages/@lexical/markdown/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/lexicaltohtml_deprecated/converter/types.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/typesserver.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/lexical/config/types.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/lexical/plugins/slashmenu/lexicaltypeaheadmenuplugin/types.d.ts","../../node_modules/.pnpm/@lexical+rich-text@0.41.0/node_modules/@lexical/rich-text/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/blockquote/server/index.d.ts","../../node_modules/.pnpm/@lexical+react@0.41.0_react-dom@19.2.4_react@19.2.4__react@19.2.4_yjs@13.6.30/node_modules/@lexical/react/lexicaldecoratorblocknode.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/server/nodes/blocksnode.d.ts","../../node_modules/.pnpm/@lexical+table@0.41.0/node_modules/@lexical/table/lexicaltablecellnode.d.ts","../../node_modules/.pnpm/@lexical+table@0.41.0/node_modules/@lexical/table/lexicaltablecommands.d.ts","../../node_modules/.pnpm/@preact+signals-core@1.14.1/node_modules/@preact/signals-core/dist/signals-core.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/signals.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/namedsignals.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/autofocusextension.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/cleareditorextension.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/config.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/decoratortextextension.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/editorstateextension.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/getextensiondependencyfromeditor.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/getpeerdependencyfromeditor.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/horizontalruleextension.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/initialstateextension.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/extensionrep.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/lexicalbuilder.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/nodeselectionextension.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/tabindentationextension.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/watchedsignal.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/index.d.ts","../../node_modules/.pnpm/@lexical+table@0.41.0/node_modules/@lexical/table/lexicaltableextension.d.ts","../../node_modules/.pnpm/@lexical+table@0.41.0/node_modules/@lexical/table/lexicaltableselection.d.ts","../../node_modules/.pnpm/@lexical+table@0.41.0/node_modules/@lexical/table/lexicaltableselectionhelpers.d.ts","../../node_modules/.pnpm/@lexical+table@0.41.0/node_modules/@lexical/table/lexicaltableobserver.d.ts","../../node_modules/.pnpm/@lexical+table@0.41.0/node_modules/@lexical/table/lexicaltablenode.d.ts","../../node_modules/.pnpm/@lexical+table@0.41.0/node_modules/@lexical/table/lexicaltablepluginhelpers.d.ts","../../node_modules/.pnpm/@lexical+table@0.41.0/node_modules/@lexical/table/lexicaltablerownode.d.ts","../../node_modules/.pnpm/@lexical+table@0.41.0/node_modules/@lexical/table/lexicaltableutils.d.ts","../../node_modules/.pnpm/@lexical+table@0.41.0/node_modules/@lexical/table/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/experimental_table/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/heading/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/horizontalrule/server/nodes/horizontalrulenode.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/link/nodes/types.d.ts","../../node_modules/.pnpm/@lexical+list@0.41.0/node_modules/@lexical/list/lexicallistitemnode.d.ts","../../node_modules/.pnpm/@lexical+list@0.41.0/node_modules/@lexical/list/lexicallistnode.d.ts","../../node_modules/.pnpm/@lexical+list@0.41.0/node_modules/@lexical/list/checklist.d.ts","../../node_modules/.pnpm/@lexical+list@0.41.0/node_modules/@lexical/list/formatlist.d.ts","../../node_modules/.pnpm/@lexical+list@0.41.0/node_modules/@lexical/list/utils.d.ts","../../node_modules/.pnpm/@lexical+list@0.41.0/node_modules/@lexical/list/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/lists/plugin/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/relationship/server/nodes/relationshipnode.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/upload/server/nodes/uploadnode.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/nodetypes.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/server/nodes/inlineblocksnode.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/client/nodes/inlineblocksnode.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/lexical/config/client/editorconfigprovider.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/toolbars/types.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/typesclient.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/utilities/buildinitialstate.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/types.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/align/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/premade/codeblock/component/code.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/premade/codeblock/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/htmltolexical/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/lexicaltohtml/shared/types.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/lexicaltohtml/async/types.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/lexicaltohtml/async/field/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/lexicaltohtml_deprecated/converter/converters/linebreak.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/lexicaltohtml_deprecated/converter/converters/paragraph.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/lexicaltohtml_deprecated/converter/converters/tab.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/lexicaltohtml_deprecated/converter/converters/text.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/lexicaltohtml_deprecated/converter/defaultconverters.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/lexicaltohtml_deprecated/converter/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/lexicaltohtml_deprecated/field/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/lexicaltohtml_deprecated/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/lexicaltomarkdown/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/markdowntolexical/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/utilities/payloadpopulatefn.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/utilities/restpopulatefn.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/debug/jsxconverter/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/debug/testrecorder/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/debug/treeview/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/format/bold/feature.server.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/format/inlinecode/feature.server.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/format/italic/feature.server.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/format/strikethrough/feature.server.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/format/subscript/feature.server.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/format/superscript/feature.server.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/format/underline/feature.server.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/horizontalrule/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/indent/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/link/client/plugins/floatinglinkeditor/types.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/link/nodes/linknode.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/link/nodes/autolinknode.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/link/client/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/link/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/lists/checklist/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/lists/orderedlist/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/lists/unorderedlist/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/migrations/slatetolexical/converter/types.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/paragraph/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/relationship/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/textstate/defaultcolors.d.ts","../../node_modules/.pnpm/csstype@3.1.3/node_modules/csstype/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/textstate/feature.server.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/toolbars/fixed/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/toolbars/inline/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/typeutilities.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/upload/client/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/upload/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/lexical/config/server/default.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/lexical/config/server/loader.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/lexical/config/server/sanitize.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/lexical/nodes/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/lexical/utils/nodeformat.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/lexical/utils/url.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/populategraphql/defaultvalue.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/populategraphql/populate.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/utilities/buildeditorstate.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/utilities/createserverfeature.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/utilities/editorconfigfactory.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/utilities/fieldsdrawer/drawer.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/utilities/jsx/extractpropsfromjsxpropsstring.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/utilities/jsx/jsx.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/utilities/upgradelexicaldata/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/index.d.ts","../../packages/auth/src/integrations/cms/collections/users.ts","../../packages/auth/src/integrations/cms/index.ts","../../packages/core-cms/src/payload.config.ts","../../packages/core-cms/src/index.ts","./src/payload.config.ts","./src/payload.config.test.ts","../../node_modules/.pnpm/@payloadcms+next@3.81.0_@types+react@19.2.14_graphql@16.13.2_monaco-editor@0.55.1_next@15.5.1_gdi2sk4zcq6aimr6i23pz2rh5e/node_modules/@payloadcms/next/dist/routes/graphql/handler.d.ts","../../node_modules/.pnpm/@payloadcms+next@3.81.0_@types+react@19.2.14_graphql@16.13.2_monaco-editor@0.55.1_next@15.5.1_gdi2sk4zcq6aimr6i23pz2rh5e/node_modules/@payloadcms/next/dist/routes/graphql/playground.d.ts","../../node_modules/.pnpm/@payloadcms+next@3.81.0_@types+react@19.2.14_graphql@16.13.2_monaco-editor@0.55.1_next@15.5.1_gdi2sk4zcq6aimr6i23pz2rh5e/node_modules/@payloadcms/next/dist/routes/graphql/index.d.ts","../../node_modules/.pnpm/@payloadcms+next@3.81.0_@types+react@19.2.14_graphql@16.13.2_monaco-editor@0.55.1_next@15.5.1_gdi2sk4zcq6aimr6i23pz2rh5e/node_modules/@payloadcms/next/dist/routes/rest/index.d.ts","../../node_modules/.pnpm/@payloadcms+next@3.81.0_@types+react@19.2.14_graphql@16.13.2_monaco-editor@0.55.1_next@15.5.1_gdi2sk4zcq6aimr6i23pz2rh5e/node_modules/@payloadcms/next/dist/exports/routes.d.ts","./src/app/(payload)/api/[...slug]/route.ts","./src/app/(payload)/api/graphql/route.ts","../../node_modules/.pnpm/@payloadcms+next@3.81.0_@types+react@19.2.14_graphql@16.13.2_monaco-editor@0.55.1_next@15.5.1_gdi2sk4zcq6aimr6i23pz2rh5e/node_modules/@payloadcms/next/dist/layouts/root/index.d.ts","../../node_modules/.pnpm/@payloadcms+next@3.81.0_@types+react@19.2.14_graphql@16.13.2_monaco-editor@0.55.1_next@15.5.1_gdi2sk4zcq6aimr6i23pz2rh5e/node_modules/@payloadcms/next/dist/utilities/handleserverfunctions.d.ts","../../node_modules/.pnpm/@payloadcms+next@3.81.0_@types+react@19.2.14_graphql@16.13.2_monaco-editor@0.55.1_next@15.5.1_gdi2sk4zcq6aimr6i23pz2rh5e/node_modules/@payloadcms/next/dist/exports/layouts.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/types.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/cell/rscentry.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/field/diff/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/lexical/config/types.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/field/rscentry.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/exports/server/rsc.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/lexical/plugins/slashmenu/lexicaltypeaheadmenuplugin/types.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/shared/slashmenu/basicgroup.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/typesclient.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/align/client/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/blockquote/client/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/client/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/server/nodes/blocksnode.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/client/plugin/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/client/plugin/commands.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/debug/testrecorder/client/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/debug/treeview/client/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/format/bold/feature.client.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/format/inlinecode/feature.client.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/format/italic/feature.client.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/format/strikethrough/feature.client.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/format/subscript/feature.client.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/format/superscript/feature.client.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/format/underline/feature.client.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/textstate/feature.server.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/textstate/feature.client.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/heading/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/heading/client/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/horizontalrule/client/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/indent/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/indent/client/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/link/client/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/lists/checklist/client/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/lists/orderedlist/client/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/lists/unorderedlist/client/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/migrations/lexicalplugintolexical/feature.client.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/migrations/slatetolexical/feature.client.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/paragraph/client/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/debug/jsxconverter/client/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/textstate/defaultcolors.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/relationship/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/relationship/client/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/toolbars/types.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/format/shared/toolbarformatgroup.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/shared/toolbar/adddropdowngroup.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/shared/toolbar/featurebuttonsgroup.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/shared/toolbar/textdropdowngroup.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/toolbars/fixed/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/toolbars/fixed/client/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/toolbars/inline/client/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/toolbars/shared/toolbarbutton/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/experimental_table/client/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/toolbars/shared/usetoolbarstates.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/toolbars/shared/toolbardropdown/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/upload/client/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/field/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/lexical/config/client/editorconfigprovider.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/lexical/config/client/default.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/lexical/config/client/sanitize.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/lexical/utils/canusedom.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/lexical/utils/getdomrangerect.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/lexical/utils/getselectednode.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/lexical/utils/guard.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/lexical/utils/joinclasses.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/packages/@lexical/markdown/markdowntransformers.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/lexical/utils/markdown/createblocknode.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/lexical/utils/point.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/lexical/utils/rect.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/lexical/utils/setfloatingelemposition.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/lexical/utils/setfloatingelempositionforlinkeditor.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/lexical/utils/swipe.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/utilities/createclientfeature.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/lexical/utils/nodeformat.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/lexical/plugins/slashmenu/usemenutriggermatch.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/lexical/plugins/slashmenu/lexicaltypeaheadmenuplugin/lexicalmenu.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/lexical/plugins/slashmenu/lexicaltypeaheadmenuplugin/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/lexical/nodes/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/upload/server/nodes/uploadnode.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/upload/client/nodes/uploadnode.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/relationship/server/nodes/relationshipnode.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/relationship/client/nodes/relationshipnode.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/link/nodes/linknode.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/link/nodes/autolinknode.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/client/nodes/blocksnode.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/client/nodes/inlineblocksnode.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/horizontalrule/server/nodes/horizontalrulenode.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/horizontalrule/client/nodes/horizontalrulenode.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/utilities/fieldsdrawer/drawer.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/confirmpassword/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/shared/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/hooks/usedebounce.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/hooks/usedebouncedcallback.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/hooks/usedebouncedeffect.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/hooks/usedelay.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/hooks/usedelayedrender.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/hooks/usehotkey.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/hooks/useintersect.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/hooks/usepayloadapi.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/hooks/useresize.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/hooks/usethrottledeffect.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/hooks/useeffectevent.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/forms/renderfields/context.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/hooks/usequeue.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/hooks/useuseastitle.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/sortheader/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/sortrow/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/table/orderabletable.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/querypresets/cells/columnscell/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/querypresets/cells/wherecell/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/querypresets/cells/accesscell/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/querypresets/cells/groupbycell/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/querypresets/fields/columnsfield/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/querypresets/fields/wherefield/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/querypresets/fields/groupbyfield/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/confirmationmodal/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/link/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/leavewithoutsaving/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/documenttakeover/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/documentlocked/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/sortcolumn/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/tablecolumns/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/tablecolumns/context.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/tablecolumns/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/tablecolumns/renderdefaultcell/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/table/defaultcell/fields/date/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/translation/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/datepicker/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/datepicker/datepicker.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/viewdescription/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/appheader/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/rendercustomcomponent/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/bulkupload/formsmanager/reducer.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/bulkupload/formsmanager/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/bulkupload/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/drawercontentcontainer/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/banner/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/button/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/button/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/animateheight/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/pillselector/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/card/index.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/hooks/usecombinedrefs.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/hooks/useevent.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/hooks/useisomorphiclayouteffect.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/hooks/useinterval.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/hooks/uselatestvalue.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/hooks/uselazymemo.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/hooks/usenoderef.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/hooks/useprevious.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/hooks/useuniqueid.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/hooks/index.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/adjustment.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/coordinates/types.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/coordinates/geteventcoordinates.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/coordinates/index.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/css.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/event/hasviewportrelativecoordinates.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/event/iskeyboardevent.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/event/istouchevent.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/event/index.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/execution-context/canusedom.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/execution-context/getownerdocument.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/execution-context/getwindow.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/execution-context/index.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/focus/findfirstfocusablenode.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/focus/index.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/type-guards/isdocument.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/type-guards/ishtmlelement.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/type-guards/isnode.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/type-guards/issvgelement.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/type-guards/iswindow.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/type-guards/index.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/types.d.ts","../../node_modules/.pnpm/@dnd-kit+utilities@3.2.2_react@19.2.4/node_modules/@dnd-kit/utilities/dist/index.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/types/coordinates.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/types/direction.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/algorithms/types.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/algorithms/closestcenter.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/algorithms/closestcorners.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/algorithms/rectintersection.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/algorithms/pointerwithin.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/algorithms/helpers.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/algorithms/index.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/sensors/pointer/abstractpointersensor.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/sensors/pointer/pointersensor.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/sensors/pointer/index.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/sensors/types.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/sensors/usesensor.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/sensors/usesensors.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/sensors/mouse/mousesensor.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/sensors/mouse/index.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/sensors/touch/touchsensor.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/sensors/touch/index.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/sensors/keyboard/types.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/sensors/keyboard/keyboardsensor.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/sensors/keyboard/defaults.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/sensors/keyboard/index.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/sensors/index.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/types/events.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/types/other.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/types/react.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/types/rect.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/types/index.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/hooks/utilities/useautoscroller.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/hooks/utilities/usecachednode.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/hooks/utilities/usesyntheticlisteners.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/hooks/utilities/usecombineactivators.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/hooks/utilities/usedroppablemeasuring.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/hooks/utilities/useinitialvalue.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/hooks/utilities/useinitialrect.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/hooks/utilities/userect.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/hooks/utilities/userectdelta.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/hooks/utilities/useresizeobserver.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/hooks/utilities/usescrollableancestors.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/hooks/utilities/usescrollintoviewifneeded.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/hooks/utilities/usescrolloffsets.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/hooks/utilities/usescrolloffsetsdelta.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/hooks/utilities/usesensorsetup.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/hooks/utilities/userects.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/hooks/utilities/usewindowrect.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/hooks/utilities/usedragoverlaymeasuring.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/hooks/utilities/index.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/store/constructors.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/store/types.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/store/actions.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/store/context.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/store/reducer.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/store/index.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/components/accessibility/types.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/components/accessibility/accessibility.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/components/accessibility/components/restorefocus.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/components/accessibility/components/index.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/components/accessibility/defaults.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/components/accessibility/index.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/coordinates/constants.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/coordinates/distancebetweenpoints.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/coordinates/getrelativetransformorigin.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/coordinates/index.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/rect/adjustscale.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/rect/getrectdelta.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/rect/rectadjustment.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/rect/getrect.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/rect/getwindowclientrect.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/rect/rect.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/rect/index.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/other/noop.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/other/index.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/scroll/getscrollableancestors.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/scroll/getscrollableelement.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/scroll/getscrollcoordinates.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/scroll/getscrolldirectionandspeed.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/scroll/getscrollelementrect.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/scroll/getscrolloffsets.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/scroll/getscrollposition.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/scroll/documentscrollingelement.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/scroll/isscrollable.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/scroll/scrollintoviewifneeded.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/scroll/index.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/utilities/index.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/modifiers/types.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/modifiers/applymodifiers.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/modifiers/index.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/components/dndcontext/types.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/components/dndcontext/dndcontext.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/components/dndcontext/index.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/components/dndmonitor/types.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/components/dndmonitor/context.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/components/dndmonitor/usedndmonitor.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/components/dndmonitor/usedndmonitorprovider.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/components/dndmonitor/index.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/components/dragoverlay/components/animationmanager/animationmanager.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/components/dragoverlay/components/animationmanager/index.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/components/dragoverlay/components/nullifiedcontextprovider/nullifiedcontextprovider.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/components/dragoverlay/components/nullifiedcontextprovider/index.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/components/dragoverlay/components/positionedoverlay/positionedoverlay.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/components/dragoverlay/components/positionedoverlay/index.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/components/dragoverlay/components/index.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/components/dragoverlay/hooks/usedropanimation.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/components/dragoverlay/hooks/usekey.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/components/dragoverlay/hooks/index.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/components/dragoverlay/dragoverlay.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/components/dragoverlay/index.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/components/index.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/hooks/usedraggable.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/hooks/usedndcontext.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/hooks/usedroppable.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/hooks/index.d.ts","../../node_modules/.pnpm/@dnd-kit+core@6.3.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@dnd-kit/core/dist/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/draggablesortable/usedraggablesortable/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/draggablesortable/draggablesortableitem/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/collapsible/provider.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/collapsible/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/copylocaledata/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/copytoclipboard/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/deletemany/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/documentdrawer/provider.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/documentcontrols/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/dropzone/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/drawer/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/documentdrawer/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/documentdrawer/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/htmldiff/escapehtml.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/htmldiff/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/hooks/useclickoutside.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/clickoutside/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/documentfields/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/drawer/usedrawerslug.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/drawer/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/editmany/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/errorpill/index.d.ts","../../node_modules/.pnpm/tabbable@6.4.0/node_modules/tabbable/index.d.ts","../../node_modules/.pnpm/focus-trap@7.5.4/node_modules/focus-trap/index.d.ts","../../node_modules/.pnpm/@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@faceless-ui/modal/dist/modalprovider/index.d.ts","../../node_modules/.pnpm/@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@faceless-ui/modal/dist/modalprovider/context.d.ts","../../node_modules/.pnpm/@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@faceless-ui/modal/dist/modal/index.d.ts","../../node_modules/.pnpm/@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@faceless-ui/modal/dist/asmodal/index.d.ts","../../node_modules/.pnpm/@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@faceless-ui/modal/dist/modalcontainer/index.d.ts","../../node_modules/.pnpm/@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@faceless-ui/modal/dist/modaltoggler/index.d.ts","../../node_modules/.pnpm/@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@faceless-ui/modal/dist/usemodal/index.d.ts","../../node_modules/.pnpm/@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@faceless-ui/modal/dist/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/fullscreenmodal/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/generateconfirmation/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/gutter/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/hamburger/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/hydrateauthprovider/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/locked/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/listcontrols/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/listcontrols/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/selection/index.d.ts","../../node_modules/.pnpm/react-select@5.9.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-select/dist/declarations/src/filters.d.ts","../../node_modules/.pnpm/@emotion+sheet@1.4.0/node_modules/@emotion/sheet/dist/declarations/src/index.d.ts","../../node_modules/.pnpm/@emotion+sheet@1.4.0/node_modules/@emotion/sheet/dist/emotion-sheet.cjs.d.mts","../../node_modules/.pnpm/@emotion+utils@1.4.2/node_modules/@emotion/utils/dist/declarations/src/types.d.ts","../../node_modules/.pnpm/@emotion+utils@1.4.2/node_modules/@emotion/utils/dist/declarations/src/index.d.ts","../../node_modules/.pnpm/@emotion+utils@1.4.2/node_modules/@emotion/utils/dist/emotion-utils.cjs.d.mts","../../node_modules/.pnpm/@emotion+cache@11.14.0/node_modules/@emotion/cache/dist/declarations/src/types.d.ts","../../node_modules/.pnpm/@emotion+cache@11.14.0/node_modules/@emotion/cache/dist/declarations/src/index.d.ts","../../node_modules/.pnpm/@emotion+cache@11.14.0/node_modules/@emotion/cache/dist/emotion-cache.cjs.default.d.ts","../../node_modules/.pnpm/@emotion+cache@11.14.0/node_modules/@emotion/cache/dist/emotion-cache.cjs.d.mts","../../node_modules/.pnpm/@emotion+serialize@1.3.3/node_modules/@emotion/serialize/dist/declarations/src/index.d.ts","../../node_modules/.pnpm/@emotion+serialize@1.3.3/node_modules/@emotion/serialize/dist/emotion-serialize.cjs.d.mts","../../node_modules/.pnpm/@emotion+react@11.14.0_@types+react@19.2.14_react@19.2.4/node_modules/@emotion/react/dist/declarations/src/context.d.ts","../../node_modules/.pnpm/@emotion+react@11.14.0_@types+react@19.2.14_react@19.2.4/node_modules/@emotion/react/dist/declarations/src/types.d.ts","../../node_modules/.pnpm/@emotion+react@11.14.0_@types+react@19.2.14_react@19.2.4/node_modules/@emotion/react/dist/declarations/src/theming.d.ts","../../node_modules/.pnpm/@emotion+react@11.14.0_@types+react@19.2.14_react@19.2.4/node_modules/@emotion/react/dist/declarations/src/jsx-namespace.d.ts","../../node_modules/.pnpm/@emotion+react@11.14.0_@types+react@19.2.14_react@19.2.4/node_modules/@emotion/react/dist/declarations/src/jsx.d.ts","../../node_modules/.pnpm/@emotion+react@11.14.0_@types+react@19.2.14_react@19.2.4/node_modules/@emotion/react/dist/declarations/src/global.d.ts","../../node_modules/.pnpm/@emotion+react@11.14.0_@types+react@19.2.14_react@19.2.4/node_modules/@emotion/react/dist/declarations/src/keyframes.d.ts","../../node_modules/.pnpm/@emotion+react@11.14.0_@types+react@19.2.14_react@19.2.4/node_modules/@emotion/react/dist/declarations/src/class-names.d.ts","../../node_modules/.pnpm/@emotion+react@11.14.0_@types+react@19.2.14_react@19.2.4/node_modules/@emotion/react/dist/declarations/src/css.d.ts","../../node_modules/.pnpm/@emotion+react@11.14.0_@types+react@19.2.14_react@19.2.4/node_modules/@emotion/react/dist/declarations/src/index.d.ts","../../node_modules/.pnpm/@emotion+react@11.14.0_@types+react@19.2.14_react@19.2.4/node_modules/@emotion/react/dist/emotion-react.cjs.d.mts","../../node_modules/.pnpm/react-select@5.9.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-select/dist/declarations/src/components/containers.d.ts","../../node_modules/.pnpm/react-select@5.9.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-select/dist/declarations/src/components/control.d.ts","../../node_modules/.pnpm/react-select@5.9.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-select/dist/declarations/src/components/group.d.ts","../../node_modules/.pnpm/react-select@5.9.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-select/dist/declarations/src/components/indicators.d.ts","../../node_modules/.pnpm/react-select@5.9.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-select/dist/declarations/src/components/input.d.ts","../../node_modules/.pnpm/react-select@5.9.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-select/dist/declarations/src/components/placeholder.d.ts","../../node_modules/.pnpm/react-select@5.9.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-select/dist/declarations/src/components/option.d.ts","../../node_modules/.pnpm/react-select@5.9.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-select/dist/declarations/src/components/menu.d.ts","../../node_modules/.pnpm/react-select@5.9.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-select/dist/declarations/src/components/singlevalue.d.ts","../../node_modules/.pnpm/react-select@5.9.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-select/dist/declarations/src/components/multivalue.d.ts","../../node_modules/.pnpm/react-select@5.9.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-select/dist/declarations/src/styles.d.ts","../../node_modules/.pnpm/react-select@5.9.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-select/dist/declarations/src/types.d.ts","../../node_modules/.pnpm/react-select@5.9.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-select/dist/declarations/src/accessibility/index.d.ts","../../node_modules/.pnpm/react-select@5.9.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-select/dist/declarations/src/components/index.d.ts","../../node_modules/.pnpm/react-select@5.9.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-select/dist/declarations/src/theme.d.ts","../../node_modules/.pnpm/react-select@5.9.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-select/dist/declarations/src/select.d.ts","../../node_modules/.pnpm/react-select@5.9.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-select/dist/declarations/src/usestatemanager.d.ts","../../node_modules/.pnpm/react-select@5.9.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-select/dist/declarations/src/statemanager.d.ts","../../node_modules/.pnpm/react-select@5.9.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-select/dist/declarations/src/nonceprovider.d.ts","../../node_modules/.pnpm/react-select@5.9.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-select/dist/declarations/src/index.d.ts","../../node_modules/.pnpm/react-select@5.9.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-select/dist/react-select.cjs.default.d.ts","../../node_modules/.pnpm/react-select@5.9.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-select/dist/react-select.cjs.d.mts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/reactselect/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/reactselect/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/listdrawer/provider.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/listdrawer/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/listdrawer/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/views/list/listselection/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/views/list/listheader/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/views/list/groupbyheader/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/listquery/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/pagecontrols/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/stickytoolbar/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/pagecontrols/groupbypagecontrols.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/loadingoverlay/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/loading/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/logout/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/modal/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/nav/navtoggler/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/nav/context.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/navgroup/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/pagination/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/perpage/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/pill/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/popup/popupdivider/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/popup/popupgrouplabel/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/popup/popupbuttonlist/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/popup/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/combobox/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/publishmany/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/publishbutton/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/savebutton/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/savedraftbutton/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/unpublishbutton/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/sessions.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/bin/generateimportmap/utilities/getfromimportmap.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/bin/generateimportmap/utilities/parsepayloadcomponent.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/config/defaults.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/config/orderable/fractional-indexing.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/basefields/timezone/defaulttimezones.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/getfieldpaths.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/folders/utils/buildfolderwhereconstraints.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/folders/utils/formatfolderordocumentitem.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/preferences/keys.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/uploads/formatfilesize.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/uploads/isimage.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/appenduploadselectfields.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/applylocalefiltering.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/combinewhereconstraints.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/extractid.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/formatadminurl.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/getbestfitfromsizes.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/getdatabypath.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/getfieldpermissions.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/getsaferedirect.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/getselectmode.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/getsiblingdata.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/getuniquelistby.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/getversionsconfig.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/isnextbuild.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/isnumber.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/isreactcomponent.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/mergelistsearchandwhere.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/reducefieldstovalues.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/sanitizefilename.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/sanitizeurl.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/sanitizeuserdataforemail.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/setsareequal.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/slugify.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/tokebabcase.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/transformwherequery.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/unflatten.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/validatemimetype.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/validatewherequery.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/wait.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/wordboundariesregex.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/exports/shared.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/folders/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/folderview/browsebyfolderbutton/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/folderview/foldertypefield/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/folderview/folderfiletable/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/folderview/itemcardgrid/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/rendertitle/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/shimmereffect/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/stepnav/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/stepnav/setstepnav.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/stepnav/context.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/stepnav/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/table/relationshipprovider/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/table/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/table/defaultcell/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/thumbnail/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/tooltip/index.d.ts","../../node_modules/.pnpm/sonner@1.7.4_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/sonner/dist/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/unpublishmany/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/upload/index.d.ts","../../node_modules/.pnpm/qs-esm@8.0.1/node_modules/qs-esm/lib/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/searchfilter/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/searchfilter/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/editupload/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/filedetails/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/previewsizes/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/previewbutton/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/relationshiptable/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/timezonepicker/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/timezonepicker/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/folderview/movedoctofolder/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/blocks/blocksdrawer/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/blocks/blockselector/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/blocks/sectiontitle/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/itemsdrawer/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/hidden/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/array/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/blocks/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/checkbox/input.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/checkbox/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/code/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/codeeditor/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/codeeditor/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/codeeditor/codeeditor.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/collapsible/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/datetime/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/email/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/fielddescription/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/fielderror/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/fieldlabel/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/group/provider.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/group/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/json/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/number/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/password/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/password/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/point/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/radiogroup/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/relationship/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/relationship/input.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/relationship/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/richtext/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/row/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/select/input.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/select/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/tabs/provider.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/tabs/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/tabs/tab/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/slug/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/text/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/text/input.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/text/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/join/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/textarea/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/textarea/input.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/textarea/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/ui/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/upload/input.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/upload/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/forms/form/mergeserverformstate.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/forms/form/types.d.ts","../../node_modules/.pnpm/use-context-selector@2.0.0_react@19.2.4_scheduler@0.25.0/node_modules/use-context-selector/dist/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/forms/form/context.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/forms/form/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/forms/form/fieldreducer.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/forms/nullifyfield/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/forms/renderfields/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/forms/renderfields/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/forms/rowlabel/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/forms/rowlabel/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/forms/rowlabel/context/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/forms/submit/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/forms/watchchilderrors/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/forms/usefield/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/forms/usefield/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/forms/withcondition/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/forms/withcondition/watchcondition.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/graphics/account/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/graphics/icon/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/graphics/defaultblockimage/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/graphics/file/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/icons/calendar/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/icons/check/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/icons/chevron/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/icons/closemenu/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/icons/codeblock/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/icons/copy/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/icons/draghandle/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/icons/edit/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/icons/externallink/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/icons/line/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/icons/link/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/icons/logout/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/icons/menu/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/icons/minimizemaximize/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/icons/more/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/icons/plus/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/icons/search/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/icons/swap/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/icons/x/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/icons/folder/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/icons/gear/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/icons/document/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/icons/movefolder/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/icons/gridview/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/icons/listview/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/toastcontainer/icons/error.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/toastcontainer/icons/info.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/toastcontainer/icons/success.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/toastcontainer/icons/warning.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/forms/fieldschemastoformstate/serverfunctions/renderfieldserverfn.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/utilities/buildformstate.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/utilities/buildtablestate.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/utilities/copydatafromlocale.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/utilities/getfolderresultscomponentanddata.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/utilities/schedulepublishhandler.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/serverfunctions/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/actions/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/auth/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/clientfunction/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/hooks/usepopupwindow.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/livepreview/sizereducer.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/livepreview/context.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/livepreview/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/routetransition/progressbar/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/routetransition/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/config/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/documentevents/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/documentinfo/usegetdocpermissions.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/documentinfo/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/documentinfo/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/documenttitle/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/uploadcontrols/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/editdepth/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/entityvisibility/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/uploadedits/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/listquery/context.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/listquery/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/locale/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/operation/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/params/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/preferences/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/theme/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/root/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/routecache/index.d.ts","../../node_modules/.pnpm/@faceless-ui+scroll-info@2.0.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@faceless-ui/scroll-info/dist/scrollinfoprovider/context.d.ts","../../node_modules/.pnpm/@faceless-ui+scroll-info@2.0.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@faceless-ui/scroll-info/dist/scrollinfo/index.d.ts","../../node_modules/.pnpm/@faceless-ui+scroll-info@2.0.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@faceless-ui/scroll-info/dist/scrollinfoprovider/index.d.ts","../../node_modules/.pnpm/@faceless-ui+scroll-info@2.0.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@faceless-ui/scroll-info/dist/usescrollinfo/index.d.ts","../../node_modules/.pnpm/@faceless-ui+scroll-info@2.0.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@faceless-ui/scroll-info/dist/withscrollinfo/index.d.ts","../../node_modules/.pnpm/@faceless-ui+scroll-info@2.0.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@faceless-ui/scroll-info/dist/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/scrollinfo/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/searchparams/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/uploadhandlers/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/translation/index.d.ts","../../node_modules/.pnpm/@faceless-ui+window-info@3.0.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@faceless-ui/window-info/dist/windowinfoprovider/index.d.ts","../../node_modules/.pnpm/@faceless-ui+window-info@3.0.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@faceless-ui/window-info/dist/windowinfoprovider/context.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/windowinfo/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/hooks/usecontrollablestate.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/wherebuilder/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/wherebuilder/condition/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/wherebuilder/condition/text/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/wherebuilder/condition/text/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/wherebuilder/condition/select/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/wherebuilder/condition/select/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/wherebuilder/condition/relationship/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/wherebuilder/condition/relationship/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/wherebuilder/condition/number/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/wherebuilder/condition/number/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/wherebuilder/condition/date/types.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/wherebuilder/condition/date/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/emailandusername/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/selectall/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/selectrow/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/selectmany/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/views/list/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/views/collectionfolder/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/views/browsebyfolder/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/views/edit/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/views/edit/setdocumentstepnav/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/views/edit/setdocumenttitle/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/utilities/parsesearchparams.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/fielddifflabel/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/fielddiffcontainer/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/utilities/formatdoctitle/formatdatetitle.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/livepreview/window/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/exports/client/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/utilities/fieldsdrawer/uselexicaldocumentdrawer.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/utilities/fieldsdrawer/uselexicaldrawer.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/utilities/fieldsdrawer/uselexicallistdrawer.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/client/componentinline/components/inlineblockeditbutton.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/client/componentinline/components/inlineblockremovebutton.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/client/componentinline/components/inlineblocklabel.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/client/componentinline/components/inlineblockcontainer.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/server/nodes/inlineblocksnode.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/client/componentinline/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/client/component/blockcontent.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/client/component/components/blockcollapsible.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/client/component/components/blockeditbutton.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/client/component/components/blockremovebutton.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/converters/utilities/restpopulatefn.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/premade/codeblock/converter.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/premade/codeblock/converterclient.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/premade/codeblock/component/code.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/premade/codeblock/component/block.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/nodetypes.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/field/renderlexical/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/utilities/buildeditorstate.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_xwnff6ngdjmsseajjiuft4bxoi/node_modules/@payloadcms/richtext-lexical/dist/exports/client/index.d.ts","../../node_modules/.pnpm/@payloadcms+next@3.81.0_@types+react@19.2.14_graphql@16.13.2_monaco-editor@0.55.1_next@15.5.1_gdi2sk4zcq6aimr6i23pz2rh5e/node_modules/@payloadcms/next/dist/elements/documentheader/index.d.ts","../../node_modules/.pnpm/@payloadcms+next@3.81.0_@types+react@19.2.14_graphql@16.13.2_monaco-editor@0.55.1_next@15.5.1_gdi2sk4zcq6aimr6i23pz2rh5e/node_modules/@payloadcms/next/dist/elements/logo/index.d.ts","../../node_modules/.pnpm/@payloadcms+next@3.81.0_@types+react@19.2.14_graphql@16.13.2_monaco-editor@0.55.1_next@15.5.1_gdi2sk4zcq6aimr6i23pz2rh5e/node_modules/@payloadcms/next/dist/elements/nav/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/folderview/cell/index.server.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/folderview/folderfield/index.server.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/utilities/getcolumns.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/utilities/handlelivepreview.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/utilities/handlepreview.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/utilities/rendertable.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/utilities/resolvefilteroptions.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/utilities/upsertpreferences.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/widgets/collectioncards/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/exports/rsc/index.d.ts","../../node_modules/.pnpm/@payloadcms+next@3.81.0_@types+react@19.2.14_graphql@16.13.2_monaco-editor@0.55.1_next@15.5.1_gdi2sk4zcq6aimr6i23pz2rh5e/node_modules/@payloadcms/next/dist/exports/rsc.d.ts","./src/app/(payload)/admin/importmap.js","./src/app/(payload)/layout.tsx","../../node_modules/.pnpm/@payloadcms+next@3.81.0_@types+react@19.2.14_graphql@16.13.2_monaco-editor@0.55.1_next@15.5.1_gdi2sk4zcq6aimr6i23pz2rh5e/node_modules/@payloadcms/next/dist/views/account/index.d.ts","../../node_modules/.pnpm/@payloadcms+next@3.81.0_@types+react@19.2.14_graphql@16.13.2_monaco-editor@0.55.1_next@15.5.1_gdi2sk4zcq6aimr6i23pz2rh5e/node_modules/@payloadcms/next/dist/views/createfirstuser/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/withmergedprops/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/elements/withserversideprops/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/fields/mergefieldstyles.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/forms/form/reducetoserializablefields.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/graphics/logo/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/tablecolumns/buildcolumnstate/filterfields.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/providers/tablecolumns/getinitialcolumns.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/utilities/abortandignore.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/utilities/api.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/utilities/findlocalefromcode.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/utilities/formatadminurl.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/utilities/formatdoctitle/index.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/utilities/getglobaldata.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/utilities/groupnavitems.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/utilities/getnavgroups.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/utilities/getvisibleentities.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/utilities/handlebacktodashboard.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/utilities/handlegoback.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/utilities/handletakeover.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/utilities/hassavepermission.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/utilities/isclientuserobject.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/utilities/isediting.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/utilities/sanitizeid.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/utilities/traverseforlocalizedfields.d.ts","../../node_modules/.pnpm/@payloadcms+ui@3.81.0_@types+react@19.2.14_monaco-editor@0.55.1_next@15.5.14_@babel+core@7.25_yq5kz77lmtmqkd2bm3xxitrn6m/node_modules/@payloadcms/ui/dist/exports/shared/index.d.ts","../../node_modules/.pnpm/@payloadcms+next@3.81.0_@types+react@19.2.14_graphql@16.13.2_monaco-editor@0.55.1_next@15.5.1_gdi2sk4zcq6aimr6i23pz2rh5e/node_modules/@payloadcms/next/dist/views/dashboard/default/index.d.ts","../../node_modules/.pnpm/@payloadcms+next@3.81.0_@types+react@19.2.14_graphql@16.13.2_monaco-editor@0.55.1_next@15.5.1_gdi2sk4zcq6aimr6i23pz2rh5e/node_modules/@payloadcms/next/dist/views/dashboard/index.d.ts","../../node_modules/.pnpm/@payloadcms+next@3.81.0_@types+react@19.2.14_graphql@16.13.2_monaco-editor@0.55.1_next@15.5.1_gdi2sk4zcq6aimr6i23pz2rh5e/node_modules/@payloadcms/next/dist/views/list/index.d.ts","../../node_modules/.pnpm/@payloadcms+next@3.81.0_@types+react@19.2.14_graphql@16.13.2_monaco-editor@0.55.1_next@15.5.1_gdi2sk4zcq6aimr6i23pz2rh5e/node_modules/@payloadcms/next/dist/views/login/index.d.ts","../../node_modules/.pnpm/@payloadcms+next@3.81.0_@types+react@19.2.14_graphql@16.13.2_monaco-editor@0.55.1_next@15.5.1_gdi2sk4zcq6aimr6i23pz2rh5e/node_modules/@payloadcms/next/dist/views/notfound/index.d.ts","../../node_modules/.pnpm/@payloadcms+next@3.81.0_@types+react@19.2.14_graphql@16.13.2_monaco-editor@0.55.1_next@15.5.1_gdi2sk4zcq6aimr6i23pz2rh5e/node_modules/@payloadcms/next/dist/views/root/index.d.ts","../../node_modules/.pnpm/@payloadcms+next@3.81.0_@types+react@19.2.14_graphql@16.13.2_monaco-editor@0.55.1_next@15.5.1_gdi2sk4zcq6aimr6i23pz2rh5e/node_modules/@payloadcms/next/dist/views/root/metadata.d.ts","../../node_modules/.pnpm/@payloadcms+next@3.81.0_@types+react@19.2.14_graphql@16.13.2_monaco-editor@0.55.1_next@15.5.1_gdi2sk4zcq6aimr6i23pz2rh5e/node_modules/@payloadcms/next/dist/exports/views.d.ts","./src/app/(payload)/admin/[[...segments]]/not-found.tsx","./src/app/(payload)/admin/[[...segments]]/page.tsx","../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.13_@types+node@22.19.17_happy-dom@20.8.9_jiti@2.7.0_jsdom@25.0._eilcqkakhi6sgyexltx2n5amsi/node_modules/vitest/globals.d.ts","./.next/types/routes.d.ts"],"fileIdsList":[[76,124,141,142,471,1058],[76,124,141,142,475,476,3512],[76,124,141,142,475,2768,3472,3508],[76,124,141,142,2785,3457,3471],[76,124,141,142,2768,2774],[62,76,124,141,142,2198,2603,2768,2779,3472],[76,124,141,142,471,1054,1059],[76,124,141,142,1054,2768],[76,124,141,142,2767],[62,76,124,141,142,3009],[76,124,141,142,3011],[76,124,141,142],[76,124,141,142,3009],[76,124,141,142,3009,3010,3012,3013],[76,124,141,142,3008],[62,76,124,141,142,2954,2978,2983,3002,3014,3039,3042,3043],[76,124,141,142,3043,3044],[76,124,141,142,2983,3002],[62,76,124,141,142,3046],[76,124,141,142,3046,3047,3048,3049],[76,124,141,142,2983],[76,124,141,142,3046],[62,76,124,141,142,2983],[76,124,141,142,3051],[76,124,141,142,3052,3054,3056],[76,124,141,142,3053],[62,76,124,141,142],[76,124,141,142,3055],[62,76,124,141,142,2954,2983],[62,76,124,141,142,3042,3057,3060],[76,124,141,142,3058,3059],[76,124,141,142,2954,2983,3008,3045],[76,124,141,142,3060,3061],[76,124,141,142,3014,3045,3050,3062],[76,124,141,142,3002,3064,3065,3066],[62,76,124,141,142,3008],[62,76,124,141,142,2954,2983,3002,3008],[62,76,124,141,142,2983,3008],[76,124,141,142,2984,2985,2986,2987,2988,2989,2990,2991,2992,2993,2994,2995,2996,2997,2998,2999,3000,3001],[76,124,141,142,2983,3008],[76,124,141,142,2978,2986],[76,124,141,142,2983,3004],[76,124,141,142,2933,2983],[76,124,141,142,2954],[76,124,141,142,2978],[76,124,141,142,3068],[76,124,141,142,2978,2983,3008,3039,3042,3063,3067],[76,124,141,142,2954,3040],[76,124,141,142,3040,3041],[76,124,141,142,2954,2983,3008],[76,124,141,142,2966,2967,2968,2969,2971,2973,2977],[76,124,141,142,2974],[76,124,141,142,2974,2975,2976],[76,124,141,142,2967,2974],[76,124,141,142,2967,2983],[76,124,141,142,2970],[62,76,124,141,142,2966,2967],[76,124,141,142,2964,2965],[62,76,124,141,142,2964,2967],[76,124,141,142,2972],[62,76,124,141,142,2963,2966,2983,3008],[76,124,141,142,2967],[62,76,124,141,142,3004],[76,124,141,142,3004,3005,3006,3007],[76,124,141,142,3004,3005],[62,76,124,141,142,2954,2963,2983,3002,3003,3005,3063],[76,124,141,142,2955,2963,2978,2983,3008],[76,124,141,142,2955,2956,2979,2980,2981,2982],[62,76,124,141,142,2954],[76,124,141,142,2957],[76,124,141,142,2957,2983],[76,124,141,142,2957,2958,2959,2960,2961,2962],[76,124,141,142,3015,3016,3017],[76,124,141,142,2963,3018,3025,3027,3038],[76,124,141,142,3026],[76,124,141,142,2954,2983],[76,124,141,142,3019,3020,3021,3022,3023,3024],[76,124,141,142,2982],[76,124,141,142,3028,3029,3030,3031,3032,3033,3034,3035,3036,3037],[76,124,141,142,2933],[76,124,141,142,2933,2934],[76,124,141,142,2937,2938,2939],[76,124,141,142,2941,2942,2943],[76,124,141,142,2945],[76,124,141,142,2922,2923,2924,2925,2926,2927,2928,2929,2930],[76,124,141,142,2931,2932,2935,2936,2940,2944,2946,2952,2953],[76,124,141,142,2947,2948,2949,2950,2951],[76,124,141,142,3115,3116],[76,124,141,142,3117,3118],[76,124,141,142,3117],[62,76,124,141,142,3121,3124],[62,76,124,141,142,3119],[76,124,141,142,3115,3121],[76,124,141,142,3119,3121,3122,3123,3124,3126,3127,3128,3129,3130],[62,76,124,141,142,3125],[76,124,141,142,3121],[62,76,124,141,142,3123],[76,124,141,142,3125],[76,124,141,142,3131],[61,76,124,141,142,3115],[76,124,141,142,3120],[76,124,141,142,3111],[76,124,141,142,3113],[76,124,141,142,3112],[76,124,141,142,3114],[62,76,124,141,142,3095],[76,124,141,142,3093,3094,3095,3096,3097,3098,3099],[62,76,124,141,142,3092,3094],[62,76,124,141,142,3093],[62,76,124,141,142,3094],[76,124,141,142,3094],[76,124,141,142,3394,3395,3396,3397,3398],[62,76,124,141,142,3394],[76,124,141,142,3394],[76,124,141,142,1905],[76,124,141,142,1906,1907],[62,76,124,141,142,1908],[62,76,124,141,142,1909],[76,124,141,142,2635,2651],[76,124,141,142,2635],[62,76,124,141,142,2635],[76,124,141,142,2635,2649],[76,124,141,142,2635,2662],[76,124,141,142,2635,2650,2651,2652,2653,2654,2655,2656,2657,2658,2659,2660,2662,2663,2664,2665],[76,124,141,142,2635,2661],[76,124,141,142,2650],[76,124,141,142,2635,2650],[76,124,141,142,2649],[76,124,141,142,2635,2650,2651],[76,124,141,142,2681,2685],[76,124,141,142,2635,2666,2680,2681,2682,2683,2684],[76,124,141,142,2635,2685],[76,124,141,142,2647,2648,2667,2668,2669,2670,2671,2672,2673,2674],[76,124,141,142,2635,2666],[76,124,141,142,2635,2647,2670],[76,124,141,142,2635,2647,2668,2669,2671],[76,124,141,142,2635,2666,2667],[76,124,141,142,2635,2647,2671],[76,124,141,142,2635,2647,2668,2670,2671],[76,124,141,142,2635,2647,2668,2670,2671,2673,2675],[62,76,124,141,142,1524,1526],[76,124,141,142,2198,2495,2601,2603],[76,124,141,142,2198,2403,2495,2507,2510,2601,2602],[76,124,141,142,2198,2603],[76,124,141,142,2198,2535,2603],[76,124,141,142,2536,2587,2588,2589,2590,2591,2592,2593,2594,2595,2596,2597,2598,2599,2600],[76,124,141,142,2535],[76,124,141,142,2511,2533,2534,2535,2537,2538,2539,2540,2541,2542,2543,2544,2545,2546,2547,2548,2549,2550,2551,2552,2553,2554,2555,2556,2557,2558,2559,2560,2561,2562,2563,2564,2565,2566,2567,2568,2569,2570,2571,2572,2573,2574,2576,2577,2578,2579,2580,2581,2582,2583,2584,2585],[76,124,141,142,2587],[76,124,141,142,2530],[76,124,141,142,2403],[76,124,141,142,2198,2374,2403,2489,2495,2510,2530,2532,2535,2586,2603],[76,124,141,142,2198,2403,2495,2535,2603],[76,124,141,142,2495],[76,124,141,142,2198,2495,2511,2535,2603],[76,124,141,142,2198,2403,2466,2467,2489,2495,2500,2510,2511,2530,2532,2533,2534,2603],[76,124,141,142,2198,2575,2603],[76,124,141,142,2198,2495,2535,2603],[76,124,141,142,2535,2581],[62,76,124,141,142,2198,2603],[76,124,141,142,2777,2778],[76,124,141,142,2772,2773],[76,124,141,142,3458,3459,3460,3470],[76,124,141,142,3474,3475,3501,3502,3503,3504,3505,3506,3507],[76,124,141,142,2770,2771],[62,76,124,141,142,2198,2603,3500],[62,76,124,141,142,475,2198,2603],[62,76,124,141,142,475,1517,2198,2603],[76,124,141,142,475,2198,2603],[76,124,141,142,2640],[76,124,141,142,2635,2640,2643,2689],[62,76,124,141,142,2635,2690],[76,124,141,142,2198,2603,2698],[76,124,141,142,2198,2603,2640],[62,76,124,141,142,2198,2603,2635,2645,2689],[62,76,124,141,142,2198,2603,2635,2689],[76,124,141,142,2635,2641,2689],[76,124,141,142,2198,2603,2703],[76,124,141,142,2198,2603,2635,2689,2702],[76,124,141,142,2639,2689],[76,124,141,142,2639],[76,124,141,142,2198,2603,2635,2639],[76,124,141,142,2198,2603,2635],[76,124,141,142,2198,2603,2639,2641],[76,124,141,142,2639,2640],[76,124,141,142,2635,2641],[76,124,141,142,2703],[76,124,141,142,2635,2640,2675,2689],[62,76,124,141,142,2635,2689],[76,124,141,142,2694,2733],[76,124,141,142,2635,2679],[76,124,141,142,2635,2679,2730],[76,124,141,142,2635,2679,2729],[76,124,141,142,2198,2603,2635,2689],[76,124,141,142,2198,2603,2640,2732],[76,124,141,142,2635,2685,2689,2694],[76,124,141,142,1251,2640,2741],[76,124,141,142,2640,2693],[62,76,124,141,142,1517,2635,2692,2696],[62,76,124,141,142,2198,2603,2635,2638,2641,2642,2693,2696],[76,124,141,142,1517,1520,2198,2603,2635,2638,2639,2641,2694,2696],[76,124,141,142,2635,2640],[76,124,141,142,2694,2747],[76,124,141,142,2198,2603,2640,2746],[76,124,141,142,2638,2639,2640,2641,2642,2644,2646,2676,2677,2679,2687,2688,2689,2690,2692,2693,2694,2696,2697,2699,2700,2701,2704,2705,2706,2707,2708,2709,2710,2711,2712,2713,2714,2715,2716,2717,2718,2719,2720,2721,2722,2723,2724,2725,2726,2727,2728,2730,2731,2733,2734,2735,2736,2737,2738,2739,2740,2742,2743,2744,2745,2747,2748,2749,2750,2751,2752,2753,2754,2755,2756,2757,2758,2759,2760,2761,2762],[62,76,124,141,142,1251,2635,2641,2691,2696],[76,124,141,142,2635,2640,2641],[76,124,141,142,2198,2603,2640,2641],[76,124,141,142,2635,2640,2694,2696],[62,76,124,141,142,1517,2635,2696],[76,124,141,142,2635,2644,2646,2676,2677,2678,2679,2686,2687,2688,2690],[76,124,141,142,2635,2636,2637],[76,124,141,142,2635,2636],[76,124,141,142,2198,2603,2635,2640,2641,2694,2695],[76,124,141,142,2635,2689],[76,124,141,142,2198,2603,2635,2640,2641,2696],[62,76,124,141,142,2696],[76,124,141,142,2691,2692,2698,2716,2730,2731,2732,2740,2746,2751,2752,2756,2759,2787,2789,2790,2791,2794,2795,2796,2797,2798,2799,2800,2801,2802,2803,2805,2807,2808,2810,2812,2813,2814,2815,2816,2817,2818,2821,2823,2824,2825,2826,2828,2829,2830,2831,2833,2835,2837,2838,2839,2840,2841,2842,2843,2845,2846,2847,2848,2849,2850,2851,2855,2858,2860,2863,2866,3436,3437,3438,3439,3440,3441,3442,3444,3445,3446,3447,3448,3451,3453,3455],[76,124,141,142,2781,2782,2784],[76,124,141,142,2694],[62,76,124,141,142,2198,2603,3072],[62,76,124,141,142,3445],[62,76,124,141,142,2198,2603,2690],[62,76,124,141,142,2635,2646],[76,124,141,142,2635,2793],[76,124,141,142,2646,2694],[62,76,124,141,142,2698],[76,124,141,142,3450],[76,124,141,142,2693],[76,124,141,142,2677,2694],[76,124,141,142,2635,2678],[76,124,141,142,2694,2728],[76,124,141,142,2694,2739],[62,76,124,141,142,2635,2687],[76,124,141,142,2642],[76,124,141,142,2694,2742],[76,124,141,142,2694,2743],[62,76,124,141,142,2635,2693],[62,76,124,141,142,2635,2693,2832],[76,124,141,142,2635,2693],[62,76,124,141,142,2635,2688],[62,76,124,141,142,2689,2696,3435],[62,76,124,141,142,2198,2603,2641,2696],[76,124,141,142,2635,2641,2694,2696],[62,76,124,141,142,2635,2642,2853,2854],[62,76,124,141,142,2635,2642,2853],[76,124,141,142,2846],[76,124,141,142,2198,2603,2641,2694,2696],[76,124,141,142,3435],[76,124,141,142,2635,3435],[76,124,141,142,1510,1513,1514,1515,1516],[76,124,141,142,2196],[76,124,141,142,1509],[76,124,141,142,1514],[76,124,141,142,1509,1511,1512,1513],[62,76,124,141,142,1514],[62,76,124,141,142,2198,2603,2912],[76,124,141,142,2198,2603,2913],[62,76,124,141,142,2198,2603,2913],[62,76,124,141,142,2917],[62,76,124,141,142,3270],[76,124,141,142,1527],[62,76,124,141,142,3070,3071],[62,76,124,141,142,3180],[62,76,124,141,142,2907],[62,76,124,141,142,2198,2603,3076],[62,76,124,141,142,3080],[62,76,124,141,142,2198,2603,3076,3079],[62,76,124,141,142,3002,3068,3069],[62,76,124,141,142,3002],[62,76,124,141,142,3079,3087],[62,76,124,141,142,1517,2198,2603],[62,76,124,141,142,1517],[76,124,141,142,1517,2198,2603],[62,76,124,141,142,3229],[62,76,124,141,142,2917,3229],[62,76,124,141,142,3100],[62,76,124,141,142,3082],[62,76,124,141,142,2895],[62,76,124,141,142,448],[62,76,124,141,142,3107],[62,76,124,141,142,3158],[62,76,124,141,142,2198,2603,3080,3109,3156],[62,76,124,141,142,2198,2603,3157],[62,76,124,141,142,3167],[76,124,141,142,3100],[62,76,124,141,142,2198,2603,3163],[62,76,124,141,142,3179],[62,76,124,141,142,448,3177,3178],[62,76,124,141,142,3155],[76,124,141,142,2198,2603,3080,3154],[62,76,124,141,142,2198,2603,3080],[62,76,124,141,142,3250],[76,124,141,142,3249],[62,76,124,141,142,3109],[62,76,124,141,142,3237],[62,76,124,141,142,3237,3238,3239],[76,124,141,142,3237],[62,76,124,141,142,3257],[62,76,124,141,142,3418],[76,124,141,142,2198,2603,3409],[62,76,124,141,142,3416],[62,76,124,141,142,3414],[76,124,141,142,1517,2198,2603,3409],[62,76,124,141,142,3412],[62,76,124,141,142,3410],[76,124,141,142,2198,2603,3408],[76,124,141,142,2198,2603,2868,2869,2870,2871,2872,2873,2874,2875,2876,2877,2878,2879,2880,2881,2882,2883,2884,2885,2886,2887,2888,2889,2890,2891,2892,2893,2894,2895,2896,2897,2898,2899,2900,2903,2904,2905,2906,2908,2909,2910,2911,2914,2915,2916,2918,2919,2920,2921,3072,3073,3074,3075,3076,3077,3078,3080,3081,3083,3084,3085,3086,3087,3088,3089,3090,3101,3102,3103,3104,3105,3106,3108,3109,3156,3157,3158,3159,3160,3161,3162,3164,3165,3166,3168,3169,3170,3171,3172,3173,3174,3175,3176,3179,3180,3181,3182,3183,3184,3185,3186,3230,3231,3232,3233,3234,3235,3236,3237,3238,3240,3241,3242,3243,3244,3245,3246,3247,3248,3251,3252,3253,3254,3255,3256,3258,3259,3260,3261,3262,3263,3264,3265,3266,3268,3269,3271,3272,3273,3274,3275,3276,3277,3278,3280,3281,3282,3284,3285,3286,3289,3290,3291,3293,3295,3296,3297,3300,3301,3304,3305,3307,3309,3311,3312,3313,3314,3316,3318,3319,3320,3321,3322,3323,3324,3325,3326,3327,3328,3329,3330,3331,3332,3333,3334,3335,3336,3337,3338,3339,3340,3341,3342,3343,3344,3345,3346,3347,3348,3349,3350,3351,3352,3353,3354,3355,3356,3357,3358,3359,3365,3366,3367,3368,3371,3372,3373,3374,3375,3376,3379,3380,3381,3382,3383,3384,3386,3387,3388,3389,3390,3391,3392,3393,3400,3401,3402,3403,3406,3407,3411,3413,3415,3417,3419,3420,3421,3422,3423,3424,3425,3426,3427,3428,3429,3430,3431,3432,3433,3434],[76,124,141,142,3083,3329,3331,3359,3362,3363,3431,3432,3461,3462,3463,3464,3465,3466,3467,3468,3469],[76,124,141,142,2906,3229,3327,3433,3476,3477,3478,3479,3480,3481,3482,3483,3484,3485,3486,3487,3488,3489,3490,3491,3492,3493,3494,3495,3496,3497,3498,3499],[62,76,124,141,142,2198,2603,3267],[62,76,124,141,142,1527,2198,2603],[62,76,124,141,142,2198,2603,3279],[62,76,124,141,142,2198,2603,2868,2869],[62,76,124,141,142,3283],[62,76,124,141,142,1251,2198,2603],[62,76,124,141,142,2198,2603,3288],[62,76,124,141,142,3287],[62,76,124,141,142,2198,2603,3292],[62,76,124,141,142,2198,2603,3155],[62,76,124,141,142,2198,2603,3294],[62,76,124,141,142,2198,2603,3298,3299],[62,76,124,141,142,3298],[62,76,124,141,142,2198,2603,3302,3303],[62,76,124,141,142,3302],[62,76,124,141,142,2198,2603,3306],[62,76,124,141,142,2198,2603,3309,3310],[76,124,141,142,2198,2603,3309],[62,76,124,141,142,3309,3311],[62,76,124,141,142,2198,2603,3308],[62,76,124,141,142,3315],[62,76,124,141,142,3317],[62,76,124,141,142,3322],[62,76,124,141,142,3378],[62,76,124,141,142,2198,2603,3377],[62,76,124,141,142,2198,2603,3229],[62,76,124,141,142,3163],[62,76,124,141,142,3163,3385],[62,76,124,141,142,2198,2603,3369,3370],[62,76,124,141,142,2198,2603,3371],[62,76,124,141,142,458],[62,76,124,141,142,3309],[62,76,124,141,142,1517,2198,2603,3391],[76,124,141,142,3399],[62,76,124,141,142,3249],[62,76,124,141,142,2198,2603,3229,3359,3360,3361,3362,3363,3364],[62,76,124,141,142,2901],[62,76,124,141,142,2901,2902],[76,124,141,142,2198,2603,2900],[62,76,124,141,142,3404,3405],[76,124,141,142,3229],[76,124,141,142,1517],[76,124,141,142,2198,2603,3229],[76,124,141,142,1517,2198,2603,3489],[76,124,141,142,345],[76,124,141,142,458,3249],[76,124,138,141,142,156,174],[76,124,141,142,1032,1033],[76,121,122,124,141,142],[76,123,124,141,142],[124,141,142],[76,124,129,141,142,159],[76,124,125,130,135,141,142,144,156,167],[76,124,125,126,135,141,142,144],[71,72,73,76,124,141,142],[76,124,127,141,142,168],[76,124,128,129,136,141,142,145],[76,124,129,141,142,156,164],[76,124,130,132,135,141,142,144],[76,123,124,131,141,142],[76,124,132,133,141,142],[76,124,134,135,141,142],[76,123,124,135,141,142],[76,124,135,136,137,141,142,156,167],[76,124,135,136,137,141,142,151,156,159],[76,117,124,132,135,138,141,142,144,156,167],[76,124,135,136,138,139,141,142,144,156,164,167],[76,124,138,140,141,142,156,164,167],[74,75,76,77,78,79,80,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173],[76,124,135,141,142],[76,124,141,142,143,167],[76,124,132,135,141,142,144,156],[76,124,141,142,145],[76,124,141,142,146],[76,123,124,141,142,147],[76,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173],[76,124,141,142,149],[76,124,141,142,150],[76,124,135,141,142,151,152],[76,124,141,142,151,153,168,170],[76,124,136,141,142],[76,124,135,141,142,156,157,159],[76,124,141,142,158,159],[76,124,141,142,156,157],[76,124,141,142,159],[76,124,141,142,160],[76,121,124,141,142,156,161,167],[76,124,135,141,142,162,163],[76,124,141,142,162,163],[76,124,129,141,142,144,156,164],[76,124,141,142,165],[76,124,141,142,144,166],[76,124,138,141,142,150,167],[76,124,129,141,142,168],[76,124,141,142,156,169],[76,124,141,142,143,170],[76,124,141,142,171],[76,117,124,141,142],[76,117,124,135,137,141,142,147,156,159,167,169,170,172],[76,124,141,142,156,173],[76,124,135,141,142,156,164,174,2502,2503,2506,2507],[76,124,135,141,142,156,164,174,2503,2506,2531,2532],[62,66,76,124,141,142,175,176,177,179,419,467],[62,66,76,124,141,142,175,176,177,178,334,419,467],[62,66,76,124,141,142,175,176,178,179,419,467],[62,76,124,141,142,179,334,335],[62,76,124,141,142,179,334],[62,66,76,124,141,142,176,177,178,179,419,467],[62,66,76,124,141,142,175,177,178,179,419,467],[60,61,76,124,141,142],[76,124,135,138,140,141,142,144,156,164,167,173,174],[76,124,141,142,482,483,486,1043],[76,124,141,142,1019,1020],[76,124,141,142,483,484,486,487,488],[76,124,141,142,483],[76,124,141,142,483,484,486],[76,124,141,142,483,484],[76,124,141,142,1026],[76,124,141,142,478,1026,1027],[76,124,141,142,478,1026],[76,124,141,142,478,485],[76,124,141,142,479],[76,124,141,142,478,479,480,482],[76,124,141,142,478],[76,124,141,142,1620],[76,124,141,142,1618,1620],[76,124,141,142,1618],[76,124,141,142,1620,1695,1696],[76,124,141,142,1698],[76,124,141,142,1699],[76,124,141,142,1716],[76,124,141,142,1620,1632,1633,1634,1635,1636,1637,1638,1639,1640,1641,1642,1643,1644,1645,1646,1647,1648,1649,1650,1651,1652,1653,1654,1655,1656,1657,1658,1659,1660,1661,1662,1663,1664,1665,1666,1667,1668,1669,1670,1671,1672,1673,1674,1675,1676,1677,1678,1679,1680,1681,1682,1683,1684,1685,1686,1687,1688,1689,1690,1691,1692,1693,1694,1697,1698,1699,1700,1701,1702,1703,1704,1705,1706,1707,1708,1709,1710,1711,1712,1713,1714,1715,1717,1718,1719,1720,1721,1722,1723,1724,1725,1726,1727,1728,1729,1730,1731,1732,1733,1734,1735,1736,1737,1738,1739,1740,1741,1742,1743,1744,1745,1746,1747,1748,1749,1750,1751,1752,1753,1754,1755,1756,1757,1758,1759,1760,1761,1762,1763,1764,1765,1766,1767,1768,1769,1770,1771,1772,1773,1774,1775,1776,1777,1778,1779,1780,1781,1782,1783,1784,1785,1786,1787,1788,1789,1790,1791,1793,1794,1795,1796,1797,1798,1799,1800,1801,1802,1803,1804,1805,1806,1807,1808,1809,1810,1811,1812,1817,1818,1819,1820,1821,1822,1823,1824,1825,1826,1827,1828,1829,1830,1831,1832,1833,1834,1835,1836,1837,1838,1839,1840,1841,1842,1843,1844,1845,1846,1847,1848,1849,1850,1851,1852,1853,1854,1855,1856,1857,1858,1859,1860,1861,1862,1863,1864,1865,1866,1867,1868,1869,1870,1871,1872,1873,1874,1875,1876,1877,1878,1879,1880,1881,1882,1883,1884],[76,124,141,142,1792],[76,124,141,142,1620,1696,1816],[76,124,141,142,1618,1813,1814],[76,124,141,142,1815],[76,124,141,142,1813],[76,124,141,142,1618,1619],[76,124,141,142,1255],[76,124,141,142,1253,1255],[76,124,141,142,1253],[76,124,141,142,1255,1319,1320],[76,124,141,142,1255,1322],[76,124,141,142,1255,1323],[76,124,141,142,1340],[76,124,141,142,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1417,1418,1419,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508],[76,124,141,142,1255,1416],[76,124,141,142,1255,1320,1440],[76,124,141,142,1253,1437,1438],[76,124,141,142,1439],[76,124,141,142,1255,1437],[76,124,141,142,1252,1253,1254],[76,124,141,142,164,2403,2500,2514,2515,2529],[76,124,141,142,2199,2204,2208,2253,2491],[76,124,141,142,2257,2490],[76,124,141,142,2199,2200,2495],[76,124,141,142,2201],[76,124,141,142,2199,2209,2491],[76,124,141,142,2199,2208,2209,2277,2332,2403,2455,2489,2491],[76,124,141,142,2199,2204,2208,2209,2490],[76,124,141,142,2199],[76,124,141,142,2247,2252,2273],[76,124,141,142,2199,2217,2247],[76,124,141,142,2221,2222,2223,2224,2225,2226,2227,2228,2229,2230,2232,2233,2234,2235,2236,2237,2238,2239,2240,2250],[76,124,141,142,2199,2220,2249,2490,2491],[76,124,141,142,2199,2249,2490,2491],[76,124,141,142,2199,2208,2209,2242,2247,2248,2490,2491],[76,124,141,142,2199,2208,2209,2247,2249,2490,2491],[76,124,141,142,2199,2249,2490],[76,124,141,142,2199,2247,2249,2490,2491],[76,124,141,142,2220,2221,2222,2223,2224,2225,2226,2227,2228,2229,2230,2232,2233,2234,2235,2236,2237,2238,2239,2240,2249,2250],[76,124,141,142,2199,2219,2249,2490],[76,124,141,142,2199,2231,2249,2490,2491],[76,124,141,142,2199,2231,2247,2249,2490,2491],[76,124,141,142,2199,2201,2206,2208,2209,2214,2247,2251,2252,2253,2255,2258,2259,2260,2262,2268,2269,2273],[76,124,141,142,2199,2208,2209,2247,2251,2253,2268,2272,2273],[76,124,141,142,2199,2247,2251],[76,124,141,142,2218,2219,2242,2243,2244,2245,2246,2247,2248,2251,2260,2261,2262,2268,2269,2271,2272,2274,2275,2276],[76,124,141,142,2199,2208,2247,2251],[76,124,141,142,2199,2208,2243,2247],[76,124,141,142,2199,2208,2247,2262],[76,124,141,142,2199,2206,2207,2208,2247,2256,2257,2262,2269,2273],[76,124,141,142,2263,2264,2265,2266,2267,2270,2273],[76,124,141,142,2199,2204,2206,2207,2208,2214,2242,2247,2249,2256,2257,2262,2264,2269,2270,2273],[76,124,141,142,2199,2206,2208,2214,2251,2260,2267,2269,2273],[76,124,141,142,2199,2208,2209,2247,2253,2256,2257,2262,2269],[76,124,141,142,2199,2208,2254,2256,2257],[76,124,141,142,2199,2208,2256,2257,2262,2269,2272],[76,124,141,142,2199,2200,2206,2207,2208,2209,2214,2247,2251,2252,2256,2257,2260,2262,2269,2273],[76,124,141,142,2204,2205,2206,2207,2208,2209,2214,2247,2251,2252,2262,2267,2272],[76,124,141,142,2199,2204,2206,2207,2208,2209,2247,2249,2252,2256,2257,2262,2269,2273,2491],[76,124,141,142,2199,2208,2219,2247],[76,124,141,142,2199,2200,2201,2209,2217,2253,2254,2261,2269,2273],[76,124,141,142,2206,2207,2208],[76,124,141,142,2199,2204,2218,2241,2242,2244,2245,2246,2248,2249,2490],[76,124,141,142,2206,2208,2218,2242,2244,2245,2246,2247,2248,2251,2252,2272,2277,2490,2491],[76,124,141,142,2199,2208],[76,124,141,142,2199,2207,2208,2209,2214,2249,2252,2270,2271,2490],[76,124,141,142,2199,2202,2204,2205,2206,2209,2217,2253,2256,2490,2491,2492,2493,2494],[76,124,141,142,2199,2465,2496],[76,124,141,142,2209,2497],[76,124,141,142,2498,2499],[76,124,141,142,2199,2200,2202,2208,2253,2441,2467,2473,2487,2489,2496],[76,124,141,142,2307,2315,2328],[76,124,141,142,2199,2208,2307],[76,124,141,142,2279,2280,2281,2282,2283,2284,2285,2286,2287,2288,2289,2290,2291,2292,2293,2294,2295,2296,2298,2299,2300,2301,2302,2310],[76,124,141,142,2199,2309,2490,2491],[76,124,141,142,2199,2209,2309,2490,2491],[76,124,141,142,2199,2208,2209,2307,2308,2490,2491],[76,124,141,142,2199,2208,2209,2307,2309,2490,2491],[76,124,141,142,2199,2209,2307,2309,2490,2491],[76,124,141,142,2279,2280,2281,2282,2283,2284,2285,2286,2287,2288,2289,2290,2291,2292,2293,2294,2295,2296,2298,2299,2300,2301,2302,2309,2310],[76,124,141,142,2199,2289,2309,2490,2491],[76,124,141,142,2199,2209,2297,2490,2491],[76,124,141,142,2199,2201,2206,2208,2209,2253,2307,2314,2315,2320,2321,2322,2323,2325,2328],[76,124,141,142,2199,2208,2209,2253,2307,2309,2312,2313,2318,2319,2325,2328],[76,124,141,142,2199,2307,2311],[76,124,141,142,2278,2304,2305,2306,2307,2308,2311,2314,2320,2322,2324,2325,2326,2327,2329,2330,2331],[76,124,141,142,2199,2208,2307,2311],[76,124,141,142,2199,2208,2307,2315,2325],[76,124,141,142,2199,2206,2208,2209,2256,2307,2309,2320,2325,2328],[76,124,141,142,2313,2316,2317,2318,2319,2328],[76,124,141,142,2199,2200,2204,2208,2214,2256,2257,2307,2309,2317,2318,2320,2325,2328],[76,124,141,142,2199,2206,2314,2316,2320,2328],[76,124,141,142,2199,2208,2209,2253,2256,2307,2320,2325],[76,124,141,142,2199,2200,2206,2207,2208,2209,2214,2256,2304,2307,2311,2314,2315,2320,2325,2328],[76,124,141,142,2204,2205,2206,2207,2208,2209,2214,2307,2311,2315,2316,2325,2327],[76,124,141,142,2199,2200,2206,2208,2209,2256,2307,2309,2320,2325,2328,2491],[76,124,141,142,2199,2307,2327],[76,124,141,142,2199,2200,2201,2208,2209,2253,2320,2324,2328],[76,124,141,142,2206,2207,2208,2214,2317],[76,124,141,142,2199,2204,2278,2303,2304,2305,2306,2308,2309,2490],[76,124,141,142,2206,2278,2304,2305,2306,2307,2308,2315,2316,2327,2332,2495],[76,124,141,142,2199,2207,2208,2214,2311,2315,2317,2326,2490],[76,124,141,142,2199,2202,2209,2253,2320,2324,2325,2441,2512],[76,124,141,142,2512,2513],[76,124,141,142,2199,2200,2202,2208,2209,2253,2320,2325,2328,2441],[76,124,141,142,2199,2201,2202,2209,2253,2386,2393,2507,2508],[76,124,141,142,2508,2509],[76,124,141,142,2199,2200,2202,2208,2209,2253,2387,2393,2397,2403,2441,2507],[76,124,141,142,2204,2208,2491],[76,124,141,142,2374,2380,2397],[76,124,141,142,2199,2217,2374],[76,124,141,142,2334,2335,2336,2337,2338,2340,2341,2342,2345,2346,2347,2348,2349,2350,2351,2352,2353,2354,2355,2356,2357,2358,2359,2360,2361,2362,2363,2364,2365,2366,2367,2377],[76,124,141,142,2199,2344,2376,2490,2491],[76,124,141,142,2199,2376,2490,2491],[76,124,141,142,2199,2209,2376,2490,2491],[76,124,141,142,2199,2208,2209,2369,2374,2375,2490,2491],[76,124,141,142,2199,2208,2209,2374,2376,2490,2491],[76,124,141,142,2199,2376,2490],[76,124,141,142,2199,2209,2339,2376,2490,2491],[76,124,141,142,2199,2209,2374,2376,2490,2491],[76,124,141,142,2334,2335,2336,2337,2338,2340,2341,2342,2344,2345,2346,2347,2348,2349,2350,2351,2352,2353,2354,2355,2356,2357,2358,2359,2360,2361,2362,2363,2364,2365,2366,2367,2376,2377,2378],[76,124,141,142,2199,2343,2376,2490],[76,124,141,142,2199,2346,2376,2490,2491],[76,124,141,142,2199,2374,2376,2490,2491],[76,124,141,142,2199,2339,2346,2374,2376,2490,2491],[76,124,141,142,2199,2209,2339,2374,2376,2490,2491],[76,124,141,142,2199,2201,2206,2208,2209,2253,2374,2379,2380,2381,2382,2383,2384,2385,2387,2392,2393,2396,2397],[76,124,141,142,2199,2208,2209,2253,2312,2374,2379,2387,2392,2396,2397],[76,124,141,142,2199,2374,2379],[76,124,141,142,2333,2343,2369,2370,2371,2372,2373,2374,2375,2379,2385,2386,2387,2392,2393,2395,2396,2398,2399,2400,2402],[76,124,141,142,2199,2208,2374,2379],[76,124,141,142,2199,2208,2370,2374],[76,124,141,142,2199,2208,2209,2374,2387],[76,124,141,142,2199,2200,2206,2207,2208,2214,2256,2257,2374,2387,2393,2397],[76,124,141,142,2384,2388,2389,2390,2391,2394,2397],[76,124,141,142,2199,2200,2204,2206,2207,2208,2214,2256,2257,2369,2374,2376,2387,2389,2393,2394,2397],[76,124,141,142,2199,2206,2208,2379,2385,2391,2393,2397],[76,124,141,142,2199,2208,2209,2253,2256,2257,2374,2387,2393],[76,124,141,142,2199,2208,2256,2257,2387,2393,2396],[76,124,141,142,2199,2200,2206,2207,2208,2209,2214,2256,2257,2374,2379,2380,2385,2387,2393,2397],[76,124,141,142,2204,2205,2206,2207,2208,2209,2214,2374,2379,2380,2387,2391,2396],[76,124,141,142,2199,2200,2204,2206,2207,2208,2209,2214,2256,2257,2374,2376,2380,2387,2393,2397,2491],[76,124,141,142,2199,2208,2209,2343,2374,2378,2396],[76,124,141,142,2199,2200,2201,2209,2217,2253,2254,2386,2393,2397],[76,124,141,142,2206,2207,2208,2214,2394],[76,124,141,142,2199,2204,2333,2368,2369,2371,2372,2373,2375,2376,2490],[76,124,141,142,2206,2208,2333,2369,2371,2372,2373,2374,2375,2379,2380,2396,2403,2490,2491],[76,124,141,142,2401],[76,124,141,142,2199,2207,2208,2209,2214,2376,2380,2394,2395,2490],[76,124,141,142,2199,2217],[76,124,141,142,2204,2205,2206,2208,2209,2490,2491],[76,124,141,142,2199,2204,2208,2209,2212,2491,2495],[76,124,141,142,2490],[76,124,141,142,2433,2451],[76,124,141,142,2404,2405,2406,2407,2408,2409,2410,2411,2412,2413,2414,2415,2416,2417,2418,2419,2420,2421,2423,2424,2425,2426,2427,2428,2435],[76,124,141,142,2199,2434,2490,2491],[76,124,141,142,2199,2209,2434,2490,2491],[76,124,141,142,2199,2209,2433,2490,2491],[76,124,141,142,2199,2208,2209,2433,2434,2490,2491],[76,124,141,142,2199,2209,2433,2434,2490,2491],[76,124,141,142,2199,2209,2217,2434,2490,2491],[76,124,141,142,2404,2405,2406,2407,2408,2409,2410,2411,2412,2413,2414,2415,2416,2417,2418,2419,2420,2421,2423,2424,2425,2426,2427,2428,2434,2435],[76,124,141,142,2199,2414,2434,2490,2491],[76,124,141,142,2199,2209,2422,2490,2491],[76,124,141,142,2199,2201,2206,2208,2253,2433,2440,2443,2444,2445,2448,2450,2451],[76,124,141,142,2199,2208,2209,2253,2312,2433,2434,2437,2438,2439,2450,2451],[76,124,141,142,2430,2431,2432,2433,2436,2440,2445,2448,2449,2450,2452,2453,2454],[76,124,141,142,2199,2208,2433,2436],[76,124,141,142,2199,2433,2436],[76,124,141,142,2199,2208,2433,2450],[76,124,141,142,2199,2206,2208,2209,2256,2433,2434,2440,2450,2451],[76,124,141,142,2437,2438,2439,2446,2447,2451],[76,124,141,142,2199,2204,2208,2256,2257,2433,2434,2438,2440,2450,2451],[76,124,141,142,2199,2206,2440,2445,2446,2451],[76,124,141,142,2199,2200,2206,2207,2208,2209,2214,2256,2433,2436,2440,2445,2450,2451],[76,124,141,142,2204,2205,2206,2207,2208,2209,2214,2433,2436,2446,2450],[76,124,141,142,2199,2206,2208,2209,2256,2433,2434,2440,2450,2451,2491],[76,124,141,142,2199,2433],[76,124,141,142,2199,2200,2201,2208,2209,2253,2440,2449,2451],[76,124,141,142,2206,2207,2208,2214,2447],[76,124,141,142,2199,2204,2429,2430,2431,2432,2434,2490],[76,124,141,142,2206,2208,2430,2431,2432,2433,2455,2490,2491],[76,124,141,142,2199,2201,2202,2209,2253,2440,2442,2449],[76,124,141,142,2442,2443],[76,124,141,142,2199,2200,2202,2208,2209,2253,2440,2441,2450,2451],[76,124,141,142,2208,2491],[76,124,141,142,2210,2211],[76,124,141,142,2213,2215],[76,124,141,142,2208,2214,2491],[76,124,141,142,2208,2212,2216],[76,124,141,142,2199,2203,2204,2206,2207,2209,2491],[76,124,141,142,2461,2482,2487],[76,124,141,142,2199,2208,2482],[76,124,141,142,2457,2477,2478,2479,2480,2485],[76,124,141,142,2199,2209,2484,2490,2491],[76,124,141,142,2199,2208,2209,2482,2483,2490,2491],[76,124,141,142,2199,2208,2209,2482,2484,2490,2491],[76,124,141,142,2457,2477,2478,2479,2480,2484,2485],[76,124,141,142,2199,2209,2476,2482,2484,2490,2491],[76,124,141,142,2199,2484,2490,2491],[76,124,141,142,2199,2209,2482,2484,2490,2491],[76,124,141,142,2199,2201,2206,2208,2209,2253,2461,2462,2463,2464,2467,2472,2473,2482,2487],[76,124,141,142,2199,2208,2209,2253,2312,2467,2472,2482,2486,2487],[76,124,141,142,2199,2482,2486],[76,124,141,142,2456,2458,2459,2460,2464,2465,2467,2472,2473,2475,2476,2482,2483,2486,2488],[76,124,141,142,2199,2208,2482,2486],[76,124,141,142,2199,2208,2467,2475,2482],[76,124,141,142,2199,2206,2207,2208,2209,2256,2257,2467,2473,2482,2484,2487],[76,124,141,142,2468,2469,2470,2471,2474,2487],[76,124,141,142,2199,2206,2207,2208,2209,2214,2256,2257,2458,2467,2469,2473,2474,2482,2484,2487],[76,124,141,142,2199,2206,2464,2471,2473,2487],[76,124,141,142,2199,2208,2209,2253,2256,2257,2467,2473,2482],[76,124,141,142,2199,2208,2254,2256,2257,2473],[76,124,141,142,2199,2200,2206,2207,2208,2209,2214,2256,2257,2461,2464,2467,2473,2482,2486,2487],[76,124,141,142,2204,2205,2206,2207,2208,2209,2214,2461,2467,2471,2475,2482,2486],[76,124,141,142,2199,2206,2207,2208,2209,2256,2257,2461,2467,2473,2482,2484,2487,2491],[76,124,141,142,2199,2200,2201,2208,2253,2254,2256,2465,2466,2473,2487],[76,124,141,142,2206,2207,2208,2214,2474],[76,124,141,142,2199,2204,2456,2458,2459,2460,2481,2483,2484,2490],[76,124,141,142,2199,2482,2484],[76,124,141,142,2206,2208,2456,2458,2459,2460,2461,2475,2482,2483,2489],[76,124,141,142,2199,2207,2208,2214,2461,2474,2484,2490],[76,124,141,142,2199,2205,2208,2209,2491],[76,124,141,142,2201,2202,2204,2208,2491],[76,124,141,142,1049,1050],[76,124,141,142,1049,1050,1051,1052],[76,124,141,142,1049,1051],[76,124,141,142,1049],[76,124,141,142,3091],[76,124,141,142,1166,1167,1168],[76,124,141,142,1166],[76,124,141,142,1162,1163],[76,124,141,142,1163,1164,1165,1169],[76,124,141,142,1062,1063,1069,1070],[76,124,141,142,1071,1136,1137],[76,124,141,142,1062,1069,1071],[76,124,141,142,1063,1071],[76,124,141,142,1062,1064,1065,1066,1069,1071,1074,1075],[76,124,141,142,1065,1076,1090,1091],[76,124,141,142,1062,1069,1074,1075,1076],[76,124,141,142,1062,1064,1069,1071,1073,1074,1075],[76,124,141,142,1062,1063,1074,1075,1076],[76,124,141,142,1061,1077,1082,1089,1092,1093,1135,1138,1161],[76,124,141,142,1062],[76,124,141,142,1063,1067,1068],[76,124,141,142,1063,1067,1068,1069,1070,1072,1083,1084,1085,1086,1087,1088],[76,124,141,142,1063,1068,1069],[76,124,141,142,1063],[76,124,141,142,1062,1063,1068,1069,1071,1084],[76,124,141,142,1069],[76,124,141,142,1063,1069,1070],[76,124,141,142,1067,1069],[76,124,141,142,1076,1090],[76,124,141,142,1062,1064,1065,1066,1069,1074],[76,124,141,142,1062,1069,1072,1075],[76,124,141,142,1065,1073,1074,1075,1078,1079,1080,1081],[76,124,141,142,1075],[76,124,141,142,1062,1064,1069,1071,1073,1075],[76,124,141,142,1071,1074],[76,124,141,142,1071],[76,124,141,142,1062,1069,1075],[76,124,141,142,1063,1069,1074,1085],[76,124,141,142,1074,1139],[76,124,141,142,1071,1075],[76,124,141,142,1069,1074],[76,124,141,142,1074],[76,124,141,142,1062,1072],[76,124,141,142,1062,1069],[76,124,141,142,1069,1074,1075],[76,124,141,142,1094,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160],[76,124,141,142,1074,1075],[76,124,141,142,1063,1069,1073,1074,1075],[76,124,141,142,1064,1069],[76,124,141,142,1062,1069,1073,1074,1075,1087],[76,124,141,142,1062,1064,1069,1075],[76,124,141,142,1062,1064,1069],[76,124,141,142,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134],[76,124,141,142,1087,1095],[76,124,141,142,1095,1097],[76,124,141,142,1062,1069,1071,1074,1094,1095],[76,124,141,142,1062,1069,1071,1073,1074,1075,1087,1094],[76,124,141,142,808],[76,124,141,142,490,500,792,793,934,936,937,938],[76,124,141,142,490,787,791,797,799,800,936,939],[76,124,141,142,170,490,501,630,773,775,801,802,807,808,920,936],[76,124,141,142,170,500,773,776,782,801,802,803,804,935,937],[76,124,141,142,490,500,792,793,808,920,934,938,941,942],[76,124,141,142,490,787,791,797,799,800,941,943],[76,124,141,142,170,490,501,630,773,775,801,802,807,808,920,941],[76,124,141,142,170,500,773,776,782,801,802,803,804,940,942],[76,124,141,142,490,500,792,800,804,934],[76,124,141,142,490,787,791,793,797,799,804],[76,124,141,142,170,490,501,630,773,775,801,802,804,807,920],[76,124,141,142,170,500,773,776,782,800,801,802,803,808],[76,124,141,142,491,492,776,920,929,930,931,932,933],[76,124,141,142,647,801],[76,124,141,142,491,492,803,920,929,930,931,932,933],[76,124,141,142,767,920],[76,124,141,142,920],[76,124,141,142,809,920],[76,124,141,142,535],[76,124,141,142,531,532,538,539,540,541,543,544,545,546,547,548,550,551,555,560,596,597,612,613,614,615,618,619,620,621,622,623,624,625,626,627,628,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,648,649,650,651,652,653,654,655,656,737,738,739,740,741,742],[76,124,141,142,658,659,660,663,665,666,667,668,670,673,674,675,678,679,680,681,682,683,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,706,708,709,710,711,712,713,715,716,717,718,719,720,721,722,723,728,729,730,731,732,733,744,746],[76,124,141,142,777,778,779],[76,124,141,142,495,778,780],[76,124,141,142,500,781],[76,124,141,142,495,778,780,781],[76,124,141,142,784],[76,124,141,142,783,785,786],[76,124,141,142,811],[76,124,141,142,490,520,521,527,920],[76,124,141,142,490,522,526,920],[76,124,141,142,490,522,752,920],[76,124,141,142,516],[76,124,141,142,490,525],[76,124,141,142,490,523],[76,124,141,142,490,520,524],[76,124,141,142,490,520,522,528],[76,124,141,142,490,522],[76,124,141,142,490,520,522,815],[76,124,141,142,490,520,524,526],[76,124,141,142,490,520,523],[76,124,141,142,490,520,523,528,820],[76,124,141,142,528],[76,124,141,142,819],[76,124,141,142,490,528,817,818],[76,124,141,142,522,527],[76,124,141,142,752,920],[76,124,141,142,490,531,747,823,920],[76,124,141,142,531],[76,124,141,142,756,775],[76,124,141,142,490,775,920],[76,124,141,142,567,568,572],[76,124,141,142,490,564,566,567,568,569,570,571],[76,124,141,142,567],[76,124,141,142,565],[76,124,141,142,490,564],[76,124,141,142,561,562],[76,124,141,142,563],[76,124,141,142,490,561],[76,124,141,142,752],[76,124,141,142,490,752],[76,124,141,142,536,827],[76,124,141,142,536],[76,124,141,142,536,826],[76,124,141,142,490,493,494,921],[76,124,141,142,495,834],[76,124,141,142,495,828,836],[76,124,141,142,495,916],[76,124,141,142,490,495,838],[76,124,141,142,833,840],[76,124,141,142,833,842,921],[76,124,141,142,495,844],[76,124,141,142,493],[76,124,141,142,493,828],[76,124,141,142,832,921],[76,124,141,142,828,832],[76,124,141,142,832],[76,124,141,142,493,602],[76,124,141,142,493,829,920],[76,124,141,142,828,833,846],[76,124,141,142,854,857],[76,124,141,142,493,860],[76,124,141,142,493,531],[76,124,141,142,831,832],[76,124,141,142,833,848],[76,124,141,142,495,850],[76,124,141,142,495,602,603],[76,124,141,142,495,829,852,920],[76,124,141,142,833,854,921],[76,124,141,142,855,856],[76,124,141,142,495,914],[76,124,141,142,495,858],[76,124,141,142,495,860,861],[76,124,141,142,495,531,863],[76,124,141,142,831,833,865],[76,124,141,142,833,867],[76,124,141,142,490,495,496,499,920],[76,124,141,142,922],[76,124,141,142,921],[76,124,141,142,493,920],[76,124,141,142,497,498],[76,124,141,142,495],[76,124,141,142,830,921],[76,124,141,142,495,832,920],[76,124,141,142,490,920,922],[76,124,141,142,490,495,920,921],[76,124,141,142,766],[76,124,141,142,794,795,796],[76,124,141,142,490,766,771],[76,124,141,142,772,788,789,790],[76,124,141,142,490,767,920],[76,124,141,142,773],[76,124,141,142,159,167,490,535,647,766,769,871,920,922,923,924,925,926],[76,124,141,142,159,490,535,766,768,769,770,772,920],[76,124,141,142,773,920,927,928],[76,124,141,142,647,767,783,902,922,923,924,925],[76,124,141,142,767],[76,124,141,142,766,951],[76,124,141,142,159,167,535,769],[76,124,141,142,783,927],[76,124,141,142,159,490],[76,124,141,142,535,859,921],[76,124,141,142,490,535,536,547,550,555,920],[76,124,141,142,490,805,808,920],[76,124,141,142,806],[76,124,141,142,769,805],[76,124,141,142,736,747],[76,124,141,142,167,490,491,492,493,494,495,499,500,506,522,523,524,525,526,527,528,530,531,532,533,535,536,537,538,539,540,541,543,544,545,546,547,548,550,551,554,555,559,560,562,563,580,596,597,599,602,605,606,607,609,610,611,612,613,614,615,618,619,620,621,622,623,624,625,626,627,628,629,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,648,649,650,651,652,653,654,655,656,735,736,737,738,739,740,741,742,744,745,747,752,754,755,756,758,762,763,764,766,769,773,775,778,779,782,783,784,785,786,793,800,804,808,809,810,813,814,815,816,817,818,819,820,821,822,824,825,826,827,828,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,854,855,857,858,859,860,863,864,865,866,867,868,869,870,872,873,874,876,878,883,884,888,889,891,892,893,894,895,896,897,904,913,915,919,920,921,922,927,928,929,930,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950],[76,124,141,142,752,874,875],[76,124,141,142,563,747],[76,124,141,142,490,808],[76,124,141,142,495,499,920,921],[76,124,141,142,798],[76,124,141,142,910,911],[76,124,141,142,910],[76,124,141,142,506,507],[76,124,141,142,490,506,507,747,920],[76,124,141,142,505,747],[76,124,141,142,879],[76,124,141,142,880],[76,124,141,142,535,769,810,881,882,884,920],[76,124,141,142,490,502,747,752],[76,124,141,142,490,556,557,747,752],[76,124,141,142,747],[76,124,141,142,747,752],[76,124,141,142,490,502,558],[76,124,141,142,490,502,504,533,734,743,747,752],[76,124,141,142,490,502,747],[76,124,141,142,490,495,502,504,518,527,530,531,533,555,559,596,614,625,628,629,648,719,734,735,743,745,747,752,753,754,755,756,757,758,759,762,763,764,765,774,920],[76,124,141,142,490,495,502,504,528,530,533,556,557,563,594,734,736,743,747,748,749,750,751],[76,124,141,142,490,530,752],[76,124,141,142,490,495,531,594,595],[76,124,141,142,490,612],[76,124,141,142,611],[76,124,141,142,490,531],[76,124,141,142,495,531],[76,124,141,142,490,495,504,531,545,549,555],[76,124,141,142,490,602,618],[76,124,141,142,495,531,535,605,617],[76,124,141,142,535,616],[76,124,141,142,490,531,533,541],[76,124,141,142,490,495,530,531],[76,124,141,142,490,495,531],[76,124,141,142,490,747,775],[76,124,141,142,490,495,528,529,530,752],[76,124,141,142,490,531,533,543,544,547,550,555],[76,124,141,142,490,533,552,553,555],[76,124,141,142,490,495,531,547,550,552,553,554],[76,124,141,142,504,552],[76,124,141,142,539,543,544,547,548,550,551],[76,124,141,142,490,495,530,531,594,630,775,920],[76,124,141,142,490,632],[76,124,141,142,490,495,504,531,534,537,545,546,549,555],[76,124,141,142,490,495,531,538,539,540,543,544,547,550,555],[76,124,141,142,531,555],[76,124,141,142,490,495,527,530,531,594],[76,124,141,142,490,531,533,597],[76,124,141,142,490,495,531,594,598,599,605,608,609,610],[76,124,141,142,490,602,604,921],[76,124,141,142,490,495,600,601,921],[76,124,141,142,490,921],[76,124,141,142,490,495,606,607,608,921],[76,124,141,142,490,495,609,921],[76,124,141,142,606],[76,124,141,142,490,609,921],[76,124,141,142,606,735,890],[76,124,141,142,504,531,545],[76,124,141,142,490,531,549,555,775,920],[76,124,141,142,490,530,531,543,555],[76,124,141,142,490,504,531,545,549,555],[76,124,141,142,490,495,530,531,594,647],[76,124,141,142,490,533,541,543],[76,124,141,142,490,495,504,531,533,541,542,545,549,555,920],[76,124,141,142,490,495,530,531,559,747,752],[76,124,141,142,490,527,531],[76,124,141,142,490,531,533,651,654,655],[76,124,141,142,490,531,533,652],[76,124,141,142,531,654],[76,124,141,142,490,531,735,736,747],[76,124,141,142,490,495,504,531,534,545,549,555],[76,124,141,142,495,531,609],[76,124,141,142,509,517],[76,124,141,142,509,752],[76,124,141,142,509,512],[76,124,141,142,504,509,752],[76,124,141,142,490,502,503,504,506,508,509,510,511,513,514,515,518,519,532,543,544,555,560,746,752,775,921],[76,124,141,142,490,747],[76,124,141,142,504,533,734,743,747,752],[76,124,141,142,490,495,527,531,735,745,752],[76,124,141,142,657],[76,124,141,142,490,495,574,745],[76,124,141,142,490,593,662],[76,124,141,142,490,664,745],[76,124,141,142,490,661,664,672,745],[76,124,141,142,580],[76,124,141,142,745],[76,124,141,142,490,495,528,529,744,752],[76,124,141,142,490,593,664,669,745],[76,124,141,142,490,593,664,669,672,745],[76,124,141,142,490,593,669,745],[76,124,141,142,490,593,661,664,669,672,676,677,745],[76,124,141,142,490,593,661,669,745],[76,124,141,142,490,593,661,664,669,745],[76,124,141,142,490,661,745],[76,124,141,142,684],[76,124,141,142,490,592,593,669,745],[76,124,141,142,490,669,745],[76,124,141,142,490,593,661,664,669,677,745],[76,124,141,142,490,580,593],[76,124,141,142,490,580,582,661],[76,124,141,142,490,579,580,664,669],[76,124,141,142,490,495,563,573,574,579,745],[76,124,141,142,490,580,592,593,669],[76,124,141,142,490,593,705],[76,124,141,142,490,586,588,592,593,664,707,745],[76,124,141,142,490,593,664,745],[76,124,141,142,662],[76,124,141,142,490,579,593,664,669,745],[76,124,141,142,490,662,714],[76,124,141,142,490,580,669],[76,124,141,142,490,527,745],[76,124,141,142,490,495,504,533,575,577,580,581,582,584,586,587,588,592,593,734,743,745,752],[76,124,141,142,727],[76,124,141,142,490,580,581,582,593,664],[76,124,141,142,490,593,664,669,724],[76,124,141,142,490,672,724,726],[76,124,141,142,490,580,593,669],[76,124,141,142,490,502,532,544,558],[76,124,141,142,490,775],[76,124,141,142,883,920],[76,124,141,142,495,921],[76,124,141,142,490,563,735,747,748,760,761,775,920],[76,124,141,142,895],[76,124,141,142,495,896,921],[76,124,141,142,747,762,775],[76,124,141,142,490],[76,124,141,142,490,585,920],[76,124,141,142,490,586,920],[76,124,141,142,490,920],[76,124,141,142,490,584,920],[76,124,141,142,490,725,920],[76,124,141,142,490,671,920],[76,124,141,142,490,591,920],[76,124,141,142,490,581,920],[76,124,141,142,490,578,920],[76,124,141,142,490,583,920],[76,124,141,142,490,573,920],[76,124,141,142,490,587,920],[76,124,141,142,490,582,920],[76,124,141,142,490,589,590,920],[76,124,141,142,490,575,576,920],[76,124,141,142,490,577,920],[76,124,141,142,747,753],[76,124,141,142,490,747,753],[76,124,141,142,167,490,535,920],[76,124,141,142,539,543,544,547,548,550],[76,124,141,142,490,535,918,921],[76,124,129,141,142,147,156,159,167,168,490,495,500,504,506,522,523,524,525,526,527,528,530,531,532,533,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,553,554,555,558,559,560,562,563,566,572,573,574,575,577,578,579,580,581,582,584,586,587,588,591,592,593,596,597,598,599,602,605,606,607,609,610,611,612,613,614,615,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,725,726,727,728,729,730,731,732,733,735,736,737,738,739,740,741,742,744,745,746,747,749,751,752,754,755,756,758,762,763,764,766,769,773,775,783,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,824,825,826,827,828,829,831,833,835,837,839,841,843,845,847,849,851,853,855,857,859,860,862,864,866,868,869,870,871,872,873,874,876,877,878,879,880,881,882,883,884,885,886,887,888,889,891,892,893,894,895,896,897,898,900,903,904,905,906,907,908,909,912,913,915,917,919,921,922,926,927],[76,124,141,142,490,629,920,921],[76,124,141,142,782,803,808,934],[76,124,141,142,490,948],[76,124,141,142,500,920,938,947],[76,124,141,142,490,535,775,898,899,900,901,902,920],[76,124,141,142,490,859,921],[76,124,141,142,898],[76,124,141,142,893,920],[76,124,141,142,2605,2606,2614],[76,124,141,142,2605,2606,2607,2614,2615],[76,124,141,142,2628],[76,124,141,142,2627,2628,2629,2630,2631],[76,124,141,142,2627,2635],[76,124,141,142,2605,2606,2607,2608,2609,2610,2611,2612,2613,2614,2615,2616,2617,2618,2619,2620,2621,2622,2623,2624,2625,2626,2632,2633,2634],[76,124,141,142,2605,2606,2607,2613,2614],[76,124,141,142,2605,2606],[76,124,141,142,2609,2611,2612,2614],[76,124,141,142,2607,2608,2613,2614],[76,124,141,142,2613,2614],[76,124,141,142,2607,2610,2611,2613,2635],[76,124,141,142,2610,2635],[76,124,141,142,2605,2606,2609,2613,2614,2635],[76,124,141,142,2609,2613,2614],[76,124,141,142,2606,2607,2608,2609,2613,2614,2635],[76,124,141,142,2605,2635],[76,124,141,142,2605,2613,2614,2635],[76,124,141,142,2607,2614,2635],[76,124,141,142,2605,2607,2613,2614],[76,124,141,142,2605,2614],[76,124,141,142,2606,2613,2614],[76,124,141,142,983,984],[76,124,141,142,1525],[68,76,124,141,142],[76,124,141,142,422],[76,124,141,142,424,425,426,427],[76,124,141,142,429],[76,124,141,142,183,197,198,199,201,416],[76,124,141,142,183,222,224,226,227,230,416,418],[76,124,141,142,183,187,189,190,191,192,193,405,416,418],[76,124,141,142,416],[76,124,141,142,198,300,386,395,412],[76,124,141,142,183],[76,124,141,142,180,412],[76,124,141,142,234],[76,124,141,142,233,416,418],[76,124,138,141,142,282,300,329,473],[76,124,138,141,142,293,309,395,411],[76,124,138,141,142,347],[76,124,141,142,399],[76,124,141,142,398,399,400],[76,124,141,142,398],[70,76,124,138,141,142,180,183,187,190,194,195,196,198,202,210,211,340,365,396,416,419],[76,124,141,142,183,200,218,222,223,228,229,416,473],[76,124,141,142,200,473],[76,124,141,142,211,218,280,416,473],[76,124,141,142,473],[76,124,141,142,183,200,201,473],[76,124,141,142,225,473],[76,124,141,142,194,397,404],[76,124,141,142,150,242,412],[76,124,141,142,242,412],[62,76,124,141,142,242],[62,76,124,141,142,301],[76,124,141,142,297,345,412,455,456],[76,124,141,142,392,449,450,451,452,454],[76,124,141,142,391],[76,124,141,142,391,392],[76,124,141,142,191,341,342,343],[76,124,141,142,341,344,345],[76,124,141,142,453],[76,124,141,142,341,345],[62,76,124,141,142,184,443],[62,76,124,141,142,167],[62,76,124,141,142,200,270],[62,76,124,141,142,200],[76,124,141,142,268,272],[62,76,124,141,142,269,421],[62,66,76,124,138,141,142,174,175,176,177,178,179,419,465,466],[76,124,138,141,142],[76,124,138,141,142,187,249,341,351,366,386,401,402,416,417,473],[76,124,141,142,210,403],[76,124,141,142,419],[76,124,141,142,182],[62,76,124,141,142,282,296,308,318,320,411],[76,124,141,142,150,282,296,317,318,319,411,472],[76,124,141,142,311,312,313,314,315,316],[76,124,141,142,313],[76,124,141,142,317],[76,124,141,142,240,241,242,244],[62,76,124,141,142,235,236,237,243],[76,124,141,142,240,243],[76,124,141,142,238],[76,124,141,142,239],[62,76,124,141,142,242,269,421],[62,76,124,141,142,242,420,421],[62,76,124,141,142,242,421],[76,124,141,142,366,408],[76,124,141,142,408],[76,124,138,141,142,417,421],[76,124,141,142,305],[76,123,124,141,142,304],[76,124,141,142,212,250,288,290,292,293,294,295,338,341,411,414,417],[76,124,141,142,212,326,341,345],[76,124,141,142,293,411],[62,76,124,141,142,293,302,303,305,306,307,308,309,310,321,322,323,324,325,327,328,411,412,473],[76,124,141,142,287],[76,124,138,141,142,150,212,213,249,264,294,338,339,340,345,366,386,407,416,417,418,419,473],[76,124,141,142,411],[76,123,124,141,142,198,291,294,340,407,409,410,417],[76,124,141,142,293],[76,123,124,141,142,249,254,283,284,285,286,287,288,289,290,292,411,412],[76,124,138,141,142,254,255,283,417,418],[76,124,141,142,198,340,341,366,407,411,417],[76,124,138,141,142,416,418],[76,124,138,141,142,156,414,417,418],[76,124,138,141,142,150,167,180,187,200,212,213,215,250,251,256,261,264,290,294,341,351,353,356,358,361,362,363,364,365,386,406,407,412,414,416,417,418],[76,124,138,141,142,156],[76,124,141,142,183,184,185,187,192,195,200,218,406,414,415,419,421,473],[76,124,138,141,142,156,167,230,232,234,235,236,237,244,473],[76,124,141,142,150,167,180,222,232,260,261,262,263,290,341,356,365,366,372,375,376,386,407,412,414],[76,124,141,142,194,195,210,340,365,407,416],[76,124,138,141,142,167,184,187,290,370,414,416],[76,124,141,142,281],[76,124,138,141,142,373,374,383],[76,124,141,142,414,416],[76,124,141,142,288,291],[76,124,141,142,290,294,406,421],[76,124,138,141,142,150,216,222,263,356,366,372,375,378,414],[76,124,138,141,142,194,210,222,379],[76,124,141,142,183,215,381,406,416],[76,124,138,141,142,167,416],[76,124,138,141,142,200,214,215,216,227,245,380,382,406,416],[70,76,124,141,142,212,294,385,419,421],[76,124,138,141,142,150,167,187,194,202,210,213,250,256,260,261,262,263,264,290,341,353,366,367,369,371,386,406,407,412,413,414,421],[76,124,138,141,142,156,194,372,377,383,414],[76,124,141,142,205,206,207,208,209],[76,124,141,142,251,357],[76,124,141,142,359],[76,124,141,142,357],[76,124,141,142,359,360],[76,124,138,141,142,187,190,191,249,417],[76,124,138,141,142,150,182,184,212,250,264,294,349,350,386,414,418,419,421],[76,124,138,141,142,150,167,186,191,290,350,413,417],[76,124,141,142,283],[76,124,141,142,284],[76,124,141,142,285],[76,124,141,142,412],[76,124,141,142,231,247],[76,124,138,141,142,187,231,250],[76,124,141,142,246,247],[76,124,141,142,248],[76,124,141,142,231,232],[76,124,141,142,231,265],[76,124,141,142,231],[76,124,141,142,251,355,413],[76,124,141,142,354],[76,124,141,142,232,412,413],[76,124,141,142,352,413],[76,124,141,142,232,412],[76,124,141,142,338],[76,124,141,142,187,192,250,279,282,288,290,294,296,299,330,333,337,341,385,406,414,417],[76,124,141,142,273,276,277,278,297,298,345],[62,76,124,141,142,177,179,242,331,332],[62,76,124,141,142,177,179,242,331,332,336],[76,124,141,142,394],[76,124,141,142,198,255,293,294,305,309,341,385,387,388,389,390,392,393,396,406,411,416],[76,124,141,142,349],[76,124,138,141,142,250,266,346,348,351,385,414,419,421],[76,124,141,142,273,274,275,276,277,278,297,298,345,420],[70,76,124,138,141,142,150,167,213,231,232,264,290,294,383,384,386,406,407,416,417,419],[76,124,141,142,255,257,260,407],[76,124,138,141,142,251,416],[76,124,141,142,254,293],[76,124,141,142,253],[76,124,141,142,255,256],[76,124,141,142,252,254,416],[76,124,138,141,142,186,255,257,258,259,416,417],[62,76,124,141,142,341,342,344],[76,124,141,142,217],[62,76,124,141,142,184],[62,76,124,141,142,412],[62,70,76,124,141,142,264,294,419,421],[76,124,141,142,184,443,444],[62,76,124,141,142,272],[62,76,124,141,142,150,167,182,229,267,269,271,421],[76,124,141,142,200,412,417],[76,124,141,142,368,412],[76,124,141,142,341],[62,76,124,136,138,141,142,150,182,218,224,272,419,420],[62,76,124,141,142,175,176,177,178,179,419,467],[62,63,64,65,66,76,124,141,142],[76,124,129,141,142],[76,124,141,142,219,220,221],[76,124,141,142,219],[62,66,76,124,138,140,141,142,150,174,175,176,177,178,179,180,182,213,317,378,416,418,421,467],[76,124,141,142,431],[76,124,141,142,433],[76,124,141,142,435],[76,124,141,142,437],[76,124,141,142,439,440,441],[76,124,141,142,445],[67,69,76,124,141,142,423,428,430,432,434,436,438,442,446,448,458,459,461,471,472,473,474],[76,124,141,142,447],[76,124,141,142,457],[76,124,141,142,269],[76,124,141,142,460],[76,123,124,141,142,255,257,258,260,308,412,462,463,464,467,468,469,470],[76,124,141,142,174],[76,124,141,142,1517,1537,1957,1981,1983],[76,124,141,142,1914],[76,124,141,142,1593],[76,124,141,142,1537],[62,76,124,141,142,1593],[76,124,141,142,1251,1530,1531,1536,1537,1957],[62,76,124,141,142,1251,1530,1531,1536,1537,1957],[76,124,141,142,1251,1527,1530,1531,1536,1537,1957],[76,124,141,142,1251,1530,1531,1537,1957],[76,124,141,142,1957],[76,124,141,142,1251,1530,1537,1957],[76,124,141,142,1251,1537,1957],[76,124,141,142,1517,1530,1537],[76,124,141,142,1517,1537,2198,2603],[76,124,141,142,1530,1537],[76,124,141,142,1251,1517,1528,1529,1537,1957,1983,2198,2603],[76,124,141,142,1517,1528,1529,1537,1983,2198,2603],[76,124,141,142,1530,1537,1593],[76,124,141,142,1517,1534,1593,1594,1951,1952,1983,2198,2603],[76,124,141,142,1517,1520,1523,1535,1537,1538,1593,1957,1981,1983,2198,2603],[62,76,124,141,142,1517,1530,1531,1532,1537,1538,1539,1547,1548,1549,1593,1594,1595,1596,1597,1915,1916,1917,1918,1919,1920,1921,1922,1923,1924,1925,1926,1927,1928,1929,1930,1931,1932,1933,1934,1935,1936,1937,1938,1939,1940,1941,1942,1943,1944,1945,1946,1947,1948,1949,1950,1953,1954,1955,1956,1981,1983],[76,124,141,142,1528,1535,1549,1593,1957,1981,1983],[76,124,141,142,1576,1593,2198,2603],[76,124,141,142,1517,1535,1542,1546,1547,1548,1593,1594,1957,1981,1983],[76,124,141,142,1528,1529,1577,1593,1923,1957,1981,1983],[76,124,141,142,1981],[76,124,141,142,1593,1983],[76,124,141,142,1542],[76,124,141,142,1542,1593],[76,124,141,142,1528,1983],[76,124,141,142,1981,1983],[76,124,141,142,1528],[76,124,141,142,1528,1540,1541],[76,124,141,142,1983,2198,2603],[76,124,141,142,1981,1983,2198,2603],[76,124,141,142,1983],[76,124,141,142,1962,1983,2198,2603],[76,124,141,142,1963,1983,2198,2603],[76,124,141,142,1964,1983,2198,2603],[76,124,141,142,1528,1981,1983],[76,124,141,142,1528,1981,1983,2198,2603],[76,124,141,142,1981,2198,2603],[76,124,141,142,1251,1983,2198,2603],[76,124,141,142,1537,1593,1594],[76,124,141,142,1593,1594],[76,124,141,142,1517,1543,1593,1594,1957,1981,1983],[76,124,141,142,1528,1981],[76,124,141,142,1162,1251,1528,1533,1534,1537,1576,1593,1957,1958,1959,1961,1980,1983,2198,2603],[76,124,141,142,1518,1981,1983,2198,2603],[76,124,141,142,1542,1981,1983],[76,124,141,142,1251,1968,1981,1983,2198,2603],[76,124,141,142,1534,1981,1983,2198,2603],[76,124,141,142,1972,1981,1983,2198,2603],[76,124,141,142,1534,1981,1983],[76,124,141,142,1533,1981,1983,2198,2603],[76,124,141,142,1533,1534,1976,1981,1983],[76,124,141,142,1961,1981,1983,2198,2603],[76,124,141,142,1251,1981,1983,2198,2603],[76,124,141,142,1973,1981,1983,2198,2603],[76,124,141,142,1533,1534,1981,1983,2198,2603],[76,124,141,142,1251,1961,1981,1983,2198,2603],[76,124,141,142,1976,1981,1983],[76,124,141,142,1959,1962,1963,1964,1965,1966,1967,1968,1969,1970,1971,1973,1974,1975,1977,1978,1979,1981,1983,2198,2603],[76,124,141,142,1517,1537,1544,1545,1593,1594,2198,2603],[76,124,141,142,1593,1981],[62,76,124,141,142,475,1162,1173,1251,1517,1519,1520,1521,1534,1535,1539,1542,1549,1550,1575,1576,1577,1588,1592,1594,1957,1981,1983,2198,2603],[76,124,141,142,1251,1534],[76,124,141,142,1534],[76,124,141,142,1537,2047,2198,2603],[76,124,141,142,1534,2198,2603],[76,124,141,142,1537,1542],[76,124,141,142,1535,1537,1981,1983,2047],[76,124,141,142,1517,1522],[76,124,141,142,1522],[76,124,141,142,1522,1535],[76,124,141,142,1522,1523,1551,1552,1553,1554,1555,1556,1557,1558,1559,1560,1561,1562,1563,1564,1565,1566,1567,1568,1569,1570,1571,1572,1573],[76,124,141,142,1522,1537],[76,124,141,142,1574],[76,124,141,142,1517,1522,1593,1983],[76,124,141,142,1536,1537,1540,1576,1593,1951,1952,1982,2023,2142,2144,2150,2151,2153,2157,2164,2180,2197,3187,3188,3189,3190,3191,3192,3193,3194,3195,3196,3197,3198,3199,3200,3201,3202,3203,3204,3205,3206,3207,3208,3209,3210,3211,3212,3213,3214,3215,3216,3217,3218,3219,3220,3221,3222,3223,3224,3225,3226,3227,3228],[76,124,141,142,1537,1957,1981,1983],[76,124,141,142,1517,1537,1983,2198,2603],[76,124,141,142,1535,1537,1593,1981],[62,76,124,141,142,1251,1520,1527,1529,1530,1532,1534,1535,1536,1539,1593,1957,1981,1983,2198,2603],[76,124,141,142,1537,1957],[76,124,141,142,1535,1537,1981,1983,2198,2603],[76,124,141,142,1535,1981,1983,2198,2603],[76,124,141,142,1535,1537,1972,1981,1983,2198,2603],[76,124,141,142,1535,1537,1574,1981,1983,2198,2603],[76,124,141,142,1576,2198,2603],[76,124,141,142,1576,1983,2198,2603],[76,124,141,142,1517,1535,1543,1593,1594,1983],[76,124,141,142,1162,1251,1533,1534,1537,1593,1957,1983,2198,2603],[76,124,141,142,1535,1542,1983],[76,124,141,142,1535,1972,1976,1983],[76,124,141,142,1533,1535,1976,1983],[76,124,141,142,1533,1534,1535,1976,1983],[76,124,141,142,1535,1976,1983,2001,2198,2603],[76,124,141,142,1533,1535,1983,2198,2603],[76,124,141,142,1533,1534,1535,1983,2198,2603],[76,124,141,142,1535,1983,2198,2603],[76,124,141,142,1251,1535,1983,2198,2603],[76,124,141,142,1533,1535,1983],[76,124,141,142,1251,1535,1976,1983,2198,2603],[76,124,141,142,1162,1170,1173,1251,1528,1529,1533,1534,1535,1536,1537,1542,1543,1544,1545,1546,1550,1574,1576,1577,1578,1582,1584,1586,1587,1588,1592,1593,1594,1596,1951,1954,1957,1958,1959,1961,1962,1963,1964,1965,1966,1968,1969,1970,1971,1973,1975,1976,1977,1978,1979,1981,1983,1984,1985,1986,1987,1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023,2024,2025,2026,2027,2028,2029,2030,2031,2032,2033,2034,2035,2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,2048,2049,2050,2051,2052,2053,2054,2055,2056,2057,2058,2059,2060,2061,2062,2063,2064,2065,2066,2067,2068,2069,2070,2071,2072,2073,2074,2075,2076,2077,2078,2079,2080,2081,2082,2083,2084,2085,2086,2087,2088,2133,2134,2135,2136,2137,2138,2139,2140,2141,2142,2144,2145,2146,2147,2148,2149,2150,2151,2152,2153,2154,2155,2156,2157,2158,2159,2160,2161,2162,2163,2164,2165,2166,2167,2168,2169,2170,2171,2172,2173,2174,2175,2176,2177,2178,2179,2180,2181,2182,2183,2184,2185,2186,2193,2194,2195,2197],[76,124,141,142,1983,2008,2198,2603],[76,124,141,142,2008],[76,124,141,142,1529,1537,1983,2198,2603],[76,124,141,142,1593,1981,2198,2603],[76,124,141,142,1535,1578,1582,1593],[76,124,141,142,1578,1582,1583,1586,1587,1983,2198,2603],[76,124,141,142,1582,1588,2198,2603],[76,124,141,142,1578,2198,2603],[76,124,141,142,1537,1578,1580,1581,1588,2198,2603],[76,124,141,142,1578,1580,2198,2603],[76,124,141,142,1582,1584,1586,2198,2603],[76,124,141,142,1578,1582,1983],[76,124,141,142,1583,1588,1983,2198,2603],[76,124,141,142,1585,1587,1983],[76,124,141,142,1578,1579,1582,1983,2198,2603],[76,124,141,142,1578],[76,124,141,142,1579,1582,1587,1983,2198,2603],[76,124,141,142,1517,1593],[76,124,141,142,167,1251,1517,1518,1981,1982,2198,2603],[76,124,141,142,1521,1983],[76,124,132,141,142,2132],[76,124,141,142,1521,1593,1960,1981,1983],[76,124,141,142,1593,1983,2198,2603],[76,124,141,142,1546,1593,1983],[76,124,141,142,1251,1983],[76,124,141,142,1517,1520,1535,1537,1593,1981],[76,124,141,142,2143],[76,124,141,142,1517,1537,1543],[76,124,141,142,1522,1593],[76,124,141,142,1537,1983],[76,124,141,142,1537,1593],[76,124,141,142,1528,1537,1983],[76,124,141,142,283,1517,1593],[76,124,141,142,1533,1535,1981],[76,124,141,142,1535,1981,1983],[76,124,141,142,1173,1591,1593],[76,124,141,142,1544,1981,1983],[76,124,141,142,1593,2198,2603],[76,124,141,142,1537,1957,1983],[76,124,141,142,1529,1957],[76,124,141,142,1537,1593,1981],[76,124,141,142,1535,1537,1593],[76,124,141,142,1535,1983],[76,124,141,142,2189,2192],[76,124,141,142,2187,2188],[76,124,141,142,2190,2191],[76,124,141,142,174,2503,2504,2505],[76,124,141,142,156,174,2503],[76,124,141,142,2501],[76,124,141,142,156,174],[76,124,141,142,156,174,1173,1589,1590],[76,124,138,141,142,174],[76,124,135,141,142,172,1171,1172],[76,124,141,142,978],[76,124,141,142,976,978],[76,124,141,142,967,975,976,977,979,981],[76,124,141,142,965],[76,124,141,142,968,973,978,981],[76,124,141,142,964,981],[76,124,141,142,968,969,972,973,974,981],[76,124,141,142,968,969,970,972,973,981],[76,124,141,142,965,966,967,968,969,973,974,975,977,978,979,981],[76,124,141,142,981],[76,124,141,142,963,965,966,967,968,969,970,972,973,974,975,976,977,978,979,980],[76,124,141,142,963,981],[76,124,141,142,968,970,971,973,974,981],[76,124,141,142,972,981],[76,124,141,142,973,974,978,981],[76,124,141,142,966,976],[62,76,124,141,142,1885,1886,1887,1891,1893,1895,1896,1897,1899,1900],[76,124,141,142,1598,1599,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1621,1622,1623,1624,1625,1626,1627,1628,1629,1630,1631,1885],[62,76,124,141,142,1886],[62,76,124,141,142,1886,1900,1901,1902,1903,1912,1913],[62,76,124,141,142,1886,1890],[62,76,124,141,142,1886,1892],[62,76,124,141,142,1886,1894],[62,76,124,141,142,1903,1904,1911],[62,76,124,141,142,1888,1889],[62,76,124,141,142,1910],[62,76,124,141,142,1898],[62,76,124,141,142,3144],[62,76,124,141,142,3132,3144],[62,76,124,141,142,3132,3144,3148],[62,76,124,141,142,3132,3133,3134,3135,3136,3137,3138,3139,3140,3141,3142,3144],[76,124,141,142,3110,3133,3134,3135,3136,3137,3138,3139,3140,3141,3142,3143,3144,3145,3146,3147,3148,3149,3150,3151],[62,76,124,141,142,3110,3132,3136,3140,3142,3143,3144,3145,3146,3147,3152],[62,76,124,141,142,3144,3148,3149],[76,124,141,142,3133,3134,3135,3136,3137,3138,3139,3140,3141,3142,3144],[76,124,141,142,3144],[76,124,141,142,3132,3143,3148],[76,124,141,142,3144,3148],[76,124,141,142,3152,3153],[76,124,141,142,3152],[76,124,141,142,955,1017,1018],[76,124,141,142,954,955],[76,124,141,142,963,1005],[76,124,141,142,992],[76,124,141,142,988,1005],[76,124,141,142,987,988,989,992,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013],[76,124,141,142,1009],[76,124,141,142,987,989,992,1010,1011],[76,124,141,142,1008,1012],[76,124,141,142,987,990,991],[76,124,141,142,990],[76,124,141,142,987,988,989,992,1004],[76,124,141,142,993,998,1004],[76,124,141,142,1004],[76,124,141,142,993,1004],[76,124,141,142,993,994,995,996,997,998,999,1000,1001,1002,1003],[76,124,135,141,142,174],[76,124,141,142,481],[76,124,141,142,1176],[76,124,141,142,1183],[76,124,141,142,1215,1216],[76,124,141,142,1174],[76,124,141,142,1241],[76,124,141,142,1180,1220],[76,124,141,142,1175],[76,124,141,142,1175,1214],[76,124,141,142,1175,1180],[76,124,141,142,1175,1204,1214],[76,124,141,142,1175,1179,1204,1214],[76,124,141,142,1175,1204],[76,124,141,142,1180,1196],[76,124,141,142,1232],[76,124,141,142,1179],[76,124,141,142,1174,1175,1176,1177,1178,1179,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1198,1199,1200,1201,1202,1203,1204,1205,1206,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250],[76,124,141,142,1182,1207],[76,124,141,142,1195],[76,124,141,142,1182,1209],[76,124,141,142,1182,1212],[76,124,141,142,1187],[76,124,141,142,1180],[76,124,141,142,1193],[76,124,141,142,1175,1195,1196,1197,1199],[76,124,141,142,1201],[76,124,141,142,1243],[76,124,141,142,1208],[76,124,141,142,1229],[76,124,141,142,1221,1222],[76,124,141,142,1221,1224],[76,124,141,142,1179,1180],[76,124,141,142,1174,1179,1198],[76,124,141,142,1209],[76,124,141,142,1193,1204],[76,89,93,124,141,142,167],[76,89,124,141,142,156,167],[76,84,124,141,142],[76,86,89,124,141,142,164,167],[76,124,141,142,144,164],[76,84,124,141,142,174],[76,86,89,124,141,142,144,167],[76,81,82,85,88,124,135,141,142,156,167],[76,89,96,124,141,142],[76,81,87,124,141,142],[76,89,110,111,124,141,142],[76,85,89,124,141,142,159,167,174],[76,110,124,141,142,174],[76,83,84,124,141,142,174],[76,89,124,141,142],[76,83,84,85,86,87,88,89,90,91,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,111,112,113,114,115,116,124,141,142],[76,89,104,124,141,142],[76,89,96,97,124,141,142],[76,87,89,97,98,124,141,142],[76,88,124,141,142],[76,81,84,89,124,141,142],[76,89,93,97,98,124,141,142],[76,93,124,141,142],[76,87,89,92,124,141,142,167],[76,81,86,89,96,124,141,142],[76,124,141,142,156],[76,84,89,110,124,141,142,172,174],[76,124,141,142,2131],[76,124,141,142,167,2095,2098,2101,2102],[76,124,141,142,156,167,2098],[76,124,141,142,167,2098,2102],[76,124,141,142,2092],[76,124,141,142,2096],[76,124,141,142,167,2094,2095,2098],[76,124,141,142,174,2092],[76,124,141,142,144,167,2094,2098],[76,124,135,141,142,156,167,2089,2090,2091,2093,2097],[76,124,141,142,2098,2107,2115],[76,124,141,142,2090,2096],[76,124,141,142,2098,2125,2126],[76,124,141,142,159,167,174,2090,2093,2098],[76,124,141,142,2098],[76,124,141,142,167,2094,2098],[76,124,141,142,2089],[76,124,141,142,2092,2093,2094,2096,2097,2098,2099,2100,2102,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113,2114,2115,2116,2117,2118,2119,2120,2121,2122,2123,2124,2126,2127,2128,2129,2130],[76,124,132,141,142,2098,2118,2121],[76,124,141,142,2098,2107,2108,2109],[76,124,141,142,2096,2098,2108,2110],[76,124,141,142,2097],[76,124,141,142,2090,2092,2098],[76,124,141,142,2098,2102,2108,2110],[76,124,141,142,2102],[76,124,141,142,167,2096,2098,2101],[76,124,141,142,2090,2094,2098,2107],[76,124,141,142,2098,2118],[76,124,141,142,2110],[76,124,141,142,2090,2094,2098,2102],[76,124,141,142,159,172,174,2092,2098,2125],[76,124,141,142,1023,1024],[76,124,141,142,1023],[76,124,135,136,138,139,140,141,142,144,156,164,167,173,174,955,956,957,958,960,961,962,982,986,1015,1016,1017,1018],[76,124,141,142,957,958,959,960],[76,124,141,142,957],[76,124,141,142,958],[76,124,141,142,1014],[76,124,141,142,985],[76,124,141,142,955,1018],[76,124,141,142,489,1035,1036,1045],[76,124,141,142,478,486,489,1028,1029,1045],[76,124,141,142,1038],[76,124,141,142,952],[76,124,141,142,478,489,953,1028,1037,1044,1045],[76,124,141,142,1021],[76,124,127,136,141,142,156,478,483,486,489,953,1018,1021,1022,1025,1028,1030,1031,1034,1037,1039,1040,1045,1046],[76,124,141,142,489,1035,1036,1037,1045],[76,124,141,142,1018,1041,1046],[76,124,141,142,489,953,1025,1028,1030,1045],[76,124,141,142,172,1031],[76,124,127,136,141,142,156,172,478,483,486,489,952,953,1018,1021,1022,1025,1028,1029,1030,1031,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1053],[76,124,141,142,1054],[76,124,141,142,951],[76,124,141,142,2528],[76,124,141,142,2519,2520],[76,124,141,142,2516,2517,2519,2521,2522,2527],[76,124,141,142,2517,2519],[76,124,141,142,2527],[76,124,141,142,2519],[76,124,141,142,2516,2517,2519,2522,2523,2524,2525,2526],[76,124,141,142,2516,2517,2518],[76,124,141,142,2764],[76,124,141,142,2766],[76,124,141,142,146,167,2198,2603,2604,2763,2765],[76,124,141,142,1055],[76,124,141,142,1055,1056,1057]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"7e29f41b158de217f94cb9676bf9cbd0cd9b5a46e1985141ed36e075c52bf6ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"dc0a7f107690ee5cd8afc8dbf05c4df78085471ce16bdd9881642ec738bc81fe","impliedFormat":1},{"version":"acd8fd5090ac73902278889c38336ff3f48af6ba03aa665eb34a75e7ba1dccc4","impliedFormat":1},{"version":"d6258883868fb2680d2ca96bc8b1352cab69874581493e6d52680c5ffecdb6cc","impliedFormat":1},{"version":"1b61d259de5350f8b1e5db06290d31eaebebc6baafd5f79d314b5af9256d7153","impliedFormat":1},{"version":"f258e3960f324a956fc76a3d3d9e964fff2244ff5859dcc6ce5951e5413ca826","impliedFormat":1},{"version":"643f7232d07bf75e15bd8f658f664d6183a0efaca5eb84b48201c7671a266979","impliedFormat":1},{"version":"0f6666b58e9276ac3a38fdc80993d19208442d6027ab885580d93aec76b4ef00","impliedFormat":1},{"version":"05fd364b8ef02fb1e174fbac8b825bdb1e5a36a016997c8e421f5fab0a6da0a0","impliedFormat":1},{"version":"631eff75b0e35d1b1b31081d55209abc43e16b49426546ab5a9b40bdd40b1f60","impliedFormat":1},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c906fb15bd2aabc9ed1e3f44eb6a8661199d6c320b3aa196b826121552cb3695","impliedFormat":1},{"version":"22295e8103f1d6d8ea4b5d6211e43421fe4564e34d0dd8e09e520e452d89e659","impliedFormat":1},{"version":"58647d85d0f722a1ce9de50955df60a7489f0593bf1a7015521efe901c06d770","impliedFormat":1},{"version":"6b4e081d55ac24fc8a4631d5dd77fe249fa25900abd7d046abb87d90e3b45645","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6f137d651076822d4fe884287e68fd61785a0d3d1fdb250a5059b691fa897db","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"bceb58df66ab8fb00170df20cd813978c5ab84be1d285710c4eb005d8e9d8efb","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"a3fc63c0d7b031693f665f5494412ba4b551fe644ededccc0ab5922401079c95","impliedFormat":1},{"version":"80523c00b8544a2000ae0143e4a90a00b47f99823eb7926c1e03c494216fc363","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"746911b62b329587939560deb5c036aca48aece03147b021fa680223255d5183","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"c8d3e5a18ba35629954e48c4cc8f11dc88224650067a172685c736b27a34a4dc","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"2b55d426ff2b9087485e52ac4bc7cfafe1dc420fc76dad926cd46526567c501a","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"47613031a5a31510831304405af561b0ffaedb734437c595256bb61a90f9311b","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"8a1a0d0a4a06a8d278947fcb66bf684f117bf147f89b06e50662d79a53be3e9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"358765d5ea8afd285d4fd1532e78b88273f18cb3f87403a9b16fef61ac9fdcfe","impliedFormat":1},{"version":"9f55299850d4f0921e79b6bf344b47c420ce0f507b9dcf593e532b09ea7eeea1","impliedFormat":1},{"version":"2beff543f6e9a9701df88daeee3cdd70a34b4a1c11cb4c734472195a5cb2af54","impliedFormat":1},{"version":"2e07abf27aa06353d46f4448c0bbac73431f6065eef7113128a5cd804d0c384d","impliedFormat":1},{"version":"be1cc4d94ea60cbe567bc29ed479d42587bf1e6cba490f123d329976b0fe4ee5","impliedFormat":1},{"version":"42bc0e1a903408137c3df2b06dfd7e402cdab5bbfa5fcfb871b22ebfdb30bd0b","impliedFormat":1},{"version":"9894dafe342b976d251aac58e616ac6df8db91fb9d98934ff9dd103e9e82578f","impliedFormat":1},{"version":"413df52d4ea14472c2fa5bee62f7a40abd1eb49be0b9722ee01ee4e52e63beb2","impliedFormat":1},{"version":"db6d2d9daad8a6d83f281af12ce4355a20b9a3e71b82b9f57cddcca0a8964a96","impliedFormat":1},{"version":"829b9e6028b29e6a8b1c01ddb713efe59da04d857089298fa79acbdb3cfcfdef","impliedFormat":1},{"version":"24f8562308dd8ba6013120557fa7b44950b619610b2c6cb8784c79f11e3c4f90","impliedFormat":1},{"version":"5f90b8c733a1bda63e42160b15a2301051e83a6f9d5332a59d16eb12f463270d","impliedFormat":1},{"version":"a86f82d646a739041d6702101afa82dcb935c416dd93cbca7fd754fd0282ce1f","impliedFormat":1},{"version":"ad0d1d75d129b1c80f911be438d6b61bfa8703930a8ff2be2f0e1f8a91841c64","impliedFormat":1},{"version":"ce75b1aebb33d510ff28af960a9221410a3eaf7f18fc5f21f9404075fba77256","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"496bbf339f3838c41f164238543e9fe5f1f10659cb30b68903851618464b98ba","impliedFormat":1},{"version":"5178eb4415a172c287c711dc60a619e110c3fd0b7de01ed0627e51a5336aa09c","impliedFormat":1},{"version":"ca6e5264278b53345bc1ce95f42fb0a8b733a09e3d6479c6ccfca55cdc45038c","impliedFormat":1},{"version":"9e2739b32f741859263fdba0244c194ca8e96da49b430377930b8f721d77c000","impliedFormat":1},{"version":"fb1d8e814a3eeb5101ca13515e0548e112bd1ff3fb358ece535b93e94adf5a3a","impliedFormat":1},{"version":"ffa495b17a5ef1d0399586b590bd281056cee6ce3583e34f39926f8dcc6ecdb5","impliedFormat":1},{"version":"98b18458acb46072947aabeeeab1e410f047e0cacc972943059ca5500b0a5e95","impliedFormat":1},{"version":"361e2b13c6765d7f85bb7600b48fde782b90c7c41105b7dab1f6e7871071ba20","impliedFormat":1},{"version":"c86fe861cf1b4c46a0fb7d74dffe596cf679a2e5e8b1456881313170f092e3fa","impliedFormat":1},{"version":"b6db56e4903e9c32e533b78ac85522de734b3d3a8541bf24d256058d464bf04b","impliedFormat":1},{"version":"24daa0366f837d22c94a5c0bad5bf1fd0f6b29e1fae92dc47c3072c3fdb2fbd5","impliedFormat":1},{"version":"570bb5a00836ffad3e4127f6adf581bfc4535737d8ff763a4d6f4cc877e60d98","impliedFormat":1},{"version":"889c00f3d32091841268f0b994beba4dceaa5df7573be12c2c829d7c5fbc232c","impliedFormat":1},{"version":"65f43099ded6073336e697512d9b80f2d4fec3182b7b2316abf712e84104db00","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"acf5a2ac47b59ca07afa9abbd2b31d001bf7448b041927befae2ea5b1951d9f9","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"d71291eff1e19d8762a908ba947e891af44749f3a2cbc5bd2ec4b72f72ea795f","impliedFormat":1},{"version":"c0480e03db4b816dff2682b347c95f2177699525c54e7e6f6aa8ded890b76be7","impliedFormat":1},{"version":"27ab780875bcbb65e09da7496f2ca36288b0c541abaa75c311450a077d54ec15","impliedFormat":1},{"version":"b620391fe8060cf9bedc176a4d01366e6574d7a71e0ac0ab344a4e76576fcbb8","impliedFormat":1},{"version":"380647d8f3b7f852cca6d154a376dbf8ac620a2f12b936594504a8a852e71d2f","impliedFormat":1},{"version":"208c9af9429dd3c76f5927b971263174aaa4bc7621ddec63f163640cbd3c473c","impliedFormat":1},{"version":"6459054aabb306821a043e02b89d54da508e3a6966601a41e71c166e4ea1474f","impliedFormat":1},{"version":"a23185bc5ef590c287c28a91baf280367b50ae4ea40327366ad01f6f4a8edbc5","impliedFormat":1},{"version":"bb37588926aba35c9283fe8d46ebf4e79ffe976343105f5c6d45f282793352b2","impliedFormat":1},{"version":"002eae065e6960458bda3cf695e578b0d1e2785523476f8a9170b103c709cd4f","impliedFormat":1},{"version":"c83bb0c9c5645a46c68356c2f73fdc9de339ce77f7f45a954f560c7e0b8d5ebb","impliedFormat":1},{"version":"05c97cddbaf99978f83d96de2d8af86aded9332592f08ce4a284d72d0952c391","impliedFormat":1},{"version":"72179f9dd22a86deaad4cc3490eb0fe69ee084d503b686985965654013f1391b","impliedFormat":1},{"version":"2e6114a7dd6feeef85b2c80120fdbfb59a5529c0dcc5bfa8447b6996c97a69f5","impliedFormat":1},{"version":"7b6ff760c8a240b40dab6e4419b989f06a5b782f4710d2967e67c695ef3e93c4","impliedFormat":1},{"version":"c8f004e6036aa1c764ad4ec543cf89a5c1893a9535c80ef3f2b653e370de45e6","impliedFormat":1},{"version":"dd80b1e600d00f5c6a6ba23f455b84a7db121219e68f89f10552c54ba46e4dc9","impliedFormat":1},{"version":"b064c36f35de7387d71c599bfcf28875849a1dbc733e82bd26cae3d1cd060521","impliedFormat":1},{"version":"6a148329edecbda07c21098639ef4254ef7869fb25a69f58e5d6a8b7b69d4236","impliedFormat":1},{"version":"8de9fe97fa9e00ec00666fa77ab6e91b35d25af8ca75dabcb01e14ad3299b150","impliedFormat":1},{"version":"f63ab283a1c8f5c79fabe7ca4ef85f9633339c4f0e822fce6a767f9d59282af2","impliedFormat":1},{"version":"dba114fb6a32b355a9cfc26ca2276834d72fe0e94cd2c3494005547025015369","impliedFormat":1},{"version":"a54c996c8870ef1728a2c1fa9b8eaec0bf4a8001cd2583c02dd5869289465b10","impliedFormat":1},{"version":"3e7efde639c6a6c3edb9847b3f61e308bf7a69685b92f665048c45132f51c218","impliedFormat":1},{"version":"df45ca1176e6ac211eae7ddf51336dc075c5314bc5c253651bae639defd5eec5","impliedFormat":1},{"version":"3754982006a3b32c502cff0867ca83584f7a43b1035989ca73603f400de13c96","impliedFormat":1},{"version":"a30ae9bb8a8fa7b90f24b8a0496702063ae4fe75deb27da731ed4a03b2eb6631","impliedFormat":1},{"version":"f974e4a06953682a2c15d5bd5114c0284d5abf8bc0fe4da25cb9159427b70072","impliedFormat":1},{"version":"50256e9c31318487f3752b7ac12ff365c8949953e04568009c8705db802776fb","impliedFormat":1},{"version":"7d73b24e7bf31dfb8a931ca6c4245f6bb0814dfae17e4b60c9e194a631fe5f7b","impliedFormat":1},{"version":"413586add0cfe7369b64979d4ec2ed56c3f771c0667fbde1bf1f10063ede0b08","impliedFormat":1},{"version":"06472528e998d152375ad3bd8ebcb69ff4694fd8d2effaf60a9d9f25a37a097a","impliedFormat":1},{"version":"50b5bc34ce6b12eccb76214b51aadfa56572aa6cc79c2b9455cdbb3d6c76af1d","impliedFormat":1},{"version":"b7e16ef7f646a50991119b205794ebfd3a4d8f8e0f314981ebbe991639023d0e","impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},{"version":"a401617604fa1f6ce437b81689563dfdc377069e4c58465dbd8d16069aede0a5","impliedFormat":1},{"version":"e9dd71cf12123419c60dab867d44fbee5c358169f99529121eaef277f5c83531","impliedFormat":1},{"version":"5b6a189ba3a0befa1f5d9cb028eb9eec2af2089c32f04ff50e2411f63d70f25d","impliedFormat":1},{"version":"d6e73f8010935b7b4c7487b6fb13ea197cc610f0965b759bec03a561ccf8423a","impliedFormat":1},{"version":"174f3864e398f3f33f9a446a4f403d55a892aa55328cf6686135dfaf9e171657","impliedFormat":1},{"version":"824c76aec8d8c7e65769688cbee102238c0ef421ed6686f41b2a7d8e7e78a931","impliedFormat":1},{"version":"75b868be3463d5a8cfc0d9396f0a3d973b8c297401d00bfb008a42ab16643f13","impliedFormat":1},{"version":"15a234e5031b19c48a69ccc1607522d6e4b50f57d308ecb7fe863d44cd9f9eb3","impliedFormat":1},{"version":"d682336018141807fb602709e2d95a192828fcb8d5ba06dda3833a8ea98f69e3","impliedFormat":1},{"version":"6124e973eab8c52cabf3c07575204efc1784aca6b0a30c79eb85fe240a857efa","impliedFormat":1},{"version":"0d891735a21edc75df51f3eb995e18149e119d1ce22fd40db2b260c5960b914e","impliedFormat":1},{"version":"3b414b99a73171e1c4b7b7714e26b87d6c5cb03d200352da5342ab4088a54c85","impliedFormat":1},{"version":"4fbd3116e00ed3a6410499924b6403cc9367fdca303e34838129b328058ede40","impliedFormat":1},{"version":"b01bd582a6e41457bc56e6f0f9de4cb17f33f5f3843a7cf8210ac9c18472fb0f","impliedFormat":1},{"version":"0a437ae178f999b46b6153d79095b60c42c996bc0458c04955f1c996dc68b971","impliedFormat":1},{"version":"74b2a5e5197bd0f2e0077a1ea7c07455bbea67b87b0869d9786d55104006784f","impliedFormat":1},{"version":"4a7baeb6325920044f66c0f8e5e6f1f52e06e6d87588d837bdf44feb6f35c664","impliedFormat":1},{"version":"6dcf60530c25194a9ee0962230e874ff29d34c59605d8e069a49928759a17e0a","impliedFormat":1},{"version":"7274fbffbd7c9589d8d0ffba68157237afd5cecff1e99881ea3399127e60572f","impliedFormat":1},{"version":"1a42d2ec31a1fe62fdc51591768695ed4a2dc64c01be113e7ff22890bebb5e3f","impliedFormat":1},{"version":"1a82deef4c1d39f6882f28d275cad4c01f907b9b39be9cbc472fcf2cf051e05b","impliedFormat":1},{"version":"c5426dbfc1cf90532f66965a7aa8c1136a78d4d0f96d8180ecbfc11d7722f1a5","impliedFormat":1},{"version":"65a15fc47900787c0bd18b603afb98d33ede930bed1798fc984d5ebb78b26cf9","impliedFormat":1},{"version":"9d202701f6e0744adb6314d03d2eb8fc994798fc83d91b691b75b07626a69801","impliedFormat":1},{"version":"de9d2df7663e64e3a91bf495f315a7577e23ba088f2949d5ce9ec96f44fba37d","impliedFormat":1},{"version":"c7af78a2ea7cb1cd009cfb5bdb48cd0b03dad3b54f6da7aab615c2e9e9d570c5","impliedFormat":1},{"version":"1ee45496b5f8bdee6f7abc233355898e5bf9bd51255db65f5ff7ede617ca0027","impliedFormat":1},{"version":"0c7c947ff881c4274c0800deaa0086971e0bfe51f89a33bd3048eaa3792d4876","affectsGlobalScope":true,"impliedFormat":1},{"version":"db01d18853469bcb5601b9fc9826931cc84cc1a1944b33cad76fd6f1e3d8c544","affectsGlobalScope":true,"impliedFormat":1},{"version":"a8f8e6ab2fa07b45251f403548b78eaf2022f3c2254df3dc186cb2671fe4996d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa6c12a7c0f6b84d512f200690bfc74819e99efae69e4c95c4cd30f6884c526e","impliedFormat":1},{"version":"f1c32f9ce9c497da4dc215c3bc84b722ea02497d35f9134db3bb40a8d918b92b","impliedFormat":1},{"version":"b73c319af2cc3ef8f6421308a250f328836531ea3761823b4cabbd133047aefa","affectsGlobalScope":true,"impliedFormat":1},{"version":"e433b0337b8106909e7953015e8fa3f2d30797cea27141d1c5b135365bb975a6","impliedFormat":1},{"version":"15b36126e0089bfef173ab61329e8286ce74af5e809d8a72edcafd0cc049057f","impliedFormat":1},{"version":"ddff7fc6edbdc5163a09e22bf8df7bef75f75369ebd7ecea95ba55c4386e2441","impliedFormat":1},{"version":"106c6025f1d99fd468fd8bf6e5bda724e11e5905a4076c5d29790b6c3745e50c","impliedFormat":1},{"version":"a57b1802794433adec9ff3fed12aa79d671faed86c49b09e02e1ac41b4f1d33a","impliedFormat":1},{"version":"ad10d4f0517599cdeca7755b930f148804e3e0e5b5a3847adce0f1f71bbccd74","impliedFormat":1},{"version":"1042064ece5bb47d6aba91648fbe0635c17c600ebdf567588b4ca715602f0a9d","impliedFormat":1},{"version":"c49469a5349b3cc1965710b5b0f98ed6c028686aa8450bcb3796728873eb923e","impliedFormat":1},{"version":"4a889f2c763edb4d55cb624257272ac10d04a1cad2ed2948b10ed4a7fda2a428","impliedFormat":1},{"version":"7bb79aa2fead87d9d56294ef71e056487e848d7b550c9a367523ee5416c44cfa","impliedFormat":1},{"version":"72d63643a657c02d3e51cd99a08b47c9b020a565c55f246907050d3c8a5e77fb","impliedFormat":1},{"version":"1d415445ea58f8033ba199703e55ff7483c52ac6742075b803bd3e7bbe9f5d61","impliedFormat":1},{"version":"d6406c629bb3efc31aedb2de809bef471e475c86c7e67f3ef9b676b5d7e0d6b2","impliedFormat":1},{"version":"27ff4196654e6373c9af16b6165120e2dd2169f9ad6abb5c935af5abd8c7938c","impliedFormat":1},{"version":"71d8ba39a9e024d9e4bb922464d18542ed8d2c25ee78efa7890c27213cc6e5d3","impliedFormat":1},{"version":"8c030e515014c10a2b98f9f48408e3ba18023dfd3f56e3312c6c2f3ae1f55a16","impliedFormat":1},{"version":"dafc31e9e8751f437122eb8582b93d477e002839864410ff782504a12f2a550c","impliedFormat":1},{"version":"754498c5208ce3c5134f6eabd49b25cf5e1a042373515718953581636491f3c3","impliedFormat":1},{"version":"9c82171d836c47486074e4ca8e059735bf97b205e70b196535b5efd40cbe1bc5","impliedFormat":1},{"version":"f56bdc6884648806d34bc66d31cdb787c4718d04105ce2cd88535db214631f82","impliedFormat":1},{"version":"633d58a237f4bb25ec7d565e4ffa32cecdcee8660ac12189c4351c52557cee9e","impliedFormat":1},{"version":"2e4f37ffe8862b14d8e24ae8763daaa8340c0df0b859d9a9733def0eee7562d9","impliedFormat":1},{"version":"13283350547389802aa35d9f2188effaeac805499169a06ef5cd77ce2a0bd63f","impliedFormat":1},{"version":"ce791f6ea807560f08065d1af6014581eeb54a05abd73294777a281b6dfd73c2","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"49f95e989b4632c6c2a578cc0078ee19a5831832d79cc59abecf5160ea71abad","impliedFormat":1},{"version":"9666533332f26e8995e4d6fe472bdeec9f15d405693723e6497bf94120c566c8","impliedFormat":1},{"version":"ce0df82a9ae6f914ba08409d4d883983cc08e6d59eb2df02d8e4d68309e7848b","impliedFormat":1},{"version":"796273b2edc72e78a04e86d7c58ae94d370ab93a0ddf40b1aa85a37a1c29ecd7","impliedFormat":1},{"version":"5df15a69187d737d6d8d066e189ae4f97e41f4d53712a46b2710ff9f8563ec9f","impliedFormat":1},{"version":"e17cd049a1448de4944800399daa4a64c5db8657cc9be7ef46be66e2a2cd0e7c","impliedFormat":1},{"version":"43fa6ea8714e18adc312b30450b13562949ba2f205a1972a459180fa54471018","impliedFormat":1},{"version":"6e89c2c177347d90916bad67714d0fb473f7e37fb3ce912f4ed521fe2892cd0d","impliedFormat":1},{"version":"43ba4f2fa8c698f5c304d21a3ef596741e8e85a810b7c1f9b692653791d8d97a","impliedFormat":1},{"version":"4d4927cbee21750904af7acf940c5e3c491b4d5ebc676530211e389dd375607a","impliedFormat":1},{"version":"72105519d0390262cf0abe84cf41c926ade0ff475d35eb21307b2f94de985778","impliedFormat":1},{"version":"8a97e578a9bc40eb4f1b0ca78f476f2e9154ecbbfd5567ee72943bab37fc156a","impliedFormat":1},{"version":"c857e0aae3f5f444abd791ec81206020fbcc1223e187316677e026d1c1d6fe08","impliedFormat":1},{"version":"ccf6dd45b708fb74ba9ed0f2478d4eb9195c9dfef0ff83a6092fa3cf2ff53b4f","impliedFormat":1},{"version":"2d7db1d73456e8c5075387d4240c29a2a900847f9c1bff106a2e490da8fbd457","impliedFormat":1},{"version":"2b15c805f48e4e970f8ec0b1915f22d13ca6212375e8987663e2ef5f0205e832","impliedFormat":1},{"version":"f22d05663d873ee7a600faf78abb67f3f719d32266803440cf11d5db7ac0cab2","impliedFormat":1},{"version":"d93c544ad20197b3976b0716c6d5cd5994e71165985d31dcab6e1f77feb4b8f2","impliedFormat":1},{"version":"35069c2c417bd7443ae7c7cafd1de02f665bf015479fec998985ffbbf500628c","impliedFormat":1},{"version":"a8b1c79a833ee148251e88a2553d02ce1641d71d2921cce28e79678f3d8b96aa","impliedFormat":1},{"version":"126d4f950d2bba0bd45b3a86c76554d4126c16339e257e6d2fabf8b6bf1ce00c","impliedFormat":1},{"version":"7e0b7f91c5ab6e33f511efc640d36e6f933510b11be24f98836a20a2dc914c2d","impliedFormat":1},{"version":"045b752f44bf9bbdcaffd882424ab0e15cb8d11fa94e1448942e338c8ef19fba","impliedFormat":1},{"version":"2894c56cad581928bb37607810af011764a2f511f575d28c9f4af0f2ef02d1ab","impliedFormat":1},{"version":"0a72186f94215d020cb386f7dca81d7495ab6c17066eb07d0f44a5bf33c1b21a","impliedFormat":1},{"version":"2d3cc2211f352f46ea6b7cf2c751c141ffcdf514d6e7ae7ee20b7b6742da313f","impliedFormat":1},{"version":"c75445151ff8b77d9923191efed7203985b1a9e09eccf4b054e7be864e27923d","impliedFormat":1},{"version":"0aedb02516baf3e66b2c1db9fef50666d6ed257edac0f866ea32f1aa05aa474f","impliedFormat":1},{"version":"fa8a8fbf91ee2a4779496225f0312aac6635b0f21aa09cdafa4283fe32d519c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"0e8aef93d79b000deb6ec336b5645c87de167168e184e84521886f9ecc69a4b5","impliedFormat":1},{"version":"56ccb49443bfb72e5952f7012f0de1a8679f9f75fc93a5c1ac0bafb28725fc5f","impliedFormat":1},{"version":"20fa37b636fdcc1746ea0738f733d0aed17890d1cd7cb1b2f37010222c23f13e","impliedFormat":1},{"version":"d90b9f1520366d713a73bd30c5a9eb0040d0fb6076aff370796bc776fd705943","impliedFormat":1},{"version":"bc03c3c352f689e38c0ddd50c39b1e65d59273991bfc8858a9e3c0ebb79c023b","impliedFormat":1},{"version":"19df3488557c2fc9b4d8f0bac0fd20fb59aa19dec67c81f93813951a81a867f8","affectsGlobalScope":true,"impliedFormat":1},{"version":"b25350193e103ae90423c5418ddb0ad1168dc9c393c9295ef34980b990030617","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef86adb77316505c6b471da1d9b8c9e428867c2566270e8894d4d773a1c4dc2","impliedFormat":1},{"version":"de7052bfee2981443498239a90c04ea5cc07065d5b9bb61b12cb6c84313ad4ef","impliedFormat":1},{"version":"a3e7d932dc9c09daa99141a8e4800fc6c58c625af0d4bbb017773dc36da75426","impliedFormat":1},{"version":"43e96a3d5d1411ab40ba2f61d6a3192e58177bcf3b133a80ad2a16591611726d","impliedFormat":1},{"version":"4a2edd238d9104eac35b60d727f1123de5062f452b70ed8e0366cb36387dfdfd","impliedFormat":1},{"version":"ca921bf56756cb6fe957f6af693a35251b134fb932dc13f3dfff0bb7106f80b4","impliedFormat":1},{"version":"fee92c97f1aa59eb7098a0cc34ff4df7e6b11bae71526aca84359a2575f313d8","impliedFormat":1},{"version":"0bd0297484aacea217d0b76e55452862da3c5d9e33b24430e0719d1161657225","impliedFormat":1},{"version":"2ab6d334bcbf2aff3acfc4fd8c73ecd82b981d3c3aa47b3f3b89281772286904","impliedFormat":1},{"version":"d07cbc787a997d83f7bde3877fec5fb5b12ce8c1b7047eb792996ed9726b4dde","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"4805f6161c2c8cefb8d3b8bd96a080c0fe8dbc9315f6ad2e53238f9a79e528a6","impliedFormat":1},{"version":"b83cb14474fa60c5f3ec660146b97d122f0735627f80d82dd03e8caa39b4388c","impliedFormat":1},{"version":"f374cb24e93e7798c4d9e83ff872fa52d2cdb36306392b840a6ddf46cb925cb6","impliedFormat":1},{"version":"49179c6a23701c642bd99abe30d996919748014848b738d8e85181fc159685ff","impliedFormat":1},{"version":"b73cbf0a72c8800cf8f96a9acfe94f3ad32ca71342a8908b8ae484d61113f647","impliedFormat":1},{"version":"bae6dd176832f6423966647382c0d7ba9e63f8c167522f09a982f086cd4e8b23","impliedFormat":1},{"version":"20865ac316b8893c1a0cc383ccfc1801443fbcc2a7255be166cf90d03fac88c9","impliedFormat":1},{"version":"c9958eb32126a3843deedda8c22fb97024aa5d6dd588b90af2d7f2bfac540f23","impliedFormat":1},{"version":"461d0ad8ae5f2ff981778af912ba71b37a8426a33301daa00f21c6ccb27f8156","impliedFormat":1},{"version":"e927c2c13c4eaf0a7f17e6022eee8519eb29ef42c4c13a31e81a611ab8c95577","impliedFormat":1},{"version":"fcafff163ca5e66d3b87126e756e1b6dfa8c526aa9cd2a2b0a9da837d81bbd72","impliedFormat":1},{"version":"70246ad95ad8a22bdfe806cb5d383a26c0c6e58e7207ab9c431f1cb175aca657","impliedFormat":1},{"version":"f00f3aa5d64ff46e600648b55a79dcd1333458f7a10da2ed594d9f0a44b76d0b","impliedFormat":1},{"version":"772d8d5eb158b6c92412c03228bd9902ccb1457d7a705b8129814a5d1a6308fc","impliedFormat":1},{"version":"45490817629431853543adcb91c0673c25af52a456479588b6486daba34f68bb","impliedFormat":1},{"version":"802e797bcab5663b2c9f63f51bdf67eff7c41bc64c0fd65e6da3e7941359e2f7","impliedFormat":1},{"version":"8b4327413e5af38cd8cb97c59f48c3c866015d5d642f28518e3a891c469f240e","impliedFormat":1},{"version":"8514c62ce38e58457d967e9e73f128eedc1378115f712b9eef7127f7c88f82ae","impliedFormat":1},{"version":"f1289e05358c546a5b664fbb35a27738954ec2cc6eb4137350353099d154fc62","impliedFormat":1},{"version":"4b20fcf10a5413680e39f5666464859fc56b1003e7dfe2405ced82371ebd49b6","impliedFormat":1},{"version":"1d17ba45cfbe77a9c7e0df92f7d95f3eefd49ee23d1104d0548b215be56945ad","impliedFormat":1},{"version":"f7d628893c9fa52ba3ab01bcb5e79191636c4331ee5667ecc6373cbccff8ae12","impliedFormat":1},{"version":"1d879125d1ec570bf04bc1f362fdbe0cb538315c7ac4bcfcdf0c1e9670846aa6","impliedFormat":1},{"version":"a1ee88010a64e8647d07dba58ec43e6e05851b9ec7a62e4ca2b9c33be5abb2c8","impliedFormat":1},{"version":"46273e8c29816125d0d0b56ce9a849cc77f60f9a5ba627447501d214466f0ff3","impliedFormat":1},{"version":"d663134457d8d669ae0df34eabd57028bddc04fc444c4bc04bc5215afc91e1f4","impliedFormat":1},{"version":"e91f7b1344577a02f051b9b471f33044fef8334a76dc9e1de003d17595a5219b","impliedFormat":1},{"version":"3af3584f79c57853028ef9421ec172539e1fe01853296dc05a9d615ade4ffaf6","impliedFormat":1},{"version":"f82579d87701d639ff4e3930a9b24f4ee13ca74221a9a3a792feb47f01881a9c","impliedFormat":1},{"version":"d7e5d5245a8ba34a274717d085174b2c9827722778129b0081fefd341cca8f55","impliedFormat":1},{"version":"d9d32f94056181c31f553b32ce41d0ef75004912e27450738d57efcd2409c324","impliedFormat":1},{"version":"752513f35f6cff294ffe02d6027c41373adf7bfa35e593dbfd53d95c203635ee","impliedFormat":1},{"version":"6c800b281b9e89e69165fd11536195488de3ff53004e55905e6c0059a2d8591e","impliedFormat":1},{"version":"7d4254b4c6c67a29d5e7f65e67d72540480ac2cfb041ca484847f5ae70480b62","impliedFormat":1},{"version":"1a7e2ea171726446850ec72f4d1525d547ff7e86724cc9e7eec509725752a758","impliedFormat":1},{"version":"8c901126d73f09ecdea4785e9a187d1ac4e793e07da308009db04a7283ec2f37","impliedFormat":1},{"version":"db97922b767bd2675fdfa71e08b49c38b7d2c847a1cc4a7274cb77be23b026f1","impliedFormat":1},{"version":"aab290b8e4b7c399f2c09b957666fc95335eb4522b2dd9ead1bf0cb64da6d6ee","impliedFormat":1},{"version":"94fe3281392e1015b22f39535878610b4fa6f1388dc8d78746be3bc4e4bb8950","impliedFormat":1},{"version":"2652448ac55a2010a1f71dd141f828b682298d39728f9871e1cdf8696ef443fd","impliedFormat":1},{"version":"06c25ddfc2242bd06c19f66c9eae4c46d937349a267810f89783680a1d7b5259","impliedFormat":1},{"version":"120599fd965257b1f4d0ff794bc696162832d9d8467224f4665f713a3119078b","impliedFormat":1},{"version":"5433f33b0a20300cca35d2f229a7fc20b0e8477c44be2affeb21cb464af60c76","impliedFormat":1},{"version":"db036c56f79186da50af66511d37d9fe77fa6793381927292d17f81f787bb195","impliedFormat":1},{"version":"bd4131091b773973ca5d2326c60b789ab1f5e02d8843b3587effe6e1ea7c9d86","impliedFormat":1},{"version":"c7f6485931085bf010fbaf46880a9b9ec1a285ad9dc8c695a9e936f5a48f34b4","impliedFormat":1},{"version":"14f6b927888a1112d662877a5966b05ac1bf7ed25d6c84386db4c23c95a5363b","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"0427df5c06fafc5fe126d14b9becd24160a288deff40e838bfbd92a35f8d0d00","impliedFormat":1},{"version":"90c54a02432d04e4246c87736e53a6a83084357acfeeba7a489c5422b22f5c7a","impliedFormat":1},{"version":"49c346823ba6d4b12278c12c977fb3a31c06b9ca719015978cb145eb86da1c61","impliedFormat":1},{"version":"bfac6e50eaa7e73bb66b7e052c38fdc8ccfc8dbde2777648642af33cf349f7f1","impliedFormat":1},{"version":"92f7c1a4da7fbfd67a2228d1687d5c2e1faa0ba865a94d3550a3941d7527a45d","impliedFormat":1},{"version":"f53b120213a9289d9a26f5af90c4c686dd71d91487a0aa5451a38366c70dc64b","impliedFormat":1},{"version":"83fe880c090afe485a5c02262c0b7cdd76a299a50c48d9bde02be8e908fb4ae6","impliedFormat":1},{"version":"0a372c2d12a259da78e21b25974d2878502f14d89c6d16b97bd9c5017ab1bc12","impliedFormat":1},{"version":"57d67b72e06059adc5e9454de26bbfe567d412b962a501d263c75c2db430f40e","impliedFormat":1},{"version":"6511e4503cf74c469c60aafd6589e4d14d5eb0a25f9bf043dcbecdf65f261972","impliedFormat":1},{"version":"ec1ca97598eda26b7a5e6c8053623acbd88e43be7c4d29c77ccd57abc4c43999","impliedFormat":1},{"version":"6e2261cd9836b2c25eecb13940d92c024ebed7f8efe23c4b084145cd3a13b8a6","impliedFormat":1},{"version":"a67b87d0281c97dfc1197ef28dfe397fc2c865ccd41f7e32b53f647184cc7307","impliedFormat":1},{"version":"771ffb773f1ddd562492a6b9aaca648192ac3f056f0e1d997678ff97dbb6bf9b","impliedFormat":1},{"version":"232f70c0cf2b432f3a6e56a8dc3417103eb162292a9fd376d51a3a9ea5fbbf6f","impliedFormat":1},{"version":"a47e6d954d22dd9ebb802e7e431b560ed7c581e79fb885e44dc92ed4f60d4c07","impliedFormat":1},{"version":"f019e57d2491c159d47a107fd90219a1734bdd2e25cd8d1db3c8fae5c6b414c4","impliedFormat":1},{"version":"8a0e762ceb20c7e72504feef83d709468a70af4abccb304f32d6b9bac1129b2c","impliedFormat":1},{"version":"d1c9bf292a54312888a77bb19dba5e2503ad803f5393beafd45d78d2f4fe9b48","impliedFormat":1},{"version":"9252d498a77517aab5d8d4b5eb9d71e4b225bbc7123df9713e08181de63180f6","impliedFormat":1},{"version":"cb8d8ef7b9ce8ed3e6f1c814fcbf3f90dab0cb8863079236784fc350746e27c4","impliedFormat":1},{"version":"35e6379c3f7cb27b111ad4c1aa69538fd8e788ab737b8ff7596a1b40e96f4f90","impliedFormat":1},{"version":"1fffe726740f9787f15b532e1dc870af3cd964dbe29e191e76121aa3dd8693f2","impliedFormat":1},{"version":"3be035da7bee86b4c3abf392e0edaa44fc6e45092995eefe36b39118c8a84068","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f828825d077c2fa0ea606649faeb122749273a353daab23924fe674e98ba44c","impliedFormat":1},{"version":"2896c2e673a5d3bd9b4246811f79486a073cbb03950c3d252fba10003c57411a","impliedFormat":1},{"version":"616775f16134fa9d01fc677ad3f76e68c051a056c22ab552c64cc281a9686790","impliedFormat":1},{"version":"65c24a8baa2cca1de069a0ba9fba82a173690f52d7e2d0f1f7542d59d5eb4db0","impliedFormat":1},{"version":"f9fe6af238339a0e5f7563acee3178f51db37f32a2e7c09f85273098cee7ec49","impliedFormat":1},{"version":"407a06ba04eede4074eec470ecba2784cbb3bf4e7de56833b097dd90a2aa0651","impliedFormat":1},{"version":"77e71242e71ebf8528c5802993697878f0533db8f2299b4d36aa015bae08a79c","impliedFormat":1},{"version":"98a787be42bd92f8c2a37d7df5f13e5992da0d967fab794adbb7ee18370f9849","impliedFormat":1},{"version":"5c96bad5f78466785cdad664c056e9e2802d5482ca5f862ed19ba34ffbb7b3a4","impliedFormat":1},{"version":"81d8603ac527e75cfec72bb9391228b58f161c2b33514a9d814c7f3ebd3ef466","impliedFormat":1},{"version":"5f3dc10ae646f375776b4e028d2bed039a93eebbba105694d8b910feebbe8b9c","impliedFormat":1},{"version":"bb0cd7862b72f5eba39909c9889d566e198fcaddf7207c16737d0c2246112678","impliedFormat":1},{"version":"4545c1a1ceca170d5d83452dd7c4994644c35cf676a671412601689d9a62da35","impliedFormat":1},{"version":"320f4091e33548b554d2214ce5fc31c96631b513dffa806e2e3a60766c8c49d9","impliedFormat":1},{"version":"a2d648d333cf67b9aeac5d81a1a379d563a8ffa91ddd61c6179f68de724260ff","impliedFormat":1},{"version":"d90d5f524de38889d1e1dbc2aeef00060d779f8688c02766ddb9ca195e4a713d","impliedFormat":1},{"version":"a3f41ed1b4f2fc3049394b945a68ae4fdefd49fa1739c32f149d32c0545d67f5","impliedFormat":1},{"version":"bad68fd0401eb90fe7da408565c8aee9c7a7021c2577aec92fa1382e8876071a","impliedFormat":1},{"version":"47699512e6d8bebf7be488182427189f999affe3addc1c87c882d36b7f2d0b0e","impliedFormat":1},{"version":"fec01479923e169fb52bd4f668dbeef1d7a7ea6e6d491e15617b46f2cacfa37d","impliedFormat":1},{"version":"8a8fb3097ba52f0ae6530ec6ab34e43e316506eb1d9aa29420a4b1e92a81442d","impliedFormat":1},{"version":"44e09c831fefb6fe59b8e65ad8f68a7ecc0e708d152cfcbe7ba6d6080c31c61e","impliedFormat":1},{"version":"1c0a98de1323051010ce5b958ad47bc1c007f7921973123c999300e2b7b0ecc0","impliedFormat":1},{"version":"4655709c9cb3fd6db2b866cab7c418c40ed9533ce8ea4b66b5f17ec2feea46a9","impliedFormat":1},{"version":"87affad8e2243635d3a191fa72ef896842748d812e973b7510a55c6200b3c2a4","impliedFormat":1},{"version":"ad036a85efcd9e5b4f7dd5c1a7362c8478f9a3b6c3554654ca24a29aa850a9c5","impliedFormat":1},{"version":"fedebeae32c5cdd1a85b4e0504a01996e4a8adf3dfa72876920d3dd6e42978e7","impliedFormat":1},{"version":"3eecb25bb467a948c04874d70452b14ae7edb707660aac17dc053e42f2088b00","impliedFormat":1},{"version":"cdf21eee8007e339b1b9945abf4a7b44930b1d695cc528459e68a3adc39a622e","impliedFormat":1},{"version":"330896c1a2b9693edd617be24fbf9e5895d6e18c7955d6c08f028f272b37314d","impliedFormat":1},{"version":"1d9c0a9a6df4e8f29dc84c25c5aa0bb1da5456ebede7a03e03df08bb8b27bae6","impliedFormat":1},{"version":"84380af21da938a567c65ef95aefb5354f676368ee1a1cbb4cae81604a4c7d17","impliedFormat":1},{"version":"1af3e1f2a5d1332e136f8b0b95c0e6c0a02aaabd5092b36b64f3042a03debf28","impliedFormat":1},{"version":"30d8da250766efa99490fc02801047c2c6d72dd0da1bba6581c7e80d1d8842a4","impliedFormat":1},{"version":"03566202f5553bd2d9de22dfab0c61aa163cabb64f0223c08431fb3fc8f70280","impliedFormat":1},{"version":"5f0292a40df210ab94b9fb44c8b775c51e96777e14e073900e392b295ca1061b","impliedFormat":1},{"version":"bc9ee0192f056b3d5527bcd78dc3f9e527a9ba2bdc0a2c296fbc9027147df4b2","impliedFormat":1},{"version":"8627ad129bcf56e82adff0ab5951627c993937aa99f5949c33240d690088b803","impliedFormat":1},{"version":"1de80059b8078ea5749941c9f863aa970b4735bdbb003be4925c853a8b6b4450","impliedFormat":1},{"version":"1d079c37fa53e3c21ed3fa214a27507bda9991f2a41458705b19ed8c2b61173d","impliedFormat":1},{"version":"5bf5c7a44e779790d1eb54c234b668b15e34affa95e78eada73e5757f61ed76a","impliedFormat":1},{"version":"5835a6e0d7cd2738e56b671af0e561e7c1b4fb77751383672f4b009f4e161d70","impliedFormat":1},{"version":"5c634644d45a1b6bc7b05e71e05e52ec04f3d73d9ac85d5927f647a5f965181a","impliedFormat":1},{"version":"4b7f74b772140395e7af67c4841be1ab867c11b3b82a51b1aeb692822b76c872","impliedFormat":1},{"version":"27be6622e2922a1b412eb057faa854831b95db9db5035c3f6d4b677b902ab3b7","impliedFormat":1},{"version":"a68d4b3182e8d776cdede7ac9630c209a7bfbb59191f99a52479151816ef9f9e","impliedFormat":99},{"version":"39644b343e4e3d748344af8182111e3bbc594930fff0170256567e13bbdbebb0","impliedFormat":99},{"version":"ed7fd5160b47b0de3b1571c5c5578e8e7e3314e33ae0b8ea85a895774ee64749","impliedFormat":99},{"version":"63a7595a5015e65262557f883463f934904959da563b4f788306f699411e9bac","impliedFormat":1},{"version":"ecbaf0da125974be39c0aac869e403f72f033a4e7fd0d8cd821a8349b4159628","impliedFormat":1},{"version":"4ba137d6553965703b6b55fd2000b4e07ba365f8caeb0359162ad7247f9707a6","impliedFormat":1},{"version":"ceec3c81b2d81f5e3b855d9367c1d4c664ab5046dff8fd56552df015b7ccbe8f","affectsGlobalScope":true,"impliedFormat":1},{"version":"8fac4a15690b27612d8474fb2fc7cc00388df52d169791b78d1a3645d60b4c8b","affectsGlobalScope":true,"impliedFormat":1},{"version":"064ac1c2ac4b2867c2ceaa74bbdce0cb6a4c16e7c31a6497097159c18f74aa7c","impliedFormat":1},{"version":"3dc14e1ab45e497e5d5e4295271d54ff689aeae00b4277979fdd10fa563540ae","impliedFormat":1},{"version":"1d63055b690a582006435ddd3aa9c03aac16a696fac77ce2ed808f3e5a06efab","impliedFormat":1},{"version":"b789bf89eb19c777ed1e956dbad0925ca795701552d22e68fd130a032008b9f9","impliedFormat":1},"85ae5aee75f011967cf2d25cbc342f62d69314e9d925f7f4aa3456fc2cffcca6",{"version":"5c54a34e3d91727f7ae840bfe4d5d1c9a2f93c54cb7b6063d06ee4a6c3322656","impliedFormat":99},{"version":"db4da53b03596668cf6cc9484834e5de3833b9e7e64620cf08399fe069cd398d","impliedFormat":99},{"version":"ac7c28f153820c10850457994db1462d8c8e462f253b828ad942a979f726f2f9","impliedFormat":99},{"version":"f9b028d3c3891dd817e24d53102132b8f696269309605e6ed4f0db2c113bbd82","impliedFormat":99},{"version":"fb7c8d90e52e2884509166f96f3d591020c7b7977ab473b746954b0c8d100960","impliedFormat":99},{"version":"0bff51d6ed0c9093f6955b9d8258ce152ddb273359d50a897d8baabcb34de2c4","impliedFormat":99},{"version":"45cec9a1ba6549060552eead8959d47226048e0b71c7d0702ae58b7e16a28912","impliedFormat":99},{"version":"ef13c73d6157a32933c612d476c1524dd674cf5b9a88571d7d6a0d147544d529","impliedFormat":99},{"version":"13918e2b81c4288695f9b1f3dcc2468caf0f848d5c1f3dc00071c619d34ff63a","impliedFormat":99},{"version":"6907b09850f86610e7a528348c15484c1e1c09a18a9c1e98861399dfe4b18b46","impliedFormat":99},{"version":"12deea8eaa7a4fc1a2908e67da99831e5c5a6b46ad4f4f948fd4759314ea2b80","impliedFormat":99},{"version":"f0a8b376568a18f9a4976ecb0855187672b16b96c4df1c183a7e52dc1b5d98e8","impliedFormat":99},{"version":"4d2887fb8e436d8ea1dbc219b1e714e7fd327b663bfe4537d075dafb8c4dc9ff","impliedFormat":99},{"version":"77f7424c7653ca571b6aad3323a73da7a23a97275ee9e14c04901b2fc3f75859","impliedFormat":99},{"version":"36921e15078d2fc229fe0c76611ab5a0df260b66cdfd5f99e6c76bc3ae9bcbb4","impliedFormat":99},{"version":"d162abec4ee08a8912ab4d4f1ef890f726497b564f203b71bd5a60cded913cdf","impliedFormat":99},{"version":"8603b66aff9d8ffec90b2f515e337c4f19de03945925ad77c8759475168a8343","impliedFormat":99},{"version":"8b624e12fc25b0c5f51a26ef1bec5c31c314a479de0712785c8c4b8e4185bedf","impliedFormat":99},{"version":"e63033ff7522e994e0e1d9faec3fd84bc0894ce885dc933fc70e0528e397957c","impliedFormat":99},{"version":"6ee110da2af8f04936653814badc2df73fa893d4db0b4e1ebac957f612d63b55","impliedFormat":99},{"version":"838a11e68cfb3688925eaa7cfde7166cadf86f9950fed4853fb1923dc098cc99","impliedFormat":99},{"version":"a602eacab7c5a2398b7a4131a4e4b8a5d2faefcddf51bc230286e5286285d70f","impliedFormat":99},{"version":"9e44d5f53a9c293b004d24e6b3e709902419ff26059e0d22affa93462f157d67","impliedFormat":99},{"version":"4d3907c1514d751e3fdd00da4640377dd00756b4e172063f7e2c6eef9f074760","impliedFormat":99},{"version":"e24d8dc9dcbaf8fb062d4ac97edbffba1c572e040d25bf0860dcbccf1e9f3a88","impliedFormat":99},{"version":"1d5968735d6a01be14f39f3709ee729e2e3aae3309c2b7542c601c4d9369dff0","impliedFormat":99},{"version":"0cc9481d549ee09909165fbb9ab12cf1cf5b4f6748e9f8b68dec6b9583133818","impliedFormat":99},{"version":"05a97c8d50bef9e99aaa97149b3239f37b78576850aa698b3fcaefa32f75f092","impliedFormat":99},{"version":"106db9f3b4ca7980ab7744804d67678ea81a76756cdfad8342577e1b2af46342","impliedFormat":99},{"version":"b4bd38e8b0044564d129b0c81ba7d7999a2ed2affe5babbabc87a2d991210f31","impliedFormat":99},{"version":"556121d6cfea199c95472772cac2f719b834be8b9bd41eb6d8d91bf2cb8aef3d","impliedFormat":99},{"version":"c4d5184203d55e125c00257681628e038089ec04bdcc9fccbd81398af48ce45c","impliedFormat":99},{"version":"9cfaeb5d4d823615342550fbf0bf707d38027a8896d080464c6f6434e5bea811","impliedFormat":99},{"version":"c9a0186d419c1a2ac0867c8d7c5f753d068ff88e506b5810ac4b755443cef93f","impliedFormat":99},{"version":"e5276d294771106d9103815911e0bcc759c2b69437b2eaa53ae6ce3b31698f93","impliedFormat":99},{"version":"a849c1aa0f8fbf850658ee098099e30fadec5bdcae322e43d3715b13d28b166b","impliedFormat":99},{"version":"69b82e214e484e7428af5dc522675ff70f05b07a4cdcc168b0de3deb9a74c034","impliedFormat":99},{"version":"eaa27dfa46cdbda4aa20b27881245d5e38ce4dd0403d229c0cbba5211190e3a0","impliedFormat":99},{"version":"49637532054b1f32aca1a2e37e36acb6a063ec145f398bbd806ad4ad2d610b77","impliedFormat":99},{"version":"929672b92ae2eeb40eb1171a5f1551c90b6d55928b8d3c13a119ee6bad25c648","impliedFormat":99},{"version":"018c169aa65c2e199c1256a50229fc2476303a7d229109c76920734533715302","impliedFormat":99},{"version":"769eec6f55b0fd03ba1fc9c2c806ba347d4007a9307cd5e78f8c50488407b755","impliedFormat":99},{"version":"ee8caa32e966d21923391aaf139eae98fb58a865a74ecc3d55950781da964549","impliedFormat":99},{"version":"1965c99a27f819fec1007321018cf9552beec40799fd7bc080c2e64ab521e064","impliedFormat":99},{"version":"f0cd5f360be33c4507df7fe7491388b6890a14844fb1e26a5c779ef0ceeb3ba8","impliedFormat":99},{"version":"58b79e76ac3062bdac3bfa5851abeaf66b7432f2cfd2fa79c969a1d619f31277","impliedFormat":99},{"version":"570742c5ba7f2e8f4b3e6741814030d2a282111a63d42bd40e6e48d5b070e48a","impliedFormat":99},{"version":"e42e8eece168b49b0a95212d709831e979049e583ab50c31f22d7c7863def456","impliedFormat":99},{"version":"5a8516b0d60aca2895ed18ebb5f1bb61fe99dbb99383420c1038679bf258be7f","impliedFormat":99},{"version":"98708f9ff38cc2b2738a82d862deaf190fe50c76256c34d877531b5add891480","impliedFormat":99},{"version":"e61b8d8c4c729e967d332c3c1a2ba7576786d218e21685c47440e02d123f51c1","impliedFormat":99},{"version":"ab98cc4cc649989f185f8e23da9cb2c27847072cd7a071b7c7dcf8bda7f361be","impliedFormat":99},{"version":"69631c578eae77a24486a548df6272e17318cd2cc3742b301c6e374031ce15d5","impliedFormat":99},{"version":"85e7e505b1eb7b86efb53992ab5638253ba698d676397aa4aef68636a0d92db5","impliedFormat":99},{"version":"c523515c0bdc2fbb0119ea564b1952ffc042e6692c22aac588c99bddd89fe280","impliedFormat":99},{"version":"7a8fbf8a1e38dca11ef63c25ce81b0c9cd3a2b75d32b2a1aabb22187a884f65c","impliedFormat":99},{"version":"ee07fa266671cf9ad5522e425752bac7d1149e9d66851058ab1094cc4b475565","impliedFormat":99},{"version":"6fea7054de404b9980cd44dfdd416d03a44477ff3e1c929493022abd7244658c","impliedFormat":99},{"version":"08297fbb15c5b09a2170bacc090f295aad6267f51ad49c836ed9cdec93d57efe","impliedFormat":99},{"version":"adc160518fe54967314e9a78132fe1630341b743acbca7a40366a7118d64d8a0","impliedFormat":99},{"version":"aa0db1558cfdab86a71c88c4369b0e089749cc17dad751e4b824d0b44892ea04","impliedFormat":99},{"version":"a4e4ed7aeebed4f15bfc68ef9e719b154765d523681a69aa38d9f4be10ec41a4","impliedFormat":99},{"version":"79da23daf791a61c15b6adb2c8030aab11d2b96b12fd7cc1381157e64ebc2fc4","impliedFormat":99},{"version":"64e0b717c40a38d507f38117c2363cd582cdd58d971d3d57d413fbc239f6e612","impliedFormat":99},{"version":"64c7a10dbba5405299f30f1ba2e48f680a99a1d9ca56ed3b25fed37802e49f0a","impliedFormat":99},{"version":"4e89358beaee0660a66f27120ce892880fd6e4ff50a20ad17dff711b0531ccd2","impliedFormat":99},{"version":"b49349872646f50772934a48fef4c95ecb328160f60b80d412a9f7210d6ea817","impliedFormat":99},{"version":"58be3671cce553bcbe1236d16c451c25b84f1d0a9fe32bdb70bcd672b8d84026","impliedFormat":99},{"version":"848fb3a35212155e7320e4d412a56d2ef082fd954f281e6a221720906d8e24d5","impliedFormat":99},{"version":"b130f22d08a15bb6c3b47ddf1b1f14ea0def8acffd486f1668a28b4ffa6809ba","impliedFormat":99},{"version":"4a2061c6cd6193f86dcedb3f2dffc38e57fab097eb29e2c857f2ac8608f05349","impliedFormat":99},{"version":"a037be29361879cebb09992466be99c3bf52dd7426986005026ac7c9351970da","impliedFormat":99},{"version":"4f27ea452fe87e5614c79bdfa06075c1d7afdadabc3213299a4597fd005998bc","impliedFormat":99},{"version":"aaac531eaa95b1c4d28bc03bb7fa1d6cf9495ab14b61494ca452514d60133a0e","impliedFormat":99},{"version":"d7442be0f659458eefa72616260b16fca92e97c03e951efd989966b5e7ea5e91","impliedFormat":99},{"version":"fec07695d9acdec37e1922969b4d6625f70ae89adbd4afd7d268e5d523bde38e","impliedFormat":99},{"version":"f3eb5627a5494e0207831df2aebf5df6ec2265b9ef94cc1e3bf2d810f606be14","impliedFormat":99},{"version":"48cf15e70db5b3b6ef026d613b091464604640c8b8272f83c4dfc612498c4f50","impliedFormat":99},{"version":"75d4c68ff23ea1875f4886bb79b273fc4736ebcc92d55c75da0d0515df20eabc","impliedFormat":99},{"version":"d76a111579f9ae213c059df3ea6490fefeb44d501cdb0f18bd9b9fffd8fd142a","impliedFormat":99},{"version":"3709251f4d3f80cc7dbdb0398f4cd1b0fbf1d68b88ac2c2c9a2819c9f4d93b42","impliedFormat":99},{"version":"a9fa1ca3f563a463e3dbc7f08b846512d570450887ae2d144589cc723e3d3fd0","impliedFormat":99},{"version":"c8b8403a54738582b19f7a4f93498b6550bdcb665ffae98a907c91358ffe55db","impliedFormat":99},{"version":"fc8adcb7f270b42bcfc3b22d0b170f0eb1599d8661d15d6cd4538ce053e1b9ed","impliedFormat":99},{"version":"deecea988e1412aa38b360b0fb071fb86bcaf5c94ad1b1398663c8dd4871e6af","impliedFormat":99},{"version":"e2d7e3f27356ab2be630a4405e3f60499b9dcf466775932f371c7ad30d305f17","impliedFormat":99},{"version":"20035f181bd971cb94f5742bd91131b79c1b114706e20b2663d2c40c055fa53c","impliedFormat":99},{"version":"fe5af5ee1bfb821694b6a026c509511c6d8540cdd285131c81a115b7eef56e11","impliedFormat":99},{"version":"54442f15c1d35a773cbcaeb7520e0e09ac991a1e00d6be72d65a078288e6dbe9","impliedFormat":99},{"version":"e41d8da000ae9c3619e6c16606af32b3d70f933faa3d6f10d72563b5b0f65bce","impliedFormat":99},{"version":"124c22139ae091889925c5d1ade97be21890a5135d98b17d96b3c6f382efd196","impliedFormat":99},{"version":"c36c30592da0b0667ce5c4215b660ab5370b21412320be13115e9eaf22987c57","impliedFormat":99},{"version":"91386cb2bf54cad36b0a7b9ea9790afe894050c17ed40cb2d63552fec4961e85","impliedFormat":99},{"version":"d77786dffdd483df22bba299465b01ccc0b48c3bd41b0af66b43ee9b280629b5","impliedFormat":99},{"version":"4aaf5a0f504e99332220b7189fdd94ed71c1f3db7225bdceb6148b985139fa0d","impliedFormat":99},{"version":"8ff5f071f877ffcb31d1476c59d4c68ae05c0ad9b022d0145970c7dbf5e40214","impliedFormat":99},{"version":"a3fcdb8949307b5481b66479a4168fafe3d07647cf91b856f22e4556bac78df5","impliedFormat":99},{"version":"72fcb3b2ebe9102201635cd731f5e655afd680a7edcc5804435827e994948700","impliedFormat":99},{"version":"9d9dd4371e7e7ec4968fc506f7dab3303e70c4baae96cedbc0f25fd487994d29","impliedFormat":99},{"version":"9c3033264cfe0084b80cce45f90db8b2af60ba8771748a22d14e6a30bc467cc2","impliedFormat":99},{"version":"e9cf28fb0bc429b94cf4c0069954edc5da874eafdc5c967865e184eac9a3b5aa","impliedFormat":99},{"version":"bcd73ee4dbb40711d57b4555d222453b3cbb3824f7fccdf355e43e6e35a9a4ab","impliedFormat":99},{"version":"12dd3b0dcaac8d69f273b9f03d316eb29cdc4a35fccef29583254310505d32d7","impliedFormat":99},{"version":"38077de13fe290c3fb4fdcd8f426c260c06e7308783bed33e5ff8921dcae5194","impliedFormat":99},{"version":"5ec96b9e4148f817ac89052509f6a9db1b434ef37b634c9cfb54b0be3b81f7f2","impliedFormat":99},{"version":"bff50b812b9a6bdae45bc5c4025eee90a6d37516f5c473729b590abacdcfc00c","impliedFormat":99},{"version":"e102eccbda45533f54617e5a53b143d0e44aea1f251551eb6e237085ece23806","impliedFormat":99},{"version":"f12b02156d76749c81e4b83185d3b814b8352f5e21ab5b7284e2eea2f1b17a90","impliedFormat":99},{"version":"4c612460e5871907fd0182ae1eae612b7915609ca78139ef110ddb4e1af605b6","impliedFormat":99},{"version":"e4519b1ad63f51fb64fa0db0fc963f83ffba0ce449693c3b754a2315449f7cdd","impliedFormat":99},{"version":"6a8106c44c9de23fff7e01d74805857b5702da8c72f1391a38b34460063aecc4","impliedFormat":99},{"version":"80492a9617e654e7fe8e27bab491d51e1548ea4bb9f8c51357267a92a435dcef","impliedFormat":99},{"version":"89aae61ac71e83a0f76dc14179cca84dbd1dcb6f7dff0b112dc1bc6b1c887800","impliedFormat":99},{"version":"b43a1d1eb7fb5d8b3c7e99c020b4313bc614de10665a0cf26d7d4bb78ff008ca","impliedFormat":99},{"version":"8f1dd9a724520513ceb0014819e9169525bd9a020c74458e85689cab061a1f7b","impliedFormat":99},{"version":"60b6250ba1516b1eb863514b3f1ae52403f781eebb5b798ad8765dea5dc79dbc","impliedFormat":99},{"version":"61a8dc1eaeb0a50f9304858e79a4f1a7b72a0901a27ef046e9465911ffe1ebec","impliedFormat":99},{"version":"f75492d33e2be3eb66f9fe7f01c8760fd18505d724e6fcd687f6c2e806b40046","impliedFormat":99},{"version":"b5e40372d34e1f0704131da3a8526e12948295e64b4d05a11e1fd8570c411e39","impliedFormat":99},{"version":"2c879cf6a84b92061c13bdc0f4abdca88834242ffb7b0765176eb44a0602a762","impliedFormat":99},{"version":"da67be907089d1d406cac1a6286a4cea9d430e099c34464d00e7d7791bf2d3c4","impliedFormat":99},{"version":"d3820ad364704a21b13bb585852e968e3184b4662b185c9b53cd30f1d4d00510","impliedFormat":99},{"version":"8d7659793df95d53e1757de966b7e1c1fa809dde2c02fb87e53df19b124924ef","impliedFormat":99},{"version":"2b384d6463c4ed2cbaaf58ae46a17753a2b729c0d17fe346265f39901a89c301","impliedFormat":99},{"version":"f865cf13bb812986c308c80ec8d536356f91addd45a9f850968eac0c740c6528","impliedFormat":99},{"version":"cb35c26fb8933531969fdf198d70d91fe10d445028bade6632dab0e884573b79","impliedFormat":99},{"version":"cd6b5c72ea7d660affad9cb41859046e79c4e363c22700a6f86a7f7578ef9a2a","impliedFormat":99},{"version":"5dafab1e5e9ea9835109fd2766b154c1499dd17d935e4ff49e70ffebda3032d0","impliedFormat":99},{"version":"5db698db35aa63f4d2debcc34101a5f5a2d01366c3f15bedfa9050ca85d9aa35","impliedFormat":99},{"version":"c55c432c38692edf9f918f385d536c43073cc8077ff44850091442722bcd01a4","impliedFormat":99},{"version":"17a295c1b1dccb8cb4f854bde5ff33980fef1d883c6d481f8593240ccaed60ca","impliedFormat":99},{"version":"47ab38c7c74019bd347aa1c812e6eef86d2163669e50242cd27d0de30b6c3fbb","impliedFormat":99},{"version":"c8cfded6c4fd715b52de664d21931bc6a55b225894f5792d05ae29568c623def","impliedFormat":99},{"version":"1bfe5cc8bdb660318b30da6f47460605b06f196335705af4cdbb510ffd8c8fae","impliedFormat":99},{"version":"d4aba31dd41819bd87d70843438a935ddc142c0eb1d0cdfa164e5dbb9fead30e","impliedFormat":99},{"version":"9aca4a305574aa60617b94cb25d8d585fe169ddf92f7dd0197d89d636aa1c19a","impliedFormat":99},{"version":"d23800041ae0858327ad3b47c3876e0191c16061c33c0550fbcff60b695d7bdd","impliedFormat":99},{"version":"b809557adda13b9bea2ce69cea6405d1345d85f7d029a28d092fef440edf6141","impliedFormat":99},{"version":"b9f39d0dd2bc56a387290ec42a094382ce91de1258a6f5f3b89655d7aabf65bf","impliedFormat":99},{"version":"c8e72190cc41dac064febe56f97bc89351be5a83832918797fe8c36cbb604fe5","impliedFormat":99},{"version":"250a161356fb615263402697679460d0b765a249404a78125168d3fddaf9d090","impliedFormat":99},{"version":"41d93ceb853cc53debd13fd440e4b71f089bfec10768811668db17e7df55a3d0","impliedFormat":99},{"version":"4fce10097a5a81c6811ef81adfb03683518a072d4c0d87f5347d4d7b4400cbc3","impliedFormat":99},{"version":"f5decc77d27c3a64f0d38a8ed69fc60159706b12a7f5ddcfa574ea29f0e59f80","impliedFormat":99},{"version":"6d93506d3159b47c8651e353095a333fad5211363b5dd2aa48dcdf9e9d69871a","impliedFormat":99},{"version":"8289780f7f1f94951d01e6c4aa2bc9fee7720c9807fd5dfb77e6a8ada8242cb6","impliedFormat":99},{"version":"cc52591d128faa36c09f3aa27a5054ed3cbb651331095380915cce77622f0fab","impliedFormat":99},{"version":"a39c28ed9ee3e52c975278adcb84d56cd0c3ac07f339481219c67aac93b78c32","impliedFormat":99},{"version":"acf12bc7ab7f2521ecc517b2ab4cb61014a384f16d75809902ad7cff8696169b","impliedFormat":99},{"version":"96fcce579cd105b23b74a6e39c9f62d478a0e4cc88f51cce130c106a92305603","impliedFormat":99},{"version":"bf58326ddd44ea8c9e3377e6355bdcfa46b2157162110c692b3014adebdcbbfd","impliedFormat":99},{"version":"28f4cbb0f2b77cdaf8f638286cc2844669a496f687c2fce10f9f8ff14e407fe9","impliedFormat":99},{"version":"5d5a15194cf1e9bb670d20624d80474368d2894d46d3196ec7aabf80acdd0ea4","impliedFormat":99},{"version":"e26538b0d04ad1ea982c6ada5dfd1f340e98137cbf0d57075e754462d86f7611","impliedFormat":99},{"version":"99a12659c5daf9dd6ae79d11f8df6d34c5943c6ebae7f424e21cdb963260a91b","impliedFormat":99},{"version":"473c6060c3923d6beceac97cac7a684113090abb5363f50915ae0fc29492c928","impliedFormat":99},{"version":"bb64643948ce89cca03b8252ac01f3beb1e504f2e232bdfdb1cdc81da5d4687e","impliedFormat":99},{"version":"c4239abcb2ff0e4fd1a7ba09e88986e718d4612d13929d30b4d02779e3d87aaa","impliedFormat":99},{"version":"dcb610f5aa4b8627c9676839320db26f357d9ec75d31490892a1fd73be1b1314","impliedFormat":99},{"version":"7a4e7b83a4e920dd574f8df7d3bdab8dcac6d31226fa1eda728628508188a977","impliedFormat":99},{"version":"eaff8a935d00b2586318cc5c3092e59bcdb61b687415978f8adc78778664ec72","impliedFormat":99},{"version":"6d170802c45620c12a5ed32aaf2b239f1c3f3cf76aee3a2e955cff1b6c6144a1","impliedFormat":99},{"version":"d249734a690bb801bacd2afcc0432b5be224dd91ec88ec6ec43848c37858add5","impliedFormat":99},{"version":"3a0d55c5d62914650d86fb0402277a1fde4bb25388c15734bf3c4a9354bf52f6","impliedFormat":99},{"version":"6789838f6daa7ddd03fa4be97bfcc6fe3449c9a04a7f4c9008c508898124bdf0","impliedFormat":99},{"version":"b4e1f8785a623cc58e37ad538b9a5de1de1218e154c9f5a0c03eb18a2de9bcb7","impliedFormat":99},{"version":"767bee06d602aa9510358818e71db67140a3c2f056566e41be2a079a29c41979","impliedFormat":99},{"version":"206260b1670649a465319961ee478ac2fd1e7852259efb9e04112e4651fc9544","impliedFormat":99},{"version":"e8de9704319ec1ba81145df7a6c97a409c572fe5ce22ad11a9ad6737807ae620","impliedFormat":99},{"version":"747b9ec353a6bb35d732e4691dfa3ae8e4406971a08f4199cb2c91003c03d0de","impliedFormat":99},{"version":"f2ca59e16388b431b8e912ee51d31e192c4792bd4335ae4ca2f59af622dbc302","impliedFormat":99},{"version":"cd631db9f450f9a18015c23ffde0cfd030e44ebfe4b10f5c72803de30ef0e8fa","impliedFormat":99},{"version":"63fbf377cefedf70ed0aeae96eba90abf65c2e92679c459b325b2bd37cd4983b","impliedFormat":99},{"version":"e23f60fba2fcd179fc2152ac4f6f3498059f21c76bd74e64147fc3e1365f3311","impliedFormat":99},{"version":"78f304cb1217b823ebd9b79dd9b4adc75b0d915432456afb140fb2188e1bd748","impliedFormat":99},{"version":"d8425128980a85913c1f5fb9ece9fe237a4e70eaa9845a5527995c2d40b89331","impliedFormat":99},{"version":"39b5d3de3c64f6b268cb843ffa399e5b0d8f17c3f65be35b05b9038c987346bc","impliedFormat":99},{"version":"9069f61b6a5eb7844d89571ae96dd492fbd5f33534bf621abf3bf29579f0484f","impliedFormat":99},{"version":"468caddc2aac962edebc1d3b8a5a9e9a173b9e75d36d84dc263502fb2e49811a","impliedFormat":99},{"version":"08b0911ee98ea9f9f4629fb6c3ad2f52a9a5aaa0aa9a80a7c8041b8c27e8f69c","impliedFormat":99},{"version":"ca787195f6134b4dac541a629f9db12a30162adf5467bd343f37dfd562b7c329","impliedFormat":99},{"version":"7dcb30baed58d49e6bb15bad648185d3c198959e7a3e9f063d1838a8fba7c91a","impliedFormat":99},{"version":"ef8dccd817a571ec3fa073a965d5d97b785cc43222c7854121ba31fa97d2bdd5","impliedFormat":99},{"version":"3a52eca069515967c1b43594091abc98d51004c68011b4b7d3335a830a19e906","impliedFormat":99},{"version":"85008e5bf42ef9dc1c4b6924c78c8b911334cbf91a7a24ef70efadd9fa88ea62","impliedFormat":99},{"version":"028cb9a8ff4335a9b239b17cd381d61b65af2384fdb866c47200c6beed7674e3","impliedFormat":99},{"version":"ce1ed5f9d243c8378bd4099ca7258f4492b9c41f7764af07fda38da659f0fc57","impliedFormat":99},{"version":"d6e00f06be5750686d5646ee1ba49b73050968d7d68968e3c815d24a08c383d1","impliedFormat":99},{"version":"1c0472bc9182a884d74d7e8f2bcc46d34b6b16342ba3cffec03be817b2b9b042","impliedFormat":99},{"version":"c097ad4cab7d86210476ce41e964e806c9946aa231bab21cec2aae3ff2795978","impliedFormat":99},{"version":"060d300e05a630bca1752385d12f8c7283bc8c572e4c2e797abd51019a0206c1","impliedFormat":99},{"version":"3e2bfc42812d3a879308227c956b958c0e5256a57c3549da9ef982194951a97e","impliedFormat":99},{"version":"b158543642d5e0d7d86926e135c3bb618428b65aff3cfecab549b04725469f5a","impliedFormat":99},{"version":"c6abed8a1c50ae86892236bf08e5890798b939bcf263a7b25fabbed8dbf70b07","impliedFormat":99},{"version":"2aadf562886279ea28b6b469b2396c86f54a6e80bf8427dd895218e58b4bfdf0","impliedFormat":99},{"version":"e6b66ba6f695ee96ce5ad8e0e39bf2c5630e9b6c2f7a91eccee70f8ba1a82c00","impliedFormat":99},{"version":"af8546e25450ee35e8b24c5f46558c3f0fd7c92cd6e8b6024036d2918994af76","impliedFormat":99},{"version":"d96f38005197dd03404a282b2c2f399c845c233ec16800bce394000fa5a1a727","impliedFormat":99},{"version":"1b2aaf0cbd2b9c6592c40f476e6053dbe52edcc9cc96dbe03db1ae8085e50e7b","impliedFormat":99},{"version":"d7d173a78b314a1749f45ef644f1baa1d769a64e72dd1a225990ab858279a1e1","impliedFormat":99},{"version":"c919340f2b125d0fa4e9179cc9b53c225e852cb70e321576d83a4068c6d7baeb","impliedFormat":99},{"version":"f2ab946b2481f725ebb90f42504db6c43bb967b08b6e6c7c84ab4f6abd3f3890","impliedFormat":99},{"version":"b0d96987e7b7219db0af2caebe36fb0470fb351d532ab483582032a1e38696fe","impliedFormat":99},{"version":"91a325d80ba995754a3a8072dbc20a28da4b84387f09f8f4bd549bd174e83b82","impliedFormat":99},{"version":"f9a43d9390efe0c20d22ec866f6f892c2a1e338c72a512809125f9df53cb92a7","impliedFormat":99},{"version":"b73d2f6f38ca4c1ec4a7151cddfcf0f144bf4364b2e81b082e35ff5361c0f57e","impliedFormat":99},{"version":"7801cae57a7497244c5243ea6f549cb3a4d1eb65c08268b09e544f902c48cf22","impliedFormat":99},{"version":"a9088a68eb7057a790e986cb60835dd190691642ea759e0f249ca9a555e6f4df","impliedFormat":99},{"version":"561e83c572ac51be3ad30f2d52e4e21379dbb7fd06cbc6eb0a8d4410741faa16","impliedFormat":99},{"version":"948c68479773ba7430f49d9aca11a27cc634ce921beb0ffdeeec60e3ba175a3d","impliedFormat":99},{"version":"2bd820079a9688d1b11fdbd4ae580563fed1edc6905d8ec08dad853766a38fa4","impliedFormat":99},{"version":"66b7178c218793c116e9b1a9871dad446f51618fcaee8730d9a3462a2f99c2f1","impliedFormat":99},{"version":"f20eeb62635edb76f3bed0a0341dc1c543684d8c2e280192dbaa9d815a2b3e03","impliedFormat":99},{"version":"f68ee6b0fccf8dff34d25d155ab88a1a699be67beaa3075f695f130f9c20b975","impliedFormat":99},{"version":"5aa560f601510ee8bd0b34b2d6a92316c46b43bf27c582b168242632b1613aae","impliedFormat":99},{"version":"0d3b3f2f3c92e2fd9b56d75bd949c74ccd3cd2d6e89a553e59f58568ad90dd78","impliedFormat":99},{"version":"c09eb94f5f890522952ce366442a1fd12052bbb76e84a6d2ca87238307fd5d4f","impliedFormat":99},{"version":"1460af367d2f860537a9dde995cc06d0cc2b86c5761b2f4c0350840caf01e7c2","impliedFormat":99},{"version":"a02d3f1988da099c920b3209211840a299db1a3c20d7aba929ed7ef0442f3e6a","impliedFormat":99},{"version":"75aca9b08ddf95a78154a8a261e3ecef1f924ee269348687978d187b872d1535","impliedFormat":99},{"version":"18e61650cab316550f346f688c1dc7933cb3184cbcd88407a77748a75dc844b3","impliedFormat":99},{"version":"f17d24c6f8d381e61c99f13e4f38849e72b72c44e59be96a97dd212e2e6679ca","impliedFormat":99},{"version":"b64b8f2b635c69a120183f741ef3eaedddb2e4b021468c62f780c6ac287deef1","impliedFormat":99},{"version":"11e434214064759b5c95eb4f026adf239b1bf4d79ffa2a4f00b398111feea794","impliedFormat":99},{"version":"05d2836490172eba648524e51117dd5dd98c5438aa89e15f6890c9562f8b4004","impliedFormat":99},{"version":"f2d58e2a95faa9b9ca10bfd9333a445ce6eea6f2a1504fc7c8c549018adaa59b","impliedFormat":99},{"version":"9d18b7270255629a0e40053a36d9cfd4c765c3df73313422fbdc077e6f411ca2","impliedFormat":99},{"version":"32b791692403665af92cec27daba20c02469748e2e0602d3ae96350ee08d2a6f","impliedFormat":99},{"version":"6332e40859f83f0446c33167825f4436e2ded25edc7974a5b42c7f6a59124f23","impliedFormat":99},{"version":"50ae56aa0973ac45d8176c56d105af95cbe8b6301db6ff5fc3512b4c684b4255","impliedFormat":99},{"version":"622f748b9de2b1a65392aeef2e18c6dbb372f3fb82d8e5ee55234cb9763b3fe9","impliedFormat":99},{"version":"a6150b170cc88ac46d7005318447bd161982c091e0224dfc63dc2a8cd6d12f20","impliedFormat":99},{"version":"24f2b131e4b2d9aa929c24e68328984de1b9ae0bf4bceba5ee40e6cc5b0bdc67","impliedFormat":99},{"version":"d7fe6edb96da75ea3fa6b76a8613e61d13aad20b7462b42f4f3492091238b215","impliedFormat":99},{"version":"5e9ba2bfab8ce1e5f94a7463969a64ea6c22d31919faa888ec940dd770af1248","impliedFormat":99},{"version":"a2b13db4828108b2406f879c2cb93d6a497fe936aa14f0f3d3dcf9c9ed03f75b","impliedFormat":99},{"version":"b533b94c5ce70318fde3772b3221d46941d2f359d81221da079c2ecd477f887c","impliedFormat":99},{"version":"a8794bcff57ed0c4f880a948f4b85dd1b22d925ba090871dbcd88b35c5ebe968","impliedFormat":99},{"version":"e2f77b057053d31d7fe1a3648908095bf987bd96f73855889b5ce9b7a8e250ec","impliedFormat":99},{"version":"c897ceccd46b2c55f8aab887a246417b0520143e8a96fd26c0c84a12ebfeff25","impliedFormat":99},{"version":"b762e986d91311985863443a278ce6920e3541312338a8b2ff5026644f55cc52","impliedFormat":99},{"version":"d591d1559ae4fc82c4c582ce269b6023a0caac336b245b78fc556a9a37a60bf5","impliedFormat":99},{"version":"9a133dedbbd96d3415cce1bdda55f08ec1ba38bab7e7139aae3afcc56cbc070e","impliedFormat":99},{"version":"1796c4fd3085ac25f634b30378e000e1b985ffcb2f04eaf9ba7c6c2785500308","impliedFormat":99},{"version":"ceaedce2f9989592a1f2bb970c679c167e8a3b8973b046e1aaf85bccf9859cbd","impliedFormat":99},{"version":"784e9840f78ca32d9f8d6d69f3b7b5a955b9cd134fc283d84e7777cb63276d05","impliedFormat":99},{"version":"c48e52a9c4c8c3cd841da9cf35f2a6574ab0c45a84171c075ca9c6cb6b715768","impliedFormat":99},{"version":"98afdcae0697df3fbebb0d9cd46a4865abc9c47378cdd022063ebccff58239ca","impliedFormat":99},{"version":"135e72dd70117b78dfaa72723885feb45b296f61bf60cbf9eea7726bda03c154","impliedFormat":99},{"version":"61c43c4ba9a7ace834e443cbfe4c7cfcfe23b6a81505cc0716564fdae9597e3e","impliedFormat":99},{"version":"87f4c6dd964ac87d6b45d5663b917b74ed83789a232bb9419670a922913aaf30","impliedFormat":99},{"version":"7c901df77ab9b0b7e932042aad3629729eac81157aef01e377aa7eeefd9d8f83","impliedFormat":99},{"version":"432e8de8444fa333c21e5b427b3cca5d2ece5177043af26014a87a2de779a8a9","impliedFormat":99},{"version":"b0f1373cb8fee14b5a96c2083d9e06aa5329d9329f1945390c3da55b0e475612","impliedFormat":99},{"version":"6a07210d3945b68bd25158aea4538e8fc45c8073aef4f18a6fb71fc4afde8e16","impliedFormat":99},{"version":"ef608b53fdfb8ef2ce08eb30f411c1c1500c4990541763b48d041fd3ce970676","impliedFormat":99},{"version":"9c9da2b7e0cc3dbc5323d17420ffa7c694b9cd635f7928670f0821637b1efe54","impliedFormat":99},{"version":"9dd18f8953ad665a1845871c0bac9a11ba128951f4481e522842d8a7e7999fcb","impliedFormat":99},{"version":"618b4ae5336a47df468d4f71b3884048f5e6e7bf7ecc9093b98cbd7b18daabc6","impliedFormat":99},{"version":"7f97435638b9523edb4870b4e805088108d874a777172bc8a46caf63c6656f99","impliedFormat":99},{"version":"31ff93b370bb6c701d287996b955c5ccd063360f363fef206d60a9848a48e3d2","impliedFormat":99},{"version":"1934c6418bd4f3130e7a98e8e4b701c383a301ef831e767331ed2e544965fef9","impliedFormat":99},{"version":"69b49a4e4216cbcadd09d3d8cc11d224b3c6cc2749ead447ea1a1b514b748133","impliedFormat":99},{"version":"2bcba29ee9cb7c86e7cd486a1dec3274d0aa3a14847ea6e84eb7b117d1210271","impliedFormat":99},{"version":"489e5b3590d99830e9146c61dd810fe0305b2c580d9e912c1e69ca84858f6a6c","impliedFormat":99},{"version":"dceb4c71cb4c299f79a784e58119d7788286bbd1009e89d476aeac26cd086763","impliedFormat":99},{"version":"e5d3ee84524032a0fe1066cb9cb38dd78218f9a496ac335aa857e5c1c801a86e","impliedFormat":99},{"version":"f41940c36a1a760593e4e214bd6eec3ee7f90cd934bde0c2b1caa430d76bf659","impliedFormat":99},{"version":"7611726255029e649e3c2304ae36bc8a34501823e145c708b35b99e988b677ef","impliedFormat":99},{"version":"6b246b69ee26df19a7fd044a3bc686e99b903284695ff0c3a232baecfd055499","impliedFormat":99},{"version":"b3fa4ed7d7976d27aecb6547320508c949cf9c6503f8046d74c6d74cd42cea83","impliedFormat":99},{"version":"8dc2b342bc7ad0e949723a89955147d942020d1fd42656d08e87a2302b757d7d","impliedFormat":99},{"version":"6c7c15055a23e2b54f15113daa60909806439d168f0ac4d172aa733637978e52","impliedFormat":99},{"version":"80cc3ff6d31c4235aaf2f3cb303faba93ee6be651863ffc3db33433ac779db76","impliedFormat":99},{"version":"665243d722de2dc95ca2351b6dffcceeb7a9b2bb881777b9771ab55dec4e32c3","impliedFormat":99},{"version":"49506ea016a6f383f5d463b991aa04f1e05ede9d82c61b78080a54f5c6c67ccc","impliedFormat":99},{"version":"1a1587ceeef503cd8b5472cbd745e845d1d89b329af1fe5dde0a34dcc7e11d3f","impliedFormat":99},{"version":"f372b58d2371a40a6a2336564cccdcc09c8516006afccbe23d524e9b3e6b0b50","impliedFormat":99},{"version":"234bcd30c9ec5b0485e91c5ad45409fd856f829e8fda76396147593f99ef001d","impliedFormat":99},{"version":"1bf2a90865d536fda72ea3686c9b18219d1e2582d8ece7060a3a242aaa9dc7aa","impliedFormat":99},{"version":"f2ce60764659e04d7daf572edc3dea68602ac09c4988862927167a30ac2f7b40","impliedFormat":99},{"version":"1e9a3fb05002f75b388a8a1dba9f05d564874bd06cd972f8a946840c8df01364","impliedFormat":99},{"version":"616f997335616ac58b0ca09103653c5e3f1677c7a4a34808abe5eb7836db0d8a","impliedFormat":99},{"version":"8f1018bc0bd737fdd70993e38b8d9e1069b6b1c1dbb0097c41ccd7279b57f55a","impliedFormat":99},{"version":"1f7e26fb66bcdb08484fdb1b65d379ee85d1b1a05264d2cf009f84318b4aa678","impliedFormat":99},{"version":"f72bfaaddbd122d6f2aa97df6a2f2f0caf5e0abefeae7b27d5635237554cdd5c","impliedFormat":99},{"version":"2e1a8e0777522f86ad6503c2082278c4d4e0b09259b0ad4323626976800d6806","impliedFormat":99},{"version":"d7989d7063b13e494a39b03e0ec3a5e2542e99bef41d7f9b49547e39df419747","impliedFormat":99},{"version":"26d92a20cf51acab25834bae098abfa7f6a26c2a8edd4213a880ad8c555f703a","impliedFormat":99},{"version":"f3091dd83c77ff308499705a785601faece1a49863a50a7066237d4e92fea04e","impliedFormat":99},{"version":"10b207261c316bba4a99ce037c8d40aa04e4e15e183d3f87ed7c6793c53ea9ad","impliedFormat":99},{"version":"eb79b8087e892147c0c0f44f5e7bd88c9999c96665136c21b179a7b7362a595b","impliedFormat":99},{"version":"c9ae9256eed3b3f360cae3fbcccf955233ad90bfe0cfad0f103ca3bb85de7044","impliedFormat":99},{"version":"bb3422550b34643170b845a9c8f4dafbbb4bed983a2180b7bf1a2d8fc1bfb767","impliedFormat":99},{"version":"0bfe62549a16f0ac4743d7a031ba321268a6e4b7c71bb394bffa745ae2c84b0b","impliedFormat":99},{"version":"4ad4b6f3a80c526f51c498ced3e30fed3ca33780f330046e18c553f945b51e54","impliedFormat":99},{"version":"b50427c14921a1ae22a6eff321064be09f82d2f99bd3640946bd517275fc0be2","impliedFormat":99},{"version":"86c5374ba226e809c60fdd4aa7ab64a80e1f0b32d6676edcbfa29bcbf8b65b47","impliedFormat":99},{"version":"c10ea70475948589ac588174d5cd22c6ee70565cbb46e840567b03e1df6a9255","impliedFormat":99},{"version":"4126e5d2e94808449564fc8899b68ec0bb361d00b156a2734718b687ef5dce13","impliedFormat":99},{"version":"47f2dc585b8150c5256731c3588abff64ddd707e6fa9103c42e8eb6f5216b291","impliedFormat":99},{"version":"56553d8dae36a4d29a912b7d90b99e89e19db31a2cf466153e02e518c2eed92d","impliedFormat":99},{"version":"d08c388e022005db246a56c7ad6747731807063f99bcf5a86da1fb7190cd19d5","impliedFormat":99},{"version":"d9b82403377511ff2d2b2273765e3046dca75fb6471e142f8843d1ef4ab6701d","impliedFormat":99},{"version":"5c196ddf7282a96a45224c103f3a49bc7a8de31c5d6ac8fc5791c5bfc8abda7a","impliedFormat":99},{"version":"29adc3c30ad4c07b571b7cf28a4a17be302bf51dcb4111ac6d4346b29e6f3e45","impliedFormat":99},{"version":"7b9a892374d781d2a7e2a4d8f89f866277913c8e0a7703c05f9d38907f9d2b53","impliedFormat":99},{"version":"278f73a916427e5f1bb9593de57347cfe37d06b2277be2c307590be7922789a2","impliedFormat":99},{"version":"81c67711d392d5ab7e00b7d06ab91418e451399b1d2b0ae93fce5040065c4255","impliedFormat":99},{"version":"67d125134a3f599cbc256843a07c5351d6356cdb5c183dbc223ec6eb30197508","impliedFormat":99},{"version":"21529df6d5b1968c624352ddff328a5d78d634df97567e967222651cbf527307","impliedFormat":99},{"version":"77bfd4eec7d3f787f1e0defd19334a2d9ed9477648db8dfeceffdbe5b0cab336","impliedFormat":99},{"version":"87970f078004fb8820426b99d4da3fc79f695471885541fc77cfc892b80b0067","impliedFormat":99},{"version":"bbb1ed873062b93d439596d6330f29fd48f658e6bbbac5621cee80b2bbdf026e","impliedFormat":99},{"version":"5db82aeef514204d924b85f6aa881fd82a52c9e6faad94eb7296411ed06f7809","impliedFormat":99},{"version":"33330e7d74af117dc9df333d316637acfe2a26642a8954d58b3e88451ee8f497","impliedFormat":99},{"version":"03a9ace084ff2fc3b9dfaacde474b905db9c5e864543e6db3f9c44a1d7a43055","impliedFormat":99},{"version":"98d7cc6c9ebd188e69f19a799e646d62e691d769b81780d82c9e707d3bffd20b","impliedFormat":99},{"version":"c0a9c77d44f515c0729d952fd66f27748bf3f4197a9ed98294565880c7882772","impliedFormat":99},{"version":"c0af90161ff3f25a95d11029fa4f486f3a541a00fcd026c9d010b662695d7521","impliedFormat":99},{"version":"64570d5562fc4741e7eeb24c60757be98c2e58aa74484118bce4df6ac59a8651","impliedFormat":99},{"version":"94b5161d14dddcdc370617bc3c3ae0ba5b181a2e312b9570e992f76e8ad4135a","impliedFormat":99},{"version":"58fb9077c1eb954daacdbd52bf831915076450f39888cf4edda714bca2216042","impliedFormat":99},{"version":"613a0e8239ed1f14aa4729cc733d43a0e1f2a7f2f7875af5215aee55655b6e22","impliedFormat":99},{"version":"618cea80bc8c79e91decb999d7bb5bbf6928133db9bb76a8f4df19a4d18e0cdd","impliedFormat":99},{"version":"aec18e32a40d13d4990cc0b2e505b8f653459a27c8b85b3743fa98358b03bcb1","impliedFormat":99},{"version":"73739f40eacedc63d85e344e8ecbcf2a291439ff9466ad0e1e8f4edad56ccc65","impliedFormat":99},{"version":"ba85485f6e163ec59385259ae7ee5be3167dbc092b0aab77ca8621ba2942f43a","impliedFormat":99},{"version":"c1747451983fcb7eacc2e6ddbc33024dcbd05f02c3b42f3ef85403aaeb84c35a","impliedFormat":99},{"version":"b6e7fc2eeab5dcc3f7aa96294479474b8d584f10a05b5f473638574ffaf914ef","impliedFormat":99},{"version":"b9dffe8c2cc3ea64e6aa81eec0b7250e4dbb9093ea4b296a249430e15410ad83","impliedFormat":99},{"version":"fc0b155fd95c7ebdc4acbf0012f9afe5cf3c8500f691efe874790de0741fe5f5","impliedFormat":99},{"version":"fdef563856017d9de5afc2e27ed3f8561a59711802123f6dc4cde707e570d8ba","impliedFormat":99},{"version":"34282efaad54b2b67fdcc479f19d8916ced7706d4a2a2150fe6ce495d343e6df","impliedFormat":99},{"version":"619695efa4494df83ee77ed818daf837a842ebcb93873b2024f19072b6d18209","impliedFormat":99},{"version":"4f3be5c128a12ebee37fafabd356c9bd5da5e30497b552df06a4a04523e2286c","impliedFormat":99},{"version":"94a501970c1926170fbea64d103b71780e4a74c26a96d2f081e258d2272c7010","impliedFormat":99},{"version":"a9e51a219e7a4b180e553b2f0b80620198f94fd00813b571483053b421a3a423","impliedFormat":99},{"version":"4f8e05a35f853f4a6f76169db8bcb2d25fbe47e1fe948c2545ad47111bcb641c","impliedFormat":99},{"version":"f9013dd3a5f8a78f7be9f189ceefd0caeb07d032d73d06edf5d323c5c012be06","impliedFormat":99},{"version":"fd5fdf9cec63cdc9b057589eecd950a4c00835f2c57819d4467cb90afb7ceebc","impliedFormat":99},{"version":"07f234c3b2d8259a3c8e043934e064c1d57c9b6b870bbc82995d63150658cd2d","impliedFormat":99},{"version":"70537c49ad0ba23281776a451ec0e9a3124ce0aa6826e7e2c71f2048153914e2","impliedFormat":99},{"version":"7d1570bc8a51259f43980b1e1bbfec62edfc8e56bd75a0f9f5a541df303beb2a","impliedFormat":99},{"version":"35c0302ecbaba11503e339c8d6a14ef99c33bebe45fe22348a51ea1f851f4753","impliedFormat":99},{"version":"7d0ee70479273910f4998d3db9c624cc54a7ceec1f2fc32aeb5dd1da26cc6ecd","impliedFormat":99},{"version":"ee99391e7c005b9792ed1c4ad78f63d5612ea248121435e2f19cad13cc772102","impliedFormat":99},{"version":"a63057e247853b6a27b900de357d3b2cbbb0205a746ceeaf1bbb08b53d37a594","impliedFormat":99},{"version":"54b715e3569938c71fb6ccd89b5c9d2569c67a160bf07e395afe71a8c99f6719","impliedFormat":99},{"version":"6c51831173ccc1a13f0b2e7cec9c492474ba762a67fa729f59faee88e5fef2a1","impliedFormat":99},{"version":"58f36965de212113b644068e12226e4ec4f3dc11aa8acff4bc0eb506fad853ce","impliedFormat":99},{"version":"6e280d9e7f99a769d91ea5f242404d32caae0c23241598b4447ad8e2f651d0bc","impliedFormat":99},{"version":"f91354f5e4bdf93914bd4d8d4c513a525dae7cc58c29374e602499cb59b45792","impliedFormat":99},{"version":"69eec18f3024da9245e6f8800661032de02849fdb82f4e5754234b9753ab753d","impliedFormat":99},{"version":"f508d9b5b7aa6ac0eb6c7166d8a163907670737ab6cfed72cabb18ed4d27e93a","impliedFormat":99},{"version":"72035a7a97898aa687e1226a0e42428fed98d0d269fc5afb1da4de3c614b6afa","impliedFormat":99},{"version":"afa8f9f695190917b8e7aa763b476a64c3f3818ad4e465eb84a5c542aa5ab6d3","impliedFormat":99},{"version":"bdb48a412742f28266e91f8b9c3cb93ab5e5fc4efeaab20ac23ee923d1ffab85","impliedFormat":99},{"version":"1971d324a3cbe55f05b7902adb6453dfa9c26676636961a004f7c493eb53ed68","impliedFormat":99},{"version":"8e7b4e9532df3f35e655c3596dc2a1f9e9ff645e265fe674f05948185fc20aa0","impliedFormat":99},{"version":"6394c04842b451114e283a46cff22eda53fb6cd38cef53157fb09a5477e14ce7","impliedFormat":99},{"version":"525282d1c19684b19c0ce67c09111eeb9ecddb75402afd2575b2c43c7b72587b","impliedFormat":99},{"version":"a29812309236ff935f2a25f7e5cc7c3a471879cb4e7a807d812ac7c0528aabf5","impliedFormat":99},{"version":"c0e4577ccc1f5d23c7ec9786194fe5bea12f10237ec63bbed5daef44a90ced7e","impliedFormat":99},{"version":"dcb4979825df9ee8d826545f011caf031f5143fdda9483ec1711f01cebc6dd08","impliedFormat":99},{"version":"cdca391f6e1c7e0a3c1bafed3515ce7eb93bbcc45957301b182d4b359f4dd469","impliedFormat":99},{"version":"5322996149800e888007de5157125010eb3311fdba699fff1137975c115035ab","impliedFormat":99},{"version":"31cf8f21b25cf65e0b76ae854c5c325dc4bb1658e95058bcf68d2e499f70066c","impliedFormat":99},{"version":"e6b62986b66e8f6a6db255e4d2646be1d2ae3fc14a0d39fc4bac6ddd9c579ad2","impliedFormat":99},{"version":"ab48fa147efe99bd6a50484b62119207eac0dc8d79011cc0238ab243778107a4","impliedFormat":99},{"version":"438fc2adf109b7be5ec9a92057b98fda3ef8d2be1a1846fc245d57afc57a2a50","impliedFormat":99},{"version":"ae6522bd249c23edd46831c93bb59ef402b396c3a11b8eeed1b2b6d9036c3e6b","impliedFormat":99},{"version":"68036037cdf6e6446983edda42e4222cb7725cb333b3b561cdfdf0582f22d187","impliedFormat":99},{"version":"ee2a299893b6d975f7b8d65b4d2c642e429e39f1fe1f351f42ff4fde0c34eca4","impliedFormat":99},{"version":"8d5b46732d8296ce8118fc25d13da98f1947800b9dc8b6f0b4b2e8543ec368ad","impliedFormat":99},{"version":"e9ee952913d691cbcaa172cb143691391b8dc75b6f5a60ee35c92a25ef6479f6","impliedFormat":99},{"version":"39e2c467f0c117fdd706712396f80b4bbf4ebea829a68096e0d6d62366d03eb7","impliedFormat":99},{"version":"15906c60cd7e6b25f0cb90580cc1527584a5fd3d5973daf55a10ad4587510c64","impliedFormat":99},{"version":"406ab0f368fcd5ffb379b4c0fa84b3675fbca834c2c954591552462568994cee","impliedFormat":99},{"version":"656be0f49f0d32f32dfb42b4585494e48138c15e3e56ed7402b36b9316cc5176","impliedFormat":99},{"version":"eb8a51a88c818e8e3d8b4761346e886ae46fdb8179d7938236bdb6e5e26bcc53","impliedFormat":99},{"version":"7f7059a644e3499bf802d9c252b1d99b6bdc21556f438d7693758984877fdba0","impliedFormat":99},{"version":"525f80295ebccc0b8184bd7e03dba432371f3df96b1f88399112a230f1c48e82","impliedFormat":99},{"version":"b355b8f50ac9d87bf458fa0a2762e36c2a395691bec0c21ef6826cc631dcdd34","impliedFormat":99},{"version":"822399a2755ea28ae3d97f9ac2c20eb41148a15e014dec021988d2cc514f656d","impliedFormat":99},{"version":"0b1e14cb06770ed81cf2a7085c973fcdacfbf96455fc025aedba9539f724afed","impliedFormat":99},{"version":"f6b6aa4f55562260b06aabb08367195905565e5db2b8d541f4cba5a522d05187","impliedFormat":99},{"version":"04a49a60381726dbc52583896f1e888a727ea3f15ea719ddac3f133c699bab1f","impliedFormat":99},{"version":"55f38bfa0f4091158ed411e4a54a94bde8ec5105a48d468326350a6ff98c66f2","impliedFormat":99},{"version":"96112614a8d983c6aac682b05815b82cd5d2af174713f95df46b7a5d4393adcc","impliedFormat":99},{"version":"47178e74335c75f16d18b8f9997326d65774e1e490722c1ac592e8f62d37e63e","impliedFormat":99},{"version":"5fb86ff855a340505dd1e5a0c2475696df7865f303323d7e2d005141ea73a461","impliedFormat":99},{"version":"dfc8682fae1326ef7106770fd67db712f21ab6b812c693dcce24a451d951c1e2","impliedFormat":99},{"version":"1852cfb5ae7c11bba23047e44e198416c29334c8f8b832260964c350e00db46e","impliedFormat":99},{"version":"c69baa2cba8d9f66f7cb38cecfca8c5924d6304bb59b85da457dd724a46e8548","impliedFormat":99},{"version":"3cbe672c15126cde626ccf301ef8a5b4517f2e40d63cb4234cbf72de687260e0","impliedFormat":99},{"version":"1637612654e83a9027f2ce3c21609197bc33483029256cdc4e573e8ed95d930b","impliedFormat":99},{"version":"1402212882b04813ea796e08fd07bc53409bfe4262ae72d3232e685b31cfcc02","impliedFormat":99},{"version":"fd5b89584e1132fd39773ac3d10c8003d975640fbd5f317018b2f9e3105569a1","impliedFormat":99},{"version":"c80a1f303a1f70e1c84faa586318b46badfc440a8dbfe179d34cc334fe9da4e7","impliedFormat":99},{"version":"76c1d19e111d0823e8dad68a6b2a3d86ef73545f8a0d1cb4ed9e86dab55c5f67","impliedFormat":99},{"version":"5ad24d0e258dfdb0c8293415aca74f31f28f75863ca11d58547f82dfde2efe14","impliedFormat":99},{"version":"56d26c22fbe3af215f12b5044cd8a9a6b9501c913d20de70e26607df6ec7195e","impliedFormat":99},{"version":"f580e4a5c35390e943327174a1fcbdcbe1418c7f565789287e70b5468f3e59de","impliedFormat":99},{"version":"2f725113ae18657257f08cd2837c40e47d76c4018ed791aa9e9776f1933540d1","impliedFormat":99},{"version":"523265b33f1992dd3c53594efff46af60cbb160b73bff0a576d39cca6e1ee31c","impliedFormat":99},{"version":"8329ddcba0b13dc3c59bc9df2b1e7f3559ec42336fc7591fea51143f895827f8","impliedFormat":99},{"version":"ad88f437c1230d635e5ee3e535176dd291985fd55032f4e0d1c986f36ea54da0","impliedFormat":99},{"version":"4fe3e1aea7c6e4ac1ac824814152df4d0f63f70c287aa6a45796a1fd794cba47","impliedFormat":99},{"version":"4c1b974cc791e3c5b6d85786933258725b1bafbbde2c06f8c857fde6d1e1ec78","impliedFormat":99},{"version":"4d4fd98a081f7646284761857316e2d9f0b63666c9fd2e2e1d7b782aac7b28f5","impliedFormat":99},{"version":"7a9fe3be04c4bba6773310bbed8b62349479b36bb9e984b3482ab7df6b166238","impliedFormat":99},{"version":"16f0d7f408b62da56e251e90612a169938867cc9d242756738833ddf1fc2d481","impliedFormat":99},{"version":"c51568c9c91356250e18517b1188c6aa69ff47bc08a3bf24cd9439134fbdf683","impliedFormat":99},{"version":"72fbd780809660f9ab66b163f404177f034fe946d02b76a99206b95610577d59","impliedFormat":99},{"version":"1826918b53908dc00d488bb0dd0e5ed029dd08e0bfc9188d265bfb0053f5fb9f","impliedFormat":99},{"version":"5d7597bfcca496303256fd44744c6de4531233fa3ac03e6cc1e2d945f6a6d6e5","impliedFormat":99},{"version":"2bb8a9327d7ce4e43caa06281b0b2ddd2ca80af1293ec6ba2f339ad4932cc206","impliedFormat":99},{"version":"127a4bd80467304fb1a51a76b30e297f428fe1494b7a14d9984cf56a02f2b331","impliedFormat":99},{"version":"1c5a9c6d973bc268522676437ea5f1b24a27f736ccd8af8e74f1bf868e8dbbd6","impliedFormat":99},{"version":"3cc5c94b876b4c63eaa676bbced5bef59ff9812617bbc4ab659fa065a32c54de","impliedFormat":99},{"version":"36a8ae68755fa991c0f1685bd83a67362436ed2a6e8c1a8f32acc7adffd6168f","impliedFormat":99},{"version":"6db5e9847f3760e045bfafeb945cabd5acbf16ad51c3d066c78acf2844aee7c8","impliedFormat":99},{"version":"6484fdf2b87d910c6b21c6bdfc9d4cbcb936e9ab9c2a4b53e6bfa340cf7bde98","impliedFormat":99},{"version":"f73229533c0e1695f9c75a191a5be44989ae92ca77342b713af856a97e52e498","impliedFormat":99},{"version":"f7f312b313319eb4c92cdd342b04f3b3912ed8ab704414c863129177b49447d2","impliedFormat":99},{"version":"165759e2ed45d7c271753ce028ad801ae857aa8fbc6ed8a977cdd5b0518d057d","impliedFormat":99},{"version":"d96984a14d656474db73039a4407ece06d5022fb0eb30571551e62c8c6f81a59","impliedFormat":99},{"version":"119ac9413c8a428219878da202375e364b37dfaf2b47a32e309aec8d77e8f197","impliedFormat":99},{"version":"b0672eaba1a8cad5e85defcae3e0325e0ad3a6ad16af7e6aba509f0de9ae9a3b","impliedFormat":99},{"version":"8980fca73ab1cfb4923c9311587f26d2b61915b3f0ae94e84d3f108e41904471","impliedFormat":99},{"version":"5a9a55d4531486b41b7fb9475041c068553719cd2b93a5745e01111b0d836cdd","impliedFormat":99},{"version":"bf4f74ad2c7b5da8e34b85852a258ca9003710785f5a3757f2523d93bbdb260a","impliedFormat":99},{"version":"cd8871a352586220b17d6a764af77726e3bcf563adc43a570bdb25f8a134deba","impliedFormat":99},{"version":"472edc7768eae3d1cdd6f5527f9faa60636d40b39f1d26c9b255ba7d0f354846","impliedFormat":99},{"version":"a9751001b01ed9ba9ed6515f720c486d353f6c6374ea528c98caf6cfb9caccab","impliedFormat":99},{"version":"e9acd11c45ef37d94f1b9388c6a8519cf8ab7eb53ad3cb8cf4184764711b33b2","impliedFormat":99},{"version":"676b88d0772615ae9afa3903de127c23316a44ac41002ff53685bbe68722f355","impliedFormat":99},{"version":"acdc1359ae838f192b6d94cf15a3e8cedb99a9561922951c64c413557756e3c1","impliedFormat":99},{"version":"fa5d8cb6eb7afb104fd94847dd8a739029cfabded225f93b6f09f5449b6794b7","impliedFormat":99},{"version":"316f1486e15cbf7896425f0a16dfe12d447dd57cfb3244b8b119c77df870858f","impliedFormat":99},{"version":"bef4cb2537c6229e68225e976c9d7d894ae9000b351f839867fa9d2928ef944d","impliedFormat":99},{"version":"30dcc2f014b6ae7c0e0337a87c70cac19cfd1ffe8982dbf28e37411105d32594","impliedFormat":99},{"version":"8bd7fd57f990ff10242a6acd6f20f4d7a0a6a2fa0494f3f4680add55b867e0ab","impliedFormat":99},{"version":"f943375bde83d32a00db5fa8ea97b66440e5b30e89a0ba4d30c88d49229f4f6d","impliedFormat":99},{"version":"4ab7081fcca46702defd0e6e59be019981d9862735cf3641cf8a676a7a260687","impliedFormat":99},{"version":"955faf3ddeba7f9f1cf0d3019e61fb7f256833312398e340c5b42fb2ad8ad126","impliedFormat":99},{"version":"061638545629f8821137f657fa83b50f1fc3ef24c2eea3f489f2207bd3fe8604","impliedFormat":99},{"version":"2d6fc83d9e8d8485bc153a64058691f7483710059c3b693f6d66282409de3941","impliedFormat":99},{"version":"30ac578e4e17562acc6b4a3bb1aaf3a82a6659ab86ebc6f885a894aa3ff69d2f","impliedFormat":99},{"version":"7ed24e31337a41691afdf0ed7c051bc60c1b232ec28d118c1df5eedbdf278379","impliedFormat":99},{"version":"d3a2f956b8949ab7504d1ff606c5db6f0fe878e4da6992d9e53994eb6a818780","impliedFormat":99},{"version":"bf9c521c79f941180501e9c62c05020fc07b2c82b364b3f00cb76f54f8aee2fa","impliedFormat":99},{"version":"9c98c8c56a0f74be89122bc0aebe42d00936b04bba2aef2bc65b3b97e34c5b96","impliedFormat":99},{"version":"528797ce38e264de1a333fbaccadb315baef5485eab44c4e0e85097c1b3c86d7","impliedFormat":99},{"version":"82abeb2110eeae7a9ec63d3d44b43b4cbce2e684132e4403d0995785fe981b09","impliedFormat":99},{"version":"af437ea71c5035e813d10b56bc72321f1375c42f88f2fe0696717132d040c6d4","impliedFormat":99},{"version":"4bdaf0ba0f4d2323b1cc4ebe39a1f78d9fa385d918f4f8d4c4747cc5f72524f6","impliedFormat":99},{"version":"4c700a8ce85d38625530a4c7e026ffc10436fe8101dc392f09b331ad2c32a9ad","impliedFormat":99},{"version":"6dbebda906deea3021cfcebf32f0fe178eb917fc2c475f1cc8c76ca4a3d7f146","impliedFormat":99},{"version":"ce48d094c10f12813adebaaf391bc1310c012fcb13fc6c88b29b83ea1b51a6c5","impliedFormat":99},{"version":"6a0c2673328ac13d382c06191bbcee6c00686c65e44e6a78f84819f896fef3b9","impliedFormat":99},{"version":"8ec352eabf812f3fc4ae851be15ef57753436976060bf8704149bec2d4bdacf4","impliedFormat":99},{"version":"25103a0bf17c0419062cf1376273b26fe5262aa34da7bd58584045a5e18b8a4c","impliedFormat":99},{"version":"c164152a56d491a212a6e93531c49f6f957e9a38b4bb732429a73cbb234f9cbb","impliedFormat":99},{"version":"e726e7fee8e3297e15aff8e1668762323588e119aae6e4698da6111628af74a3","impliedFormat":99},{"version":"1aefe473a947c1178322a3526f52a83db490c8cce9e57b07c0224688be55f264","impliedFormat":99},{"version":"dfedf320784a8ebe0f9b0dade5fbb6adb95f624a63bbe5760b8593f41992657f","impliedFormat":99},{"version":"ba56cb9be18354c664754abdb7b6f5dd262a7883d336018459e1e54f24586916","impliedFormat":99},{"version":"ed85a7aa3450739e9e0c4026e93e16b89ca83eb3fe7abc8527ad6dfc640140a6","impliedFormat":99},{"version":"9bb3e67ae8e93957c194b32acbd8580cf17a9df8ba44625568190bfc16e8c15a","impliedFormat":99},{"version":"4f6dc8c84a068552e39ce66235ebe650d43863b42dcb7835cff33df1b1ce6e51","impliedFormat":99},{"version":"1381f2919bf6a8b2d891ada612c23784e17cae6300db12fbb7900e9381ecf4de","impliedFormat":99},{"version":"05bbf247a54330ced6a6a821412224bdae0869f0cab0b8d4d5e49f1a6f4577a6","impliedFormat":99},{"version":"8124828a11be7db984fcdab052fd4ff756b18edcfa8d71118b55388176210923","impliedFormat":99},{"version":"092944a8c05f9b96579161e88c6f211d5304a76bd2c47f8d4c30053269146bc8","impliedFormat":99},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"ee70b8037ecdf0de6c04f35277f253663a536d7e38f1539d270e4e916d225a3f","affectsGlobalScope":true,"impliedFormat":1},{"version":"a660aa95476042d3fdcc1343cf6bb8fdf24772d31712b1db321c5a4dcc325434","impliedFormat":1},{"version":"a7ca8df4f2931bef2aa4118078584d84a0b16539598eaadf7dce9104dfaa381c","impliedFormat":1},{"version":"11443a1dcfaaa404c68d53368b5b818712b95dd19f188cab1669c39bee8b84b3","impliedFormat":1},{"version":"36977c14a7f7bfc8c0426ae4343875689949fb699f3f84ecbe5b300ebf9a2c55","impliedFormat":1},{"version":"035d0934d304483f07148427a5bd5b98ac265dae914a6b49749fe23fbd893ec7","impliedFormat":99},{"version":"e2ed5b81cbed3a511b21a18ab2539e79ac1f4bc1d1d28f8d35d8104caa3b429f","impliedFormat":99},{"version":"161c8e0690c46021506e32fda85956d785b70f309ae97011fd27374c065cac9b","affectsGlobalScope":true,"impliedFormat":1},{"version":"402e5c534fb2b85fa771170595db3ac0dd532112c8fa44fc23f233bc6967488b","impliedFormat":1},{"version":"7965dc3c7648e2a7a586d11781cabb43d4859920716bc2fdc523da912b06570d","impliedFormat":1},{"version":"90c2bd9a3e72fe08b8fa5982e78cb8dc855a1157b26e11e37a793283c52bf64b","impliedFormat":1},{"version":"a8122fe390a2a987079e06c573b1471296114677923c1c094c24a53ddd7344a2","impliedFormat":1},{"version":"70c2cb19c0c42061a39351156653aa0cf5ba1ecdc8a07424dd38e3a1f1e3c7f4","impliedFormat":1},{"version":"a8fb10fd8c7bc7d9b8f546d4d186d1027f8a9002a639bec689b5000dab68e35c","impliedFormat":1},{"version":"c9b467ea59b86bd27714a879b9ad43c16f186012a26d0f7110b1322025ceaa83","impliedFormat":1},{"version":"57ea19c2e6ba094d8087c721bac30ff1c681081dbd8b167ac068590ef633e7a5","impliedFormat":1},{"version":"cba81ec9ae7bc31a4dc56f33c054131e037649d6b9a2cfa245124c67e23e4721","impliedFormat":1},{"version":"ad193f61ba708e01218496f093c23626aa3808c296844a99189be7108a9c8343","impliedFormat":1},{"version":"a0544b3c8b70b2f319a99ea380b55ab5394ede9188cdee452a5d0ce264f258b2","impliedFormat":1},{"version":"8c654c17c334c7c168c1c36e5336896dc2c892de940886c1639bebd9fc7b9be4","impliedFormat":1},{"version":"6a4da742485d5c2eb6bcb322ae96993999ffecbd5660b0219a5f5678d8225bb0","impliedFormat":1},{"version":"c65ca21d7002bdb431f9ab3c7a6e765a489aa5196e7e0ef00aed55b1294df599","impliedFormat":1},{"version":"c8fc655c2c4bafc155ceee01c84ab3d6c03192ced5d3f2de82e20f3d1bd7f9fa","impliedFormat":1},{"version":"be5a7ff3b47f7e553565e9483bdcadb0ca2040ac9e5ec7b81c7e115a81059882","impliedFormat":1},{"version":"1a93f36ecdb60a95e3a3621b561763e2952da81962fae217ab5441ac1d77ffc5","impliedFormat":1},{"version":"2a771d907aebf9391ac1f50e4ad37952943515eeea0dcc7e78aa08f508294668","impliedFormat":1},{"version":"0146fd6262c3fd3da51cb0254bb6b9a4e42931eb2f56329edd4c199cb9aaf804","impliedFormat":1},{"version":"183f480885db5caa5a8acb833c2be04f98056bdcc5fb29e969ff86e07efe57ab","impliedFormat":99},{"version":"3fd8a5aefd8c3feb3936ca66f5aa89dff7bf6e6537b4158dbd0f6e0d65ed3b9e","impliedFormat":1},{"version":"a18642ddf216f162052a16cba0944892c4c4c977d3306a87cb673d46abbb0cbf","impliedFormat":1},{"version":"41c41c6e90133bb2a14f7561f29944771886e5535945b2b372e2f6ed6987746e","impliedFormat":1},{"version":"4ec16d7a4e366c06a4573d299e15fe6207fc080f41beac5da06f4af33ea9761e","impliedFormat":1},{"version":"3f0cfe02f3adad8a9aecabbf11371f73097c3359201d5214292a66c358bef3eb","impliedFormat":1},{"version":"71b110829b8f5e7653352a132544ece2b9a10e93ba1c77453187673bd46f13ee","impliedFormat":1},{"version":"7b0537621a997a853ead2b46a4d85e654beeb96b9d034ea09bf3387348521d40","impliedFormat":1},{"version":"1223780c318ef42fd33ac772996335ed92d57cf7c0fc73178acab5e154971aab","impliedFormat":1},{"version":"0d04cbe88c8a25c2debd2eef03ec5674563e23ca9323fa82ede3577822653bd2","impliedFormat":1},{"version":"aaa70439f135c3fa0a34313de49e94cae3db954c8b8d6af0d56a46c998c2923f","impliedFormat":1},{"version":"2cee3ea4c39a53326148e6e78109affd48fa69eae386871c1f440315a6120f40","impliedFormat":1},{"version":"daf07c1ca8ccfb21ad958833546a4f414c418fe096dcebdbb90b02e12aa5c3a2","impliedFormat":1},{"version":"89ac5224feeb2de76fc52fc2a91c5f6448a98dbe4e8d726ecb1730fa64cd2d30","impliedFormat":1},{"version":"3d59c264069a6af79288388633738630aa72e853e450e43f151ee092216d263d","impliedFormat":1},{"version":"acf00cfabe8c4de18bea655754ea39c4d04140257556bbf283255b695d00e36f","impliedFormat":1},{"version":"39b70d5f131fcfdeba404ee63aba25f26d8376a73bacd8275fb5a9f06219ac77","impliedFormat":1},{"version":"cdae26c737cf4534eeec210e42eab2d5f0c3855240d8dde3be4aee9194e4e781","impliedFormat":1},{"version":"5aa0c50083d0d9a423a46afaef78c7f42420759cfa038ad40e8b9e6cafc38831","impliedFormat":1},{"version":"10d6a49a99a593678ba4ea6073d53d005adfc383df24a9e93f86bf47de6ed857","impliedFormat":1},{"version":"1b7ea32849a7982047c2e5d372300a4c92338683864c9ab0f5bbd1acadae83a3","impliedFormat":1},{"version":"224083e6fcec1d300229da3d1dafc678c642863996cbfed7290df20954435a55","impliedFormat":1},{"version":"4248ac3167b1a1ce199fda9307abc314b3132527aeb94ec30dbcfe4c6a417b1b","impliedFormat":1},{"version":"c1606128c2ac5c6a3cc2cc24c4582a437141a8ed6542d7f5cbb7623835939831","impliedFormat":1},{"version":"ca055d26105248f745ea6259b4c498ebeed18c9b772e7f2b3a16f50226ff9078","impliedFormat":1},{"version":"ea6b2badb951d6dfa24bb7d7eb733327e5f9a15fc994d6dc1c54b2c7a83b6a0b","impliedFormat":1},{"version":"03fdf8dba650d830388b9985750d770dd435f95634717f41cea814863a9ac98b","impliedFormat":1},{"version":"6fd08e3ef1568cd0dc735c9015f6765e25143a4a0331d004a29c51b50eec402a","impliedFormat":1},{"version":"2e988cd4d24edac4936449630581c79686c8adac10357eb0cdb410c24f47c7f0","impliedFormat":1},{"version":"b813f62a37886ed986b0f6f8c5bf323b3fcae32c1952b71d75741e74ea9353cf","impliedFormat":1},{"version":"44a1a722038365972b1b52841e1132785bf5d75839dbc6cc1339f2d36f8507a1","impliedFormat":1},{"version":"83fe1053701101ac6d25364696fea50d2ceb2f81d1456bc11e682a20aaeac52e","impliedFormat":1},{"version":"4f228cb2089a5a135a1a8cefe612d5aebcef8258f7dbe3b7c4dad4e26a81ec08","impliedFormat":1},{"version":"7870becb94cbc11d2d01b77c4422589adcba4d8e59f726246d40cd0d129784d8","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f698624bbbb060ece7c0e51b7236520ebada74b747d7523c7df376453ed6fea","impliedFormat":1},{"version":"f70b8328a15ca1d10b1436b691e134a49bc30dcf3183a69bfaa7ba77e1b78ecd","impliedFormat":1},{"version":"d9030fc0c412a31e7e13d189b9ad032b5177c20217add0f24fd3fff0cf272882","impliedFormat":99},{"version":"b34b5f6b506abb206b1ea73c6a332b9ee9c8c98be0f6d17cdbda9430ecc1efab","impliedFormat":99},{"version":"75d4c746c3d16af0df61e7b0afe9606475a23335d9f34fcc525d388c21e9058b","impliedFormat":99},{"version":"fa959bf357232201c32566f45d97e70538c75a093c940af594865d12f31d4912","impliedFormat":99},{"version":"d2c52abd76259fc39a30dfae70a2e5ce77fd23144457a7ff1b64b03de6e3aec7","impliedFormat":99},{"version":"e6233e1c976265e85aa8ad76c3881febe6264cb06ae3136f0257e1eab4a6cc5a","impliedFormat":99},{"version":"f73e2335e568014e279927321770da6fe26facd4ac96cdc22a56687f1ecbb58e","impliedFormat":99},{"version":"317878f156f976d487e21fd1d58ad0461ee0a09185d5b0a43eedf2a56eb7e4ea","impliedFormat":99},{"version":"324ac98294dab54fbd580c7d0e707d94506d7b2c3d5efe981a8495f02cf9ad96","impliedFormat":99},{"version":"9ec72eb493ff209b470467e24264116b6a8616484bca438091433a545dfba17e","impliedFormat":99},{"version":"d6ee22aba183d5fc0c7b8617f77ee82ecadc2c14359cc51271c135e23f6ed51f","impliedFormat":99},{"version":"49747416f08b3ba50500a215e7a55d75268b84e31e896a40313c8053e8dec908","impliedFormat":99},{"version":"81e634f1c5e1ca309e7e3dc69e2732eea932ef07b8b34517d452e5a3e9a36fa3","impliedFormat":99},{"version":"34f39f75f2b5aa9c84a9f8157abbf8322e6831430e402badeaf58dd284f9b9a6","impliedFormat":99},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"891694d3694abd66f0b8872997b85fd8e52bc51632ce0f8128c96962b443189f","impliedFormat":99},{"version":"69bf2422313487956e4dacf049f30cb91b34968912058d244cb19e4baa24da97","impliedFormat":99},{"version":"971a2c327ff166c770c5fb35699575ba2d13bba1f6d2757309c9be4b30036c8e","impliedFormat":99},{"version":"4f45e8effab83434a78d17123b01124259fbd1e335732135c213955d85222234","impliedFormat":99},{"version":"7bd51996fb7717941cbe094b05adc0d80b9503b350a77b789bbb0fc786f28053","impliedFormat":99},{"version":"b62006bbc815fe8190c7aee262aad6bff993e3f9ade70d7057dfceab6de79d2f","impliedFormat":99},{"version":"13497c0d73306e27f70634c424cd2f3b472187164f36140b504b3756b0ff476d","impliedFormat":99},{"version":"bf7a2d0f6d9e72d59044079d61000c38da50328ccdff28c47528a1a139c610ec","impliedFormat":99},{"version":"04471dc55f802c29791cc75edda8c4dd2a121f71c2401059da61eff83099e8ab","impliedFormat":99},{"version":"120a80aa556732f684db3ed61aeff1d6671e1655bd6cba0aa88b22b88ac9a6b1","affectsGlobalScope":true,"impliedFormat":99},{"version":"e58c0b5226aff07b63be6ac6e1bec9d55bc3d2bda3b11b9b68cccea8c24ae839","affectsGlobalScope":true,"impliedFormat":99},{"version":"a23a08b626aa4d4a1924957bd8c4d38a7ffc032e21407bbd2c97413e1d8c3dbd","impliedFormat":99},{"version":"5a88655bf852c8cc007d6bc874ab61d1d63fba97063020458177173c454e9b4a","impliedFormat":99},{"version":"7e4dfae2da12ec71ffd9f55f4641a6e05610ce0d6784838659490e259e4eb13c","impliedFormat":99},{"version":"c30a41267fc04c6518b17e55dcb2b810f267af4314b0b6d7df1c33a76ce1b330","impliedFormat":1},{"version":"72422d0bac4076912385d0c10911b82e4694fc106e2d70added091f88f0824ba","impliedFormat":1},{"version":"da251b82c25bee1d93f9fd80c5a61d945da4f708ca21285541d7aff83ecb8200","impliedFormat":1},{"version":"64db14db2bf37ac089766fdb3c7e1160fabc10e9929bc2deeede7237e4419fc8","impliedFormat":1},{"version":"98b94085c9f78eba36d3d2314affe973e8994f99864b8708122750788825c771","impliedFormat":1},{"version":"13573a613314e40482386fe9c7934f9d86f3e06f19b840466c75391fb833b99b","impliedFormat":99},"08e9550ff418c2f7ae81f8322b95e659ff1a887ca0730fe6f073cdb74aace1a1","20af716678fdec46949e17f899460c94a6cfd06a0c4cada1089c3f87b86d04b7","e24fde613f2bcdaea9fb699bcb1e67b02c7fda74839d21c9d9b6172ab6efa0ab","514976b2de28228be22efbfb55c464e194c632abe7a37609469a3bebf22f2209",{"version":"4d1fedbf24889609caca840d56a0792e3f4b631bdfb46bd76f807a26e834bd8e","signature":"5d5a410f49a8bda7954c8b14924912d6c07f8a5d607d69223f7143b414f357ec"},{"version":"cb588ba5bea2bac98116cb4219dbc511b7a27ef11ace096408359f7cc636ca53","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"78647004e18e4c16b8a2e8345fca9267573d1c5a29e11ddfee71858fd077ef6e","impliedFormat":1},{"version":"0804044cd0488cb7212ddbc1d0f8e1a5bd32970335dbfc613052304a1b0318f9","impliedFormat":1},{"version":"b725acb041d2a18fde8f46c48a1408418489c4aa222f559b1ef47bf267cb4be0","impliedFormat":1},{"version":"85084ae98c1d319e38ef99b1216d3372a9afd7a368022c01c3351b339d52cb58","impliedFormat":1},{"version":"898ec2410fae172e0a9416448b0838bed286322a5c0c8959e8e39400cd4c5697","impliedFormat":1},{"version":"692345a43bac37c507fa7065c554258435ab821bbe4fb44b513a70063e932b45","impliedFormat":1},{"version":"7283aaea55499e5a9760db0ef199e3c12a35ff5391733fe1495b2d3add0c58ab","impliedFormat":1},{"version":"c1c8ccb14c76efb31ff84038ec7833a5715ba23e681b158b3c83cc012b8c3cfa","impliedFormat":1},{"version":"abb0a41fa0432cdec9595dbe84bd3efc5b59f04aa85dcd5cec7b453908fc85c3","impliedFormat":1},{"version":"522edc786ed48304671b935cf7d3ed63acc6636ab9888c6e130b97a6aea92b46","impliedFormat":1},{"version":"a9607a8f1ce7582dbeebc0816897925bf9b307cc05235e582b272a48364f8aa0","impliedFormat":1},{"version":"de21641eb8edcbc08dd0db4ee70eea907cd07fe72267340b5571c92647f10a77","impliedFormat":1},{"version":"48af3609dc95fa62c22c8ec047530daf1776504524d284d2c3f9c163725bdbd4","impliedFormat":1},{"version":"6758f7b72fa4d38f4f4b865516d3d031795c947a45cc24f2cfba43c91446d678","impliedFormat":1},{"version":"1fefab6dc739d33b7cb3fd08cd9d35dd279fcd7746965e200500b1a44d32db9e","impliedFormat":1},{"version":"997b94a03707d35abe497e427bc26b403a538838c3a82f2be71d85109b88e32b","impliedFormat":1},{"version":"bdf7abbd7df4f29b3e0728684c790e80590b69d92ed8d3bf8e66d4bd713941fe","impliedFormat":1},{"version":"8decb32fc5d44b403b46c3bb4741188df4fbc3c66d6c65669000c5c9cd506523","impliedFormat":1},{"version":"4beaf337ee755b8c6115ff8a17e22ceab986b588722a52c776b8834af64e0f38","impliedFormat":1},{"version":"c26dd198f2793bbdcc55103823a2767d6223a7fdb92486c18b86deaf63208354","impliedFormat":1},{"version":"93551b302a808f226f0846ad8012354f2d53d6dedc33b540d6ca69836781a574","impliedFormat":1},{"version":"040cb635dff5fc934413fa211d3a982122bf0e46acae9f7a369c61811f277047","impliedFormat":1},{"version":"778b684ebc6b006fcffeab77d25b34bf6e400100e0ec0c76056e165c6399ab05","impliedFormat":1},{"version":"285d50a08440314f7aea3246a5e15acbc38e2867ff07d21ef457ae8cb4e8a31f","impliedFormat":1},{"version":"672701f824ff6b9dab50514c6c4db711fb7ec5e7c2f0f6bc27b2dbe2e445a52a","impliedFormat":1},{"version":"be8f369f8d7e887eab87a3e4e41f1afcf61bf06056801383152aa83bda1f6a72","impliedFormat":1},{"version":"352bfb5f3a9d8a9c2464ad2dc0b2dc56a8212650a541fb550739c286dd341de1","impliedFormat":1},{"version":"ebef680e3597d7b3c8a9fc9e5581eb078461fa1406ded8d9859353dd6286eff2","impliedFormat":1},{"version":"dc923d45c03261241cefb03ea952883784e28fbc1d089af1a5a553a7b0f5e2b5","impliedFormat":1},{"version":"764150c107451d2fd5b6de305cff0a9dcecf799e08e6f14b5a6748724db46d8a","impliedFormat":1},{"version":"b04cf223c338c09285010f5308b980ee6d8bfa203824ed2537516f15e92e8c43","impliedFormat":1},{"version":"4b387f208d1e468193a45a51005b1ed5b666010fc22a15dc1baf4234078b636e","impliedFormat":1},{"version":"70441eda704feffd132be0c1541f2c7f6bbaafce25cb9b54b181e26af3068e79","impliedFormat":1},{"version":"d1addb12403afea87a1603121396261a45190886c486c88e1a5d456be17c2049","impliedFormat":1},{"version":"1e50bda67542964dbb2cfb21809f9976be97b2f79a4b6f8124463d42c95a704c","impliedFormat":1},{"version":"ea4b5d319625203a5a96897b057fddf6017d0f9a902c16060466fe69cc007243","impliedFormat":1},{"version":"a186fde3b1dde9642dda936e23a21cb73428340eb817e62f4442bb0fca6fa351","impliedFormat":1},{"version":"985ac70f005fb77a2bc0ed4f2c80d55919ded6a9b03d00d94aab75205b0778ec","impliedFormat":1},{"version":"ab01d8fcb89fae8eda22075153053fefac69f7d9571a389632099e7a53f1922d","impliedFormat":1},{"version":"bac0ec1f4c61abc7c54ccebb0f739acb0cdbc22b1b19c91854dc142019492961","impliedFormat":1},{"version":"566b0806f9016fa067b7fecf3951fcc295c30127e5141223393bde16ad04aa4a","impliedFormat":1},{"version":"8e801abfeda45b1b93e599750a0a8d25074d30d4cc01e3563e56c0ff70edeb68","impliedFormat":1},{"version":"902997f91b09620835afd88e292eb217fbd55d01706b82b9a014ff408f357559","impliedFormat":1},{"version":"a3727a926e697919fb59407938bd8573964b3bf543413b685996a47df5645863","impliedFormat":1},{"version":"83f36c0792d352f641a213ee547d21ea02084a148355aa26b6ef82c4f61c1280","impliedFormat":1},{"version":"dce7d69c17a438554c11bbf930dec2bee5b62184c0494d74da336daee088ab69","impliedFormat":1},{"version":"1e8f2cda9735002728017933c54ccea7ebee94b9c68a59a4aac1c9a58aa7da7d","impliedFormat":1},{"version":"e327a2b222cf9e5c93d7c1ed6468ece2e7b9d738e5da04897f1a99f49d42cca1","impliedFormat":1},{"version":"65165246b59654ec4e1501dd87927a0ef95d57359709e00e95d1154ad8443bc7","impliedFormat":1},{"version":"f1bacba19e2fa2eb26c499e36b5ab93d6764f2dba44be3816f12d2bc9ac9a35b","impliedFormat":1},{"version":"bce38da5fd851520d0cb4d1e6c3c04968cec2faa674ed321c118e97e59872edc","impliedFormat":1},{"version":"3398f46037f21fb6c33560ceca257259bd6d2ea03737179b61ea9e17cbe07455","impliedFormat":1},{"version":"6e14fc6c27cb2cb203fe1727bb3a923588f0be8c2604673ad9f879182548daca","impliedFormat":1},{"version":"12b9bcf8395d33837f301a8e6d545a24dfff80db9e32f8e8e6cf4b11671bb442","impliedFormat":1},{"version":"04295cc38689e32a4ea194c954ea6604e6afb6f1c102104f74737cb8cf744422","impliedFormat":1},{"version":"7418f434c136734b23f634e711cf44613ca4c74e63a5ae7429acaee46c7024c8","impliedFormat":1},{"version":"27d40290b7caba1c04468f2b53cf7112f247f8acdd7c20589cd7decf9f762ad0","impliedFormat":1},{"version":"2608b8b83639baf3f07316df29202eead703102f1a7e32f74a1b18cf1eee54b5","impliedFormat":1},{"version":"c93657567a39bd589effe89e863aaadbc339675fca6805ae4d97eafbcce0a05d","impliedFormat":1},{"version":"909d5db5b3b19f03dfb4a8f1d00cf41d2f679857c28775faf1f10794cbbe9db9","impliedFormat":1},{"version":"e4504bffce13574bab83ab900b843590d85a0fd38faab7eff83d84ec55de4aff","impliedFormat":1},{"version":"8ab707f3c833fc1e8a51106b8746c8bc0ce125083ea6200ad881625ae35ce11e","impliedFormat":1},{"version":"730ddc2386276ac66312edbcc60853fedbb1608a99cb0b1ff82ebf26911dba1f","impliedFormat":1},{"version":"c1b3fa201aa037110c43c05ea97800eb66fea3f2ecc5f07c6fd47f2b6b5b21d2","impliedFormat":1},{"version":"636b44188dc6eb326fd566085e6c1c6035b71f839d62c343c299a35888c6f0a9","impliedFormat":1},{"version":"3b2105bf9823b53c269cabb38011c5a71360c8daabc618fec03102c9514d230c","impliedFormat":1},{"version":"f96e63eb56e736304c3aef6c745b9fe93db235ddd1fec10b45319c479de1a432","impliedFormat":1},{"version":"acb4f3cee79f38ceba975e7ee3114eb5cd96ccc02742b0a4c7478b4619f87cd6","impliedFormat":1},{"version":"cfc85d17c1493b6217bad9052a8edc332d1fde81a919228edab33c14aa762939","impliedFormat":1},{"version":"eebda441c4486c26de7a8a7343ebbc361d2b0109abff34c2471e45e34a93020a","impliedFormat":1},{"version":"727b4b8eb62dd98fa4e3a0937172c1a0041eb715b9071c3de96dad597deddcab","impliedFormat":1},{"version":"708e2a347a1b9868ccdb48f3e43647c6eccec47b8591b220afcafc9e7eeb3784","impliedFormat":1},{"version":"6bb598e2d45a170f302f113a5b68e518c8d7661ae3b59baf076be9120afa4813","impliedFormat":1},{"version":"c28e058db8fed2c81d324546f53d2a7aaefff380cbe70f924276dbad89acd7d1","impliedFormat":1},{"version":"89d029475445d677c18cf9a8c75751325616d353925681385da49aeef9260ab7","impliedFormat":1},{"version":"826a98cb79deab45ccc4e5a8b90fa64510b2169781a7cbb83c4a0a8867f4cc58","impliedFormat":1},{"version":"618189f94a473b7fdc5cb5ba8b94d146a0d58834cd77cd24d56995f41643ccd5","impliedFormat":1},{"version":"1645dc6f3dd9a3af97eb5a6a4c794f5b1404cab015832eba67e3882a8198ec27","impliedFormat":1},{"version":"b5267af8d0a1e00092cceed845f69f5c44264cb770befc57d48dcf6a098cb731","impliedFormat":1},{"version":"91b0965538a5eaafa8c09cf9f62b46d6125aa1b3c0e0629dce871f5f41413f90","impliedFormat":1},{"version":"2978e33a00b4b5fb98337c5e473ab7337030b2f69d1480eccef0290814af0d51","impliedFormat":1},{"version":"ba71e9777cb5460e3278f0934fd6354041cb25853feca542312807ce1f18e611","impliedFormat":1},{"version":"608dbaf8c8bb64f4024013e73d7107c16dba4664999a8c6e58f3e71545e48f66","impliedFormat":1},{"version":"61937cefd7f4d6fa76013d33d5a3c5f9b0fc382e90da34790764a0d17d6277fb","impliedFormat":1},{"version":"af7db74826f455bfef6a55a188eb6659fd85fdc16f720a89a515c48724ee4c42","impliedFormat":1},{"version":"d6ce98a960f1b99a72de771fb0ba773cb202c656b8483f22d47d01d68f59ea86","impliedFormat":1},{"version":"2a47dc4a362214f31689870f809c7d62024afb4297a37b22cb86f679c4d04088","impliedFormat":1},{"version":"42d907ac511459d7c4828ee4f3f81cc331a08dc98d7b3cb98e3ff5797c095d2e","impliedFormat":1},{"version":"63d010bff70619e0cdf7900e954a7e188d3175461182f887b869c312a77ecfbd","impliedFormat":1},{"version":"1452816d619e636de512ca98546aafb9a48382d570af1473f0432a9178c4b1ff","impliedFormat":1},{"version":"9e3e3932fe16b9288ec8c948048aef4edf1295b09a5412630d63f4a42265370e","impliedFormat":1},{"version":"8bdba132259883bac06056f7bacd29a4dcf07e3f14ce89edb022fe9b78dcf9b3","impliedFormat":1},{"version":"5a5406107d9949d83e1225273bcee1f559bb5588942907d923165d83251a0e37","impliedFormat":1},{"version":"ca0ca4ca5ad4772161ee2a99741d616fea780d777549ba9f05f4a24493ab44e1","impliedFormat":1},{"version":"e7ee7be996db0d7cce41a85e4cae3a5fc86cf26501ad94e0a20f8b6c1c55b2d4","impliedFormat":1},{"version":"72263ae386d6a49392a03bde2f88660625da1eca5df8d95120d8ccf507483d20","impliedFormat":1},{"version":"b498375d015f01585269588b6221008aae6f0c0dc53ead8796ace64bdfcf62ea","impliedFormat":1},{"version":"c37aa3657fa4d1e7d22565ae609b1370c6b92bafb8c92b914403d45f0e610ddc","impliedFormat":1},{"version":"34534c0ead52cc753bdfdd486430ef67f615ace54a4c0e5a3652b4116af84d6d","impliedFormat":1},{"version":"a848339c272ab23e686b5d0b81297e3a7116ba7d27589c66ca1f4ebcd65e7f19","impliedFormat":1},{"version":"566315d39e476ca9e7fd0b1908074cb2a5ff9246cc3ed7da64cde5ad30f7e0b1","impliedFormat":1},{"version":"5f7ed82e82aa5017fe830ac40105321c32e3bf45d3cfcd557601f2ed58ff6ca4","impliedFormat":1},{"version":"f67a80308cecbd6e402e65931b212958cf89c0ef4e67ec8998dccb93bcc4a0f6","impliedFormat":99},{"version":"4c37a2e0d4689addc6307b9bade6214463e621be2cbaa4186e5e84beae3bf04c","impliedFormat":99},{"version":"270fb79c5b57005a01e4082038f13ec71586de194a7bd157a264ce64562d1656","impliedFormat":99},{"version":"146b782ff46f55732980cffd31256b511e1d3afd63cedd818b2712a8325cf473","impliedFormat":99},{"version":"1a3d8da921df61c32cb9db3691339cad87ff9ec7a23686d11a9217a73e0440e5","impliedFormat":99},{"version":"0645209ea239c80ef0eb8aeddaf243e89a0175c56977bbe39f75bb577fde0441","impliedFormat":99},{"version":"7be32b6413399e55a92293595bbd2f727e8457e83ad9c8fecc68cd6d8a1912cd","impliedFormat":99},{"version":"67e01a2e4afd07e424e13d0b779afe83471e18c7895d22f7fc0034e8260498c3","impliedFormat":99},{"version":"4fe80f12b1d5189384a219095c2eabadbb389c2d3703aae7c5376dbaa56061df","impliedFormat":1},{"version":"9eb1d2dceae65d1c82fc6be7e9b6b19cf3ca93c364678611107362b6ad4d2d41","impliedFormat":1},{"version":"8065e20ac0ad0536d4f1c8d4c2303272a4d25c450bea8d25deb25697d19300e5","impliedFormat":1},{"version":"a3f10b207ac34092603a802aa6d932d22372d571d4649c1d48a074b71da95eac","impliedFormat":1},{"version":"f42365baa04389b983f87a8e14c130ea0ab4a913fada35e8e8e8825a450d4840","impliedFormat":1},{"version":"98ad7367a33f8b7cebad1f8b92e56287b28eda1bfd11f8fef8673980b1090a91","impliedFormat":1},{"version":"be43be05fe9cfd2eb3ce785ef8cbc48737843aac7baf8345c0d8857d7703c996","impliedFormat":1},{"version":"2622d23b82f46eecadc419a286395ddfaaee2f5d533b35127235815ed8807b76","impliedFormat":1},{"version":"406820d111d981e35608f3b6525b8b8a818f2ef83083e8b381f3336d7067a593","impliedFormat":1},{"version":"3bc9a5fc50e1b5678284bf0c8f6319e0cc4910e4ecc1bdb3d490850c9a0859b8","impliedFormat":1},{"version":"e480120d79410e40d95f27fd46da84e12e16b8ff57dda7206a97cb165a2c2213","impliedFormat":1},{"version":"54e4b2a4cfdae8bd4fa66c3baa19af1df604959c81f921252dfc2777e6eebd25","impliedFormat":1},{"version":"f00d9f3635a0f2b6427437b01543ecba1dbf4a5db9adb7d045beb90f8497a87e","impliedFormat":1},{"version":"1611551020c708492c66ffcda9e2b593c3ff91ee8875365c057213a8564ee60b","impliedFormat":1},{"version":"d8158d02e93f868ef402ed06e2a33e419585fe069193905c29e80554e87ac15c","impliedFormat":1},{"version":"94eeb315f94439db3bccd50a5427d3fd2e6535807ca57aca28810e63bc9fd1e4","impliedFormat":1},{"version":"8dcf156fc7436c5a104f0ecd75c2f0069061502ce9900607c1667aaca3a6851e","impliedFormat":1},{"version":"afeaa3163ca96eba18a94a8310ea952164ef767d7ae1e3f21b19bad1e204d087","impliedFormat":1},{"version":"9061663f4f28b12ca29ef8940a44ec53d5f9f386e5edee569fdcdfc7e4ca14eb","impliedFormat":1},{"version":"453ea807ecb71949a1ef40b09b2368f3a6a487705f5a2116af925efa2f7e6d92","impliedFormat":1},{"version":"a07ed03a026bf50005a267f7dd20db3797e1662da44ea635d4770420096f02e3","impliedFormat":1},{"version":"a9d62506c38c63df06c007381a4adf5459355ee31a292b86ebea9c836bb7e841","impliedFormat":1},{"version":"758bc9b7e24313108050b10adc80346199b6addcb3912ff96c5445614db63702","impliedFormat":1},{"version":"88c2b2305782a0c969c8c5a4ba189fd2085d765038b6af2f66a878725eeb855e","impliedFormat":1},{"version":"b00498e0f7de6d0b2eaabf6bc6c27d54e224dbde9b8710c37a0c5f9cabff9013","impliedFormat":1},{"version":"26020fd840eba5d9209e6b07df23d7a9ceb7571fde0c3ae9f443c84619de6a41","impliedFormat":1},{"version":"abf974935a0a0649a429cee0e1133049d18ff0cbaf5cc6764626ffae6af7bd83","impliedFormat":1},{"version":"b9dd0d484906d4444d32a4c70451eaed8d54dfd618cc6f9912f0e20a6b54d7e6","impliedFormat":1},{"version":"353eca851a8aace8404c346d91e350c8ed959759f8fb2a33060ab0d850eed9c4","impliedFormat":1},{"version":"83acf2aae8ebbeaeb12566ec0dd22fe40c9a157ffaf826fe2fb541c518d54f69","impliedFormat":1},{"version":"782ede6abab3148ba43fa5c41c3ac045b81299d306ce06bc27c045c99e375aaa","impliedFormat":1},{"version":"93bd377447dcc0ddb93afe519b7ca4f0400eb8d1fd11fa49848f7522789bbc38","impliedFormat":1},{"version":"87f7c14cf79d5c5409e1260dfc1dda3bc9b0d13b81f2ff39b820dde587c569ee","impliedFormat":1},{"version":"993200dc344eac5de024608fe26fbb1cf4764c254229f481ed8aae084f2fe0e4","impliedFormat":1},{"version":"fc23536cabc16a53018f4dbe8be39db84a73cf1c69b85f238b9ae7e09edaa199","impliedFormat":1},{"version":"89163956c437b564e0073e53141646df002e1d57d2e0bc2dbc3b0a4691776c5f","impliedFormat":1},{"version":"4970c3f3f4b6902144173902c3a969517d708ecbd8c50cc6465d4f2c488fad9e","impliedFormat":1},{"version":"9fd0da3a46448bcc367f52f9f57ba10b8eaf06bc9d4f34698298ec2aab991807","impliedFormat":1},{"version":"bdd08c627434274339f7942e251879b5de6bcf628f3f61ccff14dbeca425ef6a","impliedFormat":1},{"version":"c2649fb23b8767464051cf1f92ed0fed53ea7d5cbd6f807a348402e0be37500c","impliedFormat":1},{"version":"0d3646c780151c55b6bcf7c15f66b6769ac554eac2aedf3294edff04a0045cfe","impliedFormat":1},{"version":"bd8ced5d6e15d32bf007b79bb992a07c713c3e803b45c4ad61d240c610cceec9","impliedFormat":1},{"version":"304ec145044d3fd83921ee3bc57f3f9bba7ac84e866aec6bab17820a581f171e","impliedFormat":1},{"version":"e15cc57b8f017cef8e32c06f04b6c724f8681f9442efc2aa4c757464483f32bc","impliedFormat":1},{"version":"bb539d13f42ca588fc5083b94e537ed67fe47449da84d414b14f3d17c7b5c49e","impliedFormat":1},{"version":"592f9ad00e8c3734ecaad7203b05fd72a028aa9fb11e64db927f00d8715476d6","impliedFormat":1},{"version":"0b4046e2e44fbcc8ad9f4e56859ab9874c669249a51217e21d6c2402ff26e615","impliedFormat":1},{"version":"da332d91f1da53266c5eb9af28f0235ab248ad81f68890df1de8b88074b24a4a","impliedFormat":1},{"version":"0764641d314681c58c751f42b47a572115dc842a72072fa868a259a1cc70f6ff","impliedFormat":1},{"version":"3720043192743812e92ee320868617e7f7e55115ea58ad9e5a512c763716a381","impliedFormat":1},{"version":"fa106dbcb508da05acda26c2deb5ecd307fd323f2d491056b980c25d7d9d3d19","impliedFormat":1},{"version":"686c74caa6c90f835616624627be07c4c977c217e400db2d6cab99b3b19681d0","impliedFormat":1},{"version":"33598ffcfddac61cb35af961c6794b6dc03a89fd2e92089113b34dbb42bd2e27","impliedFormat":1},{"version":"1f1852185404db45d03465a19f7c65bb8f2540bfccb6b967cc32779fdf844f72","impliedFormat":1},{"version":"ae51b52a71c70aa77fac061acf81c4da5770ea10a9a1ff5df252eb79d4d93f26","impliedFormat":1},{"version":"55949c519449e0e0c1eb61d34aa42d5297c2e29883b45fd009629e914e856b30","impliedFormat":1},{"version":"0cbc69cf27e58df8b07063583fb2740d9dc664afc058491af2456a2e270b43bb","impliedFormat":1},{"version":"fdcc8e65fff640091ae5db35056ef87a343c373b5b78369ae509be0cda7df5d2","impliedFormat":1},{"version":"2867ebac7aca35b039ea1cc0e0248bf0ced60706877f172a5cb0eddaa599330b","impliedFormat":1},{"version":"ca3c62ca26416a83e1090706d6df86a089a86b76b5bf561298b1fc5afa65b0a3","impliedFormat":1},{"version":"fde60d698983b343d3ace0742f852622230902ebe5917b1a5aabf7db7f34e3d9","impliedFormat":1},{"version":"9e8147e322367517e09022bf0f00886919b922de4fb4f9b856976a3c0c5597f1","impliedFormat":1},{"version":"430aae2003d27d257031cccff62b7c05468ca2201033f01b712959b47d458049","impliedFormat":1},{"version":"fd8b21234303f04f3357ba644ffd76844f02e70a7f07a290142f11ba71ceab92","impliedFormat":1},{"version":"d10535292b8a83db27138475488a427572a558559bf3be5cad89568c66deb5e2","impliedFormat":1},{"version":"54e98342907a1a0170d8d5dc81e4f05c5f6c526421e930aadd3e30c682498a29","impliedFormat":1},{"version":"1539b21903f2f9049f1f637bfd736d593205100dd3b3d2f7cabf23e6c004edbc","impliedFormat":1},{"version":"b04f4d4736305a8fd1910b01ae9c40d0738d952744d1ec904610d1764efa91af","impliedFormat":1},{"version":"1ad05fc69812ce854a3db895e6f9a72877151ff1e5d8af0ec78d5736afaa1fcf","impliedFormat":1},{"version":"0c11d5e2e654790dfa45f9bc2d3b653fe13c4f7a0c8a1d639a5a924b6e09be8c","impliedFormat":1},{"version":"324a44990de071515cb273632ace64d4f32b72f2d9391e003a63ea69aabd3364","impliedFormat":1},{"version":"31333fe58620f76321cc0153a0aa7ae0408e1b7ca3d1c26d2569ec44b6ee3805","impliedFormat":1},{"version":"6fc89c781ebd4d280c684ce1042c9ebbc4a59cf1ecf5983cfa2eefdd3cd449a0","impliedFormat":1},{"version":"593cc5d6276e32b36088a73756514161b750c2957a84ddf5153935eee3f95e3a","impliedFormat":1},{"version":"276b8af5ab99167e0a217186a39ffa44473beecd9a937057bcad2eb3e21c53b4","impliedFormat":1},{"version":"b760d358d0b42de531509e3bff8a9cffb934e3a2ff0d53fa244b3ebfaaef9f91","impliedFormat":1},{"version":"caac24397bd88bf85b02e42ec561181acab9384d9e2429e1ff3d65abe1567407","impliedFormat":1},{"version":"9efa716140d3e52b0dda513aa7b45252af15617d6b9a6b9a5be786a4f60042a8","impliedFormat":1},{"version":"4558f132688cff22a2acc65f44d277546b55435083141779beb11e993dcdbe13","impliedFormat":1},{"version":"2e4cbb24e294d25e6bd050f1a5d6b86422475c049afc65c3cd777b16c7af88b9","impliedFormat":1},{"version":"3e162b63e35c2007cb0eb3db0ba0fdb45e4185e5417440d79d56fc989aaea13e","impliedFormat":1},{"version":"2cef84bf00cbdb452fdc5d8ecfe7b8c0aa3fa788bdc4ad8961e2e636530dbb60","impliedFormat":99},{"version":"24104650185414f379d5cc35c0e2c19f06684a73de5b472bae79e0d855771ecf","impliedFormat":99},{"version":"799003c0ab928582fca04977f47b8d85b43a8de610f4eef0ad2d069fbb9f9399","impliedFormat":99},{"version":"b13dd41c344a23e085f81b2f5cd96792e6b35ae814f32b25e39d9841844ad240","impliedFormat":99},{"version":"17d8b4e6416e48b6e23b73d05fd2fde407e2af8fddbe9da2a98ede14949c3489","impliedFormat":99},{"version":"6d17b2b41f874ab4369b8e04bdbe660163ea5c8239785c850f767370604959e3","impliedFormat":99},{"version":"04b4c044c8fe6af77b6c196a16c41e0f7d76b285d036d79dcaa6d92e24b4982b","impliedFormat":99},{"version":"30bdeead5293c1ddfaea4097d3e9dd5a6b0bc59a1e07ff4714ea1bbe7c5b2318","impliedFormat":99},{"version":"e7df226dcc1b0ce76b32f160556f3d1550124c894aae2d5f73cefaaf28df7779","impliedFormat":99},{"version":"f2b7eef5c46c61e6e72fba9afd7cc612a08c0c48ed44c3c5518559d8508146a2","impliedFormat":99},{"version":"00f0ba57e829398d10168b7db1e16217f87933e61bd8612b53a894bd7d6371da","impliedFormat":99},{"version":"126b20947d9fa74a88bb4e9281462bda05e529f90e22d08ee9f116a224291e84","impliedFormat":99},{"version":"40d9e43acee39702745eb5c641993978ac40f227475eacc99a83ba893ad995db","impliedFormat":99},{"version":"8a66b69b21c8de9cb88b4b6d12f655d5b7636e692a014c5aa1bd81745c8c51d5","impliedFormat":99},{"version":"ebbb846bdd5a78fdacff59ae04cea7a097912aeb1a2b34f8d88f4ebb84643069","impliedFormat":99},{"version":"7321adb29ffd637acb33ee67ea035f1a97d0aa0b14173291cc2fd58e93296e04","impliedFormat":99},{"version":"320816f1a4211188f07a782bdb6c1a44555b3e716ce13018f528ad7387108d5f","impliedFormat":99},{"version":"b2cc8a474b7657f4a03c67baf6bff75e26635fd4b5850675e8cad524a09ddd0c","impliedFormat":99},{"version":"0d081e9dc251063cc69611041c17d25847e8bdbe18164baaa89b7f1f1633c0ab","impliedFormat":99},{"version":"a64c25d8f4ec16339db49867ea2324e77060782993432a875d6e5e8608b0de1e","impliedFormat":99},{"version":"0739310b6b777f3e2baaf908c0fbc622c71160e6310eb93e0d820d86a52e2e23","impliedFormat":99},{"version":"37b32e4eadd8cd3c263e7ac1681c58b2ac54f3f77bb34c5e4326cc78516d55a9","impliedFormat":99},{"version":"9b7a8974e028c4ed6f7f9abb969e3eb224c069fd7f226e26fcc3a5b0e2a1eba8","impliedFormat":99},{"version":"e8100b569926a5592146ed68a0418109d625a045a94ed878a8c5152b1379237c","impliedFormat":99},{"version":"594201c616c318b7f3149a912abd8d6bdf338d765b7bcbde86bca2e66b144606","impliedFormat":99},{"version":"03e380975e047c5c6ded532cf8589e6cc85abb7be3629e1e4b0c9e703f2fd36f","impliedFormat":99},{"version":"fae14b53b7f52a8eb3274c67c11f261a58530969885599efe3df0277b48909e1","impliedFormat":99},{"version":"c41206757c428186f2e0d1fd373915c823504c249336bdc9a9c9bbdf9da95fef","impliedFormat":99},{"version":"e961f853b7b0111c42b763a6aa46fc70d06a697db3d8ed69b38f7ba0ae42a62b","impliedFormat":99},{"version":"3db90f79e36bcb60b3f8de1bc60321026800979c150e5615047d598c787a64b7","impliedFormat":99},{"version":"639b6fb3afbb8f6067c1564af2bd284c3e883f0f1556d59bd5eb87cdbbdd8486","impliedFormat":99},{"version":"49795f5478cb607fd5965aa337135a8e7fd1c58bc40c0b6db726adf186dd403f","impliedFormat":99},{"version":"7d8890e6e2e4e215959e71d5b5bd49482cf7a23be68d48ea446601a4c99bd511","impliedFormat":99},{"version":"d56f72c4bb518de5702b8b6ae3d3c3045c99e0fd48b3d3b54c653693a8378017","impliedFormat":99},{"version":"4c9ac40163e4265b5750510d6d2933fb7b39023eed69f7b7c68b540ad960826e","impliedFormat":99},{"version":"8dfab17cf48e7be6e023c438a9cdf6d15a9b4d2fa976c26e223ba40c53eb8da8","impliedFormat":99},{"version":"38bdf7ccacfd8e418de3a7b1e3cecc29b5625f90abc2fa4ac7843a290f3bf555","impliedFormat":99},{"version":"9819e46a914735211fbc04b8dc6ba65152c62e3a329ca0601a46ba6e05b2c897","impliedFormat":99},{"version":"50f0dc9a42931fb5d65cdd64ba0f7b378aedd36e0cfca988aa4109aad5e714cb","impliedFormat":99},{"version":"894f23066f9fafccc6e2dd006ed5bd85f3b913de90f17cf1fe15a2eb677fd603","impliedFormat":99},{"version":"abdf39173867e6c2d6045f120a316de451bbb6351a6929546b8470ddf2e4b3b9","impliedFormat":99},{"version":"aa2cb4053f948fbd606228195bbe44d78733861b6f7204558bbee603202ee440","impliedFormat":99},{"version":"6911b41bfe9942ac59c2da1bbcbe5c3c1f4e510bf65cae89ed00f434cc588860","impliedFormat":99},{"version":"7b81bc4d4e2c764e85d869a8dd9fe3652b34b45c065482ac94ffaacc642b2507","impliedFormat":99},{"version":"895df4edb46ccdcbce2ec982f5eed292cf7ea3f7168f1efea738ee346feab273","impliedFormat":99},{"version":"8692bb1a4799eda7b2e3288a6646519d4cebb9a0bddf800085fc1bd8076997a0","impliedFormat":99},{"version":"239c9e98547fe99711b01a0293f8a1a776fc10330094aa261f3970aaba957c82","impliedFormat":99},{"version":"34833ec50360a32efdc12780ae624e9a710dd1fd7013b58c540abf856b54285a","impliedFormat":99},{"version":"647538e4007dcc351a8882067310a0835b5bb8559d1cfa5f378e929bceb2e64d","impliedFormat":99},{"version":"992d6b1abcc9b6092e5a574d51d441238566b6461ade5de53cb9718e4f27da46","impliedFormat":99},{"version":"938702305649bf1050bd79f3803cf5cc2904596fc1edd4e3b91033184eae5c54","impliedFormat":99},{"version":"1e931d3c367d4b96fe043e792196d9c2cf74f672ff9c0b894be54e000280a79d","impliedFormat":99},{"version":"05bec322ea9f6eb9efcd6458bb47087e55bd688afdd232b78379eb5d526816ed","impliedFormat":99},{"version":"4c449a874c2d2e5e5bc508e6aa98f3140218e78c585597a21a508a647acd780a","impliedFormat":99},{"version":"dae15e326140a633d7693e92b1af63274f7295ea94fb7c322d5cbe3f5e48be88","impliedFormat":99},{"version":"c2b0a869713bca307e58d81d1d1f4b99ebfc7ec8b8f17e80dde40739aa8a2bc6","impliedFormat":99},{"version":"6e4b4ff6c7c54fa9c6022e88f2f3e675eac3c6923143eb8b9139150f09074049","impliedFormat":99},{"version":"69559172a9a97bbe34a32bff8c24ef1d8c8063feb5f16a6d3407833b7ee504cf","impliedFormat":99},{"version":"86b94a2a3edcb78d9bfcdb3b382547d47cb017e71abe770c9ee8721e9c84857f","impliedFormat":99},{"version":"e3fafafda82853c45c0afc075fea1eaf0df373a06daf6e6c7f382f9f61b2deb3","impliedFormat":99},{"version":"a4ba4b31de9e9140bc49c0addddbfaf96b943a7956a46d45f894822e12bf5560","impliedFormat":99},{"version":"d8a7926fc75f2ed887f17bae732ee31a4064b8a95a406c87e430c58578ee1f67","impliedFormat":99},{"version":"9886ffbb134b0a0059fd82219eba2a75f8af341d98bc6331b6ef8a921e10ec68","impliedFormat":99},{"version":"c2ead057b70d0ae7b87a771461a6222ebdb187ba6f300c974768b0ae5966d10e","impliedFormat":99},{"version":"46687d985aed8485ab2c71085f82fafb11e69e82e8552cf5d3849c00e64a00a5","impliedFormat":99},{"version":"999ca66d4b5e2790b656e0a7ce42267737577fc7a52b891e97644ec418eff7ec","impliedFormat":99},{"version":"ec948ee7e92d0888f92d4a490fdd0afb27fbf6d7aabebe2347a3e8ac82c36db9","impliedFormat":99},{"version":"03ef2386c683707ce741a1c30cb126e8c51a908aa0acc01c3471fafb9baaacd5","impliedFormat":99},{"version":"66a372e03c41d2d5e920df5282dadcec2acae4c629cb51cab850825d2a144cea","impliedFormat":99},{"version":"ddf9b157bd4c06c2e4646c9f034f36267a0fbd028bd4738214709de7ea7c548b","impliedFormat":99},{"version":"3e795aac9be23d4ad9781c00b153e7603be580602e40e5228e2dafe8a8e3aba1","impliedFormat":99},{"version":"98c461ec5953dfb1b5d5bca5fee0833c8a932383b9e651ca6548e55f1e2c71c3","impliedFormat":99},{"version":"5c42107b46cb1d36b6f1dee268df125e930b81f9b47b5fa0b7a5f2a42d556c10","impliedFormat":99},{"version":"7e32f1251d1e986e9dd98b6ff25f62c06445301b94aeebdf1f4296dbd2b8652f","impliedFormat":99},{"version":"2f7e328dda700dcb2b72db0f58c652ae926913de27391bd11505fc5e9aae6c33","impliedFormat":99},{"version":"3de7190e4d37da0c316db53a8a60096dbcd06d1a50677ccf11d182fa26882080","impliedFormat":99},{"version":"a9d6f87e59b32b02c861aade3f4477d7277c30d43939462b93f48644fa548c58","impliedFormat":99},{"version":"2bce8fd2d16a9432110bbe0ba1e663fd02f7d8b8968cd10178ea7bc306c4a5df","impliedFormat":99},{"version":"798bedbf45a8f1e55594e6879cd46023e8767757ecce1d3feaa78d16ad728703","impliedFormat":99},{"version":"62723d5ac66f7ed6885a3931dd5cfa017797e73000d590492988a944832e8bc2","impliedFormat":99},{"version":"03db8e7df7514bf17fc729c87fff56ca99567b9aa50821f544587a666537c233","impliedFormat":99},{"version":"9b1f311ba4409968b68bf20b5d892dbd3c5b1d65c673d5841c7dbde351bc0d0b","impliedFormat":99},{"version":"2d1e8b5431502739fe335ceec0aaded030b0f918e758a5d76f61effa0965b189","impliedFormat":99},{"version":"e725839b8f884dab141b42e9d7ff5659212f6e1d7b4054caa23bc719a4629071","impliedFormat":99},{"version":"4fa38a0b8ae02507f966675d0a7d230ed67c92ab8b5736d99a16c5fbe2b42036","impliedFormat":99},{"version":"50ec1e8c23bad160ddedf8debeebc722becbddda127b8fdce06c23eacd3fe689","impliedFormat":99},{"version":"9a0aea3a113064fd607f41375ade308c035911d3c8af5ae9db89593b5ca9f1f9","impliedFormat":99},{"version":"8d643903b58a0bf739ce4e6a8b0e5fb3fbdfaacbae50581b90803934b27d5b89","impliedFormat":99},{"version":"19de2915ccebc0a1482c2337b34cb178d446def2493bf775c4018a4ea355adb8","impliedFormat":99},{"version":"9be8fc03c8b5392cd17d40fd61063d73f08d0ee3457ecf075dcb3768ae1427bd","impliedFormat":99},{"version":"a2d89a8dc5a993514ca79585039eea083a56822b1d9b9d9d85b14232e4782cbe","impliedFormat":99},{"version":"f526f20cae73f17e8f38905de4c3765287575c9c4d9ecacee41cfda8c887da5b","impliedFormat":99},{"version":"d9ec0978b7023612b9b83a71fee8972e290d02f8ff894e95cdd732cd0213b070","impliedFormat":99},{"version":"7ab10c473a058ec8ac4790b05cae6f3a86c56be9b0c0a897771d428a2a48a9f9","impliedFormat":99},{"version":"451d7a93f8249d2e1453b495b13805e58f47784ef2131061821b0e456a9fd0e1","impliedFormat":99},{"version":"21c56fe515d227ed4943f275a8b242d884046001722a4ba81f342a08dbe74ae2","impliedFormat":99},{"version":"d8311f0c39381aa1825081c921efde36e618c5cf46258c351633342a11601208","impliedFormat":99},{"version":"6b50c3bcc92dc417047740810596fcb2df2502aa3f280c9e7827e87896da168a","impliedFormat":99},{"version":"18a6b318d1e7b31e5749a52be0cf9bbce1b275f63190ef32e2c79db0579328ca","impliedFormat":99},{"version":"6a2d0af2c27b993aa85414f3759898502aa198301bc58b0d410948fe908b07b0","impliedFormat":99},{"version":"2da11b6f5c374300e5e66a6b01c3c78ec21b5d3fec0748a28cc28e00be73e006","impliedFormat":99},{"version":"0729691b39c24d222f0b854776b00530877217bfc30aac1dc7fa2f4b1795c536","impliedFormat":99},{"version":"ca45bb5c98c474d669f0e47615e4a5ae65d90a2e78531fda7862ee43e687a059","impliedFormat":99},{"version":"c1c058b91d5b9a24c95a51aea814b0ad4185f411c38ac1d5eef0bf3cebec17dc","impliedFormat":99},{"version":"3ab0ed4060b8e5b5e594138aab3e7f0262d68ad671d6678bcda51568d4fc4ccc","impliedFormat":99},{"version":"e2bf1faba4ff10a6020c41df276411f641d3fdce5c6bae1db0ec84a0bf042106","impliedFormat":99},{"version":"80b0a8fe14d47a71e23d7c3d4dcee9584d4282ef1d843b70cab1a42a4ea1588c","impliedFormat":99},{"version":"a0f02a73f6e3de48168d14abe33bf5970fdacdb52d7c574e908e75ad571e78f7","impliedFormat":99},{"version":"c728002a759d8ec6bccb10eed56184e86aeff0a762c1555b62b5d0fa9d1f7d64","impliedFormat":99},{"version":"586f94e07a295f3d02f847f9e0e47dbf14c16e04ccc172b011b3f4774a28aaea","impliedFormat":99},{"version":"cfe1a0f4ed2df36a2c65ea6bc235dbb8cf6e6c25feb6629989f1fa51210b32e7","impliedFormat":99},{"version":"8ba69c9bf6de79c177329451ffde48ddab7ec495410b86972ded226552f664df","impliedFormat":99},{"version":"15111cbe020f8802ad1d150524f974a5251f53d2fe10eb55675f9df1e82dbb62","impliedFormat":99},{"version":"782dc153c56a99c9ed07b2f6f497d8ad2747764966876dbfef32f3e27ce11421","impliedFormat":99},{"version":"cc2db30c3d8bb7feb53a9c9ff9b0b859dd5e04c83d678680930b5594b2bf99cb","impliedFormat":99},{"version":"46909b8c85a6fd52e0807d18045da0991e3bdc7373435794a6ba425bc23cc6be","impliedFormat":99},{"version":"e4e511ff63bb6bd69a2a51e472c6044298bca2c27835a34a20827bc3ef9b7d13","impliedFormat":99},{"version":"2c86f279d7db3c024de0f21cd9c8c2c972972f842357016bfbbd86955723b223","impliedFormat":99},{"version":"112c895cff9554cf754f928477c7d58a21191c8089bffbf6905c87fe2dc6054f","impliedFormat":99},{"version":"8cfc293b33082003cacbf7856b8b5e2d6dd3bde46abbd575b0c935dc83af4844","impliedFormat":99},{"version":"d2c5c53f85ce0474b3a876d76c4fc44ff7bb766b14ed1bf495f9abac181d7f5f","impliedFormat":99},{"version":"3c523f27926905fcbe20b8301a0cc2da317f3f9aea2273f8fc8d9ae88b524819","impliedFormat":99},{"version":"9ca0d706f6b039cc52552323aeccb4db72e600b67ddc7a54cebc095fc6f35539","impliedFormat":99},{"version":"a64909a9f75081342ddd061f8c6b49decf0d28051bc78e698d347bdcb9746577","impliedFormat":99},{"version":"7d8d55ae58766d0d52033eae73084c4db6a93c4630a3e17f419dd8a0b2a4dcd8","impliedFormat":99},{"version":"b8b5c8ba972d9ffff313b3c8a3321e7c14523fc58173862187e8d1cb814168ac","impliedFormat":99},{"version":"9c42c0fa76ee36cf9cc7cc34b1389fbb4bd49033ec124b93674ec635fabf7ffe","impliedFormat":99},{"version":"6184c8da9d8107e3e67c0b99dedb5d2dfe5ccf6dfea55c2a71d4037caf8ca196","impliedFormat":99},{"version":"4030ceea7bf41449c1b86478b786e3b7eadd13dfe5a4f8f5fe2eb359260e08b3","impliedFormat":99},{"version":"7bf516ec5dfc60e97a5bde32a6b73d772bd9de24a2e0ec91d83138d39ac83d04","impliedFormat":99},{"version":"e6a6fb3e6525f84edf42ba92e261240d4efead3093aca3d6eb1799d5942ba393","impliedFormat":99},{"version":"45df74648934f97d26800262e9b2af2f77ef7191d4a5c2eb1df0062f55e77891","impliedFormat":99},{"version":"3fe361e4e567f32a53af1f2c67ad62d958e3d264e974b0a8763d174102fe3b29","impliedFormat":99},{"version":"28b520acee4bc6911bfe458d1ad3ebc455fa23678463f59946ad97a327c9ab2b","impliedFormat":99},{"version":"121b39b1a9ad5d23ed1076b0db2fe326025150ef476dccb8bf87778fcc4f6dd7","impliedFormat":99},{"version":"f791f92a060b52aa043dde44eb60307938f18d4c7ac13df1b52c82a1e658953f","impliedFormat":99},{"version":"df09443e7743fd6adc7eb108e760084bacdf5914403b7aac5fbd4dc4e24e0c2c","impliedFormat":99},{"version":"eeb4ff4aa06956083eaa2aad59070361c20254b865d986bc997ee345dbd44cbb","impliedFormat":99},{"version":"ed84d5043444d51e1e5908f664addc4472c227b9da8401f13daa565f23624b6e","impliedFormat":99},{"version":"146bf888b703d8baa825f3f2fb1b7b31bda5dff803e15973d9636cdda33f4af3","impliedFormat":99},{"version":"b4ec8b7a8d23bdf7e1c31e43e5beac3209deb7571d2ccf2a9572865bf242da7c","impliedFormat":99},{"version":"3fba0d61d172091638e56fba651aa1f8a8500aac02147d29bd5a9cc0bc8f9ec2","impliedFormat":99},{"version":"a5a57deb0351b03041e0a1448d3a0cc5558c48e0ed9b79b69c99163cdca64ad8","impliedFormat":99},{"version":"9bcecf0cbc2bfc17e33199864c19549905309a0f9ecc37871146107aac6e05ae","impliedFormat":99},{"version":"d6a211db4b4a821e93c978add57e484f2a003142a6aef9dbfa1fe990c66f337b","impliedFormat":99},{"version":"bd4d10bd44ce3f630dd9ce44f102422cb2814ead5711955aa537a52c8d2cae14","impliedFormat":99},{"version":"08e4c39ab1e52eea1e528ee597170480405716bae92ebe7a7c529f490afff1e0","impliedFormat":99},{"version":"625bb2bc3867557ea7912bd4581288a9fca4f3423b8dffa1d9ed57fafc8610e3","impliedFormat":99},{"version":"d1992164ecc334257e0bef56b1fd7e3e1cea649c70c64ffc39999bb480c0ecdf","impliedFormat":99},{"version":"a53ff2c4037481eb357e33b85e0d78e8236e285b6428b93aa286ceea1db2f5dc","impliedFormat":99},{"version":"4fe608d524954b6857d78857efce623852fcb0c155f010710656f9db86e973a5","impliedFormat":99},{"version":"b53b62a9838d3f57b70cc456093662302abb9962e5555f5def046172a4fe0d4e","impliedFormat":99},{"version":"9866369eb72b6e77be2a92589c9df9be1232a1a66e96736170819e8a1297b61f","impliedFormat":99},{"version":"43abfbdf4e297868d780b8f4cfdd8b781b90ecd9f588b05e845192146a86df34","impliedFormat":99},{"version":"582419791241fb851403ae4a08d0712a63d4c94787524a7419c2bc8e0eb1b031","impliedFormat":99},{"version":"18437eeb932fe48590b15f404090db0ab3b32d58f831d5ffc157f63b04885ee5","impliedFormat":99},{"version":"0c5eaedf622d7a8150f5c2ec1f79ac3d51eea1966b0b3e61bfdea35e8ca213a7","impliedFormat":99},{"version":"fac39fc7a9367c0246de3543a6ee866a0cf2e4c3a8f64641461c9f2dac0d8aae","impliedFormat":99},{"version":"3b9f559d0200134f3c196168630997caedeadc6733523c8b6076a09615d5dec8","impliedFormat":99},{"version":"932af64286d9723da5ef7b77a0c4229829ce8e085e6bcc5f874cb0b83e8310d4","impliedFormat":99},{"version":"adeb9278f11f5561157feee565171c72fd48f5fe34ed06f71abf24e561fcaa1e","impliedFormat":99},{"version":"2269fef79b4900fc6b08c840260622ca33524771ff24fda5b9101ad98ea551f3","impliedFormat":99},{"version":"73d47498a1b73d5392d40fb42a3e7b009ae900c8423f4088c4faa663cc508886","impliedFormat":99},{"version":"7efc34cdc4da0968c3ba687bc780d5cacde561915577d8d1c1e46c7ac931d023","impliedFormat":99},{"version":"3c20a3bb0c50c819419f44aa55acc58476dad4754a16884cef06012d02b0722f","impliedFormat":99},{"version":"4569abf6bc7d51a455503670f3f1c0e9b4f8632a3b030e0794c61bfbba2d13be","impliedFormat":99},{"version":"98b2297b4dc1404078a54b61758d8643e4c1d7830af724f3ed2445d77a7a2d57","impliedFormat":99},{"version":"952ba89d75f1b589e07070fea2d8174332e3028752e76fd46e1c16cc51e6e2af","impliedFormat":99},{"version":"b6c9a2deefb6a57ff68d2a38d33c34407b9939487fc9ee9f32ba3ecf2987a88a","impliedFormat":99},{"version":"f6b371377bab3018dac2bca63e27502ecbd5d06f708ad7e312658d3b5315d948","impliedFormat":99},{"version":"31947dd8f1c8eeb7841e1f139a493a73bd520f90e59a6415375d0d8e6a031f01","impliedFormat":99},{"version":"95cd83b807e10b1af408e62caf5fea98562221e8ddca9d7ccc053d482283ddda","impliedFormat":99},{"version":"19287d6b76288c2814f1633bdd68d2b76748757ffd355e73e41151644e4773d6","impliedFormat":99},{"version":"fc4e6ec7dade5f9d422b153c5d8f6ad074bd9cc4e280415b7dc58fb5c52b5df1","impliedFormat":99},{"version":"3aea973106e1184db82d8880f0ca134388b6cbc420f7309d1c8947b842886349","impliedFormat":99},{"version":"765e278c464923da94dda7c2b281ece92f58981642421ae097862effe2bd30fa","impliedFormat":99},{"version":"de260bed7f7d25593f59e859bd7c7f8c6e6bb87e8686a0fcafa3774cb5ca02d8","impliedFormat":99},{"version":"b5c341ce978f5777fbe05bc86f65e9906a492fa6b327bda3c6aae900c22e76c6","impliedFormat":99},{"version":"686ddbfaf88f06b02c6324005042f85317187866ca0f8f4c9584dd9479653344","impliedFormat":99},{"version":"7f789c0c1db29dd3aab6e159d1ba82894a046bf8df595ac48385931ae6ad83e0","impliedFormat":99},{"version":"8eb3057d4fe9b59b2492921b73a795a2455ebe94ccb3d01027a7866612ead137","impliedFormat":99},{"version":"1e43c5d7aee1c5ec20611e28b5417f5840c75d048de9d7f1800d6808499236f8","impliedFormat":99},{"version":"d42610a5a2bee4b71769968a24878885c9910cd049569daa2d2ee94208b3a7a5","impliedFormat":99},{"version":"f6ed95506a6ed2d40ed5425747529befaa4c35fcbbc1e0d793813f6d725690fa","impliedFormat":99},{"version":"a6fcc1cd6583939506c906dff1276e7ebdc38fbe12d3e108ba38ad231bd18d97","impliedFormat":99},{"version":"ed13354f0d96fb6d5878655b1fead51722b54875e91d5e53ef16de5b71a0e278","impliedFormat":99},{"version":"1193b4872c1fb65769d8b164ca48124c7ebacc33eae03abf52087c2b29e8c46c","impliedFormat":99},{"version":"af682dfabe85688289b420d939020a10eb61f0120e393d53c127f1968b3e9f66","impliedFormat":99},{"version":"0dca04006bf13f72240c6a6a502df9c0b49c41c3cab2be75e81e9b592dcd4ea8","impliedFormat":99},{"version":"79d6ac4a2a229047259116688f9cd62fda25422dee3ad304f77d7e9af53a41ef","impliedFormat":99},{"version":"64534c17173990dc4c3d9388d16675a059aac407031cfce8f7fdffa4ee2de988","impliedFormat":99},{"version":"ba46d160a192639f3ca9e5b640b870b1263f24ac77b6895ab42960937b42dcbb","impliedFormat":99},{"version":"5e5ddd6fc5b590190dde881974ab969455e7fad61012e32423415ae3d085b037","impliedFormat":99},{"version":"1c16fd00c42b60b96fe0fa62113a953af58ddf0d93b0a49cb4919cf5644616f0","impliedFormat":99},{"version":"eb240c0e6b412c57f7d9a9f1c6cd933642a929837c807b179a818f6e8d3a4e44","impliedFormat":99},{"version":"4a7bde5a1155107fc7d9483b8830099f1a6072b6afda5b78d91eb5d6549b3956","impliedFormat":99},{"version":"3c1baaffa9a24cc7ef9eea6b64742394498e0616b127ca630aca0e11e3298006","impliedFormat":99},{"version":"87ca1c31a326c898fa3feb99ec10750d775e1c84dbb7c4b37252bcf3742c7b21","impliedFormat":99},{"version":"d7bd26af1f5457f037225602035c2d7e876b80d02663ab4ca644099ad3a55888","impliedFormat":99},{"version":"2ad0a6b93e84a56b64f92f36a07de7ebcb910822f9a72ad22df5f5d642aff6f3","impliedFormat":99},{"version":"523d1775135260f53f672264937ee0f3dc42a92a39de8bee6c48c7ea60b50b5a","impliedFormat":99},{"version":"e441b9eebbc1284e5d995d99b53ed520b76a87cab512286651c4612d86cd408e","impliedFormat":99},{"version":"76f853ee21425c339a79d28e0859d74f2e53dee2e4919edafff6883dd7b7a80f","impliedFormat":99},{"version":"00cf042cd6ba1915648c8d6d2aa00e63bbbc300ea54d28ed087185f0f662e080","impliedFormat":99},{"version":"f57e6707d035ab89a03797d34faef37deefd3dd90aa17d90de2f33dce46a2c56","impliedFormat":99},{"version":"cc8b559b2cf9380ca72922c64576a43f000275c72042b2af2415ce0fb88d7077","impliedFormat":99},{"version":"1a337ca294c428ba8f2eb01e887b28d080ee4a4307ae87e02e468b1d26af4a74","impliedFormat":99},{"version":"5a15362fc2e72765a908c0d4dd89e3ab3b763e8bc8c23f19234a709ecfd202fe","impliedFormat":99},{"version":"2dffdfe62ac8af0943853234519616db6fd8958fc7ff631149fd8364e663f361","impliedFormat":99},{"version":"5dbdb2b2229b5547d8177c34705272da5a10b8d0033c49efbc9f6efba5e617f2","impliedFormat":99},{"version":"6fc0498cd8823d139004baff830343c9a0d210c687b2402c1384fb40f0aa461c","impliedFormat":99},{"version":"8492306a4864a1dc6fc7e0cc0de0ae9279cbd37f3aae3e9dc1065afcdc83dddc","impliedFormat":99},{"version":"c011b378127497d6337a93f020a05f726db2c30d55dc56d20e6a5090f05919a6","impliedFormat":99},{"version":"f4556979e95a274687ae206bbab2bb9a71c3ad923b92df241d9ab88c184b3f40","impliedFormat":99},{"version":"50e82bb6e238db008b5beba16d733b77e8b2a933c9152d1019cf8096845171a4","impliedFormat":99},{"version":"d6011f8b8bbf5163ef1e73588e64a53e8bf1f13533c375ec53e631aad95f1375","impliedFormat":99},{"version":"693cd7936ac7acfa026d4bcb5801fce71cec49835ba45c67af1ef90dbfd30af7","impliedFormat":99},{"version":"195e2cf684ecddfc1f6420564535d7c469f9611ce7a380d6e191811f84556cd2","impliedFormat":99},{"version":"1dc6b6e7b2a7f2962f31c77f4713f3a5a132bbe14c00db75d557568fe82e4311","impliedFormat":99},{"version":"add93b1180e9aaac2dae4ef3b16f7655893e2ecbe62bd9e48366c305f0063d89","impliedFormat":99},{"version":"594bd896fe37c970aafb7a376ebeec4c0d636b62a5f611e2e27d30fb839ad8a5","impliedFormat":99},{"version":"b1c6a6faf60542ba4b4271db045d7faea56e143b326ef507d2797815250f3afc","impliedFormat":99},{"version":"8c8b165beb794260f462679329b131419e9f5f35212de11c4d53e6d4d9cbedf6","impliedFormat":99},{"version":"ee5a4cf57d49fcf977249ab73c690a59995997c4672bb73fcaaf2eed65dbd1b2","impliedFormat":99},{"version":"f9f36051f138ab1c40b76b230c2a12b3ce6e1271179f4508da06a959f8bee4c1","impliedFormat":99},{"version":"9dc2011a3573d271a45c12656326530c0930f92539accbec3531d65131a14a14","impliedFormat":99},{"version":"091521ce3ede6747f784ae6f68ad2ea86bbda76b59d2bf678bcad2f9d141f629","impliedFormat":99},{"version":"202c2be951f53bafe943fb2c8d1245e35ed0e4dfed89f48c9a948e4d186dd6d4","impliedFormat":99},{"version":"c618aead1d799dbf4f5b28df5a6b9ce13d72722000a0ec3fe90a8115b1ea9226","impliedFormat":99},{"version":"9b0bf59708549c3e77fddd36530b95b55419414f88bbe5893f7bc8b534617973","impliedFormat":99},{"version":"7e216f67c4886f1bde564fb4eebdd6b185f262fe85ad1d6128cad9b229b10354","impliedFormat":99},{"version":"cd51e60b96b4d43698df74a665aa7a16604488193de86aa60ec0c44d9f114951","impliedFormat":99},{"version":"b63341fb6c7ba6f2aeabd9fc46b43e6cc2d2b9eec06534cfd583d9709f310ec2","impliedFormat":99},{"version":"be2af50c81b15bcfe54ad60f53eb1c72dae681c72d0a9dce1967825e1b5830a3","impliedFormat":99},{"version":"be5366845dfb9726f05005331b9b9645f237f1ddc594c0def851208e8b7d297b","impliedFormat":99},{"version":"5ddd536aaeadd4bf0f020492b3788ed209a7050ce27abec4e01c7563ff65da81","impliedFormat":99},{"version":"e243b24da119c1ef0d79af2a45217e50682b139cb48e7607efd66cc01bd9dcda","impliedFormat":99},{"version":"5b1398c8257fd180d0bf62e999fe0a89751c641e87089a83b24392efda720476","impliedFormat":99},{"version":"1588b1359f8507a16dbef67cd2759965fc2e8d305e5b3eb71be5aa9506277dff","impliedFormat":99},{"version":"4c99f2524eee1ec81356e2b4f67047a4b7efaf145f1c4eb530cd358c36784423","impliedFormat":99},{"version":"b30c6b9f6f30c35d6ef84daed1c3781e367f4360171b90598c02468b0db2fc3d","impliedFormat":99},{"version":"79c0d32274ccfd45fae74ac61d17a2be27aea74c70806d22c43fc625b7e9f12a","impliedFormat":99},{"version":"1b7e3958f668063c9d24ac75279f3e610755b0f49b1c02bb3b1c232deb958f54","impliedFormat":99},{"version":"779d4022c3d0a4df070f94858a33d9ebf54af3664754536c4ce9fd37c6f4a8db","impliedFormat":99},{"version":"e662f063d46aa8c088edffdf1d96cb13d9a2cbf06bc38dc6fc62b4d125fb7b49","impliedFormat":99},{"version":"d1d612df1e41c90d9678b07740d13d4f8e6acec2f17390d4ff4be5c889a6d37d","impliedFormat":99},{"version":"c95933fe140918892d569186f17b70ef6b1162f851a0f13f6a89e8f4d599c5a1","impliedFormat":99},{"version":"1d8d30677f87c13c2786980a80750ac1e281bdb65aa013ea193766fe9f0edd74","impliedFormat":99},{"version":"4661673cbc984b8a6ee5e14875a71ed529b64e7f8e347e12c0db4cecc25ad67d","impliedFormat":99},{"version":"7f980a414274f0f23658baa9a16e21d828535f9eac538e2eab2bb965325841db","impliedFormat":99},{"version":"20fb747a339d3c1d4a032a31881d0c65695f8167575e01f222df98791a65da9b","impliedFormat":99},{"version":"dd4e7ebd3f205a11becf1157422f98db675a626243d2fbd123b8b93efe5fb505","impliedFormat":99},{"version":"43ec6b74c8d31e88bb6947bb256ad78e5c6c435cbbbad991c3ff39315b1a3dba","impliedFormat":99},{"version":"b27242dd3af2a5548d0c7231db7da63d6373636d6c4e72d9b616adaa2acef7e1","impliedFormat":99},{"version":"e0ee7ba0571b83c53a3d6ec761cf391e7128d8f8f590f8832c28661b73c21b68","impliedFormat":99},{"version":"072bfd97fc61c894ef260723f43a416d49ebd8b703696f647c8322671c598873","impliedFormat":99},{"version":"e70875232f5d5528f1650dd6f5c94a5bed344ecf04bdbb998f7f78a3c1317d02","impliedFormat":99},{"version":"8e495129cb6cd8008de6f4ff8ce34fe1302a9e0dcff8d13714bd5593be3f7898","impliedFormat":99},{"version":"192db023799edb1b012458cee150ae0dd33675a7359d1d878ccd2522a736a343","impliedFormat":99},{"version":"9091b1d4b73ba7b9ee0ac0e62879e50fa76303473b8407ccf80a9ede2f16cba9","impliedFormat":99},{"version":"1dc28867627f66bdf42018dbf2775079ae9c0d546fc35944639f0c150e279743","impliedFormat":99},{"version":"c8856d84b990d98d34ca5ed5789a89ade507a248e08395100f2aa8f067c29fa2","impliedFormat":99},{"version":"6620537f707f42add26c5f47056cf82eaa587f12faaa364bf078fcbc0200ef6f","impliedFormat":99},{"version":"74e8b44b0f188dbe70f147b5fb899d3c8418b2f211ba2ba383798062961cb720","impliedFormat":99},{"version":"dcbed4422ffc65273eacc59c602cf3e59ce052ad9810cf73e9bc5fbad3381f94","impliedFormat":99},{"version":"7b7a2a15cc92749b88fe8f255f7631e3c65de932c0f3d1e96d87b1a992ed6471","impliedFormat":99},{"version":"6f69c10b1f3f0ac3157f88719a16edd13d718b2c2aa44d59a9483e04b05e113d","impliedFormat":1},{"version":"868f16a33ccfa800b82bd0975bc9fe7a4a3aa0d747873e2f7e5886c32665ad6d","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"e749bbd37dadf82c9833278780527c717226e1e2c9bc7b2576c8ec1c40ec5647","impliedFormat":1},{"version":"06814968f2b43b988057a3c8b131e7b3be765e74ff0f1153d23045ad1d7f0886","impliedFormat":99},{"version":"2e5741105f94b1743b387d2d6c4d4f0429d560291aaf7217e2dbc8d540c0a321","impliedFormat":99},{"version":"2e5c41e56098ae93bc42a15473acb1a176f28b2ba95c38f3c67820434acd85b6","impliedFormat":1},{"version":"b99c4ff8d11110b9699edc4e5c3bb304360a70ca47e4f9851fc42ad0b663ba83","affectsGlobalScope":true,"impliedFormat":1},{"version":"ba340fc8e5b0f08d90c6ef8552b8ce7bb5dc8e18d47b57f90dee105bc77d0d9e","affectsGlobalScope":true,"impliedFormat":1},{"version":"0f263eeea7877199808b1bc220df95b25a72695ec214eb96d740d4b06c7cc868","impliedFormat":1},{"version":"a31f62f1cfa12a838e798814f56cd5e53d6b1cd91acd6a2f62a81ded0c02590b","impliedFormat":99},{"version":"e9e22144b696e9efaecd8be1a363253e62a3a22a5f369fdc5b4dbdf70c33775b","impliedFormat":99},{"version":"2f7d8f9babcf77d58bc93664428ec8c29365c40514625e536dcf91180a0564bf","impliedFormat":99},{"version":"20b27cd029eb327457370983012ec5e5df46685fbddef5817eec0e201581573e","impliedFormat":99},{"version":"6c9cf9719786dca332b6f2b5a6393c2631a18c630e7bb90dc1cf65a03f919c73","impliedFormat":99},{"version":"5ed723815432a740881a4c529cdda221d7f1b381937750cf6c60403657be37c7","impliedFormat":99},{"version":"020419d11b839bdd41c61619920a1bc9fde7a782fdbd2df6924d6ba6422b6256","impliedFormat":99},{"version":"27220a7135f3d3652928e734309de6f748e61c6e07b4fa2c6e27b907a132e39a","impliedFormat":99},{"version":"dc96877c215cabb1311644d14c8e9e6fd08eebdddaf6a90221187cf9d7c02337","impliedFormat":99},{"version":"c9a7afc660b2b029fa3a9268c78bbf47226fd232a3c7b0d00c726ef9e2e69817","impliedFormat":99},{"version":"3858041552bc3e1f28a6c14f2f0d7fd86c041b71830f2fbdc724f8ef03bf0587","impliedFormat":99},{"version":"0d420df443c76c8314d3012a3907ecee1ba07900053825d1177432c4ab8e0d76","impliedFormat":99},{"version":"7c3e1a21e812eea99aa86d26d80d6a35560bbb1b362f89c2b8a66680750a1898","impliedFormat":99},{"version":"e0b1a941d9fda4ad0283d8c1240cf89e6bd13182453be8eaebf61f27c99d274f","impliedFormat":99},{"version":"5a84ebd4f47e1e673211884affaed21053107435ddbcb2c8e6ce1a039ca9fb3f","impliedFormat":99},{"version":"fc7fc70cae59b4c5a5cd3a84ffa7fd312b068f71b5a38a8779e35c754abb7912","impliedFormat":99},{"version":"39698e3bd5691d0d1f8b69785178f5340c738c8bb8675d29acd0f0fe1f1f9046","impliedFormat":99},{"version":"60f113cf1674b19522e11d2ef2a02eb517ca84af06ce4aff4e76fd55e4345571","impliedFormat":99},{"version":"1617515d7ce57089a49b59eaf84d019e5591a6dfef16b5cdb7a9a38f4bca32bc","impliedFormat":99},{"version":"575424818bdf7ecfd8cd9a303a55650e8999730a14756ca20484fb5b9c071645","impliedFormat":99},{"version":"9b87a81ba35d2010ecb3644fc5b31df0c276c6354b28701d7a5809cfeadcdba6","impliedFormat":99},{"version":"8be0cd7dc19d53fe5a4ac3a6ad1b9553d5f4e3931eefffbfb57cb1fe7bcf631d","impliedFormat":99},{"version":"4d7d2d7f20baa8eabba748d6742d7d372aa62b65e82a2603f27d73f318f6e0e9","impliedFormat":99},{"version":"4185c0eb52309769527913a8842e8f423a78ae04d8a69f7791849bd0d5f8460d","impliedFormat":99},{"version":"a4cc16e27586c939f86745fdcc3bb818aa724889a8ffb6d00468778e40ff44de","impliedFormat":99},{"version":"6514508737ddcd89c7a5d876cba5c4eeb289d778bf57d4cb3d41ba36fcfd2c02","impliedFormat":99},{"version":"093f90d5e17557c807b6e76256ccd67060f9143e8f7ce994ac76788a1e87aa92","impliedFormat":99},{"version":"7c0d706f4529bf287e4a560cc5cadbc5fa11291f450541feb194744f0453dd24","impliedFormat":99},{"version":"2d089998f9a228be5baab523d75b1912b31c7280f00d8a88898cb028646b5cd1","impliedFormat":99},{"version":"2be319181c49fb501663ed3d09e50ec6f5f877d584117cbca558f9a51b2978c7","impliedFormat":99},{"version":"392eca4da34bd630c360736b9537ec3c3d77006687f415f66a54d03843169eec","impliedFormat":99},{"version":"cd7fab58f8902c8dcc52b8ed360caaa6b0b8ac107eac91641eb91533512d9cce","impliedFormat":99},{"version":"1b14258578fbacb5905cc302ec81ebb0bd8c786e33bee2108ed381d122da1039","impliedFormat":99},{"version":"fe21d99a203a9f2a170c52875cadbd40fafa6c7e8d3bacf19df19d82cfe60860","impliedFormat":99},{"version":"c40b5f40ad781342ba9e8992ab1df9642f6391313d779a167326d4e45b766dcc","impliedFormat":99},{"version":"f1aec9f26eae8fa039636ba26b19eabe54e442e770848b186562ac88665ef791","impliedFormat":99},{"version":"2f8051cfa22e5a15ae9be6dfe4d5184b32275e92265b04a11c035ca39f0be470","impliedFormat":99},{"version":"4ff469e42e0007139d4c18ac6f31a20955c42c824bd2e290938e17bc816c9427","impliedFormat":99},{"version":"2960a783ca4b5aadf5070ebb1c66cda79b5dfccb4397a070a438bc233b3580a1","impliedFormat":99},{"version":"7c7c116666be0bbc96aca681b9bb4d9afb8c417e6dc3e278ce2c38ad2e36a8e4","impliedFormat":99},{"version":"7afc6c01b90425a4d51508f4ed34be5ffa41f48cf47e396a5ac97f4fa276310f","impliedFormat":99},{"version":"0ea87fbb717c95c9659a0908d3db9d7e09729db35ec0be4fc87f6403d73ee601","impliedFormat":99},{"version":"9ecec578fc9353ec166dabe88b0444483b6c6370016b044651380ec6d45fb2aa","impliedFormat":99},{"version":"f58d04b4d4930fc8dc9045d1e70cd2a04bf512a7493b5af18733846568b7e8cf","impliedFormat":99},{"version":"fda4de01fb822dbb05d76f200a5810f75941c138608281c95c181276172eef33","impliedFormat":99},{"version":"bf7a5d6ebd9f63d59b099f653c3bf3af4f66b46da453ed7db9025c3d73e91471","impliedFormat":99},{"version":"5fd1af014582e6e8e4a43259c934026a4c8c0cad9f69b28df6b69b21785cdb08","impliedFormat":99},{"version":"e43dc8ecc36f0452b708dfcac8c615eb848015d5e91ce2f02109638094b6c99d","impliedFormat":99},{"version":"43d6f4441d9337dfc1c59cc8214a1f82cdd5e2736b175c3aba5146bbf29d2b47","impliedFormat":99},{"version":"3fd6b145df6b932f9a189947cf2a4655ca6cf10a5052a4968ac62698829d210c","impliedFormat":99},{"version":"d4df8c284d02f2e3ac24bb2aaee71289b80d3cb5950d61c8af9b0c3121b8f1ba","impliedFormat":99},{"version":"dcb2a7e17276b7e0eba5f614c89f77b4dbe98092e3d7fdfbd97fddd61d5b9f8c","impliedFormat":99},{"version":"4ddac49230b4420200ba667ad664a33e6ba21cac2b222878fea691bd4c46c94d","impliedFormat":99},{"version":"49de2e31605e50caeeb6d67feb6861d4e7e29b35888375aa1dd81cc90de8cfd5","impliedFormat":99},{"version":"1e3491a13442f711c0e2f17cd8d215967ba11c20b16e8e50b96adfa99ebf1f6a","impliedFormat":99},{"version":"6b3e952229f72a6ca6005e56cb9022710a952a58bd28f521c924db2044b7365e","impliedFormat":99},{"version":"0c1430e7f7b198501bd5ff9be1116ee2ec45aba065c0626821fbcbd684026668","impliedFormat":99},{"version":"a0cd53e94116dc57a8a1c3f281bf954033c4c0eb5f0968654efce5b6586fc75d","impliedFormat":99},{"version":"3312ede115245e7864779a1f3a540948fe26d526708964e0f4585d2a756a3aa9","impliedFormat":99},{"version":"93110ec6a5c245ae8ec96a9d66da36a75b799ed1f5af03751c104c0cf0842d9b","impliedFormat":99},{"version":"3800d26d7e0602d6735ea7f8d7c3e3db1dcf14be6bf89616d3372a7c2df21c6d","impliedFormat":99},{"version":"89bf59c1d834a4b01c7d9b5b4cfa64ffed09e59580d27bbadf1acdd69706c200","impliedFormat":1},{"version":"c8adda9f45d2f7ec9fb28c59859db32da6c2835f1fec96433e2729e5805fa46f","impliedFormat":99},{"version":"f5a1b2ccbcb26cea8b577af7882ff2a9294f4df6a45de84592edb5d076e748fe","impliedFormat":1},{"version":"6ac54ff75639970f9936ce0937b54d9813268c59961b681c272ea2c1a679308e","impliedFormat":99},{"version":"4bd7723f59fd5372c8e0f57d458dc155a3bb034c2a601aed37a341018c13bb6b","impliedFormat":99},{"version":"278807e5fbad9a322630a75afb7382edb4a532900eff1ac8c7b05e574051fc21","impliedFormat":99},{"version":"8db3b730cdd1993dde9f7c0e79c4236091c88a12d2f9fba37a2a216fe8193f65","impliedFormat":99},{"version":"d16b9b51d8abfb8b9e404bcebc942c949f91c8b43ded93d000b0d48729f59583","impliedFormat":99},{"version":"30d3d245e92f425010cab4732dcfca5d97585cfd2cb57a5e9c3abdd902bc98f5","impliedFormat":99},{"version":"88b2eb23d36692162f2bf1e50577ebcde26de017260473e03ed9a0e61e2726a4","impliedFormat":99},{"version":"23ffbd8c0e20a697d2ea5a0cf7513fb6e42c955a7648f021da12541728f62182","impliedFormat":99},{"version":"c127ebf14d1b59d1604865008fb072865c5ca52277621f566092fe1f42ce0954","impliedFormat":99},{"version":"def638da26d84825a312113a20649d3086861de7c06a18ea13121278702976fd","impliedFormat":99},{"version":"fbaf86f8ba11298dea2727ce0da84b4ab6ae6c265e1919d44aff7d9b2bbc578a","impliedFormat":99},{"version":"c1010caaeaca8e420c6e040c2e822dbe18702459c93a7d2d5de38597d477b8cd","impliedFormat":99},{"version":"e1f0d8392efd9d71f2644eb97d3f33d90827e30ea8051d93b6f92bb11dff520a","impliedFormat":99},{"version":"085211167559ca307d4053bb8d2298d5ad83cbc3d2ae9bb4c8435a4cabf59369","impliedFormat":99},{"version":"12a2b25c7c9c05c8994adf193e65749926acfcc076381f7166c2f709a97bdf0a","impliedFormat":99},{"version":"0f93a3fdd517c1e45218cd0027c1d6b82237e379dc6b66d693aab1fe74c82e81","impliedFormat":99},{"version":"3b568b63f0e8b3873629a4d7a918dce4266ad41461004ab979f8dcdfd13532bb","impliedFormat":99},{"version":"8a2619c8e24305f6b9700b35af178394b995dcb28690a57a71cca87ee7e709ae","impliedFormat":99},{"version":"f95fd2fc3cc164921a891f5d6c935fa0d014a576223dd098fc64677e696b0025","impliedFormat":99},{"version":"2b7a82692ecc877c5379df9653902e23f2d0d0bc9f210ec3cf9e47be54413c5c","impliedFormat":99},{"version":"e2ad09c011cf9d7ee128875406bef787eeb504659495f42656a0098c15fe646c","impliedFormat":99},{"version":"eb518567ea6b0b2623f9a6d37c364e1b1ac9d8b508d79e558f64ac05c17e2685","impliedFormat":99},{"version":"aa82876d59912d25becff5a79ed7341af04c71bfeb2221cc0417bc34531125e2","impliedFormat":99},{"version":"b084a412374bdd124048c52c4e8a82d64f3adec6c0a9ad5ecbb7317636039b0f","impliedFormat":99},{"version":"11199daa694c3ced3cc2a382a3fa7bd64e95eb40f9bbc3979fc8fb43f5ba38cc","impliedFormat":99},{"version":"2c86f279d7db3c024de0f21cd9c8c2c972972f842357016bfbbd86955723b223","impliedFormat":99},{"version":"f4e8f4151c3490cf7b68c685aabe901cbab19f962aaa2f118a97550e22689a76","impliedFormat":1},{"version":"799003c0ab928582fca04977f47b8d85b43a8de610f4eef0ad2d069fbb9f9399","impliedFormat":1},{"version":"d998eea476c695d8e4ff9d007d5b46d49ca2ffa052f74dc20ca516425abd57b1","impliedFormat":1},{"version":"310fe80ff40a158c2de408efbe9de11e249c53d2de5e33ca32798e6f3fbc8822","impliedFormat":99},{"version":"9c86abbc4fd0248f56abc12aaecd76854517389af405d5ec2eb187fdb00a606f","impliedFormat":99},{"version":"69fab68a769c17a52a24b868aeb644f3ee14abaa5064115f575ddd59231105ce","impliedFormat":99},{"version":"e181eb86b2caf80fe18c72efce6b913bc226e4a69a5456eaf4f859f1c29c6fd6","impliedFormat":99},{"version":"93f7871380478bc6acf02ad9f3dc7da0c21997caebbe782eb93a11b7bd06a46d","impliedFormat":99},{"version":"154f23902d7a3fcdace4c20b654da7355fee4b7f807d1f77d6c9a24a8756013a","impliedFormat":99},{"version":"1589e5ac394b2b2e64264da3e1798d0e103b4f408f5bae1527d9e706f98269c7","impliedFormat":99},{"version":"a0f8ce72cb02247a112ce4a2fa0f122478a8e99c90a5e6b676b41a68b1891ad2","impliedFormat":99},{"version":"6e957ea18b2bf951cf3995d115ad9bfa439e8d891aeb1afc901d793202c0b90d","impliedFormat":99},{"version":"04718c7325e7df4bac9a6d026a0a2bd5a8b54501f274aaf93a03b5d1d0635bd1","impliedFormat":99},{"version":"405205f932d4e0ce688a380fa3150b1c7ff60e7fc89909e11a33eab7af240edb","impliedFormat":99},{"version":"a0bd46d587005aad4819980f6cf2dbcd80ebf584ed1a946202326a27158ba70e","impliedFormat":1},{"version":"07fcbb61a71bd69a92a5bbde69e60654666cf966b5675c2010c3bf9f436f056a","impliedFormat":1},{"version":"88b2eb23d36692162f2bf1e50577ebcde26de017260473e03ed9a0e61e2726a4","impliedFormat":1},{"version":"23ffbd8c0e20a697d2ea5a0cf7513fb6e42c955a7648f021da12541728f62182","impliedFormat":1},{"version":"43fba5fc019a4ce721a6f53ddb97fdc34c55049cfb793bc544d5c864ee5560b9","impliedFormat":1},{"version":"f4e12292c9a7663a13d152195019711c427c552eb0fa02705e0f61370cd5547a","impliedFormat":1},{"version":"c127ebf14d1b59d1604865008fb072865c5ca52277621f566092fe1f42ce0954","impliedFormat":1},{"version":"def638da26d84825a312113a20649d3086861de7c06a18ea13121278702976fd","impliedFormat":1},{"version":"fbaf86f8ba11298dea2727ce0da84b4ab6ae6c265e1919d44aff7d9b2bbc578a","impliedFormat":1},{"version":"c1010caaeaca8e420c6e040c2e822dbe18702459c93a7d2d5de38597d477b8cd","impliedFormat":1},{"version":"e1f0d8392efd9d71f2644eb97d3f33d90827e30ea8051d93b6f92bb11dff520a","impliedFormat":1},{"version":"085211167559ca307d4053bb8d2298d5ad83cbc3d2ae9bb4c8435a4cabf59369","impliedFormat":1},{"version":"55fc49198d8a85a73cdb79e596d9381cfdc9de93c32c77d42e661c1c1e7268ef","impliedFormat":1},{"version":"6a53fb3df8dd32ed1a65502ca30aeae19cfe80990e78ba68162d6cb2a7fed129","impliedFormat":1},{"version":"b5dcc18d7902597a5584a43c1146ca4fe0295ceb5125f724c1348f6a851dd6ed","impliedFormat":1},{"version":"0c6b0f3fbe6eb6a3805170b3766a341118c92ed7b6d1f193b9f35aa82f594846","impliedFormat":1},{"version":"60eaadb36cf157c5cae9c40e84fa367d04f52a150db3920dbe35139780739143","impliedFormat":1},{"version":"4680a32b1098c49dc87881329af1e68af9af94e051e1b9e19fed555a786f6ce6","impliedFormat":1},{"version":"89fcd129ec37f321cddcdb6b258ffe562de4281e90ec3ccbe7c1199ba39359ca","impliedFormat":1},{"version":"4313011f692861c2c1f5205d7f9a473e763adab6444f9853b96937b187fb19f7","impliedFormat":1},{"version":"caa57157e7bdb8d5f1efe56826fb84a6c8f22a1927bba7fa21fd54e2a44ccba2","impliedFormat":1},{"version":"6b74700abfe4a9b88be957fd8e373cfd998efb1a5f6ad122da49a92997e183ad","impliedFormat":1},{"version":"9ef1342f193bd8bae86c64e450c3ac468ef08652110355e1f3cdd45362eb95c4","impliedFormat":1},{"version":"6853c91662c36a2bf4c8371a87177c819007c76a23c293ef3f686ce9157ae4c8","impliedFormat":1},{"version":"9be1c5dabce43380d13fc621100676b03d420b5687b08d1288f479bee68ab7a8","impliedFormat":1},{"version":"8996d218010896712678e6a0337d8ef8b81c1066ab76f637dd8253f0d6ff838d","impliedFormat":1},{"version":"a15603bf387fc45defe28a68f405a6c29105e135c4e8538eeb6d0a1ef5b69a81","impliedFormat":1},{"version":"84e2532e4d42949a2775cdd8bb7b2b97370dd6ddb683d0c199b21bf6978b152d","impliedFormat":1},{"version":"22bf5f19f620db3b8392cfece44bdd587cdbed80ba39c88a53697d427135bf37","impliedFormat":1},{"version":"23ebbd8d484d07e1c1d8783169c20570ed8409966b28f6be6cf8e970d76ef491","impliedFormat":1},{"version":"18b6fa2c778cad6489f2febf76433453f5e2432ec3535f2d45ae7d803b93cc17","impliedFormat":1},{"version":"609d0d7419999cf44529e6ba687e2944b2fc7ad2570d278fd4e6b1683c075149","impliedFormat":1},{"version":"249cf421b8878a3fe948d9c02f6b0bae65491b3bb974c2ffc612341406fa78ff","impliedFormat":1},{"version":"b4aa22522d653428c8148ddbf1dcc1fb3a3471e15eb1964429a67c390d8c7f38","impliedFormat":1},{"version":"30b2cee905b1848b61c7d28082ebfa2675dd5545c0d25d1c093ce21a905cdccc","impliedFormat":1},{"version":"0a2a2eed4137368735205de97c245f2a685af1a7f1bf8d636b918a0ee4ff4326","impliedFormat":1},{"version":"69f342ce86706aa2835a62898e93ea7a1f21b1d89c70845da69371441bb6cd56","impliedFormat":1},{"version":"b5ab4282affcfd860dd1cc3201653f591509a586d110f8e5b1b010508ba79b2c","impliedFormat":1},{"version":"d396233f6cd3edf0d33c2fbfc84ded029c3ea4a05af3c94d09d31a367cced111","impliedFormat":1},{"version":"bc41a726c817624a5136ae893d7aac7c4dc93c771e8d243a670324bccf39b02b","impliedFormat":1},{"version":"710728600e4b3197f834c4dd1956443be787d2e647a72f190bf6519f235aaadd","impliedFormat":1},{"version":"a45097e01ef30ba26640fed365376ab3ccd5faf97d03f20daff3355a7e60286a","impliedFormat":1},{"version":"763cbb7c22199f43fd5c2b1566af5ba96bf7366f125dd31a038a2291cbc89254","impliedFormat":1},{"version":"031933bf279b7563e11100b5e1746397caf3a278596796a87bc0db23cf68dc9e","impliedFormat":1},{"version":"a4a54c1f58fc6e25a82e2c0f651bf680058bd7f72cfb2d43b85ee0ab5fe2e87e","impliedFormat":1},{"version":"9613d789b6f1037f2523a8f70e1b736f1da4566b470593da062be5c9e13dac57","impliedFormat":1},{"version":"0d2a320763a0c9c71493f8f1069971018c8720a6e7e5a8f10c26b6de79aa2f7d","impliedFormat":1},{"version":"817e0df27a237a268dc16e5acffc19f9a74467093af7a0ba164ee927007a4d25","impliedFormat":1},{"version":"43102521b5ca50ff1865188c3c60790feaed94dc9262b25d4adec4dbc76f9035","impliedFormat":1},{"version":"f99947f8d873b960b0115e506ef9c43f4e40c2071b1d20375564538af4a6023b","impliedFormat":1},{"version":"c1e5ad5ca89d18d2a36d25e8ec105623648cf35615825e202c7d8295a49d61ab","impliedFormat":1},{"version":"2b6c9cb81da4e0a2e32a58230e8c0dec49fc5b345efb7f7a3648b98956be4b13","impliedFormat":1},{"version":"99e34af3ede50062dcc826a1c3ce2d45562060dfd0f29f8066381a6ef548bf2a","impliedFormat":1},{"version":"49f5c2a23ea5fc4b2cdb4426f09d1c8b83f8409fa2af13ef38845cc9b9d4bc3d","impliedFormat":1},{"version":"e935227675144b64ecde3489e4a5e242eeb25fdd6b7464b8c21ad1f7a0faa88b","impliedFormat":1},{"version":"b42e6bbe88dc79c2d6dc5605fb9c15184e70f64bdd7b8d4069b802b90ce86df6","impliedFormat":1},{"version":"b9cd712399fdc00fdae07e96c9b39c3cb311e2a8a5425f1bd583f13cab35e44b","impliedFormat":1},{"version":"5a978550ae131b7fef441d67372fd972abab98ea9fdb9fa266e8bdc89edcb8d6","impliedFormat":1},{"version":"4f287919cfc1d26420db9f0457cd5c8780b1ef0a9f949570936abe48d3a43d91","impliedFormat":1},{"version":"496b23b2fd07e614bc01d90dd4388996cb18cd5f3a612d98201e9f683e58ad2e","impliedFormat":1},{"version":"dcfbe42824f37c5fb6dc7b9427ef2500791ec0d30825ecb614f15b8d5bf5a667","impliedFormat":1},{"version":"390124ad2361b46bf01851d25e331cd7eed355d04451d8b2a4aa985c9de4f8ce","impliedFormat":1},{"version":"14d94f17772c3a58eda01b6603490983d845ee2012cd643f7497b4e22566aacb","impliedFormat":1},{"version":"03ef2386c683707ce741a1c30cb126e8c51a908aa0acc01c3471fafb9baaacd5","impliedFormat":1},{"version":"66a372e03c41d2d5e920df5282dadcec2acae4c629cb51cab850825d2a144cea","impliedFormat":1},{"version":"5b48ba9a30a93176a93c87f9e0abf26a9df457eeb808928009439ca578b56f27","impliedFormat":1},{"version":"4707625392316d3c16edbd0716f4ac310e8ff5d346d58f4d01a2b7e0533a23df","impliedFormat":1},{"version":"154d58a4b2d9c552dc864ea39c223d66efd0ed2dd8b55bd13db5225d14322915","impliedFormat":1},{"version":"6a830433fa072931b4ea3eb9aa5fa7d283f470080586a27bfe69837a0f12de9a","impliedFormat":1},{"version":"d25e930e181f4f69b2b128514538f2abb54ef1d48a046ad776ac6f1cda885a72","impliedFormat":1},{"version":"0259b4c21bc93b52ca82c755f97fc90481072bcc44a8010131b2ea7326cf03fe","impliedFormat":1},{"version":"bea43a13a1104a640da0cb049db85c6993f484a6cc03660496b97824719ecc91","impliedFormat":1},{"version":"0224239d61fe66d4900544d912b2e11c2cca24b4707d53fdb94b874a01e29f48","impliedFormat":1},{"version":"2bce8fd2d16a9432110bbe0ba1e663fd02f7d8b8968cd10178ea7bc306c4a5df","impliedFormat":1},{"version":"9c4ad63738346873d685e5c086acbf41199e7022eff5b72bb668931e9ca42404","impliedFormat":1},{"version":"cfb6329bf8ce324e83fe4bbdee537d866a0d5328246f149a0958b75d033de409","impliedFormat":1},{"version":"efc3816f19ea87a7050c84271ea3d3aad9631a517c168013c4f4b6724c287ce0","impliedFormat":1},{"version":"f99f6737336140047e8dd4ade3859f08331aa4b17bc2bd5f156a25c54e0febbc","impliedFormat":1},{"version":"12a2b25c7c9c05c8994adf193e65749926acfcc076381f7166c2f709a97bdf0a","impliedFormat":1},{"version":"0f93a3fdd517c1e45218cd0027c1d6b82237e379dc6b66d693aab1fe74c82e81","impliedFormat":1},{"version":"03c753da0bee80ad0d0f1819b9b42dfe9bf9f436664caf15325aa426246fd891","impliedFormat":1},{"version":"18f5bf1dae429c451f20171427c9e3223fade4346af4dfd817725cbeb247a09d","impliedFormat":1},{"version":"a4eece5fab202e840dd84f7239e511017a8162edb8fc8b54ff2851c5c844125c","impliedFormat":1},{"version":"c4a94af483a63bf947d89f97553a55df5107c605ec8a26f0b9b8bdcc14bd6d89","impliedFormat":1},{"version":"19de2915ccebc0a1482c2337b34cb178d446def2493bf775c4018a4ea355adb8","impliedFormat":1},{"version":"9be8fc03c8b5392cd17d40fd61063d73f08d0ee3457ecf075dcb3768ae1427bd","impliedFormat":1},{"version":"3b568b63f0e8b3873629a4d7a918dce4266ad41461004ab979f8dcdfd13532bb","impliedFormat":1},{"version":"a5e5223c775fe30d606b8aaa521953c925d5ad176a531c2b69437d2461aaabbd","impliedFormat":1},{"version":"8cbf41d2d1ce8ac2066783ae00613c33feef07493796f638e30beaf892e4354a","impliedFormat":1},{"version":"e22ad737718160df198cd428f18da707177d0467934cecdeed4be6e067b0c619","impliedFormat":1},{"version":"15bf5ed8cb7c1a1e1db53fa9b45bc1a1c73c0497735343a8d0c59fdb596a3744","impliedFormat":1},{"version":"791fce84bce8b6948e4f23422d9cbbd7d08c74b3f91cca12dcae83d96079798b","impliedFormat":1},{"version":"8a2619c8e24305f6b9700b35af178394b995dcb28690a57a71cca87ee7e709ae","impliedFormat":1},{"version":"f95fd2fc3cc164921a891f5d6c935fa0d014a576223dd098fc64677e696b0025","impliedFormat":1},{"version":"8c9cecaaa9caba9a8caa47f46dcf24b524b27899b286d8edcc75a81b370d2ba3","impliedFormat":1},{"version":"2b7a82692ecc877c5379df9653902e23f2d0d0bc9f210ec3cf9e47be54413c5c","impliedFormat":1},{"version":"e2ad09c011cf9d7ee128875406bef787eeb504659495f42656a0098c15fe646c","impliedFormat":1},{"version":"eb518567ea6b0b2623f9a6d37c364e1b1ac9d8b508d79e558f64ac05c17e2685","impliedFormat":1},{"version":"630a48fb8f6b07161588e0aee3f9d301c59c97e1532c884118f89368baf4073b","impliedFormat":1},{"version":"14736c608aa46120f8d6d0bc5e0721b46b927bc7eba20e479600571935f27062","impliedFormat":1},{"version":"7574803692d2230db13205a7749b9c3587dccaccdf9e76f003f9e08078bb6d09","impliedFormat":1},{"version":"f3cc1588e666651c51353b1728460bee8acbc6e0f36be8c025eaaf292dca525d","impliedFormat":1},{"version":"0d4ea8a20527dcf3ad6cf1bd188b8ad4e449df174fad09b9e540ed81080af834","impliedFormat":1},{"version":"aa82876d59912d25becff5a79ed7341af04c71bfeb2221cc0417bc34531125e2","impliedFormat":1},{"version":"6f4b0389f439adc84cba35d45428668eabcfbdd351ba17e459d414ca51ab8eb8","impliedFormat":1},{"version":"d5dd33d15fbb07668c264b38065ac542a07a7650af4917727bbc09b58570e862","impliedFormat":1},{"version":"7d90202d0212e9cdc91a20bfddf04a539c89f09fe1d64db3343546fa2eb37e71","impliedFormat":1},{"version":"1a5d073c95a3a4480b17d2fa7fd41862a9df0cb2afaee86834b13649e96bdb45","impliedFormat":1},{"version":"2092495a5b3116c760527a690c4529748f2d8b126cdd5f56b2ce2230b48aba3f","impliedFormat":1},{"version":"620b29d6adbd4061bc0a8fedf145fcc8e8fc9648fb6e0a39726e33babb4e07bc","impliedFormat":1},{"version":"931eda51b5977f7f3fa7a0d9afde01cfd8b0cc1df0bb66dcf8c2cf6e7090384e","impliedFormat":1},{"version":"b084a412374bdd124048c52c4e8a82d64f3adec6c0a9ad5ecbb7317636039b0f","impliedFormat":1},{"version":"11199daa694c3ced3cc2a382a3fa7bd64e95eb40f9bbc3979fc8fb43f5ba38cc","impliedFormat":1},{"version":"2c86f279d7db3c024de0f21cd9c8c2c972972f842357016bfbbd86955723b223","impliedFormat":1},{"version":"dfb53b9d748df3e140b0fddb75f74d21d7623e800bb1f233817a1a2118d4bb24","impliedFormat":1},{"version":"8cfc293b33082003cacbf7856b8b5e2d6dd3bde46abbd575b0c935dc83af4844","impliedFormat":1},{"version":"7730c538d6d35efe95d2c0d246b1371565b13037e893178033360b4c9d2ac863","impliedFormat":1},{"version":"b256694544b0d45495942720852d9597116979d52f2b53c559fda31f635c60df","impliedFormat":1},{"version":"794e8831c68cc471671430ee0998397ea7a62c3b706b30304efdc3eaff77545a","impliedFormat":1},{"version":"9cfc1b227477e31988e3fb18d26b6988618f4a5da9b7da6bc3df7fc12fb2602e","impliedFormat":1},{"version":"264a292b6024567dd901fdabbf3239a8742bea426432cdbda4cf390b224188e1","impliedFormat":1},{"version":"f1556a28bb8e33862dcfa9da7e6f1dca0b149faf433fe6a50153ae76f3362db1","impliedFormat":1},{"version":"1d321aea1c6a77b2a44e02e5c2aeff290e3f1675ead1a86652b6d77f5fea2b32","impliedFormat":1},{"version":"4910efc2ce1f96d6e71a9e7c9437812ffae5764b33ab3831c614663f62294124","impliedFormat":1},{"version":"e3ceab51a36e8b34ab787af1a7cf02b9312b6651bac67c750579b3f05af646c1","impliedFormat":1},{"version":"baf9f145bcee1b765bed6e79fd45e1ff0ca297a81315944de81eb5d6fff2d13d","impliedFormat":1},{"version":"2afd62362b83db93cd20de22489fe4d46c6f51822069802620589a51ccad4b99","impliedFormat":1},{"version":"9f0cd9bd4ab608123b88328c78814738cbdee620f29258b89ef8cd923f07ff9c","impliedFormat":1},{"version":"801186c9e765583c825f28dab63a7ad12db5609e36dc6d9acbdc97d23888a463","impliedFormat":1},{"version":"96c515141c6135ccd6fb655fb9e3500074a9216ba956fb685dc8edc33f689594","impliedFormat":1},{"version":"416af6d65fc76c9ced6795f255cb1096c9d7947bede75b82289732b74d902784","impliedFormat":1},{"version":"a280c68b128ebba35fb044965d67895201c2f83b6b28281bb8b023ade68bf665","impliedFormat":1},{"version":"6fa118f15723b099a41d3beea98ed059bcd1b3eda708acf98c5eff0c7e88832f","impliedFormat":1},{"version":"dcbf582243e20ea50d283f28f4f64e9990b4ed4a608757e996160c63cff6aa99","impliedFormat":1},{"version":"efa432d8fd562529c4e9f859fd936676dd8fef5d3b4bedb06f754e4740056ea9","impliedFormat":1},{"version":"a59b66720b2ccf2e0150fafb49e8da8dabdf4e1be36244a4ccd92f5bd18e1e9e","impliedFormat":1},{"version":"c657fb1ec3b727d6a14a24c71ea20c41cb7d26a503e8e41b726bb919eb964534","impliedFormat":1},{"version":"50d6d3174868f6e974355bf8e8db8c8b3fcf059315282a0c359ecf799d95514a","impliedFormat":1},{"version":"86bf79091014a1424fc55122caa47f08622b721a4d614b97dd620e3037711541","impliedFormat":1},{"version":"7a63313dff3a57f824a926e49a7262f7bd14e0e833cf45fa5af6da25286769c2","impliedFormat":1},{"version":"36dcaeffe1a1aed1cb84d4feba32895bf442795170edccc874fa32232b2354e5","impliedFormat":1},{"version":"686c6962d04d90edafc174aa5940acb9c9db8949c8d425131c01d796cf9a3aef","impliedFormat":1},{"version":"2b1dbc3d5762d6865744b6e7be94b8b9004097698c37e93e06983e42dd8fe93b","impliedFormat":1},{"version":"eb5e8f74826bdf3a6a0644d37a0f48133f8ad0b5298cc2c574102868542ba4eb","impliedFormat":1},{"version":"c6a82a9673ba517cf04dd0803513257d0adf101aed2e3b162a54d840c9a1a3b2","impliedFormat":1},{"version":"fc9f0f415abaa323efcecc4a4e0b6763bfe576e32043546d44f1de6541b6399b","impliedFormat":1},{"version":"2c4d772ac7ac56a44deef82903364eb7c78dd7bc997701123df0ce4639fe39bb","impliedFormat":1},{"version":"9369ef11eed17c1c223fdea9c0fa39e83f3722914ef390b1448db3d71620c93a","impliedFormat":1},{"version":"aa84130dbc9049bba6095f87932138698f53259b642635f6c9e92dd0ddc7512c","impliedFormat":1},{"version":"084ceadd21efabd4b58667dca00d4f644306099151d2ee18cd28a395855b8009","impliedFormat":1},{"version":"b9503e29f06c99b352b7cae052da19e3599fa42899509d32b23a27c9bb5bebf6","impliedFormat":1},{"version":"75188920fe6ccc14070fe9a65c036049f1141d968c627b623d4a897ec3587e15","impliedFormat":1},{"version":"e2e1df7f45013d2b34f8d08e6ae5a9339724b0ea251b5445fcca3e170e640105","impliedFormat":1},{"version":"af06feb5d18a6ea11c088b683bdb571800d1f76b98d848eecdf41e5ec8f317fd","impliedFormat":1},{"version":"0596af52b95e0c8adc2c07f49f109d746b164739c5866fa8bb394dd6329a3725","impliedFormat":1},{"version":"c3365d08fe7a1ccc3b8e8638edc30123007f3241b4604e2585b9f14422ab97d8","impliedFormat":1},{"version":"a7a3d96b04bb0ec8cb7d2669767c4756f97dd70d08548f9e6522dde4de8e8a03","impliedFormat":1},{"version":"745e960e885a4ba04c872225cbb44bd67a7490d169ceaefab7c0dfc444768676","impliedFormat":1},{"version":"0b1ce1768cde3535493a9daf99e3bbb8c7dcc3a7f9d8cd358cb846af71ce5cdf","impliedFormat":1},{"version":"48b9603f6e8a7c94b727277592a089f94261baa64e6c9d18165da0481663a69e","impliedFormat":1},{"version":"3c20a3bb0c50c819419f44aa55acc58476dad4754a16884cef06012d02b0722f","impliedFormat":1},{"version":"4dc64902cb86e677a928293593658fbf53388f9a30d2b934140c70a7267b07ec","impliedFormat":1},{"version":"cb4fd56539a61d163ea9befe6b0292c32aa68a104c1f68f61416f1bc769bcfba","impliedFormat":1},{"version":"0d852bdc2b72b22393a8eebe374ee3efe3e0d44e630037b5e1b6087985388e62","impliedFormat":1},{"version":"b6c9a2deefb6a57ff68d2a38d33c34407b9939487fc9ee9f32ba3ecf2987a88a","impliedFormat":1},{"version":"f6b371377bab3018dac2bca63e27502ecbd5d06f708ad7e312658d3b5315d948","impliedFormat":1},{"version":"faa72893e85cb8ebb1dafde6b427e5204e60bb5f3ee6576bb64c01db1f255bc8","impliedFormat":1},{"version":"95b7ed47b31a6eaddcdd853ee0871f2bb61e39ce36a01d03dfafb83766f6c10c","impliedFormat":1},{"version":"19287d6b76288c2814f1633bdd68d2b76748757ffd355e73e41151644e4773d6","impliedFormat":1},{"version":"fc4e6ec7dade5f9d422b153c5d8f6ad074bd9cc4e280415b7dc58fb5c52b5df1","impliedFormat":1},{"version":"3aea973106e1184db82d8880f0ca134388b6cbc420f7309d1c8947b842886349","impliedFormat":1},{"version":"765e278c464923da94dda7c2b281ece92f58981642421ae097862effe2bd30fa","impliedFormat":1},{"version":"de260bed7f7d25593f59e859bd7c7f8c6e6bb87e8686a0fcafa3774cb5ca02d8","impliedFormat":1},{"version":"d95c4eaad4df9e564859f0c74a177fa0b2e5f8a155939b52580566ab6b311c3f","impliedFormat":1},{"version":"7192a6d17bfa06e83ba14287907b7c671bef9b7111c146f59c6ea753cfc736b9","impliedFormat":1},{"version":"5156d3d392db5d77e1e2f3ea723c0a8bd3ca8acffe3b754b10c84b12f55a6e10","impliedFormat":1},{"version":"a6494e7833ee04386a9f0c686726f7cb05f52f6e069d9293475ccb1e791ee0da","impliedFormat":1},{"version":"d9af0c89a310256851238f509a22aa1071a464d35dc22ea8c2a0bae42dd81bc5","impliedFormat":1},{"version":"291642a66e55e6ca38b029bc6921c7301f5c7b7acf21ae588a5f352e6c1f6d58","impliedFormat":1},{"version":"43cd7c37298b051d1ce0307d94105bcd792c6c7e017282c9d13f1097c27408e8","impliedFormat":1},{"version":"e00d8cce6e2e627654e49c543b582568ad0bf27c1d4ad1018d26aff78d7599df","impliedFormat":1},{"version":"ed13354f0d96fb6d5878655b1fead51722b54875e91d5e53ef16de5b71a0e278","impliedFormat":1},{"version":"fcb934d0fcdee06a8571bd90aa3a63aa288c784b3ebcecfe7ae90d3104d321f4","impliedFormat":1},{"version":"af682dfabe85688289b420d939020a10eb61f0120e393d53c127f1968b3e9f66","impliedFormat":1},{"version":"0dca04006bf13f72240c6a6a502df9c0b49c41c3cab2be75e81e9b592dcd4ea8","impliedFormat":1},{"version":"7dc0b5e3d7be8e1f451f0545448c2eaa02683f230797d24434b36f9820d5a641","impliedFormat":1},{"version":"247af61cdc3f4ec7876b9e993a2ecdd069e10934ff790c9cee5811842bff49eb","impliedFormat":1},{"version":"4be8c2c63d5cd1381081d90021ddfaef106881df4129eddeeaba906f2d0f75d0","impliedFormat":1},{"version":"012f621d6eb28172afb1b2dc23898d8bc74cf35a6d76b63e5581aa8e50fa71b3","impliedFormat":1},{"version":"3a561fa91097e4580c5349ce72e69d247c31c11d29f39e1d0bd3716042ff2c0b","impliedFormat":1},{"version":"bc9981a79dda3badea61d716d368a280c370267e900f43321f828495f4fef23c","impliedFormat":1},{"version":"2ed3b93d55aea416d7be8d49fe25016430caab0fe64c87d641e4c2c551130d17","impliedFormat":1},{"version":"3d66dfc31dd26092c3663d9623b6fc5cec90878606941a19e2b884c4eacd1a24","impliedFormat":1},{"version":"6916c678060af14a8ce8d78a1929d84184e9507fba7ab75142c1bcb646e1c789","impliedFormat":1},{"version":"3eea74afae095028597b3954bde69390f568afc66d457f64fff56e416ea47811","impliedFormat":1},{"version":"549fb2d19deb7d7cae64922918ddddf190109508cc6c7c47033478f7359556d2","impliedFormat":1},{"version":"e7023afc677a74f03f8ccb567532fe9eedd1f5241ee74be7b75ac2336514f6f6","impliedFormat":1},{"version":"ff55505622eac7d104b9ab9570f4cc67166ba47dd8f3badfb85605d55dd6bdc9","impliedFormat":1},{"version":"102fac015b1eebfa13305cb90fd91a4f0bbcabb10f2343556b3483bbb0a04b62","impliedFormat":1},{"version":"18a1f4493f2dbad5fd4f7d9bfba683c98cf5ed5a4fa704fa0d9884e3876e2446","impliedFormat":1},{"version":"f57e6707d035ab89a03797d34faef37deefd3dd90aa17d90de2f33dce46a2c56","impliedFormat":1},{"version":"cc8b559b2cf9380ca72922c64576a43f000275c72042b2af2415ce0fb88d7077","impliedFormat":1},{"version":"1a337ca294c428ba8f2eb01e887b28d080ee4a4307ae87e02e468b1d26af4a74","impliedFormat":1},{"version":"310fe80ff40a158c2de408efbe9de11e249c53d2de5e33ca32798e6f3fbc8822","impliedFormat":1},{"version":"d6ce96c7bb34945c1d444101f44e0f8ba0bba8ab7587a6cc009a9934b538c335","impliedFormat":1},{"version":"1b10a2715917601939a9288d49beccd45b591723256495b229569cd67bbe48a8","impliedFormat":1},{"version":"7498dfdeed2e003ec49cdf726ff6c293002d1d7fdadbc398ce8aafe6d0688de7","impliedFormat":1},{"version":"8492306a4864a1dc6fc7e0cc0de0ae9279cbd37f3aae3e9dc1065afcdc83dddc","impliedFormat":1},{"version":"9c86abbc4fd0248f56abc12aaecd76854517389af405d5ec2eb187fdb00a606f","impliedFormat":1},{"version":"9ffd906f14f8b059d6b95d6640920f530507e596e548f7a595da58ab66e3ce76","impliedFormat":1},{"version":"1884bccc10ce40adca470c2c371c1c938b36824f169c56f7f43d860416ca0a4c","impliedFormat":1},{"version":"986b55b4f920c99d77c1845f2542df6f746cb5adc9ab93eb1545a7e6ef37590d","impliedFormat":1},{"version":"cd00906068b81fbd8a22d021580ac505e272844408174520fafed0ae00627a5d","impliedFormat":1},{"version":"69fab68a769c17a52a24b868aeb644f3ee14abaa5064115f575ddd59231105ce","impliedFormat":1},{"version":"e181eb86b2caf80fe18c72efce6b913bc226e4a69a5456eaf4f859f1c29c6fd6","impliedFormat":1},{"version":"93f7871380478bc6acf02ad9f3dc7da0c21997caebbe782eb93a11b7bd06a46d","impliedFormat":1},{"version":"d00279ab020713264f570d5181c89ca362b7de8abddf96733de86bce0eca082c","impliedFormat":1},{"version":"f7db473f1d5d2a124f14886ac9dbfeccfbb94a98bbe1610a47c30c2933afa279","impliedFormat":1},{"version":"f44cf6c6d608ef925831e550b19841b5d71bd87195bd346604ff05644fb0d29c","impliedFormat":1},{"version":"154f23902d7a3fcdace4c20b654da7355fee4b7f807d1f77d6c9a24a8756013a","impliedFormat":1},{"version":"562f4f3c75a497d3ad7709381f850bb8c7646a9c6e94fdf8e91928e23d155411","impliedFormat":1},{"version":"4583380b676ee59b70a9696b42acfa986cd5f32430f37672e04f31f40b05df74","impliedFormat":1},{"version":"ad0a13f35a0d88803979f8ea9050ad7441e09d21a509abf2f303e18c1267af17","impliedFormat":1},{"version":"ba9781c718ab3d09cbde1216029072698d2da6135f0d2f856ba387d6caceb13e","impliedFormat":1},{"version":"d7c597c14698ba5fc8010076afa426f029b2d8edabb5073270c070cc645ba638","impliedFormat":1},{"version":"bd2afc69cf1d85cd950a99813bc7eff007d8afa496e7c2142a845cd1181d0474","impliedFormat":1},{"version":"558b462b23ea186d094dbff158d652acd58c0988c9fd53af81a8903412aa5901","impliedFormat":1},{"version":"0e984ae642a15973d652fd7b0d2712a284787d0d7a1db99aa49af0121e47f1df","impliedFormat":1},{"version":"0ad53ee208a23eef2a5cb3d85f2a9dc1019fd5e69179c4b0c02dc56c40d611c4","impliedFormat":1},{"version":"7a6898b26947bd356f33f4efef3eb23e61174d85dca19f41a8780d6bb4bfb405","impliedFormat":1},{"version":"9fe30349d26f34e85209fb06340bac34177f7eae3d6bb69dc12cd179d2c13ddf","impliedFormat":1},{"version":"d568c51d2c4360fd407445e39f4d86891dba04083402602bf5f24fd3969cacbb","impliedFormat":1},{"version":"b2483a924349ec835f4d778dd6787447a2f8bfbb651164851bff29d5b3d990a6","impliedFormat":1},{"version":"aae66889332cff4b2f7586c5c8758abc394d8d1c48f9b04b0c257e58f629d285","impliedFormat":1},{"version":"0f86c85130c64d6dbe6a9090bb3df71c4b0987bce4a08afe1ac4ece597655b9c","impliedFormat":1},{"version":"0ce28ad2671baed24517e1c1f4f2a986029137635bce788ee8fb542f002ac5b8","impliedFormat":1},{"version":"cd12e4fe77d24db98d66049360a4269299bcfb9dc3a1b47078ab1b4afac394cb","impliedFormat":1},{"version":"1589e5ac394b2b2e64264da3e1798d0e103b4f408f5bae1527d9e706f98269c7","impliedFormat":1},{"version":"ff8181aa0fde5ec2d737aecc5ebaa9e881379041f13e5ce1745620e17f78dcf9","impliedFormat":1},{"version":"0b2e54504b568c08df1e7db11c105786742866ba51e20486ab9b2286637d268f","impliedFormat":1},{"version":"bc1ffc3a2dca8ee715571739be3ec74d079e60505e1d0d2446e4978f6c75ba5c","impliedFormat":1},{"version":"770a40373470dff27b3f7022937ea2668a0854d7977c9d22073e1c62af537727","impliedFormat":1},{"version":"a0f8ce72cb02247a112ce4a2fa0f122478a8e99c90a5e6b676b41a68b1891ad2","impliedFormat":1},{"version":"6e957ea18b2bf951cf3995d115ad9bfa439e8d891aeb1afc901d793202c0b90d","impliedFormat":1},{"version":"a1c65bd78725f9172b5846c3c58ddf4bcbb43a30ab19e951f0102552fbfd3d5d","impliedFormat":1},{"version":"04718c7325e7df4bac9a6d026a0a2bd5a8b54501f274aaf93a03b5d1d0635bd1","impliedFormat":1},{"version":"405205f932d4e0ce688a380fa3150b1c7ff60e7fc89909e11a33eab7af240edb","impliedFormat":1},{"version":"566fc1a6616a522f8b45082032a33e6d37ff7df3f7d4d63c3cce9017d0345178","impliedFormat":1},{"version":"3b699b08db04559803b85aa0809748e61427b3d831f77834b8206e9f2ed20c93","impliedFormat":1},{"version":"b27242dd3af2a5548d0c7231db7da63d6373636d6c4e72d9b616adaa2acef7e1","impliedFormat":1},{"version":"e0ee7ba0571b83c53a3d6ec761cf391e7128d8f8f590f8832c28661b73c21b68","impliedFormat":1},{"version":"072bfd97fc61c894ef260723f43a416d49ebd8b703696f647c8322671c598873","impliedFormat":1},{"version":"e70875232f5d5528f1650dd6f5c94a5bed344ecf04bdbb998f7f78a3c1317d02","impliedFormat":1},{"version":"8e495129cb6cd8008de6f4ff8ce34fe1302a9e0dcff8d13714bd5593be3f7898","impliedFormat":99},{"version":"36e29bad31d34a8c5ef2a7bffd1d1d4a6ecb56cf7044bba3f3fb53af664cc995","impliedFormat":1},{"version":"0b66db734128f1dc8452ce19ac48a36b302c9d5f1471c9185dc00f7a1be37df4","impliedFormat":1},{"version":"ee11a267440026e7c77125f45576cbc1c10d16b7adb54455cc01b6e3921c2a50","impliedFormat":1},{"version":"c985b87d83e53c26af225df37603fe0ac73038f573ab483b0f6e46b007c5e26d","impliedFormat":1},{"version":"16644569c814ea007149afbc849ba0dc726887e4baa513156787fbeccc96bb5f","impliedFormat":1},{"version":"7f1a813bfc91a99771d5ded13f6f4c55138567f145051ffccd14219ac6495156","impliedFormat":1},{"version":"0693e3c9523391eb333248236f4e4df9a63961d729cda0081302ebf04e4745be","impliedFormat":1},{"version":"8456ecc963bc4816e34b14dba7c5806a674a9305778fedd44bd3fb9f7cd0a278","impliedFormat":1},{"version":"ef79a08ff6dbf02d7aa850d03768dfa7da8d38f1f8f1f70b5554b2eb69e30ef9","impliedFormat":1},{"version":"4b01bf8cb509dd9235289ae0f1dc1d11973eeae5c4e8a6f4f1f7e7a0fbd9981f","impliedFormat":1},{"version":"42333ff4abd55ed8522227f405936132874e3d9a3bb1cd43aa65816352ce51cc","impliedFormat":1},{"version":"360564742c5dc4a3606c7460c857b8602bd3642c463cc97468b40288bf8bbea2","impliedFormat":1},{"version":"69cb2a2d292615c3a90be6ae20cdfbba3e2a934c698c0b08aa042b70f3d1cf81","impliedFormat":1},{"version":"296d4f462ea7a071d145b4d2cbd5171ae1656a2b96e23aa95359c4d3fc1d9956","impliedFormat":1},{"version":"381efc65dd0d9c42d29cba0b662de1cf59e8d90c7e49fe1adcbb5f0e76a26ca0","impliedFormat":1},{"version":"fa1cba739d46abb87fbb0c567976c22412c64a8c319bc44e20f14c04b06fb96f","impliedFormat":1},{"version":"18c93713d0d514633603fe9a8cd44d7fbc90f23a231cd2c9a90aeaa3996837d6","impliedFormat":1},{"version":"48c5cee2757d97d85d2f01d3f29a9268f56eaea28cbbada0e98f948cfcbc7770","impliedFormat":1},{"version":"9d883529d433813184507105831699ae39720823464470da0f9584d0225b36b7","impliedFormat":1},{"version":"2b4276dde46aa2faf0dd86119999c76b81e6488cd6b0d0fcf9fb985769cd11c0","impliedFormat":99},{"version":"38d4cff03e87dc58bfd50ffe5a3fb25e6e6d4136a1282883285baf71d35967c5","impliedFormat":99},{"version":"5ecea63968444d55f7c3cf677cbec9525db9229953b34f06be0386a24b0fffd2","impliedFormat":99},{"version":"6ea9c8bf2ae4d47a0dbc2a1f9ac1e36c639b2ac9225c4d271c2f63a2faf24831","impliedFormat":99},{"version":"a3d603c46b55d51493799241b8a456169d36301cc926ff72c75f5480e7eb25bf","impliedFormat":99},{"version":"90fcbd9deee8433092df459e5d136eb37667255f249d434f950874c96c27a81c","impliedFormat":99},{"version":"4e2d11861154220b941057210b53821022eb078f52a69bad9c44a0f3f4aaedb9","impliedFormat":1},{"version":"0c9175b5bd2e620bf90a40f4cdd308d533e348a9157dd6f2b8c2d5e181ce77bc","impliedFormat":1},{"version":"64a969b47b262c15b44bfcaaaa5a54339297ae5f1469a0c1d7d4620decbc5cfe","impliedFormat":1},{"version":"1bb9f4917e13faf29f47d4ca63641fbb2d304bd9a95e234dd74d8978231d8c8c","impliedFormat":1},{"version":"83ca8a0119f730a4200e6af658a21b838dd22cc79067e521b86b996fd415cbc6","impliedFormat":99},{"version":"f22075cd085a130131c0ebcdd471f2424bbe460ef68d7d5b50bf691b58ba2bac","impliedFormat":99},{"version":"a44f76fff2f69355e47e2895eca18af4c28a6862abc9125fe266a67111753b5a","impliedFormat":99},{"version":"fa65cce77db690964d095c4ef94f386b8a925d4c164ab89babb427f8557d865c","impliedFormat":99},{"version":"3f0136f80003bf8b2841adb7f3f5e27128eebe41dd3cfa6772586048a3e32311","impliedFormat":99},{"version":"a212fad2d57539fb4523624ae54bbe0b25073927aa84d4bca39735dc0e8531a7","impliedFormat":99},{"version":"a288a8cb67c1c923801463083573c9d2042b51c6bca982c41687b134cb101628","impliedFormat":99},{"version":"f35f9295848dda94b0a134d2b456e96b51fb658c29f816520daa289ca42485e8","impliedFormat":99},{"version":"9ba6e9061b3feb1a2d855586d67db82ea048720fa2202aa7e231aa5da4f7c1ac","impliedFormat":99},{"version":"9d3ab4f2ede93d02afe035f45822ecaf2ee0cc4b2c4d690f930f7eb417c2d317","impliedFormat":99},{"version":"9cb1abef450de3c94f0fb8868e08fee13ce0284a1d799ceb0d62d20f7e44d915","impliedFormat":99},{"version":"63bcf5cf036269d1cafe17c5f41314658afa0955d95efcbbdccf3916cac6ce49","impliedFormat":99},{"version":"756213e07866fa181de30d9b031d63ccd616bdf2003fc319612514916406f5ff","impliedFormat":99},{"version":"f39e2ee6ed6a453dbb5aa583bd8508912a7f0a1236dd4a42255dcd8aacc5c6e7","impliedFormat":99},{"version":"d5df36eb8879f0fd592e0fbde3b29318b989c97eb93e4727e9b304d7564adcf7","impliedFormat":99},{"version":"2178c14f77641be7147cbfbcf5d4381a6740b579693971c9829bb485c50b808e","impliedFormat":99},{"version":"188c0a555bb354ebce13d88f9d59341d5beec73aa0cd4688b422f8375019295e","impliedFormat":99},{"version":"45aa152e9a85a5a895e9d81171414cd803b5c3aac5c9a120f527dfe202d18424","impliedFormat":99},{"version":"edab0e84c0ea36b2c682ea68390d2b6571db78de209e58a60b51ca5712289be7","impliedFormat":99},{"version":"ee27415e33df9b86af9f0a0c58b9a4ffdf393ef49462429423ac2bcb5e00db0e","impliedFormat":99},{"version":"d986dfe24545378173b2674fbf41939395abf993432a5b5831a75900b86780d1","impliedFormat":99},{"version":"62914eae016cc07be599c7c594d9aca77aecda9688e285f0e9b28b01eb0c6b5d","impliedFormat":99},{"version":"8acce26b02c92d26c2937f3fab228ad635db5218e16bca90d20a609d7103103d","impliedFormat":99},{"version":"58c966c3de7741c7657080e3a7287e65d4b24e8eb730fba5d20c27ba8c657194","impliedFormat":99},{"version":"3cb574913ea25e7b27d26350a6a86a5c88000d054d6ae67ecc4dc2da3c346ff2","impliedFormat":99},{"version":"db064e58ec48dc1919d5527a4c8d3cdd64d315a7b2117f410a0d8eba023f5e5a","impliedFormat":99},{"version":"1ebf664b312148f43ab66b0697e7705e342b5224b07663b9739a9036f2e8a5df","impliedFormat":99},{"version":"8633998b325554c7bc52b4863fdad0bd22dd69554888ae5551977d6c62fa7234","impliedFormat":99},{"version":"568780fcdac2403b5e4944c680be60f04466f16b6d8830459eaf341e4635aec8","impliedFormat":99},{"version":"43f5e5d9786a6f7ac58b72df14ea7f3dae1935b244e5175fcd34c89fbcb3edbe","impliedFormat":99},{"version":"08d88160e4d9614577b36d09b56607b0ea066963d97e500deadb1c0671c802b1","impliedFormat":99},{"version":"6b6936838074331a1e4ed2a836672b4612bb336ef2e8eef56b5cb1df1f163bc9","impliedFormat":99},{"version":"a40125dc53d6e8fd92b6f521f6a339b8892e1e1ab2ec20c3739f305f0a2b3b7a","impliedFormat":99},{"version":"63c14f1a25cc9af22040f4e50b2ef46c8c5c746acd3629fae2db1d8be17262f0","impliedFormat":99},{"version":"b37f94a72f75b015035682f3fca650a3997b23416379f2430afe8a78c7ff199f","impliedFormat":99},{"version":"d91ac32532d59d549aea318a1dd4346228e69180623c26d78cc77ff96e7e527a","impliedFormat":99},{"version":"634eaea224f99dead236b11bd9a612371551654d84f1f77a2943df2f8a464567","impliedFormat":99},{"version":"a9ec13c0152633b349e7f85bcc1849eee49ea0ba1b6f2d30594a0207041b87ed","impliedFormat":99},{"version":"4a068a0e2cb2e8263521977da21b35ebdee3bf7ae2f0ee3182030f344925ea34","impliedFormat":99},{"version":"aaeedd2494f6963f742f3c732cbc6707532b1125045b70ee9dc15d70aea4e6eb","impliedFormat":99},{"version":"1817b2e383223f38a5cfbb95fdd9d2824eeac637b752f4593d8ded810df686b7","impliedFormat":99},{"version":"636b68c90155a7b3e44852e7c6700b2773d70a88535d827bcef0b2ec0e43d1d6","impliedFormat":99},{"version":"fe25b7a29f635a3faf406792174c87223af5cbb2f2b7916f723e3b1bee1db6b0","impliedFormat":99},{"version":"a6f01bfdefdc0b7f68f3c73cf50d966d8e004559aaa00f9b957e5c15c9fb6daf","impliedFormat":99},{"version":"b4b781ac2fa564ddd469604057941b084c34b9f17cba20c6c5fb64f81fe20eda","impliedFormat":99},{"version":"0960051f0e7beeb8e7e00bc526dd17ceebfc49c918989a88e31b7b348455c55e","impliedFormat":99},{"version":"ceec621e7f442ca6ce7f89886531de82cedac0f207475d7988461678ccdbc46f","impliedFormat":99},{"version":"289133e7b6d773a0dd8a38e31252f8ff19a5a3c11ae0ef354acb36ebab79a08c","impliedFormat":99},{"version":"c11f63e3cf21540be513088ea6dfab1fc474ee011e7686f96e846f3caeb79f53","impliedFormat":99},{"version":"0c228ad3d53c5d7eb6b1f8b306fffff5bc1e4d6c7663790b7813f44a11277555","impliedFormat":99},{"version":"c852ec8f5257701147c8e19d8dbb8b9f89659982559678b3cf4df1b87c6b61db","impliedFormat":99},{"version":"c05bffd82ccef5be3dbaa20cafe4460f141bee5419fbd3f8fd421926546375fe","impliedFormat":99},{"version":"95ba593633b6f71e400f9b0bbce20d55b01baf8da698866af87ea3d204929c7b","impliedFormat":99},{"version":"ee63e12faec9f15ece2215f8ffe3400dc3c58bf3598f23e06eb393443d622bc6","impliedFormat":99},{"version":"3fd396436c5f6447620ec2b10cbb73c0fb6bdbb40255875471ba9099b5cef057","impliedFormat":99},{"version":"d3b484173a40d96e1a1f84607c6d3181ec58f99a2ccb44a9a9483c746ff1d889","impliedFormat":99},{"version":"b2f4c5c351eb14e0491a835a7df6edfbf9add2a9ee0398d27dbc23cc2154fce2","impliedFormat":99},{"version":"3a4104be36d6764f94b49da4c2912436ce8db9b596af87ad8208fd30edf67cc3","impliedFormat":99},{"version":"89e4dee3d22af342783f1be94b90086b76050eac85183ae5f99349ff3be34620","impliedFormat":99},{"version":"72e003b2c2d73b8980f2cc091dd2ed5fdd58ca3901bda2dae148964b1424b68d","impliedFormat":99},{"version":"b62c6e4674b2ec3b4f37c17bd0fa88e5a8b0c3130e0d77b3c739cbc8eb7f7b7b","impliedFormat":99},{"version":"e26a17cdd3eae370141f54212e65d035755ab759da211eab198663b1f5571e78","impliedFormat":99},{"version":"acdcd28f22beeb7564926225c41a2a4f018b61cf7ed2874bc351059b9c82521c","impliedFormat":99},{"version":"b816c66fd566bf325d3f2fbbae36f480afb1d04f960135dc8254e5d0d3d6403e","impliedFormat":99},{"version":"4525de65826e7dc48909a0349696b4b400ad2312c2cf04a656d949600491e793","impliedFormat":99},{"version":"a51ef269c38659810a4400bc61d058d64a023b0ba4d99eae1f96a1a8ba3c0889","impliedFormat":99},{"version":"8b95503320d19cc20b4455b13e8abfd5b6bac1cd3d64d1099d3f943c1f75d16d","impliedFormat":99},{"version":"a9cfc9543943d597dc5f3cc4231bd606c0891b5b7d95d3c0a3c357247ad13efb","impliedFormat":99},{"version":"26bf7ff148c9858001df0e926c4754ed98e14578603a57abd01bc1ff47b74646","impliedFormat":99},{"version":"959d339c34aed58f8951ff5694412a0de7bc524b970c6c1809df8f84526204b2","impliedFormat":99},{"version":"5f072af48d5448c3bf1a42dfbce09ecbe619dfad5e755b46aa9208657ca3ac91","impliedFormat":99},{"version":"ae55114dc5769203d4624c4ec1443dacb65756eb2a4f3501514e0b55d8261e10","impliedFormat":99},{"version":"bb76ffd17b2f2dc89a695943c524fd253b2e62850003296d05451437b036930a","impliedFormat":99},{"version":"359b15bb457cd98409e1bedfafff3a326dd653e57ce332a163ee7531bc503e7b","impliedFormat":99},{"version":"6f4dd5823236e281bd9777d27110c889bae179c950534a65482b3bd8b6450590","impliedFormat":99},{"version":"e201187dd90a20af63deed3787aaf5510f5887ce2b8e56dbed848e687f776ef7","impliedFormat":99},{"version":"485ce8923b4c68f1e973e58e5c99de8c3a5495b7e3fa86bed2b18face29d691c","impliedFormat":99},{"version":"1d0bceb8eff6e81e5d2e082f74fdfb0c870845135433f2e2a5a08fd0ea86cdf7","impliedFormat":99},{"version":"d9affb744ad7c29dc28bbc1b09f6edb7ef98d78554cd5bb8b5e449cfdc75b922","impliedFormat":99},{"version":"f22410a757278fc59e6e6e2b11ff934ddb03273d9c9102271b711e533b1f19e1","impliedFormat":99},{"version":"745ea53849be153ed733f5be27722378c89fe813b43b3b2798db370dd204df63","impliedFormat":99},{"version":"9fcbdf19795129354ce740c9e6f3f87e3646a158b0ff8ae9370d4d6d8427c585","impliedFormat":99},{"version":"ce2b3d20407b51a5d3176d05dfe66824ef5bd810e4dce3d6653073a9b8135c0f","impliedFormat":99},{"version":"33ec1dfc03c64c66974c8e3b1428045efdcbb9c121914467396b2c21d9d4eb4a","impliedFormat":99},{"version":"93a5f2a6b98cb165fe56377ca9d1c786062bf5f60dbc0dbd1b8ffc37bf2058ed","impliedFormat":99},{"version":"ac3d71a464b0c0d7b74e5e54cdfc8b66ca0c4d24e479c541be105a6a5f3437d4","impliedFormat":99},{"version":"8a309783376df92e49ec85d8d67644e9c68529e3ff8981eca03a5d182970a370","impliedFormat":99},{"version":"ebcc8c9286da7ffa1c10f126ff13b9e17b459f52348160a4e6e799c55b16c8cd","impliedFormat":99},{"version":"a35800efccf9b29ad232b07b7f4477b832f737c27b23a0f80d0c15d9fc7a83d1","impliedFormat":99},{"version":"a729483a0cfda4e5cd0da3610856aaa0047885ce965ef7e906eb501c4cc83ab1","impliedFormat":99},{"version":"1a8d13160ce2d91ae12f99391ff8d45e8025f655e8b3ca5493bb97e7a551b8cf","impliedFormat":99},{"version":"ee306cf4448abdc53b27bdd079f944d60b8b97fdf3807ab8f2ef6ac338058e27","impliedFormat":99},{"version":"3f6e344f84f047c66cae945e44e5efc833cf74d70ff9c2fd43ed931f8b4f613b","impliedFormat":99},{"version":"fd74e506283ed9a0fd33380c787833107763698bacd3de89fce55bf386f10530","impliedFormat":99},{"version":"cc629838fedbcb3b019abeae39d7633b23e316b1f4e07e8b3bd6af3dbb3352fd","impliedFormat":99},{"version":"6519c8402b2ca27e658cb4e357a51b5ef921fd17459d0f7ff1a809623e89e65d","impliedFormat":99},{"version":"e64df60cfb87bc304f8955948297bcc08cc56bf4eac3aa8307655edf2e3f4c94","impliedFormat":99},{"version":"6f6c565c4922ea624dd9e4fa147e0f954ed483cfae04c1a79e3dfbbe5a34b301","impliedFormat":99},{"version":"4b26dc473060c217ffdee9d8acbeb42f2b5f47e456abf642bc9bf43c55b631d5","impliedFormat":99},{"version":"b8c22ef6bac62298a1d42beaa496a5c25d41d58aa52c75ab20a180bdf0e40d20","impliedFormat":99},{"version":"3b193ba20407b9c7593e89f3b60471e542f1eb5b3d96086db92303088bc4c7d1","impliedFormat":99},{"version":"b45c8cc49500a28c92220eee45f2a5114d050c7bdb47db2f3ccac84e0820519f","impliedFormat":99},{"version":"ec4fae13ecde25181827193439d8e1b65c5f1046274ff4bc77221440cb289814","impliedFormat":99},{"version":"ff562477c8a16ee5f4bcef5a6fa4f15f81c7d6b266ee70f65f148c58daca4e1f","impliedFormat":99},{"version":"4546f9dab5bb28dbd5e7107837d8e831c7f711d93aef4158e4a7bccb6b6c6434","impliedFormat":99},{"version":"7c5bb0778e9a110cf9d7bc56778092e0c7085ca9310614232b5976d60d155eab","impliedFormat":99},{"version":"ff03706640bcac77e4f58adf06ec0031be0d0cca8a923a1faf20556e44bd050d","impliedFormat":99},{"version":"5254d6dcd66682e15c0391b36cf203b4835bdd06f7645c06cdbf3048a7e9453d","impliedFormat":99},{"version":"3363113ee6288a60931f54adb1f0642cbfd1e5b56e0222658d8f286762a0ebc7","impliedFormat":99},{"version":"f5d111df38da163ed1524d80053818f4a8b7a6ef9f1038b71438cd37155a5636","impliedFormat":99},{"version":"1e8325d4006884b0f386f48ba38b6da98ef76101275c8df9dcadc2791ced930e","impliedFormat":99},{"version":"57fc1c850ea0621398ce9b2eef1478a84d81dce619d9166929677111d19354b4","impliedFormat":99},{"version":"aaee889cd9f6dadecd10cd1b2200862b472c495f50e559b9c8eaae345ad26f9a","impliedFormat":99},{"version":"bc792fe4deb6e29a4ee455abe81ccc82e8f812893df98f372d9939e4a0f531d5","impliedFormat":99},{"version":"7e535aa0b32594cfac46eee313f8cb29e6b4bc45756701bbd0005c2cae78d02b","impliedFormat":99},{"version":"38a0236a27a2010cd8f7dc7549015cd2a7b7ec134b20bdc7a7ad4131c8b25922","impliedFormat":99},{"version":"2c4ed82fb9ac542cb6462700c8efc5d3159f6eafa1df20becfef616747339212","impliedFormat":99},{"version":"cacab561eb0ae2fecb00c1a144017cd07db81369e51084307e211e916bfc3934","impliedFormat":99},{"version":"ea4729dc4e138eddca2938e106676d9b1213978c2a01c883ab777c215319bfb5","impliedFormat":99},{"version":"a4f66519474561c34c96e0725de0f843876ca29c8f3809b228600f3da43c45d3","impliedFormat":99},{"version":"7b08db00400f9d3a46cb8cc38b41c2030374afb2104d26cece2d044d19764921","impliedFormat":99},{"version":"80412d2831bb2f40d8a0262f1206f016fbae8b853d5032a887e96c0693611f3e","impliedFormat":99},{"version":"8d5f1e5e5d70505b92d4fe6115799343827aabbc1d79d78cdaad40f9496196d6","impliedFormat":99},{"version":"ede9149cc681915a2c58c4d6b769eb6a710fa7ee8349375ed1b248489f02fdf1","impliedFormat":99},{"version":"41067082ac23b2056b6798738ad14fcdf44cb61baa544105fc58a8d0087a4b7f","impliedFormat":99},{"version":"cded066f47040ea576d4a8a5a1d23bd36998586eb0fccb9ee2397d0d867fcabc","impliedFormat":99},{"version":"292c62ec0f13939485b1d07267efda774a1f1c28427d9ce0587bee7814a272ab","impliedFormat":99},{"version":"e4cfb3009d72aa786b5aaeda0e30d92f31d9a3068256300a533ea212a597c1db","impliedFormat":99},{"version":"ff06cc0f0c793791fbeaefdcb53f07ce4e8339b6943f70f8f63948059f6fa15b","impliedFormat":99},{"version":"69b1d5ea3808a205019bc47b0589e2281d79723e2ba063e6cdaf53db98e32762","impliedFormat":99},{"version":"5c18fd2063e3009ca9440e29b2b9f772dc50481e6e904bb3d7e1b7c581f44e6c","impliedFormat":99},{"version":"a3516a2ebe7d9db121c789fb16e1b8bf8a00533a460e6caf864c620cd8e2bd5a","impliedFormat":99},{"version":"9f338bcdf0a130fcbf8c6e1b815319a363d41d4fc4268dfeaf9d1a3e46783107","impliedFormat":99},{"version":"0c69100576e37fd513901728ca6c65b5010760ae951d67506438e28ecf1dfa5b","impliedFormat":99},{"version":"4fa4071720ba6a030140ad344a0be0632e45ae2bcdfe42ded1e180536a6e5ba2","impliedFormat":99},{"version":"977955f2b26844057f12b835a3e77880f28eccc4ced877078dcada38ef8104c9","impliedFormat":99},{"version":"db9df25d2b7a5698d615faa1abf5ee735f06d1a3655e09ca1dd8d42350b8bc5b","impliedFormat":99},{"version":"fa7eb1ccc4909ff72c4706df9089f068a64c39850c3c256040ebaec356be458b","impliedFormat":99},{"version":"c2544841c726a93e4f08010807a9d779d8ea49ddc8868beb7f57f4dda3935a19","impliedFormat":99},{"version":"89840555c11535e071c554ed1228c3614be696d349e82d6e3e24dc6e974d29dd","impliedFormat":99},{"version":"6303c8204067ff8a09f72a91cdc30d4050dfef631d303723cbeb90cab254f1e5","impliedFormat":99},{"version":"b7353f7699ad7820260f1a706519e6ec1fc21a02cb7f6486e81d5d764fd804f3","impliedFormat":99},{"version":"2e564d47026dcf106b73ebb6e1881e0579a82fbbb33d042e76fa9ec00e08be5e","impliedFormat":99},{"version":"342b1c58e51174ae888f5a5a9775da7ba93c02bd532381a7be2b8db892e526ea","impliedFormat":99},{"version":"f02bfbd0e9fa87e770c74a5975cad0297e76e14df5ce03ba9c9a8f06dafd0792","impliedFormat":99},{"version":"ebc91af1b516925754acc43500b0a70413e61d056ecfba030e6ff3b36a5f3ede","impliedFormat":99},{"version":"1bac668988ffddd316531ae0a6c0b37a1ed45f111f8d40970f607cec2fe48612","impliedFormat":99},{"version":"c92fb3ddd606dbfb1b0775d34ecabed90bf663ab80db33132104339c020bffc5","impliedFormat":99},{"version":"942c63de4c8e50c87753d1f341352dcfa9d72b706318b28c0e1f121b9aa9ec5d","impliedFormat":99},{"version":"129be44dd4295bc4e5ffd5542597336e57990d9b7a81e39b7234a9a598706cfe","impliedFormat":99},{"version":"3b674726455d2a57b39784de2acd0d6d320e45a851afefdabef606af08df8603","impliedFormat":99},{"version":"1c4a26f6150f60a77396ef2150f4ca1afd0bd83d3f800fe52cd3d06ac0d4f6f1","impliedFormat":99},{"version":"ad6def877dee2d3c3993c41053e2c1af8475bc969b35de4538c97f4662f3de0b","impliedFormat":99},{"version":"1d6211f24b5d168b493dc22a53db1e55dd716b5f4b0aefce397b38cc02a445b5","impliedFormat":99},{"version":"2d3f848df16ecca7d60100360c6349dec0ad9a7f0d0e39eab92f66e3bc8f098b","impliedFormat":99},{"version":"2ef18933b69b23254b0306267212f048f4fa8aefc819fcd88e0fa52552895f5c","impliedFormat":99},{"version":"a44c3aaa3483362da75c408b4cff42d8c1d218d68920d59958917aebe3477e92","impliedFormat":99},{"version":"df6d299edea81d27b89945a5cb15aa1208ae9b09b39aed06129bb24ee6ed0051","impliedFormat":99},{"version":"e5062ae8bbf2b40ff2eb2787926ddb9998bcef55d958da8bfb2cc4b8b5d1c75f","impliedFormat":99},{"version":"d0b61c74289ce1c6b6eb9eb3841296d380ef1de607ce4cbaebc4acae871e40ed","impliedFormat":99},{"version":"bc0aa6e9796b091b57cea1210f81c1f1f0091c7eed4eb04b9543d676685894b7","impliedFormat":99},{"version":"e91fa2ba0cef937bd2e9e25202bffb97bf39e04f6c2d942315d1f6c6a76020f2","impliedFormat":99},{"version":"c8d20e6ff2b7f33cac83372c716d10cfd83f64a740bbd9a8b1089a8807c1c492","impliedFormat":99},{"version":"849ac05886b0e90cb64b699d967641777b211900251365fa619771e3a7361482","impliedFormat":99},{"version":"99abeb91f93b28adf402476fe260087498c6d47e98776c5378a60f8439dd91ee","impliedFormat":99},{"version":"6000f6c1f8f865cf09210a15c95a5f8edb985c253ba8ed58b5af0772c465384b","impliedFormat":99},{"version":"113b410c407fe216ad5085197d483044d29e6ca0c7108f322ff266cb2d8ec4f3","impliedFormat":99},{"version":"fd67e0b30ec2dad92d809951f63b5982b00595ca4cf3f83823429573e40095a0","impliedFormat":99},{"version":"339f6afadcfeadf85d64924ba460411bbcca6aa599ac7eac0ed81b88d5fe5336","impliedFormat":99},{"version":"0696f165aa010e7966568dd1149b180cb9c18eada93850c8bfbdb86f5fd20017","impliedFormat":99},{"version":"f2ce7d4493d33bc2f445e367d692c52511ee0a176b64366d09a416f85e9f200d","impliedFormat":99},{"version":"7af8d19815c33100c69f36ef5fe821ee93dbd946aea977fa61ef0a566f6a604a","impliedFormat":99},{"version":"d3b9e915c202d52b0c38ff2a79703474170ee1c4e48373d275e9de659553bea5","impliedFormat":99},{"version":"556abfc8927d79afaaf0959e30e354b261cc63b9c92f8232e270f03bed7a6187","impliedFormat":99},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"10ec5e82144dfac6f04fa5d1d6c11763b3e4dbbac6d99101427219ab3e2ae887","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"14e9acf826baba0ef4b5665704084896e7bcc06f65a9ab13af7e93d27d6b7069","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"21adf13435b9b748529c8cedf80f884e5130b9684188120a686cd2b26a2059c7","impliedFormat":1},{"version":"eec76bf6b9346f3f95fa402621b889489e96930e72295b0369022f332e9b4a6a","impliedFormat":1},{"version":"0ecd58f413f9bc3b7d4383eae31b0c8fc576985cd7404d6f99f8c643543ade74","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"9c32412007b5662fd34a8eb04292fb5314ec370d7016d1c2fb8aa193c807fe22","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"6ebe8ebb8659aaa9d1acbf3710d7dae3e923e97610238b9511c25dc39023a166","impliedFormat":1},{"version":"e85d7f8068f6a26710bff0cc8c0fc5e47f71089c3780fbede05857331d2ddec9","impliedFormat":1},{"version":"7befaf0e76b5671be1d47b77fcc65f2b0aad91cc26529df1904f4a7c46d216e9","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"5b03a034c72146b61573aab280f295b015b9168470f2df05f6080a2122f9b4df","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"d33ce35e3f9cfcc1d94eca415bdd3bde94d5b153ffdd33e6c4455c029986c630","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"4dc59f6e1dbf3d5f66660fceabe6c174d3261b37b696ae1854f0dbaf255fc753","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"436d7b4543b340b0f3eef4310d524242e41369b9652aa9c70428767c4dcac455","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"114f493b30f364255290472111b5a4791d5902c308645670cd0401429cbc6930","impliedFormat":1},{"version":"b3fb72492a07a76f7bfa29ecadd029eea081df11512e4dfe6f930a5a9cb1fb75","impliedFormat":1},{"version":"1edd9ccdc3b948db3bb3c5484aadeb0d68e55cfa34a999d9723a80b2ab99d06d","impliedFormat":99},{"version":"984640935b059f2be0b787f57a69bfe4c76a009e339551e30d91a760471075a4","impliedFormat":99},{"version":"fe2f8331dbc13f000247ac1db1558ab40bd4e6454b2840b2fc3463b42441985e","impliedFormat":99},{"version":"951dd0bcaf733fa65e1dcb4aaa2ca671c7ea8d462299765c70173d1e66f994b4","impliedFormat":99},{"version":"733f17063c289ff48359075868c95c5327a0e024ad8898dc3b61dfffa0c52503","impliedFormat":99},{"version":"b46a0ab42c99352442a41e7aa875eb9a5128331fd663c63a07b70a82c74ef19c","impliedFormat":99},{"version":"4f1dcc1dd4a02eb27e32ec3b7d261909b26f86b0f227c3d3123b18f8d619d258","impliedFormat":99},{"version":"faf0c122fb78be6d3225da99da1b8e3f827313f73036b2e32531490948d67ea6","impliedFormat":99},{"version":"d3d1d4dad3c6deb08c0e23e6e20977f81de9cdf6370973333e3f03b7d1b79a20","impliedFormat":99},{"version":"12930cb1ba852946639362633fc6b2af3a05165c7f962fb8ef819f4c7887312d","impliedFormat":99},{"version":"146ba4b99c5feb82663e17a671bf9f53bb39c704cd76345d6c5a801c26372f44","impliedFormat":1},{"version":"13d9a439d2c92b610799100bc4f434142bc557732b14ba1080000e34928c3c76","impliedFormat":99},{"version":"8bf01f2227d670e5c0e2472b7f0aebcdd80fed20d5f3e5b1e6637f466c107e29","impliedFormat":99},{"version":"67a6f25ac963d05fc7482d0262d01c87b35db52837ef012078c3c9335ae13fa8","impliedFormat":99},{"version":"b67550edd008ae2ce5be54579b686bf3d2dd224e71f57630671025d8d41eec52","impliedFormat":99},{"version":"ed94a21dbeaca6f8935aeea03c3f327930ba0df2efd20e10d695c8b7fe434a01","impliedFormat":99},{"version":"c5245e464fdba99fdeed4ab74ec3a1c15440fbf52447260cc889a078d09455f9","impliedFormat":99},{"version":"868762eb332580bcf7bf431eb6220f2d01d1ef865e2dc3c4bf3dd84cd719cc0f","impliedFormat":99},{"version":"7ff7d567b4ba5e84f3ca58f787f532a9e99e5d06bc5f6c291793cffa81abaca4","impliedFormat":99},{"version":"01938d705887bcd95db9bf5e84688f36df79f8d51d83305dfc74d0011e06d90e","impliedFormat":99},{"version":"81dcbd9e98743a166d4ffa15c3e33ec6061f660d0fbfb22ba0500c644d062ca6","impliedFormat":99},{"version":"ffb47e8a12928de9b95df9fa79f4b97ed20da433f237658ed5e777ec7141fd42","impliedFormat":99},{"version":"d92ceb2aad8f84f3c80362706230a8090bbb9e4a4055b227ef82640d7bddd946","impliedFormat":99},{"version":"cd412c34cbc5e418fcece22c80356fd67699d31b2f5426a7690fa9ad86feae97","impliedFormat":99},{"version":"2094f98caffbe54b58453a14ce6db7acac166add0dfa70dcf12546d9156f7818","impliedFormat":99},{"version":"87226120f7b78a78ddfec32b09e29346216ba185e870fd3852fc6d4e509ce7a0","impliedFormat":99},{"version":"03cf443b7b965982549cddae7684cfac860b1f4c0f3c4e3e2ba95bfde30e4eea","impliedFormat":99},{"version":"4eb41ea325cd80a8bdf56c79cb45af166c285513b452c84710130c4da4394e02","impliedFormat":99},{"version":"05ee472e5758f04fb053b0ae36ba66ab02511e7e0e13b11393c2ac50e864726d","impliedFormat":99},{"version":"c2de9445c869aa70e9492b3ce329fdefed8dbbaeb989eeac5f001b8721ee0cd5","impliedFormat":99},{"version":"f4eaec4a1cb0fa8cbfe8b80965da5d55e5cd97b00d20e3b231a8dbb99d208988","impliedFormat":99},{"version":"e989a0466063593b86c5fcb35b524c43eb3c24424eba9b8c70b15077ce11deb7","impliedFormat":99},{"version":"c50eeb9862d51f9853a2b108326ae8eecf0ea3e2bc860c5dea783dbe1d1d119a","impliedFormat":99},{"version":"ab92533c044f8ee27832278d7d6d67ec6263a45dfee9c36cdf87a4cbbce3fb8f","impliedFormat":99},{"version":"e0b07c87c1a9f2aefb0aa63b6e271c5c8d3c67384c61f152d758667172427e4f","impliedFormat":99},{"version":"ee918800aadf43a771fa1b119fa9b683625e5b506f3fd369ca5a0be9ab44153d","impliedFormat":99},{"version":"a1effb9d7868973b135964873f9db4c39bc5718340f65be76b9a5b5dc08afcbf","impliedFormat":99},{"version":"d1ea2ab67db6ca678ffb06158cae8c42c69ef5b17356d0d73d4ff0fedfd57353","impliedFormat":99},{"version":"b5874ea4d4ff7c1f82c09d86e0f66cc2aa976a5399ba014e8c2ebfa12afa0806","impliedFormat":99},{"version":"489c205a3528f8e790dec9b2c236360b25f857c2d4416bcad88e0d7e0b0a1e94","impliedFormat":99},{"version":"dcf7e1f6ae6b3ae810c310363bd6aa38bd80eacf5d958bb16f698e09e945310e","impliedFormat":99},{"version":"dc88c40dd4bd140b17d4d2916cda76fc57eec4a2656bbf104f71b1bb2e06ca44","impliedFormat":99},{"version":"3256aba0efb5dc262160f3cc281a4de18b03402ef49a54909c0bd5003fd52b7c","impliedFormat":99},{"version":"40e5410bb58dfc9ef9b4944a7d64ce79f3684d538dbab7a721892237a6f61e1c","impliedFormat":99},{"version":"d91ed294eff78f7ef07816c514503d6b7ae9de3876d71eb3fbf550c1d173997e","impliedFormat":99},{"version":"5f3b7ec5e68ae224717da6ec98ef94c8e7eead088e3997f1723d07c4b01651af","impliedFormat":99},{"version":"87b3487a5e5f1082b57a300aaca5f7cd79784e01dda8e2b2d8dadc1457d460e1","impliedFormat":99},{"version":"91211d69e33976023d7471ecfd596ef61d303c9689ae7d9e9a9c716db855b474","impliedFormat":99},{"version":"06d41f39164e70f6316a65e0bfbf1c5e254871f73bb41738d1f566544d69adc9","impliedFormat":99},{"version":"97123d5a37d790101dddd782ab6a429a6a11b8ceae548c65e34b1f2b74110056","impliedFormat":99},{"version":"2068ec01d9de09eab73bb3b2d8da67cadfd0213be04eaefaf9d94b26d26299c7","impliedFormat":99},{"version":"91e30683efc46ed947ac79397b85405a884dcbfd3e4bb87a37a2292534e88fe3","impliedFormat":99},{"version":"06153bb1551459f400cf80503cae3063e28f88dd6c47197b60cb1e0752992b44","impliedFormat":99},{"version":"1ad02d0fcba0cf447235f6d1edfb77e2f3576faa2163e3bd1f36c8a98757c1ba","impliedFormat":99},{"version":"15be380a7098838df81e84c1b7c742227932225bffb86e8d0352ea188e211ea7","impliedFormat":99},{"version":"fdc56cc70e1d36d7ae9c3bdddc3dba4298281c2673942a554af7b3208a8c6eba","impliedFormat":99},{"version":"d4ef28f2fa80536cc251a6fedb82acae7af14cf07ab6a6f5b995b61225ce2dcf","impliedFormat":99},{"version":"30159f3e6c8472a4ee4a0f5d3180b41733a7e66993743da476acd46920513603","impliedFormat":99},{"version":"0348a564954ef638d4fd9e530367ee732c4af536b043d8250458c56a9d21433f","impliedFormat":99},{"version":"d4ef28f2fa80536cc251a6fedb82acae7af14cf07ab6a6f5b995b61225ce2dcf","impliedFormat":99},{"version":"633fc6aead993eb3e21e96d92d781a56d2012b34a3f4e68a466e0747a55a4051","impliedFormat":99},{"version":"04652108a353c1814e7f71d1463e8202ba3bd4adcee093b489065b250f73ec33","impliedFormat":99},{"version":"11e21d75da9a8b6c4fc37c17641c6faf61d2d491b827355a7e22bb88325cb994","impliedFormat":99},{"version":"f1a339847338888b27677a13936236270e73d8a7815386e4665a42248f765dee","impliedFormat":99},{"version":"bab780528e40e70b6043f3c748ebf98467f50c8c0b5fab59610c841feafe06bd","impliedFormat":99},{"version":"5594e6f917dd9e2b2987afa15211c5f483c55d466ce778ba25b545ca16d811c9","impliedFormat":99},{"version":"c6fe327c538417b8dd5b9bb32abcd7911534b10da3a4514f3445cdb28cf3abf2","impliedFormat":99},{"version":"32c6e3ef96f2bcbc1db7d7f891459241657633aa663cab6812fb28ade7c90608","impliedFormat":99},{"version":"17da8f27c18a2a07c1a48feb81887cb69dacc0af77c3257217016dacf9202151","impliedFormat":99},{"version":"0065cdb7ac9f5b19921632de63f888ec2cc11ad57f7fc868f44bf0faad2fce3e","impliedFormat":99},{"version":"8c1adc3171d0287f3a26f4891a7d1834c89999573a9b444aa5ff519dcc43a2b7","impliedFormat":99},{"version":"27aee784c447854a4719f11058579e49f08faa70d06d8e30abe00f5e25538de6","impliedFormat":99},{"version":"fbc610f9dde70f0bbea39eefec2e31ca1d99f715e9c71fb118bd2306a832bcb5","impliedFormat":99},{"version":"a829052855dca3affb8e2ef0afa0f013b03fa9b55762348b1fba76d9c2741c99","impliedFormat":99},{"version":"1d61288b34b2dd2029b85bc70fabbb1da90c2a370396d5df5f620e62eb47ddbe","impliedFormat":99},{"version":"5a2cf4cd852a58131b320da62269b2143850920ce27e8fdec41fed5c2c54ec95","impliedFormat":99},{"version":"f193437b3919bbe63c2c1bb1abe20fa3eb717ce34fc719d903077784e11e9fc7","impliedFormat":99},{"version":"6a99940a8a76a1aa20ae6f2afd8e909e47e0b17df939e7cf5a585171480655ff","impliedFormat":99},{"version":"043195af0b52aadd10713870dd60369df0377ed153104b26e6bac1213b19f63e","impliedFormat":99},{"version":"ad17a36132569045ab97c8e5badf8febb556011a8ed7b2776ff823967d6d5aca","impliedFormat":99},{"version":"698d2b22251dbbfc0735e2d6ed350addead9ad031fac48b8bb316e0103d865db","impliedFormat":99},{"version":"7298d28b75c52e89c0b3e5681eac19e14480132cd30baaba5e5ca10211a740ef","impliedFormat":99},{"version":"ff10facf373a13d2864ff4de38c4892d74be27d9c6468dac49c08adabbf9b0eb","impliedFormat":99},{"version":"97b1cf4599cc3bc2e84b997aa1af60d91ca489d96bea0e20aaff0e52a5504b29","impliedFormat":99},{"version":"853dfbcd0999d3edc6be547d83dc0e0d75bf44530365b9583e75519d35984c35","impliedFormat":99},{"version":"9c80bed388d4ed47080423402db9cb1b35a31449045a83a0487f4dfde3d9d747","impliedFormat":99},{"version":"f29bc6a122a4a26c4e23289daae3aa845a18af10da90989cb8b51987e962b7be","impliedFormat":99},{"version":"3a1f39e098971c10633a064bd7a5dbdec464fcf3864300772763c16aa24457f9","impliedFormat":99},{"version":"20e614d6e045d687c3f7d707561b7655ad6177e859afc0c55649b7e346704c77","impliedFormat":99},{"version":"aa0ae1910ba709bc9db460bdc89a6a24d262be1fbea99451bedac8cbbc5fb0cd","impliedFormat":99},{"version":"161d113c2a8b8484de2916480c7ba505c81633d201200d12678f7f91b7a086f0","impliedFormat":99},{"version":"b998a57d4f43e32ac50a1a11f4505e1d7f71c3b87f155c140debe40df10386c8","impliedFormat":99},{"version":"5710e8ed9797ae0042e815eb8f87df2956cb1bf912939c9b98eeb58494a63c13","impliedFormat":99},{"version":"a6bb421dccfec767dbd3e99180b24c07c4a216c0fd549f54a3313f6ce3f9d2c7","impliedFormat":99},{"version":"3b6f1be46f573b1c1f3e6cd949890bfb96b40ff90b6f313e425a379c1c4d5d77","impliedFormat":99},{"version":"28a2c54d0a78d32c29f7279ca04dc6c7860c008579e4e3033938c0ed0201eb9a","impliedFormat":99},{"version":"c2714a402843287624210a47ebea2b1c8dd3ad1438f448633f6831e31eaf37b8","impliedFormat":99},{"version":"b89945ec6707415d739f3e76f2820982d4927dc6b681910b3c433b5ad261b817","impliedFormat":99},{"version":"a72d5822fb2a2c1ef985b30aed889f4c00342c90e12318762fccc550c6a599cf","impliedFormat":99},{"version":"c8616ab60eda93ca87fbb20aada1d6a6cdbcd2cb181a70a2d7728a3cb0613391","impliedFormat":99},{"version":"eeddfd3e0b09890822068de5248d38144f8328e74b5292847eb4e558d8aba8cb","impliedFormat":99},{"version":"d4dc0b6592543314c8549c71e35ad2ec4a57904662d905ff9585836bde1c855a","impliedFormat":99},{"version":"56e1687a174cd10912a35a4676af434bb213aafa5d4371040986c578afe644ab","impliedFormat":99},{"version":"470c280cc484340b97d0942e0c3aa312399eba3849ceb95312d0d7413bac7458","impliedFormat":99},{"version":"ae183f4a6300aad2be92cdbd4dd12d8bcd36eddf8dd1846f998c237235fe0c33","impliedFormat":99},{"version":"4b0eeffddaf51b967e95926a825a6ba1205b81b3a8fecddbe21eaf0e86bdee91","impliedFormat":99},{"version":"bf3ec0d42e33e487c359a989b30e1c9e90fa06de484dc4751e93fb34a9b5cf90","impliedFormat":99},{"version":"7b9656a61d83df1a46c38c2984dbf96dd057bf48f477ddf3f8990311ab98ec23","impliedFormat":99},{"version":"366b85ddb698f3a035e0caa68dc9fef39a85c4368c0810eaf937c3a3c63ac31e","impliedFormat":99},{"version":"d440ee730bc60a5c605903842e398863e7ecdb7a91fc32a9152f14061bf6cc17","impliedFormat":99},{"version":"a12c86c4a691608d19a75320946c80bbce38bb62c091dda32572aee7158edd38","impliedFormat":99},{"version":"3109cb3f8ab0308d2944c26742b6a8a02b4a4ffc23f479a81f0e945d6a6721dd","impliedFormat":99},{"version":"a2289c12a987f2a06f4cf049afde4fdc9455a4af37913445148865938c6eb613","impliedFormat":99},{"version":"55933c1450edcfaf166429425dbbad0a27c0ae8672d5ab5d427e46946a6f2f63","impliedFormat":99},{"version":"6c684fda6998db4112e82367c9e82e27996dc8086a10d58ac9b51d89770d5f9d","impliedFormat":99},{"version":"5c4b4dd983471fcaed17ad3241c98a1f880729f1ca579ddbcdae7e0bf04035df","impliedFormat":99},{"version":"9e430429c7e9e70071a836ac91a1bf6e6651f91d47d9f4baf0a92eefc6130818","impliedFormat":99},{"version":"b3db7f6d7ef72669dc83fa1ff7b90a2ec31d1d8f82778f2a00ef6d101f5247e5","impliedFormat":99},{"version":"354f61bd2a5acaf20462bc4d61048aa25f8fc0dd04dfe3d2f30bdbabbab54e7d","impliedFormat":99},{"version":"d51756340928e549f076c832d7bc2b4180385597b0b4daaa50e422bed53e1a72","impliedFormat":99},{"version":"ac2ea00eb8f73665842e57e729e14c6d3feabe9859dc5e87a1ed451b20b889e4","impliedFormat":99},{"version":"730cb342a128f5a8a036ffbd6dbc1135b623ce2100cefe1e1817bb8845bc7100","impliedFormat":99},{"version":"78e387f16df573a98dd51b3c86d023ddbd5bf68e510711a9fee8340e7ccc3703","impliedFormat":99},{"version":"e2381c64702025b4d57b005e94ed0b994b5592488d76f1e5f67f59d1860ebb70","impliedFormat":99},{"version":"d7dfcb039ff9cff38ccd48d2cc1ba95ca45c316670eddbcf81784e21b7128692","impliedFormat":99},{"version":"acaf0a60eb243938f7742df08bf5d52482fbea033fd27141ee3a6d878bbb0d3d","impliedFormat":99},{"version":"fb89aeecfc8eb28f5677c2c89bced74d13442b7f4ebd01ce2ce92127d1b36d69","impliedFormat":99},{"version":"9e91cb0a5bd7aefa2b94a2872828d6d2321df0ca44412e74d99e8b94e579b7d8","impliedFormat":99},{"version":"a56827adea79fb04ecb27671b6a3529fe74c6937ebb9ca9bdd53b7bd0e8c861b","impliedFormat":99},{"version":"192c1a207b44af476190ae66920636de5d56c33b57206bbc2421adc23f673e2e","impliedFormat":99},{"version":"e5aa35b3740170492e06e60989d35a222cfda2148507c650ea55753f726c9213","impliedFormat":99},{"version":"057aa42f6983120c35373aed62b219ffcbd7b476b2df08709139a9eb8dfeed26","impliedFormat":99},{"version":"95a0c46b4675d4d02de6a7c167738f1176b53b26ebec9ccfe8e5d9acb0dc7aee","impliedFormat":99},{"version":"94ad4d9745811c482ae3bad61e5b206e0904f77e0dacf783199193a3df9f6ce6","impliedFormat":99},{"version":"407dc18ecd25802296fade17be81d0d4f499ae75fe88ed132f94e7efdad269e2","impliedFormat":99},{"version":"77dabe31d44c48782c529d5c9acddc41f799bf9b424b259596131efc77355478","impliedFormat":99},{"version":"f6dfe21d867aa5e13bc53d536b69b66427f571707a01e7c3604dc51ded097313","impliedFormat":99},{"version":"4ecd02d0e4ccf7befb9c28802c6c208060e33291d56fd1868900ca295c399077","impliedFormat":99},{"version":"37ada75be4b3f6b888f538091020d81b2a0ad721dc42734f70f639fa4703a5c8","impliedFormat":99},{"version":"aa73ff0024d5434a3e87ea2824f6faece7aad7b9f6c22bd399268241ca051dc7","impliedFormat":99},{"version":"4c9fb50b0697756bab3e4095f28839cf5b55430a4744d2ebbaf850ec8dca54d8","impliedFormat":99},{"version":"782868b723c055c5612c4a243f72a78a8b3c0c3b707ae04954e36e8ab966df4c","impliedFormat":99},{"version":"3de9d9ad4876972e7599fc0b3bddb0fddb1923be75787480a599045a30f14292","impliedFormat":99},{"version":"0f4b3c05937bbdb9cf954722ddc97cd72624e3b810f6f2cf4be334adb1796ec1","impliedFormat":99},{"version":"9fc243c4c87d8560348501080341e923be2e70bf7b5e09a1b26c585d97ae8535","impliedFormat":99},{"version":"4f97089fe15655ae448c9d005bb9a87cc4e599b155edc9e115738c87aa788464","impliedFormat":99},{"version":"f948d562d0a8085f1bd17b50798d5032529a75c147f40adfeb4fd3e453368643","impliedFormat":99},{"version":"22929f9874783b059156ee3cfa864d6f718e1abf9c139f298a037ae0274186f6","impliedFormat":99},{"version":"c72a7c316459b2e872ca4a9aca36cc05d1354798cee10077c57ff34a34440ac2","impliedFormat":99},{"version":"3e5bbf8893b975875f5325ebf790ab1ab38a4173f295ffea2ed1f108d9b1512c","impliedFormat":99},{"version":"9e4a38448c1d26d4503cf408cc96f81b7440a3f0a95d2741df2459fe29807f67","impliedFormat":99},{"version":"84124d21216da35986f92d4d7d1192ca54620baeca32b267d6d7f08b5db00df9","impliedFormat":99},{"version":"efba354914a2dc1056a55510188b6ced85ead18c5d10cc8a767b534e2db4b11b","impliedFormat":99},{"version":"25f5bf39f0785a2976d0af5ac02f5c18ca759cde62bc48dd1d0d99871d9ad86f","impliedFormat":99},{"version":"e711fa7718a2060058ff98ac6bff494c1615b9d42c4f03aa9c8270bc34927164","impliedFormat":99},{"version":"e324b2143fa6e32fac37ed9021b88815e181b045a9f17dbb555b72d55e47cdc1","impliedFormat":99},{"version":"3e90ea83e3803a3da248229e3027a01428c3b3de0f3029f86c121dc76c5cdcc2","impliedFormat":99},{"version":"9368c3e26559a30ad3431d461f3e1b9060ab1d59413f9576e37e19aaf2458041","impliedFormat":99},{"version":"915e5bb8e0e5e65f1dc5f5f36b53872ffcdcaef53903e1c5db7338ea0d57587a","impliedFormat":99},{"version":"92cf986f065f18496f7fcb4f135bff8692588c5973e6c270d523191ef13525ad","impliedFormat":99},{"version":"652f2bd447e7135918bc14c74b964e5fe48f0ba10ff05e96ed325c45ac2e65fb","impliedFormat":99},{"version":"cc2156d0ec0f00ff121ce1a91e23bd2f35b5ab310129ad9f920ddaf1a18c2a4d","impliedFormat":99},{"version":"7b371e5d6e44e49b5c4ff88312ae00e11ab798cfcdd629dee13edc97f32133d8","impliedFormat":99},{"version":"e9166dab89930e97bb2ce6fc18bcc328de1287b1d6e42c2349a0f136fc1f73e6","impliedFormat":99},{"version":"6dc0813d9091dfaed7d19df0c5a079ee72e0248ce5e412562c5633913900be25","impliedFormat":99},{"version":"e704c601079399b3f2ec4acdfc4c761f5fe42f533feaaab7d2c1c1528248ca3e","impliedFormat":99},{"version":"49104d28daa32b15716179e61d76b343635c40763d75fe11369f681a8346b976","impliedFormat":99},{"version":"04cd3418706b1851d2c1d394644775626529c23e615a829b8abfe26ec0ee3aef","impliedFormat":99},{"version":"21e459e9485fc48f21708d946c102e4aaa4a87b4c9ad178e1c5667e3ff6bbc59","impliedFormat":99},{"version":"97e685ac984fc93dcdae6c24f733a7a466274c103fdcf5d3b028eaa9245f59d6","impliedFormat":99},{"version":"68526ea8f3bbf75a95f63a3629bebe3eb8a8d2f81af790ce40bc6aad352a0c12","impliedFormat":99},{"version":"bcab57f5fe8791f2576249dfcc21a688ecf2a5929348cfe94bf3eb152cff8205","impliedFormat":99},{"version":"b5428f35f4ebf7ea46652b0158181d9c709e40a0182e93034b291a9dc53718d8","impliedFormat":99},{"version":"0afcd28553038bca2db622646c1e7fcf3fb6a1c4d3b919ef205a6014edeeae0f","impliedFormat":99},{"version":"ee016606dd83ceedc6340f36c9873fbc319a864948bc88837e71bd3b99fdb4f6","impliedFormat":99},{"version":"0e09ffe659fdd2e452e1cbe4159a51059ae4b2de7c9a02227553f69b82303234","impliedFormat":99},{"version":"4126cb6e6864f09ca50c23a6986f74e8744e6216f08c0e1fe91ab16260dab248","impliedFormat":99},{"version":"4927dba9193c224e56aa3e71474d17623d78a236d58711d8f517322bd752b320","impliedFormat":99},{"version":"3d3f189177511d1452e7095471e3e7854b8c44d94443485dc21f6599c2161921","impliedFormat":99},{"version":"bb0519ff5ef245bbf829d51ad1f90002de702b536691f25334136864be259ec5","impliedFormat":99},{"version":"a64e28f2333ea0324632cf81fd73dc0f7090525547a76308cb1dfe5dab96596a","impliedFormat":99},{"version":"883f9faa0229f5d114f8c89dadd186d0bdf60bdafe94d67d886e0e3b81a3372e","impliedFormat":99},{"version":"d204b9ae964f73721d593e97c54fc55f7fd67de826ce9e9f14b1e762190f23d1","impliedFormat":99},{"version":"91830d20b424859e5582a141efe9a799dc520b5cce17d61b579fb053c9a6cd85","impliedFormat":99},{"version":"68115cdc58303bad32e2b6d59e821ccaada2c3fb63f964df7bd4b2ebd6735e80","impliedFormat":99},{"version":"ee27e47098f1d0955c8a70a50ab89eb0d033d28c5f2d76e071d8f52a804afe07","impliedFormat":99},{"version":"7957b11f126c6af955dc2e08a1288013260f9ec2776ff8cc69045270643bf43e","impliedFormat":99},{"version":"d010efe139c8bb78497dc7185dddbbcefc84d3059b5d8549c26221257818a961","impliedFormat":99},{"version":"85059ed9b6605d92c753daf3a534855ba944be69ff1a12ab4eca28cefbabd07a","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"ea68a96f4e2ba9ca97d557b7080fbdb7f6e6cf781bb6d2e084e54da2ac2bb36c","impliedFormat":99},{"version":"fdae6a221872468d5b6ef3ee06a5ede1b7b3168b6c8346d0bf389fe0490b5269","impliedFormat":99},{"version":"424df1d45a2602f93010cb92967dfe76c3fcadad77d59deb9ca9f7ab76995d40","impliedFormat":99},{"version":"21f96085ed19d415725c5a7d665de964f8283cacef43957de10bdd0333721cc4","impliedFormat":99},{"version":"e8d4da9e0859c6d41c4f1c3f4d0e70446554ba6a6ab91e470f01af6a2dcac9bf","impliedFormat":99},{"version":"2e2421a3eec7afefa5a1344a6852d6fee6304678e2d4ee5380b7805f0ac8b58a","impliedFormat":99},{"version":"a10fd5d76a2aaba572bec4143a35ff58912e81f107aa9e6d97f0cd11e4f12483","impliedFormat":99},{"version":"1215f54401c4af167783d0f88f5bfb2dcb6f0dacf48495607920229a84005538","impliedFormat":99},{"version":"476f8eb2ea60d8ad6b2e9a056fdda655b13fd891b73556b85ef0e2af4f764180","impliedFormat":99},{"version":"2fe93aef0ee58eaa1b22a9b93c8d8279fe94490160703e1aabeff026591f8300","impliedFormat":99},{"version":"bbb02e695c037f84947e56da3485bb0d0da9493ed005fa59e4b3c5bc6d448529","impliedFormat":99},{"version":"ba666b3ab51c8bc916c0cebc11a23f4afec6c504c767fd5f0228358f7d285322","impliedFormat":99},{"version":"c10972922d1887fe48ed1722e04ab963e85e1ac12263a167edef9b804a2af097","impliedFormat":99},{"version":"6efeacbd1759ea57a4c7264eb766c531ae0ab2c00385294be58bc5031ef43ad1","impliedFormat":99},{"version":"1c261f5504d0175be4f1b6b99f101f4c3a129a5a29fc768e65c52d6861ca5784","impliedFormat":99},{"version":"f0e69b5877b378d47cbac219992b851e2bbc0f7e3a3d3579d67496dabd341ec4","impliedFormat":99},{"version":"b5ea27f19a54feca5621f5ba36a51026128ea98e7777e5d47f08b79637527cf5","impliedFormat":99},{"version":"b54890769fa3c34ab3eb7e315b474f52d5237c86c35f17d59eb21541e7078f11","impliedFormat":99},{"version":"c133db4b6c17a96db7fa36607c59151dec1e5364d9444cbe15e8c0ea4943861e","impliedFormat":99},{"version":"3a0514f77606d399838431166a0da6dbd9f3c7914eae5bbfbd603e3b6a552959","impliedFormat":99},{"version":"fa568f8d605595e1cffbfca3e8c8c492cf88ae2c6ed151f6c64acf0f9e8c25d8","impliedFormat":99},{"version":"c76fb65cb2eb09a0ee91f02ff5b43a607b94a12c34d16d005b2c0afc62870766","impliedFormat":99},{"version":"cf7af60a0d4308a150df0ab01985aabb1128638df2c22dd81a2f5b74495a3e45","impliedFormat":99},{"version":"913bbf31f6b3a7388b0c92c39aec4e2b5dba6711bf3b04d065bd80c85b6da007","impliedFormat":99},{"version":"42d8c168ca861f0a5b3c4c1a91ff299f07e07c2dd31532cd586fd1ee7b5e3ae6","impliedFormat":99},{"version":"a29faa7cb35193109ec1777562ca52c72e7382ffe9916b26859b5874ad61ff29","impliedFormat":99},{"version":"15bdf2eeef95500ba9f1602896e288cb425e50462b77a07fa4ca23f1068abb21","impliedFormat":99},{"version":"452db58fd828ab87401f6cecc9a44e75fa40716cc4be80a6f66cf0a43c5a60cc","impliedFormat":99},{"version":"54592d0215a3fd239a6aa773b1e1a448dc598b7be6ce9554629cd006ee63a9d6","impliedFormat":99},{"version":"9ee28966bb038151e21e240234f81c6ba5be6fde90b07a9e57d4d84ae8bc030c","impliedFormat":99},{"version":"2fe1c1b2b8a41c22a4e44b0ac7316323d1627d8c72f3f898fa979e8b60d83753","impliedFormat":99},{"version":"956e43b28b5244b27fdb431a1737a90f68c042e162673769330947a8d727d399","impliedFormat":99},{"version":"92a2034da56c329a965c55fd7cffb31ccb293627c7295a114a2ccd19ab558d28","impliedFormat":99},{"version":"c1b7957cd42a98ab392ef9027565404e5826d290a2b3239a81fbac51970b2e63","impliedFormat":99},{"version":"4861ee34a633706bcbba4ea64216f52c82c0b972f3e790b14cf02202994d87c5","impliedFormat":99},{"version":"7af4e33f8b95528de005282d6cca852c48d293655dd7118ad3ce3d4e2790146f","impliedFormat":99},{"version":"df345b8d5bf736526fb45ae28992d043b2716838a128d73a47b18efffe90ffa7","impliedFormat":99},{"version":"d22c5b9861c5fc08ccd129b5fc3dcdc7536e053c0c1d463f3ab39820f751c923","impliedFormat":99},{"version":"dcc38f415a89780b34d827b45493d6dbadb05447d194feb4498172e508c416ac","impliedFormat":99},{"version":"7e917e3b599572a2dd9cfa58ff1f68fda9e659537c077a2c08380b2f2b14f523","impliedFormat":99},{"version":"20b108e922abd1c1966c3f7eb79e530d9ac2140e5f51bfa90f299ad5a3180cf9","impliedFormat":99},{"version":"2bc82315d4e4ed88dc470778e2351a11bc32d57e5141807e4cdb612727848740","impliedFormat":99},{"version":"e2dd1e90801b6cd63705f8e641e41efd1e65abd5fce082ef66d472ba1e7b531b","impliedFormat":99},{"version":"a3cb22545f99760ba147eec92816f8a96222fbb95d62e00706a4c0637176df28","impliedFormat":99},{"version":"287671a0fe52f3e017a58a7395fd8e00f1d7cd9af974a8c4b2baf35cfda63cfa","impliedFormat":99},{"version":"e2cdad7543a43a2fb6ed9b5928821558a03665d3632c95e3212094358ae5896b","impliedFormat":99},{"version":"326a980e72f7b9426be0805774c04838e95195b467bea2072189cefe708e9be7","impliedFormat":99},{"version":"e3588e9db86c6eaa572c313a23bf10f7f2f8370e62972996ac79b99da065acaa","impliedFormat":99},{"version":"1f4700278d1383d6b53ef1f5aecd88e84d1b7e77578761838ffac8e305655c29","impliedFormat":99},{"version":"6362a4854c52419f71f14d3fee88b3b434d1e89dcd58a970e9a82602c0fd707a","impliedFormat":99},{"version":"fb1cc1e09d57dfeb315875453a228948b904cbe1450aaf8fda396ff58364a740","impliedFormat":99},{"version":"50652ed03ea16011bb20e5fa5251301bb7e88c80a6bf0c2ea7ed469be353923b","impliedFormat":99},{"version":"d388e0c1c9a42d59ce88412d3f6ce111f63ce2ff558e0a3f84510092431dfee0","impliedFormat":99},{"version":"35ea0a1e995aef5ae19b1553548a793c76eb31bdf7fef30bc74656660c3a09c3","impliedFormat":99},{"version":"56f4ae4e34cbff1e4158ccada4feea68a357bae86adb3bedaa65260d0af579df","impliedFormat":99},{"version":"6eebdacf8e85b2cf70ad7a2f43ead1f8acccfd214ab57ff1d989e9e35661015d","impliedFormat":99},{"version":"a4f90a12cbfac13b45d256697ce70a6b4227790ca2bf3898ffd2359c19eab4eb","impliedFormat":99},{"version":"4a6c2ac831cff2d8fa846dfb010ee5f7afce3f1b9bd294298ee54fdc555f1161","impliedFormat":99},{"version":"8395cc6350a8233a4da1c471bdac6b63d5ed0a0605da9f1e0c50818212145b5b","impliedFormat":99},{"version":"b58dda762d6bd8608d50e1a9cc4b4a1663a9d4aa50a9476d592a6ecdc6194af4","impliedFormat":99},{"version":"bc14cb4f3868dab2a0293f54a8fe10aa23c0428f37aece586270e35631dd6b67","impliedFormat":99},{"version":"2d4530d6228c27906cb4351f0b6af52ff761a7fab728622c5f67e946f55f7f00","impliedFormat":99},{"version":"ec359d001e98bf56b0e06b4882bd1421fd088d4d181dff3138f52175c0582a51","impliedFormat":99},{"version":"2ac845b89cae82a74e549c7c1d9f983f993033ba14376ea83cd13b3e38a8537a","impliedFormat":99},{"version":"a8d491b4eb728dab387933a518d9e1f32d5c9d5a5225ff134d847b0c8cc9c8ce","impliedFormat":99},{"version":"668f628ae1f164dcf6ea8f334ea6a629d5d1a8e7a2754245720a8326ff7f1dc0","impliedFormat":99},{"version":"5105c00e1ae2c0a17c4061e552fa9ec8c74ec41f69359b8719cb88523781018e","impliedFormat":99},{"version":"d2c033af6f2ea426de4657177f0e548ee5bed6756c618a8b3b296c424e542388","impliedFormat":99},{"version":"45be28de10e6f91aacb29fbd2955ba65a0fd3d1b5fddefece9c381043e91e68d","impliedFormat":99},{"version":"77dabe31d44c48782c529d5c9acddc41f799bf9b424b259596131efc77355478","impliedFormat":99},{"version":"6801ebe0b7ab3b24832bc352e939302f481496b5d90b3bc128c00823990d7c7d","impliedFormat":99},{"version":"0abb1feddc76a0283c7e8e8910c28b366612a71f8bfdd5ca42271d7ad96e50b2","impliedFormat":99},{"version":"ac56b2f316b70d6a727fdbbcfa8d124bcd1798c293487acb2b27a43b5c886bb0","impliedFormat":99},{"version":"d849376baf73ec0b17ffd29de702a2fdbbe0c0390ec91bebf12b6732bf430d29","impliedFormat":99},{"version":"40dcd290c10cc7b04a55f7ee5c76f77250f48022cea1624eba2c0589753993b4","impliedFormat":99},{"version":"0f9c9f7d13a5cf1c63eb56318b6ae4dfa2accef1122b2e88b5ed1c22a4f24e3b","impliedFormat":99},{"version":"9c4178832d47d29c9af3b1377c6b019f7813828887b80bb96777393f700eb260","impliedFormat":99},{"version":"dddb8672a0a6d0e51958d539beb906669a0f1d3be87425aaa0ae3141a9ad6402","impliedFormat":99},{"version":"6b514d5159d0d189675a1d5a707ba068a6da6bc097afb2828aae0c98d8b32f08","impliedFormat":99},{"version":"39d7dbcfec85393fedc8c7cf62ee93f7e97c67605279492b085723b54ccaca8e","impliedFormat":99},{"version":"81882f1fa8d1e43debb7fa1c71f50aa14b81de8c94a7a75db803bb714a9d4e27","impliedFormat":99},{"version":"c727a1218e119f1549b56dd0057e721d67cfa456c060174bac8a5594d95cdb2d","impliedFormat":99},{"version":"bca335fd821572e3f8f1522f6c3999b0bc1fe3782b4d443c317df57c925543ed","impliedFormat":99},{"version":"73332a05f142e33969f9a9b4fb9c12b08b57f09ada25eb3bb94194ca035dc83d","impliedFormat":99},{"version":"c366621e6a8febe9bbca8c26275a1272d99a45440156ca11c860df7aa9d97e6d","impliedFormat":99},{"version":"d9397a54c21d12091a2c9f1d6e40d23baa327ae0b5989462a7a4c6e88e360781","impliedFormat":99},{"version":"dc0e2f7f4d1f850eb20e226de8e751d29d35254b36aa34412509e74d79348b75","impliedFormat":99},{"version":"af3102f6aec26d237c750decefdc7a37d167226bb1f90af80e1e900ceb197659","impliedFormat":99},{"version":"dea1773a15722931fbfe48c14a2a1e1ad4b06a9d9f315b6323ee112c0522c814","impliedFormat":99},{"version":"b26e3175cf5cee8367964e73647d215d1bf38be594ac5362a096c611c0e2eea8","impliedFormat":99},{"version":"4280093ace6386de2a0d941b04cff77dda252f59a0c08282bd3d41ccc79f1a50","impliedFormat":99},{"version":"fe17427083904947a4125a325d5e2afa3a3d34adaedf6630170886a74803f4a2","impliedFormat":99},{"version":"0246f9f332b3c3171dcdd10edafab6eccb918c04b2509a74e251f82e8d423fb7","impliedFormat":99},{"version":"f6ef33c2ff6bbdf1654609a6ca52e74600d16d933fda1893f969fc922160d4d7","impliedFormat":99},{"version":"1abd22816a0d992fd33b3465bf17a5c8066bf13a8c6ca4fc0cd28884b495762d","impliedFormat":99},{"version":"82032a08169ea01cf01aa5fd3f7a02f1f417697df5e42fc27d811d23450bc28d","impliedFormat":99},{"version":"9c8cbd1871126e98602502444cffb28997e6aa9fbc62d85a844d9fd142e9ae1b","impliedFormat":99},{"version":"b0e20abc4a73df8f97b3f1223cc330e9ba3b2062db1908aa2a97754a792139ac","impliedFormat":99},{"version":"bc1f2428d738ab789339030078adf313100471c37d8d69f6cf512a5715333afc","impliedFormat":99},{"version":"dc500c6a23c9432849c82478bdab762fa7bdf9245298c2279a7063dd05ae9f9a","impliedFormat":99},{"version":"cd1b6a2503fc554dcab602e053565c4696e4262b641b897664d840a61f519229","impliedFormat":99},{"version":"af1580cd202df0e33fc592fe1d75d720c15930a4127a87633542b33811316724","impliedFormat":99},{"version":"538608f9242fbf4260d694f19c95b454f855152ab3b882ac72114f19b08984d2","impliedFormat":99},{"version":"cd0e1083bd8ae52661544329c311836abdda5d5dda89fc5d7ab038956c0394e8","impliedFormat":99},{"version":"9ea6fea875302b2bb3976f7431680affc45a4319499d057ce12be04e4f487bf9","impliedFormat":99},{"version":"66e0c3f9875da7be383d0c78c8b8940b6ebae3c6a0fbfd7e77698b5e8ade3b05","impliedFormat":99},{"version":"da38d326fe6a72491cad23ea22c4c94dfc244363b6a3ec8a03b5ad5f4ee6337b","impliedFormat":99},{"version":"da587bf084b08ea4e36a134ec5fb19ae71a0f32ec3ec2a22158029cb2b671e28","impliedFormat":99},{"version":"517a31c520e08c51cfe6d372bc0f5a6bf7bd6287b670bcaa180a1e05c6d4c4da","impliedFormat":99},{"version":"0263d94b7d33716a01d3e3a348b56c2c59e6d897d89b4210bdbf27311127223c","impliedFormat":99},{"version":"d0120e583750834bf1951c8b9936781a98426fe8d3ad3d951f96e12f43090469","impliedFormat":99},{"version":"a2e6a99c0fb4257e9301d592da0834a2cb321b9b1e0a81498424036109295f8b","impliedFormat":99},{"version":"c6b5ae9f99f1fccadc23d56307a28c8490c48e687678f2cafa006b3b9b8e73e4","impliedFormat":99},{"version":"eae178ee8d7292bcd23be2b773dda60b055bc008a0ddce2acc1bfe30cc36cf04","impliedFormat":99},{"version":"e0b5f197fb47b39a4689ad356b8488e335bbf399b283492c0ffae0cfda88837b","impliedFormat":99},{"version":"adb7aa4b8d8b423d0d7e78b6a8affb88c3a32a98e21cd54fcafd570ad8588d0c","impliedFormat":99},{"version":"643e22362c15304f344868ec0e7c0b4a1bc2b56c8b81d5b9f0ee0a6f3c690fff","impliedFormat":99},{"version":"f89e713e33bfcc7cc1d505a1e76f260b7aae72f8ba83f800ab47b5db2fed8653","impliedFormat":99},{"version":"4e095c719ab15aa641872ab286d8be229562c4b3dc4eec79888bc4e8e0426ed8","impliedFormat":99},{"version":"6022afc443d2fe0af44f2f5912a0bdd7d17e32fd1d49e6c5694cbc2c0fa11a8f","impliedFormat":99},{"version":"6dd3f823ac463041d89c84d7bbf74931a38d874a9716040492ac7a16c7d2f023","impliedFormat":99},{"version":"a5bf6d947ce6a4f1935e692c376058493dbfbd9f69d9b60bbaf43fd5d22c324b","impliedFormat":99},{"version":"4927ef881b202105603e8416d63f317a1f1ea47d321e32826b9b20a44caa55e2","impliedFormat":99},{"version":"914d11655546eba92ac24d73e6efdb350738bcf4a9a161a2b96e904bad4de809","impliedFormat":99},{"version":"f9fdd2efc37eefc321338d39b5bd341b2aa82292b72610cb900f205f6803ff66","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"ab043784438ef8945a95124d2325308554c8b53dc92ce801f09702e79234282a","impliedFormat":99},{"version":"3fb3501967b0f0224023736d0ad41419482b88a69122e5cb46a50ae5635adb6a","impliedFormat":99},{"version":"06d66a6723085295f3f0ecd254a674478c4dba80e7b01c23a9693a586682252f","impliedFormat":99},{"version":"cc411cd97607f993efb008c8b8a67207e50fdd927b7e33657e8e332c2326c9f3","impliedFormat":99},{"version":"b144c6cdf6525af185cd417dc85fd680a386f0840d7135932a8b6839fdee4da6","impliedFormat":99},{"version":"e8dfa804c81c6b3e3dc411ea7cea81adf192fe20b7c6db21bf5574255f1c9c0e","impliedFormat":99},{"version":"572ee8f367fe4068ccb83f44028ddb124c93e3b2dcc20d65e27544d77a0b84d3","impliedFormat":99},{"version":"7d604c1d876ef8b7fec441cf799296fd0d8f66844cf2232d82cf36eb2ddff8fe","impliedFormat":99},{"version":"7b86b536d3e8ca578f8fbc7e48500f89510925aeda67ed82d5b5a3213baf5685","impliedFormat":99},{"version":"861596a3b58ade9e9733374bd6b45e5833b8b80fd2eb9fe504368fc8f73ae257","impliedFormat":99},{"version":"a3da7cf20826f3344ad9a8a56da040186a1531cace94e2788a2db795f277df94","impliedFormat":99},{"version":"900a9da363740d29e4df6298e09fad18ae01771d4639b4024aa73841c6a725da","impliedFormat":99},{"version":"442f6a9e83bb7d79ff61877dc5f221eea37f1d8609d8848dfbc6228ebc7a8e90","impliedFormat":99},{"version":"4e979a85e80e332414f45089ff02f396683c0b5919598032a491eb7b981fedfd","impliedFormat":99},{"version":"6d3496cac1c65b8a645ecbb3e45ec678dd4d39ce360eecbcb6806a33e3d9a7ae","impliedFormat":99},{"version":"9909129eb7301f470e49bbf19f62a6e7dcdfe9c39fdc3f5030fd1578565c1d28","impliedFormat":99},{"version":"95cdad1f759b74b014cea71cf1a68567b17e4165ec8139930305ba1e21b10a0c","impliedFormat":99},{"version":"7e4fc245cc369ba9c1a39df427563e008b8bfe5bf73c6c3f5d3a928d926a8708","impliedFormat":99},{"version":"3aa7c4c9a6a658802099fb7f72495b9ba80d8203b2a35c4669ddfcbbe4ff402b","impliedFormat":99},{"version":"d39330cb139d83d5fa5071995bb615ea48aa093018646d4985acd3c04b4e443d","impliedFormat":99},{"version":"663800dc36a836040573a5bb161d044da01e1eaf827ccc71a40721c532125a80","impliedFormat":99},{"version":"f28691d933673efd0f69ac7eae66dea47f44d8aa29ec3f9e8b3210f3337d34df","impliedFormat":99},{"version":"ae89fb16575dc616df3ff907c6338d94cfa731881ecef82155b21ab4134b3826","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"f716500cce26a598e550ac0908723b9c452e0929738c55a3c7fe3c348416c3d0","impliedFormat":99},{"version":"6b7c511d20403a5a1e3f5099056bc55973479960ceff56c066ff0dd14174c53c","impliedFormat":99},{"version":"48b83bd0962dac0e99040e91a49f794d341c7271e1744d84e1077e43ecda9e04","impliedFormat":99},{"version":"b8fd98862aa6e7ea8fe0663309f15b15f54add29d610e70d62cbccff39ea5065","impliedFormat":99},{"version":"ffa53626a9de934a9447b4152579a54a61b2ea103dbbf02b0f65519bfef98cdd","impliedFormat":99},{"version":"d171a70a6e5ff6700fa3e2f0569a15b12401ad9bc5f4d650f8b844f7f20ef977","impliedFormat":99},{"version":"b6e9b15869788861fff21ec7f371bda9a2e1a1b15040cc005db4d2e792ece5ca","impliedFormat":99},{"version":"22c844fbe7c52ee4e27da1e33993c3bbb60f378fa27bb8348f32841baecb9086","impliedFormat":99},{"version":"dee6934166088b55fe84eae24de63d2e7aae9bfe918dfe635b252f682ceca95a","impliedFormat":99},{"version":"c39b9c4f5cc37a8ed51bef12075f5d023135e11a9b215739fd0dd87ee8da804a","impliedFormat":99},{"version":"db027bc9edef650cff3cbe542959f0d4ef8532073308c04a5217af25fc4f5860","impliedFormat":99},{"version":"a4e026fe4d88d36f577fbd38a390bd846a698206b6d0ca669a70c226e444af1b","impliedFormat":99},{"version":"b5a0d4f7a2d54acbe0d05f4d9f5c9efaaeddc06c3ee0ca0c66aba037e1dca34b","impliedFormat":99},{"version":"fa910f88f55844718a277ee9519206abce66629de2692676c3e2ad1c9278bdfd","impliedFormat":99},{"version":"a886a5af337cce28fe3e956fd0ed921345933163f5b14f739266ba9400b92484","impliedFormat":99},{"version":"9ae87bd743e93b6384efbfa306bde1fa70b6ff27533983e1e1fe08a4ef7037b8","impliedFormat":99},{"version":"5f7c0a4aad7a3406db65d674a5de9e36e0d08773f638b0f49d70e441de7127c0","impliedFormat":99},{"version":"29062edaa0d16f06627831f95681877b49c576c0a439ccd1a2f2a8173774d6b2","impliedFormat":99},{"version":"49fcfda71ea42a9475b530479a547f93d4e88c2deb0c713845243f5c08af8d76","impliedFormat":99},{"version":"6d640d840f53fb5f1613829a7627096717b9b0d98356fb86bb771b6168299e2e","impliedFormat":99},{"version":"cee41a6af55d502f3863fe3238a75108dea16ac9c7339e96c2974ad3babd6d78","impliedFormat":99},{"version":"6bd4aa523d61e94da44cee0ee0f3b6c8d5f1a91ef0bd9e8a8cf14530b0a1a6df","impliedFormat":99},{"version":"e3ee1b2216275817b78d5ae0a448410089bc1bd2ed05951eb1958b66affbdec0","impliedFormat":99},{"version":"c53548c66ddac62cb003e737c8599c3d75f7fba43e0ac8e109a8956086e7e012","impliedFormat":99},{"version":"cd0e881c6b0bc9a5ec74bcfa372e681a44ff9f5723d8ea3c1f2a7cf9e25bc84f","impliedFormat":99},{"version":"838c13b48725ba6d0630c0ec11fc8a33acff855551300e787cf404b093ca3f34","impliedFormat":99},{"version":"30a66b168efc5508e9fedfff14559b3c680b31bbe853e12310efda6e52dc585a","impliedFormat":99},{"version":"2fac70f99da22181acfda399eed248b47395a8eeb33c9c82d75ca966aee58912","impliedFormat":99},{"version":"35f50e2adbdf8dd774e5296c87740f5d03dc443757bf75aee87e2b3831ae552b","impliedFormat":1},{"version":"d75ca53134de3b91925e889738a1e5cda0715fc1947380424bd61f4e9b8f7a2e","impliedFormat":1},{"version":"17230b34bb564a3a2e36f9d3985372ccab4ad1722df2c43f7c5c2b553f68e5db","impliedFormat":1},{"version":"6e5c9272f6b3783be7bdddaf207cccdb8e033be3d14c5beacc03ae9d27d50929","impliedFormat":1},{"version":"21ac4cf3f8d8c6e1201cb31f600be708c9a37867fc5c73b7ccf80560fae591c8","impliedFormat":1},{"version":"0dfe35191a04e8f9dc7caeb9f52f2ee07402736563d12cbccd15fb5f31ac877f","impliedFormat":1},{"version":"a929f77f7afe6b8ea082fe4fc5f7461cf40ef8ca2a8f3cedb3e8a6d10bea49ba","impliedFormat":1},{"version":"45a7a6658917b9178eaf4288b8a22757dba3bc24676e166f28a3c2a4e858c4e0","impliedFormat":99},{"version":"7c699b5fea191ce032277394b78fa00208f26901efd288636d932c4b35ec4704","impliedFormat":99},{"version":"2fac70f99da22181acfda399eed248b47395a8eeb33c9c82d75ca966aee58912","impliedFormat":99},{"version":"f5f45f28f1799fe0520b6714be5157cc1e53fac060ae68691a6c86f62e9f4501","impliedFormat":99},{"version":"9a201d2fe34b5826c2062f0975612603595f6164a8856c9241862d1ecd06a191","impliedFormat":99},{"version":"55e382f5d8e33f6ce7a274873ba3a7f82eaeaa1e6c81d2ad3fc3a9a72468fd58","impliedFormat":99},{"version":"2fac70f99da22181acfda399eed248b47395a8eeb33c9c82d75ca966aee58912","impliedFormat":99},{"version":"2fac70f99da22181acfda399eed248b47395a8eeb33c9c82d75ca966aee58912","impliedFormat":99},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e","impliedFormat":1},{"version":"08b2fae7b0f553ad9f79faec864b179fc58bc172e295a70943e8585dd85f600c","impliedFormat":1},{"version":"f12edf1672a94c578eca32216839604f1e1c16b40a1896198deabf99c882b340","impliedFormat":1},{"version":"e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a","impliedFormat":1},{"version":"dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"4fdb529707247a1a917a4626bfb6a293d52cd8ee57ccf03830ec91d39d606d6d","impliedFormat":1},{"version":"a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206","impliedFormat":1},{"version":"5780b706cece027f0d4444fbb4e1af62dc51e19da7c3d3719f67b22b033859b9","impliedFormat":1},{"version":"aa9e5835d6b7901b493368c6de2405a91fd4d0a9e451d9b31bd9d7872d52ccf9","impliedFormat":99},{"version":"f60e3e3060207ac982da13363181fd7ee4beecc19a7c569f0d6bb034331066c2","impliedFormat":1},{"version":"fd29886b17d20dc9a8145d3476309ac313de0ee3fe57db4ad88de91de1882fd8","impliedFormat":1},{"version":"0c8dad6023fa5ba611d8af2eb1ec79de1e359a583a5f84d6fcc97f95f2504ba1","impliedFormat":99},{"version":"ef204b804d92a897d0a561739b09154b37c45742c1712ac2cbcca5a307c077ad","impliedFormat":99},{"version":"966cd6faabf0ffa1ce07edd2fc8b21cbf58a34ffc475e67e727db0cbb73aa8da","impliedFormat":99},{"version":"85bc585d0174c5037bb2ccd86c9a666cda689bdafe8fab6033f385900955345e","impliedFormat":99},{"version":"8481fde24e4475aec613f71e39b4123f880c1f8860fa810a47e2921d159910cc","impliedFormat":99},{"version":"531b9350e8b7c0e89904adc4e262cb9cda836029b28ca304f18a2a2dc660691e","impliedFormat":99},{"version":"3f18284465d50e60405cd31f81ba4480367240edea1060f1309c2b717cf2e57b","impliedFormat":99},{"version":"01f8b2706df18d6f9be625b1a4aeef149b8f00c1c0b74e662345b927d99f651a","impliedFormat":99},{"version":"270cb7bde69342a53bdda03cd84fe856a4c25bb0a973af0b622be09d6112c617","impliedFormat":99},{"version":"45b3de3c266e92253de0c6aab28642f29860f50a0706c52714bfcafa98930eff","impliedFormat":99},{"version":"402e84589ae1525fd52ca4811e03ad74caf9ed2cccd3e10b1548985ed2d78dbf","impliedFormat":99},{"version":"4897bae7c28f78092a4f345995236dead78fc739bc8f9c4575e948b4f9a984b8","impliedFormat":99},{"version":"6070624b38dbc46781cd583f5cc0997a6ae6046a3f44bfbfcce5895907b26ed4","impliedFormat":99},{"version":"92397fd0f9a0277fdda1046ffdcc4338ad820343fa7ef0585bd283c61fcea6a7","impliedFormat":99},{"version":"cd757f923f1c05194bf41f9bbe8ac70445ea3aeb37f78bead4def17c31bf9542","impliedFormat":99},{"version":"3b896877c981fdf24d1f5c3f724ba0a8e457c75625f78ab80965f88e967f4817","impliedFormat":99},{"version":"4f4bd9fddf330a643f2b41d01cd697286756d3590a380695d5e22699f3d54be5","impliedFormat":99},{"version":"aa8822871877daa102442f6d61cdf04ff6dfd551b0a6971a29adc1c83d96f84e","impliedFormat":99},{"version":"82b5169e6cebee4c045a0c701f90df9e75cd6c6a717fccde20955463aac3060d","impliedFormat":99},{"version":"247fcdfe4b85e91fbb05c742cfad30a150c7d9deaa67bdd197fdcf5be360cefe","impliedFormat":99},{"version":"de2a0897621e39d747e1cca9447d3b6d81c9ade1373bdcfc4edb7ac4b4bad773","impliedFormat":99},{"version":"1ff3bbbfbc81f93c90045555c146cdd6d7c9d96de47bd800df168f46b267969f","impliedFormat":99},{"version":"f810d2d769d37cce91bbb44566ca58e80c2ab95616070ff56c0adfe466147652","impliedFormat":99},{"version":"7377c2f18d9c728fdc4bac134e0f9ac07f6ad3f357191f3243b1152d516d1035","impliedFormat":99},{"version":"7231ec9400548c0515b71dcc46008d7c780f3ab7e10e76ef8b6a9456b94452c4","impliedFormat":99},{"version":"c1ecf97a03b9bfd3824771d08eed4e1f8d657f042bf80320323b1b41cab09477","impliedFormat":99},{"version":"a41c88b22a03b48045abd54c9fb144567fa639048914ef453f3feff96509ceaf","impliedFormat":99},{"version":"15c0060ae45c4536320da9cd0b2c4efe5a357f41ec40495f89e29d17af24043b","impliedFormat":99},{"version":"c1490d3da1d7da0ec66a6aa283f743a7f2186b3352d344d0f5eb28a8cb6c6316","impliedFormat":99},{"version":"45bb3dd222e9b5c7ea2eed9b14c7390aa48d4784b5962883c3f6ace3000f300f","impliedFormat":99},{"version":"f6fb4cf4e117ee8d845f361598ac9c19e9ec4df09581702941e238ddecaf2254","impliedFormat":99},{"version":"b75700b0c451d8596f9c29528613d48584c82f190381c6aa8047c19f14272cf1","impliedFormat":99},{"version":"ac0efdb9a86146242f5bb2060dccbdfe743db956e253b290aca5b00bb4f15f22","impliedFormat":99},{"version":"4cbd25cde19d5d52704f84e93f9b648671c41262a12005b695cce3cf904e6dfa","impliedFormat":99},{"version":"bc21653478cf6b46f14040c82ec5d0df8c3a9f0421cb4050dbc36f831b222292","impliedFormat":99},{"version":"d3c7021ac45e25926ecb99ffb6d8016aa0fa9ad0854033d3921439d1707e85f1","impliedFormat":99},{"version":"b471c43e0e164fddeca3b880ab82dff6ff41cc1827575f5942258f52121fa640","impliedFormat":99},{"version":"ceccd6e27502a11f9b59edf79e11efa6debb0edde134820fb1e1f54da5694b5e","impliedFormat":99},{"version":"f62d1db65c973e8b4d87d00d81bb4e379d12e55fb8ed4bc699f6666ce9ff9886","impliedFormat":99},{"version":"2d9e565828f9149609d344c338d03bc579e9d0299f7cef5825b240df01f5246e","impliedFormat":99},{"version":"baa860eca2f436200f15f98537665bc88acbef57bae1f1ac00da521376ad9066","impliedFormat":99},{"version":"7e14cbb2e3dd8a32a7cd9a5f3b8f13a85ca501099181b868b479c8536a9473fb","impliedFormat":99},{"version":"357027211d253c42a19736cf6b7eabe096f7036805e6c89b35ad15bb386854cc","impliedFormat":99},{"version":"3e1b2c2ee5bda3dcb7ab76374700ab816ae6db477623b07b550280786e6470cb","impliedFormat":99},{"version":"5fe5e365cff077f3dc7dc1895f86ac78fb312018e8355958b58527bf4c9feba6","impliedFormat":99},{"version":"90f775adcf7fb6d865593e3a1c4528298fee68146fd0375335e34866b84a09ec","impliedFormat":99},{"version":"544ef9db8c8e612a1c8dee3fef7aaf01cd6aa721137d17db7f7d7b3d2c5cbfb0","impliedFormat":99},{"version":"1190f38b2d825ece9518c158ba966c19d42ce2e4f17aee2a0eced09a94372751","impliedFormat":99},{"version":"0ddcd0644863f122e3d12148f1447f6035f1c6f349d101422ee78a44656ac862","impliedFormat":99},{"version":"4bb933740ef6c9cbeb00ba53073bb171f97a4bc2d4f66ccabbab35afa546e202","impliedFormat":99},{"version":"90aab01d2a7bb75ab416585099e1086792b576761d23a8bce0346de782928b06","impliedFormat":99},{"version":"82f439b5b38c7613567168b691e16b88330fcdd5e87840de61dead0c4cc6a192","impliedFormat":99},{"version":"01a0873b621780693a2723be1b48ac4d500619f5a1f2d33a559752a1c46d1197","impliedFormat":99},{"version":"573227457b7ee7f526119594bb218b9d405b6768eae594e838d38c8dc0cb6568","impliedFormat":99},{"version":"8486ef2c6b50fcc1eedf9b1fdb689391080f9606e2892b2c137a3b86116ee6e9","impliedFormat":99},{"version":"69d60b2977fff07328adb946457a2f0de6f1f6e89722a7c698d96a6a2f83e3d0","impliedFormat":99},{"version":"3fdd16c2821927cfaf6e365f134bf34ba33af597558bc4deaf2f00254273322c","impliedFormat":99},{"version":"61fe4f0252672d7669a3950802212f070bfb606b091c6046ac6143138f6eed60","impliedFormat":99},{"version":"d2abc9997cd77957130d1ea9a4ba4b23b803317f16afb771fed6d3b63cc8d0cd","impliedFormat":99},{"version":"993fca3556263faa04a5d5d7c9b2e7e41cdcd3596a611120313dbe0b37937c6c","impliedFormat":99},{"version":"8f10bb5f1b826ac2532233a705d30ec1892f2fdee7eb915d3e3a4d7acbc0046c","impliedFormat":99},{"version":"f496394b492b0251aa7c9abfed0cc3c1a96b163b3295ee977006551bdbb23be6","impliedFormat":99},{"version":"e735c8e47a6993b48d85c706fcd974bedb67901445662a1825b16df4dd97dac4","impliedFormat":99},{"version":"b3a3fdab86e68136132a794a995adc47ccca4c3214509450c8cf9b786797ab77","impliedFormat":99},{"version":"24b7602376d435a1fb46d817f1f12d70c599eefcdd7ba3adfe34c82daea6565e","impliedFormat":99},{"version":"3a0f8e778b0be125ecc6274c494dbe26d4f92e82d6d0c23df46d5e43419cf95e","impliedFormat":99},{"version":"0e00b25da0663add71e89155a2198fa086a5a2653a80c410c467f6f0efa6cbcc","impliedFormat":99},{"version":"057187022b0d6ba72bb259ce190d1e33fb9d9a9fe57350b55b6d2d722831149e","impliedFormat":99},{"version":"8d677432ae16b8e105c1c616fc1443d0ec52aaea55e19e13f952fc32aa858c87","impliedFormat":99},{"version":"6517c6927d58529f58ffd55ade8d82d8089ffb8f9dce125b3de210ad86d03b86","impliedFormat":99},{"version":"2fb6e6b06b727e554d3f0934af3c6d10e32da9fc20c3df1fe43cb92e06be5c0f","impliedFormat":99},{"version":"d2681901bd36444ff7757d0e2ec3e17a064082f62b0cbfa9e228aace025e9c42","impliedFormat":99},{"version":"65cbdfab18b014a6840b68fe80183b1cf3637d435b497c99ba1a502f8303e391","impliedFormat":1},{"version":"3b133b5cb1fab24798fee6c349c3925d9b2e46429669c3a290f5324d9a210025","impliedFormat":1},{"version":"ef783fa8760c66a585666ee47571f1b5beb6ee39c65feac3c6d11b9419b23a73","impliedFormat":1},{"version":"e66b54d888e7c4aa706f68cb4f423c9a7e4466c116140b3b751f94b9f6cdefd0","impliedFormat":1},{"version":"6a334b9a856fb9942989438d731fdba29babdfbfae340b4f7182f1db740de71f","impliedFormat":1},{"version":"e184c188c53f56fb830a9baac037236bfe181e9e56034686eeabe17af4ce47fe","impliedFormat":1},{"version":"c894ba99b642d34dc85b6f996ba006bb5c75262e8ba01d6989cde022ff91c33e","impliedFormat":1},{"version":"1e71697fb2c00b3cc4abe7b458acf90fffdec4996e9a885ab868d2a88876ac43","impliedFormat":1},{"version":"9a32c6873b8adfe2da4a2fb2e2fbb574227f13810d7596cdbf83b5eb9b9ca0d2","impliedFormat":1},{"version":"1b95f9db514599f21c2330d53b93495513c679fcef1aebf767098d6a9c61833a","impliedFormat":1},{"version":"b0d3f577d89cafb77845b87ca77553e992435b919221f3c8397075bdcb7a32ef","impliedFormat":1},{"version":"af7770fb80c5c4bfd4e9a2b245ae35ca927e618161bdb3cc4b305ee3928187d7","impliedFormat":1},{"version":"2c3ec41b38f7758ee3e53609a4d473205caf25f8b10ca6978587a760842d179f","impliedFormat":1},{"version":"2c2c3d4340a36df89a0f4d8776618705fb4a03f6a20b6136e53c522f4080663e","impliedFormat":1},{"version":"56bbd1661909b6600753fc71ed0243f6e8adcae647ef67fc0b62b60e2675a5b5","impliedFormat":1},{"version":"0f99e68df1ea45629adae539a99c2905fe434028fe6704f167271f4ff4f05264","impliedFormat":1},{"version":"eb4f06e379b9718725fbad551937cfc3ed1d279a4a4c7557f255d58858c7d857","impliedFormat":1},{"version":"85788c0c598c4056da67fe8a59fe45a5500fb99419aad0f674bb6da07f793288","impliedFormat":1},{"version":"3da22475af910d44c68144a18133de616353aeb85218516e3d7324d8d5dde33f","impliedFormat":1},{"version":"3ec462a0e5c193a2fbb9132b3ac1554512475b2889555c2842686fd4fad53540","impliedFormat":1},{"version":"f7fe6ae99cdb6d40c8a49235f43532d6aa6386f62dea97bbbe5b40fff5d9e7bf","impliedFormat":1},{"version":"3f6da7b72f49f175c8697f0b595c61b9c6379ccbd5bb52c188af80e97755d91d","impliedFormat":1},{"version":"c26e3f5d9b91fcf817e6ed3565abc561ae1b8b5510d26b1780f7c36565463ea7","impliedFormat":1},{"version":"ba82909968e9b21ba2756849a8e3960378bba2071e7e534678c97a6d0923141d","impliedFormat":1},{"version":"77b3fc3e5036f6d435fd1a7ceac8301d654cddb9ea50d9c77f9c8b9400711685","impliedFormat":1},{"version":"3b7765c7de1b17a0ec47070ee2000bf0da31cdecef6f61647cd2eb17d33cdef8","impliedFormat":1},{"version":"3da62cc0ecc4ccc373936142c3aef5219493ee7fd013a1426d733a1de178d064","impliedFormat":1},{"version":"3bd67be4d356ced8037d48437abd6fa8c4c2aa2b44b5e6fd98df41127807197a","impliedFormat":1},{"version":"70ef66c42dc83eb786c79d24d292e9f40407b03d6c37112adbced4c5fd353303","impliedFormat":1},{"version":"12a7629d2d48dda27e51c66aa511f28721e78a7d50877d87d656db7256e5f8b4","impliedFormat":1},{"version":"8d7e6cba8878f619bbe9c913c60f806609ed6527aa2da09ee4daeda99581befa","impliedFormat":1},{"version":"90cc2fca0550efc03063c7fc512eeddca0f91738a68391309a344f99ecdaf9e7","impliedFormat":99},{"version":"598fb14b8dc10fa1db2e6487999b25b75e54e08f7f24fc0394888a49284aa62d","impliedFormat":99},{"version":"a513b399e094c24ac5e4cee5b5c6b38d8dacbd1eefd46fcae71bc46be6b2e120","impliedFormat":99},{"version":"7310ba815b1298a1524c4e2edd3224cdca56bd4db7adee668d95b85f3a2cedf9","impliedFormat":99},{"version":"91b36942c9f7fb5e8b3ff2a6cfc950ef5dc3a12d3eddee5cc4f2f493a4e618d8","impliedFormat":99},{"version":"826b3e7d42891cc1a2bca7d688ae4967e3ccfd061adcb0becb2f8586adb7227f","impliedFormat":99},{"version":"39af3a83e76fe852e363c316d7025cc6227a230c019332463550a521c5af4ecd","impliedFormat":99},{"version":"73af554a9d886e748c44fc9a189cffa3e7a01b5d349139422b15f560fe0399bc","impliedFormat":1},{"version":"40c7cc279bebbbb93fe4d92194dc882e7bedd78a5a8863c032e257af3beeaf0d","impliedFormat":99},{"version":"e9f8eac5df99bd55620267edbc1e3052df609aff1eec199121ed40924d6f4c77","impliedFormat":1},{"version":"e20cb5ecbb81fef3b43a3819a964d7493606fd72460918f6cc19859e9e9f1fbc","impliedFormat":99},{"version":"82f9e99f5d09b9b40fb1e0338051f614f2fba2f0eb6ffb493e9cbe0cdd775858","impliedFormat":1},{"version":"268011eaa3e078d8e8f3cf68270bfaea3d847c02b3a787a557199d242ba6d859","impliedFormat":1},{"version":"454ad66df309d5c0bd00933afcb2c494e1e920bb9d71dc2f5c6eeae71e17d63b","impliedFormat":1},{"version":"ffda5bfa664984a6b5fb52c5305b3305b0b4226e507defb219986d2851dbf271","impliedFormat":1},{"version":"e4f54b323cbf50a0c7dd16d2e00fbb65fe703507bd1b6c92834760f3818c73ee","impliedFormat":1},{"version":"e943f29aad5d086910fa813644df591992329f1ae3216ddad2cbbeba8b498ce8","impliedFormat":1},{"version":"f77731933f64e0282d2f817631c33ce4968308f0105a9d00c02b3da0d4e1bec9","impliedFormat":1},{"version":"4961298a242a5b62c67d7ab4f9b6e8cc5a00e13f15db729d41b0d52bf657fd0f","impliedFormat":1},{"version":"dba5195f554b93eb70c5d095707ce8a8fbbaf8ef529e43164e29839dc2b52cf2","impliedFormat":1},{"version":"27dba65ef76f5a18dacf979f7318823f6477b3001ad0d5c768e97195dbe1a9cf","impliedFormat":1},{"version":"b5d9f34b4093ac500ae683bc619adc06ee2fa7894dd6c48bc6c6d547e3e17c8f","impliedFormat":1},{"version":"abc82190d7bae3005c472d8d05bbcd985ede5656fc0207aa68fa4e7da9a9ec65","impliedFormat":1},{"version":"949b926885b92ea08bba54d67dfcfba17c70ef891a9782f47be2a60eb90beafc","impliedFormat":1},{"version":"6af5270cfa74794027a2bce6f4206f93c92ea44134ebe8565a25a29207b8b448","impliedFormat":1},{"version":"f8d5ed9aeabcb45105f2123ad38d4a2f92f0d2aae404126354c2eb3b58c220b6","impliedFormat":1},{"version":"5e12507f43f37d079ad3832b65d5db02ed6dbe97efaa91c49d2e4012c743b058","impliedFormat":1},{"version":"71db4f6d5abbc45e7eb3efbc2895920efea43b1ae608d5a5ba3bc729034938f6","impliedFormat":1},{"version":"db7ca7e8f700305416677ef26504c9771e18cfe7d4e44dc0db56793911de0479","impliedFormat":1},{"version":"21f8a2249185447d1704a8bd027ce6e3b347f23fc94469cda8d904e51380dd0a","impliedFormat":1},{"version":"031fc5bb9689da434671316d76b4c4edb048d3d1ba65f517b7f72a27b276cddf","impliedFormat":1},{"version":"a5e7563b2030f9c076daa5347416ef3679b58441d6c8ec41dbf25dea39140591","impliedFormat":1},{"version":"116e06ad30ce51f3ddda64ca96da17c9c91763d32391f156fbe257d7d7314ad2","impliedFormat":1},{"version":"0f8a804a7f912f83768aadb08e60153be70037e11c63c34e8fec0352d7f6b128","impliedFormat":1},{"version":"d04253b154d2a9ea9f68c979c8613b08d6496d0cf9e6513b73d334e817aab32d","impliedFormat":1},{"version":"7231e125b797ca135cafc311bd151e347b59860aedd79944084cf8d01ac96a1a","impliedFormat":1},{"version":"f4e6a219c97362672f211d82773c8b3642fa266967830b99b1b0a1fe1f264ff0","impliedFormat":1},{"version":"33436b63f7c6073de5a917147a773a77e8fd58364d25c5faedb74478241c6269","impliedFormat":1},{"version":"1c6442e524d59ab72c6e5be929eecb0184efb6201e122c93aac2c96092c665dc","impliedFormat":1},{"version":"ef64c5812115a256a091275f64b96478dc1be0ba0d8c6ad15a2b48bace79f2e4","impliedFormat":1},{"version":"8a466f153abbf98b54f3f11114805d958ebc1d10cfde25489cbf4eee3ab73d24","impliedFormat":99},{"version":"2cb377393bc1fec5c94bf6a66b9589428552ef8f43555c4d56ed9dbb39d3b6ab","impliedFormat":99},{"version":"a1d02fc6158be3e0747db28fce83d868675f0d534b5e709e49ceb402b5fa1546","impliedFormat":99},{"version":"5488d985eda0089f9af84428ba3b87b0fa324fc606b53ed92a330d75544c1fa0","impliedFormat":99},{"version":"9503abb5f4cec90d15508bea5b9b346ee318b61cd216197abdfba7c23a1b7f98","impliedFormat":1},{"version":"b6f079ae4e4700f39f0c3a298bd5b392759538f78b7bed691b5395a84af7240c","impliedFormat":1},{"version":"06b9d7d5f165d6d8943165b6c35ac4f58168a22e7e84e3d998c7d3f2e309aa1d","impliedFormat":1},{"version":"06fec4cdde20d9ceb1ce713c1c2800581de2cd20df5ec10aca8dbf80c4b13f02","impliedFormat":1},{"version":"b8c81a0bde3f27c47431b3345ad687ae2a3b88fdfaa15bce56746778153004c9","impliedFormat":1},{"version":"bb315cb4e4267dde7d4a2c11d9e743a4d8d2ed210c23d807086e0809dd8b3431","impliedFormat":1},{"version":"fca6802d418b89ed3ae99dec5c0d42ae80c09702ce6bbe14aa9af053af58c109","impliedFormat":99},{"version":"b0e5e70d6cbc087dd7f842ed1f0548a25c746783b6bc88a13696ca517f6538fc","impliedFormat":99},{"version":"5691211f2d3d4b15831333bae27895431f2fa61a49284bf1ddf3cb13229ab0e7","impliedFormat":99},{"version":"76057b4c42aa46cf0d241022f7b4a34b9c4b42e1d3039584938342d701325f54","impliedFormat":99},{"version":"9f12d9ebe66646a1a62476a2fdcd54436f80704fee604bcfead5e561c8a06d82","impliedFormat":99},{"version":"0d9ed3d0a1d658e265fca4544f7bd72cb0e4ac04289e567999fccacb8bf23942","impliedFormat":99},{"version":"6ddef35d1c1c53be9d1c969d7be42061c6206ceb4f315f2f73ae574db2b66c9f","impliedFormat":99},{"version":"3b7d93b9e956702e70bd2719b098aed1dc38db124fc8b05be38df72d74aea1ba","impliedFormat":99},{"version":"8c03f1e4bf31dd93f401b624bb7bb9e6049ab4bd729ece7a0a333a43513da05f","impliedFormat":99},{"version":"e7607b9510c9b7682838272d3c291687825703f98cabd9b626aec9c13777638b","impliedFormat":99},{"version":"7313d5c65f476d10d7a4302985485fe5f32fc26cc5db5b3c90f19db153f3b147","impliedFormat":99},{"version":"70263cf1cce52834940415495b990b79e8d0c3d33722a413def2427fbd0e7335","impliedFormat":99},{"version":"250788d9295815dfb48fcc07ca0ecca9cc1362eca3e412ced9440337a6845e02","impliedFormat":99},{"version":"1654da9df0c97cef6f6e73522e774d47648b56f42d7f0a389a0b832029240ca8","impliedFormat":99},{"version":"032708cc4f65648d1e7928d56c599a3d33a7e5343af046b4907ecb5167e9fd28","impliedFormat":99},{"version":"a26c849da4fb379def16137714fe7865292c4f57a0c680957f11d8626b2a5d58","impliedFormat":99},{"version":"eb4589f330b2b662f7102b807385f21a77ed47daf527f2d7413bf1f59f827926","impliedFormat":99},{"version":"005081fe2ac323e05c9250762659ca1fb2655ffe195db42ac401db7656a33434","impliedFormat":99},{"version":"194b40df34d512f018c94ed400c12ced47ec0d0d0024e93193f5f1ddec197209","impliedFormat":99},{"version":"b61a325187e209370a66fdbde0c4ea4e3eea5a0eb62028308a09708ecf22df0c","impliedFormat":99},{"version":"6af4b184c107adadb6eb713b1f94f7cf2fa3d2682dceedf7de5809f61c32a4c0","impliedFormat":99},{"version":"d8e642501089a62b205907e642ec6d170e524433914086bcb55e356d837c195a","impliedFormat":99},{"version":"b96edc0f63de60acc4a02123810c41872a6c36af81395d93a466b0c48e854ead","impliedFormat":99},{"version":"47585511fdb670f049ac9cf6d99ca1415db4b2860c01ac0d5c0285e26ae67137","impliedFormat":99},{"version":"02c582136d29f693b8653f245492efe67c300da6f512186f57119320602d8c42","impliedFormat":99},{"version":"a19c526d364dba0b2d4bf90bc48027899c4a463a970198158fc3ddd9d50d22e6","impliedFormat":99},{"version":"5a34310e8a277f46f226de3f14f85b28045134382d2e7bb0dcf7b1940e867d75","impliedFormat":99},{"version":"e994ac3e5e1fbaf99c9231e5efc2792742bb119fc80d2cc5601a286083519f08","impliedFormat":99},{"version":"9a7f9992781334b2d6842a4c4678c69ad5953d0af869038231ff130b8d362ecc","impliedFormat":99},{"version":"26af0ec63cc0ecf6cf908ca0b3371d747c5b16b31b458664fc84e42829fcfc91","impliedFormat":99},{"version":"6931e8c252c1c7adc2ea4fa1054cd3af9ca16c2e0970803e74ae0cbd6b6eeb04","impliedFormat":99},{"version":"4504f968ae4e1dfabcbb9455e50d4b8b9bd8812fe7944df4936908008be7bd9f","impliedFormat":99},{"version":"495d72307d8883127dff213871cd3fe8bfd456ef2a94170855094133d7e1bc24","impliedFormat":99},{"version":"132e407c15a07359bfaea24b075e83101da95241a0b3f5a2abeb41938e5167b1","impliedFormat":99},{"version":"82a0e39185ae3c8750c776e3512da3b490b42c40d640d7896b747432b1fed080","impliedFormat":99},{"version":"990a5eaa839432e8959bdf25d57e5446fc2a3b6c04a08c3d98218ef4b6f35084","impliedFormat":99},{"version":"16c33a8f8b4068b34ae7b4df4e349e11245859669b18e1cf0a72d3dbc1d39a4c","impliedFormat":99},{"version":"f279cb3696fc7ca366af09364912113fcffa02aea3d11f4e16a91ce621706258","impliedFormat":99},{"version":"06624476f5501305c27aa846a30690abbcaaa04db1a34b11045d7d8c22c2e0bf","impliedFormat":99},{"version":"8a225e7475a2d199dbba92f932df219fce36ae90c2dff3b9a388b49c5cb42abf","impliedFormat":99},{"version":"22c6d2f13b648b3fa5df4a394919e4c6f5ecf6160bd6a8755c7a6f0b2f7abf14","impliedFormat":99},{"version":"1b8f0d8a29503b796431c542c484b0ebafe1223e48fdd74237a42eb371987517","impliedFormat":99},{"version":"fb652a27ee66ae1232d67cc79ace76e1d444f8d37064fe234c7b2e762712d54b","impliedFormat":99},{"version":"bdc90d2feef36b907cdad5d9876023165d3bacff85b4a57df085c316ce252cad","impliedFormat":99},{"version":"1d9dedb0dd8b0eb5b3105d577e65627786185e5f467484b12a419aa97c0f197f","impliedFormat":99},{"version":"27a25e21a230be7cca2d75db5a67e2be375282e7b1699a15f4e33211dd0f0f2c","impliedFormat":99},{"version":"4a5d17a0faf8af0e14987dbebb1e39350fcb087237452dddce936dca8e869d9d","impliedFormat":99},{"version":"87cb24ebc66080f5faa3e609fea0c67f01dbbdb1224c72d0a2338c08c901b0d8","impliedFormat":99},{"version":"8a1dcf16706e4597681fff57326c1f9ac14082accace6332acf5d6dc89a3ec2f","impliedFormat":99},{"version":"be112a9b78578a7eb57cdef2e48f17d1fce438b741cbef3b34c64620ca4f07f6","impliedFormat":99},{"version":"35ccc7e81030498057f8666924ad88b9e0e54a1fb03b4455e47a64642824912d","impliedFormat":99},{"version":"9dd1ada2bd479d0ff7958b09cb20b28537ffb3d9f1c6f3341c4c60c2e0cf1574","impliedFormat":99},{"version":"a8e2c4132e615e8f5343269e9001c1a403726a772dfa5f64fb6201500fee928a","impliedFormat":99},{"version":"220cc181f0647eb24d6fefddde0d6c827b0aff763be1129f3df8cb1fa9fd9a1c","impliedFormat":99},{"version":"5d4afee41b54667c69f7a105fbb8f87905501d6e7634fc25a2377475a8d30a6b","impliedFormat":99},{"version":"8a8eb4ebffd85e589a1cc7c178e291626c359543403d58c9cd22b81fab5b1fb9","impliedFormat":1},{"version":"c338bbb9e72e70bba9467696867875e750d68409c7effef79505ca665b9c6dc5","impliedFormat":99},{"version":"3e610c3431f5c3fd1f2b0155516656233e4122e187f643f31054837ea684fe99","impliedFormat":99},{"version":"e0ba304c13972fcffd284205b440bf806aa4e19681c6665408e3ec306125ad07","impliedFormat":99},{"version":"87ec934346c216050d4d2bf59f9cc5dac7484f7f1ee768bda33efef37bab1b82","impliedFormat":99},{"version":"6c2525d9c51d3093e361f4740f5582911f6767a207fcbb7a8f9b16735d5608c7","impliedFormat":99},{"version":"bb4c626cb469e577cbe2e6ba83f6f9b572807c15a44817b508296fdbeb408506","impliedFormat":99},{"version":"96a212be4232ab83443032662adc8e4a106a40cabc95b129c370a70dbfa3b79c","impliedFormat":99},{"version":"fa0b1b7f810b5f5b9331d1d1e43f9b2f313c1ca68a13f1db5094971d5d14ad50","impliedFormat":99},{"version":"fab367e53a92895c438a4a9752dda6ad898841d5da5ffd20cb4d5bc98fdf79b9","impliedFormat":99},{"version":"702e07c623b683daca1be9dc86f68b98bea08594d2fa58152569194374cb7803","impliedFormat":99},{"version":"773fece125c0873100581c4cb60cce66fb7c6c251309ac157af298a1254c41f2","impliedFormat":99},{"version":"4ca6063a2377f4b044de856ce0d77eba0b831311c2d0b03540f74c07925460b5","impliedFormat":99},{"version":"5b0334c5e38d76152dc097b5bd59387dbf9b1eb6e4a2dd3c0283e3a84fc06c84","impliedFormat":99},{"version":"723510cb216fc96c1c07a87a2b9d7884e8b661a05b9a4ae797bd3b8dd56492f7","impliedFormat":99},{"version":"0d3399df5e693f63359193350cfb41c89285d28399a0f630ce0cbc416983803c","impliedFormat":99},{"version":"62b3e968c398fee4b0eed5a13fd541680c5e9c9f019a647411a6b4bfd19dd41c","impliedFormat":99},{"version":"2b27e8692192cabb5d59515ea899376ffe02222e98c6925293acbcb9c2fa0210","impliedFormat":99},{"version":"f4086ac8586359d3ac82e741ee189964c584ac093d21ec56ca76a243999ef235","impliedFormat":99},{"version":"fd69f4ad6d59e73cfb16e701c4a30ba7462f821ae431dbf1422f4dbb46b5ef24","impliedFormat":99},{"version":"9078f5664d7334f5e21ac358bda1e84cd7ae595482e07d8f4784625cb30308a1","impliedFormat":99},{"version":"6f03983429227448d460dd7250746696edd2ef6a19bfd4465c01d27de049d2b1","impliedFormat":99},{"version":"dd21320e5700d960be5c16810fb2fff4122f8778d5cc7c05f943c25b623fc2a2","impliedFormat":99},"f63825f6785416ef0afadfb63cd6525989fdb60d6afd6b6ecf9f4ab02ce8b99b","4fca303a8581d420662f103ef22c6ad35c9afee0bff0004fee1dae30361ba976","de4db32df4ab87730e53847a5850014fcad80644a15ab76327e6a625494d8f4c","43d75ec26ee0a57dcb80d9da94052f1ecec9b0ea132ffa052439e0d492305553","6103fa99fe88002eb16c3f1c62d5ca63884d80f6d329e88ad13e6564ac595596",{"version":"ed01fecd2b231a33d4c6b645f8c606ae995d7842a81580bf416bc4bde8eb2f83","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fef2db242bd3486e86d617ffdfa6b5a9371ec030fa531bcaab82d0cf5a599e47","impliedFormat":99},{"version":"d87ff16af50e72711758976381737ede44d715273ade5ff140233a5161582bc5","impliedFormat":99},{"version":"c28a53b3debdcff691654a953fb40de42c564c5fc83aa9f33e09f6d49f8b394c","impliedFormat":99},{"version":"26155b3fae8d5952ef37c56c7cade1697698a13372bf8a13322efaf07e374fb0","impliedFormat":99},{"version":"a9fbf6fb1fdc341ecd3dd1a9d51550dac66a2c4ed59d4262a6e2aeca5f3bb331","impliedFormat":99},"8eb5d04499441a78b88685b5c3c1859139852edcd185d40af342e72063e3b82d","1660f54ca2d7a967c9882face77715e8f5f150126ea079ba4cb968deab23f07a",{"version":"821cf8cc7a50af39f22c6a2ecf7d4137401282fa014e65c2595f7342250ff5a3","impliedFormat":99},{"version":"712ee8dc42325becd013d1a357e2fb5a2f75ce9a0a940a6cf096126d3f7f2066","impliedFormat":99},{"version":"921b8080f123c91354f3fe3ad0ab205eb376967db2d54194ee78897b55710876","impliedFormat":99},{"version":"7313d5c65f476d10d7a4302985485fe5f32fc26cc5db5b3c90f19db153f3b147","impliedFormat":99},{"version":"42e8c30bcd7cc9e6063e7e9d96f88b559754bbbccf2d14faebc91a99c1f6622c","impliedFormat":99},{"version":"16da9658d86b40a6ed427561bd2520c81250475ebdf53f781ff30f5a49046846","impliedFormat":99},{"version":"826b3e7d42891cc1a2bca7d688ae4967e3ccfd061adcb0becb2f8586adb7227f","impliedFormat":99},{"version":"c22b86809967783de059c18b9e5db581365ec634b6e2a4e92a59e68a480c1bbd","impliedFormat":99},{"version":"f5c0ea1dcf999cc518660aaf2f6b54b3fa620aee9f0eb6539becfe801b6a0e66","impliedFormat":99},{"version":"39af3a83e76fe852e363c316d7025cc6227a230c019332463550a521c5af4ecd","impliedFormat":99},{"version":"3e328efbf3e2b39a1f324b646460d3cd6ccb008bf6c55cc20bd6fb2e47860df6","impliedFormat":99},{"version":"8c03f1e4bf31dd93f401b624bb7bb9e6049ab4bd729ece7a0a333a43513da05f","impliedFormat":99},{"version":"287bf52666d9f27b986d109952254fae4f4609961dece6db4d179b0f3332f9fc","impliedFormat":99},{"version":"f88bdbd2d04a38d5c0f79b37be6c17ffc061cb9b9ad565b330f1c7128312f1b0","impliedFormat":99},{"version":"aea6e81f33de77bb82e613c947c58773bcc94f80f7dc82133d6f64d7e8119592","impliedFormat":99},{"version":"e20cb5ecbb81fef3b43a3819a964d7493606fd72460918f6cc19859e9e9f1fbc","impliedFormat":99},{"version":"bd6436419fa3cf5ddb7f780548370234ebe1d7b81c3a275e51d2881307b35953","impliedFormat":99},{"version":"5a1fabc36b52355710fb33f3fd332c4617fed6d96a77cbeb4ecc631fa674cc15","impliedFormat":99},{"version":"c00db83d684aae94fa5c51ae309e5f0edee4d6a5a77371a012e8f60a8e5c1292","impliedFormat":99},{"version":"424935a33cd3aedfdd49e955d7a222bb85dd219910314f3a4bfafd74d46dd74d","impliedFormat":99},{"version":"176dd020bf6fe7f3ce10add821785edb7ce376f011dde618408bfe44d466bfc2","impliedFormat":99},{"version":"7161cf0704e662077f0225b68a753983e63d240bda63ee79fac5962ed53a6eaa","impliedFormat":99},{"version":"2fbd780e002a225ed547c3eaff9ef1cdab0a3c38cd8e83b7b4a69d72495db1c9","impliedFormat":99},{"version":"7cc99e59da7c80b860bea8c81f7cf0b0d8d555eea657f8708791badcfeb99c6f","impliedFormat":99},{"version":"97f69acec386b954e345503cd5c306b270bb3bac1f432480fc8039510ba89632","impliedFormat":99},{"version":"8a64c980c193d821bebf14c2b12a4a83a4a7cc5a45d226e25a9969ab8d4cf080","impliedFormat":99},{"version":"c0412180a583d5fa6ae580fed8f1b73150bf9e96f4d8d7f40397ab53c2b28dbc","impliedFormat":99},{"version":"c338bbb9e72e70bba9467696867875e750d68409c7effef79505ca665b9c6dc5","impliedFormat":99},{"version":"cff0e622ddc82e5e96b3f0fa10d7b7d94797ca117d9ddfc488e45d2655bbbee6","impliedFormat":99},{"version":"2cb377393bc1fec5c94bf6a66b9589428552ef8f43555c4d56ed9dbb39d3b6ab","impliedFormat":99},{"version":"413f6312ad35c086250cae7865e7f72ae1f6b43ca3997f426a65ad8c6d8930ff","impliedFormat":99},{"version":"c56347092a80a8a58757ef2a194ef3ac7ef085036572709f771c452fce510cc5","impliedFormat":99},{"version":"fb652a27ee66ae1232d67cc79ace76e1d444f8d37064fe234c7b2e762712d54b","impliedFormat":99},{"version":"f7e2afc81e79413a00228a88b616cf1c9911ed49bc665ff17bc5ed9752f3fb0f","impliedFormat":99},{"version":"4a5d17a0faf8af0e14987dbebb1e39350fcb087237452dddce936dca8e869d9d","impliedFormat":99},{"version":"af43307d798f4e125e70c594ab279294192f99a8d0177e6a75db5053dfe780d0","impliedFormat":99},{"version":"88d2372a5b8102a9e9b0b3c8ae51b7bc7c25e4cf6cb5384f55b24edcabdc5017","impliedFormat":99},{"version":"89875c8377f41590292670cb86aac95d765a81047f5d440f4b1973262b97bbf1","impliedFormat":99},{"version":"fae0b55f40d8311f80387b97dd9c44e9a4dcb2c7e3e08132fd02d69b6d6296de","impliedFormat":99},{"version":"4d81df6cab4520227fce79096a7bb8e794bbaad605b4a8546715613bc7d70506","impliedFormat":99},{"version":"21e6d1780af4c3b6de628b92be0221507128118810794f0d311d3d1be8aef787","impliedFormat":99},{"version":"bb669f5749a1580e54611cd78f420616e1f3e80e5f63d5e77d84871dc5824f6c","impliedFormat":99},{"version":"5d4afee41b54667c69f7a105fbb8f87905501d6e7634fc25a2377475a8d30a6b","impliedFormat":99},{"version":"220cc181f0647eb24d6fefddde0d6c827b0aff763be1129f3df8cb1fa9fd9a1c","impliedFormat":99},{"version":"c7815fca4d2711ce0fab2b0ce6ac47d2f36982b42be418cf18a31a18e3b48b9a","impliedFormat":99},{"version":"3b7d93b9e956702e70bd2719b098aed1dc38db124fc8b05be38df72d74aea1ba","impliedFormat":99},{"version":"e6cf2e34850de8019f52d56afa5132c736870a037935572537e3eec335670c2c","impliedFormat":99},{"version":"8f0b4424b617c7fc9f471921838981beb22bcde984da80ac844ce0aaceb0509b","impliedFormat":99},{"version":"5b0a86da49238ec1f53f311230451425b58d19883d3ae4de1cc864bf15f7dd47","impliedFormat":99},{"version":"8b1f504bb40c5912bb46544907968bb6acd78b23ff389a9fef2e1d84a5218b48","impliedFormat":99},{"version":"3e610c3431f5c3fd1f2b0155516656233e4122e187f643f31054837ea684fe99","impliedFormat":99},{"version":"fd665a96675c28342d595a857e082e3645c241f518c3c00360a39ce564dfcb96","impliedFormat":99},{"version":"ae2678740fe35114a1aa2d4e0a576f8698c3d0a8e8a9e18a96548f76a0611acb","impliedFormat":99},{"version":"8a5278a87c32f15d5e66fda3b69be3c58b2ed73f02739b362963348118ed7fb1","impliedFormat":99},{"version":"b71002955691369cce6a35994915fd0f6d157ab9938bd612227ae1066fee0223","impliedFormat":99},{"version":"711a3bb8b7bbf743816ea8e636e382857804e2c2f31ad82cc0060f992c715949","impliedFormat":99},{"version":"5c587bc540dcdc8d810cffdc9599a6c37e31a64e95e7e0ef279f96aeb9095dce","impliedFormat":99},{"version":"6c2525d9c51d3093e361f4740f5582911f6767a207fcbb7a8f9b16735d5608c7","impliedFormat":99},{"version":"918aa3104f8d878ad3c34b551008f98a5f25b1c282abf18ea249f7634ef7eaee","impliedFormat":99},{"version":"6ddef35d1c1c53be9d1c969d7be42061c6206ceb4f315f2f73ae574db2b66c9f","impliedFormat":99},{"version":"ddb84fda28776910b5826f75a0971126fe7f4757710a5bd3c30cbfc1dc21c8c9","impliedFormat":99},{"version":"45b86586cb714f5c454988d9276d043f64871f7900dc66f6f5a08368d6484a7e","impliedFormat":99},{"version":"1d70859513b1231d532ad7d0c04212c44f1e4fcc2c79ebab5db6f988fdcde6a0","impliedFormat":99},{"version":"13f2302d01806cf1f69198f8b9eafce730b80b2b01bc826251ba60d8a5371cff","impliedFormat":99},{"version":"8d504ac347a91bce05765759e1dbf1d25cbc344c48f1e44520087b89a245d1ab","impliedFormat":99},{"version":"0669789c6cc31c2705d66ae1c08cc951cb709e8c417d8f52601e41852a3c7bab","impliedFormat":99},{"version":"36cb39d235872dfbf8c201dda4b8e1b69adb37dd286a59fb5229ebff7380cb01","impliedFormat":99},{"version":"90cc2fca0550efc03063c7fc512eeddca0f91738a68391309a344f99ecdaf9e7","impliedFormat":99},{"version":"2a2104505823f56f12410e505f535ed5983bd52712ddcb8dabd813978bc5012f","impliedFormat":99},{"version":"e202e631ac8e48401614e2402df10c0df2f949f52ce6ea24d7a4a24316a3d6db","impliedFormat":99},{"version":"2604c1ff23d28341c42e87c161306efa947b50edecebe3511a0240d90f6a8fdc","impliedFormat":99},{"version":"d17ddc9ea2f27a9318479d6841ccc1a7124b545e00bd19304ee6fc5f71e8df88","impliedFormat":99},{"version":"8044d60179937e5e81ecaf7b3e67bfb0da6bbf8dec6b02dc4316909b53a9ecb4","impliedFormat":99},{"version":"5039feaa36834cd2f1e5d625cfe8b3f374d700c55192dc5dbb381c45abf46d1a","impliedFormat":99},{"version":"240eeca1237643f905be7312318a7cfff3842420cc7e55d49d8889fb8eb9501e","impliedFormat":99},{"version":"773fece125c0873100581c4cb60cce66fb7c6c251309ac157af298a1254c41f2","impliedFormat":99},{"version":"632ca2a0ee05c617ecf3d1e63610e3ab538a869dc9b882cc794faea5b10e3021","impliedFormat":99},{"version":"9f6aba0eefa8a8213b20bcdd290760160aa85ab33c24354b8374d71962da9745","impliedFormat":99},{"version":"a052c1ac1f52ab5759cc429e77b1e6ce842b794333cd53a6bd01f28fce277056","impliedFormat":99},{"version":"702e07c623b683daca1be9dc86f68b98bea08594d2fa58152569194374cb7803","impliedFormat":99},{"version":"5691211f2d3d4b15831333bae27895431f2fa61a49284bf1ddf3cb13229ab0e7","impliedFormat":99},{"version":"054875de7158f440dcee1c0d390ff4098a6dd56407267ea3b5787fb43cc5a1d1","impliedFormat":99},{"version":"b0e5e70d6cbc087dd7f842ed1f0548a25c746783b6bc88a13696ca517f6538fc","impliedFormat":99},{"version":"369916732335210f240cca358af6fc0c8699de65b3ce589d2f7ffa93577b415e","impliedFormat":99},{"version":"1d9dedb0dd8b0eb5b3105d577e65627786185e5f467484b12a419aa97c0f197f","impliedFormat":99},{"version":"27a25e21a230be7cca2d75db5a67e2be375282e7b1699a15f4e33211dd0f0f2c","impliedFormat":99},{"version":"aadd5de6ea8c55f8189e7b47ad9029cee78cf7ad3fe2b6dec5d0cd33bc769bc3","impliedFormat":99},{"version":"0d9ed3d0a1d658e265fca4544f7bd72cb0e4ac04289e567999fccacb8bf23942","impliedFormat":99},{"version":"a1d02fc6158be3e0747db28fce83d868675f0d534b5e709e49ceb402b5fa1546","impliedFormat":99},{"version":"77859ed951d93bbea3aa5749a2281489479e7f599818f2b76136279e045565ce","impliedFormat":99},{"version":"f4086ac8586359d3ac82e741ee189964c584ac093d21ec56ca76a243999ef235","impliedFormat":99},{"version":"73094ac4fcf8a0931f93b4b6a64cb0fa6b45082041a0b4b8e9526ec89e2ef1de","impliedFormat":99},{"version":"2e998f364d57f9e77188361fe88d8b1b2d538db6e9b908c775a8a2d99ab32a98","impliedFormat":99},{"version":"02b74367acfef971a423e3276afd22f40bbd0c59d30095ce0f538ac9b4e6a987","impliedFormat":99},{"version":"e450c42d495a959314c71c2961ca0e0d8f51e6dfc79a765e84584e7faa50cee0","impliedFormat":99},{"version":"86f149ad860e4b387578f99e14609aeabaefb69cef90b5cb398469caf31402bf","impliedFormat":99},{"version":"e6bd3fc34e2a604105e980e5ff31241d663ee1727ed43c5209ca5b3c6bec74b3","impliedFormat":99},{"version":"6e119c3e6454dec3c1ae235012cf9b092456d9008d0fbdf04c78596fb1d96d40","impliedFormat":99},{"version":"c4e8d7469f2c8054e8fb44290375d2d34dc5f22a1d01a7409756b8876122a621","impliedFormat":99},{"version":"8a45a3054d8411c7a203609ca91e75f01afe648b8bbbdb99c026d18668a81b18","impliedFormat":99},{"version":"91c50bc3e72fdfafd0f58520a6822e1ed1d08bfcf539fa7ee8633116f92813a2","impliedFormat":99},{"version":"95f2ba6668c29c954826aeb3cb6755770f218ad233c2922ab329bcbfa08f2bff","impliedFormat":99},{"version":"3329759007adc706f048b4ccb01b3d3054b9b39ac008aab72ea0b87a46cbd174","impliedFormat":99},{"version":"518c7b832c9cf2dc6c3aebc4cdc512cf724d81fc6ec844273ab5d957929e50ff","impliedFormat":99},{"version":"511a00ca32bff24a510ff5dadfb9a134c11b770b2484fc464c0d055182240411","impliedFormat":99},{"version":"8033586411abddc796d9023e2ce06c8af5e873f3e4efa630fbb2651e54a3c019","impliedFormat":99},{"version":"9c6e35f8333b67c8d4c30adf108eec94adc48d321befce485193fef698edd35b","impliedFormat":99},{"version":"7d1228c76c98b0552e5552192c3034ddf7e14922844c99648198348a59f7c453","impliedFormat":99},{"version":"f8e190e6e18a52bd322668c70b8862df0b7121e9bc3df6862b53ddbd6a7f0fc8","impliedFormat":99},{"version":"22e2355248ba49e058b6406d11bc20b543571005b6ac17c7879a710194322db0","impliedFormat":99},{"version":"b14e88658eb78e79cd899b7afaed4f1bfaa2f6add8d257dd8e529822bcda45b1","impliedFormat":99},{"version":"ca1d86406e840e0d4dc7c0ff88b8c86c9e12a524cca1a5d87541cb2d16d6e1c1","impliedFormat":99},{"version":"d16293f1938a9376a67032a64ec325565853b17d76240759055d21180cdc2091","impliedFormat":99},{"version":"059d05db41b982f093692f92baedb6f1f7366d5a56b7a6eed01495b3a2f8335c","impliedFormat":99},{"version":"33750d903db871ceccc9d978fd2da06f227b4beb551c1dc15ce38a090ce64f84","impliedFormat":99},{"version":"04cc3384d5726256f2f8047eebd7a0708e27a97d94b7865daa1e64eb9725cb47","impliedFormat":99},{"version":"6027e3fe45485d85326199819a3f50128b842db3d409943f72b9b2dc47591814","impliedFormat":99},{"version":"069490f4d199ad33f793ec08975437608855fb840d5d9bdeefed13a4815b39ae","impliedFormat":99},{"version":"bd17635828f27a07bc58a2278e9ef6fd18bddf23634302352c4663a7015bd303","impliedFormat":99},{"version":"ab4e97e66e9d8dff0b2df64ba18d73c48bc87f3621f2c3a9163550a83518a2c8","impliedFormat":99},{"version":"e2f7df52c75e11d0abb92cc3dd2dec0ad96c19241ed767b69ee3044fbdf4e95c","impliedFormat":99},{"version":"ee5289226d19ce883a83d4ac186bb9e0cf6f0766ebc719708c2ead944de92ac1","impliedFormat":99},{"version":"16fdb7486b014154a760f7c39004cc81c64d9010c752db8700b7128ba92c0566","impliedFormat":99},{"version":"4cc4d135b9756ced3f02c7f2064026a488beeedcfdcf9ff72053d6359bc6fbbb","impliedFormat":99},{"version":"b92bc270d20cb66d09ba49f8c7e62546aa60112ee8b340769ae8c215c4930896","impliedFormat":99},{"version":"900a04d127afa075e6bf37f62d1bef5985cd3831570ea1073def188a2b611df4","impliedFormat":99},{"version":"f2f88f8a85c6ccb807564d4c2b151d40a96e8b437c0cb8ecec3e0798926a214b","impliedFormat":99},{"version":"37c87abe710861880dcab8512d84f0490ebcd0081b6539a199bad33c4802efb6","impliedFormat":99},{"version":"e63435c55bd7746b1309c53adbbba0e45e419951d5937afa2d398a2996c6373e","impliedFormat":99},{"version":"fd183dc1e639c9c0f8b7200d0b0bfdc03864b5f2ce3d41549a8656c44a524231","impliedFormat":99},{"version":"198cf1de31254b5253a564e86eeeaedf5b2967ec7d7174fa1443832b2a0b81d4","impliedFormat":99},{"version":"c683fed42851ec3b483d94ade22a948ef5fcf2e3750f941fda7532a9f62ecd12","impliedFormat":99},{"version":"98b206bfe0db443d31a28b9e08eb31a598742cdc9e1b9588d70504bb91298770","impliedFormat":99},{"version":"51b0b578897069f6dc206e84adecd699a52861bdcd40d45081de250545d365ef","impliedFormat":99},{"version":"7d0a3d6dcdf195ab16a71520772a2cbe79cdb51dec9c9ff06ff32d8a57afc089","impliedFormat":99},{"version":"dc1d3a388380d4457a22d57329d1fa55e0af020f1dda39020c153b9698521aac","impliedFormat":99},{"version":"7c2bf5b44cbe56296ab2f2cf6ff1192c976817ba3c3183a503b10a705824e2de","impliedFormat":99},{"version":"79aadc95d14e4b0d5c50a6774d76a7b08e5ec87275a3b85657c165a9081fb141","impliedFormat":99},{"version":"9990184fc6fc2ed875859eb5055bbbe4c823b93f0055c4ba1f5b7778f835e2d4","impliedFormat":99},{"version":"52fecb612b278f4ba59c6b19cc7109e613db5c0e603fc9a78d44fa87285c1e70","impliedFormat":99},{"version":"1b91306704b818708ef3eb61180c4aef66b0e86b7699cdda0907f6c74d43d99f","impliedFormat":99},{"version":"cf8deca5f18cb658cea0402f8683a3017c0660c1405ff0cd192296b1de201bf7","impliedFormat":99},{"version":"b7c74b906117249d039345134c536fe3b61aa805cc515f2c930974a71380b865","impliedFormat":99},{"version":"d11e583e9af8246664d6106064a8cfe7fff869ab654b86b2025f48ec76687fb7","impliedFormat":99},{"version":"26fe6449eed2c9b0f2be0bc7bd15a52bc55284a67f148069e294b85b9aa756b9","impliedFormat":99},{"version":"dd332252bb45677533cd5553e0c35340cee4c485c90c63360f8e653901286a4f","impliedFormat":1},{"version":"dddde95f3dea44dc49c9095a861298e829122a54a3f56b3b815e615501e2ed16","impliedFormat":1},{"version":"794a88237c94d74302df12ebb02f521cf5389a5bf046a3fdbdd3afb21dc02511","impliedFormat":1},{"version":"66a08d30c55a7aefa847c1f5958924a3ef9bea6cd1c962a8ff1b2548f66a6ce0","impliedFormat":1},{"version":"0790ae78f92ab08c9d7e66b59733a185a9681be5d0dc90bd20ab5d84e54dcb86","impliedFormat":1},{"version":"1046cd42ec19e4fd038c803b4fc1aff31e51e6e48a6b8237a0240a11c1c27792","impliedFormat":1},{"version":"8f93c7e1084de38a142085c7f664b0eb463428601308fb51c68b25cb687e0887","impliedFormat":1},{"version":"83f69c968d32101f8690845f47bcae016cbea049e222a5946889eb3ae37e7582","impliedFormat":1},{"version":"59c3f3ed18de1c7f5927e0eafcdc0e545db88bfae4168695a89e38a85943a86d","impliedFormat":1},{"version":"32e6c27fd3ef2b1ddbf2bf833b2962d282eb07d9d9d3831ca7f4ff63937268e1","impliedFormat":1},{"version":"406ebb72aa8fdd9227bfce7a1b3e390e2c15b27f5da37ea9e3ed19c7fb78d298","impliedFormat":1},{"version":"197109f63a34b5f9379b2d7ba82fc091659d6878db859bd428ea64740cb06669","impliedFormat":1},{"version":"059871a743c0ca4ae511cbd1e356548b4f12e82bc805ab2e1197e15b5588d1c4","impliedFormat":1},{"version":"8ccefe3940a2fcb6fef502cdbc7417bb92a19620a848f81abc6caa146ab963e9","impliedFormat":1},{"version":"44d8ec73d503ae1cb1fd7c64252ffa700243b1b2cc0afe0674cd52fe37104d60","impliedFormat":1},{"version":"67ea5a827a2de267847bb6f1071a56431aa58a4c28f8af9b60d27d5dc87b7289","impliedFormat":1},{"version":"e33bb784508856827448a22947f2cac69e19bc6e9d6ef1c4f42295f7bd4ce293","impliedFormat":1},{"version":"383bb09bfeb8c6ef424c7fbce69ec7dc59b904446f8cfec838b045f0143ce917","impliedFormat":1},{"version":"83508492e3fc5977bc73e63541e92c5a137db076aafc59dcf63e9c6ad34061c7","impliedFormat":1},{"version":"ef064b9a331b7fc9fe0b368499c52623fb85d37d8972d5758edc26064189d14d","impliedFormat":1},{"version":"d64457d06ab06ad5e5f693123ee2f17594f00e6d5481517058569deac326fea0","impliedFormat":1},{"version":"e92ea29d716c5fe1977a34e447866d5cfbd94b3f648e3b9c550603fdae0e94fb","impliedFormat":1},{"version":"3d10f47c6b1e9225c68c140235657a0cdd4fc590c18faf87dcd003fd4e22c67f","impliedFormat":1},{"version":"13989f79ff8749a8756cac50f762f87f153e3fb1c35768cc6df15968ec1adb1a","impliedFormat":1},{"version":"e014c2f91e94855a52dd9fc88867ee641a7d795cfe37e6045840ecf93dab2e6b","impliedFormat":1},{"version":"74b9f867d1cc9f4e6122f81b59c77cbd6ff39f482fb16cffdc96e4cda1b5fdb1","impliedFormat":1},{"version":"7c8574cfc7cb15a86db9bf71a7dc7669593d7f62a68470adc01b05f246bd20ff","impliedFormat":1},{"version":"c8f49d91b2669bf9414dfc47089722168602e5f64e9488dbc2b6fe1a0f6688da","impliedFormat":1},{"version":"3abee758d3d415b3b7b03551f200766c3e5dd98bb1e4ff2c696dc6f0c5f93191","impliedFormat":1},{"version":"79bd7f60a080e7565186cfdfd84eac7781fc4e7b212ab4cd315b9288c93b7dc7","impliedFormat":1},{"version":"4a2f281330a7b5ed71ebc4624111a832cd6835f3f92ad619037d06b944398cf4","impliedFormat":1},{"version":"ea8130014cb8ee30621bf521f58d036bff3b9753b2f6bd090cc88ac15836d33c","impliedFormat":1},{"version":"c740d49c5a0ecc553ddfc14b7c550e6f5a2971be9ed6e4f2280b1f1fa441551d","impliedFormat":1},{"version":"886a56c6252e130f3e4386a6d3340cf543495b54c67522d21384ed6fb80b7241","impliedFormat":1},{"version":"4b7424620432be60792ede80e0763d4b7aab9fe857efc7bbdb374e8180f4092a","impliedFormat":1},{"version":"e407db365f801ee8a693eca5c21b50fefd40acafda5a1fa67f223800319f98a8","impliedFormat":1},{"version":"529660b3de2b5246c257e288557b2cfa5d5b3c8d2240fa55a4f36ba272b57d18","impliedFormat":1},{"version":"0f6646f9aba018d0a48b8df906cb05fa4881dc7f026f27ab21d26118e5aa15de","impliedFormat":1},{"version":"b3620fcf3dd90a0e6a07268553196b65df59a258fe0ec860dfac0169e0f77c52","impliedFormat":1},{"version":"08135e83e8d9e34bab71d0cf35b015c21d0fd930091b09706c6c9c0e766aca28","impliedFormat":1},{"version":"96e14f2fdc1e3a558462ada79368ed49b004efce399f76f084059d50121bb9a9","impliedFormat":1},{"version":"56f2ade178345811f0c6c4e63584696071b1bd207536dc12384494254bc1c386","impliedFormat":1},{"version":"e484786ef14e10d044e4b16b6214179c95741e89122ba80a7c93a7e00bf624b1","impliedFormat":1},{"version":"4763ce202300b838eb045923eaeb32d9cf86092eee956ca2d4e223cef6669b13","impliedFormat":1},{"version":"7cff5fff5d1a92ae954bf587e5c35987f88cacaa006e45331b3164c4e26369de","impliedFormat":1},{"version":"c276acedaadc846336bb51dd6f2031fdf7f299d0fae1ee5936ccba222e1470ef","impliedFormat":1},{"version":"426c3234f768c89ba4810896c1ee4f97708692727cfecba85712c25982e7232b","impliedFormat":1},{"version":"ee12dd75feac91bb075e2cb0760279992a7a8f5cf513b1cffaa935825e3c58be","impliedFormat":1},{"version":"3e51868ea728ceb899bbfd7a4c7b7ad6dd24896b66812ea35893e2301fd3b23f","impliedFormat":1},{"version":"781e8669b80a9de58083ca1f1c6245ef9fb04d98add79667e3ed70bde034dfd5","impliedFormat":1},{"version":"cfd35b460a1e77a73f218ebf7c4cd1e2eeeaf3fa8d0d78a0a314c6514292e626","impliedFormat":1},{"version":"452d635c0302a0e1c5108edebcca06fc704b2f8132123b1e98a5220afa61a965","impliedFormat":1},{"version":"bbe64c26d806764999b94fcd47c69729ba7b8cb0ca839796b9bb4d887f89b367","impliedFormat":1},{"version":"b87d65da85871e6d8c27038146044cffe40defd53e5113dbd198b8bce62c32db","impliedFormat":1},{"version":"c37712451f6a80cbf8abec586510e5ac5911cb168427b08bc276f10480667338","impliedFormat":1},{"version":"ecf02c182eec24a9a449997ccc30b5f1b65da55fd48cbfc2283bcfa8edc19091","impliedFormat":1},{"version":"0b2c6075fc8139b54e8de7bcb0bed655f1f6b4bf552c94c3ee0c1771a78dea73","impliedFormat":1},{"version":"49707726c5b9248c9bac86943fc48326f6ec44fe7895993a82c3e58fb6798751","impliedFormat":1},{"version":"a9679a2147c073267943d90a0a736f271e9171de8fbc9c378803dd4b921f5ed3","impliedFormat":1},{"version":"a8a2529eec61b7639cce291bfaa2dd751cac87a106050c3c599fccb86cc8cf7f","impliedFormat":1},{"version":"bfc46b597ca6b1f6ece27df3004985c84807254753aaebf8afabd6a1a28ed506","impliedFormat":1},{"version":"7fdee9e89b5a38958c6da5a5e03f912ac25b9451dc95d9c5e87a7e1752937f14","impliedFormat":1},{"version":"b8f3eafeaf04ba3057f574a568af391ca808bdcb7b031e35505dd857db13e951","impliedFormat":1},{"version":"30b38ae72b1169c4b0d6d84c91016a7f4c8b817bfe77539817eac099081ce05c","impliedFormat":1},{"version":"c9f17e24cb01635d6969577113be7d5307f7944209205cb7e5ffc000d27a8362","impliedFormat":1},{"version":"685ead6d773e6c63db1df41239c29971a8d053f2524bfabdef49b829ae014b9a","impliedFormat":1},{"version":"b7bdabcd93148ae1aecdc239b6459dfbe35beb86d96c4bd0aca3e63a10680991","impliedFormat":1},{"version":"e83cfc51d3a6d3f4367101bfdb81283222a2a1913b3521108dbaf33e0baf764a","impliedFormat":1},{"version":"95f397d5a1d9946ca89598e67d44a214408e8d88e76cf9e5aecbbd4956802070","impliedFormat":1},{"version":"74042eac50bc369a2ed46afdd7665baf48379cf1a659c080baec52cc4e7c3f13","impliedFormat":1},{"version":"1541765ce91d2d80d16146ca7c7b3978bd696dc790300a4c2a5d48e8f72e4a64","impliedFormat":1},{"version":"ec6acc4492c770e1245ade5d4b6822b3df3ba70cf36263770230eac5927cf479","impliedFormat":1},{"version":"4c39ee6ae1d2aeda104826dd4ce1707d3d54ac34549d6257bea5d55ace844c29","impliedFormat":1},{"version":"deb099454aabad024656e1fc033696d49a9e0994fc3210b56be64c81b59c2b20","impliedFormat":1},{"version":"80eec3c0a549b541de29d3e46f50a3857b0b90552efeeed90c7179aba7215e2f","impliedFormat":1},{"version":"a4153fbd5c9c2f03925575887c4ce96fc2b3d2366a2d80fad5efdb75056e5076","impliedFormat":1},{"version":"6f7c70ca6fa1a224e3407eb308ec7b894cfc58042159168675ccbe8c8d4b3c80","impliedFormat":1},{"version":"4b56181b844219895f36cfb19100c202e4c7322569dcda9d52f5c8e0490583c9","impliedFormat":1},{"version":"5609530206981af90de95236ce25ddb81f10c5a6a346bf347a86e2f5c40ae29b","impliedFormat":1},{"version":"632ce3ee4a6b320a61076aeca3da8432fb2771280719fde0936e077296c988a9","impliedFormat":1},{"version":"8b293d772aff6db4985bd6b33b364d971399993abb7dc3f19ceed0f331262f04","impliedFormat":1},{"version":"4eb7bad32782df05db4ba1c38c6097d029bed58f0cb9cda791b8c104ccfdaa1f","impliedFormat":1},{"version":"c6a8aa80d3dde8461b2d8d03711dbdf40426382923608aac52f1818a3cead189","impliedFormat":1},{"version":"bf5e79170aa7fc005b5bf87f2fe3c28ca8b22a1f7ff970aa2b1103d690593c92","impliedFormat":1},{"version":"ba3c92c785543eba69fbd333642f5f7da0e8bce146dec55f06cfe93b41e7e12f","impliedFormat":1},{"version":"c6d72ececae6067e65c78076a5d4a508f16c806577a3d206259a0d0bfeedc8d1","impliedFormat":1},{"version":"b6429631df099addfcd4a5f33a046cbbde1087e3fc31f75bfbbd7254ef98ea3c","impliedFormat":1},{"version":"4e9cf1b70c0faf6d02f1849c4044368dc734ad005c875fe7957b7df5afe867c9","impliedFormat":1},{"version":"7498b7d83674a020bd6be46aeed3f0717610cb2ae76d8323e560e964eb122d0c","impliedFormat":1},{"version":"b80405e0473b879d933703a335575858b047e38286771609721c6ab1ea242741","impliedFormat":1},{"version":"7193dfd01986cd2da9950af33229f3b7c5f7b1bee0be9743ad2f38ec3042305e","impliedFormat":1},{"version":"1ccb40a5b22a6fb32e28ffb3003dea3656a106dd3ed42f955881858563776d2c","impliedFormat":1},{"version":"8d97d5527f858ae794548d30d7fc78b8b9f6574892717cc7bc06307cc3f19c83","impliedFormat":1},{"version":"ccb4ecdc8f28a4f6644aa4b5ab7337f9d93ff99c120b82b1c109df12915292ac","impliedFormat":1},{"version":"8bbcf9cecabe7a70dcb4555164970cb48ba814945cb186493d38c496f864058f","impliedFormat":1},{"version":"7d57bdfb9d227f8a388524a749f5735910b3f42adfe01bfccca9999dc8cf594c","impliedFormat":1},{"version":"3508810388ea7c6585496ee8d8af3479880aba4f19c6bbd61297b17eb30428f4","impliedFormat":1},{"version":"56931daef761e6bdd586358664ccd37389baabeb5d20fe39025b9af90ea169a5","impliedFormat":1},{"version":"abb48247ab33e8b8f188ef2754dfa578129338c0f2e277bfc5250b14ef1ab7c5","impliedFormat":1},{"version":"beaba1487671ed029cf169a03e6d680540ea9fa8b810050bc94cb95d5e462db2","impliedFormat":1},{"version":"1418ef0ba0a978a148042bc460cf70930cd015f7e6d41e4eb9348c4909f0e16d","impliedFormat":1},{"version":"56be4f89812518a2e4f0551f6ef403ffdeb8158a7c271b681096a946a25227e9","impliedFormat":1},{"version":"bbb0937150b7ab2963a8bc260e86a8f7d2f10dc5ee7ddb1b4976095a678fdaa4","impliedFormat":1},{"version":"862301d178172dc3c6f294a9a04276b30b6a44d5f44302a6e9d7dc1b4145b20b","impliedFormat":1},{"version":"cbf20c7e913c08cb08c4c3f60dae4f190abbabaa3a84506e75e89363459952f0","impliedFormat":1},{"version":"0f3333443f1fea36c7815601af61cb3184842c06116e0426d81436fc23479cb8","impliedFormat":1},{"version":"421d3e78ed21efcbfa86a18e08d5b6b9df5db65340ef618a9948c1f240859cc1","impliedFormat":1},{"version":"b1225bc77c7d2bc3bad15174c4fd1268896a90b9ab3b306c99b1ade2f88cddcc","impliedFormat":1},{"version":"ca46e113e95e7c8d2c659d538b25423eac6348c96e94af3b39382330b3929f2a","impliedFormat":1},{"version":"03ca07dbb8387537b242b3add5deed42c5143b90b5a10a3c51f7135ca645bd63","impliedFormat":1},{"version":"ca936efd902039fda8a9fc3c7e7287801e7e3d5f58dd16bf11523dc848a247d7","impliedFormat":1},{"version":"2c7b3bfa8b39ed4d712a31e24a8f4526b82eeca82abb3828f0e191541f17004c","impliedFormat":1},{"version":"5ffaae8742b1abbe41361441aa9b55a4e42aee109f374f9c710a66835f14a198","impliedFormat":1},{"version":"ecab0f43679211efc9284507075e0b109c5ad024e49b190bb28da4adfe791e49","impliedFormat":1},{"version":"967109d5bc55face1aaa67278fc762ac69c02f57277ab12e5d16b65b9023b04f","impliedFormat":1},{"version":"36d25571c5c35f4ce81c9dcae2bdd6bbaf12e8348d57f75b3ef4e0a92175cd41","impliedFormat":1},{"version":"fde94639a29e3d16b84ea50d5956ee76263f838fa70fe793c04d9fce2e7c85b9","impliedFormat":1},{"version":"5f4c286fea005e44653b760ebfc81162f64aabc3d1712fd4a8b70a982b8a5458","impliedFormat":1},{"version":"e02dabe428d1ffd638eccf04a6b5fba7b2e8fccee984e4ef2437afc4e26f91c2","impliedFormat":1},{"version":"60dc0180bd223aa476f2e6329dca42fb0acaa71b744a39eb3f487ab0f3472e1c","impliedFormat":1},{"version":"b6fdbecf77dcbf1b010e890d1a8d8bfa472aa9396e6c559e0fceee05a3ef572f","impliedFormat":1},{"version":"e1bf9d73576e77e3ae62695273909089dbbb9c44fb52a1471df39262fe518344","impliedFormat":1},{"version":"d2d57df33a7a5ea6db5f393df864e3f8f8b8ee1dfdfe58180fb5d534d617470f","impliedFormat":1},{"version":"fdcd692f0ac95e72a0c6d1e454e13d42349086649828386fe7368ac08c989288","impliedFormat":1},{"version":"5583eef89a59daa4f62dd00179a3aeff4e024db82e1deff2c7ec3014162ea9a2","impliedFormat":1},{"version":"b0641d9de5eaa90bff6645d754517260c3536c925b71c15cb0f189b68c5386b4","impliedFormat":1},{"version":"9899a0434bd02881d19cb08b98ddd0432eb0dafbfe5566fa4226bdd15624b56f","impliedFormat":1},{"version":"4496c81ce10a0a9a2b9cb1dd0e0ddf63169404a3fb116eb65c52b4892a2c91b9","impliedFormat":1},{"version":"ecdb4312822f5595349ec7696136e92ecc7de4c42f1ea61da947807e3f11ebfc","impliedFormat":1},{"version":"42edbfb7198317dd7359ce3e52598815b5dc5ca38af5678be15a4086cccd7744","impliedFormat":1},{"version":"8105321e64143a22ed5411258894fb0ba3ec53816dad6be213571d974542feeb","impliedFormat":1},{"version":"d1b34c4f74d3da4bdf5b29bb930850f79fd5a871f498adafb19691e001c4ea42","impliedFormat":1},{"version":"9a1caf586e868bf47784176a62bf71d4c469ca24734365629d3198ebc80858d7","impliedFormat":1},{"version":"35a443f013255b33d6b5004d6d7e500548536697d3b6ba1937fd788ca4d5d37b","impliedFormat":1},{"version":"b591c69f31d30e46bc0a2b383b713f4b10e63e833ec42ee352531bbad2aadfaa","impliedFormat":1},{"version":"31e686a96831365667cbd0d56e771b19707bad21247d6759f931e43e8d2c797d","impliedFormat":1},{"version":"dfc3b8616bece248bf6cd991987f723f19c0b9484416835a67a8c5055c5960e0","impliedFormat":1},{"version":"03b64b13ecf5eb4e015a48a01bc1e70858565ec105a5639cfb2a9b63db59b8b1","impliedFormat":1},{"version":"c56cc01d91799d39a8c2d61422f4d5df44fab62c584d86c8a4469a5c0675f7c6","impliedFormat":1},{"version":"5205951312e055bc551ed816cbb07e869793e97498ef0f2277f83f1b13e50e03","impliedFormat":1},{"version":"50b1aeef3e7863719038560b323119f9a21f5bd075bb97efe03ee7dec23e9f1b","impliedFormat":1},{"version":"0cc13970d688626da6dce92ae5d32edd7f9eabb926bb336668e5095031833b7c","impliedFormat":1},{"version":"3be9c1368c34165ba541027585f438ed3e12ddc51cdc49af018e4646d175e6a1","impliedFormat":1},{"version":"7d617141eb3f89973b1e58202cdc4ba746ea086ef35cdedf78fb04a8bb9b8236","impliedFormat":1},{"version":"ea6d9d94247fd6d72d146467070fe7fc45e4af6e0f6e046b54438fd20d3bd6a2","impliedFormat":1},{"version":"d584e4046091cdef5df0cb4de600d46ba83ff3a683c64c4d30f5c5a91edc6c6c","impliedFormat":1},{"version":"ce68902c1612e8662a8edde462dff6ee32877ed035f89c2d5e79f8072f96aed0","impliedFormat":1},{"version":"6e7b44af7bc74be6ccf985f9948cf89cf904a18ee2730b1751572bb460489570","impliedFormat":99},{"version":"a52921a0cc67e63f4a709bb2e5a37a10086af5b33dc5621bbfa495d803e58ea8","impliedFormat":99},{"version":"75c598510f9f519a51c716d5f6feebde7fd31c4feebc1da11978cb3d0092db9b","impliedFormat":99},{"version":"42814a59d2a1440739f40aaa273538e92200f4bddc195fd540dba7de19967db4","impliedFormat":99},{"version":"994daf5e8c87af3fad4b9664a5d9eb1dd46838a48aac00b047f5c5a8c46ac76e","impliedFormat":99},{"version":"0759ad06940f793b4fe7bcb459e3c18a78dc760746c07e37108d258b57ae3fb8","impliedFormat":99},{"version":"aafc4ef70d093b3157d9508404e51ed48ab7bb15899df66070ce845ddc9d8ba8","impliedFormat":99},{"version":"da320859f29c148e28af35d69fcbe84a9d784c9726db019b4b0a241d4aebb782","impliedFormat":99},{"version":"89c1ae766ec6db847a63598515afcd0fa700b7d97095fe4b1e8c9690f07c97d6","impliedFormat":99},{"version":"bc71b79b098306848538e3f5e160755a0e9f434c7466737fe80b18d06df4a247","impliedFormat":99},{"version":"ea5743e994ff9f9eab65873517f5feaaa330d8b135d722f88ec1ffd622834cbd","impliedFormat":99},{"version":"71a0f79216aa703990911de0ed6d30fe3836570ece40a975ba60c11498c89c07","impliedFormat":99},{"version":"6ddd10ea836f82707919db3578d0bc090a4d1046f39c3d37f9c9108449e40f4e","impliedFormat":99},{"version":"8018ae9a209d66b657652e2b6b02ff1b2118d420fddecfecb060a7538ea76ccc","impliedFormat":99},{"version":"09b973c7e71fb73095726002749918d3fa7018338c90b36c8d4ee784820d2685","impliedFormat":99},{"version":"b30af7e5a908dbe7ee71928977343010c0e6f5c4c4186e0a8dc1da0dfa1a754c","impliedFormat":99},{"version":"67bf0ad48d76aa0b6b33a6a219f786edb812b029ca11e9a8d13419133b9a4f12","impliedFormat":99},{"version":"d64caaa57aa6be5feb0907c7edec8d753702c60d0f2ee537bc10b8ac29d9ab0a","impliedFormat":99},{"version":"4ff7d77c2047c7965880060cd6eb4935bf6d24d775ad47c27b66cfee1c69e126","impliedFormat":99},{"version":"7fab9f63dfe43b83b01169309cb36ecb8ee524a0e3763b5f5fecb5f1639a4b9e","impliedFormat":99},{"version":"ed9e151eb9041588ddf3a048bfb129a6ccb14807591c969b315fccd0925a0b38","impliedFormat":99},{"version":"76e15244da4e8edecb9c29a06765a51e405f159c6b0206c6c162ef97379b3103","impliedFormat":99},{"version":"3eff07d5a1f2ea546f6e1184c101827005cb505dd13e3c443f30451f51931d96","impliedFormat":1},{"version":"0dc31933a7079e270b8a83a3d047f0130b2975eab4a16552365d91b218c9c244","impliedFormat":1},{"version":"55b41719cd5002ff18114a850d3dc3c515543d6a6dd240b9e3cea58359506d4d","impliedFormat":99},{"version":"e3cf9b8c5949664e8c33feae6990e87fc7eb9f2c5fb75bbc2037e0c4021b4920","impliedFormat":99},{"version":"a46e68f277636f568f6b3cac013162b32906a350cc8659fbda04e41919e6f1e5","impliedFormat":99},{"version":"d58f0dfeea07a07f862f20cb610151cc25434dd69f652fb655d6f8430c8e98f5","impliedFormat":99},{"version":"f193434c4edb0b24ce27b45e0fc5a97cbe9fc164150b736fbcfb5f391ea84537","impliedFormat":99},{"version":"d6d8695d3e93148b8b17764c0e90fae78bc48e97009642d459629565856dc157","impliedFormat":99},{"version":"29d1af4a114487906d69475b585841edd1c34868e9fcb41bcc1508e9dae73e89","impliedFormat":99},{"version":"2c82d8a6dd4b5f5f44568bc2e4587d17a49058c7f5418fc68cb9d8408b157acb","impliedFormat":99},{"version":"6e1f76cf6e754f235f7e09f7bd04befc1fbc0d603b9ddc2eb3207602d90350bd","impliedFormat":99},{"version":"bed174ed939d85a2b2d0fe626afe888f1915f84aae4e72de4c3209511a56dcee","impliedFormat":99},{"version":"9009e36c774bb4291c144293804388376a1f5a807799da364f785144272b1ba8","impliedFormat":99},{"version":"1e54af9a6a2f71ee505c1b4101f6ccd87ce15636a93c9debf77c9a95909289d9","impliedFormat":99},{"version":"94b8bfce58176915253eb4a0f60e8f4ee690e546c8a32d3a9916236b3142e331","impliedFormat":99},{"version":"2bd921445e1ac6dc90d980a58ff8a4a88d6f16f46c09e3d1787ac986f2263c6b","impliedFormat":99},{"version":"40e128f8049f2456829658f414df9721a66aca6b2013882a530e35878cbcccf8","impliedFormat":99},{"version":"cc39afec935fd7b6a60c35283e53dd1a473adc21699b777cfba173be8f176765","impliedFormat":99},{"version":"ddcd83d47363b45661e283a11252e309cebddabf83c494dc43e37b690e95cb23","impliedFormat":99},{"version":"9ef3463398bac78b932ecb19ab4a9820199d24d5dca832d8dead30d17d5afffd","impliedFormat":1},{"version":"4dcdbdbc992d114e52247e2f960b05cf9d65d3142114bf08552b18938cb3d56b","impliedFormat":1},{"version":"b75d56703daaffcb31a7cdebf190856e07739a9481f01c2919f95bde99be9424","impliedFormat":99},{"version":"ddb5454371b8da3a72ec536ad319f9f4e0a9851ffa961ae174484296a88a70db","impliedFormat":1},{"version":"fb7c8a2d7e2b50ada1e15b223d3bb83690bd34fd764aa0e009918549e440db1d","impliedFormat":1},{"version":"b75d56703daaffcb31a7cdebf190856e07739a9481f01c2919f95bde99be9424","impliedFormat":99},{"version":"9c909c17f69f125976e5c320eded3e693890d21b18cbc4caa246ec4fda260dcd","impliedFormat":1},{"version":"7915d50018073244a9bcb3621e79b8e0ad4eedfb6b053fc945cad60c983bb11b","impliedFormat":1},{"version":"ea7b47bc357858506e6161065b1a8997cfbc5d1dcdf233966da9d01d74721ef8","impliedFormat":1},{"version":"50444daaee4bf4ad85ad8eb52e3ad5c6bba420aad9e2a800043a78f4d8bc436c","impliedFormat":99},{"version":"1fa33d8db2a9d2a7dbfb7a24718cccbcde8364d10cce29b1a7eea4cf3a530cbb","impliedFormat":1},{"version":"b75d56703daaffcb31a7cdebf190856e07739a9481f01c2919f95bde99be9424","impliedFormat":99},{"version":"90300bef1c0e2523c97fdd178b9d50e3f39646ade67faab69be4e445937c862a","impliedFormat":1},{"version":"381437930df37907c030519b23ffea4d8113f46e4431a70bfe008a0c43c63648","impliedFormat":1},{"version":"695cbb89013bc9e87fb24b0df020fe605c54f0ab5c267b5bf0490ed097044197","impliedFormat":1},{"version":"f43780383543bfcdc0a2ee850375e1f03d94bdb1b85091d5b11bb8b2023c8b49","impliedFormat":1},{"version":"303638e9e9378e3cce14c10a276251b2b6baea811f882b0adb6d8b7e44a8245e","impliedFormat":1},{"version":"93fc1a008c4786aa9970b7a4c56295bef4d39c243af63cbfcbd5548ca4fdd535","impliedFormat":1},{"version":"6b91aca1948fd92e4fb32e91e94955e7b7c12fb8cbc0a40eb55f1808886e53e8","impliedFormat":1},{"version":"1e197b6e669b8ece0a68c684af9a4394d8c47e58eaa040391cbdadcc1b5020a0","impliedFormat":1},{"version":"fccfc90c19498513d5c4b9c705706660eba9eb493bc38cdc16a11e9d384cd086","impliedFormat":1},{"version":"b288bbe96ea05e353f008a4d445fb8589a82f2a1c4d4d0bdfc283a19020dc96f","impliedFormat":1},{"version":"b75d56703daaffcb31a7cdebf190856e07739a9481f01c2919f95bde99be9424","impliedFormat":99},{"version":"6b1647c4355fbfe7ce9a0ada722e9e7ab0503c289ec38871956dc1d7d4c9d32d","impliedFormat":1},{"version":"52f3a1f4b046e00bc1f860b16e31380119f48fbf0d3bcfa9345a4751af40ea6c","impliedFormat":1},{"version":"dc906dbacb6121d1ad16abb28a32498d7897dee81e2489333db1f8bf426535f2","impliedFormat":1},{"version":"e2371523fea2c03f0ebcc6e835c81fe244193a5f43f037651688542804c9999b","impliedFormat":1},{"version":"5717d899bd25adfcf4639b36991a76917eb8a7922cdbf5a549c810f605780144","impliedFormat":1},{"version":"b66d38ad9d7659d9b5f5a40194f6fc0911636345805c6091a11049beebc4d155","impliedFormat":1},{"version":"45d3d4f05ddc6fbcd83c6eb67f404dbdacbeb4248bd72ce8ff56cca37d079256","impliedFormat":1},{"version":"64d33880a501e1d4e7e5f4a873553a3c5ad35399d4b97de60cfd5d4bdcc635d3","impliedFormat":1},{"version":"c530d22cac087cfdb0a62b6d21294057825b3c1b4efbd35dafaf784618f6e16b","impliedFormat":1},{"version":"329ea6b57fbcfea6b47cefc31da996da87a19f9c247d1fc1972c95297c58ffb6","impliedFormat":1},{"version":"04ffd65cd3e602f6b03472c0e12eff2cd969e5f4141f142f44d05dbac3b6686b","impliedFormat":1},{"version":"d747268dd5f760f55765c74b8cb9bd505808c9494f00aa89f37a7153cef32afb","impliedFormat":1},{"version":"836100a5b7c8d2afde3a3fa86b65f7e638a2ec2c65f2a2e8daa2fa7a02935428","impliedFormat":1},{"version":"49168b9877e436103e4ae793de8a1645911134a7a05ce45322966914c07c24a3","impliedFormat":1},{"version":"e01f2da71e54a1cd22982d63d3473f42c6eb5140c8e94fe309b1f739b7d24bd8","impliedFormat":1},{"version":"cfa0e78441d9fb3c4147e07c3df355b2a18c7a4e74146ac4318f7488d6c6e22b","impliedFormat":1},{"version":"1e6f83f746b7cd4987335905f4c339ffc9d71dddf19f309cb40c5052e1667608","impliedFormat":1},{"version":"dfd5a5761262563b1b102019fc3f72510e68efe1e4731d89c8e55bde0c03e321","impliedFormat":1},{"version":"4e4aafe3724c22d7d5147da38738da5080519bac8a2baa2cd1bbf93ac9d4bd4b","impliedFormat":1},{"version":"7698c020193a21574ef24f01fcfe087e538f5a290eee859a9fa325b2112773e8","impliedFormat":1},{"version":"ea7b47bc357858506e6161065b1a8997cfbc5d1dcdf233966da9d01d74721ef8","impliedFormat":1},{"version":"3828da0c7b9bda13f3959a68b658b059b155952bda9c49a025937867bea5a081","impliedFormat":99},{"version":"dc716a128cd3935cdb6e84dd7fbb6d1c580f5c7c2c79fcbe04ca100bff6a7445","impliedFormat":99},{"version":"10b7663e3502965e688c8f21a267cc28e44ec30d90925d4dfe1a548b65bcffac","impliedFormat":99},{"version":"eed7d3ce9371040e11590b9df5def649ebbbf461d879c5853c833ada0be70dec","impliedFormat":99},{"version":"0b3ea0942c824de3824829e8500d843a805b4a28b8a800d1c02411c84d039e95","impliedFormat":99},{"version":"5c7ef728055546f44db8d52b9227ff631599397dc8877d3590f8e96e5e54e52c","impliedFormat":99},{"version":"ee7bbb0fa825a63418fbde5d750ccaba209e115f005e5f9a3b4b99adf5ca66a7","impliedFormat":99},{"version":"7bff7d35170129c64872169b51e69d47179c96ebba8feffdefeb4d956bf3b202","impliedFormat":99},{"version":"d1919fb2cb97c467911215962b89fe782262272f3dd2ce8b438fe4cdb80ea5ab","impliedFormat":99},{"version":"2c76cf313c88cc40963c288781368c7b75f81477d5fe3d88845895fc0b668017","impliedFormat":99},{"version":"35bcea6e8283b9bd42ab19b1e16da844a6509f675fccc2fc6b068db98cee08db","impliedFormat":99},{"version":"cc92f2dd48740fdc453e338709a45f9f1d0136089b388d444007d493d9179429","impliedFormat":99},{"version":"84442a952e17eee40c0fd1cd6b8f23fbcc80330ca58cb29ee67ebc6a05d398f0","impliedFormat":99},{"version":"d85e17f3d70a3f97279ea8d9c2306cf2a51dd6de82353483a896a44f23903cfb","impliedFormat":99},{"version":"6ca66b890b579970482103b56d0cd56bee5aa4c485ffeda09a5bf3707ad701a9","impliedFormat":99},{"version":"085f02762cdca1ee1cc4d8bbe38f14289acbf8bbf4e3e4b2f857e36aa92e2a22","impliedFormat":99},{"version":"9f0ec7f87891d06db8ebf22787a445ff4ccf7feb127ecf9ed1f08b070c4e704f","impliedFormat":99},{"version":"594c2e8055ce4a324d4cc8f4b0bbe00e115db119cd67152fa4f3bebf408dbd7c","impliedFormat":99},{"version":"e809a340384e56ddbc3440ad8d494f08d3d5c77906a8c7f667676cd0351b9c71","impliedFormat":99},{"version":"20b4bd4b00c85c9b36990496da8da7b542d63f0b84e774f0f2e542ef99e8b14f","impliedFormat":99},{"version":"168f012fe9fe8dd110dbdf45017928aa3aaa383d9001836f1909a3c445a76707","impliedFormat":99},{"version":"a1e4deaabc5ef758a54567ee2f34227eb1df6bae05f250c17785cabad13bab35","impliedFormat":99},{"version":"92c9c113368765abb124bc1f46da61218c909d541942612e10096a6c79297f38","impliedFormat":99},{"version":"3fd0bd197977d2a15369fa8ee6fbacda9f29b9e21e7e35712efd797865ada3b9","impliedFormat":99},{"version":"aea8fbdf514a8a24501b00c61790290e13d8238629b24395307a1e117dc5e1e1","impliedFormat":99},{"version":"97d3a85738ad38a23be7e4eab3c86ee2052513d3281c335654058db318d35261","impliedFormat":99},{"version":"0e9c7d8701820e2c068eff750ee1f1b9001582397045e915b760f5fc9163d7b3","impliedFormat":99},{"version":"992b4ca864057b2df410da702cd48cdc70b3ad59a495085948f3f76ba7643416","impliedFormat":99},{"version":"243dd76817989ef16b4aebf1de5f94011baf1fb9f67aee88d83b95f2cfe593d3","impliedFormat":99},{"version":"4216a3cafae73f49efa7dca3882b029db758bd151db7d88c72b32faeb49d12bb","impliedFormat":99},{"version":"cde6d41f864eb23aba843a698a9cab28bf0cab027dac6bcace31f5618d4034a0","impliedFormat":99},{"version":"8209ab54389f6c42c56bf64c72d2319cc78ae0500de54cd398997ce787a0d291","impliedFormat":99},{"version":"b621ea93ef39e9acd88cb3be8565243b0fba48c3ee05de66d7c1fbcacfdd7930","impliedFormat":99},{"version":"17747d42dbd39e6cafb81d576d6f1f1d1473034a3a4555aa211cb8ffc464f7db","impliedFormat":99},{"version":"e9da1ec146b41a98842501a2c509e67919085211f2321da4edcdaca53e958a4d","impliedFormat":99},{"version":"d6330014ef23a6471a75cb9019060c31c28cd34d13729fa9069b54dea0a1bdac","impliedFormat":99},{"version":"af08fb458edf0daa6aca2989102f3bf1ca6f1745c450ba2ed9268c66ec438270","impliedFormat":99},{"version":"6b8dcb88b7478073beed5c1dfea1324f852ba78559a42174fa8952ae764802eb","impliedFormat":99},{"version":"ee5691716de0fc8a3a36eb7378d3e3501e06a4317ca8493a94ca5e4f939c62e7","impliedFormat":99},{"version":"b12c44ae8b9db7944112e476f61ab5a1f92fcc514bb588b3fcad9d5e691d0505","impliedFormat":99},{"version":"c6db756cf38e61f811fd90bf3a85badb5dd6e98073682cfd15ede01e21755e78","impliedFormat":99},{"version":"75b102f8fe95a94d04b9b9cc0c533ceb532a400596693e1f78aa746583ae0611","impliedFormat":99},{"version":"aa9943cf689d692aae09d29a6ed5c99a17ca9da4d37e64ef591c13fafacccd34","impliedFormat":99},{"version":"4c86ea12224cc626df20fcc23447e15c48e721b1c55fbe8a49a2289e3f0c3855","impliedFormat":99},{"version":"f52db84ac3dd4348ce92916d77e184701b81cbcf7a05776397bea018fa7cbbe6","impliedFormat":99},{"version":"6c7a31e162b0bf6dc7a4e1565ef9094e5c2d2d95a79227bdaea1e915ae89f436","impliedFormat":99},{"version":"7fe038f195fb8693452fbf164693d585de5256391b8460e1b6aea2b85139749d","impliedFormat":99},{"version":"51cba6a662cd4918c3998a3255c07df018e963d46e74816b505b63ebdfefaf24","impliedFormat":99},{"version":"5763f8320321e3f67b05606e67592f7843230724c285f05324659d5005516df6","impliedFormat":99},{"version":"e9528b36256cac681c8639569354acfcc420af39940bd98e725a8e31a3a840d7","impliedFormat":99},{"version":"ef03fbcc932888878a630634a7dc5da6ca61269ff30fd029150a63931b565ca8","impliedFormat":99},{"version":"12ab5fa2dedfaf2aae44362f283a37268231d8019de41571583dd7a597c6dbb1","impliedFormat":99},{"version":"a76791548cff88e615e4d3c1c70083a762885ffb59ee536eaff7e7785dc8ac5e","impliedFormat":99},{"version":"a059fcc73970bf49ebaf6cd56637c70f0aed9eab5810163935c56063bd245497","impliedFormat":99},{"version":"c82bf6f1c60aecc5806faf91c95ba1bc0acfb7c8dddc3e66b0e1347732cd3bf6","impliedFormat":99},{"version":"b076480df86dd4e1f0ba7cbb48a9e99b459804fec727c607678b67fa24f46992","impliedFormat":99},{"version":"c8c65e3fdb0b9cfbdf2b7e8b47349338d8cff610474fe6a9ec0cad7fd8e158d0","impliedFormat":99},{"version":"0c2f59e1b1ff1ea5667e1530e5e70168b59ed829a66a26ecab52851b60255bef","impliedFormat":99},{"version":"58977431cc57502da97125b04690799a9aaeea6f1d769435db69cd88953eaec8","impliedFormat":99},{"version":"0cce36fa853b49c6cd0c298c606cbbc56df6d99d7cd3a759e41dc7604321eb52","impliedFormat":99},{"version":"1762961f9d7bb52e85a6905ba5d4b5f5dc1d078efcf7ceb7a2b44d6bd8872812","impliedFormat":99},{"version":"a1de5f96046e3017d4b0167c9c4e2f78aaabe3309d785cc36a6f78697896997e","impliedFormat":99},{"version":"589ddad39d47c8085a591fef69304cb66cf736dbdee3b11028acd6b7db8a9809","impliedFormat":99},{"version":"ef694cd28a1c62309de5d5b971821a6d476339f623e48f290c7d099903285a4b","impliedFormat":99},{"version":"f949aa37ad84953419f3ab0f7b2819fc531328dfd200eeeec14c5476e69560b0","impliedFormat":99},{"version":"70d4a447d23d0c0b810fae806ef1852cf31b8c7f01018b664409cf6765608fe3","impliedFormat":99},{"version":"2314106831c0f9904a8afaf6a275b4fdefc7828539225313bd43f6c8ae666bb3","impliedFormat":99},{"version":"84d7d38acdf8bc33fc1178a937d192fb7be52532772102f6d2035042d5c389e3","impliedFormat":99},{"version":"07af35aafc0b6c7d2d03fa40c03fe6bba8a4376eb64e85d0bb7eead4b325b914","impliedFormat":99},{"version":"e199e314407ade4a8937a8bf579b2b3e48d0d75d07970db3726c58ea9dd8f14c","impliedFormat":99},{"version":"6abcb17ed78188eae726f3e7f0beeae74423418a1f7d3399d2ab3c023bf0f223","impliedFormat":99},{"version":"9a287eaaf5cde42e630c05818f497aae84ff772543b688c22896afe0f524925b","impliedFormat":99},{"version":"f848c1c657fe44c477721b37faf2194e0ac9da75d16895e872ad4004b04cb208","impliedFormat":99},{"version":"39df61e00a70393b97c6412cde6b66de168d2534d3c37ff8607250c5adfb5233","impliedFormat":99},{"version":"4a17241ed939a801aca0ca71ea883bdc217f466dba45deabcfb53b2eb68215fc","impliedFormat":99},{"version":"92fede0ffb993cde7596122355512db5ebdd3de0fbdf9a37e5b37580093bf175","impliedFormat":99},{"version":"c5271d78dfce168fde066283cfad6bc23668600d73415beeaf210d00c3a8d535","impliedFormat":99},{"version":"0c5197dc1afe28349d064dcbb9a97061e829da300471771335fff2236842e3e3","impliedFormat":99},{"version":"689b92934009b870acf96abbbd14ad11538634aacf59c26d3dbff982ef4942e2","impliedFormat":99},{"version":"4814ac0f48da9347456880964ab9cad12b45c4575e201aa31596eed8e2a61273","impliedFormat":99},{"version":"a0ad30d53a6f6a50a9d7631e18fcff34221cf9bf0d36073181fc0a11b409c6a5","impliedFormat":99},{"version":"fe49e69d681baadbfd7d8589a8750c04bcac72a87df58ba78f5e0b1b24df013d","impliedFormat":99},{"version":"f2f60bd4e16e8a62d8a4772092fb33ea9f0fe3dc714dbfe4edb2cb5ef9f4097e","impliedFormat":99},{"version":"622e4243fc0f03daa9da34fceb368de3e4da7d59abe362b5e98f58dd7bfb1c12","impliedFormat":99},{"version":"36795fbaf30fb6483763ebbd16608d124cd3aa40c9c20458c5274fcb8a3a00bd","impliedFormat":99},{"version":"e0b1fc58eb122c823a2df369bd439eecdabd1593617bc97665d1e7bdad57a7f7","impliedFormat":99},{"version":"f0e1e931821a03f682cf912aae8ca778a86c7babd936098afea950e249f3318c","impliedFormat":99},{"version":"d2929e9ac14ea6a125386b2c53e05c21a9b2c761dc03f6402c249e491fc3bfa2","impliedFormat":99},{"version":"187fff12eaa2743a62efc32e91850f6f79484fdc37ebdb948500ee5abfa04f7d","impliedFormat":99},{"version":"247022a76e1a80a7131fd30579873ff2d807910421942114ae9fa4084c6f4d91","impliedFormat":99},{"version":"3f9af0018bd2b22c9849010497c3457134ac7cebf35dc56cffbcc12e9a78e898","impliedFormat":99},{"version":"38dcb6a35898549efd083b342bac1174c1661a9324ab0e7af415e0f33663c283","impliedFormat":99},{"version":"e6b8f3cd057e49a50b57a52acc38cff7c224def2249464d489295e0e1d200af6","impliedFormat":1},{"version":"15d2a3549a4497ea7b46dcf6d8524e5bf40c1f3b3ec58c57f518405436b8ddcd","impliedFormat":99},{"version":"7e539bd2293791913ecc980c3315f2772fa00204ba16f181c31c6208c295f7c8","impliedFormat":99},{"version":"948f05ad4dd506aa492b696d1da5c58f831040f4287cbb23aa328c2cca375c20","impliedFormat":99},{"version":"815500f18c978f6072ec85089a157ff0be6e201e80946725dc44a08116273cb4","impliedFormat":99},{"version":"78a20636dc9f7d4d3d927f79ff3e59c76f74e3c95c19ac14836b683b75725a18","impliedFormat":99},{"version":"722f274f6a48df94c808dc6a8b3d800cf1d6d84f724bd472dc1540d3077b222b","impliedFormat":99},{"version":"630683a68f25a211d04ac4f8e53ef0985b9613a9e3c2dca78bdfd20f8dea5b2a","impliedFormat":99},{"version":"78a88073db45a3a9e009aea0764b1f8e77f04effe56a32341b08a7a9019168a4","impliedFormat":99},{"version":"191ba8cf4f835ad3e10673f7e61b878115b1f67d15bfec04baa0eaac4faaf67c","impliedFormat":99},{"version":"d33cdd450cb072d417d1d8b67c726d4487d1a23d9ad4d677c6a4ca62d98c335f","impliedFormat":99},{"version":"13da9686e8ba9ac3e294b6402a4cc4eec8de5a2662de568a1a26e3b3386e6389","impliedFormat":99},{"version":"72daba57b02ad5182dc604db585c6c3f21b58f61d5e9f8c9b930a37937ab3630","impliedFormat":99},{"version":"f32c99cf7aecfd94a09953d9de820f099fa5274065a8c0bd4d47ff510f1f6942","impliedFormat":99},{"version":"216ba9d3aa0df527d6ea8eb6fcc3d1014e0bf6e0baa1603dd80b92794536ce42","impliedFormat":99},{"version":"a45885f046269ff836cb4cb16e938fe02f708fcc5d8a733f870142391d225e00","impliedFormat":99},{"version":"ec2fcf44b75215062a14b2af6e776ff45ccac27204c2f8ef614d8938d490e80d","impliedFormat":99},{"version":"7321f7d0817ad3b42e3e1fe2f3b1e6145f606dede5341817ea094bea78c5b682","impliedFormat":99},{"version":"7e0736a9cbd80618d559792860de8db6b8b5ae0db864767e6637aa3cf71ffbcc","impliedFormat":99},{"version":"7c71965b135bc92acac110810436416b2c7d18d14f68915a1c4f3315a843e4b2","impliedFormat":99},{"version":"585ef1d73fd84f4bce87383e048e169d3b744b06a6445929de8a288c98b68f05","impliedFormat":99},{"version":"4f830beb731a50933c7bd8c19e781945b7fa912a46eb3b820778a8a2247f4e8a","impliedFormat":99},{"version":"ac2ecef18ac5f29eee7c2dc3e01b511cc689f4e31aa1881233dbc688de189c75","impliedFormat":99},{"version":"d50e3ffea6427195133748a0b17c92154ac98d00bdb1a1cbb1077c9afc5df180","impliedFormat":99},{"version":"f21cbb06809f6f04fe3d674fa77e0ccc30195500f4562687c706e636c4886b80","impliedFormat":99},{"version":"2113d1e19a2094bbcd63772455641cc2bf4ff63bda52a03499737194447cdf0a","impliedFormat":99},{"version":"2f83a2f915be9335540d1d436764b1493e0f6bc53f593bd0793904d1eba3cc48","impliedFormat":99},{"version":"91d81f6cd9a64434645a2c1386fca0ff17d5020947b28b143f556248ebcaffce","impliedFormat":99},{"version":"48eff82cc15c299781c2dcf7d110c721e44f6cd35ca3753f6b8a25cff16405fd","impliedFormat":99},{"version":"3fc2882d8813e5101b2b20888182168b51ea850d4ac7863143bd061452a68975","impliedFormat":99},{"version":"d3b164d9df05ef6af9c18b9abaf92af5cc371d45b23fd648b09b1ee00a0a0aaf","impliedFormat":99},{"version":"15ce9a853410d35a508e02e4eadd8c063c4819acd47e34487e80e6385fb04999","impliedFormat":99},{"version":"362bffda32bec86e56ca9461d5db5b3ec97438908121e2830c90afb9983931fe","impliedFormat":99},{"version":"f86afbeb15fd9fb8b2e035e2dbb771424efef23b4659c19f625e9076164fbe85","impliedFormat":99},{"version":"d5f7dec2b5270ed63a672adbd20b07aca8cd735656c2a4f031affe10b43f8e71","impliedFormat":99},{"version":"4cec762b9a09c7f926076de570255ab79a8fc2d71e0afccbe11cbecafe25909d","impliedFormat":99},{"version":"cd4a4b627e14f466e4b6ff98a5c017abdbe5a577cdacd4a9226d8c9615a9ac11","impliedFormat":99},{"version":"d6c060b9474d3556dc698c1f068a2897990844c690608cdca6b880ce5c69e324","impliedFormat":99},{"version":"531666cda90cfc9a858a98fcda69f383551e638a40168c262485205f9a0947e7","impliedFormat":99},{"version":"674b06f50a06184ed50b638716034f6e59e549bcc445ba353b822b57a85d06bc","impliedFormat":99},{"version":"67b825927af7882787af8e733f3d8e448da9c63e7c8c7e8d4d3a2673f9eed65a","impliedFormat":99},{"version":"bb55db56347448a93bb5784c01e20db7afcdd4f5d6387a7b5b6ccef0287cc69d","impliedFormat":99},{"version":"68f28e29e4539ee060f24453d6ed0c92f8cdf7e81fe1defbcb70cc8b22e062a5","impliedFormat":99},{"version":"89a04f75d567a8540f0adbd36a9713dd6c29286a8863c18cc54f8408fdd40791","impliedFormat":99},{"version":"ad11509939139722a8e48ca5a4d85a6f348e91cbc830ea94562b8ab1b794354e","impliedFormat":99},{"version":"25ff3576de64c63a3d3150050a16596badb90eea3c591ac8e888286d56f07b71","impliedFormat":99},{"version":"13f77749a22913d6540ca12f0481a3235b1d9084dad08b5856d2aba0466da734","impliedFormat":99},{"version":"e17a98cbe276b5bdafe80a2038421948881f827d0780188c0c63aaf8c0421a50","impliedFormat":99},{"version":"45497cf6161e1eb7ac4e9c443b90949d3af96e25fbb4ca54fe2fcee9329f3b68","impliedFormat":99},{"version":"eb6518364f15374175ec611f7cbd359e7920f44bd48d74f8c6c76257c7df9f36","impliedFormat":99},{"version":"2a422d3aea4ebc63628812423a8a15a223d9d32ae84b211f756249226509f3d7","impliedFormat":99},{"version":"0ad58384b698ce15f9636e601d6e4e9dfe039886b0646872f9916828500e755e","impliedFormat":99},{"version":"41df4eac79953659360e3631d3c69b1ba5b7c875520febaf0f0d138a7a2f43b0","impliedFormat":99},{"version":"021e469b4562c714e46b0adb08331550efb6cbe1b95809ce9b898af32471997a","impliedFormat":99},{"version":"33bc4413a5d91ef3add05a89dca1f31b1f35144feb27ab6ebc74b579e18cf278","impliedFormat":99},{"version":"ad1698e20ca74598304aff3beda0f02aad40f7e30dfe7fcc76d98360999aabb1","impliedFormat":99},{"version":"7049ae7a3b1bae3bdbbd6faf1b9c15aaf835171fe1187060892e740141f79c85","impliedFormat":99},{"version":"b127f7551d853242e7095e334224fef3a5ef1a7b67d39b76556462e2089ef362","impliedFormat":99},{"version":"4690fa898918d3112e0c35c11e1b99bd4b2edeb72ce7a46d2b3e081c0733e759","impliedFormat":99},{"version":"47fb389f7176da97b95de0e40f5cddd5ecd53806d6a9487cb9eedf312cbca224","impliedFormat":99},{"version":"d739c62a04c7087a7f5d7e184d90f299534d4b96ac82e7f4a9dabeb677a9507e","impliedFormat":99},{"version":"cec59a9924f388cad579f0a2cda906f51bea534188c5b0dcb9dbd07ca11edbab","impliedFormat":99},{"version":"17e74510f1e628ead633fa857debd268d06427583adaa38c139616b57d014835","impliedFormat":99},{"version":"4693a14b4d6f8621602fb4243bd141f376ee6db0d0031c4a370012854aede092","impliedFormat":99},{"version":"2245f4576811a126bb9272da3b19364413e1a77353a52faf05b568dc8967b7c8","impliedFormat":99},{"version":"ecead2fc4c3d22ad5d42c9b39a8cc3280eb382ba4357e516f023d5b29a31e568","impliedFormat":99},{"version":"bdba126d309fdf80f30d29e3cc87fffcc6d77be74e625d685873db4a31b04a32","impliedFormat":99},{"version":"de911dbecb62cf8296ca233e9d5835d607e8db1260559bb12311d770cf3a1516","impliedFormat":99},{"version":"527deaa503830c9f13734d4a05cf7be09ebd8889bb81fd772185b12a8f7d8f7c","impliedFormat":99},{"version":"95b0f34ed0c8b41c011d17de6788edfb18e24b55ef0764b70417b642d10710b9","impliedFormat":99},{"version":"1a11287b4d0f608a2a4027a27128fd7dbff8fd619ac6be67c2fbc73adf66fffc","impliedFormat":99},{"version":"b144cb77a0745de097ba814b43fdc8c112ddb0e8e39ea59c4ffba352646807b8","impliedFormat":99},{"version":"bd1718157f1dc09eade7414d4217a6ba36cbdf56c178b938af2ede8359f65915","impliedFormat":99},{"version":"8815f69d910580896328f9e2278e81976fa97e7fcae228958c4f5ce2b15cbe63","impliedFormat":99},{"version":"cad76aa9340b182d8b5bdc3f6987fa696e2b6cd89444d6987b549e128609101f","impliedFormat":99},{"version":"40e60164a3bbdf1adf9b583cc9a615adb6c71d34164e677a9e2fe501b5c5de5b","impliedFormat":99},{"version":"4b12c706e7a56413ab5ed108c0b11d9b47b5cf10347c9e12a8a62fd078ed87d1","impliedFormat":99},{"version":"6e0e0ea33c691e5372f14c6f9cdc6a1846b9272013101a76e517634b7578afec","impliedFormat":99},{"version":"24490ac99614a2ebb88a287279d50ef98d4c0629f3ec64d5db316ce14e4d0f92","impliedFormat":99},{"version":"edbf2dd81aa88b7a3b316cdf95980a97ac34668b6fc7e7ab7deb9fbb6722623b","impliedFormat":99},{"version":"a6a8540ce8636d65f63d9131887e314f68f602a1e80d60b62e09e45f96b6b32b","impliedFormat":99},{"version":"73476e16d2a9ef32a03b87e53f48e78c58a188dfb09bb0fdd006eb9a8fd90d7e","impliedFormat":99},{"version":"6119b6f6f792762efb92f5dd32bc460a703099d4f9f2e1dfec2de9fc2b3cc259","impliedFormat":99},{"version":"178623f07777df7ea84f4db248b044438ac476f0601b0523411c65e070620a7c","impliedFormat":99},{"version":"5f635ff6b6d29c0bcc243c30d89c1f083bb28490967a62faab1971ec2e7a3fd2","impliedFormat":99},{"version":"76d56188b11cacf23943e6c30957c8d7d57676d7b9a90e067c29871c42e20705","impliedFormat":99},{"version":"320c10a89e90ac6a55ac9b3b050337adc6c3042d6faec9df09b2e510b8a73e88","impliedFormat":99},{"version":"116c94f830360cf5d8fca932824ea60e15b3f86982dbf1ed81d88ff56a61c9f8","impliedFormat":99},{"version":"0de7847369c8c8216bd1e75467304d15e1bf2ad525c7f89f181305c04f22c663","impliedFormat":99},{"version":"e983b46e5bd490044d735841121613186e3a6a2d3a86d3134777c3a3f1420786","impliedFormat":99},{"version":"1a52f52f3e6d313f2604cc356ed08d93ca01a839e61070117e293f8d356819de","impliedFormat":99},{"version":"afe05052c9df72a4958bc486a5b7dc9572accae8703852f3e7b4adea2ca2de9f","impliedFormat":99},{"version":"4e4b64453a45f89aae2ab0f1fb96a28fe446519e922a53284d7ff98703becd0b","impliedFormat":99},{"version":"e8db23dfd80bf62757654dcd4a2f13298c6d31a1cc6c0b4c863d75572cd5f9c3","impliedFormat":99},{"version":"69d8324bd8cf4ee93995959786745fba121177c8ceb0746d9232933f3f18051a","impliedFormat":99},{"version":"2ba8b3e15d274a210cca155618f8880d2ac59ab90d6bcf5483d620298a33009c","impliedFormat":99},{"version":"4eb730c95c2a74554048ee19dce3dbd3fb1f4c9f3c274ee5cc1270db6d6f664e","impliedFormat":99},{"version":"0c8e93233bd87af97addc8a5d36b909ebc58627ae1cd90b699cfe8fbb5501a10","impliedFormat":99},{"version":"1338652b2a6bf39e3b7107bc0c55b5428db6d8d6797da4ff1317a10feaea4419","impliedFormat":99},{"version":"883a4a621b63617f9938fb2936afe1310855eed1c0bec00ed4d6e788271f02bc","impliedFormat":99},{"version":"585224c5444bd48f22bcd88656ad19207104515b19cbeee30bc4865f5053e445","impliedFormat":99},{"version":"fa7a0e40f3b7aa07d908f3d1633d467adb096c4a0e79dcbd6af59922abfe967a","impliedFormat":99},{"version":"8b962befe5a74ce9285b55b9b1eb17986a6d7fbfabc905a77cbddd6cc496d0d3","impliedFormat":99},{"version":"d72e73f64fcbca3af4fad5c5b15efcb3fe9eadf5da58483d3f634f0c41e96c65","impliedFormat":99},{"version":"b14690238beb2a5ff036bda35ba4d4405cd19881af7051e1bba80b0560ca5a49","impliedFormat":99},{"version":"799bf5b99ed82a69c046ff1df49356bd3a17b21b4fba97582f5d4a4d3b09996e","impliedFormat":99},{"version":"3e5d1547fba2266bcfe0f4878ac7609079a605e8aa1e5bf7812ead398821084f","impliedFormat":99},{"version":"acddae4c1cb5ad30303af2df7e833ea30b75afb6ad591708c5e04f5cd46b0992","impliedFormat":99},{"version":"e8d1c180d14d4d0032fb404da9835a68364eb39e171bc1c242350065556edab2","impliedFormat":99},{"version":"98b2a66ea70e3d8610b8ab8fa2018bd70e4105e0b31a4211256f14d981cde7f9","impliedFormat":99},{"version":"26deb5bec3a2fee7d7e036539f4eaabd141d501b22c65c3abca89fd8c7443009","impliedFormat":99},{"version":"249f30905a75fba403b1e3392ec4bd64692d5881deb7640c8c33e690b4627d11","impliedFormat":99},{"version":"d0c5c4f21bfc7c2a192552fc09ed3d2d1548fea58739ca45301bbbc3c3cb572d","impliedFormat":99},{"version":"d7106ed6de78fc12e129ea5306dfef61f9213090bc915aaad04640638235a477","impliedFormat":99},{"version":"cf385c506b586d9004417c50399800aad90958b63a57b2bec3cbc6c29544d4da","impliedFormat":99},{"version":"eac6d5b4d487a42d59e673341e707b500e8a7d15679d77787644854c1411c701","impliedFormat":99},{"version":"51f944cadca25866bc3880e6c3691eb273adbce3ca3a62c9db554811743810bf","impliedFormat":99},{"version":"c2982f92e96adc31e0dd27cab795e136e0a2470251a16a2bcf77a5697fe59f3a","impliedFormat":99},{"version":"a6c1e614fe31890392ac75199f64771715452b238b37969d607a863345df1d45","impliedFormat":99},{"version":"1aa99811eafd6595a62dbd63ba4b7485303bf27851e86883a6189b1736604ba7","impliedFormat":99},{"version":"b40062e484882f368918a42739442aa05385335ac2f40be0e628f29bcab3347f","impliedFormat":99},{"version":"400fbc79231f7b613a74b3edb40763bc22b7327b72284a84228b37b2abff6004","impliedFormat":99},{"version":"2375a8b6383a80faf64a24648f1ec879edda0ed33607d93acb657c7c71435d3b","impliedFormat":99},{"version":"13c1035ec7b26bf7cc2a04b7b6c0d8a04800de55dfc0b6187bea9d39f2123d8f","impliedFormat":99},{"version":"97811e9203181da710e30f496b6c9cd2a232055f00c479f6c08bb3d51ea10b7e","impliedFormat":99},{"version":"aba8443b902705e12245c55a45426ee0fd4377c4f5d529ee69cee37870b4411f","impliedFormat":99},{"version":"9e8bb2c808b1d14dff29ac626697731880fbfac8a4fd94467f55c37a1bed7ed0","impliedFormat":99},{"version":"7656d7772cae22ff39ae082134fb4998162ed9628bdfbbc05a1f8e09f3ca1e8d","impliedFormat":99},{"version":"cbad0c04bfaaf790d717ed09192b1ceed29ed787224fc5de5260894e519e708e","impliedFormat":99},{"version":"296c03583859b88abfd5ac6dd66482600610b24919dbd4345cdb5350f38e453a","impliedFormat":99},{"version":"852d2ddafae145b67b3654e06c46e0a01055b11f72ddeea42cf9857fc0c06f04","impliedFormat":99},{"version":"de75e7c9053afde6aa0b3fe743469921cec001e6de197755a9985c8ef80d4933","impliedFormat":99},{"version":"18a950a3dba57dd0278593e312feec607364030c78c168f6b0a8408b359ec3e6","impliedFormat":99},{"version":"41a0e7cc4f0237ec2c35c15106b99fa3d20dbb2a5b02b6d749d2ebf7a56127a3","impliedFormat":99},{"version":"0fc575896be9004e487e8c028a2a7a8b2c4d4dd11273aa73041618a277807feb","impliedFormat":99},{"version":"b314df80c4deec64bca0be988483ae29bc9bcaa08db2004957e1eb70b47cb403","impliedFormat":99},{"version":"756d2eefa09121a6e52490ade41505b33000eaf52c21d0e44e8f3530ce7085ac","impliedFormat":99},{"version":"e408971f6341f45eb981450ea9199c4c0df5d6b17c8cd107db9cde9c5838a8d4","impliedFormat":99},{"version":"9fcb962560d4498615a653a6ba18ca1eb8063da7c30dfd75f13f8d1f47f5d7f1","impliedFormat":99},{"version":"8fe9a13add5acd013b8d8be7e09a6f30a1fca49bfa41a42852a39aae63d0038b","impliedFormat":99},{"version":"860b0a1bc10bb95b13dc25233f7a7964145e9d83173aff1497d9013318c56135","impliedFormat":99},{"version":"b7322ed44003ee6c251b32c54dc86261ebbe5bab6151276bb5b9f7ffd0066a86","impliedFormat":99},{"version":"0d14b18f5954e81e52120a9ef35f97e9a6ecfdca0f38e922d91b7e4e36480b5e","impliedFormat":99},{"version":"b5082554dc4e679bcc359c0ccc971caef54915ad3ff9f3b9433fb8054dcd7463","impliedFormat":99},{"version":"11bd9e296c32e9f5b7d43e3abc7b60518951c12c37193a85831b0654f072d43d","impliedFormat":99},{"version":"6f5fccd467ad4438da915fde0e21766da3ab0ad9580839752edeb4aa144d9dd7","impliedFormat":99},{"version":"aaf8ff266488ef1f2c07a5d86b56cfbdd522bf7857128c355b9ffcce69c0a762","impliedFormat":99},{"version":"67a5b2c8460970ae97d466b110d498423d939173dc00c8b873326ff410e2447d","impliedFormat":99},{"version":"b874829e67740b66499f0d53684fe149d10e9d1534ced8bec4e6dbc2f6ba99bd","impliedFormat":99},{"version":"1070fd277c63c61f5fa9b1c9c5f68471feb330850abd7ee3afc81fc417011209","impliedFormat":99},{"version":"a29b4c5aa7982fe2a261cbf6eb61e9c8f6b2695555c7fe8c6c2079cfa2842d8a","impliedFormat":99},{"version":"bce8430826af9004d549c4f6136e773fbf8f5410db49cfefc6a23a06d2a7e32b","impliedFormat":99},{"version":"0179c181a72fd376c9a7387a2e573ed2f5fa3dad1503b86bdde2747ff7cbcc3a","impliedFormat":99},{"version":"65aebe7df236e773325039892e0b6b3de014e2fb75b712e7d73ce1d706e5d7f2","impliedFormat":99},{"version":"7c15dcf96c0bca24d2b4a9b8632d141d57fd0b59e89f18fbe997bac9c4ba4b40","impliedFormat":99},{"version":"2d4f252eaeae166038c6f6220d7211ecce5f89179d58afaa8e6730875c265935","impliedFormat":99},{"version":"740657f72e51c9f9baa38f1ed307d43e7be1926930faaafad09c5d36afb4dccc","impliedFormat":99},{"version":"f0453844da35a55a6495c5a78b8e43f15853933589ad58fbbc4cfe45c265146a","impliedFormat":99},{"version":"8e590efc40b7f5a48369dedc3f23517db418e969e6470e9e9f0a9800b14936aa","impliedFormat":99},{"version":"07c081162f430ceaf03266dfe3e49a3a58c67cd65b530b8f8b251cd19ea9efe3","impliedFormat":99},{"version":"d5f6505fb6c589ee5d888d3f48601222c9bd6848c58c910dbc86dcedf5b70312","impliedFormat":99},{"version":"a41d5eecdc92738adab57e8a5c399d65d8f605bdb9a412a18efb87d80e09aff7","impliedFormat":99},{"version":"2e6a5def06ef35eb7faa063ab3558b5efe1b3fb2b867252c177d5b61f66504bd","impliedFormat":99},{"version":"952697ed311052e130af0879edee14baa22f0502e400d8d6f8e69ca55095bf32","impliedFormat":99},{"version":"d0102fb10430020e1cd742cb0cdaaca7aa9fec55a1f34dc51983a26e79b124a5","impliedFormat":99},{"version":"11cd82f8982995496fc37c2af0f6da1caf0e35de0d04ce80fe1432fd59c91cac","impliedFormat":99},{"version":"2038c35ca99bdb2e89fa56fa32bdb0625a176de8921c2e8d76054893dfc73302","impliedFormat":99},{"version":"f8ee8d9de226a35ca20f67f66750e6d70aafc15e644323e56db8f6f8ee2d11ac","impliedFormat":99},{"version":"67005f94bae3bd79540ff5e0804b0c84deb79afdf5400a3e084b20c3c6b232f3","impliedFormat":99},{"version":"728c44233da16644f3d0effbd1cd8fe78277b7f182bd7d9d5ec0573ee5a8df3e","impliedFormat":99},{"version":"9c5673110b8bcf6d57251ce2b4172e3d1deca6d6566cae09c25e7077cf1833e0","impliedFormat":99},{"version":"d48a884babec2a56032f0415a5ac931bd3d5a7fb540cbe282638f3f7667c5d58","impliedFormat":99},{"version":"7c7f5d03bd2f6c09383c2ff13e5d60f9c9f2ea08f845ef4a7371245f00c65fd5","impliedFormat":99},{"version":"9df9ced2d40940b3c5abcf863572599452823111df42d5e185ce5f9706af40e3","impliedFormat":99},{"version":"034162695586c82b0754bc50eb125d88a3865682f3366c9df6f75ceb7c072e5a","impliedFormat":99},{"version":"11b96870f41822f2c14bc2fe14564bb71d8f4829639e38886c632b3130fc7702","impliedFormat":99},{"version":"a3e7a2f7feb33720033ba616b8adb021b298e66943ff554d314c8fdd70632b9d","impliedFormat":99},{"version":"22bc2273afd6cedaf84bb6545d9cd4d7e03e1be9634762f80ce8c5ee5982f09b","impliedFormat":99},{"version":"c567b873733a38b79cbe5cd376eba290c4c9a5b46709ccd11f09b749a3a0a421","impliedFormat":99},{"version":"de686d671017b45242ce68e8659569e456bfd9b7f8fd09852893ba9a56bc46e1","impliedFormat":99},{"version":"8c1883bb1b10e0721c99ee7206d4f76c51cdc7d10504165e4ac3690fa0e6ba60","impliedFormat":99},{"version":"954ce3ea0b2783050c5b3e349ff4d81d5cda2786dbed3dfcc430176d718c6d12","impliedFormat":99},{"version":"48bad1173c6e185fbd70e76e44e80deb75dec51fe4f8742bbd2bfb9a680515cf","impliedFormat":99},{"version":"4eae2cdbe825e1962d3d5d8e450a13ddcf73364ec351a0db87276d46ae4779a8","impliedFormat":99},{"version":"0b5bad84157dbfd4443e0cb0f6e015c2e22e9409ad5a31f90443be7e2d6e87bc","impliedFormat":99},{"version":"b03d8f58754200d5df2d160082544fb2e580d805b28dc41dfaeec52f1e10d5db","impliedFormat":99},{"version":"3ad287701c259460658a837dfd4fd96b9735a8d55fa8c9c792f0bb821484f248","impliedFormat":99},{"version":"641aea821c0a88528e7a0d012d0c31702315a53be9a8c2f753bb9e9ac5919e3a","impliedFormat":99},{"version":"a3f54fab84429fe6eec7158b134c403eef25d9e4a4fb7c1b0766043aa36cfee2","impliedFormat":99},{"version":"6b67435286848f5fe8818a2320e43bbcda6a64544b55a2458955ae2e2bcd0457","impliedFormat":99},{"version":"3fd135dc0f3c2877f2f61387393cceff5064b24bf96fcfc09726ef7a35e4fa52","impliedFormat":99},{"version":"693fdfb72857acd265548ae60658fc55a66987298278e9096e41290056f25a6f","impliedFormat":99},{"version":"a63c9e9d73cc7531ccdd5dc70530791dc665ea6238bb11c212a51c5a0a2292a3","impliedFormat":99},{"version":"51be0bbc5c1305590c72e990f17903bc2150aeb89109a45e804d1cef29ce0f92","impliedFormat":99},{"version":"580e1e781811d5077b91273d8f616eecb787c30212be8aa03aad1840bc4b5f55","impliedFormat":99},{"version":"d87b19bd155843a50fd268266bfb8f37879ceb60b89d3ce271111662c23c9420","impliedFormat":99},{"version":"bb422274c0f0a9e2004cb927ba316d4b73d10bb4f432dbf66c59f69c68fbea30","impliedFormat":99},{"version":"9f12d9ebe66646a1a62476a2fdcd54436f80704fee604bcfead5e561c8a06d82","impliedFormat":99},{"version":"8e7dc0581cc247943dc79633e5d4f5a306e8dc5f7b9226feabd3837cd0ca64f4","impliedFormat":99},{"version":"e3e25ffb40ab0efabcd9023ce61ccbfefcbe1f599e190aebf1d7fa113b375d4c","impliedFormat":99},{"version":"282c0db3a1f1743be9170a96f4cb72aae2ab3a05da7c52f8e1c5a79082098268","impliedFormat":99},{"version":"c6a4610d94dd94c08e819b6366990af1699fded1ef2849acfd861d586dfbccba","impliedFormat":99},{"version":"d08075175af0ca7195fb7b39c9d88dd88530c1b63676c19c54205085f994bafd","impliedFormat":99},{"version":"6931e8c252c1c7adc2ea4fa1054cd3af9ca16c2e0970803e74ae0cbd6b6eeb04","impliedFormat":99},{"version":"0aaf0d47a722c975f28cf44b10eae1b70c8f4508cdf57e28b3e35acd42adfe40","impliedFormat":99},{"version":"8eaf5e3fdb55c81cbcfc1f8792d5a2531594262342c9a24c51140c0eabe581e8","impliedFormat":99},{"version":"250788d9295815dfb48fcc07ca0ecca9cc1362eca3e412ced9440337a6845e02","impliedFormat":99},{"version":"0282f2e9c8ac5c593ffeb7b4d01f5e1d93e8a757f14de7055fca65906d559979","impliedFormat":99},{"version":"76057b4c42aa46cf0d241022f7b4a34b9c4b42e1d3039584938342d701325f54","impliedFormat":99},{"version":"208e799814fc73b6e025ed0c239134a0fa277dbcd1b45490cf98ae15d57f6181","impliedFormat":99},{"version":"0d3399df5e693f63359193350cfb41c89285d28399a0f630ce0cbc416983803c","impliedFormat":99},{"version":"abf28526c50740d3bdcf61f1cccfae23eadaa8f125f99d258bd2e43790a70bed","impliedFormat":99},{"version":"a7b9137d0b509b67c77c73f5ad28df8cec2d409f63244e2e5e70954dc483b3b8","impliedFormat":99},{"version":"92aa3dcbb3b66c2d1c65e4b9e9d87e72c6e1c12b95384558ae880a66e54f9ece","impliedFormat":99},{"version":"bae4588384de5cb284da1537bc3f3ea5e5432958de3d5766960e5e379adf7236","impliedFormat":99},{"version":"39e55367e1c6b453ef5e9cc896148c8a32b915a50abde4489cd91e990e395d63","impliedFormat":99},{"version":"5961a865f796c4d6275c10c8e8ff74443b3fcb49ebbd8fbedc0a19dbc14f5e25","impliedFormat":99},{"version":"f071a8dbfc3599b3ca0337d790468efa1adef72150055b6652b0d50d25238756","impliedFormat":99},{"version":"1a50afd03f1d2b4d5d0a3a66a188fdd438a954c7f8aa9cde8fdac6b5b69f6ac7","impliedFormat":99},{"version":"fa096e423abccd556bc25a7a45c7274539e5ca7f756ec5c1dd3d23ca0c13d62b","impliedFormat":99},{"version":"92f0b155ff361b7cc7ca278c741e64feb03122b4ed1d635d4006908d0e6821e7","impliedFormat":99},{"version":"d3587784c0bdb756ac6cd68d21450ce8602a08ba8ec2d1718df1f58f20401ad0","impliedFormat":99},{"version":"7b599e46ef95b7372286c31e97558a019690aea0b6ebbb101f27e5e503be6c6b","impliedFormat":99},{"version":"03dbe5f092e00693e6cb63f7eb6d2f3631ef37d23ee2e2a027cfa915e9678e5e","impliedFormat":99},{"version":"e7318d62e2932c2fd75d5f9edc9f3c37ed3afc0a2c9c22e2442e3e87322b2c15","impliedFormat":99},{"version":"deea6f16a2b6e68aebe932c5d5f17098a45233538589a1bdd320357944dfc334","impliedFormat":99},{"version":"eb1f03a2863ab75b418f6ec023ccb06a8b1a5884cb0401c3989b9d202a5996dd","signature":"0e35eb38ad52eed91d779a1ff6aec482acec57ec15b0ec3a766fccd79333d8be"},"f7995d62ea31c71272947e5d0513fcb3cf74e56a937706f042ec3b9116d9b315",{"version":"851ebc659de9577dedb88786f5fc436f013f1ad7915d2ea18d0aefbd474ac0d5","impliedFormat":99},{"version":"1251f73e967e9cd222d15e74a6cae7f7894da2fbf18ad685e3a5948fc0c382ad","impliedFormat":99},{"version":"1a82833bf7fcd9c9328a1d36433a92bab811624ad3707f1b01d7835d677b326e","impliedFormat":99},{"version":"d9a6bc7381fc831cb81c3eaa79edeaccef9aa84817bb0aacc13e759eb8e7ced4","impliedFormat":99},{"version":"c83d08ceff7925a80f98c793df2bc5e7b92cff63562e307b33709fdc9b2ccdfc","impliedFormat":99},{"version":"e81d402982f27d8f03a8e1f9c9faa0edfbb55830295ac8cc1225bb19a6aafef0","impliedFormat":99},{"version":"b91b59c2351aa74d0959c40ec7e1600a0392fecd68435f52d88f781bbeee57d2","impliedFormat":99},{"version":"25cc3d5e79484c39e344bb3eebcd2a723dd9defebfbc2b3162ba4a34b9efb3ef","impliedFormat":99},{"version":"a467fad74c6526604167f8b143643bcf6d13f836c6cb0d31000be599a34e180f","impliedFormat":99},{"version":"69978bbc97ed626a53595f9bd6e844dd6cd3846d76b495514e8b730feb554c7f","impliedFormat":99},{"version":"35663e26c95fc36c5218c3d53206276d0a0c2778b1ce2a707bea2e2ae263cf15","impliedFormat":99},{"version":"846f27b3e0050f8a79b101355ffbde70e029b16447d3aca3d450bbeedb603cf7","impliedFormat":99},{"version":"4d5b76fd27a2dda2f6c4abb20b16bc5d699dbec6f49817f2592ad61938cce40c","impliedFormat":99},{"version":"d3802b885d7bde7cbdcb6bf19ea27741d589d77893c1c1c57b40cb094f185154","impliedFormat":99},{"version":"09390aa916e1d20c1e61675b9d8f5240a640e209f14125ca439841bb8863516a","impliedFormat":99},{"version":"0f81ef5be073cc999261bde6d4e59bb89bfa49beaa26146c0f281a3247e92362","impliedFormat":99},{"version":"8ff8a030bc5969ed9209b220313126b854532d6aa34bbe86d5e26a9f4a67df33","impliedFormat":99},{"version":"f7b32eb93598e42a7d40aec1533c231a519718a865ef7ab3a399c42ae21544e1","impliedFormat":99},{"version":"4ce139d50c9593e7c386a4352c8602a060429294c9571696dad7f39e222e7589","impliedFormat":99},{"version":"2e53b1d30228b5bb46f82396a9206794ae3026ad4f16c3e6bbc7bac37c320809","impliedFormat":99},{"version":"b8795cf7bcc9ea20da65e9873a142699cf64bfc6137456ff15f845a615d2f261","impliedFormat":99},{"version":"4d4235593f4f13dc93d4050b3a9df37404946a0b82f077533670cb9754447eba","impliedFormat":99},{"version":"0b09602c13dae37adae341f15e72d301e55ecc4543ed5dd60d2bbb7bed84cec3","impliedFormat":99},{"version":"4c7058c3815612df88c1a6ba62b61909ba6f773e5fad0af63cec37ff5fd33ed3","impliedFormat":99},{"version":"9ba0ee48f5778a9537a46e5d66bdddceb785f85f9fe07e4f0f0d8bc4074ecf2c","impliedFormat":99},{"version":"2acd1e27cf84600ace83d68fdf4a1f36d03eb2975323ecffd7ede7257dac8576","impliedFormat":99},{"version":"a0ac9df2ca9f62827cebe38132e276a6728402dd779cd855415641080f088ecb","impliedFormat":99},{"version":"3568f0864aace6a5acfec058629bbf464c5b9f3efe72875e327d717b566ce7df","impliedFormat":99},{"version":"e9b961d3cbbf4e994a29b4c576794b0c9604c44d27c990ebc88938e7310919c0","impliedFormat":99},{"version":"0e0753e126914590a6825849c22221483235f8262013aaaa9370214c11f704a5","impliedFormat":99},{"version":"38a679a441fca691e6db7b411c786c9c1974894dc9d4e135dfbe66ee601324ef","impliedFormat":99},{"version":"c7352891cb8a9dbb2db4b126880c5afd5d486af158aca0a4ddfe2d996f2faaf0","impliedFormat":99},{"version":"8fb568102deb8c2c1e3a226a46d23a664ef74ddb95f5f3882a1fa1eed2ad8623","impliedFormat":99},{"version":"e127f5d3a3ae440afc76d275b23d8d4471b6d08be0f9b723ce21083699f59fca","impliedFormat":99},{"version":"fcd2a91c523c98182c7abd3f330d34efb1d2cc09402af9ebfb7719c7dbaebb80","impliedFormat":99},"e08183795498a71762048d429707cd403c4fd511e12b02a9151e147c20a39133","6c3ba691f4577c7705e4763a0f9ea5643fa78bdc1f5e982e54b6155cf658fa55",{"version":"ed09d42b14a604190e8c9fc972d18ea47d5c03c6c4a0003c9620dca915a1973d","affectsGlobalScope":true,"impliedFormat":99}],"root":[477,1060,2768,2769,2775,2776,3473,3509,3510],"options":{"allowJs":true,"declaration":true,"declarationMap":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"jsx":1,"module":99,"noUncheckedIndexedAccess":true,"skipLibCheck":true,"strict":true,"target":9},"referencedMap":[[1059,1],[477,2],[3509,3],[3510,3],[3472,4],[2775,5],[2776,5],[3473,6],[1060,7],[2769,8],[2768,9],[3010,10],[3012,11],[3011,12],[3013,13],[3014,14],[3009,15],[3044,16],[3045,17],[3043,18],[3047,19],[3050,20],[3046,21],[3048,22],[3049,22],[3051,23],[3052,24],[3057,25],[3054,26],[3053,27],[3056,28],[3055,29],[3061,30],[3060,31],[3058,32],[3059,21],[3062,33],[3063,34],[3067,35],[3065,36],[3064,37],[3066,38],[3002,39],[2984,21],[2985,40],[2987,41],[3001,40],[2988,42],[2990,21],[2989,12],[2991,21],[2992,43],[2999,21],[2993,12],[2994,12],[2995,12],[2996,21],[2997,44],[2998,45],[2986,23],[3000,46],[3068,47],[3041,48],[3042,49],[3040,50],[2978,51],[2976,52],[2977,53],[2975,54],[2974,55],[2971,56],[2970,57],[2964,55],[2966,58],[2965,59],[2973,60],[2972,57],[2967,61],[2968,62],[2969,62],[3005,42],[3003,42],[3006,63],[3008,64],[3007,65],[3004,66],[2955,44],[2956,12],[2979,67],[2983,68],[2980,12],[2981,69],[2982,12],[2958,70],[2959,70],[2962,71],[2963,72],[2961,70],[2960,71],[2957,40],[3015,21],[3016,21],[3017,21],[3018,73],[3039,74],[3027,75],[3026,12],[3019,76],[3022,21],[3020,21],[3023,21],[3025,77],[3024,78],[3021,21],[3035,12],[3028,12],[3029,12],[3030,21],[3031,21],[3032,12],[3033,21],[3034,12],[3038,79],[3036,12],[3037,21],[2932,12],[2934,80],[2935,81],[2933,12],[2936,12],[2937,12],[2940,82],[2938,12],[2939,12],[2941,12],[2942,12],[2943,12],[2944,83],[2945,12],[2946,84],[2931,85],[2922,12],[2923,12],[2925,12],[2924,27],[2926,27],[2927,12],[2928,27],[2929,12],[2930,12],[2954,86],[2952,87],[2947,12],[2948,12],[2949,12],[2950,12],[2951,12],[2953,12],[3117,88],[3116,12],[3119,89],[3118,90],[3129,91],[3122,92],[3130,93],[3127,91],[3131,94],[3125,91],[3126,95],[3128,96],[3124,97],[3123,98],[3132,99],[3120,100],[3121,101],[3111,12],[3112,102],[3114,103],[3113,104],[3115,105],[3096,106],[3100,107],[3095,108],[3097,27],[3094,109],[3093,110],[3098,110],[3099,111],[3399,112],[3395,113],[3394,27],[3396,27],[3397,114],[3398,27],[3405,27],[3404,27],[1906,115],[1908,116],[1909,117],[1910,118],[1905,12],[1907,12],[2652,119],[2653,119],[2654,120],[2655,121],[2656,122],[2661,123],[2657,120],[2658,120],[2659,120],[2666,124],[2660,120],[2662,125],[2651,126],[2663,127],[2650,128],[2664,129],[2665,126],[2682,120],[2683,130],[2685,131],[2680,120],[2681,120],[2684,132],[2645,121],[2643,120],[2675,133],[2647,120],[2648,120],[2667,134],[2671,135],[2670,136],[2672,137],[2673,120],[2668,138],[2669,139],[2674,140],[1524,12],[1527,141],[224,12],[2604,142],[2603,143],[2537,144],[2538,144],[2539,144],[2540,144],[2541,145],[2542,145],[2543,145],[2544,145],[2545,144],[2546,144],[2547,144],[2548,144],[2601,146],[2602,147],[2549,144],[2534,12],[2550,144],[2551,144],[2552,144],[2553,145],[2554,144],[2586,148],[2555,147],[2556,147],[2557,147],[2558,147],[2559,147],[2560,147],[2536,147],[2588,149],[2589,149],[2590,149],[2591,147],[2592,150],[2593,149],[2594,149],[2595,149],[2596,144],[2597,149],[2598,144],[2599,147],[2600,151],[2587,152],[2511,153],[2533,154],[2561,155],[2562,144],[2563,147],[2564,147],[2565,144],[2566,144],[2567,144],[2535,156],[2568,145],[2569,145],[2570,144],[2571,144],[2572,144],[2573,145],[2574,144],[2576,157],[2575,158],[2577,145],[2578,144],[2579,147],[2580,145],[2582,159],[2581,154],[2583,144],[2584,147],[2585,145],[3458,160],[3459,160],[3460,160],[2779,161],[2774,162],[3471,163],[3508,164],[2777,160],[2770,144],[2772,165],[2771,144],[2773,144],[2778,144],[3474,160],[3475,160],[3501,166],[3502,160],[3503,160],[3504,160],[3505,167],[3506,168],[3507,169],[2697,170],[2644,171],[2691,172],[2698,160],[2699,173],[2700,174],[2646,175],[2690,176],[2701,177],[2704,178],[2703,179],[2702,120],[2705,180],[2706,180],[2707,180],[2708,180],[2709,181],[2710,182],[2639,183],[2711,184],[2712,185],[2713,186],[2714,177],[2715,178],[2716,187],[2717,170],[2718,170],[2719,170],[2676,188],[2720,170],[2721,170],[2722,170],[2723,170],[2724,170],[2725,170],[2726,170],[2677,171],[2727,170],[2678,189],[2728,170],[2732,190],[2729,191],[2731,192],[2730,193],[2679,194],[2733,195],[2734,170],[2735,170],[2686,196],[2736,170],[2737,120],[2738,170],[2739,174],[2687,175],[2740,12],[2742,197],[2743,198],[2744,170],[2693,199],[2694,200],[2640,201],[2745,202],[2746,203],[2747,204],[2688,175],[2763,205],[2692,206],[2748,207],[2749,208],[2750,208],[2641,209],[2751,207],[2642,210],[2752,120],[2753,12],[2689,211],[2638,212],[2637,213],[2636,120],[2754,120],[2755,144],[2696,214],[2756,215],[2695,183],[2757,208],[2758,216],[2759,160],[2760,12],[2761,12],[2762,144],[2781,217],[3457,218],[2785,219],[2789,220],[2790,220],[3445,221],[3446,222],[3447,27],[3448,27],[3442,27],[3439,27],[3441,27],[3440,27],[3444,223],[2791,220],[2863,224],[2864,172],[2794,225],[2793,226],[3453,227],[3452,160],[3450,144],[3451,228],[2792,175],[3443,176],[3449,187],[2818,220],[2795,220],[2796,220],[2831,220],[2797,220],[2798,220],[2799,220],[2823,229],[2800,220],[2801,220],[2802,220],[2803,220],[2807,230],[2806,171],[2808,220],[2866,231],[2865,189],[2810,232],[2809,170],[2811,190],[2862,192],[2861,193],[2812,220],[2813,220],[2814,220],[2815,220],[2816,220],[2817,220],[2821,233],[2860,234],[2820,174],[2859,175],[2787,235],[2824,229],[2825,229],[2826,229],[2819,12],[2805,236],[2804,197],[2828,237],[2827,198],[2829,220],[2830,238],[2833,239],[2832,240],[2822,199],[2788,200],[2834,203],[2858,241],[2857,175],[2782,144],[2835,217],[3455,242],[2784,243],[2837,120],[2836,206],[2838,244],[2783,209],[2856,207],[2855,245],[2854,246],[2786,210],[2853,120],[2839,12],[2840,12],[2841,120],[2842,12],[2843,12],[2845,213],[2852,120],[2846,12],[2847,247],[2848,12],[2849,12],[2850,12],[3454,211],[2844,120],[2780,214],[3456,215],[2851,248],[2867,160],[3436,249],[3437,12],[3438,250],[1511,12],[1517,251],[2197,252],[1510,253],[1512,254],[1514,255],[2196,12],[1515,256],[1516,254],[1513,254],[2919,27],[2910,27],[2916,27],[2913,257],[2912,258],[2914,259],[2918,260],[2917,27],[2921,27],[3272,261],[3271,261],[3270,262],[3072,263],[3071,27],[3181,264],[2895,27],[3073,27],[3074,27],[2908,265],[2907,144],[3075,160],[3077,266],[3081,267],[3076,160],[3080,268],[3086,160],[2899,160],[2898,27],[3070,269],[3069,270],[3088,271],[3079,27],[3087,12],[2915,27],[3078,27],[3089,160],[3252,160],[3420,272],[3090,273],[3432,274],[3431,27],[3253,160],[3231,27],[3461,160],[3462,160],[3233,27],[3232,160],[3234,275],[3259,276],[3101,277],[3102,27],[3103,27],[3104,27],[3082,12],[3083,278],[3105,144],[3263,160],[2897,279],[2896,280],[3108,281],[3107,144],[3159,282],[3157,283],[3158,284],[3434,160],[3168,285],[3167,12],[3106,160],[3169,27],[3170,286],[3172,27],[3171,27],[3173,27],[3166,160],[3164,287],[3174,27],[3175,27],[3176,27],[2920,27],[3180,288],[3179,289],[3177,27],[3178,27],[3255,160],[3254,160],[3183,160],[3182,160],[2890,160],[2888,160],[2891,160],[2889,160],[2892,144],[2894,144],[2893,144],[3156,290],[3155,291],[3256,292],[2911,12],[3235,27],[3184,160],[3185,160],[3251,293],[3250,294],[3421,27],[3423,295],[3422,160],[3236,27],[2900,160],[2885,27],[2886,27],[3239,296],[3240,297],[3238,298],[3237,160],[3165,27],[2905,160],[3243,160],[3242,160],[2887,160],[3241,160],[3244,160],[3258,299],[3257,144],[3245,27],[2906,273],[3186,160],[3247,160],[3248,160],[2909,160],[3419,300],[3418,301],[3417,302],[3416,301],[3415,303],[3414,304],[3413,305],[3412,301],[3411,306],[3410,301],[3409,307],[3408,144],[3476,27],[3477,144],[3435,308],[3470,309],[3500,310],[3265,160],[3260,160],[3261,160],[3266,160],[3262,27],[3268,311],[3267,160],[3269,312],[3273,160],[2868,27],[3274,160],[3275,160],[3276,160],[3277,160],[3278,160],[3280,313],[3279,27],[3264,160],[2870,314],[3301,160],[3281,160],[3478,144],[3282,160],[3284,315],[3283,316],[3285,160],[3286,12],[3289,317],[3288,318],[3287,274],[3290,160],[3291,160],[3293,319],[3292,320],[2869,144],[3297,160],[3295,321],[3294,27],[3296,160],[3300,322],[3299,323],[3298,320],[3304,324],[3303,325],[3302,160],[3305,27],[3307,326],[3306,316],[3359,144],[3311,327],[3313,328],[3312,329],[3308,144],[3479,144],[3309,330],[3314,27],[2882,27],[3316,331],[3315,144],[3319,27],[3318,332],[3317,12],[3320,260],[3323,333],[3322,144],[3321,160],[3324,316],[3325,27],[3326,27],[3328,27],[3329,27],[3327,27],[3480,27],[3084,12],[3407,12],[2871,12],[2872,12],[2873,27],[2874,12],[2875,12],[2881,27],[2876,12],[2877,27],[2878,27],[3369,27],[2883,12],[2879,12],[2880,27],[2884,144],[3330,27],[3331,27],[3332,27],[3333,27],[3334,27],[3335,27],[3351,27],[3336,27],[3337,27],[3338,27],[3349,27],[3350,27],[3353,27],[3339,27],[3340,27],[3354,27],[3341,27],[3342,27],[3343,27],[3344,27],[3352,27],[3345,27],[3346,27],[3347,27],[3348,27],[3366,27],[3367,160],[3085,27],[3368,27],[3375,160],[3376,160],[3379,334],[3378,335],[3377,160],[3380,12],[3382,27],[3383,160],[3230,336],[3385,337],[3386,338],[3163,144],[3371,339],[3372,340],[3370,12],[3387,160],[3388,27],[3389,341],[3390,342],[3392,343],[3393,27],[3374,27],[3373,27],[3400,344],[3401,345],[3109,160],[3365,346],[3481,144],[2902,347],[3482,144],[2903,348],[2904,160],[2901,349],[3391,27],[3355,27],[3356,27],[3357,27],[3358,27],[3403,272],[3381,27],[3384,160],[3402,160],[3406,350],[3483,12],[3484,12],[3360,144],[3361,144],[3362,144],[3485,144],[3486,351],[3433,352],[3487,274],[3463,274],[3363,353],[3488,144],[3490,354],[3491,144],[3489,274],[3492,355],[3493,355],[3464,144],[3465,144],[3494,144],[3495,144],[3496,144],[3497,12],[3430,356],[3466,272],[3467,144],[3498,12],[3364,144],[3499,144],[3468,144],[3426,160],[3425,160],[3427,160],[3428,144],[3429,144],[3162,160],[3424,160],[3161,272],[3160,160],[3469,160],[2649,12],[1519,357],[1034,358],[1032,12],[954,12],[1520,12],[121,359],[122,359],[123,360],[76,361],[124,362],[125,363],[126,364],[71,12],[74,365],[72,12],[73,12],[127,366],[128,367],[129,368],[130,369],[131,370],[132,371],[133,371],[134,372],[135,373],[136,374],[137,375],[77,12],[75,12],[138,376],[139,377],[140,378],[174,379],[141,380],[142,12],[143,381],[144,382],[145,383],[146,384],[147,385],[148,386],[149,387],[150,388],[151,389],[152,389],[153,390],[154,12],[155,391],[156,392],[158,393],[157,394],[159,395],[160,396],[161,397],[162,398],[163,399],[164,400],[165,401],[166,402],[167,403],[168,404],[169,405],[170,406],[171,407],[78,12],[79,12],[80,12],[118,408],[119,12],[120,12],[172,409],[173,410],[2507,411],[2532,412],[178,413],[334,27],[179,414],[177,415],[336,416],[335,417],[175,418],[332,12],[176,419],[60,12],[62,420],[331,27],[242,27],[918,421],[1044,422],[1021,423],[1019,12],[1020,12],[478,12],[489,424],[484,425],[487,426],[1035,427],[1026,12],[1029,428],[1028,429],[1040,429],[1027,430],[1043,12],[486,431],[488,431],[480,432],[483,433],[1022,432],[485,434],[479,12],[1033,12],[1590,12],[2007,12],[2741,12],[61,12],[1518,12],[1716,435],[1695,436],[1792,12],[1696,437],[1632,435],[1633,12],[1598,12],[1634,12],[1599,12],[1635,12],[1636,12],[1637,12],[1600,12],[1638,12],[1601,12],[1639,12],[1602,12],[1640,12],[1603,12],[1641,12],[1604,12],[1642,12],[1605,12],[1643,12],[1644,435],[1645,435],[1646,12],[1647,12],[1648,12],[1649,12],[1650,12],[1651,12],[1652,12],[1653,12],[1654,12],[1656,12],[1655,12],[1657,12],[1658,12],[1659,435],[1660,12],[1661,12],[1662,435],[1663,12],[1664,12],[1665,435],[1666,12],[1667,435],[1668,435],[1669,435],[1670,12],[1671,435],[1672,435],[1673,435],[1674,435],[1675,435],[1677,435],[1678,12],[1679,12],[1676,435],[1680,435],[1681,12],[1682,12],[1683,12],[1684,12],[1685,12],[1686,12],[1687,12],[1688,12],[1689,12],[1690,12],[1691,12],[1692,435],[1693,12],[1694,12],[1697,438],[1698,435],[1699,435],[1700,439],[1701,440],[1702,435],[1703,435],[1704,435],[1705,435],[1708,435],[1706,12],[1707,12],[1619,12],[1709,12],[1606,12],[1710,12],[1607,12],[1711,12],[1712,12],[1713,12],[1714,12],[1715,12],[1717,441],[1608,12],[1718,12],[1719,12],[1720,12],[1722,12],[1721,12],[1723,12],[1609,12],[1724,12],[1610,12],[1725,12],[1726,435],[1611,12],[1727,12],[1612,12],[1728,12],[1613,12],[1729,12],[1730,12],[1731,435],[1732,435],[1734,435],[1733,435],[1614,12],[1735,12],[1736,12],[1737,12],[1738,12],[1885,442],[1739,435],[1740,435],[1741,12],[1742,12],[1615,12],[1743,12],[1616,12],[1744,12],[1617,12],[1745,12],[1746,12],[1747,12],[1748,12],[1749,12],[1750,12],[1751,12],[1752,12],[1753,435],[1754,12],[1755,12],[1756,12],[1757,12],[1758,12],[1759,12],[1760,12],[1761,12],[1762,12],[1763,12],[1764,435],[1765,12],[1766,12],[1767,12],[1768,12],[1769,12],[1770,12],[1771,12],[1772,12],[1773,12],[1774,435],[1775,12],[1776,12],[1777,12],[1778,12],[1779,12],[1780,12],[1781,12],[1782,12],[1783,435],[1784,12],[1785,12],[1786,12],[1787,12],[1788,12],[1789,12],[1790,435],[1791,12],[1793,443],[1618,435],[1794,12],[1795,435],[1796,12],[1797,12],[1798,12],[1799,12],[1800,12],[1801,12],[1802,12],[1803,12],[1804,12],[1805,435],[1806,12],[1807,12],[1808,12],[1809,12],[1810,12],[1811,12],[1812,12],[1817,444],[1815,445],[1816,446],[1814,447],[1813,435],[1818,12],[1819,12],[1820,435],[1821,12],[1822,12],[1823,12],[1824,12],[1825,12],[1826,12],[1827,12],[1828,12],[1829,12],[1830,435],[1831,435],[1832,12],[1833,12],[1834,12],[1621,435],[1835,435],[1836,12],[1837,435],[1838,12],[1839,441],[1622,12],[1840,12],[1841,12],[1842,12],[1843,12],[1844,12],[1623,12],[1845,12],[1624,12],[1846,12],[1625,12],[1847,12],[1848,12],[1849,435],[1850,435],[1626,12],[1851,12],[1852,12],[1853,12],[1854,12],[1855,12],[1856,12],[1857,12],[1858,12],[1859,12],[1860,12],[1861,12],[1862,12],[1863,435],[1864,435],[1865,12],[1866,12],[1867,435],[1868,12],[1627,12],[1869,12],[1870,12],[1871,12],[1872,12],[1873,12],[1628,12],[1874,12],[1629,12],[1875,12],[1876,12],[1630,12],[1877,12],[1631,12],[1878,12],[1879,12],[1880,435],[1620,448],[1881,12],[1882,12],[1883,12],[1884,12],[1340,449],[1319,450],[1416,12],[1320,451],[1256,449],[1257,449],[1258,449],[1259,449],[1260,449],[1261,449],[1262,449],[1263,449],[1264,449],[1265,449],[1266,449],[1267,449],[1268,449],[1269,449],[1270,449],[1271,449],[1272,449],[1273,449],[1252,12],[1274,449],[1275,449],[1276,12],[1277,449],[1278,449],[1280,449],[1279,449],[1281,449],[1282,449],[1283,449],[1284,449],[1285,449],[1286,449],[1287,449],[1288,449],[1289,449],[1290,449],[1291,449],[1292,449],[1293,449],[1294,449],[1295,449],[1296,449],[1297,449],[1298,449],[1299,449],[1301,449],[1302,449],[1303,449],[1300,449],[1304,449],[1305,449],[1306,449],[1307,449],[1308,449],[1309,449],[1310,449],[1311,449],[1312,449],[1313,449],[1314,449],[1315,449],[1316,449],[1317,449],[1318,449],[1321,452],[1322,449],[1323,449],[1324,453],[1325,454],[1326,449],[1327,449],[1328,449],[1329,449],[1332,449],[1330,449],[1331,449],[1254,12],[1333,449],[1334,449],[1335,449],[1336,449],[1337,449],[1338,449],[1339,449],[1341,455],[1342,449],[1343,449],[1344,449],[1346,449],[1345,449],[1347,449],[1348,449],[1349,449],[1350,449],[1351,449],[1352,449],[1353,449],[1354,449],[1355,449],[1356,449],[1358,449],[1357,449],[1359,449],[1360,12],[1361,12],[1362,12],[1509,456],[1363,449],[1364,449],[1365,449],[1366,449],[1367,449],[1368,449],[1369,12],[1370,449],[1371,12],[1372,449],[1373,449],[1374,449],[1375,449],[1376,449],[1377,449],[1378,449],[1379,449],[1380,449],[1381,449],[1382,449],[1383,449],[1384,449],[1385,449],[1386,449],[1387,449],[1388,449],[1389,449],[1390,449],[1391,449],[1392,449],[1393,449],[1394,449],[1395,449],[1396,449],[1397,449],[1398,449],[1399,449],[1400,449],[1401,449],[1402,449],[1403,449],[1404,12],[1405,449],[1406,449],[1407,449],[1408,449],[1409,449],[1410,449],[1411,449],[1412,449],[1413,449],[1414,449],[1415,449],[1417,457],[1253,449],[1418,449],[1419,449],[1420,12],[1421,12],[1422,12],[1423,449],[1424,12],[1425,12],[1426,12],[1427,12],[1428,12],[1429,449],[1430,449],[1431,449],[1432,449],[1433,449],[1434,449],[1435,449],[1436,449],[1441,458],[1439,459],[1440,460],[1438,461],[1437,449],[1442,449],[1443,449],[1444,449],[1445,449],[1446,449],[1447,449],[1448,449],[1449,449],[1450,449],[1451,449],[1452,12],[1453,12],[1454,449],[1455,449],[1456,12],[1457,12],[1458,12],[1459,449],[1460,449],[1461,449],[1462,449],[1463,455],[1464,449],[1465,449],[1466,449],[1467,449],[1468,449],[1469,449],[1470,449],[1471,449],[1472,449],[1473,449],[1474,449],[1475,449],[1476,449],[1477,449],[1478,449],[1479,449],[1480,449],[1481,449],[1482,449],[1483,449],[1484,449],[1485,449],[1486,449],[1487,449],[1488,449],[1489,449],[1490,449],[1491,449],[1492,449],[1493,449],[1494,449],[1495,449],[1496,449],[1497,449],[1498,449],[1499,449],[1500,449],[1501,449],[1502,449],[1503,449],[1504,449],[1255,462],[1505,12],[1506,12],[1507,12],[1508,12],[2143,12],[2530,463],[2492,464],[2496,465],[2201,466],[2441,467],[2200,12],[2203,468],[2490,469],[2491,470],[2199,12],[2493,471],[2274,472],[2218,473],[2241,474],[2250,475],[2221,475],[2222,476],[2223,476],[2249,477],[2224,478],[2225,476],[2231,479],[2226,480],[2227,476],[2228,476],[2251,481],[2220,482],[2229,475],[2230,480],[2232,483],[2233,483],[2234,480],[2235,476],[2236,475],[2237,476],[2238,484],[2239,484],[2240,476],[2261,485],[2269,486],[2248,487],[2277,488],[2242,489],[2244,490],[2245,487],[2255,491],[2263,492],[2268,493],[2265,494],[2270,495],[2258,496],[2259,497],[2266,498],[2267,499],[2273,500],[2264,501],[2243,471],[2275,502],[2219,471],[2262,503],[2260,504],[2247,505],[2246,487],[2276,506],[2252,507],[2271,12],[2272,508],[2495,509],[2497,510],[2498,511],[2500,512],[2499,513],[2202,471],[2312,12],[2329,514],[2278,515],[2303,516],[2310,517],[2279,517],[2280,517],[2281,518],[2309,519],[2282,520],[2297,517],[2283,521],[2284,521],[2285,518],[2286,517],[2287,518],[2288,517],[2311,522],[2289,517],[2290,517],[2291,523],[2292,517],[2293,517],[2294,523],[2295,518],[2296,517],[2298,524],[2299,523],[2300,517],[2301,518],[2302,517],[2324,525],[2320,526],[2308,527],[2332,528],[2304,529],[2305,527],[2321,530],[2313,531],[2322,532],[2319,533],[2317,534],[2323,535],[2316,536],[2328,537],[2318,538],[2330,539],[2325,540],[2314,541],[2307,542],[2306,527],[2331,543],[2315,507],[2326,12],[2327,544],[2513,545],[2514,546],[2512,547],[2509,548],[2510,549],[2508,550],[2205,551],[2398,552],[2333,553],[2368,554],[2377,555],[2334,556],[2335,556],[2336,557],[2337,556],[2376,558],[2338,559],[2339,560],[2340,561],[2341,556],[2378,562],[2379,563],[2342,556],[2344,564],[2345,555],[2347,565],[2348,566],[2349,566],[2350,557],[2351,556],[2352,556],[2353,562],[2354,557],[2355,557],[2356,566],[2357,556],[2358,555],[2359,556],[2360,557],[2361,567],[2346,568],[2362,556],[2363,557],[2364,556],[2365,556],[2366,556],[2367,556],[2386,569],[2393,570],[2375,571],[2403,572],[2369,573],[2371,574],[2372,571],[2381,575],[2388,576],[2392,577],[2390,578],[2394,579],[2382,580],[2383,497],[2384,581],[2391,582],[2397,583],[2389,584],[2370,471],[2399,585],[2343,471],[2387,586],[2385,587],[2374,588],[2373,571],[2400,589],[2401,12],[2402,590],[2380,507],[2395,12],[2396,591],[2214,592],[2207,593],[2256,471],[2253,594],[2257,595],[2254,154],[2452,596],[2429,597],[2435,598],[2404,598],[2405,598],[2406,599],[2434,600],[2407,601],[2422,598],[2408,602],[2409,602],[2410,599],[2411,598],[2412,603],[2413,598],[2436,604],[2414,598],[2415,598],[2416,605],[2417,598],[2418,598],[2419,605],[2420,599],[2421,598],[2423,606],[2424,605],[2425,598],[2426,599],[2427,598],[2428,598],[2449,607],[2440,608],[2455,609],[2430,610],[2431,611],[2444,612],[2437,613],[2448,614],[2439,615],[2447,616],[2446,617],[2451,618],[2438,619],[2453,620],[2450,621],[2445,622],[2433,623],[2432,611],[2454,624],[2443,625],[2515,626],[2442,627],[2210,628],[2212,629],[2211,628],[2213,628],[2216,630],[2215,631],[2217,632],[2208,633],[2488,634],[2456,635],[2481,636],[2485,637],[2484,638],[2457,639],[2486,640],[2477,641],[2478,637],[2479,642],[2480,643],[2465,644],[2473,645],[2483,646],[2489,647],[2458,648],[2459,646],[2462,649],[2468,650],[2472,651],[2470,652],[2474,653],[2463,654],[2466,655],[2471,656],[2487,657],[2469,658],[2467,659],[2464,660],[2482,661],[2460,662],[2476,663],[2461,507],[2475,664],[2206,507],[2204,665],[2209,666],[2494,12],[962,12],[1051,667],[1053,668],[1052,669],[1050,670],[1049,12],[3092,671],[1166,12],[1169,672],[1168,673],[1167,673],[1165,674],[1163,12],[1164,674],[1170,675],[1071,676],[1138,677],[1137,678],[1136,679],[1076,680],[1092,681],[1090,682],[1091,683],[1077,684],[1162,685],[1062,12],[1064,12],[1065,686],[1066,12],[1069,687],[1072,12],[1089,688],[1067,12],[1084,689],[1070,690],[1085,691],[1088,692],[1086,692],[1083,693],[1063,12],[1068,12],[1087,694],[1093,695],[1081,12],[1075,696],[1073,697],[1082,698],[1079,699],[1078,699],[1074,700],[1080,701],[1157,702],[1151,703],[1144,704],[1143,705],[1152,706],[1153,692],[1145,707],[1158,708],[1139,709],[1140,710],[1141,711],[1161,712],[1142,705],[1146,708],[1147,713],[1160,714],[1154,715],[1155,690],[1156,713],[1159,692],[1148,711],[1094,716],[1149,717],[1150,718],[1135,719],[1133,720],[1134,720],[1099,720],[1100,720],[1101,720],[1102,720],[1103,720],[1104,720],[1105,720],[1106,720],[1125,720],[1097,720],[1107,720],[1108,720],[1109,720],[1110,720],[1111,720],[1112,720],[1132,720],[1113,720],[1114,720],[1115,720],[1130,720],[1116,720],[1131,720],[1117,720],[1128,720],[1129,720],[1118,720],[1119,720],[1120,720],[1126,720],[1127,720],[1121,720],[1122,720],[1123,720],[1124,720],[1098,721],[1096,722],[1095,723],[1061,12],[501,724],[939,725],[937,726],[935,727],[936,728],[943,729],[942,730],[940,731],[941,732],[491,12],[492,12],[793,733],[800,734],[808,735],[804,736],[776,12],[934,737],[802,738],[803,12],[938,739],[801,740],[792,741],[810,742],[809,743],[743,744],[734,745],[778,12],[779,12],[500,12],[780,746],[777,12],[781,747],[944,748],[782,749],[784,12],[785,750],[787,751],[786,750],[812,752],[522,753],[520,12],[527,754],[811,12],[528,755],[517,756],[516,12],[526,757],[524,758],[813,759],[814,760],[523,761],[815,760],[816,762],[525,763],[913,764],[821,765],[822,759],[817,12],[818,766],[820,767],[819,768],[521,769],[908,770],[824,771],[823,772],[757,773],[825,774],[573,775],[572,776],[567,12],[571,12],[569,12],[570,12],[568,777],[566,778],[565,779],[563,780],[748,781],[562,782],[529,783],[594,784],[564,12],[561,12],[828,785],[826,786],[827,787],[495,788],[494,12],[835,789],[837,790],[917,791],[839,792],[841,793],[843,794],[845,795],[834,796],[836,797],[916,796],[838,796],[840,796],[842,798],[844,796],[846,799],[848,800],[603,801],[850,796],[852,802],[854,798],[847,803],[856,804],[914,796],[858,796],[861,805],[863,806],[865,807],[867,800],[849,808],[851,809],[604,810],[853,811],[855,812],[857,813],[915,814],[859,815],[862,816],[864,817],[866,818],[868,819],[921,820],[493,12],[496,821],[830,822],[832,823],[829,822],[499,824],[497,825],[498,825],[831,826],[833,827],[869,12],[870,828],[922,829],[795,830],[796,830],[794,12],[797,831],[771,12],[788,830],[789,830],[772,832],[791,833],[790,12],[766,834],[774,835],[927,836],[773,837],[929,838],[931,12],[926,839],[768,840],[928,841],[930,12],[767,830],[902,842],[924,12],[871,843],[923,12],[925,12],[647,12],[770,842],[535,844],[536,743],[872,845],[769,846],[873,847],[807,848],[805,12],[806,849],[945,850],[951,851],[875,783],[876,852],[874,853],[629,854],[877,855],[799,856],[798,12],[909,12],[912,857],[910,12],[911,858],[933,12],[508,859],[507,12],[878,860],[506,861],[505,12],[880,862],[881,863],[885,864],[879,863],[882,862],[530,865],[558,866],[556,867],[557,868],[758,869],[735,870],[756,871],[775,872],[759,12],[886,724],[765,12],[752,873],[533,784],[749,874],[596,875],[597,875],[887,876],[612,877],[613,878],[614,879],[615,772],[550,880],[906,881],[618,882],[616,12],[617,883],[619,772],[620,772],[546,884],[621,885],[622,886],[623,772],[888,887],[531,888],[624,772],[551,889],[554,890],[555,891],[553,892],[552,893],[625,772],[626,772],[627,772],[628,772],[595,12],[631,894],[632,878],[889,895],[537,786],[547,896],[534,12],[545,897],[633,898],[634,772],[635,899],[636,900],[611,901],[600,12],[601,12],[605,902],[602,903],[599,904],[609,905],[606,906],[607,907],[608,12],[610,908],[598,12],[891,909],[890,12],[637,772],[638,772],[538,910],[639,772],[640,772],[548,911],[641,772],[541,912],[539,913],[642,772],[643,772],[644,772],[645,772],[540,910],[646,772],[648,914],[542,915],[543,916],[560,917],[649,772],[650,772],[532,918],[651,772],[652,772],[653,772],[656,919],[654,920],[655,921],[737,922],[544,923],[738,772],[739,772],[740,924],[741,772],[892,772],[742,877],[518,925],[519,926],[515,926],[514,926],[513,927],[510,928],[511,926],[509,12],[747,929],[503,12],[504,930],[502,12],[750,931],[764,869],[736,932],[658,933],[659,933],[660,933],[657,934],[663,935],[665,936],[684,937],[666,938],[667,939],[745,940],[668,935],[670,941],[673,942],[674,943],[675,942],[678,944],[679,945],[680,946],[681,947],[682,945],[683,943],[685,948],[686,948],[687,948],[688,948],[689,946],[690,949],[691,943],[692,950],[693,946],[694,945],[695,947],[696,945],[697,947],[698,943],[699,951],[700,941],[701,952],[702,938],[662,953],[705,954],[580,955],[703,956],[704,935],[706,957],[711,950],[708,958],[709,959],[710,939],[712,960],[713,961],[715,962],[716,962],[717,957],[718,935],[719,963],[720,933],[721,947],[746,964],[744,965],[722,938],[723,938],[731,966],[724,967],[728,966],[729,968],[727,969],[730,939],[732,970],[733,939],[559,971],[893,972],[884,973],[883,974],[490,12],[512,12],[761,867],[762,975],[760,12],[894,12],[895,974],[896,976],[897,977],[763,978],[860,979],[586,980],[585,12],[707,981],[676,982],[664,982],[677,982],[593,983],[726,984],[661,982],[672,985],[592,986],[588,987],[669,982],[579,988],[584,989],[725,983],[583,12],[575,990],[587,982],[671,991],[582,982],[714,992],[591,993],[590,12],[589,12],[581,982],[574,982],[577,994],[578,995],[576,12],[907,12],[946,12],[754,996],[753,867],[755,997],[783,998],[549,999],[919,1000],[920,1001],[630,1002],[947,1003],[949,1004],[905,12],[932,12],[751,12],[948,1005],[903,1006],[898,1007],[899,12],[900,1008],[901,12],[950,1009],[904,867],[993,12],[2615,1010],[2616,1011],[2629,1012],[2632,1013],[2627,12],[2630,12],[2631,1012],[2628,1014],[2635,1015],[2617,1016],[2610,1017],[2613,1018],[2609,1019],[2618,1020],[2614,1021],[2611,1022],[2619,120],[2607,1023],[2620,1024],[2612,12],[2621,1025],[2622,1026],[2623,1027],[2605,1028],[2624,1020],[2625,1029],[2608,1030],[2626,1031],[2606,1029],[2633,12],[2634,12],[983,12],[985,1032],[984,12],[1525,12],[1526,1033],[69,1034],[423,1035],[428,1036],[430,1037],[200,1038],[228,1039],[406,1040],[223,1041],[211,12],[192,12],[198,12],[396,1042],[259,1043],[199,12],[365,1044],[233,1045],[234,1046],[330,1047],[393,1048],[348,1049],[400,1050],[401,1051],[399,1052],[398,12],[397,1053],[230,1054],[201,1055],[280,12],[281,1056],[196,12],[212,1057],[202,1058],[264,1057],[261,1057],[185,1057],[226,1059],[225,12],[405,1060],[415,12],[191,12],[306,1061],[307,1062],[301,27],[451,12],[309,12],[310,1063],[302,1064],[457,1065],[455,1066],[450,12],[392,1067],[391,12],[449,1068],[303,27],[344,1069],[342,1070],[452,12],[456,12],[454,1071],[453,12],[343,1072],[444,1073],[447,1074],[271,1075],[270,1076],[269,1077],[460,27],[268,1078],[253,12],[463,12],[466,12],[465,27],[467,1079],[181,12],[402,1080],[403,1081],[404,1082],[214,12],[190,1083],[180,12],[322,27],[183,1084],[321,1085],[320,1086],[311,12],[312,12],[319,12],[314,12],[317,1087],[313,12],[315,1088],[318,1089],[316,1088],[197,12],[188,12],[189,1057],[243,1090],[244,1091],[241,1092],[239,1093],[240,1094],[236,12],[328,1063],[350,1063],[422,1095],[431,1096],[435,1097],[409,1098],[408,12],[256,12],[468,1099],[418,1100],[304,1101],[305,1102],[296,1103],[286,12],[327,1104],[287,1105],[329,1106],[324,1107],[323,12],[325,12],[341,1108],[410,1109],[411,1110],[289,1111],[293,1112],[284,1113],[388,1114],[417,1115],[263,1116],[366,1117],[186,1118],[416,1119],[182,1041],[237,12],[245,1120],[377,1121],[235,12],[376,1122],[70,12],[371,1123],[213,12],[282,1124],[367,12],[187,12],[246,12],[375,1125],[195,12],[251,1126],[292,1127],[407,1128],[291,12],[374,12],[238,12],[379,1129],[380,1130],[193,12],[382,1131],[384,1132],[383,1133],[216,12],[373,1118],[386,1134],[372,1135],[378,1136],[204,12],[207,12],[205,12],[209,12],[206,12],[208,12],[210,1137],[203,12],[358,1138],[357,12],[363,1139],[359,1140],[362,1141],[361,1141],[364,1139],[360,1140],[250,1142],[351,1143],[414,1144],[470,12],[439,1145],[441,1146],[288,12],[440,1147],[412,1109],[469,1148],[308,1109],[194,12],[290,1149],[247,1150],[248,1151],[249,1152],[279,1153],[387,1153],[265,1153],[352,1154],[266,1154],[232,1155],[231,12],[356,1156],[355,1157],[354,1158],[353,1159],[413,1160],[300,1161],[338,1162],[299,1163],[333,1164],[337,1165],[395,1166],[394,1167],[390,355],[347,1168],[349,1169],[346,1170],[385,1171],[340,12],[427,12],[339,1172],[389,12],[252,1173],[285,1080],[283,1174],[254,1175],[257,1176],[464,12],[255,1177],[258,1177],[425,12],[424,12],[426,12],[462,12],[260,1178],[298,27],[68,12],[345,1179],[229,12],[218,1180],[294,12],[433,27],[443,1181],[278,27],[437,1063],[277,1182],[420,1183],[276,1181],[184,12],[445,1184],[274,27],[275,27],[267,12],[217,12],[273,1185],[272,1186],[215,1187],[295,388],[262,388],[381,12],[369,1188],[368,12],[429,12],[326,1189],[297,27],[421,1190],[63,27],[66,1191],[67,1192],[64,27],[65,12],[227,1193],[222,1194],[221,12],[220,1195],[219,12],[419,1196],[432,1197],[434,1198],[436,1199],[438,1200],[442,1201],[476,1202],[446,1202],[475,1203],[448,1204],[458,1205],[459,1206],[461,1207],[471,1208],[474,1083],[473,12],[472,1209],[1597,1210],[1915,1211],[1916,1212],[1917,12],[1918,1212],[1919,1212],[1920,1212],[1921,1212],[1922,1212],[1923,1213],[1924,1212],[1925,1212],[1926,1214],[1927,1215],[1928,1216],[1929,1215],[1930,1217],[1931,1218],[1932,1215],[1933,1215],[1934,1218],[1935,1219],[1532,1218],[1936,1215],[1937,1215],[1938,1215],[1939,1215],[1940,1215],[1538,1215],[1941,1220],[1942,1215],[1595,1218],[1943,1216],[1944,1216],[1945,1221],[1946,1215],[1947,1222],[1948,1223],[1531,1224],[1530,1225],[1596,1226],[1949,1227],[1950,1212],[1953,1228],[1547,352],[1539,1229],[1957,1230],[1954,144],[1548,1231],[1955,1232],[1549,1233],[1956,1234],[2011,1213],[2012,1213],[2013,1213],[2014,1213],[2015,1213],[2016,1213],[2017,1213],[1540,1235],[2009,12],[2018,1236],[2019,1237],[2020,1238],[1541,1237],[2021,1239],[2022,1240],[2023,1241],[1542,1242],[2024,12],[2025,1239],[1984,1243],[1962,1244],[2026,1245],[1985,1246],[1986,1247],[1987,1248],[1988,1243],[1989,1243],[1963,1244],[2027,1240],[1958,1249],[1959,1240],[2028,1244],[1964,1244],[1965,1244],[2029,1240],[3187,1250],[2030,1237],[2031,1251],[2032,1244],[1528,1252],[1594,1212],[2033,1253],[3188,1254],[3189,1212],[2034,1212],[1544,1255],[3190,1256],[1981,1257],[2035,1258],[1966,1244],[1967,1244],[1968,1244],[1969,1244],[1970,1244],[2036,1259],[2037,1260],[1971,1261],[1973,1262],[1974,1263],[1975,1264],[1977,1265],[1990,1243],[2010,1243],[1991,1266],[1992,1244],[1993,1267],[1976,1261],[1994,1268],[1995,144],[1996,1264],[1997,1269],[1998,1244],[1999,1270],[2038,1271],[1978,1267],[1979,1267],[1980,1272],[2039,1212],[1546,1273],[2040,1212],[3191,12],[2041,1274],[2042,1212],[1593,1275],[2043,1245],[2044,1276],[2045,1277],[2046,1245],[2048,1278],[2049,1277],[2050,12],[2051,1279],[2052,1279],[2053,1277],[2054,1277],[2055,1277],[2056,1277],[2057,1277],[2058,1235],[2059,12],[2060,1279],[2061,12],[2047,1280],[2062,1281],[2063,1281],[1534,1264],[1550,1245],[1522,12],[1551,1282],[1552,1283],[1553,1283],[1554,1284],[1555,1282],[1556,1282],[1557,1282],[1558,1282],[1574,1285],[1559,1283],[1560,1286],[1561,1286],[1562,1283],[1563,1282],[1564,1283],[1565,1286],[1566,1286],[1567,1286],[1568,1282],[1569,1282],[1570,1283],[1571,1286],[1575,1287],[1572,1282],[1573,1282],[1523,1288],[3229,1289],[2064,1213],[2065,1213],[1951,1290],[3192,1212],[1543,1291],[2066,1292],[1537,1293],[2067,1245],[3193,1294],[2068,1295],[1972,1296],[2069,1297],[2070,1295],[2071,1298],[2072,1295],[2073,12],[1536,1213],[1576,1244],[3194,1240],[3195,1299],[2074,1300],[1545,1301],[1535,1302],[2075,1303],[2001,1304],[2076,1305],[2077,1306],[2000,1243],[2002,1307],[2003,1308],[2004,1309],[2005,1310],[2006,1311],[2078,1312],[2079,1313],[2198,1314],[2080,1315],[2081,1316],[2008,1240],[3196,12],[1529,1243],[1577,1317],[2082,1318],[1583,1319],[1588,1320],[1578,1321],[1581,1322],[1582,1323],[2083,1324],[1587,1325],[2084,1326],[1584,1327],[1586,1328],[1580,1329],[1579,1243],[2085,1330],[1585,1331],[2086,12],[2087,1332],[1982,12],[1983,1333],[3197,12],[2088,1245],[3198,12],[1960,1334],[2133,1335],[1961,1336],[2134,1245],[2135,1337],[3199,144],[3200,1338],[2136,1245],[3201,1245],[2137,1339],[2138,1340],[2139,12],[2140,1243],[2141,1236],[2142,1245],[2144,1341],[2145,12],[2146,12],[2147,12],[2148,12],[3202,12],[2149,12],[2150,1213],[2151,1342],[3203,1212],[2152,1343],[2153,12],[3204,12],[2154,1344],[2155,1212],[3205,1219],[2156,1345],[3206,1346],[2157,12],[2158,1347],[3207,12],[3208,1245],[3209,1219],[3210,12],[3211,1348],[2159,1212],[2160,1245],[2161,1339],[2162,1349],[3212,12],[3213,12],[2163,12],[2164,12],[3214,27],[2165,12],[2166,1339],[2167,1245],[1592,1350],[2168,12],[2169,12],[3215,1351],[2170,144],[3216,1219],[2171,1352],[3217,12],[2172,1245],[2173,1245],[2174,1245],[3218,12],[3219,12],[3220,12],[3221,12],[2175,1353],[3222,12],[1952,1354],[3223,1245],[2176,1345],[3224,12],[3225,12],[3226,1245],[3227,12],[3228,12],[2177,1355],[2178,1356],[2179,1235],[2180,12],[2181,1243],[2182,1245],[2183,1240],[2184,1349],[2185,1263],[2186,1357],[2193,1358],[2187,1245],[2189,1359],[2188,1245],[2190,1245],[2192,1360],[2191,1245],[2194,1296],[2195,144],[1533,12],[2506,1361],[2503,1209],[2505,1362],[2504,12],[2531,12],[2502,1363],[2501,12],[1589,1364],[1591,1365],[1171,1366],[1173,1367],[979,1368],[977,1369],[978,1370],[966,1371],[967,1369],[974,1372],[965,1373],[970,1374],[980,12],[971,1375],[976,1376],[982,1377],[981,1378],[964,1379],[972,1380],[973,1381],[968,1382],[975,1368],[969,1383],[3249,12],[1901,1384],[1913,27],[1902,27],[1900,27],[1886,1385],[1888,1386],[1914,1387],[1887,27],[1891,1388],[1893,1389],[1892,27],[1895,1390],[1894,1386],[1912,1391],[1903,27],[1904,27],[1896,1386],[1890,1392],[1889,27],[1911,1393],[1897,1386],[1899,1394],[1898,27],[3145,1395],[3133,1396],[3134,1396],[3135,1397],[3146,1398],[3136,1396],[3137,1396],[3140,1396],[3142,1397],[3139,1396],[3138,1396],[3141,1396],[3110,12],[3152,1399],[3151,27],[3148,1400],[3150,1401],[3143,1402],[3147,1403],[3144,1404],[3149,1405],[3154,1406],[3153,1407],[956,1408],[955,1409],[1006,1410],[987,12],[1007,1411],[989,1412],[1014,1413],[1008,12],[1010,1414],[1011,1414],[1012,1415],[1009,12],[1013,1416],[992,1417],[990,12],[991,1418],[1005,1419],[988,12],[1003,1420],[994,1421],[995,1422],[996,1422],[997,1421],[1004,1423],[998,1422],[999,1420],[1000,1421],[1001,1422],[1002,1421],[1521,1364],[370,1364],[1172,1424],[3246,27],[963,12],[3091,12],[1036,12],[481,12],[482,1425],[1179,12],[1198,12],[1180,1426],[1234,12],[1184,1427],[1183,12],[1250,12],[1217,1428],[1175,1429],[1241,12],[1197,12],[1242,1430],[1221,1431],[1218,1432],[1219,1433],[1222,1434],[1215,1435],[1224,1434],[1226,1436],[1227,1433],[1228,1433],[1216,1437],[1186,12],[1185,1426],[1235,12],[1232,1438],[1246,12],[1247,12],[1248,1439],[1249,12],[1245,12],[1236,1440],[1251,1441],[1195,12],[1207,12],[1208,1442],[1196,12],[1214,12],[1204,1443],[1176,12],[1206,12],[1210,1444],[1211,12],[1213,1445],[1188,1446],[1187,12],[1189,12],[1237,12],[1233,1447],[1190,12],[1220,12],[1191,12],[1192,12],[1229,12],[1194,1448],[1200,1449],[1230,1450],[1201,12],[1243,12],[1244,1451],[1193,12],[1174,12],[1238,12],[1209,1452],[1231,1453],[1202,1426],[1223,1454],[1225,1455],[1177,12],[1178,12],[1181,1456],[1239,1440],[1240,12],[1203,12],[1199,1457],[1212,1458],[1182,12],[1205,1459],[58,12],[59,12],[10,12],[11,12],[13,12],[12,12],[2,12],[14,12],[15,12],[16,12],[17,12],[18,12],[19,12],[20,12],[21,12],[3,12],[22,12],[23,12],[4,12],[24,12],[28,12],[25,12],[26,12],[27,12],[29,12],[30,12],[31,12],[5,12],[32,12],[33,12],[34,12],[35,12],[6,12],[39,12],[36,12],[37,12],[38,12],[40,12],[7,12],[41,12],[46,12],[47,12],[42,12],[43,12],[44,12],[45,12],[8,12],[51,12],[48,12],[49,12],[50,12],[52,12],[9,12],[53,12],[54,12],[55,12],[57,12],[56,12],[1,12],[96,1460],[106,1461],[95,1460],[116,1462],[87,1463],[86,1464],[115,1209],[109,1465],[114,1466],[89,1467],[103,1468],[88,1469],[112,1470],[84,1471],[83,1209],[113,1472],[85,1473],[90,1474],[91,12],[94,1474],[81,12],[117,1475],[107,1476],[98,1477],[99,1478],[101,1479],[97,1480],[100,1481],[110,1209],[92,1482],[93,1483],[102,1484],[82,1485],[105,1476],[104,1474],[108,12],[111,1486],[2132,1487],[2107,1488],[2120,1489],[2104,1490],[2121,1485],[2130,1491],[2095,1492],[2096,1493],[2094,1464],[2129,1209],[2124,1494],[2128,1495],[2098,1496],[2117,1497],[2097,1498],[2127,1499],[2092,1500],[2093,1494],[2099,1501],[2100,12],[2106,1502],[2103,1501],[2090,1503],[2131,1504],[2122,1505],[2110,1506],[2109,1501],[2111,1507],[2114,1508],[2108,1509],[2112,1510],[2125,1209],[2101,1511],[2102,1512],[2115,1513],[2091,1485],[2119,1514],[2118,1501],[2105,1512],[2113,1515],[2116,1516],[2123,12],[2089,12],[2126,1517],[3310,27],[1038,1518],[1024,1519],[1025,1518],[1023,12],[1018,1520],[961,1521],[960,1522],[958,1522],[957,12],[959,1523],[1016,12],[1015,1524],[986,1525],[1017,1526],[1037,1527],[1030,1528],[1039,1529],[953,1530],[1045,1531],[1047,1532],[1041,1533],[1048,1534],[1046,1535],[1031,1536],[1042,1537],[1054,1538],[3511,1539],[952,1540],[2529,1541],[2521,1542],[2528,1543],[2523,12],[2524,12],[2522,1544],[2525,1545],[2516,12],[2517,12],[2518,1541],[2520,1546],[2526,12],[2527,1547],[2519,1548],[2764,144],[2765,1549],[2767,1550],[2766,1551],[1057,1552],[1058,1553],[1056,1193],[1055,12]],"affectedFilesPendingEmit":[[1059,49],[3509,49],[3510,49],[3472,49],[2775,49],[2776,49],[3473,49],[1060,49],[2769,49],[2768,49]],"version":"5.9.3"} \ No newline at end of file diff --git a/apps/cms/turbo.json b/apps/cms/turbo.json new file mode 100644 index 0000000..5917af9 --- /dev/null +++ b/apps/cms/turbo.json @@ -0,0 +1,4 @@ +{ + "extends": ["//"], + "tags": ["app"] +} diff --git a/apps/cms/vitest.config.ts b/apps/cms/vitest.config.ts new file mode 100644 index 0000000..7357400 --- /dev/null +++ b/apps/cms/vitest.config.ts @@ -0,0 +1,21 @@ +import path from "node:path"; +import { mergeConfig } from "vitest/config"; +import { nodeVitestConfig } from "@repo/core-typescript/vitest.base.node"; + +// Coverage excludes mirror the feature-package pattern (see +// packages/auth/vitest.config.ts): framework glue is excluded, thresholds +// stay inherited from the shared base — never lowered here. +export default mergeConfig(nodeVitestConfig, { + test: { + coverage: { + exclude: [ + // Payload-generated admin UI + API mount points: importMap.js is + // stamped "GENERATED AUTOMATICALLY BY PAYLOAD"; the layout/page/ + // route files are one-line re-exports of @payloadcms/next handlers. + // Exercised through the running CMS, not unit-testable. + "src/app/**", + ], + }, + }, + resolve: { alias: { "@": path.resolve(__dirname, "./src") } }, +}); diff --git a/apps/storybook/.eslintignore b/apps/storybook/.eslintignore new file mode 100644 index 0000000..f8215f9 --- /dev/null +++ b/apps/storybook/.eslintignore @@ -0,0 +1,2 @@ +storybook-static +.storybook/storybook-static diff --git a/apps/storybook/.storybook/css.d.ts b/apps/storybook/.storybook/css.d.ts new file mode 100644 index 0000000..cbe652d --- /dev/null +++ b/apps/storybook/.storybook/css.d.ts @@ -0,0 +1 @@ +declare module "*.css"; diff --git a/apps/storybook/.storybook/main.ts b/apps/storybook/.storybook/main.ts new file mode 100644 index 0000000..d90b0b5 --- /dev/null +++ b/apps/storybook/.storybook/main.ts @@ -0,0 +1,17 @@ +import type { StorybookConfig } from "@storybook/react-vite"; + +const config: StorybookConfig = { + framework: "@storybook/react-vite", + stories: ["../../../packages/core-ui/src/**/*.stories.@(ts|tsx)"], + addons: ["@storybook/addon-essentials"], + docs: { + autodocs: "tag", + }, + async viteFinal(config) { + const tailwindPlugin = await import("@tailwindcss/vite"); + config.plugins = [tailwindPlugin.default(), ...(config.plugins || [])]; + return config; + }, +}; + +export default config; diff --git a/apps/storybook/.storybook/preview.ts b/apps/storybook/.storybook/preview.ts new file mode 100644 index 0000000..58cc4c4 --- /dev/null +++ b/apps/storybook/.storybook/preview.ts @@ -0,0 +1,15 @@ +import "./storybook.css"; +import type { Preview } from "@storybook/react"; + +const preview: Preview = { + parameters: { + controls: { + matchers: { + color: /(background|color)$/i, + date: /Date$/i, + }, + }, + }, +}; + +export default preview; diff --git a/apps/storybook/.storybook/storybook.css b/apps/storybook/.storybook/storybook.css new file mode 100644 index 0000000..1661f90 --- /dev/null +++ b/apps/storybook/.storybook/storybook.css @@ -0,0 +1,4 @@ +@import "tailwindcss"; +@source "../../../packages/core-ui/src"; + +@import "../../../packages/core-ui/src/styles/theme.css"; diff --git a/apps/storybook/AGENTS.md b/apps/storybook/AGENTS.md new file mode 100644 index 0000000..6cd080d --- /dev/null +++ b/apps/storybook/AGENTS.md @@ -0,0 +1,137 @@ +# AGENTS.md — apps/storybook + +Centralized Storybook instance for visual component development, documentation, and MCP integration for AI agents. Currently ships with an empty stories list — scaffold `@repo/core-ui` first to populate it. + +## Purpose + +Visual testing and documentation hub for the design system. When `@repo/core-ui` is scaffolded, stories live colocated with their components there. Storybook serves as the single source of truth for component usage. + +> **core-ui is optional.** Scaffold it with `pnpm turbo gen core-package ui`, then add the stories glob and CSS import (see next-steps printed by the generator). + +## Port: 6006 + +```bash +pnpm dev --filter @repo/storybook # http://localhost:6006 +``` + +## Configuration + +### `.storybook/main.ts` + +Stories are empty by default. After scaffolding `@repo/core-ui`, add the glob: + +```typescript +const config: StorybookConfig = { + framework: "@storybook/react-vite", + stories: ["../../../packages/core-ui/src/**/*.stories.@(ts|tsx)"], + addons: ["@storybook/addon-essentials"], + docs: { autodocs: "tag" }, + async viteFinal(config) { + const { mergeConfig } = await import("vite"); + const tailwindPlugin = await import("@tailwindcss/vite"); + return mergeConfig(config, { + plugins: [tailwindPlugin.default()], + }); + }, +}; +``` + +Key settings: + +- **`stories` glob** — empty by default; add `"../../../packages/core-ui/src/**/*.stories.@(ts|tsx)"` after scaffolding core-ui +- **`viteFinal`** — adds Tailwind v4 plugin so classes render in Storybook +- **`autodocs: "tag"`** — auto-generates docs for tagged stories + +### `.storybook/preview.ts` + +After scaffolding `@repo/core-ui`, import global styles here: + +```typescript +import type { Preview } from "@storybook/react"; +import "@repo/core-ui/styles/globals.css"; + +const preview: Preview = { + parameters: { + controls: { + matchers: { + color: /(background|color)$/i, + date: /Date$/i, + }, + }, + }, +}; +``` + +## Story Organization + +Stories are organized by Atomic Design level via the `title` field: + +| Level | Title format | Sidebar path | +| -------- | ----------------------------- | ------------------------- | +| Atom | `"Atoms/{ComponentName}"` | Atoms > ComponentName | +| Molecule | `"Molecules/{ComponentName}"` | Molecules > ComponentName | +| Organism | `"Organisms/{ComponentName}"` | Organisms > ComponentName | +| Template | `"Templates/{ComponentName}"` | Templates > ComponentName | + +Example story file (after scaffolding core-ui at `packages/core-ui/src/atoms/button/button.stories.tsx`): + +```typescript +import type { Meta, StoryObj } from "@storybook/react"; +import { Button } from "./button"; + +const meta = { + title: "Atoms/Button", + component: Button, + tags: ["autodocs"], +} satisfies Meta; + +export default meta; +type Story = StoryObj; + +export const Default: Story = { + args: { children: "Click me" }, +}; + +export const Variant: Story = { + args: { children: "Secondary", variant: "secondary" }, +}; +``` + +## MCP Integration + +When Storybook runs, the MCP endpoint is available at: + +``` +http://localhost:6006/mcp +``` + +### Available tools: + +- **`list-all-documentation`** — Lists all component stories and their properties +- **`get-documentation`** — Gets detailed component info (props, variants, usage examples) +- **`run-story-tests`** — Validates story rendering + +### Before building new components: + +1. Query `list-all-documentation` to check if a similar component exists +2. Query `get-documentation` to understand existing props and variants +3. After creating: `run-story-tests` to validate + +## Dependencies + +| Dependency | Purpose | +| ----------------------------- | -------------------------------------------------------------------------------------- | +| `@repo/core-ui` | Component source + stories (optional — scaffold with `pnpm turbo gen core-package ui`) | +| `@storybook/react-vite` | Storybook with Vite bundler | +| `@storybook/addon-essentials` | Controls, Actions, Docs, Backgrounds | +| `@tailwindcss/vite` | Vite plugin for Tailwind v4 | +| `storybook` | Storybook CLI + dev server | +| `tailwindcss` | Tailwind CSS v4 | +| `vite` | Build tool | +| `react` / `react-dom` | React 19 | + +## Cross-References + +- **Component source (when scaffolded):** `packages/core-ui/AGENTS.md` +- **Scaffold core-ui:** `pnpm turbo gen core-package ui` +- **Storybook docs:** `.storybook/` folder diff --git a/apps/storybook/eslint.config.js b/apps/storybook/eslint.config.js new file mode 100644 index 0000000..7440d8f --- /dev/null +++ b/apps/storybook/eslint.config.js @@ -0,0 +1,3 @@ +import baseConfig from "@repo/core-eslint/base"; + +export default baseConfig; diff --git a/apps/storybook/package.json b/apps/storybook/package.json new file mode 100644 index 0000000..bd7e160 --- /dev/null +++ b/apps/storybook/package.json @@ -0,0 +1,35 @@ +{ + "name": "@repo/storybook", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "build": "echo 'Storybook build — use pnpm dev for development'", + "build:storybook": "storybook build", + "build-storybook": "storybook build", + "dev": "storybook dev -p 6006", + "lint": "eslint .", + "test-storybook": "test-storybook --url http://localhost:6006", + "test:stories": "concurrently -k -s first -n 'SB,TEST' -c 'magenta,blue' 'pnpm exec http-server storybook-static --port 6006 --silent' 'pnpm exec wait-on tcp:6006 && pnpm test-storybook'" + }, + "dependencies": {}, + "devDependencies": { + "@playwright/test": "^1.49.0", + "@repo/core-eslint": "workspace:*", + "@repo/core-typescript": "workspace:*", + "@storybook/addon-essentials": "^8.6.0", + "@storybook/react": "^8.6.0", + "@storybook/react-vite": "^8.6.0", + "@storybook/test-runner": "^0.19.1", + "@tailwindcss/vite": "^4.1.0", + "concurrently": "^9.0.0", + "http-server": "^14.1.0", + "playwright": "^1.52.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "storybook": "^8.6.0", + "tailwindcss": "^4.1.0", + "vite": "^6.3.0", + "wait-on": "^8.0.0" + } +} diff --git a/apps/storybook/test-runner.config.ts b/apps/storybook/test-runner.config.ts new file mode 100644 index 0000000..b93268d --- /dev/null +++ b/apps/storybook/test-runner.config.ts @@ -0,0 +1,13 @@ +import type { TestRunnerConfig } from "@storybook/test-runner"; + +const config: TestRunnerConfig = { + async preVisit(page) { + page.on("console", (msg) => { + if (msg.type() === "error") { + throw new Error(`Console error in story: ${msg.text()}`); + } + }); + }, +}; + +export default config; diff --git a/apps/storybook/tests/visual.spec.ts b/apps/storybook/tests/visual.spec.ts new file mode 100644 index 0000000..a807c12 --- /dev/null +++ b/apps/storybook/tests/visual.spec.ts @@ -0,0 +1,51 @@ +import { test, expect } from "@playwright/test"; + +/** + * Iterates every story registered in Storybook and takes a screenshot. + * + * Storybook exposes its story manifest at /index.json (Storybook 7+). For + * each entry where `type === "story"`, we navigate to the iframe URL and + * snapshot. + * + * Today the index is empty (no components in the repo). The harness still + * runs — it just finds zero stories. The moment a story lands, the + * baseline is captured on first run and subsequent runs diff against it. + */ +type StoryEntry = { + id: string; + title: string; + name: string; + type: "story" | "docs"; +}; + +async function fetchStoryIndex(baseURL: string): Promise { + const res = await fetch(`${baseURL}/index.json`); + if (!res.ok) return []; + const json = (await res.json()) as { + entries?: Record; + }; + return Object.values(json.entries ?? {}).filter((e) => e.type === "story"); +} + +test.describe("Storybook visual regression", () => { + test("captures a screenshot for every registered story", async ({ + page, + baseURL, + }) => { + const stories = await fetchStoryIndex(baseURL!); + if (stories.length === 0) { + test.skip( + true, + "No stories registered yet — visual regression harness is inactive until the first story lands.", + ); + return; + } + for (const story of stories) { + await test.step(`${story.title} — ${story.name}`, async () => { + await page.goto(`/iframe.html?id=${story.id}&viewMode=story`); + await page.waitForLoadState("networkidle"); + await expect(page).toHaveScreenshot(`${story.id}.png`); + }); + } + }); +}); diff --git a/apps/storybook/tsconfig.json b/apps/storybook/tsconfig.json new file mode 100644 index 0000000..c5162ee --- /dev/null +++ b/apps/storybook/tsconfig.json @@ -0,0 +1,16 @@ +{ + "extends": "@repo/core-typescript/react-library.json", + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "include": [ + "src/**/*.ts", + "src/**/*.tsx", + ".storybook/**/*.ts", + "*.ts", + "*.tsx" + ], + "exclude": ["node_modules"] +} diff --git a/apps/storybook/turbo.json b/apps/storybook/turbo.json new file mode 100644 index 0000000..5917af9 --- /dev/null +++ b/apps/storybook/turbo.json @@ -0,0 +1,4 @@ +{ + "extends": ["//"], + "tags": ["app"] +} diff --git a/apps/web-next/AGENTS.md b/apps/web-next/AGENTS.md new file mode 100644 index 0000000..1517e44 --- /dev/null +++ b/apps/web-next/AGENTS.md @@ -0,0 +1,110 @@ +# AGENTS.md — apps/web-next + +Next.js 15 reference application using App Router. Demonstrates consuming feature packages via tRPC and importing UI components from `@repo/core-ui`. Both `@repo/core-trpc` and `@repo/core-ui` are optional packages — scaffold them with `pnpm turbo gen core-package trpc` / `ui` if needed. + +## Purpose + +Thin app showcasing how features work end-to-end. Business logic lives in feature packages (`@repo/auth`, etc.); UI primitives live in `@repo/core-ui`; this app is mostly routes, layouts, and component composition. + +## Port: 3000 + +```bash +pnpm dev --filter @repo/web-next # http://localhost:3000 +``` + +Requires `@repo/cms` and PostgreSQL running to fetch live data: + +```bash +docker compose up -d postgres # PostgreSQL on port 5432 +pnpm dev --filter @repo/cms # Payload admin on port 3001 +pnpm dev --filter @repo/web-next # Next.js on port 3000 +``` + +## Key Files + +| File | Purpose | +| ----------------------- | ---------------------------------------------------------------------------------------- | +| `src/app/layout.tsx` | Root layout — wraps app with `` | +| `src/app/providers.tsx` | Client component wrapper (add tRPC/React Query here after scaffolding `@repo/core-trpc`) | +| `src/app/page.tsx` | Home page | +| `e2e/` | Playwright end-to-end tests | + +## tRPC Setup (optional) + +`@repo/core-trpc` is not installed by default. After scaffolding with `pnpm turbo gen core-package trpc`: + +1. Create `src/app/api/trpc/[trpc]/route.ts`: + +```typescript +import { fetchRequestHandler } from "@trpc/server/adapters/fetch"; +import { appRouter } from "@repo/core-api"; +import { bindAll } from "../../../../server/bind-production"; + +const handler = async (req: Request) => { + await bindAll(); + return fetchRequestHandler({ + endpoint: "/api/trpc", + req, + router: appRouter, + createContext: () => ({}), + }); +}; + +export { handler as GET, handler as POST }; +``` + +2. Update `src/app/providers.tsx`: + +```typescript +"use client"; +import { NextTrpcProvider } from "@repo/core-trpc/next"; + +export function Providers({ children }: { children: React.ReactNode }) { + return {children}; +} +``` + +## Dependencies + +| Dependency | Purpose | +| ---------------------- | ---------------------------------------------------------- | +| `@repo/core-api` | `appRouter` for tRPC endpoint | +| `@repo/core-trpc/next` | Next.js tRPC client + provider (optional — scaffold first) | +| `@repo/core-ui` | Design system components (optional — scaffold first) | +| `@repo/auth`, etc. | Feature packages (indirectly via core-api) | +| `next` | Next.js 15 framework | +| `@trpc/server` | tRPC server (fetch adapter) | + +## Test conventions + +- Unit tests colocated: `src/app/providers.test.tsx` +- Vitest environment: `jsdom` +- e2e tests in `e2e/` folder: `*.spec.ts` +- Run: `pnpm test --filter @repo/web-next` (units) or `pnpm test:e2e` (Playwright) + +## E2E Test Setup + +Playwright config in `e2e/playwright.config.ts`: + +```typescript +import { defineConfig, devices } from "@playwright/test"; + +export default defineConfig({ + testDir: "./e2e", + webServer: { + command: "pnpm dev", + port: 3000, + reuseExistingServer: !process.env.CI, + }, + use: { ...devices["Desktop Chrome"].use }, +}); +``` + +Run: `pnpm test:e2e` starts the dev server and runs all `.spec.ts` files. + +## Cross-References + +- **Feature packages:** `packages/auth/` +- **tRPC composition:** `packages/core-api/AGENTS.md` +- **tRPC client + provider (optional):** scaffold `@repo/core-trpc` first, then see `turbo/generators/templates/core-package/trpc/AGENTS.md.hbs` +- **UI components (optional):** scaffold with `pnpm turbo gen core-package ui`, then see `turbo/generators/templates/core-package/ui/AGENTS.md.hbs` diff --git a/apps/web-next/e2e/auth-sign-in.spec.ts b/apps/web-next/e2e/auth-sign-in.spec.ts new file mode 100644 index 0000000..931b86f --- /dev/null +++ b/apps/web-next/e2e/auth-sign-in.spec.ts @@ -0,0 +1,34 @@ +import { test, expect } from "@playwright/test"; + +// Surviving e2e baseline (platform-retrofit PRD): the dev-seed shell must +// sign in with seeded credentials (see packages/auth/src/__seeds__/dev.ts) +// and sign back out. Runs against `pnpm dev` in dev-seed mode — no Payload. +test.describe("auth sign-in", () => { + test("signs in with dev-seed credentials and reaches the signed-in shell", async ({ + page, + }) => { + await page.goto("/"); + + await page.getByLabel("Username").fill("alice"); + await page.getByLabel("Password").fill("secret_alice"); + await page.getByRole("button", { name: "Sign in" }).click(); + + await expect(page.getByText("You are signed in.")).toBeVisible(); + + await page.getByRole("button", { name: "Sign out" }).click(); + await expect(page.getByRole("button", { name: "Sign in" })).toBeVisible(); + }); + + test("rejects invalid credentials and keeps the sign-in form", async ({ + page, + }) => { + await page.goto("/"); + + await page.getByLabel("Username").fill("alice"); + await page.getByLabel("Password").fill("not-the-password"); + await page.getByRole("button", { name: "Sign in" }).click(); + + await expect(page.getByText("Invalid username or password.")).toBeVisible(); + await expect(page.getByRole("button", { name: "Sign in" })).toBeVisible(); + }); +}); diff --git a/apps/web-next/e2e/home.spec.ts b/apps/web-next/e2e/home.spec.ts new file mode 100644 index 0000000..a793962 --- /dev/null +++ b/apps/web-next/e2e/home.spec.ts @@ -0,0 +1,7 @@ +import { test, expect } from "@playwright/test"; + +test("home page renders heading", async ({ page }) => { + await page.goto("/"); + // Page renders and shows the heading + await expect(page.locator("h1").first()).toBeVisible(); +}); diff --git a/apps/web-next/eslint.config.js b/apps/web-next/eslint.config.js new file mode 100644 index 0000000..e6b4a81 --- /dev/null +++ b/apps/web-next/eslint.config.js @@ -0,0 +1,11 @@ +import baseConfig from "@repo/core-eslint/base"; + +export default [ + ...baseConfig, + { + files: ["next-env.d.ts"], + rules: { + "@typescript-eslint/triple-slash-reference": "off", + }, + }, +]; diff --git a/apps/web-next/instrumentation-client.ts b/apps/web-next/instrumentation-client.ts new file mode 100644 index 0000000..9cb29c3 --- /dev/null +++ b/apps/web-next/instrumentation-client.ts @@ -0,0 +1,19 @@ +// apps/web-next/instrumentation-client.ts +// Next.js 15+ browser hook: runs in the client bundle on app start. + +import { initSentryClient } from "@repo/core-shared/instrumentation/sentry/init-client"; + +function getNonce(): string { + if (typeof document === "undefined") return ""; + return ( + document.querySelector('meta[name="csp-nonce"]')?.getAttribute("content") ?? + "" + ); +} + +initSentryClient({ + dsn: process.env["NEXT_PUBLIC_WEB_NEXT_SENTRY_DSN"], + app: "web-next", + release: process.env["NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA"], + nonce: getNonce(), +}); diff --git a/apps/web-next/instrumentation.ts b/apps/web-next/instrumentation.ts new file mode 100644 index 0000000..eef1bd2 --- /dev/null +++ b/apps/web-next/instrumentation.ts @@ -0,0 +1,21 @@ +// apps/web-next/instrumentation.ts +// Next.js convention: this module runs once on server boot (before any request handler). +// Initializes the OTel SDK here so PII scrub processors are active from the very first +// request — before bindAll() fires. Calling initOtelServerNode here (not inside bindAll) +// closes the startup window where @sentry/nextjs auto-instrumentation could send +// unscrubbed errors (C1 fix). + +export async function register() { + if ( + process.env["NEXT_RUNTIME"] === "nodejs" || + process.env["NEXT_RUNTIME"] === "edge" + ) { + const { initOtelServerNode } = + await import("@repo/core-shared/instrumentation/otel/init-server-node"); + initOtelServerNode({ + dsn: process.env["WEB_NEXT_SENTRY_DSN"] ?? "", + serviceName: "web-next", + environment: process.env["NODE_ENV"] ?? "development", + }); + } +} diff --git a/apps/web-next/middleware.ts b/apps/web-next/middleware.ts new file mode 100644 index 0000000..92d7f1c --- /dev/null +++ b/apps/web-next/middleware.ts @@ -0,0 +1,10 @@ +import { withSecurityHeaders } from "@repo/core-shared/security/next"; +import type { NextRequest } from "next/server"; + +export function middleware(request: NextRequest) { + return withSecurityHeaders(request); +} + +export const config = { + matcher: ["/((?!_next/static|_next/image|favicon.ico).*)"], +}; diff --git a/apps/web-next/next-env.d.ts b/apps/web-next/next-env.d.ts new file mode 100644 index 0000000..830fb59 --- /dev/null +++ b/apps/web-next/next-env.d.ts @@ -0,0 +1,6 @@ +/// +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/apps/web-next/next.config.mjs b/apps/web-next/next.config.mjs new file mode 100644 index 0000000..e813e36 --- /dev/null +++ b/apps/web-next/next.config.mjs @@ -0,0 +1,27 @@ +import { withSentryConfig } from "@sentry/nextjs"; + +/** @type {import('next').NextConfig} */ +const nextConfig = { + transpilePackages: [ + "@repo/auth", + "@repo/core-analytics", + "@repo/core-api", + "@repo/core-audit", + "@repo/core-cms", + "@repo/core-consent", + "@repo/core-dsr", + "@repo/core-shared", + "@repo/core-ui", + "@repo/core-trpc", + ], +}; + +export default withSentryConfig(nextConfig, { + // Token is build-time only; CI sets SENTRY_AUTH_TOKEN. + silent: process.env.CI !== "true", + authToken: process.env.SENTRY_AUTH_TOKEN, + org: process.env.SENTRY_ORG, + project: process.env.SENTRY_PROJECT_WEB_NEXT, + hideSourceMaps: true, + disableLogger: true, +}); diff --git a/apps/web-next/package.json b/apps/web-next/package.json new file mode 100644 index 0000000..38508d3 --- /dev/null +++ b/apps/web-next/package.json @@ -0,0 +1,51 @@ +{ + "name": "@repo/web-next", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "build": "echo 'Next.js build requires full environment — use pnpm dev or docker'", + "dev": "TSX_TSCONFIG_PATH=../../tsconfig.json tsx server.ts", + "start": "node --import tsx server.ts", + "lint": "eslint .", + "test": "vitest run --passWithNoTests", + "test:e2e": "playwright test", + "test:e2e:install": "playwright install --with-deps chromium", + "typecheck": "tsc --noEmit" + }, + "dependencies": { + "@repo/auth": "workspace:*", + "@repo/core-api": "workspace:*", + "@repo/core-cms": "workspace:*", + "@repo/core-shared": "workspace:*", + "@repo/core-trpc": "workspace:^", + "@sentry/nextjs": "^10.51.0", + "@tailwindcss/postcss": "^4.3.0", + "@tanstack/react-query": "^5.96.2", + "@trpc/server": "^11.17.0", + "inversify": "^6.2.0", + "next": "^15.3.0", + "payload": "^3.14.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "reflect-metadata": "^0.2.2", + "superjson": "^2.2.1", + "tailwindcss": "^4.1.0" + }, + "devDependencies": { + "@playwright/test": "^1.50.0", + "@repo/core-eslint": "workspace:*", + "@repo/core-testing": "workspace:*", + "@repo/core-typescript": "workspace:*", + "@testing-library/jest-dom": "^6.5.0", + "@testing-library/react": "^16.0.0", + "@testing-library/user-event": "^14.5.0", + "@types/node": "^22.0.0", + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0", + "@vitest/coverage-v8": "^3.2.4", + "jsdom": "^25.0.0", + "tsx": "^4.0.0", + "vitest": "^3.0.0" + } +} diff --git a/apps/web-next/playwright.config.ts b/apps/web-next/playwright.config.ts new file mode 100644 index 0000000..1ee9f80 --- /dev/null +++ b/apps/web-next/playwright.config.ts @@ -0,0 +1,26 @@ +import { defineConfig, devices } from "@playwright/test"; + +export default defineConfig({ + testDir: "./e2e", + fullyParallel: true, + forbidOnly: !!process.env.CI, + retries: process.env.CI ? 2 : 0, + workers: process.env.CI ? 1 : undefined, + reporter: "list", + use: { + baseURL: "http://localhost:3000", + trace: "on-first-retry", + }, + projects: [ + { + name: "chromium", + use: { ...devices["Desktop Chrome"] }, + }, + ], + webServer: { + command: "pnpm dev", + url: "http://localhost:3000", + reuseExistingServer: !process.env.CI, + timeout: 60_000, + }, +}); diff --git a/apps/web-next/postcss.config.mjs b/apps/web-next/postcss.config.mjs new file mode 100644 index 0000000..c2ddf74 --- /dev/null +++ b/apps/web-next/postcss.config.mjs @@ -0,0 +1,5 @@ +export default { + plugins: { + "@tailwindcss/postcss": {}, + }, +}; diff --git a/apps/web-next/server.ts b/apps/web-next/server.ts new file mode 100644 index 0000000..4be22c9 --- /dev/null +++ b/apps/web-next/server.ts @@ -0,0 +1,23 @@ +// apps/web-next/server.ts +// SERVER-ONLY entry. Custom Next.js server for local development. +// When @repo/core-realtime is scaffolded, this file is extended to boot +// Socket.IO alongside Next (see pnpm turbo gen core-package realtime). +import "reflect-metadata"; +import { createServer } from "node:http"; +import next from "next"; +import { bindAll } from "./src/server/bind-production.js"; + +const dev = process.env.NODE_ENV !== "production"; +const port = Number(process.env.PORT ?? 3000); + +const app = next({ dev }); +const handle = app.getRequestHandler(); + +await app.prepare(); + +await bindAll(); + +const httpServer = createServer((req, res) => handle(req, res)); +httpServer.listen(port, () => { + console.log(`> Ready on http://localhost:${port}`); +}); diff --git a/apps/web-next/src/__tests__/middleware.test.ts b/apps/web-next/src/__tests__/middleware.test.ts new file mode 100644 index 0000000..f1b4203 --- /dev/null +++ b/apps/web-next/src/__tests__/middleware.test.ts @@ -0,0 +1,94 @@ +import { describe, it, expect, vi, beforeEach } from "vitest"; + +const responseMock = vi.hoisted(() => { + function makeResponseMock() { + const store = new Map(); + return { + _store: store, + headers: { + set: vi.fn((k: string, v: string) => store.set(k, v)), + get: vi.fn((k: string) => store.get(k) ?? null), + }, + }; + } + return { makeResponseMock }; +}); + +vi.mock("next/server", () => ({ + NextResponse: { + next: vi.fn(), + }, +})); + +import type { NextRequest } from "next/server"; +import { NextResponse } from "next/server"; +import { middleware } from "../../middleware"; + +const ALL_SIX_HEADERS = [ + "Strict-Transport-Security", + "X-Frame-Options", + "X-Content-Type-Options", + "Referrer-Policy", + "Permissions-Policy", + "Content-Security-Policy", +] as const; + +function makeRequest(): NextRequest { + return { headers: new Headers() } as unknown as NextRequest; +} + +describe("web-next middleware", () => { + let mock: ReturnType; + + beforeEach(() => { + mock = responseMock.makeResponseMock(); + vi.mocked(NextResponse.next).mockReturnValue( + mock as unknown as ReturnType, + ); + }); + + it("sets all six security headers on the response", () => { + middleware(makeRequest()); + + for (const header of ALL_SIX_HEADERS) { + expect(mock._store.has(header)).toBe(true); + } + }); + + it("sets x-nonce header on the response", () => { + middleware(makeRequest()); + + const nonce = mock._store.get("x-nonce"); + expect(nonce).toBeDefined(); + expect(typeof nonce).toBe("string"); + expect((nonce as string).length).toBeGreaterThan(0); + }); + + it("CSP contains nonce in production mode", () => { + vi.stubEnv("NODE_ENV", "production"); + + middleware(makeRequest()); + + const nonce = mock._store.get("x-nonce"); + const csp = mock._store.get("Content-Security-Policy"); + expect(csp).toContain(`'nonce-${nonce}'`); + }); + + it("CSP is permissive (unsafe-inline) in development mode", () => { + vi.stubEnv("NODE_ENV", "development"); + + middleware(makeRequest()); + + const csp = mock._store.get("Content-Security-Policy"); + expect(csp).toContain("'unsafe-inline'"); + }); + + it("x-nonce is forwarded in request headers passed to NextResponse.next", () => { + middleware(makeRequest()); + + const call = vi.mocked(NextResponse.next).mock.calls[0] as [ + { request?: { headers?: Headers } } | undefined, + ]; + expect(call[0]?.request?.headers?.get("x-nonce")).toBeTruthy(); + }); +}); diff --git a/apps/web-next/src/app/api/trpc/[trpc]/route.ts b/apps/web-next/src/app/api/trpc/[trpc]/route.ts new file mode 100644 index 0000000..94971f1 --- /dev/null +++ b/apps/web-next/src/app/api/trpc/[trpc]/route.ts @@ -0,0 +1,13 @@ +import { fetchRequestHandler } from "@trpc/server/adapters/fetch"; +import { appRouter } from "@repo/core-api"; + +const handler = async (req: Request) => { + return fetchRequestHandler({ + endpoint: "/api/trpc", + req, + router: appRouter, + createContext: () => ({}), + }); +}; + +export { handler as GET, handler as POST }; diff --git a/apps/web-next/src/app/layout.tsx b/apps/web-next/src/app/layout.tsx new file mode 100644 index 0000000..75d4db5 --- /dev/null +++ b/apps/web-next/src/app/layout.tsx @@ -0,0 +1,31 @@ +import type { Metadata } from "next"; +import "../styles/app.css"; +import { getNonce } from "@repo/core-shared/security/next"; +import { bindAll } from "../server/bind-production"; +import { Providers } from "./providers"; + +export const metadata: Metadata = { + title: "Template", + description: "Template", +}; + +export default async function RootLayout({ + children, +}: { + children: React.ReactNode; +}) { + await bindAll(); + const nonce = await getNonce(); + + return ( + + + {/* nonce exposed to client so instrumentation-client.ts can read it */} + + + + {children} + + + ); +} diff --git a/apps/web-next/src/app/page.tsx b/apps/web-next/src/app/page.tsx new file mode 100644 index 0000000..617dea2 --- /dev/null +++ b/apps/web-next/src/app/page.tsx @@ -0,0 +1,90 @@ +import { cookies } from "next/headers"; +import { SESSION_COOKIE } from "@repo/auth"; +import { bindAll } from "../server/bind-production"; +import { signInAction, signOutAction } from "../server/auth-actions"; + +/** + * Shell home: the sign-in surface plus a minimal authenticated placeholder. + * The workspaces UI that replaces the placeholder arrives with the + * walking-skeleton PRD. Signed-in state is cookie presence only — session + * validation stays inside the auth feature and is exercised on sign-out. + */ +export default async function Home({ + searchParams, +}: { + searchParams: Promise<{ error?: string }>; +}) { + await bindAll(); + const [cookieStore, params] = await Promise.all([cookies(), searchParams]); + const signedIn = cookieStore.has(SESSION_COOKIE); + + return ( +
+

Template

+ + {signedIn ? ( +
+

You are signed in.

+
+ +
+
+ ) : ( +
+
+ + +
+
+ + +
+ {params.error === "invalid-credentials" ? ( +

+ Invalid username or password. +

+ ) : null} + +
+ )} +
+ ); +} diff --git a/apps/web-next/src/app/providers.test.tsx b/apps/web-next/src/app/providers.test.tsx new file mode 100644 index 0000000..ab94080 --- /dev/null +++ b/apps/web-next/src/app/providers.test.tsx @@ -0,0 +1,14 @@ +import { describe, it, expect } from "vitest"; +import { render, screen } from "@testing-library/react"; +import { Providers } from "./providers"; + +describe("Providers", () => { + it("renders children", () => { + render( + +
hi
+
, + ); + expect(screen.getByTestId("child")).toBeInTheDocument(); + }); +}); diff --git a/apps/web-next/src/app/providers.tsx b/apps/web-next/src/app/providers.tsx new file mode 100644 index 0000000..3f7c3e4 --- /dev/null +++ b/apps/web-next/src/app/providers.tsx @@ -0,0 +1,7 @@ +"use client"; + +import { NextTrpcProvider } from "@repo/core-trpc/next"; + +export function Providers({ children }: { children: React.ReactNode }) { + return {children}; +} diff --git a/apps/web-next/src/css.d.ts b/apps/web-next/src/css.d.ts new file mode 100644 index 0000000..cbe652d --- /dev/null +++ b/apps/web-next/src/css.d.ts @@ -0,0 +1 @@ +declare module "*.css"; diff --git a/apps/web-next/src/server/auth-actions.test.ts b/apps/web-next/src/server/auth-actions.test.ts new file mode 100644 index 0000000..ede6072 --- /dev/null +++ b/apps/web-next/src/server/auth-actions.test.ts @@ -0,0 +1,161 @@ +import { describe, it, expect, vi, beforeEach } from "vitest"; + +// redirect() in Next.js throws a control-flow error; the mock mirrors that so +// action code after redirect() is provably unreachable in tests too. +const redirectSentinel = vi.hoisted(() => { + class RedirectError extends Error { + constructor(public readonly url: string) { + super(`NEXT_REDIRECT:${url}`); + } + } + return { RedirectError }; +}); + +const cookieMocks = vi.hoisted(() => { + const store = new Map(); + return { + store, + set: vi.fn( + (name: string, value: string, _attributes?: Record) => { + store.set(name, value); + }, + ), + get: vi.fn((name: string) => { + const value = store.get(name); + return value === undefined ? undefined : { name, value }; + }), + delete: vi.fn((name: string) => { + store.delete(name); + }), + }; +}); + +const callerMocks = vi.hoisted(() => ({ + signIn: vi.fn(), + signOut: vi.fn(), +})); + +vi.mock("next/headers", () => ({ + cookies: vi.fn(async () => cookieMocks), +})); +vi.mock("next/navigation", () => ({ + redirect: vi.fn((url: string): never => { + throw new redirectSentinel.RedirectError(url); + }), +})); +vi.mock("./bind-production", () => ({ bindAll: vi.fn(async () => {}) })); +vi.mock("@repo/core-api", () => ({ + appRouter: { + createCaller: vi.fn(() => ({ + auth: { signIn: callerMocks.signIn, signOut: callerMocks.signOut }, + })), + }, +})); + +import { signInAction, signOutAction } from "./auth-actions"; +import { bindAll } from "./bind-production"; + +const { RedirectError } = redirectSentinel; + +function signInForm(username: string, password: string): FormData { + const form = new FormData(); + form.set("username", username); + form.set("password", password); + return form; +} + +async function redirectTargetOf(action: Promise): Promise { + try { + await action; + } catch (err) { + if (err instanceof RedirectError) return err.url; + throw err; + } + throw new Error("expected the action to redirect"); +} + +beforeEach(() => { + cookieMocks.store.clear(); +}); + +describe("signInAction", () => { + it("binds, signs in through the app router, sets the returned cookie, and redirects home", async () => { + callerMocks.signIn.mockResolvedValue({ + name: "session", + value: "session_alice", + attributes: { httpOnly: true }, + }); + + const target = await redirectTargetOf( + signInAction(signInForm("alice", "secret_alice")), + ); + + expect(target).toBe("/"); + expect(bindAll).toHaveBeenCalled(); + expect(callerMocks.signIn).toHaveBeenCalledExactlyOnceWith({ + username: "alice", + password: "secret_alice", + }); + expect(cookieMocks.set).toHaveBeenCalledExactlyOnceWith( + "session", + "session_alice", + { httpOnly: true }, + ); + }); + + it("redirects to the error state without setting a cookie when sign-in fails", async () => { + callerMocks.signIn.mockRejectedValue(new Error("UNAUTHORIZED")); + + const target = await redirectTargetOf( + signInAction(signInForm("alice", "wrong-password")), + ); + + expect(target).toBe("/?error=invalid-credentials"); + expect(cookieMocks.set).not.toHaveBeenCalled(); + }); + + it("submits missing form fields as empty strings (rejected by the input schema server-side)", async () => { + callerMocks.signIn.mockRejectedValue(new Error("BAD_REQUEST")); + + const target = await redirectTargetOf(signInAction(new FormData())); + + expect(target).toBe("/?error=invalid-credentials"); + expect(callerMocks.signIn).toHaveBeenCalledExactlyOnceWith({ + username: "", + password: "", + }); + }); +}); + +describe("signOutAction", () => { + it("invalidates the session from the cookie, clears it, and redirects home", async () => { + cookieMocks.store.set("session", "session_alice"); + callerMocks.signOut.mockResolvedValue(undefined); + + const target = await redirectTargetOf(signOutAction()); + + expect(target).toBe("/"); + expect(callerMocks.signOut).toHaveBeenCalledExactlyOnceWith({ + sessionId: "session_alice", + }); + expect(cookieMocks.delete).toHaveBeenCalledExactlyOnceWith("session"); + }); + + it("still clears a stale cookie when the server-side session is already gone", async () => { + cookieMocks.store.set("session", "session_stale"); + callerMocks.signOut.mockRejectedValue(new Error("UNAUTHORIZED")); + + const target = await redirectTargetOf(signOutAction()); + + expect(target).toBe("/"); + expect(cookieMocks.delete).toHaveBeenCalledExactlyOnceWith("session"); + }); + + it("is a no-op redirect when no session cookie is present", async () => { + const target = await redirectTargetOf(signOutAction()); + + expect(target).toBe("/"); + expect(callerMocks.signOut).not.toHaveBeenCalled(); + expect(cookieMocks.delete).not.toHaveBeenCalled(); + }); +}); diff --git a/apps/web-next/src/server/auth-actions.ts b/apps/web-next/src/server/auth-actions.ts new file mode 100644 index 0000000..c69540b --- /dev/null +++ b/apps/web-next/src/server/auth-actions.ts @@ -0,0 +1,64 @@ +// apps/web-next/src/server/auth-actions.ts +// SERVER-ONLY: Next.js server actions for the auth shell. Both actions go +// through the composed tRPC appRouter (createCaller — the sanctioned server +// entry point) so the auth feature's controllers, error mapping, and +// conformance wrappers all run. The app owns the session cookie: the sign-in +// controller *returns* the cookie and the action writes it via next/headers, +// which keeps httpOnly-capable attributes server-side. +"use server"; + +import { cookies } from "next/headers"; +import { redirect } from "next/navigation"; +import { appRouter } from "@repo/core-api"; +import { SESSION_COOKIE } from "@repo/auth"; +import { bindAll } from "./bind-production"; + +/** + * Sign in with username + password from the shell home form. + * + * Success: sets the session cookie and redirects to `/`. + * Failure (bad input or wrong credentials): redirects to + * `/?error=invalid-credentials` — the shell home renders the error inline. + */ +export async function signInAction(formData: FormData): Promise { + await bindAll(); + const caller = appRouter.createCaller({}); + + let cookie; + try { + cookie = await caller.auth.signIn({ + username: String(formData.get("username") ?? ""), + password: String(formData.get("password") ?? ""), + }); + } catch { + // BAD_REQUEST (input) and UNAUTHORIZED (credentials) collapse into one + // user-facing error on the placeholder shell. + redirect("/?error=invalid-credentials"); + } + + const store = await cookies(); + store.set(cookie.name, cookie.value, cookie.attributes); + redirect("/"); +} + +/** + * Sign out from the shell home. Invalidates the server-side session, then + * clears the cookie even when the session is already gone (e.g. the dev + * server restarted and the in-memory session store was lost). + */ +export async function signOutAction(): Promise { + await bindAll(); + const store = await cookies(); + const sessionId = store.get(SESSION_COOKIE)?.value; + + if (sessionId) { + try { + await appRouter.createCaller({}).auth.signOut({ sessionId }); + } catch { + // Stale session id — still clear the cookie below. + } + store.delete(SESSION_COOKIE); + } + + redirect("/"); +} diff --git a/apps/web-next/src/server/bind-production.smoke.test.ts b/apps/web-next/src/server/bind-production.smoke.test.ts new file mode 100644 index 0000000..1d39d8a --- /dev/null +++ b/apps/web-next/src/server/bind-production.smoke.test.ts @@ -0,0 +1,99 @@ +// Dev-seed boot smoke (platform-retrofit story 04): prove `bindAll()` boots +// the app with exactly the auth feature bound — no dangling DI symbols from +// the deleted demo features. +// +// Unlike bind-production.test.ts (which mocks the per-feature binders to test +// dispatcher routing), this file runs the REAL auth dev-seed binder, so the +// `assertFeatureConformance` call at its tail executes — the same boot +// assertion `pnpm dev` runs. The bind-dev-seed docstring's "tests must not +// call this" rule targets auth's own unit tests; this app-level smoke exists +// precisely to exercise the real boot path. +import { readFileSync } from "node:fs"; +import path from "node:path"; +import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; + +// Production-path imports only — the dev-seed path never touches Payload, but +// bind-production.ts imports these at module top for bindAllProduction. +vi.mock("@repo/core-cms", () => ({ default: Promise.resolve({}) })); +vi.mock("payload", () => ({ + getPayload: vi.fn(async () => ({ jobs: { queue: vi.fn() } })), +})); + +describe("dev-seed boot smoke — bindAll() binds exactly the auth feature", () => { + beforeEach(() => { + vi.resetModules(); + vi.unstubAllEnvs(); + vi.stubEnv("USE_DEV_SEED", "true"); + vi.stubEnv("WEB_NEXT_SENTRY_DSN", ""); + }); + + afterEach(() => { + vi.unstubAllEnvs(); + }); + + it("boots through the real auth dev-seed binder, passing its boot conformance assertion", async () => { + const { bindAll } = await import("./bind-production"); + + await expect(bindAll()).resolves.toBeUndefined(); + }); + + it("resolves every auth manifest use case and controller after boot", async () => { + const { bindAll } = await import("./bind-production"); + await bindAll(); + + const { authContainer } = await import("@repo/auth/di/container"); + const { AUTH_SYMBOLS } = await import("@repo/auth/di/symbols"); + const { authManifest } = await import("@repo/auth"); + + const useCases = Object.keys(authManifest.useCases); + expect(useCases.sort()).toEqual(["signIn", "signOut", "signUp"]); + + for (const useCase of useCases) { + const cap = useCase[0]!.toUpperCase() + useCase.slice(1); + for (const suffix of ["UseCase", "Controller"] as const) { + const symbol = + AUTH_SYMBOLS[`I${cap}${suffix}` as keyof typeof AUTH_SYMBOLS]; + expect(symbol, `AUTH_SYMBOLS.I${cap}${suffix} exists`).toBeDefined(); + expect( + typeof authContainer.get(symbol), + `authContainer resolves I${cap}${suffix}`, + ).toBe("function"); + } + } + }); + + it("signs in a dev-seed user through the bound controller (server-side smoke)", async () => { + const { bindAll } = await import("./bind-production"); + await bindAll(); + + const { authContainer } = await import("@repo/auth/di/container"); + const { AUTH_SYMBOLS } = await import("@repo/auth/di/symbols"); + const { SESSION_COOKIE } = await import("@repo/auth"); + + const signIn = authContainer.get( + AUTH_SYMBOLS.ISignInController, + ); + const cookie = await signIn({ + username: "alice", + password: "secret_alice", + }); + + expect(cookie.name).toBe(SESSION_COOKIE); + expect(cookie.value).not.toBe(""); + }); + + it("wires auth and nothing else — the dispatcher imports exactly one feature's binders", () => { + // vitest runs with cwd at the package root (jsdom rewrites + // import.meta.url to an http: URL, so resolve from cwd instead). + const source = readFileSync( + path.resolve(process.cwd(), "src/server/bind-production.ts"), + "utf8", + ); + const features = [...source.matchAll(/@repo\/([\w-]+)\/di\/bind-/g)].map( + (match) => match[1], + ); + + expect(features.length).toBeGreaterThan(0); + expect([...new Set(features)].sort()).toEqual(["auth"]); + }); +}); diff --git a/apps/web-next/src/server/bind-production.test.ts b/apps/web-next/src/server/bind-production.test.ts new file mode 100644 index 0000000..e0f1ee5 --- /dev/null +++ b/apps/web-next/src/server/bind-production.test.ts @@ -0,0 +1,218 @@ +import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; + +vi.mock("@repo/core-cms", () => ({ default: Promise.resolve({}) })); +vi.mock("payload", () => ({ + getPayload: vi.fn(async () => ({ jobs: { queue: vi.fn() } })), +})); +vi.mock("@repo/auth/di/bind-production", () => ({ + bindProductionAuth: vi.fn(), +})); +vi.mock("@repo/auth/di/bind-dev-seed", () => ({ bindDevSeedAuth: vi.fn() })); +vi.mock("@repo/core-shared/instrumentation", async (importOriginal) => { + const actual = + await importOriginal(); + const mockedOtel = vi.fn(actual.bindOtelInstrumentation); + return { + ...actual, + bindOtelInstrumentation: mockedOtel, + // Deprecated alias — points to same spy so existing assertions still work. + bindSentryInstrumentation: mockedOtel, + bindNoopInstrumentation: vi.fn(actual.bindNoopInstrumentation), + }; +}); + +describe("bindAllProduction", () => { + beforeEach(() => { + vi.resetModules(); + vi.clearAllMocks(); + }); + + it("binds the auth feature production repos", async () => { + const { bindAllProduction } = await import("./bind-production"); + const { bindProductionAuth } = + await import("@repo/auth/di/bind-production"); + + await bindAllProduction(); + + expect(bindProductionAuth).toHaveBeenCalledOnce(); + }); + + it("is idempotent via bindAll — second call does not re-bind", async () => { + vi.stubEnv("NODE_ENV", "production"); + const { bindAll } = await import("./bind-production"); + const { bindProductionAuth } = + await import("@repo/auth/di/bind-production"); + await bindAll(); + await bindAll(); + expect(bindProductionAuth).toHaveBeenCalledOnce(); + }); + + it("passes a Payload-backed queue to each per-feature binder", async () => { + const { bindAllProduction } = await import("./bind-production"); + const { bindProductionAuth } = + await import("@repo/auth/di/bind-production"); + const { PayloadJobQueue } = await import("@repo/core-shared/jobs"); + + await bindAllProduction(); + + const ctx = vi.mocked(bindProductionAuth).mock.calls[0]![0]; + expect(ctx.bus).toBeUndefined(); + expect(ctx.queue).toBeInstanceOf(PayloadJobQueue); + }); +}); + +describe("bindAllDevSeed", () => { + beforeEach(() => { + vi.resetModules(); + vi.clearAllMocks(); + }); + + it("passes an in-memory queue (no bus) to each per-feature dev-seed binder", async () => { + const { bindAllDevSeed } = await import("./bind-production"); + const { bindDevSeedAuth } = await import("@repo/auth/di/bind-dev-seed"); + const { InMemoryJobQueue } = await import("@repo/core-shared/jobs"); + + await bindAllDevSeed(); + + const ctx = vi.mocked(bindDevSeedAuth).mock.calls[0]![0]; + expect(ctx.bus).toBeUndefined(); + expect(ctx.queue).toBeInstanceOf(InMemoryJobQueue); + }); +}); + +describe("bindAll dispatcher", () => { + beforeEach(() => { + vi.resetModules(); + vi.clearAllMocks(); + vi.unstubAllEnvs(); + }); + + afterEach(() => { + vi.unstubAllEnvs(); + }); + + it("USE_DEV_SEED='true' wins → dispatches to bindAllDevSeed", async () => { + vi.stubEnv("USE_DEV_SEED", "true"); + vi.stubEnv("NODE_ENV", "production"); // even in production, dev seed wins + const { bindAll } = await import("./bind-production"); + const { bindDevSeedAuth } = await import("@repo/auth/di/bind-dev-seed"); + const { bindProductionAuth } = + await import("@repo/auth/di/bind-production"); + + await bindAll(); + + expect(bindDevSeedAuth).toHaveBeenCalledOnce(); + expect(bindProductionAuth).not.toHaveBeenCalled(); + }); + + it("NODE_ENV='production' (no override) → dispatches to bindAllProduction", async () => { + vi.stubEnv("NODE_ENV", "production"); + const { bindAll } = await import("./bind-production"); + const { bindProductionAuth } = + await import("@repo/auth/di/bind-production"); + const { bindDevSeedAuth } = await import("@repo/auth/di/bind-dev-seed"); + + await bindAll(); + + expect(bindProductionAuth).toHaveBeenCalledOnce(); + expect(bindDevSeedAuth).not.toHaveBeenCalled(); + }); + + it("NODE_ENV='development' → dispatches to bindAllDevSeed (developer default)", async () => { + vi.stubEnv("NODE_ENV", "development"); + const { bindAll } = await import("./bind-production"); + const { bindDevSeedAuth } = await import("@repo/auth/di/bind-dev-seed"); + const { bindProductionAuth } = + await import("@repo/auth/di/bind-production"); + + await bindAll(); + + expect(bindDevSeedAuth).toHaveBeenCalledOnce(); + expect(bindProductionAuth).not.toHaveBeenCalled(); + }); + + it("USE_DEV_SEED='false' is treated as not-set (only 'true' triggers dev seed)", async () => { + vi.stubEnv("USE_DEV_SEED", "false"); + vi.stubEnv("NODE_ENV", "production"); + const { bindAll } = await import("./bind-production"); + const { bindProductionAuth } = + await import("@repo/auth/di/bind-production"); + const { bindDevSeedAuth } = await import("@repo/auth/di/bind-dev-seed"); + + await bindAll(); + + expect(bindProductionAuth).toHaveBeenCalledOnce(); + expect(bindDevSeedAuth).not.toHaveBeenCalled(); + }); +}); + +describe("bindAll instrumentation orthogonality", () => { + beforeEach(() => { + vi.resetModules(); + vi.clearAllMocks(); + vi.unstubAllEnvs(); + }); + + afterEach(() => { + vi.unstubAllEnvs(); + }); + + // In the mock setup above, bindSentryInstrumentation is an alias that points + // to the same spy as bindOtelInstrumentation. Assertions against either name + // verify the same call, which also validates the deprecation alias is wired. + + it("DSN absent → bindNoopInstrumentation regardless of NODE_ENV", async () => { + vi.stubEnv("WEB_NEXT_SENTRY_DSN", ""); + vi.stubEnv("NODE_ENV", "production"); + const { bindAll } = await import("./bind-production"); + const { bindNoopInstrumentation, bindOtelInstrumentation } = + await import("@repo/core-shared/instrumentation"); + + await bindAll(); + + expect(bindNoopInstrumentation).toHaveBeenCalledOnce(); + expect(bindOtelInstrumentation).not.toHaveBeenCalled(); + }); + + it("DSN set → bindOtelInstrumentation regardless of NODE_ENV", async () => { + vi.stubEnv("WEB_NEXT_SENTRY_DSN", "https://x@y/1"); + vi.stubEnv("NODE_ENV", "development"); + const { bindAll } = await import("./bind-production"); + const { bindNoopInstrumentation, bindOtelInstrumentation } = + await import("@repo/core-shared/instrumentation"); + + await bindAll(); + + expect(bindOtelInstrumentation).toHaveBeenCalledOnce(); + expect(bindNoopInstrumentation).not.toHaveBeenCalled(); + }); + + it("OTel instrumentation works alongside dev seed (USE_DEV_SEED=true)", async () => { + vi.stubEnv("USE_DEV_SEED", "true"); + vi.stubEnv("WEB_NEXT_SENTRY_DSN", "https://x@y/1"); + const { bindAll } = await import("./bind-production"); + const { bindOtelInstrumentation } = + await import("@repo/core-shared/instrumentation"); + const { bindDevSeedAuth } = await import("@repo/auth/di/bind-dev-seed"); + + await bindAll(); + + expect(bindOtelInstrumentation).toHaveBeenCalledOnce(); + expect(bindDevSeedAuth).toHaveBeenCalledOnce(); + }); + + it("Noop instrumentation works alongside production binding (DSN unset, NODE_ENV=production)", async () => { + vi.stubEnv("WEB_NEXT_SENTRY_DSN", ""); + vi.stubEnv("NODE_ENV", "production"); + const { bindAll } = await import("./bind-production"); + const { bindNoopInstrumentation } = + await import("@repo/core-shared/instrumentation"); + const { bindProductionAuth } = + await import("@repo/auth/di/bind-production"); + + await bindAll(); + + expect(bindNoopInstrumentation).toHaveBeenCalledOnce(); + expect(bindProductionAuth).toHaveBeenCalledOnce(); + }); +}); diff --git a/apps/web-next/src/server/bind-production.ts b/apps/web-next/src/server/bind-production.ts new file mode 100644 index 0000000..b32a512 --- /dev/null +++ b/apps/web-next/src/server/bind-production.ts @@ -0,0 +1,147 @@ +// apps/web-next/src/server/bind-production.ts +// SERVER-ONLY: this module imports Payload config and must never be bundled into the browser. +import "reflect-metadata"; +import { Container } from "inversify"; +import { getPayload } from "payload"; +import config from "@repo/core-cms"; +import { + bindNoopInstrumentation, + bindOtelInstrumentation, + type ITracer, + type ILogger, +} from "@repo/core-shared/instrumentation"; +import type { BindProductionContext, BindContext } from "@repo/core-shared/di"; +import { + InMemoryJobQueue, + PayloadJobQueue, + type IJobQueue, +} from "@repo/core-shared/jobs"; +import { NoopRateLimit } from "@repo/core-shared/rate-limit"; +import { bindProductionAuth } from "@repo/auth/di/bind-production"; +import { bindDevSeedAuth } from "@repo/auth/di/bind-dev-seed"; + +let bindPromise: Promise | null = null; + +// Shared container holds TRACER + LOGGER bindings; per-feature containers +// receive references via parameter passing. This separates the instrumentation +// container (one) from feature containers (per-feature, ADR-008). +const sharedContainer = new Container(); + +let resolvedTracer: ITracer | null = null; +let resolvedLogger: ILogger | null = null; +let resolvedQueue: IJobQueue | null = null; + +/** Rule 0: pick instrumentation backend from DSN env (orthogonal to repo mode). */ +function resolveInstrumentation(): { tracer: ITracer; logger: ILogger } { + if (resolvedTracer && resolvedLogger) { + return { tracer: resolvedTracer, logger: resolvedLogger }; + } + const dsn = process.env.WEB_NEXT_SENTRY_DSN; + const result = dsn + ? bindOtelInstrumentation(sharedContainer, { dsn, app: "web-next" }) + : bindNoopInstrumentation(sharedContainer); + resolvedTracer = result.tracer; + resolvedLogger = result.logger; + return result; +} + +/** + * Production-mode job queue: backed by Payload's job system so ad-hoc jobs go + * through `PayloadJobQueue.enqueue`. Cached after first resolution. + * + * Note: @repo/core-events (IEventBus) is optional — scaffold via + * `pnpm turbo gen core-package events` to re-enable cross-feature event fanout. + */ +async function resolveJobsProduction(): Promise<{ queue: IJobQueue }> { + if (resolvedQueue) return { queue: resolvedQueue }; + const resolvedConfig = await config; + const payload = await getPayload({ config: resolvedConfig }); + const queue = new PayloadJobQueue(payload); + resolvedQueue = queue; + return { queue }; +} + +/** + * Dev-seed mode: in-process job queue. Per-feature binders register their job + * handlers via `queue.register(slug, handler)` at bind time so dev/test + * exercises the enqueue path without booting Payload. + */ +function resolveJobsDevSeed(): { queue: IJobQueue } { + if (resolvedQueue) return { queue: resolvedQueue }; + const queue = new InMemoryJobQueue(); + resolvedQueue = queue; + return { queue }; +} + +/** + * Production path: swap each feature's mock repository binding for the real + * Payload-backed one. Constructs `new XRepository(config, tracer, logger)` per + * feature via `bindProductionX` exports. + */ +export async function bindAllProduction(): Promise { + const { tracer, logger } = resolveInstrumentation(); // Rule 0 + const { queue } = await resolveJobsProduction(); + const resolvedConfig = await config; + + const ctx: BindProductionContext = { + config: resolvedConfig, + tracer, + logger, + queue, + rateLimit: new NoopRateLimit(), + }; + + bindProductionAuth(ctx); +} + +/** + * Dev-seed path: keep each feature's MockXRepository in place but populate it + * with realistic seed data so the running app shows non-empty UI without + * Payload booted. Mutually exclusive with `bindAllProduction()`. + */ +export async function bindAllDevSeed(): Promise { + const { tracer, logger } = resolveInstrumentation(); // Rule 0 + const { queue } = resolveJobsDevSeed(); + + const ctx: BindContext = { + tracer, + logger, + queue, + rateLimit: new NoopRateLimit(), + }; + + await bindDevSeedAuth(ctx); +} + +/** + * Boot dispatcher: pick the binder based on the environment. + * + * Resolution order (first match wins): + * + * Rule 0 (always): instrumentation (Noop vs Sentry) from WEB_NEXT_SENTRY_DSN + * presence — runs inside both bindAllProduction and + * bindAllDevSeed via resolveInstrumentation(). + * Rule 1: USE_DEV_SEED === "true" → dev seed (explicit override) + * Rule 2: NODE_ENV === "production" → real Payload via bindAllProduction + * Rule 3: otherwise → dev seed (developer-friendly default) + * + * When @repo/core-events is scaffolded via `pnpm turbo gen core-package events`, + * extend to construct IEventBus and pass it via ctx.bus to per-feature binders. + * When @repo/core-realtime is scaffolded, extend to accept realtime deps + * (IRealtimeBroadcaster, IRealtimeHandlerRegistry) and pass them through. + */ +export function bindAll(): Promise { + if (bindPromise) return bindPromise; + + if (process.env.USE_DEV_SEED === "false") { + bindPromise = bindAllProduction(); + } else if (process.env.USE_DEV_SEED === "true") { + bindPromise = bindAllDevSeed(); + } else if (process.env.NODE_ENV === "production") { + bindPromise = bindAllProduction(); + } else { + bindPromise = bindAllDevSeed(); + } + + return bindPromise; +} diff --git a/apps/web-next/src/styles/app.css b/apps/web-next/src/styles/app.css new file mode 100644 index 0000000..b71fef2 --- /dev/null +++ b/apps/web-next/src/styles/app.css @@ -0,0 +1,6 @@ +@import "tailwindcss"; +@source "../../../../packages/core-ui/src"; +@source "../../../../packages/auth/src"; +@source "../"; + +@import "../../../../packages/core-ui/src/styles/theme.css"; diff --git a/apps/web-next/test-results/.last-run.json b/apps/web-next/test-results/.last-run.json new file mode 100644 index 0000000..f740f7c --- /dev/null +++ b/apps/web-next/test-results/.last-run.json @@ -0,0 +1,4 @@ +{ + "status": "passed", + "failedTests": [] +} diff --git a/apps/web-next/tsconfig.json b/apps/web-next/tsconfig.json new file mode 100644 index 0000000..442d519 --- /dev/null +++ b/apps/web-next/tsconfig.json @@ -0,0 +1,17 @@ +{ + "extends": "@repo/core-typescript/nextjs.json", + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + }, + "allowJs": true, + "types": ["vitest/globals", "@testing-library/jest-dom"] + }, + "include": [ + "next-env.d.ts", + "src/**/*.ts", + "src/**/*.tsx", + ".next/types/**/*.ts" + ], + "exclude": ["node_modules"] +} diff --git a/apps/web-next/tsconfig.tsbuildinfo b/apps/web-next/tsconfig.tsbuildinfo new file mode 100644 index 0000000..7b3c83d --- /dev/null +++ b/apps/web-next/tsconfig.tsbuildinfo @@ -0,0 +1 @@ +{"fileNames":["../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/.pnpm/@types+react@19.2.14/node_modules/@types/react/global.d.ts","../../node_modules/.pnpm/csstype@3.2.3/node_modules/csstype/index.d.ts","../../node_modules/.pnpm/@types+react@19.2.14/node_modules/@types/react/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/styled-jsx/types/css.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/styled-jsx/types/macro.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/styled-jsx/types/style.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/styled-jsx/types/global.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/styled-jsx/types/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/amp.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/amp.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/get-page-files.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/compatibility/disposable.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/compatibility/indexable.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/compatibility/index.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/globals.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/web-globals/domexception.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/web-globals/events.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/web-globals/fetch.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/web-globals/navigator.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/web-globals/storage.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/assert.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/assert/strict.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/async_hooks.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/buffer.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/child_process.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/cluster.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/console.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/constants.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/crypto.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/dgram.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/dns.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/dns/promises.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/domain.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/events.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/fs.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/fs/promises.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/http.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/http2.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/https.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/inspector.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/inspector.generated.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/module.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/net.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/os.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/path.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/perf_hooks.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/process.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/punycode.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/querystring.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/readline.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/readline/promises.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/repl.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/sea.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/sqlite.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/stream.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/stream/promises.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/stream/consumers.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/stream/web.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/string_decoder.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/test.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/timers.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/timers/promises.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/tls.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/trace_events.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/tty.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/url.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/util.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/v8.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/vm.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/wasi.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/worker_threads.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/zlib.d.ts","../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/index.d.ts","../../node_modules/.pnpm/@types+react@19.2.14/node_modules/@types/react/canary.d.ts","../../node_modules/.pnpm/@types+react@19.2.14/node_modules/@types/react/experimental.d.ts","../../node_modules/.pnpm/@types+react-dom@19.2.3_@types+react@19.2.14/node_modules/@types/react-dom/index.d.ts","../../node_modules/.pnpm/@types+react-dom@19.2.3_@types+react@19.2.14/node_modules/@types/react-dom/canary.d.ts","../../node_modules/.pnpm/@types+react-dom@19.2.3_@types+react@19.2.14/node_modules/@types/react-dom/experimental.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/fallback.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/compiled/webpack/webpack.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/config.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/load-custom-routes.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/image-config.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/body-streams.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/cache-control.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/setup-exception-listeners.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/worker.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/constants.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/app-router-headers.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/rendering-mode.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/require-hook.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/experimental/ppr.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/webpack/plugins/app-build-manifest-plugin.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/page-types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/segment-config/app/app-segment-config.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/segment-config/pages/pages-segment-config.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/analysis/get-page-static-info.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/webpack/loaders/get-module-build-info.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/webpack/plugins/middleware-plugin.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/node-polyfill-crypto.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/node-environment-baseline.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/node-environment-extensions/error-inspect.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/node-environment-extensions/random.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/node-environment-extensions/date.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/node-environment-extensions/web-crypto.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/node-environment-extensions/node-crypto.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/node-environment.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/page-extensions-type.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/instrumentation/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/coalesced-function.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/router-utils/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/modern-browserslist-target.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/constants.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/trace/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/trace/trace.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/trace/shared.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/trace/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/load-jsconfig.d.ts","../../node_modules/.pnpm/@next+env@15.5.14/node_modules/@next/env/dist/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/use-cache-tracker-utils.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/telemetry-plugin.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/telemetry/storage.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/build-context.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/bloom-filter.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/webpack-config.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-kind.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-definitions/route-definition.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/swc/generated-native.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/swc/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/dev/parse-version-info.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/next-devtools/shared/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/dev/dev-indicator-server-state.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/parse-stack.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/next-devtools/server/shared.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/next-devtools/shared/stack-frame.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/next-devtools/dev-overlay/utils/get-error-by-type.d.ts","../../node_modules/.pnpm/@types+react@19.2.14/node_modules/@types/react/jsx-runtime.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/next-devtools/dev-overlay/container/runtime-error/render-error.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/next-devtools/dev-overlay/shared.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/dev/hot-reloader-types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/cache-handlers/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/response-cache/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/resume-data-cache/cache-store.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/resume-data-cache/resume-data-cache.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/render-result.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/i18n-provider.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/web/next-url.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/compiled/@edge-runtime/cookies/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/web/spec-extension/cookies.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/web/spec-extension/request.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/after/builtin-request-context.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/web/spec-extension/fetch-event.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/web/spec-extension/response.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/segment-config/middleware/middleware-config.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/web/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/router/utils/parse-url.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/base-http/node.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-definitions/locale-route-definition.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-definitions/pages-route-definition.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/mitt.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/with-router.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/router.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/route-loader.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/page-loader.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/router/router.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/router-context.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/loadable-context.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/loadable.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-definitions/app-page-route-definition.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/webpack/loaders/metadata/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/webpack/loaders/next-app-loader/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/app-dir-module.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/async-storage/draft-mode-provider.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/web/spec-extension/adapters/headers.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/app-render/cache-signal.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/app-render/dynamic-rendering.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/request/fallback-params.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/response-cache/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/lazy-result.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/implicit-tags.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/app-render/work-unit-async-storage.external.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/deep-readonly.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/app-render/app-render.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/amp-context.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-modules/app-page/module.compiled.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/error-boundary.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/layout-router.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/render-from-template-context.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/app-render/action-async-storage-instance.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/app-render/action-async-storage.external.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/client-page.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/client-segment.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/request/search-params.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/hooks-server-context.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/http-access-fallback/error-boundary.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/metadata/types/extra-types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/metadata/types/metadata-types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/metadata/types/manifest-types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/metadata/types/twitter-types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/metadata/types/resolvers.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/metadata/types/icons.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/metadata/resolve-metadata.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/metadata/metadata.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/lib/framework/boundary-components.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/app-render/rsc/preloads.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/app-render/rsc/postpone.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/app-render/rsc/taint.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/app-render/collect-segment-data.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/app-render/entry-base.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/templates/app-page.d.ts","../../node_modules/.pnpm/@types+react@19.2.14/node_modules/@types/react/jsx-dev-runtime.d.ts","../../node_modules/.pnpm/@types+react@19.2.14/node_modules/@types/react/compiler-runtime.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.d.ts","../../node_modules/.pnpm/@types+react-dom@19.2.3_@types+react@19.2.14/node_modules/@types/react-dom/client.d.ts","../../node_modules/.pnpm/@types+react-dom@19.2.3_@types+react@19.2.14/node_modules/@types/react-dom/static.d.ts","../../node_modules/.pnpm/@types+react-dom@19.2.3_@types+react@19.2.14/node_modules/@types/react-dom/server.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-modules/app-page/module.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/web/adapter.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/use-cache/cache-life.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/app-render/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/router-reducer/router-reducer-types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/flight-data-helpers.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/router-reducer/fetch-server-response.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-modules/pages/module.compiled.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/templates/pages.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-modules/pages/module.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/next-devtools/userspace/pages/pages-dev-overlay-setup.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/render.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-definitions/pages-api-route-definition.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-matches/pages-api-route-match.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-matchers/route-matcher.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/normalizers/normalizer.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/normalizers/locale-route-normalizer.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/normalizers/request/pathname-normalizer.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/normalizers/request/suffix.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/normalizers/request/rsc.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/normalizers/request/prefetch-rsc.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/normalizers/request/next-data.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/static-paths/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/base-server.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/async-callback-set.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/router/utils/route-regex.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/router/utils/route-matcher.d.ts","../../node_modules/.pnpm/sharp@0.34.5/node_modules/sharp/lib/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/image-optimizer.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/next-server.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/lru-cache.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/dev-bundler-service.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/dev/static-paths-worker.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/dev/next-dev-server.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/next.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/render-server.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/router-server.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/router/utils/path-match.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/router-utils/filesystem.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/router-utils/router-server-context.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-modules/route-module.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/load-components.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-definitions/app-route-route-definition.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/async-storage/work-store.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/web/http.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-modules/app-route/shared-modules.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/redirect-status-code.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/redirect-error.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/templates/app-route.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-modules/app-route/module.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-modules/app-route/module.compiled.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/segment-config/app/app-segments.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/utils.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/turborepo-access-trace/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/turborepo-access-trace/result.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/turborepo-access-trace/helpers.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/turborepo-access-trace/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/export/routes/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/export/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/export/worker.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/worker.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/build/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/lib/incremental-cache/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/after/after.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/after/after-context.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/app-render/work-async-storage-instance.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/app-render/work-async-storage.external.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/request/params.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/route-matches/route-match.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/request-meta.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/cli/next-test.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/config-shared.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/base-http/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/api-utils/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/html-context.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/utils.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/pages/_app.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/app.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/web/spec-extension/unstable-cache.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/web/spec-extension/revalidate.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/web/spec-extension/unstable-no-store.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/use-cache/cache-tag.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/cache.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/runtime-config.external.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/config.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/pages/_document.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/document.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/dynamic.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dynamic.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/pages/_error.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/error.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/head.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/head.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/request/cookies.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/request/headers.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/request/draft-mode.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/headers.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/get-img-props.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/image-component.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/shared/lib/image-external.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/image.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/link.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/link.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/redirect.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/not-found.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/forbidden.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/unauthorized.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/unstable-rethrow.server.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/unstable-rethrow.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/navigation.react-server.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/unrecognized-action-error.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/components/navigation.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/navigation.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/router.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/client/script.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/script.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/web/spec-extension/user-agent.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/compiled/@edge-runtime/primitives/url.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/web/spec-extension/image-response.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/compiled/@vercel/og/satori/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/compiled/@vercel/og/emoji/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/compiled/@vercel/og/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/after/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/request/root-params.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/dist/server/request/connection.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/server.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/types/global.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/types/compiled.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/types.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/index.d.ts","../../node_modules/.pnpm/next@15.5.14_@babel+core@7.25.9_@opentelemetry+api@1.9.1_@playwright+test@1.59.1_react-dom@19_kp6f5y2wull7mqlnipmvpxxypy/node_modules/next/image-types/global.d.ts","./next-env.d.ts","./src/css.d.ts","../../node_modules/.pnpm/@vitest+pretty-format@3.2.4/node_modules/@vitest/pretty-format/dist/index.d.ts","../../node_modules/.pnpm/@vitest+utils@3.2.4/node_modules/@vitest/utils/dist/types.d.ts","../../node_modules/.pnpm/@vitest+utils@3.2.4/node_modules/@vitest/utils/dist/helpers.d.ts","../../node_modules/.pnpm/tinyrainbow@2.0.0/node_modules/tinyrainbow/dist/index-8b61d5bc.d.ts","../../node_modules/.pnpm/tinyrainbow@2.0.0/node_modules/tinyrainbow/dist/node.d.ts","../../node_modules/.pnpm/@vitest+utils@3.2.4/node_modules/@vitest/utils/dist/index.d.ts","../../node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/tasks.d-cksck4of.d.ts","../../node_modules/.pnpm/@vitest+utils@3.2.4/node_modules/@vitest/utils/dist/types.d-bcelap-c.d.ts","../../node_modules/.pnpm/@vitest+utils@3.2.4/node_modules/@vitest/utils/dist/diff.d.ts","../../node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/types.d.ts","../../node_modules/.pnpm/@vitest+utils@3.2.4/node_modules/@vitest/utils/dist/error.d.ts","../../node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/index.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/propertysymbol.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/enums/browsererrorcaptureenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/enums/browsernavigationcrossoriginpolicyenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/ieventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/eventphaseenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/event.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/ieventlisteneroptions.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/teventlistenerfunction.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/teventlistenerobject.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/teventlistener.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/console/iconsole.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/async-task-manager/asynctaskmanager.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/node/nodetypeenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/node/nodedocumentpositionenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/node/nodelist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/mutation-observer/mutationtypeenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/mutation-observer/mutationrecord.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/mutation-observer/imutationobserverinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/mutation-observer/imutationlistener.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/node/icachedresult.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/node/icachedqueryselectorallresult.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/node/icachedqueryselectorresult.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/query-selector/iselectormatch.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/node/icachedmatchesresult.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/node/icachedelementsbytagnameresult.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/node/icachedelementbytagnameresult.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/declaration/property-manager/icssstyledeclarationpropertyvalue.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/declaration/property-manager/cssstyledeclarationpropertymanager.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/node/icachedcomputedstyleresult.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/node/icachedelementbyidresult.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/cssruletypeenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/utilities/cssparser.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/cssrule.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/rules/cssgroupingrule.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/rules/cssconditionrule.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/rules/cssmediarule.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/medialist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/cssstylesheet.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/declaration/cssstyledeclaration.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/domstringmap.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/attr/attr.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-element/htmlelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-style-element/htmlstyleelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/element/htmlcollection.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-input-element/htmlinputelementselectionmodeenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/file/blob.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/file/file.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-input-element/filelist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-meter-element/htmlmeterelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-output-element/htmloutputelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-progress-element/htmlprogresselement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-option-element/htmloptionelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-select-element/htmloptionscollection.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-select-element/htmlselectelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-text-area-element/htmltextareaelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-label-element/htmllabelelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-data-list-element/htmldatalistelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-input-element/htmlinputelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-object-element/htmlobjectelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/validity-state/validitystate.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-button-element/htmlbuttonelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-field-set-element/htmlfieldsetelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-form-element/thtmlformcontrolelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-form-element/radionodelist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-form-element/htmlformcontrolscollection.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-form-element/htmlformelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/child-node/ichildnode.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/child-node/inondocumenttypechildnode.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/character-data/characterdata.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/text/text.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-slot-element/htmlslotelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/idomrectinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/domrectreadonly.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/domrect.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/idompointinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/dompointreadonly.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/dompoint.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/dom-matrix/idommatrixcompatibleobject.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/dom-matrix/tdommatrixinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/dom-matrix/tdommatrix2darray.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/dom-matrix/tdommatrix3darray.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/dom-matrix/idommatrixjson.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/dom-matrix/dommatrixreadonly.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/dom-matrix/dommatrix.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgstringlist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgmatrix.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgtransformtypeenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgtransform.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgtransformlist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svganimatedtransformlist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-graphics-element/svggraphicselement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgrect.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgpoint.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svglengthtypeenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svglength.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgangletypeenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgangle.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgnumber.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svganimatedrect.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgpreserveaspectratiomeetorsliceenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgpreserveaspectratioalignenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgpreserveaspectratio.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svganimatedpreserveaspectratio.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svganimatedlength.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/domtokenlist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-hyperlink-element/ihtmlhyperlinkelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-anchor-element/htmlanchorelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-area-element/htmlareaelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-media-element/timeranges.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-media-element/remoteplayback.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-media-element/imediatrackcapabilities.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-media-element/imediatracksettings.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-media-element/mediastreamtrack.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/imediaquerylisteventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/mediastreamtrackevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-media-element/mediastream.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-media-element/texttrackcue.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-media-element/texttrackcuelist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-media-element/texttrackkindenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-media-element/texttrack.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-media-element/texttracklist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-media-element/htmlmediaelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-audio-element/htmlaudioelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-base-element/htmlbaseelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-body-element/htmlbodyelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-br-element/htmlbrelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-canvas-element/imagebitmap.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-canvas-element/offscreencanvas.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-canvas-element/htmlcanvaselement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-d-list-element/htmldlistelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-data-element/htmldataelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-details-element/htmldetailselement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-dialog-element/htmldialogelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-div-element/htmldivelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-embed-element/htmlembedelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-head-element/htmlheadelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-heading-element/htmlheadingelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-hr-element/htmlhrelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-html-element/htmlhtmlelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/location/location.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/window/crossoriginbrowserwindow.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-iframe-element/htmliframeelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-image-element/htmlimageelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-legend-element/htmllegendelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-li-element/htmllielement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-link-element/htmllinkelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-map-element/htmlmapelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-menu-element/htmlmenuelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-meta-element/htmlmetaelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-mod-element/htmlmodelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-o-list-element/htmlolistelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-opt-group-element/htmloptgroupelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-paragraph-element/htmlparagraphelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-param-element/htmlparamelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-picture-element/htmlpictureelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-pre-element/htmlpreelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-quote-element/htmlquoteelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/types/trequestreferrerpolicy.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-script-element/htmlscriptelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-source-element/htmlsourceelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-span-element/htmlspanelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-table-caption-element/htmltablecaptionelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-table-cell-element/htmltablecellelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-table-col-element/htmltablecolelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-table-row-element/htmltablerowelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-table-section-element/htmltablesectionelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-table-element/htmltableelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-animation-element/svganimationelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-animate-element/svganimateelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-animate-motion-element/svganimatemotionelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-animate-transform-element/svganimatetransformelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svganimatednumber.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-geometry-element/svggeometryelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-circle-element/svgcircleelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svganimatedenumeration.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-clip-path-element/svgclippathelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-defs-element/svgdefselement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-desc-element/svgdescelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-ellipse-element/svgellipseelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svganimatedstring.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-blend-element/svgfeblendelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgnumberlist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svganimatednumberlist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-color-matrix-element/svgfecolormatrixelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-component-transfer-element/svgfecomponenttransferelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-composite-element/svgfecompositeelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svganimatedboolean.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svganimatedinteger.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-convolve-matrix-element/svgfeconvolvematrixelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-diffuse-lighting-element/svgfediffuselightingelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-displacement-map-element/svgfedisplacementmapelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-distant-light-element/svgfedistantlightelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-drop-shadow-element/svgfedropshadowelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-flood-element/svgfefloodelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-component-transfer-function-element/svgcomponenttransferfunctionelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-func-a-element/svgfefuncaelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-func-b-element/svgfefuncbelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-func-g-element/svgfefuncgelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-func-r-element/svgfefuncrelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-gaussian-blur-element/svgfegaussianblurelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-image-element/svgfeimageelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-merge-element/svgfemergeelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-merge-node-element/svgfemergenodeelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-morphology-element/svgfemorphologyelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-offset-element/svgfeoffsetelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-point-light-element/svgfepointlightelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-specular-lighting-element/svgfespecularlightingelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-spot-light-element/svgfespotlightelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-tile-element/svgfetileelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-fe-turbulence-element/svgfeturbulenceelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-filter-element/svgfilterelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-foreign-object-element/svgforeignobjectelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-g-element/svggelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-image-element/svgimageelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-line-element/svglineelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-gradient-element/svggradientelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-linear-gradient-element/svglineargradientelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svganimatedangle.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-marker-element/svgmarkerelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-mask-element/svgmaskelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-metadata-element/svgmetadataelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-m-path-element/svgmpathelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-path-element/svgpathelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-pattern-element/svgpatternelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgpointlist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-polygon-element/svgpolygonelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-polyline-element/svgpolylineelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-radial-gradient-element/svgradialgradientelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-rect-element/svgrectelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-script-element/svgscriptelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-set-element/svgsetelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-stop-element/svgstopelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-switch-element/svgswitchelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-symbol-element/svgsymbolelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-text-content-element/svgtextcontentelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svglengthlist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svganimatedlengthlist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-text-positioning-element/svgtextpositioningelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-text-element/svgtextelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-text-path-element/svgtextpathelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-title-element/svgtitleelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-t-span-element/svgtspanelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-use-element/svguseelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-view-element/svgviewelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/config/isvgelementtagnamemap.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/document-fragment/documentfragment.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/shadow-root/shadowroot.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-template-element/htmltemplateelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-time-element/htmltimeelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-title-element/htmltitleelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-track-element/htmltrackelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-u-list-element/htmlulistelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-video-element/htmlvideoelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/config/ihtmlelementtagnamemap.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-svg-element/svgsvgelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-element/svgelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/svg-style-element/svgstyleelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/node/node.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom/domrectlist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/element/namednodemap.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/parent-node/iparentnode.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/window/iscrolltooptions.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/element/element.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/tree-walker/tnodefilter.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/tree-walker/nodeiterator.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/tree-walker/treewalker.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/document-type/documenttype.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom-implementation/domimplementation.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/comment/comment.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/document/documentreadystateenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/range/rangehowenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/range/irangeboundarypoint.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/range/range.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/selection/selection.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/processing-instruction/processinginstruction.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/document/visibilitystateenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/headers.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/types/theadersinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/types/iresponseinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/form-data/formdata.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/types/tresponsebody.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/cache/response/cachedresponsestateenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/cache/response/icachedresponse.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/response.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/preload/preloadentry.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/document/document.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/types/ibrowserpageviewport.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/console/ivirtualconsoleloggroup.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/console/enums/virtualconsoleloglevelenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/console/enums/virtualconsolelogtypeenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/console/ivirtualconsolelogentry.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/console/ivirtualconsoleprinter.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/console/virtualconsoleprinter.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/url/url.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/cookie/enums/cookiesamesiteenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/cookie/icookie.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/cookie/ioptionalcookie.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/cookie/icookiecontainer.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/cache/response/icacheablerequest.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/cache/response/icacheableresponse.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/cache/response/iresponsecachefilesystem.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/cache/response/iresponsecache.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/utilities/browserexceptionobserver.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/types/ibrowser.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/cache/preflight/icachedpreflightresponse.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/cache/preflight/icacheablepreflightrequest.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/cache/preflight/icacheablepreflightresponse.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/cache/preflight/ipreflightresponsecache.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/module/types/iecmascriptmoduleimport.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/module/types/iecmascriptmodulecachedresult.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/types/ibrowsercontext.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/types/ireloadoptions.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/types/igotooptions.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/types/ioptionalbrowserpageviewport.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/types/ibrowserpage.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/history/historyscrollrestorationenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/history/ihistoryitem.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/history/historyitemlist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/types/ibrowserframe.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/clipboard/clipboarditem.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/clipboard/clipboard.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/cssunitvalue.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/css.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/rules/csscontainerrule.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/rules/cssfontfacerule.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/rules/csskeyframerule.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/rules/csskeyframesrule.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/style-property-map/csskeywordvalue.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/style-property-map/cssstylevalue.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/style-property-map/stylepropertymapreadonly.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/style-property-map/stylepropertymap.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/rules/cssstylerule.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/rules/csssupportsrule.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/custom-element/icustomelementdefinition.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/custom-element/customelementregistry.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/dom-parser/domparser.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/datatransferitem.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/datatransferitemlist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/datatransfer.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/messageport.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/itouchinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/touch.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/iuieventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/uievent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/ianimationeventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/animationevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/iclipboardeventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/clipboardevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/icustomeventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/customevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/ierroreventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/errorevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/ifocuseventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/focusevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/ihashchangeeventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/hashchangeevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/iinputeventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/inputevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/ikeyboardeventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/keyboardevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/imediaquerylistinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/mediaquerylistevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/imessageeventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/messageevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/imouseeventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/mouseevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/ipointereventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/pointerevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/iprogresseventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/progressevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/storage/storage.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/istorageeventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/storageevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/isubmiteventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/submitevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/itoucheventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/touchevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/iwheeleventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/wheelevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/exception/domexception.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/abortcontroller.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/types/trequestinfo.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/file/filereader.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/history/history.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/intersection-observer/intersectionobserverentry.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/intersection-observer/iintersectionobserverinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/intersection-observer/intersectionobserver.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/match-media/mediaquerylist.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/mutation-observer/mutationobserver.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/navigator/plugin.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/navigator/mimetype.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/navigator/mimetypearray.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/navigator/pluginarray.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/permissions/permissionstatus.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/permissions/permissions.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/navigator/navigator.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/document/documentreadystatemanager.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-audio-element/audio.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-document/htmldocument.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-image-element/image.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-media-element/vttregion.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-media-element/vttcue.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-unknown-element/htmlunknownelement.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/xml-document/xmldocument.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/resize-observer/resizeobserver.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/screen/screen.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/screen/screendetailed.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/screen/screendetails.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/xml-http-request/xmlhttprequesteventtarget.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/xml-http-request/xmlhttprequestreadystateenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/xml-http-request/xmlhttprequestupload.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/xml-http-request/xmlhttpresponsetypeenum.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/types/trequestbody.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/xml-http-request/xmlhttprequest.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/xml-serializer/xmlserializer.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/window/inodejsglobal.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/nodes/html-canvas-element/canvascapturemediastreamtrack.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/svg/svgunittypes.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/custom-element/customelementreactionstack.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/module/types/imodule.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/module/types/imoduleimportmaprule.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/module/types/imoduleimportmapscope.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/module/types/imoduleimportmap.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/css/rules/cssscoperule.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/ipopstateeventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/popstateevent.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/icloseeventinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/events/closeevent.d.ts","../../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/ws/index.d.mts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/web-socket/websocket.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/window/browserwindow.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/event/eventtarget.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/abortsignal.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/types/trequestmode.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/types/trequestcredentials.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/types/trequestredirect.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/types/irequestinit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/request.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/types/isyncresponse.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/types/ifetchinterceptor.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/types/ivirtualserver.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/fetch/types/ifetchrequestheaders.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/window/ioptionaltimerloopslimit.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/module/types/iresolvenodemodules.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/types/ibrowsersettings.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/browserframe.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/browserpage.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/browsercontext.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/types/ioptionalbrowsersettings.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/browser.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/detached-browser/detachedbrowserframe.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/detached-browser/detachedbrowserpage.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/detached-browser/detachedbrowsercontext.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/browser/detached-browser/detachedbrowser.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/console/virtualconsole.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/html-serializer/htmlserializer.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/tree-walker/nodefilter.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/window/detachedwindowapi.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/window/window.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/window/globalwindow.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/xml-parser/xmlparser.d.ts","../../node_modules/.pnpm/happy-dom@20.8.9/node_modules/happy-dom/lib/index.d.ts","../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.13_@types+node@22.19.17_happy-dom@20.8.9_jiti@2.7.0_jsdom@25.0._eilcqkakhi6sgyexltx2n5amsi/node_modules/vitest/optional-types.d.ts","../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.13_@types+node@22.19.17_happy-dom@20.8.9_jiti@2.7.0_jsdom@25.0._eilcqkakhi6sgyexltx2n5amsi/node_modules/vitest/dist/chunks/environment.d.cl3nlxbe.d.ts","../../node_modules/.pnpm/@types+estree@1.0.8/node_modules/@types/estree/index.d.ts","../../node_modules/.pnpm/rollup@4.60.1/node_modules/rollup/dist/rollup.d.ts","../../node_modules/.pnpm/rollup@4.60.1/node_modules/rollup/dist/parseast.d.ts","../../node_modules/.pnpm/vite@6.4.2_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99.0_terser@5.46.2_tsx@4.21.0_yaml@2.9.0/node_modules/vite/types/hmrpayload.d.ts","../../node_modules/.pnpm/vite@6.4.2_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99.0_terser@5.46.2_tsx@4.21.0_yaml@2.9.0/node_modules/vite/types/customevent.d.ts","../../node_modules/.pnpm/vite@6.4.2_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99.0_terser@5.46.2_tsx@4.21.0_yaml@2.9.0/node_modules/vite/types/hot.d.ts","../../node_modules/.pnpm/vite@6.4.2_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99.0_terser@5.46.2_tsx@4.21.0_yaml@2.9.0/node_modules/vite/dist/node/modulerunnertransport.d-dj_me5sf.d.ts","../../node_modules/.pnpm/vite@6.4.2_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99.0_terser@5.46.2_tsx@4.21.0_yaml@2.9.0/node_modules/vite/dist/node/module-runner.d.ts","../../node_modules/.pnpm/esbuild@0.25.12/node_modules/esbuild/lib/main.d.ts","../../node_modules/.pnpm/source-map-js@1.2.1/node_modules/source-map-js/source-map.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/previous-map.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/input.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/css-syntax-error.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/declaration.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/root.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/warning.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/lazy-result.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/no-work-result.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/processor.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/result.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/document.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/rule.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/node.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/comment.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/container.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/at-rule.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/list.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/postcss.d.ts","../../node_modules/.pnpm/postcss@8.5.8/node_modules/postcss/lib/postcss.d.mts","../../node_modules/.pnpm/lightningcss@1.32.0/node_modules/lightningcss/node/ast.d.ts","../../node_modules/.pnpm/lightningcss@1.32.0/node_modules/lightningcss/node/targets.d.ts","../../node_modules/.pnpm/lightningcss@1.32.0/node_modules/lightningcss/node/index.d.ts","../../node_modules/.pnpm/vite@6.4.2_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99.0_terser@5.46.2_tsx@4.21.0_yaml@2.9.0/node_modules/vite/types/internal/lightningcssoptions.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/deprecations.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/util/promise_or.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/importer.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/logger/source_location.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/logger/source_span.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/logger/index.d.ts","../../node_modules/.pnpm/immutable@5.1.5/node_modules/immutable/dist/immutable.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/value/boolean.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/value/calculation.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/value/color.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/value/function.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/value/list.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/value/map.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/value/mixin.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/value/number.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/value/string.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/value/argument_list.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/value/index.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/options.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/compile.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/exception.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/legacy/exception.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/legacy/plugin_this.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/legacy/function.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/legacy/importer.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/legacy/options.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/legacy/render.d.ts","../../node_modules/.pnpm/sass@1.99.0/node_modules/sass/types/index.d.ts","../../node_modules/.pnpm/vite@6.4.2_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99.0_terser@5.46.2_tsx@4.21.0_yaml@2.9.0/node_modules/vite/types/internal/csspreprocessoroptions.d.ts","../../node_modules/.pnpm/vite@6.4.2_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99.0_terser@5.46.2_tsx@4.21.0_yaml@2.9.0/node_modules/vite/types/importglob.d.ts","../../node_modules/.pnpm/vite@6.4.2_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99.0_terser@5.46.2_tsx@4.21.0_yaml@2.9.0/node_modules/vite/types/metadata.d.ts","../../node_modules/.pnpm/vite@6.4.2_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99.0_terser@5.46.2_tsx@4.21.0_yaml@2.9.0/node_modules/vite/dist/node/index.d.ts","../../node_modules/.pnpm/@vitest+mocker@3.2.4_vite@6.4.2_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99_6luif36gt44smyegmt575nthfy/node_modules/@vitest/mocker/dist/registry.d-d765pazg.d.ts","../../node_modules/.pnpm/@vitest+mocker@3.2.4_vite@6.4.2_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99_6luif36gt44smyegmt575nthfy/node_modules/@vitest/mocker/dist/types.d-d_arzrdy.d.ts","../../node_modules/.pnpm/@vitest+mocker@3.2.4_vite@6.4.2_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99_6luif36gt44smyegmt575nthfy/node_modules/@vitest/mocker/dist/index.d.ts","../../node_modules/.pnpm/@vitest+utils@3.2.4/node_modules/@vitest/utils/dist/source-map.d.ts","../../node_modules/.pnpm/vite-node@3.2.4_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99.0_terser@5.46.2_tsx@4.21.0_yaml@2.9.0/node_modules/vite-node/dist/trace-mapping.d-dlvdeqop.d.ts","../../node_modules/.pnpm/vite-node@3.2.4_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99.0_terser@5.46.2_tsx@4.21.0_yaml@2.9.0/node_modules/vite-node/dist/index.d-dgmxd2u7.d.ts","../../node_modules/.pnpm/vite-node@3.2.4_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99.0_terser@5.46.2_tsx@4.21.0_yaml@2.9.0/node_modules/vite-node/dist/index.d.ts","../../node_modules/.pnpm/@vitest+snapshot@3.2.4/node_modules/@vitest/snapshot/dist/environment.d-dhdq1csl.d.ts","../../node_modules/.pnpm/@vitest+snapshot@3.2.4/node_modules/@vitest/snapshot/dist/rawsnapshot.d-lfsmjfud.d.ts","../../node_modules/.pnpm/@vitest+snapshot@3.2.4/node_modules/@vitest/snapshot/dist/index.d.ts","../../node_modules/.pnpm/@vitest+snapshot@3.2.4/node_modules/@vitest/snapshot/dist/environment.d.ts","../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.13_@types+node@22.19.17_happy-dom@20.8.9_jiti@2.7.0_jsdom@25.0._eilcqkakhi6sgyexltx2n5amsi/node_modules/vitest/dist/chunks/config.d.d2roskhv.d.ts","../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.13_@types+node@22.19.17_happy-dom@20.8.9_jiti@2.7.0_jsdom@25.0._eilcqkakhi6sgyexltx2n5amsi/node_modules/vitest/dist/chunks/worker.d.1gmbbd7g.d.ts","../../node_modules/.pnpm/@types+deep-eql@4.0.2/node_modules/@types/deep-eql/index.d.ts","../../node_modules/.pnpm/assertion-error@2.0.1/node_modules/assertion-error/index.d.ts","../../node_modules/.pnpm/@types+chai@5.2.3/node_modules/@types/chai/index.d.ts","../../node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/utils.d.ts","../../node_modules/.pnpm/tinybench@2.9.0/node_modules/tinybench/dist/index.d.ts","../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.13_@types+node@22.19.17_happy-dom@20.8.9_jiti@2.7.0_jsdom@25.0._eilcqkakhi6sgyexltx2n5amsi/node_modules/vitest/dist/chunks/benchmark.d.bwvbvtda.d.ts","../../node_modules/.pnpm/vite-node@3.2.4_@types+node@22.19.17_jiti@2.7.0_lightningcss@1.32.0_sass@1.99.0_terser@5.46.2_tsx@4.21.0_yaml@2.9.0/node_modules/vite-node/dist/client.d.ts","../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.13_@types+node@22.19.17_happy-dom@20.8.9_jiti@2.7.0_jsdom@25.0._eilcqkakhi6sgyexltx2n5amsi/node_modules/vitest/dist/chunks/coverage.d.s9rmnxie.d.ts","../../node_modules/.pnpm/@vitest+snapshot@3.2.4/node_modules/@vitest/snapshot/dist/manager.d.ts","../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.13_@types+node@22.19.17_happy-dom@20.8.9_jiti@2.7.0_jsdom@25.0._eilcqkakhi6sgyexltx2n5amsi/node_modules/vitest/dist/chunks/reporters.d.bflkqcl6.d.ts","../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.13_@types+node@22.19.17_happy-dom@20.8.9_jiti@2.7.0_jsdom@25.0._eilcqkakhi6sgyexltx2n5amsi/node_modules/vitest/dist/chunks/worker.d.ckwwzbsj.d.ts","../../node_modules/.pnpm/@vitest+spy@3.2.4/node_modules/@vitest/spy/dist/index.d.ts","../../node_modules/.pnpm/@vitest+expect@3.2.4/node_modules/@vitest/expect/dist/index.d.ts","../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.13_@types+node@22.19.17_happy-dom@20.8.9_jiti@2.7.0_jsdom@25.0._eilcqkakhi6sgyexltx2n5amsi/node_modules/vitest/dist/chunks/global.d.mamajcmj.d.ts","../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.13_@types+node@22.19.17_happy-dom@20.8.9_jiti@2.7.0_jsdom@25.0._eilcqkakhi6sgyexltx2n5amsi/node_modules/vitest/dist/chunks/vite.d.cmlllifp.d.ts","../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.13_@types+node@22.19.17_happy-dom@20.8.9_jiti@2.7.0_jsdom@25.0._eilcqkakhi6sgyexltx2n5amsi/node_modules/vitest/dist/chunks/mocker.d.be_2ls6u.d.ts","../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.13_@types+node@22.19.17_happy-dom@20.8.9_jiti@2.7.0_jsdom@25.0._eilcqkakhi6sgyexltx2n5amsi/node_modules/vitest/dist/chunks/suite.d.fvehnv49.d.ts","../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/utils.d.ts","../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/overloads.d.ts","../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/branding.d.ts","../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/messages.d.ts","../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/index.d.ts","../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.13_@types+node@22.19.17_happy-dom@20.8.9_jiti@2.7.0_jsdom@25.0._eilcqkakhi6sgyexltx2n5amsi/node_modules/vitest/dist/index.d.ts","../../packages/core-shared/src/security/nonce.ts","../../packages/core-shared/src/security/security-types.ts","../../packages/core-shared/src/security/build-security-headers.ts","../../packages/core-shared/src/security/next/middleware.ts","../../packages/core-shared/src/security/next/get-nonce.ts","../../packages/core-shared/src/security/next/index.ts","./middleware.ts","./src/__tests__/middleware.test.ts","../../node_modules/.pnpm/@trpc+server@11.17.0_typescript@5.9.3/node_modules/@trpc/server/dist/index.d-d4qzxqjh.d.mts","../../node_modules/.pnpm/@trpc+server@11.17.0_typescript@5.9.3/node_modules/@trpc/server/dist/unstable-core-do-not-import.d-bdvsvucr.d.mts","../../node_modules/.pnpm/@trpc+server@11.17.0_typescript@5.9.3/node_modules/@trpc/server/dist/index.d-vq_qhko2.d.mts","../../node_modules/.pnpm/@trpc+server@11.17.0_typescript@5.9.3/node_modules/@trpc/server/dist/adapters/fetch/index.d.mts","../../node_modules/.pnpm/@trpc+server@11.16.0_typescript@5.9.3/node_modules/@trpc/server/dist/index.d-d4qzxqjh.d.mts","../../node_modules/.pnpm/@trpc+server@11.16.0_typescript@5.9.3/node_modules/@trpc/server/dist/unstable-core-do-not-import.d-bl-_61jq.d.mts","../../node_modules/.pnpm/@trpc+server@11.16.0_typescript@5.9.3/node_modules/@trpc/server/dist/index.d-vq_qhko2.d.mts","../../node_modules/.pnpm/@trpc+server@11.16.0_typescript@5.9.3/node_modules/@trpc/server/dist/index.d.mts","../../node_modules/.pnpm/superjson@2.2.6/node_modules/superjson/dist/transformer.d.ts","../../node_modules/.pnpm/superjson@2.2.6/node_modules/superjson/dist/plainer.d.ts","../../node_modules/.pnpm/superjson@2.2.6/node_modules/superjson/dist/types.d.ts","../../node_modules/.pnpm/superjson@2.2.6/node_modules/superjson/dist/registry.d.ts","../../node_modules/.pnpm/superjson@2.2.6/node_modules/superjson/dist/class-registry.d.ts","../../node_modules/.pnpm/superjson@2.2.6/node_modules/superjson/dist/custom-transformer-registry.d.ts","../../node_modules/.pnpm/superjson@2.2.6/node_modules/superjson/dist/index.d.ts","../../packages/core-shared/src/trpc/init.ts","../../node_modules/.pnpm/reflect-metadata@0.2.2/node_modules/reflect-metadata/index.d.ts","../../node_modules/.pnpm/@inversifyjs+common@1.4.0/node_modules/@inversifyjs/common/lib/esm/index.d.ts","../../node_modules/.pnpm/@inversifyjs+core@1.3.5_reflect-metadata@0.2.2/node_modules/@inversifyjs/core/lib/esm/index.d.ts","../../node_modules/.pnpm/inversify@6.2.2_reflect-metadata@0.2.2/node_modules/inversify/lib/esm/index.d.ts","../../packages/core-shared/src/rate-limit/rate-limit.interface.ts","../../packages/core-shared/src/rate-limit/noop-rate-limit.ts","../../packages/core-shared/src/rate-limit/in-memory-rate-limit.ts","../../packages/core-shared/src/conformance/brands.ts","../../packages/core-shared/src/conformance/brand-runtime.ts","../../packages/core-shared/src/rate-limit/with-rate-limit.ts","../../packages/core-shared/src/rate-limit/index.ts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/typealiases.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/index.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/zoderror.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseutil.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/enumutil.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorutil.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/partialutil.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/standard-schema.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/external.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/index.d.cts","../../packages/auth/src/entities/models/user.ts","../../packages/auth/src/application/repositories/users.repository.interface.ts","../../packages/auth/src/entities/models/cookie.ts","../../packages/auth/src/entities/models/session.ts","../../packages/auth/src/application/services/authentication.service.interface.ts","../../packages/core-shared/src/instrumentation/tracer.interface.ts","../../packages/core-shared/src/instrumentation/logger.interface.ts","../../packages/core-shared/src/audit/audit-entry.ts","../../packages/core-shared/src/di/bind-protocols.ts","../../packages/core-shared/src/instrumentation/metrics.interface.ts","../../packages/core-shared/src/instrumentation/noop-tracer.ts","../../packages/core-shared/src/instrumentation/noop-logger.ts","../../packages/core-shared/src/instrumentation/noop-metrics.ts","../../packages/core-shared/src/instrumentation/with-span.ts","../../packages/core-shared/src/instrumentation/reported-flag.ts","../../packages/core-shared/src/instrumentation/with-capture.ts","../../packages/core-shared/src/instrumentation/symbols.ts","../../packages/core-shared/src/instrumentation/di/bind-noop-instrumentation.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/baggage/internal/symbol.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/baggage/types.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/baggage/utils.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/common/exception.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/common/time.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/common/attributes.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/context/types.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/context/context.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/api/context.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/diag/types.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/diag/consolelogger.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/api/diag.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/metrics/metric.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/metrics/meter.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/metrics/noopmeter.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/metrics/meterprovider.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/api/metrics.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/propagation/textmappropagator.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/baggage/context-helpers.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/api/propagation.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/attributes.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/trace_state.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/span_context.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/link.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/status.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/span.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/span_kind.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/spanoptions.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/tracer.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/tracer_options.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/proxytracer.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/tracer_provider.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/proxytracerprovider.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/samplingresult.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/sampler.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/trace_flags.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/internal/utils.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/spancontext-utils.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/invalid-span-constants.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/context-utils.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/api/trace.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/context-api.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/diag-api.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/metrics-api.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/propagation-api.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace-api.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/index.d.ts","../../packages/core-shared/src/instrumentation/otel/otel-tracer.ts","../../node_modules/.pnpm/@opentelemetry+api-logs@0.55.0/node_modules/@opentelemetry/api-logs/build/src/types/anyvalue.d.ts","../../node_modules/.pnpm/@opentelemetry+api-logs@0.55.0/node_modules/@opentelemetry/api-logs/build/src/types/logrecord.d.ts","../../node_modules/.pnpm/@opentelemetry+api-logs@0.55.0/node_modules/@opentelemetry/api-logs/build/src/types/logger.d.ts","../../node_modules/.pnpm/@opentelemetry+api-logs@0.55.0/node_modules/@opentelemetry/api-logs/build/src/types/loggeroptions.d.ts","../../node_modules/.pnpm/@opentelemetry+api-logs@0.55.0/node_modules/@opentelemetry/api-logs/build/src/types/loggerprovider.d.ts","../../node_modules/.pnpm/@opentelemetry+api-logs@0.55.0/node_modules/@opentelemetry/api-logs/build/src/nooplogger.d.ts","../../node_modules/.pnpm/@opentelemetry+api-logs@0.55.0/node_modules/@opentelemetry/api-logs/build/src/nooploggerprovider.d.ts","../../node_modules/.pnpm/@opentelemetry+api-logs@0.55.0/node_modules/@opentelemetry/api-logs/build/src/proxylogger.d.ts","../../node_modules/.pnpm/@opentelemetry+api-logs@0.55.0/node_modules/@opentelemetry/api-logs/build/src/proxyloggerprovider.d.ts","../../node_modules/.pnpm/@opentelemetry+api-logs@0.55.0/node_modules/@opentelemetry/api-logs/build/src/api/logs.d.ts","../../node_modules/.pnpm/@opentelemetry+api-logs@0.55.0/node_modules/@opentelemetry/api-logs/build/src/index.d.ts","../../packages/core-shared/src/instrumentation/otel/otel-logger.ts","../../packages/core-shared/src/instrumentation/otel/otel-metrics.ts","../../packages/core-shared/src/instrumentation/di/bind-otel-instrumentation.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/measurement.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/attributes.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/attachment.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/severity.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/breadcrumb.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/featureflags.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/opentelemetry.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/spanstatus.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/transaction.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/span.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/link.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/webfetchapi.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/request.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/misc.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/context.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/checkin.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/datacategory.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/clientreport.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/csp.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/dsn.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/feedback/form.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/feedback/theme.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/feedback/config.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/user.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/feedback/sendfeedback.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/feedback/index.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/parameterize.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/log.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/metric.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/debugmeta.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/profiling.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/replay.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/package.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/sdkinfo.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/session.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/envelope.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/eventprocessor.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/extra.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/tracing.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/scope.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/mechanism.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/stackframe.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/stacktrace.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/exception.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/thread.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/event.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/integration.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/samplingcontext.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/sdkmetadata.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/transport.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/options.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integration.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/startspanoptions.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/promisebuffer.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/client.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/sdk.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/tracedata.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/tracing.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/trace.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/spanutils.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/asynccontext/types.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/asynccontext/stackstrategy.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/env.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/worldwide.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/carrier.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/transports/offline.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/server-runtime-client.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/errors.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/utils.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/idlespan.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/timedevent.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/sentryspan.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/sentrynonrecordingspan.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/spanstatus.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/dynamicsamplingcontext.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/measurement.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/sampling.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/logspans.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/spans/capturespan.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/index.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/semanticattributes.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/envelope.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/prepareevent.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/exports.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/currentscopes.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/defaultscopes.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/asynccontext/index.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/session.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/eventprocessors.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/report-dialog.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/api.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/transports/base.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/transports/multiplexed.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/ai/providerskip.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/envtobool.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/scopedata.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/checkin.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/hasspansenabled.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/spans/beforesendspan.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/issentryrequesturl.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/handlecallbackerrors.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/parameterize.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/tunnel.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/ipaddress.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/spanonscope.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/parsesamplerate.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/sdkmetadata.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/lru.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/tracepropagationtargets.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/meta.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/debounce.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/weakref.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/should-ignore-span.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/request.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/constants.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/breadcrumbs.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integrations/functiontostring.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integrations/eventfilters.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integrations/linkederrors.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integrations/modulemetadata.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integrations/requestdata.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integrations/captureconsole.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integrations/express/types.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integrations/express/index.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integrations/dedupe.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integrations/extraerrordata.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integrations/rewriteframes.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integrations/supabase.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integrations/postgresjs.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integrations/zoderrors.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integrations/third-party-errors-filter.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/instrument.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integrations/console.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integrations/featureflags/featureflagsintegration.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integrations/featureflags/growthbook.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integrations/featureflags/index.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integrations/conversationid.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integrations/http/types.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integrations/http/client-patch.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integrations/http/constants.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integrations/http/client-subscriptions.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integrations/http/add-outgoing-request-breadcrumb.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integrations/http/get-request-url.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/profiling.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/fetch.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/trpc.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integrations/mcp-server/types.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integrations/mcp-server/index.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/feedback.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/logs/internal.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/logs/public-api.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/logs/console-integration.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/metrics/internal.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/metrics/public-api.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integrations/consola.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/vercel-ai/index.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/vercel-ai/types.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/vercel-ai/utils.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/vercel-ai/constants.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/openai/constants.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/openai/types.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/openai/index.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/anthropic-ai/constants.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/anthropic-ai/types.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/anthropic-ai/index.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/google-genai/constants.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/google-genai/types.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/google-genai/index.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/langchain/types.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/langchain/embeddings.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/langchain/index.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/langchain/constants.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/langgraph/types.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/langgraph/index.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/langgraph/constants.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/spans/spanbuffer.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/tracing/spans/hasspanstreamingenabled.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/integrations/spanstreaming.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/aggregate-errors.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/breadcrumb-log-level.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/browser.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/dsn.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/error.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/instrument/console.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/instrument/fetch.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/instrument/globalerror.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/instrument/globalunhandledrejection.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/instrument/handlers.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/polymorphics.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/vue.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/is.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/isbrowser.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/debug-logger.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/misc.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/node.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/normalize.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/normalizationhints.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/wrappedfunction.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/object.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/path.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/severity.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/exports.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/stacktrace.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/node-stack-trace.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/vendor/escapestringforregex.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/string.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/supports.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/syncpromise.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/time.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/envelope.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/clientreport.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/ratelimit.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/baggage.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/url.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/eventbuilder.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/anr.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/propagationcontext.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/vercelwaituntil.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/flushifserverless.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/version.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/debug-ids.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/metadata.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/error.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/runtime.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/browseroptions.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/types-hoist/view-hierarchy.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/build-time-plugins/buildtimeoptionsbase.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/randomsafecontext.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/utils/timer.d.ts","../../node_modules/.pnpm/@sentry+core@10.52.0/node_modules/@sentry/core/build/types/index.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/feedbackasync.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/feedbacksync.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/transports/types.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/client.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/helpers.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/transports/fetch.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/profiling/index.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/stack-parsers.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/eventbuilder.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/userfeedback.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/sdk.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/report-dialog.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/integrations/breadcrumbs.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/integrations/globalhandlers.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/integrations/httpcontext.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/integrations/linkederrors.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/integrations/browserapierrors.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/integrations/browsersession.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/utils/lazyloadintegration.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/exports.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/integrations/reportingobserver.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/integrations/httpclient.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/integrations/contextlines.d.ts","../../node_modules/.pnpm/@sentry-internal+browser-utils@10.52.0/node_modules/@sentry-internal/browser-utils/build/types/metrics/instrument.d.ts","../../node_modules/.pnpm/@sentry-internal+browser-utils@10.52.0/node_modules/@sentry-internal/browser-utils/build/types/metrics/inp.d.ts","../../node_modules/.pnpm/@sentry-internal+browser-utils@10.52.0/node_modules/@sentry-internal/browser-utils/build/types/metrics/browsermetrics.d.ts","../../node_modules/.pnpm/@sentry-internal+browser-utils@10.52.0/node_modules/@sentry-internal/browser-utils/build/types/metrics/elementtiming.d.ts","../../node_modules/.pnpm/@sentry-internal+browser-utils@10.52.0/node_modules/@sentry-internal/browser-utils/build/types/metrics/utils.d.ts","../../node_modules/.pnpm/@sentry-internal+browser-utils@10.52.0/node_modules/@sentry-internal/browser-utils/build/types/metrics/webvitalspans.d.ts","../../node_modules/.pnpm/@sentry-internal+browser-utils@10.52.0/node_modules/@sentry-internal/browser-utils/build/types/instrument/dom.d.ts","../../node_modules/.pnpm/@sentry-internal+browser-utils@10.52.0/node_modules/@sentry-internal/browser-utils/build/types/instrument/history.d.ts","../../node_modules/.pnpm/@sentry-internal+browser-utils@10.52.0/node_modules/@sentry-internal/browser-utils/build/types/types.d.ts","../../node_modules/.pnpm/@sentry-internal+browser-utils@10.52.0/node_modules/@sentry-internal/browser-utils/build/types/getnativeimplementation.d.ts","../../node_modules/.pnpm/@sentry-internal+browser-utils@10.52.0/node_modules/@sentry-internal/browser-utils/build/types/instrument/xhr.d.ts","../../node_modules/.pnpm/@sentry-internal+browser-utils@10.52.0/node_modules/@sentry-internal/browser-utils/build/types/networkutils.d.ts","../../node_modules/.pnpm/@sentry-internal+browser-utils@10.52.0/node_modules/@sentry-internal/browser-utils/build/types/metrics/resourcetiming.d.ts","../../node_modules/.pnpm/@sentry-internal+browser-utils@10.52.0/node_modules/@sentry-internal/browser-utils/build/types/index.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/integrations/graphqlclient.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/integrations/view-hierarchy.d.ts","../../node_modules/.pnpm/@sentry-internal+replay@10.52.0/node_modules/@sentry-internal/replay/build/npm/types/types/request.d.ts","../../node_modules/.pnpm/@sentry-internal+replay@10.52.0/node_modules/@sentry-internal/replay/build/npm/types/types/performance.d.ts","../../node_modules/.pnpm/@sentry-internal+replay@10.52.0/node_modules/@sentry-internal/replay/build/npm/types/util/throttle.d.ts","../../node_modules/.pnpm/@sentry-internal+replay@10.52.0/node_modules/@sentry-internal/replay/build/npm/types/types/rrweb.d.ts","../../node_modules/.pnpm/@sentry-internal+replay@10.52.0/node_modules/@sentry-internal/replay/build/npm/types/types/replayframe.d.ts","../../node_modules/.pnpm/@sentry-internal+replay@10.52.0/node_modules/@sentry-internal/replay/build/npm/types/types/replay.d.ts","../../node_modules/.pnpm/@sentry-internal+replay@10.52.0/node_modules/@sentry-internal/replay/build/npm/types/types/index.d.ts","../../node_modules/.pnpm/@sentry-internal+replay@10.52.0/node_modules/@sentry-internal/replay/build/npm/types/integration.d.ts","../../node_modules/.pnpm/@sentry-internal+replay@10.52.0/node_modules/@sentry-internal/replay/build/npm/types/util/getreplay.d.ts","../../node_modules/.pnpm/@sentry-internal+replay@10.52.0/node_modules/@sentry-internal/replay/build/npm/types/index.d.ts","../../node_modules/.pnpm/@sentry-internal+replay-canvas@10.52.0/node_modules/@sentry-internal/replay-canvas/build/npm/types/canvas.d.ts","../../node_modules/.pnpm/@sentry-internal+replay-canvas@10.52.0/node_modules/@sentry-internal/replay-canvas/build/npm/types/index.d.ts","../../node_modules/.pnpm/@sentry-internal+feedback@10.52.0/node_modules/@sentry-internal/feedback/build/npm/types/core/sendfeedback.d.ts","../../node_modules/.pnpm/@sentry-internal+feedback@10.52.0/node_modules/@sentry-internal/feedback/build/npm/types/core/components/actor.d.ts","../../node_modules/.pnpm/@sentry-internal+feedback@10.52.0/node_modules/@sentry-internal/feedback/build/npm/types/core/types.d.ts","../../node_modules/.pnpm/@sentry-internal+feedback@10.52.0/node_modules/@sentry-internal/feedback/build/npm/types/core/integration.d.ts","../../node_modules/.pnpm/@sentry-internal+feedback@10.52.0/node_modules/@sentry-internal/feedback/build/npm/types/core/getfeedback.d.ts","../../node_modules/.pnpm/@sentry-internal+feedback@10.52.0/node_modules/@sentry-internal/feedback/build/npm/types/modal/integration.d.ts","../../node_modules/.pnpm/@sentry-internal+feedback@10.52.0/node_modules/@sentry-internal/feedback/build/npm/types/screenshot/integration.d.ts","../../node_modules/.pnpm/@sentry-internal+feedback@10.52.0/node_modules/@sentry-internal/feedback/build/npm/types/index.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/tracing/request.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/tracing/browsertracingintegration.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/tracing/reportpageloaded.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/tracing/setactivespan.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/integrations/spanstreaming.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/transports/offline.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/profiling/integration.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/integrations/spotlight.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/integrations/culturecontext.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/integrations/featureflags/launchdarkly/types.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/integrations/featureflags/launchdarkly/integration.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/integrations/featureflags/launchdarkly/index.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/integrations/featureflags/openfeature/types.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/integrations/featureflags/openfeature/integration.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/integrations/featureflags/openfeature/index.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/integrations/featureflags/unleash/types.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/integrations/featureflags/unleash/integration.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/integrations/featureflags/unleash/index.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/integrations/featureflags/growthbook/types.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/integrations/featureflags/growthbook/integration.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/integrations/featureflags/growthbook/index.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/integrations/featureflags/statsig/types.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/integrations/featureflags/statsig/integration.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/integrations/featureflags/statsig/index.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/diagnose-sdk.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/integrations/webworker.d.ts","../../node_modules/.pnpm/@sentry+browser@10.52.0/node_modules/@sentry/browser/build/npm/types/index.d.ts","../../node_modules/.pnpm/@sentry+react@10.52.0_react@19.2.4/node_modules/@sentry/react/build/types/sdk.d.ts","../../node_modules/.pnpm/@sentry+react@10.52.0_react@19.2.4/node_modules/@sentry/react/build/types/error.d.ts","../../node_modules/.pnpm/@sentry+react@10.52.0_react@19.2.4/node_modules/@sentry/react/build/types/profiler.d.ts","../../node_modules/.pnpm/@sentry+react@10.52.0_react@19.2.4/node_modules/@sentry/react/build/types/errorboundary.d.ts","../../node_modules/.pnpm/@sentry+react@10.52.0_react@19.2.4/node_modules/@sentry/react/build/types/redux.d.ts","../../node_modules/.pnpm/@sentry+react@10.52.0_react@19.2.4/node_modules/@sentry/react/build/types/types.d.ts","../../node_modules/.pnpm/@sentry+react@10.52.0_react@19.2.4/node_modules/@sentry/react/build/types/reactrouterv3.d.ts","../../node_modules/.pnpm/@sentry+react@10.52.0_react@19.2.4/node_modules/@sentry/react/build/types/tanstackrouter.d.ts","../../node_modules/.pnpm/@sentry+react@10.52.0_react@19.2.4/node_modules/@sentry/react/build/types/reactrouter.d.ts","../../node_modules/.pnpm/@sentry+react@10.52.0_react@19.2.4/node_modules/@sentry/react/build/types/reactrouter-compat-utils/instrumentation.d.ts","../../node_modules/.pnpm/@sentry+react@10.52.0_react@19.2.4/node_modules/@sentry/react/build/types/reactrouter-compat-utils/utils.d.ts","../../node_modules/.pnpm/@sentry+react@10.52.0_react@19.2.4/node_modules/@sentry/react/build/types/reactrouter-compat-utils/lazy-routes.d.ts","../../node_modules/.pnpm/@sentry+react@10.52.0_react@19.2.4/node_modules/@sentry/react/build/types/reactrouter-compat-utils/index.d.ts","../../node_modules/.pnpm/@sentry+react@10.52.0_react@19.2.4/node_modules/@sentry/react/build/types/reactrouterv6.d.ts","../../node_modules/.pnpm/@sentry+react@10.52.0_react@19.2.4/node_modules/@sentry/react/build/types/reactrouterv7.d.ts","../../node_modules/.pnpm/@sentry+react@10.52.0_react@19.2.4/node_modules/@sentry/react/build/types/index.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/measurement.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/attributes.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/attachment.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/severity.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/breadcrumb.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/featureflags.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/opentelemetry.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/spanstatus.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/transaction.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/span.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/link.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/webfetchapi.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/request.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/misc.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/context.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/checkin.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/datacategory.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/clientreport.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/csp.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/dsn.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/feedback/form.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/feedback/theme.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/feedback/config.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/user.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/feedback/sendfeedback.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/feedback/index.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/parameterize.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/log.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/metric.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/debugmeta.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/profiling.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/replay.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/package.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/sdkinfo.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/session.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/envelope.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/eventprocessor.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/extra.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/tracing.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/scope.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/mechanism.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/stackframe.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/stacktrace.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/exception.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/thread.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/event.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/integration.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/samplingcontext.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/sdkmetadata.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/transport.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/options.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/integration.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/startspanoptions.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/promisebuffer.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/client.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/sdk.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/tracedata.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/tracing.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/trace.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/spanutils.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/asynccontext/types.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/asynccontext/stackstrategy.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/env.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/worldwide.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/carrier.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/transports/offline.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/server-runtime-client.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/errors.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/utils.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/idlespan.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/timedevent.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/sentryspan.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/sentrynonrecordingspan.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/spanstatus.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/dynamicsamplingcontext.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/measurement.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/sampling.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/logspans.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/spans/capturespan.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/index.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/semanticattributes.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/envelope.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/prepareevent.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/exports.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/currentscopes.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/defaultscopes.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/asynccontext/index.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/session.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/eventprocessors.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/report-dialog.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/api.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/transports/base.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/transports/multiplexed.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/ai/providerskip.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/envtobool.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/scopedata.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/checkin.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/hasspansenabled.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/spans/beforesendspan.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/issentryrequesturl.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/handlecallbackerrors.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/parameterize.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/tunnel.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/ipaddress.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/spanonscope.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/parsesamplerate.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/sdkmetadata.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/lru.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/tracepropagationtargets.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/meta.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/debounce.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/weakref.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/should-ignore-span.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/request.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/constants.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/breadcrumbs.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/integrations/functiontostring.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/integrations/eventfilters.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/integrations/linkederrors.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/integrations/modulemetadata.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/integrations/requestdata.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/integrations/captureconsole.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/integrations/express/types.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/integrations/express/index.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/integrations/dedupe.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/integrations/extraerrordata.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/integrations/rewriteframes.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/integrations/supabase.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/integrations/postgresjs.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/integrations/zoderrors.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/integrations/third-party-errors-filter.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/instrument.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/integrations/console.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/integrations/featureflags/featureflagsintegration.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/integrations/featureflags/growthbook.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/integrations/featureflags/index.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/integrations/conversationid.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/profiling.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/fetch.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/trpc.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/integrations/mcp-server/types.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/integrations/mcp-server/index.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/feedback.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/logs/internal.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/logs/public-api.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/logs/console-integration.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/metrics/internal.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/metrics/public-api.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/integrations/consola.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/vercel-ai/index.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/vercel-ai/types.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/vercel-ai/utils.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/vercel-ai/constants.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/openai/constants.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/openai/types.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/openai/index.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/anthropic-ai/constants.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/anthropic-ai/types.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/anthropic-ai/index.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/google-genai/constants.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/google-genai/types.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/google-genai/index.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/langchain/types.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/langchain/embeddings.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/langchain/index.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/langchain/constants.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/langgraph/types.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/langgraph/index.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/langgraph/constants.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/spans/spanbuffer.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/tracing/spans/hasspanstreamingenabled.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/integrations/spanstreaming.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/aggregate-errors.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/breadcrumb-log-level.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/browser.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/dsn.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/error.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/instrument/console.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/instrument/fetch.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/instrument/globalerror.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/instrument/globalunhandledrejection.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/instrument/handlers.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/polymorphics.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/vue.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/is.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/isbrowser.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/debug-logger.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/misc.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/node.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/normalize.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/normalizationhints.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/wrappedfunction.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/object.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/path.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/severity.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/exports.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/stacktrace.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/node-stack-trace.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/vendor/escapestringforregex.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/string.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/supports.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/syncpromise.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/time.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/envelope.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/clientreport.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/ratelimit.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/baggage.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/url.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/eventbuilder.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/anr.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/propagationcontext.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/vercelwaituntil.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/flushifserverless.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/version.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/debug-ids.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/metadata.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/error.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/runtime.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/browseroptions.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/types-hoist/view-hierarchy.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/build-time-plugins/buildtimeoptionsbase.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/randomsafecontext.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/utils/timer.d.ts","../../node_modules/.pnpm/@sentry+core@10.51.0/node_modules/@sentry/core/build/types/index.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/feedbackasync.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/feedbacksync.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/transports/types.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/client.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/helpers.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/transports/fetch.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/profiling/index.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/stack-parsers.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/eventbuilder.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/userfeedback.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/sdk.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/report-dialog.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/integrations/breadcrumbs.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/integrations/globalhandlers.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/integrations/httpcontext.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/integrations/linkederrors.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/integrations/browserapierrors.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/integrations/browsersession.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/utils/lazyloadintegration.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/exports.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/integrations/reportingobserver.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/integrations/httpclient.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/integrations/contextlines.d.ts","../../node_modules/.pnpm/@sentry-internal+browser-utils@10.51.0/node_modules/@sentry-internal/browser-utils/build/types/metrics/instrument.d.ts","../../node_modules/.pnpm/@sentry-internal+browser-utils@10.51.0/node_modules/@sentry-internal/browser-utils/build/types/metrics/inp.d.ts","../../node_modules/.pnpm/@sentry-internal+browser-utils@10.51.0/node_modules/@sentry-internal/browser-utils/build/types/metrics/browsermetrics.d.ts","../../node_modules/.pnpm/@sentry-internal+browser-utils@10.51.0/node_modules/@sentry-internal/browser-utils/build/types/metrics/elementtiming.d.ts","../../node_modules/.pnpm/@sentry-internal+browser-utils@10.51.0/node_modules/@sentry-internal/browser-utils/build/types/metrics/utils.d.ts","../../node_modules/.pnpm/@sentry-internal+browser-utils@10.51.0/node_modules/@sentry-internal/browser-utils/build/types/metrics/webvitalspans.d.ts","../../node_modules/.pnpm/@sentry-internal+browser-utils@10.51.0/node_modules/@sentry-internal/browser-utils/build/types/instrument/dom.d.ts","../../node_modules/.pnpm/@sentry-internal+browser-utils@10.51.0/node_modules/@sentry-internal/browser-utils/build/types/instrument/history.d.ts","../../node_modules/.pnpm/@sentry-internal+browser-utils@10.51.0/node_modules/@sentry-internal/browser-utils/build/types/types.d.ts","../../node_modules/.pnpm/@sentry-internal+browser-utils@10.51.0/node_modules/@sentry-internal/browser-utils/build/types/getnativeimplementation.d.ts","../../node_modules/.pnpm/@sentry-internal+browser-utils@10.51.0/node_modules/@sentry-internal/browser-utils/build/types/instrument/xhr.d.ts","../../node_modules/.pnpm/@sentry-internal+browser-utils@10.51.0/node_modules/@sentry-internal/browser-utils/build/types/networkutils.d.ts","../../node_modules/.pnpm/@sentry-internal+browser-utils@10.51.0/node_modules/@sentry-internal/browser-utils/build/types/metrics/resourcetiming.d.ts","../../node_modules/.pnpm/@sentry-internal+browser-utils@10.51.0/node_modules/@sentry-internal/browser-utils/build/types/index.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/integrations/graphqlclient.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/integrations/view-hierarchy.d.ts","../../node_modules/.pnpm/@sentry-internal+replay@10.51.0/node_modules/@sentry-internal/replay/build/npm/types/types/request.d.ts","../../node_modules/.pnpm/@sentry-internal+replay@10.51.0/node_modules/@sentry-internal/replay/build/npm/types/types/performance.d.ts","../../node_modules/.pnpm/@sentry-internal+replay@10.51.0/node_modules/@sentry-internal/replay/build/npm/types/util/throttle.d.ts","../../node_modules/.pnpm/@sentry-internal+replay@10.51.0/node_modules/@sentry-internal/replay/build/npm/types/types/rrweb.d.ts","../../node_modules/.pnpm/@sentry-internal+replay@10.51.0/node_modules/@sentry-internal/replay/build/npm/types/types/replayframe.d.ts","../../node_modules/.pnpm/@sentry-internal+replay@10.51.0/node_modules/@sentry-internal/replay/build/npm/types/types/replay.d.ts","../../node_modules/.pnpm/@sentry-internal+replay@10.51.0/node_modules/@sentry-internal/replay/build/npm/types/types/index.d.ts","../../node_modules/.pnpm/@sentry-internal+replay@10.51.0/node_modules/@sentry-internal/replay/build/npm/types/integration.d.ts","../../node_modules/.pnpm/@sentry-internal+replay@10.51.0/node_modules/@sentry-internal/replay/build/npm/types/util/getreplay.d.ts","../../node_modules/.pnpm/@sentry-internal+replay@10.51.0/node_modules/@sentry-internal/replay/build/npm/types/index.d.ts","../../node_modules/.pnpm/@sentry-internal+replay-canvas@10.51.0/node_modules/@sentry-internal/replay-canvas/build/npm/types/canvas.d.ts","../../node_modules/.pnpm/@sentry-internal+replay-canvas@10.51.0/node_modules/@sentry-internal/replay-canvas/build/npm/types/index.d.ts","../../node_modules/.pnpm/@sentry-internal+feedback@10.51.0/node_modules/@sentry-internal/feedback/build/npm/types/core/sendfeedback.d.ts","../../node_modules/.pnpm/@sentry-internal+feedback@10.51.0/node_modules/@sentry-internal/feedback/build/npm/types/core/components/actor.d.ts","../../node_modules/.pnpm/@sentry-internal+feedback@10.51.0/node_modules/@sentry-internal/feedback/build/npm/types/core/types.d.ts","../../node_modules/.pnpm/@sentry-internal+feedback@10.51.0/node_modules/@sentry-internal/feedback/build/npm/types/core/integration.d.ts","../../node_modules/.pnpm/@sentry-internal+feedback@10.51.0/node_modules/@sentry-internal/feedback/build/npm/types/core/getfeedback.d.ts","../../node_modules/.pnpm/@sentry-internal+feedback@10.51.0/node_modules/@sentry-internal/feedback/build/npm/types/modal/integration.d.ts","../../node_modules/.pnpm/@sentry-internal+feedback@10.51.0/node_modules/@sentry-internal/feedback/build/npm/types/screenshot/integration.d.ts","../../node_modules/.pnpm/@sentry-internal+feedback@10.51.0/node_modules/@sentry-internal/feedback/build/npm/types/index.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/tracing/request.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/tracing/browsertracingintegration.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/tracing/reportpageloaded.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/tracing/setactivespan.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/integrations/spanstreaming.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/transports/offline.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/profiling/integration.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/integrations/spotlight.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/integrations/culturecontext.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/integrations/featureflags/launchdarkly/types.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/integrations/featureflags/launchdarkly/integration.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/integrations/featureflags/launchdarkly/index.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/integrations/featureflags/openfeature/types.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/integrations/featureflags/openfeature/integration.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/integrations/featureflags/openfeature/index.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/integrations/featureflags/unleash/types.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/integrations/featureflags/unleash/integration.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/integrations/featureflags/unleash/index.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/integrations/featureflags/growthbook/types.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/integrations/featureflags/growthbook/integration.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/integrations/featureflags/growthbook/index.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/integrations/featureflags/statsig/types.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/integrations/featureflags/statsig/integration.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/integrations/featureflags/statsig/index.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/diagnose-sdk.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/integrations/webworker.d.ts","../../node_modules/.pnpm/@sentry+browser@10.51.0/node_modules/@sentry/browser/build/npm/types/index.d.ts","../../node_modules/.pnpm/@sentry+react@10.51.0_react@19.2.4/node_modules/@sentry/react/build/types/sdk.d.ts","../../node_modules/.pnpm/@sentry+react@10.51.0_react@19.2.4/node_modules/@sentry/react/build/types/error.d.ts","../../node_modules/.pnpm/@sentry+react@10.51.0_react@19.2.4/node_modules/@sentry/react/build/types/profiler.d.ts","../../node_modules/.pnpm/@sentry+react@10.51.0_react@19.2.4/node_modules/@sentry/react/build/types/errorboundary.d.ts","../../node_modules/.pnpm/@sentry+react@10.51.0_react@19.2.4/node_modules/@sentry/react/build/types/redux.d.ts","../../node_modules/.pnpm/@sentry+react@10.51.0_react@19.2.4/node_modules/@sentry/react/build/types/types.d.ts","../../node_modules/.pnpm/@sentry+react@10.51.0_react@19.2.4/node_modules/@sentry/react/build/types/reactrouterv3.d.ts","../../node_modules/.pnpm/@sentry+react@10.51.0_react@19.2.4/node_modules/@sentry/react/build/types/tanstackrouter.d.ts","../../node_modules/.pnpm/@sentry+react@10.51.0_react@19.2.4/node_modules/@sentry/react/build/types/reactrouter.d.ts","../../node_modules/.pnpm/@sentry+react@10.51.0_react@19.2.4/node_modules/@sentry/react/build/types/reactrouter-compat-utils/instrumentation.d.ts","../../node_modules/.pnpm/@sentry+react@10.51.0_react@19.2.4/node_modules/@sentry/react/build/types/reactrouter-compat-utils/utils.d.ts","../../node_modules/.pnpm/@sentry+react@10.51.0_react@19.2.4/node_modules/@sentry/react/build/types/reactrouter-compat-utils/lazy-routes.d.ts","../../node_modules/.pnpm/@sentry+react@10.51.0_react@19.2.4/node_modules/@sentry/react/build/types/reactrouter-compat-utils/index.d.ts","../../node_modules/.pnpm/@sentry+react@10.51.0_react@19.2.4/node_modules/@sentry/react/build/types/reactrouterv6.d.ts","../../node_modules/.pnpm/@sentry+react@10.51.0_react@19.2.4/node_modules/@sentry/react/build/types/reactrouterv7.d.ts","../../node_modules/.pnpm/@sentry+react@10.51.0_react@19.2.4/node_modules/@sentry/react/build/types/index.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/common/pages-router-instrumentation/wrapgetstaticpropswithsentry.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/common/pages-router-instrumentation/wrapgetinitialpropswithsentry.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/common/pages-router-instrumentation/wrapappgetinitialpropswithsentry.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/common/pages-router-instrumentation/wrapdocumentgetinitialpropswithsentry.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/common/pages-router-instrumentation/wraperrorgetinitialpropswithsentry.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/common/pages-router-instrumentation/wrapgetserversidepropswithsentry.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/config/templates/requestasyncstorageshim.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/common/types.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/common/wrapservercomponentwithsentry.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/common/wraproutehandlerwithsentry.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/common/pages-router-instrumentation/wrapapihandlerwithsentryvercelcrons.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/edge/types.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/common/wrapmiddlewarewithsentry.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/common/pages-router-instrumentation/wrappagecomponentwithsentry.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/common/wrapgenerationfunctionwithsentry.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/common/withserveractioninstrumentation.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/common/capturerequesterror.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/common/index.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/common/pages-router-instrumentation/_error.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/common/utils/nextspan.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/client/browsertracingintegration.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/client/routing/approuterroutinginstrumentation.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/client/index.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/baggage/propagation/w3cbaggagepropagator.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/common/anchored-clock.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/common/attributes.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/common/types.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/common/global-error-handler.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/common/logging-error-handler.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/common/time.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/common/hex-to-binary.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/exportresult.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/baggage/utils.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/utils/environment.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/platform/node/environment.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/platform/node/globalthis.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/platform/node/hex-to-base64.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/trace/idgenerator.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/platform/node/randomidgenerator.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/platform/node/performance.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/platform/node/sdk-info.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/platform/node/timer-util.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/platform/node/index.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/platform/index.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/propagation/composite.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/trace/w3ctracecontextpropagator.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/trace/rpc-metadata.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/trace/sampler/alwaysoffsampler.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/trace/sampler/alwaysonsampler.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/trace/sampler/parentbasedsampler.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/trace/sampler/traceidratiobasedsampler.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/trace/suppress-tracing.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/trace/tracestate.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/utils/merge.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/utils/sampling.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/utils/timeout.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/utils/url.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/utils/wrap.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/utils/callback.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/version.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/internal/exporter.d.ts","../../node_modules/.pnpm/@opentelemetry+core@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/index.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/config.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/iresource.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/types.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/resource.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/platform/node/default-service-name.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/platform/node/index.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/platform/index.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/hostdetector.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/hostdetectorsync.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/osdetector.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/osdetectorsync.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/processdetector.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/processdetectorsync.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/serviceinstanceiddetectorsync.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/index.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/platform/index.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/browserdetector.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/envdetector.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/browserdetectorsync.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/envdetectorsync.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/index.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detect-resources.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/index.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/timedevent.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/export/readablespan.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/span.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/spanprocessor.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/idgenerator.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/sampler.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/types.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/export/spanexporter.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/basictracerprovider.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/tracer.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/export/batchspanprocessorbase.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/platform/node/export/batchspanprocessor.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/platform/node/randomidgenerator.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/platform/node/index.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/platform/index.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/export/consolespanexporter.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/export/inmemoryspanexporter.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/export/simplespanprocessor.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/export/noopspanprocessor.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/sampler/alwaysoffsampler.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/sampler/alwaysonsampler.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/sampler/parentbasedsampler.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/sampler/traceidratiobasedsampler.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@1.30.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/index.d.ts","../../node_modules/.pnpm/@sentry+vercel-edge@10.51.0/node_modules/@sentry/vercel-edge/build/types/client.d.ts","../../node_modules/.pnpm/@sentry+vercel-edge@10.51.0/node_modules/@sentry/vercel-edge/build/types/transports/index.d.ts","../../node_modules/.pnpm/@sentry+vercel-edge@10.51.0/node_modules/@sentry/vercel-edge/build/types/types.d.ts","../../node_modules/.pnpm/@sentry+vercel-edge@10.51.0/node_modules/@sentry/vercel-edge/build/types/sdk.d.ts","../../node_modules/.pnpm/@sentry+vercel-edge@10.51.0/node_modules/@sentry/vercel-edge/build/types/integrations/wintercg-fetch.d.ts","../../node_modules/.pnpm/@sentry+vercel-edge@10.51.0/node_modules/@sentry/vercel-edge/build/types/integrations/tracing/vercelai.d.ts","../../node_modules/.pnpm/@sentry+vercel-edge@10.51.0/node_modules/@sentry/vercel-edge/build/types/index.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/edge/wrapapihandlerwithsentry.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/edge/index.d.ts","../../node_modules/.pnpm/@opentelemetry+api-logs@0.214.0/node_modules/@opentelemetry/api-logs/build/src/types/anyvalue.d.ts","../../node_modules/.pnpm/@opentelemetry+api-logs@0.214.0/node_modules/@opentelemetry/api-logs/build/src/types/logrecord.d.ts","../../node_modules/.pnpm/@opentelemetry+api-logs@0.214.0/node_modules/@opentelemetry/api-logs/build/src/types/logger.d.ts","../../node_modules/.pnpm/@opentelemetry+api-logs@0.214.0/node_modules/@opentelemetry/api-logs/build/src/types/loggeroptions.d.ts","../../node_modules/.pnpm/@opentelemetry+api-logs@0.214.0/node_modules/@opentelemetry/api-logs/build/src/types/loggerprovider.d.ts","../../node_modules/.pnpm/@opentelemetry+api-logs@0.214.0/node_modules/@opentelemetry/api-logs/build/src/nooplogger.d.ts","../../node_modules/.pnpm/@opentelemetry+api-logs@0.214.0/node_modules/@opentelemetry/api-logs/build/src/api/logs.d.ts","../../node_modules/.pnpm/@opentelemetry+api-logs@0.214.0/node_modules/@opentelemetry/api-logs/build/src/index.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/src/types.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/src/types_internal.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/src/autoloader.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/src/shimmer.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/src/instrumentation.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/src/platform/node/instrumentation.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/src/platform/node/normalize.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/src/platform/node/index.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/src/platform/index.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/src/instrumentationnodemoduledefinition.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/src/instrumentationnodemodulefile.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/src/utils.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/src/semconvstability.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/src/index.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-http@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-http/build/src/types.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-http@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-http/build/src/http.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-http@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-http/build/src/index.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/integrations/http/sentryhttpinstrumentation.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/integrations/http/index.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/types.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/config.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/resource.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detect-resources.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/envdetector.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/hostdetector.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/osdetector.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/processdetector.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/serviceinstanceiddetector.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/index.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/platform/index.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/noopdetector.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/index.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/resourceimpl.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/default-service-name.d.ts","../../node_modules/.pnpm/@opentelemetry+resources@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/index.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/idgenerator.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/sampler.d.ts","../../node_modules/.pnpm/@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/baggage/propagation/w3cbaggagepropagator.d.ts","../../node_modules/.pnpm/@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/common/anchored-clock.d.ts","../../node_modules/.pnpm/@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/common/attributes.d.ts","../../node_modules/.pnpm/@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/common/types.d.ts","../../node_modules/.pnpm/@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/common/global-error-handler.d.ts","../../node_modules/.pnpm/@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/common/logging-error-handler.d.ts","../../node_modules/.pnpm/@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/common/time.d.ts","../../node_modules/.pnpm/@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/common/timer-util.d.ts","../../node_modules/.pnpm/@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/exportresult.d.ts","../../node_modules/.pnpm/@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/baggage/utils.d.ts","../../node_modules/.pnpm/@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/platform/node/environment.d.ts","../../node_modules/.pnpm/@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/common/globalthis.d.ts","../../node_modules/.pnpm/@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/platform/node/sdk-info.d.ts","../../node_modules/.pnpm/@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/platform/node/index.d.ts","../../node_modules/.pnpm/@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/platform/index.d.ts","../../node_modules/.pnpm/@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/propagation/composite.d.ts","../../node_modules/.pnpm/@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/trace/w3ctracecontextpropagator.d.ts","../../node_modules/.pnpm/@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/trace/rpc-metadata.d.ts","../../node_modules/.pnpm/@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/trace/suppress-tracing.d.ts","../../node_modules/.pnpm/@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/trace/tracestate.d.ts","../../node_modules/.pnpm/@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/utils/merge.d.ts","../../node_modules/.pnpm/@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/utils/timeout.d.ts","../../node_modules/.pnpm/@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/utils/url.d.ts","../../node_modules/.pnpm/@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/utils/callback.d.ts","../../node_modules/.pnpm/@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/utils/configuration.d.ts","../../node_modules/.pnpm/@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/internal/exporter.d.ts","../../node_modules/.pnpm/@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/index.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/timedevent.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/export/readablespan.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/span.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/spanprocessor.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/types.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/basictracerprovider.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/export/spanexporter.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/export/batchspanprocessorbase.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/platform/node/export/batchspanprocessor.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/platform/node/randomidgenerator.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/platform/node/index.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/platform/index.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/export/consolespanexporter.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/export/inmemoryspanexporter.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/export/simplespanprocessor.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/export/noopspanprocessor.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/sampler/alwaysoffsampler.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/sampler/alwaysonsampler.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/sampler/parentbasedsampler.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/sampler/traceidratiobasedsampler.d.ts","../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@2.7.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/index.d.ts","../../node_modules/.pnpm/@sentry+opentelemetry@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemet_3tzapuq2kumkjkm6mupi2undz4/node_modules/@sentry/opentelemetry/build/types/semanticattributes.d.ts","../../node_modules/.pnpm/@sentry+opentelemetry@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemet_3tzapuq2kumkjkm6mupi2undz4/node_modules/@sentry/opentelemetry/build/types/utils/getrequestspandata.d.ts","../../node_modules/.pnpm/@sentry+opentelemetry@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemet_3tzapuq2kumkjkm6mupi2undz4/node_modules/@sentry/opentelemetry/build/types/types.d.ts","../../node_modules/.pnpm/@sentry+opentelemetry@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemet_3tzapuq2kumkjkm6mupi2undz4/node_modules/@sentry/opentelemetry/build/types/custom/client.d.ts","../../node_modules/.pnpm/@sentry+opentelemetry@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemet_3tzapuq2kumkjkm6mupi2undz4/node_modules/@sentry/opentelemetry/build/types/utils/getspankind.d.ts","../../node_modules/.pnpm/@sentry+opentelemetry@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemet_3tzapuq2kumkjkm6mupi2undz4/node_modules/@sentry/opentelemetry/build/types/utils/contextdata.d.ts","../../node_modules/.pnpm/@sentry+opentelemetry@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemet_3tzapuq2kumkjkm6mupi2undz4/node_modules/@sentry/opentelemetry/build/types/utils/spantypes.d.ts","../../node_modules/.pnpm/@sentry+opentelemetry@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemet_3tzapuq2kumkjkm6mupi2undz4/node_modules/@sentry/opentelemetry/build/types/utils/issentryrequest.d.ts","../../node_modules/.pnpm/@sentry+opentelemetry@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemet_3tzapuq2kumkjkm6mupi2undz4/node_modules/@sentry/opentelemetry/build/types/utils/enhancedscwithopentelemetryrootspanname.d.ts","../../node_modules/.pnpm/@sentry+opentelemetry@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemet_3tzapuq2kumkjkm6mupi2undz4/node_modules/@sentry/opentelemetry/build/types/utils/getactivespan.d.ts","../../node_modules/.pnpm/@sentry+opentelemetry@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemet_3tzapuq2kumkjkm6mupi2undz4/node_modules/@sentry/opentelemetry/build/types/trace.d.ts","../../node_modules/.pnpm/@sentry+opentelemetry@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemet_3tzapuq2kumkjkm6mupi2undz4/node_modules/@sentry/opentelemetry/build/types/utils/suppresstracing.d.ts","../../node_modules/.pnpm/@sentry+opentelemetry@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemet_3tzapuq2kumkjkm6mupi2undz4/node_modules/@sentry/opentelemetry/build/types/setupeventcontexttrace.d.ts","../../node_modules/.pnpm/@sentry+opentelemetry@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemet_3tzapuq2kumkjkm6mupi2undz4/node_modules/@sentry/opentelemetry/build/types/asynccontextstrategy.d.ts","../../node_modules/.pnpm/@sentry+opentelemetry@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemet_3tzapuq2kumkjkm6mupi2undz4/node_modules/@sentry/opentelemetry/build/types/contextmanager.d.ts","../../node_modules/.pnpm/@sentry+opentelemetry@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemet_3tzapuq2kumkjkm6mupi2undz4/node_modules/@sentry/opentelemetry/build/types/propagator.d.ts","../../node_modules/.pnpm/@sentry+opentelemetry@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemet_3tzapuq2kumkjkm6mupi2undz4/node_modules/@sentry/opentelemetry/build/types/spanprocessor.d.ts","../../node_modules/.pnpm/@sentry+opentelemetry@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemet_3tzapuq2kumkjkm6mupi2undz4/node_modules/@sentry/opentelemetry/build/types/sampler.d.ts","../../node_modules/.pnpm/@sentry+opentelemetry@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemet_3tzapuq2kumkjkm6mupi2undz4/node_modules/@sentry/opentelemetry/build/types/utils/setupcheck.d.ts","../../node_modules/.pnpm/@sentry+opentelemetry@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemet_3tzapuq2kumkjkm6mupi2undz4/node_modules/@sentry/opentelemetry/build/types/resource.d.ts","../../node_modules/.pnpm/@sentry+opentelemetry@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemet_3tzapuq2kumkjkm6mupi2undz4/node_modules/@sentry/opentelemetry/build/types/exports.d.ts","../../node_modules/.pnpm/@sentry+opentelemetry@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemet_3tzapuq2kumkjkm6mupi2undz4/node_modules/@sentry/opentelemetry/build/types/asynclocalstoragecontextmanager.d.ts","../../node_modules/.pnpm/@sentry+opentelemetry@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemet_3tzapuq2kumkjkm6mupi2undz4/node_modules/@sentry/opentelemetry/build/types/index.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/transports/http-module.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/transports/http.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/transports/index.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/types.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/sdk/client.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/integrations/http/httpserverspansintegration.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/integrations/http/httpserverintegration.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/integrations/node-fetch/index.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/integrations/node-fetch/sentrynodefetchinstrumentation.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/otel/contextmanager.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/otel/logger.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/otel/instrument.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/sdk/index.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/sdk/scope.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/utils/ensureiswrapped.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/integrations/processsession.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/integrations/anr/common.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/integrations/anr/index.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/logs/capture.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/logs/exports.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/integrations/context.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/integrations/noderuntimemetrics.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/integrations/contextlines.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/integrations/local-variables/common.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/integrations/local-variables/index.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/integrations/modules.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/integrations/onuncaughtexception.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/integrations/onunhandledrejection.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/integrations/spotlight.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/integrations/systemerror.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/integrations/childprocess.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/integrations/winston.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/integrations/pino.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/integrations/console.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/sdk/api.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/utils/module.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/utils/addorigintospan.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/utils/getrequesturl.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/sdk/esmloader.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/utils/detection.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/utils/createmissinginstrumentationcontext.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/cron/cron.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/cron/node-cron.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/cron/node-schedule.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/cron/index.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/nodeversion.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/common-exports.d.ts","../../node_modules/.pnpm/@sentry+node-core@10.51.0_@opentelemetry+api@1.9.1_@opentelemetry+core@2.7.1_@opentelemetry+a_ozobh6cuki5rdfbd3ox3kxr4ii/node_modules/@sentry/node-core/build/types/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/types.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/http.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/node-fetch/vendored/types.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/node-fetch/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/fs.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/express.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/fastify/types.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/fastify/v3/types.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/fastify/v3/instrumentation.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/fastify/index.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-graphql@0.62.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-graphql/build/src/types.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-graphql@0.62.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-graphql/build/src/instrumentation.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-graphql@0.62.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-graphql/build/src/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/graphql.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-kafkajs@0.23.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-kafkajs/build/src/types.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-kafkajs@0.23.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-kafkajs/build/src/instrumentation.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-kafkajs@0.23.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-kafkajs/build/src/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/kafka.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-lru-memoizer@0.58.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-lru-memoizer/build/src/instrumentation.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-lru-memoizer@0.58.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-lru-memoizer/build/src/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/lrumemoizer.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-mongodb@0.67.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mongodb/build/src/types.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-mongodb@0.67.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mongodb/build/src/instrumentation.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-mongodb@0.67.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mongodb/build/src/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/mongo.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-mongoose@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mongoose/build/src/types.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-mongoose@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mongoose/build/src/mongoose.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-mongoose@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mongoose/build/src/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/mongoose.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/types.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/instrumentation.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-mysql@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql/build/src/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/mysql.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-mysql2@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql2/build/src/types.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-mysql2@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql2/build/src/instrumentation.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-mysql2@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-mysql2/build/src/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/mysql2.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-ioredis@0.62.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-ioredis/build/src/types.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-ioredis@0.62.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-ioredis/build/src/instrumentation.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-ioredis@0.62.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-ioredis/build/src/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/redis.d.ts","../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/index.d.ts","../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/messages.d.ts","../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/serializer.d.ts","../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/parser.d.ts","../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/index.d.ts","../../node_modules/.pnpm/@types+pg@8.15.6/node_modules/@types/pg/lib/type-overrides.d.ts","../../node_modules/.pnpm/@types+pg@8.15.6/node_modules/@types/pg/index.d.ts","../../node_modules/.pnpm/@types+pg@8.15.6/node_modules/@types/pg/index.d.mts","../../node_modules/.pnpm/@opentelemetry+instrumentation-pg@0.66.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-pg/build/src/types.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-pg@0.66.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-pg/build/src/instrumentation.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-pg@0.66.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-pg/build/src/enums/attributenames.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-pg@0.66.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-pg/build/src/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/postgres.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/postgresjs.d.ts","../../node_modules/.pnpm/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/src/types/anyvalue.d.ts","../../node_modules/.pnpm/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/src/types/logrecord.d.ts","../../node_modules/.pnpm/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/src/types/logger.d.ts","../../node_modules/.pnpm/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/src/types/loggeroptions.d.ts","../../node_modules/.pnpm/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/src/types/loggerprovider.d.ts","../../node_modules/.pnpm/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/src/nooplogger.d.ts","../../node_modules/.pnpm/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/src/nooploggerprovider.d.ts","../../node_modules/.pnpm/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/src/proxylogger.d.ts","../../node_modules/.pnpm/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/src/proxyloggerprovider.d.ts","../../node_modules/.pnpm/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/src/api/logs.d.ts","../../node_modules/.pnpm/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/src/index.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation@0.207.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/src/types.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation@0.207.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/src/types_internal.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation@0.207.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/src/autoloader.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation@0.207.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/src/shimmer.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation@0.207.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/src/instrumentation.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation@0.207.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/src/platform/node/instrumentation.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation@0.207.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/src/platform/node/normalize.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation@0.207.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/src/platform/node/index.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation@0.207.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/src/platform/index.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation@0.207.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/src/instrumentationnodemoduledefinition.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation@0.207.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/src/instrumentationnodemodulefile.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation@0.207.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/src/utils.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation@0.207.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/src/semconvstability.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation@0.207.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation/build/src/index.d.ts","../../node_modules/.pnpm/@prisma+instrumentation@7.6.0_@opentelemetry+api@1.9.1/node_modules/@prisma/instrumentation/dist/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/prisma.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/instrumentation.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/enums/attributenames.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-hapi@0.60.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-hapi/build/src/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/hapi/types.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/hapi/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/hono/instrumentation.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/hono/types.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/hono/index.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-koa@0.62.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-koa/build/src/types.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-koa@0.62.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-koa/build/src/instrumentation.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-koa@0.62.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-koa/build/src/enums/attributenames.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-koa@0.62.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-koa/build/src/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/koa.d.ts","../../node_modules/.pnpm/@types+connect@3.4.38/node_modules/@types/connect/index.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-connect@0.57.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-connect/build/src/internal-types.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-connect@0.57.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-connect/build/src/instrumentation.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-connect@0.57.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-connect/build/src/enums/attributenames.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-connect@0.57.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-connect/build/src/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/connect.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-knex@0.58.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-knex/build/src/types.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-knex@0.58.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-knex/build/src/instrumentation.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-knex@0.58.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-knex/build/src/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/knex.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-tedious@0.33.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-tedious/build/src/types.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-tedious@0.33.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-tedious/build/src/instrumentation.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-tedious@0.33.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-tedious/build/src/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/tedious.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-generic-pool@0.57.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-generic-pool/build/src/instrumentation.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-generic-pool@0.57.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-generic-pool/build/src/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/genericpool.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-dataloader@0.31.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-dataloader/build/src/types.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-dataloader@0.31.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-dataloader/build/src/instrumentation.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-dataloader@0.31.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-dataloader/build/src/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/dataloader.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-amqplib@0.61.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-amqplib/build/src/types.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-amqplib@0.61.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-amqplib/build/src/amqplib.d.ts","../../node_modules/.pnpm/@opentelemetry+instrumentation-amqplib@0.61.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/instrumentation-amqplib/build/src/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/amqplib.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/vercelai/instrumentation.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/vercelai/types.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/vercelai/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/openai/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/anthropic-ai/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/google-genai/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/langchain/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/langgraph/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/featureflagshims/launchdarkly.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/featureflagshims/openfeature.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/featureflagshims/statsig.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/featureflagshims/unleash.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/featureflagshims/growthbook.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/featureflagshims/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/firebase/otel/types.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/firebase/otel/firebaseinstrumentation.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/firebase/otel/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/firebase/firebase.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/firebase/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/sdk/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/sdk/initotel.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/integrations/tracing/index.d.ts","../../node_modules/.pnpm/@sentry+node@10.51.0/node_modules/@sentry/node/build/types/index.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/common/pages-router-instrumentation/wrapapihandlerwithsentry.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/server/index.d.ts","../../node_modules/.pnpm/magic-string@0.30.21/node_modules/magic-string/dist/magic-string.es.d.mts","../../node_modules/.pnpm/@sentry+bundler-plugin-core@5.2.1/node_modules/@sentry/bundler-plugin-core/dist/types/utils.d.ts","../../node_modules/.pnpm/@sentry+bundler-plugin-core@5.2.1/node_modules/@sentry/bundler-plugin-core/dist/types/glob.d.ts","../../node_modules/.pnpm/@sentry+bundler-plugin-core@5.2.1/node_modules/@sentry/bundler-plugin-core/dist/types/logger.d.ts","../../node_modules/.pnpm/@sentry+bundler-plugin-core@5.2.1/node_modules/@sentry/bundler-plugin-core/dist/types/types.d.ts","../../node_modules/.pnpm/@sentry+bundler-plugin-core@5.2.1/node_modules/@sentry/bundler-plugin-core/dist/types/options-mapping.d.ts","../../node_modules/.pnpm/@sentry+bundler-plugin-core@5.2.1/node_modules/@sentry/bundler-plugin-core/dist/types/build-plugin-manager.d.ts","../../node_modules/.pnpm/@sentry+bundler-plugin-core@5.2.1/node_modules/@sentry/bundler-plugin-core/dist/types/debug-id-upload.d.ts","../../node_modules/.pnpm/@sentry+bundler-plugin-core@5.2.1/node_modules/@sentry/bundler-plugin-core/dist/types/index.d.ts","../../node_modules/.pnpm/@sentry+webpack-plugin@5.2.1_webpack@5.106.2/node_modules/@sentry/webpack-plugin/dist/types/webpack4and5.d.ts","../../node_modules/.pnpm/@sentry+webpack-plugin@5.2.1_webpack@5.106.2/node_modules/@sentry/webpack-plugin/dist/types/index.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/config/types.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/config/withsentryconfig/constants.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/config/withsentryconfig/index.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/config/index.d.ts","../../node_modules/.pnpm/@sentry+nextjs@10.51.0_@opentelemetry+core@2.7.1_@opentelemetry+api@1.9.1__@opentelemetry+sdk_eggego64uoup2zvbrrivyvtpla/node_modules/@sentry/nextjs/build/types/index.types.d.ts","../../packages/core-shared/src/instrumentation/otel/pii-fields.ts","../../packages/core-shared/src/instrumentation/sentry/init-client.ts","../../packages/core-shared/src/instrumentation/sentry/init-client-react.ts","../../packages/core-shared/src/instrumentation/otel/current-trace-id.ts","../../packages/core-shared/src/instrumentation/index.ts","../../packages/auth/src/infrastructure/repositories/users.repository.mock.ts","../../packages/auth/src/entities/errors/auth.ts","../../packages/auth/src/di/symbols.ts","../../packages/auth/src/config.ts","../../packages/auth/src/infrastructure/services/authentication.service.mock.ts","../../packages/auth/src/application/use-cases/sign-in.use-case.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/version.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/jsutils/maybe.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/language/source.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/jsutils/objmap.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/jsutils/path.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/jsutils/promiseorvalue.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/language/kinds.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/language/tokenkind.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/language/ast.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/language/location.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/error/graphqlerror.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/language/directivelocation.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/type/directives.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/type/schema.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/type/definition.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/execution/execute.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/graphql.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/type/scalars.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/type/introspection.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/type/validate.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/type/assertname.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/type/index.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/language/printlocation.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/language/lexer.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/language/parser.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/language/printer.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/language/visitor.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/language/predicates.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/language/index.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/execution/subscribe.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/execution/values.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/execution/index.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/subscription/index.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/typeinfo.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/validationcontext.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/validate.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/maxintrospectiondepthrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/specifiedrules.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/executabledefinitionsrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/fieldsoncorrecttyperule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/fragmentsoncompositetypesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/knownargumentnamesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/knowndirectivesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/knownfragmentnamesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/knowntypenamesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/loneanonymousoperationrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/nofragmentcyclesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/noundefinedvariablesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/nounusedfragmentsrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/nounusedvariablesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/overlappingfieldscanbemergedrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/possiblefragmentspreadsrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/providedrequiredargumentsrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/scalarleafsrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/singlefieldsubscriptionsrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/uniqueargumentnamesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/uniquedirectivesperlocationrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/uniquefragmentnamesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/uniqueinputfieldnamesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/uniqueoperationnamesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/uniquevariablenamesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/valuesofcorrecttyperule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/variablesareinputtypesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/variablesinallowedpositionrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/loneschemadefinitionrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/uniqueoperationtypesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/uniquetypenamesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/uniqueenumvaluenamesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/uniquefielddefinitionnamesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/uniqueargumentdefinitionnamesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/uniquedirectivenamesrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/possibletypeextensionsrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/custom/nodeprecatedcustomrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/rules/custom/noschemaintrospectioncustomrule.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/validation/index.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/error/syntaxerror.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/error/locatederror.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/error/index.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/getintrospectionquery.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/getoperationast.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/getoperationroottype.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/introspectionfromschema.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/buildclientschema.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/buildastschema.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/extendschema.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/lexicographicsortschema.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/printschema.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/typefromast.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/valuefromast.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/valuefromastuntyped.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/astfromvalue.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/coerceinputvalue.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/concatast.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/separateoperations.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/stripignoredcharacters.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/typecomparators.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/assertvalidname.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/findbreakingchanges.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/typedquerydocumentnode.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/resolveschemacoordinate.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/utilities/index.d.ts","../../node_modules/.pnpm/graphql@16.13.2/node_modules/graphql/index.d.ts","../../node_modules/.pnpm/graphql-http@1.22.4_graphql@16.13.2/node_modules/graphql-http/lib/common.d.mts","../../node_modules/.pnpm/graphql-http@1.22.4_graphql@16.13.2/node_modules/graphql-http/lib/handler.d.mts","../../node_modules/.pnpm/graphql-http@1.22.4_graphql@16.13.2/node_modules/graphql-http/lib/client.d.mts","../../node_modules/.pnpm/graphql-http@1.22.4_graphql@16.13.2/node_modules/graphql-http/lib/audits/common.d.mts","../../node_modules/.pnpm/graphql-http@1.22.4_graphql@16.13.2/node_modules/graphql-http/lib/audits/server.d.mts","../../node_modules/.pnpm/graphql-http@1.22.4_graphql@16.13.2/node_modules/graphql-http/lib/audits/render.d.mts","../../node_modules/.pnpm/graphql-http@1.22.4_graphql@16.13.2/node_modules/graphql-http/lib/audits/index.d.mts","../../node_modules/.pnpm/graphql-http@1.22.4_graphql@16.13.2/node_modules/graphql-http/lib/index.d.mts","../../node_modules/.pnpm/pino-std-serializers@7.1.0/node_modules/pino-std-serializers/index.d.ts","../../node_modules/.pnpm/sonic-boom@4.2.1/node_modules/sonic-boom/types/index.d.ts","../../node_modules/.pnpm/pino@9.14.0/node_modules/pino/pino.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/primitive/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/built-in/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/key-of-base/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/strict-exclude/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/strict-extract/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/any-array/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/any-record.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/strict-omit/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/writable/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/async-or-sync/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/async-or-sync-type/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/dictionary/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/dictionary-values/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/merge/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/merge-n/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/newable/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/non-never/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/omit-properties/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/opaque/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/prettify/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/path-value/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/is-any/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/is-never/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/create-type-options.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/any-function/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/value-of/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/paths/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/pick-properties/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/safe-dictionary/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/union-to-intersection/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/is-unknown/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/xor/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/mark-optional/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/is-equal-considering-writability.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/is-fully-writable.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/readonly-keys/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/mark-readonly/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/mark-required/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/writable-keys/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/mark-writable/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/is-tuple/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/deep-partial/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/deep-writable/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/buildable/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/deep-non-nullable/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/deep-nullable/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/non-undefinable.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/deep-modify.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/deep-omit/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/strict-deep-omit/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/deep-pick/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/strict-deep-pick/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/deep-readonly/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/deep-required/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/deep-undefinable/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/optional-keys/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/pick-keys/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/required-keys/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/exact/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/non-empty-object/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/array-or-single/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/element-of/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/head/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/non-empty-array/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/readonly-array-or-single/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/tail/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/tuple/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/camel-case/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/deep-camel-case-properties/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/predicate-function/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/predicate-type/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/functions/unreachable-case-error/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/functions/assert/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/functions/create-factory-with-constraint/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/functions/is-exact/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/functions/noop/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/awaited/index.d.ts","../../node_modules/.pnpm/ts-essentials@10.0.3_typescript@5.9.3/node_modules/ts-essentials/dist/index.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/constants.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/types.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/fp/types.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/types.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/add.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addbusinessdays.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/adddays.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addhours.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addisoweekyears.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addmilliseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addminutes.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addmonths.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addquarters.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addweeks.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addyears.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/areintervalsoverlapping.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/clamp.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/closestindexto.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/closestto.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/compareasc.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/comparedesc.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/constructfrom.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/constructnow.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/daystoweeks.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceinbusinessdays.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceincalendardays.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceincalendarisoweekyears.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceincalendarisoweeks.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceincalendarmonths.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceincalendarquarters.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceincalendarweeks.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceincalendaryears.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceindays.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceinhours.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceinisoweekyears.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceinmilliseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceinminutes.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceinmonths.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceinquarters.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceinseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceinweeks.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceinyears.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/eachdayofinterval.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/eachhourofinterval.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/eachminuteofinterval.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/eachmonthofinterval.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/eachquarterofinterval.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/eachweekofinterval.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/eachweekendofinterval.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/eachweekendofmonth.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/eachweekendofyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/eachyearofinterval.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endofday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endofdecade.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endofhour.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endofisoweek.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endofisoweekyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endofminute.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endofmonth.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endofquarter.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endofsecond.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endoftoday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endoftomorrow.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endofweek.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endofyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endofyesterday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/format/formatters.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/format/longformatters.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/format.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/formatdistance.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/formatdistancestrict.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/formatdistancetonow.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/formatdistancetonowstrict.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/formatduration.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/formatiso.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/formatiso9075.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/formatisoduration.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/formatrfc3339.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/formatrfc7231.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/formatrelative.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/fromunixtime.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getdate.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getdayofyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getdaysinmonth.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getdaysinyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getdecade.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/defaultoptions.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getdefaultoptions.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/gethours.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getisoday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getisoweek.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getisoweekyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getisoweeksinyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getmilliseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getminutes.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getmonth.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getoverlappingdaysinintervals.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getquarter.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/gettime.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getunixtime.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getweek.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getweekofmonth.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getweekyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getweeksinmonth.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/hourstomilliseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/hourstominutes.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/hourstoseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/interval.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/intervaltoduration.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/intlformat.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/intlformatdistance.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isafter.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isbefore.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isdate.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isequal.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isexists.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isfirstdayofmonth.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isfriday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isfuture.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/islastdayofmonth.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isleapyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/ismatch.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/ismonday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/ispast.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/issameday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/issamehour.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/issameisoweek.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/issameisoweekyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/issameminute.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/issamemonth.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/issamequarter.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/issamesecond.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/issameweek.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/issameyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/issaturday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/issunday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isthishour.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isthisisoweek.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isthisminute.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isthismonth.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isthisquarter.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isthissecond.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isthisweek.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isthisyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isthursday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/istoday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/istomorrow.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/istuesday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isvalid.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/iswednesday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isweekend.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/iswithininterval.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isyesterday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/lastdayofdecade.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/lastdayofisoweek.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/lastdayofisoweekyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/lastdayofmonth.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/lastdayofquarter.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/lastdayofweek.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/lastdayofyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/format/lightformatters.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/lightformat.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/max.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/milliseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/millisecondstohours.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/millisecondstominutes.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/millisecondstoseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/min.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/minutestohours.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/minutestomilliseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/minutestoseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/monthstoquarters.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/monthstoyears.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/nextday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/nextfriday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/nextmonday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/nextsaturday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/nextsunday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/nextthursday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/nexttuesday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/nextwednesday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/types.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/setter.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parser.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parseiso.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parsejson.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/previousday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/previousfriday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/previousmonday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/previoussaturday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/previoussunday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/previousthursday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/previoustuesday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/previouswednesday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/quarterstomonths.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/quarterstoyears.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/roundtonearesthours.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/roundtonearestminutes.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/secondstohours.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/secondstomilliseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/secondstominutes.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/set.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setdate.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setdayofyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setdefaultoptions.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/sethours.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setisoday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setisoweek.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setisoweekyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setmilliseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setminutes.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setmonth.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setquarter.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setweek.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setweekyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startofday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startofdecade.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startofhour.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startofisoweek.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startofisoweekyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startofminute.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startofmonth.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startofquarter.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startofsecond.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startoftoday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startoftomorrow.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startofweek.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startofweekyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startofyear.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startofyesterday.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/sub.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/subbusinessdays.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/subdays.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/subhours.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/subisoweekyears.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/submilliseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/subminutes.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/submonths.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/subquarters.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/subseconds.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/subweeks.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/subyears.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/todate.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/transpose.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/weekstodays.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/yearstodays.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/yearstomonths.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/yearstoquarters.d.ts","../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/index.d.ts","../../node_modules/.pnpm/@payloadcms+translations@3.81.0/node_modules/@payloadcms/translations/dist/importdatefnslocale.d.ts","../../node_modules/.pnpm/@payloadcms+translations@3.81.0/node_modules/@payloadcms/translations/dist/clientkeys.d.ts","../../node_modules/.pnpm/@payloadcms+translations@3.81.0/node_modules/@payloadcms/translations/dist/languages/en.d.ts","../../node_modules/.pnpm/@payloadcms+translations@3.81.0/node_modules/@payloadcms/translations/dist/utilities/languages.d.ts","../../node_modules/.pnpm/@payloadcms+translations@3.81.0/node_modules/@payloadcms/translations/dist/types.d.ts","../../node_modules/.pnpm/@payloadcms+translations@3.81.0/node_modules/@payloadcms/translations/dist/utilities/gettranslation.d.ts","../../node_modules/.pnpm/@payloadcms+translations@3.81.0/node_modules/@payloadcms/translations/dist/utilities/init.d.ts","../../node_modules/.pnpm/@payloadcms+translations@3.81.0/node_modules/@payloadcms/translations/dist/exports/index.d.ts","../../node_modules/.pnpm/dataloader@2.2.3/node_modules/dataloader/index.d.ts","../../node_modules/.pnpm/@types+busboy@1.5.4/node_modules/@types/busboy/index.d.ts","../../node_modules/.pnpm/@types+json-schema@7.0.15/node_modules/@types/json-schema/index.d.ts","../../node_modules/.pnpm/sharp@0.33.5/node_modules/sharp/lib/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/apierror.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/validationerror.d.ts","../../node_modules/.pnpm/@monaco-editor+loader@1.7.0/node_modules/@monaco-editor/loader/lib/types.d.ts","../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/editor/editor.api.d.ts","../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/editor/editor.main.d.ts","../../node_modules/.pnpm/@monaco-editor+react@4.7.0_monaco-editor@0.55.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@monaco-editor/react/dist/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/preferences/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/forms/field.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/forms/error.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/join.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/globals/config/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/validations.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/config/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/richtext.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/richtext.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/cookies.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/extractjwt.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/config/client.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/config/client.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/globals/config/client.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/config/client.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/languageoptions.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/views/document.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/views/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/email/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/authenticationerror.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/duplicatecollection.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/duplicatefieldname.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/duplicateglobal.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/errordeletingfile.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/fileretrievalerror.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/fileuploaderror.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/forbidden.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/invalidconfiguration.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/invalidfieldname.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/invalidfieldrelationship.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/locked.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/lockedauth.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/missingcollectionlabel.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/missingeditorprop.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/missingfieldinputoptions.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/missingfieldtype.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/missingfile.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/notfound.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/queryerror.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/reservedfieldname.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/unauthorizederror.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/unverifiedemail.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/errors/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/folders/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/query-presets/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/config/types/tasktypes.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/operations/runjobs/runjob/getupdatejobfunction.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/operations/runjobs/runjob/getruntaskfunction.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/config/types/workflowjsontypes.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/config/types/workflowtypes.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/config/global.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/operations/handleschedules/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/operations/runjobs/runjob/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/operations/runjobs/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/localapi.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/config/types/index.d.ts","../../node_modules/.pnpm/pino-abstract-transport@2.0.0/node_modules/pino-abstract-transport/index.d.ts","../../node_modules/.pnpm/colorette@2.0.20/node_modules/colorette/index.d.ts","../../node_modules/.pnpm/pino-pretty@13.1.2/node_modules/pino-pretty/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/logger.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/config/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/bin/generateimportmap/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/tabs.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/forms/form.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/elements/cell.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/adddays.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addhours.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addminutes.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addmonths.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addquarters.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addseconds.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addweeks.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addyears.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getdate.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getday.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/gethours.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getminutes.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getmonth.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getquarter.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getseconds.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/gettime.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getyear.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isafter.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isbefore.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isdate.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/locale/types.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/fp/types.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/types.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/set.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/sethours.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setminutes.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setmonth.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setquarter.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setyear.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/subdays.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/submonths.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/subquarters.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/subweeks.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/subyears.d.mts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/add.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addbusinessdays.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/adddays.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addhours.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addisoweekyears.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addmilliseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addminutes.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addmonths.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addquarters.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addweeks.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/addyears.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/areintervalsoverlapping.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/clamp.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/closestindexto.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/closestto.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/compareasc.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/comparedesc.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/constructfrom.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/constructnow.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/daystoweeks.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceinbusinessdays.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceincalendardays.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceincalendarisoweekyears.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceincalendarisoweeks.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceincalendarmonths.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceincalendarquarters.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceincalendarweeks.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceincalendaryears.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceindays.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceinhours.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceinisoweekyears.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceinmilliseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceinminutes.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceinmonths.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceinquarters.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceinseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceinweeks.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/differenceinyears.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/eachdayofinterval.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/eachhourofinterval.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/eachminuteofinterval.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/eachmonthofinterval.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/eachquarterofinterval.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/eachweekofinterval.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/eachweekendofinterval.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/eachweekendofmonth.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/eachweekendofyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/eachyearofinterval.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/endofday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/endofdecade.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/endofhour.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/endofisoweek.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/endofisoweekyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/endofminute.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/endofmonth.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/endofquarter.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/endofsecond.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/endoftoday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/endoftomorrow.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/endofweek.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/endofyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/endofyesterday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/_lib/format/formatters.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/_lib/format/longformatters.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/format.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/formatdistance.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/formatdistancestrict.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/formatdistancetonow.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/formatdistancetonowstrict.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/formatduration.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/formatiso.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/formatiso9075.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/formatisoduration.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/formatrfc3339.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/formatrfc7231.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/formatrelative.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/fromunixtime.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getdate.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getdayofyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getdaysinmonth.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getdaysinyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getdecade.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/_lib/defaultoptions.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getdefaultoptions.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/gethours.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getisoday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getisoweek.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getisoweekyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getisoweeksinyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getmilliseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getminutes.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getmonth.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getoverlappingdaysinintervals.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getquarter.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/gettime.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getunixtime.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getweek.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getweekofmonth.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getweekyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getweeksinmonth.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/hourstomilliseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/hourstominutes.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/hourstoseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/interval.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/intervaltoduration.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/intlformat.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/intlformatdistance.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isafter.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isbefore.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isdate.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isequal.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isexists.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isfirstdayofmonth.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isfriday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isfuture.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/islastdayofmonth.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isleapyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/ismatch.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/ismonday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/ispast.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/issameday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/issamehour.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/issameisoweek.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/issameisoweekyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/issameminute.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/issamemonth.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/issamequarter.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/issamesecond.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/issameweek.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/issameyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/issaturday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/issunday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isthishour.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isthisisoweek.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isthisminute.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isthismonth.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isthisquarter.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isthissecond.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isthisweek.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isthisyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isthursday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/istoday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/istomorrow.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/istuesday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isvalid.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/iswednesday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isweekend.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/iswithininterval.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/isyesterday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/lastdayofdecade.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/lastdayofisoweek.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/lastdayofisoweekyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/lastdayofmonth.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/lastdayofquarter.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/lastdayofweek.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/lastdayofyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/_lib/format/lightformatters.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/lightformat.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/max.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/milliseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/millisecondstohours.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/millisecondstominutes.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/millisecondstoseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/min.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/minutestohours.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/minutestomilliseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/minutestoseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/monthstoquarters.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/monthstoyears.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/nextday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/nextfriday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/nextmonday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/nextsaturday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/nextsunday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/nextthursday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/nexttuesday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/nextwednesday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/types.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/setter.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parser.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse/_lib/parsers.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parse.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parseiso.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/parsejson.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/previousday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/previousfriday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/previousmonday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/previoussaturday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/previoussunday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/previousthursday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/previoustuesday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/previouswednesday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/quarterstomonths.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/quarterstoyears.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/roundtonearesthours.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/roundtonearestminutes.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/secondstohours.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/secondstomilliseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/secondstominutes.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/set.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setdate.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setdayofyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setdefaultoptions.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/sethours.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setisoday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setisoweek.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setisoweekyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setmilliseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setminutes.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setmonth.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setquarter.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setweek.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setweekyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/setyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startofday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startofdecade.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startofhour.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startofisoweek.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startofisoweekyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startofminute.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startofmonth.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startofquarter.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startofsecond.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startoftoday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startoftomorrow.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startofweek.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startofweekyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startofyear.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startofyesterday.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/sub.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/subbusinessdays.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/subdays.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/subhours.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/subisoweekyears.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/submilliseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/subminutes.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/submonths.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/subquarters.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/subseconds.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/subweeks.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/subyears.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/todate.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/transpose.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/weekstodays.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/yearstodays.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/yearstomonths.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/yearstoquarters.d.ts","../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/index.d.mts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/date_utils.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/input_time.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/day.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/week_number.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/week.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/month.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/month_dropdown_options.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/month_dropdown.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/month_year_dropdown_options.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/month_year_dropdown.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/time.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/year.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/year_dropdown_options.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/year_dropdown.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/click_outside_wrapper.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/calendar.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/calendar_icon.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/portal.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/tab_loop.d.ts","../../node_modules/.pnpm/@floating-ui+utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.d.mts","../../node_modules/.pnpm/@floating-ui+core@1.7.5/node_modules/@floating-ui/core/dist/floating-ui.core.d.mts","../../node_modules/.pnpm/@floating-ui+utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.d.mts","../../node_modules/.pnpm/@floating-ui+dom@1.7.6/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.mts","../../node_modules/.pnpm/@floating-ui+react-dom@2.1.8_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.d.mts","../../node_modules/.pnpm/@floating-ui+react@0.27.19_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react/dist/floating-ui.react.d.mts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/with_floating.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/popper_component.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/calendar_container.d.ts","../../node_modules/.pnpm/react-datepicker@7.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/elements/datepicker.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/elements/editmenuitems.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/elements/nav.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/elements/previewbutton.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/elements/publishbutton.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/elements/savebutton.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/elements/savedraftbutton.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/elements/status.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/elements/table.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/elements/unpublishbutton.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/elements/upload.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/elements/withserversideprops.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/array.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/blocks.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/checkbox.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/code.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/collapsible.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/date.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/email.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/group.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/hidden.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/json.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/number.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/point.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/radio.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/relationship.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/row.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/select.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/text.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/textarea.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/ui.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/fields/upload.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/forms/description.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/forms/diff.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/forms/label.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/forms/rowlabel.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/basefields/slug/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/transformcolumnpreferences.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/functions/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/views/dashboard.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/views/folderlist.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/views/list.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/admin/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/me.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/refresh.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/uploads/optionallyappendmetadata.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/uploads/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/forgotpassword.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/login.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/resetpassword.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/unlock.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/count.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/countversions.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/create.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/delete.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/deletebyid.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/find.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/hooks/afterread/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/findbyid.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/finddistinct.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/findversionbyid.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/local/find.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/findversions.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/update.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/updatebyid.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/utilities/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/config/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/types/constants.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/types/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/auth.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/local/forgotpassword.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/local/login.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/local/resetpassword.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/local/unlock.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/local/verifyemail.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/local/count.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/local/create.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/local/delete.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/local/duplicate.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/local/findbyid.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/local/finddistinct.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/local/findversionbyid.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/local/findversions.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/local/restoreversion.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/local/update.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/globals/operations/local/countversions.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/globals/operations/findone.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/globals/operations/local/findone.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/globals/operations/local/findversionbyid.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/globals/operations/local/findversions.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/globals/operations/local/restoreversion.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/globals/operations/local/update.d.ts","../../node_modules/.pnpm/croner@9.1.0/node_modules/croner/dist/croner.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/kv/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/crypto.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/local/countversions.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/basefields/accountlock.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/basefields/apikey.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/basefields/auth.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/basefields/email.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/basefields/sessions.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/basefields/username.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/basefields/verification.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/executeaccess.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/executeauthstrategies.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/extractaccessfrompermission.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/getaccessresults.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/getfieldstosign.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/getloginoptions.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/jwt.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/access.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/init.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/logout.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/registerfirstuser.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/operations/verifyemail.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/strategies/jwt.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/strategies/local/incrementloginattempts.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/auth/strategies/local/resetloginattempts.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/bin/generateimportmap/iteratefields.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/bin/migrate.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/dataloader.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/docaccess.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/duplicate.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/collections/operations/restoreversion.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/config/build.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/config/defaults.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/config/orderable/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/config/sanitize.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/combinequeries.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/createdatabaseadapter.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/defaultbegintransaction.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/flattenwheretooperators.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/queryvalidation/types.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/getlocalizedpaths.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/migrations/createmigration.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/migrations/findmigrationdir.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/migrations/getmigrations.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/migrations/getpredefinedmigration.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/migrations/migrate.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/migrations/migratedown.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/migrations/migraterefresh.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/migrations/migratereset.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/migrations/migratestatus.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/migrations/migrationscollection.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/migrations/migrationtemplate.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/migrations/readmigrationfiles.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/migrations/writemigrationindex.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/queryvalidation/validatequerypaths.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/database/queryvalidation/validatesearchparams.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/basefields/baseblockfields.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/basefields/baseidfield.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/config/sanitize.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/getdefaultvalue.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/hooks/afterchange/traversefields.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/hooks/afterread/promise.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/hooks/afterread/traversefields.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/hooks/beforechange/traversefields.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/hooks/beforevalidate/traversefields.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/fields/sortablefieldtypes.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/folders/utils/getfolderdata.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/globals/operations/docaccess.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/globals/operations/findversionbyid.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/globals/operations/findversions.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/globals/operations/restoreversion.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/globals/operations/update.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/kv/adapters/databasekvadapter.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/kv/adapters/inmemorykvadapter.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/config/collection.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/errors/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/operations/handleschedules/countrunnableoractivejobsforqueue.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/operations/runjobs/runjob/importhandlerpath.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/queues/utilities/getcurrentdate.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/translations/getlocali18n.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/uploads/getfilebypath.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/utility.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/header.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/readable.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/fetch.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/formdata.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/connector.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/client-stats.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/client.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/errors.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/dispatcher.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/global-dispatcher.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/global-origin.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/pool-stats.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/pool.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/handlers.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/balanced-pool.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/round-robin-pool.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/h2c-client.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/agent.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/mock-interceptor.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/mock-call-history.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/mock-agent.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/mock-client.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/mock-pool.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/snapshot-agent.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/mock-errors.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/proxy-agent.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/socks5-proxy-agent.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/env-http-proxy-agent.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/retry-handler.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/retry-agent.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/api.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/cache-interceptor.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/interceptors.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/util.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/cookies.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/patch.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/websocket.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/eventsource.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/diagnostics-channel.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/content-type.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/cache.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/types/index.d.ts","../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/uploads/safefetch.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/adddataandfiletorequest.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/addlocalestorequest.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/canaccessadmin.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/committransaction.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/configtojsonschema.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/createarrayfromcommadelineated.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/createlocalreq.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/createpayloadrequest.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/deepcopyobject.d.ts","../../node_modules/.pnpm/deepmerge@4.3.1/node_modules/deepmerge/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/deepmerge.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/dependencies/dependencychecker.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/dependencies/getdependencies.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/dynamicimport.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/escaperegexp.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/findup.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/flattenallfields.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/flattentoplevelfields.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/formaterrors.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/formatlabels.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/getblockselect.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/getcollectionidfieldtypes.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/getfieldbypath.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/getobjectdotnotation.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/getrequestlanguage.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/handleendpoints.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/headerswithcors.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/inittransaction.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/isentityhidden.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/isolateobjectproperty.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/isplainobject.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/isvalidid.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/killtransaction.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/logerror.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/mapasync.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/mergeheaders.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/parsedocumentid.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/sanitizefallbacklocale.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/sanitizejoinparams.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/sanitizepopulateparam.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/sanitizeselectparam.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/stripunselectedfields.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/utilities/traversefields.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/buildcollectionfields.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/buildglobalfields.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/buildversioncompoundindexes.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/defaults.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/deletecollectionversions.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/drafts/appendversiontoquerykey.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/drafts/getquerydraftssort.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/enforcemaxversions.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/getlatestcollectionversion.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/getlatestglobalversion.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/migrations/localizestatus/mongo/down.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/migrations/localizestatus/mongo/up.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/migrations/localizestatus/mongo/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/migrations/localizestatus/sql/down.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/migrations/localizestatus/sql/up.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/migrations/localizestatus/sql/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/migrations/localizestatus/index.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/saveversion.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/versions/schedule/types.d.ts","../../node_modules/.pnpm/@payloadcms+translations@3.81.0/node_modules/@payloadcms/translations/dist/utilities/deepmergesimple.d.ts","../../node_modules/.pnpm/@payloadcms+translations@3.81.0/node_modules/@payloadcms/translations/dist/exports/utilities.d.ts","../../node_modules/.pnpm/payload@3.81.0_graphql@16.13.2_typescript@5.9.3/node_modules/payload/dist/index.d.ts","../../packages/core-shared/src/jobs/job-queue.interface.ts","../../packages/core-shared/src/jobs/symbols.ts","../../packages/core-shared/src/jobs/in-memory-job-queue.ts","../../packages/core-shared/src/jobs/payload-job-queue.ts","../../packages/core-shared/src/jobs/index.ts","../../packages/core-shared/src/di/bind-context.ts","../../packages/core-shared/src/di/index.ts","../../packages/auth/src/events/user-signed-up.event.ts","../../packages/auth/src/application/use-cases/sign-up.use-case.ts","../../packages/auth/src/application/use-cases/sign-out.use-case.ts","../../packages/auth/src/entities/errors/common.ts","../../packages/auth/src/interface-adapters/controllers/sign-in.controller.ts","../../packages/auth/src/interface-adapters/controllers/sign-up.controller.ts","../../packages/auth/src/interface-adapters/controllers/sign-out.controller.ts","../../packages/auth/src/di/module.ts","../../packages/auth/src/di/container.ts","../../node_modules/.pnpm/@trpc+server@11.16.0_typescript@5.9.3/node_modules/@trpc/server/dist/rpc.d.mts","../../packages/core-shared/src/trpc/define-error-middleware.ts","../../packages/auth/src/integrations/api/procedures.ts","../../packages/auth/src/integrations/api/router.ts","../../packages/core-shared/src/audit/truncate-ip.ts","../../packages/core-shared/src/audit/index.ts","../../packages/core-dsr/src/dsr-types.ts","../../packages/core-dsr/src/data-export.interface.ts","../../packages/core-dsr/src/data-delete.interface.ts","../../packages/core-dsr/src/data-rectify.interface.ts","../../packages/core-dsr/src/processing-restriction.interface.ts","../../packages/core-shared/src/payload/access/is-admin.ts","../../packages/core-shared/src/payload/fields/slug-field.ts","../../packages/core-shared/src/payload/fields/seo-fields.ts","../../packages/core-shared/src/payload/blocks/cta.ts","../../packages/core-shared/src/payload/hooks/set-published-at.ts","../../packages/core-shared/src/payload/hooks/slugify-if-missing.ts","../../packages/core-shared/src/payload/pii-types.ts","../../packages/core-shared/src/payload/retention-types.ts","../../packages/core-shared/src/payload/subject-linkage-types.ts","../../packages/core-shared/src/payload/retention-purge/retention-purge.job.ts","../../packages/core-shared/src/payload/index.ts","../../packages/core-dsr/src/dsr-collection-custom.ts","../../packages/core-dsr/src/payload-data-export.ts","../../packages/core-dsr/src/payload-data-delete.ts","../../packages/core-dsr/src/payload-data-rectify.ts","../../packages/core-dsr/src/payload-processing-restriction.ts","../../packages/core-dsr/src/in-memory-data-export.ts","../../packages/core-dsr/src/in-memory-data-delete.ts","../../packages/core-dsr/src/in-memory-data-rectify.ts","../../packages/core-dsr/src/in-memory-processing-restriction.ts","../../packages/core-dsr/src/di/bind-production.ts","../../packages/core-dsr/src/di/bind-dev-seed.ts","../../packages/core-dsr/src/handlers/handler-types.ts","../../packages/core-dsr/src/handlers/export-handler.ts","../../packages/core-dsr/src/handlers/delete-handler.ts","../../packages/core-dsr/src/handlers/rectify-handler.ts","../../packages/core-dsr/src/handlers/restrict-handler.ts","../../packages/core-dsr/src/dsr.router.ts","../../packages/core-dsr/src/index.ts","../../packages/core-consent/src/consent-types.ts","../../packages/core-consent/src/consent.interface.ts","../../packages/core-shared/src/conformance/coverage.ts","../../packages/core-shared/src/conformance/define-feature.ts","../../packages/core-shared/src/conformance/production-use-case.ts","../../packages/core-shared/src/conformance/conformance-error.ts","../../packages/core-shared/src/conformance/assert-bindings.ts","../../packages/core-shared/src/conformance/wire-use-case.ts","../../packages/core-shared/src/conformance/index.ts","../../packages/core-consent/src/with-consent.ts","../../packages/core-consent/src/in-memory-consent.ts","../../packages/core-consent/src/payload-consent.ts","../../packages/core-consent/src/di/symbols.ts","../../packages/core-consent/src/di/bind-production.ts","../../packages/core-consent/src/di/bind-dev-seed.ts","../../packages/core-consent/src/migration.ts","../../packages/core-consent/src/entities/errors/consent.ts","../../packages/core-consent/src/handlers/grant.handler.ts","../../packages/core-consent/src/handlers/withdraw.handler.ts","../../packages/core-consent/src/handlers/is-granted.handler.ts","../../packages/core-consent/src/handlers/get-categories.handler.ts","../../packages/core-consent/src/consent.router.ts","../../packages/core-consent/src/index.ts","../../packages/core-api/src/root.ts","../../packages/core-api/src/index.ts","./src/app/api/trpc/[trpc]/route.ts","../../packages/auth/src/feature.manifest.ts","../../packages/auth/src/index.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/entity.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/cache/core/types.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/cache/core/cache.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/logger.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/casing.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/table.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/operations.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/subquery.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/query-builders/select.types.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sql/sql.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/utils.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sql/expressions/conditions.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sql/expressions/select.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sql/expressions/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sql/functions/aggregate.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/query-builders/query-builder.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sql/functions/vector.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sql/functions/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sql/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/checks.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/sequence.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/int.common.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/bigintt.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/boolean.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/bytes.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/custom.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/date-duration.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/decimal.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/double-precision.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/duration.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/integer.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/json.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/date.common.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/localdate.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/localtime.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/real.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/relative-duration.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/smallint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/text.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/timestamp.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/timestamptz.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/uuid.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/all.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/indexes.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/roles.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/policies.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/primary-keys.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/unique-constraint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/table.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/foreign-keys.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/common.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/bigint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/columns/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/view-base.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/relations.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/session.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/query-builders/count.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/query-promise.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/runnable-query.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/query-builders/query.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/query-builders/raw.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/subquery.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/db.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/session.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/query-builders/delete.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/query-builders/update.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/query-builders/insert.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/query-builders/refresh-materialized-view.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/query-builders/select.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/query-builders/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/dialect.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/query-builders/query-builder.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/view-common.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/view.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/query-builders/select.types.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/alias.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/schema.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/utils.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/gel-core/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/checks.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/binary.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/boolean.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/char.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/custom.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/date.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/datetime.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/decimal.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/double.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/enum.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/float.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/int.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/json.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/mediumint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/real.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/serial.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/smallint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/text.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/time.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/date.common.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/timestamp.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/tinyint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/varbinary.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/varchar.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/year.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/all.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/indexes.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/primary-keys.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/unique-constraint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/table.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/foreign-keys.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/common.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/bigint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/columns/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/migrator.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/query-builders/delete.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/subquery.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/view-base.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/query-builders/select.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/query-builders/query-builder.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/query-builders/update.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/query-builders/insert.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/dialect.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/query-builders/count.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/query-builders/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/query-builders/query.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/db.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/session.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/view-common.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/view.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/query-builders/select.types.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/alias.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/schema.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/utils.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql-core/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/checks.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/bigserial.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/boolean.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/char.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/cidr.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/custom.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/date.common.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/date.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/double-precision.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/inet.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/sequence.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/int.common.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/integer.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/timestamp.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/interval.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/json.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/jsonb.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/line.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/macaddr.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/macaddr8.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/numeric.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/point.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/postgis_extension/geometry.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/real.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/serial.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/smallint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/smallserial.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/text.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/time.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/uuid.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/varchar.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/bit.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/halfvec.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/sparsevec.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/vector.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/all.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/indexes.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/roles.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/policies.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/primary-keys.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/unique-constraint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/table.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/foreign-keys.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/common.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/bigint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/enum.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/columns/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/view-base.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/query-builders/count.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/query-builders/query.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/query-builders/raw.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/query-builders/refresh-materialized-view.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/subquery.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/db.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/session.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/query-builders/delete.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/query-builders/update.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/query-builders/insert.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/query-builders/select.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/query-builders/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/dialect.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/query-builders/query-builder.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/view-common.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/view.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/query-builders/select.types.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/alias.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/schema.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/utils.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/utils/array.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/utils/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/pg-core/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/binary.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/boolean.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/char.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/custom.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/date.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/datetime.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/decimal.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/double.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/enum.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/float.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/int.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/json.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/mediumint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/real.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/serial.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/smallint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/text.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/time.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/date.common.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/timestamp.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/tinyint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/varbinary.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/varchar.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/vector.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/year.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/all.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/indexes.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/primary-keys.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/unique-constraint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/table.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/common.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/bigint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/columns/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/query-builders/delete.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/query-builders/update.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/query-builders/insert.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/dialect.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/cache/core/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore/session.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore/driver.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/query-builders/count.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/subquery.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/query-builders/select.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/query-builders/query-builder.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/query-builders/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/db.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/session.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/query-builders/select.types.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/alias.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/schema.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/utils.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore-core/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/checks.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/columns/custom.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/indexes.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/primary-keys.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/unique-constraint.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/view-base.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/query-builders/count.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/query-builders/query.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/subquery.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/db.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/query-builders/raw.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/session.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/query-builders/delete.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/query-builders/update.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/query-builders/insert.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/query-builders/select.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/query-builders/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/dialect.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/view.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/utils.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/columns/integer.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/columns/numeric.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/columns/real.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/columns/text.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/columns/all.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/table.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/foreign-keys.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/columns/common.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/columns/blob.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/columns/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/query-builders/select.types.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/alias.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/sqlite-core/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/column-builder.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/column.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/alias.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/errors.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/view-common.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/batch.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/libsql/driver-core.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/libsql/driver.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/libsql/session.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/libsql/index.d.ts","../../node_modules/.pnpm/pg-types@4.1.0/node_modules/pg-types/lib/builtins.d.ts","../../node_modules/.pnpm/pg-types@4.1.0/node_modules/pg-types/index.d.ts","../../node_modules/.pnpm/@types+pg@8.10.2/node_modules/@types/pg/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/node-postgres/session.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/node-postgres/driver.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/node-postgres/index.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/queries/buildquery.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql2/session.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql2/driver.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/mysql2/index.d.ts","../../node_modules/.pnpm/drizzle-orm@0.44.7_@opentelemetry+api@1.9.1_@types+pg@8.10.2_pg@8.16.3/node_modules/drizzle-orm/singlestore/index.d.ts","../../node_modules/.pnpm/drizzle-kit@0.31.7/node_modules/drizzle-kit/api.d.mts","../../node_modules/.pnpm/@types+pg@8.6.1/node_modules/@types/pg/index.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/queries/operatormap.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/find/chainmethods.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/types.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/postgres/columntocodeconverter.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/count.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/countglobalversions.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/countversions.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/create.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/createglobal.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/createglobalversion.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/createtablename.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/createversion.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/deletemany.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/deleteone.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/deleteversions.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/destroy.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/find.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/finddistinct.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/findglobal.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/findglobalversions.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/findone.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/findversions.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/migrate.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/migratedown.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/migratefresh.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/migraterefresh.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/migratereset.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/migratestatus.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/queries/parseparams.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/querydrafts.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/schema/builddrizzlerelations.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/schema/buildrawschema.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/transactions/begintransaction.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/transactions/committransaction.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/transactions/rollbacktransaction.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/updateglobal.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/updateglobalversion.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/updatejobs.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/updatemany.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/updateone.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/updateversion.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/upsert.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/upsertrow/types.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/upsertrow/index.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/utilities/blockstojsonmigrator.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/utilities/buildcreatemigration.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/utilities/buildindexname.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/utilities/createschemagenerator.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/utilities/extenddrizzletable.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/utilities/executeschemahooks.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/utilities/haslocalestable.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/utilities/pushdevschema.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/utilities/validateexistingblockisidentical.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/index.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/postgres/types.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/postgres/countdistinct.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/postgres/createdatabase.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/postgres/createextensions.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/postgres/createjsonquery/index.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/postgres/defaultsnapshot.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/postgres/deletewhere.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/postgres/dropdatabase.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/postgres/execute.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/postgres/init.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/postgres/insert.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/postgres/predefinedmigrations/v2-v3/index.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/postgres/requiredrizzlekit.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/postgres/schema/geometrycolumn.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/exports/postgres.d.ts","../../node_modules/.pnpm/@payloadcms+drizzle@3.81.0_@opentelemetry+api@1.9.1_@types+pg@8.10.2_payload@3.81.0_graphql@1_tgm6dyepucyeub76gyunlw55fa/node_modules/@payloadcms/drizzle/dist/exports/types-deprecated.d.ts","../../node_modules/.pnpm/@payloadcms+db-postgres@3.81.0_@opentelemetry+api@1.9.1_payload@3.81.0_graphql@16.13.2_typescript@5.9.3_/node_modules/@payloadcms/db-postgres/dist/types.d.ts","../../node_modules/.pnpm/@payloadcms+db-postgres@3.81.0_@opentelemetry+api@1.9.1_payload@3.81.0_graphql@16.13.2_typescript@5.9.3_/node_modules/@payloadcms/db-postgres/dist/index.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/nodes/lexicalelementnode.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/nodes/lexicaltextnode.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/lexicalselection.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/nodes/lexicalrootnode.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/lexicaleditorstate.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/lexicalconstants.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/lexicalnodestate.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/lexicalupdatetags.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/lexicaleditor.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/lexicalnode.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/caret/lexicalcaret.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/caret/lexicalcaretutils.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/lexicalcommands.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/lexicalevents.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/lexicalnormalization.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/lexicalupdates.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/lexicalutils.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/nodes/artificialnode.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/nodes/lexicaldecoratornode.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/nodes/lexicallinebreaknode.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/nodes/lexicalparagraphnode.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/nodes/lexicaltabnode.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/extension-core/internal.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/extension-core/types.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/extension-core/defineextension.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/extension-core/safecast.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/extension-core/shallowmergeconfig.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/extension-core/index.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/utils/classnames.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/utils/mergeregister.d.ts","../../node_modules/.pnpm/lexical@0.41.0/node_modules/lexical/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/packages/@lexical/markdown/markdowntransformers.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/packages/@lexical/markdown/markdownshortcuts.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/packages/@lexical/markdown/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/lexicaltohtml_deprecated/converter/types.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/typesserver.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/lexical/config/types.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/lexical/plugins/slashmenu/lexicaltypeaheadmenuplugin/types.d.ts","../../node_modules/.pnpm/@lexical+rich-text@0.41.0/node_modules/@lexical/rich-text/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/blockquote/server/index.d.ts","../../node_modules/.pnpm/@lexical+react@0.41.0_react-dom@19.2.4_react@19.2.4__react@19.2.4_yjs@13.6.30/node_modules/@lexical/react/lexicaldecoratorblocknode.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/server/nodes/blocksnode.d.ts","../../node_modules/.pnpm/@lexical+table@0.41.0/node_modules/@lexical/table/lexicaltablecellnode.d.ts","../../node_modules/.pnpm/@lexical+table@0.41.0/node_modules/@lexical/table/lexicaltablecommands.d.ts","../../node_modules/.pnpm/@preact+signals-core@1.14.1/node_modules/@preact/signals-core/dist/signals-core.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/signals.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/namedsignals.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/autofocusextension.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/cleareditorextension.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/config.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/decoratortextextension.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/editorstateextension.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/getextensiondependencyfromeditor.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/getpeerdependencyfromeditor.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/horizontalruleextension.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/initialstateextension.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/extensionrep.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/lexicalbuilder.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/nodeselectionextension.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/tabindentationextension.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/watchedsignal.d.ts","../../node_modules/.pnpm/@lexical+extension@0.41.0/node_modules/@lexical/extension/index.d.ts","../../node_modules/.pnpm/@lexical+table@0.41.0/node_modules/@lexical/table/lexicaltableextension.d.ts","../../node_modules/.pnpm/@lexical+table@0.41.0/node_modules/@lexical/table/lexicaltableselection.d.ts","../../node_modules/.pnpm/@lexical+table@0.41.0/node_modules/@lexical/table/lexicaltableselectionhelpers.d.ts","../../node_modules/.pnpm/@lexical+table@0.41.0/node_modules/@lexical/table/lexicaltableobserver.d.ts","../../node_modules/.pnpm/@lexical+table@0.41.0/node_modules/@lexical/table/lexicaltablenode.d.ts","../../node_modules/.pnpm/@lexical+table@0.41.0/node_modules/@lexical/table/lexicaltablepluginhelpers.d.ts","../../node_modules/.pnpm/@lexical+table@0.41.0/node_modules/@lexical/table/lexicaltablerownode.d.ts","../../node_modules/.pnpm/@lexical+table@0.41.0/node_modules/@lexical/table/lexicaltableutils.d.ts","../../node_modules/.pnpm/@lexical+table@0.41.0/node_modules/@lexical/table/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/experimental_table/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/heading/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/horizontalrule/server/nodes/horizontalrulenode.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/link/nodes/types.d.ts","../../node_modules/.pnpm/@lexical+list@0.41.0/node_modules/@lexical/list/lexicallistitemnode.d.ts","../../node_modules/.pnpm/@lexical+list@0.41.0/node_modules/@lexical/list/lexicallistnode.d.ts","../../node_modules/.pnpm/@lexical+list@0.41.0/node_modules/@lexical/list/checklist.d.ts","../../node_modules/.pnpm/@lexical+list@0.41.0/node_modules/@lexical/list/formatlist.d.ts","../../node_modules/.pnpm/@lexical+list@0.41.0/node_modules/@lexical/list/utils.d.ts","../../node_modules/.pnpm/@lexical+list@0.41.0/node_modules/@lexical/list/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/lists/plugin/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/relationship/server/nodes/relationshipnode.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/upload/server/nodes/uploadnode.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/nodetypes.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/server/nodes/inlineblocksnode.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/client/nodes/inlineblocksnode.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/lexical/config/client/editorconfigprovider.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/toolbars/types.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/typesclient.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/utilities/buildinitialstate.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/types.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/align/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/premade/codeblock/component/code.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/premade/codeblock/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/blocks/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/htmltolexical/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/lexicaltohtml/shared/types.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/lexicaltohtml/async/types.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/lexicaltohtml/async/field/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/lexicaltohtml_deprecated/converter/converters/linebreak.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/lexicaltohtml_deprecated/converter/converters/paragraph.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/lexicaltohtml_deprecated/converter/converters/tab.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/lexicaltohtml_deprecated/converter/converters/text.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/lexicaltohtml_deprecated/converter/defaultconverters.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/lexicaltohtml_deprecated/converter/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/lexicaltohtml_deprecated/field/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/lexicaltohtml_deprecated/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/lexicaltomarkdown/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/markdowntolexical/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/utilities/payloadpopulatefn.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/converters/utilities/restpopulatefn.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/debug/jsxconverter/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/debug/testrecorder/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/debug/treeview/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/format/bold/feature.server.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/format/inlinecode/feature.server.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/format/italic/feature.server.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/format/strikethrough/feature.server.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/format/subscript/feature.server.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/format/superscript/feature.server.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/format/underline/feature.server.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/horizontalrule/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/indent/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/link/client/plugins/floatinglinkeditor/types.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/link/nodes/linknode.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/link/nodes/autolinknode.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/link/client/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/link/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/lists/checklist/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/lists/orderedlist/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/lists/unorderedlist/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/migrations/slatetolexical/converter/types.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/paragraph/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/relationship/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/textstate/defaultcolors.d.ts","../../node_modules/.pnpm/csstype@3.1.3/node_modules/csstype/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/textstate/feature.server.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/toolbars/fixed/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/toolbars/inline/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/typeutilities.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/upload/client/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/features/upload/server/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/lexical/config/server/default.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/lexical/config/server/loader.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/lexical/config/server/sanitize.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/lexical/nodes/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/lexical/utils/nodeformat.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/lexical/utils/url.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/populategraphql/defaultvalue.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/populategraphql/populate.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/utilities/buildeditorstate.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/utilities/createserverfeature.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/utilities/editorconfigfactory.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/utilities/fieldsdrawer/drawer.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/utilities/jsx/extractpropsfromjsxpropsstring.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/utilities/jsx/jsx.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/utilities/upgradelexicaldata/index.d.ts","../../node_modules/.pnpm/@payloadcms+richtext-lexical@3.81.0_@faceless-ui+modal@3.0.0_react-dom@19.2.4_react@19.2.4__r_kmaz55rrhskhnsmg2lxmwnhrbq/node_modules/@payloadcms/richtext-lexical/dist/index.d.ts","../../packages/auth/src/integrations/cms/collections/users.ts","../../packages/auth/src/integrations/cms/index.ts","../../packages/core-cms/src/payload.config.ts","../../packages/core-cms/src/index.ts","../../packages/auth/src/infrastructure/repositories/users.repository.ts","../../packages/auth/src/infrastructure/services/authentication.service.ts","../../packages/auth/src/di/bind-production.ts","../../packages/core-testing/src/factory/define-factory.ts","../../packages/core-testing/src/factory/index.ts","../../packages/auth/src/__factories__/user.factory.ts","../../packages/auth/src/__seeds__/dev.ts","../../packages/auth/src/di/bind-dev-seed.ts","./src/server/bind-production.ts","./src/server/auth-actions.ts","./src/server/auth-actions.test.ts","./src/server/bind-production.smoke.test.ts","./src/server/bind-production.test.ts","../../node_modules/.pnpm/@tanstack+query-core@5.96.2/node_modules/@tanstack/query-core/build/modern/_tsup-dts-rollup.d.ts","../../node_modules/.pnpm/@tanstack+query-core@5.96.2/node_modules/@tanstack/query-core/build/modern/index.d.ts","../../node_modules/.pnpm/@tanstack+react-query@5.96.2_react@19.2.4/node_modules/@tanstack/react-query/build/modern/_tsup-dts-rollup.d.ts","../../node_modules/.pnpm/@tanstack+react-query@5.96.2_react@19.2.4/node_modules/@tanstack/react-query/build/modern/index.d.ts","../../node_modules/.pnpm/@trpc+client@11.17.0_@trpc+server@11.17.0_typescript@5.9.3__typescript@5.9.3/node_modules/@trpc/client/dist/subscriptions.d-dlr1nwgd.d.mts","../../node_modules/.pnpm/@trpc+server@11.17.0_typescript@5.9.3/node_modules/@trpc/server/dist/observable/index.d.mts","../../node_modules/.pnpm/@trpc+server@11.17.0_typescript@5.9.3/node_modules/@trpc/server/dist/unstable-core-do-not-import.d.mts","../../node_modules/.pnpm/@trpc+client@11.17.0_@trpc+server@11.17.0_typescript@5.9.3__typescript@5.9.3/node_modules/@trpc/client/dist/types.d-srntuqa-.d.mts","../../node_modules/.pnpm/@trpc+client@11.17.0_@trpc+server@11.17.0_typescript@5.9.3__typescript@5.9.3/node_modules/@trpc/client/dist/unstable-internals.d-bomv7ek1.d.mts","../../node_modules/.pnpm/@trpc+client@11.17.0_@trpc+server@11.17.0_typescript@5.9.3__typescript@5.9.3/node_modules/@trpc/client/dist/httputils.d-yyskghis.d.mts","../../node_modules/.pnpm/@trpc+server@11.17.0_typescript@5.9.3/node_modules/@trpc/server/dist/index.d.mts","../../node_modules/.pnpm/@trpc+client@11.17.0_@trpc+server@11.17.0_typescript@5.9.3__typescript@5.9.3/node_modules/@trpc/client/dist/httpbatchlink.d-b6vcg-f-.d.mts","../../node_modules/.pnpm/@trpc+client@11.17.0_@trpc+server@11.17.0_typescript@5.9.3__typescript@5.9.3/node_modules/@trpc/client/dist/httplink.d-cvotlkut.d.mts","../../node_modules/.pnpm/@trpc+client@11.17.0_@trpc+server@11.17.0_typescript@5.9.3__typescript@5.9.3/node_modules/@trpc/client/dist/loggerlink.d-dbrq_5gd.d.mts","../../node_modules/.pnpm/@trpc+client@11.17.0_@trpc+server@11.17.0_typescript@5.9.3__typescript@5.9.3/node_modules/@trpc/client/dist/splitlink.d-bkr9ee0o.d.mts","../../node_modules/.pnpm/@trpc+server@11.17.0_typescript@5.9.3/node_modules/@trpc/server/dist/index.d-dhhodpgb.d.mts","../../node_modules/.pnpm/@trpc+server@11.17.0_typescript@5.9.3/node_modules/@trpc/server/dist/adapters/ws.d.mts","../../node_modules/.pnpm/@trpc+server@11.17.0_typescript@5.9.3/node_modules/@trpc/server/dist/http.d.mts","../../node_modules/.pnpm/@trpc+client@11.17.0_@trpc+server@11.17.0_typescript@5.9.3__typescript@5.9.3/node_modules/@trpc/client/dist/wslink.d-dcqbzkoh.d.mts","../../node_modules/.pnpm/@trpc+client@11.17.0_@trpc+server@11.17.0_typescript@5.9.3__typescript@5.9.3/node_modules/@trpc/client/dist/index.d.mts","../../node_modules/.pnpm/@trpc+client@11.17.0_@trpc+server@11.17.0_typescript@5.9.3__typescript@5.9.3/node_modules/@trpc/client/dist/unstable-internals.d.mts","../../node_modules/.pnpm/@trpc+tanstack-react-query@11.17.0_@tanstack+react-query@5.96.2_react@19.2.4__@trpc+client@11_lwtxr4mgqf43hxcjamlmq2kus4/node_modules/@trpc/tanstack-react-query/dist/index.d.mts","../../packages/core-trpc/src/client.ts","../../packages/core-trpc/src/query-client.ts","../../packages/core-trpc/src/providers/next-provider.tsx","./src/app/providers.tsx","./src/app/layout.tsx","./src/app/page.tsx","../../node_modules/.pnpm/@types+aria-query@5.0.4/node_modules/@types/aria-query/index.d.ts","../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/types/matches.d.ts","../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/types/wait-for.d.ts","../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/types/query-helpers.d.ts","../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/types/queries.d.ts","../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/types/get-queries-for-element.d.ts","../../node_modules/.pnpm/pretty-format@27.5.1/node_modules/pretty-format/build/types.d.ts","../../node_modules/.pnpm/pretty-format@27.5.1/node_modules/pretty-format/build/index.d.ts","../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/types/screen.d.ts","../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/types/wait-for-element-to-be-removed.d.ts","../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/types/get-node-text.d.ts","../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/types/events.d.ts","../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/types/pretty-dom.d.ts","../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/types/role-helpers.d.ts","../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/types/config.d.ts","../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/types/suggestions.d.ts","../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/types/index.d.ts","../../node_modules/.pnpm/@types+react-dom@19.2.3_@types+react@19.2.14/node_modules/@types/react-dom/test-utils/index.d.ts","../../node_modules/.pnpm/@testing-library+react@16.3.2_@testing-library+dom@10.4.1_@types+react-dom@19.2.3_@types+reac_wvpllyx4jgscxgicowrn35t4fe/node_modules/@testing-library/react/types/index.d.ts","./src/app/providers.test.tsx","../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.13_@types+node@22.19.17_happy-dom@20.8.9_jiti@2.7.0_jsdom@25.0._eilcqkakhi6sgyexltx2n5amsi/node_modules/vitest/globals.d.ts","../../node_modules/.pnpm/@types+yargs-parser@21.0.3/node_modules/@types/yargs-parser/index.d.ts","../../node_modules/.pnpm/@types+yargs@17.0.35/node_modules/@types/yargs/index.d.ts","../../node_modules/.pnpm/@types+yargs@17.0.35/node_modules/@types/yargs/index.d.mts","../../node_modules/.pnpm/@types+istanbul-lib-coverage@2.0.6/node_modules/@types/istanbul-lib-coverage/index.d.ts","../../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/index.d.ts","../../node_modules/.pnpm/@types+istanbul-lib-report@3.0.3/node_modules/@types/istanbul-lib-report/index.d.ts","../../node_modules/.pnpm/@types+istanbul-reports@3.0.4/node_modules/@types/istanbul-reports/index.d.ts","../../node_modules/.pnpm/@sinclair+typebox@0.27.10/node_modules/@sinclair/typebox/typebox.d.ts","../../node_modules/.pnpm/@jest+schemas@29.6.3/node_modules/@jest/schemas/build/index.d.ts","../../node_modules/.pnpm/@jest+types@29.6.3/node_modules/@jest/types/build/index.d.ts","../../node_modules/.pnpm/@types+stack-utils@2.0.3/node_modules/@types/stack-utils/index.d.ts","../../node_modules/.pnpm/jest-message-util@29.7.0/node_modules/jest-message-util/build/index.d.ts","../../node_modules/.pnpm/@jest+console@29.7.0/node_modules/@jest/console/build/index.d.ts","../../node_modules/.pnpm/@types+graceful-fs@4.1.9/node_modules/@types/graceful-fs/index.d.ts","../../node_modules/.pnpm/jest-haste-map@29.7.0/node_modules/jest-haste-map/build/index.d.ts","../../node_modules/.pnpm/jest-resolve@29.7.0/node_modules/jest-resolve/build/index.d.ts","../../node_modules/.pnpm/collect-v8-coverage@1.0.3/node_modules/collect-v8-coverage/index.d.ts","../../node_modules/.pnpm/@jest+test-result@29.7.0/node_modules/@jest/test-result/build/index.d.ts","../../node_modules/.pnpm/@jest+reporters@29.7.0/node_modules/@jest/reporters/build/index.d.ts","../../node_modules/.pnpm/jest-changed-files@29.7.0/node_modules/jest-changed-files/build/index.d.ts","../../node_modules/.pnpm/emittery@0.13.1/node_modules/emittery/index.d.ts","../../node_modules/.pnpm/jest-watcher@29.7.0/node_modules/jest-watcher/build/index.d.ts","../../node_modules/.pnpm/jest-runner@29.7.0/node_modules/jest-runner/build/index.d.ts","../../node_modules/.pnpm/@jest+core@29.7.0_babel-plugin-macros@3.1.0/node_modules/@jest/core/build/index.d.ts","../../node_modules/.pnpm/jest-cli@29.7.0_@types+node@22.19.17_babel-plugin-macros@3.1.0/node_modules/jest-cli/build/index.d.ts","../../node_modules/.pnpm/jest@29.7.0_@types+node@22.19.17_babel-plugin-macros@3.1.0/node_modules/jest/build/index.d.ts","../../node_modules/.pnpm/@testing-library+jest-dom@6.9.1/node_modules/@testing-library/jest-dom/types/matchers.d.ts","../../node_modules/.pnpm/@testing-library+jest-dom@6.9.1/node_modules/@testing-library/jest-dom/types/jest.d.ts","../../node_modules/.pnpm/@testing-library+jest-dom@6.9.1/node_modules/@testing-library/jest-dom/types/index.d.ts","./.next/types/routes.d.ts"],"fileIdsList":[[76,124,141,142,471,1061],[76,124,141,142,475,476,4160],[76,124,141,142,471,1055,1062],[76,124,141,142,1067,3515],[76,124,141,142,475,478,1061,4077,4107],[76,124,141,142,442,3518,4077,4078],[76,124,141,142,1055,4107,4128],[76,124,141,142,4106],[76,124,141,142],[76,124,141,142,1055,4077,4078],[76,124,141,142,442,458,3515,3518,4077],[76,124,136,141,142,146,1055,2293,3450,3518,4077],[76,124,141,142,1055,2290,3439,4071,4076,4077],[76,124,141,142,1080,1083,1090,2290,3434,3439,3441,3904,4068,4071,4076],[76,124,141,142,3141],[76,124,141,142,3142,3143],[62,76,124,141,142,3144],[62,76,124,141,142,3145],[76,124,141,142,1081],[76,124,127,141,142,168,174,4140,4142],[76,124,141,142,4140,4148,4149,4150,4152,4153],[76,124,141,142,174,4140,4148],[76,124,141,142,4138],[76,124,141,142,4134,4140,4143,4145,4146,4147],[76,124,141,142,174,4133,4134,4135,4137,4139],[76,124,141,142,3936,3952],[76,124,141,142,3936],[62,76,124,141,142,3936],[76,124,141,142,3936,3950],[76,124,141,142,3936,3963],[76,124,141,142,3936,3951,3952,3953,3954,3955,3956,3957,3958,3959,3960,3961,3963,3964,3965,3966],[76,124,141,142,3936,3962],[76,124,141,142,3951],[76,124,141,142,3936,3951],[76,124,141,142,3950],[76,124,141,142,3936,3951,3952],[76,124,141,142,3982,3986],[76,124,141,142,3936,3967,3981,3982,3983,3984,3985],[76,124,141,142,3936,3986],[76,124,141,142,3948,3949,3968,3969,3970,3971,3972,3973,3974,3975],[76,124,141,142,3936,3967],[76,124,141,142,3936,3948,3971],[76,124,141,142,3936,3948,3969,3970,3972],[76,124,141,142,3936,3967,3968],[76,124,141,142,3936,3948,3972],[76,124,141,142,3936,3948,3969,3971,3972],[76,124,141,142,3936,3948,3969,3971,3972,3974,3976],[62,76,124,141,142,2760,2762],[76,124,141,142,2182,2183,2184],[76,124,141,142,2180,2181,2182,2183,2184,2185,2186,2187,2188,2189],[76,124,141,142,2181,2182],[76,124,141,142,2181,2182,2183],[76,124,141,142,2181],[76,124,141,142,1169],[76,124,141,142,2182,2183],[76,124,141,142,1169,2180],[76,124,141,142,1963,1964,1965],[76,124,141,142,1961,1962,1963,1964,1965,1966,1967],[76,124,141,142,1962,1963],[76,124,141,142,1962],[76,124,141,142,1963,1964],[76,124,141,142,1169,1961],[76,124,141,142,1173,1174,1175],[76,124,141,142,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180],[76,124,141,142,1172,1173],[76,124,141,142,1172,1173,1174],[76,124,141,142,1172],[76,124,141,142,1173,1174],[76,124,141,142,1169,1171],[76,124,141,142,1129],[76,124,141,142,1132],[76,124,141,142,1136,1138],[76,124,141,142,1125,1129,1140,1141],[76,124,141,142,1151,1154,1160,1162],[76,124,141,142,1124,1129],[76,124,141,142,1123],[76,124,141,142,1124],[76,124,141,142,1131],[76,124,141,142,1134],[76,124,141,142,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1163,1164,1165,1166,1167,1168],[76,124,141,142,1139],[76,124,141,142,1135],[76,124,141,142,1136],[76,124,141,142,1128,1129],[76,124,141,142,1135,1136],[76,124,141,142,1142],[76,124,141,142,1163],[76,124,141,142,1128],[76,124,141,142,1129,1145,1148],[76,124,141,142,1144],[76,124,141,142,1145],[76,124,141,142,1143,1145],[76,124,141,142,1129,1148,1150,1151,1152],[76,124,141,142,1151,1152,1154],[76,124,141,142,1129,1143,1146,1149,1156],[76,124,141,142,1143,1144],[76,124,141,142,1126,1127,1143,1145,1146,1147],[76,124,141,142,1145,1148],[76,124,141,142,1127,1128,1146,1149],[76,124,141,142,1129,1148,1150],[76,124,141,142,1151,1152],[76,124,141,142,1169,1869],[76,124,141,142,1869],[76,124,141,142,1866,1867,1868,1869,1870,1871,1872,1873,1874,1875,1876,1880,1886,1887,1888,1889,1890,1891,1892,1893,1894,1895,1896,1897,1898,1899,1900,1901,1902,1903],[76,124,141,142,1874],[76,124,141,142,1885],[76,124,141,142,1876],[76,124,141,142,1877,1878,1879,1881,1882,1883,1884],[76,124,141,142,147,174],[76,124,141,142,1880],[76,124,141,142,174],[76,124,141,142,1169,2009],[76,124,141,142,2009],[76,124,141,142,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2020,2021,2022,2023,2024,2025,2026,2027,2028,2029,2030,2031],[76,124,141,142,2014],[76,124,141,142,2019],[76,124,141,142,2016,2017,2018],[76,124,141,142,1982,2241],[76,124,141,142,2241,2242],[76,124,141,142,174,1169,1982],[76,124,141,142,2222,2223],[76,124,141,142,1169,1982,2220,2221],[76,124,141,142,2220],[76,124,141,142,2237,2238],[76,124,141,142,1982,2237],[76,124,141,142,1982],[76,124,141,142,2234],[76,124,141,142,2135,2136],[76,124,141,142,1982,2135],[76,124,141,142,1169,1982],[76,124,141,142,2207,2208],[76,124,141,142,1982,1983],[76,124,141,142,1983,1984],[76,124,138,141,142,174,1169,1982],[76,124,141,142,2162,2163],[76,124,141,142,1982,2162],[76,124,141,142,2139,2140],[76,124,141,142,1982,2139],[76,124,141,142,2226,2227],[76,124,141,142,1982,2226],[76,124,141,142,2215,2216,2217],[76,124,141,142,1982,2215],[76,124,141,142,2143],[76,124,141,142,2146,2147],[76,124,141,142,1982,2146],[76,124,141,142,2150,2151],[76,124,141,142,1982,2150],[76,124,141,142,2158,2159],[76,124,141,142,1982,2158],[76,124,141,142,2154,2155],[76,124,141,142,1982,2154],[76,124,141,142,2174,2175,2176],[76,124,141,142,1982,2174],[76,124,141,142,1169,1982,2173],[76,124,141,142,2230,2231],[76,124,141,142,1982,2230],[76,124,141,142,2192],[76,124,141,142,2191,2192,2193,2199,2200,2201,2202,2203],[76,124,141,142,1169,2190,2191],[76,124,141,142,2191],[76,124,141,142,2198],[76,124,141,142,2196,2197],[76,124,141,142,2191,2194,2195],[76,124,141,142,146],[76,124,141,142,1169,2190],[76,124,141,142,1970],[76,124,141,142,1969,1970,1971,1977,1978,1979,1980,1981],[76,124,141,142,1169,1968,1969],[76,124,141,142,1969],[76,124,141,142,1976],[76,124,141,142,1974,1975],[76,124,141,142,1969,1972,1973],[76,124,141,142,1169,1968],[76,124,141,142,1907],[76,124,141,142,1905,1906],[76,124,141,142,1905,1906,1907],[76,124,141,142,1920,1921,1922,1923,1924],[76,124,141,142,1919],[76,124,141,142,1905,1907,1908],[76,124,141,142,1912,1913,1914,1915,1916,1917,1918],[76,124,141,142,1905,1906,1907,1908,1911,1925,1926],[76,124,141,142,1910],[76,124,141,142,1909],[76,124,141,142,1906,1907],[76,124,141,142,1169,1905,1906],[76,124,141,142,1988],[76,124,141,142,1989,1990],[76,124,141,142,1988,1989],[76,124,141,142,1992,1998,1999],[76,124,141,142,1997],[76,124,141,142,1993,1994,1995,1996],[76,124,141,142,1988,1989,1990,1991,2000,2001,2002],[76,124,141,142,1169,1988],[76,124,141,142,1988,1990],[76,124,141,142,1169,1989],[76,124,141,142,1169,1927,1931,1934,1935,1937],[76,124,141,142,1169,1929,1930,1931,1934,1935],[76,124,141,142,1904,1929,1935],[76,124,141,142,1169,1929,1930,1931],[76,124,141,142,1169,1904,1927,1928],[76,124,141,142,1169,1929,1930,1931,1935],[76,124,141,142,1904,1929],[76,124,141,142,1928,1929,1930,1931,1932,1933,1934,1935,1936,1937,1942,1943,1944,1945,1946,1947,1948,1949,1950],[76,124,141,142,1941],[76,124,141,142,1934,1938],[76,124,141,142,1939,1940],[76,124,141,142,1932],[76,124,141,142,1933],[76,124,141,142,1169,1933],[76,124,141,142,1169,1904,1927,1928,1929,1937],[76,124,141,142,1169,1929,1930],[76,124,141,142,1169,1904,1927,1931,1934,1936],[76,124,141,142,1169,1927,1931,1932,1933],[76,124,141,142,1169,2037],[76,124,141,142,1169,2034,2035,2036,2037,2039],[76,124,141,142,2032,2034,2039],[76,124,141,142,1169,2034,2035,2036],[76,124,141,142,1169,2003,2032,2033],[76,124,141,142,1169,2034,2035,2036,2039],[76,124,141,142,2032,2034],[76,124,141,142,2004,2005,2033,2034,2035,2036,2037,2038,2039,2044,2045,2046,2047,2048,2049,2050,2051,2052],[76,124,141,142,2043],[76,124,141,142,2037,2040],[76,124,141,142,2041,2042],[76,124,141,142,2004],[76,124,141,142,2005],[76,124,141,142,1169,2005],[76,124,141,142,1169,2003,2032,2033,2034,2036,2037],[76,124,141,142,1169,2034,2035],[76,124,141,142,1169,2003,2004,2005,2036],[76,124,141,142,3434,3815,3902,3904],[76,124,141,142,3434,3723,3815,3823,3826,3902,3903],[76,124,141,142,3434,3904],[76,124,141,142,3434,3836,3904],[76,124,141,142,3837,3888,3889,3890,3891,3892,3893,3894,3895,3896,3897,3898,3899,3900,3901],[76,124,141,142,3836],[76,124,141,142,3827,3834,3835,3836,3838,3839,3840,3841,3842,3843,3844,3845,3846,3847,3848,3849,3850,3851,3852,3853,3854,3855,3856,3857,3858,3859,3860,3861,3862,3863,3864,3865,3866,3867,3868,3869,3870,3871,3872,3873,3874,3875,3877,3878,3879,3880,3881,3882,3883,3884,3885,3886],[76,124,141,142,3888],[76,124,141,142,3832],[76,124,141,142,3723],[76,124,141,142,3434,3694,3723,3809,3815,3826,3832,3833,3836,3887,3904],[76,124,141,142,3434,3723,3815,3836,3904],[76,124,141,142,3815],[76,124,141,142,3434,3815,3827,3836,3904],[76,124,141,142,3434,3723,3786,3787,3809,3815,3820,3826,3827,3832,3833,3834,3835,3904],[76,124,141,142,3434,3876,3904],[76,124,141,142,3434,3815,3836,3904],[76,124,141,142,3836,3882],[76,124,141,142,3941],[76,124,141,142,3936,3941,3944,3990],[62,76,124,141,142,3936,3991],[62,76,124,141,142,3434,3904],[76,124,141,142,3434,3904,3999],[76,124,141,142,3434,3904,3941],[62,76,124,141,142,3434,3904,3936,3946,3990],[62,76,124,141,142,3434,3904,3936,3990],[76,124,141,142,3936,3942,3990],[76,124,141,142,3434,3904,4004],[76,124,141,142,3434,3904,3936,3990,4003],[76,124,141,142,3940,3990],[76,124,141,142,3940],[76,124,141,142,3434,3904,3936,3940],[76,124,141,142,3434,3904,3936],[76,124,141,142,3434,3904,3940,3942],[76,124,141,142,3940,3941],[76,124,141,142,3936,3942],[76,124,141,142,4004],[76,124,141,142,3936,3941,3976,3990],[62,76,124,141,142,3936,3990],[76,124,141,142,3995,4034],[76,124,141,142,3936,3980],[76,124,141,142,3936,3980,4031],[76,124,141,142,3936,3980,4030],[76,124,141,142,3434,3904,3936,3990],[76,124,141,142,3434,3904,3941,4033],[76,124,141,142,3936,3986,3990,3995],[76,124,141,142,2487,3941,4042],[76,124,141,142,3941,3994],[62,76,124,141,142,2753,3936,3993,3997],[62,76,124,141,142,3434,3904,3936,3939,3942,3943,3994,3997],[76,124,141,142,2753,2756,3434,3904,3936,3939,3940,3942,3995,3997],[76,124,141,142,3936,3941],[76,124,141,142,3995,4048],[76,124,141,142,3434,3904,3941,4047],[76,124,141,142,3939,3940,3941,3942,3943,3945,3947,3977,3978,3980,3988,3989,3990,3991,3993,3994,3995,3997,3998,4000,4001,4002,4005,4006,4007,4008,4009,4010,4011,4012,4013,4014,4015,4016,4017,4018,4019,4020,4021,4022,4023,4024,4025,4026,4027,4028,4029,4031,4032,4034,4035,4036,4037,4038,4039,4040,4041,4043,4044,4045,4046,4048,4049,4050,4051,4052,4053,4054,4055,4056,4057,4058,4059,4060,4061,4062,4063],[62,76,124,141,142,2487,3936,3942,3992,3997],[76,124,141,142,3936,3941,3942],[76,124,141,142,3434,3904,3941,3942],[76,124,141,142,3936,3941,3995,3997],[62,76,124,141,142,2753,3936,3997],[76,124,141,142,3936,3945,3947,3977,3978,3979,3980,3987,3988,3989,3991],[76,124,141,142,3936,3937,3938],[76,124,141,142,3936,3937],[76,124,141,142,3434,3904,3936,3941,3942,3995,3996],[76,124,141,142,3936,3990],[76,124,141,142,3434,3904,3936,3941,3942,3997],[76,124,141,142,2746,2749,2750,2751,2752],[76,124,141,142,3432],[76,124,141,142,2745],[76,124,141,142,2750],[76,124,141,142,2745,2747,2748,2749],[62,76,124,141,142,2750],[76,124,141,142,1169,2204],[76,124,141,142,1740,1743],[76,124,141,142,1740],[76,124,141,142,1740,1744,1745,1746,1747,1748,1749,1750,1751,1752,1753,1754,1755,1756,1757,1758,1759],[76,124,141,142,1740,1741,1742,1760,1761,1762,1763,1777,1778,1779,1789,1791,1799,1800,1801,1802,1803,1804,1805,1806,1807,1808,1811,1814,1817,1820,1823,1824,1825],[76,124,141,142,1819],[76,124,141,142,1740,1818],[76,124,141,142,1810],[76,124,141,142,1740,1809],[76,124,141,142,1813],[76,124,141,142,1740,1812],[76,124,141,142,1822],[76,124,141,142,1740,1821],[76,124,141,142,1816],[76,124,141,142,1740,1815],[76,124,141,142,1740,1777],[76,124,141,142,1740,1744],[76,124,141,142,1740,1743,1745],[76,124,141,142,1414,1417],[76,124,141,142,1414],[76,124,141,142,1414,1418,1419,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433],[76,124,141,142,1414,1415,1416,1434,1435,1436,1437,1451,1452,1453,1463,1465,1473,1474,1475,1476,1477,1478,1479,1480,1481,1482,1485,1488,1491,1494,1497,1498,1499],[76,124,141,142,1493],[76,124,141,142,1414,1492],[76,124,141,142,1484],[76,124,141,142,1414,1483],[76,124,141,142,1487],[76,124,141,142,1414,1486],[76,124,141,142,1496],[76,124,141,142,1414,1495],[76,124,141,142,1490],[76,124,141,142,1414,1489],[76,124,141,142,1414,1451],[76,124,141,142,1414,1418],[76,124,141,142,1414,1417,1419],[76,124,141,142,2273,2274,2275],[76,124,141,142,2273,2274,2276],[76,124,141,142,2271,2272,2273,2274,2276,2277],[76,124,141,142,2273,2274],[76,124,141,142,2270],[76,124,141,142,1536,1550,1606],[76,124,141,142,1577,1581],[76,124,141,142,1556,1571,1577],[76,124,141,142,1556,1573,1575,1576],[76,124,141,142,1517],[76,124,141,142,1521],[76,124,141,142,1544,1545,1556,1571,1577,1578,1580],[76,124,141,142,1532,1536,1552,1565],[76,124,141,142,1520,1521,1526,1529,1532,1533,1534,1536,1542,1543,1544,1545,1548,1551,1552,1553,1556,1562,1563,1565,1566,1567,1568,1569,1570],[76,124,141,142,1531,1556,1571],[76,124,141,142,1556],[76,124,141,142,1535,1536,1550,1551,1552,1562,1565,1571,1588],[76,124,141,142,1553,1562],[76,124,141,142,1520,1530,1532,1540,1551,1553,1554,1556,1562,1599],[76,124,141,142,1542,1556,1562],[76,124,141,142,1526,1529,1648],[76,124,141,142,1517,1519,1520,1521,1522,1524,1525,1526,1527,1528,1529,1530,1531,1532,1533,1534,1535,1536,1540,1542,1543,1544,1545,1546,1547,1548,1549,1550,1551,1552,1553,1554,1555,1556,1557,1558,1559,1560,1561,1562,1563,1564,1565,1566,1567,1568,1569,1570,1571,1572,1573,1574,1576,1577,1579,1580,1581,1582,1583,1587,1595,1596,1597,1598,1599,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,1619,1620,1621,1622,1623,1624,1625,1626,1627,1628,1629,1630,1631,1632,1633,1634,1635,1636,1637,1638,1639,1640,1641,1642,1643,1644,1645,1646,1647,1648,1649,1652,1653,1654,1655,1656,1658,1659,1660,1661,1662,1663,1664,1665,1666,1668,1669,1670,1671,1672,1673,1674,1675,1676,1677,1678,1679,1681,1682,1683,1684,1685,1686,1687,1688,1689,1690,1691,1692,1693,1694,1695,1696,1697,1698,1699,1701,1702,1703,1704,1705,1706,1707,1708,1709,1710,1711,1712,1713,1714,1715,1716,1717,1718,1719,1720,1721,1722,1723,1724,1725,1726,1727,1728,1729,1730,1731,1732,1733,1734,1735,1736,1737,1738,1739],[76,124,141,142,1648],[76,124,141,142,1563,1567,1571],[76,124,141,142,1563],[76,124,141,142,1544,1571],[76,124,141,142,1648,1740],[76,124,141,142,1562,1563],[76,124,141,142,1639],[76,124,141,142,1526,1529],[76,124,141,142,1650,1651],[76,124,141,142,1657],[76,124,141,142,1526],[76,124,141,142,1558,1740],[76,124,141,142,1563,1648],[76,124,141,142,1544,1571,1740],[76,124,141,142,1543,1544,1556,1618],[76,124,141,142,1559,1562],[76,124,141,142,1545,1556,1571],[76,124,141,142,1545,1556],[76,124,141,142,1547],[76,124,141,142,1536],[76,124,141,142,1518,1519,1520,1521,1526,1529,1530,1531,1540,1551,1552,1553,1554,1555,1562,1571],[76,124,141,142,1567,1571],[76,124,141,142,1520,1532,1543,1556,1562,1566,1567,1571],[76,124,141,142,1551],[76,124,141,142,1674],[76,124,141,142,1673],[76,124,141,142,1526,1552,1556,1571],[76,124,141,142,1677],[76,124,141,142,1676],[76,124,141,142,1526,1569],[76,124,141,142,1575,1584,1585,1586,1588,1589,1590,1591,1592,1593,1594,1595],[76,124,141,142,1679],[76,124,141,142,1679,1680],[76,124,141,142,1683],[76,124,141,142,1517,1587,1740],[76,124,141,142,1671],[76,124,141,142,1670],[76,124,141,142,1564,1567],[76,124,141,142,1524,1526,1534],[76,124,141,142,1524,1526,1527,1587],[76,124,141,142,1526,1567],[76,124,141,142,1518,1526,1571],[76,124,141,142,1571],[76,124,141,142,1571,1595],[76,124,141,142,1524,1526],[76,124,141,142,1526,1556,1569,1574],[76,124,141,142,1526,1556],[76,124,141,142,1667],[76,124,141,142,1526,1531,1667],[76,124,141,142,1566,1570],[76,124,141,142,1552,1562,1566],[76,124,141,142,1552,1566],[76,124,141,142,1520],[76,124,141,142,1531],[76,124,141,142,1533],[76,124,141,142,1522,1526,1527,1530],[76,124,141,142,1519,1526,1532,1534,1535,1536,1542,1544,1545,1547,1548,1550,1551,1562],[76,124,141,142,1517,1519,1520,1521,1525,1526,1529,1530,1531,1540,1546,1550,1554,1556,1557,1560,1561],[76,124,141,142,1562],[76,124,141,142,1557,1559],[76,124,141,142,1530,1537,1538],[76,124,141,142,1519],[76,124,141,142,1519,1537,1539,1541,1563],[76,124,141,142,1530,1540,1562],[76,124,141,142,1528],[76,124,141,142,1526,1562,1571],[76,124,141,142,1518,1543],[76,124,141,142,1518],[76,124,141,142,1529],[76,124,141,142,1521,1526,1544,1545,1555,1556,1559,1562,1563,1564,1565,1566],[76,124,141,142,1517,1546,1563,1571],[76,124,141,142,1526,1529,1530],[76,124,141,142,1549],[76,124,141,142,1550],[76,124,141,142,1540],[76,124,141,142,1517,1518,1523,1524,1525,1527],[76,124,141,142,1558],[76,124,141,142,1526,1527,1556],[76,124,141,142,1559],[76,124,141,142,1552],[76,124,141,142,1552,1571],[76,124,141,142,1559,1560,1562],[76,124,141,142,1534,1552],[76,124,141,142,1546,1559],[76,124,141,142,1536,1571],[76,124,141,142,1519,1526,1533,1536,1550,1552,1562,1565],[76,124,141,142,1520,1543,1558,1559,1560,1562,1571],[76,124,141,142,1567],[76,124,141,142,1540,1551],[76,124,141,142,1530,1543,1699,1700],[76,124,141,142,1555],[76,124,141,142,1557,1558,1562],[76,124,141,142,1708],[76,124,141,142,1543],[76,124,141,142,1556,1559,1562,1567,1571],[76,124,141,142,1533,1566],[76,124,141,142,1528,1529],[76,124,141,142,1556,1562],[76,124,141,142,1518,1524,1526,1527,1531],[76,124,141,142,1558,1559,1562,1700],[76,124,141,142,1715],[76,124,141,142,1526,1555,1556,1571],[76,124,141,142,1567,1624],[76,124,141,142,1525,1555,1571],[76,124,141,142,1579,1581],[76,124,141,142,1204,1218,1274],[76,124,141,142,1245,1249],[76,124,141,142,1224,1239,1245],[76,124,141,142,1224,1241,1243,1244],[76,124,141,142,1185],[76,124,141,142,1189],[76,124,141,142,1212,1213,1224,1239,1245,1246,1248],[76,124,141,142,1200,1204,1220,1233],[76,124,141,142,1188,1189,1194,1197,1200,1201,1202,1204,1210,1211,1212,1213,1216,1219,1220,1221,1224,1230,1231,1233,1234,1235,1236,1237,1238],[76,124,141,142,1199,1224,1239],[76,124,141,142,1224],[76,124,141,142,1203,1204,1218,1219,1220,1230,1233,1239,1256],[76,124,141,142,1221,1230],[76,124,141,142,1188,1198,1200,1208,1219,1221,1222,1224,1230,1267],[76,124,141,142,1210,1224,1230],[76,124,141,142,1194,1197,1316],[76,124,141,142,1185,1187,1188,1189,1190,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1208,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1244,1245,1247,1248,1249,1250,1251,1255,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1332,1333,1334,1335,1336,1337,1338,1339,1340,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413],[76,124,141,142,1316],[76,124,141,142,1231,1235,1239],[76,124,141,142,1231],[76,124,141,142,1212,1239],[76,124,141,142,1316,1414],[76,124,141,142,1230,1231],[76,124,141,142,1307],[76,124,141,142,1194,1197],[76,124,141,142,1318,1319],[76,124,141,142,1322],[76,124,141,142,1322,1324],[76,124,141,142,1331],[76,124,141,142,1194],[76,124,141,142,1226,1414],[76,124,141,142,1231,1316],[76,124,141,142,1212,1239,1414],[76,124,141,142,1211,1212,1224,1286],[76,124,141,142,1227,1230],[76,124,141,142,1213,1224,1239],[76,124,141,142,1213,1224],[76,124,141,142,1215],[76,124,141,142,1204],[76,124,141,142,1186,1187,1188,1189,1194,1197,1198,1199,1208,1219,1220,1221,1222,1223,1230,1239],[76,124,141,142,1235,1239],[76,124,141,142,1188,1200,1211,1224,1230,1234,1235,1239],[76,124,141,142,1219],[76,124,141,142,1348],[76,124,141,142,1347],[76,124,141,142,1194,1220,1224,1239],[76,124,141,142,1351],[76,124,141,142,1350],[76,124,141,142,1194,1237],[76,124,141,142,1243,1252,1253,1254,1256,1257,1258,1259,1260,1261,1262,1263],[76,124,141,142,1353],[76,124,141,142,1353,1354],[76,124,141,142,1357],[76,124,141,142,1185,1255,1414],[76,124,141,142,1345],[76,124,141,142,1344],[76,124,141,142,1232,1235],[76,124,141,142,1192,1194,1202],[76,124,141,142,1192,1194,1195,1255],[76,124,141,142,1194,1235],[76,124,141,142,1186,1194,1239],[76,124,141,142,1239],[76,124,141,142,1239,1263],[76,124,141,142,1192,1194],[76,124,141,142,1194,1224,1237,1242],[76,124,141,142,1194,1224],[76,124,141,142,1341],[76,124,141,142,1194,1199,1341],[76,124,141,142,1234,1238],[76,124,141,142,1220,1230,1234],[76,124,141,142,1220,1234],[76,124,141,142,1188],[76,124,141,142,1199],[76,124,141,142,1201],[76,124,141,142,1190,1194,1195,1198],[76,124,141,142,1187,1194,1200,1202,1203,1204,1210,1212,1213,1215,1216,1218,1219,1230],[76,124,141,142,1185,1187,1188,1189,1193,1194,1197,1198,1199,1208,1214,1218,1222,1224,1225,1228,1229],[76,124,141,142,1230],[76,124,141,142,1225,1227],[76,124,141,142,1198,1205,1206],[76,124,141,142,1187],[76,124,141,142,1187,1205,1207,1209,1231],[76,124,141,142,1198,1208,1230],[76,124,141,142,1196],[76,124,141,142,1194,1230,1239],[76,124,141,142,1186,1211],[76,124,141,142,1186],[76,124,141,142,1197],[76,124,141,142,1189,1194,1212,1213,1223,1224,1227,1230,1231,1232,1233,1234],[76,124,141,142,1185,1214,1231,1239],[76,124,141,142,1194,1197,1198],[76,124,141,142,1217],[76,124,141,142,1218],[76,124,141,142,1208],[76,124,141,142,1185,1186,1191,1192,1193,1195],[76,124,141,142,1226],[76,124,141,142,1194,1195,1224],[76,124,141,142,1227],[76,124,141,142,1220],[76,124,141,142,1220,1239],[76,124,141,142,1227,1228,1230],[76,124,141,142,1202,1220],[76,124,141,142,1214,1227],[76,124,141,142,1204,1239],[76,124,141,142,1187,1194,1201,1204,1218,1220,1230,1233],[76,124,141,142,1188,1211,1226,1227,1228,1230,1239],[76,124,141,142,1235],[76,124,141,142,1208,1219],[76,124,141,142,1198,1211,1373,1374],[76,124,141,142,1223],[76,124,141,142,1225,1226,1230],[76,124,141,142,1382],[76,124,141,142,1211],[76,124,141,142,1224,1227,1230,1235,1239],[76,124,141,142,1201,1234],[76,124,141,142,1196,1197,1224],[76,124,141,142,1224,1230],[76,124,141,142,1186,1192,1194,1195,1199],[76,124,141,142,1226,1227,1230,1374],[76,124,141,142,1389],[76,124,141,142,1194,1223,1224,1239],[76,124,141,142,1235,1292],[76,124,141,142,1193,1223,1239],[76,124,141,142,1247,1249],[76,124,141,142,1740,1842],[76,124,141,142,1740,1842,1860,1861,1862,1863,1864],[76,124,141,142,1843,1844,1845,1846,1847,1848,1851,1852,1853,1855,1856,1857,1858,1859],[76,124,141,142,475],[76,124,141,142,475,1850],[76,124,141,142,1850],[76,124,141,142,423],[76,124,141,142,432],[76,124,141,142,436,475],[76,124,141,142,475,1740,1849],[76,124,141,142,1854],[76,124,141,142,2281,2283],[76,124,141,142,1740,2280],[76,124,141,142,2281,2282],[76,124,141,142,1860,1861,1862,1958,1959],[76,124,141,142,1740,1850,1859,1865,1960,2269,2284],[76,124,141,142,1860,1861,1862,2267,2268],[76,124,141,142,1740,2077,2079,2080,2096,2097,2098,2099,2101,2102,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113,2114,2115,2116,2117,2121,2122],[76,124,141,142,2118,2119,2120],[76,124,141,142,1740,1986,1987,2076,2080,2081,2082,2083,2084,2085,2086,2087,2088,2089,2090,2091,2092,2094,2123],[76,124,141,142,1740,2093],[76,124,136,141,142,1740],[76,124,135,138,141,142,1740],[76,124,138,141,142,1740,2081],[76,124,138,141,142,1740,1982,1986],[76,124,138,141,142,1740,1982],[76,124,141,142,1740,2100],[76,124,141,142,1740,2081],[76,124,141,142,1740,2095],[76,124,141,142,2076],[76,124,141,142,1169,1740,2053,2076,2080],[76,124,141,142,1740,2080,2081],[76,124,138,140,141,142],[76,124,141,142,1740,2077],[76,124,141,142,2078],[76,124,141,142,1169,1740,1982,2053,2079],[76,124,141,142,1169,1740],[76,124,141,142,1740,2076,2124,2125,2126,2128,2129,2130,2134,2138,2142,2145,2149,2153,2157,2161,2165,2178,2179,2206,2211,2214,2219,2225,2229,2233,2236,2240,2244,2247,2248,2249,2250,2251,2252,2258,2263,2264,2265,2266],[76,124,141,142,2253,2254,2255,2256,2257],[76,124,138,141,142,1740,1982,1985,2124,2125],[76,124,141,142,1740,2127],[76,124,141,142,1740,2243],[76,124,141,142,1740,1982],[76,124,141,142,1740,2224],[76,124,141,142,1740,2239],[76,124,141,142,1740,1982,2131,2133],[76,124,141,142,1982,2132],[76,124,141,142,1740,2261],[76,124,141,142,2262],[76,124,141,142,1982,2259],[76,124,141,142,2259,2260],[76,124,141,142,1740,2235],[76,124,141,142,1740,2137],[76,124,141,142,1740,2209,2210],[76,124,141,142,156],[76,124,141,142,1740,2212,2213],[76,124,141,142,1740,2141],[76,124,141,142,1740,2228],[76,124,141,142,1740,2218],[76,124,141,142,1740,2144],[76,124,141,142,1740,2148],[76,124,141,142,1740,2152],[76,124,141,142,1740,2156],[76,124,141,142,1740,2160],[76,124,141,142,1740,2177],[76,124,141,142,1740,1982,2205],[76,124,141,142,1740,2164],[76,124,141,142,1740,2232],[76,124,141,142,1740,2245,2246],[76,124,141,142,1740,2124,2125],[76,124,141,142,2053,2076,2124],[76,124,141,142,1169,1740,2053,2124],[76,123,124,141,142,1169,2068],[76,123,124,141,142,1169],[76,124,141,142,1740,2056],[76,124,141,142,1740,2054,2055,2056,2057,2058,2059,2060,2061,2062,2063,2064,2065,2066,2067,2068,2069,2070,2071,2072,2073],[76,124,141,142,2068,2074,2075],[76,124,141,142,1169,1740,2032],[76,124,141,142,1169,1740,2053],[76,124,141,142,1169,2053],[76,124,141,142,1169,1740,2056],[76,124,141,142,1169,2056],[76,124,141,142,2056],[76,124,141,142,1169,2053,2056],[62,76,124,141,142,1826],[62,76,124,141,142,1740,1826],[76,124,141,142,1826,1827,1828,1829,1830,1831,1833,1834,1835,1840,1841],[62,76,124,141,142,1740],[76,124,141,142,1836,1837,1838],[62,76,124,141,142,1740,1826,1832],[76,124,141,142,1740,1832],[76,124,141,142,1740,1826,1832],[76,124,141,142,1740,1826,1832,1839],[76,124,141,142,1740,1826],[62,76,124,141,142],[62,76,124,141,142,1500],[62,76,124,141,142,1414,1500],[76,124,141,142,1500,1501,1502,1503,1504,1505,1507,1508,1509,1514,1515],[62,76,124,141,142,1414],[76,124,141,142,1510,1511,1512],[62,76,124,141,142,1414,1500,1506],[76,124,141,142,1414,1506],[76,124,141,142,1414,1500,1506],[76,124,141,142,1414,1500,1506,1513],[76,124,141,142,1414,1500],[76,124,141,142,1740,1951,1954],[76,124,141,142,1740,1952,1954,1955,1956,1957],[76,124,141,142,1740,1952,1954],[76,124,141,142,1740,1952,1953],[76,124,141,142,2278,2279],[76,124,141,142,2278],[76,124,141,142,1772],[76,124,141,142,1764,1766,1767,1768,1769,1770,1771,1772,1773,1774,1775,1776],[76,124,141,142,1740,1765],[76,124,141,142,1740,1764],[76,124,141,142,1740,1764,1768],[76,124,141,142,1740,1772],[76,124,141,142,1446],[76,124,141,142,1438,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450],[76,124,141,142,1414,1439],[76,124,141,142,1414,1438],[76,124,141,142,1414,1438,1442],[76,124,141,142,1414,1446],[76,124,141,142,1795],[76,124,141,142,1740,1793,1794],[76,124,141,142,1792,1795,1796,1797,1798],[76,124,141,142,1469],[76,124,141,142,1414,1467,1468],[76,124,141,142,1466,1469,1470,1471,1472],[76,124,141,142,1740,1789],[76,124,141,142,1790],[76,124,141,142,1414,1463],[76,124,141,142,1464],[76,124,141,142,1786,1787,1788],[76,124,141,142,1740,1786],[76,124,141,142,1780,1781,1783,1784,1785],[76,124,141,142,1780],[76,124,141,142,1740,1780,1781,1782,1783,1784],[76,124,141,142,1740,1781,1783],[76,124,141,142,1777],[76,124,141,142,1787],[76,124,141,142,1460,1461,1462],[76,124,141,142,1414,1460],[76,124,141,142,1454,1455,1457,1458,1459],[76,124,141,142,1454],[76,124,141,142,1414,1454,1455,1456,1457,1458],[76,124,141,142,1414,1455,1457],[76,124,141,142,1451],[76,124,141,142,1461],[76,124,141,142,4082],[62,76,124,141,142,242,4083],[76,124,141,142,4084],[76,124,141,142,4114],[76,124,141,142,4111,4112,4113,4114,4115,4118,4119,4120,4121,4122,4123,4124,4125],[76,124,141,142,4110],[76,124,141,142,4117],[76,124,141,142,4111,4112,4113],[76,124,141,142,4111,4112],[76,124,141,142,4114,4115,4117],[76,124,141,142,4112],[76,124,141,142,4158],[76,124,141,142,4156,4157],[62,76,124,141,142,179,334,4126,4127],[76,124,141,142,4088,4089,4091,4092],[76,124,141,142,4088,4089,4091],[76,124,141,142,4088,4089,4090],[76,124,141,142,4086,4087,4088,4089,4090,4091,4092,4093,4094,4095,4096,4100],[76,124,141,142,4088,4089],[76,124,141,142,4086,4087,4088],[76,124,141,142,4088],[76,124,141,142,4086,4090],[76,124,141,142,4086,4087,4088,4089,4090,4092,4098,4099],[76,124,141,142,1068,1069,1070],[76,124,141,142,1068,1069],[76,124,141,142,1068],[76,124,141,142,1064,1065,1066],[76,124,138,141,142,919,1064,1065,1066,4097],[76,124,141,142,1064,1065],[76,124,138,139,141,142,1065],[76,124,141,142,1064],[62,76,124,141,142,4085,4087,4088,4092,4101,4102],[76,124,138,141,142,156,174],[76,124,141,142,1033,1034],[76,124,138,141,142,174],[76,124,136,141,142,174],[76,124,141,142,4134],[76,124,141,142,4136],[76,121,122,124,141,142],[76,123,124,141,142],[124,141,142],[76,124,129,141,142,159],[76,124,125,130,135,141,142,144,156,167],[76,124,125,126,135,141,142,144],[71,72,73,76,124,141,142],[76,124,127,141,142,168],[76,124,128,129,136,141,142,145],[76,124,129,141,142,156,164],[76,124,130,132,135,141,142,144],[76,123,124,131,141,142],[76,124,132,133,141,142],[76,124,134,135,141,142],[76,123,124,135,141,142],[76,124,135,136,137,141,142,156,167],[76,124,135,136,137,141,142,151,156,159],[76,117,124,132,135,138,141,142,144,156,167],[76,124,135,136,138,139,141,142,144,156,164,167],[76,124,138,140,141,142,156,164,167],[74,75,76,77,78,79,80,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173],[76,124,135,141,142],[76,124,141,142,143,167],[76,124,132,135,141,142,144,156],[76,124,141,142,145],[76,123,124,141,142,147],[76,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173],[76,124,141,142,149],[76,124,141,142,150],[76,124,135,141,142,151,152],[76,124,141,142,151,153,168,170],[76,124,136,141,142],[76,124,135,141,142,156,157,159],[76,124,141,142,158,159],[76,124,141,142,156,157],[76,124,141,142,159],[76,124,141,142,160],[76,121,124,141,142,156,161,167],[76,124,135,141,142,162,163],[76,124,141,142,162,163],[76,124,129,141,142,144,156,164],[76,124,141,142,165],[76,124,141,142,144,166],[76,124,138,141,142,150,167],[76,124,129,141,142,168],[76,124,141,142,156,169],[76,124,141,142,143,170],[76,124,141,142,171],[76,117,124,141,142],[76,117,124,135,137,141,142,147,156,159,167,169,170,172],[76,124,141,142,156,173],[76,124,135,141,142,156,164,174,2167,2170,3822,3823],[76,124,141,142,2172],[76,124,135,141,142,156,164,174,2166,2167,2170,2171,2172],[76,124,135,141,142,156,164,174,2166,2167,2170,3833],[62,66,76,124,141,142,175,176,177,179,419,467],[62,66,76,124,141,142,175,176,177,178,334,419,467],[62,66,76,124,141,142,175,176,178,179,419,467],[62,76,124,141,142,179,334,335],[62,76,124,141,142,179,334],[62,66,76,124,141,142,176,177,178,179,419,467],[62,66,76,124,141,142,175,177,178,179,419,467],[60,61,76,124,141,142],[76,124,135,138,140,141,142,144,156,164,167,173,174],[76,124,141,142,4132],[76,124,141,142,4131],[76,124,141,142,483,484,487,1044],[76,124,141,142,1020,1021],[76,124,141,142,484,485,487,488,489],[76,124,141,142,484],[76,124,141,142,484,485,487],[76,124,141,142,484,485],[76,124,141,142,1027],[76,124,141,142,479,1027,1028],[76,124,141,142,479,1027],[76,124,141,142,479,486],[76,124,141,142,480],[76,124,141,142,479,480,481,483],[76,124,141,142,479],[76,124,141,142,2856],[76,124,141,142,2854,2856],[76,124,141,142,2854],[76,124,141,142,2856,2931,2932],[76,124,141,142,2934],[76,124,141,142,2935],[76,124,141,142,2952],[76,124,141,142,2856,2868,2869,2870,2871,2872,2873,2874,2875,2876,2877,2878,2879,2880,2881,2882,2883,2884,2885,2886,2887,2888,2889,2890,2891,2892,2893,2894,2895,2896,2897,2898,2899,2900,2901,2902,2903,2904,2905,2906,2907,2908,2909,2910,2911,2912,2913,2914,2915,2916,2917,2918,2919,2920,2921,2922,2923,2924,2925,2926,2927,2928,2929,2930,2933,2934,2935,2936,2937,2938,2939,2940,2941,2942,2943,2944,2945,2946,2947,2948,2949,2950,2951,2953,2954,2955,2956,2957,2958,2959,2960,2961,2962,2963,2964,2965,2966,2967,2968,2969,2970,2971,2972,2973,2974,2975,2976,2977,2978,2979,2980,2981,2982,2983,2984,2985,2986,2987,2988,2989,2990,2991,2992,2993,2994,2995,2996,2997,2998,2999,3000,3001,3002,3003,3004,3005,3006,3007,3008,3009,3010,3011,3012,3013,3014,3015,3016,3017,3018,3019,3020,3021,3022,3023,3024,3025,3026,3027,3029,3030,3031,3032,3033,3034,3035,3036,3037,3038,3039,3040,3041,3042,3043,3044,3045,3046,3047,3048,3053,3054,3055,3056,3057,3058,3059,3060,3061,3062,3063,3064,3065,3066,3067,3068,3069,3070,3071,3072,3073,3074,3075,3076,3077,3078,3079,3080,3081,3082,3083,3084,3085,3086,3087,3088,3089,3090,3091,3092,3093,3094,3095,3096,3097,3098,3099,3100,3101,3102,3103,3104,3105,3106,3107,3108,3109,3110,3111,3112,3113,3114,3115,3116,3117,3118,3119,3120],[76,124,141,142,3028],[76,124,141,142,2856,2932,3052],[76,124,141,142,2854,3049,3050],[76,124,141,142,3051],[76,124,141,142,3049],[76,124,141,142,2854,2855],[76,124,141,142,2491],[76,124,141,142,2489,2491],[76,124,141,142,2489],[76,124,141,142,2491,2555,2556],[76,124,141,142,2491,2558],[76,124,141,142,2491,2559],[76,124,141,142,2576],[76,124,141,142,2491,2492,2493,2494,2495,2496,2497,2498,2499,2500,2501,2502,2503,2504,2505,2506,2507,2508,2509,2510,2511,2512,2513,2514,2515,2516,2517,2518,2519,2520,2521,2522,2523,2524,2525,2526,2527,2528,2529,2530,2531,2532,2533,2534,2535,2536,2537,2538,2539,2540,2541,2542,2543,2544,2545,2546,2547,2548,2549,2550,2551,2552,2553,2554,2557,2558,2559,2560,2561,2562,2563,2564,2565,2566,2567,2568,2569,2570,2571,2572,2573,2574,2575,2577,2578,2579,2580,2581,2582,2583,2584,2585,2586,2587,2588,2589,2590,2591,2592,2593,2594,2595,2596,2597,2598,2599,2600,2601,2602,2603,2604,2605,2606,2607,2608,2609,2610,2611,2612,2613,2614,2615,2616,2617,2618,2619,2620,2621,2622,2623,2624,2625,2626,2627,2628,2629,2630,2631,2632,2633,2634,2635,2636,2637,2638,2639,2640,2641,2642,2643,2644,2645,2646,2647,2648,2649,2650,2651,2653,2654,2655,2656,2657,2658,2659,2660,2661,2662,2663,2664,2665,2666,2667,2668,2669,2670,2671,2672,2677,2678,2679,2680,2681,2682,2683,2684,2685,2686,2687,2688,2689,2690,2691,2692,2693,2694,2695,2696,2697,2698,2699,2700,2701,2702,2703,2704,2705,2706,2707,2708,2709,2710,2711,2712,2713,2714,2715,2716,2717,2718,2719,2720,2721,2722,2723,2724,2725,2726,2727,2728,2729,2730,2731,2732,2733,2734,2735,2736,2737,2738,2739,2740,2741,2742,2743,2744],[76,124,141,142,2491,2652],[76,124,141,142,2491,2556,2676],[76,124,141,142,2489,2673,2674],[76,124,141,142,2675],[76,124,141,142,2491,2673],[76,124,141,142,2488,2489,2490],[76,124,141,142,164,1104,3723,3820,3830,3831],[76,124,141,142,3519,3524,3528,3573,3811],[76,124,141,142,3577,3810],[76,124,141,142,3519,3520,3815],[76,124,141,142,3521],[76,124,141,142,3519,3529,3811],[76,124,141,142,3519,3528,3529,3597,3652,3723,3775,3809,3811],[76,124,141,142,3519,3524,3528,3529,3810],[76,124,141,142,3519],[76,124,141,142,3567,3572,3593],[76,124,141,142,3519,3537,3567],[76,124,141,142,3541,3542,3543,3544,3545,3546,3547,3548,3549,3550,3552,3553,3554,3555,3556,3557,3558,3559,3560,3570],[76,124,141,142,3519,3540,3569,3810,3811],[76,124,141,142,3519,3569,3810,3811],[76,124,141,142,3519,3528,3529,3562,3567,3568,3810,3811],[76,124,141,142,3519,3528,3529,3567,3569,3810,3811],[76,124,141,142,3519,3569,3810],[76,124,141,142,3519,3567,3569,3810,3811],[76,124,141,142,3540,3541,3542,3543,3544,3545,3546,3547,3548,3549,3550,3552,3553,3554,3555,3556,3557,3558,3559,3560,3569,3570],[76,124,141,142,3519,3539,3569,3810],[76,124,141,142,3519,3551,3569,3810,3811],[76,124,141,142,3519,3551,3567,3569,3810,3811],[76,124,141,142,3519,3521,3526,3528,3529,3534,3567,3571,3572,3573,3575,3578,3579,3580,3582,3588,3589,3593],[76,124,141,142,3519,3528,3529,3567,3571,3573,3588,3592,3593],[76,124,141,142,3519,3567,3571],[76,124,141,142,3538,3539,3562,3563,3564,3565,3566,3567,3568,3571,3580,3581,3582,3588,3589,3591,3592,3594,3595,3596],[76,124,141,142,3519,3528,3567,3571],[76,124,141,142,3519,3528,3563,3567],[76,124,141,142,3519,3528,3567,3582],[76,124,141,142,3519,3526,3527,3528,3567,3576,3577,3582,3589,3593],[76,124,141,142,3583,3584,3585,3586,3587,3590,3593],[76,124,141,142,3519,3524,3526,3527,3528,3534,3562,3567,3569,3576,3577,3582,3584,3589,3590,3593],[76,124,141,142,3519,3526,3528,3534,3571,3580,3587,3589,3593],[76,124,141,142,3519,3528,3529,3567,3573,3576,3577,3582,3589],[76,124,141,142,3519,3528,3574,3576,3577],[76,124,141,142,3519,3528,3576,3577,3582,3589,3592],[76,124,141,142,3519,3520,3526,3527,3528,3529,3534,3567,3571,3572,3576,3577,3580,3582,3589,3593],[76,124,141,142,3524,3525,3526,3527,3528,3529,3534,3567,3571,3572,3582,3587,3592],[76,124,141,142,3519,3524,3526,3527,3528,3529,3567,3569,3572,3576,3577,3582,3589,3593,3811],[76,124,141,142,3519,3528,3539,3567],[76,124,141,142,3519,3520,3521,3529,3537,3573,3574,3581,3589,3593],[76,124,141,142,3526,3527,3528],[76,124,141,142,3519,3524,3538,3561,3562,3564,3565,3566,3568,3569,3810],[76,124,141,142,3526,3528,3538,3562,3564,3565,3566,3567,3568,3571,3572,3592,3597,3810,3811],[76,124,141,142,3519,3528],[76,124,141,142,3519,3527,3528,3529,3534,3569,3572,3590,3591,3810],[76,124,141,142,3519,3522,3524,3525,3526,3529,3537,3573,3576,3810,3811,3812,3813,3814],[76,124,141,142,3519,3785,3816],[76,124,141,142,3529,3817],[76,124,141,142,3818,3819],[76,124,141,142,3519,3520,3522,3528,3573,3761,3787,3793,3807,3809,3816],[76,124,141,142,3627,3635,3648],[76,124,141,142,3519,3528,3627],[76,124,141,142,3599,3600,3601,3602,3603,3604,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3618,3619,3620,3621,3622,3630],[76,124,141,142,3519,3629,3810,3811],[76,124,141,142,3519,3529,3629,3810,3811],[76,124,141,142,3519,3528,3529,3627,3628,3810,3811],[76,124,141,142,3519,3528,3529,3627,3629,3810,3811],[76,124,141,142,3519,3529,3627,3629,3810,3811],[76,124,141,142,3599,3600,3601,3602,3603,3604,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3618,3619,3620,3621,3622,3629,3630],[76,124,141,142,3519,3609,3629,3810,3811],[76,124,141,142,3519,3529,3617,3810,3811],[76,124,141,142,3519,3521,3526,3528,3529,3573,3627,3634,3635,3640,3641,3642,3643,3645,3648],[76,124,141,142,3519,3528,3529,3573,3627,3629,3632,3633,3638,3639,3645,3648],[76,124,141,142,3519,3627,3631],[76,124,141,142,3598,3624,3625,3626,3627,3628,3631,3634,3640,3642,3644,3645,3646,3647,3649,3650,3651],[76,124,141,142,3519,3528,3627,3631],[76,124,141,142,3519,3528,3627,3635,3645],[76,124,141,142,3519,3526,3528,3529,3576,3627,3629,3640,3645,3648],[76,124,141,142,3633,3636,3637,3638,3639,3648],[76,124,141,142,3519,3520,3524,3528,3534,3576,3577,3627,3629,3637,3638,3640,3645,3648],[76,124,141,142,3519,3526,3634,3636,3640,3648],[76,124,141,142,3519,3528,3529,3573,3576,3627,3640,3645],[76,124,141,142,3519,3520,3526,3527,3528,3529,3534,3576,3624,3627,3631,3634,3635,3640,3645,3648],[76,124,141,142,3524,3525,3526,3527,3528,3529,3534,3627,3631,3635,3636,3645,3647],[76,124,141,142,3519,3520,3526,3528,3529,3576,3627,3629,3640,3645,3648,3811],[76,124,141,142,3519,3627,3647],[76,124,141,142,3519,3520,3521,3528,3529,3573,3640,3644,3648],[76,124,141,142,3526,3527,3528,3534,3637],[76,124,141,142,3519,3524,3598,3623,3624,3625,3626,3628,3629,3810],[76,124,141,142,3526,3598,3624,3625,3626,3627,3628,3635,3636,3647,3652,3815],[76,124,141,142,3519,3527,3528,3534,3631,3635,3637,3646,3810],[76,124,141,142,3519,3522,3529,3573,3640,3644,3645,3761,3828],[76,124,141,142,3828,3829],[76,124,141,142,3519,3520,3522,3528,3529,3573,3640,3645,3648,3761],[76,124,141,142,3519,3521,3522,3529,3573,3706,3713,3823,3824],[76,124,141,142,3824,3825],[76,124,141,142,3519,3520,3522,3528,3529,3573,3707,3713,3717,3723,3761,3823],[76,124,141,142,3524,3528,3811],[76,124,141,142,3694,3700,3717],[76,124,141,142,3519,3537,3694],[76,124,141,142,3654,3655,3656,3657,3658,3660,3661,3662,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675,3676,3677,3678,3679,3680,3681,3682,3683,3684,3685,3686,3687,3697],[76,124,141,142,3519,3664,3696,3810,3811],[76,124,141,142,3519,3696,3810,3811],[76,124,141,142,3519,3529,3696,3810,3811],[76,124,141,142,3519,3528,3529,3689,3694,3695,3810,3811],[76,124,141,142,3519,3528,3529,3694,3696,3810,3811],[76,124,141,142,3519,3696,3810],[76,124,141,142,3519,3529,3659,3696,3810,3811],[76,124,141,142,3519,3529,3694,3696,3810,3811],[76,124,141,142,3654,3655,3656,3657,3658,3660,3661,3662,3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675,3676,3677,3678,3679,3680,3681,3682,3683,3684,3685,3686,3687,3696,3697,3698],[76,124,141,142,3519,3663,3696,3810],[76,124,141,142,3519,3666,3696,3810,3811],[76,124,141,142,3519,3694,3696,3810,3811],[76,124,141,142,3519,3659,3666,3694,3696,3810,3811],[76,124,141,142,3519,3529,3659,3694,3696,3810,3811],[76,124,141,142,3519,3521,3526,3528,3529,3573,3694,3699,3700,3701,3702,3703,3704,3705,3707,3712,3713,3716,3717],[76,124,141,142,3519,3528,3529,3573,3632,3694,3699,3707,3712,3716,3717],[76,124,141,142,3519,3694,3699],[76,124,141,142,3653,3663,3689,3690,3691,3692,3693,3694,3695,3699,3705,3706,3707,3712,3713,3715,3716,3718,3719,3720,3722],[76,124,141,142,3519,3528,3694,3699],[76,124,141,142,3519,3528,3690,3694],[76,124,141,142,3519,3528,3529,3694,3707],[76,124,141,142,3519,3520,3526,3527,3528,3534,3576,3577,3694,3707,3713,3717],[76,124,141,142,3704,3708,3709,3710,3711,3714,3717],[76,124,141,142,3519,3520,3524,3526,3527,3528,3534,3576,3577,3689,3694,3696,3707,3709,3713,3714,3717],[76,124,141,142,3519,3526,3528,3699,3705,3711,3713,3717],[76,124,141,142,3519,3528,3529,3573,3576,3577,3694,3707,3713],[76,124,141,142,3519,3528,3576,3577,3707,3713,3716],[76,124,141,142,3519,3520,3526,3527,3528,3529,3534,3576,3577,3694,3699,3700,3705,3707,3713,3717],[76,124,141,142,3524,3525,3526,3527,3528,3529,3534,3694,3699,3700,3707,3711,3716],[76,124,141,142,3519,3520,3524,3526,3527,3528,3529,3534,3576,3577,3694,3696,3700,3707,3713,3717,3811],[76,124,141,142,3519,3528,3529,3663,3694,3698,3716],[76,124,141,142,3519,3520,3521,3529,3537,3573,3574,3706,3713,3717],[76,124,141,142,3526,3527,3528,3534,3714],[76,124,141,142,3519,3524,3653,3688,3689,3691,3692,3693,3695,3696,3810],[76,124,141,142,3526,3528,3653,3689,3691,3692,3693,3694,3695,3699,3700,3716,3723,3810,3811],[76,124,141,142,3721],[76,124,141,142,3519,3527,3528,3529,3534,3696,3700,3714,3715,3810],[76,124,141,142,3519,3537],[76,124,141,142,3524,3525,3526,3528,3529,3810,3811],[76,124,141,142,3519,3524,3528,3529,3532,3811,3815],[76,124,141,142,3810],[76,124,141,142,3753,3771],[76,124,141,142,3724,3725,3726,3727,3728,3729,3730,3731,3732,3733,3734,3735,3736,3737,3738,3739,3740,3741,3743,3744,3745,3746,3747,3748,3755],[76,124,141,142,3519,3754,3810,3811],[76,124,141,142,3519,3529,3754,3810,3811],[76,124,141,142,3519,3529,3753,3810,3811],[76,124,141,142,3519,3528,3529,3753,3754,3810,3811],[76,124,141,142,3519,3529,3753,3754,3810,3811],[76,124,141,142,3519,3529,3537,3754,3810,3811],[76,124,141,142,3724,3725,3726,3727,3728,3729,3730,3731,3732,3733,3734,3735,3736,3737,3738,3739,3740,3741,3743,3744,3745,3746,3747,3748,3754,3755],[76,124,141,142,3519,3734,3754,3810,3811],[76,124,141,142,3519,3529,3742,3810,3811],[76,124,141,142,3519,3521,3526,3528,3573,3753,3760,3763,3764,3765,3768,3770,3771],[76,124,141,142,3519,3528,3529,3573,3632,3753,3754,3757,3758,3759,3770,3771],[76,124,141,142,3750,3751,3752,3753,3756,3760,3765,3768,3769,3770,3772,3773,3774],[76,124,141,142,3519,3528,3753,3756],[76,124,141,142,3519,3753,3756],[76,124,141,142,3519,3528,3753,3770],[76,124,141,142,3519,3526,3528,3529,3576,3753,3754,3760,3770,3771],[76,124,141,142,3757,3758,3759,3766,3767,3771],[76,124,141,142,3519,3524,3528,3576,3577,3753,3754,3758,3760,3770,3771],[76,124,141,142,3519,3526,3760,3765,3766,3771],[76,124,141,142,3519,3520,3526,3527,3528,3529,3534,3576,3753,3756,3760,3765,3770,3771],[76,124,141,142,3524,3525,3526,3527,3528,3529,3534,3753,3756,3766,3770],[76,124,141,142,3519,3526,3528,3529,3576,3753,3754,3760,3770,3771,3811],[76,124,141,142,3519,3753],[76,124,141,142,3519,3520,3521,3528,3529,3573,3760,3769,3771],[76,124,141,142,3526,3527,3528,3534,3767],[76,124,141,142,3519,3524,3749,3750,3751,3752,3754,3810],[76,124,141,142,3526,3528,3750,3751,3752,3753,3775,3810,3811],[76,124,141,142,3519,3521,3522,3529,3573,3760,3762,3769],[76,124,141,142,3762,3763],[76,124,141,142,3519,3520,3522,3528,3529,3573,3760,3761,3770,3771],[76,124,141,142,3528,3811],[76,124,141,142,3530,3531],[76,124,141,142,3533,3535],[76,124,141,142,3528,3534,3811],[76,124,141,142,3528,3532,3536],[76,124,141,142,3519,3523,3524,3526,3527,3529,3811],[76,124,141,142,3781,3802,3807],[76,124,141,142,3519,3528,3802],[76,124,141,142,3777,3797,3798,3799,3800,3805],[76,124,141,142,3519,3529,3804,3810,3811],[76,124,141,142,3519,3528,3529,3802,3803,3810,3811],[76,124,141,142,3519,3528,3529,3802,3804,3810,3811],[76,124,141,142,3777,3797,3798,3799,3800,3804,3805],[76,124,141,142,3519,3529,3796,3802,3804,3810,3811],[76,124,141,142,3519,3804,3810,3811],[76,124,141,142,3519,3529,3802,3804,3810,3811],[76,124,141,142,3519,3521,3526,3528,3529,3573,3781,3782,3783,3784,3787,3792,3793,3802,3807],[76,124,141,142,3519,3528,3529,3573,3632,3787,3792,3802,3806,3807],[76,124,141,142,3519,3802,3806],[76,124,141,142,3776,3778,3779,3780,3784,3785,3787,3792,3793,3795,3796,3802,3803,3806,3808],[76,124,141,142,3519,3528,3802,3806],[76,124,141,142,3519,3528,3787,3795,3802],[76,124,141,142,3519,3526,3527,3528,3529,3576,3577,3787,3793,3802,3804,3807],[76,124,141,142,3788,3789,3790,3791,3794,3807],[76,124,141,142,3519,3526,3527,3528,3529,3534,3576,3577,3778,3787,3789,3793,3794,3802,3804,3807],[76,124,141,142,3519,3526,3784,3791,3793,3807],[76,124,141,142,3519,3528,3529,3573,3576,3577,3787,3793,3802],[76,124,141,142,3519,3528,3574,3576,3577,3793],[76,124,141,142,3519,3520,3526,3527,3528,3529,3534,3576,3577,3781,3784,3787,3793,3802,3806,3807],[76,124,141,142,3524,3525,3526,3527,3528,3529,3534,3781,3787,3791,3795,3802,3806],[76,124,141,142,3519,3526,3527,3528,3529,3576,3577,3781,3787,3793,3802,3804,3807,3811],[76,124,141,142,3519,3520,3521,3528,3573,3574,3576,3785,3786,3793,3807],[76,124,141,142,3526,3527,3528,3534,3794],[76,124,141,142,3519,3524,3776,3778,3779,3780,3801,3803,3804,3810],[76,124,141,142,3519,3802,3804],[76,124,141,142,3526,3528,3776,3778,3779,3780,3781,3795,3802,3803,3809],[76,124,141,142,3519,3527,3528,3534,3781,3794,3804,3810],[76,124,141,142,3519,3525,3528,3529,3811],[76,124,141,142,3521,3522,3524,3528,3811],[76,124,141,142,1050,1051],[76,124,141,142,1050,1051,1052,1053],[76,124,141,142,1050,1052],[76,124,141,142,1050],[76,124,141,142,2402,2403,2404],[76,124,141,142,2402],[76,124,141,142,2398,2399],[76,124,141,142,2399,2400,2401,2405],[76,124,141,142,2298,2299,2305,2306],[76,124,141,142,2307,2372,2373],[76,124,141,142,2298,2305,2307],[76,124,141,142,2299,2307],[76,124,141,142,2298,2300,2301,2302,2305,2307,2310,2311],[76,124,141,142,2301,2312,2326,2327],[76,124,141,142,2298,2305,2310,2311,2312],[76,124,141,142,2298,2300,2305,2307,2309,2310,2311],[76,124,141,142,2298,2299,2310,2311,2312],[76,124,141,142,2297,2313,2318,2325,2328,2329,2371,2374,2397],[76,124,141,142,2298],[76,124,141,142,2299,2303,2304],[76,124,141,142,2299,2303,2304,2305,2306,2308,2319,2320,2321,2322,2323,2324],[76,124,141,142,2299,2304,2305],[76,124,141,142,2299],[76,124,141,142,2298,2299,2304,2305,2307,2320],[76,124,141,142,2305],[76,124,141,142,2299,2305,2306],[76,124,141,142,2303,2305],[76,124,141,142,2312,2326],[76,124,141,142,2298,2300,2301,2302,2305,2310],[76,124,141,142,2298,2305,2308,2311],[76,124,141,142,2301,2309,2310,2311,2314,2315,2316,2317],[76,124,141,142,2311],[76,124,141,142,2298,2300,2305,2307,2309,2311],[76,124,141,142,2307,2310],[76,124,141,142,2307],[76,124,141,142,2298,2305,2311],[76,124,141,142,2299,2305,2310,2321],[76,124,141,142,2310,2375],[76,124,141,142,2307,2311],[76,124,141,142,2305,2310],[76,124,141,142,2310],[76,124,141,142,2298,2308],[76,124,141,142,2298,2305],[76,124,141,142,2305,2310,2311],[76,124,141,142,2330,2375,2376,2377,2378,2379,2380,2381,2382,2383,2384,2385,2386,2387,2388,2389,2390,2391,2392,2393,2394,2395,2396],[76,124,141,142,2310,2311],[76,124,141,142,2299,2305,2309,2310,2311],[76,124,141,142,2300,2305],[76,124,141,142,2298,2305,2309,2310,2311,2323],[76,124,141,142,2298,2300,2305,2311],[76,124,141,142,2298,2300,2305],[76,124,141,142,2331,2332,2333,2334,2335,2336,2337,2338,2339,2340,2341,2342,2343,2344,2345,2346,2347,2348,2349,2350,2351,2352,2353,2354,2355,2356,2357,2358,2359,2360,2361,2362,2363,2364,2365,2366,2367,2368,2369,2370],[76,124,141,142,2323,2331],[76,124,141,142,2331,2333],[76,124,141,142,2298,2305,2307,2310,2330,2331],[76,124,141,142,2298,2305,2307,2309,2310,2311,2323,2330],[76,124,141,142,809],[76,124,141,142,491,501,793,794,935,937,938,939],[76,124,141,142,491,788,792,798,800,801,937,940],[76,124,141,142,170,491,502,631,774,776,802,803,808,809,921,937],[76,124,141,142,170,501,774,777,783,802,803,804,805,936,938],[76,124,141,142,491,501,793,794,809,921,935,939,942,943],[76,124,141,142,491,788,792,798,800,801,942,944],[76,124,141,142,170,491,502,631,774,776,802,803,808,809,921,942],[76,124,141,142,170,501,774,777,783,802,803,804,805,941,943],[76,124,141,142,491,501,793,801,805,935],[76,124,141,142,491,788,792,794,798,800,805],[76,124,141,142,170,491,502,631,774,776,802,803,805,808,921],[76,124,141,142,170,501,774,777,783,801,802,803,804,809],[76,124,141,142,492,493,777,921,930,931,932,933,934],[76,124,141,142,648,802],[76,124,141,142,492,493,804,921,930,931,932,933,934],[76,124,141,142,768,921],[76,124,141,142,921],[76,124,141,142,810,921],[76,124,141,142,536],[76,124,141,142,532,533,539,540,541,542,544,545,546,547,548,549,551,552,556,561,597,598,613,614,615,616,619,620,621,622,623,624,625,626,627,628,629,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,649,650,651,652,653,654,655,656,657,738,739,740,741,742,743],[76,124,141,142,659,660,661,664,666,667,668,669,671,674,675,676,679,680,681,682,683,684,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,707,709,710,711,712,713,714,716,717,718,719,720,721,722,723,724,729,730,731,732,733,734,745,747],[76,124,141,142,778,779,780],[76,124,141,142,496,779,781],[76,124,141,142,501,782],[76,124,141,142,496,779,781,782],[76,124,141,142,785],[76,124,141,142,784,786,787],[76,124,141,142,812],[76,124,141,142,491,521,522,528,921],[76,124,141,142,491,523,527,921],[76,124,141,142,491,523,753,921],[76,124,141,142,517],[76,124,141,142,491,526],[76,124,141,142,491,524],[76,124,141,142,491,521,525],[76,124,141,142,491,521,523,529],[76,124,141,142,491,523],[76,124,141,142,491,521,523,816],[76,124,141,142,491,521,525,527],[76,124,141,142,491,521,524],[76,124,141,142,491,521,524,529,821],[76,124,141,142,529],[76,124,141,142,820],[76,124,141,142,491,529,818,819],[76,124,141,142,523,528],[76,124,141,142,753,921],[76,124,141,142,491,532,748,824,921],[76,124,141,142,532],[76,124,141,142,757,776],[76,124,141,142,491,776,921],[76,124,141,142,568,569,573],[76,124,141,142,491,565,567,568,569,570,571,572],[76,124,141,142,568],[76,124,141,142,566],[76,124,141,142,491,565],[76,124,141,142,562,563],[76,124,141,142,564],[76,124,141,142,491,562],[76,124,141,142,753],[76,124,141,142,491,753],[76,124,141,142,537,828],[76,124,141,142,537],[76,124,141,142,537,827],[76,124,141,142,491,494,495,922],[76,124,141,142,496,835],[76,124,141,142,496,829,837],[76,124,141,142,496,917],[76,124,141,142,491,496,839],[76,124,141,142,834,841],[76,124,141,142,834,843,922],[76,124,141,142,496,845],[76,124,141,142,494],[76,124,141,142,494,829],[76,124,141,142,833,922],[76,124,141,142,829,833],[76,124,141,142,833],[76,124,141,142,494,603],[76,124,141,142,494,830,921],[76,124,141,142,829,834,847],[76,124,141,142,855,858],[76,124,141,142,494,861],[76,124,141,142,494,532],[76,124,141,142,832,833],[76,124,141,142,834,849],[76,124,141,142,496,851],[76,124,141,142,496,603,604],[76,124,141,142,496,830,853,921],[76,124,141,142,834,855,922],[76,124,141,142,856,857],[76,124,141,142,496,915],[76,124,141,142,496,859],[76,124,141,142,496,861,862],[76,124,141,142,496,532,864],[76,124,141,142,832,834,866],[76,124,141,142,834,868],[76,124,141,142,491,496,497,500,921],[76,124,141,142,923],[76,124,141,142,922],[76,124,141,142,494,921],[76,124,141,142,498,499],[76,124,141,142,496],[76,124,141,142,831,922],[76,124,141,142,496,833,921],[76,124,141,142,491,921,923],[76,124,141,142,491,496,921,922],[76,124,141,142,767],[76,124,141,142,795,796,797],[76,124,141,142,491,767,772],[76,124,141,142,773,789,790,791],[76,124,141,142,491,768,921],[76,124,141,142,774],[76,124,141,142,159,167,491,536,648,767,770,872,921,923,924,925,926,927],[76,124,141,142,159,491,536,767,769,770,771,773,921],[76,124,141,142,774,921,928,929],[76,124,141,142,648,768,784,903,923,924,925,926],[76,124,141,142,768],[76,124,141,142,767,952],[76,124,141,142,159,167,536,770],[76,124,141,142,784,928],[76,124,141,142,159,491],[76,124,141,142,536,860,922],[76,124,141,142,491,536,537,548,551,556,921],[76,124,141,142,491,806,809,921],[76,124,141,142,807],[76,124,141,142,770,806],[76,124,141,142,737,748],[76,124,141,142,167,491,492,493,494,495,496,500,501,507,523,524,525,526,527,528,529,531,532,533,534,536,537,538,539,540,541,542,544,545,546,547,548,549,551,552,555,556,560,561,563,564,581,597,598,600,603,606,607,608,610,611,612,613,614,615,616,619,620,621,622,623,624,625,626,627,628,629,630,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,649,650,651,652,653,654,655,656,657,736,737,738,739,740,741,742,743,745,746,748,753,755,756,757,759,763,764,765,767,770,774,776,779,780,783,784,785,786,787,794,801,805,809,810,811,814,815,816,817,818,819,820,821,822,823,825,826,827,828,829,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,855,856,858,859,860,861,864,865,866,867,868,869,870,871,873,874,875,877,879,884,885,889,890,892,893,894,895,896,897,898,905,914,916,920,921,922,923,928,929,930,931,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951],[76,124,141,142,753,875,876],[76,124,141,142,564,748],[76,124,141,142,491,809],[76,124,141,142,496,500,921,922],[76,124,141,142,799],[76,124,141,142,911,912],[76,124,141,142,911],[76,124,141,142,507,508],[76,124,141,142,491,507,508,748,921],[76,124,141,142,506,748],[76,124,141,142,880],[76,124,141,142,881],[76,124,141,142,536,770,811,882,883,885,921],[76,124,141,142,491,503,748,753],[76,124,141,142,491,557,558,748,753],[76,124,141,142,748],[76,124,141,142,748,753],[76,124,141,142,491,503,559],[76,124,141,142,491,503,505,534,735,744,748,753],[76,124,141,142,491,503,748],[76,124,141,142,491,496,503,505,519,528,531,532,534,556,560,597,615,626,629,630,649,720,735,736,744,746,748,753,754,755,756,757,758,759,760,763,764,765,766,775,921],[76,124,141,142,491,496,503,505,529,531,534,557,558,564,595,735,737,744,748,749,750,751,752],[76,124,141,142,491,531,753],[76,124,141,142,491,496,532,595,596],[76,124,141,142,491,613],[76,124,141,142,612],[76,124,141,142,491,532],[76,124,141,142,496,532],[76,124,141,142,491,496,505,532,546,550,556],[76,124,141,142,491,603,619],[76,124,141,142,496,532,536,606,618],[76,124,141,142,536,617],[76,124,141,142,491,532,534,542],[76,124,141,142,491,496,531,532],[76,124,141,142,491,496,532],[76,124,141,142,491,748,776],[76,124,141,142,491,496,529,530,531,753],[76,124,141,142,491,532,534,544,545,548,551,556],[76,124,141,142,491,534,553,554,556],[76,124,141,142,491,496,532,548,551,553,554,555],[76,124,141,142,505,553],[76,124,141,142,540,544,545,548,549,551,552],[76,124,141,142,491,496,531,532,595,631,776,921],[76,124,141,142,491,633],[76,124,141,142,491,496,505,532,535,538,546,547,550,556],[76,124,141,142,491,496,532,539,540,541,544,545,548,551,556],[76,124,141,142,532,556],[76,124,141,142,491,496,528,531,532,595],[76,124,141,142,491,532,534,598],[76,124,141,142,491,496,532,595,599,600,606,609,610,611],[76,124,141,142,491,603,605,922],[76,124,141,142,491,496,601,602,922],[76,124,141,142,491,922],[76,124,141,142,491,496,607,608,609,922],[76,124,141,142,491,496,610,922],[76,124,141,142,607],[76,124,141,142,491,610,922],[76,124,141,142,607,736,891],[76,124,141,142,505,532,546],[76,124,141,142,491,532,550,556,776,921],[76,124,141,142,491,531,532,544,556],[76,124,141,142,491,505,532,546,550,556],[76,124,141,142,491,496,531,532,595,648],[76,124,141,142,491,534,542,544],[76,124,141,142,491,496,505,532,534,542,543,546,550,556,921],[76,124,141,142,491,496,531,532,560,748,753],[76,124,141,142,491,528,532],[76,124,141,142,491,532,534,652,655,656],[76,124,141,142,491,532,534,653],[76,124,141,142,532,655],[76,124,141,142,491,532,736,737,748],[76,124,141,142,491,496,505,532,535,546,550,556],[76,124,141,142,496,532,610],[76,124,141,142,510,518],[76,124,141,142,510,753],[76,124,141,142,510,513],[76,124,141,142,505,510,753],[76,124,141,142,491,503,504,505,507,509,510,511,512,514,515,516,519,520,533,544,545,556,561,747,753,776,922],[76,124,141,142,491,748],[76,124,141,142,505,534,735,744,748,753],[76,124,141,142,491,496,528,532,736,746,753],[76,124,141,142,658],[76,124,141,142,491,496,575,746],[76,124,141,142,491,594,663],[76,124,141,142,491,665,746],[76,124,141,142,491,662,665,673,746],[76,124,141,142,581],[76,124,141,142,746],[76,124,141,142,491,496,529,530,745,753],[76,124,141,142,491,594,665,670,746],[76,124,141,142,491,594,665,670,673,746],[76,124,141,142,491,594,670,746],[76,124,141,142,491,594,662,665,670,673,677,678,746],[76,124,141,142,491,594,662,670,746],[76,124,141,142,491,594,662,665,670,746],[76,124,141,142,491,662,746],[76,124,141,142,685],[76,124,141,142,491,593,594,670,746],[76,124,141,142,491,670,746],[76,124,141,142,491,594,662,665,670,678,746],[76,124,141,142,491,581,594],[76,124,141,142,491,581,583,662],[76,124,141,142,491,580,581,665,670],[76,124,141,142,491,496,564,574,575,580,746],[76,124,141,142,491,581,593,594,670],[76,124,141,142,491,594,706],[76,124,141,142,491,587,589,593,594,665,708,746],[76,124,141,142,491,594,665,746],[76,124,141,142,663],[76,124,141,142,491,580,594,665,670,746],[76,124,141,142,491,663,715],[76,124,141,142,491,581,670],[76,124,141,142,491,528,746],[76,124,141,142,491,496,505,534,576,578,581,582,583,585,587,588,589,593,594,735,744,746,753],[76,124,141,142,728],[76,124,141,142,491,581,582,583,594,665],[76,124,141,142,491,594,665,670,725],[76,124,141,142,491,673,725,727],[76,124,141,142,491,581,594,670],[76,124,141,142,491,503,533,545,559],[76,124,141,142,491,776],[76,124,141,142,884,921],[76,124,141,142,496,922],[76,124,141,142,491,564,736,748,749,761,762,776,921],[76,124,141,142,896],[76,124,141,142,496,897,922],[76,124,141,142,748,763,776],[76,124,141,142,491],[76,124,141,142,491,586,921],[76,124,141,142,491,587,921],[76,124,141,142,491,921],[76,124,141,142,491,585,921],[76,124,141,142,491,726,921],[76,124,141,142,491,672,921],[76,124,141,142,491,592,921],[76,124,141,142,491,582,921],[76,124,141,142,491,579,921],[76,124,141,142,491,584,921],[76,124,141,142,491,574,921],[76,124,141,142,491,588,921],[76,124,141,142,491,583,921],[76,124,141,142,491,590,591,921],[76,124,141,142,491,576,577,921],[76,124,141,142,491,578,921],[76,124,141,142,748,754],[76,124,141,142,491,748,754],[76,124,141,142,167,491,536,921],[76,124,141,142,540,544,545,548,549,551],[76,124,141,142,491,536,919,922],[76,124,129,141,142,147,156,159,167,168,491,496,501,505,507,523,524,525,526,527,528,529,531,532,533,534,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,554,555,556,559,560,561,563,564,567,573,574,575,576,578,579,580,581,582,583,585,587,588,589,592,593,594,597,598,599,600,603,606,607,608,610,611,612,613,614,615,616,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,726,727,728,729,730,731,732,733,734,736,737,738,739,740,741,742,743,745,746,747,748,750,752,753,755,756,757,759,763,764,765,767,770,774,776,784,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,825,826,827,828,829,830,832,834,836,838,840,842,844,846,848,850,852,854,856,858,860,861,863,865,867,869,870,871,872,873,874,875,877,878,879,880,881,882,883,884,885,886,887,888,889,890,892,893,894,895,896,897,898,899,901,904,905,906,907,908,909,910,913,914,916,918,920,922,923,927,928],[76,124,141,142,491,630,921,922],[76,124,141,142,783,804,809,935],[76,124,141,142,491,949],[76,124,141,142,501,921,939,948],[76,124,141,142,491,536,776,899,900,901,902,903,921],[76,124,141,142,491,860,922],[76,124,141,142,899],[76,124,141,142,894,921],[76,124,141,142,1081,1082],[76,124,141,142,4133],[76,124,141,142,174,4140,4144],[76,124,141,142,4140,4141],[76,124,141,142,4145],[76,124,141,142,4140,4148,4152],[76,124,141,142,174,4140,4148,4151],[76,124,141,142,4140,4154,4155],[76,124,141,142,3906,3907,3915],[76,124,141,142,3906,3907,3908,3915,3916],[76,124,141,142,3929],[76,124,141,142,3928,3929,3930,3931,3932],[76,124,141,142,3928,3936],[76,124,141,142,3906,3907,3908,3909,3910,3911,3912,3913,3914,3915,3916,3917,3918,3919,3920,3921,3922,3923,3924,3925,3926,3927,3933,3934,3935],[76,124,141,142,3906,3907,3908,3914,3915],[76,124,141,142,3906,3907],[76,124,141,142,3910,3912,3913,3915],[76,124,141,142,3908,3909,3914,3915],[76,124,141,142,3914,3915],[76,124,141,142,3908,3911,3912,3914,3936],[76,124,141,142,3911,3936],[76,124,141,142,3906,3907,3910,3914,3915,3936],[76,124,141,142,3910,3914,3915],[76,124,141,142,3907,3908,3909,3910,3914,3915,3936],[76,124,141,142,3906,3936],[76,124,141,142,3906,3914,3915,3936],[76,124,141,142,3908,3915,3936],[76,124,141,142,3906,3908,3914,3915],[76,124,141,142,3906,3915],[76,124,141,142,3907,3914,3915],[76,124,141,142,984,985],[76,124,141,142,2761],[68,76,124,141,142],[76,124,141,142,422],[76,124,141,142,424,425,426,427],[76,124,141,142,429],[76,124,141,142,183,197,198,199,201,416],[76,124,141,142,183,222,224,226,227,230,416,418],[76,124,141,142,183,187,189,190,191,192,193,405,416,418],[76,124,141,142,416],[76,124,141,142,198,300,386,395,412],[76,124,141,142,183],[76,124,141,142,180,412],[76,124,141,142,234],[76,124,141,142,233,416,418],[76,124,138,141,142,282,300,329,473],[76,124,138,141,142,293,309,395,411],[76,124,138,141,142,347],[76,124,141,142,399],[76,124,141,142,398,399,400],[76,124,141,142,398],[70,76,124,138,141,142,180,183,187,190,194,195,196,198,202,210,211,340,365,396,416,419],[76,124,141,142,183,200,218,222,223,228,229,416,473],[76,124,141,142,200,473],[76,124,141,142,211,218,280,416,473],[76,124,141,142,473],[76,124,141,142,183,200,201,473],[76,124,141,142,225,473],[76,124,141,142,194,397,404],[76,124,141,142,150,242,412],[76,124,141,142,242,412],[62,76,124,141,142,242],[62,76,124,141,142,301],[76,124,141,142,297,345,412,455,456],[76,124,141,142,392,449,450,451,452,454],[76,124,141,142,391],[76,124,141,142,391,392],[76,124,141,142,191,341,342,343],[76,124,141,142,341,344,345],[76,124,141,142,453],[76,124,141,142,341,345],[62,76,124,141,142,184,443],[62,76,124,141,142,167],[62,76,124,141,142,200,270],[62,76,124,141,142,200],[76,124,141,142,268,272],[62,76,124,141,142,269,421],[62,66,76,124,138,141,142,174,175,176,177,178,179,419,465,466],[76,124,138,141,142],[76,124,138,141,142,187,249,341,351,366,386,401,402,416,417,473],[76,124,141,142,210,403],[76,124,141,142,419],[76,124,141,142,182],[62,76,124,141,142,282,296,308,318,320,411],[76,124,141,142,150,282,296,317,318,319,411,472],[76,124,141,142,311,312,313,314,315,316],[76,124,141,142,313],[76,124,141,142,317],[76,124,141,142,240,241,242,244],[62,76,124,141,142,235,236,237,243],[76,124,141,142,240,243],[76,124,141,142,238],[76,124,141,142,239],[62,76,124,141,142,242,269,421],[62,76,124,141,142,242,420,421],[62,76,124,141,142,242,421],[76,124,141,142,366,408],[76,124,141,142,408],[76,124,138,141,142,417,421],[76,124,141,142,305],[76,123,124,141,142,304],[76,124,141,142,212,250,288,290,292,293,294,295,338,341,411,414,417],[76,124,141,142,212,326,341,345],[76,124,141,142,293,411],[62,76,124,141,142,293,302,303,305,306,307,308,309,310,321,322,323,324,325,327,328,411,412,473],[76,124,141,142,287],[76,124,138,141,142,150,212,213,249,264,294,338,339,340,345,366,386,407,416,417,418,419,473],[76,124,141,142,411],[76,123,124,141,142,198,291,294,340,407,409,410,417],[76,124,141,142,293],[76,123,124,141,142,249,254,283,284,285,286,287,288,289,290,292,411,412],[76,124,138,141,142,254,255,283,417,418],[76,124,141,142,198,340,341,366,407,411,417],[76,124,138,141,142,416,418],[76,124,138,141,142,156,414,417,418],[76,124,138,141,142,150,167,180,187,200,212,213,215,250,251,256,261,264,290,294,341,351,353,356,358,361,362,363,364,365,386,406,407,412,414,416,417,418],[76,124,138,141,142,156],[76,124,141,142,183,184,185,187,192,195,200,218,406,414,415,419,421,473],[76,124,138,141,142,156,167,230,232,234,235,236,237,244,473],[76,124,141,142,150,167,180,222,232,260,261,262,263,290,341,356,365,366,372,375,376,386,407,412,414],[76,124,141,142,194,195,210,340,365,407,416],[76,124,138,141,142,167,184,187,290,370,414,416],[76,124,141,142,281],[76,124,138,141,142,373,374,383],[76,124,141,142,414,416],[76,124,141,142,288,291],[76,124,141,142,290,294,406,421],[76,124,138,141,142,150,216,222,263,356,366,372,375,378,414],[76,124,138,141,142,194,210,222,379],[76,124,141,142,183,215,381,406,416],[76,124,138,141,142,167,416],[76,124,138,141,142,200,214,215,216,227,245,380,382,406,416],[70,76,124,141,142,212,294,385,419,421],[76,124,138,141,142,150,167,187,194,202,210,213,250,256,260,261,262,263,264,290,341,353,366,367,369,371,386,406,407,412,413,414,421],[76,124,138,141,142,156,194,372,377,383,414],[76,124,141,142,205,206,207,208,209],[76,124,141,142,251,357],[76,124,141,142,359],[76,124,141,142,357],[76,124,141,142,359,360],[76,124,138,141,142,187,190,191,249,417],[76,124,138,141,142,150,182,184,212,250,264,294,349,350,386,414,418,419,421],[76,124,138,141,142,150,167,186,191,290,350,413,417],[76,124,141,142,283],[76,124,141,142,284],[76,124,141,142,285],[76,124,141,142,412],[76,124,141,142,231,247],[76,124,138,141,142,187,231,250],[76,124,141,142,246,247],[76,124,141,142,248],[76,124,141,142,231,232],[76,124,141,142,231,265],[76,124,141,142,231],[76,124,141,142,251,355,413],[76,124,141,142,354],[76,124,141,142,232,412,413],[76,124,141,142,352,413],[76,124,141,142,232,412],[76,124,141,142,338],[76,124,141,142,187,192,250,279,282,288,290,294,296,299,330,333,337,341,385,406,414,417],[76,124,141,142,273,276,277,278,297,298,345],[62,76,124,141,142,177,179,242,331,332],[62,76,124,141,142,177,179,242,331,332,336],[76,124,141,142,394],[76,124,141,142,198,255,293,294,305,309,341,385,387,388,389,390,392,393,396,406,411,416],[76,124,141,142,345],[76,124,141,142,349],[76,124,138,141,142,250,266,346,348,351,385,414,419,421],[76,124,141,142,273,274,275,276,277,278,297,298,345,420],[70,76,124,138,141,142,150,167,213,231,232,264,290,294,383,384,386,406,407,416,417,419],[76,124,141,142,255,257,260,407],[76,124,138,141,142,251,416],[76,124,141,142,254,293],[76,124,141,142,253],[76,124,141,142,255,256],[76,124,141,142,252,254,416],[76,124,138,141,142,186,255,257,258,259,416,417],[62,76,124,141,142,341,342,344],[76,124,141,142,217],[62,76,124,141,142,184],[62,76,124,141,142,412],[62,70,76,124,141,142,264,294,419,421],[76,124,141,142,184,443,444],[62,76,124,141,142,272],[62,76,124,141,142,150,167,182,229,267,269,271,421],[76,124,141,142,200,412,417],[76,124,141,142,368,412],[76,124,141,142,341],[62,76,124,136,138,141,142,150,182,218,224,272,419,420],[62,76,124,141,142,175,176,177,178,179,419,467],[62,63,64,65,66,76,124,141,142],[76,124,129,141,142],[76,124,141,142,219,220,221],[76,124,141,142,219],[62,66,76,124,138,140,141,142,150,174,175,176,177,178,179,180,182,213,317,378,416,418,421,467],[76,124,141,142,431],[76,124,141,142,433],[76,124,141,142,435],[76,124,141,142,437],[76,124,141,142,439,440,441],[76,124,141,142,445],[67,69,76,124,141,142,423,428,430,432,434,436,438,442,446,448,458,459,461,471,472,473,474],[76,124,141,142,447],[76,124,141,142,457],[76,124,141,142,269],[76,124,141,142,460],[76,123,124,141,142,255,257,258,260,308,412,462,463,464,467,468,469,470],[76,124,141,142,2753,2773,3193,3217,3219],[76,124,141,142,3150],[76,124,141,142,2829],[76,124,141,142,2773],[62,76,124,141,142,2829],[76,124,141,142,2487,2766,2767,2772,2773,3193],[62,76,124,141,142,2487,2766,2767,2772,2773,3193],[76,124,141,142,2487,2763,2766,2767,2772,2773,3193],[76,124,141,142,2487,2766,2767,2773,3193],[76,124,141,142,3193],[76,124,141,142,2487,2766,2773,3193],[76,124,141,142,2487,2773,3193],[76,124,141,142,2753,2766,2773],[76,124,141,142,2753,2773,3434,3904],[76,124,141,142,2766,2773],[76,124,141,142,2487,2753,2764,2765,2773,3193,3219,3434,3904],[76,124,141,142,2753,2764,2765,2773,3219,3434,3904],[76,124,141,142,2766,2773,2829],[76,124,141,142,2753,2770,2829,2830,3187,3188,3219,3434,3904],[76,124,141,142,2753],[76,124,141,142,2753,2756,2759,2771,2773,2774,2829,3193,3217,3219,3434,3904],[62,76,124,141,142,2753,2766,2767,2768,2773,2774,2775,2783,2784,2785,2829,2830,2831,2832,2833,3151,3152,3153,3154,3155,3156,3157,3158,3159,3160,3161,3162,3163,3164,3165,3166,3167,3168,3169,3170,3171,3172,3173,3174,3175,3176,3177,3178,3179,3180,3181,3182,3183,3184,3185,3186,3189,3190,3191,3192,3217,3219],[76,124,141,142,2764,2771,2785,2829,3193,3217,3219],[76,124,141,142,2812,2829,3434,3904],[76,124,141,142,2753,2771,2778,2782,2783,2784,2829,2830,3193,3217,3219],[76,124,141,142,2764,2765,2813,2829,3159,3193,3217,3219],[76,124,141,142,3217],[76,124,141,142,2829,3219],[76,124,141,142,2778],[76,124,141,142,2778,2829],[76,124,141,142,2764,3219],[76,124,141,142,3217,3219],[76,124,141,142,2764],[76,124,141,142,2764,2776,2777],[76,124,141,142,3219,3434,3904],[76,124,141,142,3217,3219,3434,3904],[76,124,141,142,3219],[76,124,141,142,3198,3219,3434,3904],[76,124,141,142,3199,3219,3434,3904],[76,124,141,142,3200,3219,3434,3904],[76,124,141,142,2764,3217,3219],[76,124,141,142,3217,3434,3904],[76,124,141,142,2487,3219,3434,3904],[76,124,141,142,2773,2829,2830],[76,124,141,142,2753,2779,2829,2830,3193,3217,3219],[76,124,141,142,2398,2487,2764,2769,2770,2773,2812,2829,3193,3194,3195,3197,3216,3219,3434,3904],[76,124,141,142,2754,3217,3219,3434,3904],[76,124,141,142,2778,3217,3219],[76,124,141,142,2487,3204,3217,3219,3434,3904],[76,124,141,142,2770,3217,3219,3434,3904],[76,124,141,142,3208,3217,3219,3434,3904],[76,124,141,142,2770,3217,3219],[76,124,141,142,2769,3217,3219,3434,3904],[76,124,141,142,2769,2770,3212,3217,3219],[76,124,141,142,3197,3217,3219,3434,3904],[76,124,141,142,2487,3217,3219,3434,3904],[76,124,141,142,3209,3217,3219,3434,3904],[76,124,141,142,2769,2770,3217,3219,3434,3904],[76,124,141,142,2487,3197,3217,3219,3434,3904],[76,124,141,142,3212,3217,3219],[76,124,141,142,3195,3198,3199,3200,3201,3202,3203,3204,3205,3206,3207,3209,3210,3211,3213,3214,3215,3217,3219,3434,3904],[76,124,141,142,2753,2773,2780,2781,2829,2830,3434,3904],[76,124,141,142,2829,3217],[62,76,124,141,142,475,2398,2409,2487,2753,2755,2756,2757,2770,2771,2775,2778,2785,2786,2811,2812,2813,2824,2828,2830,3193,3217,3219,3434,3904],[76,124,141,142,2487,2770],[76,124,141,142,2770],[76,124,141,142,2773,3283,3434,3904],[76,124,141,142,2770,3434,3904],[76,124,141,142,2773,2778],[76,124,141,142,2771,2773,3217,3219,3283],[76,124,141,142,2753,2758],[76,124,141,142,2758],[76,124,141,142,2758,2771],[76,124,141,142,2758,2759,2787,2788,2789,2790,2791,2792,2793,2794,2795,2796,2797,2798,2799,2800,2801,2802,2803,2804,2805,2806,2807,2808,2809],[76,124,141,142,2758,2773],[76,124,141,142,2810],[76,124,141,142,2753,2758,2829,3219],[76,124,141,142,2773,3193,3217,3219],[76,124,141,142,2753,2773,3219,3434,3904],[76,124,141,142,2771,2773,2829,3217],[62,76,124,141,142,2487,2756,2763,2765,2766,2768,2770,2771,2772,2775,2829,3193,3217,3219,3434,3904],[76,124,141,142,2771,2773,3217,3219,3434,3904],[76,124,141,142,2771,3217,3219,3434,3904],[76,124,141,142,2771,2773,3208,3217,3219,3434,3904],[76,124,141,142,2771,2773,2810,3217,3219,3434,3904],[76,124,141,142,2812,3219,3434,3904],[76,124,141,142,2753,2771,2779,2829,2830,3219],[76,124,141,142,2398,2487,2769,2770,2773,2829,3193,3219,3434,3904],[76,124,141,142,2771,2778,3219],[76,124,141,142,2771,3208,3212,3219],[76,124,141,142,2769,2771,3212,3219],[76,124,141,142,2769,2770,2771,3212,3219],[76,124,141,142,2771,3212,3219,3237,3434,3904],[76,124,141,142,2769,2771,3219,3434,3904],[76,124,141,142,2769,2770,2771,3219,3434,3904],[76,124,141,142,2771,3219,3434,3904],[76,124,141,142,2487,2771,3219,3434,3904],[76,124,141,142,2769,2771,3219],[76,124,141,142,2487,2771,3212,3219,3434,3904],[76,124,141,142,2398,2406,2409,2487,2764,2765,2769,2770,2771,2772,2773,2778,2779,2780,2781,2782,2786,2810,2812,2813,2814,2818,2820,2822,2823,2824,2828,2829,2830,2832,3187,3190,3193,3194,3195,3197,3198,3199,3200,3201,3202,3204,3205,3206,3207,3209,3211,3212,3213,3214,3215,3217,3219,3220,3221,3222,3223,3224,3225,3226,3227,3228,3229,3230,3231,3232,3233,3234,3235,3236,3237,3238,3239,3240,3241,3242,3243,3244,3245,3246,3247,3248,3249,3250,3251,3252,3253,3254,3255,3256,3257,3258,3259,3260,3261,3262,3263,3264,3265,3266,3267,3268,3269,3270,3271,3272,3273,3274,3275,3276,3277,3278,3279,3280,3281,3282,3283,3284,3285,3286,3287,3288,3289,3290,3291,3292,3293,3294,3295,3296,3297,3298,3299,3300,3301,3302,3303,3304,3305,3306,3307,3308,3309,3310,3311,3312,3313,3314,3315,3316,3317,3318,3319,3320,3321,3322,3323,3324,3369,3370,3371,3372,3373,3374,3375,3376,3377,3378,3380,3381,3382,3383,3384,3385,3386,3387,3388,3389,3390,3391,3392,3393,3394,3395,3396,3397,3398,3399,3400,3401,3402,3403,3404,3405,3406,3407,3408,3409,3410,3411,3412,3413,3414,3415,3416,3417,3418,3419,3420,3421,3422,3429,3430,3431,3433],[76,124,141,142,3219,3244,3434,3904],[76,124,141,142,3244],[76,124,141,142,2765,2773,3219,3434,3904],[76,124,141,142,2829,3217,3434,3904],[76,124,141,142,2771,2814,2818,2829],[76,124,141,142,2814,2818,2819,2822,2823,3219,3434,3904],[76,124,141,142,2818,2824,3434,3904],[76,124,141,142,2814,3434,3904],[76,124,141,142,2773,2814,2816,2817,2824,3434,3904],[76,124,141,142,2814,2816,3434,3904],[76,124,141,142,2818,2820,2822,3434,3904],[76,124,141,142,2814,2818,3219],[76,124,141,142,2819,2824,3219,3434,3904],[76,124,141,142,2821,2823,3219],[76,124,141,142,2814,2815,2818,3219,3434,3904],[76,124,141,142,2814],[76,124,141,142,2815,2818,2823,3219,3434,3904],[76,124,141,142,2753,2829],[76,124,141,142,167,2487,2753,2754,3217,3218,3434,3904],[76,124,141,142,2757,3219],[76,124,132,141,142,3368],[76,124,141,142,2757,2829,3196,3217,3219],[76,124,141,142,2829,3219,3434,3904],[76,124,141,142,2487,3219],[76,124,141,142,2753,2756,2771,2773,2829,3217],[76,124,141,142,3379],[76,124,141,142,2753,2773,2779],[76,124,141,142,2758,2829],[76,124,141,142,2773,3219],[76,124,141,142,2773,2829],[76,124,141,142,283,2753,2829],[76,124,141,142,2771,3217,3219],[76,124,141,142,2409,2827,2829],[76,124,141,142,2829,3434,3904],[76,124,141,142,2773,3193,3219],[76,124,141,142,2765,3193],[76,124,141,142,2773,2829,3217],[76,124,141,142,2771,2773,2829],[76,124,141,142,2771,3219],[76,124,141,142,3425,3428],[76,124,141,142,3423,3424],[76,124,141,142,3426,3427],[76,124,141,142,174,2167,2168,2169],[76,124,141,142,156,174,2167],[76,124,141,142,3821],[76,124,141,142,156,174],[76,124,141,142,156,174,2409,2825,2826],[76,124,135,141,142,172,2407,2408],[76,124,141,142,979],[76,124,141,142,977,979],[76,124,141,142,968,976,977,978,980,982],[76,124,141,142,966],[76,124,141,142,969,974,979,982],[76,124,141,142,965,982],[76,124,141,142,969,970,973,974,975,982],[76,124,141,142,969,970,971,973,974,982],[76,124,141,142,966,967,968,969,970,974,975,976,978,979,980,982],[76,124,141,142,982],[76,124,141,142,964,966,967,968,969,970,971,973,974,975,976,977,978,979,980,981],[76,124,141,142,964,982],[76,124,141,142,969,971,972,974,975,982],[76,124,141,142,973,982],[76,124,141,142,974,975,979,982],[76,124,141,142,967,977],[76,124,141,142,4116],[62,76,124,141,142,3121,3122,3123,3127,3129,3131,3132,3133,3135,3136],[76,124,141,142,2834,2835,2836,2837,2838,2839,2840,2841,2842,2843,2844,2845,2846,2847,2848,2849,2850,2851,2852,2853,2857,2858,2859,2860,2861,2862,2863,2864,2865,2866,2867,3121],[62,76,124,141,142,3122],[62,76,124,141,142,3122,3136,3137,3138,3139,3148,3149],[62,76,124,141,142,3122,3126],[62,76,124,141,142,3122,3128],[62,76,124,141,142,3122,3130],[62,76,124,141,142,3139,3140,3147],[62,76,124,141,142,3124,3125],[62,76,124,141,142,3146],[62,76,124,141,142,3134],[76,124,141,142,956,1018,1019],[76,124,141,142,955,956],[76,124,141,142,964,1006],[76,124,141,142,993],[76,124,141,142,989,1006],[76,124,141,142,988,989,990,993,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014],[76,124,141,142,1010],[76,124,141,142,988,990,993,1011,1012],[76,124,141,142,1009,1013],[76,124,141,142,988,991,992],[76,124,141,142,991],[76,124,141,142,988,989,990,993,1005],[76,124,141,142,994,999,1005],[76,124,141,142,1005],[76,124,141,142,994,1005],[76,124,141,142,994,995,996,997,998,999,1000,1001,1002,1003,1004],[76,124,135,141,142,174],[76,124,141,142,1074,1075],[76,124,141,142,1074],[76,124,141,142,1074,1075,1076,1077],[76,124,141,142,1072,1078],[76,124,141,142,1078],[76,124,141,142,1072,1073],[76,124,141,142,482],[76,124,141,142,2412],[76,124,141,142,2419],[76,124,141,142,2451,2452],[76,124,141,142,2410],[76,124,141,142,2477],[76,124,141,142,2416,2456],[76,124,141,142,2411],[76,124,141,142,2411,2450],[76,124,141,142,2411,2416],[76,124,141,142,2411,2440,2450],[76,124,141,142,2411,2415,2440,2450],[76,124,141,142,2411,2440],[76,124,141,142,2416,2432],[76,124,141,142,2468],[76,124,141,142,2415],[76,124,141,142,2410,2411,2412,2413,2414,2415,2417,2418,2419,2420,2421,2422,2423,2424,2425,2426,2427,2428,2429,2430,2431,2432,2434,2435,2436,2437,2438,2439,2440,2441,2442,2445,2446,2447,2448,2449,2450,2451,2452,2453,2454,2455,2458,2459,2460,2461,2462,2463,2464,2465,2466,2467,2468,2469,2470,2471,2472,2473,2474,2475,2476,2477,2478,2479,2480,2481,2482,2483,2484,2485,2486],[76,124,141,142,2418,2443],[76,124,141,142,2431],[76,124,141,142,2418,2445],[76,124,141,142,2418,2448],[76,124,141,142,2423],[76,124,141,142,2416],[76,124,141,142,2429],[76,124,141,142,2411,2431,2432,2433,2435],[76,124,141,142,2437],[76,124,141,142,2479],[76,124,141,142,2444],[76,124,141,142,2465],[76,124,141,142,2457,2458],[76,124,141,142,2457,2460],[76,124,141,142,2415,2416],[76,124,141,142,2410,2415,2434],[76,124,141,142,2445],[76,124,141,142,2429,2440],[76,89,93,124,141,142,167],[76,89,124,141,142,156,167],[76,84,124,141,142],[76,86,89,124,141,142,164,167],[76,124,141,142,144,164],[76,84,124,141,142,174],[76,86,89,124,141,142,144,167],[76,81,82,85,88,124,135,141,142,156,167],[76,89,96,124,141,142],[76,81,87,124,141,142],[76,89,110,111,124,141,142],[76,85,89,124,141,142,159,167,174],[76,110,124,141,142,174],[76,83,84,124,141,142,174],[76,89,124,141,142],[76,83,84,85,86,87,88,89,90,91,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,111,112,113,114,115,116,124,141,142],[76,89,104,124,141,142],[76,89,96,97,124,141,142],[76,87,89,97,98,124,141,142],[76,88,124,141,142],[76,81,84,89,124,141,142],[76,89,93,97,98,124,141,142],[76,93,124,141,142],[76,87,89,92,124,141,142,167],[76,81,86,89,96,124,141,142],[76,84,89,110,124,141,142,172,174],[76,124,141,142,3367],[76,124,141,142,167,3331,3334,3337,3338],[76,124,141,142,156,167,3334],[76,124,141,142,167,3334,3338],[76,124,141,142,3328],[76,124,141,142,3332],[76,124,141,142,167,3330,3331,3334],[76,124,141,142,174,3328],[76,124,141,142,144,167,3330,3334],[76,124,135,141,142,156,167,3325,3326,3327,3329,3333],[76,124,141,142,3334,3343,3351],[76,124,141,142,3326,3332],[76,124,141,142,3334,3361,3362],[76,124,141,142,159,167,174,3326,3329,3334],[76,124,141,142,3334],[76,124,141,142,167,3330,3334],[76,124,141,142,3325],[76,124,141,142,3328,3329,3330,3332,3333,3334,3335,3336,3338,3339,3340,3341,3342,3343,3344,3345,3346,3347,3348,3349,3350,3351,3352,3353,3354,3355,3356,3357,3358,3359,3360,3362,3363,3364,3365,3366],[76,124,132,141,142,3334,3354,3357],[76,124,141,142,3334,3343,3344,3345],[76,124,141,142,3332,3334,3344,3346],[76,124,141,142,3333],[76,124,141,142,3326,3328,3334],[76,124,141,142,3334,3338,3344,3346],[76,124,141,142,3338],[76,124,141,142,167,3332,3334,3337],[76,124,141,142,3326,3330,3334,3343],[76,124,141,142,3334,3354],[76,124,141,142,3346],[76,124,141,142,3326,3330,3334,3338],[76,124,141,142,159,172,174,3328,3334,3361],[76,124,141,142,1024,1025],[76,124,141,142,1024],[76,124,135,136,138,139,140,141,142,144,156,164,167,173,174,956,957,958,959,961,962,963,983,987,1016,1017,1018,1019],[76,124,141,142,958,959,960,961],[76,124,141,142,958],[76,124,141,142,959],[76,124,141,142,1015],[76,124,141,142,986],[76,124,141,142,956,1019],[76,124,141,142,490,1036,1037,1046],[76,124,141,142,479,487,490,1029,1030,1046],[76,124,141,142,1039],[76,124,141,142,953],[76,124,141,142,479,490,954,1029,1038,1045,1046],[76,124,141,142,1022],[76,124,127,136,141,142,156,479,484,487,490,954,1019,1022,1023,1026,1029,1031,1032,1035,1038,1040,1041,1046,1047],[76,124,141,142,490,1036,1037,1038,1046],[76,124,141,142,1019,1042,1047],[76,124,141,142,490,954,1026,1029,1031,1046],[76,124,141,142,172,1032],[76,124,127,136,141,142,156,172,479,484,487,490,953,954,1019,1022,1023,1026,1029,1030,1031,1032,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1054],[76,124,141,142,1055],[76,124,141,142,952],[76,124,141,142,1103],[76,124,141,142,1094,1095],[76,124,141,142,1091,1092,1094,1096,1097,1102],[76,124,141,142,1092,1094],[76,124,141,142,1102],[76,124,141,142,1094],[76,124,141,142,1091,1092,1094,1097,1098,1099,1100,1101],[76,124,141,142,1091,1092,1093],[76,124,141,142,1105,4073],[76,124,141,142,1105,4074],[76,124,141,142,1105],[76,124,141,142,1105,1107,1108],[76,124,141,142,1090,1104,1106,1107,1108,1109,2292],[76,124,141,142,1104,1109],[76,124,141,142,1104,1106,1107,1108,1109,2292,3441,3442],[76,124,141,142,1090,1106,1109,2290,2291,2293,2296,3441,3443,3444,3446,3447,3448,3450,3499,3517,4075],[76,124,141,142,1090,1106,1109,2290,2293,2296,3441,3443,3444,3446,3447,3448,3450,3499,3517,4069,4070],[76,124,141,142,1080,1083,3449],[76,124,141,142,1083,1090,1106,1109,2291,2293,2295,2296,3443,3444,3446,3447,3448],[76,124,141,142,1104],[76,124,141,142,3499],[76,124,141,142,1105,1107,1108,2292,2294,2296,3442,3443,3444,3445,3446,3447,3448,3454,3517],[76,124,141,142,1080,1083,1105,1106,2290],[76,124,141,142,1105,1106,2290,3434,3904],[76,124,141,142,1080,1083,1105,1106,1107,1108,1109,2292,2293,2294],[76,124,129,141,142,1105,1107,1108,1109,3434,3904],[76,124,141,142,1079,2292,3445,3452],[76,124,141,142,1079,2293,2296,3443,3444,3446,3447,3448,3450,3453],[76,124,141,142,4065],[76,124,141,142,2296,3445],[76,124,141,142,3444,3445],[76,124,141,142,3443,3445],[76,124,141,142,3514],[76,124,141,142,1079,3454,3490,3513],[76,124,141,142,4067],[76,124,141,142,146,167,3434,3904,3905,4064,4066],[76,124,141,142,3491],[76,124,141,142,1071,1104,3452,3504,3507,3508,3509,3510,3511],[76,124,141,142,3492,3501],[76,124,141,142,3434,3441,3492,3502,3904],[76,124,141,142,3491,3492],[76,124,141,142,1104,3492],[76,124,141,142,3491,3492,3500,3501,3502,3503,3504,3505,3506,3507,3508,3509,3510,3511,3512],[76,124,141,142,3434,3441,3491,3492,3904],[76,124,141,142,3492,3499],[76,124,141,142,3457],[76,124,141,142,3478,3479,3480,3481,3482],[76,124,141,142,3434,3441,3458,3459,3460,3461,3474,3475,3476,3477,3904],[76,124,141,142,3472],[76,124,141,142,3456],[76,124,141,142,1071,1079,1104,3452,3482,3485,3486,3487,3488],[76,124,141,142,3457,3459,3484],[76,124,141,142,3457,3458,3484],[76,124,141,142,3460,3484],[76,124,141,142,3461,3484],[76,124,129,141,142,3457,3459],[76,124,141,142,3457,3458],[76,124,141,142,3460],[76,124,141,142,3461],[76,124,141,142,3457,3458,3459,3460,3461,3473,3474,3475,3476,3477,3478,3479,3480,3481,3482,3483,3484,3485,3486,3487,3488,3489],[76,124,129,141,142,3434,3441,3457,3459,3473,3904],[76,124,141,142,3434,3441,3457,3458,3473,3904],[76,124,141,142,3434,3441,3460,3473,3904],[76,124,141,142,3434,3441,3461,3904],[76,124,141,142,1112,3455],[76,124,141,142,1083,1088,3440,3494,3496],[76,124,141,142,1087],[76,124,141,142,1084,3493],[76,124,141,142,1087,1088,3493,3494,3495,3496,3497,3498],[76,124,141,142,1087,3494],[76,124,141,142,1083,1084,1088,1089,1110,1111,1113,1118,1120],[76,124,141,142,1084,1113,2290,3434,3439,3904],[76,124,141,142,1112],[76,124,141,142,1113,3440],[76,124,141,142,1083,1115,1116,1117,1121,2290],[76,124,141,142,1083,1121,1170,1182,1183,2290],[76,124,141,142,1087,1110,1111,1114,1115,1116,1117,1118,1119,1120,1121,1122,1184,2288,2289],[76,124,141,142,1113],[76,124,141,142,1111],[76,124,141,142,1114],[76,124,141,142,1110],[76,124,141,142,1111,1119,1169,1181],[76,124,141,142,1114,1169],[76,124,141,142,1110,1169],[76,124,141,142,1516,2286,2287],[76,124,141,142,2285,2286],[76,124,141,142,1087,1088,1111,1119],[76,124,141,142,1087,1088,1110],[76,124,141,142,3435],[76,124,141,142,3435,3436,3437,3438],[76,124,141,142,3434,3435,3904],[76,124,141,142,3462,3463,3464,3465,3466,3467,3468,3469,3470,3471],[76,124,141,142,1113,3434,3435,3904],[76,124,141,142,3468],[76,124,141,142,1084],[76,124,141,142,1084,1085,1086,1089],[76,124,141,142,1084,1087,1088],[76,124,141,142,1057],[76,124,141,142,442],[76,124,141,142,1059,1060],[76,124,141,142,471,1056,1058],[76,124,141,142,1071,1079,3451],[76,124,141,142,1071,1078],[76,124,141,142,4072],[76,124,141,142,3515,4103],[62,76,124,141,142,1078,3515,4085,4101,4104,4105],[76,124,141,142,4085]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"7e29f41b158de217f94cb9676bf9cbd0cd9b5a46e1985141ed36e075c52bf6ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"dc0a7f107690ee5cd8afc8dbf05c4df78085471ce16bdd9881642ec738bc81fe","impliedFormat":1},{"version":"acd8fd5090ac73902278889c38336ff3f48af6ba03aa665eb34a75e7ba1dccc4","impliedFormat":1},{"version":"d6258883868fb2680d2ca96bc8b1352cab69874581493e6d52680c5ffecdb6cc","impliedFormat":1},{"version":"1b61d259de5350f8b1e5db06290d31eaebebc6baafd5f79d314b5af9256d7153","impliedFormat":1},{"version":"f258e3960f324a956fc76a3d3d9e964fff2244ff5859dcc6ce5951e5413ca826","impliedFormat":1},{"version":"643f7232d07bf75e15bd8f658f664d6183a0efaca5eb84b48201c7671a266979","impliedFormat":1},{"version":"0f6666b58e9276ac3a38fdc80993d19208442d6027ab885580d93aec76b4ef00","impliedFormat":1},{"version":"05fd364b8ef02fb1e174fbac8b825bdb1e5a36a016997c8e421f5fab0a6da0a0","impliedFormat":1},{"version":"631eff75b0e35d1b1b31081d55209abc43e16b49426546ab5a9b40bdd40b1f60","impliedFormat":1},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c906fb15bd2aabc9ed1e3f44eb6a8661199d6c320b3aa196b826121552cb3695","impliedFormat":1},{"version":"22295e8103f1d6d8ea4b5d6211e43421fe4564e34d0dd8e09e520e452d89e659","impliedFormat":1},{"version":"58647d85d0f722a1ce9de50955df60a7489f0593bf1a7015521efe901c06d770","impliedFormat":1},{"version":"6b4e081d55ac24fc8a4631d5dd77fe249fa25900abd7d046abb87d90e3b45645","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6f137d651076822d4fe884287e68fd61785a0d3d1fdb250a5059b691fa897db","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"bceb58df66ab8fb00170df20cd813978c5ab84be1d285710c4eb005d8e9d8efb","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"a3fc63c0d7b031693f665f5494412ba4b551fe644ededccc0ab5922401079c95","impliedFormat":1},{"version":"80523c00b8544a2000ae0143e4a90a00b47f99823eb7926c1e03c494216fc363","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"746911b62b329587939560deb5c036aca48aece03147b021fa680223255d5183","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"c8d3e5a18ba35629954e48c4cc8f11dc88224650067a172685c736b27a34a4dc","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"2b55d426ff2b9087485e52ac4bc7cfafe1dc420fc76dad926cd46526567c501a","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"47613031a5a31510831304405af561b0ffaedb734437c595256bb61a90f9311b","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"8a1a0d0a4a06a8d278947fcb66bf684f117bf147f89b06e50662d79a53be3e9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"358765d5ea8afd285d4fd1532e78b88273f18cb3f87403a9b16fef61ac9fdcfe","impliedFormat":1},{"version":"9f55299850d4f0921e79b6bf344b47c420ce0f507b9dcf593e532b09ea7eeea1","impliedFormat":1},{"version":"2beff543f6e9a9701df88daeee3cdd70a34b4a1c11cb4c734472195a5cb2af54","impliedFormat":1},{"version":"2e07abf27aa06353d46f4448c0bbac73431f6065eef7113128a5cd804d0c384d","impliedFormat":1},{"version":"be1cc4d94ea60cbe567bc29ed479d42587bf1e6cba490f123d329976b0fe4ee5","impliedFormat":1},{"version":"42bc0e1a903408137c3df2b06dfd7e402cdab5bbfa5fcfb871b22ebfdb30bd0b","impliedFormat":1},{"version":"9894dafe342b976d251aac58e616ac6df8db91fb9d98934ff9dd103e9e82578f","impliedFormat":1},{"version":"413df52d4ea14472c2fa5bee62f7a40abd1eb49be0b9722ee01ee4e52e63beb2","impliedFormat":1},{"version":"db6d2d9daad8a6d83f281af12ce4355a20b9a3e71b82b9f57cddcca0a8964a96","impliedFormat":1},{"version":"829b9e6028b29e6a8b1c01ddb713efe59da04d857089298fa79acbdb3cfcfdef","impliedFormat":1},{"version":"24f8562308dd8ba6013120557fa7b44950b619610b2c6cb8784c79f11e3c4f90","impliedFormat":1},{"version":"5f90b8c733a1bda63e42160b15a2301051e83a6f9d5332a59d16eb12f463270d","impliedFormat":1},{"version":"a86f82d646a739041d6702101afa82dcb935c416dd93cbca7fd754fd0282ce1f","impliedFormat":1},{"version":"ad0d1d75d129b1c80f911be438d6b61bfa8703930a8ff2be2f0e1f8a91841c64","impliedFormat":1},{"version":"ce75b1aebb33d510ff28af960a9221410a3eaf7f18fc5f21f9404075fba77256","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"496bbf339f3838c41f164238543e9fe5f1f10659cb30b68903851618464b98ba","impliedFormat":1},{"version":"5178eb4415a172c287c711dc60a619e110c3fd0b7de01ed0627e51a5336aa09c","impliedFormat":1},{"version":"ca6e5264278b53345bc1ce95f42fb0a8b733a09e3d6479c6ccfca55cdc45038c","impliedFormat":1},{"version":"9e2739b32f741859263fdba0244c194ca8e96da49b430377930b8f721d77c000","impliedFormat":1},{"version":"fb1d8e814a3eeb5101ca13515e0548e112bd1ff3fb358ece535b93e94adf5a3a","impliedFormat":1},{"version":"ffa495b17a5ef1d0399586b590bd281056cee6ce3583e34f39926f8dcc6ecdb5","impliedFormat":1},{"version":"98b18458acb46072947aabeeeab1e410f047e0cacc972943059ca5500b0a5e95","impliedFormat":1},{"version":"361e2b13c6765d7f85bb7600b48fde782b90c7c41105b7dab1f6e7871071ba20","impliedFormat":1},{"version":"c86fe861cf1b4c46a0fb7d74dffe596cf679a2e5e8b1456881313170f092e3fa","impliedFormat":1},{"version":"b6db56e4903e9c32e533b78ac85522de734b3d3a8541bf24d256058d464bf04b","impliedFormat":1},{"version":"24daa0366f837d22c94a5c0bad5bf1fd0f6b29e1fae92dc47c3072c3fdb2fbd5","impliedFormat":1},{"version":"570bb5a00836ffad3e4127f6adf581bfc4535737d8ff763a4d6f4cc877e60d98","impliedFormat":1},{"version":"889c00f3d32091841268f0b994beba4dceaa5df7573be12c2c829d7c5fbc232c","impliedFormat":1},{"version":"65f43099ded6073336e697512d9b80f2d4fec3182b7b2316abf712e84104db00","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"acf5a2ac47b59ca07afa9abbd2b31d001bf7448b041927befae2ea5b1951d9f9","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"d71291eff1e19d8762a908ba947e891af44749f3a2cbc5bd2ec4b72f72ea795f","impliedFormat":1},{"version":"c0480e03db4b816dff2682b347c95f2177699525c54e7e6f6aa8ded890b76be7","impliedFormat":1},{"version":"27ab780875bcbb65e09da7496f2ca36288b0c541abaa75c311450a077d54ec15","impliedFormat":1},{"version":"b620391fe8060cf9bedc176a4d01366e6574d7a71e0ac0ab344a4e76576fcbb8","impliedFormat":1},{"version":"380647d8f3b7f852cca6d154a376dbf8ac620a2f12b936594504a8a852e71d2f","impliedFormat":1},{"version":"208c9af9429dd3c76f5927b971263174aaa4bc7621ddec63f163640cbd3c473c","impliedFormat":1},{"version":"6459054aabb306821a043e02b89d54da508e3a6966601a41e71c166e4ea1474f","impliedFormat":1},{"version":"a23185bc5ef590c287c28a91baf280367b50ae4ea40327366ad01f6f4a8edbc5","impliedFormat":1},{"version":"bb37588926aba35c9283fe8d46ebf4e79ffe976343105f5c6d45f282793352b2","impliedFormat":1},{"version":"002eae065e6960458bda3cf695e578b0d1e2785523476f8a9170b103c709cd4f","impliedFormat":1},{"version":"c83bb0c9c5645a46c68356c2f73fdc9de339ce77f7f45a954f560c7e0b8d5ebb","impliedFormat":1},{"version":"05c97cddbaf99978f83d96de2d8af86aded9332592f08ce4a284d72d0952c391","impliedFormat":1},{"version":"72179f9dd22a86deaad4cc3490eb0fe69ee084d503b686985965654013f1391b","impliedFormat":1},{"version":"2e6114a7dd6feeef85b2c80120fdbfb59a5529c0dcc5bfa8447b6996c97a69f5","impliedFormat":1},{"version":"7b6ff760c8a240b40dab6e4419b989f06a5b782f4710d2967e67c695ef3e93c4","impliedFormat":1},{"version":"c8f004e6036aa1c764ad4ec543cf89a5c1893a9535c80ef3f2b653e370de45e6","impliedFormat":1},{"version":"dd80b1e600d00f5c6a6ba23f455b84a7db121219e68f89f10552c54ba46e4dc9","impliedFormat":1},{"version":"b064c36f35de7387d71c599bfcf28875849a1dbc733e82bd26cae3d1cd060521","impliedFormat":1},{"version":"6a148329edecbda07c21098639ef4254ef7869fb25a69f58e5d6a8b7b69d4236","impliedFormat":1},{"version":"8de9fe97fa9e00ec00666fa77ab6e91b35d25af8ca75dabcb01e14ad3299b150","impliedFormat":1},{"version":"f63ab283a1c8f5c79fabe7ca4ef85f9633339c4f0e822fce6a767f9d59282af2","impliedFormat":1},{"version":"dba114fb6a32b355a9cfc26ca2276834d72fe0e94cd2c3494005547025015369","impliedFormat":1},{"version":"a54c996c8870ef1728a2c1fa9b8eaec0bf4a8001cd2583c02dd5869289465b10","impliedFormat":1},{"version":"3e7efde639c6a6c3edb9847b3f61e308bf7a69685b92f665048c45132f51c218","impliedFormat":1},{"version":"df45ca1176e6ac211eae7ddf51336dc075c5314bc5c253651bae639defd5eec5","impliedFormat":1},{"version":"3754982006a3b32c502cff0867ca83584f7a43b1035989ca73603f400de13c96","impliedFormat":1},{"version":"a30ae9bb8a8fa7b90f24b8a0496702063ae4fe75deb27da731ed4a03b2eb6631","impliedFormat":1},{"version":"f974e4a06953682a2c15d5bd5114c0284d5abf8bc0fe4da25cb9159427b70072","impliedFormat":1},{"version":"50256e9c31318487f3752b7ac12ff365c8949953e04568009c8705db802776fb","impliedFormat":1},{"version":"7d73b24e7bf31dfb8a931ca6c4245f6bb0814dfae17e4b60c9e194a631fe5f7b","impliedFormat":1},{"version":"413586add0cfe7369b64979d4ec2ed56c3f771c0667fbde1bf1f10063ede0b08","impliedFormat":1},{"version":"06472528e998d152375ad3bd8ebcb69ff4694fd8d2effaf60a9d9f25a37a097a","impliedFormat":1},{"version":"50b5bc34ce6b12eccb76214b51aadfa56572aa6cc79c2b9455cdbb3d6c76af1d","impliedFormat":1},{"version":"b7e16ef7f646a50991119b205794ebfd3a4d8f8e0f314981ebbe991639023d0e","impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},{"version":"a401617604fa1f6ce437b81689563dfdc377069e4c58465dbd8d16069aede0a5","impliedFormat":1},{"version":"e9dd71cf12123419c60dab867d44fbee5c358169f99529121eaef277f5c83531","impliedFormat":1},{"version":"5b6a189ba3a0befa1f5d9cb028eb9eec2af2089c32f04ff50e2411f63d70f25d","impliedFormat":1},{"version":"d6e73f8010935b7b4c7487b6fb13ea197cc610f0965b759bec03a561ccf8423a","impliedFormat":1},{"version":"174f3864e398f3f33f9a446a4f403d55a892aa55328cf6686135dfaf9e171657","impliedFormat":1},{"version":"824c76aec8d8c7e65769688cbee102238c0ef421ed6686f41b2a7d8e7e78a931","impliedFormat":1},{"version":"75b868be3463d5a8cfc0d9396f0a3d973b8c297401d00bfb008a42ab16643f13","impliedFormat":1},{"version":"15a234e5031b19c48a69ccc1607522d6e4b50f57d308ecb7fe863d44cd9f9eb3","impliedFormat":1},{"version":"d682336018141807fb602709e2d95a192828fcb8d5ba06dda3833a8ea98f69e3","impliedFormat":1},{"version":"6124e973eab8c52cabf3c07575204efc1784aca6b0a30c79eb85fe240a857efa","impliedFormat":1},{"version":"0d891735a21edc75df51f3eb995e18149e119d1ce22fd40db2b260c5960b914e","impliedFormat":1},{"version":"3b414b99a73171e1c4b7b7714e26b87d6c5cb03d200352da5342ab4088a54c85","impliedFormat":1},{"version":"4fbd3116e00ed3a6410499924b6403cc9367fdca303e34838129b328058ede40","impliedFormat":1},{"version":"b01bd582a6e41457bc56e6f0f9de4cb17f33f5f3843a7cf8210ac9c18472fb0f","impliedFormat":1},{"version":"0a437ae178f999b46b6153d79095b60c42c996bc0458c04955f1c996dc68b971","impliedFormat":1},{"version":"74b2a5e5197bd0f2e0077a1ea7c07455bbea67b87b0869d9786d55104006784f","impliedFormat":1},{"version":"4a7baeb6325920044f66c0f8e5e6f1f52e06e6d87588d837bdf44feb6f35c664","impliedFormat":1},{"version":"6dcf60530c25194a9ee0962230e874ff29d34c59605d8e069a49928759a17e0a","impliedFormat":1},{"version":"7274fbffbd7c9589d8d0ffba68157237afd5cecff1e99881ea3399127e60572f","impliedFormat":1},{"version":"1a42d2ec31a1fe62fdc51591768695ed4a2dc64c01be113e7ff22890bebb5e3f","impliedFormat":1},{"version":"1a82deef4c1d39f6882f28d275cad4c01f907b9b39be9cbc472fcf2cf051e05b","impliedFormat":1},{"version":"c5426dbfc1cf90532f66965a7aa8c1136a78d4d0f96d8180ecbfc11d7722f1a5","impliedFormat":1},{"version":"65a15fc47900787c0bd18b603afb98d33ede930bed1798fc984d5ebb78b26cf9","impliedFormat":1},{"version":"9d202701f6e0744adb6314d03d2eb8fc994798fc83d91b691b75b07626a69801","impliedFormat":1},{"version":"de9d2df7663e64e3a91bf495f315a7577e23ba088f2949d5ce9ec96f44fba37d","impliedFormat":1},{"version":"c7af78a2ea7cb1cd009cfb5bdb48cd0b03dad3b54f6da7aab615c2e9e9d570c5","impliedFormat":1},{"version":"1ee45496b5f8bdee6f7abc233355898e5bf9bd51255db65f5ff7ede617ca0027","impliedFormat":1},{"version":"0c7c947ff881c4274c0800deaa0086971e0bfe51f89a33bd3048eaa3792d4876","affectsGlobalScope":true,"impliedFormat":1},{"version":"db01d18853469bcb5601b9fc9826931cc84cc1a1944b33cad76fd6f1e3d8c544","affectsGlobalScope":true,"impliedFormat":1},{"version":"a8f8e6ab2fa07b45251f403548b78eaf2022f3c2254df3dc186cb2671fe4996d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa6c12a7c0f6b84d512f200690bfc74819e99efae69e4c95c4cd30f6884c526e","impliedFormat":1},{"version":"f1c32f9ce9c497da4dc215c3bc84b722ea02497d35f9134db3bb40a8d918b92b","impliedFormat":1},{"version":"b73c319af2cc3ef8f6421308a250f328836531ea3761823b4cabbd133047aefa","affectsGlobalScope":true,"impliedFormat":1},{"version":"e433b0337b8106909e7953015e8fa3f2d30797cea27141d1c5b135365bb975a6","impliedFormat":1},{"version":"15b36126e0089bfef173ab61329e8286ce74af5e809d8a72edcafd0cc049057f","impliedFormat":1},{"version":"ddff7fc6edbdc5163a09e22bf8df7bef75f75369ebd7ecea95ba55c4386e2441","impliedFormat":1},{"version":"106c6025f1d99fd468fd8bf6e5bda724e11e5905a4076c5d29790b6c3745e50c","impliedFormat":1},{"version":"a57b1802794433adec9ff3fed12aa79d671faed86c49b09e02e1ac41b4f1d33a","impliedFormat":1},{"version":"ad10d4f0517599cdeca7755b930f148804e3e0e5b5a3847adce0f1f71bbccd74","impliedFormat":1},{"version":"1042064ece5bb47d6aba91648fbe0635c17c600ebdf567588b4ca715602f0a9d","impliedFormat":1},{"version":"c49469a5349b3cc1965710b5b0f98ed6c028686aa8450bcb3796728873eb923e","impliedFormat":1},{"version":"4a889f2c763edb4d55cb624257272ac10d04a1cad2ed2948b10ed4a7fda2a428","impliedFormat":1},{"version":"7bb79aa2fead87d9d56294ef71e056487e848d7b550c9a367523ee5416c44cfa","impliedFormat":1},{"version":"72d63643a657c02d3e51cd99a08b47c9b020a565c55f246907050d3c8a5e77fb","impliedFormat":1},{"version":"1d415445ea58f8033ba199703e55ff7483c52ac6742075b803bd3e7bbe9f5d61","impliedFormat":1},{"version":"d6406c629bb3efc31aedb2de809bef471e475c86c7e67f3ef9b676b5d7e0d6b2","impliedFormat":1},{"version":"27ff4196654e6373c9af16b6165120e2dd2169f9ad6abb5c935af5abd8c7938c","impliedFormat":1},{"version":"71d8ba39a9e024d9e4bb922464d18542ed8d2c25ee78efa7890c27213cc6e5d3","impliedFormat":1},{"version":"8c030e515014c10a2b98f9f48408e3ba18023dfd3f56e3312c6c2f3ae1f55a16","impliedFormat":1},{"version":"dafc31e9e8751f437122eb8582b93d477e002839864410ff782504a12f2a550c","impliedFormat":1},{"version":"754498c5208ce3c5134f6eabd49b25cf5e1a042373515718953581636491f3c3","impliedFormat":1},{"version":"9c82171d836c47486074e4ca8e059735bf97b205e70b196535b5efd40cbe1bc5","impliedFormat":1},{"version":"f56bdc6884648806d34bc66d31cdb787c4718d04105ce2cd88535db214631f82","impliedFormat":1},{"version":"633d58a237f4bb25ec7d565e4ffa32cecdcee8660ac12189c4351c52557cee9e","impliedFormat":1},{"version":"2e4f37ffe8862b14d8e24ae8763daaa8340c0df0b859d9a9733def0eee7562d9","impliedFormat":1},{"version":"13283350547389802aa35d9f2188effaeac805499169a06ef5cd77ce2a0bd63f","impliedFormat":1},{"version":"ce791f6ea807560f08065d1af6014581eeb54a05abd73294777a281b6dfd73c2","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"49f95e989b4632c6c2a578cc0078ee19a5831832d79cc59abecf5160ea71abad","impliedFormat":1},{"version":"9666533332f26e8995e4d6fe472bdeec9f15d405693723e6497bf94120c566c8","impliedFormat":1},{"version":"ce0df82a9ae6f914ba08409d4d883983cc08e6d59eb2df02d8e4d68309e7848b","impliedFormat":1},{"version":"796273b2edc72e78a04e86d7c58ae94d370ab93a0ddf40b1aa85a37a1c29ecd7","impliedFormat":1},{"version":"5df15a69187d737d6d8d066e189ae4f97e41f4d53712a46b2710ff9f8563ec9f","impliedFormat":1},{"version":"e17cd049a1448de4944800399daa4a64c5db8657cc9be7ef46be66e2a2cd0e7c","impliedFormat":1},{"version":"43fa6ea8714e18adc312b30450b13562949ba2f205a1972a459180fa54471018","impliedFormat":1},{"version":"6e89c2c177347d90916bad67714d0fb473f7e37fb3ce912f4ed521fe2892cd0d","impliedFormat":1},{"version":"43ba4f2fa8c698f5c304d21a3ef596741e8e85a810b7c1f9b692653791d8d97a","impliedFormat":1},{"version":"4d4927cbee21750904af7acf940c5e3c491b4d5ebc676530211e389dd375607a","impliedFormat":1},{"version":"72105519d0390262cf0abe84cf41c926ade0ff475d35eb21307b2f94de985778","impliedFormat":1},{"version":"8a97e578a9bc40eb4f1b0ca78f476f2e9154ecbbfd5567ee72943bab37fc156a","impliedFormat":1},{"version":"c857e0aae3f5f444abd791ec81206020fbcc1223e187316677e026d1c1d6fe08","impliedFormat":1},{"version":"ccf6dd45b708fb74ba9ed0f2478d4eb9195c9dfef0ff83a6092fa3cf2ff53b4f","impliedFormat":1},{"version":"2d7db1d73456e8c5075387d4240c29a2a900847f9c1bff106a2e490da8fbd457","impliedFormat":1},{"version":"2b15c805f48e4e970f8ec0b1915f22d13ca6212375e8987663e2ef5f0205e832","impliedFormat":1},{"version":"f22d05663d873ee7a600faf78abb67f3f719d32266803440cf11d5db7ac0cab2","impliedFormat":1},{"version":"d93c544ad20197b3976b0716c6d5cd5994e71165985d31dcab6e1f77feb4b8f2","impliedFormat":1},{"version":"35069c2c417bd7443ae7c7cafd1de02f665bf015479fec998985ffbbf500628c","impliedFormat":1},{"version":"a8b1c79a833ee148251e88a2553d02ce1641d71d2921cce28e79678f3d8b96aa","impliedFormat":1},{"version":"126d4f950d2bba0bd45b3a86c76554d4126c16339e257e6d2fabf8b6bf1ce00c","impliedFormat":1},{"version":"7e0b7f91c5ab6e33f511efc640d36e6f933510b11be24f98836a20a2dc914c2d","impliedFormat":1},{"version":"045b752f44bf9bbdcaffd882424ab0e15cb8d11fa94e1448942e338c8ef19fba","impliedFormat":1},{"version":"2894c56cad581928bb37607810af011764a2f511f575d28c9f4af0f2ef02d1ab","impliedFormat":1},{"version":"0a72186f94215d020cb386f7dca81d7495ab6c17066eb07d0f44a5bf33c1b21a","impliedFormat":1},{"version":"2d3cc2211f352f46ea6b7cf2c751c141ffcdf514d6e7ae7ee20b7b6742da313f","impliedFormat":1},{"version":"c75445151ff8b77d9923191efed7203985b1a9e09eccf4b054e7be864e27923d","impliedFormat":1},{"version":"0aedb02516baf3e66b2c1db9fef50666d6ed257edac0f866ea32f1aa05aa474f","impliedFormat":1},{"version":"fa8a8fbf91ee2a4779496225f0312aac6635b0f21aa09cdafa4283fe32d519c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"0e8aef93d79b000deb6ec336b5645c87de167168e184e84521886f9ecc69a4b5","impliedFormat":1},{"version":"56ccb49443bfb72e5952f7012f0de1a8679f9f75fc93a5c1ac0bafb28725fc5f","impliedFormat":1},{"version":"20fa37b636fdcc1746ea0738f733d0aed17890d1cd7cb1b2f37010222c23f13e","impliedFormat":1},{"version":"d90b9f1520366d713a73bd30c5a9eb0040d0fb6076aff370796bc776fd705943","impliedFormat":1},{"version":"bc03c3c352f689e38c0ddd50c39b1e65d59273991bfc8858a9e3c0ebb79c023b","impliedFormat":1},{"version":"19df3488557c2fc9b4d8f0bac0fd20fb59aa19dec67c81f93813951a81a867f8","affectsGlobalScope":true,"impliedFormat":1},{"version":"b25350193e103ae90423c5418ddb0ad1168dc9c393c9295ef34980b990030617","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef86adb77316505c6b471da1d9b8c9e428867c2566270e8894d4d773a1c4dc2","impliedFormat":1},{"version":"de7052bfee2981443498239a90c04ea5cc07065d5b9bb61b12cb6c84313ad4ef","impliedFormat":1},{"version":"a3e7d932dc9c09daa99141a8e4800fc6c58c625af0d4bbb017773dc36da75426","impliedFormat":1},{"version":"43e96a3d5d1411ab40ba2f61d6a3192e58177bcf3b133a80ad2a16591611726d","impliedFormat":1},{"version":"4a2edd238d9104eac35b60d727f1123de5062f452b70ed8e0366cb36387dfdfd","impliedFormat":1},{"version":"ca921bf56756cb6fe957f6af693a35251b134fb932dc13f3dfff0bb7106f80b4","impliedFormat":1},{"version":"fee92c97f1aa59eb7098a0cc34ff4df7e6b11bae71526aca84359a2575f313d8","impliedFormat":1},{"version":"0bd0297484aacea217d0b76e55452862da3c5d9e33b24430e0719d1161657225","impliedFormat":1},{"version":"2ab6d334bcbf2aff3acfc4fd8c73ecd82b981d3c3aa47b3f3b89281772286904","impliedFormat":1},{"version":"d07cbc787a997d83f7bde3877fec5fb5b12ce8c1b7047eb792996ed9726b4dde","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"4805f6161c2c8cefb8d3b8bd96a080c0fe8dbc9315f6ad2e53238f9a79e528a6","impliedFormat":1},{"version":"b83cb14474fa60c5f3ec660146b97d122f0735627f80d82dd03e8caa39b4388c","impliedFormat":1},{"version":"f374cb24e93e7798c4d9e83ff872fa52d2cdb36306392b840a6ddf46cb925cb6","impliedFormat":1},{"version":"49179c6a23701c642bd99abe30d996919748014848b738d8e85181fc159685ff","impliedFormat":1},{"version":"b73cbf0a72c8800cf8f96a9acfe94f3ad32ca71342a8908b8ae484d61113f647","impliedFormat":1},{"version":"bae6dd176832f6423966647382c0d7ba9e63f8c167522f09a982f086cd4e8b23","impliedFormat":1},{"version":"20865ac316b8893c1a0cc383ccfc1801443fbcc2a7255be166cf90d03fac88c9","impliedFormat":1},{"version":"c9958eb32126a3843deedda8c22fb97024aa5d6dd588b90af2d7f2bfac540f23","impliedFormat":1},{"version":"461d0ad8ae5f2ff981778af912ba71b37a8426a33301daa00f21c6ccb27f8156","impliedFormat":1},{"version":"e927c2c13c4eaf0a7f17e6022eee8519eb29ef42c4c13a31e81a611ab8c95577","impliedFormat":1},{"version":"fcafff163ca5e66d3b87126e756e1b6dfa8c526aa9cd2a2b0a9da837d81bbd72","impliedFormat":1},{"version":"70246ad95ad8a22bdfe806cb5d383a26c0c6e58e7207ab9c431f1cb175aca657","impliedFormat":1},{"version":"f00f3aa5d64ff46e600648b55a79dcd1333458f7a10da2ed594d9f0a44b76d0b","impliedFormat":1},{"version":"772d8d5eb158b6c92412c03228bd9902ccb1457d7a705b8129814a5d1a6308fc","impliedFormat":1},{"version":"45490817629431853543adcb91c0673c25af52a456479588b6486daba34f68bb","impliedFormat":1},{"version":"802e797bcab5663b2c9f63f51bdf67eff7c41bc64c0fd65e6da3e7941359e2f7","impliedFormat":1},{"version":"8b4327413e5af38cd8cb97c59f48c3c866015d5d642f28518e3a891c469f240e","impliedFormat":1},{"version":"8514c62ce38e58457d967e9e73f128eedc1378115f712b9eef7127f7c88f82ae","impliedFormat":1},{"version":"f1289e05358c546a5b664fbb35a27738954ec2cc6eb4137350353099d154fc62","impliedFormat":1},{"version":"4b20fcf10a5413680e39f5666464859fc56b1003e7dfe2405ced82371ebd49b6","impliedFormat":1},{"version":"1d17ba45cfbe77a9c7e0df92f7d95f3eefd49ee23d1104d0548b215be56945ad","impliedFormat":1},{"version":"f7d628893c9fa52ba3ab01bcb5e79191636c4331ee5667ecc6373cbccff8ae12","impliedFormat":1},{"version":"1d879125d1ec570bf04bc1f362fdbe0cb538315c7ac4bcfcdf0c1e9670846aa6","impliedFormat":1},{"version":"a1ee88010a64e8647d07dba58ec43e6e05851b9ec7a62e4ca2b9c33be5abb2c8","impliedFormat":1},{"version":"46273e8c29816125d0d0b56ce9a849cc77f60f9a5ba627447501d214466f0ff3","impliedFormat":1},{"version":"d663134457d8d669ae0df34eabd57028bddc04fc444c4bc04bc5215afc91e1f4","impliedFormat":1},{"version":"e91f7b1344577a02f051b9b471f33044fef8334a76dc9e1de003d17595a5219b","impliedFormat":1},{"version":"3af3584f79c57853028ef9421ec172539e1fe01853296dc05a9d615ade4ffaf6","impliedFormat":1},{"version":"f82579d87701d639ff4e3930a9b24f4ee13ca74221a9a3a792feb47f01881a9c","impliedFormat":1},{"version":"d7e5d5245a8ba34a274717d085174b2c9827722778129b0081fefd341cca8f55","impliedFormat":1},{"version":"d9d32f94056181c31f553b32ce41d0ef75004912e27450738d57efcd2409c324","impliedFormat":1},{"version":"752513f35f6cff294ffe02d6027c41373adf7bfa35e593dbfd53d95c203635ee","impliedFormat":1},{"version":"6c800b281b9e89e69165fd11536195488de3ff53004e55905e6c0059a2d8591e","impliedFormat":1},{"version":"7d4254b4c6c67a29d5e7f65e67d72540480ac2cfb041ca484847f5ae70480b62","impliedFormat":1},{"version":"1a7e2ea171726446850ec72f4d1525d547ff7e86724cc9e7eec509725752a758","impliedFormat":1},{"version":"8c901126d73f09ecdea4785e9a187d1ac4e793e07da308009db04a7283ec2f37","impliedFormat":1},{"version":"db97922b767bd2675fdfa71e08b49c38b7d2c847a1cc4a7274cb77be23b026f1","impliedFormat":1},{"version":"aab290b8e4b7c399f2c09b957666fc95335eb4522b2dd9ead1bf0cb64da6d6ee","impliedFormat":1},{"version":"94fe3281392e1015b22f39535878610b4fa6f1388dc8d78746be3bc4e4bb8950","impliedFormat":1},{"version":"2652448ac55a2010a1f71dd141f828b682298d39728f9871e1cdf8696ef443fd","impliedFormat":1},{"version":"06c25ddfc2242bd06c19f66c9eae4c46d937349a267810f89783680a1d7b5259","impliedFormat":1},{"version":"120599fd965257b1f4d0ff794bc696162832d9d8467224f4665f713a3119078b","impliedFormat":1},{"version":"5433f33b0a20300cca35d2f229a7fc20b0e8477c44be2affeb21cb464af60c76","impliedFormat":1},{"version":"db036c56f79186da50af66511d37d9fe77fa6793381927292d17f81f787bb195","impliedFormat":1},{"version":"bd4131091b773973ca5d2326c60b789ab1f5e02d8843b3587effe6e1ea7c9d86","impliedFormat":1},{"version":"c7f6485931085bf010fbaf46880a9b9ec1a285ad9dc8c695a9e936f5a48f34b4","impliedFormat":1},{"version":"14f6b927888a1112d662877a5966b05ac1bf7ed25d6c84386db4c23c95a5363b","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"0427df5c06fafc5fe126d14b9becd24160a288deff40e838bfbd92a35f8d0d00","impliedFormat":1},{"version":"90c54a02432d04e4246c87736e53a6a83084357acfeeba7a489c5422b22f5c7a","impliedFormat":1},{"version":"49c346823ba6d4b12278c12c977fb3a31c06b9ca719015978cb145eb86da1c61","impliedFormat":1},{"version":"bfac6e50eaa7e73bb66b7e052c38fdc8ccfc8dbde2777648642af33cf349f7f1","impliedFormat":1},{"version":"92f7c1a4da7fbfd67a2228d1687d5c2e1faa0ba865a94d3550a3941d7527a45d","impliedFormat":1},{"version":"f53b120213a9289d9a26f5af90c4c686dd71d91487a0aa5451a38366c70dc64b","impliedFormat":1},{"version":"83fe880c090afe485a5c02262c0b7cdd76a299a50c48d9bde02be8e908fb4ae6","impliedFormat":1},{"version":"0a372c2d12a259da78e21b25974d2878502f14d89c6d16b97bd9c5017ab1bc12","impliedFormat":1},{"version":"57d67b72e06059adc5e9454de26bbfe567d412b962a501d263c75c2db430f40e","impliedFormat":1},{"version":"6511e4503cf74c469c60aafd6589e4d14d5eb0a25f9bf043dcbecdf65f261972","impliedFormat":1},{"version":"ec1ca97598eda26b7a5e6c8053623acbd88e43be7c4d29c77ccd57abc4c43999","impliedFormat":1},{"version":"6e2261cd9836b2c25eecb13940d92c024ebed7f8efe23c4b084145cd3a13b8a6","impliedFormat":1},{"version":"a67b87d0281c97dfc1197ef28dfe397fc2c865ccd41f7e32b53f647184cc7307","impliedFormat":1},{"version":"771ffb773f1ddd562492a6b9aaca648192ac3f056f0e1d997678ff97dbb6bf9b","impliedFormat":1},{"version":"232f70c0cf2b432f3a6e56a8dc3417103eb162292a9fd376d51a3a9ea5fbbf6f","impliedFormat":1},{"version":"a47e6d954d22dd9ebb802e7e431b560ed7c581e79fb885e44dc92ed4f60d4c07","impliedFormat":1},{"version":"f019e57d2491c159d47a107fd90219a1734bdd2e25cd8d1db3c8fae5c6b414c4","impliedFormat":1},{"version":"8a0e762ceb20c7e72504feef83d709468a70af4abccb304f32d6b9bac1129b2c","impliedFormat":1},{"version":"d1c9bf292a54312888a77bb19dba5e2503ad803f5393beafd45d78d2f4fe9b48","impliedFormat":1},{"version":"9252d498a77517aab5d8d4b5eb9d71e4b225bbc7123df9713e08181de63180f6","impliedFormat":1},{"version":"cb8d8ef7b9ce8ed3e6f1c814fcbf3f90dab0cb8863079236784fc350746e27c4","impliedFormat":1},{"version":"35e6379c3f7cb27b111ad4c1aa69538fd8e788ab737b8ff7596a1b40e96f4f90","impliedFormat":1},{"version":"1fffe726740f9787f15b532e1dc870af3cd964dbe29e191e76121aa3dd8693f2","impliedFormat":1},{"version":"3be035da7bee86b4c3abf392e0edaa44fc6e45092995eefe36b39118c8a84068","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f828825d077c2fa0ea606649faeb122749273a353daab23924fe674e98ba44c","impliedFormat":1},{"version":"2896c2e673a5d3bd9b4246811f79486a073cbb03950c3d252fba10003c57411a","impliedFormat":1},{"version":"616775f16134fa9d01fc677ad3f76e68c051a056c22ab552c64cc281a9686790","impliedFormat":1},{"version":"65c24a8baa2cca1de069a0ba9fba82a173690f52d7e2d0f1f7542d59d5eb4db0","impliedFormat":1},{"version":"f9fe6af238339a0e5f7563acee3178f51db37f32a2e7c09f85273098cee7ec49","impliedFormat":1},{"version":"407a06ba04eede4074eec470ecba2784cbb3bf4e7de56833b097dd90a2aa0651","impliedFormat":1},{"version":"77e71242e71ebf8528c5802993697878f0533db8f2299b4d36aa015bae08a79c","impliedFormat":1},{"version":"98a787be42bd92f8c2a37d7df5f13e5992da0d967fab794adbb7ee18370f9849","impliedFormat":1},{"version":"5c96bad5f78466785cdad664c056e9e2802d5482ca5f862ed19ba34ffbb7b3a4","impliedFormat":1},{"version":"81d8603ac527e75cfec72bb9391228b58f161c2b33514a9d814c7f3ebd3ef466","impliedFormat":1},{"version":"5f3dc10ae646f375776b4e028d2bed039a93eebbba105694d8b910feebbe8b9c","impliedFormat":1},{"version":"bb0cd7862b72f5eba39909c9889d566e198fcaddf7207c16737d0c2246112678","impliedFormat":1},{"version":"4545c1a1ceca170d5d83452dd7c4994644c35cf676a671412601689d9a62da35","impliedFormat":1},{"version":"320f4091e33548b554d2214ce5fc31c96631b513dffa806e2e3a60766c8c49d9","impliedFormat":1},{"version":"a2d648d333cf67b9aeac5d81a1a379d563a8ffa91ddd61c6179f68de724260ff","impliedFormat":1},{"version":"d90d5f524de38889d1e1dbc2aeef00060d779f8688c02766ddb9ca195e4a713d","impliedFormat":1},{"version":"a3f41ed1b4f2fc3049394b945a68ae4fdefd49fa1739c32f149d32c0545d67f5","impliedFormat":1},{"version":"bad68fd0401eb90fe7da408565c8aee9c7a7021c2577aec92fa1382e8876071a","impliedFormat":1},{"version":"47699512e6d8bebf7be488182427189f999affe3addc1c87c882d36b7f2d0b0e","impliedFormat":1},{"version":"fec01479923e169fb52bd4f668dbeef1d7a7ea6e6d491e15617b46f2cacfa37d","impliedFormat":1},{"version":"8a8fb3097ba52f0ae6530ec6ab34e43e316506eb1d9aa29420a4b1e92a81442d","impliedFormat":1},{"version":"44e09c831fefb6fe59b8e65ad8f68a7ecc0e708d152cfcbe7ba6d6080c31c61e","impliedFormat":1},{"version":"1c0a98de1323051010ce5b958ad47bc1c007f7921973123c999300e2b7b0ecc0","impliedFormat":1},{"version":"4655709c9cb3fd6db2b866cab7c418c40ed9533ce8ea4b66b5f17ec2feea46a9","impliedFormat":1},{"version":"87affad8e2243635d3a191fa72ef896842748d812e973b7510a55c6200b3c2a4","impliedFormat":1},{"version":"ad036a85efcd9e5b4f7dd5c1a7362c8478f9a3b6c3554654ca24a29aa850a9c5","impliedFormat":1},{"version":"fedebeae32c5cdd1a85b4e0504a01996e4a8adf3dfa72876920d3dd6e42978e7","impliedFormat":1},{"version":"3eecb25bb467a948c04874d70452b14ae7edb707660aac17dc053e42f2088b00","impliedFormat":1},{"version":"cdf21eee8007e339b1b9945abf4a7b44930b1d695cc528459e68a3adc39a622e","impliedFormat":1},{"version":"330896c1a2b9693edd617be24fbf9e5895d6e18c7955d6c08f028f272b37314d","impliedFormat":1},{"version":"1d9c0a9a6df4e8f29dc84c25c5aa0bb1da5456ebede7a03e03df08bb8b27bae6","impliedFormat":1},{"version":"84380af21da938a567c65ef95aefb5354f676368ee1a1cbb4cae81604a4c7d17","impliedFormat":1},{"version":"1af3e1f2a5d1332e136f8b0b95c0e6c0a02aaabd5092b36b64f3042a03debf28","impliedFormat":1},{"version":"30d8da250766efa99490fc02801047c2c6d72dd0da1bba6581c7e80d1d8842a4","impliedFormat":1},{"version":"03566202f5553bd2d9de22dfab0c61aa163cabb64f0223c08431fb3fc8f70280","impliedFormat":1},{"version":"5f0292a40df210ab94b9fb44c8b775c51e96777e14e073900e392b295ca1061b","impliedFormat":1},{"version":"bc9ee0192f056b3d5527bcd78dc3f9e527a9ba2bdc0a2c296fbc9027147df4b2","impliedFormat":1},{"version":"8627ad129bcf56e82adff0ab5951627c993937aa99f5949c33240d690088b803","impliedFormat":1},{"version":"1de80059b8078ea5749941c9f863aa970b4735bdbb003be4925c853a8b6b4450","impliedFormat":1},{"version":"1d079c37fa53e3c21ed3fa214a27507bda9991f2a41458705b19ed8c2b61173d","impliedFormat":1},{"version":"5bf5c7a44e779790d1eb54c234b668b15e34affa95e78eada73e5757f61ed76a","impliedFormat":1},{"version":"5835a6e0d7cd2738e56b671af0e561e7c1b4fb77751383672f4b009f4e161d70","impliedFormat":1},{"version":"5c634644d45a1b6bc7b05e71e05e52ec04f3d73d9ac85d5927f647a5f965181a","impliedFormat":1},{"version":"4b7f74b772140395e7af67c4841be1ab867c11b3b82a51b1aeb692822b76c872","impliedFormat":1},{"version":"27be6622e2922a1b412eb057faa854831b95db9db5035c3f6d4b677b902ab3b7","impliedFormat":1},{"version":"a68d4b3182e8d776cdede7ac9630c209a7bfbb59191f99a52479151816ef9f9e","impliedFormat":99},{"version":"39644b343e4e3d748344af8182111e3bbc594930fff0170256567e13bbdbebb0","impliedFormat":99},{"version":"ed7fd5160b47b0de3b1571c5c5578e8e7e3314e33ae0b8ea85a895774ee64749","impliedFormat":99},{"version":"63a7595a5015e65262557f883463f934904959da563b4f788306f699411e9bac","impliedFormat":1},{"version":"ecbaf0da125974be39c0aac869e403f72f033a4e7fd0d8cd821a8349b4159628","impliedFormat":1},{"version":"4ba137d6553965703b6b55fd2000b4e07ba365f8caeb0359162ad7247f9707a6","impliedFormat":1},{"version":"ceec3c81b2d81f5e3b855d9367c1d4c664ab5046dff8fd56552df015b7ccbe8f","affectsGlobalScope":true,"impliedFormat":1},{"version":"8fac4a15690b27612d8474fb2fc7cc00388df52d169791b78d1a3645d60b4c8b","affectsGlobalScope":true,"impliedFormat":1},{"version":"064ac1c2ac4b2867c2ceaa74bbdce0cb6a4c16e7c31a6497097159c18f74aa7c","impliedFormat":1},{"version":"3dc14e1ab45e497e5d5e4295271d54ff689aeae00b4277979fdd10fa563540ae","impliedFormat":1},{"version":"1d63055b690a582006435ddd3aa9c03aac16a696fac77ce2ed808f3e5a06efab","impliedFormat":1},{"version":"b789bf89eb19c777ed1e956dbad0925ca795701552d22e68fd130a032008b9f9","impliedFormat":1},"85ae5aee75f011967cf2d25cbc342f62d69314e9d925f7f4aa3456fc2cffcca6","35d26ea66c86da9701e4f4b467913481ffeae910761cea34c775c5dacb7f8eaa",{"version":"5c54a34e3d91727f7ae840bfe4d5d1c9a2f93c54cb7b6063d06ee4a6c3322656","impliedFormat":99},{"version":"db4da53b03596668cf6cc9484834e5de3833b9e7e64620cf08399fe069cd398d","impliedFormat":99},{"version":"ac7c28f153820c10850457994db1462d8c8e462f253b828ad942a979f726f2f9","impliedFormat":99},{"version":"f9b028d3c3891dd817e24d53102132b8f696269309605e6ed4f0db2c113bbd82","impliedFormat":99},{"version":"fb7c8d90e52e2884509166f96f3d591020c7b7977ab473b746954b0c8d100960","impliedFormat":99},{"version":"0bff51d6ed0c9093f6955b9d8258ce152ddb273359d50a897d8baabcb34de2c4","impliedFormat":99},{"version":"45cec9a1ba6549060552eead8959d47226048e0b71c7d0702ae58b7e16a28912","impliedFormat":99},{"version":"ef13c73d6157a32933c612d476c1524dd674cf5b9a88571d7d6a0d147544d529","impliedFormat":99},{"version":"13918e2b81c4288695f9b1f3dcc2468caf0f848d5c1f3dc00071c619d34ff63a","impliedFormat":99},{"version":"6907b09850f86610e7a528348c15484c1e1c09a18a9c1e98861399dfe4b18b46","impliedFormat":99},{"version":"12deea8eaa7a4fc1a2908e67da99831e5c5a6b46ad4f4f948fd4759314ea2b80","impliedFormat":99},{"version":"f0a8b376568a18f9a4976ecb0855187672b16b96c4df1c183a7e52dc1b5d98e8","impliedFormat":99},{"version":"4d2887fb8e436d8ea1dbc219b1e714e7fd327b663bfe4537d075dafb8c4dc9ff","impliedFormat":99},{"version":"77f7424c7653ca571b6aad3323a73da7a23a97275ee9e14c04901b2fc3f75859","impliedFormat":99},{"version":"36921e15078d2fc229fe0c76611ab5a0df260b66cdfd5f99e6c76bc3ae9bcbb4","impliedFormat":99},{"version":"d162abec4ee08a8912ab4d4f1ef890f726497b564f203b71bd5a60cded913cdf","impliedFormat":99},{"version":"8603b66aff9d8ffec90b2f515e337c4f19de03945925ad77c8759475168a8343","impliedFormat":99},{"version":"8b624e12fc25b0c5f51a26ef1bec5c31c314a479de0712785c8c4b8e4185bedf","impliedFormat":99},{"version":"e63033ff7522e994e0e1d9faec3fd84bc0894ce885dc933fc70e0528e397957c","impliedFormat":99},{"version":"6ee110da2af8f04936653814badc2df73fa893d4db0b4e1ebac957f612d63b55","impliedFormat":99},{"version":"838a11e68cfb3688925eaa7cfde7166cadf86f9950fed4853fb1923dc098cc99","impliedFormat":99},{"version":"a602eacab7c5a2398b7a4131a4e4b8a5d2faefcddf51bc230286e5286285d70f","impliedFormat":99},{"version":"9e44d5f53a9c293b004d24e6b3e709902419ff26059e0d22affa93462f157d67","impliedFormat":99},{"version":"4d3907c1514d751e3fdd00da4640377dd00756b4e172063f7e2c6eef9f074760","impliedFormat":99},{"version":"e24d8dc9dcbaf8fb062d4ac97edbffba1c572e040d25bf0860dcbccf1e9f3a88","impliedFormat":99},{"version":"1d5968735d6a01be14f39f3709ee729e2e3aae3309c2b7542c601c4d9369dff0","impliedFormat":99},{"version":"0cc9481d549ee09909165fbb9ab12cf1cf5b4f6748e9f8b68dec6b9583133818","impliedFormat":99},{"version":"05a97c8d50bef9e99aaa97149b3239f37b78576850aa698b3fcaefa32f75f092","impliedFormat":99},{"version":"106db9f3b4ca7980ab7744804d67678ea81a76756cdfad8342577e1b2af46342","impliedFormat":99},{"version":"b4bd38e8b0044564d129b0c81ba7d7999a2ed2affe5babbabc87a2d991210f31","impliedFormat":99},{"version":"556121d6cfea199c95472772cac2f719b834be8b9bd41eb6d8d91bf2cb8aef3d","impliedFormat":99},{"version":"c4d5184203d55e125c00257681628e038089ec04bdcc9fccbd81398af48ce45c","impliedFormat":99},{"version":"9cfaeb5d4d823615342550fbf0bf707d38027a8896d080464c6f6434e5bea811","impliedFormat":99},{"version":"c9a0186d419c1a2ac0867c8d7c5f753d068ff88e506b5810ac4b755443cef93f","impliedFormat":99},{"version":"e5276d294771106d9103815911e0bcc759c2b69437b2eaa53ae6ce3b31698f93","impliedFormat":99},{"version":"a849c1aa0f8fbf850658ee098099e30fadec5bdcae322e43d3715b13d28b166b","impliedFormat":99},{"version":"69b82e214e484e7428af5dc522675ff70f05b07a4cdcc168b0de3deb9a74c034","impliedFormat":99},{"version":"eaa27dfa46cdbda4aa20b27881245d5e38ce4dd0403d229c0cbba5211190e3a0","impliedFormat":99},{"version":"49637532054b1f32aca1a2e37e36acb6a063ec145f398bbd806ad4ad2d610b77","impliedFormat":99},{"version":"929672b92ae2eeb40eb1171a5f1551c90b6d55928b8d3c13a119ee6bad25c648","impliedFormat":99},{"version":"018c169aa65c2e199c1256a50229fc2476303a7d229109c76920734533715302","impliedFormat":99},{"version":"769eec6f55b0fd03ba1fc9c2c806ba347d4007a9307cd5e78f8c50488407b755","impliedFormat":99},{"version":"ee8caa32e966d21923391aaf139eae98fb58a865a74ecc3d55950781da964549","impliedFormat":99},{"version":"1965c99a27f819fec1007321018cf9552beec40799fd7bc080c2e64ab521e064","impliedFormat":99},{"version":"f0cd5f360be33c4507df7fe7491388b6890a14844fb1e26a5c779ef0ceeb3ba8","impliedFormat":99},{"version":"58b79e76ac3062bdac3bfa5851abeaf66b7432f2cfd2fa79c969a1d619f31277","impliedFormat":99},{"version":"570742c5ba7f2e8f4b3e6741814030d2a282111a63d42bd40e6e48d5b070e48a","impliedFormat":99},{"version":"e42e8eece168b49b0a95212d709831e979049e583ab50c31f22d7c7863def456","impliedFormat":99},{"version":"5a8516b0d60aca2895ed18ebb5f1bb61fe99dbb99383420c1038679bf258be7f","impliedFormat":99},{"version":"98708f9ff38cc2b2738a82d862deaf190fe50c76256c34d877531b5add891480","impliedFormat":99},{"version":"e61b8d8c4c729e967d332c3c1a2ba7576786d218e21685c47440e02d123f51c1","impliedFormat":99},{"version":"ab98cc4cc649989f185f8e23da9cb2c27847072cd7a071b7c7dcf8bda7f361be","impliedFormat":99},{"version":"69631c578eae77a24486a548df6272e17318cd2cc3742b301c6e374031ce15d5","impliedFormat":99},{"version":"85e7e505b1eb7b86efb53992ab5638253ba698d676397aa4aef68636a0d92db5","impliedFormat":99},{"version":"c523515c0bdc2fbb0119ea564b1952ffc042e6692c22aac588c99bddd89fe280","impliedFormat":99},{"version":"7a8fbf8a1e38dca11ef63c25ce81b0c9cd3a2b75d32b2a1aabb22187a884f65c","impliedFormat":99},{"version":"ee07fa266671cf9ad5522e425752bac7d1149e9d66851058ab1094cc4b475565","impliedFormat":99},{"version":"6fea7054de404b9980cd44dfdd416d03a44477ff3e1c929493022abd7244658c","impliedFormat":99},{"version":"08297fbb15c5b09a2170bacc090f295aad6267f51ad49c836ed9cdec93d57efe","impliedFormat":99},{"version":"adc160518fe54967314e9a78132fe1630341b743acbca7a40366a7118d64d8a0","impliedFormat":99},{"version":"aa0db1558cfdab86a71c88c4369b0e089749cc17dad751e4b824d0b44892ea04","impliedFormat":99},{"version":"a4e4ed7aeebed4f15bfc68ef9e719b154765d523681a69aa38d9f4be10ec41a4","impliedFormat":99},{"version":"79da23daf791a61c15b6adb2c8030aab11d2b96b12fd7cc1381157e64ebc2fc4","impliedFormat":99},{"version":"64e0b717c40a38d507f38117c2363cd582cdd58d971d3d57d413fbc239f6e612","impliedFormat":99},{"version":"64c7a10dbba5405299f30f1ba2e48f680a99a1d9ca56ed3b25fed37802e49f0a","impliedFormat":99},{"version":"4e89358beaee0660a66f27120ce892880fd6e4ff50a20ad17dff711b0531ccd2","impliedFormat":99},{"version":"b49349872646f50772934a48fef4c95ecb328160f60b80d412a9f7210d6ea817","impliedFormat":99},{"version":"58be3671cce553bcbe1236d16c451c25b84f1d0a9fe32bdb70bcd672b8d84026","impliedFormat":99},{"version":"848fb3a35212155e7320e4d412a56d2ef082fd954f281e6a221720906d8e24d5","impliedFormat":99},{"version":"b130f22d08a15bb6c3b47ddf1b1f14ea0def8acffd486f1668a28b4ffa6809ba","impliedFormat":99},{"version":"4a2061c6cd6193f86dcedb3f2dffc38e57fab097eb29e2c857f2ac8608f05349","impliedFormat":99},{"version":"a037be29361879cebb09992466be99c3bf52dd7426986005026ac7c9351970da","impliedFormat":99},{"version":"4f27ea452fe87e5614c79bdfa06075c1d7afdadabc3213299a4597fd005998bc","impliedFormat":99},{"version":"aaac531eaa95b1c4d28bc03bb7fa1d6cf9495ab14b61494ca452514d60133a0e","impliedFormat":99},{"version":"d7442be0f659458eefa72616260b16fca92e97c03e951efd989966b5e7ea5e91","impliedFormat":99},{"version":"fec07695d9acdec37e1922969b4d6625f70ae89adbd4afd7d268e5d523bde38e","impliedFormat":99},{"version":"f3eb5627a5494e0207831df2aebf5df6ec2265b9ef94cc1e3bf2d810f606be14","impliedFormat":99},{"version":"48cf15e70db5b3b6ef026d613b091464604640c8b8272f83c4dfc612498c4f50","impliedFormat":99},{"version":"75d4c68ff23ea1875f4886bb79b273fc4736ebcc92d55c75da0d0515df20eabc","impliedFormat":99},{"version":"d76a111579f9ae213c059df3ea6490fefeb44d501cdb0f18bd9b9fffd8fd142a","impliedFormat":99},{"version":"3709251f4d3f80cc7dbdb0398f4cd1b0fbf1d68b88ac2c2c9a2819c9f4d93b42","impliedFormat":99},{"version":"a9fa1ca3f563a463e3dbc7f08b846512d570450887ae2d144589cc723e3d3fd0","impliedFormat":99},{"version":"c8b8403a54738582b19f7a4f93498b6550bdcb665ffae98a907c91358ffe55db","impliedFormat":99},{"version":"fc8adcb7f270b42bcfc3b22d0b170f0eb1599d8661d15d6cd4538ce053e1b9ed","impliedFormat":99},{"version":"deecea988e1412aa38b360b0fb071fb86bcaf5c94ad1b1398663c8dd4871e6af","impliedFormat":99},{"version":"e2d7e3f27356ab2be630a4405e3f60499b9dcf466775932f371c7ad30d305f17","impliedFormat":99},{"version":"20035f181bd971cb94f5742bd91131b79c1b114706e20b2663d2c40c055fa53c","impliedFormat":99},{"version":"fe5af5ee1bfb821694b6a026c509511c6d8540cdd285131c81a115b7eef56e11","impliedFormat":99},{"version":"54442f15c1d35a773cbcaeb7520e0e09ac991a1e00d6be72d65a078288e6dbe9","impliedFormat":99},{"version":"e41d8da000ae9c3619e6c16606af32b3d70f933faa3d6f10d72563b5b0f65bce","impliedFormat":99},{"version":"124c22139ae091889925c5d1ade97be21890a5135d98b17d96b3c6f382efd196","impliedFormat":99},{"version":"c36c30592da0b0667ce5c4215b660ab5370b21412320be13115e9eaf22987c57","impliedFormat":99},{"version":"91386cb2bf54cad36b0a7b9ea9790afe894050c17ed40cb2d63552fec4961e85","impliedFormat":99},{"version":"d77786dffdd483df22bba299465b01ccc0b48c3bd41b0af66b43ee9b280629b5","impliedFormat":99},{"version":"4aaf5a0f504e99332220b7189fdd94ed71c1f3db7225bdceb6148b985139fa0d","impliedFormat":99},{"version":"8ff5f071f877ffcb31d1476c59d4c68ae05c0ad9b022d0145970c7dbf5e40214","impliedFormat":99},{"version":"a3fcdb8949307b5481b66479a4168fafe3d07647cf91b856f22e4556bac78df5","impliedFormat":99},{"version":"72fcb3b2ebe9102201635cd731f5e655afd680a7edcc5804435827e994948700","impliedFormat":99},{"version":"9d9dd4371e7e7ec4968fc506f7dab3303e70c4baae96cedbc0f25fd487994d29","impliedFormat":99},{"version":"9c3033264cfe0084b80cce45f90db8b2af60ba8771748a22d14e6a30bc467cc2","impliedFormat":99},{"version":"e9cf28fb0bc429b94cf4c0069954edc5da874eafdc5c967865e184eac9a3b5aa","impliedFormat":99},{"version":"bcd73ee4dbb40711d57b4555d222453b3cbb3824f7fccdf355e43e6e35a9a4ab","impliedFormat":99},{"version":"12dd3b0dcaac8d69f273b9f03d316eb29cdc4a35fccef29583254310505d32d7","impliedFormat":99},{"version":"38077de13fe290c3fb4fdcd8f426c260c06e7308783bed33e5ff8921dcae5194","impliedFormat":99},{"version":"5ec96b9e4148f817ac89052509f6a9db1b434ef37b634c9cfb54b0be3b81f7f2","impliedFormat":99},{"version":"bff50b812b9a6bdae45bc5c4025eee90a6d37516f5c473729b590abacdcfc00c","impliedFormat":99},{"version":"e102eccbda45533f54617e5a53b143d0e44aea1f251551eb6e237085ece23806","impliedFormat":99},{"version":"f12b02156d76749c81e4b83185d3b814b8352f5e21ab5b7284e2eea2f1b17a90","impliedFormat":99},{"version":"4c612460e5871907fd0182ae1eae612b7915609ca78139ef110ddb4e1af605b6","impliedFormat":99},{"version":"e4519b1ad63f51fb64fa0db0fc963f83ffba0ce449693c3b754a2315449f7cdd","impliedFormat":99},{"version":"6a8106c44c9de23fff7e01d74805857b5702da8c72f1391a38b34460063aecc4","impliedFormat":99},{"version":"80492a9617e654e7fe8e27bab491d51e1548ea4bb9f8c51357267a92a435dcef","impliedFormat":99},{"version":"89aae61ac71e83a0f76dc14179cca84dbd1dcb6f7dff0b112dc1bc6b1c887800","impliedFormat":99},{"version":"b43a1d1eb7fb5d8b3c7e99c020b4313bc614de10665a0cf26d7d4bb78ff008ca","impliedFormat":99},{"version":"8f1dd9a724520513ceb0014819e9169525bd9a020c74458e85689cab061a1f7b","impliedFormat":99},{"version":"60b6250ba1516b1eb863514b3f1ae52403f781eebb5b798ad8765dea5dc79dbc","impliedFormat":99},{"version":"61a8dc1eaeb0a50f9304858e79a4f1a7b72a0901a27ef046e9465911ffe1ebec","impliedFormat":99},{"version":"f75492d33e2be3eb66f9fe7f01c8760fd18505d724e6fcd687f6c2e806b40046","impliedFormat":99},{"version":"b5e40372d34e1f0704131da3a8526e12948295e64b4d05a11e1fd8570c411e39","impliedFormat":99},{"version":"2c879cf6a84b92061c13bdc0f4abdca88834242ffb7b0765176eb44a0602a762","impliedFormat":99},{"version":"da67be907089d1d406cac1a6286a4cea9d430e099c34464d00e7d7791bf2d3c4","impliedFormat":99},{"version":"d3820ad364704a21b13bb585852e968e3184b4662b185c9b53cd30f1d4d00510","impliedFormat":99},{"version":"8d7659793df95d53e1757de966b7e1c1fa809dde2c02fb87e53df19b124924ef","impliedFormat":99},{"version":"2b384d6463c4ed2cbaaf58ae46a17753a2b729c0d17fe346265f39901a89c301","impliedFormat":99},{"version":"f865cf13bb812986c308c80ec8d536356f91addd45a9f850968eac0c740c6528","impliedFormat":99},{"version":"cb35c26fb8933531969fdf198d70d91fe10d445028bade6632dab0e884573b79","impliedFormat":99},{"version":"cd6b5c72ea7d660affad9cb41859046e79c4e363c22700a6f86a7f7578ef9a2a","impliedFormat":99},{"version":"5dafab1e5e9ea9835109fd2766b154c1499dd17d935e4ff49e70ffebda3032d0","impliedFormat":99},{"version":"5db698db35aa63f4d2debcc34101a5f5a2d01366c3f15bedfa9050ca85d9aa35","impliedFormat":99},{"version":"c55c432c38692edf9f918f385d536c43073cc8077ff44850091442722bcd01a4","impliedFormat":99},{"version":"17a295c1b1dccb8cb4f854bde5ff33980fef1d883c6d481f8593240ccaed60ca","impliedFormat":99},{"version":"47ab38c7c74019bd347aa1c812e6eef86d2163669e50242cd27d0de30b6c3fbb","impliedFormat":99},{"version":"c8cfded6c4fd715b52de664d21931bc6a55b225894f5792d05ae29568c623def","impliedFormat":99},{"version":"1bfe5cc8bdb660318b30da6f47460605b06f196335705af4cdbb510ffd8c8fae","impliedFormat":99},{"version":"d4aba31dd41819bd87d70843438a935ddc142c0eb1d0cdfa164e5dbb9fead30e","impliedFormat":99},{"version":"9aca4a305574aa60617b94cb25d8d585fe169ddf92f7dd0197d89d636aa1c19a","impliedFormat":99},{"version":"d23800041ae0858327ad3b47c3876e0191c16061c33c0550fbcff60b695d7bdd","impliedFormat":99},{"version":"b809557adda13b9bea2ce69cea6405d1345d85f7d029a28d092fef440edf6141","impliedFormat":99},{"version":"b9f39d0dd2bc56a387290ec42a094382ce91de1258a6f5f3b89655d7aabf65bf","impliedFormat":99},{"version":"c8e72190cc41dac064febe56f97bc89351be5a83832918797fe8c36cbb604fe5","impliedFormat":99},{"version":"250a161356fb615263402697679460d0b765a249404a78125168d3fddaf9d090","impliedFormat":99},{"version":"41d93ceb853cc53debd13fd440e4b71f089bfec10768811668db17e7df55a3d0","impliedFormat":99},{"version":"4fce10097a5a81c6811ef81adfb03683518a072d4c0d87f5347d4d7b4400cbc3","impliedFormat":99},{"version":"f5decc77d27c3a64f0d38a8ed69fc60159706b12a7f5ddcfa574ea29f0e59f80","impliedFormat":99},{"version":"6d93506d3159b47c8651e353095a333fad5211363b5dd2aa48dcdf9e9d69871a","impliedFormat":99},{"version":"8289780f7f1f94951d01e6c4aa2bc9fee7720c9807fd5dfb77e6a8ada8242cb6","impliedFormat":99},{"version":"cc52591d128faa36c09f3aa27a5054ed3cbb651331095380915cce77622f0fab","impliedFormat":99},{"version":"a39c28ed9ee3e52c975278adcb84d56cd0c3ac07f339481219c67aac93b78c32","impliedFormat":99},{"version":"acf12bc7ab7f2521ecc517b2ab4cb61014a384f16d75809902ad7cff8696169b","impliedFormat":99},{"version":"96fcce579cd105b23b74a6e39c9f62d478a0e4cc88f51cce130c106a92305603","impliedFormat":99},{"version":"bf58326ddd44ea8c9e3377e6355bdcfa46b2157162110c692b3014adebdcbbfd","impliedFormat":99},{"version":"28f4cbb0f2b77cdaf8f638286cc2844669a496f687c2fce10f9f8ff14e407fe9","impliedFormat":99},{"version":"5d5a15194cf1e9bb670d20624d80474368d2894d46d3196ec7aabf80acdd0ea4","impliedFormat":99},{"version":"e26538b0d04ad1ea982c6ada5dfd1f340e98137cbf0d57075e754462d86f7611","impliedFormat":99},{"version":"99a12659c5daf9dd6ae79d11f8df6d34c5943c6ebae7f424e21cdb963260a91b","impliedFormat":99},{"version":"473c6060c3923d6beceac97cac7a684113090abb5363f50915ae0fc29492c928","impliedFormat":99},{"version":"bb64643948ce89cca03b8252ac01f3beb1e504f2e232bdfdb1cdc81da5d4687e","impliedFormat":99},{"version":"c4239abcb2ff0e4fd1a7ba09e88986e718d4612d13929d30b4d02779e3d87aaa","impliedFormat":99},{"version":"dcb610f5aa4b8627c9676839320db26f357d9ec75d31490892a1fd73be1b1314","impliedFormat":99},{"version":"7a4e7b83a4e920dd574f8df7d3bdab8dcac6d31226fa1eda728628508188a977","impliedFormat":99},{"version":"eaff8a935d00b2586318cc5c3092e59bcdb61b687415978f8adc78778664ec72","impliedFormat":99},{"version":"6d170802c45620c12a5ed32aaf2b239f1c3f3cf76aee3a2e955cff1b6c6144a1","impliedFormat":99},{"version":"d249734a690bb801bacd2afcc0432b5be224dd91ec88ec6ec43848c37858add5","impliedFormat":99},{"version":"3a0d55c5d62914650d86fb0402277a1fde4bb25388c15734bf3c4a9354bf52f6","impliedFormat":99},{"version":"6789838f6daa7ddd03fa4be97bfcc6fe3449c9a04a7f4c9008c508898124bdf0","impliedFormat":99},{"version":"b4e1f8785a623cc58e37ad538b9a5de1de1218e154c9f5a0c03eb18a2de9bcb7","impliedFormat":99},{"version":"767bee06d602aa9510358818e71db67140a3c2f056566e41be2a079a29c41979","impliedFormat":99},{"version":"206260b1670649a465319961ee478ac2fd1e7852259efb9e04112e4651fc9544","impliedFormat":99},{"version":"e8de9704319ec1ba81145df7a6c97a409c572fe5ce22ad11a9ad6737807ae620","impliedFormat":99},{"version":"747b9ec353a6bb35d732e4691dfa3ae8e4406971a08f4199cb2c91003c03d0de","impliedFormat":99},{"version":"f2ca59e16388b431b8e912ee51d31e192c4792bd4335ae4ca2f59af622dbc302","impliedFormat":99},{"version":"cd631db9f450f9a18015c23ffde0cfd030e44ebfe4b10f5c72803de30ef0e8fa","impliedFormat":99},{"version":"63fbf377cefedf70ed0aeae96eba90abf65c2e92679c459b325b2bd37cd4983b","impliedFormat":99},{"version":"e23f60fba2fcd179fc2152ac4f6f3498059f21c76bd74e64147fc3e1365f3311","impliedFormat":99},{"version":"78f304cb1217b823ebd9b79dd9b4adc75b0d915432456afb140fb2188e1bd748","impliedFormat":99},{"version":"d8425128980a85913c1f5fb9ece9fe237a4e70eaa9845a5527995c2d40b89331","impliedFormat":99},{"version":"39b5d3de3c64f6b268cb843ffa399e5b0d8f17c3f65be35b05b9038c987346bc","impliedFormat":99},{"version":"9069f61b6a5eb7844d89571ae96dd492fbd5f33534bf621abf3bf29579f0484f","impliedFormat":99},{"version":"468caddc2aac962edebc1d3b8a5a9e9a173b9e75d36d84dc263502fb2e49811a","impliedFormat":99},{"version":"08b0911ee98ea9f9f4629fb6c3ad2f52a9a5aaa0aa9a80a7c8041b8c27e8f69c","impliedFormat":99},{"version":"ca787195f6134b4dac541a629f9db12a30162adf5467bd343f37dfd562b7c329","impliedFormat":99},{"version":"7dcb30baed58d49e6bb15bad648185d3c198959e7a3e9f063d1838a8fba7c91a","impliedFormat":99},{"version":"ef8dccd817a571ec3fa073a965d5d97b785cc43222c7854121ba31fa97d2bdd5","impliedFormat":99},{"version":"3a52eca069515967c1b43594091abc98d51004c68011b4b7d3335a830a19e906","impliedFormat":99},{"version":"85008e5bf42ef9dc1c4b6924c78c8b911334cbf91a7a24ef70efadd9fa88ea62","impliedFormat":99},{"version":"028cb9a8ff4335a9b239b17cd381d61b65af2384fdb866c47200c6beed7674e3","impliedFormat":99},{"version":"ce1ed5f9d243c8378bd4099ca7258f4492b9c41f7764af07fda38da659f0fc57","impliedFormat":99},{"version":"d6e00f06be5750686d5646ee1ba49b73050968d7d68968e3c815d24a08c383d1","impliedFormat":99},{"version":"1c0472bc9182a884d74d7e8f2bcc46d34b6b16342ba3cffec03be817b2b9b042","impliedFormat":99},{"version":"c097ad4cab7d86210476ce41e964e806c9946aa231bab21cec2aae3ff2795978","impliedFormat":99},{"version":"060d300e05a630bca1752385d12f8c7283bc8c572e4c2e797abd51019a0206c1","impliedFormat":99},{"version":"3e2bfc42812d3a879308227c956b958c0e5256a57c3549da9ef982194951a97e","impliedFormat":99},{"version":"b158543642d5e0d7d86926e135c3bb618428b65aff3cfecab549b04725469f5a","impliedFormat":99},{"version":"c6abed8a1c50ae86892236bf08e5890798b939bcf263a7b25fabbed8dbf70b07","impliedFormat":99},{"version":"2aadf562886279ea28b6b469b2396c86f54a6e80bf8427dd895218e58b4bfdf0","impliedFormat":99},{"version":"e6b66ba6f695ee96ce5ad8e0e39bf2c5630e9b6c2f7a91eccee70f8ba1a82c00","impliedFormat":99},{"version":"af8546e25450ee35e8b24c5f46558c3f0fd7c92cd6e8b6024036d2918994af76","impliedFormat":99},{"version":"d96f38005197dd03404a282b2c2f399c845c233ec16800bce394000fa5a1a727","impliedFormat":99},{"version":"1b2aaf0cbd2b9c6592c40f476e6053dbe52edcc9cc96dbe03db1ae8085e50e7b","impliedFormat":99},{"version":"d7d173a78b314a1749f45ef644f1baa1d769a64e72dd1a225990ab858279a1e1","impliedFormat":99},{"version":"c919340f2b125d0fa4e9179cc9b53c225e852cb70e321576d83a4068c6d7baeb","impliedFormat":99},{"version":"f2ab946b2481f725ebb90f42504db6c43bb967b08b6e6c7c84ab4f6abd3f3890","impliedFormat":99},{"version":"b0d96987e7b7219db0af2caebe36fb0470fb351d532ab483582032a1e38696fe","impliedFormat":99},{"version":"91a325d80ba995754a3a8072dbc20a28da4b84387f09f8f4bd549bd174e83b82","impliedFormat":99},{"version":"f9a43d9390efe0c20d22ec866f6f892c2a1e338c72a512809125f9df53cb92a7","impliedFormat":99},{"version":"b73d2f6f38ca4c1ec4a7151cddfcf0f144bf4364b2e81b082e35ff5361c0f57e","impliedFormat":99},{"version":"7801cae57a7497244c5243ea6f549cb3a4d1eb65c08268b09e544f902c48cf22","impliedFormat":99},{"version":"a9088a68eb7057a790e986cb60835dd190691642ea759e0f249ca9a555e6f4df","impliedFormat":99},{"version":"561e83c572ac51be3ad30f2d52e4e21379dbb7fd06cbc6eb0a8d4410741faa16","impliedFormat":99},{"version":"948c68479773ba7430f49d9aca11a27cc634ce921beb0ffdeeec60e3ba175a3d","impliedFormat":99},{"version":"2bd820079a9688d1b11fdbd4ae580563fed1edc6905d8ec08dad853766a38fa4","impliedFormat":99},{"version":"66b7178c218793c116e9b1a9871dad446f51618fcaee8730d9a3462a2f99c2f1","impliedFormat":99},{"version":"f20eeb62635edb76f3bed0a0341dc1c543684d8c2e280192dbaa9d815a2b3e03","impliedFormat":99},{"version":"f68ee6b0fccf8dff34d25d155ab88a1a699be67beaa3075f695f130f9c20b975","impliedFormat":99},{"version":"5aa560f601510ee8bd0b34b2d6a92316c46b43bf27c582b168242632b1613aae","impliedFormat":99},{"version":"0d3b3f2f3c92e2fd9b56d75bd949c74ccd3cd2d6e89a553e59f58568ad90dd78","impliedFormat":99},{"version":"c09eb94f5f890522952ce366442a1fd12052bbb76e84a6d2ca87238307fd5d4f","impliedFormat":99},{"version":"1460af367d2f860537a9dde995cc06d0cc2b86c5761b2f4c0350840caf01e7c2","impliedFormat":99},{"version":"a02d3f1988da099c920b3209211840a299db1a3c20d7aba929ed7ef0442f3e6a","impliedFormat":99},{"version":"75aca9b08ddf95a78154a8a261e3ecef1f924ee269348687978d187b872d1535","impliedFormat":99},{"version":"18e61650cab316550f346f688c1dc7933cb3184cbcd88407a77748a75dc844b3","impliedFormat":99},{"version":"f17d24c6f8d381e61c99f13e4f38849e72b72c44e59be96a97dd212e2e6679ca","impliedFormat":99},{"version":"b64b8f2b635c69a120183f741ef3eaedddb2e4b021468c62f780c6ac287deef1","impliedFormat":99},{"version":"11e434214064759b5c95eb4f026adf239b1bf4d79ffa2a4f00b398111feea794","impliedFormat":99},{"version":"05d2836490172eba648524e51117dd5dd98c5438aa89e15f6890c9562f8b4004","impliedFormat":99},{"version":"f2d58e2a95faa9b9ca10bfd9333a445ce6eea6f2a1504fc7c8c549018adaa59b","impliedFormat":99},{"version":"9d18b7270255629a0e40053a36d9cfd4c765c3df73313422fbdc077e6f411ca2","impliedFormat":99},{"version":"32b791692403665af92cec27daba20c02469748e2e0602d3ae96350ee08d2a6f","impliedFormat":99},{"version":"6332e40859f83f0446c33167825f4436e2ded25edc7974a5b42c7f6a59124f23","impliedFormat":99},{"version":"50ae56aa0973ac45d8176c56d105af95cbe8b6301db6ff5fc3512b4c684b4255","impliedFormat":99},{"version":"622f748b9de2b1a65392aeef2e18c6dbb372f3fb82d8e5ee55234cb9763b3fe9","impliedFormat":99},{"version":"a6150b170cc88ac46d7005318447bd161982c091e0224dfc63dc2a8cd6d12f20","impliedFormat":99},{"version":"24f2b131e4b2d9aa929c24e68328984de1b9ae0bf4bceba5ee40e6cc5b0bdc67","impliedFormat":99},{"version":"d7fe6edb96da75ea3fa6b76a8613e61d13aad20b7462b42f4f3492091238b215","impliedFormat":99},{"version":"5e9ba2bfab8ce1e5f94a7463969a64ea6c22d31919faa888ec940dd770af1248","impliedFormat":99},{"version":"a2b13db4828108b2406f879c2cb93d6a497fe936aa14f0f3d3dcf9c9ed03f75b","impliedFormat":99},{"version":"b533b94c5ce70318fde3772b3221d46941d2f359d81221da079c2ecd477f887c","impliedFormat":99},{"version":"a8794bcff57ed0c4f880a948f4b85dd1b22d925ba090871dbcd88b35c5ebe968","impliedFormat":99},{"version":"e2f77b057053d31d7fe1a3648908095bf987bd96f73855889b5ce9b7a8e250ec","impliedFormat":99},{"version":"c897ceccd46b2c55f8aab887a246417b0520143e8a96fd26c0c84a12ebfeff25","impliedFormat":99},{"version":"b762e986d91311985863443a278ce6920e3541312338a8b2ff5026644f55cc52","impliedFormat":99},{"version":"d591d1559ae4fc82c4c582ce269b6023a0caac336b245b78fc556a9a37a60bf5","impliedFormat":99},{"version":"9a133dedbbd96d3415cce1bdda55f08ec1ba38bab7e7139aae3afcc56cbc070e","impliedFormat":99},{"version":"1796c4fd3085ac25f634b30378e000e1b985ffcb2f04eaf9ba7c6c2785500308","impliedFormat":99},{"version":"ceaedce2f9989592a1f2bb970c679c167e8a3b8973b046e1aaf85bccf9859cbd","impliedFormat":99},{"version":"784e9840f78ca32d9f8d6d69f3b7b5a955b9cd134fc283d84e7777cb63276d05","impliedFormat":99},{"version":"c48e52a9c4c8c3cd841da9cf35f2a6574ab0c45a84171c075ca9c6cb6b715768","impliedFormat":99},{"version":"98afdcae0697df3fbebb0d9cd46a4865abc9c47378cdd022063ebccff58239ca","impliedFormat":99},{"version":"135e72dd70117b78dfaa72723885feb45b296f61bf60cbf9eea7726bda03c154","impliedFormat":99},{"version":"61c43c4ba9a7ace834e443cbfe4c7cfcfe23b6a81505cc0716564fdae9597e3e","impliedFormat":99},{"version":"87f4c6dd964ac87d6b45d5663b917b74ed83789a232bb9419670a922913aaf30","impliedFormat":99},{"version":"7c901df77ab9b0b7e932042aad3629729eac81157aef01e377aa7eeefd9d8f83","impliedFormat":99},{"version":"432e8de8444fa333c21e5b427b3cca5d2ece5177043af26014a87a2de779a8a9","impliedFormat":99},{"version":"b0f1373cb8fee14b5a96c2083d9e06aa5329d9329f1945390c3da55b0e475612","impliedFormat":99},{"version":"6a07210d3945b68bd25158aea4538e8fc45c8073aef4f18a6fb71fc4afde8e16","impliedFormat":99},{"version":"ef608b53fdfb8ef2ce08eb30f411c1c1500c4990541763b48d041fd3ce970676","impliedFormat":99},{"version":"9c9da2b7e0cc3dbc5323d17420ffa7c694b9cd635f7928670f0821637b1efe54","impliedFormat":99},{"version":"9dd18f8953ad665a1845871c0bac9a11ba128951f4481e522842d8a7e7999fcb","impliedFormat":99},{"version":"618b4ae5336a47df468d4f71b3884048f5e6e7bf7ecc9093b98cbd7b18daabc6","impliedFormat":99},{"version":"7f97435638b9523edb4870b4e805088108d874a777172bc8a46caf63c6656f99","impliedFormat":99},{"version":"31ff93b370bb6c701d287996b955c5ccd063360f363fef206d60a9848a48e3d2","impliedFormat":99},{"version":"1934c6418bd4f3130e7a98e8e4b701c383a301ef831e767331ed2e544965fef9","impliedFormat":99},{"version":"69b49a4e4216cbcadd09d3d8cc11d224b3c6cc2749ead447ea1a1b514b748133","impliedFormat":99},{"version":"2bcba29ee9cb7c86e7cd486a1dec3274d0aa3a14847ea6e84eb7b117d1210271","impliedFormat":99},{"version":"489e5b3590d99830e9146c61dd810fe0305b2c580d9e912c1e69ca84858f6a6c","impliedFormat":99},{"version":"dceb4c71cb4c299f79a784e58119d7788286bbd1009e89d476aeac26cd086763","impliedFormat":99},{"version":"e5d3ee84524032a0fe1066cb9cb38dd78218f9a496ac335aa857e5c1c801a86e","impliedFormat":99},{"version":"f41940c36a1a760593e4e214bd6eec3ee7f90cd934bde0c2b1caa430d76bf659","impliedFormat":99},{"version":"7611726255029e649e3c2304ae36bc8a34501823e145c708b35b99e988b677ef","impliedFormat":99},{"version":"6b246b69ee26df19a7fd044a3bc686e99b903284695ff0c3a232baecfd055499","impliedFormat":99},{"version":"b3fa4ed7d7976d27aecb6547320508c949cf9c6503f8046d74c6d74cd42cea83","impliedFormat":99},{"version":"8dc2b342bc7ad0e949723a89955147d942020d1fd42656d08e87a2302b757d7d","impliedFormat":99},{"version":"6c7c15055a23e2b54f15113daa60909806439d168f0ac4d172aa733637978e52","impliedFormat":99},{"version":"80cc3ff6d31c4235aaf2f3cb303faba93ee6be651863ffc3db33433ac779db76","impliedFormat":99},{"version":"665243d722de2dc95ca2351b6dffcceeb7a9b2bb881777b9771ab55dec4e32c3","impliedFormat":99},{"version":"49506ea016a6f383f5d463b991aa04f1e05ede9d82c61b78080a54f5c6c67ccc","impliedFormat":99},{"version":"1a1587ceeef503cd8b5472cbd745e845d1d89b329af1fe5dde0a34dcc7e11d3f","impliedFormat":99},{"version":"f372b58d2371a40a6a2336564cccdcc09c8516006afccbe23d524e9b3e6b0b50","impliedFormat":99},{"version":"234bcd30c9ec5b0485e91c5ad45409fd856f829e8fda76396147593f99ef001d","impliedFormat":99},{"version":"1bf2a90865d536fda72ea3686c9b18219d1e2582d8ece7060a3a242aaa9dc7aa","impliedFormat":99},{"version":"f2ce60764659e04d7daf572edc3dea68602ac09c4988862927167a30ac2f7b40","impliedFormat":99},{"version":"1e9a3fb05002f75b388a8a1dba9f05d564874bd06cd972f8a946840c8df01364","impliedFormat":99},{"version":"616f997335616ac58b0ca09103653c5e3f1677c7a4a34808abe5eb7836db0d8a","impliedFormat":99},{"version":"8f1018bc0bd737fdd70993e38b8d9e1069b6b1c1dbb0097c41ccd7279b57f55a","impliedFormat":99},{"version":"1f7e26fb66bcdb08484fdb1b65d379ee85d1b1a05264d2cf009f84318b4aa678","impliedFormat":99},{"version":"f72bfaaddbd122d6f2aa97df6a2f2f0caf5e0abefeae7b27d5635237554cdd5c","impliedFormat":99},{"version":"2e1a8e0777522f86ad6503c2082278c4d4e0b09259b0ad4323626976800d6806","impliedFormat":99},{"version":"d7989d7063b13e494a39b03e0ec3a5e2542e99bef41d7f9b49547e39df419747","impliedFormat":99},{"version":"26d92a20cf51acab25834bae098abfa7f6a26c2a8edd4213a880ad8c555f703a","impliedFormat":99},{"version":"f3091dd83c77ff308499705a785601faece1a49863a50a7066237d4e92fea04e","impliedFormat":99},{"version":"10b207261c316bba4a99ce037c8d40aa04e4e15e183d3f87ed7c6793c53ea9ad","impliedFormat":99},{"version":"eb79b8087e892147c0c0f44f5e7bd88c9999c96665136c21b179a7b7362a595b","impliedFormat":99},{"version":"c9ae9256eed3b3f360cae3fbcccf955233ad90bfe0cfad0f103ca3bb85de7044","impliedFormat":99},{"version":"bb3422550b34643170b845a9c8f4dafbbb4bed983a2180b7bf1a2d8fc1bfb767","impliedFormat":99},{"version":"0bfe62549a16f0ac4743d7a031ba321268a6e4b7c71bb394bffa745ae2c84b0b","impliedFormat":99},{"version":"4ad4b6f3a80c526f51c498ced3e30fed3ca33780f330046e18c553f945b51e54","impliedFormat":99},{"version":"b50427c14921a1ae22a6eff321064be09f82d2f99bd3640946bd517275fc0be2","impliedFormat":99},{"version":"86c5374ba226e809c60fdd4aa7ab64a80e1f0b32d6676edcbfa29bcbf8b65b47","impliedFormat":99},{"version":"c10ea70475948589ac588174d5cd22c6ee70565cbb46e840567b03e1df6a9255","impliedFormat":99},{"version":"4126e5d2e94808449564fc8899b68ec0bb361d00b156a2734718b687ef5dce13","impliedFormat":99},{"version":"47f2dc585b8150c5256731c3588abff64ddd707e6fa9103c42e8eb6f5216b291","impliedFormat":99},{"version":"56553d8dae36a4d29a912b7d90b99e89e19db31a2cf466153e02e518c2eed92d","impliedFormat":99},{"version":"d08c388e022005db246a56c7ad6747731807063f99bcf5a86da1fb7190cd19d5","impliedFormat":99},{"version":"d9b82403377511ff2d2b2273765e3046dca75fb6471e142f8843d1ef4ab6701d","impliedFormat":99},{"version":"5c196ddf7282a96a45224c103f3a49bc7a8de31c5d6ac8fc5791c5bfc8abda7a","impliedFormat":99},{"version":"29adc3c30ad4c07b571b7cf28a4a17be302bf51dcb4111ac6d4346b29e6f3e45","impliedFormat":99},{"version":"7b9a892374d781d2a7e2a4d8f89f866277913c8e0a7703c05f9d38907f9d2b53","impliedFormat":99},{"version":"278f73a916427e5f1bb9593de57347cfe37d06b2277be2c307590be7922789a2","impliedFormat":99},{"version":"81c67711d392d5ab7e00b7d06ab91418e451399b1d2b0ae93fce5040065c4255","impliedFormat":99},{"version":"67d125134a3f599cbc256843a07c5351d6356cdb5c183dbc223ec6eb30197508","impliedFormat":99},{"version":"21529df6d5b1968c624352ddff328a5d78d634df97567e967222651cbf527307","impliedFormat":99},{"version":"77bfd4eec7d3f787f1e0defd19334a2d9ed9477648db8dfeceffdbe5b0cab336","impliedFormat":99},{"version":"87970f078004fb8820426b99d4da3fc79f695471885541fc77cfc892b80b0067","impliedFormat":99},{"version":"bbb1ed873062b93d439596d6330f29fd48f658e6bbbac5621cee80b2bbdf026e","impliedFormat":99},{"version":"5db82aeef514204d924b85f6aa881fd82a52c9e6faad94eb7296411ed06f7809","impliedFormat":99},{"version":"33330e7d74af117dc9df333d316637acfe2a26642a8954d58b3e88451ee8f497","impliedFormat":99},{"version":"03a9ace084ff2fc3b9dfaacde474b905db9c5e864543e6db3f9c44a1d7a43055","impliedFormat":99},{"version":"98d7cc6c9ebd188e69f19a799e646d62e691d769b81780d82c9e707d3bffd20b","impliedFormat":99},{"version":"c0a9c77d44f515c0729d952fd66f27748bf3f4197a9ed98294565880c7882772","impliedFormat":99},{"version":"c0af90161ff3f25a95d11029fa4f486f3a541a00fcd026c9d010b662695d7521","impliedFormat":99},{"version":"64570d5562fc4741e7eeb24c60757be98c2e58aa74484118bce4df6ac59a8651","impliedFormat":99},{"version":"94b5161d14dddcdc370617bc3c3ae0ba5b181a2e312b9570e992f76e8ad4135a","impliedFormat":99},{"version":"58fb9077c1eb954daacdbd52bf831915076450f39888cf4edda714bca2216042","impliedFormat":99},{"version":"613a0e8239ed1f14aa4729cc733d43a0e1f2a7f2f7875af5215aee55655b6e22","impliedFormat":99},{"version":"618cea80bc8c79e91decb999d7bb5bbf6928133db9bb76a8f4df19a4d18e0cdd","impliedFormat":99},{"version":"aec18e32a40d13d4990cc0b2e505b8f653459a27c8b85b3743fa98358b03bcb1","impliedFormat":99},{"version":"73739f40eacedc63d85e344e8ecbcf2a291439ff9466ad0e1e8f4edad56ccc65","impliedFormat":99},{"version":"ba85485f6e163ec59385259ae7ee5be3167dbc092b0aab77ca8621ba2942f43a","impliedFormat":99},{"version":"c1747451983fcb7eacc2e6ddbc33024dcbd05f02c3b42f3ef85403aaeb84c35a","impliedFormat":99},{"version":"b6e7fc2eeab5dcc3f7aa96294479474b8d584f10a05b5f473638574ffaf914ef","impliedFormat":99},{"version":"b9dffe8c2cc3ea64e6aa81eec0b7250e4dbb9093ea4b296a249430e15410ad83","impliedFormat":99},{"version":"fc0b155fd95c7ebdc4acbf0012f9afe5cf3c8500f691efe874790de0741fe5f5","impliedFormat":99},{"version":"fdef563856017d9de5afc2e27ed3f8561a59711802123f6dc4cde707e570d8ba","impliedFormat":99},{"version":"34282efaad54b2b67fdcc479f19d8916ced7706d4a2a2150fe6ce495d343e6df","impliedFormat":99},{"version":"619695efa4494df83ee77ed818daf837a842ebcb93873b2024f19072b6d18209","impliedFormat":99},{"version":"4f3be5c128a12ebee37fafabd356c9bd5da5e30497b552df06a4a04523e2286c","impliedFormat":99},{"version":"94a501970c1926170fbea64d103b71780e4a74c26a96d2f081e258d2272c7010","impliedFormat":99},{"version":"a9e51a219e7a4b180e553b2f0b80620198f94fd00813b571483053b421a3a423","impliedFormat":99},{"version":"4f8e05a35f853f4a6f76169db8bcb2d25fbe47e1fe948c2545ad47111bcb641c","impliedFormat":99},{"version":"f9013dd3a5f8a78f7be9f189ceefd0caeb07d032d73d06edf5d323c5c012be06","impliedFormat":99},{"version":"fd5fdf9cec63cdc9b057589eecd950a4c00835f2c57819d4467cb90afb7ceebc","impliedFormat":99},{"version":"07f234c3b2d8259a3c8e043934e064c1d57c9b6b870bbc82995d63150658cd2d","impliedFormat":99},{"version":"70537c49ad0ba23281776a451ec0e9a3124ce0aa6826e7e2c71f2048153914e2","impliedFormat":99},{"version":"7d1570bc8a51259f43980b1e1bbfec62edfc8e56bd75a0f9f5a541df303beb2a","impliedFormat":99},{"version":"35c0302ecbaba11503e339c8d6a14ef99c33bebe45fe22348a51ea1f851f4753","impliedFormat":99},{"version":"7d0ee70479273910f4998d3db9c624cc54a7ceec1f2fc32aeb5dd1da26cc6ecd","impliedFormat":99},{"version":"ee99391e7c005b9792ed1c4ad78f63d5612ea248121435e2f19cad13cc772102","impliedFormat":99},{"version":"a63057e247853b6a27b900de357d3b2cbbb0205a746ceeaf1bbb08b53d37a594","impliedFormat":99},{"version":"54b715e3569938c71fb6ccd89b5c9d2569c67a160bf07e395afe71a8c99f6719","impliedFormat":99},{"version":"6c51831173ccc1a13f0b2e7cec9c492474ba762a67fa729f59faee88e5fef2a1","impliedFormat":99},{"version":"58f36965de212113b644068e12226e4ec4f3dc11aa8acff4bc0eb506fad853ce","impliedFormat":99},{"version":"6e280d9e7f99a769d91ea5f242404d32caae0c23241598b4447ad8e2f651d0bc","impliedFormat":99},{"version":"f91354f5e4bdf93914bd4d8d4c513a525dae7cc58c29374e602499cb59b45792","impliedFormat":99},{"version":"69eec18f3024da9245e6f8800661032de02849fdb82f4e5754234b9753ab753d","impliedFormat":99},{"version":"f508d9b5b7aa6ac0eb6c7166d8a163907670737ab6cfed72cabb18ed4d27e93a","impliedFormat":99},{"version":"72035a7a97898aa687e1226a0e42428fed98d0d269fc5afb1da4de3c614b6afa","impliedFormat":99},{"version":"afa8f9f695190917b8e7aa763b476a64c3f3818ad4e465eb84a5c542aa5ab6d3","impliedFormat":99},{"version":"bdb48a412742f28266e91f8b9c3cb93ab5e5fc4efeaab20ac23ee923d1ffab85","impliedFormat":99},{"version":"1971d324a3cbe55f05b7902adb6453dfa9c26676636961a004f7c493eb53ed68","impliedFormat":99},{"version":"8e7b4e9532df3f35e655c3596dc2a1f9e9ff645e265fe674f05948185fc20aa0","impliedFormat":99},{"version":"6394c04842b451114e283a46cff22eda53fb6cd38cef53157fb09a5477e14ce7","impliedFormat":99},{"version":"525282d1c19684b19c0ce67c09111eeb9ecddb75402afd2575b2c43c7b72587b","impliedFormat":99},{"version":"a29812309236ff935f2a25f7e5cc7c3a471879cb4e7a807d812ac7c0528aabf5","impliedFormat":99},{"version":"c0e4577ccc1f5d23c7ec9786194fe5bea12f10237ec63bbed5daef44a90ced7e","impliedFormat":99},{"version":"dcb4979825df9ee8d826545f011caf031f5143fdda9483ec1711f01cebc6dd08","impliedFormat":99},{"version":"cdca391f6e1c7e0a3c1bafed3515ce7eb93bbcc45957301b182d4b359f4dd469","impliedFormat":99},{"version":"5322996149800e888007de5157125010eb3311fdba699fff1137975c115035ab","impliedFormat":99},{"version":"31cf8f21b25cf65e0b76ae854c5c325dc4bb1658e95058bcf68d2e499f70066c","impliedFormat":99},{"version":"e6b62986b66e8f6a6db255e4d2646be1d2ae3fc14a0d39fc4bac6ddd9c579ad2","impliedFormat":99},{"version":"ab48fa147efe99bd6a50484b62119207eac0dc8d79011cc0238ab243778107a4","impliedFormat":99},{"version":"438fc2adf109b7be5ec9a92057b98fda3ef8d2be1a1846fc245d57afc57a2a50","impliedFormat":99},{"version":"ae6522bd249c23edd46831c93bb59ef402b396c3a11b8eeed1b2b6d9036c3e6b","impliedFormat":99},{"version":"68036037cdf6e6446983edda42e4222cb7725cb333b3b561cdfdf0582f22d187","impliedFormat":99},{"version":"ee2a299893b6d975f7b8d65b4d2c642e429e39f1fe1f351f42ff4fde0c34eca4","impliedFormat":99},{"version":"8d5b46732d8296ce8118fc25d13da98f1947800b9dc8b6f0b4b2e8543ec368ad","impliedFormat":99},{"version":"e9ee952913d691cbcaa172cb143691391b8dc75b6f5a60ee35c92a25ef6479f6","impliedFormat":99},{"version":"39e2c467f0c117fdd706712396f80b4bbf4ebea829a68096e0d6d62366d03eb7","impliedFormat":99},{"version":"15906c60cd7e6b25f0cb90580cc1527584a5fd3d5973daf55a10ad4587510c64","impliedFormat":99},{"version":"406ab0f368fcd5ffb379b4c0fa84b3675fbca834c2c954591552462568994cee","impliedFormat":99},{"version":"656be0f49f0d32f32dfb42b4585494e48138c15e3e56ed7402b36b9316cc5176","impliedFormat":99},{"version":"eb8a51a88c818e8e3d8b4761346e886ae46fdb8179d7938236bdb6e5e26bcc53","impliedFormat":99},{"version":"7f7059a644e3499bf802d9c252b1d99b6bdc21556f438d7693758984877fdba0","impliedFormat":99},{"version":"525f80295ebccc0b8184bd7e03dba432371f3df96b1f88399112a230f1c48e82","impliedFormat":99},{"version":"b355b8f50ac9d87bf458fa0a2762e36c2a395691bec0c21ef6826cc631dcdd34","impliedFormat":99},{"version":"822399a2755ea28ae3d97f9ac2c20eb41148a15e014dec021988d2cc514f656d","impliedFormat":99},{"version":"0b1e14cb06770ed81cf2a7085c973fcdacfbf96455fc025aedba9539f724afed","impliedFormat":99},{"version":"f6b6aa4f55562260b06aabb08367195905565e5db2b8d541f4cba5a522d05187","impliedFormat":99},{"version":"04a49a60381726dbc52583896f1e888a727ea3f15ea719ddac3f133c699bab1f","impliedFormat":99},{"version":"55f38bfa0f4091158ed411e4a54a94bde8ec5105a48d468326350a6ff98c66f2","impliedFormat":99},{"version":"96112614a8d983c6aac682b05815b82cd5d2af174713f95df46b7a5d4393adcc","impliedFormat":99},{"version":"47178e74335c75f16d18b8f9997326d65774e1e490722c1ac592e8f62d37e63e","impliedFormat":99},{"version":"5fb86ff855a340505dd1e5a0c2475696df7865f303323d7e2d005141ea73a461","impliedFormat":99},{"version":"dfc8682fae1326ef7106770fd67db712f21ab6b812c693dcce24a451d951c1e2","impliedFormat":99},{"version":"1852cfb5ae7c11bba23047e44e198416c29334c8f8b832260964c350e00db46e","impliedFormat":99},{"version":"c69baa2cba8d9f66f7cb38cecfca8c5924d6304bb59b85da457dd724a46e8548","impliedFormat":99},{"version":"3cbe672c15126cde626ccf301ef8a5b4517f2e40d63cb4234cbf72de687260e0","impliedFormat":99},{"version":"1637612654e83a9027f2ce3c21609197bc33483029256cdc4e573e8ed95d930b","impliedFormat":99},{"version":"1402212882b04813ea796e08fd07bc53409bfe4262ae72d3232e685b31cfcc02","impliedFormat":99},{"version":"fd5b89584e1132fd39773ac3d10c8003d975640fbd5f317018b2f9e3105569a1","impliedFormat":99},{"version":"c80a1f303a1f70e1c84faa586318b46badfc440a8dbfe179d34cc334fe9da4e7","impliedFormat":99},{"version":"76c1d19e111d0823e8dad68a6b2a3d86ef73545f8a0d1cb4ed9e86dab55c5f67","impliedFormat":99},{"version":"5ad24d0e258dfdb0c8293415aca74f31f28f75863ca11d58547f82dfde2efe14","impliedFormat":99},{"version":"56d26c22fbe3af215f12b5044cd8a9a6b9501c913d20de70e26607df6ec7195e","impliedFormat":99},{"version":"f580e4a5c35390e943327174a1fcbdcbe1418c7f565789287e70b5468f3e59de","impliedFormat":99},{"version":"2f725113ae18657257f08cd2837c40e47d76c4018ed791aa9e9776f1933540d1","impliedFormat":99},{"version":"523265b33f1992dd3c53594efff46af60cbb160b73bff0a576d39cca6e1ee31c","impliedFormat":99},{"version":"8329ddcba0b13dc3c59bc9df2b1e7f3559ec42336fc7591fea51143f895827f8","impliedFormat":99},{"version":"ad88f437c1230d635e5ee3e535176dd291985fd55032f4e0d1c986f36ea54da0","impliedFormat":99},{"version":"4fe3e1aea7c6e4ac1ac824814152df4d0f63f70c287aa6a45796a1fd794cba47","impliedFormat":99},{"version":"4c1b974cc791e3c5b6d85786933258725b1bafbbde2c06f8c857fde6d1e1ec78","impliedFormat":99},{"version":"4d4fd98a081f7646284761857316e2d9f0b63666c9fd2e2e1d7b782aac7b28f5","impliedFormat":99},{"version":"7a9fe3be04c4bba6773310bbed8b62349479b36bb9e984b3482ab7df6b166238","impliedFormat":99},{"version":"16f0d7f408b62da56e251e90612a169938867cc9d242756738833ddf1fc2d481","impliedFormat":99},{"version":"c51568c9c91356250e18517b1188c6aa69ff47bc08a3bf24cd9439134fbdf683","impliedFormat":99},{"version":"72fbd780809660f9ab66b163f404177f034fe946d02b76a99206b95610577d59","impliedFormat":99},{"version":"1826918b53908dc00d488bb0dd0e5ed029dd08e0bfc9188d265bfb0053f5fb9f","impliedFormat":99},{"version":"5d7597bfcca496303256fd44744c6de4531233fa3ac03e6cc1e2d945f6a6d6e5","impliedFormat":99},{"version":"2bb8a9327d7ce4e43caa06281b0b2ddd2ca80af1293ec6ba2f339ad4932cc206","impliedFormat":99},{"version":"127a4bd80467304fb1a51a76b30e297f428fe1494b7a14d9984cf56a02f2b331","impliedFormat":99},{"version":"1c5a9c6d973bc268522676437ea5f1b24a27f736ccd8af8e74f1bf868e8dbbd6","impliedFormat":99},{"version":"3cc5c94b876b4c63eaa676bbced5bef59ff9812617bbc4ab659fa065a32c54de","impliedFormat":99},{"version":"36a8ae68755fa991c0f1685bd83a67362436ed2a6e8c1a8f32acc7adffd6168f","impliedFormat":99},{"version":"6db5e9847f3760e045bfafeb945cabd5acbf16ad51c3d066c78acf2844aee7c8","impliedFormat":99},{"version":"6484fdf2b87d910c6b21c6bdfc9d4cbcb936e9ab9c2a4b53e6bfa340cf7bde98","impliedFormat":99},{"version":"f73229533c0e1695f9c75a191a5be44989ae92ca77342b713af856a97e52e498","impliedFormat":99},{"version":"f7f312b313319eb4c92cdd342b04f3b3912ed8ab704414c863129177b49447d2","impliedFormat":99},{"version":"165759e2ed45d7c271753ce028ad801ae857aa8fbc6ed8a977cdd5b0518d057d","impliedFormat":99},{"version":"d96984a14d656474db73039a4407ece06d5022fb0eb30571551e62c8c6f81a59","impliedFormat":99},{"version":"119ac9413c8a428219878da202375e364b37dfaf2b47a32e309aec8d77e8f197","impliedFormat":99},{"version":"b0672eaba1a8cad5e85defcae3e0325e0ad3a6ad16af7e6aba509f0de9ae9a3b","impliedFormat":99},{"version":"8980fca73ab1cfb4923c9311587f26d2b61915b3f0ae94e84d3f108e41904471","impliedFormat":99},{"version":"5a9a55d4531486b41b7fb9475041c068553719cd2b93a5745e01111b0d836cdd","impliedFormat":99},{"version":"bf4f74ad2c7b5da8e34b85852a258ca9003710785f5a3757f2523d93bbdb260a","impliedFormat":99},{"version":"cd8871a352586220b17d6a764af77726e3bcf563adc43a570bdb25f8a134deba","impliedFormat":99},{"version":"472edc7768eae3d1cdd6f5527f9faa60636d40b39f1d26c9b255ba7d0f354846","impliedFormat":99},{"version":"a9751001b01ed9ba9ed6515f720c486d353f6c6374ea528c98caf6cfb9caccab","impliedFormat":99},{"version":"e9acd11c45ef37d94f1b9388c6a8519cf8ab7eb53ad3cb8cf4184764711b33b2","impliedFormat":99},{"version":"676b88d0772615ae9afa3903de127c23316a44ac41002ff53685bbe68722f355","impliedFormat":99},{"version":"acdc1359ae838f192b6d94cf15a3e8cedb99a9561922951c64c413557756e3c1","impliedFormat":99},{"version":"fa5d8cb6eb7afb104fd94847dd8a739029cfabded225f93b6f09f5449b6794b7","impliedFormat":99},{"version":"316f1486e15cbf7896425f0a16dfe12d447dd57cfb3244b8b119c77df870858f","impliedFormat":99},{"version":"bef4cb2537c6229e68225e976c9d7d894ae9000b351f839867fa9d2928ef944d","impliedFormat":99},{"version":"30dcc2f014b6ae7c0e0337a87c70cac19cfd1ffe8982dbf28e37411105d32594","impliedFormat":99},{"version":"8bd7fd57f990ff10242a6acd6f20f4d7a0a6a2fa0494f3f4680add55b867e0ab","impliedFormat":99},{"version":"f943375bde83d32a00db5fa8ea97b66440e5b30e89a0ba4d30c88d49229f4f6d","impliedFormat":99},{"version":"4ab7081fcca46702defd0e6e59be019981d9862735cf3641cf8a676a7a260687","impliedFormat":99},{"version":"955faf3ddeba7f9f1cf0d3019e61fb7f256833312398e340c5b42fb2ad8ad126","impliedFormat":99},{"version":"061638545629f8821137f657fa83b50f1fc3ef24c2eea3f489f2207bd3fe8604","impliedFormat":99},{"version":"2d6fc83d9e8d8485bc153a64058691f7483710059c3b693f6d66282409de3941","impliedFormat":99},{"version":"30ac578e4e17562acc6b4a3bb1aaf3a82a6659ab86ebc6f885a894aa3ff69d2f","impliedFormat":99},{"version":"7ed24e31337a41691afdf0ed7c051bc60c1b232ec28d118c1df5eedbdf278379","impliedFormat":99},{"version":"d3a2f956b8949ab7504d1ff606c5db6f0fe878e4da6992d9e53994eb6a818780","impliedFormat":99},{"version":"bf9c521c79f941180501e9c62c05020fc07b2c82b364b3f00cb76f54f8aee2fa","impliedFormat":99},{"version":"9c98c8c56a0f74be89122bc0aebe42d00936b04bba2aef2bc65b3b97e34c5b96","impliedFormat":99},{"version":"528797ce38e264de1a333fbaccadb315baef5485eab44c4e0e85097c1b3c86d7","impliedFormat":99},{"version":"82abeb2110eeae7a9ec63d3d44b43b4cbce2e684132e4403d0995785fe981b09","impliedFormat":99},{"version":"af437ea71c5035e813d10b56bc72321f1375c42f88f2fe0696717132d040c6d4","impliedFormat":99},{"version":"4bdaf0ba0f4d2323b1cc4ebe39a1f78d9fa385d918f4f8d4c4747cc5f72524f6","impliedFormat":99},{"version":"4c700a8ce85d38625530a4c7e026ffc10436fe8101dc392f09b331ad2c32a9ad","impliedFormat":99},{"version":"6dbebda906deea3021cfcebf32f0fe178eb917fc2c475f1cc8c76ca4a3d7f146","impliedFormat":99},{"version":"ce48d094c10f12813adebaaf391bc1310c012fcb13fc6c88b29b83ea1b51a6c5","impliedFormat":99},{"version":"6a0c2673328ac13d382c06191bbcee6c00686c65e44e6a78f84819f896fef3b9","impliedFormat":99},{"version":"8ec352eabf812f3fc4ae851be15ef57753436976060bf8704149bec2d4bdacf4","impliedFormat":99},{"version":"25103a0bf17c0419062cf1376273b26fe5262aa34da7bd58584045a5e18b8a4c","impliedFormat":99},{"version":"c164152a56d491a212a6e93531c49f6f957e9a38b4bb732429a73cbb234f9cbb","impliedFormat":99},{"version":"e726e7fee8e3297e15aff8e1668762323588e119aae6e4698da6111628af74a3","impliedFormat":99},{"version":"1aefe473a947c1178322a3526f52a83db490c8cce9e57b07c0224688be55f264","impliedFormat":99},{"version":"dfedf320784a8ebe0f9b0dade5fbb6adb95f624a63bbe5760b8593f41992657f","impliedFormat":99},{"version":"ba56cb9be18354c664754abdb7b6f5dd262a7883d336018459e1e54f24586916","impliedFormat":99},{"version":"ed85a7aa3450739e9e0c4026e93e16b89ca83eb3fe7abc8527ad6dfc640140a6","impliedFormat":99},{"version":"9bb3e67ae8e93957c194b32acbd8580cf17a9df8ba44625568190bfc16e8c15a","impliedFormat":99},{"version":"4f6dc8c84a068552e39ce66235ebe650d43863b42dcb7835cff33df1b1ce6e51","impliedFormat":99},{"version":"1381f2919bf6a8b2d891ada612c23784e17cae6300db12fbb7900e9381ecf4de","impliedFormat":99},{"version":"05bbf247a54330ced6a6a821412224bdae0869f0cab0b8d4d5e49f1a6f4577a6","impliedFormat":99},{"version":"8124828a11be7db984fcdab052fd4ff756b18edcfa8d71118b55388176210923","impliedFormat":99},{"version":"092944a8c05f9b96579161e88c6f211d5304a76bd2c47f8d4c30053269146bc8","impliedFormat":99},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"ee70b8037ecdf0de6c04f35277f253663a536d7e38f1539d270e4e916d225a3f","affectsGlobalScope":true,"impliedFormat":1},{"version":"a660aa95476042d3fdcc1343cf6bb8fdf24772d31712b1db321c5a4dcc325434","impliedFormat":1},{"version":"a7ca8df4f2931bef2aa4118078584d84a0b16539598eaadf7dce9104dfaa381c","impliedFormat":1},{"version":"11443a1dcfaaa404c68d53368b5b818712b95dd19f188cab1669c39bee8b84b3","impliedFormat":1},{"version":"36977c14a7f7bfc8c0426ae4343875689949fb699f3f84ecbe5b300ebf9a2c55","impliedFormat":1},{"version":"035d0934d304483f07148427a5bd5b98ac265dae914a6b49749fe23fbd893ec7","impliedFormat":99},{"version":"e2ed5b81cbed3a511b21a18ab2539e79ac1f4bc1d1d28f8d35d8104caa3b429f","impliedFormat":99},{"version":"161c8e0690c46021506e32fda85956d785b70f309ae97011fd27374c065cac9b","affectsGlobalScope":true,"impliedFormat":1},{"version":"402e5c534fb2b85fa771170595db3ac0dd532112c8fa44fc23f233bc6967488b","impliedFormat":1},{"version":"7965dc3c7648e2a7a586d11781cabb43d4859920716bc2fdc523da912b06570d","impliedFormat":1},{"version":"90c2bd9a3e72fe08b8fa5982e78cb8dc855a1157b26e11e37a793283c52bf64b","impliedFormat":1},{"version":"a8122fe390a2a987079e06c573b1471296114677923c1c094c24a53ddd7344a2","impliedFormat":1},{"version":"70c2cb19c0c42061a39351156653aa0cf5ba1ecdc8a07424dd38e3a1f1e3c7f4","impliedFormat":1},{"version":"a8fb10fd8c7bc7d9b8f546d4d186d1027f8a9002a639bec689b5000dab68e35c","impliedFormat":1},{"version":"c9b467ea59b86bd27714a879b9ad43c16f186012a26d0f7110b1322025ceaa83","impliedFormat":1},{"version":"57ea19c2e6ba094d8087c721bac30ff1c681081dbd8b167ac068590ef633e7a5","impliedFormat":1},{"version":"cba81ec9ae7bc31a4dc56f33c054131e037649d6b9a2cfa245124c67e23e4721","impliedFormat":1},{"version":"ad193f61ba708e01218496f093c23626aa3808c296844a99189be7108a9c8343","impliedFormat":1},{"version":"a0544b3c8b70b2f319a99ea380b55ab5394ede9188cdee452a5d0ce264f258b2","impliedFormat":1},{"version":"8c654c17c334c7c168c1c36e5336896dc2c892de940886c1639bebd9fc7b9be4","impliedFormat":1},{"version":"6a4da742485d5c2eb6bcb322ae96993999ffecbd5660b0219a5f5678d8225bb0","impliedFormat":1},{"version":"c65ca21d7002bdb431f9ab3c7a6e765a489aa5196e7e0ef00aed55b1294df599","impliedFormat":1},{"version":"c8fc655c2c4bafc155ceee01c84ab3d6c03192ced5d3f2de82e20f3d1bd7f9fa","impliedFormat":1},{"version":"be5a7ff3b47f7e553565e9483bdcadb0ca2040ac9e5ec7b81c7e115a81059882","impliedFormat":1},{"version":"1a93f36ecdb60a95e3a3621b561763e2952da81962fae217ab5441ac1d77ffc5","impliedFormat":1},{"version":"2a771d907aebf9391ac1f50e4ad37952943515eeea0dcc7e78aa08f508294668","impliedFormat":1},{"version":"0146fd6262c3fd3da51cb0254bb6b9a4e42931eb2f56329edd4c199cb9aaf804","impliedFormat":1},{"version":"183f480885db5caa5a8acb833c2be04f98056bdcc5fb29e969ff86e07efe57ab","impliedFormat":99},{"version":"3fd8a5aefd8c3feb3936ca66f5aa89dff7bf6e6537b4158dbd0f6e0d65ed3b9e","impliedFormat":1},{"version":"a18642ddf216f162052a16cba0944892c4c4c977d3306a87cb673d46abbb0cbf","impliedFormat":1},{"version":"41c41c6e90133bb2a14f7561f29944771886e5535945b2b372e2f6ed6987746e","impliedFormat":1},{"version":"4ec16d7a4e366c06a4573d299e15fe6207fc080f41beac5da06f4af33ea9761e","impliedFormat":1},{"version":"3f0cfe02f3adad8a9aecabbf11371f73097c3359201d5214292a66c358bef3eb","impliedFormat":1},{"version":"71b110829b8f5e7653352a132544ece2b9a10e93ba1c77453187673bd46f13ee","impliedFormat":1},{"version":"7b0537621a997a853ead2b46a4d85e654beeb96b9d034ea09bf3387348521d40","impliedFormat":1},{"version":"1223780c318ef42fd33ac772996335ed92d57cf7c0fc73178acab5e154971aab","impliedFormat":1},{"version":"0d04cbe88c8a25c2debd2eef03ec5674563e23ca9323fa82ede3577822653bd2","impliedFormat":1},{"version":"aaa70439f135c3fa0a34313de49e94cae3db954c8b8d6af0d56a46c998c2923f","impliedFormat":1},{"version":"2cee3ea4c39a53326148e6e78109affd48fa69eae386871c1f440315a6120f40","impliedFormat":1},{"version":"daf07c1ca8ccfb21ad958833546a4f414c418fe096dcebdbb90b02e12aa5c3a2","impliedFormat":1},{"version":"89ac5224feeb2de76fc52fc2a91c5f6448a98dbe4e8d726ecb1730fa64cd2d30","impliedFormat":1},{"version":"3d59c264069a6af79288388633738630aa72e853e450e43f151ee092216d263d","impliedFormat":1},{"version":"acf00cfabe8c4de18bea655754ea39c4d04140257556bbf283255b695d00e36f","impliedFormat":1},{"version":"39b70d5f131fcfdeba404ee63aba25f26d8376a73bacd8275fb5a9f06219ac77","impliedFormat":1},{"version":"cdae26c737cf4534eeec210e42eab2d5f0c3855240d8dde3be4aee9194e4e781","impliedFormat":1},{"version":"5aa0c50083d0d9a423a46afaef78c7f42420759cfa038ad40e8b9e6cafc38831","impliedFormat":1},{"version":"10d6a49a99a593678ba4ea6073d53d005adfc383df24a9e93f86bf47de6ed857","impliedFormat":1},{"version":"1b7ea32849a7982047c2e5d372300a4c92338683864c9ab0f5bbd1acadae83a3","impliedFormat":1},{"version":"224083e6fcec1d300229da3d1dafc678c642863996cbfed7290df20954435a55","impliedFormat":1},{"version":"4248ac3167b1a1ce199fda9307abc314b3132527aeb94ec30dbcfe4c6a417b1b","impliedFormat":1},{"version":"c1606128c2ac5c6a3cc2cc24c4582a437141a8ed6542d7f5cbb7623835939831","impliedFormat":1},{"version":"ca055d26105248f745ea6259b4c498ebeed18c9b772e7f2b3a16f50226ff9078","impliedFormat":1},{"version":"ea6b2badb951d6dfa24bb7d7eb733327e5f9a15fc994d6dc1c54b2c7a83b6a0b","impliedFormat":1},{"version":"03fdf8dba650d830388b9985750d770dd435f95634717f41cea814863a9ac98b","impliedFormat":1},{"version":"6fd08e3ef1568cd0dc735c9015f6765e25143a4a0331d004a29c51b50eec402a","impliedFormat":1},{"version":"2e988cd4d24edac4936449630581c79686c8adac10357eb0cdb410c24f47c7f0","impliedFormat":1},{"version":"b813f62a37886ed986b0f6f8c5bf323b3fcae32c1952b71d75741e74ea9353cf","impliedFormat":1},{"version":"44a1a722038365972b1b52841e1132785bf5d75839dbc6cc1339f2d36f8507a1","impliedFormat":1},{"version":"83fe1053701101ac6d25364696fea50d2ceb2f81d1456bc11e682a20aaeac52e","impliedFormat":1},{"version":"4f228cb2089a5a135a1a8cefe612d5aebcef8258f7dbe3b7c4dad4e26a81ec08","impliedFormat":1},{"version":"7870becb94cbc11d2d01b77c4422589adcba4d8e59f726246d40cd0d129784d8","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f698624bbbb060ece7c0e51b7236520ebada74b747d7523c7df376453ed6fea","impliedFormat":1},{"version":"f70b8328a15ca1d10b1436b691e134a49bc30dcf3183a69bfaa7ba77e1b78ecd","impliedFormat":1},{"version":"d9030fc0c412a31e7e13d189b9ad032b5177c20217add0f24fd3fff0cf272882","impliedFormat":99},{"version":"b34b5f6b506abb206b1ea73c6a332b9ee9c8c98be0f6d17cdbda9430ecc1efab","impliedFormat":99},{"version":"75d4c746c3d16af0df61e7b0afe9606475a23335d9f34fcc525d388c21e9058b","impliedFormat":99},{"version":"fa959bf357232201c32566f45d97e70538c75a093c940af594865d12f31d4912","impliedFormat":99},{"version":"d2c52abd76259fc39a30dfae70a2e5ce77fd23144457a7ff1b64b03de6e3aec7","impliedFormat":99},{"version":"e6233e1c976265e85aa8ad76c3881febe6264cb06ae3136f0257e1eab4a6cc5a","impliedFormat":99},{"version":"f73e2335e568014e279927321770da6fe26facd4ac96cdc22a56687f1ecbb58e","impliedFormat":99},{"version":"317878f156f976d487e21fd1d58ad0461ee0a09185d5b0a43eedf2a56eb7e4ea","impliedFormat":99},{"version":"324ac98294dab54fbd580c7d0e707d94506d7b2c3d5efe981a8495f02cf9ad96","impliedFormat":99},{"version":"9ec72eb493ff209b470467e24264116b6a8616484bca438091433a545dfba17e","impliedFormat":99},{"version":"d6ee22aba183d5fc0c7b8617f77ee82ecadc2c14359cc51271c135e23f6ed51f","impliedFormat":99},{"version":"49747416f08b3ba50500a215e7a55d75268b84e31e896a40313c8053e8dec908","impliedFormat":99},{"version":"81e634f1c5e1ca309e7e3dc69e2732eea932ef07b8b34517d452e5a3e9a36fa3","impliedFormat":99},{"version":"34f39f75f2b5aa9c84a9f8157abbf8322e6831430e402badeaf58dd284f9b9a6","impliedFormat":99},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"891694d3694abd66f0b8872997b85fd8e52bc51632ce0f8128c96962b443189f","impliedFormat":99},{"version":"69bf2422313487956e4dacf049f30cb91b34968912058d244cb19e4baa24da97","impliedFormat":99},{"version":"971a2c327ff166c770c5fb35699575ba2d13bba1f6d2757309c9be4b30036c8e","impliedFormat":99},{"version":"4f45e8effab83434a78d17123b01124259fbd1e335732135c213955d85222234","impliedFormat":99},{"version":"7bd51996fb7717941cbe094b05adc0d80b9503b350a77b789bbb0fc786f28053","impliedFormat":99},{"version":"b62006bbc815fe8190c7aee262aad6bff993e3f9ade70d7057dfceab6de79d2f","impliedFormat":99},{"version":"13497c0d73306e27f70634c424cd2f3b472187164f36140b504b3756b0ff476d","impliedFormat":99},{"version":"bf7a2d0f6d9e72d59044079d61000c38da50328ccdff28c47528a1a139c610ec","impliedFormat":99},{"version":"04471dc55f802c29791cc75edda8c4dd2a121f71c2401059da61eff83099e8ab","impliedFormat":99},{"version":"120a80aa556732f684db3ed61aeff1d6671e1655bd6cba0aa88b22b88ac9a6b1","affectsGlobalScope":true,"impliedFormat":99},{"version":"e58c0b5226aff07b63be6ac6e1bec9d55bc3d2bda3b11b9b68cccea8c24ae839","affectsGlobalScope":true,"impliedFormat":99},{"version":"a23a08b626aa4d4a1924957bd8c4d38a7ffc032e21407bbd2c97413e1d8c3dbd","impliedFormat":99},{"version":"5a88655bf852c8cc007d6bc874ab61d1d63fba97063020458177173c454e9b4a","impliedFormat":99},{"version":"7e4dfae2da12ec71ffd9f55f4641a6e05610ce0d6784838659490e259e4eb13c","impliedFormat":99},{"version":"c30a41267fc04c6518b17e55dcb2b810f267af4314b0b6d7df1c33a76ce1b330","impliedFormat":1},{"version":"72422d0bac4076912385d0c10911b82e4694fc106e2d70added091f88f0824ba","impliedFormat":1},{"version":"da251b82c25bee1d93f9fd80c5a61d945da4f708ca21285541d7aff83ecb8200","impliedFormat":1},{"version":"64db14db2bf37ac089766fdb3c7e1160fabc10e9929bc2deeede7237e4419fc8","impliedFormat":1},{"version":"98b94085c9f78eba36d3d2314affe973e8994f99864b8708122750788825c771","impliedFormat":1},{"version":"13573a613314e40482386fe9c7934f9d86f3e06f19b840466c75391fb833b99b","impliedFormat":99},"20af716678fdec46949e17f899460c94a6cfd06a0c4cada1089c3f87b86d04b7","08e9550ff418c2f7ae81f8322b95e659ff1a887ca0730fe6f073cdb74aace1a1","e24fde613f2bcdaea9fb699bcb1e67b02c7fda74839d21c9d9b6172ab6efa0ab","6d4262af6dbcf3550eca6f7fce52791ca606a4e026320f36490aa612e1bcea19","4ed752a81f74caaa0073a4f8b9a0e61e34c3cd12613e075b13a885088adc557b","720983d813d6e981c18180d6b098b68db04c4087fb72fde577895ddb13bfa186",{"version":"57d4c9b6034225699abc0412a662f75f63e3ccfbe63f0edde8dc43bee5dd2db6","signature":"20959dfaa0d8f8a1a4e30a4e815cde6d6dedf38e58c9679fefbcefe568287791"},{"version":"6fa370647e69899f17efce80216bda118845a9a92c99538eaeeb487b2b9dc328","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6b2c934c2b6c60c98da8d9427d6838665d4fe8efb2659547663d77a3ef3ac5d9","impliedFormat":99},{"version":"71c5a111c5a8ed7e1b09eb02a11429f178213ecff35f40d7bc70f51c8fd98ade","impliedFormat":99},{"version":"a46fefd2d219c22b10266294269555f5ab0b13237b2a719377b6c6192a62843e","impliedFormat":99},{"version":"33821131aca82e632b45097d01e6d2257a4ddd99f57f66ab33fcea3fb3da8db3","impliedFormat":99},{"version":"6b2c934c2b6c60c98da8d9427d6838665d4fe8efb2659547663d77a3ef3ac5d9","impliedFormat":99},{"version":"43e0d6f59701298bc7ad00e73386be01dec35a0a955db7585778f7defcda70c9","impliedFormat":99},{"version":"a46fefd2d219c22b10266294269555f5ab0b13237b2a719377b6c6192a62843e","impliedFormat":99},{"version":"e45c2c8e531449a9746c3dc9f55fc2b9648d49757a65f25cfa3b916cd022befa","impliedFormat":99},{"version":"a9347d2796c333f60f4f6ee1749226cf5255fd54f8e73f2ad83a0054293a4f91","impliedFormat":99},{"version":"49070cbd8d8edc96626303df51625ce7481bf9e450ce0ad89e8c936758cc3bb9","impliedFormat":99},{"version":"639663a633d039219df52c863b5f27ed7e04bbf680e679db1e7101c552d3a2c9","impliedFormat":99},{"version":"01545f0274a774e191f06380ddedaec2b2dfbd021ca2e8775f7819959beb2cb4","impliedFormat":99},{"version":"6c557db1095e0588b7d82d9bdd9e4328872d436a94f2025da271d5ef57845309","impliedFormat":99},{"version":"2827790fc4a5c48d032a79a8d547eca0620d7fc7c997b830417f6de5b04c7c3d","impliedFormat":99},{"version":"7c11a1ba7e6c12ac8f50ba8c40b1126a154799343f135c221d0407a5f29ed6f9","impliedFormat":99},"f6e1600d23255ddc20ba9c7a403a03f5416da0e9bc47cb227dd3d0ac229b84ab",{"version":"8d6d51a5118d000ed3bfe6e1dd1335bebfff3fef23cd2af2f84a24d30f90cc90","affectsGlobalScope":true,"impliedFormat":1},{"version":"38113a651294e53238089a5a5afe4f753d625f13b6b7c6b0ad764fa79e8f4dce","impliedFormat":99},{"version":"da4b23d25e59962f23a64daa9cb8db1191ead4e34dae3d115f7da4ec1fdd8688","impliedFormat":99},{"version":"9a0acd9fb0af2cc071696353cbe9acbeb9561627318fd53d4270518d84765693","impliedFormat":99},"de688cbc72671a66649d659e9ace886b87796178966e2135fd78b3c612f2bb03","508e4ecdf8a55f6c4a37c8082bc80c5be4f610bca061a030b1b9c2e7ce394558","5a97d3cdee923078494f77275438159f134bd3d94166573bfc39626fc8281c1a","82acdaa714190b38221f888f734502ba04aabd3dcec5615b0b6af14a0fb596cd","76859325ee8ebe3ea86fa7988e8188a1b7614ca84fa98581257e30103ba474f2","f64a637782d543f88ce55faf73dde473a1c59d2aedc9aff333e5b9818c203766","78321383dcba479f2905fb94854344fe684ee6805afccee84cab4732abcf325a",{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e","impliedFormat":1},{"version":"08b2fae7b0f553ad9f79faec864b179fc58bc172e295a70943e8585dd85f600c","impliedFormat":1},{"version":"f12edf1672a94c578eca32216839604f1e1c16b40a1896198deabf99c882b340","impliedFormat":1},{"version":"e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a","impliedFormat":1},{"version":"dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"4fdb529707247a1a917a4626bfb6a293d52cd8ee57ccf03830ec91d39d606d6d","impliedFormat":1},{"version":"a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206","impliedFormat":1},{"version":"5780b706cece027f0d4444fbb4e1af62dc51e19da7c3d3719f67b22b033859b9","impliedFormat":1},"31c4c8f1e138d90d2ebddb4e9c21bd0771ed292c321339f44e2b86e7d21bd2d9","5a019ae96534a3112e636e8ab26246aab6b7475bedfdaf603676b9d1e037d1ba","cf8a6cc22db3ad8bb151af2ca19d78404617527c8b916e10555c70d353e0efac","9244b126a3ef649d50704b6fa3d3154f6297f30a776e996a268d8e60fd305e3f","6e930e739362207a3b5f9925c54209cf4191a1ae6ab442fffcb42e928262b22b","d1fcb36fb169d3577183f44c7e9f62811a68a349cb822f9a62e3313e872f5ef2","ede20c2e7d393cf2040b61734a002e5187657ed28774934b6091259d015cd939","28864e0a23974b23d34038b47a2c8d6448957c9f46d5e987adbd0c597f86a2d4","01e633b90303e6e2b22e0c74c708a464e2aca0aa458d1885a71e9973fe61c356","cc92320a820c3df315cdadc5639425666735009c5494b077f0e581b3e063bf5d","bf947897e14edea9f2d5ecf81cd1f01c1572f9c705381bf48cedf35db5b3db2a","71201a3717dbdcc41532883e3dde84f72c626815bf4fe6747383e6d896234ba6","316bd159635049eb621d4a8aab3865329a5f1d5a57662237331d7ad900532c88","f5ef49abd4b3721936516fb0dba79e55c3b48cd2e1c05b63b9464cbb9d919920","89df138d08f9a8cc0e9282b23c25bb7ad15c6c0d977edd0fe27d1632bce314c3","29c63b40da2370199d80379862fcbfdccec173871ecd73f6912bf223ecf55a26","c020a51974623dbab6ce2a8b3f15be50d8c4d5573978e0297171dd7acd3c69e6","60ce7ec175dbdc55ae2c82db82113ed765059efa64ce76c3740ee15491e47ebe",{"version":"a4e9e0d92dcad2cb387a5f1bdffe621569052f2d80186e11973aa7080260d296","impliedFormat":1},{"version":"b2dac7c80e9f6c821024e635ffa39f2ab6def88b2d26072dd2915b29e5802585","impliedFormat":1},{"version":"d0fe3f291ed904d59025ef05bf98f1226b8814f924e6241512e21488b03d4cb7","impliedFormat":1},{"version":"8cb5dceed5b9fb8717b93ece4ea5b2adf3fe317d0f01b7278e5d55f19a7f7e1b","impliedFormat":1},{"version":"01329ca0b974c12cc8a198ee6e0e7c8cc9c305816dfdf0e7d5d08360abc34e13","impliedFormat":1},{"version":"f8b0e609ff71a048d86bf0c22a5852d80a762c1f3073fd87e4e24a748e645d5d","impliedFormat":1},{"version":"e24e97519fb282732d44ac765d18f90c1022927a952bc624d58fb7ab2ea11992","impliedFormat":1},{"version":"1edb00a6d353c9222891ff6cfce4dc70fe7cd5e1820456cc7e5c427507f39ac4","impliedFormat":1},{"version":"fa5d0a3ded577f413e3e1bd04e59e2b1c0acaa826bdeffe138b86b513a5d9de4","impliedFormat":1},{"version":"441bef2be624d8ab826cd8bc5dfa29d389b83bfd6a6f026a9d8cf4c7fc6cb20b","impliedFormat":1},{"version":"d877fe18289a4578fb34ea19013e3ef8fbf0d5c7c91cdef9bcd57e573874612f","impliedFormat":1},{"version":"6aa9c6f506b53c3a2e17006fd9b9d518f75506394daa687a3dd5e48f14fb8c0d","impliedFormat":1},{"version":"2e0b7b4d1db2d8031ef7e7f0bb8caebf0c3a5fb068dc1e79d28ff5c981185450","impliedFormat":1},{"version":"ec3005b118e0ccdd71203d774ac3557ba4692c6d2f4b7be802dfb8832054b743","impliedFormat":1},{"version":"b27065cfce873cd68383d574d64c347f473c25dc4619c5d57428db1758c17fef","impliedFormat":1},{"version":"4423f0146fb37cab9d4a722a3df77d195a81412bd9f2bef0f927469ad3d07e72","impliedFormat":1},{"version":"81656d14d40c277b25b02c7b68826b2978064e9eb7c5288e83d1c1941f118cc0","impliedFormat":1},{"version":"30b93c0cab303910b02829a4c6ec32bd09a622089d5f0cbc07782948ce8954d0","impliedFormat":1},{"version":"c77b7782fdfc83af4fbad71446874183d3a89be9a9d81b8114568b2a3c8e3ff6","impliedFormat":1},{"version":"2526683537bd5270fc8c828283530b971ef20fe613da53f50c7670c8102f8f7b","impliedFormat":1},{"version":"0dfcbfff816ec838d0610e07bd6cf004158cf5e41a5e046d99cfcb70b2bbc684","impliedFormat":1},{"version":"0d0c9f06f0efab0c13c2096aa9717df8a8260e6a5c804d301c605eefcfb193f6","impliedFormat":1},{"version":"11c0df3d2e349a7575427aa1a6e391a5284cad25292e4cc74109a1bfd02765fa","impliedFormat":1},{"version":"9dacf04c9c542d2969038334981d87468b87320e99e8cfc203a7e13fbea48231","impliedFormat":1},{"version":"a0c7e388df0028192f174dab2f074c1cd7c8a79b56205f0c0f91294915d52df9","impliedFormat":1},{"version":"a3bd20d0262d0d4da24b67a38629c92cdf1e0c67d610550fd0c40c23c2c5a331","impliedFormat":1},{"version":"6311c547c0230efd5ede4ece1f4ac5ecd983c3e01073bff7237324c47ce0c3f3","impliedFormat":1},{"version":"32e3f90d661c71be5aa6fac5a6e3b531b2bb49694c724e446694fd13980c9e66","impliedFormat":1},{"version":"986e6dcc124af0bea9d3437b3c59afded8f7a1bed66514e0bb7924464a0fb992","impliedFormat":1},{"version":"40e047c6d798ffbf2b769e01bdcc7a7b8fe8ae49b3260ed5151c623d77c2155d","impliedFormat":1},{"version":"b537f57f873438e6656c7f162939cf116a4fa3575d7a46fb4cb6c0e0fd563b5b","impliedFormat":1},{"version":"7af11204419c230069f9bed9b3388bfe50ac032a91ffa3501f8b96d0593bef8a","impliedFormat":1},{"version":"0f2fb2612fb867967bcdab5ea59bf874e19b3b7a8d31e95ae5c49b16b90ec825","impliedFormat":1},{"version":"4eac8a79f63e27930d509fbaf614cf0c779f3777d23c8a06023867997aac09b6","impliedFormat":1},{"version":"f3ff1cd0b656cf7b78c2c166c9bb7d4d2be0d6509691c64a7ad11cfb9fb65ac4","impliedFormat":1},{"version":"d6a87d509be5c033adcad19dbcabca9fd4ecd0114b3f44e45d8ec75e9f392334","impliedFormat":1},{"version":"6d9fabbf693d36d0281a389a13862ab2b20d2c596292fea0f884dffc8acacea1","impliedFormat":1},{"version":"479a80820456c48c5e7d1b917bffcda72efa4fc93b2157b72d01d53f6e524f8c","impliedFormat":1},{"version":"0ddd21a422292a1433c0acb0953b95dade7945db6ad10f47f66dbc3e9656ce77","impliedFormat":1},{"version":"259c2e20c17b8884c5854ca8e211abc423229dbe3ac4f03fa0c7c29bdd3c5f7f","impliedFormat":1},{"version":"ec47dba399069e35052531e38011dca52fe56de0ed8bd96f255e05b0e02da6d6","impliedFormat":1},{"version":"cf9c2ac8e0974422223b788cdf400e34c7d9b0b2ccbfcceda7084ff0b55e3048","impliedFormat":1},{"version":"86f5468cde4828a20f2dec5bdcb5679105bbbd08c3e49c9f9654af190ffaf32e","impliedFormat":1},{"version":"864a1d1df8b3d7882ec6f7050b26404ebc3e4bc9a4187f39a91aba83a13fee77","impliedFormat":1},{"version":"8fa762cbd08bb96cc522d04427ed1dc8af9d584cdab0eba21f33898bea6af91c","impliedFormat":1},{"version":"05d2e21a179498afa4a9e822884830a93e3e43f5289bc1528a5910f461b765d6","impliedFormat":1},{"version":"ca987d92730519fada583cab88c43f20798223b2bf97b37a687ec56c962c30e4","impliedFormat":1},"8825b835f84fd99ad926e7cf0a626afb6f4ab5c2e0499a55ede776af1de9e669",{"version":"e53462960e9799ff89f63e847d3a338bdadcc41fc98a816b9aaf32e82cb0071a","impliedFormat":1},{"version":"9593de9c14310da95e677e83110b37f1407878352f9ebe1345f97fc69e4b627c","impliedFormat":1},{"version":"e009f9f511db1a215577f241b2dc6d3f9418f9bc1686b6950a1d3f1b433a37ff","impliedFormat":1},{"version":"caa48f3b98f9737d51fabce5ce2d126de47d8f9dffeb7ad17cd500f7fd5112e0","impliedFormat":1},{"version":"64d15723ce818bb7074679f5e8d4d19a6e753223f5965fd9f1a9a1f029f802f7","impliedFormat":1},{"version":"2900496cc3034767cd31dd8e628e046bc3e1e5f199afe7323ece090e8872cfa7","impliedFormat":1},{"version":"ba74ef369486b613146fa4a3bccb959f3e64cdc6a43f05cc7010338ba0eab9f7","impliedFormat":1},{"version":"58ce0e6b87ffb9f58608e2a1adae45487e07074fe2a591feb6ad660416e26b2f","impliedFormat":1},{"version":"c4f885600b6f398223fab2c97165befb768a4a6348008b1e995906d070992d15","impliedFormat":1},{"version":"6d2089f3928a72795c3648b3a296047cb566cd2dae161db50434faf12e0b2843","impliedFormat":1},{"version":"5cb00927cbb410110dde3fb0fda5f1b093f53af27a8e6869233315c635d78708","impliedFormat":1},"019396b471991d45a69ac20bee4206e1c3d7d265db6d71629005ae6958f087ea","8db43ed63043ce666d1462afebf64e9e85c3439c8583ccb86a127731274b501b","46b72cd44030365b3873e12dbb3e29307af802022398532acc734086621c2397",{"version":"86b102e60a4d4c285c07c64769e4aaa93307284cc88917d9424420609f489400","impliedFormat":1},{"version":"188b514b6b22d1403cf94756469403e3dd24aa629b4946c5127a03a4efc74ea9","impliedFormat":1},{"version":"e76f888e1511e2b699b9d10bb972a4e34a2ffd5d1fb0f6ec08e2e50804ee2970","impliedFormat":1},{"version":"9db0e2142e4b3a896af68ff9e973bd941e03ff6f25e0033353dc5e3af9d648c6","impliedFormat":1},{"version":"7a3f38519a1807335b26c3557dd7600e11355aef6af0f4e2bf03d8b74ec7b0ca","impliedFormat":1},{"version":"c8ec757be6c03d17766ebce65802bd41703c7501f395be6f2d3283442fbe37f3","impliedFormat":1},{"version":"fd6d64a541a847e5ae59f78103cc0e6a856bd86819453c8a47704c5eaf557d04","impliedFormat":1},{"version":"5b1d18741093b1a8de17f6a4fc5bca378957f782d71b6a14b4d8d713718c82cc","impliedFormat":1},{"version":"a4e6b39ed57ead478c84677b2c90769b9fe096912320f7c7f65774e550d0ad9e","impliedFormat":1},{"version":"39dae852dd0bfc3de0919f6c7a55cdbf1669d36d1cc3c23a3f15b8d81da0e1f5","impliedFormat":1},{"version":"4e48c309122226e703b40df232738bac2af5e20550130613ebbff78f2ff75afb","impliedFormat":1},{"version":"3f53b478bd2445e596c80378141550e0206e3853edd91fb889a0b07193258306","impliedFormat":1},{"version":"f22a4854da501581589462ab8ab67d1ffe7d40a1eef961f12cf50f04f024773d","impliedFormat":1},{"version":"cf840ecf6d5e70ac184ed2db77b76ddcc90a2671a10e445009dcf46bbf2d3b62","impliedFormat":1},{"version":"e0c33120f2909ec13da5623c940351896b7599c151b36652a59d582ac4a60228","impliedFormat":1},{"version":"8109063db4edb419af0fe70241bd2f8b09f0c2e4a2cf9bca0482e3150c8a2c7a","impliedFormat":1},{"version":"2a4315b8b6710449f9c6d6edc89cfbb92656b506041892b378c6c8fc3b7aa400","impliedFormat":1},{"version":"d142624899ba2fcc9867b836149bf380f20cf472a5419f6ddb685c1a4bb2123f","impliedFormat":1},{"version":"d49a2811b9782d2bbb51f3828dbff29a266d0375422ffd2008290f8a8dbcefb0","impliedFormat":1},{"version":"7d194ef85fc529c41556658bb2132d059b901cf2d784669a2de5142665841e1e","impliedFormat":1},{"version":"758462bfdd5286521a86b89657bc1b22495f39507560a7c4859fd5321b90873a","impliedFormat":1},{"version":"666a19079e45916f373b3aee42f3016692109bda253e3aa533628c7984626969","impliedFormat":1},{"version":"e18a8b6016e6079f3e6072da076c3e6ce1dd14e9870f9fcdb02c77d0df56e10f","impliedFormat":1},{"version":"6f4577c261a33c7cda23c31ebe96abfb752b84875107d887fb45b689aaab591f","impliedFormat":1},{"version":"68ed87e104b4d93557e78cda19814c958247c21a46ea0ade01b97a49ed3a04ff","impliedFormat":1},{"version":"07d7e53924e4048e23ea3c2ac39eef332f200c40a808f980785c6ff6837437c5","impliedFormat":1},{"version":"a3ac5c28c6638c006c8c08a3970e54717f556424dea72b48c780c3a7654dc8c3","impliedFormat":1},{"version":"64ba9ff8657d8061b54bd7edd5a85b7fe823e670f4a68d85be70a478d40bf02b","impliedFormat":1},{"version":"325d3587d3c24677b1dd929975c8456f4ae3718f783e23a2994a0c60a93e6cb7","impliedFormat":1},{"version":"beb5edf34b7c9201bb35f3c9c123035d0f72d80f251285e9e01b8d002dc0df75","impliedFormat":1},{"version":"52124f927dfdf1e5da9071c34c3d9a324788ba08925368a149e5213546dccfd4","impliedFormat":1},{"version":"e16aa5ee53134e5935b3f6b4d0271d76fb74b293eb21e22324a2a0e373fe3300","impliedFormat":1},{"version":"e552130d7d49731d16365b4d0b52bc3490c280e946b702403648e3c4d4ebfa3b","impliedFormat":1},{"version":"af7ddd1cc6649a936fe4ccd4cbab19be4e6f200891b21a85a8a83184645b2c97","impliedFormat":1},{"version":"9ad6c4be6e417e58362cb18f2c6a07cc9f3ee14fb178afb0ad92354ab369a94c","impliedFormat":1},{"version":"0c6514cbb7ebad5f11795d73949f3dd75958815d8b4fae59159aa489f135c4f7","impliedFormat":1},{"version":"4b3c3eecbd6a202196657da67f8d63fb300b1f4cfc3120609c28e59fc8b4427e","impliedFormat":1},{"version":"0c5c15c6fa329c0c3020d2b9bfd4626a372baedb0f943c5f8b5731fab802da4e","impliedFormat":1},{"version":"810ea75f2be951600569b38299a57fdf6013721fc9e40d8588b12d3bde57adf2","impliedFormat":1},{"version":"5573ca9fa776eff37bfa901e839ddf063ad2e876831a124cd0ff6e2b7b105ade","impliedFormat":1},{"version":"6a1e9ca07648a8ef6dbb611e1e93923c2155d91e2be3f31984f74c0098e1cda2","impliedFormat":1},{"version":"c03f6401f9fc9bd9038c1127377cbef25697116a3b95c0f28ec296076cd0fed5","impliedFormat":1},{"version":"6a786d3e7f5f9d50ac5c774f440cbbe974e6c66e4a953648af3c0ad463178223","impliedFormat":1},{"version":"e4a86483f52f3d08dfe69c231a051b6c1044e79e7193f80b52bccd11d7f252f0","impliedFormat":1},{"version":"89f00e35a09d867885264b24039e4e390e9a616c2b1ba73aead49f0645170167","impliedFormat":1},{"version":"96ff9deaf52b679a21490b2375b6023f21f01c5daa415112862c3c886f6d0632","impliedFormat":1},{"version":"823eee0447e0d0c4671f4ca89f7b5f8bd609b353ee4635c98b631441f0067b37","impliedFormat":1},{"version":"b6e0277eb6f7f764a3ea00b9b3c650b5ebb69aae6849c322b5b627e5f926a216","impliedFormat":1},{"version":"41682402ed20d243a756012f952c399fcb60870acd17652521a4298fd4507343","impliedFormat":1},{"version":"4aa132e059dacfc51cdc33fa4f807abde80bbd0b1fdcdac488d23305a03ab379","impliedFormat":1},{"version":"d376eaf3f2378bf5284545197d0355137d1cc900bd0b76765e381ca5e37d24f7","impliedFormat":1},{"version":"325060545391e0ee693b2a972b374a55c9abf18eff6277ad42e7a29b9022e5a2","impliedFormat":1},{"version":"0f0f3c13ce0a8d041422919e0089910bf5e7def9bbcdcf0d4d10311a2b2787d7","impliedFormat":1},{"version":"3ac5d50f1f1c95405eb72a4230b1bc83cc743474a78e336669200479c03b414e","impliedFormat":1},{"version":"93013bd48f7be700ae7d7e0c34bc033785ddfac380ce4bb2dca7683704920d58","impliedFormat":1},{"version":"eb65e93c3597e597892b805275aa60c7158734d58c4407c9c2d384e08eca3739","impliedFormat":1},{"version":"e053cb480571cd2f06fd4b482e416023f1f34fc5ae5779735abb39ddd5dba23d","impliedFormat":1},{"version":"d176cf2c1237243105e40bd06bee14acb9bbda3fd7a9e3f0d7770084e4326158","impliedFormat":1},{"version":"e096b77184bad0fc3a385abd41d1e0fb9b208d36e5dcae3ac7e0a0b86edfd8bc","impliedFormat":1},{"version":"eecda95a1e554bdfb3f00907960ef65311ca5a8997c25b0c064533ea6fbe777e","impliedFormat":1},{"version":"87b1d4495a5d1618848aaebd72cc9af7631b2e62f08e85d9dda90590d14757b5","impliedFormat":1},{"version":"5c5b20707f157894a4cf7339560fe1caa0717ca5a39c97fc7ed29103926bf345","impliedFormat":1},{"version":"68aafaf52b5490e853da2c167e5077e9404e511c5ce7773c43ebabdc26f890f2","impliedFormat":1},{"version":"f38fb1c0a48829df6832411a4907bbf8dd82ed71390ce4893fdf6f1f0e5dd08a","impliedFormat":1},{"version":"a89c6aca351cab815887f5af8f59c9aa311e15d5ac21cb41dd4a8291dce8cee7","impliedFormat":1},{"version":"3444353044f5e04f9283a4d9690898626ee34d0e4568774e8dfd8cbb205b2166","impliedFormat":1},{"version":"45db8a765dc206f0d6a833b50c087db953fde1bad5ab2086e6b405f6a9a4e448","impliedFormat":1},{"version":"c70d66e2188d5e934baa895db1e014e240671db256b8b4567aefbae171599ba8","impliedFormat":1},{"version":"d619dd4fd8e1a72f2d447c26b9d054c6e0cac0f5d11347d50229759fe0b051e3","impliedFormat":1},{"version":"aa370a6fc6d9ff67202409250764237a38b81cc04df31890cb553ade8848d5be","impliedFormat":1},{"version":"0dd7804b4fd9c5479c0350c764e7b234a6fc50841e9e9d37e6925f19b1986d61","impliedFormat":1},{"version":"f9e2d1176644fd007cb25b885e1b48680df0d3eb74c60072984ad9a30e6407d6","impliedFormat":1},{"version":"5fc75fe33557c1ec5d16598512c75713f6e2f23af2eece45f11024f41897d077","impliedFormat":1},{"version":"ad73c95ccffc1439d04520958a1f41e3ceab8399424d1311c6d1c8603da4fe55","impliedFormat":1},{"version":"1544f5696c2da2fb3657cea416de05f911df8b309b2ba95279af570d1368a4dd","impliedFormat":1},{"version":"1be9d12a91cd95a91ef1b793dbc11b70ca80ab66238a900e51286ca0fb2fea6c","impliedFormat":1},{"version":"7fc6c82eae4a0a3e0425b85c8d4e89f7a558cc9481a6945d6e1c53b41c249e67","impliedFormat":1},{"version":"4258d8fb8279d064ca8b8c02adb9493ce546d90419ba4632ae58eb14a7cb7fb6","impliedFormat":1},{"version":"0bada12621b35d97dcecbaa4e27200fb7397c6a46e54d3555653d67d8a184f1d","impliedFormat":1},{"version":"e87d883c09607213c4dabe6cc81b24b91942cb90a8a6e8edf2051af169734273","impliedFormat":1},{"version":"caf196cad6faf28a04a633214c2e36ce515d5d24fd74c25f792b62f3defee5b0","impliedFormat":1},{"version":"40e925cb2f28b2cee51ac61834975fcb61142ca2b730cbf81c87b8d5aa111c48","impliedFormat":1},{"version":"8876ab57fb4b272ca5059a6e229cb1798dfe20566d1a631914e7b2e5364c5529","impliedFormat":1},{"version":"354b770772cb211687d6dc95a11020f8fffae477ace16c236ce63b714d27719c","impliedFormat":1},{"version":"4d7fd367ab9beef2aee30679ab3bd9ec00198507c08f0e0eb0353f6c9df42e4f","impliedFormat":1},{"version":"601331538f73dbbbdf865d5508dffcf172d3a345fa2731b2a327b7d9b37e9813","impliedFormat":1},{"version":"3ffa083da88679f94bce7234c673fcbd67c0001b0856c9b760042b2e1add5f08","impliedFormat":1},{"version":"c61bec1d381d3a94537e8ac67c7d894aa96e2a9641e7b6c6ec7b24254c7336b1","impliedFormat":1},{"version":"4c6f94efb7f9d4f34d9e7a2151d80e2b79963a30bac07352cb4e2a610b93c463","impliedFormat":1},{"version":"f197a72c55d3d0019c92c2eff78b2f3aab143d023f0831aaf06b4a528ac734b8","impliedFormat":1},{"version":"d6040270c0ed2c466c9d4fcc20d01eddd607ff589126edb0c923966a74d35c2f","impliedFormat":1},{"version":"174834865f27ee63be116cf7252c67b42f1144343efccf96ddc38b3254ffdd60","impliedFormat":1},{"version":"57fa785e9330221c0cc17ea880842469cac556df892b88bde5b84210427275ca","impliedFormat":1},{"version":"654d87dabe3bde9a6dc185b0e592728dfd5dcb250c09390e05dea27bc0cf6e05","impliedFormat":1},{"version":"bf8d985fc022d631ca8e07c313aa8257aab72843600965edf8b71bbaf790816e","impliedFormat":1},{"version":"22632341762a793e74d850c68e363cb44a49190514eb8a602dec805f0022de11","impliedFormat":1},{"version":"469f145eafac81b725762804e5115079e925432a1cee7ca6474afb1eaeae957f","impliedFormat":1},{"version":"d8d80cee8a0304e13a1e10c82c59e6c58601e1795a962c15ff8a70005036a65e","impliedFormat":1},{"version":"3d53ae8093941fd1e73069e22923e22e07ee6f3cd1f3acaad981831896f309de","impliedFormat":1},{"version":"6a37d31e829363e42d2c9ea33992e5f72d7132cbe69d3999ebb0ec276a3f220d","impliedFormat":1},{"version":"bad1a84baedfd6e34353db65f9e8dcf62c1dab6974bb7e7cbf3175b71181e68c","impliedFormat":1},{"version":"06c9ff76d57f08ee25dcb3d17da952c32645de6578753b1eadf7bcf38c865482","impliedFormat":1},{"version":"ace0b3104b38c72d3b419ef63e9cf2cc67c6e8d74c4c2c0766805b0304f90493","impliedFormat":1},{"version":"dfbbd2888718ed9322cb11ffa93dfa112ae04b9049e7a88ea90bb191eceaedc6","impliedFormat":1},{"version":"5a3d42d4cde9d8f72910df5f64eb479b7e6ceac3541ecba6e599fbd3d0682f4f","impliedFormat":1},{"version":"fa4b2b13eaedb94b33fac8b8aec5176d7d2060bd1d953a651c187fd1f75e94e5","impliedFormat":1},{"version":"88536d645d9532b2def693ae1d73507d99bcca5d474df07351ae0ad3805e40dc","impliedFormat":1},{"version":"b22ce67d8165eb963e4562d04e8f2d2b14eeb2a1149d39147a3be9f8ef083ac3","impliedFormat":1},{"version":"18662f19cd845e75735447045b2239c481a184cf1053f95803cf2b7386dabf46","impliedFormat":1},{"version":"b3e0e511a59924e0d89df3d6b36c8faf157ddfc5aacc2a1b28cd6b6259b2f505","impliedFormat":1},{"version":"e523455e1d8b4e6e19da3493e696206d69d50643307e22f90e1325a3d49c2b94","impliedFormat":1},{"version":"830e86d762bb11796935d8014a1887da42167c667c88c3c6f2889da8d04f2141","impliedFormat":1},{"version":"f18bd9a0f7ae499af76b1e39243478899f09b02890ba9d9530c617ad561b1fee","impliedFormat":1},{"version":"b858363effa5894a4fce6730d7c9fdaf3ff3300c260f9d34933047f1089b97ff","impliedFormat":1},{"version":"f822c6938a5610cf468f265fbde1d47f7128dffb9996bdb181dde826c7e5af15","impliedFormat":1},{"version":"d68f20525ae9abe3a085826a692bcfecd5ff5342adef9f559cce686ca41b6f45","impliedFormat":1},{"version":"c6e45ae278e661a4228e2a94339d0b4b9af462ee9720ed6f784b3a77337286ad","impliedFormat":1},{"version":"12d5a54442b46359ffb1df0134bc4c6d8480e951cf1078e1c449e0e36550f512","impliedFormat":1},{"version":"ab608346618d26d52776b98bf0cb4617d30f8cec7dff6f503cdb3dd462701942","impliedFormat":1},{"version":"bbf86228e87839ea81a8bac74f54885255ed9d1c510465fadca55a7a6a3283ae","impliedFormat":1},{"version":"df71667fe8e6b3276ea5fe16a7457a9d18a3a3b30e0766d259bb8029de2a4ec8","impliedFormat":1},{"version":"b34ed5ec21dac2e66e304775b46334bf6fb481f450783a309e53f75c24dbc765","impliedFormat":1},{"version":"3e704cedac3d517520ca4c09f1d7bef22e22ea1498ac97f054309bcc3278558c","impliedFormat":1},{"version":"039fe2fc828ed5bc54fe6f5e79f6ee632cf46f9ceb73f8897b41f717ef62b5ef","impliedFormat":1},{"version":"71fe886db8cb12e11376512b6efdabb8cd96e4c2f4ad8ded5f56f69e8b4ae26b","impliedFormat":1},{"version":"78b0a989532cb9b1016dea7b266d61a9ff5df7588e21f546bf142bbadcab4b3f","impliedFormat":1},{"version":"e5383048a7261fbc6d6a92a813f71b5dbce2c9888d8488de9dcb937290ad3fea","impliedFormat":1},{"version":"cbf296365f5dda152e06d25d3a1a602ca6dfb88985b539e5b7c22582af21f080","impliedFormat":1},{"version":"5082bf4dc0bdd52c9986f74b60bcd7175d7ae725c47e52bbcdd9052b6d0bcc89","impliedFormat":1},{"version":"cc842002527d85469442ac0bb86ca87f8b06638c3dd302113f0dd1e2246d85ff","impliedFormat":1},{"version":"6db13dcb7310850962f428a68909212d10168a9f69b2126c05468c4cc3bd6678","impliedFormat":1},{"version":"a4257472201f865c9e110646cd23183bc5e9646067ab5a4c7a299ef61472e1e7","impliedFormat":1},{"version":"f67c33db397851720be7dd5486dcd0440186fd62e3f9bc8df992249a86bba18a","impliedFormat":1},{"version":"e8193b31aef5ac0ded76bdbdb2492e46a712c562c7f117be5394dfb655a87918","impliedFormat":1},{"version":"44ed745d493f40340bef9e6c5602214f62165aabc49ae9ca1f1d9be848ec994b","impliedFormat":1},{"version":"366a02de58af1cd7cd081e97fdc6a64d44a741120e470712f98f5cdbc2558ea3","impliedFormat":1},{"version":"d69da5ed404cad095d48aa5b3bf0108424c998680f1d37fbc59e9bff745b30c6","impliedFormat":1},{"version":"833d1728c6e241dab5e5ab88096aa30ae7d4a0596173800e7969912ed0bbbf3c","impliedFormat":1},{"version":"12332aba0f810918d2486b5cd16d1dcdc8a6586c7a3bf695ba9a52dc89117a1b","impliedFormat":1},{"version":"c11fffeab0e131bce5ef65624ca9c1c7b18d30cb4c40b505d74c41d7e8813894","impliedFormat":1},{"version":"aa73881b65054e385b81b9c91c191b64698638fc4ae21071c5c84320b9c5d4f7","impliedFormat":1},{"version":"8fce917e06facd19acf02c0a464ca031dfa90bd277c02ae5449a9a3d02d1c8d0","impliedFormat":1},{"version":"2ce64b21350115e4705b68198ef9a21869a65466517daaee88b4dc6048dca889","impliedFormat":1},{"version":"260c761225625eba7408a265f77b1e199e9beae4725c722bf0f2952c2ef68081","impliedFormat":1},{"version":"6a3c3b3852c7b39b4b596bb3901e28ee03133154ad27c9cd1d20f1eb160795ca","impliedFormat":1},{"version":"c7b2399d36ef76eba067eeebec5725406778b85e515a3b7cee34f38775ba0e95","impliedFormat":1},{"version":"0929059dae143a1c68ef847b4c9c1a16e0337959de8d930e26d403df9cf1ae4b","impliedFormat":1},{"version":"1568edc789998b4186f70f5e6825b89c4baf90095a00e3f8f94ec52f7b75cbee","impliedFormat":1},{"version":"a8ffecbac87229515fa19630409bbd78bf2c2abc2f83ca38f11d281b4c0db40d","impliedFormat":1},{"version":"eab8a32518514b5898c3219e1ecf132b6492d8214ab3f895b0112ea15266eb62","impliedFormat":1},{"version":"f1539a941db422140ba02fed80db5f03f2efe4d6c9edc7473302b7df3f9e3035","impliedFormat":1},{"version":"bc747047f10b1f0228452f2ba0e77d641aeeb80104251bd6fe597893180208bd","impliedFormat":1},{"version":"f74b2243dab7450133a50670682ffc90ab67059ee7ce31dbed7834519af1459f","impliedFormat":1},{"version":"5e05c2323e1a66d6e4e160749e5b41ff5816c3c042098f42a502bbca254ba2b9","impliedFormat":1},{"version":"d3d08060421f4c5c6ee366aae6de7ffe373188b61048a741e15d84c85f526e8d","impliedFormat":1},{"version":"7a208fccdb4ca40121485654a82ba1e08e361756eceaef5d2011712861600e20","impliedFormat":1},{"version":"80257cd2ece1777d51e36c904699c4cfc7ed056b6a762e486ba8bc411a8da37d","impliedFormat":1},{"version":"5dce7d9cd377b913ed73dbb686bf18c4b728ad9f32a4601de846a23594a2d11e","impliedFormat":1},{"version":"92796c74df379e3c61b252e8cca0f2512c23034717ebca3eacc2e3498f54b748","impliedFormat":1},{"version":"999775b2bc11417c326c367309953e216305660358625ab31a7afba0be1ba0c2","impliedFormat":1},{"version":"dc0a3932753b9eeda746fd54979fee92a02b23809f4ba8ed19c752b57b023335","impliedFormat":1},{"version":"6ba01c5f3fbefad3c5fc491091f5be9efdb24b40e520f71571e027f404620f99","impliedFormat":1},{"version":"b27a5fb7acf576ac9d2a9a93b657e76f11bb73a9509325bc8ef83e951b094e40","impliedFormat":1},{"version":"c8b92744506502e035112cf548559892d4940585842401f2848e7b50689da487","impliedFormat":1},{"version":"fec0e7056aea3e3ceed3f02ac0591d5c45589e19ebd517b9a1cf342678be5721","impliedFormat":1},{"version":"13ca006967d1b7c79a20b72a5f5fe7faa2d96771ba7119ecb993e7afc3fe9e65","impliedFormat":1},{"version":"b2b93c1c0d3b1b80ca87a83255be90913035d4ea29b7575427815c7042c1a447","impliedFormat":1},{"version":"5dcf68b529709161444768647090f94d19dd50310cd937f3732865d83164dc2f","impliedFormat":1},{"version":"2c691e55704701592428bf00a01339d687af8545bf94edfb016f4ade29976add","impliedFormat":1},{"version":"177ef1722b05cfbcd5f36d58b529ed9fd14896b91f0fbdde12c6cb24a4e86801","impliedFormat":1},{"version":"a532a3d0aacfa039251135169c939e316ba51dfbcaa9f1c6f20cfdfd767c14e4","impliedFormat":1},{"version":"d2f25b7bf88a2031886183815236d9d05a5b2d32d5cc74636090445c7f6e9626","impliedFormat":1},{"version":"3abcd183f33d9db1fd8adc3ef4032e8fb3165954fc9b17521a0940233323b3e7","impliedFormat":1},{"version":"cd1921d97970e5be2d75b6ec5f4c9334b6cf23ee2f167bbacabdfb3c1d6e5752","impliedFormat":1},{"version":"c9b781a244b97e7031245fe35be8fca013ea16098b7a554634f4d12a85d33b35","impliedFormat":1},{"version":"35813b1e4442d1c73fb0df6dd1f16fe20987aa0b6cd1ee4f218c8aefde423523","impliedFormat":1},{"version":"dbb79e35d3f70517fb93f35078abb9eca4291cd22e16cab4bf141bebdefb6cf3","impliedFormat":1},{"version":"0abd81979f09e230d5929fda1ea77512a60cedbc7b4a565c397a4704a987c455","impliedFormat":1},{"version":"f59869ad0db7e49bfd5021fec738031bcd4386623ada5666cf80facc0357c700","impliedFormat":1},{"version":"76439253e23d96777dde88a1a8fc86a0d364b5406f642f14f6cf4a3d91bd3575","impliedFormat":1},{"version":"e9041a6552706b5a57b447b4afad0870ecbbc5dc36ef7ef8ffcd46c95f416aa1","impliedFormat":1},{"version":"c16b36187b90962c7c50228305257490d519768f4f117bbcea79c11eafc89540","impliedFormat":1},{"version":"debdc7421eaed9084f90c4149f094bb832bf3f833ae5f084cdb7596428cf1512","impliedFormat":1},{"version":"89365f73fe7140cea87799bafbead01266076314d705ac600169fc4e00b342c8","impliedFormat":1},{"version":"c9749046b5bf685ca57a23a9579dbf9aec0320f2d293d2c11d1d489fd87401a4","impliedFormat":1},{"version":"c91142cf2edcfa66df568dd16dae1dd2e1d2b23b3c68c0ef0dc6aa7290b3e824","impliedFormat":1},{"version":"7258729034dd466294076442c084ca2794e5bf6a18881696b11f9befcdd1146e","impliedFormat":1},{"version":"2797ccd33391c4f6bf44985e6a8cde38b0b1b5c7b38872d05ff1cf32f2f27c5b","impliedFormat":1},{"version":"2877ff863af41e84f20c108409c6c69b06a61bad3e07a6ac2279455282db866b","impliedFormat":1},{"version":"21dc554aaf7291955838936f07a8d78dbfe08585d63ff707f66b4e03aabcd4fb","impliedFormat":1},{"version":"0e8341398f41f27df2cf714c4306706d2d50f30ce8961f351d99b4b124d9a65b","impliedFormat":1},{"version":"1ab3b857ad816e17897010a7abaf69a873219e8cf495350701b5688d97562696","impliedFormat":1},{"version":"00edee5f99654b9387949790be7db3713365fd7a6a681419d7b5bd65b2ad84b2","impliedFormat":1},{"version":"3b268a41864c0ad19b51a7400ab96e4635bb97ee087431ec50c095e3cdd55254","impliedFormat":1},{"version":"4e0cd765b1da5dcedde856a357f2301e88bd0e7bd96f0fcf518cda918b99063e","impliedFormat":1},{"version":"4ac2c2dada287d88fb886e6e846026d531b8921e25c84de8882b6822b28e6db8","impliedFormat":1},{"version":"c72be05efe1a05c15adcb43b0d02580da6220ad4efed22f14e2f5d4ae215f4ad","impliedFormat":1},{"version":"baeb5b10d303c1a423431fbb13227a9a7697e68ee3c26988d602a3fb21d52cdd","impliedFormat":1},{"version":"eab31256b097694fc71488c406a24f4fd202a51bc780a3b6c9828b98ea25c362","impliedFormat":1},{"version":"32afc6399293b6f02842c4d4adba5bae6bab865bba3c68bfb10df06f11132e96","impliedFormat":1},{"version":"bd87a5ca2da958ed091a2790078a4113795999df57855bbc715b0653f79cc297","impliedFormat":1},{"version":"a3c1beee2c7c8b30a8968ff9a7ea7fcc7ab9af665df1e1d50e36e51f57bec4ea","impliedFormat":1},{"version":"1929f416abeeb29d80dc448d6d3c145125b023c1d988b30eea1df6fa5c9df8a2","impliedFormat":1},{"version":"061c489268c2c1050fea2bda080d9f342f2a5b4562e20ef86698c0a65c2e26a7","impliedFormat":1},{"version":"f3e7892784b7d862ec0a3534c7c87048b9c1ec30aed3cd6255f817b528b38691","impliedFormat":1},{"version":"06fb392429982e597298a8d4a652838e358dfa764e288592daa3c03529c81314","impliedFormat":1},{"version":"2aff3c969f006ea2fa84da1525ac184a84fe2e4eda593cee8847f764555141a3","impliedFormat":1},{"version":"69792d8faea92295395ad1b8c98adc90dde979c7e4cfa98e2c617fe5eaa6400a","impliedFormat":1},{"version":"a044eb1be8fc48a259a7f988c44bd23eaceb6dc65a84782f32e9db77c22793d0","impliedFormat":1},{"version":"0b815def1afe22980cbde6c2fc814b80c70d85a3c162901c193529e68212ac62","impliedFormat":1},{"version":"a2ac1778dbcd36c5660067e2bb53cb9642dd1bab0fc1b3eea20c3b5e704abdb7","impliedFormat":1},{"version":"c43ec0afd07a8c933fbc3228333a40ec653d6feae74561e0409c1a6838cd1bc3","impliedFormat":1},{"version":"09bec605b945d8378009f414d82e17595dce43c10c9bdf9f1205da2de6fecaca","impliedFormat":1},{"version":"94044fa21380382135c76eb7de8dc50348f37b2ae87d97b9bd726adfead28c66","impliedFormat":1},{"version":"7cf8b7e877a162bbde841e7aa46d2e8ea477cef7b51fd3c575646bdcd52040ad","impliedFormat":1},{"version":"04c1f616c16ab14f485f00b8a9061edb49a7cb48d3dfdf24a9c257ae25df2023","impliedFormat":1},{"version":"791e53f4962819a309432e2f1a863e68d9de8193567371495c573b121d69b315","impliedFormat":1},{"version":"85de5c3f7ad942fbb268b84d4e4ca916495f9b3e497171736e6361d3bf54f486","impliedFormat":1},{"version":"edade900693968f37006614c76b04573ac5f6c01c1adda98b8584f51956ea534","impliedFormat":1},{"version":"7f3b0ddd51e4fb9af38d5db58657724e497510110a13d80efc788ec2b57bba49","impliedFormat":1},{"version":"1a416fa77716007ce5f2388e651974032ce6dd16f542942847ea899c24d9a84f","impliedFormat":1},{"version":"63c9d377adf66f0eac304ba29b7e8bb5ccab3b523ec1912bf41bbf12cad46b06","impliedFormat":1},{"version":"13876cb9c05af8df22376541ade85c77c568469dfe6ca2dfa100c3269b5d391a","impliedFormat":1},{"version":"017524481107a062d0d25510ee37db024c4007f9718c1e8ebfc462e1f3e6546b","impliedFormat":1},{"version":"098eef14e558f01293630398a08a566e832c8e8d6b749c135ff193f35df6c66b","impliedFormat":1},{"version":"bb01f143bf00edd5de84b065b5afbc5290574279d499308848d58bb4984263c0","impliedFormat":1},{"version":"f3bfbefa6cda3441281aaf48154ef4a1e99e406b8c35cf58bc2625d43d8733d1","impliedFormat":1},{"version":"ae396ddebb22bbeeff4fc82310c6d2d03533e863062133fea2a53b536978d679","impliedFormat":1},{"version":"d17e548eb914cecbf7319b7e3951804938bfd471c35523745e49b0a92d64dc4b","impliedFormat":1},{"version":"fb808cf3433e235b2c692ffb92972914c86d0b42a94ebb4ef85a3d0ac86f9bf1","impliedFormat":1},{"version":"e0b648fa6bdfa8e24ee2e77d1a544d50f39539d339e05285d4641618cc85162e","impliedFormat":1},{"version":"84e3c6e1cbe8fcb78e6d9cc4fdc5c53cf9717120cf5825c004b6cbb2b3522b55","impliedFormat":1},{"version":"095af94d1b06f8c7099240174c5221128e7b4e89be1e82966bfd288dac95f7f6","impliedFormat":1},{"version":"e0c650c644fa032243b09c0c419111757dbe65a2410c57cf5166fcfe8ec9a306","impliedFormat":1},{"version":"b069fcfcdeaf8cca75c459c2dba1145dbcd59a60e0dc7bb6cc8147d8601ddffe","impliedFormat":1},{"version":"6a50e3d12e9ca5aef267205c603ef4dde26423b37949f01e2e9500392fe6ae05","impliedFormat":1},{"version":"72101dd1dc549e97baaa3160d929d367705179a8df778a6901271a6904f35c43","impliedFormat":1},{"version":"0ddab6fa84c76be6c82c49495d00b628610fbb3f99b8f944402e6fe477d00fea","impliedFormat":1},{"version":"87ffb583e8fd953410f260c6b78bb4032ae7fb62c68e491de345e0edcf034f93","impliedFormat":1},{"version":"0d6270734265d9a41da4f90599712df8dfc456f1546607445f6dcf44ebb02614","impliedFormat":1},{"version":"9d3d231354842cd61e4f4eac8741783a55259f6d3a16591d1a1bbc85c22fce2b","impliedFormat":1},{"version":"95444e8d407f2b3e4e45125a721f8733feb8f554f9d307a769bba7c8373cc4bb","impliedFormat":1},{"version":"230105e3edca4a5665c315579482e210d581970eb11b5b4fd8fa48d0a83cca43","impliedFormat":1},{"version":"c0f23f635c51467286dce569148edac352722f8dcee352aaa82d439173ff5057","impliedFormat":1},{"version":"6baeccb6230b970d58e53d42384931509f234a464a32c4d3cdb0acbf9be23c82","impliedFormat":1},{"version":"1ef785aef442f3e9ddead57ec31b53cec07e2d607df99593734153bd2841ba1e","impliedFormat":1},{"version":"b8b323fe01d85e735ecd0a1811752ddc8d48260dfc04f3864c375e1e2c6ee8b4","impliedFormat":1},{"version":"b49d558ac56d28e458a34f2b3c3d4e56ac91db0850589ced007ac6bfcfcf8710","impliedFormat":1},{"version":"a5b4e137d91765535722de59a2e560527a77a6c54b4559cfe46536c6f371965b","impliedFormat":1},{"version":"f58d62e16a77d607555de33ce02c0c24b1c6be45e8809371da2ddf0996711dfe","impliedFormat":1},{"version":"1165bc45f052eef16394f0b5f6135dfc87232ce059d0d8e1c377d6cdbf4bb096","impliedFormat":1},{"version":"40bb47052bd734754cf558994b34db7c805140acf5224799610575259584cf6b","impliedFormat":1},{"version":"d41ce4340adfc1c9be5e54aa66c9bb264030c39905afb3bd0de6e3aca9f80ef0","impliedFormat":1},{"version":"b153fcf424c3bbbb3af054585b9d8388909269b9fce17a62b1d9ebc5d5b94014","impliedFormat":1},{"version":"dbc643e42b5e84bf2b29dbb43c8d7845fec56f1fd2c009e501f59f5d90ce1df3","impliedFormat":1},{"version":"0cbd47f72edd2107a181b760d81b337948b38ffac0d3579b936b1ee448ce2b0d","impliedFormat":1},{"version":"e73265a974c5ef21dd0ac0f3d20189871aeb76cd38f6a2332f6088cfacd6ff8d","impliedFormat":1},{"version":"2933d5b06457edcd34bc76d65a19140b16f828b7e852f6f1a07d760a2d0f5700","impliedFormat":1},{"version":"b1f0d9f735a44746fc9cecb3a7bf3ca126f7fbc889f00f6639a17c0c6084e8d2","impliedFormat":1},{"version":"837ab7516e5d6b9fc4cbffbcd76af945f17a32b37703e6b43739fb2447e0c269","impliedFormat":1},{"version":"220a0608983530eb57c83ebb27b7679b588fdfcae74a03f6baf6f023c313f99a","impliedFormat":1},{"version":"d66a1e8d093d2fdfca0a8cd3abda133485b96f105444d9328b143706de6f0e6c","impliedFormat":1},{"version":"576e197b88932ee86f3e772061f828ca718d27c040d078425cd30bc9d0e2f873","impliedFormat":1},{"version":"37f1c5a1745c3e14d51864c3bc11db3db6f387381308dad4070285c312e045d1","impliedFormat":1},{"version":"c36036b85f3c2addf406b3ff0c064e97b3f37eceafd3c39c68aa2a406b71b9c0","impliedFormat":1},{"version":"785dea0c5263f2b923d501f6dc21b949beb165ec2096b61c4d3e5f87e3782948","impliedFormat":1},{"version":"e1995b8f6efcacb597757d831d2b62c766445e8c3d6736e6a900adfcd1f2062d","impliedFormat":1},{"version":"07ce493ec6947a668e1759beacb3bae93a969c599890f8b2dbacef7c4c42a7b5","impliedFormat":1},{"version":"4319178f50ba03e707b9be9c91a55b70ba0c32f3221494ced1f76b33b0189ebb","impliedFormat":1},{"version":"5ba9e3014bd661db8fbc2bcd4678cdbb3811623af5e46c6202bc612f84e140ef","impliedFormat":1},{"version":"e687191bddc59e11508784cb14253f0ca8033331b7b2dec142cd1920dfb55bff","impliedFormat":1},{"version":"f98e2d059aaf3588be83385ecfaefb1ab5101a6a1ce48505e7232a9a11b5a127","impliedFormat":1},{"version":"8c1586a4a59ccb1c74ba32a776462128fd83eeac7e4df2681659592c958b7435","impliedFormat":1},{"version":"1f3e8a0e346b23658e83ee6d20727a0fc9876faa5a1f227c94f5612fc8bf9035","impliedFormat":1},{"version":"5e88ce5ced9a009f76b4d2deb0b00d403e86d54c64d309698c4f447f8af756cd","impliedFormat":1},{"version":"283f3b773da04e3a20e1cdccff5d2427ee465a1aeac754f5516ad1d59f543198","impliedFormat":1},{"version":"8426ee0766091376cf487d0365429d31cd737885e93007c4a93e2e7cc6790944","impliedFormat":1},{"version":"38140bb660a84513cd18e3dd73bfad35d982fcef94dc73f7625366e5cc7013cf","impliedFormat":1},{"version":"ab831387fd4452274967bcaff49d331200ecb98df23362225e5e350cbea8cd06","impliedFormat":1},{"version":"520e75f608cc7ea36d80d639d70ca09d7c6467247bf80eda487ba4d3dc656826","impliedFormat":1},{"version":"4b4e0b1c3ed5e3ea3e34e528c314884c26aa4da525dba04af41e8fb0afe10c52","impliedFormat":1},{"version":"5b06394e29458c6ce0ec2807a86cd8e0a415b969c4ab9f89339ea8a40fa8c1a0","impliedFormat":1},{"version":"a34593c0e757a33d655847418977cda8b2792e3b3432d6ef2a43a86fda6d0aa9","impliedFormat":1},{"version":"2df5cd8f15e09493249cd8d4234650bd0ab97984e53ddcf35d5ffd19a9c8d95c","impliedFormat":1},{"version":"fff5b5e7ca461b67b296c20c538752054eb08db3249bab80d1e260d22f6e2b8b","impliedFormat":1},{"version":"d230d62ae7c13e5a0e57ca31b03cfd35f5d6de5847e78a66446dffb737715c3b","impliedFormat":1},{"version":"7b3697570705e34a3882a4d1640d0f21d30767f6a4bc6d3f150c476e30e9f13a","impliedFormat":1},{"version":"4b88891e51db60664191a05ad498d1eff56475ae22945e401e61db54e6ea566f","impliedFormat":1},{"version":"26deefe79febba4c64b6af45206dd6ed74211b33e65b7ea3c6f5f4a777cf1cc3","impliedFormat":1},{"version":"33cba11a791c2f78cafb27b652767dbbece2591def167e94ce76b394c79e210b","impliedFormat":1},{"version":"21f1ef5a379ff332f908b519d3390628348783723ae0b3a53eab8879680c2f2d","impliedFormat":1},{"version":"25217da56dbbd1a612b1523049cc8a6598da81b444ef6db05ecdcba7badb1cf8","impliedFormat":1},{"version":"f91e1ddab3cda5e19360ab53bc12239a102a4251fd48ebca0c8206c8a8a8df4a","impliedFormat":1},{"version":"67393d5e32ec4119c640a6d464c98e5a5c9d8a6a776dbc8321dc9655408f7ba7","impliedFormat":1},{"version":"b9d1f1ee0f4b92e6414f54ab4fdbc31c0d7d424cd07a50f4aaca0f2307ddd297","impliedFormat":1},{"version":"2f3f9a5cb4821452db29e2c5222e2aef6c4e9b8c2389ae4f2000efa13aece39d","impliedFormat":1},{"version":"e2a92da9841cc8ef9f73304b1fd150b4bdb7c6ae5f13cc6f4775904dbfeef445","impliedFormat":1},{"version":"fba44e215687bab53ebc3f5f06d86abafbcad900c2f30c4aa7b757a1e2c83eee","impliedFormat":1},{"version":"f4f4f2ac2c85a3592545acc11005f548131ab71f3bb665f22effe4a012b92e46","impliedFormat":1},{"version":"ce4ebd3b64bb7a809edaedd16af649d74d512935dfecb9ed2890f184c6d80421","impliedFormat":1},{"version":"2c531237450cdfbff4008f8a9a8e220dd156a599177cf9681a9c0e1102ede5f0","impliedFormat":1},{"version":"318f242e400269593e2ef9d58cbc16ce0f28753b2e0133ab2f14c20cecf5627d","impliedFormat":1},{"version":"18f7051506429cc0f768e5b6d5b6fbcf84ee6061a13d17ba1a87b6c422fff87f","impliedFormat":1},{"version":"e97e14f2b6261619b8ce730d289dc833eed70fea2f56e8f78aaae65e439e219b","impliedFormat":1},{"version":"20f8c1a3437002fd73283c608cbdb974c2350959c63566d7283299e6240726d6","impliedFormat":1},{"version":"290f92f979e202318c10c533f72b08177073c2a8dde0a3457ab4ea3187bae64e","impliedFormat":1},{"version":"1dfdd8086c7ceebff179d82d25f4abdc784b18fd5d4db9ea68107d54a9019da7","impliedFormat":1},{"version":"b257fc5fdd1bb2e39c21d2f4b91d9ff01d05ec22ffbc90338bdca320305c0051","impliedFormat":1},{"version":"32599f2b9d584c7e08e53ae572aa8ae54cc6ba52becc170f8592ee412a751a1c","impliedFormat":1},{"version":"e315e50add364d5c866c4ef710b66bd82f8233725a663b285573bfd4ab24db2d","impliedFormat":1},{"version":"c8b0cfe8430c466b1b91494845a56748fe28d6038f4307679463e9e232e9e292","impliedFormat":1},{"version":"78ef6ddda03845628cfb3b3830dff308c6e97452e71428217172b3af9bcf8fb5","impliedFormat":1},{"version":"ce24f76047dd08da4c27b6331fdc1cb6fc28904f405cc2f8eb3003a478d20337","impliedFormat":1},{"version":"206daaf25cbbf28e00cc0d929dcb9a768cbcebf47928e8d44464de47e4bc2524","impliedFormat":1},{"version":"daf84df325239641e025bd0c22e990927d34f257678f29025815f41daea2fcfc","impliedFormat":1},{"version":"d0b72fff69b59130cc6fc5626461c76c2ae4ba857f5750fe1163e2b00ebf4d2f","impliedFormat":1},{"version":"5be8bec899bb9720067b20859ee1aa4cd77a311e8e56eb7042a1e1e7fe492adb","impliedFormat":1},{"version":"b543f702122a4af3f63fe53675b270b470befdedbfded945f3c042edf8d2468a","impliedFormat":1},{"version":"cb14f61770a3b2021e43a05eb15afc1353883f8a611916a6fe5fab6313f29a87","impliedFormat":1},{"version":"6d00fb60c7e85d0285844c3246acdbd61dcf96b4b9e91d4eda9442cf9d5c557d","impliedFormat":1},{"version":"ec060450f2ba4c6eaa51be759b0fa61ba7485b7bbde4ac6bc9c01d47c39007c4","impliedFormat":1},{"version":"b832e38135a24b4eafb5050a0e459d5621d97d1598e3eb2b098869352d71b5c2","impliedFormat":1},{"version":"3f26ffc1b39a916e73b20ee984a52b130f66ae7d7329c56781dc829f2863a52a","impliedFormat":1},{"version":"97fadc416269ebbbe3aa92ee5f19db8f6b310f364be0bbf10d52262ce12f6d2a","impliedFormat":1},{"version":"94498580225a27fb8fec1e834fb2a974916916c46fb39d12615a64484f412c68","impliedFormat":1},{"version":"6d29d5b80d237cb622cf45ab8ff6b6876b61a4797455c72c56d4dd5df5c12960","impliedFormat":1},{"version":"110c30dea76a18ea1c8d1f980601db2b3300571ad00ec025b26858f7b45ebee7","impliedFormat":1},{"version":"769b47b13af06bdc5ac041b559690da8223a519d42508944b4c98eb6cc0ec934","impliedFormat":1},{"version":"bf2319665c8c69517cf89377765d2d3af231cf559cf1080aa37ff15015e9a4eb","impliedFormat":1},{"version":"b8cef6e390e7911fbee7f4246eab425cd1f3e626684472521dccbfb38118d1ca","impliedFormat":1},{"version":"5ab43a0a068a9039237aed0a5093c9554baeed727177f3657e3de762119bb96a","impliedFormat":1},{"version":"67220d0e0f450914033987a55f80e310fc3523c029377dd79d6cfd6c77f1b06f","impliedFormat":1},{"version":"86b102e60a4d4c285c07c64769e4aaa93307284cc88917d9424420609f489400","impliedFormat":1},{"version":"188b514b6b22d1403cf94756469403e3dd24aa629b4946c5127a03a4efc74ea9","impliedFormat":1},{"version":"e76f888e1511e2b699b9d10bb972a4e34a2ffd5d1fb0f6ec08e2e50804ee2970","impliedFormat":1},{"version":"9db0e2142e4b3a896af68ff9e973bd941e03ff6f25e0033353dc5e3af9d648c6","impliedFormat":1},{"version":"7a3f38519a1807335b26c3557dd7600e11355aef6af0f4e2bf03d8b74ec7b0ca","impliedFormat":1},{"version":"c8ec757be6c03d17766ebce65802bd41703c7501f395be6f2d3283442fbe37f3","impliedFormat":1},{"version":"fd6d64a541a847e5ae59f78103cc0e6a856bd86819453c8a47704c5eaf557d04","impliedFormat":1},{"version":"5b1d18741093b1a8de17f6a4fc5bca378957f782d71b6a14b4d8d713718c82cc","impliedFormat":1},{"version":"a4e6b39ed57ead478c84677b2c90769b9fe096912320f7c7f65774e550d0ad9e","impliedFormat":1},{"version":"39dae852dd0bfc3de0919f6c7a55cdbf1669d36d1cc3c23a3f15b8d81da0e1f5","impliedFormat":1},{"version":"4e48c309122226e703b40df232738bac2af5e20550130613ebbff78f2ff75afb","impliedFormat":1},{"version":"e8935dc2e290becf8a37c6880341700e83687cbd74f565cbd9cfc91232ff8cc6","impliedFormat":1},{"version":"f22a4854da501581589462ab8ab67d1ffe7d40a1eef961f12cf50f04f024773d","impliedFormat":1},{"version":"cf840ecf6d5e70ac184ed2db77b76ddcc90a2671a10e445009dcf46bbf2d3b62","impliedFormat":1},{"version":"e0c33120f2909ec13da5623c940351896b7599c151b36652a59d582ac4a60228","impliedFormat":1},{"version":"8109063db4edb419af0fe70241bd2f8b09f0c2e4a2cf9bca0482e3150c8a2c7a","impliedFormat":1},{"version":"2a4315b8b6710449f9c6d6edc89cfbb92656b506041892b378c6c8fc3b7aa400","impliedFormat":1},{"version":"d142624899ba2fcc9867b836149bf380f20cf472a5419f6ddb685c1a4bb2123f","impliedFormat":1},{"version":"d49a2811b9782d2bbb51f3828dbff29a266d0375422ffd2008290f8a8dbcefb0","impliedFormat":1},{"version":"7d194ef85fc529c41556658bb2132d059b901cf2d784669a2de5142665841e1e","impliedFormat":1},{"version":"758462bfdd5286521a86b89657bc1b22495f39507560a7c4859fd5321b90873a","impliedFormat":1},{"version":"666a19079e45916f373b3aee42f3016692109bda253e3aa533628c7984626969","impliedFormat":1},{"version":"e18a8b6016e6079f3e6072da076c3e6ce1dd14e9870f9fcdb02c77d0df56e10f","impliedFormat":1},{"version":"6f4577c261a33c7cda23c31ebe96abfb752b84875107d887fb45b689aaab591f","impliedFormat":1},{"version":"68ed87e104b4d93557e78cda19814c958247c21a46ea0ade01b97a49ed3a04ff","impliedFormat":1},{"version":"07d7e53924e4048e23ea3c2ac39eef332f200c40a808f980785c6ff6837437c5","impliedFormat":1},{"version":"a3ac5c28c6638c006c8c08a3970e54717f556424dea72b48c780c3a7654dc8c3","impliedFormat":1},{"version":"bc47cdc983e9e53cf6b0a9afc8a7ed5870f305e26a1c8c2cde7b9b5f7e7c17c9","impliedFormat":1},{"version":"7c26c9292ffe1e6cd500ca7c2a9b05c60cd4f14cc448c9a1dbbce0115aa224cf","impliedFormat":1},{"version":"beb5edf34b7c9201bb35f3c9c123035d0f72d80f251285e9e01b8d002dc0df75","impliedFormat":1},{"version":"52124f927dfdf1e5da9071c34c3d9a324788ba08925368a149e5213546dccfd4","impliedFormat":1},{"version":"e16aa5ee53134e5935b3f6b4d0271d76fb74b293eb21e22324a2a0e373fe3300","impliedFormat":1},{"version":"e552130d7d49731d16365b4d0b52bc3490c280e946b702403648e3c4d4ebfa3b","impliedFormat":1},{"version":"af7ddd1cc6649a936fe4ccd4cbab19be4e6f200891b21a85a8a83184645b2c97","impliedFormat":1},{"version":"9ad6c4be6e417e58362cb18f2c6a07cc9f3ee14fb178afb0ad92354ab369a94c","impliedFormat":1},{"version":"0c6514cbb7ebad5f11795d73949f3dd75958815d8b4fae59159aa489f135c4f7","impliedFormat":1},{"version":"4b3c3eecbd6a202196657da67f8d63fb300b1f4cfc3120609c28e59fc8b4427e","impliedFormat":1},{"version":"0c5c15c6fa329c0c3020d2b9bfd4626a372baedb0f943c5f8b5731fab802da4e","impliedFormat":1},{"version":"810ea75f2be951600569b38299a57fdf6013721fc9e40d8588b12d3bde57adf2","impliedFormat":1},{"version":"5573ca9fa776eff37bfa901e839ddf063ad2e876831a124cd0ff6e2b7b105ade","impliedFormat":1},{"version":"6a1e9ca07648a8ef6dbb611e1e93923c2155d91e2be3f31984f74c0098e1cda2","impliedFormat":1},{"version":"c03f6401f9fc9bd9038c1127377cbef25697116a3b95c0f28ec296076cd0fed5","impliedFormat":1},{"version":"6a786d3e7f5f9d50ac5c774f440cbbe974e6c66e4a953648af3c0ad463178223","impliedFormat":1},{"version":"e4a86483f52f3d08dfe69c231a051b6c1044e79e7193f80b52bccd11d7f252f0","impliedFormat":1},{"version":"89f00e35a09d867885264b24039e4e390e9a616c2b1ba73aead49f0645170167","impliedFormat":1},{"version":"96ff9deaf52b679a21490b2375b6023f21f01c5daa415112862c3c886f6d0632","impliedFormat":1},{"version":"823eee0447e0d0c4671f4ca89f7b5f8bd609b353ee4635c98b631441f0067b37","impliedFormat":1},{"version":"b6e0277eb6f7f764a3ea00b9b3c650b5ebb69aae6849c322b5b627e5f926a216","impliedFormat":1},{"version":"41682402ed20d243a756012f952c399fcb60870acd17652521a4298fd4507343","impliedFormat":1},{"version":"4aa132e059dacfc51cdc33fa4f807abde80bbd0b1fdcdac488d23305a03ab379","impliedFormat":1},{"version":"d376eaf3f2378bf5284545197d0355137d1cc900bd0b76765e381ca5e37d24f7","impliedFormat":1},{"version":"325060545391e0ee693b2a972b374a55c9abf18eff6277ad42e7a29b9022e5a2","impliedFormat":1},{"version":"0f0f3c13ce0a8d041422919e0089910bf5e7def9bbcdcf0d4d10311a2b2787d7","impliedFormat":1},{"version":"3ac5d50f1f1c95405eb72a4230b1bc83cc743474a78e336669200479c03b414e","impliedFormat":1},{"version":"93013bd48f7be700ae7d7e0c34bc033785ddfac380ce4bb2dca7683704920d58","impliedFormat":1},{"version":"eb65e93c3597e597892b805275aa60c7158734d58c4407c9c2d384e08eca3739","impliedFormat":1},{"version":"e053cb480571cd2f06fd4b482e416023f1f34fc5ae5779735abb39ddd5dba23d","impliedFormat":1},{"version":"d176cf2c1237243105e40bd06bee14acb9bbda3fd7a9e3f0d7770084e4326158","impliedFormat":1},{"version":"7150b7b4375cc347daa65b2abde328bafb9fe3e0f11843ff560458be69a2327f","impliedFormat":1},{"version":"f4979e8176f45fd2af8e9c23622524645cada58ffe08ecbc8bfc2fc458cd2029","impliedFormat":1},{"version":"87b1d4495a5d1618848aaebd72cc9af7631b2e62f08e85d9dda90590d14757b5","impliedFormat":1},{"version":"5c5b20707f157894a4cf7339560fe1caa0717ca5a39c97fc7ed29103926bf345","impliedFormat":1},{"version":"68aafaf52b5490e853da2c167e5077e9404e511c5ce7773c43ebabdc26f890f2","impliedFormat":1},{"version":"f38fb1c0a48829df6832411a4907bbf8dd82ed71390ce4893fdf6f1f0e5dd08a","impliedFormat":1},{"version":"a89c6aca351cab815887f5af8f59c9aa311e15d5ac21cb41dd4a8291dce8cee7","impliedFormat":1},{"version":"3444353044f5e04f9283a4d9690898626ee34d0e4568774e8dfd8cbb205b2166","impliedFormat":1},{"version":"45db8a765dc206f0d6a833b50c087db953fde1bad5ab2086e6b405f6a9a4e448","impliedFormat":1},{"version":"c70d66e2188d5e934baa895db1e014e240671db256b8b4567aefbae171599ba8","impliedFormat":1},{"version":"d619dd4fd8e1a72f2d447c26b9d054c6e0cac0f5d11347d50229759fe0b051e3","impliedFormat":1},{"version":"aa370a6fc6d9ff67202409250764237a38b81cc04df31890cb553ade8848d5be","impliedFormat":1},{"version":"0dd7804b4fd9c5479c0350c764e7b234a6fc50841e9e9d37e6925f19b1986d61","impliedFormat":1},{"version":"f9e2d1176644fd007cb25b885e1b48680df0d3eb74c60072984ad9a30e6407d6","impliedFormat":1},{"version":"5fc75fe33557c1ec5d16598512c75713f6e2f23af2eece45f11024f41897d077","impliedFormat":1},{"version":"ad73c95ccffc1439d04520958a1f41e3ceab8399424d1311c6d1c8603da4fe55","impliedFormat":1},{"version":"1544f5696c2da2fb3657cea416de05f911df8b309b2ba95279af570d1368a4dd","impliedFormat":1},{"version":"1be9d12a91cd95a91ef1b793dbc11b70ca80ab66238a900e51286ca0fb2fea6c","impliedFormat":1},{"version":"7fc6c82eae4a0a3e0425b85c8d4e89f7a558cc9481a6945d6e1c53b41c249e67","impliedFormat":1},{"version":"4258d8fb8279d064ca8b8c02adb9493ce546d90419ba4632ae58eb14a7cb7fb6","impliedFormat":1},{"version":"cbca040801c7f1fcff5c3e29d23725757d70ebd88795e9fe5b1a5dbb06a9f572","impliedFormat":1},{"version":"b3fc782e5968ed7b764d8b502948ce4d093fb3c699b79c217e5d8f987625295f","impliedFormat":1},{"version":"caf196cad6faf28a04a633214c2e36ce515d5d24fd74c25f792b62f3defee5b0","impliedFormat":1},{"version":"40e925cb2f28b2cee51ac61834975fcb61142ca2b730cbf81c87b8d5aa111c48","impliedFormat":1},{"version":"8876ab57fb4b272ca5059a6e229cb1798dfe20566d1a631914e7b2e5364c5529","impliedFormat":1},{"version":"354b770772cb211687d6dc95a11020f8fffae477ace16c236ce63b714d27719c","impliedFormat":1},{"version":"4d7fd367ab9beef2aee30679ab3bd9ec00198507c08f0e0eb0353f6c9df42e4f","impliedFormat":1},{"version":"601331538f73dbbbdf865d5508dffcf172d3a345fa2731b2a327b7d9b37e9813","impliedFormat":1},{"version":"3ffa083da88679f94bce7234c673fcbd67c0001b0856c9b760042b2e1add5f08","impliedFormat":1},{"version":"c61bec1d381d3a94537e8ac67c7d894aa96e2a9641e7b6c6ec7b24254c7336b1","impliedFormat":1},{"version":"4c6f94efb7f9d4f34d9e7a2151d80e2b79963a30bac07352cb4e2a610b93c463","impliedFormat":1},{"version":"f197a72c55d3d0019c92c2eff78b2f3aab143d023f0831aaf06b4a528ac734b8","impliedFormat":1},{"version":"d6040270c0ed2c466c9d4fcc20d01eddd607ff589126edb0c923966a74d35c2f","impliedFormat":1},{"version":"174834865f27ee63be116cf7252c67b42f1144343efccf96ddc38b3254ffdd60","impliedFormat":1},{"version":"57fa785e9330221c0cc17ea880842469cac556df892b88bde5b84210427275ca","impliedFormat":1},{"version":"654d87dabe3bde9a6dc185b0e592728dfd5dcb250c09390e05dea27bc0cf6e05","impliedFormat":1},{"version":"bf8d985fc022d631ca8e07c313aa8257aab72843600965edf8b71bbaf790816e","impliedFormat":1},{"version":"22632341762a793e74d850c68e363cb44a49190514eb8a602dec805f0022de11","impliedFormat":1},{"version":"469f145eafac81b725762804e5115079e925432a1cee7ca6474afb1eaeae957f","impliedFormat":1},{"version":"d8d80cee8a0304e13a1e10c82c59e6c58601e1795a962c15ff8a70005036a65e","impliedFormat":1},{"version":"3d53ae8093941fd1e73069e22923e22e07ee6f3cd1f3acaad981831896f309de","impliedFormat":1},{"version":"6a37d31e829363e42d2c9ea33992e5f72d7132cbe69d3999ebb0ec276a3f220d","impliedFormat":1},{"version":"bad1a84baedfd6e34353db65f9e8dcf62c1dab6974bb7e7cbf3175b71181e68c","impliedFormat":1},{"version":"06c9ff76d57f08ee25dcb3d17da952c32645de6578753b1eadf7bcf38c865482","impliedFormat":1},{"version":"ace0b3104b38c72d3b419ef63e9cf2cc67c6e8d74c4c2c0766805b0304f90493","impliedFormat":1},{"version":"dfbbd2888718ed9322cb11ffa93dfa112ae04b9049e7a88ea90bb191eceaedc6","impliedFormat":1},{"version":"5a3d42d4cde9d8f72910df5f64eb479b7e6ceac3541ecba6e599fbd3d0682f4f","impliedFormat":1},{"version":"fa4b2b13eaedb94b33fac8b8aec5176d7d2060bd1d953a651c187fd1f75e94e5","impliedFormat":1},{"version":"88536d645d9532b2def693ae1d73507d99bcca5d474df07351ae0ad3805e40dc","impliedFormat":1},{"version":"b22ce67d8165eb963e4562d04e8f2d2b14eeb2a1149d39147a3be9f8ef083ac3","impliedFormat":1},{"version":"18662f19cd845e75735447045b2239c481a184cf1053f95803cf2b7386dabf46","impliedFormat":1},{"version":"b3e0e511a59924e0d89df3d6b36c8faf157ddfc5aacc2a1b28cd6b6259b2f505","impliedFormat":1},{"version":"e523455e1d8b4e6e19da3493e696206d69d50643307e22f90e1325a3d49c2b94","impliedFormat":1},{"version":"830e86d762bb11796935d8014a1887da42167c667c88c3c6f2889da8d04f2141","impliedFormat":1},{"version":"f18bd9a0f7ae499af76b1e39243478899f09b02890ba9d9530c617ad561b1fee","impliedFormat":1},{"version":"b802f1d72349bd6ba037341a710a09add8679b859ea08ae14aa9e21d4972e2cd","impliedFormat":1},{"version":"f822c6938a5610cf468f265fbde1d47f7128dffb9996bdb181dde826c7e5af15","impliedFormat":1},{"version":"d68f20525ae9abe3a085826a692bcfecd5ff5342adef9f559cce686ca41b6f45","impliedFormat":1},{"version":"c6e45ae278e661a4228e2a94339d0b4b9af462ee9720ed6f784b3a77337286ad","impliedFormat":1},{"version":"12d5a54442b46359ffb1df0134bc4c6d8480e951cf1078e1c449e0e36550f512","impliedFormat":1},{"version":"ab608346618d26d52776b98bf0cb4617d30f8cec7dff6f503cdb3dd462701942","impliedFormat":1},{"version":"bbf86228e87839ea81a8bac74f54885255ed9d1c510465fadca55a7a6a3283ae","impliedFormat":1},{"version":"df71667fe8e6b3276ea5fe16a7457a9d18a3a3b30e0766d259bb8029de2a4ec8","impliedFormat":1},{"version":"b34ed5ec21dac2e66e304775b46334bf6fb481f450783a309e53f75c24dbc765","impliedFormat":1},{"version":"3e704cedac3d517520ca4c09f1d7bef22e22ea1498ac97f054309bcc3278558c","impliedFormat":1},{"version":"039fe2fc828ed5bc54fe6f5e79f6ee632cf46f9ceb73f8897b41f717ef62b5ef","impliedFormat":1},{"version":"71fe886db8cb12e11376512b6efdabb8cd96e4c2f4ad8ded5f56f69e8b4ae26b","impliedFormat":1},{"version":"78b0a989532cb9b1016dea7b266d61a9ff5df7588e21f546bf142bbadcab4b3f","impliedFormat":1},{"version":"e5383048a7261fbc6d6a92a813f71b5dbce2c9888d8488de9dcb937290ad3fea","impliedFormat":1},{"version":"cbf296365f5dda152e06d25d3a1a602ca6dfb88985b539e5b7c22582af21f080","impliedFormat":1},{"version":"5082bf4dc0bdd52c9986f74b60bcd7175d7ae725c47e52bbcdd9052b6d0bcc89","impliedFormat":1},{"version":"cc842002527d85469442ac0bb86ca87f8b06638c3dd302113f0dd1e2246d85ff","impliedFormat":1},{"version":"6db13dcb7310850962f428a68909212d10168a9f69b2126c05468c4cc3bd6678","impliedFormat":1},{"version":"a4257472201f865c9e110646cd23183bc5e9646067ab5a4c7a299ef61472e1e7","impliedFormat":1},{"version":"f67c33db397851720be7dd5486dcd0440186fd62e3f9bc8df992249a86bba18a","impliedFormat":1},{"version":"e8193b31aef5ac0ded76bdbdb2492e46a712c562c7f117be5394dfb655a87918","impliedFormat":1},{"version":"44ed745d493f40340bef9e6c5602214f62165aabc49ae9ca1f1d9be848ec994b","impliedFormat":1},{"version":"366a02de58af1cd7cd081e97fdc6a64d44a741120e470712f98f5cdbc2558ea3","impliedFormat":1},{"version":"d69da5ed404cad095d48aa5b3bf0108424c998680f1d37fbc59e9bff745b30c6","impliedFormat":1},{"version":"260c761225625eba7408a265f77b1e199e9beae4725c722bf0f2952c2ef68081","impliedFormat":1},{"version":"6a3c3b3852c7b39b4b596bb3901e28ee03133154ad27c9cd1d20f1eb160795ca","impliedFormat":1},{"version":"c7b2399d36ef76eba067eeebec5725406778b85e515a3b7cee34f38775ba0e95","impliedFormat":1},{"version":"0929059dae143a1c68ef847b4c9c1a16e0337959de8d930e26d403df9cf1ae4b","impliedFormat":1},{"version":"1568edc789998b4186f70f5e6825b89c4baf90095a00e3f8f94ec52f7b75cbee","impliedFormat":1},{"version":"a8ffecbac87229515fa19630409bbd78bf2c2abc2f83ca38f11d281b4c0db40d","impliedFormat":1},{"version":"eab8a32518514b5898c3219e1ecf132b6492d8214ab3f895b0112ea15266eb62","impliedFormat":1},{"version":"f1539a941db422140ba02fed80db5f03f2efe4d6c9edc7473302b7df3f9e3035","impliedFormat":1},{"version":"bc747047f10b1f0228452f2ba0e77d641aeeb80104251bd6fe597893180208bd","impliedFormat":1},{"version":"f74b2243dab7450133a50670682ffc90ab67059ee7ce31dbed7834519af1459f","impliedFormat":1},{"version":"5e05c2323e1a66d6e4e160749e5b41ff5816c3c042098f42a502bbca254ba2b9","impliedFormat":1},{"version":"d3d08060421f4c5c6ee366aae6de7ffe373188b61048a741e15d84c85f526e8d","impliedFormat":1},{"version":"fdc7c80234f3514e6684ba92d76eb8a3f7f421d7afed8c8c5a4e38ac5c09dece","impliedFormat":1},{"version":"80257cd2ece1777d51e36c904699c4cfc7ed056b6a762e486ba8bc411a8da37d","impliedFormat":1},{"version":"5dce7d9cd377b913ed73dbb686bf18c4b728ad9f32a4601de846a23594a2d11e","impliedFormat":1},{"version":"28be11d27ebbc9bbbdd94e004d3db0d40dc151bd60d13df72bfd3a79ff69d8e5","impliedFormat":1},{"version":"999775b2bc11417c326c367309953e216305660358625ab31a7afba0be1ba0c2","impliedFormat":1},{"version":"dc0a3932753b9eeda746fd54979fee92a02b23809f4ba8ed19c752b57b023335","impliedFormat":1},{"version":"6ba01c5f3fbefad3c5fc491091f5be9efdb24b40e520f71571e027f404620f99","impliedFormat":1},{"version":"b27a5fb7acf576ac9d2a9a93b657e76f11bb73a9509325bc8ef83e951b094e40","impliedFormat":1},{"version":"c8b92744506502e035112cf548559892d4940585842401f2848e7b50689da487","impliedFormat":1},{"version":"fec0e7056aea3e3ceed3f02ac0591d5c45589e19ebd517b9a1cf342678be5721","impliedFormat":1},{"version":"13ca006967d1b7c79a20b72a5f5fe7faa2d96771ba7119ecb993e7afc3fe9e65","impliedFormat":1},{"version":"b2b93c1c0d3b1b80ca87a83255be90913035d4ea29b7575427815c7042c1a447","impliedFormat":1},{"version":"5dcf68b529709161444768647090f94d19dd50310cd937f3732865d83164dc2f","impliedFormat":1},{"version":"2c691e55704701592428bf00a01339d687af8545bf94edfb016f4ade29976add","impliedFormat":1},{"version":"177ef1722b05cfbcd5f36d58b529ed9fd14896b91f0fbdde12c6cb24a4e86801","impliedFormat":1},{"version":"a532a3d0aacfa039251135169c939e316ba51dfbcaa9f1c6f20cfdfd767c14e4","impliedFormat":1},{"version":"d2f25b7bf88a2031886183815236d9d05a5b2d32d5cc74636090445c7f6e9626","impliedFormat":1},{"version":"3abcd183f33d9db1fd8adc3ef4032e8fb3165954fc9b17521a0940233323b3e7","impliedFormat":1},{"version":"cd1921d97970e5be2d75b6ec5f4c9334b6cf23ee2f167bbacabdfb3c1d6e5752","impliedFormat":1},{"version":"c9b781a244b97e7031245fe35be8fca013ea16098b7a554634f4d12a85d33b35","impliedFormat":1},{"version":"35813b1e4442d1c73fb0df6dd1f16fe20987aa0b6cd1ee4f218c8aefde423523","impliedFormat":1},{"version":"dbb79e35d3f70517fb93f35078abb9eca4291cd22e16cab4bf141bebdefb6cf3","impliedFormat":1},{"version":"0abd81979f09e230d5929fda1ea77512a60cedbc7b4a565c397a4704a987c455","impliedFormat":1},{"version":"f59869ad0db7e49bfd5021fec738031bcd4386623ada5666cf80facc0357c700","impliedFormat":1},{"version":"76439253e23d96777dde88a1a8fc86a0d364b5406f642f14f6cf4a3d91bd3575","impliedFormat":1},{"version":"e9041a6552706b5a57b447b4afad0870ecbbc5dc36ef7ef8ffcd46c95f416aa1","impliedFormat":1},{"version":"c16b36187b90962c7c50228305257490d519768f4f117bbcea79c11eafc89540","impliedFormat":1},{"version":"debdc7421eaed9084f90c4149f094bb832bf3f833ae5f084cdb7596428cf1512","impliedFormat":1},{"version":"89365f73fe7140cea87799bafbead01266076314d705ac600169fc4e00b342c8","impliedFormat":1},{"version":"c9749046b5bf685ca57a23a9579dbf9aec0320f2d293d2c11d1d489fd87401a4","impliedFormat":1},{"version":"c91142cf2edcfa66df568dd16dae1dd2e1d2b23b3c68c0ef0dc6aa7290b3e824","impliedFormat":1},{"version":"7258729034dd466294076442c084ca2794e5bf6a18881696b11f9befcdd1146e","impliedFormat":1},{"version":"2797ccd33391c4f6bf44985e6a8cde38b0b1b5c7b38872d05ff1cf32f2f27c5b","impliedFormat":1},{"version":"2877ff863af41e84f20c108409c6c69b06a61bad3e07a6ac2279455282db866b","impliedFormat":1},{"version":"21dc554aaf7291955838936f07a8d78dbfe08585d63ff707f66b4e03aabcd4fb","impliedFormat":1},{"version":"0e8341398f41f27df2cf714c4306706d2d50f30ce8961f351d99b4b124d9a65b","impliedFormat":1},{"version":"1ab3b857ad816e17897010a7abaf69a873219e8cf495350701b5688d97562696","impliedFormat":1},{"version":"00edee5f99654b9387949790be7db3713365fd7a6a681419d7b5bd65b2ad84b2","impliedFormat":1},{"version":"3b268a41864c0ad19b51a7400ab96e4635bb97ee087431ec50c095e3cdd55254","impliedFormat":1},{"version":"4e0cd765b1da5dcedde856a357f2301e88bd0e7bd96f0fcf518cda918b99063e","impliedFormat":1},{"version":"4ac2c2dada287d88fb886e6e846026d531b8921e25c84de8882b6822b28e6db8","impliedFormat":1},{"version":"c72be05efe1a05c15adcb43b0d02580da6220ad4efed22f14e2f5d4ae215f4ad","impliedFormat":1},{"version":"baeb5b10d303c1a423431fbb13227a9a7697e68ee3c26988d602a3fb21d52cdd","impliedFormat":1},{"version":"eab31256b097694fc71488c406a24f4fd202a51bc780a3b6c9828b98ea25c362","impliedFormat":1},{"version":"32afc6399293b6f02842c4d4adba5bae6bab865bba3c68bfb10df06f11132e96","impliedFormat":1},{"version":"bd87a5ca2da958ed091a2790078a4113795999df57855bbc715b0653f79cc297","impliedFormat":1},{"version":"a3c1beee2c7c8b30a8968ff9a7ea7fcc7ab9af665df1e1d50e36e51f57bec4ea","impliedFormat":1},{"version":"1929f416abeeb29d80dc448d6d3c145125b023c1d988b30eea1df6fa5c9df8a2","impliedFormat":1},{"version":"061c489268c2c1050fea2bda080d9f342f2a5b4562e20ef86698c0a65c2e26a7","impliedFormat":1},{"version":"f3e7892784b7d862ec0a3534c7c87048b9c1ec30aed3cd6255f817b528b38691","impliedFormat":1},{"version":"06fb392429982e597298a8d4a652838e358dfa764e288592daa3c03529c81314","impliedFormat":1},{"version":"2aff3c969f006ea2fa84da1525ac184a84fe2e4eda593cee8847f764555141a3","impliedFormat":1},{"version":"69792d8faea92295395ad1b8c98adc90dde979c7e4cfa98e2c617fe5eaa6400a","impliedFormat":1},{"version":"a044eb1be8fc48a259a7f988c44bd23eaceb6dc65a84782f32e9db77c22793d0","impliedFormat":1},{"version":"0b815def1afe22980cbde6c2fc814b80c70d85a3c162901c193529e68212ac62","impliedFormat":1},{"version":"a2ac1778dbcd36c5660067e2bb53cb9642dd1bab0fc1b3eea20c3b5e704abdb7","impliedFormat":1},{"version":"c43ec0afd07a8c933fbc3228333a40ec653d6feae74561e0409c1a6838cd1bc3","impliedFormat":1},{"version":"c6b58be9ad789430aff7533750701d1bf7de69743c97443ad0eb2e34ac021aea","impliedFormat":1},{"version":"94044fa21380382135c76eb7de8dc50348f37b2ae87d97b9bd726adfead28c66","impliedFormat":1},{"version":"7cf8b7e877a162bbde841e7aa46d2e8ea477cef7b51fd3c575646bdcd52040ad","impliedFormat":1},{"version":"04c1f616c16ab14f485f00b8a9061edb49a7cb48d3dfdf24a9c257ae25df2023","impliedFormat":1},{"version":"791e53f4962819a309432e2f1a863e68d9de8193567371495c573b121d69b315","impliedFormat":1},{"version":"85de5c3f7ad942fbb268b84d4e4ca916495f9b3e497171736e6361d3bf54f486","impliedFormat":1},{"version":"edade900693968f37006614c76b04573ac5f6c01c1adda98b8584f51956ea534","impliedFormat":1},{"version":"7f3b0ddd51e4fb9af38d5db58657724e497510110a13d80efc788ec2b57bba49","impliedFormat":1},{"version":"1a416fa77716007ce5f2388e651974032ce6dd16f542942847ea899c24d9a84f","impliedFormat":1},{"version":"63c9d377adf66f0eac304ba29b7e8bb5ccab3b523ec1912bf41bbf12cad46b06","impliedFormat":1},{"version":"13876cb9c05af8df22376541ade85c77c568469dfe6ca2dfa100c3269b5d391a","impliedFormat":1},{"version":"017524481107a062d0d25510ee37db024c4007f9718c1e8ebfc462e1f3e6546b","impliedFormat":1},{"version":"098eef14e558f01293630398a08a566e832c8e8d6b749c135ff193f35df6c66b","impliedFormat":1},{"version":"bb01f143bf00edd5de84b065b5afbc5290574279d499308848d58bb4984263c0","impliedFormat":1},{"version":"f3bfbefa6cda3441281aaf48154ef4a1e99e406b8c35cf58bc2625d43d8733d1","impliedFormat":1},{"version":"ae396ddebb22bbeeff4fc82310c6d2d03533e863062133fea2a53b536978d679","impliedFormat":1},{"version":"d17e548eb914cecbf7319b7e3951804938bfd471c35523745e49b0a92d64dc4b","impliedFormat":1},{"version":"95e0dfc89614f2615053951a0223dc2e366fc2c5a324c13bd21aed43a7ce76db","impliedFormat":1},{"version":"e0b648fa6bdfa8e24ee2e77d1a544d50f39539d339e05285d4641618cc85162e","impliedFormat":1},{"version":"84e3c6e1cbe8fcb78e6d9cc4fdc5c53cf9717120cf5825c004b6cbb2b3522b55","impliedFormat":1},{"version":"095af94d1b06f8c7099240174c5221128e7b4e89be1e82966bfd288dac95f7f6","impliedFormat":1},{"version":"e0c650c644fa032243b09c0c419111757dbe65a2410c57cf5166fcfe8ec9a306","impliedFormat":1},{"version":"b069fcfcdeaf8cca75c459c2dba1145dbcd59a60e0dc7bb6cc8147d8601ddffe","impliedFormat":1},{"version":"6a50e3d12e9ca5aef267205c603ef4dde26423b37949f01e2e9500392fe6ae05","impliedFormat":1},{"version":"72101dd1dc549e97baaa3160d929d367705179a8df778a6901271a6904f35c43","impliedFormat":1},{"version":"0ddab6fa84c76be6c82c49495d00b628610fbb3f99b8f944402e6fe477d00fea","impliedFormat":1},{"version":"87ffb583e8fd953410f260c6b78bb4032ae7fb62c68e491de345e0edcf034f93","impliedFormat":1},{"version":"0d6270734265d9a41da4f90599712df8dfc456f1546607445f6dcf44ebb02614","impliedFormat":1},{"version":"9d3d231354842cd61e4f4eac8741783a55259f6d3a16591d1a1bbc85c22fce2b","impliedFormat":1},{"version":"95444e8d407f2b3e4e45125a721f8733feb8f554f9d307a769bba7c8373cc4bb","impliedFormat":1},{"version":"230105e3edca4a5665c315579482e210d581970eb11b5b4fd8fa48d0a83cca43","impliedFormat":1},{"version":"c0f23f635c51467286dce569148edac352722f8dcee352aaa82d439173ff5057","impliedFormat":1},{"version":"6baeccb6230b970d58e53d42384931509f234a464a32c4d3cdb0acbf9be23c82","impliedFormat":1},{"version":"1ef785aef442f3e9ddead57ec31b53cec07e2d607df99593734153bd2841ba1e","impliedFormat":1},{"version":"b8b323fe01d85e735ecd0a1811752ddc8d48260dfc04f3864c375e1e2c6ee8b4","impliedFormat":1},{"version":"b49d558ac56d28e458a34f2b3c3d4e56ac91db0850589ced007ac6bfcfcf8710","impliedFormat":1},{"version":"a5b4e137d91765535722de59a2e560527a77a6c54b4559cfe46536c6f371965b","impliedFormat":1},{"version":"f58d62e16a77d607555de33ce02c0c24b1c6be45e8809371da2ddf0996711dfe","impliedFormat":1},{"version":"1165bc45f052eef16394f0b5f6135dfc87232ce059d0d8e1c377d6cdbf4bb096","impliedFormat":1},{"version":"40bb47052bd734754cf558994b34db7c805140acf5224799610575259584cf6b","impliedFormat":1},{"version":"d41ce4340adfc1c9be5e54aa66c9bb264030c39905afb3bd0de6e3aca9f80ef0","impliedFormat":1},{"version":"b153fcf424c3bbbb3af054585b9d8388909269b9fce17a62b1d9ebc5d5b94014","impliedFormat":1},{"version":"dbc643e42b5e84bf2b29dbb43c8d7845fec56f1fd2c009e501f59f5d90ce1df3","impliedFormat":1},{"version":"0cbd47f72edd2107a181b760d81b337948b38ffac0d3579b936b1ee448ce2b0d","impliedFormat":1},{"version":"e73265a974c5ef21dd0ac0f3d20189871aeb76cd38f6a2332f6088cfacd6ff8d","impliedFormat":1},{"version":"2933d5b06457edcd34bc76d65a19140b16f828b7e852f6f1a07d760a2d0f5700","impliedFormat":1},{"version":"b1f0d9f735a44746fc9cecb3a7bf3ca126f7fbc889f00f6639a17c0c6084e8d2","impliedFormat":1},{"version":"837ab7516e5d6b9fc4cbffbcd76af945f17a32b37703e6b43739fb2447e0c269","impliedFormat":1},{"version":"220a0608983530eb57c83ebb27b7679b588fdfcae74a03f6baf6f023c313f99a","impliedFormat":1},{"version":"d66a1e8d093d2fdfca0a8cd3abda133485b96f105444d9328b143706de6f0e6c","impliedFormat":1},{"version":"576e197b88932ee86f3e772061f828ca718d27c040d078425cd30bc9d0e2f873","impliedFormat":1},{"version":"37f1c5a1745c3e14d51864c3bc11db3db6f387381308dad4070285c312e045d1","impliedFormat":1},{"version":"c36036b85f3c2addf406b3ff0c064e97b3f37eceafd3c39c68aa2a406b71b9c0","impliedFormat":1},{"version":"785dea0c5263f2b923d501f6dc21b949beb165ec2096b61c4d3e5f87e3782948","impliedFormat":1},{"version":"e1995b8f6efcacb597757d831d2b62c766445e8c3d6736e6a900adfcd1f2062d","impliedFormat":1},{"version":"07ce493ec6947a668e1759beacb3bae93a969c599890f8b2dbacef7c4c42a7b5","impliedFormat":1},{"version":"4319178f50ba03e707b9be9c91a55b70ba0c32f3221494ced1f76b33b0189ebb","impliedFormat":1},{"version":"5ba9e3014bd661db8fbc2bcd4678cdbb3811623af5e46c6202bc612f84e140ef","impliedFormat":1},{"version":"e687191bddc59e11508784cb14253f0ca8033331b7b2dec142cd1920dfb55bff","impliedFormat":1},{"version":"f98e2d059aaf3588be83385ecfaefb1ab5101a6a1ce48505e7232a9a11b5a127","impliedFormat":1},{"version":"8c1586a4a59ccb1c74ba32a776462128fd83eeac7e4df2681659592c958b7435","impliedFormat":1},{"version":"1f3e8a0e346b23658e83ee6d20727a0fc9876faa5a1f227c94f5612fc8bf9035","impliedFormat":1},{"version":"5e88ce5ced9a009f76b4d2deb0b00d403e86d54c64d309698c4f447f8af756cd","impliedFormat":1},{"version":"283f3b773da04e3a20e1cdccff5d2427ee465a1aeac754f5516ad1d59f543198","impliedFormat":1},{"version":"8426ee0766091376cf487d0365429d31cd737885e93007c4a93e2e7cc6790944","impliedFormat":1},{"version":"38140bb660a84513cd18e3dd73bfad35d982fcef94dc73f7625366e5cc7013cf","impliedFormat":1},{"version":"ab831387fd4452274967bcaff49d331200ecb98df23362225e5e350cbea8cd06","impliedFormat":1},{"version":"520e75f608cc7ea36d80d639d70ca09d7c6467247bf80eda487ba4d3dc656826","impliedFormat":1},{"version":"4b4e0b1c3ed5e3ea3e34e528c314884c26aa4da525dba04af41e8fb0afe10c52","impliedFormat":1},{"version":"5b06394e29458c6ce0ec2807a86cd8e0a415b969c4ab9f89339ea8a40fa8c1a0","impliedFormat":1},{"version":"a34593c0e757a33d655847418977cda8b2792e3b3432d6ef2a43a86fda6d0aa9","impliedFormat":1},{"version":"2df5cd8f15e09493249cd8d4234650bd0ab97984e53ddcf35d5ffd19a9c8d95c","impliedFormat":1},{"version":"fff5b5e7ca461b67b296c20c538752054eb08db3249bab80d1e260d22f6e2b8b","impliedFormat":1},{"version":"d230d62ae7c13e5a0e57ca31b03cfd35f5d6de5847e78a66446dffb737715c3b","impliedFormat":1},{"version":"7b3697570705e34a3882a4d1640d0f21d30767f6a4bc6d3f150c476e30e9f13a","impliedFormat":1},{"version":"4b88891e51db60664191a05ad498d1eff56475ae22945e401e61db54e6ea566f","impliedFormat":1},{"version":"26deefe79febba4c64b6af45206dd6ed74211b33e65b7ea3c6f5f4a777cf1cc3","impliedFormat":1},{"version":"33cba11a791c2f78cafb27b652767dbbece2591def167e94ce76b394c79e210b","impliedFormat":1},{"version":"21f1ef5a379ff332f908b519d3390628348783723ae0b3a53eab8879680c2f2d","impliedFormat":1},{"version":"25217da56dbbd1a612b1523049cc8a6598da81b444ef6db05ecdcba7badb1cf8","impliedFormat":1},{"version":"f91e1ddab3cda5e19360ab53bc12239a102a4251fd48ebca0c8206c8a8a8df4a","impliedFormat":1},{"version":"67393d5e32ec4119c640a6d464c98e5a5c9d8a6a776dbc8321dc9655408f7ba7","impliedFormat":1},{"version":"b9d1f1ee0f4b92e6414f54ab4fdbc31c0d7d424cd07a50f4aaca0f2307ddd297","impliedFormat":1},{"version":"2f3f9a5cb4821452db29e2c5222e2aef6c4e9b8c2389ae4f2000efa13aece39d","impliedFormat":1},{"version":"c1556feb26d8ffe99af0c2c411efa0c15347f21fec0786c746a394a7b3f0f38b","impliedFormat":1},{"version":"fba44e215687bab53ebc3f5f06d86abafbcad900c2f30c4aa7b757a1e2c83eee","impliedFormat":1},{"version":"f4f4f2ac2c85a3592545acc11005f548131ab71f3bb665f22effe4a012b92e46","impliedFormat":1},{"version":"ce4ebd3b64bb7a809edaedd16af649d74d512935dfecb9ed2890f184c6d80421","impliedFormat":1},{"version":"2c531237450cdfbff4008f8a9a8e220dd156a599177cf9681a9c0e1102ede5f0","impliedFormat":1},{"version":"318f242e400269593e2ef9d58cbc16ce0f28753b2e0133ab2f14c20cecf5627d","impliedFormat":1},{"version":"18f7051506429cc0f768e5b6d5b6fbcf84ee6061a13d17ba1a87b6c422fff87f","impliedFormat":1},{"version":"e97e14f2b6261619b8ce730d289dc833eed70fea2f56e8f78aaae65e439e219b","impliedFormat":1},{"version":"20f8c1a3437002fd73283c608cbdb974c2350959c63566d7283299e6240726d6","impliedFormat":1},{"version":"290f92f979e202318c10c533f72b08177073c2a8dde0a3457ab4ea3187bae64e","impliedFormat":1},{"version":"1dfdd8086c7ceebff179d82d25f4abdc784b18fd5d4db9ea68107d54a9019da7","impliedFormat":1},{"version":"b257fc5fdd1bb2e39c21d2f4b91d9ff01d05ec22ffbc90338bdca320305c0051","impliedFormat":1},{"version":"32599f2b9d584c7e08e53ae572aa8ae54cc6ba52becc170f8592ee412a751a1c","impliedFormat":1},{"version":"e315e50add364d5c866c4ef710b66bd82f8233725a663b285573bfd4ab24db2d","impliedFormat":1},{"version":"c8b0cfe8430c466b1b91494845a56748fe28d6038f4307679463e9e232e9e292","impliedFormat":1},{"version":"78ef6ddda03845628cfb3b3830dff308c6e97452e71428217172b3af9bcf8fb5","impliedFormat":1},{"version":"ce24f76047dd08da4c27b6331fdc1cb6fc28904f405cc2f8eb3003a478d20337","impliedFormat":1},{"version":"206daaf25cbbf28e00cc0d929dcb9a768cbcebf47928e8d44464de47e4bc2524","impliedFormat":1},{"version":"daf84df325239641e025bd0c22e990927d34f257678f29025815f41daea2fcfc","impliedFormat":1},{"version":"d0b72fff69b59130cc6fc5626461c76c2ae4ba857f5750fe1163e2b00ebf4d2f","impliedFormat":1},{"version":"5be8bec899bb9720067b20859ee1aa4cd77a311e8e56eb7042a1e1e7fe492adb","impliedFormat":1},{"version":"b543f702122a4af3f63fe53675b270b470befdedbfded945f3c042edf8d2468a","impliedFormat":1},{"version":"cb14f61770a3b2021e43a05eb15afc1353883f8a611916a6fe5fab6313f29a87","impliedFormat":1},{"version":"6d00fb60c7e85d0285844c3246acdbd61dcf96b4b9e91d4eda9442cf9d5c557d","impliedFormat":1},{"version":"ec060450f2ba4c6eaa51be759b0fa61ba7485b7bbde4ac6bc9c01d47c39007c4","impliedFormat":1},{"version":"b832e38135a24b4eafb5050a0e459d5621d97d1598e3eb2b098869352d71b5c2","impliedFormat":1},{"version":"3f26ffc1b39a916e73b20ee984a52b130f66ae7d7329c56781dc829f2863a52a","impliedFormat":1},{"version":"97fadc416269ebbbe3aa92ee5f19db8f6b310f364be0bbf10d52262ce12f6d2a","impliedFormat":1},{"version":"94498580225a27fb8fec1e834fb2a974916916c46fb39d12615a64484f412c68","impliedFormat":1},{"version":"6d29d5b80d237cb622cf45ab8ff6b6876b61a4797455c72c56d4dd5df5c12960","impliedFormat":1},{"version":"110c30dea76a18ea1c8d1f980601db2b3300571ad00ec025b26858f7b45ebee7","impliedFormat":1},{"version":"769b47b13af06bdc5ac041b559690da8223a519d42508944b4c98eb6cc0ec934","impliedFormat":1},{"version":"bf2319665c8c69517cf89377765d2d3af231cf559cf1080aa37ff15015e9a4eb","impliedFormat":1},{"version":"b8cef6e390e7911fbee7f4246eab425cd1f3e626684472521dccbfb38118d1ca","impliedFormat":1},{"version":"5ab43a0a068a9039237aed0a5093c9554baeed727177f3657e3de762119bb96a","impliedFormat":1},{"version":"67220d0e0f450914033987a55f80e310fc3523c029377dd79d6cfd6c77f1b06f","impliedFormat":1},{"version":"a57f2bdc227a3f0b293b50b782e05f9530300f4694593efa1b663ef018f232ba","impliedFormat":1},{"version":"45ea575b839cbb9fa26936e7ce454a858e6d49ae556b29ba035960ee45a32876","impliedFormat":1},{"version":"d19eced46b92ea366f8ea66f6b6e02bc3abbae65d28437d87a8c22486530f4b7","impliedFormat":1},{"version":"69f537de6387ebfd4e5e17ef5edcaf3ed967b9b2ca316938348bda0e2b907586","impliedFormat":1},{"version":"3880a0278c1c935e06b49300ffc091fd722f82f018a71f0d0b9fd302a1a44252","impliedFormat":1},{"version":"fa3d90c8a0b0bc27a28d95104412cf3deb43bc6e97c5851887e7c643408aab65","impliedFormat":1},{"version":"f9b21b02be2c9170361809c9023304e63e3f2de7040a660da04a3e85ace807a2","impliedFormat":1},{"version":"01aee7686162f433bbb88354416ae684d9db1607a51886804e5826e063c9ffdc","impliedFormat":1},{"version":"62d3ef6a4ba6bdec0083533d0e794841370bdc6db39a7494cd0671e6cb707859","impliedFormat":1},{"version":"8609aa95007ff71195d12c68dc405f22bbb9b87ac954d2faf33f5e162de09466","impliedFormat":1},{"version":"829e988fd6fce09a6b43f2e8d406b88c3a77829bcb4636a1fc9f1c2d2cf1a292","impliedFormat":1},{"version":"4a7936ceb36333420c0819c07b0909e8507f15689387c18b51dc308c8eca5972","impliedFormat":1},{"version":"13e88c78bb476b3bbafe9e917d58fbfc5fdaf2ffc1f8781e29583c3ec4c475c0","impliedFormat":1},{"version":"550df32299fca9250a7c3969cf43e695ef25ece8ef9ea67320ddf25d0f44870e","impliedFormat":1},{"version":"39248e5c8d993cf56705b739f649c97afcadee7ffdb4cd658ddf8809887751f8","impliedFormat":1},{"version":"a4943f4a4f51f45d60ea63373218bbdafc72eaeae888e0e33ec794673ad23d47","impliedFormat":1},{"version":"a801e2946b1bac807ef023b8d590dbf04c022e36b49afea9d3bd872a26b7336b","impliedFormat":1},{"version":"9e8bab0289b06b455ed18cfde794ed1eef4cf350ccd00e6a63907f8303754d5f","impliedFormat":1},{"version":"e9f662d3776b1c5b725747596bf4df2b9319131044927e73ab77a6ff44f091bb","impliedFormat":1},{"version":"d0f5db2bc91d8f845db76baff5fa6f62292ecbfc167b78ec5ff75da5bfd5ba3e","impliedFormat":1},{"version":"53c2531013baef4e1aa0e5ab5d34fd0f63fee313a3b7d0a54a0deb4121078c18","impliedFormat":1},{"version":"718d63c433fdd03909cf1e489aec287f000c431cf6f5b090a862605c3f0f7830","impliedFormat":1},{"version":"ab9fddfef297dbf96d74b5295f9c83da745054404f1f82f872b5d18f7405ecec","impliedFormat":1},{"version":"dbfa8af0021ddb4ddebe1b279b46e5bccf05f473c178041b3b859b1d535dd1e5","impliedFormat":1},{"version":"7ab2721483b53d5551175e29a383283242704c217695378e2462c16de44aff1a","impliedFormat":1},{"version":"ebafa97de59db1a26c71b59fa4ee674c91d85a24a29d715e29e4db58b5ff267d","impliedFormat":1},{"version":"16ba4c64c1c5a52cc6f1b4e1fa084b82b273a5310ae7bc1206c877be7de45d03","impliedFormat":1},{"version":"1538a8a715f841d0a130b6542c72aea01d55d6aa515910dfef356185acf3b252","impliedFormat":1},{"version":"68eeb3d2d97a86a2c037e1268f059220899861172e426b656740effd93f63a45","impliedFormat":1},{"version":"d5689cb5d542c8e901195d8df6c2011a516d5f14c6a2283ffdaae381f5c38c01","impliedFormat":1},{"version":"9974861cff8cb8736b8784879fe44daca78bc2e621fc7828b0c2cf03b184a9e5","impliedFormat":1},{"version":"675e5ac3410a9a186dd746e7b2b5612fa77c49f534283876ffc0c58257da2be7","impliedFormat":1},{"version":"951a8f023da2905ae4d00418539ff190c01d8a34c8d8616b3982ff50c994bbb6","impliedFormat":1},{"version":"8cfe5ad847a1e073099e64ce97e91c0c14d8d88aaefcff5073aa4dda17f3067f","impliedFormat":1},{"version":"955c80622de0580d047d9ccdb1590e589c666c9240f63d2c5159e0732ab0a02e","impliedFormat":1},{"version":"e4b31fc1a59b688d30ff95f5a511bfb05e340097981e0de3e03419cbefe36c0e","impliedFormat":1},{"version":"16a2ac3ba047eddda3a381e6dac30b2e14e84459967f86013c97b5d8959276f3","impliedFormat":1},{"version":"45f1c5dbeb6bbf16c32492ba182c17449ab18d2d448cc2751c779275be0713d8","impliedFormat":1},{"version":"23d9f0f07f316bc244ffaaec77ae8e75219fb8b6697d1455916bc2153a312916","impliedFormat":1},{"version":"eac028a74dba3e0c2aa785031b7df83586beab4efce9da4903b2f3abad293d3a","impliedFormat":1},{"version":"8d22beed3e8bbf57e0adbc986f3b96011eef317fd0adadccd401bcb45d6ee57e","impliedFormat":1},{"version":"3a1fc0aae490201663c926fde22e6203a8ac6aa4c01c7f5532d2dcdde5b512f5","impliedFormat":1},{"version":"4fbae6249d3c80cc85a1d33de46f350678f8af87b9566abce87e6e22960271b7","impliedFormat":1},{"version":"d36c6f1f19a6c298a6e10f87d9b1f2d05e528251bbe351f95b1b805b42c2d627","impliedFormat":1},{"version":"a7f590406204026bf49d737edb9d605bb181d0675e5894a6b80714bbc525f3df","impliedFormat":1},{"version":"533039607e507410c858c1fa607d473deacb25c8bf0c3f1bd74873af5210e9a0","impliedFormat":1},{"version":"b09561e71ae9feab2e4d2b06ceb7b89de7fad8d6e3dc556c33021f20b0fb88c4","impliedFormat":1},{"version":"dd79d768006bfd8dd46cf60f7470dca0c8fa25a56ac8778e40bd46f873bd5687","impliedFormat":1},{"version":"4daacd053dd57d50a8cdf110f5bc9bb18df43cd9bcc784a2a6979884e5f313de","impliedFormat":1},{"version":"d103fff68cd233722eea9e4e6adfb50c0c36cc4a2539c50601b0464e33e4f702","impliedFormat":1},{"version":"3c6d8041b0c8db6f74f1fd9816cd14104bcd9b7899b38653eb082e3bdcfe64d7","impliedFormat":1},{"version":"4207e6f2556e3e9f7daa5d1dd1fdaa294f7d766ebea653846518af48a41dd8e0","impliedFormat":1},{"version":"c94b3332d328b45216078155ba5228b4b4f500d6282ac1def812f70f0306ed1c","impliedFormat":1},{"version":"43497bdd2d9b53afad7eed81fb5656a36c3a6c735971c1eed576d18d3e1b8345","impliedFormat":1},{"version":"5db2d64cfcfbc8df01eda87ce5937cb8af952f8ba8bbc8fd2a8ef10783614ca7","impliedFormat":1},{"version":"b13319e9b7e8a9172330a364416d483c98f3672606695b40af167754c91fa4ec","impliedFormat":1},{"version":"7f8a5e8fc773c089c8ca1b27a6fea3b4b1abc8e80ca0dd5c17086bbed1df6eaa","impliedFormat":1},{"version":"0d54e6e53636877755ac3e2fab3e03e2843c8ca7d5f6f8a18bbf5702d3771323","impliedFormat":1},{"version":"124b96661046ec3f63b7590dc13579d4f69df5bb42fa6d3e257c437835a68b4d","impliedFormat":1},{"version":"0e7b3f288bf35c62c2534388a82aa0976c4d9ebaf6ebe5643336c67ed55e981d","impliedFormat":1},{"version":"724775a12f87fc7005c3805c77265374a28fb3bc93c394a96e2b4ffee9dde65d","impliedFormat":1},{"version":"431f29f17261cff4937375ff478f8f0d992059c0a2b266cc64030fb0e736ce74","impliedFormat":1},{"version":"20064a8528651a0718e3a486f09a0fd9f39aaca3286aea63ddeb89a4428eab2b","impliedFormat":1},{"version":"743da6529a5777d7b68d0c6c2b006800d66e078e3b8391832121981d61cd0abc","impliedFormat":1},{"version":"f87c199c9f52878c8a2f418af250ccfc80f2419d0bd9b8aebf4d4822595d654f","impliedFormat":1},{"version":"57397be192782bd8bedf04faa9eea2b59de3e0cfa1d69367f621065e7abd253b","impliedFormat":1},{"version":"df9e6f89f923a5e8acf9ce879ec70b4b2d8d744c3fb8a54993396b19660ac42a","impliedFormat":1},{"version":"175628176d1c2430092d82b06895e072176d92d6627b661c8ea85bee65232f6e","impliedFormat":1},{"version":"21625e9b1e7687f847a48347d9b77ce02b9631e8f14990cffb7689236e95f2bb","impliedFormat":1},{"version":"483fad2b4ebaabd01e983d596e2bb883121165660060f498f7f056fecd6fb56a","impliedFormat":1},{"version":"6a089039922bf00f81957eafd1da251adb0201a21dcb8124bcfed14be0e5b37d","impliedFormat":1},{"version":"6cd1c25b356e9f7100ca69219522a21768ae3ea9a0273a3cc8c4af0cbd0a3404","impliedFormat":1},{"version":"201497a1cbe0d7c5145acd9bf1b663737f1c3a03d4ecffd2d7e15da74da4aaf1","impliedFormat":1},{"version":"66e92a7b3d38c8fa4d007b734be3cdcd4ded6292753a0c86976ac92ae2551926","impliedFormat":1},{"version":"a8e88f5e01065a9ab3c99ff5e35a669fdb7ae878a03b53895af35e1130326c15","impliedFormat":1},{"version":"05a8dfa81435f82b89ecbcb8b0e81eb696fac0a3c3f657a2375a4630d4f94115","impliedFormat":1},{"version":"5773e4f6ac407d1eff8ef11ccaa17e4340a7da6b96b2e346821ebd5fff9f6e30","impliedFormat":1},{"version":"c736dd6013cac2c57dffb183f9064ddd6723be3dfc0da1845c9e8a9921fc53bb","impliedFormat":1},{"version":"7b43949c0c0a169c6e44dcdf5b146f5115b98fa9d1054e8a7b420d28f2e6358f","impliedFormat":1},{"version":"b46549d078955775366586a31e75028e24ad1f3c4bc1e75ad51447c717151c68","impliedFormat":1},{"version":"34dd068c2a955f4272db0f9fdafb6b0871db4ec8f1f044dfc5c956065902fe1c","impliedFormat":1},{"version":"e5854625da370345ba85c29208ae67c2ae17a8dbf49f24c8ed880c9af2fe95b2","impliedFormat":1},{"version":"cf1f7b8b712d5db28e180d907b3dd2ba7949efcfec81ec30feb229eee644bda4","impliedFormat":1},{"version":"2423fa71d467235a0abffb4169e4650714d37461a8b51dc4e523169e6caac9b8","impliedFormat":1},{"version":"4de5d28c3bc76943453df1a00435eb6f81d0b61aa08ff34ae9c64dd8e0800544","impliedFormat":1},{"version":"ff3f1d258bd14ca6bbf7c7158580b486d199e317fc4c433f98f13b31e6bb5723","impliedFormat":1},{"version":"a3f1cac717a25f5b8b6df9deef8fc8d0a0726390fdaa83aed55be430cd532ebf","impliedFormat":1},{"version":"f1a1edb271da27e2d8925a68db1eb8b16d8190037eb44a324b826e54f97e315f","impliedFormat":1},{"version":"1553d16fb752521327f101465a3844fe73684503fdd10bed79bd886c6d72a1bc","impliedFormat":1},{"version":"07ea97f8e11cedfb35f22c5cab2f7aacd8721df7a9052fb577f9ba400932933b","impliedFormat":1},{"version":"66ab54a2a098a1f22918bd47dc7af1d1a8e8428aa9c3cb5ef5ed0fef45a13fa4","impliedFormat":1},{"version":"f3c511e1d8b463dc37eaf777b0a620cbd4dd2fe448a16413dc300a831c397b91","impliedFormat":1},{"version":"bf22ee38d4d989e1c72307ab701557022e074e66940cf3d03efa9beb72224723","impliedFormat":1},{"version":"158c190bebda38391b1235408b978e1b2b3366b92539042f43ae5479bfcb1a5e","impliedFormat":1},{"version":"271119c7cbd09036fd8bd555144ec0ea54d43b59bcb3d8733995c8ef94cb620b","impliedFormat":1},{"version":"5a51eff6f27604597e929b13ee67a39267df8f44bbd6a634417ed561a2fa05d6","impliedFormat":1},{"version":"1f93b377bb06ed9de4dc4eb664878edb8dcac61822f6e7633ca99a3d4a1d85da","impliedFormat":1},{"version":"53e77c7bf8f076340edde20bf00088543230ba19c198346112af35140a0cfac5","impliedFormat":1},{"version":"cec6a5e638d005c00dd6b1eaafe6179e835022f8438ff210ddb3fe0ae76f4bf9","impliedFormat":1},{"version":"c264c5bb2f6ec6cea1f9b159b841fc8f6f6a87eb279fef6c471b127c41001034","impliedFormat":1},{"version":"ff42cc408214648895c1de8ada2143edc3379b5cbb7667d5add8b0b3630c9634","impliedFormat":1},{"version":"c9018ca6314539bf92981ab4f6bc045d7caaff9f798ce7e89d60bb1bb70f579c","impliedFormat":1},{"version":"d74c5b76c1c964a2e80a54f759de4b35003b7f5969fb9f6958bd263dcc86d288","impliedFormat":1},{"version":"b83a3738f76980505205e6c88ca03823d01b1aa48b3700e8ba69f47d72ab8d0f","impliedFormat":1},{"version":"01b9f216ada543f5c9a37fbc24d80a0113bda8c7c2c057d0d1414cde801e5f9d","impliedFormat":1},{"version":"f1e9397225a760524141dc52b1ca670084bde5272e56db1bd0ad8c8bea8c1c30","impliedFormat":1},{"version":"08c43afe12ba92c1482fc4727aab5f788a83fd49339eb0b43ad01ed2b5ad6066","impliedFormat":1},{"version":"6066b918eb4475bfcce362999f7199ce5df84cea78bd55ed338da57c73043d45","impliedFormat":1},{"version":"c67beadff16a8139f87dc9c07581500d88abd21e8436c9e9bf25f2ee39c5b1af","impliedFormat":1},{"version":"1f4ee0f727527241dd8d9d882723c9e0294e4a1fffba0c314039605356b753e9","impliedFormat":1},{"version":"85af5f2145b5f284dc938f239b201e8f2939b741d91540b0a9f6f143440adf42","impliedFormat":1},{"version":"f1b346754b2ea845146fe89ccafc326de1bc87092565fa7b67164456d86dc623","impliedFormat":1},{"version":"d8806304f06bb16076ff86eb7b5ae106023aa82bdfe69f41550319ae46aaf9d3","impliedFormat":1},{"version":"03e845df3ef2c73d5e76489c06a9573755d2c9073565f5390ec3d3567096aead","impliedFormat":1},{"version":"bed8763cce562a67587c6afee3a6efb2612cdcf51f9e7d9df3c9527975a874b2","impliedFormat":1},{"version":"945b24de473c8358a16f724e3694cae4011dccd107bdd98aaceef905b26383f1","impliedFormat":1},{"version":"66ffe172e7a3879d606421c19f6f0dcd607527588e277621c686f2f3675fb2ad","impliedFormat":1},{"version":"cc2418937183b4354a3bf621a5d9a8e11a490fbceee71f46515058f039c7746e","impliedFormat":1},{"version":"56dba2f61eaeac928ef53a9c4b6df96df33834f0b8d39f59ac820bc4f0b65f5c","impliedFormat":1},{"version":"51f46a0707c0cd677bc896df3c346aaf904dca121287af8af8c2f45cc0a50111","impliedFormat":1},{"version":"0a286df5310eff7c562740361952bb36f8897481853975b81333c9d3af4ddffc","impliedFormat":1},{"version":"b11f2358fd669aec8fab0283d99b8ae7a88c56799aca0928678e341152bfea42","impliedFormat":1},{"version":"e6cff4ba5a315b8485f9de49dbaf6f31c4d539bb371b2f038affae83116030bd","impliedFormat":1},{"version":"eb2dfa05982869eadf8a3e151414ad4e1055b530c9aa867e87ad480ee962966e","impliedFormat":1},{"version":"4e076ca8e9f92d236c9cccd5d8bced6cb9ad89f83670843d9c6decaccd916b58","impliedFormat":1},{"version":"97e8c3a9ffa71c62eb745f3eeb41d493e42127baca20b7cd03e4a53702e99254","impliedFormat":1},{"version":"e1341ec42f67ca9c2f1ebb27fd5c16ca7959422475058f974eb1ce74ba4a998e","impliedFormat":1},{"version":"8e3c06f91dbb164b0497240bbe750f310e03ea95360a89d3a840fa2bb40da55c","impliedFormat":1},{"version":"5541a9b0dd50d84496773ab6172951eba8f821b821eb4117f34ac000d1c982fb","impliedFormat":1},{"version":"4c51db514a7d694254dddfe9bf33818cfbe8f46cb2b3b034026ee36fd780c817","impliedFormat":1},{"version":"a52898df8c6ff0c9d822f530d3cbd73aee500cdf066241c3c593bd377c0153ac","impliedFormat":1},{"version":"d9b427063b8800f7cb8d3352d4b30b4f50ead4ca518a60a1f311d5ad94923bee","impliedFormat":1},{"version":"cdec09a633b816046d9496a59345ad81f5f97c642baf4fe1611554aa3fbf4a41","impliedFormat":1},{"version":"5b933c1b71bff2aa417038dabb527b8318d9ef6136f7bd612046e66a062f5dbf","impliedFormat":1},{"version":"b94a350c0e4d7d40b81c5873b42ae0e3629b0c45abf2a1eeb1a3c88f60a26e9a","impliedFormat":1},{"version":"2d106b4756f7fe13ab6f32f792db972c2ac8a6302df73522d75cf0edb37e4e2e","impliedFormat":1},{"version":"a8328cc543a4bfe4b840bf346db20567fb291f735d43079ea96ff82d4d395673","impliedFormat":1},{"version":"bbd840ccd066c986753f0b466b72e77a0dadcebf6cc10fb67a307e48cee8f304","impliedFormat":1},{"version":"f218c747145eec6830f8e0efc8d788987f67fce6dabfcb70bde3560bf47d0511","impliedFormat":1},{"version":"f13c9631dc6452116f3a986087dd9a7821b22deeb0c786b941d1483b35189287","impliedFormat":1},{"version":"31cad7c76b79529ba8c65d806fe37a373921a1616fe346b1d5f6a457b51dacb7","impliedFormat":1},{"version":"abe8ed4f045e751a0adc03058f397ac19426d761ac1421f8bf0d71f57bedf1e0","impliedFormat":1},{"version":"94d8bc3c878752ee289d7c3f3549f32881e29fcc561c8bf9d9f2cd67b558ed93","impliedFormat":1},{"version":"1302c0cd47ecaf89fc7ddf67dc678f45d123e8923c4ad6f5659e70106e12f658","impliedFormat":1},{"version":"429ac276218b289820898ae3b2057ee418c6d30c968d1fa17851b2063122899b","impliedFormat":1},{"version":"c054c65b05b4bbd7fddddeb6386d2fecfeeeeddcc2a12590b5077ba50d70cd6b","impliedFormat":1},{"version":"3960170989120c4776de46353f760dc83e625356120c9f4ec551a100bfad304b","impliedFormat":1},{"version":"bc44b2513c84a33e266847c801394368876d1e855ba93838ac9d107195598df7","impliedFormat":1},{"version":"e0411a8eba9a71e0727bdd25f34c1505568d7ddbc622091988cef96b7973f7e9","impliedFormat":1},{"version":"a79bd2b1b47affa2b04e81b5fa1eeb5b3bed005a29cb8f6693384d0ed13504c8","impliedFormat":1},{"version":"b7a7069af620fa5b7a5bd249a043b8eeae2274721bac3d68a8cf3f703a9c4587","impliedFormat":1},{"version":"ce50480d7c6640bd01057d12317d862de7c0f961af0234615a78f23875ac4be5","impliedFormat":1},{"version":"f7bf9f3168452dfa62955fbf0b74ae447dc1b117b3144ffe8efab04c68f8f800","impliedFormat":1},{"version":"bd0e2cafab15c571fb590736e6a0cd6a9d13d12b66fc58e2eb2870774ffabe84","impliedFormat":1},{"version":"aa9a80428c275bcce3ef886f726084ad858678cdd8fbad418c044f449c8eb42c","impliedFormat":1},{"version":"09a7b3e963e5fc1cd24cce8eb15f52bfd45890f398afeff8aea4e67031458719","impliedFormat":1},{"version":"c44144f85aa10bc78e421ef0c9fd94bce75c6006bc6dd007a96dc39d811e26e2","impliedFormat":1},{"version":"29eb3afed89c7362edc4c490a7ce5437079a5d7cab7f56b2728fb503e266c6ca","impliedFormat":1},{"version":"eb7732b37c8dca895b809443ed21841f75f3d61de5b3b37eb0db2c795bceb6aa","impliedFormat":1},{"version":"901716549627e07fb0e37968cfba8bab25df470d409376e19ea69ef06409dd3e","impliedFormat":1},{"version":"a1e8ec7e9901514002cebcf3b0eba3c9e5b6a043d4507d3c0e0f11917d570d95","impliedFormat":1},{"version":"07ea97f8e11cedfb35f22c5cab2f7aacd8721df7a9052fb577f9ba400932933b","impliedFormat":1},{"version":"5119cce0721ced2f2b5270c04ba804f30f1635d226f4ae3c0eadf22d6e958743","impliedFormat":1},{"version":"6f4ae9af76ff5b43bd067f1ef590770b0db24b8a6a894998e01ba1a5eb38809f","impliedFormat":1},{"version":"7ab2721483b53d5551175e29a383283242704c217695378e2462c16de44aff1a","impliedFormat":1},{"version":"6474d6a61082099b4b210e6a6afd214ccabe4d80a3abdea70c9d7aae15068537","impliedFormat":1},{"version":"27ce1a41b94846902fe7eca29f0ba6363ed04dc06efe8a7af3728b5232a97515","impliedFormat":1},{"version":"26e66acb9b89a141bae7efdef7c953e0bc81b2728a57eb595aedf04e68cda150","impliedFormat":1},{"version":"d21c3aec01d5b6f361a86c26967f5a648a377f49836e05e5333cf5ff00a9f637","impliedFormat":1},{"version":"d08f308ca261247f7f028cb3d7e1ccb69fe7072b7b2a8dfc1acc0a0486fcd10a","impliedFormat":1},{"version":"0d65250cfc0a084baa749f9d00d0d772fb4ddcac6e0542ca33b61da515b65ddc","impliedFormat":1},{"version":"675e5ac3410a9a186dd746e7b2b5612fa77c49f534283876ffc0c58257da2be7","impliedFormat":1},{"version":"e9afcce3239c30d44ccac7c6b03651ecda88f3bb3103cd4ca3296adbc2911d23","impliedFormat":1},{"version":"cc8d1de1eae048fb318267cc9ddd5a86643c46be09baa20881ab33163ca9653b","impliedFormat":1},{"version":"d6025465105bae03153679b3241805998316f492a6a449f14cd8b92489c2a6a9","impliedFormat":1},{"version":"63de4f4c8ff404aa52beaa2f71c9e508d9e9b3250b2824d0393c9dcfee8ab8d6","impliedFormat":1},{"version":"27b33e3a7a19563752b13d0973039240b549ede107009dc02866e12c5dd2273e","impliedFormat":1},{"version":"48609767cd72c5b4714dc76f3ab7bfe1c54c245d4fea5bb5122b631d9a8ae963","impliedFormat":1},{"version":"aa38161f21b8d8df36a40ba62496d19f044434d5e342fcbec6f80f2717ae0fa1","impliedFormat":1},{"version":"1b394779a7ff7c4056536dc8b49170ceb3daa9d9b2b6d8d702e6a21473d7a811","impliedFormat":1},{"version":"ab5bd0327397d28a7bbae080187a5f981e9a0f41d274d9fe5b418e39e7c0cd0a","impliedFormat":1},{"version":"8b739839a1a28745dd53ca3eb0a0a79b334301e79359df73844c92c8a69cfa40","impliedFormat":1},{"version":"d32fe18875f1ad3820db2bca677f6db05ce266d46c6618ce576020fdd6591d7b","impliedFormat":1},{"version":"43497bdd2d9b53afad7eed81fb5656a36c3a6c735971c1eed576d18d3e1b8345","impliedFormat":1},{"version":"b13319e9b7e8a9172330a364416d483c98f3672606695b40af167754c91fa4ec","impliedFormat":1},{"version":"7f8a5e8fc773c089c8ca1b27a6fea3b4b1abc8e80ca0dd5c17086bbed1df6eaa","impliedFormat":1},{"version":"d2c19aa3fe2b5fab220c5f1e911ac5a936ad771a9c5cd3d00d1e868112ab97ad","impliedFormat":1},{"version":"3f7081ce9e63775009f67c7fc9c4eb4dcf16db37e0b715b38a373bad0c07df69","impliedFormat":1},{"version":"f33a817efd81360832710b7752dd93e1e67dd3080fa014b12d17d20b9917d2d6","impliedFormat":1},{"version":"5c37b7e2b41f0a8af443cb1d589c171e0dcf0dbfbde2569632af87f24e5ea893","impliedFormat":1},{"version":"3c6996872edad15df0b78d12c642f3ccd151f4b216a9c872a38f5801b8df8b63","impliedFormat":1},{"version":"6ce479524605ee48d167b3ba4b4b44ee06b5edcc9b71ad6407777cf8f9643dd4","impliedFormat":1},{"version":"50c433561b0b917cf214bd86b5346de6234a0760048bb8ffc286373ae9548203","impliedFormat":1},{"version":"876ff08a2db2d5d66b900d15566a3f1cf5023d3556da9ef6a4fcf0d6aeda21e1","impliedFormat":1},{"version":"bcd3257c5486e9c4572ede5089524f899824dd86fd910f5b826d6838019b745e","impliedFormat":1},{"version":"b3714a8ac47a66c5ab9550abad8876b5602d7a9d83faee7ffa971d5e17bd2c07","impliedFormat":1},{"version":"2560aa5f4b51225768f5eec439412a670116ee96be4b19eccd59690dde0beafb","impliedFormat":1},{"version":"7bc0fb778fdcc3d1eba3bfd7010a74244ff4de9baba379d45378ed0630970d5c","impliedFormat":1},{"version":"49e5e465f7a061803a36d4f26554b4ecdd3b4a75ad77d202d9b94970fbf9b7fa","impliedFormat":1},{"version":"e344e8b89dbf7bba35faf600248fed5c0aa48d1ec85af1ae7ce4015563653454","impliedFormat":1},{"version":"cec6a5e638d005c00dd6b1eaafe6179e835022f8438ff210ddb3fe0ae76f4bf9","impliedFormat":1},{"version":"c264c5bb2f6ec6cea1f9b159b841fc8f6f6a87eb279fef6c471b127c41001034","impliedFormat":1},{"version":"92be6a76433892941111866419c3124103d9d19d923a81fcf4963df863f6d071","impliedFormat":1},{"version":"912ae77ae2c2c3300cdd2194d3ed9acc87fbefe80408f2c656d09e111cda7f2c","impliedFormat":1},{"version":"6766dcb09680fe3ca0d0e374addc5ee8133000d92e3e3a03fcdcbd104d71d23d","impliedFormat":1},{"version":"0485cda92b6d1e12a0e31b67dca0d4a8c9cea57a3c87b93ba748aff66de129a4","impliedFormat":1},{"version":"a619ee69c3af29569a737e4f89a5bb569c79a741d11cbf2206b73ed776577e50","impliedFormat":1},{"version":"3d3f372a7c11362286a8cf0785f7031a47ebcbeb8776bb14a484ffd6c6c993bb","impliedFormat":1},{"version":"af61ac9bff985df25a1470cac2eb57b4f04f704a49755ba7d4ea2f37542352cb","impliedFormat":1},{"version":"b21a8008baeb6e966aa2f287ee061d9cbe7d4b8643f1f96071da79ad8c4044ce","impliedFormat":1},{"version":"25ce1a008a22dde9d87f246fb6333326ffa25e97638b0fb089bbde98db162038","impliedFormat":1},{"version":"dd07494b3edca057ace378714d8c3a9a95c346bef6b718056ef1a7ee054e35c1","impliedFormat":1},{"version":"20b667e15cc2ab14000609214c2e560e540c822bf31b941fb4f15038e29ce605","impliedFormat":1},{"version":"a2901a2c60003b08f88adbf09eab8c387f4ce17751bfbe8ad59b73a1d6628734","impliedFormat":1},{"version":"a1ce92273694753d181dd7f0e7994c4e71e0ed0a4c8a3b1a4876d5709e7e87b0","impliedFormat":1},{"version":"3fed20104be1a20c52735d961b64f9a1decdd07748b7c35b4ac46aa8b2487883","impliedFormat":1},{"version":"976036b93354d9e2809d12a97d4b489a20a8098f06d02834764126ce71b02fec","impliedFormat":1},{"version":"68e20196d3296ce2ace8c5fcf6eff61cd607033e2804b8d13088eb23f38f83d7","impliedFormat":1},{"version":"ef50b70e88dd06c43a36110f6452eb274399654c77bb786c55bcfc58e8ab406b","impliedFormat":1},{"version":"0d32c4a5c28cccaacc760bd77605be8bef7e179b94818a513e96632077a9d798","impliedFormat":1},{"version":"6e727bbc5649553582173cf772511a06d036a4ac2cf9ef21957c8af0e7669432","impliedFormat":1},{"version":"d88ab1489097ec56a43f1a54f5aae863fa551b7880fbb7ac95738c31e522fcaa","impliedFormat":1},{"version":"72fc9bcdb1f07124dcb994d64e1514feda9a707cf80bf87fcf9597ae1d6ad088","impliedFormat":1},{"version":"4baf7a39de0af2ce60bf24a37c65ce8c2ba09be738834a92ae2a0808cf18bed9","impliedFormat":1},{"version":"bdd2b680797233e9645c1011cebbde4987fa9d21e92a61b555ed4690c57bfe44","impliedFormat":1},{"version":"a13c507f6ada820e362968e344ad7659afd558e2dd1c28dd2e2d69660e65b0f9","impliedFormat":1},{"version":"15daaffa8710627bdbc8acb01d2dca6d3008599f732e2ebddca1cb0e81301d6a","impliedFormat":1},{"version":"6c9779960bef81e8e52cc0a8046b369b8d1d355917f3944b394cce768166c9b1","impliedFormat":1},{"version":"369648cce6779f7524f014900c321d54e1b3e51fe3b4339956eb4b644dd2c1ec","impliedFormat":1},{"version":"3012abf69fcd0a123f860ead296e961820a916720e05af4f8d9afd8c76c7ae07","impliedFormat":1},{"version":"b1816ddd4e6d05d292e008b730e16ca7bb533d569d2bc50463a3c0a26fe5a2f3","impliedFormat":1},{"version":"91c33efbcfef94bb1c57ec34a1cbef5f5cb7f618b668edf21ef8c12820ad6f22","impliedFormat":1},{"version":"c79e32a5824de42113051526c4ca422c709adc5af59cdaa872becc7d67db9e2f","impliedFormat":1},{"version":"9d53115cc89d9a53a8739e0fb89d8147ff0719bc9151ce5f06be978f924ce541","impliedFormat":1},{"version":"a901268ccef541a32ee9bbb5e894215c3abdd399c88330d4ba02dda52b565da1","impliedFormat":1},{"version":"d97f61aa454c09026d827c6eb0167ac5c5db661e214d8a50e87abddfeac8d822","impliedFormat":1},{"version":"e96dc917d49c213d8ddb9eb28e5c9d1dbde2555ce565fbbb7556051deb4287c8","impliedFormat":1},{"version":"4910d65c8c49642e68d09ddb016488b22db9e130356c40fdea250bc7611d4340","impliedFormat":1},{"version":"5610f32d4a772d2ec704d19a6e488f92f1448543295b3ee61dcf74e9fa46faf3","impliedFormat":1},{"version":"488512750e3332ebc673ba30368af2a48ff735b61d70e5f4c56885bc81502510","impliedFormat":1},{"version":"e70042f617e0e0afecc02961eebff126a21d891ca0a48243c736385cac078681","impliedFormat":1},{"version":"d0cc19ab8c73d8ae77ea36af6d2cd9c3ba676f4b2515ce31627eff39bfb98caa","impliedFormat":1},{"version":"3f2542f11fff5c15b8304bc11440bc109a63700dd7c25f56ad843e519bc19a64","impliedFormat":1},{"version":"d7cc07052da5e906aa4ba7538afa6fdb8a265560feb7181afbf15261114bf735","impliedFormat":1},{"version":"4b9fcf61d3788633f9c441180233aa55a35b80a8793e7266e451726bc1f068a3","impliedFormat":1},{"version":"ab90eee34f8b89770059c0563ba52911a5710c57fecbdd69d3b8cb2408034a87","impliedFormat":1},{"version":"4b7ee2be595a4604d0d93f24b451e8b726e99db002fe395957f7d7169bf80f38","impliedFormat":1},{"version":"bc253412815953c66797b6c25bf50f2824fa89e7da4637f02e02542c536d44e3","impliedFormat":1},{"version":"6bd4dddedecf608a398948b7ccdd577709d2ef1e38b1b54cdefac21ecd5d8b0b","impliedFormat":1},{"version":"34c85e0b9ecb1eb38630b40a9f0682a04a6f01b48cef91a84a1fd4a75c5cd2fe","impliedFormat":1},{"version":"9751eb2b973ef42d6a82ca267d7d69a8f5cf32e9367200ec98a8b30eec517c52","impliedFormat":1},{"version":"e8b97248e5ea151d6e91ce33bfd0e818c1a699ecb9d6bac69dbfc4324e5252cb","impliedFormat":1},{"version":"8b268efb0c49011ef2a4450fd0b537f79fe44d78e0b40a5d1ede3de4eec2846e","impliedFormat":1},{"version":"ebc64809ce8cdfaff8617d53b98743ffca60c465b39f21bd88c320cffb6ac525","impliedFormat":1},{"version":"0206d6a896c3e0ea6493e37c336a5208fe175dbdb36a561ef707fd5936a00fc8","impliedFormat":1},{"version":"1fb71372d4ffd69cd5fa9827dc38336736e3891383716fe12e142fbdaf4fd842","impliedFormat":1},{"version":"0539e7dcef1edc97d9380b6049d5a4ef8ef8c8133a5602febd970c06413a30e3","impliedFormat":1},{"version":"8cd3e5ee9e30d714095c91dff08ae98fb883a7622199d34bd1ec6a682f085479","impliedFormat":1},{"version":"a50bb1e0b8e55f5bd4e314a265f864c898fbdf8e8f834da298d6d6d9be3ca825","impliedFormat":1},{"version":"9e24aba05882bc5f2dea831035dc78c1ac66cc42bd2235f2da6aaf65bac007ce","impliedFormat":1},{"version":"698a3416ce487bd0791358d7df5f996e9bf14dfa00e0181f8198ca984c39526a","impliedFormat":1},{"version":"107d632cd956af70ba6cef4171bb72b75e8d3ededc30f591e7b8d97678feadc6","impliedFormat":1},{"version":"ce4a8e66384d464ec0469dafb0925e3ff8bd6af437c84777846e133488c4cb3b","impliedFormat":1},{"version":"c872b7329674ad2210c9d3b2522d5d4cadf5cffd2c5ca62ef1a18ec1f2e1b30e","impliedFormat":1},{"version":"4aa262ee533377af3943db1effd9666795d1fb9901d8581d39c1b6a0a84d9722","impliedFormat":1},{"version":"d4e4287637c7999738bd087539a5ace51056e40c85b9d7b6b466a831ec12725f","impliedFormat":1},{"version":"0abf8f5eff9a5fd84334db349115d04a089a5f9691e4ed67627048751ec544bb","impliedFormat":1},{"version":"43c0c57f6fdafd6347c9d4f4de9d96aa2dd4311031c2c8a0f6632ea565fecfdc","impliedFormat":1},{"version":"81fc85f262ea5b2d1a25fe90d483f8d0d5a420de5aa1dcb8cbafac714a61e89a","impliedFormat":1},{"version":"3c7f18662fe8009316c923d17d1369b8f8b4b394e1915de670d4b8a2b2d609f5","impliedFormat":1},{"version":"839f4844367b8df7fde41f8e5f7e786dd403605bf3902852bb00ff326663efa4","impliedFormat":1},{"version":"43667dbe51bdb67469cbe6d32dd4ae46d334661078799b8cc2b6b0b420cf40b7","impliedFormat":1},{"version":"3dcd8780801a3a6bc1eb2b8ba231a0769a184860205192e75ba0dcf6c50aede2","impliedFormat":1},{"version":"f4a3ba0235c069c9da36ffab0194553167ccddbedcfd1b8322f7d05d8a58683e","impliedFormat":1},{"version":"7de72abaf1da882a87fbb801e0f197320ddbef2d25478ed62b00793c2698285a","impliedFormat":1},{"version":"6850c096e0a3af591106b5af9370c11849480bd9f128ff83677aaf7db6102f7b","impliedFormat":1},{"version":"13325ea1df70110200862ac733a40b4378619de7f5978c040e1d7661353e0232","impliedFormat":1},{"version":"dba820bb54ea381546394733fd626e4f201e25c7120dc015a40456255fe92b16","impliedFormat":1},{"version":"c766a45991ba8bf02bda29ed6e97f29f735b180d66a9ac8ddc6a96a6df41284a","impliedFormat":1},{"version":"5b979bb871cef894b2e0565e1d142b139a9e2e05cd7563444d2f8257066c45d3","impliedFormat":1},{"version":"a1b2dd46ff9915d2d7c7894c02634f03d91228f9523b630d52f568861cc6e215","impliedFormat":1},{"version":"b8daa0cd0161175591a5b756cd9bf3bc63be4b588a609edd9b5e99a1fc813a97","impliedFormat":1},{"version":"4cd3682dfe49841843535b4e89f51f7817d17211043eef8cbc9cb6c964729386","impliedFormat":1},{"version":"1cf4c41b8403123d15e7cb065695d1e691fbfc55b232c51c3efe7490de56f971","impliedFormat":1},{"version":"516a954c849e47cb86e2a8faf449212bf39edd9f048e6b29417d1192abc818ab","impliedFormat":1},{"version":"f375078d8b757fffbae36c15b22eec100486afca05c97718660f01dcd86b3ea0","impliedFormat":1},{"version":"9d1e92199367121517e7757ccf8272039026e239fe2f1ab46f60c4ed0623478d","impliedFormat":1},{"version":"13651522c8d78b4929804a925672e8e92bd0f449b6c26700bcd573e4f7dc338e","impliedFormat":1},{"version":"a344447cc50acdd5b8b1e2bbd8e6243d02c769933a93efe8984db9cf416e15d6","impliedFormat":1},{"version":"70e7e39c19df09966604643c8c97b2efccc19825f4c372b9fdbf2df52b4d708b","impliedFormat":1},{"version":"6ccbe0b599804292f415d40137fc9a2b1143c88cfdc7bf26d9c612fa81835c74","impliedFormat":1},{"version":"bacf49e8ada6acb41e41655afc46dd7d070011c44b8c62a2123e0d6402c02a05","impliedFormat":1},{"version":"a622328851bcf8bb37dc862e0c498c8acf0bdabf7df2b83b330d34ed07242413","impliedFormat":1},{"version":"e083f5318bff20be11a5427fcd1e53f738b8d473476e53d0cebfb615cc96cdad","impliedFormat":1},{"version":"be4634adfc66f5c016aa3e68eaa39459277fa72b92c84267bea7a67076323ef8","impliedFormat":1},{"version":"7151b8846bef245e328d424d0d91988474f6f3db19845a2604d24b182fcee913","impliedFormat":1},{"version":"c83729dafd0665cb850faa9a80336e2242753b981faf810af60e21c3de17cb6d","impliedFormat":1},{"version":"24365239ab44c048fe5e385abe2fe3e02c14f4341229ca7f368c094be911546b","impliedFormat":1},{"version":"cc431dc6d648b13865a14b4400fd89bdb96176b9eaaebc75cbe3f6b567f59be5","impliedFormat":1},{"version":"2cef71dafb2819bc9ae02fe54271c6a704516a5733116a82dc50a204dc39403d","impliedFormat":1},{"version":"5e286c586e00f9576df08f8d07aea04589a1ae6a47039ed3e25b746ce56be07b","impliedFormat":1},{"version":"a80b3ff36f5537f0c6c33f5da59a5968130256dfd1e4c3ef2badca2e0dbdc513","impliedFormat":1},{"version":"301a231c845cb0bb7e9997180ad9afea484c9688b4b259030c7170567f901821","impliedFormat":1},{"version":"f7e06e927f98c09e9840082a79ac76e146e431d74428f4d91f3da1041db78cce","impliedFormat":1},{"version":"b9edaf1420603a4f1c3fd394a4b027a61c46cfae0dd262e34a989a0e7503553c","impliedFormat":1},{"version":"4a6f9beb7d2625d055a166b9d4a8f68c2b28c3ecff7dbae89bd018c2a3a6f74b","impliedFormat":1},{"version":"7026085c3b00d1a56718bd4167d5c3082fef00e88843261598de3764b9998bb5","impliedFormat":1},{"version":"6c2c608986f8eb8920e0341c1a4f9387e8cedf85ffe90bd093373f4423929063","impliedFormat":1},{"version":"8cafcf37b663b6963b0859f96f55865e71b39b3fe9d1d6df6ccdb33ef6d15029","impliedFormat":1},{"version":"b57b06ea8ccdbc8fd2162d3d382dcfb89a7ca3620ac41b173ba525c211c8acb3","impliedFormat":1},{"version":"d72df95aa1a5d1d142752e8167d74805ae4d9b931a3292c3ac155123d150f036","impliedFormat":1},{"version":"13dfae6ae7a21c488f1b151ed65171376f7567af6555e054b70886cbfe3d64ec","impliedFormat":1},{"version":"864c14f7528692ef51f65aa6d9fe868578fd7ccb4741d9d9320df53b5cd8d540","impliedFormat":1},{"version":"ebcb070368315a661e4d8c7c899ffeeeec0c80e9c919433ecfc0bd273e46b68c","impliedFormat":1},{"version":"c1e5370b5aa3b4c2bfcc5c697359405c416a3cd2a8fc8dc37983fd6b413248e2","impliedFormat":1},{"version":"e048db22f3d05aed69b0ccfa3595d3938d64bafcb34f1c620c75c043b8f1ddb3","impliedFormat":1},{"version":"18dad4108a3c47eb60ba84db63ec5e316f84534cf5d16d661f38590fb2a7e29b","impliedFormat":1},{"version":"8cf14db674e144974a3065dd7b089b6f26366acd2341a5a8251f1a61f98fb5ff","impliedFormat":1},{"version":"7f60e050892b1d50e0aef53f9b4e71f1476791545827cb7d46828928b1569bfe","impliedFormat":1},{"version":"832818ee76c21953841e09e96746111036d81c4c43347514f3efe95d1a36b435","impliedFormat":1},{"version":"506f020d57f0533306ceea918d20b9750693bd41276100f39a13a88bfe51a356","impliedFormat":1},{"version":"6a54f042169c236a081d5b1a5fb4264a9f96a9da36d38ea1c1c70861516cee1b","impliedFormat":1},{"version":"e843fd50f7390f97a570f0c20a73b0f303ef9f0849229c53c6faf9d9d6a542d3","impliedFormat":1},{"version":"f60e3e3060207ac982da13363181fd7ee4beecc19a7c569f0d6bb034331066c2","impliedFormat":1},{"version":"17230b34bb564a3a2e36f9d3985372ccab4ad1722df2c43f7c5c2b553f68e5db","impliedFormat":1},{"version":"6e5c9272f6b3783be7bdddaf207cccdb8e033be3d14c5beacc03ae9d27d50929","impliedFormat":1},{"version":"21ac4cf3f8d8c6e1201cb31f600be708c9a37867fc5c73b7ccf80560fae591c8","impliedFormat":1},{"version":"0dfe35191a04e8f9dc7caeb9f52f2ee07402736563d12cbccd15fb5f31ac877f","impliedFormat":1},{"version":"798367363a3274220cbed839b883fe2f52ba7197b25e8cb2ac59c1e1fd8af6b7","impliedFormat":1},{"version":"6ded4be4f8a693d0c1646dfa2f1b6582e34b73c66ce334cb5e86c7bf8c2e52b7","impliedFormat":1},{"version":"5aea76ab98173f2c230b1f78dc010da403da622c105c468ace9fe24e3b77883c","impliedFormat":99},{"version":"6d23119f30c32c38641427d412d1cf04d0119d22b4b12016043e261e89291b5f","impliedFormat":1},{"version":"ccc141e8cef1778f472f5c926bf164deced9a1260ef8121338aa862c1e81d5ea","impliedFormat":1},{"version":"9b1323fb6eb0cb74ad79f23e68e66560b9a7207a8b241ac8e23e8679d6171c00","impliedFormat":1},{"version":"c91045fdc3c29b254f43cfeafa16352bd096fadc4fce049fabb27dcf10da3095","impliedFormat":1},{"version":"b29806c40b944edab3ae5074d535ce02a90a8e5a2dc95348ba7898bd8b6edb13","impliedFormat":1},{"version":"681dacd8d5d3ca833f7e0b9c5574c1f74c682fcac6da8a29604bdb953ca25f28","impliedFormat":1},{"version":"56dba2f61eaeac928ef53a9c4b6df96df33834f0b8d39f59ac820bc4f0b65f5c","impliedFormat":1},{"version":"9a6c138e2cab1b066e726e50227a1d9fa02be68f28402b59b9a7ef5a3a5544b4","impliedFormat":1},{"version":"e009f9f511db1a215577f241b2dc6d3f9418f9bc1686b6950a1d3f1b433a37ff","impliedFormat":1},{"version":"caa48f3b98f9737d51fabce5ce2d126de47d8f9dffeb7ad17cd500f7fd5112e0","impliedFormat":1},{"version":"64d15723ce818bb7074679f5e8d4d19a6e753223f5965fd9f1a9a1f029f802f7","impliedFormat":1},{"version":"2900496cc3034767cd31dd8e628e046bc3e1e5f199afe7323ece090e8872cfa7","impliedFormat":1},{"version":"ba74ef369486b613146fa4a3bccb959f3e64cdc6a43f05cc7010338ba0eab9f7","impliedFormat":1},{"version":"dd8e7bc9fe83f86f16e960b3ae0e43dcc6f92e8e657c70c8b49de45f735827d4","impliedFormat":1},{"version":"6ecab81e94fd8d2b6e8b7ab7fb887e2f116a6935e2a0828069d6b0b7c92aec17","impliedFormat":1},{"version":"6d2089f3928a72795c3648b3a296047cb566cd2dae161db50434faf12e0b2843","impliedFormat":1},{"version":"06767240be8807db054b6f050785761090321698540f30d125919fe47b2f6265","impliedFormat":1},{"version":"6ea62a927ac2607a6411804617e52761741fae66e533f617d5fbf3f3eff1073b","impliedFormat":1},{"version":"ac8582e453158a1e4cccfb683af8850b9d2a0420e7f6f9a260ab268fc715ab0d","impliedFormat":1},{"version":"c80aa3ff0661e065d700a72d8924dcec32bf30eb8f184c962da43f01a5edeb6f","impliedFormat":1},{"version":"42ac0a2d5b1092413b8866603841ce62aeaaf4ee51d07dd872e6a2813dd83fd5","impliedFormat":1},{"version":"ede1c79a89f65cc927cef2fe6f2ed052a78d12096edc0ecac9b92ca53cc3d8b6","impliedFormat":1},{"version":"ece1e5ebb02df1f9a6dcc24dd972c88b065b2c74494b3c475817b70e9a62c289","impliedFormat":1},{"version":"cdec09a633b816046d9496a59345ad81f5f97c642baf4fe1611554aa3fbf4a41","impliedFormat":1},{"version":"5b933c1b71bff2aa417038dabb527b8318d9ef6136f7bd612046e66a062f5dbf","impliedFormat":1},{"version":"b94a350c0e4d7d40b81c5873b42ae0e3629b0c45abf2a1eeb1a3c88f60a26e9a","impliedFormat":1},{"version":"fec98193e9fe88584a25a46c5ccbf965c70921aa97c0becba84b4875b22452d0","impliedFormat":1},{"version":"188857be1eebad5f4021f5f771f248cf04495e27ad467aa1cf9624e35346e647","impliedFormat":1},{"version":"d0a20f432f1f10dc5dbb04ae3bee7253f5c7cee5865a262f9aac007b84902276","impliedFormat":1},{"version":"f218c747145eec6830f8e0efc8d788987f67fce6dabfcb70bde3560bf47d0511","impliedFormat":1},{"version":"f13c9631dc6452116f3a986087dd9a7821b22deeb0c786b941d1483b35189287","impliedFormat":1},{"version":"a239ee6317594257766506b6f2bd04c16e2f7f8fd4695ccd97545c7d0648ce88","impliedFormat":1},{"version":"ce08852fccf842857358d318c80ca151228aeeac4ad3d6614c00fa7d39bcde84","impliedFormat":1},{"version":"818fc52eb3940de3be3dc67306ccf9a361bb28038ac8524673ec3adfd74ed0ca","impliedFormat":1},{"version":"bff0c0d1325ed1155d5a6a85492cb005f20217974007c33dd6e126962062274a","impliedFormat":1},{"version":"994d5acb7ca9e97d624e35b8fc0de5c37c0462bba8ec69682e16fd20d56bbf2e","impliedFormat":1},{"version":"16bdb6676c410e6c5624817e505d12a5bc75d1c168cdc5332957a7396ec8d180","impliedFormat":1},{"version":"f74e30830c9bf4ab33b5a43373be2911db49cbf9b9bb43f4ce18651e23945e44","impliedFormat":1},{"version":"bc31610e4354bf9a9216222a1810debb89181efb6b078b73652cc9ede2a62797","impliedFormat":1},{"version":"0963cd13a792c603f64cac465b5299344a6fa02c086a43a29b6586caa5edd710","impliedFormat":1},{"version":"9d2b9766c6d25f26c2ff45ddbde596c3857ea098eedb34248467db614b90a486","impliedFormat":1},{"version":"0400d7d27a702316010b8e4375387156be3d7cee4a797654598eb5751dfe13e3","impliedFormat":1},{"version":"201223daa41ecabd73d374677e6c8a55286fbec8fd73fa1dbc3b299f9d93d7cb","impliedFormat":1},{"version":"8cc05f3a6b0cf87e4a8a3e281e8dfadd8724f2a3d7d6c1c1bbaa2058942d8587","impliedFormat":1},{"version":"8a5f956c8081c872480d28c8717edf527894a186db3e5cf7e60702893c9eefcb","impliedFormat":1},{"version":"3d2dd1518c6d388b4d30e42b310b5cf8031ba6bb29d234cfc528ff61933faf09","impliedFormat":1},{"version":"104c67f0da1bdf0d94865419247e20eded83ce7f9911a1aa75fc675c077ca66e","impliedFormat":1},{"version":"ac88d433490776b404740b4da8b84fbe7a9f065bf1a9675e719b1f85453e6911","impliedFormat":1},{"version":"eee5ccaad9b34d9815ebc9ed75631a8e8abbf3f0c685ee5af502388e6772dcf8","impliedFormat":1},{"version":"c49f2a791ea76975972baf06a71f6fa34e6adf74bbe8282e28e55ddb9f8903fa","impliedFormat":1},{"version":"178a96be96fa318c554dc96b60ea5912d376be6c2f7348b4e6dade95604a3bc0","impliedFormat":1},{"version":"4ca064b1a0af2a0de9240393fcb0988c4278c9456136262401033a9aaac1e3ee","impliedFormat":1},{"version":"44a01d3e816c26b06eb256430b1e280e0a726291f5853b8f7362adcb63024ac0","impliedFormat":1},{"version":"321a59769ee1dad8634d4ae1cac39dc966d8262e7bc427f850e4fc8cf3b0eaee","impliedFormat":1},{"version":"faa15a5389fe38d13be4098256f384cd76ac919dabb3a77e29600aeae04355bd","impliedFormat":1},{"version":"77ce64b02588b1f2318d3d764c586a8de0c3e16d64a32d7ad7ed56141d064eb7","impliedFormat":1},{"version":"74e92192bfbc408f7902d24fa2900b1fe5429eb137a15ee60ae98ec3f5d5d2eb","impliedFormat":1},{"version":"2d95cec546c5862a836807827e129c0ad916975afb635fa5954b74a0e4d7b388","impliedFormat":1},{"version":"15d39e2150be386ac501b22c5a1620457d880761d60a564cbd57026a8d8eb28e","impliedFormat":1},{"version":"00594f16b55b9b6b3064ab907743a13173c1d1c440f95c865b363272fdce049d","impliedFormat":1},{"version":"e858abcfb13e2de2b7f51a03b1ed471aa98e29f564c0bfaf94f5085bcd6c5486","impliedFormat":1},{"version":"cea38b7a0b18fde901ec747343c03f3e0b48999022e2f51a68ccdae0413725b1","impliedFormat":1},{"version":"9ab0857c5219391228e9fff43f17fa45068ad03c31e36a3d1b28a286e80e0f87","impliedFormat":1},{"version":"bd0ec2845d7857116f0945896c976ed3ea560e765eb814818451a26b2031b1a4","impliedFormat":1},{"version":"b433616295c91903d98330b9250be756e16428f0a53e8823b82966c0ba42d797","impliedFormat":1},{"version":"9edcae4aee78054f54fceee2a89c60b21ffdf6af1608e7ba8058c9d1bb3c24b2","impliedFormat":1},{"version":"f7f9e1d4ff7cb8032f0ea3b320668eca1e8345aa64d030f9e2024aa7a5d0aa9e","impliedFormat":1},{"version":"f8d69203e30cc93373a19f2616b28bcc9082f3397917385f491fd68989c9a1cb","impliedFormat":1},{"version":"6dab3f6d7fecffeb8fd4cb1c250f07a718e20e1aed052aa7f8be93bc9a94f5b3","impliedFormat":1},{"version":"1b24346eb18aa852b854b462199e509960a39be566083b86f19a8ed99aecd471","impliedFormat":1},{"version":"4f64329e48640cef9bd22501f28c834d44f31ccb5cce6cf68084e4e7a1bdb306","impliedFormat":1},{"version":"175a849d4c0f817d5c2ffde35a3f241146082535b005e3b45a501c732df438f3","impliedFormat":1},{"version":"731af875803a9470ba0f9f6404caeae85a2ebdbb15b0eba635fc9b3c411fc898","impliedFormat":1},{"version":"d2f375c61c09aff29bbdeeced94f37745b91bbcecfc72ccc3fc83b17e82a4891","impliedFormat":1},{"version":"66d1cc0cd17ff530cb1ed8a58eed122dcdbf0f5230c01c555edd7bd710cc3b96","impliedFormat":1},{"version":"db257fab7f1d50f7e400715c349d27f938df6e3e3fe7ce5673892e348ab8a048","impliedFormat":1},{"version":"5fcf8b90ad13c2149955477d94eb4272b0f07dd45eba44a3eaa14e1162aa33e0","impliedFormat":1},{"version":"0b3983d9d18634be7a2018b0a11c1109391217668a4e59ba1c87c1106290cc8d","impliedFormat":1},{"version":"4f2a8e61ee3ebb3672147b91a2bde6ceeaebcc098b7a6b1638d3df931a5ddd92","impliedFormat":1},{"version":"4b0d0494437eae420327967e7b25b4624020cb273c345421f69d403544ddc201","impliedFormat":1},{"version":"341af54bef9fbb824ee8db2c50c0a3c90bc3a999b841fd297f5512b4e3589ffd","impliedFormat":1},{"version":"641b10ed864b22461d0beacbb89aaaae3370d5a09f1e3918c3528ce3bb1f5d1f","impliedFormat":1},{"version":"59d494f1af0031166af1d4e0ad2cd9bcbe66f0210d9bfc0d2ad27af7bb5b4925","impliedFormat":1},{"version":"8f9688740ebf1cc891f34a522c535323ebdab6fefecbad1965ec585b320abb39","impliedFormat":1},{"version":"ad88382eef9ee3346b59ae4b395cc298ffded285864ddb80f2eeb57d2f9adc08","impliedFormat":1},{"version":"bb415e5dfccdc9bee3daeda7ee2553bf976f748994f19725ff9bd994b1518916","impliedFormat":1},{"version":"93191770fc276b56538a58d95add8fea33f11958f9fa555364bcea96c2f9e802","impliedFormat":1},{"version":"a769a5e3ae2f9d0e08add20fae8d12a350e855f4b75664341093ded2bcf7a41d","impliedFormat":1},{"version":"ca599aa99194fa6728b0bf88e83459edb8ba87941d65c10d2595438fe1549322","impliedFormat":1},{"version":"9f9e64076af9c8af4a2f3d795929c20d6ca9e4cdb3dd59a678b0bbbf55ba059d","impliedFormat":1},{"version":"ad1a40318b4306afe5c871ab06cf3046a9590f15bc63f872884f9a32094629b5","impliedFormat":1},{"version":"1c5fc8608d7bce18d9dc79c302ed3396241368756e5fe18484f3a9c1658bc7f4","impliedFormat":1},{"version":"57add12cb49cdd4e47d6b62f0a4083d54e5cc130788e55c39a02ad42e52ee73b","impliedFormat":1},{"version":"c7fe7a46474076deb9c39a4084b1a966704df2f6f2c11d9cbe50773807c24f1b","impliedFormat":1},{"version":"b597f8165cf57efe5b002848c311a2f19e32062445f82ee3b56181f2dba595f7","impliedFormat":1},{"version":"6f49028cb42c1c7cb64a604315dff771ed4723f2853098b205682356ea3c9b87","impliedFormat":1},{"version":"2be2227c3810dfd84e46674fd33b8d09a4a28ad9cb633ed536effd411665ea1e","impliedFormat":99},{"version":"994280162938908065cf871994bfc5dc6f8618a4daa3ae7803fb6959f9a2ec6c","impliedFormat":1},{"version":"89934915a25c4262eecc3094bd7660699717fa2bd2a2bbc5282fdb45d2ed566b","impliedFormat":1},{"version":"ffbf336a0357870c36c8ca983a37bd050d75f46d89b6437515f0bb09bf63616b","impliedFormat":1},{"version":"aeb553d9445364680ee844d8559a5fb4d44a53c58b94a3191ac4e8e7fa8cb524","impliedFormat":1},{"version":"9a4c0f006b63c80014445bc6e3aba8457d1cf89b12cc293b863a9f2ac8c790d9","impliedFormat":1},{"version":"948da454347607aad817b0675068c962e81116b632213eaacd168c18b85a2580","impliedFormat":1},{"version":"12fbd4118f865a49c468ce1c9b079a5af3c0eb3e792a0b5f51698faa9c443cf8","impliedFormat":1},{"version":"ae538a0e37c00b8589ce5fe2849e7d8530c2291f7e4537fdc6741295a8f50c29","impliedFormat":1},{"version":"6bb1083101a04340cc599614352cfae7c5c5ec5c2d68b21f4c59adafa79d459c","impliedFormat":1},{"version":"1832bfd7c66f9097352729f3fd72f981db6442c42d0533ba8d708f1782369103","impliedFormat":1},{"version":"952fc50e5622e3b4db1de2b57a3125e770977c7eecee5d1a6b82204055b26d79","impliedFormat":1},{"version":"e71cc50a342e740e9071733b32ea7c44a3ae13efe64db3b7b4a47e8e18ac0a60","impliedFormat":1},{"version":"ff698b2b7c176d93dfceb8c5c8abf8d38f7025b86a2f189e0d143307e7ce36d1","impliedFormat":1},{"version":"658694c23287556339f353876292369176473def90018f9bbb72d04a20a46258","impliedFormat":1},{"version":"fe3d1b66eb35ee30b81af9266443262fb4ebf574effda41ef1632a8b496703a5","impliedFormat":1},"1143518811689e46289f617e3d1616103ba74c28aa7e2e77a9e0a6c2ff7b3272","586c162571b5b8a4e8b38e40377938159724772ae669959c601cdd04dd66b900","9c9639e00ff0e0434b318c1672f45cff500ae94657b7cce0068d0df2109c31d6","4e659225bd4a8f0129b2ab8e22e90a9323541dc452f1affa5864b0a6bd7f7d53","9c984d3ca55c4e0ac9d226cfa3594399d2e5d179b92347a8bf67c440f53dc39f","1611ed24624f4ee53db4762e58ec6f3e0da866f5b30e4482c4fa3f00063704d2","b5fdd687fc6bb9f1ec4a304095161e43265c1f2e2ed73e2af8357ea5daefc30a","8929f649cbfb89283a83fecd7fa8153562d704a052ea718536af24fa80e5cc07","7f578a746dc04717423c127a9f93cbf654a1190254c8b1ca0df921d493716679","8cb0ce60033f55b55b3d9692da7e0085c918d9c9d46964828a7f395442b9baab","f53a3b5233cd5caee46370724559823da7011c782e8a50947a5030b27b54c61d",{"version":"78647004e18e4c16b8a2e8345fca9267573d1c5a29e11ddfee71858fd077ef6e","impliedFormat":1},{"version":"0804044cd0488cb7212ddbc1d0f8e1a5bd32970335dbfc613052304a1b0318f9","impliedFormat":1},{"version":"b725acb041d2a18fde8f46c48a1408418489c4aa222f559b1ef47bf267cb4be0","impliedFormat":1},{"version":"85084ae98c1d319e38ef99b1216d3372a9afd7a368022c01c3351b339d52cb58","impliedFormat":1},{"version":"898ec2410fae172e0a9416448b0838bed286322a5c0c8959e8e39400cd4c5697","impliedFormat":1},{"version":"692345a43bac37c507fa7065c554258435ab821bbe4fb44b513a70063e932b45","impliedFormat":1},{"version":"7283aaea55499e5a9760db0ef199e3c12a35ff5391733fe1495b2d3add0c58ab","impliedFormat":1},{"version":"c1c8ccb14c76efb31ff84038ec7833a5715ba23e681b158b3c83cc012b8c3cfa","impliedFormat":1},{"version":"abb0a41fa0432cdec9595dbe84bd3efc5b59f04aa85dcd5cec7b453908fc85c3","impliedFormat":1},{"version":"522edc786ed48304671b935cf7d3ed63acc6636ab9888c6e130b97a6aea92b46","impliedFormat":1},{"version":"a9607a8f1ce7582dbeebc0816897925bf9b307cc05235e582b272a48364f8aa0","impliedFormat":1},{"version":"de21641eb8edcbc08dd0db4ee70eea907cd07fe72267340b5571c92647f10a77","impliedFormat":1},{"version":"48af3609dc95fa62c22c8ec047530daf1776504524d284d2c3f9c163725bdbd4","impliedFormat":1},{"version":"6758f7b72fa4d38f4f4b865516d3d031795c947a45cc24f2cfba43c91446d678","impliedFormat":1},{"version":"1fefab6dc739d33b7cb3fd08cd9d35dd279fcd7746965e200500b1a44d32db9e","impliedFormat":1},{"version":"997b94a03707d35abe497e427bc26b403a538838c3a82f2be71d85109b88e32b","impliedFormat":1},{"version":"bdf7abbd7df4f29b3e0728684c790e80590b69d92ed8d3bf8e66d4bd713941fe","impliedFormat":1},{"version":"8decb32fc5d44b403b46c3bb4741188df4fbc3c66d6c65669000c5c9cd506523","impliedFormat":1},{"version":"4beaf337ee755b8c6115ff8a17e22ceab986b588722a52c776b8834af64e0f38","impliedFormat":1},{"version":"c26dd198f2793bbdcc55103823a2767d6223a7fdb92486c18b86deaf63208354","impliedFormat":1},{"version":"93551b302a808f226f0846ad8012354f2d53d6dedc33b540d6ca69836781a574","impliedFormat":1},{"version":"040cb635dff5fc934413fa211d3a982122bf0e46acae9f7a369c61811f277047","impliedFormat":1},{"version":"778b684ebc6b006fcffeab77d25b34bf6e400100e0ec0c76056e165c6399ab05","impliedFormat":1},{"version":"285d50a08440314f7aea3246a5e15acbc38e2867ff07d21ef457ae8cb4e8a31f","impliedFormat":1},{"version":"672701f824ff6b9dab50514c6c4db711fb7ec5e7c2f0f6bc27b2dbe2e445a52a","impliedFormat":1},{"version":"be8f369f8d7e887eab87a3e4e41f1afcf61bf06056801383152aa83bda1f6a72","impliedFormat":1},{"version":"352bfb5f3a9d8a9c2464ad2dc0b2dc56a8212650a541fb550739c286dd341de1","impliedFormat":1},{"version":"ebef680e3597d7b3c8a9fc9e5581eb078461fa1406ded8d9859353dd6286eff2","impliedFormat":1},{"version":"dc923d45c03261241cefb03ea952883784e28fbc1d089af1a5a553a7b0f5e2b5","impliedFormat":1},{"version":"764150c107451d2fd5b6de305cff0a9dcecf799e08e6f14b5a6748724db46d8a","impliedFormat":1},{"version":"b04cf223c338c09285010f5308b980ee6d8bfa203824ed2537516f15e92e8c43","impliedFormat":1},{"version":"4b387f208d1e468193a45a51005b1ed5b666010fc22a15dc1baf4234078b636e","impliedFormat":1},{"version":"70441eda704feffd132be0c1541f2c7f6bbaafce25cb9b54b181e26af3068e79","impliedFormat":1},{"version":"d1addb12403afea87a1603121396261a45190886c486c88e1a5d456be17c2049","impliedFormat":1},{"version":"1e50bda67542964dbb2cfb21809f9976be97b2f79a4b6f8124463d42c95a704c","impliedFormat":1},{"version":"ea4b5d319625203a5a96897b057fddf6017d0f9a902c16060466fe69cc007243","impliedFormat":1},{"version":"a186fde3b1dde9642dda936e23a21cb73428340eb817e62f4442bb0fca6fa351","impliedFormat":1},{"version":"985ac70f005fb77a2bc0ed4f2c80d55919ded6a9b03d00d94aab75205b0778ec","impliedFormat":1},{"version":"ab01d8fcb89fae8eda22075153053fefac69f7d9571a389632099e7a53f1922d","impliedFormat":1},{"version":"bac0ec1f4c61abc7c54ccebb0f739acb0cdbc22b1b19c91854dc142019492961","impliedFormat":1},{"version":"566b0806f9016fa067b7fecf3951fcc295c30127e5141223393bde16ad04aa4a","impliedFormat":1},{"version":"8e801abfeda45b1b93e599750a0a8d25074d30d4cc01e3563e56c0ff70edeb68","impliedFormat":1},{"version":"902997f91b09620835afd88e292eb217fbd55d01706b82b9a014ff408f357559","impliedFormat":1},{"version":"a3727a926e697919fb59407938bd8573964b3bf543413b685996a47df5645863","impliedFormat":1},{"version":"83f36c0792d352f641a213ee547d21ea02084a148355aa26b6ef82c4f61c1280","impliedFormat":1},{"version":"dce7d69c17a438554c11bbf930dec2bee5b62184c0494d74da336daee088ab69","impliedFormat":1},{"version":"1e8f2cda9735002728017933c54ccea7ebee94b9c68a59a4aac1c9a58aa7da7d","impliedFormat":1},{"version":"e327a2b222cf9e5c93d7c1ed6468ece2e7b9d738e5da04897f1a99f49d42cca1","impliedFormat":1},{"version":"65165246b59654ec4e1501dd87927a0ef95d57359709e00e95d1154ad8443bc7","impliedFormat":1},{"version":"f1bacba19e2fa2eb26c499e36b5ab93d6764f2dba44be3816f12d2bc9ac9a35b","impliedFormat":1},{"version":"bce38da5fd851520d0cb4d1e6c3c04968cec2faa674ed321c118e97e59872edc","impliedFormat":1},{"version":"3398f46037f21fb6c33560ceca257259bd6d2ea03737179b61ea9e17cbe07455","impliedFormat":1},{"version":"6e14fc6c27cb2cb203fe1727bb3a923588f0be8c2604673ad9f879182548daca","impliedFormat":1},{"version":"12b9bcf8395d33837f301a8e6d545a24dfff80db9e32f8e8e6cf4b11671bb442","impliedFormat":1},{"version":"04295cc38689e32a4ea194c954ea6604e6afb6f1c102104f74737cb8cf744422","impliedFormat":1},{"version":"7418f434c136734b23f634e711cf44613ca4c74e63a5ae7429acaee46c7024c8","impliedFormat":1},{"version":"27d40290b7caba1c04468f2b53cf7112f247f8acdd7c20589cd7decf9f762ad0","impliedFormat":1},{"version":"2608b8b83639baf3f07316df29202eead703102f1a7e32f74a1b18cf1eee54b5","impliedFormat":1},{"version":"c93657567a39bd589effe89e863aaadbc339675fca6805ae4d97eafbcce0a05d","impliedFormat":1},{"version":"909d5db5b3b19f03dfb4a8f1d00cf41d2f679857c28775faf1f10794cbbe9db9","impliedFormat":1},{"version":"e4504bffce13574bab83ab900b843590d85a0fd38faab7eff83d84ec55de4aff","impliedFormat":1},{"version":"8ab707f3c833fc1e8a51106b8746c8bc0ce125083ea6200ad881625ae35ce11e","impliedFormat":1},{"version":"730ddc2386276ac66312edbcc60853fedbb1608a99cb0b1ff82ebf26911dba1f","impliedFormat":1},{"version":"c1b3fa201aa037110c43c05ea97800eb66fea3f2ecc5f07c6fd47f2b6b5b21d2","impliedFormat":1},{"version":"636b44188dc6eb326fd566085e6c1c6035b71f839d62c343c299a35888c6f0a9","impliedFormat":1},{"version":"3b2105bf9823b53c269cabb38011c5a71360c8daabc618fec03102c9514d230c","impliedFormat":1},{"version":"f96e63eb56e736304c3aef6c745b9fe93db235ddd1fec10b45319c479de1a432","impliedFormat":1},{"version":"acb4f3cee79f38ceba975e7ee3114eb5cd96ccc02742b0a4c7478b4619f87cd6","impliedFormat":1},{"version":"cfc85d17c1493b6217bad9052a8edc332d1fde81a919228edab33c14aa762939","impliedFormat":1},{"version":"eebda441c4486c26de7a8a7343ebbc361d2b0109abff34c2471e45e34a93020a","impliedFormat":1},{"version":"727b4b8eb62dd98fa4e3a0937172c1a0041eb715b9071c3de96dad597deddcab","impliedFormat":1},{"version":"708e2a347a1b9868ccdb48f3e43647c6eccec47b8591b220afcafc9e7eeb3784","impliedFormat":1},{"version":"6bb598e2d45a170f302f113a5b68e518c8d7661ae3b59baf076be9120afa4813","impliedFormat":1},{"version":"c28e058db8fed2c81d324546f53d2a7aaefff380cbe70f924276dbad89acd7d1","impliedFormat":1},{"version":"89d029475445d677c18cf9a8c75751325616d353925681385da49aeef9260ab7","impliedFormat":1},{"version":"826a98cb79deab45ccc4e5a8b90fa64510b2169781a7cbb83c4a0a8867f4cc58","impliedFormat":1},{"version":"618189f94a473b7fdc5cb5ba8b94d146a0d58834cd77cd24d56995f41643ccd5","impliedFormat":1},{"version":"1645dc6f3dd9a3af97eb5a6a4c794f5b1404cab015832eba67e3882a8198ec27","impliedFormat":1},{"version":"b5267af8d0a1e00092cceed845f69f5c44264cb770befc57d48dcf6a098cb731","impliedFormat":1},{"version":"91b0965538a5eaafa8c09cf9f62b46d6125aa1b3c0e0629dce871f5f41413f90","impliedFormat":1},{"version":"2978e33a00b4b5fb98337c5e473ab7337030b2f69d1480eccef0290814af0d51","impliedFormat":1},{"version":"ba71e9777cb5460e3278f0934fd6354041cb25853feca542312807ce1f18e611","impliedFormat":1},{"version":"608dbaf8c8bb64f4024013e73d7107c16dba4664999a8c6e58f3e71545e48f66","impliedFormat":1},{"version":"61937cefd7f4d6fa76013d33d5a3c5f9b0fc382e90da34790764a0d17d6277fb","impliedFormat":1},{"version":"af7db74826f455bfef6a55a188eb6659fd85fdc16f720a89a515c48724ee4c42","impliedFormat":1},{"version":"d6ce98a960f1b99a72de771fb0ba773cb202c656b8483f22d47d01d68f59ea86","impliedFormat":1},{"version":"2a47dc4a362214f31689870f809c7d62024afb4297a37b22cb86f679c4d04088","impliedFormat":1},{"version":"42d907ac511459d7c4828ee4f3f81cc331a08dc98d7b3cb98e3ff5797c095d2e","impliedFormat":1},{"version":"63d010bff70619e0cdf7900e954a7e188d3175461182f887b869c312a77ecfbd","impliedFormat":1},{"version":"1452816d619e636de512ca98546aafb9a48382d570af1473f0432a9178c4b1ff","impliedFormat":1},{"version":"9e3e3932fe16b9288ec8c948048aef4edf1295b09a5412630d63f4a42265370e","impliedFormat":1},{"version":"8bdba132259883bac06056f7bacd29a4dcf07e3f14ce89edb022fe9b78dcf9b3","impliedFormat":1},{"version":"5a5406107d9949d83e1225273bcee1f559bb5588942907d923165d83251a0e37","impliedFormat":1},{"version":"ca0ca4ca5ad4772161ee2a99741d616fea780d777549ba9f05f4a24493ab44e1","impliedFormat":1},{"version":"e7ee7be996db0d7cce41a85e4cae3a5fc86cf26501ad94e0a20f8b6c1c55b2d4","impliedFormat":1},{"version":"72263ae386d6a49392a03bde2f88660625da1eca5df8d95120d8ccf507483d20","impliedFormat":1},{"version":"b498375d015f01585269588b6221008aae6f0c0dc53ead8796ace64bdfcf62ea","impliedFormat":1},{"version":"c37aa3657fa4d1e7d22565ae609b1370c6b92bafb8c92b914403d45f0e610ddc","impliedFormat":1},{"version":"34534c0ead52cc753bdfdd486430ef67f615ace54a4c0e5a3652b4116af84d6d","impliedFormat":1},{"version":"a848339c272ab23e686b5d0b81297e3a7116ba7d27589c66ca1f4ebcd65e7f19","impliedFormat":1},{"version":"566315d39e476ca9e7fd0b1908074cb2a5ff9246cc3ed7da64cde5ad30f7e0b1","impliedFormat":1},{"version":"5f7ed82e82aa5017fe830ac40105321c32e3bf45d3cfcd557601f2ed58ff6ca4","impliedFormat":1},{"version":"f67a80308cecbd6e402e65931b212958cf89c0ef4e67ec8998dccb93bcc4a0f6","impliedFormat":99},{"version":"4c37a2e0d4689addc6307b9bade6214463e621be2cbaa4186e5e84beae3bf04c","impliedFormat":99},{"version":"270fb79c5b57005a01e4082038f13ec71586de194a7bd157a264ce64562d1656","impliedFormat":99},{"version":"146b782ff46f55732980cffd31256b511e1d3afd63cedd818b2712a8325cf473","impliedFormat":99},{"version":"1a3d8da921df61c32cb9db3691339cad87ff9ec7a23686d11a9217a73e0440e5","impliedFormat":99},{"version":"0645209ea239c80ef0eb8aeddaf243e89a0175c56977bbe39f75bb577fde0441","impliedFormat":99},{"version":"7be32b6413399e55a92293595bbd2f727e8457e83ad9c8fecc68cd6d8a1912cd","impliedFormat":99},{"version":"67e01a2e4afd07e424e13d0b779afe83471e18c7895d22f7fc0034e8260498c3","impliedFormat":99},{"version":"4fe80f12b1d5189384a219095c2eabadbb389c2d3703aae7c5376dbaa56061df","impliedFormat":1},{"version":"9eb1d2dceae65d1c82fc6be7e9b6b19cf3ca93c364678611107362b6ad4d2d41","impliedFormat":1},{"version":"8065e20ac0ad0536d4f1c8d4c2303272a4d25c450bea8d25deb25697d19300e5","impliedFormat":1},{"version":"a3f10b207ac34092603a802aa6d932d22372d571d4649c1d48a074b71da95eac","impliedFormat":1},{"version":"f42365baa04389b983f87a8e14c130ea0ab4a913fada35e8e8e8825a450d4840","impliedFormat":1},{"version":"98ad7367a33f8b7cebad1f8b92e56287b28eda1bfd11f8fef8673980b1090a91","impliedFormat":1},{"version":"be43be05fe9cfd2eb3ce785ef8cbc48737843aac7baf8345c0d8857d7703c996","impliedFormat":1},{"version":"2622d23b82f46eecadc419a286395ddfaaee2f5d533b35127235815ed8807b76","impliedFormat":1},{"version":"406820d111d981e35608f3b6525b8b8a818f2ef83083e8b381f3336d7067a593","impliedFormat":1},{"version":"3bc9a5fc50e1b5678284bf0c8f6319e0cc4910e4ecc1bdb3d490850c9a0859b8","impliedFormat":1},{"version":"e480120d79410e40d95f27fd46da84e12e16b8ff57dda7206a97cb165a2c2213","impliedFormat":1},{"version":"54e4b2a4cfdae8bd4fa66c3baa19af1df604959c81f921252dfc2777e6eebd25","impliedFormat":1},{"version":"f00d9f3635a0f2b6427437b01543ecba1dbf4a5db9adb7d045beb90f8497a87e","impliedFormat":1},{"version":"1611551020c708492c66ffcda9e2b593c3ff91ee8875365c057213a8564ee60b","impliedFormat":1},{"version":"d8158d02e93f868ef402ed06e2a33e419585fe069193905c29e80554e87ac15c","impliedFormat":1},{"version":"94eeb315f94439db3bccd50a5427d3fd2e6535807ca57aca28810e63bc9fd1e4","impliedFormat":1},{"version":"8dcf156fc7436c5a104f0ecd75c2f0069061502ce9900607c1667aaca3a6851e","impliedFormat":1},{"version":"afeaa3163ca96eba18a94a8310ea952164ef767d7ae1e3f21b19bad1e204d087","impliedFormat":1},{"version":"9061663f4f28b12ca29ef8940a44ec53d5f9f386e5edee569fdcdfc7e4ca14eb","impliedFormat":1},{"version":"453ea807ecb71949a1ef40b09b2368f3a6a487705f5a2116af925efa2f7e6d92","impliedFormat":1},{"version":"a07ed03a026bf50005a267f7dd20db3797e1662da44ea635d4770420096f02e3","impliedFormat":1},{"version":"a9d62506c38c63df06c007381a4adf5459355ee31a292b86ebea9c836bb7e841","impliedFormat":1},{"version":"758bc9b7e24313108050b10adc80346199b6addcb3912ff96c5445614db63702","impliedFormat":1},{"version":"88c2b2305782a0c969c8c5a4ba189fd2085d765038b6af2f66a878725eeb855e","impliedFormat":1},{"version":"b00498e0f7de6d0b2eaabf6bc6c27d54e224dbde9b8710c37a0c5f9cabff9013","impliedFormat":1},{"version":"26020fd840eba5d9209e6b07df23d7a9ceb7571fde0c3ae9f443c84619de6a41","impliedFormat":1},{"version":"abf974935a0a0649a429cee0e1133049d18ff0cbaf5cc6764626ffae6af7bd83","impliedFormat":1},{"version":"b9dd0d484906d4444d32a4c70451eaed8d54dfd618cc6f9912f0e20a6b54d7e6","impliedFormat":1},{"version":"353eca851a8aace8404c346d91e350c8ed959759f8fb2a33060ab0d850eed9c4","impliedFormat":1},{"version":"83acf2aae8ebbeaeb12566ec0dd22fe40c9a157ffaf826fe2fb541c518d54f69","impliedFormat":1},{"version":"782ede6abab3148ba43fa5c41c3ac045b81299d306ce06bc27c045c99e375aaa","impliedFormat":1},{"version":"93bd377447dcc0ddb93afe519b7ca4f0400eb8d1fd11fa49848f7522789bbc38","impliedFormat":1},{"version":"87f7c14cf79d5c5409e1260dfc1dda3bc9b0d13b81f2ff39b820dde587c569ee","impliedFormat":1},{"version":"993200dc344eac5de024608fe26fbb1cf4764c254229f481ed8aae084f2fe0e4","impliedFormat":1},{"version":"fc23536cabc16a53018f4dbe8be39db84a73cf1c69b85f238b9ae7e09edaa199","impliedFormat":1},{"version":"89163956c437b564e0073e53141646df002e1d57d2e0bc2dbc3b0a4691776c5f","impliedFormat":1},{"version":"4970c3f3f4b6902144173902c3a969517d708ecbd8c50cc6465d4f2c488fad9e","impliedFormat":1},{"version":"9fd0da3a46448bcc367f52f9f57ba10b8eaf06bc9d4f34698298ec2aab991807","impliedFormat":1},{"version":"bdd08c627434274339f7942e251879b5de6bcf628f3f61ccff14dbeca425ef6a","impliedFormat":1},{"version":"c2649fb23b8767464051cf1f92ed0fed53ea7d5cbd6f807a348402e0be37500c","impliedFormat":1},{"version":"0d3646c780151c55b6bcf7c15f66b6769ac554eac2aedf3294edff04a0045cfe","impliedFormat":1},{"version":"bd8ced5d6e15d32bf007b79bb992a07c713c3e803b45c4ad61d240c610cceec9","impliedFormat":1},{"version":"304ec145044d3fd83921ee3bc57f3f9bba7ac84e866aec6bab17820a581f171e","impliedFormat":1},{"version":"e15cc57b8f017cef8e32c06f04b6c724f8681f9442efc2aa4c757464483f32bc","impliedFormat":1},{"version":"bb539d13f42ca588fc5083b94e537ed67fe47449da84d414b14f3d17c7b5c49e","impliedFormat":1},{"version":"592f9ad00e8c3734ecaad7203b05fd72a028aa9fb11e64db927f00d8715476d6","impliedFormat":1},{"version":"0b4046e2e44fbcc8ad9f4e56859ab9874c669249a51217e21d6c2402ff26e615","impliedFormat":1},{"version":"da332d91f1da53266c5eb9af28f0235ab248ad81f68890df1de8b88074b24a4a","impliedFormat":1},{"version":"0764641d314681c58c751f42b47a572115dc842a72072fa868a259a1cc70f6ff","impliedFormat":1},{"version":"3720043192743812e92ee320868617e7f7e55115ea58ad9e5a512c763716a381","impliedFormat":1},{"version":"fa106dbcb508da05acda26c2deb5ecd307fd323f2d491056b980c25d7d9d3d19","impliedFormat":1},{"version":"686c74caa6c90f835616624627be07c4c977c217e400db2d6cab99b3b19681d0","impliedFormat":1},{"version":"33598ffcfddac61cb35af961c6794b6dc03a89fd2e92089113b34dbb42bd2e27","impliedFormat":1},{"version":"1f1852185404db45d03465a19f7c65bb8f2540bfccb6b967cc32779fdf844f72","impliedFormat":1},{"version":"ae51b52a71c70aa77fac061acf81c4da5770ea10a9a1ff5df252eb79d4d93f26","impliedFormat":1},{"version":"55949c519449e0e0c1eb61d34aa42d5297c2e29883b45fd009629e914e856b30","impliedFormat":1},{"version":"0cbc69cf27e58df8b07063583fb2740d9dc664afc058491af2456a2e270b43bb","impliedFormat":1},{"version":"fdcc8e65fff640091ae5db35056ef87a343c373b5b78369ae509be0cda7df5d2","impliedFormat":1},{"version":"2867ebac7aca35b039ea1cc0e0248bf0ced60706877f172a5cb0eddaa599330b","impliedFormat":1},{"version":"ca3c62ca26416a83e1090706d6df86a089a86b76b5bf561298b1fc5afa65b0a3","impliedFormat":1},{"version":"fde60d698983b343d3ace0742f852622230902ebe5917b1a5aabf7db7f34e3d9","impliedFormat":1},{"version":"9e8147e322367517e09022bf0f00886919b922de4fb4f9b856976a3c0c5597f1","impliedFormat":1},{"version":"430aae2003d27d257031cccff62b7c05468ca2201033f01b712959b47d458049","impliedFormat":1},{"version":"fd8b21234303f04f3357ba644ffd76844f02e70a7f07a290142f11ba71ceab92","impliedFormat":1},{"version":"d10535292b8a83db27138475488a427572a558559bf3be5cad89568c66deb5e2","impliedFormat":1},{"version":"54e98342907a1a0170d8d5dc81e4f05c5f6c526421e930aadd3e30c682498a29","impliedFormat":1},{"version":"1539b21903f2f9049f1f637bfd736d593205100dd3b3d2f7cabf23e6c004edbc","impliedFormat":1},{"version":"b04f4d4736305a8fd1910b01ae9c40d0738d952744d1ec904610d1764efa91af","impliedFormat":1},{"version":"1ad05fc69812ce854a3db895e6f9a72877151ff1e5d8af0ec78d5736afaa1fcf","impliedFormat":1},{"version":"0c11d5e2e654790dfa45f9bc2d3b653fe13c4f7a0c8a1d639a5a924b6e09be8c","impliedFormat":1},{"version":"324a44990de071515cb273632ace64d4f32b72f2d9391e003a63ea69aabd3364","impliedFormat":1},{"version":"31333fe58620f76321cc0153a0aa7ae0408e1b7ca3d1c26d2569ec44b6ee3805","impliedFormat":1},{"version":"6fc89c781ebd4d280c684ce1042c9ebbc4a59cf1ecf5983cfa2eefdd3cd449a0","impliedFormat":1},{"version":"593cc5d6276e32b36088a73756514161b750c2957a84ddf5153935eee3f95e3a","impliedFormat":1},{"version":"276b8af5ab99167e0a217186a39ffa44473beecd9a937057bcad2eb3e21c53b4","impliedFormat":1},{"version":"b760d358d0b42de531509e3bff8a9cffb934e3a2ff0d53fa244b3ebfaaef9f91","impliedFormat":1},{"version":"caac24397bd88bf85b02e42ec561181acab9384d9e2429e1ff3d65abe1567407","impliedFormat":1},{"version":"9efa716140d3e52b0dda513aa7b45252af15617d6b9a6b9a5be786a4f60042a8","impliedFormat":1},{"version":"4558f132688cff22a2acc65f44d277546b55435083141779beb11e993dcdbe13","impliedFormat":1},{"version":"2e4cbb24e294d25e6bd050f1a5d6b86422475c049afc65c3cd777b16c7af88b9","impliedFormat":1},{"version":"3e162b63e35c2007cb0eb3db0ba0fdb45e4185e5417440d79d56fc989aaea13e","impliedFormat":1},{"version":"2cef84bf00cbdb452fdc5d8ecfe7b8c0aa3fa788bdc4ad8961e2e636530dbb60","impliedFormat":99},{"version":"24104650185414f379d5cc35c0e2c19f06684a73de5b472bae79e0d855771ecf","impliedFormat":99},{"version":"799003c0ab928582fca04977f47b8d85b43a8de610f4eef0ad2d069fbb9f9399","impliedFormat":99},{"version":"b13dd41c344a23e085f81b2f5cd96792e6b35ae814f32b25e39d9841844ad240","impliedFormat":99},{"version":"17d8b4e6416e48b6e23b73d05fd2fde407e2af8fddbe9da2a98ede14949c3489","impliedFormat":99},{"version":"6d17b2b41f874ab4369b8e04bdbe660163ea5c8239785c850f767370604959e3","impliedFormat":99},{"version":"04b4c044c8fe6af77b6c196a16c41e0f7d76b285d036d79dcaa6d92e24b4982b","impliedFormat":99},{"version":"30bdeead5293c1ddfaea4097d3e9dd5a6b0bc59a1e07ff4714ea1bbe7c5b2318","impliedFormat":99},{"version":"e7df226dcc1b0ce76b32f160556f3d1550124c894aae2d5f73cefaaf28df7779","impliedFormat":99},{"version":"f2b7eef5c46c61e6e72fba9afd7cc612a08c0c48ed44c3c5518559d8508146a2","impliedFormat":99},{"version":"00f0ba57e829398d10168b7db1e16217f87933e61bd8612b53a894bd7d6371da","impliedFormat":99},{"version":"126b20947d9fa74a88bb4e9281462bda05e529f90e22d08ee9f116a224291e84","impliedFormat":99},{"version":"40d9e43acee39702745eb5c641993978ac40f227475eacc99a83ba893ad995db","impliedFormat":99},{"version":"8a66b69b21c8de9cb88b4b6d12f655d5b7636e692a014c5aa1bd81745c8c51d5","impliedFormat":99},{"version":"ebbb846bdd5a78fdacff59ae04cea7a097912aeb1a2b34f8d88f4ebb84643069","impliedFormat":99},{"version":"7321adb29ffd637acb33ee67ea035f1a97d0aa0b14173291cc2fd58e93296e04","impliedFormat":99},{"version":"320816f1a4211188f07a782bdb6c1a44555b3e716ce13018f528ad7387108d5f","impliedFormat":99},{"version":"b2cc8a474b7657f4a03c67baf6bff75e26635fd4b5850675e8cad524a09ddd0c","impliedFormat":99},{"version":"0d081e9dc251063cc69611041c17d25847e8bdbe18164baaa89b7f1f1633c0ab","impliedFormat":99},{"version":"a64c25d8f4ec16339db49867ea2324e77060782993432a875d6e5e8608b0de1e","impliedFormat":99},{"version":"0739310b6b777f3e2baaf908c0fbc622c71160e6310eb93e0d820d86a52e2e23","impliedFormat":99},{"version":"37b32e4eadd8cd3c263e7ac1681c58b2ac54f3f77bb34c5e4326cc78516d55a9","impliedFormat":99},{"version":"9b7a8974e028c4ed6f7f9abb969e3eb224c069fd7f226e26fcc3a5b0e2a1eba8","impliedFormat":99},{"version":"e8100b569926a5592146ed68a0418109d625a045a94ed878a8c5152b1379237c","impliedFormat":99},{"version":"594201c616c318b7f3149a912abd8d6bdf338d765b7bcbde86bca2e66b144606","impliedFormat":99},{"version":"03e380975e047c5c6ded532cf8589e6cc85abb7be3629e1e4b0c9e703f2fd36f","impliedFormat":99},{"version":"fae14b53b7f52a8eb3274c67c11f261a58530969885599efe3df0277b48909e1","impliedFormat":99},{"version":"c41206757c428186f2e0d1fd373915c823504c249336bdc9a9c9bbdf9da95fef","impliedFormat":99},{"version":"e961f853b7b0111c42b763a6aa46fc70d06a697db3d8ed69b38f7ba0ae42a62b","impliedFormat":99},{"version":"3db90f79e36bcb60b3f8de1bc60321026800979c150e5615047d598c787a64b7","impliedFormat":99},{"version":"639b6fb3afbb8f6067c1564af2bd284c3e883f0f1556d59bd5eb87cdbbdd8486","impliedFormat":99},{"version":"49795f5478cb607fd5965aa337135a8e7fd1c58bc40c0b6db726adf186dd403f","impliedFormat":99},{"version":"7d8890e6e2e4e215959e71d5b5bd49482cf7a23be68d48ea446601a4c99bd511","impliedFormat":99},{"version":"d56f72c4bb518de5702b8b6ae3d3c3045c99e0fd48b3d3b54c653693a8378017","impliedFormat":99},{"version":"4c9ac40163e4265b5750510d6d2933fb7b39023eed69f7b7c68b540ad960826e","impliedFormat":99},{"version":"8dfab17cf48e7be6e023c438a9cdf6d15a9b4d2fa976c26e223ba40c53eb8da8","impliedFormat":99},{"version":"38bdf7ccacfd8e418de3a7b1e3cecc29b5625f90abc2fa4ac7843a290f3bf555","impliedFormat":99},{"version":"9819e46a914735211fbc04b8dc6ba65152c62e3a329ca0601a46ba6e05b2c897","impliedFormat":99},{"version":"50f0dc9a42931fb5d65cdd64ba0f7b378aedd36e0cfca988aa4109aad5e714cb","impliedFormat":99},{"version":"894f23066f9fafccc6e2dd006ed5bd85f3b913de90f17cf1fe15a2eb677fd603","impliedFormat":99},{"version":"abdf39173867e6c2d6045f120a316de451bbb6351a6929546b8470ddf2e4b3b9","impliedFormat":99},{"version":"aa2cb4053f948fbd606228195bbe44d78733861b6f7204558bbee603202ee440","impliedFormat":99},{"version":"6911b41bfe9942ac59c2da1bbcbe5c3c1f4e510bf65cae89ed00f434cc588860","impliedFormat":99},{"version":"7b81bc4d4e2c764e85d869a8dd9fe3652b34b45c065482ac94ffaacc642b2507","impliedFormat":99},{"version":"895df4edb46ccdcbce2ec982f5eed292cf7ea3f7168f1efea738ee346feab273","impliedFormat":99},{"version":"8692bb1a4799eda7b2e3288a6646519d4cebb9a0bddf800085fc1bd8076997a0","impliedFormat":99},{"version":"239c9e98547fe99711b01a0293f8a1a776fc10330094aa261f3970aaba957c82","impliedFormat":99},{"version":"34833ec50360a32efdc12780ae624e9a710dd1fd7013b58c540abf856b54285a","impliedFormat":99},{"version":"647538e4007dcc351a8882067310a0835b5bb8559d1cfa5f378e929bceb2e64d","impliedFormat":99},{"version":"992d6b1abcc9b6092e5a574d51d441238566b6461ade5de53cb9718e4f27da46","impliedFormat":99},{"version":"938702305649bf1050bd79f3803cf5cc2904596fc1edd4e3b91033184eae5c54","impliedFormat":99},{"version":"1e931d3c367d4b96fe043e792196d9c2cf74f672ff9c0b894be54e000280a79d","impliedFormat":99},{"version":"05bec322ea9f6eb9efcd6458bb47087e55bd688afdd232b78379eb5d526816ed","impliedFormat":99},{"version":"4c449a874c2d2e5e5bc508e6aa98f3140218e78c585597a21a508a647acd780a","impliedFormat":99},{"version":"dae15e326140a633d7693e92b1af63274f7295ea94fb7c322d5cbe3f5e48be88","impliedFormat":99},{"version":"c2b0a869713bca307e58d81d1d1f4b99ebfc7ec8b8f17e80dde40739aa8a2bc6","impliedFormat":99},{"version":"6e4b4ff6c7c54fa9c6022e88f2f3e675eac3c6923143eb8b9139150f09074049","impliedFormat":99},{"version":"69559172a9a97bbe34a32bff8c24ef1d8c8063feb5f16a6d3407833b7ee504cf","impliedFormat":99},{"version":"86b94a2a3edcb78d9bfcdb3b382547d47cb017e71abe770c9ee8721e9c84857f","impliedFormat":99},{"version":"e3fafafda82853c45c0afc075fea1eaf0df373a06daf6e6c7f382f9f61b2deb3","impliedFormat":99},{"version":"a4ba4b31de9e9140bc49c0addddbfaf96b943a7956a46d45f894822e12bf5560","impliedFormat":99},{"version":"d8a7926fc75f2ed887f17bae732ee31a4064b8a95a406c87e430c58578ee1f67","impliedFormat":99},{"version":"9886ffbb134b0a0059fd82219eba2a75f8af341d98bc6331b6ef8a921e10ec68","impliedFormat":99},{"version":"c2ead057b70d0ae7b87a771461a6222ebdb187ba6f300c974768b0ae5966d10e","impliedFormat":99},{"version":"46687d985aed8485ab2c71085f82fafb11e69e82e8552cf5d3849c00e64a00a5","impliedFormat":99},{"version":"999ca66d4b5e2790b656e0a7ce42267737577fc7a52b891e97644ec418eff7ec","impliedFormat":99},{"version":"ec948ee7e92d0888f92d4a490fdd0afb27fbf6d7aabebe2347a3e8ac82c36db9","impliedFormat":99},{"version":"03ef2386c683707ce741a1c30cb126e8c51a908aa0acc01c3471fafb9baaacd5","impliedFormat":99},{"version":"66a372e03c41d2d5e920df5282dadcec2acae4c629cb51cab850825d2a144cea","impliedFormat":99},{"version":"ddf9b157bd4c06c2e4646c9f034f36267a0fbd028bd4738214709de7ea7c548b","impliedFormat":99},{"version":"3e795aac9be23d4ad9781c00b153e7603be580602e40e5228e2dafe8a8e3aba1","impliedFormat":99},{"version":"98c461ec5953dfb1b5d5bca5fee0833c8a932383b9e651ca6548e55f1e2c71c3","impliedFormat":99},{"version":"5c42107b46cb1d36b6f1dee268df125e930b81f9b47b5fa0b7a5f2a42d556c10","impliedFormat":99},{"version":"7e32f1251d1e986e9dd98b6ff25f62c06445301b94aeebdf1f4296dbd2b8652f","impliedFormat":99},{"version":"2f7e328dda700dcb2b72db0f58c652ae926913de27391bd11505fc5e9aae6c33","impliedFormat":99},{"version":"3de7190e4d37da0c316db53a8a60096dbcd06d1a50677ccf11d182fa26882080","impliedFormat":99},{"version":"a9d6f87e59b32b02c861aade3f4477d7277c30d43939462b93f48644fa548c58","impliedFormat":99},{"version":"2bce8fd2d16a9432110bbe0ba1e663fd02f7d8b8968cd10178ea7bc306c4a5df","impliedFormat":99},{"version":"798bedbf45a8f1e55594e6879cd46023e8767757ecce1d3feaa78d16ad728703","impliedFormat":99},{"version":"62723d5ac66f7ed6885a3931dd5cfa017797e73000d590492988a944832e8bc2","impliedFormat":99},{"version":"03db8e7df7514bf17fc729c87fff56ca99567b9aa50821f544587a666537c233","impliedFormat":99},{"version":"9b1f311ba4409968b68bf20b5d892dbd3c5b1d65c673d5841c7dbde351bc0d0b","impliedFormat":99},{"version":"2d1e8b5431502739fe335ceec0aaded030b0f918e758a5d76f61effa0965b189","impliedFormat":99},{"version":"e725839b8f884dab141b42e9d7ff5659212f6e1d7b4054caa23bc719a4629071","impliedFormat":99},{"version":"4fa38a0b8ae02507f966675d0a7d230ed67c92ab8b5736d99a16c5fbe2b42036","impliedFormat":99},{"version":"50ec1e8c23bad160ddedf8debeebc722becbddda127b8fdce06c23eacd3fe689","impliedFormat":99},{"version":"9a0aea3a113064fd607f41375ade308c035911d3c8af5ae9db89593b5ca9f1f9","impliedFormat":99},{"version":"8d643903b58a0bf739ce4e6a8b0e5fb3fbdfaacbae50581b90803934b27d5b89","impliedFormat":99},{"version":"19de2915ccebc0a1482c2337b34cb178d446def2493bf775c4018a4ea355adb8","impliedFormat":99},{"version":"9be8fc03c8b5392cd17d40fd61063d73f08d0ee3457ecf075dcb3768ae1427bd","impliedFormat":99},{"version":"a2d89a8dc5a993514ca79585039eea083a56822b1d9b9d9d85b14232e4782cbe","impliedFormat":99},{"version":"f526f20cae73f17e8f38905de4c3765287575c9c4d9ecacee41cfda8c887da5b","impliedFormat":99},{"version":"d9ec0978b7023612b9b83a71fee8972e290d02f8ff894e95cdd732cd0213b070","impliedFormat":99},{"version":"7ab10c473a058ec8ac4790b05cae6f3a86c56be9b0c0a897771d428a2a48a9f9","impliedFormat":99},{"version":"451d7a93f8249d2e1453b495b13805e58f47784ef2131061821b0e456a9fd0e1","impliedFormat":99},{"version":"21c56fe515d227ed4943f275a8b242d884046001722a4ba81f342a08dbe74ae2","impliedFormat":99},{"version":"d8311f0c39381aa1825081c921efde36e618c5cf46258c351633342a11601208","impliedFormat":99},{"version":"6b50c3bcc92dc417047740810596fcb2df2502aa3f280c9e7827e87896da168a","impliedFormat":99},{"version":"18a6b318d1e7b31e5749a52be0cf9bbce1b275f63190ef32e2c79db0579328ca","impliedFormat":99},{"version":"6a2d0af2c27b993aa85414f3759898502aa198301bc58b0d410948fe908b07b0","impliedFormat":99},{"version":"2da11b6f5c374300e5e66a6b01c3c78ec21b5d3fec0748a28cc28e00be73e006","impliedFormat":99},{"version":"0729691b39c24d222f0b854776b00530877217bfc30aac1dc7fa2f4b1795c536","impliedFormat":99},{"version":"ca45bb5c98c474d669f0e47615e4a5ae65d90a2e78531fda7862ee43e687a059","impliedFormat":99},{"version":"c1c058b91d5b9a24c95a51aea814b0ad4185f411c38ac1d5eef0bf3cebec17dc","impliedFormat":99},{"version":"3ab0ed4060b8e5b5e594138aab3e7f0262d68ad671d6678bcda51568d4fc4ccc","impliedFormat":99},{"version":"e2bf1faba4ff10a6020c41df276411f641d3fdce5c6bae1db0ec84a0bf042106","impliedFormat":99},{"version":"80b0a8fe14d47a71e23d7c3d4dcee9584d4282ef1d843b70cab1a42a4ea1588c","impliedFormat":99},{"version":"a0f02a73f6e3de48168d14abe33bf5970fdacdb52d7c574e908e75ad571e78f7","impliedFormat":99},{"version":"c728002a759d8ec6bccb10eed56184e86aeff0a762c1555b62b5d0fa9d1f7d64","impliedFormat":99},{"version":"586f94e07a295f3d02f847f9e0e47dbf14c16e04ccc172b011b3f4774a28aaea","impliedFormat":99},{"version":"cfe1a0f4ed2df36a2c65ea6bc235dbb8cf6e6c25feb6629989f1fa51210b32e7","impliedFormat":99},{"version":"8ba69c9bf6de79c177329451ffde48ddab7ec495410b86972ded226552f664df","impliedFormat":99},{"version":"15111cbe020f8802ad1d150524f974a5251f53d2fe10eb55675f9df1e82dbb62","impliedFormat":99},{"version":"782dc153c56a99c9ed07b2f6f497d8ad2747764966876dbfef32f3e27ce11421","impliedFormat":99},{"version":"cc2db30c3d8bb7feb53a9c9ff9b0b859dd5e04c83d678680930b5594b2bf99cb","impliedFormat":99},{"version":"46909b8c85a6fd52e0807d18045da0991e3bdc7373435794a6ba425bc23cc6be","impliedFormat":99},{"version":"e4e511ff63bb6bd69a2a51e472c6044298bca2c27835a34a20827bc3ef9b7d13","impliedFormat":99},{"version":"2c86f279d7db3c024de0f21cd9c8c2c972972f842357016bfbbd86955723b223","impliedFormat":99},{"version":"112c895cff9554cf754f928477c7d58a21191c8089bffbf6905c87fe2dc6054f","impliedFormat":99},{"version":"8cfc293b33082003cacbf7856b8b5e2d6dd3bde46abbd575b0c935dc83af4844","impliedFormat":99},{"version":"d2c5c53f85ce0474b3a876d76c4fc44ff7bb766b14ed1bf495f9abac181d7f5f","impliedFormat":99},{"version":"3c523f27926905fcbe20b8301a0cc2da317f3f9aea2273f8fc8d9ae88b524819","impliedFormat":99},{"version":"9ca0d706f6b039cc52552323aeccb4db72e600b67ddc7a54cebc095fc6f35539","impliedFormat":99},{"version":"a64909a9f75081342ddd061f8c6b49decf0d28051bc78e698d347bdcb9746577","impliedFormat":99},{"version":"7d8d55ae58766d0d52033eae73084c4db6a93c4630a3e17f419dd8a0b2a4dcd8","impliedFormat":99},{"version":"b8b5c8ba972d9ffff313b3c8a3321e7c14523fc58173862187e8d1cb814168ac","impliedFormat":99},{"version":"9c42c0fa76ee36cf9cc7cc34b1389fbb4bd49033ec124b93674ec635fabf7ffe","impliedFormat":99},{"version":"6184c8da9d8107e3e67c0b99dedb5d2dfe5ccf6dfea55c2a71d4037caf8ca196","impliedFormat":99},{"version":"4030ceea7bf41449c1b86478b786e3b7eadd13dfe5a4f8f5fe2eb359260e08b3","impliedFormat":99},{"version":"7bf516ec5dfc60e97a5bde32a6b73d772bd9de24a2e0ec91d83138d39ac83d04","impliedFormat":99},{"version":"e6a6fb3e6525f84edf42ba92e261240d4efead3093aca3d6eb1799d5942ba393","impliedFormat":99},{"version":"45df74648934f97d26800262e9b2af2f77ef7191d4a5c2eb1df0062f55e77891","impliedFormat":99},{"version":"3fe361e4e567f32a53af1f2c67ad62d958e3d264e974b0a8763d174102fe3b29","impliedFormat":99},{"version":"28b520acee4bc6911bfe458d1ad3ebc455fa23678463f59946ad97a327c9ab2b","impliedFormat":99},{"version":"121b39b1a9ad5d23ed1076b0db2fe326025150ef476dccb8bf87778fcc4f6dd7","impliedFormat":99},{"version":"f791f92a060b52aa043dde44eb60307938f18d4c7ac13df1b52c82a1e658953f","impliedFormat":99},{"version":"df09443e7743fd6adc7eb108e760084bacdf5914403b7aac5fbd4dc4e24e0c2c","impliedFormat":99},{"version":"eeb4ff4aa06956083eaa2aad59070361c20254b865d986bc997ee345dbd44cbb","impliedFormat":99},{"version":"ed84d5043444d51e1e5908f664addc4472c227b9da8401f13daa565f23624b6e","impliedFormat":99},{"version":"146bf888b703d8baa825f3f2fb1b7b31bda5dff803e15973d9636cdda33f4af3","impliedFormat":99},{"version":"b4ec8b7a8d23bdf7e1c31e43e5beac3209deb7571d2ccf2a9572865bf242da7c","impliedFormat":99},{"version":"3fba0d61d172091638e56fba651aa1f8a8500aac02147d29bd5a9cc0bc8f9ec2","impliedFormat":99},{"version":"a5a57deb0351b03041e0a1448d3a0cc5558c48e0ed9b79b69c99163cdca64ad8","impliedFormat":99},{"version":"9bcecf0cbc2bfc17e33199864c19549905309a0f9ecc37871146107aac6e05ae","impliedFormat":99},{"version":"d6a211db4b4a821e93c978add57e484f2a003142a6aef9dbfa1fe990c66f337b","impliedFormat":99},{"version":"bd4d10bd44ce3f630dd9ce44f102422cb2814ead5711955aa537a52c8d2cae14","impliedFormat":99},{"version":"08e4c39ab1e52eea1e528ee597170480405716bae92ebe7a7c529f490afff1e0","impliedFormat":99},{"version":"625bb2bc3867557ea7912bd4581288a9fca4f3423b8dffa1d9ed57fafc8610e3","impliedFormat":99},{"version":"d1992164ecc334257e0bef56b1fd7e3e1cea649c70c64ffc39999bb480c0ecdf","impliedFormat":99},{"version":"a53ff2c4037481eb357e33b85e0d78e8236e285b6428b93aa286ceea1db2f5dc","impliedFormat":99},{"version":"4fe608d524954b6857d78857efce623852fcb0c155f010710656f9db86e973a5","impliedFormat":99},{"version":"b53b62a9838d3f57b70cc456093662302abb9962e5555f5def046172a4fe0d4e","impliedFormat":99},{"version":"9866369eb72b6e77be2a92589c9df9be1232a1a66e96736170819e8a1297b61f","impliedFormat":99},{"version":"43abfbdf4e297868d780b8f4cfdd8b781b90ecd9f588b05e845192146a86df34","impliedFormat":99},{"version":"582419791241fb851403ae4a08d0712a63d4c94787524a7419c2bc8e0eb1b031","impliedFormat":99},{"version":"18437eeb932fe48590b15f404090db0ab3b32d58f831d5ffc157f63b04885ee5","impliedFormat":99},{"version":"0c5eaedf622d7a8150f5c2ec1f79ac3d51eea1966b0b3e61bfdea35e8ca213a7","impliedFormat":99},{"version":"fac39fc7a9367c0246de3543a6ee866a0cf2e4c3a8f64641461c9f2dac0d8aae","impliedFormat":99},{"version":"3b9f559d0200134f3c196168630997caedeadc6733523c8b6076a09615d5dec8","impliedFormat":99},{"version":"932af64286d9723da5ef7b77a0c4229829ce8e085e6bcc5f874cb0b83e8310d4","impliedFormat":99},{"version":"adeb9278f11f5561157feee565171c72fd48f5fe34ed06f71abf24e561fcaa1e","impliedFormat":99},{"version":"2269fef79b4900fc6b08c840260622ca33524771ff24fda5b9101ad98ea551f3","impliedFormat":99},{"version":"73d47498a1b73d5392d40fb42a3e7b009ae900c8423f4088c4faa663cc508886","impliedFormat":99},{"version":"7efc34cdc4da0968c3ba687bc780d5cacde561915577d8d1c1e46c7ac931d023","impliedFormat":99},{"version":"3c20a3bb0c50c819419f44aa55acc58476dad4754a16884cef06012d02b0722f","impliedFormat":99},{"version":"4569abf6bc7d51a455503670f3f1c0e9b4f8632a3b030e0794c61bfbba2d13be","impliedFormat":99},{"version":"98b2297b4dc1404078a54b61758d8643e4c1d7830af724f3ed2445d77a7a2d57","impliedFormat":99},{"version":"952ba89d75f1b589e07070fea2d8174332e3028752e76fd46e1c16cc51e6e2af","impliedFormat":99},{"version":"b6c9a2deefb6a57ff68d2a38d33c34407b9939487fc9ee9f32ba3ecf2987a88a","impliedFormat":99},{"version":"f6b371377bab3018dac2bca63e27502ecbd5d06f708ad7e312658d3b5315d948","impliedFormat":99},{"version":"31947dd8f1c8eeb7841e1f139a493a73bd520f90e59a6415375d0d8e6a031f01","impliedFormat":99},{"version":"95cd83b807e10b1af408e62caf5fea98562221e8ddca9d7ccc053d482283ddda","impliedFormat":99},{"version":"19287d6b76288c2814f1633bdd68d2b76748757ffd355e73e41151644e4773d6","impliedFormat":99},{"version":"fc4e6ec7dade5f9d422b153c5d8f6ad074bd9cc4e280415b7dc58fb5c52b5df1","impliedFormat":99},{"version":"3aea973106e1184db82d8880f0ca134388b6cbc420f7309d1c8947b842886349","impliedFormat":99},{"version":"765e278c464923da94dda7c2b281ece92f58981642421ae097862effe2bd30fa","impliedFormat":99},{"version":"de260bed7f7d25593f59e859bd7c7f8c6e6bb87e8686a0fcafa3774cb5ca02d8","impliedFormat":99},{"version":"b5c341ce978f5777fbe05bc86f65e9906a492fa6b327bda3c6aae900c22e76c6","impliedFormat":99},{"version":"686ddbfaf88f06b02c6324005042f85317187866ca0f8f4c9584dd9479653344","impliedFormat":99},{"version":"7f789c0c1db29dd3aab6e159d1ba82894a046bf8df595ac48385931ae6ad83e0","impliedFormat":99},{"version":"8eb3057d4fe9b59b2492921b73a795a2455ebe94ccb3d01027a7866612ead137","impliedFormat":99},{"version":"1e43c5d7aee1c5ec20611e28b5417f5840c75d048de9d7f1800d6808499236f8","impliedFormat":99},{"version":"d42610a5a2bee4b71769968a24878885c9910cd049569daa2d2ee94208b3a7a5","impliedFormat":99},{"version":"f6ed95506a6ed2d40ed5425747529befaa4c35fcbbc1e0d793813f6d725690fa","impliedFormat":99},{"version":"a6fcc1cd6583939506c906dff1276e7ebdc38fbe12d3e108ba38ad231bd18d97","impliedFormat":99},{"version":"ed13354f0d96fb6d5878655b1fead51722b54875e91d5e53ef16de5b71a0e278","impliedFormat":99},{"version":"1193b4872c1fb65769d8b164ca48124c7ebacc33eae03abf52087c2b29e8c46c","impliedFormat":99},{"version":"af682dfabe85688289b420d939020a10eb61f0120e393d53c127f1968b3e9f66","impliedFormat":99},{"version":"0dca04006bf13f72240c6a6a502df9c0b49c41c3cab2be75e81e9b592dcd4ea8","impliedFormat":99},{"version":"79d6ac4a2a229047259116688f9cd62fda25422dee3ad304f77d7e9af53a41ef","impliedFormat":99},{"version":"64534c17173990dc4c3d9388d16675a059aac407031cfce8f7fdffa4ee2de988","impliedFormat":99},{"version":"ba46d160a192639f3ca9e5b640b870b1263f24ac77b6895ab42960937b42dcbb","impliedFormat":99},{"version":"5e5ddd6fc5b590190dde881974ab969455e7fad61012e32423415ae3d085b037","impliedFormat":99},{"version":"1c16fd00c42b60b96fe0fa62113a953af58ddf0d93b0a49cb4919cf5644616f0","impliedFormat":99},{"version":"eb240c0e6b412c57f7d9a9f1c6cd933642a929837c807b179a818f6e8d3a4e44","impliedFormat":99},{"version":"4a7bde5a1155107fc7d9483b8830099f1a6072b6afda5b78d91eb5d6549b3956","impliedFormat":99},{"version":"3c1baaffa9a24cc7ef9eea6b64742394498e0616b127ca630aca0e11e3298006","impliedFormat":99},{"version":"87ca1c31a326c898fa3feb99ec10750d775e1c84dbb7c4b37252bcf3742c7b21","impliedFormat":99},{"version":"d7bd26af1f5457f037225602035c2d7e876b80d02663ab4ca644099ad3a55888","impliedFormat":99},{"version":"2ad0a6b93e84a56b64f92f36a07de7ebcb910822f9a72ad22df5f5d642aff6f3","impliedFormat":99},{"version":"523d1775135260f53f672264937ee0f3dc42a92a39de8bee6c48c7ea60b50b5a","impliedFormat":99},{"version":"e441b9eebbc1284e5d995d99b53ed520b76a87cab512286651c4612d86cd408e","impliedFormat":99},{"version":"76f853ee21425c339a79d28e0859d74f2e53dee2e4919edafff6883dd7b7a80f","impliedFormat":99},{"version":"00cf042cd6ba1915648c8d6d2aa00e63bbbc300ea54d28ed087185f0f662e080","impliedFormat":99},{"version":"f57e6707d035ab89a03797d34faef37deefd3dd90aa17d90de2f33dce46a2c56","impliedFormat":99},{"version":"cc8b559b2cf9380ca72922c64576a43f000275c72042b2af2415ce0fb88d7077","impliedFormat":99},{"version":"1a337ca294c428ba8f2eb01e887b28d080ee4a4307ae87e02e468b1d26af4a74","impliedFormat":99},{"version":"5a15362fc2e72765a908c0d4dd89e3ab3b763e8bc8c23f19234a709ecfd202fe","impliedFormat":99},{"version":"2dffdfe62ac8af0943853234519616db6fd8958fc7ff631149fd8364e663f361","impliedFormat":99},{"version":"5dbdb2b2229b5547d8177c34705272da5a10b8d0033c49efbc9f6efba5e617f2","impliedFormat":99},{"version":"6fc0498cd8823d139004baff830343c9a0d210c687b2402c1384fb40f0aa461c","impliedFormat":99},{"version":"8492306a4864a1dc6fc7e0cc0de0ae9279cbd37f3aae3e9dc1065afcdc83dddc","impliedFormat":99},{"version":"c011b378127497d6337a93f020a05f726db2c30d55dc56d20e6a5090f05919a6","impliedFormat":99},{"version":"f4556979e95a274687ae206bbab2bb9a71c3ad923b92df241d9ab88c184b3f40","impliedFormat":99},{"version":"50e82bb6e238db008b5beba16d733b77e8b2a933c9152d1019cf8096845171a4","impliedFormat":99},{"version":"d6011f8b8bbf5163ef1e73588e64a53e8bf1f13533c375ec53e631aad95f1375","impliedFormat":99},{"version":"693cd7936ac7acfa026d4bcb5801fce71cec49835ba45c67af1ef90dbfd30af7","impliedFormat":99},{"version":"195e2cf684ecddfc1f6420564535d7c469f9611ce7a380d6e191811f84556cd2","impliedFormat":99},{"version":"1dc6b6e7b2a7f2962f31c77f4713f3a5a132bbe14c00db75d557568fe82e4311","impliedFormat":99},{"version":"add93b1180e9aaac2dae4ef3b16f7655893e2ecbe62bd9e48366c305f0063d89","impliedFormat":99},{"version":"594bd896fe37c970aafb7a376ebeec4c0d636b62a5f611e2e27d30fb839ad8a5","impliedFormat":99},{"version":"b1c6a6faf60542ba4b4271db045d7faea56e143b326ef507d2797815250f3afc","impliedFormat":99},{"version":"8c8b165beb794260f462679329b131419e9f5f35212de11c4d53e6d4d9cbedf6","impliedFormat":99},{"version":"ee5a4cf57d49fcf977249ab73c690a59995997c4672bb73fcaaf2eed65dbd1b2","impliedFormat":99},{"version":"f9f36051f138ab1c40b76b230c2a12b3ce6e1271179f4508da06a959f8bee4c1","impliedFormat":99},{"version":"9dc2011a3573d271a45c12656326530c0930f92539accbec3531d65131a14a14","impliedFormat":99},{"version":"091521ce3ede6747f784ae6f68ad2ea86bbda76b59d2bf678bcad2f9d141f629","impliedFormat":99},{"version":"202c2be951f53bafe943fb2c8d1245e35ed0e4dfed89f48c9a948e4d186dd6d4","impliedFormat":99},{"version":"c618aead1d799dbf4f5b28df5a6b9ce13d72722000a0ec3fe90a8115b1ea9226","impliedFormat":99},{"version":"9b0bf59708549c3e77fddd36530b95b55419414f88bbe5893f7bc8b534617973","impliedFormat":99},{"version":"7e216f67c4886f1bde564fb4eebdd6b185f262fe85ad1d6128cad9b229b10354","impliedFormat":99},{"version":"cd51e60b96b4d43698df74a665aa7a16604488193de86aa60ec0c44d9f114951","impliedFormat":99},{"version":"b63341fb6c7ba6f2aeabd9fc46b43e6cc2d2b9eec06534cfd583d9709f310ec2","impliedFormat":99},{"version":"be2af50c81b15bcfe54ad60f53eb1c72dae681c72d0a9dce1967825e1b5830a3","impliedFormat":99},{"version":"be5366845dfb9726f05005331b9b9645f237f1ddc594c0def851208e8b7d297b","impliedFormat":99},{"version":"5ddd536aaeadd4bf0f020492b3788ed209a7050ce27abec4e01c7563ff65da81","impliedFormat":99},{"version":"e243b24da119c1ef0d79af2a45217e50682b139cb48e7607efd66cc01bd9dcda","impliedFormat":99},{"version":"5b1398c8257fd180d0bf62e999fe0a89751c641e87089a83b24392efda720476","impliedFormat":99},{"version":"1588b1359f8507a16dbef67cd2759965fc2e8d305e5b3eb71be5aa9506277dff","impliedFormat":99},{"version":"4c99f2524eee1ec81356e2b4f67047a4b7efaf145f1c4eb530cd358c36784423","impliedFormat":99},{"version":"b30c6b9f6f30c35d6ef84daed1c3781e367f4360171b90598c02468b0db2fc3d","impliedFormat":99},{"version":"79c0d32274ccfd45fae74ac61d17a2be27aea74c70806d22c43fc625b7e9f12a","impliedFormat":99},{"version":"1b7e3958f668063c9d24ac75279f3e610755b0f49b1c02bb3b1c232deb958f54","impliedFormat":99},{"version":"779d4022c3d0a4df070f94858a33d9ebf54af3664754536c4ce9fd37c6f4a8db","impliedFormat":99},{"version":"e662f063d46aa8c088edffdf1d96cb13d9a2cbf06bc38dc6fc62b4d125fb7b49","impliedFormat":99},{"version":"d1d612df1e41c90d9678b07740d13d4f8e6acec2f17390d4ff4be5c889a6d37d","impliedFormat":99},{"version":"c95933fe140918892d569186f17b70ef6b1162f851a0f13f6a89e8f4d599c5a1","impliedFormat":99},{"version":"1d8d30677f87c13c2786980a80750ac1e281bdb65aa013ea193766fe9f0edd74","impliedFormat":99},{"version":"4661673cbc984b8a6ee5e14875a71ed529b64e7f8e347e12c0db4cecc25ad67d","impliedFormat":99},{"version":"7f980a414274f0f23658baa9a16e21d828535f9eac538e2eab2bb965325841db","impliedFormat":99},{"version":"20fb747a339d3c1d4a032a31881d0c65695f8167575e01f222df98791a65da9b","impliedFormat":99},{"version":"dd4e7ebd3f205a11becf1157422f98db675a626243d2fbd123b8b93efe5fb505","impliedFormat":99},{"version":"43ec6b74c8d31e88bb6947bb256ad78e5c6c435cbbbad991c3ff39315b1a3dba","impliedFormat":99},{"version":"b27242dd3af2a5548d0c7231db7da63d6373636d6c4e72d9b616adaa2acef7e1","impliedFormat":99},{"version":"e0ee7ba0571b83c53a3d6ec761cf391e7128d8f8f590f8832c28661b73c21b68","impliedFormat":99},{"version":"072bfd97fc61c894ef260723f43a416d49ebd8b703696f647c8322671c598873","impliedFormat":99},{"version":"e70875232f5d5528f1650dd6f5c94a5bed344ecf04bdbb998f7f78a3c1317d02","impliedFormat":99},{"version":"8e495129cb6cd8008de6f4ff8ce34fe1302a9e0dcff8d13714bd5593be3f7898","impliedFormat":99},{"version":"192db023799edb1b012458cee150ae0dd33675a7359d1d878ccd2522a736a343","impliedFormat":99},{"version":"9091b1d4b73ba7b9ee0ac0e62879e50fa76303473b8407ccf80a9ede2f16cba9","impliedFormat":99},{"version":"1dc28867627f66bdf42018dbf2775079ae9c0d546fc35944639f0c150e279743","impliedFormat":99},{"version":"c8856d84b990d98d34ca5ed5789a89ade507a248e08395100f2aa8f067c29fa2","impliedFormat":99},{"version":"6620537f707f42add26c5f47056cf82eaa587f12faaa364bf078fcbc0200ef6f","impliedFormat":99},{"version":"74e8b44b0f188dbe70f147b5fb899d3c8418b2f211ba2ba383798062961cb720","impliedFormat":99},{"version":"dcbed4422ffc65273eacc59c602cf3e59ce052ad9810cf73e9bc5fbad3381f94","impliedFormat":99},{"version":"7b7a2a15cc92749b88fe8f255f7631e3c65de932c0f3d1e96d87b1a992ed6471","impliedFormat":99},{"version":"6f69c10b1f3f0ac3157f88719a16edd13d718b2c2aa44d59a9483e04b05e113d","impliedFormat":1},{"version":"868f16a33ccfa800b82bd0975bc9fe7a4a3aa0d747873e2f7e5886c32665ad6d","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"e749bbd37dadf82c9833278780527c717226e1e2c9bc7b2576c8ec1c40ec5647","impliedFormat":1},{"version":"06814968f2b43b988057a3c8b131e7b3be765e74ff0f1153d23045ad1d7f0886","impliedFormat":99},{"version":"2e5741105f94b1743b387d2d6c4d4f0429d560291aaf7217e2dbc8d540c0a321","impliedFormat":99},{"version":"2e5c41e56098ae93bc42a15473acb1a176f28b2ba95c38f3c67820434acd85b6","impliedFormat":1},{"version":"b99c4ff8d11110b9699edc4e5c3bb304360a70ca47e4f9851fc42ad0b663ba83","affectsGlobalScope":true,"impliedFormat":1},{"version":"ba340fc8e5b0f08d90c6ef8552b8ce7bb5dc8e18d47b57f90dee105bc77d0d9e","affectsGlobalScope":true,"impliedFormat":1},{"version":"0f263eeea7877199808b1bc220df95b25a72695ec214eb96d740d4b06c7cc868","impliedFormat":1},{"version":"a31f62f1cfa12a838e798814f56cd5e53d6b1cd91acd6a2f62a81ded0c02590b","impliedFormat":99},{"version":"e9e22144b696e9efaecd8be1a363253e62a3a22a5f369fdc5b4dbdf70c33775b","impliedFormat":99},{"version":"2f7d8f9babcf77d58bc93664428ec8c29365c40514625e536dcf91180a0564bf","impliedFormat":99},{"version":"20b27cd029eb327457370983012ec5e5df46685fbddef5817eec0e201581573e","impliedFormat":99},{"version":"6c9cf9719786dca332b6f2b5a6393c2631a18c630e7bb90dc1cf65a03f919c73","impliedFormat":99},{"version":"5ed723815432a740881a4c529cdda221d7f1b381937750cf6c60403657be37c7","impliedFormat":99},{"version":"020419d11b839bdd41c61619920a1bc9fde7a782fdbd2df6924d6ba6422b6256","impliedFormat":99},{"version":"27220a7135f3d3652928e734309de6f748e61c6e07b4fa2c6e27b907a132e39a","impliedFormat":99},{"version":"dc96877c215cabb1311644d14c8e9e6fd08eebdddaf6a90221187cf9d7c02337","impliedFormat":99},{"version":"c9a7afc660b2b029fa3a9268c78bbf47226fd232a3c7b0d00c726ef9e2e69817","impliedFormat":99},{"version":"3858041552bc3e1f28a6c14f2f0d7fd86c041b71830f2fbdc724f8ef03bf0587","impliedFormat":99},{"version":"0d420df443c76c8314d3012a3907ecee1ba07900053825d1177432c4ab8e0d76","impliedFormat":99},{"version":"7c3e1a21e812eea99aa86d26d80d6a35560bbb1b362f89c2b8a66680750a1898","impliedFormat":99},{"version":"e0b1a941d9fda4ad0283d8c1240cf89e6bd13182453be8eaebf61f27c99d274f","impliedFormat":99},{"version":"5a84ebd4f47e1e673211884affaed21053107435ddbcb2c8e6ce1a039ca9fb3f","impliedFormat":99},{"version":"fc7fc70cae59b4c5a5cd3a84ffa7fd312b068f71b5a38a8779e35c754abb7912","impliedFormat":99},{"version":"39698e3bd5691d0d1f8b69785178f5340c738c8bb8675d29acd0f0fe1f1f9046","impliedFormat":99},{"version":"60f113cf1674b19522e11d2ef2a02eb517ca84af06ce4aff4e76fd55e4345571","impliedFormat":99},{"version":"1617515d7ce57089a49b59eaf84d019e5591a6dfef16b5cdb7a9a38f4bca32bc","impliedFormat":99},{"version":"575424818bdf7ecfd8cd9a303a55650e8999730a14756ca20484fb5b9c071645","impliedFormat":99},{"version":"9b87a81ba35d2010ecb3644fc5b31df0c276c6354b28701d7a5809cfeadcdba6","impliedFormat":99},{"version":"8be0cd7dc19d53fe5a4ac3a6ad1b9553d5f4e3931eefffbfb57cb1fe7bcf631d","impliedFormat":99},{"version":"4d7d2d7f20baa8eabba748d6742d7d372aa62b65e82a2603f27d73f318f6e0e9","impliedFormat":99},{"version":"4185c0eb52309769527913a8842e8f423a78ae04d8a69f7791849bd0d5f8460d","impliedFormat":99},{"version":"a4cc16e27586c939f86745fdcc3bb818aa724889a8ffb6d00468778e40ff44de","impliedFormat":99},{"version":"6514508737ddcd89c7a5d876cba5c4eeb289d778bf57d4cb3d41ba36fcfd2c02","impliedFormat":99},{"version":"093f90d5e17557c807b6e76256ccd67060f9143e8f7ce994ac76788a1e87aa92","impliedFormat":99},{"version":"7c0d706f4529bf287e4a560cc5cadbc5fa11291f450541feb194744f0453dd24","impliedFormat":99},{"version":"2d089998f9a228be5baab523d75b1912b31c7280f00d8a88898cb028646b5cd1","impliedFormat":99},{"version":"2be319181c49fb501663ed3d09e50ec6f5f877d584117cbca558f9a51b2978c7","impliedFormat":99},{"version":"392eca4da34bd630c360736b9537ec3c3d77006687f415f66a54d03843169eec","impliedFormat":99},{"version":"cd7fab58f8902c8dcc52b8ed360caaa6b0b8ac107eac91641eb91533512d9cce","impliedFormat":99},{"version":"1b14258578fbacb5905cc302ec81ebb0bd8c786e33bee2108ed381d122da1039","impliedFormat":99},{"version":"fe21d99a203a9f2a170c52875cadbd40fafa6c7e8d3bacf19df19d82cfe60860","impliedFormat":99},{"version":"c40b5f40ad781342ba9e8992ab1df9642f6391313d779a167326d4e45b766dcc","impliedFormat":99},{"version":"f1aec9f26eae8fa039636ba26b19eabe54e442e770848b186562ac88665ef791","impliedFormat":99},{"version":"2f8051cfa22e5a15ae9be6dfe4d5184b32275e92265b04a11c035ca39f0be470","impliedFormat":99},{"version":"4ff469e42e0007139d4c18ac6f31a20955c42c824bd2e290938e17bc816c9427","impliedFormat":99},{"version":"2960a783ca4b5aadf5070ebb1c66cda79b5dfccb4397a070a438bc233b3580a1","impliedFormat":99},{"version":"7c7c116666be0bbc96aca681b9bb4d9afb8c417e6dc3e278ce2c38ad2e36a8e4","impliedFormat":99},{"version":"7afc6c01b90425a4d51508f4ed34be5ffa41f48cf47e396a5ac97f4fa276310f","impliedFormat":99},{"version":"0ea87fbb717c95c9659a0908d3db9d7e09729db35ec0be4fc87f6403d73ee601","impliedFormat":99},{"version":"9ecec578fc9353ec166dabe88b0444483b6c6370016b044651380ec6d45fb2aa","impliedFormat":99},{"version":"f58d04b4d4930fc8dc9045d1e70cd2a04bf512a7493b5af18733846568b7e8cf","impliedFormat":99},{"version":"fda4de01fb822dbb05d76f200a5810f75941c138608281c95c181276172eef33","impliedFormat":99},{"version":"bf7a5d6ebd9f63d59b099f653c3bf3af4f66b46da453ed7db9025c3d73e91471","impliedFormat":99},{"version":"5fd1af014582e6e8e4a43259c934026a4c8c0cad9f69b28df6b69b21785cdb08","impliedFormat":99},{"version":"e43dc8ecc36f0452b708dfcac8c615eb848015d5e91ce2f02109638094b6c99d","impliedFormat":99},{"version":"43d6f4441d9337dfc1c59cc8214a1f82cdd5e2736b175c3aba5146bbf29d2b47","impliedFormat":99},{"version":"3fd6b145df6b932f9a189947cf2a4655ca6cf10a5052a4968ac62698829d210c","impliedFormat":99},{"version":"d4df8c284d02f2e3ac24bb2aaee71289b80d3cb5950d61c8af9b0c3121b8f1ba","impliedFormat":99},{"version":"dcb2a7e17276b7e0eba5f614c89f77b4dbe98092e3d7fdfbd97fddd61d5b9f8c","impliedFormat":99},{"version":"4ddac49230b4420200ba667ad664a33e6ba21cac2b222878fea691bd4c46c94d","impliedFormat":99},{"version":"49de2e31605e50caeeb6d67feb6861d4e7e29b35888375aa1dd81cc90de8cfd5","impliedFormat":99},{"version":"1e3491a13442f711c0e2f17cd8d215967ba11c20b16e8e50b96adfa99ebf1f6a","impliedFormat":99},{"version":"6b3e952229f72a6ca6005e56cb9022710a952a58bd28f521c924db2044b7365e","impliedFormat":99},{"version":"0c1430e7f7b198501bd5ff9be1116ee2ec45aba065c0626821fbcbd684026668","impliedFormat":99},{"version":"a0cd53e94116dc57a8a1c3f281bf954033c4c0eb5f0968654efce5b6586fc75d","impliedFormat":99},{"version":"3312ede115245e7864779a1f3a540948fe26d526708964e0f4585d2a756a3aa9","impliedFormat":99},{"version":"93110ec6a5c245ae8ec96a9d66da36a75b799ed1f5af03751c104c0cf0842d9b","impliedFormat":99},{"version":"3800d26d7e0602d6735ea7f8d7c3e3db1dcf14be6bf89616d3372a7c2df21c6d","impliedFormat":99},{"version":"89bf59c1d834a4b01c7d9b5b4cfa64ffed09e59580d27bbadf1acdd69706c200","impliedFormat":1},{"version":"c8adda9f45d2f7ec9fb28c59859db32da6c2835f1fec96433e2729e5805fa46f","impliedFormat":99},{"version":"f5a1b2ccbcb26cea8b577af7882ff2a9294f4df6a45de84592edb5d076e748fe","impliedFormat":1},{"version":"6ac54ff75639970f9936ce0937b54d9813268c59961b681c272ea2c1a679308e","impliedFormat":99},{"version":"4bd7723f59fd5372c8e0f57d458dc155a3bb034c2a601aed37a341018c13bb6b","impliedFormat":99},{"version":"278807e5fbad9a322630a75afb7382edb4a532900eff1ac8c7b05e574051fc21","impliedFormat":99},{"version":"8db3b730cdd1993dde9f7c0e79c4236091c88a12d2f9fba37a2a216fe8193f65","impliedFormat":99},{"version":"d16b9b51d8abfb8b9e404bcebc942c949f91c8b43ded93d000b0d48729f59583","impliedFormat":99},{"version":"30d3d245e92f425010cab4732dcfca5d97585cfd2cb57a5e9c3abdd902bc98f5","impliedFormat":99},{"version":"88b2eb23d36692162f2bf1e50577ebcde26de017260473e03ed9a0e61e2726a4","impliedFormat":99},{"version":"23ffbd8c0e20a697d2ea5a0cf7513fb6e42c955a7648f021da12541728f62182","impliedFormat":99},{"version":"c127ebf14d1b59d1604865008fb072865c5ca52277621f566092fe1f42ce0954","impliedFormat":99},{"version":"def638da26d84825a312113a20649d3086861de7c06a18ea13121278702976fd","impliedFormat":99},{"version":"fbaf86f8ba11298dea2727ce0da84b4ab6ae6c265e1919d44aff7d9b2bbc578a","impliedFormat":99},{"version":"c1010caaeaca8e420c6e040c2e822dbe18702459c93a7d2d5de38597d477b8cd","impliedFormat":99},{"version":"e1f0d8392efd9d71f2644eb97d3f33d90827e30ea8051d93b6f92bb11dff520a","impliedFormat":99},{"version":"085211167559ca307d4053bb8d2298d5ad83cbc3d2ae9bb4c8435a4cabf59369","impliedFormat":99},{"version":"12a2b25c7c9c05c8994adf193e65749926acfcc076381f7166c2f709a97bdf0a","impliedFormat":99},{"version":"0f93a3fdd517c1e45218cd0027c1d6b82237e379dc6b66d693aab1fe74c82e81","impliedFormat":99},{"version":"3b568b63f0e8b3873629a4d7a918dce4266ad41461004ab979f8dcdfd13532bb","impliedFormat":99},{"version":"8a2619c8e24305f6b9700b35af178394b995dcb28690a57a71cca87ee7e709ae","impliedFormat":99},{"version":"f95fd2fc3cc164921a891f5d6c935fa0d014a576223dd098fc64677e696b0025","impliedFormat":99},{"version":"2b7a82692ecc877c5379df9653902e23f2d0d0bc9f210ec3cf9e47be54413c5c","impliedFormat":99},{"version":"e2ad09c011cf9d7ee128875406bef787eeb504659495f42656a0098c15fe646c","impliedFormat":99},{"version":"eb518567ea6b0b2623f9a6d37c364e1b1ac9d8b508d79e558f64ac05c17e2685","impliedFormat":99},{"version":"aa82876d59912d25becff5a79ed7341af04c71bfeb2221cc0417bc34531125e2","impliedFormat":99},{"version":"b084a412374bdd124048c52c4e8a82d64f3adec6c0a9ad5ecbb7317636039b0f","impliedFormat":99},{"version":"11199daa694c3ced3cc2a382a3fa7bd64e95eb40f9bbc3979fc8fb43f5ba38cc","impliedFormat":99},{"version":"2c86f279d7db3c024de0f21cd9c8c2c972972f842357016bfbbd86955723b223","impliedFormat":99},{"version":"f4e8f4151c3490cf7b68c685aabe901cbab19f962aaa2f118a97550e22689a76","impliedFormat":1},{"version":"799003c0ab928582fca04977f47b8d85b43a8de610f4eef0ad2d069fbb9f9399","impliedFormat":1},{"version":"d998eea476c695d8e4ff9d007d5b46d49ca2ffa052f74dc20ca516425abd57b1","impliedFormat":1},{"version":"310fe80ff40a158c2de408efbe9de11e249c53d2de5e33ca32798e6f3fbc8822","impliedFormat":99},{"version":"9c86abbc4fd0248f56abc12aaecd76854517389af405d5ec2eb187fdb00a606f","impliedFormat":99},{"version":"69fab68a769c17a52a24b868aeb644f3ee14abaa5064115f575ddd59231105ce","impliedFormat":99},{"version":"e181eb86b2caf80fe18c72efce6b913bc226e4a69a5456eaf4f859f1c29c6fd6","impliedFormat":99},{"version":"93f7871380478bc6acf02ad9f3dc7da0c21997caebbe782eb93a11b7bd06a46d","impliedFormat":99},{"version":"154f23902d7a3fcdace4c20b654da7355fee4b7f807d1f77d6c9a24a8756013a","impliedFormat":99},{"version":"1589e5ac394b2b2e64264da3e1798d0e103b4f408f5bae1527d9e706f98269c7","impliedFormat":99},{"version":"a0f8ce72cb02247a112ce4a2fa0f122478a8e99c90a5e6b676b41a68b1891ad2","impliedFormat":99},{"version":"6e957ea18b2bf951cf3995d115ad9bfa439e8d891aeb1afc901d793202c0b90d","impliedFormat":99},{"version":"04718c7325e7df4bac9a6d026a0a2bd5a8b54501f274aaf93a03b5d1d0635bd1","impliedFormat":99},{"version":"405205f932d4e0ce688a380fa3150b1c7ff60e7fc89909e11a33eab7af240edb","impliedFormat":99},{"version":"a0bd46d587005aad4819980f6cf2dbcd80ebf584ed1a946202326a27158ba70e","impliedFormat":1},{"version":"07fcbb61a71bd69a92a5bbde69e60654666cf966b5675c2010c3bf9f436f056a","impliedFormat":1},{"version":"88b2eb23d36692162f2bf1e50577ebcde26de017260473e03ed9a0e61e2726a4","impliedFormat":1},{"version":"23ffbd8c0e20a697d2ea5a0cf7513fb6e42c955a7648f021da12541728f62182","impliedFormat":1},{"version":"43fba5fc019a4ce721a6f53ddb97fdc34c55049cfb793bc544d5c864ee5560b9","impliedFormat":1},{"version":"f4e12292c9a7663a13d152195019711c427c552eb0fa02705e0f61370cd5547a","impliedFormat":1},{"version":"c127ebf14d1b59d1604865008fb072865c5ca52277621f566092fe1f42ce0954","impliedFormat":1},{"version":"def638da26d84825a312113a20649d3086861de7c06a18ea13121278702976fd","impliedFormat":1},{"version":"fbaf86f8ba11298dea2727ce0da84b4ab6ae6c265e1919d44aff7d9b2bbc578a","impliedFormat":1},{"version":"c1010caaeaca8e420c6e040c2e822dbe18702459c93a7d2d5de38597d477b8cd","impliedFormat":1},{"version":"e1f0d8392efd9d71f2644eb97d3f33d90827e30ea8051d93b6f92bb11dff520a","impliedFormat":1},{"version":"085211167559ca307d4053bb8d2298d5ad83cbc3d2ae9bb4c8435a4cabf59369","impliedFormat":1},{"version":"55fc49198d8a85a73cdb79e596d9381cfdc9de93c32c77d42e661c1c1e7268ef","impliedFormat":1},{"version":"6a53fb3df8dd32ed1a65502ca30aeae19cfe80990e78ba68162d6cb2a7fed129","impliedFormat":1},{"version":"b5dcc18d7902597a5584a43c1146ca4fe0295ceb5125f724c1348f6a851dd6ed","impliedFormat":1},{"version":"0c6b0f3fbe6eb6a3805170b3766a341118c92ed7b6d1f193b9f35aa82f594846","impliedFormat":1},{"version":"60eaadb36cf157c5cae9c40e84fa367d04f52a150db3920dbe35139780739143","impliedFormat":1},{"version":"4680a32b1098c49dc87881329af1e68af9af94e051e1b9e19fed555a786f6ce6","impliedFormat":1},{"version":"89fcd129ec37f321cddcdb6b258ffe562de4281e90ec3ccbe7c1199ba39359ca","impliedFormat":1},{"version":"4313011f692861c2c1f5205d7f9a473e763adab6444f9853b96937b187fb19f7","impliedFormat":1},{"version":"caa57157e7bdb8d5f1efe56826fb84a6c8f22a1927bba7fa21fd54e2a44ccba2","impliedFormat":1},{"version":"6b74700abfe4a9b88be957fd8e373cfd998efb1a5f6ad122da49a92997e183ad","impliedFormat":1},{"version":"9ef1342f193bd8bae86c64e450c3ac468ef08652110355e1f3cdd45362eb95c4","impliedFormat":1},{"version":"6853c91662c36a2bf4c8371a87177c819007c76a23c293ef3f686ce9157ae4c8","impliedFormat":1},{"version":"9be1c5dabce43380d13fc621100676b03d420b5687b08d1288f479bee68ab7a8","impliedFormat":1},{"version":"8996d218010896712678e6a0337d8ef8b81c1066ab76f637dd8253f0d6ff838d","impliedFormat":1},{"version":"a15603bf387fc45defe28a68f405a6c29105e135c4e8538eeb6d0a1ef5b69a81","impliedFormat":1},{"version":"84e2532e4d42949a2775cdd8bb7b2b97370dd6ddb683d0c199b21bf6978b152d","impliedFormat":1},{"version":"22bf5f19f620db3b8392cfece44bdd587cdbed80ba39c88a53697d427135bf37","impliedFormat":1},{"version":"23ebbd8d484d07e1c1d8783169c20570ed8409966b28f6be6cf8e970d76ef491","impliedFormat":1},{"version":"18b6fa2c778cad6489f2febf76433453f5e2432ec3535f2d45ae7d803b93cc17","impliedFormat":1},{"version":"609d0d7419999cf44529e6ba687e2944b2fc7ad2570d278fd4e6b1683c075149","impliedFormat":1},{"version":"249cf421b8878a3fe948d9c02f6b0bae65491b3bb974c2ffc612341406fa78ff","impliedFormat":1},{"version":"b4aa22522d653428c8148ddbf1dcc1fb3a3471e15eb1964429a67c390d8c7f38","impliedFormat":1},{"version":"30b2cee905b1848b61c7d28082ebfa2675dd5545c0d25d1c093ce21a905cdccc","impliedFormat":1},{"version":"0a2a2eed4137368735205de97c245f2a685af1a7f1bf8d636b918a0ee4ff4326","impliedFormat":1},{"version":"69f342ce86706aa2835a62898e93ea7a1f21b1d89c70845da69371441bb6cd56","impliedFormat":1},{"version":"b5ab4282affcfd860dd1cc3201653f591509a586d110f8e5b1b010508ba79b2c","impliedFormat":1},{"version":"d396233f6cd3edf0d33c2fbfc84ded029c3ea4a05af3c94d09d31a367cced111","impliedFormat":1},{"version":"bc41a726c817624a5136ae893d7aac7c4dc93c771e8d243a670324bccf39b02b","impliedFormat":1},{"version":"710728600e4b3197f834c4dd1956443be787d2e647a72f190bf6519f235aaadd","impliedFormat":1},{"version":"a45097e01ef30ba26640fed365376ab3ccd5faf97d03f20daff3355a7e60286a","impliedFormat":1},{"version":"763cbb7c22199f43fd5c2b1566af5ba96bf7366f125dd31a038a2291cbc89254","impliedFormat":1},{"version":"031933bf279b7563e11100b5e1746397caf3a278596796a87bc0db23cf68dc9e","impliedFormat":1},{"version":"a4a54c1f58fc6e25a82e2c0f651bf680058bd7f72cfb2d43b85ee0ab5fe2e87e","impliedFormat":1},{"version":"9613d789b6f1037f2523a8f70e1b736f1da4566b470593da062be5c9e13dac57","impliedFormat":1},{"version":"0d2a320763a0c9c71493f8f1069971018c8720a6e7e5a8f10c26b6de79aa2f7d","impliedFormat":1},{"version":"817e0df27a237a268dc16e5acffc19f9a74467093af7a0ba164ee927007a4d25","impliedFormat":1},{"version":"43102521b5ca50ff1865188c3c60790feaed94dc9262b25d4adec4dbc76f9035","impliedFormat":1},{"version":"f99947f8d873b960b0115e506ef9c43f4e40c2071b1d20375564538af4a6023b","impliedFormat":1},{"version":"c1e5ad5ca89d18d2a36d25e8ec105623648cf35615825e202c7d8295a49d61ab","impliedFormat":1},{"version":"2b6c9cb81da4e0a2e32a58230e8c0dec49fc5b345efb7f7a3648b98956be4b13","impliedFormat":1},{"version":"99e34af3ede50062dcc826a1c3ce2d45562060dfd0f29f8066381a6ef548bf2a","impliedFormat":1},{"version":"49f5c2a23ea5fc4b2cdb4426f09d1c8b83f8409fa2af13ef38845cc9b9d4bc3d","impliedFormat":1},{"version":"e935227675144b64ecde3489e4a5e242eeb25fdd6b7464b8c21ad1f7a0faa88b","impliedFormat":1},{"version":"b42e6bbe88dc79c2d6dc5605fb9c15184e70f64bdd7b8d4069b802b90ce86df6","impliedFormat":1},{"version":"b9cd712399fdc00fdae07e96c9b39c3cb311e2a8a5425f1bd583f13cab35e44b","impliedFormat":1},{"version":"5a978550ae131b7fef441d67372fd972abab98ea9fdb9fa266e8bdc89edcb8d6","impliedFormat":1},{"version":"4f287919cfc1d26420db9f0457cd5c8780b1ef0a9f949570936abe48d3a43d91","impliedFormat":1},{"version":"496b23b2fd07e614bc01d90dd4388996cb18cd5f3a612d98201e9f683e58ad2e","impliedFormat":1},{"version":"dcfbe42824f37c5fb6dc7b9427ef2500791ec0d30825ecb614f15b8d5bf5a667","impliedFormat":1},{"version":"390124ad2361b46bf01851d25e331cd7eed355d04451d8b2a4aa985c9de4f8ce","impliedFormat":1},{"version":"14d94f17772c3a58eda01b6603490983d845ee2012cd643f7497b4e22566aacb","impliedFormat":1},{"version":"03ef2386c683707ce741a1c30cb126e8c51a908aa0acc01c3471fafb9baaacd5","impliedFormat":1},{"version":"66a372e03c41d2d5e920df5282dadcec2acae4c629cb51cab850825d2a144cea","impliedFormat":1},{"version":"5b48ba9a30a93176a93c87f9e0abf26a9df457eeb808928009439ca578b56f27","impliedFormat":1},{"version":"4707625392316d3c16edbd0716f4ac310e8ff5d346d58f4d01a2b7e0533a23df","impliedFormat":1},{"version":"154d58a4b2d9c552dc864ea39c223d66efd0ed2dd8b55bd13db5225d14322915","impliedFormat":1},{"version":"6a830433fa072931b4ea3eb9aa5fa7d283f470080586a27bfe69837a0f12de9a","impliedFormat":1},{"version":"d25e930e181f4f69b2b128514538f2abb54ef1d48a046ad776ac6f1cda885a72","impliedFormat":1},{"version":"0259b4c21bc93b52ca82c755f97fc90481072bcc44a8010131b2ea7326cf03fe","impliedFormat":1},{"version":"bea43a13a1104a640da0cb049db85c6993f484a6cc03660496b97824719ecc91","impliedFormat":1},{"version":"0224239d61fe66d4900544d912b2e11c2cca24b4707d53fdb94b874a01e29f48","impliedFormat":1},{"version":"2bce8fd2d16a9432110bbe0ba1e663fd02f7d8b8968cd10178ea7bc306c4a5df","impliedFormat":1},{"version":"9c4ad63738346873d685e5c086acbf41199e7022eff5b72bb668931e9ca42404","impliedFormat":1},{"version":"cfb6329bf8ce324e83fe4bbdee537d866a0d5328246f149a0958b75d033de409","impliedFormat":1},{"version":"efc3816f19ea87a7050c84271ea3d3aad9631a517c168013c4f4b6724c287ce0","impliedFormat":1},{"version":"f99f6737336140047e8dd4ade3859f08331aa4b17bc2bd5f156a25c54e0febbc","impliedFormat":1},{"version":"12a2b25c7c9c05c8994adf193e65749926acfcc076381f7166c2f709a97bdf0a","impliedFormat":1},{"version":"0f93a3fdd517c1e45218cd0027c1d6b82237e379dc6b66d693aab1fe74c82e81","impliedFormat":1},{"version":"03c753da0bee80ad0d0f1819b9b42dfe9bf9f436664caf15325aa426246fd891","impliedFormat":1},{"version":"18f5bf1dae429c451f20171427c9e3223fade4346af4dfd817725cbeb247a09d","impliedFormat":1},{"version":"a4eece5fab202e840dd84f7239e511017a8162edb8fc8b54ff2851c5c844125c","impliedFormat":1},{"version":"c4a94af483a63bf947d89f97553a55df5107c605ec8a26f0b9b8bdcc14bd6d89","impliedFormat":1},{"version":"19de2915ccebc0a1482c2337b34cb178d446def2493bf775c4018a4ea355adb8","impliedFormat":1},{"version":"9be8fc03c8b5392cd17d40fd61063d73f08d0ee3457ecf075dcb3768ae1427bd","impliedFormat":1},{"version":"3b568b63f0e8b3873629a4d7a918dce4266ad41461004ab979f8dcdfd13532bb","impliedFormat":1},{"version":"a5e5223c775fe30d606b8aaa521953c925d5ad176a531c2b69437d2461aaabbd","impliedFormat":1},{"version":"8cbf41d2d1ce8ac2066783ae00613c33feef07493796f638e30beaf892e4354a","impliedFormat":1},{"version":"e22ad737718160df198cd428f18da707177d0467934cecdeed4be6e067b0c619","impliedFormat":1},{"version":"15bf5ed8cb7c1a1e1db53fa9b45bc1a1c73c0497735343a8d0c59fdb596a3744","impliedFormat":1},{"version":"791fce84bce8b6948e4f23422d9cbbd7d08c74b3f91cca12dcae83d96079798b","impliedFormat":1},{"version":"8a2619c8e24305f6b9700b35af178394b995dcb28690a57a71cca87ee7e709ae","impliedFormat":1},{"version":"f95fd2fc3cc164921a891f5d6c935fa0d014a576223dd098fc64677e696b0025","impliedFormat":1},{"version":"8c9cecaaa9caba9a8caa47f46dcf24b524b27899b286d8edcc75a81b370d2ba3","impliedFormat":1},{"version":"2b7a82692ecc877c5379df9653902e23f2d0d0bc9f210ec3cf9e47be54413c5c","impliedFormat":1},{"version":"e2ad09c011cf9d7ee128875406bef787eeb504659495f42656a0098c15fe646c","impliedFormat":1},{"version":"eb518567ea6b0b2623f9a6d37c364e1b1ac9d8b508d79e558f64ac05c17e2685","impliedFormat":1},{"version":"630a48fb8f6b07161588e0aee3f9d301c59c97e1532c884118f89368baf4073b","impliedFormat":1},{"version":"14736c608aa46120f8d6d0bc5e0721b46b927bc7eba20e479600571935f27062","impliedFormat":1},{"version":"7574803692d2230db13205a7749b9c3587dccaccdf9e76f003f9e08078bb6d09","impliedFormat":1},{"version":"f3cc1588e666651c51353b1728460bee8acbc6e0f36be8c025eaaf292dca525d","impliedFormat":1},{"version":"0d4ea8a20527dcf3ad6cf1bd188b8ad4e449df174fad09b9e540ed81080af834","impliedFormat":1},{"version":"aa82876d59912d25becff5a79ed7341af04c71bfeb2221cc0417bc34531125e2","impliedFormat":1},{"version":"6f4b0389f439adc84cba35d45428668eabcfbdd351ba17e459d414ca51ab8eb8","impliedFormat":1},{"version":"d5dd33d15fbb07668c264b38065ac542a07a7650af4917727bbc09b58570e862","impliedFormat":1},{"version":"7d90202d0212e9cdc91a20bfddf04a539c89f09fe1d64db3343546fa2eb37e71","impliedFormat":1},{"version":"1a5d073c95a3a4480b17d2fa7fd41862a9df0cb2afaee86834b13649e96bdb45","impliedFormat":1},{"version":"2092495a5b3116c760527a690c4529748f2d8b126cdd5f56b2ce2230b48aba3f","impliedFormat":1},{"version":"620b29d6adbd4061bc0a8fedf145fcc8e8fc9648fb6e0a39726e33babb4e07bc","impliedFormat":1},{"version":"931eda51b5977f7f3fa7a0d9afde01cfd8b0cc1df0bb66dcf8c2cf6e7090384e","impliedFormat":1},{"version":"b084a412374bdd124048c52c4e8a82d64f3adec6c0a9ad5ecbb7317636039b0f","impliedFormat":1},{"version":"11199daa694c3ced3cc2a382a3fa7bd64e95eb40f9bbc3979fc8fb43f5ba38cc","impliedFormat":1},{"version":"2c86f279d7db3c024de0f21cd9c8c2c972972f842357016bfbbd86955723b223","impliedFormat":1},{"version":"dfb53b9d748df3e140b0fddb75f74d21d7623e800bb1f233817a1a2118d4bb24","impliedFormat":1},{"version":"8cfc293b33082003cacbf7856b8b5e2d6dd3bde46abbd575b0c935dc83af4844","impliedFormat":1},{"version":"7730c538d6d35efe95d2c0d246b1371565b13037e893178033360b4c9d2ac863","impliedFormat":1},{"version":"b256694544b0d45495942720852d9597116979d52f2b53c559fda31f635c60df","impliedFormat":1},{"version":"794e8831c68cc471671430ee0998397ea7a62c3b706b30304efdc3eaff77545a","impliedFormat":1},{"version":"9cfc1b227477e31988e3fb18d26b6988618f4a5da9b7da6bc3df7fc12fb2602e","impliedFormat":1},{"version":"264a292b6024567dd901fdabbf3239a8742bea426432cdbda4cf390b224188e1","impliedFormat":1},{"version":"f1556a28bb8e33862dcfa9da7e6f1dca0b149faf433fe6a50153ae76f3362db1","impliedFormat":1},{"version":"1d321aea1c6a77b2a44e02e5c2aeff290e3f1675ead1a86652b6d77f5fea2b32","impliedFormat":1},{"version":"4910efc2ce1f96d6e71a9e7c9437812ffae5764b33ab3831c614663f62294124","impliedFormat":1},{"version":"e3ceab51a36e8b34ab787af1a7cf02b9312b6651bac67c750579b3f05af646c1","impliedFormat":1},{"version":"baf9f145bcee1b765bed6e79fd45e1ff0ca297a81315944de81eb5d6fff2d13d","impliedFormat":1},{"version":"2afd62362b83db93cd20de22489fe4d46c6f51822069802620589a51ccad4b99","impliedFormat":1},{"version":"9f0cd9bd4ab608123b88328c78814738cbdee620f29258b89ef8cd923f07ff9c","impliedFormat":1},{"version":"801186c9e765583c825f28dab63a7ad12db5609e36dc6d9acbdc97d23888a463","impliedFormat":1},{"version":"96c515141c6135ccd6fb655fb9e3500074a9216ba956fb685dc8edc33f689594","impliedFormat":1},{"version":"416af6d65fc76c9ced6795f255cb1096c9d7947bede75b82289732b74d902784","impliedFormat":1},{"version":"a280c68b128ebba35fb044965d67895201c2f83b6b28281bb8b023ade68bf665","impliedFormat":1},{"version":"6fa118f15723b099a41d3beea98ed059bcd1b3eda708acf98c5eff0c7e88832f","impliedFormat":1},{"version":"dcbf582243e20ea50d283f28f4f64e9990b4ed4a608757e996160c63cff6aa99","impliedFormat":1},{"version":"efa432d8fd562529c4e9f859fd936676dd8fef5d3b4bedb06f754e4740056ea9","impliedFormat":1},{"version":"a59b66720b2ccf2e0150fafb49e8da8dabdf4e1be36244a4ccd92f5bd18e1e9e","impliedFormat":1},{"version":"c657fb1ec3b727d6a14a24c71ea20c41cb7d26a503e8e41b726bb919eb964534","impliedFormat":1},{"version":"50d6d3174868f6e974355bf8e8db8c8b3fcf059315282a0c359ecf799d95514a","impliedFormat":1},{"version":"86bf79091014a1424fc55122caa47f08622b721a4d614b97dd620e3037711541","impliedFormat":1},{"version":"7a63313dff3a57f824a926e49a7262f7bd14e0e833cf45fa5af6da25286769c2","impliedFormat":1},{"version":"36dcaeffe1a1aed1cb84d4feba32895bf442795170edccc874fa32232b2354e5","impliedFormat":1},{"version":"686c6962d04d90edafc174aa5940acb9c9db8949c8d425131c01d796cf9a3aef","impliedFormat":1},{"version":"2b1dbc3d5762d6865744b6e7be94b8b9004097698c37e93e06983e42dd8fe93b","impliedFormat":1},{"version":"eb5e8f74826bdf3a6a0644d37a0f48133f8ad0b5298cc2c574102868542ba4eb","impliedFormat":1},{"version":"c6a82a9673ba517cf04dd0803513257d0adf101aed2e3b162a54d840c9a1a3b2","impliedFormat":1},{"version":"fc9f0f415abaa323efcecc4a4e0b6763bfe576e32043546d44f1de6541b6399b","impliedFormat":1},{"version":"2c4d772ac7ac56a44deef82903364eb7c78dd7bc997701123df0ce4639fe39bb","impliedFormat":1},{"version":"9369ef11eed17c1c223fdea9c0fa39e83f3722914ef390b1448db3d71620c93a","impliedFormat":1},{"version":"aa84130dbc9049bba6095f87932138698f53259b642635f6c9e92dd0ddc7512c","impliedFormat":1},{"version":"084ceadd21efabd4b58667dca00d4f644306099151d2ee18cd28a395855b8009","impliedFormat":1},{"version":"b9503e29f06c99b352b7cae052da19e3599fa42899509d32b23a27c9bb5bebf6","impliedFormat":1},{"version":"75188920fe6ccc14070fe9a65c036049f1141d968c627b623d4a897ec3587e15","impliedFormat":1},{"version":"e2e1df7f45013d2b34f8d08e6ae5a9339724b0ea251b5445fcca3e170e640105","impliedFormat":1},{"version":"af06feb5d18a6ea11c088b683bdb571800d1f76b98d848eecdf41e5ec8f317fd","impliedFormat":1},{"version":"0596af52b95e0c8adc2c07f49f109d746b164739c5866fa8bb394dd6329a3725","impliedFormat":1},{"version":"c3365d08fe7a1ccc3b8e8638edc30123007f3241b4604e2585b9f14422ab97d8","impliedFormat":1},{"version":"a7a3d96b04bb0ec8cb7d2669767c4756f97dd70d08548f9e6522dde4de8e8a03","impliedFormat":1},{"version":"745e960e885a4ba04c872225cbb44bd67a7490d169ceaefab7c0dfc444768676","impliedFormat":1},{"version":"0b1ce1768cde3535493a9daf99e3bbb8c7dcc3a7f9d8cd358cb846af71ce5cdf","impliedFormat":1},{"version":"48b9603f6e8a7c94b727277592a089f94261baa64e6c9d18165da0481663a69e","impliedFormat":1},{"version":"3c20a3bb0c50c819419f44aa55acc58476dad4754a16884cef06012d02b0722f","impliedFormat":1},{"version":"4dc64902cb86e677a928293593658fbf53388f9a30d2b934140c70a7267b07ec","impliedFormat":1},{"version":"cb4fd56539a61d163ea9befe6b0292c32aa68a104c1f68f61416f1bc769bcfba","impliedFormat":1},{"version":"0d852bdc2b72b22393a8eebe374ee3efe3e0d44e630037b5e1b6087985388e62","impliedFormat":1},{"version":"b6c9a2deefb6a57ff68d2a38d33c34407b9939487fc9ee9f32ba3ecf2987a88a","impliedFormat":1},{"version":"f6b371377bab3018dac2bca63e27502ecbd5d06f708ad7e312658d3b5315d948","impliedFormat":1},{"version":"faa72893e85cb8ebb1dafde6b427e5204e60bb5f3ee6576bb64c01db1f255bc8","impliedFormat":1},{"version":"95b7ed47b31a6eaddcdd853ee0871f2bb61e39ce36a01d03dfafb83766f6c10c","impliedFormat":1},{"version":"19287d6b76288c2814f1633bdd68d2b76748757ffd355e73e41151644e4773d6","impliedFormat":1},{"version":"fc4e6ec7dade5f9d422b153c5d8f6ad074bd9cc4e280415b7dc58fb5c52b5df1","impliedFormat":1},{"version":"3aea973106e1184db82d8880f0ca134388b6cbc420f7309d1c8947b842886349","impliedFormat":1},{"version":"765e278c464923da94dda7c2b281ece92f58981642421ae097862effe2bd30fa","impliedFormat":1},{"version":"de260bed7f7d25593f59e859bd7c7f8c6e6bb87e8686a0fcafa3774cb5ca02d8","impliedFormat":1},{"version":"d95c4eaad4df9e564859f0c74a177fa0b2e5f8a155939b52580566ab6b311c3f","impliedFormat":1},{"version":"7192a6d17bfa06e83ba14287907b7c671bef9b7111c146f59c6ea753cfc736b9","impliedFormat":1},{"version":"5156d3d392db5d77e1e2f3ea723c0a8bd3ca8acffe3b754b10c84b12f55a6e10","impliedFormat":1},{"version":"a6494e7833ee04386a9f0c686726f7cb05f52f6e069d9293475ccb1e791ee0da","impliedFormat":1},{"version":"d9af0c89a310256851238f509a22aa1071a464d35dc22ea8c2a0bae42dd81bc5","impliedFormat":1},{"version":"291642a66e55e6ca38b029bc6921c7301f5c7b7acf21ae588a5f352e6c1f6d58","impliedFormat":1},{"version":"43cd7c37298b051d1ce0307d94105bcd792c6c7e017282c9d13f1097c27408e8","impliedFormat":1},{"version":"e00d8cce6e2e627654e49c543b582568ad0bf27c1d4ad1018d26aff78d7599df","impliedFormat":1},{"version":"ed13354f0d96fb6d5878655b1fead51722b54875e91d5e53ef16de5b71a0e278","impliedFormat":1},{"version":"fcb934d0fcdee06a8571bd90aa3a63aa288c784b3ebcecfe7ae90d3104d321f4","impliedFormat":1},{"version":"af682dfabe85688289b420d939020a10eb61f0120e393d53c127f1968b3e9f66","impliedFormat":1},{"version":"0dca04006bf13f72240c6a6a502df9c0b49c41c3cab2be75e81e9b592dcd4ea8","impliedFormat":1},{"version":"7dc0b5e3d7be8e1f451f0545448c2eaa02683f230797d24434b36f9820d5a641","impliedFormat":1},{"version":"247af61cdc3f4ec7876b9e993a2ecdd069e10934ff790c9cee5811842bff49eb","impliedFormat":1},{"version":"4be8c2c63d5cd1381081d90021ddfaef106881df4129eddeeaba906f2d0f75d0","impliedFormat":1},{"version":"012f621d6eb28172afb1b2dc23898d8bc74cf35a6d76b63e5581aa8e50fa71b3","impliedFormat":1},{"version":"3a561fa91097e4580c5349ce72e69d247c31c11d29f39e1d0bd3716042ff2c0b","impliedFormat":1},{"version":"bc9981a79dda3badea61d716d368a280c370267e900f43321f828495f4fef23c","impliedFormat":1},{"version":"2ed3b93d55aea416d7be8d49fe25016430caab0fe64c87d641e4c2c551130d17","impliedFormat":1},{"version":"3d66dfc31dd26092c3663d9623b6fc5cec90878606941a19e2b884c4eacd1a24","impliedFormat":1},{"version":"6916c678060af14a8ce8d78a1929d84184e9507fba7ab75142c1bcb646e1c789","impliedFormat":1},{"version":"3eea74afae095028597b3954bde69390f568afc66d457f64fff56e416ea47811","impliedFormat":1},{"version":"549fb2d19deb7d7cae64922918ddddf190109508cc6c7c47033478f7359556d2","impliedFormat":1},{"version":"e7023afc677a74f03f8ccb567532fe9eedd1f5241ee74be7b75ac2336514f6f6","impliedFormat":1},{"version":"ff55505622eac7d104b9ab9570f4cc67166ba47dd8f3badfb85605d55dd6bdc9","impliedFormat":1},{"version":"102fac015b1eebfa13305cb90fd91a4f0bbcabb10f2343556b3483bbb0a04b62","impliedFormat":1},{"version":"18a1f4493f2dbad5fd4f7d9bfba683c98cf5ed5a4fa704fa0d9884e3876e2446","impliedFormat":1},{"version":"f57e6707d035ab89a03797d34faef37deefd3dd90aa17d90de2f33dce46a2c56","impliedFormat":1},{"version":"cc8b559b2cf9380ca72922c64576a43f000275c72042b2af2415ce0fb88d7077","impliedFormat":1},{"version":"1a337ca294c428ba8f2eb01e887b28d080ee4a4307ae87e02e468b1d26af4a74","impliedFormat":1},{"version":"310fe80ff40a158c2de408efbe9de11e249c53d2de5e33ca32798e6f3fbc8822","impliedFormat":1},{"version":"d6ce96c7bb34945c1d444101f44e0f8ba0bba8ab7587a6cc009a9934b538c335","impliedFormat":1},{"version":"1b10a2715917601939a9288d49beccd45b591723256495b229569cd67bbe48a8","impliedFormat":1},{"version":"7498dfdeed2e003ec49cdf726ff6c293002d1d7fdadbc398ce8aafe6d0688de7","impliedFormat":1},{"version":"8492306a4864a1dc6fc7e0cc0de0ae9279cbd37f3aae3e9dc1065afcdc83dddc","impliedFormat":1},{"version":"9c86abbc4fd0248f56abc12aaecd76854517389af405d5ec2eb187fdb00a606f","impliedFormat":1},{"version":"9ffd906f14f8b059d6b95d6640920f530507e596e548f7a595da58ab66e3ce76","impliedFormat":1},{"version":"1884bccc10ce40adca470c2c371c1c938b36824f169c56f7f43d860416ca0a4c","impliedFormat":1},{"version":"986b55b4f920c99d77c1845f2542df6f746cb5adc9ab93eb1545a7e6ef37590d","impliedFormat":1},{"version":"cd00906068b81fbd8a22d021580ac505e272844408174520fafed0ae00627a5d","impliedFormat":1},{"version":"69fab68a769c17a52a24b868aeb644f3ee14abaa5064115f575ddd59231105ce","impliedFormat":1},{"version":"e181eb86b2caf80fe18c72efce6b913bc226e4a69a5456eaf4f859f1c29c6fd6","impliedFormat":1},{"version":"93f7871380478bc6acf02ad9f3dc7da0c21997caebbe782eb93a11b7bd06a46d","impliedFormat":1},{"version":"d00279ab020713264f570d5181c89ca362b7de8abddf96733de86bce0eca082c","impliedFormat":1},{"version":"f7db473f1d5d2a124f14886ac9dbfeccfbb94a98bbe1610a47c30c2933afa279","impliedFormat":1},{"version":"f44cf6c6d608ef925831e550b19841b5d71bd87195bd346604ff05644fb0d29c","impliedFormat":1},{"version":"154f23902d7a3fcdace4c20b654da7355fee4b7f807d1f77d6c9a24a8756013a","impliedFormat":1},{"version":"562f4f3c75a497d3ad7709381f850bb8c7646a9c6e94fdf8e91928e23d155411","impliedFormat":1},{"version":"4583380b676ee59b70a9696b42acfa986cd5f32430f37672e04f31f40b05df74","impliedFormat":1},{"version":"ad0a13f35a0d88803979f8ea9050ad7441e09d21a509abf2f303e18c1267af17","impliedFormat":1},{"version":"ba9781c718ab3d09cbde1216029072698d2da6135f0d2f856ba387d6caceb13e","impliedFormat":1},{"version":"d7c597c14698ba5fc8010076afa426f029b2d8edabb5073270c070cc645ba638","impliedFormat":1},{"version":"bd2afc69cf1d85cd950a99813bc7eff007d8afa496e7c2142a845cd1181d0474","impliedFormat":1},{"version":"558b462b23ea186d094dbff158d652acd58c0988c9fd53af81a8903412aa5901","impliedFormat":1},{"version":"0e984ae642a15973d652fd7b0d2712a284787d0d7a1db99aa49af0121e47f1df","impliedFormat":1},{"version":"0ad53ee208a23eef2a5cb3d85f2a9dc1019fd5e69179c4b0c02dc56c40d611c4","impliedFormat":1},{"version":"7a6898b26947bd356f33f4efef3eb23e61174d85dca19f41a8780d6bb4bfb405","impliedFormat":1},{"version":"9fe30349d26f34e85209fb06340bac34177f7eae3d6bb69dc12cd179d2c13ddf","impliedFormat":1},{"version":"d568c51d2c4360fd407445e39f4d86891dba04083402602bf5f24fd3969cacbb","impliedFormat":1},{"version":"b2483a924349ec835f4d778dd6787447a2f8bfbb651164851bff29d5b3d990a6","impliedFormat":1},{"version":"aae66889332cff4b2f7586c5c8758abc394d8d1c48f9b04b0c257e58f629d285","impliedFormat":1},{"version":"0f86c85130c64d6dbe6a9090bb3df71c4b0987bce4a08afe1ac4ece597655b9c","impliedFormat":1},{"version":"0ce28ad2671baed24517e1c1f4f2a986029137635bce788ee8fb542f002ac5b8","impliedFormat":1},{"version":"cd12e4fe77d24db98d66049360a4269299bcfb9dc3a1b47078ab1b4afac394cb","impliedFormat":1},{"version":"1589e5ac394b2b2e64264da3e1798d0e103b4f408f5bae1527d9e706f98269c7","impliedFormat":1},{"version":"ff8181aa0fde5ec2d737aecc5ebaa9e881379041f13e5ce1745620e17f78dcf9","impliedFormat":1},{"version":"0b2e54504b568c08df1e7db11c105786742866ba51e20486ab9b2286637d268f","impliedFormat":1},{"version":"bc1ffc3a2dca8ee715571739be3ec74d079e60505e1d0d2446e4978f6c75ba5c","impliedFormat":1},{"version":"770a40373470dff27b3f7022937ea2668a0854d7977c9d22073e1c62af537727","impliedFormat":1},{"version":"a0f8ce72cb02247a112ce4a2fa0f122478a8e99c90a5e6b676b41a68b1891ad2","impliedFormat":1},{"version":"6e957ea18b2bf951cf3995d115ad9bfa439e8d891aeb1afc901d793202c0b90d","impliedFormat":1},{"version":"a1c65bd78725f9172b5846c3c58ddf4bcbb43a30ab19e951f0102552fbfd3d5d","impliedFormat":1},{"version":"04718c7325e7df4bac9a6d026a0a2bd5a8b54501f274aaf93a03b5d1d0635bd1","impliedFormat":1},{"version":"405205f932d4e0ce688a380fa3150b1c7ff60e7fc89909e11a33eab7af240edb","impliedFormat":1},{"version":"566fc1a6616a522f8b45082032a33e6d37ff7df3f7d4d63c3cce9017d0345178","impliedFormat":1},{"version":"3b699b08db04559803b85aa0809748e61427b3d831f77834b8206e9f2ed20c93","impliedFormat":1},{"version":"b27242dd3af2a5548d0c7231db7da63d6373636d6c4e72d9b616adaa2acef7e1","impliedFormat":1},{"version":"e0ee7ba0571b83c53a3d6ec761cf391e7128d8f8f590f8832c28661b73c21b68","impliedFormat":1},{"version":"072bfd97fc61c894ef260723f43a416d49ebd8b703696f647c8322671c598873","impliedFormat":1},{"version":"e70875232f5d5528f1650dd6f5c94a5bed344ecf04bdbb998f7f78a3c1317d02","impliedFormat":1},{"version":"8e495129cb6cd8008de6f4ff8ce34fe1302a9e0dcff8d13714bd5593be3f7898","impliedFormat":99},{"version":"36e29bad31d34a8c5ef2a7bffd1d1d4a6ecb56cf7044bba3f3fb53af664cc995","impliedFormat":1},{"version":"0b66db734128f1dc8452ce19ac48a36b302c9d5f1471c9185dc00f7a1be37df4","impliedFormat":1},{"version":"ee11a267440026e7c77125f45576cbc1c10d16b7adb54455cc01b6e3921c2a50","impliedFormat":1},{"version":"c985b87d83e53c26af225df37603fe0ac73038f573ab483b0f6e46b007c5e26d","impliedFormat":1},{"version":"16644569c814ea007149afbc849ba0dc726887e4baa513156787fbeccc96bb5f","impliedFormat":1},{"version":"7f1a813bfc91a99771d5ded13f6f4c55138567f145051ffccd14219ac6495156","impliedFormat":1},{"version":"0693e3c9523391eb333248236f4e4df9a63961d729cda0081302ebf04e4745be","impliedFormat":1},{"version":"8456ecc963bc4816e34b14dba7c5806a674a9305778fedd44bd3fb9f7cd0a278","impliedFormat":1},{"version":"ef79a08ff6dbf02d7aa850d03768dfa7da8d38f1f8f1f70b5554b2eb69e30ef9","impliedFormat":1},{"version":"4b01bf8cb509dd9235289ae0f1dc1d11973eeae5c4e8a6f4f1f7e7a0fbd9981f","impliedFormat":1},{"version":"42333ff4abd55ed8522227f405936132874e3d9a3bb1cd43aa65816352ce51cc","impliedFormat":1},{"version":"360564742c5dc4a3606c7460c857b8602bd3642c463cc97468b40288bf8bbea2","impliedFormat":1},{"version":"69cb2a2d292615c3a90be6ae20cdfbba3e2a934c698c0b08aa042b70f3d1cf81","impliedFormat":1},{"version":"296d4f462ea7a071d145b4d2cbd5171ae1656a2b96e23aa95359c4d3fc1d9956","impliedFormat":1},{"version":"381efc65dd0d9c42d29cba0b662de1cf59e8d90c7e49fe1adcbb5f0e76a26ca0","impliedFormat":1},{"version":"fa1cba739d46abb87fbb0c567976c22412c64a8c319bc44e20f14c04b06fb96f","impliedFormat":1},{"version":"18c93713d0d514633603fe9a8cd44d7fbc90f23a231cd2c9a90aeaa3996837d6","impliedFormat":1},{"version":"48c5cee2757d97d85d2f01d3f29a9268f56eaea28cbbada0e98f948cfcbc7770","impliedFormat":1},{"version":"9d883529d433813184507105831699ae39720823464470da0f9584d0225b36b7","impliedFormat":1},{"version":"2b4276dde46aa2faf0dd86119999c76b81e6488cd6b0d0fcf9fb985769cd11c0","impliedFormat":99},{"version":"38d4cff03e87dc58bfd50ffe5a3fb25e6e6d4136a1282883285baf71d35967c5","impliedFormat":99},{"version":"5ecea63968444d55f7c3cf677cbec9525db9229953b34f06be0386a24b0fffd2","impliedFormat":99},{"version":"6ea9c8bf2ae4d47a0dbc2a1f9ac1e36c639b2ac9225c4d271c2f63a2faf24831","impliedFormat":99},{"version":"a3d603c46b55d51493799241b8a456169d36301cc926ff72c75f5480e7eb25bf","impliedFormat":99},{"version":"90fcbd9deee8433092df459e5d136eb37667255f249d434f950874c96c27a81c","impliedFormat":99},{"version":"4e2d11861154220b941057210b53821022eb078f52a69bad9c44a0f3f4aaedb9","impliedFormat":1},{"version":"0c9175b5bd2e620bf90a40f4cdd308d533e348a9157dd6f2b8c2d5e181ce77bc","impliedFormat":1},{"version":"64a969b47b262c15b44bfcaaaa5a54339297ae5f1469a0c1d7d4620decbc5cfe","impliedFormat":1},{"version":"1bb9f4917e13faf29f47d4ca63641fbb2d304bd9a95e234dd74d8978231d8c8c","impliedFormat":1},{"version":"83ca8a0119f730a4200e6af658a21b838dd22cc79067e521b86b996fd415cbc6","impliedFormat":99},{"version":"f22075cd085a130131c0ebcdd471f2424bbe460ef68d7d5b50bf691b58ba2bac","impliedFormat":99},{"version":"a44f76fff2f69355e47e2895eca18af4c28a6862abc9125fe266a67111753b5a","impliedFormat":99},{"version":"fa65cce77db690964d095c4ef94f386b8a925d4c164ab89babb427f8557d865c","impliedFormat":99},{"version":"3f0136f80003bf8b2841adb7f3f5e27128eebe41dd3cfa6772586048a3e32311","impliedFormat":99},{"version":"a212fad2d57539fb4523624ae54bbe0b25073927aa84d4bca39735dc0e8531a7","impliedFormat":99},{"version":"a288a8cb67c1c923801463083573c9d2042b51c6bca982c41687b134cb101628","impliedFormat":99},{"version":"f35f9295848dda94b0a134d2b456e96b51fb658c29f816520daa289ca42485e8","impliedFormat":99},{"version":"9ba6e9061b3feb1a2d855586d67db82ea048720fa2202aa7e231aa5da4f7c1ac","impliedFormat":99},{"version":"9d3ab4f2ede93d02afe035f45822ecaf2ee0cc4b2c4d690f930f7eb417c2d317","impliedFormat":99},{"version":"9cb1abef450de3c94f0fb8868e08fee13ce0284a1d799ceb0d62d20f7e44d915","impliedFormat":99},{"version":"63bcf5cf036269d1cafe17c5f41314658afa0955d95efcbbdccf3916cac6ce49","impliedFormat":99},{"version":"756213e07866fa181de30d9b031d63ccd616bdf2003fc319612514916406f5ff","impliedFormat":99},{"version":"f39e2ee6ed6a453dbb5aa583bd8508912a7f0a1236dd4a42255dcd8aacc5c6e7","impliedFormat":99},{"version":"d5df36eb8879f0fd592e0fbde3b29318b989c97eb93e4727e9b304d7564adcf7","impliedFormat":99},{"version":"2178c14f77641be7147cbfbcf5d4381a6740b579693971c9829bb485c50b808e","impliedFormat":99},{"version":"188c0a555bb354ebce13d88f9d59341d5beec73aa0cd4688b422f8375019295e","impliedFormat":99},{"version":"45aa152e9a85a5a895e9d81171414cd803b5c3aac5c9a120f527dfe202d18424","impliedFormat":99},{"version":"edab0e84c0ea36b2c682ea68390d2b6571db78de209e58a60b51ca5712289be7","impliedFormat":99},{"version":"ee27415e33df9b86af9f0a0c58b9a4ffdf393ef49462429423ac2bcb5e00db0e","impliedFormat":99},{"version":"d986dfe24545378173b2674fbf41939395abf993432a5b5831a75900b86780d1","impliedFormat":99},{"version":"62914eae016cc07be599c7c594d9aca77aecda9688e285f0e9b28b01eb0c6b5d","impliedFormat":99},{"version":"8acce26b02c92d26c2937f3fab228ad635db5218e16bca90d20a609d7103103d","impliedFormat":99},{"version":"58c966c3de7741c7657080e3a7287e65d4b24e8eb730fba5d20c27ba8c657194","impliedFormat":99},{"version":"3cb574913ea25e7b27d26350a6a86a5c88000d054d6ae67ecc4dc2da3c346ff2","impliedFormat":99},{"version":"db064e58ec48dc1919d5527a4c8d3cdd64d315a7b2117f410a0d8eba023f5e5a","impliedFormat":99},{"version":"1ebf664b312148f43ab66b0697e7705e342b5224b07663b9739a9036f2e8a5df","impliedFormat":99},{"version":"8633998b325554c7bc52b4863fdad0bd22dd69554888ae5551977d6c62fa7234","impliedFormat":99},{"version":"568780fcdac2403b5e4944c680be60f04466f16b6d8830459eaf341e4635aec8","impliedFormat":99},{"version":"43f5e5d9786a6f7ac58b72df14ea7f3dae1935b244e5175fcd34c89fbcb3edbe","impliedFormat":99},{"version":"08d88160e4d9614577b36d09b56607b0ea066963d97e500deadb1c0671c802b1","impliedFormat":99},{"version":"6b6936838074331a1e4ed2a836672b4612bb336ef2e8eef56b5cb1df1f163bc9","impliedFormat":99},{"version":"a40125dc53d6e8fd92b6f521f6a339b8892e1e1ab2ec20c3739f305f0a2b3b7a","impliedFormat":99},{"version":"63c14f1a25cc9af22040f4e50b2ef46c8c5c746acd3629fae2db1d8be17262f0","impliedFormat":99},{"version":"b37f94a72f75b015035682f3fca650a3997b23416379f2430afe8a78c7ff199f","impliedFormat":99},{"version":"d91ac32532d59d549aea318a1dd4346228e69180623c26d78cc77ff96e7e527a","impliedFormat":99},{"version":"634eaea224f99dead236b11bd9a612371551654d84f1f77a2943df2f8a464567","impliedFormat":99},{"version":"a9ec13c0152633b349e7f85bcc1849eee49ea0ba1b6f2d30594a0207041b87ed","impliedFormat":99},{"version":"4a068a0e2cb2e8263521977da21b35ebdee3bf7ae2f0ee3182030f344925ea34","impliedFormat":99},{"version":"aaeedd2494f6963f742f3c732cbc6707532b1125045b70ee9dc15d70aea4e6eb","impliedFormat":99},{"version":"1817b2e383223f38a5cfbb95fdd9d2824eeac637b752f4593d8ded810df686b7","impliedFormat":99},{"version":"636b68c90155a7b3e44852e7c6700b2773d70a88535d827bcef0b2ec0e43d1d6","impliedFormat":99},{"version":"fe25b7a29f635a3faf406792174c87223af5cbb2f2b7916f723e3b1bee1db6b0","impliedFormat":99},{"version":"a6f01bfdefdc0b7f68f3c73cf50d966d8e004559aaa00f9b957e5c15c9fb6daf","impliedFormat":99},{"version":"b4b781ac2fa564ddd469604057941b084c34b9f17cba20c6c5fb64f81fe20eda","impliedFormat":99},{"version":"0960051f0e7beeb8e7e00bc526dd17ceebfc49c918989a88e31b7b348455c55e","impliedFormat":99},{"version":"ceec621e7f442ca6ce7f89886531de82cedac0f207475d7988461678ccdbc46f","impliedFormat":99},{"version":"289133e7b6d773a0dd8a38e31252f8ff19a5a3c11ae0ef354acb36ebab79a08c","impliedFormat":99},{"version":"c11f63e3cf21540be513088ea6dfab1fc474ee011e7686f96e846f3caeb79f53","impliedFormat":99},{"version":"0c228ad3d53c5d7eb6b1f8b306fffff5bc1e4d6c7663790b7813f44a11277555","impliedFormat":99},{"version":"c852ec8f5257701147c8e19d8dbb8b9f89659982559678b3cf4df1b87c6b61db","impliedFormat":99},{"version":"c05bffd82ccef5be3dbaa20cafe4460f141bee5419fbd3f8fd421926546375fe","impliedFormat":99},{"version":"95ba593633b6f71e400f9b0bbce20d55b01baf8da698866af87ea3d204929c7b","impliedFormat":99},{"version":"ee63e12faec9f15ece2215f8ffe3400dc3c58bf3598f23e06eb393443d622bc6","impliedFormat":99},{"version":"3fd396436c5f6447620ec2b10cbb73c0fb6bdbb40255875471ba9099b5cef057","impliedFormat":99},{"version":"d3b484173a40d96e1a1f84607c6d3181ec58f99a2ccb44a9a9483c746ff1d889","impliedFormat":99},{"version":"b2f4c5c351eb14e0491a835a7df6edfbf9add2a9ee0398d27dbc23cc2154fce2","impliedFormat":99},{"version":"3a4104be36d6764f94b49da4c2912436ce8db9b596af87ad8208fd30edf67cc3","impliedFormat":99},{"version":"89e4dee3d22af342783f1be94b90086b76050eac85183ae5f99349ff3be34620","impliedFormat":99},{"version":"72e003b2c2d73b8980f2cc091dd2ed5fdd58ca3901bda2dae148964b1424b68d","impliedFormat":99},{"version":"b62c6e4674b2ec3b4f37c17bd0fa88e5a8b0c3130e0d77b3c739cbc8eb7f7b7b","impliedFormat":99},{"version":"e26a17cdd3eae370141f54212e65d035755ab759da211eab198663b1f5571e78","impliedFormat":99},{"version":"acdcd28f22beeb7564926225c41a2a4f018b61cf7ed2874bc351059b9c82521c","impliedFormat":99},{"version":"b816c66fd566bf325d3f2fbbae36f480afb1d04f960135dc8254e5d0d3d6403e","impliedFormat":99},{"version":"4525de65826e7dc48909a0349696b4b400ad2312c2cf04a656d949600491e793","impliedFormat":99},{"version":"a51ef269c38659810a4400bc61d058d64a023b0ba4d99eae1f96a1a8ba3c0889","impliedFormat":99},{"version":"8b95503320d19cc20b4455b13e8abfd5b6bac1cd3d64d1099d3f943c1f75d16d","impliedFormat":99},{"version":"a9cfc9543943d597dc5f3cc4231bd606c0891b5b7d95d3c0a3c357247ad13efb","impliedFormat":99},{"version":"26bf7ff148c9858001df0e926c4754ed98e14578603a57abd01bc1ff47b74646","impliedFormat":99},{"version":"959d339c34aed58f8951ff5694412a0de7bc524b970c6c1809df8f84526204b2","impliedFormat":99},{"version":"5f072af48d5448c3bf1a42dfbce09ecbe619dfad5e755b46aa9208657ca3ac91","impliedFormat":99},{"version":"ae55114dc5769203d4624c4ec1443dacb65756eb2a4f3501514e0b55d8261e10","impliedFormat":99},{"version":"bb76ffd17b2f2dc89a695943c524fd253b2e62850003296d05451437b036930a","impliedFormat":99},{"version":"359b15bb457cd98409e1bedfafff3a326dd653e57ce332a163ee7531bc503e7b","impliedFormat":99},{"version":"6f4dd5823236e281bd9777d27110c889bae179c950534a65482b3bd8b6450590","impliedFormat":99},{"version":"e201187dd90a20af63deed3787aaf5510f5887ce2b8e56dbed848e687f776ef7","impliedFormat":99},{"version":"485ce8923b4c68f1e973e58e5c99de8c3a5495b7e3fa86bed2b18face29d691c","impliedFormat":99},{"version":"1d0bceb8eff6e81e5d2e082f74fdfb0c870845135433f2e2a5a08fd0ea86cdf7","impliedFormat":99},{"version":"d9affb744ad7c29dc28bbc1b09f6edb7ef98d78554cd5bb8b5e449cfdc75b922","impliedFormat":99},{"version":"f22410a757278fc59e6e6e2b11ff934ddb03273d9c9102271b711e533b1f19e1","impliedFormat":99},{"version":"745ea53849be153ed733f5be27722378c89fe813b43b3b2798db370dd204df63","impliedFormat":99},{"version":"9fcbdf19795129354ce740c9e6f3f87e3646a158b0ff8ae9370d4d6d8427c585","impliedFormat":99},{"version":"ce2b3d20407b51a5d3176d05dfe66824ef5bd810e4dce3d6653073a9b8135c0f","impliedFormat":99},{"version":"33ec1dfc03c64c66974c8e3b1428045efdcbb9c121914467396b2c21d9d4eb4a","impliedFormat":99},{"version":"93a5f2a6b98cb165fe56377ca9d1c786062bf5f60dbc0dbd1b8ffc37bf2058ed","impliedFormat":99},{"version":"ac3d71a464b0c0d7b74e5e54cdfc8b66ca0c4d24e479c541be105a6a5f3437d4","impliedFormat":99},{"version":"8a309783376df92e49ec85d8d67644e9c68529e3ff8981eca03a5d182970a370","impliedFormat":99},{"version":"ebcc8c9286da7ffa1c10f126ff13b9e17b459f52348160a4e6e799c55b16c8cd","impliedFormat":99},{"version":"a35800efccf9b29ad232b07b7f4477b832f737c27b23a0f80d0c15d9fc7a83d1","impliedFormat":99},{"version":"a729483a0cfda4e5cd0da3610856aaa0047885ce965ef7e906eb501c4cc83ab1","impliedFormat":99},{"version":"1a8d13160ce2d91ae12f99391ff8d45e8025f655e8b3ca5493bb97e7a551b8cf","impliedFormat":99},{"version":"ee306cf4448abdc53b27bdd079f944d60b8b97fdf3807ab8f2ef6ac338058e27","impliedFormat":99},{"version":"3f6e344f84f047c66cae945e44e5efc833cf74d70ff9c2fd43ed931f8b4f613b","impliedFormat":99},{"version":"fd74e506283ed9a0fd33380c787833107763698bacd3de89fce55bf386f10530","impliedFormat":99},{"version":"cc629838fedbcb3b019abeae39d7633b23e316b1f4e07e8b3bd6af3dbb3352fd","impliedFormat":99},{"version":"6519c8402b2ca27e658cb4e357a51b5ef921fd17459d0f7ff1a809623e89e65d","impliedFormat":99},{"version":"e64df60cfb87bc304f8955948297bcc08cc56bf4eac3aa8307655edf2e3f4c94","impliedFormat":99},{"version":"6f6c565c4922ea624dd9e4fa147e0f954ed483cfae04c1a79e3dfbbe5a34b301","impliedFormat":99},{"version":"4b26dc473060c217ffdee9d8acbeb42f2b5f47e456abf642bc9bf43c55b631d5","impliedFormat":99},{"version":"b8c22ef6bac62298a1d42beaa496a5c25d41d58aa52c75ab20a180bdf0e40d20","impliedFormat":99},{"version":"3b193ba20407b9c7593e89f3b60471e542f1eb5b3d96086db92303088bc4c7d1","impliedFormat":99},{"version":"b45c8cc49500a28c92220eee45f2a5114d050c7bdb47db2f3ccac84e0820519f","impliedFormat":99},{"version":"ec4fae13ecde25181827193439d8e1b65c5f1046274ff4bc77221440cb289814","impliedFormat":99},{"version":"ff562477c8a16ee5f4bcef5a6fa4f15f81c7d6b266ee70f65f148c58daca4e1f","impliedFormat":99},{"version":"4546f9dab5bb28dbd5e7107837d8e831c7f711d93aef4158e4a7bccb6b6c6434","impliedFormat":99},{"version":"7c5bb0778e9a110cf9d7bc56778092e0c7085ca9310614232b5976d60d155eab","impliedFormat":99},{"version":"ff03706640bcac77e4f58adf06ec0031be0d0cca8a923a1faf20556e44bd050d","impliedFormat":99},{"version":"5254d6dcd66682e15c0391b36cf203b4835bdd06f7645c06cdbf3048a7e9453d","impliedFormat":99},{"version":"3363113ee6288a60931f54adb1f0642cbfd1e5b56e0222658d8f286762a0ebc7","impliedFormat":99},{"version":"f5d111df38da163ed1524d80053818f4a8b7a6ef9f1038b71438cd37155a5636","impliedFormat":99},{"version":"1e8325d4006884b0f386f48ba38b6da98ef76101275c8df9dcadc2791ced930e","impliedFormat":99},{"version":"57fc1c850ea0621398ce9b2eef1478a84d81dce619d9166929677111d19354b4","impliedFormat":99},{"version":"aaee889cd9f6dadecd10cd1b2200862b472c495f50e559b9c8eaae345ad26f9a","impliedFormat":99},{"version":"bc792fe4deb6e29a4ee455abe81ccc82e8f812893df98f372d9939e4a0f531d5","impliedFormat":99},{"version":"7e535aa0b32594cfac46eee313f8cb29e6b4bc45756701bbd0005c2cae78d02b","impliedFormat":99},{"version":"38a0236a27a2010cd8f7dc7549015cd2a7b7ec134b20bdc7a7ad4131c8b25922","impliedFormat":99},{"version":"2c4ed82fb9ac542cb6462700c8efc5d3159f6eafa1df20becfef616747339212","impliedFormat":99},{"version":"cacab561eb0ae2fecb00c1a144017cd07db81369e51084307e211e916bfc3934","impliedFormat":99},{"version":"ea4729dc4e138eddca2938e106676d9b1213978c2a01c883ab777c215319bfb5","impliedFormat":99},{"version":"a4f66519474561c34c96e0725de0f843876ca29c8f3809b228600f3da43c45d3","impliedFormat":99},{"version":"7b08db00400f9d3a46cb8cc38b41c2030374afb2104d26cece2d044d19764921","impliedFormat":99},{"version":"80412d2831bb2f40d8a0262f1206f016fbae8b853d5032a887e96c0693611f3e","impliedFormat":99},{"version":"8d5f1e5e5d70505b92d4fe6115799343827aabbc1d79d78cdaad40f9496196d6","impliedFormat":99},{"version":"ede9149cc681915a2c58c4d6b769eb6a710fa7ee8349375ed1b248489f02fdf1","impliedFormat":99},{"version":"41067082ac23b2056b6798738ad14fcdf44cb61baa544105fc58a8d0087a4b7f","impliedFormat":99},{"version":"cded066f47040ea576d4a8a5a1d23bd36998586eb0fccb9ee2397d0d867fcabc","impliedFormat":99},{"version":"292c62ec0f13939485b1d07267efda774a1f1c28427d9ce0587bee7814a272ab","impliedFormat":99},{"version":"e4cfb3009d72aa786b5aaeda0e30d92f31d9a3068256300a533ea212a597c1db","impliedFormat":99},{"version":"ff06cc0f0c793791fbeaefdcb53f07ce4e8339b6943f70f8f63948059f6fa15b","impliedFormat":99},{"version":"69b1d5ea3808a205019bc47b0589e2281d79723e2ba063e6cdaf53db98e32762","impliedFormat":99},{"version":"5c18fd2063e3009ca9440e29b2b9f772dc50481e6e904bb3d7e1b7c581f44e6c","impliedFormat":99},{"version":"a3516a2ebe7d9db121c789fb16e1b8bf8a00533a460e6caf864c620cd8e2bd5a","impliedFormat":99},{"version":"9f338bcdf0a130fcbf8c6e1b815319a363d41d4fc4268dfeaf9d1a3e46783107","impliedFormat":99},{"version":"0c69100576e37fd513901728ca6c65b5010760ae951d67506438e28ecf1dfa5b","impliedFormat":99},{"version":"4fa4071720ba6a030140ad344a0be0632e45ae2bcdfe42ded1e180536a6e5ba2","impliedFormat":99},{"version":"977955f2b26844057f12b835a3e77880f28eccc4ced877078dcada38ef8104c9","impliedFormat":99},{"version":"db9df25d2b7a5698d615faa1abf5ee735f06d1a3655e09ca1dd8d42350b8bc5b","impliedFormat":99},{"version":"fa7eb1ccc4909ff72c4706df9089f068a64c39850c3c256040ebaec356be458b","impliedFormat":99},{"version":"c2544841c726a93e4f08010807a9d779d8ea49ddc8868beb7f57f4dda3935a19","impliedFormat":99},{"version":"89840555c11535e071c554ed1228c3614be696d349e82d6e3e24dc6e974d29dd","impliedFormat":99},{"version":"6303c8204067ff8a09f72a91cdc30d4050dfef631d303723cbeb90cab254f1e5","impliedFormat":99},{"version":"b7353f7699ad7820260f1a706519e6ec1fc21a02cb7f6486e81d5d764fd804f3","impliedFormat":99},{"version":"2e564d47026dcf106b73ebb6e1881e0579a82fbbb33d042e76fa9ec00e08be5e","impliedFormat":99},{"version":"342b1c58e51174ae888f5a5a9775da7ba93c02bd532381a7be2b8db892e526ea","impliedFormat":99},{"version":"f02bfbd0e9fa87e770c74a5975cad0297e76e14df5ce03ba9c9a8f06dafd0792","impliedFormat":99},{"version":"ebc91af1b516925754acc43500b0a70413e61d056ecfba030e6ff3b36a5f3ede","impliedFormat":99},{"version":"1bac668988ffddd316531ae0a6c0b37a1ed45f111f8d40970f607cec2fe48612","impliedFormat":99},{"version":"c92fb3ddd606dbfb1b0775d34ecabed90bf663ab80db33132104339c020bffc5","impliedFormat":99},{"version":"942c63de4c8e50c87753d1f341352dcfa9d72b706318b28c0e1f121b9aa9ec5d","impliedFormat":99},{"version":"129be44dd4295bc4e5ffd5542597336e57990d9b7a81e39b7234a9a598706cfe","impliedFormat":99},{"version":"3b674726455d2a57b39784de2acd0d6d320e45a851afefdabef606af08df8603","impliedFormat":99},{"version":"1c4a26f6150f60a77396ef2150f4ca1afd0bd83d3f800fe52cd3d06ac0d4f6f1","impliedFormat":99},{"version":"ad6def877dee2d3c3993c41053e2c1af8475bc969b35de4538c97f4662f3de0b","impliedFormat":99},{"version":"1d6211f24b5d168b493dc22a53db1e55dd716b5f4b0aefce397b38cc02a445b5","impliedFormat":99},{"version":"2d3f848df16ecca7d60100360c6349dec0ad9a7f0d0e39eab92f66e3bc8f098b","impliedFormat":99},{"version":"2ef18933b69b23254b0306267212f048f4fa8aefc819fcd88e0fa52552895f5c","impliedFormat":99},{"version":"a44c3aaa3483362da75c408b4cff42d8c1d218d68920d59958917aebe3477e92","impliedFormat":99},{"version":"df6d299edea81d27b89945a5cb15aa1208ae9b09b39aed06129bb24ee6ed0051","impliedFormat":99},{"version":"e5062ae8bbf2b40ff2eb2787926ddb9998bcef55d958da8bfb2cc4b8b5d1c75f","impliedFormat":99},{"version":"d0b61c74289ce1c6b6eb9eb3841296d380ef1de607ce4cbaebc4acae871e40ed","impliedFormat":99},{"version":"bc0aa6e9796b091b57cea1210f81c1f1f0091c7eed4eb04b9543d676685894b7","impliedFormat":99},{"version":"e91fa2ba0cef937bd2e9e25202bffb97bf39e04f6c2d942315d1f6c6a76020f2","impliedFormat":99},{"version":"c8d20e6ff2b7f33cac83372c716d10cfd83f64a740bbd9a8b1089a8807c1c492","impliedFormat":99},{"version":"849ac05886b0e90cb64b699d967641777b211900251365fa619771e3a7361482","impliedFormat":99},{"version":"99abeb91f93b28adf402476fe260087498c6d47e98776c5378a60f8439dd91ee","impliedFormat":99},{"version":"6000f6c1f8f865cf09210a15c95a5f8edb985c253ba8ed58b5af0772c465384b","impliedFormat":99},{"version":"113b410c407fe216ad5085197d483044d29e6ca0c7108f322ff266cb2d8ec4f3","impliedFormat":99},{"version":"fd67e0b30ec2dad92d809951f63b5982b00595ca4cf3f83823429573e40095a0","impliedFormat":99},{"version":"339f6afadcfeadf85d64924ba460411bbcca6aa599ac7eac0ed81b88d5fe5336","impliedFormat":99},{"version":"0696f165aa010e7966568dd1149b180cb9c18eada93850c8bfbdb86f5fd20017","impliedFormat":99},{"version":"f2ce7d4493d33bc2f445e367d692c52511ee0a176b64366d09a416f85e9f200d","impliedFormat":99},{"version":"7af8d19815c33100c69f36ef5fe821ee93dbd946aea977fa61ef0a566f6a604a","impliedFormat":99},{"version":"d3b9e915c202d52b0c38ff2a79703474170ee1c4e48373d275e9de659553bea5","impliedFormat":99},{"version":"556abfc8927d79afaaf0959e30e354b261cc63b9c92f8232e270f03bed7a6187","impliedFormat":99},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"10ec5e82144dfac6f04fa5d1d6c11763b3e4dbbac6d99101427219ab3e2ae887","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"14e9acf826baba0ef4b5665704084896e7bcc06f65a9ab13af7e93d27d6b7069","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"21adf13435b9b748529c8cedf80f884e5130b9684188120a686cd2b26a2059c7","impliedFormat":1},{"version":"eec76bf6b9346f3f95fa402621b889489e96930e72295b0369022f332e9b4a6a","impliedFormat":1},{"version":"0ecd58f413f9bc3b7d4383eae31b0c8fc576985cd7404d6f99f8c643543ade74","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"9c32412007b5662fd34a8eb04292fb5314ec370d7016d1c2fb8aa193c807fe22","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"6ebe8ebb8659aaa9d1acbf3710d7dae3e923e97610238b9511c25dc39023a166","impliedFormat":1},{"version":"e85d7f8068f6a26710bff0cc8c0fc5e47f71089c3780fbede05857331d2ddec9","impliedFormat":1},{"version":"7befaf0e76b5671be1d47b77fcc65f2b0aad91cc26529df1904f4a7c46d216e9","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"5b03a034c72146b61573aab280f295b015b9168470f2df05f6080a2122f9b4df","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"d33ce35e3f9cfcc1d94eca415bdd3bde94d5b153ffdd33e6c4455c029986c630","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"4dc59f6e1dbf3d5f66660fceabe6c174d3261b37b696ae1854f0dbaf255fc753","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"436d7b4543b340b0f3eef4310d524242e41369b9652aa9c70428767c4dcac455","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"114f493b30f364255290472111b5a4791d5902c308645670cd0401429cbc6930","impliedFormat":1},{"version":"b3fb72492a07a76f7bfa29ecadd029eea081df11512e4dfe6f930a5a9cb1fb75","impliedFormat":1},{"version":"1edd9ccdc3b948db3bb3c5484aadeb0d68e55cfa34a999d9723a80b2ab99d06d","impliedFormat":99},{"version":"984640935b059f2be0b787f57a69bfe4c76a009e339551e30d91a760471075a4","impliedFormat":99},{"version":"fe2f8331dbc13f000247ac1db1558ab40bd4e6454b2840b2fc3463b42441985e","impliedFormat":99},{"version":"951dd0bcaf733fa65e1dcb4aaa2ca671c7ea8d462299765c70173d1e66f994b4","impliedFormat":99},{"version":"733f17063c289ff48359075868c95c5327a0e024ad8898dc3b61dfffa0c52503","impliedFormat":99},{"version":"b46a0ab42c99352442a41e7aa875eb9a5128331fd663c63a07b70a82c74ef19c","impliedFormat":99},{"version":"4f1dcc1dd4a02eb27e32ec3b7d261909b26f86b0f227c3d3123b18f8d619d258","impliedFormat":99},{"version":"faf0c122fb78be6d3225da99da1b8e3f827313f73036b2e32531490948d67ea6","impliedFormat":99},{"version":"d3d1d4dad3c6deb08c0e23e6e20977f81de9cdf6370973333e3f03b7d1b79a20","impliedFormat":99},{"version":"12930cb1ba852946639362633fc6b2af3a05165c7f962fb8ef819f4c7887312d","impliedFormat":99},{"version":"146ba4b99c5feb82663e17a671bf9f53bb39c704cd76345d6c5a801c26372f44","impliedFormat":1},{"version":"13d9a439d2c92b610799100bc4f434142bc557732b14ba1080000e34928c3c76","impliedFormat":99},{"version":"8bf01f2227d670e5c0e2472b7f0aebcdd80fed20d5f3e5b1e6637f466c107e29","impliedFormat":99},{"version":"67a6f25ac963d05fc7482d0262d01c87b35db52837ef012078c3c9335ae13fa8","impliedFormat":99},{"version":"b67550edd008ae2ce5be54579b686bf3d2dd224e71f57630671025d8d41eec52","impliedFormat":99},{"version":"ed94a21dbeaca6f8935aeea03c3f327930ba0df2efd20e10d695c8b7fe434a01","impliedFormat":99},{"version":"c5245e464fdba99fdeed4ab74ec3a1c15440fbf52447260cc889a078d09455f9","impliedFormat":99},{"version":"868762eb332580bcf7bf431eb6220f2d01d1ef865e2dc3c4bf3dd84cd719cc0f","impliedFormat":99},{"version":"7ff7d567b4ba5e84f3ca58f787f532a9e99e5d06bc5f6c291793cffa81abaca4","impliedFormat":99},{"version":"01938d705887bcd95db9bf5e84688f36df79f8d51d83305dfc74d0011e06d90e","impliedFormat":99},{"version":"81dcbd9e98743a166d4ffa15c3e33ec6061f660d0fbfb22ba0500c644d062ca6","impliedFormat":99},{"version":"ffb47e8a12928de9b95df9fa79f4b97ed20da433f237658ed5e777ec7141fd42","impliedFormat":99},{"version":"d92ceb2aad8f84f3c80362706230a8090bbb9e4a4055b227ef82640d7bddd946","impliedFormat":99},{"version":"cd412c34cbc5e418fcece22c80356fd67699d31b2f5426a7690fa9ad86feae97","impliedFormat":99},{"version":"2094f98caffbe54b58453a14ce6db7acac166add0dfa70dcf12546d9156f7818","impliedFormat":99},{"version":"87226120f7b78a78ddfec32b09e29346216ba185e870fd3852fc6d4e509ce7a0","impliedFormat":99},{"version":"03cf443b7b965982549cddae7684cfac860b1f4c0f3c4e3e2ba95bfde30e4eea","impliedFormat":99},{"version":"4eb41ea325cd80a8bdf56c79cb45af166c285513b452c84710130c4da4394e02","impliedFormat":99},{"version":"05ee472e5758f04fb053b0ae36ba66ab02511e7e0e13b11393c2ac50e864726d","impliedFormat":99},{"version":"c2de9445c869aa70e9492b3ce329fdefed8dbbaeb989eeac5f001b8721ee0cd5","impliedFormat":99},{"version":"f4eaec4a1cb0fa8cbfe8b80965da5d55e5cd97b00d20e3b231a8dbb99d208988","impliedFormat":99},{"version":"e989a0466063593b86c5fcb35b524c43eb3c24424eba9b8c70b15077ce11deb7","impliedFormat":99},{"version":"c50eeb9862d51f9853a2b108326ae8eecf0ea3e2bc860c5dea783dbe1d1d119a","impliedFormat":99},{"version":"ab92533c044f8ee27832278d7d6d67ec6263a45dfee9c36cdf87a4cbbce3fb8f","impliedFormat":99},{"version":"e0b07c87c1a9f2aefb0aa63b6e271c5c8d3c67384c61f152d758667172427e4f","impliedFormat":99},{"version":"ee918800aadf43a771fa1b119fa9b683625e5b506f3fd369ca5a0be9ab44153d","impliedFormat":99},{"version":"a1effb9d7868973b135964873f9db4c39bc5718340f65be76b9a5b5dc08afcbf","impliedFormat":99},{"version":"d1ea2ab67db6ca678ffb06158cae8c42c69ef5b17356d0d73d4ff0fedfd57353","impliedFormat":99},{"version":"b5874ea4d4ff7c1f82c09d86e0f66cc2aa976a5399ba014e8c2ebfa12afa0806","impliedFormat":99},{"version":"489c205a3528f8e790dec9b2c236360b25f857c2d4416bcad88e0d7e0b0a1e94","impliedFormat":99},{"version":"dcf7e1f6ae6b3ae810c310363bd6aa38bd80eacf5d958bb16f698e09e945310e","impliedFormat":99},{"version":"dc88c40dd4bd140b17d4d2916cda76fc57eec4a2656bbf104f71b1bb2e06ca44","impliedFormat":99},{"version":"3256aba0efb5dc262160f3cc281a4de18b03402ef49a54909c0bd5003fd52b7c","impliedFormat":99},{"version":"40e5410bb58dfc9ef9b4944a7d64ce79f3684d538dbab7a721892237a6f61e1c","impliedFormat":99},{"version":"d91ed294eff78f7ef07816c514503d6b7ae9de3876d71eb3fbf550c1d173997e","impliedFormat":99},{"version":"5f3b7ec5e68ae224717da6ec98ef94c8e7eead088e3997f1723d07c4b01651af","impliedFormat":99},{"version":"87b3487a5e5f1082b57a300aaca5f7cd79784e01dda8e2b2d8dadc1457d460e1","impliedFormat":99},{"version":"91211d69e33976023d7471ecfd596ef61d303c9689ae7d9e9a9c716db855b474","impliedFormat":99},{"version":"06d41f39164e70f6316a65e0bfbf1c5e254871f73bb41738d1f566544d69adc9","impliedFormat":99},{"version":"97123d5a37d790101dddd782ab6a429a6a11b8ceae548c65e34b1f2b74110056","impliedFormat":99},{"version":"2068ec01d9de09eab73bb3b2d8da67cadfd0213be04eaefaf9d94b26d26299c7","impliedFormat":99},{"version":"91e30683efc46ed947ac79397b85405a884dcbfd3e4bb87a37a2292534e88fe3","impliedFormat":99},{"version":"06153bb1551459f400cf80503cae3063e28f88dd6c47197b60cb1e0752992b44","impliedFormat":99},{"version":"1ad02d0fcba0cf447235f6d1edfb77e2f3576faa2163e3bd1f36c8a98757c1ba","impliedFormat":99},{"version":"15be380a7098838df81e84c1b7c742227932225bffb86e8d0352ea188e211ea7","impliedFormat":99},{"version":"fdc56cc70e1d36d7ae9c3bdddc3dba4298281c2673942a554af7b3208a8c6eba","impliedFormat":99},{"version":"d4ef28f2fa80536cc251a6fedb82acae7af14cf07ab6a6f5b995b61225ce2dcf","impliedFormat":99},{"version":"30159f3e6c8472a4ee4a0f5d3180b41733a7e66993743da476acd46920513603","impliedFormat":99},{"version":"0348a564954ef638d4fd9e530367ee732c4af536b043d8250458c56a9d21433f","impliedFormat":99},{"version":"d4ef28f2fa80536cc251a6fedb82acae7af14cf07ab6a6f5b995b61225ce2dcf","impliedFormat":99},{"version":"633fc6aead993eb3e21e96d92d781a56d2012b34a3f4e68a466e0747a55a4051","impliedFormat":99},{"version":"04652108a353c1814e7f71d1463e8202ba3bd4adcee093b489065b250f73ec33","impliedFormat":99},{"version":"11e21d75da9a8b6c4fc37c17641c6faf61d2d491b827355a7e22bb88325cb994","impliedFormat":99},{"version":"f1a339847338888b27677a13936236270e73d8a7815386e4665a42248f765dee","impliedFormat":99},{"version":"bab780528e40e70b6043f3c748ebf98467f50c8c0b5fab59610c841feafe06bd","impliedFormat":99},{"version":"5594e6f917dd9e2b2987afa15211c5f483c55d466ce778ba25b545ca16d811c9","impliedFormat":99},"64bcbff7be75fa29cf6e402df56f8c6fba3bd1c22e956b79f1ae63b5dbc5a0ed","9872cfd505fc8eab5afe5062168114f7f381d9e6bab2446aad2fbefc3a9f4dc1","6f5df8be11dffa066475058f1bbb77c6fa1a512a49636c5c27eac3ffb85ce559","9b5b18b24519e4a887e1b3d2e0d22f55cb1f18e4bf264790fd99232c4657a297","bad3ba308e35b5f6aaf147e01fb3db639335b75fb88b4912298bb79f7c114777","e9c2a73daa74cf4ec84de9550157499b85c446469f51f20e2749830cb617d155","8347fd351ecc0d636c714840c93fea843c071cd567ab7078e9fb6100115006ad","0753099f976848c3370dfa00d6c4fe7cd9787894aae4035c78770ae2e16f5acc","b07f1919aa7be112e13803d19f0c63ff96b544553da2952ca1745c08f6563fce","1f744447365fb5a6dd7eff9e329619eb81f833aa9965e25f9e1a34f90d3d186a","78eaf8dcd4fbe3372187e998c59bb8a34a2ce16127cc5f03e2e5efdf57ac6da9","ace4fbac3d4e9ee614583fecb5b2fe980be9e5907942a0d38371c088dc98cc90","a37d0a8c95f0b8c0491741be5d0ae699a8d3f72c043868cdcaa00026fb86b545","0305d7c630051971e12a89a828c997089f34fc98021927b2af5862bef48d3eaa","da03553dfec5c01a39741e3dccb5a288ae61569b74a3ef44f60c80cdec98d09c","86ee1c1dd51cd0c344a1fb2d8e7948f544a5f88f5f5dafc8b585fe6ef2a36476",{"version":"6454cc55733b05ea8e4566ea0815cdb90fa0cc58537a8df1496cec77bc5a1d6e","impliedFormat":99},"6691a6f54b60c29daf160d16611fb80d7c08259012bddf6863fbbb32b91735ef","06494db732f6276bea5117e8d81ef1b5b035db1d78da6717a8b8d60c588d505e","840b329197b5d85f0901fb69e7d680ebc11c263c2a56a83484dc55ca43e63307","03c54cc82b3feb5b87476a74dee40f64929c0935299139405d17cf485e52027c","16cfffe6b5d7a2d455463aff8fd1f5dad324b0ab6e64dabf3ba7c881f6186e13","905c185665a28c7913befd1c2d14f00ef6ba7af913e61d34458f1a2d41081520","c60fe5497096bcebc30d61541348e7bb6ded01e2c9a8480f3b20ed983c056f39","1a5a51d4218ffbcab903eb5fd60d3470cded89b3d4298547f690be3920f776d7","8e5bb02f3b7e34851b8622615fe53f1c6b16a70266c255b67dfa3edc1f48e149","6ea62fd93ea0e42f6bed22d19eaa2cd9acf4ebd36171cfaa3bda4265b80144c8","a0fa15d72caf3a0eb1a57a912370f346538a34eeecd51234c13a0d3b4b915503","2aa6d406f44a668f06b31f8123707af3a10693e93322692120c0027e61e4d24f","4331e6c683b1c6cd14c04d7406e9c36b5e2f885a2783ed8299279a888ef4bbbc","e256a8cd5e2ef7fe911a8eeee649b05d04ff44e242e4399b7fe10de489575930","8a5ebc2bb1003e04d74afea72e996b9182b611cbcbce7e9f5d668471fbf7ce4f","9df29fa4db42e17296245ec0b52d5489cfd838f74f840e8c3fa793c43ffb16c5","d53f21513bb2ee55f33be025619c1554ae5ee8a7546eeb3bf129d4518aaf0af1","3cfb1f6b7935d829db0558c6591eb2353d2bd9eca7965c5826614086c41d27ec","5f4b435a00b3a4fc859451b8b86ecd72ad818c7596511cdd0e81bac77142555f","5471247a1ada9c479127f115584e37a4576461a427aeccbb9d82b31624eb1a1b","b490de3c8bdc0dedb2e0c1b48d39e46fa153fea61a488dab81331ab6b93dbb70","a7ad765c5e61769c9cb91cf0f35d2a8511d9e7b8d220e7e329cc683603020dab","19d8ea02bddd06bfbcbc0391b425568a912be25caea81d143fecd4891eb1bb7f","a06ad25dfdc6dbc93dc5e36efff11cbd58989b0dc33c1b63ee476c878a7b2ed9","29fd73e3aee18ac6fcc8f5e975c9f3ff9839e5d988f608addd913a9227a0ea5b","1eb5f36e10ab3640afe37678b245b1236ed1c622abc0e506d1e0dfeef3cc03f3","2deffdc8b11922680f96ba2c5047901a502f0cf3109bd2cdca64bd0115f66907","dda8efb8d9aa32452ca765fee6d541b55a359a3a09d1e595aa7245b3a79a5af9","15b50682389138748f3b6823d6a0f65f42ad1d8ca9b160c833007d55cfe5f77d","564d898565ff26172abec09e2624dbc8093fbe6c0833709d29cb7ca8dd3e374f","cf4235f6f543f57e5b65f6732dd266ea86ad86c016707fe0910057aa8b24a838","b78f6686140789d213955da253f0e303e0a31f94beaab439da45976a7a67cc4e","5817ef556f2d572c4f8408aced78de01f267cbbfacf924e0d5090a8bf98a85d9","1cc0718b7f90517503717b5267b157678cc832b1b91488917dbb43565682aa81","ab88e0f9f794e5bd2913cfe238d0f537fbab858425187367e9570b7ba447565b","f12d8bd080cf4322fe51311f704ab16394ca6774a73d6ba94aab4328303d2463","8a833351850dc0ad467ed644d3e4178c389dcae1fefa7d52f92ff70ce154422c","6479d6527374537881f2f89a6dbca77a37927e207e761bcf7633e22c324c5464","ab933895a9a55e8089ce626a524bdb72f5570a6fc50391ebb0d1a40c979c2f1d","a5c3f2613d853df0150bf168f150e9658b146743f37456bedd8ad0c30941132f","b41dd1266988a0b3e276b415621d9db17e3f58e0016b2893f74541431d6c73b2","9968f11e55a7097dfa2f462261343cd211cd471ee5f71e39f5a03ff741e95099","a067cf21affea8de67ba01c4809e644600cb5b235831202e0e444d3ef9da3aa9","c5a9255e123b7c8a7a88fcbde3db992c54be22a68f2f983c5e57ee6c31d6b465","5cd915371031f4477466227d0720da3c81cbe2cfa949f0a74593eb540f23fa01","0acad2cf648f99cd6650bc9e5609e7263c2fe2800bf218e196a5cef22e9f8d7a","4eb1b53673448b425c3541be8cf60e64ff7df863cbbaf28a8096b1bb1940f5a9","ce7bb24449d5a825ae0e541835711b717ab82029412e6bcf262b600dcf364ecf","1e397ed62c0b437758650f47120babaa96bc1a7e69b82624f8ef110b11f11219","93a24cc6cce70e59d2fe49aba48f47e659d1c6dda4be3cf58f69a30c3774e5ea","4dd0f2987cfd6ccc8bb0e7378ce87be2050003a71b72b3460161a7d8a872f2a8","71e33dfbf3bc5b6b9e694bc32adabb177bc93e6ee8d3fc819040d490ba7a7d96","eaa686e28c875bd7efa08edab4a52ddf75755d875920266d632d56d693f277b4","33823641299d168a2f499bb01ed8fc06dafa999ff4d2e821001fbefe1573d762","375c8e856e9bf5cbdad90702157306bb6a50e61b3d8d9f29bbf649a3e5035396","2cc930e2a303c537764c1ddc85cc503c392cb5244573abec930c290a6bab9a3f","e95e569ecf3bc90ad19846bf4ceb7d933d9b82b07a3c00bfca667082bedb4a09","9d63b0eaf4f6d96397a175d8b78c0f83713d55e5172dd9491f80c0f6b96d3d1a","be21f997aaa8bd12846f7cd02d60f8afc526245686aabaef416abf2735532b9c","6fe21e069f3f1136c63ef18e6efa2a74af701eb53901fe0e8ef5b94fe84915a5","c7db5a05101d493e277fe8a777e450eb774c83100b35004ee49f4000814d6c45","b754316f7b51d9ad21b1a151ed484fe473f22c596c9942f552f5479dd3a5a15b","1eace1c452136da9bb640d7e9821446badf7acac7bc55f088d9343af4bcf7b43","7ba5a272e742df41fc35aa9a9afac381bc4d094c89084f8a1dace23287670d03",{"version":"01ee539e95155ccbbac1cef81d1974fbffc9fec261109d8bf0314fbdf7b805e5","signature":"2f9594f12b566eafa5909f1691df697c378b7447755ce9c640f45e2a07f167bd"},"7a5757c55d9398b41ff755a37d6a77a6b973977ed9ff9e6c9b330cb5ff699343","754a878443091dfc861cbe51bfedf3d9315060ed9cbc29236710a83051dd2dea",{"version":"c6fe327c538417b8dd5b9bb32abcd7911534b10da3a4514f3445cdb28cf3abf2","impliedFormat":99},{"version":"32c6e3ef96f2bcbc1db7d7f891459241657633aa663cab6812fb28ade7c90608","impliedFormat":99},{"version":"17da8f27c18a2a07c1a48feb81887cb69dacc0af77c3257217016dacf9202151","impliedFormat":99},{"version":"0065cdb7ac9f5b19921632de63f888ec2cc11ad57f7fc868f44bf0faad2fce3e","impliedFormat":99},{"version":"8c1adc3171d0287f3a26f4891a7d1834c89999573a9b444aa5ff519dcc43a2b7","impliedFormat":99},{"version":"27aee784c447854a4719f11058579e49f08faa70d06d8e30abe00f5e25538de6","impliedFormat":99},{"version":"fbc610f9dde70f0bbea39eefec2e31ca1d99f715e9c71fb118bd2306a832bcb5","impliedFormat":99},{"version":"a829052855dca3affb8e2ef0afa0f013b03fa9b55762348b1fba76d9c2741c99","impliedFormat":99},{"version":"1d61288b34b2dd2029b85bc70fabbb1da90c2a370396d5df5f620e62eb47ddbe","impliedFormat":99},{"version":"5a2cf4cd852a58131b320da62269b2143850920ce27e8fdec41fed5c2c54ec95","impliedFormat":99},{"version":"f193437b3919bbe63c2c1bb1abe20fa3eb717ce34fc719d903077784e11e9fc7","impliedFormat":99},{"version":"6a99940a8a76a1aa20ae6f2afd8e909e47e0b17df939e7cf5a585171480655ff","impliedFormat":99},{"version":"043195af0b52aadd10713870dd60369df0377ed153104b26e6bac1213b19f63e","impliedFormat":99},{"version":"ad17a36132569045ab97c8e5badf8febb556011a8ed7b2776ff823967d6d5aca","impliedFormat":99},{"version":"698d2b22251dbbfc0735e2d6ed350addead9ad031fac48b8bb316e0103d865db","impliedFormat":99},{"version":"7298d28b75c52e89c0b3e5681eac19e14480132cd30baaba5e5ca10211a740ef","impliedFormat":99},{"version":"ff10facf373a13d2864ff4de38c4892d74be27d9c6468dac49c08adabbf9b0eb","impliedFormat":99},{"version":"97b1cf4599cc3bc2e84b997aa1af60d91ca489d96bea0e20aaff0e52a5504b29","impliedFormat":99},{"version":"853dfbcd0999d3edc6be547d83dc0e0d75bf44530365b9583e75519d35984c35","impliedFormat":99},{"version":"9c80bed388d4ed47080423402db9cb1b35a31449045a83a0487f4dfde3d9d747","impliedFormat":99},{"version":"f29bc6a122a4a26c4e23289daae3aa845a18af10da90989cb8b51987e962b7be","impliedFormat":99},{"version":"3a1f39e098971c10633a064bd7a5dbdec464fcf3864300772763c16aa24457f9","impliedFormat":99},{"version":"20e614d6e045d687c3f7d707561b7655ad6177e859afc0c55649b7e346704c77","impliedFormat":99},{"version":"aa0ae1910ba709bc9db460bdc89a6a24d262be1fbea99451bedac8cbbc5fb0cd","impliedFormat":99},{"version":"161d113c2a8b8484de2916480c7ba505c81633d201200d12678f7f91b7a086f0","impliedFormat":99},{"version":"b998a57d4f43e32ac50a1a11f4505e1d7f71c3b87f155c140debe40df10386c8","impliedFormat":99},{"version":"5710e8ed9797ae0042e815eb8f87df2956cb1bf912939c9b98eeb58494a63c13","impliedFormat":99},{"version":"a6bb421dccfec767dbd3e99180b24c07c4a216c0fd549f54a3313f6ce3f9d2c7","impliedFormat":99},{"version":"3b6f1be46f573b1c1f3e6cd949890bfb96b40ff90b6f313e425a379c1c4d5d77","impliedFormat":99},{"version":"28a2c54d0a78d32c29f7279ca04dc6c7860c008579e4e3033938c0ed0201eb9a","impliedFormat":99},{"version":"c2714a402843287624210a47ebea2b1c8dd3ad1438f448633f6831e31eaf37b8","impliedFormat":99},{"version":"b89945ec6707415d739f3e76f2820982d4927dc6b681910b3c433b5ad261b817","impliedFormat":99},{"version":"a72d5822fb2a2c1ef985b30aed889f4c00342c90e12318762fccc550c6a599cf","impliedFormat":99},{"version":"c8616ab60eda93ca87fbb20aada1d6a6cdbcd2cb181a70a2d7728a3cb0613391","impliedFormat":99},{"version":"eeddfd3e0b09890822068de5248d38144f8328e74b5292847eb4e558d8aba8cb","impliedFormat":99},{"version":"d4dc0b6592543314c8549c71e35ad2ec4a57904662d905ff9585836bde1c855a","impliedFormat":99},{"version":"56e1687a174cd10912a35a4676af434bb213aafa5d4371040986c578afe644ab","impliedFormat":99},{"version":"470c280cc484340b97d0942e0c3aa312399eba3849ceb95312d0d7413bac7458","impliedFormat":99},{"version":"ae183f4a6300aad2be92cdbd4dd12d8bcd36eddf8dd1846f998c237235fe0c33","impliedFormat":99},{"version":"4b0eeffddaf51b967e95926a825a6ba1205b81b3a8fecddbe21eaf0e86bdee91","impliedFormat":99},{"version":"bf3ec0d42e33e487c359a989b30e1c9e90fa06de484dc4751e93fb34a9b5cf90","impliedFormat":99},{"version":"7b9656a61d83df1a46c38c2984dbf96dd057bf48f477ddf3f8990311ab98ec23","impliedFormat":99},{"version":"366b85ddb698f3a035e0caa68dc9fef39a85c4368c0810eaf937c3a3c63ac31e","impliedFormat":99},{"version":"d440ee730bc60a5c605903842e398863e7ecdb7a91fc32a9152f14061bf6cc17","impliedFormat":99},{"version":"a12c86c4a691608d19a75320946c80bbce38bb62c091dda32572aee7158edd38","impliedFormat":99},{"version":"3109cb3f8ab0308d2944c26742b6a8a02b4a4ffc23f479a81f0e945d6a6721dd","impliedFormat":99},{"version":"a2289c12a987f2a06f4cf049afde4fdc9455a4af37913445148865938c6eb613","impliedFormat":99},{"version":"55933c1450edcfaf166429425dbbad0a27c0ae8672d5ab5d427e46946a6f2f63","impliedFormat":99},{"version":"6c684fda6998db4112e82367c9e82e27996dc8086a10d58ac9b51d89770d5f9d","impliedFormat":99},{"version":"5c4b4dd983471fcaed17ad3241c98a1f880729f1ca579ddbcdae7e0bf04035df","impliedFormat":99},{"version":"9e430429c7e9e70071a836ac91a1bf6e6651f91d47d9f4baf0a92eefc6130818","impliedFormat":99},{"version":"b3db7f6d7ef72669dc83fa1ff7b90a2ec31d1d8f82778f2a00ef6d101f5247e5","impliedFormat":99},{"version":"354f61bd2a5acaf20462bc4d61048aa25f8fc0dd04dfe3d2f30bdbabbab54e7d","impliedFormat":99},{"version":"d51756340928e549f076c832d7bc2b4180385597b0b4daaa50e422bed53e1a72","impliedFormat":99},{"version":"ac2ea00eb8f73665842e57e729e14c6d3feabe9859dc5e87a1ed451b20b889e4","impliedFormat":99},{"version":"730cb342a128f5a8a036ffbd6dbc1135b623ce2100cefe1e1817bb8845bc7100","impliedFormat":99},{"version":"78e387f16df573a98dd51b3c86d023ddbd5bf68e510711a9fee8340e7ccc3703","impliedFormat":99},{"version":"e2381c64702025b4d57b005e94ed0b994b5592488d76f1e5f67f59d1860ebb70","impliedFormat":99},{"version":"d7dfcb039ff9cff38ccd48d2cc1ba95ca45c316670eddbcf81784e21b7128692","impliedFormat":99},{"version":"acaf0a60eb243938f7742df08bf5d52482fbea033fd27141ee3a6d878bbb0d3d","impliedFormat":99},{"version":"fb89aeecfc8eb28f5677c2c89bced74d13442b7f4ebd01ce2ce92127d1b36d69","impliedFormat":99},{"version":"9e91cb0a5bd7aefa2b94a2872828d6d2321df0ca44412e74d99e8b94e579b7d8","impliedFormat":99},{"version":"a56827adea79fb04ecb27671b6a3529fe74c6937ebb9ca9bdd53b7bd0e8c861b","impliedFormat":99},{"version":"192c1a207b44af476190ae66920636de5d56c33b57206bbc2421adc23f673e2e","impliedFormat":99},{"version":"e5aa35b3740170492e06e60989d35a222cfda2148507c650ea55753f726c9213","impliedFormat":99},{"version":"057aa42f6983120c35373aed62b219ffcbd7b476b2df08709139a9eb8dfeed26","impliedFormat":99},{"version":"95a0c46b4675d4d02de6a7c167738f1176b53b26ebec9ccfe8e5d9acb0dc7aee","impliedFormat":99},{"version":"94ad4d9745811c482ae3bad61e5b206e0904f77e0dacf783199193a3df9f6ce6","impliedFormat":99},{"version":"407dc18ecd25802296fade17be81d0d4f499ae75fe88ed132f94e7efdad269e2","impliedFormat":99},{"version":"77dabe31d44c48782c529d5c9acddc41f799bf9b424b259596131efc77355478","impliedFormat":99},{"version":"f6dfe21d867aa5e13bc53d536b69b66427f571707a01e7c3604dc51ded097313","impliedFormat":99},{"version":"4ecd02d0e4ccf7befb9c28802c6c208060e33291d56fd1868900ca295c399077","impliedFormat":99},{"version":"37ada75be4b3f6b888f538091020d81b2a0ad721dc42734f70f639fa4703a5c8","impliedFormat":99},{"version":"aa73ff0024d5434a3e87ea2824f6faece7aad7b9f6c22bd399268241ca051dc7","impliedFormat":99},{"version":"4c9fb50b0697756bab3e4095f28839cf5b55430a4744d2ebbaf850ec8dca54d8","impliedFormat":99},{"version":"782868b723c055c5612c4a243f72a78a8b3c0c3b707ae04954e36e8ab966df4c","impliedFormat":99},{"version":"3de9d9ad4876972e7599fc0b3bddb0fddb1923be75787480a599045a30f14292","impliedFormat":99},{"version":"0f4b3c05937bbdb9cf954722ddc97cd72624e3b810f6f2cf4be334adb1796ec1","impliedFormat":99},{"version":"9fc243c4c87d8560348501080341e923be2e70bf7b5e09a1b26c585d97ae8535","impliedFormat":99},{"version":"4f97089fe15655ae448c9d005bb9a87cc4e599b155edc9e115738c87aa788464","impliedFormat":99},{"version":"f948d562d0a8085f1bd17b50798d5032529a75c147f40adfeb4fd3e453368643","impliedFormat":99},{"version":"22929f9874783b059156ee3cfa864d6f718e1abf9c139f298a037ae0274186f6","impliedFormat":99},{"version":"c72a7c316459b2e872ca4a9aca36cc05d1354798cee10077c57ff34a34440ac2","impliedFormat":99},{"version":"3e5bbf8893b975875f5325ebf790ab1ab38a4173f295ffea2ed1f108d9b1512c","impliedFormat":99},{"version":"9e4a38448c1d26d4503cf408cc96f81b7440a3f0a95d2741df2459fe29807f67","impliedFormat":99},{"version":"84124d21216da35986f92d4d7d1192ca54620baeca32b267d6d7f08b5db00df9","impliedFormat":99},{"version":"efba354914a2dc1056a55510188b6ced85ead18c5d10cc8a767b534e2db4b11b","impliedFormat":99},{"version":"25f5bf39f0785a2976d0af5ac02f5c18ca759cde62bc48dd1d0d99871d9ad86f","impliedFormat":99},{"version":"e711fa7718a2060058ff98ac6bff494c1615b9d42c4f03aa9c8270bc34927164","impliedFormat":99},{"version":"e324b2143fa6e32fac37ed9021b88815e181b045a9f17dbb555b72d55e47cdc1","impliedFormat":99},{"version":"3e90ea83e3803a3da248229e3027a01428c3b3de0f3029f86c121dc76c5cdcc2","impliedFormat":99},{"version":"9368c3e26559a30ad3431d461f3e1b9060ab1d59413f9576e37e19aaf2458041","impliedFormat":99},{"version":"915e5bb8e0e5e65f1dc5f5f36b53872ffcdcaef53903e1c5db7338ea0d57587a","impliedFormat":99},{"version":"92cf986f065f18496f7fcb4f135bff8692588c5973e6c270d523191ef13525ad","impliedFormat":99},{"version":"652f2bd447e7135918bc14c74b964e5fe48f0ba10ff05e96ed325c45ac2e65fb","impliedFormat":99},{"version":"cc2156d0ec0f00ff121ce1a91e23bd2f35b5ab310129ad9f920ddaf1a18c2a4d","impliedFormat":99},{"version":"7b371e5d6e44e49b5c4ff88312ae00e11ab798cfcdd629dee13edc97f32133d8","impliedFormat":99},{"version":"e9166dab89930e97bb2ce6fc18bcc328de1287b1d6e42c2349a0f136fc1f73e6","impliedFormat":99},{"version":"6dc0813d9091dfaed7d19df0c5a079ee72e0248ce5e412562c5633913900be25","impliedFormat":99},{"version":"e704c601079399b3f2ec4acdfc4c761f5fe42f533feaaab7d2c1c1528248ca3e","impliedFormat":99},{"version":"49104d28daa32b15716179e61d76b343635c40763d75fe11369f681a8346b976","impliedFormat":99},{"version":"04cd3418706b1851d2c1d394644775626529c23e615a829b8abfe26ec0ee3aef","impliedFormat":99},{"version":"21e459e9485fc48f21708d946c102e4aaa4a87b4c9ad178e1c5667e3ff6bbc59","impliedFormat":99},{"version":"97e685ac984fc93dcdae6c24f733a7a466274c103fdcf5d3b028eaa9245f59d6","impliedFormat":99},{"version":"68526ea8f3bbf75a95f63a3629bebe3eb8a8d2f81af790ce40bc6aad352a0c12","impliedFormat":99},{"version":"bcab57f5fe8791f2576249dfcc21a688ecf2a5929348cfe94bf3eb152cff8205","impliedFormat":99},{"version":"b5428f35f4ebf7ea46652b0158181d9c709e40a0182e93034b291a9dc53718d8","impliedFormat":99},{"version":"0afcd28553038bca2db622646c1e7fcf3fb6a1c4d3b919ef205a6014edeeae0f","impliedFormat":99},{"version":"ee016606dd83ceedc6340f36c9873fbc319a864948bc88837e71bd3b99fdb4f6","impliedFormat":99},{"version":"0e09ffe659fdd2e452e1cbe4159a51059ae4b2de7c9a02227553f69b82303234","impliedFormat":99},{"version":"4126cb6e6864f09ca50c23a6986f74e8744e6216f08c0e1fe91ab16260dab248","impliedFormat":99},{"version":"4927dba9193c224e56aa3e71474d17623d78a236d58711d8f517322bd752b320","impliedFormat":99},{"version":"3d3f189177511d1452e7095471e3e7854b8c44d94443485dc21f6599c2161921","impliedFormat":99},{"version":"bb0519ff5ef245bbf829d51ad1f90002de702b536691f25334136864be259ec5","impliedFormat":99},{"version":"a64e28f2333ea0324632cf81fd73dc0f7090525547a76308cb1dfe5dab96596a","impliedFormat":99},{"version":"883f9faa0229f5d114f8c89dadd186d0bdf60bdafe94d67d886e0e3b81a3372e","impliedFormat":99},{"version":"d204b9ae964f73721d593e97c54fc55f7fd67de826ce9e9f14b1e762190f23d1","impliedFormat":99},{"version":"91830d20b424859e5582a141efe9a799dc520b5cce17d61b579fb053c9a6cd85","impliedFormat":99},{"version":"68115cdc58303bad32e2b6d59e821ccaada2c3fb63f964df7bd4b2ebd6735e80","impliedFormat":99},{"version":"ee27e47098f1d0955c8a70a50ab89eb0d033d28c5f2d76e071d8f52a804afe07","impliedFormat":99},{"version":"7957b11f126c6af955dc2e08a1288013260f9ec2776ff8cc69045270643bf43e","impliedFormat":99},{"version":"d010efe139c8bb78497dc7185dddbbcefc84d3059b5d8549c26221257818a961","impliedFormat":99},{"version":"85059ed9b6605d92c753daf3a534855ba944be69ff1a12ab4eca28cefbabd07a","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"ea68a96f4e2ba9ca97d557b7080fbdb7f6e6cf781bb6d2e084e54da2ac2bb36c","impliedFormat":99},{"version":"fdae6a221872468d5b6ef3ee06a5ede1b7b3168b6c8346d0bf389fe0490b5269","impliedFormat":99},{"version":"424df1d45a2602f93010cb92967dfe76c3fcadad77d59deb9ca9f7ab76995d40","impliedFormat":99},{"version":"21f96085ed19d415725c5a7d665de964f8283cacef43957de10bdd0333721cc4","impliedFormat":99},{"version":"e8d4da9e0859c6d41c4f1c3f4d0e70446554ba6a6ab91e470f01af6a2dcac9bf","impliedFormat":99},{"version":"2e2421a3eec7afefa5a1344a6852d6fee6304678e2d4ee5380b7805f0ac8b58a","impliedFormat":99},{"version":"a10fd5d76a2aaba572bec4143a35ff58912e81f107aa9e6d97f0cd11e4f12483","impliedFormat":99},{"version":"1215f54401c4af167783d0f88f5bfb2dcb6f0dacf48495607920229a84005538","impliedFormat":99},{"version":"476f8eb2ea60d8ad6b2e9a056fdda655b13fd891b73556b85ef0e2af4f764180","impliedFormat":99},{"version":"2fe93aef0ee58eaa1b22a9b93c8d8279fe94490160703e1aabeff026591f8300","impliedFormat":99},{"version":"bbb02e695c037f84947e56da3485bb0d0da9493ed005fa59e4b3c5bc6d448529","impliedFormat":99},{"version":"ba666b3ab51c8bc916c0cebc11a23f4afec6c504c767fd5f0228358f7d285322","impliedFormat":99},{"version":"c10972922d1887fe48ed1722e04ab963e85e1ac12263a167edef9b804a2af097","impliedFormat":99},{"version":"6efeacbd1759ea57a4c7264eb766c531ae0ab2c00385294be58bc5031ef43ad1","impliedFormat":99},{"version":"1c261f5504d0175be4f1b6b99f101f4c3a129a5a29fc768e65c52d6861ca5784","impliedFormat":99},{"version":"f0e69b5877b378d47cbac219992b851e2bbc0f7e3a3d3579d67496dabd341ec4","impliedFormat":99},{"version":"b5ea27f19a54feca5621f5ba36a51026128ea98e7777e5d47f08b79637527cf5","impliedFormat":99},{"version":"b54890769fa3c34ab3eb7e315b474f52d5237c86c35f17d59eb21541e7078f11","impliedFormat":99},{"version":"c133db4b6c17a96db7fa36607c59151dec1e5364d9444cbe15e8c0ea4943861e","impliedFormat":99},{"version":"3a0514f77606d399838431166a0da6dbd9f3c7914eae5bbfbd603e3b6a552959","impliedFormat":99},{"version":"fa568f8d605595e1cffbfca3e8c8c492cf88ae2c6ed151f6c64acf0f9e8c25d8","impliedFormat":99},{"version":"c76fb65cb2eb09a0ee91f02ff5b43a607b94a12c34d16d005b2c0afc62870766","impliedFormat":99},{"version":"cf7af60a0d4308a150df0ab01985aabb1128638df2c22dd81a2f5b74495a3e45","impliedFormat":99},{"version":"913bbf31f6b3a7388b0c92c39aec4e2b5dba6711bf3b04d065bd80c85b6da007","impliedFormat":99},{"version":"42d8c168ca861f0a5b3c4c1a91ff299f07e07c2dd31532cd586fd1ee7b5e3ae6","impliedFormat":99},{"version":"a29faa7cb35193109ec1777562ca52c72e7382ffe9916b26859b5874ad61ff29","impliedFormat":99},{"version":"15bdf2eeef95500ba9f1602896e288cb425e50462b77a07fa4ca23f1068abb21","impliedFormat":99},{"version":"452db58fd828ab87401f6cecc9a44e75fa40716cc4be80a6f66cf0a43c5a60cc","impliedFormat":99},{"version":"54592d0215a3fd239a6aa773b1e1a448dc598b7be6ce9554629cd006ee63a9d6","impliedFormat":99},{"version":"9ee28966bb038151e21e240234f81c6ba5be6fde90b07a9e57d4d84ae8bc030c","impliedFormat":99},{"version":"2fe1c1b2b8a41c22a4e44b0ac7316323d1627d8c72f3f898fa979e8b60d83753","impliedFormat":99},{"version":"956e43b28b5244b27fdb431a1737a90f68c042e162673769330947a8d727d399","impliedFormat":99},{"version":"92a2034da56c329a965c55fd7cffb31ccb293627c7295a114a2ccd19ab558d28","impliedFormat":99},{"version":"c1b7957cd42a98ab392ef9027565404e5826d290a2b3239a81fbac51970b2e63","impliedFormat":99},{"version":"4861ee34a633706bcbba4ea64216f52c82c0b972f3e790b14cf02202994d87c5","impliedFormat":99},{"version":"7af4e33f8b95528de005282d6cca852c48d293655dd7118ad3ce3d4e2790146f","impliedFormat":99},{"version":"df345b8d5bf736526fb45ae28992d043b2716838a128d73a47b18efffe90ffa7","impliedFormat":99},{"version":"d22c5b9861c5fc08ccd129b5fc3dcdc7536e053c0c1d463f3ab39820f751c923","impliedFormat":99},{"version":"dcc38f415a89780b34d827b45493d6dbadb05447d194feb4498172e508c416ac","impliedFormat":99},{"version":"7e917e3b599572a2dd9cfa58ff1f68fda9e659537c077a2c08380b2f2b14f523","impliedFormat":99},{"version":"20b108e922abd1c1966c3f7eb79e530d9ac2140e5f51bfa90f299ad5a3180cf9","impliedFormat":99},{"version":"2bc82315d4e4ed88dc470778e2351a11bc32d57e5141807e4cdb612727848740","impliedFormat":99},{"version":"e2dd1e90801b6cd63705f8e641e41efd1e65abd5fce082ef66d472ba1e7b531b","impliedFormat":99},{"version":"a3cb22545f99760ba147eec92816f8a96222fbb95d62e00706a4c0637176df28","impliedFormat":99},{"version":"287671a0fe52f3e017a58a7395fd8e00f1d7cd9af974a8c4b2baf35cfda63cfa","impliedFormat":99},{"version":"e2cdad7543a43a2fb6ed9b5928821558a03665d3632c95e3212094358ae5896b","impliedFormat":99},{"version":"326a980e72f7b9426be0805774c04838e95195b467bea2072189cefe708e9be7","impliedFormat":99},{"version":"e3588e9db86c6eaa572c313a23bf10f7f2f8370e62972996ac79b99da065acaa","impliedFormat":99},{"version":"1f4700278d1383d6b53ef1f5aecd88e84d1b7e77578761838ffac8e305655c29","impliedFormat":99},{"version":"6362a4854c52419f71f14d3fee88b3b434d1e89dcd58a970e9a82602c0fd707a","impliedFormat":99},{"version":"fb1cc1e09d57dfeb315875453a228948b904cbe1450aaf8fda396ff58364a740","impliedFormat":99},{"version":"50652ed03ea16011bb20e5fa5251301bb7e88c80a6bf0c2ea7ed469be353923b","impliedFormat":99},{"version":"d388e0c1c9a42d59ce88412d3f6ce111f63ce2ff558e0a3f84510092431dfee0","impliedFormat":99},{"version":"35ea0a1e995aef5ae19b1553548a793c76eb31bdf7fef30bc74656660c3a09c3","impliedFormat":99},{"version":"56f4ae4e34cbff1e4158ccada4feea68a357bae86adb3bedaa65260d0af579df","impliedFormat":99},{"version":"6eebdacf8e85b2cf70ad7a2f43ead1f8acccfd214ab57ff1d989e9e35661015d","impliedFormat":99},{"version":"a4f90a12cbfac13b45d256697ce70a6b4227790ca2bf3898ffd2359c19eab4eb","impliedFormat":99},{"version":"4a6c2ac831cff2d8fa846dfb010ee5f7afce3f1b9bd294298ee54fdc555f1161","impliedFormat":99},{"version":"8395cc6350a8233a4da1c471bdac6b63d5ed0a0605da9f1e0c50818212145b5b","impliedFormat":99},{"version":"b58dda762d6bd8608d50e1a9cc4b4a1663a9d4aa50a9476d592a6ecdc6194af4","impliedFormat":99},{"version":"bc14cb4f3868dab2a0293f54a8fe10aa23c0428f37aece586270e35631dd6b67","impliedFormat":99},{"version":"2d4530d6228c27906cb4351f0b6af52ff761a7fab728622c5f67e946f55f7f00","impliedFormat":99},{"version":"ec359d001e98bf56b0e06b4882bd1421fd088d4d181dff3138f52175c0582a51","impliedFormat":99},{"version":"2ac845b89cae82a74e549c7c1d9f983f993033ba14376ea83cd13b3e38a8537a","impliedFormat":99},{"version":"a8d491b4eb728dab387933a518d9e1f32d5c9d5a5225ff134d847b0c8cc9c8ce","impliedFormat":99},{"version":"668f628ae1f164dcf6ea8f334ea6a629d5d1a8e7a2754245720a8326ff7f1dc0","impliedFormat":99},{"version":"5105c00e1ae2c0a17c4061e552fa9ec8c74ec41f69359b8719cb88523781018e","impliedFormat":99},{"version":"d2c033af6f2ea426de4657177f0e548ee5bed6756c618a8b3b296c424e542388","impliedFormat":99},{"version":"45be28de10e6f91aacb29fbd2955ba65a0fd3d1b5fddefece9c381043e91e68d","impliedFormat":99},{"version":"77dabe31d44c48782c529d5c9acddc41f799bf9b424b259596131efc77355478","impliedFormat":99},{"version":"6801ebe0b7ab3b24832bc352e939302f481496b5d90b3bc128c00823990d7c7d","impliedFormat":99},{"version":"0abb1feddc76a0283c7e8e8910c28b366612a71f8bfdd5ca42271d7ad96e50b2","impliedFormat":99},{"version":"ac56b2f316b70d6a727fdbbcfa8d124bcd1798c293487acb2b27a43b5c886bb0","impliedFormat":99},{"version":"d849376baf73ec0b17ffd29de702a2fdbbe0c0390ec91bebf12b6732bf430d29","impliedFormat":99},{"version":"40dcd290c10cc7b04a55f7ee5c76f77250f48022cea1624eba2c0589753993b4","impliedFormat":99},{"version":"0f9c9f7d13a5cf1c63eb56318b6ae4dfa2accef1122b2e88b5ed1c22a4f24e3b","impliedFormat":99},{"version":"9c4178832d47d29c9af3b1377c6b019f7813828887b80bb96777393f700eb260","impliedFormat":99},{"version":"dddb8672a0a6d0e51958d539beb906669a0f1d3be87425aaa0ae3141a9ad6402","impliedFormat":99},{"version":"6b514d5159d0d189675a1d5a707ba068a6da6bc097afb2828aae0c98d8b32f08","impliedFormat":99},{"version":"39d7dbcfec85393fedc8c7cf62ee93f7e97c67605279492b085723b54ccaca8e","impliedFormat":99},{"version":"81882f1fa8d1e43debb7fa1c71f50aa14b81de8c94a7a75db803bb714a9d4e27","impliedFormat":99},{"version":"c727a1218e119f1549b56dd0057e721d67cfa456c060174bac8a5594d95cdb2d","impliedFormat":99},{"version":"bca335fd821572e3f8f1522f6c3999b0bc1fe3782b4d443c317df57c925543ed","impliedFormat":99},{"version":"73332a05f142e33969f9a9b4fb9c12b08b57f09ada25eb3bb94194ca035dc83d","impliedFormat":99},{"version":"c366621e6a8febe9bbca8c26275a1272d99a45440156ca11c860df7aa9d97e6d","impliedFormat":99},{"version":"d9397a54c21d12091a2c9f1d6e40d23baa327ae0b5989462a7a4c6e88e360781","impliedFormat":99},{"version":"dc0e2f7f4d1f850eb20e226de8e751d29d35254b36aa34412509e74d79348b75","impliedFormat":99},{"version":"af3102f6aec26d237c750decefdc7a37d167226bb1f90af80e1e900ceb197659","impliedFormat":99},{"version":"dea1773a15722931fbfe48c14a2a1e1ad4b06a9d9f315b6323ee112c0522c814","impliedFormat":99},{"version":"b26e3175cf5cee8367964e73647d215d1bf38be594ac5362a096c611c0e2eea8","impliedFormat":99},{"version":"4280093ace6386de2a0d941b04cff77dda252f59a0c08282bd3d41ccc79f1a50","impliedFormat":99},{"version":"fe17427083904947a4125a325d5e2afa3a3d34adaedf6630170886a74803f4a2","impliedFormat":99},{"version":"0246f9f332b3c3171dcdd10edafab6eccb918c04b2509a74e251f82e8d423fb7","impliedFormat":99},{"version":"f6ef33c2ff6bbdf1654609a6ca52e74600d16d933fda1893f969fc922160d4d7","impliedFormat":99},{"version":"1abd22816a0d992fd33b3465bf17a5c8066bf13a8c6ca4fc0cd28884b495762d","impliedFormat":99},{"version":"82032a08169ea01cf01aa5fd3f7a02f1f417697df5e42fc27d811d23450bc28d","impliedFormat":99},{"version":"9c8cbd1871126e98602502444cffb28997e6aa9fbc62d85a844d9fd142e9ae1b","impliedFormat":99},{"version":"b0e20abc4a73df8f97b3f1223cc330e9ba3b2062db1908aa2a97754a792139ac","impliedFormat":99},{"version":"bc1f2428d738ab789339030078adf313100471c37d8d69f6cf512a5715333afc","impliedFormat":99},{"version":"dc500c6a23c9432849c82478bdab762fa7bdf9245298c2279a7063dd05ae9f9a","impliedFormat":99},{"version":"cd1b6a2503fc554dcab602e053565c4696e4262b641b897664d840a61f519229","impliedFormat":99},{"version":"af1580cd202df0e33fc592fe1d75d720c15930a4127a87633542b33811316724","impliedFormat":99},{"version":"538608f9242fbf4260d694f19c95b454f855152ab3b882ac72114f19b08984d2","impliedFormat":99},{"version":"cd0e1083bd8ae52661544329c311836abdda5d5dda89fc5d7ab038956c0394e8","impliedFormat":99},{"version":"9ea6fea875302b2bb3976f7431680affc45a4319499d057ce12be04e4f487bf9","impliedFormat":99},{"version":"66e0c3f9875da7be383d0c78c8b8940b6ebae3c6a0fbfd7e77698b5e8ade3b05","impliedFormat":99},{"version":"da38d326fe6a72491cad23ea22c4c94dfc244363b6a3ec8a03b5ad5f4ee6337b","impliedFormat":99},{"version":"da587bf084b08ea4e36a134ec5fb19ae71a0f32ec3ec2a22158029cb2b671e28","impliedFormat":99},{"version":"517a31c520e08c51cfe6d372bc0f5a6bf7bd6287b670bcaa180a1e05c6d4c4da","impliedFormat":99},{"version":"0263d94b7d33716a01d3e3a348b56c2c59e6d897d89b4210bdbf27311127223c","impliedFormat":99},{"version":"d0120e583750834bf1951c8b9936781a98426fe8d3ad3d951f96e12f43090469","impliedFormat":99},{"version":"a2e6a99c0fb4257e9301d592da0834a2cb321b9b1e0a81498424036109295f8b","impliedFormat":99},{"version":"c6b5ae9f99f1fccadc23d56307a28c8490c48e687678f2cafa006b3b9b8e73e4","impliedFormat":99},{"version":"eae178ee8d7292bcd23be2b773dda60b055bc008a0ddce2acc1bfe30cc36cf04","impliedFormat":99},{"version":"e0b5f197fb47b39a4689ad356b8488e335bbf399b283492c0ffae0cfda88837b","impliedFormat":99},{"version":"adb7aa4b8d8b423d0d7e78b6a8affb88c3a32a98e21cd54fcafd570ad8588d0c","impliedFormat":99},{"version":"643e22362c15304f344868ec0e7c0b4a1bc2b56c8b81d5b9f0ee0a6f3c690fff","impliedFormat":99},{"version":"f89e713e33bfcc7cc1d505a1e76f260b7aae72f8ba83f800ab47b5db2fed8653","impliedFormat":99},{"version":"4e095c719ab15aa641872ab286d8be229562c4b3dc4eec79888bc4e8e0426ed8","impliedFormat":99},{"version":"6022afc443d2fe0af44f2f5912a0bdd7d17e32fd1d49e6c5694cbc2c0fa11a8f","impliedFormat":99},{"version":"6dd3f823ac463041d89c84d7bbf74931a38d874a9716040492ac7a16c7d2f023","impliedFormat":99},{"version":"a5bf6d947ce6a4f1935e692c376058493dbfbd9f69d9b60bbaf43fd5d22c324b","impliedFormat":99},{"version":"4927ef881b202105603e8416d63f317a1f1ea47d321e32826b9b20a44caa55e2","impliedFormat":99},{"version":"914d11655546eba92ac24d73e6efdb350738bcf4a9a161a2b96e904bad4de809","impliedFormat":99},{"version":"f9fdd2efc37eefc321338d39b5bd341b2aa82292b72610cb900f205f6803ff66","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"ab043784438ef8945a95124d2325308554c8b53dc92ce801f09702e79234282a","impliedFormat":99},{"version":"3fb3501967b0f0224023736d0ad41419482b88a69122e5cb46a50ae5635adb6a","impliedFormat":99},{"version":"06d66a6723085295f3f0ecd254a674478c4dba80e7b01c23a9693a586682252f","impliedFormat":99},{"version":"cc411cd97607f993efb008c8b8a67207e50fdd927b7e33657e8e332c2326c9f3","impliedFormat":99},{"version":"b144c6cdf6525af185cd417dc85fd680a386f0840d7135932a8b6839fdee4da6","impliedFormat":99},{"version":"e8dfa804c81c6b3e3dc411ea7cea81adf192fe20b7c6db21bf5574255f1c9c0e","impliedFormat":99},{"version":"572ee8f367fe4068ccb83f44028ddb124c93e3b2dcc20d65e27544d77a0b84d3","impliedFormat":99},{"version":"7d604c1d876ef8b7fec441cf799296fd0d8f66844cf2232d82cf36eb2ddff8fe","impliedFormat":99},{"version":"7b86b536d3e8ca578f8fbc7e48500f89510925aeda67ed82d5b5a3213baf5685","impliedFormat":99},{"version":"861596a3b58ade9e9733374bd6b45e5833b8b80fd2eb9fe504368fc8f73ae257","impliedFormat":99},{"version":"a3da7cf20826f3344ad9a8a56da040186a1531cace94e2788a2db795f277df94","impliedFormat":99},{"version":"900a9da363740d29e4df6298e09fad18ae01771d4639b4024aa73841c6a725da","impliedFormat":99},{"version":"442f6a9e83bb7d79ff61877dc5f221eea37f1d8609d8848dfbc6228ebc7a8e90","impliedFormat":99},{"version":"4e979a85e80e332414f45089ff02f396683c0b5919598032a491eb7b981fedfd","impliedFormat":99},{"version":"6d3496cac1c65b8a645ecbb3e45ec678dd4d39ce360eecbcb6806a33e3d9a7ae","impliedFormat":99},{"version":"9909129eb7301f470e49bbf19f62a6e7dcdfe9c39fdc3f5030fd1578565c1d28","impliedFormat":99},{"version":"95cdad1f759b74b014cea71cf1a68567b17e4165ec8139930305ba1e21b10a0c","impliedFormat":99},{"version":"7e4fc245cc369ba9c1a39df427563e008b8bfe5bf73c6c3f5d3a928d926a8708","impliedFormat":99},{"version":"3aa7c4c9a6a658802099fb7f72495b9ba80d8203b2a35c4669ddfcbbe4ff402b","impliedFormat":99},{"version":"d39330cb139d83d5fa5071995bb615ea48aa093018646d4985acd3c04b4e443d","impliedFormat":99},{"version":"663800dc36a836040573a5bb161d044da01e1eaf827ccc71a40721c532125a80","impliedFormat":99},{"version":"f28691d933673efd0f69ac7eae66dea47f44d8aa29ec3f9e8b3210f3337d34df","impliedFormat":99},{"version":"ae89fb16575dc616df3ff907c6338d94cfa731881ecef82155b21ab4134b3826","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"f716500cce26a598e550ac0908723b9c452e0929738c55a3c7fe3c348416c3d0","impliedFormat":99},{"version":"6b7c511d20403a5a1e3f5099056bc55973479960ceff56c066ff0dd14174c53c","impliedFormat":99},{"version":"48b83bd0962dac0e99040e91a49f794d341c7271e1744d84e1077e43ecda9e04","impliedFormat":99},{"version":"b8fd98862aa6e7ea8fe0663309f15b15f54add29d610e70d62cbccff39ea5065","impliedFormat":99},{"version":"ffa53626a9de934a9447b4152579a54a61b2ea103dbbf02b0f65519bfef98cdd","impliedFormat":99},{"version":"d171a70a6e5ff6700fa3e2f0569a15b12401ad9bc5f4d650f8b844f7f20ef977","impliedFormat":99},{"version":"b6e9b15869788861fff21ec7f371bda9a2e1a1b15040cc005db4d2e792ece5ca","impliedFormat":99},{"version":"22c844fbe7c52ee4e27da1e33993c3bbb60f378fa27bb8348f32841baecb9086","impliedFormat":99},{"version":"dee6934166088b55fe84eae24de63d2e7aae9bfe918dfe635b252f682ceca95a","impliedFormat":99},{"version":"c39b9c4f5cc37a8ed51bef12075f5d023135e11a9b215739fd0dd87ee8da804a","impliedFormat":99},{"version":"db027bc9edef650cff3cbe542959f0d4ef8532073308c04a5217af25fc4f5860","impliedFormat":99},{"version":"a4e026fe4d88d36f577fbd38a390bd846a698206b6d0ca669a70c226e444af1b","impliedFormat":99},{"version":"b5a0d4f7a2d54acbe0d05f4d9f5c9efaaeddc06c3ee0ca0c66aba037e1dca34b","impliedFormat":99},{"version":"fa910f88f55844718a277ee9519206abce66629de2692676c3e2ad1c9278bdfd","impliedFormat":99},{"version":"a886a5af337cce28fe3e956fd0ed921345933163f5b14f739266ba9400b92484","impliedFormat":99},{"version":"9ae87bd743e93b6384efbfa306bde1fa70b6ff27533983e1e1fe08a4ef7037b8","impliedFormat":99},{"version":"5f7c0a4aad7a3406db65d674a5de9e36e0d08773f638b0f49d70e441de7127c0","impliedFormat":99},{"version":"29062edaa0d16f06627831f95681877b49c576c0a439ccd1a2f2a8173774d6b2","impliedFormat":99},{"version":"49fcfda71ea42a9475b530479a547f93d4e88c2deb0c713845243f5c08af8d76","impliedFormat":99},{"version":"6d640d840f53fb5f1613829a7627096717b9b0d98356fb86bb771b6168299e2e","impliedFormat":99},{"version":"cee41a6af55d502f3863fe3238a75108dea16ac9c7339e96c2974ad3babd6d78","impliedFormat":99},{"version":"6bd4aa523d61e94da44cee0ee0f3b6c8d5f1a91ef0bd9e8a8cf14530b0a1a6df","impliedFormat":99},{"version":"e3ee1b2216275817b78d5ae0a448410089bc1bd2ed05951eb1958b66affbdec0","impliedFormat":99},{"version":"c53548c66ddac62cb003e737c8599c3d75f7fba43e0ac8e109a8956086e7e012","impliedFormat":99},{"version":"cd0e881c6b0bc9a5ec74bcfa372e681a44ff9f5723d8ea3c1f2a7cf9e25bc84f","impliedFormat":99},{"version":"838c13b48725ba6d0630c0ec11fc8a33acff855551300e787cf404b093ca3f34","impliedFormat":99},{"version":"30a66b168efc5508e9fedfff14559b3c680b31bbe853e12310efda6e52dc585a","impliedFormat":99},{"version":"2fac70f99da22181acfda399eed248b47395a8eeb33c9c82d75ca966aee58912","impliedFormat":99},{"version":"35f50e2adbdf8dd774e5296c87740f5d03dc443757bf75aee87e2b3831ae552b","impliedFormat":1},{"version":"d75ca53134de3b91925e889738a1e5cda0715fc1947380424bd61f4e9b8f7a2e","impliedFormat":1},{"version":"a929f77f7afe6b8ea082fe4fc5f7461cf40ef8ca2a8f3cedb3e8a6d10bea49ba","impliedFormat":1},{"version":"45a7a6658917b9178eaf4288b8a22757dba3bc24676e166f28a3c2a4e858c4e0","impliedFormat":99},{"version":"7c699b5fea191ce032277394b78fa00208f26901efd288636d932c4b35ec4704","impliedFormat":99},{"version":"2fac70f99da22181acfda399eed248b47395a8eeb33c9c82d75ca966aee58912","impliedFormat":99},{"version":"f5f45f28f1799fe0520b6714be5157cc1e53fac060ae68691a6c86f62e9f4501","impliedFormat":99},{"version":"9a201d2fe34b5826c2062f0975612603595f6164a8856c9241862d1ecd06a191","impliedFormat":99},{"version":"55e382f5d8e33f6ce7a274873ba3a7f82eaeaa1e6c81d2ad3fc3a9a72468fd58","impliedFormat":99},{"version":"2fac70f99da22181acfda399eed248b47395a8eeb33c9c82d75ca966aee58912","impliedFormat":99},{"version":"2fac70f99da22181acfda399eed248b47395a8eeb33c9c82d75ca966aee58912","impliedFormat":99},{"version":"aa9e5835d6b7901b493368c6de2405a91fd4d0a9e451d9b31bd9d7872d52ccf9","impliedFormat":99},{"version":"fd29886b17d20dc9a8145d3476309ac313de0ee3fe57db4ad88de91de1882fd8","impliedFormat":1},{"version":"0c8dad6023fa5ba611d8af2eb1ec79de1e359a583a5f84d6fcc97f95f2504ba1","impliedFormat":99},{"version":"ef204b804d92a897d0a561739b09154b37c45742c1712ac2cbcca5a307c077ad","impliedFormat":99},{"version":"966cd6faabf0ffa1ce07edd2fc8b21cbf58a34ffc475e67e727db0cbb73aa8da","impliedFormat":99},{"version":"85bc585d0174c5037bb2ccd86c9a666cda689bdafe8fab6033f385900955345e","impliedFormat":99},{"version":"8481fde24e4475aec613f71e39b4123f880c1f8860fa810a47e2921d159910cc","impliedFormat":99},{"version":"531b9350e8b7c0e89904adc4e262cb9cda836029b28ca304f18a2a2dc660691e","impliedFormat":99},{"version":"3f18284465d50e60405cd31f81ba4480367240edea1060f1309c2b717cf2e57b","impliedFormat":99},{"version":"01f8b2706df18d6f9be625b1a4aeef149b8f00c1c0b74e662345b927d99f651a","impliedFormat":99},{"version":"270cb7bde69342a53bdda03cd84fe856a4c25bb0a973af0b622be09d6112c617","impliedFormat":99},{"version":"45b3de3c266e92253de0c6aab28642f29860f50a0706c52714bfcafa98930eff","impliedFormat":99},{"version":"402e84589ae1525fd52ca4811e03ad74caf9ed2cccd3e10b1548985ed2d78dbf","impliedFormat":99},{"version":"4897bae7c28f78092a4f345995236dead78fc739bc8f9c4575e948b4f9a984b8","impliedFormat":99},{"version":"6070624b38dbc46781cd583f5cc0997a6ae6046a3f44bfbfcce5895907b26ed4","impliedFormat":99},{"version":"92397fd0f9a0277fdda1046ffdcc4338ad820343fa7ef0585bd283c61fcea6a7","impliedFormat":99},{"version":"cd757f923f1c05194bf41f9bbe8ac70445ea3aeb37f78bead4def17c31bf9542","impliedFormat":99},{"version":"3b896877c981fdf24d1f5c3f724ba0a8e457c75625f78ab80965f88e967f4817","impliedFormat":99},{"version":"4f4bd9fddf330a643f2b41d01cd697286756d3590a380695d5e22699f3d54be5","impliedFormat":99},{"version":"aa8822871877daa102442f6d61cdf04ff6dfd551b0a6971a29adc1c83d96f84e","impliedFormat":99},{"version":"82b5169e6cebee4c045a0c701f90df9e75cd6c6a717fccde20955463aac3060d","impliedFormat":99},{"version":"247fcdfe4b85e91fbb05c742cfad30a150c7d9deaa67bdd197fdcf5be360cefe","impliedFormat":99},{"version":"de2a0897621e39d747e1cca9447d3b6d81c9ade1373bdcfc4edb7ac4b4bad773","impliedFormat":99},{"version":"1ff3bbbfbc81f93c90045555c146cdd6d7c9d96de47bd800df168f46b267969f","impliedFormat":99},{"version":"f810d2d769d37cce91bbb44566ca58e80c2ab95616070ff56c0adfe466147652","impliedFormat":99},{"version":"7377c2f18d9c728fdc4bac134e0f9ac07f6ad3f357191f3243b1152d516d1035","impliedFormat":99},{"version":"7231ec9400548c0515b71dcc46008d7c780f3ab7e10e76ef8b6a9456b94452c4","impliedFormat":99},{"version":"c1ecf97a03b9bfd3824771d08eed4e1f8d657f042bf80320323b1b41cab09477","impliedFormat":99},{"version":"a41c88b22a03b48045abd54c9fb144567fa639048914ef453f3feff96509ceaf","impliedFormat":99},{"version":"15c0060ae45c4536320da9cd0b2c4efe5a357f41ec40495f89e29d17af24043b","impliedFormat":99},{"version":"c1490d3da1d7da0ec66a6aa283f743a7f2186b3352d344d0f5eb28a8cb6c6316","impliedFormat":99},{"version":"45bb3dd222e9b5c7ea2eed9b14c7390aa48d4784b5962883c3f6ace3000f300f","impliedFormat":99},{"version":"f6fb4cf4e117ee8d845f361598ac9c19e9ec4df09581702941e238ddecaf2254","impliedFormat":99},{"version":"b75700b0c451d8596f9c29528613d48584c82f190381c6aa8047c19f14272cf1","impliedFormat":99},{"version":"ac0efdb9a86146242f5bb2060dccbdfe743db956e253b290aca5b00bb4f15f22","impliedFormat":99},{"version":"4cbd25cde19d5d52704f84e93f9b648671c41262a12005b695cce3cf904e6dfa","impliedFormat":99},{"version":"bc21653478cf6b46f14040c82ec5d0df8c3a9f0421cb4050dbc36f831b222292","impliedFormat":99},{"version":"d3c7021ac45e25926ecb99ffb6d8016aa0fa9ad0854033d3921439d1707e85f1","impliedFormat":99},{"version":"b471c43e0e164fddeca3b880ab82dff6ff41cc1827575f5942258f52121fa640","impliedFormat":99},{"version":"ceccd6e27502a11f9b59edf79e11efa6debb0edde134820fb1e1f54da5694b5e","impliedFormat":99},{"version":"f62d1db65c973e8b4d87d00d81bb4e379d12e55fb8ed4bc699f6666ce9ff9886","impliedFormat":99},{"version":"2d9e565828f9149609d344c338d03bc579e9d0299f7cef5825b240df01f5246e","impliedFormat":99},{"version":"baa860eca2f436200f15f98537665bc88acbef57bae1f1ac00da521376ad9066","impliedFormat":99},{"version":"7e14cbb2e3dd8a32a7cd9a5f3b8f13a85ca501099181b868b479c8536a9473fb","impliedFormat":99},{"version":"357027211d253c42a19736cf6b7eabe096f7036805e6c89b35ad15bb386854cc","impliedFormat":99},{"version":"3e1b2c2ee5bda3dcb7ab76374700ab816ae6db477623b07b550280786e6470cb","impliedFormat":99},{"version":"5fe5e365cff077f3dc7dc1895f86ac78fb312018e8355958b58527bf4c9feba6","impliedFormat":99},{"version":"90f775adcf7fb6d865593e3a1c4528298fee68146fd0375335e34866b84a09ec","impliedFormat":99},{"version":"544ef9db8c8e612a1c8dee3fef7aaf01cd6aa721137d17db7f7d7b3d2c5cbfb0","impliedFormat":99},{"version":"1190f38b2d825ece9518c158ba966c19d42ce2e4f17aee2a0eced09a94372751","impliedFormat":99},{"version":"0ddcd0644863f122e3d12148f1447f6035f1c6f349d101422ee78a44656ac862","impliedFormat":99},{"version":"4bb933740ef6c9cbeb00ba53073bb171f97a4bc2d4f66ccabbab35afa546e202","impliedFormat":99},{"version":"90aab01d2a7bb75ab416585099e1086792b576761d23a8bce0346de782928b06","impliedFormat":99},{"version":"82f439b5b38c7613567168b691e16b88330fcdd5e87840de61dead0c4cc6a192","impliedFormat":99},{"version":"01a0873b621780693a2723be1b48ac4d500619f5a1f2d33a559752a1c46d1197","impliedFormat":99},{"version":"573227457b7ee7f526119594bb218b9d405b6768eae594e838d38c8dc0cb6568","impliedFormat":99},{"version":"8486ef2c6b50fcc1eedf9b1fdb689391080f9606e2892b2c137a3b86116ee6e9","impliedFormat":99},{"version":"69d60b2977fff07328adb946457a2f0de6f1f6e89722a7c698d96a6a2f83e3d0","impliedFormat":99},{"version":"3fdd16c2821927cfaf6e365f134bf34ba33af597558bc4deaf2f00254273322c","impliedFormat":99},{"version":"61fe4f0252672d7669a3950802212f070bfb606b091c6046ac6143138f6eed60","impliedFormat":99},{"version":"d2abc9997cd77957130d1ea9a4ba4b23b803317f16afb771fed6d3b63cc8d0cd","impliedFormat":99},{"version":"993fca3556263faa04a5d5d7c9b2e7e41cdcd3596a611120313dbe0b37937c6c","impliedFormat":99},{"version":"8f10bb5f1b826ac2532233a705d30ec1892f2fdee7eb915d3e3a4d7acbc0046c","impliedFormat":99},{"version":"f496394b492b0251aa7c9abfed0cc3c1a96b163b3295ee977006551bdbb23be6","impliedFormat":99},{"version":"e735c8e47a6993b48d85c706fcd974bedb67901445662a1825b16df4dd97dac4","impliedFormat":99},{"version":"b3a3fdab86e68136132a794a995adc47ccca4c3214509450c8cf9b786797ab77","impliedFormat":99},{"version":"24b7602376d435a1fb46d817f1f12d70c599eefcdd7ba3adfe34c82daea6565e","impliedFormat":99},{"version":"3a0f8e778b0be125ecc6274c494dbe26d4f92e82d6d0c23df46d5e43419cf95e","impliedFormat":99},{"version":"0e00b25da0663add71e89155a2198fa086a5a2653a80c410c467f6f0efa6cbcc","impliedFormat":99},{"version":"057187022b0d6ba72bb259ce190d1e33fb9d9a9fe57350b55b6d2d722831149e","impliedFormat":99},{"version":"8d677432ae16b8e105c1c616fc1443d0ec52aaea55e19e13f952fc32aa858c87","impliedFormat":99},{"version":"6517c6927d58529f58ffd55ade8d82d8089ffb8f9dce125b3de210ad86d03b86","impliedFormat":99},{"version":"2fb6e6b06b727e554d3f0934af3c6d10e32da9fc20c3df1fe43cb92e06be5c0f","impliedFormat":99},{"version":"d2681901bd36444ff7757d0e2ec3e17a064082f62b0cbfa9e228aace025e9c42","impliedFormat":99},{"version":"65cbdfab18b014a6840b68fe80183b1cf3637d435b497c99ba1a502f8303e391","impliedFormat":1},{"version":"3b133b5cb1fab24798fee6c349c3925d9b2e46429669c3a290f5324d9a210025","impliedFormat":1},{"version":"ef783fa8760c66a585666ee47571f1b5beb6ee39c65feac3c6d11b9419b23a73","impliedFormat":1},{"version":"e66b54d888e7c4aa706f68cb4f423c9a7e4466c116140b3b751f94b9f6cdefd0","impliedFormat":1},{"version":"6a334b9a856fb9942989438d731fdba29babdfbfae340b4f7182f1db740de71f","impliedFormat":1},{"version":"e184c188c53f56fb830a9baac037236bfe181e9e56034686eeabe17af4ce47fe","impliedFormat":1},{"version":"c894ba99b642d34dc85b6f996ba006bb5c75262e8ba01d6989cde022ff91c33e","impliedFormat":1},{"version":"1e71697fb2c00b3cc4abe7b458acf90fffdec4996e9a885ab868d2a88876ac43","impliedFormat":1},{"version":"9a32c6873b8adfe2da4a2fb2e2fbb574227f13810d7596cdbf83b5eb9b9ca0d2","impliedFormat":1},{"version":"1b95f9db514599f21c2330d53b93495513c679fcef1aebf767098d6a9c61833a","impliedFormat":1},{"version":"b0d3f577d89cafb77845b87ca77553e992435b919221f3c8397075bdcb7a32ef","impliedFormat":1},{"version":"af7770fb80c5c4bfd4e9a2b245ae35ca927e618161bdb3cc4b305ee3928187d7","impliedFormat":1},{"version":"2c3ec41b38f7758ee3e53609a4d473205caf25f8b10ca6978587a760842d179f","impliedFormat":1},{"version":"2c2c3d4340a36df89a0f4d8776618705fb4a03f6a20b6136e53c522f4080663e","impliedFormat":1},{"version":"56bbd1661909b6600753fc71ed0243f6e8adcae647ef67fc0b62b60e2675a5b5","impliedFormat":1},{"version":"0f99e68df1ea45629adae539a99c2905fe434028fe6704f167271f4ff4f05264","impliedFormat":1},{"version":"eb4f06e379b9718725fbad551937cfc3ed1d279a4a4c7557f255d58858c7d857","impliedFormat":1},{"version":"85788c0c598c4056da67fe8a59fe45a5500fb99419aad0f674bb6da07f793288","impliedFormat":1},{"version":"3da22475af910d44c68144a18133de616353aeb85218516e3d7324d8d5dde33f","impliedFormat":1},{"version":"3ec462a0e5c193a2fbb9132b3ac1554512475b2889555c2842686fd4fad53540","impliedFormat":1},{"version":"f7fe6ae99cdb6d40c8a49235f43532d6aa6386f62dea97bbbe5b40fff5d9e7bf","impliedFormat":1},{"version":"3f6da7b72f49f175c8697f0b595c61b9c6379ccbd5bb52c188af80e97755d91d","impliedFormat":1},{"version":"c26e3f5d9b91fcf817e6ed3565abc561ae1b8b5510d26b1780f7c36565463ea7","impliedFormat":1},{"version":"ba82909968e9b21ba2756849a8e3960378bba2071e7e534678c97a6d0923141d","impliedFormat":1},{"version":"77b3fc3e5036f6d435fd1a7ceac8301d654cddb9ea50d9c77f9c8b9400711685","impliedFormat":1},{"version":"3b7765c7de1b17a0ec47070ee2000bf0da31cdecef6f61647cd2eb17d33cdef8","impliedFormat":1},{"version":"3da62cc0ecc4ccc373936142c3aef5219493ee7fd013a1426d733a1de178d064","impliedFormat":1},{"version":"3bd67be4d356ced8037d48437abd6fa8c4c2aa2b44b5e6fd98df41127807197a","impliedFormat":1},{"version":"70ef66c42dc83eb786c79d24d292e9f40407b03d6c37112adbced4c5fd353303","impliedFormat":1},{"version":"12a7629d2d48dda27e51c66aa511f28721e78a7d50877d87d656db7256e5f8b4","impliedFormat":1},{"version":"8d7e6cba8878f619bbe9c913c60f806609ed6527aa2da09ee4daeda99581befa","impliedFormat":1},{"version":"90cc2fca0550efc03063c7fc512eeddca0f91738a68391309a344f99ecdaf9e7","impliedFormat":99},{"version":"598fb14b8dc10fa1db2e6487999b25b75e54e08f7f24fc0394888a49284aa62d","impliedFormat":99},{"version":"a513b399e094c24ac5e4cee5b5c6b38d8dacbd1eefd46fcae71bc46be6b2e120","impliedFormat":99},{"version":"7310ba815b1298a1524c4e2edd3224cdca56bd4db7adee668d95b85f3a2cedf9","impliedFormat":99},{"version":"91b36942c9f7fb5e8b3ff2a6cfc950ef5dc3a12d3eddee5cc4f2f493a4e618d8","impliedFormat":99},{"version":"826b3e7d42891cc1a2bca7d688ae4967e3ccfd061adcb0becb2f8586adb7227f","impliedFormat":99},{"version":"39af3a83e76fe852e363c316d7025cc6227a230c019332463550a521c5af4ecd","impliedFormat":99},{"version":"73af554a9d886e748c44fc9a189cffa3e7a01b5d349139422b15f560fe0399bc","impliedFormat":1},{"version":"40c7cc279bebbbb93fe4d92194dc882e7bedd78a5a8863c032e257af3beeaf0d","impliedFormat":99},{"version":"e9f8eac5df99bd55620267edbc1e3052df609aff1eec199121ed40924d6f4c77","impliedFormat":1},{"version":"e20cb5ecbb81fef3b43a3819a964d7493606fd72460918f6cc19859e9e9f1fbc","impliedFormat":99},{"version":"82f9e99f5d09b9b40fb1e0338051f614f2fba2f0eb6ffb493e9cbe0cdd775858","impliedFormat":1},{"version":"268011eaa3e078d8e8f3cf68270bfaea3d847c02b3a787a557199d242ba6d859","impliedFormat":1},{"version":"454ad66df309d5c0bd00933afcb2c494e1e920bb9d71dc2f5c6eeae71e17d63b","impliedFormat":1},{"version":"ffda5bfa664984a6b5fb52c5305b3305b0b4226e507defb219986d2851dbf271","impliedFormat":1},{"version":"e4f54b323cbf50a0c7dd16d2e00fbb65fe703507bd1b6c92834760f3818c73ee","impliedFormat":1},{"version":"e943f29aad5d086910fa813644df591992329f1ae3216ddad2cbbeba8b498ce8","impliedFormat":1},{"version":"f77731933f64e0282d2f817631c33ce4968308f0105a9d00c02b3da0d4e1bec9","impliedFormat":1},{"version":"4961298a242a5b62c67d7ab4f9b6e8cc5a00e13f15db729d41b0d52bf657fd0f","impliedFormat":1},{"version":"dba5195f554b93eb70c5d095707ce8a8fbbaf8ef529e43164e29839dc2b52cf2","impliedFormat":1},{"version":"27dba65ef76f5a18dacf979f7318823f6477b3001ad0d5c768e97195dbe1a9cf","impliedFormat":1},{"version":"b5d9f34b4093ac500ae683bc619adc06ee2fa7894dd6c48bc6c6d547e3e17c8f","impliedFormat":1},{"version":"abc82190d7bae3005c472d8d05bbcd985ede5656fc0207aa68fa4e7da9a9ec65","impliedFormat":1},{"version":"949b926885b92ea08bba54d67dfcfba17c70ef891a9782f47be2a60eb90beafc","impliedFormat":1},{"version":"6af5270cfa74794027a2bce6f4206f93c92ea44134ebe8565a25a29207b8b448","impliedFormat":1},{"version":"f8d5ed9aeabcb45105f2123ad38d4a2f92f0d2aae404126354c2eb3b58c220b6","impliedFormat":1},{"version":"5e12507f43f37d079ad3832b65d5db02ed6dbe97efaa91c49d2e4012c743b058","impliedFormat":1},{"version":"71db4f6d5abbc45e7eb3efbc2895920efea43b1ae608d5a5ba3bc729034938f6","impliedFormat":1},{"version":"db7ca7e8f700305416677ef26504c9771e18cfe7d4e44dc0db56793911de0479","impliedFormat":1},{"version":"21f8a2249185447d1704a8bd027ce6e3b347f23fc94469cda8d904e51380dd0a","impliedFormat":1},{"version":"031fc5bb9689da434671316d76b4c4edb048d3d1ba65f517b7f72a27b276cddf","impliedFormat":1},{"version":"a5e7563b2030f9c076daa5347416ef3679b58441d6c8ec41dbf25dea39140591","impliedFormat":1},{"version":"116e06ad30ce51f3ddda64ca96da17c9c91763d32391f156fbe257d7d7314ad2","impliedFormat":1},{"version":"0f8a804a7f912f83768aadb08e60153be70037e11c63c34e8fec0352d7f6b128","impliedFormat":1},{"version":"d04253b154d2a9ea9f68c979c8613b08d6496d0cf9e6513b73d334e817aab32d","impliedFormat":1},{"version":"7231e125b797ca135cafc311bd151e347b59860aedd79944084cf8d01ac96a1a","impliedFormat":1},{"version":"f4e6a219c97362672f211d82773c8b3642fa266967830b99b1b0a1fe1f264ff0","impliedFormat":1},{"version":"33436b63f7c6073de5a917147a773a77e8fd58364d25c5faedb74478241c6269","impliedFormat":1},{"version":"1c6442e524d59ab72c6e5be929eecb0184efb6201e122c93aac2c96092c665dc","impliedFormat":1},{"version":"ef64c5812115a256a091275f64b96478dc1be0ba0d8c6ad15a2b48bace79f2e4","impliedFormat":1},{"version":"8a466f153abbf98b54f3f11114805d958ebc1d10cfde25489cbf4eee3ab73d24","impliedFormat":99},{"version":"2cb377393bc1fec5c94bf6a66b9589428552ef8f43555c4d56ed9dbb39d3b6ab","impliedFormat":99},{"version":"a1d02fc6158be3e0747db28fce83d868675f0d534b5e709e49ceb402b5fa1546","impliedFormat":99},{"version":"5488d985eda0089f9af84428ba3b87b0fa324fc606b53ed92a330d75544c1fa0","impliedFormat":99},{"version":"9503abb5f4cec90d15508bea5b9b346ee318b61cd216197abdfba7c23a1b7f98","impliedFormat":1},{"version":"b6f079ae4e4700f39f0c3a298bd5b392759538f78b7bed691b5395a84af7240c","impliedFormat":1},{"version":"06b9d7d5f165d6d8943165b6c35ac4f58168a22e7e84e3d998c7d3f2e309aa1d","impliedFormat":1},{"version":"06fec4cdde20d9ceb1ce713c1c2800581de2cd20df5ec10aca8dbf80c4b13f02","impliedFormat":1},{"version":"b8c81a0bde3f27c47431b3345ad687ae2a3b88fdfaa15bce56746778153004c9","impliedFormat":1},{"version":"bb315cb4e4267dde7d4a2c11d9e743a4d8d2ed210c23d807086e0809dd8b3431","impliedFormat":1},{"version":"fca6802d418b89ed3ae99dec5c0d42ae80c09702ce6bbe14aa9af053af58c109","impliedFormat":99},{"version":"b0e5e70d6cbc087dd7f842ed1f0548a25c746783b6bc88a13696ca517f6538fc","impliedFormat":99},{"version":"5691211f2d3d4b15831333bae27895431f2fa61a49284bf1ddf3cb13229ab0e7","impliedFormat":99},{"version":"76057b4c42aa46cf0d241022f7b4a34b9c4b42e1d3039584938342d701325f54","impliedFormat":99},{"version":"9f12d9ebe66646a1a62476a2fdcd54436f80704fee604bcfead5e561c8a06d82","impliedFormat":99},{"version":"0d9ed3d0a1d658e265fca4544f7bd72cb0e4ac04289e567999fccacb8bf23942","impliedFormat":99},{"version":"6ddef35d1c1c53be9d1c969d7be42061c6206ceb4f315f2f73ae574db2b66c9f","impliedFormat":99},{"version":"3b7d93b9e956702e70bd2719b098aed1dc38db124fc8b05be38df72d74aea1ba","impliedFormat":99},{"version":"8c03f1e4bf31dd93f401b624bb7bb9e6049ab4bd729ece7a0a333a43513da05f","impliedFormat":99},{"version":"e7607b9510c9b7682838272d3c291687825703f98cabd9b626aec9c13777638b","impliedFormat":99},{"version":"7313d5c65f476d10d7a4302985485fe5f32fc26cc5db5b3c90f19db153f3b147","impliedFormat":99},{"version":"70263cf1cce52834940415495b990b79e8d0c3d33722a413def2427fbd0e7335","impliedFormat":99},{"version":"250788d9295815dfb48fcc07ca0ecca9cc1362eca3e412ced9440337a6845e02","impliedFormat":99},{"version":"1654da9df0c97cef6f6e73522e774d47648b56f42d7f0a389a0b832029240ca8","impliedFormat":99},{"version":"032708cc4f65648d1e7928d56c599a3d33a7e5343af046b4907ecb5167e9fd28","impliedFormat":99},{"version":"a26c849da4fb379def16137714fe7865292c4f57a0c680957f11d8626b2a5d58","impliedFormat":99},{"version":"eb4589f330b2b662f7102b807385f21a77ed47daf527f2d7413bf1f59f827926","impliedFormat":99},{"version":"005081fe2ac323e05c9250762659ca1fb2655ffe195db42ac401db7656a33434","impliedFormat":99},{"version":"194b40df34d512f018c94ed400c12ced47ec0d0d0024e93193f5f1ddec197209","impliedFormat":99},{"version":"b61a325187e209370a66fdbde0c4ea4e3eea5a0eb62028308a09708ecf22df0c","impliedFormat":99},{"version":"6af4b184c107adadb6eb713b1f94f7cf2fa3d2682dceedf7de5809f61c32a4c0","impliedFormat":99},{"version":"d8e642501089a62b205907e642ec6d170e524433914086bcb55e356d837c195a","impliedFormat":99},{"version":"b96edc0f63de60acc4a02123810c41872a6c36af81395d93a466b0c48e854ead","impliedFormat":99},{"version":"47585511fdb670f049ac9cf6d99ca1415db4b2860c01ac0d5c0285e26ae67137","impliedFormat":99},{"version":"02c582136d29f693b8653f245492efe67c300da6f512186f57119320602d8c42","impliedFormat":99},{"version":"a19c526d364dba0b2d4bf90bc48027899c4a463a970198158fc3ddd9d50d22e6","impliedFormat":99},{"version":"5a34310e8a277f46f226de3f14f85b28045134382d2e7bb0dcf7b1940e867d75","impliedFormat":99},{"version":"e994ac3e5e1fbaf99c9231e5efc2792742bb119fc80d2cc5601a286083519f08","impliedFormat":99},{"version":"9a7f9992781334b2d6842a4c4678c69ad5953d0af869038231ff130b8d362ecc","impliedFormat":99},{"version":"26af0ec63cc0ecf6cf908ca0b3371d747c5b16b31b458664fc84e42829fcfc91","impliedFormat":99},{"version":"6931e8c252c1c7adc2ea4fa1054cd3af9ca16c2e0970803e74ae0cbd6b6eeb04","impliedFormat":99},{"version":"4504f968ae4e1dfabcbb9455e50d4b8b9bd8812fe7944df4936908008be7bd9f","impliedFormat":99},{"version":"495d72307d8883127dff213871cd3fe8bfd456ef2a94170855094133d7e1bc24","impliedFormat":99},{"version":"132e407c15a07359bfaea24b075e83101da95241a0b3f5a2abeb41938e5167b1","impliedFormat":99},{"version":"82a0e39185ae3c8750c776e3512da3b490b42c40d640d7896b747432b1fed080","impliedFormat":99},{"version":"990a5eaa839432e8959bdf25d57e5446fc2a3b6c04a08c3d98218ef4b6f35084","impliedFormat":99},{"version":"16c33a8f8b4068b34ae7b4df4e349e11245859669b18e1cf0a72d3dbc1d39a4c","impliedFormat":99},{"version":"f279cb3696fc7ca366af09364912113fcffa02aea3d11f4e16a91ce621706258","impliedFormat":99},{"version":"06624476f5501305c27aa846a30690abbcaaa04db1a34b11045d7d8c22c2e0bf","impliedFormat":99},{"version":"8a225e7475a2d199dbba92f932df219fce36ae90c2dff3b9a388b49c5cb42abf","impliedFormat":99},{"version":"22c6d2f13b648b3fa5df4a394919e4c6f5ecf6160bd6a8755c7a6f0b2f7abf14","impliedFormat":99},{"version":"1b8f0d8a29503b796431c542c484b0ebafe1223e48fdd74237a42eb371987517","impliedFormat":99},{"version":"fb652a27ee66ae1232d67cc79ace76e1d444f8d37064fe234c7b2e762712d54b","impliedFormat":99},{"version":"bdc90d2feef36b907cdad5d9876023165d3bacff85b4a57df085c316ce252cad","impliedFormat":99},{"version":"1d9dedb0dd8b0eb5b3105d577e65627786185e5f467484b12a419aa97c0f197f","impliedFormat":99},{"version":"27a25e21a230be7cca2d75db5a67e2be375282e7b1699a15f4e33211dd0f0f2c","impliedFormat":99},{"version":"4a5d17a0faf8af0e14987dbebb1e39350fcb087237452dddce936dca8e869d9d","impliedFormat":99},{"version":"87cb24ebc66080f5faa3e609fea0c67f01dbbdb1224c72d0a2338c08c901b0d8","impliedFormat":99},{"version":"8a1dcf16706e4597681fff57326c1f9ac14082accace6332acf5d6dc89a3ec2f","impliedFormat":99},{"version":"be112a9b78578a7eb57cdef2e48f17d1fce438b741cbef3b34c64620ca4f07f6","impliedFormat":99},{"version":"35ccc7e81030498057f8666924ad88b9e0e54a1fb03b4455e47a64642824912d","impliedFormat":99},{"version":"9dd1ada2bd479d0ff7958b09cb20b28537ffb3d9f1c6f3341c4c60c2e0cf1574","impliedFormat":99},{"version":"a8e2c4132e615e8f5343269e9001c1a403726a772dfa5f64fb6201500fee928a","impliedFormat":99},{"version":"220cc181f0647eb24d6fefddde0d6c827b0aff763be1129f3df8cb1fa9fd9a1c","impliedFormat":99},{"version":"5d4afee41b54667c69f7a105fbb8f87905501d6e7634fc25a2377475a8d30a6b","impliedFormat":99},{"version":"8a8eb4ebffd85e589a1cc7c178e291626c359543403d58c9cd22b81fab5b1fb9","impliedFormat":1},{"version":"c338bbb9e72e70bba9467696867875e750d68409c7effef79505ca665b9c6dc5","impliedFormat":99},{"version":"3e610c3431f5c3fd1f2b0155516656233e4122e187f643f31054837ea684fe99","impliedFormat":99},{"version":"e0ba304c13972fcffd284205b440bf806aa4e19681c6665408e3ec306125ad07","impliedFormat":99},{"version":"87ec934346c216050d4d2bf59f9cc5dac7484f7f1ee768bda33efef37bab1b82","impliedFormat":99},{"version":"6c2525d9c51d3093e361f4740f5582911f6767a207fcbb7a8f9b16735d5608c7","impliedFormat":99},{"version":"bb4c626cb469e577cbe2e6ba83f6f9b572807c15a44817b508296fdbeb408506","impliedFormat":99},{"version":"96a212be4232ab83443032662adc8e4a106a40cabc95b129c370a70dbfa3b79c","impliedFormat":99},{"version":"fa0b1b7f810b5f5b9331d1d1e43f9b2f313c1ca68a13f1db5094971d5d14ad50","impliedFormat":99},{"version":"fab367e53a92895c438a4a9752dda6ad898841d5da5ffd20cb4d5bc98fdf79b9","impliedFormat":99},{"version":"702e07c623b683daca1be9dc86f68b98bea08594d2fa58152569194374cb7803","impliedFormat":99},{"version":"773fece125c0873100581c4cb60cce66fb7c6c251309ac157af298a1254c41f2","impliedFormat":99},{"version":"4ca6063a2377f4b044de856ce0d77eba0b831311c2d0b03540f74c07925460b5","impliedFormat":99},{"version":"5b0334c5e38d76152dc097b5bd59387dbf9b1eb6e4a2dd3c0283e3a84fc06c84","impliedFormat":99},{"version":"723510cb216fc96c1c07a87a2b9d7884e8b661a05b9a4ae797bd3b8dd56492f7","impliedFormat":99},{"version":"0d3399df5e693f63359193350cfb41c89285d28399a0f630ce0cbc416983803c","impliedFormat":99},{"version":"62b3e968c398fee4b0eed5a13fd541680c5e9c9f019a647411a6b4bfd19dd41c","impliedFormat":99},{"version":"2b27e8692192cabb5d59515ea899376ffe02222e98c6925293acbcb9c2fa0210","impliedFormat":99},{"version":"f4086ac8586359d3ac82e741ee189964c584ac093d21ec56ca76a243999ef235","impliedFormat":99},{"version":"fd69f4ad6d59e73cfb16e701c4a30ba7462f821ae431dbf1422f4dbb46b5ef24","impliedFormat":99},{"version":"9078f5664d7334f5e21ac358bda1e84cd7ae595482e07d8f4784625cb30308a1","impliedFormat":99},{"version":"6f03983429227448d460dd7250746696edd2ef6a19bfd4465c01d27de049d2b1","impliedFormat":99},{"version":"dd21320e5700d960be5c16810fb2fff4122f8778d5cc7c05f943c25b623fc2a2","impliedFormat":99},"f63825f6785416ef0afadfb63cd6525989fdb60d6afd6b6ecf9f4ab02ce8b99b","4fca303a8581d420662f103ef22c6ad35c9afee0bff0004fee1dae30361ba976","de4db32df4ab87730e53847a5850014fcad80644a15ab76327e6a625494d8f4c","43d75ec26ee0a57dcb80d9da94052f1ecec9b0ea132ffa052439e0d492305553","b43c8443feb6c5e4982a8a023481cabfcd4b05f22c366e8e587c350440673ebc","5d34f20cb05081e49c92f22871f493c9deb58dcbaa5c458b074fe4653ed664d7","fb20f803cf572295f8cc286f229472e7c743bfcf2b7a15c7a873752aa27e5564","9a9f6508a417b3f64fdf62f888ce038c031f88687cc5d2150d656eb6e25c7a71","bb2b22902cfdbade39f197938ebe936a6daa9ceac68eb9d1f2dabbcb87d4e2db","790c0bcefebd51895390945d0e4f9067db8328f896cf76f2a0ac3f936c82942a","609137d684f82f63d1bb55f706be2f7ae22073ccce9732963ebd74aa3fd107a1","c8ec2e0c859b44050b105a91fcc30413bc5e0d69ada887f55f32b791acf4d8df",{"version":"197aebe95647c587bb07ebc7320af978a4ac08808583f6cf1d78aa4d700ffc6a","signature":"80ddfaf6a0f545c9ec0f72e317d726b9a0b5ee509efba2dc489a01b36834dead"},{"version":"1bfddd807e6b4ba6e97d73ade19209820990b23c27d6b4c2bab5f22ec5b32372","signature":"2917d102798e86437ab482b5d5e646f001b15b8b9c2f5cefea928ffe22de5f3e"},{"version":"824550985ac8bfe9de867132a31edb4b7f9e57c42f1c4aae0d200e874e6774ca","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"58f4e9282dffd66f606430f43a7986dfbcb76718a214af1e1c7d144ba1787e49","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6bb71f983a5494fb9d5cafd6b3ce37c6ac47a7212fe7921fc161656abc9cceab","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"50b5e0089cc8135750a422a661660de0b0efc8879363507c703e52fcde653d46","impliedFormat":99},{"version":"b7901072b4348af0c9c02ef413add51f3adbbd608a6f3155c40fd26b6a1ccc53","impliedFormat":99},{"version":"f887c9c3d273371c7fbfbb28128ece44ff88240e94226e2411b3800915ef1ec1","impliedFormat":99},{"version":"4a80acea776bb9bc1315176b7cbc8bd6afd7524ddede00936fab97a9c19e050d","impliedFormat":99},{"version":"f2b6d401b1c8387d0a03bcca48467ee689ecc5d03493b8440f57d96218f66da7","impliedFormat":99},{"version":"933d6cfcc7c4ac2a5a4679f96dab41d1f38d0d6973e79288fd570d0ef9f3de58","impliedFormat":99},{"version":"77b4d0e7dd582086cb682bc383333d84fd6401371ac40ba5d41854e7d034bee0","impliedFormat":99},{"version":"036a56c4c5f97249089638db87704b682230169b215370c5c837b3065c858fd1","impliedFormat":99},{"version":"8a432ff1c3a5f3083f3fc698ccb614a422514f845ad2158e8a954d3dd9a1c383","impliedFormat":99},{"version":"cd8a431f0cd75c8a7d3b78de9dee16e9b2389a9aceefed8855f3f9d011c5241c","impliedFormat":99},{"version":"84aa1bac3610452fd2b9d88cca835fb402e60bc5cfa632871631161c68e1c65e","impliedFormat":99},{"version":"e1b91f234068662fda203ee0efb4550daa335b018b7751596ba21d4654882e81","impliedFormat":99},{"version":"4feb7d78d273d28a2e6a0cb1ebd99cc384d11df5e5da3255a5e8c2ccd6be6c7b","impliedFormat":99},{"version":"a1954e81b3c358b8c2c6d752205969a0d37cd495423f1fa3283beb281e671ebf","impliedFormat":99},{"version":"15e9a0329a81f21161f3e88b2a0828729c4d816adb8d097fca4a608836799d99","impliedFormat":99},{"version":"24fbba1f025a7c4f4829708de239707413232524d1993d17ac3861d5c31c990e","impliedFormat":99},{"version":"68adb07bb580318c0ee85c010af210f2d35548688755940b5bb93bd9ae798e1f","impliedFormat":99},{"version":"519d01a6b7dce69c28665ed50f326135c1274b50d16dadf7c58cc3b73513b510","impliedFormat":99},{"version":"3ad25f70b6533b9c06e4d18244e0f742be893f38dfc108d4bbe847adc378f4bb","impliedFormat":99},{"version":"c87114cf40cd837ed0b265f3000f293b22c8901d9bb7c8e4391b045819d429d1","impliedFormat":99},{"version":"44e6caf455aa90cb1daaf1be842a620aeecd5704bd0069111cbde12f2927e0b8","impliedFormat":99},{"version":"c48ec512436db1cee793e3a282056d11adad61014b84ee759101a09a5731f37e","impliedFormat":99},"5bc70d960a627d3d645b08b67e422ec2881e59813cdb136069e775d41bf914d4","59a8502f0879bea2bc0599c40af5e1ab50e0d646cbe9139ebe9a95ca140df3de","52a1b11c5bb93a28344079d6173fd4a52c6839b90748b1ac5f6fcfd45c886592",{"version":"7a68fa7d6b94519d0b794d89adfcf6e7e6b89aefe2f81dadf3afd33e56cc8a6e","signature":"963991fa5943adde556cea8ebb00bbc508e9de048eb361c5a8b9c59a88707119"},{"version":"86c63629c1be9d4ee63a7c51a57537e2471ba8e40c01b28f7f2b83e64a09873b","signature":"1071e8a50fe323ce585000c759ec77f87e458fb0372577f192d9c666d1876ec2"},{"version":"36b780e032dd6da71f5b581a16667809bfb783f42b05af8739b6d91c7b6141d6","signature":"9650b023c304cd782bab836b694d73554c95aa12bf9958d7e099b6c74f978e62"},{"version":"ae77d81a5541a8abb938a0efedf9ac4bea36fb3a24cc28cfa11c598863aba571","impliedFormat":1},{"version":"3cfb7c0c642b19fb75132154040bb7cd840f0002f9955b14154e69611b9b3f81","impliedFormat":1},{"version":"8387ec1601cf6b8948672537cf8d430431ba0d87b1f9537b4597c1ab8d3ade5b","impliedFormat":1},{"version":"d16f1c460b1ca9158e030fdf3641e1de11135e0c7169d3e8cf17cc4cc35d5e64","impliedFormat":1},{"version":"a934063af84f8117b8ce51851c1af2b76efe960aa4c7b48d0343a1b15c01aedf","impliedFormat":1},{"version":"e3c5ad476eb2fca8505aee5bdfdf9bf11760df5d0f9545db23f12a5c4d72a718","impliedFormat":1},{"version":"462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","impliedFormat":1},{"version":"5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","impliedFormat":1},{"version":"d0570ce419fb38287e7b39c910b468becb5b2278cf33b1000a3d3e82a46ecae2","impliedFormat":1},{"version":"3aca7f4260dad9dcc0a0333654cb3cde6664d34a553ec06c953bce11151764d7","impliedFormat":1},{"version":"a0a6f0095f25f08a7129bc4d7cb8438039ec422dc341218d274e1e5131115988","impliedFormat":1},{"version":"b58f396fe4cfe5a0e4d594996bc8c1bfe25496fbc66cf169d41ac3c139418c77","impliedFormat":1},{"version":"45785e608b3d380c79e21957a6d1467e1206ac0281644e43e8ed6498808ace72","impliedFormat":1},{"version":"bece27602416508ba946868ad34d09997911016dbd6893fb884633017f74e2c5","impliedFormat":1},{"version":"2a90177ebaef25de89351de964c2c601ab54d6e3a157cba60d9cd3eaf5a5ee1a","impliedFormat":1},{"version":"82200e963d3c767976a5a9f41ecf8c65eca14a6b33dcbe00214fcbe959698c46","impliedFormat":1},{"version":"b4966c503c08bbd9e834037a8ab60e5f53c5fd1092e8873c4a1c344806acdab2","impliedFormat":1},{"version":"3d3208d0f061e4836dd5f144425781c172987c430f7eaee483fadaa3c5780f9f","impliedFormat":1},{"version":"34a8a5b4c21e7a6d07d3b6bce72371da300ec1aed58961067e13f1f4dc849712","impliedFormat":1},{"version":"ef7b2604901b0441fcb6bbfa0189bffb6a5799a1e4b4fbae9552a07894411cec","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ed09d42b14a604190e8c9fc972d18ea47d5c03c6c4a0003c9620dca915a1973d","affectsGlobalScope":true,"impliedFormat":99},{"version":"bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","impliedFormat":1},{"version":"26a770cec4bd2e7dbba95c6e536390fffe83c6268b78974a93727903b515c4e7","impliedFormat":1},{"version":"dd5115b329c19c4385af13eda13e3ab03355e711c3f313173fd54ed7d08cfd39","impliedFormat":99},{"version":"035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"a4809f4d92317535e6b22b01019437030077a76fec1d93b9881c9ed4738fcc54","impliedFormat":1},{"version":"5f53fa0bd22096d2a78533f94e02c899143b8f0f9891a46965294ee8b91a9434","impliedFormat":1},{"version":"e1028394c1cf96d5d057ecc647e31e457b919092f882ed0c7092152b077fed9d","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"e00243d23c495ca2170c9b9e20b5c92331239100b51efdc2b4401cdad859bbef","impliedFormat":1},{"version":"ab82804a14454734010dcdcd43f564ff7b0389bee4c5692eec76ff5b30d4cf66","impliedFormat":1},{"version":"6fa5d56af71f07dc276aae3f6f30807a9cccf758517fb39742af72e963553d80","impliedFormat":1},{"version":"253b95673c4e01189af13e855c76a7f7c24197f4179954521bf2a50db5cfe643","impliedFormat":1},{"version":"afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","impliedFormat":1},{"version":"31f24e33f22172ba0cc8cdc640779fb14c3480e10b517ad1b4564e83fa262a2b","impliedFormat":1},{"version":"f380ae8164792d9690a74f6b567b9e43d5323b580f074e50f68f983c0d073b5b","impliedFormat":1},{"version":"0fd641a3b3e3ec89058051a284135a3f30b94a325fb809c4e4159ec5495b5cdc","impliedFormat":1},{"version":"7b20065444d0353a2bc63145481e519e02d9113a098a2db079da21cb60590ef0","impliedFormat":1},{"version":"9f162ee475383c13e350c73e24db5adc246fba830b9d0cc11d7048af9bbd0a29","impliedFormat":1},{"version":"ce7c3363c40cd2fcc994517c7954954d1c70de2d972df7e45fa83837593b8687","impliedFormat":1},{"version":"6ab1224e0149cc983d5da72ff3540bc0cad8ee7b23cf2a3da136f77f76d01763","impliedFormat":1},{"version":"e059fb0805a29ea3976d703a6f082c1493ac5583ca8011e8c5b86d0a23667d0d","impliedFormat":1},{"version":"16fbf548a0337a83d30552e990b6832fd24bbc47042a8c491e1dc93029b4222f","impliedFormat":1},{"version":"0c4c7303956a4726568c801dcd81e9fbce32fbf74565f735bbcf46ba66417769","impliedFormat":1},{"version":"f39848c7895fd6373d5e30089e7fb1d10c464e7eeb37ce1ea47d188a707b162c","impliedFormat":1},{"version":"9249c34e7282d17a2749677c3521ea625f73c2b48792af08fa9c5e09abc6a882","impliedFormat":1},{"version":"f329dfad7970297cbf07ddc8fce2ad4a24e2a3855917c661922ef86eb24dd1f1","impliedFormat":1},{"version":"841784cfa9046a2b3e453d638ea5c3e53680eb8225a45db1c13813f6ea4095e5","affectsGlobalScope":true,"impliedFormat":1},{"version":"646ef1cff0ec3cf8e96adb1848357788f244b217345944c2be2942a62764b771","impliedFormat":1}],"root":[477,478,1063,3516,[4077,4081],[4107,4109],4129],"options":{"allowJs":true,"declaration":true,"declarationMap":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"jsx":1,"module":99,"noUncheckedIndexedAccess":true,"skipLibCheck":true,"strict":true,"target":9},"referencedMap":[[1062,1],[477,2],[1063,3],[3516,4],[4108,5],[4109,6],[4129,7],[4107,8],[478,9],[4079,10],[4078,11],[4080,12],[4081,13],[4077,14],[3142,15],[3144,16],[3145,17],[3146,18],[3141,9],[3143,9],[1081,9],[1082,19],[4143,20],[4154,21],[4149,22],[4139,23],[4148,24],[4140,25],[3953,26],[3954,26],[3955,27],[3956,28],[3957,29],[3962,30],[3958,27],[3959,27],[3960,27],[3967,31],[3961,27],[3963,32],[3952,33],[3964,34],[3951,35],[3965,36],[3966,33],[3983,27],[3984,37],[3986,38],[3981,27],[3982,27],[3985,39],[3946,28],[3944,27],[3976,40],[3948,27],[3949,27],[3968,41],[3972,42],[3971,43],[3973,44],[3974,27],[3969,45],[3970,46],[3975,47],[2760,9],[2763,48],[224,9],[2189,49],[2190,50],[2185,51],[2186,49],[2187,52],[2188,49],[2180,9],[2182,53],[2183,54],[2184,55],[2181,56],[1967,57],[1968,58],[1966,59],[1961,9],[1963,60],[1964,54],[1965,61],[1962,62],[1180,63],[1181,64],[1176,65],[1177,63],[1178,66],[1179,63],[1171,9],[1173,67],[1174,54],[1175,68],[1172,69],[1131,70],[1134,71],[1139,72],[1142,73],[1163,74],[1141,75],[1123,9],[1124,76],[1125,77],[1128,9],[1126,9],[1127,9],[1164,78],[1130,70],[1129,9],[1165,79],[1133,71],[1132,9],[1169,80],[1166,81],[1136,82],[1138,83],[1135,84],[1137,85],[1167,86],[1140,70],[1168,87],[1143,88],[1162,89],[1159,90],[1161,91],[1146,92],[1153,93],[1155,94],[1157,95],[1156,96],[1148,97],[1145,90],[1149,9],[1160,98],[1150,99],[1147,9],[1158,9],[1144,9],[1151,100],[1152,9],[1154,101],[1866,54],[1875,54],[1867,9],[1868,54],[1870,102],[1873,9],[1871,103],[1872,54],[1869,54],[1874,9],[1904,104],[1903,105],[1886,106],[1877,107],[1878,9],[1879,9],[1885,108],[1882,109],[1881,110],[1883,9],[1884,111],[1887,54],[1880,9],[1889,54],[1890,54],[1891,54],[1892,54],[1893,54],[1894,54],[1895,54],[1888,54],[1901,9],[1876,54],[1896,9],[1897,9],[1898,9],[1899,9],[1900,103],[1902,9],[2006,54],[2015,54],[2007,9],[2008,54],[2010,112],[2017,9],[2011,113],[2012,54],[2013,9],[2009,54],[2014,9],[2032,114],[2031,115],[2020,116],[2016,9],[2019,117],[2018,9],[2021,54],[2023,54],[2024,54],[2025,54],[2022,54],[2029,9],[2030,54],[2026,9],[2027,9],[2028,9],[2242,118],[2243,119],[2241,120],[2223,9],[2224,121],[2222,122],[2221,123],[2239,124],[2238,125],[2237,126],[2235,127],[2234,126],[2137,128],[2136,129],[2135,130],[2208,9],[2209,131],[2207,126],[1984,132],[1985,133],[1983,134],[2164,135],[2163,136],[2162,120],[2141,137],[2140,138],[2139,120],[2228,139],[2227,140],[2226,126],[2217,9],[2218,141],[2216,142],[2215,130],[2144,143],[2143,126],[2148,144],[2147,145],[2146,130],[2152,146],[2151,147],[2150,130],[2160,148],[2159,149],[2158,130],[2156,150],[2155,151],[2154,126],[2176,9],[2177,152],[2175,153],[2174,154],[2232,155],[2231,156],[2230,126],[2193,157],[2204,158],[2195,159],[2200,160],[2201,160],[2199,161],[2198,162],[2196,163],[2197,164],[2203,9],[2194,160],[2191,165],[2192,159],[2202,160],[1971,166],[1982,167],[1973,168],[1978,169],[1979,169],[1977,170],[1976,171],[1974,172],[1975,164],[1981,9],[1972,169],[1969,173],[1970,168],[1980,169],[1905,174],[1926,175],[1921,176],[1923,176],[1922,176],[1924,176],[1925,177],[1920,178],[1912,176],[1913,179],[1919,180],[1914,176],[1915,179],[1916,176],[1917,176],[1918,179],[1927,181],[1906,174],[1911,182],[1909,9],[1910,183],[1908,184],[1907,185],[1989,186],[2002,9],[1991,187],[1992,188],[2000,189],[1999,186],[1998,190],[1993,188],[1997,191],[1994,188],[1995,188],[1996,188],[2003,192],[1990,193],[2001,194],[1988,195],[1936,196],[1938,197],[1943,198],[1944,198],[1946,199],[1929,200],[1945,201],[1935,202],[1932,9],[1951,203],[1942,204],[1939,205],[1941,206],[1940,207],[1933,54],[1947,208],[1948,208],[1949,209],[1950,208],[1930,210],[1931,211],[1928,54],[1937,212],[1934,213],[2038,214],[2040,215],[2045,216],[2046,216],[2048,217],[2034,218],[2047,219],[2039,220],[2004,9],[2053,221],[2044,222],[2041,223],[2043,224],[2042,225],[2005,54],[2049,226],[2050,226],[2051,227],[2052,226],[2035,228],[2036,229],[2033,54],[2037,230],[3905,231],[3904,232],[3838,233],[3839,233],[3840,233],[3841,233],[3842,234],[3843,234],[3844,234],[3845,234],[3846,233],[3847,233],[3848,233],[3849,233],[3902,235],[3903,236],[3850,233],[3835,9],[3851,233],[3852,233],[3853,233],[3854,234],[3855,233],[3887,237],[3856,236],[3857,236],[3858,236],[3859,236],[3860,236],[3861,236],[3837,236],[3889,238],[3890,238],[3891,238],[3892,236],[3893,239],[3894,238],[3895,238],[3896,238],[3897,233],[3898,238],[3899,233],[3900,236],[3901,240],[3888,241],[3827,242],[3834,243],[3862,244],[3863,233],[3864,236],[3865,236],[3866,233],[3867,233],[3868,233],[3836,245],[3869,234],[3870,234],[3871,233],[3872,233],[3873,233],[3874,234],[3875,233],[3877,246],[3876,247],[3878,234],[3879,233],[3880,236],[3881,234],[3883,248],[3882,243],[3884,233],[3885,236],[3886,234],[3998,249],[3945,250],[3992,251],[3999,252],[4000,253],[4001,254],[3947,255],[3991,256],[4002,257],[4005,258],[4004,259],[4003,27],[4006,260],[4007,260],[4008,260],[4009,260],[4010,261],[4011,262],[3940,263],[4012,264],[4013,265],[4014,266],[4015,257],[4016,258],[4017,267],[4018,249],[4019,249],[4020,249],[3977,268],[4021,249],[4022,249],[4023,249],[4024,249],[4025,249],[4026,249],[4027,249],[3978,250],[4028,249],[3979,269],[4029,249],[4033,270],[4030,271],[4032,272],[4031,273],[3980,274],[4034,275],[4035,249],[4036,249],[3987,276],[4037,249],[4038,27],[4039,249],[4040,254],[3988,255],[4041,9],[4043,277],[4044,278],[4045,249],[3994,279],[3995,280],[3941,281],[4046,282],[4047,283],[4048,284],[3989,255],[4064,285],[3993,286],[4049,287],[4050,288],[4051,288],[3942,289],[4052,287],[3943,290],[4053,27],[4054,9],[3990,291],[3939,292],[3938,293],[3937,27],[4055,27],[4056,233],[3997,294],[4057,295],[3996,263],[4058,288],[4059,296],[4060,252],[4061,9],[4062,9],[4063,233],[2747,9],[2753,297],[3433,298],[2746,299],[2748,300],[2750,301],[3432,9],[2751,302],[2752,300],[2749,300],[3950,9],[2205,303],[1744,304],[1824,9],[1749,305],[1760,306],[1741,305],[1742,305],[1745,305],[1826,307],[1753,305],[1757,305],[1758,305],[1763,305],[1808,305],[1820,308],[1819,309],[1818,9],[1811,310],[1810,311],[1809,9],[1814,312],[1813,313],[1812,9],[1823,314],[1822,315],[1821,9],[1817,316],[1816,317],[1815,9],[1754,305],[1778,318],[1762,305],[1755,305],[1756,305],[1761,305],[1804,305],[1807,305],[1779,305],[1825,305],[1747,305],[1806,305],[1752,305],[1751,319],[1748,305],[1801,305],[1802,305],[1800,305],[1803,305],[1746,320],[1805,305],[1743,305],[1750,305],[1759,305],[1418,321],[1498,9],[1423,322],[1434,323],[1415,322],[1416,322],[1419,322],[1500,324],[1427,322],[1431,322],[1432,322],[1437,322],[1482,322],[1494,325],[1493,326],[1492,9],[1485,327],[1484,328],[1483,9],[1488,329],[1487,330],[1486,9],[1497,331],[1496,332],[1495,9],[1491,333],[1490,334],[1489,9],[1428,322],[1452,335],[1436,322],[1429,322],[1430,322],[1435,322],[1478,322],[1481,322],[1453,322],[1499,322],[1421,322],[1480,322],[1426,322],[1425,336],[1422,322],[1475,322],[1476,322],[1474,322],[1477,322],[1420,337],[1479,322],[1417,322],[1424,322],[1433,322],[2276,338],[2277,339],[2272,9],[2278,340],[2273,9],[2275,341],[2274,9],[2271,342],[1607,343],[1603,344],[1578,345],[1577,346],[1518,347],[1632,348],[1737,9],[1581,349],[1613,350],[1571,351],[1631,9],[1601,352],[1602,353],[1598,354],[1605,355],[1600,356],[1659,357],[1655,358],[1740,359],[1694,360],[1695,360],[1696,360],[1697,360],[1698,9],[1568,361],[1638,362],[1665,363],[1649,364],[1653,362],[1641,365],[1634,362],[1640,366],[1639,367],[1642,362],[1650,362],[1651,362],[1652,368],[1633,362],[1635,362],[1658,369],[1657,370],[1636,305],[1645,370],[1637,362],[1643,371],[1688,362],[1644,362],[1647,305],[1646,365],[1662,372],[1660,373],[1661,374],[1732,375],[1663,376],[1664,377],[1654,378],[1606,379],[1556,380],[1572,381],[1597,9],[1583,382],[1604,383],[1673,9],[1675,384],[1674,385],[1591,386],[1584,9],[1676,9],[1678,387],[1677,388],[1586,389],[1596,390],[1682,9],[1680,391],[1681,392],[1679,9],[1685,9],[1684,393],[1683,9],[1594,370],[1592,394],[1670,9],[1672,395],[1671,396],[1593,397],[1589,398],[1588,399],[1615,400],[1595,401],[1687,402],[1686,403],[1590,404],[1575,405],[1585,406],[1669,407],[1666,402],[1667,9],[1668,408],[1608,409],[1609,410],[1582,411],[1656,9],[1519,9],[1521,412],[1735,9],[1532,413],[1534,414],[1531,415],[1535,9],[1533,9],[1546,9],[1536,9],[1552,416],[1733,9],[1562,417],[1553,418],[1560,419],[1554,9],[1539,420],[1537,421],[1542,422],[1541,423],[1538,9],[1648,424],[1563,425],[1527,370],[1544,426],[1517,9],[1557,9],[1545,427],[1530,428],[1523,9],[1567,429],[1549,9],[1543,9],[1699,9],[1547,430],[1548,418],[1529,424],[1734,9],[1564,431],[1550,432],[1565,433],[1551,434],[1520,9],[1526,435],[1524,9],[1558,9],[1559,436],[1569,437],[1561,438],[1587,370],[1555,439],[1525,9],[1566,440],[1540,9],[1736,9],[1700,9],[1528,9],[1708,9],[1689,441],[1610,9],[1726,436],[1723,439],[1690,412],[1691,9],[1721,442],[1627,9],[1731,443],[1703,360],[1692,444],[1579,9],[1720,445],[1611,9],[1693,360],[1725,446],[1712,9],[1522,418],[1729,9],[1617,9],[1614,447],[1620,448],[1701,449],[1702,9],[1616,402],[1624,9],[1626,450],[1704,451],[1714,438],[1705,9],[1707,9],[1706,9],[1709,452],[1618,453],[1622,9],[1710,9],[1599,454],[1570,9],[1727,9],[1738,9],[1722,455],[1630,456],[1612,457],[1623,447],[1711,412],[1629,400],[1621,406],[1576,458],[1713,459],[1716,460],[1717,9],[1718,9],[1719,9],[1739,9],[1573,461],[1625,462],[1574,463],[1619,9],[1724,370],[1728,9],[1730,9],[1628,9],[1580,464],[1715,9],[1275,465],[1271,466],[1246,467],[1245,468],[1186,469],[1300,470],[1411,9],[1249,471],[1281,472],[1239,473],[1299,9],[1269,474],[1270,475],[1266,476],[1273,477],[1268,478],[1333,479],[1329,480],[1414,481],[1368,482],[1369,482],[1370,482],[1371,482],[1372,9],[1236,483],[1306,484],[1339,485],[1317,486],[1321,484],[1309,487],[1302,484],[1308,488],[1307,489],[1310,484],[1318,484],[1319,484],[1320,490],[1301,484],[1326,491],[1323,491],[1325,492],[1324,9],[1327,491],[1322,489],[1303,484],[1332,493],[1331,494],[1304,322],[1313,494],[1305,484],[1311,495],[1362,484],[1312,484],[1315,322],[1314,487],[1336,496],[1334,497],[1335,498],[1406,499],[1337,500],[1338,501],[1328,502],[1274,503],[1224,504],[1240,505],[1265,9],[1251,506],[1272,507],[1347,9],[1349,508],[1348,509],[1259,510],[1252,9],[1350,9],[1352,511],[1351,512],[1254,513],[1264,514],[1356,9],[1354,515],[1355,516],[1353,9],[1359,9],[1358,517],[1357,9],[1262,494],[1260,518],[1344,9],[1346,519],[1345,520],[1261,521],[1257,522],[1256,523],[1283,524],[1263,525],[1361,526],[1360,527],[1258,528],[1243,529],[1253,530],[1343,531],[1340,526],[1341,9],[1342,532],[1276,533],[1277,534],[1250,535],[1330,9],[1187,9],[1189,536],[1409,9],[1200,537],[1202,538],[1199,539],[1203,9],[1201,9],[1214,9],[1204,9],[1220,540],[1407,9],[1230,541],[1221,542],[1228,543],[1222,9],[1207,544],[1205,545],[1210,546],[1209,547],[1206,9],[1316,548],[1231,549],[1195,494],[1212,550],[1185,9],[1225,9],[1213,551],[1198,552],[1191,9],[1235,553],[1217,9],[1211,9],[1373,9],[1215,554],[1216,542],[1197,548],[1408,9],[1232,555],[1218,556],[1233,557],[1219,558],[1188,9],[1194,559],[1192,9],[1226,9],[1227,560],[1237,561],[1229,562],[1255,494],[1223,563],[1193,9],[1234,564],[1208,9],[1410,9],[1374,9],[1196,9],[1382,9],[1363,565],[1278,9],[1400,560],[1397,563],[1364,536],[1365,9],[1395,566],[1295,9],[1405,567],[1377,482],[1366,568],[1247,9],[1394,569],[1279,9],[1367,482],[1399,570],[1386,9],[1190,542],[1403,9],[1285,9],[1282,571],[1288,572],[1375,573],[1376,9],[1284,526],[1292,9],[1294,574],[1378,575],[1388,562],[1379,9],[1381,9],[1380,9],[1383,576],[1286,577],[1290,9],[1384,9],[1267,578],[1238,9],[1401,9],[1412,9],[1396,579],[1298,580],[1280,581],[1291,571],[1385,536],[1297,524],[1289,530],[1244,582],[1387,583],[1390,584],[1391,9],[1392,9],[1393,9],[1413,9],[1241,585],[1293,586],[1242,587],[1287,9],[1398,494],[1402,9],[1404,9],[1296,9],[1248,588],[1389,9],[1863,589],[1865,590],[1864,305],[1859,9],[1860,591],[1861,592],[2268,593],[1853,594],[1845,595],[1846,596],[1847,597],[1844,592],[1848,592],[1843,592],[1856,9],[1850,598],[1862,305],[1858,9],[1857,594],[1855,599],[1852,594],[1851,594],[2284,600],[1849,305],[2281,601],[2282,9],[2283,602],[1960,603],[1854,9],[1959,599],[2285,604],[2269,605],[2123,606],[2118,9],[2121,607],[2119,305],[2120,9],[2124,608],[2093,305],[2094,609],[2107,305],[2110,305],[2097,610],[2099,305],[2083,611],[2082,612],[1987,613],[1986,614],[2100,9],[2101,615],[2102,305],[2084,305],[2085,126],[2098,305],[2103,616],[2104,305],[2109,305],[2092,305],[2105,305],[2106,305],[2108,305],[2095,305],[2096,617],[2122,9],[2086,618],[2088,126],[2087,9],[2111,305],[2081,619],[2115,9],[2089,620],[2090,305],[2077,621],[2078,622],[2079,623],[2080,624],[2113,625],[2117,305],[2116,9],[2091,9],[2114,9],[2112,9],[2267,626],[2257,305],[2258,627],[2253,305],[2254,305],[2255,305],[2256,305],[2129,305],[2126,628],[2128,629],[2127,130],[2244,630],[2249,631],[2225,632],[2240,633],[2130,631],[2134,634],[2131,9],[2133,635],[2132,130],[2262,636],[2263,637],[2260,638],[2261,639],[2259,130],[2236,640],[2250,631],[2138,641],[2211,642],[2210,643],[2214,644],[2212,130],[2213,9],[2266,305],[2142,645],[2229,646],[2219,647],[2251,631],[2252,631],[2145,648],[2149,649],[2153,650],[2157,651],[2161,652],[2248,631],[2178,653],[2179,631],[2206,654],[2165,655],[2233,656],[2247,657],[2245,126],[2246,305],[2264,658],[2265,659],[2125,660],[2067,9],[2075,661],[2068,662],[2057,663],[2074,664],[2076,665],[2069,666],[2073,54],[2071,667],[2054,9],[2066,305],[2070,668],[2064,669],[2056,667],[2059,669],[2062,305],[2063,54],[2055,667],[2058,670],[2061,671],[2072,9],[2060,672],[2065,9],[1828,673],[1830,674],[1842,675],[1829,676],[1839,677],[1836,678],[1838,679],[1837,679],[1835,678],[1833,680],[1840,681],[1841,681],[1831,305],[1827,682],[1834,682],[1832,683],[1502,684],[1504,685],[1516,686],[1503,687],[1513,688],[1510,689],[1512,690],[1511,690],[1509,689],[1507,691],[1514,692],[1515,692],[1505,322],[1501,693],[1508,693],[1506,683],[1952,694],[1958,695],[1957,305],[1956,305],[1955,696],[1953,305],[1954,697],[2280,698],[2279,699],[1773,700],[1777,701],[1770,305],[1771,305],[1774,305],[1766,702],[1767,305],[1765,703],[1764,9],[1776,305],[1768,305],[1769,704],[1775,705],[1772,305],[1447,706],[1451,707],[1444,322],[1445,322],[1448,322],[1440,708],[1441,322],[1439,709],[1438,9],[1450,322],[1442,322],[1443,710],[1449,711],[1446,322],[1793,9],[1796,712],[1795,713],[1792,305],[1794,305],[1799,714],[1797,305],[1798,305],[1467,9],[1470,715],[1469,716],[1466,322],[1468,322],[1473,717],[1471,322],[1472,322],[1790,718],[1791,719],[1464,720],[1465,721],[1789,722],[1787,723],[1786,724],[1781,725],[1785,726],[1784,727],[1780,728],[1783,9],[1788,729],[1782,9],[1463,730],[1461,731],[1460,732],[1455,733],[1459,734],[1458,735],[1454,736],[1457,9],[1462,737],[1456,9],[4138,9],[4082,9],[4083,738],[4084,739],[4085,740],[4124,9],[4121,9],[4120,9],[4115,741],[4126,742],[4111,743],[4122,744],[4114,745],[4113,746],[4123,9],[4118,747],[4125,9],[4119,748],[4112,9],[4159,749],[4158,750],[4157,743],[4128,751],[4093,752],[4094,753],[4091,754],[4101,755],[4095,756],[4096,756],[4086,9],[4089,757],[4090,758],[4102,759],[4100,760],[1068,9],[1070,9],[1071,761],[3451,762],[1069,763],[1067,764],[4098,765],[4099,766],[1064,9],[4097,767],[1066,9],[4092,764],[4087,768],[1065,768],[4088,766],[4103,769],[4110,9],[2755,770],[1035,771],[2220,772],[1033,9],[955,9],[4144,773],[4134,9],[4136,774],[4137,775],[2756,9],[121,776],[122,776],[123,777],[76,778],[124,779],[125,780],[126,781],[71,9],[74,782],[72,9],[73,9],[127,783],[128,784],[129,785],[130,786],[131,787],[132,788],[133,788],[134,789],[135,790],[136,791],[137,792],[77,9],[75,9],[138,793],[139,794],[140,795],[174,796],[141,797],[142,9],[143,798],[144,799],[145,800],[146,164],[147,801],[148,802],[149,803],[150,804],[151,805],[152,805],[153,806],[154,9],[155,807],[156,808],[158,809],[157,810],[159,811],[160,812],[161,813],[162,814],[163,815],[164,816],[165,817],[166,818],[167,819],[168,820],[169,821],[170,822],[171,823],[78,9],[79,9],[80,9],[118,824],[119,9],[120,9],[172,825],[173,826],[3823,827],[2173,828],[2172,829],[2171,828],[3833,830],[178,831],[334,683],[179,832],[177,833],[336,834],[335,835],[4127,683],[175,836],[332,9],[176,837],[60,9],[62,838],[331,683],[242,683],[4141,9],[919,839],[4131,9],[4133,840],[4132,841],[1045,842],[1022,843],[1020,9],[1021,9],[479,9],[490,844],[485,845],[488,846],[1036,847],[1027,9],[1030,848],[1029,849],[1041,849],[1028,850],[1044,9],[487,851],[489,851],[481,852],[484,853],[1023,852],[486,854],[480,9],[1034,9],[4135,9],[4147,111],[2826,9],[3243,9],[4042,9],[61,9],[2754,9],[2952,855],[2931,856],[3028,9],[2932,857],[2868,855],[2869,9],[2834,9],[2870,9],[2835,9],[2871,9],[2872,9],[2873,9],[2836,9],[2874,9],[2837,9],[2875,9],[2838,9],[2876,9],[2839,9],[2877,9],[2840,9],[2878,9],[2841,9],[2879,9],[2880,855],[2881,855],[2882,9],[2883,9],[2884,9],[2885,9],[2886,9],[2887,9],[2888,9],[2889,9],[2890,9],[2892,9],[2891,9],[2893,9],[2894,9],[2895,855],[2896,9],[2897,9],[2898,855],[2899,9],[2900,9],[2901,855],[2902,9],[2903,855],[2904,855],[2905,855],[2906,9],[2907,855],[2908,855],[2909,855],[2910,855],[2911,855],[2913,855],[2914,9],[2915,9],[2912,855],[2916,855],[2917,9],[2918,9],[2919,9],[2920,9],[2921,9],[2922,9],[2923,9],[2924,9],[2925,9],[2926,9],[2927,9],[2928,855],[2929,9],[2930,9],[2933,858],[2934,855],[2935,855],[2936,859],[2937,860],[2938,855],[2939,855],[2940,855],[2941,855],[2944,855],[2942,9],[2943,9],[2855,9],[2945,9],[2842,9],[2946,9],[2843,9],[2947,9],[2948,9],[2949,9],[2950,9],[2951,9],[2953,861],[2844,9],[2954,9],[2955,9],[2956,9],[2958,9],[2957,9],[2959,9],[2845,9],[2960,9],[2846,9],[2961,9],[2962,855],[2847,9],[2963,9],[2848,9],[2964,9],[2849,9],[2965,9],[2966,9],[2967,855],[2968,855],[2970,855],[2969,855],[2850,9],[2971,9],[2972,9],[2973,9],[2974,9],[3121,862],[2975,855],[2976,855],[2977,9],[2978,9],[2851,9],[2979,9],[2852,9],[2980,9],[2853,9],[2981,9],[2982,9],[2983,9],[2984,9],[2985,9],[2986,9],[2987,9],[2988,9],[2989,855],[2990,9],[2991,9],[2992,9],[2993,9],[2994,9],[2995,9],[2996,9],[2997,9],[2998,9],[2999,9],[3000,855],[3001,9],[3002,9],[3003,9],[3004,9],[3005,9],[3006,9],[3007,9],[3008,9],[3009,9],[3010,855],[3011,9],[3012,9],[3013,9],[3014,9],[3015,9],[3016,9],[3017,9],[3018,9],[3019,855],[3020,9],[3021,9],[3022,9],[3023,9],[3024,9],[3025,9],[3026,855],[3027,9],[3029,863],[2854,855],[3030,9],[3031,855],[3032,9],[3033,9],[3034,9],[3035,9],[3036,9],[3037,9],[3038,9],[3039,9],[3040,9],[3041,855],[3042,9],[3043,9],[3044,9],[3045,9],[3046,9],[3047,9],[3048,9],[3053,864],[3051,865],[3052,866],[3050,867],[3049,855],[3054,9],[3055,9],[3056,855],[3057,9],[3058,9],[3059,9],[3060,9],[3061,9],[3062,9],[3063,9],[3064,9],[3065,9],[3066,855],[3067,855],[3068,9],[3069,9],[3070,9],[2857,855],[3071,855],[3072,9],[3073,855],[3074,9],[3075,861],[2858,9],[3076,9],[3077,9],[3078,9],[3079,9],[3080,9],[2859,9],[3081,9],[2860,9],[3082,9],[2861,9],[3083,9],[3084,9],[3085,855],[3086,855],[2862,9],[3087,9],[3088,9],[3089,9],[3090,9],[3091,9],[3092,9],[3093,9],[3094,9],[3095,9],[3096,9],[3097,9],[3098,9],[3099,855],[3100,855],[3101,9],[3102,9],[3103,855],[3104,9],[2863,9],[3105,9],[3106,9],[3107,9],[3108,9],[3109,9],[2864,9],[3110,9],[2865,9],[3111,9],[3112,9],[2866,9],[3113,9],[2867,9],[3114,9],[3115,9],[3116,855],[2856,868],[3117,9],[3118,9],[3119,9],[3120,9],[2576,869],[2555,870],[2652,9],[2556,871],[2492,869],[2493,869],[2494,869],[2495,869],[2496,869],[2497,869],[2498,869],[2499,869],[2500,869],[2501,869],[2502,869],[2503,869],[2504,869],[2505,869],[2506,869],[2507,869],[2508,869],[2509,869],[2488,9],[2510,869],[2511,869],[2512,9],[2513,869],[2514,869],[2516,869],[2515,869],[2517,869],[2518,869],[2519,869],[2520,869],[2521,869],[2522,869],[2523,869],[2524,869],[2525,869],[2526,869],[2527,869],[2528,869],[2529,869],[2530,869],[2531,869],[2532,869],[2533,869],[2534,869],[2535,869],[2537,869],[2538,869],[2539,869],[2536,869],[2540,869],[2541,869],[2542,869],[2543,869],[2544,869],[2545,869],[2546,869],[2547,869],[2548,869],[2549,869],[2550,869],[2551,869],[2552,869],[2553,869],[2554,869],[2557,872],[2558,869],[2559,869],[2560,873],[2561,874],[2562,869],[2563,869],[2564,869],[2565,869],[2568,869],[2566,869],[2567,869],[2490,9],[2569,869],[2570,869],[2571,869],[2572,869],[2573,869],[2574,869],[2575,869],[2577,875],[2578,869],[2579,869],[2580,869],[2582,869],[2581,869],[2583,869],[2584,869],[2585,869],[2586,869],[2587,869],[2588,869],[2589,869],[2590,869],[2591,869],[2592,869],[2594,869],[2593,869],[2595,869],[2596,9],[2597,9],[2598,9],[2745,876],[2599,869],[2600,869],[2601,869],[2602,869],[2603,869],[2604,869],[2605,9],[2606,869],[2607,9],[2608,869],[2609,869],[2610,869],[2611,869],[2612,869],[2613,869],[2614,869],[2615,869],[2616,869],[2617,869],[2618,869],[2619,869],[2620,869],[2621,869],[2622,869],[2623,869],[2624,869],[2625,869],[2626,869],[2627,869],[2628,869],[2629,869],[2630,869],[2631,869],[2632,869],[2633,869],[2634,869],[2635,869],[2636,869],[2637,869],[2638,869],[2639,869],[2640,9],[2641,869],[2642,869],[2643,869],[2644,869],[2645,869],[2646,869],[2647,869],[2648,869],[2649,869],[2650,869],[2651,869],[2653,877],[2489,869],[2654,869],[2655,869],[2656,9],[2657,9],[2658,9],[2659,869],[2660,9],[2661,9],[2662,9],[2663,9],[2664,9],[2665,869],[2666,869],[2667,869],[2668,869],[2669,869],[2670,869],[2671,869],[2672,869],[2677,878],[2675,879],[2676,880],[2674,881],[2673,869],[2678,869],[2679,869],[2680,869],[2681,869],[2682,869],[2683,869],[2684,869],[2685,869],[2686,869],[2687,869],[2688,9],[2689,9],[2690,869],[2691,869],[2692,9],[2693,9],[2694,9],[2695,869],[2696,869],[2697,869],[2698,869],[2699,875],[2700,869],[2701,869],[2702,869],[2703,869],[2704,869],[2705,869],[2706,869],[2707,869],[2708,869],[2709,869],[2710,869],[2711,869],[2712,869],[2713,869],[2714,869],[2715,869],[2716,869],[2717,869],[2718,869],[2719,869],[2720,869],[2721,869],[2722,869],[2723,869],[2724,869],[2725,869],[2726,869],[2727,869],[2728,869],[2729,869],[2730,869],[2731,869],[2732,869],[2733,869],[2734,869],[2735,869],[2736,869],[2737,869],[2738,869],[2739,869],[2740,869],[2491,882],[2741,9],[2742,9],[2743,9],[2744,9],[3379,9],[3832,883],[3812,884],[3816,885],[3521,886],[3761,887],[3520,9],[3523,888],[3810,889],[3811,890],[3519,9],[3813,891],[3594,892],[3538,893],[3561,894],[3570,895],[3541,895],[3542,896],[3543,896],[3569,897],[3544,898],[3545,896],[3551,899],[3546,900],[3547,896],[3548,896],[3571,901],[3540,902],[3549,895],[3550,900],[3552,903],[3553,903],[3554,900],[3555,896],[3556,895],[3557,896],[3558,904],[3559,904],[3560,896],[3581,905],[3589,906],[3568,907],[3597,908],[3562,909],[3564,910],[3565,907],[3575,911],[3583,912],[3588,913],[3585,914],[3590,915],[3578,916],[3579,917],[3586,918],[3587,919],[3593,920],[3584,921],[3563,891],[3595,922],[3539,891],[3582,923],[3580,924],[3567,925],[3566,907],[3596,926],[3572,927],[3591,9],[3592,928],[3815,929],[3817,930],[3818,931],[3820,932],[3819,933],[3522,891],[3632,9],[3649,934],[3598,935],[3623,936],[3630,937],[3599,937],[3600,937],[3601,938],[3629,939],[3602,940],[3617,937],[3603,941],[3604,941],[3605,938],[3606,937],[3607,938],[3608,937],[3631,942],[3609,937],[3610,937],[3611,943],[3612,937],[3613,937],[3614,943],[3615,938],[3616,937],[3618,944],[3619,943],[3620,937],[3621,938],[3622,937],[3644,945],[3640,946],[3628,947],[3652,948],[3624,949],[3625,947],[3641,950],[3633,951],[3642,952],[3639,953],[3637,954],[3643,955],[3636,956],[3648,957],[3638,958],[3650,959],[3645,960],[3634,961],[3627,962],[3626,947],[3651,963],[3635,927],[3646,9],[3647,964],[3829,965],[3830,966],[3828,967],[3825,968],[3826,969],[3824,970],[3525,971],[3718,972],[3653,973],[3688,974],[3697,975],[3654,976],[3655,976],[3656,977],[3657,976],[3696,978],[3658,979],[3659,980],[3660,981],[3661,976],[3698,982],[3699,983],[3662,976],[3664,984],[3665,975],[3667,985],[3668,986],[3669,986],[3670,977],[3671,976],[3672,976],[3673,982],[3674,977],[3675,977],[3676,986],[3677,976],[3678,975],[3679,976],[3680,977],[3681,987],[3666,988],[3682,976],[3683,977],[3684,976],[3685,976],[3686,976],[3687,976],[3706,989],[3713,990],[3695,991],[3723,992],[3689,993],[3691,994],[3692,991],[3701,995],[3708,996],[3712,997],[3710,998],[3714,999],[3702,1000],[3703,917],[3704,1001],[3711,1002],[3717,1003],[3709,1004],[3690,891],[3719,1005],[3663,891],[3707,1006],[3705,1007],[3694,1008],[3693,991],[3720,1009],[3721,9],[3722,1010],[3700,927],[3715,9],[3716,1011],[3534,1012],[3527,1013],[3576,891],[3573,1014],[3577,1015],[3574,243],[3772,1016],[3749,1017],[3755,1018],[3724,1018],[3725,1018],[3726,1019],[3754,1020],[3727,1021],[3742,1018],[3728,1022],[3729,1022],[3730,1019],[3731,1018],[3732,1023],[3733,1018],[3756,1024],[3734,1018],[3735,1018],[3736,1025],[3737,1018],[3738,1018],[3739,1025],[3740,1019],[3741,1018],[3743,1026],[3744,1025],[3745,1018],[3746,1019],[3747,1018],[3748,1018],[3769,1027],[3760,1028],[3775,1029],[3750,1030],[3751,1031],[3764,1032],[3757,1033],[3768,1034],[3759,1035],[3767,1036],[3766,1037],[3771,1038],[3758,1039],[3773,1040],[3770,1041],[3765,1042],[3753,1043],[3752,1031],[3774,1044],[3763,1045],[3831,1046],[3762,1047],[3530,1048],[3532,1049],[3531,1048],[3533,1048],[3536,1050],[3535,1051],[3537,1052],[3528,1053],[3808,1054],[3776,1055],[3801,1056],[3805,1057],[3804,1058],[3777,1059],[3806,1060],[3797,1061],[3798,1057],[3799,1062],[3800,1063],[3785,1064],[3793,1065],[3803,1066],[3809,1067],[3778,1068],[3779,1066],[3782,1069],[3788,1070],[3792,1071],[3790,1072],[3794,1073],[3783,1074],[3786,1075],[3791,1076],[3807,1077],[3789,1078],[3787,1079],[3784,1080],[3802,1081],[3780,1082],[3796,1083],[3781,927],[3795,1084],[3526,927],[3524,1085],[3529,1086],[3814,9],[4151,9],[963,9],[1052,1087],[1054,1088],[1053,1089],[1051,1090],[1050,9],[2402,9],[2405,1091],[2404,1092],[2403,1092],[2401,1093],[2399,9],[2400,1093],[2406,1094],[2307,1095],[2374,1096],[2373,1097],[2372,1098],[2312,1099],[2328,1100],[2326,1101],[2327,1102],[2313,1103],[2398,1104],[2298,9],[2300,9],[2301,1105],[2302,9],[2305,1106],[2308,9],[2325,1107],[2303,9],[2320,1108],[2306,1109],[2321,1110],[2324,1111],[2322,1111],[2319,1112],[2299,9],[2304,9],[2323,1113],[2329,1114],[2317,9],[2311,1115],[2309,1116],[2318,1117],[2315,1118],[2314,1118],[2310,1119],[2316,1120],[2393,1121],[2387,1122],[2380,1123],[2379,1124],[2388,1125],[2389,1111],[2381,1126],[2394,1127],[2375,1128],[2376,1129],[2377,1130],[2397,1131],[2378,1124],[2382,1127],[2383,1132],[2396,1133],[2390,1134],[2391,1109],[2392,1132],[2395,1111],[2384,1130],[2330,1135],[2385,1136],[2386,1137],[2371,1138],[2369,1139],[2370,1139],[2335,1139],[2336,1139],[2337,1139],[2338,1139],[2339,1139],[2340,1139],[2341,1139],[2342,1139],[2361,1139],[2333,1139],[2343,1139],[2344,1139],[2345,1139],[2346,1139],[2347,1139],[2348,1139],[2368,1139],[2349,1139],[2350,1139],[2351,1139],[2366,1139],[2352,1139],[2367,1139],[2353,1139],[2364,1139],[2365,1139],[2354,1139],[2355,1139],[2356,1139],[2362,1139],[2363,1139],[2357,1139],[2358,1139],[2359,1139],[2360,1139],[2334,1140],[2332,1141],[2331,1142],[2297,9],[502,1143],[940,1144],[938,1145],[936,1146],[937,1147],[944,1148],[943,1149],[941,1150],[942,1151],[492,9],[493,9],[794,1152],[801,1153],[809,1154],[805,1155],[777,9],[935,1156],[803,1157],[804,9],[939,1158],[802,1159],[793,1160],[811,1161],[810,1162],[744,1163],[735,1164],[779,9],[780,9],[501,9],[781,1165],[778,9],[782,1166],[945,1167],[783,1168],[785,9],[786,1169],[788,1170],[787,1169],[813,1171],[523,1172],[521,9],[528,1173],[812,9],[529,1174],[518,1175],[517,9],[527,1176],[525,1177],[814,1178],[815,1179],[524,1180],[816,1179],[817,1181],[526,1182],[914,1183],[822,1184],[823,1178],[818,9],[819,1185],[821,1186],[820,1187],[522,1188],[909,1189],[825,1190],[824,1191],[758,1192],[826,1193],[574,1194],[573,1195],[568,9],[572,9],[570,9],[571,9],[569,1196],[567,1197],[566,1198],[564,1199],[749,1200],[563,1201],[530,1202],[595,1203],[565,9],[562,9],[829,1204],[827,1205],[828,1206],[496,1207],[495,9],[836,1208],[838,1209],[918,1210],[840,1211],[842,1212],[844,1213],[846,1214],[835,1215],[837,1216],[917,1215],[839,1215],[841,1215],[843,1217],[845,1215],[847,1218],[849,1219],[604,1220],[851,1215],[853,1221],[855,1217],[848,1222],[857,1223],[915,1215],[859,1215],[862,1224],[864,1225],[866,1226],[868,1219],[850,1227],[852,1228],[605,1229],[854,1230],[856,1231],[858,1232],[916,1233],[860,1234],[863,1235],[865,1236],[867,1237],[869,1238],[922,1239],[494,9],[497,1240],[831,1241],[833,1242],[830,1241],[500,1243],[498,1244],[499,1244],[832,1245],[834,1246],[870,9],[871,1247],[923,1248],[796,1249],[797,1249],[795,9],[798,1250],[772,9],[789,1249],[790,1249],[773,1251],[792,1252],[791,9],[767,1253],[775,1254],[928,1255],[774,1256],[930,1257],[932,9],[927,1258],[769,1259],[929,1260],[931,9],[768,1249],[903,1261],[925,9],[872,1262],[924,9],[926,9],[648,9],[771,1261],[536,1263],[537,1162],[873,1264],[770,1265],[874,1266],[808,1267],[806,9],[807,1268],[946,1269],[952,1270],[876,1202],[877,1271],[875,1272],[630,1273],[878,1274],[800,1275],[799,9],[910,9],[913,1276],[911,9],[912,1277],[934,9],[509,1278],[508,9],[879,1279],[507,1280],[506,9],[881,1281],[882,1282],[886,1283],[880,1282],[883,1281],[531,1284],[559,1285],[557,1286],[558,1287],[759,1288],[736,1289],[757,1290],[776,1291],[760,9],[887,1143],[766,9],[753,1292],[534,1203],[750,1293],[597,1294],[598,1294],[888,1295],[613,1296],[614,1297],[615,1298],[616,1191],[551,1299],[907,1300],[619,1301],[617,9],[618,1302],[620,1191],[621,1191],[547,1303],[622,1304],[623,1305],[624,1191],[889,1306],[532,1307],[625,1191],[552,1308],[555,1309],[556,1310],[554,1311],[553,1312],[626,1191],[627,1191],[628,1191],[629,1191],[596,9],[632,1313],[633,1297],[890,1314],[538,1205],[548,1315],[535,9],[546,1316],[634,1317],[635,1191],[636,1318],[637,1319],[612,1320],[601,9],[602,9],[606,1321],[603,1322],[600,1323],[610,1324],[607,1325],[608,1326],[609,9],[611,1327],[599,9],[892,1328],[891,9],[638,1191],[639,1191],[539,1329],[640,1191],[641,1191],[549,1330],[642,1191],[542,1331],[540,1332],[643,1191],[644,1191],[645,1191],[646,1191],[541,1329],[647,1191],[649,1333],[543,1334],[544,1335],[561,1336],[650,1191],[651,1191],[533,1337],[652,1191],[653,1191],[654,1191],[657,1338],[655,1339],[656,1340],[738,1341],[545,1342],[739,1191],[740,1191],[741,1343],[742,1191],[893,1191],[743,1296],[519,1344],[520,1345],[516,1345],[515,1345],[514,1346],[511,1347],[512,1345],[510,9],[748,1348],[504,9],[505,1349],[503,9],[751,1350],[765,1288],[737,1351],[659,1352],[660,1352],[661,1352],[658,1353],[664,1354],[666,1355],[685,1356],[667,1357],[668,1358],[746,1359],[669,1354],[671,1360],[674,1361],[675,1362],[676,1361],[679,1363],[680,1364],[681,1365],[682,1366],[683,1364],[684,1362],[686,1367],[687,1367],[688,1367],[689,1367],[690,1365],[691,1368],[692,1362],[693,1369],[694,1365],[695,1364],[696,1366],[697,1364],[698,1366],[699,1362],[700,1370],[701,1360],[702,1371],[703,1357],[663,1372],[706,1373],[581,1374],[704,1375],[705,1354],[707,1376],[712,1369],[709,1377],[710,1378],[711,1358],[713,1379],[714,1380],[716,1381],[717,1381],[718,1376],[719,1354],[720,1382],[721,1352],[722,1366],[747,1383],[745,1384],[723,1357],[724,1357],[732,1385],[725,1386],[729,1385],[730,1387],[728,1388],[731,1358],[733,1389],[734,1358],[560,1390],[894,1391],[885,1392],[884,1393],[491,9],[513,9],[762,1286],[763,1394],[761,9],[895,9],[896,1393],[897,1395],[898,1396],[764,1397],[861,1398],[587,1399],[586,9],[708,1400],[677,1401],[665,1401],[678,1401],[594,1402],[727,1403],[662,1401],[673,1404],[593,1405],[589,1406],[670,1401],[580,1407],[585,1408],[726,1402],[584,9],[576,1409],[588,1401],[672,1410],[583,1401],[715,1411],[592,1412],[591,9],[590,9],[582,1401],[575,1401],[578,1413],[579,1414],[577,9],[908,9],[947,9],[755,1415],[754,1286],[756,1416],[784,1417],[550,1418],[920,1419],[921,1420],[631,1421],[948,1422],[950,1423],[906,9],[933,9],[752,9],[949,1424],[904,1425],[899,1426],[900,9],[901,1427],[902,9],[951,1428],[905,1286],[994,9],[1083,1429],[4150,9],[4155,1430],[4145,1431],[4142,1432],[4146,1433],[4153,1434],[4152,1435],[4156,1436],[3916,1437],[3917,1438],[3930,1439],[3933,1440],[3928,9],[3931,9],[3932,1439],[3929,1441],[3936,1442],[3918,1443],[3911,1444],[3914,1445],[3910,1446],[3919,1447],[3915,1448],[3912,1449],[3920,27],[3908,1450],[3921,1451],[3913,9],[3922,1452],[3923,1453],[3924,1454],[3906,1455],[3925,1447],[3926,1456],[3909,1457],[3927,1458],[3907,1456],[3934,9],[3935,9],[984,9],[986,1459],[985,9],[2270,9],[2761,9],[2762,1460],[69,1461],[423,1462],[428,1463],[430,1464],[200,1465],[228,1466],[406,1467],[223,1468],[211,9],[192,9],[198,9],[396,1469],[259,1470],[199,9],[365,1471],[233,1472],[234,1473],[330,1474],[393,1475],[348,1476],[400,1477],[401,1478],[399,1479],[398,9],[397,1480],[230,1481],[201,1482],[280,9],[281,1483],[196,9],[212,1484],[202,1485],[264,1484],[261,1484],[185,1484],[226,1486],[225,9],[405,1487],[415,9],[191,9],[306,1488],[307,1489],[301,683],[451,9],[309,9],[310,1490],[302,1491],[457,1492],[455,1493],[450,9],[392,1494],[391,9],[449,1495],[303,683],[344,1496],[342,1497],[452,9],[456,9],[454,1498],[453,9],[343,1499],[444,1500],[447,1501],[271,1502],[270,1503],[269,1504],[460,683],[268,1505],[253,9],[463,9],[466,9],[465,683],[467,1506],[181,9],[402,1507],[403,1508],[404,1509],[214,9],[190,1510],[180,9],[322,683],[183,1511],[321,1512],[320,1513],[311,9],[312,9],[319,9],[314,9],[317,1514],[313,9],[315,1515],[318,1516],[316,1515],[197,9],[188,9],[189,1484],[243,1517],[244,1518],[241,1519],[239,1520],[240,1521],[236,9],[328,1490],[350,1490],[422,1522],[431,1523],[435,1524],[409,1525],[408,9],[256,9],[468,1526],[418,1527],[304,1528],[305,1529],[296,1530],[286,9],[327,1531],[287,1532],[329,1533],[324,1534],[323,9],[325,9],[341,1535],[410,1536],[411,1537],[289,1538],[293,1539],[284,1540],[388,1541],[417,1542],[263,1543],[366,1544],[186,1545],[416,1546],[182,1468],[237,9],[245,1547],[377,1548],[235,9],[376,1549],[70,9],[371,1550],[213,9],[282,1551],[367,9],[187,9],[246,9],[375,1552],[195,9],[251,1553],[292,1554],[407,1555],[291,9],[374,9],[238,9],[379,1556],[380,1557],[193,9],[382,1558],[384,1559],[383,1560],[216,9],[373,1545],[386,1561],[372,1562],[378,1563],[204,9],[207,9],[205,9],[209,9],[206,9],[208,9],[210,1564],[203,9],[358,1565],[357,9],[363,1566],[359,1567],[362,1568],[361,1568],[364,1566],[360,1567],[250,1569],[351,1570],[414,1571],[470,9],[439,1572],[441,1573],[288,9],[440,1574],[412,1536],[469,1575],[308,1536],[194,9],[290,1576],[247,1577],[248,1578],[249,1579],[279,1580],[387,1580],[265,1580],[352,1581],[266,1581],[232,1582],[231,9],[356,1583],[355,1584],[354,1585],[353,1586],[413,1587],[300,1588],[338,1589],[299,1590],[333,1591],[337,1592],[395,1593],[394,1594],[390,1595],[347,1596],[349,1597],[346,1598],[385,1599],[340,9],[427,9],[339,1600],[389,9],[252,1601],[285,1507],[283,1602],[254,1603],[257,1604],[464,9],[255,1605],[258,1605],[425,9],[424,9],[426,9],[462,9],[260,1606],[298,683],[68,9],[345,1607],[229,9],[218,1608],[294,9],[433,683],[443,1609],[278,683],[437,1490],[277,1610],[420,1611],[276,1609],[184,9],[445,1612],[274,683],[275,683],[267,9],[217,9],[273,1613],[272,1614],[215,1615],[295,804],[262,804],[381,9],[369,1616],[368,9],[429,9],[326,1617],[297,683],[421,1618],[63,683],[66,1619],[67,1620],[64,683],[65,9],[227,1621],[222,1622],[221,9],[220,1623],[219,9],[419,1624],[432,1625],[434,1626],[436,1627],[438,1628],[442,1629],[476,1630],[446,1630],[475,1631],[448,1632],[458,1633],[459,1634],[461,1635],[471,1636],[474,1510],[473,9],[472,111],[2833,1637],[3151,1638],[3152,1639],[3153,9],[3154,1639],[3155,1639],[3156,1639],[3157,1639],[3158,1639],[3159,1640],[3160,1639],[3161,1639],[3162,1641],[3163,1642],[3164,1643],[3165,1642],[3166,1644],[3167,1645],[3168,1642],[3169,1642],[3170,1645],[3171,1646],[2768,1645],[3172,1642],[3173,1642],[3174,1642],[3175,1642],[3176,1642],[2774,1642],[3177,1647],[3178,1642],[2831,1645],[3179,1643],[3180,1643],[3181,1648],[3182,1642],[3183,1649],[3184,1650],[2767,1651],[2766,1652],[2832,1653],[3185,1654],[3186,1639],[3189,1655],[2783,1656],[2775,1657],[3193,1658],[3190,233],[2784,1659],[3191,1660],[2785,1661],[3192,1662],[3247,1640],[3248,1640],[3249,1640],[3250,1640],[3251,1640],[3252,1640],[3253,1640],[2776,1663],[3245,9],[3254,1664],[3255,1665],[3256,1666],[2777,1665],[3257,1667],[3258,1668],[3259,1669],[2778,1670],[3260,9],[3261,1667],[3220,1671],[3198,1672],[3262,1673],[3221,1674],[3222,1675],[3223,1676],[3224,1671],[3225,1671],[3199,1672],[3263,1668],[3194,1677],[3195,1668],[3264,1672],[3200,1672],[3201,1672],[3265,1668],[3266,1665],[3267,1678],[3268,1672],[2764,1679],[2830,1639],[3269,1680],[3270,1639],[2780,1681],[3217,1682],[3271,1683],[3202,1672],[3203,1672],[3204,1672],[3205,1672],[3206,1672],[3272,1684],[3273,1685],[3207,1686],[3209,1687],[3210,1688],[3211,1689],[3213,1690],[3226,1671],[3246,1671],[3227,1691],[3228,1672],[3229,1692],[3212,1686],[3230,1693],[3231,233],[3232,1689],[3233,1694],[3234,1672],[3235,1695],[3274,1696],[3214,1692],[3215,1692],[3216,1697],[3275,1639],[2782,1698],[3276,1639],[3277,1699],[3278,1639],[2829,1700],[3279,1673],[3280,1701],[3281,1702],[3282,1673],[3284,1703],[3285,1702],[3286,9],[3287,1704],[3288,1704],[3289,1702],[3290,1702],[3291,1702],[3292,1702],[3293,1702],[3294,1663],[3295,9],[3296,1704],[3297,9],[3283,1705],[3298,1706],[3299,1706],[2770,1689],[2786,1673],[2758,9],[2787,1707],[2788,1708],[2789,1708],[2790,1709],[2791,1707],[2792,1707],[2793,1707],[2794,1707],[2810,1710],[2795,1708],[2796,1711],[2797,1711],[2798,1708],[2799,1707],[2800,1708],[2801,1711],[2802,1711],[2803,1711],[2804,1707],[2805,1707],[2806,1708],[2807,1711],[2811,1712],[2808,1707],[2809,1707],[2759,1713],[3300,1640],[3301,1640],[3187,1714],[2779,1715],[3302,1716],[2773,1717],[3303,1673],[3304,1718],[3208,1719],[3305,1720],[3306,1718],[3307,1721],[3308,1718],[3309,9],[2772,1640],[2812,1672],[3310,1722],[2781,1723],[2771,1724],[3311,1725],[3237,1726],[3312,1727],[3313,1728],[3236,1671],[3238,1729],[3239,1730],[3240,1731],[3241,1732],[3242,1733],[3314,1734],[3315,1735],[3434,1736],[3316,1737],[3317,1738],[3244,1668],[2765,1671],[2813,1739],[3318,1740],[2819,1741],[2824,1742],[2814,1743],[2817,1744],[2818,1745],[3319,1746],[2823,1747],[3320,1748],[2820,1749],[2822,1750],[2816,1751],[2815,1671],[3321,1752],[2821,1753],[3322,9],[3323,1754],[3218,9],[3219,1755],[3324,1673],[3196,1756],[3369,1757],[3197,1758],[3370,1673],[3371,1759],[3372,1673],[3373,1760],[3374,1761],[3375,9],[3376,1671],[3377,1664],[3378,1673],[3380,1762],[3381,9],[3382,9],[3383,9],[3384,9],[3385,9],[3386,1640],[3387,1763],[3388,1764],[3389,9],[3390,1765],[3391,1639],[3392,1766],[3393,9],[3394,1767],[3395,1639],[3396,1673],[3397,1760],[3398,1768],[3399,9],[3400,9],[3401,9],[3402,1760],[3403,1673],[2828,1769],[3404,9],[3405,9],[3406,233],[3407,1770],[3408,1673],[3409,1673],[3410,1673],[3411,1771],[3188,1772],[3412,1766],[3413,1773],[3414,1774],[3415,1663],[3416,9],[3417,1671],[3418,1673],[3419,1668],[3420,1768],[3421,1688],[3422,1775],[3429,1776],[3423,1673],[3425,1777],[3424,1673],[3426,1673],[3428,1778],[3427,1673],[3430,1719],[3431,233],[2769,9],[2170,1779],[2167,111],[2169,1780],[2168,9],[2166,9],[3822,1781],[3821,9],[2825,1782],[2827,1783],[2407,772],[2409,1784],[980,1785],[978,1786],[979,1787],[967,1788],[968,1786],[975,1789],[966,1790],[971,1791],[981,9],[972,1792],[977,1793],[983,1794],[982,1795],[965,1796],[973,1797],[974,1798],[969,1799],[976,1785],[970,1800],[4117,1801],[4116,9],[3137,1802],[3149,683],[3138,683],[3136,683],[3122,1803],[3124,1804],[3150,1805],[3123,683],[3127,1806],[3129,1807],[3128,683],[3131,1808],[3130,1804],[3148,1809],[3139,683],[3140,683],[3132,1804],[3126,1810],[3125,683],[3147,1811],[3133,1804],[3135,1812],[3134,683],[1080,9],[957,1813],[956,1814],[1007,1815],[988,9],[1008,1816],[990,1817],[1015,1818],[1009,9],[1011,1819],[1012,1819],[1013,1820],[1010,9],[1014,1821],[993,1822],[991,9],[992,1823],[1006,1824],[989,9],[1004,1825],[995,1826],[996,1827],[997,1827],[998,1826],[1005,1828],[999,1827],[1000,1825],[1001,1826],[1002,1827],[1003,1826],[2757,1782],[370,1782],[2408,1829],[964,9],[1076,1830],[1077,1831],[1078,1832],[1073,1833],[1075,9],[1072,1834],[1074,1835],[1037,9],[482,9],[483,1836],[2415,9],[2434,9],[2416,1837],[2470,9],[2420,1838],[2419,9],[2486,9],[2453,1839],[2411,1840],[2477,9],[2433,9],[2478,1841],[2457,1842],[2454,1843],[2455,1844],[2458,1845],[2451,1846],[2460,1845],[2462,1847],[2463,1844],[2464,1844],[2452,1848],[2422,9],[2421,1837],[2471,9],[2468,1849],[2482,9],[2483,9],[2484,1850],[2485,9],[2481,9],[2472,1851],[2487,1852],[2431,9],[2443,9],[2444,1853],[2432,9],[2450,9],[2440,1854],[2412,9],[2442,9],[2446,1855],[2447,9],[2449,1856],[2424,1857],[2423,9],[2425,9],[2473,9],[2469,1858],[2426,9],[2456,9],[2427,9],[2428,9],[2465,9],[2430,1859],[2436,1860],[2466,1861],[2437,9],[2479,9],[2480,1862],[2429,9],[2410,9],[2474,9],[2445,1863],[2467,1864],[2438,1837],[2459,1865],[2461,1866],[2413,9],[2414,9],[2417,1867],[2475,1851],[2476,9],[2439,9],[2435,1868],[2448,1869],[2418,9],[2441,1870],[58,9],[59,9],[10,9],[11,9],[13,9],[12,9],[2,9],[14,9],[15,9],[16,9],[17,9],[18,9],[19,9],[20,9],[21,9],[3,9],[22,9],[23,9],[4,9],[24,9],[28,9],[25,9],[26,9],[27,9],[29,9],[30,9],[31,9],[5,9],[32,9],[33,9],[34,9],[35,9],[6,9],[39,9],[36,9],[37,9],[38,9],[40,9],[7,9],[41,9],[46,9],[47,9],[42,9],[43,9],[44,9],[45,9],[8,9],[51,9],[48,9],[49,9],[50,9],[52,9],[9,9],[53,9],[54,9],[55,9],[57,9],[56,9],[1,9],[96,1871],[106,1872],[95,1871],[116,1873],[87,1874],[86,1875],[115,111],[109,1876],[114,1877],[89,1878],[103,1879],[88,1880],[112,1881],[84,1882],[83,111],[113,1883],[85,1884],[90,1885],[91,9],[94,1885],[81,9],[117,1886],[107,1887],[98,1888],[99,1889],[101,1890],[97,1891],[100,1892],[110,111],[92,1893],[93,1894],[102,1895],[82,643],[105,1887],[104,1885],[108,9],[111,1896],[3368,1897],[3343,1898],[3356,1899],[3340,1900],[3357,643],[3366,1901],[3331,1902],[3332,1903],[3330,1875],[3365,111],[3360,1904],[3364,1905],[3334,1906],[3353,1907],[3333,1908],[3363,1909],[3328,1910],[3329,1904],[3335,1911],[3336,9],[3342,1912],[3339,1911],[3326,1913],[3367,1914],[3358,1915],[3346,1916],[3345,1911],[3347,1917],[3350,1918],[3344,1919],[3348,1920],[3361,111],[3337,1921],[3338,1922],[3351,1923],[3327,643],[3355,1924],[3354,1911],[3341,1922],[3349,1925],[3352,1926],[3359,9],[3325,9],[3362,1927],[1039,1928],[1025,1929],[1026,1928],[1024,9],[1019,1930],[962,1931],[961,1932],[959,1932],[958,9],[960,1933],[1017,9],[1016,1934],[987,1935],[1018,1936],[1038,1937],[1031,1938],[1040,1939],[954,1940],[1046,1941],[1048,1942],[1042,1943],[1049,1944],[1047,1945],[1032,1946],[1043,1947],[1055,1948],[4130,1949],[953,1950],[1104,1951],[1096,1952],[1103,1953],[1098,9],[1099,9],[1097,1954],[1100,1955],[1091,9],[1092,9],[1093,1951],[1095,1956],[1101,9],[1102,1957],[1094,1958],[4074,1959],[4075,1960],[1106,1961],[1109,1962],[2296,1963],[3444,1964],[3443,1965],[2294,9],[4076,1966],[4071,1967],[3450,1968],[3449,1969],[2293,9],[2292,9],[3445,9],[1107,1970],[1108,1970],[1105,1970],[3442,1970],[3517,1971],[3518,1972],[2291,1973],[4069,1974],[2295,1975],[4070,1976],[3453,1977],[3454,1978],[4065,233],[4066,1979],[3446,1980],[3448,1981],[3447,1982],[3515,1983],[3514,1984],[4068,1985],[4067,1986],[3491,9],[3492,1987],[3512,1988],[3505,1989],[3504,1990],[3503,9],[3507,9],[3511,1991],[3508,1992],[3510,1992],[3509,1992],[3501,1991],[3513,1993],[3506,1991],[3502,1994],[3500,1995],[3459,1996],[3458,1996],[3460,9],[3483,1997],[3482,1998],[3473,1999],[3457,2000],[3489,2001],[3486,2002],[3485,2003],[3484,9],[3487,2004],[3488,2005],[3479,2006],[3478,2007],[3480,2008],[3481,2009],[3490,2010],[3475,2011],[3474,2012],[3476,2013],[3477,2014],[3461,9],[1112,9],[3456,2015],[3455,9],[3497,2016],[1088,2017],[1087,9],[3496,9],[3493,9],[3494,2018],[3499,2019],[3495,2020],[3498,2021],[3440,2022],[1113,2023],[3441,2024],[1122,2025],[1184,2026],[2290,2027],[1111,9],[1114,2028],[1116,2029],[1117,2030],[1115,2031],[2289,54],[1182,2032],[1183,2033],[1170,2034],[2286,9],[1119,9],[2288,2035],[2287,2036],[1121,9],[1110,9],[1120,2037],[1118,2038],[3437,2039],[3439,2040],[3435,9],[3438,2041],[3436,9],[3462,9],[3465,233],[3464,233],[3463,233],[3466,9],[3467,9],[3472,2042],[3468,9],[3471,2043],[3469,2044],[3470,9],[1086,2045],[1090,2046],[1085,2045],[1084,9],[1089,2047],[1058,2048],[1060,2049],[1061,2050],[1059,2051],[1056,1621],[1057,9],[3452,2052],[1079,2053],[4072,9],[4073,2054],[4104,2055],[4106,2056],[4105,2057]],"affectedFilesPendingEmit":[[1062,49],[1063,49],[3516,49],[4108,49],[4109,49],[4129,49],[4107,49],[4079,49],[4078,49],[4080,49],[4081,49],[4077,49]],"version":"5.9.3"} \ No newline at end of file diff --git a/apps/web-next/turbo.json b/apps/web-next/turbo.json new file mode 100644 index 0000000..5917af9 --- /dev/null +++ b/apps/web-next/turbo.json @@ -0,0 +1,4 @@ +{ + "extends": ["//"], + "tags": ["app"] +} diff --git a/apps/web-next/vitest.config.ts b/apps/web-next/vitest.config.ts new file mode 100644 index 0000000..de03b29 --- /dev/null +++ b/apps/web-next/vitest.config.ts @@ -0,0 +1,26 @@ +import path from "node:path"; +import { mergeConfig } from "vitest/config"; +import { jsdomVitestConfig } from "@repo/core-typescript/vitest.base.jsdom"; + +// Coverage excludes mirror the feature-package pattern (see +// packages/auth/vitest.config.ts): framework glue is excluded, thresholds +// stay inherited from the shared base — never lowered here. +export default mergeConfig(jsdomVitestConfig, { + esbuild: { jsx: "automatic" }, + test: { + coverage: { + exclude: [ + // Next.js App Router entry points — async server components and the + // tRPC route-handler mount, invoked by the framework and covered by + // Playwright e2e; not unit-testable in jsdom. providers.tsx and + // src/server/** stay counted (they have unit tests). + "src/app/**/layout.tsx", + "src/app/**/page.tsx", + "src/app/**/route.ts", + // Ambient type declarations — no executable code + "src/**/*.d.ts", + ], + }, + }, + resolve: { alias: { "@": path.resolve(__dirname, "./src") } }, +}); diff --git a/compliance/data-map.yml b/compliance/data-map.yml new file mode 100644 index 0000000..e197c30 --- /dev/null +++ b/compliance/data-map.yml @@ -0,0 +1,23 @@ +# compliance/data-map.yml — PII field inventory +# Generated by scripts/compliance/emit-data-map.mjs — do not edit manually. +# Run `pnpm compliance:data-map` to regenerate. +collections: + users: + auth: true + piiFields: + - category: identification-username + exportable: true + field: displayName + purpose: + - service-delivery + restrictable: true + source: field-tag + - category: contact-email + exportable: true + field: email + purpose: + - account-authentication + - transactional-notifications + restrictable: true + source: auth-default + slug: users diff --git a/compliance/retention-policy.yml b/compliance/retention-policy.yml new file mode 100644 index 0000000..907e509 --- /dev/null +++ b/compliance/retention-policy.yml @@ -0,0 +1,11 @@ +# compliance/retention-policy.yml — Collection retention schedules +# Generated by scripts/compliance/emit-retention-policy.mjs — do not edit manually. +# Run `pnpm compliance:retention-policy` to regenerate. +collections: + users: + postDeletion: + action: hard-delete + duration: P30D + trigger: after-deletion + purgeSchedule: daily + slug: users diff --git a/compliance/sub-processors.yml b/compliance/sub-processors.yml new file mode 100644 index 0000000..ffb4c83 --- /dev/null +++ b/compliance/sub-processors.yml @@ -0,0 +1,5 @@ +# compliance/sub-processors.yml — Third-party sub-processor inventory +# Generated by scripts/compliance/emit-sub-processors.mjs — do not edit manually. +# Run `pnpm compliance:sub-processors` to regenerate. +sub-processors: + [] diff --git a/coverage/summary.json b/coverage/summary.json new file mode 100644 index 0000000..7632c8c --- /dev/null +++ b/coverage/summary.json @@ -0,0 +1,174 @@ +{ + "generatedAt": "2026-05-20T10:32:38.076Z", + "commit": "dc718fd", + "repo": { + "statements": 97.43, + "branches": 92.56, + "functions": 97.28, + "lines": 97.43, + "counts": { + "lf": 6079, + "lh": 5923, + "brf": 1223, + "brh": 1132, + "fnf": 368, + "fnh": 358 + } + }, + "byPackage": { + "@repo/auth": { + "statements": 93.83, + "branches": 92.5, + "functions": 100, + "lines": 93.83, + "counts": { + "lf": 875, + "lh": 821, + "brf": 120, + "brh": 111, + "fnf": 46, + "fnh": 46 + } + }, + "@repo/blog": { + "statements": 96.35, + "branches": 88.65, + "functions": 100, + "lines": 96.35, + "counts": { + "lf": 739, + "lh": 712, + "brf": 141, + "brh": 125, + "fnf": 29, + "fnh": 29 + } + }, + "@repo/core-analytics": { + "statements": 100, + "branches": 100, + "functions": 100, + "lines": 100, + "counts": { + "lf": 52, + "lh": 52, + "brf": 12, + "brh": 12, + "fnf": 10, + "fnh": 10 + } + }, + "@repo/core-api": { + "statements": 100, + "branches": 100, + "functions": 100, + "lines": 100, + "counts": { + "lf": 17, + "lh": 17, + "brf": 0, + "brh": 0, + "fnf": 0, + "fnh": 0 + } + }, + "@repo/core-consent": { + "statements": 99.72, + "branches": 94.85, + "functions": 97.06, + "lines": 99.72, + "counts": { + "lf": 351, + "lh": 350, + "brf": 97, + "brh": 92, + "fnf": 34, + "fnh": 33 + } + }, + "@repo/core-dsr": { + "statements": 100, + "branches": 92.48, + "functions": 97.44, + "lines": 100, + "counts": { + "lf": 697, + "lh": 697, + "brf": 133, + "brh": 123, + "fnf": 39, + "fnh": 38 + } + }, + "@repo/core-shared": { + "statements": 98.39, + "branches": 96.47, + "functions": 93.5, + "lines": 98.39, + "counts": { + "lf": 1304, + "lh": 1283, + "brf": 368, + "brh": 355, + "fnf": 123, + "fnh": 115 + } + }, + "@repo/core-ui": { + "statements": 100, + "branches": 91.35, + "functions": 100, + "lines": 100, + "counts": { + "lf": 412, + "lh": 412, + "brf": 104, + "brh": 95, + "fnf": 18, + "fnh": 18 + } + }, + "@repo/marketing-pages": { + "statements": 95.93, + "branches": 83.93, + "functions": 100, + "lines": 95.93, + "counts": { + "lf": 762, + "lh": 731, + "brf": 112, + "brh": 94, + "fnf": 32, + "fnh": 32 + } + }, + "@repo/media": { + "statements": 97.15, + "branches": 90.63, + "functions": 100, + "lines": 97.15, + "counts": { + "lf": 561, + "lh": 545, + "brf": 96, + "brh": 87, + "fnf": 24, + "fnh": 24 + } + }, + "@repo/navigation": { + "statements": 98.06, + "branches": 95, + "functions": 100, + "lines": 98.06, + "counts": { + "lf": 309, + "lh": 303, + "brf": 40, + "brh": 38, + "fnf": 13, + "fnh": 13 + } + } + } +} diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..977f619 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,20 @@ +services: + postgres: + image: postgres:16-alpine + restart: unless-stopped + ports: + - "5433:5432" + environment: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + POSTGRES_DB: template + volumes: + - postgres_data:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U postgres"] + interval: 5s + timeout: 5s + retries: 5 + +volumes: + postgres_data: diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..433feff --- /dev/null +++ b/docs/README.md @@ -0,0 +1,87 @@ +# docs/ + +Documentation hub for the `template-vertical` monorepo. **Start here if you landed at `docs/` directly.** + +For the project entry point, see [`../CLAUDE.md`](../CLAUDE.md) (humans + agents) and [`../AGENTS.md`](../AGENTS.md) (package map + boundary rules). + +--- + +## Resolving terminology + +[`glossary.md`](./glossary.md) — **canonical vocabulary** for every cross-cutting term used in this repo (feature, use case, manifest, conformance, slice, coverage band, dispatch, etc.). When in doubt about what a term means _here_, check the glossary first. + +--- + +## How the documentation is organised + +``` +docs/ +├── glossary.md # canonical vocabulary +├── architecture/ # design + invariants (rarely changes) +│ ├── overview.md # high-level architecture summary +│ ├── vertical-feature-spec.md # canonical feature design spec +│ ├── dependency-flow.md # workspace + import-graph reference +│ ├── template-tiers.md # must-have vs optional core packages +│ ├── agent-first-workflow-and-conformance.md # workflow + 5-gate design +│ ├── data-flow-explainer.html # interactive (single-file) +│ ├── di-explainer.html # interactive (single-file) +│ ├── feature-conformance-explainer.html # interactive (single-file) +│ └── audit-and-compliance-explainer.html # interactive (single-file) +├── decisions/ # ADRs (durable design decisions) +│ └── adr-001..adr-020.md # 20 ADRs, numbered in order accepted +├── guides/ # day-to-day how-to docs +│ ├── runbook.md # ← first time? read this end-to-end +│ ├── conformance-quickref.md +│ ├── coverage.md # 4-layer coverage cookbook (ADR-020) +│ ├── releasing.md # release-please workflow + CHANGELOG cookbook (ADR-021) +│ ├── tdd-workflow.md +│ ├── testing-strategy.md +│ ├── adding-a-feature.md # manual path +│ ├── scaffolding-a-feature.md # generator path (preferred) +│ ├── scaffolding-core-package.md +│ ├── scaffolding-core-ui-component.md +│ ├── events-and-jobs.md # requires `gen core-package events` +│ ├── realtime.md # requires `gen core-package realtime` +│ ├── audit-and-compliance.md # requires `gen core-package audit` +│ ├── frontend-work-shape.md +│ └── infrastructure-work-shape.md +└── work/ # local task system (PRD → Epic → Story → Task) + ├── README.md # work-folder layout + PRD lifecycle + ├── _state.json # derived index (orchestrator-managed) + ├── prds/-.prd.md # PRDs + └── /... # one folder per epic +``` + +## Document types + +| Type | Where | Purpose | Lifetime | +| ----------------------- | ------------------------ | ------------------------------------------------ | ---------------------------------------- | +| **Glossary** | `glossary.md` | One sentence per term; flagged ambiguities | Long-lived | +| **Architecture** | `architecture/` | Design invariants, system shape | Long-lived | +| **ADR** | `decisions/adr-NNN-*.md` | Single decision: context → choice → consequences | Long-lived | +| **Guide** | `guides/` | How-to, reference, troubleshooting | Updated as features evolve | +| **PRD** | `work/prds/*.prd.md` | Implementation seed for one epic | `draft → in-review → approved → shipped` | +| **Epic / Story / Task** | `work//...` | Workflow artifacts | Created → in-progress → done | + +## When to put what where + +- **A new architectural decision** (events, audit, instrumentation choices, etc.) → ADR. Number is `001 + max(existing)`. +- **A new how-to** (cookbook, troubleshooting, "how do I do X") → guide. +- **A new vocabulary term** that's cross-cutting → glossary, alphabetically grouped. +- **A new initiative** (multi-task feature work) → PRD seed. The decomposer refuses to run on `draft` — flip to `approved` after human review. `pnpm work prd-ship ` auto-flips to `shipped` on epic completion. +- **A new interactive diagram** → drop a single-file HTML at `architecture/-explainer.html`; cross-link from the other explainers + from `architecture/overview.md`'s Interactive explainers section. + +## See also + +- [`../CLAUDE.md`](../CLAUDE.md) — entry point for agents +- [`../AGENTS.md`](../AGENTS.md) — package map + boundary rules + agent-driven development overview +- [`../README.md`](../README.md) — project-level README + +## Conventions + +- **Markdown over HTML** unless the doc is genuinely interactive (the 4 architecture HTMLs). +- **Reference ADRs by ID** (`ADR-NNN`) rather than path so renames don't break links. +- **Cross-reference paths sparingly** — they rot. Prefer naming the doc (e.g. "see the coverage guide"). +- **Don't duplicate** — if two docs describe the same thing, consolidate or pick a single source of truth and link from the other. +- **Date PRDs + ADRs** in the file name (`YYYY-MM-DD` prefix for PRDs) and in their frontmatter. +- **Each ADR cites at least one related ADR** when extending or building on prior decisions. diff --git a/docs/architecture/agent-first-workflow-and-conformance.md b/docs/architecture/agent-first-workflow-and-conformance.md new file mode 100644 index 0000000..22e15bb --- /dev/null +++ b/docs/architecture/agent-first-workflow-and-conformance.md @@ -0,0 +1,681 @@ +--- +title: Agent-first development workflow + feature conformance +status: design +created: 2026-05-12 +authors: [danijel, claude] +related: + - docs/architecture/feature-conformance-explainer.html + - docs/architecture/vertical-feature-spec.md + - docs/guides/tdd-workflow.md + - docs/guides/scaffolding-a-feature.md + - CLAUDE.md +--- + +# Agent-first development workflow + feature conformance + +## Why this document exists + +`template-vertical` is being shaped around the assumption that **AI coding agents will author most feature work**. Humans set direction, write PRDs (with agent help), review diffs, and intervene when escalation is needed; agents do the bulk of the coding. This document defines: + +1. The **feature-conformance enforcement system** that gives agents tight, layered, machine-readable feedback on architectural drift. +2. The **agent-first workflow** — manifest → contracts → tests → code — that the conformance system enforces. +3. The **local task system** at `docs/work/` that holds PRDs, epics, stories, and tasks as markdown, parseable by both humans and agents. +4. The **sandcastle orchestrator** that dispatches implementer and reviewer agents per task, respecting a dependency DAG. + +These four pillars are co-designed. The conformance system is the enforcement substrate; the workflow is the shape of work; the task system is the address space; sandcastle is the dispatch loop. + +The conformance design is illustrated separately at [`docs/architecture/feature-conformance-explainer.html`](./feature-conformance-explainer.html). This document complements that with the surrounding workflow + tooling. + +## Mental model + +| Pillar | What it is | Primary artifact | +| --------------------------- | -------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| **Conformance engine** | manifest + TS brands + ESLint + boot-time assertion + CI gate | `feature.manifest.ts` per feature; `_state.json` snapshot of compliance | +| **Agent workflow** | PRD → Epic → Story → Task; manifest-first ordering; TDD-per-slice | `docs/work/**/*.md` | +| **Local task system** | filesystem markdown, single state file, dispatchable | `docs/work/` | +| **Sandcastle orchestrator** | implementer + reviewer agents per task, DAG-respecting, retry-capped | `.sandcastle/` config + `scripts/work-*.ts` | + +The same artifacts are read by humans, AI implementers, AI reviewers, the orchestrator, and the pre-commit hooks. There is no separate "process layer." + +## Hierarchy + +``` +PRD (initiative — one .prd.md) +└── Epic (large body of work — one folder + _epic.md) + └── Story (one use case OR one technical capability) + └── Task (one vertical slice = one PR = one commit) + └── Subtask (rare; only for unexpectedly complex slices) +``` + +**Feature is metadata, not a hierarchy level.** The use-case identifier (`auth.signUp`) already encodes the feature. ClickUp/Linear/etc. tags can carry it; in this system it sits in frontmatter. + +**Story type is metadata** — `user-story` or `technical-story` — same hierarchy slot, different body template: + +- **User story:** `As a , I want , so that ` +- **Technical story:** `Goal / Why / Done when` + +## File system + +``` +docs/work/ +├── README.md # how this folder is used +├── _state.json # derived, committed, orchestrator-managed +├── _templates/ +│ ├── prd.template.md +│ ├── epic.template.md +│ ├── user-story.template.md +│ ├── technical-story.template.md +│ └── task.template.md +├── prds/ +│ ├── 2026-05-12-conformance-system.prd.md +│ └── ... +├── conformance-system-v1/ # one folder per epic +│ ├── _epic.md +│ ├── 01-define-feature-helper/ # one folder per story +│ │ ├── _story.md +│ │ ├── 01-define-feature-helper-exists.task.md +│ │ ├── 02-instrumented-brand-attached.task.md +│ │ └── ... +│ └── ... +└── work-system-v1/ + └── ... + +.sandcastle/ +├── Dockerfile # extends existing CI image +├── implementer.prompt.md +├── reviewer.prompt.md +├── decomposer.prompt.md +├── prd-eliciter.prompt.md +└── .env.example + +scripts/ +├── work-prd-new.ts # invokes PRD elicitation skill +├── work-decompose.ts # PRD → epic + stories +├── work-decompose-tasks.ts # story → tasks +├── work-dispatch.ts # orchestrator loop +├── work-status.ts # human-readable status tree +└── work-rebuild-state.ts # regen _state.json from markdown +``` + +### Naming conventions + +- **Underscored system files** (`_epic.md`, `_story.md`, `_state.json`, `_templates/`) — orchestrator-managed indexes or templates +- **Numeric prefix on filenames** (`01-`, `02-`) — execution order; doubles as sort key +- **`.task.md`** — individual tasks +- **`-.prd.md`** — PRDs date-prefixed for chronological sort + +## File formats + +### PRD — `docs/work/prds/-.prd.md` + +```markdown +--- +id: 2026-05-12-conformance-system +title: Feature Conformance System +type: prd +status: draft | in-review | approved | superseded +author: danijel +elicitation-session: +created: 2026-05-12 +--- + +## Problem + +What's broken or missing today? Who hurts because of it? + +## Goal + +What state are we trying to reach? + +## In scope + +- ... + +## Out of scope + +- ... + +## Constraints + +- ... + +## Success criteria + +- ... + +## Requirements + +- R1: ... +- R2: ... + +## Open questions + +- Q1: ... +``` + +**Authoring flow:** + +1. Human runs `pnpm work prd-new ""` +2. Agent invokes the **PRD elicitation skill** — runs a question-driven interview with the human (similar in shape to `superpowers:brainstorming`) until it has enough context across Problem / Goal / Scope / Constraints / Success / Requirements +3. Agent drafts PRD with `status: draft` +4. Human reviews, edits, flips to `status: approved` +5. **Decomposer refuses to run on `draft` PRDs.** + +### Epic — `/_epic.md` + +```markdown +--- +id: conformance-system-v1 +prd: 2026-05-12-conformance-system +title: Conformance system v1 +type: epic +status: todo | in-progress | done | cancelled +features: [cross-cutting] +created: 2026-05-12 +target: 2026-Q3 +--- + +## Goal + +Build the feature-conformance enforcement system so AI agents get +layered, sub-second feedback on drift between manifest and code. + +## Why + +(brief — link to PRD for detail) + +## In scope + +- ... + +## Out of scope + +- ... + +## Stories + +- [ ] [01 — defineFeature helper + Instrumented brand](01-define-feature-helper/_story.md) +- [ ] [02 — Boot assertions](02-boot-assertions/_story.md) +- ... +``` + +### Story (technical) — `//_story.md` + +```markdown +--- +id: 01-define-feature-helper +epic: conformance-system-v1 +title: defineFeature helper + Instrumented brand +type: technical-story +status: todo | in-progress | done +feature: core-shared +depends-on: [] +blocks: [02-boot-assertions, 05-generator-updates] +--- + +## Goal + +Manifest helper + brand types enable type-level enforcement that every +use-case binding is wrapped with `withSpan` + `withCapture` +(and `withAudit` when mutating). + +## Why + +Compile-time feedback is the cheapest layer and the foundation every other +milestone reads. + +## Done when + +Compile-time TS2322 fires at the IDE when an unwrapped factory is bound +through `ProductionUseCase<...>`. + +## In scope + +- `defineFeature` helper signature + tests +- Brand types: `Instrumented`, `Captured`, `Audited` +- Wiring brands into existing wrappers (no API changes) +- `auth` as the reference feature using the new pattern + +## Out of scope + +- Migration of other features (each is its own story) +- Boot-time `assertConformance` (story 02) +- ESLint rules consuming the brands (story 03) + +## Tasks + +- [ ] [01 — defineFeature helper exists](01-define-feature-helper-exists.task.md) +- [ ] [02 — Instrumented brand attached via withSpan](02-instrumented-brand-attached.task.md) +- ... +``` + +### Story (user) — same skeleton, body uses As a / I want / So that + +```markdown +--- +id: 01-sign-up +epic: auth-v1 +title: Sign up with email and password +type: user-story +status: todo +feature: auth +depends-on: [] +--- + +## As a / I want / So that + +**As a** visitor +**I want** to create an account with email and password +**So that** I can access member-only content + +## In scope + +- Email/password sign-up flow +- Password hashing +- Audit + event emission on success +- tRPC procedure exposure + +## Out of scope + +- OAuth sign-up (separate story) +- Email verification (separate story) + +## Tasks + +- [ ] [01 — reject invalid email format + scaffold](01-reject-invalid-email-format.task.md) +- [ ] [02 — reject duplicate email](02-reject-duplicate-email.task.md) +- ... +``` + +### Task — `//.task.md` + +```markdown +--- +id: 02-instrumented-brand-attached +story: 01-define-feature-helper +epic: conformance-system-v1 +title: Attach Instrumented brand via withSpan +type: task +status: todo | ready | in-progress | done | escalated +depends-on: [01-define-feature-helper-exists] +blocks: [06-signin-rebound-via-branded-slot] +sandbox: default +max-attempts: 3 # default; override per task +attempts: { implementer: 0, reviewer: 0 } +--- + +## Goal + +Attach the `Instrumented` brand to functions returned by `withSpan`. + +## Why this matters + +The brand is the type-level seam the binding signature checks. Without it, +the compiler can't tell a wrapped factory from an unwrapped one. + +## Acceptance criteria + +- [ ] `Instrumented` = `F & { readonly __instrumented: true }` +- [ ] `withSpan` return type is `Instrumented` +- [ ] Brand re-exported from `@repo/core-shared/conformance` +- [ ] Test asserts wrapped function carries brand at the type level +- [ ] All existing tests still pass + +## Out of scope + +- Updating `with-capture` and `with-audit` (separate tasks) +- Refactoring `withSpan`'s existing signature beyond adding the brand +- Adding runtime brand markers (type-only) +- Renaming existing types or symbols + +## Files likely touched + +- `packages/core-shared/src/instrumentation/with-span.ts` +- `packages/core-shared/src/instrumentation/with-span.test.ts` +- `packages/core-shared/src/conformance/index.ts` + +## Reviewer notes + +Reject if brand is implemented with runtime tag rather than pure type. +``` + +## State file — `docs/work/_system/_state.json` + +A derived, committed, orchestrator-written index. Markdown is source of truth; `_state.json` is a fast-to-query mirror. + +```json +{ + "updated_at": "2026-05-12T16:42:00Z", + "ready": ["02-instrumented-brand-attached"], + "in_progress": [], + "blocked": [], + "escalated": [], + "epics": { + "conformance-system-v1": { + "status": "in-progress", + "ac_total": 47, + "ac_completed": 8, + "stories": { + "01-define-feature-helper": { + "status": "in-progress", + "ac_total": 9, + "ac_completed": 4, + "tasks": { + "01-define-feature-helper-exists": { + "status": "done", + "depends_on": [], + "blocks": ["02-instrumented-brand-attached"], + "ac_total": 4, + "ac_completed": 4, + "attempts": { "implementer": 1, "reviewer": 1 }, + "branch": "task/01-define-feature-helper-exists", + "completed_at": "2026-05-12T14:23:00Z" + } + } + } + } + } + } +} +``` + +### Rules for `_state.json` + +1. **Committed to git.** Audit trail visible in PRs. +2. **Single writer:** orchestrator + pre-commit hook only. No agent writes it directly. +3. **Derived from markdown.** Regenerable any time via `pnpm work rebuild-state`. +4. **Canonical formatting.** Sorted keys, stable indentation, no trailing whitespace. Pre-commit normalizes via Prettier. +5. **Merges serialized.** Orchestrator merges PRs one at a time. Parallel implementation in sandboxes is fine; only merge step is sequential. +6. **Pre-commit regen.** When any `.task.md` / `.story.md` / `_epic.md` is staged, the hook regenerates `_state.json` from the markdown, re-stages it, and lets the commit proceed. The hook only blocks the commit if regeneration itself fails (e.g. malformed frontmatter, broken `depends-on` reference). This makes the markdown the unambiguous source of truth: if humans edit checkboxes directly, the JSON quietly catches up. + +## Scope guards + +| Level | In scope | Out of scope | +| ----- | -------------------- | --------------------------- | +| PRD | **required** | **required** | +| Story | **required** | **required** | +| Task | implicit (= AC list) | **optional but encouraged** | + +The reviewer agent **explicitly checks the task's `Out of scope` section against the diff**. Rejects if the diff touches anything declared out of scope. This is the cheapest possible enforcement of "don't over-engineer" — pure text match, no AST needed. + +## Conformance system integration + +The five enforcement layers (detailed in [`feature-conformance-explainer.html`](./feature-conformance-explainer.html)): + +| Layer | Latency | Catches | +| ------------------------------------ | ------- | ------------------------------------------------------------------------------------------------- | +| TypeScript brands | 0s | forgotten `withSpan` / `withAudit`; manifest ↔ binding-slot type mismatch | +| AST-aware ESLint | <1s | manifest ↔ code drift; undeclared `bus.publish` / `auditLogger.log`; required cores not installed | +| Boot assertion (`assertConformance`) | ~3s | binding type-casts that hid unwrapped factories; manifests edited without rebinding | +| CI drift gate (`pnpm conformance`) | ~120s | orphan event consumers; scaffold drift from generator; required-cores ↔ workspace mismatch | +| Fallow audit (`pnpm fallow`) | ~30–60s | whole-codebase — dead exports, duplicate code, circular deps, complexity hotspots | + +### How conformance interacts with tasks + +When a task adds an audit emission (e.g. `audits: ["user.created"]`): + +1. Agent edits `feature.manifest.ts` +2. The binding's branded slot type _now_ demands `Audited` — TS2322 if the wrapper is missing +3. Agent adds `withAudit(...)` in `bind-production.ts` → TS goes quiet +4. Agent adds `auditLogger.log(...)` in the use-case factory → ESLint goes quiet +5. Pre-commit `pnpm conformance` confirms all five layers pass +6. PR submitted + +Each step gives sub-second feedback. The agent's iteration loop is dominated by think + write, not by waiting for feedback. + +## Workflow ordering (per task) + +For any new use case or new behavior: + +1. **Manifest** — declare the use case (or update audits/publishes/consumes if the task adds them). Pure declaration. +2. **Contracts** — `xInputSchema`, `xOutputSchema`, `IXUseCase` type alias in the use-case file. Factory body throws `"not implemented"` if not yet written. +3. **Tests (red)** — import contracts; write failing assertions that match the AC bullet. +4. **Implementation (green)** — fill factory body, repository, binding, until tests pass. + +For incremental work on an existing use case, step 1 is often a no-op (manifest already declared). For the first slice of a new use case, all four steps happen in one commit. + +## Work shapes + +The Epic / Story / Task hierarchy holds for everything; the **inner workflow shape varies** with the kind of work. Three shapes are recognised: + +| Shape | Default home | Manifest involvement | Test gates | +| ------------------ | ----------------------------------------------------------------------- | ------------------------------------------------------------- | ---------------------------------------------------------------- | +| **Backend** | feature packages | full (use cases, audits, publishes, consumes, jobs, realtime) | type-check + lint + conformance + unit/integration | +| **Frontend** | `@repo/core-ui` and `features//src/ui/` | partial — pages consume use cases via controllers | type-check + lint + component tests + Playwright screenshot (CI) | +| **Infrastructure** | core packages, `apps/*/server/`, `docker-compose.yml`, `.github/`, ADRs | declarative — `requiredCores`, bind context | type-check + lint + conformance + ADR review | + +The default shape is **backend** — what the rest of this doc describes. The two adapted shapes are summarised below; operational detail lives in their guides. + +### Frontend (see `docs/guides/frontend-work-shape.md`) + +- **Atomic design tiers** — atoms / molecules / organisms / templates / pages, generated via `pnpm turbo gen core-ui-component`. Tier-direction enforced by a new ESLint rule (`atomic-tier-import-direction`). +- **Storybook is the spec.** Each AC bullet on a UI task maps to a story variant or a Storybook `play` function. Story files become the shared visual contract between human, implementer, and reviewer. +- **Two test layers:** + - **Component tests** (Vitest + Testing Library, or `play` on stories) — pre-commit gate, <5s + - **Visual regression** via **Playwright screenshot tests** — CI gate, 30–120s, blocks PR merge on unapproved visual diffs +- **Adapted four-step ordering for a pure UI slice:** + 1. **Story file** (the visual spec — analogous to the manifest entry for backend work) + 2. **Contracts** — props interface, variant types + 3. **Tests (red)** — component test + a default story + 4. **Implementation (green)** — make the component render and pass tests +- **Reviewer agent** uses the existing Storybook MCP at `http://localhost:6006/mcp` to read existing components, list variants, and verify story coverage against the task's AC. Visual diff verdicts come from the Playwright screenshot CI step. +- **Story split for page-level features:** + ``` + Epic: auth-v1 + ├── Story (user): auth.signUp use case ← backend slices + ├── Story (technical): SignUpForm component(s) ← depends-on: signUp use case + └── Story (technical): /sign-up page composition + E2E ← depends-on: SignUpForm + ``` + Each `depends-on` edge enforces sequential dispatch by the orchestrator. + +### Infrastructure (see `docs/guides/infrastructure-work-shape.md`) + +- **ADRs precede infrastructure work** the same way PRDs precede feature work — decision first, code second. ADRs live at `docs/adr/NNN-.md`. +- **Two categories:** + - **New optional core package** — `pnpm turbo gen core-package `. Generator + conformance already accommodate (via `requiredCores` in manifests). No conformance extensions required. + - **New infrastructure layer** (Redis, CDN, alternative CMS, additional message bus, …) — ADR + integration PRD + multiple stories. +- **ADR authoring flow:** + 1. Human runs `pnpm work adr-new ""` + 2. **Dedicated ADR elicitation skill** interviews the human on Context / Drivers / Considered options / Trade-offs / Decision / Consequences (similar shape to the PRD elicitation skill but distinct template + heuristics) + 3. Agent drafts ADR at `docs/adr/NNN-.md` with `status: proposed` + 4. Human reviews, flips to `status: accepted` (or `rejected` / `superseded`) + 5. Accepted ADR(s) trigger integration PRD(s); the PRD flow proceeds normally +- **Conformance extensions for infra:** + - `core-package-shape-conforms-to-generator` — extends milestone iv's scaffold-drift check to core packages + - `required-cores-in-workspace` — manifest declarations must match `pnpm-workspace.yaml` (already in milestone iv) + +Two elicitation skills now sit at the funnel mouth — one for PRDs, one for ADRs. Same interview-style intake; different templates and decision frameworks. + +## Pre-commit gates + +When a commit lands in the sandbox or locally: + +1. **Type-check** — brand satisfaction, manifest typing +2. **Lint** — manifest ↔ code rules, in-file shape rules, pattern restrictions +3. **Conformance script** — `pnpm conformance` (boot-style assertion at static scope) +4. **Tests for changed feature** — `pnpm test --filter @repo/` passes +5. **`_state.json` ↔ markdown sync** — pre-commit regen verifies consistency + +Tests for _all_ features are NOT required to pass at pre-commit (that's CI's job). The gate enforces local soundness without blocking work in unaffected areas. + +## Agent roles + +### PRD eliciter agent + +- Skill: dedicated PRD elicitation (interview-style, similar shape to `superpowers:brainstorming`) +- Inputs: short brief from human (`pnpm work prd-new ""`) +- Behavior: asks questions one at a time, builds shared understanding across Problem / Goal / Scope / Constraints / Success / Requirements +- Output: `-.prd.md` with `status: draft` +- Hand-off: human reviews, flips to `status: approved` + +### ADR eliciter agent + +- Skill: dedicated ADR elicitation (interview-style; distinct from PRD elicitation) +- Inputs: short brief from human (`pnpm work adr-new ""`) +- Behavior: drives the conversation across Context / Drivers / Considered options / Trade-offs / Decision / Consequences. Pushes the human to articulate alternatives explicitly before settling on a decision. +- Output: `docs/adr/NNN-.md` with `status: proposed` +- Hand-off: human reviews, flips to `status: accepted` (or `rejected` / `superseded`) +- Accepted ADRs are the trigger for downstream integration PRDs + +### Decomposer agent + +- Skill: structured PRD-to-epic-and-stories decomposition +- Inputs: a PRD file with `status: approved` +- Behavior: produces `_epic.md` and one `_story.md` per requirement, with story-level AC bullets that hint at task decomposition +- **Default scope: stories only.** Task-level decomposition is a second pass: `pnpm work decompose-tasks ` +- Does NOT write `_state.json` directly (orchestrator does that on next dispatch tick) + +### Implementer agent + +- Sandcastle dispatch with `implementer.prompt.md` +- Inputs: a single task markdown file (full context) +- Behavior: writes code + tests to satisfy the AC; runs `pnpm test --filter` and `pnpm conformance` locally; commits; pushes the sandbox branch +- **Read-only on task markdown.** Returns structured output via sandcastle: + ```json + { + "status": "complete" | "blocked" | "needs-clarification", + "ac_satisfied": [0, 1, 2, 3], + "files_changed": ["packages/.../with-span.ts", "..."], + "commit_sha": "abc123", + "notes": "..." + } + ``` +- Does NOT edit `.task.md`, `.story.md`, `_epic.md`, or `_state.json`. The orchestrator translates the structured output into markdown checkbox flips and JSON state updates in a single post-merge commit. + +### Reviewer agent + +- Sandcastle dispatch with `reviewer.prompt.md` +- Inputs: task markdown + diff from implementer +- Behavior: verifies each AC bullet against the diff; checks `Out of scope` is respected; verifies tests cover AC bullets; runs `pnpm conformance` and `pnpm test --filter` +- Returns structured output: + ```json + { + "decision": "approve" | "reject", + "ac_verified": [0, 1, 2, 3], + "scope_violations": [], + "notes": "..." + } + ``` +- Does NOT edit anything in the repo. +- **For frontend tasks**, the reviewer additionally: + - Queries the Storybook MCP (`http://localhost:6006/mcp`) to verify story coverage and inspect rendered output + - Treats the Playwright screenshot CI step's verdict as a required input — unapproved visual diffs trigger `reject` + +### Orchestrator + +- Plain TypeScript script (`scripts/work-dispatch.ts`) +- Reads `_state.json` to find ready tasks (all deps `done`) +- For each ready task: + 1. Marks task `status: in-progress`, regenerates `_state.json`, commits the marker + 2. Dispatches sandcastle implementer + 3. On implementer return: dispatches sandcastle reviewer with task + diff + 4. On reviewer `approve`: serial-merges to `main`, in one commit flips task checkbox, increments parent story checkbox if all tasks done, increments parent epic checkbox if all stories done, regenerates `_state.json` + 5. On reviewer `reject`: appends reviewer notes to the task's "Reviewer notes" section, increments `attempts.implementer`, re-dispatches (subject to `max-attempts`) + 6. On `attempts.implementer >= max-attempts`: marks `status: escalated`, posts a summary, stops dispatching +- Continues until no ready tasks remain + +## Sandcastle config + +`.sandcastle/Dockerfile` **extends the existing CI image**. To be identified during the work-system-v1 epic. Must include: + +- Node + pnpm at repo's pinned versions +- `pnpm install --frozen-lockfile` baked in +- Access to `pnpm conformance`, `pnpm test`, `pnpm lint`, `pnpm typecheck` +- Git config for agent commits + +Prompt templates use sandcastle's `{{VAR}}` substitution + `` !`cmd` `` injection: + +- `implementer.prompt.md` uses `{{TASK_FILE_CONTENT}}` and `` !`git log -1 --oneline` `` for context +- `reviewer.prompt.md` uses `{{TASK_FILE_CONTENT}}` + `{{DIFF}}` +- `decomposer.prompt.md` uses `{{PRD_FILE_CONTENT}}` +- `prd-eliciter.prompt.md` uses `{{INITIAL_BRIEF}}` and runs the interview loop + +Branch strategy: per-task feature branch (`task/`), merged sequentially to `main` by the orchestrator. + +## Bootstrap order — conformance first + +### Tier 1 — Conformance system (human-driven) + +Build the conformance system manually. `docs/work/conformance-system-v1/` markdown files capture the work (practising the task format on real work) but no `_state.json`, no sandcastle dispatch, no orchestrator. + +Stories in order (each itself a vertical slice — system code + generator update + doc update + applied to one feature): + +1. **defineFeature helper + Instrumented brand** — applied to `auth.signIn` +2. **Captured + Audited brands** — wrappers updated +3. **`assertConformance` + boot wiring** — rolled to all three apps +4. **AST-aware ESLint rules** — 5–6 new type-aware rules +5. **CI drift gate** (`pnpm conformance`) +6. **Generator emits manifest + contracts + test stubs** +7. **Documentation rewrite** — agent-workflow.md, CLAUDE.md, AGENTS.md, tdd-workflow.md +8. **Migrate auth feature** to the new pattern (reference) + +### Tier 2 — Work system (human-driven, bootstraps automation) + +Once conformance is in place, build the dispatch substrate: + +1. `docs/work/` skeleton, README, templates +2. `_state.json` schema + `pnpm work rebuild-state` +3. Orchestrator script + DAG + retry-cap logic +4. `.sandcastle/` config (extends existing CI image) +5. PRD elicitation skill +6. ADR elicitation skill (separate skill, similar interview shape) +7. Decomposer agent + prompts +8. Implementer + reviewer prompts (with Storybook MCP wiring for frontend reviewer) +9. `pnpm work` CLI surface (including `work adr-new`) +10. Pre-commit hooks (state regen, conformance gate) +11. Playwright screenshot test infrastructure (CI gate for frontend tasks) + +### Tier 3 — Migration + future work (dispatch-driven) + +With both systems in place, remaining feature migrations and all future work flows through sandcastle: + +- Migrate `blog`, `media`, `navigation`, `marketing-pages` (one story each) +- All new features authored via PRD → decompose → dispatch loop + +## Deferred decisions + +These are explicitly deferred until the tier that needs them: + +1. **Existing `task-create` skill (ClickUp mirror)** — coexist or retire. Decide once the work system is in place. Frontmatter is open-ended so `clickup-id` can be added later if needed. +2. **Existing CI Docker image identity** — identify and document during the `.sandcastle/Dockerfile` story. +3. **Per-epic state files vs. one global** — start with one global `_state.json`. Move to per-epic only if serialized merges become a throughput bottleneck. +4. **Custom git merge driver for `_state.json`** — start without; serialized merges should suffice. Add if needed. + +## Open questions (to revisit during implementation) + +- **Q1: Single manifest registry per app, or per-feature?** (From the explainer §10.) Lean: per-feature, with a tiny app-side aggregator. +- **Q2: How much of the manifest is generated vs hand-written?** Lean: humans edit; ESLint flags mismatches without auto-fixing. +- **Q3: Inline symbol declaration in manifest, or registry mapping?** Lean: registry holds the mapping, manifest stays content-only. +- **Q4: What happens when an optional core is absent?** Lean: typed surface gates the field — `audits: readonly never[]` when `core-audit` is unbound. +- **Q5: Escape hatch for legitimate exceptions?** Lean: `// @conformance-skip: ` comment honoured by ESLint + boot assertion, with allowlist growth gated in CI. + +## Acceptance criteria (for this whole design) + +This design is "done" when: + +- [ ] `docs/work/` exists with templates, `_state.json` schema, README +- [ ] Conformance system v1 is implemented through all five enforcement layers +- [ ] All five feature packages have manifests +- [ ] All three apps run `assertConformance` at boot +- [ ] `pnpm conformance` is a CI gate +- [ ] `turbo gen feature` emits manifest + contracts + test stubs +- [ ] `.sandcastle/` config exists with implementer/reviewer/decomposer/eliciter prompts +- [ ] PRD elicitation skill exists and is invocable +- [ ] ADR elicitation skill exists and is invocable +- [ ] Orchestrator (`pnpm work dispatch`) runs end-to-end on a real task +- [ ] Frontend ESLint rules cover atomic-tier direction and story/test sibling presence +- [ ] Playwright screenshot tests run as a CI gate for frontend work +- [ ] Documentation reflects the manifest-first workflow (CLAUDE.md, AGENTS.md, `docs/guides/`) +- [ ] Frontend + infrastructure work-shape guides exist at `docs/guides/` + +## References + +- [Feature conformance explainer (interactive)](./feature-conformance-explainer.html) +- [Vertical feature spec](./vertical-feature-spec.md) +- [Template tiers](./template-tiers.md) +- [Frontend work shape guide](../guides/frontend-work-shape.md) +- [Infrastructure work shape guide](../guides/infrastructure-work-shape.md) +- [TDD workflow guide](../guides/tdd-workflow.md) +- [Scaffolding a feature guide](../guides/scaffolding-a-feature.md) +- [Adding a feature guide](../guides/adding-a-feature.md) +- [Sandcastle (orchestration library)](https://github.com/mattpocock/sandcastle) diff --git a/docs/architecture/audit-and-compliance-explainer.html b/docs/architecture/audit-and-compliance-explainer.html new file mode 100644 index 0000000..e8724a8 --- /dev/null +++ b/docs/architecture/audit-and-compliance-explainer.html @@ -0,0 +1,1553 @@ + + + + + +audit-and-compliance / template-vertical / explainer + + + + + + + +
+
+ template-vertical / audit-and-compliance / explainer + 2026-05-11 · ADR-018 +
+ +
+

Audit & compliance —
the parallel channel
to OTel.

+

A manuscript companion to ADR-018. Audit logging is a separate channel from observability — different durability, different redaction, different retention — bridged by a single correlationId field. This page walks through why two channels, how the entry is shaped, where it lands, and how GDPR erasure threads through the privileged path.

+
+ + +
+ +
+ + +
+
+
§ 01
+
+

Why two channels.

+

Audit and OTel both observe what the system did, but they answer different questions and serve different masters. Audit is the durable, compliance-bound record of who did what to whose data, with strict redaction rules and a privileged erasure path. OTel is best-effort observability for engineers — sampled, lossy, and pruned. The two channels share one bridge: the OTel traceId lives in the audit entry as correlationId, so a compliance auditor finding a suspicious VIEW can pivot to the full distributed trace, and an engineer debugging an incident can pivot to the audit record of who triggered it.

+
+
+ +
+
+
durable · retained · compliance-bound
+

Audit channel.

+

Every personal-data access produces one entry. The entry is append-only — no UPDATE path, no DELETE path except the privileged GDPR erasure. Retained for years (jurisdiction-dependent; 7 is common in EU). Sampled at 100%; nothing is dropped. The redaction contract is enforced by the type: there is no field on AuditEntry where you could put a value that would later be regretted.

+

Consumed by compliance auditors, DPOs, and security incident response. The audience never debugs application code — they answer "did user X access record Y, and when?".

+
+
+
best-effort · sampled · engineering
+

OTel channel.

+

Spans, log records, and metrics from every code path that matters to engineering. Head-sampled (typically 5–10% of traces); dropped under load; pruned at 30–90 days. PII-scrubbed at the OTel processor layer before exporters see anything (R31–R36, ADR-017 §7). Sentry is the exporter; the SDK is the substrate.

+

Consumed by engineers debugging incidents, SREs watching latency dashboards, and the on-call rotation. The audience never asks "did this person have permission" — they answer "why is the p99 spiking".

+
+
+ +
+
+ dimension + audit + OTel observability +
+
+ retention + Years (DPA-bound, often 7 years EU) + Days to months, pruned by index policy +
+
+ sampling + 100% — every event captured + Head-sampled (5–10% typical) +
+
+ mutability + Append-only; update: () => false + Read-only after ingest; pruned by retention +
+
+ erasure + Privileged GDPR path (overrideAccess) + Time-based eviction only +
+
+ PII posture + Closed schema; type forbids payloads/values + Scrubbed at processor layer; sendDefaultPii: false +
+
+ audience + Compliance, DPO, SecIR + Engineering, SRE, on-call +
+
+ bridge field + correlationId = OTel trace ID + Span traceId matches audit's correlationId +
+
+ failure mode + Stderr report; never block the request + Drop silently; observability is best-effort +
+
+ +

Why not one channel? The pressures pull in opposite directions. Observability wants to be cheap, samplable, and disposable — those are the levers engineers reach for under load. Compliance wants the exact opposite: lossless, immutable, retained beyond your tenure. Routing audit through OTel would force one side to compromise the other; the parallel channel lets each be uncompromised on its own axis, with the correlationId bridge giving you the only pivot you actually need.

+
+ + +
+
+
§ 02
+
+

The AuditEntry shape.

+

One type, six logical groups: WHO / WHAT / WHEN / WHERE (scope) / WHY / OUTCOME, with a FROM fragment per DPA. The shape is closed by design — no payload, no body, no oldValue, no newValue. The action enum is finite; new action types require an explicit type bump that compliance reviewers can sample. subject.id-equivalents are pseudonymized via salted sha256 on erasure. IPs are truncated to /24 (v4) or /48 (v6) at the call site. The correlationId arrives at sink time via decorator.

+
+
+ +
/**
+ * Closed enum of audited actions per DPA. New action types require an
+ * explicit type bump — compliance auditors sample by enum value.
+ */
+export type AuditAction =
+  | "VIEW"
+  | "CREATE"
+  | "UPDATE"
+  | "DELETE"
+  | "EXPORT"
+  | "PERMISSION_CHANGE"
+  | "CONSENT_GRANT"
+  | "CONSENT_WITHDRAW"
+  | "RESTRICT"
+  | "UNRESTRICT";
+
+/**
+ * `from_where` fragment per DPA. IP truncated to /24 (IPv4) or /48 (IPv6)
+ * before storage; use `truncateIp(rawIp)` to enforce. Non-HTTP contexts use
+ * sentinels: { ipTruncated: "system", userAgent: "background-job" }.
+ */
+export type AuditFrom = {
+  ipTruncated: string;
+  userAgent: string;
+};
+
+/**
+ * Universal audit entry. By construction, this type has NO `payload`/`body`/
+ * `oldValue`/`newValue` fields — the DPA "what NOT to log" exclusion list is
+ * enforced by the type itself.
+ */
+export type AuditEntry = {
+  // WHO ───────────────────────────────────────────────────────────
+  actorId: string;       // user id, or "system"/"service-{name}". NEVER email or name (R36)
+  actorType: "user" | "system" | "service";
+  actorRoles: string[];   // snapshot AT TIME OF ACTION — historical state preserved
+
+  // WHAT ──────────────────────────────────────────────────────────
+  action: AuditAction;
+  resource: { type: string; id?: string };
+  changedFields?: string[];  // UPDATE only: NAMES, never values
+
+  // WHEN ──────────────────────────────────────────────────────────
+  at: Date;             // server time; sinks serialize as ISO 8601
+
+  // SCOPE (where) ─────────────────────────────────────────────────
+  scope: {
+    feature: string;
+    environment: string;
+    tenant: string;       // REQUIRED. Single-tenant projects pass "default".
+  };
+
+  // WHY ───────────────────────────────────────────────────────────
+  reason?: string;
+  correlationId?: string;  // auto-populated by TraceIdEnrichingAuditLog at sink time
+  requestId?: string;
+
+  // FROM (per DPA) ────────────────────────────────────────────────
+  from: AuditFrom;
+
+  // PII CLASSIFICATION ────────────────────────────────────────────
+  containsPii: boolean;
+  piiCategories?: string[];
+
+  // OUTCOME ───────────────────────────────────────────────────────
+  outcome: "success" | "denied" | "error";
+  errorCode?: string;
+};
+ +

Read the absences. What's not here is the design. There's no requestBody, no oldArticle, no newPassword, no changedValues. UPDATE captures the names of fields that changed via changedFields, never their before-or-after values. The audit log is a record of events, not a secondary store of regulated content. If you want to know what an article's title used to be, that's what versioning is for — and versioning lives in the application layer, where its retention can be tuned independently of the compliance log.

+ +
import { truncateIp } from "@repo/core-shared/audit";
+
+// Truncation contract — hard failure on malformed input.
+truncateIp("192.168.1.42");                 // → "192.168.1.0"   (/24)
+truncateIp("2001:0db8:1234:5678:abcd::");    // → "2001:0db8:1234::" (/48)
+truncateIp("not-an-ip");                    // → throws — compliance regimes prefer hard failures
+
+ + +
+
+
§ 03
+
+

Two integration patterns.

+

Audit can land at the use-case layer (the developer decides per-read-path; full request context available) or at the Payload collection boundary (one install line per collection; every read captured automatically). Both are first-class; production deployments under DPA scope use both for the same collection. The use-case call captures the reason a request happened; the hook captures that the system saw the doc.

+
+
+ +
+
+
pattern A · authoritative actions
+

Use-case record() call.

+

Sign-in, role change, content publish, billing event — every authoritative action a use case represents calls ctx.auditLog?.record({...}) directly. The use case has the full request context (actor, roles, IP, UA) and knows the why (reason). Fully synchronous: the caller awaits the record and the entry lands before the response goes out.

+

Best when you control the call site and you need reason attached to the entry.

+
+
+
pattern B · data-access at the boundary
+

Payload afterRead / afterDelete hook.

+

createAuditAfterReadHook(...) on a collection's hooks.afterRead array captures every read of the collection — admin UI, programmatic REST, direct API — without per-use-case instrumentation. createAuditErasureHook(...) on hooks.afterDelete triggers the GDPR pseudonymization path automatically when a subject document is deleted.

+

Fire-and-forget: a failing sink emits to stderr but never blocks the read.

+
+
+ +
export function getArticleUseCase(
+  deps: { articlesRepo: IArticlesRepository; auditLog?: AuditLogProtocol },
+) {
+  return async (input: GetArticleInput): Promise<GetArticleOutput> => {
+    const article = await deps.articlesRepo.findById(input.id);
+    await deps.auditLog?.record({
+      actorId: input.userId,
+      actorType: "user",
+      actorRoles: input.userRoles,
+      action: "VIEW",
+      resource: { type: "articles", id: input.id },
+      at: new Date(),
+      scope: { feature: "blog", environment: process.env.NODE_ENV ?? "development", tenant: input.tenant ?? "default" },
+      from: { ipTruncated: input.ipTruncated, userAgent: input.userAgent },
+      containsPii: false,
+      outcome: "success",
+      reason: "article-page-render",    // only pattern A has reason
+    });
+    return getArticleOutputSchema.parse(article);
+  };
+}
+ +
import { createAuditAfterReadHook } from "@repo/core-audit/hooks";
+
+export const articlesCollection: CollectionConfig = {
+  slug: "articles",
+  hooks: {
+    afterRead: [
+      createAuditAfterReadHook({
+        auditLog: ctx.auditLog,
+        resourceType: "articles",
+        feature: "blog",
+        environment: process.env.NODE_ENV ?? "development",
+        resolveTenant: () => "default",
+        containsPii: false,
+      }),
+    ],
+  },
+  // ... fields ...
+};
+ +
+
+ read source + recommended pattern +
+
+ tRPC procedure (app-facing read) + pattern A — full request context, attach reason +
+
+ Payload admin UI + pattern B — no request context to thread +
+
+ Background job / cron + pattern A — actorId: "system", sentinel IP/UA +
+
+ Direct programmatic / CMS REST + pattern B — boundary captures it for you +
+
+ CLI / seed script + pattern A — actorId: "service-{name}" +
+
+ Collection under DPA scope + use BOTH — belt and suspenders +
+
+
+ + +
+
+
§ 04
+
+

Sinks & composition.

+

Four sink implementations and one decorator. NoopAuditLog is the slim-template default; real deployments wire StdoutJsonAuditLog and PayloadAuditLog behind a MultiSinkAuditLog fan-out. TraceIdEnrichingAuditLog wraps the chosen inner sink to populate correlationId automatically. Failures in any one sink emit to stderr — never through OTel, because routing audit-sink errors back through Sentry would create a recursion loop if Sentry itself were one of the failing sinks.

+
+
+ +
+
+
NoopAuditLog
+
default · slim template
+

No-op stub. Used when @repo/core-audit hasn't been scaffolded. The record() calls in use cases are guarded by ctx.auditLog?.record(...), so this is reachable; calling it just resolves to undefined.

+
+
+
PayloadAuditLog
+
local cache · append-only collection
+

Writes one row per entry to the audit-logs Payload collection. The collection enforces update: () => false and delete: () => false — the compliance backbone. Queryable from Payload admin; useful for the in-app compliance UI.

+
+
+
StdoutJsonAuditLog
+
ship via Vector / Fluent Bit → Loki / ES
+

One JSON line per entry to process.stdout, prefixed by "_type": "audit". A log shipper grep-filters by _type and forwards to Grafana Loki, Elastic, or Splunk. The aggregator becomes the authoritative archive (independent of Payload's DB).

+
+
+
MultiSinkAuditLog
+
fan-out · Promise.allSettled
+

Wraps [payload, stdout] (default) or any composition. Calls every inner sink in parallel with Promise.allSettled; one failing sink doesn't drop the entry from others. Rejections emit a _type: "audit-sink-error" line to stderr.

+
+
+
TraceIdEnrichingAuditLog
+
decorator · outermost · applied at bind time
+

Wraps the chosen inner sink. On every record(entry), if entry.correlationId is not already set, reads currentTraceId() from the active OTel span and assigns it. Caller-supplied correlationId always wins — explicit beats implicit. Single source of truth for the OTel-audit bridge; no feature code knows the trace API.

+
+
+ +
export function bindAudit(
+  container: Container,
+  opts: BindAuditOpts = {},
+): { auditLog: IAuditLog } {
+  // Fail fast: production without a salt refuses to start.
+  if (process.env.NODE_ENV === "production" && !process.env.AUDIT_PSEUDONYM_SALT) {
+    throw new Error("AUDIT_PSEUDONYM_SALT environment variable is required in production.");
+  }
+
+  const sinkList = opts.sinks ?? ["payload", "stdout"];
+  const sinks: IAuditLog[] = [];
+  if (sinkList.includes("payload") && opts.payloadConfig) {
+    sinks.push(new PayloadAuditLog(opts.payloadConfig, getPayload));
+  }
+  if (sinkList.includes("stdout")) {
+    sinks.push(new StdoutJsonAuditLog());
+  }
+
+  // 1. Pick fan-out vs single vs noop.
+  const inner: IAuditLog =
+    sinks.length > 1 ? new MultiSinkAuditLog(sinks)
+    : sinks.length === 1 ? sinks[0]!
+    : new NoopAuditLog();
+
+  // 2. Wrap once with the OTel-bridge decorator — every sink sees correlationId.
+  const auditLog: IAuditLog = new TraceIdEnrichingAuditLog(inner);
+
+  container.bind<IAuditLog>(AUDIT_SYMBOLS.IAuditLog).toConstantValue(auditLog);
+  return { auditLog };
+}
+ +

Why stderr for sink failures, not OTel? If one of the sinks is the OTel/Sentry exporter (or shares its infrastructure), routing the failure back through Sentry's captureException would create a recursion loop: Sentry fails, we report to Sentry, that report fails, we report again. Stderr breaks the loop and is consumed by the same log shipper as audit entries themselves, so the operator sees _type: "audit-sink-error" right next to _type: "audit" in the same aggregator.

+
+ + +
+
+
§ 05
+
+

The correlation bridge.

+

A request enters; an OTel span opens; the use case calls auditLog.record(...); TraceIdEnrichingAuditLog reads currentTraceId() from the active span context and stamps the entry's correlationId. The inner sink then writes durably. The same traceId now lives in two stores with different fates — the OTel trace will be sampled and pruned within weeks; the audit entry will live for years. The bridge is one field; the pivot is one click.

+
+
+ +
+
+
+
step 01 · transport
+ HTTP request enters +
tRPC procedure receives input; controller resolves through DI
+
+
+
+
step 02 · instrumentation
+ OTel span starts +
tracer.startSpan({ name: "blog.getArticle" }) · traceId = 0123abcd... · attaches to active context
+
+
+
+
step 03 · use case
+ getArticleUseCase(deps)(input) +
repository read returns the article; then the audit call fires
+
+
+
+
step 04 · audit
+ auditLog.record({ ..., correlationId: undefined }) +
caller does NOT supply correlationId — explicit beats implicit, but absence yields to the decorator
+
+
+
+
step 05 · the bridge
+ TraceIdEnrichingAuditLog.record(entry) +
reads currentTraceId() = 0123abcd... · spreads into entry · forwards to inner sink
+
+
+
+
step 06 · durability
+ MultiSinkAuditLog → [Payload row, stdout JSON line] +
both sinks see entry.correlationId = 0123abcd... · fan-out runs in parallel
+
+
+ +
+
+
OTel fate
+ traceId 0123abcd +
Span exported to Sentry via SentrySpanProcessor. Subject to head sampling (5–10% kept). Retained 30–90 days. PII-scrubbed at the processor layer. Engineering audience.
+
+
+
audit fate
+ correlationId 0123abcd +
Entry persisted in append-only Payload row + shipped to Loki/Elastic via stdout. 100% capture, no sampling. Retained 7 years. Erasable only via the privileged GDPR path. Compliance audience.
+
+
+
+ +
export class TraceIdEnrichingAuditLog implements IAuditLog {
+  constructor(readonly inner: IAuditLog) {}
+
+  async record(entry: AuditEntry): Promise<void> {
+    if (entry.correlationId) return this.inner.record(entry);     // explicit wins
+    const traceId = currentTraceId();
+    if (!traceId) return this.inner.record(entry);             // no active span; pass through
+    return this.inner.record({ ...entry, correlationId: traceId }); // stamp + forward
+  }
+}
+ +

The pivot. When the compliance team flags a suspicious VIEW on a regulated record, the audit entry's correlationId lands directly in Grafana Tempo / Jaeger / Sentry's trace search. The engineer sees the full request — every span, every log record, every captured exception — exactly as the user experienced it. Conversely, when an engineer debugging a 500 traces it back to a sign-in flow, the same traceId queries Loki for {job="audit"} | json | correlationId="0123abcd" and surfaces who, what, when, from where. One field, two channels, both worlds queryable.

+
+ + +
+
+
§ 06
+
+

GDPR erasure — the privileged path.

+

Article 17 ("right to erasure") requires that a data subject can request deletion of their personal data. The audit log is the one collection where deletion is not a normal API operation — append-only is the compliance backbone. The erasure path bypasses that backbone via overrideAccess: true on Payload. It is the only path that can; it lives behind an admin tRPC procedure and an optional Payload afterDelete hook. Two modes: pseudonymize (default — preserve the event, erase the identity) or delete (hard-remove every entry for an actor).

+
+
+ +
/**
+ * Produces a stable, irreversible token for a GDPR-erased actorId.
+ * Format: `erased-<first-16-hex-chars-of-sha256(salt:actorId)>`
+ *
+ * The salt is AUDIT_PSEUDONYM_SALT; bindAudit() refuses to start in
+ * production if the var is not set. Dev fallback is labelled so any
+ * token produced with it is recognisable as a non-production artefact.
+ */
+export function pseudonymize(actorId: string): string {
+  const salt =
+    process.env["AUDIT_PSEUDONYM_SALT"] ?? "dev-fallback-salt-replace-in-prod";
+  const hash = createHash("sha256")
+    .update(`${salt}:${actorId}`)
+    .digest("hex");
+  return `erased-${hash.slice(0, 16)}`;
+}
+ +
async eraseSubject(actorId: string, mode: "pseudonymize" | "delete"): Promise<void> {
+  const payload = await getPayload({ config: this.config });
+  const { docs } = await payload.find({
+    collection: "audit-logs",
+    where: { actorId: { equals: actorId } },
+    overrideAccess: true,  // ← THE only privileged path
+    limit: 0,
+  });
+
+  if (mode === "delete") {
+    for (const d of docs) {
+      await payload.delete({ collection: "audit-logs", id: d.id, overrideAccess: true });
+    }
+    return;
+  }
+
+  // pseudonymize: preserve the event, replace the identity.
+  const token = pseudonymize(actorId);
+  for (const d of docs) {
+    await payload.update({
+      collection: "audit-logs",
+      id: d.id,
+      data: { actorId: token },
+      overrideAccess: true,                       // ← bypass update: () => false
+    });
+  }
+}
+ +

Two ways to invoke it. First, an admin tRPC procedure at audit.eraseSubject — protected by your admin auth middleware; a DPO can invoke it from a request-handling UI or directly via the API. Second, the createAuditErasureHook Payload afterDelete hook on the users collection — when a user is deleted through normal Payload flow, the hook triggers pseudonymize automatically. Both reach the same IAuditLog.eraseSubject method; the hook is the ergonomic default for the "delete account" flow, the tRPC procedure is the explicit-request path.

+ +

What the stdout sink can't do. StdoutJsonAuditLog.eraseSubject writes a tombstone line (_type: "audit-erasure") to stdout — that's all it can do. Past stdout lines have already left the building; they're in Loki / Elastic / Splunk, on disk, in backups. The tombstone informs the operator and the downstream aggregator. The actual erasure in the aggregator is the operator's responsibility — typically a Loki /loki/api/v1/delete call with the {actorId="user_123"} label selector, run after the Payload pseudonymization completes. Out of scope for this package; documented in the guide.

+
+ + +
+
+
§ 07
+
+

The wiring path.

+

After pnpm turbo gen core-package audit scaffolds the package, the generator prints seven manual wiring steps. They mirror the existing optional-package install pattern (events, jobs, realtime) — same resolve-step in bindAll(), same context-object passing convention. The auditLog field is added to BindProductionContext as optional (R51-style), so features that don't use it ignore it without breaking compile.

+
+
+ +
export async function bindAll(): Promise<void> {
+  // Rule 0 (independent of repo binding mode):
+  const { tracer, logger } = await resolveInstrumentation();
+
+  // Then the optional resolves (each gated on its package being scaffolded):
+  const { bus, queue } = await resolveEventsAndJobsProduction(config);
+  const { realtime, realtimeRegistry } = await resolveRealtime();
+  const { auditLog } = bindAudit(sharedContainer, {     // ← NEW
+    payloadConfig: config,
+    sinks: ["payload", "stdout"],
+  });
+
+  // Build one ctx object, pass to every feature binder:
+  const ctx: BindProductionContext = {
+    tracer, logger, config, bus, queue, realtime, realtimeRegistry,
+    auditLog,                                                // ← NEW
+    analytics, consentFactory, rateLimit,              // optional (ADR-024 + ADR-025)
+  };
+
+  await bindProductionAuth(ctx);
+  await bindProductionBlog(ctx);
+  // ... every feature binder receives the same ctx.
+}
+ +
+
+

Set AUDIT_PSEUDONYM_SALT.

+

openssl rand -hex 32 into your secrets manager. Required in production; bindAudit() throws at startup if absent (intentional fail-fast — better to refuse to boot than to use a predictable dev-fallback salt for real subject pseudonymization).

+
+
+

Mount the audit-logs Payload collection.

+

Add auditLogsCollection from @repo/core-audit/collection to the collections array in packages/core-cms/src/payload.config.ts. The collection enforces update: () => false and delete: () => false — the compliance backbone.

+
+
+

Mount the admin tRPC router.

+

In packages/core-api/src/root.ts, wire createAuditRouter(auditLog) from @repo/core-audit/api. Exposes audit.eraseSubject as an admin-only mutation; protect with your admin auth middleware.

+
+
+

Call bindAudit() in app bootstrap.

+

Inside the app's bindAll() (or its production sub-step), call bindAudit(sharedContainer, { payloadConfig, sinks: ["payload", "stdout"] }) and add the returned auditLog to the ctx object passed to every feature binder.

+
+
+

Install user-collection hooks (DPA recommended).

+

In packages/auth/src/di/bind-production.ts, guarded by if (ctx.auditLog), push createAuditErasureHook onto the users collection's afterDelete array and optionally createAuditAfterReadHook onto afterRead. Manual install (not auto-wired) because of the cross-package coupling.

+
+
+

Set up a log shipper.

+

Deploy Vector or Fluent Bit alongside your app container. Filter on _type: "audit"; forward to Grafana Loki / Elastic / Splunk. Sample configs are in the guide. The aggregator becomes the authoritative archive (independent of Payload's DB).

+
+
+

Verify.

+

pnpm install && pnpm lint && pnpm typecheck && pnpm test && pnpm turbo boundaries. Then trigger a VIEW event in dev mode and confirm an _type: "audit" JSON line appears on stdout within 100 ms. Run the hostile-actor immutability test from the guide before go-live.

+
+
+
+ + +
+
+
§ 08
+
+

DPA — what NOT to log.

+

The compliance posture is enforced by the type system and a small set of conventions, not by reviewers reading every PR. Each row of this table answers two questions: why is this forbidden and what mechanism prevents it. The mechanism is almost always one of four: closed enum (no free strings); type shape (no field exists where the value could land); helper-enforced truncation (function call refuses malformed input); or convention with a CI grep gate (R31, sendDefaultPii: false).

+
+
+ +
+
+ forbidden field + why + mechanism +
+
+ payload / body + Would mirror regulated content into a long-retention store. Audit logs become a secondary PII source — worse than the original because retention is longer. + Type shape — no field exists +
+
+ oldValue / newValue + Captures the before-or-after content of a regulated field. UPDATE actions track changedFields (NAMES) only — versioning lives elsewhere. + Type shape — no field exists +
+
+ actor email / name + Identifies the actor without pseudonymization. GDPR erasure could not honour a deletion request because we'd have shipped the name into Loki / Elastic. + Convention — actorId is doc id only; R36 +
+
+ raw IP address + Full IPv4 / IPv6 is itself personal data in EU jurisdictions. Truncation reduces granularity to a network segment, sufficient for incident response. + Helper — truncateIp throws on malformed +
+
+ arbitrary action strings + Free-string actions defeat compliance sampling — auditors can't enumerate the action enum. New actions require explicit type bumps + reviewer attention. + Closed enum AuditAction +
+
+ session tokens / API keys + Capturing the credential the actor used would compound the leak if the audit store is itself breached. Identifiers go in requestId, not the credential. + Convention — only actorId + requestId +
+
+ implicit tenant + Multi-tenancy must be expressed even in single-tenant projects (with the "default" sentinel) so that any later split is mechanical, not archaeological. + Type — scope.tenant is required +
+
+ defaultPII via SDK + Sentry's sendDefaultPii: true would ship request bodies, headers, and user identifiers automatically — the opposite of the audit posture. + CI grep gate · R31 +
+
+ +
+

Compliance posture by construction.

+

Most fields you'd be tempted to add to an audit entry don't exist on AuditEntry. That's not an oversight — it's the posture. Reviewers reading PRs catch only the mistakes that compile. payload, body, oldValue, newValue: these never compile, so they never ship. truncateIp throws on malformed input rather than silently scrubbing — compliance regimes prefer hard failures.

+

The append-only guarantee is enforced at three layers in defense-in-depth: Payload's update: () => false access rule on the collection (in-app); the absence of an UPDATE method on the IAuditLog protocol (the only erasure verb is the privileged eraseSubject); and the log shipper writing immutably to an aggregator the application has no write credentials for. If a hostile actor gains DB access and truncates the audit_logs table, the shipped lines in Loki / Elasticsearch remain as the authoritative record.

+

The correlationId bridge gives compliance and engineering teams a shared vocabulary without coupling their tools or their retention policies. The bridge is one field; the channels stay separate; the pivot is one click. Two channels, one bridge. That's the whole design.

+
+
+ +
+ + + + + + + diff --git a/docs/architecture/data-flow-explainer.html b/docs/architecture/data-flow-explainer.html new file mode 100644 index 0000000..ed68162 --- /dev/null +++ b/docs/architecture/data-flow-explainer.html @@ -0,0 +1,3266 @@ + + + + + +data-flow / template-vertical / explainer + + + + + + + +
+
+ template-vertical / architecture / explainer + 2026-05-06 +
+ +
+

A guided tour
of one feature's
data flow.

+

An internal explainer for the vertical-feature architecture — written for the engineer who built it and just wants the mental model in one place. Click through the request flow, flip the DI binding mode, swap features. Real code from this repo, not a tutorial.

+
+ + +
+ +
+ + +
+
+
§ 01
+
+

The shape of a feature.

+

Every feature package — auth, blog, marketing-pages, navigation, media — has the same internal layout. Click any layer to see what lives there and why.

+
+
+ +
+
+ ├─ entities/ + ├─ models/ ← Zod schemas + types + └─ errors/ ← domain errors (set this.name) + ├─ application/ + ├─ repositories/ ← <x>.repository.interface.ts + ├─ services/ ← <x>.service.interface.ts + └─ use-cases/ ← factory + xInputSchema + xOutputSchema + ├─ infrastructure/ + ├─ repositories/ ← <x>.repository.ts (real) + + <x>.repository.mock.ts + └─ services/ ← <x>.service.ts + .mock.ts + ├─ interface-adapters/ + └─ controllers/ ← factory + safeParse + presenter + ├─ di/ + ├─ symbols.ts ← inversify Symbol.for(...) keys + ├─ module.ts ← ContainerModule with .toDynamicValue + ├─ container.ts ← Container + .load(Module) + ├─ bind-production.ts ← swaps mocks → real impls at boot + └─ bind-dev-seed.ts ← swaps empty mocks → populated mocks + ├─ integrations/ + ├─ api/ + │ ├─ procedures.ts ← xProcedure + defineErrorMiddleware + │ └─ router.ts ← xProcedure.input(xInputSchema) + └─ cms/ ← Payload collections / globals + ├─ ui/ + ├─ index.ts ← public surface for queries / components + └─ query.ts ← React Query option builders + ├─ __factories__/ ← defineFactory<Entity>((seq)=>{...}) + ├─ __contracts__/ ← defineContractSuite<IRepo>(...) + ├─ __seeds__/ ← buildDev<Entities>() — dev-mode realistic data + └─ index.ts ← root: contracts only +
+ +
+ +
+
+
+ + +
+
+
§ 02
+
+

A request, step by step.

+

From a React Query call on the client to Payload's local API and back. Pick a feature, then click a stage — or hit play. The error path branches off at Use case or Repository when a domain error is thrown; the success path runs through the controller's presenter on the way out.

+
+
+ +
+ feature +
+ + + + + +
+
+ +
+
+ +
+ + + + 1 / 11 +
+
+ +
+ +
+
+ +
+ +
+
+ + +
+
+
§ 03
+
+

Wiring the container.

+

Each feature owns one InversifyJS container. Symbols → factory bindings via .toDynamicValue. The same symbol resolves to a mock at dev time and to a real Payload-backed impl after bindProduction*(config) runs at app boot. Toggle below to see what swaps.

+
+
+ +
+
+

Resolving blogContainer.get(IGetArticlesController)

+
mode → + + + + +
+
+ +
+
+

Symbols

+
+
repo symbol
+
BLOG_SYMBOLS.IArticlesRepository
+
+
+
use case symbol
+
BLOG_SYMBOLS.IGetArticlesUseCase
+
+
+
controller symbol
+
BLOG_SYMBOLS.IGetArticlesController
+
+
+ +
+

Binding

+
.to(MockArticlesRepository)
+
.toDynamicValue((ctx) ⇒ getArticlesUseCase(ctx.container.get(...)))
+
.toDynamicValue((ctx) ⇒ getArticlesController(ctx.container.get(...)))
+
+ +
+

Resolves to

+
+
class · mock
+
MockArticlesRepository
+
+
+
closure · factory
+
getArticlesUseCase(repo)
+
+
+
closure · factory
+
getArticlesController(useCase)
+
+
+
+
+ +
+
+

Why .toDynamicValue?

+

A use case is a curried factory: (deps) => async (input) => result. It isn't a class, so .to(SomeClass) can't construct it. .toDynamicValue((ctx) => ...) runs at resolution time, lets the container fetch each dependency, and returns a closure that captures them.

+

Result: every container.get(SYMBOL) call hands you a fully-wired async function. Tests don't need any of this — they construct mocks and pass them in directly.

+
+
+

Two binding modes, one symbol.

+

The BlogModule binds IArticlesRepository to MockArticlesRepository by default — useful at dev/test time. At app boot, bindProductionBlog(ctx: BindProductionContext) unbinds the symbol and rebinds it to new ArticlesRepository(ctx.config, ctx.tracer, ctx.logger). Use cases and controllers don't notice — they get whatever the symbol currently resolves to. The ctx object is built once by the app aggregator and passed to all feature binders.

+

This is also why the boundary stays clean: features don't import core-cms; the app passes the Payload config in.

+
+
+ +
+
+
module · default bindings
+

blog/di/module.ts

+

One module, one container. Loaded once at blogContainer.load(BlogModule).

+
export const BlogModule = new ContainerModule((bind) => {
+  bind<IArticlesRepository>(BLOG_SYMBOLS.IArticlesRepository)
+    .to(MockArticlesRepository);                 // default
+
+  bind<IGetArticlesUseCase>(BLOG_SYMBOLS.IGetArticlesUseCase)
+    .toDynamicValue((ctx) =>
+      getArticlesUseCase(
+        ctx.container.get<IArticlesRepository>(
+          BLOG_SYMBOLS.IArticlesRepository,
+        ),
+      ),
+    );
+
+  bind<IGetArticlesController>(BLOG_SYMBOLS.IGetArticlesController)
+    .toDynamicValue((ctx) =>
+      getArticlesController(
+        ctx.container.get<IGetArticlesUseCase>(
+          BLOG_SYMBOLS.IGetArticlesUseCase,
+        ),
+      ),
+    );
+});
+
+ +
+
app boot · production override
+

blog/di/bind-production.ts

+

Called from each app's bootstrap (apps/web-next/src/server/bind-production.ts) with the ctx object built once by the aggregator. BindProductionContext is imported from @repo/core-shared/di.

+
export function bindProductionBlog(ctx: BindProductionContext): void {
+  // bus, realtime, realtimeRegistry, auditLog are optional — present only when
+  // the corresponding optional package is scaffolded
+  const { config, tracer, logger, bus, queue } = ctx;
+
+  // 1) Swap the mock repo for the real Payload-backed impl
+  if (blogContainer.isBound(BLOG_SYMBOLS.IArticlesRepository)) {
+    blogContainer.unbind(BLOG_SYMBOLS.IArticlesRepository);
+  }
+  const repo = new ArticlesRepository(config, tracer, logger);
+  blogContainer.bind(BLOG_SYMBOLS.IArticlesRepository).toConstantValue(repo);
+
+  // 2) Wire each use case via wireUseCase — composes
+  //    withSpan → withCapture → withAudit → withAnalytics → withConsent → withRateLimit → factory(deps)
+  //    and binds the brand-stacked closure to the symbol. One call per use case.
+  const wrappedGetArticles = wireUseCase({
+    container: blogContainer,
+    symbol: BLOG_SYMBOLS.IGetArticlesUseCase,
+    factory: getArticlesUseCase,
+    deps: [repo],
+    feature: "blog", layer: "use-case", name: "getArticles",
+    tracer, logger,
+  });
+  // ... wireUseCase calls for the other use cases ...
+
+  // 3) Wrap each controller — controllers still use withSpan + withCapture manually,
+  //    because they take the already-wired use case as their dep.
+  if (blogContainer.isBound(BLOG_SYMBOLS.IGetArticlesController)) {
+    blogContainer.unbind(BLOG_SYMBOLS.IGetArticlesController);
+  }
+  blogContainer.bind(BLOG_SYMBOLS.IGetArticlesController).toConstantValue(
+    withSpan(tracer, { name: "blog.getArticles", op: "controller" },
+      withCapture(logger, { feature: "blog", layer: "controller", name: "blog.getArticles" },
+        getArticlesController(wrappedGetArticles),
+      ),
+    ),
+  );
+
+  // bus + queue are passed through; generated event/job handlers consume them at the anchors below.
+  void bus; void queue;
+  // <gen:event-handlers>
+  // <gen:jobs>
+
+  // 4) Self-asserting tail — refuses to boot if any use-case binding is missing a required brand
+  //    (withSpan / withCapture / withAudit / withAnalytics / withConsent / withRateLimit) or drifts from the manifest.
+  assertFeatureConformance(
+    blogContainer,
+    blogManifest,
+    { getArticles: BLOG_SYMBOLS.IGetArticlesUseCase, /* … */ },
+    ctx,
+  );
+}
+
+
+
+ + +
+
+
§ 04
+
+

Mocks, contracts & factories.

+

Three artifacts that sit near tests, at different distances from runtime. The mock repository is a real implementation of the interface — runtime code (DI, dev mode, storybook) reaches it. The contract is a test suite that runs against any implementation of the repo interface, mock or real. The factory builds valid entity values. The relationship between them is the interesting bit.

+
+
+ +
+
where the boundaries are
+

Same neighborhood, different reach.

+

The mock is a test artifact, but it's also more than that — it's a real implementation of the repository interface, and runtime code reaches it directly. DI binds it as the default; dev mode runs against it when Payload isn't booted; storybook stories that need data resolve to it. The contract and factory are only reached from test files. That difference in reach is what determines where each lives.

+

So the mock sits in infrastructure/repositories/ next to the real impl — they're sibling implementations of the same interface, both legitimate citizens of the runtime layer. The contract and factory live under __-prefixed directories that nothing outside *.test.ts ever imports from.

+ +
+
+
application/repositories/
+ IArticlesRepository +
interface — defines the shape every implementation must satisfy
+
+ +
↓   implemented by both   ↓
+ +
+
+
infrastructure/repositories/
+ MockArticlesRepository +
in-memory · default DI binding · used by dev mode & unit tests
+
+
+
infrastructure/repositories/
+ ArticlesRepository +
Payload-backed · production binding · constructed at app boot
+
+
+ +
↓   both tested by   ↓
+ +
+
__contracts__/
+ articlesRepositoryContract +
portable test suite — same it() blocks, run twice (once per impl)
+
+ +
↓   consumes seed data from   ↓
+ +
+
__factories__/
+ articleFactory +
data builder — produces valid Article entities with overridable defaults
+
+
+ +

The mock is reached from two directions. Both are legitimate, neither is "the test version":

+
    +
  1. By the DI container at runtime. BlogModule binds IArticlesRepository to MockArticlesRepository at module-load time. Anything resolving that symbol — use cases, controllers, tRPC procedures, the dev server — gets the mock until bindProductionBlog(ctx: BindProductionContext) swaps it for the real Payload-backed one. See §03.
  2. +
  3. By tests, via direct construction. Unit tests skip the container entirely. They construct the mock with new MockArticlesRepository() and pass it directly into the use-case factory function. Same class, different consumer — just a closure with a fake repo.
  4. +
+ +

The contract and factory are reached from one direction only — tests. They never appear in runtime imports. Their roles:

+
    +
  • Contract = a single suite of it() blocks parameterized by buildSubject. Run it against the mock, run it against the real Payload-backed impl. If they diverge — your mock is lying about Payload's behavior, and you'd never catch it without the contract. This is its whole reason to exist: it tests the mock so you can trust it, alongside testing the real impl.
  • +
  • Factory = a sequence-counter builder. articleFactory.build({ slug: "x" }) hands you a valid Article with sensible defaults; you only override the fields the test cares about. Used by the contract and by every use-case / controller test that needs entity values without writing 8 lines of inline fixtures.
  • +
+ +
+ show: the mock as DI binding (in module.ts) +
+

This is from packages/blog/src/di/module.ts — the very first binding in the module is the mock. Everything downstream (use cases, controllers) resolves through this default. bindProductionBlog(ctx: BindProductionContext) later replaces only this one line at app boot — use case + controller bindings stay put.

+
export const BlogModule = new ContainerModule((bind) => {
+  // 1) Mock is the DEFAULT binding for the repo symbol.
+  //    Dev server, unit tests, storybook all resolve to this.
+  bind<IArticlesRepository>(BLOG_SYMBOLS.IArticlesRepository)
+    .to(MockArticlesRepository);
+
+  // 2) Use cases consume IArticlesRepository — they don't know or
+  //    care which impl they got. Same factory function in either mode.
+  bind<IGetArticlesUseCase>(BLOG_SYMBOLS.IGetArticlesUseCase)
+    .toDynamicValue((ctx) =>
+      getArticlesUseCase(
+        ctx.container.get<IArticlesRepository>(BLOG_SYMBOLS.IArticlesRepository),
+      ),
+    );
+  // ... + 5 more bindings, all the same shape.
+});
+
+
+ +
+ show: the mock as direct test fake (no container) +
+

Use-case + controller tests skip DI entirely. They construct the mock and pass it as the first argument to the use-case factory, then call the resulting closure with the input. Three lines of setup, then assertions.

+
it("filters by status", async () => {
+  // Construct the mock directly — no DI container, no rebinding.
+  const repo = new MockArticlesRepository();
+
+  // Use the factory to seed valid entities (only override what we care about).
+  articleFactory.reset();
+  await repo.createArticle(articleFactory.build({ status: "draft" }));
+  await repo.createArticle(articleFactory.build({ status: "published" }));
+
+  // Inject the mock into the use-case factory; call the resulting closure.
+  const useCase = getArticlesUseCase(repo);
+  const result = await useCase({ status: "published" });
+
+  expect(result).toHaveLength(1);
+});
+
+
+ +
+ show: the contract testing both impls (the proof-of-parity bit) +
+

Two tiny test files, one shared suite. If the suite ever fails on the real impl but passes on the mock — your mock is lying about Payload's behavior and you'd ship a bug. The factory is doing real work here too: every it() in the suite uses articleFactory.build(...) for seed data, so the assertions stay readable.

+
describe("MockArticlesRepository", () => {
+  articlesRepositoryContract.run(async () => new MockArticlesRepository());
+});
+
+// articles.repository.test.ts (Payload-backed) — same suite, real impl
+vi.mock("payload", () => ({ getPayload: vi.fn() }));
+
+describe("ArticlesRepository (Payload)", () => {
+  articlesRepositoryContract.run(async () => {
+    const stub = buildPayloadStub();
+    (getPayload as Mock).mockResolvedValue(stub);
+    return new ArticlesRepository(stubPayloadConfig);
+  });
+});
+

When you run pnpm test --filter @repo/blog, the contract's twelve it() blocks run twice — once per implementation. Twenty-four assertions for the price of writing twelve.

+
+
+
+ +
+ +
+
__contracts__/
+

The behavioral contract.

+

A contract suite is a portable set of tests that asserts every implementation of a repository interface behaves the same way. You write it once, run it against the mock, run it again against the real Payload-backed impl. If they diverge — bug.

+

The suite takes a buildSubject callback so each implementation can supply its own setup (e.g., the Payload impl needs to mock getPayload() first; the in-memory mock just constructs).

+ +
+ show: defining the suite +
+
export const articlesRepositoryContract =
+  defineContractSuite<IArticlesRepository>(
+    "IArticlesRepository",
+    ({ buildSubject }) => {
+      let repo: IArticlesRepository;
+
+      beforeEach(async () => {
+        articleFactory.reset();
+        repo = await buildSubject();
+      });
+
+      it("createArticle returns an article with the correct fields", async () => {
+        const seed = articleFactory.build({ title: "Hello World" });
+        const created = await repo.createArticle(seed);
+        expect(typeof created.id).toBe("string");
+        expect(created.title).toBe("Hello World");
+      });
+
+      it("getArticles filters by status", async () => {
+        await repo.createArticle(articleFactory.build({ status: "draft" }));
+        await repo.createArticle(articleFactory.build({ status: "published" }));
+        const drafts = await repo.getArticles({ status: "draft" });
+        expect(drafts).toHaveLength(1);
+      });
+
+      // ... ten more `it` cases covering every method on IArticlesRepository
+    },
+  );
+
+
+ +
+ show: running it against both impls +
+
describe("MockArticlesRepository", () => {
+  articlesRepositoryContract.run(async () => new MockArticlesRepository());
+});
+
+// articles.repository.test.ts (Payload-backed)
+vi.mock("payload", () => ({ getPayload: vi.fn() }));
+
+describe("ArticlesRepository (Payload)", () => {
+  articlesRepositoryContract.run(async () => {
+    const stub = buildPayloadStub();
+    (getPayload as Mock).mockResolvedValue(stub);
+    return new ArticlesRepository(stubPayloadConfig);
+  });
+});
+
+
+
+ +
+
__factories__/
+

The data factory.

+

A factory is a sequence-counter-driven builder for an entity. articleFactory.build({ title: "X" }) hands you a complete, valid Article with sensible defaults — only the fields you specify get overridden. Call .reset() in beforeEach to keep ids deterministic.

+

The point: tests stop drowning in inline fixtures ({ id: "abc", title: "...", slug: "...", content: null, status: "draft", authorId: "u1", createdAt: new Date(...), updatedAt: new Date(...) }) and assert only the fields they care about.

+ +
+ show: defining a factory +
+
import { defineFactory } from "@repo/core-testing/factory";
+import type { Article } from "../entities/models/article";
+
+export const articleFactory = defineFactory<Article>(({ sequence }) => ({
+  id: `article-${sequence}`,
+  title: `Article ${sequence}`,
+  slug: `article-${sequence}`,
+  content: null,
+  status: "draft",
+  authorId: "user-1",
+  createdAt: new Date("2026-01-01T00:00:00Z"),
+  updatedAt: new Date("2026-01-01T00:00:00Z"),
+}));
+
+
+ +
+ show: using it in a test +
+
it("filters by status", async () => {
+  const repo = new MockArticlesRepository();
+  articleFactory.reset();
+  await repo.createArticle(articleFactory.build({ status: "draft" }));
+  await repo.createArticle(articleFactory.build({ status: "published" }));
+
+  const useCase = getArticlesUseCase(repo);
+  const result = await useCase({ status: "published" });
+
+  expect(result).toHaveLength(1);
+});
+
+
+
+
+
+ + +
+
+
§ 05
+
+

Tradeoffs by part.

+

Every layer in the feature anatomy gives you something and costs you something. This is the honest accounting — what each folder or file buys, what it asks in return. Read this when you're deciding whether to add a piece, not all at once.

+
+
+ +
+ +
+
entities/models/
+

Entity Zod schemas + types

+

One file per entity (article.ts, user.ts): a Zod schema and the inferred TypeScript type.

+
+
Pros
    +
  • One source of truth: schema and type from a single declaration via z.infer
  • +
  • Runtime validation available anywhere the schema is imported (output schemas, parser-transforms)
  • +
  • Pure-domain — zero framework knowledge, infinitely portable
  • +
  • Test factories build against this same shape, can't drift
  • +
+
Cons
    +
  • Adds Zod as a feature-level dep where a plain TS interface would suffice
  • +
  • Schema can drift from Payload's actual collection shape — must keep in sync manually
  • +
  • Overkill for entities that never get parsed at runtime
  • +
+
+
+ +
+
entities/errors/
+

Domain error classes

+

One file per error domain (article.ts, auth.ts) plus common.ts for InputParseError.

+
+
Pros
    +
  • Domain errors carry meaning — ArticleNotFoundError beats a generic Error by miles
  • +
  • defineErrorMiddleware matches by instanceof and translates to TRPCError codes
  • +
  • Per-feature ownership — auth's errors don't leak into blog
  • +
+
Cons
    +
  • Every constructor must set this.name — easy to forget, and the cause of opaque error names when omitted
  • +
  • InputParseError is duplicated per feature (~6 lines × 5) — by design, but feels redundant
  • +
  • Adding a new error class = update the feature's procedures.ts map too
  • +
+
+
+ +
+
application/repositories/
+

Repository interfaces

+

<x>.repository.interface.ts — TypeScript interface, no implementation, no Zod.

+
+
Pros
    +
  • Use cases depend on the contract, not a concrete class — testable, swappable
  • +
  • Mock and real impl share the interface — TypeScript catches drift at compile time
  • +
  • Plain TypeScript — no extra deps, no runtime cost
  • +
+
Cons
    +
  • One more file per repo (interface + real + mock = 3 minimum)
  • +
  • Method names get written twice (interface + each impl) — refactors touch both
  • +
  • Wider repo signatures vs narrower use-case schemas can feel duplicative
  • +
+
+
+ +
+
application/services/
+

Service interfaces

+

<x>.service.interface.ts — interface for non-data-access boundaries (auth, email, …).

+
+
Pros
    +
  • Same testability win as repos — stub the boundary, inject the stub
  • +
  • Lets stateful behavior (sessions, password hashing) sit behind a clean contract
  • +
  • Use cases don't import auth lib internals — they call methods on an interface
  • +
+
Cons
    +
  • Easy to over-create services for thin one-method wrappers
  • +
  • The "service" name is fuzzy — can become a junk drawer of "anything that's not a repo"
  • +
  • Most features don't need any (only auth has one today)
  • +
+
+
+ +
+
application/use-cases/
+

Factory-function use cases

+

One file per verb-noun (get-articles.use-case.ts): input + output schemas + factory.

+
+
Pros
    +
  • Single source of truth for I/O contracts (R1) — schema lives here, controllers and routers import
  • +
  • xOutputSchema.parse(...) at the end of the body catches malformed repo returns at the layer that owns the contract
  • +
  • Factory function = trivially testable; tests construct mocks and inject directly
  • +
  • One concern per file; clear single responsibility
  • +
+
Cons
    +
  • ~30 lines of file overhead per use case (input + output + types + factory)
  • +
  • Identity output schemas (z.array(articleSchema)) feel ceremonial when they don't add validation
  • +
  • Many files per feature (blog has 3, media has 3, marketing-pages has 2)
  • +
  • .parse() on every call has measurable cost on hot paths (negligible in practice)
  • +
+
+
+ +
+
infrastructure/repositories/<x>.repository.ts
+

Real (Payload-backed) repository

+

Constructor takes SanitizedConfig, methods call getPayload({ config }), map to domain.

+
+
Pros
    +
  • All Payload knowledge lives in one place per repo — easy to swap CMS later
  • +
  • Constructor injection keeps the feature boundary clean (no core-cms dep)
  • +
  • Class names without Payload prefix — DI swaps mock ↔ real cleanly
  • +
+
Cons
    +
  • Per-method getPayload({ config }) is repetitive
  • +
  • toDomain mappers are easy to forget for new fields → silent shape drift
  • +
  • Tests need vi.mock("payload") + Payload stub setup — more ceremony than testing the mock impl
  • +
+
+
+ +
+
infrastructure/repositories/<x>.repository.mock.ts
+

Mock repository (sibling of real)

+

In-memory implementation. The default DI binding; also injected directly in unit tests.

+
+
Pros
    +
  • Dev mode runs without Payload booted — pnpm dev just works
  • +
  • Direct test injection — no DI ceremony for use-case / controller tests
  • +
  • Same interface as real impl; contract suite proves behavioral parity
  • +
  • Fast and deterministic — no setup, no fixtures, no I/O
  • +
+
Cons
    +
  • Without the contract suite, mock can silently diverge from real (e.g. ID-uniqueness assumptions)
  • +
  • Doubles the repo file count (one real + one mock per repo)
  • +
  • Easy to give the mock "extra" behavior the real impl can't match (false confidence)
  • +
+
+
+ +
+
infrastructure/services/
+

Real + mock services

+

Same dual-impl pattern as repositories. Auth has one (real AuthenticationService + mock).

+
+
Pros
    +
  • Lets stateful boundary code (session creation, password hashing) be unit-tested with a fake
  • +
  • Real impl can defer hard parts as NotImplementedError while the mock fully works (auth's session methods do this today)
  • +
+
Cons
    +
  • Adds a directory tree most features don't need
  • +
  • "Service" abstraction can hide what's actually being mocked — repos are clearer
  • +
  • Deferred-real-impl pattern is honest but technical-debt-shaped
  • +
+
+
+ +
+
interface-adapters/controllers/
+

Factory controllers + presenter

+

One file per use case. Receives unknown, safeParses, calls use case, runs presenter.

+
+
Pros
    +
  • Transport-agnostic — same controller works from tRPC, CLI, server actions, cron
  • +
  • Owns input parsing — InputParseError is the controller's responsibility, never the use case's
  • +
  • Co-located function presenter means view-shape transforms live next to the wire
  • +
  • One controller per use case — clear single responsibility, easy to test
  • +
+
Cons
    +
  • Schema runs twice on the tRPC path (procedure .input + controller safeParse) — defense in depth has a cost
  • +
  • Identity presenters feel ceremonial when no transform is needed (R11 always-present rule)
  • +
  • Per-use-case files multiply — blog has 3, marketing-pages has 2
  • +
+
+
+ +
+
di/symbols.ts
+

The address book

+

Plain object of Symbol.for("blog:I…") keys. One per binding the container holds.

+
+
Pros
    +
  • Symbol.for namespacing prevents cross-feature collisions
  • +
  • Type-erased keys let the container index without forcing eager class imports
  • +
  • Const object — every binding has a compile-time-checked key
  • +
+
Cons
    +
  • Adding a use case = update three places: factory, symbols, module binding
  • +
  • Symbols carry no type info at runtime — bind/get must agree on the type parameter (footgun)
  • +
+
+
+ +
+
di/module.ts
+

Default binding registry

+

ContainerModule with all repository, service, use-case, controller bindings.

+
+
Pros
    +
  • Declarative — every binding visible in one block; easy to audit
  • +
  • .toDynamicValue is what makes factory functions work as DI bindings
  • +
  • Loaded once at module construction; nothing runs per-request
  • +
+
Cons
    +
  • Verbose — each .toDynamicValue((ctx) => factoryFn(ctx.container.get(...))) repeats boilerplate
  • +
  • Imports every concrete class + factory in the feature — large surface area in one file
  • +
+
+
+ +
+
di/container.ts
+

The singleton

+

Three lines: reflect-metadata, new Container({ defaultScope: "Singleton" }), load(Module).

+
+
Pros
    +
  • Singleton scope = automatic caching; subsequent .get() calls reuse the closure
  • +
  • One-line file — almost no maintenance
  • +
  • Per-feature container = vertical isolation; no cross-feature DI coupling (ADR-008)
  • +
+
Cons
    +
  • Module-level singleton = global state; tests must unbindAll() + reload to start fresh
  • +
  • import "reflect-metadata" is a side-effect import — easy to forget when scaffolding new files
  • +
+
+
+ +
+
di/bind-production.ts
+

Production binder

+

bindProduction<F>(ctx: BindProductionContext) — unbinds the mock, rebinds the real Payload-backed impl. The ctx arg carries required fields (tracer, logger, config) and optional cross-cutting deps (queue). Event bus (bus) is also optional — present only when @repo/core-events is scaffolded via pnpm turbo gen core-package events; absent, bus?.subscribe/publish calls are no-ops. Realtime deps (realtime, realtimeRegistry) are also optional — present only when @repo/core-realtime is scaffolded via pnpm turbo gen core-package realtime. Audit log (auditLog) is also optional — present only when @repo/core-audit is scaffolded via pnpm turbo gen core-package audit; absent, ctx.auditLog?.record(entry) calls are no-ops. When present, auditLog is a TraceIdEnrichingAuditLog that auto-populates AuditEntry.correlationId from the active OTel span.

+
+
Pros
    +
  • Decouples Payload config from the feature package — boundary stays clean
  • +
  • Idempotent (isBound guard) — safe to call multiple times
  • +
  • Only the repo binding swaps; use cases + controllers stay put and pick up the new repo automatically
  • +
+
Cons
    +
  • Easy to forget to call when wiring a new app — silent fallback to mock in production
  • +
  • One per feature × app — boilerplate compounds with feature count
  • +
+
+
+ +
+
di/bind-dev-seed.ts
+

Dev-seed binder

+

bindDevSeed<F>(ctx: BindContext) — unbinds the empty mock, rebinds a populated mock.

+
+
Pros
    +
  • Dev mode shows realistic data without Payload running — design review, storybook, offline work all just work
  • +
  • Reuses the same factory the tests use — no separate fixture system
  • +
  • Symmetric with bind-production — one mental model, two binders
  • +
+
Cons
    +
  • Yet another file per feature
  • +
  • Seed data drifts from real Payload shape over time — needs occasional refresh
  • +
  • Fourth place to update when entity schemas change (after schema, factory, repo)
  • +
+
+
+ +
+
integrations/api/procedures.ts
+

Feature-scoped tRPC procedure

+

xProcedure = t.procedure.use(defineErrorMiddleware([...])) — owns the feature's error-to-code map.

+
+
Pros
    +
  • Feature owns its error → TRPCError mapping — no central registry, no core-shared coupling
  • +
  • Adding an error class = one tuple in this file; type system guides you
  • +
  • defineErrorMiddleware in core-shared is plumbing only — boundary stays clean
  • +
+
Cons
    +
  • Adds a fifth file to integrations/api/ — a feature with two procedures has the same overhead as one with ten
  • +
  • The InputParseError → BAD_REQUEST tuple is dormant on the tRPC path (tRPC's own zod parse fires first) — feels theatrical
  • +
+
+
+ +
+
integrations/api/router.ts
+

tRPC router slice

+

One file per feature, composed into core-api's appRouter via the ./api export.

+
+
Pros
    +
  • xProcedure.input(xInputSchema) — schemas imported from the use-case file, never redefined
  • +
  • One slice per feature — easy to add or remove a feature from the API
  • +
  • Container is the only thing the router knows about — controllers are resolved, not imported
  • +
+
Cons
    +
  • Router files grow proportional to procedure count — blog already has three
  • +
  • Routers can't be tested without DI involvement — createCaller goes through the container
  • +
+
+
+ +
+
integrations/cms/
+

Payload collections + globals

+

Collection / global definitions exposed via the ./cms export, composed into core-cms.

+
+
Pros
    +
  • Each collection lives with its feature — no central cms-core grab-bag
  • +
  • Hooks for the feature's domain logic (revalidation, slugify) are co-located
  • +
  • core-cms just composes; features stay independently versionable
  • +
+
Cons
    +
  • Coupling to Payload's API surface — swapping CMS later is non-trivial
  • +
  • Collection schema can drift from the entity Zod schema — two places to keep in sync
  • +
+
+
+ +
+
ui/
+

Frontend public surface

+

ui/index.ts exports query builders + components. Apps import via @repo/<feature>/ui.

+
+
Pros
    +
  • Apps depend on the feature's UI surface explicitly — clear separation from contracts
  • +
  • Query builders sit next to the data they query — refactoring is local
  • +
  • Components for feature-specific UI (e.g. ArticleCard) live with the feature, not in core-ui (optional package — scaffold via pnpm turbo gen core-package ui)
  • +
+
Cons
    +
  • Features without UI today (auth, media) still need a placeholder export {}
  • +
  • React Query API surface coupling — swapping client lib touches every feature
  • +
  • The ./ui subpath is a fifth public-API entry to maintain per feature
  • +
+
+
+ +
+
__factories__/
+

Test data factories

+

One factory per entity. Sequence-counter defaults; .build({ overrides }); .reset() in beforeEach.

+
+
Pros
    +
  • Tests stop drowning in inline fixtures — only override what the assertion cares about
  • +
  • Sequence-driven defaults = deterministic IDs across runs
  • +
  • Shared between unit tests, contract suites, and __seeds__/ — one source of "valid entity"
  • +
+
Cons
    +
  • Factory defaults can become outdated as entity schema evolves — Zod tightens, factory still hands out old shape, tests pass but production fails
  • +
  • Forgetting .reset() in beforeEach causes flaky test ordering
  • +
+
+
+ +
+
__contracts__/
+

Repository contract suite

+

A portable test suite parameterized by buildSubject. Run against mock + real impl.

+
+
Pros
    +
  • Catches mock / real divergence at unit-test time, not in production
  • +
  • The behavioral contract is a literal artifact, not folklore
  • +
  • Twelve it() blocks run twice — twenty-four assertions for the price of writing twelve
  • +
+
Cons
    +
  • ~50 lines of test boilerplate per repository
  • +
  • Adding a method to the interface means writing the contract test before either impl can pass
  • +
  • Easy to over-specify and lock implementation details (e.g. assert exact ID format the mock happens to produce)
  • +
+
+
+ +
+
__seeds__/
+

Dev-seed data

+

buildDev<Entities>() — uses the feature's factory; consumed by bind-dev-seed.

+
+
Pros
    +
  • App-level realistic data without Payload running — storybook, design review, offline dev
  • +
  • Lazy function = side-effect-free at module load (factory sequence not advanced on import)
  • +
  • Reuses factory defaults — no parallel fixture system
  • +
+
Cons
    +
  • The __ prefix borrows from the test convention but this folder is reachable from runtime via DI — slightly mislabeled
  • +
  • Seed entities can rot — refreshes when entity schema or domain model changes
  • +
  • Yet another place where realistic data lives — tests, factories, seeds, real Payload all need to agree
  • +
+
+
+ +
+
src/index.ts (root)
+

Public contract surface

+

The feature's . export — types, errors, schemas, IUseCase aliases, router type, constants.

+
+
Pros
    +
  • Single file lists everything the feature exposes — easy to audit, easy to enforce
  • +
  • Clean split from ./ui: contracts here, UI artifacts there
  • +
  • Type aliases (IXUseCase, IXController) decouple consumers from the impl
  • +
+
Cons
    +
  • Maintenance burden — every new schema / error / type needs an explicit re-export
  • +
  • Easy to forget; downstream consumers can't reach a symbol that wasn't re-exported
  • +
+
+
+ +
+
+ + +
+
+
§ 06
+
+

Tracing & error capture.

+

Every request produces a nested span tree: tRPC procedure → controller → use case → repository → Payload op. Errors are captured at the throw site closest to the cause, never at the boundary that translates them.

+
+
+ +

The trace tree (one tRPC request)

+

Substrate: OpenTelemetry SDK (ADR-017). Sentry is the exporter via @sentry/opentelemetry. Auto-instrumentations cover HTTP, undici, and pg; feature code emits via ITracer / ILogger interfaces only.

+
HTTP transaction               (auto, OTel HttpInstrumentation)
+└── tRPC procedure span        (auto, OTel + Sentry tRPC integration)
+    └── controller span         (op="controller", composed at DI bind time via OtelTracer)
+        └── use-case span       (op="use-case",  composed at DI bind time via OtelTracer)
+            └── repository span (op="repository", inline per method via ITracer)
+                └── Payload Local API call (auto, OTel PgInstrumentation / UndiciInstrumentation)
+ +

Where instrumentation actually lives

+

Two ways spans + captures get attached. Inline means the call appears in the layer's own body. Composed-in means a higher-order wrapper applied at DI bind time — the body stays vendor-clean.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LayerSpanCaptureHow
Use case bodyComposed: withSpan(withCapture(useCase(deps))) in bind-production.ts
Controller bodyComposed: withSpan(withCapture(controller(uc))) in bind-production.ts
Repository (real)Inline per methodInline in catchthis.tracer.startSpan(...) + this.logger.captureException(...)
Repository (mock)Inline per methodSpan shape parity with real; mocks don't originate infra errors
tRPC procedureAuto (SDK)Sentry's tRPC integration — no code in this repo
defineErrorMiddlewareMaps domain errors → TRPCError. Never captures (R44 boundary)
+

Verifiable: grep -rn "this.tracer\|this.logger" packages/*/src returns hits only in infrastructure/repositories/*.repository.ts and *.repository.mock.ts. Use case and controller bodies have zero matches. withSpan / withCapture appear only in di/bind-*.ts files.

+ +

The wrapper sandwich (one feature, in bind-production.ts)

+
// Repository — inline, per public method
+class ArticlesRepository {
+  async getArticles(input) {
+    return this.tracer.startSpan(
+      { name: "articles.getArticles", op: "repository", attributes: { /* ... */ } },
+      async (span) => {
+        try {
+          const result = await /* payload op */;
+          span.setAttribute("count", result.length);
+          return result;
+        } catch (err) {
+          this.logger.captureException(err, {
+            tags: { feature: "blog", repo: "articles", method: "getArticles" },
+          });
+          span.setStatus("error", String(err));
+          throw err;
+        }
+      },
+    );
+  }
+}
+
+// Use cases + controllers — composed at bind time, body stays clean
+const wrappedUC = withSpan(
+  tracer, { name: "blog.getArticles", op: "use-case" },
+  withCapture(
+    logger, { feature: "blog", layer: "use-case", name: "blog.getArticles" },
+    getArticlesUseCase(repo),
+  ),
+);
+const wrappedCtrl = withSpan(
+  tracer, { name: "blog.getArticles", op: "controller" },
+  withCapture(
+    logger, { feature: "blog", layer: "controller", name: "blog.getArticles" },
+    getArticlesController(wrappedUC),
+  ),
+);
+

Order matters. withSpan is outermost so the errored span's timing reflects the captured-and-rethrown failure. withCapture is between span and factory so the error is captured before the span closes with error status.

+ +

Capture rules (where captureException fires)

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
LayerCapturesDoesn't capture
RepositoryInfra / Payload errors that originate hereBubbled errors (already captured downstream)
Use caseBusiness-rule violations originated in this body (e.g. AuthenticationError) and output-schema validation failuresErrors from repos — flag is set, withCapture bails
ControllerInputParseError from safeParse failureErrors from use cases — flag is set, withCapture bails
defineErrorMiddlewareNothing — maps domain → TRPCError only
+ +

Double-report guard

+

Each error gets a non-enumerable __sentryReported flag the first time it's captured. withCapture, OtelLogger, and RecordingLogger all check the flag and bail if it's set. So an error bubbling repo → use-case → controller surfaces in the logger exactly once, with the inner-most layer's tags. Helper lives in core-shared/instrumentation/reported-flag.ts.

+ +

PII rules (R31–R38, non-negotiable)

+
    +
  • sendDefaultPii: false — every Sentry.init(). CI grep gate.
  • +
  • Replay default-masks all text + inputs + media. Allowlist starts empty.
  • +
  • Server-side: PiiScrubSpanProcessor + PiiScrubLogRecordProcessor run FIRST in the OTel processor chain — attribute-key substring match strips email / password / token / cookie / authorization / ipaddress keys before the Sentry exporter sees the data (R32, R33, ADR-017 §7).
  • +
  • Browser-side: beforeSend / beforeSendTransaction hooks in init-client*.ts strip the same PII keys (browser does not use the OTel pipeline).
  • +
  • setUser accepts only { id }. No email/username (R36).
  • +
  • IPv4/IPv6 redacted to [redacted-ip] in browser-side scrubbers.
  • +
+
+ + +
+
+
§ 07
+
+

Do we need them?

+
+
+ +
+

Short answer: yes, both.
Long answer below.

+

Contracts earn their keep the day a real implementation drifts from its mock — when a Payload field name changes, when a return shape mutates, when null vs undefined gets blurred. The contract suite catches the divergence at unit-test time instead of in production. Cost: ~50 lines per repo. Payoff: every behavioral guarantee gets tested twice (mock + real) for free.

+

Factories earn theirs by the third test. Inline fixtures grow to a noisy 8–10 lines that obscure what the test is actually checking. articleFactory.build({ slug: "x" }) says "I need a valid article and I only care about the slug." Nothing else.

+

Honest tradeoff: small upfront cost (one factory + one contract per feature). Large compounding payoff once you have ≥3 tests touching the entity, or any time you add a second impl behind the same interface. They are not optional ceremony — they are the thing that lets you trust your mocks.

+ +
+
360 testsacross 15 suites · contracts run 2× per repo
+
output-validation + error-mappinguse-case schemas + router middleware
+
defineFactory · defineContractSuiteboth live in @repo/core-testing
+
+
+
+ +
+ + + + + + + diff --git a/docs/architecture/dependency-flow.md b/docs/architecture/dependency-flow.md new file mode 100644 index 0000000..3f7d70f --- /dev/null +++ b/docs/architecture/dependency-flow.md @@ -0,0 +1,178 @@ +# Dependency Flow + +``` + +-------------+ +-----------------+ +-----------+ + | apps/web- | | apps/web- | | apps/cms | + | next | | tanstack | | | + +------+------+ +--------+--------+ +-----+-----+ + | | | + +------------------+--------------+ | | + | | | | | + +----v-----+ +-----v------+ +-----v----v---+ +-------v------+ + | core-api | | core-trpc | | feature | | core-cms | + | | | | | packages | | | + +-----+----+ +-----+------+ +------+-------+ +-------+------+ + | | | | + | | | | + +--+-------+------+---------------+----+ +-------------+ + | | | | + +----v---+ +-v---------+ +-------v---v---+ + | core- | | core-ui | | core-shared | + | shared | | | | | + +--------+ +-----------+ +----------------+ + + Boundary rules (enforced by ESLint + Turborepo boundaries): + app → app, core, core-composition, feature, tooling + feature → core, feature, tooling + core → core, core-composition, tooling + core-composition → core, core-composition, feature, tooling + tooling → tooling + + feature → feature: a feature may import another feature's PUBLIC exports + (its @repo/ contract barrel — types, errors, schemas, event + contracts). It must NOT reach another feature's internals, and + cross-feature behaviour still flows through IEventBus — never a direct + use-case call. + + Composition exceptions: + core-api → @repo//api (subpath only) + core-cms → @repo//cms (subpath only) + + App-side feature subpaths: + @repo/ — contracts (types, errors, schemas, IUseCase aliases, router type, constants) + @repo//ui — UI artifacts (query builders, components) +``` + +## Concrete examples + +Allowed: + +```ts +// in apps/web-next +import { appRouter } from "@repo/core-api"; +import { NextTrpcProvider } from "@repo/core-trpc/next"; +import { bindProductionBlog } from "@repo/blog/di/bind-production"; +import { signInInputSchema, type SignInInput } from "@repo/auth"; // contracts +import { articleBySlugQuery } from "@repo/blog/ui"; // queries + +// in packages/blog +import { slugifyIfMissing } from "@repo/core-shared/payload"; +import { userSignedUpEvent } from "@repo/auth"; // ✓ another feature's public contract + +// in packages/core-api +import { blogRouter } from "@repo/blog/api"; // composition exception +import { router } from "@repo/core-shared/trpc/init"; // core → core fine + +// in packages/core-cms +import { articles } from "@repo/blog/cms"; // composition exception +``` + +Disallowed: + +```ts +// in packages/blog (reaching another feature's internals) +import { signInUseCase } from "@repo/auth/src/application/use-cases/sign-in.use-case"; // ❌ not a public export + +// in packages/blog (deep import past public exports) +import { articles } from "@repo/blog/src/integrations/cms/collections/articles"; // ❌ no-private + +// in packages/core-shared +import { blogRouter } from "@repo/blog/api"; // ❌ core → feature +import { ArticleNotFoundError } from "@repo/blog"; // ❌ core → feature +// (defineErrorMiddleware takes Error +// constructors as args from features — +// core-shared never imports them) + +// in packages/core-shared (or any non-composition core package) +import { someBlogThing } from "@repo/blog"; // ❌ core → feature (only core-api/core-cms have exception) + +// in apps (using the wrong subpath) +import { articleBySlugQuery } from "@repo/blog"; // ❌ queries live on ./ui +import { Article } from "@repo/blog/ui"; // ❌ types live on the root subpath +``` + +## Enforcement strategy + +Three layers work in tandem: + +1. **`package.json` dependencies** — if you didn't declare it, you can't import it +2. **`exports` map** — blocks deep imports; only public subpaths are accessible +3. **Two parallel automated checks** (both enforcing the same five-tag model): + - **ESLint `eslint-plugin-boundaries`** runs at lint time, catching direct-import violations + - **Turborepo `boundaries`** runs at build time, validating the entire workspace graph including transitive dependencies + +The two enforcement layers are independent but complementary. ESLint is stricter on per-import context (e.g., file-specific exemptions via `// @boundaries-ignore`), while Turborepo catches transitive issues that lint-time checking misses. Run `pnpm lint` and `pnpm turbo boundaries` in CI to catch all violations. + +## TRACER / LOGGER / METRICS / AUDIT (ADR-014, ADR-017, ADR-018) + +The instrumentation layer is **per-feature container** but **app-wide instance**: each feature container binds `INSTRUMENTATION_SYMBOLS.ITracer`, `INSTRUMENTATION_SYMBOLS.ILogger`, and `INSTRUMENTATION_SYMBOLS.IMetrics` to the SAME instances, constructed once by the app's `bindAll()` dispatcher (Rule 0). + +**Substrate:** OpenTelemetry SDK. Sentry is the exporter via `@sentry/opentelemetry`. PII scrubbing runs at the OTel processor layer (`PiiScrubSpanProcessor` + `PiiScrubLogRecordProcessor`) before the Sentry exporter sees the data. Feature code is never coupled to the OTel SDK or Sentry SDK directly (ADR-017). + +**Audit is a parallel channel** with different durability and redaction contracts (ADR-018). Whereas OTel is sampled and pruned (best-effort observability), audit is append-only and retained for compliance. `auditLog` is bound by `resolveAudit` and added to `ctx` for feature binders that opt in; the binding is wrapped in `TraceIdEnrichingAuditLog` so every `AuditEntry` auto-correlates with the active OTel span via `correlationId`. See `docs/guides/audit-and-compliance.md` and the visual explainer at `docs/architecture/audit-and-compliance-explainer.html`. + +``` +apps/web-next/src/server/bind-production.ts (bindAll) + │ + ├─ Rule 0: WEB_NEXT_SENTRY_DSN set? + │ yes → bindOtelInstrumentation(sharedContainer, { dsn, app: "web-next" }) + │ → initOtelServerNode(dsn, ...) → OTel SDK + Sentry exporter + PII scrub processors + │ no → bindNoopInstrumentation(sharedContainer) + │ ↓ + │ tracer (OtelTracer) + logger (OtelLogger) + metrics (OtelMetrics) instances + │ ↓ + ├─ resolveEventsAndJobs* → IEventBus + IJobQueue (ADR-015) + │ production → PayloadJobsEventBus + PayloadJobQueue + │ dev-seed → InMemoryEventBus + InMemoryJobQueue + │ ↓ + ├─ resolveRealtime → IRealtimeBroadcaster + IRealtimeHandlerRegistry (ADR-016) + │ server.ts → SocketIORealtimeBroadcaster + RealtimeHandlerRegistry (passed in from server.ts) + │ page/test → InMemoryRealtimeBroadcaster + RealtimeHandlerRegistry (defaults) + │ ↓ + ├─ resolveAudit → IAuditLog (ADR-018) + │ production → TraceIdEnrichingAuditLog( MultiSinkAuditLog([StdoutJsonAuditLog, PayloadAuditLog]) ) + │ dev-seed → TraceIdEnrichingAuditLog( StdoutJsonAuditLog ) — or Noop when core-audit is absent + │ ↓ + ├─ build ctx: BindProductionContext = { config, tracer, logger, metrics?, bus, queue, realtime, realtimeRegistry, auditLog } + │ Required: tracer, logger, config (production only) + │ Optional: metrics, bus, queue, realtime, realtimeRegistry, auditLog (guard with ?. when used) + │ ↓ + ├─ bindProductionBlog(ctx: BindProductionContext) + │ │ + │ ├─ blogContainer.bind(TRACER).toConstantValue(tracer) + │ ├─ blogContainer.bind(LOGGER).toConstantValue(logger) + │ ├─ ArticlesRepository(config, tracer, logger) → bound to IArticlesRepository + │ │ (real repo: inline this.tracer.startSpan + this.logger.captureException per method) + │ ├─ withSpan(tracer, ..., withCapture(logger, ..., useCase(deps))) → UseCase symbol + │ ├─ withSpan(tracer, ..., withCapture(logger, ..., controller(uc))) → Controller symbol + │ ├─ // bus.subscribe(...) (ADR-015, gen event consume) + │ ├─ // queue.register(...) in dev-seed; Payload task in prod + │ └─ // realtimeRegistry.register(...) (ADR-016, gen realtime handler) + │ + └─ (same for auth, marketing-pages, navigation, media — each receives the same ctx) +``` + +**`BindContext` shape (from `@repo/core-shared/di`):** + +| Field | Type | Required | Notes | +| ------------------ | ------------------------------ | --------------- | -------------------------------------------------------------------------------------------------------------------------- | +| `tracer` | `ITracer` | always | Resolved by Rule 0 (OTel+Sentry vs Noop) | +| `logger` | `ILogger` | always | Resolved by Rule 0 | +| `metrics` | `MetricsProtocol?` | optional | Resolved by Rule 0; per-feature adoption is opportunistic | +| `config` | `SanitizedConfig` | production only | Present in `BindProductionContext`, absent in `BindContext` | +| `bus` | `EventBusProtocol?` | optional | `IEventBus` at the aggregator; protocol surface at binders | +| `queue` | `IJobQueue?` | optional | Present when `core-shared/jobs` is wired | +| `realtime` | `RealtimeBroadcasterProtocol?` | optional | `IRealtimeBroadcaster` at the aggregator | +| `realtimeRegistry` | `RealtimeRegistryProtocol?` | optional | `IRealtimeHandlerRegistry` at the aggregator | +| `auditLog` | `AuditLogProtocol?` | optional | `IAuditLog` at the aggregator; pre-wrapped in `TraceIdEnrichingAuditLog` so callers don't supply `correlationId` (ADR-018) | +| `analytics` | `AnalyticsProtocol?` | optional | `IAnalytics` product-analytics channel at the aggregator (ADR-024) | +| `consentFactory` | `ConsentFactoryProtocol?` | optional | builds a per-subject consent checker; present when `core-consent` is wired (ADR-025) | +| `rateLimit` | `IRateLimit?` | optional | per-use-case rate-limit budgets; present when rate limiting is wired (ADR-025) | + +Feature binders destructure `ctx` and use optional fields with `?.` or cast to the full interface when the feature unconditionally requires them (e.g. `bus as IEventBus` when a use case always needs the event bus). + +**Why per-feature containers also get the binding:** lets internal DI-resolved code in a feature pull TRACER/LOGGER without going through the app dispatcher. In practice, only repository classes and feature-internal services would use this — controllers and use cases receive instrumentation via the bind-time wrapper. + +**Why the shared container exists at all:** isolates Rule 0 resolution from feature containers. Feature containers don't need to know if Sentry is the exporter or not — they just receive an `ITracer` instance. + +**Boundary rule:** feature packages MUST NOT import `@sentry/*` or `@opentelemetry/sdk-*` directly (R40 + R52, ESLint-enforced). The OTel bridge (`otel/sentry-bridge.ts`), browser init files (`sentry/init-client*.ts`), and app-level `instrumentation*.{ts,mjs}` / `next.config.{mjs}` / `vite.config.{ts}` entries are the only allowlisted paths. Likewise, features MUST NOT import `@repo/core-audit` directly — they consume `IAuditLog` via the `AuditLogProtocol` type re-exported from `@repo/core-shared/di/bind-protocols`. diff --git a/docs/architecture/di-explainer.html b/docs/architecture/di-explainer.html new file mode 100644 index 0000000..1500d2d --- /dev/null +++ b/docs/architecture/di-explainer.html @@ -0,0 +1,1461 @@ + + + + + +di-folder / template-vertical / explainer + + + + + + + +
+
+ template-vertical / di-folder / explainer + 2026-05-06 +
+
+

The di/ folder,
file by file.

+

Every feature has six files in src/di/ that wire its repositories, services, use cases and controllers into the InversifyJS container. Here is what each file does, when its code runs, what conditions select which binding mode, and how tests bypass it entirely.

+
+ +
+ +
+ + +
+
+
§ 01
+
+

The cast.

+

Six files (per feature) live in src/di/. Three are loaded automatically when the container module is imported; three are dispatched explicitly from app boot or from tests. Reading them in this order is the right mental model.

+
+
+ +
+
+
file 01 · keys
+

symbols.ts

+

The address book. Plain object whose values are Symbol.for(...) keys, one per binding the container holds.

+

Symbols are the type-erased hooks the container indexes by. Every bind call on the container references one of these symbols; every container.get call passes one back in. Without symbols you would need either string keys (collision-prone) or class references (forces eager imports). Symbol.for("blog:IGetArticlesUseCase") is namespaced to the feature so two features can both have an IGetArticlesUseCase binding without colliding.

+
When it runs: module load. Pure constants — zero behavior.
+
+ +
+
file 02 · the wiring
+

module.ts

+

The default binding map. Imports every concrete class and factory function in the feature, registers each one under its symbol.

+

Exports a ContainerModule built with new ContainerModule((bind) => { ... }). Inside the callback, three kinds of bindings are registered: .to(Class) for repositories that have @injectable classes (the mock impl), and .toDynamicValue((ctx) => factory(ctx.container.get(...))) for use-case and controller factory functions. The module is just a description of bindings — nothing executes until something asks the container to resolve a symbol.

+
When it runs: module load (registration only). The callback inside ContainerModule only runs when the module is loaded onto a container.
+
+ +
+
file 03 · the singleton
+

container.ts

+

Constructs the singleton container, loads the module, and exports the container instance.

+

Three lines: import "reflect-metadata" (required by inversify's decorator metadata), new Container({ defaultScope: "Singleton" }), container.load(BlogModule). Now the module's binding callback runs — every bind() call inside it executes and registers its symbol. The container does not yet construct any of the bound implementations. Resolution is lazy.

+
When it runs: first import { blogContainer } from "./container". Module-level side effects. Once per process (Node caches imports).
+
+ +
+
file 04 · prod swap
+

bind-production.ts

+

Replaces the mock repository binding with a real Payload-backed one at app boot.

+

Exports bindProductionBlog(ctx: BindProductionContext). Destructures the ctx (always: config, tracer, logger; optional: bus, queue, realtime, realtimeRegistry, metrics, auditLog, analytics, consentFactory, rateLimit). Function body: blogContainer.unbind(symbol) if already bound, then .bind(symbol).toConstantValue(new ArticlesRepository(config, tracer, logger)). Use cases are wired via wireUseCase({...}) from @repo/core-shared/conformance — which composes withSpan → withCapture → withAudit? → withAnalytics? → withConsent? → withRateLimit? → factory(deps) (each ? wrapper applies only when the manifest declares that channel). Controllers are wrapped manually with withSpan(withCapture(...)). The file ends with assertFeatureConformance(container, manifest, symbolMap, ctx) — the boot gate that refuses to start on manifest ↔ binding drift. The optional bus and queue fields come from the app's resolveEventsAndJobs* step (ADR-015) and feed the // <gen:event-handlers> / // <gen:jobs> injection sites. BindProductionContext is imported from @repo/core-shared/di — features never import the optional packages directly for the binder signature.

+
When it runs: called from app boot (apps/web-next/src/server/bind-production.ts) when USE_DEV_SEED ≠ "true" AND Payload config is resolvable.
+
+ +
+
file 05 · seeded mock
+

bind-dev-seed.ts

+

Replaces the empty mock with a populated mock so the running app shows realistic data without Payload.

+

Exports bindDevSeedBlog(ctx). Same shape as bind-production — unbind, rebind. The difference: it constructs a fresh MockArticlesRepository, seeds it via buildDevArticles() from src/__seeds__/dev.ts, and binds the populated instance via .toConstantValue(repo). Mutually exclusive with bindProductionBlog — both operate on the same symbol.

+
When it runs: called from app boot when USE_DEV_SEED === "true". Storybook stories that need data may call this directly.
+
+ +
+
file 06 · proof
+

container.test.ts

+

Unit test that proves every symbol resolves and that the default binding is the mock.

+

Tests run with blogContainer.unbindAll() in beforeEach and blogContainer.load(BlogModule) to start from a clean slate. Then assertions like expect(repo).toBeInstanceOf(MockArticlesRepository) and expect(typeof ctrl).toBe("function"). Cheap insurance against typos in module.ts.

+
When it runs: pnpm test --filter @repo/blog. Never in production.
+
+
+
+ + +
+
+
§ 02
+
+

How they connect.

+

Module imports point in one direction; the loading sequence flows in another. Here is who imports who, and who runs first.

+
+
+ +
+
+
+
file 01
+ symbols.ts +
Pure constants — exports BLOG_SYMBOLS. No imports from other di/ files.
+
+
imported by ↓
+
+
file 02
+ module.ts +
Imports symbols.ts + every impl class + every factory function. Builds ContainerModule.
+
+
imported by ↓
+
+
file 03
+ container.ts +
Imports symbols.ts + module.ts. Constructs Container, calls .load(BlogModule). Exports the singleton.
+
+
imported by ↓
+
+
+
file 04 · prod path
+ bind-production.ts +
Imports container.ts + symbols.ts + the real ArticlesRepository class. App calls it at boot.
+
+
+
file 05 · dev path
+ bind-dev-seed.ts +
Imports container.ts + symbols.ts + MockArticlesRepository + buildDevArticles. App calls it at boot when USE_DEV_SEED.
+
+
+
tested by ↓ (separate import chain)
+
+
file 06 · only at test time
+ container.test.ts +
Imports container.ts + symbols.ts + module.ts + MockArticlesRepository. Asserts every symbol resolves correctly.
+
+
+
+ +

Key fact: nothing inside di/ imports the app. The relationship is one-way: the app imports ./di/bind-production (or ./di/bind-dev-seed), the feature exports those binders. The feature has no idea what app is running it. That is what keeps core-shared and the feature packages boundary-clean while still letting Payload config flow in.

+
+ + +
+
+
§ 03
+
+

The loading sequence.

+

Eight things happen between node starting and the first request reaching a controller. Some run once at module-load time, some run per-process at app boot, some run per-request.

+
+
+ +
+
+
01
+
+
Module load · once per process
+

Some code path imports blogContainer.

+

Could be the tRPC router, could be a feature test, could be the app's bind-production module. Whatever it is, the import triggers Node to evaluate packages/blog/src/di/container.ts.

+
+
import { blogContainer } from "../../di/container";
+
+ +
+
02
+
+
Module load · same evaluation
+

container.ts runs top-to-bottom.

+

Three statements: import "reflect-metadata", new Container({ defaultScope: "Singleton" }), blogContainer.load(BlogModule). The container instance is now memoized on the module; future imports reuse it.

+
+
import "reflect-metadata";
+import { Container } from "inversify";
+import { BlogModule } from "./module";
+
+export const blogContainer = new Container({ defaultScope: "Singleton" });
+blogContainer.load(BlogModule);
+
+ +
+
03
+
+
Module load · cascading import
+

module.ts evaluates.

+

Imports BLOG_SYMBOLS, the mock repo class, every use-case + controller factory. Defines BlogModule by passing a callback into new ContainerModule((bind) => { ... }). The callback does not run yet — it is stored on the module.

+
+
export const BlogModule = new ContainerModule((bind) => {
+  // callback body — stored, not executed yet
+  bind<IArticlesRepository>(BLOG_SYMBOLS.IArticlesRepository).to(MockArticlesRepository);
+  bind<IGetArticlesUseCase>(BLOG_SYMBOLS.IGetArticlesUseCase).toDynamicValue(/* ... */);
+});
+
+ +
+
04
+
+
Module load · `.load()` triggers
+

The module callback runs; bindings register.

+

This is where bind<IArticlesRepository>(symbol).to(MockArticlesRepository) actually executes. The container records the binding kind for each symbol. Still nothing constructed — the mock repo is a class reference, the use-case factory is a closure, both inert.

+
+
// Internally, the container now holds a Map<Symbol, Binding>:
+Map {
+  Symbol.for("blog:IArticlesRepository") => { kind: "class", target: MockArticlesRepository },
+  Symbol.for("blog:IGetArticlesUseCase") => { kind: "dynamicValue", factory: fn },
+  // ... 5 more
+}
+
+ +
+
05
+
+
App boot · once per server start
+

app calls bindAll().

+

The web app's server entry point runs bindAll(), which checks process.env.USE_DEV_SEED and dispatches to either bindAllProduction() or bindAllDevSeed(). Each calls every feature's binder.

+
+
export async function bindAll(): Promise<void> {
+  // 1. Explicit override wins, regardless of NODE_ENV.
+  if (process.env.USE_DEV_SEED === "true") {
+    await bindAllDevSeed();
+    return;
+  }
+  // 2. Production env → real Payload.
+  if (process.env.NODE_ENV === "production") {
+    await bindAllProduction();
+    return;
+  }
+  // 3. Default: dev seed, so `pnpm dev` boots without Payload.
+  await bindAllDevSeed();
+}
+
+ +
+
06
+
+
App boot · per feature
+

Each binder swaps the repo binding, then re-wires use cases + controllers.

+

The binder destructures ctx, unbinds + rebinds the repository as .toConstantValue(impl), then re-wires every use case through wireUseCase({ ... }) (which composes withSpan → withCapture → withAudit? → withAnalytics? → withConsent? → withRateLimit? → factory(deps) and binds the result). Controllers are wrapped with withSpan(withCapture(...)) at bind time. The binder ends with assertFeatureConformance(container, manifest, symbolMap, ctx), which refuses to boot if any use-case binding is missing a brand the manifest required.

+
+
export function bindProductionAuth(ctx: BindProductionContext): void {
+  const { config, tracer, logger, bus, consentFactory } = ctx;
+
+  // 1. Swap the repository binding.
+  if (authContainer.isBound(AUTH_SYMBOLS.IUsersRepository)) {
+    authContainer.unbind(AUTH_SYMBOLS.IUsersRepository);
+  }
+  const repo = new UsersRepository(config, tracer, logger);
+  authContainer.bind<IUsersRepository>(AUTH_SYMBOLS.IUsersRepository).toConstantValue(repo);
+
+  // 2. Wire each use case through the conformance helper.
+  //    wireUseCase composes withSpan → withCapture → withAudit? → withAnalytics?
+  //    → withConsent? → withRateLimit? → factory(deps), then binds the result.
+  const wrappedSignIn = wireUseCase({
+    container: authContainer,
+    symbol: AUTH_SYMBOLS.ISignInUseCase,
+    factory: signInUseCase,
+    deps: [repo, authService, ctx.rateLimit ?? new NoopRateLimit()],
+    feature: "auth", layer: "use-case", name: "signIn",
+    tracer, logger,
+    rateLimit: ctx.rateLimit ?? new NoopRateLimit(),  // manifest declares rateLimit
+  });
+  const wrappedSignUp = wireUseCase({
+    container: authContainer,
+    symbol: AUTH_SYMBOLS.ISignUpUseCase,
+    factory: signUpUseCase,
+    deps: [repo, authService, bus, consentFactory],
+    feature: "auth", layer: "use-case", name: "signUp",
+    tracer, logger,
+  });
+
+  // 3. Wrap controllers with span + capture at bind time.
+  authContainer
+    .bind(AUTH_SYMBOLS.ISignInController)
+    .toConstantValue(
+      withSpan(tracer, { name: "auth.signIn", op: "controller" },
+        withCapture(logger, { feature: "auth", layer: "controller", name: "auth.signIn" },
+          signInController(wrappedSignIn),
+        ),
+      ),
+    );
+
+  // 4. Boot-time conformance check — refuses to start on missing brands.
+  assertFeatureConformance(
+    authContainer,
+    authManifest,
+    { signIn: AUTH_SYMBOLS.ISignInUseCase, signUp: AUTH_SYMBOLS.ISignUpUseCase },
+    ctx,
+  );
+}
+
+ +
+
07
+
+
Per request · on demand
+

tRPC handler calls container.get(SYMBOL).

+

A request hits a procedure. The handler asks the container for the controller. The container looks up the symbol, finds kind: "dynamicValue", runs the factory closure. The closure calls ctx.container.get for the use case symbol, which itself runs another factory closure, which fetches the (now-rebound) repo. A controller closure is returned, ready to call.

+
+
listArticles: blogProcedure
+  .input(getArticlesInputSchema)
+  .query(({ input }) => {
+    const ctrl = blogContainer.get<IGetArticlesController>(
+      BLOG_SYMBOLS.IGetArticlesController,    // ← lazy: factory closures fire here
+    );
+    return ctrl(input);                        // ← then we invoke the closure
+  })
+
+ +
+
08
+
+
Singleton scope · cache
+

Subsequent requests get the same instance.

+

Because the container was constructed with defaultScope: "Singleton", the controller closure (and every dependency it captured) is cached after the first get(). Subsequent calls within the same process reuse it. To get a fresh closure you must unbind and rebind, which is exactly what bindProductionBlog does for the repo symbol.

+
+
// First request:
+blogContainer.get(SYMBOL);  // runs factory, caches result
+
+// Second request:
+blogContainer.get(SYMBOL);  // returns cached value, no factory call
+
+// To get a fresh wiring (e.g. after rebinding the repo):
+blogContainer.unbind(SYMBOL);
+blogContainer.bind(SYMBOL).toDynamicValue(/* ... */);
+
+
+
+ + +
+
+
§ 04
+
+

Three binding kinds.

+

The container supports many binding modes; this codebase uses three. Each fits a different shape of dependency. Knowing which to reach for is most of "how do I add a thing to the container?"

+
+
+ +
+
+
.to(Class)
+
use for · @injectable classes
+

The container will new Class() the first time the symbol is resolved (or use cached instance after, since scope is Singleton). Class must be decorated with @injectable. Constructor params are resolved via @inject(SYMBOL) decorators on the parameters.

+
bind<IArticlesRepository>(SYM).to(MockArticlesRepository);
+
+ +
+
.toDynamicValue((ctx) => ...)
+
use for · factory functions
+

The container runs the callback when the symbol is resolved. The callback receives a context object with container.get available, so you can fetch dependencies and pass them into the factory. Returns a closure (the wired-up function). Used for every use case and every controller in this codebase, because they are factory-style: (deps) => async (input) => result.

+
bind<IGetArticlesUseCase>(SYM).toDynamicValue((ctx) => + getArticlesUseCase( + ctx.container.get(BLOG_SYMBOLS.IArticlesRepository), + ), +);
+
+ +
+
.toConstantValue(instance)
+
use for · pre-constructed instances
+

You give the container an already-built object; it returns the same reference every time. Used by bindProduction*(config) because the real Payload-backed repository takes config as a constructor argument and the container has no way to provide that on its own. Also used by bindDevSeed* because the populated mock requires async createArticle calls during construction.

+
blogContainer + .bind(SYM) + .toConstantValue(new ArticlesRepository(config));
+
+
+ +

The progression is significant. .to is what inversify was originally built for — class-based DI, decorator-driven. .toDynamicValue opens the door to functional DI, which is what every use case and controller in this repo actually wants. .toConstantValue is the escape hatch for "I built this thing myself, just remember it for me." All three coexist in the same container without conflict.

+
+ + +
+
+
§ 05
+
+

Three modes, one container.

+

Same set of symbols, three possible states the container can be in. Pick a mode below to see which bindings change and which stay put.

+
+
+ +
+ mode +
+ + + +
+
+ +
+
+

blogContainer · state

+
USE_DEV_SEED ≠ "true" · no bindProduction* called yet
+
+ +
+
+ +
+
+ +
+
+
+
+ + +
+
+
§ 06
+
+

When does which mode run?

+

Six concrete scenarios that select a mode. The trigger is always the same: which binder did the entry point call?

+
+
+ +
+
+ scenario + trigger + resulting mode +
+
+
Just opened in your editor; nothing imported the container yet
+
no import
+
— (no container)
+
+
+
Test file imports the container directly
+
import "@/di/container"
+
default · empty mock
+
+
+
Server (any env) with USE_DEV_SEED=true · explicit override wins
+
bindAll() → bindAllDevSeed()
+
dev seed · populated mock
+
+
+
NODE_ENV=production, USE_DEV_SEED unset
+
bindAll() → bindAllProduction(config)
+
production · real Payload
+
+
+
pnpm dev (NODE_ENV=development or unset), no env flag
+
bindAll() → bindAllDevSeed() (default)
+
dev seed · populated mock
+
+
+
Storybook story that wants populated data
+
await bindDevSeedBlog(ctx)
+
dev seed · populated mock
+
+
+
Use-case unit test (skips DI entirely)
+
new MockArticlesRepository()
+
— (no container resolved)
+
+
+
+ + +
+
+
§ 07
+
+

How tests bypass all of this.

+

The DI lifecycle above describes the runtime. Most tests do not run any of it — they construct mocks directly and call factory functions. The two patterns coexist; the container is only one of them.

+
+
+ +
+
+

Tests that do use the container

+

Two kinds: container.test.ts (proves bindings resolve), and integrations/api/router.test.ts (proves the tRPC router resolves the right controller through DI). Both rebind the repo symbol via blogContainer.unbind + .toConstantValue(mock) in beforeEach, then run the tRPC procedure or look up the symbol directly.

+

Why these and not others? Because the tRPC router calls container.get internally — there is no way to test the procedure without going through DI.

+
beforeEach(() => {
+  if (blogContainer.isBound(BLOG_SYMBOLS.IArticlesRepository)) {
+    blogContainer.unbind(BLOG_SYMBOLS.IArticlesRepository);
+  }
+  blogContainer
+    .bind(BLOG_SYMBOLS.IArticlesRepository)
+    .toConstantValue(new MockArticlesRepository());
+});
+
+ +
+

Tests that do not

+

Use-case and controller tests skip the container entirely. They construct the mock with new MockArticlesRepository() and pass it directly into the factory function. No container.load, no symbols, no rebinding. Just three lines of setup, then assertions.

+

This is the default — it is what every non-router test in the repo does. The same MockArticlesRepository class that the container binds by default is also the class these tests instantiate. One artifact, two paths to it.

+
it("filters by status", async () => {
+  const repo = new MockArticlesRepository();
+  await repo.createArticle(articleFactory.build({ status: "published" }));
+
+  const useCase = getArticlesUseCase(repo);
+  const result = await useCase({ status: "published" });
+
+  expect(result).toHaveLength(1);
+});
+
+
+ +
+

The punchline: DI is for runtime, not tests.

+

The container exists because at runtime there is no other way for the tRPC router to find a controller without compile-time-knowing which one. Tests do know — they import the factory directly. So tests do not need DI, and using DI in tests would just couple them to the container's state.

+

That is the design: the mock implementation is reachable from both worlds (DI binds it as default; tests construct it directly), the contract suite verifies the mock and the real impl behave the same, and the container is the runtime-only mechanism that lets the same code resolve to different implementations depending on which binder ran at boot.

+
// Three places construct MockArticlesRepository:
+
+// 1. The container, by default (production binding swaps it).
+bind<IArticlesRepository>(SYM).to(MockArticlesRepository);
+
+// 2. bind-dev-seed, populated for dev mode.
+const repo = new MockArticlesRepository();
+for (const a of buildDevArticles()) await repo.createArticle(a);
+blogContainer.bind(SYM).toConstantValue(repo);
+
+// 3. Tests, directly. No container involved.
+const repo = new MockArticlesRepository();
+
+
+ + +
+
+
§ 08
+
+

Instrumentation symbols.

+

ADR-014 + ADR-017 added instrumentation symbols to the per-feature container — ITracer, ILogger, and IMetrics — bound by a separate Rule 0 in bindAll() that's orthogonal to the repo binding mode. The DSN env var decides OTel+Sentry vs Noop; USE_DEV_SEED / NODE_ENV decide real vs mock repos. Substrate: OpenTelemetry SDK. Sentry is the exporter via @sentry/opentelemetry. ADR-018 adds IAuditLog as a parallel channel with different durability and redaction contracts — see audit-and-compliance-explainer.html.

+
+
+ +
+
+

INSTRUMENTATION_SYMBOLS.ITracer

+

Bound by either bindNoopInstrumentation or bindOtelInstrumentation to NoopTracer or OtelTracer. Decided by Rule 0: DSN env present → OTel SDK + Sentry exporter; otherwise Noop. OtelTracer emits via @opentelemetry/api; spans flow to Sentry via SentrySpanProcessor.

+ +

INSTRUMENTATION_SYMBOLS.ILogger

+

Same rule, same lifecycle. NoopLogger in the absence of a DSN; OtelLogger when DSN is set. OtelLogger emits log records via @opentelemetry/api-logs; errors flow to Sentry via SentryLogRecordProcessor. The __sentryReported double-report guard is applied before emitting.

+ +

INSTRUMENTATION_SYMBOLS.IMetrics

+

Bound to NoopMetrics or OtelMetrics. OtelMetrics uses the OTel metrics API (counter, histogram, gauge). Per-feature adoption is opportunistic — no feature call sites required.

+ +

IAuditLog (ADR-018, optional)

+

Not a symbol — passed through ctx.auditLog, not bound on the per-feature container. Present only when @repo/core-audit is scaffolded via pnpm turbo gen core-package audit. Pre-wrapped in TraceIdEnrichingAuditLog so callers don't supply correlationId — it's read from the active OTel span at sink time. Parallel channel: OTel is sampled/pruned best-effort observability; audit is append-only and retained for compliance. Same traceId lives in both, which is the debugging bridge.

+
+ +
+

Wiring path

+
bindAll()
+  └─ resolveInstrumentation()          ← Rule 0 (DSN check)
+       └─ bindOtelInstrumentation()    ← OTel SDK init + Sentry exporter + PII scrub processors
+         OR bindNoopInstrumentation()  ← all Noop
+  └─ resolveEventsAndJobs*()          ← ADR-015 (env-driven bus + queue)
+       └─ Payload-backed in prod, in-memory in dev-seed
+  └─ resolveRealtime()                 ← ADR-016 (Socket.IO or in-memory)
+  └─ resolveAudit()                    ← ADR-018 (TraceIdEnriching( MultiSink([Stdout, Payload]) ))
+       └─ absent → ctx.auditLog is undefined; record() calls become no-ops via ?.
+  └─ build ctx: BindProductionContext = { config, tracer, logger, metrics?, bus, queue, realtime, realtimeRegistry, auditLog }
+       └─ required: tracer, logger, config  |  optional: metrics, bus, queue, realtime, realtimeRegistry, auditLog
+  └─ bindProductionX(ctx)             ← single ctx object passed to each feature binder
+       └─ feature container also binds TRACER + LOGGER
+       └─ wireUseCase({...}) at every use case:
+            withSpan → withCapture → withAudit? → withAnalytics? → withConsent? → withRateLimit? → factory(deps)
+            (the ? wrappers apply only when the manifest declares that channel)
+       └─ withSpan(withCapture(...)) at every controller
+       └─ assertFeatureConformance(container, manifest, symbolMap, ctx) at the tail
+       └─ // <gen:event-handlers> / // <gen:jobs> / // <gen:realtime-handlers> / // <gen:audit-hooks> injection sites
+ +

Why per-feature containers also get the binding: repository classes resolve TRACER/LOGGER through the container; controllers and use cases receive instrumentation via the bind-time wrapper instead.

+
+
+ +

The wrapper stack, applied as a sandwich

+

Each wrapper is a higher-order function taking (args) => Promise<R> and returning the same shape. For use cases, wireUseCase composes them in this order (outermost → innermost) and binds the result:

+
withSpan
+  └─ withCapture
+       └─ withAudit?       ← only if manifest declares `audits`
+            └─ withAnalytics?  ← only if manifest declares `analyticsEvents`
+                 └─ withConsent?    ← only if manifest declares `requiresConsent`
+                      └─ withRateLimit?  ← only if manifest declares `rateLimit`
+                           └─ factory(deps)
+

withSpan is always outermost so an errored span's timing reflects the capture-and-rethrow. The four optional wrappers (withAudit, withAnalytics, withConsent, withRateLimit) are conditionally inserted by wireUseCase based on the use case's manifest entry — a use case without any of those declarations gets the plain withSpan(withCapture(factory(deps))) sandwich. Controllers always use just withSpan(withCapture(...)).

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
WrapperWhat it doesApplied when
withSpan(tracer, opts, fn)Calls tracer.startSpan(opts, () => fn(...)). Pure delegation — no error handling of its own; status-on-error logic lives in the tracer impl.Always — every use case + every controller
withCapture(logger, tags, fn)On throw: checks __sentryReported; if not set, calls logger.captureException(err, { tags }), marks the flag, re-throws. If already set, just re-throws.Always — every use case + every controller, inside the span wrapper
withAuditForwarding wrapper that attaches the __audited brand so the conformance gate sees the binding is audit-aware. Automated audit recording from manifest declarations is reserved.Use case only, when manifest.useCases[x].audits is non-empty
withAnalyticsForwarding wrapper that attaches the __analyzed brand. Automated analytics recording from manifest declarations is reserved.Use case only, when manifest.useCases[x].analyticsEvents is declared
withConsentGates execution on the consent categories declared by the manifest; throws / no-ops when consent is missing.Use case only, when manifest.useCases[x].requiresConsent is declared
withRateLimitInnermost of the optional wrappers — consults the rate-limit budgets and rejects before factory(deps) runs.Use case only, when manifest.useCases[x].rateLimit is declared
+

Repositories are different — they call this.tracer.startSpan + this.logger.captureException inline per method, because they own the per-call attributes (count, IDs, slugs) that the wrapper has no way to know.

+
+ +
+ + + + + + + diff --git a/docs/architecture/feature-conformance-explainer.html b/docs/architecture/feature-conformance-explainer.html new file mode 100644 index 0000000..fa42639 --- /dev/null +++ b/docs/architecture/feature-conformance-explainer.html @@ -0,0 +1,2097 @@ + + + + + +feature-conformance / template-vertical / explainer + + + + + + + +
+
+
+ template-vertical + vol. 04 / explainer / conformance + folio 01 +
+
+

Feature
Conformance

+

A five-layer feedback system for AI agents writing features. The manifest is the source of truth; the compiler, the editor, the dev server, CI, and the fallow audit are the agent's correction signal — fast, structured, layered.

+
+ +
+
+ +
+ + +
+
+
+ § 01 +
+

The drift problem.

+

A feature-based monorepo lasts for years and is increasingly authored by AI agents. Conventions that lived in someone's head when the second feature was written are not legible to an agent writing the eighth. Agents can't be trained by code review, can't infer culture from PR history, and iterate dozens of times per hour. The job of conformance is to turn every convention into a machine-readable signal that fires fast enough to close the agent's correction loop.

+
+
+ +
+

Every convention is a promise. Every promise needs a watchman.

+

This repo already enforces some promises: no-handler-reexport, no-direct-socket-io, the PII grep gate in CI. Those are watchmen. The question is how to scale the watchman model so that every new core capability — audit, events, realtime, observability — gets the same enforcement quality, and so that the resulting signals are sharp enough for an AI agent to read, understand, and act on without human triage.

+

The answer below is a single declarative primitive (a feature manifest) read by five independent enforcement layers, each catching what the layer above missed. The earlier the layer fires, the tighter the agent's correction loop.

+
+
+
+ + +
+
+
+ § 02 +
+

Built for the agent loop.

+

An AI agent writing a new feature does not have intuition, taste, or memory of last quarter's incident. It has exactly what the toolchain emits — diagnostics, exit codes, stack traces, and the contents of error messages. Every design choice in the five layers below is shaped by that single fact: the system's output is the agent's correction signal.

+
+
+ +
+
+
Loop property
+

Fast

+

Sub-second feedback at compile and lint time. Agents iterate dozens of times per hour; a 2-minute CI gate is the wrong place to discover most mistakes.

+
+ +
+
Loop property
+

Structured

+

Error output is parseable: rule id, file path, line, machine-readable code. An agent grepping output recognises a category, not a prose blurb.

+
+ +
+
Loop property
+

Actionable

+

Every diagnostic ends with a Fix: line — the concrete next edit. Diagnosis without prescription forces the agent to guess.

+
+ +
+
Loop property
+

Layered

+

Five checks at five moments. If one is silenced or skipped, another catches it. No silent passes — exactly one layer must complain.

+
+
+ +
+
+
+
Agent iteration model
+

Write · read · correct.

+

The middle step is the bottleneck. The faster and clearer the signal, the more loops the agent can run inside a unit of work — and the smaller the chance of the agent's mental model diverging from what the codebase actually requires.

+
+
$ pnpm dev
+
+[bindAll] resolving billing feature…
+✗ ConformanceError
+  billing.charge: binding missing brand '__audited'
+  manifest declares mutates: true with audits: ["payment.captured"]
+  but binding is not wrapped in withAudit().
+
+  Fix: in packages/features/billing/src/di/bind-production.ts:36
+  wrap the use case as: withSpan(t, opts, withAudit(a, withCapture(l, tags, chargeUseCase(...))))
+
+# Agent reads diagnostic.
+# Agent edits bind-production.ts:36 per the Fix line.
+# Agent re-runs pnpm dev. Loop closes in ~3s.
+
+
+
+
+ + +
+
+
+ § 03 +
+

The manifest.

+

Every feature owns a typed manifest describing its contract with the core packages: which use cases mutate state, which audit events they emit, which cross-feature events they publish or consume, which realtime channels they own. The manifest is the only place these facts are declared — code that contradicts the manifest is what enforcement catches.

+
+
+ +
import { defineFeature } from "@repo/core-shared/conformance";
+
+export const authManifest = defineFeature({
+  name: "auth",
+  requiredCores: ["audit", "events"],          // hard deps
+  useCases: {
+    signIn:  {
+      mutates: false, audits: [], publishes: [], consumes: [],
+      rateLimit: [                                                // optional: per-use-case budgets
+        { name: "ip",      window: "1m", budget: 5 },
+        { name: "account", window: "1h", budget: 10 },
+      ],
+    },
+    signUp:  {
+      mutates: true, audits: ["user.created"], publishes: ["auth.signed-up"], consumes: [],
+      analyticsEvents: ["auth.signup.completed"],         // optional: declares withAnalytics emissions
+    },
+    signOut: { mutates: true, audits: ["session.ended"], publishes: [], consumes: [] },
+  },
+  realtimeChannels: [],
+  jobs: ["auth.welcome-email"],
+  coverage: {                                                  // optional: ADR-020 coverage bands
+    bands: {
+      baseline:    { statements: 80,  branches: 75,  functions: 80,  lines: 80 },
+      entities:    { statements: 100, branches: 100, functions: 100, lines: 100 },
+      "use-cases": { statements: 100, branches: 95,  functions: 100, lines: 100 },
+      controllers: { statements: 100, branches: 95,  functions: 100, lines: 100 },
+    },
+    mutationTargets: ["entities", "use-cases"],         // L3 mutation testing surface
+  },
+  // requiresConsent?: [...]   — optional: consent categories gated by withConsent
+} as const);
+ +
+
+

Manifest playground

+ toggle properties · watch enforcement light up +
+ +
+ +
+ +
+
Use case configure one use case below
+
+ signUp +
+
+ +
+
Behavior
+
+ +
+
+ +
+
Audit emissions
+
+ + +
+
+ +
+
Cross-feature publishes
+
+ + +
+
+ +
+
Required cores
+
+ + + +
+
+ +
+
Implementation present?
+
+ + + +
+
+ +
+ + +
+ +
+
+ compiler▮ tsc / IDE — 0s +
+
+
Type-checking signUp use-case binding…
+
+
+ +
+
+ editor▮ eslint — <1s +
+
+
Linting feature.manifest.ts and use-case files…
+
+
+ +
+
+ dev server▮ pnpm dev — ~3s +
+
+
Asserting container conformance…
+
+
+ +
+
+ continuous integration▮ pnpm conformance — ~120s +
+
+
Running cross-feature checks…
+
+
+ +
+
+
+
+
+ + +
+
+
+ § 04 +
+

Five enforcement points.

+

Each layer runs in a different process at a different moment, and so each layer sees something the others don't. The compiler sees types but not runtime calls. ESLint sees the AST but not bindings. The dev server sees the wired container but not what's missing. CI sees the whole repo. Fallow sees the whole codebase — dead exports, duplicates, circular deps, complexity hotspots that none of the other four are shaped to catch. Composed, they catch nearly every drift class.

+
+
+ +
+ Layer +
+ + + + + +
+
+ +
+
+

TypeScript brands

+
0sred squiggle, real-time
+
+ +
+
+ compile time +

If you forget the wrapper, you can't even bind.

+

Wrap helpers — withSpan, withCapture, withAudit — return branded function types. The DI bind signature requires those brands as input. A use-case factory that hasn't been wrapped is not assignable to the binding slot.

+

The manifest is consumed at the type level: a use case declared mutates: true demands an Audited brand in its binding. The IDE lights up the moment you save.

+
    +
  • No runtime cost. No test required.
  • +
  • Refactor-safe: rename a wrapper and every call site fails at once.
  • +
  • Doesn't catch behavior — only structural omissions.
  • +
+
+ Catches + forgotten withSpan; forgotten withAudit on mutation; missing dependency on the binder's ctx type. +
+
+
export type Instrumented<F> = F & { readonly __instrumented: true };
+
+export function withSpan<I, O>(
+  tracer: ITracer,
+  opts: SpanOpts,
+  fn: (input: I) => Promise<O>,
+): Instrumented<(input: I) => Promise<O>> { /* … */ }
+
+// core-shared/di/bind.ts
+type ProductionUseCase<I, O, M extends UseCaseManifest> =
+  & Instrumented<(input: I) => Promise<O>>
+  & (M["mutates"] extends true ? Audited<any> : unknown);
+
+// In bind-production.ts:
+bind<ISignUpUseCase>(SYMBOL).toDynamicValue<
+  ProductionUseCase<SignUpInput, SignUpOutput, AuthManifest["useCases"]["signUp"]>
+>(ctx => withSpan(tracer, opts, withAudit(auditLogger, withCapture(logger, tags, signUpUseCase(...)))));
+
+// Forget withAudit on a mutating use case:
+Type '...' is not assignable to type 'Audited<...>'.
+  Property '__audited' is missing.
+
+
+
+
+ + +
+
+
+ § 05 +
+

A catalog of mistakes.

+

A working enforcement system is best judged by the mistakes it catches and where. Below is a matrix of common drift patterns mapped to the first four layers — click any row to see the actual error message each layer surfaces. (Fallow, the fifth layer, catches a different class of drift — accretion rather than contradiction — and is covered in §04.) The earlier the catch, the cheaper the fix; the rightmost catch is the last line of defence.

+
+
+ +
+
+ Mistake + tsc + eslint + boot + ci +
+ +
+
+
+ + +
+
+
+ § 06 +
+

Layer composition.

+

The layers don't replace each other — they compose. Each is independently shippable, and each is best at catching a different class of mistake. Read left-to-right: the further right, the longer the feedback loop and the more situational the rule.

+
+
+ +
+
+ LayerSurfaceLatencyBest at +
+ +
+ tsc +
+
+
+ 0s + shape +
+ +
+ eslint +
+
+
+ <1s + policy +
+ +
+ boot +
+
+
+ ~3s + wiring +
+ +
+ ci +
+
+
+ ~120s + closure +
+ +

+ Bar length is feedback latency. Layer order is also the order in which mistakes get progressively more expensive to discover — a CI failure on a merge-day branch costs more than a red squiggle on save. +

+
+
+
+ + +
+
+
+ § 07 +
+

Build order.

+

Historical — this was the original build plan; the work is complete. Four independently shippable milestones. Built in this order because each was small on its own, and each catches mistakes the next milestone otherwise has to handle. Stop after any milestone and the remainder still works as a manual checklist.

+
+
+ +
+ Milestone +
+ + + + +
+
+ +
+
+ i. +

Manifest helper & branded wrappers

+
2–3 daysscope · effort
+
+
+
+
What ships
+

+
Files created or touched
+
    +
    +
    +
    What it catches
    +

    +
    Why this milestone first
    +

    +
    +
    +
    +
    +
    + + +
    +
    +
    + § 08 +
    +

    Anchor points already here.

    +

    Historical — written before the system was built; the “missing” pieces below have since been built on top of the green anchors. Most of the foundation for this system already existed in template-vertical. The list below shows what was in place (green), what was partially there (amber), and what needed to be built fresh (red). The plan was to extend existing muscle, not introduce a parallel mechanism — and that's what shipped.

    +
    +
    + +
    +
    +
    exists
    +

    @repo/core-eslint custom rules

    +

    The watchman registry.

    +

    no-handler-reexport, no-realtime-handler-reexport, no-direct-socket-io. The plugin scaffolding is in place — new rules drop in next to the existing ones.

    +
    Extends to → manifest/usecase-signature-matches, manifest/no-undeclared-event-publish, manifest/no-undeclared-audit
    +
    + +
    +
    exists
    +

    BindContext + bindAll() dispatcher

    +

    The boot-time assertion site.

    +

    Each feature exports bindProductionX(ctx); the app aggregator composes them. This is the natural place to run a single assertConformance(container, manifests) at the tail of bindAll().

    +
    Extends to → read every feature manifest, walk the container, fail boot on mismatch
    +
    + +
    +
    exists
    +

    withSpan / withCapture composition

    +

    The wrap convention.

    +

    Use cases are already wrapped at bind time with withSpan(tracer, opts, withCapture(logger, tags, factory(deps))). Brand types attach a phantom flag — zero runtime cost.

    +
    Extends to → add Instrumented<F>, Captured<F>, and a new Audited<F> when core-audit is on
    +
    + +
    +
    exists
    +

    turbo gen feature / event / job / realtime

    +

    The scaffold-on-creation pipeline.

    +

    Generators already exist for features, events, jobs, realtime channels. They become core-aware: read pnpm-workspace.yaml, scaffold matching wiring and a manifest entry alongside the use-case file.

    +
    Extends to → write the manifest stub, wire auditLogger dep when core-audit is present, register the symbol
    +
    + +
    +
    partial
    +

    PII grep gate

    +

    One example of a CI-only check.

    +

    The PII grep runs only in CI. The same shape applies to conformance: a pnpm conformance task that's cheap enough to also run locally as a watch, but authoritative in CI.

    +
    Extends to → add the conformance script, surface ESLint rules in the editor so CI is the backstop, not the front line
    +
    + +
    +
    missing
    +

    The manifest primitive itself

    +

    The new declarative source of truth.

    +

    Nothing today plays this role. defineFeature needs to live in core-shared/conformance/ with a strict as const contract, plus a typed registry the dispatcher can iterate.

    +
    Build → define-feature.ts, feature.manifest.ts in each feature, registry export in the app's bind-production.ts
    +
    + +
    +
    +
    + + +
    +
    +
    + § 09 +
    +

    Beyond the five.

    +

    Two natural extensions came out of design conversations — sharper AST machinery, and a separate story for code conventions. Both lean on the same five-layer chassis; neither requires a new tool.

    +
    +
    + +
    +
    + ast · extensions +

    Make ESLint type-aware first.

    +

    The rules in §04 walk the syntax tree but don't ask the compiler questions. Three escalating options, ordered by leverage for an agent loop.

    +
      +
    • Type-aware ESLint via parserServices.program — cross-file checks like "factory signature matches manifest deps", "binding-slot type resolves to Audited<F>". Same <1s layer; 10–100× slower than syntax rules but still sub-second.
    • +
    • Template-literal types on the manifest — e.g. audits: Array<`${FeatureName}.${string}`>. Pushes invariants down to the 0s compiler tier. A feature can't declare an audit it doesn't own.
    • +
    • TS Language-Service plugin — same diagnostics injected into tsserver, surfaced instantly without an ESLint round-trip. Marginal gain for agents (no IDE), big gain for humans.
    • +
    +
    + Recommendation + Start with type-aware ESLint — same layer, no new tool, biggest reach. Add template-literal types for invariants the type system can model directly. Skip the LS plugin unless humans complain about lint lag. +
    +
    + +
    + conventions · two camps +

    Structure vs. shape, two different layers.

    +

    Code conventions split cleanly. Each camp wants a different primitive — don't pick one tool and try to bend it across both.

    +
      +
    • Structural — file layout, required exports, mock siblings, scaffold shape. Use turbo gen feature as the canonical source; CI regenerates into a tmp dir and diffs. One tool catches dozens of conventions; cost scales sublinearly with each new convention. (Milestone iv.)
    • +
    • In-file shape — factory signature, .strict() on schemas, the presenter function, trailing outputSchema.parse(result), repository methods calling this.tracer.startSpan inline. Each is one small ESLint rule in @repo/core-eslint.
    • +
    • Pattern restrictions — "no socket.io outside core-realtime", "no payload.jobs.queue() outside core-shared/jobs/". no-restricted-imports plus the existing no-handler-reexport / no-direct-socket-io custom rules. Already in place; keep extending.
    • +
    • Type-encodable — anything expressible in a type, push to the compiler. Binding-slot brands, as const manifests, branded IDs. Free at runtime, refactor-safe.
    • +
    +
    + Recommendation + Lean on the generator-drift gate for structure; reserve ESLint for in-file shape. Resist writing 30 layout rules — one scaffold-diff catches the same drift, and the cost of a new convention drops to "regenerate and commit", not "write a rule". +
    +
    +
    +
    +
    + + +
    +
    +
    + § 10 +
    +

    Open questions.

    +

    Historical — these were the open questions before the spec was written; all five have since been answered in code. Kept here for the reasoning trail. Decisions to make before the spec is written. None block starting milestone i, but the answers shape how the manifest is shaped and which layer carries which check.

    +
    +
    + +
    +
    + i. +
    +
    Where does the manifest live?
    +

    Inside the feature package (src/feature.manifest.ts, co-located with use cases) so it ships with the package — or in the app's server/ directory so it's authoritative per-app? The first feels right for clean architecture; the second matches the existing aggregator pattern. Recommendation: feature package, with a tiny app-side registry that imports each.

    +
    +
    + +
    + ii. +
    +
    How much of the manifest is generated vs hand-written?
    +

    The generator writes the initial scaffold. After that: do humans edit it directly, or does ESLint auto-fix from the use-case file's signature? The auto-fix is convenient but means the manifest is no longer the source of truth — the code is. Recommendation: humans edit; ESLint flags mismatches both ways without fixing.

    +
    +
    + +
    + iii. +
    +
    Does the manifest enumerate symbols, or does the registry?
    +

    The bind-time assertion needs to know which container symbol each use case is bound to. Either the manifest declares it inline, or the registry holds a mapping. Inline is more self-contained; registry is less repetitive.

    +
    +
    + +
    + iv. +
    +
    What happens when an optional core is absent?
    +

    If core-audit isn't installed, a manifest entry like audits: ["user.created"] should ideally not even type-check. This requires the manifest's typed surface to depend on which cores are present in pnpm-workspace.yaml — non-trivial. Alternative: type the field as readonly never[] when audit is absent, gated by a build-time const.

    +
    +
    + +
    + v. +
    +
    Escape hatch?
    +

    Real systems need exceptions. A // @conformance-skip: <rule> — <reason> comment that ESLint and the boot assertion both honour, recorded in a single allowlist file so exceptions are visible and reviewable. Recommendation: yes, plus a CI step that fails when allowlist entries grow without an issue link.

    +
    +
    +
    +
    +
    + +
    + + + + + + + diff --git a/docs/architecture/overview.md b/docs/architecture/overview.md new file mode 100644 index 0000000..a64a8e7 --- /dev/null +++ b/docs/architecture/overview.md @@ -0,0 +1,152 @@ +# Architecture Overview + +A vertical-feature monorepo. Business capabilities are top-level packages; non-business foundations are `core-*`. + +## Package map + +``` +packages/ + # Must-have foundation (no business logic) + core-shared/ Generic primitives — Payload field/block helpers, tRPC init/context, + instrumentation interfaces, audit protocol + truncate-ip + AuditEntry shape, + BindContext + protocol types for optional cross-cutting cores + core-cms/ Composition only: assembles feature CMS exports into one Payload config + core-api/ Composition only: aggregates feature tRPC routers into one appRouter + + # Optional cross-cutting cores (scaffold on demand via `pnpm turbo gen core-package `) + core-trpc/ Frontend tRPC client + per-framework providers (Next.js, TanStack) + core-ui/ Design-system primitives (atoms, molecules, generic organisms, templates) + core-realtime/ Socket.IO server + broadcaster + handler registry (ADR-016) + core-events/ In-memory + Payload-backed event bus + job queue (ADR-015) + core-audit/ DPA-compliant audit logging — sinks, hook factories, eraseSubject (ADR-018) + core-analytics/ Product analytics capture channel (ADR-024) + core-consent/ Consent records + cookie-consent banner (ADR-025) + core-dsr/ Data-subject-rights — export, delete, rectify, restrict (ADR-025) + + # Business capabilities + auth/ Users + sign-in/sign-up/sign-out + session/cookie domain + blog/ Articles collection + publishing flow + media/ Media upload collection (skeleton; expand with optimization, CDN, etc.) + marketing-pages/ Pages collection + SiteSettings global + navigation/ Header global + menu items + + # Tooling + core-eslint/ Shared ESLint flat config + conformance rules + boundary rules + core-typescript/ Shared tsconfig + vitest base + core-testing/ Factories, contract suites, recording test doubles +``` + +See `docs/architecture/template-tiers.md` for the must-have/optional split and the scaffold commands. + +## Data flow + +``` +React component + ↓ useQuery(trpc.blog.articleBySlug.queryOptions({slug})) ← @repo//ui (queries) +HTTP /api/trpc + ↓ +tRPC procedure (xProcedure.input(xInputSchema)) ← integrations/api/router.ts + ↓ xProcedure has defineErrorMiddleware applied ← integrations/api/procedures.ts + ↓ container.get(SYMBOL) +Controller factory (xInputSchema.safeParse) ← interface-adapters/controllers/.controller.ts + ↓ (useCase) => async (input: unknown) => Promise +Use case factory ← application/use-cases/.use-case.ts + ↓ (deps) => async (input: XInput) => XOutput + ↓ ends with xOutputSchema.parse(result) +Repository implementation ← infrastructure/repositories/.repository.ts + ↓ getPayload({ config }) +Payload Local API → Postgres + ↓ on throw: + domain error → defineErrorMiddleware → TRPCError(code, cause) + ↓ on success: + controller's `function presenter(value: XOutput)` shapes the view + ↓ + tRPC response +``` + +Use cases and controllers are **factory functions** — they take their dependencies +as arguments and return the callable. The container wires them via +`.toDynamicValue((ctx) => factoryFn(ctx.container.get(...)))`. Each exports +`export type I*UseCase = ReturnType` (and the analogous +`I*Controller`) so consumers can depend on the type without importing the impl. +Controllers are **one per use case** — no multi-method controller files. + +**Schemas live in the use-case file**: every use case exports +`xInputSchema` (a `z.ZodObject` with `.strict()`; `z.object({}).strict()` for +void inputs) and, for non-void use cases, `xOutputSchema`. Controllers and tRPC +procedures import the schema — never redefine it. The use case body validates +its output via `xOutputSchema.parse(...)` before returning, so a misbehaving +repository fails loudly at the layer that owns the contract. + +**Controllers reshape via a co-located presenter**: every non-void +controller defines a top-level `function presenter(value: XOutput)` and returns +`Promise>`. Identity is fine — `return value;` — +but the function form is always present so adding a transform later is a +one-line edit. Void controllers (e.g. `signOutController`, +`deleteMediaController`) return `Promise` and skip the presenter. + +**Domain errors map to `TRPCError` per feature**: each feature owns +`integrations/api/procedures.ts` exporting `xProcedure = t.procedure.use( +defineErrorMiddleware([[Ctor, "TRPC_CODE"], ...]))`. Routers use `xProcedure` +instead of bare `publicProcedure`. `core-shared` provides the +`defineErrorMiddleware` factory but never enumerates a feature's errors — +each feature passes its own constructors in. + +## Three enforcement layers + +1. **`package.json` deps** — only declare allowed deps +2. **`exports` map** — each feature exposes a small public surface (`.`, `./ui`, `./cms`, `./api`, `./di/bind-production`, `./di/bind-dev-seed`) +3. **Two parallel automated checks**: + - **ESLint `eslint-plugin-boundaries`** (lint-time) — enforces boundary rules at linting + - **Turborepo `boundaries`** (build-graph time) — validates entire workspace dependency graph, including transitive reaches + +Both use the same five-tag model; see "Five tags" section below. + +## Five tags + +The workspace is organized into five mutually exclusive tags: + +- **app** (4 packages): `apps/cms`, `apps/web-next`, `apps/web-tanstack`, `apps/storybook` +- **core-composition** (2 must-have): `packages/core-api`, `packages/core-cms`. Plus `packages/core-trpc` when scaffolded via `pnpm turbo gen core-package trpc` (optional). +- **core** (1 must-have): `packages/core-shared`. Plus `core-ui`, `core-realtime`, `core-events`, `core-audit`, `core-analytics`, `core-consent`, `core-dsr` when scaffolded via `pnpm turbo gen core-package ` (optional). +- **feature** (5 packages): `packages/auth`, `packages/blog`, `packages/media`, `packages/marketing-pages`, `packages/navigation` +- **tooling** (3 packages): `packages/core-eslint`, `packages/core-typescript`, `packages/core-testing` + +See `docs/architecture/template-tiers.md` for the must-have/optional split and the scaffold commands. + +**Allowed dependency directions:** + +| Tag | May depend on | +| ---------------- | --------------------------------------------- | +| app | app, core, core-composition, feature, tooling | +| core-composition | core, core-composition, feature, tooling | +| core | core, core-composition, tooling | +| feature | core, feature, tooling | +| tooling | tooling | + +A feature may import another feature's **public exports** — its `@repo/` contract barrel (types, errors, schemas, event contracts). It must not reach another feature's internals (the `exports` map seals those), and cross-feature _behaviour_ still flows through `IEventBus` — a feature never imports and invokes another feature's use cases directly. + +**Composition exceptions:** + +- `core-api` may import from `@repo//api` subpath exports only +- `core-cms` may import from `@repo//cms` subpath exports only +- `core-trpc` reaches features transitively through `core-api`'s `AppRouter` type + +## Per-feature DI containers + +Each feature owns its own InversifyJS `Container` + symbol table. No shared symbols, no cross-feature DI coupling. Tests rebind per feature without touching others. Apps call `bindProduction*(config)` per feature at boot to swap the default mock implementations for Payload-backed ones. + +## Spec reference + +`docs/architecture/vertical-feature-spec.md` is the canonical design. + +## Interactive explainers + +Four single-file HTML walkthroughs sit alongside this overview. They're self-contained (no build step) and best viewed locally in a browser. + +- [`data-flow-explainer.html`](./data-flow-explainer.html) — request and event flow through one feature, with the DI binding mode toggle and feature swap controls. +- [`di-explainer.html`](./di-explainer.html) — the full container + symbols + binder lifecycle. +- [`feature-conformance-explainer.html`](./feature-conformance-explainer.html) — companion to ADR-020-adjacent conformance design (also linked from `agent-first-workflow-and-conformance.md` and `runbook.md`). +- [`audit-and-compliance-explainer.html`](./audit-and-compliance-explainer.html) — companion to ADR-018 (also linked from `dependency-flow.md` and `guides/audit-and-compliance.md`). + +The four pages cross-link to each other; entering any of them surfaces the others. diff --git a/docs/architecture/template-tiers.md b/docs/architecture/template-tiers.md new file mode 100644 index 0000000..7dbbdf3 --- /dev/null +++ b/docs/architecture/template-tiers.md @@ -0,0 +1,31 @@ +# Template tiers + +This template ships in three tiers: + +## Must-have (always present) + +- `@repo/core-shared` — protocol types, `BindContext`, instrumentation interfaces, jobs interface, tRPC primitives, payload helpers +- `@repo/core-eslint` — flat-config preset + repo-rules ESLint plugin + boundaries +- `@repo/core-typescript` — tsconfig presets (base, react-library, nextjs) +- `@repo/core-testing` — vitest helpers, factories, mocks, contracts +- `@repo/core-cms` — Payload config base +- `@repo/core-api` — top-level tRPC router root (mounts feature routers) + +Plus all 5 feature packages: auth, blog, marketing-pages, navigation, media. + +## Optional (scaffolded on demand) + +| Package | Generator | ADR | Guide | +| -------------- | --------------------------------------- | ------- | ----------------------------------- | +| core-realtime | `pnpm turbo gen core-package realtime` | ADR-016 | docs/guides/realtime.md | +| core-events | `pnpm turbo gen core-package events` | ADR-015 | docs/guides/events-and-jobs.md | +| core-trpc | `pnpm turbo gen core-package trpc` | (none) | (none) | +| core-ui | `pnpm turbo gen core-package ui` | (none) | (none) | +| core-audit | `pnpm turbo gen core-package audit` | ADR-018 | docs/guides/audit-and-compliance.md | +| core-analytics | `pnpm turbo gen core-package analytics` | ADR-024 | docs/guides/analytics.md | +| core-consent | `pnpm turbo gen core-package consent` | ADR-025 | docs/guides/consent.md | +| core-dsr | `pnpm turbo gen core-package dsr` | ADR-025 | docs/guides/dsr.md | + +## Why optional + +Each optional package addresses a specific need (realtime delivery, cross-feature events, tRPC, design system). Projects that don't need them get a slimmer template. The generator emits byte-identical copies of the packages as they shipped — see `turbo/generators/__snapshots__/core-package/.snapshot.json` for the canonical content hashes. diff --git a/docs/architecture/vertical-feature-spec.md b/docs/architecture/vertical-feature-spec.md new file mode 100644 index 0000000..5fde81c --- /dev/null +++ b/docs/architecture/vertical-feature-spec.md @@ -0,0 +1,691 @@ +# Vertical Feature Architecture Spec + +> **Architecture reference.** This document is the canonical design spec for the vertical-feature architecture. + +--- + +# Vertical Feature Monorepo Refactor — Design Spec + +**Date:** 2026-04-21 +**Status:** Approved for implementation planning +**Supersedes (partially):** 2026-04-06-clean-architecture-monorepo-template-design.md +**Source spec:** `monorepo-architecture-spec-detailed-v5.md` (v1 + addenda v3/v4/v5) + +--- + +## 1. Goal + +Refactor the template from a horizontal Clean Architecture monorepo (single `packages/core`, single `packages/api`, etc.) into a vertical feature-package monorepo where business capabilities (`auth`, `blog`, `media`, `marketing-pages`, `navigation`) are the top-level organizing principle, supported by `core-*` foundation packages for non-business concerns. + +The refactor preserves Clean Architecture layering _inside_ each feature (the existing rigor) while reorganizing _between_ packages by business capability. + +--- + +## 2. Current state (summary) + +- `packages/core` — all domains (auth, content) share one Clean Architecture layout with InversifyJS DI container +- `packages/api` — single tRPC aggregator + per-domain routers +- `packages/api-client` — React Query hooks + `ApiProvider` + `useTRPC` +- `packages/cms-core` — Payload config + all collections (Users, Articles, Media, SiteSettings global) +- `packages/cms-client` — dual-mode Payload client wrapper; defined but unused +- `packages/ui` — atomic-design component library +- `apps/web-next` (empty shell), `apps/web-tanstack` (empty shell), `apps/cms` (just stabilized), `apps/storybook` +- Mock repositories only — no Payload-backed infrastructure +- 9 Vitest unit tests under `packages/core/tests/unit/` +- Extensive per-directory AGENTS.md; 5 ADRs; 2 guides; 6 dated superpower plans + +--- + +## 3. Target state (summary) + +- Three must-have `core-*` packages: `core-shared`, `core-cms`, `core-api`. Five optional cross-cutting cores scaffold on demand via `pnpm turbo gen core-package `: `core-trpc`, `core-ui`, `core-realtime` (ADR-016), `core-events` (ADR-015), `core-audit` (ADR-018). See `docs/architecture/template-tiers.md`. +- Five feature packages: `auth`, `blog`, `media`, `marketing-pages`, `navigation` +- Two tooling packages renamed: `eslint-config` → `core-eslint`, `typescript-config` → `core-typescript` +- Three apps unchanged in name: `apps/web-next`, `apps/web-tanstack`, `apps/cms` +- Packages deleted: `packages/core`, `packages/api`, `packages/api-client`, `packages/cms-core`, `packages/cms-client`, `packages/ui` +- Per-feature InversifyJS containers (no shared container) +- Clean Architecture controllers retained inside each feature (`interface-adapters/controllers/`) +- Spec's `adapters/` renamed to `integrations/` to avoid collision with `interface-adapters/` +- Boundary enforcement via `eslint-plugin-boundaries` + `package.json` deps + `exports` maps + Turborepo tags +- Playwright e2e set up from day one in `web-next` and `web-tanstack` + +--- + +## 4. Decision log + +All decisions captured from the brainstorming conversation: + +| # | Decision | Rationale | +| --- | ------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 1 | **Big-bang migration** (not incremental) | Template has empty reference apps and no external consumers; incremental dual-maintenance is overhead without benefit | +| 2 | **Feature scope:** `auth` + `blog` + `media` + `marketing-pages` + `navigation` (all real, none as empty skeletons) | Template value is in worked examples; reference app needs something to render; spec §15A.2 forbids empty folders | +| 3 | **Keep InversifyJS** | User wants to preserve existing DI pattern rather than move to plain function injection | +| 4 | **Per-feature DI containers** (not a shared container) | Each feature owns its own `Container`, symbols, `getInjection()`. Perfect vertical ownership; no composition package needed for DI; tests unbind/rebind their own container | +| 5 | **`media` is a feature package**, not `core-media` | Application can live without media; it's a business capability per spec §3. Site-wide concerns (SiteSettings) fold into `marketing-pages`, not a separate `site` package | +| 6 | **Keep all three apps** (`web-next`, `web-tanstack`, `cms`) with existing names | `web-tanstack` proves features are framework-agnostic; no rename avoids churn | +| 7 | **Keep `interface-adapters/controllers/` layer** | Transport-agnostic controllers enable CLI/cron reuse; template should demonstrate growth room for presenters/gateways | +| 8 | **Rename spec's `adapters/` → `integrations/`** | Avoids collision with Clean Architecture's `interface-adapters/`; captures spec's "role not implementation" intent equally well; bounded deviation from spec | +| 9 | **Delete existing tests, rewrite fresh**; rewrite AGENTS.md, add ADRs, mark old ADRs superseded where relevant | DI pattern change + file layout change make porting more work than rewriting; ADRs preserve architectural history | +| 10 | **Include `eslint-plugin-boundaries`** from day one | Spec §13A.7 explicitly requires three-layer enforcement; package.json deps + exports + lint rules | +| 11 | **Playwright set up immediately** in `web-next` and `web-tanstack` | Not deferred; demonstrates framework portability end-to-end | +| 12 | **Keep `articles` collection/entity naming** (not rename to `posts`) | Simpler migration; collapses CMS-doc vs domain distinction which is fine for a template | + +Deviations from source spec (document explicitly as new ADRs): + +- Keep InversifyJS (spec examples use plain function injection) +- Keep controller layer between tRPC and use-case (spec goes tRPC→use-case direct) +- Rename spec's `adapters/` to `integrations/` +- Omit `core-payload-client` wrapper (aligned with spec §10) + +--- + +## 5. Target package layout + +``` +repo/ + apps/ + web-next/ # Next.js 15 App Router (port 3000) + app/ + layout.tsx # from @repo/core-trpc/next + trpc/[trpc]/route.ts # tRPC fetch adapter → @repo/core-api appRouter + blog/[slug]/page.tsx + about/page.tsx + page.tsx # home — navigation + marketing-pages + e2e/ + playwright.config.ts + blog-post.spec.ts + marketing-page.spec.ts + home-nav.spec.ts + package.json next.config.mjs tsconfig.json turbo.json + + web-tanstack/ # TanStack Start (port 3002) + ... # parallel tRPC wiring; own providers from @repo/core-trpc/tanstack + e2e/ + playwright.config.ts + blog-post.spec.ts + + cms/ # Payload admin host (port 3001) + app/(payload)/ # unchanged from current stabilized state + package.json next.config.mjs tsconfig.json turbo.json + + storybook/ # unchanged; updates imports from @repo/ui → @repo/core-ui + + packages/ + # ─── CORE — must-have (tagged "core" / "core-composition") ─── + core-shared/ # generic primitives (no business knowledge) + core-cms/ # Payload composition only (aggregates feature cms exports) + core-api/ # tRPC composition only (aggregates feature api exports) + # ─── CORE — optional (scaffold via `pnpm turbo gen core-package `) ─── + core-trpc/ # frontend tRPC platform (client, providers per framework) + core-ui/ # design-system primitives (atoms/molecules/templates) + core-events/ # in-memory + Payload-backed event bus + job queue (ADR-015) + core-realtime/ # Socket.IO broadcaster + handler registry (ADR-016) + core-audit/ # DPA-compliant audit logging (ADR-018) + core-analytics/ # product analytics capture channel (ADR-024) + core-consent/ # consent + cookie banner (ADR-025) + core-dsr/ # data-subject-rights — export/delete/rectify/restrict (ADR-025) + + # ─── FEATURES (business capabilities, tagged "feature") ─── + auth/ # Users collection + sign-in/up/out + blog/ # Articles collection + article use-cases + media/ # Media collection + upload helpers + marketing-pages/ # pages collection + SiteSettings global + navigation/ # header global + + # ─── TOOLING (tagged "tooling") ─── + core-eslint/ # ESLint preset + the 15 conformance rules + boundary rules + core-typescript/ # tsconfig presets (base, react-library, nextjs) + core-testing/ # factories, contract suites, recording test doubles + + docs/ + architecture/ + overview.md # rewritten + dependency-flow.md # rewritten + vertical-feature-spec.md # copy of source spec + decisions/ + adr-001 … adr-NNN # 25 ADRs at time of writing — see §11 and `docs/decisions/` + guides/ + adding-a-feature.md # rewritten + testing-strategy.md # rewritten + work/ # epic + story tracking + + CLAUDE.md AGENTS.md docker-compose.yml package.json pnpm-lock.yaml + pnpm-workspace.yaml tsconfig.base.json turbo.json +``` + +**Package count:** the `packages/` workspace holds **19 packages** — 3 must-have cores (`core-shared`, `core-cms`, `core-api`), 8 optional cores scaffolded on demand (`core-ui`, `core-events`, `core-realtime`, `core-trpc`, `core-audit`, `core-analytics`, `core-consent`, `core-dsr`), 3 tooling packages (`core-eslint`, `core-typescript`, `core-testing`), and 5 feature packages — plus 4 apps. A minimal project that scaffolds none of the optional cores ships 11 packages. + +--- + +## 6. Feature package internal shape + +Canonical mature shape (e.g., `packages/blog/`): + +``` +packages/blog/ + src/ + config.ts # constants if needed + + entities/ + models/ + article.ts # Zod schema + Article type + article.test.ts + errors/ + article.ts # ArticleNotFoundError (sets this.name) + common.ts # InputParseError + errors.test.ts + + application/ + repositories/ + articles.repository.interface.ts # IArticlesRepository + use-cases/ + get-articles.use-case.ts # factory + getArticlesInputSchema + getArticlesOutputSchema + parse + get-articles.use-case.test.ts # incl. R25 output-validation test + get-article-by-slug.use-case.ts + get-article-by-slug.use-case.test.ts + create-article.use-case.ts + create-article.use-case.test.ts + + infrastructure/ + repositories/ + articles.repository.ts # real Payload-backed impl (getPayload({ config }) from core-cms) + articles.repository.mock.ts # MockArticlesRepository + articles.repository.test.ts + articles.repository.mock.test.ts + + interface-adapters/ # Clean Arch grouping (controllers now; presenters/gateways later) + controllers/ + get-articles.controller.ts # factory + safeParse(getArticlesInputSchema) + function presenter + get-articles.controller.test.ts # incl. R27/R28 if presenter reshapes + get-article-by-slug.controller.ts # one file per use case + get-article-by-slug.controller.test.ts + create-article.controller.ts + create-article.controller.test.ts + + di/ # feature-local InversifyJS container + symbols.ts # BLOG_SYMBOLS + module.ts # ContainerModule — .toDynamicValue() for use cases + controllers + container.ts # blogContainer singleton + bind-production.ts # swaps mock → real Payload impls at app boot + bind-dev-seed.ts # swaps empty mock → populated mock for dev mode + bind-dev-seed.test.ts + container.test.ts + + integrations/ # renamed from spec's adapters/ + api/ + procedures.ts # blogProcedure = t.procedure.use(defineErrorMiddleware([...])) + router.ts # blogProcedure.input(xInputSchema).query/mutation(...) + router.test.ts # incl. R26 router error-mapping test + index.ts + cms/ + collections/ + articles.ts # Payload CollectionConfig + hooks/ + .ts # if needed + index.ts # exports: articles (for core-cms composition) + + ui/ + index.ts # re-exports query builders (apps import from @repo/blog/ui) + query.ts # trpc.blog.articleBySlug.queryOptions(...) + + __factories__/ + article.factory.ts # test data factories + + __contracts__/ + articles-repository.contract.ts # repo interface contract suite + + __seeds__/ + dev.ts # buildDev() — uses factory; consumed by bind-dev-seed + + index.ts # contracts only: types, errors, schemas, IUseCase/IController aliases, router type, constants + + tests/ + article-by-slug.feature.test.ts # cross-layer integration test + + package.json # exports: ".", "./ui", "./api", "./cms", "./di/bind-production", "./di/bind-dev-seed" + tsconfig.json + turbo.json # tags: ["feature"] +``` + +Small-feature variant (e.g., `packages/navigation/`) omits folders without meaningful code per spec §15 / addendum v5 ("create folders only when needed"): + +``` +packages/navigation/ + src/ + entities/ + models/ header.ts + errors/ header.ts common.ts + application/repositories/ header.repository.interface.ts + infrastructure/repositories/ header.repository.ts header.repository.mock.ts + di/ symbols.ts module.ts container.ts bind-production.ts container.test.ts + interface-adapters/controllers/ get-header.controller.ts get-header.controller.test.ts + integrations/ + cms/ globals/ header.ts + index.ts + api/ procedures.ts router.ts router.test.ts index.ts + ui/ index.ts query.ts + index.ts +``` + +Optional `events/`, `jobs/`, `integrations/cms/jobs/` directories (see ADR-015 and `docs/guides/events-and-jobs.md`); optional `realtime/` and `realtime/handlers/` directories (see ADR-016 and `docs/guides/realtime.md`); features may grow any of them on demand. The spec's canonical layout above remains correct as the minimum. + +**Request flow:** + +``` +useQuery(articleBySlugQuery({ slug })) ui/index.ts (typed tRPC client, via @repo/blog/ui) + ↓ +tRPC router.articleBySlug integrations/api/router.ts + ↓ blogProcedure has defineErrorMiddleware applied + ↓ .input(getArticleBySlugInputSchema) +articlesController.getBySlug(input: unknown) interface-adapters/controllers/ + ↓ getArticleBySlugInputSchema.safeParse(input) + ↓ throws InputParseError on failure + ↓ delegates to use case +getArticleBySlugUseCase(parsed.data) application/use-cases/ + ↓ deps injected by container at xProcedure.use(...) time + ↓ throws ArticleNotFoundError on miss + ↓ ends with getArticleBySlugOutputSchema.parse(result) +ArticlesRepository.getArticleBySlug infrastructure/repositories/ + ↓ getPayload({ config }) from @repo/core-cms +Payload Local API → PostgreSQL + ↑ on throw: + domain error → defineErrorMiddleware + → TRPCError(code, cause) + ↓ on success: + controller's `function presenter(value)` + shapes the view +``` + +**DI placement rationale:** `di/` sits at feature root (not under `infrastructure/`) because the container wires `application/` interfaces to `infrastructure/` implementations — it has knowledge of both layers and is a sibling to them, not a sub-layer. + +--- + +## 7. Core package responsibilities + +### `core-shared/` + +Generic reusable primitives. Zero business knowledge. + +``` +src/ + lib/ + env.ts date.ts + payload/ + access/ is-admin.ts + fields/ slug-field.ts seo-fields.ts + blocks/ cta.ts + hooks/ set-published-at.ts slugify-if-missing.ts + index.ts + trpc/ + init.ts # initTRPC.create + router/publicProcedure + context.ts # createTrpcContext + TrpcContext type + index.ts +``` + +Exports: `.`, `./payload`, `./trpc/init`, `./trpc/context`. + +Forbidden: importing any feature package. + +### `core-cms/` + +Payload composition only. + +``` +src/ + payload.config.ts # imports feature /cms exports, composes buildConfig + generated-types.ts # Payload type generator output + index.ts # re-exports config as default +``` + +Exports: `.`, `./generated-types`. + +Allowed exception: may import `@repo//cms` subpath exports only. + +### `core-api/` + +tRPC composition only. + +``` +src/ + root.ts # aggregates feature routers → appRouter + index.ts # re-exports appRouter + AppRouter type +``` + +Allowed exception: may import `@repo//api` subpath exports only. + +### `core-trpc/` + +Frontend tRPC platform with framework-specific provider shims. + +``` +src/ + client.ts # createTRPCReact() + query-client.ts # makeQueryClient() + providers/ + next-provider.tsx # 'use client' — Next.js App Router pattern + tanstack-provider.tsx # TanStack Start pattern + index.ts +``` + +Exports: `.`, `./next`, `./tanstack`. + +Forbidden: importing any feature package. + +### `core-ui/` + +Design-system primitives only. + +``` +src/ + atoms/ button/ input/ label/ + molecules/ form-field/ + organisms/ (generic only — e.g., modal, tabs, navigation-menu) + templates/ auth-layout/ dashboard-layout/ + lib/ utils.ts + index.ts +``` + +Generic organisms (Modal, Tabs, NavigationMenu, Command) live here. Feature-specific organisms (e.g., `ArticleCard`, `PricingSection`, `HeaderNavMenu`) live in the owning feature's `ui/`. Spec §6.5 boundary. + +Forbidden: importing any feature package. + +--- + +## 8. Payload collection & global ownership + +| Current | → New location | Slug / type | Notes | +| ------------------------------------- | ------------------------------------------------------------------------ | --------------- | ------------------------------- | +| `cms-core/src/collections/users/` | `packages/auth/src/integrations/cms/collections/users.ts` | `users` | Authenticated collection | +| `cms-core/src/collections/articles/` | `packages/blog/src/integrations/cms/collections/articles.ts` | `articles` | Name preserved per decision #12 | +| `cms-core/src/collections/media/` | `packages/media/src/integrations/cms/collections/media.ts` | `media` | Upload collection | +| `cms-core/src/globals/site-settings/` | `packages/marketing-pages/src/integrations/cms/globals/site-settings.ts` | `site-settings` | Site-wide metadata | +| (new) | `packages/marketing-pages/src/integrations/cms/collections/pages.ts` | `pages` | | +| (new) | `packages/navigation/src/integrations/cms/globals/header.ts` | `header` | | + +Composition in `core-cms/src/payload.config.ts`: + +```ts +import { buildConfig } from "payload"; +import { users } from "@repo/auth/cms"; +import { articles } from "@repo/blog/cms"; +import { pages, siteSettings } from "@repo/marketing-pages/cms"; +import { header } from "@repo/navigation/cms"; +import { media } from "@repo/media/cms"; + +export default buildConfig({ + collections: [users, articles, pages, media], + globals: [header, siteSettings], + typescript: { + outputFile: new URL("./generated-types.ts", import.meta.url).pathname, + declare: false, + }, + // db, admin config unchanged from current cms-core +}); +``` + +**Hook routing policy:** + +- Generic hooks (e.g., `slugify-if-missing`, `set-published-at`) live in `core-shared/src/payload/hooks/` and are imported by any collection that needs them. +- Business-specific hooks (e.g., "revalidate blog post page when published") live in the feature's `integrations/cms/hooks/`, which call the feature's `effects/` for reusable side effects. + +--- + +## 9. Boundaries + enforcement + +### 9.1 Five tags + +Package-level `turbo.json` tags (refined from earlier ADR-006's three-tag model): + +| Tag | Packages | +| ------------------ | --------------------------------------------------------------------------------------------------------------- | +| `app` | `apps/web-next`, `apps/web-tanstack`, `apps/cms`, `apps/storybook` | +| `core-composition` | `packages/core-api`, `core-cms`, plus `core-trpc` when scaffolded (optional) | +| `core` | `packages/core-shared`, plus `core-ui`, `core-realtime`, `core-events`, `core-audit` when scaffolded (optional) | +| `feature` | `packages/auth`, `blog`, `media`, `marketing-pages`, `navigation` | +| `tooling` | `packages/core-eslint`, `core-typescript` | + +Note: `core-trpc` is `core-composition` (not plain `core`) because it transitively reaches features through `core-api`'s `AppRouter` type. The other optional cross-cutting cores stay in plain `core` — they expose protocol types (consumed via `@repo/core-shared/di/bind-protocols`) and never reach into feature packages. + +### 9.2 Allowed dependency directions + +| Tag | May depend on | +| ---------------- | --------------------------------------------- | +| app | app, core, core-composition, feature, tooling | +| core-composition | core, core-composition, feature, tooling | +| core | core, core-composition, tooling | +| feature | core, feature, tooling | +| tooling | tooling | + +A feature may import another feature's **public exports** — its `@repo/` contract barrel (types, errors, schemas, event contracts). It must not reach another feature's internals, and cross-feature _behaviour_ still flows through `IEventBus`, never a direct use-case call. + +### 9.3 Composition exceptions + +- `core-cms` may import `@repo//cms` subpath exports only. +- `core-api` may import `@repo//api` subpath exports only. +- No other package may deviate from the five-tag rules. + +### 9.4 Four enforcement layers + +1. **`package.json` dependencies** — only allowed deps declared. +2. **`exports` maps** — feature packages expose `.`, `./ui`, `./cms`, `./api`, `./di/bind-production` only (no deep source paths). +3. **ESLint `eslint-plugin-boundaries`** (lint-time) — configured in `packages/core-eslint/` flat config: + - Enforces the five-tag rules (same rules as Turbo boundaries) + - File-specific exemptions via `// @boundaries-ignore` comments +4. **Turborepo `boundaries`** (build-graph time) — configured in root `turbo.json`: + - Validates the entire workspace dependency graph, including transitive dependencies + - Catches issues that lint-time checking misses (e.g., transitive feature reaches) + - Run `pnpm turbo boundaries` to validate + +### 9.5 Root `turbo.json` (unchanged concept) + +The snippet below shows the original task shape. The live `turbo.json` has evolved — additional tasks (`conformance`, `fallow`, `boundaries`, `test:stories`, `build-storybook`), tweaks to `dependsOn` (`test` and `typecheck` no longer depend on `^build`), and the `boundaries.tags` block enforcing the dependency matrix (see §9.2). See the actual root `turbo.json` for the authoritative shape; the principle below is unchanged. + +```json +{ + "tasks": { + "build": { "dependsOn": ["^build"], "outputs": [".next/**", "dist/**"] }, + "lint": { "dependsOn": ["^lint"] }, + "typecheck": { "dependsOn": ["^typecheck"] }, + "test": { "dependsOn": ["^build"] }, + "test:e2e": { "dependsOn": ["^build"], "cache": false } + } +} +``` + +Tags govern architectural boundaries; `dependsOn: ["^build"]` governs task execution order — separate concerns per spec §13A.6. + +--- + +## 10. Test placement + tooling + +### 10.1 Placement + +| Scope | Location | Suffix | +| --------------------------- | --------------------------- | ------------------- | +| Entity / value-object | colocated | `*.test.ts` | +| Use-case (with fake repo) | colocated | `*.test.ts` | +| Controller (Zod validation) | colocated | `*.test.ts` | +| Infrastructure repository | colocated | `*.test.ts` | +| DI container bindings | colocated | `*.test.ts` | +| React component | colocated | `*.test.tsx` | +| Query helper | colocated | `*.test.ts` | +| Core-shared primitive | colocated in `core-shared` | `*.test.ts` | +| Feature-level cross-layer | `packages//tests/` | `*.feature.test.ts` | +| Browser e2e | `apps//e2e/` | `*.spec.ts` | + +### 10.2 Vitest + +- Each package has its own `vitest.config.ts`. +- Shared base in `packages/core-typescript/vitest.base.ts`; packages extend it and pick `environment: 'jsdom' | 'node'` per need. +- Turbo `test` task runs `vitest run` per package. + +### 10.3 DI in tests (per-feature container) + +**Default (use case + controller tests) — direct factory injection.** Construct mock dependencies and pass them into the factory function. No container involvement: + +```ts +// Use case test — direct factory injection (ADR-012) +const repo = new MockArticlesRepository(); +const useCase = getArticleBySlugUseCase(repo); +const result = await useCase({ slug: "hello-world" }); + +// Controller test — same pattern +const repo = new MockArticlesRepository(); +const useCase = getArticleBySlugUseCase(repo); +const controller = getArticleBySlugController(useCase); +const result = await controller({ slug: "hello-world" }); +``` + +**Router tests — container rebinding still appropriate.** tRPC routers resolve controllers via `container.get(SYMBOL)`, so router tests must rebind the container: + +```ts +// Router test (only here is container rebinding still appropriate) +beforeEach(() => { + if (blogContainer.isBound(BLOG_SYMBOLS.IArticlesRepository)) { + blogContainer.unbind(BLOG_SYMBOLS.IArticlesRepository); + } + blogContainer + .bind(BLOG_SYMBOLS.IArticlesRepository) + .toConstantValue(new MockArticlesRepository()); +}); +``` + +No shared `initializeContainer()` / `destroyContainer()`. + +### 10.4 Actual test coverage + +- `pnpm test` runs green across every workspace package. Coverage thresholds are declared per-feature in `feature.manifest.ts` (ADR-020) — `entities` and `use-cases` at 100% statements/branches/functions/lines, `controllers` at 100/95/100/100, with a baseline of 80/75/80/80 elsewhere. The four coverage layers (L0 thresholds → L1 diff coverage → L2 aggregate trend → L3 mutation) are documented in `docs/guides/coverage.md`. + +Key coverage areas: + +- Output-validation: every non-void use case has a test asserting `xOutputSchema.parse` throws on malformed repository data +- Router error-mapping: every feature has a router test asserting domain error → correct `TRPCError.code` translation +- Presenter shape: `auth` sign-in/sign-up controllers assert the presenter-reshaped view (cookie, not full session object) + +### 10.5 Playwright (included from day one) + +- `apps/web-next/e2e/`: + - `playwright.config.ts` — starts dev server on port 3000 via `webServer`, chromium only initially + - `blog-post.spec.ts`, `marketing-page.spec.ts`, `home-nav.spec.ts` +- `apps/web-tanstack/e2e/`: + - Parallel config (port 3002) + - `blog-post.spec.ts` (validates framework-agnostic feature claim) +- `apps/cms/` — no e2e (Payload has its own admin tests) +- Root script: `pnpm test:e2e` via Turbo +- ESLint config adds `eslint-plugin-playwright` for e2e folders +- Playwright's `globalSetup` verifies Postgres is running; fails fast with a helpful message otherwise + +### 10.6 Test obligations per layer + +Every new use case and controller is expected to satisfy these rules. + +| Rule | Description | Layer | Where the test lives | +| ---- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------ | --------------------------------------------------------------------------------------- | +| R10 | Controller input must be typed `unknown`; schema is the gate | `interface-adapters/controllers/` | `*.controller.test.ts` — assert `InputParseError` on invalid input | +| R24 | Use-case + controller tests use direct factory injection; no `container.unbind/bind` | `application/use-cases/` + `interface-adapters/controllers/` | `*.use-case.test.ts`, `*.controller.test.ts` | +| R25 | Non-void use case has a test asserting `xOutputSchema.parse` throws on malformed repo data | `application/use-cases/` | `*.use-case.test.ts` | +| R26 | Every feature has a router test asserting domain error → expected `TRPCError.code` | `integrations/api/` | `router.test.ts` — call via `xRouter.createCaller({})` and assert `TRPCError.code` | +| R27 | When presenter strips/renames/transforms, controller test asserts the resulting view shape | `interface-adapters/controllers/` | `*.controller.test.ts` — assert omitted fields absent, transformed fields present | +| R28 | When controller has a non-identity presenter, tests assert the _view_ shape (not `XOutput`) | `interface-adapters/controllers/` | `*.controller.test.ts` — catches regressions where presenter short-circuits to identity | + +Identity presenters do not require R27/R28 tests. Void-output controllers (e.g., `signOutController`, `deleteMediaController`) are exempt from R11 (presenter), R25, R27, and R28. + +--- + +## 11. Docs + ADR strategy + +> **Historical.** This section captures the ADR strategy at the time of the vertical-feature refactor — 5 existing ADRs (001–005), 4 new ADRs (006–009), and the 2 post-spec ADRs (012–013). The **canonical, current ADR set** lives in `docs/decisions/` and now spans **25 ADRs** — adding boundaries (010), TDD foundation (011), instrumentation + OpenTelemetry (014, 017), events / realtime / audit (015, 016, 018), Sandcastle (019), coverage (020), hybrid versioning (021), library policy + CI security (022, 023), product analytics (024), and the EU compliance baseline (025). Read `docs/decisions/` for the authoritative list; the tables below are preserved as the refactor's original record. + +### 11.1 Existing ADRs + +| File | Action | Notes | +| ----------------------------- | ---------------------------- | ------------------------------------------------------------------------------ | +| `adr-001-monorepo-tool.md` | Keep unchanged | Turborepo + pnpm still accurate | +| `adr-002-di-framework.md` | Keep; append note | InversifyJS kept, but now per-feature containers | +| `adr-003-cms-separation.md` | Mark v1 superseded, write v2 | New architecture splits `cms-core` into `core-cms` + feature-owned collections | +| `adr-004-dual-mode-client.md` | Mark superseded | `cms-client` deleted per spec §10 | +| `adr-005-atomic-design.md` | Keep; append scope note | Applies to `core-ui/` only | + +### 11.2 New ADRs + +- `adr-006-vertical-feature-packages.md` — the main architectural pivot; references source spec +- `adr-007-drop-cms-client-wrapper.md` — rationale for removing `packages/cms-client` +- `adr-008-per-feature-di-containers.md` — why each feature owns its InversifyJS container +- `adr-009-integrations-folder-naming.md` — why spec's `adapters/` is renamed `integrations/` + +### 11.3 Rewritten docs + +- `docs/architecture/overview.md` — new diagram, new flow, vertical package organization +- `docs/architecture/dependency-flow.md` — new graph, three-tag boundary model +- `docs/architecture/vertical-feature-spec.md` — copy of source spec for offline reference +- `docs/guides/adding-a-feature.md` — new recipe (small feature + mature feature, per addendum v5) +- `docs/guides/testing-strategy.md` — new placement table + +### 11.4 AGENTS.md + +All rewritten: + +- Root `AGENTS.md` — new package map, new data flow, new rules, new boundary model +- Per-core-package: responsibilities + forbidden imports (~60 lines each) +- Per-feature-package: layer rules, addendum v5 folder-creation checklist, test placement +- Per-layer inside features: local import rules, test patterns (short) +- Per-app: purpose, imports, port, dev commands, e2e commands + +Root `CLAUDE.md` — updated "Read First" pointers, unchanged port table, added boundary-enforcement note. + +### 11.6 Post-spec ADRs + +Two additional ADRs were added after the initial vertical-feature refactor and now form part of the permanent decision record: + +- `adr-012-feature-conventions.md` — factory-function use cases + controllers, one-per-use-case controllers, canonical file-layout conventions, real Payload implementations for `auth`, full `media` scaffold. Accepts the pattern with four intentional divergences (inversify retained, per-feature DI containers, colocated tests, no Sentry wrapping). +- `adr-013-input-output-unification.md` — use-case file is the single source of truth for `xInputSchema`/`xOutputSchema`; runtime output validation (`xOutputSchema.parse(result)`); co-located `function presenter` in every non-void controller; per-feature `procedures.ts` for domain error → `TRPCError` mapping via `defineErrorMiddleware` from `core-shared`; `./ui` subpath separates UI artifacts from contracts. + +--- + +## 12. Out of scope (deferred) + +- Real Payload integration tests with a test database (stub with mock repos; write real integration tests later) +- Coverage reporting aggregation across packages (initial vitest setup per-package; aggregation is a follow-up) +- Multi-browser Playwright matrix (chromium only initially; add firefox/webkit later) +- Payload subscriptions / realtime (spec addendum v4); no feature requires it yet +- CMS app Next.js 15.5 + Payload 3.81 stabilization concerns (recently patched; monitor; no specific action in this refactor) + +--- + +## 13. Success criteria + +- `pnpm install && pnpm typecheck && pnpm lint && pnpm test && pnpm build` all green +- `pnpm test:e2e` green against running dev servers +- `pnpm dev --filter @repo/web-next` serves a home page with navigation + marketing content + a blog index, and `/blog/[slug]` shows an article — all fed by tRPC → feature controllers → use-cases → Payload Local API +- `pnpm dev --filter @repo/web-tanstack` renders the same blog post using the same feature packages +- Storybook builds showing `core-ui` primitives +- Any deep import (e.g., `import x from '@repo/blog/src/...'`) fails `pnpm lint` +- Cross-feature imports are restricted to event contracts (ADR-015): the `feature` boundary tag accepts other `feature` tags, but rule E1 (`no-handler-reexport`) keeps consumer handlers, use cases, and repositories private. Importing a publisher's contract is allowed; importing anything else still fails `pnpm lint`. +- Root `AGENTS.md` and one-per-package AGENTS.md reflect the new architecture +- 9 new ADRs (5 existing maintained/appended/superseded + 4 new) +- Zero references to deleted packages anywhere in the codebase + +--- + +## 14. Instrumentation & error capture (ADR-014, ADR-017) + +**Decisions:** `docs/decisions/adr-014-instrumentation-sentry.md` (interface decisions); `docs/decisions/adr-017-opentelemetry-migration.md` (OTel substrate, supersedes ADR-014 impl section). + +**Substrate:** OpenTelemetry SDK. Sentry is the exporter via `@sentry/opentelemetry`. PII scrubbing happens at the OTel processor layer before the Sentry exporter. Feature code depends only on `ITracer`, `ILogger`, `IMetrics` interfaces — no Sentry or OTel SDK imports. + +**File additions per feature:** + +- `infrastructure/repositories/.repository.ts` — constructor takes `(config, tracer, logger)` with Noop defaults; every public method's body is wrapped in `tracer.startSpan(...)` and any `catch` block calls `logger.captureException(err, { tags: { feature, repo, method } })` before re-throwing. +- `infrastructure/repositories/.repository.mock.ts` — same constructor/wrapping shape (no catch — mocks don't originate infra errors). +- `di/bind-production.ts` — signature `(ctx: BindProductionContext)` (from `@repo/core-shared/di`). Destructures `{ config, tracer, logger, metrics?, bus, queue, realtime, realtimeRegistry, auditLog }` from `ctx`. Binds TRACER + LOGGER to the feature container; constructs the real repo with tracer/logger; wraps every use case + controller via `withSpan(withCapture(factory(deps)))` at bind time. `withSpan` is outermost so an errored span's timing reflects the capture-and-rethrow; `withCapture` honours the `__sentryReported` flag so a bubbled error from the repo isn't re-captured. Optional fields (`metrics`, `bus`, `queue`, `realtime`, `realtimeRegistry`, `auditLog`) are guarded with `?.` or cast to the full interface when the feature unconditionally requires them (e.g. an authoritative action calls `ctx.auditLog?.record({...})`; the `?.` makes it safe whether or not `@repo/core-audit` is scaffolded). +- `di/bind-dev-seed.ts` — signature `(ctx: BindContext)` (no `config`). Same wrapping as bind-production but with the populated mock. + +**Required exports (per feature root):** unchanged. + +**Public surface impact:** none for `./` (contracts) and `./ui`. The `./di/bind-production` and `./di/bind-dev-seed` subpaths now have new signatures — any consumer outside the app dispatcher is unaffected (the dispatcher is the only consumer per ADR-008). + +**Test patterns:** + +- **Direct injection** of `RecordingTracer` / `RecordingLogger` from `@repo/core-testing/instrumentation` for span/capture assertions. +- **Contract suite span assertions** — every repo's contract suite (`__contracts__/*-repository.contract.ts`) includes a `span emission (R50)` describe block enumerating one assertion per method. + +**Tradeoff:** every public repo method gains ~6 lines of `tracer.startSpan(...)` boilerplate. Worth the per-method visibility in production traces; if it ever proves excessive, a `withRepoSpan` helper can collapse the wrapping. diff --git a/docs/compliance/README.md b/docs/compliance/README.md new file mode 100644 index 0000000..5fe5efe --- /dev/null +++ b/docs/compliance/README.md @@ -0,0 +1,256 @@ +# docs/compliance — reference examples for the compliance module + +This folder contains **annotated example files** that document the schema used by the compliance generators. It is **not** the live compliance artifact directory. + +| Location | Contents | Edit manually? | +| -------------------------------- | ------------------------------- | ----------------------- | +| `docs/compliance/` (this folder) | Schema examples and this README | Yes — static reference | +| `compliance/` (repo root) | Live generated artifacts | No — run the generators | + +--- + +## What each file in `compliance/` contains + +### `compliance/data-map.yml` + +A field-level PII inventory derived from every Payload collection in the workspace. + +For each collection the generator records: + +- **auth** — whether the collection has Payload authentication enabled +- **piiFields** — every field carrying a `custom.pii` tag, plus Payload auth defaults (`email`, etc.) for auth collections + +Each PII field entry captures the **category** (e.g. `contact-email`, `identification-username`), one or more **purposes** (e.g. `account-authentication`, `service-delivery`), whether the field is **exportable** (GDPR Art. 15) and **restrictable** (GDPR Art. 18), the **source** (`field-tag`, `auth-default`, or `auth-override`), and an optional per-field **retention** override. + +See `docs/compliance/data-map.example.yml` for every field with annotations. + +### `compliance/retention-policy.yml` + +A collection-level retention schedule derived from `custom.retention` blocks in Payload collection configs. + +For each collection the generator records: + +- **purgeSchedule** — cadence for the background purge job (`daily` | `weekly` | `monthly`); **required** on every collection +- **activeRetention** _(optional)_ — how long to keep a live record before triggering deletion +- **coldArchive** _(optional)_ — long-term archive window for regulatory fixed-term obligations +- **postDeletion** — what happens after a DSR erasure or account-closure request (`hard-delete` or `pseudonymize` with an ISO 8601 grace period) + +See `docs/compliance/retention-policy.example.yml` for every field with annotations. + +### `compliance/sub-processors.yml` + +An inventory of every third-party processor that receives personal data from this application. Entries come from two sources and are merged at emit time: + +1. **Library decision traces** (`docs/library-decisions/*.md`) — npm packages where `is-sub-processor: true` in the frontmatter. +2. **Manual entries** (`compliance/sub-processors.manual.yml`) — non-npm vendors (REST APIs, SaaS integrations, infrastructure providers). + +Each entry records the **package** name (sort key), **data-sent** description, **region**, **dpa-signed** and **sccs-required** booleans, a **contact** URL, the **decision** status, and a **source** discriminator (`library-trace` or `manual`). + +See `docs/compliance/sub-processors.example.yml` for both entry kinds with annotations. + +--- + +## How the files are generated + +All three artifacts are regenerated together: + +```bash +pnpm compliance:emit-all +``` + +Or individually: + +```bash +pnpm compliance:data-map # writes compliance/data-map.yml +pnpm compliance:retention-policy # writes compliance/retention-policy.yml +pnpm compliance:sub-processors # writes compliance/sub-processors.yml +``` + +Each script also supports two diagnostic modes: + +```bash +pnpm compliance:data-map -- --print # write YAML to stdout (no file written) +pnpm compliance:data-map -- --check # diff vs committed file; exit 1 on mismatch +``` + +`--check` mode is used by the pre-commit hook and CI drift gate to detect uncommitted changes to collection configs that would cause `compliance/*.yml` to drift from the source of truth. + +--- + +## Keeping `compliance/*.yml` up to date + +Regenerate and commit the artifacts whenever you: + +- Add or modify a Payload collection in any feature package +- Change `custom.pii` tags on collection fields +- Change `custom.retention` blocks on collection configs +- Add a library decision trace with `is-sub-processor: true` +- Add or update entries in `compliance/sub-processors.manual.yml` + +The pre-commit hook and CI gate run `emit-all --check` and will reject the commit or PR if the committed YAML is stale. + +--- + +## Annotating PII fields in a collection + +Add `custom.pii` to any field in a Payload collection config: + +```ts +{ + name: "phone", + type: "text", + custom: { + pii: { + category: "contact-phone", // PiiCategory + purpose: ["transactional-notifications"], // DataProcessingPurpose[] + exportable: true, + restrictable: true, + // Optional per-field retention override: + retention: { + duration: "P1Y", // ISO 8601 + trigger: "from-last-access", // "from-creation" | "from-last-access" | "after-deletion" + action: "hard-delete", // "hard-delete" | "pseudonymize" + }, + }, + }, +}, +``` + +For auth collections, `email` is automatically classified via `PAYLOAD_AUTH_PII_DEFAULTS`. Override per-collection via `custom.authPii`: + +```ts +{ + slug: "members", + auth: true, + custom: { + authPii: { + // Extend or replace the email default for this collection only: + email: { + category: "contact-email", + purpose: ["account-authentication", "marketing-communications"], + exportable: true, + restrictable: true, + }, + }, + }, +} +``` + +See `packages/core-shared/src/payload/pii-types.ts` for the full list of allowed `PiiCategory` and `DataProcessingPurpose` values. + +--- + +## Annotating retention policy in a collection + +Add `custom.retention` to the collection config. `purgeSchedule` is **required** on every collection; the other fields are optional: + +```ts +{ + slug: "profiles", + custom: { + retention: { + purgeSchedule: "daily", // Required: "daily" | "weekly" | "monthly" + activeRetention: { // Optional: expire live records + duration: "P2Y", + trigger: "from-last-access", + }, + coldArchive: { // Optional: regulatory fixed-term archive + duration: "P7Y", + trigger: "from-creation", + }, + postDeletion: { // Optional: override the default post-deletion behaviour + action: "pseudonymize", // "hard-delete" | "pseudonymize" + duration: "P30D", + trigger: "after-deletion", + }, + }, + }, +} +``` + +--- + +## Registering a sub-processor + +### From an npm library (preferred) + +Add sub-processor fields to the library's decision trace in `docs/library-decisions/`: + +```markdown +--- +package: "@acme/notifications-sdk" +version: "^2.3.0" +decision: approved +is-sub-processor: true +data-sent: "user email address and display name for transactional notification delivery" +region: EU +dpa-signed: true +sccs-required: false +contact: https://acme-sdk.example/privacy/dpa +--- +``` + +Run `pnpm compliance:sub-processors` to regenerate. + +### Non-npm vendors (REST APIs, SaaS, infrastructure) + +Create `compliance/sub-processors.manual.yml` if it doesn't already exist and add an entry: + +```yaml +- package: acme-email-service # slug-style identifier (no @ prefix) + version: "REST API v3" + data-sent: "user email address and message body for transactional email delivery" + region: EU + dpa-signed: true + sccs-required: false + contact: https://acme-email.example/legal/dpa + decision: approved +``` + +`compliance/sub-processors.manual.yml` is a hand-authored file committed to the repository alongside the generated `compliance/sub-processors.yml`. The generator merges manual entries at emit time and injects `source: "manual"` automatically. Do **not** add `source:` manually — it will be overwritten. + +Run `pnpm compliance:sub-processors` after any change to regenerate `compliance/sub-processors.yml`. + +--- + +## Policy templates + +The `docs/compliance/templates/` directory contains fill-in-the-blank runbooks for the operational policies required before a GDPR-covered launch. These are **template originals** — do not edit them in place. + +### Copy-to-`compliance/` workflow + +1. Copy the desired template from `docs/compliance/templates/` to `compliance/` (repo root): + ```bash + cp docs/compliance/templates/dsr-procedure.template.md compliance/dsr-procedure.md + ``` +2. Open the copied file and replace every `[FILL IN:]` marker with the project-specific value. +3. Commit the filled file to the repo as a live compliance artifact (same cadence as `compliance/*.yml`). + +### `[FILL IN:]` convention + +Every placeholder that requires a project-specific value is marked with the literal string `[FILL IN:]` followed by a short description of what is expected. This makes placeholders machine-detectable and easy to audit. + +To verify that all placeholders in your live artifacts have been resolved, run: + +```bash +grep -rn '\[FILL IN:' compliance/ +``` + +A zero-line result means all templates have been fully filled in. Any output identifies the file and line that still needs attention. + +--- + +## `sccs-required` guidance + +Set `sccs-required: true` when: + +- The vendor's primary data-residency region is outside the EEA **and** +- There is no EU adequacy decision covering that country (e.g. US before Privacy Shield replacement, India, most of Asia-Pacific) + +Set `sccs-required: false` when: + +- The vendor is EU/EEA-resident, **or** +- The vendor's country has a current EU adequacy decision, **or** +- The data transfer is covered by Binding Corporate Rules + +When `sccs-required: true`, ensure SCCs are incorporated in the DPA before marking `dpa-signed: true`. diff --git a/docs/compliance/data-map.example.yml b/docs/compliance/data-map.example.yml new file mode 100644 index 0000000..0b3cff2 --- /dev/null +++ b/docs/compliance/data-map.example.yml @@ -0,0 +1,79 @@ +# docs/compliance/data-map.example.yml — annotated reference for the data-map schema +# +# This file is NOT generated. It shows every possible field that can appear in +# compliance/data-map.yml and explains what each field means. +# +# Generated artifact : compliance/data-map.yml +# Generator : pnpm compliance:data-map +# Source of truth : packages/*/src/integrations/cms/collections/*.ts +# (custom.pii field tags + auth: true defaults) +# PII types : packages/core-shared/src/payload/pii-types.ts + +collections: + # ── Non-auth collection with manually tagged PII fields ─────────────────────── + profiles: + auth: false # true only for Payload auth-enabled collections (auth: true in collection config) + slug: profiles # matches the Payload collection slug; used as the map key + piiFields: # empty array ([]) when no PII fields are declared on the collection + # ── Minimal field tag (no retention override) ───────────────────────────── + - category: + identification-name # PiiCategory — see packages/core-shared/src/payload/pii-types.ts + # e.g. contact-email | identification-username | network-ip | … + exportable: true # GDPR Art. 15 — include in data-export responses + field: fullName # The Payload field name as declared in the collection + purpose: # DataProcessingPurpose[] — why we collect and process this value + - service-delivery # e.g. account-authentication | transactional-notifications | + # marketing-communications | analytics-aggregation | + # legal-compliance | service-delivery + restrictable: true # User can request restriction of processing under GDPR Art. 18 + source: field-tag # Origin: "field-tag" — custom.pii tag on the collection field + + # ── Field tag with a per-field retention override ───────────────────────── + # Use when a field needs a stricter retention window than the collection default. + - category: network-ip + exportable: false + field: lastIpAddress + purpose: + - legal-compliance + restrictable: false + retention: # Optional. Per-field retention window (overrides collection schedule). + action: hard-delete # RetentionAction: "hard-delete" | "pseudonymize" + duration: P6M # ISO 8601 duration (P6M = 6 months, P1Y = 1 year, P90D = 90 days) + trigger: from-last-access # RetentionTrigger: "from-creation" | "from-last-access" | "after-deletion" + source: field-tag + + # ── Auth-enabled collection: defaults + overrides ───────────────────────────── + # When a collection sets auth: true, PAYLOAD_AUTH_PII_DEFAULTS are applied + # automatically. Each default can be overridden via custom.authPii in the + # collection config without adding custom.pii to every field individually. + members: + auth: true # Activates PAYLOAD_AUTH_PII_DEFAULTS (email injected, password/salt/hash excluded) + slug: members + piiFields: + # Injected automatically because auth: true — no field tag needed on the collection + - category: contact-email + exportable: true + field: email + purpose: + - account-authentication + - transactional-notifications + restrictable: true + source: auth-default # From PAYLOAD_AUTH_PII_DEFAULTS; not declared in collection fields + + # The collection supplied custom.authPii.phone to extend or change the auth defaults + - category: contact-phone + exportable: true + field: phone + purpose: + - transactional-notifications + restrictable: true + source: auth-override # Collection explicitly overrode or extended the auth default + + # Regular custom.pii tag on a field inside an auth collection + - category: identification-username + exportable: true + field: username + purpose: + - service-delivery + restrictable: true + source: field-tag diff --git a/docs/compliance/retention-policy.example.yml b/docs/compliance/retention-policy.example.yml new file mode 100644 index 0000000..896048a --- /dev/null +++ b/docs/compliance/retention-policy.example.yml @@ -0,0 +1,59 @@ +# docs/compliance/retention-policy.example.yml — annotated reference for the retention-policy schema +# +# This file is NOT generated. It shows every possible field that can appear in +# compliance/retention-policy.yml and explains what each field means. +# +# Generated artifact : compliance/retention-policy.yml +# Generator : pnpm compliance:retention-policy +# Source of truth : packages/*/src/integrations/cms/collections/*.ts +# (custom.retention block inside each collection config) +# PII types : packages/core-shared/src/payload/pii-types.ts + +collections: + # ── Collection with all optional retention fields populated ─────────────────── + # This represents a user-identity collection with the strictest schedule. + profiles: + slug: profiles # matches the Payload collection slug; used as the map key + purgeSchedule: + daily # Required. Cadence for the background purge job. + # Allowed values: "daily" | "weekly" | "monthly" + # Set via custom.retention.purgeSchedule in the collection config. + + # Optional. How long to keep an active record before it enters the delete flow. + # Omit if records should live indefinitely until a user-deletion request is received. + activeRetention: + duration: P2Y # ISO 8601 duration (P2Y = 2 years, P1Y = 1 year, P6M = 6 months, P90D = 90 days) + trigger: + from-last-access # RetentionTrigger: when the clock starts + # "from-creation" — counted from record creation date + # "from-last-access" — resets on every authenticated session + + # Optional. Long-term cold-storage window before final purge. + # Use when regulatory obligations require records to survive deletion requests for a fixed term + # (e.g. financial records under EU accounting law, seven-year AML retention). + coldArchive: + duration: P7Y + trigger: from-creation # Usually from-creation for regulatory fixed-term obligations + + # Required. What happens after a user submits a deletion request (DSR erasure / account closure). + postDeletion: + action: + pseudonymize # RetentionAction: "hard-delete" | "pseudonymize" + # hard-delete — row is permanently removed at the end of the grace period + # pseudonymize — PII columns are replaced with opaque tokens; row is kept + # (use when the record must survive for aggregate analytics) + duration: P30D # Grace period before the action executes (ISO 8601 duration) + trigger: after-deletion # Fixed value — clock starts when the deletion request is accepted + + # ── Collection with only the required minimum fields ───────────────────────── + # Most content collections (articles, pages, media) use this minimal form. + articles: + slug: articles + purgeSchedule: monthly # Low-sensitivity content; monthly sweep is sufficient + + # postDeletion is required even for non-PII collections. + # For content without PII, hard-delete with a short grace period is the default. + postDeletion: + action: hard-delete + duration: P90D + trigger: after-deletion diff --git a/docs/compliance/sub-processors.example.yml b/docs/compliance/sub-processors.example.yml new file mode 100644 index 0000000..6f5ae2b --- /dev/null +++ b/docs/compliance/sub-processors.example.yml @@ -0,0 +1,68 @@ +# docs/compliance/sub-processors.example.yml — annotated reference for the sub-processors schema +# +# This file is NOT generated. It shows both kinds of entries that appear in +# compliance/sub-processors.yml and explains what each field means. +# +# Generated artifact : compliance/sub-processors.yml +# Generator : pnpm compliance:sub-processors +# Sources : (1) docs/library-decisions/*.md — frontmatter where is-sub-processor: true +# (2) compliance/sub-processors.manual.yml — hand-authored non-SDK vendors +# +# The two entry kinds are described below. Fields are rendered in a fixed order: +# package first, then remaining fields alphabetically. + +sub-processors: + # ── Kind 1: library-trace entry ─────────────────────────────────────────────── + # Sourced automatically from a library-decision file in docs/library-decisions/. + # To register a library as a sub-processor, add these fields to its frontmatter: + # + # is-sub-processor: true + # data-sent: "user email and display name for transactional notifications" + # region: EU + # dpa-signed: true + # sccs-required: false + # contact: https://acme-sdk.example/privacy/dpa + # + # The generator reads package, version, and decision from the existing trace + # frontmatter and merges the sub-processor fields automatically. + - package: "@acme/notifications-sdk" # npm package name (natural sort key; must match package: in trace) + contact: https://acme-sdk.example/privacy/dpa # DPA / privacy contact URL + data-sent: + "user email address and display name for transactional notification delivery" + # Plain-language description of what data is transmitted + decision: approved # Carry-through from library trace (approved | rejected | …) + dpa-signed: true # Data Processing Agreement in place with this vendor + region: EU # Primary data-residency region for this processor + sccs-required: + false # Standard Contractual Clauses required for data transfer? + # Required when region is outside the EEA and no adequacy decision + source: library-trace # Fixed value for entries sourced from a library decision file + version: "^2.3.0" # npm version specifier from the library trace + + # ── Kind 2: manual entry ────────────────────────────────────────────────────── + # For sub-processors that are NOT npm packages (REST APIs, SaaS integrations, + # infrastructure providers, etc.), create compliance/sub-processors.manual.yml + # and add entries there. The generator merges this file at emit time and injects + # source: "manual" automatically. + # + # Format for compliance/sub-processors.manual.yml (simple YAML list, no header): + # + # - package: acme-email-service + # version: REST API v3 + # data-sent: "user email address and message content" + # region: EU + # dpa-signed: true + # sccs-required: false + # contact: https://acme-email.example/legal/dpa + # decision: approved + # + # The "package" field is used as the sort key; use a slug-style identifier. + - package: acme-email-service # Slug identifier for non-npm vendors (no @ prefix) + contact: https://acme-email.example/legal/dpa + data-sent: "user email address and message body for transactional email delivery" + decision: approved + dpa-signed: true + region: EU + sccs-required: false + source: manual # Fixed value for entries sourced from sub-processors.manual.yml + version: "REST API v3" # Non-npm version descriptor; use the API version or contract date diff --git a/docs/compliance/subject-linkage.example.md b/docs/compliance/subject-linkage.example.md new file mode 100644 index 0000000..0dd81f3 --- /dev/null +++ b/docs/compliance/subject-linkage.example.md @@ -0,0 +1,170 @@ +# Subject linkage — annotated example + +This document describes the `custom.subject` declaration pattern for Payload collections that store data belonging to **more than one data subject**. It serves as the anchor for downstream consumers adding PII-holding collections to the data map. + +For background on the DSR cascade that consumes these declarations, see `docs/guides/dsr.md`. + +--- + +## What is a `SubjectLink`? + +A `SubjectLink` is a field-level declaration that maps a Payload relationship field to a data subject. The DSR cascade reads these at runtime to determine: + +1. Which rows to include in an Art. 15 export (`dsr.export`). +2. Which rows to delete or redact in an Art. 17 erasure (`dsr.delete`). + +```ts +type SubjectLink = { + field: string; // Payload field name (must be a relationship field) + kind: "self" | "owner" | "reference"; + target?: string; // Slug of the auth collection this field relates to + role?: string; // Semantic label (informational, appears in the data map) +}; +``` + +### `kind` discriminator + +| `kind` | Meaning | +| ------------- | --------------------------------------------------------------------------------------------------------------- | +| `"self"` | The field **is** the subject row — used on the auth collection itself (e.g., Users) | +| `"owner"` | The subject **created or owns** this row (e.g., the author of a post) | +| `"reference"` | The subject is **referenced** in this row but does not own it (e.g., an assignee, a reviewer, a mentioned user) | + +The difference between `"self"` and `"owner"` matters for deletion: rows marked `"self"` are the subject's account rows; rows marked `"owner"` are authored/owned content. Both are treated as owned data for Art. 15/17 purposes. `"reference"` rows are never deleted — only the linking field is NULLed. + +--- + +## Worked example: support ticket collection + +A support ticket has two subject relationships — the user who submitted it and the support agent assigned to it. + +```ts +// packages//src/integrations/cms/support-tickets.collection.ts +import type { CollectionConfig } from "payload"; + +export const SupportTicketsCollection: CollectionConfig = { + slug: "support-tickets", + custom: { + subject: [ + { + field: "submittedBy", + kind: "owner", // The submitter owns this ticket + target: "users", + role: "submitter", + }, + { + field: "assignedTo", + kind: "reference", // The assignee is merely linked, not the owner + target: "users", + role: "assignee", + }, + ], + retention: { + purgeSchedule: "daily", + postDeletion: { + action: "pseudonymize", + duration: "P30D", + trigger: "after-deletion", + }, + }, + }, + fields: [ + { + name: "title", + type: "text", + }, + { + name: "body", + type: "textarea", + custom: { + pii: { + category: "user-generated-content", + purpose: ["service-delivery"], + exportable: true, + restrictable: true, + }, + }, + }, + { + name: "submittedBy", + type: "relationship", + relationTo: "users", + required: true, + }, + { + name: "assignedTo", + type: "relationship", + relationTo: "users", + }, + ], +}; +``` + +### What the DSR cascade does with this collection + +**Art. 15 export** for user `alice`: + +- `submittedBy === alice` → ticket rows appear in `data["support-tickets"].asSelf` (filtered to exportable PII fields: `body`). +- `assignedTo === alice` → ticket row IDs + link coordinates appear in `data["support-tickets"].asReference`. + +**Art. 17 soft delete** for user `alice`: + +- Rows where `submittedBy === alice` → `body` field NULLed (pseudonymized, per `postDeletion.action = "pseudonymize"`). +- Rows where `assignedTo === alice` → `assignedTo` field NULLed; row is otherwise untouched. + +**Art. 17 cascade-hard delete** for user `alice` (admin only): + +- Rows where `submittedBy === alice` and `postDeletion.action` resolves to `"hard-delete"` → rows deleted entirely. +- Rows where `assignedTo === alice` → `assignedTo` field NULLed (reference rows are never hard-deleted — they belong to the submitter). + +--- + +## Collections with a single subject + +For collections owned by a single subject (e.g., user profile rows, blog posts), a single `SubjectLink` suffices: + +```ts +custom: { + subject: [ + { field: "author", kind: "owner", target: "users" }, + ], +} +``` + +--- + +## The Users collection (`kind: "self"`) + +The auth collection itself uses `kind: "self"` to mark the primary subject identifier field: + +```ts +// This is scaffolded automatically when `auth: true` is set on the collection. +custom: { + subject: [ + { field: "id", kind: "self", target: "users" }, + ], +} +``` + +The DSR cascade treats `kind: "self"` rows as the subject's account record — deletion here is always gated behind the strictest policy. + +--- + +## Regenerating the data map + +After adding or changing `custom.subject` declarations, regenerate the compliance data map: + +```bash +pnpm compliance:data-map +``` + +The output at `compliance/data-map.yml` shows every collection + its subject links + its PII fields. The pre-commit hook and CI gate run `compliance:data-map --check` to detect uncommitted drift. + +--- + +## Cross-references + +- DSR procedures and deletion semantics: `docs/guides/dsr.md` +- PII field tagging (`custom.pii`): `docs/compliance/README.md` +- Retention policy (`custom.retention`): `docs/compliance/retention-policy.example.yml` +- Glossary: `SubjectLink`, `DeletionCertificate` in `docs/glossary.md` diff --git a/docs/compliance/templates/backup-policy.template.md b/docs/compliance/templates/backup-policy.template.md new file mode 100644 index 0000000..4316699 --- /dev/null +++ b/docs/compliance/templates/backup-policy.template.md @@ -0,0 +1,78 @@ +--- +status: template +playbook-section: 30 +title: "Backup & Data Retention Policy" +last-reviewed: "[FILL IN: YYYY-MM-DD]" +--- + +# Backup & Data Retention Policy + +> **Template status** — fill every `[FILL IN: …]` marker before use. + +> **Not code-enforced** — this policy describes operational and organisational controls that are implemented outside the application codebase (infrastructure, vendor configuration, runbooks). The template authors intentionally do not ship backup or retention logic in the template; the consumer supplies those controls. + +--- + +## 1. Purpose & Scope + +This policy defines how `[FILL IN: organisation name]` backs up, retains, and securely disposes of personal data and system data held in `[FILL IN: describe systems in scope — e.g., PostgreSQL database, object storage, CMS content]`. + +**Owner:** `[FILL IN: role — e.g., Head of Engineering / DPO]` + +--- + +## 2. Backup Schedule + +| Data store | Backup frequency | Retention period | Storage location | +| --------------------------------- | ------------------------- | ---------------------------- | -------------------------------------- | +| `[FILL IN: primary database]` | `[FILL IN: e.g., daily]` | `[FILL IN: e.g., 30 days]` | `[FILL IN: e.g., encrypted S3 bucket]` | +| `[FILL IN: CMS media / uploads]` | `[FILL IN: e.g., daily]` | `[FILL IN: e.g., 90 days]` | `[FILL IN: e.g., object storage]` | +| `[FILL IN: log data]` | `[FILL IN: e.g., weekly]` | `[FILL IN: e.g., 12 months]` | `[FILL IN: e.g., SIEM / log archive]` | +| `[FILL IN: any other data store]` | `[FILL IN:]` | `[FILL IN:]` | `[FILL IN:]` | + +--- + +## 3. Encryption & Access + +- All backups are encrypted at rest using `[FILL IN: algorithm / key service — e.g., AES-256 via AWS KMS]`. +- Backup encryption keys are managed by `[FILL IN: key custodian / key management service]`. +- Access to backup storage is restricted to `[FILL IN: roles — e.g., infrastructure team, on-call engineers]` and controlled via `[FILL IN: IAM policy / vault policy]`. + +--- + +## 4. Restore Procedure + +1. `[FILL IN: describe how a restore request is initiated — e.g., ticket to #infra-ops]` +2. `[FILL IN: describe authentication / authorisation required before restore begins]` +3. `[FILL IN: describe restore steps for each data store]` +4. Verify data integrity after restore: `[FILL IN: checksum / row-count / smoke-test procedure]` +5. Log the restore event in `[FILL IN: audit log / incident tracker]`. + +**Recovery Time Objective (RTO):** `[FILL IN: e.g., 4 hours]` + +**Recovery Point Objective (RPO):** `[FILL IN: e.g., 24 hours]` + +--- + +## 5. Data Retention & Disposal + +| Data category | Retention period | Disposal method | +| ----------------------------------- | ------------------------------------------------------------------ | -------------------------------------------------- | +| `[FILL IN: user account data]` | `[FILL IN: e.g., account lifetime + 30 days post-erasure request]` | `[FILL IN: cryptographic erasure / secure delete]` | +| `[FILL IN: audit log entries]` | `[FILL IN: e.g., 7 years]` | `[FILL IN: automated purge job]` | +| `[FILL IN: application logs]` | `[FILL IN: e.g., 12 months]` | `[FILL IN: log rotation / SIEM TTL]` | +| `[FILL IN: marketing contact data]` | `[FILL IN:]` | `[FILL IN:]` | + +Disposal is triggered by `[FILL IN: describe the trigger — e.g., automated retention job, manual review cycle]` and verified by `[FILL IN: describe the verification step]`. + +--- + +## 6. Testing + +Backup restores are tested `[FILL IN: frequency — e.g., quarterly]` by `[FILL IN: role]`. Results are recorded in `[FILL IN: location — e.g., the infra runbook wiki]`. + +--- + +## 7. Review Cycle + +This policy is reviewed `[FILL IN: frequency — e.g., annually]` or after any material change to the backup infrastructure. The next scheduled review is `[FILL IN: YYYY-MM-DD]`. diff --git a/docs/compliance/templates/device-policy.template.md b/docs/compliance/templates/device-policy.template.md new file mode 100644 index 0000000..a44f447 --- /dev/null +++ b/docs/compliance/templates/device-policy.template.md @@ -0,0 +1,86 @@ +--- +status: template +playbook-section: 50 +title: "Acceptable Use & Device Policy" +last-reviewed: "[FILL IN: YYYY-MM-DD]" +--- + +# Acceptable Use & Device Policy + +> **Template status** — fill every `[FILL IN: …]` marker before use. + +> **Not code-enforced** — device management, endpoint security, and acceptable-use controls are implemented outside the application codebase (MDM, EDR, organisational policy). This template documents those controls; the consumer configures and enforces them at the infrastructure and HR level. + +--- + +## 1. Purpose & Scope + +This policy defines the acceptable use of devices and systems for all personnel — employees, contractors, and third-party service providers — who access `[FILL IN: organisation name]`'s systems, data, or networks. + +**Owner:** `[FILL IN: role — e.g., CISO / Head of Engineering]` + +--- + +## 2. Covered Devices + +| Device type | Management requirement | +| -------------------------------------- | -------------------------------------- | +| Company-issued laptops / desktops | `[FILL IN: MDM solution]` | +| Personal devices (BYOD) — if permitted | `[FILL IN: MDM profile / prohibition]` | +| Mobile phones (company-issued) | `[FILL IN:]` | +| Personal mobile devices (BYOD) | `[FILL IN:]` | + +BYOD is `[FILL IN: permitted / not permitted]`. If permitted: `[FILL IN: describe BYOD enrolment requirements]`. + +--- + +## 3. Required Endpoint Controls + +All devices accessing production systems or personal data MUST have: + +- [ ] Full-disk encryption enabled: `[FILL IN: e.g., FileVault / BitLocker / dm-crypt]` +- [ ] Endpoint protection (antivirus / EDR): `[FILL IN: product name]` +- [ ] Automatic OS and software updates enabled +- [ ] Screen lock after `[FILL IN: e.g., 5 minutes]` of inactivity +- [ ] Strong device passcode / PIN (minimum `[FILL IN: e.g., 8 characters]`) +- [ ] Remote-wipe capability enrolled: `[FILL IN: MDM / tool]` +- [ ] VPN required for access to `[FILL IN: e.g., production database, staging environment]` + +--- + +## 4. Acceptable Use + +### 4.1 Permitted uses + +- Business activities of `[FILL IN: organisation name]` +- Reasonable personal use that does not interfere with professional responsibilities +- `[FILL IN: any additional permitted uses]` + +### 4.2 Prohibited uses + +- Accessing, storing, or processing personal data outside approved systems +- Installing unapproved software on managed devices: `[FILL IN: software approval process]` +- Sharing credentials or device access with unauthorised parties +- Using personal cloud storage for business data: `[FILL IN: exceptions, if any]` +- `[FILL IN: any organisation-specific prohibitions]` + +--- + +## 5. Lost or Stolen Devices + +1. Report immediately to `[FILL IN: contact — e.g., IT helpdesk / security@org]`. +2. Remote wipe is initiated within `[FILL IN: e.g., 2 hours]` of report. +3. The incident is assessed for personal-data impact and escalated to the incident runbook if PII was accessible (see [`incident-runbook.template.md`](./incident-runbook.template.md)). +4. Document in `[FILL IN: incident tracker]`. + +--- + +## 6. Device Return & Offboarding + +On termination or role change, devices are returned within `[FILL IN: e.g., 1 business day]` and wiped via `[FILL IN: wipe procedure]`. See [`offboarding.template.md`](./offboarding.template.md) for the full offboarding checklist. + +--- + +## 7. Review Cycle + +This policy is reviewed `[FILL IN: frequency — e.g., annually]`. The next scheduled review is `[FILL IN: YYYY-MM-DD]`. diff --git a/docs/compliance/templates/dsr-procedure.template.md b/docs/compliance/templates/dsr-procedure.template.md new file mode 100644 index 0000000..91604fb --- /dev/null +++ b/docs/compliance/templates/dsr-procedure.template.md @@ -0,0 +1,312 @@ +--- +status: template +playbook-section: 10 +title: "Data Subject Rights (DSR) Fulfilment Procedure" +gdpr-articles: [Art. 15, Art. 16, Art. 17, Art. 18, Art. 20] +last-reviewed: "[FILL IN: YYYY-MM-DD]" +--- + +# Data Subject Rights (DSR) Fulfilment Procedure + +> **Template status** — fill every `[FILL IN: …]` marker before use. +> Cross-references below point to shipped interfaces, endpoints, and ADRs; do not change them. + +--- + +## 1. Purpose & Scope + +This procedure governs how `[FILL IN: organisation name]` receives, validates, fulfils, and records requests from data subjects exercising rights under GDPR Articles 15–20. + +**Covered rights:** + +| GDPR Article | Right | Shipped interface | +| ------------ | --------------------------------- | ----------------------------------------- | +| Art. 15 + 20 | Access + Portability | `IDataExport` (`dsr.export`) | +| Art. 16 | Rectification | `IDataRectify` (`dsr.rectify`) | +| Art. 17 | Erasure ("right to be forgotten") | `IDataDelete` (`dsr.delete`) | +| Art. 18 | Restriction of processing | `IProcessingRestriction` (`dsr.restrict`) | + +See [`docs/guides/dsr.md`](../../guides/dsr.md) for the engineering cookbook and [`docs/decisions/adr-025-eu-compliance-baseline.md`](../../decisions/adr-025-eu-compliance-baseline.md) § Epic B for the design rationale. + +--- + +## 2. Roles & Contacts + +| Role | Name | Contact | +| -------------------------------- | ------------------------------ | ------------------ | +| Data Protection Officer | [FILL IN: name / DPO provider] | [FILL IN: contact] | +| DSR Coordinator | [FILL IN: name] | [FILL IN: contact] | +| Engineering contact (fulfilment) | [FILL IN: name] | [FILL IN: contact] | + +**Intake channel:** `[FILL IN: e.g. privacy@example.com / online form URL]` + +--- + +## 3. Statutory Deadlines + +| Stage | Deadline | Extension | +| ------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| Acknowledge receipt | `[FILL IN: e.g. 5 business days]` | — | +| Fulfil or refuse | **1 calendar month** from receipt (GDPR Art. 12(3)) | Up to 2 further months for complex/numerous requests; notify subject within the first month | +| Notify subject of refusal | 1 month | — | + +Deadline clock starts when the organisation receives the request — not when identity is verified. + +--- + +## 4. Phase 1 — Receipt & Intake + +### 4.1 Intake channels + +Accept DSR requests via: + +- `[FILL IN: primary channel, e.g. privacy form at https://example.com/privacy/request]` +- `[FILL IN: secondary channel, e.g. email to privacy@example.com]` +- Any written format (GDPR does not mandate a specific form) + +### 4.2 Logging the request + +Log each incoming request immediately in `[FILL IN: DSR register / issue tracker]` with: + +| Field | Value | +| --------------- | --------------------------- | +| Reference ID | `DSR-YYYY-NNN` (sequential) | +| Right requested | Art. 15 / 16 / 17 / 18 / 20 | +| Channel | email / form / letter | +| Received at | ISO 8601 timestamp | +| Deadline | received + 1 month | +| Status | `pending-verification` | + +### 4.3 Acknowledgement + +Send acknowledgement to the requester within `[FILL IN: e.g. 5 business days]` confirming: + +- Receipt of the request +- Reference ID +- Identity verification requirement (§ 5) +- Statutory deadline + +Template: `[FILL IN: path to acknowledgement email template]` + +--- + +## 5. Phase 2 — Identity Validation + +### 5.1 Verification requirement + +GDPR Art. 12(6) permits identity verification when there is reasonable doubt. Always verify for Art. 17 (erasure) and Art. 18 (restriction). For Art. 15 (access) of clearly authenticated users, verification may be satisfied by existing session. + +### 5.2 Verification methods + +| Method | Acceptable for | +| ---------------------------------------------- | ---------------------------------- | +| Authenticated session in the app | Art. 15, Art. 16 (low-risk fields) | +| Email confirmation to registered address | All rights | +| `[FILL IN: government ID / identity provider]` | Art. 17 cascade-hard, Art. 18 | + +### 5.3 Rejected or suspicious requests + +If identity cannot be verified after `[FILL IN: e.g. 14 days]`: + +1. Close the request with status `identity-unverified`. +2. Notify the requester in writing of the outcome. +3. Log closure in the DSR register. + +--- + +## 6. Phase 3 — Fulfilment + +### 6.1 Identify the subject record + +Map the verified identity to the system `subjectId` (Payload `users.id` or equivalent auth collection primary key). Cross-reference `compliance/data-map.yml` (generated by `pnpm compliance:data-map`) to enumerate which collections hold personal data for this subject. + +```bash +# Regenerate data map to ensure it reflects current schema +pnpm compliance:data-map +``` + +Review `compliance/data-map.yml` fields tagged `exportable: true` (Art. 15/20) and `restrictable: true` (Art. 18). + +### 6.2 Art. 15 + 20 — Access and Portability + +**Interface:** `IDataExport.exportSubjectData(subjectId, format)` +**tRPC procedure:** `dsr.export` (query — no mutation) +**GDPR deadline:** respond within 1 month; provide data without charge for first copy. + +Invoke via the admin tRPC client or the REST endpoint wired in `apps/web-next`: + +``` +GET /api/gdpr/export?subjectId=&format=json +GET /api/gdpr/export?subjectId=&format=json-ld # machine-readable JSON-LD +``` + +The response is a `UserDataBundle`: + +- `data` — keyed by Payload collection slug; each bucket contains `asSelf` (rows the subject owns) and `asReference` (rows merely referencing the subject) +- `auditLog` — the subject's audit trail (optional; include for transparency) +- `exportedAt` — ISO 8601 export timestamp for the certificate of fulfilment + +**Audit entry emitted:** `EXPORT` action, `resource.type: "data-subject"`, `resource.id: subjectId`. + +Deliver the export to the subject via `[FILL IN: secure delivery method, e.g. encrypted download link / secure email]`. + +### 6.3 Art. 16 — Rectification + +**Interface:** `IDataRectify.updateSubjectField(subjectId, collection, field, value)` +**tRPC procedure:** `dsr.rectify` (mutation) +**Scope:** only fields tagged `custom.pii` in the Payload collection config (i.e. fields indexed in `compliance/data-map.yml`). + +``` +POST /api/gdpr/rectify +Body: { subjectId, collection, field, value } +``` + +Steps: + +1. Confirm the field is `custom.pii`-tagged in `compliance/data-map.yml`. +2. Confirm the new value passes Payload field validation. +3. Invoke the procedure; the implementation emits a `RESTRICT` audit entry with `reason: "art-16-request"`. +4. Notify the subject that rectification is complete and, if data was shared with third parties, notify them per Art. 19. + +Third-party notification log: `[FILL IN: log location]` + +### 6.4 Art. 17 — Erasure + +**Interface:** `IDataDelete.deleteSubjectData(subjectId, mode)` +**tRPC procedure:** `dsr.delete` (mutation — requires authenticated admin session for `cascade-hard`) +**Returned:** `DeletionCertificate` — retain this as evidence of fulfilment. + +**Mode selection:** + +| Mode | Effect | Who can invoke | +| ---------------- | ------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------- | +| `"soft"` | Redacts PII fields in owned rows; NULLs reference fields; row structure preserved | Standard authenticated user or DSR coordinator | +| `"cascade-hard"` | Hard-deletes owned rows where `postDeletion.action === "hard-delete"` per retention policy; NULLs reference fields | Admin role required | + +``` +POST /api/gdpr/delete +Body: { subjectId, mode: "soft" | "cascade-hard" } +``` + +**Exemptions** (GDPR Art. 17(3)) — erasure must be refused if data is required for: + +- Legal obligation compliance (document refusal in the DSR register) +- Establishment, exercise, or defence of legal claims + +**Audit trail pseudonymization:** after deletion, invoke `IAuditLog.eraseSubject(actorId, "pseudonymize")` via the admin tRPC to replace the subject identifier in the audit log with `erased-{hash[0:16]}` (sha256-salted pseudonym per ADR-018). This preserves the event record for regulatory purposes while removing the identifier. + +**Retention-policy overrides:** check `compliance/retention-policy.yml` for `postDeletion` rules — some collections may have a grace period (`postDeletion.duration: P30D`) before hard deletion executes. + +```bash +# View current retention policy +cat compliance/retention-policy.yml + +# Regenerate from Payload field tags +pnpm compliance:retention-policy +``` + +**DeletionCertificate fields to retain:** + +- `subjectId` (or pseudonymized form) +- `mode`, `timestamp`, `reason: "art-17-request"` +- `affected[]` — collections and rows modified +- `auditEntryId` — links to the audit log + +### 6.5 Art. 18 — Restriction of Processing + +**Interface:** `IProcessingRestriction.setRestriction(subjectId, granted: true)` +**tRPC procedure:** `dsr.restrict` (mutation) + +``` +POST /api/gdpr/restrict +Body: { subjectId, granted: true } +``` + +The implementation sets `processingRestrictedAt` on the user record. Downstream use cases check `isRestricted(subjectId)` before processing personal data. The audit channel records a `RESTRICT` audit entry on every state change. + +**Grounds for restriction (Art. 18(1)):** + +- Accuracy of data is contested (pending Art. 16 rectification) +- Processing is unlawful but erasure is opposed by the subject +- Organisation no longer needs the data but subject requires it for legal claims +- Subject has objected (pending verification of legitimate grounds) + +Notify the subject when restriction is lifted: invoke `dsr.restrict` with `granted: false` and send written notice per Art. 18(3). + +**Audit entry emitted:** `RESTRICT` (on restriction) / `UNRESTRICT` (on lift). + +--- + +## 7. Phase 4 — Recording & Closure + +### 7.1 DSR register update + +Update the DSR register entry (§ 4.2) with: + +| Field | Value | +| -------------- | ------------------------------------------------- | +| Fulfilled at | ISO 8601 timestamp | +| Outcome | `fulfilled` / `refused` / `partially-fulfilled` | +| Evidence | DeletionCertificate ID or export reference | +| Audit entry ID | From `AuditEntry.correlationId` or `auditEntryId` | +| Status | `closed` | + +### 7.2 Subject notification + +Notify the data subject of the outcome within the Art. 12(3) deadline: + +- Fulfilment: summary of actions taken, delivery method for exports. +- Refusal: grounds for refusal (Art. 12(4)), right to lodge complaint with SA, right to seek judicial remedy. + +Template: `[FILL IN: path to outcome notification template]` + +### 7.3 Third-party notification log (Art. 19) + +If the corrected, erased, or restricted data was previously shared with third parties (sub-processors listed in `compliance/sub-processors.yml`), notify each processor of the subject's request. Record each notification in `[FILL IN: third-party notification log]`. + +--- + +## 8. Consent-Related DSR Interactions + +Consent grant and withdrawal are distinct from Art. 17 erasure but often accompany DSR requests. The consent channel ([`docs/guides/consent.md`](../../guides/consent.md)) records: + +| Audit action | Trigger | +| ------------------ | -------------------------------------------------------- | +| `CONSENT_GRANT` | Subject grants consent for a category (e.g. `marketing`) | +| `CONSENT_WITHDRAW` | Subject withdraws consent | +| `RESTRICT` | Art. 18 restriction set | +| `UNRESTRICT` | Art. 18 restriction lifted | + +If a DSR request also includes consent withdrawal, invoke `IConsent.withdraw(subjectId, categories)` in addition to the relevant DSR procedure. Consent withdrawal does not automatically trigger erasure — only an explicit Art. 17 request does. + +--- + +## 9. Appendix — Command Reference + +```bash +# Regenerate PII data map (enumerate affected collections and fields) +pnpm compliance:data-map + +# Regenerate retention policy (check postDeletion rules before Art. 17) +pnpm compliance:retention-policy + +# Regenerate sub-processor list (for Art. 19 third-party notification) +pnpm compliance:sub-processors + +# Regenerate all compliance artifacts in one pass +pnpm compliance:emit-all + +# Run fallow audit before closing a DSR-related PR +pnpm fallow:audit +``` + +--- + +## 10. Document Control + +| Field | Value | +| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Owner | [FILL IN: DPO or DSR Coordinator] | +| Review cycle | [FILL IN: e.g. annual or on schema change] | +| Next review date | [FILL IN: YYYY-MM-DD] | +| Cross-references | [`docs/decisions/adr-025-eu-compliance-baseline.md`](../../decisions/adr-025-eu-compliance-baseline.md), [`docs/decisions/adr-018-audit-and-compliance.md`](../../decisions/adr-018-audit-and-compliance.md), [`docs/guides/dsr.md`](../../guides/dsr.md), [`docs/guides/audit-and-compliance.md`](../../guides/audit-and-compliance.md), [`docs/guides/consent.md`](../../guides/consent.md), [`../data-map.example.yml`](../data-map.example.yml) | diff --git a/docs/compliance/templates/incident-runbook.template.md b/docs/compliance/templates/incident-runbook.template.md new file mode 100644 index 0000000..3821377 --- /dev/null +++ b/docs/compliance/templates/incident-runbook.template.md @@ -0,0 +1,264 @@ +--- +status: template +playbook-section: 20 +title: "Security Incident & Personal Data Breach Runbook" +gdpr-articles: [Art. 33, Art. 34] +last-reviewed: "[FILL IN: YYYY-MM-DD]" +--- + +# Security Incident & Personal Data Breach Runbook + +> **Template status** — fill every `[FILL IN: …]` marker before use. +> Cross-references below point to shipped code and ADRs; do not change them. + +--- + +## 1. Purpose & Scope + +This runbook governs the detection, triage, containment, notification, and post-mortem of security incidents and personal data breaches affecting `[FILL IN: product / organisation name]`. + +**In scope:** any event that may have compromised the confidentiality, integrity, or availability of personal data processed by this system, including unauthorized access, exfiltration, accidental exposure, and ransomware. + +**Out of scope:** non-PII service disruptions (handle via standard on-call runbook). Escalate to this runbook when PII impact cannot be ruled out. + +--- + +## 2. Severity Classification + +| Level | Definition | Example | +| ----------------- | ------------------------------------------------- | ---------------------------------------------------- | +| **P0 — Critical** | Confirmed exfiltration or mass exposure of PII | Database dump on public host | +| **P1 — High** | Suspected breach; blast radius unknown | Anomalous `EXPORT` audit entries for non-admin actor | +| **P2 — Medium** | Contained misconfiguration; no confirmed PII leak | Stale presigned URL exposed to wrong tenant | +| **P3 — Low** | Near-miss; no PII accessed | Failed injection attempt blocked by rate-limit | + +--- + +## 3. Roles & Contacts + +| Role | Name | Contact | +| ----------------------- | ------------------------------ | ------------------ | +| Incident Commander | [FILL IN: name] | [FILL IN: contact] | +| Data Protection Officer | [FILL IN: name / DPO provider] | [FILL IN: contact] | +| Legal / Counsel | [FILL IN: name] | [FILL IN: contact] | +| Engineering Lead | [FILL IN: name] | [FILL IN: contact] | +| Communications Lead | [FILL IN: name] | [FILL IN: contact] | + +**Supervisory Authority (SA):** + +- Authority name: `[FILL IN: e.g. ICO / CNIL / BfDI]` +- Online notification portal: `[FILL IN: URL]` +- Emergency phone: `[FILL IN: number]` + +--- + +## 4. Phase 1 — Detection + +### 4.1 Automated signals + +This template ships two automated detection surfaces. Check both when an alert fires. + +#### Sentry error alerting (ADR-014) + +Every unhandled exception in `apps/web-next`, `apps/cms`, and `apps/web-tanstack` is captured via `ILogger.captureException` and routed to Sentry ([`docs/decisions/adr-014-instrumentation-sentry.md`](../../decisions/adr-014-instrumentation-sentry.md)). Configure alert rules in Sentry for: + +- Spike in `4xx` / `5xx` on auth or DSR routes +- New issue fingerprints in production environment +- Volume anomaly on `[FILL IN: Sentry project slug]` + +**Verify DSNs are configured:** + +```bash +# Each app has its own Sentry project +echo $WEB_NEXT_SENTRY_DSN +echo $CMS_SENTRY_DSN +echo $WEB_TANSTACK_SENTRY_DSN # if TanStack Start app is in use +``` + +All three must be non-empty in production. A missing DSN silently disables capture for that app. + +#### Audit log anomalies (ADR-018) + +The audit channel ([`docs/decisions/adr-018-audit-and-compliance.md`](../../decisions/adr-018-audit-and-compliance.md)) records every `AuditAction` emitted by feature use cases via `AuditLogProtocol.record()`. Actions relevant to breach detection: + +| `AuditAction` | Breach signal | +| ------------------- | ----------------------------------------------------- | +| `EXPORT` | Mass export by non-admin actor or from unexpected IP | +| `VIEW` | High-frequency reads on a single `actorId` | +| `PERMISSION_CHANGE` | Privilege escalation outside change-management window | +| `DELETE` | Bulk delete with no corresponding DSR request | + +Query the Payload audit logs collection or the aggregated cold archive (`[FILL IN: log aggregation URL, e.g. Vector / Fluent Bit sink]`) for anomalies. Correlate with OTel `correlationId` (trace ID auto-populated by `TraceIdEnrichingAuditLog`). + +#### Rate-limit exhaustion (ADR-025 § Epic C) + +The rate-limit primitive (`IRateLimit` in `core-shared/rate-limit`, see [`docs/guides/rate-limiting.md`](../../guides/rate-limiting.md)) emits `{ allowed: false, remaining: 0, resetAt }` when a budget is exhausted. Repeated exhaustion on auth or DSR endpoints may indicate credential-stuffing or automated exfiltration. + +Check budget tables declared in feature manifests (`rateLimit: { window, budget }`) against observed traffic in `[FILL IN: metrics dashboard URL]`. + +#### Security header violations + +HSTS, `X-Frame-Options`, and CSP headers are emitted by the security-headers middleware ([`docs/guides/security-headers.md`](../../guides/security-headers.md)). CSP violation reports (if `report-uri` is configured) surface attempted XSS. Check `[FILL IN: CSP report endpoint / dashboard]`. + +### 4.2 Manual discovery + +If detection was by human observation (e.g., responsible-disclosure report, darknet alert): + +1. Log the reporter's contact and discovery timestamp. +2. Do not confirm or deny breach details to the reporter until DPO is engaged. +3. Proceed to Phase 2. + +--- + +## 5. Phase 2 — Triage + +**Target time: within [FILL IN: e.g. 2 hours] of detection.** + +### 5.1 Triage checklist + +- [ ] Page Incident Commander and DPO. +- [ ] Open incident channel: `[FILL IN: e.g. #incident-YYYYMMDD in Slack / Teams]`. +- [ ] Document initial facts: detected at, detected by, affected system(s). +- [ ] Classify severity (§ 2). +- [ ] Determine if personal data is involved (see § 5.2). +- [ ] Initiate 72-hour DPA notification clock if P0 or P1 (§ 7.1). + +### 5.2 PII impact assessment + +Use the generated data map (`compliance/data-map.yml`, generated by `pnpm compliance:data-map` from Payload `custom.pii` field tags) to enumerate which collections and fields may be affected. Cross-reference with the scope of the incident (endpoint, DB table, S3 bucket, etc.). + +Key questions: + +- Which `piiCategory` values are in the affected scope? (e.g. `contact-email`, `identification-name`) +- Are any `restrictable: true` subjects affected (i.e. users who invoked Art. 18)? +- Was the `auditLogs` collection itself compromised? (Audit trail integrity is required for Art. 33 notification.) + +--- + +## 6. Phase 3 — Containment + +**Target time: within [FILL IN: e.g. 4 hours] of confirmation for P0/P1.** + +### 6.1 Immediate actions + +- [ ] Revoke or rotate compromised credentials (`[FILL IN: credential management system]`). +- [ ] Block actor at network/WAF level if attack is ongoing (`[FILL IN: WAF / CDN control panel URL]`). +- [ ] If a specific `actorId` is confirmed malicious: suspend account in Payload admin (`apps/cms`, port 3001). +- [ ] If a tRPC or REST route is the attack vector: deploy an emergency rate-limit tightening or disable the route (`[FILL IN: deployment method]`). +- [ ] Preserve evidence: take read-only snapshots of affected tables, CloudWatch / log streams, and network flow logs before any cleanup. + +### 6.2 Audit trail preservation + +The audit log collection is append-only (`update: () => false` Payload access rule per ADR-018). Do not attempt to delete or modify audit entries. If the audit collection itself is a target, freeze DB-level access and take a snapshot: + +```bash +# [FILL IN: adapt to your database provider] +pg_dump --schema-only --table=audit_logs $DATABASE_URL > audit_logs_schema_snapshot.sql +pg_dump --data-only --table=audit_logs $DATABASE_URL > audit_logs_data_snapshot.sql +``` + +--- + +## 7. Phase 4 — Notification + +### 7.1 Regulatory notification deadlines + +| Obligation | Deadline | Trigger | +| -------------------------------------------- | -------------------------------- | -------------------------------------------------------------------------- | +| GDPR Art. 33 — notify Supervisory Authority | **72 hours** from becoming aware | Any breach involving personal data unless unlikely to risk rights/freedoms | +| `[FILL IN: national DPA requirement]` | **[FILL IN: e.g. 24 hours]** | `[FILL IN: condition]` | +| GDPR Art. 34 — notify affected data subjects | Without undue delay | High risk to rights and freedoms | + +**Clock start:** the moment the organisation "becomes aware" — typically when the Incident Commander or DPO confirms the incident in § 5.1, not when it was first detected. + +### 7.2 Supervisory Authority notification (Art. 33) + +Prepare the notification using the SA's online portal (`[FILL IN: URL]`). Required fields per Art. 33(3): + +- Nature of the breach (categories and approximate number of records / data subjects) +- Name and contact details of DPO: `[FILL IN: DPO name, email, phone]` +- Likely consequences of the breach +- Measures taken or proposed + +Attach: + +- Incident timeline (from detection to containment) +- Affected `piiCategories` from `compliance/data-map.yml` +- Audit log extract covering the incident window (redact unrelated subjects) + +**If full facts are not available within 72 hours:** submit an initial notification marked "partial" and follow up without delay. GDPR Art. 33(4) explicitly permits phased notification. + +### 7.3 Data subject notification (Art. 34) + +Threshold: notification is required when the breach is likely to result in **high risk** to the rights and freedoms of individuals (e.g. identity theft, financial loss, discrimination). + +- Drafting: `[FILL IN: communications lead]` drafts notice in plain language. +- Channel: `[FILL IN: e.g. in-app banner + email via transactional provider]` +- Content: nature of breach, DPO contact, likely consequences, mitigation steps. +- Timing: `[FILL IN: target send window, e.g. within 48 hours of Art. 33 notification]` + +### 7.4 Internal stakeholder notification + +| Stakeholder | When | Channel | +| ----------------------- | ---------------------------- | ----------- | +| Executive team | P0/P1: immediately | `[FILL IN]` | +| Customer success | Before customer-facing comms | `[FILL IN]` | +| Board / audit committee | Within `[FILL IN]` hours | `[FILL IN]` | + +--- + +## 8. Phase 5 — Post-mortem + +**Target: within [FILL IN: e.g. 5 business days] of containment.** + +### 8.1 Post-mortem checklist + +- [ ] Timeline reconstruction (detection → triage → containment → notification). +- [ ] Root cause analysis (five-whys or equivalent). +- [ ] Blast radius: confirmed data subjects affected, `piiCategories` exposed, duration of exposure. +- [ ] Audit log review: were anomalous `AuditAction` entries present before detection? Were `from.ipTruncated` values suspicious? +- [ ] Control gaps identified. +- [ ] Remediation actions with owner and deadline. +- [ ] Lessons learned. + +### 8.2 Remediation tracking + +Document each action in `[FILL IN: issue tracker, e.g. Linear / GitHub Issues]` with: + +- Linked ADR or guide (e.g. ADR-018, ADR-014) +- Owner +- Target date +- Verification step (e.g. `pnpm fallow:audit` green, new test added) + +### 8.3 Mandatory follow-up with Supervisory Authority + +If the Art. 33 notification was submitted as "partial", file the complete notification with the SA by `[FILL IN: agreed follow-up date]`. + +--- + +## 9. Appendix — Command Reference + +```bash +# Inspect running apps and their Sentry DSN status +echo $WEB_NEXT_SENTRY_DSN && echo $CMS_SENTRY_DSN + +# Run fallow audit to surface dead exports / drift before post-mortem PR +pnpm fallow:audit + +# Regenerate data map to confirm affected PII fields +pnpm compliance:data-map + +# Re-emit all compliance artifacts (data-map + retention-policy + sub-processors) +pnpm compliance:emit-all +``` + +--- + +## 10. Document Control + +| Field | Value | +| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Owner | [FILL IN: DPO or Engineering Lead] | +| Review cycle | [FILL IN: e.g. annual or after every P0/P1] | +| Next review date | [FILL IN: YYYY-MM-DD] | +| Cross-references | [`docs/decisions/adr-018-audit-and-compliance.md`](../../decisions/adr-018-audit-and-compliance.md), [`docs/decisions/adr-014-instrumentation-sentry.md`](../../decisions/adr-014-instrumentation-sentry.md), [`docs/decisions/adr-025-eu-compliance-baseline.md`](../../decisions/adr-025-eu-compliance-baseline.md), [`docs/guides/audit-and-compliance.md`](../../guides/audit-and-compliance.md), [`docs/guides/rate-limiting.md`](../../guides/rate-limiting.md), [`docs/guides/security-headers.md`](../../guides/security-headers.md) | diff --git a/docs/compliance/templates/offboarding.template.md b/docs/compliance/templates/offboarding.template.md new file mode 100644 index 0000000..3369b2f --- /dev/null +++ b/docs/compliance/templates/offboarding.template.md @@ -0,0 +1,103 @@ +--- +status: template +playbook-section: 70 +title: "Staff Offboarding Checklist (Data Access & Security)" +last-reviewed: "[FILL IN: YYYY-MM-DD]" +--- + +# Staff Offboarding Checklist (Data Access & Security) + +> **Template status** — fill every `[FILL IN: …]` marker before use. + +> **Not code-enforced** — access revocation, device return, and data-handover steps are operational controls implemented outside the application codebase. The consumer is responsible for integrating this checklist into their HR and IT offboarding workflow and ensuring it is completed before the final day. + +--- + +## 1. Purpose & Scope + +This checklist ensures that all access, devices, and personal data are securely handled when an employee, contractor, or third-party leaves `[FILL IN: organisation name]` or changes role. + +**Owner:** `[FILL IN: role — e.g., HR / People Ops + IT]` + +**Trigger:** Employment or engagement termination (voluntary or involuntary), role transfer requiring access scope change, contractor end-of-engagement. + +--- + +## 2. Before Final Day — Immediate Actions (Involuntary / High-Risk Departure) + +> Complete this section on the same day for involuntary terminations or where data-exfiltration risk is elevated. + +| # | Task | Owner | Done | +| --- | -------------------------------------------------------------------------------------- | ------------------------ | ---- | +| 1 | Suspend IdP account (`[FILL IN: provider]`) — do NOT delete yet (preserve audit trail) | `[FILL IN: IT]` | ☐ | +| 2 | Revoke active sessions / tokens for all systems | `[FILL IN: IT]` | ☐ | +| 3 | Rotate any shared secrets the individual had access to: `[FILL IN: list]` | `[FILL IN: engineering]` | ☐ | +| 4 | Preserve a copy of the departing individual's work output per data-retention policy | `[FILL IN: manager]` | ☐ | + +--- + +## 3. Final Day — Access Revocation + +| # | System / tool | Action | Confirmed by | Done | +| --- | ----------------------------------------------------------------------------------- | ------------------------------- | ------------ | ---- | +| 1 | `[FILL IN: e.g., GitHub org]` | Remove from org / teams | `[FILL IN:]` | ☐ | +| 2 | `[FILL IN: e.g., Payload CMS admin]` | Delete or deactivate user | `[FILL IN:]` | ☐ | +| 3 | `[FILL IN: e.g., cloud console / IAM]` | Revoke all policies | `[FILL IN:]` | ☐ | +| 4 | `[FILL IN: e.g., monitoring / Sentry]` | Remove member | `[FILL IN:]` | ☐ | +| 5 | `[FILL IN: e.g., HR / payroll system]` | Deactivate | `[FILL IN:]` | ☐ | +| 6 | `[FILL IN: e.g., communication tools]` | Deactivate / transfer ownership | `[FILL IN:]` | ☐ | +| 7 | `[FILL IN: any other system]` | `[FILL IN: action]` | `[FILL IN:]` | ☐ | +| 8 | IdP account: move to suspended → delete after `[FILL IN: e.g., 30-day]` hold period | IT | `[FILL IN:]` | ☐ | + +--- + +## 4. Device Return + +| # | Task | Owner | Done | +| --- | --------------------------------------------------------------------------- | -------------------- | ---- | +| 1 | Device returned by `[FILL IN: deadline — e.g., end of final working day]` | Departing individual | ☐ | +| 2 | Device wiped via MDM (`[FILL IN: MDM tool]`) and wipe logged | `[FILL IN: IT]` | ☐ | +| 3 | Device re-assigned or quarantined per `[FILL IN: asset-management process]` | `[FILL IN: IT]` | ☐ | + +For lost/stolen devices see [`device-policy.template.md`](./device-policy.template.md) § 5. + +--- + +## 5. Data Handover & Retention + +| # | Task | Done | +| --- | --------------------------------------------------------------------------------------------- | ---- | +| 1 | Business-critical files transferred to `[FILL IN: shared location — e.g., team drive]` | ☐ | +| 2 | Personal data on company systems assessed; deleted or anonymised per retention policy | ☐ | +| 3 | Any personal data held in personal tools / local storage destroyed: `[FILL IN: confirmation]` | ☐ | +| 4 | Email forwarding / out-of-office configured for `[FILL IN: duration]` | ☐ | + +--- + +## 6. Exit Interview & Acknowledgement + +| # | Task | Done | +| --- | ------------------------------------------------------------------------------ | ---- | +| 1 | Departing individual reminded of ongoing confidentiality obligations | ☐ | +| 2 | Signed offboarding acknowledgement obtained: `[FILL IN: form name / location]` | ☐ | +| 3 | Final payslip / equipment receipt issued | ☐ | + +--- + +## 7. Post-Departure Review (30 days) + +- Confirm no residual access exists: re-run access audit for `[FILL IN: critical systems]`. +- Review audit log for anomalous activity by the account in the 30 days before departure: `[FILL IN: query / command]`. +- If anomalies found, escalate to the incident runbook (see [`incident-runbook.template.md`](./incident-runbook.template.md)). + +--- + +## 8. Record-Keeping + +Completed offboarding checklists are stored in `[FILL IN: location — e.g., HR system / personnel file]` and retained for `[FILL IN: e.g., 7 years]` per the backup and retention policy (see [`backup-policy.template.md`](./backup-policy.template.md)). + +--- + +## 9. Review Cycle + +This checklist is reviewed `[FILL IN: frequency — e.g., annually or when systems change]`. The next scheduled review is `[FILL IN: YYYY-MM-DD]`. diff --git a/docs/compliance/templates/onboarding.template.md b/docs/compliance/templates/onboarding.template.md new file mode 100644 index 0000000..6bfb177 --- /dev/null +++ b/docs/compliance/templates/onboarding.template.md @@ -0,0 +1,79 @@ +--- +status: template +playbook-section: 60 +title: "Staff Onboarding Checklist (Data Access & Security)" +last-reviewed: "[FILL IN: YYYY-MM-DD]" +--- + +# Staff Onboarding Checklist (Data Access & Security) + +> **Template status** — fill every `[FILL IN: …]` marker before use. + +> **Not code-enforced** — this checklist documents HR and operational controls. Access provisioning, policy acknowledgement, and training completion are tracked outside the application codebase by `[FILL IN: HR system / identity provider / ticketing tool]`. The consumer is responsible for integrating this checklist into their onboarding workflow. + +--- + +## 1. Purpose & Scope + +This checklist ensures that every new employee, contractor, or third-party with access to `[FILL IN: organisation name]`'s systems completes the required security, privacy, and data-access steps before handling personal data. + +**Owner:** `[FILL IN: role — e.g., HR / People Ops + Engineering Lead]` + +--- + +## 2. Before First Day + +| # | Task | Owner | Done | +| --- | ---------------------------------------------------------------------------------------------------- | --------------------- | ---- | +| 1 | Role-based access list agreed with hiring manager | `[FILL IN: e.g., HR]` | ☐ | +| 2 | Identity-provider account created (IdP: `[FILL IN: provider name]`) | `[FILL IN: e.g., IT]` | ☐ | +| 3 | Device provisioned and MDM-enrolled (see [`device-policy.template.md`](./device-policy.template.md)) | `[FILL IN:]` | ☐ | +| 4 | NDA / data-processing agreement signed | `[FILL IN: e.g., HR]` | ☐ | +| 5 | Emergency contact and DPO contact shared with new hire | `[FILL IN: e.g., HR]` | ☐ | + +--- + +## 3. Day 1 — Security & Privacy Orientation + +| # | Task | Owner | Done | +| --- | --------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | ---- | +| 1 | Complete data-protection / GDPR awareness training: `[FILL IN: course name / platform]` | New hire | ☐ | +| 2 | Read and acknowledge: Acceptable Use & Device Policy (see [`device-policy.template.md`](./device-policy.template.md)) | New hire | ☐ | +| 3 | Read and acknowledge: Password & Authentication Policy (see [`password-policy.template.md`](./password-policy.template.md)) | New hire | ☐ | +| 4 | Set up MFA on IdP account: `[FILL IN: MFA method + instructions URL]` | New hire + IT | ☐ | +| 5 | Access production systems: `[FILL IN: systems list]` granted at minimum-privilege level | `[FILL IN: e.g., IT / Lead]` | ☐ | + +--- + +## 4. First Week — System Access Provisioning + +| # | System / tool | Access level | Approver | Done | +| --- | -------------------------------------- | ------------------------------------- | ----------------------------- | ---- | +| 1 | `[FILL IN: e.g., GitHub org]` | `[FILL IN: e.g., member / write]` | `[FILL IN: engineering lead]` | ☐ | +| 2 | `[FILL IN: e.g., Payload CMS admin]` | `[FILL IN: e.g., editor / admin]` | `[FILL IN:]` | ☐ | +| 3 | `[FILL IN: e.g., cloud console]` | `[FILL IN: e.g., read-only / scoped]` | `[FILL IN:]` | ☐ | +| 4 | `[FILL IN: e.g., monitoring / Sentry]` | `[FILL IN: e.g., member]` | `[FILL IN:]` | ☐ | +| 5 | `[FILL IN: e.g., HR / payroll system]` | `[FILL IN:]` | `[FILL IN:]` | ☐ | +| 6 | `[FILL IN: any other system]` | `[FILL IN:]` | `[FILL IN:]` | ☐ | + +--- + +## 5. First 30 Days — Compliance Acknowledgement + +| # | Task | Done | +| --- | ----------------------------------------------------------------------------------------------- | ---- | +| 1 | Confirm receipt of this organisation's privacy notice (staff version) | ☐ | +| 2 | Complete any role-specific data-handling training: `[FILL IN: e.g., PCI / HIPAA if applicable]` | ☐ | +| 3 | 30-day check-in with manager on access requirements (reduce if not needed) | ☐ | + +--- + +## 6. Record-Keeping + +Completed checklists are stored in `[FILL IN: location — e.g., HR system / personnel file]` and retained for `[FILL IN: e.g., the duration of employment + 2 years]`. + +--- + +## 7. Review Cycle + +This checklist is reviewed `[FILL IN: frequency — e.g., annually or when systems change]`. The next scheduled review is `[FILL IN: YYYY-MM-DD]`. diff --git a/docs/compliance/templates/password-policy.template.md b/docs/compliance/templates/password-policy.template.md new file mode 100644 index 0000000..11ebcf3 --- /dev/null +++ b/docs/compliance/templates/password-policy.template.md @@ -0,0 +1,82 @@ +--- +status: template +playbook-section: 40 +title: "Password & Authentication Policy" +last-reviewed: "[FILL IN: YYYY-MM-DD]" +--- + +# Password & Authentication Policy + +> **Template status** — fill every `[FILL IN: …]` marker before use. + +> **Not code-enforced** — MFA enforcement, minimum password complexity, and account lockout are **explicitly deferred** in [ADR-025 § Deferred items](../../decisions/adr-025-eu-compliance-baseline.md) because they require identity-infrastructure choices (TOTP/WebAuthn/passkeys), a threat-model-specific policy, and an OTP delivery vendor that are consumer-supplied. This template documents the policy; the consumer implements the technical controls once those choices are made. + +--- + +## 1. Purpose & Scope + +This policy defines the minimum authentication standards for all accounts — human and service — that access systems operated by `[FILL IN: organisation name]`, including `[FILL IN: describe systems — e.g., the application, Payload CMS, cloud infrastructure consoles, CI/CD pipelines]`. + +**Owner:** `[FILL IN: role — e.g., Head of Engineering / CISO]` + +--- + +## 2. Password Requirements + +### 2.1 User accounts + +| Requirement | Minimum standard | Organisation value | +| ----------------------- | ------------------------------------------- | ------------------------------ | +| Minimum length | 12 characters | `[FILL IN:]` | +| Character complexity | No single-class requirement; length > rules | `[FILL IN: any additions]` | +| Breach / pwned-password | Must be checked on creation / change | `[FILL IN: tool / service]` | +| Maximum age | Not enforced unless breach detected | `[FILL IN: or "not enforced"]` | +| Reuse restriction | `[FILL IN: e.g., last 10 passwords]` | `[FILL IN:]` | + +> Reference: NIST SP 800-63B §5.1.1 — length beats complexity rules; mandatory rotation is discouraged. + +### 2.2 Service accounts & API secrets + +- All service secrets are stored in `[FILL IN: secret manager — e.g., AWS Secrets Manager / HashiCorp Vault]`. +- Secrets are rotated `[FILL IN: frequency — e.g., every 90 days or on suspected compromise]`. +- Long-lived credentials are prohibited for `[FILL IN: list systems — e.g., production database, CI/CD pipelines]`. + +--- + +## 3. Multi-Factor Authentication (MFA) + +> **Deferred per ADR-025.** The specific MFA method (TOTP, WebAuthn, SMS) and the enforcement perimeter are consumer decisions. Until those choices are made, document the target state here. + +| Account type | Required MFA method | Enforcement date / trigger | +| ------------------------------ | ---------------------------- | -------------------------- | +| Admin / privileged users | `[FILL IN: e.g., WebAuthn]` | `[FILL IN: YYYY-MM-DD]` | +| All users (application) | `[FILL IN: e.g., TOTP]` | `[FILL IN:]` | +| Service accounts | N/A — use short-lived tokens | — | +| Infrastructure / cloud console | `[FILL IN:]` | `[FILL IN:]` | + +--- + +## 4. Account Lockout & Brute-Force Protection + +> **Deferred per ADR-025.** Lockout thresholds are deferred until the authentication threat model is established. The application ships rate-limit budgets (see `rateLimit` in each feature manifest and ADR-025 § Epic C) but does not hard-lock accounts. + +| Parameter | Target value | Status | +| ------------------------------ | ----------------------------------------------- | ---------------------------- | +| Failed attempts before lockout | `[FILL IN: e.g., 10]` | `[FILL IN: deferred / live]` | +| Lockout duration | `[FILL IN: e.g., 15 minutes]` | `[FILL IN:]` | +| Admin unlock procedure | `[FILL IN: e.g., helpdesk ticket + MFA reset]` | `[FILL IN:]` | +| Notification on lockout | `[FILL IN: e.g., email to user + Sentry alert]` | `[FILL IN:]` | + +--- + +## 5. Privileged Access + +- Privileged (admin) access requires `[FILL IN: approval workflow — e.g., pair-approval in #infra-access]`. +- Privileged sessions are limited to `[FILL IN: duration — e.g., 4-hour session tokens]`. +- All privileged actions are captured by the audit channel (see [`docs/guides/audit-and-compliance.md`](../../guides/audit-and-compliance.md)). + +--- + +## 6. Review Cycle + +This policy is reviewed `[FILL IN: frequency — e.g., annually or after any authentication-related incident]`. The next scheduled review is `[FILL IN: YYYY-MM-DD]`. diff --git a/docs/decisions/adr-001-monorepo-tool.md b/docs/decisions/adr-001-monorepo-tool.md new file mode 100644 index 0000000..a1d870f --- /dev/null +++ b/docs/decisions/adr-001-monorepo-tool.md @@ -0,0 +1,19 @@ +# ADR-001: Turborepo + pnpm for Monorepo + +## Status: Accepted + +## Context + +Need a monorepo tool for a clean architecture template with multiple apps and shared packages. + +## Decision + +Turborepo + pnpm workspaces. + +## Rationale + +- Clean architecture already provides organizational structure — Nx's opinions would compete +- Minimal config (turbo.json + pnpm-workspace.yaml) means agents understand the setup quickly +- Excellent caching — shared packages build once and are reused +- Battle-tested pairing, both reference repos use it +- Works naturally with Vite for non-Next packages diff --git a/docs/decisions/adr-002-di-framework.md b/docs/decisions/adr-002-di-framework.md new file mode 100644 index 0000000..c8b1fa6 --- /dev/null +++ b/docs/decisions/adr-002-di-framework.md @@ -0,0 +1,30 @@ +# ADR-002: InversifyJS for Dependency Injection + +## Status: Accepted + +## Context + +Need DI for clean architecture. Options: InversifyJS, tsyringe, manual composition root. + +## Decision + +InversifyJS with symbol-based resolution + targeted agent documentation. + +## Rationale + +- Scales to 20+ services with automatic dependency chain resolution +- Built-in singleton/transient/request scopes +- Middleware support for logging/tracing (Sentry integration) +- Matches the Clean Architecture reference implementation +- Agent readability gap (4/10 → 7/10) mitigated by resolution tables and step-by-step recipes in di/AGENTS.md +- Familiar to developers from Java/C# backgrounds + +## Trade-offs + +- Requires reflect-metadata + decorator config in tsconfig +- Symbol indirection harder to trace than plain functions +- Extra dependency (inversify + reflect-metadata) + +## Update (2026-05-04) + +The vertical-feature refactor preserved InversifyJS but moved from a single shared container in `packages/core/src/di/` to **per-feature containers** in each feature package (`packages//src/di/container.ts`). See ADR-008. diff --git a/docs/decisions/adr-003-cms-separation.md b/docs/decisions/adr-003-cms-separation.md new file mode 100644 index 0000000..38f9c21 --- /dev/null +++ b/docs/decisions/adr-003-cms-separation.md @@ -0,0 +1,36 @@ +# ADR-003: CMS Core + CMS Client Separation + +## Status: Accepted + +## Context + +Payload CMS needs to integrate with clean architecture without creating circular dependencies. + +## Decision + +Three packages: `@repo/cms-core` (config + collections), `@repo/cms-client` (standalone typed client), `apps/cms` (thin shell). + +## Rationale + +- `cms-core` is testable independently — collections are just config objects +- `cms-client` is standalone (no internal imports) — prevents circular deps +- `apps/cms` is almost empty — just boots Next.js with cms-core's config +- Payload instance injected into cms-client, not imported — app startup code wires them + +## Circular Dependency Prevention + +``` +apps/cms → @repo/cms-core → @repo/core/application (hooks) +@repo/core/infrastructure → @repo/cms-client (standalone) +``` + +No cycles because cms-client never imports from cms-core or core. + +## Status: Partially superseded by v2 (2026-05-04) + +v1 advocated `@repo/cms-core` as a single CMS package. v2 splits this into: + +- `@repo/core-cms` — composition only (assembles feature CMS schemas) +- Each feature owns its own collections/globals under `packages//src/integrations/cms/` + +Rationale: vertical-feature ownership scales better; CMS schema lives with the business code that needs it. See ADR-006. diff --git a/docs/decisions/adr-004-dual-mode-client.md b/docs/decisions/adr-004-dual-mode-client.md new file mode 100644 index 0000000..cdb6459 --- /dev/null +++ b/docs/decisions/adr-004-dual-mode-client.md @@ -0,0 +1,22 @@ +# ADR-004: Dual-Mode Payload Client (Local + HTTP) + +## Status: Accepted + +## Context + +Apps need to access Payload CMS data. Payload 3.x offers both Local API (direct) and REST API (HTTP). + +## Decision + +`@repo/cms-client` supports both modes via `createPayloadClient()`. + +## Rationale + +- **Local mode (primary):** Direct Payload instance access — no HTTP overhead, full query capabilities (where, sort, limit, depth, page, populate). All server-side apps use this. +- **HTTP mode (fallback):** REST API for external consumers without access to a Payload process. +- Payload instance is injected at app startup, not imported — keeps cms-client standalone. +- Both modes share the same `PayloadClient` interface — consumers don't know which mode is active. + +## Status: Superseded by ADR-007 (2026-05-04) + +The dual-mode client wrapper was deleted. Feature payload-backed repositories now call `getPayload({ config })` directly with the assembled config injected via constructor. See ADR-007 for rationale. diff --git a/docs/decisions/adr-005-atomic-design.md b/docs/decisions/adr-005-atomic-design.md new file mode 100644 index 0000000..bfbc89f --- /dev/null +++ b/docs/decisions/adr-005-atomic-design.md @@ -0,0 +1,24 @@ +# ADR-005: Atomic Design for UI Components + +## Status: Accepted + +## Context + +Need a scalable component architecture for the shared UI package. + +## Decision + +Atomic Design (atoms/molecules/organisms/templates) + shadcn/ui + Storybook. + +## Rationale + +- Clear hierarchy makes agents know exactly where to place new components +- Import rules enforce composition direction (atoms never import molecules) +- Co-located stories make components self-documenting +- shadcn/ui provides excellent base atoms that map naturally to atomic levels +- Storybook sidebar mirrors the hierarchy via story titles +- Pages live in apps (not UI package) — they connect to real data + +## Update (2026-05-04) + +Atomic Design now applies to `@repo/core-ui/` only — generic primitives (atoms, molecules, generic organisms, templates). Feature-specific components (e.g., `ArticleCard`, `HeaderNavMenu`) live in the owning feature's `ui/` folder per the vertical-feature architecture. See ADR-006. diff --git a/docs/decisions/adr-006-vertical-feature-packages.md b/docs/decisions/adr-006-vertical-feature-packages.md new file mode 100644 index 0000000..306a195 --- /dev/null +++ b/docs/decisions/adr-006-vertical-feature-packages.md @@ -0,0 +1,27 @@ +# ADR-006: Vertical Feature Packages + +**Status:** Accepted +**Date:** 2026-05-04 + +## Context + +The original template organized packages by architectural layer: `core` (all domains together), `api` (all routers), `ui` (all components). As features grow, shared code accumulates and cross-feature dependencies become implicit. + +## Decision + +Reorganize by business capability. Each feature owns a vertical slice from entities through UI. `core-*` packages host only non-business concerns (DI, shared types, UI primitives). + +**Result:** 5 feature packages (`auth`, `blog`, `media`, `marketing-pages`, `navigation`) + 5 core packages (`core-shared`, `core-cms`, `core-api`, `core-trpc`, `core-ui`). + +## Consequences + +- Features evolve independently without coordinating with shared code +- Cross-feature coupling is visible at the package-graph level (ESLint enforces it) +- Per-feature DI containers eliminate symbol collisions +- New team members can understand a feature completely by reading one package + +## Alternatives Considered + +- Horizontal layers (kept): Simpler initially, but scales to implicit hidden dependencies +- Monolithic single package: No modularity, impossible to reason about at scale +- Feature shells + shared core: Hybrid approach tried by many teams; creates "dump" in core that nobody owns diff --git a/docs/decisions/adr-007-drop-cms-client-wrapper.md b/docs/decisions/adr-007-drop-cms-client-wrapper.md new file mode 100644 index 0000000..c5d5dd8 --- /dev/null +++ b/docs/decisions/adr-007-drop-cms-client-wrapper.md @@ -0,0 +1,37 @@ +# ADR-007: Drop the Dual-Mode CMS Client Wrapper + +**Status:** Accepted +**Date:** 2026-05-04 + +## Context + +ADR-004 introduced `@repo/cms-client` as a standalone wrapper supporting both Local API and HTTP modes. It was never used in production after Payload 3.x solidified its Local API as the primary pattern. + +## Decision + +Delete the wrapper. Feature payload-backed repositories call `getPayload({ config })` directly. The `config` is injected via constructor, avoiding hard coupling to `@repo/cms-core` at import time. + +**Example:** + +```typescript +export class PayloadArticlesRepository implements IArticlesRepository { + constructor(private config: Config) {} + + async getById(id: string) { + const payload = await getPayload({ config: this.config }); + return payload.findByID({ collection: "articles", id }); + } +} +``` + +## Consequences + +- One fewer abstraction layer — repositories work directly with Payload's typed API +- No "modes" — always use Local API from server code +- Package graph stays acyclic: feature packages never import `@repo/cms-client` +- `apps/cms` can directly boot Payload with the assembled config + +## Alternatives Considered + +- Keep the wrapper for "future-proofing": Payload 3.x is stable; wrapper was never activated in practice +- Add HTTP mode later if needed: Simple to implement when actually required diff --git a/docs/decisions/adr-008-per-feature-di-containers.md b/docs/decisions/adr-008-per-feature-di-containers.md new file mode 100644 index 0000000..9ede3e8 --- /dev/null +++ b/docs/decisions/adr-008-per-feature-di-containers.md @@ -0,0 +1,37 @@ +# ADR-008: Per-Feature InversifyJS Containers + +**Status:** Accepted +**Date:** 2026-05-04 + +## Context + +The original template used a single shared InversifyJS Container in `packages/core/src/di/`. As the number of features grows, the container becomes a point of coordination: adding a symbol requires modifying shared code, and tests that mock one feature risk breaking others. + +## Decision + +Each feature owns its own `Container` and symbol table. No shared DI state. Tests rebind per feature in isolation. Apps boot by calling `bindProduction*()` for each feature independently. + +**Example:** + +```typescript +// packages/blog/src/di/container.ts +export const container = createContainer(); + +// packages/blog/tests/feature.test.ts +beforeEach(() => { + rebindRepository(new TestRepository()); + // Only blog's container is affected +}); +``` + +## Consequences + +- Zero cross-feature DI coupling — each feature's test can mock its repos without coordination +- Symbol collisions impossible — each feature has its own `ARTICLES_REPOSITORY` symbol +- Shared services (if needed) are explicitly bound in each feature that uses them +- Apps must boot each feature's container on startup + +## Alternatives Considered + +- Single shared container: Simpler upfront, becomes a bottleneck and test coordination point +- Function injection (no DI): Avoids framework overhead, but loses the scaling benefits of DI diff --git a/docs/decisions/adr-009-integrations-folder-naming.md b/docs/decisions/adr-009-integrations-folder-naming.md new file mode 100644 index 0000000..9298b96 --- /dev/null +++ b/docs/decisions/adr-009-integrations-folder-naming.md @@ -0,0 +1,35 @@ +# ADR-009: Rename `adapters/` to `integrations/` + +**Status:** Accepted +**Date:** 2026-05-04 + +## Context + +The source spec (monorepo-architecture-spec-detailed-v5.md) uses `adapters/cms` and `adapters/api` for Payload and tRPC integration points. Clean Architecture also uses `adapters/` (or `interface-adapters/`) for transport-agnostic controller layer. The name collision is confusing. + +## Decision + +Use `integrations/` for role-based plug points (Payload and tRPC). Keep `interface-adapters/` for the Clean Architecture controller layer. + +**Result:** + +``` +packages//src/ + interface-adapters/controllers/ ← Clean Architecture layer (transport-agnostic) + integrations/ + cms/ ← Payload collections/globals + api/ ← tRPC routers +``` + +## Consequences + +- No naming collision — intent is unambiguous +- `integrations/` semantically captures "external system integration" better than `adapters/` +- Minor deviation from source spec, documented here as deliberate choice +- All new features follow this naming consistently + +## Alternatives Considered + +- Keep `adapters/`: Collision with Clean Architecture terminology is confusing +- Use `external/`: Less specific; doesn't convey "Payload and tRPC" +- Rename Clean Architecture layer to `controllers/`: Could work; less standard diff --git a/docs/decisions/adr-010-turbo-boundaries.md b/docs/decisions/adr-010-turbo-boundaries.md new file mode 100644 index 0000000..6c7e9e6 --- /dev/null +++ b/docs/decisions/adr-010-turbo-boundaries.md @@ -0,0 +1,148 @@ +# ADR-010: Turborepo boundaries alongside ESLint enforcement + +**Status:** Accepted +**Date:** 2026-05-04 +**Supersedes:** ADR-006 (partial refinement; not a contradiction) + +## Context + +ADR-006 established the vertical-feature monorepo with three tags (`app`, `feature`, `core`). ESLint with `eslint-plugin-boundaries` was introduced to enforce direct-import boundaries at lint time, catching violations like: + +- Feature package importing from another feature +- Core package importing from a feature +- Deep imports past public `exports` map boundaries + +However, ESLint has two intrinsic limitations: + +1. **No transitive enforcement** — If `core-trpc` imports `core-api` (which imports feature routers), ESLint sees only the direct edge `core-trpc` → `core-api`. The transitive reach into features is invisible. A package can declare `@repo/feature-x` as a dependency without ever importing it directly. + +2. **No declared-dep enforcement** — A `package.json` dependency that doesn't match an actual import goes undetected. Conversely, a `package.json` dependency might be missing but the transitive graph still allows the code to work. + +The result: two types of dependency drift escape lint-time checking: + +- A composition package's transitive reach into features (real problem: `core-trpc` → `core-api` → `feature-blog-routers`) +- Incorrect or missing `package.json` declarations + +## Decision + +Add Turborepo's `boundaries` feature as a second enforcement layer running at **build-graph time** (before build), parallel to ESLint's lint-time checks. + +### Five-tag model (refined from ADR-006) + +ADR-006 mentioned three tags. This ADR refines the model to five, distinguishing composition packages explicitly: + +- **app** — `apps/web-next`, `apps/web-tanstack`, `apps/cms`, `apps/storybook` +- **core** — `packages/core-shared`, `core-ui` (pure foundation, no transitive feature reach) +- **core-composition** — `packages/core-api`, `core-cms`, `core-trpc` (composition or transitively reach features) +- **feature** — `packages/auth`, `blog`, `media`, `marketing-pages`, `navigation` +- **tooling** — `packages/core-eslint`, `core-typescript` + +Why `core-trpc` is `core-composition`: + +- `core-trpc` imports `@repo/core-api` (the tRPC app router) +- `core-api` imports feature routers from `@repo//api` +- Therefore, `core-trpc` transitively depends on features through the `AppRouter` type +- This violates ADR-006's "core → NOT feature" rule if we treat `core-trpc` as plain `core` +- Solution: tag `core-trpc` as `core-composition` to make the transitive reach explicit and allowed + +### Implementation + +1. **Root `turbo.json`** declares boundary rules as a `boundaries.tags` config: + ```json + { + "boundaries": { + "tags": { + "app": { + "dependencies": { + "allow": ["app", "core", "core-composition", "feature", "tooling"] + } + }, + "core-composition": { + "dependencies": { + "allow": ["core", "core-composition", "feature", "tooling"] + } + }, + "core": { + "dependencies": { "allow": ["core", "core-composition", "tooling"] } + }, + "feature": { + "dependencies": { "allow": ["core", "feature", "tooling"] } + }, + "tooling": { "dependencies": { "allow": ["tooling"] } } + } + } + } + ``` + +> **Amendment (2026-05-21) — feature → feature.** The `feature` tag's allow-list +> includes `feature`. A feature package may depend on another feature's +> _published public exports_ — the `@repo/` contract barrel (types, +> schemas, errors, event contracts). This is required by the cross-feature +> event system (ADR-015): a consumer must import the publisher's event +> contract. Two guardrails remain: each feature's `exports` map seals its +> internals (only `.`, `./ui`, `./api`, `./cms`, `./di/bind-*` are reachable), +> and cross-feature _behaviour_ still flows through `IEventBus` — a feature +> never imports and invokes another feature's use cases directly. + +2. **Per-package `turbo.json`** declares the package's tag: + + ```json + // packages/blog/turbo.json + { "extends": ["../../../turbo.json"], "tasks": { /* ... */ } } + // package.json + { "turbo": { "tasks": { "build": { /* ... */ } }, "tags": ["feature"] } } + ``` + +3. **CLI validation** — `pnpm turbo boundaries` runs the check in <1 second without building anything + +### Two layers, not one + +Both ESLint and Turborepo enforce the same five-tag rules, but for different reasons: + +| Layer | Runs | Sees | Exempts via | +| --------------------------------- | ---------------- | ------------------------------------------------------- | ---------------------------------- | +| ESLint `eslint-plugin-boundaries` | lint-time | Direct imports per file | `// @boundaries-ignore` comments | +| Turborepo `boundaries` | build-graph time | Entire workspace dependency graph including transitives | None (graph-based, not per-import) | + +**Why both?** + +- **ESLint** provides fine-grained control (file-level exemptions) and immediate feedback during development +- **Turborepo** catches transitive issues (e.g., feature reach through composition packages) and missing declarations + +**Enforcement** — CI runs both: `pnpm lint` (includes ESLint) and `pnpm turbo boundaries`. + +## Consequences + +1. **Two independent checks** — developers get immediate ESLint feedback and a final Turbo gate in CI +2. **Both must stay in sync** — when adding a new tag rule, update both: + - `packages/core-eslint/base.js` (ESLint `eslint-plugin-boundaries` config) + - Root `turbo.json` (`boundaries.tags` config) + - Per-package `package.json` `turbo.tags` declaration +3. **Stricter than before** — Turborepo sees transitives; some patterns that pass ESLint may fail Turbo: + - Example: `packages/cms` might try to use `@repo/` indirectly (not importing, but depending) + - Solution: declare the dependency explicitly or restructure the import +4. **The five-tag model is a refinement, not a contradiction** — ADR-006 mentioned three tags; this ADR adds `core-composition` and `tooling` explicitly and moves them into the boundary enforcement +5. **`core-trpc`'s new tag** — previously thought of as `core`, now explicitly `core-composition` to match its transitive reach; any code assuming `core-trpc` is `core` must be updated + +## Alternatives considered + +1. **ESLint only** — Simple, immediate feedback. Downside: misses transitive issues; no build-graph validation. +2. **Turborepo only** — Catches everything eventually, but slower feedback cycle; less granular exemptions. +3. **Both in series** — ESLint first (fast), Turbo second (thorough). Chosen. +4. **Custom graph validator** — Over-engineered; Turborepo's built-in feature is stable and designed for this. + +## Related + +- **ADR-006:** Vertical feature packages (the original three-tag model) +- **ADR-009:** Integrations folder naming +- **`packages/core-eslint/base.js`** — ESLint configuration +- **Root `turbo.json`** — Turborepo configuration with boundaries rules +- **`docs/architecture/overview.md`** — Package map and five-tag summary +- **`docs/architecture/dependency-flow.md`** — Enforcement layers and rules +- **`AGENTS.md`** — Per-package boundary documentation + +## Timeline + +- **2026-05-04** — Turborepo boundaries added alongside existing ESLint enforcement +- **CI integration** — `pnpm turbo boundaries` added to lint stage +- **Documentation** — Updated AGENTS.md, overview.md, dependency-flow.md, vertical-feature-spec.md diff --git a/docs/decisions/adr-011-tdd-foundation.md b/docs/decisions/adr-011-tdd-foundation.md new file mode 100644 index 0000000..18b1091 --- /dev/null +++ b/docs/decisions/adr-011-tdd-foundation.md @@ -0,0 +1,69 @@ +# ADR-011: TDD Foundation + +**Status:** Accepted +**Date:** 2026-05-05 +**Supersedes:** none + +## Context + +The vertical-feature monorepo refactor (ADRs 001-010) established +clean architecture with per-feature DI containers but did not enforce +TDD as the path of least resistance. Agentic workers were producing +code-first commits with tests added later, leading to test theatre and +mock/real drift. + +## Decision + +1. **New package `@repo/core-testing` (tag: tooling)** — shared test + utilities: defineFactory, defineContractSuite, renderWithProviders, + mock-payload helpers, jsdom setup file. Tagged `tooling` so any + package may depend on it as devDependency without boundary violation. + +2. **Vitest base configs split into node + jsdom** with safety defaults + (clearMocks, restoreMocks, mockReset, unstubGlobals, sequence.shuffle) + and coverage thresholds (80/75/80/80 baseline; 100% in entities + + use-cases + controllers). + +3. **Factories per feature** in `src/__factories__/` replace inline + fixtures. Stable date defaults (2026-01-01) so snapshot diffs reflect + SUT behavior only. + +4. **Contract suites per repository interface** in `src/__contracts__/` + run against every implementation (Mock + Payload). Eliminates the + class of bug where the mock and the real impl drift apart. + +5. **Tests in core-\* packages and apps** — composition smoke tests + (appRouter, payloadConfig, bind-production, providers). + +6. **Storybook test-runner** — every story executed as a smoke test. + +7. **CI workflow** — typecheck + lint + boundaries + test + build + + e2e + storybook on every PR. Coverage uploaded as artifact. + +8. **Two new docs** — tdd-workflow.md (process) + restructured + adding-a-feature.md (interleaves tests with impl). + +## Alternatives considered + +- **Fixture files instead of factories** — rejected. Fixtures rot with + schema changes and require manual updates per test. +- **One shared test file per impl** — rejected. Contract suites give + the same coverage in fewer LOC and prevent drift. +- **Real Postgres in tests via testcontainers** — rejected for unit + tests (slow, complex). Repository contract suites + vi.mock('payload') + give equivalent confidence in milliseconds. +- **Stryker mutation testing** — deferred. Coverage thresholds + contract + suites get us most of the way; mutation testing is incremental. + +## Consequences + +- New package to maintain (small, mostly stable surface). +- Coverage thresholds may fail builds initially; we add tests to cross + threshold as features land. +- Sequence shuffle may surface latent flakes; we fix as found. +- Templates for new features now require writing tests first; this is + by design. + +## Refines + +- ADR-006 (boundary tags) — adds @repo/core-testing as a tooling package. diff --git a/docs/decisions/adr-012-feature-conventions.md b/docs/decisions/adr-012-feature-conventions.md new file mode 100644 index 0000000..84cc1f3 --- /dev/null +++ b/docs/decisions/adr-012-feature-conventions.md @@ -0,0 +1,174 @@ +# ADR-012: Feature Conventions + +**Status:** Accepted +**Date:** 2026-05-05 +**Supersedes:** none — extends ADR-006 (vertical-feature-packages) and ADR-008 (per-feature DI containers) + +## Context + +The vertical-feature monorepo refactor (ADRs 001-010) and the TDD +foundation (ADR-011) established Clean Architecture per feature, but +the per-layer code shape was inconsistent across features and needed +to be standardized. + +Specifically, before this ADR: + +- Use cases called `Container.get()` inside their bodies + (locator pattern), making them hard to test in isolation. +- Controllers were multi-method classes (`articles.controller.ts` with + `getBySlug`, `create`, `list` methods on one symbol). +- Entities lived flat at `entities/.ts`; errors at `entities/errors.ts`. +- Mock implementations used a `mock-` prefix (`mock-articles.repository.ts`), + separating them visually from the real impl. +- Real Payload-backed implementations used a `payload-` prefix + (`payload-articles.repository.ts`). +- Repository/service interface filenames used a `-` separator + (`articles-repository.interface.ts`) instead of the canonical dot + (`articles.repository.interface.ts`). +- Tests rebound the DI container in `beforeEach` rather than constructing + mocks and injecting directly. + +## Decision + +Bring every feature into structural conformance with the canonical +Clean Architecture pattern, with four intentional divergences (§Adaptations below). + +### What we adopted + +1. **Factory-function use cases and controllers** — every use case and + every controller is a factory: `(deps) => async (input) => result`. + Each file exports `export type I*UseCase = ReturnType` + (or the analogous `I*Controller`) so consumers can depend on the type + without depending on the impl. + +2. **Entity layout** — `entities/models/.ts` (Zod schema + type) + and `entities/errors/.ts` (domain-grouped error classes) + + `entities/errors/common.ts` (`InputParseError`). + +3. **Naming** — dot-separated qualifiers throughout: + - Real repo impl: `.repository.ts` (no `payload-` prefix) + - Mock repo impl: `.repository.mock.ts` (suffix, not prefix) + - Repo interface: `.repository.interface.ts` + - Service variants follow the same pattern. + +4. **One controller per use case** — no multi-method controllers. + Each verb-noun pair has its own file: `sign-in.controller.ts`, + `get-articles.controller.ts`, `delete-media.controller.ts`. + +5. **InversifyJS `.toDynamicValue()` for factory bindings:** + + ```typescript + bind(AUTH_SYMBOLS.ISignInUseCase).toDynamicValue((ctx) => + signInUseCase( + ctx.container.get(AUTH_SYMBOLS.IUsersRepository), + ctx.container.get( + AUTH_SYMBOLS.IAuthenticationService, + ), + ), + ); + ``` + +6. **Direct injection in tests** — construct mocks and pass them into the + factory; no container rebinding for unit/use-case/controller tests: + + ```typescript + const users = new MockUsersRepository(); + const auth = new MockAuthenticationService(users); + const useCase = signInUseCase(users, auth); + ``` + +7. **Real Payload-backed `UsersRepository` and `AuthenticationService` + for `auth`** — previously only mocks existed. Some methods on + `AuthenticationService` (session create/validate/invalidate) are + deferred behind `NotImplementedError` until the cookie-strategy + decision is finalized. + +8. **`media` is now a complete Clean Architecture feature** — entities, + application, infrastructure, interface-adapters, DI, integrations/api, + factories, contract, feature test. Previously it was just a Payload + collection. + +### Intentional divergences (kept from prior ADRs) + +| Aspect | Community default | Ours | Reason | +| --------------- | ------------------------------------- | ----------------------------------------------------- | ------------------------------------------------------------------------ | +| DI library | `@evyweb/ioctopus` | `inversify` | Already integrated; equivalent expressive power via `.toDynamicValue()`. | +| DI scope | One global `ApplicationContainer` | One per feature (`authContainer`, `blogContainer`, …) | Vertical-feature isolation (ADR-008). | +| Test placement | `tests/unit/...` mirror | Colocated `*.test.{ts,tsx}` | Established by ADR-011; clearer per-file ownership. | +| Instrumentation | Sentry/observability service wrapping | Not adopted | Out of scope; revisit when observability becomes a requirement. | + +`InputParseError` is also duplicated per feature (~6 lines × 5 +features) instead of sharing a global class — feature independence +beats DRY for a class this small. + +## Consequences + +### Positive + +- **Trivially testable use cases & controllers.** Factory functions + take deps as arguments — tests inject mocks directly, no container + involvement, no shared mutable state across tests. +- **One reason to change per controller file.** Single-responsibility + per file makes diffs and code review cleaner. +- **Type aliases (`I*UseCase`/`I*Controller`) decouple consumers.** + The tRPC router and any other caller depends on the type, not the + factory impl. +- **Naming consistency** with widely-shared community convention, lowering + ramp-up cost for engineers familiar with Clean Architecture patterns. +- **Real auth + media** complete the architectural symmetry — every + feature now demonstrates the full layer stack. + +### Negative + +- **More files.** Per-use-case controllers added ~6 controller files + across `blog` and `marketing-pages`; `media` added ~30 files from + scratch. +- **DI bindings are more verbose.** `.toDynamicValue()` blocks are + longer than `.to()` for class bindings. Acceptable in exchange for + factory-function purity. +- **Two AuthenticationService methods remain `NotImplementedError`** + pending session-cookie strategy. Documented in refactor log §7; + unblocks development that doesn't depend on session lifecycle. +- **Doc churn.** All references to old paths/patterns across guides, + per-feature AGENTS, and the spec required updating in this follow-up + pass. + +## Alternatives considered + +- **Adopt `@evyweb/ioctopus`** — rejected. Already on inversify; switching + DI libraries is high-risk for low gain. +- **Move tests to `tests/unit/` mirror layout** — rejected. Colocation + is established (ADR-011); `*.test.ts` next to source is unambiguous + per-file ownership. +- **Move to a single global container** — rejected. Per-feature + containers (ADR-008) are load-bearing for vertical-feature isolation. +- **Keep multi-method controllers** — rejected. The single-responsibility + controller-per-use-case pattern wins on readability and testability. +- **Skip real `AuthenticationService`** — rejected for `UsersRepository` + (keep mock only) — partial real impl with documented `NotImplementedError` + for session methods is the better trade because it unblocks the + `auth` integration without forcing a premature cookie-strategy choice. + +## Acceptance criteria + +- All tests passing. +- `pnpm typecheck`, `pnpm lint`, `pnpm turbo boundaries` clean. +- No `entities/.ts` files at root level. +- No `mock-*.ts` files in feature packages. +- No `payload-*.ts` files anywhere. +- Every use case has `export type I*UseCase = ReturnType`. +- Every controller has `export type I*Controller = ReturnType`. + +## References + +- Prior ADRs: ADR-006 (vertical-feature-packages), ADR-008 (per-feature DI containers), ADR-011 (TDD foundation) + +## Update — 2026-05-06 + +ADR-013 further unifies the input/output schema story: +schemas now live in the use-case file (a refinement of §What we +adopted #1's "factory-function use cases"); controllers gain a +co-located `function presenter` (extending §What we adopted #4's +"one-controller-per-use-case"); domain error → `TRPCError` +translation runs through a per-feature middleware factory (a new +concern not in this ADR). See `docs/decisions/adr-013-input-output-unification.md`. diff --git a/docs/decisions/adr-013-input-output-unification.md b/docs/decisions/adr-013-input-output-unification.md new file mode 100644 index 0000000..0f06fb8 --- /dev/null +++ b/docs/decisions/adr-013-input-output-unification.md @@ -0,0 +1,156 @@ +# ADR-013: Use-Case Input/Output Unification + Presenter Pattern + Feature-Scoped Error Mapping + +**Status:** Accepted +**Date:** 2026-05-06 +**Supersedes:** none — extends ADR-008 (per-feature DI), ADR-011 (TDD foundation), ADR-012 (feature conventions) + +## Context + +ADR-012 established factory-function use cases and one-controller- +per-use-case. But the input contract was still defined three times — once +in the tRPC procedure's `.input(z.object({...}))`, once in the controller's +local `const inputSchema`, and once implicitly in the use case's TypeScript +parameter type. The three definitions drifted: the controller's +`z.string().min(3).max(31)` was stricter than the tRPC version's +`z.string()`. Output validation was TypeScript-only — repositories could +return malformed values and use cases happily passed them through. + +There was also no consistent error-translation between domain errors +(`ArticleNotFoundError`, `AuthenticationError`, …) and `TRPCError`, +meaning the wire response code was unpredictable per feature. + +Per-feature public-API surfaces conflated UI artifacts (query builders +imported React Query) with pure contracts (entity types) on the same +top-level export, making "what does this package expose to whom" muddy. + +## Decision + +Adopt four interlocking patterns, codified as 30 RFC-2119 rules in the +spec: + +1. **Use-case file is the single source of truth for input AND output + contracts.** Every use case exports `xInputSchema` (always a + `z.ZodObject`, even for void inputs via `z.object({}).strict()`) and + — for non-void use cases — `xOutputSchema`. The use-case body ends + with `xOutputSchema.parse(result)` before returning. Type aliases + `XInput`/`XOutput`/`IXUseCase` are exported alongside. + +2. **Controllers consume the use-case schema; output passes through a + co-located `function presenter`.** Controllers receive `unknown`, + `safeParse` against `xInputSchema`, throw `InputParseError` on + failure, then call the use case and pass the result through a + top-level `function presenter(value: XOutput)` defined in the same + file. The controller's return type is `Promise>`. Identity presenters are permitted and expected for + pass-through cases — the function form must always exist (R11) so + adding a transform is a one-line edit. Void-output controllers + (e.g., `signOutController`, `deleteMediaController`) skip the + presenter and return `Promise` (R12). + +3. **Feature-scoped error→TRPCError middleware.** Each feature's + `integrations/api/procedures.ts` exports an `xProcedure` built from + `t.procedure.use(defineErrorMiddleware([[ErrorCtor, "TRPC_CODE"], +...]))`. The factory `defineErrorMiddleware` lives in + `core-shared/trpc/`; it discriminates by `instanceof` and preserves + the original error as `TRPCError.cause`. **`core-shared` never + enumerates feature-specific error classes** — each feature passes its + own constructors in via its own `procedures.ts`. Routers use the + feature's `xProcedure` instead of bare `publicProcedure` and + `.input(xInputSchema)` instead of redefining input shapes. + +4. **Per-feature public surface split.** Feature root `.` exports only + contracts: domain types, domain errors, schemas, `IXUseCase`/`IXController` + aliases, router type, constants. UI artifacts (query builders, + future React components) move to a new `./ui` subpath + (`src/ui/index.ts`). Apps that need queries import from + `@repo//ui`; apps that need the type-only contract import + from `@repo/`. + +## Consequences + +### Positive + +- **Single source of truth for I/O contracts.** Schema drift is no + longer possible — there's one definition, imported by everyone. +- **Runtime-validated outputs.** `xOutputSchema.parse(...)` catches + "repo returned malformed data" bugs at the layer that owns the + contract, instead of silently flowing wrong shapes downstream. +- **Predictable error responses.** Every domain error maps to a known + `TRPCError.code` via the per-feature middleware; clients can rely on + status codes. +- **Discoverable transforms via presenter.** When a view needs to drop + fields, rename them, or serialize dates, the presenter function is + already there — change one function body. No structural refactor. +- **Clean public surface.** Feature root packages no longer pretend to + be UI packages; apps make explicit choices about what they need. +- **Frontend gets schemas for free.** Forms can `import { signInInputSchema +} from "@repo/auth"` and feed it into `react-hook-form` + `zodResolver` + with the same constraints the backend enforces. + +### Negative + +- **More code.** Every use case grows by ~10 lines (input + output + schema + parse). Every controller grows by ~5 lines (presenter, + even if identity). Acceptable cost for the consistency. +- **Per-feature `procedures.ts` boilerplate.** Five new files (~10 + lines each) — one per feature. Maintaining the error map is one of + the few feature-level chores; new error classes need adding to the + map. +- **Schemas run twice on the tRPC path** (tRPC's `.input()` parse + + controller's `safeParse`). Negligible cost; zero behavioral risk + because both use the same schema. Defense-in-depth value when the + controller is invoked from non-tRPC entry points. +- **Apps with existing imports may need updating** — `articleBySlugQuery`, + `pageBySlugQuery`, etc. now live behind `@repo//ui`. + (At the time of this ADR, no apps consume these yet, so the cost is + forward-only.) + +## Alternatives considered + +- **Keep schemas in controllers.** The reference pattern has only one + validation layer (server actions skip `.input()`), so one schema is + sufficient. Our entry point is tRPC, which insists on a schema for + type inference — putting the canonical schema in the controller and + exporting it for the router was considered. Rejected because the use + case is the contract owner; schemas describe the _operation_, not the + _transport_. + +- **Centralized error-name → code map in `core-shared`.** Considered + using `error.name` discrimination with a small global registry. + Rejected because it violates feature ownership — `core-shared` would + need to know about every feature's error classes. The + `defineErrorMiddleware` factory cleanly inverts the dependency: + `core-shared` provides the plumbing, features pass their own + constructors. + +- **Validate outputs only in tests.** Considered using TypeScript + types alone for output, deferring runtime validation to + contract-suite tests. Rejected because the cost of `.parse()` on + return is trivial and the bug-catching value at runtime is real + (Payload integrations have surprised us before). + +- **Presenters only when reshaping.** Considered limiting presenters to + cases with actual transforms. Rejected because the discoverable hook + for future shaping is worth the trivial identity-function boilerplate. + +- **Presenters in a separate `presenters/` folder.** Considered as a + concession to "controllers = thin orchestration". Rejected because + co-locating the presenter with its controller keeps the contract + visible in one file. + +- **Shared `./schemas` subpath.** Considered exposing schemas only via + a dedicated subpath instead of the feature root. Rejected because + schemas ARE feature contracts — they belong with the other contracts + (types, errors). Adding a fourth subpath felt like ceremony. + +## Acceptance criteria + +- Tests: 360 total. Coverage: every acceptance rule represented. +- `pnpm typecheck && pnpm lint && pnpm test && pnpm turbo boundaries +&& pnpm build` green. +- Five feature-level router error-mapping tests demonstrate domain + error → `TRPCError.code` translation works end-to-end. + +## References + +- Prior ADRs: ADR-008 (per-feature DI), ADR-011 (TDD foundation), ADR-012 (feature conventions) diff --git a/docs/decisions/adr-014-instrumentation-sentry.md b/docs/decisions/adr-014-instrumentation-sentry.md new file mode 100644 index 0000000..e8000a7 --- /dev/null +++ b/docs/decisions/adr-014-instrumentation-sentry.md @@ -0,0 +1,91 @@ +# ADR-014 — Instrumentation & Sentry Logging + +**Status:** Accepted +**Status (revised):** Superseded by ADR-017 for the implementation layer. The interface decisions remain authoritative. +**Date:** 2026-05-06 + +## Context + +The monorepo had no distributed tracing or error capture. Production failures surfaced only via stdout / stderr from a Vercel function log. We needed: + +1. End-to-end traces (browser → tRPC → use case → repo → Payload) to diagnose latency without ad-hoc timers. +2. Centralized exception capture so silent failures (especially in CMS mutations) get a permanent record with stack + context. +3. Privacy posture suitable for production: scrubbing for PII, masked replay, no opaque-vs-named user identifiers. + +The reference Clean Architecture repo demonstrates a Sentry-driven pattern with `Sentry.startSpan` and `Sentry.captureException` calls inline in use cases and repos. We needed to adapt this to: + +- Three apps (web-next, cms, web-tanstack) — not one. +- Per-feature DI (ADR-008) — not a single container. +- Vendor neutrality — feature packages must not import `@sentry/*` directly. + +## Decision + +**1. Vendor-neutral interfaces in `core-shared/instrumentation/`.** Two interfaces (`ITracer`, `ILogger`) with three implementation pairs (`Noop*`, `Sentry*`, `Recording*`). Feature packages depend only on the interfaces. + +**2. Full-depth instrumentation.** Spans nest at every layer: tRPC procedure (auto) → controller (DI-wrapped) → use case (DI-wrapped) → repository (explicit `startSpan`) → Payload (auto). Use case + controller spans applied via `withSpan` higher-order wrapper at DI binding time so factory code stays unchanged. Repositories pay explicit boilerplate per method — accepted cost for per-method visibility. + +**3. Throw-site capture with double-report guard.** `Sentry.captureException` fires only at the layer that originates the error (repos catch infra; use cases catch their own throws; controllers catch parse failures; middleware does not capture). A non-enumerable `__sentryReported` flag prevents re-capture as errors bubble. + +**4. Hard PII rules (R31–R38).** `sendDefaultPii: false` (CI-grep enforced); replay default-masks all text/inputs/media (allowlist empty by default); `beforeSend` / `beforeSendTransaction` scrubbers strip emails/passwords/tokens/cookies/auth/IPs (substring-matched, including derived names like `userEmail`, `accessToken`, `apiKey`, `ipAddress`); `setUser` accepts only `{ id }`. + +**5. Three Sentry projects, orthogonal binding.** Each app gets its own DSN. `bindAll()`'s Rule 0 (DSN → Sentry vs Noop) is independent of `USE_DEV_SEED` / `NODE_ENV` repo binding. Optional dev-mode Sentry: developer can run `pnpm dev` with `SENTRY_DSN` set to test integration locally. + +**6. ESLint boundary rule (R40).** `no-restricted-imports` blocks `@sentry/*` outside the allowlisted paths: `core-shared/instrumentation/sentry/**`, `instrumentation/di/bind-sentry-instrumentation.{ts,test.ts}`, `core-testing/setup/no-sentry.{ts,test.ts}`, and the apps' `instrumentation*.{ts,mjs}` / `next.config.{mjs}` / `vite.config.{ts}` entries. Allowlist patterns use `**/`-prefix so they match whether ESLint runs from the repo root or from inside a sub-package. + +**7. Test-side `RecordingTracer` / `RecordingLogger`** in `core-testing/instrumentation/`. Tests inject them directly into factory functions (direct-injection, not container manipulation). The `core-testing/setup/no-sentry.ts` setup file mocks `@sentry/nextjs`, `@sentry/node`, and `@sentry/react` at the module level, so any code that imports them gets a no-op surface during vitest runs. + +## Alternatives considered + +- **Direct `@sentry/nextjs` imports in features.** Rejected — couples every feature package to a vendor SDK, violating the architecture's vendor-isolation principle. +- **Procedure-only spans (no per-use-case or per-repo spans).** Rejected — would lose the breakdown that makes a slow request diagnosable. The middle path (procedure + use case + controller, no per-repo) was rejected for the same reason at a finer granularity. +- **Capture in `defineErrorMiddleware` only.** Rejected — would noisily report every input-parse / unauthenticated error as a Sentry event, polluting the inbox. +- **Single Sentry project for all apps with environment tags.** Rejected — different alert routing, different quotas. Three projects scale better. +- **Always-Sentry in all environments.** Rejected — `pnpm test` and `pnpm dev` should not initialize a real SDK by default. Optional dev (DSN-driven) is the cleanest rule. +- **Replay flags as configurable env vars.** Rejected — the privacy posture must be the default; opt-out requires per-selector justification (R34, R51). + +## Consequences + +**Positive:** + +- End-to-end traces in Sentry with full context. +- One captured event per error (no double-report, no noise from expected domain errors). +- Privacy-by-default replay and scrubbing. +- Vendor-swappable: replacing Sentry means writing one new adapter pair in `core-shared/instrumentation//`. +- Tests run against `Recording*` for assertions; `Noop*` by default. + +**Negative:** + +- Every public repo method gains ~6 lines of `tracer.startSpan(...)` boilerplate. Mitigated by uniform pattern; if it ever proves excessive, a `withRepoSpan` collapse helper can be added. +- `__sentryReported` flag mutates errors. Non-enumerable, so JSON / spread are unaffected; flag is checked only inside `SentryLogger`. +- Three Sentry projects to administer. +- Replay bundle peak (~250KB on errored sessions) — accepted; healthy sessions don't load replay payload. + +## Notes from execution + +- **PII key-substring extension (deviation from spec):** the original spec listed only explicit PII keys (`email`, `password`, `token`, etc.) for substring matching. During Task 25 we added `ipaddress` to `PII_KEY_SUBSTRINGS` so keys like `ipAddress` trigger key-level redaction. This is a tighter privacy posture than the spec's substring list — the spec's intent (no PII in events) is honoured strictly; existing `scrub.test.ts` cases continue to pass. +- **Web-tanstack vite.config.ts deferred:** the app currently has no `vite.config.ts` (build is a placeholder per its `package.json`). The `@sentry/vite-plugin` dep is added but unused until the TanStack Start build is wired in a later plan. A minimal `src/vite-env.d.ts` shims `ImportMetaEnv` for the client entry until the full Vite types land. +- **Subpath exports:** `core-shared/package.json` gained five new subpath entries (`./instrumentation/sentry/{init-server,init-client,init-server-node,init-client-react,scrub}`) so the apps' `instrumentation*.ts` files can import the helpers via deep paths without pulling the entire barrel. +- **`@sentry/node` + `@sentry/react`** added as optional `peerDependencies` of `core-shared` (so feature packages don't transitively pull them) and as `devDependencies` (so typecheck/test runs in `core-shared` resolve them). +- **Pre-existing lint nits surfaced when Task 28's restricted-imports rule lit up `pnpm lint`:** added `argsIgnorePattern: "^_"` to the shared eslint config (matches the underscore convention used throughout the repo); added `globals.node` for `*.{mjs,cjs,js}` and `*.config.{ts,tsx}` so `next.config.mjs`'s `process.env` lints clean; cleared two unused-import / unused-disable nits in marketing-pages and core-testing that were unrelated to instrumentation but blocked the lint gate. +- **Direct `@repo/core-shared` deps:** `apps/cms` and `apps/web-tanstack` previously had only transitive access to `@repo/core-shared`; both gained explicit `workspace:*` deps so the deep `./instrumentation/sentry/*` subpath imports resolve. + +## Post-merge follow-up — closing the R44 gap + +The initial implementation shipped repository-side capture but **not** use-case or controller capture. The ADR/AGENTS docs described the intended capture-rules table as if it were the as-shipped state; in fact every `captureException` call site lived in `infrastructure/repositories/*.repository.ts`. A grep proved it: zero call sites in any controller or use-case body. The gap was spotted and fixed. + +**Fix (post-merge commit):** + +1. Extracted the `__sentryReported` flag helpers into `core-shared/instrumentation/reported-flag.ts` (`markReported`, `isReported`). `SentryLogger` now imports them; `RecordingLogger` carries an inlined copy (tooling → core import is disallowed by the boundary rule, so duplication is the right tradeoff). +2. Added `withCapture(logger, tags, fn)` higher-order wrapper at `core-shared/instrumentation/with-capture.ts`, parallel to `withSpan`. On error: capture-with-tags, mark, re-throw — but bail if the flag is already set (covers the bubbled-from-repo case). +3. Applied `withSpan(withCapture(factory))` to every use case and controller in every feature's `bind-production.ts` and `bind-dev-seed.ts`. Span is outermost so the errored span's timing reflects the capture-and-rethrow. +4. `RecordingLogger.captureException` now also honours the flag, so test assertions about capture counts stay honest. +5. Added `packages/blog/tests/r44-no-double-capture.test.ts` to lock the contract: an error originated in the repo is captured once with repo tags; an error originated in the controller (parse failure) is captured once with controller tags; success paths capture nothing. + +**Why use cases also wrap, even though current bodies mostly delegate to the repo:** R44's intent is that _any_ throw originated locally — output-schema validation, business-rule errors like `AuthenticationError` in `signInUseCase` — gets captured with use-case tags. The wrapper makes the rule uniform; the flag makes it safe. + +## Related + +- ADR-008 — per-feature DI containers +- ADR-011 — TDD foundation +- ADR-012 — feature conventions +- ADR-013 — input/output unification diff --git a/docs/decisions/adr-015-events-and-jobs.md b/docs/decisions/adr-015-events-and-jobs.md new file mode 100644 index 0000000..951a2f0 --- /dev/null +++ b/docs/decisions/adr-015-events-and-jobs.md @@ -0,0 +1,114 @@ +# ADR-015 — Cross-feature events and background jobs + +**Status:** Optional — scaffold via `pnpm turbo gen core-package events`. +When absent, `ctx.bus` is undefined and feature binders' `bus?.subscribe/publish` +calls are silent no-ops. Cross-feature event fanout does not operate until +core-events is scaffolded. `IJobQueue` (in `@repo/core-shared/jobs`) and the +`gen event`/`gen job` generators remain fully functional without core-events. + +**Date:** 2026-05-08 + +## Context + +Until this ADR the monorepo had no shared mechanism for _cross-feature_ communication or _deferred_ work. Two separate gaps: + +1. **Cross-feature reactions** — when `auth` creates a user, `marketing-pages` wants to send a welcome email. Direct imports between feature packages are blocked by ESLint boundaries (R20). Without a bus, the only options were to merge the features or to leak a use-case import through `core-api`. Both compromise the vertical-slice property. +2. **Background jobs** — heavyweight side effects (email send, image processing, periodic cleanups) belong off the request path. The repo had no contract for "enqueue and run later." Payload's job system sits in `apps/cms` but feature packages had no abstraction over it. + +The architecture's vendor-isolation principle (R40) — feature packages must not import vendor SDKs directly — applies to Payload as well. Whatever bus and queue we ship must give features a vendor-neutral interface and route the vendor calls through one boundary layer. + +## Decision + +**1. Two new abstractions, both vendor-neutral.** `IEventBus` lives in `@repo/core-events` (a brand-new package); `IJobQueue` lives in `@repo/core-shared/jobs/` (a new subpath of an existing package). Both are pure TypeScript interfaces. Feature packages depend on the interface, never the implementation. + +**2. Three rules, ESLint-enforced.** + +- **E0 — Events are for cross-feature decoupling, not internal flow control.** In-feature reactions are direct use-case calls. The bus is for crossing feature boundaries. +- **E1 — Event contracts are public; handlers are private.** The publisher's `events/.event.ts` is exported from the feature root barrel. The consumer's `events/handlers/on--.handler.ts` is private to the consumer's `bind-*` files and never re-exported. Custom rule `core-eslint/rules/no-handler-reexport` blocks accidental exports. +- **J0 — Jobs are for _deferred_ work, not abstraction.** Synchronous code stays synchronous. A job exists only when something must run off the request path (latency, retries, cron). + +A second custom ESLint rule, `no-direct-payload-jobs`, blocks `payload.jobs.queue(...)` outside `core-shared/jobs/`. Feature packages enqueue through `IJobQueue` only. + +**3. Two bus implementations, two queue implementations, swapped by `bindAll()`.** + +- `InMemoryEventBus` — synchronous fan-out for dev / test; respects an optional `failFast` mode. +- `PayloadJobsEventBus` — production; each `publish()` enqueues `__events...` Payload tasks for every subscribed consumer. Uses the per-feature container to resolve the wrapped handler at task-handler time. +- `InMemoryJobQueue` — `setImmediate`-based for dev / test; supports `register(slug, handler)` so feature binders wire dispatch at boot. +- `PayloadJobQueue` — production; thin wrapper over `payload.jobs.queue`. + +The `apps/web-next/src/server/bind-production.ts` `bindAll()` dispatcher gains `resolveEventsAndJobsProduction()` and `resolveEventsAndJobsDevSeed()`. Selection follows the same rule order as repository binding: `USE_DEV_SEED=true` → in-memory; `NODE_ENV=production` → Payload-backed; otherwise → in-memory (developer default). Selection is orthogonal to instrumentation Rule 0. + +**4. Subscribe takes a `consumerFeature` string.** `IEventBus.subscribe(descriptor, consumerFeature, handler)` — three arguments. The middle argument lets `PayloadJobsEventBus` enumerate concrete `__events.*.task.` slugs at fan-out time, and lets `InMemoryEventBus.failFast` produce useful error messages. The spec's original two-arg form was widened during plan self-review so `PayloadJobsEventBus` could be directly assignable to `IEventBus`. + +**5. Per-feature folder layout (all optional).** + +``` +packages//src/ + events/ + .event.ts (publisher) + handlers/on--.handler.ts (consumer) + jobs/ + .job.ts (factory + Zod schema + ITypedJob) + integrations/cms/jobs/ + .task.ts (Payload TaskConfig) + __events--.task.ts (auto-generated by gen event consume) +``` + +The Payload `TaskConfig` for an event-task uses `TaskConfig<{ input; output }>` shape (not `TaskConfig<"slug">`) because runtime-generated event slugs are not keys of `TypedJobs['tasks']`. + +**6. Six anchor-comment slots in every feature.** Generators inject at fixed `// ` anchors (`` in `src/index.ts`, `` and `` in `src/di/symbols.ts`, `` and `` in both `bind-*.ts` files, `` in `src/integrations/cms/index.ts`). All five existing features were retrofitted; the `feature` generator template emits the four anchors that fall inside generated files (the `` location is in CMS-index, which is manually authored). A CI guard at `packages/core-eslint/anchors.test.js` asserts the anchors stay present. + +**7. Three generators.** + +- `pnpm turbo gen event publish ` — scaffolds the contract + test, threads through ``. +- `pnpm turbo gen event consume ` — scaffolds the handler + test, plus a Payload event-task; threads through ``, both ``, and ``. The Payload task closes the production-bus loop end-to-end. +- `pnpm turbo gen job ` — scaffolds the factory + test + Payload TaskConfig; threads through ``, both ``, and ``. + +A shared `assertAnchors(repoRoot, relPath, anchors[])` helper at `turbo/generators/lib/anchor-validate.ts` is the first action of every generator path. + +**8. `IEventBus` lives in a new package, `IJobQueue` lives in `core-shared`.** `IEventBus` is built on top of `IJobQueue` (`PayloadJobsEventBus.publish` calls `queue.enqueue`), so they cannot live in the same package without a circular import — hence the split. `IJobQueue` is closer to a system primitive (Redis-style enqueue/dequeue), `IEventBus` is application-layer pubsub. + +## Alternatives considered + +- **Single package containing both interfaces.** Rejected — `PayloadJobsEventBus` depends on `IJobQueue`. If `IJobQueue` lived in `core-events`, every feature that uses _only_ jobs (no events) would still pull `core-events` transitively. The split keeps the dependency graph minimal. +- **Synchronous in-process events without a queue layer.** Rejected for production — Payload's job system gives durability, retries, and observability for free; events that flow through it gain those properties at no extra cost. +- **Vendor-coupled events (e.g., direct `payload.jobs.queue`).** Rejected — would re-couple feature packages to Payload, violating R40's vendor-isolation principle. +- **Event contracts as ad-hoc TypeScript types instead of `EventDescriptor` + Zod.** Rejected — the descriptor's `name` field is the wire format the production bus uses to route to `__events.*` task slugs. Without a single source of truth, publisher and consumer can disagree at runtime. Zod gives runtime payload validation cheaply. +- **No anchor protocol; generators target file-end positions.** Rejected — feature files evolve, file-end positions are unstable, and the ESLint config is the only place we can lock structure. Anchors give explicit injection points; the CI guard locks them. +- **One `event` generator with mode-as-prompt vs. two separate generators (`event-publish`, `event-consume`).** The single-generator form ships, but Plop's `--args` cannot bypass conditional prompts, so the publisher prompt's `when` clause was dropped — publish mode silently ignores the field. Future revision may split the generators if the UX cost is significant. + +## Consequences + +**Positive:** + +- Cross-feature event flows that span vertical slices without violating boundaries. +- Background work has a single contract (`IJobQueue`) that swaps from in-memory to Payload-durable per environment. +- Vendor-swappable: replacing Payload means writing one new `IJobQueue` adapter. +- Generators eliminate boilerplate for the most repetitive parts (handler scaffold, Payload task glue, DI bindings). +- The proof-of-life flow (sign-up → welcome email) ships green in both dev-seed and production wiring; the dev-seed path is fully exercised by `apps/web-next/src/__tests__/sign-up-welcome-email.test.ts`. + +**Negative:** + +- Two queue implementations means dev-seed handlers register via `queue.register(slug, ...)` while production relies on Payload tasks resolving from the per-feature container. The dispatch story differs by environment; the abstraction hides it but it's a real surface. +- `InMemoryEventBus` is synchronous; `PayloadJobsEventBus` is asynchronous and at-least-once. Subscribers must be idempotent. +- Six anchor comments in every feature is more visual noise than the average reader expects. Mitigated by the CI guard (so they can't drift accidentally) and the generators (so contributors don't need to know they exist). +- `void bus; void queue;` lines linger in feature binders that haven't yet wired any event/job (placeholder so `no-unused-vars` passes). Cosmetic; removed naturally as features adopt the system. + +## Implementation notes + +- **Auth is username-based, not email-based.** The spec's example contract had `email`; this ADR's `userSignedUpEvent` schema does keep `email`, but `signUpUseCase` synthesizes `${username}@example.local` to satisfy the contract. The proof-of-life flows record this synthesized email — the realism of the address is incidental to the cross-feature plumbing being verified. +- **`apps/auth/src/di/module.ts` (the default-fallback DI module) gains `new InMemoryEventBus()` per `.toDynamicValue()` resolution.** Real cross-feature wiring runs through `bindProductionAuth` / `bindDevSeedAuth` where the bindAll-resolved bus is shared; the module's per-resolution bus is acceptable because the module is a default-mock fallback, not a runtime path. +- **`@repo/auth` and `@repo/marketing-pages` exports were extended** for the e2e test: `./di/container`, `./di/symbols`, plus `marketing-pages` exposes `./services/mailer` and `./services/recording-mailer`. Containers and symbols being public is consistent with the binders already being public. +- **Generator-level fixes:** dropped publisher prompt's `when` clause (Plop `--args` cannot bypass conditional prompts); switched event-task template to `TaskConfig<{ input; output }>` shape (runtime slugs aren't keys of `TypedJobs['tasks']`); registered a custom Handlebars `eq` helper for the void/typed branch in `gen job`'s template. + +## Out of scope (deferred) + +1. **Production-mode e2e test against Payload.** The proof-of-life test runs in dev-seed (`InMemoryEventBus` + `InMemoryJobQueue`). A parallel test that exercises `PayloadJobsEventBus` against a real Payload test database would prove the `__events.*.task.ts` slug-to-handler chain end-to-end. Skipped for v1 — requires Payload test fixtures. +2. **Cron schedules for jobs.** Job cron schedules live in `core-cms`'s `buildConfig({ jobs: { ... } })`, not in the feature's job file or generator output. v2 may add a `--cron` prompt to `gen job`. +3. **Event contract evolution / versioning.** The current spec has no migration story for breaking-change schema updates. v2 may introduce versioned descriptors (`auth.user.signed-up.v2`) and dual-publish helpers. + +## Related + +- ADR-008 — per-feature DI containers +- ADR-010 — Turborepo boundaries +- ADR-014 — Instrumentation & Sentry logging diff --git a/docs/decisions/adr-016-realtime-layer.md b/docs/decisions/adr-016-realtime-layer.md new file mode 100644 index 0000000..05cfae0 --- /dev/null +++ b/docs/decisions/adr-016-realtime-layer.md @@ -0,0 +1,103 @@ +# ADR-016 — Realtime layer (Socket.IO) + +**Status:** Optional — scaffold via `pnpm turbo gen core-package realtime`. The package is not in the default template; this ADR documents the design that the generator emits. +**Date:** 2026-05-08 + +## Context + +Until this ADR the monorepo had no mechanism for the server to push state to a connected browser without polling. tRPC covers request/response; the event bus from ADR-015 covers in-process cross-feature publish/subscribe. Neither delivers a server-side state change to an open browser tab without polling. + +Two concerns drove this work. First, establishing the abstraction seam — the same logic that motivated `IEventBus` and `IJobQueue` in ADR-015: define the interface once so individual features can adopt realtime on demand without each designing its own socket integration. Second, an admin live-observability dashboard that streams event/job traffic is the first concrete consumer of the seam, but its UI work is large enough for a separate PR. v1 therefore ships a built-in `realtime-ping` channel as the proof-of-life and defers the dashboard. + +The vendor-isolation principle from ADR-014 and ADR-015 carries over without modification: the wire-protocol library (`socket.io`) is hidden behind `IRealtimeBroadcaster` / `IRealtimeServer` interfaces. Feature packages MUST NOT import `socket.io` directly. + +## Decision + +**1. Three rules, ESLint-enforced.** + +- **R0 — Realtime is for state delivery, not for replacing tRPC.** Persistent operations with request/response semantics belong on tRPC procedures. Use realtime when (a) the server needs to push without a request, or (b) the data is too high-frequency for HTTP. +- **R1 — Channel descriptors are exported; handlers are private.** A feature's `realtime/.channel.ts` is re-exported from the package root barrel. A feature's `realtime/handlers/.handler.ts` is wired only inside that feature's own `bind-production` / `bind-dev-seed` and is never re-exported from any subpath. Custom rule `no-realtime-handler-reexport` enforces this — parallel to ADR-015's `no-handler-reexport` for event handlers. +- **R2 — `socket.io` lives in one package only.** Feature packages MUST NOT `import "socket.io"` or `import "socket.io-client"`. The only allowlist entries are `packages/core-realtime/src/socket-io-*.ts` and `apps/*/server.ts`. ESLint rule `no-direct-socket-io` enforces this — parallel to ADR-015's `no-direct-payload-jobs`. + +**2. New package `@repo/core-realtime`.** Parallel in shape to `@repo/core-events` from ADR-015. Tagged `core`. Exports pure TypeScript interfaces (`IRealtimeBroadcaster`, `IRealtimeServer`, `IRealtimeAuthenticator`, `IRealtimeHandlerRegistry`), the `defineRealtimeChannel` factory, four scope kinds (`"public"`, `"authenticated"`, `{ role }`, `{ userScoped }`), and Socket.IO adapter classes (`SocketIORealtimeBroadcaster`, `SocketIORealtimeServer`). Also exports `InMemoryRealtimeBroadcaster` for dev/test use — no Socket.IO dependency, stores broadcasts in memory. Feature packages depend on interfaces only; the Socket.IO adapter classes are consumed exclusively by the app's custom Node server. + +**3. Four auth checkpoints, pure function authorization.** The connect handler (gate 1) reads the session cookie, calls `IRealtimeAuthenticator.authenticate()`, and attaches `{ userId, roles } | null` to `socket.data.user`. Channel subscribe (gate 2) matches the requested name against registered descriptors (template-aware for `"notifications.user.{userId}"`-style channels), calls `authorize(descriptor, params, user)`, and on success calls `socket.join("ch:")`. Inbound message (gate 3) re-validates schema and re-applies `authorize` as defense-in-depth, then invokes the wrapped handler with `ctx = { userId, roles }`. Broadcast (gate 4) has no gate — `io.to("ch:").emit(...)` fans out to whoever cleared gate 2; subscribe is the single source of truth. `authorize` is a pure function with no DB hit. + +**4. Hybrid bus-bridge / direct-broadcast model.** The existing `IEventBus` from ADR-015 is reused as a _third consumer_ in a bridge pattern: a `bindRealtimeBridge(bus, broadcaster, allowlist)` step in `bindAll()` subscribes to allowlisted bus events and forwards them onto realtime channels. The bridge allowlist ships empty in v1; the first entries land with the dashboard PR. Direct broadcast (feature use case adds `realtime: IRealtimeBroadcaster` to its factory deps and calls `realtime.broadcast(channel, payload)`) is the primary path; the bridge is for cases where bus events already exist and realtime is additive. + +**5. Custom Node server for `apps/web-next`.** `apps/web-next/server.ts` replaces `next start` / `next dev` as the boot entry. Both Next.js and Socket.IO share one http server on port 3000. The `bindAll()` dispatcher gains two new resolution steps: `resolveRealtime()` (picks `InMemoryRealtimeBroadcaster` vs `SocketIORealtimeBroadcaster` by env) and the bridge wiring call. `bindAll(deps?)` is optional — callers may pass pre-constructed broadcaster/registry instances (the server does) or omit them and receive `InMemoryRealtimeBroadcaster` defaults (page-handler callers, existing tests). A `bound` guard ensures the Noop defaults are never silently accepted in production. + +**6. Per-feature folder layout (all optional).** + +``` +packages//src/ + realtime/ + .channel.ts ← channel descriptor (re-exported from root barrel) + handlers/ + on-.handler.ts ← inbound handler (private, never re-exported) +``` + +Top-level `realtime/`, not under `integrations/`. Channel descriptors are descriptor-shaped (same shape as event descriptors from ADR-015, which also live at top level in `events/`). There is no per-feature transport code — the Socket.IO server lives once in `core-realtime`. + +**7. Three new anchors per feature, two new generators.** All five existing features plus the `feature` generator template gain three new `// ` anchor comments (`// ` in `src/index.ts`, `// ` in `src/di/symbols.ts`, `// ` in both `bind-*.ts` files). The CI anchor guard in `packages/core-eslint/anchors.test.js` extends to assert these stay present. + +- `pnpm turbo gen realtime --args channel ` — scaffolds `.channel.ts` + test; threads the re-export through ``. +- `pnpm turbo gen realtime --args handler ` — scaffolds `on-.handler.ts` + test; threads the wrapped registration through `` and both `` anchors. + +Handlers are wrapped in the same `withSpan(tracer, { op: "realtime-handler" }, withCapture(logger, { layer: "realtime-handler" }, handlerFactory(deps)))` sandwich as use cases and controllers (ADR-014 R41–R44). + +## Alternatives considered + +- **WebSockets without Socket.IO.** Rejected — Socket.IO's room-based fan-out, built-in reconnect, and namespace support cover the subscription / user-scoped-channel use cases cleanly. The vendor-isolation interface means swapping later is one adapter rewrite. +- **Server-Sent Events (SSE).** Considered for server-push-only scenarios. Rejected — the inbound handler (client → server) use case rules it out, and maintaining two separate realtime primitives for push vs bidirectional adds protocol surface without architectural benefit. +- **Merge realtime into `core-shared`.** Rejected — `core-realtime` depends on `socket.io` for the production adapter. Adding that dep to `core-shared` would force every feature to transitively pull the SDK, violating the vendor-isolation principle that ADR-014 and ADR-015 both enforce. A new package keeps the dep graph minimal. +- **No bridge; direct broadcast only.** Considered and partially adopted (the bridge ships empty in v1). Rejected as the permanent answer — cases where a bus event should fan out to multiple durable consumers AND push to live clients are real (article published → search index + live feed). Two APIs, mutually independent, cover the matrix without forcing one shape on the other. +- **Per-feature transport code (each feature owns its socket event names).** Rejected — channel descriptors and `SocketIORealtimeServer` handle the dispatch table centrally. Spreading socket event name strings across feature packages recreates the problem that `EventDescriptor.name` solved in ADR-015. + +## Consequences + +**Positive:** + +- Server-push to connected browser tabs without polling, across any feature on demand. +- Vendor-swappable: replacing Socket.IO means writing one new adapter pair (`IRealtimeBroadcaster` + `IRealtimeServer`). +- The existing `IEventBus` is reused as the bridge source; features that already publish events get realtime fan-out for free via one `allowlist` entry. +- Four auth checkpoints are centrally managed — features don't each implement cookie parsing or scope authorization. +- `RecordingRealtimeBroadcaster` in `core-testing` gives use-case tests a drop-in broadcaster that records calls, mirroring `RecordingEventBus`. + +**Negative:** + +- `bindProductionX` / `bindDevSeedX` now take seven arguments `(config, tracer, logger, bus, queue, realtime, realtimeRegistry)`. Future expansion may warrant collapsing to a single `BindContext` object; deferred. +- The custom Node server for `apps/web-next` means `next start` / `next dev` are no longer sufficient entry points. The CMS and TanStack apps still use their existing runtimes until they need realtime. +- `InMemoryRealtimeBroadcaster` has no room/socket model — it stores all broadcasts in a flat array. Sufficient for unit testing; insufficient for integration tests that assert specific sockets received a broadcast. The `realtime-ping` integration test uses a real `SocketIORealtimeServer` in-process. + +## Notes from execution + +- **`RecordingRealtimeBroadcaster` scope-type alias widened.** The spec's local type alias `RealtimeChannelDescriptor` in `core-testing` was widened to handle the discriminated-union shape of the actual descriptor correctly. The recorded-broadcast entries use `{ channel: string; payload: unknown }` to avoid tying the recording type to the exact generic parameters. +- **`IRealtimeHandlerRegistry` gained `registerChannel` / `listChannels`.** The original spec had only `register` / `getInboundDescriptor` / `list`. `registerChannel` and `listChannels` were added to support outbound-only channel subscription: gate 2 (subscribe authorization) iterates `listChannels` + `register`ed descriptors independently of inbound handler registration, separating the "is this a known channel?" check from "does this channel have an inbound handler?" +- **`bindAll(deps?)` is optional with `InMemoryRealtimeBroadcaster` defaults.** Existing page-handler callers that invoke `bindAll()` with no args continue to work without modification. A `bound` guard ensures that in production, where `bindAll()` is always called from `server.ts` with explicit `SocketIORealtimeBroadcaster` / `RealtimeHandlerRegistry` args, the in-memory fallback is never silently wired. + +## Out of scope (deferred) + +1. **Live observability dashboard.** The first concrete realtime consumer. Bridge allowlist entries land in that PR; v1 ships the allowlist empty. +2. **DB-backed roles / permissions.** `authorize` today reads whatever `IRealtimeAuthenticator` returns. When the auth feature gains a `RolesRepository`, `authenticate()` will return populated `roles` / `permissions` arrays with no changes to `core-realtime`. +3. **Multi-instance fanout.** Redis adapter / sticky sessions for horizontally scaled deployments. The `IRealtimeBroadcaster` interface is the seam. +4. **Custom Node server for `cms` and `web-tanstack`.** Both apps continue on their existing runtimes until they need realtime. +5. **Production-mode e2e test.** The `realtime-ping` integration test exercises the four checkpoints in-process. A multi-socket test that verifies fan-out across N connected clients is deferred to v2. + +## Known follow-ups (post-merge polish) + +Items surfaced by the final branch review that were intentionally not landed in v1: + +1. **`bindRealtimeBridge` stub has no test scaffolding.** v1 ships `apps/web-next/src/server/bind-production.ts:bindRealtimeBridge` as a no-op (`_`-prefixed args). The dashboard PR adds the first allowlist entries; a minimal contract-shaped test (e.g. accept `allowlist: BridgeEntry[]` and assert subscribe wiring) should land alongside the first entry, not before. +2. **`IRealtimeHandlerRegistry.register` + `registerChannel` precedence is implicit.** Calling both for the same channel name silently overwrites the channel-map descriptor while leaving the entry-map intact. Behaviour is correct for current callers; document the precedence in the interface JSDoc or reject conflicting re-registration once the second outbound channel ships. +3. **`matchChannelTemplate` placeholders cannot contain dots** (`packages/core-realtime/src/channel-template.ts:14-17` uses `([^.]+)`). Fine for UUID-style identifiers; document the constraint in `defineRealtimeChannel`'s JSDoc when the first non-UUID key shape arrives. +4. **`SocketIORealtimeServer` swallows handler errors with bare `catch {}`** (`packages/core-realtime/src/socket-io-realtime-server.ts:108-117`). Wrapped handlers (`withCapture`) already record the error; unwrapped handlers lose it. Adding a server-injected logger that records "handler_error for channel X" would help debug connection-level issues — defer until a debugging incident actually motivates it. +5. **`bindAll(deps?: Partial)` permits a half-populated deps object** that mixes a real broadcaster with a fresh registry (or vice versa). In practice no caller does this, but the type doesn't enforce all-or-nothing semantics. Tighten to `deps?: BindAllDeps` (full or absent) when the next consumer lands. +6. **AGENTS.md anchor count phrasing.** AGENTS.md says "three fixed `// ` anchor comments per feature." There are three _kinds_ but four placements (the handlers anchor lives in both `bind-production.ts` and `bind-dev-seed.ts`). Tighten to "three anchor kinds across both bind files" when the AGENTS.md is next touched. + +## Related + +- ADR-008 — per-feature DI containers +- ADR-010 — Turborepo boundaries +- ADR-014 — Instrumentation & Sentry logging (span+capture sandwich reused for realtime handlers) +- ADR-015 — Cross-feature events and background jobs (`IEventBus` reused as the bridge source) diff --git a/docs/decisions/adr-017-opentelemetry-migration.md b/docs/decisions/adr-017-opentelemetry-migration.md new file mode 100644 index 0000000..900146c --- /dev/null +++ b/docs/decisions/adr-017-opentelemetry-migration.md @@ -0,0 +1,53 @@ +# ADR-017 — OpenTelemetry Migration + +**Status:** Accepted +**Date:** 2026-05-11 +**Supersedes (impl section):** ADR-014 + +## Context + +ADR-014 established vendor-neutral `ITracer` + `ILogger` interfaces with Sentry as the active backend. The interface decisions (R31–R51) have held up; what coupled to a vendor was the **substrate**: `SentryTracer` and `SentryLogger` called Sentry SDK methods directly. Swapping vendors required rewriting every `*Tracer`/`*Logger` pair. + +This ADR migrates the substrate to OpenTelemetry: code emits OTel spans, logs, and metrics; exporters route to one or more backends. Sentry is wired as the (initially only) exporter via `@sentry/opentelemetry`. Swapping vendors becomes an exporter swap. + +## Decision + +1. **OTel SDK as substrate.** Server-side `ITracer` and `ILogger` impls use `@opentelemetry/api` and `@opentelemetry/api-logs` respectively. New `IMetrics` signal added via OTel metrics API. +2. **Sentry-as-exporter.** `@sentry/opentelemetry` provides `SentrySpanProcessor` + `SentryLogRecordProcessor`. They consume OTel signals and forward to Sentry. Sentry's UI experience is preserved (minus some browser-side richness, addressed below). +3. **Server-only scope.** Browser keeps Sentry SDK directly. Replay + session-error correlation stay native. Future spec extends OTel to browser when warranted. +4. **Pure OTel Logs API for the logger.** `OtelLogger` emits via `@opentelemetry/api-logs`. Trade-off: slightly degraded Sentry-native error UX (stack normalization, breadcrumb buffer) in exchange for swap-by-exporter vendor neutrality. +5. **Breadcrumbs → span events.** `ILogger.addBreadcrumb` attaches to the active OTel span as an event. Native OTel pattern. +6. **`setUser` per-span.** Sets `user.id` as a span attribute on the active span. R36 preserved (id only; no email/username). +7. **PII scrubbing migrated.** From Sentry's `beforeSend`/`beforeSendTransaction` hooks to OTel `SpanProcessor` + `LogRecordProcessor` impls (`PiiScrubSpanProcessor`, `PiiScrubLogRecordProcessor`). Processors run BEFORE the Sentry exporter, so PII is stripped at the OTel layer regardless of downstream exporter. Browser init files (`init-client.ts`, `init-client-react.ts`) retain `beforeSend`/`beforeSendTransaction` hooks because they do not use the OTel pipeline. +8. **R52 new ESLint rule.** `@opentelemetry/sdk-*`, `@opentelemetry/exporter-*`, `@opentelemetry/instrumentation-*`, `@opentelemetry/resources`, `@opentelemetry/semantic-conventions` restricted to `**/instrumentation/otel/**` and app init paths. `@opentelemetry/api` and `@opentelemetry/api-logs` are unrestricted within `core-shared/instrumentation/`. +9. **`bindSentryInstrumentation` renamed to `bindOtelInstrumentation`** with a deprecation alias for one release cycle. +10. **`IMetrics` synchronous-only.** Three methods: `counter`, `histogram`, `gauge`. `gauge` uses `UpDownCounter` under the hood; true "set" gauge semantics require an `ObservableGauge` with a periodic callback, deferred to a v2 metrics interface. +11. **Auto-instrumentations enabled.** HTTP (`@opentelemetry/instrumentation-http`), undici (`instrumentation-undici`), pg (`instrumentation-pg`) registered in `initOtelServerNode`. HTTP instrumentation strips query strings from `http.url.path` attribute and ignores `/_health` and `/_otel-export` paths. PgInstrumentation has `enhancedDatabaseReporting: false` to avoid SQL statement capture (R32 — SQL often contains PII in WHERE clauses). +12. **`no-sentry.ts` → `no-instrumentation.ts` in `core-testing`.** Renamed with backward-compat alias for one release. Mocks both Sentry SDK and OTel SDK modules to prevent real init in vitest runs. + +## Alternatives considered + +- **Keep Sentry SDK directly.** Rejected — couples impl to Sentry forever. +- **OTel SDK + keep Sentry-direct for `captureException`.** Rejected — partial vendor swap re-introduces lock-in for the error path. +- **Migrate browser too.** Rejected — OTel-Browser maturity in 2026 is good for traces but Sentry's browser SDK has features (replay, native error correlation) that don't yet have OTel equivalents. +- **Put PII scrub in Sentry exporter config.** Rejected — `beforeSend` hooks run inside the Sentry SDK after OTel signals are converted; the OTel processor layer is earlier and vendor-agnostic. Scrubbing at the processor layer means any future exporter added alongside Sentry also sees clean data. + +## Consequences + +**Positive:** + +- Vendor swaps are exporter swaps. Adding Honeycomb / Datadog / Grafana Cloud / Tempo is just adding their exporter alongside Sentry's. +- Auto-instrumentations (HTTP, undici, pg) reduce manual span boilerplate. +- New `IMetrics` signal available; metrics call sites can land per-feature opportunistically. +- PII scrubbing is vendor-neutral — applies before any exporter sees the data. + +**Negative:** + +- Sentry-native error UX is slightly degraded (errors arrive as OTel log records instead of native Sentry events). Acceptable per vendor-neutrality goal. +- Breadcrumb semantics shift from buffered cross-span to per-span events. Acceptable. +- Browser is still Sentry-direct — observability stack is asymmetric server vs. browser until a future browser migration. +- OTel SDK adds dependency surface (~12 new packages in `core-shared`). + +## Relationship to ADR-014 + +ADR-014's interface decisions (R31–R51) remain authoritative. This ADR supersedes only the implementation section (Sentry SDK direct calls → OTel SDK). ADR-014 keeps a "Status: Superseded for impl by ADR-017" header. diff --git a/docs/decisions/adr-018-audit-and-compliance.md b/docs/decisions/adr-018-audit-and-compliance.md new file mode 100644 index 0000000..ee425af --- /dev/null +++ b/docs/decisions/adr-018-audit-and-compliance.md @@ -0,0 +1,102 @@ +# ADR-018 — Audit Logging & DPA Compliance + +**Status:** Accepted +**Date:** 2026-05-11 +**Companion guide:** docs/guides/audit-and-compliance.md + +## Context + +DPA compliance mandates audit logging for every personal-data access event: +VIEW/CREATE/UPDATE/DELETE/EXPORT/PERMISSION_CHANGE, with immutable storage, +GDPR-deletable path, centralized aggregation, and strict "what NOT to log" +boundaries. The interface decisions from ADR-014 (R31-R51) carry over but +audit needs its own channel — observability data is sampled and short-retention, +audit data is lossless and long-retention with privileged erasure. + +## Decision (12 points) + +1. **`AuditLogProtocol` in `core-shared`** — must-have universal surface. + Features call `ctx.auditLog?.record(entry)` without importing the optional package. +2. **`AuditEntry` type with closed action enum** — VIEW/CREATE/UPDATE/DELETE/ + EXPORT/PERMISSION_CHANGE/CONSENT_GRANT/CONSENT_WITHDRAW/RESTRICT/UNRESTRICT; + new actions require explicit type bump. No payload/body/oldValue/newValue + fields — type enforces "what NOT to log". +3. **`@repo/core-audit` as 5th optional package** — joins realtime, events, + trpc, ui. Scaffolded via `pnpm turbo gen core-package audit`. +4. **Four impls + Recording test double**: NoopAuditLog, PayloadAuditLog + (local cache), StdoutJsonAuditLog (operator ships via Vector/Fluent Bit), + MultiSinkAuditLog (fan-out), RecordingAuditLog (core-testing). +5. **Append-only Payload collection** — `update: () => false` access rule + is the compliance backbone; erasure path uses `overrideAccess: true`. +6. **GDPR erasure** — sha256-salted pseudonymization (`erased-{hash[0:16]}`) + or hard delete. AUDIT_PSEUDONYM_SALT env REQUIRED in production; bind-time + validation fails fast. +7. **Erasure trigger surface** — admin tRPC procedure (`audit.eraseSubject`), + Payload `afterDelete` hook factory (`createAuditErasureHook`), auth + integration via printed generator next-steps (NOT auto-installed). +8. **OTel correlation bridge** — `currentTraceId()` helper in core-shared; + `TraceIdEnrichingAuditLog` decorator at bind time auto-populates + `AuditEntry.correlationId` from active OTel span. Explicit caller wins. +9. **VIEW capture via BOTH patterns** — use-case `record()` calls (developer + decides per-read-path) AND `createAuditAfterReadHook` factory (opt-in + per-collection automatic capture). Fire-and-forget for hooks. +10. **IP/UA explicit at call sites** — no AsyncLocalStorage. Callers use + `truncateIp(raw)` (/24 IPv4, /48 IPv6) and pass into `record({ from: { ... } })`. + Sentinels for non-HTTP context: `"system"` / `"background-job"`. +11. **Multi-tenancy: tenant field required** — `AuditEntry.scope.tenant` + non-optional; single-tenant projects pass `"default"`. Forces multi-tenant + thinking from day one. +12. **Six-phase delivery** matching established cadence. + +## Alternatives considered + +- **Vendor-coupled SDK (Datadog/Grafana direct)** — rejected; couples to vendor. +- **Payload-only sink** — fails compliance (hostile-actor immutability). +- **Aggregator-only sink** — fails dev ergonomics. Fan-out is the balance. +- **AsyncLocalStorage for request context** — rejected per user preference; + explicit > implicit. +- **Optional tenant field** — rejected; DPA-aligned scope discipline benefits + from forcing the question on every call. + +## Consequences + +**Positive:** + +- DPA-compliant baseline ships with the optional package. +- Vendor-neutral via stdout JSON + log shipper; any aggregator works. +- OTel correlation gives compliance auditors one-click pivot to traces. +- Type-enforced exclusion of "what not to log" prevents categories of mistakes. + +**Negative:** + +- Boilerplate at every record() call site (IP/UA explicit). +- core-audit ↔ auth coupling for the user-collection hook is awkward + (manual install via generator next-steps). +- StdoutJsonAuditLog's eraseSubject is best-effort (tombstone only; past + stdout lines can't be retroactively removed). + +## Relationship to other ADRs + +- ADR-014 (instrumentation interfaces): audit is a parallel channel, not a + signal flowing through OTel. The correlationId field is the bridge. +- ADR-015 (events/jobs): no overlap; audit is observational, events are reactive. +- ADR-017 (OTel migration): provides currentTraceId() helper. + +## Amendments + +### 2026-05-19 — Consent and restriction action types (Epic B, ADR-025) + +Added four new `AuditAction` values to `core-shared/audit/audit-entry.ts`: + +| Action | Article | Description | +| ------------------ | ------------ | ------------------------------------------------- | +| `CONSENT_GRANT` | GDPR Art. 7 | Subject granted consent for a processing purpose | +| `CONSENT_WITHDRAW` | GDPR Art. 7 | Subject withdrew consent for a processing purpose | +| `RESTRICT` | GDPR Art. 18 | Subject requested restriction of processing | +| `UNRESTRICT` | GDPR Art. 18 | Restriction lifted (controller or subject action) | + +**Reason:** `core-consent` and `core-dsr` optional packages (Story 03 and 06 +of Epic B) emit these action types via `core-audit`'s existing `IAuditLog` +channel. The values must exist in `core-shared`'s closed enum before either +optional core can be implemented. No change to `IAuditLog`'s interface surface — +the new values flow through `AuditEntry.action` automatically. diff --git a/docs/decisions/adr-019-sandcastle-for-agent-orchestration.md b/docs/decisions/adr-019-sandcastle-for-agent-orchestration.md new file mode 100644 index 0000000..ecb1358 --- /dev/null +++ b/docs/decisions/adr-019-sandcastle-for-agent-orchestration.md @@ -0,0 +1,134 @@ +# ADR-019 — Sandcastle for Agent Orchestration + +**Status:** Accepted +**Date:** 2026-05-13 +**Spec:** docs/architecture/agent-first-workflow-and-conformance.md +**Companion guide:** docs/guides/runbook.md ("Using Sandcastle for agent dispatch") +**Related:** ADR-011 (TDD foundation), ADR-012 (feature conventions), ADR-015 (events and jobs) + +## Context + +This template is designed for **agent-driven feature development**. The conformance +system (ADR-012 + the post-ADR conformance-system-v1 epic) gives agents a tight, +layered feedback loop — type errors in 0s, lint in <1s, boot assertion in ~3s, CI +gates in ~120s. The remaining substrate question is: how does an agent actually +get dispatched against a task? + +Three pieces are needed: + +1. **A way to invoke an agent** (Claude / Codex) with a task description, + inside a sandbox so the agent can't break the host while iterating. +2. **A way to capture the agent's commits** so a reviewer agent can inspect + the diff and approve or reject. +3. **A way to compose the above into a per-task dispatch loop** with retry + semantics, branch management, and integration into the existing + docs/work/ task system. + +Without a substrate that handles all three, agentic development falls back to +copy-paste-prompt-by-hand, which is slow and error-prone. + +## Decision + +Adopt [Sandcastle](https://github.com/mattpocock/sandcastle) (`@ai-hero/sandcastle`) +as the agent-orchestration substrate. `pnpm work dispatch` is the entry point. + +Concretely: + +1. **`@ai-hero/sandcastle` is a workspace-root devDependency.** Pinned at + `^0.5.10` at adoption; pnpm resolves later patches automatically. +2. **`.sandcastle/` holds the canonical prompt templates.** Five role-specific + prompts: PRD eliciter, ADR eliciter, decomposer, implementer, reviewer. + Each enforces the **generator-first** rule (prefer `pnpm turbo gen ` + over hand-rolling — see saved memory `generator-first-for-agents`). +3. **`.sandcastle/Dockerfile`** is the sandbox baseline (node:22-bookworm-slim + - pnpm via corepack). The agent runs `pnpm install --frozen-lockfile` as + its first step per the implementer prompt. +4. **`scripts/work/dispatch.mjs` is the orchestrator.** It reads `_state.json`, + finds the first ready story's first unchecked AC bullet, builds a task spec, + and calls `sandcastle.run({ promptFile, promptArgs: { TASK_FILE_CONTENT } })` + for the implementer, then again for the reviewer with `{{DIFF}}`. The + orchestrator does NOT mutate state in v1 — it prints suggested mutations + for the human to apply. +5. **Two modes:** `pnpm work dispatch` (planning, no agent invoked) and + `pnpm work dispatch --execute` (real sandcastle call, requires auth — see + point 7). +6. **Reviewer agent verifies generator-first.** Hand-rolled output that should + have been a `pnpm turbo gen ` invocation is grounds for rejection. +7. **Bring-your-own-auth.** Two paths are supported, in priority order: + - **Subscription (primary)** — bind-mount the host's `~/.claude/` into the + sandbox. Claude Code CLI inside the sandbox uses the host's logged-in + subscription session. Zero per-task token spend for Pro/Max subscribers. + Path overridable via `SANDCASTLE_CLAUDE_CREDS_DIR` env var. + - **API key (fallback)** — `ANTHROPIC_API_KEY` or `OPENAI_API_KEY` passed + through to the sandbox env. Used when no host creds directory exists. + - The resolver (`resolveClaudeAuth` in `scripts/work/dispatch.mjs`) picks + automatically with subscription always preferred. Sandcastle's own issue + #191 documents that subscription support won't be added natively; + this mount-based pattern is our workaround promoted to first-class. +8. **Per-task max-attempts honoured (v2).** Each task's frontmatter may carry + `max-attempts: N` to bound the implementer↔reviewer retry loop. Default 3. + +## Alternatives considered + +- **Bare Claude Code / Codex CLI invocation per task** — rejected. No sandbox + isolation; no consistent prompt template surface; no built-in branch + management; no reviewer-loop primitive. +- **GitHub Copilot Workspace / native CI agent** — rejected. Vendor lock-in; + workflow lives outside the repo; no local equivalent for development time. +- **Custom orchestrator built from scratch on the Anthropic SDK** — rejected. + Sandcastle already solves sandbox + branch + structured-output extraction; + rebuilding it is not the leverage point. +- **No orchestrator — humans dispatch each task manually via copy-paste** — + rejected as the steady-state mode, but supported as a fallback via planning + mode (`pnpm work dispatch` without `--execute`). +- **A different sandbox provider (Vercel sandboxes, Daytona, native fly.io)** + — sandcastle is provider-agnostic; the choice of provider sits behind the + `SANDCASTLE_PROVIDER` env var and can change without disrupting prompts or + orchestrator code. Default is Docker. + +## Consequences + +### Positive + +- **Per-task isolation.** Each implementer dispatch runs in its own Docker + sandbox + sandbox branch. Bad agent output stays in the branch; merge to + `main` is gated by the reviewer agent + the full 5-gate stack. +- **Provider-agnostic.** Switching from Claude to Codex (or to a future + agent runtime) is a one-line change to the prompt's `agent` parameter. +- **Composable with existing workflow.** `pnpm work` CLI already reads + `_state.json` and the docs/work/ markdown; dispatch is one more subcommand + layered on top. +- **Cost-aware default.** Planning mode invokes no agent; only `--execute` + spends tokens. Operators choose when to escalate from plan to execute. +- **Recoverable failure modes.** If an implementer goes off-rails, its diff + lives on a sandbox branch — review, reject, re-dispatch with notes. + +### Negative / accepted trade-offs + +- **External dependency on sandcastle.** If the project stalls, we either pin + - maintain a fork or migrate to another orchestrator. Sandcastle is small + enough (~3KLOC) that a fork is manageable. +- **Token cost is real.** A complex task can use 100K-200K tokens per + implementer + reviewer round-trip. Operators budget per-dispatch; the + planning mode + the optional `max-attempts` frontmatter cap exposure. +- **Docker dependency for the default sandbox.** Without Docker (or a + provider swap), `--execute` won't run. Documented in the runbook. +- **State mutation is manual in v1.** The orchestrator prints suggested + state mutations; a human ticks the AC bullet + commits. Auto-mutation is + v2 work, gated on confidence that the reviewer's decision can be trusted + without human inspection. + +### Follow-up work + +- **Auto state mutation** — when the reviewer agent's decision is approve, + the orchestrator could automatically tick the AC bullet + commit. Currently + manual; promote when reviewer confidence is established empirically. +- **Multi-task batch dispatch** — `pnpm work dispatch --all-ready` would + fan out across all ready stories. Requires DAG-aware concurrency + (no two implementers touching the same files). +- **Sandcastle CI image alignment** — the `.sandcastle/Dockerfile` is + minimal; once we identify the CI base image, the sandbox should extend it + to match the CI environment exactly. +- **Cost telemetry** — `sandcastle.run()` returns iteration usage stats; the + orchestrator could log these to `_state.json` per-task so operators see + cumulative spend. diff --git a/docs/decisions/adr-020-coverage-architecture.md b/docs/decisions/adr-020-coverage-architecture.md new file mode 100644 index 0000000..7d82b14 --- /dev/null +++ b/docs/decisions/adr-020-coverage-architecture.md @@ -0,0 +1,116 @@ +# ADR-020 — Agent-first coverage architecture (4 layers + manifest-driven thresholds) + +**Status:** Accepted +**Date:** 2026-05-13 +**Builds on:** ADR-006 (vertical-feature-packages), ADR-011 (TDD foundation) +**PRD:** docs/work/prds/coverage-architecture.prd.md + +## Context + +ADR-011 established the TDD foundation: per-package vitest configs with V8 coverage, a coverage baseline (80/75/80/80) and stricter per-layer bands (100% on `entities/`, `application/use-cases/`, `interface-adapters/controllers/`). The ESLint conformance rule `usecase-must-have-test-file` enforces _that a test file exists_. CI runs `pnpm test -- --coverage` and uploads `**/coverage/lcov.info` as an artifact. + +This leaves five gaps that matter especially in an agent-first repo: + +1. **No diff-coverage gate.** A slice can ship without exercising its new lines. The ESLint rule only checks file presence; the per-package thresholds catch only large drops. +2. **No aggregate visibility.** N separate lcov files; no merged view, no trend over time. +3. **Threshold declarations are duplicated** across 5+ `vitest.config.ts` files. Drift is mechanical to spot (we did it during the 2026-05-13 brainstorm: `@repo/media` had no `coverage:` block at all; `@repo/navigation` failed its declared layer thresholds in entities + controllers). +4. **100% coverage with weak assertions is invisible.** Coverage doesn't measure whether tests would catch real regressions. Mutation testing — explicitly deferred in ADR-011 — is the next signal. +5. **Coverage data isn't agent-readable.** The HTML report serves humans; the dispatch loop has no way to ask "did my slice cover its diff?". + +## Decision + +**1. Adopt a 4-layer coverage architecture** mirroring the 5-gate conformance philosophy (multi-latency, machine-readable, agent-first): + +| Layer | Catches | Latency | Surface | +| ---------------------------------- | ---------------------------------------------------- | ------------------ | ------------------------------------------------------------ | +| **L0** Per-layer vitest thresholds | Drift below declared bands | ~5–30s per package | `pnpm test --coverage` (existing) | +| **L1** Diff coverage | Changed line not exercised | ~5s after L0 | `pnpm coverage:diff`; CI gate; dispatch post-task | +| **L2** Aggregate trend | Drift across the codebase over time | ~10s | `pnpm coverage:aggregate`; committed `coverage/summary.json` | +| **L3** Mutation testing | Tests that exist + execute the code + assert nothing | Minutes | `pnpm mutate`; on-demand, not default `pnpm test` | + +Each layer answers a distinct question; none replaces the others. + +**2. Make `feature.manifest.ts` the single source of truth for coverage expectations.** A new `coverage:` section per feature: + +```ts +coverage: { + bands: { + "entities": { statements: 100, branches: 100, functions: 100, lines: 100 }, + "use-cases": { statements: 100, branches: 95, functions: 100, lines: 100 }, + "controllers": { statements: 100, branches: 95, functions: 100, lines: 100 }, + baseline: { statements: 80, branches: 75, functions: 80, lines: 80 }, + }, + mutationTargets: ["entities", "use-cases"], +} +``` + +Three readers consume the manifest: + +- **Vitest** — `vitest.config.ts` imports the manifest's `coverage` and emits its `thresholds`. The duplicated block in 5 per-feature vitest configs goes away. +- **`assertFeatureConformance`** — reads `coverage/lcov.info` for the package at boot and asserts each band. Graceful degradation in `USE_DEV_SEED=true` (warns rather than throws when lcov is absent). +- **`pnpm coverage:diff`** — uses `baseline` for uncategorized files; stricter layer bands override per matching path glob. + +This eliminates the duplication that caused the `@repo/media` drift and centralizes one decision in one place per feature. + +**3. Diff coverage is cover-the-diff, not cover-the-new-code.** Every changed _executable_ line must have execution-count > 0 against the merged lcov. Modified-but-not-new lines count too — catches "agent edited code, didn't update the test." Allowlist: `*.test.ts`, `*.config.*`, `*.md`, `*.json`, `*.mjs`, plus the per-package exclude lists. + +**4. Aggregate trend ships in-tree, not via SaaS.** `coverage/summary.json` is committed on merge to main. Trend readable via `git log -- coverage/summary.json`. No external service dependency; the dispatch loop can read history without a network call. + +**5. Mutation testing is opt-in and narrowly scoped.** Stryker with `@stryker-mutator/vitest-runner`, runs on `entities/` + `application/use-cases/` only. Default mutation-score threshold 80% per feature (tunable per-manifest). Not part of `pnpm test`. Nightly GH Action surfaces score drift > 5%. + +**6. Output format is machine-first.** `pnpm coverage:diff` emits JSON to stdout; human-readable summary to stderr. The dispatch loop reads stdout; humans read stderr or the HTML report. + +## Alternatives considered + +- **Codecov / Coveralls SaaS.** Polished PR comments and trend dashboards, free for OSS. Rejected as the _primary_ L2 store — adds an external dep, makes the dispatch loop dependent on a network call, and the PR-comment UX targets humans (not the primary consumer of this signal). Can be added later as gold-plating without disturbing the architecture. +- **Cover-the-new-code instead of cover-the-diff.** Lighter touch; ignores modified lines. Rejected — catches less drift. A slice that edits a use case without updating its test should fail, and cover-the-new-code wouldn't notice. +- **Keep thresholds in per-package vitest configs.** Status quo. Rejected — the 2026-05-13 audit found drift in 2 of 5 features (media had no block at all; navigation's block diverged subtly from the canonical). Manifest centralization is the only durable fix. +- **Run mutation testing in default `pnpm test`.** Rejected — Stryker on entities + use-cases takes minutes. Adding minutes to the default loop violates the constraint ("new gates must not add more than ~30s wall time"). On-demand is the right cadence; nightly catches drift. +- **Mutation testing across all layers.** Rejected for v1 — repository/controller/integration code has too many environmental dependencies to mutate cleanly. Start narrow; expand if signal is high. +- **Use ESLint or fallow for diff coverage.** Rejected — diff coverage needs runtime data (which lines actually executed), not AST or filesystem state. It belongs alongside `pnpm test`, not in `pnpm lint` or `pnpm fallow`. +- **Boot-time coverage assertion is too heavy.** Considered. Counter-argument: the assertion is `O(features × lcov-file-size)` — small numbers, ~200ms. The graceful-degradation in dev mode means contributors aren't blocked. The payoff — coverage drift caught at the same latency as TypeScript brands — justifies the machinery. + +## Consequences + +**Positive:** + +- Every PR/task is gated on covering its own diff. Agent shipping an untested slice becomes mechanically impossible at the CI step. +- One source of truth per feature for coverage expectations. The `@repo/media`-style "no coverage block" drift can't recur. +- Trend history lives in the repo. `git log -- coverage/summary.json` answers "how has coverage moved over the last quarter?" without leaving the editor. +- Mutation testing on the highest-leverage layers (entities + use-cases — the pure-business-logic surface) raises the floor on test quality without slowing the dispatch loop. +- Machine-readable diff-coverage output integrates directly with the dispatch loop's post-task verification, completing the agent-first observability story. +- Coverage joins the 5-gate conformance philosophy as a first-class signal; ADR-020 becomes the row alongside TS brands / ESLint / boot / `pnpm conformance` / fallow / coverage. + +**Negative:** + +- Implementation surface is non-trivial: 6–8 stories spanning manifest schema, vitest auto-derive, two new scripts, boot-time assertion, mutation tooling, ADR + guide + glossary + generator + hook updates. +- The boot-time assertion adds a small dependency on `coverage/lcov.info` existing. Graceful degradation in dev mode handles this, but the implementation needs care. +- `coverage/summary.json` committed on merge introduces a small CI permissions surface (`contents: write`) gated to the main-branch workflow. +- Mutation testing is slow. The nightly cadence is the compromise; on-demand `pnpm mutate` is opt-in but rare in practice. + +## Implementation phasing + +Shipped as a single epic over 10 commits on 2026-05-13. Per-step state: + +| # | Step | Commit | Status | +| --- | ----------------------------------------------------------------- | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 1 | Manifest schema + helper + auth proof-of-concept | `f7baa8b` | ✅ Shipped | +| 2 | Vitest auto-derive (helper + `DEFAULT_COVERAGE_BANDS`) | `f7baa8b` + rollouts | ✅ Shipped (all 5 features wired) | +| 3 | L1 diff coverage (`scripts/coverage/diff.mjs`) | `412d994` | ✅ Shipped | +| 4 | L2 aggregate (`scripts/coverage/aggregate.mjs` + `summary.json`) | `bd5a077` | ✅ Shipped | +| 5 | CI integration (validate gate + snapshot workflow) | `39e33eb` | ✅ Shipped | +| 6 | Helper rollout to blog + marketing-pages | `15db9c4` | ✅ Shipped | +| 7 | Docs + generator + hook rollout | `4dce1df` + `f4254aa` | ✅ Shipped | +| 8 | L3 mutation testing (Stryker + nightly Action) | `6428f10` | ✅ Shipped (auth proof-of-concept; other features can add `stryker.config.json` by `extends: "@repo/core-testing/stryker.base.json"`) | +| 9 | L0 unification (close test gaps in nav + media + marketing-pages) | `bf0b049` | ✅ Shipped — all 5 features hit declared bands | +| 10 | Boot-time `assertFeatureConformance` coverage check | — | ⏸ Deferred. Duplicates L0's structural enforcement when both readers derive from the same manifest source of truth; the drift it was supposed to catch is mechanically impossible. Revisit if a concrete need emerges. | + +Repo-wide state at shipping (`coverage/summary.json`): statements 95.87% / branches 88.91% / functions 100% / lines 95.87%. All five features pass their declared 100%/100%/95%/100% bands on entities/use-cases/controllers. + +## Related + +- ADR-006 — vertical-feature-packages +- ADR-011 — TDD foundation +- ADR-018 — audit-and-compliance (similar manifest-declared shape pattern) +- ADR-019 — sandcastle agent orchestration (the dispatch loop that reads `pnpm coverage:diff`) +- PRD `coverage-architecture` — implementation seed diff --git a/docs/decisions/adr-021-versioning-and-changelog.md b/docs/decisions/adr-021-versioning-and-changelog.md new file mode 100644 index 0000000..8448a7e --- /dev/null +++ b/docs/decisions/adr-021-versioning-and-changelog.md @@ -0,0 +1,111 @@ +# ADR-021 — Hybrid versioning + automated changelog via release-please + +**Status:** Accepted +**Date:** 2026-05-13 +**Builds on:** Conventional Commits convention (CLAUDE.md Key Conventions), ADR-019 (sandcastle agent orchestration) + +## Context + +Until this ADR the template had no versioning + no changelog. Every package shipped at `0.0.0`; there was no tag history, no "what changed since I forked this" answer, and no formal cadence for surfacing meaningful state changes. + +Two pressures motivated wiring this up now: + +1. **Conventional Commits had just been mandated** (visible across CLAUDE.md, AGENTS.md, session-start, and prompt-context hooks). Conventional commits are the substrate that automated versioning tools consume — leaving them unused would waste a free signal. +2. **The template is a fork target.** Downstream consumers need a version they can pin against ("I forked at v0.3.0, what's changed?") and a changelog they can diff. + +The available tools fall in three families: + +- **Changesets** (`@changesets/cli`) — contributors run `pnpm changeset` per PR; explicit semver intent. Higher friction; not needed when conventional commits are already mandated. +- **semantic-release** — fully automated from conventional commits; publishes on merge. Less control; monorepo support requires extra plumbing. +- **release-please** (Google) — parses conventional commits, opens a rolling release PR with bumps + CHANGELOG entries; merging the PR cuts tags + GitHub releases. + +`release-please` is the natural fit: conventional commits are already enforced, and the "release PR" model gives a human approval gate without requiring per-commit changeset files. + +The remaining design choice is **versioning scope**: + +- **Single root version** — one CHANGELOG.md at the root; the whole template moves together. Simplest. +- **Per-package versions** — every `@repo/*` package versions independently; one CHANGELOG.md per package. Useful for published packages; we publish nothing today. +- **Hybrid** — root template version (for cross-cutting changes: docs, scripts, ci, generators, core packages) + per-feature versions (for `packages//**` changes). One root CHANGELOG.md + one per feature. Decision boundary follows commit-path scoping. + +## Decision + +**1. Adopt `release-please` (Google) as the versioning + changelog substrate.** Configuration in `release-please-config.json` and `.release-please-manifest.json` at the repo root. The GitHub Action lives at `.github/workflows/release-please.yml` and runs on every push to `main`. + +**2. Hybrid versioning scope.** Six tracked packages: + +| Path | Package name | Component (tag prefix) | Initial version | +| -------------------------- | ----------------------- | ---------------------- | --------------- | +| `.` | `template-vertical` | `template` | `0.1.0` | +| `packages/auth` | `@repo/auth` | `auth` | `0.1.0` | +| `packages/blog` | `@repo/blog` | `blog` | `0.1.0` | +| `packages/media` | `@repo/media` | `media` | `0.1.0` | +| `packages/marketing-pages` | `@repo/marketing-pages` | `marketing-pages` | `0.1.0` | +| `packages/navigation` | `@repo/navigation` | `navigation` | `0.1.0` | + +Each gets its own `CHANGELOG.md`. Tags use the per-package component prefix to avoid collisions: `template-v0.2.0`, `auth-v0.1.1`, etc. + +Core packages (`core-shared`, `core-cms`, `core-api`, `core-eslint`, `core-typescript`, `core-testing`) and optional cores (`core-events`, `core-realtime`, etc., when scaffolded) are **NOT** independently versioned. Cross-cutting changes to those land in the root template version. Rationale: those packages cascade — bumping `core-shared` would functionally invalidate every feature anyway; surfacing them as separate versions creates noise without information. If a future consumer publishes individual core packages downstream, they can add per-package tracking then. + +Apps (`web-next`, `web-tanstack`, `cms`, `storybook`) stay at `0.0.0`. They're not consumable artifacts. + +**3. Pre-1.0 bump policy.** While each tracked package is `<1.0.0`: + +- `feat:` commits bump **patch** (not minor), per `bump-patch-for-minor-pre-major: true` +- `fix:` commits bump patch +- `feat!:` (or any `BREAKING CHANGE:` footer) bumps **minor** (not major) +- `chore`, `ci`, `build`, `style`, `test` commits don't bump + +Rationale: the conservative pre-1.0 default means surface area can change without exhausting the version space. When a package crosses `1.0.0`, standard semver kicks in. + +**4. Conventional-commit type → changelog section mapping.** From `release-please-config.json`: + +| Type | Section | Hidden | +| --------------------------------------- | ------------- | ------ | +| `feat` | Features | no | +| `fix` | Bug Fixes | no | +| `perf` | Performance | no | +| `refactor` | Refactoring | no | +| `docs` | Documentation | no | +| `revert` | Reverts | no | +| `test`, `chore`, `ci`, `build`, `style` | (omitted) | yes | + +Hidden sections still drive version bumps where applicable (none do, by current policy) but don't clutter the changelog. + +**5. Bump targeting is by commit-path, not commit-scope.** release-please decides which package(s) to bump based on the _files changed_ in a commit, NOT the conventional-commit `scope`. A commit changing `packages/auth/**` bumps `@repo/auth`; a commit changing `docs/**` or `scripts/**` or `CLAUDE.md` bumps the root template; a commit changing both bumps both. The conventional-commit `scope` field is for human readability in the changelog — it does not drive routing. + +**6. Release PR is a rolling document.** Every push to main re-evaluates the open release PR. Merging it cuts tags + creates GitHub releases for each affected package. No manual edits to the PR — the changelog content is reproducible from the commit history. + +**7. CHANGELOG files are committed and edited only by release-please.** Manual edits are discouraged because they will be overwritten the next time release-please assembles the rolling PR. Initial baseline content for each `0.1.0` entry is the only exception. + +## Alternatives considered + +- **Changesets (`@changesets/cli`)** — rejected primarily because Conventional Commits already capture the necessary intent. Per-PR changeset files would duplicate information. Could revisit if release-please ever fails to handle a release-shape edge case (e.g. needing a manual bump that's larger than commits imply). +- **semantic-release** — rejected for monorepo friction. Per-package support requires `semantic-release-monorepo` or `multi-semantic-release`; release-please handles this natively. +- **Single root version** — rejected because cross-cutting commits ARE a different kind of change from feature commits. A `fix(media): off-by-one in upload` shouldn't churn the root template version; a `refactor(coverage): unify L0 thresholds` shouldn't churn `@repo/auth`'s version. Separating gives consumers a finer-grained "what changed for me" signal. +- **Per-package for every workspace member (apps, core, tooling)** — rejected. Core packages cascade; bumping `core-shared` is effectively a template-wide change. Apps aren't consumable. Tooling churn is mostly mechanical. Adding versions for these adds bookkeeping without information value. +- **Tag prefix `template-vertical-v...` vs `template-v...`** — chose `template-v` for tag economy (shorter; consistent length with `auth-v`, `blog-v`, etc.). The package name `template-vertical` is still authoritative in `package.json`. +- **Auto-merge the release PR** — rejected. Human approval is the gate that catches the rare case where a commit's content doesn't match its conventional type (e.g. a `chore:` commit that actually shipped a feature). + +## Consequences + +**Positive:** + +- Every merge to main produces a tracked, dated record of what changed for downstream consumers. +- Conventional commits become load-bearing: their type + body shape the changelog directly. +- The "what version did I fork at" question has a real answer per tracked package. +- Tagged releases enable `git diff vX.Y.Z..HEAD -- ` for narrow "what changed in feature X since I last looked" questions. +- Release cadence is implicit (merge the PR when ready); no separate release planning required. + +**Negative:** + +- Six packages × independent versions means six CHANGELOG.md files to navigate. Mitigated by the `## Cross-references` section in each pointing at the relevant ADRs + this one. +- release-please-action is GitHub-Actions-coupled. A migration to a different CI provider would need a different runner (the release-please core CLI runs anywhere, but the orchestration around the rolling PR is Action-specific). +- The first release PR after the initial baseline could be large (covers everything merged after `0.1.0`). This is one-time; subsequent PRs are scoped to the work between releases. +- Apps stuck at `0.0.0` is mildly confusing if a contributor expects every package to be versioned. Mitigated by documentation here + in `docs/guides/releasing.md`. + +## Related + +- ADR-019 — sandcastle agent orchestration (the dispatch loop that ships these commits) +- ADR-020 — coverage architecture (one of the systems shipped at the 0.1.0 baseline) +- CLAUDE.md Key Conventions — Conventional Commits requirement (the substrate this ADR consumes) +- `docs/guides/releasing.md` — day-to-day cookbook diff --git a/docs/decisions/adr-022-library-evaluation-policy.md b/docs/decisions/adr-022-library-evaluation-policy.md new file mode 100644 index 0000000..91e54dc --- /dev/null +++ b/docs/decisions/adr-022-library-evaluation-policy.md @@ -0,0 +1,318 @@ +# ADR-022 — Library evaluation policy + +**Status:** Accepted +**Date:** 2026-05-14 +**Related:** ADR-006 (vertical feature packages), ADR-010 (turbo boundaries), ADR-014 (Sentry observability), ADR-017 (OpenTelemetry + vendor isolation), ADR-019 (sandcastle agent orchestration), ADR-021 (release-please versioning) +**Companion guide:** `docs/guides/adding-a-library.md` (human reading-room) +**Companion skill:** `.claude/skills/evaluate-library/SKILL.md` (authoritative agent runbook) + +## Context + +This template ships with a deliberately narrow third-party surface. Every feature +package today carries the same six runtime dependencies — `@repo/core-shared`, +`@trpc/server`, `inversify`, `payload`, `reflect-metadata`, `zod` — and nothing +else. That uniformity isn't an accident; it's the result of unstated discipline +that the boundary-tag system (ADR-006, ADR-010) and the manifest-first ordering +(ADR-012) silently reward. + +The discipline is not codified. New dependencies get added by anyone — human or +agent — running `pnpm add `, with no checkpoint between intent and lockfile. +Three recent signals show the gap: + +1. An exploratory grill session on **2026-05-14** nearly added `trpc-to-openapi` + plus `zod-to-json-schema` plus a build-time generator to the repo before + stopping to ask "who calls this code path?" The honest answer was "nobody — + all callers are TypeScript via `createCaller`." The library would have shipped + ~30 lines of `.meta({...})` annotations per router and a `superjson`-incompatible + HTTP handler in exchange for zero downstream consumers. Pure carrying cost, + caught by a chance question, not by a system. +2. **Three existing ADRs already record post-hoc library decisions** — + ADR-002 (Inversify), ADR-014 (Sentry), ADR-017 (OpenTelemetry). Each notes + "we picked X over Y" but the records were written after adoption. By the time + the ADR existed the lockfile already held the dep. No mechanism existed to + catch a _bad_ choice before it became a migration project. +3. The repo's automation depends on the lockfile staying small and predictable. + `pnpm fallow` audits for dead code; `pnpm conformance` audits manifest drift; + `pnpm coverage:diff` audits change coverage. There is no equivalent audit for + "did we just adopt a library nobody asked for?" + +A fourth pressure comes from this template being EU-resident and GDPR-bound. +A library that defaults to a US-only SaaS endpoint (telemetry, analytics, AI, +log aggregation) silently moves user data out of the EU as soon as it's imported +and configured with defaults. The current process has no point where that gets +caught. + +The decision below codifies the de-facto discipline, formalizes the agent-loop +hook that prevents drift, and makes rejection records first-class so future +agents don't re-evaluate libraries that were already rejected for known reasons. + +## Decision + +Adopt a **tiered library-evaluation policy** with eight hard auto-reject filters, +three discussion prompts, a per-decision trace artifact, and a four-layer +enforcement stack. + +### 1. Tiered trigger (by boundary tag) + +| Tier the dep lands in | Process | Companion record | +| ------------------------------------ | ------------------------ | ---------------- | +| `apps/` | Author's call; no policy | – | +| `feature` (e.g. `packages/auth`) | Trace required | – | +| `core` (e.g. `packages/core-shared`) | Trace required | ADR required | +| New optional-core category | Trace required | ADR required | + +The trigger maps onto the workspace-tag boundary already enforced by ESLint +(`eslint-plugin-boundaries`) and Turborepo (`turbo boundaries`). No new mental +model — the policy is a corollary of an existing one. + +### 2. Eight hard auto-reject filters + +Failing any single filter is an automatic reject. Trace records the failure. + +1. **License allowlist.** Only `MIT`, `Apache-2.0`, `BSD-*`, `ISC`, `MPL-2.0`. + Anything else (GPL family, AGPL, CC-BY-NC, custom EULAs) is a no. +2. **TypeScript-native or `@types/*` available.** The repo is strict TS; + un-typed JS libraries shift maintenance cost to the integrating feature. +3. **Not abandoned.** Last release < 18 months **AND** PR/issue activity + < 12 months. The triple-AND avoids killing finished-but-stable libraries + (`reflect-metadata`-style). +4. **Boundary-tag fit.** A dep added to a feature package cannot require + imports the boundary rules forbid (e.g. a Sentry SDK in a feature — + ADR-017 §4 forbids this). +5. **Doesn't shadow an existing must-have.** Proposing `valibot` when `zod` + is locked, or `tsyringe` when Inversify is locked by ADR-002, is an + auto-reject; the replacement must be a separate ADR with consequences + analysis, not a parallel adoption. +6. **EU data residency for hosted/SaaS components.** If the package transmits + user data, telemetry, or business state to a vendor-controlled endpoint + by default, that vendor must offer an EU data region, and the integration + must be configured to use it. Self-hostable packages, on-device libraries, + and build-time-only tools are exempt. +7. **CVE scan clean.** `pnpm audit --audit-level=moderate` clean at adoption + time. Documented allowlist mechanism for accepted-risk advisories. +8. **Named consumer exists now, not hypothetically.** The integration must + answer "who calls this code path today, or who is blocked waiting for it?" + "Future code that might exist" is not a consumer. This filter is the + direct response to the 2026-05-14 OpenAPI near-miss. + +### 3. Three discussion prompts + +Filters that don't auto-reject but must be answered in the trace, either +direction acceptable with justification. + +- **What does it replace?** New-and-old running in parallel is a smell. +- **Migration cost out.** What does ripping this back out look like 18 months + from now? Mechanical, hard, or impossible? +- **Alternatives considered.** Two named alternatives at minimum (or "none + with explanation"). Required for `feature`-tier; required _and_ duplicated + into the ADR for `core`-tier. + +### 4. Trace artifact + +Every decision — approved or rejected — emits a trace file at +`docs/library-decisions/-.md`. Always written, +regardless of whether an accompanying ADR exists. Shape: + +```markdown +--- +package: +version: "" +tier: app | feature | core +decision: approved | rejected +date: +deciders: [, ...] +adr: adr-NNN | null +filter-results: + license: + types: native | "@types/" | none + maintenance: active | dormant | abandoned + boundary-fit: pass | fail + shadow-check: pass | fail | "shadows " + eu-residency: ok | n/a | self-hostable | fail + cve-scan: clean | "" | fail + named-consumer: pass | fail +verification-commands: + - +--- + +## Filter: + + + +## Prompt: + + +``` + +Frontmatter is the machine surface (greppable, schema-stable). Headings are +the human surface. Rejection traces are first-class — the OpenAPI scenario, +had this policy existed, would have produced a permanent record so the next +agent considering `trpc-to-openapi` finds the prior reasoning in <1s of +`ls docs/library-decisions/`. + +### 5. Four-layer enforcement stack + +Mirrors the latency-tiered shape of the conformance system (ADR-012). + +| Layer | Latency | Catches | +| -------------------------------------- | ---------- | ---------------------------------------------------------------- | +| Claude `PreToolUse`/`PostToolUse` hook | inline | Agent skipping the skill before `pnpm add` / `package.json` edit | +| `evaluate-library` skill | seconds | The decision itself + writes the trace | +| Git pre-commit hook | pre-commit | Humans or agents bypassing the skill | +| Sandcastle reviewer prompt | per-slice | Bypasses that slipped past pre-commit | + +The Claude hook injects a `` directing the agent to the skill +but does **not** auto-deny (false-positive paths like dev-deps and app-tier +additions are common). The pre-commit hook is the deterministic gate. + +### 6. Composition with `pnpm turbo gen core-package` + +The optional-cores generator emits **pre-shipped traces** — one per direct +runtime dep of the new core — pre-marked `decision: approved` and cited +against the relevant ADR (ADR-015 for events, ADR-016 for realtime, +ADR-018 for audit). Same frozen-snapshot discipline that the optional cores +already follow (`turbo/generators/__snapshots__/core-package/`). New optional +cores added later inherit this requirement. + +### 7. Skill invocation + +``` +/evaluate-library --tier --target +``` + +The skill walks the eight filters in **collect-cheap-skip-expensive** order: +cheap structural filters (license, types, shadow-check, boundary-fit) run to +completion regardless of failure; expensive filters (CVE scan, EU residency +probe, maintenance signals) short-circuit after the first reject. The trace +records which filters ran and which were skipped, so a partial trace is still +useful evidence. + +### 8. Backfill at policy adoption + +Every existing runtime dependency in feature- and core-tier packages +(~10 deps at this writing — `payload`, `inversify`, `zod`, `@trpc/server`, +`reflect-metadata`, `superjson`, `@sentry/*`, `@opentelemetry/*` family, +`socket.io`, etc.) gets a backfilled trace dated 2026-05-14 (adoption day). +ADR-002, ADR-014, ADR-017 are cited via the `adr:` frontmatter field; +verification-command output is captured at backfill time. + +### 9. Sub-processor discriminated union (amendment: 2026-05-18) + +Every trace carries two top-level frontmatter fields classifying the library +from a GDPR sub-processor perspective: + +```yaml +is-sub-processor: false # boolean — true when the vendor receives personal data on the operator's behalf +processes-pii: false # boolean — true when the library processes PII in-process (even without transmitting it) +``` + +When `is-sub-processor: true`, five additional fields are **required**: + +```yaml +data-sent: "" +region: "" +dpa-signed: true | false +sccs-required: true | false +contact: "" +``` + +**Discriminated-union rules:** + +| `is-sub-processor` | `processes-pii` | Conditional fields required? | +| ------------------ | --------------- | --------------------------------------------------------------------------------- | +| `false` | `false` | No — pure library, no data involvement | +| `false` | `true` | No — in-process only, no vendor data flow | +| `true` | `true` | Yes — all five conditional fields required | +| `true` | `false` | Technically possible but very unusual; still requires all five conditional fields | + +**Baseline for backfill:** pure in-process libraries (no network calls to +vendor-controlled endpoints) get `is-sub-processor: false` + `processes-pii: false`. +Self-hosted software that stores PII but transmits nothing to the vendor (e.g. +`payload`) gets `is-sub-processor: false` + `processes-pii: true`. + +These fields are the machine surface consumed by `scripts/emit-sub-processors.mjs` +(see Story 06 of the compliance-manifests-pii-retention-subprocessors epic). A +trace missing `is-sub-processor` is treated as `false` by the generator for +backward-compatibility; all new traces authored after this amendment must include +both fields. The `evaluate-library` skill (§7) prompts for these fields +unconditionally and writes the conditional block only when `is-sub-processor: true`. + +The weekly `dpa-signed` staleness check in CI (ADR-023 cross-reference) should +flag any `dpa-signed: true` traces where the DPA has not been revalidated within +the prior 365 days. Implementation of that cron is deferred to the CI security +hardening work. + +## Alternatives considered + +- **No policy, keep relying on instinct.** Rejected. The 2026-05-14 OpenAPI + near-miss demonstrated the gap. Instinct catches some adds, misses others; + the failure mode is silent. +- **Every `package.json` change requires a trace, no tier distinction.** + Rejected. Devdeps in tooling packages and ESLint plugin bumps in apps would + drown the trace directory in noise. The boundary-tag system already + partitions blast radius — the policy reuses that partition. +- **Only "category" decisions require process** (new auth provider, new ORM, + new queue). Rejected. The OpenAPI scenario was a sub-tool inside an existing + category, not a category swap. Category-only triggers miss it. +- **A central library-evaluation service / Linear queue / Slack bot.** + Rejected. The repo is agent-first and currently single-developer (+ agents). + Human-in-the-loop services don't fit the dispatch loop; the policy must be + agent-runnable end-to-end. +- **No CVE filter — rely on `npm audit` ambient noise.** Rejected. CVE + status is point-in-time; pinning the result to the trace at adoption is the + whole value. Re-running the verification commands later detects drift. +- **Drop the named-consumer filter to a discussion prompt.** Rejected. The + filter is the one that would have stopped the OpenAPI flirtation; demoting + it back to a prompt is the same as not adding the filter. + +## Consequences + +**Positive** + +- New dependencies require deliberate intent. The trace artifact + four-layer + enforcement stack make accidental adds detectable at four latencies, mirroring + the conformance-system pattern that already works. +- Rejection records are permanent. Future agents considering a previously + rejected library find the trace in `docs/library-decisions/` and don't + re-litigate. +- EU data residency becomes a binary, machine-readable filter result, not + an afterthought. +- Per-decision verification commands give future agents a single source of + truth they can re-run to verify the trace is still valid. +- The policy composes with `pnpm turbo gen core-package`: optional cores + remain a one-command scaffold without bypassing the rule. + +**Negative** + +- New feature-tier deps take longer to land. Walking eight filters + writing + the trace is ~5 minutes of agent work per addition. +- Backfilling ~10 existing deps is one-time work; expected ~half a day of + agent dispatch. +- The Claude `PreToolUse` hook adds latency to every `pnpm add` invocation. + Mitigated by the hook being a reminder-injector, not a blocker. +- The pre-commit hook adds a new failure mode ("you added a dep but forgot + the trace"). Mitigated by the skill being the natural path the hook + reminders point to. +- The CVE filter creates a maintenance obligation: when `pnpm audit` finds + a new advisory in an already-approved dep, the trace becomes stale. Acceptable + trade-off — staleness detection is exactly what `pnpm audit` already does; + the trace adds a per-dep anchor for the conversation that follows. + +**Neutral** + +- ADR-002, ADR-014, and ADR-017 remain authoritative for their respective + libraries. Backfilled traces cite them rather than duplicating their reasoning. +- The policy doesn't constrain transitive dependencies; `pnpm audit` and license + scanning already handle those recursively. Only direct deps require a trace. + +## Related + +- ADR-006 — Vertical feature packages (the tag system the trigger maps to) +- ADR-010 — Turbo boundaries (the enforcement substrate) +- ADR-012 — Feature conventions (the conformance-system shape this policy mirrors) +- ADR-017 — OpenTelemetry migration (vendor-isolation pattern the policy extends) +- ADR-019 — Sandcastle agent orchestration (reviewer-prompt layer of enforcement) +- ADR-021 — release-please versioning (where dep additions show up in release notes) +- Companion guide: `docs/guides/adding-a-library.md` +- Companion skill: `.claude/skills/evaluate-library/SKILL.md` +- Glossary: `docs/glossary.md` entries for **Library trace** and **Pre-shipped trace** diff --git a/docs/decisions/adr-023-ci-security-and-supply-chain.md b/docs/decisions/adr-023-ci-security-and-supply-chain.md new file mode 100644 index 0000000..1601480 --- /dev/null +++ b/docs/decisions/adr-023-ci-security-and-supply-chain.md @@ -0,0 +1,471 @@ +# ADR-023 — CI security + supply-chain enforcement stack + +**Status:** Accepted +**Date:** 2026-05-14 +**Builds on:** ADR-022 (library evaluation policy) +**Related:** ADR-006 (vertical feature packages), ADR-010 (turbo boundaries), ADR-019 (sandcastle agent orchestration), ADR-021 (release-please versioning) +**Companion guide:** `docs/guides/ci-security.md` (to be written; human reading-room) + +## Context + +ADR-022 codified the library-evaluation policy: at adoption time, every new +runtime dependency in a feature- or core-tier package is gated by 8 hard filters + +- 3 prompts and produces a permanent trace at `docs/library-decisions/`. That + closes the **decision** gate. It does not close the **drift** gate. Once a + library is in the lockfile, ADR-022 has nothing to say about: + +1. **CVE disclosures against the current pinned version.** A library that + passes `pnpm audit --audit-level=moderate` clean at adoption can have a + critical CVE published against it the next day. The trace's + `verification-commands` snapshot goes stale silently. +2. **Supply-chain _behavior_ compromise.** The disclosed-CVE world only + catches vulnerabilities that someone has filed. Packages with malicious + behavior — `event-stream` (2018), `ua-parser-js` (2021), `tj-actions/changed-files` + (2025), `xz-utils` (2024) — shipped malware that no CVE database had + seen at the moment of compromise. CVE scanning is a lagging indicator. +3. **Maintainer-account compromise.** A trusted upstream maintainer's npm + account gets phished. The next `1.2.4` patch publishes a malicious + post-install script. Every consumer pulling `^1.2.0` inherits it. + Renovate or Dependabot will happily open a bump PR. +4. **GitHub Actions supply chain.** This repo's 5 existing workflows pin + their actions to **major-version tags** (`actions/checkout@v4`, + `pnpm/action-setup@v4`, `googleapis/release-please-action@v4`). The + `tj-actions/changed-files` incident demonstrated that a compromised + maintainer can push a malicious tag and everyone pinned to `@v4` + silently inherits it. Major-tag pinning is documented insecure. +5. **License drift.** Upstream packages occasionally relicense (Sentry + went BSL on a major; Elasticsearch went SSPL). A `1.x → 2.x` Renovate + PR might silently move a previously MIT-licensed dep to a copyleft or + source-available license that violates ADR-022's filter #1. +6. **EU-residency drift.** A vendor (Sentry, PostHog, etc.) announces + US-only changes mid-flight. The trace's `eu-residency: ok` snapshot + becomes false; ADR-022's filter #6 has no way to detect this. + +The repo's current security posture, audited 2026-05-14: **zero security +tooling**. No Dependabot config, no Renovate, no CodeQL, no Snyk, no Trivy, +no OSV-Scanner, no Socket, no gitleaks, no `pnpm audit signatures` step. +GitHub Actions are pinned to major-version tags. The 5 existing workflows +(`ci.yml`, `coverage-snapshot.yml`, `mutation-nightly.yml`, `release-please.yml`, +`sentry-pii-guard.yml`) cover functional CI, but nothing surfaces a +post-adoption supply-chain signal. + +For a GDPR-bound EU-resident template that ships as agent-friendly +infrastructure, this is the load-bearing gap that ADR-022 cannot close +alone. The decision below extends ADR-022 with a continuous-validation +counterpart and adds five orthogonal layers that catch the threat surface +ADR-022's adoption-time gate doesn't see. + +## Decision + +Adopt a **four-pillar CI security and supply-chain enforcement stack**: +(1) Renovate-managed bumps + Action SHA pinning, (2) Socket-based +supply-chain-behavior detection, (3) continuous trace revalidation +extending ADR-022, (4) baseline GitHub-native gates (CodeQL + secret +scanning + sigstore provenance). Each pillar composes with the existing +5-gate conformance pattern from ADR-012 — layered enforcement at +declining latencies. + +### 1. Renovate adoption (bumps + Action SHA pinning) + +`.github/renovate.json` configures Renovate to manage all runtime + dev +dependency bumps and to SHA-pin every GitHub Action invocation: + +- **npm bumps** — per-workspace package.json updates honored. Minor + + patch bumps grouped by ecosystem cluster (e.g. one weekly PR for all + `@sentry/*`, one for all `@opentelemetry/*`). Auto-merge enabled for + green minor + patch PRs. Major bumps require human (or agent) review + — see §3. +- **Dockerfile bumps** — `.sandcastle/Dockerfile`'s `node:22-bookworm-slim` + base image gets the same treatment as npm. +- **Action SHA pinning** — `pinGitHubActionDigests` rewrites every + `uses: /@` to `uses: /@<40-char-sha> # ` + on first run. Subsequent Action releases produce bump PRs that update + the SHA + the trailing comment in one diff. +- **Vulnerability alerts** stay on the GitHub-native server-side surface + (no Dependabot bump PRs). Server-side alerts compose with Renovate + bumps: an alert may trigger a manual Renovate `:rebase` to accelerate + a particular bump. + +Renovate over Dependabot for this repo specifically because: + +- **pnpm-workspace support** is mature and per-workspace updates work + from one config file (Dependabot requires verbose per-workspace blocks). +- **`pinGitHubActionDigests` is native** (Dependabot SHA-pinning requires + manual config). +- **PR grouping rules** are more granular — one PR per ecosystem cluster + instead of per-package noise. +- **Major/minor split + automerge** is one-liner config (Dependabot + requires a separate GitHub Action for automerge). + +### 2. Socket.dev integration (supply-chain _behavior_ detection) + +Layered free-tier integration; no paid plan required: + +- **Socket GitHub App** installed on the repo. Posts risk-score comments + on every PR that touches `package.json` / `pnpm-lock.yaml`. Free + for OSS use. +- **`socket-cli` CI step** in `ci.yml`'s `validate` job. Runs + `socket-cli scan` against the lockfile and fails the job on + configurable severity. Configuration in `.socket.json`: + ```json + { "issueRules": { "critical": "error", "high": "warn", "medium": "ignore" } } + ``` + Default: critical → block the PR; lower severities → comment only. +- **Sandcastle reviewer prompt** reads Socket CI output via the GitHub + CLI and rejects the agent slice when a `critical` finding is present. + Adds machine-readable enforcement to the agent dispatch loop. + +Socket adds a **9th hard filter** to `evaluate-library` (ADR-022's filter +set). New trace frontmatter field: + +```yaml +filter-results: + socket-risk: clean | flagged | "" +``` + +At adoption time the skill runs `socket-cli scan ` and records +the result. The continuous monitor surface is §3 (trace revalidation), +which re-runs the same command on schedule. + +### 3. Trace revalidation cron (ADR-022 continuous-validation counterpart) + +New workflow at `.github/workflows/trace-revalidation-weekly.yml`. Runs +weekly via cron + on-demand via `workflow_dispatch`. Mirrors the cadence +shape of `mutation-nightly.yml`. + +**Scope:** every approved + pre-shipped trace under `docs/library-decisions/`. +Rejection traces skipped (no signal value in re-validating an already-rejected +library). + +**Action — for each in-scope trace:** + +1. Read the trace's `verification-commands:` block. +2. Re-run each command, capture stdout/stderr. +3. Compare against the trace's `filter-results:` snapshot. +4. Classify divergence: + - **Soft** — CVE count changed without crossing severity threshold; + maintenance signal still active but downgraded one level; transitive + dep count changed. + - **Hard** — license changed; named-consumer no longer present; + critical CVE disclosed; EU residency flipped to `fail`; Socket + flag escalated to `critical`. + +**Issue management:** + +- **Soft divergence** appends to a single rolling **"library-trace + dashboard" GitHub issue** kept open continuously. One issue total, + updated each run with the latest comparison diff. Labeled + `library-policy/dashboard`. +- **Hard divergence** opens a fresh per-dep GitHub issue labeled + `library-policy/re-evaluation`. Title format: + `[trace-revalidation] `. The issue body cites the + trace path + the verification-command output + the diff. + +**Auto-edit policy:** trace revalidation NEVER edits a trace file. The +re-walk needs the `evaluate-library` skill (8 filters + 3 prompts, with +agent judgement). CI catches divergence; the dispatch loop fixes it. + +**Auto-dispatch policy:** `library-policy/re-evaluation` issues are +**not** auto-picked up by the dispatch loop. Human triage required. +Auto-dispatch on CI-opened issues would create a feedback loop where +the agent loop spends nights re-evaluating libraries based on rotating +CVE data. Issues are a queue; humans drain them via `pnpm work dispatch`. + +**Main-CI gating policy:** hard divergence does NOT fail CI on main. +Main can keep deploying while the trace gets re-walked. Gating on main +would block release-please PRs every time a CVE drops upstream. + +### 4. Baseline GitHub-native gates + +- **CodeQL** at `.github/workflows/codeql.yml`. Language config + `javascript-typescript` covers everything this repo is. Runs on push to + main + PRs + weekly schedule. Free for public repos and on + Pro/Team/Enterprise plans for private repos; consumers without a + CodeQL-eligible plan get a no-op + a clear error message from GitHub. +- **`pnpm audit signatures --audit-level=high`** added as one step in + `ci.yml`'s existing `validate` job. Verifies npm sigstore attestations. + ~40% of the registry is signed today and climbing. +- **Secret scanning — two layers:** + - GitHub-native **push protection** (server-side, free, blocks pushes + containing known token patterns at the GitHub edge). Consumer toggles + in repo settings. Documented in `docs/guides/ci-security.md`. + - **`gitleaks` pre-commit hook** wired into `.husky/pre-commit` as a + step alongside the existing state-sync guard. Catches custom token + patterns the GitHub allowlist doesn't know about. Local; free. + +### 5. Failure-mode hierarchy + +Two principles govern what blocks vs. what comments: + +- **Boolean checks** (compiles, schema valid, signature verifies, secret + present, trace file present) hard-block. They have a definite right + answer. +- **Judgment checks** (Socket risk score, CodeQL semantic finding) are + advisory unless severity reaches `critical` / `error`. They can have + false positives. + +Concrete table (the source of truth referenced by reviewer-prompt and +documentation): + +| Gate | Layer | Hard block? | +| ---------------------------------------------------------------- | ----------- | --------------------------------------------------- | +| `pnpm typecheck && test && lint && conformance && coverage:diff` | CI | Yes | +| State-sync guard | pre-commit | Yes | +| `gitleaks` (custom patterns) | pre-commit | Yes | +| Library-trace presence check (ADR-022) | pre-commit | Yes | +| GitHub native push protection | server-side | Yes (GitHub edge) | +| Renovate minor/patch bump PRs | CI | Auto-merge if green | +| Renovate major bump PRs | CI | Block until evaluate-library re-run + trace refresh | +| Socket CI step — `critical` | CI | Yes | +| Socket CI step — `high` or below | CI | Advisory | +| Socket GitHub App PR comments | server-side | Advisory | +| CodeQL — `error` severity | CI | Yes | +| CodeQL — `warning` / `note` | CI | Advisory | +| `pnpm audit signatures` failure | CI | Yes | +| GitHub Dependabot vuln alerts | server-side | Advisory (post-merge) | +| Trace revalidation — soft divergence | weekly cron | Dashboard issue | +| Trace revalidation — hard divergence | weekly cron | Per-dep issue | + +### 6. Amendments to ADR-022 + +This ADR amends ADR-022 in three places. ADR-022 itself stays unedited +(its `Status: Accepted` is preserved for provenance); the amendments are +recorded here and the new behavior is what the implementation honors. + +**§6.1 — Major-bump re-evaluation trigger.** ADR-022 §1 and §8 spoke of +"new runtime dependencies" but did not address bumps to existing deps. +When Renovate (§1 above) bumps a runtime dep in a feature- or core-tier +package and the bump crosses a semver-major boundary, the +`evaluate-library` skill re-runs against the upgraded version. Minor + +patch bumps do **not** trigger re-evaluation. The existing trace file is +updated in-place: `version`, `filter-results`, `verification-commands`, +and `last-revalidated` (new field — see §6.2) are refreshed; the original +`date` field is preserved as the adoption-provenance marker. + +**§6.2 — `last-revalidated` frontmatter field.** Trace schema gains +`last-revalidated: `, set by both major-bump re-eval (§6.1) +and trace revalidation (§3). Separate from the original `date` field +which is immutable post-adoption. + +**§6.3 — Socket as 9th hard filter.** ADR-022's 8 hard filters gain a +9th: `socket-risk`. Trace frontmatter's `filter-results:` block adds +`socket-risk: clean | flagged | ""`. At adoption time +the `evaluate-library` skill runs `socket-cli scan ` as part of +the cheap-structural filter block; `critical` findings auto-reject. +Verification-commands gains the Socket scan command. + +### 7. Composition with the sandcastle reviewer prompt + +The reviewer prompt at `.sandcastle/reviewer.prompt.md` is extended with +two new responsibilities (bundled into the library-evaluation epic's +existing story 06, not split into a separate story): + +- Read Socket CI output (via `gh run view` or PR API) and reject the + slice if any `critical` finding is present. +- Read CodeQL findings and reject the slice if any `error` severity is + present. + +These compose with the reviewer's existing responsibilities (library- +trace presence check from ADR-022's PRD, `pnpm coverage:diff` from +ADR-020). + +### 8. Template-vs-consumer framing + +This stack ships as **template artifacts** that work in any consumer's +GitHub repo. Configurations (`renovate.json`, `.socket.json`, `codeql.yml`, +`trace-revalidation-weekly.yml`) are written generically: + +- No project-name-specific paths. +- All workflows use `ubuntu-latest`. +- Plan-gated tools (CodeQL on private repos) include a clear error + message when the consumer's plan doesn't cover them, rather than + no-op-ing silently. +- `docs/guides/ci-security.md` documents what each consumer toggles + (GitHub push protection, Socket App install, branch protection rules + for `library-policy/re-evaluation` labels). + +This template's own consumption of the stack — when it's eventually +pushed to a GitHub remote — uses the same configurations unchanged. + +### 9. Amendment — SBOM release artifact (CycloneDX) + +**Added:** 2026-05-20 (story `10-sbom-ci-workflow`) + +`.github/workflows/release-please.yml` is amended to generate a +[CycloneDX](https://cyclonedx.org/) SBOM and attach it to every GitHub +release cut by release-please. + +**Concrete step shape:** + +```yaml +- name: Generate CycloneDX SBOM + if: ${{ steps.release.outputs.releases_created == 'true' }} + run: > + pnpm dlx @cyclonedx/cyclonedx-npm + --output-file sbom-${{ steps.release.outputs.tag_name }}.cdx.json + --output-format json + --ignore-npm-errors + +- name: Attach SBOM to GitHub release + if: ${{ steps.release.outputs.releases_created == 'true' }} + uses: softprops/action-gh-release@b4309332981a82ec1c5618f44dd2e27cc8bfbfda # v3.0.0 + with: + tag_name: ${{ steps.release.outputs.tag_name }} + files: sbom-${{ steps.release.outputs.tag_name }}.cdx.json +``` + +**Prerequisites** (also conditional on `releases_created == 'true'`): +`actions/checkout@v4` → `pnpm/action-setup@v4` → `actions/setup-node@v4` +→ `pnpm install --frozen-lockfile`, providing the installed workspace +graph that `@cyclonedx/cyclonedx-npm` analyses. + +**Rationale:** + +- **Compliance surface.** Consumers pursuing SOC 2 / ISO 27001 / + FedRAMP / EU CRA must produce an inventory of every version that + shipped. A CycloneDX JSON SBOM attached to each GitHub release gives + auditors a machine-readable, per-release artifact without requiring + them to inspect or re-run the repo. +- **`pnpm dlx`, not `package.json`.** `@cyclonedx/cyclonedx-npm` is + a release-time audit tool, not a runtime or build dependency; adding + it to the lockfile would violate ADR-022's spirit (library evaluation + required for runtime deps in feature/core packages). `pnpm dlx` + fetches and discards it within the CI step. +- **`--ignore-npm-errors`.** `@cyclonedx/cyclonedx-npm` internally + invokes `npm ls` to traverse the dependency graph. In a pnpm + workspace, `npm ls` exits non-zero when it encounters dev-deps-of- + dev-deps that pnpm correctly elides from the install tree; the SBOM + content is unaffected. Without this flag the step exits 254 and + produces no file. `--ignore-npm-errors` instructs the tool to treat + those `npm ls` warnings as non-fatal and emit the SBOM regardless. +- **SHA-pinned action.** `softprops/action-gh-release` is pinned to a + 40-character commit SHA (`# v3.0.0` trailing comment) per §1's + Renovate `pinGitHubActionDigests` preset. Renovate will open a bump + PR when a newer release is available. +- **Conditional execution.** The SBOM steps run only when + `releases_created == 'true'` — every non-release push to `main` + skips them entirely. This keeps the workflow fast for the common case + (release-please just updating its rolling PR). +- **Root SBOM covers all workspace packages.** Running + `@cyclonedx/cyclonedx-npm` from the workspace root after + `pnpm install --frozen-lockfile` captures the full resolved + dependency graph across all packages. Per-package SBOMs are out of + scope (see story `10-sbom-ci-workflow` §Out of scope). + +**Failure-mode table row** (extends §5): + +| Gate | Layer | Hard block? | +| ------------------------------------------- | ------- | ----------------------- | +| SBOM generation (`@cyclonedx/...`) | release | Yes — release job fails | +| SBOM upload (`softprops/action-gh-release`) | release | Yes — release job fails | + +SBOM absence blocks the release job; it does **not** gate main CI +(the `ci.yml` `validate` job is unaffected). This matches the +principle that release assets are part of the release job, not part +of the per-PR validation loop. + +## Alternatives considered + +- **Dependabot for everything instead of Renovate.** Rejected. Less + granular monorepo handling, requires verbose per-workspace config, + Action SHA pinning needs manual setup. Renovate's `pnpm-workspace` + - `pinGitHubActionDigests` presets do this declaratively. +- **No bump tool, manual bumps only.** Rejected. Deps go stale; CVE + patches land late; the named-consumer-cares-now signal becomes "who + even remembers." +- **Paid Socket Team plan for hard PR blocks.** Rejected (default). + Free App + self-hosted `socket-cli` in CI achieves equivalent + enforcement at $0. Consumers who want the server-side branch-protection + integration can upgrade per their own threat model. +- **Nightly trace revalidation instead of weekly.** Rejected. License / + maintenance / EU-residency signals don't change daily; nightly burns + CI minutes on noise. CVE batches publish ~weekly. +- **Auto-dispatch on `library-policy/re-evaluation` issues.** Rejected. + Creates a feedback loop where the agent loop runs nightly re-evals on + rotating CVE data. The issue queue stays human-triaged; the dispatch + loop drains it on demand. +- **CI gating on `library-policy/re-evaluation` (block main).** Rejected. + Main can keep deploying while the trace gets re-walked. CI gating + would block release-please PRs every time a CVE drops upstream, + conflating release flow with policy maintenance. +- **Splitting into two ADRs (CI security + ADR-022 extensions).** + Rejected. The bump-trigger rule only makes sense once Renovate is in + place; trace revalidation only makes sense alongside Socket; the + failure-mode hierarchy spans both. One coherent decision, one ADR. +- **Editing ADR-022 in-place to add the bump rule + Socket filter + new + field.** Rejected. ADR-022's `Status: Accepted` is provenance — what + we believed when it was signed. Amendments live here in §6 and the + implementation honors the composed picture. This is the repo's first + amendment-style ADR; if it works, future ADR drift gets the same + pattern. + +## Consequences + +**Positive** + +- Closes the post-adoption rot ADR-022 cannot reach alone — CVE drift, + supply-chain behavior compromise, license drift, EU-residency drift, + Action supply-chain attacks. +- The trace artifact becomes continuously validated, not point-in-time. + Approved libraries carry a `last-revalidated` freshness signal. +- Renovate's major/minor split + automerge keeps the lockfile current + with minimal human attention while still gating real decision moments. +- Action SHA pinning closes the `tj-actions/changed-files` class of + attack permanently. +- Layered Socket integration (App + CLI + reviewer prompt) gives + consumers a $0 baseline that's stricter than most paid offerings' + defaults. +- Failure-mode hierarchy is machine-readable: the sandcastle reviewer + prompt becomes the single composable gate for agent-driven PRs. +- Template-vs-consumer framing means downstream repos inherit the + stack on day one without per-project setup. + +**Negative** + +- Six new artifacts ship (`renovate.json`, `.socket.json`, `codeql.yml`, + `trace-revalidation-weekly.yml`, `gitleaks` pre-commit step, updates + to `ci.yml` + reviewer prompt). Each is a maintenance surface. +- Renovate config is dense; consumers extending it past defaults need + to learn its rules. +- Socket GitHub App requires a per-consumer install (one click); the + CLI step in CI works regardless. +- Trace revalidation produces a steady stream of dashboard-issue + updates that humans/agents must skim periodically. Most are + no-action. +- ADR-022 + ADR-023 together are the repo's first amendment chain. + Future agents must read both to get the current policy picture. +- Major-bump trigger means every semver-major Renovate PR blocks on + agent walk-through of `evaluate-library` (~5 min agent work per + major-bump per package). + +**Neutral** + +- The 6 amendments to ADR-022 don't change ADR-022's `Status: Accepted`. + Future archaeology finds both ADRs and the implementation honors + the composed picture. +- Existing 5 workflows are untouched except `ci.yml` gaining 1 step + (`pnpm audit signatures`) and 1 step (`socket-cli scan`). +- Glossary entries for **Trace revalidation** and **Major-bump + re-evaluation** landed inline during the grill session that produced + this ADR. + +## Related + +- ADR-022 — Library evaluation policy (the foundation this builds on + and amends in §6) +- ADR-019 — Sandcastle agent orchestration (the reviewer prompt is the + agent-loop enforcement surface, see §7) +- ADR-021 — release-please versioning (Renovate's bump PRs interact + with release-please's release PRs; both are managed automatically) +- ADR-012 — Feature conventions (the conformance system shape this + stack mirrors — layered enforcement at declining latencies) +- ADR-017 — OpenTelemetry migration (vendor-isolation pattern; Socket + integration follows the same shape — `core-shared` doesn't import + Socket SDK) +- Glossary entries for **Library trace**, **Pre-shipped trace**, + **Trace revalidation**, **Major-bump re-evaluation** +- PRD: `docs/work/prds/ci-security-and-supply-chain.prd.md` + (to be written, materialized via `/to-prd`) +- Companion guide: `docs/guides/ci-security.md` (to be written; human + reading-room with worked examples) diff --git a/docs/decisions/adr-024-product-analytics-channel.md b/docs/decisions/adr-024-product-analytics-channel.md new file mode 100644 index 0000000..45ed913 --- /dev/null +++ b/docs/decisions/adr-024-product-analytics-channel.md @@ -0,0 +1,225 @@ +## ADR-024 — Product analytics as a fourth capture channel + +**Status:** Accepted +**Date:** 2026-05-18 +**Related:** ADR-006 (vertical feature packages), ADR-014 (Sentry observability), ADR-015 (events + jobs), ADR-017 (OpenTelemetry + PII boundary), ADR-018 (audit + compliance), ADR-022 (library evaluation policy) +**Companion PRD:** `docs/work/prds/product-analytics-channel.prd.md` (decomposition seed) +**Companion guide:** `docs/guides/analytics.md` (human reading-room — emitted by epic story 09) + +## Context + +The repo today has five capture channels that signal "something happened in a use case": + +| Channel | Interface | Purpose | Backend | +| ------------- | ------------------------------------------ | -------------------------------- | --------------------------------- | +| Tracing | `ITracer` (`core-shared`) | distributed request tracing | OTel → Sentry / Datadog | +| Error capture | `ILogger.captureException` (`core-shared`) | error reporting + crash messages | Sentry | +| Breadcrumbs | `ILogger.addBreadcrumb` (`core-shared`) | trail attached to next exception | Sentry | +| Metrics | `IMetrics` (`core-shared`) | aggregate numeric signals | OTel meter | +| Audit | `IAuditLog.record` (`core-audit`) | DPA-compliant who-did-what trail | Payload `audit_events` collection | + +None of these is product analytics. The Sentry surface is intentionally PII-stripped (`sendDefaultPii: false`, `setUser({ id })` only — ADR-017 §7). The audit surface is compliance-driven (state changes with actor/subject/IP). The metrics surface is pre-aggregated. **There is no path for funnel analysis, cohort tracking, conversion measurement, or any other identified-user event stream that a typical product needs.** + +The gap is concrete: every consumer of this template who builds something user-facing eventually has the same conversation — "how do I add PostHog / Segment / Mixpanel?" — and ends up bolting it on at the React component layer, bypassing the conformance system entirely. The use case never knows it's emitting an analytics event. The manifest never records it. The ESLint rule that catches `audits` / `publishes` drift has no analog for analytics. Five gates of conformance protection collapse to zero the moment the consumer adds an SDK directly. + +Two pressures motivate codifying analytics as a first-class channel: + +1. **Symmetry with audit.** Audit and analytics are structurally near-identical from the manifest's perspective: both are call-site driven (use case emits specific named events at specific moments), both have a manifest field listing event slugs, both have a dependency injected into the use case factory, both have an ESLint rule cross-checking call literals against the manifest. The repo already accepted this shape for audit; treating analytics differently is special-pleading. + +2. **PII boundary distinct from observability.** ADR-017 §7 locks the observability surface to id-only user context. That policy is deliberate and load-bearing for Sentry's PII posture. Analytics has a fundamentally different job (funnel and retention analysis), needs identified users with traits (email, plan, signup date), and serves a different stakeholder (product, not engineering). Conflating the two surfaces — either by stretching `ILogger.setUser` to accept traits or by adding analytics methods to `ILogger` — would compromise both. They need separate interfaces with separate policies. + +A third pressure is downstream: consumers building real products will pick a vendor. ADR-022 (library evaluation policy) requires that choice to go through a trace with EU-residency, license, and Socket.dev filters. The template can either offer a contract surface those vendor choices plug into, or force every consumer to invent their own contract. The audit precedent shows that providing the contract is the right move — `IAuditLog` doesn't mandate Payload, but every consumer wires Payload by default and the contract makes that wiring uniform. + +## Decision + +Introduce **`IAnalytics`** as a fourth capture channel, living in a new optional core package `@repo/core-analytics`, scaffolded via `pnpm turbo gen core-package analytics`. Mirror the audit channel's structural shape with three deliberate divergences. + +### Package layout + +`@repo/core-analytics` is an **optional core package**, not part of `@repo/core-shared`. Same tier as `@repo/core-audit`. Consumers add it when they want analytics; the template ships it as a scaffoldable but uninstalled option. The `template-tiers.md` table grows by one optional core. + +Why optional rather than must-have: analytics is a product-policy decision (do you track? to where? with what consent?), not infrastructure. The audit precedent established that product-policy capture channels live in optional cores. Bundling analytics into `core-shared` would force every feature in every consumer to carry an analytics dep regardless of need. + +### Interface + +```ts +// @repo/core-analytics/src/analytics.interface.ts + +export type AnalyticsAttributeValue = string | number | boolean; + +export type AnalyticsUser = { + /** Stable identifier for this user. Joins events across sessions + devices. */ + id: string; +}; + +export interface IAnalytics { + /** Emit a named event. The conformance gate cross-checks `event` against the manifest's analyticsEvents. */ + track( + event: string, + attributes?: Record, + ): void; + + /** + * Associate the current analytics session with a user. The optional + * `attributes` carry user traits (plan, signup date, etc.) — see + * ADR-024 § "PII boundary". Not gated by the manifest — it's identity + * establishment, not an event. + */ + identify( + user: AnalyticsUser, + attributes?: Record, + ): void; + + /** Client-side route change. Server impls no-op by convention. */ + pageView( + path: string, + attributes?: Record, + ): void; + + /** Drain the in-memory batch. Wire into SIGTERM / beforeExit / serverless-response-finish handlers. */ + flush(): Promise; +} +``` + +Four methods. Mirrors Segment Spec's core minus the rarely-needed (`group`, `alias`, `screen`). Events are attributed to the user established by the most recent `identify()` call — the standard SDK model — so `track()` carries only the event name and its attributes, and `AnalyticsUser` stays minimal (`id` only); traits ride the `attributes` argument of `identify()`. `flush()` is on the interface because every meaningful server-side SDK batches by default and event loss on shutdown is the most common analytics bug in serverless deployments. + +### Manifest field + +Each use case in `feature.manifest.ts` grows a fourth event-channel field: + +```ts +useCases: { + signUp: { + mutates: true, + audits: ["user.created"], + publishes: ["auth.user-signed-up"], + consumes: [], + analyticsEvents: ["user.signed-up"], // NEW + }, +} +``` + +`analyticsEvents` is an array of event slug literals. Same syntax as `audits` / `publishes` / `consumes`. The use case body emits via `analytics.track(slug, attributes?)` calls. + +### Brand + wrapper + +Parallel to `withAudit` + `Audited`: + +- **Wrapper**: `withAnalytics(analytics, factory(deps))` attaches the `Analyzed` brand to the wrapped function at DI bind time. +- **Brand**: `Analyzed` — non-enumerable property `__analyzed: true`, identical implementation to `Audited`. +- **Conformance check**: `assertFeatureConformance` requires the `Analyzed` brand when `manifest.useCases[name].analyticsEvents.length > 0`. No `mutates` gate (divergence from audit — see below). + +`wireUseCase({ ... })` extends to accept an optional `analytics` arg; when present plus manifest has `analyticsEvents`, it composes `withAnalytics` into the wrapper chain. Composition order (innermost → outermost): `factory(deps)` → `withAnalytics` → `withAudit` → `withCapture` → `withSpan`. + +### ESLint rule + +New conformance rule `no-undeclared-analytics-event` at warn severity: + +- Applies to `*.use-case.ts` files +- Finds `analytics.track("X", ...)` calls with a string-literal first argument +- Cross-checks `X` against the sibling manifest's `useCases[].analyticsEvents` +- Reports on undeclared event slugs + +Mirror of `no-undeclared-audit` and `no-undeclared-event-publish`. Severity matches them (`warn`) because product event sprawl is common during exploration and the warn level catches drift without blocking iteration. + +### React provider (client side) + +`@repo/core-analytics/react` exports `` + `useAnalytics()`. Both sides see `IAnalytics`. The consumer's app boundary constructs the impl (vendor-specific) and passes it into the provider; the rest of the React tree calls `useAnalytics().track(...)` / `.pageView(...)` against the same contract the server uses. + +The provider does NOT auto-wire framework-specific route events (Next App Router events, TanStack Router events, etc.). Those vary per consumer; the provider exposes `pageView()` and the consumer wires their router's "route-changed" hook to call it. A future `pnpm turbo gen` could scaffold per-framework router adapters; out of scope for the initial epic. + +### Three deliberate divergences from audit + +1. **No `mutates` gate on the brand check.** The audit channel only requires `Audited` when `mutates: true && audits.length > 0` because compliance audits exist only for state changes (reads are tracked via a different DPA mechanism). Analytics events are equally legitimate for reads (article viewed, search performed, page visited) and writes (signup, purchase). The brand check is therefore conditioned on `analyticsEvents.length > 0` alone. + +2. **`flush()` on the interface.** Audit writes are synchronous to a DB collection; metrics are pushed on a meter cadence. Analytics is the first capture channel where async batching is the default vendor behavior, so it's the first one where `flush()` belongs on the interface — wired into the app's graceful-shutdown hook by the consumer. + +3. **React provider scaffold.** Audit is server-only by nature. Analytics has a meaningful client side (button clicks, pageviews) that benefits from sharing the same typed contract. The `@repo/core-analytics/react` subpath provides the provider so consumers don't reinvent it. Server-side conformance scope is unchanged — the manifest-gated path is use-case-level only. + +### PII boundary + +This is the only place the analytics channel structurally diverges from `ILogger` policy. + +The observability surface (`ILogger`, `ITracer`) is bound to ADR-017 §7: id-only user context, `sendDefaultPii: false` everywhere, CI grep gate, server-side PII scrubbing at the OTel processor layer. That policy is deliberate and remains untouched. + +The analytics surface is **structurally permissive**. The `attributes` argument of `identify()` accepts arbitrary `Record` user traits. The template makes no claim about what's allowed in it. Consumer is responsible for: + +- Cookie consent and legal basis (e.g. GDPR Art. 6) +- Retention policy in the analytics backend +- Trait allowlist enforcement in their application code (if they want stricter than "permissive") +- DSAR / right-to-erasure plumbing + +This is documented in the interface's doc-comment on `identify()` and in `docs/guides/analytics.md`. No CI guardrail enforces it — the cross-cutting CI gates (ADR-022 library trace covering the backend, ADR-023 supply-chain scan) cover the actionable surface. + +The reason this divergence is explicit rather than emergent: analytics PII is product/legal scope, not template scope. Conflating it with observability PII would either cripple analytics (id-only is unworkable for funnel analysis) or weaken observability (allowing traits in `ILogger.setUser` would erode ADR-017's grep gate). + +### Channel orthogonality + +The fourth channel does NOT merge with existing channels. `analyticsEvents`, `audits`, `publishes` remain three independent manifest fields, each with its own dep, its own call site, its own ESLint cross-check. A use case may emit to one, two, three, or all four event channels (counting `consumes`); each declaration is local to its purpose. + +Why three independent fields rather than a unified `events: [{ slug, channels: [...] }]` shape: unification would refactor `defineFeature`, every conformance rule, every binder, every consumer in the codebase — a much larger scope than analytics itself, with payoff only when the same slug overlaps across channels (common but not universal). A future ADR can revisit when a real consumer feels the pain. + +## Alternatives considered + +### A. Stretch `ILogger` to do analytics + +Add `track()` / `identify()` to `ILogger`. Sentry has `captureMessage` already; arguments could carry user traits. + +**Rejected.** ADR-017 §7's PII policy is load-bearing — relaxing `setUser({ id })` to allow traits would either weaken Sentry's PII posture or require a parallel `setUserForAnalytics` method, which is the same divergence wearing a smaller hat. Two surfaces with two policies is cleaner than one surface with conditional policies. + +### B. Single unified `events: [...]` manifest field + +Replace `audits` + `publishes` + `consumes` + `analyticsEvents` with a single `events: [{ slug, channels: ["audit", "bus", "analytics"] }]` declaration. Use case fires once, channels fan out. + +**Rejected.** Touches every existing feature manifest, every conformance rule, every binder, the ESLint rule set, and `defineFeature` itself. Payoff is real (single source of truth for slug overlap) but scope is enormous for a refactor that's adjacent to the analytics work, not central to it. Defer to a future ADR if real consumers feel the pain. + +### C. Bus-as-bridge + +Every analytics event is published to `IEventBus` as a normal event; an `AnalyticsBusHandler` listens to all events and forwards them to `IAnalytics`. Use case never knows about analytics. + +**Rejected.** Couples analytics latency + retries to bus semantics. Forces analytics-only events to be wrapped in bus publishes that have no other consumer (wasted publishes). And the manifest gate becomes harder to express (the analytics handler subscribes to slugs declared in `publishes`, but only some bus events are also analytics events — the cross-check becomes two-step instead of one-step). + +### D. Skip the template channel, document `/evaluate-library` route + +Don't ship `IAnalytics`. Consumers who want analytics walk through `/evaluate-library`, pick PostHog / Segment / etc., wire it directly at the React + Node boundary, and never benefit from the conformance gates. + +**Rejected.** This is the status quo, and it produces the exact problem the ADR opens with — every product ends up bolting analytics on at the wrong layer, bypassing the gate set, and reinventing the contract per consumer. The template's job is to make the right shape the easy shape. `IAuditLog` proves the model works. + +### E. Bake in a default backend (e.g. PostHog) + +Ship `@repo/core-analytics` with a PostHog impl included. Consumers who don't override get PostHog by default. + +**Rejected.** Vendor lock without consumer signoff. The whole point of vendor-neutral interfaces (ADR-017's OTel + neutral `ITracer`) is that backend choices are downstream decisions, gated by ADR-022's library evaluation. Bundling PostHog (or any vendor) bypasses that gate. + +## Consequences + +### Positive + +- **Fourth capture channel codified as first-class.** Use cases now declare their analytics events in the manifest; the conformance system applies the same five-latency drift detection that already protects audit + bus + tracing. +- **PII boundary made explicit.** ADR-017 §7's id-only observability policy stops being implicitly the analytics policy too. Two policies, two surfaces, no ambiguity. +- **Vendor-neutral contract for downstream products.** Consumers picking PostHog / Segment / Mixpanel implement `IAnalytics` against the existing contract — no contract reinvention, no wrong-layer bolting. The library evaluation gate (ADR-022) applies to the vendor choice. +- **Symmetric server + client surface.** Both sides see `IAnalytics`. Frontend team writes the same `analytics.track(...)` call site as the use case, gated by the same type contract. +- **Template-tier surface stays clean.** Optional core package; consumers who don't want analytics don't install it. + +### Negative + +- **Manifest schema grows by one field.** Every existing feature's manifest gains an optional `analyticsEvents: []` field. The migration is cosmetic (empty arrays everywhere) but it's still a schema touch. +- **Six conformance ESLint rules become seven.** `no-undeclared-analytics-event` joins the set. CLAUDE.md and conformance-quickref.md need updates. +- **`assertFeatureConformance` symbol map grows.** Each feature's `bind-production.ts` adds the `Analyzed` brand check when the manifest declares analytics events. +- **Brand composition is now four-deep.** `withSpan(... withCapture(... withAudit(... withAnalytics(... factory(deps)))))`. Documented in `docs/glossary.md` but still a real complexity step. +- **One more decision the consumer must make.** Choosing a vendor is non-trivial; the template's only mitigation is to provide the contract + point at ADR-022 for the gate. + +### Neutral + +- **`flush()` on the interface.** Means the consumer's graceful-shutdown wiring must call it. Documented in `analytics.md`. Same shape as `bus.flush()` would have if we ever added one. +- **React provider scaffold not auto-wiring route events.** Consumers wire their framework's router events to `pageView()` themselves. Acceptable; the same pattern exists for Sentry route tracking. +- **No CI guardrail beyond what already exists.** ADR-022 + ADR-023 cover the meaningful cross-cutting surface; analytics has no single boolean to grep for. + +## Related + +- ADR-006 — vertical feature packages (boundary tags this fits within) +- ADR-014 — Sentry observability (the channel this is structurally distinct from) +- ADR-015 — events + jobs (the channel `analyticsEvents` is orthogonal to) +- ADR-017 — OpenTelemetry + PII boundary (the policy this explicitly diverges from) +- ADR-018 — audit + compliance (the channel this most closely mirrors) +- ADR-022 — library evaluation policy (the gate that backend choice goes through) diff --git a/docs/decisions/adr-025-eu-compliance-baseline.md b/docs/decisions/adr-025-eu-compliance-baseline.md new file mode 100644 index 0000000..69558c0 --- /dev/null +++ b/docs/decisions/adr-025-eu-compliance-baseline.md @@ -0,0 +1,345 @@ +## ADR-025 — EU compliance baseline (DPA/GDPR template scope) + +**Status:** Accepted +**Date:** 2026-05-18 +**Related:** ADR-006 (vertical feature packages), ADR-017 (OTel + observability PII boundary), ADR-018 (audit + compliance), ADR-022 (library evaluation policy — extended here for sub-processors), ADR-023 (CI security + supply chain — SBOM amended here), ADR-024 (product analytics channel) +**Companion PRDs** (one per epic, sequenced): + +- `docs/work/prds/compliance-manifests-pii-retention-subprocessors.prd.md` (Epic A) +- `docs/work/prds/dsr-consent-and-cookie-banner.prd.md` (Epic B) +- `docs/work/prds/security-headers-rate-limit-sbom.prd.md` (Epic C) +- `docs/work/prds/compliance-docs-scaffolds.prd.md` (Epic D) + +## Context + +A DPA/GDPR compliance playbook (22 sections, stack-agnostic) was reviewed against the template's current state on **2026-05-18**. The audit produced a clean three-way split: + +1. **Already covered** by prior ADRs: + - PII boundary on observability (ADR-017 §7 — `sendDefaultPii: false` CI gate, server-side scrubbing, replay masking) + - Audit logging baseline (ADR-018 — `@repo/core-audit`, DPA-aligned schema, `eraseSubject` pseudonymization) + - EU library residency (ADR-022 — hard filter in `/evaluate-library`) + - Supply-chain + CI security (ADR-023 — Renovate SHA pinning, Socket.dev, audit signatures, CodeQL, gitleaks, trace revalidation) + - Analytics PII deferral (ADR-024 — explicit consumer-policy boundary) + +2. **Template-shaped gap** — 10 items the playbook flagged that the template can codify _before_ any consumer adopts it. These are conformance-pattern shaped (manifest fields, brands, ESLint rules, generators) or scaffolding (interfaces, default middleware, fill-in docs). + +3. **Product-shaped (deferred)** — 3 items that need product shape before being meaningful. Each has a documented trigger condition for revisit. + +The motivating pressure: a consumer adopting this template today gets ~50% of the playbook's surface for free. The 10-item template-shaped gap is what this ADR plans (raising coverage to ~80%); the remaining ~20% product/process/legal scope stays consumer-owned and is documented as such. + +Audit + DSR is the canonical confusion to flag upfront: **audit _records_ personal-data access (immutable journal); DSR _acts_ on the underlying data in response to user requests (mutator/exporter).** They are sibling concerns, not duplicates. + +## Decision + +Ship the 10 template-shaped items across **four epics**, sequenced A → B → D with C interleaved opportunistically. Defer 3 items explicitly. Add 3 new manifest fields, 2 new optional cores, 3 new ESLint rules. + +### The 4 epics + +#### Epic A — Declarative compliance manifests + +**Items:** PII inventory + data retention + sub-processor inventory. + +Three declarative artifacts, each driven by a different surface and a generator that emits the audit-evidence YAML: + +| Artifact | Declaration site | Generator output | +| ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- | +| PII inventory | `custom.pii: { category, purpose, retention, exportable, restrictable }` per Payload **field** | `compliance/data-map.yml` | +| Retention policy | `custom.retention: { activeRetention, postDeletion, purgeSchedule, hardDeleteAfter }` per Payload **collection** | `compliance/retention-policy.yml` | +| Sub-processor inventory | Extended ADR-022 library traces — frontmatter fields `is-sub-processor`, `processes-pii`, `data-sent`, `region`, `dpa-signed`, `sccs-required`, `contact` | `compliance/sub-processors.yml` | + +**Key design decisions:** + +- **PII at the field level, not the manifest level.** PII is a storage question ("what personal data does this system hold?"), not an action question. Existing manifest fields (`audits`, `publishes`, `analyticsEvents`) are all event-shaped — emissions from use cases. PII fields don't fit that shape. Tagging at the field level puts the metadata where DSR consumes it at runtime. + +- **Retention at the collection level, not per use case.** Same rationale — retention is a storage property. Per-field PII retention overrides apply where the PII tag specifies a stricter retention than the collection default (more-specific wins). Background purge job in `core-shared/jobs` reads collection config at boot. + +- **Sub-processors via ADR-022 traces, not standalone file.** Every direct-dep library trace already records EU residency, license, CVE acceptance. Extending it with the sub-processor fields (DPA signed date, SCCs, contact, PII processed, data sent, region) unifies two related obligations in one record. Pure-HTTP sub-processors (REST calls without an SDK) get hand-authored entries with no backing trace as an exception, CI-flagged. + +The three generators run via `pnpm compliance:emit-all`. CI gate verifies generator output matches the source declarations (drift detection). + +**Background purge job:** `core-shared/jobs/retention-purge.job.ts`. Reads `custom.retention` from each collection at boot; schedules per-collection purge cadence; emits an `IAuditLog.record({ action: "DELETE", reason: "retention-policy" })` audit entry per row purged. + +#### Epic B — DSR + consent + cookie banner + +**Items:** DSR scaffold + consent abstraction + cookie consent UI. + +Builds the user-rights surface end-to-end: + +**`@repo/core-dsr`** — new optional core. Four interfaces: + +```ts +interface IDataExport { + exportSubjectData( + subjectId: string, + format: "json" | "json-ld", + ): Promise; +} +interface IDataDelete { + deleteSubjectData( + subjectId: string, + mode: "soft" | "cascade-hard", + ): Promise; +} +interface IDataRectify { + updateSubjectField( + subjectId: string, + collection: string, + field: string, + value: unknown, + ): Promise; +} +interface IProcessingRestriction { + setRestriction(subjectId: string, granted: boolean): Promise; + isRestricted(subjectId: string): Promise; +} +``` + +DSR ops walk Payload collections at runtime, using the field-level `custom.pii` tags from Epic A. `IDataExport` walks fields tagged `exportable: true`; `IDataDelete` walks all PII fields and cascades; `IProcessingRestriction` writes a flag on the user record that every read path checks. + +**Scope cuts on DSR:** + +- Art. 20 (portability) folded into Art. 15 (access) — same `IDataExport` with format option +- Art. 21 (objection) → consent epic via `IConsent.withdraw` +- Art. 22 (automated decision-making) → deferred (no ML in template; future ADR when a consumer adds automated decisions) + +DSR ops are themselves PII access events — every `IDataExport`/`IDataDelete`/`IDataRectify` call writes an audit entry. After `IDataDelete`, `core-audit.IAuditLog.eraseSubject(actorId, "pseudonymize")` scrubs the audit trail (preserves the events, removes the identifier). + +**`@repo/core-consent`** — new optional core. Sibling channel parallel to audit/analytics: + +```ts +interface IConsent { + isGranted(subjectId: string, category: ConsentCategory): Promise; + grant( + subjectId: string, + categories: ConsentCategory[], + record: ConsentRecord, + ): Promise; + withdraw(subjectId: string, categories: ConsentCategory[]): Promise; + getCategories(subjectId: string): Promise; +} +``` + +`ConsentCategory` is a consumer-typed string-literal-union (default: `"essential" | "functional" | "analytics" | "marketing"`, extensible). Conformance treatment: + +- Brand: `ConsentChecked` attached by `withConsent` wrapper at bind time +- Manifest field: `requiresConsent: ["analytics"]` per use case +- ESLint rule: `no-undeclared-consent-check` cross-checks `consent.requires("X")` literal calls +- Boot assertion: `assertFeatureConformance` requires `ConsentChecked` brand when `requiresConsent.length > 0` + +Consent grant/withdraw events are themselves audited (`auditLog.record({ action: "CONSENT_GRANT", category: "marketing" })`). + +**`` in `@repo/core-ui`** — atomic component. Default visual treatment baked for EU prominence requirements (Reject + Accept side-by-side, same size, equal prominence per EU regulator guidance). Granular (essential/functional/analytics/marketing). Consumer wires `IConsent` via React context. Storybook story doubles as human reading-room for compliant UX. + +**Endpoint scaffolds:** `/api/gdpr/{export,delete,rectify,restrict}` — consumer-wireable routes. Live in `apps/web-next/app/api/gdpr/` and `apps/web-tanstack/src/routes/api/gdpr/`. + +#### Epic C — Security hardening + +**Items:** Security headers middleware + rate-limit primitive + SBOM in CI. + +Small individual scope; grouped for dispatch efficiency. Each item is independent. + +- **Security headers middleware** — default Next.js + TanStack middleware shipping HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy. CSP customizable per consumer (separate config; default is restrictive). Lives in `core-shared/security` plus per-framework re-export. + +- **Rate-limit primitive** — fourth conformance channel after audit/analytics/consent. `IRateLimit` interface in `core-shared/rate-limit`: + + ```ts + interface IRateLimit { + consume( + key: string, + weight?: number, + ): Promise<{ allowed: boolean; remaining: number; resetAt: Date }>; + reset(key: string): Promise; + } + ``` + + - Brand: `RateLimited` attached by `withRateLimit` wrapper + - Manifest field: `rateLimit: { window: "1m", budget: 60 }` per use case (defaults; runtime overrides via `ctx.rateLimit` config) + - ESLint rule: `no-undeclared-rate-limit` warns when a use case in an auth/write/export category lacks a `rateLimit` declaration + - Boot assertion: `assertFeatureConformance` requires `RateLimited` brand when `rateLimit` is set + - Consumer wires Redis/Upstash impl; `NoopRateLimit` always-allows for tests + dev + + Rate-limit budgets at the manifest level are _defaults_ — overridable at runtime via `ctx.rateLimit` config (mirrors how analytics backend is consumer-wired). Manifest declaration is for the binding gate; runtime values are deployment-environment-specific. + +- **SBOM in CI** — `cyclonedx-npm` step in `ci.yml`, artifact uploaded per release. Amendment to ADR-023. + +#### Epic D — Compliance docs scaffolds + +**Items:** Fill-in templates for runbooks, policies, and the pre-launch checklist. + +Pure docs work. Lands last so it references the manifest fields, interfaces, and middleware shipped by A/B/C. + +**Template-shipped (under `docs/compliance/`):** + +- `data-map.example.yml` — generator-output reference +- `retention-policy.example.yml` — generator-output reference +- `sub-processors.example.yml` — generator-output reference +- `incident-runbook.template.md` (fill-in) +- `dsr-procedure.template.md` +- `backup-policy.template.md` +- `password-policy.template.md` +- `device-policy.template.md` +- `onboarding.template.md` +- `offboarding.template.md` +- `README.md` (explains the `docs/compliance/` vs `compliance/` split) + +**Consumer-created (under `compliance/` at repo root):** + +- `data-map.yml` (generator output) +- `retention-policy.yml` (generator output) +- `sub-processors.yml` (generator output from extended ADR-022 traces) +- `*.md` (filled-in copies of templates) + +**Plus:** `docs/guides/pre-launch-compliance-checklist.md` — playbook §19 verbatim with template-specific wiring noted. + +### Sequencing + +**Order: A → B → D, with C interleaved opportunistically.** + +Hard dependencies: + +- B's `IDataExport`/`IDataDelete` walk Epic A's PII tags at runtime → A must finish before B story 1 +- D's `data-map.example.yml` documents Epic A's PII schema → A's design must be settled before D +- D's `dsr-procedure.template.md` references Epic B's endpoints → B should be design-settled before D's PRD is decomposed + +C is dependency-free; sandcastle picks C stories during gaps in A/B/D. + +### Deferrals (explicit, with revisit triggers) + +| Deferred | Why deferred | Trigger to revisit | +| ---------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | +| **RBAC primitive** (roles + permissions + tenant scoping) | Needs product-side decisions: which roles exist, multi-tenant or not, permission granularity | First downstream consumer ships with a stable role model | +| **MFA + password policy + lockout** (`auth` feature extension) | Needs identity-infrastructure choices (TOTP/WebAuthn), threat-model-specific policy values, OTP delivery vendor (ADR-022 territory) | First downstream consumer establishes auth threat model | +| **Breach detection patterns** (failed-login burst, bulk-access anomaly, off-hours admin) | Needs real auth flows, analytics backend, on-call infrastructure, product-specific anomaly definitions | First downstream consumer has live traffic + observability backend | +| **GDPR Art. 22** (automated decision-making) — sub-deferral within Epic B | Template has no ML/automated decisions | First downstream consumer adds automated decisions | + +Each deferral has a documented trigger so the decision-when can be answered by the consumer, not the template authors. + +### Consumer-scope items (explicitly out of template) + +These appear in the playbook but are NOT template-shaped: + +- **Infrastructure (§1, §12)** — EU region pinning of compute/storage/backups, TLS at deploy edge, encryption-at-rest config, VPN/bastion network boundaries, backup strategy + restore testing +- **Legal (§17)** — DPA, Privacy Policy, ToS, SCCs for non-EU sub-processors, DPIA artifacts, RoPA documents +- **Organizational (§14, §15)** — MDM enrollment, HR onboarding/offboarding scripts (the _script_ is template; the _policy_ is consumer), NDAs, security training, background checks, quarterly access reviews, pentest scheduling + +Epic D ships fill-in templates for some documentation artifacts above; the values stay consumer-filled. + +### Manifest schema impact + +Per-use-case fields grow from 5 to 7: + +- Existing: `mutates`, `audits`, `publishes`, `consumes`, `analyticsEvents` +- Added by ADR-025: `requiresConsent`, `rateLimit` + +Per-Payload-collection `custom` config grows: + +- Added by ADR-025: `pii` (per field), `retention` (per collection) + +Per-library-trace frontmatter grows (extends ADR-022): + +- Added by ADR-025: `is-sub-processor`, `processes-pii`, `data-sent`, `region`, `dpa-signed`, `sccs-required`, `contact` + +### Conformance ESLint rule impact + +Rule count: 7 → 10. New rules at warn severity (matching the audit/analytics-event convention): + +- `no-undeclared-consent-check` — `consent.requires(...)` literal calls must match manifest's `requiresConsent` +- `no-undeclared-rate-limit` — auth/write/export categorized use cases without `rateLimit` field +- `pii-declaration-must-be-complete` — Payload `pii: true` fields missing required sub-keys (category, purpose, retention) + +### Generator + CI gate inventory + +| Generator | Source | Output | CI gate | +| ---------------------------------- | ----------------------------------------------------------- | --------------------------------- | -------------------------------------------- | +| `pnpm compliance:data-map` | Payload field `custom.pii` | `compliance/data-map.yml` | output matches collections (drift detection) | +| `pnpm compliance:retention-policy` | Payload collection `custom.retention` | `compliance/retention-policy.yml` | output matches collections | +| `pnpm compliance:sub-processors` | `docs/library-decisions/*.md` with `is-sub-processor: true` | `compliance/sub-processors.yml` | output matches traces | +| `pnpm compliance:emit-all` | runs all three | three files | runs all three CI gates | + +## Alternatives considered + +### A. One mega-epic covering all 10 items + +Single PRD, single epic, ~30-40 stories. Pros: tight coupling across the manifest-schema changes; one review surface. Cons: enormous PR backlog with no natural checkpoint; reviewer fatigue; if half-shipped, the partial state leaves an ambiguous compliance surface. + +**Rejected.** The four-epic split keeps each PRD focused enough for a useful single-document review. + +### B. Per-item ADRs (10 ADRs) + +One ADR per item — finer granularity. Pros: each architectural decision recorded in isolation. Cons: 10 ADRs to maintain, much repetition (each restates the playbook context), no unifying strategy doc, harder to answer cross-cutting questions like "why these 3 deferrals" without re-reading 4+ ADRs. + +**Rejected.** ADR-025 is the unifying strategy; per-epic PRDs handle implementation specifics. Future deepening decisions on individual items can spawn their own ADRs as needed (e.g., when DSR cascade semantics need a specific architectural call, that becomes ADR-NNN). + +### C. Wait until the first downstream consumer asks + +Don't build any of this until a consumer arrives with a real compliance requirement. + +**Rejected.** The whole value proposition of this template is that DPA/GDPR-shaped consumers don't have to invent these surfaces. The "named-consumer-now" rule from ADR-022 applies to _library adoption_, not to template surface — the consumer of this surface is "every downstream EU-bound product," which is real and immediate. + +### D. PII declared at use-case manifest level instead of Payload field level + +`pii: [{ category, purpose, retention }]` per use case, mirroring audit/publishes. + +**Rejected.** Duplicates metadata across every use case touching the same field. Wrong semantic layer — PII is a storage question, not an action question. DSR (Epic B) needs runtime access to PII tags at the field level to walk Payload collections; manifest-level tags would require synthesis at runtime. + +### E. DSR split across multiple cores (`@repo/core-data-export`, `@repo/core-data-delete`, etc.) + +Maximum granularity. Pros: consumers adopt only what they need. Cons: 4+ packages to scaffold, tight coupling in practice (delete cascade needs to know export's PII tags), overkill — each "core" would have one interface. + +**Rejected.** One `@repo/core-dsr` with 4 interfaces, mirroring `core-shared`'s tracer/logger/metrics packaging pattern (multiple interfaces in one package). Opt-in is at the package level, not the interface level. + +### F. Consent folded into `core-audit` or `core-analytics` + +`IConsent` added to an existing core. + +**Rejected.** Audit _records_, consent _gates_ — different abstractions. Conflates package purpose. Analytics is only one of many consent-gated channels (marketing, profiling, cookies, third parties); putting consent inside analytics is too narrow. + +### G. Rate-limit as interface-only (no brand) + +Just an `IRateLimit` contract. Consumers call `rateLimit.consume(...)` where they need. + +**Rejected.** Rate-limit drift would only surface when traffic hits — way too late. The five-latency drift detection is the template's signature pattern. Skipping it for rate-limit when it's universally applicable to auth/write/export endpoints (per playbook §5) leaves a real hole. Manifest declaration at the binding gate + runtime budget override gives both static enforcement and deployment flexibility. + +### H. Compliance docs all under `docs/compliance/` (no root `compliance/` directory) + +Templates and live artifacts co-located. + +**Rejected.** The template ships only the _shape_; the consumer fills in the _evidence_. Auditors expect `compliance/` at the repo root (matches playbook §16 + standard SOC 2/ISO 27001 audit prep). Splitting locations matches the template-vs-consumer mental model used throughout this session. + +## Consequences + +### Positive + +- **Compliance surface ~80% template-shipped.** From ~50% pre-ADR (audit + PII boundary + library residency + supply chain) to ~80% post-epics. Remaining 20% is consumer-scope by design. +- **Conformance pattern extended consistently.** Two new manifest fields (`requiresConsent`, `rateLimit`) plus two new collection-level `custom.*` extensions all follow the established pattern. Three new ESLint rules at warn level. Three new manifest-driven generators. New consumers learn the pattern once. +- **DPA audit posture improves materially.** Sub-processor inventory, retention policy, data map, DSR endpoints, cookie consent are concrete artifacts a regulator or customer audit expects. +- **Explicit deferrals prevent premature design.** RBAC, MFA, breach detection, Art. 22 won't be re-suggested by future agents — ADR-025 records the trigger conditions. +- **Two new optional cores** (`core-dsr`, `core-consent`) match the established pattern. Template-tiers grows by two; scaffold path is `pnpm turbo gen core-package `. +- **Rate-limit gets first-class treatment.** Fourth conformance channel; auth/write/export endpoints can't ship without a declared budget. +- **The audit ↔ DSR distinction is documented.** Future agents won't conflate the two — glossary entries plus this ADR's "Context" section make the split explicit. + +### Negative + +- **Manifest schema grows substantially.** Per-use-case fields go from 5 to 7. Per-collection `custom` config gains two extensions. Doc burden in glossary + `conformance-quickref.md` increases proportionally. +- **Conformance ESLint rule count: 7 → 10.** CLAUDE.md and quickref need rule-table updates each epic. +- **Two new optional cores to maintain.** Each needs versioning + CHANGELOG (per ADR-021). +- **`compliance/` directory becomes a new root location.** Adds a top-level directory alongside `docs/`, `packages/`, `apps/`. Consumers will see it; it's intentional but it's a new convention. +- **DSR cascade is non-trivial.** `IDataDelete` walking every Payload collection's PII fields requires Epic A's PII tags to be complete and correct. Epic B will surface gaps in Epic A's coverage during integration. +- **ADR-022 amendment.** Adding sub-processor fields to library traces is an extension to ADR-022's frontmatter spec. Existing traces need backfill (the weekly revalidation cron from ADR-023 will surface incomplete traces). +- **ADR-023 amendment.** SBOM generation step adds one workflow line; minor but counted. + +### Neutral + +- **No new CI gates beyond what generators introduce.** The three drift-detection gates (data-map, retention-policy, sub-processors) all reuse the existing CI workflow shape. +- **No vendor lock-in.** All interfaces (DSR cascade target, consent backend, rate-limit backend, security-header CSP values) remain consumer-decisions. Template ships interfaces + Noop/reference impls only. +- **Deferred items remain deferred.** ADR-025 doesn't preclude building RBAC/MFA/breach-detection/Art. 22 later — it just establishes that those decisions wait for product shape. +- **Cookie banner ships with opinionated EU-prominence defaults.** Consumers can override visual treatment but the default is the legally-defensible shape. + +## Related + +- ADR-006 — vertical feature packages (boundary tags new optional cores fit within) +- ADR-017 — OTel + observability PII boundary (the boundary `IConsent` does NOT cross — observability stays id-only) +- ADR-018 — audit + compliance (the sibling channel `core-dsr` complements without overlapping) +- ADR-022 — library evaluation policy (extended here with sub-processor frontmatter fields) +- ADR-023 — CI security + supply chain (SBOM amended here; rate-limit complements the supply-chain stack) +- ADR-024 — product analytics channel (sibling capture channel; `IConsent` from Epic B will gate `IAnalytics.track` calls in consumer products) diff --git a/docs/decisions/adr-026-cross-feature-readers.md b/docs/decisions/adr-026-cross-feature-readers.md new file mode 100644 index 0000000..3084f7d --- /dev/null +++ b/docs/decisions/adr-026-cross-feature-readers.md @@ -0,0 +1,208 @@ +# ADR-026 — Cross-feature synchronous readers + +**Status:** Accepted + +**Date:** 2026-05-28 + +## Context + +The monorepo's vertical-slice architecture (ADR-006) enforces strict feature isolation: each vertical owns its data end-to-end, and cross-feature communication flows through the event bus (ADR-015, rule E0). This works well for **reactions** ("user signed up → send welcome email"), but the architecture has no mechanism for **synchronous domain queries** across features. + +Three concrete scenarios expose the gap: + +1. **Permission checks.** Blog's `createArticle` needs to verify the author has the "editor" role. The raw user record is available via Payload's `relationTo`, but evaluating "does role X grant permission Y in context Z?" is domain logic that belongs to the auth vertical. +2. **Computed state.** A billing feature needs to know whether a subscription is active after applying trial logic, grace periods, and plan rules. That evaluation belongs to the subscriptions vertical. +3. **Validated existence.** A comments feature needs to verify a referenced article exists and is in "published" status — a check that includes blog-domain invariants, not just a row lookup. + +Payload's `relationTo` handles raw data joins at the database level (and should continue to be used for that), but it cannot evaluate business rules owned by another vertical. Events cannot answer synchronous questions. The architecture needs a third cross-feature mechanism. + +## Decision + +**1. Introduce readers: synchronous, read-only cross-feature query contracts.** + +A **reader** is a minimal interface exported by a feature that exposes domain queries to other verticals. It complements events (async reactions) and `relationTo` (raw data joins) without replacing either. + +| Cross-feature need | Mechanism | Sync/Async | Example | +| ---------------------- | -------------------- | ----------- | ------------------------------ | +| Raw data join | Payload `relationTo` | Sync (DB) | Article card shows author name | +| Domain query | Reader | Sync (code) | "Does user have editor role?" | +| Reaction / side effect | Event bus (ADR-015) | Async | "User signed up → send email" | +| Deferred work | Job queue (ADR-015) | Async | "Resize uploaded image" | +| State delivery / push | Realtime (ADR-016) | Async | "New comment appeared" | + +**2. Four rules, parallel to events (E0/E1) and jobs (J0).** + +- **Q0 — Readers are for cross-feature synchronous domain queries only.** In-feature reads are direct use-case calls. If the caller and the data owner are in the same vertical, use the use case directly — don't route through a reader. +- **Q1 — Reader contracts (interfaces) are public; implementations are private.** The owning feature exports `IReader` from a `./reader` subpath. The implementation class (`Reader`) is internal, constructed by the feature's binder. Consumers import the type only. Parallel to rule E1 for event handlers. +- **Q2 — Readers are strictly read-only. Cross-feature writes go through events.** A reader may only delegate to use cases declared `mutates: false` in the feature manifest. Enforced by `ReadOnly` TypeScript brand at compile time and `assertReaderPurity` at boot time. If you need to tell another vertical that something happened, publish an event. +- **Q3 — Reader cycles are a design error.** If Feature A reads from Feature B and Feature B reads from Feature A, the boundaries are wrong. Resolution strategies: (a) one direction is a UI composition concern — compose at the app layer instead; (b) one direction can be async — use an event; (c) the two features should be one vertical. + +**3. One reader per feature, grown on demand.** + +Each feature that exposes cross-feature queries ships a single `IReader` interface (e.g., `IAuthReader`, `ITenantReader`). The interface starts minimal and grows as consumers need more methods. If the interface becomes bloated, that's a signal the vertical is too fat. + +**4. Readers wrap existing use cases — they don't add domain logic.** + +The reader is a thin facade over the owning feature's use cases. It does not contain business rules itself. If a reader needs logic that doesn't exist as a use case, the correct response is to create the use case first (manifest-first ordering), then have the reader delegate to it. + +```typescript +// packages/auth/src/infrastructure/readers/auth.reader.ts (INTERNAL) +export class AuthReader implements IAuthReader { + constructor( + private checkRole: ReadOnly, + private getUser: ReadOnly, + ) {} + + async hasRole(userId: string, role: string): Promise { + return this.checkRole({ userId, role }); + } + + async exists(userId: string): Promise { + const user = await this.getUser({ id: userId }); + return user !== null; + } +} +``` + +Because the reader wraps use cases, no `MockReader` class is needed. In dev-seed mode the same `AuthReader` class works — the use cases beneath it are backed by mock repositories populated with seed data. In consumer tests, an inline vitest mock of `IAuthReader` suffices. + +**5. Readers live under `integrations/readers/`, exported via `./reader` subpath.** + +The reader is an outward-facing integration boundary, parallel to `integrations/api/` (HTTP consumers) and `integrations/cms/` (Payload admin). File layout: + +``` +packages//src/ + integrations/ + api/ # outward: HTTP consumers + cms/ # outward: Payload admin + readers/ # outward: other verticals + .reader.interface.ts # IFeatureReader (PUBLIC) + .reader.ts # FeatureReader (INTERNAL) + .reader.test.ts + index.ts # exports type { IFeatureReader } only +``` + +The `package.json` exports map gains a `./reader` entry: + +```json +{ "./reader": "./src/integrations/readers/index.ts" } +``` + +**6. Wiring: binder returns reader, `bindAll()` threads it to consumers.** + +Feature binders that expose a reader return it: + +```typescript +// bindProductionAuth(ctx) returns { reader: IAuthReader } +const authResult = bindProductionAuth(ctx); +bindProductionBlog(ctx, { authReader: authResult.reader }); +``` + +Consuming binders accept readers as a second parameter alongside `ctx`: + +```typescript +export function bindProductionBlog( + ctx: BindProductionContext, + readers: { authReader: IAuthReader }, +): void; +``` + +Ordering in `bindAll()` is explicit — the owning feature binds first, then consumers. A cycle in `bindAll()` is a compile-time error (TypeScript cannot type the return before the call), which enforces rule Q3 structurally. + +**7. Manifest field: `reads: [""]` per use case.** + +The feature manifest declares cross-feature read dependencies: + +```typescript +useCases: { + createArticle: { + mutates: true, // this use case mutates its OWN feature's data + reads: ["auth"], // this use case queries ANOTHER feature's reader (read-only on auth side) + publishes: [], + consumes: [], + audits: [], + }, +} +``` + +Note: `mutates` and `reads` are orthogonal. `mutates` describes whether this use case writes to its own feature's repositories. `reads` describes which other features' readers it queries. A mutating use case can read from another feature's reader — the read-only constraint (Q2) is enforced on the **provider** side (the reader can only wrap non-mutating use cases), not on the consumer side. + +Conformance gates verify: + +- **ESLint rule `no-undeclared-reader`:** Code calls a reader method but manifest doesn't declare `reads`. (Parallel to `no-undeclared-event-publish`.) +- **Boot assertion `assertReaderPurity`:** Every use case wired into a reader is declared `mutates: false` in the manifest. +- **Boot assertion `assertFeatureConformance`:** Every `reads` entry has a corresponding reader injected into the binder. +- **`pnpm conformance`:** Cross-feature reader closure — every `reads: ["auth"]` resolves to a feature that exports `./reader`. + +**8. Read-only enforcement via `ReadOnly` brand.** + +A new branded type prevents mutating use cases from being wired into readers at compile time: + +```typescript +type ReadOnly = F & { readonly __readonly: unique symbol }; +``` + +Use cases declared `mutates: false` receive the `ReadOnly` brand at bind time. The reader constructor only accepts `ReadOnly`-branded use cases. Passing a mutating use case produces a TypeScript error. + +The brand is verified at boot time by `assertReaderPurity`, which cross-references the reader's wired use cases against the manifest's `mutates` field. If a `mutates: true` use case is wired into a reader, the app refuses to boot. + +**9. No reader-level instrumentation.** + +Readers delegate to use cases that are already wrapped with `withSpan` and `withCapture` at bind time. Adding reader-level spans would create redundant parent spans for every cross-feature query. Use case spans are sufficient for tracing. + +## Alternatives considered + +- **Events for everything (status quo).** Rejected for domain queries — events are async and fire-and-forget. You cannot `await bus.publish("auth.check-role")` and get an answer back. Forcing queries through the event bus would require request-scoped correlation IDs, reply channels, and timeouts — essentially rebuilding synchronous RPC over an async bus. + +- **Direct use-case imports across features.** Rejected — violates vertical isolation. If blog imports `checkUserRoleUseCase` from auth, it takes a transitive dependency on auth's repository interfaces, DI symbols, and internal structure. A change inside auth's use case can break blog's compilation. + +- **Shared query interfaces in `core-shared`.** Rejected — `core-shared` is infrastructure. Putting `IAuthReader` there means core-shared accumulates feature-specific domain types, which inverts the dependency direction (core depends on feature concepts). + +- **A standalone `core-protocols` package.** Rejected as premature — adds a new package for what is currently a type-only export. If the number of readers grows beyond 5-6, this can be reconsidered. For now, the owning feature is the natural home. + +- **Gateways (reader + writer in one interface).** Rejected — synchronous cross-feature writes are dangerous. A failure in the target feature's write path would fail the caller's request. Writes should be fire-and-forget (events) so the caller's request path is not coupled to the target's write availability. See rule Q2. + +- **Bidirectional readers (allowing cycles).** Rejected — cycles indicate wrong feature boundaries. Three resolution strategies exist (UI composition, event for one direction, merge features), making a runtime cycle-breaking mechanism unnecessary. See rule Q3. + +- **Rely solely on Payload `relationTo`.** Rejected as the sole mechanism — `relationTo` gives raw data, not domain-evaluated answers. It also doesn't work in dev-seed/test mode with mock repositories. However, `relationTo` remains the correct choice for raw data joins where no domain logic is needed. + +## Consequences + +**Positive:** + +- Verticals can answer synchronous domain queries for other verticals without violating isolation. +- The manifest's `reads` field makes cross-feature coupling visible, greppable, and agent-readable — same as `publishes`/`consumes` for events. +- Read-only enforcement (`ReadOnly` brand + `assertReaderPurity`) prevents accidental cross-feature mutations. +- Cycle detection is structural (compile-time in `bindAll()`) — no runtime checks needed. +- No new mock infrastructure — existing use case mocks power the reader in dev-seed; inline vitest mocks suffice for consumer tests. +- The pattern is consistent with existing conventions: integration boundary (`integrations/readers/`), public contract + private implementation (rule Q1 parallels E1), manifest declaration + conformance check. + +**Negative:** + +- Adds a fourth cross-feature coupling mechanism (alongside events, jobs, and realtime). Developers and agents must choose correctly. The decision matrix in section 1 mitigates this. +- Feature binders that expose readers change their return type (from `void` to `{ reader: IReader }`). `bindAll()` ordering becomes explicit. This is intentional — it makes the dependency graph visible — but it's a change to existing binder signatures. +- The `reads` manifest field and `no-undeclared-reader` ESLint rule are new conformance machinery. Implementation cost is bounded (follows the exact pattern of `publishes`/`consumes` + `no-undeclared-event-publish`). +- Reader interfaces can grow organically in ways that are hard to audit. Mitigated by the "one reader per feature, grown on demand" rule and the principle that a bloated reader signals a fat vertical. + +## Implementation notes + +- **Generator:** A `pnpm turbo gen reader` generator should be added to scaffold the `integrations/readers/` structure, add the `./reader` export to `package.json`, and create the interface + implementation + test files. Not required for day one — hand-authoring the first reader is acceptable while the pattern stabilizes. +- **Existing features:** None of the five template features (auth, blog, media, marketing-pages, navigation) currently need readers. The first reader will be created when a product vertical requires a cross-feature domain query. Auth is the most likely candidate (`IAuthReader` for permission checks). +- **`BindContext` is unchanged.** Readers flow as binder-to-binder parameters (via `bindAll()`), not through `ctx`. This keeps `BindContext` focused on infrastructure concerns. +- **Payload `relationTo` continues unchanged.** Readers supplement it, they don't replace it. Use `relationTo` for raw data joins; use readers for domain-evaluated queries. + +## Out of scope (deferred) + +1. **ESLint rule `no-undeclared-reader`.** Follows the `no-undeclared-event-publish` pattern. Deferred until the first reader is exercised. +2. **Contract evolution / versioning for readers.** Same as event contracts (ADR-015 §deferred-3) — no migration story for breaking reader interface changes yet. + +## Planned + +1. **`pnpm turbo gen reader` generator.** Will scaffold `integrations/readers/` + `./reader` export subpath + interface + implementation + test. Follows the `gen event` Plop pattern with anchor protocol. + +## Related + +- ADR-006 — Vertical feature packages (the isolation model readers operate within) +- ADR-008 — Per-feature DI containers (reader wiring uses the same container model) +- ADR-010 — Turborepo boundaries (feature → feature type imports are allowed; reader contracts are type-only) +- ADR-015 — Cross-feature events and background jobs (readers complement events; rules Q0–Q3 parallel E0/E1/J0) diff --git a/docs/glossary.md b/docs/glossary.md new file mode 100644 index 0000000..5852324 --- /dev/null +++ b/docs/glossary.md @@ -0,0 +1,449 @@ +# Glossary + +Canonical vocabulary for `template-vertical`. Shared by humans and AI agents — every term means **the same thing** here. Terms specific to this repo's domain (monorepo / Clean Architecture / agent-first workflow / conformance). General programming concepts (DI, retries, errors, etc.) don't belong unless they have a project-specific meaning. + +**Rules:** + +- One sentence per definition. Define what it **is**, not what it does. +- Pick one canonical term; list aliases under `_Avoid:_`. +- Relationships expressed with bold term names + cardinality. +- Flag ambiguities under "Flagged ambiguities" with a resolution. +- Reference ADRs by ID (`ADR-NNN`); reference paths sparingly (they rot fast). + +--- + +## Packages + +**Package**: +A workspace member under `packages/` or `apps/` with its own `package.json` and tag. The atomic unit of dependency, build, and boundary enforcement. +_Avoid:_ module, library, app (unless specifically `apps/`). + +**Tag**: +The boundary classification on a package (`app`, `core`, `core-composition`, `feature`, `tooling`). Enforced by ESLint (`eslint-plugin-boundaries`) and Turborepo `boundaries`. See `AGENTS.md` → Boundary Rules. + +**Feature** (a.k.a. **feature package**): +A vertical slice owning its Clean Architecture layers + integrations under `packages//`. Currently: `auth`. **In architecture-refactor conversations (the `improve-codebase-architecture` skill), "module" defaults to "feature" — they're the same unit at the highest level of granularity.** +_Avoid:_ domain, vertical (use "feature" or "vertical feature"). "Module" is acceptable inside the refactor skill specifically, where it abstractly covers "anything with interface + implementation" at any scale (use case, controller, repository port, or full feature). + +**Must-have core**: +A core package the template can't run without — `core-shared`, `core-cms`, `core-api`. +_Avoid:_ baseline core, base core. + +**Optional core**: +A core package scaffolded on demand via `pnpm turbo gen core-package ` — `core-realtime`, `core-events`, `core-trpc`, `core-ui`, `core-audit`. See `docs/architecture/template-tiers.md`. + +**Core-composition**: +A tag for packages that compose feature exports — `core-api`, `core-cms`, `core-trpc`. The only packages allowed to import from `@repo//api` or `@repo//cms` subpaths. + +**Tooling package**: +A package providing build/lint/test infrastructure — `core-eslint`, `core-typescript`, `core-testing`. May only depend on other tooling. + +**App**: +A runtime entry point under `apps/` — `web-next`, `cms`, `storybook`. + +## Clean Architecture layers (per feature) + +**Entities layer** (`packages//src/entities/`): +Domain models (`models/.ts`) and domain errors (`errors/.ts` + `errors/common.ts`). No I/O. + +**Application layer** (`packages//src/application/`): +**Use cases**. Pure orchestration over repository + service ports. + +**Infrastructure layer** (`packages//src/infrastructure/`): +**Repository** and **service** implementations (real Payload-backed + mock). + +**Interface-adapters layer** (`packages//src/interface-adapters/`): +**Controllers** — one per use case. Translate `unknown` input → use-case input via Zod `safeParse`; thread the output through a `presenter`. + +**Integrations layer** (`packages//src/integrations/`): +Vendor-specific glue — `integrations/api/` (tRPC routers), `integrations/cms/` (Payload collections + tasks). + +**DI folder** (`packages//src/di/`): +**Container**, **symbols**, and the two **binders**. The wiring layer. + +## Feature building blocks + +**Use case**: +A single business action expressed as a factory: `(deps) => async (input) => output`. Always paired with a Zod `xInputSchema` + (non-void) `xOutputSchema` co-located in the same file. Exports the type alias `I*UseCase = ReturnType`. +_Avoid:_ command, action, service method. + +**Controller**: +The thin adapter from `unknown` input to a use case. One per use case. Co-located top-level `function presenter` for non-void outputs. +_Avoid:_ multi-method controller (forbidden — one verb-noun per file). + +**Repository**: +A port for collection-style entity access. Lives in `infrastructure/.repository.{ts,mock.ts,interface.ts}`. Real impls drop the `payload-` prefix; mocks use the `.mock.ts` suffix. + +**Service**: +A port for non-collection capabilities (auth, mailer, etc.). Same `.ts` / `.mock.ts` / `.interface.ts` triad as repositories. + +**Manifest** (`feature.manifest.ts`): +The per-feature contract declaring `useCases`, `audits`, `publishes`, `consumes`, `requiredCores`, and (when applicable) `requiresConsent: ConsentCategory[]`. Source of truth for the conformance system. Always edited **before** code (manifest-first ordering). + +**Symbol**: +A DI token in `packages//src/di/symbols.ts`. Used by Inversify to identify a binding. + +**Binder**: +A function that registers DI bindings — `bindProductionX(ctx)` (real Payload) or `bindDevSeedX(ctx)` (populated mock). Lives at `src/di/bind-production.ts` and `src/di/bind-dev-seed.ts`. Self-asserts conformance at its tail via `assertFeatureConformance(...)`. + +**`bindAll()`**: +The app-level DI dispatcher (e.g. `apps/web-next/src/server/bind-production.ts`). Picks each feature's binder by env (`USE_DEV_SEED`, `NODE_ENV`) and threads a single shared `ctx` through them. Idempotent. + +**`ctx`** (a.k.a. **bind context**): +The object passed to every binder. Required fields: `tracer`, `logger`, plus `config` for production. Optional fields: `bus`, `queue`, `realtime`, `realtimeRegistry` (only when the corresponding optional cores are scaffolded). + +**Dev-seed**: +The populated in-memory mock mode. Lives in `src/__seeds__/dev.ts` per feature, exported as a lazy `buildDev()` function. Selected by `USE_DEV_SEED=true` or by default when not in production. + +**Public surface**: +A feature's allowed import surface — `.` (contracts: types, errors, schemas, `I*UseCase` aliases, router type), `./ui` (queries, components), `./cms`, `./api`, `./di/bind-production`, `./di/bind-dev-seed`. No deep source paths exist in `exports` maps. + +**Anchor**: +A `// ` comment marking where a generator injects code (e.g. ``, ``, ``). A CI guard at `packages/core-eslint/anchors.test.js` keeps them present. + +## Architecture refactor vocabulary + +Terms used by the `improve-codebase-architecture` skill (`.claude/skills/improve-codebase-architecture/`) when proposing refactors. Distinct from the everyday domain terms above — these are abstractions for reasoning about shape. Both vocabularies are in scope during refactor conversations. + +**Module** (refactor sense, **= feature by default**): +The abstract unit a refactor operates on: anything with an interface + implementation. In this repo, **"module" almost always means "feature"** (`packages//`) since that's our primary unit of organization. At narrower scales it also covers a use case, controller, repository/service port, or binder. Don't introduce "module" as a competing top-level term in domain conversations — the refactor skill is the only place this abstraction is appropriate. +_Avoid:_ using "module" outside the refactor skill (say "feature", "use case", "controller", "package" as appropriate). + +**Interface** (refactor sense): +Everything a caller must know to use a module — type signatures, invariants, ordering, error modes, Zod schemas, manifest declarations, DI symbol contract. Strictly broader than the TS `interface` keyword. + +**Implementation**: +What's inside a module. Distinct from **adapter**: an adapter is a _role_ (fills a slot at a seam); an implementation is the _substance_ (the code itself). + +**Depth**: +Leverage at the interface — behaviour per unit of interface a caller must learn. A **deep module** packs a lot of behaviour behind a small interface; a **shallow module** has an interface nearly as complex as its body. Pure factory-function use cases are usually deep; one-line wrappers and `(x) => x` presenters are usually shallow. + +**Seam** _(from Michael Feathers)_: +A place where behaviour can be altered without editing in place — the _location_ of a module's interface. Concrete seams in this repo: `*.interface.ts` files, DI symbols (`*_SYMBOLS.IX*`), `feature.manifest.ts` entries, `// ` anchors, the protocol types in `core-shared/di/bind-protocols.ts`. +_Avoid:_ "boundary" — that term is reserved in this repo for ESLint workspace-tag rules (`feature` may depend on `core` + `tooling` only). + +**Adapter**: +A concrete thing satisfying an interface at a seam. In this repo a typical port has two or three adapters: real (`.repository.ts`), mock (`.repository.mock.ts`), and sometimes recording (`Recording*` test doubles in `core-testing`). + +**Leverage**: +What callers get from depth — more capability per unit of interface they must learn. + +**Locality**: +What maintainers get from depth — change, bugs, knowledge, and verification concentrate in one place rather than spreading across callers. + +**Deletion test**: +Imagine deleting a module: if complexity vanishes, it was a pass-through; if complexity reappears across N callers, it was earning its keep. The signal for "this module is shallow" is when deletion _just moves_ the complexity rather than reducing it. + +**Deepening**: +A refactor that turns shallow modules into deeper ones — merging pass-throughs into the modules that justified them, exposing a smaller interface, or relocating the seam to a more useful place. Subject to the hard constraints in the skill's `SKILL.md` (no ADR violations, no boundary breaks, no manifest drift). + +## Conformance system + +**Conformance**: +The 5-gate enforcement chain that keeps a feature's manifest and code in sync. Layers: + +1. **TypeScript brands** (0s) — `Instrumented`, `Captured`, `Audited` on every wired use case / controller. +2. **ESLint conformance rules** (<1s) — five custom rules in `core-eslint`. +3. **Boot assertion** (~3s) — `assertFeatureConformance(...)` at the tail of every binder. +4. **CI drift gate** (`pnpm conformance`, ~120s) — cross-feature event closure. +5. **Fallow** (`pnpm fallow`, ~30–60s) — whole-codebase dead exports / dupes / complexity / AI-change audit. + +**Brand**: +A TypeScript phantom type attached to a wired use case / controller — `Instrumented` (after `withSpan`), `Captured` (after `withCapture`), `Audited` (after `withAudit`). Enforces the wrapper composition at bind time. + +**Manifest-first ordering**: +The non-negotiable authoring order for any new use case: **(1) manifest entry → (2) contracts (`xInputSchema`, `xOutputSchema`, `IXUseCase`) → (3) tests (red) → (4) implementation (green)**. The generator scaffolds (1)+(2)+test stubs so new features are conformance-compliant by default. + +**Fallow**: +The whole-codebase auditor (`pnpm fallow`) — dead exports, unused files, duplicate code, circular deps, complexity hotspots, AI-change audit drift. The fifth conformance gate. Run `pnpm fallow:audit` before commits. + +**Drift**: +Any disagreement between a feature's manifest and its code. The conformance gates are designed to catch drift at the earliest possible latency. + +## Coverage + +**Coverage band**: +The per-path threshold declared in `feature.manifest.ts` under `coverage.bands` — one entry per Clean Architecture layer (`entities`, `use-cases`, `controllers`) plus a `baseline` for everything else. Single source of truth read by vitest, `assertFeatureConformance`, and `pnpm coverage:diff`. See ADR-020. + +**L0 / L1 / L2 / L3**: +The four coverage layers (ADR-020). **L0** = vitest per-layer thresholds (test-time). **L1** = `pnpm coverage:diff` cover-the-diff gate (post-test, CI + dispatch loop). **L2** = `pnpm coverage:aggregate` → committed `coverage/summary.json` (observability). **L3** = `pnpm mutate` Stryker mutation testing on entities + use-cases (on-demand, not default). + +**Diff coverage**: +The gate that asserts every changed _executable_ line has execution count > 0 in the merged lcov. Cover-the-diff (modified + new lines both count), not cover-the-new-code. Run via `pnpm coverage:diff []`. +_Avoid:_ patch coverage, delta coverage (use "diff coverage" canonically). + +**Mutation testing**: +A test-quality signal that mutates source code and re-runs tests; surviving mutants mean the test exists + executes the code but doesn't actually assert behavior. Scoped to `entities/` + `application/use-cases/` per feature. Run via `pnpm mutate [--filter @repo/]`. + +**Mutation score**: +The percentage of mutants killed (i.e., caught by tests) out of all mutants generated. Per-feature threshold defaults to 80% (overridable in `feature.manifest.ts` via `coverage.mutationThreshold`). + +**`coverage/summary.json`**: +The aggregated per-package + repo-level coverage snapshot, committed on merge to main. Grep-able from git history via `git log -- coverage/summary.json`. Includes timestamp + commit SHA for correlation with deploys. + +## Releasing + +**Conventional Commits**: +The commit-message spec mandated by this template — `(): `. Types: `feat | fix | docs | style | refactor | test | chore | perf | ci | build | revert`. `!` for breaking changes. See CLAUDE.md Key Conventions. + +**release-please**: +The Google-maintained automation that reads Conventional Commits, derives semver bumps, and opens a rolling release PR with version bumps + per-package CHANGELOG entries on every push to main. Configured in `release-please-config.json` + `.release-please-manifest.json`. ADR-021. + +**Hybrid versioning**: +The template's versioning strategy (ADR-021) — root template (`template-vertical`) + 1 feature package (`@repo/auth`) version independently from `0.1.0`. Core packages, tooling, and apps are NOT versioned (cascade-effect would invalidate the signal). + +**Tag prefix**: +The per-package prefix release-please uses to avoid tag collisions in a monorepo — `template-v0.1.0` for the root, `auth-v0.1.0` / etc. for features. + +**Rolling release PR**: +The single PR release-please keeps open on `main` and updates idempotently on every push. Contains all pending version bumps + changelog entries since the last release. Merging it cuts the tags + GitHub releases. + +**Bump targeting (by commit-path)**: +How release-please decides which tracked package(s) a commit bumps — by the **files changed**, not the conventional-commit `(scope)`. A commit touching `packages/auth/**` bumps `@repo/auth`; a commit touching `docs/**` or `scripts/**` bumps the root template; a commit touching both bumps both. + +**Pre-1.0 bump policy**: +While each tracked package is `<1.0.0`: `feat:` bumps patch, `feat!:` bumps minor (NOT major). Configured via `bump-patch-for-minor-pre-major: true`. Once a package crosses 1.0.0, standard semver kicks in. + +**`Release-As:` trailer**: +A commit-body trailer (`Release-As: 0.5.0`) that overrides release-please's auto-derived bump for the package(s) whose paths the commit touches. Used for manual semver corrections or explicitly crossing 1.0.0. + +**CHANGELOG.md**: +A per-package, release-please-managed changelog (one at repo root for the template; one at `packages//CHANGELOG.md` for each feature). Do not edit manually — release-please regenerates from commit history. + +**SBOM** (Software Bill of Materials): +A machine-readable inventory of all direct and transitive package dependencies attached as a JSON file to each GitHub release. Generated in CycloneDX JSON format via `@cyclonedx/cyclonedx-npm` in the `release-please.yml` CI workflow (runs only when a release is actually cut). Named `sbom-.cdx.json` and uploaded as a GitHub release asset. Enables downstream supply-chain scanning and NTIA minimum-elements compliance. Not committed to the repository. +_Avoid:_ confusing SBOM (a release asset produced by CI) with library traces (developer-authored, per-decision records in `docs/library-decisions/`). + +## Cross-feature mechanisms + +**Event bus** (`IEventBus`): +The vendor-neutral cross-feature pub/sub interface in `@repo/core-events`. Two implementations: `InMemoryEventBus` (dev/test, synchronous) and `PayloadJobsEventBus` (production, durable via Payload tasks). Selected by `bindAll()`. See ADR-015. +_Use when:_ feature A's success must trigger feature B's reaction. **Don't use for in-feature flow control** — that's a direct use-case call (rule E0). + +**Event descriptor**: +A `defineEvent(...)` declaration with a `name` (wire format) + Zod payload schema. Lives at `packages//src/events/.event.ts`. Publishers re-export from the feature root; consumers do **not**. + +**Event handler**: +A consumer's reaction to a published event. Lives at `packages//src/events/handlers/on--.handler.ts`. **Always private** — never re-exported (rule E1, enforced by `no-handler-reexport`). + +**Job queue** (`IJobQueue`): +The vendor-neutral deferred-work interface in `@repo/core-shared/jobs/`. Two implementations: `InMemoryJobQueue` (dev/test, `setImmediate`) and `PayloadJobQueue` (production). Feature packages enqueue via `IJobQueue` only — direct `payload.jobs.queue()` is ESLint-blocked (rule J0). + +**Realtime channel descriptor**: +A `defineRealtimeChannel(...)` declaration in `packages//src/realtime/.channel.ts`. Re-exported from the feature root. Carries a Zod payload schema + a **scope**. + +**Channel scope**: +A channel's subscription rule — `public` | `authenticated` | `role:` | `user-scoped`. See ADR-016. + +**Broadcaster** (`IRealtimeBroadcaster`): +The server-side push interface in `@repo/core-realtime`. Use cases call `broadcaster.broadcast(channel, payload)` after the success path. + +**Realtime handler**: +A consumer's reaction to an inbound client message on a channel. Lives at `packages//src/realtime/handlers/*.handler.ts`. **Always private** — never re-exported (rule R1, enforced by `no-realtime-handler-reexport`). + +**Reader** (`IReader`): +A synchronous, read-only cross-feature query contract. Exported by the owning feature from `./reader` subpath; implementation is private. Wraps the feature's existing use cases (only those declared `mutates: false`). Lives at `packages//src/integrations/readers/`. +_Use when:_ you need another vertical's **domain-evaluated** answer on the request path (e.g., "does this user have the editor role?"). **Don't use for raw data lookups** — that's Payload `relationTo`. **Don't use for side effects** — that's the event bus (rule Q2). +_Avoid:_ confusing readers with repositories (repositories are inward-facing data access; readers are outward-facing domain query contracts). + +**`reads`** (manifest field): +Per-use-case array of feature names whose readers this use case depends on. Example: `reads: ["auth"]`. Parallel to `publishes`/`consumes` for events. Verified by `assertFeatureConformance` at boot and `no-undeclared-reader` ESLint rule at lint time. + +**`ReadOnly`** (brand): +A TypeScript phantom type applied to use cases declared `mutates: false`. Readers only accept `ReadOnly`-branded use cases in their constructor — prevents mutating use cases from being wired into a reader at compile time. Verified at boot by `assertReaderPurity`. + +**Audit log**: +A DPA-compliant record of a use case's side effects. Emitted via `auditLog.record(...)`; declared in the manifest's `audits:` array. See ADR-018. + +## Instrumentation + +**Tracer** (`ITracer`): +The span interface in `@repo/core-shared/instrumentation/`. Three impls: `NoopTracer`, `OtelTracer`, `RecordingTracer` (test-only, from `core-testing`). + +**Logger** (`ILogger`): +The capture interface. Same three-impl shape as `ITracer`. Used for exception reporting and structured logs. + +**Metrics** (`IMetrics`): +The counter/gauge/histogram interface. Same three-impl shape. + +**Analytics** (`IAnalytics`): +The product-analytics interface, lives in `@repo/core-analytics` (optional core, scaffolded via `pnpm turbo gen core-package analytics`). Three methods: `track(event, properties?, user?)`, `identify(user)`, `pageView(path, properties?)`. Same three-impl shape as `ITracer`/`ILogger`/`IMetrics`. Used for funnel/cohort/retention analysis; structurally distinct from `IAuditLog` (which is compliance-driven) and from `IEventBus` (which is cross-feature action routing). Server-only by manifest gate; consumer wires React provider for client-side via `@repo/core-analytics/react`. +_Avoid:_ confusing analytics events with cross-feature events (bus) or audit events (compliance) — they're three orthogonal capture channels. + +**`withSpan`** / **`withCapture`** / **`withAudit`** / **`withAnalytics`** / **`withConsent`** / **`withRateLimit`**: +The six wrapper composers applied at DI bind time. Composition is nested with `withSpan` outermost; each layer attaches a brand: `withSpan` → `Instrumented`, `withCapture` → `Captured`, `withAudit` → `Audited` (when manifest declares `audits`), `withAnalytics` → `Analyzed` (when manifest declares `analyticsEvents`), `withConsent` → `ConsentChecked` (when manifest declares `requiresConsent`), `withRateLimit` → `RateLimited` (when manifest declares `rateLimit`). See ADR-025 for the compliance-baseline channels. + +**SubjectLink**: +A field-level declaration in a Payload collection's `custom.subject` array that maps a relationship field to a data subject. Carries `field` (Payload field name), `kind` (`"self"` | `"owner"` | `"reference"`), optional `target` (auth-collection slug), and optional `role` (semantic label). The DSR cascade walks these at runtime to determine which rows to include in Art. 15 exports and which rows to erase or redact on Art. 17 requests. See `docs/compliance/subject-linkage.example.md`. +_Avoid:_ confusing `kind: "self"` (the subject's own account row) with `kind: "owner"` (rows the subject authored/owns) — both are treated as owned data for DSR purposes, but `"self"` targets the auth-collection record itself. + +**DeletionCertificate**: +The immutable proof-of-erasure record returned by `IDataDelete.deleteSubjectData(subjectId, mode)`. Carries `subjectId` (or `"erased-{hash}"` after the ID itself is purged), `mode` (`"soft"` | `"cascade-hard"`), `timestamp` (ISO 8601), `reason`, `affected` (per-collection summary of `collection`, `rowsAffected`, `action`, and `fields` NULLed), and `auditEntryId` linking to the immutable audit log entry. GDPR Art. 17 compliance artifact — store permanently, never mutate. See `docs/guides/dsr.md`. +_Avoid:_ generating a `DeletionCertificate` manually — it is emitted only by the production `IDataDelete` implementation to ensure correctness. + +**DSR** (`@repo/core-dsr`): +The Data Subject Rights handler — optional core package providing four interfaces that operate on user data in response to GDPR Arts. 15–18 requests. `IDataExport` (Art. 15 access + Art. 20 portability), `IDataDelete` (Art. 17 erasure cascade), `IDataRectify` (Art. 16), `IProcessingRestriction` (Art. 18). Sibling to `core-audit` — audit _records_ access, DSR _acts_ on the underlying data. Walks Payload collections at runtime using field-level `custom.pii` tags. See ADR-025. +_Avoid:_ confusing DSR with audit; audit is the immutable journal, DSR is the mutator. + +**Consent** (`@repo/core-consent`): +The runtime gate for granular consent categories (essential/functional/analytics/marketing). Optional core package providing `IConsent` interface (`isGranted`/`grant`/`withdraw`/`getCategories`) + `ConsentChecked` brand + `requiresConsent: [...]` manifest field + `no-undeclared-consent-check` ESLint rule. Cookie banner UI ships as atomic component in `core-ui`. See ADR-025. + +**UserConsentState**: +A per-category consent record returned by `IConsent.getCategories()`. Carries `category` (`ConsentCategory`), `state` (`"granted"` | `"denied"` | `"pending"`), optional `grantedAt` and `withdrawnAt` ISO 8601 timestamps, `bannerVersion`, `policyVersion`, and `method` (how the category was consented — e.g., `"banner-accept"`, `"signup-migration"`). The element type of the `getCategories()` return value; used for compliance audits and cookie-versioning migration-on-read logic. + +**ConsentChecked**: +The phantom-type brand `ConsentChecked` attached by `withConsent(consent, factory(deps))` at DI bind time. Signals that the wrapped use case's `requiresConsent` categories will be checked before execution. TypeScript rejects binding an unwrapped factory to a `ConsentChecked`-typed DI symbol when the manifest declares `requiresConsent`. The boot assertion (`assertFeatureConformance`) verifies the brand is present at runtime. See `withConsent` in `@repo/core-consent`. +_Avoid:_ applying `withConsent` in test files — tests inject mocks directly into the factory and do not go through the DI wrappers. + +**Rate-limit** (`core-shared/rate-limit`): +Fourth conformance channel after audit/analytics/consent. `IRateLimit` interface (`consume`/`reset`) + `withRateLimit` wrapper + `RateLimited` brand + `rateLimit: { window, budget }` manifest field. Default budgets in manifest, runtime overrides via `ctx.rateLimit` config. Consumer wires Redis/Upstash impl. See ADR-025. + +**`IRateLimit`**: +The vendor-neutral rate-limit interface in `@repo/core-shared/rate-limit/`. Two methods: `consume(budgetName, key, weight?)` → `RateLimitDecision` (fields: `allowed: boolean`, `remaining: number`, `resetAt: Date`) and `reset(budgetName, key)`. Two implementations: `InMemoryRateLimit` (dev/test) and a consumer-wired production backend (Redis/Upstash). Feature packages receive it via `ctx.rateLimit` at DI bind time; declared in the manifest's `rateLimit` field. + +**`RateLimited`**: +The phantom-type brand `RateLimited` attached by `withRateLimit(rateLimit, fn)` at DI bind time. Signals that the wrapped use case's declared `RateLimitBudget[]` entries will be enforced before execution. TypeScript rejects binding an unwrapped factory to a `RateLimited`-typed DI symbol when the manifest declares `rateLimit`. The boot assertion verifies the brand at runtime. +_Avoid:_ applying `withRateLimit` in test files — tests inject mocks directly and do not go through the DI wrappers. + +**`withRateLimit`**: +The wrapper composer that attaches the `RateLimited` brand at DI bind time. Signature: `withRateLimit(rateLimit: IRateLimit, fn)`. Part of the six-wrapper composition chain — see the combined `withSpan / withCapture / …` entry above. Outermost position is `withSpan`; `withRateLimit` sits between `withAnalytics` and the inner factory. + +**PII inventory**: +Personal-data declaration at the Payload field level via `custom.pii = { category, purpose, retention, exportable, restrictable }`. Generator emits `compliance/data-map.yml`. DSR cascade walks this at runtime. See ADR-025. + +**Retention policy**: +Per-Payload-collection retention via `custom.retention = { activeRetention, postDeletion, purgeSchedule, hardDeleteAfter }`. Generator emits `compliance/retention-policy.yml`. Background purge job in `core-shared/jobs` reads this at boot. Per-PII-field retention overrides apply (more-specific wins). See ADR-025. + +**Sub-processor**: +External service that processes personal data on behalf of the controller (Stripe, SendGrid, PostHog, etc.). Declared via extended ADR-022 library traces — `docs/library-decisions/-.md` frontmatter gains `is-sub-processor`, `processes-pii`, `data-sent`, `region`, `dpa-signed`, `sccs-required`, `contact` fields. Generator emits `compliance/sub-processors.yml` from traces filtered to `is-sub-processor: true`. See ADR-025. + +**`docs/compliance/` vs `compliance/`**: +Split locations for compliance artifacts. `docs/compliance/` (template-shipped) holds FILL-IN TEMPLATES (`.template.md` runbooks, `.example.yml` references). Root `compliance/` (consumer-created) holds LIVE ARTIFACTS (`data-map.yml`, `retention-policy.yml`, `sub-processors.yml` from generators + consumer-authored filled runbooks). Audit evidence lives in `compliance/`. See ADR-025. + +**Fill-in template**: +A `.template.md` file under `docs/compliance/templates/` containing placeholder markers (`[FILL IN:]`) that a project team copies to `compliance/` and completes with project-specific values before launch. + +**`[FILL IN:] marker`**: +The literal string `[FILL IN:]` used in fill-in templates to mark every placeholder that requires a project-specific value; machine-detectable via `grep -rn '\[FILL IN:' compliance/` to audit completion status. + +**Pre-launch compliance checklist**: +The operational checklist at `docs/guides/pre-launch-compliance-checklist.md` enumerating the GDPR and security controls that must be verified before going live with a production workload — covers data mapping, retention policy, DSR readiness, consent UI, sub-processor contracts, and security headers. + +**Compliance overview**: +The hub document at `docs/guides/compliance-overview.md` that maps the full GDPR compliance surface of the template — explains where each artifact lives, which generator or guide produces it, and how the pieces connect (PII inventory, retention, DSR, audit, consent, sub-processors, policy templates, and the pre-launch checklist). + +**Span**: +A traced unit of work. Emitted by `tracer.startSpan(...)` (inline in repos) or `withSpan(...)` (composed for use cases + controllers). + +**Capture**: +The act of recording an exception once. Guarded by the non-enumerable `__sentryReported` flag so a bubbled error surfaces exactly once. + +**PII scrub**: +The server-side scrubbing of email/passwords/tokens/cookies/auth/IPs at the OTel processor layer (`PiiScrubSpanProcessor` + `PiiScrubLogRecordProcessor`) before any exporter sees the data. `sendDefaultPii: false` everywhere, CI grep-enforced. See ADR-017 §7. + +**Rule 0**: +The `bindAll()` decision that selects OTel+Sentry instrumentation when a DSN env var is present, otherwise the Noop chain. Orthogonal to `USE_DEV_SEED` / `NODE_ENV` (those control repo bindings, not instrumentation). + +## Security + +**`SecurityHeadersConfig`**: +The TypeScript type accepted by `buildSecurityHeaders()`. Fields: `mode` (`"prod"` | `"dev"`), optional `nonce` (per-request CSP nonce string), and optional allowlist arrays `allowedConnectOrigins`, `allowedImgOrigins`, `allowedFontOrigins` (absolute URLs). Lives at `@repo/core-shared/security`. + +**`buildSecurityHeaders()`**: +The pure function in `@repo/core-shared/security` that accepts a `SecurityHeadersConfig` and returns a `Record` of HTTP security headers: `Strict-Transport-Security`, `X-Frame-Options`, `X-Content-Type-Options`, `Referrer-Policy`, `Permissions-Policy`, and `Content-Security-Policy`. In `"prod"` mode the CSP uses `strict-dynamic` + nonce; in `"dev"` mode it relaxes to `unsafe-inline`/`unsafe-eval` to allow HMR tooling. + +**`nonce`** (CSP context): +A per-request cryptographically random token (typically 16+ bytes, base64-encoded) threaded into the `Content-Security-Policy` header's `script-src` directive as `'nonce-'`. Required when using `strict-dynamic` CSP to permit specific server-rendered inline `