This commit is contained in:
brett 2024-04-25 00:09:09 -05:00
parent 2bd45f076e
commit 4976af6a84
12 changed files with 3462 additions and 3203 deletions

Binary file not shown.

View File

@ -1,7 +1,7 @@
:100000000C9466000C9483000C9483000C94830081
:100010000C9483000C9483000C9483000C94830054
:100020000C9483000C9483000C9483000C94830044
:100030000C9483000C94F5040C9483000C948300BE
:100030000C9483000C9483000C9483000C94830034
:100040000C9483000C9483000C9483000C94830024
:100050000C9483000C9483000C9483000C94830014
:100060000C9483000C9483000C9483000C94830004
@ -11,10 +11,10 @@
:1000A0000C9483000C9483000C9483000C948300C4
:1000B0000C9483000C9483000C9483000C948300B4
:1000C0000C9483000C9483000C94830011241FBEB5
:1000D000CFEFD8E0DEBFCDBF11E0A0E0B1E0ECE1B2
:1000E000F5E102C005900D92A83DB107D9F721E0D6
:1000F000A8EDB1E001C01D92AA3DB207E1F70E9450
:10010000A1020C948C0A0C940000CF93DF93CDB71E
:1000D000CFEFD8E0DEBFCDBF11E0A0E0B1E0EEEDA4
:1000E000F5E102C005900D92A23BB107D9F721E0DE
:1000F000A2EBB1E001C01D92A43BB207E1F70E9460
:10010000B2030C94ED0A0C940000CF93DF93CDB7AB
:10011000DEB780E890E0FC01108281E890E028E002
:10012000FC01208384E890E0FC0111821082000031
:10013000DF91CF910895CF93DF93CDB7DEB784E8F9
@ -47,307 +47,317 @@
:1002E00080810E94280189819A8101969A8389835D
:1002F00089819A812B813C81820F931FFC0180812F
:10030000882339F700000F900F900F900F90DF9126
:10031000CF910895CF93DF93CDB7DEB78CE290E015
:10032000FC018081882F90E080749927892B11F43B
:1003300084E006C080E290E0FC0180818095837FAC
:10034000DF91CF910895CF93DF93CDB7DEB7639759
:100350000FB6F894DEBF0FBECDBF898B7B8B6A8B47
:100360001A8219828989882F90E084709927892BB5
:1003700011F080E289838989837F8A838BE290E010
:100380002BE230E0F90130812A812327FC01208310
:100390008EE290E02EE230E0F901308129812327BE
:1003A000FC01208320E030E040E85EE364EA70ED89
:1003B00084EA93E40E9425064A895B8928EE33E0AB
:1003C000429FC001439F900D529F900D1124CC017C
:1003D000A0E0B0E0BC01CD010E944008DC01CB01EF
:1003E0008B839C83AD83BE8320E030E04AE755E4F5
:1003F0006B817C818D819E810E943809DC01CB015B
:100400008F839887A987BA8720E030E040E85FE3D0
:100410006F81788589859A850E94930788232CF4BB
:1004200081E090E09C878B873FC020E03FEF4FE763
:1004300057E46F81788589859A850E94330918165B
:100440004CF520E030E040E251E46B817C818D810D
:100450009E810E943809DC01CB01BC01CD010E94C4
:100460001108DC01CB019C878B870FC080E991E0EC
:100470009E878D878D859E850197F1F79E878D8755
:100480008B859C8501979C878B878B859C85892B89
:1004900069F714C06F81788589859A850E94110853
:1004A000DC01CB019C878B878B859C85988B8F8704
:1004B0008F8598890197F1F7988B8F878BE290E071
:1004C0002BE230E0F90130812A812327FC012083CF
:1004D0008EE290E02EE230E0F9013081298123277D
:1004E000FC012083000063960FB6F894DEBF0FBEB8
:1004F000CDBFDF91CF910895CF93DF93CDB7DEB716
:1005000081E290E0FC01108282E290E02FEFFC019A
:1005100020838AE290E02FEFFC0120838BE290E0C1
:100520002FEFFC0120838DE290E020E3FC0120838B
:100530008EE290E02FEFFC0120830000DF91CF914D
:1005400008958F929F92AF92BF92CF92DF92EF92D7
:10055000FF92CF93DF93CDB7DEB7E3970FB6F89452
:10056000DEBF0FBECDBFF8940E9485000E947C02C2
:100570000E94FF001A82198280E191E00E945E01D0
:1005800007C00E944C01882F90E0C0979A8389830E
:1005900089819A810497ACF789819A811816190686
:1005A00084F716C289819A8182309105D9F083300F
:1005B000910569F1019709F03FC083E090E09E83C7
:1005C0008D8383E090E09C838B8385E090E0988727
:1005D0008F8383E090E09A87898785E090E09C870D
:1005E0008B872AC084E090E09E838D8382E090E038
:1005F0009C838B8387E090E098878F8383E090E0F3
:100600009A8789878AE090E09C878B8715C085E070
:1006100090E09E838D8381E090E09C838B838AE0D1
:1006200090E098878F8385E090E09A8789878FE0B4
:1006300090E09C878B8700001E861D86188A1F8687
:100640001A8A198A7FC189859A85092E000CAA0BFE
:10065000BB0BBC01CD010E9442086B017C012B85C4
:100660003C8589859A85A901481B590BCA01092E29
:10067000000CAA0BBB0BBC01CD010E9442084B0130
:100680005C018D819E810197092E000CAA0BBB0B8A
:10069000BC01CD010E944208DC01CB019C01AD01EF
:1006A000C501B4010E949807DC01CB014C015D013A
:1006B00089899A89092E000CAA0BBB0BBC01CD01BC
:1006C0000E944208DC01CB019C01AD01C501B401CF
:1006D0000E943809DC01CB01BC01CD010E947C07DE
:1006E000DC01CB019C01AD01C701B6010E941007DE
:1006F000DC01CB01BC01CD010E940A08DC01CB0169
:100700009B8F8A8F1C8A1B8A37C00E94190A27E098
:1007100030E0B9010E94A5098D8B8D89833011F4D9
:1007200087E08D8B8D89282F30E081E090E002C03A
:10073000880F991F2A95E2F78C8F8AE00E94280182
:100740008D89805D0E9428018AE00E9428019E0117
:10075000215D3F4F8B899C89820F931F2C8DFC015B
:1007600020838B819C81BC018C8D0E94A3018B898D
:100770009C8901969C8B8B8B2B893C898A8D9B8DC8
:100780002817390714F28F8198859093D9018093A7
:10079000D8010E949B00198E188EC7C086E691E092
:1007A0000E945E010E94EB008823C1F08091D80175
:1007B0009091D90101979093D9018093D8010E941B
:1007C000CB000E949B002DEC3CEC4CEC5DE364EA1A
:1007D00070ED82E893E40E94250606C00E948A011B
:1007E000882F90E09F8B8E8B8E899F89892B39F47F
:1007F0008091D8019091D901181619069CF280E0D9
:1008000090E0AAE7B3E489A39AA3ABA3BCA320E03A
:1008100030E04AE755E469A17AA18BA19CA10E942E
:100820003809DC01CB018DA39EA3AFA3B8A720E0BC
:1008300030E040E85FE36DA17EA18FA198A50E9402
:10084000930788232CF481E090E09AA789A73FC002
:1008500020E03FEF4FE757E46DA17EA18FA198A55F
:100860000E94330918164CF520E030E040E251E4D4
:1008700069A17AA18BA19CA10E943809DC01CB015E
:10088000BC01CD010E941108DC01CB019AA789A708
:100890000FC080E991E09CA78BA78BA59CA5019731
:1008A000F1F79CA78BA789A59AA501979AA789A775
:1008B00089A59AA5892B69F714C06DA17EA18FA186
:1008C00098A50E941108DC01CB019AA789A789A5E8
:1008D0009AA59EA78DA78DA59EA50197F1F79EA726
:1008E0008DA78D859E8501969E878D879E01215DB2
:1008F0003F4F888D998D820F931FFC018081282F97
:1009000030E08E899F892817390741F48F859889AF
:100910000196988B8F870E94310502C00E9447057F
:10092000888D998D0196998F888F288D398D8A8D24
:100930009B8D281739070CF431CF89899A89019644
:100940009A8B898B29893A898D819E81281739074D
:100950000CF479CE8F859889092E000CAA0BBB0B5D
:10096000BC01CD010E9442086B017C018D859E85F2
:10097000092E000CAA0BBB0BBC01CD010E94420842
:10098000DC01CB019C01AD01C701B6010E949807B3
:10099000DC01CB018D8F9E8FAF8FB8A32DEC3CEC8B
:1009A0004CE45FE36D8D7E8D8F8D98A10E9433099D
:1009B000882354F089819A8101969A83898380E8FB
:1009C00091E00E945E0104C00E940506000005C07F
:1009D00089819A8103970CF4E5CD89819A810397E7
:1009E0000CF4C8CD0E94E505C5CD1F920F92009072
:1009F0005F000F9211242F933F934F935F936F9358
:100A00007F938F939F93AF93BF93EF93FF93CF9376
:100A1000DF93CDB7DEB78091D8019091D9019C01C9
:100A2000215031093093D9012093D80118161906A5
:100A30001CF00E942506FDCF0000DF91CF91FF91B1
:100A4000EF91BF91AF919F918F917F916F915F9146
:100A50004F913F912F910F9000925F000F901F9048
:100A60001895CF93DF93CDB7DEB78DE891E00E9464
:100A70005E012DEC3CEC4CEC5DE360E070E08CED55
:100A800093E40E9425060000DF91CF910895CF9353
:100A9000DF93CDB7DEB72E970FB6F894DEBF0FBE4B
:100AA000CDBF88E991E00E945E012DEC3CEC4CE466
:100AB0005EE36CE57FEC82E893E40E94250680E02B
:100AC00090E0A8ECB1E489839A83AB83BC8320E0F7
:100AD00030E04AE755E469817A818B819C810E94EC
:100AE0003809DC01CB018D839E83AF83B88720E07A
:100AF00030E040E85FE36D817E818F8198850E94C0
:100B0000930788232CF481E090E09A8789873FC07F
:100B100020E03FEF4FE757E46D817E818F8198851C
:100B20000E94330918164CF520E030E040E251E411
:100B300069817A818B819C810E943809DC01CB011B
:100B4000BC01CD010E941108DC01CB019A87898785
:100B50000FC080E991E09C878B878B859C850197EE
:100B6000F1F79C878B8789859A8501979A87898772
:100B700089859A85892B69F714C06D817E818F8163
:100B800098850E941108DC01CB019A8789878985A5
:100B90009A859E878D878D859E850197F1F79E8723
:100BA0008D872DEC3CEC4CE45EE36CE57FEC82E859
:100BB00093E40E94250600002E960FB6F894DEBF3F
:100BC0000FBECDBFDF91CF910895CF93DF93CDB707
:100BD000DEB78BEA91E00E945E0120E030E040E069
:100BE0005FE360E070E083E893E40E94250620E084
:100BF00030E040E05FE360E070E084EC93E40E946A
:100C000025060000DF91CF910895CF93DF93CDB7F4
:100C1000DEB780EC91E00E945E0120E030E040E031
:100C20005FE360E070E085EA93E40E94250620E03F
:100C300030E040E05FE360E070E083E993E40E942D
:100C400025060000DF91CF910895CF93DF93CDB7B4
:100C5000DEB76E970FB6F894DEBF0FBECDBF6F8BB9
:100C6000788F898F9A8F2B8F3C8F4D8F5E8F2F8936
:100C7000388D498D5A8D60E070E080E89FE30E94D6
:100C80009807DC01CB0120E030E040E050E4BC01FB
:100C9000CD010E949807DC01CB0120E030E04AE75B
:100CA00054E4BC01CD010E943809DC01CB018B83E7
:100CB0009C83AD83BE832F89388D498D5A8D60E02A
:100CC00070E080E89FE30E949807DC01CB019C0163
:100CD000AD016B8D7C8D8D8D9E8D0E949807DC0102
:100CE000CB01BC01CD010E940A08DC01CB01988731
:100CF0008F831A82198281C08B819C81AD81BE81D4
:100D000089879A87AB87BC8720E030E04AE755E4C3
:100D100069857A858B859C850E943809DC01CB0129
:100D20008D879E87AF87B88B20E030E040E85FE397
:100D30006D857E858F8598890E94930788232CF482
:100D400081E090E09A8B898B3FC020E03FEF4FE736
:100D500057E46D857E858F8598890E943309181622
:100D60004CF520E030E040E251E469857A858B85DE
:100D70009C850E943809DC01CB01BC01CD010E9499
:100D80001108DC01CB019A8B898B0FC080E991E0BF
:100D90009C8B8B8B8B899C890197F1F79C8B8B8B20
:100DA00089899A8901979A8B898B89899A89892B54
:100DB00069F714C06D857E858F8598890E9411081A
:100DC000DC01CB019A8B898B89899A899E8B8D8BCB
:100DD0008D899E890197F1F79E8B8D8B8EE290E035
:100DE0002EE230E0F901308120E12327FC0120834D
:100DF00089819A8101969A8389838F819885298137
:100E00003A812817390708F477CF00006E960FB69D
:100E1000F894DEBF0FBECDBFDF91CF91089550583B
:100E2000BB27AA270E9427070C94E1080E94D30839
:100E300038F00E94DA0820F039F49F3F19F426F4C4
:100E40000C94D0080EF4E095E7FB0C94A108E92F70
:100E50000E94F20858F3BA176207730784079507D0
:100E600020F079F4A6F50C942C090EF4E0950B2EE5
:100E7000BA2FA02D0B01B90190010C01CA01A001EC
:100E80001124FF27591B99F0593F50F4503E68F147
:100E90001A16F040A22F232F342F4427585FF3CF88
:100EA000469537952795A795F0405395C9F77EF459
:100EB0001F16BA0B620B730B840BBAF09150A1F0A2
:100EC000FF0FBB1F661F771F881FC2F70EC0BA0F28
:100ED000621F731F841F48F4879577956795B795B0
:100EE000F7959E3F08F0B0CF9395880F08F09927AB
:100EF000EE0F9795879508950E94140990F09F37FB
:100F000048F4911116F40C942D0960E070E080E82B
:100F10009FE3089526F01B16611D711D811D0C9421
:100F2000A7080C94C2080E947D0808F481E0089587
:100F30000E94AC070C94E1080E94DA0858F00E9465
:100F4000D30840F029F45F3F29F00C94A108511117
:100F50000C942D090C94D0080E94F20868F3992390
:100F6000B1F3552391F3951B550BBB27AA276217A5
:100F70007307840738F09F5F5F4F220F331F441FB2
:100F8000AA1FA9F335D00E2E3AF0E0E832D09150E6
:100F90005040E695001CCAF72BD0FE2F29D0660FD3
:100FA000771F881FBB1F261737074807AB07B0E816
:100FB00009F0BB0B802DBF01FF2793585F4F3AF01C
:100FC0009E3F510578F00C94A1080C942D095F3FC9
:100FD000E4F3983ED4F3869577956795B795F795A2
:100FE0009F5FC9F7880F911D9695879597F908958A
:100FF000E1E0660F771F881FBB1F62177307840726
:10100000BA0720F0621B730B840BBA0BEE1F88F734
:10101000E09508950E9411086894B1110C942D096F
:1010200008950E94FA0888F09F5798F0B92F9927E1
:10103000B751B0F0E1F0660F771F881F991F1AF0C3
:10104000BA95C9F714C0B13091F00E942C09B1E0F3
:1010500008950C942C09672F782F8827B85F39F0F2
:10106000B93FCCF3869577956795B395D9F73EF45C
:1010700090958095709561957F4F8F4F9F4F089504
:10108000E89409C097FB3EF4909580957095619522
:101090007F4F8F4F9F4F9923A9F0F92F96E9BB27D8
:1010A0009395F695879577956795B795F111F8CF54
:1010B000FAF4BB0F11F460FF1BC06F5F7F4F8F4FBF
:1010C0009F4F16C0882311F096E911C0772321F0B5
:1010D0009EE8872F762F05C0662371F096E8862F4D
:1010E00070E060E02AF09A95660F771F881FDAF7A4
:1010F000880F9695879597F90895990F0008550FD1
:10110000AA0BE0E8FEEF16161706E807F907C0F08D
:1011100012161306E407F50798F0621B730B840B95
:10112000950B39F40A2661F0232B242B252B21F46F
:1011300008950A2609F4A140A6958FEF811D811D0F
:10114000089597F99F6780E870E060E0089588232C
:1011500071F4772321F09850872B762F07C06623F0
:1011600011F499270DC09051862B70E060E02AF0B1
:101170009A95660F771F881FDAF7880F96958795DF
:1011800097F908959F3F31F0915020F48795779516
:101190006795B795880F911D9695879597F908954E
:1011A0009FEF80EC089500240A941616170618067F
:1011B0000906089500240A9412161306140605065B
:1011C0000895092E0394000C11F4882352F0BB0FEC
:1011D00040F4BF2B11F460FF04C06F5F7F4F8F4F4F
:1011E0009F4F089557FD9058440F551F59F05F3F8A
:1011F00071F04795880F97FB991F61F09F3F79F039
:1012000087950895121613061406551FF2CF4695BA
:10121000F1DF08C0161617061806991FF1CF86953C
:1012200071056105089408950E94FA08A0F0BEE7D0
:10123000B91788F4BB279F3860F41616B11D672FC5
:10124000782F8827985FF7CF869577956795B11D9A
:1012500093959639C8F30895E894BB2766277727B6
:10126000CB0197F908950E947D0808F48FEF089547
:101270000E944B090C94E1080E94D30838F00E94A8
:10128000DA0820F0952311F00C94A1080C94D008F2
:1012900011240C942D090E94F20870F3959FC1F35C
:1012A000950F50E0551F629FF001729FBB27F00D14
:1012B000B11D639FAA27F00DB11DAA1F649F662769
:1012C000B00DA11D661F829F2227B00DA11D621FB8
:1012D000739FB00DA11D621F839FA00D611D221F72
:1012E000749F3327A00D611D231F849F600D211D56
:1012F000822F762F6A2F11249F5750409AF0F1F0D9
:1013000088234AF0EE0FFF1FBB1F661F771F881F41
:1013100091505040A9F79E3F510580F00C94A108D0
:101320000C942D095F3FE4F3983ED4F386957795AE
:101330006795B795F795E7959F5FC1F7FE2B880FE7
:10134000911D9695879597F9089597FB072E16F4AA
:10135000009407D077FD09D00E94B90907FC05D099
:101360003EF4909581959F4F0895709561957F4FBC
:101370000895AA1BBB1B51E107C0AA1FBB1FA617DC
:10138000B70710F0A61BB70B881F991F5A95A9F72E
:1013900080959095BC01CD0108958F929F92AF9258
:1013A000BF92CF92DF92EF92FF92CF93DF93EC0147
:1013B000688179818A819B8161157105810591051B
:1013C00021F464E279ED8BE597E02DE133EF41E024
:1013D00050E00E94290A49015A019B01AC01A7EA89
:1013E000B1E40E94480A6B017C01ACEEB4EFA501A8
:1013F00094010E94560ADC01CB018C0D9D1DAE1D8F
:10140000BF1DB7FF03C00197A109B0488883998326
:10141000AA83BB839F77DF91CF91FF90EF90DF90FE
:10142000CF90BF90AF909F908F9008950E94CD096C
:10143000089580E091E00E94CD090895A0E0B0E019
:101440008093000190930101A0930201B0930301E6
:101450000895052E97FB1EF400940E94400A57FD44
:1014600007D00E945B0A07FC03D04EF40C94400A9C
:1014700050954095309521953F4F4F4F5F4F0895C0
:1014800090958095709561957F4F8F4F9F4F0895F0
:101490000E947D0AA59F900DB49F900DA49F800D82
:1014A000911D11240895B7FF0C94480A0E94480A20
:1014B000821B930B0895A1E21A2EAA1BBB1BFD01F0
:1014C0000DC0AA1FBB1FEE1FFF1FA217B307E40723
:1014D000F50720F0A21BB30BE40BF50B661F771F7B
:1014E000881F991F1A9469F760957095809590955B
:1014F0009B01AC01BD01CF010895A29FB001B39F34
:10150000C001A39F700D811D1124911DB29F700D0C
:0C151000811D1124911D0895F894FFCF57
:10151C000100000074696D657220746573740A00B3
:10152C0053494D4F4E2047414D450A456E746572E7
:10153C0020796F7572207374617274696E672064A0
:10154C006966666963756C7479206C6576656C3A4E
:10155C000A312E20456173790A322E204D6F646555
:10156C00726174650A332E2047697665206D65209B
:10157C007061696E2E000A676F7420656C656D650D
:10158C006E742C2077616974696E672E2E2E0A009A
:10159C000A6E657874206C6576656C0A000A436F78
:1015AC007272656374210A000A496E636F72726508
:1015BC0063742067756573732E0A000A596F752062
:1015CC0062656174207468652067616D65210A002D
:1015DC000A596F75206C6F6F73652C2074727920AB
:0815EC00616761696E3F0A00AE
:10031000CF910895CF93DF93CDB7DEB7A1970FB6F6
:10032000F894DEBF0FBECDBF80E090E0A8ECB2E451
:1003300089839A83AB83BC838CE290E0FC0180814B
:10034000882F90E080749927892B09F07FC00000E6
:100350008CE290E0FC018081882F90E080749927E6
:10036000892BB1F389819A81AB81BC818A879B8774
:10037000AC87BD8720E030E04AE755E46A857B859D
:100380008C859D850E949909DC01CB018E879F8712
:10039000A88BB98B20E030E040E85FE36E857F8575
:1003A000888999890E94F40788232CF481E090E0E1
:1003B0009B8B8A8B3FC020E03FEF4FE757E46E8571
:1003C0007F85888999890E94940918164CF520E048
:1003D00030E040E251E46A857B858C859D850E94F2
:1003E0009909DC01CB01BC01CD010E947208DC013E
:1003F000CB019B8B8A8B0FC080E991E09D8B8C8B0E
:100400008C899D890197F1F79D8B8C8B8A899B89BB
:1004100001979B8B8A8B8A899B89892B69F714C0EA
:100420006E857F85888999890E947208DC01CB01DD
:100430009B8B8A8B8A899B899F8B8E8B8E899F89C8
:100440000197F1F79F8B8E8B84E085C080E290E06E
:10045000FC0180818095837F89878985882309F4C1
:1004600079C0000080E290E0FC0180818F3FD1F7ED
:1004700089819A81AB81BC818D839E83AF83B8874C
:1004800020E030E04AE755E46D817E818F819885D8
:100490000E949909DC01CB01888F998FAA8FBB8FAD
:1004A00020E030E040E85FE3688D798D8A8D9B8D98
:1004B0000E94F40788232CF481E090E09D8F8C8FBC
:1004C0003FC020E03FEF4FE757E4688D798D8A8D7C
:1004D0009B8D0E94940918164CF520E030E040E214
:1004E00051E46D817E818F8198850E949909DC019C
:1004F000CB01BC01CD010E947208DC01CB019D8FB4
:100500008C8F0FC080E991E09F8F8E8F8E8D9F8D95
:100510000197F1F79F8F8E8F8C8D9D8D01979D8F09
:100520008C8F8C8D9D8D892B69F714C0688D798D8A
:100530008A8D9B8D0E947208DC01CB019D8F8C8F70
:100540008C8D9D8D99A388A388A199A10197F1F71E
:1005500099A388A38985A1960FB6F894DEBF0FBE34
:10056000CDBFDF91CF910895CF93DF93CDB7DEB7A5
:1005700063970FB6F894DEBF0FBECDBF898B7B8B20
:100580006A8B1A8219828989882F90E08470992752
:10059000892B11F080E289838989837F8A838BE2AA
:1005A00090E02BE230E0F90130812A812327FC0121
:1005B00020838EE290E02EE230E0F9013081298143
:1005C0002327FC01208320E030E040E85EE364EA7A
:1005D00070ED84EA93E40E9486064A895B8928EEDE
:1005E00033E0429FC001439F900D529F900D112414
:1005F000CC01A0E0B0E0BC01CD010E94A108DC016B
:10060000CB018B839C83AD83BE8320E030E04AE73F
:1006100055E46B817C818D819E810E949909DC016A
:10062000CB018F839887A987BA8720E030E040E824
:100630005FE36F81788589859A850E94F407882316
:100640002CF481E090E09C878B873FC020E03FEF57
:100650004FE757E46F81788589859A850E949409D0
:1006600018164CF520E030E040E251E46B817C81CB
:100670008D819E810E949909DC01CB01BC01CD01D5
:100680000E947208DC01CB019C878B870FC080E938
:1006900091E09E878D878D859E850197F1F79E87D6
:1006A0008D878B859C8501979C878B878B859C8507
:1006B000892B69F714C06F81788589859A850E9496
:1006C0007208DC01CB019C878B878B859C85988B7E
:1006D0008F878F8598890197F1F7988B8F878BE2A9
:1006E00090E02BE230E0F90130812A812327FC01E0
:1006F00020838EE290E02EE230E0F9013081298102
:100700002327FC012083000063960FB6F894DEBF18
:100710000FBECDBFDF91CF910895CF93DF93CDB7BB
:10072000DEB781E290E0FC01108282E290E02FEFE0
:10073000FC0120838AE290E02FEFFC0120838BE212
:1007400090E02FEFFC0120838DE290E020E3FC019C
:1007500020838EE290E02FEFFC0120830000DF91E8
:10076000CF9108958F929F92AF92BF92CF92DF92D6
:10077000EF92FF92CF93DF93CDB7DEB7A5970FB679
:10078000F894DEBF0FBECDBFF8940E9485000E9492
:100790008D030E94FF001A82198284E091E00E947A
:1007A0005E0107C00E944C01882F90E0C0979A8399
:1007B000898389819A810497ACF789819A81181677
:1007C000190684F7A2C189819A8182309105D9F0F6
:1007D0008330910569F1019709F03FC083E090E013
:1007E0009E838D8383E090E09C838B8385E090E003
:1007F00098878F8383E090E09A87898785E090E0EF
:100800009C878B872AC084E090E09E838D8382E062
:1008100090E09C838B8387E090E098878F8383E0D0
:1008200090E09A8789878AE090E09C878B8715C043
:1008300085E090E09E838D8381E090E09C838B83B4
:100840008AE090E098878F8385E090E09A87898797
:100850008FE090E09C878B8700001E861D86188A9B
:100860001F861A8A198A0BC189859A85092E000C60
:10087000AA0BBB0BBC01CD010E94A3086B017C013C
:100880002B853C8589859A85A901481B590BCA018E
:10089000092E000CAA0BBB0BBC01CD010E94A308C2
:1008A0004B015C018D819E810197092E000CAA0BE2
:1008B000BB0BBC01CD010E94A308DC01CB019C0154
:1008C000AD01C501B4010E94F907DC01CB014C0167
:1008D0005D0189899A89092E000CAA0BBB0BBC010A
:1008E000CD010E94A308DC01CB019C01AD01C50133
:1008F000B4010E949909DC01CB01BC01CD010E9429
:10090000DD07DC01CB019C01AD01C701B6010E94EE
:100910007107DC01CB01BC01CD010E946B08DC0139
:10092000CB019B8F8A8F1C8A1B8A37C00E947A0A50
:1009300027E030E0B9010E94060A8D8B8D89833053
:1009400011F487E08D8B8D89282F30E081E090E0D5
:1009500002C0880F991F2A95E2F78C8F8AE00E94C7
:1009600028018D89805D0E9428018AE00E9428016B
:100970009E012F5D3F4F8B899C89820F931F2C8D89
:10098000FC0120838B819C81BC018C8D0E94B40270
:100990008B899C8901969C8B8B8B2B893C898A8DBA
:1009A0009B8D2817390714F28F8198859093B30196
:1009B0008093B2010E949B00198E188E53C01F8A2B
:1009C0001E8A0E94EB008823C1F08091B2019091B1
:1009D000B30101979093B3018093B2010E94CB00C1
:1009E0000E949B002DEC3CEC4CEC5DE364EA70ED66
:1009F00082E893E40E94860606C00E948A01882F3E
:100A000090E09F8B8E8B8E899F89892B39F4809102
:100A1000B2019091B301181619069CF28D859E853E
:100A200001969E878D879E012F5D3F4F888D998D02
:100A3000820F931FFC018081282F30E08E899F89CF
:100A40002817390741F48F8598890196988B8F87ED
:100A50000E94920502C00E94A805888D998D01967A
:100A6000998F888F288D398D8A8D9B8D281739070E
:100A70000CF4A5CF89899A8901969A8B898B29894B
:100A80003A898D819E81281739070CF4EDCE8F8528
:100A90009889092E000CAA0BBB0BBC01CD010E944A
:100AA000A3086B017C018D859E85092E000CAA0B85
:100AB000BB0BBC01CD010E94A308DC01CB019C0152
:100AC000AD01C701B6010E94F907DC01CB018D8F92
:100AD0009E8FAF8FB8A32DEC3CEC4CE45FE36D8DA3
:100AE0007E8D8F8D98A10E949409882354F089816E
:100AF0009A8101969A8389838AE591E00E945E013A
:100B000004C00E946606000005C089819A8103978F
:100B10000CF459CE89819A8103970CF43CCE0E9443
:100B2000460639CECF93DF93CDB7DEB787E691E0A7
:100B30000E945E012DEC3CEC4CEC5DE360E070E06B
:100B40008CED93E40E9486060000DF91CF9108951A
:100B5000CF93DF93CDB7DEB72E970FB6F894DEBFF5
:100B60000FBECDBF82E791E00E945E012DEC3CEC10
:100B70004CE45EE36CE57FEC82E893E40E94860639
:100B800080E090E0A8ECB1E489839A83AB83BC83D6
:100B900020E030E04AE755E469817A818B819C81CD
:100BA0000E949909DC01CB018D839E83AF83B887B6
:100BB00020E030E040E85FE36D817E818F819885A1
:100BC0000E94F40788232CF481E090E09A878987BB
:100BD0003FC020E03FEF4FE757E46D817E818F817A
:100BE00098850E94940918164CF520E030E040E208
:100BF00051E469817A818B819C810E949909DC0191
:100C0000CB01BC01CD010E947208DC01CB019A87A7
:100C100089870FC080E991E09C878B878B859C85B5
:100C20000197F1F79C878B8789859A8501979A8729
:100C3000898789859A85892B69F714C06D817E81A2
:100C40008F8198850E947208DC01CB019A87898781
:100C500089859A859E878D878D859E850197F1F779
:100C60009E878D872DEC3CEC4CE45EE36CE57FECDD
:100C700082E893E40E94860600002E960FB6F89450
:100C8000DEBF0FBECDBFDF91CF910895CF93DF932D
:100C9000CDB7DEB785E891E00E945E0120E030E04C
:100CA00040E05FE360E070E083E893E40E94860642
:100CB00020E030E040E05FE360E070E084EC93E44B
:100CC0000E9486060000DF91CF910895CF93DF93B5
:100CD000CDB7DEB78AE991E00E945E0120E030E006
:100CE00040E05FE360E070E085EA93E40E948606FE
:100CF00020E030E040E05FE360E070E083E993E40F
:100D00000E9486060000DF91CF910895CF93DF9374
:100D1000CDB7DEB76E970FB6F894DEBF0FBECDBF6E
:100D20006F8B788F898F9A8F2B8F3C8F4D8F5E8F33
:100D30002F89388D498D5A8D60E070E080E89FE3FF
:100D40000E94F907DC01CB0120E030E040E050E4F4
:100D5000BC01CD010E94F907DC01CB0120E030E0AD
:100D60004AE754E4BC01CD010E949909DC01CB01A2
:100D70008B839C83AD83BE832F89388D498D5A8D9B
:100D800060E070E080E89FE30E94F907DC01CB019E
:100D90009C01AD016B8D7C8D8D8D9E8D0E94F90720
:100DA000DC01CB01BC01CD010E946B08DC01CB0151
:100DB00098878F831A82198281C08B819C81AD8133
:100DC000BE8189879A87AB87BC8720E030E04AE7FD
:100DD00055E469857A858B859C850E949909DC019B
:100DE000CB018D879E87AF87B88B20E030E040E84D
:100DF0005FE36D857E858F8598890E94F40788233F
:100E00002CF481E090E09A8B898B3FC020E03FEF8B
:100E10004FE757E46D857E858F8598890E949409F8
:100E200018164CF520E030E040E251E469857A85FF
:100E30008B859C850E949909DC01CB01BC01CD0109
:100E40000E947208DC01CB019A8B898B0FC080E96C
:100E500091E09C8B8B8B8B899C890197F1F79C8B04
:100E60008B8B89899A8901979A8B898B89899A8931
:100E7000892B69F714C06D857E858F8598890E94BE
:100E80007208DC01CB019A8B898B89899A899E8BA8
:100E90008D8B8D899E890197F1F79E8B8D8B8EE2CC
:100EA00090E02EE230E0F901308120E12327FC01BF
:100EB000208389819A8101969A8389838F8198857D
:100EC00029813A812817390708F477CF00006E96F8
:100ED0000FB6F894DEBF0FBECDBFDF91CF9108955E
:100EE0005058BB27AA270E9488070C9442090E94E9
:100EF000340938F00E943B0920F039F49F3F19F47F
:100F000026F40C9431090EF4E095E7FB0C940209E9
:100F1000E92F0E94530958F3BA1762077307840731
:100F2000950720F079F4A6F50C948D090EF4E09560
:100F30000B2EBA2FA02D0B01B90190010C01CA0193
:100F4000A0011124FF27591B99F0593F50F4503E3E
:100F500068F11A16F040A22F232F342F4427585F30
:100F6000F3CF469537952795A795F0405395C9F748
:100F70007EF41F16BA0B620B730B840BBAF0915000
:100F8000A1F0FF0FBB1F661F771F881FC2F70EC09F
:100F9000BA0F621F731F841F48F487957795679572
:100FA000B795F7959E3F08F0B0CF9395880F08F05E
:100FB0009927EE0F9795879508950E94750990F0EF
:100FC0009F3748F4911116F40C948E0960E070E09C
:100FD00080E89FE3089526F01B16611D711D811D99
:100FE0000C9408090C9423090E94DE0808F481E09F
:100FF00008950E940D080C9442090E943B0958F084
:101000000E94340940F029F45F3F29F00C94020952
:1010100051110C948E090C9431090E94530968F304
:101020009923B1F3552391F3951B550BBB27AA27A1
:1010300062177307840738F09F5F5F4F220F331FDB
:10104000441FAA1FA9F335D00E2E3AF0E0E832D0A3
:1010500091505040E695001CCAF72BD0FE2F29D0A6
:10106000660F771F881FBB1F261737074807AB0778
:10107000B0E809F0BB0B802DBF01FF2793585F4FED
:101080003AF09E3F510578F00C9402090C948E09B9
:101090005F3FE4F3983ED4F3869577956795B795CF
:1010A000F7959F5FC9F7880F911D9695879597F9DA
:1010B0000895E1E0660F771F881FBB1F6217730753
:1010C0008407BA0720F0621B730B840BBA0BEE1F68
:1010D00088F7E09508950E9472086894B1110C9405
:1010E0008E0908950E945B0988F09F5798F0B92FE8
:1010F0009927B751B0F0E1F0660F771F881F991F4D
:101100001AF0BA95C9F714C0B13091F00E948D0958
:10111000B1E008950C948D09672F782F8827B85F68
:1011200039F0B93FCCF3869577956795B395D9F7A4
:101130003EF490958095709561957F4F8F4F9F4FAE
:101140000895E89409C097FB3EF4909580957095BA
:1011500061957F4F8F4F9F4F9923A9F0F92F96E903
:10116000BB279395F695879577956795B795F11178
:10117000F8CFFAF4BB0F11F460FF1BC06F5F7F4F15
:101180008F4F9F4F16C0882311F096E911C0772327
:1011900021F09EE8872F762F05C0662371F096E830
:1011A000862F70E060E02AF09A95660F771F881FFF
:1011B000DAF7880F9695879597F90895990F0008A3
:1011C000550FAA0BE0E8FEEF16161706E807F90719
:1011D000C0F012161306E407F50798F0621B730BB4
:1011E000840B950B39F40A2661F0232B242B252B35
:1011F00021F408950A2609F4A140A6958FEF811DD8
:10120000811D089597F99F6780E870E060E0089578
:10121000882371F4772321F09850872B762F07C00D
:10122000662311F499270DC09051862B70E060E081
:101230002AF09A95660F771F881FDAF7880F969520
:10124000879597F908959F3F31F0915020F4879545
:1012500077956795B795880F911D9695879597F91E
:1012600008959FEF80EC089500240A94161617063F
:1012700018060906089500240A9412161306140687
:1012800005060895092E0394000C11F4882352F0EA
:10129000BB0F40F4BF2B11F460FF04C06F5F7F4FA2
:1012A0008F4F9F4F089557FD9058440F551F59F089
:1012B0005F3F71F04795880F97FB991F61F09F3F43
:1012C00079F087950895121613061406551FF2CF6C
:1012D0004695F1DF08C0161617061806991FF1CFBC
:1012E000869571056105089408950E945B09A0F038
:1012F000BEE7B91788F4BB279F3860F41616B11DF6
:10130000672F782F8827985FF7CF86957795679511
:10131000B11D93959639C8F30895E894BB276627C5
:101320007727CB0197F908950E94DE0808F48FEF24
:1013300008950E94AC090C9442090E94340938F0C7
:101340000E943B0920F0952311F00C9402090C94A3
:10135000310911240C948E090E94530970F3959F52
:10136000C1F3950F50E0551F629FF001729FBB279C
:10137000F00DB11D639FAA27F00DB11DAA1F649F38
:101380006627B00DA11D661F829F2227B00DA11DEB
:10139000621F739FB00DA11D621F839FA00D611D71
:1013A000221F749F3327A00D611D231F849F600D92
:1013B000211D822F762F6A2F11249F5750409AF0BB
:1013C000F1F088234AF0EE0FFF1FBB1F661F771F47
:1013D000881F91505040A9F79E3F510580F00C9412
:1013E00002090C948E095F3FE4F3983ED4F386958E
:1013F00077956795B795F795E7959F5FC1F7FE2BB2
:10140000880F911D9695879597F9089597FB072E5C
:1014100016F4009407D077FD09D00E941A0A07FC41
:1014200005D03EF4909581959F4F089570956195F4
:101430007F4F0895AA1BBB1B51E107C0AA1FBB1F0A
:10144000A617B70710F0A61BB70B881F991F5A9550
:10145000A9F780959095BC01CD0108958F929F9238
:10146000AF92BF92CF92DF92EF92FF92CF93DF9332
:10147000EC01688179818A819B8161157105810503
:10148000910521F464E279ED8BE597E02DE133EFEE
:1014900041E050E00E948A0A49015A019B01AC01D7
:1014A000A7EAB1E40E94A90A6B017C01ACEEB4EF9B
:1014B000A50194010E94B70ADC01CB018C0D9D1D92
:1014C000AE1DBF1DB7FF03C00197A109B0488883B7
:1014D0009983AA83BB839F77DF91CF91FF90EF9091
:1014E000DF90CF90BF90AF909F908F9008950E9413
:1014F0002E0A089580E091E00E942E0A0895A0E04F
:10150000B0E08093000190930101A0930201B09399
:1015100003010895052E97FB1EF400940E94A10A72
:1015200057FD07D00E94BC0A07FC03D04EF40C9470
:10153000A10A50954095309521953F4F4F4F5F4FF1
:10154000089590958095709561957F4F8F4F9F4F2F
:1015500008950E94DE0AA59F900DB49F900DA49F50
:10156000800D911D11240895B7FF0C94A90A0E94C3
:10157000A90A821B930B0895A1E21A2EAA1BBB1B7A
:10158000FD010DC0AA1FBB1FEE1FFF1FA217B3074F
:10159000E407F50720F0A21BB30BE40BF50B661F65
:1015A000771F881F991F1A9469F760957095809529
:1015B00090959B01AC01BD01CF010895A29FB001A0
:1015C000B39FC001A39F700D811D1124911DB29F77
:0E15D000700D811D1124911D0895F894FFCF18
:1015DE000100000053494D4F4E2047414D450A45ED
:1015EE006E74657220796F7572207374617274698E
:1015FE006E6720646966666963756C7479206C65C4
:10160E0076656C3A0A312E20456173790A322E20A6
:10161E004D6F6465726174650A332E204769766575
:10162E00206D65207061696E2E000A6E65787420DB
:10163E006C6576656C0A000A436F7272656374217D
:10164E000A000A496E636F7272656374206775656E
:10165E0073732E0A000A596F7520626561742074C7
:10166E0068652067616D65210A000A596F75206CE7
:10167E006F6F73652C2074727920616761696E3F9C
:02168E000A0050
:00000001FF

File diff suppressed because it is too large Load Diff

View File

@ -91,8 +91,6 @@ Discarded input sections
.text 0x00000000 0x0 main.o
.data 0x00000000 0x0 main.o
.bss 0x00000000 0x0 main.o
.text.test_timer
0x00000000 0x2a main.o
.text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(addsf3.o)
.data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(addsf3.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(addsf3.o)
@ -453,7 +451,7 @@ END GROUP
.rela.plt
*(.rela.plt)
.text 0x00000000 0x151c
.text 0x00000000 0x15de
*(.vectors)
.vectors 0x00000000 0xcc C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/gcc/dev/atmega324pb/avr5/crtatmega324pb.o
0x00000000 __vector_default
@ -532,6 +530,7 @@ END GROUP
0x00000106 __vector_45
0x00000106 __vector_25
0x00000106 __vector_11
0x00000106 __vector_13
0x00000106 __vector_17
0x00000106 __vector_19
0x00000106 __vector_7
@ -589,147 +588,144 @@ END GROUP
0x000002bc 0x58 serial.o
0x000002bc usart_txstr
.text.get_button
0x00000314 0x32 main.o
0x00000314 0x254 main.o
0x00000314 get_button
.text.display_element
0x00000346 0x1b2 main.o
0x00000346 display_element
.text.init_io 0x000004f8 0x4a main.o
0x000004f8 init_io
.text.main 0x00000542 0x4a8 main.o
0x00000542 main
.text.__vector_13
0x000009ea 0x78 main.o
0x000009ea __vector_13
0x00000568 0x1b2 main.o
0x00000568 display_element
.text.init_io 0x0000071a 0x4a main.o
0x0000071a init_io
.text.main 0x00000764 0x3c0 main.o
0x00000764 main
.text.correct_beep
0x00000a62 0x2c main.o
0x00000a62 correct_beep
0x00000b24 0x2c main.o
0x00000b24 correct_beep
.text.incorrect_beep
0x00000a8e 0x13c main.o
0x00000a8e incorrect_beep
.text.win 0x00000bca 0x40 main.o
0x00000bca win
.text.loose 0x00000c0a 0x40 main.o
0x00000c0a loose
.text.beep 0x00000c4a 0x1d4 main.o
0x00000c4a beep
0x00000b50 0x13c main.o
0x00000b50 incorrect_beep
.text.win 0x00000c8c 0x40 main.o
0x00000c8c win
.text.loose 0x00000ccc 0x40 main.o
0x00000ccc loose
.text.beep 0x00000d0c 0x1d4 main.o
0x00000d0c beep
.text.avr-libc.fplib
0x00000e1e 0xe c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(addsf3.o)
0x00000e1e __subsf3
0x00000e20 __addsf3
0x00000ee0 0xe c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(addsf3.o)
0x00000ee0 __subsf3
0x00000ee2 __addsf3
.text.avr-libc.fplib
0x00000e2c 0xcc c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(addsf3x.o)
0x00000e4e __addsf3x
0x00000eee 0xcc c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(addsf3x.o)
0x00000f10 __addsf3x
.text.avr-libc.fplib
0x00000ef8 0x2e c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(ceil.o)
0x00000ef8 ceil
0x00000fba 0x2e c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(ceil.o)
0x00000fba ceil
.text.avr-libc.fplib
0x00000f26 0xa c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(cmpsf2.o)
0x00000f26 __nesf2
0x00000f26 __eqsf2
0x00000f26 __cmpsf2
0x00000f26 __ltsf2
0x00000f26 __lesf2
0x00000fe8 0xa c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(cmpsf2.o)
0x00000fe8 __nesf2
0x00000fe8 __eqsf2
0x00000fe8 __cmpsf2
0x00000fe8 __ltsf2
0x00000fe8 __lesf2
.text.avr-libc.fplib
0x00000f30 0x8 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(divsf3.o)
0x00000f30 __divsf3
0x00000ff2 0x8 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(divsf3.o)
0x00000ff2 __divsf3
.text.avr-libc.fplib
0x00000f38 0xdc c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(divsf3x.o)
0x00000f58 __divsf3x
0x00000f5e __divsf3_pse
0x00000ffa 0xdc c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(divsf3x.o)
0x0000101a __divsf3x
0x00001020 __divsf3_pse
.text.avr-libc.fplib
0x00001014 0xe c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(fixsfsi.o)
0x00001014 __fixsfsi
0x000010d6 0xe c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(fixsfsi.o)
0x000010d6 __fixsfsi
.text.avr-libc.fplib
0x00001022 0x5e c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(fixunssfsi.o)
0x00001022 __fixunssfsi
0x000010e4 0x5e c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(fixunssfsi.o)
0x000010e4 __fixunssfsi
.text.avr-libc.fplib
0x00001080 0x7a c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(floatsisf.o)
0x00001080 __floatunsisf
0x00001084 __floatsisf
0x00001142 0x7a c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(floatsisf.o)
0x00001142 __floatunsisf
0x00001146 __floatsisf
.text.avr-libc.fplib
0x000010fa 0x48 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(fp_cmp.o)
0x000010fa __fp_cmp
0x000011bc 0x48 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(fp_cmp.o)
0x000011bc __fp_cmp
.text.avr-libc.fplib
0x00001142 0xc c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(fp_inf.o)
0x00001142 __fp_inf
0x00001204 0xc c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(fp_inf.o)
0x00001204 __fp_inf
.text.avr-libc.fplib
0x0000114e 0x36 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(fp_mintl.o)
0x0000114e __fp_mintl
0x00001210 0x36 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(fp_mintl.o)
0x00001210 __fp_mintl
.text.avr-libc.fplib
0x00001184 0x1c c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(fp_mpack.o)
0x00001184 __fp_mpack
0x00001188 __fp_mpack_finite
0x00001246 0x1c c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(fp_mpack.o)
0x00001246 __fp_mpack
0x0000124a __fp_mpack_finite
.text.avr-libc.fplib
0x000011a0 0x6 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(fp_nan.o)
0x000011a0 __fp_nan
0x00001262 0x6 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(fp_nan.o)
0x00001262 __fp_nan
.text.avr-libc.fplib
0x000011a6 0xe c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(fp_pscA.o)
0x000011a6 __fp_pscA
0x00001268 0xe c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(fp_pscA.o)
0x00001268 __fp_pscA
.text.avr-libc.fplib
0x000011b4 0xe c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(fp_pscB.o)
0x000011b4 __fp_pscB
0x00001276 0xe c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(fp_pscB.o)
0x00001276 __fp_pscB
.text.avr-libc.fplib
0x000011c2 0x22 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(fp_round.o)
0x000011c2 __fp_round
0x00001284 0x22 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(fp_round.o)
0x00001284 __fp_round
.text.avr-libc.fplib
0x000011e4 0x44 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(fp_split3.o)
0x000011e4 __fp_split3
0x000011f4 __fp_splitA
0x000012a6 0x44 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(fp_split3.o)
0x000012a6 __fp_split3
0x000012b6 __fp_splitA
.text.avr-libc.fplib
0x00001228 0x30 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(fp_trunc.o)
0x00001228 __fp_trunc
0x000012ea 0x30 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(fp_trunc.o)
0x000012ea __fp_trunc
.text.avr-libc.fplib
0x00001258 0xe c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(fp_zero.o)
0x00001258 __fp_zero
0x0000125a __fp_szero
0x0000131a 0xe c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(fp_zero.o)
0x0000131a __fp_zero
0x0000131c __fp_szero
.text.avr-libc.fplib
0x00001266 0xa c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(gesf2.o)
0x00001266 __gesf2
0x00001266 __gtsf2
0x00001328 0xa c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(gesf2.o)
0x00001328 __gesf2
0x00001328 __gtsf2
.text.avr-libc.fplib
0x00001270 0x8 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(mulsf3.o)
0x00001270 __mulsf3
0x00001332 0x8 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(mulsf3.o)
0x00001332 __mulsf3
.text.avr-libc.fplib
0x00001278 0xd2 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(mulsf3x.o)
0x00001296 __mulsf3x
0x0000129c __mulsf3_pse
0x0000133a 0xd2 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libm.a(mulsf3x.o)
0x00001358 __mulsf3x
0x0000135e __mulsf3_pse
.text.libgcc.div
0x0000134a 0x28 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_divmodhi4.o)
0x0000134a _div
0x0000134a __divmodhi4
0x0000140c 0x28 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_divmodhi4.o)
0x0000140c _div
0x0000140c __divmodhi4
.text.libgcc.div
0x00001372 0x28 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_udivmodhi4.o)
0x00001372 __udivmodhi4
0x00001434 0x28 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_udivmodhi4.o)
0x00001434 __udivmodhi4
.text.avr-libc
0x0000139a 0xb8 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(rand.o)
0x0000142c rand_r
0x00001432 rand
0x0000143c srand
0x0000145c 0xb8 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(rand.o)
0x000014ee rand_r
0x000014f4 rand
0x000014fe srand
.text.libgcc.div
0x00001452 0x2e c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_divmodsi4.o)
0x00001452 __divmodsi4
0x00001514 0x2e c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_divmodsi4.o)
0x00001514 __divmodsi4
.text.libgcc.div
0x00001480 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_negsi2.o)
0x00001480 __negsi2
0x00001542 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_negsi2.o)
0x00001542 __negsi2
.text.libgcc.mul
0x00001490 0x16 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_muluhisi3.o)
0x00001490 __muluhisi3
0x00001552 0x16 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_muluhisi3.o)
0x00001552 __muluhisi3
.text.libgcc.mul
0x000014a6 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_mulshisi3.o)
0x000014a6 __mulshisi3
0x000014ac __mulohisi3
0x00001568 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_mulshisi3.o)
0x00001568 __mulshisi3
0x0000156e __mulohisi3
.text.libgcc.div
0x000014b6 0x44 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_udivmodsi4.o)
0x000014b6 __udivmodsi4
0x00001578 0x44 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_udivmodsi4.o)
0x00001578 __udivmodsi4
.text.libgcc.mul
0x000014fa 0x1e c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_umulhisi3.o)
0x000014fa __umulhisi3
0x00001518 . = ALIGN (0x2)
0x000015bc 0x1e c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_umulhisi3.o)
0x000015bc __umulhisi3
0x000015da . = ALIGN (0x2)
*(.fini9)
.fini9 0x00001518 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_exit.o)
0x00001518 _exit
0x00001518 exit
.fini9 0x000015da 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_exit.o)
0x000015da _exit
0x000015da exit
*(.fini9)
*(.fini8)
*(.fini8)
@ -748,40 +744,40 @@ END GROUP
*(.fini1)
*(.fini1)
*(.fini0)
.fini0 0x00001518 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_exit.o)
.fini0 0x000015da 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr5\libgcc.a(_exit.o)
*(.fini0)
0x0000151c _etext = .
0x000015de _etext = .
.data 0x00800100 0xd8 load address 0x0000151c
.data 0x00800100 0xb2 load address 0x000015de
0x00800100 PROVIDE (__data_start, .)
*(.data)
.data 0x00800100 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5\libc.a(rand.o)
*(.data*)
*(.gnu.linkonce.d*)
*(.rodata)
.rodata 0x00800104 0xd4 main.o
.rodata 0x00800104 0xae main.o
*(.rodata*)
*(.gnu.linkonce.r*)
0x008001d8 . = ALIGN (0x2)
0x008001d8 _edata = .
0x008001d8 PROVIDE (__data_end, .)
0x008001b2 . = ALIGN (0x2)
0x008001b2 _edata = .
0x008001b2 PROVIDE (__data_end, .)
.bss 0x008001d8 0x2
0x008001d8 PROVIDE (__bss_start, .)
.bss 0x008001b2 0x2
0x008001b2 PROVIDE (__bss_start, .)
*(.bss)
*(.bss*)
*(COMMON)
COMMON 0x008001d8 0x2 main.o
0x008001d8 seconds_remaining
0x008001da PROVIDE (__bss_end, .)
0x0000151c __data_load_start = LOADADDR (.data)
0x000015f4 __data_load_end = (__data_load_start + SIZEOF (.data))
COMMON 0x008001b2 0x2 main.o
0x008001b2 seconds_remaining
0x008001b4 PROVIDE (__bss_end, .)
0x000015de __data_load_start = LOADADDR (.data)
0x00001690 __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x008001da 0x0
.noinit 0x008001b4 0x0
[!provide] PROVIDE (__noinit_start, .)
*(.noinit*)
[!provide] PROVIDE (__noinit_end, .)
0x008001da _end = .
0x008001b4 _end = .
[!provide] PROVIDE (__heap_start, .)
.eeprom 0x00810000 0x0
@ -849,60 +845,60 @@ END GROUP
.debug_sfnames
*(.debug_sfnames)
.debug_aranges 0x00000000 0xe8
.debug_aranges 0x00000000 0xd8
*(.debug_aranges)
.debug_aranges
0x00000000 0x38 clock.o
.debug_aranges
0x00000038 0x40 serial.o
.debug_aranges
0x00000078 0x70 main.o
0x00000078 0x60 main.o
.debug_pubnames
*(.debug_pubnames)
.debug_info 0x00000000 0x1249
.debug_info 0x00000000 0x128c
*(.debug_info .gnu.linkonce.wi.*)
.debug_info 0x00000000 0x9bb C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/gcc/dev/atmega324pb/avr5/crtatmega324pb.o
.debug_info 0x000009bb 0xd7 clock.o
.debug_info 0x00000a92 0x141 serial.o
.debug_info 0x00000bd3 0x676 main.o
.debug_info 0x00000bd3 0x6b9 main.o
.debug_abbrev 0x00000000 0xc72
.debug_abbrev 0x00000000 0xc65
*(.debug_abbrev)
.debug_abbrev 0x00000000 0x934 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/gcc/dev/atmega324pb/avr5/crtatmega324pb.o
.debug_abbrev 0x00000934 0x67 clock.o
.debug_abbrev 0x0000099b 0xf2 serial.o
.debug_abbrev 0x00000a8d 0x1e5 main.o
.debug_abbrev 0x00000a8d 0x1d8 main.o
.debug_line 0x00000000 0xb1b
.debug_line 0x00000000 0xb2e
*(.debug_line .debug_line.* .debug_line_end)
.debug_line 0x00000000 0x1ca C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/gcc/dev/atmega324pb/avr5/crtatmega324pb.o
.debug_line 0x000001ca 0x146 clock.o
.debug_line 0x00000310 0x181 serial.o
.debug_line 0x00000491 0x68a main.o
.debug_line 0x00000310 0x189 serial.o
.debug_line 0x00000499 0x695 main.o
.debug_frame 0x00000000 0x328
.debug_frame 0x00000000 0x2a4
*(.debug_frame)
.debug_frame 0x00000000 0x94 clock.o
.debug_frame 0x00000094 0xb4 serial.o
.debug_frame 0x00000148 0x1e0 main.o
.debug_frame 0x00000148 0x15c main.o
.debug_str 0x00000000 0x6ed
.debug_str 0x00000000 0x6a3
*(.debug_str)
.debug_str 0x00000000 0x35a C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/gcc/dev/atmega324pb/avr5/crtatmega324pb.o
.debug_str 0x0000035a 0x164 clock.o
0x198 (size before relaxing)
.debug_str 0x000004be 0xa3 serial.o
0x1c2 (size before relaxing)
.debug_str 0x00000561 0x18c main.o
0x305 (size before relaxing)
.debug_str 0x000004be 0x56 serial.o
0x1a6 (size before relaxing)
.debug_str 0x00000514 0x18f main.o
0x308 (size before relaxing)
.debug_loc 0x00000000 0x611
.debug_loc 0x00000000 0x4f1
*(.debug_loc)
.debug_loc 0x00000000 0xec clock.o
.debug_loc 0x000000ec 0x14e serial.o
.debug_loc 0x0000023a 0x3d7 main.o
.debug_loc 0x0000023a 0x2b7 main.o
.debug_macinfo
*(.debug_macinfo)
@ -922,11 +918,11 @@ END GROUP
.debug_pubtypes
*(.debug_pubtypes)
.debug_ranges 0x00000000 0xb8
.debug_ranges 0x00000000 0xa8
*(.debug_ranges)
.debug_ranges 0x00000000 0x28 clock.o
.debug_ranges 0x00000028 0x30 serial.o
.debug_ranges 0x00000058 0x60 main.o
.debug_ranges 0x00000058 0x50 main.o
.debug_macro
*(.debug_macro)

View File

@ -2,7 +2,7 @@ S015000066696E616C5F70726F6A6563742E73726563AF
S11300000C9466000C9483000C9483000C9483007D
S11300100C9483000C9483000C9483000C94830050
S11300200C9483000C9483000C9483000C94830040
S11300300C9483000C94F5040C9483000C948300BA
S11300300C9483000C9483000C9483000C94830030
S11300400C9483000C9483000C9483000C94830020
S11300500C9483000C9483000C9483000C94830010
S11300600C9483000C9483000C9483000C94830000
@ -12,10 +12,10 @@ S11300900C9483000C9483000C9483000C948300D0
S11300A00C9483000C9483000C9483000C948300C0
S11300B00C9483000C9483000C9483000C948300B0
S11300C00C9483000C9483000C94830011241FBEB1
S11300D0CFEFD8E0DEBFCDBF11E0A0E0B1E0ECE1AE
S11300E0F5E102C005900D92A83DB107D9F721E0D2
S11300F0A8EDB1E001C01D92AA3DB207E1F70E944C
S1130100A1020C948C0A0C940000CF93DF93CDB71A
S11300D0CFEFD8E0DEBFCDBF11E0A0E0B1E0EEEDA0
S11300E0F5E102C005900D92A23BB107D9F721E0DA
S11300F0A2EBB1E001C01D92A43BB207E1F70E945C
S1130100B2030C94ED0A0C940000CF93DF93CDB7A7
S1130110DEB780E890E0FC01108281E890E028E0FE
S1130120FC01208384E890E0FC011182108200002D
S1130130DF91CF910895CF93DF93CDB7DEB784E8F5
@ -48,307 +48,317 @@ S11302D00FC089819A812B813C81820F931FFC017D
S11302E080810E94280189819A8101969A83898359
S11302F089819A812B813C81820F931FFC0180812B
S1130300882339F700000F900F900F900F90DF9122
S1130310CF910895CF93DF93CDB7DEB78CE290E011
S1130320FC018081882F90E080749927892B11F437
S113033084E006C080E290E0FC0180818095837FA8
S1130340DF91CF910895CF93DF93CDB7DEB7639755
S11303500FB6F894DEBF0FBECDBF898B7B8B6A8B43
S11303601A8219828989882F90E084709927892BB1
S113037011F080E289838989837F8A838BE290E00C
S11303802BE230E0F90130812A812327FC0120830C
S11303908EE290E02EE230E0F901308129812327BA
S11303A0FC01208320E030E040E85EE364EA70ED85
S11303B084EA93E40E9425064A895B8928EE33E0A7
S11303C0429FC001439F900D529F900D1124CC0178
S11303D0A0E0B0E0BC01CD010E944008DC01CB01EB
S11303E08B839C83AD83BE8320E030E04AE755E4F1
S11303F06B817C818D819E810E943809DC01CB0157
S11304008F839887A987BA8720E030E040E85FE3CC
S11304106F81788589859A850E94930788232CF4B7
S113042081E090E09C878B873FC020E03FEF4FE75F
S113043057E46F81788589859A850E943309181657
S11304404CF520E030E040E251E46B817C818D8109
S11304509E810E943809DC01CB01BC01CD010E94C0
S11304601108DC01CB019C878B870FC080E991E0E8
S11304709E878D878D859E850197F1F79E878D8751
S11304808B859C8501979C878B878B859C85892B85
S113049069F714C06F81788589859A850E9411084F
S11304A0DC01CB019C878B878B859C85988B8F8700
S11304B08F8598890197F1F7988B8F878BE290E06D
S11304C02BE230E0F90130812A812327FC012083CB
S11304D08EE290E02EE230E0F90130812981232779
S11304E0FC012083000063960FB6F894DEBF0FBEB4
S11304F0CDBFDF91CF910895CF93DF93CDB7DEB712
S113050081E290E0FC01108282E290E02FEFFC0196
S113051020838AE290E02FEFFC0120838BE290E0BD
S11305202FEFFC0120838DE290E020E3FC01208387
S11305308EE290E02FEFFC0120830000DF91CF9149
S113054008958F929F92AF92BF92CF92DF92EF92D3
S1130550FF92CF93DF93CDB7DEB7E3970FB6F8944E
S1130560DEBF0FBECDBFF8940E9485000E947C02BE
S11305700E94FF001A82198280E191E00E945E01CC
S113058007C00E944C01882F90E0C0979A8389830A
S113059089819A810497ACF789819A811816190682
S11305A084F716C289819A8182309105D9F083300B
S11305B0910569F1019709F03FC083E090E09E83C3
S11305C08D8383E090E09C838B8385E090E0988723
S11305D08F8383E090E09A87898785E090E09C8709
S11305E08B872AC084E090E09E838D8382E090E034
S11305F09C838B8387E090E098878F8383E090E0EF
S11306009A8789878AE090E09C878B8715C085E06C
S113061090E09E838D8381E090E09C838B838AE0CD
S113062090E098878F8385E090E09A8789878FE0B0
S113063090E09C878B8700001E861D86188A1F8683
S11306401A8A198A7FC189859A85092E000CAA0BFA
S1130650BB0BBC01CD010E9442086B017C012B85C0
S11306603C8589859A85A901481B590BCA01092E25
S1130670000CAA0BBB0BBC01CD010E9442084B012C
S11306805C018D819E810197092E000CAA0BBB0B86
S1130690BC01CD010E944208DC01CB019C01AD01EB
S11306A0C501B4010E949807DC01CB014C015D0136
S11306B089899A89092E000CAA0BBB0BBC01CD01B8
S11306C00E944208DC01CB019C01AD01C501B401CB
S11306D00E943809DC01CB01BC01CD010E947C07DA
S11306E0DC01CB019C01AD01C701B6010E941007DA
S11306F0DC01CB01BC01CD010E940A08DC01CB0165
S11307009B8F8A8F1C8A1B8A37C00E94190A27E094
S113071030E0B9010E94A5098D8B8D89833011F4D5
S113072087E08D8B8D89282F30E081E090E002C036
S1130730880F991F2A95E2F78C8F8AE00E9428017E
S11307408D89805D0E9428018AE00E9428019E0113
S1130750215D3F4F8B899C89820F931F2C8DFC0157
S113076020838B819C81BC018C8D0E94A3018B8989
S11307709C8901969C8B8B8B2B893C898A8D9B8DC4
S11307802817390714F28F8198859093D9018093A3
S1130790D8010E949B00198E188EC7C086E691E08E
S11307A00E945E010E94EB008823C1F08091D80171
S11307B09091D90101979093D9018093D8010E9417
S11307C0CB000E949B002DEC3CEC4CEC5DE364EA16
S11307D070ED82E893E40E94250606C00E948A0117
S11307E0882F90E09F8B8E8B8E899F89892B39F47B
S11307F08091D8019091D901181619069CF280E0D5
S113080090E0AAE7B3E489A39AA3ABA3BCA320E036
S113081030E04AE755E469A17AA18BA19CA10E942A
S11308203809DC01CB018DA39EA3AFA3B8A720E0B8
S113083030E040E85FE36DA17EA18FA198A50E94FE
S1130840930788232CF481E090E09AA789A73FC0FE
S113085020E03FEF4FE757E46DA17EA18FA198A55B
S11308600E94330918164CF520E030E040E251E4D0
S113087069A17AA18BA19CA10E943809DC01CB015A
S1130880BC01CD010E941108DC01CB019AA789A704
S11308900FC080E991E09CA78BA78BA59CA501972D
S11308A0F1F79CA78BA789A59AA501979AA789A771
S11308B089A59AA5892B69F714C06DA17EA18FA182
S11308C098A50E941108DC01CB019AA789A789A5E4
S11308D09AA59EA78DA78DA59EA50197F1F79EA722
S11308E08DA78D859E8501969E878D879E01215DAE
S11308F03F4F888D998D820F931FFC018081282F93
S113090030E08E899F892817390741F48F859889AB
S11309100196988B8F870E94310502C00E9447057B
S1130920888D998D0196998F888F288D398D8A8D20
S11309309B8D281739070CF431CF89899A89019640
S11309409A8B898B29893A898D819E812817390749
S11309500CF479CE8F859889092E000CAA0BBB0B59
S1130960BC01CD010E9442086B017C018D859E85EE
S1130970092E000CAA0BBB0BBC01CD010E9442083E
S1130980DC01CB019C01AD01C701B6010E949807AF
S1130990DC01CB018D8F9E8FAF8FB8A32DEC3CEC87
S11309A04CE45FE36D8D7E8D8F8D98A10E94330999
S11309B0882354F089819A8101969A83898380E8F7
S11309C091E00E945E0104C00E940506000005C07B
S11309D089819A8103970CF4E5CD89819A810397E3
S11309E00CF4C8CD0E94E505C5CD1F920F9200906E
S11309F05F000F9211242F933F934F935F936F9354
S1130A007F938F939F93AF93BF93EF93FF93CF9372
S1130A10DF93CDB7DEB78091D8019091D9019C01C5
S1130A20215031093093D9012093D80118161906A1
S1130A301CF00E942506FDCF0000DF91CF91FF91AD
S1130A40EF91BF91AF919F918F917F916F915F9142
S1130A504F913F912F910F9000925F000F901F9044
S1130A601895CF93DF93CDB7DEB78DE891E00E9460
S1130A705E012DEC3CEC4CEC5DE360E070E08CED51
S1130A8093E40E9425060000DF91CF910895CF934F
S1130A90DF93CDB7DEB72E970FB6F894DEBF0FBE47
S1130AA0CDBF88E991E00E945E012DEC3CEC4CE462
S1130AB05EE36CE57FEC82E893E40E94250680E027
S1130AC090E0A8ECB1E489839A83AB83BC8320E0F3
S1130AD030E04AE755E469817A818B819C810E94E8
S1130AE03809DC01CB018D839E83AF83B88720E076
S1130AF030E040E85FE36D817E818F8198850E94BC
S1130B00930788232CF481E090E09A8789873FC07B
S1130B1020E03FEF4FE757E46D817E818F81988518
S1130B200E94330918164CF520E030E040E251E40D
S1130B3069817A818B819C810E943809DC01CB0117
S1130B40BC01CD010E941108DC01CB019A87898781
S1130B500FC080E991E09C878B878B859C850197EA
S1130B60F1F79C878B8789859A8501979A8789876E
S1130B7089859A85892B69F714C06D817E818F815F
S1130B8098850E941108DC01CB019A8789878985A1
S1130B909A859E878D878D859E850197F1F79E871F
S1130BA08D872DEC3CEC4CE45EE36CE57FEC82E855
S1130BB093E40E94250600002E960FB6F894DEBF3B
S1130BC00FBECDBFDF91CF910895CF93DF93CDB703
S1130BD0DEB78BEA91E00E945E0120E030E040E065
S1130BE05FE360E070E083E893E40E94250620E080
S1130BF030E040E05FE360E070E084EC93E40E9466
S1130C0025060000DF91CF910895CF93DF93CDB7F0
S1130C10DEB780EC91E00E945E0120E030E040E02D
S1130C205FE360E070E085EA93E40E94250620E03B
S1130C3030E040E05FE360E070E083E993E40E9429
S1130C4025060000DF91CF910895CF93DF93CDB7B0
S1130C50DEB76E970FB6F894DEBF0FBECDBF6F8BB5
S1130C60788F898F9A8F2B8F3C8F4D8F5E8F2F8932
S1130C70388D498D5A8D60E070E080E89FE30E94D2
S1130C809807DC01CB0120E030E040E050E4BC01F7
S1130C90CD010E949807DC01CB0120E030E04AE757
S1130CA054E4BC01CD010E943809DC01CB018B83E3
S1130CB09C83AD83BE832F89388D498D5A8D60E026
S1130CC070E080E89FE30E949807DC01CB019C015F
S1130CD0AD016B8D7C8D8D8D9E8D0E949807DC01FE
S1130CE0CB01BC01CD010E940A08DC01CB0198872D
S1130CF08F831A82198281C08B819C81AD81BE81D0
S1130D0089879A87AB87BC8720E030E04AE755E4BF
S1130D1069857A858B859C850E943809DC01CB0125
S1130D208D879E87AF87B88B20E030E040E85FE393
S1130D306D857E858F8598890E94930788232CF47E
S1130D4081E090E09A8B898B3FC020E03FEF4FE732
S1130D5057E46D857E858F8598890E94330918161E
S1130D604CF520E030E040E251E469857A858B85DA
S1130D709C850E943809DC01CB01BC01CD010E9495
S1130D801108DC01CB019A8B898B0FC080E991E0BB
S1130D909C8B8B8B8B899C890197F1F79C8B8B8B1C
S1130DA089899A8901979A8B898B89899A89892B50
S1130DB069F714C06D857E858F8598890E94110816
S1130DC0DC01CB019A8B898B89899A899E8B8D8BC7
S1130DD08D899E890197F1F79E8B8D8B8EE290E031
S1130DE02EE230E0F901308120E12327FC01208349
S1130DF089819A8101969A8389838F819885298133
S1130E003A812817390708F477CF00006E960FB699
S1130E10F894DEBF0FBECDBFDF91CF910895505837
S1130E20BB27AA270E9427070C94E1080E94D30835
S1130E3038F00E94DA0820F039F49F3F19F426F4C0
S1130E400C94D0080EF4E095E7FB0C94A108E92F6C
S1130E500E94F20858F3BA176207730784079507CC
S1130E6020F079F4A6F50C942C090EF4E0950B2EE1
S1130E70BA2FA02D0B01B90190010C01CA01A001E8
S1130E801124FF27591B99F0593F50F4503E68F143
S1130E901A16F040A22F232F342F4427585FF3CF84
S1130EA0469537952795A795F0405395C9F77EF455
S1130EB01F16BA0B620B730B840BBAF09150A1F09E
S1130EC0FF0FBB1F661F771F881FC2F70EC0BA0F24
S1130ED0621F731F841F48F4879577956795B795AC
S1130EE0F7959E3F08F0B0CF9395880F08F09927A7
S1130EF0EE0F9795879508950E94140990F09F37F7
S1130F0048F4911116F40C942D0960E070E080E827
S1130F109FE3089526F01B16611D711D811D0C941D
S1130F20A7080C94C2080E947D0808F481E0089583
S1130F300E94AC070C94E1080E94DA0858F00E9461
S1130F40D30840F029F45F3F29F00C94A108511113
S1130F500C942D090C94D0080E94F20868F399238C
S1130F60B1F3552391F3951B550BBB27AA276217A1
S1130F707307840738F09F5F5F4F220F331F441FAE
S1130F80AA1FA9F335D00E2E3AF0E0E832D09150E2
S1130F905040E695001CCAF72BD0FE2F29D0660FCF
S1130FA0771F881FBB1F261737074807AB07B0E812
S1130FB009F0BB0B802DBF01FF2793585F4F3AF018
S1130FC09E3F510578F00C94A1080C942D095F3FC5
S1130FD0E4F3983ED4F3869577956795B795F7959E
S1130FE09F5FC9F7880F911D9695879597F9089586
S1130FF0E1E0660F771F881FBB1F62177307840722
S1131000BA0720F0621B730B840BBA0BEE1F88F730
S1131010E09508950E9411086894B1110C942D096B
S113102008950E94FA0888F09F5798F0B92F9927DD
S1131030B751B0F0E1F0660F771F881F991F1AF0BF
S1131040BA95C9F714C0B13091F00E942C09B1E0EF
S113105008950C942C09672F782F8827B85F39F0EE
S1131060B93FCCF3869577956795B395D9F73EF458
S113107090958095709561957F4F8F4F9F4F089500
S1131080E89409C097FB3EF490958095709561951E
S11310907F4F8F4F9F4F9923A9F0F92F96E9BB27D4
S11310A09395F695879577956795B795F111F8CF50
S11310B0FAF4BB0F11F460FF1BC06F5F7F4F8F4FBB
S11310C09F4F16C0882311F096E911C0772321F0B1
S11310D09EE8872F762F05C0662371F096E8862F49
S11310E070E060E02AF09A95660F771F881FDAF7A0
S11310F0880F9695879597F90895990F0008550FCD
S1131100AA0BE0E8FEEF16161706E807F907C0F089
S113111012161306E407F50798F0621B730B840B91
S1131120950B39F40A2661F0232B242B252B21F46B
S113113008950A2609F4A140A6958FEF811D811D0B
S1131140089597F99F6780E870E060E00895882328
S113115071F4772321F09850872B762F07C06623EC
S113116011F499270DC09051862B70E060E02AF0AD
S11311709A95660F771F881FDAF7880F96958795DB
S113118097F908959F3F31F0915020F48795779512
S11311906795B795880F911D9695879597F908954A
S11311A09FEF80EC089500240A941616170618067B
S11311B00906089500240A94121613061406050657
S11311C00895092E0394000C11F4882352F0BB0FE8
S11311D040F4BF2B11F460FF04C06F5F7F4F8F4F4B
S11311E09F4F089557FD9058440F551F59F05F3F86
S11311F071F04795880F97FB991F61F09F3F79F035
S113120087950895121613061406551FF2CF4695B6
S1131210F1DF08C0161617061806991FF1CF869538
S113122071056105089408950E94FA08A0F0BEE7CC
S1131230B91788F4BB279F3860F41616B11D672FC1
S1131240782F8827985FF7CF869577956795B11D96
S113125093959639C8F30895E894BB2766277727B2
S1131260CB0197F908950E947D0808F48FEF089543
S11312700E944B090C94E1080E94D30838F00E94A4
S1131280DA0820F0952311F00C94A1080C94D008EE
S113129011240C942D090E94F20870F3959FC1F358
S11312A0950F50E0551F629FF001729FBB27F00D10
S11312B0B11D639FAA27F00DB11DAA1F649F662765
S11312C0B00DA11D661F829F2227B00DA11D621FB4
S11312D0739FB00DA11D621F839FA00D611D221F6E
S11312E0749F3327A00D611D231F849F600D211D52
S11312F0822F762F6A2F11249F5750409AF0F1F0D5
S113130088234AF0EE0FFF1FBB1F661F771F881F3D
S113131091505040A9F79E3F510580F00C94A108CC
S11313200C942D095F3FE4F3983ED4F386957795AA
S11313306795B795F795E7959F5FC1F7FE2B880FE3
S1131340911D9695879597F9089597FB072E16F4A6
S1131350009407D077FD09D00E94B90907FC05D095
S11313603EF4909581959F4F0895709561957F4FB8
S11313700895AA1BBB1B51E107C0AA1FBB1FA617D8
S1131380B70710F0A61BB70B881F991F5A95A9F72A
S113139080959095BC01CD0108958F929F92AF9254
S11313A0BF92CF92DF92EF92FF92CF93DF93EC0143
S11313B0688179818A819B81611571058105910517
S11313C021F464E279ED8BE597E02DE133EF41E020
S11313D050E00E94290A49015A019B01AC01A7EA85
S11313E0B1E40E94480A6B017C01ACEEB4EFA501A4
S11313F094010E94560ADC01CB018C0D9D1DAE1D8B
S1131400BF1DB7FF03C00197A109B0488883998322
S1131410AA83BB839F77DF91CF91FF90EF90DF90FA
S1131420CF90BF90AF909F908F9008950E94CD0968
S1131430089580E091E00E94CD090895A0E0B0E015
S11314408093000190930101A0930201B0930301E2
S11314500895052E97FB1EF400940E94400A57FD40
S113146007D00E945B0A07FC03D04EF40C94400A98
S113147050954095309521953F4F4F4F5F4F0895BC
S113148090958095709561957F4F8F4F9F4F0895EC
S11314900E947D0AA59F900DB49F900DA49F800D7E
S11314A0911D11240895B7FF0C94480A0E94480A1C
S11314B0821B930B0895A1E21A2EAA1BBB1BFD01EC
S11314C00DC0AA1FBB1FEE1FFF1FA217B307E4071F
S11314D0F50720F0A21BB30BE40BF50B661F771F77
S11314E0881F991F1A9469F7609570958095909557
S11314F09B01AC01BD01CF010895A29FB001B39F30
S1131500C001A39F700D811D1124911DB29F700D08
S10F1510811D1124911D0895F894FFCF53
S113151C0100000074696D657220746573740A00AF
S113152C53494D4F4E2047414D450A456E746572E3
S113153C20796F7572207374617274696E6720649C
S113154C6966666963756C7479206C6576656C3A4A
S113155C0A312E20456173790A322E204D6F646551
S113156C726174650A332E2047697665206D652097
S113157C7061696E2E000A676F7420656C656D6509
S113158C6E742C2077616974696E672E2E2E0A0096
S113159C0A6E657874206C6576656C0A000A436F74
S11315AC7272656374210A000A496E636F72726504
S11315BC63742067756573732E0A000A596F75205E
S11315CC62656174207468652067616D65210A0029
S11315DC0A596F75206C6F6F73652C2074727920A7
S10B15EC616761696E3F0A00AA
S1130310CF910895CF93DF93CDB7DEB7A1970FB6F2
S1130320F894DEBF0FBECDBF80E090E0A8ECB2E44D
S113033089839A83AB83BC838CE290E0FC01808147
S1130340882F90E080749927892B09F07FC00000E2
S11303508CE290E0FC018081882F90E080749927E2
S1130360892BB1F389819A81AB81BC818A879B8770
S1130370AC87BD8720E030E04AE755E46A857B8599
S11303808C859D850E949909DC01CB018E879F870E
S1130390A88BB98B20E030E040E85FE36E857F8571
S11303A0888999890E94F40788232CF481E090E0DD
S11303B09B8B8A8B3FC020E03FEF4FE757E46E856D
S11303C07F85888999890E94940918164CF520E044
S11303D030E040E251E46A857B858C859D850E94EE
S11303E09909DC01CB01BC01CD010E947208DC013A
S11303F0CB019B8B8A8B0FC080E991E09D8B8C8B0A
S11304008C899D890197F1F79D8B8C8B8A899B89B7
S113041001979B8B8A8B8A899B89892B69F714C0E6
S11304206E857F85888999890E947208DC01CB01D9
S11304309B8B8A8B8A899B899F8B8E8B8E899F89C4
S11304400197F1F79F8B8E8B84E085C080E290E06A
S1130450FC0180818095837F89878985882309F4BD
S113046079C0000080E290E0FC0180818F3FD1F7E9
S113047089819A81AB81BC818D839E83AF83B88748
S113048020E030E04AE755E46D817E818F819885D4
S11304900E949909DC01CB01888F998FAA8FBB8FA9
S11304A020E030E040E85FE3688D798D8A8D9B8D94
S11304B00E94F40788232CF481E090E09D8F8C8FB8
S11304C03FC020E03FEF4FE757E4688D798D8A8D78
S11304D09B8D0E94940918164CF520E030E040E210
S11304E051E46D817E818F8198850E949909DC0198
S11304F0CB01BC01CD010E947208DC01CB019D8FB0
S11305008C8F0FC080E991E09F8F8E8F8E8D9F8D91
S11305100197F1F79F8F8E8F8C8D9D8D01979D8F05
S11305208C8F8C8D9D8D892B69F714C0688D798D86
S11305308A8D9B8D0E947208DC01CB019D8F8C8F6C
S11305408C8D9D8D99A388A388A199A10197F1F71A
S113055099A388A38985A1960FB6F894DEBF0FBE30
S1130560CDBFDF91CF910895CF93DF93CDB7DEB7A1
S113057063970FB6F894DEBF0FBECDBF898B7B8B1C
S11305806A8B1A8219828989882F90E0847099274E
S1130590892B11F080E289838989837F8A838BE2A6
S11305A090E02BE230E0F90130812A812327FC011D
S11305B020838EE290E02EE230E0F901308129813F
S11305C02327FC01208320E030E040E85EE364EA76
S11305D070ED84EA93E40E9486064A895B8928EEDA
S11305E033E0429FC001439F900D529F900D112410
S11305F0CC01A0E0B0E0BC01CD010E94A108DC0167
S1130600CB018B839C83AD83BE8320E030E04AE73B
S113061055E46B817C818D819E810E949909DC0166
S1130620CB018F839887A987BA8720E030E040E820
S11306305FE36F81788589859A850E94F407882312
S11306402CF481E090E09C878B873FC020E03FEF53
S11306504FE757E46F81788589859A850E949409CC
S113066018164CF520E030E040E251E46B817C81C7
S11306708D819E810E949909DC01CB01BC01CD01D1
S11306800E947208DC01CB019C878B870FC080E934
S113069091E09E878D878D859E850197F1F79E87D2
S11306A08D878B859C8501979C878B878B859C8503
S11306B0892B69F714C06F81788589859A850E9492
S11306C07208DC01CB019C878B878B859C85988B7A
S11306D08F878F8598890197F1F7988B8F878BE2A5
S11306E090E02BE230E0F90130812A812327FC01DC
S11306F020838EE290E02EE230E0F90130812981FE
S11307002327FC012083000063960FB6F894DEBF14
S11307100FBECDBFDF91CF910895CF93DF93CDB7B7
S1130720DEB781E290E0FC01108282E290E02FEFDC
S1130730FC0120838AE290E02FEFFC0120838BE20E
S113074090E02FEFFC0120838DE290E020E3FC0198
S113075020838EE290E02FEFFC0120830000DF91E4
S1130760CF9108958F929F92AF92BF92CF92DF92D2
S1130770EF92FF92CF93DF93CDB7DEB7A5970FB675
S1130780F894DEBF0FBECDBFF8940E9485000E948E
S11307908D030E94FF001A82198284E091E00E9476
S11307A05E0107C00E944C01882F90E0C0979A8395
S11307B0898389819A810497ACF789819A81181673
S11307C0190684F7A2C189819A8182309105D9F0F2
S11307D08330910569F1019709F03FC083E090E00F
S11307E09E838D8383E090E09C838B8385E090E0FF
S11307F098878F8383E090E09A87898785E090E0EB
S11308009C878B872AC084E090E09E838D8382E05E
S113081090E09C838B8387E090E098878F8383E0CC
S113082090E09A8789878AE090E09C878B8715C03F
S113083085E090E09E838D8381E090E09C838B83B0
S11308408AE090E098878F8385E090E09A87898793
S11308508FE090E09C878B8700001E861D86188A97
S11308601F861A8A198A0BC189859A85092E000C5C
S1130870AA0BBB0BBC01CD010E94A3086B017C0138
S11308802B853C8589859A85A901481B590BCA018A
S1130890092E000CAA0BBB0BBC01CD010E94A308BE
S11308A04B015C018D819E810197092E000CAA0BDE
S11308B0BB0BBC01CD010E94A308DC01CB019C0150
S11308C0AD01C501B4010E94F907DC01CB014C0163
S11308D05D0189899A89092E000CAA0BBB0BBC0106
S11308E0CD010E94A308DC01CB019C01AD01C5012F
S11308F0B4010E949909DC01CB01BC01CD010E9425
S1130900DD07DC01CB019C01AD01C701B6010E94EA
S11309107107DC01CB01BC01CD010E946B08DC0135
S1130920CB019B8F8A8F1C8A1B8A37C00E947A0A4C
S113093027E030E0B9010E94060A8D8B8D8983304F
S113094011F487E08D8B8D89282F30E081E090E0D1
S113095002C0880F991F2A95E2F78C8F8AE00E94C3
S113096028018D89805D0E9428018AE00E94280167
S11309709E012F5D3F4F8B899C89820F931F2C8D85
S1130980FC0120838B819C81BC018C8D0E94B4026C
S11309908B899C8901969C8B8B8B2B893C898A8DB6
S11309A09B8D2817390714F28F8198859093B30192
S11309B08093B2010E949B00198E188E53C01F8A27
S11309C01E8A0E94EB008823C1F08091B2019091AD
S11309D0B30101979093B3018093B2010E94CB00BD
S11309E00E949B002DEC3CEC4CEC5DE364EA70ED62
S11309F082E893E40E94860606C00E948A01882F3A
S1130A0090E09F8B8E8B8E899F89892B39F48091FE
S1130A10B2019091B301181619069CF28D859E853A
S1130A2001969E878D879E012F5D3F4F888D998DFE
S1130A30820F931FFC018081282F30E08E899F89CB
S1130A402817390741F48F8598890196988B8F87E9
S1130A500E94920502C00E94A805888D998D019676
S1130A60998F888F288D398D8A8D9B8D281739070A
S1130A700CF4A5CF89899A8901969A8B898B298947
S1130A803A898D819E81281739070CF4EDCE8F8524
S1130A909889092E000CAA0BBB0BBC01CD010E9446
S1130AA0A3086B017C018D859E85092E000CAA0B81
S1130AB0BB0BBC01CD010E94A308DC01CB019C014E
S1130AC0AD01C701B6010E94F907DC01CB018D8F8E
S1130AD09E8FAF8FB8A32DEC3CEC4CE45FE36D8D9F
S1130AE07E8D8F8D98A10E949409882354F089816A
S1130AF09A8101969A8389838AE591E00E945E0136
S1130B0004C00E946606000005C089819A8103978B
S1130B100CF459CE89819A8103970CF43CCE0E943F
S1130B20460639CECF93DF93CDB7DEB787E691E0A3
S1130B300E945E012DEC3CEC4CEC5DE360E070E067
S1130B408CED93E40E9486060000DF91CF91089516
S1130B50CF93DF93CDB7DEB72E970FB6F894DEBFF1
S1130B600FBECDBF82E791E00E945E012DEC3CEC0C
S1130B704CE45EE36CE57FEC82E893E40E94860635
S1130B8080E090E0A8ECB1E489839A83AB83BC83D2
S1130B9020E030E04AE755E469817A818B819C81C9
S1130BA00E949909DC01CB018D839E83AF83B887B2
S1130BB020E030E040E85FE36D817E818F8198859D
S1130BC00E94F40788232CF481E090E09A878987B7
S1130BD03FC020E03FEF4FE757E46D817E818F8176
S1130BE098850E94940918164CF520E030E040E204
S1130BF051E469817A818B819C810E949909DC018D
S1130C00CB01BC01CD010E947208DC01CB019A87A3
S1130C1089870FC080E991E09C878B878B859C85B1
S1130C200197F1F79C878B8789859A8501979A8725
S1130C30898789859A85892B69F714C06D817E819E
S1130C408F8198850E947208DC01CB019A8789877D
S1130C5089859A859E878D878D859E850197F1F775
S1130C609E878D872DEC3CEC4CE45EE36CE57FECD9
S1130C7082E893E40E94860600002E960FB6F8944C
S1130C80DEBF0FBECDBFDF91CF910895CF93DF9329
S1130C90CDB7DEB785E891E00E945E0120E030E048
S1130CA040E05FE360E070E083E893E40E9486063E
S1130CB020E030E040E05FE360E070E084EC93E447
S1130CC00E9486060000DF91CF910895CF93DF93B1
S1130CD0CDB7DEB78AE991E00E945E0120E030E002
S1130CE040E05FE360E070E085EA93E40E948606FA
S1130CF020E030E040E05FE360E070E083E993E40B
S1130D000E9486060000DF91CF910895CF93DF9370
S1130D10CDB7DEB76E970FB6F894DEBF0FBECDBF6A
S1130D206F8B788F898F9A8F2B8F3C8F4D8F5E8F2F
S1130D302F89388D498D5A8D60E070E080E89FE3FB
S1130D400E94F907DC01CB0120E030E040E050E4F0
S1130D50BC01CD010E94F907DC01CB0120E030E0A9
S1130D604AE754E4BC01CD010E949909DC01CB019E
S1130D708B839C83AD83BE832F89388D498D5A8D97
S1130D8060E070E080E89FE30E94F907DC01CB019A
S1130D909C01AD016B8D7C8D8D8D9E8D0E94F9071C
S1130DA0DC01CB01BC01CD010E946B08DC01CB014D
S1130DB098878F831A82198281C08B819C81AD812F
S1130DC0BE8189879A87AB87BC8720E030E04AE7F9
S1130DD055E469857A858B859C850E949909DC0197
S1130DE0CB018D879E87AF87B88B20E030E040E849
S1130DF05FE36D857E858F8598890E94F40788233B
S1130E002CF481E090E09A8B898B3FC020E03FEF87
S1130E104FE757E46D857E858F8598890E949409F4
S1130E2018164CF520E030E040E251E469857A85FB
S1130E308B859C850E949909DC01CB01BC01CD0105
S1130E400E947208DC01CB019A8B898B0FC080E968
S1130E5091E09C8B8B8B8B899C890197F1F79C8B00
S1130E608B8B89899A8901979A8B898B89899A892D
S1130E70892B69F714C06D857E858F8598890E94BA
S1130E807208DC01CB019A8B898B89899A899E8BA4
S1130E908D8B8D899E890197F1F79E8B8D8B8EE2C8
S1130EA090E02EE230E0F901308120E12327FC01BB
S1130EB0208389819A8101969A8389838F81988579
S1130EC029813A812817390708F477CF00006E96F4
S1130ED00FB6F894DEBF0FBECDBFDF91CF9108955A
S1130EE05058BB27AA270E9488070C9442090E94E5
S1130EF0340938F00E943B0920F039F49F3F19F47B
S1130F0026F40C9431090EF4E095E7FB0C940209E5
S1130F10E92F0E94530958F3BA176207730784072D
S1130F20950720F079F4A6F50C948D090EF4E0955C
S1130F300B2EBA2FA02D0B01B90190010C01CA018F
S1130F40A0011124FF27591B99F0593F50F4503E3A
S1130F5068F11A16F040A22F232F342F4427585F2C
S1130F60F3CF469537952795A795F0405395C9F744
S1130F707EF41F16BA0B620B730B840BBAF09150FC
S1130F80A1F0FF0FBB1F661F771F881FC2F70EC09B
S1130F90BA0F621F731F841F48F48795779567956E
S1130FA0B795F7959E3F08F0B0CF9395880F08F05A
S1130FB09927EE0F9795879508950E94750990F0EB
S1130FC09F3748F4911116F40C948E0960E070E098
S1130FD080E89FE3089526F01B16611D711D811D95
S1130FE00C9408090C9423090E94DE0808F481E09B
S1130FF008950E940D080C9442090E943B0958F080
S11310000E94340940F029F45F3F29F00C9402094E
S113101051110C948E090C9431090E94530968F300
S11310209923B1F3552391F3951B550BBB27AA279D
S113103062177307840738F09F5F5F4F220F331FD7
S1131040441FAA1FA9F335D00E2E3AF0E0E832D09F
S113105091505040E695001CCAF72BD0FE2F29D0A2
S1131060660F771F881FBB1F261737074807AB0774
S1131070B0E809F0BB0B802DBF01FF2793585F4FE9
S11310803AF09E3F510578F00C9402090C948E09B5
S11310905F3FE4F3983ED4F3869577956795B795CB
S11310A0F7959F5FC9F7880F911D9695879597F9D6
S11310B00895E1E0660F771F881FBB1F621773074F
S11310C08407BA0720F0621B730B840BBA0BEE1F64
S11310D088F7E09508950E9472086894B1110C9401
S11310E08E0908950E945B0988F09F5798F0B92FE4
S11310F09927B751B0F0E1F0660F771F881F991F49
S11311001AF0BA95C9F714C0B13091F00E948D0954
S1131110B1E008950C948D09672F782F8827B85F64
S113112039F0B93FCCF3869577956795B395D9F7A0
S11311303EF490958095709561957F4F8F4F9F4FAA
S11311400895E89409C097FB3EF4909580957095B6
S113115061957F4F8F4F9F4F9923A9F0F92F96E9FF
S1131160BB279395F695879577956795B795F11174
S1131170F8CFFAF4BB0F11F460FF1BC06F5F7F4F11
S11311808F4F9F4F16C0882311F096E911C0772323
S113119021F09EE8872F762F05C0662371F096E82C
S11311A0862F70E060E02AF09A95660F771F881FFB
S11311B0DAF7880F9695879597F90895990F00089F
S11311C0550FAA0BE0E8FEEF16161706E807F90715
S11311D0C0F012161306E407F50798F0621B730BB0
S11311E0840B950B39F40A2661F0232B242B252B31
S11311F021F408950A2609F4A140A6958FEF811DD4
S1131200811D089597F99F6780E870E060E0089574
S1131210882371F4772321F09850872B762F07C009
S1131220662311F499270DC09051862B70E060E07D
S11312302AF09A95660F771F881FDAF7880F96951C
S1131240879597F908959F3F31F0915020F4879541
S113125077956795B795880F911D9695879597F91A
S113126008959FEF80EC089500240A94161617063B
S113127018060906089500240A9412161306140683
S113128005060895092E0394000C11F4882352F0E6
S1131290BB0F40F4BF2B11F460FF04C06F5F7F4F9E
S11312A08F4F9F4F089557FD9058440F551F59F085
S11312B05F3F71F04795880F97FB991F61F09F3F3F
S11312C079F087950895121613061406551FF2CF68
S11312D04695F1DF08C0161617061806991FF1CFB8
S11312E0869571056105089408950E945B09A0F034
S11312F0BEE7B91788F4BB279F3860F41616B11DF2
S1131300672F782F8827985FF7CF8695779567950D
S1131310B11D93959639C8F30895E894BB276627C1
S11313207727CB0197F908950E94DE0808F48FEF20
S113133008950E94AC090C9442090E94340938F0C3
S11313400E943B0920F0952311F00C9402090C949F
S1131350310911240C948E090E94530970F3959F4E
S1131360C1F3950F50E0551F629FF001729FBB2798
S1131370F00DB11D639FAA27F00DB11DAA1F649F34
S11313806627B00DA11D661F829F2227B00DA11DE7
S1131390621F739FB00DA11D621F839FA00D611D6D
S11313A0221F749F3327A00D611D231F849F600D8E
S11313B0211D822F762F6A2F11249F5750409AF0B7
S11313C0F1F088234AF0EE0FFF1FBB1F661F771F43
S11313D0881F91505040A9F79E3F510580F00C940E
S11313E002090C948E095F3FE4F3983ED4F386958A
S11313F077956795B795F795E7959F5FC1F7FE2BAE
S1131400880F911D9695879597F9089597FB072E58
S113141016F4009407D077FD09D00E941A0A07FC3D
S113142005D03EF4909581959F4F089570956195F0
S11314307F4F0895AA1BBB1B51E107C0AA1FBB1F06
S1131440A617B70710F0A61BB70B881F991F5A954C
S1131450A9F780959095BC01CD0108958F929F9234
S1131460AF92BF92CF92DF92EF92FF92CF93DF932E
S1131470EC01688179818A819B81611571058105FF
S1131480910521F464E279ED8BE597E02DE133EFEA
S113149041E050E00E948A0A49015A019B01AC01D3
S11314A0A7EAB1E40E94A90A6B017C01ACEEB4EF97
S11314B0A50194010E94B70ADC01CB018C0D9D1D8E
S11314C0AE1DBF1DB7FF03C00197A109B0488883B3
S11314D09983AA83BB839F77DF91CF91FF90EF908D
S11314E0DF90CF90BF90AF909F908F9008950E940F
S11314F02E0A089580E091E00E942E0A0895A0E04B
S1131500B0E08093000190930101A0930201B09395
S113151003010895052E97FB1EF400940E94A10A6E
S113152057FD07D00E94BC0A07FC03D04EF40C946C
S1131530A10A50954095309521953F4F4F4F5F4FED
S1131540089590958095709561957F4F8F4F9F4F2B
S113155008950E94DE0AA59F900DB49F900DA49F4C
S1131560800D911D11240895B7FF0C94A90A0E94BF
S1131570A90A821B930B0895A1E21A2EAA1BBB1B76
S1131580FD010DC0AA1FBB1FEE1FFF1FA217B3074B
S1131590E407F50720F0A21BB30BE40BF50B661F61
S11315A0771F881F991F1A9469F760957095809525
S11315B090959B01AC01BD01CF010895A29FB0019C
S11315C0B39FC001A39F700D811D1124911DB29F73
S11115D0700D811D1124911D0895F894FFCF14
S11315DE0100000053494D4F4E2047414D450A45E9
S11315EE6E74657220796F7572207374617274698A
S11315FE6E6720646966666963756C7479206C65C0
S113160E76656C3A0A312E20456173790A322E20A2
S113161E4D6F6465726174650A332E204769766571
S113162E206D65207061696E2E000A6E65787420D7
S113163E6C6576656C0A000A436F72726563742179
S113164E0A000A496E636F7272656374206775656A
S113165E73732E0A000A596F7520626561742074C3
S113166E68652067616D65210A000A596F75206CE3
S113167E6F6F73652C2074727920616761696E3F98
S105168E0A004C
S9030000FC

Binary file not shown.

Binary file not shown.

View File

@ -10,22 +10,24 @@ void timer_init_ctc() {
TCCR1A = 0x00; //WGM10 = 0, WGM11 = 0 (CTC mode when combined with WGM12 in TCCR1B)
TCCR1B = (1 << WGM12);
TCNT1 = 0; // initialize timer at 0
//TIMSK1 |= (1<<OCIE1A); // enable int at timer1
}
void start_timer() {
TCNT1 = 0;
OCR1A = 0x3d09; // 1 second
if(TIFR1 & (1 << OCF1A)) TIFR1 |= (1 << OCF1A);
TCCR1B |= (1<<CS12) | (1 << CS10); //start timer with 1024 prescalar
//OCRN1A = (seconds to wait / (prescaler / f_cpu))
OCR1A = 0x3d09; // we'll only need to delay 1 second
if(TIFR1 & (1 << OCF1A)) TIFR1 |= (1 << OCF1A); //discard possible compare match
TCCR1B |= (1<<CS12) | (1 << CS10); //start timer with 1024 prescaler
}
//disable timer
void stop_timer() {
if(TIFR1 & (1 << OCF1A)) TIFR1 |= (1 << OCF1A);
TIMSK1 = (1 << WGM12);
if(TIFR1 & (1 << OCF1A)) TIFR1 |= (1 << OCF1A); //discard possible compare match
TIMSK1 = (1 << WGM12); //no clock source
}
//see if a second pas passed since start_timer
bool timer_done() {
return (TIFR1 & (1 << OCF1A));
return (TIFR1 & (1 << OCF1A)); //check if compare match
}

View File

@ -18,15 +18,45 @@
volatile int seconds_remaining; //will be used by ISR
#define SPEAKER_PORT PORTE
#define SPEAKER_PIN 4 //rename?
#define SPEAKER_PIN 4
#define ELEMENT_COUNT 7
//TODO get_button and display_element unnecessarily complex
/** GETTING/DISPLAYING ELEMENTS
* Two of the LEDs are connected to the RX1/TX1 pins, used for serial.
* Because of this, there's 7 possible elements.
* Here's how elements (guesses) are retrieved from buttons and displayed on LEDs:
* If the button is on PINA, the element is set to the reading from PINA,
* unmodified (aside from the two invalid buttons being masked).
* this allows easy LED outputting.
* If the button is the single one connected to PORTE,
* the 2nd bit is set. When displaying elements, we assume
* the second bit is the middle PORTE LED.
*/
uint8_t get_button() {
if(~PINE & (1 << 6)) return (1 << 2);
return ((~PINA) & ~(0b1100)); //TODO clean up
//debouncing is done by waiting for the user to stop pressing the button,
//then waiting an amount of time for the bouncing to stop.
const double debounce_wait = 100.0;
if(~PINE & (1 << 6)) {
while((~PINE & (1<<6)));
_delay_ms(debounce_wait);
return (1 << 2);
}
uint8_t porta_state = (~PINA) & ~(0b1100);
if(porta_state) {
while(PINA != 0xff);
_delay_ms(debounce_wait);
}
return porta_state;
}
//for documentation see above paragraph
void display_element(uint8_t element, unsigned int time) {
uint8_t portd_state = 0;
uint8_t porte_state = 0;
@ -42,23 +72,19 @@ void display_element(uint8_t element, unsigned int time) {
}
void init_io() {
//initilize IO registers
//Buttons
DDRA = 0x00;
PORTA = 0xff;
DDRD = 0xff;
//LEDs
DDRD = 0xff;
PORTD = 0xff;
DDRE = (1 << 4) | (1 << 5);
//speaker and middle LED
DDRE = (1 << 4) | (1 << 5);
PORTE = 0xff;
}
void test_timer() {
for(;;) {
usart_txstr("timer test\n");
start_timer();
while(!timer_done());
stop_timer();
}
}
int main(void) {
cli();
@ -78,6 +104,7 @@ int main(void) {
"2. Moderate\n"
"3. Give me pain.");
//ask until valid input
while((level > 3) || (level < 1)) level = (int)(usart_rxt_blocking() - '0');
@ -91,7 +118,7 @@ int main(void) {
double score;
uint8_t element_list[5]; // TODO
//this is where the level properties are set depending on level
switch(level) {
case 1:
sets = 3;
@ -117,31 +144,39 @@ int main(void) {
}
//main level
//it's easier to make a variable to count the number of guesses (max_score)
//and increment current_score after each correct guess to calculate total score
//as the number of elements per set scale.
int max_score = 0;
int current_score = 0;
int current_score = 0;
for(int set = 0; set < sets; set++) {
//scale from elements_min (first set) to elements_max (last set)
int elements = elements_min + ceil(((elements_max - elements_min) / (float)(sets - 1)) * set);
//generate, display elements
//randomly get, display elements
for(int element = 0; element < elements; element++) {
uint8_t element_bit = (rand() % ELEMENT_COUNT);
if(element_bit == 3) element_bit = 7;
// button 3 should never be pressed, so if 3 is randomly generated,
// we make it the last LED. We only generate 7 potential elements.
if(element_bit == 3) element_bit = 7;
uint8_t this_element = 1 << element_bit;
usart_txt('\n');
usart_txt(element_bit + '0');
usart_txt('\n');
element_list[element] = this_element; // could optimize
element_list[element] = this_element; //will be compared to guesses later
display_element(this_element, display_time);
}
//get elements
//get elements from buttono presses
//we'll poll the timer to see if a second has passed
//as timer only supports a max of 0xffff * (1024 / 16000000) seconds
seconds_remaining = response_time;
start_timer();
uint16_t guess;
for(int element = 0; element < elements; element++) {
usart_txstr("\ngot element, waiting...\n");
guess = 0;
do {
if(timer_done()) {
if(timer_done()) { //accounts for seconds passed
seconds_remaining--;
stop_timer(); //TODO only need one function
start_timer();
@ -149,7 +184,6 @@ int main(void) {
}
else { guess = get_button(); }
} while((!guess) && (seconds_remaining > 0));
_delay_ms(250); //prevent double press
max_score++;
if(guess == element_list[element]) {
current_score++;
@ -160,25 +194,19 @@ int main(void) {
}
}
}
//where we check the score. Score is calculated per level.
//If score under 80, we break back to the menu.
score = (float)current_score / max_score;
if(score >= .8) {
level++;
usart_txstr("\nnext level\n");
}
}
else {
loose();
break;
}
}
if(level >= 3) win();
}
}
//timer interrupt
ISR(TIMER1_COMPA_vect) {
if(seconds_remaining-- > 0) return;
for(;;) {
beep();
if(level >= 3) win(); //you win if you get past level 3
}
}
@ -206,8 +234,14 @@ void loose() {
beep(294., .5);
}
//TODO move somewhere else
/** can handle specific frequencies for a durientation of time.
* speaker_ms is caculated by taking the period, dividing by 2
* (as we need to flip speaker state once per cycle)
* then multiplies it by 1000 to convert to ms for _delay_ms.
* We control how long its played by making it loop,
* loop count is durientation of note / period.
* loop_count will be off by a max of 1 period.
**/
void beep(double frequency, double durientation) {
double speaker_ms = ((1.0 / frequency) / 2.0) * 1000.0; //TODO clean up
int loop_count = durientation / (1.0 / frequency);

View File

@ -5,14 +5,19 @@
* Author: bsw9xd
*/
#include "serial.h"
#define F_CPU 16000000UL
#define BAUD 9600 //standard minimum baud rate
void usart_init() {
volatile int ubrr = (F_CPU / (16UL * BAUD)) - 1; //TODO: why is this volatile int???
volatile int ubrr = (F_CPU / (16UL * BAUD)) - 1;
UCSR1A = 0; //async normal communication
//enable transmission/reception
UCSR1B = (1 << TXEN) | (1 << RXEN);
//8 bits per packet, no parity, 1 stop bit
UCSR1C = (1 << UCSZ0) | (1 << UCSZ1);
//set baud rate
UBRR1H = (unsigned char)(ubrr << 8);
UBRR1L = (unsigned char)ubrr;
}
@ -23,17 +28,16 @@ void usart_txt(char data) { //transmit data
}
char usart_rxt() {
if(UCSR1A & (1 << RXC)) {
return UDR1;
}
return '\0';
if(UCSR1A & (1 << RXC)) { return UDR1; } //attempt to get input,
return '\0'; //if there is none, then return null char
}
char usart_rxt_blocking() { //TODO maybe replace usart_txt
while(!(UCSR1A & (1 << RXC))); //TODO simplify
char usart_rxt_blocking() {
while(!(UCSR1A & (1 << RXC))); //wait for input via polling
return UDR1;
}
void usart_txstr(char *str) {
//transmit strong character by character untill null terminator
for(int i = 0; str[i] != '\0'; i++) usart_txt(str[i]);
}

View File

@ -8,9 +8,7 @@
#define SERIAL_H
#include <avr/io.h>
#define F_CPU 16000000UL
#define BAUD 9600
void usart_init();
void usart_txt(char data);