Part 1, Topic 3: Clock Glitching to Dump Memory (MAIN)¶
NOTE: This lab references some (commercial) training material on ChipWhisperer.io. You can freely execute and use the lab per the open-source license (including using it in your own courses if you distribute similarly), but you must maintain notice about this source location. Consider joining our training course to enjoy the full experience.
SUMMARY: In the previous lab, we learned how clock glitching can be used to get a microcontroller to skip a password check. This time, we'll look at a more practical example: getting an example bootloader to dump a large chunk of memory.
LEARNING OUTCOMES:
- Applying previous glitch settings to new firmware
- Checking for success and failure when glitching
- Understanding how compiler optimizations can cause devices to behave in strange ways
The Situation¶
Now that we've got our feet wet with glitching, we're going to try something a bit more realistic: an "encrypted" bootloader (it's actually just rot-13, but we'll pretend it's unbreakable encryption), where we make as few assumptions as possible. Our goal will be to get that bootloader to decrypt the data and send it back to us. Here's what we know about the bootloader:
- The
'p'
command is used to write encrypted firmware to the device. It takes in an encrypted ASCII-encoded string, terminated with a newline. Our first chunk of firmware is"516261276720736265747267206762206f686c207a76797821"
. - It does something to it (presumably unencrypts it, authenticates it, etc. and writes it to memory)
- It sends back an error code of
"r000000\n"
Of immediate interest is that error code. That's the only time the bootloader communicates back with us, so attacking there is a good place to start. One thing that we'll assume is that we've got a trigger right before the error code is sent back to us. This is just a simple trigger_high()
call, but we could also trigger on an IO line (better with the CW1200 Pro) or with a SAD trigger on a power trace (CW1200 Pro only). We've got a place to start, but let's see if we can learn more about the bootloader first.
We recommend using SimpleSerial V2 for this as, though the firmware doesn't use the simpleserial protocol, the faster baud rate will help speed up glitching.
SCOPETYPE = 'OPENADC'
PLATFORM = 'CWLITEARM'
SS_VER='SS_VER_2_1'
allowable_exceptions = None
VERSION = 'HARDWARE'
CRYPTO_TARGET = 'TINYAES128C'
%%bash -s "$PLATFORM" "$SS_VER"
cd ../../../firmware/mcu/bootloader-glitch
make PLATFORM=$1 CRYPTO_TARGET=NONE -j SS_VER=$2
SS\_VER set to SS\_VER\_2\_1
SS\_VER set to SS\_VER\_2\_1
.
mkdir -p objdir-CWLITEARM
Welcome to another exciting ChipWhisperer target build!!
arm-none-eabi-gcc (15:9-2019-q4-0ubuntu1) 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599]
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+--------------------------------------------------------
+ Built for platform CW-Lite Arm \(STM32F3\) with:
+ CRYPTO\_TARGET = NONE
.
.
+ CRYPTO\_OPTIONS = AES128C
Compiling:
Compiling:
+--------------------------------------------------------
-en bootloader.c ...
-en decryption.c ...
.
Compiling:
.
-en .././simpleserial/simpleserial.c ...
Compiling:
.
-en .././hal/stm32f3/stm32f3\_hal.c ...
Compiling:
.
.
-en .././hal/stm32f3/stm32f3\_hal\_lowlevel.c ...
Compiling:
Assembling: .././hal/stm32f3/stm32f3\_startup.S
arm-none-eabi-gcc -c -mcpu=cortex-m4 -I. -x assembler-with-cpp -mthumb -mfloat-abi=soft -fmessage-length=0 -ffunction-sections -DF\_CPU=7372800 -Wa,-gstabs,-adhlns=objdir-CWLITEARM/stm32f3\_startup.lst -I.././simpleserial/ -I.././hal -I.././hal/stm32f3 -I.././hal/stm32f3/CMSIS -I.././hal/stm32f3/CMSIS/core -I.././hal/stm32f3/CMSIS/device -I.././hal/stm32f4/Legacy -I.././simpleserial/ -I.././crypto/ .././hal/stm32f3/stm32f3\_startup.S -o objdir-CWLITEARM/stm32f3\_startup.o
-en .././hal/stm32f3/stm32f3\_sysmem.c ...
-e Done!
-e Done!
-e Done!
-e Done!
-e Done!
-e Done!
.
LINKING:
-en bootloader-CWLITEARM.elf ...
-e Done!
.
.
Creating load file for Flash: bootloader-CWLITEARM.hex
Creating load file for Flash: bootloader-CWLITEARM.bin
arm-none-eabi-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature bootloader-CWLITEARM.elf bootloader-CWLITEARM.hex
.
arm-none-eabi-objcopy -O binary -R .eeprom -R .fuse -R .lock -R .signature bootloader-CWLITEARM.elf bootloader-CWLITEARM.bin
Creating load file for EEPROM: bootloader-CWLITEARM.eep
arm-none-eabi-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \
--change-section-lma .eeprom=0 --no-change-warnings -O ihex bootloader-CWLITEARM.elf bootloader-CWLITEARM.eep || exit 0
.
Creating Extended Listing: bootloader-CWLITEARM.lss
arm-none-eabi-objdump -h -S -z bootloader-CWLITEARM.elf > bootloader-CWLITEARM.lss
.
Creating Symbol Table: bootloader-CWLITEARM.sym
arm-none-eabi-nm -n bootloader-CWLITEARM.elf > bootloader-CWLITEARM.sym
Size after:
text data bss dec hex filename
4600 124 1292 6016 1780 bootloader-CWLITEARM.elf
#!/usr/bin/env python
# coding: utf-8
# In[ ]:
import chipwhisperer as cw
try:
if not scope.connectStatus:
scope.con()
except NameError:
scope = cw.scope(hw_location=(5, 3))
try:
if SS_VER == "SS_VER_2_1":
target_type = cw.targets.SimpleSerial2
elif SS_VER == "SS_VER_2_0":
raise OSError("SS_VER_2_0 is deprecated. Use SS_VER_2_1")
else:
target_type = cw.targets.SimpleSerial
except:
SS_VER="SS_VER_1_1"
target_type = cw.targets.SimpleSerial
try:
target = cw.target(scope, target_type)
except:
print("INFO: Caught exception on reconnecting to target - attempting to reconnect to scope first.")
print("INFO: This is a work-around when USB has died without Python knowing. Ignore errors above this line.")
scope = cw.scope(hw_location=(5, 3))
target = cw.target(scope, target_type)
print("INFO: Found ChipWhisperer😍")
# In[ ]:
if "STM" in PLATFORM or PLATFORM == "CWLITEARM" or PLATFORM == "CWNANO":
prog = cw.programmers.STM32FProgrammer
elif PLATFORM == "CW303" or PLATFORM == "CWLITEXMEGA":
prog = cw.programmers.XMEGAProgrammer
elif "neorv32" in PLATFORM.lower():
prog = cw.programmers.NEORV32Programmer
elif PLATFORM == "CW308_SAM4S" or PLATFORM == "CWHUSKY":
prog = cw.programmers.SAM4SProgrammer
else:
prog = None
# In[ ]:
import time
time.sleep(0.05)
scope.default_setup()
def reset_target(scope):
if PLATFORM == "CW303" or PLATFORM == "CWLITEXMEGA":
scope.io.pdic = 'low'
time.sleep(0.1)
scope.io.pdic = 'high_z' #XMEGA doesn't like pdic driven high
time.sleep(0.1) #xmega needs more startup time
elif "neorv32" in PLATFORM.lower():
raise IOError("Default iCE40 neorv32 build does not have external reset - reprogram device to reset")
elif PLATFORM == "CW308_SAM4S" or PLATFORM == "CWHUSKY":
scope.io.nrst = 'low'
time.sleep(0.25)
scope.io.nrst = 'high_z'
time.sleep(0.25)
else:
scope.io.nrst = 'low'
time.sleep(0.05)
scope.io.nrst = 'high_z'
time.sleep(0.05)
INFO: Found ChipWhisperer😍
scope.gain.mode changed from low to high scope.gain.gain changed from 0 to 30 scope.gain.db changed from 5.5 to 24.8359375 scope.adc.basic\_mode changed from low to rising\_edge scope.adc.samples changed from 24400 to 5000 scope.adc.trig\_count changed from 10905109 to 21941329 scope.clock.adc\_src changed from clkgen\_x1 to clkgen\_x4 scope.clock.adc\_freq changed from 7572750 to 29924022 scope.clock.adc\_rate changed from 7572750.0 to 29924022.0 scope.clock.clkgen\_div changed from 1 to 26 scope.clock.clkgen\_freq changed from 192000000.0 to 7384615.384615385 scope.io.tio1 changed from serial\_tx to serial\_rx scope.io.tio2 changed from serial\_rx to serial\_tx scope.io.hs2 changed from None to clkgen scope.glitch.mmcm\_locked changed from True to False
fw_path = "../../../firmware/mcu/bootloader-glitch/bootloader-{}.hex".format(PLATFORM)
cw.program_target(scope, prog, fw_path)
Detected known STMF32: STM32F302xB(C)/303xB(C) Extended erase (0x44), this can take ten seconds or more Attempting to program 4723 bytes at 0x8000000 STM32F Programming flash...
STM32F Reading flash...
Verified flash OK, 4723 bytes
The first thing we'll do is some simple power analysis to see what the device is doing when it sends data back to us. Serial communication is pretty slow, so set the ChipWhisperer to capture around 24k samples with a "x1" ADC clock.
def reboot_flush():
reset_target(scope)
#Flush garbage too
target.flush()
scope.clock.adc_src = "clkgen_x1"
reboot_flush()
scope.adc.samples = 24000
Next, capture a power trace. The string "p516261276720736265747267206762206f686c207a76797821\n"
will send the bootloader the first chunk of code and plot it. If you don't see the full serial message, you can increase scope.adc.decimate
, which will throw out every nth ADC sample.
scope.adc.timeout = 3
scope.arm()
target.write("p516261276720736265747267206762206f686c207a76797821\n")
ret = scope.capture()
if ret:
print("Timeout")
trace = scope.get_last_trace()
cw.plot(trace)
It doesn't look like anything too crazy is going on here - it's probably just printing some characters in a loop. Some ideas:
- If we glitch at the beginning of the loop, we might be able to corrupt the loop length variable and get it to print some extra memory
- We might be able to corrupt the loop variable and get it to read past where it's supposed to
For SimpleSerial V2, this should be short enough that you can quickly loop through the entirety of the code. If your target isn't using SimpleSerial V2, you should instead select a range a bit (~1000 cycles) before the end of the loop. If this doesn't succeed, you can try going after the cycles at the beginning of the loop.
HINT: The last part of the loop should be near the beginning of the last power spike.
HINT: If you're really stuck on where the serial print ends, you can find the time between the trigger_high()
and trigger_low()
call with scope.adc.trig_count
.
trig_count = scope.adc.trig_count
print(trig_count)
4236
glitch_spots = [i for i in range(1)]
# ###################
# Add your code here
# ###################
#raise NotImplementedError("Add your code here, and delete this.")
# ###################
# START SOLUTION
# ###################
glitch_spots = list(range(trig_count - 2000, trig_count, 1))
if SS_VER == "SS_VER_2_1":
glitch_spots = list(range(0, trig_count, 1))
elif PLATFORM == "CW308_SAM4S":
glitch_spots = list(range(trig_count - 2300, trig_count-1800, 1))
elif PLATFORM == "CWLITEXMEGA":
glitch_spots = list(range(9500, 9650, 1))
# ###################
# END SOLUTION
# ###################
print(glitch_spots)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164, 2165, 2166, 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180, 2181, 2182, 2183, 2184, 2185, 2186, 2187, 2188, 2189, 2190, 2191, 2192, 2193, 2194, 2195, 2196, 2197, 2198, 2199, 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2233, 2234, 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2243, 2244, 2245, 2246, 2247, 2248, 2249, 2250, 2251, 2252, 2253, 2254, 2255, 2256, 2257, 2258, 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2266, 2267, 2268, 2269, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278, 2279, 2280, 2281, 2282, 2283, 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2295, 2296, 2297, 2298, 2299, 2300, 2301, 2302, 2303, 2304, 2305, 2306, 2307, 2308, 2309, 2310, 2311, 2312, 2313, 2314, 2315, 2316, 2317, 2318, 2319, 2320, 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2329, 2330, 2331, 2332, 2333, 2334, 2335, 2336, 2337, 2338, 2339, 2340, 2341, 2342, 2343, 2344, 2345, 2346, 2347, 2348, 2349, 2350, 2351, 2352, 2353, 2354, 2355, 2356, 2357, 2358, 2359, 2360, 2361, 2362, 2363, 2364, 2365, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2384, 2385, 2386, 2387, 2388, 2389, 2390, 2391, 2392, 2393, 2394, 2395, 2396, 2397, 2398, 2399, 2400, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2410, 2411, 2412, 2413, 2414, 2415, 2416, 2417, 2418, 2419, 2420, 2421, 2422, 2423, 2424, 2425, 2426, 2427, 2428, 2429, 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2437, 2438, 2439, 2440, 2441, 2442, 2443, 2444, 2445, 2446, 2447, 2448, 2449, 2450, 2451, 2452, 2453, 2454, 2455, 2456, 2457, 2458, 2459, 2460, 2461, 2462, 2463, 2464, 2465, 2466, 2467, 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2477, 2478, 2479, 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488, 2489, 2490, 2491, 2492, 2493, 2494, 2495, 2496, 2497, 2498, 2499, 2500, 2501, 2502, 2503, 2504, 2505, 2506, 2507, 2508, 2509, 2510, 2511, 2512, 2513, 2514, 2515, 2516, 2517, 2518, 2519, 2520, 2521, 2522, 2523, 2524, 2525, 2526, 2527, 2528, 2529, 2530, 2531, 2532, 2533, 2534, 2535, 2536, 2537, 2538, 2539, 2540, 2541, 2542, 2543, 2544, 2545, 2546, 2547, 2548, 2549, 2550, 2551, 2552, 2553, 2554, 2555, 2556, 2557, 2558, 2559, 2560, 2561, 2562, 2563, 2564, 2565, 2566, 2567, 2568, 2569, 2570, 2571, 2572, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 2582, 2583, 2584, 2585, 2586, 2587, 2588, 2589, 2590, 2591, 2592, 2593, 2594, 2595, 2596, 2597, 2598, 2599, 2600, 2601, 2602, 2603, 2604, 2605, 2606, 2607, 2608, 2609, 2610, 2611, 2612, 2613, 2614, 2615, 2616, 2617, 2618, 2619, 2620, 2621, 2622, 2623, 2624, 2625, 2626, 2627, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2637, 2638, 2639, 2640, 2641, 2642, 2643, 2644, 2645, 2646, 2647, 2648, 2649, 2650, 2651, 2652, 2653, 2654, 2655, 2656, 2657, 2658, 2659, 2660, 2661, 2662, 2663, 2664, 2665, 2666, 2667, 2668, 2669, 2670, 2671, 2672, 2673, 2674, 2675, 2676, 2677, 2678, 2679, 2680, 2681, 2682, 2683, 2684, 2685, 2686, 2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694, 2695, 2696, 2697, 2698, 2699, 2700, 2701, 2702, 2703, 2704, 2705, 2706, 2707, 2708, 2709, 2710, 2711, 2712, 2713, 2714, 2715, 2716, 2717, 2718, 2719, 2720, 2721, 2722, 2723, 2724, 2725, 2726, 2727, 2728, 2729, 2730, 2731, 2732, 2733, 2734, 2735, 2736, 2737, 2738, 2739, 2740, 2741, 2742, 2743, 2744, 2745, 2746, 2747, 2748, 2749, 2750, 2751, 2752, 2753, 2754, 2755, 2756, 2757, 2758, 2759, 2760, 2761, 2762, 2763, 2764, 2765, 2766, 2767, 2768, 2769, 2770, 2771, 2772, 2773, 2774, 2775, 2776, 2777, 2778, 2779, 2780, 2781, 2782, 2783, 2784, 2785, 2786, 2787, 2788, 2789, 2790, 2791, 2792, 2793, 2794, 2795, 2796, 2797, 2798, 2799, 2800, 2801, 2802, 2803, 2804, 2805, 2806, 2807, 2808, 2809, 2810, 2811, 2812, 2813, 2814, 2815, 2816, 2817, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2825, 2826, 2827, 2828, 2829, 2830, 2831, 2832, 2833, 2834, 2835, 2836, 2837, 2838, 2839, 2840, 2841, 2842, 2843, 2844, 2845, 2846, 2847, 2848, 2849, 2850, 2851, 2852, 2853, 2854, 2855, 2856, 2857, 2858, 2859, 2860, 2861, 2862, 2863, 2864, 2865, 2866, 2867, 2868, 2869, 2870, 2871, 2872, 2873, 2874, 2875, 2876, 2877, 2878, 2879, 2880, 2881, 2882, 2883, 2884, 2885, 2886, 2887, 2888, 2889, 2890, 2891, 2892, 2893, 2894, 2895, 2896, 2897, 2898, 2899, 2900, 2901, 2902, 2903, 2904, 2905, 2906, 2907, 2908, 2909, 2910, 2911, 2912, 2913, 2914, 2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2924, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 2934, 2935, 2936, 2937, 2938, 2939, 2940, 2941, 2942, 2943, 2944, 2945, 2946, 2947, 2948, 2949, 2950, 2951, 2952, 2953, 2954, 2955, 2956, 2957, 2958, 2959, 2960, 2961, 2962, 2963, 2964, 2965, 2966, 2967, 2968, 2969, 2970, 2971, 2972, 2973, 2974, 2975, 2976, 2977, 2978, 2979, 2980, 2981, 2982, 2983, 2984, 2985, 2986, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 2996, 2997, 2998, 2999, 3000, 3001, 3002, 3003, 3004, 3005, 3006, 3007, 3008, 3009, 3010, 3011, 3012, 3013, 3014, 3015, 3016, 3017, 3018, 3019, 3020, 3021, 3022, 3023, 3024, 3025, 3026, 3027, 3028, 3029, 3030, 3031, 3032, 3033, 3034, 3035, 3036, 3037, 3038, 3039, 3040, 3041, 3042, 3043, 3044, 3045, 3046, 3047, 3048, 3049, 3050, 3051, 3052, 3053, 3054, 3055, 3056, 3057, 3058, 3059, 3060, 3061, 3062, 3063, 3064, 3065, 3066, 3067, 3068, 3069, 3070, 3071, 3072, 3073, 3074, 3075, 3076, 3077, 3078, 3079, 3080, 3081, 3082, 3083, 3084, 3085, 3086, 3087, 3088, 3089, 3090, 3091, 3092, 3093, 3094, 3095, 3096, 3097, 3098, 3099, 3100, 3101, 3102, 3103, 3104, 3105, 3106, 3107, 3108, 3109, 3110, 3111, 3112, 3113, 3114, 3115, 3116, 3117, 3118, 3119, 3120, 3121, 3122, 3123, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3151, 3152, 3153, 3154, 3155, 3156, 3157, 3158, 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166, 3167, 3168, 3169, 3170, 3171, 3172, 3173, 3174, 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182, 3183, 3184, 3185, 3186, 3187, 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196, 3197, 3198, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3209, 3210, 3211, 3212, 3213, 3214, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3223, 3224, 3225, 3226, 3227, 3228, 3229, 3230, 3231, 3232, 3233, 3234, 3235, 3236, 3237, 3238, 3239, 3240, 3241, 3242, 3243, 3244, 3245, 3246, 3247, 3248, 3249, 3250, 3251, 3252, 3253, 3254, 3255, 3256, 3257, 3258, 3259, 3260, 3261, 3262, 3263, 3264, 3265, 3266, 3267, 3268, 3269, 3270, 3271, 3272, 3273, 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, 3292, 3293, 3294, 3295, 3296, 3297, 3298, 3299, 3300, 3301, 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3314, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3326, 3327, 3328, 3329, 3330, 3331, 3332, 3333, 3334, 3335, 3336, 3337, 3338, 3339, 3340, 3341, 3342, 3343, 3344, 3345, 3346, 3347, 3348, 3349, 3350, 3351, 3352, 3353, 3354, 3355, 3356, 3357, 3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3369, 3370, 3371, 3372, 3373, 3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3382, 3383, 3384, 3385, 3386, 3387, 3388, 3389, 3390, 3391, 3392, 3393, 3394, 3395, 3396, 3397, 3398, 3399, 3400, 3401, 3402, 3403, 3404, 3405, 3406, 3407, 3408, 3409, 3410, 3411, 3412, 3413, 3414, 3415, 3416, 3417, 3418, 3419, 3420, 3421, 3422, 3423, 3424, 3425, 3426, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434, 3435, 3436, 3437, 3438, 3439, 3440, 3441, 3442, 3443, 3444, 3445, 3446, 3447, 3448, 3449, 3450, 3451, 3452, 3453, 3454, 3455, 3456, 3457, 3458, 3459, 3460, 3461, 3462, 3463, 3464, 3465, 3466, 3467, 3468, 3469, 3470, 3471, 3472, 3473, 3474, 3475, 3476, 3477, 3478, 3479, 3480, 3481, 3482, 3483, 3484, 3485, 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3493, 3494, 3495, 3496, 3497, 3498, 3499, 3500, 3501, 3502, 3503, 3504, 3505, 3506, 3507, 3508, 3509, 3510, 3511, 3512, 3513, 3514, 3515, 3516, 3517, 3518, 3519, 3520, 3521, 3522, 3523, 3524, 3525, 3526, 3527, 3528, 3529, 3530, 3531, 3532, 3533, 3534, 3535, 3536, 3537, 3538, 3539, 3540, 3541, 3542, 3543, 3544, 3545, 3546, 3547, 3548, 3549, 3550, 3551, 3552, 3553, 3554, 3555, 3556, 3557, 3558, 3559, 3560, 3561, 3562, 3563, 3564, 3565, 3566, 3567, 3568, 3569, 3570, 3571, 3572, 3573, 3574, 3575, 3576, 3577, 3578, 3579, 3580, 3581, 3582, 3583, 3584, 3585, 3586, 3587, 3588, 3589, 3590, 3591, 3592, 3593, 3594, 3595, 3596, 3597, 3598, 3599, 3600, 3601, 3602, 3603, 3604, 3605, 3606, 3607, 3608, 3609, 3610, 3611, 3612, 3613, 3614, 3615, 3616, 3617, 3618, 3619, 3620, 3621, 3622, 3623, 3624, 3625, 3626, 3627, 3628, 3629, 3630, 3631, 3632, 3633, 3634, 3635, 3636, 3637, 3638, 3639, 3640, 3641, 3642, 3643, 3644, 3645, 3646, 3647, 3648, 3649, 3650, 3651, 3652, 3653, 3654, 3655, 3656, 3657, 3658, 3659, 3660, 3661, 3662, 3663, 3664, 3665, 3666, 3667, 3668, 3669, 3670, 3671, 3672, 3673, 3674, 3675, 3676, 3677, 3678, 3679, 3680, 3681, 3682, 3683, 3684, 3685, 3686, 3687, 3688, 3689, 3690, 3691, 3692, 3693, 3694, 3695, 3696, 3697, 3698, 3699, 3700, 3701, 3702, 3703, 3704, 3705, 3706, 3707, 3708, 3709, 3710, 3711, 3712, 3713, 3714, 3715, 3716, 3717, 3718, 3719, 3720, 3721, 3722, 3723, 3724, 3725, 3726, 3727, 3728, 3729, 3730, 3731, 3732, 3733, 3734, 3735, 3736, 3737, 3738, 3739, 3740, 3741, 3742, 3743, 3744, 3745, 3746, 3747, 3748, 3749, 3750, 3751, 3752, 3753, 3754, 3755, 3756, 3757, 3758, 3759, 3760, 3761, 3762, 3763, 3764, 3765, 3766, 3767, 3768, 3769, 3770, 3771, 3772, 3773, 3774, 3775, 3776, 3777, 3778, 3779, 3780, 3781, 3782, 3783, 3784, 3785, 3786, 3787, 3788, 3789, 3790, 3791, 3792, 3793, 3794, 3795, 3796, 3797, 3798, 3799, 3800, 3801, 3802, 3803, 3804, 3805, 3806, 3807, 3808, 3809, 3810, 3811, 3812, 3813, 3814, 3815, 3816, 3817, 3818, 3819, 3820, 3821, 3822, 3823, 3824, 3825, 3826, 3827, 3828, 3829, 3830, 3831, 3832, 3833, 3834, 3835, 3836, 3837, 3838, 3839, 3840, 3841, 3842, 3843, 3844, 3845, 3846, 3847, 3848, 3849, 3850, 3851, 3852, 3853, 3854, 3855, 3856, 3857, 3858, 3859, 3860, 3861, 3862, 3863, 3864, 3865, 3866, 3867, 3868, 3869, 3870, 3871, 3872, 3873, 3874, 3875, 3876, 3877, 3878, 3879, 3880, 3881, 3882, 3883, 3884, 3885, 3886, 3887, 3888, 3889, 3890, 3891, 3892, 3893, 3894, 3895, 3896, 3897, 3898, 3899, 3900, 3901, 3902, 3903, 3904, 3905, 3906, 3907, 3908, 3909, 3910, 3911, 3912, 3913, 3914, 3915, 3916, 3917, 3918, 3919, 3920, 3921, 3922, 3923, 3924, 3925, 3926, 3927, 3928, 3929, 3930, 3931, 3932, 3933, 3934, 3935, 3936, 3937, 3938, 3939, 3940, 3941, 3942, 3943, 3944, 3945, 3946, 3947, 3948, 3949, 3950, 3951, 3952, 3953, 3954, 3955, 3956, 3957, 3958, 3959, 3960, 3961, 3962, 3963, 3964, 3965, 3966, 3967, 3968, 3969, 3970, 3971, 3972, 3973, 3974, 3975, 3976, 3977, 3978, 3979, 3980, 3981, 3982, 3983, 3984, 3985, 3986, 3987, 3988, 3989, 3990, 3991, 3992, 3993, 3994, 3995, 3996, 3997, 3998, 3999, 4000, 4001, 4002, 4003, 4004, 4005, 4006, 4007, 4008, 4009, 4010, 4011, 4012, 4013, 4014, 4015, 4016, 4017, 4018, 4019, 4020, 4021, 4022, 4023, 4024, 4025, 4026, 4027, 4028, 4029, 4030, 4031, 4032, 4033, 4034, 4035, 4036, 4037, 4038, 4039, 4040, 4041, 4042, 4043, 4044, 4045, 4046, 4047, 4048, 4049, 4050, 4051, 4052, 4053, 4054, 4055, 4056, 4057, 4058, 4059, 4060, 4061, 4062, 4063, 4064, 4065, 4066, 4067, 4068, 4069, 4070, 4071, 4072, 4073, 4074, 4075, 4076, 4077, 4078, 4079, 4080, 4081, 4082, 4083, 4084, 4085, 4086, 4087, 4088, 4089, 4090, 4091, 4092, 4093, 4094, 4095, 4096, 4097, 4098, 4099, 4100, 4101, 4102, 4103, 4104, 4105, 4106, 4107, 4108, 4109, 4110, 4111, 4112, 4113, 4114, 4115, 4116, 4117, 4118, 4119, 4120, 4121, 4122, 4123, 4124, 4125, 4126, 4127, 4128, 4129, 4130, 4131, 4132, 4133, 4134, 4135, 4136, 4137, 4138, 4139, 4140, 4141, 4142, 4143, 4144, 4145, 4146, 4147, 4148, 4149, 4150, 4151, 4152, 4153, 4154, 4155, 4156, 4157, 4158, 4159, 4160, 4161, 4162, 4163, 4164, 4165, 4166, 4167, 4168, 4169, 4170, 4171, 4172, 4173, 4174, 4175, 4176, 4177, 4178, 4179, 4180, 4181, 4182, 4183, 4184, 4185, 4186, 4187, 4188, 4189, 4190, 4191, 4192, 4193, 4194, 4195, 4196, 4197, 4198, 4199, 4200, 4201, 4202, 4203, 4204, 4205, 4206, 4207, 4208, 4209, 4210, 4211, 4212, 4213, 4214, 4215, 4216, 4217, 4218, 4219, 4220, 4221, 4222, 4223, 4224, 4225, 4226, 4227, 4228, 4229, 4230, 4231, 4232, 4233, 4234, 4235]
Evaluating Success¶
Detecting whether our glitch was successful or not isn't quite as trivial as in the previous lab - we don't have a nice error return that the device calculates and sends back to us. One idea is that we can look for part of the string that we sent to the device: there isn't much time between us sending it and the error code being returned. With any luck the compiler will have placed both values close in memory.
Now the rest is up to you! Use what you learned in the previous lab to setup glitch settings and a glitch loop. Here's a few hints to make things easier:
- Try to use a fairly small width and offset range since we'll need to scan ext_offset as well here. A total range of ~2-3 for each with 0.4 steps is a good range to aim for. These numbers are for CW-Lite/Pro; for CW-Husky, convert as per Fault 1_1.
- Try looking for a part of the string we sent to the device to check for success.
- You may want to forgo graphing or plot only successes/crashes if it makes things substantially slower - we're scanning a large range of glitch settings so we'll need all the speed we can get.
Set your glitch up here:
scope.adc.timeout = 0.1
scope.cglitch_setup()
def my_print(text):
for ch in text:
if (ord(ch) > 31 and ord(ch) < 127) or ch == "\n":
print(ch, end='')
else:
print("0x{:02X}".format(ord(ch)), end='')
print("", end='')
scope.adc.samples changed from 24000 to 5000 scope.clock.adc\_src changed from clkgen\_x1 to clkgen\_x4 scope.clock.adc\_freq changed from 8493335 to 29538459 scope.clock.adc\_rate changed from 8493335.0 to 29538459.0
Again, we can use the glitch controller to make loop setup easier:
gc = cw.GlitchController(groups=["success", "reset", "normal"], parameters=["width", "offset", "ext_offset", "tries"])
gc.display_stats()
x_bound = (-48, 48)
y_bound = (glitch_spots[0], glitch_spots[-1])
if scope._is_husky:
x_bound = gc.set_range("width", 3900, 4500)
gc.glitch_plot(plotdots={"success":"+g", "reset":"xr", "normal":None}, x_bound=x_bound, y_bound=y_bound,
x_index="width", y_index="ext_offset")
Finally, create a glitch loop. Don't forget to check all the different glitch_spots
as well!
scope.glitch.repeat = 1
if scope._is_husky:
gc.set_range("width", 3900, 4500)
gc.set_range("offset", 2200, 2500)
gc.set_range("ext_offset", glitch_spots[0], glitch_spots[-1])
gc.set_global_step([100])
gc.set_step("ext_offset", glitch_spots[1] - glitch_spots[0])
gc.set_step("width", 100)
else:
gc.set_global_step(0.4)
if PLATFORM == "CWLITEXMEGA":
gc.set_range("width", 46, 49.8)
gc.set_range("offset", -46, -49.8)
elif PLATFORM == "CW308_STM32F4":
gc.set_range("width", 0.4, 10)
gc.set_range("offset", 40, 49.8)
elif PLATFORM == "CWLITEARM":
gc.set_range("width", 0.8, 3.6)
gc.set_range("offset", -4, -2)
gc.set_range("ext_offset", glitch_spots[0], glitch_spots[-1])
gc.set_step("ext_offset", glitch_spots[1] - glitch_spots[0])
gc.set_range("tries", 1, 1)
gc.set_step("tries", 1)
gc.set_step("ext_offset", 1)
broken = False
for glitch_setting in gc.glitch_values():
scope.glitch.offset = glitch_setting[1]
scope.glitch.width = glitch_setting[0]
scope.glitch.ext_offset = glitch_setting[2]
if broken:
break
if scope.adc.state:
#print("Timeout, trigger still high!")
gc.add("reset")
#Device is slow to boot?
reboot_flush()
target.flush()
scope.arm()
target.write("p516261276720736265747267206762206f686c207a76797821\n")
ret = scope.capture()
if ret:
#print('Timeout - no trigger')
gc.add("reset")
#Device is slow to boot?
reboot_flush()
else:
time.sleep(0.05)
output = target.read(timeout=2)
if "767" in output:
print("Glitched!\n\tExt offset: {}\n\tOffset: {}\n\tWidth: {}".format(scope.glitch.ext_offset, scope.glitch.offset, scope.glitch.width))
gc.add("success")
broken = True
for __ in range(500):
num_char = target.in_waiting()
if num_char:
my_print(output)
output = target.read(timeout=50)
time.sleep(1)
break
else:
gc.add("normal")
(ChipWhisperer Scope WARNING|File \_OpenADCInterface.py:732) Timeout in OpenADC capture(), no trigger seen! Trigger forced, data is invalid. Status: 0b
(ChipWhisperer Scope WARNING|File \_OpenADCInterface.py:732) Timeout in OpenADC capture(), no trigger seen! Trigger forced, data is invalid. Status: 08
(ChipWhisperer Scope WARNING|File \_OpenADCInterface.py:732) Timeout in OpenADC capture(), no trigger seen! Trigger forced, data is invalid. Status: 0b
(ChipWhisperer Scope WARNING|File \_OpenADCInterface.py:732) Timeout in OpenADC capture(), no trigger seen! Trigger forced, data is invalid. Status: 0a
(ChipWhisperer Scope WARNING|File \_OpenADCInterface.py:732) Timeout in OpenADC capture(), no trigger seen! Trigger forced, data is invalid. Status: 0b
(ChipWhisperer Scope WARNING|File \_OpenADCInterface.py:732) Timeout in OpenADC capture(), no trigger seen! Trigger forced, data is invalid. Status: 0a
(ChipWhisperer Scope WARNING|File \_OpenADCInterface.py:732) Timeout in OpenADC capture(), no trigger seen! Trigger forced, data is invalid. Status: 0b
(ChipWhisperer Scope WARNING|File \_OpenADCInterface.py:732) Timeout in OpenADC capture(), no trigger seen! Trigger forced, data is invalid. Status: 0a
(ChipWhisperer Scope WARNING|File \_OpenADCInterface.py:732) Timeout in OpenADC capture(), no trigger seen! Trigger forced, data is invalid. Status: 0b
(ChipWhisperer Scope WARNING|File \_OpenADCInterface.py:732) Timeout in OpenADC capture(), no trigger seen! Trigger forced, data is invalid. Status: 0a
(ChipWhisperer Scope WARNING|File \_OpenADCInterface.py:732) Timeout in OpenADC capture(), no trigger seen! Trigger forced, data is invalid. Status: 0b
(ChipWhisperer Scope WARNING|File \_OpenADCInterface.py:732) Timeout in OpenADC capture(), no trigger seen! Trigger forced, data is invalid. Status: 0a
(ChipWhisperer Scope WARNING|File \_OpenADCInterface.py:732) Timeout in OpenADC capture(), no trigger seen! Trigger forced, data is invalid. Status: 0b
(ChipWhisperer Scope WARNING|File \_OpenADCInterface.py:732) Timeout in OpenADC capture(), no trigger seen! Trigger forced, data is invalid. Status: 08
(ChipWhisperer Scope WARNING|File \_OpenADCInterface.py:732) Timeout in OpenADC capture(), no trigger seen! Trigger forced, data is invalid. Status: 0b
(ChipWhisperer Scope WARNING|File \_OpenADCInterface.py:732) Timeout in OpenADC capture(), no trigger seen! Trigger forced, data is invalid. Status: 0a
(ChipWhisperer Scope WARNING|File \_OpenADCInterface.py:732) Timeout in OpenADC capture(), no trigger seen! Trigger forced, data is invalid. Status: 0b
(ChipWhisperer Scope WARNING|File \_OpenADCInterface.py:732) Timeout in OpenADC capture(), no trigger seen! Trigger forced, data is invalid. Status: 0a
(ChipWhisperer Scope WARNING|File \_OpenADCInterface.py:732) Timeout in OpenADC capture(), no trigger seen! Trigger forced, data is invalid. Status: 0b
(ChipWhisperer Scope WARNING|File \_OpenADCInterface.py:732) Timeout in OpenADC capture(), no trigger seen! Trigger forced, data is invalid. Status: 08
(ChipWhisperer Scope WARNING|File \_OpenADCInterface.py:732) Timeout in OpenADC capture(), no trigger seen! Trigger forced, data is invalid. Status: 0b
(ChipWhisperer Scope WARNING|File \_OpenADCInterface.py:732) Timeout in OpenADC capture(), no trigger seen! Trigger forced, data is invalid. Status: 0a
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
Glitched! Ext offset: 2088 Offset: -3.125 Width: 0.78125
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
r0 6720736265747267206762206f686c207a767978210x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x00Don't forget to buy milk!0x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x0080x01@0x000x840x030x000x000x000x000x000x000x000x000x000x000x000x000x000x0C0x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x110xB8Q0xEA0x170xA30xDE{S10xEA0xE0<I0x850x80a0x83w0x8E50xAA0x03D0xE80xD50xA30xAA90xA9G0xBE20x1C0xAB0xE70xB7e*0xECeAt0xF25q0x0D0xD60x04u0xEDw0xA84!0x9AD0xA0l0x040x0C0xC40xBE0x8CE0xA20xD5mu0xEAe0x1Cw0xCE0xA30xF1a0x07n0xAEP0xA2z P0xAA\_w0xFA0xE3z0xBA0x910xAE}0xDB"D0xDFW0xAA]0xB8j0x06*u0xB4[0xBA0xDC0x91?40xADU0x8A0x1F0xB80xA00xDF0xB0]&0xFA<0xE2&0xD9(0x840xCAU*F0xD40xF480xD20x130xA60x1E0xAE/0x8E00x15*0xED0x180xF5M0xAE0x950xF2/W0xE2\_M0xBEsnT0xA80xFDv0x16q~V0xB20x1D*^0x1AZb0xEE60x8F0x110xAB0xA80x1E0xD20xFD]0x9B0xCC0x0F0x98Y0xEC0x050xAFT0xAE0xC7\0xAAV0x8E0xB0b0xE6W0xBE}iW0xAD0xB0m[0x050xF8q0x9E0x970x15lu0x030xCB0xD5;UU0x8E0x9C0xCDP0xD2J0xE20xA6\_@0xE10xB270x8BqW0xC00xF50xA8E~0x9D0xA8V0xD90x900xBDQ[0xC8:0xEAO0x9A=0xAC0xA50xF2Sh0xA3\0xAA0xC40xEDT0x1A:0xC50x1Cq0x83A0xA8TL0x8B0xD80xA00x9E7*U0x940xA70x1E0xA6M0xA20xD560xA8$0xBB0x9F0xBDs0xBFWt0x0E0x07b0xDF0xA90x170x16.T0xCERU0x8AE0xB50xEB0x81Pu0xEB7fO0xDF<U>]0xDBm0xAB 0xD50x7F0xD1:0xD50x080xD1?0xB60xD70x900xBB<0xCB}S0x0C0xCF0x18\`0xC20x950xE2{0x140xDF0xD40x0E!0x870xD5B0xE60xF50x9C0xD5.*0xBA0xD2F0xE90x0FW0xFD0xC50x927M0xBB0x840x980xD80xB2tW0x1EG0x830xDD0xC70x88y0x8BD0x0F(0x020xD0]"0xCC0xE3 r0xEA0xD5B0x050xEE0xF3B0xADG0xF80x19(D0x820xAA0xEC0xAB0x10G0x8FU0xA80x020x95-T&E)0xFD0x060x880x030xE2E0x8DM0xAF0xB20xE80xAD0xC50xAAV+U\0xFB0xD50xA60xA8W0xBB0x150xD50xDA0xF90x94z0x8A=D0xEA|0xF8Qz0xD3.0xF5]0xB1D0xAF5Bu0x880xF30x16B0x9D\0x9A0x860xB6.0xD10xCA0x950xA2e0xA00xC4t0xEAt0xC00x97I0xC7 0x92H0x860x1F0xAAD0x8A0x140x95jU0xA20xB3E 0x15Qf<0x9C0xABZcb0xA80x1F+D0x8A0x030xEAQU*\_ }0x820x14 bC}BG0x86G0x8E0xAE0xC50x92,0xE2@0x9E0xD3fC0xD60xFA0xD70xAA0x090xE70xAA0xFEmG*0x130xEA0x110xDF0xA3u0x830x8B\_0xA60x810xF40x110xABtV0xAB0xD00xE6Q0xE90x060x82jA0xB2&0x010x99i0xE2!0x150xA9f$u0xCA0x11T0xA70xC4/50x86E0x040E0xA8E0x08M*u0x170xBDl0xFE0x9B0xDD0x880xD5V0xAB,,0x040xC8QC0xAE0xFA0xA3E0x9A0xD90xE1]0xD60xB4e M*F0xBA0xC6MOYM0xA8Uj0x82}]0zV0xB8UQ0xEAU0xF2Q0xB30x1D<0x020x170x89D*0x15"w0x15-I0x860x9A|+u1NN"Y0xA20xFC&IgzVn0xE70xC90x170xD40xC3A*0x1D0xE2E0x8A0x980xF4j0xD40x040xEFPJ$w0xA80xC60x8AC0xBAU0xC5"T0xE2g0xA3q0x90.0xD10x060x850x9A5&0x050x16>V0x01k40xABQP0xA4E0xE00x100xBCK^0x18u0xC90xB40xEAV0xCB]h:0x850xA90xC10x8BWQ0xD7o;0xF00x8D0xDF0xE60xEA0x150xEF}0x98A,MV0xE2D0x0C.0xDC0xAC0xD30xA50xBAr0xFB0x140x040x150x1A0xA90x0C0xB2W*50x830x1B0xD520xE10x8B0x11JU0xA90xA70x020xE80x9B0xC50x8Bd0x910x99Dl0x170xFDE0x850x0FU0x8Em0x170x9D'0x970x820xEDw0xB7k0x82g0xBE0x0E0xDD)0xA10xAE0xCEU0xE30xD1s0x9A0xE90x9050xA20x160xB48W0xE30xD1+0x910x03x0x170xEA0x170xEBE0xE20xDF0xAA0x0Ce0x9B0xFFT0x8At0xAA0xA1[*0xD90xAAq Qt0xE8<0xFB0xF70xC80x040xAF0x820xD10x8B0xD3*0x190xA2A);0xC10xA20xACEJ0x17u S0xAA0xD70xC60xB60xB00xD3Tz00xB80xD70xAA0xD00x140xFE0xA60xB2U0xA2u:0xB7K0xB2SG+0xF30xBE.!0xE20xD590xDC0xBA0xD9=0xE9:0x010xA90xA6M0xC10xE0=jw0xC2$X(0x800x820x14 0xC20x05z0xFC0xEA0xB1\_X0x930xB1G0xCE0x180xA6u0x8E0x8A0x1C0x87]u0x09|0xAE0xEAAjFjU0x0DA0xD4.MN0x1C0xDF]0xC3.]\_C0xA80x110x0E[5ZV0xE30xA7m0x950xD70xF70x89]0x82A0x8A0xD40x8A0xCF0x95k0xC6#0xCF0xA2S0x050xFB0xE2wT0xAB0x000xF20x8E0xF70xA2uTjW60xB8@0xEE0xC40xC20xE4.Q0xC7j=0xC20xB30xA20x150xA30xAA%0xA60x130xA81j0xD5I0xB3w0xC20x99P0xCAU0x952F0xB70xE30xB8V*0xE20xFB0xB630xA1q0xA3V\`)#0xCET0xA040x020xF6U0xA8W}0xA80x9D0xEA0xA99.\`0x080xB40xE2~0xDF0xB20xEF>0x1E0xB0g0xE80xAEP#l0xBE\#0x95|(0x190xAF0xA80xAC\_0xA20xC1hJR0x820xC50x8Aq0xAA0xA80xDD0xDAA0xD40x1ET0xE70xB4q+w0xBB0x0D0xE0uQ!~0xFF0xD5nu0xE40xACD0xAEW*G0xAA0xD5HM0x930xE10xD80x1F0xC3}0xD60xA8M0xAA0x020xFA\_*0xAE0xA4\_a0x820xF80xEA0xF10x110xECW0xA9T0xBA0x8D0xD80x82{0xBB0xD9{0x800x0C0xBC*0xD50x1AV0xED0x110x9EMm0xE30x9E0x8At:0x9F0xA80xFC0x11I0xE40xEA0xC5<0xD90xFD0x8E0xDD0xFA0xAEV0x8E0xF40xD3^0xC7.|~P0xEA0xA90xD70xFC0xE6z\_\0xE30x060x08G0xE2U*W*0xBF0x1D0x0E U0xBE[0x8A0x020xFE0x9A0x07f0x950x88Yt0xAF$ 0xE2=0x919*L#0x100x9AX&0xF40xDE~Uc0xAA0xAFfS:0x9BL0xE20x100xA340xA2"0xD7 0xD20x80\_0x070xD10xD50x09\_0xB30xE5.Q0xD6T0x980xDD0xD20xEFu0x9D0x96p]0x9D0xE8v0x0E0xBD D*yA0xE60x170xA80xAA0x870xA8O0x170xE20xB50xA20x0D0xE4I0xBE0x8Cv0xEF0x050x8Cl0x0B0x1FL0xE600xBA]?D0xA30x820x7Fj0x83^*0xD00xFA0xCEP0xEA?0xFF-0xA8YW0xFAq0xEDU+u0x189C0xA60xDF*X"0xC50x100xAA0x860xCA0xEA0xF40xA3GY0xF00xB20xEE\0xCB0xDC0xA2;Q0xD8t\O0xAEX]L0xE0.l0xAB0x030xEA:0xD70xBBnU*0x000xA20x9150x080xA90xA6t0xF2Su0xAEQ0x8A0x7F0xA60xF0j0x9A0x050xA20x7F0xE00x1D 0x950x90-Y0x9F0xC20x1FjuD+Q0x880xD0V0xCD(0x8E0x050xFF0xC50xA3@0xA8UBh0x820x1D0x140xB8@0xBA0x02*jS,0xBC0x160xAEl0xB40x1ES0xF5a0xA80x18VU0xCA]$*0xB50x820xC80x040xA5W0xEA0xDD0xFAs0xBA0xDAu;0xF10x860x1F0xEB\50xFE]0xDA0xC1&0x16")u0x930xD210xAEu0xAC0xBC0xF60xE80xC6ZUz1D0xB7]0xBB=r0xFE0xA80x03Y0xBE0x180x88T0xDE0x100xD50xBA0xD70x08(\_0xABq0xA90xEB0xF10xA30xFF0xC40xF90xAA0xEB0xED0xBB0xB50x8AE0xDE0x1D0x000x000x000x00P0xFB0xD10xA8>U0xC20x050xD40xB40xD0&0xA00xF50x9040xCA0x000xE9U0xC0 0xD40xE0E0xAB0xD7*)0xF90x82E0xE3IfEi)0xDE0xC50xBBU0xE20xC60xF4wa0xE00xCF0xA8U0xEA0xCA0xE5;L0xCE0xBC0x9A0xE1e0xF80x140xE3W"Q0xA3'0x9D0xB2GW.L0xBA0xA2m0xE80x9D0xB30xF70x8Ddq0xEE\_"0x950xA3}0xEC0xA70x05.U#W0xAB0xD4o0x070xC70xC60xA2
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
0x1D0xA9t&0x170xC5.50x98E0xBEs0xA30xCC?:um0xA8Wh&0x9920xC60xB20xD10xA8\`10xC30xB10xB30x140x890x130xEAl=0xD00xC50xAA0x150xABpu0xFD\_n0x180x850x9AET0xF60x94n0xD4&J0xF80xB4w0xBAu0x88U0xBBTP0x930x19.0x0E0x880x940xF80x02H0x9Bu0xDA0x900x950x89:Q0x930x010x80P0xA80xDDc0xCBS0xE90x950x880x090xC00xA7\0x88V0xAC50x8140xB7<0xA5.0xCEHbE0xC40x89P0xC90x040xA2W0x830x840xC5z0xF50xF8Q0xA5UTIU G0xA00xBD0xA2T{0x8D0x100xF90xA9R*0xAB)*H0xE1A0xAB0x1Da+0x17HW0x8D0xC70x0B"0x1D0xA1N0xAAL0x850xD0r0xDE0x910xC20x9AQ0x820x950x160x870x120x960x11j0xF50xB20x82g0x1A0xFF0x8AE0xABUU0xC50x110xDD0x980xEA0xF70xB20xC0k0xE4\_0x920xBA0xD50xABT0x170xAA0xDF0xCCq0xA80x840xC2rQ0x970xC4*T&BV0x18e#0x050xFA0x950xE80xA40xDF0xC0gE0xA5P0xF20xA90x170x0100xB90x010AQ.0x150w0xAA0x120xC90x8EX0xCA0xD90xA2Q*Q0x870xD1Z0xBB0xB2U0x8E0x950xF10xA8P0xB8@0xFB0x1E0x120xABu0xAA0x1D0x89{^0x100x01>0x15j0xC9z0xDD0xCE-w0xDD0xD5^0xCF0xD10x9F|0xC7k]j0x85*0x15T0xE3C0xB3E0xA30x120x830xC40x1D0xAA0xD50x83W0x890x08w0xF90xA50x9A0xAE0x150xBB0x87<0xB80x9F0xD3T0xAE60xFC0xA80x0D0xA70xF50xCA\_*0x15y0xCA0xD10xAF0xF50x8A0xC540xFA]0x881Q0xA9wn0xA8\{0xFC*L0x020xD4L0xC8W0xAC0xD7)T0xCC0xCC0x910x990xC8*P0xA80x15z10x8AY0x8A0x090x870xC8\_0xA0Ml[A0xB4m0xCAM0xB8p(0xE90xF050x18t0x0FY0x820xEEU{\_'0xD50x8B]~0xE8'N0x170x9D0x9Dy:0xD50x8AQ0x8A0x040xA80x11X0xCC0x1DB0x8C0xFC0xA1S0x010xE6\`jt:H0xAB0xBC}0xA90x7F0xBAZ20x11P0x820x1A0xA10xD90xA30xD2-0xAAE0xAA9R.0x150x820xDA0x140xE60xD1.0x030xC3A0xDF(s0xE2|0xA30x13B.0x8F0xABE0x0FW*UOfH0xCF0x8F0xD40xEAE0x0C0x8D0xE30x87W0xEAA0x88>o0x83%"\_"L@0xE650x880x05ju0xB20xC2T-0x1110x8E0xAF,0xEA0x0F0xAA^0xA80x070x88V0xFC'0xEC0x1A0xCE0xEA0xE50xB90xAEk0xE20x110xEA0xDDr0xB50x070xEAr0xB20xEAw0xAA5d0x7F0xC80xA20x040x950xC50xAED0x950xD7!0xD7T0x83M0xA40x8A0x85H0xC70x81Q0xBA0xD99+0xDD0xA9]0xE80xFB0x890xEEle0x1B0xAB0xED0xA8~0xFC0xEDeo0xA1W ]0xD70xC6{\_0x0D0xBB0x080xBD.0xCD0x98}0xAC0x140xAD0xD50x95LO0x0C0x100x8A]0xFA0x880x090xF9x0xD00x89]'0xC80x05,0xBE0xF80xF51pX0xAB0x11.0xBD0xA0m0xF80xAF0x110xFA0xD10x82U0xAEQ0x160x080xCEa0xAAu"0x090x1F0x890x060x08W0xD80xF40xEB0x1B0xCD0xAEWvT0xE80xDDT0xD8T0x0BR0xC3Q0xB80x920xC020x1BT0xBA@0xA90x1F>0xA20x85+0x180xFA0x070x150xBE0xB10x92}0xA6?0x8A0xEBD>0xCA0xA2\_0xA20x150xD2nW0x9B*Q0xB3TP0xA10x950xBCu0x9AU=0xB00xD30x1A0x1D0xD10xBD0xDF0x1FQ>0xD70x0F50xEA0xD70xA2j60xD60x1F0xDC0xA8r0xE6LgV8D0xBA0x8AY0xE20x030x080x142a0xD40x08K0xA90xED0xAA0x11-0xAEL0xDAQ0xAA0xDD:M0x0F0x8A0xFA0x8A0xAFT0xA0E0xE50xBD50x800x01.M0xB20xA10xC50x0C0x950xABCk0x9E0x830xCBn0x8AT0x88p0xAAbYh0xCEU0xC8Q0xA90x12D0xD20x95+HbU[0x82u0x81]0xCA0x060xECZ0x8A0x980xD00x080x810xA80xF4Z0xAA0x890xAA0xB9v0xB40x150xDD'0xB50xD1Y\_0xB50x18{M0xA0P0x820x170x8FRST0xC30x88\_0xAET0x82O0xD60x880x940x8D&G0xAE0xA80x1D0xAEEcq0x800xD9s0xBF0x870xBB0xF6*0x990xA9*>0x98Y0xE4 0xE20x15<j0xD20xCA0xAEM0xA60xF50x1C,0x040xFAu0xA40x0C0xBA,0xA50xC8y0x1E0xC50xA60x910x1D0xB80xBE0xA3e0xA20x15250x930x9E%X0xAA0xF40xB6,K0xD70xD20x17u:U(0xA6Wn\`0x980x9B0xE30x150xF40xFE0xF5iT0xA2e0x830xF00xF27i60x1D0xA3V0xD40xAAW0xFE0xFA0xF70x1FV0x120x9AW0x9Ep0xA80x070x180xA0Ya0xD40xAD,0x0B}0xB5b0xDB0xC30x950xE80xD40xAA0xBCY0xB80xF30x11*0xB4.0x8BU0xACT0x8A0x110xC9P0x1F0xA8}0xF40xEE0x09] 0xAE9J0x940xA8P0x820x17l0xE9B0x9A0xC2W0x99Uvu0xFD0x9C\`0xE30x950x880xAAU0xBF\ 0xD50xAA0x9E0xD10xA090xEAH0xAAU0x9A0x9EU0xB10xD50x99/V 0xB8T0xBAq0xCAg0xAAW]*Wr0xDDc0xD4o0xF5]0x06=0xA8U/0x95u~]0xFB0xA0u0xAAQ&0xFFa0xBB1#0xF7C"U0xB2s1u0xA30x170xB5s0xD3 0xDA#A0x880x8A0xD50xD9 0xD4!\`3#0xE60xD1*0x110xAEd0xEAU0xFD0x8A0x9F;0xAB0xD70xBAU0x890xE2S0xC70xF70xB9Y0x8E0xA50xD50xF2W&0x940xBD0xD50xCD)0xF50x090xF5*0xC50xC90x8E}0xEEaN0xAF0x140xA20xF8=0x160x14)0x150x02T0x170x7FG0xB50x1D0x820x11+0xAEU0x1B0x1E0x020x140xC2EP0xA0W$0xAA0xD50x1AP0x91H0x0C0xF2q0x1A0xE90xA3#W0xAB<0x990x0F0xAA0x85U0xAE0xCB0x8CUoL0x1E0x1E0x08H0xCC0x11j0xD80xAA0xB80xE30xBA0xB50x9DI0xE80x000x9D+0xF90x8AU0x0B0xC40x980x1FA0xC20x1D0xABp X0x0B0x880x020xDC0xC9U0xAF0xC5E0x84G0xE8N0xEDT0xAA0xEBe0xAE10xCAu0xC9oV0xB7T0xAE0xD50xEB\_0xAA+0xB70x1Ez0xC6"0xC20x860xAA0xA60xAAg0xB30xC10xAB0x170xC00x83H0xCE0x950x830xFB0xDB0xA9Qzq!F0x9Ew0xB60xFBT0xAAES0x900xE60xA8T0x020xD40x8E0x020x960xA60x94:0x9Dg]0x9F0xA90xF4.0x1D0xB80x110xC80xAD]0xB8UD0xCB0xEF0xAC0x06e0xED0x950xE80xFC0xEAO0x8D0xBE0xFC90xD8!\_0x8A0xBA0x1E0xDFS0xAB0xB1*Ps0xBF0xD5Sn0xFD0xAC0xDFW0xF50xDD0x9D0x1ERuL~U0x9AI+0x1B3\\`0x88S0xAAu0xAE0xD30xA8k0xACc0xB1W0xA8S0xEA"0xD5pS0xDD0xDF0xE1EK0xCE0xB10xB4T0xD6Q0x0F0x130x14QW0x8AD0xA6Ca U0xDB0xEET0x8Az0xD5V\0xFB0xF4(E0xFB0xE8T0x1C0x110xA0q0xBAS0x180xDA0x120xB80xD50xAAT0xBB0xEA 0x920x7F0xDD0x82T#0x8B'0x8AX0xB10x870xA20x1D=0xA70x870xAF2>0xA0.0xEA0x940xA2g0xEAD0xAA0xD10xE60xA4)0xA2 0xF4*0x8090xE1[0xBA0xE50xA0]u0x81U0xEA0xDD60xFC|0xAE]0xF4\_0xC70xD60xB35U0xBE0xB50xAD\_0xB2p"0x9F0x9E0x8Aq0xC50xCA0xC50xF9"0x940xA3\`b0xDD0xD90x1FE0xB80xC50xADt0xDF0xDDj0xA3l0xA8\0xB0E0xAAL0x950xF80xC50xEA0xA6@0xBF0x050x840x087*0x9E0xAA0xC9x0xBEU0xBBq0x8AK0xACG0x170x020xADBu0x83W0xC80xF60xC70xABC0x12+?0xB6zA80x8080xC10xBA]0x100xA20xB60x89P0x8A0xBE0xFC0xEA0x000xA8H-0x8D0x180x8D0xDF0x8C0x110xAA*0x090xFE0x9F0xD90xA8?0xB3E0x860xD4 0xEBR]0xF10xAA0x8F0x820xD2A0xEFT0xDA]0x07e*0x880xD1/0xDBP0xACT0x08*0xA40x94D0xEEJ0xA80x8Do#\F0x7F0xEAg(0xFE0xC80x900xD50xAE0xC40xAAa0xDD0x800x930xC90xA2[:0xB90x910x8D0x8BT(0x040xDD0xF0T0x89]0xA4T0xA4~t0x830xE92|0x9A]Q0xAE0x14 0x810xBB0x16*!0xBD0x9E0x0EW0xBAT0x820x8AQ0xA40x930x91Eh0x95W0x850xA50x900xDD0xE40x130xAF0x1Ep0xA7E0xC90xD40x0B0x00W0xA1U0x880xAB$0xAA0xD5{0xEC0xFC0xBC0xF60xC60xE40xE70xAB0xEC0xE00x86n0xC60xA6WG0xEA0x9C0xEA0xC30xAA0xF50xAE0xAB0x840xBDnM0xFA0xC40x8AVa0x080xC30xEB0x1C0x08AG0xBBD0xCB1*0x900x0280x160x9A0x920xD00x910xEA0x15y0xBCx0x92>0x1C0xACe}0xE40x040xBD0x06.0x060x00.0xC5"0x10*1.0x11R0xA8VX0x170x820xD60xBA0xA20xC00xF2D0xB5 =0x840xAC]0x8E0x04LG0xF8w0xC40xB90xDE*U0xBAE;-0xFA0xA2u0xCE0x100xA60x110xFF0x9AW0x030x8E0x17"U!0xACL0xD1-0xE5NY0xAAD0x920x050x800xE10x010xAB@0x990xD60xA80x140x110xAC0xF5F0xC50xE00xF90xCA0xFAE0xA80x81QoU0xEE0xA3E0xE20xD70xF20x16/0xD60xF10xE9F0x9F0xB40x1E0x090x830xBA0x15(0x13 a0xAASG0xA71+0x8Bs0xE8U50xA10xD90xABL0xA20xCE0xBA0xBEv0xBAU0xA80xC70xA830x1F0xAF0xD2"C0xA80xD40xA2+0xFD0xCA0xA6i0x9Aq0x8A0xAE0x18z0x940xA20xC1j0x9D;0x99}0xAB0x970xAB\`0xBE0xAA0x170xCC>0xAA0xE50xB20xDD0xCC0xBE0xF5;0xBEU0xA30xD059%0xCAe0xACD0x1F0xA9v0x05]0xC9Z0x870xB90x850x1A0x150xFBQ0xA20x110xA60x090xD20x9A0xE50xD50xB20xC50xA10xA1W0xC50xF70xD0:0x8AWYn0xD70xFF0xD0n0xDCn0xD8G0xAEd0x0E]0xCBX]0x8F0xE60xE80xAEW?0xA55k0xC40xAE0x1Bu0xBAW0xD3/0x1A#0xD50x8Et0xEE0xCA0x850xA20xE70x13^0xFD]S0x0E0xCD0x1E0xDB0xB30xD90x8B[y0xEB0x0DD0xEEu(0xBAZ0xBD\`0xAA0xCC0xC00x010xCE0xEA0xC70xAB).0xD4 0xB00x9An0x1F0x1AS0xEAW{0x82L0xAD*D0xAAU~0xA6\0xBC0xD4+@0xAE0xF67>0x1B0xFE0xDDc'0x170xBAs0xA8w0xBAu0x88V0x7F#\]0xA80xD10xA8>0xF40xA20x143F0xAD0x02} 0xF40x141c~'0xB8'0xCCe0xEB
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
T0x084Y0x980x150xF80xEBE0xCB0x85g0x87B0x9Eg0x8A0x880xFCd0x070xAA0x9D0xA20x090xEA0xC5R0x8A0x050xE30xC3*A0x8B0xC70x950xE30xADP0x8CE0xAD0xB1E0x0B0x85$R0x0B90xD50x860x070xB9f0xC00x1E0xBB.T~0xF70xA0U0xAB0x15e0x05[0xBEk0xD1(0xF5]0xAAE0x140xAB0x880x07I0xB20xD80xD9.W0xEBS0xAB50xB80xD9W0xF80x040xB8]0xA30x110xAA0xEE0xFD0xAC0x980xD50xA90x13b0xEA]0x8AF0x08E0xEAQ0x150xACH0x060x110x940xC10xE00xD9D0x060x9C0xEA0x1C0x09]\_.U0xBCz50xB9T{0x170xDC0x16V0xA20x840xA70x0Fp0xAC0xB7:0x830xA20xBD=0xAA0xD00xCAw0x0B0xF70xBB0x1F0x1B0xAA0xB5Q0xE7T0xCE0xC35!0xD40x830x150x9C0x050xE10xA80x190xE60x87I\0x8A0xBAI0xA30xC50xA6L(t0xD60xCEQ0xA60x800xD50xAA0x140xD50xACQ\T0xEB0x1FJ0xE1o0x97L0x84o0xAESWo-0xB1a0xA8]0xCA0xADD0xE90xC1U0x810xCA:i0xB00xF86#Kjsu0xBE0x7F0xABCn[0x1B0xAE0x15<!0x8BS.U80x1E}0xAF0xCA0x170xAE0xD50xDE:N0xE6U5jq*E0xECc0x19+T0x9C0xE8n.-D0xA4m0x8C0xF72i0x0F0xF0r,0x140xA30xF70x8A*0x17n0xDBxU0xAA0x01GDi0xE90xE60xB70xAA0x14t(0x930x02DrQ*0xFFV0x9320xA4wc5]%?0xA8X0x88E0xCE0x1A0x11(0xC0H0xAAT0xA00x8A0xD00xF00x040xAF0xD830x150x8D0xA80xD10x14%0xC8U#n\0xBD50xBE0x960xBBVw0xE4}0xA70xA20xE50xEAu0xE10xA0a0xA8U0xB6E0xA30xC90xB5k70x8Du0xE10xF2U$0xCCJ{0xBA\0xAA0x1D0x150xEC0x920x150xCA0xD30xABpu0xF60x10#q]0x0950xEB0xD58W0xA2W0x8B0xB30xDD0x00\`0xCA0xBF0xF2]0xDD0xFE0xD10xEA0x98U0xB30x070x1D0xCB0x850xBF0xB00x860xC60xAA0xA40x940xA60x990xB80xC60xAAfP0x030x0D\`x0xAAE jUR0xF40xD90xA9W0xA20xCD0xA80xC70xD10xCBd0x94K0xCAA0xE80xABU+0xD0\_0xEA0x810xA30xAEl0x80W0x830x15nRm0xAAu:G0xAE~0xB20xD50xC2{0x190x19f0xC50x11UjW)0xE2U0xCB0xD3d0xAC0xD50xFAs0xF0$0xA2g0xD40x020x01jU0xA3O\0x8As0xFAQ0xBF0xD70xAE0x980x96*~\_0xE9e20xAF0x020xE9S(h0xAA"0xF50xCA0xBDRQ0xAE0xBB0x8A0x04V0xBAU0x880x870x8F0x190x050xBE0x05+0x8B0xD50xAEu0xD90xAD0xDD0x7FI0x01(0xFA0x9A0x070xAA{0x9210xB4d0x110x9A0x190xA2ejS0xAA0xA0XjQ0xB20x0F0xC70xBA0xEA0x15k0xD40x82W0xA2WA70xD2^0xD30xD0UK0xF60xD10xB70x150xAAO0xB10xDD'KU0x9E0xB8Y0x8BuT0xA90x0F0xA0W*[*!I0x99}y/0x1D0xDDbW0x0CE0xFF0x910xAA0xAB}0x92]y0xB6V0xBA0xBA0x04*0xFE0xA2]0x8E!0x960x020x80>0x150xAE0x160xA30xC8E0x9F90x8C0x040x8BUt0xA60x9F0xFF0xB1UnT0xD50xDA0x7F0x1CT0xA1}0x960xE80x950xEAO0xEA0xE50x8D]q#O0xBA0xC20xBAG0xA90xEA0x130x070x91s0x8A0x040xBA0xAA0x980x800xC20xA61.D0xC70x8BE0x86"0xA0s,0xAB0xC40xB8L0xA2U0x82Q0xF20x9F0xD10xA70xB30x050x86GU0xF90xF40xA60xD50x040xF10xBE0xD4}0xEA0xD70xCA0xC10xE9X0xC70xE2S(u 0x150xE6#t0x1Fe0xC50xAEU0xAA0xA00xBD0x910xCB0xB00xDC0xE700x970xBE0xFD0xEA0xF4k0x9520xEBy0xAA}*T0xAA10x0F0xBE~0xEA2t0x0E0xD5v"0x1F0xA2]0xA20xD00xAE3&0xBF0xC4z0xB70x98w[$E0xF3M0xE80x010xA100xAE0xAAC0xE20xDC0x010x00+0x8C0xD00xAE0x17*0x150xA0A.\`0xB6FmejU*0xE8vAR0xA30x050xBE$0x910xAE0xE3 c/0x9C*bQ0xACB0x8C5z0x150x050xAF0xCC;0xEA0xD30xAA0x07\`0x830xF50xA40xE8"V0x110xAAU0xAB50x88W0xB20x1F0x95*0xD5*0x950xEB0xFD0xC20xBFz0xF30xC50x110xFB^0x8B0x8A-;0x9C0x080x05k0x00\0xAA0x7F0xBA0x190x01[0x8A0x8BAf0x07*0xCD0x8A0x05+0xC80x1C0x0B0xA2E0xCCW0xD4\`0x8DK0xDD 60xAB0xAC!.0xC30xAD<0x07S0xAD0x03E~A*0xD50x1E0xAA\_0xDD^0xF10x8C0xC5"0xA9&0xEA0x7F0xC9u0xBA0xD70xE10xAAZ,0x0B;0x1D0xDA0xCBA0x1EX0xEAAH0x84Kb]0xC20xBF[0x8AV0xF70xAF0x13"0x1D0xAF0x1E0xA90xA50x030xF20xA60xC40xF910xEC0x140xAA}0xBA00xC90xAA0xC0y0xFC0x130xCA0xABm:U0xAAYD0x1B0x110xEF}zo0xC1S0x0C3@0xFA!0x0EU0xE6!0x170x84x/*W0xB8=W0xDEe0xAB0xA20xDC0xC90xAA0xC2\0xAA?0x020xD40xB80x110x030x0CI0x090x04)0xD50xEE0xABuJu0xC10xA8]0xEE0xA0g]T0x820xF5tTTe\0xAA0x110xEBT0x1A0xFB0x150xC80x190x83E0xC8/0x99KE0xBB0x8AW*U5NN0xBB0x140x8EV0xAD0x84\0x0E0xDD0x8Dwx0x0F0x05"0xF50x9B0xC60xA6Q0xB70xAEd0xB20x97U0x8A0x150xAB0xAC0xC90x90g0xA30x150x88\_$0x900xD40xABG0xA3T0xBE&0xE40x060x060xACd"T0xE4lF0x8D0xA6E0xA60x140xC50xA70xF70x920xD40xECG:0xA60xDC0xAET0xFAM0x0F0x0CWm!0xA80x170xAC\0xC2D0xB90xA60xD3c0x180x08l0xEA0x1B30xA80x100x02]0xA50x1300x8B0xB50x86Vu0xE80x120xAF0xCCE0x0F70xA2@ E0xDB0xC20xD7eP0x0Ct0x880xA7!0xAB0x950xE8u0x8B0x100xB5+0xB50x880xEB0xF50x8A0xE8y30xD60xABH0xA8U"0xF8470xB70xDAU0xEAsY0x870xF50xEAU0xF00xD90xFB;T0xFD\_Q0x8B|!0x080x1D0xAAuj0x190xA9]0x110x1AK0xBAj85X0xCEU-0xE4 T0xDA^EHR0xAA0x8A0x15(U0x050x0Bs0xABw0xBB50xA60xA10x9F;w0x97Y,0xE30x070xF90x9C0x83Q0xA440xAA =,0x83q0xAAW0xE60xF80x1D0xF30xD50xA640xAFV0xD70xAB0xD50xF65"o0xF70xB00xE9MU0xB8U0x8A10xFA0xAD0xE5 0xA24:0xD50xD70xBCX0xBA0xE6l0xC00xC80xCE=l00x17"|0xC70x070xC1n0xC0(E(mj=0x9Amb0xAF\V0xAAH0x860xCEB0xEA[&e0xAAzl*0xED0xEB0x010xA2]0xBE0xC10x040xCA0xD70xA00x150xAAA0x110xB00xCB0x9F0x88Ub0xF5E0x80E0xBB0xCA0xA20xDE30xE20xE40xAA0x150xCEW0x9BW0x1Ec0xDF0xACU(e0xA80xFE0xDC0xE8L0x100x89W0xA80x8D0x810x0F0x910xF6\0xF2E]0xA970x9D0x96*0x99j0xA6>iMnU0x820xC6l0xAF0xE90xA80xBB0xF5"0xD90x030xAA0x9D0xE90x050x960x150x9A0xAE0x89;Y\`0xD6&w0xC30x020x170xAAI0xEA\`0xAA0x0BC0xE20xA0u0xBE0x110x880x9E0xE20xAA]<W0xBE0xE4T0xAE0xEE0xE80xB6C0x15'.0xC5\`0x050x8A0x1D0x1A4=/U$0xFBU0x88Qg0xC00x1C0xBA0x050x930x970xA50xEF0xC20xAF0xA50x020xD10x91 0x1C0xAC0x1E0x0E*0x990xA00xD5*0x140xAD0x0Cf0xB8E]0x8A0xFC0x9A0x9E0x810xAE0x010xAA0x110xBB0xBC0xFC0xAB0xBD0xEC0x7F0xAC0x120xB4.d0x930xFD0x1A^f0x017:0xC50x880xEB0x10"fm0xA2Q0xA60x070xA630xA20x8E0xAE0xEF0x1B0xBA0xD10xA60x05m0x800x150x8AU*0xE10xBF0xBC0x05@0x1F0x7F0xA8^0x02-r0xC80x970xFEE0x8E0xCDuj0xC50xEFW0xEBX0xB00x1E0xF1 0x150xEAL0x0B0x15/0xE9W0xE70x8B0xE50xCA0xD00x0D0x9E\`0xD20xD40xCDQe0x87]+0x990xF2%0x99gX"0xD50xAF]:E0x8A;P0xD90xCCT0xB80x8Co0x8AP0x01W0xA2G*S0xFC0xAEM^0xD50x0450xBA0x8A0xC40xA4Q0x08$0xAF]0x08.U^0xF0w0xE2\qg0xF50xED2 0xBDz0xBAO0xEAp"W+u0xC00xA40xE40xA8U0xAET0xAAS0x0CP 0x8APU0x0FA0x9F0xAB0xD30xC80xDD0xCB0x110xDA0xF70x030xB9=0xEA0x010x0F0x910xBA0x820x8B0xAB0x010xA90x060xBA0xC40x950xAAv0xEE0xA9Q0xE20x85[0xE9W0xB80xE6*C0xDC0xAA]0xD30xDCn[ 0xD6U0xF9t0xAAP0xAA0xC7K0x92T*S40xAAu0xA6(0x8D.T0x0BD0xE9u0x1F0x8Dm0xFC0x150xF4o0xF0SM0xFBQ0x1D0xD40xB2SU0xEBsj0x820x130xEA.V0x920xEE0xAAW0x8F0xF00xD20xE20x930xAC0xED0xBF0xC70xDAv0xFD0x890xD20xCE0x91jt0xAC0xD80x0D0xEEMe0xE1U0x020xA80xC40x9F0x160xE40xA40xEB0x140xDC0xEC\_.0xC30x880xD70x8D10x120x920xDDa1&0x15}0xAAq0x860xB25#C0x130x000x150xFB0x1C0xAB\n0x0F0x050x8Da0x8AR0xD2G0xE2J0xD30xB10xD30xAAU;70xE1G0xADe0xEA0xEA0x0D0xEFd50xEE{*.0xC4Ku0xA20x810x8A0xD4P0xA8B80xE0+n0xC30x8A].0xC7*l0x1A0xF40x0Fn0x19zpU0xBB0xB70x150xCE0xDC0xAE0xBF0x020x880x890xBBg0x9A0x1C0x8Du0x88)0x050xAA0x8910x1C0xA20x9D0x1A0x1C0xCF0xA9U0x1C0xA2A0xCA GbF0xA60x130xFA[0x02#0xF20xB2w*S0xDB0xB60x960xE6C+d0xFBC0x130xACW0xBA0xBB\0xA6w0xEF0xED0x840xAAW0xA890xF6n0xF40xA8w0x1A0xD50x1AT0x060xE8Q0xA2t0xAC0xDF0x8F0xB4i^0xC550xA6u0xAE\`s0x09u0xCB0x01.0x1Fgc>0xFAU0x0B0x15G!0x0C0x8A0xCE0xA8g Qq0x960xD30xD80x86}0xCB0x110x11?S0xA7T0xBE0x04;0xB30x1Ezu0xFAT0x04w0xBF8]R]0xBEdj
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
0x1CRt 00xEF0x8C0x010x98e0xC5/Q0x870x8F] 0xC50xA9D0xBB0xF50x810x08^0xE6;.0xFC0xFB0xAA0x0C0xDAp0x8FE0xAA0xDDv0xCE0x110xE80xEE0x1F0xCE9H,0x140xFA0x06j0x070xAA.l0x8F0xFD0xF8O0x870x11|0xAE0x9F0x82V0x98Qz0xF60xFE O0xF4(\'+0x090x9EcIX(0x12I0xA80xFC{uj~0xC2@m0xFBG0xE20xC5.0x19t0xAC0xBF0x82jc0x9A0x1D}0xAE0xD70x0C0xD50x1AT0xEE0x05^770xEB0x950xEAus0x06R 0xD50x810xDC0x980xEAE0x960xD20xD50xA80xD50xAA/0x910x8EW0xFA0x9530xC880xA80x150xEA0xB30xDEU0xCB0xE30x0E0xCE0x850x9AT0xEA]~0x8Fw0xE20xAFu0xFAW0x020xAEP0xA2w0x7Fs0xAA0x0DvJ0xA40xAB]iU0x0C0x02q0x870xD40xBESk0x8A0xC8EH0x1B0xCC0xE80x190x9B0x8D0xB00x14>0x8Ea0x930x15F0xEB0xC5j*0x030xC8>0xBC!0x080xC50x110xADT0xADx0xA80x180x05*e8G&u0x02qd0xB20x1430xDA0xC30xAEM0xDE0x86zMH"0xD80x13H0xF6:UJ0xA10xAC0x1B\_0xE9m0xAB0x11h]0xA60xABmj0x930xC80xEB0xC5j0xA2q0x92@z40xBA%0xD70xA00x970V0xB2P0xB10x960xB10xA80x150x8C!*1V0xE0}0xB00xB8U0xB90x120xC80xA40x190x9A0xC50xAC0x1D0xD30x8B0xAD0x0F0xD30xBF=0x88Au0x1C0x03iTJ0x980xAE0xFAA0x00m0xD40xBBE0xB2"0xD16&+0xF50xA2}K0x8Btj0xBC0xF9d0xA30xDCYlw0xC20xD50xC10xD50xD10xB30xD50xABc0xB60xE0Up0xAEP0xBAw@m0xBA0xE20xE60xE860x86e{0x150x160xA0E0xAAY0xA80xD60xA0\_0xAA0xDC0xFD0x890xBC0xBEe0xAAa0xDE0xAF+0x8C0xDFz0xC6"0x010x7F0x8A%0x8C0xACd0xA20x0DL0xAE0xC70x0B\_i0xB30xB80xEFe0xABy0x1At0xB90xC00x140xB2p0xC00xBDJa0xA30xACW0xE8P}0xD7V0x8A0xAC0xD40xA2Y0x84W6=0xD5Z0xBD,L0xCE6+ G0xBE0xF60xB8H0x890xC50xDC80xD50xF20xE2]0xC0WU0x900xF50xC4S0x0E0x11Y0xEF0xDC0xB3T0xC30xCF0x98T@0x0F0x010xAAg0xFA$0xAA:\_*]X0xE6E0xEA 78S0xB20xF7 M0xC50xB7E0xA2~0x8A0x110xCF*0x9E@0x190xCA0xE30xA05I0x8Ee90xABO0x820xDD0x0B+w0xF80x950x8AC(0x8B0x1A0xCF0xF00xA6M0xA2P0x060xDE0x1D0x92V0xAAQ0xEArO0xBC0xDA0xD60x09E)0xCAQ0xE50x110x07E<:0x06=0x04u0x9Bu0x90]0xD70xBAU0xBC]0xC38~=C*v,u0xAB0x155c)0x12.T0xE8]0x150xA8T0xEA0x040xAC0x150xAF0x180xB00xAA0xDF.=.0xCDW0xBF5SU0xBAQ0xA2*0xD22W\0x18T0xBAxu0xB20x1F0x00U0xCF0x93T0xB1S*0xB90x9BE0x9B0xB80xD70xAC0xB90x0CD0xEBp0xFD0xD70xCD*0xAAG0xF2V]0xAAr0x10p0xD2o ?0xDD0xAA0x050xEC0xD50x8FF0x040xCCE0xCC0x050xE20x910xEA?0xD80xCAm0x150xCE]0xEA:0xE70x99ybZG0x1140xC3Y"@0xA3u+0xA0u:0x070x8BfB0x0E0xC10x12]0x0E0x88A0xAAU0xC90xB80xD00x98ac:0xC8)1zh i0xAB0xD5R0xADU0xA8E0xBAU0xEE*U0xDF0xE70xD50xA80x150xAF0xAB0x100x800xBD0xAAD0xC7"0xBE0xC40xA30x100xAAF0xA30xE1t0xC6W0xAAl0xA40x950xAA0x0C0x150xAC0xD70xA80xDC0xE40x15D0xF8T0xC6&0xD40xEA0x1F50xB6Rk0xED0xD2QN0xA2V0xF40xCD0xEEEsGt0xEFS0xABW"E,c0x050xA20x0D=0xE20x1F0xCA0xA8f0x1B0xE70xA8T0xD6[0xAD0x84U0xEE0x7FxS0x1A0x8E0xF00xC1\0x1A0x85g0xDC0x070xABq0xECbT0xCB0x150xD5K0xD1.]0xAA0x16.0xB9{0xEAF0xFF 0xCAVC0x880x170xA80x190xABU0xC90x0B0xD48EW0x980xC40x9E+R0x05Lxy0x90wY*0x110x0Fd0xE20xD40xEE0xEE0xC30xA1]*Q0xAA]\0xEBE\_0x8Ea0x9Bw0x8Db0x970xAFU0x0B0xC70xA80xFFV0x8F70xC7k0x8250xC5+'j0x1D0xAAS0xAA0x120x150xEF0xF80x170x820xF10x8A0x820x05*T&q0x9A0x0F0xA20xAC[0xAB(U0xBC0xD20xCC0x17\0x9A]0xB20NPV8^(0xD30xA80xF40x8AKP.i0xA0V0xA90xA1C0xE890xAB0xBB0xF0+0x940x14;i0xA30xC10xEB0x9D+0xA40xF90xE6Q#mp0x17!cU0xF2uk0x9F0xA20x0Fg0xAF^q0xCBZ0xEA0xCBE0xAA0xAD0xE3\_0xE050xC60xE20xD30xE80xF5ie/0xA20x910xA3u0x88Y0x00oT0xB20x050xAD0xA8A0xE8U0x88K<0x840xC50x870xF40xAA0xADG0x0CF0x9B0xC20xBEQ0xD10xA260xD10xD5bv0xBA0xFD0xD20xAA0x100x140xAAw0xE30x9A0x8130xC40xBE00xBC0x910x1A0xA80xF50x84W0xBA0x1D0xD10x8F0xEA0x0C0xD50x880xCF0x9Aq0xDD0xEA0x910xBD0xBA0x140xAB0xD5=?G0xA2U0xA6U)+0xD7f0x050x960xE7i0xDC0x160xA3<0x09U+U0xA80x9A0x110xBC0xFA0xBA<0xBB90xEF0xC50xEA0xF6W0xA80xDF*w'0x010x8A0xA5W20xFE>G60xF8%0xE7V0xFA#0xC50xA8i10xAA0x830xAA0x890xBES0xA60x88x0x1At0xCA0xAD0x830xD50xDD0xA9d0xB2Y0xEFd0xA00xC7u0xF00x11W0xEF0xE7>0xF6WJQj0xE50x9E0x11T0xCF^0x980x89jT0xE80x980x120xB00xC5,t0xB30xD5Q0xB80xF80xAF0x9680xAAUv0xA2v0xD9V"0xE10xBA?0xD60xE20xBB0xE80x930xE8s0xE10xA3p0x1AU0x0010xEFb0x940x98R0x9D0xB94\`0xDF0x13(Q$0xD10xE90x0DW0xE9X0x91u0x890xF3.<0xC9#0x180xE9g0x92@0xF50xA3W0xA00x8Aq0x9EU0xF50xFA0xDC0x0E0xCA0x9050xEE0xAA0x90&0x7F0xEB0xD10xBDl0xD30x93C0xEAW0xAA0xDD0x9AR0x110xCA0xC80x870xB2s(0xF80x910xA9}0xE90xBE0xE20xAB0xF60xBAQT0xD10xD9%0x8D0x100x8AA0xAA0x150xFB0xD40xAF0x1AY0xE20xEF0x18a0xEA0xAA4n0xC10xC9q0xCEu0x910xAD}0xE1p0xD00xEA0xD5T0xAEP0xAA&0xA90x07 0x84-0x1A0xD70xA60xA50x8B0x050xD70xA81K0xD10xE8\0xA00x92 30x88A0xF40x970x9A T0xEA0xD60x020x06.0xC10x104e0xBA0x850x0EK0x800xABD0xE90x040xAAU0xEBE0xF50x80Q0xAC0x8Aq40xFD0x01*t0xA1U0x9Ex0x0D0xF80x7F>0x150x8A0x9E0xB80x0C0x1E600xA0S0x88T0xBA0xBE0x1C!0xE50xD40xF2e0x800xE90x8E0xABE0xA5R0x1AQ0x010xEASIe0xEB>0xC90xB7V0xAA')p*0x1850xAE]0xAB0xAA0x150xAAf0xD6 s0xFAM*0xF50xC20xE0H0xA60xC20x8B=0xEAA\_0x8B0xC90xA6W0x8A0x150xFE0xD30x9D0xAFt0x1A0x890xB2<*0xA00xD60xF5y0x11G0x9D0xD55f0xBE0xB80xF00x880xBA0x91*Uz0xDD0x160xE3A0xD4V*0x030x8A0xBE0xCCT0x00g 0x9C0x000xEB0xAB0xA40xA90x867?YGY0xA5%0x00*0xABA0x880xAF"0xAA0xEA0xC7X@\fc0xA60x150x870xE20xAB0xAC0xAD0x870xBA0xA25G0xFBW-0x070x160x150xAE0x0F0x930xAA0xAA0xA0d0xDA 0xC40xC50xCE0x990x8B0xB80xA60xD5MQr0xD76e0xA10xC22!:0xB60xBA0x860xA8tYV0xF5}-T[ik:v0xEC0xACx0xCA0xD1\x0x0D@0x16i0x150x000xF60xFA*h0x9Bf0xB70xDD0xDBw0xD3U0xD9E0x910xDE0x8B0xA70xBC0x110x07%0x850xD70x070xAF10x1C 0xEA30x14G0xD70x11T0xBE0xC5cX0xEA0xA70xE20xB960xA10x81Pt0x03B0xCF0x190x91A0x9A0xF8cU}]0xF4YL[x0xC9b0xFA0xEA0xDB&"0xA80xD50xB9e0xF0F5CP0x8C0xBE#0x91A0x14Up0xBBn-z0xD50x8F0x8A0xFB0x950x0D0xCDf0x150xCFiS*0x8A90xDB(o&0x0Etw0x99Zeb0x000x00*B0xBB0xAE0x8B2)$Ev0x19wO[at0xFE0xA30xE60x010x000x870xCE+0x9D0xD5WA:0xA20xAA0x1A0x190xD7[0x100x010x82S0x840xF20xB3.0x970x8E0xCA{0x82g0x01W0x970xCC0x15W\_'0x8F0xBB0x8F0xAE0xA80xFE{0x93$~0xF00x13T\_H0xB20xB620xAA0xAA(0xBA0xCBv-0x11U0x0D0xB90x070x810xAE0xB80xCE0x81W7A0x1En0xEC0xA30xD90xAA0xBA0x880xAC0x060x950xD8]0x91!0xAD0xBC0x800x130xAF0xEA0x860xA70x130x880x900x950x810x990xC70x070x110x970xEA0x970xB80xB20x820xA80x000xBC,0xBBqpd0xE50xB20x14e0x97j0xB40xEE0xA20xA60x9B"0xABg0x9F0x090xCC0xE50x18U0xD50xE60x8A0xBF0x880x09!Y%0xB80x000xFB!0xA8:0xAE0xC10xB50x0D0x85q0xF90x15B0x050xE80xA30x930x160xA80x030xCA0xA2|0x11=L0x880x810x850xB10x8B0xAB0x8F0xA20xAA/J0xEA(0x0DWb0x98e0xC90xC70x820xA30xAB0xE50x0F 0x8A/0x870x9D30xA50x8A0xB60xF2B^0xFE0xE7HW0xC2w0x06L0xE20xAF,30x88&0xE7c\0xC2UJ0x990x10~Hj0xAA0x1E0xEA0xB9:0xBAU0xD5w0x1350xA40xD10x9E0xA30xF730xBE;0xA80x930xFA'0xF00x0F]0x04Q]%0x0E0x900x8B0xFC0xC5@pA0x130x1E0xAB0xA3l0x820xED0xAAA0x160xDD0xEAe0xD40xD510xB90xCE0xBD0xAF0xE20x8B0xE90x8A0x11\u0x95gUE0x130xC380xAB t0x1C0x16Q0x180x0F0xC70xD10xE8+0x8F0xF80xA80x8F0xE90xB80xDEa0x09,wU0xE5U0x9E/0xC80x860xD70x1D0xE0@0xFF0x98b0x080x8C\`f0x09eTFI0xD70xE0m0xF10xF20xEAn0xE90xAA0xEC0xDA0x15|0xE4D0x150x9F0xD60xF0U.0xEE0xF10xDE0x9E0xA80x920xE20x190xCDU0xD60x03du0xC10xAE0xE6/0x8A0xE7l0xA30xE60xF5u/G 0xAB:0xAB0x140x1560x8F0xD80x110x14t0xBA0x000x12.0xC20x17K0xE80x820xD70x09Q0x1BU]Y0xAA0xF30x0B@
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
0x1B-W0xB80x1B"U0xE8q0x91o}0x1A*F0xECo0xFA+0xAA0x070xA40xF5R0x15U0xA30x95 0xB40xA20xE80x12V\0x940x180x9E0xBE0xA00x910x9E0xAA0xB2U0x97<u0x91T0xDA\_0xA9.0x9A\_0x830xE20x9B0x020xD1RUDEu0xD50x0D0xEB{0xA60xAE+0xE81 0xDE:0xCA0xEA0x08(0xC25Ak0xB70xF5T\0xA6i0xC2(0xAA0xF2"0xD80xE1Q0x19lY0xD5]0xF40xA30xB90xBD<0x050x9F6T*0xEA0xB2(0xA20x9A0xEAr"ztB\`0xD3]0xB10x0E0xBA0xA90xA70x8B+=0xE00x170x810xBD0xD5W40xF50xD7rp0xF90xBF0xEA;0x8A0xB4r0x15D]@0xE5Ks.0xBC0x890xBA0xAA0xD70xAA0xEAD0xF50x010xED0xAA0xCA0xFA 0xA6C^B0x9BQ0xF50xC40xAAb0xE60xB00xCA0xD0O0x98P0xD80x060x130xDDW~0xD10xCAz0xA40x820xEB0xBB0x9E0xE10x160x1C0x0Dl'UP0xF9" 0x8B0xEAC0x830x800xE8@0x150x15eQGuU0x08+0xF790x110x97p\0xF80x93>>0x900xB00xFA0xEE0x950x11}v0xD5!0xF10xCD0xFD.0xA10xEF0xBB0x0E0xAB0x8A]F0xA50xC50x130xCF0x150x030x990x040f0xA90x8E0x0E0x820x9A(30xA2\_0x94CT0xFDW0x16L0xBE0xC8*lE0x1DE0xD20x8D0x89@0x820xE2"0xE90x0F0xC90x85fu0x194U0xDD0xAA20x1A0xFC0xABn0x9880x05V0x10]0xFAm0xB40x050xAE0xFB0xAB0xAF0xEB0xA70xBE0x08i0x130xD30xD50xE60x960xD00xE50xC70xFA0x920xA20x020xA6;0xB10xD30xC3Y0x930xAB0xBB0x8A0xE9w10x8Fqg0x980xAFT#0xB90xAF0xBA0xCE20xEB0xE00xFD0xF70xE70x7FD0x9D7u0xE40xEE#>*0xAA/0xF80x9ES0xA5t0xC40xDDA0x180x8A0x080x83j0x860xB9j0x000x140xF40xC7@wWE=;0xAD0xA20x1B0x7FU0xC3T0xAF?0xA20xFE0x8C{0xB60x08DWGTHe0x1DWMn0x88 0x9E0xA00x8E'0x1D0xE00x9E70x130x8D0xCDu#(0x8A\`0xC20xBC0x880xAEM0x0D0x1D0x18z0x880xB50xE00x000x8F0xAA0xE30x10eZ0x810x1D0x11Q0xAA0xAA#^0x170xC4m0x140xBB0xA30xB0<0xFB0x9Ex0xAF0xDD150xDDq0xC70xD570xEA0x99X0xAF0xA20xFB:0x1B0xC0U0x1DQW0xB0Y0xD10x07+0xBF0xAA60xE00xAF0xC60x960xF50xBDRU0x910x170xC00x8B!0xBC0x8A0xA00xE40xA6Y0x110x15Ss0xAC0xAAJ0xBA0x850x13\;e0xA50xF50xD60xED0x060xF5 0xFC0xA70xE22}E0xD6}0xC1$]Qi#0xD20xC90xA80xB60xC80xC10xD1F0xDFE0xC50xA10xF70x1C0xA20x0E0xCB0x9E0xE30xAA0xEA:0xC5m0xC550x1CU0x150x11;0xB80xA610x15E{U#(0xE3L0xF10x9A>0x98U0x1C}0x150xD40x10w0x150xD8(0xAA0x970xA9%0x820xE6] 0x140xA60x81&0xF60x850xB10x860x8Ad0xA20xA20x880xE80x970xC6Y|0x040xA70x820x9BQw0xD10xF60x050x050xD50xAA'0xB40xE00x1EE0xD8T0xCD0x0E0xDC0x18<B0xE80x8AE0x030xDC0x130xF0]0xC5Pz0xA90xE30xE20xAE0x0B0xAE0x92y\_0xF50x92R0x130xE5C0xA30x0B0xEF#0xEA/'0xAEuMo0x06y0x16FFx0xBA0xE60xCF.0xBA0xAA0xE9Y0x19Ve0xA80xB20xF2"^0xD4s0x940x81P0x170x110xFA0xEC*0x900x820x8A0x0E0x050x840xE60xFFWqY0x04u0xA20xA8*0xC20xA5X0xA20xA40xC5t0xE240xF10xF50x1Ca00xE60x9A*0xF3h,0xAA0xDE0xCEGds0xE70xD7%0xEA0xC6f0x900x91QX0x000xA8( 0xAE0xCB0xCA0xB40xB00xD9aO0xB9Yb0xB60xF40xCF,0xA2*$0x020xAA0xBA0x95tg0x99T0x0C0xDF0x1Al0xBE0x8230xA830x9F0x890xE4}0x9Fu0xE1]E]0xC90xAA&0x9A0xB20xAB0xF00x8F0x08J0x800xC30xAE0xEBU0x170x1C0x19@0xFD0x11]0xEA0xDB;0x9Ey0xEE0xE20xBA}0xDF0x090x91d0xF4v}0xA20x820xFF0xBB0x960xEA0x830xBC0x18$0xD30xB50xC4eG0xB70x0E0xE80x8BS0xCA0x8E0x890xB5^0x0C0x89U>0xAB0xBA0x060x1FV0xF30x14)S]0x8C0x02b0xAA0xDA0xA90xDA0x0E0x8C0xAF0xD0\_0x140xDF0xDDM<0x810xA20x080x0E0x1B0xF80x1A0x80P0xF9W0x170xDDE0x150x060xB80xB80x0C0xAE0xCA0x8B<0xA4[w0xB70xB50xD5/0x050xC70xC00xA20x870xADU0x1CE0x010x970xBA0x180x8B0xF3+0x0E0xF6Q0xB00x1D0xDF6t0x910xD40x00h80xFA0xEF0xA890xAB0xD5d0x0D]UxrU0xE50xA20xB30x930xFB0x0D0x800xBBy0x1DAwA0xC50xF5ga0xCC0xCA0x130xBA0x820xA10xA8h0xC50xDDW 0xAA0xBC0xAAEU0xFE0xE50xC0PP0xC20x1EO0x1CY0x880x8A0xAEa0xDE0xF80x940x9C0xFA0x970x950x140xD60xFC0x130x8C=0xFB0x9B(&0x8E0xAA0x920xF20xC7i0x80S0x0C0xF80x8D0xF40xAE0xCA0xAA0xB00xE00xBB0xDA0xEE0xC4U0xC10xED0xD10xFD0xDBW0xAD]0x8A/0xA2/0xB70xD60xFD0x15Tw0xED.0xA20xA80xD9U0xA10xA50xF5q0xD40x950xF90xBB0x920xA60xDC0xEB0xA00x83l^0x100x0D0xDC0xD60xFCm0x880xF80xB20xA90x8A0xCA0xBE0xA1TSW0xF50x95Q0x88u0xC00x1B0x9A0xB90xD00xD0H/0x01\{u^UPU0xAESA90x13Q0x01U0x8A0x990xEA:0x8CP0xBC0x060x95T@TT0x99v0x150xBE0xA30xC50xAB*0xB30x030xB4v0x85W0xF2~0xB5Qw0xB60x880xB50x9Aj0x050xCF0xFA0xA55w0xC4D0x130x17uJ0x0C0x170xA3(0xB00xA3"D\W0x13;0xAB0xE80xAA0x17}0xD4Ejk0xC20xE8=0x9C0x940x110xFB0xBAm0xA60xBA0xC20x980xBA0xE5P]0xC70x95W0xC50xD00xBB~0xB0H0xAF+c0xCA]tE0xD1W0xF1u0xD20x8A0xAA0xB00x08j0xEB0xB1o0xC1K0xD3-Eg0x970x0D0xEFg0xFE0x1D0x840xCAJ0xBC0x170xC4L0xDD0xEB0xE60xE80x8A]O0xC00xA50x94}0x060xB5<0xF80xA20xBC00xAE*0xB4e0xC9JU0xC5A0x0B0xCBl0xA7 0x8A0xEC0xCB0x82(WQE0x170xB50x9A0xDE0xF30xB00xA3d?0xBF,0x9E0xA6v0x1FT0xF30xC50xC5U0x8F*0x88R0x8E5E0x1DQ0xA20x960x888J0xDB.0xAEa0xD7z0x16ZQ0x140xDE0x880xDB&0xBA0x800xFA0xE80xCA0x000xD70xD40xEA0x1480xDD{0xAE0xB10xEA0x8F0xEA0xE20xE00xC30xF00xC70xE50xDF0xD5GT0x810xE60x850x000xAA0x92(20x08W0x104Y0xD780x15T0xDDGTv0x8B0x02h0x10P0x010x150x1A0x02)0x9E0x0E0xA10xEC0x9EW0x930x040x0F0x1410xE40x1420xFE0xA60xBC0xAA0x0F0x1E0x1Cn0x8DT0xFDT0x050x9E0x0Dh0xA70x8E)0xEAt0x9C0x98e0x010x0D0x190xC2}U0x950x8A"O0xAE0xD20x920x83*0x070xD4UF0xA20xEA0xB2h0xB10xD7tI\c0x13G0xB00xB4x0x020xCA0xAA0x82jEQ0xD5A0x080x8F0x880xCB0xE20x980x9C0x9B0x88K0xAE0xA70x1DEU=UDg}\0x810xE6[0xF1R0xEA;E0xD6\`0x07T0xB5T0x950x160xA20x1A0xA7f0xF4OT0xAA0xA40xEA:0xAA0xB30x8E0xC90x06U0xD50xC3U0x97\U0x990x8F0xF80x9E0xAA0x830xA80xC30xDD0x15xUv0x1F0x02Ez0xAE0xBA0xF2<y.0x89}0x95dRtUP0xCCh0xFA0xD20xBC0xC90xEB0x820xB20xACj@0xD1b0xC10xE40xF7*0x80S0xA20xAB0x1Ee0xD7=QqT0xB5Wr0xD00xAD0xDF60xE10xBB#F0xDC5'0x150xC00xF6W0x8F0xEE0x1F0x1A 0xAE0xFF0x0EO?UJ0x0EGU0x160xAE0xD2W>0x880xC20xB380x140xDBW|0xB60x8E0xAA0xAAWU0x1A=Re0x18q"-0x1A0xC8"h0x1C0xB10x11w]70x150x070xEFW0xB00x860xCFr0xCC0x0B0xEA0xCA0xD4YvX0xDF0x1F0xF70x070xCE0x880xB60x8A0xEB0xBE0xCF%GD0xC70xB7Wuu0x140xFA0xE60xE90xAATQ0x17h0x9A0xEB0xEB0xE80xDA0x9B0x97*v0x950xF3;S0xCFU:0xBA0x8B0xA30x000xAA0xDF)0xD00xD00x95u0x800x09uUW0xA70xED0x8A0xC2J0xA8hvF0xC50x1BPk0xD2t0xE70xAA0x8A0xF40x8A0xBE0xBF0xA20xACT0x990-0x8F0xBC.0xEB^T0x81OB]n0x1D0xD70xAA0x02K*Mueu0xBA0xB9i10xAB/~>0x19Q0xF5w0x91F0xF3T0xB30xAAY|:0x130xF5e0xD30x15eu0xD10x940xD50xC50x9A0x880xA9i0xBBD0x8A0xAF0xD3Td}[d0x890x8D0xDAf0xA90xBFh0xAA0xAA0xBAyv 0xDE0xFA0xA80x820xAAX0xD10xF30xDBQ0x860xFD@z0x8F0xE50xCAB0xA20xFE0x0EG4F70xE1R0x040x110xA60x020x08*0xCB0xB20xA40x83v0xF00xF40x8B0xE5F0x17q0xEE#0xB2#0xAA0xAA0x1A0x1C0xC00xA7[0xD4Q0x1D30xD70xE20xAA0x8B0x92UP0x19EOh0xA30x190xA9anjDqvYTDM0xD80xEA0xAF0xCF0xC80x9A0xAE0xE90xC00xDBTw@0x06BxG0xAE0xAB0xBB0xAA0xA70x86N80x870x19W4G0xD7En0x830xA20x1Bn0xAC0xA20xAA0xC10xAE!0x150x0E;t0x9E 0xABo0x880xAD0xBAz0x10\_0xD70x7F0x170x150c0xAB0xCB0xAE0xA60xFE0x960xA90xE8]0xD70x0D0xECW0xD6]}0x8B0xA20xBA0xEF0xEAc.0xFE0x150x830xF6M0xD00x150xE70xE50xDE0x990xA80xB90xAA0x7F0xBA0xAA0x9D\_0xD51 0xCA0xA20xE30xDF0x0F !0x1BIPw0x8F0x0D0x980xAB+*0xE8/0x1E0xCC0x000x150xB40xD7MQ0xAC0x8F0xC80x0C/a0x980xBAW30x140xF80x14u0xBF0x9F0x8A0xBB0xB60x870xB2A-0xA2c0x11]w0x110x05P0x17)0x0CM0xA3PQwU0x180xFE0xA40xBDb{,i0x0Dwu]e0xC50x06ul0x820x86i:0xF4b0x88:0xD10x81Y0x170xF5G0x8A0xA30xE70xEA0xCA0xFC0xCA0xA20xAA0x19Wr0x9FU\70xED0xDA0xB04y0xEA0x8A0xAB0xAFm0xF00x150xD10xAA!0x1A0xA7
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
50x1CQ0x9C0xD5 0xFA.0xA80xC20xE20xC00xB80x15UT0xF60xCB0xF50xC20xDC0xEA0x1B0x8E0xAC0xAB;0x1Cb0x870x910x08VEI\v0xC8I*\H0x980x8B0xAE0x0CE0x1F0x14i00x0F0x9Bb0xAA0xF10xAAb0xBBsjs0x170xD50x020xBE0xAA+0xBA0xF7??u0xB1]G0xA620xA70xAE0xAC0x8A+0x8280x940xFD0x86|0xE90xEF0xA50x98H0xAA0xA60xAA0xE8n0xAB0xAEOi-0xFDM0x040xD1a0xAE.0xA90xA90x0C0xA0z0xEA0x190x11GDUEQU*0x810x060x0ETR@%0x880xE80x8A0x020xAB0xEB0xA90xBDM0xF30xCC0x84ew0xF60x1Di0xA50xFA0xFE1}~0xACP0xC5U0xFDU0x87?0xB40xA90x8F0x980xA80xCF0xB70xDE0xE10xA50xB7U0xF1U0xB5[U0x0B0xA50xC90xCB0xAA0xD30xFA0xB00xD00xD50xD40x170xA40xBA0xA8*W0x1D0xDD0xAA0xAA0x8C0x8D0xC80x09~Q0xAE0xAA0xDA.0x920xA8 x0x060x8FEtT0xD90xF5\_0x0E0xEA0xEE|0xB2"-0xAA0x1FBm|0xD2G0xCD0xCE0xAA0x8E0x8D0xAAK0xAE0xBC0x9C0x1F,0x9D\_^0x070xA40xDC^*0xA60xECZ)0xFC0x8AWH0xF4]0xE80xB80xA60xACt&0x950xFC|wv40xBC:0xAC0xFC.0xAAf0xBC0xB50x9D0xC7umYK0xC50xAA.0x82E0x090xCB0xFA0xCA0x0DEyV0xBCZ#0x9E0xAE0x80"0x8A.0xBB0x860xBA0x04\_N0xAFF6\_0xD90x86. 0xAF\RF60x0E0xE30xAE0xBA0xE20xA80x850xBCQ0x090xB50x8C0x08L0xDD0xB40x010xE80xDF0x800xBE0x890xEC0x8E0x1D0xC5U0x84>U0xECW0xC20xB70xE3>30xD3{H70xD3Q0x1E0xB40xF50x13@0x8C0xED0xB80xCA0xEB0x030xABHOE0x9EM*0xAAI]0x02"0xFA0xC460x8A0x0E0x8AWB0x050xD750x0DT0x82+0x0FL0xF60xA8"0xA20xB246\\0xD840xC50xE10x8A0xAA0xCD0xA7j0xAB+0xA2CCA0xD00xAB0xA2*0x80Y0w0xD4}L0xC3E90x88b0xB70xEAH0xE30x0B0xD5Ft0x050xDA0x1FD0xA50xCD0x9B0x0C0xA90x940xAEJ0xBA0xD1N0x150xF60xEB0x150x1E0x0F0xB90x020x1A0xAE0xFA0xA80xA20xA30xB50xC94Gu0x8DM0xF90x8C0x8B0xAC0x8E0xE70x140x03U0xBB0xA6j0xA00x8AmB0x105E0x01P0xDBuD0x110xE90xA40xEA0xAB.+0xB00xEFE40xD5\_mVU0xDB0xA0*B0x9B;0xA1"0xB60x13/VU0x0F0x15S0x050xAE0xA90xA3;30xAA0xB30xAA5L0xB7U0x900xAB0xB00xEB0x170xDD0xD50xED0xB5P]0xC70xFF0xFA0xF30xAB0xB2"H0xC50xE8\_0x05Ui0xA1bH0x07}tUL0xA50xF5I0xEA0xA10xB80xCB0xA00xEA0x810xBE0xAA0xC10x90WG0xF10xCD0xD60x0F0xB60xD8jj*0xEB0xB90xDFV0xD10xB3Q;SU0xB290x940xA80xA30xEA0x040xE80xB68TX:0xA9*#KA}0x13}0x95WYm0xB90xFE0x980xAA0xAAB0xC8N0x95S0xD50xF50xD3T]0x960x820x9A0xBB0xD80xAA10x1A0x04DeK0x070x0D0x05F0xAA0x0C0x000xA9 0xBB0x0F0xAAVQD0x150x7FTE90xBA0xEA0xC4(\_3QA0x080xB30xE9J0x1E0xCB0xEE:0x15A0xFF0x1F0xD5A^n0xEF0xBA0x180xEAZ0xEA0x890xAEM|0xC10x9EmG40xEF0xAF0x020xB20xEC0x1B0xA80xAA30x15A0x150x18X0xD70x84E0xE90x040x9A0x8E)0xAB>.0x0DE30x060xBA0xEA0xCA0x8A0x85L0x1C0xF5V0xFF0x040xF10xAE*0x0C0xB20xEF*20xAF0x8B0x820xAE0xE0E0x077UW\`0xA50x0260xE80xE20xA00xB40xB30xDA0x100x160xF4X0xD50x150x97Z0xBB-0xB7i0x8E0xA00xA30xAE0xCD0x050xD6O0xA4a0xD5u0x98(0xA8|0xAB0x870x8E0xA80x810x190x130x1D0x82*0xEA0xAA0x940xC5z0x180x9DG0xD70x150xB80xCB0xE30xAE0x1B0x820x8E0x8A0xB00x96G0x030xC4Td.0x020x1A .0xE80xAE$0x0FD0xE6U0x170x05U0x130xD1o0xA2"0x19*0xA40xAA0x870xE70xF50x030xD9v0xB4u0xD4&0xAD0xB20xB0!@PM9*0xEA0x9B0xB00xAD0xD00xF9yn0xD4W0xB50x950xD10x110xBF0xCF0xEB0xDB0x9C0xBA0x04-0x940xDD0xC50x03\Y0x0C0xC5-0x8B0x8E0xA00xEE0x16H0xEBE0x150x04Cme0xE30xD20x8Be0xF90xDA0x8B0xA80x830xEF0x83Y0xD30x0E0xAA0xAB0xA80xEE0x010xA90xB4\P0x8Dy0xF90x950x95T0xEA0xBD0xA20xD80xAA0xC80x010xB8<0xD5AE0xB80xD10x950xEC0xBA0xCB0xB60xF90x1A0xEA(0xA40x19c+0xD5]0xDA@0xF5n0xA2&0xBAz0x830xB00xDC0xF60x816\fu0xC40x15vX0xE30xB9C0xEA0xDA0xB3VyQQ0xC80xAE0xD60xBAO0x8Cd0xFDC0x0Cd0xD9J0xA80xA6)0xD30x9Ab0xE80x16ws\`10x99\0xFC:0xBB0xCA0xFA"3*0xFC\_6|0xDD0xD40xF6uG0x8D0xAA(0x8A0xD00xA2#0xE3P0x000x15A0xC00xD4UE0xA280x190x8Bv0x810x160xC420x89j0xE40x0C0x820xAF0xAA0x130xCCg$0x050x9C0x05T0x8A:0x8F0xCA0xAA0xF80x9A.B0xD4SN0xA40x8830x8D0xAE0x9A0xAA0xAB0x82N0xC50xEACT0xC7\`2NG0xD40x8A0x9E30xE60x830xEA0xAA0xAA0x82]3|0xE80x9C0x8A0xA90xA4]0xDD0x15*0x800x050x05W0xF00xE90xA2n0xA20xE60xC60xB20xE60xE2WP0x94GF0x9D0x870x880xCE0x120x85}0xA20xA40xFC50x010x110xD1=0xD3U0x150xAA0xC20xC70xB40xA30xE60xCA0xCE0xA1D0x87DE0xD7VT0x880xB80xA60xAA&:0xA30x170xD4y0xA70x040xE80xA20xEB0xAE0xE90x840x850x160x150xFA0xD4Oo0xAA0xA10xAE0x860xFA0x8AL0x1C0xD70xDDQ{0xD4]V0x0E0x980x9B *0xF20xB66g0xD00x970x150x05Y\X0xB50xF8M0x080xA40xD8>0xC8=U;0xF20xD70x13Q0xDD0x980x1B0xE90xF8QX0xC5uX0xBE0xEC:!,0xAB0xAFF0xB60xD970xE5u0xBD0x0D0xE9b0xEE/0x9A0x920xC90xFE0xD5Sm0xCA0x1B0x120xC9]0xA30x1E0xCC0x7F0xBF0x1F0xC80xFA0x950x1DT0x81T0xFF0xB40xFAh0xFE*0x90 0xFA0xCF0xFCm0xC7E0xC40xA10x8D0xB10x130x110xA4*d0x02eaET0xCC0xA90x9E0xCA0x8B0x8E0xFB0xAEY\_0xD00xD50x090x0F0xFD0xB70xA20xBE0xAE0xA80xEA0x080xAB0x0E0x91D %0x940xC10xFC0xD40x830xAB,0xF80xF00xB30x9E0xE00x91A0xB5Q0xF40x970x04%0xEE0x8C.0xA20x8080x9E0xAB0xD60x150x1760x82z0xAA0xAE0xD9\_0xDB0x170x950xF50x1Dp0x98t0x9A<0xB50xAA0x1A0xA2U0xD30x1C0xB9[9=0xF50x1B0xB80xAA0xA90xFB*|0x930xFBX0xDD0xD7WAYm0xA2.50xAF0xD2"80xA0Z0xCD0x140xA6P0xD55M 0xDD0xA10xE2uOW0x170xBB0x120xBA0xBF0x8B0x8D0xA30xB8K0x150x86~70xCB 0xBC/0xAB0xAB0xBE0x070xBB?0xC3[1m0xC40xD40xF00x050xA70xB220x8D0xA20x81u0xEA[0x950xF40xDDAC0xF3T0xDB00x920xA10x8D80x0B0x9A0xFB0xB050xBC]0xAA0xAA0x060x05r0xAA[0x0B*0x8C0xEA0xBB<0xDDUC:E0xF1a]0xC80xAA0xAC0xEE0xFA0xCE0xAF0xEF0xD40x8E0xC30xE70xD4USF0xF8Fr^ 0x900xB00x82NU0x900xD60xC9p0x800x100x8A0xF0 i"0xB20x0C0xBB0x120x90F0xF5*o0xCA0x83S=0xCB3T0xD60x110xD90x920xCF0x090xAC\0xC2>0x8A0x851QM0x7F0x030xF5T0xA2#0xE10xEC0xAE0xB20xA50x96\_0xD20xF5ReDuW0x870x980xBC 0xA60xECa0x0E0x8D0xE96W0xF5TGA0xAC0x980xBF 0xD70x130x16u0xF6;0xAB0xAA0xAA0xFA0xAA0xAA0xD3E0x910xB70xD10x920x15Q0xDA20x9C0x930xBE0xA60xF80xA60xC60x15|0xB70xDC0x06Y$0x8E0xEB0xBB0xAAo0x870xFB0xA20x060xC50xD30xC50x9F@SI0x8C0xE20xBBk0xE80xE80x9F0xBA0xD4H0x97P0x0B0x880xA20x8F0xCF0x11C]0x1F0xCDU0x85/0xBA0x1A0x150x150xBDP0xBA?0xAE0x9B/0xB60xAA0xE30x8E\_jW]Um0x8E0xF20xFF 0xAA0xEA0xEA0xEE0xEDrg0x9A0xE50xD2,50x1C0x0B0xAA0xAA0x86<Y4o0x150x980xDCD0x19TTG0xAA0x9F0xCA 0xA90x800xAC0xA60xC2U^e0x880xAF0x880xAC0x14\_0x9F0x15U0x10E\_6R!l0xF10x88 0xF50x150x17^Q0xC50xE60xAF0xE00x8Fb0xAE0xCA0xCB0x870xACXx0xD7-0xE2Y5](90xBE0xAA0xAA0xFB*0xDAs50xD70xC6\{W0x14&0xBA0x7F0xA70x140x15WR0x8FO0xBA0xF90xA30xCEj0xE50xC3T7g0xA0W0xD7E0xAA0xDE0xBA0x9F0xF90x9E0xBEj0xCCU\`0x150x9Dl0x1F\0xBE0xCA0xABX20x8E#0x9990xDD0xF1X70xC5Q0xDD.0xE80xC00xFA0x820xDA0xB90xA0F0xDDU0x150x8A[50xD5v2v0xB9/0x800x960xBB 0x97V0xF9d0xC7Wu0x1F0x9E<r0xAB0xA10xAA880x16>0x12\q0xDD]x0xBD0x970xBE0xC890xEA0xAC25w0x05Y0xC5x0x14\_0xF70xAA0x060xFA'0xFBR0x8AW0xB1R0xD50xBA0xAE0xAA0xE20xD00xF3]0xD70x1Fu0xEF0xA50x820xA00xEA0xA20xA2x0xAD0xA2#0xD50x890xE50xF5hu0xE730xA80xA20xA60xBE0xEBo0xA1%UWu=0x85|0x150x0E0xB30xB6" 0xAA0xE20xEF0x01m0x130x10T0x110xD20xD70x8A0x8B0x920x880xD30xEA0x030x8E0xBA0xCA0x820xFA{0xABp's0xE7T0xDE0xD70x1DL0x850xDA0x0D0x020xEA0x0D0xC90xAC0xFB0x03M0x16uTL]0xD10xAA0xE60xE20x810xB20x990xC9A0xD3U0xC8U0xD1]0x00u0xBB0xF30x88> z0xE20x830x11Q0x1180xA3 #0x8A'0x0F0x140xF4u0x11U0xA00xEEs0x81K{0xE6)qTu0x0BSW0xB70x050xF30x8E0xAE0xA6X0x0BJ0xA70x1BEGEA0x9DG0xB5k0x820xAD0x9B0xA90xA80x9B0xDD0xB10x190x190xD10xB9V0xB10x950xA00x8A0xAE0xA60xE20xAA0xA0K0xD1&0xED50xAEk0xAA0xEEUUoU0x070xBFTW0x1D0xAA40x0E";1N0x0DUuQ]U0xD5D0x8F0x810xEA0xB2]40xAA0xEBU%0xDFU0xC00xDF0xB70x910xEA0xAA30x9B0x8A0x8F0xAC:0x150xD40x140x11U0xD5UwM0xAA0xAC0xD6]Tp]0xE8l<+0xBA0xAA0xE80xAC50x0D0xD70x9DN0x090xF0
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
0xE3.0xEA0xC0b0xB20xA70xAE0x080xBC0xA70x11c0x0450x17H0xCAvzJB0x8B\6BCYDE0xDFU0xB20xE90xABz0xA8(0x8B0x900x8AC0xDBV0x1C0xFA0xBF0x8A0xAB0x7F0x950x84+0x8BQT]0x970xA30xDA0x180xB30xB9$0xC60xB80xA30xF1E0xF50x950x160xF70xD50x9A0x92*0x8C0xAA0xAB+0xDA0x140xD3G0x9Ddq0xDF0xDF0xA2v0xFA0xBE0xA50x040xB30xA14Ds%dVSEnzp'0xAA0xE10xE60xAE0xF1\0xE6a0x010xAB0xA20xAAU0x180xB3A0xD10x89U0x17#0xBBx0x8F0x880xA90x990xA20x8D90x95W0xB10x190xECT0xA3#0xE00xA70xA90xB10xAF0xEEE10x050x010xC2X0xCB0x110xB60x190xA0!0xCA0x880x8A0xAB0xC80x1FE0x950x97E\_W0xAA0x890x0B0xDF0xD0T0x15A0xD20xAC#0xAD<0xBE0xF40xACt}u0xCDT=E0x95.0x1B0xB90xB20xAA0xAF0xFC0xA1M0x930x9D0x05~uu0x95n/0xAF0x9E,0xC30x1A0x0BmO0x12\_E0x87]0x170xED0xE8>0xAB0xCC0xA00x8A0xAE0xCC0xC1Y70xA00xCA0xAC0x8E0x1590xAA0xAA(9"0xE10xA20xAB0x160xF50xAF0xFF0xF50xE90x97e0xA40xE50x8A0xEF0xCA0xFE0xAE0xDD0x07tGW0x8D0xDD0x85\_0xEE0xA80xEAE0xAA0xA9f0x0D0x84AE@0x080xA80xAE0xE00x1D|0x0CW0xFD0xF50xDF^0x0F0xE80x9E0x8E0xAB0xB30xEA0xACEU0xEET0xD4E0xF7C0xA80x0C0xF2C0x860x8A0xFA*T0xD30xD70x170x950x92rU0xFA0xBA0xF20x890x8A0x9A0xAAf0xD40xBB0x160xD00xC4EWD0x860xEA0x120xAE0xC00x170xDCo0xCA0x0B0xB50xE80xAA0xA30xBA0xA00xDC0xDBU0xD10x110xE50xF1Y0x080x9A0xE3K0xAD0xE90xEC0xE8\0xEB0xC5Y0xA5]@0xCC0xB00x8E0x800xFE\0x8E0xFA0xA30xD50xC50xD35L0x15Uw0xAA0xFF0x180x7F0xEA0xC80x0D-0xEAqU]0xA2*0xF00xA6nCUp]~0xFC0xAF0xBE0xA60xADk0x88+0xA80x830xDDE0xE10xC60x85vT0xD7@0xDF0x050xC00x150xBB0x0B0xE0*0xAA0xA8\`0x9A0xD7\E0x02'U0x18}>0xAA0x9A0xE1(0x9E0x1E0x92\`0x170x140x96PN0x04A0xBEn0x820xE30xCB0xBA*0xEAG50x170xC40xA80xAA*0xCAD0xE7{0x16b0x0Dv0xDD0xAB0x8C0xFAn0xB30xB9 -W0xF5e0x1D0xCDUQ0xD70xA80x1C(0xB80xB90x9B0x9B.]0x14SUVS0xDB;80xAA0x8A0xA90x9B0xA30xDEj0x9C0xD3}u|T0x0Fu0xA80xE2-0xE10xD50x1C0x06\_60x9E0xAA0xFF0xEE0x1A0xA7ct 0xBFuC0x1BCT0xAA0xBA 0xC60xF0'0xBC0xEE0xC10x1AuFE0x150x040xDD0xBD0x180x080xEE0xAE.0xD80xBD0xBD0x110x140xFC%0xD5U0x190xBAb0xB00x880xB80xA90xA30xBE0xDEs0x110xC10x8B0xAB0xEB0xB90xDB]R[0xC6D0xD1Y0x850x080xF20xA90x8F0xA40xF50x9C0xAA0xFB0x920x820xA3k0xA0jGE0x90 0xD7WRH0xCB0x8F0x020x0E0x8B0xBFkC0x99M0x14GG0xDCY0xC40x8E0xAC0xBE0x9F0xEA0xAC-"0x920xECE0x130xAA0xB20xAA0xAA0x1D0xDBgY0xCA0x120xC90xDB0x8E0x9A0xC00xE90xFA0x0E0xAA0xAEw\0x030x16B0x150xBF0x93J0xAA0xC70xB2D0x9C0xEB0x8AR0xE40x150x8CM0xC60x0F0xFD0x7F0xE20x0E0xBD/0xA30x070xB8eK0x0D0xD3Q0x7FU0xC50xE30xE9N0xA3=\0x9D0x010xA80xAA0x9A0x990x920xDA0xBE0xCE0x17AUM0x97G0xDFF0x88f0xBEO0xAA.0xE20xAE0xD8=0xF50x0D0x1A0x070xD52:0x89.0xCA0x880xA0N0xEE0x0C0x85M0x8DU0x17\~0xEB0xFA0xBA0x890x8A+0xA8*10xF60xED0x050xAA0xA60x8B0x8B0xE00x950x0D0x940xF70x990x02W0xB20x84 0xFB0xAE0x980x820xBF0x070x150xF00xD5Q0xC10x950xD5?0x890xBB0xB60xAB0xC80xB20xC2k0xC9dGaE0xF5Rj0xEA0x8B0xF80xF80xBC0x8A0xAEH?0x8D0xFE]0xC1Ur0xBF0x810xC30x820x810xA7 0xAC0x850x11D0xA40xE60xC8b0xE6DQmUd}0xFA0x93*0xBB~s0xCE+0x9E0x82M0xCD50xD5A0xC5UU"0xEA0xA50x810xFBNN0xB70xC50x1D0xDB0x910x950xD40xD50xD10xAF0xEA0xD80xBA0x03N0xEA0xC0U]o0xD40x0DL0xD5U0x0C0xEC."MWT0x050xAF0xC30x9A0xA6;0xB30xAE0xBB=0xB70x990xD3E0x94o0xD70x8A0xD3/0x8C#0x8E0xFA0xF30x030xD7uT!A0xD90xF2k0x880xBB0xAA0xAA0x81+,0xCE0x1C0x15,0x8F0xC40xF80xF00xA80xE00xA80xE00xB30xA7i0x8E0x92eAm0xC80x8B0xCA0xE8L0x050x87E\_]w0xED0xEA0xAA0xD70xC40x9A0x18zk0xD2LMm0x8E0xD6Q0x8D0x8A 0x890xDB'0xFB0x86\_0xED0xF30xDD0xD540x930xB40xA2"0x9B0x940x820xAA0x9A0x8D0x0580xD70x140x11G0xCAY0xFB0xA60x8A[*0xC90xBE0x89U]^0x150x8A0xE90xA20xAAU0xF90xB4a60xF7w0xEF0x920xEB0xF60xA20xEA0xD2^0xEE0xDB0xD60x150xE5W0xC90x05U0xC6j0x870xEB&0x900x860x8E0x10uW0xDA0x9D0x960x98b 0x8DXji0xDA0xBC0xABo0xCC5U0xC5\`]0x130xAA0xEA0xBF0xDF0x9CU0x150x850x8E0xCA0xD70xA3)0xCB.0xEAW0xD20x15eU0x8F0xB0\0x830xAD0xB60xA20xB4h0xEA0xCF0xD50xBFG0xC30x1CPyE0xAE0xCB?0xB9(0xB00x0B0x93L0xD9UQ5D0x110x1F0xBB&0x9B0xC20xA6.20xD20xB1d0x130xD70xA60xEA0xAB0xBC50xDDFp 0xD90xDE60xE20x980xEA00xA60x1Aj0xBE~U0x170xD5I0xDFdU0xBA0xCA"0xCE0xAA0xE7T0xA50x9BRwBu0xE10xD60x8A0xB40xA00xE40xB80xAA0xE9E0xF50xF4Q0xF070xE90xA70xB20xACj0xCE0x0F0x0D0x82;#0x0DMuJ.0xAA+u50x97=0xBDYPa0xAB0xBAF+0xAB0xFB0xCAiE\_M0xDC0x010x9DVi0xAB0x0BN0x9A"0x9A 0xA2T0x98w0xF30x1DVu0xB60x9A0x9A60xBA.]0x820xAFe0x85Q0xBCY]U0x150xE80x8E0xA30xA0I0x15Yu0xF90xBE0xEA0xB0K0xFD0xAC0xAAB0xE50xD50xB0YT0x91Y0xEA0x0C0xBB0x9B0x8B 0x8F0x8C0xD9F0xD10x8B0x010x0550x170x03 (*0x890xF6 0x960xD50xD00x03;K|PBkj0x800x820xC60xBC0xEE0x18UUM0x080xAA0x8A.0xA00x9A^0xC9\`0x100x940xC5R0xB20xBA0xC90xC20xD20x950xE4\0xD20x1D0xF4DETU0xA3Bn)0xAA0x96s0x050x15TNa0xD50xC80x1Ap0x1B0xA20x980x8E0xF920x91t0xD9e0xBA0x89i*0xE80xA8l0xEB0xA9 0xA89u0x180xCD0xA90x8A*0xBA0xDFwVS]:0xDFU0xDF:>^0xEE 0xB20xCC0xB5w0x940xFF%r0x14q0xA80xAA0xB70xEA0x850xA20x870xE90xD10x810xD70x09U0xE30xF00x150xDA0xA10xB9(0xAA0xE20x110xF7]0xC50x05]U0xC10x15a0xDB0xC80x800xBCQ0xB00x14120xA20xA80xE90xF50xE30xCEJ0xF50xE70xDFLUYEL0xFF0x8Bo0xA80xDA0x0B0xE80xEAYE0xECE0xD50x9A0xACA+0xBA0x030x8B="2k{r0x11IT<SL0x92z;0x1B0xAA(0xA80xAE0x810x1D0x910x86 0xAE20x88UU0xD1E0xD360x160xF80xD2v0x970xEA0x020x070x100x880xC70x05W0xF1U0x140x11wo0xA40xA60x8A0xEC0x080xF420xF40x890x050xCB0x14A0xA80x82&0xA00xAA0xAE0x02,.0xCF0x130xB40xDBFTe0xBB#~60xEA90xEE0xB80xFCsG4;*0xDA0x1AW4|WUGwQ+0xAAJ0xE0P0xEB0x170xBAG0x19W0xBBu0xB90xD9M$0xA90x9A0xABo0xA00xCAct0xE50xDCqu0xBD0xC7\l0xAB0x9Aa0xCA0xAC0x820xA2W0xEFV0xB50xD9[0xC40xDE0xD30xEB0xC40xAF0xD5ES0xE40xBF${0xEB30xB60xEA 0x11tpK]EAO0xFE-<0x1Agb~0x17VL]0x170xFD^0x1Eg0xBF~70xF30xB60xF6 0xAF0x91pQ0xF70x940xD50x9D0xD50xBE0xAC0x920xD80x0B0xA80x080xD40x970x9D0x95Y0xAA0xB20xEB0xA8S20xFF0x1D0x160x10T0x140x9A0x820x8A*0xAE 0xEA0x920x7F0xF1=uM0xF40x11|0xEC0xA2*0xEB0xEC0x8AQYq]O'A0x180xFA6C0xA8~&0xE20xBCWs0xC50xB9P0x054q2~0x880xA90xAC0x9Abz0x160x03Rq0xAA0x0F0xA20x08'0xC70xA5T0x7F0xB50xF70x00b0xA20xEA0xAA0xBF20x130xA00x15V0x120xC5Q}0x95Rs20xBE0x000xBB0xE10x9E0x8EP0xF50xD10x96F0xDC0xD7P00xB80xC8v0x820xDE0x86:0x13EU0xFE0x15EU0x94 0xE40xED0xEA0xC5a0xE4U0xAF0xE30xEE0xDB0xAE0xE0;0x8B0xE40xC50xADA70x91S0x0B70xE8 0xA90xAB0xB60xA10x82wu0x070x960x070xF40xD5RG0xAA0x9C-0xAE~0xB80xA40x07k0x1C$V\_0x13D0xB2&0x920xEE0x8A&0xAA0xAA0x14w0x120x8C0xAA"0x8F0xA80xCD0x1D0xD50xC1UMuu0xEBK0xA90xA840x0C0xFB0xAATUq0xFB5Y3e0xA0H0xB2jJ0x12E[\0x0FDA:0x8C0xCA0xE30x060xF6/0xEA]F0xC7[W50x06D0xCE:0xA40x880xEBP0xE8+ET40x19* 0xFA=70x1D|U0x9Bx]0xD5:0xA80xFA0x850x98 0x170xA30x1B0x150x0F0xD50x110xC9W0x8C0xB30xA30xDA0xAE 0xAA0xAB0xAC0x0F0x9510x000x960xD6uW0x820xB8*"&0x8A0xFF 50xDC0xFC0x0CUE0xE50x950xD30xE00xE60x89U0x150x050x11o0xB30x08*.0xCD0xAE0xBFf]lUUU]x{0xB80xC3,0xE10xBE/0xA7q0x9B]0xA7]U0xE70x850xDF0xAA0xAA&0x830xB80xEA\0xD6<dU0xC30xEF0x0C0xDC0xEB0xEB0x8E0xAA0xA20x0B)0xE8D0xA5=)0xAA0x8E0xA20x000xE9RA10xA4ta0xDC0xE20xBAa0xBA*0xB60xA6(0x11VTP0x950x150xFCW0x10>0x8E0xD40xA60xA60xFB
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
0x0B0x14TY0xD20x14|30x8A0xA90xFD0x8A0xE70xEF0xA20xAA0xC50xCBV0x0DE0x870x96O0xA00xA80xE2)0xA9h0x9Ej10x190xD2E0x9D0xA00x820xAA0x190x99W0xA40x050x970xDCP0x8A0xAE0xBA0xA00x830xB30xED0x100xE50x17U0x150xD5^Y%)0xAF0xFA0xA80xC40x8E0x8A+0xD5E0xDF70xD60xD10xC5W0xB2amF0xCE0xEB0x9FbJY0x1FGIA0xD6u0x88N>0xAFAD0x1E0x010xA80xFC~0x8320xEA"0xA80x00u50x000x840xD7Q|0xFA0xCB0xD2z 0x16xzm0xD80x940xF80x0B6Un(0xBB0x990xBA*0xA90x98=y0x890x990xF7s0x01X]B 0xA940xCC0xA30xC00x8EP0xE5AU0xC2,0xE10xEA0x15Eqa0x7FQ0xE5A ))*;C0xE8;0x13A0xE90xDD|65^0x9A0xB90xE90xBB0xB620xA80xD3>0xF750xC70x02X|0xEC"0xBB*0x080xA80xC20xAB\`y0xDBa0x8C*0xEA0xBC0x94{|0xBC{)Fu0xA2h0xEA0xAF0x8Aj0xA80xEC0xC5WEEDs0x17U0xC0:0x8B~0xE60xAB0x9AB|0xB1YB0xD30x18Wy0xEB0x99;L0xC30x1C!0xBA0xD10x01V0x84DT}E80xE60x140xA00x15EWM0xB30x8B0xB70x0D$0xA60xBD+0x050x0770x0DD0x1150xD70xA2q0xBC0xF90xA20xD2z0xBB0x13puUbXY]0xABH0x8C0x8E0xD4*0x040x88q\_D0xC80x950x09U0xD50x000x8E~0x8B(0x9AC0xAB00xC6[g0xAA(0xB30xCE0xB50x0DU0xCC0xEDx0xD5U0xEE0xEA0xE9E0xA80xAB0xCF 0x1E0x010xDF0x16\`0xA4w0xD9j0xA0/0xFB0xF10x8E80x9A0x19G0x14P0xD550x0D0xDD0xBC0x060xAE0xEA0x8E0xEE$0xD60x850x100xBD0xDBG0xFE0xC50xBAk0xAB0xA20x930x8A0xDA0xD530x130xAA0x1B0xAE0xAA0xD1WT0x170xD3\_0x94\_0x8F0x8A0x1A0xDF0x83J0xAE*R0xC6n0xC4K60x8CMK*0xAC0x8C 0xA00xAA0xCA0x180x1C)o0x940xF1m0x850xA80xAA;0xAB0x960xB80x89 0x94}-0xE70x05}0xF7E,:*0xC70xC50xDCTd0xCA0xEE0xCA!0xEE0xC30xAE0xE30xC1E0x0EqDAD0xF00xE80xA90xE5n.0xE2*0xF3uEQV0xF40xE60x040x970x9F~0xA30xAB0x870xAA0xA2m0x1Bus=0x870xA410x140xAC0xFC0xB88*}*0xBAwU0xF10x170xEAz0xAC0xEB}0xF70xABAU0x130xD50xC4c0x1B0x0E\`0xD80xA20x9A0x8C0x9D0xDCzZ0x970x1F0xD4X0xAE^0xAA0xDB0xA4B0xF0\tI0xFD]0xD30x940x95T0xEA0xA80xEEL0xAA R0x960xBA@0xD4a0xD6Q0xD50xE80x7F0xFA0xAE0x8E0x980xBE0x920x14CW0xBC.0xCF0xAF0xA970xCF0xC70x1FEy0x070x0D0xA40xEF 0x0B$yGn0x1CqG0xD30x09vJG0x8Ej0xCB0xA30xBD0xEA0xAA0xCE0xD50x140xF00xDEG0xB10xFAF0xEA0xB00xF80x8A$10xF20x9C%Q0xD6D0xA5A]w0xA50x8A0xE2K0xDC0x850xD0t0xAB0xA20xE80xF20x0B0xB20xAF0xBBy0xB40xCD0xBB0x0E0x150x06[.0x07k0xE20xEBj0xFB0xC7BuYYQPY0xD40xA90xCE 0xC80xEB0x890xF20xE10xC9Uq0xD1Q0xC5Q0xD50xC10xE80xC30xEF0xCB0x880xE60xBACJEk**0x808Q0x1B0xC510xB9Y^Q0x8B0x0B0x060xEB80x8D0x080x83-}0x950xC90x1ACV0xA50xA90xEB0xB70xA20xB00xAA0xBC0xA80x100x7F0xD50x9450xC50x110x9C;0xDF?0x8C0xF70xA0"0xAAW0xDF0x150x7F0xFF0x14TP0xFB90x82k0xA80xA620x880x910x170x120x190xB30xEA0xAA0xEB0xD50xE40xAE0x170x840x050xD0D0xCC0x84(0x08,,0xA2"0xF4u2E0xD4U0xF1U0xD80xA20xE3,0xAE0x900xE70x8BuYC0x97x}0xCE0xD7(i0xAA0xB50xEA80xCE0xAA0xC40xFD0x1Ff0x910x11C0x150xA80xA8+60xDCE0xC00xD50xBB(0xE80xA90xFF0xA8C&0xFF0xC8[v0x130x04O0x1D0xA7,0xFB0x9B0xAF0xA00xF80x8E0x8De1]0xD4aq0x070x89b0xBA0xA60x9Axj0xC0Q}w0x060xC4eM0xC00x8A0xED0x8Bb0xAC$0x8A0x8A0x140x810x170x130xE8r*0xBFTS0xD60xD7UUG0x1D0xB40xF30xE20x950x0D3h0xB90x0FYI0xFBT0x16P0x7F0xA8*0x880xBA0x940x1C0xCA0xFA]0xD00xC30x1CP0x94v/Z0xB60xE20x8DD0xD620xFE0x17v0xD7E30xBE0x0B0xFA0xA00xBA;0x930x88XQ0xB300xF5"0xAA0xAEU#,sQ0xFCu0xE7A0xAAn*0xE20xC790xA2s0xC50xFCWW0xD9}0xC80xEB0xC10xBC0xC2v0xBA0xB8Jp0xDCP]a0xFF0x9C*l0xEE0xF40xAAm0xA30xDE0xAA0xFD0x13\BUSEe0xB80x9A +U]Z0xCD0xB7xk0x8C0xEC0xE20xEA0xE2mSW0xF3BA0x00s0x8A0x02'\`0xAA0xE60xB50x90pQ0x90P=E50x900x890xEC 0xA60x8B*(0x8C0xD1}0x15l0x0D}@0x070xB90xC60x86 0xBA0xE40xAF0xCB0xD10xD70x9FE0xA80x8A0xAA0xAA}VP[3[0x00f0xAA0x8ABz:0x0B0xA00xE4\_X\_0x95QSU0xDE2h0xBF0xA80xF20xA80x83o0x9D0xBC0x170x150xE50x1A0xD7E0xC90xBA0xFFA0xA00x8A0xAEo0xF80x91s05ek%)0xE10xAB0xA8n0x0F0x95U0x050xD50x8A0xCA0xAB0x1B0x150xC630x15S'[0x050x03"z00x020x8F0xAF0xE9L0x11%0xF5WmD70xC8\`0xEF0xAB0x9B0xAF0xC00x0B0xDD=0xD5UU0xB4sQ0x0E0xB90xEA0x9070xAC*0xABF0x9C\_0xDC]0xD5Y0xF0:0xD00x0B0xF80xDFYR0xDC0x8B/0x930xFC0x120xED0xD00xB50x05LQ0xD5A0x05Q<0xA10x9C0x85N0xFB0xAB0xCE.0x130x810x95M]c0x8FL0x8D0xEA0x8DyF0xFF0xF30xA1F0xDC0xC7m0xD7Ua0xC0o0xBA0xDA0x8Af0xDE0xDA0x8E0xC5^80xAC0xA20xB00xEE0xAF#1eL0x146u0xD4#*m0x080x86@0x160x890x0DQ0x07M0x14E0x1C0x1D0x850x11&0xCE.d0x880xBA0x92M0xD6E0xD2E0x00A0x8A0x8A0x880xFDp0xE50xFA@<0xEFr0x110xF10x9B0x0B0xA90xA10xCF0x8Aj0x8F0x9F0xC30x0D%0xE90xB20xA4*0xD320x12Q0x170xB4]0x190xA30xB3*0x980x1B0xB80xFF"0xED0x0D0xD70x0D0x070xC00x1510xEC0x080xE2-20xE80xAB0xB80x050xC50xE7]x0x07e0xD1:g0xE30x8B0xA20x020x1B0xA40x1EVa0xC00xD7Us%0xA60xA7"0xB80x15KET0x9D0x8B0x8A0x820x97/0x1B0x8E0x150xD7MuE0xB570x0C0xCA0xB70x0D0x080xB20xFE0xBDV0xB1w0x7FV0x95YUT0xB1O0xFD0xFC+ 0x8Ej0x15D0xC4yQs0xD50xE00x130x8860xA00x800xEA0xB80xAE0x150xC40xB00xD40x1A0xDA.0xBE0x13Y%UM0xD50xD0A0x0B0xEB0xA20x8E0xAE0xCE0xB9*0x9D0x950x10S]u0x050xF50xB90xB9"0xAB0xEA0x8A0xAA0xEEDd0x01q0xC5A0x050x950x02L+0xA30xE30xE70x810xA9w0xE50x130xF50x17:0xEF0xF40x0B0xF50xCD0xF40x1Du0xC70x140x150x840xEA0x120x0D0x8E0x19i#0x00Qq=E0xC30xA40xA20xBCS\.]0x040x920x050xF3:0x9A0x01~0x8820xAB0x9AUQ0xE9G=]0xAE0x140x7Fz0x88$0xAA0xF40xAE9M0x910x040xD90x0DW0xD70xD5C0xD60x970xC80xAC0x000x8E0xEE0xCDu0x0EUE0x850xDF0x1D0xEF0xE90x990xCBS0xD5Ca0x07R0xAAM0x830xAA/*0x160x950x0D^0x050x9FOS0xEE0xBA0xEA0x8F0xEE0x140x880xAA0xF50xD5R0x8F0xF5V0xD40x0C0xE2J0xAE0xA6.0x9B0xDFf0x02Z0x170xA70x1E0xC3QT0x820xCA0xA60xEC0xC8k12@0x890x1C]H 0xDA0xE6A0x06\0x85]=T0x150xCF*0xEE0x08"'30xF50x030xF570xE10xF9WfD0x8AK"0xA3!0x9F0xAE0xE5E0x150xB8U/B30xEA) F0x110xC5|[.0x070x920xFB"0xAA&>/0x070xD60xBB0xAB(0xCBh0xEF0x960xDBt0x9D\_u0xFC0x9F0xC20xAA0xB40xA2*#0xAA0x150x150x06Q0xC70xD70x04E0xBF0xBD0x06i0x8A0xBB0x88Q\_;0x1DTT0x15E0x170xF20xA0#\_0xC0:)0xBBs30x1CK0xD5QIu0xA90xFB0x080xCB10x150x14v+0xAA0xA00x0C0xC20x0D0xBD0x9A0xD80x0D10x9F0x12]0xB50xC50xAAP0xAF0x82r0xA00xEAJvEG]V0x850x7F0x070xA40xA30xF70x010xB80x8B:0xACD0xAF0xDC0xE10xBF0x090x110xC10xE80xA9'j0x8A0xEA0xA00x9B\IEm00x9A*0xA2e0xBE0x15H0xF4WK0x140xE10xBB0xA9,0xAA0x0D0xA3 CUuu0xCD0xDD0xD5o0xEB0xDF0xA0k0xD90xAB0x820xAF0xD10x0C0x13U0xC50x110x19U0x80 0x1B#*0x8A:(TL?0x87A0xF60xAE0x9B0xE90xA20xACL0xB20x88E0xD5U0x940xA00xA80xA80xC20xF10xFD0xB4Wq]WI)0xBF0xAE0xEE0x910x970xB80x8AUW0xB1ST0x040x970x170xB00x180xAA0x1Ai0x8260x11]YUU0x7F0xC0FQ/0xDC0x8B0xA80xA6("0x88tz0x120xF3]WW0*0xCE0x1A"0x0C0x92U0x19*0xB20x0C0x09(0xABg0xC5C0xF7U0x15 0x05E0xC10x980x8E(0xA20x8E0xEE0xFB 0x17^0xF90x07m0xD4%0x190xF90xAE 0xEA00xAA0x180x9F0xD4\`0x10^4p0x14bn0xF30x030xEA0xB00xE8B0x860xD50x160x130x030x8A0xAA0xEA0x89^0xD80xD10x01U70xD0D0xFC0xB80xB20x8AH!0xA20xEE0xF9UTfU0x9F0x92u0xE10xE70xD30xF2&0xAA0xA60xFFd0xE50x16l0x0D0x15Q 0xAF0xA60xE6.(0xBBjk%0xD8^0xCA0x8Bz0x920xAE1|0x95|0xE7UU0x0420xB980xA20xBE0xABj0xAB0xFC0xA5q0x8F0x8B0xBE0xA80xDCg0xB60xA5\KP0xB3o0xEA&0xA30xC80xAB0xC40xD20x82EQ0xD70xE00xC90xEE0xE20xEAx0xEE0xC20xA80xFB0xA80xA20xCA]z0x930xF57s0x984+>0xA20xA2.0xAA0xA80x169U0xE50x15E50xF30xFD*-0xA60xE2]a0x150xD5*0xE20xAFV0xFA0xA8j0xEA0xD3a0xD90x1D0x7F\`}\_*"kJ0x8E0xEE0x8F0xEB0x88t0x9D0x030x1C0xEC0x85m0xBC0x8A0xE10x080x02l0x970xBB0x90VW\_
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
!a0xB7];0xA2+0xCE0xB40x880xAE 0x170xAD0xE5gl*.0x99m0x11|0xE36}0x94}0x0E|0x90i30x8C0x88!0x110xD50x0D0x05]0x170x140x0D\`0x85.0x81,0x9A>0x8B\0x99-0x130xFE\_0xD5Un0xBA0x1E0xEE0xA9Ij0xCA0xBA0xFE0xC2@0xB7LB0x1F0xB1F0x880xA60xBB*0xB00x89**0xBA0x050x91t10xAF0x170xB6*q0x150xB70x01]T0x15my0xF20x00'0xB80xAC5.0xD50xCC0x19R}US@0xEC0xFA0xAA0xC2y0x800xB8Ou0x01\UQH0xD5Su0xBA0x980x8Ba 0x92Xe40xC3U]E}0x150x890xA20xAF0x81]EUW0xBE&80xA90x8F0xAE0xC1*0x1E0x7F0x15!0x110xF50xD1X0xA10xEA0xAA.0xFC0xA20xA60xB80x15e0x9E0xBC0xF4V0x030xB6*0xF30x830xAEN0xAB0xB20xA80x0C70xD30x88F0xCF0x16V.0xEA&0x930xAE0xA80x040xB1%uf0x950x920xA2*0xA60xDE0x80t0x140xE40x9C0xFDu0xEE0xE80xB40x120x920x8F0x1C0x83W'0x0F0x8D0x1B0x071G 0x93#0xEA0x9F0xAA0xBA0x8BUC0xFB0x9A7O0xDE0xBB0xA9.0xF630x1E0xAB0xEA0x050x110x06S0x820xAA0x8600xE1X0xF00xB40x1F^]0xBF{0x9E0xFC0xA6 *10xAEY0xF50x01Us0xB10x040xB2X0xAB0x900x9E0xEA0xA90xA00xBA0xACYU90x870xC30x08V0xAA0xE30xB8:0xAF0x8F0xE90x870x170x17Y0xC7%0x150xF1$)0x060x9A0xAEDQ0x1FT0xEAH0x8A(0xEA{D0xCD0xDC0xCFd0xDDQOTY0xDB?0xA00xBA0x8B0xBB0xAA0xA30x9D=0xCC0x17Y0xBDDE0x8B0xA80x140xC50xF3#0x7F0xB10xD10x01E0xC50xC20x170xD40x110xC3B0xEF-0xA9J0xA00xBCQT0xBB0x15j0xE2,0xEEA0xDF|VEU0x84|H0x870xA80xEA0x81Z0xBEJUT0xF2Ye0xDF0xD5U0xE20x040xD00xCC0xBA0xEA0xB0*0xB8A0xB1S\_0x05uM0xDA 0xAF0x090xD90x8C/0x88u0xD5Q0x11WU0xDE0xBD+0xA90xA9r0xE20x080x990x1D1K,:0x1A*t]2g0x15w0y0xBA0xEF:j0x800x1A 0xE80xD10x106q}UF0x1D0xF1(0x060xC90xAA0xA80xE20x800x900x05R0xD50x84o0x8410xA0k0x860xB10xAEk0xAA0xA20xBF0xDDRSTW0x11U0xBA/0x820xC7n0xC50x99q0x9A0xE20x8E0xB8R0xB10xA30x83E0xD10x050xF10x14qw0x930xBEc0xEB0xB9:0xE80xBA*0x95cwiWM0x1E0xDC0x7F0x8C 0xEE0xBA0xBE 0xEAW0x05\v0xDB0x150x11U0xFAl0x990xE20xB0j0x8C0xAB0xB4X0x9C0xC10x130xFA0xAE0xFA\_]0x050xC5X0x16Y0x1E0x980xBE0xDA0xCE0xAE0xDA0xD30xB80x7F0xF4u0xD3l0xFB0x100x1Di0xBA 0x170x0E;0x9A0xBAK40xD30x1C0x84S0xD4Q.0xA80xCA0xD00xA40x190xF80xEAO0x18{0xD20x8E0xFD0xE3+zP0x150x1B}0xAB0xE30xA70x880xBBEV0x15fICK?0x0DB0x0BU0xA8.0xEA0x15X0xA50xDD0x09@0x85W0xAE0xC00xAE0xB90xBA0x840x8B0xF2q0x130x910xB90x7FT0xFCY0xBC0xA80xBB0xB830x9C0xFCR0xB10xDDUSs0x1E0x15J0xE80xDE0x7Fh0x010xC0D0x160xE90x86b0xFE0xC10x8A0xFA0xEAu0xB50xF0}0xC5Vq0xEA0xC80xDEa0xE80xE8'0xA40x9F0xE80xD50x01U0xE9GU]0xE10xCC0xA390x8B0xA00xEEcE0xC4DQ0x9F0x01Ul0xBC+0x05+0x800xAA0xA8JUw0x19Y0xE80xAE0xAA0xAE0xD00xAC0x040xA6au0xD5Fx0xB80x16"0x82s0xE8*EUTP0x15<0xC50xDC0x850xE80x00H0x8A0xF60xCC LtE]0x9F0x850xC5q0xEB0xA60x8A0xFA0xFA0xC70xE28XA0xC710x01U]yj#0x9C0xAAW0x17C0xB50xB20xC80xA80xA20xD7L0x0Dls0xCD0x050xB10x9Aj0x840xBA0x8D0xE80x860x8B0xC5PUAV?)0x1AH0xB2&0xA8.0xDE0x1A0x83U0xDE20x90E0xD40xB2TE0xBF0xAA0x800x8E0xAA0xB80xC80xC70xD60x910xD1@0xB50xDD0xF90xEC0xB20xC00xAADV0x1C0x15.0xFA;,,(0xAF0xB1\S0xB7\w0x050x1F%0(0x0B)0xB20xA7+j0x0430x070x1DY0xD20x0F[0xC80x9EJZ0xFB0xB80xAB0xE30xD50xB1V\_0xD60xF50x150x840xAE0xF70xBA0xE70xA80xE20xA2(Ew0x11X*(0xFA0xB8Q0x1D0xD50xD90xD90x91DL0xCE0x8A0xEE0xC80xC90x8D0xA80xA8a0x9560xD9=0xAAFV0xC20xA20x864o0xA1*z0xC4Q\_SA@0xBDm0x8Bz:0xAA0x120xAE0xB50xA8T0xB4V0x16TT0xD5U\`0xF50xBE0x020xF40x91L}0xC7z0xDB0xBB0x8F<[0x970xC50xF50xD5^0xA00xEF0xE80x020xAE0xB00x9F0x0E0x94uW0x060x85w!5N"c0xAF0xAF0xCA0x8A0xAA0xA20xD70x070x0C0xD70xD50x17M0xD7ZG0x880xE60xE90x8E0xE60x9F]0xBF{0xF7U0xA5Tu{0x92r0xEA90x91Q0xDD0xB20xA30x120xAA0xA30xAA0xFA0xABr0x03[0x1F0x140x0BPw0xBE0xAB0xEB0xAF0xAA0xD70x920xB80x0F0x950xE6Yq0xF7U10xAE;0xAD0xA2H 0xE80x89GY0xF0aL0xD30x880x150xEE0xC20xEC0xB3/0xA00xBAz0xDF0x9CEw0x950xA20x8A0xFE0x1D0xD60x190xD7wr}0xF5."y0xE4y0xBA0xBC;R0xD7\_10x1D0xF70x1E0xB00x8A0xB70x8A9?0xCA0x8C0xBE0x140xFB5V70x190x1D0xF5:0xB88.0xAB0xB8.m0xCBq0x1FM0xD10xDDYU0xC20xD80x9B0x9EUaL0x910x7F0xC10xD30x820x8E0xAA0xD7E0xC66U7E0xB70xD5u0xE2*0xE50xBE0xBA0xBE0xA950xD4|TlLU0xC50xE8X0xF40xED0xAA !0xA0Q0xD3P0xDF0xB50x1ET0xC50xA2j0x8A0x9F0xFE0xA20xA60xAB\0xE40x0D|TaT0xD5F0xE8 L0xD80x150x100x8D0xE90xBA0xFA0xAA0x1C0xA70xAB'U10xF1#0x150xE5/0x05'0xC10xAA0xAF0xA30x9A0xAA0x990x15@%0x1FA0x16]U 0xBE0xFF0x020x8B0x8F<0x820x120x95W^0xD1EU0x1D0x880x8A0xE1:0x9F0x08J*0x170x1CE:0x842j0x8A0x050x1B\_8gg0xBFu0xAD0x0F0xBEkD0xE70xB60x84F0xED0x97wVN5n0x9A0xEE0xB6*0x8C0xEA'0xBAE0xEF]0x120x0F0xF5eM/N,j0xA30xE0z0xA80tx0xF5h0G0xF5>0xE8k0xB60x1F0xD50xB70x990x870xAB0xB00xA5uu0x14tUu0xC70xDA0xF9j0xD4~0xAB0xB70x0D0xD50xF9W0x97J0xD50xD7V0xAE0xF2Iv0xAE0xCC0xA20xE6|0xCE0xA5EVX0x9BE0x1Ah0x9Biv0x980x8A0xCA0xFF]>E0x03Gty/0x880xEA Rxs0x0D0xAA0x7F0xAB0x8E0x1Ak0x100xB90xF2]0x05\_QWE0xF40xB30xEA0xDD0xFEf0x840xEF\`0x100xF30xDD6D0x00Oe0xAE0x0E0xEA!0xC2z0xDA0xF20x85l0xDEMEeQQ0x98W0x9B0x91,0xDE0x1A0xAC0x050xDD]U0xBB0xAA0xAEF0x1B0xC5|F0xC70xD7u0x960xAA0xC20xEC0x170xEA0xAB*'0xD10x93M0x050x91]x0x930x800xA3(0x02p0xB90xBA0xA2P0xAD=%G90xF50x0Dl0xAB0xBB0xAB0xCE*0xA90x8B]0xCC0xF50x9BW0x1D0x15L0xDEH50xBA0x940xC1Yu40xA30x0F20x0B0xB9U0xB9*0xA30xAA0xE24r40xD3WaQB$0xA6+0xAAo0xED*\`0x07LT3eL0xC6c# 0xE2"i0xFAr0xEB5M\`0xD90x80!Re0x000xAB*{0xE20xA1 0xA6g0xB70x880x170xD5Uu]0xC30xAF,0xC9 0x1Cu40xAE0x8Ap0x1E;0xAC0x120xCE5<Q^]0xED0x15Mx0xAF0x190x880x0B0xF4*+50xF40x1E0x0C0x050xD7}0x110xA60x9B0xAB0x1A0xAB0xEA0xE20xA80xCBA0x820x1C0xA1Aa0xC80xA90x8E0xFA0xA60x8F0x9A0x8A0x9A0xBD0xD7@\0xAB*0xB00xE60xD10xB70xF3U0xC50xEE0xF10x000xDC0xDE0xB2"0xFF0xEE0x80.\_0xFE0xFD0x02|Sy[0xE40xBB( Y0xEA0xBE0xEBY}0xB5g0xD0wu0xDC0xF830xB9F0xA20xBA:0xBFM0xDFX0xC70x954\A0xEC6l0x87T\_QG0xB70xAEf0xA80xD00xA7E0x050xD80xC7]0x170xBC0xAE0x860x0B0x1C0xA3)0x8D|0xD50x13Du}{0xD90xFA0x9F;0xEC0xA50xEF0x8A0xCB0xA5Ow0x070x070xD80xF5A0xA6.0xEB0xFA*0xAA0xCC0x06=0xF80xC2Ua0xC10xF90x11)0x8D0xBA0x180x010xD1]0xD30xA80xBB0xBC0xA10xBA0xE60x9B0xADQ0xF50x090x850xD50xE4O]0xDD0xA20xAE0xBD0xBE0xD8.00xD50x1Dv0xE50x1D0xD5E0x100x0F0xAA0xE70x1A0x1B0x1B0x8C 0x1F0x190xE4ZH\_0xC20xC50xAB:0xF20xC10xAA0x92*cY0x12P0xC50xA00xBF*0x8AE0xDD;0x17F0x050xEF0xDD0xCA0xEE0x020xAB0xA20x800xA30xBA0xD00xC70x850x8F0x81\`E0x0CI0x800x010xEB((0x1B0x8A70x1D0xDA0x100xD17D0x150x0B0xBB0x8A0x070xF30xA30xA20xCFS]B0xC70xD0E0x14]0xF30x090x000xDA@0x850x16U0x900x9A0x1AN0xEA0xA80xE30x8B0xAAGDE0x810xAD0xBA+ 0xA5PEM0x16A]5&0xE20xFC0xA90x8AY0x080xFA0x1A]0x15TUrEE0x1BJ)0x8C-kd0xEFMemU0x850xD50xDD0x0D0x8F0xE7o0x0F0xA9!0xA9(0x05\_0x81Uwq7T.0xAA0xB7vu0x1EPU0xFD0xFE0xC10xEF:0x9Eh0xC2t0xDAE0xC5Q0x04M0xC9#0x8D0xA60xB00x92-I0x8C0x910xD9E0x1C0xBE0x18eU0xEF:V0xAB0x0Ef0xBE.0xEBowM0x160x100xD6f0x0F0x9B0xD80xE20xB80xD0*0xA60xD5]0xD90x950xAC0xA20xAA0xA00xD4q&0x93W\_0xD7U0x9E0xEAb60xAB0xA7<z0xD1e40x130xE40xE1P0xD7=0xE320x120xA0b0xB80xEA0x1CP0xFCz0x140x94]H0xA00x1BK0x8280xF60x8B0xE8:0xD60x050xF5Pu0xD7r
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
0x8A0xB4\`0xEBj0xF8&0xEA0x8Bp00xCC0xDB0xEB0xAA0xBA(wAV0xE50xD5Xj0x1D0x9F0xED0xEB0xA30x9F*0xA3v0x92Q0xF10x140x90G0xE4A0x9Ac0xA0K0x8AC0xBA0xE50x93e0xBA0xEF0xD50xD50xB90xE00x8C0xE30xAAj0xBA0xA00xFB,0xF8dT0x15E{U0x940xA60xA30xE840x190x05P0x170xF90x05k0xE0<0x880x8C0x8CUUe0xD10xB7'D0x1D0xBE0xBF0xA98(0x860x880xA90x950x930x1D{u0xD70x9Eqb0x9B0xA6#0xAA0x880x8A0xA20x130x05G0x07t0xC5E0x960xB10xEB<0x8A0xA20xA20xBA0xAB0x150x8BV0x9B 0x8A.0x9A0x180x80i0xD20x7F<C}:0x8A0xAA0xBAO0x080xA2T~60xF30xD5Ma0x1EU0xCE0xA00xA30xC40xA9!0x9D0xA20xEBwUg0xC40x0D0x040x140xE4.0xA90xA60xE10x8A0xAC.0x85WE0xF6]}0x190xDD0x8B(0xEF0x1Dz0x15uyJU0x950x8B0xE20xD0>0xE8f0xC80x8D/g0x05MSE6b0xBB0x02'0xE90x1A0x06:*W0xDE0xBC0x12Z0x15uB0x1B0xAC0xEC0xCAn0x000x7F0x8AD0x0C0xC70xD9E0x1F0xB5T$0x0F0x870xBB\_0x02)0x110xBA(*0xA20xA30x880xAA0xAA0xA1X0x0F0x04C0xDD0x010xEAK0xC9#0xA30x86z0xE80xBFD0x1910xA50xDF00xDC90xBE0xA10xBB0xA9*0x880xFA0xA90x050xD5r0x81#0xF80xF80xFD0xAB0xFA0x880xFE0xAA0x930xA20xF0+0x950xACU0xAA(+*0x0C4mg0xD4G0xB50x140xAE0xAE0xAD>0xE70xAB0xAA0x960xE10x8100xF6DL0xD40xC5(0x880x9A0xAA+0x0E0xBE0xA60x090xE50x1D0x16P\0xBE0xCD0xE90xEC0xBB0xDE0xB20xAC0xAE0xE6Uo]'U0xE7T50x80+;2ug\\`+0xAB0xAEn0xA0 0xBE0xF60xA90xA20xA20xBE0xCC\0xD50xD4D0x05O0xC70x82l0xC1k0x880x190xAE0xE8e0x100xF40xC760xA20xDD0x0E;0xD20xCE0x8A0xA0$0xE20xAAA0xCD0xFBp0x150xE7T0xD50x930xEE0xDA0xE1kLQ0xC4*0xE2i0xC60x13$h0xEB0x1D0xC50x1D0xE70x110x15Y0x040xF0=B 0xAC0x0C/Gq0x1DD0x160x0CU0xB5El0x88>0xAAn(0xAF0x8A0x7F00x7F0x0B\_'G0x850x9A0xA30x8A0xF60x990xB20xAA0xAA0x1A0xF50x0Bu0xAF0xA80x900x890xF50x0EEA0x95o0xDB0xEC0xA0 0xEC0xA90x810xAA0xFA0xA80x190x130xDD50xA90xD4\0xD40xA90x9C0xC66+0xDE0x040xB90xBB\_0xDD?R0xD70x1C0x060xAB0x140xE40xAA"0xA10xBF0x8ER0xE5UM0xDC0x160xF1U0xFA*0xE80xAFD0x7F0xDD}e0xFA0xAB0xBC0x9B0xAB0xAB0xB5O0xA80xC55\_0xC4/ *0xCB0xA60x820xBD0xC80x850x93MU0xED30xDD0xD7/0xB20xCD0x9F0xDAi0xA10xEB0xE40xA1Cw]{0xE05:0xAB0xE30xBA0xC80xAB0xA4*D0x99Tds0x17{Q0xA60xBBnx0x05VPw0x080xA6H0xFA0xBE*0x040x98v0x10U0x10Lp0x070x1D/0x84;0xAA+0xA60xB80xAC/e5X0xC1B0xF4E0x980xFA>0x840xA0s 0x8AP70x05yG%n0xDD0xC70xAA0xEB0xDC0xAB0xA380xA2g0xC1y0x18"0xEB0xB20xAEv0xC50xD20x05=]]y0xBA0xCD0xC3820x040x8A0xEA0xB00xC80x95Y0x090xE5T0xF50xB80xE00x8B0xEF+0xE00xEA0xF40x8CP0xF80x11Sm0x190xF40x8A0xAA0xE8p0xFA0xEA0xB90xFE\0x1580xF5UG0xC5T0x140xAA0xA80xE6UFS0x05A0xA2'0xE20xB80x9B0xE2{QU0xD50x7F0x010xD1Q0xC10xAA0x8A=0x820xA880xDD0xD1>0x950x070xF90x890x81N0xB90xAE0x880xBE0x880x89+!U@\_A0xDE0xD00x0D*O0xAA0x8B(0xAA0xBA0x93]0x150xD70xD10xCCTgU0xEC0x900xB70xEB0xDFD0xC9E0xDEj0x8A0x0E0xEE0xA80xBAd0xD40xF40x9E0x0E|PXD0xA80xCAj0xAD0xB80x920xBD0xF10xD00x110xDE0xC70xDC0xD40xC7Q0xBC0x800x0E0xA9.0xEB0x860x020x0C0x0D0x15\`\E 0xE5X0x8F0x8A0xB20xCB0x0B0xEA*0xFC0x0D0x1EW0xA60xA2(0xAA^0x97\v0xF0$SG0x990xBCP0xAA0xAA0xEC0x8F0xC0S0xC50x7FE0xDBMR0xD50x8A0x8B0x020xC30xFA> 0xAEuW1BiU0xD10xF7+0x020xBE0x02-0xAC0xE10x9750xBC0xC50xD6}Q0xF5U0xE90xB80x8AcGE0xC50x1C0x8Ds0xCE>0x89OK0xDC0x91S\_0x14}WE0xDE&0xB80x1A0xA20xF2 wQT0x170x823qVf0x830x16t0x833a0xEF0xD20xD5M0xF10x1CM0xFC0xE70xCE=0xAA0xE30x8E0xFA*&a0x9D0x160x06u0x84=|0xE00x8C0xBE0xBEu0x8370x15}0xA60xF20x1B0xF80xB10xD00xAAU0xA70xF1]0xD40xB50xD50x1F<0xB50x9E0xEA0xFC0x87!0xE00x1C0xC50xD30xDD0x960x170x110xF50xFE0xBA0xB70xF9\0xBF0xAA \0xCC0xE2E\E0xBDq0xA80xA90xF00xAF0xE60x880x1B0x02p0x91U%0xA80x9A0xAB0xAA0x110xDE0x05bwTGU0xAB0xEA0x0B0xAA0x820xA60xC30xCB0x04&gG]0xFD&0x0D*0x8A0xBE0x0E0xBF0xFC0xAA0xA70xF50xD50x8Cu0x85]0x990xEE0xA20xDB0xBE0xEA0xA60xAC0x8B0xAA0x0Ft0x990xB4U0xF4W0xDDO0xA80xFB0x850x1DW|i 0x8E0xDAj0xEA0xBE0x100x8Ah0x950x100x1A&\_0x95P0xA20xEE0xBA0x050x8520xAF0xABAOA0x0FE0xC70x03wi0xCF0x020xB30xA70xAB0xEB0xB80x17uyaO0x97\0xB10x170xED0x880xB2H0x8FT0xB8Mxw0xC10x1FU}0xF4 z0xFETT&@0xDD0xA80xAA0xA90xCC0x9B0xAA0xA80x08Y0xD80x99DY}0xA9;0x7F#0xAE0xE20xF60xA40xD20xFCv50xE7u0xD30xCBE0xFE0xB30x8F0xC60xEE@0xAF0x9A0xAA0xC10x970xC20xEEH40xFF0xD6*0xBA~0xE20xA20xBA n@\`\^0xBE0xAB0xA80xA60x9D%0x1D40xA60x110xBDT0x9A0x180xA80xEA0xAE0xB00xBE0xBE0x860x150xF40xF50x150xDBx0xF20xA2KJ0xA6@0x960xEASq0x17WC0xE570xB90x1F0xEE&0xAA+0xE6+0xB80xFDv=0xF45S0xF10xD9U0x120xA80xFC0xA7#T0x140x140xF90xAA0x8E0xBC0xBE0xB30xB30x80[0xD10x930x95m0xD510xD60xE70x1EN0xF260xA8M0xD60xF40xDE0x150x1EQU0x0E0x10s0xCAQ0x9BF0x0DU0xA1DW0xE50x08GH0xEE0xA2f0xE20x800x8A0xA30xE81}10xFD0xDF0x120x9A0x04< 0xEA0xA80xD8L0xB4,*N0xAF0xB60xBB0x090x9EsY&0x95W0xBF0x140x91Wb0x800x9B0xEE0xEA0xAE0xBC0xBBX=0xD50xEFQ0x840x95Y0xEC0xE6/[0xBF0xAC0xEA>EAr@U&0xD3W0xF1*0xAB0xBBV0x8A0xA10xAC0x97G0xA30x960xAB0xAA0x870x8C0xD9YG$c[Y0x940xA10xF90xA20x93#0x8B{0x9B0xC50x97EQ]0xDF0xDC[B0xA60xA0 0x0D0x8A0xF20x9A0xDFUw0x850xDDI0xC4\_0xAF*0xCE0xEA0xD30xEA0x810xEAE\0xD470xFAU0x9DU0x8B0xEA0xBDzfV0x00G"0xA20x900xCB0xDB 0x1F&0xC3cM0x11]0x9E0x1D0x960x880xAE0x0C0x980x830xCAb0xFC0xE7\80xA61ZV0xEA0xAAH0x8260xA8:xfA0xE9\G\_0xF5}0xC0 0xB9L"0x9E0x970x9AV0x1D0xD70x11EM0xD10x15Z0x0F0xF30x01m0xB0E^0xB80x880xA90x8E0xB20xB90xB20xFAx0x190x940xDE0xD5A0xE1]0xE60xAB0xCB0xFB0x8BJ20x96fSU0x940x1BC0x150xD50x9B0x0B0x8D0xA90xCC0xA60xC8j0xC10x130x100xF10xD7=tw0xFB0xF1~;0xAA0x920xAB0xAFY0x950x9D0x7F0xAA0xAF0xFA0xE8\0xD50xDCd0xD6}\_Q0x920xE00x8A0xE80xA60xEA&h0xD40xE40x0DtU0xC50xB6Mh0xC40xAF0xCEd0xE40x82:\`0xD5s0x000xCC0x18qSk0xCB&0xB20xACX0xA2^$}0x13W0x111UD0xA110xAC0x82t0x13XQ0xAE:0x82j0xF80xEB"0xEEZUuxY[0x1Cu0xBCau0xDD&0xA1L0xF5H0xEA0xAD0x150x0D0xA60xC8\`0xCE|K0x060x8A0xBE0xA90x810x02&')0x10&U0xF80x11U!0xAA;"0xA030x140x1E0x100x9B'0xAE0x100xA60x8C0xB80xFB0x930x85-0x95DD0x9F0x7FX0xE80xEA0x8A0x92;0xC2"0x110x06P0x890x03\0x8550xF20xAA0x9F20x7FD0xC80xCAsE]S0x06eP0xDD0x880xDDj0xA80x0D0xAF0x980x820x8DU0xD90x16'0xA80xAC0x830x150x010x9F0x90Oat0xC80xA20xA30xEA0x820xA70xA0x0xAE0x150xC5S^0xBB0x15F0xD00x980x10 (0xFA0x8A0x820x9CQ]P0x9D<0xF10x16a690x9E0xE80xBC0xEB0xBE#0xD60xD50x9C%0xB6U]U0xA00x100x9B0xB5^EL0x100x880xE20xAA0xA10x8A0x8B0xB10xAB0x950x98p0x91SI0x950x1B0xB2*0xC7:0xB20x1E0xDB0xA00xF10x7F]0x90W0x140xAF0x90H0xBBD0xD5u0xBF/\_0xF1M..|0x0D0x8F0x8F0xAB0x8AO0xBF0xAD0xC7ET0x080x17,0xA10x8A0xBB@0xB10xCD@0xF90xE9 0x820xCF0xCC20xE80xFDe0x13M0xF7OW0x1A0x9A0xA3O0x1F'0x020xAA0xDE0x170x16L0x16W0x09=0xB60xAA0x930x0F0xA9"0x9Aj0x1Fb0x06=0xFDyPyS(0xD2Z0xF6(0xFEH0xB710x95Gu0xEA0xA20xA10xAB{]0x81Q0x010xF70xB00xD40x9A10xB80xB80xA90xA70xBA0xD8q+0xD3|@0xA5Qt0xE00xC3r0xF2J0xECz0xB00x1B0x9D0x17G[0x99w{0xA20x900xBA0xE90xA20xA00x020xCE&0x010xDCEB\tW"*0xEB0x93AMDU*n0xAC0xA80xAB0xAE0x80hgU0t0xF70xCF0xD4u0xB70x9E0x7F0xADZ0xEF0xA80xC9U0xDEwI0xD9IL0xE00x880xBAN
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
0x190x17V]\0x1Dh0x190x9A0x0B0x8E*0x900x95h0xABQEQ0x15Tu 0x140x00*:0xB30x11 0xD60x070x97+0xBE0x8D0xA250xBA0xB20x9050xD40x99ri5tz0xE90xAA0xFB0xCF0xFD,0xAAM0xD5]0xFB0xCA0xFDD0xDD0xC0j0xE970xFC0x88"0x920xC4%"S0xDD0x090x11Q0xC2)0x010xE0*0x1Ai0x930xD2Za0x910xAA0x080xBB0x09f0x13sLgq0x7F00xE2;0x99x0x0F~0xBE0xAA0x1D5P0xF00xEC0xAD0xD50xC80xA90xAB0x900xE80xAA0xAA0x8CJM0xD6]Les0x0D}0xAC0x92$0xEC0xFAj? t0x04}0x1BuU0x15/80x9A0xB90xA3W0x1D0x1C0xD5L0x8F*0xE80xDF0x000xA7#W0xC74sGT%0xA7V0xB80xAE0x860xAB0xFA0xE40xECU0x7FU0x860xB90xD3|0xDE0xB7,0x8E0xF2*c0xAEl0xEE@0xDE0xF4WLUUT0x1DS0xFA0xE20xCAn\tT0x100x880x800xB00xAC0xDE0xAA0xBBh0xDD0xD50xD1L0xCD)1U0x880xBA0x090xFD0xFF0xEBr0xAB0x100xFFB0xDDqpgEZ0xAC0x8C0xEB0xEA0xBE0xE9:]0xDCLI0xFD0xF70xDD0x130xCF0xEA0xCA0x0E:0xBA0x8B0xE8^0xB3C]x0xEC0xAA0xE2]\_y0x13v0x0D10x1F40xACn0x7F0xAA0x0D:.MZ0xD20x9Dx\|w0xEE~0xBA0xBF"0xCE0xEE0xFAV0xD60xE6p0xC60x97M^0x020xBE0xEE0xE80xBA0xCAk0xEE00x02jZ0x940xDC0xF5e0xB40xBE0xE3kB\`B0x910xD70xEEj0xAE.0x0C0xE4/0xD5ET0x15\_T0xD4\_0x9B0x080xBA0xEB0x88&0xA90xAE0x10T0x930xFB0x11dP0x17:0xE8:0x1E0xC60xFB;:R0xFDMZ0xDEy0x1BI0xAA0xA20xBEPAUQ~A0x810xB20x8DH4S0x84Q0xB6:0xAAa.z0xE22N0x1CG:0x05WUQ0x020xEA0x93h0xC3C0xF4:0x05Wft0xD10xD30xD4v[0x9F0xF20xE80x9B0x8B0xA20xB8U0x17s0x1C]U0x1E0x940xCA0xA80xAE0xE00xBC0xA3?0x080x910xF5?x, *0xFE0x11iXTG0x130x9F0xE00xA20x830xAE0xE0 0x9A0x8E0xAA0x190xD70xDEH0x140x090x07DO0xA9.J&0xA80x030x8D0x0D0xF0G0xD90x05;P0x070xAF0xF8J#0xE10xA30xE8&U0x07@tEU0x04U0xC40x8A0xC0PD10x0Em0xAE0xB90xAEO0xEB+0xABdG0x130xD3E0x150x110xB8I0xEF;0x9C0xCB0xA50xA20xE9X0xD5T0xD5S0x170xF50x80U20xAC0xA20xCA0xAE0x0D30x10V0xC4s\40x0DUTq0xA00xAE0xE9 0xB00x070x1Au0xAA0x1A)0x080xEA0x08.0x130xD4Pd0xD5@]0xD6(:0xB80xAEU0x940x150x140xCB0x82(0x1E0xA5*.0xEB0x11E0x0C0xDF!0x100x1B]0xA00xA2z0xAE0xA6.0xD30xEB0xD00x15(0xD50x03<0x15P0xAE0xBE0xE9\0xFA0xB00xFB\_>QEUS0x17y\_0xDB0xA60xAF.0xCA0xBA0x82"0xCC0x0C0xA7D0x820x980xAC(0x150xD00xD7DU0xD50xD1UM0xC80xDE0x990xF00xF80xE2j0xA52ZE[0xD5g0xC60xA30x83*0xFE0xAB0xA10xA5F0xFD0x95)0xE7t0x04eQ0xBC0xA0)0xEB;0x0D0xC3s0x970x01OE0xC9\_T0x150x9A0x080xEE8]D0x00\0xBC^0x80J0xBA0x8C0x920x930x940x150xB6Y0x9Bq0x150x830x9F0x8EW0x870x92(0x990x93V0x0870xD7VW0xD1S0x8A0xBB0xA60xE30x8E0xA90x830xB10x11UMQ0x06EB0x15mEe0xB80x8A&#:n"0xA00x1270x110xDD5UUt0x8A+0x010xCA0xD7Q0x14p0xA70xAE0xA90xA20x8C0xA610x06%G0x9C20xE17QC0xEB0xA20x890xA6/0xB00x9B(M0x11Q0xB0M0xB40xBD0x15,0x960x8Ba0xBA>+(0x14T0xDFa0xC90xF7#0xFA0xBB0xBF0xE80xFA!0xA80x9A0xEA0x9D)0xD5Z0xAA0xEA0xAA0xAE0xFE0xDB{0x0F'0x1EE[n0x9A 0x1A&0xB80xA1<0x130x110xA5T0xD50xB50xACt0xB60xA10xAE0xA00x830xFB2>0x130xF9UU0x0E0xFBKU20xB80xAAD0xA20xDB0xAB0xBF0xF5tQ\_0x14U0xD5S$a0x9A0xDAA0x15U0xDD0xE06L0xF80xE30x7F0xD7>DGXteM}v\`0xCE0xFE0xFA0xD90x8A0x8A0xAEp0xD0\r^0xD50xD00xD50xE60xEB0x9A0xB10xE0K0xA40xAD0xA40xD30x050xC60xB1 0xEC0xA70xB00x1D\U0x15V240xB20xF90xBE,0x9Da0x1C0x110xBA0xE80x8A0x140xC2h0x8F0x980x01y0xE1Lt~0x050x190x990xE8(0x980x800xDD0x020x8F0x910xDDB0x9C0x010xDDr0x17!0x9Ec0xAE0x930xA20xBE.0x11UU0x1D0x1F0x1D^%:0xB1&0xA50xDB0xAD0xAA0xAA0x7F5Xg0xAA(0xFA20x0FU0xDC0x10S0x9D0xE5q?0xF20xA80xB20x8C0x0840xA0MCU0xA30xC9UG0xD50xA00xA1"0xB8+0xE00x87<0x9DR0xD7|yL0xB30x0E0xA9z0xB70xA80x180x0E0xD80xAA2m\kD0xF4]q0xA20x820xFA0xE2]WT0x150xDB*0xAA0x930xB10x86n0x0CUp0xA00x0F1$[tZ0xAF0xEA0xEF 0xA8O0xADL0xE4m0xDDHQ0xE4W0xA8H0xE20xEF+0xBA0x8A0xE9A0xD10xC80xC5X0xE70x93][r0x92u0xF3t0xF80xCE0xDA\20xAA0xA40xF20xF6l0xC4G0xC6US0x140xFAD0x8A"D0x97W\.0x8B0xA80xBF0x820xAA0xE80xE6T0xCE0xED[S,0x09v0x8A0xA60xB8:*a0xACH0x92U50x10*q]A0xABf0x030x0B0xB30x82.0xBBMD10x99QA%0x10"0xA00xAE0x080xA80x850x8C0xBA0x880xD0lz0xC30xBA0xE80x830xC1su0x05EM0x97u0xB0j0x8F0xC10x800xE30xAA0xA30x050x91]0xD7Q0x900x96C,0xB00xBB#0xDAX0x9B0x07S0xF430x050x970xDD0x16t0xC00x8E+0x060x8D\0xAE0xE10xDDT0xDD0xE1]0xD3UQ0xF80xB10xA90xE3R0x7F0x8D0xE40xFA0xAB0x8F0x8C0xEA0x1F0xA00x02@M0x1B0xD9d0x9D0x030x110xEE0x8F0xC9 R0x8C0x13p0x10LA\`U0xCE0xD5}90xCA0xCB80xC0@0xCE0x99x0xC50xD7ya0xC70xA5SoUO0x870xEF0xBA0xAE0xFB0xAA0xD30x8C~0x0Bv0xE7E\_U0xF5"0xFE20xE70x150x0B0xA5S=0x0B+0x980xC60xAEjITE&0xCDN-ME0xEB0xAE0x190x0E0x880xAC0xAF0xA20x000xAE0xB70x04I0xB50x8FR0xAB0xA70xAF20xB30xD00xCA0x870x9FE0xBD5WU0xD2u70xAD0x9E0xBF0x030xCA0xBE0xAC0x13I0xDC0xDD0xA60xEA0xC20xA9UGW{0xB10x9EQ0x130xF30x0E0xE2k0xB20xEA0xA00xA20x10T4!0xFD0xAE0xF50xF1(0xB60xA10xAA0xA90xAD10xAA0x130xBDe0xC40x98U]Q:%0xE60xEB0x9A0xE90xAA0xE2\0x01SobWGXj80xB20xEA0x1ADQ]0x1B$0xB80xEB0x010xA0:0x800x070x149C0x1D0xB50xF1E0xBD0xFE0x89+0xE80xB60xAE+0xDDT0xD9e0xD90xBD0xFD30xCA0xA80xE80xE70xAA0xF80xAB0xAA0x02*0x90]0xC10xDEQ%]0xDF42c0xF2h*j0x8B*;0x0F0xEAQ0xE9UT|0x9B0xC90xCA0x8BE0x11L0xD1F;+X 0xAB=0xC70xD9YEUU0x93}U0xF30xAEh0xCDm0xB0: 50x14g0xDE0x0D0xDD0xB40x090xBA0xD70xB2j 0x9A0xBAsY0xD7qV0x0F0x120x14Q0xAE0x9A<L0xA90xBA0xAEj-0xD5}]0xAB0xAA0xA80xAF0xD3*0xBD0x800xD10x07rM0xD90x9A0xB20x880x000x040x83;Q0x15Y0xF1\`U0x1D0xBCh0xA10xCF0xAE0xA8$0x8C0xA80xD1W0x05\0xDC0x960x13d0xCE0xAB0xA70x820xBA 0x0B(0xD5=0xF60x04]0x15]Ga0xA2 0x0FY/IU0x88/0xDB0x1F0xBA\`0xEA0x9A0x8Be0xCE]0xB7%d0x0D0xB70x1A0xA2-0xAF0x8C0xAA0xAF0xD6#0x10w0xB70x9C0x95Y0xAE0xA80xDA0xA8}0x910x880xFE0x8E0x9F0xCC0xA20x1F0x180xDF0xD4KQY0xED0xDD0xD40x880xA80xADl0x13}eU0xD00xBA0x8A0xD00x05k0xCD0xE6Au0xD7W0x14su0xF70x0E0xBBy0xDF0xF30xAEb0xBD0x160x9D]0xD530x1Du0x7F0xB30x1B0xF2~S0x080xF20xABQM0xF10xF3\Tu?0x820xB20xEA8"+0xBE0x890xB40xD60xF50x15B0xEA0xA80xBB0xDF0xB30xF1w0xC1Sf0x170xA20xB20xEA2)fc0x830x0DUU0x85PA0x91D*0xD8(0x880xC8(0x880x0E0x07]0x190x8C0xD5=Ft#l,0xAB0xDD0xAB.0x06\_0x990x1D0x14]-PW^0xBB80x000x850x0190xF320xEA+0xC20xE20xEAB0x16TkA0x97T0x03CU0xA40x1B0xC2\_:0xA70x9B0xEFv7U]0xFE0x170xF5G0xBC0x9A0xBC0xEB20x030x88hX0x870xC5U0x15q0x930x1F0x860xE30x8Bi0xA30xEB Ep0xE4E4]0xF9q0xFE0xA80xE20x8CQ0xC1T0x870xC80xC9 0xA00x880xB20xBA0xAA0xD20xD70xDC0x9C0x8Du0xD5P0xC90xFC0xD00xD80xAA&*0xEB0xC80x95~0x050x8F"0x170xC10xAE0xB90xB00x830xBEI*.0xFF0x190xFC0x19GyF70x0Bjf0xBA0x92k0x0E0xAC0x12Go0x940x9B.B0x8CXMVL0x9Dt0x100xC6(*0x94F0xD8:0x1E0xEBXV]0xD7yQx60x89b0x0B0xB80xB10xC60xAA$0xF90xC70xFC^UU0x14T0xFA0xCE0xA6H0xCA(0x8AwV0x810x9A0x14ME0x8B0xC50x8B0x830xAA0xA8Q0xD50xC1]0xC90xDC0xAE0x1B0xAA00x10;0xD8y0x16]0xE2F0xD1o0xB90xA60xA10xEE0xE30xBA0xA30xB90xF80xA210x180xF7<40xFD0xF60xA80xFA0xEF 0xCFx0xDBT0x19]0xD5!0xC5v0x1B@50x960x990x0B0xA30xA2j0x8B0x882y0x1B0x890xD00xD30x850xEF0xA00xE80xA60xA8M0xC5C0x11o0xAE0x8E0x8BJ,0xFD0xCBE0xFB]\f]Rj0xFA0xA00x9Ek0xE70x800xA900xE6G0xD50x14u0x1EAq0xBDz0x1A0xB80xAC0xEA0x92hW0xD42u0xC50xD6Vz0xCA0xA0>0xF60xA8870xAA0xB5P0xB70xB20xAA0x020xA90xAB0xF9~0x99W0x950x0D0xD60xD50xAD0xDA0x980x840xF00x18 $0xF4U]G0xB00xBDU0x010xA2 j#0xAE40x860 0x940xD5T0x16[0x970x050x000xD30x8C0xBF0xB2":0xAA0xE2S^0x84F0x910xD6U
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
WARNING:root:SAM3U Serial buffers OVERRUN - data loss has occurred.
0xA70x9B0xB00x97R0x100x19M 0xBA)0xEA0xD80xE0(0x1Dt0x10-0x09Qu0x140xD50x840xB60xB20xC800xAE0xE2<50x176P0xF10xE7#U0xB1b0xAF0xB6h0xAA0xD10x860xF90xD1U0xC90x860x82?0x8A0xAF0x830xDD0x1B0xC20xF5|0x1FE0xF30x14T0x010xAA0xAA60xAF0xC40x11Va0xF80xAA0xFC0xA20xC90xB00xE40x860x010xD2eUI\`UK0xAA0xC8i0x890xF90xBF0xFB0xCA0x0D0xCD[L0x830xD5e0xD70xCA0xBE$0xFB0xFB?0x870xA30xDF|0x110xCB0xF7DAt0xF30xAA0xEB0xA60xE90x910xF3*0xF00xD00xD10xE20xB80xAC0xA30xAAp=D0x950xB20x970xDEe0xA30xFB0x0E/0xB20xB00x840xE0M0xF70xA70xB0U0x150xC6]0xD40xAB0xE20xEA:(0x010xEA0xFA0x9A0xF10x0B0xD50x1CM70xD80xBF(0xAA0xF90xABk2y0xD50xF5u\0xD50xFDa/0x980xA90xE3Q0x00X0xC10xB30x880xEA0x010xBC0xAA0xFB0x885P0xFF@0xB40xCA0xE5O0xA80xC20xE30xCB0xE4=0x8E0xB9@0x190xD00xD80x850xA90xBDW*0xA20xCB 0x890xA0 0x1B0x180xF4UQ]@>j0x89qU0xB60x13)0x9D0xFA0x180xFE0xCA0xA8(cA8DT0xC650x84\_0xE8<b0xAB0xE8b0x88wD0x110xE10xA40x11r0x130x990xA0b0xB6/0xEA0xF690x010xD00xF50xD70xE10x7Fl'0xAB0xBF0x10'0xCA0xE2,0xAA0xDDwX0x130xBC0xC9J0xDE0x18Y0x91d0xB3W0xC6=*0xEA0x8E0xA90xF70xF60xA610xC20xEC\_0x02E]{0x070xEF0x8A;0x024+(0xAA0x1Cwm0x8A=0x850xF5y;0xA70xEC80xAB0x820xFF0x090x1F0xD70xEF0x9C0xDCFT}0xBE0xAE0xAE0x88P0x19oQ0x8A)j0xE3k0x0E0x880x8EQ0x150x8B?GWp0xCFP(@0x8E0xEE0xE50xA3kuE%\0xEFEU0xE10x8B#0x96h0x860x0D";10x05U0x190x07LZS0xAE<i0xAC $0x07*0x86VW0x04>P)+0xE70xF00x160x100x11Av0x18+0xEB 0xB30xBBjQPmgU0x13\_0x100xBE0x920xCF"0xA9,0xCB0xAB0x1D^K0xF60xE9]0xCD10x9B0x9B0x830xAB?'0xB20xE90x110x99u0x8Dn0x7Fw0xC5o0xEB{0xC60xA3*z0x80GG[0x140xE20xAE93s?0x1F50xDCV0xF5s0xF260xA820xCC0xC60xFB0xA3mE0xFD0x97UE0xD50xD40xFF0x860xBB0x8C0xDE0x8F0x91860xC9W0x1D0xF5C0xDD0xF7!0x8B0xEB0x9F&0x080xAF0x830xE5U0xF30xCDQw^U0xBF3+0x990xC6T0xC50xA90xF40xF40xD10xA80xA60x0E0xFE0xB90x870x110xD10xA10xE40x10\0x9D (0xA20xC90xA3h0xA90xBF0x87@0x95I0xD10x090xA00xDD0xEB0x0B0xA2;0xEA0x0B0xAE&0x820x010xDF^0xDFws5e0xA2&0x8F0xAB0x1E0xDBre6SG0xAC0xAA(0x8E0x800x8E<0xD0UV^a0xB7S0xFC0x800xA50xF20x0E0x810x03]k0xA10x87+0xEA0x980xA80xAE0xDEU0xCA0x110xC4J0xBF\_0x16j0x9Fr0x160xE0.60x8Cw0x0750x060xE40x1Ee0x1D0xC20x8B0xEE0xAD0xBD0xAE80xA6UNU0x940xFDD$S0xA9n0xA3*0xE90xE0(0x8AM0xE50xE7L0xEA0xAA0x9A0xF7i0x8Dw0xD7T0x13UUj0xAA{#0x1A0x830x82Ut0xE60xECw0x07dv0xD8g0xEE.0xFB0xBF*0xAF0xE80x1D0x150x09]G0xD6CP.0xB80x1Bh 0xDA!0x10DZA0x11L0x17WU0x000xFE0x9AGIEuD*0x8B0xFA0x16J'0xFA0xBE0x140x170xD00x16H40xDA0x090xBA0xAE~0x890x8F20xDA80x8740xDCt0xD3fy0xF50xE20xAE#0xEE0xAA0xAA0x070xACe0xA20x030xEE0x19Y0x0D0#80x9AL0xD50xCF0xD00xFE0xCE0xFF0x9AD%ww0x04+0x8E0xFE0xEE0xA0:0xEBT0xA10xC6U\t5a 0xE00xB80x8A<0xE60xAB0xCE0x050x119]0x1C0xF4G\_0x8E0xFA0x86:j0xAA0x8B(A0xD20x970x10u0xAD0x0EU*0xE80xEAS0xCE0xA20x9B0xDD~F0x16\_0xFA0xEA*0x12a0x9DcHt0xBD0xF550xE30xBFg0x0C0xAE0xBE0xD10xD40x170x120xD1WQ0xEC0xE7\`80xAE0xAE0xE30xAB0xEC;0xC20xDF0xBF[0xBCW\0xDC0x9F0xCF80x8A0xAA0xB70xCEJ/0x17tAO0x0D0xC70x1D{0x9E0xAA0xA10xFAuc0x1DA0xE20xBA0xDA0x130xAE0xAA0x08m0xCC0x08X0x05/0xA40x0CE0xAF0xA1*^0xBBv0x840x980x17Q0x94|\\_0x130x860xE8X0xA20xDE+0xC80x9B pE0xD7]s0xFD\_i0xEBs0xAAj0xB25(0xC80xE7U0xC5QU\0x8FZ0xCE0x98[0xB90xD9a0x0B0xFB0x8ArF0xCBz0xA7E[H0x16E0x8Fw}0xA30xAF0xE70xA270xEA0xAA0x88W0xDBu0xC37mv];0xA60xD60x08k"0xD70xB6g'0x150x12U0x140xB70x9C0xAC0xE20xAA0xAF0x920xFE0x8E60xC4QT0x170xBA0xAE0xEE0xB00xE70x150xD40xB00xBD0x1C0xD1%0xB80x160xCD0xB00xEA0x080xBA*cH0xD0eU0x050xA50xEF0x800x810xA20xAB0xF30x8C0xB50xACv0xC90x150xB4y0xB4<UH0xA30x980x90d0xA20xAD0x82W0xA20xF50xF4Puip0x98~*0xB20xA40xD00x000x850x8B0x990x060xB40xA2a0x060xEA0xC30xC00x040x940xDCUQw0xF20xB60x820xB1q0xAC 0xA00xD30xAD0x910xD1u0x950x02T0xB90x970x870xEB 0xB30xAC0xFB0x010x07Q0xB9]Ie0xDD0x19.0xE30xEF0x8A0xEF0x9E"0x1DGu0x150x170x0D0xE10x19:f0xEB0xAB0xB2f0xC00xFA0x800xE6U0x190x11M0xC4FT0xCE0xAA0xCA0xB3J0xC80x030xBBJ0xF5P3LAU0x9ER#0xAA0xAE0xE20x9A0x150x8A0xBAQ0xD7J0xB30x82<0xAE0xA00xD2|0xFD0PG0xB50xD42o0xFD0xAC0xB0l0xB4j4}UU6]l0xA70xA0d0x8C0xA50x810x9DB0xA5eU0xD70x150x17yTF0x1E0xEF&0x020x8A0xAD0x860xE0"u50xD5X0xDEQR0x000x9A-0xB80xA10x14d0xD40xA8bl0xA80x9E0xAD70xE80xD50xD1u}0xDDC0xA4L0xBA0xBB0xAF0x910xCE-0xA7)Z%c0x950xD9w0xA40xD40xC4b0xA20xB80xB60xAAc.0x1D0xE9[~F0xB9A0x150xAA0xBE0xA20xBA0x880xAA0x8A0xAA0x800x1440x93*0x920xA220x050xD3Q0xD7F0x190x1D0xA60x050xAB[0xB2ji*0xAB0x0F0xD50xD00x050x900x85\_0xE6*0x8E0xBF0x0B0x8C0x990xEA0xD00x100xCD0xDC0x100x1F0x1D0xDAj/0x99290x010xAE*]t0xD7@0x1C0x15~D0x060x9B0xEA0xE80xA40x080x0E0xC4%=HM0xBA0x1B/c0xD50xD4/C0xDD0x05E0x930xEF0x920x070xA30xA00xAC0x8E0xBBuu]0xF1FG0x10D0xE30xA40x800x18> 0xB60x8B0xD4t}0x150xECF0xCD0x050xCA0xE80xEC0xAD0xB80xBA0xDFl0xDF0x110xFD0xDD@E0x950xD10x8A0x0C0xD50xD1YGRYJ0xB20x9E:0xE80xAF0xE00xA3F$0xA70x1B5MQe(D)0xA80xFC0xE60xE20x7F0xD40xD5euQ0xD40x140xF50xA20xB40x880xF40xA80xDA0x8Dr00xA40x01V0x0F0x139Q*9+0x80.90x890xA80x140x150x110x000xEA0xC80xA60xA8tX\`0xB80xBD0x95ms0xA30xC20xEC0xBB0xBA0x830xBE*CS*0xEE#0xE30xAA0x920xB90xAEp0xF90xA30xE70xD3Rs0x850xB20xE20xA90xBD0x870xEE0x120xBA0xD3Ea90xD7O0xE00xB40xA30xAE0xA10xAF0xB10xED0xAE0xEC?F0xE40xE50xB1u0x15tq0xFA*&0x8A#0x820xA8QS0x0DP.0x9A0xAC0xA0\_0xB60x000x000xE80x000x00 D0x9D0x00 0x880x130x000x00\_0xB60x000x000xF70x130x000x080x880x130x000x00C0x9D0x00 0x010x000x000x00U0x9D0x00 0x090x000x000x000x080x000x000x0040x000x00 0xAB0x080x000x080x000x000x000x00@0x000x000x000x0080x01@0x9380x000x000xE80x000x00 0x880x9D0x00 0x880x130x000x000xD10xF80x170x000xE80x000x00 0x980x9D0x00 0x880x130x000x000xD10xF80x170x000xF70x130x000x080x880x130x000x000x970x9D0x00 0x130xF90x170x000xE80x000x00 0xB80x9D0x00 0x880x130x000x000x130x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x020x080x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x030x010x990x000x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x010x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x9F60x000x000xE80x000x00 0xC00x0C0x000x00 0x000x000x000x0080x01@0x000x000x000x000x180x000x000x000xE10x120x000x080xB00x120x000x080x000x000x00at0xA3B0x000xE80x000x00 0xBF0x9E0x00 0x880x130x000x000xFF0x000x000x000xF50x140x000x080x880x130x000x000xBF0x9E0x00 0x0080x010xDE0x9E0xE00x9E0x000x000x010x010x050x000x000x000x000x000x7F0x000x000xE10x000x100x000x000x000x000x000x000x000x00@0x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x080x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x00I0xDD0x9E0x00 0x000x000x000x000x000x000x000x000x000x000x000x000x03H0x04K0x83B0x020xD00x03K0x030xB10x18GpG0x000x000x00 0x000x000x000x080x00H0x9C0x9F0x00 0x140x000x080x000x000x080x00H0x010x000x000x000x030x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000xF70x030x000x080x090x000x000x000x000x000x080x000x0F0x000x000x000x010x000x000x000x000x000x00H0xC40x9F0x00 0x1C
Diagnosing the Fault¶
As you can see by the output, the bootloader has suffered a pretty catastrophic failure! Not only has it spilled the secret, it's also dumped a whole bunch more memory. For a real bootloader, there's probably some pretty juicy stuff in there like encryption keys or previously decrypted firmware. Let's start by taking a look at the C source code that sends the error code back:
trigger_high();
int i;
for(i = 0; i < ascii_idx; i++)
{
putch(ascii_buffer[i]);
}
trigger_low();
state = IDLE;
Nothing really looks too unusual here. Before we take a look at the assembly and figure out what went wrong, let's try to make some guesses:
- Maybe the glitch corrupted the
ascii_idx
variable- The glitch happened near the end of the loop. It's unlikely the end of loop counter would be reloaded during the loop
- Maybe we skipped the last
i < ascii_idx
check- The glitch caused a lot of memory to be dumped. If we just skipped the last check it should only print an extra character
- i is a signed integer: maybe we corrupted it into being a really large negative number.
That last one seems to be our best theory, so let's go with that.
The Answer¶
Let's check the assembly for our booloader. No need to decompile the binary or recompile to assembly, since there's also a listing file created as part of the build process (*.lss
). This file also contains C, so it makes it easy to search (try something like the trigger_high()
call). You might notice that instead of doing a less than or equal
or less than
comparison like was in our C code, the compiler has instead inserted a not equal
comparison instead! This means our original guess may not have been correct, as our assumption about what would happen if the last i < ascii_idx
was skipped doesn't hold. In fact, it's a lot more likely that the last check was skipped (or i was set to some large value) than flipping a particular bit.
This is actually a pretty unexpected change for the compiler to make, espcially since less than
, greater than
, and not equal
are nearly identical instructions in terms of implementation and have both the same instruction size and speed. This showcases an important fact: the C code that you write is not directly translated to assembly. It needs to go through the compiler first, which may drastically change the intended logic of the program.
Now that we know what happened, let's look at some ways to fix it.
1. Volatile variables¶
C includes a keyword for variables called volatile
, which indicates that the variable may change between accesses and therefore should not have optimizations applied to it. A typical use case for volatile
is for peripheral registers on embedded devices. It would be really bad, for example, if you were trying to wait for an IO pin to go high in your code, but the compiler decided it would be faster to only check it only once and assume it doesn't change!
Try replacing int i = 0;
before the print look with volatile int i = 0;
, recompile, and check the listing file. Is there any other unexpected changes? What about if you consider the use case above (i.e. if i
was a register instead of a loop variable)? Is there any way the attack might still work? If so, how might you mitigate this?
2. Unrolling the loop¶
Another potential way of solving this issue would be to manually unroll the loop. The message being printed by the bootloader is a constant length of 7 characters, so we could instead write:
int i;
putch(ascii_buffer[i++]);
putch(ascii_buffer[i++]);
putch(ascii_buffer[i++]);
putch(ascii_buffer[i++]);
putch(ascii_buffer[i++]);
putch(ascii_buffer[i++]);
putch(ascii_buffer[i++]);
In fact, this is something the compiler might do on its own to optimize the code, since unrolling a loop like this is faster than the loop version. It's not a good idea to blindly rely on this, however, since the compiler could choose not to make this optimization as well and might change it between builds.
3. Checking for invalid characters¶
Another thing to consider is that the message from the bootloader only has a limited range of characters that it prints. We could instead construct a "safe print" function that only prints newlines, 'r'
and ASCII digits (i.e. '0'
to '9'
):
int safe_print(char c)
{
if ((c == '\n') ||
((c >= '0') && (c <= '9')) ||
(c == 'r')) {
putch(c);
return 0;
}
return -1; //uh oh!
}
It we went this route, it would be a good idea to make the error return a separate buffer with a bunch of null characters at the end.
4. More generic methods¶
More generic ways of defending against glitch attacks (memory guards, for example) are also discussed in the training slides.
scope.dis()
target.dis()
assert broken is True