upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--reveal/v5-000005/check.py319
-rw-r--r--reveal/v5-000005/manifest.txt29
-rw-r--r--reveal/v5-000005/manifest.txt.otsbin0 -> 689 bytes
-rw-r--r--reveal/v5-000005/r33389812.ctbin0 -> 17331 bytes
-rw-r--r--reveal/v5-000005/r33389812.nostr.json1
-rw-r--r--reveal/v5-000005/r33389812.tlock11
-rw-r--r--reveal/v5-000005/r33418612.ctbin0 -> 35124 bytes
-rw-r--r--reveal/v5-000005/r33418612.nostr.json1
-rw-r--r--reveal/v5-000005/r33418612.tlock11
-rw-r--r--reveal/v5-000005/r33476212.ctbin0 -> 2414 bytes
-rw-r--r--reveal/v5-000005/r33476212.nostr.json1
-rw-r--r--reveal/v5-000005/r33476212.tlock11
-rw-r--r--reveal/v5-000005/r33505012.ctbin0 -> 8492 bytes
-rw-r--r--reveal/v5-000005/r33505012.nostr.json1
-rw-r--r--reveal/v5-000005/r33505012.tlock11
-rw-r--r--reveal/v5-000005/r33533812.ctbin0 -> 1004 bytes
-rw-r--r--reveal/v5-000005/r33533812.nostr.json1
-rw-r--r--reveal/v5-000005/r33533812.tlock11
-rw-r--r--reveal/v5-000005/r33591412.ctbin0 -> 1735 bytes
-rw-r--r--reveal/v5-000005/r33591412.nostr.json1
-rw-r--r--reveal/v5-000005/r33591412.tlock11
-rw-r--r--reveal/v5-000005/r33649012.ctbin0 -> 2158 bytes
-rw-r--r--reveal/v5-000005/r33649012.nostr.json1
-rw-r--r--reveal/v5-000005/r33649012.tlock11
-rw-r--r--reveal/v5-000005/r34225012.ctbin0 -> 1023 bytes
-rw-r--r--reveal/v5-000005/r34225012.nostr.json1
-rw-r--r--reveal/v5-000005/r34225012.tlock11
-rw-r--r--reveal/v5-000005/r34541812.ctbin0 -> 17349 bytes
-rw-r--r--reveal/v5-000005/r34541812.nostr.json1
-rw-r--r--reveal/v5-000005/r34541812.tlock11
-rw-r--r--reveal/v5-000005/r34570612.ctbin0 -> 34796 bytes
-rw-r--r--reveal/v5-000005/r34570612.nostr.json1
-rw-r--r--reveal/v5-000005/r34570612.tlock11
-rw-r--r--reveal/v5-000005/r34628212.ctbin0 -> 2256 bytes
-rw-r--r--reveal/v5-000005/r34628212.nostr.json1
-rw-r--r--reveal/v5-000005/r34628212.tlock11
-rw-r--r--reveal/v5-000005/r34657012.ctbin0 -> 8253 bytes
-rw-r--r--reveal/v5-000005/r34657012.nostr.json1
-rw-r--r--reveal/v5-000005/r34657012.tlock11
-rw-r--r--reveal/v5-000005/r34685812.ctbin0 -> 1020 bytes
-rw-r--r--reveal/v5-000005/r34685812.nostr.json1
-rw-r--r--reveal/v5-000005/r34685812.tlock11
-rw-r--r--reveal/v5-000005/r34743412.ctbin0 -> 1740 bytes
-rw-r--r--reveal/v5-000005/r34743412.nostr.json1
-rw-r--r--reveal/v5-000005/r34743412.tlock11
-rw-r--r--reveal/v5-000005/r34801012.ctbin0 -> 2526 bytes
-rw-r--r--reveal/v5-000005/r34801012.nostr.json1
-rw-r--r--reveal/v5-000005/r34801012.tlock11
-rw-r--r--reveal/v5-000005/r34887412.ctbin0 -> 658 bytes
-rw-r--r--reveal/v5-000005/r34887412.nostr.json1
-rw-r--r--reveal/v5-000005/r34887412.tlock11
-rw-r--r--reveal/v5-000005/r35377012.ctbin0 -> 1019 bytes
-rw-r--r--reveal/v5-000005/r35377012.nostr.json1
-rw-r--r--reveal/v5-000005/r35377012.tlock11
-rw-r--r--reveal/v5-000005/r35549812.ctbin0 -> 2269 bytes
-rw-r--r--reveal/v5-000005/r35549812.nostr.json1
-rw-r--r--reveal/v5-000005/r35549812.tlock11
-rw-r--r--reveal/v5-000005/r35809012.ctbin0 -> 665 bytes
-rw-r--r--reveal/v5-000005/r35809012.nostr.json1
-rw-r--r--reveal/v5-000005/r35809012.tlock11
-rw-r--r--reveal/v5-000005/r36039412.ctbin0 -> 673 bytes
-rw-r--r--reveal/v5-000005/r36039412.nostr.json1
-rw-r--r--reveal/v5-000005/r36039412.tlock11
-rw-r--r--reveal/v5-000005/r36644212.ctbin0 -> 1026 bytes
-rw-r--r--reveal/v5-000005/r36644212.nostr.json1
-rw-r--r--reveal/v5-000005/r36644212.tlock11
-rw-r--r--reveal/v5-000005/r36701812.ctbin0 -> 2452 bytes
-rw-r--r--reveal/v5-000005/r36701812.nostr.json1
-rw-r--r--reveal/v5-000005/r36701812.tlock11
-rw-r--r--reveal/v5-000005/r37796212.ctbin0 -> 1024 bytes
-rw-r--r--reveal/v5-000005/r37796212.nostr.json1
-rw-r--r--reveal/v5-000005/r37796212.tlock11
-rw-r--r--reveal/v5-000005/seal.json43
73 files changed, 667 insertions, 0 deletions
diff --git a/reveal/v5-000005/check.py b/reveal/v5-000005/check.py
new file mode 100644
index 0000000..7f86b8d
--- /dev/null
+++ b/reveal/v5-000005/check.py
@@ -0,0 +1,319 @@
1#!/usr/bin/env python3
2"""
3Check Echo's self-revealing ledger seals (`sha256-live-v5`) without trusting Echo.
4
5 python3 check.py SEAL_DIR [SEAL_DIR ...] [--tle PATH] [--offline]
6
7Needs Python 3.11+, the `cryptography` package (ChaCha20-Poly1305) and drand's `tle` binary
8(`go install github.com/drand/tlock/cmd/tle@v1.2.0`). It imports nothing of Echo's: a checker that needs the thing it
9checks is not a checker, which is why it is copied, whole, into every seal directory.
10
11Each SEAL_DIR is one seal: `manifest.txt` (the exact text the seal's digest is the sha256 of), `seal.json`, and per
12reveal group `r<ROUND>.tlock` (the group's key, time-locked to that drand round) and `r<ROUND>.ct` (the group,
13encrypted under that key), and, once the group has been revealed, `r<ROUND>.held.json` (how many of its withheld
14lines Echo publishes no salt for, and why) and any number of `r<ROUND>.salts.<N>.json`: each the salts of withheld
15lines Echo decided to open and had not erased, each with its line. `manifest.txt.ots`, when present, is an
16OpenTimestamps proof over the manifest: `ots verify manifest.txt.ots` checks it against Bitcoin.
17
18What it checks, from the files alone and the beacon:
19 1. the manifest hashes to the seal's digest, and each seal names the one before it (when several are given);
20 2. each group's ciphertext and locked key hash to what the manifest commits, and the key is locked to the
21 manifest's round of the manifest's chain;
22 3. for every group whose round the beacon has signed: the round's signature as each relay serves it, the key
23 unlocked with it, the group decrypted, its bytes hashed to the committed digest, its lines and withheld lines
24 counted against the committed counts, its lines in id order, and every line's reveal day recomputed from its
25 own settling instant under the seal's named rule (`utc-day-after-close`: the first 00:00 UTC after
26 `settles_at`, else after the deadline);
27 4. for every opened group with releases: each names this seal, round and group and its own number; each released
28 salt and line hash to the withheld line's committed hash; no line is settled twice; and a hold, where there is
29 one, names the group and counts no more lines than are withheld;
30 5. once every group of every seal from the first is open and every withheld line released: the union of their v4
31 lines, sorted by id, rehashes to the v4 digest the last seal follows, so no sealed forecast was left out of a
32 reveal. Where a withheld line has no released salt (held, erased, or not yet released) that digest cannot be
33 rebuilt, and this says so and why: what is checked then is only that every forecast the v4 seal covers is in a
34 group, counted. A withheld line is never called verified.
35
36A group whose round is not yet signed, or whose withheld lines have no release yet, is reported as pending or held,
37not as a failure. Exit 0 when everything checkable passed, 1 when anything did not match.
38"""
39from __future__ import annotations
40
41import argparse
42import base64
43import hashlib
44import json
45import re
46import subprocess
47import sys
48import urllib.request
49import zlib
50from datetime import datetime, timedelta, timezone
51from pathlib import Path
52
53
54def sha(b: bytes) -> str:
55 return hashlib.sha256(b).hexdigest()
56
57
58def parse_manifest(text: str) -> dict:
59 lines = text.split("\n")
60 if lines[0] != "sha256-live-v5":
61 raise ValueError(f"not a v5 manifest: {lines[0]!r}")
62 m = {"groups": []}
63 for ln in lines[1:]:
64 word, _, rest = ln.partition(" ")
65 if word == "prev":
66 m["prev"] = None if rest == "-" else rest
67 elif word == "follows":
68 seq, digest, n = rest.split(" ")
69 m["follows"] = {"seq": int(seq), "digest": digest, "n": int(n)}
70 elif word == "covers":
71 m["covers"] = rest.split(" ")
72 elif word == "variant":
73 m["variant"] = json.loads(rest)
74 elif word == "counts":
75 m["n"], m["n_withheld"], m["n_groups"] = map(int, rest.split(" "))
76 elif word == "group":
77 r, at, n, w, digest, ct, key, late = rest.split(" ")
78 m["groups"].append({"round": int(r), "reveal_at": at, "n": int(n), "n_withheld": int(w),
79 "digest": digest, "ct": ct, "key": key, "late": late == "1"})
80 else:
81 raise ValueError(f"unknown manifest line {ln!r}")
82 return m
83
84
85def stanza(locked: str) -> tuple[int, str] | None:
86 body = "".join(ln for ln in locked.strip().splitlines() if not ln.startswith("-----"))
87 m = re.search(rb"-> tlock (\d+) ([0-9a-f]{64})", base64.b64decode(body))
88 return (int(m.group(1)), m.group(2).decode()) if m else None
89
90
91def round_at(beacon: dict, at: datetime) -> int:
92 t = at.timestamp()
93 whole = int(t) + (t != int(t))
94 if whole <= beacon["genesis_time"]:
95 return 1
96 return -(-(whole - beacon["genesis_time"]) // beacon["period"]) + 1
97
98
99def reveal_day(closes: datetime) -> datetime:
100 d = closes.astimezone(timezone.utc).date() + timedelta(days=1)
101 return datetime(d.year, d.month, d.day, tzinfo=timezone.utc)
102
103
104def parse_line(ln: str) -> dict:
105 """One line: `id|issued_at|deadline|forecaster|p|settlement|anchor<TAB>open:<v4>` or `...<TAB>withheld:<hex>`."""
106 numeric, tab, text = ln.partition("\t")
107 if not tab:
108 raise ValueError("a line without its text layer")
109 fid, issued, deadline, forecaster, p, rest = numeric.split("|", 5)
110 dec = json.JSONDecoder()
111 settle, end = dec.raw_decode(rest)
112 if rest[end] != "|":
113 raise ValueError("settlement not followed by the anchor")
114 anchor, end2 = dec.raw_decode(rest, end + 1)
115 if end2 != len(rest):
116 raise ValueError("trailing bytes after the anchor")
117 out = {"id": int(fid), "issued_at": issued, "deadline": deadline, "forecaster": forecaster, "p": float(p),
118 "settlement": settle, "anchor": anchor}
119 if text.startswith("open:"):
120 out["v4"] = text[5:]
121 if not out["v4"].startswith(f"{fid}|"):
122 raise ValueError("the text layer is another forecast's line")
123 elif re.fullmatch(r"withheld:[0-9a-f]{64}", text):
124 out["withheld"] = text[9:]
125 else:
126 raise ValueError(f"unknown text layer {text[:20]!r}")
127 return out
128
129
130def beacon_round(beacon: dict, rnd: int) -> dict:
131 """What each relay serves for the round: its signature, or why there is none."""
132 out = {}
133 for relay in beacon["relays"]:
134 url = f"{relay.rstrip('/')}/{beacon['chain_hash']}/public/{rnd}"
135 try:
136 with urllib.request.urlopen(url, timeout=20) as r: # noqa: S310 — the seal's own relays
137 out[relay] = json.loads(r.read()).get("signature")
138 except Exception as exc: # noqa: BLE001 — report, go on
139 out[relay] = f"unavailable ({type(exc).__name__})"
140 return out
141
142
143def unlock(tle: str, beacon: dict, locked: str) -> bytes | None:
144 """The key, or None while the round is unsigned. Each relay is tried in turn."""
145 errors = []
146 for relay in beacon["relays"]:
147 r = subprocess.run([tle, "-d", "-n", relay.rstrip("/") + "/", "-c", beacon["chain_hash"]],
148 input=locked.encode(), capture_output=True, timeout=120, check=False)
149 if r.returncode == 0:
150 return r.stdout
151 if b"too early" in r.stderr:
152 return None
153 errors.append(f"{relay}: {r.stderr.decode(errors='replace').strip()[-160:]}")
154 raise RuntimeError("; ".join(errors))
155
156
157def release(d: Path, seal_digest: str, g: dict, lines: list[dict], say) -> tuple[dict[int, str], int, str | None]:
158 """An opened group's releases and hold, checked against the group: (id -> the v4 line each released salt opens,
159 how many withheld lines were opened and found erased, and the hold's reason where Echo published one)."""
160 r = g["round"]
161 shut = {x["id"]: x["withheld"] for x in lines if "withheld" in x}
162 out, erased, seen, bad = {}, set(), set(), []
163 files = sorted(d.glob(f"r{r}.salts.*.json"), key=lambda p: int(p.name.split(".")[-2]))
164 for k, path in enumerate(files):
165 rel = json.loads(path.read_text())
166 say(rel.get("format") == "echo-reveal-salts/1" and rel.get("seal") == seal_digest
167 and rel.get("round") == r and rel.get("group") == g["digest"] and rel.get("n") == k
168 and path.name == f"r{r}.salts.{k}.json",
169 f"round {r}: release {k} names this seal, round and group, and follows the one before")
170 for x in rel.get("released", []):
171 i, line = x["id"], x["line"]
172 opens = (i in shut and i not in seen and line.startswith(f"{i}|")
173 and sha(bytes.fromhex(x["salt"]) + line.encode()) == shut[i])
174 if opens:
175 out[i] = line
176 else:
177 bad.append(i)
178 seen.add(i)
179 for i in rel.get("erased", []):
180 if i not in shut or i in seen:
181 bad.append(i)
182 erased.add(i)
183 seen.add(i)
184 if files:
185 say(not bad, f"round {r}: {len(out)} released lines open their committed hashes, {len(erased)} opened lines "
186 f"found erased, none settled twice" + (f" ({len(bad)} do not, e.g. {bad[:3]})" if bad else ""))
187 why = None
188 hold = d / f"r{r}.held.json"
189 if hold.exists():
190 h = json.loads(hold.read_text())
191 say(h.get("format") == "echo-reveal-held/1" and h.get("seal") == seal_digest and h.get("round") == r
192 and h.get("group") == g["digest"] and 0 <= h.get("held", -1) <= len(shut),
193 f"round {r}: the hold names this seal, round and group, and counts at most its withheld lines")
194 why = str(h.get("why") or "no reason given")
195 left = len(shut) - len(out) - len(erased)
196 if left:
197 print(f" .... round {r}: {left} withheld lines have no released salt: counted, not rehashed"
198 + (f" (Echo publishes none: {why})" if why else " (no release or hold published yet)"))
199 return out, len(erased), why
200
201
202def check(dirs: list[Path], tle: str = "tle", offline: bool = False) -> int:
203 from cryptography.hazmat.primitives.ciphers.aead import ChaCha20Poly1305
204
205 failed, pending, withheld, held, erased, union = 0, 0, 0, 0, 0, {}
206 reasons: set[str] = set()
207 first_prev = "unset"
208
209 def say(ok: bool, what: str) -> None:
210 nonlocal failed
211 failed += not ok
212 print(f" {'PASS' if ok else 'FAIL'} {what}")
213
214 prev_digest = None
215 seals = []
216 for d in dirs:
217 text = (d / "manifest.txt").read_bytes()
218 row = json.loads((d / "seal.json").read_text())
219 seals.append((d, text, row, parse_manifest(text.decode())))
220 seals.sort(key=lambda s: s[2]["seq"])
221 last = None
222 for i, (d, text, row, m) in enumerate(seals):
223 print(f"v5 seal {row['seq']}: {m['n']} forecasts in {m['n_groups']} reveal groups, {m['n_withheld']} withheld, "
224 f"follows v4 seal {m['follows']['seq']}")
225 say(sha(text) == row["digest"], f"sha256(manifest.txt) is the seal's digest {row['digest'][:16]}…")
226 say(len(m["groups"]) == m["n_groups"] and sum(g["n"] for g in m["groups"]) == m["n"]
227 and sum(g["n_withheld"] for g in m["groups"]) == m["n_withheld"], "the manifest's counts add up")
228 if i == 0:
229 first_prev = m["prev"]
230 else:
231 say(m["prev"] == prev_digest, "it names the seal before it")
232 prev_digest, last = row["digest"], m
233 b = m["variant"]["beacon"]
234 for g in m["groups"]:
235 r = g["round"]
236 ct, locked = (d / f"r{r}.ct").read_bytes(), (d / f"r{r}.tlock").read_text()
237 say(sha(ct) == g["ct"] and sha(locked.encode()) == g["key"],
238 f"round {r}: the ciphertext and the locked key are the committed ones")
239 say(stanza(locked) == (r, b["chain_hash"]), f"round {r}: the key is locked to that round of that chain")
240 say(round_at(b, datetime.fromisoformat(g["reveal_at"])) == r, f"round {r} is signed at {g['reveal_at']}")
241 if not offline:
242 sigs = beacon_round(b, r)
243 good = {s for s in sigs.values() if s and not s.startswith("unavailable")}
244 print(f" .... round {r} signature from {len(sigs)} relays: "
245 + ("not yet signed" if not good else f"{len(good)} distinct: {min(good)[:24]}…"))
246 if len(good) > 1:
247 say(False, f"round {r}: relays disagree on its signature")
248 key = unlock(tle, b, locked)
249 if key is None:
250 pending += 1
251 print(f" .... round {r} ({g['reveal_at']}) not yet signed: {g['n']} forecasts stay locked")
252 continue
253 try:
254 plain = zlib.decompress(ChaCha20Poly1305(key).decrypt(b"\x00" * 12, ct, None))
255 except Exception as exc: # noqa: BLE001 — a finding, not a crash
256 say(False, f"round {r}: the ciphertext does not open under its key ({type(exc).__name__})")
257 continue
258 say(sha(plain) == g["digest"], f"round {r}: the opened group hashes to its committed digest")
259 lines = [parse_line(ln) for ln in plain.decode().split("\n")]
260 ids = [x["id"] for x in lines]
261 say(len(lines) == g["n"] and sum("withheld" in x for x in lines) == g["n_withheld"],
262 f"round {r}: {len(lines)} lines, {g['n_withheld']} withheld, as committed")
263 say(ids == sorted(set(ids)), f"round {r}: lines in id order, none twice")
264 due = datetime.fromisoformat(g["reveal_at"])
265 if m["variant"].get("reveal") == "utc-day-after-close":
266 wrong = [x["id"] for x in lines if reveal_day(datetime.fromisoformat(
267 (x["settlement"] or {}).get("settles_at") or x["deadline"])) != due]
268 say(not wrong, f"round {r}: every line belongs to this reveal day"
269 + (f" ({len(wrong)} do not, e.g. {wrong[:3]})" if wrong else ""))
270 else:
271 print(f" .... round {r}: reveal rule {m['variant'].get('reveal')!r} is not one this checker "
272 "recomputes; which lines belong to the day is unchecked")
273 opened, gone, why = release(d, row["digest"], g, lines, say)
274 for x in lines:
275 if x["id"] in union:
276 say(False, f"forecast {x['id']} is in two groups")
277 union[x["id"]] = x.get("v4") or opened.get(x["id"])
278 shut = sum(1 for x in lines if "withheld" in x and x["id"] not in opened) - gone
279 erased += gone
280 if why is None:
281 withheld += shut
282 else:
283 held += shut
284 reasons.add(why)
285 if last is not None:
286 if first_prev is not None:
287 print(" .... completeness: the first seal given is not the chain's first; give every seal from it")
288 elif pending:
289 print(f" .... completeness: {pending} groups still locked; it is checkable once all have opened")
290 elif withheld or held or erased:
291 told = [f"{withheld} withheld lines not yet released"] if withheld else []
292 told += ([f"{held} withheld lines held, for which Echo publishes no salt ({'; '.join(sorted(reasons))})"]
293 if held else [])
294 told += [f"{erased} erased stay hashes"] if erased else []
295 print(f" .... completeness: {', '.join(told)}: those lines can be counted but not rehashed, so the v4 "
296 f"lines cannot all be rebuilt and the v4 digest is NOT checked; {len(union)} forecasts against "
297 f"the v4 seal's {last['follows']['n']}")
298 say(len(union) == last["follows"]["n"], "every forecast the v4 seal covers is in a group, counted")
299 else:
300 got = sha("\n".join(union[k] for k in sorted(union)).encode())
301 say(got == last["follows"]["digest"] and len(union) == last["follows"]["n"],
302 f"the union of {len(union)} lines rehashes to v4 seal {last['follows']['seq']}'s digest")
303 print("\nNOT VERIFIED" if failed else f"\nVERIFIED{f' ({pending} groups not yet revealed)' if pending else ''}")
304 return 1 if failed else 0
305
306
307def main(argv: list[str]) -> int:
308 ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter)
309 ap.add_argument("dirs", nargs="*", default=[str(Path(__file__).resolve().parent)],
310 help="seal directories, any order (default: the one this script sits in)")
311 ap.add_argument("--tle", default="tle", help="the tle binary that unlocks a key once its round is signed")
312 ap.add_argument("--offline", action="store_true",
313 help="do not fetch each round's signature from the relays for display; tle still asks them")
314 args = ap.parse_args(argv)
315 return check([Path(d) for d in args.dirs], tle=args.tle, offline=args.offline)
316
317
318if __name__ == "__main__":
319 raise SystemExit(main(sys.argv[1:]))
diff --git a/reveal/v5-000005/manifest.txt b/reveal/v5-000005/manifest.txt
new file mode 100644
index 0000000..c61ccbb
--- /dev/null
+++ b/reveal/v5-000005/manifest.txt
@@ -0,0 +1,29 @@
1sha256-live-v5
2prev 0577329be46aad3dc6b6ba6588d255eb95d6137d7abd48f8ad8568134ff4437d
3follows 35 78f9557d2baf5a89255f1dbdb2911b08e135c691dd4008eac25aea75b152ba92 41559
4covers 2026-10-04T00:08:35.532031Z 2026-10-04T22:15:27.977326Z
5variant {"beacon":{"chain_hash":"52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971","genesis_time":1692803367,"period":3,"relays":["https://api.drand.sh","https://api2.drand.sh","https://api3.drand.sh","https://drand.cloudflare.com"],"scheme":"bls-unchained-g1-rfc9380"},"cipher":"chacha20poly1305-zlib6-nonce0","gate":{"default":"withheld: a kept salt can be released later; an opened text can never be withdrawn","opened":"none","why":"no decision by Echo yet"},"line":"numeric<TAB>open:<v4 line> | numeric<TAB>withheld:sha256(salt||v4 line)","reveal":"utc-day-after-close","salts":"key ring: one content a seal, one part a line","tool":{"name":"tle","sha256":"69157d8c14a1d390d1b7744946288f83d4b10748471d5447f9abb77a5902c541","version":"tlock v1.2.0 -- github.com/drand/tlock"}}
6counts 2431 2431 23
7group 33389812 2026-10-26T00:00:00.000000Z 300 300 7160ed393ce2f9a4e9ea2820e13b71b1db629d4d9e6c8615cda9c9817c2c6d8b cfed2d25c3392ee57aa6099666ad2e947a205c3333c6cd1b95c0836c40307368 7d7e55ea0d66efc12dbbcfb2b9dc59c936992f776b7224d1ee7e62999adc67a5 0
8group 33418612 2026-10-27T00:00:00.000000Z 609 609 1ec3dd00b2ff1bb19bf85c1ffede501f371c9ad0934b7a00e6a47d1bbdfc6fbd f48e22d96c0ed3590b909825e8ebe4ef9826aceef4e175118032270bde0b5cbf 9ce63efac7c1ec41841bee4bb8553d1688f78f24b1ec95aa736a051f6e70d754 0
9group 33476212 2026-10-29T00:00:00.000000Z 36 36 085e522084a30ec4f62dc60502dced65e7521d5bc55e8c36ae61161cedac4220 1acc1f3e275822e9d21d3fa66458f9364d1e035307639c964d0f756883352010 ab2966cf764ab223af193df2b43246e3aa6b9a5c67fee8d1607bca3f5df345d5 0
10group 33505012 2026-10-30T00:00:00.000000Z 141 141 5c44705fa1adf9ddbf49fdad19cef8b99d6c2922d5d9aca4c2626b88b834b7c1 97d86b8e4516588857837f735736eea3e6dee72af6a08495e59d9bfcf627ab23 9e4d25bf83a0576757dd77800dd4dcac695bbdba5ba01ce75fdf93b3bc1a7e9b 0
11group 33533812 2026-10-31T00:00:00.000000Z 12 12 385a6d313b2fdad4b89f8c620d726a3955f5c7c36124b3a1da55798f3abeb064 c4019e0c2a11f18f7c1f4ff3a9f8595484a33aef244ed1ff6880ecc2744553f0 5d4a7d3f8e6a5e9084c1debde1c9123e13c966e1ea51e974978f8032ba48948c 0
12group 33591412 2026-11-02T00:00:00.000000Z 24 24 8138aff004afc37382c61f9d5cb1e031d4d85a7affe66e653a4c747c68e7726c 1defe4a09e67b35f941566e56ea43894f26c08209ab55903008ed79e8e03d224 acc6a66130044c4bd72f14e31edca9bea8e616aeb821d4ae25e88b7aefccc380 0
13group 33649012 2026-11-04T00:00:00.000000Z 32 32 faaf0688a2d20920ecbe4d3a967c323602bceaf11064ec9aa9f3233a611ece15 1f15e15bc90bb8c12469cec6ef2665a961efb214c4e7a70f7234724401113d0b 94082593c332c9e28af5ae5737dfd2dbb38aa4fb8d45f4b39db95e821807a36e 0
14group 34225012 2026-11-24T00:00:00.000000Z 12 12 cad342817edab1d6818e6dbf2f19324670896ca5a407dcf22f044557db08b0cf 70fda3d20bfe1783a663e49ce7cf252542f2820dd17f54ce0a297133d99e3be0 1548d1f58f2cfdbc6e05c401e582ddbb1b52298a11cbc932f5a27eb5d6f8144b 0
15group 34541812 2026-12-05T00:00:00.000000Z 300 300 c2fa5cf383d98ce6bb15e19aafc0d2a9bd11cbc123901a90788f4633c5611945 4ae91d2472dc836126716b5266d1c68a6c39f26d425fc35939bb69eaf0d1ce67 835b52e4bd0d5498cb84bf9fb27f3404b83bda155a673fc6cb03e7acbdda6fa2 0
16group 34570612 2026-12-06T00:00:00.000000Z 600 600 454956c72a8228d467c8856cd4d5ec0c809d56deb021d81815ae18a927833fef efbfed8008317e6834fe53b1f7358eff1d70cea358294e1d3318eb4e008606f6 47959d8b29c8a4be9ca6967ec7fb38d60843af4bb7a3eb6d8263e3686044eb9d 0
17group 34628212 2026-12-08T00:00:00.000000Z 33 33 f7f15fab36893ef6112b050df131e4e6048de2651c8830f1f3f0fde84a499b64 42ba49d410f4ff39233416321db4602452f539ee691927ba36db712a769d2087 2998c7604a8914f8924b698d665df85d820f47933fbeef5b46c332537a9e146a 0
18group 34657012 2026-12-09T00:00:00.000000Z 135 135 2fedd94c08a78524c5de8bba2483aae1e6ba046559629cbe22639714ae7b79cd e29a7a2071e37785c773ad7a4da0b676b656af753d0c11d037f01e717cc3eae3 3fcfce1a83733a4c90dcc4cc204c6c8e6920467b8bb39501ed8e07fa227300bb 0
19group 34685812 2026-12-10T00:00:00.000000Z 12 12 c393c219d135978da19215104fde80e64dced0f43b78b1367630f9613ba2f19f 9962fec517b8709104d24279ed2534bb95aa9066f76d673e1f8b5ed834de15f0 4c7e11f149ece5c4160efb71873f375a117f1ece8798f0fb517ca706fbe30b6d 0
20group 34743412 2026-12-12T00:00:00.000000Z 24 24 a13f740471c6ef24ead06f143bcb44ca083858f7243ff0150769f71c0408692b 0a1fd6cf643812ce6e340a252f5d2746531e6632aa7d24a5b881d8f08ee05832 445c23523eb85f9f9cd68df2cdafe98b0dfab74eb32304aac794cbdc7500bb1b 0
21group 34801012 2026-12-14T00:00:00.000000Z 38 38 9478931acf15a4aaea639dfcb8499f03a4979babdb72658cc63211de02e72b5e b69a86b337f6a8adf2f55ee752784cbaa70aee6a92ee761fe9cee933807ec8b5 621bde25731b76375c72a3f44ba0bb948d0573ca37ec696fe8d28ca5be78799f 0
22group 34887412 2026-12-17T00:00:00.000000Z 6 6 01cd6b4ebf83d899fd42a255ad1aab1216fc8a6e23cc216c1b2da409c29e37cc 5b5a264442c07dd15124f2fdf3ea07b19ba024c7dbe337d8ba85852d526bc39f 912bf42267a4bbde9df805d563e96a2ec738e98437eb2bd6f00936b5dd7dc0f3 0
23group 35377012 2027-01-03T00:00:00.000000Z 12 12 a1178ffd5469123dd29fd6ce484aff177aebf0dfbfc0baaaf7833002effac139 c88e17c9bc1f9cb150b1d5bc5ff6d855ebadb70420de220d2e6424420b8956a4 056431ba713bc16d1da2a25f2738cf17d8f441179b50bb4f1ccffb8e05c8f728 0
24group 35549812 2027-01-09T00:00:00.000000Z 33 33 93bc1d6c9259648ebb3fdb065868d3160e7d89f84f89bb165be15722225018d3 ef0e8da4b8d1a7efd96c2637871c613864d6349a14c91c58baad3a6f8073c6bf d0bee2b4ec621b549baa730b4136b43cd8a2f3a3480bbd92fed832024319847a 0
25group 35809012 2027-01-18T00:00:00.000000Z 6 6 473c5abd7527eae69be86c6e2088ac2cd692d52c1a7844ab4826eb5651b2945c 62582b020e107f5a413899cc1982a5be9e2241d1b7db07257ef5a50ff0742b44 50b6fa6cc06b97d4f8321a43d6772fd7e0534ee3ff70ff8de2979c6575f81e88 0
26group 36039412 2027-01-26T00:00:00.000000Z 6 6 cf3f916e4efb7e3c9e4a9161a5b0bd4739f5f61811c39c82909ce1c4a1964f32 da0bd8a75d9fbd63b887d74749d6ec0aecfc56d5183b4c56713d9ec8b6d9d5e6 e00069a7463e55579321a1853e5bda4329425e57bd9fa3c5647929a85ce9a30e 0
27group 36644212 2027-02-16T00:00:00.000000Z 12 12 56251620b93097301ff74f8d70ccda92a24cb8d03abcdede34515962a46a023f 31c5f02a5f95a2d8995a48471364b860b0a550211ff2a10ed7f7c2f25420c66e 8f485e9db751bd6433bd490d319050b405f82d43ee79ba1eb840505396c00198 0
28group 36701812 2027-02-18T00:00:00.000000Z 36 36 dc02baa02b219c3825e1840f36deb22c572a73849a1e332031d21be844f14777 8b3781732a63cbb8960589b8dcd3dadca533e8f0637200b89bea4562acb3798c f57d4d7f768dbea625391b1a285f8b0def91af18b070f53c5361265b4204982f 0
29group 37796212 2027-03-28T00:00:00.000000Z 12 12 b3de8f4fe356e373b95d4eb5ce9dff0de0babfda3a92519705bbde73e759287f 72cad9b5287fd6ddbaef9eca850d43b74ff546bee32efb9f1693822555810b8e d9eb8279f77659323f93c7b858211a6d0baa3ab0492ae4419c76eb66b8fc1fae 0 \ No newline at end of file
diff --git a/reveal/v5-000005/manifest.txt.ots b/reveal/v5-000005/manifest.txt.ots
new file mode 100644
index 0000000..4275207
--- /dev/null
+++ b/reveal/v5-000005/manifest.txt.ots
Binary files differ
diff --git a/reveal/v5-000005/r33389812.ct b/reveal/v5-000005/r33389812.ct
new file mode 100644
index 0000000..c76c0a3
--- /dev/null
+++ b/reveal/v5-000005/r33389812.ct
Binary files differ
diff --git a/reveal/v5-000005/r33389812.nostr.json b/reveal/v5-000005/r33389812.nostr.json
new file mode 100644
index 0000000..dd298f6
--- /dev/null
+++ b/reveal/v5-000005/r33389812.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzMzg5ODEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKaHBFek1EN3RNSXJ2QXdkQzNYZWtaVExqbkp6SHFNY1VVK28zOWFy\neE54UzZZNGlaZU9sVHhBTDRhWi9rZGZsOApEVWZEblVtL2RQUjlUZkw4VTJVcjZD\nQVUxN2pnbDlQUFMyUHlCVUVCSWlxMzRwU3hSTWhnd3NtZmJ1MEFXTUcrCm5YK3hr\nUkQ0T1EyM1JtblV2dDEvV2tqc3R6SEgvcko4Y2pCdk9pTVZEV3MKLS0tIDlkNndM\nSkFmKyt1OTBscmlaendXL1RBay9oeXN1WVRQQWdVa1FRMDJvNGMK2vfX3xjbzHQx\nPWINEGBnRUgtgRighxpzxaJH1C3A+WJFHWw8NiPgWOMzZpP+fp00JRs7HPa/zOtO\nTUl+8Uf+Uw==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","33389812"],["reveal_at","2026-10-26T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","7160ed393ce2f9a4e9ea2820e13b71b1db629d4d9e6c8615cda9c9817c2c6d8b"],["ct","cfed2d25c3392ee57aa6099666ad2e947a205c3333c6cd1b95c0836c40307368"],["seal","6355ca578dd42a054f8b1075a8019e4f72a31e1b400f34708f5c4b2c56c2f4c5"]]}
diff --git a/reveal/v5-000005/r33389812.tlock b/reveal/v5-000005/r33389812.tlock
new file mode 100644
index 0000000..c076fb8
--- /dev/null
+++ b/reveal/v5-000005/r33389812.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzMzg5ODEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKaHBFek1EN3RNSXJ2QXdkQzNYZWtaVExqbkp6SHFNY1VVK28zOWFy
5eE54UzZZNGlaZU9sVHhBTDRhWi9rZGZsOApEVWZEblVtL2RQUjlUZkw4VTJVcjZD
6QVUxN2pnbDlQUFMyUHlCVUVCSWlxMzRwU3hSTWhnd3NtZmJ1MEFXTUcrCm5YK3hr
7UkQ0T1EyM1JtblV2dDEvV2tqc3R6SEgvcko4Y2pCdk9pTVZEV3MKLS0tIDlkNndM
8SkFmKyt1OTBscmlaendXL1RBay9oeXN1WVRQQWdVa1FRMDJvNGMK2vfX3xjbzHQx
9PWINEGBnRUgtgRighxpzxaJH1C3A+WJFHWw8NiPgWOMzZpP+fp00JRs7HPa/zOtO
10TUl+8Uf+Uw==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000005/r33418612.ct b/reveal/v5-000005/r33418612.ct
new file mode 100644
index 0000000..476ae5e
--- /dev/null
+++ b/reveal/v5-000005/r33418612.ct
Binary files differ
diff --git a/reveal/v5-000005/r33418612.nostr.json b/reveal/v5-000005/r33418612.nostr.json
new file mode 100644
index 0000000..52facc6
--- /dev/null
+++ b/reveal/v5-000005/r33418612.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNDE4NjEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKZ2JLNDczS2NQL05wMmRpSFJmMUF5eWUvdWJYY3Z2elZaVmtSemhK\nZVdhSW4vaXlCVml5RFNlZlZldEVWMmZXYQpCVndoWVJHaWRWTVlBR1AwUGJKOEdx\nNU9mR0tmMGdhbmpibGQ3WHJTM2c4RVJJbEJOV0xkQjdsMmVKdkxpWUJHCk5DVGFV\nWEozZ1BheWZFZTR5NnlZc2ZSdGVXZnJhemU1YTBtaGhMNGtkTXcKLS0tIFE0Vmd2\nU09HcW04blVSZWxPbW9jYlRaa1g2MENFVTU0M0Z4WWM1S1lzVFEKOjbCTADH2kG1\nkCrGfo5rhgNOZDkp9octRlHXJ5qiqt+ILYBD+4oeKVptPoQzfv+AY0S1FmUhn9KQ\nmdp8nPICRg==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","33418612"],["reveal_at","2026-10-27T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","1ec3dd00b2ff1bb19bf85c1ffede501f371c9ad0934b7a00e6a47d1bbdfc6fbd"],["ct","f48e22d96c0ed3590b909825e8ebe4ef9826aceef4e175118032270bde0b5cbf"],["seal","6355ca578dd42a054f8b1075a8019e4f72a31e1b400f34708f5c4b2c56c2f4c5"]]}
diff --git a/reveal/v5-000005/r33418612.tlock b/reveal/v5-000005/r33418612.tlock
new file mode 100644
index 0000000..a71e144
--- /dev/null
+++ b/reveal/v5-000005/r33418612.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNDE4NjEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKZ2JLNDczS2NQL05wMmRpSFJmMUF5eWUvdWJYY3Z2elZaVmtSemhK
5ZVdhSW4vaXlCVml5RFNlZlZldEVWMmZXYQpCVndoWVJHaWRWTVlBR1AwUGJKOEdx
6NU9mR0tmMGdhbmpibGQ3WHJTM2c4RVJJbEJOV0xkQjdsMmVKdkxpWUJHCk5DVGFV
7WEozZ1BheWZFZTR5NnlZc2ZSdGVXZnJhemU1YTBtaGhMNGtkTXcKLS0tIFE0Vmd2
8U09HcW04blVSZWxPbW9jYlRaa1g2MENFVTU0M0Z4WWM1S1lzVFEKOjbCTADH2kG1
9kCrGfo5rhgNOZDkp9octRlHXJ5qiqt+ILYBD+4oeKVptPoQzfv+AY0S1FmUhn9KQ
10mdp8nPICRg==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000005/r33476212.ct b/reveal/v5-000005/r33476212.ct
new file mode 100644
index 0000000..363703b
--- /dev/null
+++ b/reveal/v5-000005/r33476212.ct
Binary files differ
diff --git a/reveal/v5-000005/r33476212.nostr.json b/reveal/v5-000005/r33476212.nostr.json
new file mode 100644
index 0000000..6fa4b3c
--- /dev/null
+++ b/reveal/v5-000005/r33476212.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNDc2MjEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKaXVNb2lNOFdjVEpGeUg1Ni94SUtqcHhjUCt4QVpBNmRFR2IyTmQx\nTkFqcXF0M0VhTmxZaTJiNFhweHgwNVRGZApGbmVJNTNMQ250dWJMUkYxUXNOaUJV\nbnk0TjY2eURKbmp5d2J1RCtWY3FzSCtwL2VnR2xvMVBydUl2eFU4U1ZKCjlLbFFH\nVTJzODJrR3RZOWlESjFianNRSXcrODRQbDhERUNrWE8wT1hISlkKLS0tIHp6amhW\nY2p3bmdza1pKUC9QWk0yUWtOY2FzS3J2WHhjNUREYWgzM1BvbzAKK2qmRFiu+jVP\nJ0i70TpalQdwtgm6nHOkJf/9A7uAzD+mt3hPqMsw8YMAdhft9TFQ+eCwgweKQ6qX\nRpYNVj74ng==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","33476212"],["reveal_at","2026-10-29T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","085e522084a30ec4f62dc60502dced65e7521d5bc55e8c36ae61161cedac4220"],["ct","1acc1f3e275822e9d21d3fa66458f9364d1e035307639c964d0f756883352010"],["seal","6355ca578dd42a054f8b1075a8019e4f72a31e1b400f34708f5c4b2c56c2f4c5"]]}
diff --git a/reveal/v5-000005/r33476212.tlock b/reveal/v5-000005/r33476212.tlock
new file mode 100644
index 0000000..0963831
--- /dev/null
+++ b/reveal/v5-000005/r33476212.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNDc2MjEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKaXVNb2lNOFdjVEpGeUg1Ni94SUtqcHhjUCt4QVpBNmRFR2IyTmQx
5TkFqcXF0M0VhTmxZaTJiNFhweHgwNVRGZApGbmVJNTNMQ250dWJMUkYxUXNOaUJV
6bnk0TjY2eURKbmp5d2J1RCtWY3FzSCtwL2VnR2xvMVBydUl2eFU4U1ZKCjlLbFFH
7VTJzODJrR3RZOWlESjFianNRSXcrODRQbDhERUNrWE8wT1hISlkKLS0tIHp6amhW
8Y2p3bmdza1pKUC9QWk0yUWtOY2FzS3J2WHhjNUREYWgzM1BvbzAKK2qmRFiu+jVP
9J0i70TpalQdwtgm6nHOkJf/9A7uAzD+mt3hPqMsw8YMAdhft9TFQ+eCwgweKQ6qX
10RpYNVj74ng==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000005/r33505012.ct b/reveal/v5-000005/r33505012.ct
new file mode 100644
index 0000000..b10a025
--- /dev/null
+++ b/reveal/v5-000005/r33505012.ct
Binary files differ
diff --git a/reveal/v5-000005/r33505012.nostr.json b/reveal/v5-000005/r33505012.nostr.json
new file mode 100644
index 0000000..f9abc63
--- /dev/null
+++ b/reveal/v5-000005/r33505012.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNTA1MDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKdEk1STRrbm4wQUoxL0pMT0MzWW5qdjB0VDBwOUFIRWxValhXQ3h5\nQUlvaytEQlVLaUl2NzVmMFFjM0lzSW9NMgpEbVBkZ3JHUkM1QndsYldpdWpuc0Yw\nVzJNclZENkVPaDd0QUtGN2xReHhvdE5BUVM1Yk16R0EvQXYxa3RvNUJlClRCT25u\nMGduYmk4TXBsaE1CekN6Z1JQQm0reHNCY2RrUllqdFdjODhUckkKLS0tIDRHR01T\nRGxJSWJ4cVJLQTg1Rm93eEZvQnpnUTJYeFRNNjdNNDE2S3YwU1kKbY4Kuta6aCg2\nt3kVXYQDXuqxUSlr2h7SJPRdrsZclO6ROT5pImS8+It+BKY8vTZ34rda1FJQddaH\nXC/Z79h8kQ==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","33505012"],["reveal_at","2026-10-30T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","5c44705fa1adf9ddbf49fdad19cef8b99d6c2922d5d9aca4c2626b88b834b7c1"],["ct","97d86b8e4516588857837f735736eea3e6dee72af6a08495e59d9bfcf627ab23"],["seal","6355ca578dd42a054f8b1075a8019e4f72a31e1b400f34708f5c4b2c56c2f4c5"]]}
diff --git a/reveal/v5-000005/r33505012.tlock b/reveal/v5-000005/r33505012.tlock
new file mode 100644
index 0000000..bbd01d2
--- /dev/null
+++ b/reveal/v5-000005/r33505012.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNTA1MDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKdEk1STRrbm4wQUoxL0pMT0MzWW5qdjB0VDBwOUFIRWxValhXQ3h5
5QUlvaytEQlVLaUl2NzVmMFFjM0lzSW9NMgpEbVBkZ3JHUkM1QndsYldpdWpuc0Yw
6VzJNclZENkVPaDd0QUtGN2xReHhvdE5BUVM1Yk16R0EvQXYxa3RvNUJlClRCT25u
7MGduYmk4TXBsaE1CekN6Z1JQQm0reHNCY2RrUllqdFdjODhUckkKLS0tIDRHR01T
8RGxJSWJ4cVJLQTg1Rm93eEZvQnpnUTJYeFRNNjdNNDE2S3YwU1kKbY4Kuta6aCg2
9t3kVXYQDXuqxUSlr2h7SJPRdrsZclO6ROT5pImS8+It+BKY8vTZ34rda1FJQddaH
10XC/Z79h8kQ==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000005/r33533812.ct b/reveal/v5-000005/r33533812.ct
new file mode 100644
index 0000000..ad3d006
--- /dev/null
+++ b/reveal/v5-000005/r33533812.ct
Binary files differ
diff --git a/reveal/v5-000005/r33533812.nostr.json b/reveal/v5-000005/r33533812.nostr.json
new file mode 100644
index 0000000..3e9bbf9
--- /dev/null
+++ b/reveal/v5-000005/r33533812.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNTMzODEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKam8yZTA0WXkzSGtvc3g1aFA3UEtXM1h4ek5reVFIbzhsdFVjN29x\ndy9mbjdmYmtuWkJJSUo3Z3I5aDZodC90bwpFVUczZTBKZ0E1VWZ0a2F6WWZCS21p\nd3dPSEgzZ1dPM3VSNDRwdjVBRnI0UXdoa1N4c3JVaWlYVjNFb3c5WHEzCk1RTXgz\namthcVR6Q0p5WHhUR1FORHg2Y0V4UC95d2xuVExkaFYyUlNYZmsKLS0tIGQwZzFC\nZkk4WnFOMEVGcHVMcVR6U2NoTVlKV1d0QWw1U1Q3dnhOb0tUWEkKEU6jiGPR4okT\nw9AcBQ67QLBnk4rT+GdVM6CkrEZhcrKCs7WqYCsGWZHAYNCouq2R8N5MLm2rjBHm\nzm9ATT0Lag==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","33533812"],["reveal_at","2026-10-31T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","385a6d313b2fdad4b89f8c620d726a3955f5c7c36124b3a1da55798f3abeb064"],["ct","c4019e0c2a11f18f7c1f4ff3a9f8595484a33aef244ed1ff6880ecc2744553f0"],["seal","6355ca578dd42a054f8b1075a8019e4f72a31e1b400f34708f5c4b2c56c2f4c5"]]}
diff --git a/reveal/v5-000005/r33533812.tlock b/reveal/v5-000005/r33533812.tlock
new file mode 100644
index 0000000..1be2e0a
--- /dev/null
+++ b/reveal/v5-000005/r33533812.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNTMzODEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKam8yZTA0WXkzSGtvc3g1aFA3UEtXM1h4ek5reVFIbzhsdFVjN29x
5dy9mbjdmYmtuWkJJSUo3Z3I5aDZodC90bwpFVUczZTBKZ0E1VWZ0a2F6WWZCS21p
6d3dPSEgzZ1dPM3VSNDRwdjVBRnI0UXdoa1N4c3JVaWlYVjNFb3c5WHEzCk1RTXgz
7amthcVR6Q0p5WHhUR1FORHg2Y0V4UC95d2xuVExkaFYyUlNYZmsKLS0tIGQwZzFC
8Zkk4WnFOMEVGcHVMcVR6U2NoTVlKV1d0QWw1U1Q3dnhOb0tUWEkKEU6jiGPR4okT
9w9AcBQ67QLBnk4rT+GdVM6CkrEZhcrKCs7WqYCsGWZHAYNCouq2R8N5MLm2rjBHm
10zm9ATT0Lag==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000005/r33591412.ct b/reveal/v5-000005/r33591412.ct
new file mode 100644
index 0000000..1c17a20
--- /dev/null
+++ b/reveal/v5-000005/r33591412.ct
Binary files differ
diff --git a/reveal/v5-000005/r33591412.nostr.json b/reveal/v5-000005/r33591412.nostr.json
new file mode 100644
index 0000000..02d73a8
--- /dev/null
+++ b/reveal/v5-000005/r33591412.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNTkxNDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKcjZyWVpxa2NWNlBWeDZSSGFXcjhmSHJDcTBncktzd2x0alA4SUtQ\nZW9Nb3Z0TVF1bTEya1dnbmJLWjAzYlN6egpFRUpVYm5xQ1NhZ3pyYzNXeHU3YmFN\neXlRamYvMHByY3FyK3g3NnFsbktycHRjOUhkenhOYjZjY1hEbHNyK3hzCjU0Z29I\nSXVnQzljMnBVZGlIVThDWkxqRkd3cStEdkZ3NGNQb2VyVFVLODgKLS0tIEc2Q1BQ\nUDgycTZ6SnJLeDk5REpKMysxSVBHa2EyazFoZWtkOTRMczRDNWcKI49jZmedI7N2\n5FvHpWYh7UUd5LMUAMuYXqptFGVgSfFFCB18TlZ7HlG9eNQZDhfxBGiDjFLEFGEE\nGbeMYZgLKA==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","33591412"],["reveal_at","2026-11-02T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","8138aff004afc37382c61f9d5cb1e031d4d85a7affe66e653a4c747c68e7726c"],["ct","1defe4a09e67b35f941566e56ea43894f26c08209ab55903008ed79e8e03d224"],["seal","6355ca578dd42a054f8b1075a8019e4f72a31e1b400f34708f5c4b2c56c2f4c5"]]}
diff --git a/reveal/v5-000005/r33591412.tlock b/reveal/v5-000005/r33591412.tlock
new file mode 100644
index 0000000..50f0dd0
--- /dev/null
+++ b/reveal/v5-000005/r33591412.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNTkxNDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKcjZyWVpxa2NWNlBWeDZSSGFXcjhmSHJDcTBncktzd2x0alA4SUtQ
5ZW9Nb3Z0TVF1bTEya1dnbmJLWjAzYlN6egpFRUpVYm5xQ1NhZ3pyYzNXeHU3YmFN
6eXlRamYvMHByY3FyK3g3NnFsbktycHRjOUhkenhOYjZjY1hEbHNyK3hzCjU0Z29I
7SXVnQzljMnBVZGlIVThDWkxqRkd3cStEdkZ3NGNQb2VyVFVLODgKLS0tIEc2Q1BQ
8UDgycTZ6SnJLeDk5REpKMysxSVBHa2EyazFoZWtkOTRMczRDNWcKI49jZmedI7N2
95FvHpWYh7UUd5LMUAMuYXqptFGVgSfFFCB18TlZ7HlG9eNQZDhfxBGiDjFLEFGEE
10GbeMYZgLKA==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000005/r33649012.ct b/reveal/v5-000005/r33649012.ct
new file mode 100644
index 0000000..8d2be78
--- /dev/null
+++ b/reveal/v5-000005/r33649012.ct
Binary files differ
diff --git a/reveal/v5-000005/r33649012.nostr.json b/reveal/v5-000005/r33649012.nostr.json
new file mode 100644
index 0000000..064ecee
--- /dev/null
+++ b/reveal/v5-000005/r33649012.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNjQ5MDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKZzk3RWF5YVYrRDdkZkZBUmpMMzhDRENVNm11VWxSVWJwSTdQTDlq\nZmpHVStnb3RuL05VK0h0dE5iSisvRkUwYQpEeEZTV2Fpbkdjd3hKeFhMR1BxTDZK\nU1M5YkhaRmVUK1pIeGVKS0NFRENxcFNVdG4rZ1dhS0kxRlNsVkdmVFlYCjhPd2pB\nNHE3dTQ0clluN1BMemMrRERlMWg0blFyUnVQNFNSbGNoN21mY0kKLS0tIFV2WmVh\nK1dUTHdMYUVuTmhSUXN4aERwcERwUE5OY0JERVQvYW4vTTFyeUkK5K/8VzrTMXIo\n3ncBakFC0d31h5sUt6ca8XGSxJnIcCHlKStViQtqowACv1LAzcGHEOvLE/Pfnn7s\nz/Pq1ckdlg==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","33649012"],["reveal_at","2026-11-04T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","faaf0688a2d20920ecbe4d3a967c323602bceaf11064ec9aa9f3233a611ece15"],["ct","1f15e15bc90bb8c12469cec6ef2665a961efb214c4e7a70f7234724401113d0b"],["seal","6355ca578dd42a054f8b1075a8019e4f72a31e1b400f34708f5c4b2c56c2f4c5"]]}
diff --git a/reveal/v5-000005/r33649012.tlock b/reveal/v5-000005/r33649012.tlock
new file mode 100644
index 0000000..2bf8e5a
--- /dev/null
+++ b/reveal/v5-000005/r33649012.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDMzNjQ5MDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKZzk3RWF5YVYrRDdkZkZBUmpMMzhDRENVNm11VWxSVWJwSTdQTDlq
5ZmpHVStnb3RuL05VK0h0dE5iSisvRkUwYQpEeEZTV2Fpbkdjd3hKeFhMR1BxTDZK
6U1M5YkhaRmVUK1pIeGVKS0NFRENxcFNVdG4rZ1dhS0kxRlNsVkdmVFlYCjhPd2pB
7NHE3dTQ0clluN1BMemMrRERlMWg0blFyUnVQNFNSbGNoN21mY0kKLS0tIFV2WmVh
8K1dUTHdMYUVuTmhSUXN4aERwcERwUE5OY0JERVQvYW4vTTFyeUkK5K/8VzrTMXIo
93ncBakFC0d31h5sUt6ca8XGSxJnIcCHlKStViQtqowACv1LAzcGHEOvLE/Pfnn7s
10z/Pq1ckdlg==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000005/r34225012.ct b/reveal/v5-000005/r34225012.ct
new file mode 100644
index 0000000..92f87c1
--- /dev/null
+++ b/reveal/v5-000005/r34225012.ct
Binary files differ
diff --git a/reveal/v5-000005/r34225012.nostr.json b/reveal/v5-000005/r34225012.nostr.json
new file mode 100644
index 0000000..d92397c
--- /dev/null
+++ b/reveal/v5-000005/r34225012.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0MjI1MDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKZ25yNUVnTUgzbUFrTUVaNWorQldzbjlaUWRCdDBpTDQ2elY3WllB\nNkxFK2hqK3pvTjlRRHJKR0Nvb0VnMm5ibwpCbS9SZ0FmcXMzQXVFUDNGQ2swcnpw\nNWtjWVVIZDRCM1NNOUVVVDRQdzZMSVdab1JqVHQ0WmY1aDRoZXBEaktSCnJOOXpt\nOVREOGxVZEYwWHJrbzEvNzBVUUZwMUo1bFo0elZqRUlLaWFsc28KLS0tIGFhWUVu\ndWp3WDdUODFQbHgwcytNeU1KaUNvL1Ric1lqZFJBY0hvaElIUGMK4ZaOl3Br/KtS\nUBGHHKlGDyFmO88fIBp9/oZ3dNjxwvzgTAFFWkizJN4wqoNh1wYza+Jml2bWoOTl\nJ5ODRV54CA==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","34225012"],["reveal_at","2026-11-24T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","cad342817edab1d6818e6dbf2f19324670896ca5a407dcf22f044557db08b0cf"],["ct","70fda3d20bfe1783a663e49ce7cf252542f2820dd17f54ce0a297133d99e3be0"],["seal","6355ca578dd42a054f8b1075a8019e4f72a31e1b400f34708f5c4b2c56c2f4c5"]]}
diff --git a/reveal/v5-000005/r34225012.tlock b/reveal/v5-000005/r34225012.tlock
new file mode 100644
index 0000000..b8e4fca
--- /dev/null
+++ b/reveal/v5-000005/r34225012.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0MjI1MDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKZ25yNUVnTUgzbUFrTUVaNWorQldzbjlaUWRCdDBpTDQ2elY3WllB
5NkxFK2hqK3pvTjlRRHJKR0Nvb0VnMm5ibwpCbS9SZ0FmcXMzQXVFUDNGQ2swcnpw
6NWtjWVVIZDRCM1NNOUVVVDRQdzZMSVdab1JqVHQ0WmY1aDRoZXBEaktSCnJOOXpt
7OVREOGxVZEYwWHJrbzEvNzBVUUZwMUo1bFo0elZqRUlLaWFsc28KLS0tIGFhWUVu
8dWp3WDdUODFQbHgwcytNeU1KaUNvL1Ric1lqZFJBY0hvaElIUGMK4ZaOl3Br/KtS
9UBGHHKlGDyFmO88fIBp9/oZ3dNjxwvzgTAFFWkizJN4wqoNh1wYza+Jml2bWoOTl
10J5ODRV54CA==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000005/r34541812.ct b/reveal/v5-000005/r34541812.ct
new file mode 100644
index 0000000..5abdb21
--- /dev/null
+++ b/reveal/v5-000005/r34541812.ct
Binary files differ
diff --git a/reveal/v5-000005/r34541812.nostr.json b/reveal/v5-000005/r34541812.nostr.json
new file mode 100644
index 0000000..a7e20aa
--- /dev/null
+++ b/reveal/v5-000005/r34541812.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0NTQxODEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKbDlROGhmVU45cDNIaGhKTHdsWHB3OVVxVGNNOGZCL1lsWVFSVGpI\nT0l2eWVVbjkwaUZDZldyQ2ZFV1I3Vy8wRwpCRmkxa0lQeVkxenQ4VjBjM29JNmFH\nai9aUzRBZDhlN29iTEdPSVlJNGhEMjdTMDRaNU1SY2xvckhCNTltNjFkCjBqVG9m\nL1UxekRzVi9MY21hbHNWb2RWYzQyeERzS3lwV1R2U2lBOE9DOEkKLS0tIDFVK2JI\nZHVOWld2WEtVeHFpZkNBaUpoQlFHbzhzalNFSFgwbW1TWHpTaXcKbnWU8zHigqQm\nxP1IoygHnUHyJ1cF61sLIaQ3T34HK2cMa8NSj7jTM9U4RKUhUQj6MpgqVlSCYDXg\n5V3tpUPh+Q==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","34541812"],["reveal_at","2026-12-05T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","c2fa5cf383d98ce6bb15e19aafc0d2a9bd11cbc123901a90788f4633c5611945"],["ct","4ae91d2472dc836126716b5266d1c68a6c39f26d425fc35939bb69eaf0d1ce67"],["seal","6355ca578dd42a054f8b1075a8019e4f72a31e1b400f34708f5c4b2c56c2f4c5"]]}
diff --git a/reveal/v5-000005/r34541812.tlock b/reveal/v5-000005/r34541812.tlock
new file mode 100644
index 0000000..483dd2e
--- /dev/null
+++ b/reveal/v5-000005/r34541812.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0NTQxODEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKbDlROGhmVU45cDNIaGhKTHdsWHB3OVVxVGNNOGZCL1lsWVFSVGpI
5T0l2eWVVbjkwaUZDZldyQ2ZFV1I3Vy8wRwpCRmkxa0lQeVkxenQ4VjBjM29JNmFH
6ai9aUzRBZDhlN29iTEdPSVlJNGhEMjdTMDRaNU1SY2xvckhCNTltNjFkCjBqVG9m
7L1UxekRzVi9MY21hbHNWb2RWYzQyeERzS3lwV1R2U2lBOE9DOEkKLS0tIDFVK2JI
8ZHVOWld2WEtVeHFpZkNBaUpoQlFHbzhzalNFSFgwbW1TWHpTaXcKbnWU8zHigqQm
9xP1IoygHnUHyJ1cF61sLIaQ3T34HK2cMa8NSj7jTM9U4RKUhUQj6MpgqVlSCYDXg
105V3tpUPh+Q==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000005/r34570612.ct b/reveal/v5-000005/r34570612.ct
new file mode 100644
index 0000000..683e581
--- /dev/null
+++ b/reveal/v5-000005/r34570612.ct
Binary files differ
diff --git a/reveal/v5-000005/r34570612.nostr.json b/reveal/v5-000005/r34570612.nostr.json
new file mode 100644
index 0000000..9f4a473
--- /dev/null
+++ b/reveal/v5-000005/r34570612.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0NTcwNjEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKbUFZRTgwVXdvTUFmR2tuRGV6L09jWUxremVsOUpnL0NBMXBJZUdY\nNG5OVWNWY3ltdTIwc0czTHhaQXU0YXkrNwpCbTQxT2VFQW9kRDJiWlh5ME54MWRw\nUk50bmErY1JkNVFuZVNpeHR5TGFmejF0UXo0TzhlaXkwdFJPeStKZTF5ClZ5ckx3\nWHpKYzIvbFhpV1dZOUNJVTRHUmIxL3BsbWZXbXlCRGxObVNkdkEKLS0tIDdCZ1JM\nbnBEK2hRUDNqVTQ0SzkzcTNlQXJUanBidkZ4Mnh0QnZKQ1BPU1kK4LEm8OYN3gMa\nCKVHGN/NAOgGtx8olqsOc2PNdDQxR1gSMNHWV2niS/cNg2pr/CQbByJTFTkxR48L\n8tTH2r0Ufg==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","34570612"],["reveal_at","2026-12-06T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","454956c72a8228d467c8856cd4d5ec0c809d56deb021d81815ae18a927833fef"],["ct","efbfed8008317e6834fe53b1f7358eff1d70cea358294e1d3318eb4e008606f6"],["seal","6355ca578dd42a054f8b1075a8019e4f72a31e1b400f34708f5c4b2c56c2f4c5"]]}
diff --git a/reveal/v5-000005/r34570612.tlock b/reveal/v5-000005/r34570612.tlock
new file mode 100644
index 0000000..072aedd
--- /dev/null
+++ b/reveal/v5-000005/r34570612.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0NTcwNjEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKbUFZRTgwVXdvTUFmR2tuRGV6L09jWUxremVsOUpnL0NBMXBJZUdY
5NG5OVWNWY3ltdTIwc0czTHhaQXU0YXkrNwpCbTQxT2VFQW9kRDJiWlh5ME54MWRw
6Uk50bmErY1JkNVFuZVNpeHR5TGFmejF0UXo0TzhlaXkwdFJPeStKZTF5ClZ5ckx3
7WHpKYzIvbFhpV1dZOUNJVTRHUmIxL3BsbWZXbXlCRGxObVNkdkEKLS0tIDdCZ1JM
8bnBEK2hRUDNqVTQ0SzkzcTNlQXJUanBidkZ4Mnh0QnZKQ1BPU1kK4LEm8OYN3gMa
9CKVHGN/NAOgGtx8olqsOc2PNdDQxR1gSMNHWV2niS/cNg2pr/CQbByJTFTkxR48L
108tTH2r0Ufg==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000005/r34628212.ct b/reveal/v5-000005/r34628212.ct
new file mode 100644
index 0000000..38aa634
--- /dev/null
+++ b/reveal/v5-000005/r34628212.ct
Binary files differ
diff --git a/reveal/v5-000005/r34628212.nostr.json b/reveal/v5-000005/r34628212.nostr.json
new file mode 100644
index 0000000..3844cc4
--- /dev/null
+++ b/reveal/v5-000005/r34628212.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0NjI4MjEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKa1o2ZExDWVp1OERETVpucFpKc2RlTXhWTUwza3liM3c3bk15dkNv\nekdhcW5ueXBjODZmMmhGUm1uWUx0V1hrYgpCYVRydm1hckFTQUdJRVp5YklTczY4\nampaMUVQTzNjbGJMZU1Kdm9HRjczaFBTZi9QQVpWWXRnZEtneEsybzJWCnpuRnN3\nWHVkOVVwcHdubDVFekdVQ0tmT2lQbGR3NFVnelg2NW5rOXRCUEEKLS0tIG03dTlE\nMmtscjcvK3VYZmQrcW5Kb2g3VXhZYTcwNnhEbng4czV2NVNGMUkKUXc+6eAPFvKW\nTxjmsZVlzAgqmW9curVp1sZSE1bMK2ajmRhvqi1ODC/inpcUpjEMM+pbb6lXofkl\nHQceiy+LCA==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","34628212"],["reveal_at","2026-12-08T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","f7f15fab36893ef6112b050df131e4e6048de2651c8830f1f3f0fde84a499b64"],["ct","42ba49d410f4ff39233416321db4602452f539ee691927ba36db712a769d2087"],["seal","6355ca578dd42a054f8b1075a8019e4f72a31e1b400f34708f5c4b2c56c2f4c5"]]}
diff --git a/reveal/v5-000005/r34628212.tlock b/reveal/v5-000005/r34628212.tlock
new file mode 100644
index 0000000..f960fd1
--- /dev/null
+++ b/reveal/v5-000005/r34628212.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0NjI4MjEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKa1o2ZExDWVp1OERETVpucFpKc2RlTXhWTUwza3liM3c3bk15dkNv
5ekdhcW5ueXBjODZmMmhGUm1uWUx0V1hrYgpCYVRydm1hckFTQUdJRVp5YklTczY4
6ampaMUVQTzNjbGJMZU1Kdm9HRjczaFBTZi9QQVpWWXRnZEtneEsybzJWCnpuRnN3
7WHVkOVVwcHdubDVFekdVQ0tmT2lQbGR3NFVnelg2NW5rOXRCUEEKLS0tIG03dTlE
8MmtscjcvK3VYZmQrcW5Kb2g3VXhZYTcwNnhEbng4czV2NVNGMUkKUXc+6eAPFvKW
9TxjmsZVlzAgqmW9curVp1sZSE1bMK2ajmRhvqi1ODC/inpcUpjEMM+pbb6lXofkl
10HQceiy+LCA==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000005/r34657012.ct b/reveal/v5-000005/r34657012.ct
new file mode 100644
index 0000000..f2f27c6
--- /dev/null
+++ b/reveal/v5-000005/r34657012.ct
Binary files differ
diff --git a/reveal/v5-000005/r34657012.nostr.json b/reveal/v5-000005/r34657012.nostr.json
new file mode 100644
index 0000000..1d3adb2
--- /dev/null
+++ b/reveal/v5-000005/r34657012.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0NjU3MDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKZzdaZGNDQXp3VmR5dGhPSDVmVHVrazJlZWs1Z3loVkRQNWorNmNm\nQ3RrbzlZWXIvTThZQngzQVN4M01TaVA4cQpDNXZXN1RpL2tpam5JcCt6NUJ6ZWhQ\ncnlZZDFJdHNMeHd6VmJjeHpTUGFpZkoxT0k2azdWcnZFZjhXdGk3MWovCjN2YVNP\nSEE1QmtWMUZhQzllTDdzcHczZ2dxWmEreExWWi9hOWtaMHVzMzgKLS0tIGFFTEpt\neEUweHZ4dml5eHRMNVgvU0diL0tpKzc3M2FuVTVEQmQ0L1VqUjgK1h+9jDUcIKq/\nW5fWDUrx3dCzboPwwgKBb3/egkWsROupAL7c1/T81d0yq7/SO19p6vIpIOeD3Thy\nMlD1nhV52A==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","34657012"],["reveal_at","2026-12-09T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","2fedd94c08a78524c5de8bba2483aae1e6ba046559629cbe22639714ae7b79cd"],["ct","e29a7a2071e37785c773ad7a4da0b676b656af753d0c11d037f01e717cc3eae3"],["seal","6355ca578dd42a054f8b1075a8019e4f72a31e1b400f34708f5c4b2c56c2f4c5"]]}
diff --git a/reveal/v5-000005/r34657012.tlock b/reveal/v5-000005/r34657012.tlock
new file mode 100644
index 0000000..575d5e9
--- /dev/null
+++ b/reveal/v5-000005/r34657012.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0NjU3MDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKZzdaZGNDQXp3VmR5dGhPSDVmVHVrazJlZWs1Z3loVkRQNWorNmNm
5Q3RrbzlZWXIvTThZQngzQVN4M01TaVA4cQpDNXZXN1RpL2tpam5JcCt6NUJ6ZWhQ
6cnlZZDFJdHNMeHd6VmJjeHpTUGFpZkoxT0k2azdWcnZFZjhXdGk3MWovCjN2YVNP
7SEE1QmtWMUZhQzllTDdzcHczZ2dxWmEreExWWi9hOWtaMHVzMzgKLS0tIGFFTEpt
8eEUweHZ4dml5eHRMNVgvU0diL0tpKzc3M2FuVTVEQmQ0L1VqUjgK1h+9jDUcIKq/
9W5fWDUrx3dCzboPwwgKBb3/egkWsROupAL7c1/T81d0yq7/SO19p6vIpIOeD3Thy
10MlD1nhV52A==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000005/r34685812.ct b/reveal/v5-000005/r34685812.ct
new file mode 100644
index 0000000..f912e24
--- /dev/null
+++ b/reveal/v5-000005/r34685812.ct
Binary files differ
diff --git a/reveal/v5-000005/r34685812.nostr.json b/reveal/v5-000005/r34685812.nostr.json
new file mode 100644
index 0000000..4797df0
--- /dev/null
+++ b/reveal/v5-000005/r34685812.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0Njg1ODEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKcklyRVhTem5sdWtvTDV5R09LaFVXSEJSVEJ1Uk5GamVVdENQQk9K\nK0VVYnUyZjV6MUhVN3ArYnB0NnVYeTdkSQpEbmlXRmJGdDhSK3dKSmpyUW5RWGo0\nd1k4cWJNTWd4RGx4eCtXWHg3Y0tqVjZHa3ZDellSYWtIdzBVSnk3VlVICjdSeUVC\nQWdKRzZFUVhhbXNUMUhJUTIwUnQyYm44SUZTWnc4RzI0cHY1bjAKLS0tIE93bU9x\nd2FEVWdNRjFDM29QYzBDbUQvMENIZmgrUHFGRjhvT3ovM2E3V00KFsaKsLpFd0AU\n1ZNQQDImWJAaAW+BdG7p/zkQyom1WK0MOsVACxBtZqcHRRKWl2LI1FuHBUDIYj8t\n68ZRrNvo0w==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","34685812"],["reveal_at","2026-12-10T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","c393c219d135978da19215104fde80e64dced0f43b78b1367630f9613ba2f19f"],["ct","9962fec517b8709104d24279ed2534bb95aa9066f76d673e1f8b5ed834de15f0"],["seal","6355ca578dd42a054f8b1075a8019e4f72a31e1b400f34708f5c4b2c56c2f4c5"]]}
diff --git a/reveal/v5-000005/r34685812.tlock b/reveal/v5-000005/r34685812.tlock
new file mode 100644
index 0000000..5f9e07e
--- /dev/null
+++ b/reveal/v5-000005/r34685812.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0Njg1ODEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKcklyRVhTem5sdWtvTDV5R09LaFVXSEJSVEJ1Uk5GamVVdENQQk9K
5K0VVYnUyZjV6MUhVN3ArYnB0NnVYeTdkSQpEbmlXRmJGdDhSK3dKSmpyUW5RWGo0
6d1k4cWJNTWd4RGx4eCtXWHg3Y0tqVjZHa3ZDellSYWtIdzBVSnk3VlVICjdSeUVC
7QWdKRzZFUVhhbXNUMUhJUTIwUnQyYm44SUZTWnc4RzI0cHY1bjAKLS0tIE93bU9x
8d2FEVWdNRjFDM29QYzBDbUQvMENIZmgrUHFGRjhvT3ovM2E3V00KFsaKsLpFd0AU
91ZNQQDImWJAaAW+BdG7p/zkQyom1WK0MOsVACxBtZqcHRRKWl2LI1FuHBUDIYj8t
1068ZRrNvo0w==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000005/r34743412.ct b/reveal/v5-000005/r34743412.ct
new file mode 100644
index 0000000..718e3e9
--- /dev/null
+++ b/reveal/v5-000005/r34743412.ct
Binary files differ
diff --git a/reveal/v5-000005/r34743412.nostr.json b/reveal/v5-000005/r34743412.nostr.json
new file mode 100644
index 0000000..ce7e8c5
--- /dev/null
+++ b/reveal/v5-000005/r34743412.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0NzQzNDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKZ0FuWnpiTDYyaHFYb0dVTnA0Z2VFQng2bUh6SWZrS2hlU3dzTis3\ndk8ya05BSWpRUXBPQm5aSjVQMTdVNlI1aQpBdHd2bVJKa0t0TUQzMUdybUs2NWFO\nakRseFVZNzRUcnNxYm1BTVVvZVpuNDdYcXVzVU03T0FncGFVSnBCNVJ6Ckd6WU1u\nUDNmSFJ3QUZiMFVoTWNBMFFpbEg1TnRSSEt5NzZ0cEYvaFJxMDgKLS0tIDBhQXBF\nczk4NWdQa09jQXB6cjJ4eXR1TzZNZDJTK2JreldjWEVGNU1UUUUK/XN8r1exDUj3\n9Tes5VDyN7E4Uf2/zqaQ+8GzfFnqw2v/phPKgBgPmxqZGWDM9LHBE97pHHxHJR3J\nuMaijWnf9Q==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","34743412"],["reveal_at","2026-12-12T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","a13f740471c6ef24ead06f143bcb44ca083858f7243ff0150769f71c0408692b"],["ct","0a1fd6cf643812ce6e340a252f5d2746531e6632aa7d24a5b881d8f08ee05832"],["seal","6355ca578dd42a054f8b1075a8019e4f72a31e1b400f34708f5c4b2c56c2f4c5"]]}
diff --git a/reveal/v5-000005/r34743412.tlock b/reveal/v5-000005/r34743412.tlock
new file mode 100644
index 0000000..827e8f7
--- /dev/null
+++ b/reveal/v5-000005/r34743412.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0NzQzNDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKZ0FuWnpiTDYyaHFYb0dVTnA0Z2VFQng2bUh6SWZrS2hlU3dzTis3
5dk8ya05BSWpRUXBPQm5aSjVQMTdVNlI1aQpBdHd2bVJKa0t0TUQzMUdybUs2NWFO
6akRseFVZNzRUcnNxYm1BTVVvZVpuNDdYcXVzVU03T0FncGFVSnBCNVJ6Ckd6WU1u
7UDNmSFJ3QUZiMFVoTWNBMFFpbEg1TnRSSEt5NzZ0cEYvaFJxMDgKLS0tIDBhQXBF
8czk4NWdQa09jQXB6cjJ4eXR1TzZNZDJTK2JreldjWEVGNU1UUUUK/XN8r1exDUj3
99Tes5VDyN7E4Uf2/zqaQ+8GzfFnqw2v/phPKgBgPmxqZGWDM9LHBE97pHHxHJR3J
10uMaijWnf9Q==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000005/r34801012.ct b/reveal/v5-000005/r34801012.ct
new file mode 100644
index 0000000..c5fdc54
--- /dev/null
+++ b/reveal/v5-000005/r34801012.ct
Binary files differ
diff --git a/reveal/v5-000005/r34801012.nostr.json b/reveal/v5-000005/r34801012.nostr.json
new file mode 100644
index 0000000..920db97
--- /dev/null
+++ b/reveal/v5-000005/r34801012.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0ODAxMDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKa2R3Zk4xOGlKVllua1hrc0FTNm14Qzk2bFpZbUJOUzRMSDZyYWFQ\ndG5DSTYvSU5xQ3JzWG12Sjh3dTNVNU5reQpBbiszY0dFSFVDQzJQSmhLSHdZb3Vw\ndGgwb1ZUZXlPbU5zMFh3K25XelpkNUdYWURBL0pianJIRzJiUk9UaHFlCkRVNXdn\nNnZpQlFrT1lmY2lDVytCUlQ4bWhwSnhJUWFXTFMwS09xVHVhTk0KLS0tIFh6ZzhS\nWWJvb2N6b2pDOGlVbDY3T2ZaRWtaeTJ2bm95OFZrRHRUQnd5ZHMKWrIEUdGMfV5C\nYegXpFz00AVjrjlYfv/77WIa3VGIvqS1TVfH2/tzoGXA5yLspEdMFIm44Mg02HQQ\nfgr0LjgEbw==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","34801012"],["reveal_at","2026-12-14T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","9478931acf15a4aaea639dfcb8499f03a4979babdb72658cc63211de02e72b5e"],["ct","b69a86b337f6a8adf2f55ee752784cbaa70aee6a92ee761fe9cee933807ec8b5"],["seal","6355ca578dd42a054f8b1075a8019e4f72a31e1b400f34708f5c4b2c56c2f4c5"]]}
diff --git a/reveal/v5-000005/r34801012.tlock b/reveal/v5-000005/r34801012.tlock
new file mode 100644
index 0000000..d5148c2
--- /dev/null
+++ b/reveal/v5-000005/r34801012.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0ODAxMDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKa2R3Zk4xOGlKVllua1hrc0FTNm14Qzk2bFpZbUJOUzRMSDZyYWFQ
5dG5DSTYvSU5xQ3JzWG12Sjh3dTNVNU5reQpBbiszY0dFSFVDQzJQSmhLSHdZb3Vw
6dGgwb1ZUZXlPbU5zMFh3K25XelpkNUdYWURBL0pianJIRzJiUk9UaHFlCkRVNXdn
7NnZpQlFrT1lmY2lDVytCUlQ4bWhwSnhJUWFXTFMwS09xVHVhTk0KLS0tIFh6ZzhS
8WWJvb2N6b2pDOGlVbDY3T2ZaRWtaeTJ2bm95OFZrRHRUQnd5ZHMKWrIEUdGMfV5C
9YegXpFz00AVjrjlYfv/77WIa3VGIvqS1TVfH2/tzoGXA5yLspEdMFIm44Mg02HQQ
10fgr0LjgEbw==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000005/r34887412.ct b/reveal/v5-000005/r34887412.ct
new file mode 100644
index 0000000..13364d3
--- /dev/null
+++ b/reveal/v5-000005/r34887412.ct
Binary files differ
diff --git a/reveal/v5-000005/r34887412.nostr.json b/reveal/v5-000005/r34887412.nostr.json
new file mode 100644
index 0000000..55d4e1b
--- /dev/null
+++ b/reveal/v5-000005/r34887412.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0ODg3NDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKcDVlL3FXYzRqSVFIUFlrSE5FTVNJMkZpL2w2Z1IybFU1OTl2aitk\nQ2JWZ3hFY1EvMC9uWFFySHFjQlVsZW9wUgpCY1dLVFZzbS9JUWZXblV3bSs5WjhS\ncEI1c29qWGE1WFI4enp6M1l6cEpobnRhc0VkdmtIZmlCeE5UM3dIam9ICjU5THF6\nMjZYdWF6MWN6eDRlNlJla3AvWUt5bmZpNHkvbXpWWCtxRGk2RncKLS0tIExpMUpR\nVDBLeHQxWWU4ZDNBWXdUWVVLaWM2alN3UjFvZEpmeE5IMG10ajQKGOKlnnvhMgu9\nhdWWjyRsCdqTVwNRaDBkCKsYsUp3+mGAB//T3Y+MQDC4NiX/8B7CIWr/yJLGMxr/\nqjzZmmNqrw==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","34887412"],["reveal_at","2026-12-17T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","01cd6b4ebf83d899fd42a255ad1aab1216fc8a6e23cc216c1b2da409c29e37cc"],["ct","5b5a264442c07dd15124f2fdf3ea07b19ba024c7dbe337d8ba85852d526bc39f"],["seal","6355ca578dd42a054f8b1075a8019e4f72a31e1b400f34708f5c4b2c56c2f4c5"]]}
diff --git a/reveal/v5-000005/r34887412.tlock b/reveal/v5-000005/r34887412.tlock
new file mode 100644
index 0000000..7c2f301
--- /dev/null
+++ b/reveal/v5-000005/r34887412.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM0ODg3NDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKcDVlL3FXYzRqSVFIUFlrSE5FTVNJMkZpL2w2Z1IybFU1OTl2aitk
5Q2JWZ3hFY1EvMC9uWFFySHFjQlVsZW9wUgpCY1dLVFZzbS9JUWZXblV3bSs5WjhS
6cEI1c29qWGE1WFI4enp6M1l6cEpobnRhc0VkdmtIZmlCeE5UM3dIam9ICjU5THF6
7MjZYdWF6MWN6eDRlNlJla3AvWUt5bmZpNHkvbXpWWCtxRGk2RncKLS0tIExpMUpR
8VDBLeHQxWWU4ZDNBWXdUWVVLaWM2alN3UjFvZEpmeE5IMG10ajQKGOKlnnvhMgu9
9hdWWjyRsCdqTVwNRaDBkCKsYsUp3+mGAB//T3Y+MQDC4NiX/8B7CIWr/yJLGMxr/
10qjzZmmNqrw==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000005/r35377012.ct b/reveal/v5-000005/r35377012.ct
new file mode 100644
index 0000000..30d9442
--- /dev/null
+++ b/reveal/v5-000005/r35377012.ct
Binary files differ
diff --git a/reveal/v5-000005/r35377012.nostr.json b/reveal/v5-000005/r35377012.nostr.json
new file mode 100644
index 0000000..d3cc82e
--- /dev/null
+++ b/reveal/v5-000005/r35377012.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM1Mzc3MDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKZ3YzeEZ5UjB4VlhWMG5GQzE2VzhIVEt6ZFhFUUVwbFF6QjdlWGl1\nN1RWaDExTFdFNHU0dlU1bE5iaWRxRVRsSgpCSnkrZFovTEN1cGN2M2g3T1NMN2tm\nYVk4V2t0WFVuayszVU9CZmlFU3o1V1laQkZEbWdMVGhLRWo3OXphRllYClNsVmJw\nZG5aNnp3UDlXZ3lHdHRCVThaYnhKOFc0dm1OR0ZOdWRrRlJ2NGsKLS0tIHIzNW5C\nQk8vem1LU1BtQWdLcW91eVFDZ2hUbHNBTm94dWZ0RVAzaC8rWWsKqnBJCR799WAV\nTLtUMov10HTbJe67YkhuxscO9T/nR9oH5PA8QPF3aqY/mDy9tn3vqX7OU3Ig2rmE\nBHLO19YdkA==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","35377012"],["reveal_at","2027-01-03T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","a1178ffd5469123dd29fd6ce484aff177aebf0dfbfc0baaaf7833002effac139"],["ct","c88e17c9bc1f9cb150b1d5bc5ff6d855ebadb70420de220d2e6424420b8956a4"],["seal","6355ca578dd42a054f8b1075a8019e4f72a31e1b400f34708f5c4b2c56c2f4c5"]]}
diff --git a/reveal/v5-000005/r35377012.tlock b/reveal/v5-000005/r35377012.tlock
new file mode 100644
index 0000000..cfde6b4
--- /dev/null
+++ b/reveal/v5-000005/r35377012.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM1Mzc3MDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKZ3YzeEZ5UjB4VlhWMG5GQzE2VzhIVEt6ZFhFUUVwbFF6QjdlWGl1
5N1RWaDExTFdFNHU0dlU1bE5iaWRxRVRsSgpCSnkrZFovTEN1cGN2M2g3T1NMN2tm
6YVk4V2t0WFVuayszVU9CZmlFU3o1V1laQkZEbWdMVGhLRWo3OXphRllYClNsVmJw
7ZG5aNnp3UDlXZ3lHdHRCVThaYnhKOFc0dm1OR0ZOdWRrRlJ2NGsKLS0tIHIzNW5C
8Qk8vem1LU1BtQWdLcW91eVFDZ2hUbHNBTm94dWZ0RVAzaC8rWWsKqnBJCR799WAV
9TLtUMov10HTbJe67YkhuxscO9T/nR9oH5PA8QPF3aqY/mDy9tn3vqX7OU3Ig2rmE
10BHLO19YdkA==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000005/r35549812.ct b/reveal/v5-000005/r35549812.ct
new file mode 100644
index 0000000..f916419
--- /dev/null
+++ b/reveal/v5-000005/r35549812.ct
Binary files differ
diff --git a/reveal/v5-000005/r35549812.nostr.json b/reveal/v5-000005/r35549812.nostr.json
new file mode 100644
index 0000000..5bd52fd
--- /dev/null
+++ b/reveal/v5-000005/r35549812.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM1NTQ5ODEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKcTZwNlVxeWYrNGVxb0ZRTjNnZEVDUENNQjdVZ1dGdW5LWTYyM05o\naENjTnI3a0FERjZjby94SGdqUE9SWEtZYQpEUGlYL0UwWkxVcUtZQk45dmNPRHBR\nMHJxUzdPVEFoQjNqandRNXRUaVptVENYUWllKzA2Ni9TSVJDcEZremRyCnlRSnlH\ndzBaQm96dVd5bi9Jc05lZDFlMmF6RWZyRFhYMWp2YytyTFhUZUUKLS0tIGVGZGdK\ndWFXendYQmVWN1EwQnJzbW9pQ2x6Z1J5STR3NVJOdUU0amVLRDgKf5LWAhlBZbXt\nEeUNlez+8uv03ZU1TWZxfT94cD3LGg18I6WB+mLNwb5Yf64nMxjSmt85oZ42VZIO\nshxBZOa9aw==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","35549812"],["reveal_at","2027-01-09T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","93bc1d6c9259648ebb3fdb065868d3160e7d89f84f89bb165be15722225018d3"],["ct","ef0e8da4b8d1a7efd96c2637871c613864d6349a14c91c58baad3a6f8073c6bf"],["seal","6355ca578dd42a054f8b1075a8019e4f72a31e1b400f34708f5c4b2c56c2f4c5"]]}
diff --git a/reveal/v5-000005/r35549812.tlock b/reveal/v5-000005/r35549812.tlock
new file mode 100644
index 0000000..eb76dcb
--- /dev/null
+++ b/reveal/v5-000005/r35549812.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM1NTQ5ODEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKcTZwNlVxeWYrNGVxb0ZRTjNnZEVDUENNQjdVZ1dGdW5LWTYyM05o
5aENjTnI3a0FERjZjby94SGdqUE9SWEtZYQpEUGlYL0UwWkxVcUtZQk45dmNPRHBR
6MHJxUzdPVEFoQjNqandRNXRUaVptVENYUWllKzA2Ni9TSVJDcEZremRyCnlRSnlH
7dzBaQm96dVd5bi9Jc05lZDFlMmF6RWZyRFhYMWp2YytyTFhUZUUKLS0tIGVGZGdK
8dWFXendYQmVWN1EwQnJzbW9pQ2x6Z1J5STR3NVJOdUU0amVLRDgKf5LWAhlBZbXt
9EeUNlez+8uv03ZU1TWZxfT94cD3LGg18I6WB+mLNwb5Yf64nMxjSmt85oZ42VZIO
10shxBZOa9aw==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000005/r35809012.ct b/reveal/v5-000005/r35809012.ct
new file mode 100644
index 0000000..c65b6f6
--- /dev/null
+++ b/reveal/v5-000005/r35809012.ct
Binary files differ
diff --git a/reveal/v5-000005/r35809012.nostr.json b/reveal/v5-000005/r35809012.nostr.json
new file mode 100644
index 0000000..4f181e6
--- /dev/null
+++ b/reveal/v5-000005/r35809012.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM1ODA5MDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKcHJTV0ZQUlhUbG1JUmZZKzU5eDYxZ0UxZExrazZjNzQyZUZsRXIr\nR1AwUWZ1TEowSU5qalVSMEk1MDR1dUkzdQpEUkNnOUF5ZkI5Z1BqTlNGdEdLcnVE\nWGppNW1HcHF4UVJPamdUaFJBYW44bThxZUJtbnNJbE9mY1RROXVuNkcrCldIakNP\nSjY5ZFdLZkZ0ZTNEaUlkdzZqSk9IUGplMHAyL090SU5VMUtyQkkKLS0tIHhhYkdq\nSGJRTndkV1hrdlZzWmU1QXJBNDN1cnZlT3ZiNXlSLzRCWDF0VEUKsRJw2t/pAwdZ\ndxDB7vKjIVy99RncBzO/7u558xebI1Y6ux6ZlMw4GIxmHy6Kg3apQVLQWRZJpBfr\nkLqvzQ+HlQ==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","35809012"],["reveal_at","2027-01-18T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","473c5abd7527eae69be86c6e2088ac2cd692d52c1a7844ab4826eb5651b2945c"],["ct","62582b020e107f5a413899cc1982a5be9e2241d1b7db07257ef5a50ff0742b44"],["seal","6355ca578dd42a054f8b1075a8019e4f72a31e1b400f34708f5c4b2c56c2f4c5"]]}
diff --git a/reveal/v5-000005/r35809012.tlock b/reveal/v5-000005/r35809012.tlock
new file mode 100644
index 0000000..74f70aa
--- /dev/null
+++ b/reveal/v5-000005/r35809012.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM1ODA5MDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKcHJTV0ZQUlhUbG1JUmZZKzU5eDYxZ0UxZExrazZjNzQyZUZsRXIr
5R1AwUWZ1TEowSU5qalVSMEk1MDR1dUkzdQpEUkNnOUF5ZkI5Z1BqTlNGdEdLcnVE
6WGppNW1HcHF4UVJPamdUaFJBYW44bThxZUJtbnNJbE9mY1RROXVuNkcrCldIakNP
7SjY5ZFdLZkZ0ZTNEaUlkdzZqSk9IUGplMHAyL090SU5VMUtyQkkKLS0tIHhhYkdq
8SGJRTndkV1hrdlZzWmU1QXJBNDN1cnZlT3ZiNXlSLzRCWDF0VEUKsRJw2t/pAwdZ
9dxDB7vKjIVy99RncBzO/7u558xebI1Y6ux6ZlMw4GIxmHy6Kg3apQVLQWRZJpBfr
10kLqvzQ+HlQ==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000005/r36039412.ct b/reveal/v5-000005/r36039412.ct
new file mode 100644
index 0000000..33dc3bf
--- /dev/null
+++ b/reveal/v5-000005/r36039412.ct
Binary files differ
diff --git a/reveal/v5-000005/r36039412.nostr.json b/reveal/v5-000005/r36039412.nostr.json
new file mode 100644
index 0000000..d96e229
--- /dev/null
+++ b/reveal/v5-000005/r36039412.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM2MDM5NDEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKc0NYUzRnU2JFbWNFYU4wOVU4RURBcEVxWDVjYkg5N2x6M1JJK3Fi\nYmowajNEc2hUZDFCc3l3U09zOHJIV3M0NgpGY284R05YWU9NbFJneENENXpJSUMw\nbmN4K1FpM1NUTzVpRnVNYXBZRlV6U0tralVjcm0xMXBucGlVV2o3VWJaCnNkRXRQ\ndEkySjhNQkNPeE1YU3BvSzUxWit1UHo0M3JjS1FUSDlkYzJUT1UKLS0tIElMYkVo\nUldCTTZoYUZXQnNyUmxFdno2c0ZxQ1lYZmNMVzlLSnJXcVluWkkKntMAdNGGeVHQ\ngdGrcKt3RcCpvGtU3WnXliIUxT/Vit8YjxU3d6vpvCJK0PgyNYHqBPVDfKD6baeN\nU9gAJNajcQ==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","36039412"],["reveal_at","2027-01-26T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","cf3f916e4efb7e3c9e4a9161a5b0bd4739f5f61811c39c82909ce1c4a1964f32"],["ct","da0bd8a75d9fbd63b887d74749d6ec0aecfc56d5183b4c56713d9ec8b6d9d5e6"],["seal","6355ca578dd42a054f8b1075a8019e4f72a31e1b400f34708f5c4b2c56c2f4c5"]]}
diff --git a/reveal/v5-000005/r36039412.tlock b/reveal/v5-000005/r36039412.tlock
new file mode 100644
index 0000000..c4345d7
--- /dev/null
+++ b/reveal/v5-000005/r36039412.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM2MDM5NDEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKc0NYUzRnU2JFbWNFYU4wOVU4RURBcEVxWDVjYkg5N2x6M1JJK3Fi
5YmowajNEc2hUZDFCc3l3U09zOHJIV3M0NgpGY284R05YWU9NbFJneENENXpJSUMw
6bmN4K1FpM1NUTzVpRnVNYXBZRlV6U0tralVjcm0xMXBucGlVV2o3VWJaCnNkRXRQ
7dEkySjhNQkNPeE1YU3BvSzUxWit1UHo0M3JjS1FUSDlkYzJUT1UKLS0tIElMYkVo
8UldCTTZoYUZXQnNyUmxFdno2c0ZxQ1lYZmNMVzlLSnJXcVluWkkKntMAdNGGeVHQ
9gdGrcKt3RcCpvGtU3WnXliIUxT/Vit8YjxU3d6vpvCJK0PgyNYHqBPVDfKD6baeN
10U9gAJNajcQ==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000005/r36644212.ct b/reveal/v5-000005/r36644212.ct
new file mode 100644
index 0000000..9731ad6
--- /dev/null
+++ b/reveal/v5-000005/r36644212.ct
Binary files differ
diff --git a/reveal/v5-000005/r36644212.nostr.json b/reveal/v5-000005/r36644212.nostr.json
new file mode 100644
index 0000000..e2d93ee
--- /dev/null
+++ b/reveal/v5-000005/r36644212.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM2NjQ0MjEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKZ3RHVW9mTWgwVzQzd09uT3VhcVJyZDVIamVzVWcwYjR6eWhJcVpU\nbVVxZWJ0dEdtS2YydTZHUHY3bGxpY0M3SgpGZzQzK2wyVDFJUDBjUi95azRZdXRt\nQzdSQjA5YVBIT1lFdVZHMVZBaE5UVUV3RGtLeGxUQXFzYzZlQ3JHMjA0CnhSTnA4\nbENEbFdrSFlZc3lpbzFUSS90ejdaV01kSkM4SjRtWE8xRW9VV2MKLS0tIDExUHVu\nenFMTzFuZWVNQ3V6SFR6R0NyR1pGa3dKb3Q2dXdpekJwSFczWmsKuNQTdOND0jPP\nex5wHTpWJMKSJj87JmiHKKolPUwhU8jMP05Ln/uwAxYfMNef4vONEMmyW7Fz+8iM\nb76M4AmTGw==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","36644212"],["reveal_at","2027-02-16T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","56251620b93097301ff74f8d70ccda92a24cb8d03abcdede34515962a46a023f"],["ct","31c5f02a5f95a2d8995a48471364b860b0a550211ff2a10ed7f7c2f25420c66e"],["seal","6355ca578dd42a054f8b1075a8019e4f72a31e1b400f34708f5c4b2c56c2f4c5"]]}
diff --git a/reveal/v5-000005/r36644212.tlock b/reveal/v5-000005/r36644212.tlock
new file mode 100644
index 0000000..eed0499
--- /dev/null
+++ b/reveal/v5-000005/r36644212.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM2NjQ0MjEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKZ3RHVW9mTWgwVzQzd09uT3VhcVJyZDVIamVzVWcwYjR6eWhJcVpU
5bVVxZWJ0dEdtS2YydTZHUHY3bGxpY0M3SgpGZzQzK2wyVDFJUDBjUi95azRZdXRt
6QzdSQjA5YVBIT1lFdVZHMVZBaE5UVUV3RGtLeGxUQXFzYzZlQ3JHMjA0CnhSTnA4
7bENEbFdrSFlZc3lpbzFUSS90ejdaV01kSkM4SjRtWE8xRW9VV2MKLS0tIDExUHVu
8enFMTzFuZWVNQ3V6SFR6R0NyR1pGa3dKb3Q2dXdpekJwSFczWmsKuNQTdOND0jPP
9ex5wHTpWJMKSJj87JmiHKKolPUwhU8jMP05Ln/uwAxYfMNef4vONEMmyW7Fz+8iM
10b76M4AmTGw==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000005/r36701812.ct b/reveal/v5-000005/r36701812.ct
new file mode 100644
index 0000000..f8414c9
--- /dev/null
+++ b/reveal/v5-000005/r36701812.ct
Binary files differ
diff --git a/reveal/v5-000005/r36701812.nostr.json b/reveal/v5-000005/r36701812.nostr.json
new file mode 100644
index 0000000..ec6d8cf
--- /dev/null
+++ b/reveal/v5-000005/r36701812.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM2NzAxODEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKcFpKVHVHbXRybW9wcU9zNmthNXhtS05PYWE5UDBrK1BSY1o5bFpW\nMitOR0szd25NTURIcnkrVy9PcGlGRHBDdQpBSTNqV0RYY1FKMm12VWRRaUh2OUYw\nbkhYRi9XY2ZZSVNIUHVqcUN4K25nZWZDci85NVI3Slo5eHE0dEkvNHIwCjY5M0d4\nVnQwelQrTUh5eVpvTnZWL1FPdlFnVzJwdXo5UTJHYXlzU01sbU0KLS0tIHhqb3F2\nVUoxRkRhcUptOFgwL240L1hPVnJDK09lbWV3eFVnaGROUWRodFEKWwKDSI7tOadv\nFextdn9wlo/nPHdrQXbIiZ2YdzlmjTNSl5xob7LDY9NNifIOoZjtclNf0q6NZr3w\n9ZsfhUdaNg==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","36701812"],["reveal_at","2027-02-18T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","dc02baa02b219c3825e1840f36deb22c572a73849a1e332031d21be844f14777"],["ct","8b3781732a63cbb8960589b8dcd3dadca533e8f0637200b89bea4562acb3798c"],["seal","6355ca578dd42a054f8b1075a8019e4f72a31e1b400f34708f5c4b2c56c2f4c5"]]}
diff --git a/reveal/v5-000005/r36701812.tlock b/reveal/v5-000005/r36701812.tlock
new file mode 100644
index 0000000..62fe1f7
--- /dev/null
+++ b/reveal/v5-000005/r36701812.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM2NzAxODEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKcFpKVHVHbXRybW9wcU9zNmthNXhtS05PYWE5UDBrK1BSY1o5bFpW
5MitOR0szd25NTURIcnkrVy9PcGlGRHBDdQpBSTNqV0RYY1FKMm12VWRRaUh2OUYw
6bkhYRi9XY2ZZSVNIUHVqcUN4K25nZWZDci85NVI3Slo5eHE0dEkvNHIwCjY5M0d4
7VnQwelQrTUh5eVpvTnZWL1FPdlFnVzJwdXo5UTJHYXlzU01sbU0KLS0tIHhqb3F2
8VUoxRkRhcUptOFgwL240L1hPVnJDK09lbWV3eFVnaGROUWRodFEKWwKDSI7tOadv
9Fextdn9wlo/nPHdrQXbIiZ2YdzlmjTNSl5xob7LDY9NNifIOoZjtclNf0q6NZr3w
109ZsfhUdaNg==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000005/r37796212.ct b/reveal/v5-000005/r37796212.ct
new file mode 100644
index 0000000..e227245
--- /dev/null
+++ b/reveal/v5-000005/r37796212.ct
Binary files differ
diff --git a/reveal/v5-000005/r37796212.nostr.json b/reveal/v5-000005/r37796212.nostr.json
new file mode 100644
index 0000000..00129c2
--- /dev/null
+++ b/reveal/v5-000005/r37796212.nostr.json
@@ -0,0 +1 @@
{"content":"-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM3Nzk2MjEyIDUyZGI5YmE3\nMGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw\nMGM4NGU5NzEKaHlycGx0bml2Ylg1ZUFIcGUxUzJvSHh2ZHFEWlh1NHNoUjRRMkxn\nMG14VFloUVRFQjdzNDV3V1RDdTRkOS9TRgpGaHhWeVFzVlBrdFhqNnVGeGVpMVgx\nWFJucFVWNU1aRnBvU1drTkxlUmJHUHdaOThxRXZQOW94SE1kQmkrQVZ5CjZDQkUx\nd2pLYlRVZjZ6UEM4ZWMzRVk4dGFHN2p4TE94d3hMcjdSeExWTlkKLS0tIHNReE5t\nS3Jka013NTdOblk5ajRBb2pZNkFOcnBsU014V2RLRkVKWmh0dncK/heC3SqSPtjv\nhEql7VzNzg1Mm/otgMAPe/vCHJHbJqo/v9W/B13Si1RZm3W6WbjC+aIAhFo+c8m8\niLTZTNafwQ==\n-----END AGE ENCRYPTED FILE-----\n","tags":[["t","echo-ledger-reveal"],["round","37796212"],["reveal_at","2027-03-28T00:00:00.000000Z"],["chain","52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"],["digest","b3de8f4fe356e373b95d4eb5ce9dff0de0babfda3a92519705bbde73e759287f"],["ct","72cad9b5287fd6ddbaef9eca850d43b74ff546bee32efb9f1693822555810b8e"],["seal","6355ca578dd42a054f8b1075a8019e4f72a31e1b400f34708f5c4b2c56c2f4c5"]]}
diff --git a/reveal/v5-000005/r37796212.tlock b/reveal/v5-000005/r37796212.tlock
new file mode 100644
index 0000000..8c5fdca
--- /dev/null
+++ b/reveal/v5-000005/r37796212.tlock
@@ -0,0 +1,11 @@
1-----BEGIN AGE ENCRYPTED FILE-----
2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2NrIDM3Nzk2MjEyIDUyZGI5YmE3
3MGUwY2MwZjZlYWY3ODAzZGQwNzQ0N2ExZjU0Nzc3MzVmZDNmNjYxNzkyYmE5NDYw
4MGM4NGU5NzEKaHlycGx0bml2Ylg1ZUFIcGUxUzJvSHh2ZHFEWlh1NHNoUjRRMkxn
5MG14VFloUVRFQjdzNDV3V1RDdTRkOS9TRgpGaHhWeVFzVlBrdFhqNnVGeGVpMVgx
6WFJucFVWNU1aRnBvU1drTkxlUmJHUHdaOThxRXZQOW94SE1kQmkrQVZ5CjZDQkUx
7d2pLYlRVZjZ6UEM4ZWMzRVk4dGFHN2p4TE94d3hMcjdSeExWTlkKLS0tIHNReE5t
8S3Jka013NTdOblk5ajRBb2pZNkFOcnBsU014V2RLRkVKWmh0dncK/heC3SqSPtjv
9hEql7VzNzg1Mm/otgMAPe/vCHJHbJqo/v9W/B13Si1RZm3W6WbjC+aIAhFo+c8m8
10iLTZTNafwQ==
11-----END AGE ENCRYPTED FILE-----
diff --git a/reveal/v5-000005/seal.json b/reveal/v5-000005/seal.json
new file mode 100644
index 0000000..8bfa580
--- /dev/null
+++ b/reveal/v5-000005/seal.json
@@ -0,0 +1,43 @@
1{
2 "algorithm": "sha256-live-v5",
3 "anchor_ref": "sha256:6355ca578dd42a054f8b1075a8019e4f72a31e1b400f34708f5c4b2c56c2f4c5",
4 "covers_after": "2026-10-04T00:08:35.532031Z",
5 "covers_through": "2026-10-04T22:15:27.977326Z",
6 "digest": "6355ca578dd42a054f8b1075a8019e4f72a31e1b400f34708f5c4b2c56c2f4c5",
7 "follows_seq": 35,
8 "n_forecasts": 2431,
9 "n_groups": 23,
10 "n_withheld": 2431,
11 "prev_digest": "0577329be46aad3dc6b6ba6588d255eb95d6137d7abd48f8ad8568134ff4437d",
12 "prev_seq": 4,
13 "sealed_at": "2026-10-04T22:15:56.575145Z",
14 "seq": 5,
15 "variant": {
16 "beacon": {
17 "chain_hash": "52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",
18 "genesis_time": 1692803367,
19 "period": 3,
20 "relays": [
21 "https://api.drand.sh",
22 "https://api2.drand.sh",
23 "https://api3.drand.sh",
24 "https://drand.cloudflare.com"
25 ],
26 "scheme": "bls-unchained-g1-rfc9380"
27 },
28 "cipher": "chacha20poly1305-zlib6-nonce0",
29 "gate": {
30 "default": "withheld: a kept salt can be released later; an opened text can never be withdrawn",
31 "opened": "none",
32 "why": "no decision by Echo yet"
33 },
34 "line": "numeric<TAB>open:<v4 line> | numeric<TAB>withheld:sha256(salt||v4 line)",
35 "reveal": "utc-day-after-close",
36 "salts": "key ring: one content a seal, one part a line",
37 "tool": {
38 "name": "tle",
39 "sha256": "69157d8c14a1d390d1b7744946288f83d4b10748471d5447f9abb77a5902c541",
40 "version": "tlock v1.2.0 -- github.com/drand/tlock"
41 }
42 }
43}