Merge branch 'master' of github.com:ferrous-systems/embedded-trainings-2020 into edit-book

This commit is contained in:
Mirabellensaft 2020-07-15 14:25:43 +02:00
commit 0f0ed9647c
20 changed files with 2413 additions and 21 deletions

View file

@ -4,9 +4,7 @@ Pre-made applications for the nRF52840 Dongle.
These applications will be used in the beginner workshop.
## Getting familiar with the hardware
> TODO review for accessibility
## Hardware
### LEDs

View file

@ -0,0 +1,35 @@
#![deny(unused_must_use)]
#![no_main]
#![no_std]
use hal::{radio::{self, Channel}, led};
use panic_abort as _;
#[no_mangle]
fn main() -> ! {
let (mut rtx, mut rrx) = radio::claim(Channel::_21); // <- change this
let led = led::Green;
let task = async {
let mut packet = radio::Packet::new().await;
let mut on = true;
loop {
let crcres = rrx.read(&mut packet).await;
// togle LED on each new packet
if on {
led.on();
} else {
led.off();
}
on = !on;
if crcres.is_ok() {
packet.reverse();
rtx.write(&packet).await.ok();
}
}
};
executor::run!(task)
}

View file

@ -0,0 +1,259 @@
:1010000000C003207D160000C51D0000C51D0000A6
:10101000C51D0000C51D0000C51D0000000000002A
:10102000000000000000000000000000C51D0000DE
:10103000C51D000000000000C51D0000C51D00000A
:101040002517000029170000C51D00004D190000DC
:10105000C51D0000C51D0000C51D0000C51D000008
:10106000C51D0000C51D0000C51D00007D19000044
:10107000C51D0000C51D0000C51D0000C51D0000E8
:10108000C51D0000C51D0000C51D0000C51D0000D8
:10109000C51D0000C51D0000C51D0000C51D0000C8
:1010A000C51D0000C51D0000C51D0000C51D0000B8
:1010B000C51D0000C51D000000000000000000006C
:1010C000C51D0000C51D0000C51D0000C51D000098
:1010D000C51D0000C51D0000C51D0000C51D000088
:1010E000C51D0000C51D0000C51D0000000000005A
:1010F00000000000C51D000000000000C51D00002C
:041100000B010000DF
:1011040080B56F46017839B1032902D141780129AC
:1011140004D100F0A7FAFEDE002141700649012245
:101124000978C9B2002908BF032202704270B1FADB
:1011340081F0400980BD00BF06F0032080B56F46F2
:1011440098B0DFF8E4A40120DAE84F1F002940F04A
:101154005982CAE8410F0029F6D1C448052116ACCA
:101164004FF0000801264FF0030BC0F8FC1007A84D
:1011740000F12601029100F12501019100F1200105
:10118400049100F12C01069100F1280100F10C09F1
:10119400059100F1240100208DF830800994CDE9F7
:1011A40007440391C0B2DFE810F006000302030213
:1011B40022003B0009008DF834801DE09DF84400B6
:1011C400DFE810F0AC00F701F601B20007005500AB
:1011D4004F009DF84C00810700F0B080032840F0D8
:1011E400E8819DF84D00012840F0AA80E1E19DF8D6
:1011F4003400012800F0DD81DAF8040060B10168F0
:101204005AE8012F824204D14AE80112002AF3D19C
:1012140018E0BFF32F8FEFE703208DF8340040E18F
:101224009DF84000DFE810F03800C501C4013C001F
:10123400060016009DF84C00810723D0032800F017
:101244003E81B6E10221C1708DF831600A908DF8BB
:1012540034601BE09DF8540088B1032800F06781D6
:10126400A7E19DF84800012840F0EF80A1E19DF836
:10127400500048B1032840F09C81139D74E0DDE9DF
:10128400110152E1119819E1129D6CE08DF8408032
:10129400CDF8389007980D90ADF844800E980F90D3
:1012A4000598FFF72DFF10B18DF840B005E04FF41D
:1012B4008070ADF841000120FAE00021022082B2E2
:1012C400022A01D10420ECE0ADF82C004023ADF853
:1012D4002E109DF83110D84A002914BF53601360B2
:1012E400000481F001018DF83110CFD10A9911F871
:1012F400030F821E51FA82F0D2B2013152083AB180
:101304000B78013A057801F8015B00F80139F6E73A
:101314008DF84480CDF8389009980D90DDE90D01E1
:101324000F90ADF8488010910698FFF7E9FE08B1D8
:101334000320B3E0CDF84C800F9812908DF84D80C7
:101344009AF803000121C0B2022808BF0321022831
:101354008DF84C108DF84D1001D104209EE0039DB2
:101364008DF8508012951395002100208DF8586057
:10137400012905D0625C013106FA02F21043F7E755
:1013840008B1B14908609AF8010000F0030001288F
:101394007CD0A0BB02208AF8010000F0FFFCCDE95C
:1013A40016012046022100F055FBA849204600F012
:1013B4007DFB28689E4900680330C1F8F8009D4809
:1013C40001464FF48040C1F80003D1F8F80140F41D
:1013D4008010C1F8F8019AF80200C0B201280ED1B9
:1013E40094488AF802B0466000F0D8FCCDE91601B2
:1013F4002046022100F02EFB2046954944E000F0EF
:101404005BFCC5B2A5B3012D40D0022D40F0D480C1
:1014140088484FF000618AF80360C0F8FC12466205
:1014240000F0BCFCCDE916012046022100F012FBBD
:101434008849204600F03AFB20468DF8586000F0B9
:10144400ABFB8DF850608DF848809AF80300C0B269
:1014540001284FF0010008BF03208DF8480001D196
:1014640006201BE08DF8446010E700BF0C14004018
:1014740000F01CFC00F092FCCDE91601204602218C
:1014840000F0E8FA7449204600F010FB20468DF87D
:10149400586000F081FB8DF850B005208DF84400B1
:1014A40005208DF8300000F093FC9DF8300079E6BB
:1014B40000064AD004988DF84C80119012909AF846
:1014C4000100C0B210B102286AD098E000F0F4FB29
:1014D4005FFA80FBBBF1000F54D0BBF1010F5FD06A
:1014E400BBF1020F40F07780129851490068006800
:1014F4000330C1F8F8004F488AF80260066000F033
:101504004DFCCDE916012046022100F0A3FA4B4917
:10151400204600F0CBFA01994FF0030B02988DF8A6
:101524004C608DF8548012911190CDE913019AF812
:10153400020000F00300DFE800F06202111E052043
:101544008DF840008DF854B0B7E6394801688DF83D
:1015540040609DF8410080F00100B0E68AF8028006
:10156400139880F800803348D0F8F803149900F0F9
:101574000100087001E08AF802808DF854609DF83B
:10158400420095E700F092FB00F008FCCDE916015B
:101594002046022100F05EFA2949204600F086FA2E
:1015A40004204FF0030B8DF840008DF84CB084E616
:1015B400FEDE00F057F8FEDE00F0F0FB16ACCDE9DD
:1015C40016010021204600F045FA2449204600F087
:1015D4006DFA28460DE000F0E1FB16ACCDE91601EA
:1015E4000021204600F036FA1649204600F05EFA43
:1015F4005846214600F07CFB00F0B6FBFEDE00F00E
:1016040073FAFEDEBFF32F8F00F0C8FB07ACCDE901
:1016140007010021204600F01DFA0449204600F08D
:1016240045FA00F0CEFBFEDE08F003200D000000BA
:101634000C14004008100040080500500F00000082
:101644000E0000001000000080E100E01100000026
:101654001200000014000000130000001500000038
:1016640000F0B0BB80B56F4600F001F8FEDE80B537
:101674006F4600F08DFBFEDE80B56F461B481D4AA9
:10168400016841F0807101601948002141600168DE
:1016940011400131016018480121C0F810150160A2
:1016A40016488160016016481649091A21F00301A1
:1016B40000F032FC14481549091A21F003021449B8
:1016C40000F08AFB00F080FB12484FF48A51124C60
:1016D400124D01600161AC4202D201CC8047FAE7AD
:1016E400FFF7BEFFFFF72AFDFEDE00BFFCED00E0C2
:1016F400001000E0FEFFFF000800004000B00040C2
:1017040000F0032010F0032010F0032010F0032059
:10171400FC1F000008050050F01F0000FC1F000023
:1017240000F0F6B9F0B503AF2DE9C00B00F036FBBD
:101734006C46CDE900012046042100F08BF979497B
:10174400204600F0B3F9784A906B000605D00020DB
:101754009063D2F80402400406D41068000607D04F
:101764004FF0040810461BE091464FF002081AE0BF
:10177400104650F8481F090602D04FF000080FE049
:10178400104650F80C1F090602D04FF0010807E07C
:10179400104650F86C1F090600F0C0804FF0030893
:1017A40091460021016000F0F9FA6E460446CDE945
:1017B40000010D463046032100F04CF95B493046E8
:1017C40000F074F928880C22411C6FF31F30225456
:1017D40030462980564900F069F9DFE808F00372C1
:1017E4002B482100DDE9000100250A88531C6FF312
:1017F4001F3285540B8000F0D1FA6C46CDE900010C
:101804002046022100F026F94E49204600F04EF908
:101814004FF000600421C9F808024648457061E0B1
:10182400DDE9000104240A88531C6FF31F32845439
:101834000B8070E0DDE9000102240A883D4D531C51
:101844006FF31F3284540B806878000666D100F071
:10185400A5FA6C46CDE900012046022100F0FAF811
:101864003649204600F022F90120687053E0DDE992
:101874000012032013885C1C6FF31F33C8542D49D6
:1018840014804A78D2B2022A48D14FF48042C9F86F
:101894000422D9F8002122F48012C9F800214FF063
:1018A4000062C9F8082200224A70C87000F076FA73
:1018B4006C46CDE900012046022100F0CBF81E4918
:1018C40026E0DDE9000101240A88531C6FF31F326E
:1018D400845418480B804178C9B2012904D00229E4
:1018E4001CD10221C17016E08178C9B2012915D139
:1018F4000021C9F86C1041700221817000F04EFA89
:101904006C46CDE900012046022100F0A3F80C4901
:10191400204600F0CBF8BDE80C0BF0BD00F0E4F875
:10192400FEDE00BF020000000011004003000000C2
:101934000800000008F00320070000000500000074
:101944000600000004000000DCB504AF00F026FA35
:101954006C46CDE900012046042100F07BF80449DF
:10196400204600F0A3F8034800210160DCBD00BF5D
:101974000100000018310040DCB504AF2F480168B5
:10198400C90741D1C16BC90722D000212F4CC163C3
:101994002D490A88931C013204EA03332C4C23603A
:1019A4000A8091B20C22B1FBF2F202EB4202A1EBEB
:1019B400820103290CD8DFE801F00207020721495C
:1019C4004FF480724A6003E01E494FF480720A604B
:1019D400016CC9071FBF002101644FF40031C0F836
:1019E4000412416CC9071FBF002141644FF48021D8
:1019F400C0F80412816CC9071FBF002181644FF431
:101A04000021C0F80412DCBD00F0C8F96C46CDE931
:101A140000012046002100F01DF80949204600F08D
:101A240045F808484FF480510160402101604FF4AB
:101A34008071416000F0C5F9FEDE00BF04B10040D2
:101A4400000000000805005000F0032000F0FF0033
:101A540040B50040F0B503AF4DF804BD124A12681A
:101A6400D0E90034258892096E1C6FF31F3559554F
:101A740000232680D0E900100488661C42F080050B
:101A84006FF31F34B3EBD21F08BF02F07F05B3EB33
:101A9400D21F0D554FEAD21534462A460680ECD1A2
:101AA4005DF804BBF0BD00BF041000E0F0B503AF67
:101AB4004DF804BD8AB27F2A0AD3D0E9003441F03C
:101AC400800125886E1C6FF31F355955D109268076
:101AD400D0E9002003885C1C6FF31F33D1540480C9
:101AE4005DF804BBF0BDD4D4E0B502AF00F056F904
:101AF4006C46CDE9000120460021FFF7ABFF034906
:101B04002046FFF7D3FF00F05CF9FEDE0900000079
:101B1400DCB504AF00F042F96C46CDE90001204683
:101B24000421FFF797FF0D492046FFF7BFFF0C483C
:101B34000168090611D00021016000F02FF96C46FC
:101B4400CDE9000120460221FFF784FF0549204624
:101B5400FFF7ACFF044801210170DCBD0A0000005E
:101B6400000100400B00000006F0032007484FF47A
:101B7400803101604FF48051C0F83C124FF4807101
:101B840003480160034800F007B800BF04B30040F5
:101B94000C05005000110000D0B502AF0022012353
:101BA4000021012A05D0845C013203FA04F42143A4
:101BB400F7E709B101480160D0BD00BF00E100E0D2
:101BC400F0B503AF4DF804BD1E4C1F4D264604F579
:101BD400C670864212D06868014655E8010F8842F3
:101BE40004D145E80162002AF6D102E0BFF32F8F49
:101BF400F2E746F8841B00F0E9F8E8E713480F2100
:101C04000123416008210160114981608121C16083
:101C140010490A6863F302020A6040F202214FF499
:101C2400822281620C49C162002101630B49425046
:101C34000B490C4A42500C485DF804BBBDE8F04027
:101C4400FFF7AABF00C0032008F003200C150040D2
:101C5400080000066C16004021100100F4FCFFFF90
:101C6400F8FDFFFF0940040801110000BCB504AFF2
:101C74004FF080400125056000F090F86C46CDE9F6
:101C8400000120460221FFF7E5FE05492046FFF743
:101C94000DFF044805600448BDE8BC40FFF77CBF65
:101CA4000C0000000403004002110000014801215F
:101CB4000160704704100040BCB504AF0A480468D2
:101CC40000F06CF86D46CDE9000128460321FFF7CA
:101CD400C1FE06492846FFF7E9FE2046294600F0E2
:101CE40007F8204602B0B0BD5015004017000000B0
:101CF400F0B503AF4DF804BD0C460546D1E900012B
:101D04000C260A88531C6FF31F32865420460B801E
:101D14001449FFF7CBFE05F00F010820DFE801F0BE
:101D2400070D0F091521212121110B131600002085
:101D34000CE003200AE0062008E0012006E002206F
:101D440004E0052002E0072000E00420D4E90012AA
:101D540013885C1C6FF31F33C85414805DF804BBF4
:101D6400F0BDFEDE16000000E0B502AF00F016F88C
:101D74006C46CDE9000120460021FFF76BFE0349C4
:101D84002046FFF793FE00F01CF8FEDE180000006A
:101D940080B56F4600F015F8FEDED4D40649054838
:101DA4000968C9B20029054918BF00F5805018BF59
:101DB4000231704700D0032004ED00E002F003205C
:101DC400FFBEAABE62B6704772B6704740BF704786
:101DD40020BF704700F0A3B8042A38BFFFF7FABF4A
:101DE400B0B502AFA2F1040C012303EB9C0313F082
:101DF40003030ED08E4604465EF8045B012B44F8C0
:101E0400045B1FD1634620467146BCF10C0F04D21B
:101E140012E01346BCF10C0F0ED30D68103B0560A5
:101E2400032B4D6845608D688560CD6801F1100114
:101E3400C56000F11000F0D802F00302BDE8B04024
:101E4400FFF7C8BF4D68022B456007D1A2F1080314
:101E540008310830BCF10C0FDFD2EDE78B680C3190
:101E64008360A2F10C030C30BCF10C0FD5D2E3E774
:101E74000B4611461A4600F08FB81346D2B2042915
:101E840038BFFFF7F5BFD0B502AFA1F1040E42EAA7
:101E94000363012443EA024304EB9E0443EA02235E
:101EA40014F0030410D08446012C4CF8043B10D1E8
:101EB40074466046BEF10C0F1ED201F00301BDE86A
:101EC400D0406046FFF7D4BF0C46BEF10C0F13D2CE
:101ED400F3E7022C436007D10830A1F108048446DB
:101EE400BEF10C0F08D2E8E783600C30A1F10C04BA
:101EF4008446BEF10C0FE0D3C0E90033103CC0E9C6
:101F040002331030032CF7D8844601F00301BDE8F6
:101F1400D0406046FFF7ACBF0022FFF7AEBFF0B57C
:101F240003AF4DF8048DA2B3531E02F0030C032B30
:101F340014D20022BCF1000F2BD08B5CBCF1010F3A
:101F4400835426D0531CBCF1020FCE5CC65420D05F
:101F54000232895C81545DF8048BF0BDACEB020E57
:101F640001F10108441C6FF0030208EB0206A518F6
:101F74000432F378EB7033792B7173796B71B37925
:101F8400AB710EEB02030433EFD10432BCF1000F4A
:101F9400D3D15DF8048BF0BDD0B502AF12B3531E9C
:101FA40002F0030C032B01D200220FE0ACEB020E73
:101FB400421C6FF00303D4180433A17161712171C1
:101FC400E1700EEB03040434F5D11A1DBCF1000FCB
:101FD4001ABF8154BCF1010FD0BD0244BCF1020F01
:0A1FE400517000D1D0BD9170D0BD46
:0C1FF000711C0000C51B0000711B0000EC
:040000030000167D66
:00000001FF

View file

@ -0,0 +1,259 @@
:1010000000C003207D160000C51D0000C51D0000A6
:10101000C51D0000C51D0000C51D0000000000002A
:10102000000000000000000000000000C51D0000DE
:10103000C51D000000000000C51D0000C51D00000A
:101040002517000029170000C51D00004D190000DC
:10105000C51D0000C51D0000C51D0000C51D000008
:10106000C51D0000C51D0000C51D00007D19000044
:10107000C51D0000C51D0000C51D0000C51D0000E8
:10108000C51D0000C51D0000C51D0000C51D0000D8
:10109000C51D0000C51D0000C51D0000C51D0000C8
:1010A000C51D0000C51D0000C51D0000C51D0000B8
:1010B000C51D0000C51D000000000000000000006C
:1010C000C51D0000C51D0000C51D0000C51D000098
:1010D000C51D0000C51D0000C51D0000C51D000088
:1010E000C51D0000C51D0000C51D0000000000005A
:1010F00000000000C51D000000000000C51D00002C
:041100000B010000DF
:1011040080B56F46017839B1032902D141780129AC
:1011140004D100F0A7FAFEDE002141700649012245
:101124000978C9B2002908BF032202704270B1FADB
:1011340081F0400980BD00BF06F0032080B56F46F2
:1011440098B0DFF8E4A40120DAE84F1F002940F04A
:101154005982CAE8410F0029F6D1C4491E2016ACB1
:101164004FF0000801264FF0030BC1F8FC0007A85C
:1011740000F12601029100F12501019100F1200105
:10118400049100F12C01069100F1280100F10C09F1
:10119400059100F1240100208DF830800994CDE9F7
:1011A40007440391C0B2DFE810F006000302030213
:1011B40022003B0009008DF834801DE09DF84400B6
:1011C400DFE810F0AC00F701F601B20007005500AB
:1011D4004F009DF84C00810700F0B080032840F0D8
:1011E400E8819DF84D00012840F0AA80E1E19DF8D6
:1011F4003400012800F0DD81DAF8040060B10168F0
:101204005AE8012F824204D14AE80112002AF3D19C
:1012140018E0BFF32F8FEFE703208DF8340040E18F
:101224009DF84000DFE810F03800C501C4013C001F
:10123400060016009DF84C00810723D0032800F017
:101244003E81B6E10221C1708DF831600A908DF8BB
:1012540034601BE09DF8540088B1032800F06781D6
:10126400A7E19DF84800012840F0EF80A1E19DF836
:10127400500048B1032840F09C81139D74E0DDE9DF
:10128400110152E1119819E1129D6CE08DF8408032
:10129400CDF8389007980D90ADF844800E980F90D3
:1012A4000598FFF72DFF10B18DF840B005E04FF41D
:1012B4008070ADF841000120FAE00021022082B2E2
:1012C400022A01D10420ECE0ADF82C004023ADF853
:1012D4002E109DF83110D84A002914BF53601360B2
:1012E400000481F001018DF83110CFD10A9911F871
:1012F400030F821E51FA82F0D2B2013152083AB180
:101304000B78013A057801F8015B00F80139F6E73A
:101314008DF84480CDF8389009980D90DDE90D01E1
:101324000F90ADF8488010910698FFF7E9FE08B1D8
:101334000320B3E0CDF84C800F9812908DF84D80C7
:101344009AF803000121C0B2022808BF0321022831
:101354008DF84C108DF84D1001D104209EE0039DB2
:101364008DF8508012951395002100208DF8586057
:10137400012905D0625C013106FA02F21043F7E755
:1013840008B1B14908609AF8010000F0030001288F
:101394007CD0A0BB02208AF8010000F0FFFCCDE95C
:1013A40016012046022100F055FBA849204600F012
:1013B4007DFB28689E4900680330C1F8F8009D4809
:1013C40001464FF48040C1F80003D1F8F80140F41D
:1013D4008010C1F8F8019AF80200C0B201280ED1B9
:1013E40094488AF802B0466000F0D8FCCDE91601B2
:1013F4002046022100F02EFB2046954944E000F0EF
:101404005BFCC5B2A5B3012D40D0022D40F0D480C1
:1014140088484FF000618AF80360C0F8FC12466205
:1014240000F0BCFCCDE916012046022100F012FBBD
:101434008849204600F03AFB20468DF8586000F0B9
:10144400ABFB8DF850608DF848809AF80300C0B269
:1014540001284FF0010008BF03208DF8480001D196
:1014640006201BE08DF8446010E700BF0C14004018
:1014740000F01CFC00F092FCCDE91601204602218C
:1014840000F0E8FA7449204600F010FB20468DF87D
:10149400586000F081FB8DF850B005208DF84400B1
:1014A40005208DF8300000F093FC9DF8300079E6BB
:1014B40000064AD004988DF84C80119012909AF846
:1014C4000100C0B210B102286AD098E000F0F4FB29
:1014D4005FFA80FBBBF1000F54D0BBF1010F5FD06A
:1014E400BBF1020F40F07780129851490068006800
:1014F4000330C1F8F8004F488AF80260066000F033
:101504004DFCCDE916012046022100F0A3FA4B4917
:10151400204600F0CBFA01994FF0030B02988DF8A6
:101524004C608DF8548012911190CDE913019AF812
:10153400020000F00300DFE800F06202111E052043
:101544008DF840008DF854B0B7E6394801688DF83D
:1015540040609DF8410080F00100B0E68AF8028006
:10156400139880F800803348D0F8F803149900F0F9
:101574000100087001E08AF802808DF854609DF83B
:10158400420095E700F092FB00F008FCCDE916015B
:101594002046022100F05EFA2949204600F086FA2E
:1015A40004204FF0030B8DF840008DF84CB084E616
:1015B400FEDE00F057F8FEDE00F0F0FB16ACCDE9DD
:1015C40016010021204600F045FA2449204600F087
:1015D4006DFA28460DE000F0E1FB16ACCDE91601EA
:1015E4000021204600F036FA1649204600F05EFA43
:1015F4005846214600F07CFB00F0B6FBFEDE00F00E
:1016040073FAFEDEBFF32F8F00F0C8FB07ACCDE901
:1016140007010021204600F01DFA0449204600F08D
:1016240045FA00F0CEFBFEDE08F003200D000000BA
:101634000C14004008100040080500500F00000082
:101644000E0000001000000080E100E01100000026
:101654001200000014000000130000001500000038
:1016640000F0B0BB80B56F4600F001F8FEDE80B537
:101674006F4600F08DFBFEDE80B56F461B481D4AA9
:10168400016841F0807101601948002141600168DE
:1016940011400131016018480121C0F810150160A2
:1016A40016488160016016481649091A21F00301A1
:1016B40000F032FC14481549091A21F003021449B8
:1016C40000F08AFB00F080FB12484FF48A51124C60
:1016D400124D01600161AC4202D201CC8047FAE7AD
:1016E400FFF7BEFFFFF72AFDFEDE00BFFCED00E0C2
:1016F400001000E0FEFFFF000800004000B00040C2
:1017040000F0032010F0032010F0032010F0032059
:10171400FC1F000008050050F01F0000FC1F000023
:1017240000F0F6B9F0B503AF2DE9C00B00F036FBBD
:101734006C46CDE900012046042100F08BF979497B
:10174400204600F0B3F9784A906B000605D00020DB
:101754009063D2F80402400406D41068000607D04F
:101764004FF0040810461BE091464FF002081AE0BF
:10177400104650F8481F090602D04FF000080FE049
:10178400104650F80C1F090602D04FF0010807E07C
:10179400104650F86C1F090600F0C0804FF0030893
:1017A40091460021016000F0F9FA6E460446CDE945
:1017B40000010D463046032100F04CF95B493046E8
:1017C40000F074F928880C22411C6FF31F30225456
:1017D40030462980564900F069F9DFE808F00372C1
:1017E4002B482100DDE9000100250A88531C6FF312
:1017F4001F3285540B8000F0D1FA6C46CDE900010C
:101804002046022100F026F94E49204600F04EF908
:101814004FF000600421C9F808024648457061E0B1
:10182400DDE9000104240A88531C6FF31F32845439
:101834000B8070E0DDE9000102240A883D4D531C51
:101844006FF31F3284540B806878000666D100F071
:10185400A5FA6C46CDE900012046022100F0FAF811
:101864003649204600F022F90120687053E0DDE992
:101874000012032013885C1C6FF31F33C8542D49D6
:1018840014804A78D2B2022A48D14FF48042C9F86F
:101894000422D9F8002122F48012C9F800214FF063
:1018A4000062C9F8082200224A70C87000F076FA73
:1018B4006C46CDE900012046022100F0CBF81E4918
:1018C40026E0DDE9000101240A88531C6FF31F326E
:1018D400845418480B804178C9B2012904D00229E4
:1018E4001CD10221C17016E08178C9B2012915D139
:1018F4000021C9F86C1041700221817000F04EFA89
:101904006C46CDE900012046022100F0A3F80C4901
:10191400204600F0CBF8BDE80C0BF0BD00F0E4F875
:10192400FEDE00BF020000000011004003000000C2
:101934000800000008F00320070000000500000074
:101944000600000004000000DCB504AF00F026FA35
:101954006C46CDE900012046042100F07BF80449DF
:10196400204600F0A3F8034800210160DCBD00BF5D
:101974000100000018310040DCB504AF2F480168B5
:10198400C90741D1C16BC90722D000212F4CC163C3
:101994002D490A88931C013204EA03332C4C23603A
:1019A4000A8091B20C22B1FBF2F202EB4202A1EBEB
:1019B400820103290CD8DFE801F00207020721495C
:1019C4004FF480724A6003E01E494FF480720A604B
:1019D400016CC9071FBF002101644FF40031C0F836
:1019E4000412416CC9071FBF002141644FF48021D8
:1019F400C0F80412816CC9071FBF002181644FF431
:101A04000021C0F80412DCBD00F0C8F96C46CDE931
:101A140000012046002100F01DF80949204600F08D
:101A240045F808484FF480510160402101604FF4AB
:101A34008071416000F0C5F9FEDE00BF04B10040D2
:101A4400000000000805005000F0032000F0FF0033
:101A540040B50040F0B503AF4DF804BD124A12681A
:101A6400D0E90034258892096E1C6FF31F3559554F
:101A740000232680D0E900100488661C42F080050B
:101A84006FF31F34B3EBD21F08BF02F07F05B3EB33
:101A9400D21F0D554FEAD21534462A460680ECD1A2
:101AA4005DF804BBF0BD00BF041000E0F0B503AF67
:101AB4004DF804BD8AB27F2A0AD3D0E9003441F03C
:101AC400800125886E1C6FF31F355955D109268076
:101AD400D0E9002003885C1C6FF31F33D1540480C9
:101AE4005DF804BBF0BDD4D4E0B502AF00F056F904
:101AF4006C46CDE9000120460021FFF7ABFF034906
:101B04002046FFF7D3FF00F05CF9FEDE0900000079
:101B1400DCB504AF00F042F96C46CDE90001204683
:101B24000421FFF797FF0D492046FFF7BFFF0C483C
:101B34000168090611D00021016000F02FF96C46FC
:101B4400CDE9000120460221FFF784FF0549204624
:101B5400FFF7ACFF044801210170DCBD0A0000005E
:101B6400000100400B00000006F0032007484FF47A
:101B7400803101604FF48051C0F83C124FF4807101
:101B840003480160034800F007B800BF04B30040F5
:101B94000C05005000110000D0B502AF0022012353
:101BA4000021012A05D0845C013203FA04F42143A4
:101BB400F7E709B101480160D0BD00BF00E100E0D2
:101BC400F0B503AF4DF804BD1E4C1F4D264604F579
:101BD400C670864212D06868014655E8010F8842F3
:101BE40004D145E80162002AF6D102E0BFF32F8F49
:101BF400F2E746F8841B00F0E9F8E8E713480F2100
:101C04000123416008210160114981608121C16083
:101C140010490A6863F302020A6040F202214FF499
:101C2400822281620C49C162002101630B49425046
:101C34000B490C4A42500C485DF804BBBDE8F04027
:101C4400FFF7AABF00C0032008F003200C150040D2
:101C5400080000066C16004021100100F4FCFFFF90
:101C6400F8FDFFFF0940040801110000BCB504AFF2
:101C74004FF080400125056000F090F86C46CDE9F6
:101C8400000120460221FFF7E5FE05492046FFF743
:101C94000DFF044805600448BDE8BC40FFF77CBF65
:101CA4000C0000000403004002110000014801215F
:101CB4000160704704100040BCB504AF0A480468D2
:101CC40000F06CF86D46CDE9000128460321FFF7CA
:101CD400C1FE06492846FFF7E9FE2046294600F0E2
:101CE40007F8204602B0B0BD5015004017000000B0
:101CF400F0B503AF4DF804BD0C460546D1E900012B
:101D04000C260A88531C6FF31F32865420460B801E
:101D14001449FFF7CBFE05F00F010820DFE801F0BE
:101D2400070D0F091521212121110B131600002085
:101D34000CE003200AE0062008E0012006E002206F
:101D440004E0052002E0072000E00420D4E90012AA
:101D540013885C1C6FF31F33C85414805DF804BBF4
:101D6400F0BDFEDE16000000E0B502AF00F016F88C
:101D74006C46CDE9000120460021FFF76BFE0349C4
:101D84002046FFF793FE00F01CF8FEDE180000006A
:101D940080B56F4600F015F8FEDED4D40649054838
:101DA4000968C9B20029054918BF00F5805018BF59
:101DB4000231704700D0032004ED00E002F003205C
:101DC400FFBEAABE62B6704772B6704740BF704786
:101DD40020BF704700F0A3B8042A38BFFFF7FABF4A
:101DE400B0B502AFA2F1040C012303EB9C0313F082
:101DF40003030ED08E4604465EF8045B012B44F8C0
:101E0400045B1FD1634620467146BCF10C0F04D21B
:101E140012E01346BCF10C0F0ED30D68103B0560A5
:101E2400032B4D6845608D688560CD6801F1100114
:101E3400C56000F11000F0D802F00302BDE8B04024
:101E4400FFF7C8BF4D68022B456007D1A2F1080314
:101E540008310830BCF10C0FDFD2EDE78B680C3190
:101E64008360A2F10C030C30BCF10C0FD5D2E3E774
:101E74000B4611461A4600F08FB81346D2B2042915
:101E840038BFFFF7F5BFD0B502AFA1F1040E42EAA7
:101E94000363012443EA024304EB9E0443EA02235E
:101EA40014F0030410D08446012C4CF8043B10D1E8
:101EB40074466046BEF10C0F1ED201F00301BDE86A
:101EC400D0406046FFF7D4BF0C46BEF10C0F13D2CE
:101ED400F3E7022C436007D10830A1F108048446DB
:101EE400BEF10C0F08D2E8E783600C30A1F10C04BA
:101EF4008446BEF10C0FE0D3C0E90033103CC0E9C6
:101F040002331030032CF7D8844601F00301BDE8F6
:101F1400D0406046FFF7ACBF0022FFF7AEBFF0B57C
:101F240003AF4DF8048DA2B3531E02F0030C032B30
:101F340014D20022BCF1000F2BD08B5CBCF1010F3A
:101F4400835426D0531CBCF1020FCE5CC65420D05F
:101F54000232895C81545DF8048BF0BDACEB020E57
:101F640001F10108441C6FF0030208EB0206A518F6
:101F74000432F378EB7033792B7173796B71B37925
:101F8400AB710EEB02030433EFD10432BCF1000F4A
:101F9400D3D15DF8048BF0BDD0B502AF12B3531E9C
:101FA40002F0030C032B01D200220FE0ACEB020E73
:101FB400421C6FF00303D4180433A17161712171C1
:101FC400E1700EEB03040434F5D11A1DBCF1000FCB
:101FD4001ABF8154BCF1010FD0BD0244BCF1020F01
:0A1FE400517000D1D0BD9170D0BD46
:0C1FF000711C0000C51B0000711B0000EC
:040000030000167D66
:00000001FF

View file

@ -0,0 +1,259 @@
:1010000000C003207D160000C51D0000C51D0000A6
:10101000C51D0000C51D0000C51D0000000000002A
:10102000000000000000000000000000C51D0000DE
:10103000C51D000000000000C51D0000C51D00000A
:101040002517000029170000C51D00004D190000DC
:10105000C51D0000C51D0000C51D0000C51D000008
:10106000C51D0000C51D0000C51D00007D19000044
:10107000C51D0000C51D0000C51D0000C51D0000E8
:10108000C51D0000C51D0000C51D0000C51D0000D8
:10109000C51D0000C51D0000C51D0000C51D0000C8
:1010A000C51D0000C51D0000C51D0000C51D0000B8
:1010B000C51D0000C51D000000000000000000006C
:1010C000C51D0000C51D0000C51D0000C51D000098
:1010D000C51D0000C51D0000C51D0000C51D000088
:1010E000C51D0000C51D0000C51D0000000000005A
:1010F00000000000C51D000000000000C51D00002C
:041100000B010000DF
:1011040080B56F46017839B1032902D141780129AC
:1011140004D100F0A7FAFEDE002141700649012245
:101124000978C9B2002908BF032202704270B1FADB
:1011340081F0400980BD00BF06F0032080B56F46F2
:1011440098B0DFF8E4A40120DAE84F1F002940F04A
:101154005982CAE8410F0029F6D1C449372016AC98
:101164004FF0000801264FF0030BC1F8FC0007A85C
:1011740000F12601029100F12501019100F1200105
:10118400049100F12C01069100F1280100F10C09F1
:10119400059100F1240100208DF830800994CDE9F7
:1011A40007440391C0B2DFE810F006000302030213
:1011B40022003B0009008DF834801DE09DF84400B6
:1011C400DFE810F0AC00F701F601B20007005500AB
:1011D4004F009DF84C00810700F0B080032840F0D8
:1011E400E8819DF84D00012840F0AA80E1E19DF8D6
:1011F4003400012800F0DD81DAF8040060B10168F0
:101204005AE8012F824204D14AE80112002AF3D19C
:1012140018E0BFF32F8FEFE703208DF8340040E18F
:101224009DF84000DFE810F03800C501C4013C001F
:10123400060016009DF84C00810723D0032800F017
:101244003E81B6E10221C1708DF831600A908DF8BB
:1012540034601BE09DF8540088B1032800F06781D6
:10126400A7E19DF84800012840F0EF80A1E19DF836
:10127400500048B1032840F09C81139D74E0DDE9DF
:10128400110152E1119819E1129D6CE08DF8408032
:10129400CDF8389007980D90ADF844800E980F90D3
:1012A4000598FFF72DFF10B18DF840B005E04FF41D
:1012B4008070ADF841000120FAE00021022082B2E2
:1012C400022A01D10420ECE0ADF82C004023ADF853
:1012D4002E109DF83110D84A002914BF53601360B2
:1012E400000481F001018DF83110CFD10A9911F871
:1012F400030F821E51FA82F0D2B2013152083AB180
:101304000B78013A057801F8015B00F80139F6E73A
:101314008DF84480CDF8389009980D90DDE90D01E1
:101324000F90ADF8488010910698FFF7E9FE08B1D8
:101334000320B3E0CDF84C800F9812908DF84D80C7
:101344009AF803000121C0B2022808BF0321022831
:101354008DF84C108DF84D1001D104209EE0039DB2
:101364008DF8508012951395002100208DF8586057
:10137400012905D0625C013106FA02F21043F7E755
:1013840008B1B14908609AF8010000F0030001288F
:101394007CD0A0BB02208AF8010000F0FFFCCDE95C
:1013A40016012046022100F055FBA849204600F012
:1013B4007DFB28689E4900680330C1F8F8009D4809
:1013C40001464FF48040C1F80003D1F8F80140F41D
:1013D4008010C1F8F8019AF80200C0B201280ED1B9
:1013E40094488AF802B0466000F0D8FCCDE91601B2
:1013F4002046022100F02EFB2046954944E000F0EF
:101404005BFCC5B2A5B3012D40D0022D40F0D480C1
:1014140088484FF000618AF80360C0F8FC12466205
:1014240000F0BCFCCDE916012046022100F012FBBD
:101434008849204600F03AFB20468DF8586000F0B9
:10144400ABFB8DF850608DF848809AF80300C0B269
:1014540001284FF0010008BF03208DF8480001D196
:1014640006201BE08DF8446010E700BF0C14004018
:1014740000F01CFC00F092FCCDE91601204602218C
:1014840000F0E8FA7449204600F010FB20468DF87D
:10149400586000F081FB8DF850B005208DF84400B1
:1014A40005208DF8300000F093FC9DF8300079E6BB
:1014B40000064AD004988DF84C80119012909AF846
:1014C4000100C0B210B102286AD098E000F0F4FB29
:1014D4005FFA80FBBBF1000F54D0BBF1010F5FD06A
:1014E400BBF1020F40F07780129851490068006800
:1014F4000330C1F8F8004F488AF80260066000F033
:101504004DFCCDE916012046022100F0A3FA4B4917
:10151400204600F0CBFA01994FF0030B02988DF8A6
:101524004C608DF8548012911190CDE913019AF812
:10153400020000F00300DFE800F06202111E052043
:101544008DF840008DF854B0B7E6394801688DF83D
:1015540040609DF8410080F00100B0E68AF8028006
:10156400139880F800803348D0F8F803149900F0F9
:101574000100087001E08AF802808DF854609DF83B
:10158400420095E700F092FB00F008FCCDE916015B
:101594002046022100F05EFA2949204600F086FA2E
:1015A40004204FF0030B8DF840008DF84CB084E616
:1015B400FEDE00F057F8FEDE00F0F0FB16ACCDE9DD
:1015C40016010021204600F045FA2449204600F087
:1015D4006DFA28460DE000F0E1FB16ACCDE91601EA
:1015E4000021204600F036FA1649204600F05EFA43
:1015F4005846214600F07CFB00F0B6FBFEDE00F00E
:1016040073FAFEDEBFF32F8F00F0C8FB07ACCDE901
:1016140007010021204600F01DFA0449204600F08D
:1016240045FA00F0CEFBFEDE08F003200D000000BA
:101634000C14004008100040080500500F00000082
:101644000E0000001000000080E100E01100000026
:101654001200000014000000130000001500000038
:1016640000F0B0BB80B56F4600F001F8FEDE80B537
:101674006F4600F08DFBFEDE80B56F461B481D4AA9
:10168400016841F0807101601948002141600168DE
:1016940011400131016018480121C0F810150160A2
:1016A40016488160016016481649091A21F00301A1
:1016B40000F032FC14481549091A21F003021449B8
:1016C40000F08AFB00F080FB12484FF48A51124C60
:1016D400124D01600161AC4202D201CC8047FAE7AD
:1016E400FFF7BEFFFFF72AFDFEDE00BFFCED00E0C2
:1016F400001000E0FEFFFF000800004000B00040C2
:1017040000F0032010F0032010F0032010F0032059
:10171400FC1F000008050050F01F0000FC1F000023
:1017240000F0F6B9F0B503AF2DE9C00B00F036FBBD
:101734006C46CDE900012046042100F08BF979497B
:10174400204600F0B3F9784A906B000605D00020DB
:101754009063D2F80402400406D41068000607D04F
:101764004FF0040810461BE091464FF002081AE0BF
:10177400104650F8481F090602D04FF000080FE049
:10178400104650F80C1F090602D04FF0010807E07C
:10179400104650F86C1F090600F0C0804FF0030893
:1017A40091460021016000F0F9FA6E460446CDE945
:1017B40000010D463046032100F04CF95B493046E8
:1017C40000F074F928880C22411C6FF31F30225456
:1017D40030462980564900F069F9DFE808F00372C1
:1017E4002B482100DDE9000100250A88531C6FF312
:1017F4001F3285540B8000F0D1FA6C46CDE900010C
:101804002046022100F026F94E49204600F04EF908
:101814004FF000600421C9F808024648457061E0B1
:10182400DDE9000104240A88531C6FF31F32845439
:101834000B8070E0DDE9000102240A883D4D531C51
:101844006FF31F3284540B806878000666D100F071
:10185400A5FA6C46CDE900012046022100F0FAF811
:101864003649204600F022F90120687053E0DDE992
:101874000012032013885C1C6FF31F33C8542D49D6
:1018840014804A78D2B2022A48D14FF48042C9F86F
:101894000422D9F8002122F48012C9F800214FF063
:1018A4000062C9F8082200224A70C87000F076FA73
:1018B4006C46CDE900012046022100F0CBF81E4918
:1018C40026E0DDE9000101240A88531C6FF31F326E
:1018D400845418480B804178C9B2012904D00229E4
:1018E4001CD10221C17016E08178C9B2012915D139
:1018F4000021C9F86C1041700221817000F04EFA89
:101904006C46CDE900012046022100F0A3F80C4901
:10191400204600F0CBF8BDE80C0BF0BD00F0E4F875
:10192400FEDE00BF020000000011004003000000C2
:101934000800000008F00320070000000500000074
:101944000600000004000000DCB504AF00F026FA35
:101954006C46CDE900012046042100F07BF80449DF
:10196400204600F0A3F8034800210160DCBD00BF5D
:101974000100000018310040DCB504AF2F480168B5
:10198400C90741D1C16BC90722D000212F4CC163C3
:101994002D490A88931C013204EA03332C4C23603A
:1019A4000A8091B20C22B1FBF2F202EB4202A1EBEB
:1019B400820103290CD8DFE801F00207020721495C
:1019C4004FF480724A6003E01E494FF480720A604B
:1019D400016CC9071FBF002101644FF40031C0F836
:1019E4000412416CC9071FBF002141644FF48021D8
:1019F400C0F80412816CC9071FBF002181644FF431
:101A04000021C0F80412DCBD00F0C8F96C46CDE931
:101A140000012046002100F01DF80949204600F08D
:101A240045F808484FF480510160402101604FF4AB
:101A34008071416000F0C5F9FEDE00BF04B10040D2
:101A4400000000000805005000F0032000F0FF0033
:101A540040B50040F0B503AF4DF804BD124A12681A
:101A6400D0E90034258892096E1C6FF31F3559554F
:101A740000232680D0E900100488661C42F080050B
:101A84006FF31F34B3EBD21F08BF02F07F05B3EB33
:101A9400D21F0D554FEAD21534462A460680ECD1A2
:101AA4005DF804BBF0BD00BF041000E0F0B503AF67
:101AB4004DF804BD8AB27F2A0AD3D0E9003441F03C
:101AC400800125886E1C6FF31F355955D109268076
:101AD400D0E9002003885C1C6FF31F33D1540480C9
:101AE4005DF804BBF0BDD4D4E0B502AF00F056F904
:101AF4006C46CDE9000120460021FFF7ABFF034906
:101B04002046FFF7D3FF00F05CF9FEDE0900000079
:101B1400DCB504AF00F042F96C46CDE90001204683
:101B24000421FFF797FF0D492046FFF7BFFF0C483C
:101B34000168090611D00021016000F02FF96C46FC
:101B4400CDE9000120460221FFF784FF0549204624
:101B5400FFF7ACFF044801210170DCBD0A0000005E
:101B6400000100400B00000006F0032007484FF47A
:101B7400803101604FF48051C0F83C124FF4807101
:101B840003480160034800F007B800BF04B30040F5
:101B94000C05005000110000D0B502AF0022012353
:101BA4000021012A05D0845C013203FA04F42143A4
:101BB400F7E709B101480160D0BD00BF00E100E0D2
:101BC400F0B503AF4DF804BD1E4C1F4D264604F579
:101BD400C670864212D06868014655E8010F8842F3
:101BE40004D145E80162002AF6D102E0BFF32F8F49
:101BF400F2E746F8841B00F0E9F8E8E713480F2100
:101C04000123416008210160114981608121C16083
:101C140010490A6863F302020A6040F202214FF499
:101C2400822281620C49C162002101630B49425046
:101C34000B490C4A42500C485DF804BBBDE8F04027
:101C4400FFF7AABF00C0032008F003200C150040D2
:101C5400080000066C16004021100100F4FCFFFF90
:101C6400F8FDFFFF0940040801110000BCB504AFF2
:101C74004FF080400125056000F090F86C46CDE9F6
:101C8400000120460221FFF7E5FE05492046FFF743
:101C94000DFF044805600448BDE8BC40FFF77CBF65
:101CA4000C0000000403004002110000014801215F
:101CB4000160704704100040BCB504AF0A480468D2
:101CC40000F06CF86D46CDE9000128460321FFF7CA
:101CD400C1FE06492846FFF7E9FE2046294600F0E2
:101CE40007F8204602B0B0BD5015004017000000B0
:101CF400F0B503AF4DF804BD0C460546D1E900012B
:101D04000C260A88531C6FF31F32865420460B801E
:101D14001449FFF7CBFE05F00F010820DFE801F0BE
:101D2400070D0F091521212121110B131600002085
:101D34000CE003200AE0062008E0012006E002206F
:101D440004E0052002E0072000E00420D4E90012AA
:101D540013885C1C6FF31F33C85414805DF804BBF4
:101D6400F0BDFEDE16000000E0B502AF00F016F88C
:101D74006C46CDE9000120460021FFF76BFE0349C4
:101D84002046FFF793FE00F01CF8FEDE180000006A
:101D940080B56F4600F015F8FEDED4D40649054838
:101DA4000968C9B20029054918BF00F5805018BF59
:101DB4000231704700D0032004ED00E002F003205C
:101DC400FFBEAABE62B6704772B6704740BF704786
:101DD40020BF704700F0A3B8042A38BFFFF7FABF4A
:101DE400B0B502AFA2F1040C012303EB9C0313F082
:101DF40003030ED08E4604465EF8045B012B44F8C0
:101E0400045B1FD1634620467146BCF10C0F04D21B
:101E140012E01346BCF10C0F0ED30D68103B0560A5
:101E2400032B4D6845608D688560CD6801F1100114
:101E3400C56000F11000F0D802F00302BDE8B04024
:101E4400FFF7C8BF4D68022B456007D1A2F1080314
:101E540008310830BCF10C0FDFD2EDE78B680C3190
:101E64008360A2F10C030C30BCF10C0FD5D2E3E774
:101E74000B4611461A4600F08FB81346D2B2042915
:101E840038BFFFF7F5BFD0B502AFA1F1040E42EAA7
:101E94000363012443EA024304EB9E0443EA02235E
:101EA40014F0030410D08446012C4CF8043B10D1E8
:101EB40074466046BEF10C0F1ED201F00301BDE86A
:101EC400D0406046FFF7D4BF0C46BEF10C0F13D2CE
:101ED400F3E7022C436007D10830A1F108048446DB
:101EE400BEF10C0F08D2E8E783600C30A1F10C04BA
:101EF4008446BEF10C0FE0D3C0E90033103CC0E9C6
:101F040002331030032CF7D8844601F00301BDE8F6
:101F1400D0406046FFF7ACBF0022FFF7AEBFF0B57C
:101F240003AF4DF8048DA2B3531E02F0030C032B30
:101F340014D20022BCF1000F2BD08B5CBCF1010F3A
:101F4400835426D0531CBCF1020FCE5CC65420D05F
:101F54000232895C81545DF8048BF0BDACEB020E57
:101F640001F10108441C6FF0030208EB0206A518F6
:101F74000432F378EB7033792B7173796B71B37925
:101F8400AB710EEB02030433EFD10432BCF1000F4A
:101F9400D3D15DF8048BF0BDD0B502AF12B3531E9C
:101FA40002F0030C032B01D200220FE0ACEB020E73
:101FB400421C6FF00303D4180433A17161712171C1
:101FC400E1700EEB03040434F5D11A1DBCF1000FCB
:101FD4001ABF8154BCF1010FD0BD0244BCF1020F01
:0A1FE400517000D1D0BD9170D0BD46
:0C1FF000711C0000C51B0000711B0000EC
:040000030000167D66
:00000001FF

View file

@ -0,0 +1,259 @@
:1010000000C003207D160000C51D0000C51D0000A6
:10101000C51D0000C51D0000C51D0000000000002A
:10102000000000000000000000000000C51D0000DE
:10103000C51D000000000000C51D0000C51D00000A
:101040002517000029170000C51D00004D190000DC
:10105000C51D0000C51D0000C51D0000C51D000008
:10106000C51D0000C51D0000C51D00007D19000044
:10107000C51D0000C51D0000C51D0000C51D0000E8
:10108000C51D0000C51D0000C51D0000C51D0000D8
:10109000C51D0000C51D0000C51D0000C51D0000C8
:1010A000C51D0000C51D0000C51D0000C51D0000B8
:1010B000C51D0000C51D000000000000000000006C
:1010C000C51D0000C51D0000C51D0000C51D000098
:1010D000C51D0000C51D0000C51D0000C51D000088
:1010E000C51D0000C51D0000C51D0000000000005A
:1010F00000000000C51D000000000000C51D00002C
:041100000B010000DF
:1011040080B56F46017839B1032902D141780129AC
:1011140004D100F0A7FAFEDE002141700649012245
:101124000978C9B2002908BF032202704270B1FADB
:1011340081F0400980BD00BF06F0032080B56F46F2
:1011440098B0DFF8E4A40120DAE84F1F002940F04A
:101154005982CAE8410F0029F6D1C449502016AC7F
:101164004FF0000801264FF0030BC1F8FC0007A85C
:1011740000F12601029100F12501019100F1200105
:10118400049100F12C01069100F1280100F10C09F1
:10119400059100F1240100208DF830800994CDE9F7
:1011A40007440391C0B2DFE810F006000302030213
:1011B40022003B0009008DF834801DE09DF84400B6
:1011C400DFE810F0AC00F701F601B20007005500AB
:1011D4004F009DF84C00810700F0B080032840F0D8
:1011E400E8819DF84D00012840F0AA80E1E19DF8D6
:1011F4003400012800F0DD81DAF8040060B10168F0
:101204005AE8012F824204D14AE80112002AF3D19C
:1012140018E0BFF32F8FEFE703208DF8340040E18F
:101224009DF84000DFE810F03800C501C4013C001F
:10123400060016009DF84C00810723D0032800F017
:101244003E81B6E10221C1708DF831600A908DF8BB
:1012540034601BE09DF8540088B1032800F06781D6
:10126400A7E19DF84800012840F0EF80A1E19DF836
:10127400500048B1032840F09C81139D74E0DDE9DF
:10128400110152E1119819E1129D6CE08DF8408032
:10129400CDF8389007980D90ADF844800E980F90D3
:1012A4000598FFF72DFF10B18DF840B005E04FF41D
:1012B4008070ADF841000120FAE00021022082B2E2
:1012C400022A01D10420ECE0ADF82C004023ADF853
:1012D4002E109DF83110D84A002914BF53601360B2
:1012E400000481F001018DF83110CFD10A9911F871
:1012F400030F821E51FA82F0D2B2013152083AB180
:101304000B78013A057801F8015B00F80139F6E73A
:101314008DF84480CDF8389009980D90DDE90D01E1
:101324000F90ADF8488010910698FFF7E9FE08B1D8
:101334000320B3E0CDF84C800F9812908DF84D80C7
:101344009AF803000121C0B2022808BF0321022831
:101354008DF84C108DF84D1001D104209EE0039DB2
:101364008DF8508012951395002100208DF8586057
:10137400012905D0625C013106FA02F21043F7E755
:1013840008B1B14908609AF8010000F0030001288F
:101394007CD0A0BB02208AF8010000F0FFFCCDE95C
:1013A40016012046022100F055FBA849204600F012
:1013B4007DFB28689E4900680330C1F8F8009D4809
:1013C40001464FF48040C1F80003D1F8F80140F41D
:1013D4008010C1F8F8019AF80200C0B201280ED1B9
:1013E40094488AF802B0466000F0D8FCCDE91601B2
:1013F4002046022100F02EFB2046954944E000F0EF
:101404005BFCC5B2A5B3012D40D0022D40F0D480C1
:1014140088484FF000618AF80360C0F8FC12466205
:1014240000F0BCFCCDE916012046022100F012FBBD
:101434008849204600F03AFB20468DF8586000F0B9
:10144400ABFB8DF850608DF848809AF80300C0B269
:1014540001284FF0010008BF03208DF8480001D196
:1014640006201BE08DF8446010E700BF0C14004018
:1014740000F01CFC00F092FCCDE91601204602218C
:1014840000F0E8FA7449204600F010FB20468DF87D
:10149400586000F081FB8DF850B005208DF84400B1
:1014A40005208DF8300000F093FC9DF8300079E6BB
:1014B40000064AD004988DF84C80119012909AF846
:1014C4000100C0B210B102286AD098E000F0F4FB29
:1014D4005FFA80FBBBF1000F54D0BBF1010F5FD06A
:1014E400BBF1020F40F07780129851490068006800
:1014F4000330C1F8F8004F488AF80260066000F033
:101504004DFCCDE916012046022100F0A3FA4B4917
:10151400204600F0CBFA01994FF0030B02988DF8A6
:101524004C608DF8548012911190CDE913019AF812
:10153400020000F00300DFE800F06202111E052043
:101544008DF840008DF854B0B7E6394801688DF83D
:1015540040609DF8410080F00100B0E68AF8028006
:10156400139880F800803348D0F8F803149900F0F9
:101574000100087001E08AF802808DF854609DF83B
:10158400420095E700F092FB00F008FCCDE916015B
:101594002046022100F05EFA2949204600F086FA2E
:1015A40004204FF0030B8DF840008DF84CB084E616
:1015B400FEDE00F057F8FEDE00F0F0FB16ACCDE9DD
:1015C40016010021204600F045FA2449204600F087
:1015D4006DFA28460DE000F0E1FB16ACCDE91601EA
:1015E4000021204600F036FA1649204600F05EFA43
:1015F4005846214600F07CFB00F0B6FBFEDE00F00E
:1016040073FAFEDEBFF32F8F00F0C8FB07ACCDE901
:1016140007010021204600F01DFA0449204600F08D
:1016240045FA00F0CEFBFEDE08F003200D000000BA
:101634000C14004008100040080500500F00000082
:101644000E0000001000000080E100E01100000026
:101654001200000014000000130000001500000038
:1016640000F0B0BB80B56F4600F001F8FEDE80B537
:101674006F4600F08DFBFEDE80B56F461B481D4AA9
:10168400016841F0807101601948002141600168DE
:1016940011400131016018480121C0F810150160A2
:1016A40016488160016016481649091A21F00301A1
:1016B40000F032FC14481549091A21F003021449B8
:1016C40000F08AFB00F080FB12484FF48A51124C60
:1016D400124D01600161AC4202D201CC8047FAE7AD
:1016E400FFF7BEFFFFF72AFDFEDE00BFFCED00E0C2
:1016F400001000E0FEFFFF000800004000B00040C2
:1017040000F0032010F0032010F0032010F0032059
:10171400FC1F000008050050F01F0000FC1F000023
:1017240000F0F6B9F0B503AF2DE9C00B00F036FBBD
:101734006C46CDE900012046042100F08BF979497B
:10174400204600F0B3F9784A906B000605D00020DB
:101754009063D2F80402400406D41068000607D04F
:101764004FF0040810461BE091464FF002081AE0BF
:10177400104650F8481F090602D04FF000080FE049
:10178400104650F80C1F090602D04FF0010807E07C
:10179400104650F86C1F090600F0C0804FF0030893
:1017A40091460021016000F0F9FA6E460446CDE945
:1017B40000010D463046032100F04CF95B493046E8
:1017C40000F074F928880C22411C6FF31F30225456
:1017D40030462980564900F069F9DFE808F00372C1
:1017E4002B482100DDE9000100250A88531C6FF312
:1017F4001F3285540B8000F0D1FA6C46CDE900010C
:101804002046022100F026F94E49204600F04EF908
:101814004FF000600421C9F808024648457061E0B1
:10182400DDE9000104240A88531C6FF31F32845439
:101834000B8070E0DDE9000102240A883D4D531C51
:101844006FF31F3284540B806878000666D100F071
:10185400A5FA6C46CDE900012046022100F0FAF811
:101864003649204600F022F90120687053E0DDE992
:101874000012032013885C1C6FF31F33C8542D49D6
:1018840014804A78D2B2022A48D14FF48042C9F86F
:101894000422D9F8002122F48012C9F800214FF063
:1018A4000062C9F8082200224A70C87000F076FA73
:1018B4006C46CDE900012046022100F0CBF81E4918
:1018C40026E0DDE9000101240A88531C6FF31F326E
:1018D400845418480B804178C9B2012904D00229E4
:1018E4001CD10221C17016E08178C9B2012915D139
:1018F4000021C9F86C1041700221817000F04EFA89
:101904006C46CDE900012046022100F0A3F80C4901
:10191400204600F0CBF8BDE80C0BF0BD00F0E4F875
:10192400FEDE00BF020000000011004003000000C2
:101934000800000008F00320070000000500000074
:101944000600000004000000DCB504AF00F026FA35
:101954006C46CDE900012046042100F07BF80449DF
:10196400204600F0A3F8034800210160DCBD00BF5D
:101974000100000018310040DCB504AF2F480168B5
:10198400C90741D1C16BC90722D000212F4CC163C3
:101994002D490A88931C013204EA03332C4C23603A
:1019A4000A8091B20C22B1FBF2F202EB4202A1EBEB
:1019B400820103290CD8DFE801F00207020721495C
:1019C4004FF480724A6003E01E494FF480720A604B
:1019D400016CC9071FBF002101644FF40031C0F836
:1019E4000412416CC9071FBF002141644FF48021D8
:1019F400C0F80412816CC9071FBF002181644FF431
:101A04000021C0F80412DCBD00F0C8F96C46CDE931
:101A140000012046002100F01DF80949204600F08D
:101A240045F808484FF480510160402101604FF4AB
:101A34008071416000F0C5F9FEDE00BF04B10040D2
:101A4400000000000805005000F0032000F0FF0033
:101A540040B50040F0B503AF4DF804BD124A12681A
:101A6400D0E90034258892096E1C6FF31F3559554F
:101A740000232680D0E900100488661C42F080050B
:101A84006FF31F34B3EBD21F08BF02F07F05B3EB33
:101A9400D21F0D554FEAD21534462A460680ECD1A2
:101AA4005DF804BBF0BD00BF041000E0F0B503AF67
:101AB4004DF804BD8AB27F2A0AD3D0E9003441F03C
:101AC400800125886E1C6FF31F355955D109268076
:101AD400D0E9002003885C1C6FF31F33D1540480C9
:101AE4005DF804BBF0BDD4D4E0B502AF00F056F904
:101AF4006C46CDE9000120460021FFF7ABFF034906
:101B04002046FFF7D3FF00F05CF9FEDE0900000079
:101B1400DCB504AF00F042F96C46CDE90001204683
:101B24000421FFF797FF0D492046FFF7BFFF0C483C
:101B34000168090611D00021016000F02FF96C46FC
:101B4400CDE9000120460221FFF784FF0549204624
:101B5400FFF7ACFF044801210170DCBD0A0000005E
:101B6400000100400B00000006F0032007484FF47A
:101B7400803101604FF48051C0F83C124FF4807101
:101B840003480160034800F007B800BF04B30040F5
:101B94000C05005000110000D0B502AF0022012353
:101BA4000021012A05D0845C013203FA04F42143A4
:101BB400F7E709B101480160D0BD00BF00E100E0D2
:101BC400F0B503AF4DF804BD1E4C1F4D264604F579
:101BD400C670864212D06868014655E8010F8842F3
:101BE40004D145E80162002AF6D102E0BFF32F8F49
:101BF400F2E746F8841B00F0E9F8E8E713480F2100
:101C04000123416008210160114981608121C16083
:101C140010490A6863F302020A6040F202214FF499
:101C2400822281620C49C162002101630B49425046
:101C34000B490C4A42500C485DF804BBBDE8F04027
:101C4400FFF7AABF00C0032008F003200C150040D2
:101C5400080000066C16004021100100F4FCFFFF90
:101C6400F8FDFFFF0940040801110000BCB504AFF2
:101C74004FF080400125056000F090F86C46CDE9F6
:101C8400000120460221FFF7E5FE05492046FFF743
:101C94000DFF044805600448BDE8BC40FFF77CBF65
:101CA4000C0000000403004002110000014801215F
:101CB4000160704704100040BCB504AF0A480468D2
:101CC40000F06CF86D46CDE9000128460321FFF7CA
:101CD400C1FE06492846FFF7E9FE2046294600F0E2
:101CE40007F8204602B0B0BD5015004017000000B0
:101CF400F0B503AF4DF804BD0C460546D1E900012B
:101D04000C260A88531C6FF31F32865420460B801E
:101D14001449FFF7CBFE05F00F010820DFE801F0BE
:101D2400070D0F091521212121110B131600002085
:101D34000CE003200AE0062008E0012006E002206F
:101D440004E0052002E0072000E00420D4E90012AA
:101D540013885C1C6FF31F33C85414805DF804BBF4
:101D6400F0BDFEDE16000000E0B502AF00F016F88C
:101D74006C46CDE9000120460021FFF76BFE0349C4
:101D84002046FFF793FE00F01CF8FEDE180000006A
:101D940080B56F4600F015F8FEDED4D40649054838
:101DA4000968C9B20029054918BF00F5805018BF59
:101DB4000231704700D0032004ED00E002F003205C
:101DC400FFBEAABE62B6704772B6704740BF704786
:101DD40020BF704700F0A3B8042A38BFFFF7FABF4A
:101DE400B0B502AFA2F1040C012303EB9C0313F082
:101DF40003030ED08E4604465EF8045B012B44F8C0
:101E0400045B1FD1634620467146BCF10C0F04D21B
:101E140012E01346BCF10C0F0ED30D68103B0560A5
:101E2400032B4D6845608D688560CD6801F1100114
:101E3400C56000F11000F0D802F00302BDE8B04024
:101E4400FFF7C8BF4D68022B456007D1A2F1080314
:101E540008310830BCF10C0FDFD2EDE78B680C3190
:101E64008360A2F10C030C30BCF10C0FD5D2E3E774
:101E74000B4611461A4600F08FB81346D2B2042915
:101E840038BFFFF7F5BFD0B502AFA1F1040E42EAA7
:101E94000363012443EA024304EB9E0443EA02235E
:101EA40014F0030410D08446012C4CF8043B10D1E8
:101EB40074466046BEF10C0F1ED201F00301BDE86A
:101EC400D0406046FFF7D4BF0C46BEF10C0F13D2CE
:101ED400F3E7022C436007D10830A1F108048446DB
:101EE400BEF10C0F08D2E8E783600C30A1F10C04BA
:101EF4008446BEF10C0FE0D3C0E90033103CC0E9C6
:101F040002331030032CF7D8844601F00301BDE8F6
:101F1400D0406046FFF7ACBF0022FFF7AEBFF0B57C
:101F240003AF4DF8048DA2B3531E02F0030C032B30
:101F340014D20022BCF1000F2BD08B5CBCF1010F3A
:101F4400835426D0531CBCF1020FCE5CC65420D05F
:101F54000232895C81545DF8048BF0BDACEB020E57
:101F640001F10108441C6FF0030208EB0206A518F6
:101F74000432F378EB7033792B7173796B71B37925
:101F8400AB710EEB02030433EFD10432BCF1000F4A
:101F9400D3D15DF8048BF0BDD0B502AF12B3531E9C
:101FA40002F0030C032B01D200220FE0ACEB020E73
:101FB400421C6FF00303D4180433A17161712171C1
:101FC400E1700EEB03040434F5D11A1DBCF1000FCB
:101FD4001ABF8154BCF1010FD0BD0244BCF1020F01
:0A1FE400517000D1D0BD9170D0BD46
:0C1FF000711C0000C51B0000711B0000EC
:040000030000167D66
:00000001FF

View file

@ -0,0 +1,78 @@
#![deny(unused_must_use)]
#![no_main]
#![no_std]
use hal::{
led,
radio::{self, Channel, Packet},
};
use heapless::{consts, LinearMap};
use panic_abort as _;
static FROM: &[u8] = &[
// <redacted>
];
static TO: &[u8] = &[
// <redacted>
];
// store the secret rather than the plaintext -- otherwise `strings $elf` will reveal the answer
static SECRET: &[u8] = b"<redacted>";
#[no_mangle]
fn main() -> ! {
let (mut rtx, mut rrx) = radio::claim(Channel::_26);
let led = led::Green;
let mut dict = LinearMap::<_, _, consts::U128>::new();
for (&from, &to) in FROM.iter().zip(TO.iter()) {
dict.insert(from, to).ok();
}
let task = async {
let mut packet = Packet::new().await;
let mut on = true;
loop {
let crcres = rrx.read(&mut packet).await;
// toggle LED on each new packet
if on {
led.on();
} else {
led.off();
}
on = !on;
if crcres.is_ok() {
if packet.is_empty() {
packet.copy_from_slice(SECRET);
} else if packet.len() == 1 {
let p = packet[0];
let c = dict.get(&p).unwrap_or(&p);
packet.copy_from_slice(&[*c]);
} else {
// encrypt
for slot in packet.iter_mut() {
if let Some(c) = dict.get(slot) {
*slot = *c;
}
}
let matches = &packet[..] == SECRET;
packet.copy_from_slice(if matches {
led::Blue.on();
b"correct"
} else {
led::Blue.off();
b"incorrect"
});
}
rtx.write(&packet).await.ok();
}
}
};
executor::run!(task)
}

View file

@ -0,0 +1,301 @@
:1010000000C00320B5180000FD1F0000FD1F0000F8
:10101000FD1F0000FD1F0000FD1F0000000000007C
:10102000000000000000000000000000FD1F0000A4
:10103000FD1F000000000000FD1F0000FD1F00005C
:101040005D19000061190000FD1F0000851B0000F4
:10105000FD1F0000FD1F0000FD1F0000FD1F000020
:10106000FD1F0000FD1F0000FD1F0000B51B00005C
:10107000FD1F0000FD1F0000FD1F0000FD1F000000
:10108000FD1F0000FD1F0000FD1F0000FD1F0000F0
:10109000FD1F0000FD1F0000FD1F0000FD1F0000E0
:1010A000FD1F0000FD1F0000FD1F0000FD1F0000D0
:1010B000FD1F0000FD1F00000000000000000000F8
:1010C000FD1F0000FD1F0000FD1F0000FD1F0000B0
:1010D000FD1F0000FD1F0000FD1F0000FD1F0000A0
:1010E000FD1F0000FD1F0000FD1F000000000000AC
:1010F00000000000FD1F000000000000FD1F0000B8
:10110000525B5D4D446657777E636A21313A3B649A
:1011100073622E347156424A5C3C7B2225292A4C4C
:10112000494758362327375E4041515F6972793EFF
:101130007C28657D596F356E7024763F336C383D61
:10114000264E5A482B672F453020756168743253FC
:101150007A2C552D50784B544F4643606B6D394770
:101160005C75783322576E53516C2C7348204F6A4C
:1011700049313F723D2F215468715D246F746B7B40
:101180005B2D3B25645E61632A2339267D36504200
:1011900052585A692755655F402E4A663556416D4B
:1011A000293C767037774D384460624B434C3A287F
:1011B0007C32453E2B464E7A3059347E67790000AA
:1011C0004E4B62657E6A4422277D445F627D4326E2
:1011D00051265F624326653744266544434B584495
:1011E0007A2B264F262858445B3527496235446EB2
:1011F000277D7E6A4B275F2C636F72726563740074
:0C120000696E636F72726563740B01000D
:10120C0004C8C9B252003AB110F8023B023A8B4200
:10121C00F9D1411E023801E00020002100B9002163
:10122C000846704780B56F46017839B1032902D161
:10123C004178012904D100F02DFBFEDE0021417024
:10124C00064901220978C9B2002908BF032202709D
:10125C004270B1FA81F0400980BD00BF06F0032056
:10126C0080B56F46DAB0DFF8DC850120D8E84F1F77
:10127C00002940F0D482C8E8410F0029F6D1C749B3
:10128C000DF11C0CDFF8C8E50520DFF8C8950CF152
:10129C00040AC1F8FC00002107915F2920D0079EA9
:1012AC0052461EF8015019F80100013173003BB190
:1012BC0012F8024B023B8442F9D1531E023A01E070
:1012CC00002200230AB11D70E7E77F2EE5D80AF84B
:1012DC0016000AEB46004570079801300790DCE7D2
:1012EC0048A8AE4C00F12A01019100F129010091AE
:1012FC0000F12401039100F13001059100F12C0162
:10130C00049100F1280110300DF5B07B00260690F9
:10131C004FF0010A4FF0030900208DF83861CDE938
:10132C004ACBCDE948BB0291C0B2DFE810F0060011
:10133C004E024E0222003B0009008DF83C611DE07C
:10134C009DF84C01DFE810F0F70042024102FD006D
:10135C00070055004F009DF85401810700F0FA80FA
:10136C00032840F033829DF85501012840F0F480A9
:10137C002CE29DF83C01012800F02882D8F80400EA
:10138C0060B1016858E8012F824204D148E801128B
:10139C00002AF3D118E0BFF32F8FEFE703208DF86D
:1013AC003C018EE19DF84801DFE810F03800100296
:1013BC000F023C00060016009DF85401810723D053
:1013CC00032800F08C8101E20221C1708DF839A153
:1013DC004C908DF83CA11BE09DF85C0188B1032872
:1013EC0000F0B481F2E19DF85001012840F04081F9
:1013FC00ECE19DF8580148B1032840F0E781559D78
:10140C00BEE0DDE953019FE1539867E1549DB6E0DE
:10141C0006988DF84861509048984F90ADF84C6103
:10142C00509851900498FFF7FDFE10B18DF848913B
:10143C0005E04FF48070ADF84901012048E100212E
:10144C00022082B2022A01D104203AE1ADF8340123
:10145C004023ADF836119DF83911514A002914BFBB
:10146C0053601360000481F001018DF83911CFD164
:10147C004C98C17803290BD0022919D13A21382272
:10148C00C1704C98DFF8E413043000F058FE4CE0C7
:10149C0001794A988DF86011FFF7B2FE002808BF59
:1014AC0058464C99007881F803904C9908713CE0AF
:1014BC00061D881EC5B25DB134464A9814F8011B4E
:1014CC00FFF79EFE08B100783070013D2646F2E72A
:1014DC004C9CE0783A280AD1DFF89013201D884202
:1014EC0012D0DFF88813382200F0F2FD60B1DB482F
:1014FC004FF48051092201600B20E0704C98DC49BC
:10150C00043000F01CFE0EE0D4484FF480514160D2
:10151C000920E070D7484C9A01460068D1F80310B6
:10152C00C2F807105060C94C002606988DF84C6123
:10153C0050904B984F90DDE94F015190ADF85061B0
:10154C0052910598FFF76EFE08B10320B6E0559650
:10155C00519854908DF8556198F803000121C0B250
:10156C00022808BF032102288DF854118DF855115B
:10157C0001D10420A2E0029D8DF858615495559537
:10158C00002100208DF860A101290BD01BF801204F
:10159C0001310AFA02F21043F6E700BF0C140040C6
:1015AC000805005008B1B449086098F8010000F033
:1015BC00030001287AD0A0BB022088F8010000F0BB
:1015CC0005FDCDE958015846022100F05BFBAB4903
:1015DC00584600F083FB286800680330C4F8F80014
:1015EC009D4801464FF48040C1F80003D1F8F80142
:1015FC0040F48010C1F8F80198F80200C0B201283C
:10160C000FD1954888F80290C0F804A000F0DEFCD9
:10161C00CDE958015846022100F034FB5846984950
:10162C0042E000F061FCC5B295B3012D3ED0022D15
:10163C0040F0CF8088484FF0006188F803A0C0F8D4
:10164C00FC12C0F824A000F0C1FCCDE958015846AA
:10165C00022100F017FB8B49584600F03FFB58461F
:10166C008DF860A100F0B0FB8DF858A18DF8506199
:10167C0098F80300C0B201284FF0010008BF032006
:10168C008DF8500101D1062018E08DF84CA1BFE671
:10169C0000F024FC00F09AFCCDE9580158460221D8
:1016AC0000F0F0FA7849584600F018FB58468DF8CF
:1016BC0060A100F089FB8DF8589105208DF84C0144
:1016CC0005208DF8380100F09BFC9DF838012BE6C5
:1016DC00000649D003988DF854615390549098F8B3
:1016EC000100C0B210B1022867D095E000F0FCFBFD
:1016FC005FFA80F9B9F1000F51D0B9F1010F5CD04C
:10170C00B9F1020F74D15498006800680330C4F822
:10171C00F800514888F802A0C0F800A000F056FC70
:10172C00CDE958015846022100F0ACFA4C49584614
:10173C0000F0D4FA00994FF0030901988DF854A1E8
:10174C008DF85C6154915390CDE9550198F80200E5
:10175C0000F00300DFE800F06002101C05208DF89B
:10176C0048018DF85C916AE621688DF848A19DF8D6
:10177C00490180F0010064E688F802605598067013
:10178C003548D0F8F803569900F00100087001E0D4
:10179C0088F802608DF85CA19DF84A0198E700F08A
:1017AC009DFB00F013FCCDE958015846022100F0D6
:1017BC0069FA2C49584600F091FA04204FF00309BD
:1017CC008DF848018DF8549139E6FEDE00F062F890
:1017DC00FEDE00F0FBFB58ACCDE9580100212046A1
:1017EC0000F050FA2949204600F078FA28460DE01E
:1017FC0000F0ECFB58ACCDE958010021204600F07C
:10180C0041FA1949204600F069FA4846214600F091
:10181C0087FB00F0C1FBFEDE00F07EFAFEDEBFF3BC
:10182C002F8F00F0D3FB07ACCDE907010021204638
:10183C0000F028FA0449204600F050FA00F0D9FBD9
:10184C00FEDE00BF08F003200D0000000C14004069
:10185C005F11000000110000081000400805005046
:10186C000F0000000E00000010000000C01100006E
:10187C0000120000F811000080E100E011000000EF
:10188C0012000000140000001300000015000000FE
:10189C0000F0B0BB80B56F4600F001F8FEDE80B5FD
:1018AC006F4600F08DFBFEDE80B56F461B481D4A6F
:1018BC00016841F0807101601948002141600168A4
:1018CC0011400131016018480121C0F81015016068
:1018DC0016488160016016481649091A21F0030167
:1018EC0000F0CFFC14481549091A21F003021449E1
:1018FC0000F027FC00F080FB12484FF48A51124C88
:10190C00124D01600161AC4202D201CC8047FAE772
:10191C00FFF7BEFFFFF7A4FCFEDE00BFFCED00E00E
:10192C00001000E0FEFFFF000800004000B0004087
:10193C0000F0032010F0032010F0032010F003201F
:10194C00A02200000805005094220000A0220000F4
:10195C0000F0F6B9F0B503AF2DE9C00B00F036FB83
:10196C006C46CDE900012046042100F08BF9794941
:10197C00204600F0B3F9784A906B000605D00020A1
:10198C009063D2F80402400406D41068000607D015
:10199C004FF0040810461BE091464FF002081AE085
:1019AC00104650F8481F090602D04FF000080FE00F
:1019BC00104650F80C1F090602D04FF0010807E042
:1019CC00104650F86C1F090600F0C0804FF0030859
:1019DC0091460021016000F0F9FA6E460446CDE90B
:1019EC0000010D463046032100F04CF95B493046AE
:1019FC0000F074F928880C22411C6FF31F3022541C
:101A0C0030462980564900F069F9DFE808F0037286
:101A1C002B482100DDE9000100250A88531C6FF3D7
:101A2C001F3285540B8000F0D1FA6C46CDE90001D1
:101A3C002046022100F026F94E49204600F04EF9CE
:101A4C004FF000600421C9F808024648457061E077
:101A5C00DDE9000104240A88531C6FF31F328454FF
:101A6C000B8070E0DDE9000102240A883D4D531C17
:101A7C006FF31F3284540B806878000666D100F037
:101A8C00A5FA6C46CDE900012046022100F0FAF8D7
:101A9C003649204600F022F90120687053E0DDE958
:101AAC000012032013885C1C6FF31F33C8542D499C
:101ABC0014804A78D2B2022A48D14FF48042C9F835
:101ACC000422D9F8002122F48012C9F800214FF029
:101ADC000062C9F8082200224A70C87000F076FA39
:101AEC006C46CDE900012046022100F0CBF81E49DE
:101AFC0026E0DDE9000101240A88531C6FF31F3234
:101B0C00845418480B804178C9B2012904D00229A9
:101B1C001CD10221C17016E08178C9B2012915D1FE
:101B2C000021C9F86C1041700221817000F04EFA4E
:101B3C006C46CDE900012046022100F0A3F80C49C7
:101B4C00204600F0CBF8BDE80C0BF0BD00F0E4F83B
:101B5C00FEDE00BF02000000001100400300000088
:101B6C000800000008F0032007000000050000003A
:101B7C000600000004000000DCB504AF00F026FAFB
:101B8C006C46CDE900012046042100F07BF80449A5
:101B9C00204600F0A3F8034800210160DCBD00BF23
:101BAC000100000018310040DCB504AF2F4801687B
:101BBC00C90741D1C16BC90722D000212F4CC16389
:101BCC002D490A88931C013204EA03332C4C236000
:101BDC000A8091B20C22B1FBF2F202EB4202A1EBB1
:101BEC00820103290CD8DFE801F002070207214922
:101BFC004FF480724A6003E01E494FF480720A6011
:101C0C00016CC9071FBF002101644FF40031C0F8FB
:101C1C000412416CC9071FBF002141644FF480219D
:101C2C00C0F80412816CC9071FBF002181644FF4F6
:101C3C000021C0F80412DCBD00F0C8F96C46CDE9F7
:101C4C0000012046002100F01DF80949204600F053
:101C5C0045F808484FF480510160402101604FF471
:101C6C008071416000F0C5F9FEDE00BF04B1004098
:101C7C00000000000805005000F0032000F0FF00F9
:101C8C0040B50040F0B503AF4DF804BD124A1268E0
:101C9C00D0E90034258892096E1C6FF31F35595515
:101CAC0000232680D0E900100488661C42F08005D1
:101CBC006FF31F34B3EBD21F08BF02F07F05B3EBF9
:101CCC00D21F0D554FEAD21534462A460680ECD168
:101CDC005DF804BBF0BD00BF041000E0F0B503AF2D
:101CEC004DF804BD8AB27F2A0AD3D0E9003441F002
:101CFC00800125886E1C6FF31F355955D10926803C
:101D0C00D0E9002003885C1C6FF31F33D15404808E
:101D1C005DF804BBF0BDD4D4E0B502AF00F056F9C9
:101D2C006C46CDE9000120460021FFF7ABFF0349CB
:101D3C002046FFF7D3FF00F05CF9FEDE090000003F
:101D4C00DCB504AF00F042F96C46CDE90001204649
:101D5C000421FFF797FF0D492046FFF7BFFF0C4802
:101D6C000168090611D00021016000F02FF96C46C2
:101D7C00CDE9000120460221FFF784FF05492046EA
:101D8C00FFF7ACFF044801210170DCBD0A00000024
:101D9C00000100400B00000006F0032007484FF440
:101DAC00803101604FF48051C0F83C124FF48071C7
:101DBC0003480160034800F007B800BF04B30040BB
:101DCC000C05005009120000D0B502AF002201230F
:101DDC000021012A05D0845C013203FA04F421436A
:101DEC00F7E709B101480160D0BD00BF00E100E098
:101DFC00F0B503AF4DF804BD1E4C1F4D264604F53F
:101E0C00C670864212D06868014655E8010F8842B8
:101E1C0004D145E80162002AF6D102E0BFF32F8F0E
:101E2C00F2E746F8841B00F0E9F8E8E713480F21C5
:101E3C000123416008210160114981608121C16049
:101E4C0010490A6863F302020A6040F202214FF45F
:101E5C00822281620C49C162002101630B4942500C
:101E6C000B490C4A42500C485DF804BBBDE8F040ED
:101E7C00FFF7AABF00C0032008F003200C15004098
:101E8C00080000066C16004021100100F4FCFFFF56
:101E9C00F8FDFFFF094004080A120000BCB504AFAE
:101EAC004FF080400125056000F090F86C46CDE9BC
:101EBC00000120460221FFF7E5FE05492046FFF709
:101ECC000DFF044805600448BDE8BC40FFF77CBF2B
:101EDC000C000000040300400B120000014801211B
:101EEC000160704704100040BCB504AF0A48046898
:101EFC0000F06CF86D46CDE9000128460321FFF790
:101F0C00C1FE06492846FFF7E9FE2046294600F0A7
:101F1C0007F8204602B0B0BD501500401700000075
:101F2C00F0B503AF4DF804BD0C460546D1E90001F0
:101F3C000C260A88531C6FF31F32865420460B80E4
:101F4C001449FFF7CBFE05F00F010820DFE801F084
:101F5C00070D0F091521212121110B13160000204B
:101F6C000CE003200AE0062008E0012006E0022035
:101F7C0004E0052002E0072000E00420D4E9001270
:101F8C0013885C1C6FF31F33C85414805DF804BBBA
:101F9C00F0BDFEDE16000000E0B502AF00F016F852
:101FAC006C46CDE9000120460021FFF76BFE03498A
:101FBC002046FFF793FE00F01CF8FEDE1800000030
:101FCC0080B56F4600F015F8FEDED4D406490548FE
:101FDC000968C9B20029054918BF00F5805018BF1F
:101FEC000231704700D0032004ED00E002F0032022
:101FFC00FFBEAABE62B6704772B6704740BF70474C
:10200C0020BF7047F0B503AF4DF8048DA2B3531E3B
:10201C0002F0030C032B14D20022BCF1000F2BD0C6
:10202C008B5CBCF1010F835426D0531CBCF1020F06
:10203C00CE5CC65420D00232895C81545DF8048B8E
:10204C00F0BDACEB020E01F10108441C6FF0030271
:10205C0008EB0206A5180432F378EB7033792B7178
:10206C0073796B71B379AB710EEB02030433EFD15F
:10207C000432BCF1000FD3D15DF8048BF0BDD0B5A8
:10208C0002AF12B3531E02F0030C032B01D2002239
:10209C000FE0ACEB020E421C6FF00303D4180433B8
:1020AC00A17161712171E1700EEB03040434F5D15F
:1020BC001A1DBCF1000F1ABF8154BCF1010FD0BD29
:1020CC000244BCF1020F517000D1D0BD9170D0BD53
:1020DC00F0B503AF2DE9000B4AB3A2F1010EC2F12A
:1020EC00000C0023CC5CC55CA54224D19E451ED0BF
:1020FC0001EB030800EB030998F8014099F8015033
:10210C00A54218D10CEB0306B41C10D098F8024071
:10211C0099F80250A5420ED1F41C08D098F803404F
:10212C0099F80350A54206D104339A42DAD1002023
:10213C00BDE8000BF0BD281BBDE8000BF0BDFFF7A0
:10214C0061BF042A38BFFFF7FABFB0B502AFA2F1E6
:10215C00040C012303EB9C0313F003030ED08E46F7
:10216C0004465EF8045B012B44F8045B1FD1634604
:10217C0020467146BCF10C0F04D212E01346BCF1A0
:10218C000C0F0ED30D68103B0560032B4D6845609A
:10219C008D688560CD6801F11001C56000F11000FB
:1021AC00F0D802F00302BDE8B040FFF7C8BF4D689D
:1021BC00022B456007D1A2F1080308310830BCF1AD
:1021CC000C0FDFD2EDE78B680C318360A2F10C03AE
:1021DC000C30BCF10C0FD5D2E3E70B4611461A4676
:1021EC00FFF74DBF1346D2B2042938BFFFF7F5BF36
:1021FC00D0B502AFA1F1040E42EA0363012443EA15
:10220C00024304EB9E0443EA022314F0030410D0AF
:10221C008446012C4CF8043B10D174466046BEF148
:10222C000C0F1ED201F00301BDE8D0406046FFF751
:10223C00D4BF0C46BEF10C0F13D2F3E7022C436053
:10224C0007D10830A1F108048446BEF10C0F08D266
:10225C00E8E783600C30A1F10C048446BEF10C0F4E
:10226C00E0D3C0E90033103CC0E902331030032C3A
:10227C00F7D8844601F00301BDE8D0406046FFF773
:08228C00ACBF0022FFF7AEBF5A
:0C229400A91E0000FD1D0000A91D000097
:04000003000018B52C
:00000001FF

View file

@ -0,0 +1,301 @@
:1010000000C00320B5180000FD1F0000FD1F0000F8
:10101000FD1F0000FD1F0000FD1F0000000000007C
:10102000000000000000000000000000FD1F0000A4
:10103000FD1F000000000000FD1F0000FD1F00005C
:101040005D19000061190000FD1F0000851B0000F4
:10105000FD1F0000FD1F0000FD1F0000FD1F000020
:10106000FD1F0000FD1F0000FD1F0000B51B00005C
:10107000FD1F0000FD1F0000FD1F0000FD1F000000
:10108000FD1F0000FD1F0000FD1F0000FD1F0000F0
:10109000FD1F0000FD1F0000FD1F0000FD1F0000E0
:1010A000FD1F0000FD1F0000FD1F0000FD1F0000D0
:1010B000FD1F0000FD1F00000000000000000000F8
:1010C000FD1F0000FD1F0000FD1F0000FD1F0000B0
:1010D000FD1F0000FD1F0000FD1F0000FD1F0000A0
:1010E000FD1F0000FD1F0000FD1F000000000000AC
:1010F00000000000FD1F000000000000FD1F0000B8
:10110000525B5D4D446657777E636A21313A3B649A
:1011100073622E347156424A5C3C7B2225292A4C4C
:10112000494758362327375E4041515F6972793EFF
:101130007C28657D596F356E7024763F336C383D61
:10114000264E5A482B672F453020756168743253FC
:101150007A2C552D50784B544F4643606B6D394770
:101160005C75783322576E53516C2C7348204F6A4C
:1011700049313F723D2F215468715D246F746B7B40
:101180005B2D3B25645E61632A2339267D36504200
:1011900052585A692755655F402E4A663556416D4B
:1011A000293C767037774D384460624B434C3A287F
:1011B0007C32453E2B464E7A3059347E67790000AA
:1011C0004E4B62657E6A4422277D445F627D4326E2
:1011D00051265F624326653744266544434B584495
:1011E0007A2B264F262858445B3527496235446EB2
:1011F000277D7E6A4B275F2C636F72726563740074
:0C120000696E636F72726563740B01000D
:10120C0004C8C9B252003AB110F8023B023A8B4200
:10121C00F9D1411E023801E00020002100B9002163
:10122C000846704780B56F46017839B1032902D161
:10123C004178012904D100F02DFBFEDE0021417024
:10124C00064901220978C9B2002908BF032202709D
:10125C004270B1FA81F0400980BD00BF06F0032056
:10126C0080B56F46DAB0DFF8DC850120D8E84F1F77
:10127C00002940F0D482C8E8410F0029F6D1C749B3
:10128C000DF11C0CDFF8C8E51E20DFF8C8950CF139
:10129C00040AC1F8FC00002107915F2920D0079EA9
:1012AC0052461EF8015019F80100013173003BB190
:1012BC0012F8024B023B8442F9D1531E023A01E070
:1012CC00002200230AB11D70E7E77F2EE5D80AF84B
:1012DC0016000AEB46004570079801300790DCE7D2
:1012EC0048A8AE4C00F12A01019100F129010091AE
:1012FC0000F12401039100F13001059100F12C0162
:10130C00049100F1280110300DF5B07B00260690F9
:10131C004FF0010A4FF0030900208DF83861CDE938
:10132C004ACBCDE948BB0291C0B2DFE810F0060011
:10133C004E024E0222003B0009008DF83C611DE07C
:10134C009DF84C01DFE810F0F70042024102FD006D
:10135C00070055004F009DF85401810700F0FA80FA
:10136C00032840F033829DF85501012840F0F480A9
:10137C002CE29DF83C01012800F02882D8F80400EA
:10138C0060B1016858E8012F824204D148E801128B
:10139C00002AF3D118E0BFF32F8FEFE703208DF86D
:1013AC003C018EE19DF84801DFE810F03800100296
:1013BC000F023C00060016009DF85401810723D053
:1013CC00032800F08C8101E20221C1708DF839A153
:1013DC004C908DF83CA11BE09DF85C0188B1032872
:1013EC0000F0B481F2E19DF85001012840F04081F9
:1013FC00ECE19DF8580148B1032840F0E781559D78
:10140C00BEE0DDE953019FE1539867E1549DB6E0DE
:10141C0006988DF84861509048984F90ADF84C6103
:10142C00509851900498FFF7FDFE10B18DF848913B
:10143C0005E04FF48070ADF84901012048E100212E
:10144C00022082B2022A01D104203AE1ADF8340123
:10145C004023ADF836119DF83911514A002914BFBB
:10146C0053601360000481F001018DF83911CFD164
:10147C004C98C17803290BD0022919D13A21382272
:10148C00C1704C98DFF8E413043000F058FE4CE0C7
:10149C0001794A988DF86011FFF7B2FE002808BF59
:1014AC0058464C99007881F803904C9908713CE0AF
:1014BC00061D881EC5B25DB134464A9814F8011B4E
:1014CC00FFF79EFE08B100783070013D2646F2E72A
:1014DC004C9CE0783A280AD1DFF89013201D884202
:1014EC0012D0DFF88813382200F0F2FD60B1DB482F
:1014FC004FF48051092201600B20E0704C98DC49BC
:10150C00043000F01CFE0EE0D4484FF480514160D2
:10151C000920E070D7484C9A01460068D1F80310B6
:10152C00C2F807105060C94C002606988DF84C6123
:10153C0050904B984F90DDE94F015190ADF85061B0
:10154C0052910598FFF76EFE08B10320B6E0559650
:10155C00519854908DF8556198F803000121C0B250
:10156C00022808BF032102288DF854118DF855115B
:10157C0001D10420A2E0029D8DF858615495559537
:10158C00002100208DF860A101290BD01BF801204F
:10159C0001310AFA02F21043F6E700BF0C140040C6
:1015AC000805005008B1B449086098F8010000F033
:1015BC00030001287AD0A0BB022088F8010000F0BB
:1015CC0005FDCDE958015846022100F05BFBAB4903
:1015DC00584600F083FB286800680330C4F8F80014
:1015EC009D4801464FF48040C1F80003D1F8F80142
:1015FC0040F48010C1F8F80198F80200C0B201283C
:10160C000FD1954888F80290C0F804A000F0DEFCD9
:10161C00CDE958015846022100F034FB5846984950
:10162C0042E000F061FCC5B295B3012D3ED0022D15
:10163C0040F0CF8088484FF0006188F803A0C0F8D4
:10164C00FC12C0F824A000F0C1FCCDE958015846AA
:10165C00022100F017FB8B49584600F03FFB58461F
:10166C008DF860A100F0B0FB8DF858A18DF8506199
:10167C0098F80300C0B201284FF0010008BF032006
:10168C008DF8500101D1062018E08DF84CA1BFE671
:10169C0000F024FC00F09AFCCDE9580158460221D8
:1016AC0000F0F0FA7849584600F018FB58468DF8CF
:1016BC0060A100F089FB8DF8589105208DF84C0144
:1016CC0005208DF8380100F09BFC9DF838012BE6C5
:1016DC00000649D003988DF854615390549098F8B3
:1016EC000100C0B210B1022867D095E000F0FCFBFD
:1016FC005FFA80F9B9F1000F51D0B9F1010F5CD04C
:10170C00B9F1020F74D15498006800680330C4F822
:10171C00F800514888F802A0C0F800A000F056FC70
:10172C00CDE958015846022100F0ACFA4C49584614
:10173C0000F0D4FA00994FF0030901988DF854A1E8
:10174C008DF85C6154915390CDE9550198F80200E5
:10175C0000F00300DFE800F06002101C05208DF89B
:10176C0048018DF85C916AE621688DF848A19DF8D6
:10177C00490180F0010064E688F802605598067013
:10178C003548D0F8F803569900F00100087001E0D4
:10179C0088F802608DF85CA19DF84A0198E700F08A
:1017AC009DFB00F013FCCDE958015846022100F0D6
:1017BC0069FA2C49584600F091FA04204FF00309BD
:1017CC008DF848018DF8549139E6FEDE00F062F890
:1017DC00FEDE00F0FBFB58ACCDE9580100212046A1
:1017EC0000F050FA2949204600F078FA28460DE01E
:1017FC0000F0ECFB58ACCDE958010021204600F07C
:10180C0041FA1949204600F069FA4846214600F091
:10181C0087FB00F0C1FBFEDE00F07EFAFEDEBFF3BC
:10182C002F8F00F0D3FB07ACCDE907010021204638
:10183C0000F028FA0449204600F050FA00F0D9FBD9
:10184C00FEDE00BF08F003200D0000000C14004069
:10185C005F11000000110000081000400805005046
:10186C000F0000000E00000010000000C01100006E
:10187C0000120000F811000080E100E011000000EF
:10188C0012000000140000001300000015000000FE
:10189C0000F0B0BB80B56F4600F001F8FEDE80B5FD
:1018AC006F4600F08DFBFEDE80B56F461B481D4A6F
:1018BC00016841F0807101601948002141600168A4
:1018CC0011400131016018480121C0F81015016068
:1018DC0016488160016016481649091A21F0030167
:1018EC0000F0CFFC14481549091A21F003021449E1
:1018FC0000F027FC00F080FB12484FF48A51124C88
:10190C00124D01600161AC4202D201CC8047FAE772
:10191C00FFF7BEFFFFF7A4FCFEDE00BFFCED00E00E
:10192C00001000E0FEFFFF000800004000B0004087
:10193C0000F0032010F0032010F0032010F003201F
:10194C00A02200000805005094220000A0220000F4
:10195C0000F0F6B9F0B503AF2DE9C00B00F036FB83
:10196C006C46CDE900012046042100F08BF9794941
:10197C00204600F0B3F9784A906B000605D00020A1
:10198C009063D2F80402400406D41068000607D015
:10199C004FF0040810461BE091464FF002081AE085
:1019AC00104650F8481F090602D04FF000080FE00F
:1019BC00104650F80C1F090602D04FF0010807E042
:1019CC00104650F86C1F090600F0C0804FF0030859
:1019DC0091460021016000F0F9FA6E460446CDE90B
:1019EC0000010D463046032100F04CF95B493046AE
:1019FC0000F074F928880C22411C6FF31F3022541C
:101A0C0030462980564900F069F9DFE808F0037286
:101A1C002B482100DDE9000100250A88531C6FF3D7
:101A2C001F3285540B8000F0D1FA6C46CDE90001D1
:101A3C002046022100F026F94E49204600F04EF9CE
:101A4C004FF000600421C9F808024648457061E077
:101A5C00DDE9000104240A88531C6FF31F328454FF
:101A6C000B8070E0DDE9000102240A883D4D531C17
:101A7C006FF31F3284540B806878000666D100F037
:101A8C00A5FA6C46CDE900012046022100F0FAF8D7
:101A9C003649204600F022F90120687053E0DDE958
:101AAC000012032013885C1C6FF31F33C8542D499C
:101ABC0014804A78D2B2022A48D14FF48042C9F835
:101ACC000422D9F8002122F48012C9F800214FF029
:101ADC000062C9F8082200224A70C87000F076FA39
:101AEC006C46CDE900012046022100F0CBF81E49DE
:101AFC0026E0DDE9000101240A88531C6FF31F3234
:101B0C00845418480B804178C9B2012904D00229A9
:101B1C001CD10221C17016E08178C9B2012915D1FE
:101B2C000021C9F86C1041700221817000F04EFA4E
:101B3C006C46CDE900012046022100F0A3F80C49C7
:101B4C00204600F0CBF8BDE80C0BF0BD00F0E4F83B
:101B5C00FEDE00BF02000000001100400300000088
:101B6C000800000008F0032007000000050000003A
:101B7C000600000004000000DCB504AF00F026FAFB
:101B8C006C46CDE900012046042100F07BF80449A5
:101B9C00204600F0A3F8034800210160DCBD00BF23
:101BAC000100000018310040DCB504AF2F4801687B
:101BBC00C90741D1C16BC90722D000212F4CC16389
:101BCC002D490A88931C013204EA03332C4C236000
:101BDC000A8091B20C22B1FBF2F202EB4202A1EBB1
:101BEC00820103290CD8DFE801F002070207214922
:101BFC004FF480724A6003E01E494FF480720A6011
:101C0C00016CC9071FBF002101644FF40031C0F8FB
:101C1C000412416CC9071FBF002141644FF480219D
:101C2C00C0F80412816CC9071FBF002181644FF4F6
:101C3C000021C0F80412DCBD00F0C8F96C46CDE9F7
:101C4C0000012046002100F01DF80949204600F053
:101C5C0045F808484FF480510160402101604FF471
:101C6C008071416000F0C5F9FEDE00BF04B1004098
:101C7C00000000000805005000F0032000F0FF00F9
:101C8C0040B50040F0B503AF4DF804BD124A1268E0
:101C9C00D0E90034258892096E1C6FF31F35595515
:101CAC0000232680D0E900100488661C42F08005D1
:101CBC006FF31F34B3EBD21F08BF02F07F05B3EBF9
:101CCC00D21F0D554FEAD21534462A460680ECD168
:101CDC005DF804BBF0BD00BF041000E0F0B503AF2D
:101CEC004DF804BD8AB27F2A0AD3D0E9003441F002
:101CFC00800125886E1C6FF31F355955D10926803C
:101D0C00D0E9002003885C1C6FF31F33D15404808E
:101D1C005DF804BBF0BDD4D4E0B502AF00F056F9C9
:101D2C006C46CDE9000120460021FFF7ABFF0349CB
:101D3C002046FFF7D3FF00F05CF9FEDE090000003F
:101D4C00DCB504AF00F042F96C46CDE90001204649
:101D5C000421FFF797FF0D492046FFF7BFFF0C4802
:101D6C000168090611D00021016000F02FF96C46C2
:101D7C00CDE9000120460221FFF784FF05492046EA
:101D8C00FFF7ACFF044801210170DCBD0A00000024
:101D9C00000100400B00000006F0032007484FF440
:101DAC00803101604FF48051C0F83C124FF48071C7
:101DBC0003480160034800F007B800BF04B30040BB
:101DCC000C05005009120000D0B502AF002201230F
:101DDC000021012A05D0845C013203FA04F421436A
:101DEC00F7E709B101480160D0BD00BF00E100E098
:101DFC00F0B503AF4DF804BD1E4C1F4D264604F53F
:101E0C00C670864212D06868014655E8010F8842B8
:101E1C0004D145E80162002AF6D102E0BFF32F8F0E
:101E2C00F2E746F8841B00F0E9F8E8E713480F21C5
:101E3C000123416008210160114981608121C16049
:101E4C0010490A6863F302020A6040F202214FF45F
:101E5C00822281620C49C162002101630B4942500C
:101E6C000B490C4A42500C485DF804BBBDE8F040ED
:101E7C00FFF7AABF00C0032008F003200C15004098
:101E8C00080000066C16004021100100F4FCFFFF56
:101E9C00F8FDFFFF094004080A120000BCB504AFAE
:101EAC004FF080400125056000F090F86C46CDE9BC
:101EBC00000120460221FFF7E5FE05492046FFF709
:101ECC000DFF044805600448BDE8BC40FFF77CBF2B
:101EDC000C000000040300400B120000014801211B
:101EEC000160704704100040BCB504AF0A48046898
:101EFC0000F06CF86D46CDE9000128460321FFF790
:101F0C00C1FE06492846FFF7E9FE2046294600F0A7
:101F1C0007F8204602B0B0BD501500401700000075
:101F2C00F0B503AF4DF804BD0C460546D1E90001F0
:101F3C000C260A88531C6FF31F32865420460B80E4
:101F4C001449FFF7CBFE05F00F010820DFE801F084
:101F5C00070D0F091521212121110B13160000204B
:101F6C000CE003200AE0062008E0012006E0022035
:101F7C0004E0052002E0072000E00420D4E9001270
:101F8C0013885C1C6FF31F33C85414805DF804BBBA
:101F9C00F0BDFEDE16000000E0B502AF00F016F852
:101FAC006C46CDE9000120460021FFF76BFE03498A
:101FBC002046FFF793FE00F01CF8FEDE1800000030
:101FCC0080B56F4600F015F8FEDED4D406490548FE
:101FDC000968C9B20029054918BF00F5805018BF1F
:101FEC000231704700D0032004ED00E002F0032022
:101FFC00FFBEAABE62B6704772B6704740BF70474C
:10200C0020BF7047F0B503AF4DF8048DA2B3531E3B
:10201C0002F0030C032B14D20022BCF1000F2BD0C6
:10202C008B5CBCF1010F835426D0531CBCF1020F06
:10203C00CE5CC65420D00232895C81545DF8048B8E
:10204C00F0BDACEB020E01F10108441C6FF0030271
:10205C0008EB0206A5180432F378EB7033792B7178
:10206C0073796B71B379AB710EEB02030433EFD15F
:10207C000432BCF1000FD3D15DF8048BF0BDD0B5A8
:10208C0002AF12B3531E02F0030C032B01D2002239
:10209C000FE0ACEB020E421C6FF00303D4180433B8
:1020AC00A17161712171E1700EEB03040434F5D15F
:1020BC001A1DBCF1000F1ABF8154BCF1010FD0BD29
:1020CC000244BCF1020F517000D1D0BD9170D0BD53
:1020DC00F0B503AF2DE9000B4AB3A2F1010EC2F12A
:1020EC00000C0023CC5CC55CA54224D19E451ED0BF
:1020FC0001EB030800EB030998F8014099F8015033
:10210C00A54218D10CEB0306B41C10D098F8024071
:10211C0099F80250A5420ED1F41C08D098F803404F
:10212C0099F80350A54206D104339A42DAD1002023
:10213C00BDE8000BF0BD281BBDE8000BF0BDFFF7A0
:10214C0061BF042A38BFFFF7FABFB0B502AFA2F1E6
:10215C00040C012303EB9C0313F003030ED08E46F7
:10216C0004465EF8045B012B44F8045B1FD1634604
:10217C0020467146BCF10C0F04D212E01346BCF1A0
:10218C000C0F0ED30D68103B0560032B4D6845609A
:10219C008D688560CD6801F11001C56000F11000FB
:1021AC00F0D802F00302BDE8B040FFF7C8BF4D689D
:1021BC00022B456007D1A2F1080308310830BCF1AD
:1021CC000C0FDFD2EDE78B680C318360A2F10C03AE
:1021DC000C30BCF10C0FD5D2E3E70B4611461A4676
:1021EC00FFF74DBF1346D2B2042938BFFFF7F5BF36
:1021FC00D0B502AFA1F1040E42EA0363012443EA15
:10220C00024304EB9E0443EA022314F0030410D0AF
:10221C008446012C4CF8043B10D174466046BEF148
:10222C000C0F1ED201F00301BDE8D0406046FFF751
:10223C00D4BF0C46BEF10C0F13D2F3E7022C436053
:10224C0007D10830A1F108048446BEF10C0F08D266
:10225C00E8E783600C30A1F10C048446BEF10C0F4E
:10226C00E0D3C0E90033103CC0E902331030032C3A
:10227C00F7D8844601F00301BDE8D0406046FFF773
:08228C00ACBF0022FFF7AEBF5A
:0C229400A91E0000FD1D0000A91D000097
:04000003000018B52C
:00000001FF

View file

@ -0,0 +1,301 @@
:1010000000C00320B5180000FD1F0000FD1F0000F8
:10101000FD1F0000FD1F0000FD1F0000000000007C
:10102000000000000000000000000000FD1F0000A4
:10103000FD1F000000000000FD1F0000FD1F00005C
:101040005D19000061190000FD1F0000851B0000F4
:10105000FD1F0000FD1F0000FD1F0000FD1F000020
:10106000FD1F0000FD1F0000FD1F0000B51B00005C
:10107000FD1F0000FD1F0000FD1F0000FD1F000000
:10108000FD1F0000FD1F0000FD1F0000FD1F0000F0
:10109000FD1F0000FD1F0000FD1F0000FD1F0000E0
:1010A000FD1F0000FD1F0000FD1F0000FD1F0000D0
:1010B000FD1F0000FD1F00000000000000000000F8
:1010C000FD1F0000FD1F0000FD1F0000FD1F0000B0
:1010D000FD1F0000FD1F0000FD1F0000FD1F0000A0
:1010E000FD1F0000FD1F0000FD1F000000000000AC
:1010F00000000000FD1F000000000000FD1F0000B8
:10110000525B5D4D446657777E636A21313A3B649A
:1011100073622E347156424A5C3C7B2225292A4C4C
:10112000494758362327375E4041515F6972793EFF
:101130007C28657D596F356E7024763F336C383D61
:10114000264E5A482B672F453020756168743253FC
:101150007A2C552D50784B544F4643606B6D394770
:101160005C75783322576E53516C2C7348204F6A4C
:1011700049313F723D2F215468715D246F746B7B40
:101180005B2D3B25645E61632A2339267D36504200
:1011900052585A692755655F402E4A663556416D4B
:1011A000293C767037774D384460624B434C3A287F
:1011B0007C32453E2B464E7A3059347E67790000AA
:1011C0004E4B62657E6A4422277D445F627D4326E2
:1011D00051265F624326653744266544434B584495
:1011E0007A2B264F262858445B3527496235446EB2
:1011F000277D7E6A4B275F2C636F72726563740074
:0C120000696E636F72726563740B01000D
:10120C0004C8C9B252003AB110F8023B023A8B4200
:10121C00F9D1411E023801E00020002100B9002163
:10122C000846704780B56F46017839B1032902D161
:10123C004178012904D100F02DFBFEDE0021417024
:10124C00064901220978C9B2002908BF032202709D
:10125C004270B1FA81F0400980BD00BF06F0032056
:10126C0080B56F46DAB0DFF8DC850120D8E84F1F77
:10127C00002940F0D482C8E8410F0029F6D1C749B3
:10128C000DF11C0CDFF8C8E53720DFF8C8950CF120
:10129C00040AC1F8FC00002107915F2920D0079EA9
:1012AC0052461EF8015019F80100013173003BB190
:1012BC0012F8024B023B8442F9D1531E023A01E070
:1012CC00002200230AB11D70E7E77F2EE5D80AF84B
:1012DC0016000AEB46004570079801300790DCE7D2
:1012EC0048A8AE4C00F12A01019100F129010091AE
:1012FC0000F12401039100F13001059100F12C0162
:10130C00049100F1280110300DF5B07B00260690F9
:10131C004FF0010A4FF0030900208DF83861CDE938
:10132C004ACBCDE948BB0291C0B2DFE810F0060011
:10133C004E024E0222003B0009008DF83C611DE07C
:10134C009DF84C01DFE810F0F70042024102FD006D
:10135C00070055004F009DF85401810700F0FA80FA
:10136C00032840F033829DF85501012840F0F480A9
:10137C002CE29DF83C01012800F02882D8F80400EA
:10138C0060B1016858E8012F824204D148E801128B
:10139C00002AF3D118E0BFF32F8FEFE703208DF86D
:1013AC003C018EE19DF84801DFE810F03800100296
:1013BC000F023C00060016009DF85401810723D053
:1013CC00032800F08C8101E20221C1708DF839A153
:1013DC004C908DF83CA11BE09DF85C0188B1032872
:1013EC0000F0B481F2E19DF85001012840F04081F9
:1013FC00ECE19DF8580148B1032840F0E781559D78
:10140C00BEE0DDE953019FE1539867E1549DB6E0DE
:10141C0006988DF84861509048984F90ADF84C6103
:10142C00509851900498FFF7FDFE10B18DF848913B
:10143C0005E04FF48070ADF84901012048E100212E
:10144C00022082B2022A01D104203AE1ADF8340123
:10145C004023ADF836119DF83911514A002914BFBB
:10146C0053601360000481F001018DF83911CFD164
:10147C004C98C17803290BD0022919D13A21382272
:10148C00C1704C98DFF8E413043000F058FE4CE0C7
:10149C0001794A988DF86011FFF7B2FE002808BF59
:1014AC0058464C99007881F803904C9908713CE0AF
:1014BC00061D881EC5B25DB134464A9814F8011B4E
:1014CC00FFF79EFE08B100783070013D2646F2E72A
:1014DC004C9CE0783A280AD1DFF89013201D884202
:1014EC0012D0DFF88813382200F0F2FD60B1DB482F
:1014FC004FF48051092201600B20E0704C98DC49BC
:10150C00043000F01CFE0EE0D4484FF480514160D2
:10151C000920E070D7484C9A01460068D1F80310B6
:10152C00C2F807105060C94C002606988DF84C6123
:10153C0050904B984F90DDE94F015190ADF85061B0
:10154C0052910598FFF76EFE08B10320B6E0559650
:10155C00519854908DF8556198F803000121C0B250
:10156C00022808BF032102288DF854118DF855115B
:10157C0001D10420A2E0029D8DF858615495559537
:10158C00002100208DF860A101290BD01BF801204F
:10159C0001310AFA02F21043F6E700BF0C140040C6
:1015AC000805005008B1B449086098F8010000F033
:1015BC00030001287AD0A0BB022088F8010000F0BB
:1015CC0005FDCDE958015846022100F05BFBAB4903
:1015DC00584600F083FB286800680330C4F8F80014
:1015EC009D4801464FF48040C1F80003D1F8F80142
:1015FC0040F48010C1F8F80198F80200C0B201283C
:10160C000FD1954888F80290C0F804A000F0DEFCD9
:10161C00CDE958015846022100F034FB5846984950
:10162C0042E000F061FCC5B295B3012D3ED0022D15
:10163C0040F0CF8088484FF0006188F803A0C0F8D4
:10164C00FC12C0F824A000F0C1FCCDE958015846AA
:10165C00022100F017FB8B49584600F03FFB58461F
:10166C008DF860A100F0B0FB8DF858A18DF8506199
:10167C0098F80300C0B201284FF0010008BF032006
:10168C008DF8500101D1062018E08DF84CA1BFE671
:10169C0000F024FC00F09AFCCDE9580158460221D8
:1016AC0000F0F0FA7849584600F018FB58468DF8CF
:1016BC0060A100F089FB8DF8589105208DF84C0144
:1016CC0005208DF8380100F09BFC9DF838012BE6C5
:1016DC00000649D003988DF854615390549098F8B3
:1016EC000100C0B210B1022867D095E000F0FCFBFD
:1016FC005FFA80F9B9F1000F51D0B9F1010F5CD04C
:10170C00B9F1020F74D15498006800680330C4F822
:10171C00F800514888F802A0C0F800A000F056FC70
:10172C00CDE958015846022100F0ACFA4C49584614
:10173C0000F0D4FA00994FF0030901988DF854A1E8
:10174C008DF85C6154915390CDE9550198F80200E5
:10175C0000F00300DFE800F06002101C05208DF89B
:10176C0048018DF85C916AE621688DF848A19DF8D6
:10177C00490180F0010064E688F802605598067013
:10178C003548D0F8F803569900F00100087001E0D4
:10179C0088F802608DF85CA19DF84A0198E700F08A
:1017AC009DFB00F013FCCDE958015846022100F0D6
:1017BC0069FA2C49584600F091FA04204FF00309BD
:1017CC008DF848018DF8549139E6FEDE00F062F890
:1017DC00FEDE00F0FBFB58ACCDE9580100212046A1
:1017EC0000F050FA2949204600F078FA28460DE01E
:1017FC0000F0ECFB58ACCDE958010021204600F07C
:10180C0041FA1949204600F069FA4846214600F091
:10181C0087FB00F0C1FBFEDE00F07EFAFEDEBFF3BC
:10182C002F8F00F0D3FB07ACCDE907010021204638
:10183C0000F028FA0449204600F050FA00F0D9FBD9
:10184C00FEDE00BF08F003200D0000000C14004069
:10185C005F11000000110000081000400805005046
:10186C000F0000000E00000010000000C01100006E
:10187C0000120000F811000080E100E011000000EF
:10188C0012000000140000001300000015000000FE
:10189C0000F0B0BB80B56F4600F001F8FEDE80B5FD
:1018AC006F4600F08DFBFEDE80B56F461B481D4A6F
:1018BC00016841F0807101601948002141600168A4
:1018CC0011400131016018480121C0F81015016068
:1018DC0016488160016016481649091A21F0030167
:1018EC0000F0CFFC14481549091A21F003021449E1
:1018FC0000F027FC00F080FB12484FF48A51124C88
:10190C00124D01600161AC4202D201CC8047FAE772
:10191C00FFF7BEFFFFF7A4FCFEDE00BFFCED00E00E
:10192C00001000E0FEFFFF000800004000B0004087
:10193C0000F0032010F0032010F0032010F003201F
:10194C00A02200000805005094220000A0220000F4
:10195C0000F0F6B9F0B503AF2DE9C00B00F036FB83
:10196C006C46CDE900012046042100F08BF9794941
:10197C00204600F0B3F9784A906B000605D00020A1
:10198C009063D2F80402400406D41068000607D015
:10199C004FF0040810461BE091464FF002081AE085
:1019AC00104650F8481F090602D04FF000080FE00F
:1019BC00104650F80C1F090602D04FF0010807E042
:1019CC00104650F86C1F090600F0C0804FF0030859
:1019DC0091460021016000F0F9FA6E460446CDE90B
:1019EC0000010D463046032100F04CF95B493046AE
:1019FC0000F074F928880C22411C6FF31F3022541C
:101A0C0030462980564900F069F9DFE808F0037286
:101A1C002B482100DDE9000100250A88531C6FF3D7
:101A2C001F3285540B8000F0D1FA6C46CDE90001D1
:101A3C002046022100F026F94E49204600F04EF9CE
:101A4C004FF000600421C9F808024648457061E077
:101A5C00DDE9000104240A88531C6FF31F328454FF
:101A6C000B8070E0DDE9000102240A883D4D531C17
:101A7C006FF31F3284540B806878000666D100F037
:101A8C00A5FA6C46CDE900012046022100F0FAF8D7
:101A9C003649204600F022F90120687053E0DDE958
:101AAC000012032013885C1C6FF31F33C8542D499C
:101ABC0014804A78D2B2022A48D14FF48042C9F835
:101ACC000422D9F8002122F48012C9F800214FF029
:101ADC000062C9F8082200224A70C87000F076FA39
:101AEC006C46CDE900012046022100F0CBF81E49DE
:101AFC0026E0DDE9000101240A88531C6FF31F3234
:101B0C00845418480B804178C9B2012904D00229A9
:101B1C001CD10221C17016E08178C9B2012915D1FE
:101B2C000021C9F86C1041700221817000F04EFA4E
:101B3C006C46CDE900012046022100F0A3F80C49C7
:101B4C00204600F0CBF8BDE80C0BF0BD00F0E4F83B
:101B5C00FEDE00BF02000000001100400300000088
:101B6C000800000008F0032007000000050000003A
:101B7C000600000004000000DCB504AF00F026FAFB
:101B8C006C46CDE900012046042100F07BF80449A5
:101B9C00204600F0A3F8034800210160DCBD00BF23
:101BAC000100000018310040DCB504AF2F4801687B
:101BBC00C90741D1C16BC90722D000212F4CC16389
:101BCC002D490A88931C013204EA03332C4C236000
:101BDC000A8091B20C22B1FBF2F202EB4202A1EBB1
:101BEC00820103290CD8DFE801F002070207214922
:101BFC004FF480724A6003E01E494FF480720A6011
:101C0C00016CC9071FBF002101644FF40031C0F8FB
:101C1C000412416CC9071FBF002141644FF480219D
:101C2C00C0F80412816CC9071FBF002181644FF4F6
:101C3C000021C0F80412DCBD00F0C8F96C46CDE9F7
:101C4C0000012046002100F01DF80949204600F053
:101C5C0045F808484FF480510160402101604FF471
:101C6C008071416000F0C5F9FEDE00BF04B1004098
:101C7C00000000000805005000F0032000F0FF00F9
:101C8C0040B50040F0B503AF4DF804BD124A1268E0
:101C9C00D0E90034258892096E1C6FF31F35595515
:101CAC0000232680D0E900100488661C42F08005D1
:101CBC006FF31F34B3EBD21F08BF02F07F05B3EBF9
:101CCC00D21F0D554FEAD21534462A460680ECD168
:101CDC005DF804BBF0BD00BF041000E0F0B503AF2D
:101CEC004DF804BD8AB27F2A0AD3D0E9003441F002
:101CFC00800125886E1C6FF31F355955D10926803C
:101D0C00D0E9002003885C1C6FF31F33D15404808E
:101D1C005DF804BBF0BDD4D4E0B502AF00F056F9C9
:101D2C006C46CDE9000120460021FFF7ABFF0349CB
:101D3C002046FFF7D3FF00F05CF9FEDE090000003F
:101D4C00DCB504AF00F042F96C46CDE90001204649
:101D5C000421FFF797FF0D492046FFF7BFFF0C4802
:101D6C000168090611D00021016000F02FF96C46C2
:101D7C00CDE9000120460221FFF784FF05492046EA
:101D8C00FFF7ACFF044801210170DCBD0A00000024
:101D9C00000100400B00000006F0032007484FF440
:101DAC00803101604FF48051C0F83C124FF48071C7
:101DBC0003480160034800F007B800BF04B30040BB
:101DCC000C05005009120000D0B502AF002201230F
:101DDC000021012A05D0845C013203FA04F421436A
:101DEC00F7E709B101480160D0BD00BF00E100E098
:101DFC00F0B503AF4DF804BD1E4C1F4D264604F53F
:101E0C00C670864212D06868014655E8010F8842B8
:101E1C0004D145E80162002AF6D102E0BFF32F8F0E
:101E2C00F2E746F8841B00F0E9F8E8E713480F21C5
:101E3C000123416008210160114981608121C16049
:101E4C0010490A6863F302020A6040F202214FF45F
:101E5C00822281620C49C162002101630B4942500C
:101E6C000B490C4A42500C485DF804BBBDE8F040ED
:101E7C00FFF7AABF00C0032008F003200C15004098
:101E8C00080000066C16004021100100F4FCFFFF56
:101E9C00F8FDFFFF094004080A120000BCB504AFAE
:101EAC004FF080400125056000F090F86C46CDE9BC
:101EBC00000120460221FFF7E5FE05492046FFF709
:101ECC000DFF044805600448BDE8BC40FFF77CBF2B
:101EDC000C000000040300400B120000014801211B
:101EEC000160704704100040BCB504AF0A48046898
:101EFC0000F06CF86D46CDE9000128460321FFF790
:101F0C00C1FE06492846FFF7E9FE2046294600F0A7
:101F1C0007F8204602B0B0BD501500401700000075
:101F2C00F0B503AF4DF804BD0C460546D1E90001F0
:101F3C000C260A88531C6FF31F32865420460B80E4
:101F4C001449FFF7CBFE05F00F010820DFE801F084
:101F5C00070D0F091521212121110B13160000204B
:101F6C000CE003200AE0062008E0012006E0022035
:101F7C0004E0052002E0072000E00420D4E9001270
:101F8C0013885C1C6FF31F33C85414805DF804BBBA
:101F9C00F0BDFEDE16000000E0B502AF00F016F852
:101FAC006C46CDE9000120460021FFF76BFE03498A
:101FBC002046FFF793FE00F01CF8FEDE1800000030
:101FCC0080B56F4600F015F8FEDED4D406490548FE
:101FDC000968C9B20029054918BF00F5805018BF1F
:101FEC000231704700D0032004ED00E002F0032022
:101FFC00FFBEAABE62B6704772B6704740BF70474C
:10200C0020BF7047F0B503AF4DF8048DA2B3531E3B
:10201C0002F0030C032B14D20022BCF1000F2BD0C6
:10202C008B5CBCF1010F835426D0531CBCF1020F06
:10203C00CE5CC65420D00232895C81545DF8048B8E
:10204C00F0BDACEB020E01F10108441C6FF0030271
:10205C0008EB0206A5180432F378EB7033792B7178
:10206C0073796B71B379AB710EEB02030433EFD15F
:10207C000432BCF1000FD3D15DF8048BF0BDD0B5A8
:10208C0002AF12B3531E02F0030C032B01D2002239
:10209C000FE0ACEB020E421C6FF00303D4180433B8
:1020AC00A17161712171E1700EEB03040434F5D15F
:1020BC001A1DBCF1000F1ABF8154BCF1010FD0BD29
:1020CC000244BCF1020F517000D1D0BD9170D0BD53
:1020DC00F0B503AF2DE9000B4AB3A2F1010EC2F12A
:1020EC00000C0023CC5CC55CA54224D19E451ED0BF
:1020FC0001EB030800EB030998F8014099F8015033
:10210C00A54218D10CEB0306B41C10D098F8024071
:10211C0099F80250A5420ED1F41C08D098F803404F
:10212C0099F80350A54206D104339A42DAD1002023
:10213C00BDE8000BF0BD281BBDE8000BF0BDFFF7A0
:10214C0061BF042A38BFFFF7FABFB0B502AFA2F1E6
:10215C00040C012303EB9C0313F003030ED08E46F7
:10216C0004465EF8045B012B44F8045B1FD1634604
:10217C0020467146BCF10C0F04D212E01346BCF1A0
:10218C000C0F0ED30D68103B0560032B4D6845609A
:10219C008D688560CD6801F11001C56000F11000FB
:1021AC00F0D802F00302BDE8B040FFF7C8BF4D689D
:1021BC00022B456007D1A2F1080308310830BCF1AD
:1021CC000C0FDFD2EDE78B680C318360A2F10C03AE
:1021DC000C30BCF10C0FD5D2E3E70B4611461A4676
:1021EC00FFF74DBF1346D2B2042938BFFFF7F5BF36
:1021FC00D0B502AFA1F1040E42EA0363012443EA15
:10220C00024304EB9E0443EA022314F0030410D0AF
:10221C008446012C4CF8043B10D174466046BEF148
:10222C000C0F1ED201F00301BDE8D0406046FFF751
:10223C00D4BF0C46BEF10C0F13D2F3E7022C436053
:10224C0007D10830A1F108048446BEF10C0F08D266
:10225C00E8E783600C30A1F10C048446BEF10C0F4E
:10226C00E0D3C0E90033103CC0E902331030032C3A
:10227C00F7D8844601F00301BDE8D0406046FFF773
:08228C00ACBF0022FFF7AEBF5A
:0C229400A91E0000FD1D0000A91D000097
:04000003000018B52C
:00000001FF

View file

@ -0,0 +1,301 @@
:1010000000C00320B5180000FD1F0000FD1F0000F8
:10101000FD1F0000FD1F0000FD1F0000000000007C
:10102000000000000000000000000000FD1F0000A4
:10103000FD1F000000000000FD1F0000FD1F00005C
:101040005D19000061190000FD1F0000851B0000F4
:10105000FD1F0000FD1F0000FD1F0000FD1F000020
:10106000FD1F0000FD1F0000FD1F0000B51B00005C
:10107000FD1F0000FD1F0000FD1F0000FD1F000000
:10108000FD1F0000FD1F0000FD1F0000FD1F0000F0
:10109000FD1F0000FD1F0000FD1F0000FD1F0000E0
:1010A000FD1F0000FD1F0000FD1F0000FD1F0000D0
:1010B000FD1F0000FD1F00000000000000000000F8
:1010C000FD1F0000FD1F0000FD1F0000FD1F0000B0
:1010D000FD1F0000FD1F0000FD1F0000FD1F0000A0
:1010E000FD1F0000FD1F0000FD1F000000000000AC
:1010F00000000000FD1F000000000000FD1F0000B8
:10110000525B5D4D446657777E636A21313A3B649A
:1011100073622E347156424A5C3C7B2225292A4C4C
:10112000494758362327375E4041515F6972793EFF
:101130007C28657D596F356E7024763F336C383D61
:10114000264E5A482B672F453020756168743253FC
:101150007A2C552D50784B544F4643606B6D394770
:101160005C75783322576E53516C2C7348204F6A4C
:1011700049313F723D2F215468715D246F746B7B40
:101180005B2D3B25645E61632A2339267D36504200
:1011900052585A692755655F402E4A663556416D4B
:1011A000293C767037774D384460624B434C3A287F
:1011B0007C32453E2B464E7A3059347E67790000AA
:1011C0004E4B62657E6A4422277D445F627D4326E2
:1011D00051265F624326653744266544434B584495
:1011E0007A2B264F262858445B3527496235446EB2
:1011F000277D7E6A4B275F2C636F72726563740074
:0C120000696E636F72726563740B01000D
:10120C0004C8C9B252003AB110F8023B023A8B4200
:10121C00F9D1411E023801E00020002100B9002163
:10122C000846704780B56F46017839B1032902D161
:10123C004178012904D100F02DFBFEDE0021417024
:10124C00064901220978C9B2002908BF032202709D
:10125C004270B1FA81F0400980BD00BF06F0032056
:10126C0080B56F46DAB0DFF8DC850120D8E84F1F77
:10127C00002940F0D482C8E8410F0029F6D1C749B3
:10128C000DF11C0CDFF8C8E55020DFF8C8950CF107
:10129C00040AC1F8FC00002107915F2920D0079EA9
:1012AC0052461EF8015019F80100013173003BB190
:1012BC0012F8024B023B8442F9D1531E023A01E070
:1012CC00002200230AB11D70E7E77F2EE5D80AF84B
:1012DC0016000AEB46004570079801300790DCE7D2
:1012EC0048A8AE4C00F12A01019100F129010091AE
:1012FC0000F12401039100F13001059100F12C0162
:10130C00049100F1280110300DF5B07B00260690F9
:10131C004FF0010A4FF0030900208DF83861CDE938
:10132C004ACBCDE948BB0291C0B2DFE810F0060011
:10133C004E024E0222003B0009008DF83C611DE07C
:10134C009DF84C01DFE810F0F70042024102FD006D
:10135C00070055004F009DF85401810700F0FA80FA
:10136C00032840F033829DF85501012840F0F480A9
:10137C002CE29DF83C01012800F02882D8F80400EA
:10138C0060B1016858E8012F824204D148E801128B
:10139C00002AF3D118E0BFF32F8FEFE703208DF86D
:1013AC003C018EE19DF84801DFE810F03800100296
:1013BC000F023C00060016009DF85401810723D053
:1013CC00032800F08C8101E20221C1708DF839A153
:1013DC004C908DF83CA11BE09DF85C0188B1032872
:1013EC0000F0B481F2E19DF85001012840F04081F9
:1013FC00ECE19DF8580148B1032840F0E781559D78
:10140C00BEE0DDE953019FE1539867E1549DB6E0DE
:10141C0006988DF84861509048984F90ADF84C6103
:10142C00509851900498FFF7FDFE10B18DF848913B
:10143C0005E04FF48070ADF84901012048E100212E
:10144C00022082B2022A01D104203AE1ADF8340123
:10145C004023ADF836119DF83911514A002914BFBB
:10146C0053601360000481F001018DF83911CFD164
:10147C004C98C17803290BD0022919D13A21382272
:10148C00C1704C98DFF8E413043000F058FE4CE0C7
:10149C0001794A988DF86011FFF7B2FE002808BF59
:1014AC0058464C99007881F803904C9908713CE0AF
:1014BC00061D881EC5B25DB134464A9814F8011B4E
:1014CC00FFF79EFE08B100783070013D2646F2E72A
:1014DC004C9CE0783A280AD1DFF89013201D884202
:1014EC0012D0DFF88813382200F0F2FD60B1DB482F
:1014FC004FF48051092201600B20E0704C98DC49BC
:10150C00043000F01CFE0EE0D4484FF480514160D2
:10151C000920E070D7484C9A01460068D1F80310B6
:10152C00C2F807105060C94C002606988DF84C6123
:10153C0050904B984F90DDE94F015190ADF85061B0
:10154C0052910598FFF76EFE08B10320B6E0559650
:10155C00519854908DF8556198F803000121C0B250
:10156C00022808BF032102288DF854118DF855115B
:10157C0001D10420A2E0029D8DF858615495559537
:10158C00002100208DF860A101290BD01BF801204F
:10159C0001310AFA02F21043F6E700BF0C140040C6
:1015AC000805005008B1B449086098F8010000F033
:1015BC00030001287AD0A0BB022088F8010000F0BB
:1015CC0005FDCDE958015846022100F05BFBAB4903
:1015DC00584600F083FB286800680330C4F8F80014
:1015EC009D4801464FF48040C1F80003D1F8F80142
:1015FC0040F48010C1F8F80198F80200C0B201283C
:10160C000FD1954888F80290C0F804A000F0DEFCD9
:10161C00CDE958015846022100F034FB5846984950
:10162C0042E000F061FCC5B295B3012D3ED0022D15
:10163C0040F0CF8088484FF0006188F803A0C0F8D4
:10164C00FC12C0F824A000F0C1FCCDE958015846AA
:10165C00022100F017FB8B49584600F03FFB58461F
:10166C008DF860A100F0B0FB8DF858A18DF8506199
:10167C0098F80300C0B201284FF0010008BF032006
:10168C008DF8500101D1062018E08DF84CA1BFE671
:10169C0000F024FC00F09AFCCDE9580158460221D8
:1016AC0000F0F0FA7849584600F018FB58468DF8CF
:1016BC0060A100F089FB8DF8589105208DF84C0144
:1016CC0005208DF8380100F09BFC9DF838012BE6C5
:1016DC00000649D003988DF854615390549098F8B3
:1016EC000100C0B210B1022867D095E000F0FCFBFD
:1016FC005FFA80F9B9F1000F51D0B9F1010F5CD04C
:10170C00B9F1020F74D15498006800680330C4F822
:10171C00F800514888F802A0C0F800A000F056FC70
:10172C00CDE958015846022100F0ACFA4C49584614
:10173C0000F0D4FA00994FF0030901988DF854A1E8
:10174C008DF85C6154915390CDE9550198F80200E5
:10175C0000F00300DFE800F06002101C05208DF89B
:10176C0048018DF85C916AE621688DF848A19DF8D6
:10177C00490180F0010064E688F802605598067013
:10178C003548D0F8F803569900F00100087001E0D4
:10179C0088F802608DF85CA19DF84A0198E700F08A
:1017AC009DFB00F013FCCDE958015846022100F0D6
:1017BC0069FA2C49584600F091FA04204FF00309BD
:1017CC008DF848018DF8549139E6FEDE00F062F890
:1017DC00FEDE00F0FBFB58ACCDE9580100212046A1
:1017EC0000F050FA2949204600F078FA28460DE01E
:1017FC0000F0ECFB58ACCDE958010021204600F07C
:10180C0041FA1949204600F069FA4846214600F091
:10181C0087FB00F0C1FBFEDE00F07EFAFEDEBFF3BC
:10182C002F8F00F0D3FB07ACCDE907010021204638
:10183C0000F028FA0449204600F050FA00F0D9FBD9
:10184C00FEDE00BF08F003200D0000000C14004069
:10185C005F11000000110000081000400805005046
:10186C000F0000000E00000010000000C01100006E
:10187C0000120000F811000080E100E011000000EF
:10188C0012000000140000001300000015000000FE
:10189C0000F0B0BB80B56F4600F001F8FEDE80B5FD
:1018AC006F4600F08DFBFEDE80B56F461B481D4A6F
:1018BC00016841F0807101601948002141600168A4
:1018CC0011400131016018480121C0F81015016068
:1018DC0016488160016016481649091A21F0030167
:1018EC0000F0CFFC14481549091A21F003021449E1
:1018FC0000F027FC00F080FB12484FF48A51124C88
:10190C00124D01600161AC4202D201CC8047FAE772
:10191C00FFF7BEFFFFF7A4FCFEDE00BFFCED00E00E
:10192C00001000E0FEFFFF000800004000B0004087
:10193C0000F0032010F0032010F0032010F003201F
:10194C00A02200000805005094220000A0220000F4
:10195C0000F0F6B9F0B503AF2DE9C00B00F036FB83
:10196C006C46CDE900012046042100F08BF9794941
:10197C00204600F0B3F9784A906B000605D00020A1
:10198C009063D2F80402400406D41068000607D015
:10199C004FF0040810461BE091464FF002081AE085
:1019AC00104650F8481F090602D04FF000080FE00F
:1019BC00104650F80C1F090602D04FF0010807E042
:1019CC00104650F86C1F090600F0C0804FF0030859
:1019DC0091460021016000F0F9FA6E460446CDE90B
:1019EC0000010D463046032100F04CF95B493046AE
:1019FC0000F074F928880C22411C6FF31F3022541C
:101A0C0030462980564900F069F9DFE808F0037286
:101A1C002B482100DDE9000100250A88531C6FF3D7
:101A2C001F3285540B8000F0D1FA6C46CDE90001D1
:101A3C002046022100F026F94E49204600F04EF9CE
:101A4C004FF000600421C9F808024648457061E077
:101A5C00DDE9000104240A88531C6FF31F328454FF
:101A6C000B8070E0DDE9000102240A883D4D531C17
:101A7C006FF31F3284540B806878000666D100F037
:101A8C00A5FA6C46CDE900012046022100F0FAF8D7
:101A9C003649204600F022F90120687053E0DDE958
:101AAC000012032013885C1C6FF31F33C8542D499C
:101ABC0014804A78D2B2022A48D14FF48042C9F835
:101ACC000422D9F8002122F48012C9F800214FF029
:101ADC000062C9F8082200224A70C87000F076FA39
:101AEC006C46CDE900012046022100F0CBF81E49DE
:101AFC0026E0DDE9000101240A88531C6FF31F3234
:101B0C00845418480B804178C9B2012904D00229A9
:101B1C001CD10221C17016E08178C9B2012915D1FE
:101B2C000021C9F86C1041700221817000F04EFA4E
:101B3C006C46CDE900012046022100F0A3F80C49C7
:101B4C00204600F0CBF8BDE80C0BF0BD00F0E4F83B
:101B5C00FEDE00BF02000000001100400300000088
:101B6C000800000008F0032007000000050000003A
:101B7C000600000004000000DCB504AF00F026FAFB
:101B8C006C46CDE900012046042100F07BF80449A5
:101B9C00204600F0A3F8034800210160DCBD00BF23
:101BAC000100000018310040DCB504AF2F4801687B
:101BBC00C90741D1C16BC90722D000212F4CC16389
:101BCC002D490A88931C013204EA03332C4C236000
:101BDC000A8091B20C22B1FBF2F202EB4202A1EBB1
:101BEC00820103290CD8DFE801F002070207214922
:101BFC004FF480724A6003E01E494FF480720A6011
:101C0C00016CC9071FBF002101644FF40031C0F8FB
:101C1C000412416CC9071FBF002141644FF480219D
:101C2C00C0F80412816CC9071FBF002181644FF4F6
:101C3C000021C0F80412DCBD00F0C8F96C46CDE9F7
:101C4C0000012046002100F01DF80949204600F053
:101C5C0045F808484FF480510160402101604FF471
:101C6C008071416000F0C5F9FEDE00BF04B1004098
:101C7C00000000000805005000F0032000F0FF00F9
:101C8C0040B50040F0B503AF4DF804BD124A1268E0
:101C9C00D0E90034258892096E1C6FF31F35595515
:101CAC0000232680D0E900100488661C42F08005D1
:101CBC006FF31F34B3EBD21F08BF02F07F05B3EBF9
:101CCC00D21F0D554FEAD21534462A460680ECD168
:101CDC005DF804BBF0BD00BF041000E0F0B503AF2D
:101CEC004DF804BD8AB27F2A0AD3D0E9003441F002
:101CFC00800125886E1C6FF31F355955D10926803C
:101D0C00D0E9002003885C1C6FF31F33D15404808E
:101D1C005DF804BBF0BDD4D4E0B502AF00F056F9C9
:101D2C006C46CDE9000120460021FFF7ABFF0349CB
:101D3C002046FFF7D3FF00F05CF9FEDE090000003F
:101D4C00DCB504AF00F042F96C46CDE90001204649
:101D5C000421FFF797FF0D492046FFF7BFFF0C4802
:101D6C000168090611D00021016000F02FF96C46C2
:101D7C00CDE9000120460221FFF784FF05492046EA
:101D8C00FFF7ACFF044801210170DCBD0A00000024
:101D9C00000100400B00000006F0032007484FF440
:101DAC00803101604FF48051C0F83C124FF48071C7
:101DBC0003480160034800F007B800BF04B30040BB
:101DCC000C05005009120000D0B502AF002201230F
:101DDC000021012A05D0845C013203FA04F421436A
:101DEC00F7E709B101480160D0BD00BF00E100E098
:101DFC00F0B503AF4DF804BD1E4C1F4D264604F53F
:101E0C00C670864212D06868014655E8010F8842B8
:101E1C0004D145E80162002AF6D102E0BFF32F8F0E
:101E2C00F2E746F8841B00F0E9F8E8E713480F21C5
:101E3C000123416008210160114981608121C16049
:101E4C0010490A6863F302020A6040F202214FF45F
:101E5C00822281620C49C162002101630B4942500C
:101E6C000B490C4A42500C485DF804BBBDE8F040ED
:101E7C00FFF7AABF00C0032008F003200C15004098
:101E8C00080000066C16004021100100F4FCFFFF56
:101E9C00F8FDFFFF094004080A120000BCB504AFAE
:101EAC004FF080400125056000F090F86C46CDE9BC
:101EBC00000120460221FFF7E5FE05492046FFF709
:101ECC000DFF044805600448BDE8BC40FFF77CBF2B
:101EDC000C000000040300400B120000014801211B
:101EEC000160704704100040BCB504AF0A48046898
:101EFC0000F06CF86D46CDE9000128460321FFF790
:101F0C00C1FE06492846FFF7E9FE2046294600F0A7
:101F1C0007F8204602B0B0BD501500401700000075
:101F2C00F0B503AF4DF804BD0C460546D1E90001F0
:101F3C000C260A88531C6FF31F32865420460B80E4
:101F4C001449FFF7CBFE05F00F010820DFE801F084
:101F5C00070D0F091521212121110B13160000204B
:101F6C000CE003200AE0062008E0012006E0022035
:101F7C0004E0052002E0072000E00420D4E9001270
:101F8C0013885C1C6FF31F33C85414805DF804BBBA
:101F9C00F0BDFEDE16000000E0B502AF00F016F852
:101FAC006C46CDE9000120460021FFF76BFE03498A
:101FBC002046FFF793FE00F01CF8FEDE1800000030
:101FCC0080B56F4600F015F8FEDED4D406490548FE
:101FDC000968C9B20029054918BF00F5805018BF1F
:101FEC000231704700D0032004ED00E002F0032022
:101FFC00FFBEAABE62B6704772B6704740BF70474C
:10200C0020BF7047F0B503AF4DF8048DA2B3531E3B
:10201C0002F0030C032B14D20022BCF1000F2BD0C6
:10202C008B5CBCF1010F835426D0531CBCF1020F06
:10203C00CE5CC65420D00232895C81545DF8048B8E
:10204C00F0BDACEB020E01F10108441C6FF0030271
:10205C0008EB0206A5180432F378EB7033792B7178
:10206C0073796B71B379AB710EEB02030433EFD15F
:10207C000432BCF1000FD3D15DF8048BF0BDD0B5A8
:10208C0002AF12B3531E02F0030C032B01D2002239
:10209C000FE0ACEB020E421C6FF00303D4180433B8
:1020AC00A17161712171E1700EEB03040434F5D15F
:1020BC001A1DBCF1000F1ABF8154BCF1010FD0BD29
:1020CC000244BCF1020F517000D1D0BD9170D0BD53
:1020DC00F0B503AF2DE9000B4AB3A2F1010EC2F12A
:1020EC00000C0023CC5CC55CA54224D19E451ED0BF
:1020FC0001EB030800EB030998F8014099F8015033
:10210C00A54218D10CEB0306B41C10D098F8024071
:10211C0099F80250A5420ED1F41C08D098F803404F
:10212C0099F80350A54206D104339A42DAD1002023
:10213C00BDE8000BF0BD281BBDE8000BF0BDFFF7A0
:10214C0061BF042A38BFFFF7FABFB0B502AFA2F1E6
:10215C00040C012303EB9C0313F003030ED08E46F7
:10216C0004465EF8045B012B44F8045B1FD1634604
:10217C0020467146BCF10C0F04D212E01346BCF1A0
:10218C000C0F0ED30D68103B0560032B4D6845609A
:10219C008D688560CD6801F11001C56000F11000FB
:1021AC00F0D802F00302BDE8B040FFF7C8BF4D689D
:1021BC00022B456007D1A2F1080308310830BCF1AD
:1021CC000C0FDFD2EDE78B680C318360A2F10C03AE
:1021DC000C30BCF10C0FD5D2E3E70B4611461A4676
:1021EC00FFF74DBF1346D2B2042938BFFFF7F5BF36
:1021FC00D0B502AFA1F1040E42EA0363012443EA15
:10220C00024304EB9E0443EA022314F0030410D0AF
:10221C008446012C4CF8043B10D174466046BEF148
:10222C000C0F1ED201F00301BDE8D0406046FFF751
:10223C00D4BF0C46BEF10C0F13D2F3E7022C436053
:10224C0007D10830A1F108048446BEF10C0F08D266
:10225C00E8E783600C30A1F10C048446BEF10C0F4E
:10226C00E0D3C0E90033103CC0E902331030032C3A
:10227C00F7D8844601F00301BDE8D0406046FFF773
:08228C00ACBF0022FFF7AEBF5A
:0C229400A91E0000FD1D0000A91D000097
:04000003000018B52C
:00000001FF

View file

@ -58,3 +58,4 @@
- [Rust analyzer is not working](./troubleshoot-rust-analyzer.md)
- [`cargo-build` fails to link](./troubleshoot-cargo-build.md)
- [`dongle-flash` is not working](./troubleshoot-dongle-flash.md)
- [Dongle USB functionality is not working](./troubleshoot-usb-dongle.md)

View file

@ -79,6 +79,12 @@ deviceid=588c06af0877c8f2 channel=20 TxPower=+8dBm app=loopback.hex
This line is printed by the `loopback` app on boot. It contains the device ID of the dongle, a 64-bit unique identifier (so everyone will see a different number); the radio channel that the device will use to communicate; and the transmission power of the radio in dBm.
If you don't get any output from `serial-term` check [the USB dongle troubleshooting section][usb-issues].
[usb-issues]: /troubleshoot-usb-dongle.html
## Interference
At this point you should *not* get more output from `serial-term`.
❗If you get "received N bytes" lines in output like this:

View file

@ -48,7 +48,7 @@ We will not need to deal with endpoint descriptors in this workshop but they are
So how should we respond to the host? As our only goal is to be enumerated we'll respond with the minimum amount of information possible.
**First, check the request:**
Configuration descriptors are requested by *index*, not by their configuration value. Since we reported a single configuration in our device descriptor the index in the request must be zero. Any other value should be rejected by stalling the endpoint (see section [Dealing with unknown requests: Stalling the endpoint](#dealing-with-unknown-requests-stalling-the-endpoint) for more information).
Configuration descriptors are requested by *index*, not by their configuration value. Since we reported a single configuration in our device descriptor the index in the request must be zero. Any other value should be rejected by stalling the endpoint (see section [Dealing with unknown requests: Stalling the endpoint](./unknown-requests.md#dealing-with-unknown-requests-stalling-the-endpoint) for more information).
**Next, create and send a response:**
The response should consist of the configuration descriptor, followed by interface descriptors and then by (optional) endpoint descriptors. We'll include a minimal single interface descriptor in the response. Since endpoints are optional we will include none.

View file

@ -108,5 +108,8 @@ $ ls /dev/tty.usbmodem*
The board has several switches to configure its behavior. The out of the box configuration is the one we want. If the above instructions didn't work for you, check the position of the on-board switches:
- Switch SW8, located on the bottom edge left corner, is set to the ON position; this is the left position of the two possible positions.
- Switch SW9, located on the surface of the board, to the right of USB connector (J2), is set to the VDD position; this is the center position of the three possible positions.
- Switch SW6, on the top edge right corner, is set to the DEFAULT position; this is the right position of the two possible positions (nRF = DEFAULT). Note that this switch is protected by Kapton tape.
- Switch SW7, which is slightly up and to the right of the center of the board, is set to the Def. position; this is the right position of the two possible positions (TRACE = Def.)
- Switch SW8, on the bottom edge left corner, is set to the ON position; this is the left position of the two possible positions (Power = ON)
- Switch SW9, to the right the left edge USB connector (J2), is set to the VDD position; this is the center position of the three possible positions (nRF power source = VDD)
- Switch SW10, on the bottom edge right corner and to the right of the SW6 switch, is set to the OFF position; this is the left position of the two possible positions (VEXT -> nRF = OFF). Note that this switch is protected by Kapton tape.

View file

@ -55,7 +55,7 @@ You can find traces for other OSes in these files (they are in the `advanced` fo
- `macos-enumeration.txt`
- `win-enumeration.txt`
At this point you can double check that the enumeration works by running the [`usb-list` tool](#listing-usb-devices) while `usb-4.rs` is running.
At this point you can double check that the enumeration works by running the [`usb-list` tool](./listing-usb-devices.md) while `usb-4.rs` is running.
``` console
Bus 001 Device 013: ID 1366:1015 <- J-Link on the nRF52840 Development Kit

View file

@ -7,6 +7,8 @@ Your task in this section is to decrypt the [substitution cipher] encrypted *ASC
✅ Flash the `puzzle.hex` program on the Dongle. Follow the instructions from the "nRF52840 Dongle" section but flash the `puzzle.hex` program instead of the `loopback.hex` one -- don't forget to put the Dongle in bootloader mode before invoking `dongle-flash`.
> Note: If you experienced USB issues with `loopback.hex` you use the `puzzle-nousb*.hex` variants.
Like in the previous sections the Dongle will listen for radio packets -- this time over *channel 25* -- while also logging messages over a USB/serial interface.
✅ Open the `beginner/apps` folder in VS Code; then open the `src/bin/radio-puzzle.rs` file. Run the program.

View file

@ -2,8 +2,8 @@
After responding to the `GET_DESCRIPTOR Device` request the host will start sending different requests. The parser in `common/usb` will need to be updated to handle these requests:
1. `GET_DESCRIPTOR Configuration`, see section [Handling GET_DESCRIPTOR Configuration Requests](#handling-get_descriptor-configuration-requests)
2. `SET_CONFIGURATION`, see section [SET_CONFIGURATION](#set_configuration) of this course material
1. `GET_DESCRIPTOR Configuration`, see the section on [Handling GET_DESCRIPTOR Configuration Requests](./get-descriptor-config.md#handling-get_descriptor-configuration-requests)
2. `SET_CONFIGURATION`, see the section on [SET_CONFIGURATION](./getting-device-configured.md#set_configuration) of this course material
The starter `common/usb` code contains unit tests for these other requests as well as extra `Request` variants for these requests. All of them have been commented out using a `#[cfg(TODO)]` attribute which you can remove once you need any new variant or new unit test.

View file

@ -0,0 +1,29 @@
# Dongle USB functionality is not working
> NOTE: this section only applies to the Beginner workshop
If you don't get any output from `serial-term` it could just have been that first line got lost when re-enumerating the device from bootloader mode to the loopback application. Run these *two* commands:
``` console
$ change-channel 20
requested channel change to channel 20
$ change-channel 20
requested channel change to channel 20
```
You should get *two* lines of output in `serial-term`
``` console
$ serial-term
now listening on channel 20
now listening on channel 20
```
If that's the case you are good to go, return to the ["Interference"] section.
["Interference"]: /dongle.html#interference
If you only get one line of output then your OS may be losing some serial data -- we have seen this behavior on some macOS machines. You will still be able to work through the exercises but will miss log data every now and then. Return to the ["Interference"] section.
If you don't get *any* output from `serial-term` and/or the `change-channel` command fails then the Dongle's USB functionality is not working correctly. In this case you should flash one of the `loopback-nousb*` programs (repeat the procedure: put the device in bootloader mode; then run `dongle-flash`). These programs have no USB functionality but you will be able to use them to do the exercises. There are four `.hex` files available; pick one of them and flash it but take note of the number in the file name; this is the radio channel the Dongle will listen to. The Dongle will toggle the state of its green LED when it receives a packet. Return to the ["Interference"] section.

View file

@ -8,6 +8,6 @@ Start tracking and updating the device state to move your request handling forwa
1. **Update the handling of the `USBRESET` event:** Instead of ignoring it, we now want it to change the state of the USB device. See section 9.1 USB Device States of the USB specification for details on what to do.
2. **Update the handling of `SET_ADDRESS` requests:** See the section on [Handling SET_ADDRESS Requests](#handling-set_address-requests) of this tutorial for details.
2. **Update the handling of `SET_ADDRESS` requests:** See the section on [Handling SET_ADDRESS Requests](./set-address.md#handling-set_address-requests) of this tutorial for details.
3. **Implement the handling of `GET_DESCRIPTOR Configuration` requests:** See the section on [Handling GET_DESCRIPTOR Configuration Requests](#handling-get_descriptor-configuration-requests) of this tutorial for details.
3. **Implement the handling of `GET_DESCRIPTOR Configuration` requests:** See the section on [Handling GET_DESCRIPTOR Configuration Requests](./get-descriptor-config.md#handling-get_descriptor-configuration-requests) of this tutorial for details.