blindspot — hunt the unknown-unknowns
The most valuable thing this skill produces is the gap the user could not have
asked about. Generic checklists fail twice: they list things he already
has (wasting his trust) and miss the specific silent killer in HIS system.
Everything below exists to prevent those two failures.
The method
1. Ground in what actually exists — before any opinion
Read the real system first: code, configs, docs, runbooks, git history, live
state. Build a one-paragraph inventory of what's already covered. A gap claim
that turns out to already exist destroys the report's credibility; a
recommendation list that never says "you already have X covered" reads as
unread boilerplate. Budget real effort here — in a repo, that means opening
files, not skimming the README. If ultracode/Workflow is available and the
system is large, fan out readers per subsystem and adversarially verify
candidate gaps before reporting (a "gap" a verifier can refute with a file
reference was never a gap).
2. Walk the expert lenses
The core mechanic: examine the system as a series of domain veterans would,
each asking one question — "what does every mature version of this thing
have that this one doesn't?" Pick the 5–8 lenses that fit the domain (add
your own; these are seeds, not a form to fill):
| Lens |
The veteran's reflex question |
| Release engineering |
What happens when a bad version ships — can it self-heal without users acting? |
| Silent killers |
What breaks every user at once with NO release event (unpinned deps, expiring certs/tokens, upstream API sunsets)? |
| Data durability |
What user data exists, what versions its schema, what migrates it, what backs it up, what restores it? |
| Security / supply chain |
What runs code or installs packages on trust? What's signed, what's merely fetched? |
| Ecosystem & compatibility |
What contract do third parties (plugin/agent/API authors) rely on, and what enforces it across versions? |
| Incident response |
When it breaks at 2am, where do users look, and what's the rehearsed rollback? |
| Bus factor |
What knowledge or access exists only in one person's head or machine? |
| Observability |
When a user says "it's broken", what evidence can they hand over — and what does it leak? |
| Growth / adoption |
What makes the second user's experience worse than the first's (scaling cliffs, support load, docs drift)? |
| One-way doors |
Which of today's casual choices (names, formats, schemas, URLs) become expensive-forever contracts? |
For each lens, name the SPECIFIC missing thing in THIS system with evidence
(file, behavior, absence), never the abstract practice. "You have no staged
rollout" is noise; "every user's launcher auto-pulls main, so a bad release
hits the whole fleet within hours and only a manual git revert saves them —
there is no remote latest-good manifest" is a finding.
3. Rank by consequence, not interestingness
Order findings by (user impact × irreversibility × probability), and label
each with its class:
- Silent killer — breaks users with no triggering event, nothing to roll back
- One-way door — cheap to fix today, a permanent regret in a year
- Single point of failure — one machine, one token, one person
- Erosion — degrades trust gradually (docs drift, flaky installs, stale mirrors)
Drop anything that is merely "best practice" without a concrete failure story
in this system. If it can't hurt the user's users, it doesn't make the list.
4. Deliver the contract
Lead with the shortlist — the reader sees one screen first. Structure:
- Build-now shortlist (≤5): each one sentence — the gap, the concrete
failure it prevents, rough cost now vs. cost later. Flag any item that is
a new feature if a no-new-features rule is in force (check memory — such
items may need to route through an experiment lane instead of mainline).
- Ranked findings with class labels and evidence.
- Already covered — 3–6 things checked and found solid, with what
covers them. This section is what makes the rest believable.
- One-way doors closing soon — decisions to make deliberately this
month even if the answer is "keep as is".
Failure modes to avoid
- Proposing what already exists (you didn't read enough — go back to step 1).
- The consultant dump: twenty framework-shaped bullets with no file paths.
- Overfitting to the last domain you analyzed — re-derive the lens set fresh
for each system (a release train, a sales deck, and a family estate plan
share almost no lenses).
- Ranking by intellectual interest instead of user pain.
- Hedging the shortlist. The user is explicitly delegating judgment — commit to
an ordering and say why #1 is #1.
Run this — do not improvise
This capability's deterministic implementation is a RAPP single-file agent, linked beside this file as blindspot_agent.py and embedded as the fenced Python below (sha256 c611671d1d5a0616…; a byte-exact copy is also vaulted in the capsule comment at the end of this file). On a host with sandbox execution, run the linked file directly — if it is missing, write the fence contents verbatim to blindspot_agent.py first:
python3 blindspot_agent.py '{"key": "value"}' # arguments as one JSON object
echo '{"key": "value"}' | python3 blindspot_agent.py # or on stdin
python3 blindspot_agent.py --tool # emit the JSON tool contract
Treat stdout as a tool result. If it reports missing or unresolved inputs, stop and collect them. If it returns steps, execute those steps in order exactly as returned; if it returns instructions, follow them with the supplied inputs. Otherwise use the result verbatim. Do not invent behavior beyond that output. On a host without code execution, treat the Parameters schema and the code below as the exact specification and never paraphrase a step. Never edit inside the generated markers; a converter-equipped host can instead restore the original file checksum-verified with the installed rapp-agent-converter/scripts/toast.py convert SKILL.md --to agent.
"""Blindspot -- Systematically surface what the user doesn't know they don't know — the gaps, risks, and missing practices in a system, plan, or product only visible from cross-domain expertise. Use on "what am I missing", "blindspot this", "what would an expert see here", "stress test my plan", "sanity check this", or before committing to something hard to reverse (a launch, release process, schema, pricing, architecture). Deliverable: a ranked, evidenced gap list plus a build-now shortlist, not a checklist.
Generated by the rapp skill from blindspot. The RCI capsule at the bottom of this file carries the full original; `toast.py convert` restores it byte-exact."""
import json
import re
import sys
try:
from agents.basic_agent import BasicAgent
except ImportError: # running OUTSIDE a brainstem -- stay executable anyway.
class BasicAgent: # noqa: D101 - minimal stand-in, same contract
def __init__(self, name=None, metadata=None):
if name:
self.name = name
if metadata:
self.metadata = metadata
def perform(self, **kwargs):
return "Not implemented."
def system_context(self):
return None
def to_tool(self):
return {"type": "function", "function": {
"name": self.name,
"description": self.metadata.get("description", ""),
"parameters": self.metadata.get("parameters", {})}}
# The procedural layer, verbatim from the source capability.
INSTRUCTIONS = '# blindspot — hunt the unknown-unknowns\n\nThe most valuable thing this skill produces is the gap the user could not have\nasked about. Generic checklists fail twice: they list things he already\nhas (wasting his trust) and miss the specific silent killer in HIS system.\nEverything below exists to prevent those two failures.\n\n## The method\n\n### 1. Ground in what actually exists — before any opinion\n\nRead the real system first: code, configs, docs, runbooks, git history, live\nstate. Build a one-paragraph inventory of what's already covered. A gap claim\nthat turns out to already exist destroys the report's credibility; a\nrecommendation list that never says "you already have X covered" reads as\nunread boilerplate. Budget real effort here — in a repo, that means opening\nfiles, not skimming the README. If ultracode/Workflow is available and the\nsystem is large, fan out readers per subsystem and adversarially verify\ncandidate gaps before reporting (a "gap" a verifier can refute with a file\nreference was never a gap).\n\n### 2. Walk the expert lenses\n\nThe core mechanic: examine the system as a series of domain veterans would,\neach asking one question — *"what does every mature version of this thing\nhave that this one doesn't?"* Pick the 5–8 lenses that fit the domain (add\nyour own; these are seeds, not a form to fill):\n\n| Lens | The veteran's reflex question |\n|---|---|\n| Release engineering | What happens when a bad version ships — can it self-heal without users acting? |\n| Silent killers | What breaks every user at once with NO release event (unpinned deps, expiring certs/tokens, upstream API sunsets)? |\n| Data durability | What user data exists, what versions its schema, what migrates it, what backs it up, what restores it? |\n| Security / supply chain | What runs code or installs packages on trust? What's signed, what's merely fetched? |\n| Ecosystem & compatibility | What contract do third parties (plugin/agent/API authors) rely on, and what enforces it across versions? |\n| Incident response | When it breaks at 2am, where do users look, and what's the rehearsed rollback? |\n| Bus factor | What knowledge or access exists only in one person's head or machine? |\n| Observability | When a user says "it's broken", what evidence can they hand over — and what does it leak? |\n| Growth / adoption | What makes the second user's experience worse than the first's (scaling cliffs, support load, docs drift)? |\n| One-way doors | Which of today's casual choices (names, formats, schemas, URLs) become expensive-forever contracts? |\n\nFor each lens, name the SPECIFIC missing thing in THIS system with evidence\n(file, behavior, absence), never the abstract practice. "You have no staged\nrollout" is noise; "every user's launcher auto-pulls main, so a bad release\nhits the whole fleet within hours and only a manual git revert saves them —\nthere is no remote latest-good manifest" is a finding.\n\n### 3. Rank by consequence, not interestingness\n\nOrder findings by (user impact × irreversibility × probability), and label\neach with its class:\n\n- **Silent killer** — breaks users with no triggering event, nothing to roll back\n- **One-way door** — cheap to fix today, a permanent regret in a year\n- **Single point of failure** — one machine, one token, one person\n- **Erosion** — degrades trust gradually (docs drift, flaky installs, stale mirrors)\n\nDrop anything that is merely "best practice" without a concrete failure story\nin this system. If it can't hurt the user's users, it doesn't make the list.\n\n### 4. Deliver the contract\n\nLead with the shortlist — the reader sees one screen first. Structure:\n\n1. **Build-now shortlist** (≤5): each one sentence — the gap, the concrete\n failure it prevents, rough cost now vs. cost later. Flag any item that is\n a new feature if a no-new-features rule is in force (check memory — such\n items may need to route through an experiment lane instead of mainline).\n2. **Ranked findings** with class labels and evidence.\n3. **Already covered** — 3–6 things checked and found solid, with what\n covers them. This section is what makes the rest believable.\n4. **One-way doors closing soon** — decisions to make deliberately this\n month even if the answer is "keep as is".\n\n## Failure modes to avoid\n\n- Proposing what already exists (you didn't read enough — go back to step 1).\n- The consultant dump: twenty framework-shaped bullets with no file paths.\n- Overfitting to the last domain you analyzed — re-derive the lens set fresh\n for each system (a release train, a sales deck, and a family estate plan\n share almost no lenses).\n- Ranking by intellectual interest instead of user pain.\n- Hedging the shortlist. The user is explicitly delegating judgment — commit to\n an ordering and say why #1 is #1.'
# Ordered commands lifted verbatim from the capability's own documentation.
STEPS = []
class BlindspotAgent(BasicAgent):
def __init__(self):
self.name = 'Blindspot'
self.metadata = {
"name": "Blindspot",
"description": "Systematically surface what the user doesn't know they don't know \u2014 the gaps, risks, and missing practices in a system, plan, or product only visible from cross-domain expertise. Use on \"what am I missing\", \"blindspot this\", \"what would an expert see here\", \"stress test my plan\", \"sanity check this\", or before committing to something hard to reverse (a launch, release process, schema, pricing, architecture). Deliverable: a ranked, evidenced gap list plus a build-now shortlist, not a checklist.",
"parameters": {
"type": "object",
"properties": {},
"required": []
}
}
super().__init__(name=self.name, metadata=self.metadata)
def perform(self, **kwargs): # toaster:generated-perform
return json.dumps({"status": "ok", "instructions": INSTRUCTIONS,
"inputs": kwargs,
"note": "Prose-only capability: follow INSTRUCTIONS "
"with the given inputs."}, indent=2)
if __name__ == "__main__":
# echo '{"arg": "value"}' | python3 blindspot_agent.py
# python3 blindspot_agent.py '{"arg": "value"}'
# python3 blindspot_agent.py --tool # emit the JSON tool contract
_a = sys.argv[1:]
if _a and _a[0] == "--tool":
print(json.dumps(BlindspotAgent().to_tool(), indent=2))
else:
_raw = _a[0] if _a else (sys.stdin.read().strip() or "{}")
print(BlindspotAgent().perform(**json.loads(_raw)))
# rci-capsule:v1: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
1---2name: blindspot3description: Systematically surface what the user doesn't know they don't know — the gaps, risks, and missing practices in a system, plan, or product only visible from cross-domain expertise. Use on "what am I missing", "blindspot this", "what would an expert see here", "stress test my plan", "sanity check this", or before committing to something hard to reverse (a launch, release process, schema, pricing, architecture). Deliverable: a ranked, evidenced gap list plus a build-now shortlist, not a checklist.4---56# blindspot — hunt the unknown-unknowns78The most valuable thing this skill produces is the gap the user could not have9asked about. Generic checklists fail twice: they list things he already10has (wasting his trust) and miss the specific silent killer in HIS system.11Everything below exists to prevent those two failures.1213## The method1415### 1. Ground in what actually exists — before any opinion1617Read the real system first: code, configs, docs, runbooks, git history, live18state. Build a one-paragraph inventory of what's already covered. A gap claim19that turns out to already exist destroys the report's credibility; a20recommendation list that never says "you already have X covered" reads as21unread boilerplate. Budget real effort here — in a repo, that means opening22files, not skimming the README. If ultracode/Workflow is available and the23system is large, fan out readers per subsystem and adversarially verify24candidate gaps before reporting (a "gap" a verifier can refute with a file25reference was never a gap).2627### 2. Walk the expert lenses2829The core mechanic: examine the system as a series of domain veterans would,30each asking one question — *"what does every mature version of this thing31have that this one doesn't?"* Pick the 5–8 lenses that fit the domain (add32your own; these are seeds, not a form to fill):3334| Lens | The veteran's reflex question |35|---|---|36| Release engineering | What happens when a bad version ships — can it self-heal without users acting? |37| Silent killers | What breaks every user at once with NO release event (unpinned deps, expiring certs/tokens, upstream API sunsets)? |38| Data durability | What user data exists, what versions its schema, what migrates it, what backs it up, what restores it? |39| Security / supply chain | What runs code or installs packages on trust? What's signed, what's merely fetched? |40| Ecosystem & compatibility | What contract do third parties (plugin/agent/API authors) rely on, and what enforces it across versions? |41| Incident response | When it breaks at 2am, where do users look, and what's the rehearsed rollback? |42| Bus factor | What knowledge or access exists only in one person's head or machine? |43| Observability | When a user says "it's broken", what evidence can they hand over — and what does it leak? |44| Growth / adoption | What makes the second user's experience worse than the first's (scaling cliffs, support load, docs drift)? |45| One-way doors | Which of today's casual choices (names, formats, schemas, URLs) become expensive-forever contracts? |4647For each lens, name the SPECIFIC missing thing in THIS system with evidence48(file, behavior, absence), never the abstract practice. "You have no staged49rollout" is noise; "every user's launcher auto-pulls main, so a bad release50hits the whole fleet within hours and only a manual git revert saves them —51there is no remote latest-good manifest" is a finding.5253### 3. Rank by consequence, not interestingness5455Order findings by (user impact × irreversibility × probability), and label56each with its class:5758- **Silent killer** — breaks users with no triggering event, nothing to roll back59- **One-way door** — cheap to fix today, a permanent regret in a year60- **Single point of failure** — one machine, one token, one person61- **Erosion** — degrades trust gradually (docs drift, flaky installs, stale mirrors)6263Drop anything that is merely "best practice" without a concrete failure story64in this system. If it can't hurt the user's users, it doesn't make the list.6566### 4. Deliver the contract6768Lead with the shortlist — the reader sees one screen first. Structure:69701. **Build-now shortlist** (≤5): each one sentence — the gap, the concrete71 failure it prevents, rough cost now vs. cost later. Flag any item that is72 a new feature if a no-new-features rule is in force (check memory — such73 items may need to route through an experiment lane instead of mainline).742. **Ranked findings** with class labels and evidence.753. **Already covered** — 3–6 things checked and found solid, with what76 covers them. This section is what makes the rest believable.774. **One-way doors closing soon** — decisions to make deliberately this78 month even if the answer is "keep as is".7980## Failure modes to avoid8182- Proposing what already exists (you didn't read enough — go back to step 1).83- The consultant dump: twenty framework-shaped bullets with no file paths.84- Overfitting to the last domain you analyzed — re-derive the lens set fresh85 for each system (a release train, a sales deck, and a family estate plan86 share almost no lenses).87- Ranking by intellectual interest instead of user pain.88- Hedging the shortlist. The user is explicitly delegating judgment — commit to89 an ordering and say why #1 is #1.9091<!-- toaster:generated:begin -->9293## Run this — do not improvise9495This capability's deterministic implementation is a RAPP single-file agent, linked beside this file as `blindspot_agent.py` and embedded as the fenced Python below (sha256 c611671d1d5a0616…; a byte-exact copy is also vaulted in the capsule comment at the end of this file). On a host with sandbox execution, run the linked file directly — if it is missing, write the fence contents verbatim to `blindspot_agent.py` first:9697```bash98python3 blindspot_agent.py '{"key": "value"}' # arguments as one JSON object99echo '{"key": "value"}' | python3 blindspot_agent.py # or on stdin100python3 blindspot_agent.py --tool # emit the JSON tool contract101```102103Treat stdout as a tool result. If it reports missing or unresolved inputs, stop and collect them. If it returns `steps`, execute those steps in order exactly as returned; if it returns `instructions`, follow them with the supplied inputs. Otherwise use the result verbatim. Do not invent behavior beyond that output. On a host without code execution, treat the Parameters schema and the code below as the exact specification and never paraphrase a step. Never edit inside the generated markers; a converter-equipped host can instead restore the original file checksum-verified with the installed `rapp-agent-converter/scripts/toast.py convert SKILL.md --to agent`.104105```python # rapp:deterministic106"""Blindspot -- Systematically surface what the user doesn't know they don't know — the gaps, risks, and missing practices in a system, plan, or product only visible from cross-domain expertise. Use on "what am I missing", "blindspot this", "what would an expert see here", "stress test my plan", "sanity check this", or before committing to something hard to reverse (a launch, release process, schema, pricing, architecture). Deliverable: a ranked, evidenced gap list plus a build-now shortlist, not a checklist.107108Generated by the rapp skill from blindspot. The RCI capsule at the bottom of this file carries the full original; `toast.py convert` restores it byte-exact."""109110import json111import re112import sys113114try:115 from agents.basic_agent import BasicAgent116except ImportError: # running OUTSIDE a brainstem -- stay executable anyway.117 class BasicAgent: # noqa: D101 - minimal stand-in, same contract118 def __init__(self, name=None, metadata=None):119 if name:120 self.name = name121 if metadata:122 self.metadata = metadata123124 def perform(self, **kwargs):125 return "Not implemented."126127 def system_context(self):128 return None129130 def to_tool(self):131 return {"type": "function", "function": {132 "name": self.name,133 "description": self.metadata.get("description", ""),134 "parameters": self.metadata.get("parameters", {})}}135136# The procedural layer, verbatim from the source capability.137INSTRUCTIONS = '# blindspot — hunt the unknown-unknowns\n\nThe most valuable thing this skill produces is the gap the user could not have\nasked about. Generic checklists fail twice: they list things he already\nhas (wasting his trust) and miss the specific silent killer in HIS system.\nEverything below exists to prevent those two failures.\n\n## The method\n\n### 1. Ground in what actually exists — before any opinion\n\nRead the real system first: code, configs, docs, runbooks, git history, live\nstate. Build a one-paragraph inventory of what's already covered. A gap claim\nthat turns out to already exist destroys the report's credibility; a\nrecommendation list that never says "you already have X covered" reads as\nunread boilerplate. Budget real effort here — in a repo, that means opening\nfiles, not skimming the README. If ultracode/Workflow is available and the\nsystem is large, fan out readers per subsystem and adversarially verify\ncandidate gaps before reporting (a "gap" a verifier can refute with a file\nreference was never a gap).\n\n### 2. Walk the expert lenses\n\nThe core mechanic: examine the system as a series of domain veterans would,\neach asking one question — *"what does every mature version of this thing\nhave that this one doesn't?"* Pick the 5–8 lenses that fit the domain (add\nyour own; these are seeds, not a form to fill):\n\n| Lens | The veteran's reflex question |\n|---|---|\n| Release engineering | What happens when a bad version ships — can it self-heal without users acting? |\n| Silent killers | What breaks every user at once with NO release event (unpinned deps, expiring certs/tokens, upstream API sunsets)? |\n| Data durability | What user data exists, what versions its schema, what migrates it, what backs it up, what restores it? |\n| Security / supply chain | What runs code or installs packages on trust? What's signed, what's merely fetched? |\n| Ecosystem & compatibility | What contract do third parties (plugin/agent/API authors) rely on, and what enforces it across versions? |\n| Incident response | When it breaks at 2am, where do users look, and what's the rehearsed rollback? |\n| Bus factor | What knowledge or access exists only in one person's head or machine? |\n| Observability | When a user says "it's broken", what evidence can they hand over — and what does it leak? |\n| Growth / adoption | What makes the second user's experience worse than the first's (scaling cliffs, support load, docs drift)? |\n| One-way doors | Which of today's casual choices (names, formats, schemas, URLs) become expensive-forever contracts? |\n\nFor each lens, name the SPECIFIC missing thing in THIS system with evidence\n(file, behavior, absence), never the abstract practice. "You have no staged\nrollout" is noise; "every user's launcher auto-pulls main, so a bad release\nhits the whole fleet within hours and only a manual git revert saves them —\nthere is no remote latest-good manifest" is a finding.\n\n### 3. Rank by consequence, not interestingness\n\nOrder findings by (user impact × irreversibility × probability), and label\neach with its class:\n\n- **Silent killer** — breaks users with no triggering event, nothing to roll back\n- **One-way door** — cheap to fix today, a permanent regret in a year\n- **Single point of failure** — one machine, one token, one person\n- **Erosion** — degrades trust gradually (docs drift, flaky installs, stale mirrors)\n\nDrop anything that is merely "best practice" without a concrete failure story\nin this system. If it can't hurt the user's users, it doesn't make the list.\n\n### 4. Deliver the contract\n\nLead with the shortlist — the reader sees one screen first. Structure:\n\n1. **Build-now shortlist** (≤5): each one sentence — the gap, the concrete\n failure it prevents, rough cost now vs. cost later. Flag any item that is\n a new feature if a no-new-features rule is in force (check memory — such\n items may need to route through an experiment lane instead of mainline).\n2. **Ranked findings** with class labels and evidence.\n3. **Already covered** — 3–6 things checked and found solid, with what\n covers them. This section is what makes the rest believable.\n4. **One-way doors closing soon** — decisions to make deliberately this\n month even if the answer is "keep as is".\n\n## Failure modes to avoid\n\n- Proposing what already exists (you didn't read enough — go back to step 1).\n- The consultant dump: twenty framework-shaped bullets with no file paths.\n- Overfitting to the last domain you analyzed — re-derive the lens set fresh\n for each system (a release train, a sales deck, and a family estate plan\n share almost no lenses).\n- Ranking by intellectual interest instead of user pain.\n- Hedging the shortlist. The user is explicitly delegating judgment — commit to\n an ordering and say why #1 is #1.'138139# Ordered commands lifted verbatim from the capability's own documentation.140STEPS = []141142143class BlindspotAgent(BasicAgent):144 def __init__(self):145 self.name = 'Blindspot'146 self.metadata = {147 "name": "Blindspot",148 "description": "Systematically surface what the user doesn't know they don't know \u2014 the gaps, risks, and missing practices in a system, plan, or product only visible from cross-domain expertise. Use on \"what am I missing\", \"blindspot this\", \"what would an expert see here\", \"stress test my plan\", \"sanity check this\", or before committing to something hard to reverse (a launch, release process, schema, pricing, architecture). Deliverable: a ranked, evidenced gap list plus a build-now shortlist, not a checklist.",149 "parameters": {150 "type": "object",151 "properties": {},152 "required": []153 }154 }155 super().__init__(name=self.name, metadata=self.metadata)156157 def perform(self, **kwargs): # toaster:generated-perform158 return json.dumps({"status": "ok", "instructions": INSTRUCTIONS,159 "inputs": kwargs,160 "note": "Prose-only capability: follow INSTRUCTIONS "161 "with the given inputs."}, indent=2)162163if __name__ == "__main__":164 # echo '{"arg": "value"}' | python3 blindspot_agent.py165 # python3 blindspot_agent.py '{"arg": "value"}'166 # python3 blindspot_agent.py --tool # emit the JSON tool contract167 _a = sys.argv[1:]168 if _a and _a[0] == "--tool":169 print(json.dumps(BlindspotAgent().to_tool(), indent=2))170 else:171 _raw = _a[0] if _a else (sys.stdin.read().strip() or "{}")172 print(BlindspotAgent().perform(**json.loads(_raw)))173174# rci-capsule:v1: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```176177<!-- toaster:generated:end -->178179<!-- rci-capsule:v1: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…(truncated)