├── reset.py ├── README.md ├── Makefile └── Blink.cpp.hex /reset.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import serial, sys 4 | 5 | serialPort = sys.argv[1] 6 | print serialPort 7 | 8 | ser = serial.Serial( 9 | port=serialPort, 10 | baudrate=1200, 11 | parity=serial.PARITY_NONE, 12 | stopbits=serial.STOPBITS_ONE, 13 | bytesize=serial.EIGHTBITS 14 | ) 15 | 16 | ser.setRTS(True) 17 | ser.setDTR(False) 18 | 19 | ser.isOpen() 20 | ser.close() # close port 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Arduino Loader 2 | This is a sample project to make it easy to start uploading code to your Arduino Leonardo with avrdude. 3 | 4 | It mainly consists of a Makefile and a Python script that puts the Arduino Leonardo in a mode to receive code updates. 5 | 6 | 7 | ## Why is this needed? 8 | 9 | Due to its design, the Arduino Leonardo does not have the bootloader active like earlier Arduino's. This project setup puts the Arduino in bootloader mode before attempting to upload new code. 10 | 11 | From the [Arduino Leonardo Hardware guide](http://arduino.cc/en/Main/ArduinoBoardLeonardo): 12 | 13 | Rather than requiring a physical press of the reset button before an upload, the Leonardo is designed in a way that allows it to be reset by software running on a connected computer. The reset is triggered when the Leonardo's virtual (CDC) serial / COM port is opened at 1200 baud and then closed. When this happens, the processor will reset, breaking the USB connection to the computer (meaning that the virtual serial / COM port will disappear). After the processor resets, the bootloader starts, remaining active for about 8 seconds. The bootloader can also be initiated by pressing the reset button on the Leonardo. Note that when the board first powers up, it will jump straight to the user sketch, if present, rather than initiating the bootloader. 14 | 15 | ## See also 16 | 17 | * [Original blog post](http://nicholaskell.wordpress.com/2012/08/11/arduino-leonardo-upload-from-makefile/) 18 | * [Arduino Leonardo guide](http://arduino.cc/en/Guide/ArduinoLeonardo) 19 | * [Arduino Leonardo Hardware guide](http://arduino.cc/en/Main/ArduinoBoardLeonardo) 20 | 21 | # Prerequisities 22 | 23 | Make sure the reset.py Python script is executable: 24 | 25 | chmod +x reset.py 26 | 27 | In the Makefile, make sure that the port your Arduino uses is correct: 28 | 29 | PORT = /dev/ttyACM1 30 | 31 | # Running 32 | 33 | To run the Makefile: 34 | 35 | make -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | # Name: Makefile 2 | # Author: 3 | # Copyright: 4 | # License: 5 | 6 | # This is a prototype Makefile. Modify it according to your needs. 7 | # You should at least check the settings for 8 | # DEVICE ....... The AVR device you compile for 9 | # CLOCK ........ Target AVR clock rate in Hertz 10 | # OBJECTS ...... The object files created from your source files. This list is 11 | # usually the same as the list of source files with suffix ".o". 12 | # PROGRAMMER ... Options to avrdude which define the hardware you use for 13 | # uploading to the AVR and the interface where this hardware 14 | # is connected. We recommend that you leave it undefined and 15 | # add settings like this to your ~/.avrduderc file: 16 | # default_programmer = "stk500v2" 17 | # default_serial = "avrdoper" 18 | # FUSES ........ Parameters for avrdude to flash the fuses appropriately. 19 | 20 | DEVICE = atmega32u4 21 | CLOCK = 8000000 22 | PROGRAMMER = -c avr109 23 | OBJECTS = main.o 24 | #FUSES = -U lfuse:w:0x5e:m -U hfuse:w:0x91:m -U efuse:w:0xf3:m 25 | PORT = /dev/ttyACM1 26 | BITRATE = 57600 27 | 28 | # For computing fuse byte values for other devices and options see 29 | # the fuse bit calculator at http://www.engbedded.com/fusecalc/ 30 | 31 | 32 | # Tune the lines below only if you know what you are doing: 33 | 34 | AVRDUDE = avrdude $(PROGRAMMER) -p $(DEVICE) -P $(PORT) -b ${BITRATE} -D 35 | COMPILE = avr-gcc -Wall -Os -DF_CPU=$(CLOCK) -mmcu=$(DEVICE) 36 | 37 | # symbolic targets: 38 | all: main.hex 39 | 40 | .c.o: 41 | $(COMPILE) -c $< -o $@ 42 | 43 | .S.o: 44 | $(COMPILE) -x assembler-with-cpp -c $< -o $@ 45 | # "-x assembler-with-cpp" should not be necessary since this is the default 46 | # file type for the .S (with capital S) extension. However, upper case 47 | # characters are not always preserved on Windows. To ensure WinAVR 48 | # compatibility define the file type manually. 49 | 50 | .c.s: 51 | $(COMPILE) -S $< -o $@ 52 | 53 | flash: all 54 | reset.py $(PORT) 55 | sleep 1.5 56 | $(AVRDUDE) -U flash:w:main.hex:i 57 | 58 | fuse: 59 | $(AVRDUDE) $(FUSES) 60 | 61 | # Xcode uses the Makefile targets "", "clean" and "install" 62 | install: flash fuse 63 | 64 | # if you use a bootloader, change the command below appropriately: 65 | load: all 66 | bootloadHID main.hex 67 | 68 | clean: 69 | rm -f main.hex main.elf $(OBJECTS) 70 | 71 | # file targets: 72 | main.elf: $(OBJECTS) 73 | $(COMPILE) -o main.elf $(OBJECTS) 74 | 75 | main.hex: main.elf 76 | rm -f main.hex 77 | avr-objcopy -j .text -j .data -O ihex main.elf main.hex 78 | avr-size --format=avr --mcu=$(DEVICE) main.elf 79 | # If you have an EEPROM section, you must also create a hex file for the 80 | # EEPROM and add it to the "flash" target. 81 | 82 | # Targets for code debugging and analysis: 83 | disasm: main.elf 84 | avr-objdump -d main.elf 85 | 86 | cpp: 87 | $(COMPILE) -E main.c 88 | -------------------------------------------------------------------------------- /Blink.cpp.hex: -------------------------------------------------------------------------------- 1 | :100000000C946E010C9496010C9496010C9496013C 2 | :100010000C9496010C9496010C9496010C94960104 3 | :100020000C9496010C9496010C9410050C949B056D 4 | :100030000C9496010C9496010C9496010C949601E4 5 | :100040000C9496010C9496010C9496010C949601D4 6 | :100050000C9496010C9496010C9496010C94B501A5 7 | :100060000C9496010C9496010C9496010C949601B4 8 | :100070000C9496010C9496010C9496010C949601A4 9 | :100080000C9496010C9496010C9496010C94960194 10 | :100090000C9496010C9496010C9496010C94960184 11 | :1000A0000C9496010C9496010C94960100000000AB 12 | :1000B000240027002A002D00300000000000250049 13 | :1000C00028002B002E003100000000002300260035 14 | :1000D00029002C002F000404040404030405020278 15 | :1000E00002020403020202020606060606060404D1 16 | :1000F00002020204040802011040804010204080E7 17 | :10010000408008020401804020100201108010206D 18 | :1001100040400000000200080E0000030401000B34 19 | :100120000000070605040100080A0B0C0D09040372 20 | :1001300009042203410072006400750069006E002A 21 | :100140006F0020004C0065006F006E0061007200BF 22 | :1001500064006F00180341007200640075006900BC 23 | :100160006E006F0020004C004C00430012010002A2 24 | :10017000000000404123368000010102000112010D 25 | :10018000000202000040412336800001010200010C 26 | :1001900000C18081C1080B000202020100090400B5 27 | :1001A00000010202000005240010010524010101E4 28 | :1001B00004240206052406000107058103100040FF 29 | :1001C00009040100020A00000007050202400000C5 30 | :1001D0000705830240000005010902A1010901A1F0 31 | :1001E00000850105091901290315002501950375ED 32 | :1001F0000181029501750581030501093009310965 33 | :10020000381581257F750895038106C0C005010951 34 | :1002100006A1018502050719E029E71500250175EA 35 | :1002200001950881029501750881039506750815E9 36 | :100230000025650507190029658100C00904020031 37 | :1002400001030000000921010100012265000705EA 38 | :10025000840340000100000000000000002A2B2859 39 | :10026000000000000000000000000000000000008E 40 | :1002700000000000002C9EB4A0A1A2A434A6A7A553 41 | :10028000AE362D3738271E1F20212223242526B3E2 42 | :1002900033B62EB7B89F8485868788898A8B8C8DE4 43 | :1002A0008E8F909192939495969798999A9B9C9DF6 44 | :1002B0002F3130A3AD350405060708090A0B0C0DD4 45 | :1002C0000E0F101112131415161718191A1B1C1DD6 46 | :1002D000AFB1B0B500004C042E072C0811241FBE8E 47 | :1002E000CFEFDAE0DEBFCDBF11E0A0E0B1E0EEEC91 48 | :1002F000F2E102C005900D92AC32B107D9F711E0DE 49 | :10030000ACE2B1E001C01D92AD39B107E1F712E0F6 50 | :10031000CCEDD2E004C02297FE010E946109C63DE7 51 | :10032000D107C9F70E9486030C9465090C9400005C 52 | :100330008091000161E00E94530368EE73E080E069 53 | :1003400090E00E94FD018091000160E00E94530353 54 | :1003500068EE73E080E090E00E94FD0108958091D6 55 | :10036000000161E00E94B60208951F920F920FB63D 56 | :100370000F9211242F933F938F939F93AF93BF932B 57 | :100380008091300190913101A0913201B0913301FF 58 | :10039000309134010196A11DB11D232F2D5F2D3702 59 | :1003A00020F02D570196A11DB11D2093340180939B 60 | :1003B000300190933101A0933201B09333018091C9 61 | :1003C0002C0190912D01A0912E01B0912F01019649 62 | :1003D000A11DB11D80932C0190932D01A0932E019E 63 | :1003E000B0932F01BF91AF919F918F913F912F912A 64 | :1003F0000F900FBE0F901F9018959B01AC017FB717 65 | :10040000F89480912C0190912D01A0912E01B09132 66 | :100410002F0166B5A89B05C06F3F19F00196A11D7D 67 | :10042000B11D7FBFBA2FA92F982F8827860F911D46 68 | :10043000A11DB11D62E0880F991FAA1FBB1F6A95FD 69 | :10044000D1F7BC012DC0FFB7F89480912C01909199 70 | :100450002D01A0912E01B0912F01E6B5A89B05C0FA 71 | :10046000EF3F19F00196A11DB11DFFBFBA2FA92FB3 72 | :10047000982F88278E0F911DA11DB11DE2E0880FD6 73 | :10048000991FAA1FBB1FEA95D1F7861B970B885EA1 74 | :100490009340C8F2215030404040504068517C4F5A 75 | :1004A000211531054105510571F60895789484B5FB 76 | :1004B000826084BD84B5816084BD85B5826085BD60 77 | :1004C00085B5816085BDEEE6F0E080818160808346 78 | :1004D000E1E8F0E010828081826080838081816029 79 | :1004E0008083E0E8F0E0808181608083E1EBF0E0F0 80 | :1004F000808184608083E0EBF0E080818160808394 81 | :10050000E1E9F0E080818260808380818160808386 82 | :10051000E0E9F0E0808181608083E1ECF0E08081BF 83 | :100520008460808380818260808380818160808319 84 | :10053000E3ECF0E0808181608083E0ECF0E080819A 85 | :1005400082608083E2ECF0E0808181608083EAE772 86 | :10055000F0E08081846080838081826080838081FC 87 | :10056000816080838081806880830895CF93DF934A 88 | :10057000482F50E0CA018C509F4FFC0134914A52E1 89 | :100580005F4FFA018491882369F190E0880F991FE9 90 | :10059000FC01E455FF4FA591B491FC01E654FF4FD7 91 | :1005A000C591D491662351F42FB7F8948C91932F71 92 | :1005B000909589238C93888189230BC0623061F4E4 93 | :1005C0002FB7F8948C91932F909589238C938881E1 94 | :1005D000832B88832FBF06C09FB7F8948C91832B01 95 | :1005E0008C939FBFDF91CF9108958730C1F1883000 96 | :1005F00080F48330F9F0843030F4813029F1823096 97 | :1006000009F050C024C08430C9F0863009F04AC0D7 98 | :1006100022C08A3091F18B3030F4883031F189304A 99 | :1006200009F040C026C08C3091F18C3060F18E30E2 100 | :10063000C9F533C0809180008F7703C0809180001E 101 | :100640008F7D80938000089584B58F7702C084B534 102 | :100650008F7D84BD08958091B0008F7703C0809115 103 | :10066000B0008F7D8093B0000895809190008F77C7 104 | :1006700007C0809190008F7D03C080919000877F9C 105 | :100680008093900008958091C0008F7703C080917F 106 | :10069000C0008F7D8093C00008958091C200877F45 107 | :1006A0008093C2000895FF920F931F93F62E482F58 108 | :1006B00050E0CA018E5E9E4FFC012491CA018C500D 109 | :1006C0009F4FFC0114914A525F4FFA01049100239D 110 | :1006D000C9F0222319F0822F0E94F502E02FF0E0EA 111 | :1006E000EE0FFF1FE654FF4FA591B4919FB7F8940A 112 | :1006F000FF2021F48C911095812302C08C91812BD5 113 | :100700008C939FBF1F910F91FF900895CF93DF931C 114 | :100710000E9456028DE391E00E944D040E94AF01B9 115 | :10072000C0E0D0E00E9498012097E1F30E94000011 116 | :10073000F9CF282F809137018823C1F057FF1AC0C5 117 | :1007400015C02898909336018091F1008193E217AB 118 | :10075000F307B9F74115510539F08091F20088236C 119 | :1007600019F48BE68093E800AFBF02C04FEF5FEF54 120 | :10077000CA010895AFB7F89427702093E9008091DB 121 | :10078000F200282F30E0241735070CF4A901FB01F3 122 | :100790009B01240F311D94E6DACFDF93CF930F92A4 123 | :1007A000CDB7DEB7BE016F5F7F4F41E050E00E94E2 124 | :1007B0009903019719F02FEF3FEF03C08981282F8C 125 | :1007C00030E0C9010F90CF91DF910895FF920F9310 126 | :1007D0001F93F82E142F052F40913A0150913B01A1 127 | :1007E000212F302FC901DC01FB016EEF29C0F7FE7C 128 | :1007F00002C0949101C0908120913801309139015B 129 | :1008000024173507ACF48091E8008570E1F38091FE 130 | :10081000E80082FF03C02FEF3FEF17C09093F10075 131 | :10082000C90101968F739070892B11F46093E800D1 132 | :100830002F5F3F4F30933901209338011197319644 133 | :100840001097A9F6812F902F9C01C9011F910F913C 134 | :10085000FF9008959C018091E80082FFFCCFF90190 135 | :10086000260F311D03C08091F1008193E217F30739 136 | :10087000D1F7289884E6809336018BEF8093E800C7 137 | :10088000CB0108958093E9008091F200882319F04C 138 | :100890008AE38093E800089508951092370181E07B 139 | :1008A0008093D70080EA8093D80082E189BD09B4A3 140 | :1008B00000FEFDCF61E070E080E090E00E94FD016D 141 | :1008C00080E98093D8008CE08093E2001092E000F1 142 | :1008D000559A209A08955F926F927F928F929F927D 143 | :1008E000AF92BF92CF92DF92EF92FF920F931F933E 144 | :1008F000CF93DF93E82E842E752E809137018823C5 145 | :1009000071F18B01242F352FC901EC017AEFF72EFD 146 | :1009100067E0962E9E2050E4552E8E2D90E040E20A 147 | :10092000A42EB12CA822B9223AE3632E20E4C22ED1 148 | :10093000D12CC822D92258C09FB7F8949092E900D0 149 | :100940008091E80085FD02C020E004C08091F200A3 150 | :10095000252D281B9FBF222361F4FA9419F42FEF51 151 | :100960003FEF4DC061E070E080E090E00E94FD014B 152 | :100970003BC0822F90E0C817D9070CF42C2FC21B64 153 | :10098000D1094FB7F8949092E900A114B10421F471 154 | :1009900006C01092F10021502223D9F719C0E7FCBC 155 | :1009A00003C0F801922F10C0C801322F06C0FC010D 156 | :1009B0000196E491E093F10031503323C1F706C072 157 | :1009C00081918093F10091509923D1F7020F111D6D 158 | :1009D0008091E80085FF05C0209729F4C114D10457 159 | :1009E00011F06092E8004FBF209709F0A5CF5D9805 160 | :1009F00084E680933501282D372DC9019C01C9015A 161 | :100A0000DF91CF911F910F91FF90EF90DF90CF90EA 162 | :100A1000BF90AF909F908F907F906F905F90089560 163 | :100A20001F920F920FB60F9211241F932F933F9393 164 | :100A30004F935F936F937F938F939F93AF93BF93E6 165 | :100A4000EF93FF938091E1001092E100982F83FFD4 166 | :100A50000FC01092E90081E08093EB001092EC004F 167 | :100A600082E38093ED001092370188E08093F000DC 168 | :100A700092FF36C083E08093E9008091F2008823E2 169 | :100A800049F08AE38093E80005C082E891E00E9483 170 | :100A9000710701C012E09FB7F8941093E9008091AC 171 | :100AA000F2009FBF882389F780913501882351F098 172 | :100AB00080913501815080933501809135018823E3 173 | :100AC00009F45D9A80913601882351F080913601B6 174 | :100AD00081508093360180913601882309F4289A49 175 | :100AE000FF91EF91BF91AF919F918F917F916F9106 176 | :100AF0005F914F913F912F911F910F900FBE0F90DB 177 | :100B00001F9018950F931F93DF93CF930F92CDB73C 178 | :100B1000DEB719828E010F5F1F4FC8010E94900738 179 | :100B2000C8010E942909898190E00F90CF91DF913F 180 | :100B30001F910F9108951F920F920FB60F921124DB 181 | :100B4000EF92FF921F932F933F934F935F936F9377 182 | :100B50007F938F939F93AF93BF93EF93FF93DF9315 183 | :100B6000CF93CDB7DEB76197DEBFCDBF1092E9005E 184 | :100B70008091E80083FF0FC1FE0131969E01275F3F 185 | :100B80003F4F03C08091F1008193E217F307D1F743 186 | :100B9000289884E68093360182EF8093E80099815B 187 | :100BA00097FF05C08091E80080FFFCCF03C08EEF67 188 | :100BB0008093E800292F30E0C90180769070892B5E 189 | :100BC00009F0C2C08A81882329F41092F1001092A2 190 | :100BD000F100D6C0813009F4D3C0833009F4D0C00D 191 | :100BE000853049F48091E80080FFFCCF8B818068DC 192 | :100BF0008093E300C5C0863009F07CC01C81EF8083 193 | :100C0000F8841230C1F51092E90010923901109267 194 | :100C1000380110923B0110923A010E94820599E03E 195 | :100C2000FE013996DF01292F1D922A95E9F7998750 196 | :100C30001A8791E09E8790E8988B9AEF998B209184 197 | :100C4000380130913901275F3F4F3C872B878D87D3 198 | :100C50001092E9001092390110923801F0923B0194 199 | :100C6000E0923A0180E0BF0149E050E00E94E603D3 200 | :100C70000E94820585C01092E900109239011092FD 201 | :100C80003801F0923B01E0923A01123241F482E2E3 202 | :100C900090E00E942109892B09F476C071C01130BF 203 | :100CA00079F488E0E816F10419F481E080933C01BE 204 | :100CB00080913C01882309F06BC0ECE6F1E013C0A1 205 | :100CC000133009F061C08B81882319F4EEE2F1E062 206 | :100CD0000AC0823019F4E2E3F1E005C0813009F086 207 | :100CE00053C0E4E5F1E0449180E8BF0150E00E9488 208 | :100CF000E60346C0873009F447C0883021F481E01C 209 | :100D00008093F1003DC08930D9F523703070232BDA 210 | :100D1000D9F5E1E9F1E091E031E026E39093E900D3 211 | :100D20003093EB0084918093EC002093ED009F5F63 212 | :100D30003196953099F78EE78093EA001092EA0099 213 | :100D40008B81809337011CC08F8198851092E900B8 214 | :100D5000109239011092380190933B0180933A012F 215 | :100D60008D81882329F4CE0101960E949C0706C03C 216 | :100D7000823051F4CE0101960E94F207882321F0BF 217 | :100D80008EEF8093E80007C081E28093EB0003C000 218 | :100D9000EEE7F1E0A8CF6196DEBFCDBFCF91DF9146 219 | :100DA000FF91EF91BF91AF919F918F917F916F9143 220 | :100DB0005F914F913F912F911F91FF90EF900F9076 221 | :100DC0000FBE0F901F90189520917E0130917F01EA 222 | :100DD0008091800190918101281B390B2F73307015 223 | :100DE000C901089520917E0130917F018091800199 224 | :100DF000909181012817390719F42FEF3FEF09C0AF 225 | :100E0000E0918001F0918101E25CFE4F8081282F0A 226 | :100E100030E0C901089520917E0130917F018091D9 227 | :100E20008001909181012817390719F42FEF3FEFC6 228 | :100E300013C0E0918001F0918101E25CFE4F2081BE 229 | :100E4000809180019091810101968F7390709093B1 230 | :100E500081018093800130E0C901089510928501DD 231 | :100E60001092840188EE93E0A0E0B0E080938601C8 232 | :100E700090938701A0938801B093890180E191E06C 233 | :100E8000909383018093820108950F931F93DF93C2 234 | :100E9000CF930F92CDB7DEB78C01698380910901A2 235 | :100EA000882369F083E0BE016F5F7F4F41E050E02F 236 | :100EB0000E946B041816190614F49C0107C081E007 237 | :100EC00090E0F8019383828320E030E0C9010F9025 238 | :100ED000CF91DF911F910F91089583E00E9442040A 239 | :100EE000089582E00E94CD03482F20917E01309129 240 | :100EF0007F012F5F3F4F2F73307080918001909161 241 | :100F000081012817390759F0E0917E01F0917F01A6 242 | :100F1000E25CFE4F408330937F0120937E01089571 243 | :100F2000FC0180818E5F808380E865E971E042E4A6 244 | :100F300050E00E94E6030895FC0181819081913A7E 245 | :100F400059F4813209F04CC080E062E071E047E082 246 | :100F500050E00E94E60342C0913209F041C0803265 247 | :100F600039F482E091E067E070E00E942A0436C024 248 | :100F7000823209F035C0828180930901809102019B 249 | :100F800090910301A0910401B0910501805B944010 250 | :100F9000A040B04019F58091090180FD12C087E79B 251 | :100FA00097E790930108809300082BE088E190E098 252 | :100FB0000FB6F894A895809360000FBE2093600050 253 | :100FC0000DC088E10FB6F894809360001092600025 254 | :100FD0000FBEA895109201081092000881E00895B4 255 | :100FE00080E00895FC0191818081813A31F4913053 256 | :100FF00089F080E0933089F40DC0813269F49B3030 257 | :1010000021F4828180930A0105C09A3029F48281FB 258 | :1010100080930B0181E0089580E00895EF92FF92A4 259 | :101020000F931F938C01E62EDC01ED91FC9104805F 260 | :10103000F581E02D0995F82ED801ED91FC910680FF 261 | :10104000F781E02DC8016E2D09958F2D90E01F913D 262 | :101050000F91FF90EF9008951092900110929401DB 263 | :101060001092930182E291E090939201809391011A 264 | :101070000895EF92FF920F931F93DF93CF930F92F8 265 | :10108000CDB7DEB789838B017A0184E0BE016F5F43 266 | :101090007F4F41E050E00E946B0484E4B801A70157 267 | :1010A0000E946B040F90CF91DF911F910F91FF90E1 268 | :1010B000EF90089582E048E050E00E9439080895DA 269 | :1010C000FC011682178210861186128613861482FE 270 | :1010D0003496BF010E945A080895DC01683810F068 271 | :1010E000685829C0E62FF0E067FF13C0E058F040D1 272 | :1010F00081E090E002C0880F991FEA95E2F78095A1 273 | :1011000014962C911497282314962C93149760E02E 274 | :1011100012C0EB5AFD4F6491662319F420E030E0D1 275 | :101120001DC067FF08C014968C9114978D7F14968C 276 | :101130008C9314976F77FD0190E0662321F08681F0 277 | :10114000861709F416829F5F31969630B1F7CD016C 278 | :101150001496BD010E945A0821E030E0C9010895AB 279 | :10116000CF93DF93DC01683810F0685825C0E62F74 280 | :10117000F0E067FF12C0E058F04081E090E002C06C 281 | :10118000880F991FEA95E2F714962C911497282B53 282 | :1011900014962C93149760E00FC0EB5AFD4F6491A6 283 | :1011A0006623D9F167FF08C014968C91149782606A 284 | :1011B00014968C9314976F7716968C9116978617C2 285 | :1011C000A9F117968C911797861781F118968C9133 286 | :1011D0001897861759F119968C911997861731F13E 287 | :1011E0001A968C911A97861709F11B968C911B976A 288 | :1011F0008617E1F0ED01E0E0F0E09E2F8E8188237C 289 | :1012000021F4EA0FFB1F668306C09F5F319621968B 290 | :10121000E630F10591F7963049F481E090E01396BD 291 | :101220009C938E93129720E030E007C0CD01149676 292 | :10123000BD010E945A0821E030E0C901DF91CF9141 293 | :10124000089580E867ED71E045E650E00E94E6030E 294 | :101250000895FC0180818F5F808380E86CE372E0F9 295 | :1012600049E150E00E94E6030895CF92DF92EF92A9 296 | :10127000FF920F931F93CF93DF937C016B018A0141 297 | :10128000C0E0D0E00FC0D6016D916D01D701ED91A6 298 | :10129000FC910190F081E02DC7010995C80FD91F7D 299 | :1012A000015010400115110571F7CE01DF91CF916A 300 | :1012B0001F910F91FF90EF90DF90CF900895EE0F68 301 | :0E12C000FF1F0590F491E02D0994F894FFCFE4 302 | :1012CE000D0000E100000000000001010000000020 303 | :1012DE0045073509E4060B07F2066D077107000096 304 | :0C12EE0000000E083509B0086D0860080B 305 | :00000001FF 306 | --------------------------------------------------------------------------------