aboutsummaryrefslogtreecommitdiff
path: root/research
diff options
context:
space:
mode:
Diffstat (limited to 'research')
-rw-r--r--research/bad-bruteforcing/attempt-1.txt54
-rw-r--r--research/bad-bruteforcing/grouped/allzone-sequence.txt256
-rw-r--r--research/bad-bruteforcing/grouped/melody-16-vol3-once-zone-all.txt256
-rw-r--r--research/bad-bruteforcing/grouped/melody15-repeat3-zone8-volume-increments.txt7
-rw-r--r--research/bad-bruteforcing/grouped/melody15-vol3-repeat2-zone16-sequecnce.txt256
-rw-r--r--research/bad-bruteforcing/grouped/melody15-vol3-repeat2-zone8-sequence.txt256
-rw-r--r--research/bad-bruteforcing/grouped/melody15-vol3-zone8-repeat-increments.txt5
-rw-r--r--research/bad-bruteforcing/grouped/melody16-vol3-repeat2-zone-all-sequence.txt256
-rw-r--r--research/bad-bruteforcing/grouped/stop-zone-all-partial-sequence.txt33
-rw-r--r--research/bad-bruteforcing/random-captures.txt160
-rw-r--r--research/bad-bruteforcing/reveng-formatted/allzone-sequence.txt256
-rw-r--r--research/bad-bruteforcing/reveng-formatted/melody-16-vol3-once-zone-all.txt256
-rw-r--r--research/bad-bruteforcing/reveng-formatted/melody15-repeat3-zone8-volume-increments.txt7
-rw-r--r--research/bad-bruteforcing/reveng-formatted/melody15-vol3-repeat2-zone16-sequecnce.txt256
-rw-r--r--research/bad-bruteforcing/reveng-formatted/melody15-vol3-repeat2-zone8-sequence.txt256
-rw-r--r--research/bad-bruteforcing/reveng-formatted/melody15-vol3-zone8-repeat-increments.txt5
-rw-r--r--research/bad-bruteforcing/reveng-formatted/melody16-vol3-repeat2-zone-all-sequence.txt256
-rw-r--r--research/bad-bruteforcing/reveng-formatted/stop-zone-all-partial-sequence.txt33
-rw-r--r--research/bad-bruteforcing/sequence.txt256
-rw-r--r--research/executables/bulk_checksum_verifier.py0
-rw-r--r--research/executables/calculate_packet_checksum.py0
-rw-r--r--research/executables/claude-ai-slop/checksum_bruteforce.py367
-rw-r--r--research/executables/claude-ai-slop/mel_checksum_cracker.py319
-rw-r--r--research/executables/claude-ai-slop/mel_protocol_checksum_analyzer.py231
-rw-r--r--research/executables/claude-ai-slop/pattern_finder.py229
-rw-r--r--research/firmware-strings/HARMONY-TRIO.txt3
-rw-r--r--research/firmware-strings/TRIO.md122
27 files changed, 4383 insertions, 8 deletions
diff --git a/research/bad-bruteforcing/attempt-1.txt b/research/bad-bruteforcing/attempt-1.txt
index 5a52303..b859fac 100644
--- a/research/bad-bruteforcing/attempt-1.txt
+++ b/research/bad-bruteforcing/attempt-1.txt
@@ -1,6 +1,48 @@
-Changeing Volume :
-4d454c0021010004ff300180000000000000000000000000010202010f010001ff
-fa
-fa
-4d454c0021010004ff300180000000000000000000000000010102010f010001fa
-4d454c0021010004ff300180000000000000000000000000010102010f010001fa
+Universal Stop, system officially doesnt support stopping individual Zones so I technically dont care too much about its checksum :
+4d454c001a01002dff5002ffffffffffffffffffffffff0f0118
+
+What happens when sequence number rolls over :
+4d454c00210100ffff300180000000000000000000000000010302010f010000f5
+4d454c0021010000ff300180000000000000000000000000010302010f010001f4
+4d454c0021010001ff300180000000000000000000000000010302010f010001fb
+
+
+Tests using Sequence 00 (mostly) :
+
+Repeat Increments for Melody 15 in Zone 8 at Volume 3 and bruteforced Checksums:
+4d454c0021010000ff300180000000000000000000000000010301010f010001f3
+4d454c0021010000ff300180000000000000000000000000010302010f010001f4
+4d454c0021010000ff300180000000000000000000000000010303010f010001f5
+4d454c0021010000ff300180000000000000000000000000010304010f010001f6
+4d454c0021010000ff300180000000000000000000000000010305010f010001f7
+
+
+Volume Increments for Melody 15 in Zone 8 with 3 Repetitions and bruteforced Checksum:
+4d454c0021010000ff300180000000000000000000000000010103010f010001f3
+4d454c0021010000ff300180000000000000000000000000010203010f010001f1
+4d454c0021010000ff300180000000000000000000000000010303010f010001f5
+4d454c0021010000ff300180000000000000000000000000010403010f010001f4
+4d454c0021010000ff300180000000000000000000000000010503010f010001f7
+4d454c0021010000ff300180000000000000000000000000010603010f010001f6
+4d454c0021010000ff300180000000000000000000000000010703010f010001c9
+
+Changign Zones from 8 to 8 and 16 :
+4d454c0021010000ff300180800000000000000000000000010103010f01000173
+
+Melody 1 in Zone 8 and 16 only once at Volume one Sequence Number 2:
+4d454c0021010002ff30018080000000000000000000000001010101010100014d
+
+Melody 1 in Zone 1 once at Volume one Sequence Number 3 :
+4d454c0021010003ff300101000000000000000000000000010101010101000149
+
+Meoldy 1 in Zone 8 and 16 only once at Volume one Sequencence Number 0:
+4d454c0021010000ff300180800000000000000000000000010101010101000143
+
+Melody 1 in Zone 1 once at Volume one Sequencey Number 0 Repetition Increments:
+4d454c0021010000ff300101000000000000000000000000010101010101000144
+4d454c0021010000ff300101000000000000000000000000010102010101000143
+4d454c0021010000ff300101000000000000000000000000010102010101000142
+
+Melody 1 in Zone 1 once at Volume 2 Sequence Number 0 Volume increments :
+4d454c0021010000ff300101000000000000000000000000010101010101000144
+4d454c0021010000ff300101000000000000000000000000010201010101000145 \ No newline at end of file
diff --git a/research/bad-bruteforcing/grouped/allzone-sequence.txt b/research/bad-bruteforcing/grouped/allzone-sequence.txt
new file mode 100644
index 0000000..c85b0b3
--- /dev/null
+++ b/research/bad-bruteforcing/grouped/allzone-sequence.txt
@@ -0,0 +1,256 @@
+4d454c0021010000ff3001ffffffffffffffffffffffff0f01030201100100015e
+4d454c0021010001ff3001ffffffffffffffffffffffff0f010302011001000151
+4d454c0021010002ff3001ffffffffffffffffffffffff0f010302011001000150
+4d454c0021010003ff3001ffffffffffffffffffffffff0f010302011001000153
+4d454c0021010004ff3001ffffffffffffffffffffffff0f010302011001000152
+4d454c0021010005ff3001ffffffffffffffffffffffff0f010302011001000155
+4d454c0021010006ff3001ffffffffffffffffffffffff0f010302011001000154
+4d454c0021010007ff3001ffffffffffffffffffffffff0f010302011001000157
+4d454c0021010008ff3001ffffffffffffffffffffffff0f010302011001000156
+4d454c0021010009ff3001ffffffffffffffffffffffff0f010302011001000149
+4d454c002101000aff3001ffffffffffffffffffffffff0f010302011001000148
+4d454c002101000bff3001ffffffffffffffffffffffff0f01030201100100014b
+4d454c002101000cff3001ffffffffffffffffffffffff0f01030201100100014a
+4d454c002101000dff3001ffffffffffffffffffffffff0f01030201100100014d
+4d454c002101000eff3001ffffffffffffffffffffffff0f01030201100100014c
+4d454c002101000fff3001ffffffffffffffffffffffff0f01030201100100014f
+4d454c0021010010ff3001ffffffffffffffffffffffff0f01030201100100014e
+4d454c0021010011ff3001ffffffffffffffffffffffff0f010302011001000141
+4d454c0021010012ff3001ffffffffffffffffffffffff0f010302011001000140
+4d454c0021010013ff3001ffffffffffffffffffffffff0f010302011001000143
+4d454c0021010014ff3001ffffffffffffffffffffffff0f010302011001000142
+4d454c0021010015ff3001ffffffffffffffffffffffff0f010302011001000145
+4d454c0021010016ff3001ffffffffffffffffffffffff0f010302011001000144
+4d454c0021010017ff3001ffffffffffffffffffffffff0f010302011001000147
+4d454c0021010018ff3001ffffffffffffffffffffffff0f010302011001000146
+4d454c0021010019ff3001ffffffffffffffffffffffff0f010302011001000179
+4d454c002101001aff3001ffffffffffffffffffffffff0f010302011001000178
+4d454c002101001bff3001ffffffffffffffffffffffff0f01030201100100017b
+4d454c002101001cff3001ffffffffffffffffffffffff0f01030201100100017a
+4d454c002101001dff3001ffffffffffffffffffffffff0f01030201100100017d
+4d454c002101001eff3001ffffffffffffffffffffffff0f01030201100100017c
+4d454c002101001fff3001ffffffffffffffffffffffff0f01030201100100017f
+4d454c0021010020ff3001ffffffffffffffffffffffff0f01030201100100017e
+4d454c0021010021ff3001ffffffffffffffffffffffff0f010302011001000171
+4d454c0021010022ff3001ffffffffffffffffffffffff0f010302011001000170
+4d454c0021010023ff3001ffffffffffffffffffffffff0f010302011001000173
+4d454c0021010024ff3001ffffffffffffffffffffffff0f010302011001000172
+4d454c0021010025ff3001ffffffffffffffffffffffff0f010302011001000175
+4d454c0021010026ff3001ffffffffffffffffffffffff0f010302011001000174
+4d454c0021010027ff3001ffffffffffffffffffffffff0f010302011001000177
+4d454c0021010028ff3001ffffffffffffffffffffffff0f010302011001000176
+4d454c0021010029ff3001ffffffffffffffffffffffff0f010302011001000169
+4d454c002101002aff3001ffffffffffffffffffffffff0f010302011001000168
+4d454c002101002bff3001ffffffffffffffffffffffff0f01030201100100016b
+4d454c002101002cff3001ffffffffffffffffffffffff0f01030201100100016a
+4d454c002101002dff3001ffffffffffffffffffffffff0f01030201100100016d
+4d454c002101002eff3001ffffffffffffffffffffffff0f01030201100100016c
+4d454c002101002fff3001ffffffffffffffffffffffff0f01030201100100016f
+4d454c0021010030ff3001ffffffffffffffffffffffff0f01030201100100016e
+4d454c0021010031ff3001ffffffffffffffffffffffff0f010302011001000161
+4d454c0021010032ff3001ffffffffffffffffffffffff0f010302011001000160
+4d454c0021010033ff3001ffffffffffffffffffffffff0f010302011001000163
+4d454c0021010034ff3001ffffffffffffffffffffffff0f010302011001000162
+4d454c0021010035ff3001ffffffffffffffffffffffff0f010302011001000165
+4d454c0021010036ff3001ffffffffffffffffffffffff0f010302011001000164
+4d454c0021010037ff3001ffffffffffffffffffffffff0f010302011001000167
+4d454c0021010038ff3001ffffffffffffffffffffffff0f010302011001000166
+4d454c0021010039ff3001ffffffffffffffffffffffff0f010302011001000119
+4d454c002101003aff3001ffffffffffffffffffffffff0f010302011001000118
+4d454c002101003bff3001ffffffffffffffffffffffff0f01030201100100011b
+4d454c002101003cff3001ffffffffffffffffffffffff0f01030201100100011a
+4d454c002101003dff3001ffffffffffffffffffffffff0f01030201100100011d
+4d454c002101003eff3001ffffffffffffffffffffffff0f01030201100100011c
+4d454c002101003fff3001ffffffffffffffffffffffff0f01030201100100011f
+4d454c0021010040ff3001ffffffffffffffffffffffff0f01030201100100011e
+4d454c0021010041ff3001ffffffffffffffffffffffff0f010302011001000111
+4d454c0021010042ff3001ffffffffffffffffffffffff0f010302011001000110
+4d454c0021010043ff3001ffffffffffffffffffffffff0f010302011001000113
+4d454c0021010044ff3001ffffffffffffffffffffffff0f010302011001000112
+4d454c0021010045ff3001ffffffffffffffffffffffff0f010302011001000115
+4d454c0021010046ff3001ffffffffffffffffffffffff0f010302011001000114
+4d454c0021010047ff3001ffffffffffffffffffffffff0f010302011001000117
+4d454c0021010048ff3001ffffffffffffffffffffffff0f010302011001000116
+4d454c0021010049ff3001ffffffffffffffffffffffff0f010302011001000109
+4d454c002101004aff3001ffffffffffffffffffffffff0f010302011001000108
+4d454c002101004bff3001ffffffffffffffffffffffff0f01030201100100010b
+4d454c002101004cff3001ffffffffffffffffffffffff0f01030201100100010a
+4d454c002101004dff3001ffffffffffffffffffffffff0f01030201100100010d
+4d454c002101004eff3001ffffffffffffffffffffffff0f01030201100100010c
+4d454c002101004fff3001ffffffffffffffffffffffff0f01030201100100010f
+4d454c0021010050ff3001ffffffffffffffffffffffff0f01030201100100010e
+4d454c0021010051ff3001ffffffffffffffffffffffff0f010302011001000101
+4d454c0021010052ff3001ffffffffffffffffffffffff0f010302011001000100
+4d454c0021010053ff3001ffffffffffffffffffffffff0f010302011001000103
+4d454c0021010054ff3001ffffffffffffffffffffffff0f010302011001000102
+4d454c0021010055ff3001ffffffffffffffffffffffff0f010302011001000105
+4d454c0021010056ff3001ffffffffffffffffffffffff0f010302011001000104
+4d454c0021010057ff3001ffffffffffffffffffffffff0f010302011001000107
+4d454c0021010058ff3001ffffffffffffffffffffffff0f010302011001000106
+4d454c0021010059ff3001ffffffffffffffffffffffff0f010302011001000139
+4d454c002101005aff3001ffffffffffffffffffffffff0f010302011001000138
+4d454c002101005bff3001ffffffffffffffffffffffff0f01030201100100013b
+4d454c002101005cff3001ffffffffffffffffffffffff0f01030201100100013a
+4d454c002101005dff3001ffffffffffffffffffffffff0f01030201100100013d
+4d454c002101005eff3001ffffffffffffffffffffffff0f01030201100100013c
+4d454c002101005fff3001ffffffffffffffffffffffff0f01030201100100013f
+4d454c0021010060ff3001ffffffffffffffffffffffff0f01030201100100013e
+4d454c0021010061ff3001ffffffffffffffffffffffff0f010302011001000131
+4d454c0021010062ff3001ffffffffffffffffffffffff0f010302011001000130
+4d454c0021010063ff3001ffffffffffffffffffffffff0f010302011001000133
+4d454c0021010064ff3001ffffffffffffffffffffffff0f010302011001000132
+4d454c0021010065ff3001ffffffffffffffffffffffff0f010302011001000135
+4d454c0021010066ff3001ffffffffffffffffffffffff0f010302011001000134
+4d454c0021010067ff3001ffffffffffffffffffffffff0f010302011001000137
+4d454c0021010068ff3001ffffffffffffffffffffffff0f010302011001000136
+4d454c0021010069ff3001ffffffffffffffffffffffff0f010302011001000129
+4d454c002101006aff3001ffffffffffffffffffffffff0f010302011001000128
+4d454c002101006bff3001ffffffffffffffffffffffff0f01030201100100012b
+4d454c002101006cff3001ffffffffffffffffffffffff0f01030201100100012a
+4d454c002101006dff3001ffffffffffffffffffffffff0f01030201100100012d
+4d454c002101006eff3001ffffffffffffffffffffffff0f01030201100100012c
+4d454c002101006fff3001ffffffffffffffffffffffff0f01030201100100012f
+4d454c0021010070ff3001ffffffffffffffffffffffff0f01030201100100012e
+4d454c0021010071ff3001ffffffffffffffffffffffff0f010302011001000121
+4d454c0021010072ff3001ffffffffffffffffffffffff0f010302011001000120
+4d454c0021010073ff3001ffffffffffffffffffffffff0f010302011001000123
+4d454c0021010074ff3001ffffffffffffffffffffffff0f010302011001000122
+4d454c0021010075ff3001ffffffffffffffffffffffff0f010302011001000125
+4d454c0021010076ff3001ffffffffffffffffffffffff0f010302011001000124
+4d454c0021010077ff3001ffffffffffffffffffffffff0f010302011001000127
+4d454c0021010078ff3001ffffffffffffffffffffffff0f010302011001000126
+4d454c0021010079ff3001ffffffffffffffffffffffff0f0103020110010001d9
+4d454c002101007aff3001ffffffffffffffffffffffff0f0103020110010001d8
+4d454c002101007bff3001ffffffffffffffffffffffff0f0103020110010001db
+4d454c002101007cff3001ffffffffffffffffffffffff0f0103020110010001da
+4d454c002101007dff3001ffffffffffffffffffffffff0f0103020110010001dd
+4d454c002101007eff3001ffffffffffffffffffffffff0f0103020110010001dc
+4d454c002101007fff3001ffffffffffffffffffffffff0f0103020110010001df
+4d454c0021010080ff3001ffffffffffffffffffffffff0f0103020110010001de
+4d454c0021010081ff3001ffffffffffffffffffffffff0f0103020110010001d1
+4d454c0021010082ff3001ffffffffffffffffffffffff0f0103020110010001d0
+4d454c0021010083ff3001ffffffffffffffffffffffff0f0103020110010001d3
+4d454c0021010084ff3001ffffffffffffffffffffffff0f0103020110010001d2
+4d454c0021010085ff3001ffffffffffffffffffffffff0f0103020110010001d5
+4d454c0021010086ff3001ffffffffffffffffffffffff0f0103020110010001d4
+4d454c0021010087ff3001ffffffffffffffffffffffff0f0103020110010001d7
+4d454c0021010088ff3001ffffffffffffffffffffffff0f0103020110010001d6
+4d454c0021010089ff3001ffffffffffffffffffffffff0f0103020110010001c9
+4d454c002101008aff3001ffffffffffffffffffffffff0f0103020110010001c8
+4d454c002101008bff3001ffffffffffffffffffffffff0f0103020110010001cb
+4d454c002101008cff3001ffffffffffffffffffffffff0f0103020110010001ca
+4d454c002101008dff3001ffffffffffffffffffffffff0f0103020110010001cd
+4d454c002101008eff3001ffffffffffffffffffffffff0f0103020110010001cc
+4d454c002101008fff3001ffffffffffffffffffffffff0f0103020110010001cf
+4d454c0021010090ff3001ffffffffffffffffffffffff0f0103020110010001ce
+4d454c0021010091ff3001ffffffffffffffffffffffff0f0103020110010001c1
+4d454c0021010092ff3001ffffffffffffffffffffffff0f0103020110010001c0
+4d454c0021010093ff3001ffffffffffffffffffffffff0f0103020110010001c3
+4d454c0021010094ff3001ffffffffffffffffffffffff0f0103020110010001c2
+4d454c0021010095ff3001ffffffffffffffffffffffff0f0103020110010001c5
+4d454c0021010096ff3001ffffffffffffffffffffffff0f0103020110010001c4
+4d454c0021010097ff3001ffffffffffffffffffffffff0f0103020110010001c7
+4d454c0021010098ff3001ffffffffffffffffffffffff0f0103020110010001c6
+4d454c0021010099ff3001ffffffffffffffffffffffff0f0103020110010001f9
+4d454c002101009aff3001ffffffffffffffffffffffff0f0103020110010001f8
+4d454c002101009bff3001ffffffffffffffffffffffff0f0103020110010001fb
+4d454c002101009cff3001ffffffffffffffffffffffff0f0103020110010001fa
+4d454c002101009dff3001ffffffffffffffffffffffff0f0103020110010001fd
+4d454c002101009eff3001ffffffffffffffffffffffff0f0103020110010001fc
+4d454c002101009fff3001ffffffffffffffffffffffff0f0103020110010001ff
+4d454c00210100a0ff3001ffffffffffffffffffffffff0f0103020110010001fe
+4d454c00210100a1ff3001ffffffffffffffffffffffff0f0103020110010001f1
+4d454c00210100a2ff3001ffffffffffffffffffffffff0f0103020110010001f0
+4d454c00210100a3ff3001ffffffffffffffffffffffff0f0103020110010001f3
+4d454c00210100a4ff3001ffffffffffffffffffffffff0f0103020110010001f2
+4d454c00210100a5ff3001ffffffffffffffffffffffff0f0103020110010001f5
+4d454c00210100a6ff3001ffffffffffffffffffffffff0f0103020110010001f4
+4d454c00210100a7ff3001ffffffffffffffffffffffff0f0103020110010001f7
+4d454c00210100a8ff3001ffffffffffffffffffffffff0f0103020110010001f6
+4d454c00210100a9ff3001ffffffffffffffffffffffff0f0103020110010001e9
+4d454c00210100aaff3001ffffffffffffffffffffffff0f0103020110010001e8
+4d454c00210100abff3001ffffffffffffffffffffffff0f0103020110010001eb
+4d454c00210100acff3001ffffffffffffffffffffffff0f0103020110010001ea
+4d454c00210100adff3001ffffffffffffffffffffffff0f0103020110010001ed
+4d454c00210100aeff3001ffffffffffffffffffffffff0f0103020110010001ec
+4d454c00210100afff3001ffffffffffffffffffffffff0f0103020110010001ef
+4d454c00210100b0ff3001ffffffffffffffffffffffff0f0103020110010001ee
+4d454c00210100b1ff3001ffffffffffffffffffffffff0f0103020110010001e1
+4d454c00210100b2ff3001ffffffffffffffffffffffff0f0103020110010001e0
+4d454c00210100b3ff3001ffffffffffffffffffffffff0f0103020110010001e3
+4d454c00210100b4ff3001ffffffffffffffffffffffff0f0103020110010001e2
+4d454c00210100b5ff3001ffffffffffffffffffffffff0f0103020110010001e5
+4d454c00210100b6ff3001ffffffffffffffffffffffff0f0103020110010001e4
+4d454c00210100b7ff3001ffffffffffffffffffffffff0f0103020110010001e7
+4d454c00210100b8ff3001ffffffffffffffffffffffff0f0103020110010001e6
+4d454c00210100b9ff3001ffffffffffffffffffffffff0f010302011001000199
+4d454c00210100baff3001ffffffffffffffffffffffff0f010302011001000198
+4d454c00210100bbff3001ffffffffffffffffffffffff0f01030201100100019b
+4d454c00210100bcff3001ffffffffffffffffffffffff0f01030201100100019a
+4d454c00210100bdff3001ffffffffffffffffffffffff0f01030201100100019d
+4d454c00210100beff3001ffffffffffffffffffffffff0f01030201100100019c
+4d454c00210100bfff3001ffffffffffffffffffffffff0f01030201100100019f
+4d454c00210100c0ff3001ffffffffffffffffffffffff0f01030201100100019e
+4d454c00210100c1ff3001ffffffffffffffffffffffff0f010302011001000191
+4d454c00210100c2ff3001ffffffffffffffffffffffff0f010302011001000190
+4d454c00210100c3ff3001ffffffffffffffffffffffff0f010302011001000193
+4d454c00210100c4ff3001ffffffffffffffffffffffff0f010302011001000192
+4d454c00210100c5ff3001ffffffffffffffffffffffff0f010302011001000195
+4d454c00210100c6ff3001ffffffffffffffffffffffff0f010302011001000194
+4d454c00210100c7ff3001ffffffffffffffffffffffff0f010302011001000197
+4d454c00210100c8ff3001ffffffffffffffffffffffff0f010302011001000196
+4d454c00210100c9ff3001ffffffffffffffffffffffff0f010302011001000189
+4d454c00210100caff3001ffffffffffffffffffffffff0f010302011001000188
+4d454c00210100cbff3001ffffffffffffffffffffffff0f01030201100100018b
+4d454c00210100ccff3001ffffffffffffffffffffffff0f01030201100100018a
+4d454c00210100cdff3001ffffffffffffffffffffffff0f01030201100100018d
+4d454c00210100ceff3001ffffffffffffffffffffffff0f01030201100100018c
+4d454c00210100cfff3001ffffffffffffffffffffffff0f01030201100100018f
+4d454c00210100d0ff3001ffffffffffffffffffffffff0f01030201100100018e
+4d454c00210100d1ff3001ffffffffffffffffffffffff0f010302011001000181
+4d454c00210100d2ff3001ffffffffffffffffffffffff0f010302011001000180
+4d454c00210100d3ff3001ffffffffffffffffffffffff0f010302011001000183
+4d454c00210100d4ff3001ffffffffffffffffffffffff0f010302011001000182
+4d454c00210100d5ff3001ffffffffffffffffffffffff0f010302011001000185
+4d454c00210100d6ff3001ffffffffffffffffffffffff0f010302011001000184
+4d454c00210100d7ff3001ffffffffffffffffffffffff0f010302011001000187
+4d454c00210100d8ff3001ffffffffffffffffffffffff0f010302011001000186
+4d454c00210100d9ff3001ffffffffffffffffffffffff0f0103020110010001b9
+4d454c00210100daff3001ffffffffffffffffffffffff0f0103020110010001b8
+4d454c00210100dbff3001ffffffffffffffffffffffff0f0103020110010001bb
+4d454c00210100dcff3001ffffffffffffffffffffffff0f0103020110010001ba
+4d454c00210100ddff3001ffffffffffffffffffffffff0f0103020110010001bd
+4d454c00210100deff3001ffffffffffffffffffffffff0f0103020110010001bc
+4d454c00210100dfff3001ffffffffffffffffffffffff0f0103020110010001bf
+4d454c00210100e0ff3001ffffffffffffffffffffffff0f0103020110010001be
+4d454c00210100e1ff3001ffffffffffffffffffffffff0f0103020110010001b1
+4d454c00210100e2ff3001ffffffffffffffffffffffff0f0103020110010001b0
+4d454c00210100e3ff3001ffffffffffffffffffffffff0f0103020110010001b3
+4d454c00210100e4ff3001ffffffffffffffffffffffff0f0103020110010001b2
+4d454c00210100e5ff3001ffffffffffffffffffffffff0f0103020110010001b5
+4d454c00210100e6ff3001ffffffffffffffffffffffff0f0103020110010001b4
+4d454c00210100e7ff3001ffffffffffffffffffffffff0f0103020110010001b7
+4d454c00210100e8ff3001ffffffffffffffffffffffff0f0103020110010001b6
+4d454c00210100e9ff3001ffffffffffffffffffffffff0f0103020110010001a9
+4d454c00210100eaff3001ffffffffffffffffffffffff0f0103020110010001a8
+4d454c00210100ebff3001ffffffffffffffffffffffff0f0103020110010001ab
+4d454c00210100ecff3001ffffffffffffffffffffffff0f0103020110010001aa
+4d454c00210100edff3001ffffffffffffffffffffffff0f0103020110010001ad
+4d454c00210100eeff3001ffffffffffffffffffffffff0f0103020110010001ac
+4d454c00210100efff3001ffffffffffffffffffffffff0f0103020110010001af
+4d454c00210100f0ff3001ffffffffffffffffffffffff0f0103020110010001ae
+4d454c00210100f1ff3001ffffffffffffffffffffffff0f0103020110010001a1
+4d454c00210100f2ff3001ffffffffffffffffffffffff0f0103020110010001a0
+4d454c00210100f3ff3001ffffffffffffffffffffffff0f0103020110010001a3
+4d454c00210100f4ff3001ffffffffffffffffffffffff0f0103020110010001a2
+4d454c00210100f5ff3001ffffffffffffffffffffffff0f0103020110010001a5
+4d454c00210100f6ff3001ffffffffffffffffffffffff0f0103020110010001a4
+4d454c00210100f7ff3001ffffffffffffffffffffffff0f0103020110010001a7
+4d454c00210100f8ff3001ffffffffffffffffffffffff0f0103020110010001a6
+4d454c00210100f9ff3001ffffffffffffffffffffffff0f010302011001000059
+4d454c00210100faff3001ffffffffffffffffffffffff0f010302011001000058
+4d454c00210100fbff3001ffffffffffffffffffffffff0f01030201100100005b
+4d454c00210100fcff3001ffffffffffffffffffffffff0f01030201100100005a
+4d454c00210100fdff3001ffffffffffffffffffffffff0f01030201100100005d
+4d454c00210100feff3001ffffffffffffffffffffffff0f01030201100100005c
+4d454c00210100ffff3001ffffffffffffffffffffffff0f01030201100100005f \ No newline at end of file
diff --git a/research/bad-bruteforcing/grouped/melody-16-vol3-once-zone-all.txt b/research/bad-bruteforcing/grouped/melody-16-vol3-once-zone-all.txt
new file mode 100644
index 0000000..8b6df4a
--- /dev/null
+++ b/research/bad-bruteforcing/grouped/melody-16-vol3-once-zone-all.txt
@@ -0,0 +1,256 @@
+4d454c0021010000ff3001ffffffffffffffffffffffff0f010301011001000159
+4d454c0021010001ff3001ffffffffffffffffffffffff0f010301011001000156
+4d454c0021010002ff3001ffffffffffffffffffffffff0f010301011001000157
+4d454c0021010003ff3001ffffffffffffffffffffffff0f010301011001000154
+4d454c0021010004ff3001ffffffffffffffffffffffff0f010301011001000155
+4d454c0021010005ff3001ffffffffffffffffffffffff0f010301011001000152
+4d454c0021010006ff3001ffffffffffffffffffffffff0f010301011001000153
+4d454c0021010007ff3001ffffffffffffffffffffffff0f010301011001000150
+4d454c0021010008ff3001ffffffffffffffffffffffff0f010301011001000151
+4d454c0021010009ff3001ffffffffffffffffffffffff0f01030101100100014e
+4d454c002101000aff3001ffffffffffffffffffffffff0f01030101100100014f
+4d454c002101000bff3001ffffffffffffffffffffffff0f01030101100100014c
+4d454c002101000cff3001ffffffffffffffffffffffff0f01030101100100014d
+4d454c002101000dff3001ffffffffffffffffffffffff0f01030101100100014a
+4d454c002101000eff3001ffffffffffffffffffffffff0f01030101100100014b
+4d454c002101000fff3001ffffffffffffffffffffffff0f010301011001000148
+4d454c0021010010ff3001ffffffffffffffffffffffff0f010301011001000149
+4d454c0021010011ff3001ffffffffffffffffffffffff0f010301011001000146
+4d454c0021010012ff3001ffffffffffffffffffffffff0f010301011001000147
+4d454c0021010013ff3001ffffffffffffffffffffffff0f010301011001000144
+4d454c0021010014ff3001ffffffffffffffffffffffff0f010301011001000145
+4d454c0021010015ff3001ffffffffffffffffffffffff0f010301011001000142
+4d454c0021010016ff3001ffffffffffffffffffffffff0f010301011001000143
+4d454c0021010017ff3001ffffffffffffffffffffffff0f010301011001000140
+4d454c0021010018ff3001ffffffffffffffffffffffff0f010301011001000141
+4d454c0021010019ff3001ffffffffffffffffffffffff0f01030101100100017e
+4d454c002101001aff3001ffffffffffffffffffffffff0f01030101100100017f
+4d454c002101001bff3001ffffffffffffffffffffffff0f01030101100100017c
+4d454c002101001cff3001ffffffffffffffffffffffff0f01030101100100017d
+4d454c002101001dff3001ffffffffffffffffffffffff0f01030101100100017a
+4d454c002101001eff3001ffffffffffffffffffffffff0f01030101100100017b
+4d454c002101001fff3001ffffffffffffffffffffffff0f010301011001000178
+4d454c0021010020ff3001ffffffffffffffffffffffff0f010301011001000179
+4d454c0021010021ff3001ffffffffffffffffffffffff0f010301011001000176
+4d454c0021010022ff3001ffffffffffffffffffffffff0f010301011001000177
+4d454c0021010023ff3001ffffffffffffffffffffffff0f010301011001000174
+4d454c0021010024ff3001ffffffffffffffffffffffff0f010301011001000175
+4d454c0021010025ff3001ffffffffffffffffffffffff0f010301011001000172
+4d454c0021010026ff3001ffffffffffffffffffffffff0f010301011001000173
+4d454c0021010027ff3001ffffffffffffffffffffffff0f010301011001000170
+4d454c0021010028ff3001ffffffffffffffffffffffff0f010301011001000171
+4d454c0021010029ff3001ffffffffffffffffffffffff0f01030101100100016e
+4d454c002101002aff3001ffffffffffffffffffffffff0f01030101100100016f
+4d454c002101002bff3001ffffffffffffffffffffffff0f01030101100100016c
+4d454c002101002cff3001ffffffffffffffffffffffff0f01030101100100016d
+4d454c002101002dff3001ffffffffffffffffffffffff0f01030101100100016a
+4d454c002101002eff3001ffffffffffffffffffffffff0f01030101100100016b
+4d454c002101002fff3001ffffffffffffffffffffffff0f010301011001000168
+4d454c0021010030ff3001ffffffffffffffffffffffff0f010301011001000169
+4d454c0021010031ff3001ffffffffffffffffffffffff0f010301011001000166
+4d454c0021010032ff3001ffffffffffffffffffffffff0f010301011001000167
+4d454c0021010033ff3001ffffffffffffffffffffffff0f010301011001000164
+4d454c0021010034ff3001ffffffffffffffffffffffff0f010301011001000165
+4d454c0021010035ff3001ffffffffffffffffffffffff0f010301011001000162
+4d454c0021010036ff3001ffffffffffffffffffffffff0f010301011001000163
+4d454c0021010037ff3001ffffffffffffffffffffffff0f010301011001000160
+4d454c0021010038ff3001ffffffffffffffffffffffff0f010301011001000161
+4d454c0021010039ff3001ffffffffffffffffffffffff0f01030101100100011e
+4d454c002101003aff3001ffffffffffffffffffffffff0f01030101100100011f
+4d454c002101003bff3001ffffffffffffffffffffffff0f01030101100100011c
+4d454c002101003cff3001ffffffffffffffffffffffff0f01030101100100011d
+4d454c002101003dff3001ffffffffffffffffffffffff0f01030101100100011a
+4d454c002101003eff3001ffffffffffffffffffffffff0f01030101100100011b
+4d454c002101003fff3001ffffffffffffffffffffffff0f010301011001000118
+4d454c0021010040ff3001ffffffffffffffffffffffff0f010301011001000119
+4d454c0021010041ff3001ffffffffffffffffffffffff0f010301011001000116
+4d454c0021010042ff3001ffffffffffffffffffffffff0f010301011001000117
+4d454c0021010043ff3001ffffffffffffffffffffffff0f010301011001000114
+4d454c0021010044ff3001ffffffffffffffffffffffff0f010301011001000115
+4d454c0021010045ff3001ffffffffffffffffffffffff0f010301011001000112
+4d454c0021010046ff3001ffffffffffffffffffffffff0f010301011001000113
+4d454c0021010047ff3001ffffffffffffffffffffffff0f010301011001000110
+4d454c0021010048ff3001ffffffffffffffffffffffff0f010301011001000111
+4d454c0021010049ff3001ffffffffffffffffffffffff0f01030101100100010e
+4d454c002101004aff3001ffffffffffffffffffffffff0f01030101100100010f
+4d454c002101004bff3001ffffffffffffffffffffffff0f01030101100100010c
+4d454c002101004cff3001ffffffffffffffffffffffff0f01030101100100010d
+4d454c002101004dff3001ffffffffffffffffffffffff0f01030101100100010a
+4d454c002101004eff3001ffffffffffffffffffffffff0f01030101100100010b
+4d454c002101004fff3001ffffffffffffffffffffffff0f010301011001000108
+4d454c0021010050ff3001ffffffffffffffffffffffff0f010301011001000109
+4d454c0021010051ff3001ffffffffffffffffffffffff0f010301011001000106
+4d454c0021010052ff3001ffffffffffffffffffffffff0f010301011001000107
+4d454c0021010053ff3001ffffffffffffffffffffffff0f010301011001000104
+4d454c0021010054ff3001ffffffffffffffffffffffff0f010301011001000105
+4d454c0021010055ff3001ffffffffffffffffffffffff0f010301011001000102
+4d454c0021010056ff3001ffffffffffffffffffffffff0f010301011001000103
+4d454c0021010057ff3001ffffffffffffffffffffffff0f010301011001000100
+4d454c0021010058ff3001ffffffffffffffffffffffff0f010301011001000101
+4d454c0021010059ff3001ffffffffffffffffffffffff0f01030101100100013e
+4d454c002101005aff3001ffffffffffffffffffffffff0f01030101100100013f
+4d454c002101005bff3001ffffffffffffffffffffffff0f01030101100100013c
+4d454c002101005cff3001ffffffffffffffffffffffff0f01030101100100013d
+4d454c002101005dff3001ffffffffffffffffffffffff0f01030101100100013a
+4d454c002101005eff3001ffffffffffffffffffffffff0f01030101100100013b
+4d454c002101005fff3001ffffffffffffffffffffffff0f010301011001000138
+4d454c0021010060ff3001ffffffffffffffffffffffff0f010301011001000139
+4d454c0021010061ff3001ffffffffffffffffffffffff0f010301011001000136
+4d454c0021010062ff3001ffffffffffffffffffffffff0f010301011001000137
+4d454c0021010063ff3001ffffffffffffffffffffffff0f010301011001000134
+4d454c0021010064ff3001ffffffffffffffffffffffff0f010301011001000135
+4d454c0021010065ff3001ffffffffffffffffffffffff0f010301011001000132
+4d454c0021010066ff3001ffffffffffffffffffffffff0f010301011001000133
+4d454c0021010067ff3001ffffffffffffffffffffffff0f010301011001000130
+4d454c0021010068ff3001ffffffffffffffffffffffff0f010301011001000131
+4d454c0021010069ff3001ffffffffffffffffffffffff0f01030101100100012e
+4d454c002101006aff3001ffffffffffffffffffffffff0f01030101100100012f
+4d454c002101006bff3001ffffffffffffffffffffffff0f01030101100100012c
+4d454c002101006cff3001ffffffffffffffffffffffff0f01030101100100012d
+4d454c002101006dff3001ffffffffffffffffffffffff0f01030101100100012a
+4d454c002101006eff3001ffffffffffffffffffffffff0f01030101100100012b
+4d454c002101006fff3001ffffffffffffffffffffffff0f010301011001000128
+4d454c0021010070ff3001ffffffffffffffffffffffff0f010301011001000129
+4d454c0021010071ff3001ffffffffffffffffffffffff0f010301011001000126
+4d454c0021010072ff3001ffffffffffffffffffffffff0f010301011001000127
+4d454c0021010073ff3001ffffffffffffffffffffffff0f010301011001000124
+4d454c0021010074ff3001ffffffffffffffffffffffff0f010301011001000125
+4d454c0021010075ff3001ffffffffffffffffffffffff0f010301011001000122
+4d454c0021010076ff3001ffffffffffffffffffffffff0f010301011001000123
+4d454c0021010077ff3001ffffffffffffffffffffffff0f010301011001000120
+4d454c0021010078ff3001ffffffffffffffffffffffff0f010301011001000121
+4d454c0021010079ff3001ffffffffffffffffffffffff0f0103010110010001de
+4d454c002101007aff3001ffffffffffffffffffffffff0f0103010110010001df
+4d454c002101007bff3001ffffffffffffffffffffffff0f0103010110010001dc
+4d454c002101007cff3001ffffffffffffffffffffffff0f0103010110010001dd
+4d454c002101007dff3001ffffffffffffffffffffffff0f0103010110010001da
+4d454c002101007eff3001ffffffffffffffffffffffff0f0103010110010001db
+4d454c002101007fff3001ffffffffffffffffffffffff0f0103010110010001d8
+4d454c0021010080ff3001ffffffffffffffffffffffff0f0103010110010001d9
+4d454c0021010081ff3001ffffffffffffffffffffffff0f0103010110010001d6
+4d454c0021010082ff3001ffffffffffffffffffffffff0f0103010110010001d7
+4d454c0021010083ff3001ffffffffffffffffffffffff0f0103010110010001d4
+4d454c0021010084ff3001ffffffffffffffffffffffff0f0103010110010001d5
+4d454c0021010085ff3001ffffffffffffffffffffffff0f0103010110010001d2
+4d454c0021010086ff3001ffffffffffffffffffffffff0f0103010110010001d3
+4d454c0021010087ff3001ffffffffffffffffffffffff0f0103010110010001d0
+4d454c0021010088ff3001ffffffffffffffffffffffff0f0103010110010001d1
+4d454c0021010089ff3001ffffffffffffffffffffffff0f0103010110010001ce
+4d454c002101008aff3001ffffffffffffffffffffffff0f0103010110010001cf
+4d454c002101008bff3001ffffffffffffffffffffffff0f0103010110010001cc
+4d454c002101008cff3001ffffffffffffffffffffffff0f0103010110010001cd
+4d454c002101008dff3001ffffffffffffffffffffffff0f0103010110010001ca
+4d454c002101008eff3001ffffffffffffffffffffffff0f0103010110010001cb
+4d454c002101008fff3001ffffffffffffffffffffffff0f0103010110010001c8
+4d454c0021010090ff3001ffffffffffffffffffffffff0f0103010110010001c9
+4d454c0021010091ff3001ffffffffffffffffffffffff0f0103010110010001c6
+4d454c0021010092ff3001ffffffffffffffffffffffff0f0103010110010001c7
+4d454c0021010093ff3001ffffffffffffffffffffffff0f0103010110010001c4
+4d454c0021010094ff3001ffffffffffffffffffffffff0f0103010110010001c5
+4d454c0021010095ff3001ffffffffffffffffffffffff0f0103010110010001c2
+4d454c0021010096ff3001ffffffffffffffffffffffff0f0103010110010001c3
+4d454c0021010097ff3001ffffffffffffffffffffffff0f0103010110010001c0
+4d454c0021010098ff3001ffffffffffffffffffffffff0f0103010110010001c1
+4d454c0021010099ff3001ffffffffffffffffffffffff0f0103010110010001fe
+4d454c002101009aff3001ffffffffffffffffffffffff0f0103010110010001ff
+4d454c002101009bff3001ffffffffffffffffffffffff0f0103010110010001fc
+4d454c002101009cff3001ffffffffffffffffffffffff0f0103010110010001fd
+4d454c002101009dff3001ffffffffffffffffffffffff0f0103010110010001fa
+4d454c002101009eff3001ffffffffffffffffffffffff0f0103010110010001fb
+4d454c002101009fff3001ffffffffffffffffffffffff0f0103010110010001f8
+4d454c00210100a0ff3001ffffffffffffffffffffffff0f0103010110010001f9
+4d454c00210100a1ff3001ffffffffffffffffffffffff0f0103010110010001f6
+4d454c00210100a2ff3001ffffffffffffffffffffffff0f0103010110010001f7
+4d454c00210100a3ff3001ffffffffffffffffffffffff0f0103010110010001f4
+4d454c00210100a4ff3001ffffffffffffffffffffffff0f0103010110010001f5
+4d454c00210100a5ff3001ffffffffffffffffffffffff0f0103010110010001f2
+4d454c00210100a6ff3001ffffffffffffffffffffffff0f0103010110010001f3
+4d454c00210100a7ff3001ffffffffffffffffffffffff0f0103010110010001f0
+4d454c00210100a8ff3001ffffffffffffffffffffffff0f0103010110010001f1
+4d454c00210100a9ff3001ffffffffffffffffffffffff0f0103010110010001ee
+4d454c00210100aaff3001ffffffffffffffffffffffff0f0103010110010001ef
+4d454c00210100abff3001ffffffffffffffffffffffff0f0103010110010001ec
+4d454c00210100acff3001ffffffffffffffffffffffff0f0103010110010001ed
+4d454c00210100adff3001ffffffffffffffffffffffff0f0103010110010001ea
+4d454c00210100aeff3001ffffffffffffffffffffffff0f0103010110010001eb
+4d454c00210100afff3001ffffffffffffffffffffffff0f0103010110010001e8
+4d454c00210100b0ff3001ffffffffffffffffffffffff0f0103010110010001e9
+4d454c00210100b1ff3001ffffffffffffffffffffffff0f0103010110010001e6
+4d454c00210100b2ff3001ffffffffffffffffffffffff0f0103010110010001e7
+4d454c00210100b3ff3001ffffffffffffffffffffffff0f0103010110010001e4
+4d454c00210100b4ff3001ffffffffffffffffffffffff0f0103010110010001e5
+4d454c00210100b5ff3001ffffffffffffffffffffffff0f0103010110010001e2
+4d454c00210100b6ff3001ffffffffffffffffffffffff0f0103010110010001e3
+4d454c00210100b7ff3001ffffffffffffffffffffffff0f0103010110010001e0
+4d454c00210100b8ff3001ffffffffffffffffffffffff0f0103010110010001e1
+4d454c00210100b9ff3001ffffffffffffffffffffffff0f01030101100100019e
+4d454c00210100baff3001ffffffffffffffffffffffff0f01030101100100019f
+4d454c00210100bbff3001ffffffffffffffffffffffff0f01030101100100019c
+4d454c00210100bcff3001ffffffffffffffffffffffff0f01030101100100019d
+4d454c00210100bdff3001ffffffffffffffffffffffff0f01030101100100019a
+4d454c00210100beff3001ffffffffffffffffffffffff0f01030101100100019b
+4d454c00210100bfff3001ffffffffffffffffffffffff0f010301011001000198
+4d454c00210100c0ff3001ffffffffffffffffffffffff0f010301011001000199
+4d454c00210100c1ff3001ffffffffffffffffffffffff0f010301011001000196
+4d454c00210100c2ff3001ffffffffffffffffffffffff0f010301011001000197
+4d454c00210100c3ff3001ffffffffffffffffffffffff0f010301011001000194
+4d454c00210100c4ff3001ffffffffffffffffffffffff0f010301011001000195
+4d454c00210100c5ff3001ffffffffffffffffffffffff0f010301011001000192
+4d454c00210100c6ff3001ffffffffffffffffffffffff0f010301011001000193
+4d454c00210100c7ff3001ffffffffffffffffffffffff0f010301011001000190
+4d454c00210100c8ff3001ffffffffffffffffffffffff0f010301011001000191
+4d454c00210100c9ff3001ffffffffffffffffffffffff0f01030101100100018e
+4d454c00210100caff3001ffffffffffffffffffffffff0f01030101100100018f
+4d454c00210100cbff3001ffffffffffffffffffffffff0f01030101100100018c
+4d454c00210100ccff3001ffffffffffffffffffffffff0f01030101100100018d
+4d454c00210100cdff3001ffffffffffffffffffffffff0f01030101100100018a
+4d454c00210100ceff3001ffffffffffffffffffffffff0f01030101100100018b
+4d454c00210100cfff3001ffffffffffffffffffffffff0f010301011001000188
+4d454c00210100d0ff3001ffffffffffffffffffffffff0f010301011001000189
+4d454c00210100d1ff3001ffffffffffffffffffffffff0f010301011001000186
+4d454c00210100d2ff3001ffffffffffffffffffffffff0f010301011001000187
+4d454c00210100d3ff3001ffffffffffffffffffffffff0f010301011001000184
+4d454c00210100d4ff3001ffffffffffffffffffffffff0f010301011001000185
+4d454c00210100d5ff3001ffffffffffffffffffffffff0f010301011001000182
+4d454c00210100d6ff3001ffffffffffffffffffffffff0f010301011001000183
+4d454c00210100d7ff3001ffffffffffffffffffffffff0f010301011001000180
+4d454c00210100d8ff3001ffffffffffffffffffffffff0f010301011001000181
+4d454c00210100d9ff3001ffffffffffffffffffffffff0f0103010110010001be
+4d454c00210100daff3001ffffffffffffffffffffffff0f0103010110010001bf
+4d454c00210100dbff3001ffffffffffffffffffffffff0f0103010110010001bc
+4d454c00210100dcff3001ffffffffffffffffffffffff0f0103010110010001bd
+4d454c00210100ddff3001ffffffffffffffffffffffff0f0103010110010001ba
+4d454c00210100deff3001ffffffffffffffffffffffff0f0103010110010001bb
+4d454c00210100dfff3001ffffffffffffffffffffffff0f0103010110010001b8
+4d454c00210100e0ff3001ffffffffffffffffffffffff0f0103010110010001b9
+4d454c00210100e1ff3001ffffffffffffffffffffffff0f0103010110010001b6
+4d454c00210100e2ff3001ffffffffffffffffffffffff0f0103010110010001b7
+4d454c00210100e3ff3001ffffffffffffffffffffffff0f0103010110010001b4
+4d454c00210100e4ff3001ffffffffffffffffffffffff0f0103010110010001b5
+4d454c00210100e5ff3001ffffffffffffffffffffffff0f0103010110010001b2
+4d454c00210100e6ff3001ffffffffffffffffffffffff0f0103010110010001b3
+4d454c00210100e7ff3001ffffffffffffffffffffffff0f0103010110010001b0
+4d454c00210100e8ff3001ffffffffffffffffffffffff0f0103010110010001b1
+4d454c00210100e9ff3001ffffffffffffffffffffffff0f0103010110010001ae
+4d454c00210100eaff3001ffffffffffffffffffffffff0f0103010110010001af
+4d454c00210100ebff3001ffffffffffffffffffffffff0f0103010110010001ac
+4d454c00210100ecff3001ffffffffffffffffffffffff0f0103010110010001ad
+4d454c00210100edff3001ffffffffffffffffffffffff0f0103010110010001aa
+4d454c00210100eeff3001ffffffffffffffffffffffff0f0103010110010001ab
+4d454c00210100efff3001ffffffffffffffffffffffff0f0103010110010001a8
+4d454c00210100f0ff3001ffffffffffffffffffffffff0f0103010110010001a9
+4d454c00210100f1ff3001ffffffffffffffffffffffff0f0103010110010001a6
+4d454c00210100f2ff3001ffffffffffffffffffffffff0f0103010110010001a7
+4d454c00210100f3ff3001ffffffffffffffffffffffff0f0103010110010001a4
+4d454c00210100f4ff3001ffffffffffffffffffffffff0f0103010110010001a5
+4d454c00210100f5ff3001ffffffffffffffffffffffff0f0103010110010001a2
+4d454c00210100f6ff3001ffffffffffffffffffffffff0f0103010110010001a3
+4d454c00210100f7ff3001ffffffffffffffffffffffff0f0103010110010001a0
+4d454c00210100f8ff3001ffffffffffffffffffffffff0f0103010110010001a1
+4d454c00210100f9ff3001ffffffffffffffffffffffff0f01030101100100005e
+4d454c00210100faff3001ffffffffffffffffffffffff0f01030101100100005f
+4d454c00210100fbff3001ffffffffffffffffffffffff0f01030101100100005c
+4d454c00210100fcff3001ffffffffffffffffffffffff0f01030101100100005d
+4d454c00210100fdff3001ffffffffffffffffffffffff0f01030101100100005a
+4d454c00210100feff3001ffffffffffffffffffffffff0f01030101100100005b
+4d454c00210100ffff3001ffffffffffffffffffffffff0f010301011001000058
diff --git a/research/bad-bruteforcing/grouped/melody15-repeat3-zone8-volume-increments.txt b/research/bad-bruteforcing/grouped/melody15-repeat3-zone8-volume-increments.txt
new file mode 100644
index 0000000..31f250f
--- /dev/null
+++ b/research/bad-bruteforcing/grouped/melody15-repeat3-zone8-volume-increments.txt
@@ -0,0 +1,7 @@
+4d454c0021010000ff300180000000000000000000000000010103010f010001f3
+4d454c0021010000ff300180000000000000000000000000010203010f010001f1
+4d454c0021010000ff300180000000000000000000000000010303010f010001f5
+4d454c0021010000ff300180000000000000000000000000010403010f010001f4
+4d454c0021010000ff300180000000000000000000000000010503010f010001f7
+4d454c0021010000ff300180000000000000000000000000010603010f010001f6
+4d454c0021010000ff300180000000000000000000000000010703010f010001c9 \ No newline at end of file
diff --git a/research/bad-bruteforcing/grouped/melody15-vol3-repeat2-zone16-sequecnce.txt b/research/bad-bruteforcing/grouped/melody15-vol3-repeat2-zone16-sequecnce.txt
new file mode 100644
index 0000000..b827051
--- /dev/null
+++ b/research/bad-bruteforcing/grouped/melody15-vol3-repeat2-zone16-sequecnce.txt
@@ -0,0 +1,256 @@
+4d454c0021010000ff300100800000000000000000000000010302010f010001f4
+4d454c0021010001ff300100800000000000000000000000010302010f010001fb
+4d454c0021010002ff300100800000000000000000000000010302010f010001fa
+4d454c0021010003ff300100800000000000000000000000010302010f010001f9
+4d454c0021010004ff300100800000000000000000000000010302010f010001f8
+4d454c0021010005ff300100800000000000000000000000010302010f010001ff
+4d454c0021010006ff300100800000000000000000000000010302010f010001fe
+4d454c0021010007ff300100800000000000000000000000010302010f010001fd
+4d454c0021010008ff300100800000000000000000000000010302010f010001fc
+4d454c0021010009ff300100800000000000000000000000010302010f010001e3
+4d454c002101000aff300100800000000000000000000000010302010f010001e2
+4d454c002101000bff300100800000000000000000000000010302010f010001e1
+4d454c002101000cff300100800000000000000000000000010302010f010001e0
+4d454c002101000dff300100800000000000000000000000010302010f010001e7
+4d454c002101000eff300100800000000000000000000000010302010f010001e6
+4d454c002101000fff300100800000000000000000000000010302010f010001e5
+4d454c0021010010ff300100800000000000000000000000010302010f010001e4
+4d454c0021010011ff300100800000000000000000000000010302010f010001eb
+4d454c0021010012ff300100800000000000000000000000010302010f010001ea
+4d454c0021010013ff300100800000000000000000000000010302010f010001e9
+4d454c0021010014ff300100800000000000000000000000010302010f010001e8
+4d454c0021010015ff300100800000000000000000000000010302010f010001ef
+4d454c0021010016ff300100800000000000000000000000010302010f010001ee
+4d454c0021010017ff300100800000000000000000000000010302010f010001ed
+4d454c0021010018ff300100800000000000000000000000010302010f010001ec
+4d454c0021010019ff300100800000000000000000000000010302010f010001d3
+4d454c002101001aff300100800000000000000000000000010302010f010001d2
+4d454c002101001bff300100800000000000000000000000010302010f010001d1
+4d454c002101001cff300100800000000000000000000000010302010f010001d0
+4d454c002101001dff300100800000000000000000000000010302010f010001d7
+4d454c002101001eff300100800000000000000000000000010302010f010001d6
+4d454c002101001fff300100800000000000000000000000010302010f010001d5
+4d454c0021010020ff300100800000000000000000000000010302010f010001d4
+4d454c0021010021ff300100800000000000000000000000010302010f010001db
+4d454c0021010022ff300100800000000000000000000000010302010f010001da
+4d454c0021010023ff300100800000000000000000000000010302010f010001d9
+4d454c0021010024ff300100800000000000000000000000010302010f010001d8
+4d454c0021010025ff300100800000000000000000000000010302010f010001df
+4d454c0021010026ff300100800000000000000000000000010302010f010001de
+4d454c0021010027ff300100800000000000000000000000010302010f010001dd
+4d454c0021010028ff300100800000000000000000000000010302010f010001dc
+4d454c0021010029ff300100800000000000000000000000010302010f010001c3
+4d454c002101002aff300100800000000000000000000000010302010f010001c2
+4d454c002101002bff300100800000000000000000000000010302010f010001c1
+4d454c002101002cff300100800000000000000000000000010302010f010001c0
+4d454c002101002dff300100800000000000000000000000010302010f010001c7
+4d454c002101002eff300100800000000000000000000000010302010f010001c6
+4d454c002101002fff300100800000000000000000000000010302010f010001c5
+4d454c0021010030ff300100800000000000000000000000010302010f010001c4
+4d454c0021010031ff300100800000000000000000000000010302010f010001cb
+4d454c0021010032ff300100800000000000000000000000010302010f010001ca
+4d454c0021010033ff300100800000000000000000000000010302010f010001c9
+4d454c0021010034ff300100800000000000000000000000010302010f010001c8
+4d454c0021010035ff300100800000000000000000000000010302010f010001cf
+4d454c0021010036ff300100800000000000000000000000010302010f010001ce
+4d454c0021010037ff300100800000000000000000000000010302010f010001cd
+4d454c0021010038ff300100800000000000000000000000010302010f010001cc
+4d454c0021010039ff300100800000000000000000000000010302010f010001b3
+4d454c002101003aff300100800000000000000000000000010302010f010001b2
+4d454c002101003bff300100800000000000000000000000010302010f010001b1
+4d454c002101003cff300100800000000000000000000000010302010f010001b0
+4d454c002101003dff300100800000000000000000000000010302010f010001b7
+4d454c002101003eff300100800000000000000000000000010302010f010001b6
+4d454c002101003fff300100800000000000000000000000010302010f010001b5
+4d454c0021010040ff300100800000000000000000000000010302010f010001b4
+4d454c0021010041ff300100800000000000000000000000010302010f010001bb
+4d454c0021010042ff300100800000000000000000000000010302010f010001ba
+4d454c0021010043ff300100800000000000000000000000010302010f010001b9
+4d454c0021010044ff300100800000000000000000000000010302010f010001b8
+4d454c0021010045ff300100800000000000000000000000010302010f010001bf
+4d454c0021010046ff300100800000000000000000000000010302010f010001be
+4d454c0021010047ff300100800000000000000000000000010302010f010001bd
+4d454c0021010048ff300100800000000000000000000000010302010f010001bc
+4d454c0021010049ff300100800000000000000000000000010302010f010001a3
+4d454c002101004aff300100800000000000000000000000010302010f010001a2
+4d454c002101004bff300100800000000000000000000000010302010f010001a1
+4d454c002101004cff300100800000000000000000000000010302010f010001a0
+4d454c002101004dff300100800000000000000000000000010302010f010001a7
+4d454c002101004eff300100800000000000000000000000010302010f010001a6
+4d454c002101004fff300100800000000000000000000000010302010f010001a5
+4d454c0021010050ff300100800000000000000000000000010302010f010001a4
+4d454c0021010051ff300100800000000000000000000000010302010f010001ab
+4d454c0021010052ff300100800000000000000000000000010302010f010001aa
+4d454c0021010053ff300100800000000000000000000000010302010f010001a9
+4d454c0021010054ff300100800000000000000000000000010302010f010001a8
+4d454c0021010055ff300100800000000000000000000000010302010f010001af
+4d454c0021010056ff300100800000000000000000000000010302010f010001ae
+4d454c0021010057ff300100800000000000000000000000010302010f010001ad
+4d454c0021010058ff300100800000000000000000000000010302010f010001ac
+4d454c0021010059ff300100800000000000000000000000010302010f01000193
+4d454c002101005aff300100800000000000000000000000010302010f01000192
+4d454c002101005bff300100800000000000000000000000010302010f01000191
+4d454c002101005cff300100800000000000000000000000010302010f01000190
+4d454c002101005dff300100800000000000000000000000010302010f01000197
+4d454c002101005eff300100800000000000000000000000010302010f01000196
+4d454c002101005fff300100800000000000000000000000010302010f01000195
+4d454c0021010060ff300100800000000000000000000000010302010f01000194
+4d454c0021010061ff300100800000000000000000000000010302010f0100019b
+4d454c0021010062ff300100800000000000000000000000010302010f0100019a
+4d454c0021010063ff300100800000000000000000000000010302010f01000199
+4d454c0021010064ff300100800000000000000000000000010302010f01000198
+4d454c0021010065ff300100800000000000000000000000010302010f0100019f
+4d454c0021010066ff300100800000000000000000000000010302010f0100019e
+4d454c0021010067ff300100800000000000000000000000010302010f0100019d
+4d454c0021010068ff300100800000000000000000000000010302010f0100019c
+4d454c0021010069ff300100800000000000000000000000010302010f01000183
+4d454c002101006aff300100800000000000000000000000010302010f01000182
+4d454c002101006bff300100800000000000000000000000010302010f01000181
+4d454c002101006cff300100800000000000000000000000010302010f01000180
+4d454c002101006dff300100800000000000000000000000010302010f01000187
+4d454c002101006eff300100800000000000000000000000010302010f01000186
+4d454c002101006fff300100800000000000000000000000010302010f01000185
+4d454c0021010070ff300100800000000000000000000000010302010f01000184
+4d454c0021010071ff300100800000000000000000000000010302010f0100018b
+4d454c0021010072ff300100800000000000000000000000010302010f0100018a
+4d454c0021010073ff300100800000000000000000000000010302010f01000189
+4d454c0021010074ff300100800000000000000000000000010302010f01000188
+4d454c0021010075ff300100800000000000000000000000010302010f0100018f
+4d454c0021010076ff300100800000000000000000000000010302010f0100018e
+4d454c0021010077ff300100800000000000000000000000010302010f0100018d
+4d454c0021010078ff300100800000000000000000000000010302010f0100018c
+4d454c0021010079ff300100800000000000000000000000010302010f01000173
+4d454c002101007aff300100800000000000000000000000010302010f01000172
+4d454c002101007bff300100800000000000000000000000010302010f01000171
+4d454c002101007cff300100800000000000000000000000010302010f01000170
+4d454c002101007dff300100800000000000000000000000010302010f01000177
+4d454c002101007eff300100800000000000000000000000010302010f01000176
+4d454c002101007fff300100800000000000000000000000010302010f01000175
+4d454c0021010080ff300100800000000000000000000000010302010f01000174
+4d454c0021010081ff300100800000000000000000000000010302010f0100017b
+4d454c0021010082ff300100800000000000000000000000010302010f0100017a
+4d454c0021010083ff300100800000000000000000000000010302010f01000179
+4d454c0021010084ff300100800000000000000000000000010302010f01000178
+4d454c0021010085ff300100800000000000000000000000010302010f0100017f
+4d454c0021010086ff300100800000000000000000000000010302010f0100017e
+4d454c0021010087ff300100800000000000000000000000010302010f0100017d
+4d454c0021010088ff300100800000000000000000000000010302010f0100017c
+4d454c0021010089ff300100800000000000000000000000010302010f01000163
+4d454c002101008aff300100800000000000000000000000010302010f01000162
+4d454c002101008bff300100800000000000000000000000010302010f01000161
+4d454c002101008cff300100800000000000000000000000010302010f01000160
+4d454c002101008dff300100800000000000000000000000010302010f01000167
+4d454c002101008eff300100800000000000000000000000010302010f01000166
+4d454c002101008fff300100800000000000000000000000010302010f01000165
+4d454c0021010090ff300100800000000000000000000000010302010f01000164
+4d454c0021010091ff300100800000000000000000000000010302010f0100016b
+4d454c0021010092ff300100800000000000000000000000010302010f0100016a
+4d454c0021010093ff300100800000000000000000000000010302010f01000169
+4d454c0021010094ff300100800000000000000000000000010302010f01000168
+4d454c0021010095ff300100800000000000000000000000010302010f0100016f
+4d454c0021010096ff300100800000000000000000000000010302010f0100016e
+4d454c0021010097ff300100800000000000000000000000010302010f0100016d
+4d454c0021010098ff300100800000000000000000000000010302010f0100016c
+4d454c0021010099ff300100800000000000000000000000010302010f01000153
+4d454c002101009aff300100800000000000000000000000010302010f01000152
+4d454c002101009bff300100800000000000000000000000010302010f01000151
+4d454c002101009cff300100800000000000000000000000010302010f01000150
+4d454c002101009dff300100800000000000000000000000010302010f01000157
+4d454c002101009eff300100800000000000000000000000010302010f01000156
+4d454c002101009fff300100800000000000000000000000010302010f01000155
+4d454c00210100a0ff300100800000000000000000000000010302010f01000154
+4d454c00210100a1ff300100800000000000000000000000010302010f0100015b
+4d454c00210100a2ff300100800000000000000000000000010302010f0100015a
+4d454c00210100a3ff300100800000000000000000000000010302010f01000159
+4d454c00210100a4ff300100800000000000000000000000010302010f01000158
+4d454c00210100a5ff300100800000000000000000000000010302010f0100015f
+4d454c00210100a6ff300100800000000000000000000000010302010f0100015e
+4d454c00210100a7ff300100800000000000000000000000010302010f0100015d
+4d454c00210100a8ff300100800000000000000000000000010302010f0100015c
+4d454c00210100a9ff300100800000000000000000000000010302010f01000143
+4d454c00210100aaff300100800000000000000000000000010302010f01000142
+4d454c00210100abff300100800000000000000000000000010302010f01000141
+4d454c00210100acff300100800000000000000000000000010302010f01000140
+4d454c00210100adff300100800000000000000000000000010302010f01000147
+4d454c00210100aeff300100800000000000000000000000010302010f01000146
+4d454c00210100afff300100800000000000000000000000010302010f01000145
+4d454c00210100b0ff300100800000000000000000000000010302010f01000144
+4d454c00210100b1ff300100800000000000000000000000010302010f0100014b
+4d454c00210100b2ff300100800000000000000000000000010302010f0100014a
+4d454c00210100b3ff300100800000000000000000000000010302010f01000149
+4d454c00210100b4ff300100800000000000000000000000010302010f01000148
+4d454c00210100b5ff300100800000000000000000000000010302010f0100014f
+4d454c00210100b6ff300100800000000000000000000000010302010f0100014e
+4d454c00210100b7ff300100800000000000000000000000010302010f0100014d
+4d454c00210100b8ff300100800000000000000000000000010302010f0100014c
+4d454c00210100b9ff300100800000000000000000000000010302010f01000133
+4d454c00210100baff300100800000000000000000000000010302010f01000132
+4d454c00210100bbff300100800000000000000000000000010302010f01000131
+4d454c00210100bcff300100800000000000000000000000010302010f01000130
+4d454c00210100bdff300100800000000000000000000000010302010f01000137
+4d454c00210100beff300100800000000000000000000000010302010f01000136
+4d454c00210100bfff300100800000000000000000000000010302010f01000135
+4d454c00210100c0ff300100800000000000000000000000010302010f01000134
+4d454c00210100c1ff300100800000000000000000000000010302010f0100013b
+4d454c00210100c2ff300100800000000000000000000000010302010f0100013a
+4d454c00210100c3ff300100800000000000000000000000010302010f01000139
+4d454c00210100c4ff300100800000000000000000000000010302010f01000138
+4d454c00210100c5ff300100800000000000000000000000010302010f0100013f
+4d454c00210100c6ff300100800000000000000000000000010302010f0100013e
+4d454c00210100c7ff300100800000000000000000000000010302010f0100013d
+4d454c00210100c8ff300100800000000000000000000000010302010f0100013c
+4d454c00210100c9ff300100800000000000000000000000010302010f01000123
+4d454c00210100caff300100800000000000000000000000010302010f01000122
+4d454c00210100cbff300100800000000000000000000000010302010f01000121
+4d454c00210100ccff300100800000000000000000000000010302010f01000120
+4d454c00210100cdff300100800000000000000000000000010302010f01000127
+4d454c00210100ceff300100800000000000000000000000010302010f01000126
+4d454c00210100cfff300100800000000000000000000000010302010f01000125
+4d454c00210100d0ff300100800000000000000000000000010302010f01000124
+4d454c00210100d1ff300100800000000000000000000000010302010f0100012b
+4d454c00210100d2ff300100800000000000000000000000010302010f0100012a
+4d454c00210100d3ff300100800000000000000000000000010302010f01000129
+4d454c00210100d4ff300100800000000000000000000000010302010f01000128
+4d454c00210100d5ff300100800000000000000000000000010302010f0100012f
+4d454c00210100d6ff300100800000000000000000000000010302010f0100012e
+4d454c00210100d7ff300100800000000000000000000000010302010f0100012d
+4d454c00210100d8ff300100800000000000000000000000010302010f0100012c
+4d454c00210100d9ff300100800000000000000000000000010302010f01000113
+4d454c00210100daff300100800000000000000000000000010302010f01000112
+4d454c00210100dbff300100800000000000000000000000010302010f01000111
+4d454c00210100dcff300100800000000000000000000000010302010f01000110
+4d454c00210100ddff300100800000000000000000000000010302010f01000117
+4d454c00210100deff300100800000000000000000000000010302010f01000116
+4d454c00210100dfff300100800000000000000000000000010302010f01000115
+4d454c00210100e0ff300100800000000000000000000000010302010f01000114
+4d454c00210100e1ff300100800000000000000000000000010302010f0100011b
+4d454c00210100e2ff300100800000000000000000000000010302010f0100011a
+4d454c00210100e3ff300100800000000000000000000000010302010f01000119
+4d454c00210100e4ff300100800000000000000000000000010302010f01000118
+4d454c00210100e5ff300100800000000000000000000000010302010f0100011f
+4d454c00210100e6ff300100800000000000000000000000010302010f0100011e
+4d454c00210100e7ff300100800000000000000000000000010302010f0100011d
+4d454c00210100e8ff300100800000000000000000000000010302010f0100011c
+4d454c00210100e9ff300100800000000000000000000000010302010f01000103
+4d454c00210100eaff300100800000000000000000000000010302010f01000102
+4d454c00210100ebff300100800000000000000000000000010302010f01000101
+4d454c00210100ecff300100800000000000000000000000010302010f01000100
+4d454c00210100edff300100800000000000000000000000010302010f01000107
+4d454c00210100eeff300100800000000000000000000000010302010f01000106
+4d454c00210100efff300100800000000000000000000000010302010f01000105
+4d454c00210100f0ff300100800000000000000000000000010302010f01000104
+4d454c00210100f1ff300100800000000000000000000000010302010f0100010b
+4d454c00210100f2ff300100800000000000000000000000010302010f0100010a
+4d454c00210100f3ff300100800000000000000000000000010302010f01000109
+4d454c00210100f4ff300100800000000000000000000000010302010f01000108
+4d454c00210100f5ff300100800000000000000000000000010302010f0100010f
+4d454c00210100f6ff300100800000000000000000000000010302010f0100010e
+4d454c00210100f7ff300100800000000000000000000000010302010f0100010d
+4d454c00210100f8ff300100800000000000000000000000010302010f0100010c
+4d454c00210100f9ff300100800000000000000000000000010302010f010000f3
+4d454c00210100faff300100800000000000000000000000010302010f010000f2
+4d454c00210100fbff300100800000000000000000000000010302010f010000f1
+4d454c00210100fcff300100800000000000000000000000010302010f010000f0
+4d454c00210100fdff300100800000000000000000000000010302010f010000f7
+4d454c00210100feff300100800000000000000000000000010302010f010000f6
+4d454c00210100ffff300100800000000000000000000000010302010f010000f5
diff --git a/research/bad-bruteforcing/grouped/melody15-vol3-repeat2-zone8-sequence.txt b/research/bad-bruteforcing/grouped/melody15-vol3-repeat2-zone8-sequence.txt
new file mode 100644
index 0000000..23e0ae4
--- /dev/null
+++ b/research/bad-bruteforcing/grouped/melody15-vol3-repeat2-zone8-sequence.txt
@@ -0,0 +1,256 @@
+4d454c0021010000ff300180000000000000000000000000010302010f010001f4
+4d454c0021010001ff300180000000000000000000000000010302010f010001fb
+4d454c0021010002ff300180000000000000000000000000010302010f010001fa
+4d454c0021010003ff300180000000000000000000000000010302010f010001f9
+4d454c0021010004ff300180000000000000000000000000010302010f010001f8
+4d454c0021010005ff300180000000000000000000000000010302010f010001ff
+4d454c0021010006ff300180000000000000000000000000010302010f010001fe
+4d454c0021010007ff300180000000000000000000000000010302010f010001fd
+4d454c0021010008ff300180000000000000000000000000010302010f010001fc
+4d454c0021010009ff300180000000000000000000000000010302010f010001e3
+4d454c002101000aff300180000000000000000000000000010302010f010001e2
+4d454c002101000bff300180000000000000000000000000010302010f010001e1
+4d454c002101000cff300180000000000000000000000000010302010f010001e0
+4d454c002101000dff300180000000000000000000000000010302010f010001e7
+4d454c002101000eff300180000000000000000000000000010302010f010001e6
+4d454c002101000fff300180000000000000000000000000010302010f010001e5
+4d454c0021010010ff300180000000000000000000000000010302010f010001e4
+4d454c0021010011ff300180000000000000000000000000010302010f010001eb
+4d454c0021010012ff300180000000000000000000000000010302010f010001ea
+4d454c0021010013ff300180000000000000000000000000010302010f010001e9
+4d454c0021010014ff300180000000000000000000000000010302010f010001e8
+4d454c0021010015ff300180000000000000000000000000010302010f010001ef
+4d454c0021010016ff300180000000000000000000000000010302010f010001ee
+4d454c0021010017ff300180000000000000000000000000010302010f010001ed
+4d454c0021010018ff300180000000000000000000000000010302010f010001ec
+4d454c0021010019ff300180000000000000000000000000010302010f010001d3
+4d454c002101001aff300180000000000000000000000000010302010f010001d2
+4d454c002101001bff300180000000000000000000000000010302010f010001d1
+4d454c002101001cff300180000000000000000000000000010302010f010001d0
+4d454c002101001dff300180000000000000000000000000010302010f010001d7
+4d454c002101001eff300180000000000000000000000000010302010f010001d6
+4d454c002101001fff300180000000000000000000000000010302010f010001d5
+4d454c0021010020ff300180000000000000000000000000010302010f010001d4
+4d454c0021010021ff300180000000000000000000000000010302010f010001db
+4d454c0021010022ff300180000000000000000000000000010302010f010001da
+4d454c0021010023ff300180000000000000000000000000010302010f010001d9
+4d454c0021010024ff300180000000000000000000000000010302010f010001d8
+4d454c0021010025ff300180000000000000000000000000010302010f010001df
+4d454c0021010026ff300180000000000000000000000000010302010f010001de
+4d454c0021010027ff300180000000000000000000000000010302010f010001dd
+4d454c0021010028ff300180000000000000000000000000010302010f010001dc
+4d454c0021010029ff300180000000000000000000000000010302010f010001c3
+4d454c002101002aff300180000000000000000000000000010302010f010001c2
+4d454c002101002bff300180000000000000000000000000010302010f010001c1
+4d454c002101002cff300180000000000000000000000000010302010f010001c0
+4d454c002101002dff300180000000000000000000000000010302010f010001c7
+4d454c002101002eff300180000000000000000000000000010302010f010001c6
+4d454c002101002fff300180000000000000000000000000010302010f010001c5
+4d454c0021010030ff300180000000000000000000000000010302010f010001c4
+4d454c0021010031ff300180000000000000000000000000010302010f010001cb
+4d454c0021010032ff300180000000000000000000000000010302010f010001ca
+4d454c0021010033ff300180000000000000000000000000010302010f010001c9
+4d454c0021010034ff300180000000000000000000000000010302010f010001c8
+4d454c0021010035ff300180000000000000000000000000010302010f010001cf
+4d454c0021010036ff300180000000000000000000000000010302010f010001ce
+4d454c0021010037ff300180000000000000000000000000010302010f010001cd
+4d454c0021010038ff300180000000000000000000000000010302010f010001cc
+4d454c0021010039ff300180000000000000000000000000010302010f010001b3
+4d454c002101003aff300180000000000000000000000000010302010f010001b2
+4d454c002101003bff300180000000000000000000000000010302010f010001b1
+4d454c002101003cff300180000000000000000000000000010302010f010001b0
+4d454c002101003dff300180000000000000000000000000010302010f010001b7
+4d454c002101003eff300180000000000000000000000000010302010f010001b6
+4d454c002101003fff300180000000000000000000000000010302010f010001b5
+4d454c0021010040ff300180000000000000000000000000010302010f010001b4
+4d454c0021010041ff300180000000000000000000000000010302010f010001bb
+4d454c0021010042ff300180000000000000000000000000010302010f010001ba
+4d454c0021010043ff300180000000000000000000000000010302010f010001b9
+4d454c0021010044ff300180000000000000000000000000010302010f010001b8
+4d454c0021010045ff300180000000000000000000000000010302010f010001bf
+4d454c0021010046ff300180000000000000000000000000010302010f010001be
+4d454c0021010047ff300180000000000000000000000000010302010f010001bd
+4d454c0021010048ff300180000000000000000000000000010302010f010001bc
+4d454c0021010049ff300180000000000000000000000000010302010f010001a3
+4d454c002101004aff300180000000000000000000000000010302010f010001a2
+4d454c002101004bff300180000000000000000000000000010302010f010001a1
+4d454c002101004cff300180000000000000000000000000010302010f010001a0
+4d454c002101004dff300180000000000000000000000000010302010f010001a7
+4d454c002101004eff300180000000000000000000000000010302010f010001a6
+4d454c002101004fff300180000000000000000000000000010302010f010001a5
+4d454c0021010050ff300180000000000000000000000000010302010f010001a4
+4d454c0021010051ff300180000000000000000000000000010302010f010001ab
+4d454c0021010052ff300180000000000000000000000000010302010f010001aa
+4d454c0021010053ff300180000000000000000000000000010302010f010001a9
+4d454c0021010054ff300180000000000000000000000000010302010f010001a8
+4d454c0021010055ff300180000000000000000000000000010302010f010001af
+4d454c0021010056ff300180000000000000000000000000010302010f010001ae
+4d454c0021010057ff300180000000000000000000000000010302010f010001ad
+4d454c0021010058ff300180000000000000000000000000010302010f010001ac
+4d454c0021010059ff300180000000000000000000000000010302010f01000193
+4d454c002101005aff300180000000000000000000000000010302010f01000192
+4d454c002101005bff300180000000000000000000000000010302010f01000191
+4d454c002101005cff300180000000000000000000000000010302010f01000190
+4d454c002101005dff300180000000000000000000000000010302010f01000197
+4d454c002101005eff300180000000000000000000000000010302010f01000196
+4d454c002101005fff300180000000000000000000000000010302010f01000195
+4d454c0021010060ff300180000000000000000000000000010302010f01000194
+4d454c0021010061ff300180000000000000000000000000010302010f0100019b
+4d454c0021010062ff300180000000000000000000000000010302010f0100019a
+4d454c0021010063ff300180000000000000000000000000010302010f01000199
+4d454c0021010064ff300180000000000000000000000000010302010f01000198
+4d454c0021010065ff300180000000000000000000000000010302010f0100019f
+4d454c0021010066ff300180000000000000000000000000010302010f0100019e
+4d454c0021010067ff300180000000000000000000000000010302010f0100019d
+4d454c0021010068ff300180000000000000000000000000010302010f0100019c
+4d454c0021010069ff300180000000000000000000000000010302010f01000183
+4d454c002101006aff300180000000000000000000000000010302010f01000182
+4d454c002101006bff300180000000000000000000000000010302010f01000181
+4d454c002101006cff300180000000000000000000000000010302010f01000180
+4d454c002101006dff300180000000000000000000000000010302010f01000187
+4d454c002101006eff300180000000000000000000000000010302010f01000186
+4d454c002101006fff300180000000000000000000000000010302010f01000185
+4d454c0021010070ff300180000000000000000000000000010302010f01000184
+4d454c0021010071ff300180000000000000000000000000010302010f0100018b
+4d454c0021010072ff300180000000000000000000000000010302010f0100018a
+4d454c0021010073ff300180000000000000000000000000010302010f01000189
+4d454c0021010074ff300180000000000000000000000000010302010f01000188
+4d454c0021010075ff300180000000000000000000000000010302010f0100018f
+4d454c0021010076ff300180000000000000000000000000010302010f0100018e
+4d454c0021010077ff300180000000000000000000000000010302010f0100018d
+4d454c0021010078ff300180000000000000000000000000010302010f0100018c
+4d454c0021010079ff300180000000000000000000000000010302010f01000173
+4d454c002101007aff300180000000000000000000000000010302010f01000172
+4d454c002101007bff300180000000000000000000000000010302010f01000171
+4d454c002101007cff300180000000000000000000000000010302010f01000170
+4d454c002101007dff300180000000000000000000000000010302010f01000177
+4d454c002101007eff300180000000000000000000000000010302010f01000176
+4d454c002101007fff300180000000000000000000000000010302010f01000175
+4d454c0021010080ff300180000000000000000000000000010302010f01000174
+4d454c0021010081ff300180000000000000000000000000010302010f0100017b
+4d454c0021010082ff300180000000000000000000000000010302010f0100017a
+4d454c0021010083ff300180000000000000000000000000010302010f01000179
+4d454c0021010084ff300180000000000000000000000000010302010f01000178
+4d454c0021010085ff300180000000000000000000000000010302010f0100017f
+4d454c0021010086ff300180000000000000000000000000010302010f0100017e
+4d454c0021010087ff300180000000000000000000000000010302010f0100017d
+4d454c0021010088ff300180000000000000000000000000010302010f0100017c
+4d454c0021010089ff300180000000000000000000000000010302010f01000163
+4d454c002101008aff300180000000000000000000000000010302010f01000162
+4d454c002101008bff300180000000000000000000000000010302010f01000161
+4d454c002101008cff300180000000000000000000000000010302010f01000160
+4d454c002101008dff300180000000000000000000000000010302010f01000167
+4d454c002101008eff300180000000000000000000000000010302010f01000166
+4d454c002101008fff300180000000000000000000000000010302010f01000165
+4d454c0021010090ff300180000000000000000000000000010302010f01000164
+4d454c0021010091ff300180000000000000000000000000010302010f0100016b
+4d454c0021010092ff300180000000000000000000000000010302010f0100016a
+4d454c0021010093ff300180000000000000000000000000010302010f01000169
+4d454c0021010094ff300180000000000000000000000000010302010f01000168
+4d454c0021010095ff300180000000000000000000000000010302010f0100016f
+4d454c0021010096ff300180000000000000000000000000010302010f0100016e
+4d454c0021010097ff300180000000000000000000000000010302010f0100016d
+4d454c0021010098ff300180000000000000000000000000010302010f0100016c
+4d454c0021010099ff300180000000000000000000000000010302010f01000153
+4d454c002101009aff300180000000000000000000000000010302010f01000152
+4d454c002101009bff300180000000000000000000000000010302010f01000151
+4d454c002101009cff300180000000000000000000000000010302010f01000150
+4d454c002101009dff300180000000000000000000000000010302010f01000157
+4d454c002101009eff300180000000000000000000000000010302010f01000156
+4d454c002101009fff300180000000000000000000000000010302010f01000155
+4d454c00210100a0ff300180000000000000000000000000010302010f01000154
+4d454c00210100a1ff300180000000000000000000000000010302010f0100015b
+4d454c00210100a2ff300180000000000000000000000000010302010f0100015a
+4d454c00210100a3ff300180000000000000000000000000010302010f01000159
+4d454c00210100a4ff300180000000000000000000000000010302010f01000158
+4d454c00210100a5ff300180000000000000000000000000010302010f0100015f
+4d454c00210100a6ff300180000000000000000000000000010302010f0100015e
+4d454c00210100a7ff300180000000000000000000000000010302010f0100015d
+4d454c00210100a8ff300180000000000000000000000000010302010f0100015c
+4d454c00210100a9ff300180000000000000000000000000010302010f01000143
+4d454c00210100aaff300180000000000000000000000000010302010f01000142
+4d454c00210100abff300180000000000000000000000000010302010f01000141
+4d454c00210100acff300180000000000000000000000000010302010f01000140
+4d454c00210100adff300180000000000000000000000000010302010f01000147
+4d454c00210100aeff300180000000000000000000000000010302010f01000146
+4d454c00210100afff300180000000000000000000000000010302010f01000145
+4d454c00210100b0ff300180000000000000000000000000010302010f01000144
+4d454c00210100b1ff300180000000000000000000000000010302010f0100014b
+4d454c00210100b2ff300180000000000000000000000000010302010f0100014a
+4d454c00210100b3ff300180000000000000000000000000010302010f01000149
+4d454c00210100b4ff300180000000000000000000000000010302010f01000148
+4d454c00210100b5ff300180000000000000000000000000010302010f0100014f
+4d454c00210100b6ff300180000000000000000000000000010302010f0100014e
+4d454c00210100b7ff300180000000000000000000000000010302010f0100014d
+4d454c00210100b8ff300180000000000000000000000000010302010f0100014c
+4d454c00210100b9ff300180000000000000000000000000010302010f01000133
+4d454c00210100baff300180000000000000000000000000010302010f01000132
+4d454c00210100bbff300180000000000000000000000000010302010f01000131
+4d454c00210100bcff300180000000000000000000000000010302010f01000130
+4d454c00210100bdff300180000000000000000000000000010302010f01000137
+4d454c00210100beff300180000000000000000000000000010302010f01000136
+4d454c00210100bfff300180000000000000000000000000010302010f01000135
+4d454c00210100c0ff300180000000000000000000000000010302010f01000134
+4d454c00210100c1ff300180000000000000000000000000010302010f0100013b
+4d454c00210100c2ff300180000000000000000000000000010302010f0100013a
+4d454c00210100c3ff300180000000000000000000000000010302010f01000139
+4d454c00210100c4ff300180000000000000000000000000010302010f01000138
+4d454c00210100c5ff300180000000000000000000000000010302010f0100013f
+4d454c00210100c6ff300180000000000000000000000000010302010f0100013e
+4d454c00210100c7ff300180000000000000000000000000010302010f0100013d
+4d454c00210100c8ff300180000000000000000000000000010302010f0100013c
+4d454c00210100c9ff300180000000000000000000000000010302010f01000123
+4d454c00210100caff300180000000000000000000000000010302010f01000122
+4d454c00210100cbff300180000000000000000000000000010302010f01000121
+4d454c00210100ccff300180000000000000000000000000010302010f01000120
+4d454c00210100cdff300180000000000000000000000000010302010f01000127
+4d454c00210100ceff300180000000000000000000000000010302010f01000126
+4d454c00210100cfff300180000000000000000000000000010302010f01000125
+4d454c00210100d0ff300180000000000000000000000000010302010f01000124
+4d454c00210100d1ff300180000000000000000000000000010302010f0100012b
+4d454c00210100d2ff300180000000000000000000000000010302010f0100012a
+4d454c00210100d3ff300180000000000000000000000000010302010f01000129
+4d454c00210100d4ff300180000000000000000000000000010302010f01000128
+4d454c00210100d5ff300180000000000000000000000000010302010f0100012f
+4d454c00210100d6ff300180000000000000000000000000010302010f0100012e
+4d454c00210100d7ff300180000000000000000000000000010302010f0100012d
+4d454c00210100d8ff300180000000000000000000000000010302010f0100012c
+4d454c00210100d9ff300180000000000000000000000000010302010f01000113
+4d454c00210100daff300180000000000000000000000000010302010f01000112
+4d454c00210100dbff300180000000000000000000000000010302010f01000111
+4d454c00210100dcff300180000000000000000000000000010302010f01000110
+4d454c00210100ddff300180000000000000000000000000010302010f01000117
+4d454c00210100deff300180000000000000000000000000010302010f01000116
+4d454c00210100dfff300180000000000000000000000000010302010f01000115
+4d454c00210100e0ff300180000000000000000000000000010302010f01000114
+4d454c00210100e1ff300180000000000000000000000000010302010f0100011b
+4d454c00210100e2ff300180000000000000000000000000010302010f0100011a
+4d454c00210100e3ff300180000000000000000000000000010302010f01000119
+4d454c00210100e4ff300180000000000000000000000000010302010f01000118
+4d454c00210100e5ff300180000000000000000000000000010302010f0100011f
+4d454c00210100e6ff300180000000000000000000000000010302010f0100011e
+4d454c00210100e7ff300180000000000000000000000000010302010f0100011d
+4d454c00210100e8ff300180000000000000000000000000010302010f0100011c
+4d454c00210100e9ff300180000000000000000000000000010302010f01000103
+4d454c00210100eaff300180000000000000000000000000010302010f01000102
+4d454c00210100ebff300180000000000000000000000000010302010f01000101
+4d454c00210100ecff300180000000000000000000000000010302010f01000100
+4d454c00210100edff300180000000000000000000000000010302010f01000107
+4d454c00210100eeff300180000000000000000000000000010302010f01000106
+4d454c00210100efff300180000000000000000000000000010302010f01000105
+4d454c00210100f0ff300180000000000000000000000000010302010f01000104
+4d454c00210100f1ff300180000000000000000000000000010302010f0100010b
+4d454c00210100f2ff300180000000000000000000000000010302010f0100010a
+4d454c00210100f3ff300180000000000000000000000000010302010f01000109
+4d454c00210100f4ff300180000000000000000000000000010302010f01000108
+4d454c00210100f5ff300180000000000000000000000000010302010f0100010f
+4d454c00210100f6ff300180000000000000000000000000010302010f0100010e
+4d454c00210100f7ff300180000000000000000000000000010302010f0100010d
+4d454c00210100f8ff300180000000000000000000000000010302010f0100010c
+4d454c00210100f9ff300180000000000000000000000000010302010f010000f3
+4d454c00210100faff300180000000000000000000000000010302010f010000f2
+4d454c00210100fbff300180000000000000000000000000010302010f010000f1
+4d454c00210100fcff300180000000000000000000000000010302010f010000f0
+4d454c00210100fdff300180000000000000000000000000010302010f010000f7
+4d454c00210100feff300180000000000000000000000000010302010f010000f6
+4d454c00210100ffff300180000000000000000000000000010302010f010000f5
diff --git a/research/bad-bruteforcing/grouped/melody15-vol3-zone8-repeat-increments.txt b/research/bad-bruteforcing/grouped/melody15-vol3-zone8-repeat-increments.txt
new file mode 100644
index 0000000..7003038
--- /dev/null
+++ b/research/bad-bruteforcing/grouped/melody15-vol3-zone8-repeat-increments.txt
@@ -0,0 +1,5 @@
+4d454c0021010000ff300180000000000000000000000000010301010f010001f3
+4d454c0021010000ff300180000000000000000000000000010302010f010001f4
+4d454c0021010000ff300180000000000000000000000000010303010f010001f5
+4d454c0021010000ff300180000000000000000000000000010304010f010001f6
+4d454c0021010000ff300180000000000000000000000000010305010f010001f7 \ No newline at end of file
diff --git a/research/bad-bruteforcing/grouped/melody16-vol3-repeat2-zone-all-sequence.txt b/research/bad-bruteforcing/grouped/melody16-vol3-repeat2-zone-all-sequence.txt
new file mode 100644
index 0000000..b303072
--- /dev/null
+++ b/research/bad-bruteforcing/grouped/melody16-vol3-repeat2-zone-all-sequence.txt
@@ -0,0 +1,256 @@
+4d454c0021010000ff3001ffffffffffffffffffffffff0f01030201100100015e
+4d454c0021010001ff3001ffffffffffffffffffffffff0f010302011001000151
+4d454c0021010002ff3001ffffffffffffffffffffffff0f010302011001000150
+4d454c0021010003ff3001ffffffffffffffffffffffff0f010302011001000153
+4d454c0021010004ff3001ffffffffffffffffffffffff0f010302011001000152
+4d454c0021010005ff3001ffffffffffffffffffffffff0f010302011001000155
+4d454c0021010006ff3001ffffffffffffffffffffffff0f010302011001000154
+4d454c0021010007ff3001ffffffffffffffffffffffff0f010302011001000157
+4d454c0021010008ff3001ffffffffffffffffffffffff0f010302011001000156
+4d454c0021010009ff3001ffffffffffffffffffffffff0f010302011001000149
+4d454c002101000aff3001ffffffffffffffffffffffff0f010302011001000148
+4d454c002101000bff3001ffffffffffffffffffffffff0f01030201100100014b
+4d454c002101000cff3001ffffffffffffffffffffffff0f01030201100100014a
+4d454c002101000dff3001ffffffffffffffffffffffff0f01030201100100014d
+4d454c002101000eff3001ffffffffffffffffffffffff0f01030201100100014c
+4d454c002101000fff3001ffffffffffffffffffffffff0f01030201100100014f
+4d454c0021010010ff3001ffffffffffffffffffffffff0f01030201100100014e
+4d454c0021010011ff3001ffffffffffffffffffffffff0f010302011001000141
+4d454c0021010012ff3001ffffffffffffffffffffffff0f010302011001000140
+4d454c0021010013ff3001ffffffffffffffffffffffff0f010302011001000143
+4d454c0021010014ff3001ffffffffffffffffffffffff0f010302011001000142
+4d454c0021010015ff3001ffffffffffffffffffffffff0f010302011001000145
+4d454c0021010016ff3001ffffffffffffffffffffffff0f010302011001000144
+4d454c0021010017ff3001ffffffffffffffffffffffff0f010302011001000147
+4d454c0021010018ff3001ffffffffffffffffffffffff0f010302011001000146
+4d454c0021010019ff3001ffffffffffffffffffffffff0f010302011001000179
+4d454c002101001aff3001ffffffffffffffffffffffff0f010302011001000178
+4d454c002101001bff3001ffffffffffffffffffffffff0f01030201100100017b
+4d454c002101001cff3001ffffffffffffffffffffffff0f01030201100100017a
+4d454c002101001dff3001ffffffffffffffffffffffff0f01030201100100017d
+4d454c002101001eff3001ffffffffffffffffffffffff0f01030201100100017c
+4d454c002101001fff3001ffffffffffffffffffffffff0f01030201100100017f
+4d454c0021010020ff3001ffffffffffffffffffffffff0f01030201100100017e
+4d454c0021010021ff3001ffffffffffffffffffffffff0f010302011001000171
+4d454c0021010022ff3001ffffffffffffffffffffffff0f010302011001000170
+4d454c0021010023ff3001ffffffffffffffffffffffff0f010302011001000173
+4d454c0021010024ff3001ffffffffffffffffffffffff0f010302011001000172
+4d454c0021010025ff3001ffffffffffffffffffffffff0f010302011001000175
+4d454c0021010026ff3001ffffffffffffffffffffffff0f010302011001000174
+4d454c0021010027ff3001ffffffffffffffffffffffff0f010302011001000177
+4d454c0021010028ff3001ffffffffffffffffffffffff0f010302011001000176
+4d454c0021010029ff3001ffffffffffffffffffffffff0f010302011001000169
+4d454c002101002aff3001ffffffffffffffffffffffff0f010302011001000168
+4d454c002101002bff3001ffffffffffffffffffffffff0f01030201100100016b
+4d454c002101002cff3001ffffffffffffffffffffffff0f01030201100100016a
+4d454c002101002dff3001ffffffffffffffffffffffff0f01030201100100016d
+4d454c002101002eff3001ffffffffffffffffffffffff0f01030201100100016c
+4d454c002101002fff3001ffffffffffffffffffffffff0f01030201100100016f
+4d454c0021010030ff3001ffffffffffffffffffffffff0f01030201100100016e
+4d454c0021010031ff3001ffffffffffffffffffffffff0f010302011001000161
+4d454c0021010032ff3001ffffffffffffffffffffffff0f010302011001000160
+4d454c0021010033ff3001ffffffffffffffffffffffff0f010302011001000163
+4d454c0021010034ff3001ffffffffffffffffffffffff0f010302011001000162
+4d454c0021010035ff3001ffffffffffffffffffffffff0f010302011001000165
+4d454c0021010036ff3001ffffffffffffffffffffffff0f010302011001000164
+4d454c0021010037ff3001ffffffffffffffffffffffff0f010302011001000167
+4d454c0021010038ff3001ffffffffffffffffffffffff0f010302011001000166
+4d454c0021010039ff3001ffffffffffffffffffffffff0f010302011001000119
+4d454c002101003aff3001ffffffffffffffffffffffff0f010302011001000118
+4d454c002101003bff3001ffffffffffffffffffffffff0f01030201100100011b
+4d454c002101003cff3001ffffffffffffffffffffffff0f01030201100100011a
+4d454c002101003dff3001ffffffffffffffffffffffff0f01030201100100011d
+4d454c002101003eff3001ffffffffffffffffffffffff0f01030201100100011c
+4d454c002101003fff3001ffffffffffffffffffffffff0f01030201100100011f
+4d454c0021010040ff3001ffffffffffffffffffffffff0f01030201100100011e
+4d454c0021010041ff3001ffffffffffffffffffffffff0f010302011001000111
+4d454c0021010042ff3001ffffffffffffffffffffffff0f010302011001000110
+4d454c0021010043ff3001ffffffffffffffffffffffff0f010302011001000113
+4d454c0021010044ff3001ffffffffffffffffffffffff0f010302011001000112
+4d454c0021010045ff3001ffffffffffffffffffffffff0f010302011001000115
+4d454c0021010046ff3001ffffffffffffffffffffffff0f010302011001000114
+4d454c0021010047ff3001ffffffffffffffffffffffff0f010302011001000117
+4d454c0021010048ff3001ffffffffffffffffffffffff0f010302011001000116
+4d454c0021010049ff3001ffffffffffffffffffffffff0f010302011001000109
+4d454c002101004aff3001ffffffffffffffffffffffff0f010302011001000108
+4d454c002101004bff3001ffffffffffffffffffffffff0f01030201100100010b
+4d454c002101004cff3001ffffffffffffffffffffffff0f01030201100100010a
+4d454c002101004dff3001ffffffffffffffffffffffff0f01030201100100010d
+4d454c002101004eff3001ffffffffffffffffffffffff0f01030201100100010c
+4d454c002101004fff3001ffffffffffffffffffffffff0f01030201100100010f
+4d454c0021010050ff3001ffffffffffffffffffffffff0f01030201100100010e
+4d454c0021010051ff3001ffffffffffffffffffffffff0f010302011001000101
+4d454c0021010052ff3001ffffffffffffffffffffffff0f010302011001000100
+4d454c0021010053ff3001ffffffffffffffffffffffff0f010302011001000103
+4d454c0021010054ff3001ffffffffffffffffffffffff0f010302011001000102
+4d454c0021010055ff3001ffffffffffffffffffffffff0f010302011001000105
+4d454c0021010056ff3001ffffffffffffffffffffffff0f010302011001000104
+4d454c0021010057ff3001ffffffffffffffffffffffff0f010302011001000107
+4d454c0021010058ff3001ffffffffffffffffffffffff0f010302011001000106
+4d454c0021010059ff3001ffffffffffffffffffffffff0f010302011001000139
+4d454c002101005aff3001ffffffffffffffffffffffff0f010302011001000138
+4d454c002101005bff3001ffffffffffffffffffffffff0f01030201100100013b
+4d454c002101005cff3001ffffffffffffffffffffffff0f01030201100100013a
+4d454c002101005dff3001ffffffffffffffffffffffff0f01030201100100013d
+4d454c002101005eff3001ffffffffffffffffffffffff0f01030201100100013c
+4d454c002101005fff3001ffffffffffffffffffffffff0f01030201100100013f
+4d454c0021010060ff3001ffffffffffffffffffffffff0f01030201100100013e
+4d454c0021010061ff3001ffffffffffffffffffffffff0f010302011001000131
+4d454c0021010062ff3001ffffffffffffffffffffffff0f010302011001000130
+4d454c0021010063ff3001ffffffffffffffffffffffff0f010302011001000133
+4d454c0021010064ff3001ffffffffffffffffffffffff0f010302011001000132
+4d454c0021010065ff3001ffffffffffffffffffffffff0f010302011001000135
+4d454c0021010066ff3001ffffffffffffffffffffffff0f010302011001000134
+4d454c0021010067ff3001ffffffffffffffffffffffff0f010302011001000137
+4d454c0021010068ff3001ffffffffffffffffffffffff0f010302011001000136
+4d454c0021010069ff3001ffffffffffffffffffffffff0f010302011001000129
+4d454c002101006aff3001ffffffffffffffffffffffff0f010302011001000128
+4d454c002101006bff3001ffffffffffffffffffffffff0f01030201100100012b
+4d454c002101006cff3001ffffffffffffffffffffffff0f01030201100100012a
+4d454c002101006dff3001ffffffffffffffffffffffff0f01030201100100012d
+4d454c002101006eff3001ffffffffffffffffffffffff0f01030201100100012c
+4d454c002101006fff3001ffffffffffffffffffffffff0f01030201100100012f
+4d454c0021010070ff3001ffffffffffffffffffffffff0f01030201100100012e
+4d454c0021010071ff3001ffffffffffffffffffffffff0f010302011001000121
+4d454c0021010072ff3001ffffffffffffffffffffffff0f010302011001000120
+4d454c0021010073ff3001ffffffffffffffffffffffff0f010302011001000123
+4d454c0021010074ff3001ffffffffffffffffffffffff0f010302011001000122
+4d454c0021010075ff3001ffffffffffffffffffffffff0f010302011001000125
+4d454c0021010076ff3001ffffffffffffffffffffffff0f010302011001000124
+4d454c0021010077ff3001ffffffffffffffffffffffff0f010302011001000127
+4d454c0021010078ff3001ffffffffffffffffffffffff0f010302011001000126
+4d454c0021010079ff3001ffffffffffffffffffffffff0f0103020110010001d9
+4d454c002101007aff3001ffffffffffffffffffffffff0f0103020110010001d8
+4d454c002101007bff3001ffffffffffffffffffffffff0f0103020110010001db
+4d454c002101007cff3001ffffffffffffffffffffffff0f0103020110010001da
+4d454c002101007dff3001ffffffffffffffffffffffff0f0103020110010001dd
+4d454c002101007eff3001ffffffffffffffffffffffff0f0103020110010001dc
+4d454c002101007fff3001ffffffffffffffffffffffff0f0103020110010001df
+4d454c0021010080ff3001ffffffffffffffffffffffff0f0103020110010001de
+4d454c0021010081ff3001ffffffffffffffffffffffff0f0103020110010001d1
+4d454c0021010082ff3001ffffffffffffffffffffffff0f0103020110010001d0
+4d454c0021010083ff3001ffffffffffffffffffffffff0f0103020110010001d3
+4d454c0021010084ff3001ffffffffffffffffffffffff0f0103020110010001d2
+4d454c0021010085ff3001ffffffffffffffffffffffff0f0103020110010001d5
+4d454c0021010086ff3001ffffffffffffffffffffffff0f0103020110010001d4
+4d454c0021010087ff3001ffffffffffffffffffffffff0f0103020110010001d7
+4d454c0021010088ff3001ffffffffffffffffffffffff0f0103020110010001d6
+4d454c0021010089ff3001ffffffffffffffffffffffff0f0103020110010001c9
+4d454c002101008aff3001ffffffffffffffffffffffff0f0103020110010001c8
+4d454c002101008bff3001ffffffffffffffffffffffff0f0103020110010001cb
+4d454c002101008cff3001ffffffffffffffffffffffff0f0103020110010001ca
+4d454c002101008dff3001ffffffffffffffffffffffff0f0103020110010001cd
+4d454c002101008eff3001ffffffffffffffffffffffff0f0103020110010001cc
+4d454c002101008fff3001ffffffffffffffffffffffff0f0103020110010001cf
+4d454c0021010090ff3001ffffffffffffffffffffffff0f0103020110010001ce
+4d454c0021010091ff3001ffffffffffffffffffffffff0f0103020110010001c1
+4d454c0021010092ff3001ffffffffffffffffffffffff0f0103020110010001c0
+4d454c0021010093ff3001ffffffffffffffffffffffff0f0103020110010001c3
+4d454c0021010094ff3001ffffffffffffffffffffffff0f0103020110010001c2
+4d454c0021010095ff3001ffffffffffffffffffffffff0f0103020110010001c5
+4d454c0021010096ff3001ffffffffffffffffffffffff0f0103020110010001c4
+4d454c0021010097ff3001ffffffffffffffffffffffff0f0103020110010001c7
+4d454c0021010098ff3001ffffffffffffffffffffffff0f0103020110010001c6
+4d454c0021010099ff3001ffffffffffffffffffffffff0f0103020110010001f9
+4d454c002101009aff3001ffffffffffffffffffffffff0f0103020110010001f8
+4d454c002101009bff3001ffffffffffffffffffffffff0f0103020110010001fb
+4d454c002101009cff3001ffffffffffffffffffffffff0f0103020110010001fa
+4d454c002101009dff3001ffffffffffffffffffffffff0f0103020110010001fd
+4d454c002101009eff3001ffffffffffffffffffffffff0f0103020110010001fc
+4d454c002101009fff3001ffffffffffffffffffffffff0f0103020110010001ff
+4d454c00210100a0ff3001ffffffffffffffffffffffff0f0103020110010001fe
+4d454c00210100a1ff3001ffffffffffffffffffffffff0f0103020110010001f1
+4d454c00210100a2ff3001ffffffffffffffffffffffff0f0103020110010001f0
+4d454c00210100a3ff3001ffffffffffffffffffffffff0f0103020110010001f3
+4d454c00210100a4ff3001ffffffffffffffffffffffff0f0103020110010001f2
+4d454c00210100a5ff3001ffffffffffffffffffffffff0f0103020110010001f5
+4d454c00210100a6ff3001ffffffffffffffffffffffff0f0103020110010001f4
+4d454c00210100a7ff3001ffffffffffffffffffffffff0f0103020110010001f7
+4d454c00210100a8ff3001ffffffffffffffffffffffff0f0103020110010001f6
+4d454c00210100a9ff3001ffffffffffffffffffffffff0f0103020110010001e9
+4d454c00210100aaff3001ffffffffffffffffffffffff0f0103020110010001e8
+4d454c00210100abff3001ffffffffffffffffffffffff0f0103020110010001eb
+4d454c00210100acff3001ffffffffffffffffffffffff0f0103020110010001ea
+4d454c00210100adff3001ffffffffffffffffffffffff0f0103020110010001ed
+4d454c00210100aeff3001ffffffffffffffffffffffff0f0103020110010001ec
+4d454c00210100afff3001ffffffffffffffffffffffff0f0103020110010001ef
+4d454c00210100b0ff3001ffffffffffffffffffffffff0f0103020110010001ee
+4d454c00210100b1ff3001ffffffffffffffffffffffff0f0103020110010001e1
+4d454c00210100b2ff3001ffffffffffffffffffffffff0f0103020110010001e0
+4d454c00210100b3ff3001ffffffffffffffffffffffff0f0103020110010001e3
+4d454c00210100b4ff3001ffffffffffffffffffffffff0f0103020110010001e2
+4d454c00210100b5ff3001ffffffffffffffffffffffff0f0103020110010001e5
+4d454c00210100b6ff3001ffffffffffffffffffffffff0f0103020110010001e4
+4d454c00210100b7ff3001ffffffffffffffffffffffff0f0103020110010001e7
+4d454c00210100b8ff3001ffffffffffffffffffffffff0f0103020110010001e6
+4d454c00210100b9ff3001ffffffffffffffffffffffff0f010302011001000199
+4d454c00210100baff3001ffffffffffffffffffffffff0f010302011001000198
+4d454c00210100bbff3001ffffffffffffffffffffffff0f01030201100100019b
+4d454c00210100bcff3001ffffffffffffffffffffffff0f01030201100100019a
+4d454c00210100bdff3001ffffffffffffffffffffffff0f01030201100100019d
+4d454c00210100beff3001ffffffffffffffffffffffff0f01030201100100019c
+4d454c00210100bfff3001ffffffffffffffffffffffff0f01030201100100019f
+4d454c00210100c0ff3001ffffffffffffffffffffffff0f01030201100100019e
+4d454c00210100c1ff3001ffffffffffffffffffffffff0f010302011001000191
+4d454c00210100c2ff3001ffffffffffffffffffffffff0f010302011001000190
+4d454c00210100c3ff3001ffffffffffffffffffffffff0f010302011001000193
+4d454c00210100c4ff3001ffffffffffffffffffffffff0f010302011001000192
+4d454c00210100c5ff3001ffffffffffffffffffffffff0f010302011001000195
+4d454c00210100c6ff3001ffffffffffffffffffffffff0f010302011001000194
+4d454c00210100c7ff3001ffffffffffffffffffffffff0f010302011001000197
+4d454c00210100c8ff3001ffffffffffffffffffffffff0f010302011001000196
+4d454c00210100c9ff3001ffffffffffffffffffffffff0f010302011001000189
+4d454c00210100caff3001ffffffffffffffffffffffff0f010302011001000188
+4d454c00210100cbff3001ffffffffffffffffffffffff0f01030201100100018b
+4d454c00210100ccff3001ffffffffffffffffffffffff0f01030201100100018a
+4d454c00210100cdff3001ffffffffffffffffffffffff0f01030201100100018d
+4d454c00210100ceff3001ffffffffffffffffffffffff0f01030201100100018c
+4d454c00210100cfff3001ffffffffffffffffffffffff0f01030201100100018f
+4d454c00210100d0ff3001ffffffffffffffffffffffff0f01030201100100018e
+4d454c00210100d1ff3001ffffffffffffffffffffffff0f010302011001000181
+4d454c00210100d2ff3001ffffffffffffffffffffffff0f010302011001000180
+4d454c00210100d3ff3001ffffffffffffffffffffffff0f010302011001000183
+4d454c00210100d4ff3001ffffffffffffffffffffffff0f010302011001000182
+4d454c00210100d5ff3001ffffffffffffffffffffffff0f010302011001000185
+4d454c00210100d6ff3001ffffffffffffffffffffffff0f010302011001000184
+4d454c00210100d7ff3001ffffffffffffffffffffffff0f010302011001000187
+4d454c00210100d8ff3001ffffffffffffffffffffffff0f010302011001000186
+4d454c00210100d9ff3001ffffffffffffffffffffffff0f0103020110010001b9
+4d454c00210100daff3001ffffffffffffffffffffffff0f0103020110010001b8
+4d454c00210100dbff3001ffffffffffffffffffffffff0f0103020110010001bb
+4d454c00210100dcff3001ffffffffffffffffffffffff0f0103020110010001ba
+4d454c00210100ddff3001ffffffffffffffffffffffff0f0103020110010001bd
+4d454c00210100deff3001ffffffffffffffffffffffff0f0103020110010001bc
+4d454c00210100dfff3001ffffffffffffffffffffffff0f0103020110010001bf
+4d454c00210100e0ff3001ffffffffffffffffffffffff0f0103020110010001be
+4d454c00210100e1ff3001ffffffffffffffffffffffff0f0103020110010001b1
+4d454c00210100e2ff3001ffffffffffffffffffffffff0f0103020110010001b0
+4d454c00210100e3ff3001ffffffffffffffffffffffff0f0103020110010001b3
+4d454c00210100e4ff3001ffffffffffffffffffffffff0f0103020110010001b2
+4d454c00210100e5ff3001ffffffffffffffffffffffff0f0103020110010001b5
+4d454c00210100e6ff3001ffffffffffffffffffffffff0f0103020110010001b4
+4d454c00210100e7ff3001ffffffffffffffffffffffff0f0103020110010001b7
+4d454c00210100e8ff3001ffffffffffffffffffffffff0f0103020110010001b6
+4d454c00210100e9ff3001ffffffffffffffffffffffff0f0103020110010001a9
+4d454c00210100eaff3001ffffffffffffffffffffffff0f0103020110010001a8
+4d454c00210100ebff3001ffffffffffffffffffffffff0f0103020110010001ab
+4d454c00210100ecff3001ffffffffffffffffffffffff0f0103020110010001aa
+4d454c00210100edff3001ffffffffffffffffffffffff0f0103020110010001ad
+4d454c00210100eeff3001ffffffffffffffffffffffff0f0103020110010001ac
+4d454c00210100efff3001ffffffffffffffffffffffff0f0103020110010001af
+4d454c00210100f0ff3001ffffffffffffffffffffffff0f0103020110010001ae
+4d454c00210100f1ff3001ffffffffffffffffffffffff0f0103020110010001a1
+4d454c00210100f2ff3001ffffffffffffffffffffffff0f0103020110010001a0
+4d454c00210100f3ff3001ffffffffffffffffffffffff0f0103020110010001a3
+4d454c00210100f4ff3001ffffffffffffffffffffffff0f0103020110010001a2
+4d454c00210100f5ff3001ffffffffffffffffffffffff0f0103020110010001a5
+4d454c00210100f6ff3001ffffffffffffffffffffffff0f0103020110010001a4
+4d454c00210100f7ff3001ffffffffffffffffffffffff0f0103020110010001a7
+4d454c00210100f8ff3001ffffffffffffffffffffffff0f0103020110010001a6
+4d454c00210100f9ff3001ffffffffffffffffffffffff0f010302011001000059
+4d454c00210100faff3001ffffffffffffffffffffffff0f010302011001000058
+4d454c00210100fbff3001ffffffffffffffffffffffff0f01030201100100005b
+4d454c00210100fcff3001ffffffffffffffffffffffff0f01030201100100005a
+4d454c00210100fdff3001ffffffffffffffffffffffff0f01030201100100005d
+4d454c00210100feff3001ffffffffffffffffffffffff0f01030201100100005c
+4d454c00210100ffff3001ffffffffffffffffffffffff0f01030201100100005f
diff --git a/research/bad-bruteforcing/grouped/stop-zone-all-partial-sequence.txt b/research/bad-bruteforcing/grouped/stop-zone-all-partial-sequence.txt
new file mode 100644
index 0000000..2e4001e
--- /dev/null
+++ b/research/bad-bruteforcing/grouped/stop-zone-all-partial-sequence.txt
@@ -0,0 +1,33 @@
+4d454c001a010020ff5002ffffffffffffffffffffffff0f010b
+4d454c001a010021ff5002ffffffffffffffffffffffff0f0104
+4d454c001a010022ff5002ffffffffffffffffffffffff0f0105
+4d454c001a010028ff5002ffffffffffffffffffffffff0f0103
+4d454c001a010029ff5002ffffffffffffffffffffffff0f011c
+4d454c001a01002aff5002ffffffffffffffffffffffff0f011d
+4d454c001a01002bff5002ffffffffffffffffffffffff0f011e
+4d454c001a01002cff5002ffffffffffffffffffffffff0f011f
+4d454c001a01002dff5002ffffffffffffffffffffffff0f0118
+4d454c001a01002eff5002ffffffffffffffffffffffff0f0119
+4d454c001a01002fff5002ffffffffffffffffffffffff0f011a
+4d454c001a010030ff5002ffffffffffffffffffffffff0f011b
+4d454c001a010031ff5002ffffffffffffffffffffffff0f0114
+4d454c001a010032ff5002ffffffffffffffffffffffff0f0115
+4d454c001a010033ff5002ffffffffffffffffffffffff0f0116
+4d454c001a010034ff5002ffffffffffffffffffffffff0f0117
+4d454c001a010035ff5002ffffffffffffffffffffffff0f0110
+4d454c001a010036ff5002ffffffffffffffffffffffff0f0111
+4d454c001a010037ff5002ffffffffffffffffffffffff0f0112
+4d454c001a010038ff5002ffffffffffffffffffffffff0f0113
+4d454c001a010039ff5002ffffffffffffffffffffffff0f016c
+4d454c001a01003aff5002ffffffffffffffffffffffff0f016d
+4d454c001a01003bff5002ffffffffffffffffffffffff0f016e
+4d454c001a01003cff5002ffffffffffffffffffffffff0f016f
+4d454c001a01003dff5002ffffffffffffffffffffffff0f0168
+4d454c001a01003eff5002ffffffffffffffffffffffff0f0169
+4d454c001a01003fff5002ffffffffffffffffffffffff0f016a
+4d454c001a010040ff5002ffffffffffffffffffffffff0f016b
+4d454c001a010041ff5002ffffffffffffffffffffffff0f0164
+4d454c001a010042ff5002ffffffffffffffffffffffff0f0165
+4d454c001a010043ff5002ffffffffffffffffffffffff0f0166
+4d454c001a010044ff5002ffffffffffffffffffffffff0f0167
+4d454c001a010045ff5002ffffffffffffffffffffffff0f0160 \ No newline at end of file
diff --git a/research/bad-bruteforcing/random-captures.txt b/research/bad-bruteforcing/random-captures.txt
new file mode 100644
index 0000000..338997a
--- /dev/null
+++ b/research/bad-bruteforcing/random-captures.txt
@@ -0,0 +1,160 @@
+stop commands for all zones (system apparently only supports stopping all zones so its irrelevant):
+4d454c001a010020ff5002ffffffffffffffffffffffff0f010b
+4d454c001a010021ff5002ffffffffffffffffffffffff0f0104
+4d454c001a010022ff5002ffffffffffffffffffffffff0f0105
+4d454c001a010028ff5002ffffffffffffffffffffffff0f0103
+4d454c001a010029ff5002ffffffffffffffffffffffff0f011c
+4d454c001a01002aff5002ffffffffffffffffffffffff0f011d
+4d454c001a01002bff5002ffffffffffffffffffffffff0f011e
+4d454c001a01002cff5002ffffffffffffffffffffffff0f011f
+4d454c001a01002dff5002ffffffffffffffffffffffff0f0118
+4d454c001a01002eff5002ffffffffffffffffffffffff0f0119
+4d454c001a01002fff5002ffffffffffffffffffffffff0f011a
+4d454c001a010030ff5002ffffffffffffffffffffffff0f011b
+4d454c001a010031ff5002ffffffffffffffffffffffff0f0114
+4d454c001a010032ff5002ffffffffffffffffffffffff0f0115
+4d454c001a010033ff5002ffffffffffffffffffffffff0f0116
+4d454c001a010034ff5002ffffffffffffffffffffffff0f0117
+4d454c001a010035ff5002ffffffffffffffffffffffff0f0110
+4d454c001a010036ff5002ffffffffffffffffffffffff0f0111
+4d454c001a010037ff5002ffffffffffffffffffffffff0f0112
+4d454c001a010038ff5002ffffffffffffffffffffffff0f0113
+4d454c001a010039ff5002ffffffffffffffffffffffff0f016c
+4d454c001a01003aff5002ffffffffffffffffffffffff0f016d
+4d454c001a01003bff5002ffffffffffffffffffffffff0f016e
+4d454c001a01003cff5002ffffffffffffffffffffffff0f016f
+4d454c001a01003dff5002ffffffffffffffffffffffff0f0168
+4d454c001a01003eff5002ffffffffffffffffffffffff0f0169
+4d454c001a01003fff5002ffffffffffffffffffffffff0f016a
+4d454c001a010040ff5002ffffffffffffffffffffffff0f016b
+4d454c001a010041ff5002ffffffffffffffffffffffff0f0164
+4d454c001a010042ff5002ffffffffffffffffffffffff0f0165
+4d454c001a010043ff5002ffffffffffffffffffffffff0f0166
+4d454c001a010044ff5002ffffffffffffffffffffffff0f0167
+4d454c001a010045ff5002ffffffffffffffffffffffff0f0160
+
+alarm for some zone (forgot which) 5001 is alarm which also makes flashing lights turn on in addition to the melody playing :
+4d454c0021010000ff500100000000000000200000200000020301010f01000110
+4d454c0021010001ff500100000000000000200000200000020301010f0100011f
+4d454c0021010002ff500100000000000000200000200000020301010f0100011e
+4d454c0021010003ff500100000000000000200000200000020301010f0100011d
+4d454c0021010004ff500100000000000000200000200000020301010f0100011c
+4d454c0021010005ff500100000000000000200000200000020301010f0100011b
+4d454c0021010006ff500100000000000000200000200000020301010f0100011a
+4d454c0021010007ff500100000000000000200000200000020301010f01000119
+4d454c0021010008ff500100000000000000200000200000020301010f01000118
+4d454c0021010009ff500100000000000000200000200000020301010f01000107
+4d454c002101000aff500100000000000000200000200000020301010f01000106
+4d454c002101000bff500100000000000000200000200000020301010f01000105
+4d454c002101000cff500100000000000000200000200000020301010f01000104
+4d454c002101000dff500100000000000000200000200000020301010f01000103
+4d454c002101000eff500100000000000000200000200000020301010f01000102
+4d454c002101000fff500100000000000000200000200000020301010f01000101
+4d454c0021010010ff500100000000000000200000200000020301010f01000100
+4d454c0021010011ff500100000000000000200000200000020301010f0100010f
+4d454c0021010012ff500100000000000000200000200000020301010f0100010e
+4d454c0021010013ff500100000000000000200000200000020301010f0100010d
+4d454c0021010014ff500100000000000000200000200000020301010f0100010c
+4d454c0021010015ff500100000000000000200000200000020301010f0100010b
+4d454c0021010016ff500100000000000000200000200000020301010f0100010a
+4d454c0021010017ff500100000000000000200000200000020301010f01000109
+4d454c0021010018ff500100000000000000200000200000020301010f01000108
+4d454c0021010019ff500100000000000000200000200000020301010f01000137
+4d454c002101001aff500100000000000000200000200000020301010f01000136
+4d454c002101001bff500100000000000000200000200000020301010f01000135
+4d454c002101001cff500100000000000000200000200000020301010f01000134
+4d454c002101001dff500100000000000000200000200000020301010f01000133
+
+Example data 2 of playing melody in zone 8 :
+4d454c00210100a6ff300180000000000000000000000000010301010f01000159
+4d454c00210100a7ff300180000000000000000000000000010301010f0100015a
+4d454c00210100a8ff300180000000000000000000000000010301010f0100015b
+4d454c00210100a9ff300180000000000000000000000000010301010f01000144
+4d454c00210100aaff300180000000000000000000000000010301010f01000145
+4d454c00210100abff300180000000000000000000000000010301010f01000146
+4d454c00210100acff300180000000000000000000000000010301010f01000147
+4d454c00210100adff300180000000000000000000000000010301010f01000140
+4d454c00210100aeff300180000000000000000000000000010301010f01000141
+4d454c00210100afff300180000000000000000000000000010301010f01000142
+4d454c00210100b0ff300180000000000000000000000000010301010f01000143
+4d454c00210100b1ff300180000000000000000000000000010301010f0100014c
+4d454c00210100b2ff300180000000000000000000000000010301010f0100014d
+4d454c00210100b3ff300180000000000000000000000000010301010f0100014e
+4d454c00210100b4ff300180000000000000000000000000010301010f0100014f
+4d454c00210100b5ff300180000000000000000000000000010301010f01000148
+4d454c00210100b6ff300180000000000000000000000000010301010f01000149
+4d454c00210100b7ff300180000000000000000000000000010301010f0100014a
+4d454c00210100b8ff300180000000000000000000000000010301010f0100014b
+4d454c00210100b9ff300180000000000000000000000000010301010f01000134
+4d454c00210100baff300180000000000000000000000000010301010f01000135
+4d454c00210100bbff300180000000000000000000000000010301010f01000136
+4d454c00210100bcff300180000000000000000000000000010301010f01000137
+4d454c00210100bdff300180000000000000000000000000010301010f01000130
+4d454c00210100beff300180000000000000000000000000010301010f01000131
+4d454c00210100bfff300180000000000000000000000000010301010f01000132
+4d454c00210100c0ff300180000000000000000000000000010301010f01000133
+4d454c00210100c1ff300180000000000000000000000000010301010f0100013c
+4d454c00210100c2ff300180000000000000000000000000010301010f0100013d
+4d454c00210100c3ff300180000000000000000000000000010301010f0100013e
+4d454c00210100c4ff300180000000000000000000000000010301010f0100013f
+4d454c00210100c5ff300180000000000000000000000000010301010f01000138
+4d454c00210100c6ff300180000000000000000000000000010301010f01000139
+4d454c00210100c7ff300180000000000000000000000000010301010f0100013a
+4d454c00210100c8ff300180000000000000000000000000010301010f0100013b
+4d454c00210100c9ff300180000000000000000000000000010301010f01000124
+4d454c00210100caff300180000000000000000000000000010301010f01000125
+4d454c00210100cbff300180000000000000000000000000010301010f01000126
+4d454c00210100ccff300180000000000000000000000000010301010f01000127
+4d454c00210100cdff300180000000000000000000000000010301010f01000120
+
+Example data 1 of playing melody in zone 16 :
+4d454c00210100ceff30010000800000000000000000000001030101090100012f
+4d454c00210100cfff30010000800000000000000000000001030101090100012c
+4d454c00210100d0ff30010000800000000000000000000001030101090100012d
+4d454c00210100d1ff300100008000000000000000000000010301010901000122
+4d454c00210100d2ff300100008000000000000000000000010301010901000123
+4d454c00210100d3ff300100008000000000000000000000010301010901000120
+4d454c00210100d4ff300100008000000000000000000000010301010901000121
+4d454c00210100d5ff300100008000000000000000000000010301010901000126
+4d454c00210100d6ff300100008000000000000000000000010301010901000127
+4d454c00210100d7ff300100008000000000000000000000010301010901000124
+4d454c00210100d8ff300100008000000000000000000000010301010901000125
+4d454c00210100d9ff30010000800000000000000000000001030101090100011a
+4d454c00210100daff30010000800000000000000000000001030101090100011b
+4d454c00210100dbff300100008000000000000000000000010301010901000118
+4d454c00210100dcff300100008000000000000000000000010301010901000119
+4d454c00210100ddff30010000800000000000000000000001030101090100011e
+4d454c00210100deff30010000800000000000000000000001030101090100011f
+4d454c00210100dfff30010000800000000000000000000001030101090100011c
+4d454c00210100e0ff30010000800000000000000000000001030101090100011d
+4d454c00210100e1ff300100008000000000000000000000010301010901000112
+4d454c00210100e2ff300100008000000000000000000000010301010901000113
+4d454c00210100e3ff300100008000000000000000000000010301010901000110
+4d454c00210100e4ff300100008000000000000000000000010301010901000111
+4d454c00210100e5ff300100008000000000000000000000010301010901000116
+4d454c00210100e6ff300100008000000000000000000000010301010901000117
+4d454c00210100e7ff300100008000000000000000000000010301010901000114
+4d454c00210100e8ff300100008000000000000000000000010301010901000115
+4d454c00210100e9ff30010000800000000000000000000001030101090100010a
+4d454c00210100eaff30010000800000000000000000000001030101090100010b
+4d454c00210100ebff300100008000000000000000000000010301010901000108
+4d454c00210100ecff300100008000000000000000000000010301010901000109
+4d454c00210100edff30010000800000000000000000000001030101090100010e
+4d454c00210100eeff30010000800000000000000000000001030101090100010f
+4d454c00210100efff30010000800000000000000000000001030101090100010c
+4d454c00210100f0ff30010000800000000000000000000001030101090100010d
+4d454c00210100f1ff300100008000000000000000000000010301010901000102
+4d454c00210100f2ff300100008000000000000000000000010301010901000103
+4d454c00210100f3ff300100008000000000000000000000010301010901000100
+4d454c00210100f4ff300100008000000000000000000000010301010901000101
+4d454c00210100f5ff300100008000000000000000000000010301010901000106
+4d454c00210100f6ff300100008000000000000000000000010301010901000107
+4d454c00210100f7ff500100000000000000200000200000020301010f010001e9
+4d454c00210100f8ff500100000000000000200000200000020301010f010001e8
+4d454c00210100f9ff500100000000000000200000200000020301010f01000017
+4d454c00210100faff500100000000000000200000200000020301010f01000016
+4d454c00210100fbff500100000000000000200000200000020301010f01000015
+4d454c00210100fcff500100000000000000200000200000020301010f01000014
+4d454c00210100fdff500100000000000000200000200000020301010f01000013
+4d454c00210100feff500100000000000000200000200000020301010f01000012
+4d454c00210100ffff500100000000000000200000200000020301010f01000011
diff --git a/research/bad-bruteforcing/reveng-formatted/allzone-sequence.txt b/research/bad-bruteforcing/reveng-formatted/allzone-sequence.txt
new file mode 100644
index 0000000..5e6202f
--- /dev/null
+++ b/research/bad-bruteforcing/reveng-formatted/allzone-sequence.txt
@@ -0,0 +1,256 @@
+4d454c0021010000ff3001ffffffffffffffffffffffff0f0103020110010001=5e
+4d454c0021010001ff3001ffffffffffffffffffffffff0f0103020110010001=51
+4d454c0021010002ff3001ffffffffffffffffffffffff0f0103020110010001=50
+4d454c0021010003ff3001ffffffffffffffffffffffff0f0103020110010001=53
+4d454c0021010004ff3001ffffffffffffffffffffffff0f0103020110010001=52
+4d454c0021010005ff3001ffffffffffffffffffffffff0f0103020110010001=55
+4d454c0021010006ff3001ffffffffffffffffffffffff0f0103020110010001=54
+4d454c0021010007ff3001ffffffffffffffffffffffff0f0103020110010001=57
+4d454c0021010008ff3001ffffffffffffffffffffffff0f0103020110010001=56
+4d454c0021010009ff3001ffffffffffffffffffffffff0f0103020110010001=49
+4d454c002101000aff3001ffffffffffffffffffffffff0f0103020110010001=48
+4d454c002101000bff3001ffffffffffffffffffffffff0f0103020110010001=4b
+4d454c002101000cff3001ffffffffffffffffffffffff0f0103020110010001=4a
+4d454c002101000dff3001ffffffffffffffffffffffff0f0103020110010001=4d
+4d454c002101000eff3001ffffffffffffffffffffffff0f0103020110010001=4c
+4d454c002101000fff3001ffffffffffffffffffffffff0f0103020110010001=4f
+4d454c0021010010ff3001ffffffffffffffffffffffff0f0103020110010001=4e
+4d454c0021010011ff3001ffffffffffffffffffffffff0f0103020110010001=41
+4d454c0021010012ff3001ffffffffffffffffffffffff0f0103020110010001=40
+4d454c0021010013ff3001ffffffffffffffffffffffff0f0103020110010001=43
+4d454c0021010014ff3001ffffffffffffffffffffffff0f0103020110010001=42
+4d454c0021010015ff3001ffffffffffffffffffffffff0f0103020110010001=45
+4d454c0021010016ff3001ffffffffffffffffffffffff0f0103020110010001=44
+4d454c0021010017ff3001ffffffffffffffffffffffff0f0103020110010001=47
+4d454c0021010018ff3001ffffffffffffffffffffffff0f0103020110010001=46
+4d454c0021010019ff3001ffffffffffffffffffffffff0f0103020110010001=79
+4d454c002101001aff3001ffffffffffffffffffffffff0f0103020110010001=78
+4d454c002101001bff3001ffffffffffffffffffffffff0f0103020110010001=7b
+4d454c002101001cff3001ffffffffffffffffffffffff0f0103020110010001=7a
+4d454c002101001dff3001ffffffffffffffffffffffff0f0103020110010001=7d
+4d454c002101001eff3001ffffffffffffffffffffffff0f0103020110010001=7c
+4d454c002101001fff3001ffffffffffffffffffffffff0f0103020110010001=7f
+4d454c0021010020ff3001ffffffffffffffffffffffff0f0103020110010001=7e
+4d454c0021010021ff3001ffffffffffffffffffffffff0f0103020110010001=71
+4d454c0021010022ff3001ffffffffffffffffffffffff0f0103020110010001=70
+4d454c0021010023ff3001ffffffffffffffffffffffff0f0103020110010001=73
+4d454c0021010024ff3001ffffffffffffffffffffffff0f0103020110010001=72
+4d454c0021010025ff3001ffffffffffffffffffffffff0f0103020110010001=75
+4d454c0021010026ff3001ffffffffffffffffffffffff0f0103020110010001=74
+4d454c0021010027ff3001ffffffffffffffffffffffff0f0103020110010001=77
+4d454c0021010028ff3001ffffffffffffffffffffffff0f0103020110010001=76
+4d454c0021010029ff3001ffffffffffffffffffffffff0f0103020110010001=69
+4d454c002101002aff3001ffffffffffffffffffffffff0f0103020110010001=68
+4d454c002101002bff3001ffffffffffffffffffffffff0f0103020110010001=6b
+4d454c002101002cff3001ffffffffffffffffffffffff0f0103020110010001=6a
+4d454c002101002dff3001ffffffffffffffffffffffff0f0103020110010001=6d
+4d454c002101002eff3001ffffffffffffffffffffffff0f0103020110010001=6c
+4d454c002101002fff3001ffffffffffffffffffffffff0f0103020110010001=6f
+4d454c0021010030ff3001ffffffffffffffffffffffff0f0103020110010001=6e
+4d454c0021010031ff3001ffffffffffffffffffffffff0f0103020110010001=61
+4d454c0021010032ff3001ffffffffffffffffffffffff0f0103020110010001=60
+4d454c0021010033ff3001ffffffffffffffffffffffff0f0103020110010001=63
+4d454c0021010034ff3001ffffffffffffffffffffffff0f0103020110010001=62
+4d454c0021010035ff3001ffffffffffffffffffffffff0f0103020110010001=65
+4d454c0021010036ff3001ffffffffffffffffffffffff0f0103020110010001=64
+4d454c0021010037ff3001ffffffffffffffffffffffff0f0103020110010001=67
+4d454c0021010038ff3001ffffffffffffffffffffffff0f0103020110010001=66
+4d454c0021010039ff3001ffffffffffffffffffffffff0f0103020110010001=19
+4d454c002101003aff3001ffffffffffffffffffffffff0f0103020110010001=18
+4d454c002101003bff3001ffffffffffffffffffffffff0f0103020110010001=1b
+4d454c002101003cff3001ffffffffffffffffffffffff0f0103020110010001=1a
+4d454c002101003dff3001ffffffffffffffffffffffff0f0103020110010001=1d
+4d454c002101003eff3001ffffffffffffffffffffffff0f0103020110010001=1c
+4d454c002101003fff3001ffffffffffffffffffffffff0f0103020110010001=1f
+4d454c0021010040ff3001ffffffffffffffffffffffff0f0103020110010001=1e
+4d454c0021010041ff3001ffffffffffffffffffffffff0f0103020110010001=11
+4d454c0021010042ff3001ffffffffffffffffffffffff0f0103020110010001=10
+4d454c0021010043ff3001ffffffffffffffffffffffff0f0103020110010001=13
+4d454c0021010044ff3001ffffffffffffffffffffffff0f0103020110010001=12
+4d454c0021010045ff3001ffffffffffffffffffffffff0f0103020110010001=15
+4d454c0021010046ff3001ffffffffffffffffffffffff0f0103020110010001=14
+4d454c0021010047ff3001ffffffffffffffffffffffff0f0103020110010001=17
+4d454c0021010048ff3001ffffffffffffffffffffffff0f0103020110010001=16
+4d454c0021010049ff3001ffffffffffffffffffffffff0f0103020110010001=09
+4d454c002101004aff3001ffffffffffffffffffffffff0f0103020110010001=08
+4d454c002101004bff3001ffffffffffffffffffffffff0f0103020110010001=0b
+4d454c002101004cff3001ffffffffffffffffffffffff0f0103020110010001=0a
+4d454c002101004dff3001ffffffffffffffffffffffff0f0103020110010001=0d
+4d454c002101004eff3001ffffffffffffffffffffffff0f0103020110010001=0c
+4d454c002101004fff3001ffffffffffffffffffffffff0f0103020110010001=0f
+4d454c0021010050ff3001ffffffffffffffffffffffff0f0103020110010001=0e
+4d454c0021010051ff3001ffffffffffffffffffffffff0f0103020110010001=01
+4d454c0021010052ff3001ffffffffffffffffffffffff0f0103020110010001=00
+4d454c0021010053ff3001ffffffffffffffffffffffff0f0103020110010001=03
+4d454c0021010054ff3001ffffffffffffffffffffffff0f0103020110010001=02
+4d454c0021010055ff3001ffffffffffffffffffffffff0f0103020110010001=05
+4d454c0021010056ff3001ffffffffffffffffffffffff0f0103020110010001=04
+4d454c0021010057ff3001ffffffffffffffffffffffff0f0103020110010001=07
+4d454c0021010058ff3001ffffffffffffffffffffffff0f0103020110010001=06
+4d454c0021010059ff3001ffffffffffffffffffffffff0f0103020110010001=39
+4d454c002101005aff3001ffffffffffffffffffffffff0f0103020110010001=38
+4d454c002101005bff3001ffffffffffffffffffffffff0f0103020110010001=3b
+4d454c002101005cff3001ffffffffffffffffffffffff0f0103020110010001=3a
+4d454c002101005dff3001ffffffffffffffffffffffff0f0103020110010001=3d
+4d454c002101005eff3001ffffffffffffffffffffffff0f0103020110010001=3c
+4d454c002101005fff3001ffffffffffffffffffffffff0f0103020110010001=3f
+4d454c0021010060ff3001ffffffffffffffffffffffff0f0103020110010001=3e
+4d454c0021010061ff3001ffffffffffffffffffffffff0f0103020110010001=31
+4d454c0021010062ff3001ffffffffffffffffffffffff0f0103020110010001=30
+4d454c0021010063ff3001ffffffffffffffffffffffff0f0103020110010001=33
+4d454c0021010064ff3001ffffffffffffffffffffffff0f0103020110010001=32
+4d454c0021010065ff3001ffffffffffffffffffffffff0f0103020110010001=35
+4d454c0021010066ff3001ffffffffffffffffffffffff0f0103020110010001=34
+4d454c0021010067ff3001ffffffffffffffffffffffff0f0103020110010001=37
+4d454c0021010068ff3001ffffffffffffffffffffffff0f0103020110010001=36
+4d454c0021010069ff3001ffffffffffffffffffffffff0f0103020110010001=29
+4d454c002101006aff3001ffffffffffffffffffffffff0f0103020110010001=28
+4d454c002101006bff3001ffffffffffffffffffffffff0f0103020110010001=2b
+4d454c002101006cff3001ffffffffffffffffffffffff0f0103020110010001=2a
+4d454c002101006dff3001ffffffffffffffffffffffff0f0103020110010001=2d
+4d454c002101006eff3001ffffffffffffffffffffffff0f0103020110010001=2c
+4d454c002101006fff3001ffffffffffffffffffffffff0f0103020110010001=2f
+4d454c0021010070ff3001ffffffffffffffffffffffff0f0103020110010001=2e
+4d454c0021010071ff3001ffffffffffffffffffffffff0f0103020110010001=21
+4d454c0021010072ff3001ffffffffffffffffffffffff0f0103020110010001=20
+4d454c0021010073ff3001ffffffffffffffffffffffff0f0103020110010001=23
+4d454c0021010074ff3001ffffffffffffffffffffffff0f0103020110010001=22
+4d454c0021010075ff3001ffffffffffffffffffffffff0f0103020110010001=25
+4d454c0021010076ff3001ffffffffffffffffffffffff0f0103020110010001=24
+4d454c0021010077ff3001ffffffffffffffffffffffff0f0103020110010001=27
+4d454c0021010078ff3001ffffffffffffffffffffffff0f0103020110010001=26
+4d454c0021010079ff3001ffffffffffffffffffffffff0f0103020110010001=d9
+4d454c002101007aff3001ffffffffffffffffffffffff0f0103020110010001=d8
+4d454c002101007bff3001ffffffffffffffffffffffff0f0103020110010001=db
+4d454c002101007cff3001ffffffffffffffffffffffff0f0103020110010001=da
+4d454c002101007dff3001ffffffffffffffffffffffff0f0103020110010001=dd
+4d454c002101007eff3001ffffffffffffffffffffffff0f0103020110010001=dc
+4d454c002101007fff3001ffffffffffffffffffffffff0f0103020110010001=df
+4d454c0021010080ff3001ffffffffffffffffffffffff0f0103020110010001=de
+4d454c0021010081ff3001ffffffffffffffffffffffff0f0103020110010001=d1
+4d454c0021010082ff3001ffffffffffffffffffffffff0f0103020110010001=d0
+4d454c0021010083ff3001ffffffffffffffffffffffff0f0103020110010001=d3
+4d454c0021010084ff3001ffffffffffffffffffffffff0f0103020110010001=d2
+4d454c0021010085ff3001ffffffffffffffffffffffff0f0103020110010001=d5
+4d454c0021010086ff3001ffffffffffffffffffffffff0f0103020110010001=d4
+4d454c0021010087ff3001ffffffffffffffffffffffff0f0103020110010001=d7
+4d454c0021010088ff3001ffffffffffffffffffffffff0f0103020110010001=d6
+4d454c0021010089ff3001ffffffffffffffffffffffff0f0103020110010001=c9
+4d454c002101008aff3001ffffffffffffffffffffffff0f0103020110010001=c8
+4d454c002101008bff3001ffffffffffffffffffffffff0f0103020110010001=cb
+4d454c002101008cff3001ffffffffffffffffffffffff0f0103020110010001=ca
+4d454c002101008dff3001ffffffffffffffffffffffff0f0103020110010001=cd
+4d454c002101008eff3001ffffffffffffffffffffffff0f0103020110010001=cc
+4d454c002101008fff3001ffffffffffffffffffffffff0f0103020110010001=cf
+4d454c0021010090ff3001ffffffffffffffffffffffff0f0103020110010001=ce
+4d454c0021010091ff3001ffffffffffffffffffffffff0f0103020110010001=c1
+4d454c0021010092ff3001ffffffffffffffffffffffff0f0103020110010001=c0
+4d454c0021010093ff3001ffffffffffffffffffffffff0f0103020110010001=c3
+4d454c0021010094ff3001ffffffffffffffffffffffff0f0103020110010001=c2
+4d454c0021010095ff3001ffffffffffffffffffffffff0f0103020110010001=c5
+4d454c0021010096ff3001ffffffffffffffffffffffff0f0103020110010001=c4
+4d454c0021010097ff3001ffffffffffffffffffffffff0f0103020110010001=c7
+4d454c0021010098ff3001ffffffffffffffffffffffff0f0103020110010001=c6
+4d454c0021010099ff3001ffffffffffffffffffffffff0f0103020110010001=f9
+4d454c002101009aff3001ffffffffffffffffffffffff0f0103020110010001=f8
+4d454c002101009bff3001ffffffffffffffffffffffff0f0103020110010001=fb
+4d454c002101009cff3001ffffffffffffffffffffffff0f0103020110010001=fa
+4d454c002101009dff3001ffffffffffffffffffffffff0f0103020110010001=fd
+4d454c002101009eff3001ffffffffffffffffffffffff0f0103020110010001=fc
+4d454c002101009fff3001ffffffffffffffffffffffff0f0103020110010001=ff
+4d454c00210100a0ff3001ffffffffffffffffffffffff0f0103020110010001=fe
+4d454c00210100a1ff3001ffffffffffffffffffffffff0f0103020110010001=f1
+4d454c00210100a2ff3001ffffffffffffffffffffffff0f0103020110010001=f0
+4d454c00210100a3ff3001ffffffffffffffffffffffff0f0103020110010001=f3
+4d454c00210100a4ff3001ffffffffffffffffffffffff0f0103020110010001=f2
+4d454c00210100a5ff3001ffffffffffffffffffffffff0f0103020110010001=f5
+4d454c00210100a6ff3001ffffffffffffffffffffffff0f0103020110010001=f4
+4d454c00210100a7ff3001ffffffffffffffffffffffff0f0103020110010001=f7
+4d454c00210100a8ff3001ffffffffffffffffffffffff0f0103020110010001=f6
+4d454c00210100a9ff3001ffffffffffffffffffffffff0f0103020110010001=e9
+4d454c00210100aaff3001ffffffffffffffffffffffff0f0103020110010001=e8
+4d454c00210100abff3001ffffffffffffffffffffffff0f0103020110010001=eb
+4d454c00210100acff3001ffffffffffffffffffffffff0f0103020110010001=ea
+4d454c00210100adff3001ffffffffffffffffffffffff0f0103020110010001=ed
+4d454c00210100aeff3001ffffffffffffffffffffffff0f0103020110010001=ec
+4d454c00210100afff3001ffffffffffffffffffffffff0f0103020110010001=ef
+4d454c00210100b0ff3001ffffffffffffffffffffffff0f0103020110010001=ee
+4d454c00210100b1ff3001ffffffffffffffffffffffff0f0103020110010001=e1
+4d454c00210100b2ff3001ffffffffffffffffffffffff0f0103020110010001=e0
+4d454c00210100b3ff3001ffffffffffffffffffffffff0f0103020110010001=e3
+4d454c00210100b4ff3001ffffffffffffffffffffffff0f0103020110010001=e2
+4d454c00210100b5ff3001ffffffffffffffffffffffff0f0103020110010001=e5
+4d454c00210100b6ff3001ffffffffffffffffffffffff0f0103020110010001=e4
+4d454c00210100b7ff3001ffffffffffffffffffffffff0f0103020110010001=e7
+4d454c00210100b8ff3001ffffffffffffffffffffffff0f0103020110010001=e6
+4d454c00210100b9ff3001ffffffffffffffffffffffff0f0103020110010001=99
+4d454c00210100baff3001ffffffffffffffffffffffff0f0103020110010001=98
+4d454c00210100bbff3001ffffffffffffffffffffffff0f0103020110010001=9b
+4d454c00210100bcff3001ffffffffffffffffffffffff0f0103020110010001=9a
+4d454c00210100bdff3001ffffffffffffffffffffffff0f0103020110010001=9d
+4d454c00210100beff3001ffffffffffffffffffffffff0f0103020110010001=9c
+4d454c00210100bfff3001ffffffffffffffffffffffff0f0103020110010001=9f
+4d454c00210100c0ff3001ffffffffffffffffffffffff0f0103020110010001=9e
+4d454c00210100c1ff3001ffffffffffffffffffffffff0f0103020110010001=91
+4d454c00210100c2ff3001ffffffffffffffffffffffff0f0103020110010001=90
+4d454c00210100c3ff3001ffffffffffffffffffffffff0f0103020110010001=93
+4d454c00210100c4ff3001ffffffffffffffffffffffff0f0103020110010001=92
+4d454c00210100c5ff3001ffffffffffffffffffffffff0f0103020110010001=95
+4d454c00210100c6ff3001ffffffffffffffffffffffff0f0103020110010001=94
+4d454c00210100c7ff3001ffffffffffffffffffffffff0f0103020110010001=97
+4d454c00210100c8ff3001ffffffffffffffffffffffff0f0103020110010001=96
+4d454c00210100c9ff3001ffffffffffffffffffffffff0f0103020110010001=89
+4d454c00210100caff3001ffffffffffffffffffffffff0f0103020110010001=88
+4d454c00210100cbff3001ffffffffffffffffffffffff0f0103020110010001=8b
+4d454c00210100ccff3001ffffffffffffffffffffffff0f0103020110010001=8a
+4d454c00210100cdff3001ffffffffffffffffffffffff0f0103020110010001=8d
+4d454c00210100ceff3001ffffffffffffffffffffffff0f0103020110010001=8c
+4d454c00210100cfff3001ffffffffffffffffffffffff0f0103020110010001=8f
+4d454c00210100d0ff3001ffffffffffffffffffffffff0f0103020110010001=8e
+4d454c00210100d1ff3001ffffffffffffffffffffffff0f0103020110010001=81
+4d454c00210100d2ff3001ffffffffffffffffffffffff0f0103020110010001=80
+4d454c00210100d3ff3001ffffffffffffffffffffffff0f0103020110010001=83
+4d454c00210100d4ff3001ffffffffffffffffffffffff0f0103020110010001=82
+4d454c00210100d5ff3001ffffffffffffffffffffffff0f0103020110010001=85
+4d454c00210100d6ff3001ffffffffffffffffffffffff0f0103020110010001=84
+4d454c00210100d7ff3001ffffffffffffffffffffffff0f0103020110010001=87
+4d454c00210100d8ff3001ffffffffffffffffffffffff0f0103020110010001=86
+4d454c00210100d9ff3001ffffffffffffffffffffffff0f0103020110010001=b9
+4d454c00210100daff3001ffffffffffffffffffffffff0f0103020110010001=b8
+4d454c00210100dbff3001ffffffffffffffffffffffff0f0103020110010001=bb
+4d454c00210100dcff3001ffffffffffffffffffffffff0f0103020110010001=ba
+4d454c00210100ddff3001ffffffffffffffffffffffff0f0103020110010001=bd
+4d454c00210100deff3001ffffffffffffffffffffffff0f0103020110010001=bc
+4d454c00210100dfff3001ffffffffffffffffffffffff0f0103020110010001=bf
+4d454c00210100e0ff3001ffffffffffffffffffffffff0f0103020110010001=be
+4d454c00210100e1ff3001ffffffffffffffffffffffff0f0103020110010001=b1
+4d454c00210100e2ff3001ffffffffffffffffffffffff0f0103020110010001=b0
+4d454c00210100e3ff3001ffffffffffffffffffffffff0f0103020110010001=b3
+4d454c00210100e4ff3001ffffffffffffffffffffffff0f0103020110010001=b2
+4d454c00210100e5ff3001ffffffffffffffffffffffff0f0103020110010001=b5
+4d454c00210100e6ff3001ffffffffffffffffffffffff0f0103020110010001=b4
+4d454c00210100e7ff3001ffffffffffffffffffffffff0f0103020110010001=b7
+4d454c00210100e8ff3001ffffffffffffffffffffffff0f0103020110010001=b6
+4d454c00210100e9ff3001ffffffffffffffffffffffff0f0103020110010001=a9
+4d454c00210100eaff3001ffffffffffffffffffffffff0f0103020110010001=a8
+4d454c00210100ebff3001ffffffffffffffffffffffff0f0103020110010001=ab
+4d454c00210100ecff3001ffffffffffffffffffffffff0f0103020110010001=aa
+4d454c00210100edff3001ffffffffffffffffffffffff0f0103020110010001=ad
+4d454c00210100eeff3001ffffffffffffffffffffffff0f0103020110010001=ac
+4d454c00210100efff3001ffffffffffffffffffffffff0f0103020110010001=af
+4d454c00210100f0ff3001ffffffffffffffffffffffff0f0103020110010001=ae
+4d454c00210100f1ff3001ffffffffffffffffffffffff0f0103020110010001=a1
+4d454c00210100f2ff3001ffffffffffffffffffffffff0f0103020110010001=a0
+4d454c00210100f3ff3001ffffffffffffffffffffffff0f0103020110010001=a3
+4d454c00210100f4ff3001ffffffffffffffffffffffff0f0103020110010001=a2
+4d454c00210100f5ff3001ffffffffffffffffffffffff0f0103020110010001=a5
+4d454c00210100f6ff3001ffffffffffffffffffffffff0f0103020110010001=a4
+4d454c00210100f7ff3001ffffffffffffffffffffffff0f0103020110010001=a7
+4d454c00210100f8ff3001ffffffffffffffffffffffff0f0103020110010001=a6
+4d454c00210100f9ff3001ffffffffffffffffffffffff0f0103020110010000=59
+4d454c00210100faff3001ffffffffffffffffffffffff0f0103020110010000=58
+4d454c00210100fbff3001ffffffffffffffffffffffff0f0103020110010000=5b
+4d454c00210100fcff3001ffffffffffffffffffffffff0f0103020110010000=5a
+4d454c00210100fdff3001ffffffffffffffffffffffff0f0103020110010000=5d
+4d454c00210100feff3001ffffffffffffffffffffffff0f0103020110010000=5c
+4d454c00210100ffff3001ffffffffffffffffffffffff0f0103020110010000=5f \ No newline at end of file
diff --git a/research/bad-bruteforcing/reveng-formatted/melody-16-vol3-once-zone-all.txt b/research/bad-bruteforcing/reveng-formatted/melody-16-vol3-once-zone-all.txt
new file mode 100644
index 0000000..83b01c7
--- /dev/null
+++ b/research/bad-bruteforcing/reveng-formatted/melody-16-vol3-once-zone-all.txt
@@ -0,0 +1,256 @@
+4d454c0021010000ff3001ffffffffffffffffffffffff0f0103010110010001=59
+4d454c0021010001ff3001ffffffffffffffffffffffff0f0103010110010001=56
+4d454c0021010002ff3001ffffffffffffffffffffffff0f0103010110010001=57
+4d454c0021010003ff3001ffffffffffffffffffffffff0f0103010110010001=54
+4d454c0021010004ff3001ffffffffffffffffffffffff0f0103010110010001=55
+4d454c0021010005ff3001ffffffffffffffffffffffff0f0103010110010001=52
+4d454c0021010006ff3001ffffffffffffffffffffffff0f0103010110010001=53
+4d454c0021010007ff3001ffffffffffffffffffffffff0f0103010110010001=50
+4d454c0021010008ff3001ffffffffffffffffffffffff0f0103010110010001=51
+4d454c0021010009ff3001ffffffffffffffffffffffff0f0103010110010001=4e
+4d454c002101000aff3001ffffffffffffffffffffffff0f0103010110010001=4f
+4d454c002101000bff3001ffffffffffffffffffffffff0f0103010110010001=4c
+4d454c002101000cff3001ffffffffffffffffffffffff0f0103010110010001=4d
+4d454c002101000dff3001ffffffffffffffffffffffff0f0103010110010001=4a
+4d454c002101000eff3001ffffffffffffffffffffffff0f0103010110010001=4b
+4d454c002101000fff3001ffffffffffffffffffffffff0f0103010110010001=48
+4d454c0021010010ff3001ffffffffffffffffffffffff0f0103010110010001=49
+4d454c0021010011ff3001ffffffffffffffffffffffff0f0103010110010001=46
+4d454c0021010012ff3001ffffffffffffffffffffffff0f0103010110010001=47
+4d454c0021010013ff3001ffffffffffffffffffffffff0f0103010110010001=44
+4d454c0021010014ff3001ffffffffffffffffffffffff0f0103010110010001=45
+4d454c0021010015ff3001ffffffffffffffffffffffff0f0103010110010001=42
+4d454c0021010016ff3001ffffffffffffffffffffffff0f0103010110010001=43
+4d454c0021010017ff3001ffffffffffffffffffffffff0f0103010110010001=40
+4d454c0021010018ff3001ffffffffffffffffffffffff0f0103010110010001=41
+4d454c0021010019ff3001ffffffffffffffffffffffff0f0103010110010001=7e
+4d454c002101001aff3001ffffffffffffffffffffffff0f0103010110010001=7f
+4d454c002101001bff3001ffffffffffffffffffffffff0f0103010110010001=7c
+4d454c002101001cff3001ffffffffffffffffffffffff0f0103010110010001=7d
+4d454c002101001dff3001ffffffffffffffffffffffff0f0103010110010001=7a
+4d454c002101001eff3001ffffffffffffffffffffffff0f0103010110010001=7b
+4d454c002101001fff3001ffffffffffffffffffffffff0f0103010110010001=78
+4d454c0021010020ff3001ffffffffffffffffffffffff0f0103010110010001=79
+4d454c0021010021ff3001ffffffffffffffffffffffff0f0103010110010001=76
+4d454c0021010022ff3001ffffffffffffffffffffffff0f0103010110010001=77
+4d454c0021010023ff3001ffffffffffffffffffffffff0f0103010110010001=74
+4d454c0021010024ff3001ffffffffffffffffffffffff0f0103010110010001=75
+4d454c0021010025ff3001ffffffffffffffffffffffff0f0103010110010001=72
+4d454c0021010026ff3001ffffffffffffffffffffffff0f0103010110010001=73
+4d454c0021010027ff3001ffffffffffffffffffffffff0f0103010110010001=70
+4d454c0021010028ff3001ffffffffffffffffffffffff0f0103010110010001=71
+4d454c0021010029ff3001ffffffffffffffffffffffff0f0103010110010001=6e
+4d454c002101002aff3001ffffffffffffffffffffffff0f0103010110010001=6f
+4d454c002101002bff3001ffffffffffffffffffffffff0f0103010110010001=6c
+4d454c002101002cff3001ffffffffffffffffffffffff0f0103010110010001=6d
+4d454c002101002dff3001ffffffffffffffffffffffff0f0103010110010001=6a
+4d454c002101002eff3001ffffffffffffffffffffffff0f0103010110010001=6b
+4d454c002101002fff3001ffffffffffffffffffffffff0f0103010110010001=68
+4d454c0021010030ff3001ffffffffffffffffffffffff0f0103010110010001=69
+4d454c0021010031ff3001ffffffffffffffffffffffff0f0103010110010001=66
+4d454c0021010032ff3001ffffffffffffffffffffffff0f0103010110010001=67
+4d454c0021010033ff3001ffffffffffffffffffffffff0f0103010110010001=64
+4d454c0021010034ff3001ffffffffffffffffffffffff0f0103010110010001=65
+4d454c0021010035ff3001ffffffffffffffffffffffff0f0103010110010001=62
+4d454c0021010036ff3001ffffffffffffffffffffffff0f0103010110010001=63
+4d454c0021010037ff3001ffffffffffffffffffffffff0f0103010110010001=60
+4d454c0021010038ff3001ffffffffffffffffffffffff0f0103010110010001=61
+4d454c0021010039ff3001ffffffffffffffffffffffff0f0103010110010001=1e
+4d454c002101003aff3001ffffffffffffffffffffffff0f0103010110010001=1f
+4d454c002101003bff3001ffffffffffffffffffffffff0f0103010110010001=1c
+4d454c002101003cff3001ffffffffffffffffffffffff0f0103010110010001=1d
+4d454c002101003dff3001ffffffffffffffffffffffff0f0103010110010001=1a
+4d454c002101003eff3001ffffffffffffffffffffffff0f0103010110010001=1b
+4d454c002101003fff3001ffffffffffffffffffffffff0f0103010110010001=18
+4d454c0021010040ff3001ffffffffffffffffffffffff0f0103010110010001=19
+4d454c0021010041ff3001ffffffffffffffffffffffff0f0103010110010001=16
+4d454c0021010042ff3001ffffffffffffffffffffffff0f0103010110010001=17
+4d454c0021010043ff3001ffffffffffffffffffffffff0f0103010110010001=14
+4d454c0021010044ff3001ffffffffffffffffffffffff0f0103010110010001=15
+4d454c0021010045ff3001ffffffffffffffffffffffff0f0103010110010001=12
+4d454c0021010046ff3001ffffffffffffffffffffffff0f0103010110010001=13
+4d454c0021010047ff3001ffffffffffffffffffffffff0f0103010110010001=10
+4d454c0021010048ff3001ffffffffffffffffffffffff0f0103010110010001=11
+4d454c0021010049ff3001ffffffffffffffffffffffff0f0103010110010001=0e
+4d454c002101004aff3001ffffffffffffffffffffffff0f0103010110010001=0f
+4d454c002101004bff3001ffffffffffffffffffffffff0f0103010110010001=0c
+4d454c002101004cff3001ffffffffffffffffffffffff0f0103010110010001=0d
+4d454c002101004dff3001ffffffffffffffffffffffff0f0103010110010001=0a
+4d454c002101004eff3001ffffffffffffffffffffffff0f0103010110010001=0b
+4d454c002101004fff3001ffffffffffffffffffffffff0f0103010110010001=08
+4d454c0021010050ff3001ffffffffffffffffffffffff0f0103010110010001=09
+4d454c0021010051ff3001ffffffffffffffffffffffff0f0103010110010001=06
+4d454c0021010052ff3001ffffffffffffffffffffffff0f0103010110010001=07
+4d454c0021010053ff3001ffffffffffffffffffffffff0f0103010110010001=04
+4d454c0021010054ff3001ffffffffffffffffffffffff0f0103010110010001=05
+4d454c0021010055ff3001ffffffffffffffffffffffff0f0103010110010001=02
+4d454c0021010056ff3001ffffffffffffffffffffffff0f0103010110010001=03
+4d454c0021010057ff3001ffffffffffffffffffffffff0f0103010110010001=00
+4d454c0021010058ff3001ffffffffffffffffffffffff0f0103010110010001=01
+4d454c0021010059ff3001ffffffffffffffffffffffff0f0103010110010001=3e
+4d454c002101005aff3001ffffffffffffffffffffffff0f0103010110010001=3f
+4d454c002101005bff3001ffffffffffffffffffffffff0f0103010110010001=3c
+4d454c002101005cff3001ffffffffffffffffffffffff0f0103010110010001=3d
+4d454c002101005dff3001ffffffffffffffffffffffff0f0103010110010001=3a
+4d454c002101005eff3001ffffffffffffffffffffffff0f0103010110010001=3b
+4d454c002101005fff3001ffffffffffffffffffffffff0f0103010110010001=38
+4d454c0021010060ff3001ffffffffffffffffffffffff0f0103010110010001=39
+4d454c0021010061ff3001ffffffffffffffffffffffff0f0103010110010001=36
+4d454c0021010062ff3001ffffffffffffffffffffffff0f0103010110010001=37
+4d454c0021010063ff3001ffffffffffffffffffffffff0f0103010110010001=34
+4d454c0021010064ff3001ffffffffffffffffffffffff0f0103010110010001=35
+4d454c0021010065ff3001ffffffffffffffffffffffff0f0103010110010001=32
+4d454c0021010066ff3001ffffffffffffffffffffffff0f0103010110010001=33
+4d454c0021010067ff3001ffffffffffffffffffffffff0f0103010110010001=30
+4d454c0021010068ff3001ffffffffffffffffffffffff0f0103010110010001=31
+4d454c0021010069ff3001ffffffffffffffffffffffff0f0103010110010001=2e
+4d454c002101006aff3001ffffffffffffffffffffffff0f0103010110010001=2f
+4d454c002101006bff3001ffffffffffffffffffffffff0f0103010110010001=2c
+4d454c002101006cff3001ffffffffffffffffffffffff0f0103010110010001=2d
+4d454c002101006dff3001ffffffffffffffffffffffff0f0103010110010001=2a
+4d454c002101006eff3001ffffffffffffffffffffffff0f0103010110010001=2b
+4d454c002101006fff3001ffffffffffffffffffffffff0f0103010110010001=28
+4d454c0021010070ff3001ffffffffffffffffffffffff0f0103010110010001=29
+4d454c0021010071ff3001ffffffffffffffffffffffff0f0103010110010001=26
+4d454c0021010072ff3001ffffffffffffffffffffffff0f0103010110010001=27
+4d454c0021010073ff3001ffffffffffffffffffffffff0f0103010110010001=24
+4d454c0021010074ff3001ffffffffffffffffffffffff0f0103010110010001=25
+4d454c0021010075ff3001ffffffffffffffffffffffff0f0103010110010001=22
+4d454c0021010076ff3001ffffffffffffffffffffffff0f0103010110010001=23
+4d454c0021010077ff3001ffffffffffffffffffffffff0f0103010110010001=20
+4d454c0021010078ff3001ffffffffffffffffffffffff0f0103010110010001=21
+4d454c0021010079ff3001ffffffffffffffffffffffff0f0103010110010001=de
+4d454c002101007aff3001ffffffffffffffffffffffff0f0103010110010001=df
+4d454c002101007bff3001ffffffffffffffffffffffff0f0103010110010001=dc
+4d454c002101007cff3001ffffffffffffffffffffffff0f0103010110010001=dd
+4d454c002101007dff3001ffffffffffffffffffffffff0f0103010110010001=da
+4d454c002101007eff3001ffffffffffffffffffffffff0f0103010110010001=db
+4d454c002101007fff3001ffffffffffffffffffffffff0f0103010110010001=d8
+4d454c0021010080ff3001ffffffffffffffffffffffff0f0103010110010001=d9
+4d454c0021010081ff3001ffffffffffffffffffffffff0f0103010110010001=d6
+4d454c0021010082ff3001ffffffffffffffffffffffff0f0103010110010001=d7
+4d454c0021010083ff3001ffffffffffffffffffffffff0f0103010110010001=d4
+4d454c0021010084ff3001ffffffffffffffffffffffff0f0103010110010001=d5
+4d454c0021010085ff3001ffffffffffffffffffffffff0f0103010110010001=d2
+4d454c0021010086ff3001ffffffffffffffffffffffff0f0103010110010001=d3
+4d454c0021010087ff3001ffffffffffffffffffffffff0f0103010110010001=d0
+4d454c0021010088ff3001ffffffffffffffffffffffff0f0103010110010001=d1
+4d454c0021010089ff3001ffffffffffffffffffffffff0f0103010110010001=ce
+4d454c002101008aff3001ffffffffffffffffffffffff0f0103010110010001=cf
+4d454c002101008bff3001ffffffffffffffffffffffff0f0103010110010001=cc
+4d454c002101008cff3001ffffffffffffffffffffffff0f0103010110010001=cd
+4d454c002101008dff3001ffffffffffffffffffffffff0f0103010110010001=ca
+4d454c002101008eff3001ffffffffffffffffffffffff0f0103010110010001=cb
+4d454c002101008fff3001ffffffffffffffffffffffff0f0103010110010001=c8
+4d454c0021010090ff3001ffffffffffffffffffffffff0f0103010110010001=c9
+4d454c0021010091ff3001ffffffffffffffffffffffff0f0103010110010001=c6
+4d454c0021010092ff3001ffffffffffffffffffffffff0f0103010110010001=c7
+4d454c0021010093ff3001ffffffffffffffffffffffff0f0103010110010001=c4
+4d454c0021010094ff3001ffffffffffffffffffffffff0f0103010110010001=c5
+4d454c0021010095ff3001ffffffffffffffffffffffff0f0103010110010001=c2
+4d454c0021010096ff3001ffffffffffffffffffffffff0f0103010110010001=c3
+4d454c0021010097ff3001ffffffffffffffffffffffff0f0103010110010001=c0
+4d454c0021010098ff3001ffffffffffffffffffffffff0f0103010110010001=c1
+4d454c0021010099ff3001ffffffffffffffffffffffff0f0103010110010001=fe
+4d454c002101009aff3001ffffffffffffffffffffffff0f0103010110010001=ff
+4d454c002101009bff3001ffffffffffffffffffffffff0f0103010110010001=fc
+4d454c002101009cff3001ffffffffffffffffffffffff0f0103010110010001=fd
+4d454c002101009dff3001ffffffffffffffffffffffff0f0103010110010001=fa
+4d454c002101009eff3001ffffffffffffffffffffffff0f0103010110010001=fb
+4d454c002101009fff3001ffffffffffffffffffffffff0f0103010110010001=f8
+4d454c00210100a0ff3001ffffffffffffffffffffffff0f0103010110010001=f9
+4d454c00210100a1ff3001ffffffffffffffffffffffff0f0103010110010001=f6
+4d454c00210100a2ff3001ffffffffffffffffffffffff0f0103010110010001=f7
+4d454c00210100a3ff3001ffffffffffffffffffffffff0f0103010110010001=f4
+4d454c00210100a4ff3001ffffffffffffffffffffffff0f0103010110010001=f5
+4d454c00210100a5ff3001ffffffffffffffffffffffff0f0103010110010001=f2
+4d454c00210100a6ff3001ffffffffffffffffffffffff0f0103010110010001=f3
+4d454c00210100a7ff3001ffffffffffffffffffffffff0f0103010110010001=f0
+4d454c00210100a8ff3001ffffffffffffffffffffffff0f0103010110010001=f1
+4d454c00210100a9ff3001ffffffffffffffffffffffff0f0103010110010001=ee
+4d454c00210100aaff3001ffffffffffffffffffffffff0f0103010110010001=ef
+4d454c00210100abff3001ffffffffffffffffffffffff0f0103010110010001=ec
+4d454c00210100acff3001ffffffffffffffffffffffff0f0103010110010001=ed
+4d454c00210100adff3001ffffffffffffffffffffffff0f0103010110010001=ea
+4d454c00210100aeff3001ffffffffffffffffffffffff0f0103010110010001=eb
+4d454c00210100afff3001ffffffffffffffffffffffff0f0103010110010001=e8
+4d454c00210100b0ff3001ffffffffffffffffffffffff0f0103010110010001=e9
+4d454c00210100b1ff3001ffffffffffffffffffffffff0f0103010110010001=e6
+4d454c00210100b2ff3001ffffffffffffffffffffffff0f0103010110010001=e7
+4d454c00210100b3ff3001ffffffffffffffffffffffff0f0103010110010001=e4
+4d454c00210100b4ff3001ffffffffffffffffffffffff0f0103010110010001=e5
+4d454c00210100b5ff3001ffffffffffffffffffffffff0f0103010110010001=e2
+4d454c00210100b6ff3001ffffffffffffffffffffffff0f0103010110010001=e3
+4d454c00210100b7ff3001ffffffffffffffffffffffff0f0103010110010001=e0
+4d454c00210100b8ff3001ffffffffffffffffffffffff0f0103010110010001=e1
+4d454c00210100b9ff3001ffffffffffffffffffffffff0f0103010110010001=9e
+4d454c00210100baff3001ffffffffffffffffffffffff0f0103010110010001=9f
+4d454c00210100bbff3001ffffffffffffffffffffffff0f0103010110010001=9c
+4d454c00210100bcff3001ffffffffffffffffffffffff0f0103010110010001=9d
+4d454c00210100bdff3001ffffffffffffffffffffffff0f0103010110010001=9a
+4d454c00210100beff3001ffffffffffffffffffffffff0f0103010110010001=9b
+4d454c00210100bfff3001ffffffffffffffffffffffff0f0103010110010001=98
+4d454c00210100c0ff3001ffffffffffffffffffffffff0f0103010110010001=99
+4d454c00210100c1ff3001ffffffffffffffffffffffff0f0103010110010001=96
+4d454c00210100c2ff3001ffffffffffffffffffffffff0f0103010110010001=97
+4d454c00210100c3ff3001ffffffffffffffffffffffff0f0103010110010001=94
+4d454c00210100c4ff3001ffffffffffffffffffffffff0f0103010110010001=95
+4d454c00210100c5ff3001ffffffffffffffffffffffff0f0103010110010001=92
+4d454c00210100c6ff3001ffffffffffffffffffffffff0f0103010110010001=93
+4d454c00210100c7ff3001ffffffffffffffffffffffff0f0103010110010001=90
+4d454c00210100c8ff3001ffffffffffffffffffffffff0f0103010110010001=91
+4d454c00210100c9ff3001ffffffffffffffffffffffff0f0103010110010001=8e
+4d454c00210100caff3001ffffffffffffffffffffffff0f0103010110010001=8f
+4d454c00210100cbff3001ffffffffffffffffffffffff0f0103010110010001=8c
+4d454c00210100ccff3001ffffffffffffffffffffffff0f0103010110010001=8d
+4d454c00210100cdff3001ffffffffffffffffffffffff0f0103010110010001=8a
+4d454c00210100ceff3001ffffffffffffffffffffffff0f0103010110010001=8b
+4d454c00210100cfff3001ffffffffffffffffffffffff0f0103010110010001=88
+4d454c00210100d0ff3001ffffffffffffffffffffffff0f0103010110010001=89
+4d454c00210100d1ff3001ffffffffffffffffffffffff0f0103010110010001=86
+4d454c00210100d2ff3001ffffffffffffffffffffffff0f0103010110010001=87
+4d454c00210100d3ff3001ffffffffffffffffffffffff0f0103010110010001=84
+4d454c00210100d4ff3001ffffffffffffffffffffffff0f0103010110010001=85
+4d454c00210100d5ff3001ffffffffffffffffffffffff0f0103010110010001=82
+4d454c00210100d6ff3001ffffffffffffffffffffffff0f0103010110010001=83
+4d454c00210100d7ff3001ffffffffffffffffffffffff0f0103010110010001=80
+4d454c00210100d8ff3001ffffffffffffffffffffffff0f0103010110010001=81
+4d454c00210100d9ff3001ffffffffffffffffffffffff0f0103010110010001=be
+4d454c00210100daff3001ffffffffffffffffffffffff0f0103010110010001=bf
+4d454c00210100dbff3001ffffffffffffffffffffffff0f0103010110010001=bc
+4d454c00210100dcff3001ffffffffffffffffffffffff0f0103010110010001=bd
+4d454c00210100ddff3001ffffffffffffffffffffffff0f0103010110010001=ba
+4d454c00210100deff3001ffffffffffffffffffffffff0f0103010110010001=bb
+4d454c00210100dfff3001ffffffffffffffffffffffff0f0103010110010001=b8
+4d454c00210100e0ff3001ffffffffffffffffffffffff0f0103010110010001=b9
+4d454c00210100e1ff3001ffffffffffffffffffffffff0f0103010110010001=b6
+4d454c00210100e2ff3001ffffffffffffffffffffffff0f0103010110010001=b7
+4d454c00210100e3ff3001ffffffffffffffffffffffff0f0103010110010001=b4
+4d454c00210100e4ff3001ffffffffffffffffffffffff0f0103010110010001=b5
+4d454c00210100e5ff3001ffffffffffffffffffffffff0f0103010110010001=b2
+4d454c00210100e6ff3001ffffffffffffffffffffffff0f0103010110010001=b3
+4d454c00210100e7ff3001ffffffffffffffffffffffff0f0103010110010001=b0
+4d454c00210100e8ff3001ffffffffffffffffffffffff0f0103010110010001=b1
+4d454c00210100e9ff3001ffffffffffffffffffffffff0f0103010110010001=ae
+4d454c00210100eaff3001ffffffffffffffffffffffff0f0103010110010001=af
+4d454c00210100ebff3001ffffffffffffffffffffffff0f0103010110010001=ac
+4d454c00210100ecff3001ffffffffffffffffffffffff0f0103010110010001=ad
+4d454c00210100edff3001ffffffffffffffffffffffff0f0103010110010001=aa
+4d454c00210100eeff3001ffffffffffffffffffffffff0f0103010110010001=ab
+4d454c00210100efff3001ffffffffffffffffffffffff0f0103010110010001=a8
+4d454c00210100f0ff3001ffffffffffffffffffffffff0f0103010110010001=a9
+4d454c00210100f1ff3001ffffffffffffffffffffffff0f0103010110010001=a6
+4d454c00210100f2ff3001ffffffffffffffffffffffff0f0103010110010001=a7
+4d454c00210100f3ff3001ffffffffffffffffffffffff0f0103010110010001=a4
+4d454c00210100f4ff3001ffffffffffffffffffffffff0f0103010110010001=a5
+4d454c00210100f5ff3001ffffffffffffffffffffffff0f0103010110010001=a2
+4d454c00210100f6ff3001ffffffffffffffffffffffff0f0103010110010001=a3
+4d454c00210100f7ff3001ffffffffffffffffffffffff0f0103010110010001=a0
+4d454c00210100f8ff3001ffffffffffffffffffffffff0f0103010110010001=a1
+4d454c00210100f9ff3001ffffffffffffffffffffffff0f0103010110010000=5e
+4d454c00210100faff3001ffffffffffffffffffffffff0f0103010110010000=5f
+4d454c00210100fbff3001ffffffffffffffffffffffff0f0103010110010000=5c
+4d454c00210100fcff3001ffffffffffffffffffffffff0f0103010110010000=5d
+4d454c00210100fdff3001ffffffffffffffffffffffff0f0103010110010000=5a
+4d454c00210100feff3001ffffffffffffffffffffffff0f0103010110010000=5b
+4d454c00210100ffff3001ffffffffffffffffffffffff0f0103010110010000=58 \ No newline at end of file
diff --git a/research/bad-bruteforcing/reveng-formatted/melody15-repeat3-zone8-volume-increments.txt b/research/bad-bruteforcing/reveng-formatted/melody15-repeat3-zone8-volume-increments.txt
new file mode 100644
index 0000000..b1977fc
--- /dev/null
+++ b/research/bad-bruteforcing/reveng-formatted/melody15-repeat3-zone8-volume-increments.txt
@@ -0,0 +1,7 @@
+4d454c0021010000ff300180000000000000000000000000010103010f010001=f3
+4d454c0021010000ff300180000000000000000000000000010203010f010001=f1
+4d454c0021010000ff300180000000000000000000000000010303010f010001=f5
+4d454c0021010000ff300180000000000000000000000000010403010f010001=f4
+4d454c0021010000ff300180000000000000000000000000010503010f010001=f7
+4d454c0021010000ff300180000000000000000000000000010603010f010001=f6
+4d454c0021010000ff300180000000000000000000000000010703010f010001=c9 \ No newline at end of file
diff --git a/research/bad-bruteforcing/reveng-formatted/melody15-vol3-repeat2-zone16-sequecnce.txt b/research/bad-bruteforcing/reveng-formatted/melody15-vol3-repeat2-zone16-sequecnce.txt
new file mode 100644
index 0000000..31a91b9
--- /dev/null
+++ b/research/bad-bruteforcing/reveng-formatted/melody15-vol3-repeat2-zone16-sequecnce.txt
@@ -0,0 +1,256 @@
+4d454c0021010000ff300100800000000000000000000000010302010f010001=f4
+4d454c0021010001ff300100800000000000000000000000010302010f010001=fb
+4d454c0021010002ff300100800000000000000000000000010302010f010001=fa
+4d454c0021010003ff300100800000000000000000000000010302010f010001=f9
+4d454c0021010004ff300100800000000000000000000000010302010f010001=f8
+4d454c0021010005ff300100800000000000000000000000010302010f010001=ff
+4d454c0021010006ff300100800000000000000000000000010302010f010001=fe
+4d454c0021010007ff300100800000000000000000000000010302010f010001=fd
+4d454c0021010008ff300100800000000000000000000000010302010f010001=fc
+4d454c0021010009ff300100800000000000000000000000010302010f010001=e3
+4d454c002101000aff300100800000000000000000000000010302010f010001=e2
+4d454c002101000bff300100800000000000000000000000010302010f010001=e1
+4d454c002101000cff300100800000000000000000000000010302010f010001=e0
+4d454c002101000dff300100800000000000000000000000010302010f010001=e7
+4d454c002101000eff300100800000000000000000000000010302010f010001=e6
+4d454c002101000fff300100800000000000000000000000010302010f010001=e5
+4d454c0021010010ff300100800000000000000000000000010302010f010001=e4
+4d454c0021010011ff300100800000000000000000000000010302010f010001=eb
+4d454c0021010012ff300100800000000000000000000000010302010f010001=ea
+4d454c0021010013ff300100800000000000000000000000010302010f010001=e9
+4d454c0021010014ff300100800000000000000000000000010302010f010001=e8
+4d454c0021010015ff300100800000000000000000000000010302010f010001=ef
+4d454c0021010016ff300100800000000000000000000000010302010f010001=ee
+4d454c0021010017ff300100800000000000000000000000010302010f010001=ed
+4d454c0021010018ff300100800000000000000000000000010302010f010001=ec
+4d454c0021010019ff300100800000000000000000000000010302010f010001=d3
+4d454c002101001aff300100800000000000000000000000010302010f010001=d2
+4d454c002101001bff300100800000000000000000000000010302010f010001=d1
+4d454c002101001cff300100800000000000000000000000010302010f010001=d0
+4d454c002101001dff300100800000000000000000000000010302010f010001=d7
+4d454c002101001eff300100800000000000000000000000010302010f010001=d6
+4d454c002101001fff300100800000000000000000000000010302010f010001=d5
+4d454c0021010020ff300100800000000000000000000000010302010f010001=d4
+4d454c0021010021ff300100800000000000000000000000010302010f010001=db
+4d454c0021010022ff300100800000000000000000000000010302010f010001=da
+4d454c0021010023ff300100800000000000000000000000010302010f010001=d9
+4d454c0021010024ff300100800000000000000000000000010302010f010001=d8
+4d454c0021010025ff300100800000000000000000000000010302010f010001=df
+4d454c0021010026ff300100800000000000000000000000010302010f010001=de
+4d454c0021010027ff300100800000000000000000000000010302010f010001=dd
+4d454c0021010028ff300100800000000000000000000000010302010f010001=dc
+4d454c0021010029ff300100800000000000000000000000010302010f010001=c3
+4d454c002101002aff300100800000000000000000000000010302010f010001=c2
+4d454c002101002bff300100800000000000000000000000010302010f010001=c1
+4d454c002101002cff300100800000000000000000000000010302010f010001=c0
+4d454c002101002dff300100800000000000000000000000010302010f010001=c7
+4d454c002101002eff300100800000000000000000000000010302010f010001=c6
+4d454c002101002fff300100800000000000000000000000010302010f010001=c5
+4d454c0021010030ff300100800000000000000000000000010302010f010001=c4
+4d454c0021010031ff300100800000000000000000000000010302010f010001=cb
+4d454c0021010032ff300100800000000000000000000000010302010f010001=ca
+4d454c0021010033ff300100800000000000000000000000010302010f010001=c9
+4d454c0021010034ff300100800000000000000000000000010302010f010001=c8
+4d454c0021010035ff300100800000000000000000000000010302010f010001=cf
+4d454c0021010036ff300100800000000000000000000000010302010f010001=ce
+4d454c0021010037ff300100800000000000000000000000010302010f010001=cd
+4d454c0021010038ff300100800000000000000000000000010302010f010001=cc
+4d454c0021010039ff300100800000000000000000000000010302010f010001=b3
+4d454c002101003aff300100800000000000000000000000010302010f010001=b2
+4d454c002101003bff300100800000000000000000000000010302010f010001=b1
+4d454c002101003cff300100800000000000000000000000010302010f010001=b0
+4d454c002101003dff300100800000000000000000000000010302010f010001=b7
+4d454c002101003eff300100800000000000000000000000010302010f010001=b6
+4d454c002101003fff300100800000000000000000000000010302010f010001=b5
+4d454c0021010040ff300100800000000000000000000000010302010f010001=b4
+4d454c0021010041ff300100800000000000000000000000010302010f010001=bb
+4d454c0021010042ff300100800000000000000000000000010302010f010001=ba
+4d454c0021010043ff300100800000000000000000000000010302010f010001=b9
+4d454c0021010044ff300100800000000000000000000000010302010f010001=b8
+4d454c0021010045ff300100800000000000000000000000010302010f010001=bf
+4d454c0021010046ff300100800000000000000000000000010302010f010001=be
+4d454c0021010047ff300100800000000000000000000000010302010f010001=bd
+4d454c0021010048ff300100800000000000000000000000010302010f010001=bc
+4d454c0021010049ff300100800000000000000000000000010302010f010001=a3
+4d454c002101004aff300100800000000000000000000000010302010f010001=a2
+4d454c002101004bff300100800000000000000000000000010302010f010001=a1
+4d454c002101004cff300100800000000000000000000000010302010f010001=a0
+4d454c002101004dff300100800000000000000000000000010302010f010001=a7
+4d454c002101004eff300100800000000000000000000000010302010f010001=a6
+4d454c002101004fff300100800000000000000000000000010302010f010001=a5
+4d454c0021010050ff300100800000000000000000000000010302010f010001=a4
+4d454c0021010051ff300100800000000000000000000000010302010f010001=ab
+4d454c0021010052ff300100800000000000000000000000010302010f010001=aa
+4d454c0021010053ff300100800000000000000000000000010302010f010001=a9
+4d454c0021010054ff300100800000000000000000000000010302010f010001=a8
+4d454c0021010055ff300100800000000000000000000000010302010f010001=af
+4d454c0021010056ff300100800000000000000000000000010302010f010001=ae
+4d454c0021010057ff300100800000000000000000000000010302010f010001=ad
+4d454c0021010058ff300100800000000000000000000000010302010f010001=ac
+4d454c0021010059ff300100800000000000000000000000010302010f010001=93
+4d454c002101005aff300100800000000000000000000000010302010f010001=92
+4d454c002101005bff300100800000000000000000000000010302010f010001=91
+4d454c002101005cff300100800000000000000000000000010302010f010001=90
+4d454c002101005dff300100800000000000000000000000010302010f010001=97
+4d454c002101005eff300100800000000000000000000000010302010f010001=96
+4d454c002101005fff300100800000000000000000000000010302010f010001=95
+4d454c0021010060ff300100800000000000000000000000010302010f010001=94
+4d454c0021010061ff300100800000000000000000000000010302010f010001=9b
+4d454c0021010062ff300100800000000000000000000000010302010f010001=9a
+4d454c0021010063ff300100800000000000000000000000010302010f010001=99
+4d454c0021010064ff300100800000000000000000000000010302010f010001=98
+4d454c0021010065ff300100800000000000000000000000010302010f010001=9f
+4d454c0021010066ff300100800000000000000000000000010302010f010001=9e
+4d454c0021010067ff300100800000000000000000000000010302010f010001=9d
+4d454c0021010068ff300100800000000000000000000000010302010f010001=9c
+4d454c0021010069ff300100800000000000000000000000010302010f010001=83
+4d454c002101006aff300100800000000000000000000000010302010f010001=82
+4d454c002101006bff300100800000000000000000000000010302010f010001=81
+4d454c002101006cff300100800000000000000000000000010302010f010001=80
+4d454c002101006dff300100800000000000000000000000010302010f010001=87
+4d454c002101006eff300100800000000000000000000000010302010f010001=86
+4d454c002101006fff300100800000000000000000000000010302010f010001=85
+4d454c0021010070ff300100800000000000000000000000010302010f010001=84
+4d454c0021010071ff300100800000000000000000000000010302010f010001=8b
+4d454c0021010072ff300100800000000000000000000000010302010f010001=8a
+4d454c0021010073ff300100800000000000000000000000010302010f010001=89
+4d454c0021010074ff300100800000000000000000000000010302010f010001=88
+4d454c0021010075ff300100800000000000000000000000010302010f010001=8f
+4d454c0021010076ff300100800000000000000000000000010302010f010001=8e
+4d454c0021010077ff300100800000000000000000000000010302010f010001=8d
+4d454c0021010078ff300100800000000000000000000000010302010f010001=8c
+4d454c0021010079ff300100800000000000000000000000010302010f010001=73
+4d454c002101007aff300100800000000000000000000000010302010f010001=72
+4d454c002101007bff300100800000000000000000000000010302010f010001=71
+4d454c002101007cff300100800000000000000000000000010302010f010001=70
+4d454c002101007dff300100800000000000000000000000010302010f010001=77
+4d454c002101007eff300100800000000000000000000000010302010f010001=76
+4d454c002101007fff300100800000000000000000000000010302010f010001=75
+4d454c0021010080ff300100800000000000000000000000010302010f010001=74
+4d454c0021010081ff300100800000000000000000000000010302010f010001=7b
+4d454c0021010082ff300100800000000000000000000000010302010f010001=7a
+4d454c0021010083ff300100800000000000000000000000010302010f010001=79
+4d454c0021010084ff300100800000000000000000000000010302010f010001=78
+4d454c0021010085ff300100800000000000000000000000010302010f010001=7f
+4d454c0021010086ff300100800000000000000000000000010302010f010001=7e
+4d454c0021010087ff300100800000000000000000000000010302010f010001=7d
+4d454c0021010088ff300100800000000000000000000000010302010f010001=7c
+4d454c0021010089ff300100800000000000000000000000010302010f010001=63
+4d454c002101008aff300100800000000000000000000000010302010f010001=62
+4d454c002101008bff300100800000000000000000000000010302010f010001=61
+4d454c002101008cff300100800000000000000000000000010302010f010001=60
+4d454c002101008dff300100800000000000000000000000010302010f010001=67
+4d454c002101008eff300100800000000000000000000000010302010f010001=66
+4d454c002101008fff300100800000000000000000000000010302010f010001=65
+4d454c0021010090ff300100800000000000000000000000010302010f010001=64
+4d454c0021010091ff300100800000000000000000000000010302010f010001=6b
+4d454c0021010092ff300100800000000000000000000000010302010f010001=6a
+4d454c0021010093ff300100800000000000000000000000010302010f010001=69
+4d454c0021010094ff300100800000000000000000000000010302010f010001=68
+4d454c0021010095ff300100800000000000000000000000010302010f010001=6f
+4d454c0021010096ff300100800000000000000000000000010302010f010001=6e
+4d454c0021010097ff300100800000000000000000000000010302010f010001=6d
+4d454c0021010098ff300100800000000000000000000000010302010f010001=6c
+4d454c0021010099ff300100800000000000000000000000010302010f010001=53
+4d454c002101009aff300100800000000000000000000000010302010f010001=52
+4d454c002101009bff300100800000000000000000000000010302010f010001=51
+4d454c002101009cff300100800000000000000000000000010302010f010001=50
+4d454c002101009dff300100800000000000000000000000010302010f010001=57
+4d454c002101009eff300100800000000000000000000000010302010f010001=56
+4d454c002101009fff300100800000000000000000000000010302010f010001=55
+4d454c00210100a0ff300100800000000000000000000000010302010f010001=54
+4d454c00210100a1ff300100800000000000000000000000010302010f010001=5b
+4d454c00210100a2ff300100800000000000000000000000010302010f010001=5a
+4d454c00210100a3ff300100800000000000000000000000010302010f010001=59
+4d454c00210100a4ff300100800000000000000000000000010302010f010001=58
+4d454c00210100a5ff300100800000000000000000000000010302010f010001=5f
+4d454c00210100a6ff300100800000000000000000000000010302010f010001=5e
+4d454c00210100a7ff300100800000000000000000000000010302010f010001=5d
+4d454c00210100a8ff300100800000000000000000000000010302010f010001=5c
+4d454c00210100a9ff300100800000000000000000000000010302010f010001=43
+4d454c00210100aaff300100800000000000000000000000010302010f010001=42
+4d454c00210100abff300100800000000000000000000000010302010f010001=41
+4d454c00210100acff300100800000000000000000000000010302010f010001=40
+4d454c00210100adff300100800000000000000000000000010302010f010001=47
+4d454c00210100aeff300100800000000000000000000000010302010f010001=46
+4d454c00210100afff300100800000000000000000000000010302010f010001=45
+4d454c00210100b0ff300100800000000000000000000000010302010f010001=44
+4d454c00210100b1ff300100800000000000000000000000010302010f010001=4b
+4d454c00210100b2ff300100800000000000000000000000010302010f010001=4a
+4d454c00210100b3ff300100800000000000000000000000010302010f010001=49
+4d454c00210100b4ff300100800000000000000000000000010302010f010001=48
+4d454c00210100b5ff300100800000000000000000000000010302010f010001=4f
+4d454c00210100b6ff300100800000000000000000000000010302010f010001=4e
+4d454c00210100b7ff300100800000000000000000000000010302010f010001=4d
+4d454c00210100b8ff300100800000000000000000000000010302010f010001=4c
+4d454c00210100b9ff300100800000000000000000000000010302010f010001=33
+4d454c00210100baff300100800000000000000000000000010302010f010001=32
+4d454c00210100bbff300100800000000000000000000000010302010f010001=31
+4d454c00210100bcff300100800000000000000000000000010302010f010001=30
+4d454c00210100bdff300100800000000000000000000000010302010f010001=37
+4d454c00210100beff300100800000000000000000000000010302010f010001=36
+4d454c00210100bfff300100800000000000000000000000010302010f010001=35
+4d454c00210100c0ff300100800000000000000000000000010302010f010001=34
+4d454c00210100c1ff300100800000000000000000000000010302010f010001=3b
+4d454c00210100c2ff300100800000000000000000000000010302010f010001=3a
+4d454c00210100c3ff300100800000000000000000000000010302010f010001=39
+4d454c00210100c4ff300100800000000000000000000000010302010f010001=38
+4d454c00210100c5ff300100800000000000000000000000010302010f010001=3f
+4d454c00210100c6ff300100800000000000000000000000010302010f010001=3e
+4d454c00210100c7ff300100800000000000000000000000010302010f010001=3d
+4d454c00210100c8ff300100800000000000000000000000010302010f010001=3c
+4d454c00210100c9ff300100800000000000000000000000010302010f010001=23
+4d454c00210100caff300100800000000000000000000000010302010f010001=22
+4d454c00210100cbff300100800000000000000000000000010302010f010001=21
+4d454c00210100ccff300100800000000000000000000000010302010f010001=20
+4d454c00210100cdff300100800000000000000000000000010302010f010001=27
+4d454c00210100ceff300100800000000000000000000000010302010f010001=26
+4d454c00210100cfff300100800000000000000000000000010302010f010001=25
+4d454c00210100d0ff300100800000000000000000000000010302010f010001=24
+4d454c00210100d1ff300100800000000000000000000000010302010f010001=2b
+4d454c00210100d2ff300100800000000000000000000000010302010f010001=2a
+4d454c00210100d3ff300100800000000000000000000000010302010f010001=29
+4d454c00210100d4ff300100800000000000000000000000010302010f010001=28
+4d454c00210100d5ff300100800000000000000000000000010302010f010001=2f
+4d454c00210100d6ff300100800000000000000000000000010302010f010001=2e
+4d454c00210100d7ff300100800000000000000000000000010302010f010001=2d
+4d454c00210100d8ff300100800000000000000000000000010302010f010001=2c
+4d454c00210100d9ff300100800000000000000000000000010302010f010001=13
+4d454c00210100daff300100800000000000000000000000010302010f010001=12
+4d454c00210100dbff300100800000000000000000000000010302010f010001=11
+4d454c00210100dcff300100800000000000000000000000010302010f010001=10
+4d454c00210100ddff300100800000000000000000000000010302010f010001=17
+4d454c00210100deff300100800000000000000000000000010302010f010001=16
+4d454c00210100dfff300100800000000000000000000000010302010f010001=15
+4d454c00210100e0ff300100800000000000000000000000010302010f010001=14
+4d454c00210100e1ff300100800000000000000000000000010302010f010001=1b
+4d454c00210100e2ff300100800000000000000000000000010302010f010001=1a
+4d454c00210100e3ff300100800000000000000000000000010302010f010001=19
+4d454c00210100e4ff300100800000000000000000000000010302010f010001=18
+4d454c00210100e5ff300100800000000000000000000000010302010f010001=1f
+4d454c00210100e6ff300100800000000000000000000000010302010f010001=1e
+4d454c00210100e7ff300100800000000000000000000000010302010f010001=1d
+4d454c00210100e8ff300100800000000000000000000000010302010f010001=1c
+4d454c00210100e9ff300100800000000000000000000000010302010f010001=03
+4d454c00210100eaff300100800000000000000000000000010302010f010001=02
+4d454c00210100ebff300100800000000000000000000000010302010f010001=01
+4d454c00210100ecff300100800000000000000000000000010302010f010001=00
+4d454c00210100edff300100800000000000000000000000010302010f010001=07
+4d454c00210100eeff300100800000000000000000000000010302010f010001=06
+4d454c00210100efff300100800000000000000000000000010302010f010001=05
+4d454c00210100f0ff300100800000000000000000000000010302010f010001=04
+4d454c00210100f1ff300100800000000000000000000000010302010f010001=0b
+4d454c00210100f2ff300100800000000000000000000000010302010f010001=0a
+4d454c00210100f3ff300100800000000000000000000000010302010f010001=09
+4d454c00210100f4ff300100800000000000000000000000010302010f010001=08
+4d454c00210100f5ff300100800000000000000000000000010302010f010001=0f
+4d454c00210100f6ff300100800000000000000000000000010302010f010001=0e
+4d454c00210100f7ff300100800000000000000000000000010302010f010001=0d
+4d454c00210100f8ff300100800000000000000000000000010302010f010001=0c
+4d454c00210100f9ff300100800000000000000000000000010302010f010000=f3
+4d454c00210100faff300100800000000000000000000000010302010f010000=f2
+4d454c00210100fbff300100800000000000000000000000010302010f010000=f1
+4d454c00210100fcff300100800000000000000000000000010302010f010000=f0
+4d454c00210100fdff300100800000000000000000000000010302010f010000=f7
+4d454c00210100feff300100800000000000000000000000010302010f010000=f6
+4d454c00210100ffff300100800000000000000000000000010302010f010000=f5 \ No newline at end of file
diff --git a/research/bad-bruteforcing/reveng-formatted/melody15-vol3-repeat2-zone8-sequence.txt b/research/bad-bruteforcing/reveng-formatted/melody15-vol3-repeat2-zone8-sequence.txt
new file mode 100644
index 0000000..6b47229
--- /dev/null
+++ b/research/bad-bruteforcing/reveng-formatted/melody15-vol3-repeat2-zone8-sequence.txt
@@ -0,0 +1,256 @@
+4d454c0021010000ff300180000000000000000000000000010302010f010001=f4
+4d454c0021010001ff300180000000000000000000000000010302010f010001=fb
+4d454c0021010002ff300180000000000000000000000000010302010f010001=fa
+4d454c0021010003ff300180000000000000000000000000010302010f010001=f9
+4d454c0021010004ff300180000000000000000000000000010302010f010001=f8
+4d454c0021010005ff300180000000000000000000000000010302010f010001=ff
+4d454c0021010006ff300180000000000000000000000000010302010f010001=fe
+4d454c0021010007ff300180000000000000000000000000010302010f010001=fd
+4d454c0021010008ff300180000000000000000000000000010302010f010001=fc
+4d454c0021010009ff300180000000000000000000000000010302010f010001=e3
+4d454c002101000aff300180000000000000000000000000010302010f010001=e2
+4d454c002101000bff300180000000000000000000000000010302010f010001=e1
+4d454c002101000cff300180000000000000000000000000010302010f010001=e0
+4d454c002101000dff300180000000000000000000000000010302010f010001=e7
+4d454c002101000eff300180000000000000000000000000010302010f010001=e6
+4d454c002101000fff300180000000000000000000000000010302010f010001=e5
+4d454c0021010010ff300180000000000000000000000000010302010f010001=e4
+4d454c0021010011ff300180000000000000000000000000010302010f010001=eb
+4d454c0021010012ff300180000000000000000000000000010302010f010001=ea
+4d454c0021010013ff300180000000000000000000000000010302010f010001=e9
+4d454c0021010014ff300180000000000000000000000000010302010f010001=e8
+4d454c0021010015ff300180000000000000000000000000010302010f010001=ef
+4d454c0021010016ff300180000000000000000000000000010302010f010001=ee
+4d454c0021010017ff300180000000000000000000000000010302010f010001=ed
+4d454c0021010018ff300180000000000000000000000000010302010f010001=ec
+4d454c0021010019ff300180000000000000000000000000010302010f010001=d3
+4d454c002101001aff300180000000000000000000000000010302010f010001=d2
+4d454c002101001bff300180000000000000000000000000010302010f010001=d1
+4d454c002101001cff300180000000000000000000000000010302010f010001=d0
+4d454c002101001dff300180000000000000000000000000010302010f010001=d7
+4d454c002101001eff300180000000000000000000000000010302010f010001=d6
+4d454c002101001fff300180000000000000000000000000010302010f010001=d5
+4d454c0021010020ff300180000000000000000000000000010302010f010001=d4
+4d454c0021010021ff300180000000000000000000000000010302010f010001=db
+4d454c0021010022ff300180000000000000000000000000010302010f010001=da
+4d454c0021010023ff300180000000000000000000000000010302010f010001=d9
+4d454c0021010024ff300180000000000000000000000000010302010f010001=d8
+4d454c0021010025ff300180000000000000000000000000010302010f010001=df
+4d454c0021010026ff300180000000000000000000000000010302010f010001=de
+4d454c0021010027ff300180000000000000000000000000010302010f010001=dd
+4d454c0021010028ff300180000000000000000000000000010302010f010001=dc
+4d454c0021010029ff300180000000000000000000000000010302010f010001=c3
+4d454c002101002aff300180000000000000000000000000010302010f010001=c2
+4d454c002101002bff300180000000000000000000000000010302010f010001=c1
+4d454c002101002cff300180000000000000000000000000010302010f010001=c0
+4d454c002101002dff300180000000000000000000000000010302010f010001=c7
+4d454c002101002eff300180000000000000000000000000010302010f010001=c6
+4d454c002101002fff300180000000000000000000000000010302010f010001=c5
+4d454c0021010030ff300180000000000000000000000000010302010f010001=c4
+4d454c0021010031ff300180000000000000000000000000010302010f010001=cb
+4d454c0021010032ff300180000000000000000000000000010302010f010001=ca
+4d454c0021010033ff300180000000000000000000000000010302010f010001=c9
+4d454c0021010034ff300180000000000000000000000000010302010f010001=c8
+4d454c0021010035ff300180000000000000000000000000010302010f010001=cf
+4d454c0021010036ff300180000000000000000000000000010302010f010001=ce
+4d454c0021010037ff300180000000000000000000000000010302010f010001=cd
+4d454c0021010038ff300180000000000000000000000000010302010f010001=cc
+4d454c0021010039ff300180000000000000000000000000010302010f010001=b3
+4d454c002101003aff300180000000000000000000000000010302010f010001=b2
+4d454c002101003bff300180000000000000000000000000010302010f010001=b1
+4d454c002101003cff300180000000000000000000000000010302010f010001=b0
+4d454c002101003dff300180000000000000000000000000010302010f010001=b7
+4d454c002101003eff300180000000000000000000000000010302010f010001=b6
+4d454c002101003fff300180000000000000000000000000010302010f010001=b5
+4d454c0021010040ff300180000000000000000000000000010302010f010001=b4
+4d454c0021010041ff300180000000000000000000000000010302010f010001=bb
+4d454c0021010042ff300180000000000000000000000000010302010f010001=ba
+4d454c0021010043ff300180000000000000000000000000010302010f010001=b9
+4d454c0021010044ff300180000000000000000000000000010302010f010001=b8
+4d454c0021010045ff300180000000000000000000000000010302010f010001=bf
+4d454c0021010046ff300180000000000000000000000000010302010f010001=be
+4d454c0021010047ff300180000000000000000000000000010302010f010001=bd
+4d454c0021010048ff300180000000000000000000000000010302010f010001=bc
+4d454c0021010049ff300180000000000000000000000000010302010f010001=a3
+4d454c002101004aff300180000000000000000000000000010302010f010001=a2
+4d454c002101004bff300180000000000000000000000000010302010f010001=a1
+4d454c002101004cff300180000000000000000000000000010302010f010001=a0
+4d454c002101004dff300180000000000000000000000000010302010f010001=a7
+4d454c002101004eff300180000000000000000000000000010302010f010001=a6
+4d454c002101004fff300180000000000000000000000000010302010f010001=a5
+4d454c0021010050ff300180000000000000000000000000010302010f010001=a4
+4d454c0021010051ff300180000000000000000000000000010302010f010001=ab
+4d454c0021010052ff300180000000000000000000000000010302010f010001=aa
+4d454c0021010053ff300180000000000000000000000000010302010f010001=a9
+4d454c0021010054ff300180000000000000000000000000010302010f010001=a8
+4d454c0021010055ff300180000000000000000000000000010302010f010001=af
+4d454c0021010056ff300180000000000000000000000000010302010f010001=ae
+4d454c0021010057ff300180000000000000000000000000010302010f010001=ad
+4d454c0021010058ff300180000000000000000000000000010302010f010001=ac
+4d454c0021010059ff300180000000000000000000000000010302010f010001=93
+4d454c002101005aff300180000000000000000000000000010302010f010001=92
+4d454c002101005bff300180000000000000000000000000010302010f010001=91
+4d454c002101005cff300180000000000000000000000000010302010f010001=90
+4d454c002101005dff300180000000000000000000000000010302010f010001=97
+4d454c002101005eff300180000000000000000000000000010302010f010001=96
+4d454c002101005fff300180000000000000000000000000010302010f010001=95
+4d454c0021010060ff300180000000000000000000000000010302010f010001=94
+4d454c0021010061ff300180000000000000000000000000010302010f010001=9b
+4d454c0021010062ff300180000000000000000000000000010302010f010001=9a
+4d454c0021010063ff300180000000000000000000000000010302010f010001=99
+4d454c0021010064ff300180000000000000000000000000010302010f010001=98
+4d454c0021010065ff300180000000000000000000000000010302010f010001=9f
+4d454c0021010066ff300180000000000000000000000000010302010f010001=9e
+4d454c0021010067ff300180000000000000000000000000010302010f010001=9d
+4d454c0021010068ff300180000000000000000000000000010302010f010001=9c
+4d454c0021010069ff300180000000000000000000000000010302010f010001=83
+4d454c002101006aff300180000000000000000000000000010302010f010001=82
+4d454c002101006bff300180000000000000000000000000010302010f010001=81
+4d454c002101006cff300180000000000000000000000000010302010f010001=80
+4d454c002101006dff300180000000000000000000000000010302010f010001=87
+4d454c002101006eff300180000000000000000000000000010302010f010001=86
+4d454c002101006fff300180000000000000000000000000010302010f010001=85
+4d454c0021010070ff300180000000000000000000000000010302010f010001=84
+4d454c0021010071ff300180000000000000000000000000010302010f010001=8b
+4d454c0021010072ff300180000000000000000000000000010302010f010001=8a
+4d454c0021010073ff300180000000000000000000000000010302010f010001=89
+4d454c0021010074ff300180000000000000000000000000010302010f010001=88
+4d454c0021010075ff300180000000000000000000000000010302010f010001=8f
+4d454c0021010076ff300180000000000000000000000000010302010f010001=8e
+4d454c0021010077ff300180000000000000000000000000010302010f010001=8d
+4d454c0021010078ff300180000000000000000000000000010302010f010001=8c
+4d454c0021010079ff300180000000000000000000000000010302010f010001=73
+4d454c002101007aff300180000000000000000000000000010302010f010001=72
+4d454c002101007bff300180000000000000000000000000010302010f010001=71
+4d454c002101007cff300180000000000000000000000000010302010f010001=70
+4d454c002101007dff300180000000000000000000000000010302010f010001=77
+4d454c002101007eff300180000000000000000000000000010302010f010001=76
+4d454c002101007fff300180000000000000000000000000010302010f010001=75
+4d454c0021010080ff300180000000000000000000000000010302010f010001=74
+4d454c0021010081ff300180000000000000000000000000010302010f010001=7b
+4d454c0021010082ff300180000000000000000000000000010302010f010001=7a
+4d454c0021010083ff300180000000000000000000000000010302010f010001=79
+4d454c0021010084ff300180000000000000000000000000010302010f010001=78
+4d454c0021010085ff300180000000000000000000000000010302010f010001=7f
+4d454c0021010086ff300180000000000000000000000000010302010f010001=7e
+4d454c0021010087ff300180000000000000000000000000010302010f010001=7d
+4d454c0021010088ff300180000000000000000000000000010302010f010001=7c
+4d454c0021010089ff300180000000000000000000000000010302010f010001=63
+4d454c002101008aff300180000000000000000000000000010302010f010001=62
+4d454c002101008bff300180000000000000000000000000010302010f010001=61
+4d454c002101008cff300180000000000000000000000000010302010f010001=60
+4d454c002101008dff300180000000000000000000000000010302010f010001=67
+4d454c002101008eff300180000000000000000000000000010302010f010001=66
+4d454c002101008fff300180000000000000000000000000010302010f010001=65
+4d454c0021010090ff300180000000000000000000000000010302010f010001=64
+4d454c0021010091ff300180000000000000000000000000010302010f010001=6b
+4d454c0021010092ff300180000000000000000000000000010302010f010001=6a
+4d454c0021010093ff300180000000000000000000000000010302010f010001=69
+4d454c0021010094ff300180000000000000000000000000010302010f010001=68
+4d454c0021010095ff300180000000000000000000000000010302010f010001=6f
+4d454c0021010096ff300180000000000000000000000000010302010f010001=6e
+4d454c0021010097ff300180000000000000000000000000010302010f010001=6d
+4d454c0021010098ff300180000000000000000000000000010302010f010001=6c
+4d454c0021010099ff300180000000000000000000000000010302010f010001=53
+4d454c002101009aff300180000000000000000000000000010302010f010001=52
+4d454c002101009bff300180000000000000000000000000010302010f010001=51
+4d454c002101009cff300180000000000000000000000000010302010f010001=50
+4d454c002101009dff300180000000000000000000000000010302010f010001=57
+4d454c002101009eff300180000000000000000000000000010302010f010001=56
+4d454c002101009fff300180000000000000000000000000010302010f010001=55
+4d454c00210100a0ff300180000000000000000000000000010302010f010001=54
+4d454c00210100a1ff300180000000000000000000000000010302010f010001=5b
+4d454c00210100a2ff300180000000000000000000000000010302010f010001=5a
+4d454c00210100a3ff300180000000000000000000000000010302010f010001=59
+4d454c00210100a4ff300180000000000000000000000000010302010f010001=58
+4d454c00210100a5ff300180000000000000000000000000010302010f010001=5f
+4d454c00210100a6ff300180000000000000000000000000010302010f010001=5e
+4d454c00210100a7ff300180000000000000000000000000010302010f010001=5d
+4d454c00210100a8ff300180000000000000000000000000010302010f010001=5c
+4d454c00210100a9ff300180000000000000000000000000010302010f010001=43
+4d454c00210100aaff300180000000000000000000000000010302010f010001=42
+4d454c00210100abff300180000000000000000000000000010302010f010001=41
+4d454c00210100acff300180000000000000000000000000010302010f010001=40
+4d454c00210100adff300180000000000000000000000000010302010f010001=47
+4d454c00210100aeff300180000000000000000000000000010302010f010001=46
+4d454c00210100afff300180000000000000000000000000010302010f010001=45
+4d454c00210100b0ff300180000000000000000000000000010302010f010001=44
+4d454c00210100b1ff300180000000000000000000000000010302010f010001=4b
+4d454c00210100b2ff300180000000000000000000000000010302010f010001=4a
+4d454c00210100b3ff300180000000000000000000000000010302010f010001=49
+4d454c00210100b4ff300180000000000000000000000000010302010f010001=48
+4d454c00210100b5ff300180000000000000000000000000010302010f010001=4f
+4d454c00210100b6ff300180000000000000000000000000010302010f010001=4e
+4d454c00210100b7ff300180000000000000000000000000010302010f010001=4d
+4d454c00210100b8ff300180000000000000000000000000010302010f010001=4c
+4d454c00210100b9ff300180000000000000000000000000010302010f010001=33
+4d454c00210100baff300180000000000000000000000000010302010f010001=32
+4d454c00210100bbff300180000000000000000000000000010302010f010001=31
+4d454c00210100bcff300180000000000000000000000000010302010f010001=30
+4d454c00210100bdff300180000000000000000000000000010302010f010001=37
+4d454c00210100beff300180000000000000000000000000010302010f010001=36
+4d454c00210100bfff300180000000000000000000000000010302010f010001=35
+4d454c00210100c0ff300180000000000000000000000000010302010f010001=34
+4d454c00210100c1ff300180000000000000000000000000010302010f010001=3b
+4d454c00210100c2ff300180000000000000000000000000010302010f010001=3a
+4d454c00210100c3ff300180000000000000000000000000010302010f010001=39
+4d454c00210100c4ff300180000000000000000000000000010302010f010001=38
+4d454c00210100c5ff300180000000000000000000000000010302010f010001=3f
+4d454c00210100c6ff300180000000000000000000000000010302010f010001=3e
+4d454c00210100c7ff300180000000000000000000000000010302010f010001=3d
+4d454c00210100c8ff300180000000000000000000000000010302010f010001=3c
+4d454c00210100c9ff300180000000000000000000000000010302010f010001=23
+4d454c00210100caff300180000000000000000000000000010302010f010001=22
+4d454c00210100cbff300180000000000000000000000000010302010f010001=21
+4d454c00210100ccff300180000000000000000000000000010302010f010001=20
+4d454c00210100cdff300180000000000000000000000000010302010f010001=27
+4d454c00210100ceff300180000000000000000000000000010302010f010001=26
+4d454c00210100cfff300180000000000000000000000000010302010f010001=25
+4d454c00210100d0ff300180000000000000000000000000010302010f010001=24
+4d454c00210100d1ff300180000000000000000000000000010302010f010001=2b
+4d454c00210100d2ff300180000000000000000000000000010302010f010001=2a
+4d454c00210100d3ff300180000000000000000000000000010302010f010001=29
+4d454c00210100d4ff300180000000000000000000000000010302010f010001=28
+4d454c00210100d5ff300180000000000000000000000000010302010f010001=2f
+4d454c00210100d6ff300180000000000000000000000000010302010f010001=2e
+4d454c00210100d7ff300180000000000000000000000000010302010f010001=2d
+4d454c00210100d8ff300180000000000000000000000000010302010f010001=2c
+4d454c00210100d9ff300180000000000000000000000000010302010f010001=13
+4d454c00210100daff300180000000000000000000000000010302010f010001=12
+4d454c00210100dbff300180000000000000000000000000010302010f010001=11
+4d454c00210100dcff300180000000000000000000000000010302010f010001=10
+4d454c00210100ddff300180000000000000000000000000010302010f010001=17
+4d454c00210100deff300180000000000000000000000000010302010f010001=16
+4d454c00210100dfff300180000000000000000000000000010302010f010001=15
+4d454c00210100e0ff300180000000000000000000000000010302010f010001=14
+4d454c00210100e1ff300180000000000000000000000000010302010f010001=1b
+4d454c00210100e2ff300180000000000000000000000000010302010f010001=1a
+4d454c00210100e3ff300180000000000000000000000000010302010f010001=19
+4d454c00210100e4ff300180000000000000000000000000010302010f010001=18
+4d454c00210100e5ff300180000000000000000000000000010302010f010001=1f
+4d454c00210100e6ff300180000000000000000000000000010302010f010001=1e
+4d454c00210100e7ff300180000000000000000000000000010302010f010001=1d
+4d454c00210100e8ff300180000000000000000000000000010302010f010001=1c
+4d454c00210100e9ff300180000000000000000000000000010302010f010001=03
+4d454c00210100eaff300180000000000000000000000000010302010f010001=02
+4d454c00210100ebff300180000000000000000000000000010302010f010001=01
+4d454c00210100ecff300180000000000000000000000000010302010f010001=00
+4d454c00210100edff300180000000000000000000000000010302010f010001=07
+4d454c00210100eeff300180000000000000000000000000010302010f010001=06
+4d454c00210100efff300180000000000000000000000000010302010f010001=05
+4d454c00210100f0ff300180000000000000000000000000010302010f010001=04
+4d454c00210100f1ff300180000000000000000000000000010302010f010001=0b
+4d454c00210100f2ff300180000000000000000000000000010302010f010001=0a
+4d454c00210100f3ff300180000000000000000000000000010302010f010001=09
+4d454c00210100f4ff300180000000000000000000000000010302010f010001=08
+4d454c00210100f5ff300180000000000000000000000000010302010f010001=0f
+4d454c00210100f6ff300180000000000000000000000000010302010f010001=0e
+4d454c00210100f7ff300180000000000000000000000000010302010f010001=0d
+4d454c00210100f8ff300180000000000000000000000000010302010f010001=0c
+4d454c00210100f9ff300180000000000000000000000000010302010f010000=f3
+4d454c00210100faff300180000000000000000000000000010302010f010000=f2
+4d454c00210100fbff300180000000000000000000000000010302010f010000=f1
+4d454c00210100fcff300180000000000000000000000000010302010f010000=f0
+4d454c00210100fdff300180000000000000000000000000010302010f010000=f7
+4d454c00210100feff300180000000000000000000000000010302010f010000=f6
+4d454c00210100ffff300180000000000000000000000000010302010f010000=f5 \ No newline at end of file
diff --git a/research/bad-bruteforcing/reveng-formatted/melody15-vol3-zone8-repeat-increments.txt b/research/bad-bruteforcing/reveng-formatted/melody15-vol3-zone8-repeat-increments.txt
new file mode 100644
index 0000000..ca33ffd
--- /dev/null
+++ b/research/bad-bruteforcing/reveng-formatted/melody15-vol3-zone8-repeat-increments.txt
@@ -0,0 +1,5 @@
+4d454c0021010000ff300180000000000000000000000000010301010f010001=f3
+4d454c0021010000ff300180000000000000000000000000010302010f010001=f4
+4d454c0021010000ff300180000000000000000000000000010303010f010001=f5
+4d454c0021010000ff300180000000000000000000000000010304010f010001=f6
+4d454c0021010000ff300180000000000000000000000000010305010f010001=f7 \ No newline at end of file
diff --git a/research/bad-bruteforcing/reveng-formatted/melody16-vol3-repeat2-zone-all-sequence.txt b/research/bad-bruteforcing/reveng-formatted/melody16-vol3-repeat2-zone-all-sequence.txt
new file mode 100644
index 0000000..5e6202f
--- /dev/null
+++ b/research/bad-bruteforcing/reveng-formatted/melody16-vol3-repeat2-zone-all-sequence.txt
@@ -0,0 +1,256 @@
+4d454c0021010000ff3001ffffffffffffffffffffffff0f0103020110010001=5e
+4d454c0021010001ff3001ffffffffffffffffffffffff0f0103020110010001=51
+4d454c0021010002ff3001ffffffffffffffffffffffff0f0103020110010001=50
+4d454c0021010003ff3001ffffffffffffffffffffffff0f0103020110010001=53
+4d454c0021010004ff3001ffffffffffffffffffffffff0f0103020110010001=52
+4d454c0021010005ff3001ffffffffffffffffffffffff0f0103020110010001=55
+4d454c0021010006ff3001ffffffffffffffffffffffff0f0103020110010001=54
+4d454c0021010007ff3001ffffffffffffffffffffffff0f0103020110010001=57
+4d454c0021010008ff3001ffffffffffffffffffffffff0f0103020110010001=56
+4d454c0021010009ff3001ffffffffffffffffffffffff0f0103020110010001=49
+4d454c002101000aff3001ffffffffffffffffffffffff0f0103020110010001=48
+4d454c002101000bff3001ffffffffffffffffffffffff0f0103020110010001=4b
+4d454c002101000cff3001ffffffffffffffffffffffff0f0103020110010001=4a
+4d454c002101000dff3001ffffffffffffffffffffffff0f0103020110010001=4d
+4d454c002101000eff3001ffffffffffffffffffffffff0f0103020110010001=4c
+4d454c002101000fff3001ffffffffffffffffffffffff0f0103020110010001=4f
+4d454c0021010010ff3001ffffffffffffffffffffffff0f0103020110010001=4e
+4d454c0021010011ff3001ffffffffffffffffffffffff0f0103020110010001=41
+4d454c0021010012ff3001ffffffffffffffffffffffff0f0103020110010001=40
+4d454c0021010013ff3001ffffffffffffffffffffffff0f0103020110010001=43
+4d454c0021010014ff3001ffffffffffffffffffffffff0f0103020110010001=42
+4d454c0021010015ff3001ffffffffffffffffffffffff0f0103020110010001=45
+4d454c0021010016ff3001ffffffffffffffffffffffff0f0103020110010001=44
+4d454c0021010017ff3001ffffffffffffffffffffffff0f0103020110010001=47
+4d454c0021010018ff3001ffffffffffffffffffffffff0f0103020110010001=46
+4d454c0021010019ff3001ffffffffffffffffffffffff0f0103020110010001=79
+4d454c002101001aff3001ffffffffffffffffffffffff0f0103020110010001=78
+4d454c002101001bff3001ffffffffffffffffffffffff0f0103020110010001=7b
+4d454c002101001cff3001ffffffffffffffffffffffff0f0103020110010001=7a
+4d454c002101001dff3001ffffffffffffffffffffffff0f0103020110010001=7d
+4d454c002101001eff3001ffffffffffffffffffffffff0f0103020110010001=7c
+4d454c002101001fff3001ffffffffffffffffffffffff0f0103020110010001=7f
+4d454c0021010020ff3001ffffffffffffffffffffffff0f0103020110010001=7e
+4d454c0021010021ff3001ffffffffffffffffffffffff0f0103020110010001=71
+4d454c0021010022ff3001ffffffffffffffffffffffff0f0103020110010001=70
+4d454c0021010023ff3001ffffffffffffffffffffffff0f0103020110010001=73
+4d454c0021010024ff3001ffffffffffffffffffffffff0f0103020110010001=72
+4d454c0021010025ff3001ffffffffffffffffffffffff0f0103020110010001=75
+4d454c0021010026ff3001ffffffffffffffffffffffff0f0103020110010001=74
+4d454c0021010027ff3001ffffffffffffffffffffffff0f0103020110010001=77
+4d454c0021010028ff3001ffffffffffffffffffffffff0f0103020110010001=76
+4d454c0021010029ff3001ffffffffffffffffffffffff0f0103020110010001=69
+4d454c002101002aff3001ffffffffffffffffffffffff0f0103020110010001=68
+4d454c002101002bff3001ffffffffffffffffffffffff0f0103020110010001=6b
+4d454c002101002cff3001ffffffffffffffffffffffff0f0103020110010001=6a
+4d454c002101002dff3001ffffffffffffffffffffffff0f0103020110010001=6d
+4d454c002101002eff3001ffffffffffffffffffffffff0f0103020110010001=6c
+4d454c002101002fff3001ffffffffffffffffffffffff0f0103020110010001=6f
+4d454c0021010030ff3001ffffffffffffffffffffffff0f0103020110010001=6e
+4d454c0021010031ff3001ffffffffffffffffffffffff0f0103020110010001=61
+4d454c0021010032ff3001ffffffffffffffffffffffff0f0103020110010001=60
+4d454c0021010033ff3001ffffffffffffffffffffffff0f0103020110010001=63
+4d454c0021010034ff3001ffffffffffffffffffffffff0f0103020110010001=62
+4d454c0021010035ff3001ffffffffffffffffffffffff0f0103020110010001=65
+4d454c0021010036ff3001ffffffffffffffffffffffff0f0103020110010001=64
+4d454c0021010037ff3001ffffffffffffffffffffffff0f0103020110010001=67
+4d454c0021010038ff3001ffffffffffffffffffffffff0f0103020110010001=66
+4d454c0021010039ff3001ffffffffffffffffffffffff0f0103020110010001=19
+4d454c002101003aff3001ffffffffffffffffffffffff0f0103020110010001=18
+4d454c002101003bff3001ffffffffffffffffffffffff0f0103020110010001=1b
+4d454c002101003cff3001ffffffffffffffffffffffff0f0103020110010001=1a
+4d454c002101003dff3001ffffffffffffffffffffffff0f0103020110010001=1d
+4d454c002101003eff3001ffffffffffffffffffffffff0f0103020110010001=1c
+4d454c002101003fff3001ffffffffffffffffffffffff0f0103020110010001=1f
+4d454c0021010040ff3001ffffffffffffffffffffffff0f0103020110010001=1e
+4d454c0021010041ff3001ffffffffffffffffffffffff0f0103020110010001=11
+4d454c0021010042ff3001ffffffffffffffffffffffff0f0103020110010001=10
+4d454c0021010043ff3001ffffffffffffffffffffffff0f0103020110010001=13
+4d454c0021010044ff3001ffffffffffffffffffffffff0f0103020110010001=12
+4d454c0021010045ff3001ffffffffffffffffffffffff0f0103020110010001=15
+4d454c0021010046ff3001ffffffffffffffffffffffff0f0103020110010001=14
+4d454c0021010047ff3001ffffffffffffffffffffffff0f0103020110010001=17
+4d454c0021010048ff3001ffffffffffffffffffffffff0f0103020110010001=16
+4d454c0021010049ff3001ffffffffffffffffffffffff0f0103020110010001=09
+4d454c002101004aff3001ffffffffffffffffffffffff0f0103020110010001=08
+4d454c002101004bff3001ffffffffffffffffffffffff0f0103020110010001=0b
+4d454c002101004cff3001ffffffffffffffffffffffff0f0103020110010001=0a
+4d454c002101004dff3001ffffffffffffffffffffffff0f0103020110010001=0d
+4d454c002101004eff3001ffffffffffffffffffffffff0f0103020110010001=0c
+4d454c002101004fff3001ffffffffffffffffffffffff0f0103020110010001=0f
+4d454c0021010050ff3001ffffffffffffffffffffffff0f0103020110010001=0e
+4d454c0021010051ff3001ffffffffffffffffffffffff0f0103020110010001=01
+4d454c0021010052ff3001ffffffffffffffffffffffff0f0103020110010001=00
+4d454c0021010053ff3001ffffffffffffffffffffffff0f0103020110010001=03
+4d454c0021010054ff3001ffffffffffffffffffffffff0f0103020110010001=02
+4d454c0021010055ff3001ffffffffffffffffffffffff0f0103020110010001=05
+4d454c0021010056ff3001ffffffffffffffffffffffff0f0103020110010001=04
+4d454c0021010057ff3001ffffffffffffffffffffffff0f0103020110010001=07
+4d454c0021010058ff3001ffffffffffffffffffffffff0f0103020110010001=06
+4d454c0021010059ff3001ffffffffffffffffffffffff0f0103020110010001=39
+4d454c002101005aff3001ffffffffffffffffffffffff0f0103020110010001=38
+4d454c002101005bff3001ffffffffffffffffffffffff0f0103020110010001=3b
+4d454c002101005cff3001ffffffffffffffffffffffff0f0103020110010001=3a
+4d454c002101005dff3001ffffffffffffffffffffffff0f0103020110010001=3d
+4d454c002101005eff3001ffffffffffffffffffffffff0f0103020110010001=3c
+4d454c002101005fff3001ffffffffffffffffffffffff0f0103020110010001=3f
+4d454c0021010060ff3001ffffffffffffffffffffffff0f0103020110010001=3e
+4d454c0021010061ff3001ffffffffffffffffffffffff0f0103020110010001=31
+4d454c0021010062ff3001ffffffffffffffffffffffff0f0103020110010001=30
+4d454c0021010063ff3001ffffffffffffffffffffffff0f0103020110010001=33
+4d454c0021010064ff3001ffffffffffffffffffffffff0f0103020110010001=32
+4d454c0021010065ff3001ffffffffffffffffffffffff0f0103020110010001=35
+4d454c0021010066ff3001ffffffffffffffffffffffff0f0103020110010001=34
+4d454c0021010067ff3001ffffffffffffffffffffffff0f0103020110010001=37
+4d454c0021010068ff3001ffffffffffffffffffffffff0f0103020110010001=36
+4d454c0021010069ff3001ffffffffffffffffffffffff0f0103020110010001=29
+4d454c002101006aff3001ffffffffffffffffffffffff0f0103020110010001=28
+4d454c002101006bff3001ffffffffffffffffffffffff0f0103020110010001=2b
+4d454c002101006cff3001ffffffffffffffffffffffff0f0103020110010001=2a
+4d454c002101006dff3001ffffffffffffffffffffffff0f0103020110010001=2d
+4d454c002101006eff3001ffffffffffffffffffffffff0f0103020110010001=2c
+4d454c002101006fff3001ffffffffffffffffffffffff0f0103020110010001=2f
+4d454c0021010070ff3001ffffffffffffffffffffffff0f0103020110010001=2e
+4d454c0021010071ff3001ffffffffffffffffffffffff0f0103020110010001=21
+4d454c0021010072ff3001ffffffffffffffffffffffff0f0103020110010001=20
+4d454c0021010073ff3001ffffffffffffffffffffffff0f0103020110010001=23
+4d454c0021010074ff3001ffffffffffffffffffffffff0f0103020110010001=22
+4d454c0021010075ff3001ffffffffffffffffffffffff0f0103020110010001=25
+4d454c0021010076ff3001ffffffffffffffffffffffff0f0103020110010001=24
+4d454c0021010077ff3001ffffffffffffffffffffffff0f0103020110010001=27
+4d454c0021010078ff3001ffffffffffffffffffffffff0f0103020110010001=26
+4d454c0021010079ff3001ffffffffffffffffffffffff0f0103020110010001=d9
+4d454c002101007aff3001ffffffffffffffffffffffff0f0103020110010001=d8
+4d454c002101007bff3001ffffffffffffffffffffffff0f0103020110010001=db
+4d454c002101007cff3001ffffffffffffffffffffffff0f0103020110010001=da
+4d454c002101007dff3001ffffffffffffffffffffffff0f0103020110010001=dd
+4d454c002101007eff3001ffffffffffffffffffffffff0f0103020110010001=dc
+4d454c002101007fff3001ffffffffffffffffffffffff0f0103020110010001=df
+4d454c0021010080ff3001ffffffffffffffffffffffff0f0103020110010001=de
+4d454c0021010081ff3001ffffffffffffffffffffffff0f0103020110010001=d1
+4d454c0021010082ff3001ffffffffffffffffffffffff0f0103020110010001=d0
+4d454c0021010083ff3001ffffffffffffffffffffffff0f0103020110010001=d3
+4d454c0021010084ff3001ffffffffffffffffffffffff0f0103020110010001=d2
+4d454c0021010085ff3001ffffffffffffffffffffffff0f0103020110010001=d5
+4d454c0021010086ff3001ffffffffffffffffffffffff0f0103020110010001=d4
+4d454c0021010087ff3001ffffffffffffffffffffffff0f0103020110010001=d7
+4d454c0021010088ff3001ffffffffffffffffffffffff0f0103020110010001=d6
+4d454c0021010089ff3001ffffffffffffffffffffffff0f0103020110010001=c9
+4d454c002101008aff3001ffffffffffffffffffffffff0f0103020110010001=c8
+4d454c002101008bff3001ffffffffffffffffffffffff0f0103020110010001=cb
+4d454c002101008cff3001ffffffffffffffffffffffff0f0103020110010001=ca
+4d454c002101008dff3001ffffffffffffffffffffffff0f0103020110010001=cd
+4d454c002101008eff3001ffffffffffffffffffffffff0f0103020110010001=cc
+4d454c002101008fff3001ffffffffffffffffffffffff0f0103020110010001=cf
+4d454c0021010090ff3001ffffffffffffffffffffffff0f0103020110010001=ce
+4d454c0021010091ff3001ffffffffffffffffffffffff0f0103020110010001=c1
+4d454c0021010092ff3001ffffffffffffffffffffffff0f0103020110010001=c0
+4d454c0021010093ff3001ffffffffffffffffffffffff0f0103020110010001=c3
+4d454c0021010094ff3001ffffffffffffffffffffffff0f0103020110010001=c2
+4d454c0021010095ff3001ffffffffffffffffffffffff0f0103020110010001=c5
+4d454c0021010096ff3001ffffffffffffffffffffffff0f0103020110010001=c4
+4d454c0021010097ff3001ffffffffffffffffffffffff0f0103020110010001=c7
+4d454c0021010098ff3001ffffffffffffffffffffffff0f0103020110010001=c6
+4d454c0021010099ff3001ffffffffffffffffffffffff0f0103020110010001=f9
+4d454c002101009aff3001ffffffffffffffffffffffff0f0103020110010001=f8
+4d454c002101009bff3001ffffffffffffffffffffffff0f0103020110010001=fb
+4d454c002101009cff3001ffffffffffffffffffffffff0f0103020110010001=fa
+4d454c002101009dff3001ffffffffffffffffffffffff0f0103020110010001=fd
+4d454c002101009eff3001ffffffffffffffffffffffff0f0103020110010001=fc
+4d454c002101009fff3001ffffffffffffffffffffffff0f0103020110010001=ff
+4d454c00210100a0ff3001ffffffffffffffffffffffff0f0103020110010001=fe
+4d454c00210100a1ff3001ffffffffffffffffffffffff0f0103020110010001=f1
+4d454c00210100a2ff3001ffffffffffffffffffffffff0f0103020110010001=f0
+4d454c00210100a3ff3001ffffffffffffffffffffffff0f0103020110010001=f3
+4d454c00210100a4ff3001ffffffffffffffffffffffff0f0103020110010001=f2
+4d454c00210100a5ff3001ffffffffffffffffffffffff0f0103020110010001=f5
+4d454c00210100a6ff3001ffffffffffffffffffffffff0f0103020110010001=f4
+4d454c00210100a7ff3001ffffffffffffffffffffffff0f0103020110010001=f7
+4d454c00210100a8ff3001ffffffffffffffffffffffff0f0103020110010001=f6
+4d454c00210100a9ff3001ffffffffffffffffffffffff0f0103020110010001=e9
+4d454c00210100aaff3001ffffffffffffffffffffffff0f0103020110010001=e8
+4d454c00210100abff3001ffffffffffffffffffffffff0f0103020110010001=eb
+4d454c00210100acff3001ffffffffffffffffffffffff0f0103020110010001=ea
+4d454c00210100adff3001ffffffffffffffffffffffff0f0103020110010001=ed
+4d454c00210100aeff3001ffffffffffffffffffffffff0f0103020110010001=ec
+4d454c00210100afff3001ffffffffffffffffffffffff0f0103020110010001=ef
+4d454c00210100b0ff3001ffffffffffffffffffffffff0f0103020110010001=ee
+4d454c00210100b1ff3001ffffffffffffffffffffffff0f0103020110010001=e1
+4d454c00210100b2ff3001ffffffffffffffffffffffff0f0103020110010001=e0
+4d454c00210100b3ff3001ffffffffffffffffffffffff0f0103020110010001=e3
+4d454c00210100b4ff3001ffffffffffffffffffffffff0f0103020110010001=e2
+4d454c00210100b5ff3001ffffffffffffffffffffffff0f0103020110010001=e5
+4d454c00210100b6ff3001ffffffffffffffffffffffff0f0103020110010001=e4
+4d454c00210100b7ff3001ffffffffffffffffffffffff0f0103020110010001=e7
+4d454c00210100b8ff3001ffffffffffffffffffffffff0f0103020110010001=e6
+4d454c00210100b9ff3001ffffffffffffffffffffffff0f0103020110010001=99
+4d454c00210100baff3001ffffffffffffffffffffffff0f0103020110010001=98
+4d454c00210100bbff3001ffffffffffffffffffffffff0f0103020110010001=9b
+4d454c00210100bcff3001ffffffffffffffffffffffff0f0103020110010001=9a
+4d454c00210100bdff3001ffffffffffffffffffffffff0f0103020110010001=9d
+4d454c00210100beff3001ffffffffffffffffffffffff0f0103020110010001=9c
+4d454c00210100bfff3001ffffffffffffffffffffffff0f0103020110010001=9f
+4d454c00210100c0ff3001ffffffffffffffffffffffff0f0103020110010001=9e
+4d454c00210100c1ff3001ffffffffffffffffffffffff0f0103020110010001=91
+4d454c00210100c2ff3001ffffffffffffffffffffffff0f0103020110010001=90
+4d454c00210100c3ff3001ffffffffffffffffffffffff0f0103020110010001=93
+4d454c00210100c4ff3001ffffffffffffffffffffffff0f0103020110010001=92
+4d454c00210100c5ff3001ffffffffffffffffffffffff0f0103020110010001=95
+4d454c00210100c6ff3001ffffffffffffffffffffffff0f0103020110010001=94
+4d454c00210100c7ff3001ffffffffffffffffffffffff0f0103020110010001=97
+4d454c00210100c8ff3001ffffffffffffffffffffffff0f0103020110010001=96
+4d454c00210100c9ff3001ffffffffffffffffffffffff0f0103020110010001=89
+4d454c00210100caff3001ffffffffffffffffffffffff0f0103020110010001=88
+4d454c00210100cbff3001ffffffffffffffffffffffff0f0103020110010001=8b
+4d454c00210100ccff3001ffffffffffffffffffffffff0f0103020110010001=8a
+4d454c00210100cdff3001ffffffffffffffffffffffff0f0103020110010001=8d
+4d454c00210100ceff3001ffffffffffffffffffffffff0f0103020110010001=8c
+4d454c00210100cfff3001ffffffffffffffffffffffff0f0103020110010001=8f
+4d454c00210100d0ff3001ffffffffffffffffffffffff0f0103020110010001=8e
+4d454c00210100d1ff3001ffffffffffffffffffffffff0f0103020110010001=81
+4d454c00210100d2ff3001ffffffffffffffffffffffff0f0103020110010001=80
+4d454c00210100d3ff3001ffffffffffffffffffffffff0f0103020110010001=83
+4d454c00210100d4ff3001ffffffffffffffffffffffff0f0103020110010001=82
+4d454c00210100d5ff3001ffffffffffffffffffffffff0f0103020110010001=85
+4d454c00210100d6ff3001ffffffffffffffffffffffff0f0103020110010001=84
+4d454c00210100d7ff3001ffffffffffffffffffffffff0f0103020110010001=87
+4d454c00210100d8ff3001ffffffffffffffffffffffff0f0103020110010001=86
+4d454c00210100d9ff3001ffffffffffffffffffffffff0f0103020110010001=b9
+4d454c00210100daff3001ffffffffffffffffffffffff0f0103020110010001=b8
+4d454c00210100dbff3001ffffffffffffffffffffffff0f0103020110010001=bb
+4d454c00210100dcff3001ffffffffffffffffffffffff0f0103020110010001=ba
+4d454c00210100ddff3001ffffffffffffffffffffffff0f0103020110010001=bd
+4d454c00210100deff3001ffffffffffffffffffffffff0f0103020110010001=bc
+4d454c00210100dfff3001ffffffffffffffffffffffff0f0103020110010001=bf
+4d454c00210100e0ff3001ffffffffffffffffffffffff0f0103020110010001=be
+4d454c00210100e1ff3001ffffffffffffffffffffffff0f0103020110010001=b1
+4d454c00210100e2ff3001ffffffffffffffffffffffff0f0103020110010001=b0
+4d454c00210100e3ff3001ffffffffffffffffffffffff0f0103020110010001=b3
+4d454c00210100e4ff3001ffffffffffffffffffffffff0f0103020110010001=b2
+4d454c00210100e5ff3001ffffffffffffffffffffffff0f0103020110010001=b5
+4d454c00210100e6ff3001ffffffffffffffffffffffff0f0103020110010001=b4
+4d454c00210100e7ff3001ffffffffffffffffffffffff0f0103020110010001=b7
+4d454c00210100e8ff3001ffffffffffffffffffffffff0f0103020110010001=b6
+4d454c00210100e9ff3001ffffffffffffffffffffffff0f0103020110010001=a9
+4d454c00210100eaff3001ffffffffffffffffffffffff0f0103020110010001=a8
+4d454c00210100ebff3001ffffffffffffffffffffffff0f0103020110010001=ab
+4d454c00210100ecff3001ffffffffffffffffffffffff0f0103020110010001=aa
+4d454c00210100edff3001ffffffffffffffffffffffff0f0103020110010001=ad
+4d454c00210100eeff3001ffffffffffffffffffffffff0f0103020110010001=ac
+4d454c00210100efff3001ffffffffffffffffffffffff0f0103020110010001=af
+4d454c00210100f0ff3001ffffffffffffffffffffffff0f0103020110010001=ae
+4d454c00210100f1ff3001ffffffffffffffffffffffff0f0103020110010001=a1
+4d454c00210100f2ff3001ffffffffffffffffffffffff0f0103020110010001=a0
+4d454c00210100f3ff3001ffffffffffffffffffffffff0f0103020110010001=a3
+4d454c00210100f4ff3001ffffffffffffffffffffffff0f0103020110010001=a2
+4d454c00210100f5ff3001ffffffffffffffffffffffff0f0103020110010001=a5
+4d454c00210100f6ff3001ffffffffffffffffffffffff0f0103020110010001=a4
+4d454c00210100f7ff3001ffffffffffffffffffffffff0f0103020110010001=a7
+4d454c00210100f8ff3001ffffffffffffffffffffffff0f0103020110010001=a6
+4d454c00210100f9ff3001ffffffffffffffffffffffff0f0103020110010000=59
+4d454c00210100faff3001ffffffffffffffffffffffff0f0103020110010000=58
+4d454c00210100fbff3001ffffffffffffffffffffffff0f0103020110010000=5b
+4d454c00210100fcff3001ffffffffffffffffffffffff0f0103020110010000=5a
+4d454c00210100fdff3001ffffffffffffffffffffffff0f0103020110010000=5d
+4d454c00210100feff3001ffffffffffffffffffffffff0f0103020110010000=5c
+4d454c00210100ffff3001ffffffffffffffffffffffff0f0103020110010000=5f \ No newline at end of file
diff --git a/research/bad-bruteforcing/reveng-formatted/stop-zone-all-partial-sequence.txt b/research/bad-bruteforcing/reveng-formatted/stop-zone-all-partial-sequence.txt
new file mode 100644
index 0000000..1dabcd2
--- /dev/null
+++ b/research/bad-bruteforcing/reveng-formatted/stop-zone-all-partial-sequence.txt
@@ -0,0 +1,33 @@
+4d454c001a010020ff5002ffffffffffffffffffffffff0f01=0b
+4d454c001a010021ff5002ffffffffffffffffffffffff0f01=04
+4d454c001a010022ff5002ffffffffffffffffffffffff0f01=05
+4d454c001a010028ff5002ffffffffffffffffffffffff0f01=03
+4d454c001a010029ff5002ffffffffffffffffffffffff0f01=1c
+4d454c001a01002aff5002ffffffffffffffffffffffff0f01=1d
+4d454c001a01002bff5002ffffffffffffffffffffffff0f01=1e
+4d454c001a01002cff5002ffffffffffffffffffffffff0f01=1f
+4d454c001a01002dff5002ffffffffffffffffffffffff0f01=18
+4d454c001a01002eff5002ffffffffffffffffffffffff0f01=19
+4d454c001a01002fff5002ffffffffffffffffffffffff0f01=1a
+4d454c001a010030ff5002ffffffffffffffffffffffff0f01=1b
+4d454c001a010031ff5002ffffffffffffffffffffffff0f01=14
+4d454c001a010032ff5002ffffffffffffffffffffffff0f01=15
+4d454c001a010033ff5002ffffffffffffffffffffffff0f01=16
+4d454c001a010034ff5002ffffffffffffffffffffffff0f01=17
+4d454c001a010035ff5002ffffffffffffffffffffffff0f01=10
+4d454c001a010036ff5002ffffffffffffffffffffffff0f01=11
+4d454c001a010037ff5002ffffffffffffffffffffffff0f01=12
+4d454c001a010038ff5002ffffffffffffffffffffffff0f01=13
+4d454c001a010039ff5002ffffffffffffffffffffffff0f01=6c
+4d454c001a01003aff5002ffffffffffffffffffffffff0f01=6d
+4d454c001a01003bff5002ffffffffffffffffffffffff0f01=6e
+4d454c001a01003cff5002ffffffffffffffffffffffff0f01=6f
+4d454c001a01003dff5002ffffffffffffffffffffffff0f01=68
+4d454c001a01003eff5002ffffffffffffffffffffffff0f01=69
+4d454c001a01003fff5002ffffffffffffffffffffffff0f01=6a
+4d454c001a010040ff5002ffffffffffffffffffffffff0f01=6b
+4d454c001a010041ff5002ffffffffffffffffffffffff0f01=64
+4d454c001a010042ff5002ffffffffffffffffffffffff0f01=65
+4d454c001a010043ff5002ffffffffffffffffffffffff0f01=66
+4d454c001a010044ff5002ffffffffffffffffffffffff0f01=67
+4d454c001a010045ff5002ffffffffffffffffffffffff0f01=60 \ No newline at end of file
diff --git a/research/bad-bruteforcing/sequence.txt b/research/bad-bruteforcing/sequence.txt
new file mode 100644
index 0000000..87da812
--- /dev/null
+++ b/research/bad-bruteforcing/sequence.txt
@@ -0,0 +1,256 @@
+4d454c0021010001ff300180000000000000000000000000010302010f010001fb
+4d454c0021010002ff300180000000000000000000000000010302010f010001fa
+4d454c0021010003ff300180000000000000000000000000010302010f010001f9
+4d454c0021010004ff300180000000000000000000000000010302010f010001f8
+4d454c0021010005ff300180000000000000000000000000010302010f010001ff
+4d454c0021010006ff300180000000000000000000000000010302010f010001fe
+4d454c0021010007ff300180000000000000000000000000010302010f010001fd
+4d454c0021010008ff300180000000000000000000000000010302010f010001fc
+4d454c0021010009ff300180000000000000000000000000010302010f010001e3
+4d454c002101000aff300180000000000000000000000000010302010f010001e2
+4d454c002101000bff300180000000000000000000000000010302010f010001e1
+4d454c002101000cff300180000000000000000000000000010302010f010001e0
+4d454c002101000dff300180000000000000000000000000010302010f010001e7
+4d454c002101000eff300180000000000000000000000000010302010f010001e6
+4d454c002101000fff300180000000000000000000000000010302010f010001e5
+4d454c0021010010ff300180000000000000000000000000010302010f010001e4
+4d454c0021010011ff300180000000000000000000000000010302010f010001eb
+4d454c0021010012ff300180000000000000000000000000010302010f010001ea
+4d454c0021010013ff300180000000000000000000000000010302010f010001e9
+4d454c0021010014ff300180000000000000000000000000010302010f010001e8
+4d454c0021010015ff300180000000000000000000000000010302010f010001ef
+4d454c0021010016ff300180000000000000000000000000010302010f010001ee
+4d454c0021010017ff300180000000000000000000000000010302010f010001ed
+4d454c0021010018ff300180000000000000000000000000010302010f010001ec
+4d454c0021010019ff300180000000000000000000000000010302010f010001d3
+4d454c002101001aff300180000000000000000000000000010302010f010001d2
+4d454c002101001bff300180000000000000000000000000010302010f010001d1
+4d454c002101001cff300180000000000000000000000000010302010f010001d0
+4d454c002101001dff300180000000000000000000000000010302010f010001d7
+4d454c002101001eff300180000000000000000000000000010302010f010001d6
+4d454c002101001fff300180000000000000000000000000010302010f010001d5
+4d454c0021010020ff300180000000000000000000000000010302010f010001d4
+4d454c0021010021ff300180000000000000000000000000010302010f010001db
+4d454c0021010022ff300180000000000000000000000000010302010f010001da
+4d454c0021010023ff300180000000000000000000000000010302010f010001d9
+4d454c0021010024ff300180000000000000000000000000010302010f010001d8
+4d454c0021010025ff300180000000000000000000000000010302010f010001df
+4d454c0021010026ff300180000000000000000000000000010302010f010001de
+4d454c0021010027ff300180000000000000000000000000010302010f010001dd
+4d454c0021010028ff300180000000000000000000000000010302010f010001dc
+4d454c0021010029ff300180000000000000000000000000010302010f010001c3
+4d454c002101002aff300180000000000000000000000000010302010f010001c2
+4d454c002101002bff300180000000000000000000000000010302010f010001c1
+4d454c002101002cff300180000000000000000000000000010302010f010001c0
+4d454c002101002dff300180000000000000000000000000010302010f010001c7
+4d454c002101002eff300180000000000000000000000000010302010f010001c6
+4d454c002101002fff300180000000000000000000000000010302010f010001c5
+4d454c0021010030ff300180000000000000000000000000010302010f010001c4
+4d454c0021010031ff300180000000000000000000000000010302010f010001cb
+4d454c0021010032ff300180000000000000000000000000010302010f010001ca
+4d454c0021010033ff300180000000000000000000000000010302010f010001c9
+4d454c0021010034ff300180000000000000000000000000010302010f010001c8
+4d454c0021010035ff300180000000000000000000000000010302010f010001cf
+4d454c0021010036ff300180000000000000000000000000010302010f010001ce
+4d454c0021010037ff300180000000000000000000000000010302010f010001cd
+4d454c0021010038ff300180000000000000000000000000010302010f010001cc
+4d454c0021010039ff300180000000000000000000000000010302010f010001b3
+4d454c002101003aff300180000000000000000000000000010302010f010001b2
+4d454c002101003bff300180000000000000000000000000010302010f010001b1
+4d454c002101003cff300180000000000000000000000000010302010f010001b0
+4d454c002101003dff300180000000000000000000000000010302010f010001b7
+4d454c002101003eff300180000000000000000000000000010302010f010001b6
+4d454c002101003fff300180000000000000000000000000010302010f010001b5
+4d454c0021010040ff300180000000000000000000000000010302010f010001b4
+4d454c0021010041ff300180000000000000000000000000010302010f010001bb
+4d454c0021010042ff300180000000000000000000000000010302010f010001ba
+4d454c0021010043ff300180000000000000000000000000010302010f010001b9
+4d454c0021010044ff300180000000000000000000000000010302010f010001b8
+4d454c0021010045ff300180000000000000000000000000010302010f010001bf
+4d454c0021010046ff300180000000000000000000000000010302010f010001be
+4d454c0021010047ff300180000000000000000000000000010302010f010001bd
+4d454c0021010048ff300180000000000000000000000000010302010f010001bc
+4d454c0021010049ff300180000000000000000000000000010302010f010001a3
+4d454c002101004aff300180000000000000000000000000010302010f010001a2
+4d454c002101004bff300180000000000000000000000000010302010f010001a1
+4d454c002101004cff300180000000000000000000000000010302010f010001a0
+4d454c002101004dff300180000000000000000000000000010302010f010001a7
+4d454c002101004eff300180000000000000000000000000010302010f010001a6
+4d454c002101004fff300180000000000000000000000000010302010f010001a5
+4d454c0021010050ff300180000000000000000000000000010302010f010001a4
+4d454c0021010051ff300180000000000000000000000000010302010f010001ab
+4d454c0021010052ff300180000000000000000000000000010302010f010001aa
+4d454c0021010053ff300180000000000000000000000000010302010f010001a9
+4d454c0021010054ff300180000000000000000000000000010302010f010001a8
+4d454c0021010055ff300180000000000000000000000000010302010f010001af
+4d454c0021010056ff300180000000000000000000000000010302010f010001ae
+4d454c0021010057ff300180000000000000000000000000010302010f010001ad
+4d454c0021010058ff300180000000000000000000000000010302010f010001ac
+4d454c0021010059ff300180000000000000000000000000010302010f01000193
+4d454c002101005aff300180000000000000000000000000010302010f01000192
+4d454c002101005bff300180000000000000000000000000010302010f01000191
+4d454c002101005cff300180000000000000000000000000010302010f01000190
+4d454c002101005dff300180000000000000000000000000010302010f01000197
+4d454c002101005eff300180000000000000000000000000010302010f01000196
+4d454c002101005fff300180000000000000000000000000010302010f01000195
+4d454c0021010060ff300180000000000000000000000000010302010f01000194
+4d454c0021010061ff300180000000000000000000000000010302010f0100019b
+4d454c0021010062ff300180000000000000000000000000010302010f0100019a
+4d454c0021010063ff300180000000000000000000000000010302010f01000199
+4d454c0021010064ff300180000000000000000000000000010302010f01000198
+4d454c0021010065ff300180000000000000000000000000010302010f0100019f
+4d454c0021010066ff300180000000000000000000000000010302010f0100019e
+4d454c0021010067ff300180000000000000000000000000010302010f0100019d
+4d454c0021010068ff300180000000000000000000000000010302010f0100019c
+4d454c0021010069ff300180000000000000000000000000010302010f01000183
+4d454c002101006aff300180000000000000000000000000010302010f01000182
+4d454c002101006bff300180000000000000000000000000010302010f01000181
+4d454c002101006cff300180000000000000000000000000010302010f01000180
+4d454c002101006dff300180000000000000000000000000010302010f01000187
+4d454c002101006eff300180000000000000000000000000010302010f01000186
+4d454c002101006fff300180000000000000000000000000010302010f01000185
+4d454c0021010070ff300180000000000000000000000000010302010f01000184
+4d454c0021010071ff300180000000000000000000000000010302010f0100018b
+4d454c0021010072ff300180000000000000000000000000010302010f0100018a
+4d454c0021010073ff300180000000000000000000000000010302010f01000189
+4d454c0021010074ff300180000000000000000000000000010302010f01000188
+4d454c0021010075ff300180000000000000000000000000010302010f0100018f
+4d454c0021010076ff300180000000000000000000000000010302010f0100018e
+4d454c0021010077ff300180000000000000000000000000010302010f0100018d
+4d454c0021010078ff300180000000000000000000000000010302010f0100018c
+4d454c0021010079ff300180000000000000000000000000010302010f01000173
+4d454c002101007aff300180000000000000000000000000010302010f01000172
+4d454c002101007bff300180000000000000000000000000010302010f01000171
+4d454c002101007cff300180000000000000000000000000010302010f01000170
+4d454c002101007dff300180000000000000000000000000010302010f01000177
+4d454c002101007eff300180000000000000000000000000010302010f01000176
+4d454c002101007fff300180000000000000000000000000010302010f01000175
+4d454c0021010080ff300180000000000000000000000000010302010f01000174
+4d454c0021010081ff300180000000000000000000000000010302010f0100017b
+4d454c0021010082ff300180000000000000000000000000010302010f0100017a
+4d454c0021010083ff300180000000000000000000000000010302010f01000179
+4d454c0021010084ff300180000000000000000000000000010302010f01000178
+4d454c0021010085ff300180000000000000000000000000010302010f0100017f
+4d454c0021010086ff300180000000000000000000000000010302010f0100017e
+4d454c0021010087ff300180000000000000000000000000010302010f0100017d
+4d454c0021010088ff300180000000000000000000000000010302010f0100017c
+4d454c0021010089ff300180000000000000000000000000010302010f01000163
+4d454c002101008aff300180000000000000000000000000010302010f01000162
+4d454c002101008bff300180000000000000000000000000010302010f01000161
+4d454c002101008cff300180000000000000000000000000010302010f01000160
+4d454c002101008dff300180000000000000000000000000010302010f01000167
+4d454c002101008eff300180000000000000000000000000010302010f01000166
+4d454c002101008fff300180000000000000000000000000010302010f01000165
+4d454c0021010090ff300180000000000000000000000000010302010f01000164
+4d454c0021010091ff300180000000000000000000000000010302010f0100016b
+4d454c0021010092ff300180000000000000000000000000010302010f0100016a
+4d454c0021010093ff300180000000000000000000000000010302010f01000169
+4d454c0021010094ff300180000000000000000000000000010302010f01000168
+4d454c0021010095ff300180000000000000000000000000010302010f0100016f
+4d454c0021010096ff300180000000000000000000000000010302010f0100016e
+4d454c0021010097ff300180000000000000000000000000010302010f0100016d
+4d454c0021010098ff300180000000000000000000000000010302010f0100016c
+4d454c0021010099ff300180000000000000000000000000010302010f01000153
+4d454c002101009aff300180000000000000000000000000010302010f01000152
+4d454c002101009bff300180000000000000000000000000010302010f01000151
+4d454c002101009cff300180000000000000000000000000010302010f01000150
+4d454c002101009dff300180000000000000000000000000010302010f01000157
+4d454c002101009eff300180000000000000000000000000010302010f01000156
+4d454c002101009fff300180000000000000000000000000010302010f01000155
+4d454c00210100a0ff300180000000000000000000000000010302010f01000154
+4d454c00210100a1ff300180000000000000000000000000010302010f0100015b
+4d454c00210100a2ff300180000000000000000000000000010302010f0100015a
+4d454c00210100a3ff300180000000000000000000000000010302010f01000159
+4d454c00210100a4ff300180000000000000000000000000010302010f01000158
+4d454c00210100a5ff300180000000000000000000000000010302010f0100015f
+4d454c00210100a6ff300180000000000000000000000000010302010f0100015e
+4d454c00210100a7ff300180000000000000000000000000010302010f0100015d
+4d454c00210100a8ff300180000000000000000000000000010302010f0100015c
+4d454c00210100a9ff300180000000000000000000000000010302010f01000143
+4d454c00210100aaff300180000000000000000000000000010302010f01000142
+4d454c00210100abff300180000000000000000000000000010302010f01000141
+4d454c00210100acff300180000000000000000000000000010302010f01000140
+4d454c00210100adff300180000000000000000000000000010302010f01000147
+4d454c00210100aeff300180000000000000000000000000010302010f01000146
+4d454c00210100afff300180000000000000000000000000010302010f01000145
+4d454c00210100b0ff300180000000000000000000000000010302010f01000144
+4d454c00210100b1ff300180000000000000000000000000010302010f0100014b
+4d454c00210100b2ff300180000000000000000000000000010302010f0100014a
+4d454c00210100b3ff300180000000000000000000000000010302010f01000149
+4d454c00210100b4ff300180000000000000000000000000010302010f01000148
+4d454c00210100b5ff300180000000000000000000000000010302010f0100014f
+4d454c00210100b6ff300180000000000000000000000000010302010f0100014e
+4d454c00210100b7ff300180000000000000000000000000010302010f0100014d
+4d454c00210100b8ff300180000000000000000000000000010302010f0100014c
+4d454c00210100b9ff300180000000000000000000000000010302010f01000133
+4d454c00210100baff300180000000000000000000000000010302010f01000132
+4d454c00210100bbff300180000000000000000000000000010302010f01000131
+4d454c00210100bcff300180000000000000000000000000010302010f01000130
+4d454c00210100bdff300180000000000000000000000000010302010f01000137
+4d454c00210100beff300180000000000000000000000000010302010f01000136
+4d454c00210100bfff300180000000000000000000000000010302010f01000135
+4d454c00210100c0ff300180000000000000000000000000010302010f01000134
+4d454c00210100c1ff300180000000000000000000000000010302010f0100013b
+4d454c00210100c2ff300180000000000000000000000000010302010f0100013a
+4d454c00210100c3ff300180000000000000000000000000010302010f01000139
+4d454c00210100c4ff300180000000000000000000000000010302010f01000138
+4d454c00210100c5ff300180000000000000000000000000010302010f0100013f
+4d454c00210100c6ff300180000000000000000000000000010302010f0100013e
+4d454c00210100c7ff300180000000000000000000000000010302010f0100013d
+4d454c00210100c8ff300180000000000000000000000000010302010f0100013c
+4d454c00210100c9ff300180000000000000000000000000010302010f01000123
+4d454c00210100caff300180000000000000000000000000010302010f01000122
+4d454c00210100cbff300180000000000000000000000000010302010f01000121
+4d454c00210100ccff300180000000000000000000000000010302010f01000120
+4d454c00210100cdff300180000000000000000000000000010302010f01000127
+4d454c00210100ceff300180000000000000000000000000010302010f01000126
+4d454c00210100cfff300180000000000000000000000000010302010f01000125
+4d454c00210100d0ff300180000000000000000000000000010302010f01000124
+4d454c00210100d1ff300180000000000000000000000000010302010f0100012b
+4d454c00210100d2ff300180000000000000000000000000010302010f0100012a
+4d454c00210100d3ff300180000000000000000000000000010302010f01000129
+4d454c00210100d4ff300180000000000000000000000000010302010f01000128
+4d454c00210100d5ff300180000000000000000000000000010302010f0100012f
+4d454c00210100d6ff300180000000000000000000000000010302010f0100012e
+4d454c00210100d7ff300180000000000000000000000000010302010f0100012d
+4d454c00210100d8ff300180000000000000000000000000010302010f0100012c
+4d454c00210100d9ff300180000000000000000000000000010302010f01000113
+4d454c00210100daff300180000000000000000000000000010302010f01000112
+4d454c00210100dbff300180000000000000000000000000010302010f01000111
+4d454c00210100dcff300180000000000000000000000000010302010f01000110
+4d454c00210100ddff300180000000000000000000000000010302010f01000117
+4d454c00210100deff300180000000000000000000000000010302010f01000116
+4d454c00210100dfff300180000000000000000000000000010302010f01000115
+4d454c00210100e0ff300180000000000000000000000000010302010f01000114
+4d454c00210100e1ff300180000000000000000000000000010302010f0100011b
+4d454c00210100e2ff300180000000000000000000000000010302010f0100011a
+4d454c00210100e3ff300180000000000000000000000000010302010f01000119
+4d454c00210100e4ff300180000000000000000000000000010302010f01000118
+4d454c00210100e5ff300180000000000000000000000000010302010f0100011f
+4d454c00210100e6ff300180000000000000000000000000010302010f0100011e
+4d454c00210100e7ff300180000000000000000000000000010302010f0100011d
+4d454c00210100e8ff300180000000000000000000000000010302010f0100011c
+4d454c00210100e9ff300180000000000000000000000000010302010f01000103
+4d454c00210100eaff300180000000000000000000000000010302010f01000102
+4d454c00210100ebff300180000000000000000000000000010302010f01000101
+4d454c00210100ecff300180000000000000000000000000010302010f01000100
+4d454c00210100edff300180000000000000000000000000010302010f01000107
+4d454c00210100eeff300180000000000000000000000000010302010f01000106
+4d454c00210100efff300180000000000000000000000000010302010f01000105
+4d454c00210100f0ff300180000000000000000000000000010302010f01000104
+4d454c00210100f1ff300180000000000000000000000000010302010f0100010b
+4d454c00210100f2ff300180000000000000000000000000010302010f0100010a
+4d454c00210100f3ff300180000000000000000000000000010302010f01000109
+4d454c00210100f4ff300180000000000000000000000000010302010f01000108
+4d454c00210100f5ff300180000000000000000000000000010302010f0100010f
+4d454c00210100f6ff300180000000000000000000000000010302010f0100010e
+4d454c00210100f7ff300180000000000000000000000000010302010f0100010d
+4d454c00210100f8ff300180000000000000000000000000010302010f0100010c
+4d454c00210100f9ff300180000000000000000000000000010302010f010000f3
+4d454c00210100faff300180000000000000000000000000010302010f010000f2
+4d454c00210100fbff300180000000000000000000000000010302010f010000f1
+4d454c00210100fcff300180000000000000000000000000010302010f010000f0
+4d454c00210100fdff300180000000000000000000000000010302010f010000f7
+4d454c00210100feff300180000000000000000000000000010302010f010000f6
+4d454c00210100ffff300180000000000000000000000000010302010f010000f5
+4d454c0021010000ff300180000000000000000000000000010302010f010001f4
diff --git a/research/executables/bulk_checksum_verifier.py b/research/executables/bulk_checksum_verifier.py
deleted file mode 100644
index e69de29..0000000
--- a/research/executables/bulk_checksum_verifier.py
+++ /dev/null
diff --git a/research/executables/calculate_packet_checksum.py b/research/executables/calculate_packet_checksum.py
deleted file mode 100644
index e69de29..0000000
--- a/research/executables/calculate_packet_checksum.py
+++ /dev/null
diff --git a/research/executables/claude-ai-slop/checksum_bruteforce.py b/research/executables/claude-ai-slop/checksum_bruteforce.py
new file mode 100644
index 0000000..3cfa7cf
--- /dev/null
+++ b/research/executables/claude-ai-slop/checksum_bruteforce.py
@@ -0,0 +1,367 @@
+#!/usr/bin/env python3
+"""
+Comprehensive checksum bruteforce tool for the MEL protocol
+Usage: python checksum_bruteforce.py <hex_file>
+"""
+
+import sys
+import struct
+from typing import List, Tuple, Dict
+
+def parse_hex_line(hex_string: str) -> List[int]:
+ """Parse a hex string into list of bytes"""
+ hex_clean = hex_string.strip().replace(' ', '')
+ return [int(hex_clean[i:i+2], 16) for i in range(0, len(hex_clean), 2)]
+
+def bytes_to_hex(bytes_list: List[int]) -> str:
+ """Convert bytes to hex string"""
+ return ''.join(f'{b:02x}' for b in bytes_list)
+
+class ChecksumTester:
+ def __init__(self):
+ self.algorithms = [
+ self.simple_sum,
+ self.sum_with_carry,
+ self.twos_complement,
+ self.ones_complement,
+ self.xor_checksum,
+ self.crc16_ccitt,
+ self.crc16_ibm,
+ self.fletcher16,
+ self.modsum_256,
+ self.internet_checksum,
+ ]
+
+ def simple_sum(self, data: List[int]) -> int:
+ """Simple sum of all bytes"""
+ return sum(data) & 0xFFFF
+
+ def sum_with_carry(self, data: List[int]) -> int:
+ """Sum with end-around carry"""
+ s = sum(data)
+ while s > 0xFFFF:
+ s = (s & 0xFFFF) + (s >> 16)
+ return s
+
+ def twos_complement(self, data: List[int]) -> int:
+ """Two's complement of sum"""
+ s = sum(data)
+ return (~s + 1) & 0xFFFF
+
+ def ones_complement(self, data: List[int]) -> int:
+ """One's complement of sum"""
+ s = sum(data)
+ return (~s) & 0xFFFF
+
+ def xor_checksum(self, data: List[int]) -> int:
+ """XOR of all bytes, extended to 16-bit"""
+ result = 0
+ for b in data:
+ result ^= b
+ return result
+
+ def crc16_ccitt(self, data: List[int], poly: int = 0x1021) -> int:
+ """CRC-16 CCITT"""
+ crc = 0xFFFF
+ for byte in data:
+ crc ^= (byte << 8)
+ for _ in range(8):
+ if crc & 0x8000:
+ crc = (crc << 1) ^ poly
+ else:
+ crc <<= 1
+ crc &= 0xFFFF
+ return crc
+
+ def crc16_ibm(self, data: List[int]) -> int:
+ """CRC-16 IBM/ANSI"""
+ return self.crc16_ccitt(data, 0x8005)
+
+ def fletcher16(self, data: List[int]) -> int:
+ """Fletcher-16 checksum"""
+ sum1 = sum2 = 0
+ for byte in data:
+ sum1 = (sum1 + byte) % 255
+ sum2 = (sum2 + sum1) % 255
+ return (sum2 << 8) | sum1
+
+ def modsum_256(self, data: List[int]) -> int:
+ """Sum modulo 256, extended to 16-bit"""
+ return sum(data) % 256
+
+ def internet_checksum(self, data: List[int]) -> int:
+ """Internet/TCP checksum"""
+ # Pad to even length
+ if len(data) % 2:
+ data = data + [0]
+
+ s = 0
+ for i in range(0, len(data), 2):
+ s += (data[i] << 8) + data[i+1]
+
+ while s >> 16:
+ s = (s & 0xFFFF) + (s >> 16)
+
+ return (~s) & 0xFFFF
+
+def test_parametric_algorithms(data: List[int], expected: int) -> List[str]:
+ """Test algorithms with various parameters"""
+ matches = []
+
+ # Test sum with different initial values
+ for init_val in range(0, 0x10000, 0x1000):
+ result = (init_val + sum(data)) & 0xFFFF
+ if result == expected:
+ matches.append(f"Sum + 0x{init_val:04x}")
+
+ # Test sum with different modulo values
+ for mod_val in [0xFF, 0x100, 0x101, 0x1FF, 0x200, 0xFFFF, 0x10000]:
+ if mod_val > 0:
+ result = sum(data) % mod_val
+ if result == expected:
+ matches.append(f"Sum mod 0x{mod_val:x}")
+
+ # Test XOR with different patterns
+ for pattern in [0x00, 0xFF, 0xAA, 0x55, 0x5A, 0xA5]:
+ result = 0
+ for byte in data:
+ result ^= (byte ^ pattern)
+ if (result & 0xFFFF) == expected:
+ matches.append(f"XOR with pattern 0x{pattern:02x}")
+
+ # Test rotation-based checksums
+ for shift in range(1, 16):
+ result = 0
+ for byte in data:
+ result = ((result << shift) | (result >> (16 - shift))) & 0xFFFF
+ result ^= byte
+ if result == expected:
+ matches.append(f"Rotate-XOR shift {shift}")
+
+ return matches
+
+def analyze_file(filename: str):
+ """Analyze a file of hex data to find checksum patterns"""
+ with open(filename, 'r') as f:
+ lines = [line.strip() for line in f if line.strip()]
+
+ print(f"Analyzing {filename} with {len(lines)} entries")
+
+ tester = ChecksumTester()
+ algorithm_matches = {}
+
+ # Test first 10 entries to find patterns
+ for i, line in enumerate(lines[:10]):
+ bytes_data = parse_hex_line(line)
+ if len(bytes_data) < 3:
+ continue
+
+ # Assume last 2 bytes are checksum
+ payload = bytes_data[:-2]
+ checksum_be = (bytes_data[-2] << 8) | bytes_data[-1]
+ checksum_le = bytes_data[-2] | (bytes_data[-1] << 8)
+
+ print(f"\nEntry {i}:")
+ print(f" Payload: {bytes_to_hex(payload)}")
+ print(f" Checksum BE: 0x{checksum_be:04x}")
+ print(f" Checksum LE: 0x{checksum_le:04x}")
+
+ # Test standard algorithms for both byte orders
+ for checksum, order in [(checksum_be, "BE"), (checksum_le, "LE")]:
+ print(f" Testing {order} interpretation:")
+ for algo in tester.algorithms:
+ result = algo(payload)
+ if result == checksum:
+ algo_name = f"{algo.__name__}_{order}"
+ algorithm_matches[algo_name] = algorithm_matches.get(algo_name, 0) + 1
+ print(f" βœ“ {algo.__name__}: 0x{result:04x}")
+ else:
+ print(f" βœ— {algo.__name__}: 0x{result:04x}")
+
+ # Test parametric algorithms
+ param_matches = test_parametric_algorithms(payload, checksum)
+ for match in param_matches:
+ print(f" βœ“ {match}")
+ key = f"{match}_{order}"
+ algorithm_matches[key] = algorithm_matches.get(key, 0) + 1
+
+ # Summary of algorithms that work consistently
+ print(f"\n{'='*50}")
+ print("SUMMARY - Algorithms with multiple matches:")
+ for algo, count in sorted(algorithm_matches.items(), key=lambda x: x[1], reverse=True):
+ if count > 1:
+ print(f" {algo}: {count} matches")
+
+ return algorithm_matches
+
+def brute_force_unknown_algorithm(filename: str, max_entries: int = 5):
+ """Brute force approach for completely unknown algorithms"""
+ with open(filename, 'r') as f:
+ lines = [line.strip() for line in f if line.strip()][:max_entries]
+
+ print(f"Brute forcing {len(lines)} entries...")
+
+ # Collect all data points
+ data_points = []
+ for line in lines:
+ bytes_data = parse_hex_line(line)
+ payload = bytes_data[:-2]
+ checksum_le = bytes_data[-2] | (bytes_data[-1] << 8)
+ data_points.append((payload, checksum_le))
+
+ # Try to find a mathematical relationship
+ # This is a simplified approach - in practice you'd want more sophisticated analysis
+
+ # Check if it's a linear relationship: checksum = a * sum(payload) + b
+ if len(data_points) >= 2:
+ payload_sums = [sum(payload) for payload, _ in data_points]
+ checksums = [checksum for _, checksum in data_points]
+
+ print(f"Payload sums: {[f'0x{s:x}' for s in payload_sums[:5]]}")
+ print(f"Checksums: {[f'0x{c:04x}' for c in checksums[:5]]}")
+
+ # Try to solve for linear relationship
+ if len(set(payload_sums)) > 1: # Need different sums to solve
+ sum1, sum2 = payload_sums[0], payload_sums[1]
+ check1, check2 = checksums[0], checksums[1]
+
+ if sum1 != sum2:
+ # Solve: check1 = a * sum1 + b, check2 = a * sum2 + b
+ a = (check2 - check1) / (sum2 - sum1)
+ b = check1 - a * sum1
+
+ print(f"Testing linear relationship: checksum = {a:.3f} * sum + {b:.3f}")
+
+ # Verify with all data points
+ matches = 0
+ for payload, expected in data_points:
+ predicted = int(a * sum(payload) + b) & 0xFFFF
+ if predicted == expected:
+ matches += 1
+ print(f" βœ“ Linear match: sum={sum(payload)}, expected=0x{expected:04x}, predicted=0x{predicted:04x}")
+ else:
+ print(f" βœ— Linear miss: sum={sum(payload)}, expected=0x{expected:04x}, predicted=0x{predicted:04x}")
+
+ if matches == len(data_points):
+ print(f"πŸŽ‰ FOUND LINEAR RELATIONSHIP! checksum = {a:.3f} * sum(payload) + {b:.3f}")
+
+def generate_test_vectors(base_hex: str, variations: int = 10):
+ """Generate test vectors by modifying a base message"""
+ base_bytes = parse_hex_line(base_hex)
+ payload = base_bytes[:-2]
+
+ print(f"Generating {variations} test vectors from base:")
+ print(f"Base: {base_hex}")
+
+ # Generate variations by changing single bytes
+ for i in range(min(variations, len(payload))):
+ modified = payload.copy()
+ modified[i] = (modified[i] + 1) % 256 # Increment one byte
+
+ # You would calculate the correct checksum here and append it
+ # For now, we'll just show the modified payload
+ print(f"Variation {i}: {bytes_to_hex(modified)} + [CHECKSUM_TO_CALCULATE]")
+
+def test_specific_algorithms(data: List[int], expected: int) -> Dict[str, int]:
+ """Test specific algorithms that might be used in embedded systems"""
+ results = {}
+
+ # Test sum with various bit operations
+ s = sum(data)
+
+ # Basic variations
+ results["sum_low16"] = s & 0xFFFF
+ results["sum_high16"] = (s >> 16) & 0xFFFF
+ results["sum_rotated"] = ((s << 8) | (s >> 8)) & 0xFFFF
+ results["sum_inverted"] = (~s) & 0xFFFF
+ results["sum_twos_comp"] = (-s) & 0xFFFF
+
+ # With different initial values (common in embedded systems)
+ for init in [0x0000, 0x5555, 0xAAAA, 0xFFFF, 0x1234, 0x4321]:
+ results[f"sum_init_{init:04x}"] = (s + init) & 0xFFFF
+ results[f"xor_init_{init:04x}"] = (s ^ init) & 0xFFFF
+
+ # Byte-wise operations
+ byte_xor = 0
+ byte_sum = 0
+ for b in data:
+ byte_xor ^= b
+ byte_sum += b
+
+ results["byte_xor"] = byte_xor
+ results["byte_xor_16bit"] = (byte_xor << 8) | byte_xor
+ results["byte_sum_mod256"] = byte_sum % 256
+ results["byte_sum_mod255"] = byte_sum % 255
+
+ # Position-weighted sums
+ pos_sum = sum(i * b for i, b in enumerate(data))
+ results["position_weighted"] = pos_sum & 0xFFFF
+
+ # Polynomial checksums (simplified)
+ poly_result = 0
+ for b in data:
+ poly_result = ((poly_result << 1) ^ b) & 0xFFFF
+ results["poly_shift_xor"] = poly_result
+
+ # Return only matches
+ return {name: value for name, value in results.items() if value == expected}
+
+def main():
+ if len(sys.argv) != 2:
+ print("Usage: python checksum_bruteforce.py <hex_file>")
+ print("\nThis tool will:")
+ print("1. Test standard checksum algorithms")
+ print("2. Try parametric variations")
+ print("3. Attempt to find mathematical relationships")
+ print("4. Generate test vectors for validation")
+ sys.exit(1)
+
+ filename = sys.argv[1]
+
+ try:
+ # Main analysis
+ print("=" * 60)
+ print("COMPREHENSIVE CHECKSUM ANALYSIS")
+ print("=" * 60)
+
+ matches = analyze_file(filename)
+
+ print("\n" + "=" * 60)
+ print("BRUTE FORCE UNKNOWN ALGORITHMS")
+ print("=" * 60)
+
+ brute_force_unknown_algorithm(filename, max_entries=10)
+
+ print("\n" + "=" * 60)
+ print("SPECIFIC EMBEDDED ALGORITHMS")
+ print("=" * 60)
+
+ # Test first entry with specific algorithms
+ with open(filename, 'r') as f:
+ first_line = f.readline().strip()
+
+ bytes_data = parse_hex_line(first_line)
+ payload = bytes_data[:-2]
+ checksum_le = bytes_data[-2] | (bytes_data[-1] << 8)
+
+ specific_matches = test_specific_algorithms(payload, checksum_le)
+ if specific_matches:
+ print("Specific algorithm matches found:")
+ for name, value in specific_matches.items():
+ print(f" βœ“ {name}: 0x{value:04x}")
+ else:
+ print("No specific algorithm matches found")
+
+ print("\n" + "=" * 60)
+ print("TEST VECTOR GENERATION")
+ print("=" * 60)
+
+ generate_test_vectors(first_line, 5)
+
+ except FileNotFoundError:
+ print(f"Error: File '{filename}' not found")
+ except Exception as e:
+ print(f"Error: {e}")
+
+if __name__ == "__main__":
+ main() \ No newline at end of file
diff --git a/research/executables/claude-ai-slop/mel_checksum_cracker.py b/research/executables/claude-ai-slop/mel_checksum_cracker.py
new file mode 100644
index 0000000..c851742
--- /dev/null
+++ b/research/executables/claude-ai-slop/mel_checksum_cracker.py
@@ -0,0 +1,319 @@
+#!/usr/bin/env python3
+"""
+MEL Checksum Cracker - Final comprehensive tool
+Based on analysis showing sum-sequence is constant but checksum follows different pattern
+"""
+
+import sys
+import struct
+
+def parse_hex(hex_str):
+ """Parse hex string to bytes"""
+ return [int(hex_str[i:i+2], 16) for i in range(0, len(hex_str), 2)]
+
+def calculate_mel_checksum(payload_bytes, sequence=None):
+ """
+ Calculate MEL checksum based on discovered patterns
+ This function will be updated as we discover the actual algorithm
+ """
+ if sequence is None:
+ # Try to extract sequence from payload if it's a full packet
+ if len(payload_bytes) >= 8:
+ sequence = payload_bytes[7]
+ else:
+ sequence = 0
+
+ # Calculate payload sum (excluding checksum bytes)
+ if len(payload_bytes) > 31: # Full packet
+ payload_sum = sum(payload_bytes[:-2])
+ else: # Just payload
+ payload_sum = sum(payload_bytes)
+
+ # Test various algorithms based on our analysis
+ algorithms = {
+ 'simple_sum': payload_sum & 0xFFFF,
+ 'sum_minus_seq': (payload_sum - sequence) & 0xFFFF,
+ 'sum_plus_seq': (payload_sum + sequence) & 0xFFFF,
+ 'twos_complement': (~payload_sum + 1) & 0xFFFF,
+ 'ones_complement': (~payload_sum) & 0xFFFF,
+ 'constant_minus_sum': (0x10000 - payload_sum) & 0xFFFF,
+ 'sum_with_carry': payload_sum + (payload_sum >> 16),
+ }
+
+ return algorithms
+
+def analyze_pattern_discovery(filename):
+ """Discover the actual checksum pattern"""
+ print(f"Pattern Discovery Analysis for {filename}")
+ print("=" * 60)
+
+ with open(filename, 'r') as f:
+ lines = [line.strip() for line in f if line.strip()]
+
+ # Analyze first 20 entries to find the pattern
+ entries = []
+ for i, line in enumerate(lines[:20]):
+ bytes_data = parse_hex(line)
+ payload = bytes_data[:-2]
+ checksum = bytes_data[-2] | (bytes_data[-1] << 8) # Little endian
+ sequence = bytes_data[7] if len(bytes_data) > 7 else 0
+ payload_sum = sum(payload)
+
+ entries.append({
+ 'index': i,
+ 'sequence': sequence,
+ 'checksum': checksum,
+ 'payload_sum': payload_sum,
+ 'payload': payload,
+ 'hex': line
+ })
+
+ # Print analysis table
+ print("Entry | Seq | Checksum | PayloadSum | Sum-Seq | Patterns")
+ print("------|-----|----------|------------|---------|----------")
+
+ base_constant = None
+ for entry in entries:
+ seq = entry['sequence']
+ check = entry['checksum']
+ psum = entry['payload_sum']
+ sum_minus_seq = psum - seq
+
+ if base_constant is None:
+ base_constant = sum_minus_seq
+
+ # Test various patterns
+ pattern_tests = []
+ if sum_minus_seq == base_constant:
+ pattern_tests.append("SUM-SEQ=CONST")
+
+ # Test if checksum relates to a base value
+ if entry['index'] == 0:
+ base_checksum = check
+ checksum_base = check
+ else:
+ checksum_diff = check - base_checksum
+ pattern_tests.append(f"Ξ”CHK={checksum_diff:+d}")
+
+ patterns = " ".join(pattern_tests) if pattern_tests else "-"
+
+ print(f"{entry['index']:5d} | {seq:3d} | 0x{check:04x} | {psum:10d} | {sum_minus_seq:7d} | {patterns}")
+
+ # Test for mathematical relationships
+ print(f"\nMathematical Relationship Analysis:")
+ print(f"Base constant (sum - sequence): {base_constant}")
+
+ # Look for checksum calculation pattern
+ print(f"\nChecksum Pattern Analysis:")
+
+ # Test if there's a consistent transformation from payload_sum to checksum
+ transformations = {}
+ for entry in entries:
+ psum = entry['payload_sum']
+ check = entry['checksum']
+ seq = entry['sequence']
+
+ # Test various transformations
+ transforms = {
+ 'sum_low8': psum & 0xFF,
+ 'sum_high8': (psum >> 8) & 0xFF,
+ 'sum_mod256': psum % 256,
+ 'sum_mod255': psum % 255,
+ 'sum_rotated': ((psum << 8) | (psum >> 8)) & 0xFFFF,
+ 'sum_xor_seq': (psum ^ seq) & 0xFFFF,
+ 'sum_add_magic': (psum + 0x5555) & 0xFFFF,
+ 'sum_sub_magic': (psum - 0x5555) & 0xFFFF,
+ }
+
+ for name, value in transforms.items():
+ if value == check:
+ if name not in transformations:
+ transformations[name] = []
+ transformations[name].append(entry['index'])
+
+ if transformations:
+ print("Found consistent transformations:")
+ for transform, indices in transformations.items():
+ if len(indices) > 1:
+ print(f" {transform}: matches at entries {indices}")
+ else:
+ print("No simple mathematical transformation found")
+
+ # Advanced pattern detection
+ print(f"\nAdvanced Pattern Detection:")
+
+ # Check if it's a lookup table or formula with sequence
+ checksum_by_seq = {}
+ for entry in entries:
+ seq = entry['sequence']
+ check = entry['checksum']
+ if seq not in checksum_by_seq:
+ checksum_by_seq[seq] = []
+ checksum_by_seq[seq].append(check)
+
+ # Look for sequence-based pattern
+ if len(checksum_by_seq) > 1:
+ print("Checksum vs Sequence relationship:")
+ for seq in sorted(checksum_by_seq.keys())[:10]:
+ checksums = checksum_by_seq[seq]
+ print(f" Sequence {seq:3d}: checksums {[f'0x{c:04x}' for c in checksums]}")
+
+ return entries
+
+def brute_force_checksum_algorithm(entries):
+ """Brute force the checksum algorithm using known good data"""
+ print("\nBrute Force Algorithm Discovery:")
+ print("=" * 40)
+
+ # Get the first entry as reference
+ ref_entry = entries[0]
+ ref_sum = ref_entry['payload_sum']
+ ref_checksum = ref_entry['checksum']
+
+ print(f"Reference: sum={ref_sum}, checksum=0x{ref_checksum:04x}")
+
+ # Try to find the magic constant or operation
+ # Test if checksum = (payload_sum + magic) & 0xFFFF
+ for magic in range(-1000, 1000):
+ predicted = (ref_sum + magic) & 0xFFFF
+ if predicted == ref_checksum:
+ print(f"Possible algorithm: checksum = (payload_sum + {magic}) & 0xFFFF")
+
+ # Verify with other entries
+ matches = 0
+ for entry in entries[1:6]: # Test next 5 entries
+ test_predicted = (entry['payload_sum'] + magic) & 0xFFFF
+ if test_predicted == entry['checksum']:
+ matches += 1
+
+ print(f" Verification: {matches}/5 additional entries match")
+ if matches >= 4:
+ print(f" πŸŽ‰ LIKELY ALGORITHM FOUND!")
+ return f"(payload_sum + {magic}) & 0xFFFF"
+
+ # Test multiplicative factors
+ for factor in [1, 2, 3, 4, 5, 7, 8, 15, 16, 31, 32, 63, 64, 127, 128, 255, 256]:
+ for offset in range(-100, 101, 10):
+ predicted = (ref_sum * factor + offset) & 0xFFFF
+ if predicted == ref_checksum:
+ # Verify with next entry
+ next_entry = entries[1]
+ next_predicted = (next_entry['payload_sum'] * factor + offset) & 0xFFFF
+ if next_predicted == next_entry['checksum']:
+ print(f"Possible algorithm: checksum = (payload_sum * {factor} + {offset}) & 0xFFFF")
+
+ print("No simple algorithm found in brute force range")
+ return None
+
+def generate_implementation(algorithm_desc):
+ """Generate C/Python implementation of discovered algorithm"""
+ if not algorithm_desc:
+ return
+
+ print(f"\nGenerated Implementation:")
+ print("=" * 30)
+
+ print("Python:")
+ print(f"def calculate_mel_checksum(payload_bytes):")
+ print(f" payload_sum = sum(payload_bytes)")
+ print(f" return {algorithm_desc}")
+
+ print("\nC:")
+ print(f"uint16_t calculate_mel_checksum(uint8_t* payload, size_t length) {{")
+ print(f" uint32_t payload_sum = 0;")
+ print(f" for (size_t i = 0; i < length; i++) {{")
+ print(f" payload_sum += payload[i];")
+ print(f" }}")
+ print(f" return {algorithm_desc.replace('payload_sum', 'payload_sum')};")
+ print(f"}}")
+
+def validate_algorithm(filename, algorithm_func):
+ """Validate the discovered algorithm against all entries in file"""
+ print(f"\nValidating algorithm against all entries in {filename}")
+ print("=" * 50)
+
+ with open(filename, 'r') as f:
+ lines = [line.strip() for line in f if line.strip()]
+
+ matches = 0
+ total = 0
+ mismatches = []
+
+ for i, line in enumerate(lines):
+ bytes_data = parse_hex(line)
+ payload = bytes_data[:-2]
+ expected_checksum = bytes_data[-2] | (bytes_data[-1] << 8)
+
+ calculated_checksum = algorithm_func(payload)
+
+ if calculated_checksum == expected_checksum:
+ matches += 1
+ else:
+ mismatches.append((i, expected_checksum, calculated_checksum))
+
+ total += 1
+
+ # Show first few results
+ if i < 10:
+ status = "βœ“" if calculated_checksum == expected_checksum else "βœ—"
+ print(f" Entry {i:3d}: expected=0x{expected_checksum:04x}, calculated=0x{calculated_checksum:04x} {status}")
+
+ success_rate = (matches / total) * 100
+ print(f"\nValidation Results:")
+ print(f" Matches: {matches}/{total} ({success_rate:.1f}%)")
+
+ if success_rate == 100:
+ print(" πŸŽ‰ PERFECT MATCH! Algorithm verified!")
+ elif success_rate > 95:
+ print(" ⚠️ Very high success rate - likely correct with minor issues")
+ else:
+ print(" ❌ Low success rate - algorithm needs refinement")
+ if mismatches[:3]:
+ print(" First few mismatches:")
+ for entry_idx, expected, calculated in mismatches[:3]:
+ print(f" Entry {entry_idx}: expected=0x{expected:04x}, got=0x{calculated:04x}")
+
+def main():
+ if len(sys.argv) < 2:
+ print("MEL Checksum Cracker - Comprehensive Analysis Tool")
+ print("=" * 50)
+ print("Usage: python mel_checksum_cracker.py <hex_file>")
+ print("\nThis tool will:")
+ print(" 1. Discover checksum patterns")
+ print(" 2. Brute force the algorithm")
+ print(" 3. Generate implementations")
+ print(" 4. Validate against all data")
+ sys.exit(1)
+
+ filename = sys.argv[1]
+
+ try:
+ # Step 1: Pattern discovery
+ entries = analyze_pattern_discovery(filename)
+
+ # Step 2: Brute force algorithm
+ algorithm = brute_force_checksum_algorithm(entries)
+
+ # Step 3: Generate implementation
+ generate_implementation(algorithm)
+
+ # Step 4: Validation (if algorithm found)
+ if algorithm:
+ # Create a lambda function for validation
+ def test_algorithm(payload):
+ payload_sum = sum(payload)
+ # This would be replaced with the actual discovered algorithm
+ # For now, using a placeholder
+ return payload_sum & 0xFFFF
+
+ validate_algorithm(filename, test_algorithm)
+
+ except FileNotFoundError:
+ print(f"Error: File '{filename}' not found")
+ except Exception as e:
+ print(f"Error: {e}")
+ import traceback
+ traceback.print_exc()
+
+if __name__ == "__main__":
+ main() \ No newline at end of file
diff --git a/research/executables/claude-ai-slop/mel_protocol_checksum_analyzer.py b/research/executables/claude-ai-slop/mel_protocol_checksum_analyzer.py
new file mode 100644
index 0000000..701e8f2
--- /dev/null
+++ b/research/executables/claude-ai-slop/mel_protocol_checksum_analyzer.py
@@ -0,0 +1,231 @@
+#!/usr/bin/env python3
+"""
+MEL Protocol Checksum Analyzer
+Specifically designed for the MEL protocol hex data
+
+Based on analysis of the provided data patterns.
+"""
+
+import sys
+from typing import List, Tuple
+
+def parse_hex(hex_str: str) -> List[int]:
+ """Parse hex string to bytes"""
+ return [int(hex_str[i:i+2], 16) for i in range(0, len(hex_str), 2)]
+
+def analyze_mel_structure(hex_line: str) -> dict:
+ """Analyze MEL protocol structure"""
+ bytes_data = parse_hex(hex_line.strip())
+
+ return {
+ 'header': bytes_data[0:4], # 4D454C00
+ 'length': bytes_data[4], # Packet length
+ 'flags': bytes_data[5:8], # Type/flags
+ 'sequence': bytes_data[6], # Sequence number (based on your data)
+ 'command': bytes_data[8:12], # Command and zone info
+ 'zone_mask': bytes_data[12:16], # Zone targeting
+ 'reserved': bytes_data[16:28], # Reserved/padding
+ 'payload': bytes_data[28:-2], # Actual payload
+ 'checksum_bytes': bytes_data[-2:], # Last 2 bytes
+ 'checksum_le': bytes_data[-2] | (bytes_data[-1] << 8), # Little endian
+ 'checksum_be': (bytes_data[-2] << 8) | bytes_data[-1], # Big endian
+ 'full_payload': bytes_data[:-2], # Everything except checksum
+ }
+
+def test_mel_checksums(data: List[int], expected: int) -> List[Tuple[str, int, bool]]:
+ """Test checksum algorithms specific to MEL protocol"""
+ results = []
+
+ # Test 1: Simple sum of all payload bytes
+ simple_sum = sum(data) & 0xFFFF
+ results.append(("Simple Sum", simple_sum, simple_sum == expected))
+
+ # Test 2: Sum with initial value (common in embedded protocols)
+ for init_val in [0x0000, 0x5555, 0xAAAA, 0xFFFF, 0x1234, 0x4321, 0x0001]:
+ checksum = (sum(data) + init_val) & 0xFFFF
+ results.append((f"Sum + 0x{init_val:04x}", checksum, checksum == expected))
+
+ # Test 3: Two's complement variations
+ sum_val = sum(data)
+ twos_comp = (~sum_val + 1) & 0xFFFF
+ results.append(("Two's Complement", twos_comp, twos_comp == expected))
+
+ # Test 4: One's complement
+ ones_comp = (~sum_val) & 0xFFFF
+ results.append(("One's Complement", ones_comp, ones_comp == expected))
+
+ # Test 5: Subtract from constant
+ for const in [0xFFFF, 0x10000, 0x8000, 0x7FFF]:
+ checksum = (const - sum_val) & 0xFFFF
+ results.append((f"0x{const:04x} - Sum", checksum, checksum == expected))
+
+ # Test 6: XOR-based checksums
+ xor_result = 0
+ for byte in data:
+ xor_result ^= byte
+ results.append(("XOR all bytes", xor_result, xor_result == expected))
+
+ # Test 7: Position-weighted sum
+ pos_sum = sum(i * byte for i, byte in enumerate(data)) & 0xFFFF
+ results.append(("Position-weighted sum", pos_sum, pos_sum == expected))
+
+ # Test 8: Rolling checksum
+ rolling = 0
+ for byte in data:
+ rolling = ((rolling << 1) | (rolling >> 15)) & 0xFFFF
+ rolling ^= byte
+ results.append(("Rolling XOR", rolling, rolling == expected))
+
+ # Test 9: Modular arithmetic variations
+ for mod_val in [0x100, 0x101, 0x1FF, 0x200, 0x255, 0x256]:
+ if mod_val > 0:
+ checksum = sum(data) % mod_val
+ results.append((f"Sum mod 0x{mod_val:x}", checksum, checksum == expected))
+
+ return results
+
+def analyze_sequence_relationship(filename: str):
+ """Analyze relationship between sequence numbers and checksums"""
+ with open(filename, 'r') as f:
+ lines = [line.strip() for line in f if line.strip()]
+
+ print(f"Analyzing sequence-checksum relationship in {filename}")
+ print("=" * 60)
+
+ sequence_data = []
+
+ for i, line in enumerate(lines[:20]): # First 20 entries
+ mel_data = analyze_mel_structure(line)
+
+ # Look for the actual sequence field
+ # Based on your data, it seems to increment in byte 6
+ actual_sequence = mel_data['sequence']
+ checksum = mel_data['checksum_le']
+
+ sequence_data.append((i, actual_sequence, checksum))
+
+ print(f"Entry {i:2d}: seq=0x{actual_sequence:02x} ({actual_sequence:3d}), "
+ f"checksum=0x{checksum:04x} ({checksum:5d})")
+
+ # Look for patterns
+ print("\nSequence vs Checksum Analysis:")
+ print("=" * 40)
+
+ # Check if checksum changes predictably with sequence
+ if len(sequence_data) > 1:
+ for i in range(1, min(10, len(sequence_data))):
+ seq_diff = sequence_data[i][1] - sequence_data[i-1][1]
+ check_diff = sequence_data[i][2] - sequence_data[i-1][2]
+ print(f"Entry {i-1}β†’{i}: seq_diff={seq_diff:2d}, check_diff={check_diff:4d} (0x{check_diff & 0xFFFF:04x})")
+
+def find_checksum_algorithm(filename: str):
+ """Main function to find the checksum algorithm"""
+ with open(filename, 'r') as f:
+ lines = [line.strip() for line in f if line.strip()]
+
+ print(f"MEL Protocol Checksum Analysis")
+ print(f"File: {filename}")
+ print(f"Entries: {len(lines)}")
+ print("=" * 60)
+
+ # Analyze first few entries
+ algorithm_scores = {}
+
+ for i, line in enumerate(lines[:10]):
+ mel_data = analyze_mel_structure(line)
+
+ print(f"\nEntry {i}:")
+ print(f" Hex: {line}")
+ print(f" Sequence: 0x{mel_data['sequence']:02x}")
+ print(f" Expected checksum: 0x{mel_data['checksum_le']:04x} (LE)")
+ print(f" Payload length: {len(mel_data['full_payload'])} bytes")
+
+ # Test algorithms
+ results = test_mel_checksums(mel_data['full_payload'], mel_data['checksum_le'])
+
+ for algo_name, result, is_match in results:
+ if is_match:
+ print(f" βœ“ {algo_name}: 0x{result:04x}")
+ algorithm_scores[algo_name] = algorithm_scores.get(algo_name, 0) + 1
+ # Uncomment below to see all results
+ # else:
+ # print(f" βœ— {algo_name}: 0x{result:04x}")
+
+ # Summary
+ print(f"\n{'='*60}")
+ print("ALGORITHM MATCH SUMMARY")
+ print(f"{'='*60}")
+
+ if algorithm_scores:
+ for algo, score in sorted(algorithm_scores.items(), key=lambda x: x[1], reverse=True):
+ print(f"{algo}: {score}/10 matches")
+
+ best_algo = max(algorithm_scores.items(), key=lambda x: x[1])
+ if best_algo[1] >= 8: # At least 8/10 matches
+ print(f"\nπŸŽ‰ LIKELY ALGORITHM FOUND: {best_algo[0]}")
+ print(f" Confidence: {best_algo[1]}/10 matches")
+ else:
+ print("No consistent algorithm found with standard methods.")
+ print("This may require custom algorithm development.")
+
+ # Analyze sequence relationship
+ print(f"\n{'='*60}")
+ analyze_sequence_relationship(filename)
+
+def verify_algorithm(filename: str, algorithm_name: str):
+ """Verify a specific algorithm against all entries"""
+ with open(filename, 'r') as f:
+ lines = [line.strip() for line in f if line.strip()]
+
+ print(f"Verifying algorithm '{algorithm_name}' against {len(lines)} entries...")
+
+ matches = 0
+ mismatches = []
+
+ for i, line in enumerate(lines):
+ mel_data = analyze_mel_structure(line)
+ expected = mel_data['checksum_le']
+
+ # Apply the algorithm (you'd implement the specific one here)
+ if algorithm_name == "Simple Sum":
+ calculated = sum(mel_data['full_payload']) & 0xFFFF
+ elif algorithm_name.startswith("Sum + "):
+ init_val = int(algorithm_name.split("0x")[1], 16)
+ calculated = (sum(mel_data['full_payload']) + init_val) & 0xFFFF
+ else:
+ print(f"Algorithm '{algorithm_name}' not implemented in verify function")
+ return
+
+ if calculated == expected:
+ matches += 1
+ else:
+ mismatches.append((i, expected, calculated))
+ if len(mismatches) <= 5: # Show first 5 mismatches
+ print(f" Mismatch at entry {i}: expected 0x{expected:04x}, got 0x{calculated:04x}")
+
+ print(f"Results: {matches}/{len(lines)} matches ({100*matches/len(lines):.1f}%)")
+
+ if matches == len(lines):
+ print("πŸŽ‰ PERFECT MATCH! Algorithm verified.")
+ elif matches > len(lines) * 0.9:
+ print("⚠️ Very close match. May need minor adjustment.")
+ else:
+ print("❌ Algorithm doesn't work consistently.")
+
+def main():
+ if len(sys.argv) < 2:
+ print("Usage:")
+ print(" python mel_checksum_analyzer.py <hex_file> # Find algorithm")
+ print(" python mel_checksum_analyzer.py <hex_file> verify <algorithm> # Verify algorithm")
+ sys.exit(1)
+
+ filename = sys.argv[1]
+
+ if len(sys.argv) >= 4 and sys.argv[2] == "verify":
+ algorithm = sys.argv[3]
+ verify_algorithm(filename, algorithm)
+ else:
+ find_checksum_algorithm(filename)
+
+if __name__ == "__main__":
+ main() \ No newline at end of file
diff --git a/research/executables/claude-ai-slop/pattern_finder.py b/research/executables/claude-ai-slop/pattern_finder.py
new file mode 100644
index 0000000..c53fb9d
--- /dev/null
+++ b/research/executables/claude-ai-slop/pattern_finder.py
@@ -0,0 +1,229 @@
+#!/usr/bin/env python3
+"""
+Pattern Analysis Tool for MEL Protocol Checksums
+Looks for mathematical relationships and patterns in the checksum data
+"""
+
+import sys
+import struct
+from collections import defaultdict
+
+def parse_hex(hex_str: str):
+ """Parse hex string to bytes"""
+ return [int(hex_str[i:i+2], 16) for i in range(0, len(hex_str), 2)]
+
+def find_changing_bytes(filename: str):
+ """Find which bytes change between consecutive entries"""
+ with open(filename, 'r') as f:
+ lines = [line.strip() for line in f if line.strip()]
+
+ if len(lines) < 2:
+ return
+
+ print(f"Analyzing byte changes in {filename}")
+ print("=" * 50)
+
+ # Parse first two entries
+ bytes1 = parse_hex(lines[0])
+ bytes2 = parse_hex(lines[1])
+
+ print("Changes between first two entries:")
+ for i, (b1, b2) in enumerate(zip(bytes1, bytes2)):
+ if b1 != b2:
+ print(f" Byte {i:2d}: 0x{b1:02x} β†’ 0x{b2:02x} (diff: {b2-b1:+d})")
+
+ # Look at sequence field specifically (byte 6 based on your data)
+ print(f"\nSequence progression (byte 6):")
+ for i in range(min(20, len(lines))):
+ bytes_data = parse_hex(lines[i])
+ seq = bytes_data[6] if len(bytes_data) > 6 else 0
+ checksum = bytes_data[-2] | (bytes_data[-1] << 8) if len(bytes_data) >= 2 else 0
+ print(f" Entry {i:2d}: seq=0x{seq:02x}, checksum=0x{checksum:04x}")
+
+def analyze_checksum_patterns(filename: str):
+ """Analyze patterns in checksum values"""
+ with open(filename, 'r') as f:
+ lines = [line.strip() for line in f if line.strip()]
+
+ print(f"Checksum Pattern Analysis for {filename}")
+ print("=" * 50)
+
+ checksums = []
+ sequences = []
+ payload_sums = []
+
+ for line in lines:
+ bytes_data = parse_hex(line)
+ payload = bytes_data[:-2]
+ checksum = bytes_data[-2] | (bytes_data[-1] << 8)
+ sequence = bytes_data[6] if len(bytes_data) > 6 else 0
+
+ checksums.append(checksum)
+ sequences.append(sequence)
+ payload_sums.append(sum(payload))
+
+ # Look for arithmetic progression in checksums
+ print("Checksum differences (first 20):")
+ for i in range(1, min(20, len(checksums))):
+ diff = checksums[i] - checksums[i-1]
+ print(f" {i-1:2d}β†’{i:2d}: {diff:+5d} (0x{diff & 0xFFFF:04x})")
+
+ # Check for correlation with payload sum
+ print(f"\nPayload sum vs Checksum correlation:")
+ for i in range(min(10, len(checksums))):
+ print(f" Entry {i}: sum={payload_sums[i]:5d}, checksum={checksums[i]:5d}, "
+ f"ratio={checksums[i]/payload_sums[i] if payload_sums[i] != 0 else 'N/A':.3f}")
+
+def test_bitwise_operations(filename: str):
+ """Test various bitwise operations that might be used"""
+ with open(filename, 'r') as f:
+ first_line = f.readline().strip()
+
+ bytes_data = parse_hex(first_line)
+ payload = bytes_data[:-2]
+ expected = bytes_data[-2] | (bytes_data[-1] << 8)
+
+ print(f"Testing bitwise operations on first entry:")
+ print(f"Expected checksum: 0x{expected:04x}")
+ print("=" * 40)
+
+ # Sum with bit operations
+ s = sum(payload)
+
+ tests = [
+ ("Sum", s & 0xFFFF),
+ ("Sum >> 1", (s >> 1) & 0xFFFF),
+ ("Sum << 1", (s << 1) & 0xFFFF),
+ ("Sum rotated right", ((s >> 8) | (s << 8)) & 0xFFFF),
+ ("Sum rotated left", ((s << 8) | (s >> 8)) & 0xFFFF),
+ ("Sum XOR 0xFFFF", (s ^ 0xFFFF) & 0xFFFF),
+ ("Sum XOR 0x5555", (s ^ 0x5555) & 0xFFFF),
+ ("Sum XOR 0xAAAA", (s ^ 0xAAAA) & 0xFFFF),
+ ("~Sum", (~s) & 0xFFFF),
+ ("~Sum + 1", (~s + 1) & 0xFFFF),
+ ("0x10000 - Sum", (0x10000 - s) & 0xFFFF),
+ ("0xFFFF - Sum", (0xFFFF - s) & 0xFFFF),
+ ]
+
+ for name, result in tests:
+ match = "βœ“" if result == expected else "βœ—"
+ print(f" {match} {name:20s}: 0x{result:04x}")
+
+def analyze_multiple_files(filenames):
+ """Compare patterns across multiple files"""
+ print("Multi-file Pattern Analysis")
+ print("=" * 50)
+
+ all_data = {}
+
+ for filename in filenames:
+ try:
+ with open(filename, 'r') as f:
+ lines = [line.strip() for line in f if line.strip()]
+
+ # Get first entry from each file
+ if lines:
+ bytes_data = parse_hex(lines[0])
+ payload = bytes_data[:-2]
+ checksum = bytes_data[-2] | (bytes_data[-1] << 8)
+
+ all_data[filename] = {
+ 'payload': payload,
+ 'checksum': checksum,
+ 'payload_sum': sum(payload),
+ 'first_hex': lines[0]
+ }
+
+ except FileNotFoundError:
+ print(f"Warning: File {filename} not found")
+ continue
+
+ print("Comparison of first entries:")
+ for filename, data in all_data.items():
+ print(f"\n{filename}:")
+ print(f" Checksum: 0x{data['checksum']:04x}")
+ print(f" Payload sum: {data['payload_sum']}")
+ print(f" First hex: {data['first_hex'][:40]}...")
+
+ # Look for common differences
+ checksums = [data['checksum'] for data in all_data.values()]
+ sums = [data['payload_sum'] for data in all_data.values()]
+
+ if len(checksums) > 1:
+ print(f"\nDifferences between files:")
+ filenames_list = list(all_data.keys())
+ for i in range(len(filenames_list)):
+ for j in range(i+1, len(filenames_list)):
+ f1, f2 = filenames_list[i], filenames_list[j]
+ check_diff = all_data[f2]['checksum'] - all_data[f1]['checksum']
+ sum_diff = all_data[f2]['payload_sum'] - all_data[f1]['payload_sum']
+ print(f" {f1} vs {f2}:")
+ print(f" Checksum diff: {check_diff:+d}")
+ print(f" Sum diff: {sum_diff:+d}")
+
+def find_magic_constants(filename: str):
+ """Try to find magic constants used in the checksum calculation"""
+ with open(filename, 'r') as f:
+ lines = [line.strip() for line in f if line.strip()]
+
+ print("Searching for magic constants...")
+ print("=" * 40)
+
+ # Test first few entries
+ for i, line in enumerate(lines[:5]):
+ bytes_data = parse_hex(line)
+ payload = bytes_data[:-2]
+ expected = bytes_data[-2] | (bytes_data[-1] << 8)
+ payload_sum = sum(payload)
+
+ print(f"\nEntry {i}:")
+ print(f" Expected: 0x{expected:04x} ({expected})")
+ print(f" Sum: 0x{payload_sum:04x} ({payload_sum})")
+
+ # Try to find what constant when added/subtracted/XORed gives the expected result
+ magic_add = (expected - payload_sum) & 0xFFFF
+ magic_sub = (payload_sum - expected) & 0xFFFF
+ magic_xor = expected ^ payload_sum
+
+ print(f" Magic add: 0x{magic_add:04x} (sum + this = expected)")
+ print(f" Magic sub: 0x{magic_sub:04x} (sum - this = expected)")
+ print(f" Magic XOR: 0x{magic_xor:04x} (sum ^ this = expected)")
+
+def main():
+ if len(sys.argv) < 2:
+ print("Usage:")
+ print(" python pattern_finder.py <file1> [file2] [file3] ...")
+ print("\nThis tool will:")
+ print(" - Find changing bytes between entries")
+ print(" - Analyze checksum patterns")
+ print(" - Test bitwise operations")
+ print(" - Compare multiple files")
+ print(" - Search for magic constants")
+ sys.exit(1)
+
+ filenames = sys.argv[1:]
+
+ # Single file analysis
+ main_file = filenames[0]
+
+ print("PATTERN ANALYSIS REPORT")
+ print("=" * 60)
+
+ find_changing_bytes(main_file)
+ print()
+
+ analyze_checksum_patterns(main_file)
+ print()
+
+ test_bitwise_operations(main_file)
+ print()
+
+ find_magic_constants(main_file)
+ print()
+
+ # Multi-file analysis if multiple files provided
+ if len(filenames) > 1:
+ analyze_multiple_files(filenames)
+
+if __name__ == "__main__":
+ main() \ No newline at end of file
diff --git a/research/firmware-strings/HARMONY-TRIO.txt b/research/firmware-strings/HARMONY-TRIO.txt
index 974348a..ac2e454 100644
--- a/research/firmware-strings/HARMONY-TRIO.txt
+++ b/research/firmware-strings/HARMONY-TRIO.txt
@@ -5673,8 +5673,7 @@ F_gestion_repeteur_UDP : !!!!! ERREUR !!!!! --> SETSOCKOPT UDP du socket serveur
F_repondre_IP --> send failed with with count %ld :
Failed to set SO_BROADCAST On. Error %d
Failed to config SO_RCVTIMEO. Error %d
-F_gestion_repeteur_UDP : !!!!! ERREUR !!!!! --> Cr
-ation du socket serveur impossible
+F_gestion_repeteur_UDP : !!!!! ERREUR !!!!! --> Cration du socket serveur impossible
F_gestion_repeteur_UDP : !!!!! ERREUR !!!!! --> BIND du socket serveur impossible
0F9FO
"AFHF
diff --git a/research/firmware-strings/TRIO.md b/research/firmware-strings/TRIO.md
new file mode 100644
index 0000000..590f4dd
--- /dev/null
+++ b/research/firmware-strings/TRIO.md
@@ -0,0 +1,122 @@
+d:\JenkinsJobs\workspace\Indus\Harmonys\Harmonys_trio\Metis_appli\LWIP\App\A_trame_UDP_TCP.c
+EINPROGRESS in connect() - selecting
+
+no previous fragment, this must be the first fragment!
+validate_datagram:next_pbuf!=NULL
+
+F_gestion_trame_PROTOCOLE : !!!!! ERREUR !!!!! --> Cr
+ation du socket serveur impossible
+F_gestion_trame_PROTOCOLE : !!!!! ERREUR !!!!! --> BIND du socket serveur impossible
+F_gestion_trame_PROTOCOLE : !!!!! ERREUR !!!!! --> Abonnement IGMP BAD sur %d.%d.%d.%d
+
+d:\JenkinsJobs\workspace\Indus\Harmonys\Harmonys_trio\Metis_appli\Middlewares\Third_Party\LwIP\src\api\sockets.c
+newconn->callback == event_callback
+invalid copylen, len would underflow
+lwip_sendmsg: invalid msghdr iov
+lwip_sendmsg: invalid msghdr name
+lwip_sendto: size must fit in u16_t
+
+d:\JenkinsJobs\workspace\Indus\Harmonys\Harmonys_trio\Metis_appli\Middlewares\Third_Party\LwIP\src\core\tcp_in.c
+tcp_input: active pcb->state != CLOSED
+tcp_input: active pcb->state != TIME-WAIT
+tcp_input: active pcb->state != LISTEN
+tcp_input: pcb->next != pcb (before cache)
+tcp_input: pcb->next != pcb (after cache)
+tcp_input: TIME-WAIT pcb->state == TIME-WAIT
+pcb->snd_queuelen >= pbuf_clen(next->p)
+tcp_receive: segment not trimmed correctly to rcv_wnd
+tcp_receive: segment not trimmed correctly to ooseq queue
+tcp_receive: ooseq tcplen > rcv_wnd
+
+recv_udp must have a pcb argument
+
+SNTP_setup error_code : %d
+SNTP_oneshot error_code : %d
+erreur SNTP : %d
+erreur IGMP : %d
+sendto error
+Select failed: errno %d
+rcv NTP: %s
+error 0x%X
+addr.sin_port 0x%X
+probleme validation header
+
+recv_udp must have an argument
+recv_udp: recv for wrong pcb!
+recv_tcp must have an argument
+recv_tcp: recv for wrong pcb!
+
+new_rcv_ann_wnd <= 0xffff
+
+check decode_idx
+decode_len %% 4 == 0
+invalid decode_len
+
+
+pbuf_alloc: bad pbuf layer
+rem_len < max_u16_t
+pbuf_alloc: erroneous type
+pbuf_realloc: p != NULL
+pbuf_realloc: sane p->type
+grow < max_u16_t
+pbuf_realloc: q != NULL
+mem_trim returned q == NULL
+p != NULL
+increment_magnitude <= p->len
+bad pbuf type
+pbuf_free: sane type
+pbuf_free: p->ref > 0
+pbuf ref overflow
+p->next == NULL
+offset_to <= p_to->len
+offset_from <= p_from->len
+p_to != NULL
+pbuf_copy_partial: invalid buf
+pbuf_take: invalid buf
+pbuf_take: invalid dataptr
+pbuf_take: buf not large enough
+pbuf_take: invalid pbuf
+
+
+padding buffer full %d
+Padding ...
+%02d*.mp3
+/MELODIES
+F_repeat_trio --> STOP
+spi2:
+VS1011E init ERROR
+F_audio_init : PLay Streaming
+
+@ip : %d char =
+
+
+stop manuel message
+buffer full %d
+F_traitement_OPCODE --> ERROR
+BAD %d/%d
+RX %d/%d (%d/%d)
+CHK BAD !!! %d
+error %lx
+
+ ERROR delete file %s
+/CONFIG\C_A_vars.tri
+F_sauv_A_vars DEBUT
+/CONFIG\C_A_vars.triold
+C_A_vars.triold
+ERROR rename file
+Create file ERROR
+%d.%d.%d.%d
+CHK = %04x (%d)
+F_sauv_A_vars FIN
+F_config_par_defaut_A_vars
+BODET-%02X%02X%02X%02X%02X%02X
+jkl1vi5erjnfh
+public
+aSe2=9Z8gOi37*
+----
+239.192.54.1
+MELODYS_2013
+
+MSDOS5.0
+NO NAME FAT32
+NO NAME FAT \ No newline at end of file