pwn 0.5.613 → 0.5.617
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +10 -10
- data/README.md +117 -17
- data/bin/pwn +47 -2
- data/bin/pwn_gqrx_scanner +75 -18
- data/documentation/AI-Integration.md +36 -0
- data/documentation/BurpSuite.md +26 -0
- data/documentation/Contributing.md +31 -0
- data/documentation/Diagrams.md +140 -0
- data/documentation/Drivers.md +25 -0
- data/documentation/General-PWN-Usage.md +60 -0
- data/documentation/Home.md +78 -0
- data/documentation/How-PWN-Works.md +62 -0
- data/documentation/Installation.md +75 -0
- data/documentation/NmapIt.md +18 -0
- data/documentation/Plugins.md +59 -0
- data/documentation/Reporting.md +28 -0
- data/documentation/SAST.md +32 -0
- data/documentation/Skills-Memory-Learning.md +44 -0
- data/documentation/Transparent-Browser.md +32 -0
- data/documentation/Troubleshooting.md +38 -0
- data/documentation/What-is-PWN.md +53 -0
- data/documentation/Why-PWN.md +48 -0
- data/documentation/diagrams/ai-integration-tool-calling.svg +172 -0
- data/documentation/diagrams/build.sh +20 -0
- data/documentation/diagrams/burp-vs-zap-preference.svg +69 -0
- data/documentation/diagrams/code-scanning-sast.svg +172 -0
- data/documentation/diagrams/dot/_THEME.md +27 -0
- data/documentation/diagrams/dot/agent-tool-registry.dot +59 -0
- data/documentation/diagrams/dot/ai-integration-tool-calling.dot +50 -0
- data/documentation/diagrams/dot/aws-cloud-security.dot +48 -0
- data/documentation/diagrams/dot/burp-vs-zap-preference.dot +26 -0
- data/documentation/diagrams/dot/code-scanning-sast.dot +49 -0
- data/documentation/diagrams/dot/cron-scheduling.dot +40 -0
- data/documentation/diagrams/dot/driver-framework.dot +39 -0
- data/documentation/diagrams/dot/extrospection-world-awareness.dot +55 -0
- data/documentation/diagrams/dot/fuzzing-workflow.dot +47 -0
- data/documentation/diagrams/dot/history-to-drivers.dot +34 -0
- data/documentation/diagrams/dot/memory-skills-detailed.dot +60 -0
- data/documentation/diagrams/dot/network-infra-testing.dot +54 -0
- data/documentation/diagrams/dot/overall-pwn-architecture.dot +115 -0
- data/documentation/diagrams/dot/penetration-testing-workflow.dot +60 -0
- data/documentation/diagrams/dot/plugin-ecosystem.dot +45 -0
- data/documentation/diagrams/dot/pwn-ai-feedback-learning-loop.dot +98 -0
- data/documentation/diagrams/dot/pwn-repl-prototyping.dot +56 -0
- data/documentation/diagrams/dot/reporting-pipeline.dot +46 -0
- data/documentation/diagrams/dot/reverse-engineering-flow.dot +43 -0
- data/documentation/diagrams/dot/sdr-radio-flow.dot +45 -0
- data/documentation/diagrams/dot/sessions-cron-automation.dot +44 -0
- data/documentation/diagrams/dot/swarm-multi-agent.dot +70 -0
- data/documentation/diagrams/dot/web-application-testing.dot +49 -0
- data/documentation/diagrams/dot/zero-day-research-flow.dot +49 -0
- data/documentation/diagrams/driver-framework.svg +111 -0
- data/documentation/diagrams/fuzzing-workflow.svg +160 -0
- data/documentation/diagrams/history-to-drivers.svg +119 -0
- data/documentation/diagrams/memory-skills-detailed.svg +202 -0
- data/documentation/diagrams/network-infra-testing.svg +183 -0
- data/documentation/diagrams/overall-pwn-architecture.svg +405 -0
- data/documentation/diagrams/penetration-testing-workflow.svg +201 -0
- data/documentation/diagrams/plugin-ecosystem.svg +276 -0
- data/documentation/diagrams/pwn-ai-feedback-learning-loop.svg +306 -0
- data/documentation/diagrams/pwn-repl-prototyping.svg +168 -0
- data/documentation/diagrams/reporting-pipeline.svg +151 -0
- data/documentation/diagrams/reverse-engineering-flow.svg +134 -0
- data/documentation/diagrams/sessions-cron-automation.svg +136 -0
- data/documentation/diagrams/web-application-testing.svg +173 -0
- data/documentation/diagrams/zero-day-research-flow.svg +153 -0
- data/documentation/pwn-REPL.md +33 -0
- data/documentation/pwn-ai-Agent.md +43 -0
- data/git_commit.sh +1 -1
- data/lib/pwn/ai/agent/assembly.rb +1 -1
- data/lib/pwn/ai/agent/btc.rb +1 -1
- data/lib/pwn/ai/agent/burp_suite.rb +1 -1
- data/lib/pwn/ai/agent/extrospection.rb +618 -0
- data/lib/pwn/ai/agent/gqrx.rb +2 -2
- data/lib/pwn/ai/agent/hacker_one.rb +1 -1
- data/lib/pwn/ai/agent/introspection.rb +91 -0
- data/lib/pwn/ai/agent/learning.rb +379 -0
- data/lib/pwn/ai/agent/loop.rb +33 -3
- data/lib/pwn/ai/agent/metrics.rb +155 -0
- data/lib/pwn/ai/agent/prompt_builder.rb +32 -3
- data/lib/pwn/ai/agent/sast.rb +1 -1
- data/lib/pwn/ai/agent/swarm.rb +437 -0
- data/lib/pwn/ai/agent/tools/cron.rb +163 -0
- data/lib/pwn/ai/agent/tools/extrospection.rb +280 -0
- data/lib/pwn/ai/agent/tools/learning.rb +221 -0
- data/lib/pwn/ai/agent/tools/memory.rb +27 -0
- data/lib/pwn/ai/agent/tools/metrics.rb +61 -0
- data/lib/pwn/ai/agent/tools/sessions.rb +139 -0
- data/lib/pwn/ai/agent/tools/skills.rb +124 -8
- data/lib/pwn/ai/agent/tools/swarm.rb +229 -0
- data/lib/pwn/ai/agent/transparent_browser.rb +1 -1
- data/lib/pwn/ai/agent/vuln_gen.rb +2 -2
- data/lib/pwn/ai/agent.rb +5 -0
- data/lib/pwn/ai/anthropic.rb +19 -4
- data/lib/pwn/ai/grok.rb +249 -106
- data/lib/pwn/ai.rb +0 -1
- data/lib/pwn/config.rb +96 -36
- data/lib/pwn/cron.rb +16 -7
- data/lib/pwn/plugins/monkey_patch.rb +2 -2
- data/lib/pwn/plugins/repl.rb +158 -284
- data/lib/pwn/sdr/decoder/base.rb +251 -0
- data/lib/pwn/sdr/decoder/gsm.rb +84 -185
- data/lib/pwn/sdr/decoder/pocsag.rb +62 -217
- data/lib/pwn/sdr/decoder.rb +1 -0
- data/lib/pwn/sdr/gqrx.rb +446 -65
- data/lib/pwn/version.rb +1 -1
- data/spec/lib/pwn/ai/agent/extrospection_spec.rb +15 -0
- data/spec/lib/pwn/ai/agent/introspection_spec.rb +15 -0
- data/spec/lib/pwn/ai/agent/learning_spec.rb +68 -0
- data/spec/lib/pwn/ai/agent/metrics_spec.rb +27 -0
- data/spec/lib/pwn/ai/agent/swarm_spec.rb +34 -0
- data/spec/lib/pwn/ai/agent/tools/cron_spec.rb +40 -0
- data/spec/lib/pwn/ai/agent/tools/extrospection_spec.rb +40 -0
- data/spec/lib/pwn/ai/agent/tools/learning_spec.rb +30 -0
- data/spec/lib/pwn/ai/agent/tools/metrics_spec.rb +20 -0
- data/spec/lib/pwn/ai/agent/tools/sessions_spec.rb +35 -0
- data/spec/lib/pwn/ai/agent/tools/swarm_spec.rb +17 -0
- data/spec/lib/pwn/{ai/introspection_spec.rb → sdr/decoder/base_spec.rb} +3 -3
- data/third_party/pwn_rdoc.jsonl +178 -33
- metadata +110 -36
- data/documentation/PWN.png +0 -0
- data/documentation/PWN_Contributors_and_Users.png +0 -0
- data/documentation/fax-spectrogram.png +0 -0
- data/documentation/fax-waveform.png +0 -0
- data/documentation/frozen_string_literal_files_changed_from_false_to_true.txt +0 -54
- data/documentation/lifecycle_authz_replay.example.yaml +0 -27
- data/documentation/pwn_android_war_dialer_session.png +0 -0
- data/documentation/pwn_install.png +0 -0
- data/documentation/pwn_wallpaper.jpg +0 -0
- data/documentation/ringing-spectrogram.png +0 -0
- data/documentation/ringing-waveform.png +0 -0
- data/documentation/vulnerability_report_template.md +0 -37
- data/lib/pwn/ai/introspection.rb +0 -76
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
|
3
|
+
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
4
|
+
<!-- Generated by graphviz version 14.1.2 (0)
|
|
5
|
+
-->
|
|
6
|
+
<!-- Title: PWN_AI_Feedback_Learning_Loop Pages: 1 -->
|
|
7
|
+
<svg width="1195pt" height="689pt"
|
|
8
|
+
viewBox="0.00 0.00 1195.00 689.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
9
|
+
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(43.2 645.45)">
|
|
10
|
+
<title>PWN_AI_Feedback_Learning_Loop</title>
|
|
11
|
+
<polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-645.45 1152.12,-645.45 1152.12,43.2 -43.2,43.2"/>
|
|
12
|
+
<text xml:space="preserve" text-anchor="start" x="360.96" y="-580.25" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">pwn-ai — Closed Self-Improvement Loop</text>
|
|
13
|
+
<text xml:space="preserve" text-anchor="start" x="445.34" y="-568.8" font-family="sans-Serif" font-size="11.00" fill="#94a3b8">Introspection (self)  ⟷  Extrospection (world)</text>
|
|
14
|
+
<g id="clust2" class="cluster">
|
|
15
|
+
<title>cluster_core</title>
|
|
16
|
+
<path fill="#2e1065" stroke="#6d28d9" stroke-width="2" d="M120,-389.5C120,-389.5 500,-389.5 500,-389.5 506,-389.5 512,-395.5 512,-401.5 512,-401.5 512,-460.75 512,-460.75 512,-466.75 506,-472.75 500,-472.75 500,-472.75 120,-472.75 120,-472.75 114,-472.75 108,-466.75 108,-460.75 108,-460.75 108,-401.5 108,-401.5 108,-395.5 114,-389.5 120,-389.5"/>
|
|
17
|
+
<text xml:space="preserve" text-anchor="middle" x="310" y="-449.75" font-family="sans-Serif" font-size="20.00" fill="#ddd6fe">PWN::AI::Agent::Loop</text>
|
|
18
|
+
</g>
|
|
19
|
+
<g id="clust4" class="cluster">
|
|
20
|
+
<title>cluster_intro</title>
|
|
21
|
+
<path fill="#022c22" stroke="#047857" stroke-width="2" d="M357,-247.25C357,-247.25 656,-247.25 656,-247.25 662,-247.25 668,-253.25 668,-259.25 668,-259.25 668,-331 668,-331 668,-337 662,-343 656,-343 656,-343 357,-343 357,-343 351,-343 345,-337 345,-331 345,-331 345,-259.25 345,-259.25 345,-253.25 351,-247.25 357,-247.25"/>
|
|
22
|
+
<text xml:space="preserve" text-anchor="middle" x="506.5" y="-320" font-family="sans-Serif" font-size="20.00" fill="#a7f3d0">INTROSPECTION  (self)</text>
|
|
23
|
+
</g>
|
|
24
|
+
<g id="clust5" class="cluster">
|
|
25
|
+
<title>cluster_extro</title>
|
|
26
|
+
<path fill="#422006" stroke="#a16207" stroke-width="2" d="M20,-253.5C20,-253.5 304,-253.5 304,-253.5 310,-253.5 316,-259.5 316,-265.5 316,-265.5 316,-324.75 316,-324.75 316,-330.75 310,-336.75 304,-336.75 304,-336.75 20,-336.75 20,-336.75 14,-336.75 8,-330.75 8,-324.75 8,-324.75 8,-265.5 8,-265.5 8,-259.5 14,-253.5 20,-253.5"/>
|
|
27
|
+
<text xml:space="preserve" text-anchor="middle" x="162" y="-313.75" font-family="sans-Serif" font-size="20.00" fill="#fde68a">EXTROSPECTION  (world)</text>
|
|
28
|
+
</g>
|
|
29
|
+
<g id="clust7" class="cluster">
|
|
30
|
+
<title>cluster_store</title>
|
|
31
|
+
<path fill="#1e293b" stroke="#334155" stroke-dasharray="5,2" d="M199,-8C199,-8 759,-8 759,-8 765,-8 771,-14 771,-20 771,-20 771,-79.25 771,-79.25 771,-85.25 765,-91.25 759,-91.25 759,-91.25 199,-91.25 199,-91.25 193,-91.25 187,-85.25 187,-79.25 187,-79.25 187,-20 187,-20 187,-14 193,-8 199,-8"/>
|
|
32
|
+
<text xml:space="preserve" text-anchor="middle" x="479" y="-68.25" font-family="sans-Serif" font-size="20.00" fill="#94a3b8">~/.pwn/</text>
|
|
33
|
+
</g>
|
|
34
|
+
<!-- User -->
|
|
35
|
+
<g id="node1" class="node">
|
|
36
|
+
<title>User</title>
|
|
37
|
+
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.4" d="M192.88,-563.25C192.88,-563.25 125.12,-563.25 125.12,-563.25 119.12,-563.25 113.12,-557.25 113.12,-551.25 113.12,-551.25 113.12,-539.25 113.12,-539.25 113.12,-533.25 119.12,-527.25 125.12,-527.25 125.12,-527.25 192.88,-527.25 192.88,-527.25 198.88,-527.25 204.88,-533.25 204.88,-539.25 204.88,-539.25 204.88,-551.25 204.88,-551.25 204.88,-557.25 198.88,-563.25 192.88,-563.25"/>
|
|
38
|
+
<text xml:space="preserve" text-anchor="middle" x="159" y="-541.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">👤  Researcher</text>
|
|
39
|
+
</g>
|
|
40
|
+
<!-- Prompt -->
|
|
41
|
+
<g id="node4" class="node">
|
|
42
|
+
<title>Prompt</title>
|
|
43
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M189.5,-433.5C189.5,-433.5 128.5,-433.5 128.5,-433.5 122.5,-433.5 116.5,-427.5 116.5,-421.5 116.5,-421.5 116.5,-409.5 116.5,-409.5 116.5,-403.5 122.5,-397.5 128.5,-397.5 128.5,-397.5 189.5,-397.5 189.5,-397.5 195.5,-397.5 201.5,-403.5 201.5,-409.5 201.5,-409.5 201.5,-421.5 201.5,-421.5 201.5,-427.5 195.5,-433.5 189.5,-433.5"/>
|
|
44
|
+
<text xml:space="preserve" text-anchor="middle" x="159" y="-418.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">PromptBuilder</text>
|
|
45
|
+
<text xml:space="preserve" text-anchor="middle" x="159" y="-405.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">inject context</text>
|
|
46
|
+
</g>
|
|
47
|
+
<!-- User->Prompt -->
|
|
48
|
+
<g id="edge1" class="edge">
|
|
49
|
+
<title>User->Prompt</title>
|
|
50
|
+
<path fill="none" stroke="#38bdf8" stroke-width="2" d="M159,-526.75C159,-505.75 159,-470.24 159,-445.2"/>
|
|
51
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="2" points="161.8,-445.22 159,-437.22 156.2,-445.22 161.8,-445.22"/>
|
|
52
|
+
<text xml:space="preserve" text-anchor="middle" x="167.25" y="-482.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">task</text>
|
|
53
|
+
</g>
|
|
54
|
+
<!-- LLM -->
|
|
55
|
+
<g id="node2" class="node">
|
|
56
|
+
<title>LLM</title>
|
|
57
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M593,-563.25C593,-563.25 517,-563.25 517,-563.25 511,-563.25 505,-557.25 505,-551.25 505,-551.25 505,-539.25 505,-539.25 505,-533.25 511,-527.25 517,-527.25 517,-527.25 593,-527.25 593,-527.25 599,-527.25 605,-533.25 605,-539.25 605,-539.25 605,-551.25 605,-551.25 605,-557.25 599,-563.25 593,-563.25"/>
|
|
58
|
+
<text xml:space="preserve" text-anchor="middle" x="555" y="-541.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">🤖  LLM Provider</text>
|
|
59
|
+
</g>
|
|
60
|
+
<!-- Dispatch -->
|
|
61
|
+
<g id="node5" class="node">
|
|
62
|
+
<title>Dispatch</title>
|
|
63
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M333,-433.5C333,-433.5 299,-433.5 299,-433.5 293,-433.5 287,-427.5 287,-421.5 287,-421.5 287,-409.5 287,-409.5 287,-403.5 293,-397.5 299,-397.5 299,-397.5 333,-397.5 333,-397.5 339,-397.5 345,-403.5 345,-409.5 345,-409.5 345,-421.5 345,-421.5 345,-427.5 339,-433.5 333,-433.5"/>
|
|
64
|
+
<text xml:space="preserve" text-anchor="middle" x="316" y="-418.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Dispatch</text>
|
|
65
|
+
<text xml:space="preserve" text-anchor="middle" x="316" y="-405.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">tool calls</text>
|
|
66
|
+
</g>
|
|
67
|
+
<!-- LLM->Dispatch -->
|
|
68
|
+
<g id="edge2" class="edge">
|
|
69
|
+
<title>LLM->Dispatch</title>
|
|
70
|
+
<path fill="none" stroke="#a78bfa" stroke-width="2" d="M506.92,-522.02C478.18,-508.41 441.13,-490.29 409,-472.75 390.13,-462.45 369.65,-450.18 352.71,-439.73"/>
|
|
71
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="2" points="505.55,-524.47 513.98,-525.35 507.94,-519.41 505.55,-524.47"/>
|
|
72
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="2" points="354.55,-437.58 346.28,-435.74 351.6,-442.34 354.55,-437.58"/>
|
|
73
|
+
<text xml:space="preserve" text-anchor="middle" x="460" y="-482.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">tool_calls</text>
|
|
74
|
+
</g>
|
|
75
|
+
<!-- World -->
|
|
76
|
+
<g id="node3" class="node">
|
|
77
|
+
<title>World</title>
|
|
78
|
+
<path fill="#fda4af" stroke="#334155" stroke-width="1.4" d="M434.75,-563.25C434.75,-563.25 339.25,-563.25 339.25,-563.25 333.25,-563.25 327.25,-557.25 327.25,-551.25 327.25,-551.25 327.25,-539.25 327.25,-539.25 327.25,-533.25 333.25,-527.25 339.25,-527.25 339.25,-527.25 434.75,-527.25 434.75,-527.25 440.75,-527.25 446.75,-533.25 446.75,-539.25 446.75,-539.25 446.75,-551.25 446.75,-551.25 446.75,-557.25 440.75,-563.25 434.75,-563.25"/>
|
|
79
|
+
<text xml:space="preserve" text-anchor="middle" x="387" y="-548.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">🌍  Host · Net · Repo</text>
|
|
80
|
+
<text xml:space="preserve" text-anchor="middle" x="387" y="-534.8" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Toolchain · Intel feeds</text>
|
|
81
|
+
</g>
|
|
82
|
+
<!-- Result -->
|
|
83
|
+
<g id="node6" class="node">
|
|
84
|
+
<title>Result</title>
|
|
85
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M491.88,-433.5C491.88,-433.5 442.12,-433.5 442.12,-433.5 436.12,-433.5 430.12,-427.5 430.12,-421.5 430.12,-421.5 430.12,-409.5 430.12,-409.5 430.12,-403.5 436.12,-397.5 442.12,-397.5 442.12,-397.5 491.88,-397.5 491.88,-397.5 497.88,-397.5 503.88,-403.5 503.88,-409.5 503.88,-409.5 503.88,-421.5 503.88,-421.5 503.88,-427.5 497.88,-433.5 491.88,-433.5"/>
|
|
86
|
+
<text xml:space="preserve" text-anchor="middle" x="467" y="-418.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Result</text>
|
|
87
|
+
<text xml:space="preserve" text-anchor="middle" x="467" y="-405.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">final answer</text>
|
|
88
|
+
</g>
|
|
89
|
+
<!-- World->Result -->
|
|
90
|
+
<!-- Snapshot -->
|
|
91
|
+
<g id="node9" class="node">
|
|
92
|
+
<title>Snapshot</title>
|
|
93
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M296.38,-297.5C296.38,-297.5 195.62,-297.5 195.62,-297.5 189.62,-297.5 183.62,-291.5 183.62,-285.5 183.62,-285.5 183.62,-273.5 183.62,-273.5 183.62,-267.5 189.62,-261.5 195.62,-261.5 195.62,-261.5 296.38,-261.5 296.38,-261.5 302.38,-261.5 308.38,-267.5 308.38,-273.5 308.38,-273.5 308.38,-285.5 308.38,-285.5 308.38,-291.5 302.38,-297.5 296.38,-297.5"/>
|
|
94
|
+
<text xml:space="preserve" text-anchor="middle" x="246" y="-282.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">snapshot · drift</text>
|
|
95
|
+
<text xml:space="preserve" text-anchor="middle" x="246" y="-269.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">host/net/toolchain/repo</text>
|
|
96
|
+
</g>
|
|
97
|
+
<!-- World->Snapshot -->
|
|
98
|
+
<g id="edge10" class="edge">
|
|
99
|
+
<title>World->Snapshot</title>
|
|
100
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M402.07,-526.82C416.01,-511.95 438.14,-491.34 462,-480.75 486.59,-469.84 499.66,-487.73 522,-472.75 572.77,-438.71 628.53,-394.91 586,-351 576.29,-340.98 348.23,-347.42 335,-343 311.08,-335.02 287.9,-318.36 271.19,-304.24"/>
|
|
101
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="273.35,-302.41 265.48,-299.27 269.67,-306.63 273.35,-302.41"/>
|
|
102
|
+
</g>
|
|
103
|
+
<!-- Observe -->
|
|
104
|
+
<g id="node10" class="node">
|
|
105
|
+
<title>Observe</title>
|
|
106
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M128.38,-297.5C128.38,-297.5 27.62,-297.5 27.62,-297.5 21.62,-297.5 15.63,-291.5 15.63,-285.5 15.63,-285.5 15.63,-273.5 15.63,-273.5 15.63,-267.5 21.63,-261.5 27.63,-261.5 27.63,-261.5 128.38,-261.5 128.38,-261.5 134.38,-261.5 140.38,-267.5 140.38,-273.5 140.38,-273.5 140.38,-285.5 140.38,-285.5 140.38,-291.5 134.38,-297.5 128.38,-297.5"/>
|
|
107
|
+
<text xml:space="preserve" text-anchor="middle" x="78" y="-282.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">observe · intel</text>
|
|
108
|
+
<text xml:space="preserve" text-anchor="middle" x="78" y="-269.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">recon facts · CVE feed</text>
|
|
109
|
+
</g>
|
|
110
|
+
<!-- World->Observe -->
|
|
111
|
+
<g id="edge11" class="edge">
|
|
112
|
+
<title>World->Observe</title>
|
|
113
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M422.73,-526.62C460,-508.02 514.11,-480.37 522,-472.75 565.98,-430.29 628.82,-394.63 586,-351 569.5,-334.18 184.29,-350.62 162,-343 139.24,-335.22 117.56,-318.78 101.93,-304.72"/>
|
|
114
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="103.97,-302.79 96.2,-299.39 100.15,-306.89 103.97,-302.79"/>
|
|
115
|
+
</g>
|
|
116
|
+
<!-- Prompt->Dispatch -->
|
|
117
|
+
<g id="edge4" class="edge">
|
|
118
|
+
<title>Prompt->Dispatch</title>
|
|
119
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M201.93,-415.5C226.84,-415.5 251.76,-415.5 276.67,-415.5"/>
|
|
120
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="276.62,-418.3 284.62,-415.5 276.62,-412.7 276.62,-418.3"/>
|
|
121
|
+
</g>
|
|
122
|
+
<!-- Dispatch->Result -->
|
|
123
|
+
<g id="edge5" class="edge">
|
|
124
|
+
<title>Dispatch->Result</title>
|
|
125
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M345.49,-415.5C370.21,-415.5 394.94,-415.5 419.66,-415.5"/>
|
|
126
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="419.54,-418.3 427.54,-415.5 419.54,-412.7 419.54,-418.3"/>
|
|
127
|
+
</g>
|
|
128
|
+
<!-- Metrics -->
|
|
129
|
+
<g id="node7" class="node">
|
|
130
|
+
<title>Metrics</title>
|
|
131
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="M478.75,-297.5C478.75,-297.5 365.25,-297.5 365.25,-297.5 359.25,-297.5 353.25,-291.5 353.25,-285.5 353.25,-285.5 353.25,-273.5 353.25,-273.5 353.25,-267.5 359.25,-261.5 365.25,-261.5 365.25,-261.5 478.75,-261.5 478.75,-261.5 484.75,-261.5 490.75,-267.5 490.75,-273.5 490.75,-273.5 490.75,-285.5 490.75,-285.5 490.75,-291.5 484.75,-297.5 478.75,-297.5"/>
|
|
132
|
+
<text xml:space="preserve" text-anchor="middle" x="422" y="-282.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Metrics</text>
|
|
133
|
+
<text xml:space="preserve" text-anchor="middle" x="422" y="-269.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">per-tool success · avg ms</text>
|
|
134
|
+
</g>
|
|
135
|
+
<!-- Dispatch->Metrics -->
|
|
136
|
+
<g id="edge6" class="edge">
|
|
137
|
+
<title>Dispatch->Metrics</title>
|
|
138
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M341.32,-396.81C353.7,-387.32 368.22,-374.84 379,-361.5 392.43,-344.89 403.59,-323.44 411.17,-306.79"/>
|
|
139
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="413.55,-308.34 414.22,-299.89 408.43,-306.08 413.55,-308.34"/>
|
|
140
|
+
<text xml:space="preserve" text-anchor="middle" x="402.55" y="-352.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">record()</text>
|
|
141
|
+
</g>
|
|
142
|
+
<!-- Dispatch->Snapshot -->
|
|
143
|
+
<g id="edge8" class="edge">
|
|
144
|
+
<title>Dispatch->Snapshot</title>
|
|
145
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M286.41,-403.45C268.31,-394.97 246.64,-381.31 236,-361.5 227.09,-344.91 230.13,-323.71 235.11,-307.16"/>
|
|
146
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="237.66,-308.37 237.56,-299.89 232.35,-306.58 237.66,-308.37"/>
|
|
147
|
+
<text xml:space="preserve" text-anchor="middle" x="248" y="-352.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">probe</text>
|
|
148
|
+
</g>
|
|
149
|
+
<!-- Result->User -->
|
|
150
|
+
<g id="edge26" class="edge">
|
|
151
|
+
<title>Result->User</title>
|
|
152
|
+
<path fill="none" stroke="#38bdf8" stroke-width="2" d="M438.83,-434.16C419.18,-446.03 392.08,-461.5 367,-472.75 317.22,-495.09 258.21,-514.76 215.78,-527.79"/>
|
|
153
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="2" points="215.1,-525.07 208.26,-530.08 216.73,-530.43 215.1,-525.07"/>
|
|
154
|
+
<text xml:space="preserve" text-anchor="middle" x="360.1" y="-482.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">answer</text>
|
|
155
|
+
</g>
|
|
156
|
+
<!-- Learning -->
|
|
157
|
+
<g id="node8" class="node">
|
|
158
|
+
<title>Learning</title>
|
|
159
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="M647.75,-303.75C647.75,-303.75 546.25,-303.75 546.25,-303.75 540.25,-303.75 534.25,-297.75 534.25,-291.75 534.25,-291.75 534.25,-267.25 534.25,-267.25 534.25,-261.25 540.25,-255.25 546.25,-255.25 546.25,-255.25 647.75,-255.25 647.75,-255.25 653.75,-255.25 659.75,-261.25 659.75,-267.25 659.75,-267.25 659.75,-291.75 659.75,-291.75 659.75,-297.75 653.75,-303.75 647.75,-303.75"/>
|
|
160
|
+
<text xml:space="preserve" text-anchor="middle" x="597" y="-289.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Learning</text>
|
|
161
|
+
<text xml:space="preserve" text-anchor="middle" x="597" y="-275.8" font-family="sans-Serif" font-size="11.00" fill="#0f172a">note_outcome · reflect</text>
|
|
162
|
+
<text xml:space="preserve" text-anchor="middle" x="597" y="-262.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">consolidate · distill_skill</text>
|
|
163
|
+
</g>
|
|
164
|
+
<!-- Result->Learning -->
|
|
165
|
+
<g id="edge7" class="edge">
|
|
166
|
+
<title>Result->Learning</title>
|
|
167
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M484,-396.98C505.1,-375.23 541.45,-337.76 567.22,-311.2"/>
|
|
168
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="568.93,-313.46 572.49,-305.77 564.91,-309.56 568.93,-313.46"/>
|
|
169
|
+
<text xml:space="preserve" text-anchor="middle" x="552.1" y="-352.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">auto_reflect</text>
|
|
170
|
+
</g>
|
|
171
|
+
<!-- Result->Observe -->
|
|
172
|
+
<g id="edge9" class="edge">
|
|
173
|
+
<title>Result->Observe</title>
|
|
174
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M429.54,-402.15C376,-384.59 282.26,-354.15 266,-351 220.49,-342.18 205.42,-359.25 162,-343 139.62,-334.62 118.07,-318.36 102.4,-304.53"/>
|
|
175
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="104.46,-302.61 96.66,-299.3 100.69,-306.76 104.46,-302.61"/>
|
|
176
|
+
<text xml:space="preserve" text-anchor="middle" x="332.76" y="-352.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">auto_extrospect</text>
|
|
177
|
+
</g>
|
|
178
|
+
<!-- Correlate -->
|
|
179
|
+
<g id="node11" class="node">
|
|
180
|
+
<title>Correlate</title>
|
|
181
|
+
<path fill="#fda4af" stroke="#334155" stroke-width="2" d="M345.88,-172.75C345.88,-172.75 146.12,-172.75 146.12,-172.75 140.12,-172.75 134.12,-166.75 134.12,-160.75 134.12,-160.75 134.12,-148.25 134.12,-148.25 134.12,-142.25 140.12,-136.25 146.12,-136.25 146.12,-136.25 345.88,-136.25 345.88,-136.25 351.88,-136.25 357.88,-142.25 357.88,-148.25 357.88,-148.25 357.88,-160.75 357.88,-160.75 357.88,-166.75 351.88,-172.75 345.88,-172.75"/>
|
|
182
|
+
<text xml:space="preserve" text-anchor="middle" x="246" y="-157.35" font-family="sans-Serif" font-size="12.00" fill="#0f172a">extro_correlate()</text>
|
|
183
|
+
<text xml:space="preserve" text-anchor="middle" x="246" y="-143.1" font-family="sans-Serif" font-size="12.00" fill="#0f172a">"I did it wrong"  vs  "the world changed"</text>
|
|
184
|
+
</g>
|
|
185
|
+
<!-- Metrics->Correlate -->
|
|
186
|
+
<g id="edge12" class="edge">
|
|
187
|
+
<title>Metrics->Correlate</title>
|
|
188
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M396,-261.03C378.65,-249.31 355.37,-233.48 335,-219.25 316.25,-206.16 295.47,-191.29 278.7,-179.21"/>
|
|
189
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="280.55,-177.08 272.42,-174.67 277.27,-181.62 280.55,-177.08"/>
|
|
190
|
+
</g>
|
|
191
|
+
<!-- Fmet -->
|
|
192
|
+
<g id="node12" class="node">
|
|
193
|
+
<title>Fmet</title>
|
|
194
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M413.5,-48.73C413.5,-50.53 397.14,-52 377,-52 356.86,-52 340.5,-50.53 340.5,-48.73 340.5,-48.73 340.5,-19.27 340.5,-19.27 340.5,-17.47 356.86,-16 377,-16 397.14,-16 413.5,-17.47 413.5,-19.27 413.5,-19.27 413.5,-48.73 413.5,-48.73"/>
|
|
195
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M413.5,-48.73C413.5,-46.92 397.14,-45.45 377,-45.45 356.86,-45.45 340.5,-46.92 340.5,-48.73"/>
|
|
196
|
+
<text xml:space="preserve" text-anchor="middle" x="377" y="-30.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">metrics.json</text>
|
|
197
|
+
</g>
|
|
198
|
+
<!-- Metrics->Fmet -->
|
|
199
|
+
<g id="edge17" class="edge">
|
|
200
|
+
<title>Metrics->Fmet</title>
|
|
201
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M418.76,-260.99C411.01,-219.06 391.35,-112.65 382.04,-62.26"/>
|
|
202
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="384.83,-61.97 380.63,-54.62 379.33,-62.99 384.83,-61.97"/>
|
|
203
|
+
</g>
|
|
204
|
+
<!-- Learning->Correlate -->
|
|
205
|
+
<g id="edge13" class="edge">
|
|
206
|
+
<title>Learning->Correlate</title>
|
|
207
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M533.92,-255.15C526.54,-252.46 519.11,-249.78 512,-247.25 442.72,-222.57 362.94,-195.19 308.96,-176.82"/>
|
|
208
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="310.2,-174.28 301.72,-174.36 308.4,-179.58 310.2,-174.28"/>
|
|
209
|
+
</g>
|
|
210
|
+
<!-- Flrn -->
|
|
211
|
+
<g id="node13" class="node">
|
|
212
|
+
<title>Flrn</title>
|
|
213
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M535.5,-48.73C535.5,-50.53 517.8,-52 496,-52 474.2,-52 456.5,-50.53 456.5,-48.73 456.5,-48.73 456.5,-19.27 456.5,-19.27 456.5,-17.47 474.2,-16 496,-16 517.8,-16 535.5,-17.47 535.5,-19.27 535.5,-19.27 535.5,-48.73 535.5,-48.73"/>
|
|
214
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M535.5,-48.73C535.5,-46.92 517.8,-45.45 496,-45.45 474.2,-45.45 456.5,-46.92 456.5,-48.73"/>
|
|
215
|
+
<text xml:space="preserve" text-anchor="middle" x="496" y="-30.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">learning.jsonl</text>
|
|
216
|
+
</g>
|
|
217
|
+
<!-- Learning->Flrn -->
|
|
218
|
+
<g id="edge18" class="edge">
|
|
219
|
+
<title>Learning->Flrn</title>
|
|
220
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M587.13,-254.71C568.19,-209.03 526.84,-109.35 507.02,-61.57"/>
|
|
221
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="509.65,-60.6 504,-54.29 504.48,-62.75 509.65,-60.6"/>
|
|
222
|
+
</g>
|
|
223
|
+
<!-- Fmem -->
|
|
224
|
+
<g id="node14" class="node">
|
|
225
|
+
<title>Fmem</title>
|
|
226
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M655.75,-48.73C655.75,-50.53 638.38,-52 617,-52 595.62,-52 578.25,-50.53 578.25,-48.73 578.25,-48.73 578.25,-19.27 578.25,-19.27 578.25,-17.47 595.62,-16 617,-16 638.38,-16 655.75,-17.47 655.75,-19.27 655.75,-19.27 655.75,-48.73 655.75,-48.73"/>
|
|
227
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M655.75,-48.73C655.75,-46.92 638.38,-45.45 617,-45.45 595.62,-45.45 578.25,-46.92 578.25,-48.73"/>
|
|
228
|
+
<text xml:space="preserve" text-anchor="middle" x="617" y="-30.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">memory.json</text>
|
|
229
|
+
</g>
|
|
230
|
+
<!-- Learning->Fmem -->
|
|
231
|
+
<g id="edge19" class="edge">
|
|
232
|
+
<title>Learning->Fmem</title>
|
|
233
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M598.95,-254.71C602.69,-209.22 610.83,-110.18 614.77,-62.17"/>
|
|
234
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="617.54,-62.63 615.4,-54.43 611.96,-62.17 617.54,-62.63"/>
|
|
235
|
+
<text xml:space="preserve" text-anchor="middle" x="622.16" y="-151.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">lesson</text>
|
|
236
|
+
</g>
|
|
237
|
+
<!-- Fskl -->
|
|
238
|
+
<g id="node15" class="node">
|
|
239
|
+
<title>Fskl</title>
|
|
240
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M763,-48.73C763,-50.53 748.66,-52 731,-52 713.34,-52 699,-50.53 699,-48.73 699,-48.73 699,-19.27 699,-19.27 699,-17.47 713.34,-16 731,-16 748.66,-16 763,-17.47 763,-19.27 763,-19.27 763,-48.73 763,-48.73"/>
|
|
241
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M763,-48.73C763,-46.92 748.66,-45.45 731,-45.45 713.34,-45.45 699,-46.92 699,-48.73"/>
|
|
242
|
+
<text xml:space="preserve" text-anchor="middle" x="731" y="-30.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">skills/*.md</text>
|
|
243
|
+
</g>
|
|
244
|
+
<!-- Learning->Fskl -->
|
|
245
|
+
<g id="edge20" class="edge">
|
|
246
|
+
<title>Learning->Fskl</title>
|
|
247
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M612.35,-254.81C619.17,-244.07 627.17,-231.13 634,-219.25 665.74,-164 699.75,-97.49 717.86,-61.42"/>
|
|
248
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="720.37,-62.67 721.45,-54.26 715.36,-60.16 720.37,-62.67"/>
|
|
249
|
+
<text xml:space="preserve" text-anchor="middle" x="686.07" y="-151.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">skill</text>
|
|
250
|
+
</g>
|
|
251
|
+
<!-- Snapshot->Correlate -->
|
|
252
|
+
<g id="edge14" class="edge">
|
|
253
|
+
<title>Snapshot->Correlate</title>
|
|
254
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M246,-260.88C246,-240.62 246,-207.13 246,-183.34"/>
|
|
255
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="248.8,-183.46 246,-175.46 243.2,-183.46 248.8,-183.46"/>
|
|
256
|
+
</g>
|
|
257
|
+
<!-- Observe->Correlate -->
|
|
258
|
+
<g id="edge15" class="edge">
|
|
259
|
+
<title>Observe->Correlate</title>
|
|
260
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M102.07,-260.88C131.26,-239.51 180.6,-203.38 213.24,-179.49"/>
|
|
261
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="214.76,-181.84 219.57,-174.85 211.46,-177.32 214.76,-181.84"/>
|
|
262
|
+
</g>
|
|
263
|
+
<!-- Fext -->
|
|
264
|
+
<g id="node16" class="node">
|
|
265
|
+
<title>Fext</title>
|
|
266
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M297.12,-48.73C297.12,-50.53 274.21,-52 246,-52 217.79,-52 194.88,-50.53 194.88,-48.73 194.88,-48.73 194.88,-19.27 194.88,-19.27 194.88,-17.47 217.79,-16 246,-16 274.21,-16 297.12,-17.47 297.12,-19.27 297.12,-19.27 297.12,-48.73 297.12,-48.73"/>
|
|
267
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M297.12,-48.73C297.12,-46.92 274.21,-45.45 246,-45.45 217.79,-45.45 194.88,-46.92 194.88,-48.73"/>
|
|
268
|
+
<text xml:space="preserve" text-anchor="middle" x="246" y="-30.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">extrospection.json</text>
|
|
269
|
+
</g>
|
|
270
|
+
<!-- Observe->Fext -->
|
|
271
|
+
<g id="edge21" class="edge">
|
|
272
|
+
<title>Observe->Fext</title>
|
|
273
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M78.63,-260.82C80.4,-232.36 87.19,-175.59 113,-136.25 135.46,-102.02 173.55,-74.77 203.23,-57.2"/>
|
|
274
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="204.52,-59.69 210.05,-53.27 201.72,-54.84 204.52,-59.69"/>
|
|
275
|
+
</g>
|
|
276
|
+
<!-- Correlate->Prompt -->
|
|
277
|
+
<g id="edge25" class="edge">
|
|
278
|
+
<title>Correlate->Prompt</title>
|
|
279
|
+
<path fill="none" stroke="#fb7185" stroke-width="2" stroke-dasharray="5,2" d="M358.73,-163.68C473.02,-174.59 638.52,-198.5 678,-247.25 704.78,-280.32 704.96,-310.08 678,-343 619.62,-414.28 356.98,-374.97 266,-389.5 248.45,-392.3 229.5,-396.38 212.5,-400.43"/>
|
|
280
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="212.25,-397.61 205.13,-402.22 213.57,-403.05 212.25,-397.61"/>
|
|
281
|
+
<text xml:space="preserve" text-anchor="middle" x="737.53" y="-276.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">findings → next run</text>
|
|
282
|
+
</g>
|
|
283
|
+
<!-- Correlate->Fmet -->
|
|
284
|
+
<!-- Fmem->Prompt -->
|
|
285
|
+
<g id="edge22" class="edge">
|
|
286
|
+
<title>Fmem->Prompt</title>
|
|
287
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M633.9,-52.68C673.84,-94.96 771.88,-201.78 787,-247.25 800.43,-287.63 814,-310.1 787,-343 750.13,-387.93 323.49,-380.96 266,-389.5 248.09,-392.16 228.75,-396.28 211.5,-400.42"/>
|
|
288
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="211.17,-397.62 204.07,-402.24 212.51,-403.06 211.17,-397.62"/>
|
|
289
|
+
<text xml:space="preserve" text-anchor="middle" x="804.5" y="-210.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">MEMORY block</text>
|
|
290
|
+
</g>
|
|
291
|
+
<!-- Fskl->Prompt -->
|
|
292
|
+
<g id="edge23" class="edge">
|
|
293
|
+
<title>Fskl->Prompt</title>
|
|
294
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M747.89,-52.39C775.06,-81.72 827.43,-144.19 847,-208.75 864.5,-266.48 862.72,-294.39 827,-343 816.11,-357.82 807.77,-356.8 790,-361.5 564.53,-421.12 496.89,-356.62 266,-389.5 248.07,-392.05 228.73,-396.15 211.48,-400.29"/>
|
|
295
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="211.15,-397.49 204.05,-402.12 212.49,-402.93 211.15,-397.49"/>
|
|
296
|
+
<text xml:space="preserve" text-anchor="middle" x="877.38" y="-210.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">SKILLS block</text>
|
|
297
|
+
</g>
|
|
298
|
+
<!-- Fext->Prompt -->
|
|
299
|
+
<g id="edge24" class="edge">
|
|
300
|
+
<title>Fext->Prompt</title>
|
|
301
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M263.15,-52.62C276.95,-65.62 297.51,-82.51 319,-91.25 622.57,-214.77 840.6,45.84 1047,-208.75 1084.61,-255.14 1077.51,-295.73 1041,-343 988.27,-411.27 351.49,-377.95 266,-389.5 248.06,-391.92 228.71,-395.99 211.46,-400.14"/>
|
|
302
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="211.13,-397.34 204.03,-401.98 212.47,-402.78 211.13,-397.34"/>
|
|
303
|
+
<text xml:space="preserve" text-anchor="middle" x="1081.55" y="-210.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">EXTRO block</text>
|
|
304
|
+
</g>
|
|
305
|
+
</g>
|
|
306
|
+
</svg>
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
|
3
|
+
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
4
|
+
<!-- Generated by graphviz version 14.1.2 (0)
|
|
5
|
+
-->
|
|
6
|
+
<!-- Title: PWN_REPL Pages: 1 -->
|
|
7
|
+
<svg width="840pt" height="529pt"
|
|
8
|
+
viewBox="0.00 0.00 840.00 529.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
9
|
+
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(43.2 485.95)">
|
|
10
|
+
<title>PWN_REPL</title>
|
|
11
|
+
<polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-485.95 796.57,-485.95 796.57,43.2 -43.2,43.2"/>
|
|
12
|
+
<text xml:space="preserve" text-anchor="start" x="183.93" y="-420.75" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">The pwn REPL — Interactive Prototyping</text>
|
|
13
|
+
<text xml:space="preserve" text-anchor="start" x="266.81" y="-409.3" font-family="sans-Serif" font-size="11.00" fill="#94a3b8">Pry + full PWN:: preload + custom commands</text>
|
|
14
|
+
<g id="clust1" class="cluster">
|
|
15
|
+
<title>cluster_repl</title>
|
|
16
|
+
<path fill="#2e1065" stroke="#6d28d9" stroke-width="2" d="M139,-242.5C139,-242.5 513,-242.5 513,-242.5 519,-242.5 525,-248.5 525,-254.5 525,-254.5 525,-313.75 525,-313.75 525,-319.75 519,-325.75 513,-325.75 513,-325.75 139,-325.75 139,-325.75 133,-325.75 127,-319.75 127,-313.75 127,-313.75 127,-254.5 127,-254.5 127,-248.5 133,-242.5 139,-242.5"/>
|
|
17
|
+
<text xml:space="preserve" text-anchor="middle" x="326" y="-302.75" font-family="sans-Serif" font-size="20.00" fill="#ddd6fe">Plugins::REPL  (Pry)</text>
|
|
18
|
+
</g>
|
|
19
|
+
<g id="clust3" class="cluster">
|
|
20
|
+
<title>cluster_cmds</title>
|
|
21
|
+
<path fill="#022c22" stroke="#047857" d="M53,-125.25C53,-125.25 674,-125.25 674,-125.25 680,-125.25 686,-131.25 686,-137.25 686,-137.25 686,-196.5 686,-196.5 686,-202.5 680,-208.5 674,-208.5 674,-208.5 53,-208.5 53,-208.5 47,-208.5 41,-202.5 41,-196.5 41,-196.5 41,-137.25 41,-137.25 41,-131.25 47,-125.25 53,-125.25"/>
|
|
22
|
+
<text xml:space="preserve" text-anchor="middle" x="363.5" y="-185.5" font-family="sans-Serif" font-size="20.00" fill="#a7f3d0">Custom Commands</text>
|
|
23
|
+
</g>
|
|
24
|
+
<g id="clust5" class="cluster">
|
|
25
|
+
<title>cluster_ns</title>
|
|
26
|
+
<path fill="#422006" stroke="#a16207" d="M20,-8C20,-8 322,-8 322,-8 328,-8 334,-14 334,-20 334,-20 334,-79.25 334,-79.25 334,-85.25 328,-91.25 322,-91.25 322,-91.25 20,-91.25 20,-91.25 14,-91.25 8,-85.25 8,-79.25 8,-79.25 8,-20 8,-20 8,-14 14,-8 20,-8"/>
|
|
27
|
+
<text xml:space="preserve" text-anchor="middle" x="171" y="-68.25" font-family="sans-Serif" font-size="20.00" fill="#fde68a">Live Namespace</text>
|
|
28
|
+
</g>
|
|
29
|
+
<!-- User -->
|
|
30
|
+
<g id="node1" class="node">
|
|
31
|
+
<title>User</title>
|
|
32
|
+
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.3" d="M357.5,-403.75C357.5,-403.75 320.5,-403.75 320.5,-403.75 314.5,-403.75 308.5,-397.75 308.5,-391.75 308.5,-391.75 308.5,-379.75 308.5,-379.75 308.5,-373.75 314.5,-367.75 320.5,-367.75 320.5,-367.75 357.5,-367.75 357.5,-367.75 363.5,-367.75 369.5,-373.75 369.5,-379.75 369.5,-379.75 369.5,-391.75 369.5,-391.75 369.5,-397.75 363.5,-403.75 357.5,-403.75"/>
|
|
33
|
+
<text xml:space="preserve" text-anchor="middle" x="339" y="-382.62" font-family="sans-Serif" font-size="10.00" fill="#0f172a">👤  $ pwn</text>
|
|
34
|
+
</g>
|
|
35
|
+
<!-- Prompt -->
|
|
36
|
+
<g id="node2" class="node">
|
|
37
|
+
<title>Prompt</title>
|
|
38
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M229.38,-286.5C229.38,-286.5 146.62,-286.5 146.62,-286.5 140.62,-286.5 134.62,-280.5 134.62,-274.5 134.62,-274.5 134.62,-262.5 134.62,-262.5 134.62,-256.5 140.62,-250.5 146.62,-250.5 146.62,-250.5 229.38,-250.5 229.38,-250.5 235.38,-250.5 241.38,-256.5 241.38,-262.5 241.38,-262.5 241.38,-274.5 241.38,-274.5 241.38,-280.5 235.38,-286.5 229.38,-286.5"/>
|
|
39
|
+
<text xml:space="preserve" text-anchor="middle" x="188" y="-265" font-family="sans-Serif" font-size="10.00" fill="#0f172a">pwn[v0.5.x]:001 >>></text>
|
|
40
|
+
</g>
|
|
41
|
+
<!-- User->Prompt -->
|
|
42
|
+
<g id="edge1" class="edge">
|
|
43
|
+
<title>User->Prompt</title>
|
|
44
|
+
<path fill="none" stroke="#38bdf8" stroke-width="2" d="M315.75,-367.25C300.22,-355.54 279.35,-339.76 261,-325.75 247.26,-315.26 232.11,-303.6 219.19,-293.63"/>
|
|
45
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="2" points="221.09,-291.56 213.04,-288.89 217.66,-295.99 221.09,-291.56"/>
|
|
46
|
+
</g>
|
|
47
|
+
<!-- Preload -->
|
|
48
|
+
<g id="node3" class="node">
|
|
49
|
+
<title>Preload</title>
|
|
50
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M384.88,-286.5C384.88,-286.5 293.12,-286.5 293.12,-286.5 287.12,-286.5 281.12,-280.5 281.12,-274.5 281.12,-274.5 281.12,-262.5 281.12,-262.5 281.12,-256.5 287.12,-250.5 293.12,-250.5 293.12,-250.5 384.88,-250.5 384.88,-250.5 390.88,-250.5 396.88,-256.5 396.88,-262.5 396.88,-262.5 396.88,-274.5 396.88,-274.5 396.88,-280.5 390.88,-286.5 384.88,-286.5"/>
|
|
51
|
+
<text xml:space="preserve" text-anchor="middle" x="339" y="-271" font-family="sans-Serif" font-size="10.00" fill="#0f172a">autoload PWN::*</text>
|
|
52
|
+
<text xml:space="preserve" text-anchor="middle" x="339" y="-259" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Banner · MonkeyPatch</text>
|
|
53
|
+
</g>
|
|
54
|
+
<!-- User->Preload -->
|
|
55
|
+
<!-- Hist -->
|
|
56
|
+
<g id="node4" class="node">
|
|
57
|
+
<title>Hist</title>
|
|
58
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M505.25,-286.5C505.25,-286.5 448.75,-286.5 448.75,-286.5 442.75,-286.5 436.75,-280.5 436.75,-274.5 436.75,-274.5 436.75,-262.5 436.75,-262.5 436.75,-256.5 442.75,-250.5 448.75,-250.5 448.75,-250.5 505.25,-250.5 505.25,-250.5 511.25,-250.5 517.25,-256.5 517.25,-262.5 517.25,-262.5 517.25,-274.5 517.25,-274.5 517.25,-280.5 511.25,-286.5 505.25,-286.5"/>
|
|
59
|
+
<text xml:space="preserve" text-anchor="middle" x="477" y="-271" font-family="sans-Serif" font-size="10.00" fill="#0f172a">~/.pwn_history</text>
|
|
60
|
+
<text xml:space="preserve" text-anchor="middle" x="477" y="-259" font-family="sans-Serif" font-size="10.00" fill="#0f172a">replay · edit</text>
|
|
61
|
+
</g>
|
|
62
|
+
<!-- User->Hist -->
|
|
63
|
+
<!-- CAI -->
|
|
64
|
+
<g id="node5" class="node">
|
|
65
|
+
<title>CAI</title>
|
|
66
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M91,-169.25C91,-169.25 61,-169.25 61,-169.25 55,-169.25 49,-163.25 49,-157.25 49,-157.25 49,-145.25 49,-145.25 49,-139.25 55,-133.25 61,-133.25 61,-133.25 91,-133.25 91,-133.25 97,-133.25 103,-139.25 103,-145.25 103,-145.25 103,-157.25 103,-157.25 103,-163.25 97,-169.25 91,-169.25"/>
|
|
67
|
+
<text xml:space="preserve" text-anchor="middle" x="76" y="-147.75" font-family="sans-Serif" font-size="10.00" fill="#0f172a">pwn-ai</text>
|
|
68
|
+
</g>
|
|
69
|
+
<!-- Prompt->CAI -->
|
|
70
|
+
<g id="edge4" class="edge">
|
|
71
|
+
<title>Prompt->CAI</title>
|
|
72
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M167.12,-249.86C154.03,-238.48 137.04,-223.12 123,-208.5 113.61,-198.72 103.9,-187.34 95.76,-177.38"/>
|
|
73
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="98.04,-175.76 90.84,-171.29 93.69,-179.28 98.04,-175.76"/>
|
|
74
|
+
</g>
|
|
75
|
+
<!-- CASM -->
|
|
76
|
+
<g id="node6" class="node">
|
|
77
|
+
<title>CASM</title>
|
|
78
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M186.88,-169.25C186.88,-169.25 155.12,-169.25 155.12,-169.25 149.12,-169.25 143.12,-163.25 143.12,-157.25 143.12,-157.25 143.12,-145.25 143.12,-145.25 143.12,-139.25 149.12,-133.25 155.12,-133.25 155.12,-133.25 186.88,-133.25 186.88,-133.25 192.88,-133.25 198.88,-139.25 198.88,-145.25 198.88,-145.25 198.88,-157.25 198.88,-157.25 198.88,-163.25 192.88,-169.25 186.88,-169.25"/>
|
|
79
|
+
<text xml:space="preserve" text-anchor="middle" x="171" y="-147.75" font-family="sans-Serif" font-size="10.00" fill="#0f172a">pwn-asm</text>
|
|
80
|
+
</g>
|
|
81
|
+
<!-- Prompt->CASM -->
|
|
82
|
+
<g id="edge5" class="edge">
|
|
83
|
+
<title>Prompt->CASM</title>
|
|
84
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M185.42,-250C182.64,-231.19 178.2,-201.06 174.98,-179.22"/>
|
|
85
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="177.78,-178.99 173.84,-171.49 172.24,-179.81 177.78,-178.99"/>
|
|
86
|
+
</g>
|
|
87
|
+
<!-- NS -->
|
|
88
|
+
<g id="node11" class="node">
|
|
89
|
+
<title>NS</title>
|
|
90
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M313.62,-52C313.62,-52 28.38,-52 28.38,-52 22.38,-52 16.38,-46 16.38,-40 16.38,-40 16.38,-28 16.38,-28 16.38,-22 22.38,-16 28.38,-16 28.38,-16 313.62,-16 313.62,-16 319.62,-16 325.62,-22 325.62,-28 325.62,-28 325.62,-40 325.62,-40 325.62,-46 319.62,-52 313.62,-52"/>
|
|
91
|
+
<text xml:space="preserve" text-anchor="middle" x="171" y="-37.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">PWN::Plugins  ·  PWN::SAST  ·  PWN::AWS  ·  PWN::SDR</text>
|
|
92
|
+
<text xml:space="preserve" text-anchor="middle" x="171" y="-23.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">PWN::WWW  ·  PWN::Reports  ·  PWN::AI  ·  PWN::Memory</text>
|
|
93
|
+
</g>
|
|
94
|
+
<!-- Prompt->NS -->
|
|
95
|
+
<g id="edge13" class="edge">
|
|
96
|
+
<title>Prompt->NS</title>
|
|
97
|
+
<path fill="none" stroke="#f59e0b" stroke-width="2" d="M233.46,-249.97C242.47,-247.05 251.95,-244.37 261,-242.5 308.48,-232.68 663.08,-244.09 696,-208.5 721.12,-181.34 719.84,-153.54 696,-125.25 650.59,-71.37 473.25,-49.66 337.11,-40.91"/>
|
|
98
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="2" points="337.32,-38.12 329.16,-40.41 336.97,-43.7 337.32,-38.12"/>
|
|
99
|
+
<text xml:space="preserve" text-anchor="middle" x="733.87" y="-147.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">direct call</text>
|
|
100
|
+
</g>
|
|
101
|
+
<!-- CMEM -->
|
|
102
|
+
<g id="node7" class="node">
|
|
103
|
+
<title>CMEM</title>
|
|
104
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M309.38,-169.25C309.38,-169.25 250.62,-169.25 250.62,-169.25 244.62,-169.25 238.62,-163.25 238.62,-157.25 238.62,-157.25 238.62,-145.25 238.62,-145.25 238.62,-139.25 244.62,-133.25 250.62,-133.25 250.62,-133.25 309.38,-133.25 309.38,-133.25 315.38,-133.25 321.38,-139.25 321.38,-145.25 321.38,-145.25 321.38,-157.25 321.38,-157.25 321.38,-163.25 315.38,-169.25 309.38,-169.25"/>
|
|
105
|
+
<text xml:space="preserve" text-anchor="middle" x="280" y="-147.75" font-family="sans-Serif" font-size="10.00" fill="#0f172a">pwn-ai-memory</text>
|
|
106
|
+
</g>
|
|
107
|
+
<!-- Preload->CMEM -->
|
|
108
|
+
<g id="edge6" class="edge">
|
|
109
|
+
<title>Preload->CMEM</title>
|
|
110
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M330.04,-250C320.28,-230.93 304.57,-200.24 293.35,-178.33"/>
|
|
111
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="295.89,-177.14 289.75,-171.29 290.9,-179.69 295.89,-177.14"/>
|
|
112
|
+
</g>
|
|
113
|
+
<!-- CSESS -->
|
|
114
|
+
<g id="node8" class="node">
|
|
115
|
+
<title>CSESS</title>
|
|
116
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M436.25,-169.25C436.25,-169.25 373.75,-169.25 373.75,-169.25 367.75,-169.25 361.75,-163.25 361.75,-157.25 361.75,-157.25 361.75,-145.25 361.75,-145.25 361.75,-139.25 367.75,-133.25 373.75,-133.25 373.75,-133.25 436.25,-133.25 436.25,-133.25 442.25,-133.25 448.25,-139.25 448.25,-145.25 448.25,-145.25 448.25,-157.25 448.25,-157.25 448.25,-163.25 442.25,-169.25 436.25,-169.25"/>
|
|
117
|
+
<text xml:space="preserve" text-anchor="middle" x="405" y="-147.75" font-family="sans-Serif" font-size="10.00" fill="#0f172a">pwn-ai-sessions</text>
|
|
118
|
+
</g>
|
|
119
|
+
<!-- Preload->CSESS -->
|
|
120
|
+
<g id="edge7" class="edge">
|
|
121
|
+
<title>Preload->CSESS</title>
|
|
122
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M349.02,-250C359.99,-230.85 377.68,-199.96 390.23,-178.04"/>
|
|
123
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="392.57,-179.58 394.12,-171.25 387.71,-176.8 392.57,-179.58"/>
|
|
124
|
+
</g>
|
|
125
|
+
<!-- CCRON -->
|
|
126
|
+
<g id="node9" class="node">
|
|
127
|
+
<title>CCRON</title>
|
|
128
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M542.12,-169.25C542.12,-169.25 499.88,-169.25 499.88,-169.25 493.88,-169.25 487.88,-163.25 487.88,-157.25 487.88,-157.25 487.88,-145.25 487.88,-145.25 487.88,-139.25 493.88,-133.25 499.88,-133.25 499.88,-133.25 542.12,-133.25 542.12,-133.25 548.12,-133.25 554.12,-139.25 554.12,-145.25 554.12,-145.25 554.12,-157.25 554.12,-157.25 554.12,-163.25 548.12,-169.25 542.12,-169.25"/>
|
|
129
|
+
<text xml:space="preserve" text-anchor="middle" x="521" y="-147.75" font-family="sans-Serif" font-size="10.00" fill="#0f172a">pwn-ai-cron</text>
|
|
130
|
+
</g>
|
|
131
|
+
<!-- Hist->CCRON -->
|
|
132
|
+
<g id="edge8" class="edge">
|
|
133
|
+
<title>Hist->CCRON</title>
|
|
134
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M483.68,-250C490.93,-231.02 502.58,-200.51 510.93,-178.63"/>
|
|
135
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="513.46,-179.85 513.7,-171.38 508.23,-177.85 513.46,-179.85"/>
|
|
136
|
+
</g>
|
|
137
|
+
<!-- CDEL -->
|
|
138
|
+
<g id="node10" class="node">
|
|
139
|
+
<title>CDEL</title>
|
|
140
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M666.12,-169.25C666.12,-169.25 605.88,-169.25 605.88,-169.25 599.88,-169.25 593.88,-163.25 593.88,-157.25 593.88,-157.25 593.88,-145.25 593.88,-145.25 593.88,-139.25 599.88,-133.25 605.88,-133.25 605.88,-133.25 666.12,-133.25 666.12,-133.25 672.12,-133.25 678.12,-139.25 678.12,-145.25 678.12,-145.25 678.12,-157.25 678.12,-157.25 678.12,-163.25 672.12,-169.25 666.12,-169.25"/>
|
|
141
|
+
<text xml:space="preserve" text-anchor="middle" x="636" y="-147.75" font-family="sans-Serif" font-size="10.00" fill="#0f172a">pwn-ai-delegate</text>
|
|
142
|
+
</g>
|
|
143
|
+
<!-- Hist->CDEL -->
|
|
144
|
+
<g id="edge9" class="edge">
|
|
145
|
+
<title>Hist->CDEL</title>
|
|
146
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M509,-250.09C528.4,-239.04 553.31,-223.95 574,-208.5 586.96,-198.82 600.37,-186.92 611.39,-176.57"/>
|
|
147
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="613.32,-178.59 617.18,-171.05 609.46,-174.54 613.32,-178.59"/>
|
|
148
|
+
</g>
|
|
149
|
+
<!-- CAI->NS -->
|
|
150
|
+
<g id="edge10" class="edge">
|
|
151
|
+
<title>CAI->NS</title>
|
|
152
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M90.43,-132.75C106.42,-113.34 132.35,-81.89 150.46,-59.92"/>
|
|
153
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="152.57,-61.76 155.5,-53.81 148.25,-58.2 152.57,-61.76"/>
|
|
154
|
+
</g>
|
|
155
|
+
<!-- CASM->NS -->
|
|
156
|
+
<g id="edge11" class="edge">
|
|
157
|
+
<title>CASM->NS</title>
|
|
158
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M171,-132.75C171,-113.94 171,-83.81 171,-61.97"/>
|
|
159
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="173.8,-62.26 171,-54.26 168.2,-62.26 173.8,-62.26"/>
|
|
160
|
+
</g>
|
|
161
|
+
<!-- CMEM->NS -->
|
|
162
|
+
<g id="edge12" class="edge">
|
|
163
|
+
<title>CMEM->NS</title>
|
|
164
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M263.45,-132.75C244.93,-113.17 214.82,-81.33 194.02,-59.34"/>
|
|
165
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="196.24,-57.61 188.71,-53.72 192.17,-61.46 196.24,-57.61"/>
|
|
166
|
+
</g>
|
|
167
|
+
</g>
|
|
168
|
+
</svg>
|