Skip to content

Commit

Permalink
Prepare for Urboot support
Browse files Browse the repository at this point in the history
  • Loading branch information
MCUdude committed Aug 30, 2023
1 parent 08325a3 commit 071a49a
Show file tree
Hide file tree
Showing 252 changed files with 7,830 additions and 954 deletions.
242 changes: 90 additions & 152 deletions avr/boards.txt

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
Note that autobaud bootloaders normally can only detect host baud rates = f/8, f/16, ... f/2048 +/- 1.5%, where f=F<sub>CPU</sub>. Internal oscillators have a high unknown deviation: baud rates under f/260 are recommended for these.

|Size|Usage|Version|Features|Hex file|
|:-:|:-:|:-:|:-:|:--|
|254|256|u7.7|`w-u-hpra-`|[urboot_atmega168_hw.hex](https://raw.githubusercontent.com/stefanrueger/urboot.hex/main/cores/minicore/atmega168/watchdog_1_s/autobaud/uart0_rxd0_txd1/led%2Bb5/urboot_atmega168_hw.hex)|
|254|256|u7.7|`w-u-jpra-`|[urboot_atmega168.hex](https://raw.githubusercontent.com/stefanrueger/urboot.hex/main/cores/minicore/atmega168/watchdog_1_s/autobaud/uart0_rxd0_txd1/led%2Bb5/urboot_atmega168.hex)|
|280|384|u7.7|`w-u-jPra-`|[urboot_atmega168_pr.hex](https://raw.githubusercontent.com/stefanrueger/urboot.hex/main/cores/minicore/atmega168/watchdog_1_s/autobaud/uart0_rxd0_txd1/led%2Bb5/urboot_atmega168_pr.hex)|
|306|384|u7.7|`w-u-jPrac`|[urboot_atmega168_pr_ce.hex](https://raw.githubusercontent.com/stefanrueger/urboot.hex/main/cores/minicore/atmega168/watchdog_1_s/autobaud/uart0_rxd0_txd1/led%2Bb5/urboot_atmega168_pr_ce.hex)|
|342|384|u7.7|`weu-jPra-`|[urboot_atmega168_pr_ee.hex](https://raw.githubusercontent.com/stefanrueger/urboot.hex/main/cores/minicore/atmega168/watchdog_1_s/autobaud/uart0_rxd0_txd1/led%2Bb5/urboot_atmega168_pr_ee.hex)|
|368|384|u7.7|`weu-jPrac`|[urboot_atmega168_pr_ee_ce.hex](https://raw.githubusercontent.com/stefanrueger/urboot.hex/main/cores/minicore/atmega168/watchdog_1_s/autobaud/uart0_rxd0_txd1/led%2Bb5/urboot_atmega168_pr_ee_ce.hex)|
|350|512|u7.7|`weu-hprac`|[urboot_atmega168_ee_ce_hw.hex](https://raw.githubusercontent.com/stefanrueger/urboot.hex/main/cores/minicore/atmega168/watchdog_1_s/autobaud/uart0_rxd0_txd1/led%2Bb5/urboot_atmega168_ee_ce_hw.hex)|
|454|512|u7.7|`wes-hprac`|[urboot_atmega168_ee_ce_hw_stk500.hex](https://raw.githubusercontent.com/stefanrueger/urboot.hex/main/cores/minicore/atmega168/watchdog_1_s/autobaud/uart0_rxd0_txd1/led%2Bb5/urboot_atmega168_ee_ce_hw_stk500.hex)|

- **Size:** Bootloader code size including small table at top end
- **Usage:** How many bytes of flash are needed, ie, HW boot section or a multiple of the page size
- **Version:** For example, u7.6 is an urboot version, o5.2 is an optiboot version
- **Features:**
+ `w` bootloader provides `pgm_write_page(sram, flash)` for the application at `FLASHEND-4+1`
+ `e` EEPROM read/write support
+ `u` uses urprotocol requiring `avrdude -c urclock` for programming
+ `s` uses skeleton of STK500v1 protocol (deprecated); `-c urclock` and `-c arduino` both work
+ `h` hardware boot section: make sure fuses are set for reset to jump to boot section
+ `j` vector bootloader: applications *need to be patched externally*, eg, using `avrdude -c urclock`
+ `p` bootloader protects itself from being overwritten
+ `P` vector bootloader only: protects itself and reset vector from being overwritten
+ `r` preserves reset flags for the application in the register R2
+ `a` autobaud detection (f_cpu/8n using discrete divisors, n = 1, 2, ..., 256)
+ `c` bootloader provides chip erase functionality (recommended for large MCUs)
+ `-` corresponding feature not present
- **Hex file:** often qualified by the MCU name and/or configuration
+ `pr` vector bootloader protecting the reset vector
+ `ee` bootloader supports EEPROM read/write
+ `ce` bootloader provides a chip erase command
+ `hw` hardware supported bootloader: set fuses to jump to the HW boot section, not to addr 0
+ `stk500` uses deprecated STK500v1 protocol to communicate with bootloader


Note below that baud rate and F<sub>CPU</sub> may be different from the path name's as long as the quotient F<sub>CPU</sub>/baud rate is the same.

### Make commands
```
make MCU=atmega168 WDTO=1S F_CPU=16000000L AUTOBAUD=1 UARTNUM=0 RX=AtmelPD0 TX=AtmelPD1 VBL=0 EEPROM=0 CHIP_ERASE=0 URPROTOCOL=1 LED=AtmelPB5 BLINK=1 AUTOFRILLS=0,6,4,3,2 NAME=urboot_m168_1s_autobaud_uart0_rxd0_txd1_led+b5_hw
make MCU=atmega168 WDTO=1S F_CPU=16000000L AUTOBAUD=1 UARTNUM=0 RX=AtmelPD0 TX=AtmelPD1 VBL=1 EEPROM=0 CHIP_ERASE=0 URPROTOCOL=1 LED=AtmelPB5 BLINK=1 AUTOFRILLS=0,6,4,3,2 NAME=urboot_m168_1s_autobaud_uart0_rxd0_txd1_led+b5
make MCU=atmega168 WDTO=1S F_CPU=16000000L AUTOBAUD=1 UARTNUM=0 RX=AtmelPD0 TX=AtmelPD1 VBL=1 PROTECTRESET=1 EEPROM=0 CHIP_ERASE=0 URPROTOCOL=1 LED=AtmelPB5 BLINK=1 AUTOFRILLS=0,6,4,3,2 NAME=urboot_m168_1s_autobaud_uart0_rxd0_txd1_led+b5_pr
make MCU=atmega168 WDTO=1S F_CPU=16000000L AUTOBAUD=1 UARTNUM=0 RX=AtmelPD0 TX=AtmelPD1 VBL=1 PROTECTRESET=1 EEPROM=0 CHIP_ERASE=1 URPROTOCOL=1 LED=AtmelPB5 BLINK=1 AUTOFRILLS=0,6,4,3,2 NAME=urboot_m168_1s_autobaud_uart0_rxd0_txd1_led+b5_pr_ce
make MCU=atmega168 WDTO=1S F_CPU=16000000L AUTOBAUD=1 UARTNUM=0 RX=AtmelPD0 TX=AtmelPD1 VBL=1 PROTECTRESET=1 EEPROM=1 CHIP_ERASE=0 URPROTOCOL=1 LED=AtmelPB5 BLINK=1 AUTOFRILLS=0,6,4,3,2 NAME=urboot_m168_1s_autobaud_uart0_rxd0_txd1_led+b5_pr_ee
make MCU=atmega168 WDTO=1S F_CPU=16000000L AUTOBAUD=1 UARTNUM=0 RX=AtmelPD0 TX=AtmelPD1 VBL=1 PROTECTRESET=1 EEPROM=1 CHIP_ERASE=1 URPROTOCOL=1 LED=AtmelPB5 BLINK=1 AUTOFRILLS=0,6,4,3,2 NAME=urboot_m168_1s_autobaud_uart0_rxd0_txd1_led+b5_pr_ee_ce
make MCU=atmega168 WDTO=1S F_CPU=16000000L AUTOBAUD=1 UARTNUM=0 RX=AtmelPD0 TX=AtmelPD1 VBL=0 EEPROM=1 CHIP_ERASE=1 URPROTOCOL=1 LED=AtmelPB5 BLINK=1 AUTOFRILLS=0,6,4,3,2 NAME=urboot_m168_1s_autobaud_uart0_rxd0_txd1_led+b5_ee_ce_hw
make MCU=atmega168 WDTO=1S F_CPU=16000000L AUTOBAUD=1 UARTNUM=0 RX=AtmelPD0 TX=AtmelPD1 VBL=0 EEPROM=1 CHIP_ERASE=1 URPROTOCOL=0 LED=AtmelPB5 BLINK=1 AUTOFRILLS=0,6,4,3,2 NAME=urboot_m168_1s_autobaud_uart0_rxd0_txd1_led+b5_ee_ce_hw_stk500
```

### Avr-gcc commands
```
./avr-toolchain/4.8.1/bin/avr-gcc -DSTART=0x3f00UL -DRJMPWP=0xcfe2 -Wl,--section-start=.text=0x3f00 -Wl,--section-start=.version=0x3ffa -DFRILLS=4 -D_urboot_AVAILABLE=2 -g -Wundef -Wall -Os -fno-split-wide-types -mrelax -mmcu=atmega168 -DF_CPU=16000000L -Wno-clobbered -DWDTO=1S -DAUTOBAUD=1 -DLED=AtmelPB5 -DBLINK=1 -DDUAL=0 -DEEPROM=0 -DURPROTOCOL=1 -DVBL=0 -DCHIP_ERASE=0 -DUARTNUM=0 -DTX=AtmelPD1 -DRX=AtmelPD0 -Wl,--relax -nostartfiles -nostdlib -o urboot_m168_1s_autobaud_uart0_rxd0_txd1_led+b5_hw.elf urboot.c
./avr-toolchain/4.8.1/bin/avr-gcc -DSTART=0x3f00UL -DRJMPWP=0xcfe2 -Wl,--section-start=.text=0x3f00 -Wl,--section-start=.version=0x3ffa -DFRILLS=4 -D_urboot_AVAILABLE=2 -g -Wundef -Wall -Os -fno-split-wide-types -mrelax -mmcu=atmega168 -DF_CPU=16000000L -Wno-clobbered -DWDTO=1S -DAUTOBAUD=1 -DLED=AtmelPB5 -DBLINK=1 -DDUAL=0 -DEEPROM=0 -DURPROTOCOL=1 -DVBL=1 -DCHIP_ERASE=0 -DUARTNUM=0 -DTX=AtmelPD1 -DRX=AtmelPD0 -Wl,--relax -nostartfiles -nostdlib -o urboot_m168_1s_autobaud_uart0_rxd0_txd1_led+b5.elf urboot.c
./avr-toolchain/4.8.1/bin/avr-gcc -DSTART=0x3e80UL -DRJMPWP=0xcfa6 -Wl,--section-start=.text=0x3e80 -Wl,--section-start=.version=0x3ffa -DFRILLS=6 -D_urboot_AVAILABLE=104 -g -Wundef -Wall -Os -fno-split-wide-types -mrelax -mmcu=atmega168 -DF_CPU=16000000L -Wno-clobbered -DWDTO=1S -DAUTOBAUD=1 -DLED=AtmelPB5 -DBLINK=1 -DDUAL=0 -DEEPROM=0 -DURPROTOCOL=1 -DVBL=1 -DCHIP_ERASE=0 -DUARTNUM=0 -DTX=AtmelPD1 -DRX=AtmelPD0 -DPROTECTRESET=1 -Wl,--relax -nostartfiles -nostdlib -o urboot_m168_1s_autobaud_uart0_rxd0_txd1_led+b5_pr.elf urboot.c
./avr-toolchain/4.8.1/bin/avr-gcc -DSTART=0x3e80UL -DRJMPWP=0xcfb3 -Wl,--section-start=.text=0x3e80 -Wl,--section-start=.version=0x3ffa -DFRILLS=6 -D_urboot_AVAILABLE=78 -g -Wundef -Wall -Os -fno-split-wide-types -mrelax -mmcu=atmega168 -DF_CPU=16000000L -Wno-clobbered -DWDTO=1S -DAUTOBAUD=1 -DLED=AtmelPB5 -DBLINK=1 -DDUAL=0 -DEEPROM=0 -DURPROTOCOL=1 -DVBL=1 -DCHIP_ERASE=1 -DUARTNUM=0 -DTX=AtmelPD1 -DRX=AtmelPD0 -DPROTECTRESET=1 -Wl,--relax -nostartfiles -nostdlib -o urboot_m168_1s_autobaud_uart0_rxd0_txd1_led+b5_pr_ce.elf urboot.c
./avr-toolchain/5.4.0/bin/avr-gcc -DSTART=0x3e80UL -DRJMPWP=0xcfc5 -Wl,--section-start=.text=0x3e80 -Wl,--section-start=.version=0x3ffa -DFRILLS=6 -D_urboot_AVAILABLE=42 -g -Wundef -Wall -Os -fno-split-wide-types -mrelax -mmcu=atmega168 -DF_CPU=16000000L -Wno-clobbered -DWDTO=1S -DAUTOBAUD=1 -DLED=AtmelPB5 -DBLINK=1 -DDUAL=0 -DEEPROM=1 -DURPROTOCOL=1 -DVBL=1 -DCHIP_ERASE=0 -DUARTNUM=0 -DTX=AtmelPD1 -DRX=AtmelPD0 -DPROTECTRESET=1 -Wl,--relax -nostartfiles -nostdlib -o urboot_m168_1s_autobaud_uart0_rxd0_txd1_led+b5_pr_ee.elf urboot.c
./avr-toolchain/5.4.0/bin/avr-gcc -DSTART=0x3e80UL -DRJMPWP=0xcfd2 -Wl,--section-start=.text=0x3e80 -Wl,--section-start=.version=0x3ffa -DFRILLS=6 -D_urboot_AVAILABLE=16 -g -Wundef -Wall -Os -fno-split-wide-types -mrelax -mmcu=atmega168 -DF_CPU=16000000L -Wno-clobbered -DWDTO=1S -DAUTOBAUD=1 -DLED=AtmelPB5 -DBLINK=1 -DDUAL=0 -DEEPROM=1 -DURPROTOCOL=1 -DVBL=1 -DCHIP_ERASE=1 -DUARTNUM=0 -DTX=AtmelPD1 -DRX=AtmelPD0 -DPROTECTRESET=1 -Wl,--relax -nostartfiles -nostdlib -o urboot_m168_1s_autobaud_uart0_rxd0_txd1_led+b5_pr_ee_ce.elf urboot.c
./avr-toolchain/5.4.0/bin/avr-gcc -DSTART=0x3e00UL -DRJMPWP=0xcf92 -Wl,--section-start=.text=0x3e00 -Wl,--section-start=.version=0x3ffa -DFRILLS=6 -D_urboot_AVAILABLE=162 -g -Wundef -Wall -Os -fno-split-wide-types -mrelax -mmcu=atmega168 -DF_CPU=16000000L -Wno-clobbered -DWDTO=1S -DAUTOBAUD=1 -DLED=AtmelPB5 -DBLINK=1 -DDUAL=0 -DEEPROM=1 -DURPROTOCOL=1 -DVBL=0 -DCHIP_ERASE=1 -DUARTNUM=0 -DTX=AtmelPD1 -DRX=AtmelPD0 -Wl,--relax -nostartfiles -nostdlib -o urboot_m168_1s_autobaud_uart0_rxd0_txd1_led+b5_ee_ce_hw.elf urboot.c
./avr-toolchain/5.4.0/bin/avr-gcc -DSTART=0x3e00UL -DRJMPWP=0xcfc6 -Wl,--section-start=.text=0x3e00 -Wl,--section-start=.version=0x3ffa -DFRILLS=6 -D_urboot_AVAILABLE=58 -g -Wundef -Wall -Os -fno-split-wide-types -mrelax -mmcu=atmega168 -DF_CPU=16000000L -Wno-clobbered -DWDTO=1S -DAUTOBAUD=1 -DLED=AtmelPB5 -DBLINK=1 -DDUAL=0 -DEEPROM=1 -DURPROTOCOL=0 -DVBL=0 -DCHIP_ERASE=1 -DUARTNUM=0 -DTX=AtmelPD1 -DRX=AtmelPD0 -Wl,--relax -nostartfiles -nostdlib -o urboot_m168_1s_autobaud_uart0_rxd0_txd1_led+b5_ee_ce_hw_stk500.elf urboot.c
```

Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
:103F0000112424B614BE80E04ED021FEABC08EE05A
:103F10004AD0E0ECF0E0AFE7BFEF4899FECF9096D3
:103F2000489BFDCFB4831197F1F7B2E0B083B8E1BD
:103F3000B18327D0823069F431D0382FA0E0B1E0CE
:103F400020D08D933A13FCCF34D0A0E0B1E03BD029
:103F50000EC0833041F422D0C82F2BD085910AD0D7
:103F6000C150E1F704C0823008F426C022D084E6B4
:103F700001D0DFCF9091C00095FFFCCF8093C600A9
:103F800008952D9A259A8091C00087FFFCCF84FD6B
:103F900013C0A8958091C6002D980895F2DFE82FF0
:103FA000F0DFF82FEECF98E19093600080936000EF
:103FB0000895E7DF803219F088E0F5DFFFCF80E277
:103FC000D9CFFB01DC0160E86A0F9F01FF3390F459
:103FD00083E00BD081E00D901D9007D03296A613A0
:103FE000FACFF90185E001D081E187BFE89507B6F6
:083FF00000FCFDCF112408952F
:063FFA000219E2CFA43F12
:0400000300003F00BA
:00000001FF
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
:103E0000112424B614BE80E07ED021FEF9C08EE0DD
:103E10007AD0E0ECF0E0AFE7BFEF4899FECF9096A4
:103E2000489BFDCFB4831197F1F7B2E0B083B8E1BE
:103E3000B18357D0C82F823559F46BD0E0E0FEE350
:103E4000E058F109A89583E080D03097C9F73FC0CA
:103E50008D7FF1F453D0D82FA0E0B1E042D08D9304
:103E6000DA13FCCF56D0C1110FC0A0E0B1E0F99930
:103E7000FECF1FBAF2BDE1BD8D9180BDFA9AF99ACD
:103E80003196DA13F4CF23C0A0E0B1E04CD01FC0CC
:103E9000C33041F433D0C82F3CD085911BD0C150E2
:103EA000E1F715C0C13071F429D0C82F32D0F9998B
:103EB000FECFF2BDE1BDF89A80B50CD03196C1506D
:103EC000B1F705C0C13511F488E01DD022D083E6DA
:103ED00001D0AFCF9091C00095FFFCCF8093C6007A
:103EE00008952D9A259A8091C00087FFFCCF84FD0C
:103EF00013C0A8958091C6002D980895F2DFE82F91
:103F0000F0DFF82FEECF98E190936000809360008F
:103F10000895E7DF803219F088E0F5DFFFCF80EA0F
:103F2000D9CFFB01DC0160E86A0F9F01FE3390F4FA
:103F300083E00BD081E00D901D9007D03296A61340
:103F4000FACFF90185E001D081E187BFE89507B696
:083F500000FCFDCF11240895CF
:063FFA00040092CFE13F3C
:0400000300003E00BB
:00000001FF
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
:103E0000112424B614BE80E0ADD021FEF9C08EE0AE
:103E1000A9D0E0ECF0E0AFE7BFEF4899FECF909675
:103E2000489BFDCFB4831197F1F7B2E0B083B8E1BE
:103E3000B1838BD0813429F488D081E099D087E098
:103E400011C0823411F485E174C0853411F486E028
:103E500070C0853749F481E08BD08EE16ED084E963
:103E60006CD086E06AD066C08635C1F46ED0D82F9B
:103E70006CD0C82F6AD069D081E07AD0DC3A11F0DA
:103E80008FEFF0CFC038E1F7E0E0FEE3E058F10952
:103E9000A89583E08ED03097C9F7F2CF853539F4F5
:103EA00054D0E82F52D0F82FEE0FFF1F41C08436B8
:103EB00009F54AD0182F49D0082FC0E0D1E045D0ED
:103EC00089931C13FCCF81E053D0063479F0A0E035
:103ED000B1E0F999FECF1FBAF2BDE1BD8D9180BD71
:103EE000FA9AF99A31961A13F4CF24C0A0E0B1E0FF
:103EF0004ED020C08437C1F427D0C82F26D0D82F69
:103F000081E036D0D63459F0F999FECFF2BDE1BD4B
:103F1000F89A80B512D03196C150B1F70BC0859197
:103F20000CD0C150E1F706C0813511F488E01AD0F9
:103F300081E01ED080E101D07CCF9091C00095FF40
:103F4000FCCF8093C600089500D02D9A259A8091C9
:103F5000C00087FFFCCF84FD12C0A8958091C600E9
:103F60002D98089598E190936000809360000895E3
:103F7000CF93C82FEADFC150E9F7803219F088E00B
:103F8000F1DFFFCF84E1CF91D8CFFB01DC0160E806
:103F90006A0F9F01FE3390F483E00BD081E00D9017
:103FA0001D9007D03296A613FACFF90185E001D013
:103FB00081E187BFE89507B600FCFDCF1124089585
:063FFA000400C6CFC13F28
:0400000300003E00BB
:00000001FF
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
:103F0000112424B614BE80E04ED021FE79C08EE08C
:103F10004AD0E0ECF0E0AFE7BFEF4899FECF9096D3
:103F2000489BFDCFB4831197F1F7B2E0B083B8E1BD
:103F3000B18327D0823069F431D0382FA0E0B1E0CE
:103F400020D08D933A13FCCF34D0A0E0B1E03BD029
:103F50000EC0833041F422D0C82F2BD085910AD0D7
:103F6000C150E1F704C0823008F426C022D084E6B4
:103F700001D0DFCF9091C00095FFFCCF8093C600A9
:103F800008952D9A259A8091C00087FFFCCF84FD6B
:103F900013C0A8958091C6002D980895F2DFE82FF0
:103FA000F0DFF82FEECF98E19093600080936000EF
:103FB0000895E7DF803219F088E0F5DFFFCF80E277
:103FC000D9CFFB01DC0160E86A0F9F01FF3390F459
:103FD00083E00BD081E00D901D9007D03296A613A0
:103FE000FACFF90185E001D081E187BFE89507B6F6
:083FF00000FCFDCF112408952F
:063FFA000200E2CFA03F2F
:0400000300003F00BA
:00000001FF
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
:103E8000112424B614BE80E052D021FEEBC08EE097
:103E90004ED0E0ECF0E0AFE7BFEF4899FECF909650
:103EA000489BFDCFB4831197F1F7B2E0B083B8E13E
:103EB000B1832BD0823069F435D0382FA0E0B1E047
:103EC00024D08D933A13FCCF38D0A0E0B1E03FD09E
:103ED00012C0833041F426D0C82F2FD085910ED048
:103EE000C150E1F708C0823008F42AC0813511F4CE
:103EF00088E01DD022D084E601D0DBCF9091C000B5
:103F000095FFFCCF8093C60008952D9A259A809145
:103F1000C00087FFFCCF84FD13C0A8958091C60028
:103F20002D980895F2DFE82FF0DFF82FEECF98E11B
:103F300090936000809360000895E7DF803219F06D
:103F400088E0F5DFFFCF80E2D9CFFB01DC0160E83C
:103F50006A0F9F01E0388EE3F807C8F483E012D0BF
:103F6000309629F48FE38D938FEC8C93119781E039
:103F70000D901D9007D03296A613FACFF90185E077
:103F800001D081E187BFE89507B600FCFDCF112481
:023F9000089592
:063FFA000319A6CFA63F4B
:0400000300003E803B
:00000001FF
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
:103E8000112424B614BE80E05FD021FEEBC08EE08A
:103E90005BD0E0ECF0E0AFE7BFEF4899FECF909643
:103EA000489BFDCFB4831197F1F7B2E0B083B8E13E
:103EB000B18338D0823559F44DD0E0E8FEE3E058C4
:103EC000F109A89583E06BD03097C9F721C0823003
:103ED00069F435D0382FA0E0B1E024D08D933A13A7
:103EE000FCCF38D0A0E0B1E03FD012C0833041F425
:103EF00026D0C82F2FD085910ED0C150E1F708C031
:103F0000823008F42AC0813511F488E01DD022D017
:103F100083E601D0CECF9091C00095FFFCCF809377
:103F2000C60008952D9A259A8091C00087FFFCCF86
:103F300084FD13C0A8958091C6002D980895F2DFE6
:103F4000E82FF0DFF82FEECF98E190936000809398
:103F500060000895E7DF803219F088E0F5DFFFCFD9
:103F600080EAD9CFFB01DC0160E86A0F9F01E038ED
:103F70008EE3F807C8F483E012D0309629F48FE37B
:103F80008D938FEC8C93119781E00D901D9007D04D
:103F90003296A613FACFF90185E001D081E187BFFF
:0C3FA000E89507B600FCFDCF1124089541
:063FFA000319B3CFA73F3D
:0400000300003E803B
:00000001FF
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
:103E8000112424B614BE80E071D021FEEBC08EE078
:103E90006DD0E0ECF0E0AFE7BFEF4899FECF909631
:103EA000489BFDCFB4831197F1F7B2E0B083B8E13E
:103EB000B1834AD0C82F8D7FF1F453D0D82FA0E022
:103EC000B1E042D08D93DA13FCCF56D0C1110FC0B0
:103ED000A0E0B1E0F999FECF1FBAF2BDE1BD8D912E
:103EE00080BDFA9AF99A3196DA13F4CF23C0A0E094
:103EF000B1E04CD01FC0C33041F433D0C82F3CD008
:103F000085911BD0C150E1F715C0C13071F429D0A3
:103F1000C82F32D0F999FECFF2BDE1BDF89A80B535
:103F20000CD03196C150B1F705C0C13511F488E00D
:103F30001DD022D084E601D0BCCF9091C00095FF67
:103F4000FCCF8093C60008952D9A259A8091C000D9
:103F500087FFFCCF84FD13C0A8958091C6002D98E3
:103F60000895F2DFE82FF0DFF82FEECF98E190937D
:103F70006000809360000895E7DF803219F088E0E8
:103F8000F5DFFFCF80E2D9CFFB01DC0160E86A0FEB
:103F90009F01E0388EE3F807C8F483E012D0309632
:103FA00029F48FE38D938FEC8C93119781E00D9022
:103FB0001D9007D03296A613FACFF90185E001D003
:103FC00081E187BFE89507B600FCFDCF1124089575
:063FFA000319C5CFE63FEC
:0400000300003E803B
:00000001FF
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
:103E8000112424B614BE80E07ED021FEEBC08EE06B
:103E90007AD0E0ECF0E0AFE7BFEF4899FECF909624
:103EA000489BFDCFB4831197F1F7B2E0B083B8E13E
:103EB000B18357D0C82F823559F46BD0E0E8FEE3C8
:103EC000E058F109A89583E089D03097C9F73FC041
:103ED0008D7FF1F453D0D82FA0E0B1E042D08D9384
:103EE000DA13FCCF56D0C1110FC0A0E0B1E0F999B0
:103EF000FECF1FBAF2BDE1BD8D9180BDFA9AF99A4D
:103F00003196DA13F4CF23C0A0E0B1E04CD01FC04B
:103F1000C33041F433D0C82F3CD085911BD0C15061
:103F2000E1F715C0C13071F429D0C82F32D0F9990A
:103F3000FECFF2BDE1BDF89A80B50CD03196C150EC
:103F4000B1F705C0C13511F488E01DD022D083E659
:103F500001D0AFCF9091C00095FFFCCF8093C600F9
:103F600008952D9A259A8091C00087FFFCCF84FD8B
:103F700013C0A8958091C6002D980895F2DFE82F10
:103F8000F0DFF82FEECF98E190936000809360000F
:103F90000895E7DF803219F088E0F5DFFFCF80EA8F
:103FA000D9CFFB01DC0160E86A0F9F01E0388EE3A6
:103FB000F807C8F483E012D0309629F48FE38D938C
:103FC0008FEC8C93119781E00D901D9007D0329665
:103FD000A613FACFF90185E001D081E187BFE8950A
:0A3FE00007B600FCFDCF1124089580
:063FFA000319D2CFE73FDE
:0400000300003E803B
:00000001FF
Loading

0 comments on commit 071a49a

Please sign in to comment.