@parity/product-lab 0.0.1-placeholder → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +993 -0
- package/LICENSE +204 -0
- package/README.md +325 -2
- package/adapters/browser/playwright/README.md +214 -0
- package/adapters/browser/playwright/src/axe-scan.d.ts +6 -0
- package/adapters/browser/playwright/src/axe-scan.js +41 -0
- package/adapters/browser/playwright/src/bytes.d.ts +1 -0
- package/adapters/browser/playwright/src/bytes.js +5 -0
- package/adapters/browser/playwright/src/conditioned-socket.d.ts +28 -0
- package/adapters/browser/playwright/src/conditioned-socket.js +40 -0
- package/adapters/browser/playwright/src/devices.d.ts +14 -0
- package/adapters/browser/playwright/src/devices.js +24 -0
- package/adapters/browser/playwright/src/errors.d.ts +2 -0
- package/adapters/browser/playwright/src/errors.js +6 -0
- package/adapters/browser/playwright/src/evidence-url.d.ts +4 -0
- package/adapters/browser/playwright/src/evidence-url.js +29 -0
- package/adapters/browser/playwright/src/faithful-web-socket.d.ts +2 -0
- package/adapters/browser/playwright/src/faithful-web-socket.js +9 -0
- package/adapters/browser/playwright/src/free-loopback-port.d.ts +2 -0
- package/adapters/browser/playwright/src/free-loopback-port.js +13 -0
- package/adapters/browser/playwright/src/headless-app-surface.d.ts +30 -0
- package/adapters/browser/playwright/src/headless-app-surface.js +68 -0
- package/adapters/browser/playwright/src/index.d.ts +16 -0
- package/adapters/browser/playwright/src/index.js +18 -0
- package/adapters/browser/playwright/src/native-rtc.d.ts +11 -0
- package/adapters/browser/playwright/src/native-rtc.js +89 -0
- package/adapters/browser/playwright/src/network-evidence.d.ts +25 -0
- package/adapters/browser/playwright/src/network-evidence.js +575 -0
- package/adapters/browser/playwright/src/page-conditions.d.ts +37 -0
- package/adapters/browser/playwright/src/page-conditions.js +81 -0
- package/adapters/browser/playwright/src/page-console-watch.d.ts +12 -0
- package/adapters/browser/playwright/src/page-console-watch.js +43 -0
- package/adapters/browser/playwright/src/page-frame-capture.d.ts +32 -0
- package/adapters/browser/playwright/src/page-frame-capture.js +87 -0
- package/adapters/browser/playwright/src/page-video.d.ts +15 -0
- package/adapters/browser/playwright/src/page-video.js +25 -0
- package/adapters/browser/playwright/src/playwright-browser-context.d.ts +20 -0
- package/adapters/browser/playwright/src/playwright-browser-context.js +44 -0
- package/adapters/browser/playwright/src/playwright-browser-launcher.d.ts +9 -0
- package/adapters/browser/playwright/src/playwright-browser-launcher.js +53 -0
- package/adapters/browser/playwright/src/playwright-browser.d.ts +57 -0
- package/adapters/browser/playwright/src/playwright-browser.js +71 -0
- package/adapters/browser/playwright/src/playwright-page.d.ts +68 -0
- package/adapters/browser/playwright/src/playwright-page.js +111 -0
- package/adapters/browser/playwright/src/playwright-route.d.ts +13 -0
- package/adapters/browser/playwright/src/playwright-route.js +29 -0
- package/adapters/browser/playwright/src/playwright-slide-renderer.d.ts +11 -0
- package/adapters/browser/playwright/src/playwright-slide-renderer.js +26 -0
- package/adapters/browser/playwright/src/playwright-web-socket-route.d.ts +16 -0
- package/adapters/browser/playwright/src/playwright-web-socket-route.js +27 -0
- package/adapters/browser/playwright/src/press-target.d.ts +76 -0
- package/adapters/browser/playwright/src/press-target.js +186 -0
- package/adapters/browser/playwright/src/socket-routes.d.ts +14 -0
- package/adapters/browser/playwright/src/socket-routes.js +20 -0
- package/adapters/browser/playwright/src/wire-delivery.d.ts +10 -0
- package/adapters/browser/playwright/src/wire-delivery.js +31 -0
- package/adapters/browser/playwright/src/worker-hold.d.ts +26 -0
- package/adapters/browser/playwright/src/worker-hold.js +115 -0
- package/adapters/chain/papi/README.md +203 -0
- package/adapters/chain/papi/src/chain-access.d.ts +178 -0
- package/adapters/chain/papi/src/chain-access.js +530 -0
- package/adapters/chain/papi/src/errors.d.ts +15 -0
- package/adapters/chain/papi/src/errors.js +29 -0
- package/adapters/chain/papi/src/extrinsic-decoder.d.ts +21 -0
- package/adapters/chain/papi/src/extrinsic-decoder.js +396 -0
- package/adapters/chain/papi/src/extrinsic-signer.d.ts +2 -0
- package/adapters/chain/papi/src/extrinsic-signer.js +14 -0
- package/adapters/chain/papi/src/index.d.ts +5 -0
- package/adapters/chain/papi/src/index.js +7 -0
- package/adapters/chain/papi/src/plain-value.d.ts +7 -0
- package/adapters/chain/papi/src/plain-value.js +58 -0
- package/adapters/chain/papi/src/signer.d.ts +27 -0
- package/adapters/chain/papi/src/signer.js +51 -0
- package/adapters/chain/papi/src/statement-store-reader.d.ts +12 -0
- package/adapters/chain/papi/src/statement-store-reader.js +146 -0
- package/adapters/chain/papi/src/track-transaction.d.ts +47 -0
- package/adapters/chain/papi/src/track-transaction.js +97 -0
- package/adapters/chain/papi/src/transaction-submitter.d.ts +87 -0
- package/adapters/chain/papi/src/transaction-submitter.js +132 -0
- package/adapters/deploy/bulletin/README.md +148 -0
- package/adapters/deploy/bulletin/src/bulletin-deployer.d.ts +82 -0
- package/adapters/deploy/bulletin/src/bulletin-deployer.js +234 -0
- package/adapters/deploy/bulletin/src/bytes.d.ts +6 -0
- package/adapters/deploy/bulletin/src/bytes.js +25 -0
- package/adapters/deploy/bulletin/src/content/bulletin-content-reader.d.ts +35 -0
- package/adapters/deploy/bulletin/src/content/bulletin-content-reader.js +58 -0
- package/adapters/deploy/bulletin/src/content/car.d.ts +27 -0
- package/adapters/deploy/bulletin/src/content/car.js +112 -0
- package/adapters/deploy/bulletin/src/content/cid.d.ts +31 -0
- package/adapters/deploy/bulletin/src/content/cid.js +114 -0
- package/adapters/deploy/bulletin/src/content/dag.d.ts +27 -0
- package/adapters/deploy/bulletin/src/content/dag.js +157 -0
- package/adapters/deploy/bulletin/src/content/ipfs-gateway-source.d.ts +10 -0
- package/adapters/deploy/bulletin/src/content/ipfs-gateway-source.js +14 -0
- package/adapters/deploy/bulletin/src/content/retrieve-content.d.ts +3 -0
- package/adapters/deploy/bulletin/src/content/retrieve-content.js +18 -0
- package/adapters/deploy/bulletin/src/content/site.d.ts +16 -0
- package/adapters/deploy/bulletin/src/content/site.js +56 -0
- package/adapters/deploy/bulletin/src/deployment-check.d.ts +25 -0
- package/adapters/deploy/bulletin/src/deployment-check.js +51 -0
- package/adapters/deploy/bulletin/src/dotns/dotns-registrar.d.ts +31 -0
- package/adapters/deploy/bulletin/src/dotns/dotns-registrar.js +53 -0
- package/adapters/deploy/bulletin/src/dotns/dotns-resolver.d.ts +41 -0
- package/adapters/deploy/bulletin/src/dotns/dotns-resolver.js +148 -0
- package/adapters/deploy/bulletin/src/dotns/manifest-freshness.d.ts +66 -0
- package/adapters/deploy/bulletin/src/dotns/manifest-freshness.js +76 -0
- package/adapters/deploy/bulletin/src/dotns/read-only-rpc.d.ts +17 -0
- package/adapters/deploy/bulletin/src/dotns/read-only-rpc.js +23 -0
- package/adapters/deploy/bulletin/src/endpoints.d.ts +20 -0
- package/adapters/deploy/bulletin/src/endpoints.js +36 -0
- package/adapters/deploy/bulletin/src/errors.d.ts +13 -0
- package/adapters/deploy/bulletin/src/errors.js +13 -0
- package/adapters/deploy/bulletin/src/gateway/deployed-content-gateway.d.ts +46 -0
- package/adapters/deploy/bulletin/src/gateway/deployed-content-gateway.js +126 -0
- package/adapters/deploy/bulletin/src/gateway/gateway-destinations.d.ts +35 -0
- package/adapters/deploy/bulletin/src/gateway/gateway-destinations.js +45 -0
- package/adapters/deploy/bulletin/src/gateway/gateway-program.d.ts +79 -0
- package/adapters/deploy/bulletin/src/gateway/gateway-program.js +181 -0
- package/adapters/deploy/bulletin/src/index.d.ts +27 -0
- package/adapters/deploy/bulletin/src/index.js +29 -0
- package/adapters/deploy/bulletin/src/launch/deployed-local-launcher.d.ts +77 -0
- package/adapters/deploy/bulletin/src/launch/deployed-local-launcher.js +90 -0
- package/adapters/deploy/bulletin/src/launch/launch-mode.d.ts +12 -0
- package/adapters/deploy/bulletin/src/launch/launch-mode.js +23 -0
- package/adapters/deploy/bulletin/src/platform/bulletin-store.d.ts +17 -0
- package/adapters/deploy/bulletin/src/platform/bulletin-store.js +28 -0
- package/adapters/deploy/bulletin/src/platform/chain-ports.d.ts +69 -0
- package/adapters/deploy/bulletin/src/platform/chain-ports.js +69 -0
- package/adapters/deploy/bulletin/src/platform/platform-requirements.d.ts +34 -0
- package/adapters/deploy/bulletin/src/platform/platform-requirements.js +12 -0
- package/adapters/deploy/bulletin/src/platform/revive-contracts.d.ts +53 -0
- package/adapters/deploy/bulletin/src/platform/revive-contracts.js +86 -0
- package/adapters/deploy/bulletin/src/platform/statement-store.d.ts +50 -0
- package/adapters/deploy/bulletin/src/platform/statement-store.js +96 -0
- package/adapters/deploy/bulletin/src/tool/bulletin-deploy-library.d.ts +64 -0
- package/adapters/deploy/bulletin/src/tool/bulletin-deploy-library.js +33 -0
- package/adapters/deploy/bulletin/src/tool/bulletin-deploy-tool.d.ts +18 -0
- package/adapters/deploy/bulletin/src/tool/bulletin-deploy-tool.js +73 -0
- package/adapters/deploy/bulletin/src/tool/environment-file.d.ts +34 -0
- package/adapters/deploy/bulletin/src/tool/environment-file.js +36 -0
- package/adapters/environment/attached/README.md +75 -0
- package/adapters/environment/attached/src/index.d.ts +54 -0
- package/adapters/environment/attached/src/index.js +123 -0
- package/adapters/environment/attached/src/live-network.d.ts +62 -0
- package/adapters/environment/attached/src/live-network.js +96 -0
- package/adapters/environment/attached/src/versions.d.ts +29 -0
- package/adapters/environment/attached/src/versions.js +51 -0
- package/adapters/environment/chopsticks/README.md +200 -0
- package/adapters/environment/chopsticks/src/chopsticks-environment-factory.d.ts +140 -0
- package/adapters/environment/chopsticks/src/chopsticks-environment-factory.js +55 -0
- package/adapters/environment/chopsticks/src/chopsticks-topology.d.ts +176 -0
- package/adapters/environment/chopsticks/src/chopsticks-topology.js +287 -0
- package/adapters/environment/chopsticks/src/constants.d.ts +11 -0
- package/adapters/environment/chopsticks/src/constants.js +15 -0
- package/adapters/environment/chopsticks/src/dev-authority.d.ts +21 -0
- package/adapters/environment/chopsticks/src/dev-authority.js +66 -0
- package/adapters/environment/chopsticks/src/environment.d.ts +133 -0
- package/adapters/environment/chopsticks/src/environment.js +358 -0
- package/adapters/environment/chopsticks/src/extensions.d.ts +27 -0
- package/adapters/environment/chopsticks/src/extensions.js +60 -0
- package/adapters/environment/chopsticks/src/general-extrinsic-support.d.ts +17 -0
- package/adapters/environment/chopsticks/src/general-extrinsic-support.js +58 -0
- package/adapters/environment/chopsticks/src/index.d.ts +15 -0
- package/adapters/environment/chopsticks/src/index.js +17 -0
- package/adapters/environment/chopsticks/src/options.d.ts +75 -0
- package/adapters/environment/chopsticks/src/options.js +56 -0
- package/adapters/environment/chopsticks/src/plan.d.ts +49 -0
- package/adapters/environment/chopsticks/src/plan.js +68 -0
- package/adapters/environment/chopsticks/src/provider.d.ts +43 -0
- package/adapters/environment/chopsticks/src/provider.js +78 -0
- package/adapters/environment/chopsticks/src/spec-proxy.d.ts +16 -0
- package/adapters/environment/chopsticks/src/spec-proxy.js +109 -0
- package/adapters/environment/chopsticks/src/sqlite-support.d.ts +15 -0
- package/adapters/environment/chopsticks/src/sqlite-support.js +32 -0
- package/adapters/environment/chopsticks/src/time.d.ts +18 -0
- package/adapters/environment/chopsticks/src/time.js +96 -0
- package/adapters/environment/chopsticks/src/topology-options-schema.d.ts +119 -0
- package/adapters/environment/chopsticks/src/topology-options-schema.js +58 -0
- package/adapters/environment/chopsticks/src/topology.d.ts +11 -0
- package/adapters/environment/chopsticks/src/topology.js +64 -0
- package/adapters/environment/chopsticks/src/upstream.d.ts +22 -0
- package/adapters/environment/chopsticks/src/upstream.js +58 -0
- package/adapters/environment/chopsticks/src/versions.d.ts +31 -0
- package/adapters/environment/chopsticks/src/versions.js +58 -0
- package/adapters/environment/engine/README.md +123 -0
- package/adapters/environment/engine/engine.example.json +9 -0
- package/adapters/environment/engine/src/engine/approval-pin.d.ts +106 -0
- package/adapters/environment/engine/src/engine/approval-pin.js +98 -0
- package/adapters/environment/engine/src/engine/chain-clock.d.ts +55 -0
- package/adapters/environment/engine/src/engine/chain-clock.js +66 -0
- package/adapters/environment/engine/src/engine/checkout-lock.d.ts +52 -0
- package/adapters/environment/engine/src/engine/checkout-lock.js +136 -0
- package/adapters/environment/engine/src/engine/drain.d.ts +54 -0
- package/adapters/environment/engine/src/engine/drain.js +74 -0
- package/adapters/environment/engine/src/engine/engine-config.d.ts +97 -0
- package/adapters/environment/engine/src/engine/engine-config.js +55 -0
- package/adapters/environment/engine/src/engine/engine-health.d.ts +99 -0
- package/adapters/environment/engine/src/engine/engine-health.js +217 -0
- package/adapters/environment/engine/src/engine/engine-ports.d.ts +13 -0
- package/adapters/environment/engine/src/engine/engine-ports.js +60 -0
- package/adapters/environment/engine/src/engine/engine-prepare.d.ts +55 -0
- package/adapters/environment/engine/src/engine/engine-prepare.js +86 -0
- package/adapters/environment/engine/src/engine/engine-setup-jobs.d.ts +16 -0
- package/adapters/environment/engine/src/engine/engine-setup-jobs.js +63 -0
- package/adapters/environment/engine/src/engine/engine-start-phases.d.ts +65 -0
- package/adapters/environment/engine/src/engine/engine-start-phases.js +230 -0
- package/adapters/environment/engine/src/engine/eth-rpc-probe.d.ts +17 -0
- package/adapters/environment/engine/src/engine/eth-rpc-probe.js +23 -0
- package/adapters/environment/engine/src/engine/finality-stall.d.ts +41 -0
- package/adapters/environment/engine/src/engine/finality-stall.js +61 -0
- package/adapters/environment/engine/src/engine/fork-bundle.d.ts +59 -0
- package/adapters/environment/engine/src/engine/fork-bundle.js +159 -0
- package/adapters/environment/engine/src/engine/fork-freshness.d.ts +154 -0
- package/adapters/environment/engine/src/engine/fork-freshness.js +238 -0
- package/adapters/environment/engine/src/engine/fork-isolation.d.ts +19 -0
- package/adapters/environment/engine/src/engine/fork-isolation.js +44 -0
- package/adapters/environment/engine/src/engine/fork-refresh.d.ts +75 -0
- package/adapters/environment/engine/src/engine/fork-refresh.js +193 -0
- package/adapters/environment/engine/src/engine/fork-setup.d.ts +59 -0
- package/adapters/environment/engine/src/engine/fork-setup.js +87 -0
- package/adapters/environment/engine/src/engine/fork-snapshot.d.ts +6 -0
- package/adapters/environment/engine/src/engine/fork-snapshot.js +42 -0
- package/adapters/environment/engine/src/engine/fork-toml.d.ts +110 -0
- package/adapters/environment/engine/src/engine/fork-toml.js +260 -0
- package/adapters/environment/engine/src/engine/fork-topology.d.ts +65 -0
- package/adapters/environment/engine/src/engine/fork-topology.js +61 -0
- package/adapters/environment/engine/src/engine/fork-updates.d.ts +61 -0
- package/adapters/environment/engine/src/engine/fork-updates.js +148 -0
- package/adapters/environment/engine/src/engine/ipfs-isolation.d.ts +38 -0
- package/adapters/environment/engine/src/engine/ipfs-isolation.js +62 -0
- package/adapters/environment/engine/src/engine/live-network.d.ts +32 -0
- package/adapters/environment/engine/src/engine/live-network.js +41 -0
- package/adapters/environment/engine/src/engine/network-adoption.d.ts +56 -0
- package/adapters/environment/engine/src/engine/network-adoption.js +195 -0
- package/adapters/environment/engine/src/engine/network-plan.d.ts +71 -0
- package/adapters/environment/engine/src/engine/network-plan.js +158 -0
- package/adapters/environment/engine/src/engine/network-reset.d.ts +18 -0
- package/adapters/environment/engine/src/engine/network-reset.js +21 -0
- package/adapters/environment/engine/src/engine/network-seed.d.ts +82 -0
- package/adapters/environment/engine/src/engine/network-seed.js +183 -0
- package/adapters/environment/engine/src/engine/network-snapshots.d.ts +64 -0
- package/adapters/environment/engine/src/engine/network-snapshots.js +161 -0
- package/adapters/environment/engine/src/engine/network-template.d.ts +65 -0
- package/adapters/environment/engine/src/engine/network-template.js +98 -0
- package/adapters/environment/engine/src/engine/node-isolation.d.ts +83 -0
- package/adapters/environment/engine/src/engine/node-isolation.js +164 -0
- package/adapters/environment/engine/src/engine/node-temp-dir.d.ts +27 -0
- package/adapters/environment/engine/src/engine/node-temp-dir.js +31 -0
- package/adapters/environment/engine/src/engine/owned-engine.d.ts +312 -0
- package/adapters/environment/engine/src/engine/owned-engine.js +595 -0
- package/adapters/environment/engine/src/engine/owned-environment.d.ts +24 -0
- package/adapters/environment/engine/src/engine/owned-environment.js +84 -0
- package/adapters/environment/engine/src/engine/persisted-data.d.ts +67 -0
- package/adapters/environment/engine/src/engine/persisted-data.js +147 -0
- package/adapters/environment/engine/src/engine/persisted-isolation.d.ts +33 -0
- package/adapters/environment/engine/src/engine/persisted-isolation.js +91 -0
- package/adapters/environment/engine/src/engine/persistent-network.d.ts +354 -0
- package/adapters/environment/engine/src/engine/persistent-network.js +580 -0
- package/adapters/environment/engine/src/engine/plan-ports.d.ts +83 -0
- package/adapters/environment/engine/src/engine/plan-ports.js +165 -0
- package/adapters/environment/engine/src/engine/published-bundle.d.ts +117 -0
- package/adapters/environment/engine/src/engine/published-bundle.js +250 -0
- package/adapters/environment/engine/src/engine/runtime-upgrade.d.ts +131 -0
- package/adapters/environment/engine/src/engine/runtime-upgrade.js +202 -0
- package/adapters/environment/engine/src/engine/saved-tooling.d.ts +10 -0
- package/adapters/environment/engine/src/engine/saved-tooling.js +32 -0
- package/adapters/environment/engine/src/engine/turn-relay.d.ts +80 -0
- package/adapters/environment/engine/src/engine/turn-relay.js +103 -0
- package/adapters/environment/engine/src/errors.d.ts +140 -0
- package/adapters/environment/engine/src/errors.js +131 -0
- package/adapters/environment/engine/src/evidence/engine-logs.d.ts +4 -0
- package/adapters/environment/engine/src/evidence/engine-logs.js +20 -0
- package/adapters/environment/engine/src/evidence/engine-progress.d.ts +18 -0
- package/adapters/environment/engine/src/evidence/engine-progress.js +102 -0
- package/adapters/environment/engine/src/index.d.ts +52 -0
- package/adapters/environment/engine/src/index.js +54 -0
- package/adapters/environment/engine/src/saved-fork/saved-fork-tooling.d.ts +20 -0
- package/adapters/environment/engine/src/saved-fork/saved-fork-tooling.js +66 -0
- package/adapters/environment/engine/src/saved-fork/saved-fork.d.ts +118 -0
- package/adapters/environment/engine/src/saved-fork/saved-fork.js +298 -0
- package/adapters/environment/engine/src/session/chain-observation.d.ts +30 -0
- package/adapters/environment/engine/src/session/chain-observation.js +23 -0
- package/adapters/environment/engine/src/session/engine-networks.d.ts +8 -0
- package/adapters/environment/engine/src/session/engine-networks.js +6 -0
- package/adapters/environment/engine/src/session/network-lock.d.ts +107 -0
- package/adapters/environment/engine/src/session/network-lock.js +125 -0
- package/adapters/environment/engine/src/session/readiness.d.ts +181 -0
- package/adapters/environment/engine/src/session/readiness.js +251 -0
- package/adapters/environment/engine/src/session/runtime-dependency.d.ts +188 -0
- package/adapters/environment/engine/src/session/runtime-dependency.js +20 -0
- package/adapters/environment/engine/src/session/session.d.ts +243 -0
- package/adapters/environment/engine/src/session/session.js +98 -0
- package/adapters/environment/engine/src/setup/engine-build.d.ts +13 -0
- package/adapters/environment/engine/src/setup/engine-build.js +24 -0
- package/adapters/environment/engine/src/setup/patch-catalogue.d.ts +20 -0
- package/adapters/environment/engine/src/setup/patch-catalogue.js +15 -0
- package/adapters/environment/engine/src/setup/patches.d.ts +37 -0
- package/adapters/environment/engine/src/setup/patches.js +48 -0
- package/adapters/environment/engine/src/setup/prepare-engine.d.ts +86 -0
- package/adapters/environment/engine/src/setup/prepare-engine.js +186 -0
- package/adapters/environment/engine/src/setup/setup-command.d.ts +11 -0
- package/adapters/environment/engine/src/setup/setup-command.js +17 -0
- package/adapters/environment/engine/src/setup/sync-command.d.ts +3 -0
- package/adapters/environment/engine/src/setup/sync-command.js +10 -0
- package/adapters/environment/engine/src/testing/engine-dashboard.d.ts +37 -0
- package/adapters/environment/engine/src/testing/engine-dashboard.js +83 -0
- package/adapters/environment/engine/src/topology/engine-environment-factory.d.ts +107 -0
- package/adapters/environment/engine/src/topology/engine-environment-factory.js +37 -0
- package/adapters/environment/engine/src/topology/engine-plan.d.ts +35 -0
- package/adapters/environment/engine/src/topology/engine-plan.js +84 -0
- package/adapters/environment/engine/src/topology/engine-provider.d.ts +25 -0
- package/adapters/environment/engine/src/topology/engine-provider.js +109 -0
- package/adapters/environment/engine/src/topology/engine-run.d.ts +63 -0
- package/adapters/environment/engine/src/topology/engine-run.js +129 -0
- package/adapters/environment/engine/src/topology/engine-topology.d.ts +131 -0
- package/adapters/environment/engine/src/topology/engine-topology.js +236 -0
- package/adapters/environment/engine/src/topology/topology-options-schema.d.ts +79 -0
- package/adapters/environment/engine/src/topology/topology-options-schema.js +57 -0
- package/adapters/environment/engine/src/versions/engine-versions.d.ts +90 -0
- package/adapters/environment/engine/src/versions/engine-versions.js +138 -0
- package/adapters/environment/relayless/README.md +199 -0
- package/adapters/environment/relayless/src/chain-readiness.d.ts +37 -0
- package/adapters/environment/relayless/src/chain-readiness.js +51 -0
- package/adapters/environment/relayless/src/fast-baseline.d.ts +43 -0
- package/adapters/environment/relayless/src/fast-baseline.js +56 -0
- package/adapters/environment/relayless/src/index.d.ts +15 -0
- package/adapters/environment/relayless/src/index.js +17 -0
- package/adapters/environment/relayless/src/manual-seal-session.d.ts +125 -0
- package/adapters/environment/relayless/src/manual-seal-session.js +82 -0
- package/adapters/environment/relayless/src/owned-people-node.d.ts +55 -0
- package/adapters/environment/relayless/src/owned-people-node.js +199 -0
- package/adapters/environment/relayless/src/prepare-people-genesis.d.ts +87 -0
- package/adapters/environment/relayless/src/prepare-people-genesis.js +119 -0
- package/adapters/environment/relayless/src/topology/dev-chain-spec.d.ts +44 -0
- package/adapters/environment/relayless/src/topology/dev-chain-spec.js +131 -0
- package/adapters/environment/relayless/src/topology/dev-node.d.ts +21 -0
- package/adapters/environment/relayless/src/topology/dev-node.js +41 -0
- package/adapters/environment/relayless/src/topology/locked-artifacts.d.ts +35 -0
- package/adapters/environment/relayless/src/topology/locked-artifacts.js +87 -0
- package/adapters/environment/relayless/src/topology/relayless-environment-factory.d.ts +106 -0
- package/adapters/environment/relayless/src/topology/relayless-environment-factory.js +38 -0
- package/adapters/environment/relayless/src/topology/relayless-environment.d.ts +152 -0
- package/adapters/environment/relayless/src/topology/relayless-environment.js +443 -0
- package/adapters/environment/relayless/src/topology/relayless-plan.d.ts +43 -0
- package/adapters/environment/relayless/src/topology/relayless-plan.js +85 -0
- package/adapters/environment/relayless/src/topology/relayless-provider.d.ts +60 -0
- package/adapters/environment/relayless/src/topology/relayless-provider.js +231 -0
- package/adapters/environment/relayless/src/topology/relayless-snapshots.d.ts +24 -0
- package/adapters/environment/relayless/src/topology/relayless-snapshots.js +112 -0
- package/adapters/environment/relayless/src/topology/relayless-time.d.ts +66 -0
- package/adapters/environment/relayless/src/topology/relayless-time.js +124 -0
- package/adapters/environment/relayless/src/topology/relayless-topology.d.ts +122 -0
- package/adapters/environment/relayless/src/topology/relayless-topology.js +178 -0
- package/adapters/environment/relayless/src/topology/spec-cache.d.ts +24 -0
- package/adapters/environment/relayless/src/topology/spec-cache.js +53 -0
- package/adapters/environment/relayless/src/topology/statement-store.d.ts +20 -0
- package/adapters/environment/relayless/src/topology/statement-store.js +60 -0
- package/adapters/environment/relayless/src/topology/topology-options-schema.d.ts +79 -0
- package/adapters/environment/relayless/src/topology/topology-options-schema.js +57 -0
- package/adapters/environment/relayless/src/topology/workspace-record.d.ts +30 -0
- package/adapters/environment/relayless/src/topology/workspace-record.js +49 -0
- package/adapters/features/cucumber/README.md +85 -0
- package/adapters/features/cucumber/src/cucumber-child.d.ts +1 -0
- package/adapters/features/cucumber/src/cucumber-child.js +53 -0
- package/adapters/features/cucumber/src/cucumber-feature-runner.d.ts +49 -0
- package/adapters/features/cucumber/src/cucumber-feature-runner.js +114 -0
- package/adapters/features/cucumber/src/cucumber-installation.d.ts +14 -0
- package/adapters/features/cucumber/src/cucumber-installation.js +44 -0
- package/adapters/features/cucumber/src/cucumber-report.d.ts +11 -0
- package/adapters/features/cucumber/src/cucumber-report.js +121 -0
- package/adapters/features/cucumber/src/cucumber-run.d.ts +38 -0
- package/adapters/features/cucumber/src/cucumber-run.js +126 -0
- package/adapters/features/cucumber/src/glob-feature-source.d.ts +9 -0
- package/adapters/features/cucumber/src/glob-feature-source.js +31 -0
- package/adapters/features/cucumber/src/in-process-cucumber-run.d.ts +20 -0
- package/adapters/features/cucumber/src/in-process-cucumber-run.js +119 -0
- package/adapters/features/cucumber/src/index.d.ts +9 -0
- package/adapters/features/cucumber/src/index.js +11 -0
- package/adapters/features/cucumber/src/plain-format.d.ts +11 -0
- package/adapters/features/cucumber/src/plain-format.js +20 -0
- package/adapters/features/cucumber/src/plain-run.d.ts +153 -0
- package/adapters/features/cucumber/src/plain-run.js +207 -0
- package/adapters/features/cucumber/src/run-log.d.ts +16 -0
- package/adapters/features/cucumber/src/run-log.js +50 -0
- package/adapters/features/cucumber/src/steps/feature-session-settings.d.ts +7 -0
- package/adapters/features/cucumber/src/steps/feature-session-settings.js +15 -0
- package/adapters/features/cucumber/src/steps/register-feature-steps.d.ts +144 -0
- package/adapters/features/cucumber/src/steps/register-feature-steps.js +276 -0
- package/adapters/features/cucumber/src/support/bundled-support.d.ts +1 -0
- package/adapters/features/cucumber/src/support/bundled-support.js +69 -0
- package/adapters/host/dotli/README.md +135 -0
- package/adapters/host/dotli/src/dotli-build.d.ts +85 -0
- package/adapters/host/dotli/src/dotli-build.js +169 -0
- package/adapters/host/dotli/src/dotli-host-factory.d.ts +66 -0
- package/adapters/host/dotli/src/dotli-host-factory.js +82 -0
- package/adapters/host/dotli/src/dotli-host.d.ts +182 -0
- package/adapters/host/dotli/src/dotli-host.js +327 -0
- package/adapters/host/dotli/src/dotli-server.d.ts +9 -0
- package/adapters/host/dotli/src/dotli-server.js +135 -0
- package/adapters/host/dotli/src/framing.d.ts +10 -0
- package/adapters/host/dotli/src/framing.js +20 -0
- package/adapters/host/dotli/src/index.d.ts +40 -0
- package/adapters/host/dotli/src/index.js +21 -0
- package/adapters/host/dotli/src/interception.d.ts +59 -0
- package/adapters/host/dotli/src/interception.js +115 -0
- package/adapters/host/dotli/src/page-console.d.ts +40 -0
- package/adapters/host/dotli/src/page-console.js +44 -0
- package/adapters/host/dotli/src/routing.d.ts +119 -0
- package/adapters/host/dotli/src/routing.js +157 -0
- package/adapters/host/truapi-cli/README.md +807 -0
- package/adapters/host/truapi-cli/host.lock.json +33 -0
- package/adapters/host/truapi-cli/src/acquire.d.ts +81 -0
- package/adapters/host/truapi-cli/src/acquire.js +213 -0
- package/adapters/host/truapi-cli/src/attest-provision.d.ts +49 -0
- package/adapters/host/truapi-cli/src/attest-provision.js +181 -0
- package/adapters/host/truapi-cli/src/build.d.ts +45 -0
- package/adapters/host/truapi-cli/src/build.js +234 -0
- package/adapters/host/truapi-cli/src/capability-probes.d.ts +66 -0
- package/adapters/host/truapi-cli/src/capability-probes.js +272 -0
- package/adapters/host/truapi-cli/src/checkout.d.ts +25 -0
- package/adapters/host/truapi-cli/src/checkout.js +33 -0
- package/adapters/host/truapi-cli/src/cli-identity.d.ts +12 -0
- package/adapters/host/truapi-cli/src/cli-identity.js +31 -0
- package/adapters/host/truapi-cli/src/cli-session.d.ts +12 -0
- package/adapters/host/truapi-cli/src/cli-session.js +245 -0
- package/adapters/host/truapi-cli/src/conditioned-routing.d.ts +17 -0
- package/adapters/host/truapi-cli/src/conditioned-routing.js +48 -0
- package/adapters/host/truapi-cli/src/host-cache.d.ts +25 -0
- package/adapters/host/truapi-cli/src/host-cache.js +131 -0
- package/adapters/host/truapi-cli/src/host-link.d.ts +16 -0
- package/adapters/host/truapi-cli/src/host-link.js +87 -0
- package/adapters/host/truapi-cli/src/host-lock.d.ts +59 -0
- package/adapters/host/truapi-cli/src/host-lock.js +81 -0
- package/adapters/host/truapi-cli/src/host-options.d.ts +65 -0
- package/adapters/host/truapi-cli/src/host-options.js +61 -0
- package/adapters/host/truapi-cli/src/host-process.d.ts +79 -0
- package/adapters/host/truapi-cli/src/host-process.js +160 -0
- package/adapters/host/truapi-cli/src/host-records.d.ts +73 -0
- package/adapters/host/truapi-cli/src/host-records.js +16 -0
- package/adapters/host/truapi-cli/src/host-requests.d.ts +24 -0
- package/adapters/host/truapi-cli/src/host-requests.js +75 -0
- package/adapters/host/truapi-cli/src/host-temp-dir.d.ts +26 -0
- package/adapters/host/truapi-cli/src/host-temp-dir.js +31 -0
- package/adapters/host/truapi-cli/src/host-types.d.ts +115 -0
- package/adapters/host/truapi-cli/src/host-types.js +3 -0
- package/adapters/host/truapi-cli/src/host-verification.d.ts +20 -0
- package/adapters/host/truapi-cli/src/host-verification.js +101 -0
- package/adapters/host/truapi-cli/src/host.d.ts +14 -0
- package/adapters/host/truapi-cli/src/host.js +186 -0
- package/adapters/host/truapi-cli/src/identity-fingerprint.d.ts +3 -0
- package/adapters/host/truapi-cli/src/identity-fingerprint.js +6 -0
- package/adapters/host/truapi-cli/src/index.d.ts +26 -0
- package/adapters/host/truapi-cli/src/index.js +28 -0
- package/adapters/host/truapi-cli/src/launch.d.ts +113 -0
- package/adapters/host/truapi-cli/src/launch.js +244 -0
- package/adapters/host/truapi-cli/src/navigation.d.ts +23 -0
- package/adapters/host/truapi-cli/src/navigation.js +111 -0
- package/adapters/host/truapi-cli/src/network-config.d.ts +35 -0
- package/adapters/host/truapi-cli/src/network-config.js +41 -0
- package/adapters/host/truapi-cli/src/network-guard.d.ts +37 -0
- package/adapters/host/truapi-cli/src/network-guard.js +72 -0
- package/adapters/host/truapi-cli/src/official-behaviours.d.ts +33 -0
- package/adapters/host/truapi-cli/src/official-behaviours.js +57 -0
- package/adapters/host/truapi-cli/src/official-release.d.ts +18 -0
- package/adapters/host/truapi-cli/src/official-release.js +57 -0
- package/adapters/host/truapi-cli/src/patch-catalogue.d.ts +8 -0
- package/adapters/host/truapi-cli/src/patch-catalogue.js +9 -0
- package/adapters/host/truapi-cli/src/patch-manifest.d.ts +78 -0
- package/adapters/host/truapi-cli/src/patch-manifest.js +103 -0
- package/adapters/host/truapi-cli/src/patches.d.ts +36 -0
- package/adapters/host/truapi-cli/src/patches.js +7 -0
- package/adapters/host/truapi-cli/src/probe-script.d.ts +21 -0
- package/adapters/host/truapi-cli/src/probe-script.js +85 -0
- package/adapters/host/truapi-cli/src/probe-stub.d.ts +41 -0
- package/adapters/host/truapi-cli/src/probe-stub.js +187 -0
- package/adapters/host/truapi-cli/src/product-config.d.ts +17 -0
- package/adapters/host/truapi-cli/src/product-config.js +35 -0
- package/adapters/host/truapi-cli/src/provision.d.ts +88 -0
- package/adapters/host/truapi-cli/src/provision.js +172 -0
- package/adapters/host/truapi-cli/src/rebase-check.d.ts +218 -0
- package/adapters/host/truapi-cli/src/rebase-check.js +366 -0
- package/adapters/host/truapi-cli/src/resolved-host.d.ts +23 -0
- package/adapters/host/truapi-cli/src/resolved-host.js +31 -0
- package/adapters/host/truapi-cli/src/route-release.d.ts +65 -0
- package/adapters/host/truapi-cli/src/route-release.js +133 -0
- package/adapters/host/truapi-cli/src/sandbox-spec.d.ts +4 -0
- package/adapters/host/truapi-cli/src/sandbox-spec.js +14 -0
- package/adapters/host/truapi-cli/src/script-account-read.d.ts +48 -0
- package/adapters/host/truapi-cli/src/script-account-read.js +98 -0
- package/adapters/host/truapi-cli/src/serve-persisted.d.ts +47 -0
- package/adapters/host/truapi-cli/src/serve-persisted.js +115 -0
- package/adapters/host/truapi-cli/src/signing-evidence.d.ts +4 -0
- package/adapters/host/truapi-cli/src/signing-evidence.js +71 -0
- package/adapters/host/truapi-cli/src/signing-host-flags.d.ts +9 -0
- package/adapters/host/truapi-cli/src/signing-host-flags.js +24 -0
- package/adapters/host/truapi-cli/src/truapi-cli-host-factory.d.ts +210 -0
- package/adapters/host/truapi-cli/src/truapi-cli-host-factory.js +345 -0
- package/adapters/host/truapi-wasm/README.md +228 -0
- package/adapters/host/truapi-wasm/src/bulletin-read-probe.d.ts +42 -0
- package/adapters/host/truapi-wasm/src/bulletin-read-probe.js +69 -0
- package/adapters/host/truapi-wasm/src/config.d.ts +79 -0
- package/adapters/host/truapi-wasm/src/config.js +80 -0
- package/adapters/host/truapi-wasm/src/endpoint-chains.d.ts +5 -0
- package/adapters/host/truapi-wasm/src/endpoint-chains.js +30 -0
- package/adapters/host/truapi-wasm/src/entropy-patch.d.ts +27 -0
- package/adapters/host/truapi-wasm/src/entropy-patch.js +23 -0
- package/adapters/host/truapi-wasm/src/framing.d.ts +10 -0
- package/adapters/host/truapi-wasm/src/framing.js +20 -0
- package/adapters/host/truapi-wasm/src/host-package.d.ts +38 -0
- package/adapters/host/truapi-wasm/src/host-package.js +119 -0
- package/adapters/host/truapi-wasm/src/host-page-layout.d.ts +12 -0
- package/adapters/host/truapi-wasm/src/host-page-layout.js +16 -0
- package/adapters/host/truapi-wasm/src/identity.d.ts +3 -0
- package/adapters/host/truapi-wasm/src/identity.js +8 -0
- package/adapters/host/truapi-wasm/src/index.d.ts +25 -0
- package/adapters/host/truapi-wasm/src/index.js +15 -0
- package/adapters/host/truapi-wasm/src/own-script.d.ts +4 -0
- package/adapters/host/truapi-wasm/src/own-script.js +4 -0
- package/adapters/host/truapi-wasm/src/provider.d.ts +190 -0
- package/adapters/host/truapi-wasm/src/provider.js +496 -0
- package/adapters/host/truapi-wasm/src/ring-vrf-member.d.ts +4 -0
- package/adapters/host/truapi-wasm/src/ring-vrf-member.js +47 -0
- package/adapters/host/truapi-wasm/src/route-release.d.ts +29 -0
- package/adapters/host/truapi-wasm/src/route-release.js +47 -0
- package/adapters/host/truapi-wasm/src/shared-host.d.ts +94 -0
- package/adapters/host/truapi-wasm/src/shared-host.js +63 -0
- package/adapters/host/truapi-wasm/src/shared-page.d.ts +1 -0
- package/adapters/host/truapi-wasm/src/shared-page.js +336 -0
- package/adapters/host/truapi-wasm/src/sign-in.d.ts +44 -0
- package/adapters/host/truapi-wasm/src/sign-in.js +38 -0
- package/adapters/host/truapi-wasm/src/truapi-pairing.d.ts +7 -0
- package/adapters/host/truapi-wasm/src/truapi-pairing.js +23 -0
- package/adapters/host/truapi-wasm/src/truapi-wasm-host-factory.d.ts +111 -0
- package/adapters/host/truapi-wasm/src/truapi-wasm-host-factory.js +99 -0
- package/adapters/keys/sr25519/README.md +53 -0
- package/adapters/keys/sr25519/src/index.d.ts +3 -0
- package/adapters/keys/sr25519/src/index.js +5 -0
- package/adapters/keys/sr25519/src/sr25519-key-derivation.d.ts +34 -0
- package/adapters/keys/sr25519/src/sr25519-key-derivation.js +66 -0
- package/adapters/keys/sr25519/src/sr25519-product-accounts.d.ts +8 -0
- package/adapters/keys/sr25519/src/sr25519-product-accounts.js +95 -0
- package/adapters/lab/module/src/config-path.d.ts +2 -0
- package/adapters/lab/module/src/config-path.js +10 -0
- package/adapters/lab/module/src/definition-lab-source.d.ts +11 -0
- package/adapters/lab/module/src/definition-lab-source.js +16 -0
- package/adapters/lab/module/src/index.d.ts +6 -0
- package/adapters/lab/module/src/index.js +8 -0
- package/adapters/lab/module/src/module-host-tools.d.ts +11 -0
- package/adapters/lab/module/src/module-host-tools.js +37 -0
- package/adapters/lab/module/src/module-lab-source.d.ts +16 -0
- package/adapters/lab/module/src/module-lab-source.js +50 -0
- package/adapters/lab/module/src/reload-hook.mjs +24 -0
- package/adapters/lab/module/src/source-fingerprint.d.ts +8 -0
- package/adapters/lab/module/src/source-fingerprint.js +48 -0
- package/adapters/lab/module/src/transpiled-client-bundles.d.ts +8 -0
- package/adapters/lab/module/src/transpiled-client-bundles.js +57 -0
- package/adapters/notify/file/README.md +5 -0
- package/adapters/notify/file/src/file-notifier.d.ts +11 -0
- package/adapters/notify/file/src/file-notifier.js +45 -0
- package/adapters/notify/file/src/index.d.ts +2 -0
- package/adapters/notify/file/src/index.js +4 -0
- package/adapters/notify/file/src/noop-notifier.d.ts +6 -0
- package/adapters/notify/file/src/noop-notifier.js +8 -0
- package/adapters/storage/filesystem/README.md +41 -0
- package/adapters/storage/filesystem/src/directory-fixture-source.d.ts +19 -0
- package/adapters/storage/filesystem/src/directory-fixture-source.js +83 -0
- package/adapters/storage/filesystem/src/file-breakpoint-store.d.ts +4 -0
- package/adapters/storage/filesystem/src/file-breakpoint-store.js +5 -0
- package/adapters/storage/filesystem/src/file-environment-option-choices.d.ts +11 -0
- package/adapters/storage/filesystem/src/file-environment-option-choices.js +44 -0
- package/adapters/storage/filesystem/src/file-evidence-journal.d.ts +10 -0
- package/adapters/storage/filesystem/src/file-evidence-journal.js +19 -0
- package/adapters/storage/filesystem/src/file-fixture-archives.d.ts +17 -0
- package/adapters/storage/filesystem/src/file-fixture-archives.js +250 -0
- package/adapters/storage/filesystem/src/file-fixture-store.d.ts +29 -0
- package/adapters/storage/filesystem/src/file-fixture-store.js +209 -0
- package/adapters/storage/filesystem/src/file-journey-docs.d.ts +9 -0
- package/adapters/storage/filesystem/src/file-journey-docs.js +113 -0
- package/adapters/storage/filesystem/src/file-json-document.d.ts +7 -0
- package/adapters/storage/filesystem/src/file-json-document.js +30 -0
- package/adapters/storage/filesystem/src/file-lab-settings-store.d.ts +4 -0
- package/adapters/storage/filesystem/src/file-lab-settings-store.js +5 -0
- package/adapters/storage/filesystem/src/file-lock-store.d.ts +23 -0
- package/adapters/storage/filesystem/src/file-lock-store.js +55 -0
- package/adapters/storage/filesystem/src/file-recording-store.d.ts +22 -0
- package/adapters/storage/filesystem/src/file-recording-store.js +161 -0
- package/adapters/storage/filesystem/src/file-rpc-choices.d.ts +11 -0
- package/adapters/storage/filesystem/src/file-rpc-choices.js +46 -0
- package/adapters/storage/filesystem/src/file-run-bundle-archives.d.ts +8 -0
- package/adapters/storage/filesystem/src/file-run-bundle-archives.js +200 -0
- package/adapters/storage/filesystem/src/file-run-manifest-store.d.ts +17 -0
- package/adapters/storage/filesystem/src/file-run-manifest-store.js +26 -0
- package/adapters/storage/filesystem/src/file-suite-evidence-bundles.d.ts +16 -0
- package/adapters/storage/filesystem/src/file-suite-evidence-bundles.js +168 -0
- package/adapters/storage/filesystem/src/file-visual-baselines.d.ts +10 -0
- package/adapters/storage/filesystem/src/file-visual-baselines.js +42 -0
- package/adapters/storage/filesystem/src/index.d.ts +18 -0
- package/adapters/storage/filesystem/src/index.js +20 -0
- package/adapters/storage/filesystem/src/lock-running-lab-record.d.ts +13 -0
- package/adapters/storage/filesystem/src/lock-running-lab-record.js +63 -0
- package/adapters/storage/filesystem/src/node-file-system.d.ts +21 -0
- package/adapters/storage/filesystem/src/node-file-system.js +122 -0
- package/adapters/storage/filesystem/src/running-lab.d.ts +2 -0
- package/adapters/storage/filesystem/src/running-lab.js +4 -0
- package/adapters/storage/filesystem/src/tar-archive.d.ts +73 -0
- package/adapters/storage/filesystem/src/tar-archive.js +401 -0
- package/adapters/storage/filesystem/src/workspace-store.d.ts +33 -0
- package/adapters/storage/filesystem/src/workspace-store.js +51 -0
- package/adapters/system/node/README.md +141 -0
- package/adapters/system/node/src/app-proxy/bridge-script.d.ts +21 -0
- package/adapters/system/node/src/app-proxy/bridge-script.js +186 -0
- package/adapters/system/node/src/app-proxy/next-turbopack-updates.d.ts +2 -0
- package/adapters/system/node/src/app-proxy/next-turbopack-updates.js +13 -0
- package/adapters/system/node/src/app-proxy/next-webpack-updates.d.ts +2 -0
- package/adapters/system/node/src/app-proxy/next-webpack-updates.js +19 -0
- package/adapters/system/node/src/app-proxy/node-app-proxy.d.ts +15 -0
- package/adapters/system/node/src/app-proxy/node-app-proxy.js +395 -0
- package/adapters/system/node/src/app-proxy/vite-updates.d.ts +2 -0
- package/adapters/system/node/src/app-proxy/vite-updates.js +8 -0
- package/adapters/system/node/src/app-proxy/web-socket-tunnel.d.ts +28 -0
- package/adapters/system/node/src/app-proxy/web-socket-tunnel.js +479 -0
- package/adapters/system/node/src/app-proxy/webpack-dev-server-updates.d.ts +2 -0
- package/adapters/system/node/src/app-proxy/webpack-dev-server-updates.js +13 -0
- package/adapters/system/node/src/console-logger.d.ts +25 -0
- package/adapters/system/node/src/console-logger.js +31 -0
- package/adapters/system/node/src/file-lock-manager.d.ts +26 -0
- package/adapters/system/node/src/file-lock-manager.js +103 -0
- package/adapters/system/node/src/git-change-source.d.ts +37 -0
- package/adapters/system/node/src/git-change-source.js +127 -0
- package/adapters/system/node/src/http-json-rpc-client.d.ts +20 -0
- package/adapters/system/node/src/http-json-rpc-client.js +25 -0
- package/adapters/system/node/src/index.d.ts +35 -0
- package/adapters/system/node/src/index.js +37 -0
- package/adapters/system/node/src/json-rpc-reply.d.ts +6 -0
- package/adapters/system/node/src/json-rpc-reply.js +18 -0
- package/adapters/system/node/src/linux-namespace-sandbox.d.ts +53 -0
- package/adapters/system/node/src/linux-namespace-sandbox.js +143 -0
- package/adapters/system/node/src/linux-network-namespace.mjs +177 -0
- package/adapters/system/node/src/lsof-connection-monitor.d.ts +50 -0
- package/adapters/system/node/src/lsof-connection-monitor.js +208 -0
- package/adapters/system/node/src/node-chain-gates.d.ts +10 -0
- package/adapters/system/node/src/node-chain-gates.js +173 -0
- package/adapters/system/node/src/node-command-runner.d.ts +17 -0
- package/adapters/system/node/src/node-command-runner.js +143 -0
- package/adapters/system/node/src/node-conditioned-links.d.ts +4 -0
- package/adapters/system/node/src/node-conditioned-links.js +140 -0
- package/adapters/system/node/src/node-document-headers.d.ts +28 -0
- package/adapters/system/node/src/node-document-headers.js +38 -0
- package/adapters/system/node/src/node-http-probe.d.ts +21 -0
- package/adapters/system/node/src/node-http-probe.js +39 -0
- package/adapters/system/node/src/node-machine-metrics.d.ts +61 -0
- package/adapters/system/node/src/node-machine-metrics.js +109 -0
- package/adapters/system/node/src/node-os-ports.d.ts +24 -0
- package/adapters/system/node/src/node-os-ports.js +82 -0
- package/adapters/system/node/src/node-owned-processes.d.ts +96 -0
- package/adapters/system/node/src/node-owned-processes.js +440 -0
- package/adapters/system/node/src/node-process-runner.d.ts +51 -0
- package/adapters/system/node/src/node-process-runner.js +110 -0
- package/adapters/system/node/src/node-process-sandbox.d.ts +51 -0
- package/adapters/system/node/src/node-process-sandbox.js +79 -0
- package/adapters/system/node/src/node-source-watcher.d.ts +7 -0
- package/adapters/system/node/src/node-source-watcher.js +91 -0
- package/adapters/system/node/src/node-stdio-worker.d.ts +11 -0
- package/adapters/system/node/src/node-stdio-worker.js +133 -0
- package/adapters/system/node/src/node-sync-command-runner.d.ts +8 -0
- package/adapters/system/node/src/node-sync-command-runner.js +96 -0
- package/adapters/system/node/src/node-terminal-command-runner.d.ts +14 -0
- package/adapters/system/node/src/node-terminal-command-runner.js +23 -0
- package/adapters/system/node/src/node-tree-cloner.d.ts +16 -0
- package/adapters/system/node/src/node-tree-cloner.js +46 -0
- package/adapters/system/node/src/owned-group-anchor.mjs +72 -0
- package/adapters/system/node/src/port-blocks.d.ts +32 -0
- package/adapters/system/node/src/port-blocks.js +132 -0
- package/adapters/system/node/src/process-environment-variables.d.ts +8 -0
- package/adapters/system/node/src/process-environment-variables.js +14 -0
- package/adapters/system/node/src/process-group.d.ts +35 -0
- package/adapters/system/node/src/process-group.js +81 -0
- package/adapters/system/node/src/process-table.d.ts +25 -0
- package/adapters/system/node/src/process-table.js +8 -0
- package/adapters/system/node/src/process.d.ts +7 -0
- package/adapters/system/node/src/process.js +9 -0
- package/adapters/system/node/src/ps-process-table.d.ts +34 -0
- package/adapters/system/node/src/ps-process-table.js +87 -0
- package/adapters/system/node/src/random-id-generator.d.ts +5 -0
- package/adapters/system/node/src/random-id-generator.js +8 -0
- package/adapters/system/node/src/recorded-members.d.ts +10 -0
- package/adapters/system/node/src/recorded-members.js +24 -0
- package/adapters/system/node/src/request-head.d.ts +9 -0
- package/adapters/system/node/src/request-head.js +37 -0
- package/adapters/system/node/src/system-clock.d.ts +7 -0
- package/adapters/system/node/src/system-clock.js +25 -0
- package/adapters/system/node/src/tcp-port-allocator.d.ts +56 -0
- package/adapters/system/node/src/tcp-port-allocator.js +117 -0
- package/adapters/system/node/src/web-socket-json-rpc-client.d.ts +23 -0
- package/adapters/system/node/src/web-socket-json-rpc-client.js +54 -0
- package/adapters/versions/chain/README.md +40 -0
- package/adapters/versions/chain/src/deployed-runtime-source.d.ts +43 -0
- package/adapters/versions/chain/src/deployed-runtime-source.js +97 -0
- package/adapters/versions/chain/src/index.d.ts +1 -0
- package/adapters/versions/chain/src/index.js +3 -0
- package/adapters/versions/github/README.md +108 -0
- package/adapters/versions/github/src/fetch-http-client.d.ts +15 -0
- package/adapters/versions/github/src/fetch-http-client.js +23 -0
- package/adapters/versions/github/src/github-release-artifacts.d.ts +36 -0
- package/adapters/versions/github/src/github-release-artifacts.js +166 -0
- package/adapters/versions/github/src/github-release-fixture-source.d.ts +51 -0
- package/adapters/versions/github/src/github-release-fixture-source.js +193 -0
- package/adapters/versions/github/src/github-version-source.d.ts +78 -0
- package/adapters/versions/github/src/github-version-source.js +281 -0
- package/adapters/versions/github/src/index.d.ts +4 -0
- package/adapters/versions/github/src/index.js +6 -0
- package/adapters/versions/npm/README.md +32 -0
- package/adapters/versions/npm/src/index.d.ts +1 -0
- package/adapters/versions/npm/src/index.js +3 -0
- package/adapters/versions/npm/src/npm-version-source.d.ts +53 -0
- package/adapters/versions/npm/src/npm-version-source.js +151 -0
- package/adapters/video/ffmpeg/README.md +39 -0
- package/adapters/video/ffmpeg/src/ffmpeg-video-editor.d.ts +40 -0
- package/adapters/video/ffmpeg/src/ffmpeg-video-editor.js +105 -0
- package/adapters/video/ffmpeg/src/index.d.ts +1 -0
- package/adapters/video/ffmpeg/src/index.js +3 -0
- package/adapters/visual/pixelmatch/README.md +29 -0
- package/adapters/visual/pixelmatch/src/index.d.ts +1 -0
- package/adapters/visual/pixelmatch/src/index.js +3 -0
- package/adapters/visual/pixelmatch/src/pixelmatch-comparison.d.ts +10 -0
- package/adapters/visual/pixelmatch/src/pixelmatch-comparison.js +19 -0
- package/composition/README.md +281 -0
- package/composition/src/actor-conditions.d.ts +14 -0
- package/composition/src/actor-conditions.js +36 -0
- package/composition/src/actor-funds.d.ts +18 -0
- package/composition/src/actor-funds.js +17 -0
- package/composition/src/adapter-catalogue.d.ts +39 -0
- package/composition/src/adapter-catalogue.js +59 -0
- package/composition/src/app-readiness.d.ts +32 -0
- package/composition/src/app-readiness.js +141 -0
- package/composition/src/app-server.d.ts +52 -0
- package/composition/src/app-server.js +124 -0
- package/composition/src/app-updates.d.ts +1 -0
- package/composition/src/app-updates.js +3 -0
- package/composition/src/artifacts.d.ts +3 -0
- package/composition/src/artifacts.js +6 -0
- package/composition/src/attached/attached-lab-runtime.d.ts +13 -0
- package/composition/src/attached/attached-lab-runtime.js +112 -0
- package/composition/src/attached/attached-runs.d.ts +47 -0
- package/composition/src/attached/attached-runs.js +119 -0
- package/composition/src/attached/following-lab-runtime.d.ts +10 -0
- package/composition/src/attached/following-lab-runtime.js +41 -0
- package/composition/src/attached/headless-lab.d.ts +20 -0
- package/composition/src/attached/headless-lab.js +65 -0
- package/composition/src/attached/lab-window-launcher.d.ts +33 -0
- package/composition/src/attached/lab-window-launcher.js +78 -0
- package/composition/src/attached/window-client.d.ts +21 -0
- package/composition/src/attached/window-client.js +72 -0
- package/composition/src/chain-connections.d.ts +39 -0
- package/composition/src/chain-connections.js +52 -0
- package/composition/src/checkout.d.ts +4 -0
- package/composition/src/checkout.js +11 -0
- package/composition/src/chopsticks-of-fast.d.ts +34 -0
- package/composition/src/chopsticks-of-fast.js +91 -0
- package/composition/src/create-lab-runtime.d.ts +70 -0
- package/composition/src/create-lab-runtime.js +248 -0
- package/composition/src/cucumber.d.ts +8 -0
- package/composition/src/cucumber.js +8 -0
- package/composition/src/default-dev-server.d.ts +20 -0
- package/composition/src/default-dev-server.js +52 -0
- package/composition/src/default-lab.d.ts +79 -0
- package/composition/src/default-lab.js +597 -0
- package/composition/src/default-session-browser.d.ts +7 -0
- package/composition/src/default-session-browser.js +17 -0
- package/composition/src/default-session-keep.d.ts +60 -0
- package/composition/src/default-session-keep.js +86 -0
- package/composition/src/default-session-page.d.ts +35 -0
- package/composition/src/default-session-page.js +40 -0
- package/composition/src/default-session-persons.d.ts +51 -0
- package/composition/src/default-session-persons.js +42 -0
- package/composition/src/default-session.d.ts +12 -0
- package/composition/src/default-session.js +594 -0
- package/composition/src/demo-ports.d.ts +8 -0
- package/composition/src/demo-ports.js +21 -0
- package/composition/src/deployed-app-server.d.ts +36 -0
- package/composition/src/deployed-app-server.js +62 -0
- package/composition/src/deployed-local-app.d.ts +30 -0
- package/composition/src/deployed-local-app.js +48 -0
- package/composition/src/device-browsers.d.ts +6 -0
- package/composition/src/device-browsers.js +16 -0
- package/composition/src/engine-setup.d.ts +1 -0
- package/composition/src/engine-setup.js +37 -0
- package/composition/src/feature-runtime.d.ts +5 -0
- package/composition/src/feature-runtime.js +12 -0
- package/composition/src/fixture-sharing.d.ts +12 -0
- package/composition/src/fixture-sharing.js +62 -0
- package/composition/src/fork-attach.d.ts +31 -0
- package/composition/src/fork-attach.js +80 -0
- package/composition/src/fork-live.d.ts +13 -0
- package/composition/src/fork-live.js +70 -0
- package/composition/src/gateway-program.d.ts +1 -0
- package/composition/src/gateway-program.js +24 -0
- package/composition/src/gateway-shutdown.d.ts +4 -0
- package/composition/src/gateway-shutdown.js +13 -0
- package/composition/src/host-tool-services.d.ts +21 -0
- package/composition/src/host-tool-services.js +27 -0
- package/composition/src/host-words.d.ts +3 -0
- package/composition/src/host-words.js +16 -0
- package/composition/src/identity-funding.d.ts +37 -0
- package/composition/src/identity-funding.js +92 -0
- package/composition/src/index.d.ts +38 -0
- package/composition/src/index.js +40 -0
- package/composition/src/machine-inputs.d.ts +67 -0
- package/composition/src/machine-inputs.js +98 -0
- package/composition/src/network-copies.d.ts +19 -0
- package/composition/src/network-copies.js +44 -0
- package/composition/src/node-system.d.ts +69 -0
- package/composition/src/node-system.js +89 -0
- package/composition/src/observe-browser-page.d.ts +15 -0
- package/composition/src/observe-browser-page.js +39 -0
- package/composition/src/old-environment-state.d.ts +13 -0
- package/composition/src/old-environment-state.js +138 -0
- package/composition/src/people-dev/genesis.d.ts +20 -0
- package/composition/src/people-dev/genesis.js +6 -0
- package/composition/src/people-dev/member-key.d.ts +58 -0
- package/composition/src/people-dev/member-key.js +110 -0
- package/composition/src/people-dev/onboarding.d.ts +142 -0
- package/composition/src/people-dev/onboarding.js +220 -0
- package/composition/src/people-dev/people-chunks.json +14 -0
- package/composition/src/people-dev/readings.d.ts +15 -0
- package/composition/src/people-dev/readings.js +35 -0
- package/composition/src/people-dev/xcm-stand-in.d.ts +163 -0
- package/composition/src/people-dev/xcm-stand-in.js +183 -0
- package/composition/src/people-keep/discard.d.ts +29 -0
- package/composition/src/people-keep/discard.js +59 -0
- package/composition/src/people-keep/kept-people.d.ts +53 -0
- package/composition/src/people-keep/kept-people.js +56 -0
- package/composition/src/people-keep/lifecycle.d.ts +48 -0
- package/composition/src/people-keep/lifecycle.js +69 -0
- package/composition/src/people-keep/saved-people.d.ts +35 -0
- package/composition/src/people-keep/saved-people.js +56 -0
- package/composition/src/platform/index.d.ts +1 -0
- package/composition/src/platform/index.js +3 -0
- package/composition/src/platform/platform-integration.d.ts +41 -0
- package/composition/src/platform/platform-integration.js +251 -0
- package/composition/src/platform/reported-ports.d.ts +4 -0
- package/composition/src/platform/reported-ports.js +31 -0
- package/composition/src/pre-onboarded-identities.d.ts +12 -0
- package/composition/src/pre-onboarded-identities.js +42 -0
- package/composition/src/process.d.ts +22 -0
- package/composition/src/process.js +27 -0
- package/composition/src/product-versions.d.ts +40 -0
- package/composition/src/product-versions.js +51 -0
- package/composition/src/public-identities.d.ts +44 -0
- package/composition/src/public-identities.js +88 -0
- package/composition/src/recording-browsers.d.ts +3 -0
- package/composition/src/recording-browsers.js +9 -0
- package/composition/src/recordings-directory.d.ts +1 -0
- package/composition/src/recordings-directory.js +10 -0
- package/composition/src/redact-console.d.ts +5 -0
- package/composition/src/redact-console.js +10 -0
- package/composition/src/root-call-support.d.ts +3 -0
- package/composition/src/root-call-support.js +16 -0
- package/composition/src/running-lab-variable.d.ts +8 -0
- package/composition/src/running-lab-variable.js +14 -0
- package/composition/src/session-frames.d.ts +5 -0
- package/composition/src/session-frames.js +12 -0
- package/composition/src/session-hosts.d.ts +66 -0
- package/composition/src/session-hosts.js +217 -0
- package/composition/src/session-placement.d.ts +25 -0
- package/composition/src/session-placement.js +21 -0
- package/composition/src/versions/lab-version-ports.d.ts +27 -0
- package/composition/src/versions/lab-version-ports.js +57 -0
- package/composition/src/versions/version-source-catalogue.d.ts +90 -0
- package/composition/src/versions/version-source-catalogue.js +134 -0
- package/contracts/browser/README.md +65 -0
- package/contracts/browser/src/index.d.ts +2 -0
- package/contracts/browser/src/index.js +4 -0
- package/contracts/browser/src/kit.d.ts +83 -0
- package/contracts/browser/src/kit.js +493 -0
- package/contracts/browser/src/runner.d.ts +71 -0
- package/contracts/browser/src/runner.js +156 -0
- package/contracts/chain/README.md +81 -0
- package/contracts/chain/src/cases/access.d.ts +3 -0
- package/contracts/chain/src/cases/access.js +68 -0
- package/contracts/chain/src/cases/history.d.ts +3 -0
- package/contracts/chain/src/cases/history.js +82 -0
- package/contracts/chain/src/cases/keys.d.ts +3 -0
- package/contracts/chain/src/cases/keys.js +131 -0
- package/contracts/chain/src/cases/submit.d.ts +3 -0
- package/contracts/chain/src/cases/submit.js +223 -0
- package/contracts/chain/src/cases/validator.d.ts +3 -0
- package/contracts/chain/src/cases/validator.js +59 -0
- package/contracts/chain/src/context.d.ts +51 -0
- package/contracts/chain/src/context.js +125 -0
- package/contracts/chain/src/index.d.ts +2 -0
- package/contracts/chain/src/index.js +4 -0
- package/contracts/chain/src/kit.d.ts +36 -0
- package/contracts/chain/src/kit.js +33 -0
- package/contracts/chain/src/runner.d.ts +71 -0
- package/contracts/chain/src/runner.js +156 -0
- package/contracts/chain/src/subject.d.ts +75 -0
- package/contracts/chain/src/subject.js +25 -0
- package/contracts/environment/README.md +90 -0
- package/contracts/environment/src/cases/declared-options.d.ts +3 -0
- package/contracts/environment/src/cases/declared-options.js +103 -0
- package/contracts/environment/src/cases/lifecycle.d.ts +3 -0
- package/contracts/environment/src/cases/lifecycle.js +130 -0
- package/contracts/environment/src/cases/options.d.ts +3 -0
- package/contracts/environment/src/cases/options.js +123 -0
- package/contracts/environment/src/cases/probe.d.ts +3 -0
- package/contracts/environment/src/cases/probe.js +63 -0
- package/contracts/environment/src/cases/topology.d.ts +3 -0
- package/contracts/environment/src/cases/topology.js +101 -0
- package/contracts/environment/src/checks.d.ts +31 -0
- package/contracts/environment/src/checks.js +93 -0
- package/contracts/environment/src/context.d.ts +23 -0
- package/contracts/environment/src/context.js +51 -0
- package/contracts/environment/src/index.d.ts +2 -0
- package/contracts/environment/src/index.js +4 -0
- package/contracts/environment/src/kit.d.ts +32 -0
- package/contracts/environment/src/kit.js +34 -0
- package/contracts/environment/src/runner.d.ts +71 -0
- package/contracts/environment/src/runner.js +156 -0
- package/contracts/environment/src/subject.d.ts +83 -0
- package/contracts/environment/src/subject.js +14 -0
- package/contracts/host/README.md +71 -0
- package/contracts/host/src/cases/approvals.d.ts +3 -0
- package/contracts/host/src/cases/approvals.js +112 -0
- package/contracts/host/src/cases/conditions.d.ts +3 -0
- package/contracts/host/src/cases/conditions.js +43 -0
- package/contracts/host/src/cases/hostile.d.ts +3 -0
- package/contracts/host/src/cases/hostile.js +131 -0
- package/contracts/host/src/cases/identity-navigation.d.ts +3 -0
- package/contracts/host/src/cases/identity-navigation.js +85 -0
- package/contracts/host/src/cases/network.d.ts +3 -0
- package/contracts/host/src/cases/network.js +46 -0
- package/contracts/host/src/cases/sessions.d.ts +3 -0
- package/contracts/host/src/cases/sessions.js +113 -0
- package/contracts/host/src/context.d.ts +85 -0
- package/contracts/host/src/context.js +145 -0
- package/contracts/host/src/derivation.d.ts +19 -0
- package/contracts/host/src/derivation.js +76 -0
- package/contracts/host/src/index.d.ts +6 -0
- package/contracts/host/src/index.js +8 -0
- package/contracts/host/src/kit.d.ts +27 -0
- package/contracts/host/src/kit.js +128 -0
- package/contracts/host/src/module-host-verifier.d.ts +19 -0
- package/contracts/host/src/module-host-verifier.js +80 -0
- package/contracts/host/src/probe/channels.d.ts +18 -0
- package/contracts/host/src/probe/channels.js +11 -0
- package/contracts/host/src/probe/page.d.ts +89 -0
- package/contracts/host/src/probe/page.js +253 -0
- package/contracts/host/src/probe/server.d.ts +23 -0
- package/contracts/host/src/probe/server.js +102 -0
- package/contracts/host/src/probe/truapi-version.d.ts +5 -0
- package/contracts/host/src/probe/truapi-version.js +20 -0
- package/contracts/host/src/targets.d.ts +49 -0
- package/contracts/host/src/targets.js +39 -0
- package/core/application/README.md +517 -0
- package/core/application/src/actors/actor-bindings.d.ts +18 -0
- package/core/application/src/actors/actor-bindings.js +38 -0
- package/core/application/src/actors/actor-view.d.ts +35 -0
- package/core/application/src/actors/actor-view.js +40 -0
- package/core/application/src/actors/bind-actors.d.ts +82 -0
- package/core/application/src/actors/bind-actors.js +156 -0
- package/core/application/src/actors/binding-error.d.ts +4 -0
- package/core/application/src/actors/binding-error.js +5 -0
- package/core/application/src/actors/manage-actors.d.ts +64 -0
- package/core/application/src/actors/manage-actors.js +147 -0
- package/core/application/src/apps/app-gate.d.ts +43 -0
- package/core/application/src/apps/app-gate.js +106 -0
- package/core/application/src/apps/app-reloads.d.ts +74 -0
- package/core/application/src/apps/app-reloads.js +470 -0
- package/core/application/src/apps/app-update-hub.d.ts +33 -0
- package/core/application/src/apps/app-update-hub.js +116 -0
- package/core/application/src/apps/inspect-app-framing.d.ts +9 -0
- package/core/application/src/apps/inspect-app-framing.js +25 -0
- package/core/application/src/bisect/bisect-regression.d.ts +52 -0
- package/core/application/src/bisect/bisect-regression.js +168 -0
- package/core/application/src/bisect/probe-session.d.ts +52 -0
- package/core/application/src/bisect/probe-session.js +208 -0
- package/core/application/src/builder/build-scenarios.d.ts +55 -0
- package/core/application/src/builder/build-scenarios.js +261 -0
- package/core/application/src/environment/account-watch.d.ts +41 -0
- package/core/application/src/environment/account-watch.js +117 -0
- package/core/application/src/environment/active-environment.d.ts +165 -0
- package/core/application/src/environment/active-environment.js +361 -0
- package/core/application/src/environment/advance-environment-time.d.ts +37 -0
- package/core/application/src/environment/advance-environment-time.js +52 -0
- package/core/application/src/environment/chain-day-ended.d.ts +7 -0
- package/core/application/src/environment/chain-day-ended.js +8 -0
- package/core/application/src/environment/confirmations.d.ts +15 -0
- package/core/application/src/environment/confirmations.js +23 -0
- package/core/application/src/environment/endpoint-heads.d.ts +4 -0
- package/core/application/src/environment/endpoint-heads.js +26 -0
- package/core/application/src/environment/endpoint-services.d.ts +13 -0
- package/core/application/src/environment/endpoint-services.js +35 -0
- package/core/application/src/environment/environment-option-picker.d.ts +38 -0
- package/core/application/src/environment/environment-option-picker.js +62 -0
- package/core/application/src/environment/environment-option-views.d.ts +30 -0
- package/core/application/src/environment/environment-option-views.js +22 -0
- package/core/application/src/environment/environment-request-error.d.ts +1 -0
- package/core/application/src/environment/environment-request-error.js +3 -0
- package/core/application/src/environment/environment-retention.d.ts +11 -0
- package/core/application/src/environment/environment-retention.js +16 -0
- package/core/application/src/environment/environment-rpc.d.ts +17 -0
- package/core/application/src/environment/environment-rpc.js +39 -0
- package/core/application/src/environment/keep-between-starts.d.ts +18 -0
- package/core/application/src/environment/keep-between-starts.js +44 -0
- package/core/application/src/environment/prepare-environment-tooling.d.ts +21 -0
- package/core/application/src/environment/prepare-environment-tooling.js +65 -0
- package/core/application/src/environment/public-writes.d.ts +5 -0
- package/core/application/src/environment/public-writes.js +9 -0
- package/core/application/src/environment/read-chain-console.d.ts +23 -0
- package/core/application/src/environment/read-chain-console.js +117 -0
- package/core/application/src/environment/reset-environment.d.ts +12 -0
- package/core/application/src/environment/reset-environment.js +38 -0
- package/core/application/src/environment/running-labs.d.ts +13 -0
- package/core/application/src/environment/running-labs.js +22 -0
- package/core/application/src/environment/show-environment.d.ts +19 -0
- package/core/application/src/environment/show-environment.js +63 -0
- package/core/application/src/environment/start-environment.d.ts +85 -0
- package/core/application/src/environment/start-environment.js +223 -0
- package/core/application/src/environment/stop-environment.d.ts +11 -0
- package/core/application/src/environment/stop-environment.js +33 -0
- package/core/application/src/environment/switch-environment.d.ts +62 -0
- package/core/application/src/environment/switch-environment.js +175 -0
- package/core/application/src/explore/exploration-runs.d.ts +21 -0
- package/core/application/src/explore/exploration-runs.js +54 -0
- package/core/application/src/explore/explore-lab.d.ts +30 -0
- package/core/application/src/explore/explore-lab.js +185 -0
- package/core/application/src/explore/what-if-lab.d.ts +27 -0
- package/core/application/src/explore/what-if-lab.js +166 -0
- package/core/application/src/features/breakpoint-error.d.ts +4 -0
- package/core/application/src/features/breakpoint-error.js +5 -0
- package/core/application/src/features/check-host-network.d.ts +29 -0
- package/core/application/src/features/check-host-network.js +82 -0
- package/core/application/src/features/check-host-requests.d.ts +5 -0
- package/core/application/src/features/check-host-requests.js +22 -0
- package/core/application/src/features/coverage-lab.d.ts +9 -0
- package/core/application/src/features/coverage-lab.js +74 -0
- package/core/application/src/features/expand-outline.d.ts +9 -0
- package/core/application/src/features/expand-outline.js +16 -0
- package/core/application/src/features/feature-calls.d.ts +49 -0
- package/core/application/src/features/feature-calls.js +104 -0
- package/core/application/src/features/feature-plan-error.d.ts +16 -0
- package/core/application/src/features/feature-plan-error.js +19 -0
- package/core/application/src/features/feature-run-error.d.ts +6 -0
- package/core/application/src/features/feature-run-error.js +10 -0
- package/core/application/src/features/feature-run.d.ts +75 -0
- package/core/application/src/features/feature-run.js +231 -0
- package/core/application/src/features/feature-scenario.d.ts +156 -0
- package/core/application/src/features/feature-scenario.js +623 -0
- package/core/application/src/features/feature-step-error.d.ts +17 -0
- package/core/application/src/features/feature-step-error.js +17 -0
- package/core/application/src/features/feature-step-gate.d.ts +54 -0
- package/core/application/src/features/feature-step-gate.js +93 -0
- package/core/application/src/features/feature-step-times.d.ts +16 -0
- package/core/application/src/features/feature-step-times.js +30 -0
- package/core/application/src/features/feature-steps.d.ts +3 -0
- package/core/application/src/features/feature-steps.js +22 -0
- package/core/application/src/features/inspect-pause.d.ts +27 -0
- package/core/application/src/features/inspect-pause.js +176 -0
- package/core/application/src/features/inspect-scenario.d.ts +14 -0
- package/core/application/src/features/inspect-scenario.js +98 -0
- package/core/application/src/features/lab-feature-session.d.ts +67 -0
- package/core/application/src/features/lab-feature-session.js +264 -0
- package/core/application/src/features/lint-lab.d.ts +15 -0
- package/core/application/src/features/lint-lab.js +204 -0
- package/core/application/src/features/list-features.d.ts +26 -0
- package/core/application/src/features/list-features.js +92 -0
- package/core/application/src/features/manage-breakpoints.d.ts +45 -0
- package/core/application/src/features/manage-breakpoints.js +105 -0
- package/core/application/src/features/no-funds.d.ts +3 -0
- package/core/application/src/features/no-funds.js +13 -0
- package/core/application/src/features/pause-inspection-error.d.ts +4 -0
- package/core/application/src/features/pause-inspection-error.js +5 -0
- package/core/application/src/features/plan-feature-scenario.d.ts +28 -0
- package/core/application/src/features/plan-feature-scenario.js +66 -0
- package/core/application/src/features/plan-mutants.d.ts +9 -0
- package/core/application/src/features/plan-mutants.js +33 -0
- package/core/application/src/features/prepared-characters.d.ts +13 -0
- package/core/application/src/features/prepared-characters.js +52 -0
- package/core/application/src/features/read-scenario-conditions.d.ts +29 -0
- package/core/application/src/features/read-scenario-conditions.js +38 -0
- package/core/application/src/features/reconcile-host-bypass.d.ts +7 -0
- package/core/application/src/features/reconcile-host-bypass.js +20 -0
- package/core/application/src/features/resolve-run-devices.d.ts +14 -0
- package/core/application/src/features/resolve-run-devices.js +31 -0
- package/core/application/src/features/run-feature-steps.d.ts +41 -0
- package/core/application/src/features/run-feature-steps.js +37 -0
- package/core/application/src/features/run-features.d.ts +112 -0
- package/core/application/src/features/run-features.js +397 -0
- package/core/application/src/features/run-scoped-values.d.ts +17 -0
- package/core/application/src/features/run-scoped-values.js +37 -0
- package/core/application/src/features/scenario-actor-creation.d.ts +60 -0
- package/core/application/src/features/scenario-actor-creation.js +107 -0
- package/core/application/src/features/scenario-conditions.d.ts +13 -0
- package/core/application/src/features/scenario-conditions.js +64 -0
- package/core/application/src/features/scenario-inspection.d.ts +5 -0
- package/core/application/src/features/scenario-inspection.js +34 -0
- package/core/application/src/features/scenario-race.d.ts +8 -0
- package/core/application/src/features/scenario-race.js +8 -0
- package/core/application/src/features/scenario-step-checks.d.ts +22 -0
- package/core/application/src/features/scenario-step-checks.js +114 -0
- package/core/application/src/features/step-checks.d.ts +49 -0
- package/core/application/src/features/step-checks.js +42 -0
- package/core/application/src/features/watch-features.d.ts +23 -0
- package/core/application/src/features/watch-features.js +80 -0
- package/core/application/src/fixtures/build-fixture.d.ts +22 -0
- package/core/application/src/fixtures/build-fixture.js +69 -0
- package/core/application/src/fixtures/check-fixtures.d.ts +15 -0
- package/core/application/src/fixtures/check-fixtures.js +80 -0
- package/core/application/src/fixtures/download-fixture.d.ts +19 -0
- package/core/application/src/fixtures/download-fixture.js +92 -0
- package/core/application/src/fixtures/export-fixture.d.ts +16 -0
- package/core/application/src/fixtures/export-fixture.js +87 -0
- package/core/application/src/fixtures/fixture-characters.d.ts +10 -0
- package/core/application/src/fixtures/fixture-characters.js +24 -0
- package/core/application/src/fixtures/fixture-checkout.d.ts +15 -0
- package/core/application/src/fixtures/fixture-checkout.js +25 -0
- package/core/application/src/fixtures/fixture-context.d.ts +79 -0
- package/core/application/src/fixtures/fixture-context.js +139 -0
- package/core/application/src/fixtures/fixture-maintenance-service.d.ts +23 -0
- package/core/application/src/fixtures/fixture-maintenance-service.js +26 -0
- package/core/application/src/fixtures/fixture-run-guard.d.ts +17 -0
- package/core/application/src/fixtures/fixture-run-guard.js +42 -0
- package/core/application/src/fixtures/fixture-sharing-ports.d.ts +17 -0
- package/core/application/src/fixtures/fixture-sharing-ports.js +3 -0
- package/core/application/src/fixtures/fixture-sharing-service.d.ts +22 -0
- package/core/application/src/fixtures/fixture-sharing-service.js +28 -0
- package/core/application/src/fixtures/import-fixture.d.ts +42 -0
- package/core/application/src/fixtures/import-fixture.js +212 -0
- package/core/application/src/fixtures/isolate-scenario.d.ts +23 -0
- package/core/application/src/fixtures/isolate-scenario.js +104 -0
- package/core/application/src/fixtures/keep-run-start.d.ts +36 -0
- package/core/application/src/fixtures/keep-run-start.js +77 -0
- package/core/application/src/fixtures/list-fixtures.d.ts +16 -0
- package/core/application/src/fixtures/list-fixtures.js +91 -0
- package/core/application/src/fixtures/prepare-scenario-fixture.d.ts +42 -0
- package/core/application/src/fixtures/prepare-scenario-fixture.js +157 -0
- package/core/application/src/fixtures/push-fixture.d.ts +15 -0
- package/core/application/src/fixtures/push-fixture.js +43 -0
- package/core/application/src/fixtures/refresh-fixture.d.ts +27 -0
- package/core/application/src/fixtures/refresh-fixture.js +141 -0
- package/core/application/src/fixtures/restore-fixture.d.ts +36 -0
- package/core/application/src/fixtures/restore-fixture.js +129 -0
- package/core/application/src/fixtures/save-fixture.d.ts +35 -0
- package/core/application/src/fixtures/save-fixture.js +137 -0
- package/core/application/src/fixtures/start-from-fixture.d.ts +23 -0
- package/core/application/src/fixtures/start-from-fixture.js +43 -0
- package/core/application/src/hosts/acquire-host.d.ts +23 -0
- package/core/application/src/hosts/acquire-host.js +59 -0
- package/core/application/src/hosts/host-request-error.d.ts +6 -0
- package/core/application/src/hosts/host-request-error.js +10 -0
- package/core/application/src/hosts/verify-host.d.ts +37 -0
- package/core/application/src/hosts/verify-host.js +93 -0
- package/core/application/src/index.d.ts +96 -0
- package/core/application/src/index.js +96 -0
- package/core/application/src/lab/before-close.d.ts +12 -0
- package/core/application/src/lab/before-close.js +14 -0
- package/core/application/src/lab/check-extensions.d.ts +5 -0
- package/core/application/src/lab/check-extensions.js +12 -0
- package/core/application/src/lab/check-lab.d.ts +35 -0
- package/core/application/src/lab/check-lab.js +82 -0
- package/core/application/src/lab/lab-state.d.ts +87 -0
- package/core/application/src/lab/lab-state.js +38 -0
- package/core/application/src/lab/load-lab.d.ts +15 -0
- package/core/application/src/lab/load-lab.js +35 -0
- package/core/application/src/lab/runtime-events.d.ts +7 -0
- package/core/application/src/lab/runtime-events.js +17 -0
- package/core/application/src/lab-runtime-ports.d.ts +297 -0
- package/core/application/src/lab-runtime-ports.js +3 -0
- package/core/application/src/lab-runtime-service.d.ts +281 -0
- package/core/application/src/lab-runtime-service.js +520 -0
- package/core/application/src/lab-runtime-use-cases.d.ts +3 -0
- package/core/application/src/lab-runtime-use-cases.js +280 -0
- package/core/application/src/load/run-load.d.ts +23 -0
- package/core/application/src/load/run-load.js +88 -0
- package/core/application/src/navigation/resolve-navigation-destination.d.ts +8 -0
- package/core/application/src/navigation/resolve-navigation-destination.js +39 -0
- package/core/application/src/orchestration/activity/monitor.d.ts +16 -0
- package/core/application/src/orchestration/activity/monitor.js +49 -0
- package/core/application/src/orchestration/activity/types.d.ts +1 -0
- package/core/application/src/orchestration/activity/types.js +3 -0
- package/core/application/src/orchestration/capabilities.d.ts +8 -0
- package/core/application/src/orchestration/capabilities.js +3 -0
- package/core/application/src/orchestration/chain/account-queue.d.ts +26 -0
- package/core/application/src/orchestration/chain/account-queue.js +61 -0
- package/core/application/src/orchestration/chain/activity-ids.d.ts +14 -0
- package/core/application/src/orchestration/chain/activity-ids.js +11 -0
- package/core/application/src/orchestration/chain/batch-failed-error.d.ts +13 -0
- package/core/application/src/orchestration/chain/batch-failed-error.js +14 -0
- package/core/application/src/orchestration/chain/batch-submission.d.ts +60 -0
- package/core/application/src/orchestration/chain/batch-submission.js +77 -0
- package/core/application/src/orchestration/chain/chain-connection.d.ts +78 -0
- package/core/application/src/orchestration/chain/chain-connection.js +82 -0
- package/core/application/src/orchestration/chain/dispatch-failed-error.d.ts +12 -0
- package/core/application/src/orchestration/chain/dispatch-failed-error.js +16 -0
- package/core/application/src/orchestration/chain/events.d.ts +56 -0
- package/core/application/src/orchestration/chain/events.js +97 -0
- package/core/application/src/orchestration/chain/funding-batch.d.ts +40 -0
- package/core/application/src/orchestration/chain/funding-batch.js +100 -0
- package/core/application/src/orchestration/chain/index.d.ts +14 -0
- package/core/application/src/orchestration/chain/index.js +15 -0
- package/core/application/src/orchestration/chain/root-call-failed-error.d.ts +6 -0
- package/core/application/src/orchestration/chain/root-call-failed-error.js +8 -0
- package/core/application/src/orchestration/chain/root-call-refused-error.d.ts +6 -0
- package/core/application/src/orchestration/chain/root-call-refused-error.js +8 -0
- package/core/application/src/orchestration/chain/root-caller.d.ts +56 -0
- package/core/application/src/orchestration/chain/root-caller.js +54 -0
- package/core/application/src/orchestration/chain/scenario-journal.d.ts +27 -0
- package/core/application/src/orchestration/chain/scenario-journal.js +28 -0
- package/core/application/src/orchestration/chain/signing-queues.d.ts +28 -0
- package/core/application/src/orchestration/chain/signing-queues.js +93 -0
- package/core/application/src/orchestration/chain/statement-reader.d.ts +79 -0
- package/core/application/src/orchestration/chain/statement-reader.js +108 -0
- package/core/application/src/orchestration/chain/transaction-executor.d.ts +85 -0
- package/core/application/src/orchestration/chain/transaction-executor.js +184 -0
- package/core/application/src/orchestration/chain/unreadable-blocks-error.d.ts +15 -0
- package/core/application/src/orchestration/chain/unreadable-blocks-error.js +17 -0
- package/core/application/src/orchestration/definitions.d.ts +2 -0
- package/core/application/src/orchestration/definitions.js +5 -0
- package/core/application/src/orchestration/host/chain-gate-source.d.ts +34 -0
- package/core/application/src/orchestration/host/chain-gate-source.js +65 -0
- package/core/application/src/orchestration/host/destinations.d.ts +6 -0
- package/core/application/src/orchestration/host/destinations.js +3 -0
- package/core/application/src/orchestration/host/host-registry.d.ts +93 -0
- package/core/application/src/orchestration/host/host-registry.js +255 -0
- package/core/application/src/orchestration/host/host-routes.d.ts +14 -0
- package/core/application/src/orchestration/host/host-routes.js +11 -0
- package/core/application/src/orchestration/host/host-session-registry.d.ts +79 -0
- package/core/application/src/orchestration/host/host-session-registry.js +150 -0
- package/core/application/src/orchestration/host/index.d.ts +8 -0
- package/core/application/src/orchestration/host/index.js +10 -0
- package/core/application/src/orchestration/host/lab-navigation.d.ts +103 -0
- package/core/application/src/orchestration/host/lab-navigation.js +188 -0
- package/core/application/src/orchestration/host/navigation-bridge.d.ts +82 -0
- package/core/application/src/orchestration/host/navigation-bridge.js +123 -0
- package/core/application/src/orchestration/host/port.d.ts +12 -0
- package/core/application/src/orchestration/host/port.js +3 -0
- package/core/application/src/orchestration/host/session-records.d.ts +11 -0
- package/core/application/src/orchestration/host/session-records.js +23 -0
- package/core/application/src/orchestration/identity/index.d.ts +1 -0
- package/core/application/src/orchestration/identity/index.js +3 -0
- package/core/application/src/orchestration/identity/port.d.ts +11 -0
- package/core/application/src/orchestration/identity/port.js +3 -0
- package/core/application/src/orchestration/index.d.ts +52 -0
- package/core/application/src/orchestration/index.js +46 -0
- package/core/application/src/orchestration/integrations/chain-event-assertion.d.ts +49 -0
- package/core/application/src/orchestration/integrations/chain-event-assertion.js +33 -0
- package/core/application/src/orchestration/integrations/define.d.ts +472 -0
- package/core/application/src/orchestration/integrations/define.js +64 -0
- package/core/application/src/orchestration/integrations/generic-sentences.d.ts +1 -0
- package/core/application/src/orchestration/integrations/generic-sentences.js +3 -0
- package/core/application/src/orchestration/integrations/integration-registry.d.ts +53 -0
- package/core/application/src/orchestration/integrations/integration-registry.js +261 -0
- package/core/application/src/orchestration/integrations/integration-scenarios.d.ts +17 -0
- package/core/application/src/orchestration/integrations/integration-scenarios.js +48 -0
- package/core/application/src/orchestration/integrations/integration-sentences.d.ts +78 -0
- package/core/application/src/orchestration/integrations/integration-sentences.js +214 -0
- package/core/application/src/orchestration/integrations/known-submission-error.d.ts +16 -0
- package/core/application/src/orchestration/integrations/known-submission-error.js +22 -0
- package/core/application/src/orchestration/integrations/ui-chain-check.d.ts +104 -0
- package/core/application/src/orchestration/integrations/ui-chain-check.js +191 -0
- package/core/application/src/orchestration/lab/block-availability.d.ts +20 -0
- package/core/application/src/orchestration/lab/block-availability.js +30 -0
- package/core/application/src/orchestration/lab/checked-environment-time.d.ts +29 -0
- package/core/application/src/orchestration/lab/checked-environment-time.js +52 -0
- package/core/application/src/orchestration/lab/compile.d.ts +66 -0
- package/core/application/src/orchestration/lab/compile.js +54 -0
- package/core/application/src/orchestration/lab/declared-lab-catalog.d.ts +132 -0
- package/core/application/src/orchestration/lab/declared-lab-catalog.js +343 -0
- package/core/application/src/orchestration/lab/define.d.ts +377 -0
- package/core/application/src/orchestration/lab/define.js +18 -0
- package/core/application/src/orchestration/lab/environment-actors.d.ts +18 -0
- package/core/application/src/orchestration/lab/environment-actors.js +22 -0
- package/core/application/src/orchestration/lab/environment-fixtures.d.ts +14 -0
- package/core/application/src/orchestration/lab/environment-fixtures.js +43 -0
- package/core/application/src/orchestration/lab/environment-options.d.ts +20 -0
- package/core/application/src/orchestration/lab/environment-options.js +26 -0
- package/core/application/src/orchestration/lab/environment-registry.d.ts +50 -0
- package/core/application/src/orchestration/lab/environment-registry.js +124 -0
- package/core/application/src/orchestration/lab/environment-view.d.ts +12 -0
- package/core/application/src/orchestration/lab/environment-view.js +73 -0
- package/core/application/src/orchestration/lab/environments.d.ts +74 -0
- package/core/application/src/orchestration/lab/environments.js +98 -0
- package/core/application/src/orchestration/lab/holding-browsers.d.ts +16 -0
- package/core/application/src/orchestration/lab/holding-browsers.js +18 -0
- package/core/application/src/orchestration/lab/integration-availability.d.ts +39 -0
- package/core/application/src/orchestration/lab/integration-availability.js +51 -0
- package/core/application/src/orchestration/lab/kept-placements.d.ts +11 -0
- package/core/application/src/orchestration/lab/kept-placements.js +17 -0
- package/core/application/src/orchestration/lab/lab-rpc.d.ts +30 -0
- package/core/application/src/orchestration/lab/lab-rpc.js +153 -0
- package/core/application/src/orchestration/lab/loaded-lab.d.ts +42 -0
- package/core/application/src/orchestration/lab/loaded-lab.js +48 -0
- package/core/application/src/orchestration/lab/product-lab-config.d.ts +244 -0
- package/core/application/src/orchestration/lab/product-lab-config.js +8 -0
- package/core/application/src/orchestration/lab/registry.d.ts +25 -0
- package/core/application/src/orchestration/lab/registry.js +168 -0
- package/core/application/src/orchestration/lab/root-call-access.d.ts +46 -0
- package/core/application/src/orchestration/lab/root-call-access.js +50 -0
- package/core/application/src/orchestration/lab/scenario-conditions.d.ts +25 -0
- package/core/application/src/orchestration/lab/scenario-conditions.js +31 -0
- package/core/application/src/orchestration/lab/session-ports.d.ts +63 -0
- package/core/application/src/orchestration/lab/session-ports.js +132 -0
- package/core/application/src/orchestration/lab/source-lab-loader.d.ts +60 -0
- package/core/application/src/orchestration/lab/source-lab-loader.js +57 -0
- package/core/application/src/orchestration/lab/start-lab-environment.d.ts +6 -0
- package/core/application/src/orchestration/lab/start-lab-environment.js +609 -0
- package/core/application/src/orchestration/lab/topology-overrides.d.ts +3 -0
- package/core/application/src/orchestration/lab/topology-overrides.js +42 -0
- package/core/application/src/orchestration/lab/validate.d.ts +36 -0
- package/core/application/src/orchestration/lab/validate.js +235 -0
- package/core/application/src/orchestration/managed-environment.d.ts +7 -0
- package/core/application/src/orchestration/managed-environment.js +109 -0
- package/core/application/src/orchestration/run/index.d.ts +8 -0
- package/core/application/src/orchestration/run/index.js +3 -0
- package/core/application/src/orchestration/run/resources.d.ts +8 -0
- package/core/application/src/orchestration/run/resources.js +3 -0
- package/core/application/src/orchestration/secrets/dev-account-source.d.ts +10 -0
- package/core/application/src/orchestration/secrets/dev-account-source.js +18 -0
- package/core/application/src/orchestration/secrets/env-source.d.ts +10 -0
- package/core/application/src/orchestration/secrets/env-source.js +19 -0
- package/core/application/src/orchestration/secrets/secret-error.d.ts +5 -0
- package/core/application/src/orchestration/secrets/secret-error.js +10 -0
- package/core/application/src/orchestration/secrets/secret-resolver.d.ts +53 -0
- package/core/application/src/orchestration/secrets/secret-resolver.js +92 -0
- package/core/application/src/orchestration/secrets/secret-source.d.ts +18 -0
- package/core/application/src/orchestration/secrets/secret-source.js +12 -0
- package/core/application/src/orchestration/secrets/sources.d.ts +27 -0
- package/core/application/src/orchestration/secrets/sources.js +42 -0
- package/core/application/src/orchestration/services/authority-error.d.ts +7 -0
- package/core/application/src/orchestration/services/authority-error.js +9 -0
- package/core/application/src/orchestration/services/authorized-service.d.ts +54 -0
- package/core/application/src/orchestration/services/authorized-service.js +59 -0
- package/core/application/src/orchestration/services/define.d.ts +61 -0
- package/core/application/src/orchestration/services/define.js +49 -0
- package/core/application/src/orchestration/services/service-container.d.ts +85 -0
- package/core/application/src/orchestration/services/service-container.js +320 -0
- package/core/application/src/orchestration/services/service-error.d.ts +7 -0
- package/core/application/src/orchestration/services/service-error.js +10 -0
- package/core/application/src/orchestration/services/service-lifetime-scope.d.ts +22 -0
- package/core/application/src/orchestration/services/service-lifetime-scope.js +22 -0
- package/core/application/src/orchestration/services/stale-generation-error.d.ts +5 -0
- package/core/application/src/orchestration/services/stale-generation-error.js +9 -0
- package/core/application/src/orchestration/steps.d.ts +28 -0
- package/core/application/src/orchestration/steps.js +36 -0
- package/core/application/src/orchestration/topology.d.ts +7 -0
- package/core/application/src/orchestration/topology.js +6 -0
- package/core/application/src/orchestration/types.d.ts +4 -0
- package/core/application/src/orchestration/types.js +3 -0
- package/core/application/src/recordings/check-step-speed.d.ts +10 -0
- package/core/application/src/recordings/check-step-speed.js +43 -0
- package/core/application/src/recordings/console-collector.d.ts +21 -0
- package/core/application/src/recordings/console-collector.js +43 -0
- package/core/application/src/recordings/console-log.d.ts +19 -0
- package/core/application/src/recordings/console-log.js +29 -0
- package/core/application/src/recordings/deadline.d.ts +16 -0
- package/core/application/src/recordings/deadline.js +23 -0
- package/core/application/src/recordings/demo-markup.d.ts +66 -0
- package/core/application/src/recordings/demo-markup.js +90 -0
- package/core/application/src/recordings/demo-recording.d.ts +32 -0
- package/core/application/src/recordings/demo-recording.js +213 -0
- package/core/application/src/recordings/frame-sources.d.ts +9 -0
- package/core/application/src/recordings/frame-sources.js +14 -0
- package/core/application/src/recordings/health-sampler.d.ts +33 -0
- package/core/application/src/recordings/health-sampler.js +71 -0
- package/core/application/src/recordings/host-logs.d.ts +17 -0
- package/core/application/src/recordings/host-logs.js +43 -0
- package/core/application/src/recordings/list-recordings.d.ts +11 -0
- package/core/application/src/recordings/list-recordings.js +23 -0
- package/core/application/src/recordings/open-recording.d.ts +17 -0
- package/core/application/src/recordings/open-recording.js +41 -0
- package/core/application/src/recordings/read-run-step-health.d.ts +18 -0
- package/core/application/src/recordings/read-run-step-health.js +39 -0
- package/core/application/src/recordings/record-runs.d.ts +121 -0
- package/core/application/src/recordings/record-runs.js +426 -0
- package/core/application/src/recordings/recording-draft.d.ts +108 -0
- package/core/application/src/recordings/recording-draft.js +214 -0
- package/core/application/src/recordings/recording-stores.d.ts +18 -0
- package/core/application/src/recordings/recording-stores.js +21 -0
- package/core/application/src/recordings/step-chain-reader.d.ts +54 -0
- package/core/application/src/recordings/step-chain-reader.js +176 -0
- package/core/application/src/recordings/step-host-request-reader.d.ts +18 -0
- package/core/application/src/recordings/step-host-request-reader.js +63 -0
- package/core/application/src/recordings/write-journey-docs.d.ts +17 -0
- package/core/application/src/recordings/write-journey-docs.js +119 -0
- package/core/application/src/redaction/bip39-english.d.ts +1 -0
- package/core/application/src/redaction/bip39-english.js +132 -0
- package/core/application/src/redaction/secret-redactor.d.ts +21 -0
- package/core/application/src/redaction/secret-redactor.js +104 -0
- package/core/application/src/runs/activity-log.d.ts +49 -0
- package/core/application/src/runs/activity-log.js +199 -0
- package/core/application/src/runs/after-failure-checks.d.ts +56 -0
- package/core/application/src/runs/after-failure-checks.js +89 -0
- package/core/application/src/runs/after-failure-words.d.ts +9 -0
- package/core/application/src/runs/after-failure-words.js +63 -0
- package/core/application/src/runs/bundles/bundle-paths.d.ts +12 -0
- package/core/application/src/runs/bundles/bundle-paths.js +59 -0
- package/core/application/src/runs/bundles/bundle-recording.d.ts +44 -0
- package/core/application/src/runs/bundles/bundle-recording.js +288 -0
- package/core/application/src/runs/bundles/open-run-bundle.d.ts +23 -0
- package/core/application/src/runs/bundles/open-run-bundle.js +50 -0
- package/core/application/src/runs/bundles/reproduce-run.d.ts +44 -0
- package/core/application/src/runs/bundles/reproduce-run.js +173 -0
- package/core/application/src/runs/bundles/run-bundle-ports.d.ts +7 -0
- package/core/application/src/runs/bundles/run-bundle-ports.js +3 -0
- package/core/application/src/runs/bundles/run-bundle-sources.d.ts +18 -0
- package/core/application/src/runs/bundles/run-bundle-sources.js +43 -0
- package/core/application/src/runs/bundles/run-bundles-service.d.ts +20 -0
- package/core/application/src/runs/bundles/run-bundles-service.js +22 -0
- package/core/application/src/runs/bundles/start-state.d.ts +7 -0
- package/core/application/src/runs/bundles/start-state.js +5 -0
- package/core/application/src/runs/cancelled-error.d.ts +4 -0
- package/core/application/src/runs/cancelled-error.js +5 -0
- package/core/application/src/runs/check-stores.d.ts +28 -0
- package/core/application/src/runs/check-stores.js +103 -0
- package/core/application/src/runs/check-transaction-landed.d.ts +59 -0
- package/core/application/src/runs/check-transaction-landed.js +202 -0
- package/core/application/src/runs/collect-evidence.d.ts +11 -0
- package/core/application/src/runs/collect-evidence.js +48 -0
- package/core/application/src/runs/declared-writes.d.ts +17 -0
- package/core/application/src/runs/declared-writes.js +34 -0
- package/core/application/src/runs/explain-failure.d.ts +4 -0
- package/core/application/src/runs/explain-failure.js +95 -0
- package/core/application/src/runs/failure-rules.d.ts +15 -0
- package/core/application/src/runs/failure-rules.js +197 -0
- package/core/application/src/runs/host-bypass-monitor.d.ts +56 -0
- package/core/application/src/runs/host-bypass-monitor.js +420 -0
- package/core/application/src/runs/judge-negative-control.d.ts +4 -0
- package/core/application/src/runs/judge-negative-control.js +8 -0
- package/core/application/src/runs/node-route-identities.d.ts +9 -0
- package/core/application/src/runs/node-route-identities.js +32 -0
- package/core/application/src/runs/plan-error.d.ts +4 -0
- package/core/application/src/runs/plan-error.js +5 -0
- package/core/application/src/runs/quarantined-resource-error.d.ts +6 -0
- package/core/application/src/runs/quarantined-resource-error.js +12 -0
- package/core/application/src/runs/resource-locks.d.ts +44 -0
- package/core/application/src/runs/resource-locks.js +104 -0
- package/core/application/src/runs/run-console.d.ts +35 -0
- package/core/application/src/runs/run-console.js +43 -0
- package/core/application/src/runs/run-failure-message.d.ts +4 -0
- package/core/application/src/runs/run-failure-message.js +28 -0
- package/core/application/src/runs/run-scenario.d.ts +69 -0
- package/core/application/src/runs/run-scenario.js +240 -0
- package/core/application/src/runs/run-transactions.d.ts +17 -0
- package/core/application/src/runs/run-transactions.js +117 -0
- package/core/application/src/runs/scenario-inputs.d.ts +6 -0
- package/core/application/src/runs/scenario-inputs.js +26 -0
- package/core/application/src/runs/scenario-run.d.ts +244 -0
- package/core/application/src/runs/scenario-run.js +600 -0
- package/core/application/src/runs/scheduler.d.ts +235 -0
- package/core/application/src/runs/scheduler.js +400 -0
- package/core/application/src/runs/settle-failed-step.d.ts +27 -0
- package/core/application/src/runs/settle-failed-step.js +110 -0
- package/core/application/src/runs/statement-window.d.ts +37 -0
- package/core/application/src/runs/statement-window.js +76 -0
- package/core/application/src/runs/step-timeout-error.d.ts +4 -0
- package/core/application/src/runs/step-timeout-error.js +5 -0
- package/core/application/src/runs/submission-window.d.ts +102 -0
- package/core/application/src/runs/submission-window.js +233 -0
- package/core/application/src/settings/manage-lab-settings.d.ts +10 -0
- package/core/application/src/settings/manage-lab-settings.js +70 -0
- package/core/application/src/suites/compare-suite-runs.d.ts +15 -0
- package/core/application/src/suites/compare-suite-runs.js +55 -0
- package/core/application/src/suites/observed-versions-file.d.ts +30 -0
- package/core/application/src/suites/observed-versions-file.js +30 -0
- package/core/application/src/suites/row-combination.d.ts +9 -0
- package/core/application/src/suites/row-combination.js +36 -0
- package/core/application/src/suites/row-host-route.d.ts +26 -0
- package/core/application/src/suites/row-host-route.js +30 -0
- package/core/application/src/suites/run-suite.d.ts +76 -0
- package/core/application/src/suites/run-suite.js +367 -0
- package/core/application/src/suites/run-timings-file.d.ts +21 -0
- package/core/application/src/suites/run-timings-file.js +39 -0
- package/core/application/src/suites/run-workers.d.ts +19 -0
- package/core/application/src/suites/run-workers.js +118 -0
- package/core/application/src/suites/start-together.d.ts +15 -0
- package/core/application/src/suites/start-together.js +30 -0
- package/core/application/src/suites/suite-metrics.d.ts +8 -0
- package/core/application/src/suites/suite-metrics.js +67 -0
- package/core/application/src/suites/summarize-suite-run.d.ts +6 -0
- package/core/application/src/suites/summarize-suite-run.js +57 -0
- package/core/application/src/tools/runtime-tool-context.d.ts +5 -0
- package/core/application/src/tools/runtime-tool-context.js +40 -0
- package/core/application/src/tools/save-scenario.d.ts +18 -0
- package/core/application/src/tools/save-scenario.js +49 -0
- package/core/application/src/tools/tool-catalog.d.ts +27 -0
- package/core/application/src/tools/tool-catalog.js +157 -0
- package/core/application/src/tools/tool-context.d.ts +34 -0
- package/core/application/src/tools/tool-context.js +3 -0
- package/core/application/src/tools/tool-reports.d.ts +56 -0
- package/core/application/src/tools/tool-reports.js +253 -0
- package/core/application/src/tools/tool-runner.d.ts +67 -0
- package/core/application/src/tools/tool-runner.js +423 -0
- package/core/application/src/versions/check-recovery.d.ts +20 -0
- package/core/application/src/versions/check-recovery.js +14 -0
- package/core/application/src/versions/lab-artifacts.d.ts +27 -0
- package/core/application/src/versions/lab-artifacts.js +72 -0
- package/core/application/src/versions/lab-versions-service.d.ts +87 -0
- package/core/application/src/versions/lab-versions-service.js +93 -0
- package/core/application/src/versions/lock-proposal-body.d.ts +5 -0
- package/core/application/src/versions/lock-proposal-body.js +59 -0
- package/core/application/src/versions/lock-proposal-evidence.d.ts +28 -0
- package/core/application/src/versions/lock-proposal-evidence.js +158 -0
- package/core/application/src/versions/lock-writer.d.ts +13 -0
- package/core/application/src/versions/lock-writer.js +24 -0
- package/core/application/src/versions/pin-version.d.ts +21 -0
- package/core/application/src/versions/pin-version.js +23 -0
- package/core/application/src/versions/policy-reader.d.ts +16 -0
- package/core/application/src/versions/policy-reader.js +21 -0
- package/core/application/src/versions/propose-lock.d.ts +23 -0
- package/core/application/src/versions/propose-lock.js +100 -0
- package/core/application/src/versions/resolve-versions.d.ts +52 -0
- package/core/application/src/versions/resolve-versions.js +85 -0
- package/core/application/src/versions/run-versions.d.ts +15 -0
- package/core/application/src/versions/run-versions.js +3 -0
- package/core/application/src/versions/show-versions.d.ts +19 -0
- package/core/application/src/versions/show-versions.js +51 -0
- package/core/application/src/versions/update-lock.d.ts +24 -0
- package/core/application/src/versions/update-lock.js +49 -0
- package/core/application/src/versions/verify-lock.d.ts +21 -0
- package/core/application/src/versions/verify-lock.js +53 -0
- package/core/application/src/versions/version-sources.d.ts +18 -0
- package/core/application/src/versions/version-sources.js +33 -0
- package/core/domain/README.md +197 -0
- package/core/domain/src/accounts/account-address.d.ts +48 -0
- package/core/domain/src/accounts/account-address.js +153 -0
- package/core/domain/src/accounts/account-format-error.d.ts +12 -0
- package/core/domain/src/accounts/account-format-error.js +14 -0
- package/core/domain/src/accounts/account-functions.d.ts +15 -0
- package/core/domain/src/accounts/account-functions.js +16 -0
- package/core/domain/src/accounts/ambiguous-account-error.d.ts +9 -0
- package/core/domain/src/accounts/ambiguous-account-error.js +13 -0
- package/core/domain/src/accounts/expected-account.d.ts +19 -0
- package/core/domain/src/accounts/expected-account.js +35 -0
- package/core/domain/src/accounts/hashes.d.ts +4 -0
- package/core/domain/src/accounts/hashes.js +131 -0
- package/core/domain/src/accounts/index.d.ts +5 -0
- package/core/domain/src/accounts/index.js +7 -0
- package/core/domain/src/actors/actor-alias.d.ts +13 -0
- package/core/domain/src/actors/actor-alias.js +24 -0
- package/core/domain/src/actors/actor-id.d.ts +13 -0
- package/core/domain/src/actors/actor-id.js +24 -0
- package/core/domain/src/actors/actor-roster.d.ts +19 -0
- package/core/domain/src/actors/actor-roster.js +36 -0
- package/core/domain/src/actors/actor.d.ts +122 -0
- package/core/domain/src/actors/actor.js +49 -0
- package/core/domain/src/actors/host-color.d.ts +4 -0
- package/core/domain/src/actors/host-color.js +6 -0
- package/core/domain/src/actors/host-options.d.ts +74 -0
- package/core/domain/src/actors/host-options.js +100 -0
- package/core/domain/src/actors/index.d.ts +8 -0
- package/core/domain/src/actors/index.js +10 -0
- package/core/domain/src/actors/principal.d.ts +42 -0
- package/core/domain/src/actors/principal.js +33 -0
- package/core/domain/src/actors/session.d.ts +20 -0
- package/core/domain/src/actors/session.js +35 -0
- package/core/domain/src/agreement/agreement-judge.d.ts +66 -0
- package/core/domain/src/agreement/agreement-judge.js +272 -0
- package/core/domain/src/agreement/agreement-mode.d.ts +14 -0
- package/core/domain/src/agreement/agreement-mode.js +16 -0
- package/core/domain/src/agreement/agreement-record.d.ts +142 -0
- package/core/domain/src/agreement/agreement-record.js +14 -0
- package/core/domain/src/agreement/agreement-sample.d.ts +65 -0
- package/core/domain/src/agreement/agreement-sample.js +3 -0
- package/core/domain/src/agreement/agreement-settings.d.ts +36 -0
- package/core/domain/src/agreement/agreement-settings.js +55 -0
- package/core/domain/src/agreement/claims.d.ts +9 -0
- package/core/domain/src/agreement/claims.js +55 -0
- package/core/domain/src/agreement/index.d.ts +7 -0
- package/core/domain/src/agreement/index.js +9 -0
- package/core/domain/src/agreement/ui-chain-disagreement-error.d.ts +18 -0
- package/core/domain/src/agreement/ui-chain-disagreement-error.js +22 -0
- package/core/domain/src/apps/app-account-source.d.ts +29 -0
- package/core/domain/src/apps/app-account-source.js +41 -0
- package/core/domain/src/apps/app-announcement-window.d.ts +17 -0
- package/core/domain/src/apps/app-announcement-window.js +30 -0
- package/core/domain/src/apps/app-build-message.d.ts +75 -0
- package/core/domain/src/apps/app-build-message.js +42 -0
- package/core/domain/src/apps/app-deployed-source.d.ts +62 -0
- package/core/domain/src/apps/app-deployed-source.js +100 -0
- package/core/domain/src/apps/app-dev-server.d.ts +115 -0
- package/core/domain/src/apps/app-dev-server.js +186 -0
- package/core/domain/src/apps/app-framing.d.ts +70 -0
- package/core/domain/src/apps/app-framing.js +133 -0
- package/core/domain/src/apps/app-readiness.d.ts +102 -0
- package/core/domain/src/apps/app-readiness.js +138 -0
- package/core/domain/src/apps/app-watch.d.ts +62 -0
- package/core/domain/src/apps/app-watch.js +106 -0
- package/core/domain/src/apps/dev-server-socket.d.ts +27 -0
- package/core/domain/src/apps/dev-server-socket.js +76 -0
- package/core/domain/src/apps/host-bypass-policy.d.ts +5 -0
- package/core/domain/src/apps/host-bypass-policy.js +12 -0
- package/core/domain/src/apps/html-script.d.ts +9 -0
- package/core/domain/src/apps/html-script.js +21 -0
- package/core/domain/src/apps/index.d.ts +15 -0
- package/core/domain/src/apps/index.js +17 -0
- package/core/domain/src/apps/next-turbopack-announcement.d.ts +8 -0
- package/core/domain/src/apps/next-turbopack-announcement.js +62 -0
- package/core/domain/src/apps/next-webpack-announcement.d.ts +5 -0
- package/core/domain/src/apps/next-webpack-announcement.js +42 -0
- package/core/domain/src/apps/vite-app-announcement.d.ts +2 -0
- package/core/domain/src/apps/vite-app-announcement.js +30 -0
- package/core/domain/src/apps/webpack-dev-server-announcement.d.ts +12 -0
- package/core/domain/src/apps/webpack-dev-server-announcement.js +56 -0
- package/core/domain/src/builder/builder-check.d.ts +81 -0
- package/core/domain/src/builder/builder-check.js +253 -0
- package/core/domain/src/builder/builder-document.d.ts +95 -0
- package/core/domain/src/builder/builder-document.js +16 -0
- package/core/domain/src/builder/builder-edit.d.ts +70 -0
- package/core/domain/src/builder/builder-edit.js +190 -0
- package/core/domain/src/builder/builder-error.d.ts +8 -0
- package/core/domain/src/builder/builder-error.js +11 -0
- package/core/domain/src/builder/builder-palette.d.ts +101 -0
- package/core/domain/src/builder/builder-palette.js +90 -0
- package/core/domain/src/builder/feature-reader.d.ts +4 -0
- package/core/domain/src/builder/feature-reader.js +326 -0
- package/core/domain/src/builder/feature-writer.d.ts +51 -0
- package/core/domain/src/builder/feature-writer.js +230 -0
- package/core/domain/src/builder/index.d.ts +8 -0
- package/core/domain/src/builder/index.js +10 -0
- package/core/domain/src/builder/round-trip-error.d.ts +6 -0
- package/core/domain/src/builder/round-trip-error.js +10 -0
- package/core/domain/src/checks/index.d.ts +3 -0
- package/core/domain/src/checks/index.js +5 -0
- package/core/domain/src/checks/side-reading.d.ts +96 -0
- package/core/domain/src/checks/side-reading.js +105 -0
- package/core/domain/src/checks/step-check-error.d.ts +4 -0
- package/core/domain/src/checks/step-check-error.js +5 -0
- package/core/domain/src/checks/step-checks.d.ts +115 -0
- package/core/domain/src/checks/step-checks.js +120 -0
- package/core/domain/src/conditions/condition-error.d.ts +4 -0
- package/core/domain/src/conditions/condition-error.js +8 -0
- package/core/domain/src/conditions/condition-profiles.d.ts +15 -0
- package/core/domain/src/conditions/condition-profiles.js +42 -0
- package/core/domain/src/conditions/condition-step.d.ts +29 -0
- package/core/domain/src/conditions/condition-step.js +45 -0
- package/core/domain/src/conditions/conditioned-traffic.d.ts +25 -0
- package/core/domain/src/conditions/conditioned-traffic.js +31 -0
- package/core/domain/src/conditions/conditioned-wire.d.ts +21 -0
- package/core/domain/src/conditions/conditioned-wire.js +38 -0
- package/core/domain/src/conditions/cpu-slowdown.d.ts +4 -0
- package/core/domain/src/conditions/cpu-slowdown.js +9 -0
- package/core/domain/src/conditions/index.d.ts +7 -0
- package/core/domain/src/conditions/index.js +9 -0
- package/core/domain/src/conditions/network-condition.d.ts +18 -0
- package/core/domain/src/conditions/network-condition.js +25 -0
- package/core/domain/src/devices/device-profile.d.ts +43 -0
- package/core/domain/src/devices/device-profile.js +70 -0
- package/core/domain/src/devices/index.d.ts +2 -0
- package/core/domain/src/devices/index.js +4 -0
- package/core/domain/src/devices/synthetic-media.d.ts +15 -0
- package/core/domain/src/devices/synthetic-media.js +7 -0
- package/core/domain/src/explore/exploration-alphabet.d.ts +30 -0
- package/core/domain/src/explore/exploration-alphabet.js +88 -0
- package/core/domain/src/explore/failure-signature.d.ts +13 -0
- package/core/domain/src/explore/failure-signature.js +14 -0
- package/core/domain/src/explore/index.d.ts +6 -0
- package/core/domain/src/explore/index.js +8 -0
- package/core/domain/src/explore/seeded-random.d.ts +11 -0
- package/core/domain/src/explore/seeded-random.js +27 -0
- package/core/domain/src/explore/shrink-steps.d.ts +15 -0
- package/core/domain/src/explore/shrink-steps.js +42 -0
- package/core/domain/src/explore/what-if-branches.d.ts +34 -0
- package/core/domain/src/explore/what-if-branches.js +62 -0
- package/core/domain/src/explore/what-if-plan-error.d.ts +5 -0
- package/core/domain/src/explore/what-if-plan-error.js +10 -0
- package/core/domain/src/features/cleanup-report.d.ts +22 -0
- package/core/domain/src/features/cleanup-report.js +23 -0
- package/core/domain/src/features/feature-file.d.ts +111 -0
- package/core/domain/src/features/feature-file.js +290 -0
- package/core/domain/src/features/feature-path.d.ts +7 -0
- package/core/domain/src/features/feature-path.js +19 -0
- package/core/domain/src/features/index.d.ts +8 -0
- package/core/domain/src/features/index.js +10 -0
- package/core/domain/src/features/plain-output.d.ts +43 -0
- package/core/domain/src/features/plain-output.js +47 -0
- package/core/domain/src/features/scenario-conditions.d.ts +28 -0
- package/core/domain/src/features/scenario-conditions.js +51 -0
- package/core/domain/src/features/scenario-environments.d.ts +47 -0
- package/core/domain/src/features/scenario-environments.js +47 -0
- package/core/domain/src/features/step-breakpoints.d.ts +48 -0
- package/core/domain/src/features/step-breakpoints.js +75 -0
- package/core/domain/src/features/tag-expression.d.ts +1 -0
- package/core/domain/src/features/tag-expression.js +45 -0
- package/core/domain/src/fixtures/fixture-bundle.d.ts +123 -0
- package/core/domain/src/fixtures/fixture-bundle.js +183 -0
- package/core/domain/src/fixtures/fixture-catalog.d.ts +49 -0
- package/core/domain/src/fixtures/fixture-catalog.js +91 -0
- package/core/domain/src/fixtures/fixture-declaration.d.ts +22 -0
- package/core/domain/src/fixtures/fixture-declaration.js +60 -0
- package/core/domain/src/fixtures/fixture-import-incomplete-error.d.ts +10 -0
- package/core/domain/src/fixtures/fixture-import-incomplete-error.js +10 -0
- package/core/domain/src/fixtures/fixture-key.d.ts +57 -0
- package/core/domain/src/fixtures/fixture-key.js +129 -0
- package/core/domain/src/fixtures/fixture-record.d.ts +89 -0
- package/core/domain/src/fixtures/fixture-record.js +105 -0
- package/core/domain/src/fixtures/fixture-refused-error.d.ts +11 -0
- package/core/domain/src/fixtures/fixture-refused-error.js +13 -0
- package/core/domain/src/fixtures/fixture-source-declaration.d.ts +21 -0
- package/core/domain/src/fixtures/fixture-source-declaration.js +36 -0
- package/core/domain/src/fixtures/index.d.ts +9 -0
- package/core/domain/src/fixtures/index.js +11 -0
- package/core/domain/src/fixtures/scenario-fixture.d.ts +34 -0
- package/core/domain/src/fixtures/scenario-fixture.js +33 -0
- package/core/domain/src/identity/identity.d.ts +50 -0
- package/core/domain/src/identity/identity.js +47 -0
- package/core/domain/src/identity/index.d.ts +2 -0
- package/core/domain/src/identity/index.js +4 -0
- package/core/domain/src/identity/pre-onboarded-actor.d.ts +34 -0
- package/core/domain/src/identity/pre-onboarded-actor.js +66 -0
- package/core/domain/src/index.d.ts +27 -0
- package/core/domain/src/index.js +29 -0
- package/core/domain/src/lab/capability-policy.d.ts +37 -0
- package/core/domain/src/lab/capability-policy.js +50 -0
- package/core/domain/src/lab/capability.d.ts +4 -0
- package/core/domain/src/lab/capability.js +13 -0
- package/core/domain/src/lab/chain-pace.d.ts +20 -0
- package/core/domain/src/lab/chain-pace.js +19 -0
- package/core/domain/src/lab/confirmation-required-error.d.ts +8 -0
- package/core/domain/src/lab/confirmation-required-error.js +10 -0
- package/core/domain/src/lab/environment-options.d.ts +43 -0
- package/core/domain/src/lab/environment-options.js +39 -0
- package/core/domain/src/lab/environment-request-error.d.ts +10 -0
- package/core/domain/src/lab/environment-request-error.js +5 -0
- package/core/domain/src/lab/host-capabilities.d.ts +60 -0
- package/core/domain/src/lab/host-capabilities.js +15 -0
- package/core/domain/src/lab/index.d.ts +24 -0
- package/core/domain/src/lab/index.js +26 -0
- package/core/domain/src/lab/integration-readiness.d.ts +37 -0
- package/core/domain/src/lab/integration-readiness.js +35 -0
- package/core/domain/src/lab/lab-configuration-error.d.ts +5 -0
- package/core/domain/src/lab/lab-configuration-error.js +10 -0
- package/core/domain/src/lab/offer.d.ts +47 -0
- package/core/domain/src/lab/offer.js +62 -0
- package/core/domain/src/lab/public-target.d.ts +94 -0
- package/core/domain/src/lab/public-target.js +114 -0
- package/core/domain/src/lab/requirement-check.d.ts +23 -0
- package/core/domain/src/lab/requirement-check.js +30 -0
- package/core/domain/src/lab/requirement-functions.d.ts +14 -0
- package/core/domain/src/lab/requirement-functions.js +13 -0
- package/core/domain/src/lab/requirements.d.ts +25 -0
- package/core/domain/src/lab/requirements.js +29 -0
- package/core/domain/src/lab/resolved-config.d.ts +81 -0
- package/core/domain/src/lab/resolved-config.js +91 -0
- package/core/domain/src/lab/rpc-selection.d.ts +62 -0
- package/core/domain/src/lab/rpc-selection.js +95 -0
- package/core/domain/src/lab/run-manifest.d.ts +36 -0
- package/core/domain/src/lab/run-manifest.js +24 -0
- package/core/domain/src/lab/running-lab.d.ts +6 -0
- package/core/domain/src/lab/running-lab.js +5 -0
- package/core/domain/src/lab/runtime-wire.d.ts +21 -0
- package/core/domain/src/lab/runtime-wire.js +87 -0
- package/core/domain/src/lab/topology-error.d.ts +5 -0
- package/core/domain/src/lab/topology-error.js +10 -0
- package/core/domain/src/lab/topology-functions.d.ts +66 -0
- package/core/domain/src/lab/topology-functions.js +159 -0
- package/core/domain/src/lab/topology-issues.d.ts +16 -0
- package/core/domain/src/lab/topology-issues.js +45 -0
- package/core/domain/src/lab/topology.d.ts +188 -0
- package/core/domain/src/lab/topology.js +53 -0
- package/core/domain/src/lab/value-tones.d.ts +30 -0
- package/core/domain/src/lab/value-tones.js +66 -0
- package/core/domain/src/load/index.d.ts +3 -0
- package/core/domain/src/load/index.js +5 -0
- package/core/domain/src/load/load-guard.d.ts +14 -0
- package/core/domain/src/load/load-guard.js +13 -0
- package/core/domain/src/load/load-plan.d.ts +26 -0
- package/core/domain/src/load/load-plan.js +32 -0
- package/core/domain/src/load/load-report.d.ts +64 -0
- package/core/domain/src/load/load-report.js +73 -0
- package/core/domain/src/navigation/app-routes.d.ts +27 -0
- package/core/domain/src/navigation/app-routes.js +85 -0
- package/core/domain/src/navigation/app-url.d.ts +9 -0
- package/core/domain/src/navigation/app-url.js +22 -0
- package/core/domain/src/navigation/index.d.ts +7 -0
- package/core/domain/src/navigation/index.js +9 -0
- package/core/domain/src/navigation/named-destination.d.ts +43 -0
- package/core/domain/src/navigation/named-destination.js +49 -0
- package/core/domain/src/navigation/navigation-evidence.d.ts +20 -0
- package/core/domain/src/navigation/navigation-evidence.js +3 -0
- package/core/domain/src/navigation/navigation-expectation.d.ts +16 -0
- package/core/domain/src/navigation/navigation-expectation.js +40 -0
- package/core/domain/src/navigation/navigation-request.d.ts +16 -0
- package/core/domain/src/navigation/navigation-request.js +13 -0
- package/core/domain/src/navigation/navigation-resolution.d.ts +69 -0
- package/core/domain/src/navigation/navigation-resolution.js +37 -0
- package/core/domain/src/network/endpoint-locality.d.ts +14 -0
- package/core/domain/src/network/endpoint-locality.js +39 -0
- package/core/domain/src/network/environment-endpoints.d.ts +36 -0
- package/core/domain/src/network/environment-endpoints.js +49 -0
- package/core/domain/src/network/host-network-routes.d.ts +73 -0
- package/core/domain/src/network/host-network-routes.js +138 -0
- package/core/domain/src/network/host-route-closures.d.ts +9 -0
- package/core/domain/src/network/host-route-closures.js +23 -0
- package/core/domain/src/network/index.d.ts +8 -0
- package/core/domain/src/network/index.js +10 -0
- package/core/domain/src/network/loopback-url.d.ts +33 -0
- package/core/domain/src/network/loopback-url.js +63 -0
- package/core/domain/src/network/mixed-endpoints-error.d.ts +12 -0
- package/core/domain/src/network/mixed-endpoints-error.js +17 -0
- package/core/domain/src/network/network-policy.d.ts +98 -0
- package/core/domain/src/network/network-policy.js +157 -0
- package/core/domain/src/network/observed-endpoints.d.ts +17 -0
- package/core/domain/src/network/observed-endpoints.js +47 -0
- package/core/domain/src/network/worker-hold.d.ts +24 -0
- package/core/domain/src/network/worker-hold.js +14 -0
- package/core/domain/src/products/index.d.ts +3 -0
- package/core/domain/src/products/index.js +5 -0
- package/core/domain/src/products/product-config-policy.d.ts +19 -0
- package/core/domain/src/products/product-config-policy.js +18 -0
- package/core/domain/src/products/product-config-refused.d.ts +4 -0
- package/core/domain/src/products/product-config-refused.js +8 -0
- package/core/domain/src/products/product-config.d.ts +40 -0
- package/core/domain/src/products/product-config.js +75 -0
- package/core/domain/src/recordings/demo-cut.d.ts +91 -0
- package/core/domain/src/recordings/demo-cut.js +179 -0
- package/core/domain/src/recordings/demo-refused-error.d.ts +9 -0
- package/core/domain/src/recordings/demo-refused-error.js +10 -0
- package/core/domain/src/recordings/index.d.ts +16 -0
- package/core/domain/src/recordings/index.js +18 -0
- package/core/domain/src/recordings/journey-document.d.ts +69 -0
- package/core/domain/src/recordings/journey-document.js +93 -0
- package/core/domain/src/recordings/journey-markdown.d.ts +21 -0
- package/core/domain/src/recordings/journey-markdown.js +37 -0
- package/core/domain/src/recordings/journeys-declaration.d.ts +16 -0
- package/core/domain/src/recordings/journeys-declaration.js +17 -0
- package/core/domain/src/recordings/recording-data.d.ts +476 -0
- package/core/domain/src/recordings/recording-data.js +3 -0
- package/core/domain/src/recordings/recording-format-error.d.ts +5 -0
- package/core/domain/src/recordings/recording-format-error.js +9 -0
- package/core/domain/src/recordings/recording-health.d.ts +77 -0
- package/core/domain/src/recordings/recording-health.js +108 -0
- package/core/domain/src/recordings/recording-not-found-error.d.ts +5 -0
- package/core/domain/src/recordings/recording-not-found-error.js +9 -0
- package/core/domain/src/recordings/recording-retention.d.ts +35 -0
- package/core/domain/src/recordings/recording-retention.js +53 -0
- package/core/domain/src/recordings/recording-settings.d.ts +50 -0
- package/core/domain/src/recordings/recording-settings.js +81 -0
- package/core/domain/src/recordings/run-recording.d.ts +65 -0
- package/core/domain/src/recordings/run-recording.js +321 -0
- package/core/domain/src/recordings/step-chain-windows.d.ts +35 -0
- package/core/domain/src/recordings/step-chain-windows.js +50 -0
- package/core/domain/src/recordings/step-console-errors.d.ts +38 -0
- package/core/domain/src/recordings/step-console-errors.js +37 -0
- package/core/domain/src/recordings/step-machine.d.ts +6 -0
- package/core/domain/src/recordings/step-machine.js +15 -0
- package/core/domain/src/recordings/step-speed-limits.d.ts +59 -0
- package/core/domain/src/recordings/step-speed-limits.js +69 -0
- package/core/domain/src/releases/index.d.ts +1 -0
- package/core/domain/src/releases/index.js +3 -0
- package/core/domain/src/releases/release-notes.d.ts +49 -0
- package/core/domain/src/releases/release-notes.js +115 -0
- package/core/domain/src/resources/generation.d.ts +15 -0
- package/core/domain/src/resources/generation.js +26 -0
- package/core/domain/src/resources/index.d.ts +3 -0
- package/core/domain/src/resources/index.js +5 -0
- package/core/domain/src/resources/resource-functions.d.ts +6 -0
- package/core/domain/src/resources/resource-functions.js +12 -0
- package/core/domain/src/resources/resource.d.ts +17 -0
- package/core/domain/src/resources/resource.js +42 -0
- package/core/domain/src/root-calls/index.d.ts +2 -0
- package/core/domain/src/root-calls/index.js +4 -0
- package/core/domain/src/root-calls/known-networks.d.ts +13 -0
- package/core/domain/src/root-calls/known-networks.js +23 -0
- package/core/domain/src/root-calls/root-call-policy.d.ts +44 -0
- package/core/domain/src/root-calls/root-call-policy.js +59 -0
- package/core/domain/src/runs/checkpoint.d.ts +20 -0
- package/core/domain/src/runs/checkpoint.js +22 -0
- package/core/domain/src/runs/evidence.d.ts +66 -0
- package/core/domain/src/runs/evidence.js +126 -0
- package/core/domain/src/runs/failure-description.d.ts +2 -0
- package/core/domain/src/runs/failure-description.js +23 -0
- package/core/domain/src/runs/failure-marker.d.ts +6 -0
- package/core/domain/src/runs/failure-marker.js +32 -0
- package/core/domain/src/runs/failure-reason.d.ts +52 -0
- package/core/domain/src/runs/failure-reason.js +36 -0
- package/core/domain/src/runs/host-bypass-assertion.d.ts +5 -0
- package/core/domain/src/runs/host-bypass-assertion.js +18 -0
- package/core/domain/src/runs/host-bypass-evidence.d.ts +106 -0
- package/core/domain/src/runs/host-bypass-evidence.js +3 -0
- package/core/domain/src/runs/host-bypass-verdict.d.ts +13 -0
- package/core/domain/src/runs/host-bypass-verdict.js +30 -0
- package/core/domain/src/runs/host-request-limits.d.ts +32 -0
- package/core/domain/src/runs/host-request-limits.js +30 -0
- package/core/domain/src/runs/index.d.ts +28 -0
- package/core/domain/src/runs/index.js +30 -0
- package/core/domain/src/runs/lab-failure.d.ts +11 -0
- package/core/domain/src/runs/lab-failure.js +16 -0
- package/core/domain/src/runs/merge-host-bypass-evidence.d.ts +3 -0
- package/core/domain/src/runs/merge-host-bypass-evidence.js +112 -0
- package/core/domain/src/runs/negative-control.d.ts +108 -0
- package/core/domain/src/runs/negative-control.js +123 -0
- package/core/domain/src/runs/race-jitter.d.ts +29 -0
- package/core/domain/src/runs/race-jitter.js +36 -0
- package/core/domain/src/runs/race-seed.d.ts +16 -0
- package/core/domain/src/runs/race-seed.js +35 -0
- package/core/domain/src/runs/run-bundle-data.d.ts +142 -0
- package/core/domain/src/runs/run-bundle-data.js +6 -0
- package/core/domain/src/runs/run-bundle-format-error.d.ts +5 -0
- package/core/domain/src/runs/run-bundle-format-error.js +10 -0
- package/core/domain/src/runs/run-bundle-refused-error.d.ts +7 -0
- package/core/domain/src/runs/run-bundle-refused-error.js +12 -0
- package/core/domain/src/runs/run-bundle-reproduction.d.ts +46 -0
- package/core/domain/src/runs/run-bundle-reproduction.js +57 -0
- package/core/domain/src/runs/run-bundle.d.ts +28 -0
- package/core/domain/src/runs/run-bundle.js +166 -0
- package/core/domain/src/runs/run-transition-error.d.ts +4 -0
- package/core/domain/src/runs/run-transition-error.js +8 -0
- package/core/domain/src/runs/run.d.ts +45 -0
- package/core/domain/src/runs/run.js +91 -0
- package/core/domain/src/runs/scenario-input-error.d.ts +13 -0
- package/core/domain/src/runs/scenario-input-error.js +12 -0
- package/core/domain/src/runs/step-failure.d.ts +18 -0
- package/core/domain/src/runs/step-failure.js +69 -0
- package/core/domain/src/runs/step-submissions.d.ts +73 -0
- package/core/domain/src/runs/step-submissions.js +85 -0
- package/core/domain/src/runs/stored-content.d.ts +17 -0
- package/core/domain/src/runs/stored-content.js +47 -0
- package/core/domain/src/runs/submitted-transaction.d.ts +63 -0
- package/core/domain/src/runs/submitted-transaction.js +108 -0
- package/core/domain/src/runs/transaction-landing.d.ts +82 -0
- package/core/domain/src/runs/transaction-landing.js +76 -0
- package/core/domain/src/runs/workers.d.ts +48 -0
- package/core/domain/src/runs/workers.js +83 -0
- package/core/domain/src/sentences/ambiguous-sentence-error.d.ts +7 -0
- package/core/domain/src/sentences/ambiguous-sentence-error.js +13 -0
- package/core/domain/src/sentences/ambiguous-split-error.d.ts +6 -0
- package/core/domain/src/sentences/ambiguous-split-error.js +14 -0
- package/core/domain/src/sentences/assertion-mutants.d.ts +77 -0
- package/core/domain/src/sentences/assertion-mutants.js +112 -0
- package/core/domain/src/sentences/characters.d.ts +29 -0
- package/core/domain/src/sentences/characters.js +71 -0
- package/core/domain/src/sentences/generic-sentences.d.ts +67 -0
- package/core/domain/src/sentences/generic-sentences.js +66 -0
- package/core/domain/src/sentences/index.d.ts +16 -0
- package/core/domain/src/sentences/index.js +18 -0
- package/core/domain/src/sentences/missing-sentence-error.d.ts +6 -0
- package/core/domain/src/sentences/missing-sentence-error.js +11 -0
- package/core/domain/src/sentences/output-reference.d.ts +14 -0
- package/core/domain/src/sentences/output-reference.js +38 -0
- package/core/domain/src/sentences/scenario-outputs.d.ts +33 -0
- package/core/domain/src/sentences/scenario-outputs.js +36 -0
- package/core/domain/src/sentences/scenario-plan.d.ts +54 -0
- package/core/domain/src/sentences/scenario-plan.js +92 -0
- package/core/domain/src/sentences/sentence-book.d.ts +132 -0
- package/core/domain/src/sentences/sentence-book.js +387 -0
- package/core/domain/src/sentences/sentence-error.d.ts +10 -0
- package/core/domain/src/sentences/sentence-error.js +18 -0
- package/core/domain/src/sentences/sentence-pattern.d.ts +42 -0
- package/core/domain/src/sentences/sentence-pattern.js +139 -0
- package/core/domain/src/sentences/table-error.d.ts +6 -0
- package/core/domain/src/sentences/table-error.js +11 -0
- package/core/domain/src/sentences/table-shape.d.ts +42 -0
- package/core/domain/src/sentences/table-shape.js +121 -0
- package/core/domain/src/sentences/time-advance.d.ts +36 -0
- package/core/domain/src/sentences/time-advance.js +60 -0
- package/core/domain/src/sentences/unresolved-reference-error.d.ts +5 -0
- package/core/domain/src/sentences/unresolved-reference-error.js +9 -0
- package/core/domain/src/shared/adapter-options.d.ts +17 -0
- package/core/domain/src/shared/adapter-options.js +8 -0
- package/core/domain/src/shared/block-unavailable-error.d.ts +15 -0
- package/core/domain/src/shared/block-unavailable-error.js +11 -0
- package/core/domain/src/shared/development-authority.d.ts +12 -0
- package/core/domain/src/shared/development-authority.js +6 -0
- package/core/domain/src/shared/index.d.ts +12 -0
- package/core/domain/src/shared/index.js +14 -0
- package/core/domain/src/shared/json-rpc-error.d.ts +14 -0
- package/core/domain/src/shared/json-rpc-error.js +15 -0
- package/core/domain/src/shared/missing-capability-error.d.ts +4 -0
- package/core/domain/src/shared/missing-capability-error.js +8 -0
- package/core/domain/src/shared/missing-host-tools-error.d.ts +5 -0
- package/core/domain/src/shared/missing-host-tools-error.js +10 -0
- package/core/domain/src/shared/missing-route-error.d.ts +6 -0
- package/core/domain/src/shared/missing-route-error.js +12 -0
- package/core/domain/src/shared/pending-check-error.d.ts +9 -0
- package/core/domain/src/shared/pending-check-error.js +11 -0
- package/core/domain/src/shared/secret-uri.d.ts +27 -0
- package/core/domain/src/shared/secret-uri.js +46 -0
- package/core/domain/src/shared/sibling-module.d.ts +6 -0
- package/core/domain/src/shared/sibling-module.js +9 -0
- package/core/domain/src/shared/unsupported-capability-error.d.ts +6 -0
- package/core/domain/src/shared/unsupported-capability-error.js +11 -0
- package/core/domain/src/shared/unsupported-host-operation.d.ts +7 -0
- package/core/domain/src/shared/unsupported-host-operation.js +14 -0
- package/core/domain/src/statements/content-check.d.ts +16 -0
- package/core/domain/src/statements/content-check.js +52 -0
- package/core/domain/src/statements/index.d.ts +2 -0
- package/core/domain/src/statements/index.js +4 -0
- package/core/domain/src/statements/statement.d.ts +44 -0
- package/core/domain/src/statements/statement.js +118 -0
- package/core/domain/src/suites/bisect-plan.d.ts +87 -0
- package/core/domain/src/suites/bisect-plan.js +76 -0
- package/core/domain/src/suites/bisection.d.ts +73 -0
- package/core/domain/src/suites/bisection.js +113 -0
- package/core/domain/src/suites/change-scopes.d.ts +38 -0
- package/core/domain/src/suites/change-scopes.js +70 -0
- package/core/domain/src/suites/compatibility-notice.d.ts +23 -0
- package/core/domain/src/suites/compatibility-notice.js +115 -0
- package/core/domain/src/suites/compatibility.d.ts +129 -0
- package/core/domain/src/suites/compatibility.js +291 -0
- package/core/domain/src/suites/index.d.ts +15 -0
- package/core/domain/src/suites/index.js +17 -0
- package/core/domain/src/suites/mode-data.d.ts +32 -0
- package/core/domain/src/suites/mode-data.js +3 -0
- package/core/domain/src/suites/path-glob.d.ts +1 -0
- package/core/domain/src/suites/path-glob.js +21 -0
- package/core/domain/src/suites/suite-budget.d.ts +2 -0
- package/core/domain/src/suites/suite-budget.js +15 -0
- package/core/domain/src/suites/suite-config-error.d.ts +4 -0
- package/core/domain/src/suites/suite-config-error.js +8 -0
- package/core/domain/src/suites/suite-config.d.ts +48 -0
- package/core/domain/src/suites/suite-config.js +184 -0
- package/core/domain/src/suites/suite-data.d.ts +52 -0
- package/core/domain/src/suites/suite-data.js +3 -0
- package/core/domain/src/suites/suite-evidence-error.d.ts +20 -0
- package/core/domain/src/suites/suite-evidence-error.js +14 -0
- package/core/domain/src/suites/suite-plan.d.ts +88 -0
- package/core/domain/src/suites/suite-plan.js +123 -0
- package/core/domain/src/suites/suite-run-summary.d.ts +70 -0
- package/core/domain/src/suites/suite-run-summary.js +22 -0
- package/core/domain/src/suites/suite-verdict.d.ts +22 -0
- package/core/domain/src/suites/suite-verdict.js +32 -0
- package/core/domain/src/tools/index.d.ts +1 -0
- package/core/domain/src/tools/index.js +3 -0
- package/core/domain/src/tools/tool-command.d.ts +18 -0
- package/core/domain/src/tools/tool-command.js +61 -0
- package/core/domain/src/versions/component-id.d.ts +17 -0
- package/core/domain/src/versions/component-id.js +40 -0
- package/core/domain/src/versions/digest.d.ts +28 -0
- package/core/domain/src/versions/digest.js +51 -0
- package/core/domain/src/versions/environment-versions.d.ts +41 -0
- package/core/domain/src/versions/environment-versions.js +38 -0
- package/core/domain/src/versions/fork-snapshot.d.ts +16 -0
- package/core/domain/src/versions/fork-snapshot.js +3 -0
- package/core/domain/src/versions/host-route.d.ts +89 -0
- package/core/domain/src/versions/host-route.js +74 -0
- package/core/domain/src/versions/index.d.ts +21 -0
- package/core/domain/src/versions/index.js +23 -0
- package/core/domain/src/versions/lab-lock.d.ts +48 -0
- package/core/domain/src/versions/lab-lock.js +98 -0
- package/core/domain/src/versions/lock-promotion.d.ts +48 -0
- package/core/domain/src/versions/lock-promotion.js +63 -0
- package/core/domain/src/versions/lock-proposal-refusal.d.ts +21 -0
- package/core/domain/src/versions/lock-proposal-refusal.js +41 -0
- package/core/domain/src/versions/locked-component.d.ts +80 -0
- package/core/domain/src/versions/locked-component.js +146 -0
- package/core/domain/src/versions/recovery-policy.d.ts +33 -0
- package/core/domain/src/versions/recovery-policy.js +26 -0
- package/core/domain/src/versions/release-artifact.d.ts +46 -0
- package/core/domain/src/versions/release-artifact.js +70 -0
- package/core/domain/src/versions/release-version.d.ts +17 -0
- package/core/domain/src/versions/release-version.js +52 -0
- package/core/domain/src/versions/resolved-runtime.d.ts +103 -0
- package/core/domain/src/versions/resolved-runtime.js +107 -0
- package/core/domain/src/versions/snapshot-freshness.d.ts +26 -0
- package/core/domain/src/versions/snapshot-freshness.js +25 -0
- package/core/domain/src/versions/version-drift.d.ts +29 -0
- package/core/domain/src/versions/version-drift.js +37 -0
- package/core/domain/src/versions/version-error.d.ts +17 -0
- package/core/domain/src/versions/version-error.js +10 -0
- package/core/domain/src/versions/version-policy.d.ts +19 -0
- package/core/domain/src/versions/version-policy.js +37 -0
- package/core/domain/src/versions/version-resolution.d.ts +103 -0
- package/core/domain/src/versions/version-resolution.js +111 -0
- package/core/domain/src/versions/version-selector.d.ts +58 -0
- package/core/domain/src/versions/version-selector.js +134 -0
- package/core/domain/src/versions/version-workspace-key.d.ts +18 -0
- package/core/domain/src/versions/version-workspace-key.js +41 -0
- package/core/domain/src/versions/versioned-workspace.d.ts +43 -0
- package/core/domain/src/versions/versioned-workspace.js +63 -0
- package/core/lab/README.md +1012 -0
- package/core/lab/src/activity/types.d.ts +1 -0
- package/core/lab/src/activity/types.js +3 -0
- package/core/lab/src/chain/index.d.ts +2 -0
- package/core/lab/src/chain/index.js +4 -0
- package/core/lab/src/chain/transaction-mode-schema.d.ts +11 -0
- package/core/lab/src/chain/transaction-mode-schema.js +5 -0
- package/core/lab/src/host/index.d.ts +1 -0
- package/core/lab/src/host/index.js +3 -0
- package/core/lab/src/identity/index.d.ts +1 -0
- package/core/lab/src/identity/index.js +3 -0
- package/core/lab/src/index.d.ts +2 -0
- package/core/lab/src/index.js +4 -0
- package/core/lab/src/run/index.d.ts +1 -0
- package/core/lab/src/run/index.js +3 -0
- package/core/lab/src/steps.d.ts +1 -0
- package/core/lab/src/steps.js +3 -0
- package/core/lab/src/topology.d.ts +128 -0
- package/core/lab/src/topology.js +58 -0
- package/core/ports/README.md +458 -0
- package/core/ports/src/driven/browser/app-surface.d.ts +41 -0
- package/core/ports/src/driven/browser/app-surface.js +3 -0
- package/core/ports/src/driven/browser/browser.d.ts +79 -0
- package/core/ports/src/driven/browser/browser.js +3 -0
- package/core/ports/src/driven/browser/conditions.d.ts +24 -0
- package/core/ports/src/driven/browser/conditions.js +3 -0
- package/core/ports/src/driven/browser/index.d.ts +6 -0
- package/core/ports/src/driven/browser/index.js +3 -0
- package/core/ports/src/driven/browser/locator.d.ts +55 -0
- package/core/ports/src/driven/browser/locator.js +3 -0
- package/core/ports/src/driven/browser/page.d.ts +71 -0
- package/core/ports/src/driven/browser/page.js +3 -0
- package/core/ports/src/driven/browser/route.d.ts +45 -0
- package/core/ports/src/driven/browser/route.js +3 -0
- package/core/ports/src/driven/chain/bulletin-reader.d.ts +9 -0
- package/core/ports/src/driven/chain/bulletin-reader.js +3 -0
- package/core/ports/src/driven/chain/chain-access.d.ts +37 -0
- package/core/ports/src/driven/chain/chain-access.js +3 -0
- package/core/ports/src/driven/chain/chain-history.d.ts +170 -0
- package/core/ports/src/driven/chain/chain-history.js +3 -0
- package/core/ports/src/driven/chain/chain-readers.d.ts +8 -0
- package/core/ports/src/driven/chain/chain-readers.js +3 -0
- package/core/ports/src/driven/chain/index.d.ts +11 -0
- package/core/ports/src/driven/chain/index.js +3 -0
- package/core/ports/src/driven/chain/key-derivation.d.ts +22 -0
- package/core/ports/src/driven/chain/key-derivation.js +3 -0
- package/core/ports/src/driven/chain/receipt-validator.d.ts +17 -0
- package/core/ports/src/driven/chain/receipt-validator.js +3 -0
- package/core/ports/src/driven/chain/receipt.d.ts +33 -0
- package/core/ports/src/driven/chain/receipt.js +3 -0
- package/core/ports/src/driven/chain/runtime-fingerprint.d.ts +12 -0
- package/core/ports/src/driven/chain/runtime-fingerprint.js +3 -0
- package/core/ports/src/driven/chain/signer.d.ts +16 -0
- package/core/ports/src/driven/chain/signer.js +3 -0
- package/core/ports/src/driven/chain/statement-store-reader.d.ts +53 -0
- package/core/ports/src/driven/chain/statement-store-reader.js +3 -0
- package/core/ports/src/driven/chain/transaction-submitter.d.ts +104 -0
- package/core/ports/src/driven/chain/transaction-submitter.js +3 -0
- package/core/ports/src/driven/deploy/content-archiver.d.ts +21 -0
- package/core/ports/src/driven/deploy/content-archiver.js +3 -0
- package/core/ports/src/driven/deploy/deployer.d.ts +101 -0
- package/core/ports/src/driven/deploy/deployer.js +3 -0
- package/core/ports/src/driven/deploy/destination-directory.d.ts +15 -0
- package/core/ports/src/driven/deploy/destination-directory.js +3 -0
- package/core/ports/src/driven/deploy/destination-server.d.ts +25 -0
- package/core/ports/src/driven/deploy/destination-server.js +3 -0
- package/core/ports/src/driven/deploy/index.d.ts +5 -0
- package/core/ports/src/driven/deploy/index.js +3 -0
- package/core/ports/src/driven/deploy/name-resolver.d.ts +11 -0
- package/core/ports/src/driven/deploy/name-resolver.js +3 -0
- package/core/ports/src/driven/environment/environment-adapter-factory.d.ts +21 -0
- package/core/ports/src/driven/environment/environment-adapter-factory.js +3 -0
- package/core/ports/src/driven/environment/environment-time.d.ts +110 -0
- package/core/ports/src/driven/environment/environment-time.js +3 -0
- package/core/ports/src/driven/environment/environment-tooling.d.ts +51 -0
- package/core/ports/src/driven/environment/environment-tooling.js +3 -0
- package/core/ports/src/driven/environment/index.d.ts +6 -0
- package/core/ports/src/driven/environment/index.js +3 -0
- package/core/ports/src/driven/environment/running-environment.d.ts +267 -0
- package/core/ports/src/driven/environment/running-environment.js +3 -0
- package/core/ports/src/driven/environment/start-phases.d.ts +34 -0
- package/core/ports/src/driven/environment/start-phases.js +3 -0
- package/core/ports/src/driven/environment/topology-adapter-factory.d.ts +52 -0
- package/core/ports/src/driven/environment/topology-adapter-factory.js +3 -0
- package/core/ports/src/driven/factory/adapter-flag.d.ts +21 -0
- package/core/ports/src/driven/factory/adapter-flag.js +3 -0
- package/core/ports/src/driven/factory/index.d.ts +2 -0
- package/core/ports/src/driven/factory/index.js +3 -0
- package/core/ports/src/driven/factory/options-schema.d.ts +21 -0
- package/core/ports/src/driven/factory/options-schema.js +3 -0
- package/core/ports/src/driven/features/custom-step-source.d.ts +33 -0
- package/core/ports/src/driven/features/custom-step-source.js +3 -0
- package/core/ports/src/driven/features/feature-runner.d.ts +193 -0
- package/core/ports/src/driven/features/feature-runner.js +3 -0
- package/core/ports/src/driven/features/feature-source.d.ts +22 -0
- package/core/ports/src/driven/features/feature-source.js +3 -0
- package/core/ports/src/driven/features/index.d.ts +3 -0
- package/core/ports/src/driven/features/index.js +3 -0
- package/core/ports/src/driven/host/host-adapter-factory.d.ts +111 -0
- package/core/ports/src/driven/host/host-adapter-factory.js +3 -0
- package/core/ports/src/driven/host/host-provider.d.ts +71 -0
- package/core/ports/src/driven/host/host-provider.js +3 -0
- package/core/ports/src/driven/host/host-session.d.ts +289 -0
- package/core/ports/src/driven/host/host-session.js +3 -0
- package/core/ports/src/driven/host/host-tool-source.d.ts +19 -0
- package/core/ports/src/driven/host/host-tool-source.js +3 -0
- package/core/ports/src/driven/host/host-upstream.d.ts +24 -0
- package/core/ports/src/driven/host/host-upstream.js +3 -0
- package/core/ports/src/driven/host/host-verifier.d.ts +95 -0
- package/core/ports/src/driven/host/host-verifier.js +3 -0
- package/core/ports/src/driven/host/index.d.ts +7 -0
- package/core/ports/src/driven/host/index.js +3 -0
- package/core/ports/src/driven/identity/identity-provisioner.d.ts +23 -0
- package/core/ports/src/driven/identity/identity-provisioner.js +3 -0
- package/core/ports/src/driven/identity/index.d.ts +2 -0
- package/core/ports/src/driven/identity/index.js +3 -0
- package/core/ports/src/driven/identity/product-account-derivation.d.ts +23 -0
- package/core/ports/src/driven/identity/product-account-derivation.js +3 -0
- package/core/ports/src/driven/lab/client-bundles.d.ts +13 -0
- package/core/ports/src/driven/lab/client-bundles.js +3 -0
- package/core/ports/src/driven/lab/index.d.ts +7 -0
- package/core/ports/src/driven/lab/index.js +3 -0
- package/core/ports/src/driven/lab/lab-configuration.d.ts +86 -0
- package/core/ports/src/driven/lab/lab-configuration.js +3 -0
- package/core/ports/src/driven/lab/lab-definition-source.d.ts +16 -0
- package/core/ports/src/driven/lab/lab-definition-source.js +3 -0
- package/core/ports/src/driven/lab/lab-environment.d.ts +505 -0
- package/core/ports/src/driven/lab/lab-environment.js +3 -0
- package/core/ports/src/driven/lab/lab-sentences.d.ts +113 -0
- package/core/ports/src/driven/lab/lab-sentences.js +3 -0
- package/core/ports/src/driven/lab/loaded-lab.d.ts +297 -0
- package/core/ports/src/driven/lab/loaded-lab.js +3 -0
- package/core/ports/src/driven/lab/scenario.d.ts +137 -0
- package/core/ports/src/driven/lab/scenario.js +3 -0
- package/core/ports/src/driven/notify/index.d.ts +1 -0
- package/core/ports/src/driven/notify/index.js +3 -0
- package/core/ports/src/driven/notify/notifier.d.ts +32 -0
- package/core/ports/src/driven/notify/notifier.js +3 -0
- package/core/ports/src/driven/recording/console-watch.d.ts +28 -0
- package/core/ports/src/driven/recording/console-watch.js +3 -0
- package/core/ports/src/driven/recording/demo-ports.d.ts +53 -0
- package/core/ports/src/driven/recording/demo-ports.js +3 -0
- package/core/ports/src/driven/recording/frame-capture.d.ts +92 -0
- package/core/ports/src/driven/recording/frame-capture.js +3 -0
- package/core/ports/src/driven/recording/index.d.ts +6 -0
- package/core/ports/src/driven/recording/index.js +3 -0
- package/core/ports/src/driven/recording/journey-docs-store.d.ts +35 -0
- package/core/ports/src/driven/recording/journey-docs-store.js +3 -0
- package/core/ports/src/driven/recording/recording-store.d.ts +39 -0
- package/core/ports/src/driven/recording/recording-store.js +3 -0
- package/core/ports/src/driven/recording/step-check-ports.d.ts +29 -0
- package/core/ports/src/driven/recording/step-check-ports.js +3 -0
- package/core/ports/src/driven/storage/breakpoint-store.d.ts +13 -0
- package/core/ports/src/driven/storage/breakpoint-store.js +3 -0
- package/core/ports/src/driven/storage/environment-option-choices.d.ts +4 -0
- package/core/ports/src/driven/storage/environment-option-choices.js +3 -0
- package/core/ports/src/driven/storage/evidence-journal.d.ts +10 -0
- package/core/ports/src/driven/storage/evidence-journal.js +3 -0
- package/core/ports/src/driven/storage/fixture-archives.d.ts +61 -0
- package/core/ports/src/driven/storage/fixture-archives.js +3 -0
- package/core/ports/src/driven/storage/fixture-source.d.ts +53 -0
- package/core/ports/src/driven/storage/fixture-source.js +3 -0
- package/core/ports/src/driven/storage/fixture-store.d.ts +69 -0
- package/core/ports/src/driven/storage/fixture-store.js +3 -0
- package/core/ports/src/driven/storage/index.d.ts +12 -0
- package/core/ports/src/driven/storage/index.js +3 -0
- package/core/ports/src/driven/storage/lab-settings-store.d.ts +8 -0
- package/core/ports/src/driven/storage/lab-settings-store.js +3 -0
- package/core/ports/src/driven/storage/rpc-choices.d.ts +11 -0
- package/core/ports/src/driven/storage/rpc-choices.js +3 -0
- package/core/ports/src/driven/storage/run-bundle-archives.d.ts +46 -0
- package/core/ports/src/driven/storage/run-bundle-archives.js +3 -0
- package/core/ports/src/driven/storage/run-manifest-store.d.ts +18 -0
- package/core/ports/src/driven/storage/run-manifest-store.js +3 -0
- package/core/ports/src/driven/storage/running-lab.d.ts +42 -0
- package/core/ports/src/driven/storage/running-lab.js +3 -0
- package/core/ports/src/driven/storage/suite-evidence-bundles.d.ts +55 -0
- package/core/ports/src/driven/storage/suite-evidence-bundles.js +3 -0
- package/core/ports/src/driven/system/app-proxy.d.ts +123 -0
- package/core/ports/src/driven/system/app-proxy.js +3 -0
- package/core/ports/src/driven/system/chain-gate.d.ts +41 -0
- package/core/ports/src/driven/system/chain-gate.js +3 -0
- package/core/ports/src/driven/system/change-source.d.ts +69 -0
- package/core/ports/src/driven/system/change-source.js +3 -0
- package/core/ports/src/driven/system/clock.d.ts +13 -0
- package/core/ports/src/driven/system/clock.js +3 -0
- package/core/ports/src/driven/system/command-runner.d.ts +33 -0
- package/core/ports/src/driven/system/command-runner.js +3 -0
- package/core/ports/src/driven/system/conditioned-links.d.ts +20 -0
- package/core/ports/src/driven/system/conditioned-links.js +3 -0
- package/core/ports/src/driven/system/connection-monitor.d.ts +40 -0
- package/core/ports/src/driven/system/connection-monitor.js +3 -0
- package/core/ports/src/driven/system/document-headers.d.ts +9 -0
- package/core/ports/src/driven/system/document-headers.js +3 -0
- package/core/ports/src/driven/system/environment-variables.d.ts +9 -0
- package/core/ports/src/driven/system/environment-variables.js +3 -0
- package/core/ports/src/driven/system/file-system.d.ts +41 -0
- package/core/ports/src/driven/system/file-system.js +3 -0
- package/core/ports/src/driven/system/http-probe.d.ts +20 -0
- package/core/ports/src/driven/system/http-probe.js +3 -0
- package/core/ports/src/driven/system/id-generator.d.ts +5 -0
- package/core/ports/src/driven/system/id-generator.js +3 -0
- package/core/ports/src/driven/system/index.d.ts +27 -0
- package/core/ports/src/driven/system/index.js +3 -0
- package/core/ports/src/driven/system/json-rpc-client.d.ts +15 -0
- package/core/ports/src/driven/system/json-rpc-client.js +3 -0
- package/core/ports/src/driven/system/lock-manager.d.ts +55 -0
- package/core/ports/src/driven/system/lock-manager.js +3 -0
- package/core/ports/src/driven/system/logger.d.ts +8 -0
- package/core/ports/src/driven/system/logger.js +3 -0
- package/core/ports/src/driven/system/machine-metrics.d.ts +38 -0
- package/core/ports/src/driven/system/machine-metrics.js +3 -0
- package/core/ports/src/driven/system/os-ports.d.ts +12 -0
- package/core/ports/src/driven/system/os-ports.js +3 -0
- package/core/ports/src/driven/system/port-allocator.d.ts +46 -0
- package/core/ports/src/driven/system/port-allocator.js +3 -0
- package/core/ports/src/driven/system/process-runner.d.ts +133 -0
- package/core/ports/src/driven/system/process-runner.js +3 -0
- package/core/ports/src/driven/system/process-sandbox.d.ts +61 -0
- package/core/ports/src/driven/system/process-sandbox.js +3 -0
- package/core/ports/src/driven/system/redactor.d.ts +12 -0
- package/core/ports/src/driven/system/redactor.js +3 -0
- package/core/ports/src/driven/system/source-watcher.d.ts +29 -0
- package/core/ports/src/driven/system/source-watcher.js +3 -0
- package/core/ports/src/driven/system/stdio-worker.d.ts +21 -0
- package/core/ports/src/driven/system/stdio-worker.js +3 -0
- package/core/ports/src/driven/system/sync-command-runner.d.ts +20 -0
- package/core/ports/src/driven/system/sync-command-runner.js +3 -0
- package/core/ports/src/driven/system/system-ports.d.ts +90 -0
- package/core/ports/src/driven/system/system-ports.js +3 -0
- package/core/ports/src/driven/system/terminal-command-runner.d.ts +22 -0
- package/core/ports/src/driven/system/terminal-command-runner.js +3 -0
- package/core/ports/src/driven/system/tree-cloner.d.ts +19 -0
- package/core/ports/src/driven/system/tree-cloner.js +3 -0
- package/core/ports/src/driven/versions/artifact-store.d.ts +47 -0
- package/core/ports/src/driven/versions/artifact-store.js +3 -0
- package/core/ports/src/driven/versions/http-client.d.ts +22 -0
- package/core/ports/src/driven/versions/http-client.js +3 -0
- package/core/ports/src/driven/versions/index.d.ts +6 -0
- package/core/ports/src/driven/versions/index.js +3 -0
- package/core/ports/src/driven/versions/lab-versions-declaration.d.ts +55 -0
- package/core/ports/src/driven/versions/lab-versions-declaration.js +3 -0
- package/core/ports/src/driven/versions/lock-store.d.ts +29 -0
- package/core/ports/src/driven/versions/lock-store.js +3 -0
- package/core/ports/src/driven/versions/version-policy-source.d.ts +12 -0
- package/core/ports/src/driven/versions/version-policy-source.js +3 -0
- package/core/ports/src/driven/versions/version-source.d.ts +58 -0
- package/core/ports/src/driven/versions/version-source.js +3 -0
- package/core/ports/src/driving/activity.d.ts +244 -0
- package/core/ports/src/driving/activity.js +3 -0
- package/core/ports/src/driving/app-builds.d.ts +91 -0
- package/core/ports/src/driving/app-builds.js +3 -0
- package/core/ports/src/driving/bisect.d.ts +42 -0
- package/core/ports/src/driving/bisect.js +3 -0
- package/core/ports/src/driving/breakpoints.d.ts +148 -0
- package/core/ports/src/driving/breakpoints.js +3 -0
- package/core/ports/src/driving/builder.d.ts +92 -0
- package/core/ports/src/driving/builder.js +3 -0
- package/core/ports/src/driving/chain-console.d.ts +52 -0
- package/core/ports/src/driving/chain-console.js +3 -0
- package/core/ports/src/driving/demo.d.ts +47 -0
- package/core/ports/src/driving/demo.js +3 -0
- package/core/ports/src/driving/environment-rpc.d.ts +16 -0
- package/core/ports/src/driving/environment-rpc.js +3 -0
- package/core/ports/src/driving/environment-tooling.d.ts +40 -0
- package/core/ports/src/driving/environment-tooling.js +3 -0
- package/core/ports/src/driving/exploration.d.ts +58 -0
- package/core/ports/src/driving/exploration.js +3 -0
- package/core/ports/src/driving/feature-session.d.ts +269 -0
- package/core/ports/src/driving/feature-session.js +3 -0
- package/core/ports/src/driving/features.d.ts +260 -0
- package/core/ports/src/driving/features.js +3 -0
- package/core/ports/src/driving/fixture-maintenance.d.ts +95 -0
- package/core/ports/src/driving/fixture-maintenance.js +3 -0
- package/core/ports/src/driving/fixture-sharing.d.ts +159 -0
- package/core/ports/src/driving/fixture-sharing.js +3 -0
- package/core/ports/src/driving/fixtures.d.ts +149 -0
- package/core/ports/src/driving/fixtures.js +3 -0
- package/core/ports/src/driving/hosts.d.ts +49 -0
- package/core/ports/src/driving/hosts.js +3 -0
- package/core/ports/src/driving/index.d.ts +36 -0
- package/core/ports/src/driving/index.js +3 -0
- package/core/ports/src/driving/journeys.d.ts +45 -0
- package/core/ports/src/driving/journeys.js +3 -0
- package/core/ports/src/driving/lab-coverage.d.ts +47 -0
- package/core/ports/src/driving/lab-coverage.js +3 -0
- package/core/ports/src/driving/lab-lint.d.ts +47 -0
- package/core/ports/src/driving/lab-lint.js +3 -0
- package/core/ports/src/driving/lab-mutations.d.ts +16 -0
- package/core/ports/src/driving/lab-mutations.js +3 -0
- package/core/ports/src/driving/lab-registry.d.ts +236 -0
- package/core/ports/src/driving/lab-registry.js +3 -0
- package/core/ports/src/driving/lab-runtime.d.ts +656 -0
- package/core/ports/src/driving/lab-runtime.js +3 -0
- package/core/ports/src/driving/lab-settings.d.ts +29 -0
- package/core/ports/src/driving/lab-settings.js +3 -0
- package/core/ports/src/driving/lab-snapshot.d.ts +361 -0
- package/core/ports/src/driving/lab-snapshot.js +3 -0
- package/core/ports/src/driving/load.d.ts +22 -0
- package/core/ports/src/driving/load.js +3 -0
- package/core/ports/src/driving/navigation-view.d.ts +23 -0
- package/core/ports/src/driving/navigation-view.js +3 -0
- package/core/ports/src/driving/recordings.d.ts +103 -0
- package/core/ports/src/driving/recordings.js +3 -0
- package/core/ports/src/driving/reports.d.ts +411 -0
- package/core/ports/src/driving/reports.js +3 -0
- package/core/ports/src/driving/resolved-config.d.ts +52 -0
- package/core/ports/src/driving/resolved-config.js +3 -0
- package/core/ports/src/driving/run-bundles.d.ts +135 -0
- package/core/ports/src/driving/run-bundles.js +3 -0
- package/core/ports/src/driving/suites.d.ts +188 -0
- package/core/ports/src/driving/suites.js +3 -0
- package/core/ports/src/driving/tools.d.ts +279 -0
- package/core/ports/src/driving/tools.js +3 -0
- package/core/ports/src/driving/ui-extensions.d.ts +77 -0
- package/core/ports/src/driving/ui-extensions.js +3 -0
- package/core/ports/src/driving/versions.d.ts +280 -0
- package/core/ports/src/driving/versions.js +3 -0
- package/core/ports/src/driving/what-if.d.ts +64 -0
- package/core/ports/src/driving/what-if.js +3 -0
- package/core/ports/src/driving/workers.d.ts +52 -0
- package/core/ports/src/driving/workers.js +3 -0
- package/core/ports/src/index.d.ts +15 -0
- package/core/ports/src/index.js +17 -0
- package/entrypoints/cli/README.md +895 -0
- package/entrypoints/cli/ai-kit/agents/product-lab-e2e-debugger.yaml +32 -0
- package/entrypoints/cli/ai-kit/agents/product-lab-scenario-author.yaml +44 -0
- package/entrypoints/cli/ai-kit/agents-md.md +52 -0
- package/entrypoints/cli/ai-kit/mcp.json +11 -0
- package/entrypoints/cli/ai-kit/skills/product-lab-app/SKILL.md +101 -0
- package/entrypoints/cli/ai-kit/skills/product-lab-debug/SKILL.md +54 -0
- package/entrypoints/cli/ai-kit/skills/product-lab-integration/SKILL.md +116 -0
- package/entrypoints/cli/ai-kit/skills/product-lab-integration/references/notes-example.md +192 -0
- package/entrypoints/cli/ai-kit/skills/product-lab-integration/references/notes-lab.md +5700 -0
- package/entrypoints/cli/ai-kit/skills/product-lab-scenario/SKILL.md +122 -0
- package/entrypoints/cli/ai-kit/skills/product-lab-setup/SKILL.md +113 -0
- package/entrypoints/cli/ai-kit/skills/product-lab-setup/references/minimal-lab.md +480 -0
- package/entrypoints/cli/ai-kit/skills/product-lab-test-ids/SKILL.md +79 -0
- package/entrypoints/cli/bin/esbuild-own-session.sh +8 -0
- package/entrypoints/cli/bin/esbuild-session.mjs +70 -0
- package/entrypoints/cli/bin/product-lab.mjs +42 -0
- package/entrypoints/cli/src/agents.d.ts +65 -0
- package/entrypoints/cli/src/agents.js +96 -0
- package/entrypoints/cli/src/ai/command.d.ts +3 -0
- package/entrypoints/cli/src/ai/command.js +79 -0
- package/entrypoints/cli/src/ai/doctor.d.ts +17 -0
- package/entrypoints/cli/src/ai/doctor.js +117 -0
- package/entrypoints/cli/src/ai/examples.d.ts +18 -0
- package/entrypoints/cli/src/ai/examples.js +69 -0
- package/entrypoints/cli/src/ai/init.d.ts +41 -0
- package/entrypoints/cli/src/ai/init.js +229 -0
- package/entrypoints/cli/src/ai/kit-reference.d.ts +46 -0
- package/entrypoints/cli/src/ai/kit-reference.js +300 -0
- package/entrypoints/cli/src/ai/kit.d.ts +37 -0
- package/entrypoints/cli/src/ai/kit.js +73 -0
- package/entrypoints/cli/src/ai/policy.d.ts +28 -0
- package/entrypoints/cli/src/ai/policy.js +56 -0
- package/entrypoints/cli/src/ai/render.d.ts +68 -0
- package/entrypoints/cli/src/ai/render.js +200 -0
- package/entrypoints/cli/src/ai/status.d.ts +21 -0
- package/entrypoints/cli/src/ai/status.js +41 -0
- package/entrypoints/cli/src/ai/sync.d.ts +39 -0
- package/entrypoints/cli/src/ai/sync.js +256 -0
- package/entrypoints/cli/src/bisect-command.d.ts +4 -0
- package/entrypoints/cli/src/bisect-command.js +109 -0
- package/entrypoints/cli/src/breakpoints-command.d.ts +4 -0
- package/entrypoints/cli/src/breakpoints-command.js +67 -0
- package/entrypoints/cli/src/bundle-command.d.ts +5 -0
- package/entrypoints/cli/src/bundle-command.js +74 -0
- package/entrypoints/cli/src/checkout.d.ts +6 -0
- package/entrypoints/cli/src/checkout.js +12 -0
- package/entrypoints/cli/src/cli-app.d.ts +57 -0
- package/entrypoints/cli/src/cli-app.js +506 -0
- package/entrypoints/cli/src/cli-host-release.d.ts +22 -0
- package/entrypoints/cli/src/cli-host-release.js +23 -0
- package/entrypoints/cli/src/commands/chain-day-ended.d.ts +12 -0
- package/entrypoints/cli/src/commands/chain-day-ended.js +33 -0
- package/entrypoints/cli/src/commands/check.d.ts +13 -0
- package/entrypoints/cli/src/commands/check.js +36 -0
- package/entrypoints/cli/src/commands/dev.d.ts +149 -0
- package/entrypoints/cli/src/commands/dev.js +327 -0
- package/entrypoints/cli/src/config-command.d.ts +7 -0
- package/entrypoints/cli/src/config-command.js +69 -0
- package/entrypoints/cli/src/coverage-command.d.ts +4 -0
- package/entrypoints/cli/src/coverage-command.js +75 -0
- package/entrypoints/cli/src/demo-command.d.ts +4 -0
- package/entrypoints/cli/src/demo-command.js +102 -0
- package/entrypoints/cli/src/env-command.d.ts +90 -0
- package/entrypoints/cli/src/env-command.js +203 -0
- package/entrypoints/cli/src/env-files.d.ts +6 -0
- package/entrypoints/cli/src/env-files.js +46 -0
- package/entrypoints/cli/src/environment.d.ts +5 -0
- package/entrypoints/cli/src/environment.js +3 -0
- package/entrypoints/cli/src/every-control.d.ts +74 -0
- package/entrypoints/cli/src/every-control.js +129 -0
- package/entrypoints/cli/src/explore-command.d.ts +4 -0
- package/entrypoints/cli/src/explore-command.js +133 -0
- package/entrypoints/cli/src/fixture-command.d.ts +8 -0
- package/entrypoints/cli/src/fixture-command.js +365 -0
- package/entrypoints/cli/src/fixture-refresh-command.d.ts +11 -0
- package/entrypoints/cli/src/fixture-refresh-command.js +245 -0
- package/entrypoints/cli/src/fixture-setup-marker.d.ts +22 -0
- package/entrypoints/cli/src/fixture-setup-marker.js +52 -0
- package/entrypoints/cli/src/fixture-sharing-command.d.ts +16 -0
- package/entrypoints/cli/src/fixture-sharing-command.js +192 -0
- package/entrypoints/cli/src/fixture-source-command.d.ts +3 -0
- package/entrypoints/cli/src/fixture-source-command.js +161 -0
- package/entrypoints/cli/src/host-command.d.ts +5 -0
- package/entrypoints/cli/src/host-command.js +213 -0
- package/entrypoints/cli/src/init-command.d.ts +49 -0
- package/entrypoints/cli/src/init-command.js +349 -0
- package/entrypoints/cli/src/init-lock.d.ts +48 -0
- package/entrypoints/cli/src/init-lock.js +50 -0
- package/entrypoints/cli/src/journeys-after-test.d.ts +2 -0
- package/entrypoints/cli/src/journeys-after-test.js +13 -0
- package/entrypoints/cli/src/journeys-command.d.ts +5 -0
- package/entrypoints/cli/src/journeys-command.js +61 -0
- package/entrypoints/cli/src/lab-flags.d.ts +54 -0
- package/entrypoints/cli/src/lab-flags.js +53 -0
- package/entrypoints/cli/src/lab-window-closed.d.ts +4 -0
- package/entrypoints/cli/src/lab-window-closed.js +10 -0
- package/entrypoints/cli/src/lint-command.d.ts +4 -0
- package/entrypoints/cli/src/lint-command.js +82 -0
- package/entrypoints/cli/src/load-command.d.ts +5 -0
- package/entrypoints/cli/src/load-command.js +111 -0
- package/entrypoints/cli/src/load-env.d.ts +1 -0
- package/entrypoints/cli/src/load-env.js +4 -0
- package/entrypoints/cli/src/machine-fit.d.ts +60 -0
- package/entrypoints/cli/src/machine-fit.js +63 -0
- package/entrypoints/cli/src/main.d.ts +14 -0
- package/entrypoints/cli/src/main.js +31 -0
- package/entrypoints/cli/src/mcp-command.d.ts +6 -0
- package/entrypoints/cli/src/mcp-command.js +28 -0
- package/entrypoints/cli/src/mutate-command.d.ts +34 -0
- package/entrypoints/cli/src/mutate-command.js +84 -0
- package/entrypoints/cli/src/own-running-record.d.ts +1 -0
- package/entrypoints/cli/src/own-running-record.js +10 -0
- package/entrypoints/cli/src/parse-args-errors.d.ts +2 -0
- package/entrypoints/cli/src/parse-args-errors.js +7 -0
- package/entrypoints/cli/src/plain-output.d.ts +98 -0
- package/entrypoints/cli/src/plain-output.js +179 -0
- package/entrypoints/cli/src/recordings-command.d.ts +15 -0
- package/entrypoints/cli/src/recordings-command.js +232 -0
- package/entrypoints/cli/src/release/notices.d.ts +87 -0
- package/entrypoints/cli/src/release/notices.js +182 -0
- package/entrypoints/cli/src/release/upgrade-command.d.ts +35 -0
- package/entrypoints/cli/src/release/upgrade-command.js +240 -0
- package/entrypoints/cli/src/report-command.d.ts +3 -0
- package/entrypoints/cli/src/report-command.js +207 -0
- package/entrypoints/cli/src/reports/compatibility-html.d.ts +2 -0
- package/entrypoints/cli/src/reports/compatibility-html.js +76 -0
- package/entrypoints/cli/src/reports/evidence-report.d.ts +46 -0
- package/entrypoints/cli/src/reports/evidence-report.js +31 -0
- package/entrypoints/cli/src/reports/host-bypass.d.ts +3 -0
- package/entrypoints/cli/src/reports/host-bypass.js +17 -0
- package/entrypoints/cli/src/reports/html.d.ts +6 -0
- package/entrypoints/cli/src/reports/html.js +178 -0
- package/entrypoints/cli/src/reports/junit.d.ts +2 -0
- package/entrypoints/cli/src/reports/junit.js +93 -0
- package/entrypoints/cli/src/reports/markdown.d.ts +2 -0
- package/entrypoints/cli/src/reports/markdown.js +62 -0
- package/entrypoints/cli/src/reports/metrics-text.d.ts +19 -0
- package/entrypoints/cli/src/reports/metrics-text.js +72 -0
- package/entrypoints/cli/src/reports/pr-comment.d.ts +20 -0
- package/entrypoints/cli/src/reports/pr-comment.js +61 -0
- package/entrypoints/cli/src/reports/write-reports.d.ts +8 -0
- package/entrypoints/cli/src/reports/write-reports.js +30 -0
- package/entrypoints/cli/src/reproduce-command.d.ts +4 -0
- package/entrypoints/cli/src/reproduce-command.js +69 -0
- package/entrypoints/cli/src/rerun-failures.d.ts +8 -0
- package/entrypoints/cli/src/rerun-failures.js +59 -0
- package/entrypoints/cli/src/rpc-flags.d.ts +3 -0
- package/entrypoints/cli/src/rpc-flags.js +23 -0
- package/entrypoints/cli/src/setup-commands.d.ts +36 -0
- package/entrypoints/cli/src/setup-commands.js +344 -0
- package/entrypoints/cli/src/shared-controls.d.ts +6 -0
- package/entrypoints/cli/src/shared-controls.js +49 -0
- package/entrypoints/cli/src/start-progress.d.ts +96 -0
- package/entrypoints/cli/src/start-progress.js +256 -0
- package/entrypoints/cli/src/startup-notices.d.ts +9 -0
- package/entrypoints/cli/src/startup-notices.js +25 -0
- package/entrypoints/cli/src/stop-signals.d.ts +27 -0
- package/entrypoints/cli/src/stop-signals.js +60 -0
- package/entrypoints/cli/src/suite-run-command.d.ts +17 -0
- package/entrypoints/cli/src/suite-run-command.js +48 -0
- package/entrypoints/cli/src/test-command.d.ts +15 -0
- package/entrypoints/cli/src/test-command.js +597 -0
- package/entrypoints/cli/src/test-in-window.d.ts +11 -0
- package/entrypoints/cli/src/test-in-window.js +27 -0
- package/entrypoints/cli/src/test-output.d.ts +9 -0
- package/entrypoints/cli/src/test-output.js +17 -0
- package/entrypoints/cli/src/tool-run.d.ts +3 -0
- package/entrypoints/cli/src/tool-run.js +29 -0
- package/entrypoints/cli/src/tui/agents-menu.d.ts +18 -0
- package/entrypoints/cli/src/tui/agents-menu.js +108 -0
- package/entrypoints/cli/src/tui/app.d.ts +46 -0
- package/entrypoints/cli/src/tui/app.js +483 -0
- package/entrypoints/cli/src/tui/frame.d.ts +23 -0
- package/entrypoints/cli/src/tui/frame.js +24 -0
- package/entrypoints/cli/src/tui/model.d.ts +188 -0
- package/entrypoints/cli/src/tui/model.js +487 -0
- package/entrypoints/cli/src/tui/mouse.d.ts +50 -0
- package/entrypoints/cli/src/tui/mouse.js +91 -0
- package/entrypoints/cli/src/tui/scroll.d.ts +28 -0
- package/entrypoints/cli/src/tui/scroll.js +29 -0
- package/entrypoints/cli/src/tui/start.d.ts +54 -0
- package/entrypoints/cli/src/tui/start.js +168 -0
- package/entrypoints/cli/src/tui/starting.d.ts +52 -0
- package/entrypoints/cli/src/tui/starting.js +67 -0
- package/entrypoints/cli/src/versions-command.d.ts +22 -0
- package/entrypoints/cli/src/versions-command.js +230 -0
- package/entrypoints/cli/src/what-if-command.d.ts +7 -0
- package/entrypoints/cli/src/what-if-command.js +103 -0
- package/entrypoints/cucumber/README.md +53 -0
- package/entrypoints/cucumber/src/ci/change-scope.d.ts +4 -0
- package/entrypoints/cucumber/src/ci/change-scope.js +8 -0
- package/entrypoints/cucumber/src/ci/coverage.d.ts +4 -0
- package/entrypoints/cucumber/src/ci/coverage.js +44 -0
- package/entrypoints/cucumber/src/ci/fast-plan.d.ts +29 -0
- package/entrypoints/cucumber/src/ci/fast-plan.js +79 -0
- package/entrypoints/cucumber/src/ci/owned-command.d.ts +11 -0
- package/entrypoints/cucumber/src/ci/owned-command.js +85 -0
- package/entrypoints/cucumber/src/cucumber/hooks.d.ts +50 -0
- package/entrypoints/cucumber/src/cucumber/hooks.js +132 -0
- package/entrypoints/cucumber/src/cucumber/navigation.d.ts +26 -0
- package/entrypoints/cucumber/src/cucumber/navigation.js +44 -0
- package/entrypoints/cucumber/src/cucumber/rows.d.ts +5 -0
- package/entrypoints/cucumber/src/cucumber/rows.js +26 -0
- package/entrypoints/cucumber/src/cucumber/world.d.ts +11 -0
- package/entrypoints/cucumber/src/cucumber/world.js +41 -0
- package/entrypoints/cucumber/src/index.d.ts +9 -0
- package/entrypoints/cucumber/src/index.js +11 -0
- package/entrypoints/cucumber/src/main.d.ts +44 -0
- package/entrypoints/cucumber/src/main.js +55 -0
- package/entrypoints/cucumber/src/negative/control-result.d.ts +31 -0
- package/entrypoints/cucumber/src/negative/control-result.js +56 -0
- package/entrypoints/mcp/README.md +204 -0
- package/entrypoints/mcp/src/args.d.ts +10 -0
- package/entrypoints/mcp/src/args.js +63 -0
- package/entrypoints/mcp/src/chain.d.ts +75 -0
- package/entrypoints/mcp/src/chain.js +185 -0
- package/entrypoints/mcp/src/deferred-runtime.d.ts +26 -0
- package/entrypoints/mcp/src/deferred-runtime.js +72 -0
- package/entrypoints/mcp/src/describe-sections.d.ts +14 -0
- package/entrypoints/mcp/src/describe-sections.js +38 -0
- package/entrypoints/mcp/src/index.d.ts +7 -0
- package/entrypoints/mcp/src/index.js +9 -0
- package/entrypoints/mcp/src/load-gate.d.ts +27 -0
- package/entrypoints/mcp/src/load-gate.js +65 -0
- package/entrypoints/mcp/src/logs.d.ts +41 -0
- package/entrypoints/mcp/src/logs.js +138 -0
- package/entrypoints/mcp/src/main.d.ts +24 -0
- package/entrypoints/mcp/src/main.js +42 -0
- package/entrypoints/mcp/src/output.d.ts +8 -0
- package/entrypoints/mcp/src/output.js +69 -0
- package/entrypoints/mcp/src/resources.d.ts +18 -0
- package/entrypoints/mcp/src/resources.js +139 -0
- package/entrypoints/mcp/src/server.d.ts +37 -0
- package/entrypoints/mcp/src/server.js +68 -0
- package/entrypoints/mcp/src/session-core.d.ts +42 -0
- package/entrypoints/mcp/src/session-core.js +80 -0
- package/entrypoints/mcp/src/session-debug.d.ts +219 -0
- package/entrypoints/mcp/src/session-debug.js +393 -0
- package/entrypoints/mcp/src/session-discover.d.ts +342 -0
- package/entrypoints/mcp/src/session-discover.js +212 -0
- package/entrypoints/mcp/src/session-environment.d.ts +807 -0
- package/entrypoints/mcp/src/session-environment.js +250 -0
- package/entrypoints/mcp/src/session-host.d.ts +8 -0
- package/entrypoints/mcp/src/session-host.js +40 -0
- package/entrypoints/mcp/src/session-run.d.ts +127 -0
- package/entrypoints/mcp/src/session-run.js +417 -0
- package/entrypoints/mcp/src/session-shared.d.ts +181 -0
- package/entrypoints/mcp/src/session-shared.js +89 -0
- package/entrypoints/mcp/src/session.d.ts +9 -0
- package/entrypoints/mcp/src/session.js +38 -0
- package/entrypoints/mcp/src/stdio.d.ts +62 -0
- package/entrypoints/mcp/src/stdio.js +114 -0
- package/entrypoints/mcp/src/tools.d.ts +20 -0
- package/entrypoints/mcp/src/tools.js +382 -0
- package/entrypoints/panel/README.md +1773 -0
- package/entrypoints/panel/src/agent-routes.d.ts +32 -0
- package/entrypoints/panel/src/agent-routes.js +32 -0
- package/entrypoints/panel/src/builder-input.d.ts +7 -0
- package/entrypoints/panel/src/builder-input.js +66 -0
- package/entrypoints/panel/src/bundle-routes.d.ts +16 -0
- package/entrypoints/panel/src/bundle-routes.js +59 -0
- package/entrypoints/panel/src/chain-console-routes.d.ts +9 -0
- package/entrypoints/panel/src/chain-console-routes.js +18 -0
- package/entrypoints/panel/src/client/activity.d.ts +5 -0
- package/entrypoints/panel/src/client/activity.js +173 -0
- package/entrypoints/panel/src/client/address-bar.css +36 -0
- package/entrypoints/panel/src/client/address-bar.d.ts +62 -0
- package/entrypoints/panel/src/client/address-bar.js +311 -0
- package/entrypoints/panel/src/client/after-failure-view.d.ts +8 -0
- package/entrypoints/panel/src/client/after-failure-view.js +24 -0
- package/entrypoints/panel/src/client/agents-tools.d.ts +5 -0
- package/entrypoints/panel/src/client/agents-tools.js +31 -0
- package/entrypoints/panel/src/client/app-builds.d.ts +16 -0
- package/entrypoints/panel/src/client/app-builds.js +38 -0
- package/entrypoints/panel/src/client/app-tiles.d.ts +30 -0
- package/entrypoints/panel/src/client/app-tiles.js +484 -0
- package/entrypoints/panel/src/client/bindings.d.ts +39 -0
- package/entrypoints/panel/src/client/bindings.js +120 -0
- package/entrypoints/panel/src/client/builder-blocks.d.ts +26 -0
- package/entrypoints/panel/src/client/builder-blocks.js +346 -0
- package/entrypoints/panel/src/client/builder-chrome.d.ts +27 -0
- package/entrypoints/panel/src/client/builder-chrome.js +144 -0
- package/entrypoints/panel/src/client/builder-view.d.ts +86 -0
- package/entrypoints/panel/src/client/builder-view.js +334 -0
- package/entrypoints/panel/src/client/builder.d.ts +34 -0
- package/entrypoints/panel/src/client/builder.js +620 -0
- package/entrypoints/panel/src/client/bundle-actions.d.ts +9 -0
- package/entrypoints/panel/src/client/bundle-actions.js +124 -0
- package/entrypoints/panel/src/client/chain-console.css +31 -0
- package/entrypoints/panel/src/client/chain-console.d.ts +13 -0
- package/entrypoints/panel/src/client/chain-console.js +77 -0
- package/entrypoints/panel/src/client/chain-day.d.ts +29 -0
- package/entrypoints/panel/src/client/chain-day.js +43 -0
- package/entrypoints/panel/src/client/checkpoint.d.ts +5 -0
- package/entrypoints/panel/src/client/checkpoint.js +8 -0
- package/entrypoints/panel/src/client/client.d.ts +1 -0
- package/entrypoints/panel/src/client/client.js +634 -0
- package/entrypoints/panel/src/client/components.css +219 -0
- package/entrypoints/panel/src/client/confirm-dialogs.d.ts +11 -0
- package/entrypoints/panel/src/client/confirm-dialogs.js +54 -0
- package/entrypoints/panel/src/client/detached-tiles.d.ts +39 -0
- package/entrypoints/panel/src/client/detached-tiles.js +106 -0
- package/entrypoints/panel/src/client/dock-status.d.ts +17 -0
- package/entrypoints/panel/src/client/dock-status.js +30 -0
- package/entrypoints/panel/src/client/dock.d.ts +21 -0
- package/entrypoints/panel/src/client/dock.js +74 -0
- package/entrypoints/panel/src/client/dom.d.ts +8 -0
- package/entrypoints/panel/src/client/dom.js +28 -0
- package/entrypoints/panel/src/client/environment-lifecycle.d.ts +19 -0
- package/entrypoints/panel/src/client/environment-lifecycle.js +164 -0
- package/entrypoints/panel/src/client/environment-options.d.ts +18 -0
- package/entrypoints/panel/src/client/environment-options.js +33 -0
- package/entrypoints/panel/src/client/environment.d.ts +189 -0
- package/entrypoints/panel/src/client/environment.js +521 -0
- package/entrypoints/panel/src/client/evidence-controls.d.ts +14 -0
- package/entrypoints/panel/src/client/evidence-controls.js +37 -0
- package/entrypoints/panel/src/client/evidence-model.d.ts +65 -0
- package/entrypoints/panel/src/client/evidence-model.js +179 -0
- package/entrypoints/panel/src/client/evidence-view.css +82 -0
- package/entrypoints/panel/src/client/evidence-view.d.ts +9 -0
- package/entrypoints/panel/src/client/evidence-view.js +56 -0
- package/entrypoints/panel/src/client/extensions.d.ts +21 -0
- package/entrypoints/panel/src/client/extensions.js +345 -0
- package/entrypoints/panel/src/client/features.d.ts +88 -0
- package/entrypoints/panel/src/client/features.js +247 -0
- package/entrypoints/panel/src/client/fixtures.d.ts +16 -0
- package/entrypoints/panel/src/client/fixtures.js +155 -0
- package/entrypoints/panel/src/client/fonts/inter.OFL.txt +93 -0
- package/entrypoints/panel/src/client/fonts/inter.woff2 +0 -0
- package/entrypoints/panel/src/client/fonts/jetbrains-mono.OFL.txt +93 -0
- package/entrypoints/panel/src/client/fonts/jetbrains-mono.woff2 +0 -0
- package/entrypoints/panel/src/client/fonts/unbounded.OFL.txt +93 -0
- package/entrypoints/panel/src/client/fonts/unbounded.woff2 +0 -0
- package/entrypoints/panel/src/client/fonts.css +24 -0
- package/entrypoints/panel/src/client/forms.d.ts +3 -0
- package/entrypoints/panel/src/client/forms.js +58 -0
- package/entrypoints/panel/src/client/frame.css +515 -0
- package/entrypoints/panel/src/client/gallery.css +68 -0
- package/entrypoints/panel/src/client/gallery.d.ts +1 -0
- package/entrypoints/panel/src/client/gallery.html +17 -0
- package/entrypoints/panel/src/client/gallery.js +81 -0
- package/entrypoints/panel/src/client/gherkin-view.d.ts +149 -0
- package/entrypoints/panel/src/client/gherkin-view.js +223 -0
- package/entrypoints/panel/src/client/gherkin.css +88 -0
- package/entrypoints/panel/src/client/host-bypass-model.d.ts +68 -0
- package/entrypoints/panel/src/client/host-bypass-model.js +131 -0
- package/entrypoints/panel/src/client/host-bypass.d.ts +13 -0
- package/entrypoints/panel/src/client/host-bypass.js +50 -0
- package/entrypoints/panel/src/client/host-request-words.d.ts +6 -0
- package/entrypoints/panel/src/client/host-request-words.js +32 -0
- package/entrypoints/panel/src/client/identity-words.d.ts +23 -0
- package/entrypoints/panel/src/client/identity-words.js +46 -0
- package/entrypoints/panel/src/client/index.html +326 -0
- package/entrypoints/panel/src/client/integrations.d.ts +16 -0
- package/entrypoints/panel/src/client/integrations.js +32 -0
- package/entrypoints/panel/src/client/island.css +21 -0
- package/entrypoints/panel/src/client/island.d.ts +99 -0
- package/entrypoints/panel/src/client/island.js +199 -0
- package/entrypoints/panel/src/client/keep-switch.d.ts +7 -0
- package/entrypoints/panel/src/client/keep-switch.js +24 -0
- package/entrypoints/panel/src/client/keep-words.d.ts +24 -0
- package/entrypoints/panel/src/client/keep-words.js +22 -0
- package/entrypoints/panel/src/client/lab-actions.d.ts +9 -0
- package/entrypoints/panel/src/client/lab-actions.js +16 -0
- package/entrypoints/panel/src/client/lab-document.d.ts +10 -0
- package/entrypoints/panel/src/client/lab-document.js +37 -0
- package/entrypoints/panel/src/client/lab-menu.css +11 -0
- package/entrypoints/panel/src/client/lab-menu.d.ts +44 -0
- package/entrypoints/panel/src/client/lab-menu.js +105 -0
- package/entrypoints/panel/src/client/landing.d.ts +4 -0
- package/entrypoints/panel/src/client/landing.js +24 -0
- package/entrypoints/panel/src/client/lanes.d.ts +41 -0
- package/entrypoints/panel/src/client/lanes.js +100 -0
- package/entrypoints/panel/src/client/lucide.LICENSE +43 -0
- package/entrypoints/panel/src/client/lucide.d.ts +95 -0
- package/entrypoints/panel/src/client/lucide.js +95 -0
- package/entrypoints/panel/src/client/navigation-activity.d.ts +34 -0
- package/entrypoints/panel/src/client/navigation-activity.js +97 -0
- package/entrypoints/panel/src/client/navigation-controls.d.ts +18 -0
- package/entrypoints/panel/src/client/navigation-controls.js +29 -0
- package/entrypoints/panel/src/client/operation-phases.d.ts +16 -0
- package/entrypoints/panel/src/client/operation-phases.js +70 -0
- package/entrypoints/panel/src/client/own-window.d.ts +9 -0
- package/entrypoints/panel/src/client/own-window.js +113 -0
- package/entrypoints/panel/src/client/panel-snapshot.d.ts +25 -0
- package/entrypoints/panel/src/client/panel-snapshot.js +3 -0
- package/entrypoints/panel/src/client/panel-tabs.d.ts +21 -0
- package/entrypoints/panel/src/client/panel-tabs.js +41 -0
- package/entrypoints/panel/src/client/pause-inspector.d.ts +14 -0
- package/entrypoints/panel/src/client/pause-inspector.js +104 -0
- package/entrypoints/panel/src/client/principals.d.ts +18 -0
- package/entrypoints/panel/src/client/principals.js +21 -0
- package/entrypoints/panel/src/client/recordings.d.ts +38 -0
- package/entrypoints/panel/src/client/recordings.js +481 -0
- package/entrypoints/panel/src/client/registry.d.ts +53 -0
- package/entrypoints/panel/src/client/registry.js +415 -0
- package/entrypoints/panel/src/client/release-notice.d.ts +2 -0
- package/entrypoints/panel/src/client/release-notice.js +36 -0
- package/entrypoints/panel/src/client/replace-kept.d.ts +21 -0
- package/entrypoints/panel/src/client/replace-kept.js +21 -0
- package/entrypoints/panel/src/client/replay-chain.d.ts +20 -0
- package/entrypoints/panel/src/client/replay-chain.js +31 -0
- package/entrypoints/panel/src/client/request-error.d.ts +11 -0
- package/entrypoints/panel/src/client/request-error.js +17 -0
- package/entrypoints/panel/src/client/request.d.ts +1 -0
- package/entrypoints/panel/src/client/request.js +16 -0
- package/entrypoints/panel/src/client/reset-words.d.ts +9 -0
- package/entrypoints/panel/src/client/reset-words.js +13 -0
- package/entrypoints/panel/src/client/resize.d.ts +18 -0
- package/entrypoints/panel/src/client/resize.js +137 -0
- package/entrypoints/panel/src/client/root-call-confirm.d.ts +11 -0
- package/entrypoints/panel/src/client/root-call-confirm.js +35 -0
- package/entrypoints/panel/src/client/run-mode.d.ts +105 -0
- package/entrypoints/panel/src/client/run-mode.js +49 -0
- package/entrypoints/panel/src/client/run-outcome.d.ts +28 -0
- package/entrypoints/panel/src/client/run-outcome.js +110 -0
- package/entrypoints/panel/src/client/run-preludes.d.ts +54 -0
- package/entrypoints/panel/src/client/run-preludes.js +46 -0
- package/entrypoints/panel/src/client/run-progress.d.ts +117 -0
- package/entrypoints/panel/src/client/run-progress.js +322 -0
- package/entrypoints/panel/src/client/run-steps.d.ts +105 -0
- package/entrypoints/panel/src/client/run-steps.js +319 -0
- package/entrypoints/panel/src/client/run-writes.d.ts +66 -0
- package/entrypoints/panel/src/client/run-writes.js +76 -0
- package/entrypoints/panel/src/client/scenario-environment.d.ts +15 -0
- package/entrypoints/panel/src/client/scenario-environment.js +34 -0
- package/entrypoints/panel/src/client/selection.d.ts +7 -0
- package/entrypoints/panel/src/client/selection.js +32 -0
- package/entrypoints/panel/src/client/settings.d.ts +35 -0
- package/entrypoints/panel/src/client/settings.js +178 -0
- package/entrypoints/panel/src/client/shell-kit.d.ts +89 -0
- package/entrypoints/panel/src/client/shell-kit.js +38 -0
- package/entrypoints/panel/src/client/shell.css +355 -0
- package/entrypoints/panel/src/client/show-cursor.css +55 -0
- package/entrypoints/panel/src/client/show-cursor.d.ts +10 -0
- package/entrypoints/panel/src/client/show-cursor.js +69 -0
- package/entrypoints/panel/src/client/status-actions.d.ts +21 -0
- package/entrypoints/panel/src/client/status-actions.js +40 -0
- package/entrypoints/panel/src/client/step-evidence.css +11 -0
- package/entrypoints/panel/src/client/step-evidence.d.ts +6 -0
- package/entrypoints/panel/src/client/step-evidence.js +62 -0
- package/entrypoints/panel/src/client/switch-run.d.ts +34 -0
- package/entrypoints/panel/src/client/switch-run.js +67 -0
- package/entrypoints/panel/src/client/tile-device.d.ts +55 -0
- package/entrypoints/panel/src/client/tile-device.js +70 -0
- package/entrypoints/panel/src/client/tile-grid.d.ts +54 -0
- package/entrypoints/panel/src/client/tile-grid.js +67 -0
- package/entrypoints/panel/src/client/tile-strip.d.ts +13 -0
- package/entrypoints/panel/src/client/tile-strip.js +66 -0
- package/entrypoints/panel/src/client/timeline.d.ts +82 -0
- package/entrypoints/panel/src/client/timeline.js +195 -0
- package/entrypoints/panel/src/client/tokens.css +206 -0
- package/entrypoints/panel/src/client/tool-report.d.ts +15 -0
- package/entrypoints/panel/src/client/tool-report.js +61 -0
- package/entrypoints/panel/src/client/tools-page.css +168 -0
- package/entrypoints/panel/src/client/ui-calls.d.ts +41 -0
- package/entrypoints/panel/src/client/ui-calls.js +42 -0
- package/entrypoints/panel/src/client/ui.d.ts +251 -0
- package/entrypoints/panel/src/client/ui.js +493 -0
- package/entrypoints/panel/src/client/unawaited.d.ts +5 -0
- package/entrypoints/panel/src/client/unawaited.js +14 -0
- package/entrypoints/panel/src/client/view-builder.css +372 -0
- package/entrypoints/panel/src/client/view-characters.d.ts +3 -0
- package/entrypoints/panel/src/client/view-characters.js +20 -0
- package/entrypoints/panel/src/client/view-config.css +23 -0
- package/entrypoints/panel/src/client/view-config.d.ts +6 -0
- package/entrypoints/panel/src/client/view-config.js +41 -0
- package/entrypoints/panel/src/client/view-environment.css +193 -0
- package/entrypoints/panel/src/client/view-environment.d.ts +42 -0
- package/entrypoints/panel/src/client/view-environment.js +240 -0
- package/entrypoints/panel/src/client/view-identities.css +100 -0
- package/entrypoints/panel/src/client/view-identities.d.ts +21 -0
- package/entrypoints/panel/src/client/view-identities.js +288 -0
- package/entrypoints/panel/src/client/view-recordings.css +9 -0
- package/entrypoints/panel/src/client/view-replay.css +127 -0
- package/entrypoints/panel/src/client/view-report.css +31 -0
- package/entrypoints/panel/src/client/view-run-steps.css +98 -0
- package/entrypoints/panel/src/client/view-runs.css +123 -0
- package/entrypoints/panel/src/client/view-runs.d.ts +9 -0
- package/entrypoints/panel/src/client/view-runs.js +443 -0
- package/entrypoints/panel/src/client/view-scenarios.css +164 -0
- package/entrypoints/panel/src/client/view-scenarios.d.ts +126 -0
- package/entrypoints/panel/src/client/view-scenarios.js +510 -0
- package/entrypoints/panel/src/client/view-settings.css +27 -0
- package/entrypoints/panel/src/client/view-timeline.css +66 -0
- package/entrypoints/panel/src/client/view-timeline.d.ts +22 -0
- package/entrypoints/panel/src/client/view-timeline.js +136 -0
- package/entrypoints/panel/src/client/view-tools.css +114 -0
- package/entrypoints/panel/src/client/view-tools.d.ts +16 -0
- package/entrypoints/panel/src/client/view-tools.js +285 -0
- package/entrypoints/panel/src/client/views.d.ts +47 -0
- package/entrypoints/panel/src/client/views.js +105 -0
- package/entrypoints/panel/src/client/watch-layout.d.ts +47 -0
- package/entrypoints/panel/src/client/watch-layout.js +79 -0
- package/entrypoints/panel/src/client/window-bindings.d.ts +21 -0
- package/entrypoints/panel/src/client/window-bindings.js +61 -0
- package/entrypoints/panel/src/client/window-switch.d.ts +15 -0
- package/entrypoints/panel/src/client/window-switch.js +19 -0
- package/entrypoints/panel/src/client/workspace-shell.d.ts +20 -0
- package/entrypoints/panel/src/client/workspace-shell.js +637 -0
- package/entrypoints/panel/src/controls.d.ts +51 -0
- package/entrypoints/panel/src/controls.js +119 -0
- package/entrypoints/panel/src/device-list.d.ts +5 -0
- package/entrypoints/panel/src/device-list.js +9 -0
- package/entrypoints/panel/src/extensions.d.ts +5 -0
- package/entrypoints/panel/src/extensions.js +28 -0
- package/entrypoints/panel/src/feature-bindings.d.ts +9 -0
- package/entrypoints/panel/src/feature-bindings.js +40 -0
- package/entrypoints/panel/src/feature-control.d.ts +14 -0
- package/entrypoints/panel/src/feature-control.js +25 -0
- package/entrypoints/panel/src/feature-events.d.ts +10 -0
- package/entrypoints/panel/src/feature-events.js +32 -0
- package/entrypoints/panel/src/frame-check.d.ts +28 -0
- package/entrypoints/panel/src/frame-check.js +69 -0
- package/entrypoints/panel/src/index.d.ts +4 -0
- package/entrypoints/panel/src/index.js +5 -0
- package/entrypoints/panel/src/main.d.ts +3 -0
- package/entrypoints/panel/src/main.js +40 -0
- package/entrypoints/panel/src/react/browser.d.ts +9 -0
- package/entrypoints/panel/src/react/browser.js +32 -0
- package/entrypoints/panel/src/react/prepare.d.ts +10 -0
- package/entrypoints/panel/src/react/prepare.js +49 -0
- package/entrypoints/panel/src/rebuild-rule.d.ts +9 -0
- package/entrypoints/panel/src/rebuild-rule.js +18 -0
- package/entrypoints/panel/src/runtime-routes.d.ts +29 -0
- package/entrypoints/panel/src/runtime-routes.js +143 -0
- package/entrypoints/panel/src/served-assets.d.ts +7 -0
- package/entrypoints/panel/src/served-assets.js +39 -0
- package/entrypoints/panel/src/server.d.ts +95 -0
- package/entrypoints/panel/src/server.js +653 -0
- package/entrypoints/panel/src/tool-routes.d.ts +19 -0
- package/entrypoints/panel/src/tool-routes.js +98 -0
- package/entrypoints/panel/src/visible/app-reload.d.ts +6 -0
- package/entrypoints/panel/src/visible/app-reload.js +22 -0
- package/entrypoints/panel/src/visible/app-ui.d.ts +44 -0
- package/entrypoints/panel/src/visible/app-ui.js +189 -0
- package/entrypoints/panel/src/visible/detached-conditions.d.ts +9 -0
- package/entrypoints/panel/src/visible/detached-conditions.js +37 -0
- package/entrypoints/panel/src/visible/detached-identities.d.ts +82 -0
- package/entrypoints/panel/src/visible/detached-identities.js +243 -0
- package/entrypoints/panel/src/visible/detached-surface.d.ts +38 -0
- package/entrypoints/panel/src/visible/detached-surface.js +182 -0
- package/entrypoints/panel/src/visible/detached-window.d.ts +71 -0
- package/entrypoints/panel/src/visible/detached-window.js +161 -0
- package/entrypoints/panel/src/visible/device-catalogue.d.ts +12 -0
- package/entrypoints/panel/src/visible/device-catalogue.js +40 -0
- package/entrypoints/panel/src/visible/embedded-host.d.ts +6 -0
- package/entrypoints/panel/src/visible/embedded-host.js +8 -0
- package/entrypoints/panel/src/visible/frame-locations.d.ts +15 -0
- package/entrypoints/panel/src/visible/frame-locations.js +29 -0
- package/entrypoints/panel/src/visible/index.d.ts +13 -0
- package/entrypoints/panel/src/visible/index.js +15 -0
- package/entrypoints/panel/src/visible/mirror.d.ts +41 -0
- package/entrypoints/panel/src/visible/mirror.js +100 -0
- package/entrypoints/panel/src/visible/png-parts.d.ts +33 -0
- package/entrypoints/panel/src/visible/png-parts.js +38 -0
- package/entrypoints/panel/src/visible/png-work.d.ts +14 -0
- package/entrypoints/panel/src/visible/png-work.js +15 -0
- package/entrypoints/panel/src/visible/png-worker.mjs +13 -0
- package/entrypoints/panel/src/visible/run-view.d.ts +37 -0
- package/entrypoints/panel/src/visible/run-view.js +65 -0
- package/entrypoints/panel/src/visible/runner.d.ts +192 -0
- package/entrypoints/panel/src/visible/runner.js +450 -0
- package/entrypoints/panel/src/visible/surface-session.d.ts +14 -0
- package/entrypoints/panel/src/visible/surface-session.js +10 -0
- package/entrypoints/panel/src/visible/tile-conditions.d.ts +33 -0
- package/entrypoints/panel/src/visible/tile-conditions.js +94 -0
- package/entrypoints/panel/src/visible/tile-placement.d.ts +61 -0
- package/entrypoints/panel/src/visible/tile-placement.js +155 -0
- package/entrypoints/panel/src/visible/tile-ready.d.ts +25 -0
- package/entrypoints/panel/src/visible/tile-ready.js +78 -0
- package/entrypoints/panel/src/visible/ui-activity.d.ts +60 -0
- package/entrypoints/panel/src/visible/ui-activity.js +91 -0
- package/entrypoints/panel/src/visible/ui-timing.d.ts +95 -0
- package/entrypoints/panel/src/visible/ui-timing.js +32 -0
- package/entrypoints/panel/src/visible/verified-typing.d.ts +39 -0
- package/entrypoints/panel/src/visible/verified-typing.js +76 -0
- package/entrypoints/panel/src/visible/viewport-shot.d.ts +29 -0
- package/entrypoints/panel/src/visible/viewport-shot.js +83 -0
- package/entrypoints/panel/src/visible/visible-ui.d.ts +132 -0
- package/entrypoints/panel/src/visible/visible-ui.js +429 -0
- package/entrypoints/panel/src/visible/window-frames.d.ts +35 -0
- package/entrypoints/panel/src/visible/window-frames.js +128 -0
- package/entrypoints/panel/src/visible/window-hold.d.ts +21 -0
- package/entrypoints/panel/src/visible/window-hold.js +29 -0
- package/entrypoints/panel/src/visible/window-video.d.ts +17 -0
- package/entrypoints/panel/src/visible/window-video.js +21 -0
- package/entrypoints/panel/src/visible/window.d.ts +99 -0
- package/entrypoints/panel/src/visible/window.js +184 -0
- package/entrypoints/panel/src/words.d.ts +6 -0
- package/entrypoints/panel/src/words.js +8 -0
- package/package.json +561 -3
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
// Copyright 2026 Parity Technologies (UK) Ltd.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
import { mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
4
|
+
import { join } from "node:path";
|
|
5
|
+
import { setTimeout as delay } from "node:timers/promises";
|
|
6
|
+
import { Enum } from "polkadot-api";
|
|
7
|
+
import { entropyToMnemonic, generateMnemonic, mnemonicToEntropy } from "@polkadot-labs/hdkd-helpers";
|
|
8
|
+
import { ChainConnection, TransactionExecutor } from "@parity/product-lab/chain";
|
|
9
|
+
import { PapiChainAccess, PapiTransactionSubmitter } from "@parity/product-lab/chain-papi";
|
|
10
|
+
import { NEW_PERSON_ENTROPY_BITS, UnsupportedHostOperation } from "@parity/product-lab/domain";
|
|
11
|
+
import { lockedRelease, releaseTakesLocalEndpoints, truapiCliNetworkConfig, truapiCliProvisioner } from "@parity/product-lab/host-truapi-cli";
|
|
12
|
+
import { Sr25519KeyDerivation } from "@parity/product-lab/keys-sr25519";
|
|
13
|
+
import { SystemClock } from "@parity/product-lab/system-node";
|
|
14
|
+
import { LOCAL_PEOPLE_SIGNING } from "../default-lab.js";
|
|
15
|
+
import { insideProductLabCheckout } from "../checkout.js";
|
|
16
|
+
import { DEFAULT_FAST_ONBOARDING, papiRingStorage, releasedAllocCheck } from "./member-key.js";
|
|
17
|
+
export { DEFAULT_FAST_ONBOARDING };
|
|
18
|
+
export const MEMBER_READERS = {
|
|
19
|
+
released: "the released truAPI core's ringVrfMember (@parity/truapi-host) for the member key, and People's Members storage at its finalized block for the ring (read-only)",
|
|
20
|
+
"truapi-cli": "truapi-host alloc-check (read-only) read the member's ring",
|
|
21
|
+
};
|
|
22
|
+
export const productPersonGap = (identityBackend, release = lockedRelease().release) => {
|
|
23
|
+
const gap = `the truAPI CLI host's locked release (${release}) does not take the lab's local endpoints yet (https://github.com/paritytech/host-rust-core/pull/1166)`;
|
|
24
|
+
return identityBackend
|
|
25
|
+
? `the lab onboards a new person through the environment's identity backend with the truAPI CLI host, over the environment's local routes, and ${gap}. ` +
|
|
26
|
+
"So in a product an app that needs a person runs on the local dev chain (fast), where the lab onboards people from released packages"
|
|
27
|
+
: `environments.fast.onboarding: "truapi-cli" reads a new person's People member key with the truAPI CLI host's alloc-check over the environment's local routes, and ${gap}. ` +
|
|
28
|
+
'Remove it from lab.config.ts: the default, "released", onboards people from released packages';
|
|
29
|
+
};
|
|
30
|
+
export function memberStanding(output) {
|
|
31
|
+
const key = /^(\w+) member=(0x[0-9a-f]{64})/m.exec(output);
|
|
32
|
+
const standing = /member ([A-Z_]+) in (\w+)(?: ring_index=(\d+))?/.exec(output);
|
|
33
|
+
return {
|
|
34
|
+
...(standing?.[2] ?? key?.[1] ? { collection: standing?.[2] ?? key[1] } : {}),
|
|
35
|
+
...(key ? { key: key[2] } : {}),
|
|
36
|
+
...(standing ? { state: standing[1] } : {}),
|
|
37
|
+
...(standing?.[3] !== undefined ? { ring: Number(standing[3]) } : {}),
|
|
38
|
+
lines: output.split("\n").filter((line) => /member|ring/.test(line)).join(" | "),
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export function peopleOnboarding(options) {
|
|
42
|
+
const people = options.routes.chains.people;
|
|
43
|
+
if (!people)
|
|
44
|
+
throw new Error(`The lab ${options.identityBackend ? "provisioner" : "attester"} needs People: this environment routes no People chain`);
|
|
45
|
+
const onboarding = options.onboarding ?? DEFAULT_FAST_ONBOARDING;
|
|
46
|
+
const declare = (transaction) => {
|
|
47
|
+
options.transactions?.push(transaction);
|
|
48
|
+
options.declare?.(transaction);
|
|
49
|
+
};
|
|
50
|
+
if (!options.identityBackend && onboarding === "released") {
|
|
51
|
+
let chain;
|
|
52
|
+
const attesterChain = () => (chain ??= new PeopleAttesterChain(people.ws, options.journal, options.signal));
|
|
53
|
+
const attester = labAttester({
|
|
54
|
+
allocCheck: releasedAllocCheck(() => papiRingStorage(attesterChain().connection.api), options.routes.namespace, undefined, options.personProduct),
|
|
55
|
+
memberReader: MEMBER_READERS.released,
|
|
56
|
+
recognize: (keys) => attesterChain().recognize(keys),
|
|
57
|
+
declare,
|
|
58
|
+
...(options.log ? { log: options.log } : {}),
|
|
59
|
+
});
|
|
60
|
+
return { ...attester, close: () => chain?.close() };
|
|
61
|
+
}
|
|
62
|
+
if (options.personProduct !== undefined)
|
|
63
|
+
throw new Error(`personProduct "${options.personProduct}" applies to onboarding "released" on the local dev chain only: the truAPI CLI host derives member keys under its own preset`);
|
|
64
|
+
const checkout = options.checkout ?? insideProductLabCheckout();
|
|
65
|
+
const release = lockedRelease(options.hostLockFile);
|
|
66
|
+
if (!checkout && !releaseTakesLocalEndpoints(release)) {
|
|
67
|
+
const refuse = (name) => {
|
|
68
|
+
throw new UnsupportedHostOperation("truapi-cli", `Making ${name} a person on People`, productPersonGap(options.identityBackend, release.release));
|
|
69
|
+
};
|
|
70
|
+
return { kind: options.identityBackend ? "cli-provisioner" : "lab-attester", memberReader: MEMBER_READERS["truapi-cli"], provision: async (actor) => refuse(actor.name), member: async () => refuse("a person"), close() { } };
|
|
71
|
+
}
|
|
72
|
+
const provisioner = truapiCliProvisioner({
|
|
73
|
+
...(options.hostBin || options.hostLockFile ? { host: { ...(options.hostBin ? { hostBin: options.hostBin } : {}), ...(options.hostLockFile ? { lockFile: options.hostLockFile } : {}) } } : {}),
|
|
74
|
+
patches: checkout && (options.hostBin || !releaseTakesLocalEndpoints(release)) ? ["local-network"] : [],
|
|
75
|
+
checkout,
|
|
76
|
+
routes: options.routes,
|
|
77
|
+
dataRoot: options.dataRoot,
|
|
78
|
+
system: options.system,
|
|
79
|
+
...(options.log ? { log: options.log } : {}),
|
|
80
|
+
});
|
|
81
|
+
const allocCheck = allocChecker(options, () => provisioner.host());
|
|
82
|
+
if (options.identityBackend)
|
|
83
|
+
return {
|
|
84
|
+
kind: "cli-provisioner",
|
|
85
|
+
provision: (actor, signal) => provisioner.provision({ actor: { id: actor.id.toLowerCase(), name: actor.name }, signal }),
|
|
86
|
+
member: async (identity, signal) => memberStanding(await allocCheck(entropyToMnemonic(identity.entropy), signal)),
|
|
87
|
+
memberReader: MEMBER_READERS["truapi-cli"],
|
|
88
|
+
close() { },
|
|
89
|
+
};
|
|
90
|
+
let chain;
|
|
91
|
+
const attester = labAttester({
|
|
92
|
+
allocCheck,
|
|
93
|
+
memberReader: MEMBER_READERS["truapi-cli"],
|
|
94
|
+
recognize: (keys) => (chain ??= new PeopleAttesterChain(people.ws, options.journal, options.signal)).recognize(keys),
|
|
95
|
+
declare,
|
|
96
|
+
...(options.log ? { log: options.log } : {}),
|
|
97
|
+
});
|
|
98
|
+
return { ...attester, close: () => chain?.close() };
|
|
99
|
+
}
|
|
100
|
+
export function truapiCliAllocCheck(options) {
|
|
101
|
+
const provisioner = truapiCliProvisioner({
|
|
102
|
+
...(options.hostBin ? { host: { hostBin: options.hostBin } } : {}),
|
|
103
|
+
patches: ["local-network"],
|
|
104
|
+
routes: options.routes,
|
|
105
|
+
dataRoot: options.dataRoot,
|
|
106
|
+
system: options.system,
|
|
107
|
+
...(options.log ? { log: options.log } : {}),
|
|
108
|
+
});
|
|
109
|
+
return allocChecker(options, () => provisioner.host());
|
|
110
|
+
}
|
|
111
|
+
function allocChecker(options, host) {
|
|
112
|
+
mkdirSync(options.dataRoot, { recursive: true, mode: 0o700 });
|
|
113
|
+
const routing = join(options.dataRoot, "attester-network.json");
|
|
114
|
+
writeFileSync(routing, JSON.stringify(truapiCliNetworkConfig(options.routes), null, 2) + "\n", { mode: 0o600 });
|
|
115
|
+
return async (mnemonic, signal) => {
|
|
116
|
+
const { binary } = await host();
|
|
117
|
+
const env = {
|
|
118
|
+
...Object.fromEntries(Object.entries(process.env).filter((entry) => entry[1] !== undefined && !/^(HOST_|TRUAPI_|VITE_|PPN_|PRODUCT_LAB_|RUST_LOG$)/.test(entry[0]))),
|
|
119
|
+
HOST_CLI_LOCAL_NETWORK_CONFIG: routing,
|
|
120
|
+
HOST_CLI_SIGNER_MNEMONIC: mnemonic,
|
|
121
|
+
TRUAPI_HOST_NO_UPDATE: "1",
|
|
122
|
+
};
|
|
123
|
+
const result = await options.system.commands.run({ command: binary, args: ["alloc-check", "--network", options.routes.network], env, timeoutMs: 60_000, ...(signal ? { signal } : {}) });
|
|
124
|
+
return `${result.stdout}${result.stderr}`.replaceAll(mnemonic, "<mnemonic>");
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
export const RING_TIMEOUT_MS = 180_000;
|
|
128
|
+
export function labAttester(deps) {
|
|
129
|
+
const ringTimeoutMs = deps.ringTimeoutMs ?? RING_TIMEOUT_MS;
|
|
130
|
+
return {
|
|
131
|
+
kind: "lab-attester",
|
|
132
|
+
memberReader: deps.memberReader ?? MEMBER_READERS["truapi-cli"],
|
|
133
|
+
member: async (identity, signal) => memberStanding(await deps.allocCheck(entropyToMnemonic(identity.entropy), signal)),
|
|
134
|
+
async provision(actor, signal) {
|
|
135
|
+
const entropy = mnemonicToEntropy(generateMnemonic(NEW_PERSON_ENTROPY_BITS));
|
|
136
|
+
const mnemonic = entropyToMnemonic(entropy);
|
|
137
|
+
const before = await deps.allocCheck(mnemonic, signal);
|
|
138
|
+
const key = /^People member=(0x[0-9a-f]{64})/m.exec(before)?.[1];
|
|
139
|
+
if (!key)
|
|
140
|
+
throw new Error(`The member reader printed no People member key for ${actor.name}: ${before.split("\n").slice(0, 5).join(" | ")}`);
|
|
141
|
+
const sent = await deps.recognize([key]);
|
|
142
|
+
for (const receipt of sent)
|
|
143
|
+
deps.declare?.({ chain: "people", hash: receipt.txHash, category: "lab-setup", reason: `Recognise ${actor.name} as a person (lab attester)` });
|
|
144
|
+
deps.log?.(`${actor.name}: People member ${key} recognised (${sent.map((receipt) => receipt.txHash).join(", ")})`);
|
|
145
|
+
const deadline = Date.now() + ringTimeoutMs;
|
|
146
|
+
let last = before;
|
|
147
|
+
while (!/member INCLUDED/.test(last)) {
|
|
148
|
+
if (Date.now() > deadline)
|
|
149
|
+
throw new Error(`${actor.name}'s People member key ${key} is in no ring ${ringTimeoutMs / 1000} s after it was recognised: ${last.split("\n").filter((line) => /member|ring/.test(line)).join(" | ")}`);
|
|
150
|
+
await delay(deps.pollMs ?? 2_000, undefined, { signal });
|
|
151
|
+
last = await deps.allocCheck(mnemonic, signal);
|
|
152
|
+
}
|
|
153
|
+
return { entropy, liteUsername: null, source: "generated-wallet" };
|
|
154
|
+
},
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
export const PEOPLE_COLLECTION = "0x706f703a706f6c6b61646f742e6e6574776f726b2f70656f706c652020202020";
|
|
158
|
+
const PEOPLE_CHUNKS = JSON.parse(readFileSync(new URL("./people-chunks.json", import.meta.url), "utf8"));
|
|
159
|
+
export function sameKey(address, publicKey) {
|
|
160
|
+
if (typeof address !== "string")
|
|
161
|
+
return false;
|
|
162
|
+
try {
|
|
163
|
+
return Buffer.from(new Sr25519KeyDerivation().publicKey(address)).equals(Buffer.from(publicKey));
|
|
164
|
+
}
|
|
165
|
+
catch (error) {
|
|
166
|
+
if (error instanceof Error)
|
|
167
|
+
return false;
|
|
168
|
+
throw error;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
const DEV_SUDO = "//Alice";
|
|
172
|
+
export class PeopleAttesterChain {
|
|
173
|
+
connection;
|
|
174
|
+
executor;
|
|
175
|
+
authority = new Sr25519KeyDerivation().derive(DEV_SUDO);
|
|
176
|
+
prepared;
|
|
177
|
+
constructor(peopleWs, journal, signal) {
|
|
178
|
+
const people = PapiChainAccess.connect(peopleWs);
|
|
179
|
+
const clock = new SystemClock();
|
|
180
|
+
this.connection = new ChainConnection(people, signal, { clock });
|
|
181
|
+
this.executor = new TransactionExecutor(new PapiTransactionSubmitter(people, { signing: LOCAL_PEOPLE_SIGNING }), journal, { signal, chain: "people", mode: "finalized", clock });
|
|
182
|
+
}
|
|
183
|
+
async recognize(keys) {
|
|
184
|
+
const { tx } = this.connection.api;
|
|
185
|
+
const recognise = tx.People?.force_recognize_personhood;
|
|
186
|
+
const sudo = tx.Sudo?.sudo;
|
|
187
|
+
if (!recognise || !sudo)
|
|
188
|
+
throw new Error("People runtime has no People.force_recognize_personhood or Sudo.sudo: the lab attester cannot make persons on it");
|
|
189
|
+
this.prepared ??= this.preparePeople();
|
|
190
|
+
const sent = [...(await this.prepared)];
|
|
191
|
+
this.prepared = Promise.resolve([]);
|
|
192
|
+
sent.push(await this.executor.submit(`Recognise ${keys.length} person(s)`, sudo({ call: recognise({ people: [...keys] }).decodedCall }), this.authority.signer));
|
|
193
|
+
return sent;
|
|
194
|
+
}
|
|
195
|
+
async preparePeople() {
|
|
196
|
+
const { tx, query } = this.connection.api;
|
|
197
|
+
const sudo = tx.Sudo.sudo;
|
|
198
|
+
const sent = [];
|
|
199
|
+
const key = await query.Sudo?.Key?.getValue({ at: "best" });
|
|
200
|
+
if (!sameKey(key, this.authority.publicKey))
|
|
201
|
+
throw new Error(`People's sudo key is ${String(key)}, not the dev chain's ${DEV_SUDO} (${this.authority.address}): the lab attester makes persons on the local dev chain only`);
|
|
202
|
+
if (!(await query.People.PeopleCollectionCreated.getValue({ at: "best" })))
|
|
203
|
+
throw new Error("People has no people collection: its genesis must create it (genesis edit people.createCollection, PEOPLE_DEV_GENESIS)");
|
|
204
|
+
const exponent = Enum(PEOPLE_CHUNKS.ringExponent);
|
|
205
|
+
for (const [index, page] of PEOPLE_CHUNKS.pages.entries()) {
|
|
206
|
+
if ((await query.ChunksManager.Chunks.getValue(exponent, index, { at: "best" })) !== undefined)
|
|
207
|
+
continue;
|
|
208
|
+
const add = tx.ChunksManager.add_chunks({ ring_exponent: exponent, page_index: index, encoded_chunks: Uint8Array.from(Buffer.from(page.slice(2), "hex")) });
|
|
209
|
+
const authorized = tx.Utility.dispatch_as({ as_origin: Enum("system", Enum("Authorized")), call: add.decodedCall });
|
|
210
|
+
sent.push(await this.executor.submit(`Add ${PEOPLE_CHUNKS.ringExponent} ZK chunk page ${index}`, sudo({ call: authorized.decodedCall }), this.authority.signer));
|
|
211
|
+
}
|
|
212
|
+
const size = Number(await query.Members.OnboardingSize.getValue(PEOPLE_COLLECTION, { at: "best" }));
|
|
213
|
+
if (size !== 1)
|
|
214
|
+
sent.push(await this.executor.submit(`Onboard people one at a time (onboarding size ${size} to 1)`, sudo({ call: tx.Members.set_onboarding_size({ identifier: PEOPLE_COLLECTION, onboarding_size: 1 }).decodedCall }), this.authority.signer));
|
|
215
|
+
return sent;
|
|
216
|
+
}
|
|
217
|
+
close() {
|
|
218
|
+
this.connection.close();
|
|
219
|
+
}
|
|
220
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "The R2e9 ZK chunk pages People's ring building needs (ChunksManager.add_chunks), as individuality-community's initial setup adds them. Each page's blake2-256 is in the People runtime's genesis (chunksManager.encodedChunkPageHashes), and the chain authorizes a page only when it matches. Backlog 91.",
|
|
3
|
+
"source": {
|
|
4
|
+
"repository": "paritytech/individuality-community",
|
|
5
|
+
"commit": "e30decd42545ba0fe512394a4896dec077e14982",
|
|
6
|
+
"path": "scripts/initial-setup/07-add-zk-chunks.sh"
|
|
7
|
+
},
|
|
8
|
+
"ringExponent": "R2e9",
|
|
9
|
+
"pages": [
|
|
10
|
+
"0xfd030778bd08ac56d33bfb2d58085a6fe0c9cb1c8f7a546838617a3f3c58ff33332fbb649d0dfcc677b1c0d88413cfb72e9d04151b407a9beede97a93805022e5dca2787575690413ddb7466c61c7ccdf9bcd87ca8178249d274a9dc4dc541520a02012495563959d989990c354029522807615b67945fd556196624a845b02fb7612336d7286da3a24b4115e940b31c2366090375878ce7f8c156125d7a5cbe1dd3a17be98a750735e28ed29aa98d34baeca775d44300417cb03faac658eb4db9c51775f2cdc018e9c0ca3bf42a32484f9e80da7b14a33163f569e9f1b75e8eecd7489102fdaac704c0ea18110a44e2cfcd03751df34dc9b6ef3f15d70d10f0d7d4c9f0fd739ec03f871855536a732449b2d7efd7d31cc234381c8898d3d6319aff01dc96ff3d8a6bafa552ab95991c4e6159d4063eacd15c0bd7261785ef7c51a9055839d0502e7d48e95ff604ef295c540c56bf7b38bb8a1c7010af16ab055d3917f40e146541a20ca51035535168bc0c7f41d16dd1bc45855f7e640340afbf780ae6af1214b01f14114906f050d039f1ddfc6a5ee1347df77371a71803d1b651c09f6273ba7a685ddee3ba28ea4149b009ba64edc17a86e5384ea6d3c89ac9e7209cb7b885112c08a2491217b615b23caa7ed8d03b031bf957d8b27368c1190e021ee9c6331d5d3c280af67c141e22290f678db1ca053d37881761b47c61686b857b0c09475246c30d43e107b2286c62187f6c1c218817712c0cfba1af3b21823e536cfdc5d377258f468bddd5f61309d22d0bd9b07d8b10545f23ccfd7d540e12460ad92fdfd5d0dda9ba8b350f7534d8710a6449b41852a8fbfd084ab1ee191b79298be1f1ced40062d7874cedf50702e77b7d52abb7a5c4d62833d861212aefe6f71b364a3baad95cd86090b5730bc89e06eac791f6ac76d50de38d0ad8bd05aaa6145a714bdaa50f2c17b7d22c893665e762c0f4663d868d580a906451cf3c2fe97a4f0b8db335de1c660e315dd20ca43c6391d458f2b3aec4322e633ffc2c02e04f1d1f1a27a40c4ee19fe4734a0b9dd195cd0f1b7c1642e3a31cd6be2f0073bd06e5aec9442fd18564b4fc67d925d47341ba7dbe23db5ce151092aa83679198a2fe0215327ae87213f1c14fac1062a3892771faf9987a013cbb061692a11cc2d9237eecc1eff501c0b037e667ef2c8f92352cba372e260f6343dd976f8017b97a044a196d19d7987a2d9381255c47c5016ab3eaa4fd3f17f63d2e4764176eacc77eac1ee53ecc2a5dc7d39de830ceaf281a50de536bea9b6ce95efb8817c3b3b8a0ed1950b2dc15a18997beb01a495a80303f4dd99ca492cb31f6fef550750ba8b15a1226ba7eb97dea9d5e8ed9060dd9829c22c15901994065d2d86ac0896559746fd1de8023b5c580ebcba5812dc8e5028b11acead2e3e468a6752da5ccfb806293715ed5ce4e954870adb361c7f8070d70af511b65982f79e519f5816b3a3d0a0f499f5d4deae1bf6b7fb20d7729d0bb628b2032706ed905ae2d38e3de30f008c8423c9b9ef22d733ecb9ec129ba7fa139714ebf6432e690294fe0969641ec9871162af8d55050629c848a964aa7f914860256d516a3aa89969389e0a2c3ccde223c9ffa97ea178db4e53a05c509c24da00b620eb52ce85768834cbf73cd8812edd745f233f8c5545280920047847eb25a52d6dcb829f38a5469496579c7dc60f4cc42e0102c6ef89f2a0c5b33c555c8f3e7d0e3845f42cc093880b1947cdab87a44a4179878890f86e9c5a54a07220aa4adc664ba20388fd91473f1db58e6fbdbf68f91b2ad33f3026f8ba0f416cdd9d2d3a4afaaf11ce64a9f34bf9dde03d5976cc6828e30d2f92e39562e20eaf1143181e112943ab75daa807eb0bf3de19b1bc1fe7e6cbdedf08ae92d86d3e49f0eab93a54dcefe968c57e342b481592d6a8456833b4a01290fe8305320ae3dc2ce1876f2749244b7e8e4795fe4558e705ddfdd111f0a5baf7cd8604d8b556f6bc963ee18c275e4bd12524115209396cba985c93cd72e880847c390a818a979d1c22d7d05e4c1960a9b735e1df6c61a836bb72b44400aebd91fddf130412f2d151fa7a42c3a0fa181da0d07d8cb740e1c69e353a4e1e9670caac76430d39be011dce94c98b2253e0e896f952c41199003c1eaf48d2fa3800788792d4e18fec94cbb5531901427f0dc78d52998ab5ef7fc7ed31efca01283169186ec9c619bca6f75143707b5a8189e29bc754086c67ba94a96cb5ebbe28978fcf719188cf3dc89d32d5e67b31b89133da3d7f0810aeeaaf2b2d663f35de071c6fe1bf7180542bffeef44634bb01f092b107d172e4777b9248ba643ecffaa3875a1523c60494581a91125dbf26150e7cf90042e4f5e2f244caca86a6baf347de5986c13a03b5831f35520f6446eea538f42c29ef128ecbd2184ae35250679cdaa438ba14bbd6478bd446a6492233fbf58849edc8ccfdb9da71ce4b41e7ec6df167acc6f30f9a8d73e12d2afdde8ac90a80a19a51f4fa55387aaf765668c9d5dd793c6c5bcd0b37bea39be5a0ab7d96ad740d5769164e0638a00b8ac557d6ead29a2c32c22974359f74cfcff8fb2c1d65a4e5f52f70bc44b495e5a7eb786bb763d193dc930a9f6a2671188f2d872febf892e6cc14b14d7bde5a80334833fe050d0977420390de7a6b6b742b39da4dc22ccb70f6510c61fa4b5dc59db3efe6f5c78724a8684ffa11de64ed3e3ad16dc736867f85aaa2a26c622149b5b1c5d339124221d7330480f53025e7bef7668a45f8cf1778542e5e901c4b2a9a58d5b98b0b7514bd25793fc81bbda66b1621fe0eeb2c2a108513b900aa84d5b53a2774c9751d1a7177409c7a9216e86774a57a2fa0038745197dca9428bb50cc792bbc5e303f3b6d4915d607cbf2dea47be4fc0063330a9dc63518743869ae4931fbea27c33490c08e1d27f9c98dfe303a5dbc254b25c5b7a60ba49c63b9169764d55aa88f3a22cd6df25267c093daeea21751a793332948f87a1b9c714fb615934e21743c4f5176670d208fc9696a33c2b34fb91522092c43b5ac6742287c65252d00c5febc6ec494acffe4a24f4acebde2e5df49b3d8be33111731af5b92b317001fafaef6e02caa2194904bb524ac653c8ab6d950141981624dba0f4193f6cbd550ce2e33b83cbd11525b1420beaf9680f5a3c6352aff9a98d998f724a86b42aa9571edf07a1f24f4e52f252f8df7c95e1a0b2038ee65760900b5ceb54248f3dbba1ab64f56dd582965f76b3ca9319722ee752c8df83297d73b12d44b9f7b3fea29caa4895c44af019a1db1ccf9d51b76fd37b3cf209ca281c8b3f27b691f73f16d8723f2655f62be0d79d088315c156860f155c437682805c7940accad5eaa6e9a57c623aa477dbcce38290e450303a0dc307b94c245438a79cd2b56c5a3c17b3aea9cb26a4762092b0fc6fae19b433b01252f4b965a61daac11ac7af27fd3126f29fb263971e37252ad4950d49972f0c3d021cdd2dca415ef879bb52fdc2f9bdea04225a47161c61f51badfb859e3069bb43f1eb1fb6a721cc04ac9d9fd03c6adf76d1730f260032f848b736559aa5cb4f469cdcdf0e2af88c105163dca6e14593cddc91fa33dabe4a14d0ab7da18276cb2598eb6f11c019b9012ca31194ca66d654251ad9840dbaa7f71dfa351a26a860bfba0651dff4f7f5cdbc4648c4474dc79a3eab696b1185e3a0ff360bdcafcec1d3274f59933544d947e66b506c043d9c7902daf273dcdf0cc98d97d4c24e1a786dea33300cb0c6f59d36493a8c4220cfc20fb59283dea08604164b535439201d0a77029d2d798546170e033d601d2f9a64842c7b5ab0dd654d0c659963d7166a65140576930e809a0f7f3b7dc8476a89458fd1e7a0ab2d7f075618156078292a906de8190e10de2205cfe2f04b7ff1581f43b9978b554274a450c36e50cf37ee3e8802e0a0f8e1f403b30915e5209c82e421d4d38e30f199bd0771bea2fb1e1a3fa79281d60b34534604a310635955d432346237182b9d099968064ba63cb3b99bd08a7ae0e12e3d2b0cdb1e579a823cc742667319f271a6ac053a1d179c2f18828df7928b5339c1176913bdf469b5a5610a16ff04d100f17fe719148f33f9dbf7c294f7a99f427ca003ae215135fafff6923fc4e2d37234309f1d1198a356fc33599cba62d17c66d0ac6267cf1dbba806659bc712c63e9791c97fe48115f2ae0a67d491ab2c9b811e9e07d7b5b509bb68c6ec6463d02315158510ee306e79bfe018b3e13f3825266643d4aed46e01a847f231317c8e1449ade275a5756e48fd966b9cc89f919e34495dba909249761969fd3062f51bc1c564c02731c0e1654407ff15750d7238182b359cc6e5460c7967f93d53f900966438af7e6a53f3456b37e3868c696323e8dc9b7c3c177a84931a089b5e5fcb80af837773172dac075ab1b7027c5ac13e6dfb938881004c1eb369bad4a6bf56ebcfe8ee70216c36a935f5f98bf0634790968f77c64e77ef6503ab079b6abcd04231cb728b6ecbf824f3a66bc62081527944b0a7743ffd9b0da039c92461168cae7e252c5320dc3085fd541cb49b1c90b8ed324685f8685f0693837c2b530fadb56c1a13fd45f6bcc3b2a5ad8f775a711915d11e980dcbf1db166d39d750a52187123e857a2b71ed2c57dac1123666a4e7054512cecb1ae338bfc9e68b03733a36e80d2981da00c81fa1c57e018ba0f0c74de471a8399107275e05a685a2a884a9e4a6ac8ec6435157dfdae1e72c8e4015474cc8aaa9c3fd477f1554e93c1910348d9a3a887e3e914c69cf08374a26fdd7615f0ef5035f60fa3aca91c2c437d9d17d0c5f80403d3533100e30d36b107050c4a6bc6e3c178425ed7e0420b0e96d62c78c3f492c198839d2fb090cf8b654b677fbd9026ee3d5d253384dc512c1c0c1cc2dd1802b1b115997fac50bf0c1afd2c7e535e0e83449f679f3f50e9c47076c1205e66b780b557c4626d7663db52098746940d4684197e21aa3cf1a02a82c064321d82c27c08ec8ff37bccb8daace6adc29c442a10b4b3ebc861a4b42a4205ff212b4d56507fc5a1cd37ca4fb7825efd0096615c03ee84116b0c62ab5599a8d4ff444814f16abaea2e5191911791070613884d1ea1910a020d558356a837ae536a631bbea573c74c75bf3c7e146d9da9179db808a4d70f4ad4b5e5ab8e1a0ee522af13dd0a8b5ddf620d9a0a969960d625e717bdac1792c0c976efcddaf1a4a719026204cb8540f81e1e07596b000b36b1998262dff068c6e907c2249814cf214f1f9b24539b3f2b7405534adac2d1cae38eed3903b40fcc787967a6212416ebf3dd7573b660bfd8384384661fb8b391e1eb83b6f35eeb459f13432d318a8e31dbe8c92d664e5c64b22b55b8d83311ba1a341cf0edc16dd8f7419e16fd51049a7eba542e810eb3ea364e890e4231c4e5df46abf9129c424238a144a18db20f76a93fae3409f10867e7b2d0c3e67ad17db69c1091d6b51e9aaab972808a0a4ade0e63c9bbca02db018c9b159624af18ea101e3e467451e2170ce975db0fdaded72464bd167f55891e98e3b397988be8f4ebfb3052495978adf1fd7b8566680103e07705578e2ce4f8e823c3b092baab7e6d110ee82b9bc56b3cb4e2720f884a61871fd08d616cc19a73edc2b56b440bdc9dda8f3771e997fdac78fe62c7a2fac5e8ee6cc37a13e902f411b70c550258d148426e9ff489994dd551f9c44e720191790f65247022990cc255eb43886f5efc165ac01833dafd3ca3010a35f2e182f38b8388f7578e0f83f431d88ebb301372aae075bfb4ea65c671f7edc5e2ccfd8380b6205c37e3eb1b3639bd2ecda5ba58881d92bd065fd66b19a007d415dd179a92cfcaa4577f53cd58f4c0fc4a965103d8adb2ca9919fc50c5f5cd6af37a10ce8067a5e5d3af535f156f7b79ab2f00572d8a0268a24c6ede704d685aba62134e08c2b529d5c0d0973423c05a5f91b7282e4310b6ac55ad51ac55c037a62e17268cdfb95411ca97a2da5b29493606b2081914e76a35dd8be3e3a365a42e5ee926689fc5df0e58173880cf25a20ccb0c5b22541f5e329dd40a0cf4896f644dab3b7c9b638c8f05b71b7556b829719cd106405eab9018f9d0a32c1f148b9beb0a284c509e8d83a70c038fd9fc229465b56fc4b0936ee22bf911389a89ddc9a645ca9c5be61d16113c6d06d3a6ac46fe076ef55e6021f539dfa75fb681d9044e363116a16e965d8d72c2067ae7c04645627fd3c1f2ad3b78808bcdaa8261555a07c30c1e3b92aec04ba351eb03ac963b82dde5f337064665b87d1edfbee6a805d440f30179e525f5b1cf369e7291d9f6055523b3edc63b001bba978662c6dd1d50db70bd11cf9488183f9a7ae0202b672fb1b9fcb64f70f171ed5742d7f4813f029386e424da25036b3ec59782d17a7505a481c9600be48ac2ef086fe692a0b639324e81a3a3d30d01dc0d27c6d0d1540aad2d87b7b6d11d83a59c6959375864255715107bd961f71e8701f208db44058cb1da3cd796ace675984a8743faac521550bed3de11af09d16db96fc769dec62fb22c6138f4825e9db3ec80607c8aed75bec01ec4818175a8c26bd060b52c510de63e62287a6ce69595c4740e2cb31cdf310f14854db5732dd6ae46973454454c62195d396b9d4e53edf8142781b8421023d655a824edb233942bd79159e068507b9f9edd561a2e2e09549a8d67fed47315487b6f1c575ce328ba7af473e90a187eb87bf2ad2861dc187736cd1304f2372f7d1668e94612b8fc867d9f01b3dea32505bacbed27ba8e929efde8d1f5dc10ca699609768d3781fd1625890e8571705bb46214f31c752c934959d200da1f7af6d1ac29f8b7a8bc56a48fd4a15a3409b3630ccffe8130d066f34c454b9f1be49dd147e5378ac564cbc2aa446806be2471880eaf9d18068a12ba17d4a312361898a2c27f8ea9d63be8981d573b933473d5ecc0dc68c1756640164fce58f82d1abb09e761a5e98578ac4dd52bbf89470abcb21939eba0d2c5fe44bc1f5fe0f4277a5f4209ba2cbc700e7f6261d5eb46b233bb21241705bfc6aa48a03b3f09bd0b83d65658750b746fefe9960b1042d3de4b18c118c25df76932439a16f3fcea74017c15d9f31c07324c665f7b88463d181b379ef53f32a6e917ae75f64a24ccf2bab50be7f15411f3c4e5df9421e339207c05e2c4232e1fa1d1da56e496214e1311590c39c35dbef8e99437096bf233118e1c605323dbd00decddc9219181a27442c7ca8602ec887203e1fda84eb03d03adab7844a94374bdc35a5ebb53ad13d8ff5d0d8437b243e0add99181908a3ecf51fcdcdcadd5c93fe70fa515c978711583e6fa6640541aa8530c3cd47d2abeb75fa40cff5d199f7bb4139c599dfd1bac4fd64acd6677ee20873eaee96be1110d88b1da39db2af07f81025e37d690cf1291bdbba11e1e92c63261cc36edfc5477a48ecd9118bc3de338bd5cab9d5fd817ee5eeaf221d0f80fb8ceff986db7e242cf2faf5253d1e3619f46f156ab60099ec92550d3b524c3e41b2b9dc8e1c1800d9b8764eb14f61d9a5c0d66a641c6e7c9fcf835bb6bfbafc9e21b7858e004c1cc73976a659787404890e61d9e239cf7026b9098ebfd2e306732119f4500a362768dbc9e1a8bd94312a070c5c1e990d250da22720ef408c5222c071e36ad757718290f3d0da237ba6fbb489feadee78a6b50875230a647bf0120f213e88dbe7904ae2020a892ec38ee7fb9620a8fefd30ea370c21abbe4d601f5d9eb75aad9d314abf7d94a48dbcc8e52b8bf5ea45832a772c3ffe61c0ee9febccf78a31e62d910e48be32577d354a32fb5d9c6d970f9bff684f42a8c84364920bb1966fa4f0200616417478653bc2eab59befe6a16cd1751f2247cced39229da67f7d1306fd37a1837c192c4fb482f32860abde6cc40c9a14bdd2884db207e1fd4f5854b6ce203a787fc02dea56223ccc174ff19b4c3677616ab1ad5d8205e25fb764fff5c186357f0b803145d5bbfce6d0f786f4d0b183d9c93ec0955af7019c1ea449a65c7db673024c6af3f97e729ef73f9a67175e35c3784138afa84622d5faee9e064231594c7a9ce9c21ac98bdfed6419f472ab35b5a80bf9656db3ef9429d80609169f6b3c8de07502c921731cd59d87362e2189671407c84713bde4468d7c376fdfb2fc96b6e53bb858d0e776677a99bab9dfd1867059ea76a3b0d60d3c9c9a5857e1134e4517a34616c01e6d4debc5ac02d97692b70899908c5315b56c0431fc43ae01dec946290d52f35aa81eb8b3f9ac218bcbd7b1819e267855c02079ef42e8cadfe60e4ee73371f0aad27eae0bb2725820859a26542f97e16fc253e8fc59821096ba144abc4cd3ae36dfa50178d28ff91496babf8b2cb6a2f61b3e7da6dbf6957d4507f91d86aae441ee3f9f966f64900fe0746748689bbc9401a352c5d2f49be30d112cdd19b0ed054441a3aebe411fd045ff58a8609d08225f4f024a2f765198712cb375028d14665bbc0bf2b1aa1284255113bdb76ea0ab9a438f7310dd44663fd9e7afdc652797aaaf0b9cb33d400a80b28edd3059af7c39988585a9ddf77418ab004ab4555697b2f0bf0254f1a4851a4ae1bb8db9ef9abde05be0208b119cd62c83df586b1eee2f9eebefa49da79284e44406ff939ef7f065b2ec948bd7b57537d82caf72e0ead053bed12a256002f03a8bbe328258262e215aa853f19ba099321419bf966fd4465d7340d8cb372f8e6936178a07cfa988094ff09781913100cf1a49c5ad29fcdd0fa71f5f591f06ea03187b04a1a019316d8731711a7be1bc44c9d7ad6597ec0c6e317facdf6110936b776a075f9c8a105ea10faed326b69092e0a5ef1e5fbdf2f0b7da893fbc1685a43172ec81e01df60d807ff870f048ccc08931cdfd89f93acd15d586e8d88c2ee88f68ceddb60570b5fbd436c8be65cb622d011ce044d9890e87e9e76dd03446d162e741a38ac56974e00321756e0ba98b51ef314c23b7ec31b14e51abd514e2f8234759272f7171d8d20ae0261180a43a0c1e121edf36afe8c8e14f9ea7c4ed4d330b5d34139b9426cdc28c6c3937cdc8bd43f41ead38ac98458279d2005326677e3f6172ef0e9b9047991328560222ce4d7ae6f022d347224be64df6c23c889bea6d1b6f7eb88e23e9e24e4ad08c473b43d271256ae511179ce6e25d56db29378f00e1b56105ff01316d7bb8f50ac1eb0ce60b74bd93fbcb718491aaf12c8c9dd01e7c17f0011b54f13d541d7ac508f57b5b1ee5a52b8d4b1ebbb5d7e6c72017e691b2d870e8728ca6331a2ac045fcb1108dd0392a0d0883856a12c9ef7b567361675ac61b54934318bbce69d7e2401a45b4593ac7176e6a0f4d74d62196681d9c1aa1bb693d8e8fa7640a0f693d5a685b9c298b05eb490566e12b87e8e50585276375d9f81c68dcd7cea8cfb190e4b41a468572353a1e7243eabed15144a1bfa28e56bcb864df14cae5a36d725c47057b9fe3de1a517b670678a3acf151fc66b53b3a87e9ade5c4188a5599db6051eba5d0a79e0c1ecc7ba9babb535c9d453f869d24214f5b49dcbec0faecb0fdf52fdaf6869d2a6738e12525b413eb9594a17ddc63992be9150651f042999067d0d2637863f8e7940a00116e68fc0097bcc9bd64d74ab99967e58a1a4531e0f79df6846c0be16a3b77ff07faf1534e40e914abd52f074c8f8cd3dd40dc997095052fe4409594c862edc916aceb814bb2fb650956e1286d56caed58944e3880310e01a40ff70838091790c739d51cf06539746cdd4b75a301b21e190f7b4b1ef440946277cd19dccd50a65246e231beb73dcef0e10948e8d186878f1cbf71905eb002b6f734f4a611af3859a38c7bc26dbf7b7c286de43fb8e847d5ddbf5aaf48b0c6fa9508588ce1ceed38b67bae613fec0a063dd8cd13533192ac99717d65ab4805fb15e648ef2760fad8b0d9a07aa985bdf2d3bae77d2fd90869fccd52c11ae5fbf2e20412185bbed6ead1b042f232d73a1498b5a99448c2df6569b115b6413c75e1a130b05a9ee0dfc52498f560a7bb7c25ba9271f382370c2cf261cb660d574c11a341a5b2b1559d1561f969b61542eba852e87d147b76dcecbe6a3e10f8e6c3db08e133cf634638ff19c48eda9e67c91c38806d40a3945d9746b5aba0e798dbc62a6a687cd1a23ad54bf9b450dffc68741504a1b88836caf1ba92d4733903f521806bb9c19f9667fe843d230aa5ceb52e9ddd1d5d5e81901c0c89a8a1402eebf8206aac375275f53ce7e7b001cb4a89cae35c8f09273578225be6c4a3b223cc7a56bc3f2451626a31777597712627a47afa174bcebeb6f3efcffcfb5ebbca4b99563b09e7eb9e191215f6a1495db97fd9ce4974e4a9c57f5717168a61786a9d4083ce9786d341666ed4111be2454b19d3d6c4d17d3985319b64eb038254b2f2bc74d627901c9927b5bb895030216f440696e78010582f43c3eaa06578a68e5bae16281c7472a05d79c07b61981a3f8ee6ec54c8a83a1b95d47d16c4a1376e59a90bdcf8df83b2f94187c0058f463f24a3dfbed983410f9af5f03b5cfd645c3cf3d47902a6911d6408dc72027079cda4dcc1d905765d27b6e23a3313b815c4b9304c427396766d49ad74f2e90ac1786386d68d0818d3472ea2ef45e190ec66959507f1a903339bac4084e1e605b3ce8630b773b90730d67ba9dcbe342623049fd8bbec50346b13e521d48a7770cd526f37b04eef41081f916d26817f98cfc990bdbbc4eab41759ef691e9e4571d0e714384998bf688ef548123b3028f0c836b140e3edbb2f4397bd3400e93fd36c4118832c4eb0b801e52543f8757f43a7dc45b379fb15f636bc811431f07c0153713086b2055dce49d3500c7ad0ac6a7172aaf7408faffddc1719a8389f976fb2388355171b7f2ef21d24d24c00a8819e98b40603fe848ff07ec308bf18a71c0f8413f531ca85b0ebe800a157be6137be878b38b5c7add4b24b387495485d100f44fce58ae49c24a1b0b3c2f6803863545faa756638dbfd145bf534673d532d17aed2d2016bccd351cd42ab953bbc30aaa256d3aead37165fe34b61b27f3a530a9da9b01a4f0dcb0f86ec9bbeb0ef4e2b816e3e664aaecb84cc120773c3bb805a8f2aae77a94df919da71c7b39fab4c9289c3eb754c86abca1fb814f59337b35c2423e6c812070900b5ca3a05fd6ec17df98242a64f8617056b794d340e585ae24c6b7ada1a3c1b394eaa5b27d13a65a7ce7dc6f33bdbf78cacbd3b2b7cb080b65839f619261ff1bae0db708492487601b73278acee5c3e2754e4feddb790af0196c545cb0717f5a284d5b774528040717d68952e5900ddf5dcbf7447b2ee61d51fb36fa43787b2282b7d40367b8fb1e85e54d691c560f3c47b688cbe6ad4b12175338fd6bdfd4eec7bb000c003850376b08fca210e484cdaff3fa711398ff52dbcd9b2c713099633cb8e0f31a45ae0c7156a36805ec457bdb247dcfd5d367601f04db586d6deb84358797e7bc054011395808128937e7b4c34bdc416bb1eb0e36cf7bdf8c5b5b5f59df96608b61633afa4db9d16359a29dd3c1ec90564aeafed00bbff4f5da88e6217ff1f872d21d0f7d0dec588bee4041282f2e86f1b7ad65db52cd506abecb36381877ae83155ea55bc5908757e00618d912b0b2f1673d0d377303778fec8bf3c6817a8b2a8ecca95f3932e3ac7229a44081e651c180e0391dd551b83d0b4a02b60b1edc1ad73201fcf0d41b665cdabdc924b1aa405d57cbb8770ac533671637b4cf18f6fbf4baeb3fefdaaf73accdf6feade8cfe18e8305f3e557f8221edb72c33b6f69b93022161cfa23c93bdccabbe307423b7aa835bfa79cd95298db1ccc90b065471cf24710b121af78826fcd411ef050afefae35c8c3d67848f916fe4814d805a3d8bd535b7ee853023de8fbaab85da94499b1911545106976f4da23a95cfb6e91186265b727b7a1c9225da134acea151d8d9f6a614477e3a96786999233a96e4fe1da5a00387774e3573a8f52c50d3494c7ff4df63f352c570865b22888db8787b8e80d48d47c376a2786d8686eda53db5c14d701264908407fe41833c5d73148206913d09366d4e72e2bbebfa3c1763d6eb738dfef0e7bacc2794d2977b7a5a65a966d0b4b0beb7b0e9c65dc8cf221da00d4dc5fccd1c599dab52a2818da82fa28ef403d5153da044bb4c6f01394183975e4be19572b9bdc9fbb602a7b4dd47640943f45f9f5fe6b4d424631ac6ad96d6b7e5fc9559d01b8e447687fc5f5c3f56d8d38143d8e5b4e26d0956de62a97d93b1f4bf93e62e3151a6906fb168059aff7adb9567b8654a58c8654d77de2960c79637612fd16e92fc77444da5175eb247b3063e115907ac2995d85226260e7a2abd651e700b123ebf3a21a45cb82b7573031d7066e822710dcc6a17c41a0ef2ea80e56f472b30c06e3b1869e8b613a2fbaa2f091736d9b5fcbf5f3ca199731d066f852009a34602254f04bac09b8ee57e39a759a1d5bc8d08ba3dffb110643b9c518e80a7fdb5c76f6e231e51110774f91c6f807664947cfae86c68235dcc739a34afdd830b173612b81f3c1b1b67e6f15efef0e04290c549972b6211a4a8e983bc9e50f181fa8fa9d28c35e89f23e4df3d1a1971ea4003c04a61909a49f210f067862be574bd50b9acfac0b10d73fe69e4f1d0e295c4e54d3d9524e100c287cda6fccd90bb8ee167ac6169599e38c1acc3d48eb1bbb50cfdd9628d887713611564d440e6b9c7eb443057064034cfe945c8d78c57df3d8439adb3c0f8d48586c5e94eef4410d9dea198b1e51179fc1b434f1a21191bf7a985f67f5a71fab9f816543a1a76e1ff9c20c54c61c717af2d8b1234274e5eaf9701c1194d4cc1f7ec3342a4704bc73ccd293db1d43dbaece81d91b8e65b952db6ec93a7687916dc5ae06921bd1f1e6ab69ec9678871a75ec1037e81f09975b6bc7f27c23c41340778611f691dce3669716a2191f1113a90a05d7c144a4beabc2faa7b1e9330007434a91f3c60b1e984d5805cc77ea8137bc5054875b5d0072796a8516bc34ef8d1337357e3020414914a768e55ddcd5a2b86d482cd408f937ef8170020bec0a85e4e6b44173f7ef02ad36b92013b9d398de303ccb280ee2172eb30f8a3dd5478dffba5f1d2a01149e63a401c7abd2cfd5fb960ba561996a7f507d76c99822f5027cb91aa9baa2f457f4c2824a8c66a0aff1f5831d2a08fa95f1993a26f48c6d655143aafb206ccc3e1c00285c1573a96152d4ef88c62a505e0ddea8d8df67d92a176b8203a80c64462123aea669a1c86f38b05bc164a2abeca21801eafca9e92a0293584ecfab11bfbe2efd1a75d32e867335c5ca8915a5912bca25ec1a72479c9ddc322e2ee14be8239e8dcd3d1d2c87b471b19e5770fe910de77991abad45c369f8143d2615af3751425c1f531515bf53e591f51427f93a464c2056963c2b76416178693296ef97f13d59e55fd0fa4b86a8669c5a16bb2d420bed23a30745a5afc5b8d6a780a58ebfbe196dc01399fb57970da0ee2d29b54e3e82e1bb298d85daa3b01a400194a0f8ddad614162e5ea303c1feb55f2906f437f52d6e09f364836f3b1bee19e1ec582cb9a507da7c2ca6279ebf22e054cc79e95d73278d7ce2abbb9802c9508be18b9ff0ff05d2d9a0ecc72da5b052ad3f59aec28b05394f479ba152db38e10712e0182398361fbd4b5fbdfc876f3a021767788725c6952f8afd85f1d6861f79c061ae741a06e41baea7959d8e6f816bc9fd08e480860fb445f64dd9fae5431bda6ac2ab78c5cb8bf9766afd5bfb6a368bead55e4ec3ee50b43bdd1da3ab4022f92513228e12d548755525831bc23d8d909805da0b32969071ef22a03de368a0395f730dfefce699d3b7f2ad802c8150897256dcb6519e3886ff4a0d01ed0064934c1efa94350e75eb6dbe777a0d21720bbc48891fce0967040b13bba5dbc0c84706c6d3e8b55de195d18dfaeef5b2e511b0781a3f328a499675a73b3499cb1b37b3dac1e448a0f8514504879e35d0dd79fb2a3c913cc4e6f9a76a938dae211e97e1b8f67038f13c4e75c3f7ef83ceaa14c8ff9526a5b2322da393d42993709afc547cd4589cca09ec095c322371e38903ad18d8d217f83a2342db3235ff67594d083b63a41cc169b207effaa92b116c7383a896708d3102d2c2e9f9531c4c1a654ce3650abaff3fb40c3646b0b4ec5da5ac8a1ba52a516ed5ffdf17bacca07a12fd5fbfb8cce205301e3dfb134963f8fa2b7cfb94401d4db89958085db0f65e791f610ea46ddcb1a6ad3d5e2f8e8185c47b427fbcbb0a9f96f82ead5f1d9bf33efb494513f1f13d0982c1a7e363df3062fd0f309f438a3a91b56140ff53d0b5cef9755ae599897d4ba7debe1ad2bee7e5acf69eafd6b0040b2ab41189dc8b3f3c7789f5dde5f887e8c812a2af69517734c610301adce4f38d50d4570e8c671aceacb6c94418ddde3331106e345c8949d1552fbe116a6c82d5afe1d78ecae0aabd87abfa2d13d54f12b84f54cea3d9137e40ec914018831229b1da31fc53b38e6bd1a21af1ea671271c903f3360eb12872d8a52a716441da3c1f9f505dc13f759ec7a127f537234b3cf202e42d7a40ac3343ac1d234b0aa4b097ee6c6517b0ddc0e12d0dc3be711ec127877bfbf1915b8cbd4299bb131abdc8dd047cbcda2bf2bc21b14b772239c26427f7a1a08a401fcae384b8c665233093079761b6217f39285054cbfea39f368a5e628b6d112916dd624e8c8caf8ae3c2ac4f0e0b1cc0cda1994e288de6140c06f1f754d311742677f734bcdf649a61bdf44285bf5d05c581693189c650b2a48a13a39caea78099b9495af985623d376a0d2e60394a78aa40fa8f115fc8a7280b38babec97396aed08ed87686b155e4d1188bccfeabe0260222c17698cefbe48fcb184d2121eebf70ab9b1d36adc6c40856c14d330c6ab56eb02f30127948107553ed68e4649049997f46233f3ddf3af71a6a95d6e26f46b3894aa594fdf163e4342144aabf0712204987cdf91657632183633a7759713dbd433966af67ab9c649fbee1e751100a8a74c0b07d2024e890802b8e9e43ae92daa513a91c2402360a59bc2e7a6b70b89b52ad3587d3271afffff0753bc0ab423bc5be2e87a8796b687b74afdc3e6894ad0b0dafb5b4d1ebc46217771ccf0126abe78aef3e373e789e21ec214203b73e04c960ce90e4f254f0b2917d00a68a36d733fb6e8532808d8250ff26de63116a0bfa39acfe52f7e704397d8272a884abf9d8c85adc718a34748d93ca83cddac0f330ea4a7f5a653d998d6b772cfe7130913b90c9220e6f02d569622efe713162c1b5073abfb0c7346404ac1f516a423e88a2f41494be2de0ab8614a115fe81458d16d557ade9f44d7e8d345fc858e9650d8486d80542b8718573cfb37bb1f6b7984e822c35cab434bc520280faffd06720533bf4341a4e334f0cf60cc29f41ac9a4e2c9c3d3185a2e2845f5ea5b7d3f5bd15d9158d195a0abe887f8c1d97d15467874ed93cb230e4362788d08f42b0c3dc9a9a190b84840e595ed656ef08d90a7b1cf20700175c144d79f8e57cc880d1e7dbf7cc04616b8c61e04feff13482dd67dc1d4924603ff3997dd2fdb8843f04f95a7832ed0825190e811eb7853bb11e3615b2aa631216fd7ceede900d6e8abf945ef2ac0da910f7c49d51acdfc54f3c97e45ba198cc71ea8cf423d8c0e8a02cb45f6ae2cb5ab88884cd4efcb33b91177a98c736d525b3ebbadfefab8b340a800e8263c547d38e53127dc6565e57316e69cb125b02f2f41b13e749401802c9dd328e5d60ab14a89b13cce33c96ce7c3753a726e2e98c27a9a1f684d8d51a9145bf9f78f405969d55a6cabb8083ccb9aae739ac11d49aa831a6c2383b7f1b3cce43d0663f56114705567345381471019e5ba4aca3bc067586132b2d3e8bd2f6147b3fb69902ebcb6695ab3699cf7c57b392d2bbbcfcd79539167289b75ddc905d56f5b0c22671234827983c3bb804bc297a8f6942fe6de29ea2fdd7d55d39ecadeba03c2105bf7c0daacba1a1b269f164a190fc486a1b99b6d63879bb239ede7f02e45fb14ffca8142bf86cc7a2fc74428d497f21227d327d9e6aa2d985fec07c4f74cc238ddb6397902ba19fd1f7a85bd2933cff7e1eb569fa08e939b1b7490e7bf61ccaf650ea2e4ef0fe700e3de0e2f2006b85083f90cd4ac6fc0b49776e914ad4a76cd0f51d9e87ecbe234a2697a438c092c2dd830566e45e4543a65ba0b0101759f7e77375b9024342fed377f232808a38a02f8f4793c0efa517b3f485d09afdef4ac7bc9c44221f3d6e2b896032ad6f32449274fb792fc260644a7bfdacaf36d5fe681a0a651fa5542ed583ef783c796866ecb53945dd89756508e18064a373b6249789239ce0a3b1e15acd2b2f69b3a6cb1ec7b2d6ca693e95cb3e19937267fe5d08135844c9469bb503f6d03112361410bb20eae86246dfed89ec451d84cb3721bf288959a9146fbda60c2bcb08e412999c8ac695a89e6a26a54ea05a63ae96445733a112a7d5508c93c218d4ea95af904c7d82e5717de892afc387938de2835af121806c002fa6a8c389700189a1076abbe59457591db7d36906ed84f1f25dc89fb0f23164b1c09258a43a452cd34493b12936396446c1d3a0a15010285c3ee481ac0efee7f5a827b7af9793cdf563a29b24d48f38de37b7b29a7546c02c789487ddf3d468eaa99f61eff06f6e179928873326fefe179d894bf00f6d2cd76748ef4b2698aa13cdaa80cc85dde50e4bf2319a254458a668429b65916bc387b319594a28861764e9795c42bd73bf7df857b5bda7c17121d0e998e446593591ee23e096172bf4b4121bceea007588cef2078134c4c3720ddeff15b8cbbbaef96e2177d8a489c76cddefc3ab858d2ba34e44ecf51a2d1b815ad1c6d1a0e954b1a70e6716825b0865b8c1996c70402793717a93d8e732ca38072e25cb45b4172dcb3a89ea2d33188278f86641518f5750822992763c7d174bcd283ab79a90bda3446782f3daeef052d92893611274d694e0eef7d4962a6157885c32e761400262f18ad776c3a3c59c7a83128e499094e9647237523fda507f41e52215f6566dc3b33245d5778a4be3f9663662f0a88c942936abac17798458f4a32d20563b6bf0e537a58b9c361019506fa96da4ad751366fdd6dcda2c6ebb09ea2e9c81081657b8f76bca6a964bcd8cbdf71d1bb0293265dba0f5b5c2072b6c9bd000c7da62c018b0542ce4b5d7dcbf86db961172734d400405526702a99639c58bd92335601775973be4cc402139d1de8ec9a2b30a075f90909e9f6133045f115b62412466b57edb5177b792f90a1e9a1e5f9f3a45c5b36f0332a5daee1dbdff08a0bc82c880528f18dd334a1474da66c5242056fda9579c1d58d82941d2dfa894806dceeb8d7e694e100bcb3efdefb37035efc87d4982b64a333da26f379f2c9c784188012dffbbafde5f294eda59afc2301d0c3632def1cb8c4fa21d92133a11e253ec397dfa94abca2ed9840571a5c4e770f9d6645d4e2b99df0386d9b1f03acb9eb0941a83f56be70c0a5ac88d36be6509c4cf26d9ee9f55d65455d2285f6267c0a9d0dde40db7188be06372dd3645beecc5098031c78afa3ef7eeb1a0dc5d251f4c0325c4e811c2f70434cd40d4b1f070dd55ace11f0c625f7c4d3d2461e99a5bf005677672f2bb956cdd54f20d245cf5ed78cc17537442bd027fc68693cfabf039789a4e0f61d67e26ea7de76e9bcd1956414bac9cd8ce968a5e90cd536abc5c912a0b9ffada6d2e32cd9a44431d9070627134e5a53cf2777a73366cc70172fe7e070a9fda8a42080dff014a9a725114056c653c8e5d2b6df29a2d3672902760c55df3e03b2ee8f03291e207e7a2b1286a8b3c5d248043394c429a5ba9018cbf42a028cc1b8c867754552e304ff50b0095cabc81a690e4a65febfad084884bfdd423d7960203491363a3090f2e0acd7740c38bf23b60feccee5baf67c96d20f0802a2b7e359696b71fe4361d0de20d5441c9ed8610459973772784381493c9bdb7915e6c14935341a5c698e07525cc309dcfe5a7c9d541093fc9bf4c19102c14236d80ce5034cae111981fe13170cd7c8462578abb0c965e78147b8a7919c0f0e3af7b93e1f29e80d8fdf006241d114207fad3c47915412976cfacded754ef626ce69fc6cfd6d3a73fafff60de4b8d00237e67f62ba72f1fbf1607a15524452553143bf1d27f20975fc373d78c28e2179bf5839e0f970e9aea1fcab41f3fd081355cbcf0f427b42abf7291eb1c1a40c4e1836eb0fcc32f77a245a249ba8036f58b56dabb129b28c6aa6b27cebefc7e819d60589367b586d0993ca027639e873e3f09ca193e35e454478762b3b88cd7ec339bcd80d7ccf60c8cfdbbceaf7491710c2c6c31ab6b66c37bff8be4c27ed69f70ed908217989babe3a16cd391d9de20e8c19778b5f2e9057c094490232f6ce1404066410d61e40f6cdb5f5deb78fa096033fbcb896b66db0516633b67c4825aa7a1d91687a7571acdfbe3c19ccaf7403bc7229ab8e8446f6c9f0f1e660b87519bde4ba6d3e44f1cab8e367c701e23561ff0ee5c7a93667d67d75ed6dcd882f0d52bc368363aa1315a577c986b1b7a6716fa50d86daf7c1deb4971ade242db84f4161b9e06b80ae442b9efb4af8bea9187d21c2e7fd74236bc9ce86b932330e9da31d0198bae1e3db74d5cb69acf4fd8f714429581ace3c5ae23d3e6b531fcf071b1d8ed05712513fdd09fe5e100d3e297dc233d3d8d091eb6dee48b096f52fb80fe858fc1d73e5d0d1b4aa72fa6512064885861a240c5e9af5cb70850e26a4f09925117d14dd985c2f37ab3446c1b05ff0c289b900b8e45db62e2b8c7233c30e495333cf55fb1f1b7cf1382d341a67260ef6ce922a98b30614fc4a48fe0fdd9ddc372ac68aa5659fb1780a3ce1917214c04c455e0bbb43cea5f009c82fdee71579d16e9d38a90818dc4823bf1770c1ce7e77fdcdef5035796f40961671cbef0bd555ed2c27214c2f71dfea8eef94321977297c35b58be61fe365e4aec87da4252aae4b9ecdc6ef56b453f59786e8ad044f4b7b9d199325dc50b33abae3db7a178d329dc3a63013b479e4d080b81c989591457488e700ba1e74289b2942ca080d4c14e8c67130f84af7189b91d67df9ad10afe175a06530768e3309bdad7673492db2b4be890e842d06c8e64871e20f0b170850a8a0e7ee7b5374b37c12a37074955957e2ded9415b554c8571ae7a7905c3eaf6627d1e9419612206c5c9b7ec0847c53bcb2564ea579688896efed6847925da10d393f26ccc0bec8c2c269037ae2a65d3770d9b74018c118335f0e10314f3b9d144c79c6be9bcbfa37063dae6da27d6c5d1f68a1ef66752180384a4457d3466290d80648135af3f6f128d8617162669750505eb45a77eafa086d0499bd46d615bf5c84d9a73c5526ae3df39bfc531d423900b663649ade83d12bee27c0ae61cc7935d850cd72412175bd0d9fbea0a506589732e05623be3c40a33028235dc6b016708e33c341ab3ebc02e286802e777b901ef348f8b072ca11b8799b4575791f616f2c6bb9170e6dcaa5b97c4860e2e139bf36937d7d608b35870c72415fb5c733c542de466d3dd6f8f15d5a922961a806c7524fff8ae9fecbb76df24b5cb7706145c6e443d76746eed20ed180be13fcb59820ab98de7203bca54501c8821a9450960e41fefa6767821781d7b6ea939426f25ab465ed8c9374e3428d7094200a25abe71472bcc90220c67747de3b20d8458a5ea6905966df6dcadf2b1b557925be736cf3715315f3a6fa196e30c0ef4ebcb8e6e7d4937bad8c8fed2c3972c26089e0a0dca369ceec9636754b13082de29e02b94e03f5331abaaaa14fa06220a33aed619402821b096a019aa21ec821d463a478268c79299123346ce8bf9153296d08107c7a9f8908e8e6e10c606a6b62fb533a6851b07268bf6a62eff5f5f4f79f4cef6aaa6e6d9b774467bd136a1436e1065fa5c1c0d09836caa1a3c0397dafe579e84a882cd89a49cf339de6aeb08f1d9c9ae3b7abcf6e58acb05178b3812249bd4ad036d1fa664d9f2ce3508b87fbffe025e3f159f5768ddbcc701895bcad12b0dc1fcf2502af9a8ac9dce2b91198e65f04ae76e9a6601826ed0f3114aefbfceec240e6cecb0b7696bd12d85985b8d06074c46a8e9550a9f410e12cf0635a75f7721c63892a9d0a92971150eaba7ab2f5ec01478cefed72a99503ff668112d54f40ddf54986acd02ea5eccd4cd77dfe7fd28360b717644d5187d8b0478a0e4556283b44ceafaf073b8f8b54485e78fa4c37b1a98b93ccaf6002cfdb845d2f83c1c3c6906c38a1c551895bc09b2932419da515f013f00b002952c3ac9b77b343f7b701075ea1e1321e7739c204870fedc888d9f8e138a0b20b44d37189c49109d10c25fef58049092054dcd6f6e13daffffe1c5ebeadca6e9acad94be51e66aca80758685cbe28d7d5fb82c0b11a9470fc8d84ede000d29197407d111f0faff179a9cfa5a7f27ebf34f4fc6be9e0924019951392a28e2d42a3190660764c7f541a6a13e30b3fffbc7b64346532d652fe05295a9b50cc8037d2c642b29dd48dd57976c11342363f578088be903649480a9b9d81de4959cf5105a59a146058772aae989f5c7f058d790202ad7454db0fb6f326f4fa7fbe3fe935b2f3d16444e4d4992f4b777cdf87edf8df1348f19c492fe065f06534aefdf592703004b50f9417cb38d6c527f899e8d506dcb14b2c35f54d8bf14cc88b511f0af68222af0a18576b7c2253e6e4b25915609f94a6a1686c7263d300423acbadadc84f404af3ffeb6d7216e96f59240f957a8c343061b77e2bb1d13c5a6939e07cafca70d46f07790e57bab2dde0fbba7c0b63217207234e1c97fc4fbb9c292481c38d855d00519247adcdd874b8bc5a9cda9113a0a9bbb13a33b3f9593641b586fa2ff0bf4238be8f0874836f5dd024757616b6e60b6be3dde2eb47e86eb4092089347912aa96b5ab65035db935a24ad45bbf40ff825960893900585766e6d816a5de0ef36831e66bcb16a9dbf749561553a4e30259c7a153c8637f53313ab1b3ce40a083cfcac129de34ac8acd8ba3c97b5dd625797a83511d0875c4a7ff6ddb68af6800dcc3757430db084a7d4f6e1a016410279f83818c73c722ce1235413a3c6c2935b5da2c43bb0277a9834b9d8351120c9392ff0ea9501e2ab93a1b4877f21b114db0752c286419c3aab68535c828765f3bec11060da5ca0b6b22731b575175f2b534551fc50dc44af680190624ecf5e173f92432d85bf06be05461b23ebd71311bafd7d0a3d2bbce5ff5c0a27ed89ae45ec1832cbfe6c1dc0dec3a0c9b3570d0ec82da49fdabb99ec30a055b402478200c8e894e52586ec030b1abb352c0c2d121cf2eda02a0910638d52018cbb23260be4ba5fa52d1e2c853d38036b4975f1a7b5c1839f76130dbaf4230b2fe83d147540f6807ea4db0ce447e40573e54f7600c9eb88d148285ff8b5fd2353cd78cd7cf1cdbbf795272a2fc4083ae0c5b4695f24534a0432437a959c0ca3205e15a80af44c22f46953baa8b0b383accc17e79355ea8253a526eee97b849073f6354f6c1aaf77141b385c7502f020f698c2b7157505194506241320a0c2812cefea9567ca75a0ed1df8225d9664cbc38381752579d256e7860331597ea33ff084da100941baa4f3fc6f0e4477979b6860cbacf814250cfe6d5ae20c19ffcb65daa03917b516f2b11176e174e84d47b7058202084b5e49b7b73835f20050d7db5083e72a7456724d8d37368c25a108e48e6efb5a6e5cd797db69a37b331ef773d68879069ee9d4ba1d9dff0bc21440f48ff660755f57bb5f65403a16e236e32c56c2ffe8c153dc95fd35b3acf7477ad350fb860aba4b0362e3df2a25d801662280b260c545f5bcb79d261237a371b5e7cf4fcd1d080363d4ef5d9b6f3fd616e7b2e98f17563f97796db6142706a239755a3417001669f4dafeca0896f0a48aeeb62046e935e63e88b9a579d272423f72f4b85a03d9523c0fa4bf52fe217a8d9a11db2fa603a0634fb46a6df58aac57a54d2da08a93eeed3f120f72332ec0163bd5184618861e081a813397bc3cd17703f8176f5406ec6a604eef51cca8649091e6b00121e4cccf626f29c886dd17d732a2add70e58fb93998b8dbeb2f7b886b31b55711b3609d57e39bc4b1540c911bde3482177fb1e9dcdd8150314850d671cc6fe3114636b5bcdd8dc763c354795d1887cae3733c58828d32aae7875debe5e58e69124f987e48ed23db06b121863dd7330241748d85dd892c0c8afc901332e8f59959ff1442fa306905c7e54df9748f352c096d3a8e68367b5c5fb8a018ebed6621a11347bb78c7565700ff4fb8d7fe4245bc752a3f751d10b874e7b0c992442ae214ea09ae866e48404087219832938d3b014a0916aa6d7511e4623735bc7bef900064f6ad1ec4bb3c218653b69b05a79b68775c5a522766716a542c9ad245a24a21653c5acd358af8579e6aeb6b92a39e88e12e4923a992b98d0e310fc2b1c774ebdc36b4a3ab2e085a60328093835f7ca05118912daef27442efc9249bc945447306e64c878ab0edfe95ed1dc8d460af8d691bd461bc71f15a253350e5f7129c618c4e38f7c8d3d1d949d9bc265da09ccf25c63d0b12dfb0109f545ad95df60aaaa421e8adb5e3c9681ce9c0d51e1ce88036ac324c91d3c1e237903df6e864cb479961e5eefface237c97f9a651100e499820ade03792a91ef0397e0d2da702a50dfa92bb91d980c51fef72dfeca226b96673beb24f846de5a962f823bc5754b82fee7a4fd230874ef38034bddbf3f3b70ca069df28f6269d1c559d8f11dfb21782c3b5a3136606a98a2cd9cdb71b35c6f8da654d9383aabe465c96e0e74ccf16106319fef4bf79f0655753dd1eae7b5dbde6bb00e7abf11419f5c0f0a0df59dd0127af50e0f12911bbf7a2fcbf5e9a6b191b1b8ec87cfb0151c9ddacca46414bf55602eac08055e02fd81b8614468bc91063d011ba34f1e8d8dac7053c724b75198ee6143563d5f42ed7a3bea0e2c71ae7e0fddba4e928a86eae7163c8cc22432d51b55e853658c3f931307fd6ab99ac024c4d8f7aa0e231b2c5e7053376fca670bd0e89cf3757deeb619f5a5b71317d8fdd4f6b7d996e3b53de9574452fea84012334c08928c485d17501a30c4401e0b06d7af085186733aaaaa61bb41d38f3253b39d2b35015ee0e60ee5212324e4512505cfe08ef232d2ae942881b374fd258cfdf563238d991887195c3ff2f4e3841bd72f7f7e891d57d5fee707df94d511495edbe2f30bc2b730084de0fae8885bd7480fb1455cb0402f86d73621785b13dc9901cdae640bea28c372eb161bea11821301ed9010b5e4a81d5150f124be16cb550257a61c37655f7e868e682183a1a8eb1ea6e5d0b4a30a052dd14373438034427737d887cfa642118793841e03fa32d1673336fc00c509a44b707281175f5b94cd2cfcd8350026f4e248bf25cc3145b7946bd70b81086f069155e1085b570979569ce1555b6b5c016a54e60e0c5038def668816bd0b9eeefc77345072dc0464f19aece10c0928ab3c41da55dae388b1517086c75cb53b8e4ff25a3cd7e0c0069cf5a0b8597b275f735ba4baa51a0292b5c03c6e5f31e0d98eb01d7fea80523abb7ab91113483108258bf978b3ed35b114673afbf86d66d86519da98bcb80abac77362a09197f0bfcc83ceb7bf7112ed41b79cea51ff221910001f08622f1bcda3ac0b93bd3279c8ee21983432e210163067e788cd9e94f1e3e8aa0466018d05a3269dbeb23454e1cbbcf376d523db86d3e47bb2be551e7a30c4f3019fc51761072c9367ff57a909fc03e80d9f82817042832f91322ac428b669ad64239381ae59d8d354182ad4382bb7eb53d4b41838b2fc8a018232864bc653f6f8e0a1755cc1b93899b50fdbad64837545e403cebc9a85eab665417abeace9278cce2a07c96d7c09b24cc4d9aef98e46ad06c8e8164871a57523c61d5f7d15df3534159f777d1b4c53a8f7f00d449ebe707a451805012050d180ab6a64cf7ca59646365af41c3e8e139f4d77286b378de887e06f742954b28c3dd0e7c6b8cf8f62b6e4023a5df4ace936c7ac0171ed18187737327c01d6b0f2711164cb188df8e22bee44cde9386cc49abb2fbd8bb62016ba52109b302bd5d0b317dbc3ea33979d7a5bca9e17a6451c3be960f4185ef92597b89ed27b14d4290c7e627285e3982c3364195dce81692e2e68939c3be0c3d6b9ee5e0a48d1d45fe41295d293ed5c98afd6765580c618759a9461abac72850da9cc168e151e55cbb712533fb304ca208e885f8376ad18ab810ada3af0c9cd514401474ad67a86aea3e7f8cd4fb560fab805012fda3d30607b8002e1fd3b6a8a91f0fcffc48756527566837b53789a94172cf868ab54e2e70e9fce033e54e613775c12c7c22e58b256528e119e71040dba063cf6014504574b06bfdddd4f8fed4ad4a6be9950fb12954902abb774411e3adf11f204a5affb49c99a52eb4f85e452d0797fd93f2310d7130c81924702cc2373d2526f2e025be38978280016f28139df0620016fe0a055953ae8e7c538b0407e1ab1c143abb54f915182f5962a40ccc4b37f1df2641c2d4d1c957c8fdcbaeb291902f16281e528ca714c87828486f92f12961f69ba2188c0af73e103079aab25ce26701d33bd3e2a45a4030bb9767e4711725fd5bbe96061abd6fa8eb204a9376d39f3d6c52c15285e2e739619ada50901ee1629a0edd5459a56b46df61616c216d4767d472e4aeb1f3350bda6cc058b89fea51d304af1cb29155e4bfa0be524dff2b6ebb62ca9b6c0a993cd0ccea58a057ff7679b29a0d90e25c4ba4e2bd0d60ce30435c529f1ae95218b290fbe121d9fc9aa10c3b03e25d02bac3e1bc4883419d1f849bab4f1cd68c403bbad3b6b12641e71693a675005cc1ebd20cb6016778607a15bd0aa24159a5bf02f5a4cea380d9d8ef53b1ce3705de8477f88fdadd02ccad4b24236e5850142d19abc138b096c078955928f4e277cae6f571f3f575a1516a3cfc9380f15c2916c60a8161c8d863989fcdb8edd224d5afbadef13fcf77658c1699f7380c638d15a5f87945f4608ed0fd46e6c1cf88cf8991d46b597a59016ae8b39606c2bef2d8e46c8e9e73fdf2bbdd687d6353d0d4b8ab0e28bb5970042273f317d36ac40104b650467967eb722b6c2ced7eac2847f15eb5b8e09af184dd92f88e28437cc240a9d4b37ee390dbffb246f454803b04fb8e7668647558a1d6fbefdc70ae9735fe145a6f6ed597be0097e340350773fdc32f5b1548d810c66b7a7ca573136ecdf6c5e1aeb59b3f75d32e94cab4ccc0bae7ea148d3e3a11b7e1eb7614a7c9711ba36746978f5d80b03c05165eda9e43875f977a5e54aec2b6456c1308fc2153636b48d5bff8d7c8f8bc9ebfef2a84037dc87e2aa7643f61608b9083a85338a7652dd9b5bd99c0302c7b7815b167e90827d956b3e436e14c5abbcf48882a1b20ae44a03d9188c610682d97ba0af804efe4dd9de2219e2e8785c3a827d53fa59e7b2be1c4d2207894c349852a32723c896fbb7700f3b895f0a9cf87f3d3ee76d0dff924d301cd60e327108bcc21b3d5849283fc9045ca998edace7ab294e414e8124c0fdaca164ad0c5447657cf1f213879a077584fa1748274140d027edb626e94ca67155cd28ef72444353953d1dba0678455cfcd8ad040169aa46bf3708ceaed250176b637de0f22a8bed3da94b56b8a3a3ddd0029e34e501f346764dc6e18f97794b8c21039019df346a3be37cb0748f70232c37b01473fa71ba254b7f216c8d4fed43c3fc43eb7def0ce5ae02b87125cbc5989072e602dbae896aaf23f9df001f8dbd6ff4dd3492cdfcbbe607f4f224e01c6656746a98169ced1bd2cca403461910470b2e830843b5b3ec66ea6c5a934189617e53c51847bb883d708637be40655ffadbec3f28d3ea2906c13886922e4ba01543e889127c3cea6aa55c959d215374a38e7eb6e9b4ef6512396d79efaf374d7c89d929e4a001530beda21fb069d94780a3eff30c649f2debb3449d65657af67bfb534bcc59512a63dcdb0d4616b0ed56842c35071c8693f5459f7bdf14326531f9461101af047e23c1768f7d1cda82184553430ffb6e149e61432d1ab298f25520c248ac41ff3715edc914906a2aba54fe9923194e5389a8b7489d70cc38ae367fd5453c5614efcc618426b2969371c1fbeccb6bc8c2f954e951848ecae939cfe113350ac4b57d738588b0d4edf69dfb0cfc77fddc646e1b381190a99f85f8f4499a678a5819fdc1254a77f3dccff5dc5aec790c73bd7e51cb27116ccb9d7fc6a9122d1dc8d4864e88e814a60e8a3960accea0274def69e58d577a5b68bdae843718a50a2aee97970f72e6d4c038a0ed01fbd5e80138e9b7f5512f0fb9b0b87cd17e809ba4c62b7f6d96bd1db311c0434ecf0b0755b403277cdea622d6d2be2de271f162e4318d5af5a53586ec3243adbb1c6df740ac00a0e6814e7e1db75b71af4f6e071546a4d8dabb4fa81824548d241e78e12f4a1beb849dbd0c0f185383db38c93636631f503a82f6b90679d0c874751901a8cba7bf2677172f361b2874d62b767d560e350ca643fcec9140ec4113aab52674486eedae3893ee70a0f2e0159415168da900df410b3379b2ebd5af97e3b5ba88cf1b20f84ad7f0c2a83165e35f4bffd4687dfdc90e959b6c3ecea1424ab20b0e0ab564f8803fdc2d00edb7c20c9b9bec188bf6028ad9e305219c75527aa95cda59c673375d1d719542223ad4982214434b7419791a69a74ca32ba697b1879c55525b4c7c841f320517586c93ab1ffe55946ee478fdd5bc11880af0af6546159e916ae8759e47fae59265b5ca285731ef4aadd1b53eb431550957d940ebd3a9375cd1a7145964d52a7a0d3e25ce0e19dea5da585179d2e080b7d3a43abf7595b2955b1260809b767589d5b40d65742c0738de2a82362abb557bde1022e36705790bda5e7c3edac4ef00ed826a72a7e88ed43b08584195a2cf56fb8e158faab087569ccda9c31bc54d773fefacaa2b029f680369a430fbc5b33ae116813fa639b2128158614a24fcd79767683c374330f7c49234a358687e96c420b8326e100e57a71fa1132e2676edad6b85125a0e483fb2e7602c5120de4c7c5141dc839339258407fc646dc0227e575dcaa56a8517c13fd10cff9952637821af43eb92882d3bc181e938d69d8bd7ab4bbad4b8eaeb261defa5f6cf8586b3de74ff7f3f7d06305ca5cd0a2bfc7d8e474c50319e2cf00e2d7bcb02c415360120d1134f9f77315772e4df3831e99d87942fb5018faa05fc8b7c57b8e2cb242389f685f84b4c53e9cbb56a91e00e84750dd5467f80ae97e6279d639001961c3d85b95dbf756f0837dba26bdf994b1254744ece5c72c9ee49266ca90249b8bba80213633c2dbd4ad1a20781d13bd5d09a824c112ba7541979ed5b5934678141463a0e54cd377255c6f753a4024f2504bda467496e4a7e1b1e89984adff29da44a5dab9ad49fcc0d7ad71077e41843c4c4bf1ecf4bbb24ebf5e2cc355bf6abd7cb8a9c44f81ad29c80e4d9328903c0c37929785470d31310c17d6e5c3c7e3b79b42aa3ccd2c9b186bdfaa2396dd22ad2eb318ef06db36faf41ae28fd1ed69d108d5f0b4970177e0fb7fb81f5df8afc2c648409b88d2951c0c332b1478e4aba74e93ba61e05b9387a74bf67dfc5eace86aa6989d8bc155f1142d2a82ea3012217d509b073b0cda486c762d284d0e961f99e9ce2b2eed5c2b166a16faca1ec8ae2a4ab2fdd5e6ef90e232b2378ee24242a0ada18c3a587cd35339b5e8961f4a306b93e940df4a77331fa4645784c67df8ccb7ecc4f90912c1872bc00ca1b9e70320284d0a4a584541faec00d1764b190c54d81568063ac1bd3c3bfad5d90a51ca34ddd083e51cc9e158b99e86f1242e8002ff1fc97261a903fa34e256e4aff64e988d65ebc91c2ce7374a00bc0ddf43a2826c70468bf147510cb5b16491ea77991f9fb82e9536d1a47a58224d60ca953f1ef6170f2c3ec49e08302114d4848c773eeeb7b80c764ae00f7b6783cb903f00cfe4946a4e9fe195e24092e81e2787e54222f4bc791e21b2edfc664dc641b96dbfa271844396b1b16252eaa42aec2326d8704e81556533592010b5c5313b6cd6622a9ce42339e24cbe72ad886fe71f04cc0c41d24fd594307cfc96276293fc8ed44635a54841673e74d0f720571520ea96b39ed7c120da639c12ecad93cddd316b8a2017e237b7003d17aed8d102a521367d4a2d6bc442acf0c4fc593a78cbb57c794bb1cc5f25bd93c4c2e66749ae59a8e8a6a74d88dbb0c8f5228270fde4d668d1a0824e181cca19818ea568e29c4660b772f1f7cf594d0744ae857979ba99ba1a566cd9957480f461818208a3afae48e3b38c1de0b74cb8947d510149170fbbb8d28f58fb4291fed85cb8bf2bc94ac8278bc562cb77c05826df3f61b0c9528cdac0097bb49f54cab2766b7d195deffbf601a8651b4cf3b0488d6c4671c5c1791c2092889ae21081d1abaaf1c277906365d51f8b09f9bac50ebd78f02b8418063046d92f32f4b3d743ea078670ae88a461432745068ce181a7284a777744ba05980322f970fc8288676cd70cf4f8e883469811fddd57a7afaff3522b309a388074c0de5a280e105d21d5b83d0eca8bc069021bd1a366ddd972e960ee8e96bcc2e577396e68e8feecea4b5d036b87deb1545ac01ac3e7d09d85bc86e31e58ad797665b878f122138fa60f4f31cf85ccb623935faca418cf3c5b3bec7c869d98e793e479dfc572a098acef1e308f12c797d6443b49e83229eca7d771958c483a1718d5ef0d834391b9c20712f963604edd675d91299479f0f0ef072451063d0f15ef0c041a3eb21b4b303dbf705c28c37c96bb37fba3597b6a562d53fd990ed1abadc5f1504369503f561df79df9de8b9140c03152e2bf71073a7def42523f2e13a6269e970081509340b7003961e0636a98e15494d5bf309044b1b5c3ea307c54d83afed8fb842db325399bcb6c3399cf7f6e3f1df0709f2f3729c78782635e698be30b6cc25cf0b2f99222634d603eb8665591826121e9d3cbb8e9c595c9b41db36a690d16954483e4e5e1ae8006c365954134f3f43f116368c3d8f4f0201b1339dae32c7f47c1f17019fefc168950271d1c483156133549b51ded0888612d99df523eeb51bfe055407d4520189addbe78a710932c2a338654ed2240771cea476338364cec7aee404e4540cbcddf9b6e0f20688a9e9d4071192373d948e2b6f2b794edb7c73de82ce9bb7d570ea1d6c91067783ac09166dcf86f01bd9e77f3fe94fbc81f973341047b42ae63df2afc31c53ae536deff565f54045b44cddd034440da695503a070ca889572bca55c939a9d5afce1e2a320946e551559374bc5cb52228009266f7a7d864eab31f4956090a129add731ebde4efb9ab38ff360952a5c55267a7cf001191538b1c6fc00ce59f338d86f356dbcad9a1bf69b695d4e11b29de8231c913643f0ea53d4ef00a51bfe3922d41e9c915694a0cf206a332cba2c9df9871f1644ab07ab761ec668b2b370f1524d304811d2df11d2e6e8cafb499128efd80fbef0e65231f2aa536fd2cf9b614ff68d8ced4b53a852367a08f7181d6b48575d6f928887fecaf8ce71446730740419e1645106337c4bcc0dd784ae8ecfed7eda0c07001e927fb92f83bb1a8820eb49c6195d62a3db9059d2f448ad318b5d0ef834e0bb00ceae37677d3beffa3fea14761e3cf4d60adc25821479359a3cd720106cf767405b741ef9af369a551cb870bf22900c8fd3fc941bd248c55be4a77ec1492d6aef13f5453d21e7c45a5c3336db006eedbcd5bc05d83fdff3c69f34770949d19ffc4cc23c6c5348ad4fa1c4ba539c6d806ffd03cab1a1ce4bb3ae6c28ff0fc9dd1709ff3dc46a919d89715d9cccd4c1161264a8e9d4ba71517343cbdca9f5efca334679f21006fac5d6af899fdee0c7ed8e330f17150d2f7407795484711e218dcba34b0771ea3e34af5823b430b8578884648a8577a9b54b789460631e5b2635338ce53e1c4b8a6174850b63e005b087f82901aac4ffaf7f25cde918c83fcf1fd3e971ee63bb018fd5b7fabd2e617d7b083401ff4f0782d5898763ba613b306d5ebca6829a4e044b60838e570f5406eae14d5acb415e6b95730527a984c92568babc961a7bea7459f3c20b0fe403007d38df7362428374ebb937110a57c07686a6ec634936a9ec411f51e9e3c45f533742773c12b668420575c2e91acaa2409e7e9a0d6473f8d1d9f3cce9850ba89c054c077bdb15beba075f03079b58907b0b21fdb661da417dd2a0e0956c3cb840bd84f4574637cf1f6dd69e4881c9b905a516705a2858a1c67d0e22f1cb32a607e63cdbfac10569fffddac6b6386fb191610ccf3b4b22df1a3976f4f70af104c0f56f4df062884267271821acbcbb42963278db14d1f3fa9391b793e3bc1709614932c4b876eee1be136db637f767d07fe9f871f4da620c60eb63903f2fc4fae97a031f5de457bef8be57564343fab41028bcf08b6d176b715ece893ebc1f9e48356bc810db356b59bb2af0ef1e2005b4f1913b5d9e87db1844f11c433864b8518ec4ba57a886b5f0e9f7e517dd1c01e5f501da4b3f7f1bae2f2d84ebdd1ca04eaf1801ab99438326fbfda3f210f90480348cb966d382cdb2f4d8b7f65a0998710d0a19b07a16f09b4d0cd3b33273881ec95ba87578ea0f416e35372234619d00cd1055803cb1db03305b007b165721d43a5f8e73cd20e656bc871805084d3bff263bd699ad33f07183ca710ec904293157cfc53978b1ac5600cf8502ccb0f1e545402549d77daf39971da450633b042c89a2ee81c63eeadda53ffff1e9914820d8ac679eb26b58854a42fb71a853fd700e70fc72fa7aad5f70cae00dccd43cef6f7d9835a61c6cef3b284b3bf0333c70361bb54c429f7799b4f0cefdcc27326883ba541c4d69cf4469e6919b9214b62fe8b1ec2955bee85ba902f3b2cc7fc1a022f118e815cf5c53e5787128cd0404aa9e5f5f4fd53ff925d5745cd134407cf08b5803c68bc226132188a56051ac22913eb7da5e9e47c92b6aebb7af6fc07bb41bb23b5a1078f7b2868924aba7340e96a288fd90fd8b6d90498f8c261d8581306b06bc8f7031b7cae47a13e20469cc9ca44d1e6cbe7288fe004c594fa79a78be4024f38b27ec32f0ca171fe65a07fa408f0e18d6099d15d999039ea8b74508c69cc08b4f366755c88902db2dbc1360f413205f26e845b50b98a6edf063ba8da0d5f6325f0b32879b28859e5fe1f5d393e4a59b23488072cf839636e0aad0532460ed89e11293f4b49839cd3e6345f640bd72e4a7e63a7d2e331618fb61ec98759f8c8e8f13114b4796f8583f6f5ccf04e8e3177bcea139448a9587920a0f4dc0a519d6b186cc5a12ac4c0f62dff788cd490162e27e0966c33d2c08347df15dcbf0fdd5f879c37d4ce3b7d489311161f054039956d63700fb7efd2812c76e6a53f4dcb6682aa64c6817adae1a403fe984b3b7291ff3da1ab6ff1f1e04d83090013ec9b75a67357c85ec8dd7216a0e86720b881e9790cf86fe604e1c7faf723d652389abe0545a2d2332c87bbe3b884230d83fb24282d6451585ac9a044b909a969a656f1957a9a0c3915dadb255695d431deac972a19c5b24397712cc11f2f0a01a0bd0e448e1b45af9d74fc4d8b57e666c5915fd64b13fe3989a1d98eabbda41654441f163f799ed186f0cc70a24ba317998a7461ef9fbe6182334e0232c435440b2725a06c78e356987cd01415ba5e08bdf1892b133d224c3ed01946c07bd209565cb840c7c29c1ec48d44b26e8731a05e2f999ac99010bcc2c2865a3831b7e97e21a564186437ece6c7d0ac3ab4c408a3eb50aed3510594d6888f0f9048b287afbf6244a6f4c1f84735805d72f37f28e9fa2e87046b198cf24d529ee3ce4c0ec8f40666e8e2995964cd78d394dc8d5ea4b212b6210046940cd533ec21b52cfaffabea8834bcf777cf5e546a9d95c607f4ca28d2e448957b470597204b97af9f29b7464c74b8cccde3ac4dcd018b5760a18e5a0fc2486370c3324144e929eb03eb45c3225a2fce3bc722740afc9ba304dba4d956328929231d5b1078bc9ef57e72f43f6ed02903b7635f41d7bc5efa0b2b2f0cf39afdf16abbff581ceea0804d4d094beb5a6ec78a9dc7a846e99fbbf12f44e69f0a26bb8caffef958bb98d71946e95bb2de04dab7171a65f2c7855873ae53fd2e92928d49121412a8c34f50bdd17c110d9c720b52a420d03cc2265b16d56d9ce46276ced754a052e5e7ebac3d0bf4360d8626265829a59f207cba8f06e9850c907349858c8523baff22b921073b187aefe2660c037fabe2e4a745f79af871c61b0398a89a4a275f561daf70012e2a383af6c67b4ceb0171a74dfeec0e4db6da05da7bff2fcd649c7c0bd4242d94b214614a9c9dbab589968e0545c8033cefe5c234a2ddd4297cbaa81e31cd026772e8f27ac494b4d8a627bb12cb07cd3a8b854f28747e4d77e018c180ccb1ffc1b8201fd0b3122936a781f9dd19e30f2cde910ea37cd6f592febc5a819897cbcaaf8ac388b1b9bd721423bd133311659aa7d0f570569e8a8e9bfdd5c0dd2304e5a8a18a51a344c22c5b3f6b6e20fef99e481bc0a1b0263adfc5664ac6dbe549bcfec1da47827dafbd0e97586860150b28c1113df62d32cd71b336e2ffb01385a381ea0172b54afc164adc563b7346c4fcadf7829a65aff77ca20df96f6f8c03e4c7f8de37908a6c9f8b3e6a8cebb83c6bc35cf20093579493d186091aeeb863b707eb1d4de85048f7d04837173a3503d8d20da91613fac76500eebb3a61860a70dda8322275957bfd088186f7b50fdc9c261608890d9f927b3bb02167d19a143042d9934c1bed187c47aebf18e275e986c7123c6fc158b49309c8da0e212cc2825bd55fe366ebc133025745124c830efebe6eb4e27f8a92d08642b31e8fe975bd2fee546aa8d89664d4899dda559a74eb9134503d859fd1eea8cc5c230d8616f26505e1106600918b7a75093d6db008f7d4575ac9db3ab2491b14c638f13ce058dc6e746166f136e68469418358fc07bee55336ee128a624b223a42aaada3bd4adc1edbb67675eda9210086c2aa23cbe188b3cfbc5cbc6641ab1c75ac90f318b234dc8a17eff2def4d80dc1ddf8abaa084f4a3f83e6f71bbc910c0cffc45446c0ed4418173391ffadce8c20b4d4cd06cc9badc5f490a21bf1488da19a4464ddf6ef54c2e335ada019e324ae60e84183506996a555afbd5e32b72f5f5ce89217889c80c2be5fc76c397bd2a9c2c7a4526aa5b7e06afddad5c0e2e9c5a3417b9e8e44fe71d600579937142706f8605d041fde3ff8d99a7fbaea21b111f742625ba8ac6f7a18baf017aafc3236ab8617fb7d802c2a4c846c9b0821486c3de5a40eff41f0a0389a35018c56c559a161ddc6d6245514c93429c84b5bae46a2693287052ce32b0d993ef4ead08464900099185a7814dd28a479f092205aea642b59d00eb4d3f32d7806e7ac7a920840b13ce4065fb4c25653f7de213644274e0e8d0bb52bdc15db9ede940d752d3290a57d26ed45d071c47a7a84087d8851f3b7707460db6fe70d501f394cb86cb2bc6de605e82c5339933585bc9c229d5078db0a470e2f968a32ca9f5d47b2ff3e1adbe8f897765b2b9554c3fef1ed5299a1fb9f0a5127aea5b5ba23a812eb3b3965be7ba5709aeef6f784219eee01019db410d6133e2e6dc8062613bc483fb5bc3d62480a1fb06d58aa0d17e0ffdf54efea5c74812618e1fd2b80bfa3d01122b32262725c5c961e980f37f8a597978295bff7c207f1558250192c5c36b8f35d871ac15b7ad33385f4c291d66c9394c905bff00c2abdb29656a09e76af2c6db017aebcd702bcf00ac2a79dc14adc8e2628fe2824ce6437ad8990bcb1cfd8e41dc7ffb210d18c07c9320cad7547155e7572208683023f98865b8b9f0ae949bf6aa93d24722dd4350cbbccf149ba967c2f71837f524472c17f9d5bea4bf297423ac565536613181dc4da9d6d763015ee044a381d7adc1a6477164c8e7f41f2598e4118e12b00289f590767e5862cec8dc28f861ca9024e6ff7f8229a3043585f63613214eab0641795cebaa0023dfa6bfe208e9ec5a5d7dc2b81e490340a292472a1e0d97010f3aac2f1b116ffdc53bd24170150778796abc0937e42fde0b4b2e71c90630ba141255a75d2d3258167ec986671c39e19553cb969c19c0a75f7ea019f5de7245acfede63ba682de3e8451aae6f2047181dfdf837f9df9d4aaad4baeb8eb245c",
|
|
11
|
+
"0xfd0313117f0e87174c9185ba198eaed4c40a38b4cb70b9f8d61829a9b32b14def2d42ce2b2603426eea91244ac5a553f223704a096a0f623746c0a2db2f3ee6f15242995c7c11addac37bda4dd02b8641432cc920ce4f29b0bd05c741022b97d8d230757c341d94ffd56a59443f9464b30e95033c36c65663aa72473625489f050d76bea06ed7072f44adeb855c248de8e7f103984be4ea21b592c00ab6452da14db617414e1ae96cf056adcc7f6cee32f92b6d15f39ea8c12d7101180417486990b16a5e4cd8a9e1300ea638e5f328c008d1782e9d70aca08acdb9a4ce5864e771a67db14e77856309f5e4e80a9c952f5e4034590496a43d97a9100d56351e31b3217ef3ecbd6d7e757b78b6c8e27afa8563ce0177a72887cdad1de42794c9772810e1d673a4f60afbcec196f8771e73c63397db280a5a46c82a77d061be15a06d634ede9aef711469471ad43c6a1b9a4e8113660e3ddfe1663a334c0a1b5e85964a690f72ec0ad961fe712bf1fd5cb1958271280850715f9a074533f3f8f4577be09f4f325b9f366ecd28e20c6a3d98d4d4af2b1e013f5f287a2fd0d0537b1096014a147bfb3928870ce80d6f432b6d42c186f1202de069dfb0cf2272a95e93909434c070e04353ce6c9c4821aa2943d3f74c4e8ddc979bd91c50cd501aae33ccb06ce3a2fd9f2ca00edd95879d5067d09510865534585c526bbe57c2bbbbe77feeb5ff55c975fd0ac3018697803b04c9c16bee9867f47bf0af96ec634ed325ffab3bb658ffc251ee42df4059978ba63cd6552133eaa9f3383f111910f489e13260a2161f80f57cc5df3c0c22d0bcc9f0402f79954febe24af7d9554dfbf55381835a5fd93933abc076be4ce3af053b4660acc0c05aee48b2576273fb1c78a0431b95b67b7a4f61519e4a4e379646e3e56257ccae8a292624ffd556b4847058f3d06915b1cf1601e7bc8377211eaae834de0dbc5fd25b45b0cd576fc427ef53f98351c9fe2b69bc19119edcf89df2e0d6603fe087e2d52f126413aadd14369e3d3fa4f709bfc92a21ade37e2183af61be5afa1616419caa8e2d1123784206fa4f00e841268105efaf445e6bc491b46f04373b38968a386f59cb88dc4e9774b02db2bb97e10c8c740dffa739a54ff9a37460d12d2bf1160ad43bbfe4948854b42a079e2cd580894a83e8a623aa3a9341d9f4a8cc7996f294bc1928a8734b5c685fa122350fa6f92f6980e44e8a81436309da6ac662a72ceb6f8f9b5df8faa8e38dc520405ed847fc77f9e917111660c3ec60c4eff7cd74c4c12f907c117f3c501596119344e13b20ff3bd81d84c5a224b70589c856e9a24080771ef9b57a45eec5f0306eb755ccf1687c8dd3d97435bd1f73228450f04bc0c932fee922d2db004fef957e82d407c3981127169588671cde60e2f56d4fdc20f774483f3f1ecfb3ac780c42c2727c9a42198e5299a9b974f6e0d61512983674d9c7ff781207638cf9115f38c2afb2aed46b8dc8e4e85ad35c2d33c75536662fac76cfcaece1fdd1b580d12db8edef1e943c790d8bafd1bc1bc08f12b07aa6464d8e8a0ee79e94c5e25b96e8e8b24846530e8c040f51a7d3a08280bbde0a48693088611daf42cb6624d17d5d61f8c44734a18a917f5f733655464019bcb125eb8659ae933eae575929b4e542c514f61746eebfc8b8d1796ea930d5f4554458538eb6a73dace01a16f68bcfb25d04ac836f7239d64c0660f5bab504d4ecc93277204d27051b1bd7a66ae041429b0485a7d358686dad8c0086f3d978a44a2c7712aedc3f5ba16c071c0a34ecd28b84b658ed975f1bd9117d4668112db6652c14a4e157716338fdc0dfcd9b9eed05ffc06a28414819672162d52563cc3e7f3c70a20895b7d442c72b345a40d57a88d724bcd37d6d795298a03a4949c5b9f250c7b0206805a4d9a273a2a07e25493271924b7b89a3a0af25ed0594110e3b0e6a0e9f0099eb7ef75a1a506c9c7a7bacee6487fb5013d625d16eb8b8b36d40c81954fb8b443a5ddb9902c169b0fde4868918589c16d0d96eeae152f739080d591620c622aec7d57537a2c142c44807b8c5f47e16df665dee1a9ac48e119aa6d1f28a43a5a6c7655ec1afbf491a45a51d0a37bf291c799285b0ea6a1c17fa2eb9c3276401efd292eda849d877e07fb6fabace41541505bea6231ec3d50ad78f827b6cd3ef42503100a2131799c2e2afac3069064355b137e62a51b285b16c6a5a978cbd67df2421497382a2eafcb355ae14c5df13cd2a9023adee5ee9752d285ce9aff8c8f2039e419eda79e5e19f048aaaab3e7fca5d9a75b4d58c33fa93eaf03d1af9c20fcc2f12fe8bf66b69a784d1b142b658fff1756c1680779770c9d7809e81f30c98a5c6d697638efaba4ff511edd2fe7a1eaf032fdd3dd551f287369577135e4e783b351f5e079ecbd0701ae6637210d4e8e3923110337727c0d4432dccba1e66cad012586a8b16ec4185543b3257435c9f4b5716abde0fa2b01a240e5f21636c98e5be0fd007b89e1116364aca686f2e011a55c05affc7cb2e82c7ba83d8b53876d3f3d68499e6c4e0011d7600ecda74d73e66eaded1bc620321f19c71a40dafe5bb462818b9197099c4ee3ce52ece9df6cc5ef9182eb29e90d5e3d22d6a668bd2c650923c49e9e03a8510a055f3f0cf316459ab3182155b9a0c91269780ecbe6186cf98bc5720bb6111073f45e31d72889602f9aaf9daa869ad233261eb200c0917f34dc88bc42e6e93900a8f56e78e0e5de8f84d39eaf94008c992f65b02892ec13193aa56279e0ad08cdb29d34aaf25cd316fe1e0a160fcbe10571cd118cb6ed47aeedbfd063610d16b82fa313f2d25621af9da78ceafe752e082e734287ed5d32d23eda61cac6587ffc40b3d00f57ed81f7f0e3e8e5310ccf2172fb69a7c62c326ac6b5aec9a825a482b26a480701e47cca0f0cf94bf82469a90d5d30e97fca8ab1671261c4350ced402bf2fd0324cd6d25058c4132a40d2f1c08d3724b8696fb40557de82f6e63d44e97491e35af65dacbfc0becbd5104cd80ae353885ffd564b9e87447336f583fbcd56d55e24ac86e9f40c3c25e30ee3850889cfcfe50372eee365e485632052300eb6dfb029f77007000d4f23ea30941adc8bdc26286b382ed1ee8f15d88198b6863625463e41437abc5377e8a551025fe99263a30bce5631abbbe5c35809cf40a5ad59caa86c36b8c720d2448732e9e93c6ddf998d5986d2895937a61ca190cb3f2eae30392c7e09a69cf60c23a4ba9952d13aee3ab3b8a174f22da6931bdbd3a6d0abb5602254ed1e37084245d194d8c2e4e059a3454fdb8d0acf94a96806c483d1dfbd5c332ada032efb971b27b08e5f40e0eda7f5fb394a8918b5f481443c5e30731075d982129c168c7f5c132421fc0dcfebe46c82c173b93c5661729de10c0bbf1be2f126417b85b57baaf04e4358c0defa44b6ed427b682abe38335c4eec844a7633b40fd579ebf7fd0165145448257dd827f8f614af5bb8a6c9e0e9cd41150decb43a34f8e2b28ff4619c498cbd4539da1586ba3bf57151a7fc2c41f2a82352a28ff91c92d1be2c4d5780978bfec8679249ee1fe07ef8686f26497b94f199e8b74fd5245a1e50fb37dcbe79a51b281d061dea64017d5ba97719206494c81f66697d76c58eca0c5a145b03d12134e90976483d2aa9d0d8f7a9fd0f0688297f631de2a9fd4f0627a30760c08282e020ba0a599e39e420e64e3283382a3f569bfd73328f2998769b5c8dc5cfa8a36afe83e6b0655b12c5b5a31ba5a0295ffacec158e0026ab4487309cedd01b4d13218a19d368e6eb7aed98f239e31aca8b9fefcfa062fa69b88dada1466809f336bfa3ea8c0b4c825529259106ddcecdce631de64ebb7b4c6a345d74d3fbb345cd176e02a2ec904b8df139833b700258833634ac42fa75147477b92fcf7be252f235e3317d894c7346c769017f2f3551d17a0351e412ac70ff223181f41808cd7475f1b0b6d21047cb1baacd16cada3dedb455e04b8b4abbdc3598618c94ec7b32a98452a48f777a8dfd3e08dd7015bc62164a5a7f800f4de233d61c7d060ebf84d4c161fa1d80a0d5eeed4346e38429c13858f56420dd068f1d08781b7f0841180867ad2264e62c5c2d3018def1cdbcd5d140c5c57471da7e2ee0239e82bbc9a70a27990e6e347618780476152316ac107b5f965da749cd39a3175a98d596e1df568f9fa39c51abce5c1ef3da427d7ff7f718e67a3a7f34fbd063e5c1a903336fb574808461cd9f4eb76f56e3f4f194c9677aa98e9ed8578f18f4d03dcd11baecafe1a8f9970e5778aa7ba1790c14662a6aac082cce219133fa9afa9af410390734fbbd63e82dd3fa9431c284a99baf52d54888f6a1601e227b6b6d44400c3b3b4d7d923d811cdb0d42f68782904bd5962bd92433c636730795e4c32f2d5c511739aa20bd35086540c316a29b6b0b7629825fe6c1b8b2650500e8756c7a4b825b2e80570a7b66d058555bb68f05225289c998689383e371100fb133c19307288b34d6a9bb51611866aa4d6358937ec447ff5eee30286f7530afc0b2168d94564a327ed94176020d333b3ed6656d0920ea342bfd3bc5c9f876b19f5cb054017db62e268ec6f73f3cc3a2fedcdbb71d7bb02479f3123b3bc2563e04c952e600cde600e902b5a575eb73033c0de4855d8301a01deaf298d374f43d5aa503ee36a80d44bdfc1611f85861f11bbbaa7a059cc6aee0259368d9392103d5c8a829fd833d2a393066f634f72a4bce9a3c7877a8959464935b90d81e9715cf2cf09913724b502c5ee015b1dbb1cff017d8cd7f85e5e507297349975ae0965d2bc5064df03e6b943a32d490fc87271ece8a860c1b0df138ca8650f2c702324d8bd9e497f179d92b7b2f73a976733f014a05eea48d2bfb8fd160d82b5ea56cd50b796c19639e8f1c86a14d30637271152558c10438b31da9cf79d45cd74b1d0fc2e499dbaa21c268072a7e779c6932d8c8529c13f2a923ed07f61b6df0820acc69e569ebafc5fc5ecf25f53d9a7fb5e68eb09b59eea39a0ec1ba3d2c869cc73bba2ecd0cb2864cc5cf6bfc7627126d01364a4def4514223073e3763a0a5c1751020cf27a27caa9e5bd1c526ba5977225a6e54b1816922555839f036303f5201e7f18dd35170035d83e8e1866354dafd806f3e91022d48d32d9595d68c5882a3e283c090423b382fedc1899cc31dbaaccc2933549f4a1ccccf7b9c8b25999fc775f8751b707e2505fbbeee60e74aa0881d2769a0c04cfcd269791fb39296babf8184bdca7f695b2fdf075e98e5036c59e07a48f52963408f52164b38f8a302bdc267c8d133f4c113316bafadea96b60e60b9a18ac40dd23ad68ecc043ef387744b52637a985f6ed3d4af5639375f3f4240d2bd80670dfd1cb614ea701f5486eb567f23a18866dbd48436a943ab38cf6a10a8593d69285f3d29ef2469dd88d13be22d13202417680157d7ba58e7380188b61e964a71827de5a57f4f39f51cec0579934c737e842032c535e029c3f666c5c3081891830630c1aad4e49625a4a63b4e8eb4229fe474fa734862392979b3f618bd007b0586b10a848373476edd26a3ad24aac1032f2e2fdee916ade7bac2f11fb54208123011925e03646604245f3b3b933c7a7dd4fc70543c675c11a45fdc11ea17111b4f8ae2f61fb5e613fa50482fccd3aef2da437b1d6d40bc541a9740680b2768a5e8f8725a05b62b3de283cf6d6dd2e1590cadb9d2b3d13733f9aa6c2d4c2816a6d70c481bf45fe53d43796066a5ee5a0bef31755c67a95d87667ef23930dd20a997ed660888a22c668fac9b4a5a232aab786ffd636321c4da3cce0e0d7f89df4dfd13c03560d1b2bfaf94b6f18b2dc17e2ba85fa0382c4d832156409465a4d014451604ea986819e8104eb45d09d6c6c2493f36b6cfecda962436a733f92d80d1c7ea225ffb1f4bee2a7362a06828d99dd1d4cbb3bf0d03f944fc9444084aefcdba40b7b8635ef933d012d2eb979bb186d07bf6ee5fe3df9cb3c9f491e2e9935bdbd0492a07810dd4408efeea98eec47947c00f9f64023a3e82819405cc6a017ec1aed967d64f51c8f41d8d5a24ff5fd362d9c56d7573ac8c70cfe3d1c95d3d3b291da073245fd4565ec7d7a0aefcc0419373993234408628b27072f2de4380e2b4e5620848a6877427ab6cd6b3014f7f308a447ce3e4670fd12cc6c68b87f0948cd4b57f5b754104bc882b6c1374f19c2b9ed8e112b3cff373abd613662d5a3552158d97b826a85ee5f8d50fa87bc0cca858bdcb1d1470b6f5f2f0b9dd45c0cfd3e62e059d0aab7f0c085695d171c3a74fed52a79d29c60d73fea7e2d4b2c0a976e477080b4ed58d0ea48b062359fd58278b256fffef3ffb31370649e8b32ece448b0da258c99b2a5e7bcec7cc221123709af995a295a5cfda0fcef3d2eda953852cbfa807c9699d5bc00186f53df18ed74cdb1af4e73f2b9bba2af992f7211c4697a1c81baa5d8c1fb36fda902a54cbc670c76c6077914cea40a38ab0cf5ee5e426c18a109d1ec171cab0288f2f80448b69da8831727eb38e7d99ed805780da9d41c263249056629158012f91496628c4f9cc34fa824868538d84a93202501ec4c3162f249532ad3c019b1ac3c89916d561f73413b8e6e4473af6ba36ebe59bbe2ffcad04f2c7b8f056d3059ca9d156581f99611f1da4018ffdbecdce4d8d04b94c0f9053bb482a7b119a036c39c8f03ab31cd4ef17e9f93f0fd69a081ac0a8533880ef96995d760ca810b56e4afb6210f02f48403567806695367bec364546239cc2373237ef571286e6d30444a08309eff61d9dfdaa78744ace37167c0cc50e3db8da80891405842f8ae5167248885c533c82097f12d8dbc70eac7bcbf0012a210eed73eac1eba268503b8949847460505589f42c298586a19d371e54fe233ac305829614b3703caeba022a0d307edd5d781d1f5a9c52fa14ea0aede548d8d61efc1da369a78a81654aaf3c509fce2e399f79ccafdf4bf209efe56bdc41902741ae1531f9fad83fc02cf8229a80bd037c2c6330c61fcc38e7131e2479e9c4b1ae68780b82ff798b94c49d333af0684e07701aedf4d10cdd6c9f37b7933a1f1a71756276c95e8540dd47d8010be98167da1479a6617066e1d3a5357352b03387d31387358fcce3e53cc521b49c0637fd3ad830f3d866bb5ed117c708673fcb79461662d0fde2fb0fa83dffaae210bf26bad4bcf000b2e4ecaf9f401e2b192718ab88c020dcbec6a74b7dfffe4db4cdfcb4ef1dfc822d6c5305fd10dd3de0f1ccf4082c151239bdd20da1260e1a7f22bbc207d2960d907d74306cd25b973a42d186477fe45cae7f282bbe36b2fcd10b96d85578467d411c13cc2de44d986496f3a5175a8a79d53e7c16b21c044190050124a8dc318be876d697ad8f260580e9f3e34d129e452dd75f1251566cc86dbbde5da7a58e10ec2a0a4ec86bc0da9ea23bc041beaf0eda11b272bd0c5c80f12d086f7fecf1eaee879c3184d9414e30d0fba09914cf7c60a1d03a8363fabdf9fc7427df84e8969d3e99b33ed4caec40a7156967a3cd6f301cd9695c69805b3c08821e40c1022fd64c5175c83c1d4673214c9eb1d3b798585f1952a1b2c348d03020f9bd52dc06cd0fae5d20d48b0c9ddfa71de03eca80ad68dc8394a2a7d8ae4c46c3ee3ab182eed6c23f5096d695e169d0bf22cbfb62641c102072279df309e3603da9c1c70e45bd4bb6556abf94b0f51079f81a729cf9ce3bcbe4ee8ae2818ec68c38905ef110bf8dc47576ecb05373103b58953a970cb75f6c1828dd95ffc725c65ba3073aa4793e8775244e82a0bf27504edb580e2b619e27bfd9fa2ae5a6fcb0475c79c4f15fb5f869bdbaad9c10698955a7b19c3ceef0912ba0bf2770a5fd4da2d9d04d6f98926d759ee81b65fd29f5fb2e3fcbf01def5c06a8a86b5cde255bc4d0fb00651d39e5d0ff0298b0a3de82a145f4adff064ef686e07f34304090425fbf080636c401389d4c906c0becd747965d16dd7bb60b45aa8d05de60f1d6ff143e520f396b279bd310d6bd8e721f9e22913c31e3608a3a6ee80ce3d2ef5183a1644fabe4f4c93aeda3d268b032378a8ffff2df36f7d25c136437a02cbbdad0cecf8833b805d31576843af2fedba9251e4a86b09595bae61f1e444460dbbb025b4f57b84310326403ea53ea8d19a7a6624c691c9c1971422ad2d3e215a39de9cff0668a57f520a41960daed316e90d9fb449b2d72523a621205bdb32fe8534a8c409182e586d9028dc172dec6563a987556be5efb1b520f7dc53cefa0c53e395f1c88ffc84e5f62dbd0c22ab17d61901a82b7d38ed5385df3dede5d6684dc7fb6e7b1a454ffb82a6a1a4a5e810b1d9260b5f92d5c62966d5d79fdfcb97409eb78e5d0d6f492ce0436c4f2d7bc4f99b8011206f5ec9a236ba9ec6d0ca09b754746af6f3876a51e4a39a383b8a188b7af427614815100a54aa58a03b184b39feb755ea73579d5295990a95e3f712aa91b5d785952cb9b567c45d00edc7c42f2bcf57fab0646809c7d3861cf797dbee7408b3183e80e86edc01dd9c475a0186b6deb7b9fef63dc51b34bb8614e098562ab248dbcaef7dc62f4156015baa072ab0c3c75683454de45e1666689315115f9e514cad1fe4ed405e28cd6f77317b234ab28976c25e6055c21028965f33761fd6dd4ee621abc2703d5981304b3b0a8e1abbaac61ece2643418d71d7e2432840c601742ad3d082e9f91e4f4f83c1163212f959e7c8e2913d72839aead96c184b192e202ac1e74f020affcd1f8a29de7061b722a1ae6575a71250168164a82bc30d633cf91dcc6ca2260f118df8d9169a3869cd38d4cbe286ec2f27ce3f7ec752552f4faf317f10f83301a8609a971b478fc2d8cfb7c931cd20ebb8136cf2064965ec57e04f1b8494b983bc4cd19edbcd9e2911a934c9773d104e8ee2d36f9210bbb63444b156c742a3f409f9b7d508f19e36f26d6938249269566563a646f10d90b121ad63fc886ef409dd6a46a4368e3a385fb7e86f72e9e6a6cd7f918e19782de3390ba4a2eb2c9572a3aba1c37cdbfaf81d26931048b1f4b6d1bf09c8a08cfad4851090127743b0f8c5743a1b0e732a63ef6e3814ce5c0601769f0f1c545b06d6ca44eebfbe71ef8b720b126f6dbc074f35548d8d673836288fd692e003232dcea971c07bde8cdd82bb4e22ec18691538d6864ed0c099c6eab43463cc9fc7ffc2c34e8ffb388810f8c3092a9f0ddb3900c24bcfe20be4f19c0a428fefdecb7773119e019e23ed9eed6aa1e18d8b6b2c987e86e87fccc5eb5ab261cd9a12358e47c57547ff28522ee0e50582db9d92d1530cea7a28dd49c2f58e30cf2a1e3aef8a8ca9629f46d174e3b945820a13053265b506e88698f66393910f8241f624014b20a46367740a98031deca28eea02a6f43cd63267541a56d22bb3057b07e54bf81838f033ffad761f3137be909ccacdf70f7b85eb6c0997268e8f5f90ff99b0629fe48ed70bc9a074f692a3541905b334bd5860a1054b8a6bcf5b66af0fff94acccd17a8b84eeef8f53fad82ef0907b927b1bf44f9f0111d95018deac07dbc7bbcdf4f8eee13a77c85715eca6e8667bfdd1ac681792d8b8014e4b3015e0b6467f3d57a521453169d1306b3c46070906ef4c4b8def842ad1c94782a0f68258e3c5019361446cbde523561fd5cb39c519eb667919932c1cd046c25ae4d3096844f6e5e9d3e542a7a92aad2566e37a8bb17bb150ce19ed04bb8b4bd1fa7f09e54e34b8f38fb724de90616c1d90da0701256d91724a334166086f96cf3534e614a903bbc7fe2a23654341f08e745a986c82dd2c0ed66ab6d34fbe2fcc07ab02a9e361c3532b62fd0cddc0b3ed42051a3328e2d15107ff001aee70b721c91b5b931d6d90586f0face827b8c5ab48fb195b870e2e74374907ec922550419ac7e5668238e23019e9b5991d3a4cb9838c81de187241d23d64ebec764aafa5d5020053104a87c55718108c121fce8eaa05776baec75fafdf3869d878de6d0f410543a6bd99e83e6969c3930a5a6b0ea84d0153ca5643c4f2b5ac68a2200ce89b3a6247d21513704df58b4c8b04ea2c148007ddbcbb516804606a28579471e613ff0780726390ca84d2bb7c3657e891764399e072f5dd1a14d23a4d31a2aced4c129eaa8a08cb8de8dafbd8f18169d980680dc8afed925b5534c7a5b7afed0d1e0b9e796b2ca12b2c77cb7e033ddf0de152ddb66c24a209f81ead3ff641a1236635196e8717c1b0aa10ff768a575db14f518bf569aabcedb6c2de21749e5600311d9be9c594e590f0bd4810f8a2fe7d578d0d9b188c1fb0b34ce76b0fa7cad69cf4a3eb6d6435e4b823d343b451c38419e487655555ee0ba7da28f2c11adfa973ca02df669cebaddb89351c760b0e61098525fc77d9d0495791172eac0c224a252ed244d119222cc2a6967189f199b29cff196adfa1a5e3ffa7940d48873cfbf50111691a390a3b6af7fd5fba26f11f4a2e7af75adf03812a07fa47febc8709445a159d52e57c963e2bc84b86da56d1aa91573d675edfa827bb2f970adc5cc39c618dae30ec7534b2a24947136294a6e00116908b4ddaa2c3dc7c1a1fcee993ed7581322b562ef2a3f9e7cc27037cc0ee83757aebcab0d32766ce9a8119ca0f293401ec7c3e344efca43928c0d4354c3f1e30ec711fcbae5030595c5b085fb72ac49b0ae9256b8ed14f9d588299429bc9560501e2f567c45c499772d3cc128630039b4cc241dbc4a88578f29813f4469aaaae94a039c5e2cd11b4a852732f1f0396112338fa47b67340a22c49118fda7b4afa09d6b46a59aa2003ac2282fcf74b4446bb02861bc0af20c55c2bc2baf284400b714170e8e552e17183b0f9a4c799be75268269880c5e44f2cff7a8393400f05214ef21961255ebabba5ce95c2819b50953c09c5185bb188b01306d8d1c7561cd461ec32242520123228551421ebb5b3179b80888b980940a579974e005c30f014580f5844bbe27b21d5001119d74f07c124c6dacb4ca4f2c34778fff8f3916e6b1af45467c686fdc7608cea99b6bd8053d7e9bba9189ae5d11163dfa66948c1424f63ca4bc9d6b51c69ebd9f8cdeb616a963870daa9087e28f8eb3b60fa0010619b7a521f85b5b2023b3727defc07645878d3c8f21c06b4ffc26d1464ced600df853516b16e54954f7683dc37bf67004fb0ffe546e1e4c7bfeb6e98f619fae8ebe3a678909e5a2c8d544b58c7a223d931725c5559e54ffe23b360d0f1f15af0e8369c584a93b347ee1ebc187db2d35c8f3efce144d5f235d1edb89499d50f041b59dfeec905127e654833b7ccf91a9166e042c9a9611f61a38335196ab97babb396742e9fb6e39bc3dedcdccd0f3e8400069469789e41ba8afa0ec5f1018b304dff27b628d56d8f780d47a9f36cffdff3f76bdb89ae8806e0fa0a6e8c5ae9891688928c34556e03bcc0dca66a2da940be6a0c5019bed13464b225d48ceea847963fed178e88114764bedef5765aa5a44e03c990080c0605f4a3f896a1669200e2452eb6661b80f3c772bc2924861ba7ee2829dfc80811eff8d786526b34186c0ccaf4df88e8e94e37c7bb6c5ad2ca00dfb722f32b8fa82186c5a654ffefdcc3105f5ddd2cbf41ceb23ced75c8171bd31c590a0ef924dbd6572ecf4573e65fd0b9ff3b03527735811c8fd7d87d7fd01f711562518730b3f67e77e5cc33c3894f485604ec0cdd2a6fea8c42e4732e69918dcfe15350a15a1c156dad4653b9960a00383ee4377fd22422fe0ab3d4836db4c6bdc28727dd81594ca1f94d2dfa83e06332e9d962db202152e6db611b399739fbaab44b58a1588f9e19247ab20d26a64ee7aed03720ea9622f9ae9c7e14362072f77c27faf7c326376cfdde9103dcb009df434c3ba9a83c53a1e33485c29fe5df68996abbd4ebc2741bdc3484c5958095df152d5d754d0d75a7a4411b1137a65b3ea1ba642a1fe16664ab48615311ad9a9f2581f5194b67f4cc9ab941e32a90c38403350dd01b330d767bfb0bc546d66c7363b52e17e0d36e56af56dc284eeb95c28d0d61be5cc062a6970ff11dc770dd383ea4e9224145d1420113733d90681532dad818666549393195100056809f601ce95b36c4933b50bbff321e3e47e0ebeb2f3516067bda996dd77ca1c1aae8593a6abe9741bd044ea9d1b97aae9f63f95ecec8c0f2d82624e1e5baa6d2236155ae49b0bca5962419042e2febaece5edc7aae49a68bc62d6338a5245017f1ce6a1716bf935b2cfb5d3209219b9188a138ac39434d291e7e18c86991235ed83573676fe0607469b6335356dae7f67499e97f8ebffc46f3f5c40bb266978e1aa161c62560ac57b53860b4eef3171fefac4441e68baffb158a4d20c7619d9fef44c462d0d4c24b956cfec99f279394c5e19e93213a5845c27328bc061b348cf239e7595e0c5d0ff3de8efe3c91f1b7b58104bf33178fb6284f6e5645cc2585d10193c6374897843c1805115970097cf66dea537ad04920ef8e538d3ecfa383dea18f643297b2bbad3794d689517104e3419e97837e0defba71f6479576ec3619bf514b38c011f7606ced48e10de5107893753ab69cb6883e5524b81cfd66f1d0013db599b252121c59c38857f1b426b2fd477cb86fd01bd2d4fbdf22ab8ff7289b600c0a14cfcfcf8da821e8ce500cdc0070e69fee118d08118f49fcd1f06247764dad525b3aa8e4969a0ee4fbe5681056c0f91284f01850a7858a694c3ba0d56119a866d09abb021274dd0a99e98483142c5942d4a7f9ba4205fbff2a04733df9760afcb8e15fee774fd7dbc1290e3d800f43567d3a753f4f6ddfd70dc3ea93957e657caed34a1e2e16b8943b774356c09b83d533172bb289c330b9e821f44f61120ae7a175d332fe6fc9b34b69157814904b94537572e36027c3b90adb3c3a84e9ca0b4e9cd95072aa8326eb59d60560e49b92263066d50033435480882377adec4814aee607a1cedad2272a92c56abc962cb009399c278e7d89f65f3c6d0c800582fd1d2e28c3ae67744a985adda3fbd7cb47279c448bdf678d92ff4eb807080a30924d26a221cca90326107e2196405315518f09321439ce4770e4afc5a97ae4affd0ea5d36cb7373667b8daaeadf85621f12804b577439a20cd776e2d55207d087180bae61ae5af0fae6504862395f159fada5c8a492499fe4cbbfeee6c8f2222d83a8e6ce28497d7a2645cd4ae90b1ef050112ca2a3887ac26b540149ab36366ba2a22d79003acaed8d1d68f49b14d81e659d945511c1b06b99be6973f8131627cbba6feeee4c428abd146dffc35a533d88d04b31ec11bdb237b3a3c2e25b0854cd1b16db5ebc70a2959f455b380fe13954c85354fdab5efae72dc60ebe81efc7927e93f1f10aa93664e3d1020c625a23cea9a571c412b47b2d65d86f7b0a7c524b9d6b015066e021c51d42532410ddd9d5730e52683dfb8b1995bfa7b44c2f2826a8015eb2f57447d73b8dce50180e1176752b31eeddea265170294c2fe33aeb70c39089b66a46ce3c9364b88f1539b51ab72c70c6d698e9221424c48808cebfded49cd67407dfa342e89f762e6e147aee00e5437aae6f1fc8192954b3260524c3e5bda57cb9ef7a7346b684450cd21fb8b44e71752a84fe5c836aa5776367a2042bb884df15b4f87d80d0d58ae9d6dab55f5bcf340c083f2b5a15561816d7593cd86a815ff6d92ee06394c7b562be9cdbe6e02b24d0e207643f6513e019d70edde9737cb2ccc4294c19d04c571402a64718fd5cee1049d5b7dc27896c9fa9135ec97609f75d35b247c408a0ae47fd76d9c94e422ca7a15b4a7dadce3713e45bb8831953c7abb62ce86cc165c69b0067a0a90eb3518dc0bae9d06e1cecf70f7c43187f9eb24d9881cbd0d20d28137a183097f22523a0bf17eeaf5d9db548e23c31be7b7fd34c4bb5338eee34680057dda823b8a0677402d04d7139337f0cfac5d5f6f81f5fedcffb1e676382715cf32c3e2f55cce963a2dd9964805e6fd3425eef064ce3928045f54acc74746a03242a084c2e77642c356f0e597cb431bfe71f668875deef1d8bceaf3c2a36ecc48af9fa1f7b69aac09b1c71c2afd3a20480f77ba4d418cd032d55697e10e475d2fa5219303065d9fddbacb50fd96615dd3b852e650bae7c252a2f37d0046915099ee11aa5ffee59d5b960929077b6996104a56ac58cde703c137d26e53893c48d2ec0d4e9131c79067c7edf04e0220b12c4935c351e0fb178954672d059d102cdf41e7e117f4590984e6b950bd503a3b6a630de038428459af36c47654c0f65009f4570b4550718a450b0f72e4c54a4b2cb266b4f59824e1dbba232c77105effd58b2ff146b6b3143fef7aca3ee617c01320a819357c0a0e9b97107dbec775aba9909582f459685e28e0810aca8fddf3348b8c30624d2b734d4449f8b407cd7132bc614f520ffd5d1a0ea7f4b2fd535b40ea3450470fc780d43cfa86ae02ca9b13b087b6046f78811b75e90cb871d6e08ad89b9e6b97a72b195aae9bf0eaa0ea57d78acd56e8cc01fe72e53f98c4833f577399047ae7302c0e05dddd982e8cb1153da99096757d3b600fbdbfbbe58778994ac90971bd303f1b9aa424b4adc33a90faba2cdde25c6153230eaf350b830060f1ad83b4990705f6cefa208d8adc9ec00161f8cf82d39565ab5012475adf912aa069a09a86c1d09df0c9f7b3aee7404438d0ced87c6e8d34f93433c47d548d4dbf609dddb5ecc10d8970f6ba68b95bc43ee0300f29ee005acba034946ce25016c5f0959d981f883af7d7d0873329de51bfe7840eb0c96aca2eae2170150b9e26a3e9d49ab97a081e4dc4bbdfcecef019f239f6c50365ca6ab31ca20a053d972fb73f9b6117d14283afc91b938f74525f27dacb510f90e51ccd0f9d9d2c4ea06c885b5dcf2ce5d00a40af2d084d9bef61242869c5eeecb0cc0f525ccc29d69b81c44831df7717fe931591ab6cf90a114f7de1f611b2431b5785d0bb9d2ad59fe28af20205d5215eb3c639491d6afb8b10a072b72e882e0cc81be760e266e9a06469673a7f6ba6bf8fec8189fcc3d64b31b64e120d6446e3b4a8a53edff8945b670c9043b48cde55882e86fe638bb070c39be20094022536fb60ffcac20076b3bd9fcc4bba5257bcc2bb51f44bcc1400fec169721ea82699135e34c53b04f29058d43d94f4b6e13fdf59c2ad3546bbebff7d0e1ba0e67e05d2ec615bb56604f2e2eaa76fe64e998286946a2fc448377004c83976a7fd93b4bfb29fc71e84d8dbc2dc2d2747c9a7fba0ee3cb92ed140ecb73f2ff4911a3653b2a3b6abdf6fa9c0a89d3925bbc8aca7c15817e301a0ca494ed836fce3f625117f246f6b391d6e27f0c90873cb8c32c5397174943b081050dc241f3ed75e02f69c6b3851ed405fd3485a858b7685adb41b4879549fceae6af483e7615f078c8b25f679c1d7f678e0b208c7060efd5a769aea678d5463a2204a99999d62e4236d4543a10487e88e2e888ef8814fd313f7efbdbeb61e66d4702bda163e9d96d8dabc204be5dd9c80cd27dac038bf7d67f42b50d13fe26d0c6fd4583398fc87624dc278ed6c3c9c00109bf4c5a110756937e3d87defa7062656da68870f6d643656fd7880b537aa8fe35a4552f4caa91bf7c2e1c3440ea305e0a1ad92dd29c4a853f43cd2679b99f25fb6377100f355fac3c3ddb7be8575c2d18183418e65bd26b59d344a0e0652c9e016f0c94044449a03d21449e6db5df2122aa9d24a94e9b69b17858eba4ca87bc3ee01c388257aca0a37a69893ecb26e61388b13863285978bae949479f4722be0b2249f6dea4d5bf76e6a95692b9d57294541632005bc7805e774923a56a526f151810a4313908386ee344f3e2b387fbfa05ce7db96eb54008378060559bb6b1a59056ab4b15fa87ad08c28eb8f1d2eb10e395b289dd45f78847d82f0ac0c9a8f478f190e81a3b1834b6fc2447d62847fbbc96c0a6cd2aa695d5c6d885ae5d84167715bf5649450a328bb3966ca608adf1ec0ecc65a0db00966c5120f0fce88acf597e587af427dc173a709c866aafa5100ccc51e45f8d990dd5356e2fddb85582b95ef1d5a50ea88827b8385abee4555825703400db0107b7b47557eaa99e4511bba82ff0350e4dc781e4480f277b9db4d0a2fdcd2485140091f03f7d8c604bd0dd8abb4b7ae7637251e9693015a7bb111ea058f500cedf4ecaa39509a5245833bdad40fb44e28bfa25b9382a3612c1960e8a468aef6d0a51284f937bdbb8a6032241cd559c2a3d6679c9ca71cf3ca0fba0f8efc963ceac7f14dca072dfee0a255dc893a37e331fb26953c4e1280857177ae52d9e2cd97e722488647a4cfd4b6747fccff9efe58835c89ba0b0ee65f8a798493c45acac9e9d1fc246c49e12661720696eb4c363f33e7a6391e52db3a0fa761725f04c1968f513094315e0278e26a6b07ab5f8e1f1f9b5751034cd8e04124539ce394786cb5d36272153c18a0275ad0ef5eb0e7b6382c4d503d9681e7108b6c908f8545131ca88e6195ab5bc9d05663361d9a570a74bcd49f66bc9eaabc2c7a826ede0ab04be7ac2e38918807edd88b8f097352380b492d5e4f545bdd21848dc808950f4c8ee1b3aa8b2e0af3c8b33f5b55f2fe1e34ffc2160a2854d7cc5390166f8cedab198b546fbe95cf5ce07ed7ea62165d952f1329aca6ca585b2bd0bed123275114998bba1ca9f41f6af712a79ff13d5536b59220637ab88618700e545bae626864aecc425e2291881da27a9349010d1ec4e0b0fdb1a841ff7ef704a854156c4466297e0045ed54de5de0abc67edaff8a1a3e235aca4617c4718056f2fb42b5b4495f11bdbba3dde78ab961513b5a57499fec40c2dc41e425ff60f1ddf0eed89153bd4a8d5ecb95aeb1692cc16422b08102a2b9f1c036ace42981ba7ecae49392f8e1b9919e50e04631f0b7a39a900f15a155ab2398edb05860524814e098fdb2b166f08d2066553d4b87e26bf0966efaf7c4d8113973785923d15e7d0f4529aa9bc892bfbf6ecb2596cd2e4bf8c5d3d3c66fa3324074647bb7de1c4b66bce82a1e8ed8a8dff00a06bc30444394978a46bb3608f2cce60ef4afd0cba580972048cede773153883825423293589c2455d3b82381c86381bb461e50ba3ae9c61930dd2cb252bd30b8ae5720292afbfa32008234a04f8c9b39586d089121f27d9dec5d9ca33b19c565aa5a40edbb50c4423d488c821e23252d892f4a42a54e62a1687580dbbba6248bfc911c8d8137f634185bfbb5e3b61633e67b81484622eee6698cca8a86dabf644dbc83604dbd0e62405b93919b901ccb7416f1684d3771c663aa605b29919f32e865a08a2d59cd85105e26263d9484881724788cc639bc85a371a16db5b07b059aecb84b29b33595fb590c8135d0d54310dc109b17be3ce92bc338d83caddbbf811c76316591a542211e9608ef4b11dea03edb2d4693bceae11647291246720d9185408477323df28c317da37abb813db86f3e562ec186a3d86cea2d4d1823edb623aa148ae9113ea19687ee0de640a8f18ad077cf9ba743226febb805faeee3a82eeb1f521f7e7828aecb5b6b914ca486ce24b528dde1cf5f61ffa8fdc741686d36d108cd9f7a4599362a76cd2820ff2627b01d34461c85dcda1d57e201144cda8c095b17e0a0750691353cda4ec101c0288191feef42b7385c8fde2209c0c616c6ac4efd0f381543b1fcadac5a5c9cabcb9aaf87335ffa67b4de52618d9d09e423c0158d2f009fb53296a428c0cdd44333a32be32883871eff33ff2d0ffed5d54e6fcb046f3f420ab16968ca20a87cdcb7209ce07d19490d981905c388bb0a60781304c5e9f8274a0440f1923c6451ac4faec678d88be6d61d971364c55b3571c6d13e51e4ff940cdb99ea4fe09587a816b7f17c207aebea15e2754132af24bfddf298a130165199fbc1657792d2ef841ad019fd93fc0358f0dcafb610479b1b688d3f055825f8ba91c9bdcf259b22b4119ef6e2e90d9cd2caedc674aa754e62574141074203c5b0e10c84e0df8dd82eafceab36cd6b6fd6f980a34976e1a0882e5a28153bc471b3cf3a7b5651b026f28831855a438776c67785d433f2c26cd2b5d20185925485e655f5ee7a61e2d58be41e3c0593083fb417cd7947b99047d85590b339499dbb2e0f047c23510cc293cfebd019e3fba41c0b0f8758ccfa28dcc44fbedfc62c46b872419428c3d621948400f396b1adcbec51842a4a164174a01d86f0bb0a2a7520e55a4838287d4b8734c27efc23df1413f0e8717c7b3394ec3fe12c6282f71164306e01668dd24366b45ad29f6dde1887a326548a5849557c3f2df03fa2e922deecbe39a74145196aca6048ebdf024f3bc11459892e06c427e1e933f4efe0be4c6899cb900e1c5850f8365bfbb787e81f0edee5fe22925ae781d0f39248f17709d7d9e5a1d2da0effdf851ca3b68d59498045cb5233a8dd61614e19cc8c06fe18991951448a3286c31a314fce4e89471dbb2e422a9233228c493ec922ad173f65f035813bcce85b5d4f5c1f70463f3e1bf448d6f4c85d8f4aa6d0da64166457bdf8225723136e3059bdc3ca368c2b1d7964a88a86c6bfc3dee60c07df9c88232e79d83576888d485712b0a8c95f1c813754994cdda115abaf66bfa0521ba2804c602bda76f23f74bf8a7eef0ae0a8c618aad8a571a629e9914be0919617b607502d1c63a78c20955689f3667ee533db6f13340c4614ec90928e64455248d8c3413ad7fe640ef4e11c13113b6737be42f152cd128c0cb3b685d4955988bab1be0278c7fe4949018c3c5245141c054a8b923152b6812b0b36580c30c1c7090dbab12ad2ff7a042229da38f0e4cf470308a2ce5b9c2a06f920ee615d962bafe8883b7dacb165232ce7ea43d120cfb7e56893e710d4b5faae22e15b5af327d50abbc8aacbc2d28e0043f214dca5cd64f023904f1403c5053c844adf50efaef7b6d1469b51d44306e4c47c48e867bc48b513a4adf7a1ae2bbef7aa671597dbbcdb402e70f8fa1eb0da914a8f105f59810cb6c61faba6602b92dd7c5e9de198fd7c494eeb2c15e41849c70c37a2d7d8717c349d1cb617c4f5cedba29bb07d4433433a5b4b601f3a4c4d833e1b47493cdc5cad1f5581014befc917036d72f93e3c4fedade9b0602f6c3e01b45a118a134984b919340211dc1aa90ef092ccfa037c9edf2d9d4e83cc28ac93eddc8849966687af4974aab93198e3846396319b8df87c0921f4254cb1e48ac9070c6cffcfa239332fd5ee3f986dc424964b7a87bfa32c6cd720a4dde3102fd0b1e3304cd9da04fe96cfe08c43a7d65cee52b2dfa00550cc6b6d029757d5418f4f3b3dd84fe58a595c1b93faa858212b0bd26199ccadd619cc7f87f7172f35025f543dc718ba8135c8b30f717f7121946b67224ec3ecbe60befea24e3e2f8f104f63e027fdccdf1b115e8560b4579b1ddbcb56830d76df806c8b60c7f5fff8bb737392273621fdaec2d322c8fa8fc4df0dee4029492e3b3c088365305e6ce065cc8e120711b06a573a775835e7b0e0dc076fcdf7c63bd25d4245e4dbb1fdf71118f6604a12bea29b76f369f608e9eadc5c4caff97a6d25cf12d432719fecc3a817752475b83a0312248cc5b5b64fad5aae1350857597a0a9ca7f2ff1f82390f5e234da4913151da8e10f9245b00698e7c1314d298aa69ba47176fb8eaeb391a2dbc9416c076d524044b022267b5fb163a1f3af50baa7a246ecf9a545def7a08363b423d91d7f49e0c62770cd4a2d9041a3f8f0f390af618a20e2902190330b1914239ddd329b238479d077ee8bab79a0caf805601ed83cd0320032c50b04894e4cc96094a9169f2689fc9dada20668a4e2e55517933ed04d20ea6eb2695f953cef0342623230d0235e64d95abada1a9be67da12df4feb51192a2fef0682b504cd44993a961186f9dcec12c33a1e2638a3573b45579a4b44d28e21edcb2bca405006f9084ec3a1bca6bba96a6c7ff2b674710b58a0e186d6d3fa17de5b4a7c15c5cfbf9bcf74d73b330ed76868e6df84de817d0ff099d375b77a9aad4d575bd63e32d6c6ad24a6918f5470781fc4c25535abf82a6e02331bba58a22a24fba156adc394199c3008575ff9d25918026276471cb0d4924de258d45c00a063a52ccf69799a3c438d9dc8c4c1b36bc23acc7a1c19ed0e23d404ef3ffd682ee6508ba48abb554a29fab333f8750df01da8475facd505dd6af0b7444abfea78164ca5829f7582166e0d5ac485a405508a839bf5faf0193727aa74de198257a8f02a646695d6c292f8715431eb4e7fa2492b8a71a2207a0a204eadf6acad19abab04496e6ce6f32f8b606963a275ac638d4debee11a8657582323c870214891c9f38e425989f1a14ada57abf9d3717dcfaf2b4f0afdc29f522ee292337d9626904cdb7269ae264e4eb0e3e5a2df7e09d0d79d808fb99120db92566ceb6d4d9f4446f2592ebf7303e4b6b141fed0d1059d96b22e6f217bd3d6c809ad251f11c58adba8022b1766808e49aaccffa22598c832bb56826b93fb87154db2d61a0f8b5ca6b31e418a6d3d17acc84db6e670e29f992da78eb56830b0cb787a0914e05d23b5dddc0318c887b4c69fd4a372768b369131435703a0040bca343f30d91eec91c1eb0491fd778105abfe69af93a3b84c3da228667a71b5d4d04349bf988ede261c0b3b1814d32a7785811c140dd430ed181329f4dfe6803e585f6f57f1e379747c15d41ffb43c3b88bea4d3f369b72309d38bbf60364116e191b6b5f09df65af3acffeff7a9c613542a979b67ea9a249c030f64c49ea2857d429fde4d7a9037694a0cd84525feb5c6ff1c4493955d60e7a2dacd5f475f05ee95e6726de741eef7dd0454b45e7e8bf3f50bc43fb8838c9db3e06ee7fb7df5cf7abeddb0b2c0e52976ed3129e76c0e86a89a34e8e377a448218d75455484ca30aad0684b57e6e1f032a41a78aca427e6d54a610a135e743e218cd397203218b75607ce12f03eebbca206ffa261f4245f25900fc42e4c597ff74b2a909163ebcab64247e6860597f852d71e866a3709737ef2ead9380bd3e53d931ee27ec148e8d7cb1aacbab82ef0f676a01c5ed7d2a1fef73a4fd724bbbc66a324c9e59b06b707c0b2c8ad011521f4fa2db8f2bc921d013c30cdc215afdbd5baace72071691bb2b4c6813732b168294386d6b8840479638cdecd3618dbb2c43406600af85b475e02ca93ef8f9667ec929fea994b9d9843e9a29ad9033c4c9ca9407fc9bd06e07d9e0dd76bf3f55a0651716c39cd429c99817e5a7488507d60a7c23ba7e5835e000a2092cf26e46431568e7cbe4e0ccd6f053b6ff3286012c5948660b88c530a66ecb4e20fead850ad08ca38195a5f24f914daa736602b8c52cfdf9ab50a0e04d41fec83886f63ad34b7aba82b763a396a3136ae4636c91952fe50961e883308387c3f0e96a1c1312a69b1a18b9a02d30fefd3aa28a055e3d42638dda833ad27040dfacddf4ce7dc8ce7f2e296f987dd028cf48a2c84add7479331564eed136ba91c25ddd44da07af360adce079ef8efa8f96cf247c5657e60703d43daf25a6c6549d2e909024236f0786b22912c09f753f21a968b30e16005ca2503167c36a93cae8d7dd9b55d98ea65b55a4b57112c6b201b113404bb68789e35053719083cd78b0eeff290185617b2aaae86f215bf6ca87b0ecd42b2c1c106f71e12c0f6630d9018be2811d3f8a035c8c0b4d809c35e68e07c8902206324374bbdd77b4a2d9e7d231ae72ca9aca24992a078f55395faf69a47ff090e6914faf78b0fed05d84643d90da7e4a7ef1409d7bbedb84f2b3fdc2b85169cf39ab18fdac552858699a8325ee0613ce04e58b45701dfef0d94a319cacf215f214fdd01ba03e680fcc798252f904b007084f1427f7ace872c7c131a2b38c7aa0c1c5508439988ea121db3bc06c9418785c2a6fe4b7d9558cc21f36658af5f2167572b1d4439401665068226f964d17c2399fbf6ca0e6a7318b2e57d9d98557df3027314d8b0ad01521a4e45d9a14dc51bb7115626fea5e679a7b2f5b9d77735c2c28b2eeade2c270c09c89f238849d5cac10d3181992fe33f3daa8c192c7334e3a8a0fdbfda16376b5357c99f019ea379b2c21ee13b70970f23fb98a034003eed6e5e07b9b721175f3a68494f4bfab20ac3647fb50cb36b1c2e5952db639eb677da6e5c09b1f3ac0f0b8482a92de3653dd028cc30dd6f7d81e647389865f3b3d4abbf9586ce1a6da72b47b1c84ebba81e2b19f8d34845c90ba996452bcfe8b1a2b70bcd1b38d5a3d2c20d31290265ec877bae6944df6e3d39980f7f52f57ce4b657565223c2811c129979aab7b255e9e093cc7307af9e122dac0376206da4dd96282ee6f698b4f281c98e4df269a7a13cf475bc70f16fc500fd1492e455984e91bd1028eb4a3f7f948c9385656f39c39b33f85c09fe0c189da76629e249cfe3d139f0060e4a1f371180e38de489235069646d769d8e6788980c98820b64df43f947a83c3a73fad8eff6f3ffe9d6e5c746ca8195e4028a5312b79759abe55c3fb9795d81351a7d7f8bff070c6aa20b84e9a4f7fc544d69d52da6468c3c4606a006e15010de6c3cdf0fdd0fa15705db0504157a2ebf26c86c8314c2da6dfe4d1dab1d8e0c560e4f98992fa3d5b1b0960651c14c5e81e811a40b728622839914dc8cb1c8475d5201e9ba1c85227ec5a06868614ef7e2580178273e03856c1f9fa90c3f940adad7d1871837bb5b98e0bea8e50d9bc146f60b38becbcb929df513f89444b2f74e46bd0e2c4cf1b000648de281cf5ac9546aeed80c1e18e38e48cb92ee500a5f6a34ce329ad4eda92936ac728a5c10af40610d9249190a9e41ed754ca7161dfb15ed63f6048481a01b92655f6737117c4294f37bc39c3c7b40e7662ad5a1e60afdc01f169321646867928ccd8abd595aabceb5b2104013475997eab1328f30641428348e1513eea82c8793e7d6a197b9771765a8177a06db63f46b48255eea3bc15e7b95176fe93d8253e87176ce2e89e5a4de255bfc77d051128418dfc3836085528fac8053ca12100761bc6d4abe7d2efaa1dc0e4530f7c813839d3bb65768475ce72b70dccee5e50dad3bc112e3bf207eea4a3931578c791817f3b6ff358bda577047060e07a4bb8fb265b33cdef7966432472dcd091facaf3a4564cb2b88345820102568a8d99479417a22f2108e659ffc6c05f4500dde2e2bc2ae89eed60049c95342daf99649fca025d3e6f27ef57e8349b7b8538920bb1a6667d04e85708b33f00af5e519aa73fd32641a8f91bbe4252370aea42cf87f3800e11fc51e0db277587276de3dc5b560a7b02daed8367d49c80e2f648507f3a872b90778c61eec7a200e900b8ea634a47aa1f07e480a8f7dc5eab082745094856b379c777f5bdfed1b1237257856d3635fc896b4438cb44576f72663318305f6432f39171341ab19a7993287be4fbecf4bc5205fb3c124be8a168e261ae46d7b1fbbe35fc541ad9a71ae0727b6f7530fbbd4e76d4839776d16c49faee2c341046fe20ae884eb41461b16a806d8877b6770d2e9aedb41df1c6aa3fcd841bceb2fc04a72613d0bf7eea6a47f3a725cf0af9fdd32fd1cd147ddd104ec31e5f1649326661472ed1a557e9e6126091fc6f704a27dae7d68503b2137aebcb2570ee94ea9038043a452606c590858344d5a97fb7605103e38965108583d3cc5421703fc79aae08dba4aa57e1f4790755aaf9aa1cedfbd17380e46a65f13f89a5c55ebf108b65719b4e8806cf3aeae8d1f9cf8ace4f7079436cc75dc0f9974c53575b21e5cca78ede1bfaf3b09110836550b94f8804490d5d7a289dc1be9a3719db9731b01279ad8068ca02d08a13d2eab9498f0d608aaf08344fc064600b6c7cba02b469b085e2414859ea77b68fce9970a0261cd1e6ba0984f40ff1bf32a33a298261fcdba4d19e6119621c7187fda2f85915dcf19a94d7a46834cd2e4aa3d986aa23588fe5477b9537d9599c4d911bbcc8c4aa2fbe8b9f262256f67021be0d3b69e39638118ed527af0cda6aa63afc6b785df2dfeb62bb5378249553ade5b996a546494fe33f5adf66c72a40bb480edc08933031e917a6ea594963d83a66cd3ea7b014a63c8a3cce206290f593194d85998ac7d9da5f3197e14cdc0129de8536bd2b91f008088570d04bb458f9539250fe0c9aace2578a0d699ffbe9813e037598f4543a456b57954f209fa0e7430c54bbaf9ba4c4d3808d3e21190981732cde69427f136d762875fc95e4c2ccaceb30f37adb669721a4bc995a3ee013c57998f8bf0dcff60c5a6ac0afa20c441248cf7017151cb903fa12269bc808fa6fdc635d2fb952cb5516bdfa7938b0bea266c2f216f6a9a5ee6a0d3b268c7f324c1ccafc4a953c17e7b71a152033a88d3810682b12e96d1dc90af95a48b0e195afbe611370f3b661b89c1325d5d1143e80be1a540a9a6c237e9f81786a94569200887598a3e596f1d0a443259ad730b15728b71e4b0732e3fbccb8eb79280b67d389d1a6c7d9124f0580c3027f229708b2ad21dc8a98f8e611ab4d0b3e8f6000c6d4210527681c68cdf141c6b4c5e7df3421b8e57188997fcbe8e7c7babd3b4a82f7eeff34370761805a0eeb01d130e541bbb29d3389d2f3f5eac3c3aef23e217917a3902e6892ee12cbe9a3f07c90d3ae423d11375c10260ae7d8efda2b804d509e38559556ca9be90155f3d51db98cdab8121573eba57c4dc51ba29e4a8c86d6cf2e01f043383c1df10909f4f9105a328c57556cfe33ccb8b127360482e4942fc21ccdab40bd9aab6f6a1415caba24ef3affb21a7cb115c04b6fa3caa610fabd47a34543e4cc664b0f67693c8a0bf3d72fe61165b5415cfa0d57ff5ba119602414b60133df7a4115da23b4b96f50fb34a83a419c9271528985af723aa8c4922b3ea451d63a710985d1299be1fe2e8886e86fd822015dfe9f3f892d0870e18b85b2cf44d95f55de53c48ec20058d81bf68698b4f6fa030e15c70d18ea93794adc735c3d22157651ea9d062cc9e010cf707fefd37b6cf4478075187b4582a0f7900458053d4d7d51b73678e51041611dc019029ff7db1f6147bb3089c67761386e11fac082b2e84cbeffcc6862129b9dd5747d940340acdaf8ad4621c745b45fa7225ef39510ca55ad9a9930f3f9b136b31d44b471a82ce725d0edcbafe3f8590d91d54783baf79de7adc2ea30915556222e282fc063b2340a71368b5b68508955df3ee32d49b55b0f1f683e9651a5ce311c989155a4a2618d8cbc1fa3304c7b1c0b9dc26e872591f8f64d1144a22088dfd2705685a5aa9ffdb26271cfb06366f799b8fd8c6f906484bc18d23613834354acdd50a3bd3ded69c06acf44b0b08562c52ac3f322d598a2edee5087b56e057f6860b3b93143d357d509d46fc2a850447f9430ee1f17bd9fbd7963cbb38087324f5891a69081c9dd603a9307375a2d134973d70d986214aa206276bf724f9f23abee2faf11fb88534a0ac095e4107490b24683cbefa3a872692505ef0e257a87eba82acbdf4d16f76608643776515e2e8d24ac0851c5a19858d07c2b61c0e4c66a99e9baa5a638ef6bd7ff87405c5af3b06d80d0849ddde01b4c7af8dd94c2db3811c34b47a3619e4c8f15affd003ed75ffeb56bdeccf06537a1a717f2fa837549b4ffb6526a935936b5d98a6c2454d8e2423f49a3e24e902f096e87c9410da71ae6d6c8bfbd151819fc030967ad18064bff16fdf4abc37c116032251efee02644029bd5f94a4493b1b852e1b19092ef9183093ba56e0cf02a5a22fb1fdcabe94d265cc069593c79c2b93fb7e7fb9adcd9863008cb8fd92719987840c5e048ea939fdfb63057e85f7e6883f19d9e948f54cf37230fa5563056a7db8832ba239c785e6a5de91d1f704769da27ad912c0bf352aabe4138f64ac16db7496f94e1e6d96c176865847f3e0d28bd4ea1bbbea6a9a381e12c5465d0b1f4b2f1faf06da0eb77b9d7efba2b1dee51baed9aabf68ec759a1339a2b3a428544571fe23b6f7bc82571fa2df8ab8b458efcef325129d9698721dad02e58ea27d56ed159d8dacc54db4c7e08892c90deae49c0bbc1d8e7535458fffcec568cf8ae036997e0dcc17bcde163ac2dabd8eccbd724c3339695e4cd44c03ccd50c6b5eb297f96fd75f7346a88faff324937fd801f1bade12c5612a3216b4b7638c0d1c1b66dd38b99a73693153fd99c0a493c241e4409718a5b7d413015032f65cd83c8f8e25d9015848c229276a4222609601cc37ede74e3b985ba92cd58b133c0a49d64d8d8b0cef272609473ef4c1f637bfda15a863137a4165eeadc1ac980df450f5fc4c8e5ef01fbd05992c5b69bc72423b711c5eedcee9f720127e01ba96f1b349e33bf60560595389eb428e74190a7fa2bc86d8b4c9fc9c4b60e81e0b26f014bab31720369f0d9f6f8345dc363ed293077f397917b45d8f7923e3deaf61f5ebd59044b493c136d7a42d73746364866b33d2504195c127838673c78e38a7a38ee1f5925008eebf3a202d49113238c4f20e21239ab0b6f77cb370acd13ebc2e3f7ffd2d62823738040d1bed4b1cec90b9463dfffe090512da9a31e443d5a3483660184af15e344c442e52c93c0aef4609174a7d86666279effe0146fa536aaed8211b6581197f9789725120106496bda79b2febd69885bdcef8726dfef7b5b8d91d26abb46075b480bf9f5d361e50d63710b38441033c24d1767f2e2ae237110f0fe969738546dd3767e4fdd774ee81080b307b19a92860bba2a2b433a06ecda406985f331816e981c96b976161fe37df390925fb1153265f0a5b14ffe4cbd21ebcb21467f3d5f40808d7da7ba42843de3942e3b20d051a424b290b5c410fe31dddce357918b638566f7dfa0ff1513d64ead531cb8b0c3db38f2f8c4b69559092042593050e70935ac10edf2c4cb21f588a0446fd4ba63c8fc917707ead67d9fb4c948fd6a0352ddf485a429f43656d9a4bf69cbf10a02927b53122e002096466fd1f0f04094c6b87b4e8d2663807c3a5c617b1969bf71281314de0c265119c0b212f5eca17deb707984b0b1bbb2899fbbe767c95de768d8aa9cdb8160ec8cbc11bc3d8455c2e6c8b797a43d5d1c0fba5fe6428d1018fbfb4a1b13a33a626b586bb492b579b161f4daa2e67ff5f2e9508521aeee97305536c663792bb75cb1a8206ccdf291925ae2ef537f0e538543558759634f26f03c0616ac1caa38662a3a735b6f0def9b47cb5cb304fdfeaa6e8a2a5a10dac179bc6096a3b72ef98890d2670a10343f68702dc9c7922f1f0f14cdccc2d2e7e3d011908741adfc102d1a8dc8d8cd6551137b07ee0c7278a7603bd6a1ede49b99fd85b2d65f7aa9bf860488ce22a4ebfa32df89eb4257cf0cd16b4a1ae1d974614367d940296a2ada5b0910b5bed309b1cdf8b58ea1159c6f3ef2fd6576fd73dacb349558c7af755d81a231c376dbe6206cf19d961a25dc79d03997cee3de48933b47b45ab5ebe8b5e82d6a904974f74115adcd429fba094952950d2f47c6fa805dc1ecdb1934e17fdaa1e5329d7e7ec41427fc16f65617fe52027033af0d7ce1d682494a9db41edcff5f5b5c3e7ac710204aa26b081d4d611b200df43f50ed91de9fd36accd24790879a6072222c1632713c475042e32d8597e5ff6c8baca800e0ab84d4c964fbd03116ba2d6b4289193ed23d4090ec40c1028a2daaf7f5deac9db82ce9738bb7305402aa7db1b71330d0a71675ca42635f161893ee4324469ad2aa0c20fe20a59d59dfdba9f70197365cba22e10d5a917a73456a53f14db2714c37047d5c447450173fac466dca97d4abc686ee660418938ec4b26196d8323432055a6c5b7989c132f375746324fd507718127b8df38e3705da8444e13e002d6dd6199d648e339b3c935edf6192f5f3c7dd540745f13beda2d39974f9d9c2b109e97f8b47cebcb840aafdd5fee8f1228b3b0594ac68a20658555b986a8934ac267ff954b5c9d3cb9724205a14311bc15e6081bf77bf5bf879dba9bddde873273db213dcf4556c5e1c0225e784f77dced21ed468091d9f37917d766a05fe42d153ffd8f49a5cf2f4de6f2dbcbcdcd7db7bc48b7138ea172dd432642f052be49953e6f18479cb4aa1e0e0ac2c263e282023708157bdab861e98e3e1a9a2e9a5158205a199d1109d7565d40f64d197fae544a1370f0c08beb6e54910e97ca9589117b5d2e8da599d7aca8f88f0624c6393531ede479bf91cddaa09b80842e9cb2eb4e9b4f5882ca474b5f56c31868d26914c2b621d26586eb1e105462e176bde38420fbe921aea18e0263ace21c5399a8d731c4b6a678daa9209ea302939f57e2081683868686e8a58cd16c9b6907bae90c431b4b344385f0026dd31474e98388403a13cddb095adef52f7ef68d8bf55e060852b378bb461c059fa93fc5737ff76e4f60e3f8e482ba3f684a0f7e3ce43f678ac96b9dd2aa0ffdfad0328e85a02019715cfedb2e2f0f381d0c34a6631d7667a8f8ee9135bc1cf61b7a1c16ca44a82e1384bf25809ff7cccf72b36d18e0a50d53bcb114b964c38d3021c0fb3eacfacec9d4a0307f7385e0136327423ce11e408ad890bb585305e3408de05e600c270751f9c69ffa3fe15354e88b77a5f87cf98872f15d3aa895b44b7e720f34000155c1e823b1de141663088bf50e9df17113ba7d50963cbce3c814a9b64d37e0406818ab5ae5efc2867273a86911a7b51ec934ac2091560fef884e9b175dd72d7111eaf41a6bc62e0eaf9abc793a0ad463f7abb196981e510a0c534c51145ac61e87f43488cc73a6b128dbb2fd5ddd03e3011043c348844b8bc34cccc996c3a26212a67ffd04e0d597996bce7876af67b943155d1390b858292f5a409a1475730d10c9ff6e6569618ba47b828822a214e3bdb35bab646a89cc69e1a7b99b8f3f4b4fb3d7a179e0273c28e0babcb868d0b515536d50aaa471067e3f7d5f7fa70a97767254f9d170c7ed3f462cf7117deb3660826650ca2876c90a3668882b41f4f00c7e5f6d9c1d5e1ea5d34a6c131117ac39272f82e668f9b6ef9801de327e8fc6586993b0375822ca635031e85ae47b970e12bcc4cc8758a14a658275c6444863dcbfb0dd0c25a291b5783cd7ea32013a930a3edea240ccff882e941282f174e90e4123323104403864f2d99441a71896971610515e71872be4d8c452dd1f79bd973e43cb92822e36873e412d23a7f8ab1863cfe6fbb5ae35952447476b01840e4cc4dda7f4ca69e31230c79bb778955bd39cf5f787b3b20f4f303cb2e418b01904995872c62165d3aeb5d50a5d6a280a4deb7e04f6163aa05ceb345f54f0392fb56534e8c64bef8bb06d6cedd898e3fb0c89f1e7122ff0e5254caec290780167badf2280811a2849a2c444316dccc58e1718c6490d82fda1ebce2a64710020e30db633026995fa1122b7efc8a274552b4940ddcb6168df1b02dc7fbcbe20a9090c5c5d032a465dc1f90b98e9710b38470ee12c78c31ff8a3c63e12436a8543eb5d827b289bf11179060f4db6c3f1112a12aa4d03343a4b78301c2b813661b2e70d3834bfa286952f6cc5b1e2352d5344ba7a89d2e078f4780026ba7b68002202a2bf219aed7a5006ee3f33e5f87aabd109efd493cc44ac49e85809fad20fb529c48f75fd04195dae4edf0d5d9ded8930d997140321aa237e1bf9d3800c5959a804cf182d418a74e7ce3b529badb4a40d6e07708d2a72ed3c89d490aaa6f30dd0d92adf568a9471fa237612988544851b0f85ef252a468d08d50c8d3ba2edce621769eb326816d6777b113c60c2ce7c27909006b8f59b7bcfeb2637b1c2a5e8680d9428dbb453ac3558b4797f0bfffe31ae62587340141f561328412d7aba177c115ec933ae5011d68a02b62460bae14c0f035ef8ce9ca6138a8ab9a1c4cc83c1ed793273889fc5197fed9d2eaa1f238d823c9baaa1314f57a6935e025b39538c0c2407ba536c924562be53de97ebd5fa916a28533993dd5259cdae4bf9e2af9076252a3ceec383571ae026acec507005109516e744e53ebc7c0e4c63ddbcf1bd8a106dfb42f252e95ac130db6d94d9a6c7aa073e6408eb0e0d5c02d86d65f2d60582df278c0f73ce4d8df167f0d61172e85ad177ea0b430b204835b20aa66d19840e43067352fd71cd4c48f23f2f51c6118b0eefcbc604a92584a9198e4d19ddb9521c5431d72932746ef016802acd522d4ba0a38d9366453f733d6ee7a764521209876dd5fdbd454badfa4d958624ae2a6733699f0a4b33a2ee49705764fa2fc61ee70867af94e8553019d29b220eaa0f824a1ce62221373d3cd431b9185559c73be97e074b66be4bcfd43c56e4054300608403f5b5447bc1af8000764db26d09581e17d831ca18a1c534c9888cc230377b1b0dd0b865f6e612d842879bb4b1a7eb3d727b042b0029dd43588248239704ef53ce9775c6cb1c8aa0136c4b91c108e648fbbde8e16c3af8db4f0c3824055670ac1715a2fe96676c2d2fcc39d26217f8558081d236cb1fec639a15701ab7de0a4d28739f4ed3fb50a8389571d90b8c873b5b9edb42ffadbce4908812feb814643cbad8dc1e428d2e7bd2d5041bef7ac489a65aa5fdd7c58ba5d9f9edd638c3a0fc709081e3e32dd5e0bf89cd6066112dc7847dda9980639fd3fb75d924c35c1fbe177a0cab8d82a8b5968f2eef096fca040efce7cc5861b98f6f63de09bd132f32564f30fb67a03092ded083001e230165d870bace8138a419f2288cfb26fedb5c09dfe53aa9506ed182441c433a196cb660bc5ed08b743a38031d7eda74afda42eb17e4a183a20e2e422eeb22e016011e49343681d591165232c09e749213fa2c214aa5e54e1cae54b6479f292a75611ac8726efb781fab393e98545b8d1c3158183b897da6a51a8cd991a09de31148492d07e8af281740e66ed39dcb6f308e2295bb7d23d176fca2e4ddc7f3d47073a3b136f9022f7037e3cf37d24c4d144b265efe00af446b82034fd6837c62746fb7db3c55e171689ec428b32fe463bb2878e4a595dff2b1f88141ae3abd9d19a0083c77dc7e538cc587c109b4d9d3281e517ab45cd7ec220fd834fd5d431d352660afb7847c74fc43c306df1e7c58026faacb761d0b7415b1c3cda95ccee767ff621ce7fb7d82cd7091fa2b10319a950bff5d85adbe5e0fa52aa994299b3811ccbc875679f9ee9559af2b5f361dd2c1ef66450ac8e3e1f771a6bc3a06fd3b3df79b9987e1043ae408edf7db991fd40c2377195b014af7ef9c139539aa648f2e3201b38c5b368b35266af751a40474c4d3d440d65f042b574bc04048ac28e1080f347a6e70e75f710b808a17805631e7f593200ad2fbe808072ca7f37c7ded6e84be76fe513f89d6d2a4b74658f477076446e6fed5b5b4b624ec48997d29595130d3761960d9cf857cbd8c796b40b9f7074a7858e4a895d58de1c12911df9407a09e187271eb34606a211a8d33700274a773aada67ccba0e5bbc456e45e60f8106d37199ec17702bc44127ec97fcd21629d3d05341735a8314131c1ae63c07eba345e8649b2ea88aedfe3a9d51e98e8064414ee259657953cb9d33b832615d169307b6bae03f0196edcec7c79e95f3036bf9148a274c570f9b4d2c7746d019e90add82090b90505472b45cf8e50aa809defcdead0365258aade128f878331079c87babc8029385f8dd1ed923fd2449a24df22a5895b63181686c948f24bccb0e55dbb3ef4b5246fa0c8f477bfcb610fbb952805bdbfe3d438cc9d8be97347ad82abf8c8050b3d8557b1be843a176ec062a8b8595bb1b68b89d3a05210563d9efb3f1dacb6e8c72f3e4c5ff10aec9f582d71150fadf362c34e700102d1ee32717988a945245381d81de6ce9869d62e02677ce6a82cdc0bf84126cefa4f685ae0916c267db1f49931c979b77d7823e170a8d2087cda808d2597ae56ff376a46f3d87b1d494a5e29047bfab501c0062a5f0ec671bc4cbf63bc156f67e35e1650c19d6cbe788851dbe21984547b231dd6bd9d1a63e239dff805dd57b6fb8271f9b092598c43756f3bce64b378ad506f2480420c96844d3508e96770803c948a4ed2078bcbfc55ebb97c8b8be389b2adef188d8aa000ba9ca1adfcb94e8d7f2b5570980fda5bf805897ecc977bf996f9812866daf55401750aecf83675ed774b58de4d81a20672d4bd8bfd78e770529b6450d8b70c2d1d149c36252a6f84e86d42743726588f0b1d1eff1f700fe4e70e490010a0b784435ad89261949a4af02030612f26fc995481ac9da1fa66c057a7116419b4add015f771c5bf2c62b5b873b99292d77c61eef95d884003ad3050b3279142778cbdb7b6329e7bcfcdb49b2eeee2445341e661d1f83c5f04cfcffefba4c284c635e1c6b2c38c3c494069fc94cbb18b2fb3c611f65e46c05c109ca01997379eaad216724e449687870a326db9e31d08dfd1326b62c2d1d006bcdbb54565012c7a362c51a86255f3a94620cc70a0455bcb00a15d77986291cc2e12d02304796adf9b50a7850b05104272c695df80317a9ea1a1d8cb2a698b84bf6bfb03ada80d8c7ec1cae92e827c479eefd46591b676ca0dcffa4f4088eb79d710f4f4e04148cdadf62e900878b4222d3ef69a6407667cbd01445f97b2b83ebb71d57f2385f6bd5b2a63614c003f30b54b43411fd111731e875b7aa01c7ad18622f7ef7dc84bd586a81e8a58e00ace64ec7c83020a51ea1d0887a0f1615dc5d98573f88c411a639c6f1e0140ff0d4235e30c01db931414cadbba2688d38cc4274bee117193d1dfb084cc559ab8ea0758f98660ceb0f5da07446c002bc747473b8aed28e9750c81da2a76e92f0baf77fdd8d56820feea76ca4a52cfd595d628145ed0dd991101ca14d857fcf06ee3bffc5377f55d7b72604e4e70d808ece7924ea766d64203433a48765701dc135cf8f19f2aa307f186824c68c11b9f3ccc0ff5b9869d2708b51e21b7b67711426c1b3b7bf899375a62ced3ae31e231dfe7771e9a38349fa016eb78d8a1e5d64164637ae3a252d21ecd53c00e4f07af401be96ec43ddb62225c549733437bb1148813d41fa1baa89030f9ffdc2026b59582101f062d15594128178f6d1e4ed32abb5e5b1163cbeb61b236da657bb56656d71bd583018f13f18c29580304f9aa7d665179c432a63ca2b22e7411bc2553cb58551e6f4f3e50fa914dd881f2b69226705a3c0ac06564a0483caedc6e0aea8824f7874675c380f6a641ebd2cc189bc33dfd034f7736ebdf175895bd5a74d62d6adaeb0bdeb8e791805e51156b951d74fa29d0dea7433f32025c06371aa84fe444d06af7620abb47598392668b3b8a70bf1667eaaf30b8b166d898cbd2dcf5864acb82d47c091cf0c0995080187bbec3483350723971904af40c7e617fbaecfbb00fb3da6b2842719ba5a6c766c82c6fbf21a437fb90946004cdfaa2b735936c48c1fac452c83f7418d97aa52d824f164d2f4e674d5001512960badb9ea2173fe1308acc5e1877b16d054d8f5d0929361f79b4e2209af7be2e5e3150163b4e647bb343ff340a400169ec702582227eeef4896d8abc1a3731c27014ed8d940d5c3342b319054a10d6751ffd70d8a0f71def85d57632e79d61292b93a44e230049f3e8166db6761b1c0ab945ffa0794e014114192ca12d392852d0669e9d24b40d356e07886f584a10852d3c84a1fbd035d243a4d671eca8712c4b545b4c9772d04843c45746a03952ac90a81a7e9188c60aaa459603fb49e114532f64682a33acebb1ddae119caaa50b06aed706d7d7c1371bee3b7ad32085032b2b2d51c613a5d28c1cf750e57e7031e459672f9a1ff343e9e899e2b8fe5e74ca6a2064dc01196eba94df8c9b5c0c4569fcaa3f67f8a28e74558819216510de180b4a997148166e4ffc45d128ff68e656d51353597008db363b57b7887ce1570501a4f818a602cb9978d3f9586d700b7d7da58d55cda98dd22804bf41091f52f0e20dc3fdebfb8732ff7fa44fec011d4a02e3cf97af2b972c91896cb6a0d12da21c241f2c9d0889a40784f76e640793579694757940162112f66d0ba2771977bc872875a9edcec6a87cdc053f1ca0d2176139568882c967a2471dcf705071aa2916fc752e84428658b6f5f2e7e1285808e8eaa5be8266fdae8b0cc8f85830c64d8b1d08342659b2ac6866d7a3d412af8d331ab910c4a1a51dc08315f1fc1c41183bb74e2f6795af2b3f42d2720c20d0e97938f40c83905c62d161530255b73a843b0d18446e7d17445313ad7dce144d32ef1da6a699c5ec91295be7d0ec1186e777631ddbf30614aea6c93d4dafe94dd0a37520f20a922e72ef24cf32e21914546578b10e90997a4292147dc90290932dae0713736bea331ef0c0aa68267b9b98efd12a67fe8d079df634fc1f0d8b6537de21afeb397237b2fe015498327",
|
|
12
|
+
"0x0809da8220a08d2559f7a95a3e3708a919a13b746956a50f5a258f752b2d774ba6ae400c2ab0fe0b4731345da6b78385050544d7454a1d01d505ee7a81c2bd4fa9fd27ded6d790535419e874cf3f8dbb3c47acd8663ea357cb6c52311dff7d66cd11d3faec2a123e842a2e1556978d5a55493f7f9984a51fdb6e751c1cf1d0ad0f3f74d6f755afe7061d2cec812461462d15a43c937f58a9190df3587c1e43dbcbcfe438b904b124aab56d0def2238915b4bb50a8c7b5670b83654ffa46e5f32e3"
|
|
13
|
+
]
|
|
14
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { SideReading } from "@parity/product-lab/domain/checks";
|
|
2
|
+
import type { ProvisionedIdentity } from "@parity/product-lab/domain";
|
|
3
|
+
import type { IntegrationChain } from "@parity/product-lab";
|
|
4
|
+
import { type PeopleOnboarding } from "./onboarding.js";
|
|
5
|
+
/** A new person as the readings see them. */
|
|
6
|
+
export interface ReadPerson {
|
|
7
|
+
readonly name: string;
|
|
8
|
+
/** The account their host gives the app. */
|
|
9
|
+
readonly account: string;
|
|
10
|
+
readonly identity: ProvisionedIdentity;
|
|
11
|
+
/** Resolves once their app is ready again, as the lab declares it (throws with what was waited for). */
|
|
12
|
+
ready(): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
/** The screen and People readings of a new person (see above); a side the lab cannot read is a failed reading, never absent. */
|
|
15
|
+
export declare function personReadings(person: ReadPerson, onboarding: Pick<PeopleOnboarding, "member" | "memberReader">, people: IntegrationChain | undefined, signal?: AbortSignal): Promise<SideReading[]>;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// Copyright 2026 Parity Technologies (UK) Ltd.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
import { PEOPLE_COLLECTION } from "./onboarding.js";
|
|
4
|
+
const message = (error) => (error instanceof Error ? error.message : String(error));
|
|
5
|
+
export async function personReadings(person, onboarding, people, signal) {
|
|
6
|
+
const readings = [];
|
|
7
|
+
const screen = { side: "screen", place: `${person.name}'s screen`, expected: `the app ready, with ${person.name}'s account ${person.account}` };
|
|
8
|
+
await person.ready().then(() => readings.push({ ...screen, found: `ready, with account ${person.account}`, ok: true }), (error) => readings.push({ ...screen, found: message(error), ok: false }));
|
|
9
|
+
const chain = { side: "chain", place: "People", expected: `${person.name} a person, the member key in a ring`, how: onboarding.memberReader };
|
|
10
|
+
try {
|
|
11
|
+
const member = await onboarding.member(person.identity, signal);
|
|
12
|
+
let found = member.state ? `member key ${member.key ?? "(not printed)"} ${member.state} in the ${member.collection ?? "?"} ring${member.ring !== undefined ? ` ${member.ring}` : ""}` : `the member reader said nothing of the member: ${member.lines || "no member line"}`;
|
|
13
|
+
let ok = member.state === "INCLUDED";
|
|
14
|
+
let how = chain.how;
|
|
15
|
+
let at = { chain: "people" };
|
|
16
|
+
if (people) {
|
|
17
|
+
const head = await people.access.finalizedHead();
|
|
18
|
+
at = { chain: "people", block: { number: head.number, hash: head.hash }, head: "finalized" };
|
|
19
|
+
if (member.collection === "People" && member.key) {
|
|
20
|
+
const members = people.api.query.Members?.Members;
|
|
21
|
+
if (!members)
|
|
22
|
+
throw new Error("People runtime has no Members.Members");
|
|
23
|
+
const position = await members.getValue(PEOPLE_COLLECTION, member.key, { at: head.hash });
|
|
24
|
+
ok &&= position !== undefined;
|
|
25
|
+
found += position !== undefined ? "; Members.Members lists it" : "; Members.Members does not list it";
|
|
26
|
+
how = `${how}; the lab read Members.Members`;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
readings.push({ ...chain, found, ok, how, at });
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
readings.push({ ...chain, found: message(error), ok: false });
|
|
33
|
+
}
|
|
34
|
+
return readings;
|
|
35
|
+
}
|