Tom Boucher
34bc096ec2
feat( #1451 ): wire gsd capability install/update/remove/list/disable/enable management CLI ( #1457 )
...
* feat(#1451 ): wire gsd capability install/update/remove/list/disable/enable CLI
ADR-1244 D5/D6: the management command was built as a library (capability-lifecycle.cjs
install/upgrade/remove + capability-ledger.cjs) across Phases 3-5 but never wired to a
user-facing command — gsd-tools.cjs 'capability' only handled state/set. This adds the
six subcommands, dispatching to the existing lifecycle/ledger:
- install <spec> [--integrity] [--scope global|project] [--yes] [--shared-file <rel>]…
- update [<id>|--all] [--scope] [--yes] [--shared-file] (re-resolves recorded source)
- remove <id> [--purge-data] [--scope] (first-party rejected)
- list [--json] (first-party + overlay, both scopes, JSON array)
- disable|enable <id> (activation-state alias of capability set --off/--on)
Scope→runtimeDir mapping matches capability-loader exactly (global=$GSD_HOME||home,
project=project root; caps at <root>/.gsd/capabilities/<id>, ledger at <root>/.gsd-capabilities.json).
Consent is non-interactive: --yes grants; without it an executable install aborts after
printing the disclosure and writes nothing. Best-effort reconcile before each mutation.
Tests: tests/capability-cli.test.cjs (20 behavioral, real resolver via local specs,
GSD_HOME-sandboxed) — install consent/block/usage matrix, list, update round-trip,
remove round-trip + first-party guard, disable/enable, unknown subcommand.
Docs: docs/reference/gsd-capability-command.md reconciled to the real surface
(ledger paths, --shared-file, consent model, disable mechanism, outdated marked planned);
docs/COMMANDS.md gains the gsd capability entry.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
* fix(#1451 ): resolve adversarial-review findings + root-cause the --raw silent-output bug
Adversarial-review (Codex) fixes:
- capReadStrict passes a malformed strict_known_registries value THROUGH so the trust gate
fail-closes on it (was silently downgrading to permissive)
- installCapability/upgradeCapability gain an expectedId guard + first-party-id rejection
(capability-lifecycle.cts): an overlay can't shadow a first-party id, and 'update <id>' can't
act on a different id if the recorded source was retargeted
- capability update: prints the consent disclosure, exits non-zero on --all partial failure,
no longer masks the resolved id
- capability remove: ledger-first ordering so an overlay is removable even if it shadows a
first-party name; first-party guard only fires for ids not in the ledger
- gsd-capability-command.md: disable/enable doc corrected (registry-known ids; overlay toggle
not yet wired through this path)
Silent-output bug (root cause, not waved off as pre-existing):
- captureStdoutSyncWrites buffered fd-1 output and DISCARDED it on the throw path — any --raw
command that emitted a result/error envelope then threw (to set a non-zero exit) lost ALL of
stdout. Now it flushes the captured buffer before re-throwing (exit code preserved).
- cmdCapabilitySet threw via process.exit() (bypassing the capture wrapper entirely); now throws
ExitError so the wrapper flushes — matches the repo's no-process-exit architecture.
- Regression test: capability disable <unknown> --raw must emit the JSON error envelope on stdout.
Verified: capability suite 165/165, @file/json-errors/phase 183/183, lint clean.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
* fix(#1451 ): address adversarial-review R2 — shared-file confinement, MCP no-clobber, config fail-closed
- confinedSharedFile(): realpath-confine every shared-config write/strip to the scope root (mirrors
safeRmUnder), so a --shared-file whose parent is a symlink escaping the scope can't write outside it.
- mcpServers shared edits: never overwrite an UNOWNED entry — a name collision with the user's (or
another capability's) server is skipped, so install/remove can't silently clobber user MCP config
(hooks already append; the map-keyed mcpServers path was the gap).
- capReadStrict: a PRESENT-but-unparseable .planning/config.json now fails CLOSED (lockdown) instead
of silently downgrading the strict_known_registries policy to permissive.
- Tests: symlink-escape shared-file writes nothing outside scope; colliding user mcpServers entry
preserved; unparseable config blocks an external install. capability suite 83/83, lint clean.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
* fix(#1451 ): address code-review — aborted-status robustness + coverage + project-scoped strict doc
- install/update: handle an 'aborted' result independently of the requiresConsent flag so it can never
fall through to the generic 'blocked: unknown reason' arm (aborted always means consent-needed per
the lifecycle contract; latent today, hardened for future status additions).
- Clarify capResolveScope comment (project scope === already-resolved cwd) and document that
strict_known_registries is a PROJECT-scoped policy (read regardless of --scope; no machine-wide
allowlist) in gsd-capability-command.md.
- Tests: update --all over an empty ledger returns an empty result set (exit 0); a flag value that
looks like another flag (--integrity --scope) is rejected, not swallowed. CLI suite 33/33, lint clean.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
* docs(#1451 ): FEATURES.md entry #147 + Added/Fixed changesets for the capability CLI
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
* chore(#1451 ): backfill changeset PR number → #1457
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 12:02:36 -04:00
..
2026-06-06 11:24:48 -04:00
2026-06-13 23:35:08 -04:00
2026-06-14 09:37:41 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-15 23:21:20 -04:00
2026-06-14 00:00:37 -04:00
2026-06-01 22:43:49 -04:00
2026-06-02 18:35:29 -04:00
2026-06-11 16:37:17 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-17 08:52:23 -04:00
2026-06-13 21:07:55 -04:00
2026-06-13 21:07:55 -04:00
2026-06-13 21:07:55 -04:00
2026-06-14 15:52:22 -04:00
2026-06-14 20:52:36 -04:00
2026-06-14 10:45:42 -04:00
2026-06-14 17:16:19 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-17 13:45:05 -04:00
2026-06-13 23:35:08 -04:00
2026-06-13 11:28:05 -04:00
2026-06-10 10:44:20 -04:00
2026-06-15 15:46:41 -04:00
2026-06-11 20:50:08 -04:00
2026-05-30 17:25:02 -04:00
2026-06-16 14:19:08 -04:00
2026-06-12 09:58:44 -04:00
2026-04-25 10:50:54 -04:00
2026-06-18 07:44:52 -04:00
2026-06-12 19:51:54 -04:00
2026-06-11 23:59:56 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-10 08:34:49 -04:00
2026-06-02 18:35:29 -04:00
2026-04-04 14:29:03 -04:00
2026-04-25 10:50:54 -04:00
2026-06-10 16:10:07 -04:00
2026-06-10 16:10:07 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-11 08:31:35 -04:00
2026-06-15 18:11:20 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-27 20:22:09 -04:00
2026-06-13 01:49:25 -04:00
2026-05-24 14:37:10 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-01 21:42:08 -04:00
2026-06-01 22:31:37 -04:00
2026-06-11 11:36:39 -04:00
2026-06-02 18:35:29 -04:00
2026-06-17 08:50:28 -04:00
2026-06-01 22:43:49 -04:00
2026-05-26 12:08:53 -04:00
2026-06-02 18:35:29 -04:00
2026-05-27 23:14:43 -04:00
2026-06-14 16:03:26 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-01 22:43:49 -04:00
2026-05-29 17:12:50 -04:00
2026-06-02 18:35:29 -04:00
2026-06-18 21:59:10 -04:00
2026-06-06 11:24:48 -04:00
2026-06-15 18:11:20 -04:00
2026-06-02 18:35:29 -04:00
2026-05-30 12:00:58 -04:00
2026-06-11 22:37:55 -04:00
2026-05-30 19:19:14 -04:00
2026-05-31 22:05:59 -04:00
2026-05-31 22:05:45 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-03 08:08:34 -04:00
2026-06-13 21:07:55 -04:00
2026-06-05 09:26:29 -04:00
2026-06-03 08:07:16 -04:00
2026-06-05 08:57:20 -04:00
2026-06-16 08:38:55 -04:00
2026-06-04 08:54:15 -04:00
2026-06-05 10:35:22 -04:00
2026-06-05 10:35:27 -04:00
2026-06-06 19:40:52 -04:00
2026-06-15 18:11:20 -04:00
2026-06-08 16:05:59 -04:00
2026-06-07 14:59:33 -04:00
2026-06-10 00:45:27 -04:00
2026-06-08 10:42:05 -04:00
2026-06-08 14:04:26 -04:00
2026-06-14 17:18:17 -04:00
2026-06-08 22:52:19 -04:00
2026-06-14 20:51:53 -04:00
2026-06-09 08:59:20 -04:00
2026-06-09 08:42:16 -04:00
2026-06-09 12:37:32 -04:00
2026-06-09 23:28:02 -04:00
2026-06-10 00:22:36 -04:00
2026-06-12 15:54:28 -04:00
2026-06-10 00:22:33 -04:00
2026-06-14 11:28:14 -04:00
2026-06-10 13:58:56 -04:00
2026-06-10 10:58:42 -04:00
2026-06-10 11:16:13 -04:00
2026-06-10 10:40:06 -04:00
2026-06-11 23:17:01 -04:00
2026-05-17 12:00:59 -04:00
2026-06-11 19:17:06 -04:00
2026-06-11 19:17:06 -04:00
2026-05-02 11:45:33 -04:00
2026-04-05 18:05:32 -04:00
2026-06-15 18:11:20 -04:00
2026-06-01 22:43:49 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 12:04:38 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-13 01:49:25 -04:00
2026-06-06 11:24:48 -04:00
2026-04-17 09:20:26 -04:00
2026-04-22 10:41:58 -04:00
2026-04-25 12:02:58 -04:00
2026-04-17 09:20:42 -04:00
2026-04-29 07:56:51 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-11 22:37:55 -04:00
2026-06-02 18:35:29 -04:00
2026-05-29 11:39:52 -04:00
2026-06-02 18:35:29 -04:00
2026-06-16 14:00:06 -04:00
2026-04-20 10:08:46 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-04-22 10:41:58 -04:00
2026-06-02 18:35:29 -04:00
2026-06-12 23:43:07 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-15 18:11:20 -04:00
2026-06-11 22:37:55 -04:00
2026-05-29 11:39:52 -04:00
2026-04-25 12:09:27 -04:00
2026-04-24 18:05:10 -04:00
2026-06-15 18:11:20 -04:00
2026-06-10 22:40:58 -04:00
2026-04-24 20:22:17 -04:00
2026-06-15 18:50:46 -04:00
2026-06-02 18:35:29 -04:00
2026-04-25 12:15:39 -04:00
2026-05-29 11:39:52 -04:00
2026-06-06 11:24:48 -04:00
2026-04-27 12:31:49 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-05 08:57:20 -04:00
2026-06-09 08:59:20 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-04 08:54:15 -04:00
2026-06-13 21:07:55 -04:00
2026-05-30 17:25:02 -04:00
2026-05-30 17:25:02 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-16 21:55:55 -04:00
2026-06-15 18:50:46 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 12:04:18 -04:00
2026-06-09 12:51:15 -04:00
2026-06-02 18:35:29 -04:00
2026-05-24 14:16:16 -04:00
2026-06-02 18:35:29 -04:00
2026-05-02 00:29:43 -04:00
2026-06-07 20:22:07 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-02 11:45:36 -04:00
2026-06-02 18:35:29 -04:00
2026-06-13 01:49:25 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-05 15:02:03 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-11 12:08:11 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-05-05 15:02:15 -04:00
2026-06-07 20:22:07 -04:00
2026-06-13 23:35:08 -04:00
2026-05-05 18:53:35 -04:00
2026-05-06 21:51:38 -04:00
2026-05-06 21:51:38 -04:00
2026-06-02 18:35:29 -04:00
2026-05-06 22:06:56 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-16 11:52:09 -04:00
2026-05-08 08:40:36 -04:00
2026-06-02 18:35:29 -04:00
2026-05-08 09:26:35 -04:00
2026-06-02 18:35:29 -04:00
2026-05-08 23:53:21 -04:00
2026-06-06 11:24:48 -04:00
2026-05-09 07:40:56 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-16 11:55:55 -04:00
2026-05-14 12:59:38 -04:00
2026-06-17 08:51:11 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-11 22:37:55 -04:00
2026-05-11 22:09:59 -04:00
2026-06-17 08:51:11 -04:00
2026-05-20 23:13:50 -04:00
2026-05-12 18:50:35 -04:00
2026-05-12 18:50:19 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-02 18:35:29 -04:00
2026-05-13 13:54:30 -04:00
2026-05-14 07:47:18 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-13 01:49:25 -04:00
2026-06-06 11:24:48 -04:00
2026-06-01 22:43:49 -04:00
2026-06-02 18:35:29 -04:00
2026-05-15 14:54:58 -04:00
2026-06-06 11:24:48 -04:00
2026-06-10 14:44:43 -04:00
2026-05-23 18:39:02 -04:00
2026-06-11 12:37:25 -04:00
2026-05-16 14:00:34 -04:00
2026-06-02 18:35:29 -04:00
2026-05-15 21:54:03 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-09 12:51:15 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-17 19:31:31 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-12 15:54:25 -04:00
2026-06-11 08:31:35 -04:00
2026-06-14 20:52:56 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-06 11:24:48 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-05-22 11:23:58 -04:00
2026-06-07 10:53:00 -04:00
2026-06-07 23:40:18 +02:00
2026-06-02 18:35:29 -04:00
2026-05-30 17:44:36 -04:00
2026-06-19 12:02:36 -04:00
2026-06-18 23:37:43 -04:00
2026-06-09 22:35:42 -04:00
2026-06-18 16:23:20 -04:00
2026-06-18 21:40:37 -04:00
2026-06-18 23:37:43 -04:00
2026-06-18 10:45:53 -04:00
2026-06-16 02:38:47 -04:00
2026-06-18 14:41:20 -04:00
2026-06-18 21:40:37 -04:00
2026-06-18 14:41:20 -04:00
2026-06-18 21:40:37 -04:00
2026-06-14 12:51:17 -04:00
2026-06-02 18:35:29 -04:00
2026-06-10 15:55:31 -04:00
2026-06-08 14:04:26 -04:00
2026-06-10 15:55:31 -04:00
2026-06-14 15:02:54 -04:00
2026-05-16 13:09:54 -04:00
2026-05-01 18:12:20 -04:00
2026-05-30 17:25:02 -04:00
2026-05-28 09:23:59 -04:00
2026-06-14 02:09:10 -04:00
2026-06-13 21:07:55 -04:00
2026-06-11 00:58:21 -04:00
2026-06-13 21:07:55 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-14 12:25:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-12 16:03:51 -04:00
2026-06-12 16:03:51 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-10 10:40:12 -04:00
2026-06-07 15:20:55 -04:00
2026-05-29 11:39:52 -04:00
2026-06-14 15:10:59 -04:00
2026-06-13 23:35:08 -04:00
2026-06-10 14:07:23 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-12 21:24:09 -04:00
2026-06-07 12:24:04 -04:00
2026-06-16 21:55:49 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-13 23:35:08 -04:00
2026-06-13 23:34:44 -04:00
2026-06-02 18:35:29 -04:00
2026-04-10 10:56:09 -04:00
2026-06-06 11:24:48 -04:00
2026-06-15 19:57:11 -04:00
2026-06-02 18:35:29 -04:00
2026-06-18 07:05:15 -04:00
2026-06-18 21:40:37 -04:00
2026-06-15 19:57:11 -04:00
2026-05-15 00:02:56 -04:00
2026-06-02 18:35:29 -04:00
2026-06-14 08:25:41 -04:00
2026-06-02 18:35:29 -04:00
2026-05-09 11:39:24 -04:00
2026-06-14 11:44:42 -04:00
2026-06-15 18:11:20 -04:00
2026-06-13 23:35:08 -04:00
2026-06-17 08:51:48 -04:00
2026-06-07 19:22:48 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-17 12:35:38 -04:00
2026-06-15 18:11:20 -04:00
2026-06-07 10:27:20 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-14 12:43:48 -04:00
2026-06-06 11:24:48 -04:00
2026-04-01 08:47:31 -06:00
2026-06-13 21:07:55 -04:00
2026-06-12 11:05:31 -04:00
2026-06-12 19:51:54 -04:00
2026-06-12 11:05:31 -04:00
2026-06-14 21:44:21 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-10 14:13:01 -04:00
2026-06-13 23:35:08 -04:00
2026-06-16 15:30:17 -04:00
2026-06-07 20:36:11 -04:00
2026-06-07 18:56:36 -04:00
2026-06-12 15:55:17 -04:00
2026-06-07 19:16:32 -04:00
2026-06-07 18:56:42 -04:00
2026-06-07 20:36:11 -04:00
2026-06-07 18:56:47 -04:00
2026-06-08 10:41:54 -04:00
2026-06-16 02:20:34 -04:00
2026-06-11 22:36:47 -04:00
2026-06-11 22:36:47 -04:00
2026-06-11 22:36:47 -04:00
2026-06-13 00:06:52 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-08 14:04:26 -04:00
2026-04-25 16:26:15 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-08 14:04:26 -04:00
2026-06-06 11:24:48 -04:00
2026-06-08 14:04:26 -04:00
2026-05-16 12:39:02 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-14 02:09:10 -04:00
2026-06-08 16:05:59 -04:00
2026-04-30 00:48:49 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-17 20:14:12 -04:00
2026-06-13 21:07:55 -04:00
2026-05-29 11:39:52 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-15 20:53:38 -04:00
2026-06-14 02:09:10 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-14 12:23:07 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-15 18:50:46 -04:00
2026-06-15 18:11:20 -04:00
2026-06-02 18:35:29 -04:00
2026-06-15 18:11:20 -04:00
2026-06-15 18:11:20 -04:00
2026-06-10 11:41:01 -04:00
2026-06-13 23:35:08 -04:00
2026-06-14 14:20:21 -04:00
2026-06-13 21:07:55 -04:00
2026-06-06 12:04:18 -04:00
2026-05-02 23:12:50 -04:00
2026-06-15 18:50:46 -04:00
2026-06-15 18:11:20 -04:00
2026-06-02 18:35:29 -04:00
2026-06-05 20:19:08 -04:00
2026-06-02 18:35:29 -04:00
2026-06-11 11:36:50 -04:00
2026-05-13 21:19:47 -04:00
2026-06-02 18:35:29 -04:00
2026-05-09 11:46:34 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-09 13:54:06 -04:00
2026-06-06 11:24:48 -04:00
2026-05-15 23:57:38 -04:00
2026-05-15 23:57:38 -04:00
2026-06-02 18:35:29 -04:00
2026-05-16 00:23:27 -04:00
2026-06-13 23:35:08 -04:00
2026-06-06 11:24:48 -04:00
2026-06-13 21:07:55 -04:00
2026-06-18 14:41:20 -04:00
2026-06-12 23:43:07 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-26 11:23:42 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 19:42:05 -04:00
2026-06-02 18:35:29 -04:00
2026-06-14 21:29:11 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-18 21:59:10 -04:00
2026-06-02 18:35:29 -04:00
2026-05-29 10:54:49 -04:00
2026-06-17 21:51:02 -04:00
2026-06-09 23:50:41 -04:00
2026-06-10 07:12:57 -04:00
2026-06-15 23:19:21 -04:00
2026-06-06 11:24:48 -04:00
2026-06-15 23:19:21 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-15 19:57:11 -04:00
2026-06-14 10:46:00 -04:00
2026-05-26 18:55:40 -04:00
2026-06-06 11:24:48 -04:00
2026-06-06 11:24:48 -04:00
2026-06-06 11:24:48 -04:00
2026-05-26 11:23:35 -04:00
2026-06-15 15:08:58 -04:00
2026-06-10 00:22:36 -04:00
2026-04-04 14:29:03 -04:00
2026-06-01 22:43:49 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-20 20:39:01 -04:00
2026-06-16 11:03:47 -04:00
2026-06-02 18:35:29 -04:00
2026-06-08 15:09:34 -04:00
2026-06-13 01:49:25 -04:00
2026-06-06 11:24:48 -04:00
2026-06-11 11:36:03 -04:00
2026-06-12 00:20:28 -04:00
2026-06-02 18:35:29 -04:00
2026-06-18 21:47:18 -04:00
2026-06-02 18:35:29 -04:00
2026-06-09 23:50:41 -04:00
2026-06-09 12:51:15 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-09 12:51:15 -04:00
2026-06-16 00:12:54 -04:00
2026-06-16 00:12:54 -04:00
2026-06-13 21:30:03 -04:00
2026-06-02 18:35:29 -04:00
2026-06-15 18:11:20 -04:00
2026-06-02 18:35:29 -04:00
2026-06-11 22:36:47 -04:00
2026-06-09 08:59:20 -04:00
2026-06-11 15:46:49 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-16 11:03:47 -04:00
2026-06-07 18:54:08 -04:00
2026-06-07 15:20:55 -04:00
2026-06-07 20:22:07 -04:00
2026-06-18 10:45:53 -04:00
2026-06-15 18:50:46 -04:00
2026-06-01 22:43:49 -04:00
2026-06-07 20:35:43 -04:00
2026-06-13 16:13:00 -04:00
2026-06-06 22:16:20 +02:00
2026-06-06 22:16:20 +02:00
2026-06-07 01:27:12 +02:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-10 01:05:24 -04:00
2026-06-18 08:50:22 -04:00
2026-06-01 22:43:49 -04:00
2026-06-06 11:24:48 -04:00
2026-06-11 22:04:56 -04:00
2026-06-11 14:11:50 -04:00
2026-06-12 21:24:09 -04:00
2026-06-16 00:12:54 -04:00
2026-06-13 21:07:55 -04:00
2026-06-16 00:12:54 -04:00
2026-06-08 22:16:58 -04:00
2026-06-18 14:41:20 -04:00
2026-05-29 11:39:52 -04:00
2026-06-17 15:44:11 -04:00
2026-06-15 17:20:08 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-15 18:11:20 -04:00
2026-05-31 23:15:55 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-15 18:11:20 -04:00
2026-06-11 13:36:23 -04:00
2026-06-13 23:35:08 -04:00
2026-06-15 18:11:20 -04:00
2026-06-07 12:05:13 +02:00
2026-06-14 08:25:41 -04:00
2026-05-06 21:51:38 -04:00
2026-05-06 21:51:38 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-02 18:35:29 -04:00
2026-06-01 22:43:49 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-05 09:26:29 -04:00
2026-05-28 09:23:59 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-05 17:58:48 -04:00
2026-06-05 17:58:48 -04:00
2026-04-06 15:13:23 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-04-16 17:15:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-15 18:11:20 -04:00
2026-06-11 14:11:50 -04:00
2026-06-01 22:43:49 -04:00
2026-06-02 18:35:29 -04:00
2026-06-12 19:51:54 -04:00
2026-06-14 01:39:54 -04:00
2026-06-13 21:07:55 -04:00
2026-06-12 21:24:09 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-16 21:55:58 -04:00
2026-06-15 18:11:20 -04:00
2026-06-16 15:11:23 -04:00
2026-06-02 18:35:29 -04:00
2026-04-04 14:29:03 -04:00
2026-06-02 18:35:29 -04:00
2026-06-13 21:07:55 -04:00
2026-06-02 18:35:29 -04:00
2026-06-13 21:07:55 -04:00
2026-06-13 21:07:55 -04:00
2026-06-13 23:35:08 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-15 18:11:20 -04:00
2026-06-02 18:35:29 -04:00
2026-06-12 21:24:09 -04:00
2026-06-02 18:35:29 -04:00
2026-06-09 23:50:41 -04:00
2026-06-04 14:57:18 -04:00
2026-06-11 13:36:47 -04:00
2026-06-16 21:55:51 -04:00
2026-05-18 12:06:46 -04:00
2026-05-28 18:06:19 -04:00
2026-05-28 18:06:19 -04:00
2026-06-16 14:00:49 -04:00
2026-06-16 14:00:49 -04:00
2026-06-17 12:14:15 -04:00
2026-06-12 16:03:51 -04:00
2026-06-06 11:24:48 -04:00
2026-06-12 15:55:01 -04:00
2026-06-02 18:35:29 -04:00
2026-06-15 22:48:48 -04:00
2026-06-16 14:00:49 -04:00
2026-06-14 21:29:11 -04:00
2026-06-14 21:29:11 -04:00
2026-06-16 14:00:49 -04:00
2026-06-14 21:29:11 -04:00
2026-06-14 21:29:11 -04:00
2026-06-15 23:21:20 -04:00
2026-06-18 00:50:30 -04:00
2026-05-18 23:13:09 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-09 23:50:41 -04:00
2026-06-02 18:35:29 -04:00
2026-06-15 18:11:20 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-05-01 19:50:10 -04:00
2026-06-02 18:35:29 -04:00
2026-04-04 14:29:03 -04:00
2026-05-29 11:39:52 -04:00
2026-06-09 23:50:41 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-17 14:32:43 -04:00
2026-06-04 14:57:18 -04:00
2026-05-26 22:46:09 -04:00
2026-05-29 10:54:49 -04:00
2026-05-30 17:25:02 -04:00
2026-06-14 20:52:13 -04:00
2026-06-05 17:58:48 -04:00
2026-06-13 23:35:08 -04:00
2026-06-13 23:35:08 -04:00
2026-06-05 17:58:48 -04:00
2026-06-13 23:35:08 -04:00
2026-06-05 17:58:48 -04:00
2026-06-18 07:44:52 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-04-26 13:33:45 -04:00
2026-06-13 23:35:08 -04:00
2026-06-02 18:35:29 -04:00
2026-05-06 21:51:38 -04:00
2026-06-15 18:11:20 -04:00
2026-06-15 18:11:20 -04:00
2026-06-13 21:56:18 -04:00
2026-06-14 10:46:22 -04:00
2026-06-14 12:25:29 -04:00
2026-06-13 01:49:25 -04:00
2026-06-02 18:35:29 -04:00
2026-06-07 17:16:26 -04:00
2026-06-13 23:35:08 -04:00
2026-06-13 01:49:25 -04:00
2026-06-07 16:13:06 -04:00
2026-06-18 21:47:18 -04:00
2026-06-18 21:47:18 -04:00
2026-06-11 21:42:52 -04:00
2026-06-11 22:32:49 -04:00
2026-06-02 18:35:29 -04:00
2026-06-06 11:24:48 -04:00
2026-05-26 18:56:00 -04:00
2026-06-09 23:50:41 -04:00
2026-06-12 21:24:09 -04:00
2026-06-09 23:50:41 -04:00
2026-06-09 23:50:41 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-18 14:41:20 -04:00
2026-06-06 11:24:48 -04:00
2026-06-14 20:52:56 -04:00
2026-06-13 23:35:08 -04:00
2026-06-06 11:24:48 -04:00
2026-06-10 14:44:43 -04:00
2026-06-09 10:25:55 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-04-11 15:02:55 -04:00
2026-06-17 17:56:17 -04:00
2026-06-02 18:35:29 -04:00
2026-06-16 21:55:45 -04:00
2026-06-12 13:29:45 -04:00
2026-06-13 21:07:55 -04:00
2026-06-17 08:52:23 -04:00
2026-06-15 18:11:20 -04:00
2026-05-29 11:39:52 -04:00
2026-05-26 11:23:29 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-12 18:39:57 -04:00
2026-06-11 16:37:17 -04:00
2026-06-16 14:47:17 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-16 21:55:55 -04:00
2026-06-12 09:58:44 -04:00
2026-05-15 19:32:02 -04:00
2026-06-02 18:35:29 -04:00
2026-06-07 01:26:56 -04:00
2026-06-15 15:24:56 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-07 00:46:27 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 19:25:25 -04:00
2026-06-13 23:35:08 -04:00
2026-06-12 21:24:09 -04:00
2026-04-04 14:29:03 -04:00
2026-06-06 11:24:48 -04:00
2026-06-09 23:50:41 -04:00
2026-06-11 23:17:01 -04:00
2026-06-07 12:24:04 -04:00
2026-06-02 18:35:29 -04:00
2026-06-11 19:17:06 -04:00
2026-06-17 21:02:18 -04:00
2026-06-06 11:24:48 -04:00
2026-06-17 08:52:23 -04:00
2026-06-12 09:30:44 -04:00
2026-06-11 23:59:56 -04:00
2026-06-06 11:24:48 -04:00
2026-06-02 18:35:29 -04:00
2026-06-15 18:11:20 -04:00
2026-06-11 11:36:30 -04:00
2026-06-13 23:35:08 -04:00
2026-06-16 14:19:08 -04:00
2026-06-16 14:00:06 -04:00
2026-06-16 14:00:06 -04:00