diff --git a/docs/re/INDEX.md b/docs/re/INDEX.md
index 5006510..e5b3305 100644
--- a/docs/re/INDEX.md
+++ b/docs/re/INDEX.md
@@ -116,6 +116,7 @@ files, which is how the same ground got covered twice.
| [`structures/unit-datasheet-static.md`](structures/unit-datasheet-static.md) | The static unit datasheet and AI flight model ā `Generic`, `Maneuver`, `Effect` | ā
CONFIRMED ā 394 Generic + 114 Maneuver + 114 Effect records read; AA_/AV_ are one interleaved block (AV at X, AA at X+8), selection š“ BLOCKED for static RE (4 routes, all controlled) |
| [`structures/weapon-datasheet-static.md`](structures/weapon-datasheet-static.md) | The static weapon datasheet ā `Weapon`, `Shell`, `AssortMissileParam` | ā
CONFIRMED ā 131 Weapon + 131 Shell + 9 AssortMissileParam records read |
| [`structures/isl-timers.md`](structures/isl-timers.md) | A ScriptPhase owns 32 stopwatches, and they count seconds | ā
CONFIRMED ā the advance is read from `sub_822710D0`, the unit from |
+| [`structures/isl-builtins.md`](structures/isl-builtins.md) | The 147 ISL built-ins ā dispatch table, calling convention, and which one does what | ā
for the table/ABI and ~135 handlers; ā
26 `set_unit_hp_pct`, 29 `set_unit_damage_taken_pct`, 101 `all_units_invulnerable`; š” 28 |
| [`structures/isl-message-dialogue-link.md`](structures/isl-message-dialogue-link.md) | Mission scripts as dialogue ā built-in 64 -> message id -> caption text | ā
CONFIRMED total, 2 683/2 683 call sites across all 28 stages resolve, no residue |
| [`structures/mission-objective-counter.md`](structures/mission-objective-counter.md) | `REMAINING OB` ā the mission's own objective counter, in RAM | ā
CONFIRMED for one Stage 02 run: a big-endian u32 whose value |
| [`structures/movie-subtitles.md`](structures/movie-subtitles.md) | Movie subtitles & the movie ā mission ā text chain | ā |
diff --git a/docs/re/data/isl-builtins-26-28-29-sites.txt b/docs/re/data/isl-builtins-26-28-29-sites.txt
new file mode 100644
index 0000000..f551e0f
--- /dev/null
+++ b/docs/re/data/isl-builtins-26-28-29-sites.txt
@@ -0,0 +1,909 @@
+# Every call site of ISL built-ins 26, 28, 29 and 101 across all 28 stage scripts.
+#
+# Regenerate with:
+# python3 tools/re-capture/isl_builtin_sites.py 26,28,29,101 \
+# --ssb
--craft
+#
+# Columns: stage offset builtin slot8 slot4-name slot4-raw symtype before after
+# slot8 is the double operand; the handler multiplies it by 0.01 before sending it.
+#
+Stage01 0x0009C8 29 0 TCN001 0x1B type2 [35,118,12] [12,29,15]
+Stage01 0x000A44 29 0 TCN002 0x1E type2 [12,29,12] [15,12,30]
+Stage01 0x001A5C 29 100 TCN001 0x1B type2 [127,123,8] [35,11,58]
+Stage01 0x0028A8 101 - ? None typeNone [11,95,116] [100,124,93]
+Stage01 0x002CF8 101 - ? None typeNone [20,20,116] [100,124,93]
+Stage01 0x003210 101 - ? None typeNone [11,9,116] [100,124,93]
+Stage01 0x007370 28 10 TCN002 0x1E type2 [1,1,1] [29,30,64]
+Stage01 0x0073B0 29 0 TCN002 0x1E type2 [1,1,28] [30,64,64]
+Stage01 0x00EDAC 29 0 TCN001 0x1B type2 [35,118,12] [12,15,29]
+Stage01 0x00EE80 29 0 TCN002 0x1E type2 [29,12,15] [12,15,29]
+Stage01 0x00EF54 29 0 TCN003 0x20 type2 [29,12,15] [12,15,30]
+Stage01 0x00F094 28 100 ADT201 0x3 type2 [12,15,30] [12,15,30]
+Stage01 0x00F1D4 28 100 ADT202 0x6 type2 [12,15,30] [12,3,15]
+Stage01 0x00F348 28 100 ADS221 0x7 type2 [12,3,15] [12,3,15]
+Stage01 0x00F4BC 28 200 ADS222 0xB type2 [12,3,15] [12,15,28]
+Stage01 0x00F590 28 100 ADS223 0xE type2 [28,12,15] [12,15,12]
+Stage01 0x0100B0 29 100 TCN001 0x1B type2 [127,123,8] [35,103,1]
+Stage01 0x010398 28 10 TCN002 0x1E type2 [1,1,1] [29,30,11]
+Stage01 0x0103D8 29 0 TCN002 0x1E type2 [1,1,28] [30,11,58]
+Stage01 0x01060C 28 100 ADT203 0xA type2 [15,30,47] [103,69,63]
+Stage01 0x0108B4 28 100 ADT204 0xD type2 [58,15,30] [47,1,1]
+Stage01 0x010B40 28 100 ADS224 0x11 type2 [58,3,15] [1,11,58]
+Stage01 0x010CE8 28 100 ADS225 0x13 type2 [58,3,15] [1,11,58]
+Stage01 0x010DF0 28 100 ADT205 0x10 type2 [11,58,15] [30,47,20]
+Stage01 0x01115C 28 200 ADS227 0x17 type2 [57,3,15] [58,15,28]
+Stage01 0x011230 28 100 ADS226 0x15 type2 [28,58,15] [48,92,1]
+Stage01 0x0115CC 28 100 ADS228 0x19 type2 [58,3,15] [1,11,58]
+Stage01 0x011774 28 100 ADS229 0x1A type2 [58,3,15] [1,11,95]
+Stage01 0x01184C 101 - ? None typeNone [11,95,116] [100,124,93]
+Stage01 0x011D58 101 - ? None typeNone [20,20,116] [100,124,93]
+Stage01 0x0127AC 101 - ? None typeNone [11,9,116] [100,124,93]
+Stage02 0x000E6C 29 0 TCN001 0x4B type2 [35,118,12] [12,15,12]
+Stage02 0x002D14 26 0 TCN131 0x57 type2 [14,77,11] [11,116,127]
+Stage02 0x002E0C 29 100 TCN001 0x4B type2 [127,123,8] [35,103,30]
+Stage02 0x003220 29 0 TCN002 0x4E type2 [1,1,1] [11,58,15]
+Stage02 0x004DA8 101 - ? None typeNone [11,95,116] [100,124,93]
+Stage02 0x005274 101 - ? None typeNone [11,20,116] [100,124,93]
+Stage02 0x0059BC 101 - ? None typeNone [20,20,116] [100,124,93]
+Stage02 0x0060A8 101 - ? None typeNone [11,9,116] [100,124,93]
+Stage02 0x01586C 29 0 TCN001 0x4B type2 [35,118,12] [12,15,12]
+Stage02 0x018544 29 100 TCN001 0x4B type2 [123,123,8] [35,103,30]
+Stage02 0x0186DC 29 0 TCN002 0x4E type2 [1,1,1] [11,58,3]
+Stage02 0x019204 101 - ? None typeNone [11,95,116] [100,124,93]
+Stage02 0x0196D0 101 - ? None typeNone [11,20,116] [100,124,93]
+Stage02 0x01A21C 101 - ? None typeNone [20,20,116] [100,124,93]
+Stage02 0x01E114 26 0 ADN207 0x2A type2 [79,7,70] [26,11,47]
+Stage02 0x01E154 26 0 TCN208 0x68 type2 [7,70,26] [11,47,7]
+Stage02 0x01E2C4 26 0 ADN207 0x2A type2 [47,7,70] [26,11,47]
+Stage02 0x01E304 26 0 TCN208 0x68 type2 [7,70,26] [11,47,20]
+Stage02 0x01E58C 26 0 ADN207 0x2A type2 [80,7,70] [26,11,47]
+Stage02 0x01E5CC 26 0 TCN208 0x68 type2 [7,70,26] [11,47,20]
+Stage02 0x01E854 26 0 ADN207 0x2A type2 [80,7,70] [26,11,47]
+Stage02 0x01E894 26 0 TCN208 0x68 type2 [7,70,26] [11,47,18]
+Stage02 0x025B14 29 0 TCN001 0x4B type2 [35,118,12] [12,15,12]
+Stage02 0x025FCC 26 60 TCN324 0x67 type2 [15,12,15] [12,15,26]
+Stage02 0x0260A0 26 80 TCN325 0x6A type2 [26,12,15] [12,15,26]
+Stage02 0x026174 26 60 TCN326 0x6D type2 [26,12,15] [12,15,12]
+Stage02 0x0262DC 26 80 TCN328 0x74 type2 [15,12,15] [12,15,12]
+Stage02 0x026AD8 26 80 ADN322 0x1F type2 [15,12,15] [12,15,26]
+Stage02 0x026BAC 26 60 ADN323 0x25 type2 [26,12,15] [12,15,26]
+Stage02 0x026C80 26 80 ADN324 0x2C type2 [26,12,15] [12,15,26]
+Stage02 0x026D54 26 30 ADN325 0x32 type2 [26,12,15] [12,15,26]
+Stage02 0x026E28 26 80 ADN326 0x38 type2 [26,12,15] [12,15,26]
+Stage02 0x026EFC 26 30 ADN327 0x3D type2 [26,12,15] [12,15,26]
+Stage02 0x026FD0 26 60 ADN328 0x42 type2 [26,12,15] [12,15,26]
+Stage02 0x0270A4 26 80 ADN329 0x45 type2 [26,12,15] [12,15,12]
+Stage02 0x02720C 26 80 ADN331 0x20 type2 [15,12,15] [12,15,26]
+Stage02 0x0272E0 26 60 ADN332 0x26 type2 [26,12,15] [47,47,47]
+Stage02 0x028B5C 29 100 TCN001 0x4B type2 [123,123,8] [35,103,30]
+Stage02 0x028E14 29 0 TCN002 0x4E type2 [1,1,1] [11,26,26]
+Stage02 0x028E64 26 0 ADN313 0x1E type2 [1,29,11] [26,11,57]
+Stage02 0x028EA4 26 0 TCN334 0x6B type2 [29,11,26] [11,57,30]
+Stage02 0x02907C 29 100 ADT301 0x31 type2 [30,15,19] [57,30,15]
+Stage02 0x029244 29 100 ADT302 0x37 type2 [30,15,19] [48,47,47]
+Stage02 0x029B84 29 100 ADT303 0x3C type2 [30,15,19] [1,64,70]
+Stage02 0x029ED0 29 100 ADT304 0x41 type2 [30,15,19] [57,30,15]
+Stage02 0x02A098 29 100 ADT305 0x44 type2 [30,15,19] [58,15,48]
+Stage02 0x02AAE8 29 100 ADT306 0x47 type2 [30,15,19] [57,30,15]
+Stage02 0x02ACB0 29 100 ADT307 0x48 type2 [30,15,19] [57,30,15]
+Stage02 0x02AE78 29 100 ADT308 0x49 type2 [30,15,19] [58,15,48]
+Stage02 0x02B530 101 - ? None typeNone [11,95,116] [100,124,93]
+Stage02 0x02B9FC 101 - ? None typeNone [11,20,116] [100,124,93]
+Stage02 0x02C000 101 - ? None typeNone [6,11,116] [100,124,93]
+Stage02 0x02C524 101 - ? None typeNone [20,20,116] [100,124,93]
+Stage02 0x02D018 101 - ? None typeNone [11,9,116] [100,124,93]
+Stage02 0x02D2DC 28 150 TCN004 0x56 type2 [20,105,115] [11,26,64]
+Stage02 0x02D350 26 0 ADT301 0x31 type2 [115,28,11] [64,90,11]
+Stage02 0x02D4D4 26 0 ADT302 0x37 type2 [64,90,11] [64,90,11]
+Stage02 0x02D658 26 0 ADT303 0x3C type2 [64,90,11] [64,90,11]
+Stage02 0x02D7DC 26 0 ADT304 0x41 type2 [64,90,11] [64,90,11]
+Stage02 0x02D960 26 0 ADT305 0x44 type2 [64,90,11] [64,90,11]
+Stage02 0x02DAF0 26 0 ADT306 0x47 type2 [64,90,11] [64,90,11]
+Stage02 0x02DC74 26 0 ADT307 0x48 type2 [64,90,11] [64,90,11]
+Stage02 0x02DDF8 26 0 ADT308 0x49 type2 [64,90,11] [64,90,11]
+Stage03 0x0009F0 29 0 TCN001 0x21 type2 [35,118,12] [12,15,12]
+Stage03 0x002514 26 0 TCN132 0x30 type2 [14,77,11] [11,116,127]
+Stage03 0x00260C 29 100 TCN001 0x21 type2 [127,123,8] [35,103,1]
+Stage03 0x002810 29 0 TCN002 0x24 type2 [30,91,47] [11,58,19]
+Stage03 0x0034E8 101 - ? None typeNone [11,95,116] [100,124,93]
+Stage03 0x0039B4 101 - ? None typeNone [11,20,116] [100,124,93]
+Stage03 0x00424C 101 - ? None typeNone [20,20,116] [100,124,93]
+Stage03 0x004720 101 - ? None typeNone [11,9,116] [100,124,93]
+Stage03 0x00ABB4 29 0 TCN001 0x21 type2 [35,118,12] [12,15,12]
+Stage03 0x00B0CC 29 0 TCT207 0x42 type2 [15,19,30] [12,15,19]
+Stage03 0x00C720 29 100 TCN001 0x21 type2 [116,123,8] [35,11,58]
+Stage03 0x00DD7C 101 - ? None typeNone [11,95,116] [100,124,93]
+Stage03 0x00E248 101 - ? None typeNone [11,20,116] [100,124,93]
+Stage03 0x00E84C 101 - ? None typeNone [6,11,116] [100,124,93]
+Stage03 0x00EFF8 101 - ? None typeNone [20,20,116] [100,124,93]
+Stage03 0x00F844 29 0 TCT207 0x42 type2 [64,19,11] [5,11,20]
+Stage03 0x00FA58 29 0 TCT208 0x44 type2 [19,19,11] [5,11,20]
+Stage03 0x00FC6C 29 0 TCT209 0x46 type2 [19,19,11] [5,11,20]
+Stage03 0x00FE34 29 100 TCT207 0x42 type2 [11,20,20] [11,20,20]
+Stage03 0x00FF50 29 100 TCT207 0x42 type2 [11,20,20] [11,20,105]
+Stage03 0x01584C 29 0 TCN001 0x21 type2 [35,118,12] [12,15,12]
+Stage03 0x0164CC 28 500 ADN301 0x4 type2 [117,12,15] [48,48,48]
+Stage03 0x016FF8 29 100 TCN001 0x21 type2 [116,123,8] [35,11,58]
+Stage03 0x01713C 28 500 ADN304 0xB type2 [58,15,91] [58,15,30]
+Stage03 0x01727C 28 1000 ADT302 0x19 type2 [58,15,30] [91,103,4]
+Stage03 0x017C6C 28 500 ADN306 0x11 type2 [11,58,15] [91,69,47]
+Stage03 0x0182F4 28 500 ADN308 0x18 type2 [11,58,15] [91,69,47]
+Stage03 0x018A4C 28 2000 ADT303 0x1D type2 [15,30,91] [69,47,69]
+Stage03 0x0191FC 101 - ? None typeNone [11,95,116] [100,124,93]
+Stage03 0x0196C8 101 - ? None typeNone [11,20,116] [100,124,93]
+Stage03 0x019CCC 101 - ? None typeNone [6,11,116] [100,124,93]
+Stage03 0x019ED4 101 - ? None typeNone [6,11,116] [100,124,93]
+Stage03 0x01A744 101 - ? None typeNone [11,9,116] [100,124,93]
+Stage03 0x01BC10 28 2000 ADT303 0x1D type2 [15,30,91] [69,47,69]
+Stage03 0x01C358 28 150 TCN309 0x41 type2 [9,115,69] [64,11,64]
+Stage04 0x000A38 29 0 TCN001 0x15 type2 [35,118,12] [12,15,12]
+Stage04 0x002228 29 100 TCN001 0x15 type2 [127,123,8] [35,11,69]
+Stage04 0x0026D0 101 - ? None typeNone [11,95,116] [100,124,93]
+Stage04 0x002BCC 101 - ? None typeNone [11,20,116] [100,124,93]
+Stage04 0x003390 101 - ? None typeNone [20,20,116] [100,124,93]
+Stage04 0x003834 101 - ? None typeNone [11,9,116] [100,124,93]
+Stage04 0x005ED0 29 0 TCN001 0x15 type2 [35,118,12] [12,15,12]
+Stage04 0x006260 28 500 ADN201 0x0 type2 [15,12,15] [12,30,15]
+Stage04 0x0063A0 28 1000 ADT202 0x9 type2 [12,30,15] [12,15,12]
+Stage04 0x0074CC 29 100 TCN001 0x15 type2 [127,8,123] [35,11,58]
+Stage04 0x007674 28 500 ADN206 0x4 type2 [58,15,3] [92,91,64]
+Stage04 0x007990 28 500 ADN207 0x6 type2 [58,3,15] [47,1,11]
+Stage04 0x007B8C 28 500 ADN208 0x8 type2 [58,15,3] [92,91,64]
+Stage04 0x007FAC 28 2000 ADT203 0xD type2 [30,47,30] [64,64,8]
+Stage04 0x008324 28 500 ADN209 0xC type2 [58,15,3] [92,91,1]
+Stage04 0x0084AC 101 - ? None typeNone [11,95,116] [100,124,93]
+Stage04 0x0089A8 101 - ? None typeNone [11,20,116] [100,124,93]
+Stage04 0x009030 101 - ? None typeNone [11,20,116] [100,124,93]
+Stage04 0x0099DC 101 - ? None typeNone [11,9,116] [100,124,93]
+Stage04 0x009D40 28 150 TCN205 0x25 type2 [9,115,69] [64,11,20]
+Stage04 0x00A004 28 2000 ADT203 0xD type2 [15,30,47] [64,64,64]
+Stage05 0x000898 29 0 TCN001 0x13 type2 [35,118,12] [15,12,15]
+Stage05 0x00181C 29 100 TCN001 0x13 type2 [8,127,123] [35,119,11]
+Stage05 0x002E6C 101 - ? None typeNone [20,9,116] [100,93,124]
+Stage05 0x003BAC 101 - ? None typeNone [20,20,116] [100,93,124]
+Stage05 0x003F28 28 150 TCN003 0x19 type2 [9,115,70] [70,48,11]
+Stage05 0x007F00 29 0 TCN001 0x13 type2 [35,118,12] [15,12,15]
+Stage05 0x0081C0 26 80 TCN004 0x1E type2 [12,15,30] [12,15,30]
+Stage05 0x008300 28 150 ADT201 0x4 type2 [12,15,30] [12,19,15]
+Stage05 0x0084C8 28 150 ADT202 0x6 type2 [19,15,30] [12,3,15]
+Stage05 0x008FF8 29 100 TCN001 0x13 type2 [8,127,123] [35,119,11]
+Stage05 0x009734 101 - ? None typeNone [20,9,116] [100,93,124]
+Stage05 0x00A228 101 - ? None typeNone [20,20,116] [100,93,124]
+Stage05 0x00B1A0 28 150 TCN001 0x13 type2 [64,9,115] [28,28,64]
+Stage05 0x00B1E0 28 150 TCN002 0x16 type2 [9,115,28] [28,64,64]
+Stage05 0x00B220 28 150 TCN003 0x19 type2 [115,28,28] [64,64,11]
+Stage06 0x000924 29 0 TCN001 0x26 type2 [118,12,15] [12,15,12]
+Stage06 0x001460 29 100 TCN001 0x26 type2 [8,127,123] [35,119,11]
+Stage06 0x00330C 101 - ? None typeNone [11,95,116] [100,93,124]
+Stage06 0x003810 101 - ? None typeNone [11,20,116] [100,93,124]
+Stage06 0x003E94 101 - ? None typeNone [11,9,116] [100,93,124]
+Stage06 0x0040D4 101 - ? None typeNone [6,11,116] [100,93,124]
+Stage06 0x009B50 29 0 TCN001 0x26 type2 [118,12,15] [12,15,12]
+Stage06 0x00BEC4 29 100 TCN001 0x26 type2 [8,127,123] [35,119,11]
+Stage06 0x00C168 101 - ? None typeNone [11,95,116] [100,93,124]
+Stage06 0x00C66C 101 - ? None typeNone [11,20,116] [100,93,124]
+Stage06 0x00CCF0 101 - ? None typeNone [11,9,116] [100,93,124]
+Stage06 0x00D274 101 - ? None typeNone [20,20,116] [100,93,124]
+Stage06 0x0119AC 29 0 TCN001 0x26 type2 [118,12,15] [12,15,29]
+Stage06 0x011A80 29 0 TCN002 0x29 type2 [29,12,15] [28,12,15]
+Stage06 0x011AC0 28 50 TCN002 0x29 type2 [12,15,29] [12,15,12]
+Stage06 0x011EFC 26 50 TCN306 0x3D type2 [12,15,3] [12,15,3]
+Stage06 0x013A7C 29 100 TCN001 0x26 type2 [8,127,123] [35,119,11]
+Stage06 0x013B60 101 - ? None typeNone [11,95,116] [100,93,124]
+Stage06 0x01405C 101 - ? None typeNone [11,20,116] [100,93,124]
+Stage06 0x014724 101 - ? None typeNone [20,20,116] [100,93,124]
+Stage06 0x014F64 101 - ? None typeNone [11,9,116] [100,93,124]
+Stage06 0x01845C 26 0 TCN350 0x3A type2 [64,11,64] [1,1,1]
+Stage06 0x01A7B0 26 80 TCN002 0x29 type2 [69,11,9] [64,64,1]
+Stage06 0x01AAA0 26 50 TCN002 0x29 type2 [69,11,9] [11,64,1]
+Stage06 0x01ACEC 26 30 TCN002 0x29 type2 [69,11,9] [11,64,11]
+Stage07 0x000D3C 29 0 TCN001 0x1C type2 [12,12,12] [15,15,15]
+Stage07 0x0026A4 29 100 TCN001 0x1C type2 [8,127,123] [35,119,11]
+Stage07 0x002788 101 - ? None typeNone [11,95,116] [100,93,124]
+Stage07 0x002BD0 101 - ? None typeNone [11,20,116] [100,93,124]
+Stage07 0x00324C 101 - ? None typeNone [11,20,116] [100,93,124]
+Stage07 0x0034D4 101 - ? None typeNone [11,9,116] [100,93,124]
+Stage07 0x003714 101 - ? None typeNone [6,11,116] [100,93,124]
+Stage07 0x00AB0C 29 0 TCN001 0x1C type2 [12,12,12] [15,15,15]
+Stage07 0x00CCD4 29 100 TCN001 0x1C type2 [116,8,123] [35,119,11]
+Stage07 0x00CDB8 101 - ? None typeNone [11,95,116] [100,93,124]
+Stage07 0x00D200 101 - ? None typeNone [11,20,116] [100,93,124]
+Stage07 0x00D87C 101 - ? None typeNone [11,20,116] [100,93,124]
+Stage07 0x00E4A8 101 - ? None typeNone [20,69,116] [100,93,124]
+Stage07 0x00ED78 101 - ? None typeNone [11,9,116] [100,93,124]
+Stage08 0x001F44 29 0 TCN001 0x1E type2 [15,12,15] [15,15,15]
+Stage08 0x0021C4 28 0.1 TCN104 0x30 type2 [92,15,30] [15,28,15]
+Stage08 0x00225C 28 0.1 TCN105 0x35 type2 [30,28,15] [15,28,15]
+Stage08 0x0022F4 28 0.1 TCN106 0x36 type2 [15,28,15] [15,30,28]
+Stage08 0x0023F8 28 0.1 TCN012 0x29 type2 [28,15,30] [15,28,15]
+Stage08 0x002490 28 0.1 TCN113 0x31 type2 [30,28,15] [15,92,30]
+Stage08 0x003350 26 0 ADN126 0xF type2 [4,14,77] [11,26,11]
+Stage08 0x0033A0 26 0 ADN126b 0x3D type2 [77,26,11] [11,26,11]
+Stage08 0x0033F0 26 0 ADN126c 0x3F type2 [11,26,11] [11,116,8]
+Stage08 0x0034E8 29 100 TCN001 0x1E type2 [8,127,123] [35,119,11]
+Stage08 0x0036D0 101 - ? None typeNone [20,9,116] [100,93,124]
+Stage08 0x004294 101 - ? None typeNone [6,11,116] [100,93,124]
+Stage08 0x006C54 28 1000 ADS151a 0x45 type2 [15,47,30] [29,58,15]
+Stage08 0x006C94 29 40 ADS151a 0x45 type2 [47,30,28] [58,15,47]
+Stage08 0x006E28 28 1000 ADS151b 0x4B type2 [15,47,30] [29,64,8]
+Stage08 0x006E68 29 40 ADS151b 0x4B type2 [47,30,28] [64,8,1]
+Stage08 0x00BD3C 28 150 TCN001 0x1E type2 [105,9,115] [28,28,64]
+Stage08 0x00BD7C 28 150 TCN002 0x21 type2 [9,115,28] [28,64,11]
+Stage08 0x00BDBC 28 150 TCN003 0x24 type2 [115,28,28] [64,11,20]
+Stage08 0x00D918 29 0 TCN001 0x1E type2 [12,12,12] [15,15,15]
+Stage08 0x00E190 29 0 ADT201 0x11 type2 [15,92,15] [117,15,92]
+Stage08 0x00EE0C 29 100 TCN001 0x1E type2 [8,127,123] [35,119,11]
+Stage08 0x00EFF4 101 - ? None typeNone [20,9,116] [100,93,124]
+Stage08 0x00FD4C 101 - ? None typeNone [20,20,116] [100,93,124]
+Stage09 0x000974 29 0 TCN001 0x28 type2 [35,118,12] [12,15,12]
+Stage09 0x002958 29 100 TCN001 0x28 type2 [127,123,8] [35,11,58]
+Stage09 0x003610 101 - ? None typeNone [11,95,116] [100,124,93]
+Stage09 0x003A20 101 - ? None typeNone [11,20,116] [100,124,93]
+Stage09 0x003C68 101 - ? None typeNone [11,20,116] [100,124,93]
+Stage09 0x00426C 101 - ? None typeNone [6,11,116] [100,124,93]
+Stage09 0x004A44 101 - ? None typeNone [11,9,116] [100,124,93]
+Stage09 0x00851C 29 0 TCN001 0x28 type2 [35,118,12] [12,15,12]
+Stage09 0x009E64 29 100 TCN001 0x28 type2 [116,123,8] [35,11,58]
+Stage09 0x00A1C0 28 1000 ADS251a 0x44 type2 [12,15,30] [29,12,15]
+Stage09 0x00A200 29 40 ADS251a 0x44 type2 [15,30,28] [12,15,30]
+Stage09 0x00A340 28 1000 ADS251b 0x46 type2 [12,15,30] [29,47,47]
+Stage09 0x00A380 29 40 ADS251b 0x46 type2 [15,30,28] [47,47,1]
+Stage09 0x00A6D0 101 - ? None typeNone [11,95,116] [100,124,93]
+Stage09 0x00AAE0 101 - ? None typeNone [11,20,116] [100,124,93]
+Stage09 0x00ACE8 101 - ? None typeNone [6,11,116] [100,124,93]
+Stage09 0x00B2D0 101 - ? None typeNone [7,9,116] [100,124,93]
+Stage09 0x00C38C 28 150 TCN001 0x28 type2 [115,9,115] [28,11,64]
+Stage09 0x00C3CC 28 150 TCN002 0x2B type2 [9,115,28] [11,64,64]
+Stage09 0x00FDC4 29 0 TCN001 0x28 type2 [114,114,12] [12,15,12]
+Stage09 0x010684 28 500 ADT301 0x14 type2 [15,12,15] [12,15,12]
+Stage09 0x011790 29 100 TCN001 0x28 type2 [116,123,8] [35,11,58]
+Stage09 0x011E84 101 - ? None typeNone [11,95,116] [100,124,93]
+Stage09 0x012294 101 - ? None typeNone [11,20,116] [100,124,93]
+Stage09 0x012B60 101 - ? None typeNone [69,69,116] [100,124,93]
+Stage09 0x0131AC 101 - ? None typeNone [11,9,116] [100,124,93]
+Stage09 0x017BE4 28 500 ADT302 0x18 type2 [3,15,47] [64,1,1]
+Stage10 0x0006DC 29 0 TCN001 0xE type2 [118,75,12] [12,3,15]
+Stage10 0x000910 28 2000 ADT001 0x2 type2 [15,30,47] [12,15,47]
+Stage10 0x000A38 28 500 ADS002 0x1 type2 [12,15,47] [12,15,47]
+Stage10 0x000B60 28 500 ADS003 0x5 type2 [12,15,47] [1,1,1]
+Stage10 0x000F38 29 100 TCN001 0xE type2 [8,127,123] [35,119,11]
+Stage10 0x00101C 101 - ? None typeNone [11,95,116] [100,93,124]
+Stage10 0x0013A8 101 - ? None typeNone [11,9,116] [100,93,124]
+Stage10 0x001620 101 - ? None typeNone [11,20,116] [100,93,124]
+Stage10 0x002394 28 500 ADS004 0x7 type2 [64,128,47] [1,11,20]
+Stage10 0x002BA0 28 500 ADS005 0x9 type2 [64,128,47] [1,11,20]
+Stage10 0x0033AC 28 500 ADS006 0xA type2 [64,128,47] [1,11,20]
+Stage10 0x003BB8 28 500 ADS007 0xB type2 [64,128,47] [1,11,20]
+Stage10 0x0043C4 28 500 ADS008 0xC type2 [64,128,47] [1,11,20]
+Stage10 0x004BD0 28 500 ADS009 0xD type2 [64,128,47] [1,11,20]
+Stage10 0x0053DC 28 500 ADS010 0x0 type2 [64,128,47] [1,11,20]
+Stage10 0x005BE8 28 500 ADS011 0x4 type2 [64,128,47] [1,11,20]
+Stage10 0x006554 28 500 ADS013 0x8 type2 [64,128,47] [1,11,20]
+Stage11 0x000744 29 0 TCN001 0x18 type2 [35,118,12] [12,15,12]
+Stage11 0x001610 29 100 TCN001 0x18 type2 [8,127,123] [35,11,58]
+Stage11 0x0017D8 28 1000 ADS151a 0x27 type2 [15,47,30] [29,58,15]
+Stage11 0x001818 29 40 ADS151a 0x27 type2 [47,30,28] [58,15,47]
+Stage11 0x0019AC 28 1000 ADS151b 0x29 type2 [15,47,30] [29,1,1]
+Stage11 0x0019EC 29 40 ADS151b 0x29 type2 [47,30,28] [1,1,1]
+Stage11 0x001B0C 101 - ? None typeNone [11,95,116] [100,124,93]
+Stage11 0x001F54 101 - ? None typeNone [11,20,116] [100,124,93]
+Stage11 0x0025D8 101 - ? None typeNone [11,9,116] [100,124,93]
+Stage11 0x002818 101 - ? None typeNone [6,11,116] [100,124,93]
+Stage11 0x00B070 29 0 TCN001 0x18 type2 [35,118,12] [12,15,12]
+Stage11 0x00BFB8 29 100 TCN001 0x18 type2 [8,127,123] [35,1,1]
+Stage11 0x00C0D8 101 - ? None typeNone [11,95,116] [100,124,93]
+Stage11 0x00C520 101 - ? None typeNone [11,20,116] [100,124,93]
+Stage11 0x00CBA4 101 - ? None typeNone [11,9,116] [100,124,93]
+Stage11 0x00CDE4 101 - ? None typeNone [6,11,116] [100,124,93]
+Stage12 0x0012D0 29 0 TCN001 0x20 type2 [12,12,12] [75,8,11]
+Stage12 0x001564 29 100 TCN001 0x20 type2 [8,127,123] [35,119,1]
+Stage12 0x0033CC 101 - ? None typeNone [20,9,116] [100,93,124]
+Stage12 0x00403C 101 - ? None typeNone [6,11,116] [100,93,124]
+Stage13 0x0012C4 29 0 TCN001 0x16 type2 [12,12,12] [15,15,15]
+Stage13 0x001D74 26 50 TCN013 0x25 type2 [3,15,1] [3,15,1]
+Stage13 0x0027DC 28 150 ADN004 0x8 type2 [47,92,3] [15,3,28]
+Stage13 0x002914 28 150 ADN005 0xB type2 [28,15,3] [15,47,28]
+Stage13 0x002A00 28 150 ADN012 0x6 type2 [28,15,47] [15,47,47]
+Stage13 0x0031BC 29 100 TCN001 0x16 type2 [116,8,123] [35,119,11]
+Stage13 0x003348 101 - ? None typeNone [20,20,116] [100,93,124]
+Stage13 0x004EC4 101 - ? None typeNone [20,69,116] [100,93,124]
+Stage13 0x0098A0 28 150 ADN002 0x3 type2 [20,9,57] [15,47,47]
+Stage13 0x00A68C 28 500 ADS051a 0x34 type2 [64,11,58] [15,47,92]
+Stage13 0x00A894 28 500 ADS051b 0x36 type2 [92,30,58] [15,47,92]
+Stage13 0x00AA9C 28 500 ADS051c 0x37 type2 [92,30,58] [15,47,92]
+Stage13 0x00BA00 28 150 ADN015 0xE type2 [64,11,57] [15,92,64]
+Stage13 0x00BE08 28 150 ADN017 0x12 type2 [64,11,57] [15,47,92]
+Stage14 0x001230 29 0 TCN001 0x18 type2 [12,12,12] [15,15,92]
+Stage14 0x001394 26 80 TCN003 0x24 type2 [15,15,92] [25,15,30]
+Stage14 0x001548 28 500 ADT102 0x3 type2 [15,30,15] [30,47,92]
+Stage14 0x001714 28 500 ADT103 0x6 type2 [47,92,15] [30,47,92]
+Stage14 0x0018E0 28 500 ADT104 0x8 type2 [47,92,15] [30,47,92]
+Stage14 0x00242C 29 100 TCN001 0x18 type2 [8,127,123] [35,119,11]
+Stage14 0x002510 101 - ? None typeNone [11,95,116] [100,93,124]
+Stage14 0x002960 101 - ? None typeNone [11,9,116] [100,93,124]
+Stage14 0x002D84 101 - ? None typeNone [20,20,116] [100,93,124]
+Stage14 0x003784 28 500 ADT105 0xA type2 [64,58,15] [30,47,47]
+Stage14 0x003E90 28 500 ADT108 0x10 type2 [64,58,15] [30,47,1]
+Stage14 0x004548 28 500 ADT114 0xB type2 [64,58,15] [30,47,47]
+Stage14 0x007334 29 0 TCN201 0x29 type2 [12,12,12] [15,30,47]
+Stage14 0x00748C 28 500 ADT201 0x5 type2 [15,30,47] [15,15,15]
+Stage14 0x007F18 29 100 TCN201 0x29 type2 [8,127,123] [35,119,11]
+Stage14 0x007FFC 101 - ? None typeNone [11,95,116] [100,93,124]
+Stage14 0x0083C4 101 - ? None typeNone [11,9,116] [100,93,124]
+Stage14 0x008644 101 - ? None typeNone [11,20,116] [100,93,124]
+Stage15 0x0014F8 29 0 TCN001 0x3A type2 [12,12,12] [15,15,15]
+Stage15 0x002390 29 0 TCN008 0x59 type2 [15,47,30] [1,15,48]
+Stage15 0x002C68 28 150 ADN101 0x1 type2 [15,48,92] [15,28,15]
+Stage15 0x002D00 28 150 ADN102 0x2 type2 [92,28,15] [15,3,1]
+Stage15 0x002FC8 28 150 ADN103 0x5 type2 [15,48,92] [15,3,15]
+Stage15 0x0032C0 28 150 ADN104 0xB type2 [48,47,92] [15,3,15]
+Stage15 0x003564 28 150 ADN106 0x18 type2 [15,48,92] [15,28,15]
+Stage15 0x0035FC 28 150 ADN109 0x2C type2 [92,28,15] [15,15,47]
+Stage15 0x003F50 29 100 TCN001 0x3A type2 [116,8,123] [35,119,11]
+Stage15 0x0040DC 101 - ? None typeNone [20,20,116] [100,93,124]
+Stage15 0x00563C 101 - ? None typeNone [20,69,116] [100,93,124]
+Stage15 0x00DE90 29 0 TCN001 0x3A type2 [12,12,12] [15,15,15]
+Stage15 0x00E970 29 0 TCN008 0x59 type2 [47,92,30] [15,48,92]
+Stage15 0x00F198 28 150 ADT201 0x28 type2 [47,92,30] [15,1,30]
+Stage15 0x00F2C0 28 150 ADT202 0x30 type2 [15,1,30] [15,1,28]
+Stage15 0x00F37C 28 150 ADN203 0xF type2 [28,15,1] [15,28,15]
+Stage15 0x00F414 28 150 ADN204 0x15 type2 [1,28,15] [15,28,15]
+Stage15 0x00F4AC 28 150 ADN205 0x1C type2 [15,28,15] [15,28,15]
+Stage15 0x00F544 28 150 ADN206 0x21 type2 [15,28,15] [15,28,15]
+Stage15 0x00F5DC 28 150 ADN207 0x27 type2 [15,28,15] [15,28,15]
+Stage15 0x00F674 28 150 ADN208 0x2F type2 [15,28,15] [15,28,15]
+Stage15 0x00F70C 28 150 ADN209 0x36 type2 [15,28,15] [15,15,28]
+Stage15 0x00F7FC 28 500 ADN210 0x4 type2 [28,15,15] [47,92,1]
+Stage15 0x00F980 28 500 ADN211 0x9 type2 [92,1,15] [47,92,1]
+Stage15 0x00FB04 28 500 ADN212 0x10 type2 [92,1,15] [47,47,92]
+Stage15 0x00FCDC 28 500 ADN213 0x16 type2 [92,1,15] [47,47,92]
+Stage15 0x00FEB4 28 500 ADN214 0x1D type2 [92,1,15] [47,47,92]
+Stage15 0x0102DC 29 100 TCN001 0x3A type2 [8,127,123] [35,119,11]
+Stage15 0x0104C4 101 - ? None typeNone [20,9,116] [100,93,124]
+Stage15 0x0110CC 101 - ? None typeNone [20,20,116] [100,93,124]
+Stage15 0x013368 28 500 ADN215 0x22 type2 [20,58,15] [47,92,1]
+Stage15 0x01358C 28 500 ADN216 0x2A type2 [20,58,15] [47,92,11]
+Stage15 0x01378C 28 500 ADN217 0x32 type2 [20,58,15] [47,47,92]
+Stage15 0x0139E0 28 500 ADN218 0x37 type2 [20,58,15] [47,47,92]
+Stage15 0x013C34 28 500 ADN219 0x39 type2 [20,58,15] [47,47,92]
+Stage15 0x013E88 28 500 ADN220 0xA type2 [20,58,15] [47,92,11]
+Stage15 0x014088 28 500 ADN221 0x11 type2 [20,58,15] [47,92,11]
+Stage15 0x014924 28 150 ADN222 0x17 type2 [64,11,57] [15,64,64]
+Stage15 0x014D28 28 500 ADN223 0x1E type2 [11,58,15] [47,47,92]
+Stage15 0x015170 28 150 ADN224 0x23 type2 [64,11,57] [15,64,64]
+Stage15 0x01553C 28 500 ADN225 0x2B type2 [11,58,15] [47,92,64]
+Stage15 0x0158E8 28 500 ADN226 0x33 type2 [11,58,15] [47,92,58]
+Stage15 0x015A84 28 500 ADN227 0x38 type2 [92,58,15] [47,92,64]
+Stage16 0x0004F4 29 100 TCN001 0x1 type2 [8,127,123] [35,119,11]
+Stage16 0x0005D8 101 - ? None typeNone [11,95,116] [100,93,124]
+Stage16 0x000A28 101 - ? None typeNone [11,9,116] [100,93,124]
+Stage16 0x000E4C 101 - ? None typeNone [140,140,116] [100,93,124]
+Stage18 0x000488 28 0 TCN001 0xB type2 [35,8,12] [52,1,11]
+Stage18 0x0009D4 26 0 ADT101 0x0 type2 [1,11,18] [13,0,97]
+Stage18 0x000D2C 26 0 ADT102 0x2 type2 [1,11,18] [13,0,11]
+Stage18 0x000E30 26 0 ADT103 0x4 type2 [0,11,18] [13,0,11]
+Stage18 0x000F34 26 0 ADT104 0x5 type2 [0,11,18] [13,0,11]
+Stage18 0x0013E4 26 0 ADT105 0x6 type2 [1,11,18] [13,0,11]
+Stage18 0x0014E8 26 0 ADT106 0x7 type2 [0,11,18] [13,0,11]
+Stage18 0x0015EC 26 0 ADT107 0x8 type2 [0,11,18] [13,0,11]
+Stage18 0x001AB0 26 0 ADT108 0x9 type2 [1,11,18] [13,0,97]
+Stage18 0x001E2C 28 100 TCN001 0xB type2 [4,1,11] [12,3,15]
+Stage18 0x0029FC 26 100 TCN001 0xB type2 [6,11,20] []
+Stage19 0x0003D4 28 0 TCN001 0x7 type2 [35,8,12] [52,1,11]
+Stage19 0x000CD4 28 100 TCN001 0x7 type2 [11,104,4] [1,11,69]
+Stage19 0x000F0C 26 0 ADS101 0x0 type2 [16,0,12] [26,84,4]
+Stage19 0x000F4C 26 0 ADS102 0x1 type2 [0,12,26] [84,4,97]
+Stage19 0x001010 28 0 TCN001 0x7 type2 [4,97,4] [12,3,15]
+Stage19 0x0012F8 26 0 ADS104 0x2 type2 [4,16,0] [84,4,97]
+Stage19 0x001394 28 100 TCN001 0x7 type2 [84,4,97] [12,3,15]
+Stage19 0x0019F4 26 100 TCN001 0x7 type2 [6,11,20] []
+Stage20 0x0026C0 26 100 TCN001 0xB type2 [6,11,20] []
+Stage21 0x0002A8 28 0 TCN001 0x2 type2 [35,8,12] [26,52,1]
+Stage21 0x0002E8 26 40 TCN001 0x2 type2 [8,12,28] [52,1,12]
+Stage21 0x000B58 28 100 TCN001 0x2 type2 [0,84,4] [97,4,12]
+Stage21 0x0012F4 26 100 TCN001 0x2 type2 [6,11,20] []
+Stage22 0x00098C 26 0 ADT101 0x0 type2 [1,11,18] [0,11,69]
+Stage22 0x000AD0 26 0 ADT102 0x2 type2 [69,11,18] [0,11,69]
+Stage22 0x001384 26 0 ADS103 0x1 type2 [11,69,0] [97,1,11]
+Stage22 0x001470 26 0 ADT104 0x3 type2 [1,11,18] [0,11,69]
+Stage22 0x001868 26 0 ADT106 0x5 type2 [1,11,18] [0,11,69]
+Stage22 0x001F1C 26 0 ADT107 0x6 type2 [1,11,18] [0,11,69]
+Stage22 0x002130 26 100 TCN001 0x7 type2 [6,11,20] []
+Stage23 0x0002A8 28 0 TCN001 0x3 type2 [35,8,12] [52,1,11]
+Stage23 0x000898 26 0 ADS105 0x2 type2 [4,16,0] [84,4,97]
+Stage23 0x000B98 28 100 TCN001 0x3 type2 [11,104,4] [1,11,69]
+Stage23 0x0012AC 26 100 TCN001 0x3 type2 [6,11,20] []
+Stage24 0x001274 29 0 ADT108 0x1E type2 [12,30,117] [12,12,12]
+Stage24 0x001EE8 29 100 TCN001 0x2C type2 [127,123,8] [35,119,1]
+Stage24 0x0029B0 29 100 ADT108 0x1E type2 [15,47,64] [20,64,11]
+Stage24 0x0045F8 29 100 ADT109 0x22 type2 [15,48,47] [64,1,7]
+Stage24 0x004A44 29 0 ADT109 0x22 type2 [58,30,117] [64,7,58]
+Stage24 0x0051B8 29 100 ADT103 0x8 type2 [30,15,47] [64,64,1]
+Stage24 0x0056B8 29 0 ADT103 0x8 type2 [58,30,117] [64,20,4]
+Stage24 0x007094 101 - ? None typeNone [20,20,116] [100,124,93]
+Stage24 0x007304 101 - ? None typeNone [11,95,116] [100,124,93]
+Stage24 0x007710 101 - ? None typeNone [11,20,116] [100,124,93]
+Stage24 0x007DBC 101 - ? None typeNone [11,9,116] [100,124,93]
+Stage25 0x001790 28 100 ADN355 0x21 type2 [15,12,15] [12,15,28]
+Stage25 0x001864 28 100 ADN350 0xF type2 [28,12,15] [12,15,28]
+Stage25 0x001938 28 100 ADN351 0x13 type2 [28,12,15] [12,15,28]
+Stage25 0x001A0C 28 100 ADN352 0x17 type2 [28,12,15] [12,15,28]
+Stage25 0x001AE0 28 100 ADN353 0x1B type2 [28,12,15] [12,15,28]
+Stage25 0x001BB4 28 100 ADN354 0x1E type2 [28,12,15] [12,15,28]
+Stage25 0x001C88 28 200 ADN310 0x1 type2 [28,12,15] [12,15,117]
+Stage25 0x004218 29 100 TCN001 0x27 type2 [127,123,8] [35,119,1]
+Stage25 0x00440C 28 300 ADN312 0x5 type2 [11,57,16] [1,11,57]
+Stage25 0x0044F8 28 300 ADN313 0x9 type2 [11,57,16] [1,11,58]
+Stage25 0x004600 28 600 ADN314 0xD type2 [11,58,15] [47,47,1]
+Stage25 0x004964 28 600 ADN315 0x11 type2 [11,58,15] [47,47,1]
+Stage25 0x005348 28 100 ADN350 0xF type2 [143,57,15] [145,47,47]
+Stage25 0x005814 28 200 ADN356 0x23 type2 [5,57,15] [145,47,47]
+Stage25 0x005BAC 28 200 ADN356 0x23 type2 [143,57,15] [145,47,47]
+Stage25 0x00709C 28 100 ADN351 0x13 type2 [143,57,15] [145,47,47]
+Stage25 0x0074C8 28 200 ADN357 0x24 type2 [5,57,15] [145,47,47]
+Stage25 0x007860 28 200 ADN357 0x24 type2 [143,57,15] [145,47,47]
+Stage25 0x0088E8 28 100 ADN352 0x17 type2 [143,57,15] [145,47,47]
+Stage25 0x008D14 28 200 ADN358 0x25 type2 [5,57,15] [145,47,47]
+Stage25 0x0090AC 28 200 ADN358 0x25 type2 [143,57,15] [145,47,47]
+Stage25 0x00A59C 28 100 ADN353 0x1B type2 [143,57,15] [145,47,47]
+Stage25 0x00A9C8 28 200 ADN359 0x26 type2 [5,57,15] [145,47,47]
+Stage25 0x00AD60 28 200 ADN359 0x26 type2 [143,57,15] [145,47,47]
+Stage25 0x00BC70 28 100 ADN354 0x1E type2 [143,57,15] [145,47,47]
+Stage25 0x00C09C 28 200 ADN360 0x14 type2 [5,57,15] [145,47,47]
+Stage25 0x00C434 28 200 ADN360 0x14 type2 [143,57,15] [145,47,47]
+Stage25 0x00D924 28 100 ADN355 0x21 type2 [143,57,15] [145,47,47]
+Stage25 0x00DD50 28 200 ADN361 0x18 type2 [5,57,15] [145,47,47]
+Stage25 0x00E0E8 28 200 ADN361 0x18 type2 [143,57,15] [145,47,47]
+Stage25 0x00ECD4 28 200 ADN310 0x1 type2 [143,57,15] [19,64,20]
+Stage25 0x00F390 28 300 ADN311 0x2 type2 [5,57,15] [19,1,64]
+Stage25 0x00F704 28 300 ADN311 0x2 type2 [143,57,15] [19,64,8]
+Stage25 0x010EFC 28 300 ADN312 0x5 type2 [9,143,57] [16,64,69]
+Stage25 0x0111A8 26 0 ADN320 0x3 type2 [69,20,18] [69,8,69]
+Stage25 0x011450 28 300 ADN320 0x3 type2 [9,128,15] [47,47,1]
+Stage25 0x011C0C 28 300 ADN320 0x3 type2 [143,128,15] [47,47,1]
+Stage25 0x011FFC 28 300 ADN320 0x3 type2 [143,128,15] [47,47,1]
+Stage25 0x012240 26 0 ADN321 0x7 type2 [69,20,18] [69,8,69]
+Stage25 0x0124E8 28 300 ADN321 0x7 type2 [9,128,15] [47,47,1]
+Stage25 0x012CA4 28 300 ADN321 0x7 type2 [143,128,15] [47,47,1]
+Stage25 0x013094 28 300 ADN321 0x7 type2 [143,128,15] [47,47,1]
+Stage25 0x0134C0 28 300 ADN328 0x20 type2 [9,128,15] [47,1,69]
+Stage25 0x013BE8 28 300 ADN328 0x20 type2 [143,128,15] [47,1,69]
+Stage25 0x0142CC 28 300 ADN313 0x9 type2 [9,143,57] [16,64,69]
+Stage25 0x0146F4 28 300 ADN325 0x16 type2 [9,128,15] [47,1,69]
+Stage25 0x014E1C 28 300 ADN325 0x16 type2 [143,128,15] [47,1,18]
+Stage25 0x0151F4 28 300 ADN329 0x22 type2 [9,128,15] [47,1,69]
+Stage25 0x01591C 28 300 ADN329 0x22 type2 [143,128,15] [47,1,69]
+Stage25 0x016058 28 600 ADN314 0xD type2 [143,57,15] [47,47,145]
+Stage25 0x016B84 28 600 ADN315 0x11 type2 [143,57,15] [47,47,145]
+Stage25 0x017094 101 - ? None typeNone [64,95,116] [100,124,93]
+Stage25 0x01748C 101 - ? None typeNone [11,20,116] [100,124,93]
+Stage25 0x017AE8 101 - ? None typeNone [11,9,116] [100,124,93]
+Stage26 0x000EF0 29 0 TCN001 0x16 type2 [118,146,12] [15,12,15]
+Stage26 0x001614 29 50 TCT012 0x28 type2 [15,3,30] [12,15,3]
+Stage26 0x0017F4 29 50 TCT013 0x2A type2 [15,3,30] [12,15,3]
+Stage26 0x0019D4 29 50 TCT014 0x2C type2 [15,3,30] [12,15,3]
+Stage26 0x001BB4 29 50 TCT015 0x2E type2 [15,3,30] [12,15,3]
+Stage26 0x001D94 29 50 TCT016 0x30 type2 [15,3,30] [12,15,3]
+Stage26 0x001F74 29 50 TCT017 0x32 type2 [15,3,30] [12,15,3]
+Stage26 0x002154 29 50 TCT018 0x34 type2 [15,3,30] [12,15,3]
+Stage26 0x002334 29 50 TCT019 0x36 type2 [15,3,30] [12,15,3]
+Stage26 0x003928 29 100 TCN001 0x16 type2 [127,123,8] [35,11,95]
+Stage26 0x003A00 101 - ? None typeNone [11,95,116] [100,124,93]
+Stage26 0x003E10 101 - ? None typeNone [11,20,116] [100,124,93]
+Stage26 0x004414 101 - ? None typeNone [6,11,116] [100,124,93]
+Stage26 0x004664 101 - ? None typeNone [11,9,116] [100,124,93]
+Stage26 0x008DD0 29 20 ADN128 0x14 type2 [47,11,57] [15,3,46]
+Stage26 0x00AD0C 26 0 ADN128 0x14 type2 [18,5,5] [26,4,64]
+Stage26 0x00AD4C 26 0 TCT012 0x28 type2 [5,5,26] [4,64,11]
+Stage26 0x00AF4C 26 0 ADN128 0x14 type2 [18,5,5] [26,4,64]
+Stage26 0x00AF8C 26 0 TCT013 0x2A type2 [5,5,26] [4,64,11]
+Stage26 0x00B18C 26 0 ADN128 0x14 type2 [18,5,5] [26,4,64]
+Stage26 0x00B1CC 26 0 TCT014 0x2C type2 [5,5,26] [4,64,11]
+Stage26 0x00B3CC 26 0 ADN128 0x14 type2 [18,5,5] [26,4,64]
+Stage26 0x00B40C 26 0 TCT015 0x2E type2 [5,5,26] [4,64,11]
+Stage26 0x00B60C 26 0 ADN128 0x14 type2 [18,5,5] [26,4,64]
+Stage26 0x00B64C 26 0 TCT016 0x30 type2 [5,5,26] [4,64,11]
+Stage26 0x00B84C 26 0 ADN128 0x14 type2 [18,5,5] [26,4,64]
+Stage26 0x00B88C 26 0 TCT017 0x32 type2 [5,5,26] [4,64,11]
+Stage26 0x00BA8C 26 0 ADN128 0x14 type2 [18,5,5] [26,4,64]
+Stage26 0x00BACC 26 0 TCT018 0x34 type2 [5,5,26] [4,64,11]
+Stage26 0x00BCCC 26 0 ADN128 0x14 type2 [18,5,5] [26,4,64]
+Stage26 0x00BD0C 26 0 TCT019 0x36 type2 [5,5,26] [4,64,11]
+Stage27 0x000AAC 29 0 TCN001 0x12 type2 [118,146,12] [15,12,15]
+Stage27 0x002088 29 100 TCN001 0x12 type2 [127,123,8] [35,11,95]
+Stage27 0x002160 101 - ? None typeNone [11,95,116] [100,124,93]
+Stage27 0x002570 101 - ? None typeNone [11,20,116] [100,124,93]
+Stage27 0x002BBC 101 - ? None typeNone [11,9,116] [100,124,93]
+Stage27 0x00339C 101 - ? None typeNone [20,20,116] [100,124,93]
+Stage28 0x00101C 29 0 TCN001 0x13 type2 [118,146,12] [15,12,30]
+Stage28 0x0020EC 29 100 TCN001 0x13 type2 [127,123,8] [35,11,95]
+Stage28 0x0021C4 101 - ? None typeNone [11,95,116] [100,124,93]
+Stage28 0x00256C 101 - ? None typeNone [20,20,116] [100,124,93]
+Stage28 0x002958 101 - ? None typeNone [11,9,116] [100,124,93]
+Stage28 0x002E4C 29 0 ADT102 0x2 type2 [12,12,12] [29,29,136]
+Stage28 0x002E8C 29 0 ADT103 0x4 type2 [12,12,29] [29,136,13]
+Stage28 0x002ECC 29 0 ADT104 0x6 type2 [12,29,29] [136,13,1]
+Stage28 0x003BE8 29 0 ADT107 0xB type2 [12,12,12] [29,29,136]
+Stage28 0x003C28 29 0 ADT108 0xC type2 [12,12,29] [29,136,13]
+Stage28 0x003C68 29 0 ADT109 0xD type2 [12,29,29] [136,13,64]
+Stage28 0x004848 29 0 ADT113 0x7 type2 [12,12,12] [29,29,136]
+Stage28 0x004888 29 0 ADT114 0x8 type2 [12,12,29] [29,136,13]
+Stage28 0x0048C8 29 0 ADT115 0xA type2 [12,29,29] [136,13,1]
+Stage28 0x0050F8 26 0 ADT102 0x2 type2 [11,70,18] [13,70,136]
+Stage28 0x005330 26 0 ADT103 0x4 type2 [11,70,18] [13,70,11]
+Stage28 0x005520 26 0 ADT104 0x6 type2 [11,70,18] [13,11,70]
+Stage28 0x005638 26 0 ADT107 0xB type2 [11,70,18] [13,70,136]
+Stage28 0x005870 26 0 ADT108 0xC type2 [11,70,18] [13,70,11]
+Stage28 0x005A60 26 0 ADT109 0xD type2 [11,70,18] [13,11,70]
+Stage28 0x005B78 26 0 ADT113 0x7 type2 [11,70,18] [13,70,136]
+Stage28 0x005DB0 26 0 ADT114 0x8 type2 [11,70,18] [13,70,11]
+Stage28 0x005FA0 26 0 ADT115 0xA type2 [11,70,18] [13,11,64]
+Stage29 0x0083A0 29 100 TCN001 0x11 type2 [12,12,12] [15,29,15]
+Stage29 0x008438 29 100 TCN002 0x14 type2 [12,29,15] [15,29,15]
+Stage29 0x0084D0 29 50 TCN003 0x18 type2 [15,29,15] [15,92,15]
+Stage29 0x008740 29 75 TCN004 0x1F type2 [15,30,3] [15,3,29]
+Stage29 0x008878 29 50 TCN005 0x21 type2 [29,15,3] [15,30,19]
+Stage29 0x008AA4 29 75 TCT006 0x2C type2 [30,19,3] [15,3,3]
+Stage29 0x008C7C 29 50 TCN007 0x25 type2 [15,3,3] [15,3,3]
+Stage29 0x008E54 29 50 TCN110 0x17 type2 [15,3,3] [15,3,3]
+Stage29 0x00902C 29 50 TCN111 0x1D type2 [15,3,3] [15,3,3]
+Stage29 0x009204 29 50 TCN113 0x22 type2 [15,3,3] [15,30,29]
+Stage29 0x009308 29 0 TCN008 0x26 type2 [29,15,30] [92,15,48]
+Stage29 0x0094B4 29 50 TCN009 0x29 type2 [92,15,48] [15,92,29]
+Stage29 0x0095C0 29 50 TCN114 0x24 type2 [29,15,92] [1,15,92]
+Stage29 0x0096F0 29 50 TCN116 0x28 type2 [1,15,92] [1,15,48]
+Stage29 0x00984C 29 50 TCN119 0x2B type2 [1,15,48] [1,1,75]
+Stage29 0x00CCF0 29 100 TCN001 0x11 type2 [127,123,8] [35,119,11]
+Stage29 0x010580 101 - ? None typeNone [69,95,116] [100,93,124]
+Stage29 0x0109A8 101 - ? None typeNone [11,20,116] [100,124,93]
+Stage29 0x011004 101 - ? None typeNone [11,20,116] [100,124,93]
+Stage29 0x01128C 101 - ? None typeNone [11,9,116] [100,93,124]
+Stage29 0x01158C 101 - ? None typeNone [6,11,116] [100,93,124]
+Stage29 0x011D74 29 50 TCN120 0x1E type2 [128,15,92] [11,20,11]
+Stage29 0x011FD0 29 50 TCN121 0x20 type2 [128,15,92] [11,69,57]
+Stage29 0x012D0C 28 200 ADN101ea1 0x0 type2 [145,128,15] [145,47,47]
+Stage29 0x013294 28 200 ADN101ea2 0x1 type2 [1,128,15] [29,145,47]
+Stage29 0x0132D4 29 50 ADN101ea2 0x1 type2 [128,15,28] [145,47,47]
+Stage29 0x01381C 28 200 ADN102ea1 0x2 type2 [145,128,15] [145,47,47]
+Stage29 0x013DA4 28 200 ADN102ea2 0x3 type2 [1,128,15] [29,145,47]
+Stage29 0x013DE4 29 50 ADN102ea2 0x3 type2 [128,15,28] [145,47,47]
+Stage29 0x01432C 28 200 ADN103ea1 0x4 type2 [145,128,15] [145,47,47]
+Stage29 0x0148B4 28 200 ADN103ea2 0x6 type2 [1,128,15] [29,145,47]
+Stage29 0x0148F4 29 50 ADN103ea2 0x6 type2 [128,15,28] [145,47,47]
+Stage29 0x014E3C 28 200 ADN104ea1 0x7 type2 [145,128,15] [145,47,47]
+Stage29 0x0153C4 28 200 ADN104ea2 0xA type2 [1,128,15] [29,145,47]
+Stage29 0x015404 29 50 ADN104ea2 0xA type2 [128,15,28] [145,47,47]
+Stage29 0x01594C 28 200 ADN121ea1 0x5 type2 [145,128,15] [145,47,47]
+Stage29 0x015EB0 28 200 ADN121ea2 0x8 type2 [92,128,15] [29,145,47]
+Stage29 0x015EF0 29 50 ADN121ea2 0x8 type2 [128,15,28] [145,47,47]
+Stage29 0x016338 28 200 ADN122ea1 0x9 type2 [145,128,15] [145,47,47]
+Stage29 0x01689C 28 200 ADN122ea2 0xB type2 [92,128,15] [29,145,47]
+Stage29 0x0168DC 29 50 ADN122ea2 0xB type2 [128,15,28] [145,47,47]
+Stage29 0x016D24 28 200 ADN123ea1 0xC type2 [145,128,15] [145,47,47]
+Stage29 0x017288 28 200 ADN123ea2 0xD type2 [92,128,15] [29,145,47]
+Stage29 0x0172C8 29 50 ADN123ea2 0xD type2 [128,15,28] [145,47,47]
+Stage29 0x017710 28 200 ADN124ea1 0xE type2 [145,128,15] [145,47,47]
+Stage29 0x017C74 28 200 ADN124ea2 0xF type2 [92,128,15] [29,145,47]
+Stage29 0x017CB4 29 50 ADN124ea2 0xF type2 [128,15,28] [145,47,47]
+Stage29 0x01C5FC 28 200 ADN101b 0x2F type2 [64,57,15] [1,4,57]
+Stage29 0x01C71C 28 120 ADN101a 0x2E type2 [4,57,15] [1,4,57]
+Stage29 0x01C83C 28 120 ADN102a 0x30 type2 [4,57,15] [1,4,57]
+Stage29 0x01C95C 28 200 ADN102b 0x33 type2 [4,57,15] [1,4,57]
+Stage29 0x01CA7C 28 120 ADN103a 0x34 type2 [4,57,15] [1,4,57]
+Stage29 0x01CB9C 28 200 ADN103b 0x39 type2 [4,57,15] [1,4,57]
+Stage29 0x01CCBC 28 120 ADN104a 0x3A type2 [4,57,15] [1,4,57]
+Stage29 0x01CDDC 28 300 ADN101e 0x40 type2 [4,57,15] [1,4,57]
+Stage29 0x01CEFC 28 300 ADN102e 0x4B type2 [4,57,15] [1,4,57]
+Stage29 0x01D01C 28 300 ADN103e 0x54 type2 [4,57,15] [1,4,57]
+Stage29 0x01D13C 28 300 ADN104e 0x5C type2 [4,57,15] [1,4,57]
+Stage29 0x01D25C 28 120 ADN105a 0x43 type2 [4,57,15] [1,4,57]
+Stage29 0x01D37C 28 120 ADN106a 0x4D type2 [4,57,15] [1,4,57]
+Stage29 0x01D49C 28 120 ADN107a 0x56 type2 [4,57,15] [1,4,57]
+Stage29 0x01D5C4 28 200 ADN101c 0x32 type2 [4,57,15] [1,4,57]
+Stage29 0x01D6E4 28 300 ADN101e 0x40 type2 [4,57,15] [1,4,57]
+Stage29 0x01D804 28 120 ADN101a 0x2E type2 [4,57,15] [1,4,57]
+Stage29 0x01D924 28 200 ADN101b 0x2F type2 [4,57,15] [1,4,57]
+Stage29 0x01DA44 28 120 ADN102a 0x30 type2 [4,57,15] [1,4,57]
+Stage29 0x01DB64 28 200 ADN102b 0x33 type2 [4,57,15] [1,4,57]
+Stage29 0x01DC84 28 120 ADN103a 0x34 type2 [4,57,15] [1,4,57]
+Stage29 0x01DDA4 28 200 ADN103b 0x39 type2 [4,57,15] [1,4,57]
+Stage29 0x01DEC4 28 120 ADN104a 0x3A type2 [4,57,15] [1,4,57]
+Stage29 0x01DFE4 28 120 ADN105a 0x43 type2 [4,57,15] [1,4,57]
+Stage29 0x01E104 28 200 ADN102c 0x38 type2 [4,57,15] [1,4,57]
+Stage29 0x01E224 28 300 ADN102e 0x4B type2 [4,57,15] [1,4,57]
+Stage29 0x01E344 28 120 ADN106a 0x4D type2 [4,57,15] [1,4,57]
+Stage29 0x01E464 28 200 ADN104b 0x42 type2 [4,57,15] [1,4,57]
+Stage29 0x01E58C 28 200 ADN101c 0x32 type2 [4,57,15] [1,4,57]
+Stage29 0x01E6AC 28 200 ADN102c 0x38 type2 [4,57,15] [1,4,57]
+Stage29 0x01E7CC 28 120 ADN101a 0x2E type2 [4,57,15] [1,4,57]
+Stage29 0x01E8EC 28 300 ADN101e 0x40 type2 [4,57,15] [1,4,57]
+Stage29 0x01EA0C 28 120 ADN102a 0x30 type2 [4,57,15] [1,4,57]
+Stage29 0x01EB2C 28 120 ADN103a 0x34 type2 [4,57,15] [1,4,57]
+Stage29 0x01EC4C 28 120 ADN104a 0x3A type2 [4,57,15] [1,4,57]
+Stage29 0x01ED6C 28 300 ADN102e 0x4B type2 [4,57,15] [1,4,57]
+Stage29 0x01EE8C 28 200 ADN101b 0x2F type2 [4,57,15] [1,4,57]
+Stage29 0x01EFAC 28 200 ADN102b 0x33 type2 [4,57,15] [1,4,57]
+Stage29 0x01F0CC 28 120 ADN105a 0x43 type2 [4,57,15] [1,4,57]
+Stage29 0x01F1EC 28 200 ADN103b 0x39 type2 [4,57,15] [1,4,57]
+Stage29 0x01F30C 28 300 ADN103e 0x54 type2 [4,57,15] [1,4,57]
+Stage29 0x01F42C 28 300 ADN104e 0x5C type2 [4,57,15] [1,57,15]
+Stage29 0x01F52C 28 200 ADN101c 0x32 type2 [1,57,15] [1,4,57]
+Stage29 0x01F64C 28 200 ADN101b 0x2F type2 [4,57,15] [1,4,57]
+Stage29 0x01F76C 28 120 ADN101a 0x2E type2 [4,57,15] [1,4,57]
+Stage29 0x01F88C 28 120 ADN102a 0x30 type2 [4,57,15] [1,4,57]
+Stage29 0x01F9AC 28 300 ADN101e 0x40 type2 [4,57,15] [1,4,57]
+Stage29 0x01FACC 28 200 ADN102b 0x33 type2 [4,57,15] [1,4,57]
+Stage29 0x01FBEC 28 120 ADN103a 0x34 type2 [4,57,15] [1,4,57]
+Stage29 0x01FD0C 28 120 ADN104a 0x3A type2 [4,57,15] [1,4,57]
+Stage29 0x01FE2C 28 300 ADN102e 0x4B type2 [4,57,15] [1,4,57]
+Stage29 0x01FF4C 28 200 ADN103b 0x39 type2 [4,57,15] [1,4,57]
+Stage29 0x02006C 28 300 ADN101d 0x37 type2 [4,57,15] [1,4,57]
+Stage29 0x02018C 28 200 ADN102c 0x38 type2 [4,57,15] [1,4,57]
+Stage29 0x0202AC 28 300 ADN103e 0x54 type2 [4,57,15] [1,4,57]
+Stage29 0x0203CC 28 300 ADN104e 0x5C type2 [4,57,15] [1,4,57]
+Stage29 0x0204F4 28 300 ADN101d 0x37 type2 [4,57,15] [1,4,57]
+Stage29 0x020614 28 200 ADN101c 0x32 type2 [4,57,15] [1,4,57]
+Stage29 0x020734 28 200 ADN101b 0x2F type2 [4,57,15] [1,4,57]
+Stage29 0x020854 28 200 ADN102c 0x38 type2 [4,57,15] [1,4,57]
+Stage29 0x020974 28 120 ADN101a 0x2E type2 [4,57,15] [1,4,57]
+Stage29 0x020A94 28 200 ADN102b 0x33 type2 [4,57,15] [1,4,57]
+Stage29 0x020BB4 28 300 ADN101e 0x40 type2 [4,57,15] [1,4,57]
+Stage29 0x020CD4 28 300 ADN102e 0x4B type2 [4,57,15] [1,4,57]
+Stage29 0x020DF4 28 200 ADN103b 0x39 type2 [4,57,15] [1,4,57]
+Stage29 0x020F14 28 120 ADN102a 0x30 type2 [4,57,15] [1,4,57]
+Stage29 0x021034 28 120 ADN103a 0x34 type2 [4,57,15] [1,4,57]
+Stage29 0x021154 28 120 ADN104a 0x3A type2 [4,57,15] [1,4,57]
+Stage29 0x021274 28 300 ADN103e 0x54 type2 [4,57,15] [1,4,57]
+Stage29 0x021394 28 300 ADN104e 0x5C type2 [4,57,15] [1,4,57]
+Stage29 0x0214BC 28 200 ADN101b 0x2F type2 [4,57,15] [1,4,57]
+Stage29 0x0215DC 28 300 ADN101e 0x40 type2 [4,57,15] [1,4,57]
+Stage29 0x0216FC 28 120 ADN101a 0x2E type2 [4,57,15] [1,4,57]
+Stage29 0x02181C 28 300 ADN102e 0x4B type2 [4,57,15] [1,4,57]
+Stage29 0x02193C 28 120 ADN102a 0x30 type2 [4,57,15] [1,4,57]
+Stage29 0x021A5C 28 300 ADN103e 0x54 type2 [4,57,15] [1,4,57]
+Stage29 0x021B7C 28 120 ADN103a 0x34 type2 [4,57,15] [1,4,57]
+Stage29 0x021C9C 28 120 ADN104a 0x3A type2 [4,57,15] [1,4,57]
+Stage29 0x021DBC 28 120 ADN105a 0x43 type2 [4,57,15] [1,4,57]
+Stage29 0x021EDC 28 120 ADN106a 0x4D type2 [4,57,15] [1,4,57]
+Stage29 0x021FFC 28 200 ADN101c 0x32 type2 [4,57,15] [1,57,15]
+Stage29 0x0220F4 28 200 ADN102b 0x33 type2 [1,57,15] [1,4,57]
+Stage29 0x022214 28 200 ADN102c 0x38 type2 [4,57,15] [1,4,57]
+Stage29 0x022334 28 300 ADN104e 0x5C type2 [4,57,15] [1,57,15]
+Stage29 0x022434 28 300 ADN101e 0x40 type2 [1,57,15] [1,4,57]
+Stage29 0x022554 28 200 ADN101b 0x2F type2 [4,57,15] [1,4,57]
+Stage29 0x022674 28 300 ADN102e 0x4B type2 [4,57,15] [1,4,57]
+Stage29 0x022794 28 120 ADN101a 0x2E type2 [4,57,15] [1,4,57]
+Stage29 0x0228B4 28 200 ADN101c 0x32 type2 [4,57,15] [1,4,57]
+Stage29 0x0229D4 28 300 ADN101d 0x37 type2 [4,57,15] [1,4,57]
+Stage29 0x022AF4 28 120 ADN102a 0x30 type2 [4,57,15] [1,4,57]
+Stage29 0x022C14 28 120 ADN103a 0x34 type2 [4,57,15] [1,4,57]
+Stage29 0x022D34 28 120 ADN104a 0x3A type2 [4,57,15] [1,4,57]
+Stage29 0x022E54 28 200 ADN102b 0x33 type2 [4,57,15] [1,4,57]
+Stage29 0x022F74 28 300 ADN103e 0x54 type2 [4,57,15] [1,4,57]
+Stage29 0x023094 28 120 ADN105a 0x43 type2 [4,57,15] [1,4,57]
+Stage29 0x0231B4 28 200 ADN102c 0x38 type2 [4,57,15] [1,4,57]
+Stage29 0x0232D4 28 120 ADN106a 0x4D type2 [4,57,15] [1,4,11]
+Stage29 0x023764 28 200 ADN141a 0x3E type2 [16,16,16] [145,47,47]
+Stage29 0x023EFC 28 200 ADN141b 0x48 type2 [16,16,16] [29,145,47]
+Stage29 0x023F3C 29 50 ADN141b 0x48 type2 [16,16,28] [145,47,47]
+Stage29 0x024420 28 200 ADN142a 0x49 type2 [16,16,16] [145,47,47]
+Stage29 0x024BB8 28 200 ADN142b 0x52 type2 [16,16,16] [29,145,47]
+Stage29 0x024BF8 29 50 ADN142b 0x52 type2 [16,16,28] [145,47,47]
+Stage29 0x02517C 28 200 ADN143a 0x53 type2 [16,16,16] [145,47,47]
+Stage29 0x025914 28 200 ADN143b 0x5A type2 [16,16,16] [29,145,47]
+Stage29 0x025954 29 50 ADN143b 0x5A type2 [16,16,28] [145,47,47]
+Stage29 0x025F78 28 200 ADN144a 0x5B type2 [16,16,16] [145,47,47]
+Stage29 0x026710 28 200 ADN144b 0x61 type2 [16,16,16] [29,145,47]
+Stage29 0x026750 29 50 ADN144b 0x61 type2 [16,16,28] [145,47,47]
+Stage29 0x026CD4 28 200 ADN145a 0x62 type2 [16,16,16] [145,47,47]
+Stage29 0x02746C 28 200 ADN145b 0x65 type2 [16,16,16] [29,145,47]
+Stage29 0x0274AC 29 50 ADN145b 0x65 type2 [16,16,28] [145,47,47]
+Stage29 0x02783C 28 200 ADN121b 0x35 type2 [64,57,15] [1,4,57]
+Stage29 0x02795C 28 120 ADN121a 0x31 type2 [4,57,15] [1,4,57]
+Stage29 0x027A7C 28 120 ADN122a 0x36 type2 [4,57,15] [1,4,57]
+Stage29 0x027B9C 28 200 ADN122b 0x3C type2 [4,57,15] [1,4,57]
+Stage29 0x027CBC 28 120 ADN123a 0x3D type2 [4,57,15] [1,4,57]
+Stage29 0x027DDC 28 200 ADN123b 0x46 type2 [4,57,15] [1,4,57]
+Stage29 0x027EFC 28 120 ADN124a 0x47 type2 [4,57,15] [1,4,57]
+Stage29 0x02801C 28 300 ADN121e 0x4E type2 [4,57,15] [1,4,57]
+Stage29 0x02813C 28 300 ADN122e 0x57 type2 [4,57,15] [1,4,57]
+Stage29 0x02825C 28 300 ADN123e 0x5E type2 [4,57,15] [1,4,57]
+Stage29 0x02837C 28 300 ADN124e 0x63 type2 [4,57,15] [1,4,57]
+Stage29 0x02849C 28 120 ADN125a 0x51 type2 [4,57,15] [1,4,57]
+Stage29 0x0285BC 28 120 ADN126a 0x59 type2 [4,57,15] [1,4,57]
+Stage29 0x0286DC 28 120 ADN127a 0x60 type2 [4,57,15] [1,4,64]
+Stage29 0x0288A4 28 200 ADN121c 0x3B type2 [64,57,15] [1,4,57]
+Stage29 0x0289C4 28 300 ADN121e 0x4E type2 [4,57,15] [1,4,57]
+Stage29 0x028AE4 28 120 ADN121a 0x31 type2 [4,57,15] [1,4,57]
+Stage29 0x028C04 28 200 ADN121b 0x35 type2 [4,57,15] [1,4,57]
+Stage29 0x028D24 28 120 ADN122a 0x36 type2 [4,57,15] [1,4,57]
+Stage29 0x028E44 28 200 ADN122b 0x3C type2 [4,57,15] [1,4,57]
+Stage29 0x028F64 28 120 ADN123a 0x3D type2 [4,57,15] [1,4,57]
+Stage29 0x029084 28 200 ADN123b 0x46 type2 [4,57,15] [1,4,57]
+Stage29 0x0291A4 28 120 ADN124a 0x47 type2 [4,57,15] [1,4,57]
+Stage29 0x0292C4 28 120 ADN125a 0x51 type2 [4,57,15] [1,4,57]
+Stage29 0x0293E4 28 200 ADN122c 0x45 type2 [4,57,15] [1,4,57]
+Stage29 0x029504 28 300 ADN122e 0x57 type2 [4,57,15] [1,4,57]
+Stage29 0x029624 28 120 ADN126a 0x59 type2 [4,57,15] [1,4,57]
+Stage29 0x029744 28 200 ADN124b 0x50 type2 [4,57,15] [1,4,64]
+Stage29 0x0299AC 28 200 ADN121c 0x3B type2 [64,57,15] [1,4,57]
+Stage29 0x029ACC 28 200 ADN122c 0x45 type2 [4,57,15] [1,4,57]
+Stage29 0x029BEC 28 120 ADN121a 0x31 type2 [4,57,15] [1,4,57]
+Stage29 0x029D0C 28 300 ADN121e 0x4E type2 [4,57,15] [1,4,57]
+Stage29 0x029E2C 28 120 ADN122a 0x36 type2 [4,57,15] [1,4,57]
+Stage29 0x029F4C 28 120 ADN123a 0x3D type2 [4,57,15] [1,4,57]
+Stage29 0x02A06C 28 120 ADN124a 0x47 type2 [4,57,15] [1,4,57]
+Stage29 0x02A18C 28 300 ADN122e 0x57 type2 [4,57,15] [1,4,57]
+Stage29 0x02A2AC 28 200 ADN121b 0x35 type2 [4,57,15] [1,4,57]
+Stage29 0x02A3CC 28 200 ADN122b 0x3C type2 [4,57,15] [1,4,57]
+Stage29 0x02A4EC 28 120 ADN125a 0x51 type2 [4,57,15] [1,4,57]
+Stage29 0x02A60C 28 200 ADN123b 0x46 type2 [4,57,15] [1,4,57]
+Stage29 0x02A72C 28 300 ADN123e 0x5E type2 [4,57,15] [1,4,57]
+Stage29 0x02A84C 28 300 ADN124e 0x63 type2 [4,57,15] [1,64,64]
+Stage29 0x02AA8C 28 200 ADN121c 0x3B type2 [64,57,15] [1,4,57]
+Stage29 0x02ABAC 28 200 ADN121b 0x35 type2 [4,57,15] [1,4,57]
+Stage29 0x02ACCC 28 120 ADN121a 0x31 type2 [4,57,15] [1,4,57]
+Stage29 0x02ADEC 28 120 ADN122a 0x36 type2 [4,57,15] [1,4,57]
+Stage29 0x02AF0C 28 300 ADN121e 0x4E type2 [4,57,15] [1,4,57]
+Stage29 0x02B02C 28 200 ADN122b 0x3C type2 [4,57,15] [1,4,57]
+Stage29 0x02B14C 28 120 ADN123a 0x3D type2 [4,57,15] [1,4,57]
+Stage29 0x02B26C 28 120 ADN124a 0x47 type2 [4,57,15] [1,4,57]
+Stage29 0x02B38C 28 300 ADN122e 0x57 type2 [4,57,15] [1,4,57]
+Stage29 0x02B4AC 28 200 ADN123b 0x46 type2 [4,57,15] [1,4,57]
+Stage29 0x02B5CC 28 300 ADN121d 0x44 type2 [4,57,15] [1,4,57]
+Stage29 0x02B6EC 28 200 ADN122c 0x45 type2 [4,57,15] [1,4,57]
+Stage29 0x02B80C 28 300 ADN123e 0x5E type2 [4,57,15] [1,4,57]
+Stage29 0x02B92C 28 300 ADN124e 0x63 type2 [4,57,15] [1,4,64]
+Stage29 0x02BB94 28 300 ADN121d 0x44 type2 [64,57,15] [1,4,57]
+Stage29 0x02BCB4 28 200 ADN121c 0x3B type2 [4,57,15] [1,4,57]
+Stage29 0x02BDD4 28 200 ADN121b 0x35 type2 [4,57,15] [1,4,57]
+Stage29 0x02BEF4 28 200 ADN122c 0x45 type2 [4,57,15] [1,4,57]
+Stage29 0x02C014 28 120 ADN121a 0x31 type2 [4,57,15] [1,4,57]
+Stage29 0x02C134 28 200 ADN122b 0x3C type2 [4,57,15] [1,4,57]
+Stage29 0x02C254 28 300 ADN121e 0x4E type2 [4,57,15] [1,4,57]
+Stage29 0x02C374 28 300 ADN122e 0x57 type2 [4,57,15] [1,4,57]
+Stage29 0x02C494 28 200 ADN123b 0x46 type2 [4,57,15] [1,4,57]
+Stage29 0x02C5B4 28 120 ADN122a 0x36 type2 [4,57,15] [1,4,57]
+Stage29 0x02C6D4 28 120 ADN123a 0x3D type2 [4,57,15] [1,4,57]
+Stage29 0x02C7F4 28 120 ADN124a 0x47 type2 [4,57,15] [1,4,57]
+Stage29 0x02C914 28 300 ADN123e 0x5E type2 [4,57,15] [1,4,57]
+Stage29 0x02CA34 28 300 ADN124e 0x63 type2 [4,57,15] [1,4,64]
+Stage29 0x02CC9C 28 200 ADN121b 0x35 type2 [64,57,15] [1,4,57]
+Stage29 0x02CDBC 28 300 ADN121e 0x4E type2 [4,57,15] [1,4,57]
+Stage29 0x02CEDC 28 120 ADN121a 0x31 type2 [4,57,15] [1,4,57]
+Stage29 0x02CFFC 28 300 ADN122e 0x57 type2 [4,57,15] [1,4,57]
+Stage29 0x02D11C 28 120 ADN122a 0x36 type2 [4,57,15] [1,4,57]
+Stage29 0x02D23C 28 300 ADN123e 0x5E type2 [4,57,15] [1,4,57]
+Stage29 0x02D35C 28 120 ADN123a 0x3D type2 [4,57,15] [1,4,57]
+Stage29 0x02D47C 28 120 ADN124a 0x47 type2 [4,57,15] [1,4,57]
+Stage29 0x02D59C 28 120 ADN125a 0x51 type2 [4,57,15] [1,4,57]
+Stage29 0x02D6BC 28 120 ADN126a 0x59 type2 [4,57,15] [1,4,57]
+Stage29 0x02D7DC 28 200 ADN121c 0x3B type2 [4,57,15] [1,4,57]
+Stage29 0x02D8FC 28 200 ADN122b 0x3C type2 [4,57,15] [1,4,57]
+Stage29 0x02DA1C 28 200 ADN122c 0x45 type2 [4,57,15] [1,4,57]
+Stage29 0x02DB3C 28 300 ADN124e 0x63 type2 [4,57,15] [1,64,64]
+Stage29 0x02DD7C 28 300 ADN121e 0x4E type2 [64,57,15] [1,4,57]
+Stage29 0x02DE9C 28 200 ADN121b 0x35 type2 [4,57,15] [1,4,57]
+Stage29 0x02DFBC 28 300 ADN122e 0x57 type2 [4,57,15] [1,4,57]
+Stage29 0x02E0DC 28 120 ADN121a 0x31 type2 [4,57,15] [1,4,57]
+Stage29 0x02E1FC 28 200 ADN121c 0x3B type2 [4,57,15] [1,4,57]
+Stage29 0x02E31C 28 300 ADN121d 0x44 type2 [4,57,15] [1,4,57]
+Stage29 0x02E43C 28 120 ADN122a 0x36 type2 [4,57,15] [1,4,57]
+Stage29 0x02E55C 28 120 ADN123a 0x3D type2 [4,57,15] [1,4,57]
+Stage29 0x02E67C 28 120 ADN124a 0x47 type2 [4,57,15] [1,4,57]
+Stage29 0x02E79C 28 200 ADN122b 0x3C type2 [4,57,15] [1,4,57]
+Stage29 0x02E8BC 28 300 ADN123e 0x5E type2 [4,57,15] [1,4,57]
+Stage29 0x02E9DC 28 120 ADN125a 0x51 type2 [4,57,15] [1,4,57]
+Stage29 0x02EAFC 28 200 ADN122c 0x45 type2 [4,57,15] [1,4,57]
+Stage29 0x02EC1C 28 120 ADN126a 0x59 type2 [4,57,15] [1,4,64]
+Stage29 0x02F1EC 28 200 ADN146a 0x66 type2 [16,16,16] [145,47,47]
+Stage29 0x02F960 28 200 ADN146b 0x67 type2 [16,16,16] [29,145,47]
+Stage29 0x02F9A0 29 50 ADN146b 0x67 type2 [16,16,28] [145,47,47]
+Stage29 0x02FF24 28 200 ADN147a 0x68 type2 [16,16,16] [145,47,47]
+Stage29 0x030698 28 200 ADN147b 0x69 type2 [16,16,16] [29,145,47]
+Stage29 0x0306D8 29 50 ADN147b 0x69 type2 [16,16,28] [145,47,47]
+Stage29 0x030C5C 28 200 ADN148a 0x6A type2 [16,16,16] [145,47,47]
+Stage29 0x0313D0 28 200 ADN148b 0x6B type2 [16,16,16] [29,145,47]
+Stage29 0x031410 29 50 ADN148b 0x6B type2 [16,16,28] [145,47,47]
+Stage29 0x031994 28 200 ADN149a 0x6C type2 [16,16,16] [145,47,47]
+Stage29 0x032108 28 200 ADN149b 0x6D type2 [16,16,16] [29,145,47]
+Stage29 0x032148 29 50 ADN149b 0x6D type2 [16,16,28] [145,47,47]
+Stage29 0x0326CC 28 200 ADN150a 0x3F type2 [16,16,16] [145,47,47]
+Stage29 0x032E40 28 200 ADN150b 0x4A type2 [16,16,16] [29,145,47]
+Stage29 0x032E80 29 50 ADN150b 0x4A type2 [16,16,28] [145,47,47]
+
+# builtin 26: 97 sites, 7 distinct values
+# values: 0 x69, 80 x10, 100 x6, 60 x5, 30 x3, 50 x3, 40 x1
+# units: 66 distinct, top: ADN128 x8, TCN001 x7, ADN207 x4, TCN208 x4, TCN002 x3, ADT102 x3, ADT104 x3, ADT107 x3, ADT101 x2, ADT103 x2
+# craft cross-tab (0 unresolved):
+# UN_e201_ADAN_ISCMissile 17 0x17
+# UN_n001_TTRL_Box 16 0x16
+# UN_f202_TCAF_Cargo 9 0x9
+# UN_e106_ADAN_Destroyer 8 0x4, 80x2, 30x1, 60x1
+# UN_f106_TCAF_Destroyer 8 0x4, 60x2, 80x1, 50x1
+# UN_f001_TCAF_DeltaSaber_T_Player_Ttrl1 6 100x5, 40x1
+# UN_f105_TCAF_Cruiser 5 0x3, 80x1, 50x1
+# UN_e015_ADAN_Puppy_2 5 0x5
+# UN_e015_ADAN_Puppy 5 0x5
+# UN_e108_ADAN_ASFrigate 4 80x2, 60x1, 30x1
+# UN_f001_TCAF_DeltaSaber_T 3 80x1, 50x1, 30x1
+# UN_mn500_ADAN_FloatingMine 3 0x3
+# UN_e105_ADAN_Cruiser 2 80x1, 60x1
+# UN_e011_ADAN_Attacker_B 2 0x2
+# UN_f101_TCAF_Acropolis 1 80x1
+# UN_f002_TCAF_DeltaSaber_W 1 80x1
+# UN_n001_TTRL_Box_move 1 0x1
+# UN_f001_TCAF_DeltaSaber_T_Player_Ttrl2 1 100x1
+# UN_f001_TCAF_DeltaSaber_T_Ttrl 1 100x1
+
+# builtin 28: 410 sites, 13 distinct values
+# values: 200 x116, 120 x76, 300 x74, 500 x48, 150 x37, 100 x29, 1000 x8, 2000 x5, 0.1 x5, 0 x5, 600 x4, 10 x2, 50 x1
+# units: 190 distinct, top: TCN001 x13, ADN101b x7, ADN101a x7, ADN102a x7, ADN102b x7, ADN103a x7, ADN104a x7, ADN101e x7, ADN102e x7, ADN121b x7
+# craft cross-tab (0 unresolved):
+# UN_e106_ADAN_Destroyer 105 120x76, 150x15, 100x12, 200x2
+# UN_e104_ADAN_Carrier 55 300x54, 150x1
+# UN_e105_ADAN_CruiserEX 52 200x52
+# UN_e102_ADAN_BattleshipEX 26 200x26
+# UN_e001_ADAN_Elan 24 200x18, 300x6
+# UN_e010_ADAN_Attacker_S 21 200x18, 100x3
+# UN_e004_ADAN_ElanPlus_N 19 500x19
+# UN_e009_ADAN_Phantom 16 500x16
+# UN_f001_TCAF_DeltaSaber_T_Player_Ttrl1 10 0x5, 100x5
+# UN_e007_ADAN_Turret 9 100x9
+# UN_e002_ADAN_Elan_N 9 500x9
+# UN_e105_ADAN_Cruiser 8 150x8
+# UN_e101_ADAN_SDBattleshipEX 8 300x8
+# UN_f001_TCAF_DeltaSaber_T 7 150x4, 10x2, 50x1
+# UN_e011_ADAN_Attacker_B 6 300x6
+# UN_f002_TCAF_DeltaSaber_W 5 150x5
+# UN_e003_ADAN_ElanPlus_Margras 4 2000x4
+# UN_e108_ADAN_ASFrigateEX 4 600x4
+# UN_f106_TCAF_Destroyer_Inv 3 0.1x2, 150x1
+# UN_e001_ADAN_Elan_GR_Violeta 3 1000x3
+# UN_e001_ADAN_Elan_GR 3 1000x3
+# UN_e101_ADAN_SDBattleship 3 150x3
+# UN_f101_TCAF_Acropolis 2 150x1, 0.1x1
+# UN_e013_ADAN_ElanPlus_Taskent 2 1000x2
+# UN_f002_TCAF_DeltaSaber_W_Player 2 150x2
+# UN_e011_ADAN_Attacker_B_HF 2 500x2
+# UN_e102_ADAN_Battleship 2 150x2
+# UN_f106_TCAF_Destroyer 1 150x1
+# UN_f001_TCAF_DeltaSaber_T_Player 1 150x1
+# UN_f105_TCAF_Cruiser 1 0.1x1
+# UN_f102_TCAF_LightCarrier_Inv 1 0.1x1
+# UN_e005_ADAN_ElanTypeQ_Margras 1 2000x1
+# UN_e108_ADAN_ASFrigate 1 150x1
+# UN_e011_ADAN_Attacker_B_HF_Wayne 1 500x1
+# UN_e006_ADAN_Vindicator_Margras 1 500x1
+
+# builtin 29: 164 sites, 6 distinct values
+# values: 0 x64, 100 x53, 50 x38, 40 x6, 75 x2, 20 x1
+# units: 70 distinct, top: TCN001 x71, TCN002 x10, TCT207 x4, TCN008 x3, ADT108 x3, ADT109 x3, ADT103 x3, TCN003 x2, ADS151a x2, ADS151b x2
+# craft cross-tab (0 unresolved):
+# UN_f002_TCAF_DeltaSaber_W_Player 41 100x23, 0x18
+# UN_f001_TCAF_DeltaSaber_T 40 0x25, 100x15
+# UN_f002_TCAF_DeltaSaber_W 38 100x21, 0x16, 50x1
+# UN_f001_TCAF_DeltaSaber_T_Player 30 0x15, 100x15
+# UN_e010_ADAN_Attacker_S 18 50x18
+# UN_f202_TCAF_Cargo 14 50x8, 0x4, 100x2
+# UN_e201_ADAN_ISCMissile 9 100x8, 20x1
+# UN_n001_TTRL_Box 9 0x9
+# UN_e104_ADAN_Carrier 6 0x3, 100x3
+# UN_f003_TCAF_ArrowHead 5 50x5
+# UN_e001_ADAN_Elan_GR_Violeta 3 40x3
+# UN_e001_ADAN_Elan_GR 3 40x3
+# UN_e006_ADAN_Vindicator_MargrasF 3 0x3
+# UN_f004_TCAF_DeltaSaber_A_Player 2 0x1, 100x1
+# UN_f001_TCAF_DeltaSaber_T_EX5_el 2 0x1, 100x1
+# UN_f106_TCAF_Destroyer 2 50x2
+# UN_f105_TCAF_Cruiser 2 50x2
+# UN_be005_ADAN_SpaceFortress 1 0x1
+# UN_f101_TCAF_Acropolis 1 75x1
+# UN_f104_TCAF_Battleship 1 75x1
+# UN_f102_TCAF_LightCarrier 1 50x1
+# UN_e004_ADAN_ElanPlus_NF 1 50x1
+
+# builtin 101: 133 sites, 1 distinct values
+# values: - x133
+# units: 1 distinct, top: ? x133
+# craft cross-tab (133 unresolved):
diff --git a/docs/re/structures/isl-builtins.md b/docs/re/structures/isl-builtins.md
index 26d39f5..cd6cdb4 100644
--- a/docs/re/structures/isl-builtins.md
+++ b/docs/re/structures/isl-builtins.md
@@ -3,6 +3,9 @@
Status: ā
table encoding, calling convention and the `ScriptPhase` state layout;
ā
~135 of 147 handlers characterised from the disassembly; š” three resolved
only partially; ā the interpreter-command table is only partly recovered.
+ā
built-ins **26 / 29 / 101** are now named end to end (HP %, damage-taken %,
+broadcast invulnerability); š” **28** writes the matching damage-**dealt** field
+but its one consumer is a single weapon path ā see below.
Companion to [isl-bytecode](isl-bytecode.md) (the instruction encoding) and
[mission-phase-advance](../mission-phase-advance.md) (why phases hinge on these).
@@ -168,56 +171,269 @@ words**: a descriptor offset and the message id.
That fixes the id format as `0xED08 nn DE`, and the ids already known from other
work fit it: opcode 514 ā `00DE`, 803 ā `07DE`, 999 ā `0FDE`.
-š” The pump's arm for `0xED0802DE` does **not** apply an effect ā it walks the
+ā
**The pump's arm for `0xED0802DE` applies no effect itself** ā it walks the
unit's child list at `[unit+320]`/`[unit+324]` and **rebroadcasts** to each child
-as `0xED0902DE`. So `0xED08ā¦` is the to-unit family and `0xED09ā¦` the to-child
-one, and the terminal effect is one link further on. ā Not followed; 26/28/29
-remain unnamed.
+as `0xED0902DE`. So `0xED08ā¦` is the to-group family and `0xED09ā¦` the
+to-individual one. That link is now followed all the way to the effect ā see
+below.
-### š” Built-ins 26 / 28 / 29 are one family ā and `damage_unit` looks mis-named
+### ā
Built-ins 26 / 28 / 29 RESOLVED ā HP, damage dealt, damage taken
-Method-diffing put the structure beyond doubt but did not reach the semantics.
+The chain was followed end to end for all three, from the dispatch table to the
+field write. Nothing here is inferred from shape; every hop was read.
-| built-in | vtable slot | method | opcode | sites |
-|---|---|---|---|---|
-| 26 `damage_unit` | 76 | `sub_8226ACD0` (67) | **800** | 97 |
-| **28** | 84 | `sub_82268F98` (69) | **801** | 410 |
-| **29** | 88 | `sub_822690B0` (69) | **802** | 164 |
-| 101 | 276 | `sub_822691C8` (78) | 802 (broadcast) | 133 |
+| built-in | vtable slot | method | opcode | cmd word | interp thunk | opcode handler | to-group msg | to-child msg | arm | writes |
+|---|---|---|---|---|---|---|---|---|---|---|
+| **26** | 76 | `sub_8226ACD0` | 800 | `0xAB0320BA` | `0x822FF118` | `sub_823008C8` | `0xED0802DE` | `0xED0902DE` | `0x82398E8C` | `[unit+532]` = **HP** |
+| **28** | 84 | `sub_82268F98` | 801 | `0xAB0321BA` | `0x822FF120` | `sub_823009B8` | `0xED0803DE` | `0xED0903DE` | `0x8239926C` | `[unit+672]` |
+| **29** | 88 | `sub_822690B0` | 802 | `0xAB0322BA` | `0x822FF128` | `sub_82300AA8` | `0xED0804DE` | `0xED0904DE` | `0x823994C0` | `[unit+676]` |
-**28 and 29 differ in two words only** ā the opcode (`0x21BA` vs `0x22BA`) and a
-descriptor pointer 8 bytes apart. Otherwise instruction-identical. All three take
-`(unit, double)`.
+The cmd word decodes as `0xAB` `opcode:16` `0xBA`, which is the same encoding
+already recorded for 256 (`0xAB0100BA`), 513 (`0xAB0201BA`) and 996
+(`0xAB03E4BA`) ā `0x320/0x321/0x322` = 800/801/802.
-26 differs from both by one guard: it rejects only state 3, while **28 and 29
-reject states 1 and 3** (2 = active, 1/3/4 = gone/dead/invalid).
+Two links that the previous attempt did not have:
-#### The operand distributions separate them
+* the **to-group pump is `sub_8232C4C0`** (vtable `0x820AF1FC` slot 6), whose
+ arms at `0x8232C824` / `0x8232CB48` / `0x8232CC40` each walk the child list and
+ re-post with the `0xED09ā¦` id, copying the float from `[msg+36]` unchanged;
+* the **to-individual handler is `sub_82398CC0`** (vtable `0x820B192C` slot 6),
+ the entity base class. Its `0xED0902DE` arm is reached by a `sub.`/`cmplwi 0x8200`
+ pair rather than a `lis`+`ori` compare, which is why a constant scan for
+ `0xED0902DE` finds only the *sender*. That is worth remembering: **a
+ subtract-based compare hides the constant from any scan that pairs
+ `lis` with `ori`.**
-| built-in | n | distinct | range | most common |
-|---|---|---|---|---|
-| 26 | 97 | 7 | **[0, 100]** | **0 Ć69**, 80 Ć10, 100 Ć6 |
-| 28 | 410 | 13 | **[0, 2000]** | 200 Ć116, 120 Ć76, 300 Ć74 |
-| 29 | 164 | 6 | **[0, 100]** | **0 Ć64**, 100 Ć53, 50 Ć38 |
+#### ā
26 is `set_unit_hp_pct` ā NOT `damage_unit`
-26 and 29 are percentage-shaped; 28 is an absolute quantity an order of magnitude
-larger.
+`sub_8226ACD0` multiplies the double operand by the constant at `0x820C5688`,
+which is **0.01** ā so the operand is a percentage and the message carries a
+fraction. `0x82398E8C` then does, in its own terms:
-#### š” `damage_unit` (26) is doubtful
+```
+new = min( max(def.HP * frac, 0.0), def.HP ) ; def = [unit+496]
+[unit+532] = new
+if new < FLT_EPSILON and old > 0: ; crossed to zero
+ [unit+688] = 0.0 ; [unit+1340] = 1 ; [unit+692] = def.Delay
+```
-**69 of its 97 calls pass 0.** Dealing zero damage is a no-op, so 71 % of the
-call sites would do nothing. *Setting* a percentage-valued property to 0 is a
-perfectly natural thing to do 69 times, and 29 has the same shape (0 Ć64 of 164).
-The existing name predates this session and is not withdrawn, but it should not
-be relied on.
+Three independent facts pin the field:
-#### ā Where this stopped
+* `[unit+496]` is the **unit definition** ā the entity constructor
+ `sub_82393868` sets it from `sub_82348830` (the per-member definition
+ `std::map::find` already identified for built-in 15) at `0x82393BE4`;
+* `[def+84]` is **`HP`** in
+ `crates/sylpheed-formats/data/unit_definition_layout.txt`, and the same
+ constructor immediately does `[unit+532] = [def+84]` at `0x82393BF0` ā so
+ `+532` *is* current HP, seeded from the datasheet maximum;
+* the crossing branch loads **`[def+584]` = `Delay`** into `[unit+692]` and sets
+ a flag ā the destruction sequence. So a percentage of **0 destroys the unit**,
+ with the definition's own death delay.
-The three commands' descriptors sit at `0x820A8D10` / `+8` / `+16`. Following
-them lands on data pointing into `0x8210E5xx`, which is **below the disassembly
-DB's range** (it starts at `0x82150000`) and contains no code ā so that route
-does not reach an execute method. Reaching opcodes 800ā802's semantics needs the
-interpreter's command table, not the command objects.
+So the operand is *percent of maximum HP*, the write is absolute (a **set**, not
+a subtract), and `damage_unit` is withdrawn: 100 heals to full, which no
+"damage" primitive does.
+
+#### ā
29 is `set_unit_damage_taken_pct` ā `[unit+676]` scales incoming damage
+
+`[unit+672]` and `[unit+676]` are **both initialised to 1.0** by the entity
+constructor (`0x8239395C`/`0x82393964`, from the float at `0x8208583C`), so both
+are multipliers whose neutral value is 1.0 and which built-ins 28/29 set to
+`operand/100`.
+
+`[unit+676]` has **three independent readers**, and every one of them multiplies
+a damage amount immediately before it is subtracted from `[unit+532]`:
+
+| reader | what it computes |
+|---|---|
+| `0x8237B20C` in `sub_8237B020` (craft subclass `0x820B0A3C` slot 6, the `0xED0200DE` damage arm) | `dmg = [msg+36] Ć def.ResistanceToPlayer Ć [unit+676]` |
+| `0x823803A4` in `sub_823800A8` (another subclass's damage arm) | the same product |
+| `0x82399FFC` in `sub_82398CC0` (the base class's continuous-damage arm) | `dmg = def.HP Ć globalRate Ć t Ć [unit+676]`, then `[unit+532] -= dmg` |
+
+`def+128` is `ResistanceToPlayer` in the layout file, which is the second
+corroboration that the object is the entity and the quantity is damage.
+
+#### š” 28 sets `[unit+672]`, and its one consumer scales damage DEALT
+
+The write is certain and the field's default (1.0) is certain. The **label** is
+one link weaker than 29's, and this is the honest state:
+
+`[unit+672]` is read in **exactly one place** in the image ā
+`0x8237A44C`, inside `sub_823785A0`, which is vtable `0x820B0A3C` **slot 1**,
+i.e. the craft subclass's per-frame update. There it is copied into a 240-byte
+projectile spawn record at `+100`; `sub_8238F4D0` turns that record into a
+projectile with `[proj+300] = [rec+100]`; and `sub_8238FE10` builds the
+`0xED0200DE` damage message with **`[msg+36] = [proj+300] Ć charge Ć globalScale`**
+ā the same `[msg+36]` that the readers above multiply by the *target's* `+676`.
+
+So the two fields are the two ends of one damage product: **`+672` on the
+shooter, `+676` on the target.** That is a tidy story and it is exactly the
+shape that has produced wrong names in this file before, so it is š” and not ā
.
+
+ā **What is not established**: that `+672` reaches *every* weapon. The one read
+site is on a charged-shot path (`[unit+2244]` is a charge accumulator compared
+against thresholds, `[unit+2268]` the resulting power), and the other damage
+sender in the same family, `sub_82388FF8`, computes
+`dmg = ammo.base Ć [proj+268] Ć k` with **no `+672` term at all**. Either the
+craft update funnels all firing through this one spawn, or `+672` scales only
+some weapons. Not settled.
+
+#### ā
The operand-range test discriminates the three
+
+All three built-ins have the identical signature `(unit, double)` and the
+identical `Ć 0.01` conversion, so an operand ceiling is a real measurement rather
+than a coincidence:
+
+| built-in | n | distinct | min | max | inside [0, 100] |
+|---|---|---|---|---|---|
+| 26 | 97 | 7 | 0 | **100** | **97 / 97** |
+| 29 | 164 | 6 | 0 | **100** | **164 / 164** |
+| 28 | 410 | 13 | 0.1 | **2000** | 42 / 410 |
+
+26 and 29 respect a hard 100 ceiling ā they are percentages of something with a
+natural maximum (HP; and "no more damage than normal"). 28 does not: it is a
+free multiplier that reaches 20Ć. š” Note that 29 therefore **only ever makes a
+unit tougher**, never more fragile.
+
+#### ā
The craft cross-tab ā the same test that settled built-in 15
+
+Joining every call site to its squadron's craft through `UnitGroup_S.tbl`
+resolves **671 of 671** sites (26 + 28 + 29), none unknown. Full dump in
+[`data/isl-builtins-26-28-29-sites.txt`](../data/isl-builtins-26-28-29-sites.txt).
+
+**26** splits into three groups with nothing in between:
+
+| group | craft (sites) | values |
+|---|---|---|
+| disposable objects | `e201_ISCMissile` 17, `n001_TTRL_Box` 16, `f202_Cargo` 9, `e015_Puppy(_2)` 10, `mn500_FloatingMine` 3, `e011_Attacker_B` 2 | **0, and only 0** |
+| warships | `e106_Destroyer` 8, `f106_Destroyer` 8, `f105_Cruiser` 5, `e108_ASFrigate` 4, `e105_Cruiser` 2, `f101_Acropolis` 1 | 30 / 50 / 60 / 80 |
+| the player's craft in a tutorial | `..._Player_Ttrl1/2`, `..._T_Ttrl` (8) | **100** Ć7, 40 Ć1 |
+
+Scripted removal of props, pre-damaged capital-ship spawns, and healing the
+player to full at the start of a tutorial section ā one field, three uses, and
+no other reading covers all three.
+
+**29** is dominated by the ships the mission must protect:
+
+| craft (sites) | values |
+|---|---|
+| player + wingman `DeltaSaber` variants (`_T`, `_W`, `_A`, `_Player`) 113 | **0** and **100**, alternating |
+| `n001_TTRL_Box` 9 | **0** only |
+| escorted TCAF hulls ā `f202_Cargo` 14, `f106_Destroyer` 2, `f105_Cruiser` 2, `f104_Battleship` 1, `f102_LightCarrier` 1, `f101_Acropolis` 1 | 50 / 75 |
+| named ADAN aces ā `e001_Elan_GR`, `_GR_Violeta` 6; `e010_Attacker_S` 18 | 40 / 50 |
+
+**28** stratifies by combat class and is applied almost only to ADAN craft:
+
+| class | craft (sites) | value |
+|---|---|---|
+| named bosses | `e003_ElanPlus_Margras` 4, `e005_ElanTypeQ_Margras` 1 | **2000** |
+| named aces | `e001_Elan_GR(_Violeta)` 6, `e013_ElanPlus_Taskent` 2 | **1000** |
+| elite fighters | `e004_ElanPlus_N` 19, `e009_Phantom` 16, `e002_Elan_N` 9, `e011_Attacker_B_HF` 3 | **500ā600** |
+| line fighters | `e001_Elan` 24, `e010_Attacker_S` 21, `e011_Attacker_B` 6 | 200ā300 |
+| capital hulls | `e106_Destroyer` 105, `e104_Carrier` 55, `e105_CruiserEX` 52, `e102_BattleshipEX` 26 | 100ā300 |
+| background props | `f106_Destroyer_Inv`, `f102_LightCarrier_Inv`, `f101_Acropolis`, `f105_Cruiser` (5) | **0.1** |
+
+A monotone boss > ace > elite > line > prop ordering is what a firepower knob
+looks like. š” It is also what several other knobs would look like, which is why
+the name stays PROBABLE and rests on the disassembly link above rather than on
+this table.
+
+#### ā
The idiom that ties all three together
+
+The per-unit setup block that follows every deployment reads, e.g. Stage 06
+phase 3 at `0x0119AC` (from
+[`data/isl-builtins-26-28-29-sites.txt`](../data/isl-builtins-26-28-29-sites.txt)):
+
+```
+activate_unit(TCN001) set_group_speed(TCN001, 400) 29(TCN001, 0)
+activate_unit(TCN002) set_group_speed(TCN002, 400) 29(TCN002, 0) 28(TCN002, 50)
+activate_unit(TCN003) set_group_speed(TCN003, 400)
+... 26(TCN306, 50)
+```
+
+`15 / 29 / 28` is a **speed / toughness / firepower trio**, each a percentage
+override of the craft's datasheet, applied immediately after `activate_unit`;
+`26` joins it wherever a unit should arrive pre-damaged.
+
+And the scripted-drama use is unambiguous. Stage 06 makes the wingman flight
+TCN002 invulnerable at phase start (`29(TCN002, 0)`), then walks its HP down as
+the voice lines fire:
+
+```
+0x01A7B0 26(TCN002, 80) -> request_script_message(MSG_VOICE_D_065)
+0x01AAA0 26(TCN002, 50) -> request_script_message(MSG_VOICE_D_069)
+0x01ACEC 26(TCN002, 30)
+```
+
+You would only combine those two built-ins that way if they meant exactly "this
+unit cannot be hurt by combat" and "set this unit's HP to N %".
+
+#### ā
Refutation attempts, and what they found
+
+Recorded because two of them turned into confirmations.
+
+* **"26 kills a unit the mission still needs."** Over all 28 stages there are
+ 200 (stage, unit) pairs where a predicate on `u` follows a `26(u, 0)` in file
+ order. Every one inspected is a `unit_alive` / `unit_state` / `hp_pct_test`
+ **poll waiting for that death** ā which is what a scripted kill implies, not a
+ contradiction. Not a counterexample, but the count is recorded rather than
+ hidden.
+* **"29 makes a unit invulnerable that the player is required to destroy."**
+ The nine `n001_TTRL_Box` targets in Stage 28 do get `29(box, 0)`. They are
+ then destroyed by **`26(box, 0)`** later in the same file ā nine boxes, nine
+ pairs, invulnerability first (offsets 0x2E4Cā0x48C8) and the scripted removal
+ second (0x50F8ā0x5FA0). The tutorial target cannot be shot down; the script
+ removes it when the lesson ends. The counterexample became a confirmation.
+* **"28 is applied to something with no weapons."** Of the 35 craft classes it
+ touches, none is an unarmed prop ā no asteroid, box, cargo or mine ever
+ receives 28, while 26 and 29 both do. The only near-miss is the four
+ `ā¦_Inv` / background hulls at 0.1, i.e. deliberately harmless.
+* **"`+672`/`+676` have another consumer that contradicts damage."** Searched
+ every `lfs`/`stfs`/`addi`/`lfsx` reference to offsets 672 and 676 across the
+ whole `.text`, then filtered by base register. **No further entity-side reader
+ of either exists.** ā ļø The search also produced the trap this file keeps
+ warning about: `sub_8238E0F0` writes `676(r3)` and `sub_82389558` reads
+ `672(r31)`, but in both `r3`/`r31` is a **projectile**, which has its own
+ fields at those offsets. Three of the five "extra readers" the raw offset
+ search returned were that mistake.
+* **What I could not refute and could not confirm**: that `+672` reaches every
+ weapon (see the ā above).
+
+#### ā
Bonus: built-in 101 is `all_units_invulnerable`
+
+`sub_822691C8` is 29's **broadcast** twin ā same descriptor `0x820A8D20`, same
+opcode 802 ā but it takes **no operand**: the float it sends is the constant at
+`0x8209FD28`, which is **0.0**, and it loops over the phase's whole unit array
+posting `0xED0804DE` to each live entry.
+
+The usage confirms it. All **133** sites sit in one fixed phase-teardown idiom,
+with no exceptions:
+
+```
+builtin116(0) -> builtin101 -> reset_phase_threads -> timer_stop -> clear_flag(-1) -> builtin118
+```
+
+133/133 preceded by 116 and 133/133 followed by 100. Freezing all damage is
+exactly the first step of tearing a phase down, and no other reading of "post
+0.0 to every unit" fits a teardown.
+
+#### ā Two corrections to this file's earlier entries
+
+* **The state guards were mis-stated.** Read directly: **26 rejects states 3 and
+ 4**; **28 and 29 reject 1, 3 and 4**. This file said 26 rejects "only state 3"
+ and 28/29 "states 1 and 3". So 26 alone will still act on a state-1 unit.
+* **"28 is an absolute quantity, 26 and 29 are percentage-shaped"** was half
+ right for the wrong reason. All three are percentages of *something*; only 26
+ and 29 are percentages of a thing with a ceiling.
+
+#### šļø The route that failed, kept
+
+The three commands' descriptors at `0x820A8D10` / `+8` / `+16` are **vtables**,
+not data: slot 0 of each is `0x82301C20` and slot 1 points into `0x8210E5xx`,
+below the disassembly DB's range. Chasing them still leads nowhere. The route
+that works is the one this file already recommended ā the **interpreter command
+table** ā `0x822FF118/120/128` ā the three opcode handlers ā and from there the
+**unit-message pump**, which is the part that was missing.
### ā
Built-in 108 is `deploy_squadron_ex` ā `deploy_squadron` plus a `1 << n` selector
diff --git a/tools/re-capture/isl.py b/tools/re-capture/isl.py
index 448ed94..b6cac11 100755
--- a/tools/re-capture/isl.py
+++ b/tools/re-capture/isl.py
@@ -92,7 +92,11 @@ BUILTIN = {
13: 'play_se', 14: 'play_bgm',
15: 'set_group_speed',
17: 'wait_frames', 18: 'dist_lt', 20: 'hp_pct_test', 24: 'squad_survival_pct',
- 26: 'damage_unit', 30: 'objective_marker', 31: 'objective_marker_at_route',
+ 26: 'set_unit_hp_pct',
+ # 28's field and default (1.0) are certain; the LABEL rests on a single
+ # consumer, so it is PROBABLE, not confirmed. See isl-builtins.md.
+ 28: 'set_unit_damage_dealt_pct', 29: 'set_unit_damage_taken_pct',
+ 30: 'objective_marker', 31: 'objective_marker_at_route',
33: 'global_counter0', 34: 'global_counter1', 36: 'screen_fade',
39: 'MARK_LAST_PHASE', 40: 'mark_not_last', 43: 'play_voice',
45: 'play_voice_vol', 46: 'squadron_trace', 47: 'squadron_attack',
@@ -109,8 +113,13 @@ BUILTIN = {
77: 'banner_mission_start', 78: 'banner_mission_complete',
81: 'banner_objective_update', 82: 'banner_mission_failed',
135: 'banner_mission_restart',
+ # 93 is `stopwatch_stop`, not the older `clear_flag`: 8/9/93 were renamed to
+ # stopwatch_start/_elapsed/_stop once the reading landed (isl-timers.md says
+ # of the old trio "the names predate the reading"). The branch that still
+ # called it `clear_flag` simply forked before that rename.
93: 'stopwatch_stop', 94: 'is_engaged', 95: 'unit_hp_pct', 100: 'reset_phase_threads',
- 102: 'prompt_yes_no', 104: 'request_next', 108: 'deploy_squadron_ex',
+ 101: 'all_units_invulnerable', 102: 'prompt_yes_no', 104: 'request_next',
+ 108: 'deploy_squadron_ex',
109: 'set_unit_flags', 115: 'named_event',
120: 'wait_cmds_drained', 123: 'timer_resume', 124: 'timer_stop',
125: 'timer_reset', 126: 'timer_elapsed', 127: 'timer_set',
diff --git a/tools/re-capture/isl_builtin_sites.py b/tools/re-capture/isl_builtin_sites.py
new file mode 100644
index 0000000..f5e0002
--- /dev/null
+++ b/tools/re-capture/isl_builtin_sites.py
@@ -0,0 +1,171 @@
+#!/usr/bin/env python3
+"""Every call site of one or more ISL built-ins, across all `StageNN.ssb`.
+
+Pure static work ā reads the extracted scripts, runs no emulator.
+
+ python3 tools/re-capture/isl_builtin_sites.py 26,28,29 --ssb
+ python3 tools/re-capture/isl_builtin_sites.py 101 --ctx 3 --ssb
+ python3 tools/re-capture/isl_builtin_sites.py 28 --craft
+
+Why this exists rather than `isl.py --calls`: naming a built-in needs the
+OPERANDS and the NEIGHBOURS, not just a histogram of ids. `isl.py --calls`
+scans on the encoding and so cannot see the `local[]` staging that carries a
+call's arguments, and `isl.py dis` has to be re-synchronised by hand for each
+site.
+
+The walk here is a straight linear decode of the whole code region, from the
+header's code offset (`+0x08`) to the symbol-table-1 offset (`+0x0C`, which is
+where the code ends). That is safe: **measured on all 28 stages, the linear walk
+lands on every call site the independent encoding scan finds** (Stage02:
+2846/2846), so no call is skipped and no false instruction boundary is invented.
+
+Columns are tab-separated:
+
+ stage offset builtin slot8 slot4-name slot4-raw symtype before after
+
+`slot4` is the unit operand (a symbol-table-2 index; see isl.py for why the unit
+sits at slot 4 and slot 0 is a tag word) and `slot8` is the second operand,
+which is a bare double for the built-ins this was written for. `before`/`after`
+are the ids of the neighbouring calls, which is what makes a fixed idiom ā
+`116 -> 101 -> 100 -> 124 -> 93` ā visible.
+
+With `--craft ` (the output of `unitgroup.py --all`) it also cross-tabs
+value against the squadron's craft type, which is the test that separated
+built-in 15's classes and separates these three.
+"""
+import argparse
+import collections
+import glob
+import os
+import re
+import struct
+import sys
+
+sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
+import isl # noqa: E402
+
+
+def walk(b):
+ """Yield `(offset, builtin_id, staged)` for every call in the code region.
+
+ `staged` is the `local[]` slot -> value map as it stood when the call
+ executed, i.e. the call's arguments. Both staging forms matter:
+ `local[i] = special[0]` after an immediate, and the far commoner
+ `local[i] = immediate` written straight in.
+ """
+ code_base = struct.unpack_from('>I', b, 0x08)[0]
+ code_end = struct.unpack_from('>I', b, 0x0C)[0]
+ off, staged, pending = code_base, {}, None
+ while off + 4 <= code_end:
+ w = struct.unpack_from('>I', b, off)[0]
+ op, ln = w & 0xFF, (w >> 8) & 0xFF
+ k1, k0 = (w >> 24) & 0xFF, (w >> 16) & 0xFF
+ if ln == 0 or ln % 4:
+ break
+ words = [struct.unpack_from('>I', b, off + i)[0]
+ for i in range(4, max(ln, 4), 4) if off + i + 4 <= len(b)]
+ if op in (0, 1) and len(words) >= 2:
+ if k0 == 2 and k1 == 1:
+ pending = _imm(op, words)
+ elif k0 == 3 and k1 == 2 and pending is not None:
+ staged[words[0]] = pending
+ elif k0 == 3 and k1 == 1:
+ staged[words[0]] = _imm(op, words)
+ if op == 19 and words:
+ yield off, words[0], dict(staged)
+ staged = {}
+ off += ln
+
+
+def _imm(op, words):
+ """An `op 1` immediate is a DOUBLE carried as two words, not a float."""
+ if op == 1:
+ lo = words[2] if len(words) > 2 else 0
+ return struct.unpack('>d', struct.pack('>II', words[1], lo))[0]
+ return words[1]
+
+
+def _fmt(v):
+ if v is None:
+ return '-'
+ return ('%g' % v) if isinstance(v, float) else '0x%X' % v
+
+
+def load_craft(path):
+ """{stage: {squadron: [craft, ...]}} from `unitgroup.py --all` output."""
+ out, stage, squad = collections.defaultdict(dict), None, None
+ for line in open(path):
+ m = re.match(r'^(S\d\d):', line)
+ if m:
+ stage = m.group(1)
+ continue
+ m = re.match(r'^ (\S+)\s+\S+\s+Count=', line)
+ if m:
+ squad = m.group(1)
+ out[stage][squad] = []
+ continue
+ m = re.match(r'^ unit=(\S+)', line)
+ if m and squad:
+ out[stage][squad].append(m.group(1))
+ return out
+
+
+def main():
+ ap = argparse.ArgumentParser()
+ ap.add_argument('ids', help='comma-separated built-in ids')
+ ap.add_argument('--ssb', default='.', help='directory holding StageNN.ssb')
+ ap.add_argument('--ctx', type=int, default=2, help='neighbour calls to show')
+ ap.add_argument('--craft', help='unitgroup.py --all output, for the cross-tab')
+ a = ap.parse_args()
+
+ ids = {int(x) for x in a.ids.split(',')}
+ craft = load_craft(a.craft) if a.craft else None
+ vals = collections.defaultdict(collections.Counter)
+ units = collections.defaultdict(collections.Counter)
+ cross = collections.defaultdict(lambda: collections.defaultdict(collections.Counter))
+ unresolved = collections.Counter()
+
+ for path in sorted(glob.glob(os.path.join(a.ssb, 'Stage*.ssb'))):
+ stage = os.path.basename(path)[:-4]
+ b = isl.load(path)
+ sym2 = isl.symbols(b, 2)
+ calls = list(walk(b))
+ for i, (off, bid, staged) in enumerate(calls):
+ if bid not in ids:
+ continue
+ uidx = staged.get(4)
+ typ, name = sym2.get(uidx, (None, '?')) if isinstance(uidx, int) \
+ else (None, '?')
+ val = _fmt(staged.get(8))
+ print('%s\t0x%06X\t%d\t%s\t%s\t%s\ttype%s\t[%s]\t[%s]' % (
+ stage, off, bid, val, name,
+ ('0x%X' % uidx) if isinstance(uidx, int) else uidx, typ,
+ ','.join(str(calls[j][1]) for j in range(max(0, i - a.ctx), i)),
+ ','.join(str(calls[j][1])
+ for j in range(i + 1, min(len(calls), i + 1 + a.ctx)))))
+ vals[bid][val] += 1
+ units[bid][name] += 1
+ if craft is not None:
+ cs = craft.get('S' + stage[-2:], {}).get(name)
+ if cs:
+ for c in set(cs):
+ cross[bid][c][val] += 1
+ else:
+ unresolved[bid] += 1
+
+ for bid in sorted(ids):
+ n = sum(vals[bid].values())
+ print('\n# builtin %d: %d sites, %d distinct values' % (bid, n, len(vals[bid])))
+ print('# values: ' + ', '.join('%s x%d' % kv for kv in vals[bid].most_common()))
+ print('# units: %d distinct, top: %s' % (
+ len(units[bid]), ', '.join('%s x%d' % kv for kv in units[bid].most_common(10))))
+ if craft is not None:
+ print('# craft cross-tab (%d unresolved):' % unresolved[bid])
+ for c in sorted(cross[bid], key=lambda c: -sum(cross[bid][c].values())):
+ print('# %-42s %4d %s' % (
+ c, sum(cross[bid][c].values()),
+ ', '.join('%sx%d' % kv for kv in cross[bid][c].most_common())))
+
+
+if __name__ == '__main__':
+ main()