Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 1327 → Rev 1326

/branches/V0.74d-acid/Hex-Files/Flight-Ctrl_MEGA644_acid_v4.hex
0,0 → 1,3144
:100000000C94F2030C940D040C940D040C940D0448
:100010000C940D040C940D040C940D040C940D041C
:100020000C940D040C94ED520C940D040C940D04DE
:100030000C948F500C940D040C940D040C940D042E
:100040000C940D040C940D040C9487510C940D0425
:100050000C9448040C940D040C940F040C940D049F
:100060000C94700D0C940D040C943D570C940D04DD
:100070000C94645D0C940D040C940D041C0E0F0E76
:10008000030EE90DCF0DAB0DBD0DEB101F101C10B5
:10009000AB0D0910EF0FCF0FAF0F5D0F0B0F280E39
:1000A000B257A557F257D657CA5763577457745764
:1000B0007B579757925777577F577B578E579B574A
:1000C00077577F577B578A57A057775704582E008A
:1000D0000A0D20444143206F72204932432045528B
:1000E000524F522120436865636B204932432C20D4
:1000F00033567265662C2044414320616E64204271
:100100004C2D4374726C000A0D3D3D3D3D3D3D3D1F
:100110003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D0F
:100120003D3D3D3D3D3D3D3D3D3D3D3D000A0D4696
:100130006C69676874436F6E74726F6C0A0D486106
:100140007264776172653A25642E25640A0D536FD7
:100150006674776172653A5625642E25642563209E
:10016000000A0D47656E65726174696E672064658B
:100170006661756C74204D69786572205461626C9B
:1001800065000A0D4D697865722D436F6E6669676B
:100190003A202725732720282575204D6F746F720C
:1001A0007329000A0D466F756E6420424C2D43740E
:1001B000726C3A2000256420000A0D0A0D212120CE
:1001C0004D495353494E4720424C2D4354524C3ACB
:1001D000202564202121000A0D3D3D3D3D3D3D3D52
:1001E0003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3F
:1001F0003D3D3D3D3D3D3D3D3D3D3D3D000A0D49C3
:100200006E69742E20454550524F4D003A20476587
:100210006E65726174696E672044656661756C74A1
:100220002D506172616D65746572207573696E67BA
:10023000206F6C6420537469636B20536574746918
:100240006E6773000A0D414343206E6F7420636133
:100250006C696272617465642021000A0D557369CE
:100260006E6720706172616D65746572736574206C
:100270002564000A0D43616C6962726174696E677E
:100280002070726573737572652073656E736F721B
:100290002E2E004F4B0A0D000A0D436F6E74726FC5
:1002A0006C3A200048656164696E67486F6C640051
:1002B0004E6F726D616C20284143432D4D6F646514
:1002C00029000A0D3D3D3D3D3D3D3D3D3D3D3D3D12
:1002D0003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D4E
:1002E0003D3D3D3D3D3D3D0A0D005B25695D005BAB
:1002F00025695D002B204D696B726F4B6F707465C3
:1003000072202B0048573A5625642E2564205357F7
:100310003A25642E256425630053657474696E67FD
:100320003A256420257300493243204552524F52EA
:10033000212121004D697373696E6720424C2D4362
:1003400074726C3A256421210028632920486F6C5F
:10035000676572204275737300486F6568653A205F
:100360002020202025356900536F6C6C486F65682C
:10037000653A20253569004C756674647275636B47
:100380003A20253569004F66662020202020203A3B
:1003900020253569004B65696E65200048F6686563
:1003A0006E726567656C756E6700616B742E204CAC
:1003B000616765004E69636B3A202020202020256C
:1003C000356900526F6C6C3A2020202020202535A2
:1003D00069004B6F6D706173733A20202025356979
:1003E000004B313A25346920204B323A25346920BC
:1003F000004B333A25346920204B343A25346920A8
:10040000004B353A25346920204B363A2534692093
:10041000004B373A25346920204B383A253469207F
:10042000004E693A2534692020526F3A25346920FC
:100430000047733A253469202047693A25346920FA
:100440000050313A253469202050323A2534692051
:100450000050333A253469202050343A253469203D
:10046000004779726F202D2053656E736F72004EB6
:1004700069636B2025346920282533692E25692975
:1004800000526F6C6C2025346920282533692E2595
:100490006929004769657220253469202825336958
:1004A00029004E69636B2025346920282533692E85
:1004B00025782900526F6C6C20253469202825335B
:1004C000692E25782900476965722025346920281E
:1004D00025336929004E69636B202534692028255E
:1004E000336929282533692900526F6C6C20253423
:1004F000692028253369292825336929004769653A
:100500007220253469202825336929282533692953
:1005100000414343202D2053656E736F72004E6976
:10052000636B2025346920282533692900526F6CBC
:100530006C2025346920282533692900486F6368B9
:1005400020253469202825336929005370616E6E97
:10055000756E673A202025356900456D70662E500E
:100560006567656C3A253569004B6F6D7061737313
:1005700020202020202020005269636874756E6757
:100580003A2020253569004D657373776572743A9A
:1005900020202535690053746172743A2020202090
:1005A0002025356900506F7469313A202025336960
:1005B00000506F7469323A202025336900506F74FF
:1005C00069333A202025336900506F7469343A202A
:1005D0002025336900536572766F202000536574BF
:1005E000706F696E742020253369005374656C6CDC
:1005F000756E673A202533690052616E67653A254A
:1006000033692D2533690045787465726E436F6ECA
:1006100074726F6C2020004E693A25346920205294
:100620006F3A253469200047733A25346920204702
:10063000693A253469200048693A25346920204305
:10064000663A2534692000424C2D4374726C204573
:1006500072726F727320002025336420202533646A
:100660002020253364202025336420002025336496
:100670002020253364202025336420202533642066
:100680000020253364202025336420202533642076
:10069000202533642000424C2D4374726C20666F19
:1006A000756E6420002025632020202563202020F3
:1006B000256320202025632000202563202020257D
:1006C000632020202563202020256320002025632F
:1006D0002020202D2020202D2020202D0031300012
:1006E0003131003132000A0D506C65617365206351
:1006F0006F6E6E656374205370656B7472756D20D8
:10070000726563656976657220666F722062696ED4
:1007100064696E67204E4F572E2E2E006F6B2E0A87
:100720000D0054696D656F75742E0A0D0000008F01
:10073000001E01AD013B02CA025803E60374040225
:10074000058F051B06A7063307BE074808D2085BBE
:1007500009E3096B0AF20A780BFD0B810C040D8684
:100760000D070E870E060F840F00107B10F5106E1C
:1007700011E5115B12CF124213B31323149214FE2E
:10078000146A15D3153B16A11605176717C8172746
:10079000188318DE1837198E19E319361A871AD6F6
:1007A0001A231B6E1BB61BFD1B411C831CC31C00A4
:1007B0001D3C1D751DAB1DE01D121E421E6F1E9AB5
:1007C0001EC31EE91E0D1F2E1F4D1F691F841F9B78
:1007D0001FB01FC31FD31FE11FEC1FF51FFB1FFF1F
:1007E0001F00200011241FBECFEFD0E1DEBFCDBF20
:1007F00013E0A0E0B1E0EAE9F1EC02C005900D924F
:10080000AE3CB107D9F719E0AEECB3E001C01D92E0
:10081000A139B107E1F70C943D410C9400001F92FF
:100820000F920FB60F9211248F939F93EF93FF9324
:10083000809105038823A9F48091E1039091E2035C
:100840000196FC01EE59FA4FE081ED3079F08639DE
:10085000910561F09093E2038093E103E093C60079
:100860000EC01092E2031092E10309C01092E2035D
:100870001092E10381E080930503E093C600FF91AD
:10088000EF919F918F910F900FBE0F901F90189531
:100890001F920F920FB60F9211242F933F934F93F5
:1008A0005F938F939F93AF93BF93EF93FF9390E0EA
:1008B0008091C6008093D9035091E703563910F018
:1008C0009093E8038091D9038D3091F02091E80353
:1008D000822F99278130910509F46AC082309105F1
:1008E0000CF48CC0029709F47DC01092E803A6C0F6
:1008F0002091E803223061F79093E803852F992730
:100900008154994FFC01329740812091E30330914B
:10091000E403241B3109DC0111978C91281B310958
:10092000C9019F709093E4038093E3030024880F30
:10093000991F001C880F991F001C892F902D982F3C
:10094000935C9093E5032F733070235C2093E60350
:100950008081891709F46CC090E08091D6038F5F85
:100960008093D6038091D803882309F067C0992328
:1009700009F464C081E08093D803580F5093D503E5
:100980005150E52FFF27E154F94F8DE0808380918E
:10099000C106823509F052C088E190E02CE00FB624
:1009A000F894A895809360000FBE2093600046C025
:1009B0002F5F2093E803E52FFF27E154F94F809143
:1009C000D90380835F5F5093E7032091D90380911F
:1009D000E3039091E403820F911D9093E4038093CD
:1009E000E3032CC0E52FFF27E154F94F8091D90391
:1009F0008083563938F31092E803E7CF892B09F04A
:100A000074CF8091D903833259F08091D9038093B8
:100A1000BF0681E08093E7038091D9039927DDCF5A
:100A20008091D803882389F781E08093E803EDCF94
:100A30008C91821709F090CF91E094CFFF91EF91C4
:100A4000BF91AF919F918F915F914F913F912F9166
:100A50000F900FBE0F901F901895AC01A0E0B0E072
:100A60009D01A817B90748F4E2E6F5E08191280F47
:100A7000311D1196A417B507C8F33F70FD01EE595B
:100A8000FA4FC9010024880F991F001C880F991F75
:100A9000001C892F902D835C80831196FD01EE59F7
:100AA000FA4F2F733070822F835C8083AD59BA4F19
:100AB0008DE08C9310920503809162058093C600AF
:100AC0000895BF92CF92DF92EF92FF920F931F9300
:100AD000CF93DF93CDB7DEB72C859D857E85BB2474
:100AE00083E2809362059F59909363052093640588
:100AF00003E010E0772309F4ADC0CF84D88843E148
:100B0000E42EF12CEC0EFD1EA989BA8971501097C4
:100B100009F4A0C0109709F43CC0F601EB0DF11DDB
:100B2000B3949081119789F47723A1F1F70122E022
:100B300030E0E20EF31ED701C080D180E20EF31E3A
:100B40000D90BC91A02DBB247150109719F1F601A6
:100B5000EB0DF11DB3944081119709F466C0109715
:100B6000D1F0F601EB0DF11DB39460811197A1F462
:100B7000772391F0F7013296D701CD90DC9032E0E7
:100B8000E32EF12CEE0EFF1EA081B181BB2471502B
:100B900003C090E040E060E0F801EE59FA4F892F81
:100BA00086958695835C80830F5F1F4FF801EE5911
:100BB000FA4F892F99278370907082959295907F34
:100BC0009827807F982755279A01329522952F7074
:100BD00023273F702327822B835C80830F5F1F4F67
:100BE000F801EE59FA4F4F705070440F551F440FE3
:100BF000551F862F99270024880F991F001C880FE6
:100C0000991F001C892F902D842B835C80830F5F9C
:100C10001F4FF801EE59FA4F6F73635C60830F5FEB
:100C20001F4F109709F076CF15C0772309F4B3CF83
:100C3000F701A2E0B0E0EA0EFB1ED701C080D18030
:100C400022E030E0E20EF31E0D90BC91A02DBB24FB
:100C5000715085CFC8010E942D05DF91CF911F9162
:100C60000F91FF90EF90DF90CF90BF900895A3E099
:100C70007A2F4091D503465009F45FC0E72FFF2734
:100C8000E154F94F80818D537F5FE72FFF27E154B7
:100C9000F94F20812D537F5FE72FFF27E154F94F54
:100CA00030813D537F5FE72FFF27E154F94F60818B
:100CB0006D537F5F9927880F991F880F991F522FB7
:100CC00052955F70582B822F99278F709070829564
:100CD0009295907F9827807F9827232F2695269599
:100CE000282B832F992783709070002496958795E1
:100CF0000794969587950794982F802D682B4150DF
:100D00004F3FD9F0EA2FFF27E154F94F5083AF5FEF
:100D100041504F3F91F0EA2FFF27E154F94F2083D4
:100D2000AF5F41504F3F49F0EA2FFF27E154F94FA1
:100D30006083AF5F442309F0A1CF82EC96E09093EB
:100D4000D4038093D303A350A093D2030895CF93E9
:100D5000DF93CDB7DEB722970FB6F894DEBF0FBE94
:100D6000CDBF8091D803882309F4A9C20E94370619
:100D70008091C006823609F471C08091C10699271E
:100D80008436910509F457C08536910584F581367E
:100D9000910509F44EC1823691050CF4C2C0823629
:100DA000910509F49AC183369105C1F48091CE036F
:100DB0009091CF03892B09F049C2A091D303B09140
:100DC000D4039C91992309F037C29C918AE0989FA3
:100DD000C00111249093CF038093CE031092D803C7
:100DE0001092D4031092D3031092D20368C28C36AF
:100DF000910509F410C18D3691050CF0B3C087360A
:100E0000910509F42BC18836910541F78FEF809346
:100E10000303E091D303F091D403808190911705EF
:100E2000892B80931705882311F01092DA0381E053
:100E30008093DE03D3CFE091D303F091D40390816C
:100E40008AE0989FC00111249093010380930003CE
:100E5000892B21F281E08093DD03C0CF8091C10610
:100E600099278037910509F4F2C0813791050CF478
:100E700085C08337910509F45BC1843791050CF077
:100E80003CC18137910509F078CFA091D303B0918F
:100E9000D4038C918F3F09F406C28C91882309F00A
:100EA000FDC181E08C93A091D303B091D4034DE5B3
:100EB0006DEF77E08C910E949C4080910503882320
:100EC000E1F3E091D303F091D403808189838BE433
:100ED0008A838DE590E09F938F938DEF97E09F93AA
:100EE0008F9321E030E03F932F93CE0102969F93A2
:100EF0008F933F932F93CE01820F931F9F938F93D6
:100F000083E08F9381E08F9381E58F930E94610549
:100F1000ADB7BEB71F960FB6F894BEBF0FBEADBF3C
:100F20002CCF8B34910509F059CFE091D303F09188
:100F3000D40380819181909355048093540420912F
:100F4000520430915304821B930B845E9D4F68E6DC
:100F500071E00E947D60845B904090934F04809389
:100F60004E043CCF8437910509F47CC08637910547
:100F700009F034CF81E08093DC0330CF8D369105CA
:100F800029F18E3691050CF093C08B34910509F050
:100F9000F4CEA091D303B091D4038D919C91909302
:100FA0005504809354042091520430915304821BC1
:100FB000930B845E9D4F68E671E00E947D60845BC8
:100FC000904090934F0480934E04D7CE80910503B8
:100FD0008823E1F3A091D303B091D4039C91913085
:100FE00009F439C1198281E090E09F938F93CE017B
:100FF00001969F938F9381E08F938F938DE48F93CE
:101000000E9461058DB79EB707960FB6F8949EBFF4
:101010000FBE8DBFB2CE8FEF80930303E091D30359
:10102000F091D40380818093180581E08093DF03E1
:10103000D5CEE091D303F091D403E081E03258F0B3
:101040008FE1809304038FEF80930303C7CE81E089
:101050008093DB0392CEE0930403F5CF81E080938D
:10106000E003BCCE8091D503853108F4D4C0E09173
:10107000D303F091D40380E1AAE9B6E001900D9288
:101080008A95E1F7809105038823E1F31F9280910F
:1010900002038F9384E58F930E9461058AEF80930A
:1010A000D0038FEF809303030F900F900F9096CE95
:1010B0008E36910509F061CE809105038823E1F316
:1010C0008DE490E09F938F9385E597E09F938F93B6
:1010D00081E08F938F938EE492CFA091D303B09150
:1010E000D4038BE0E2EBF6E00D9001928A95E1F7F4
:1010F0008091BB068093E407A6CF8437910509F061
:101100003CCE8091D503853108F4B6C0A091D303BD
:10111000B091D40380E1EAE9F6E00D9001928A955E
:10112000E1F780EF8093D0038FEF8093030325CE08
:101130002091D3033091D403F9018081815085300F
:1011400018F481818B34E9F019828091050388239A
:10115000E1F381E090E09F938F93CE0101969F93FE
:101160008F9381E08F938F9383E58F930E94610526
:10117000EDB7FEB737960FB6F894FEBF0FBEEDBFC2
:10118000FCCD6DEF77E08DE52E5F3F4FDB01F90180
:10119000982F01900D929A95E1F722503040482FF8
:1011A000D9018C910E94C54080912A089927AA27CD
:1011B000BB27BC01CD0124EC39E040E050E00E94A7
:1011C0003E60DC01CB018093330390933403A09302
:1011D0003503B093360380912B089927AA27BB27A4
:1011E000BC01CD010E943E60DC01CB0180932F0346
:1011F00090933003A0933103B0933203E091D30373
:10120000F091D40380810E94B9400E94F440898308
:101210000E94F7139ACFE091D303F091D403808119
:101220009181A281B38180939A0690939B06A093AB
:101230009C06B0939D0626CF8AE0989FC00111249A
:101240000E946A529093610580936005A091D30338
:10125000B091D403BACD45E557E08DE4FA01282FCB
:101260000D9001922A95E1F7A8EEB3E0FA01182E4D
:101270000E9436609983B7CEA091D303B091D40376
:101280008D919D910D90BC91A02D80939A06909385
:101290009B06A0939C06B0939D0643CF863008F42E
:1012A00006CE85E0FFCD0E94F440E091D303F0919B
:1012B000D4038083A091D303B091D403EECD2296C2
:1012C0000FB6F894DEBF0FBECDBFDF91CF9108956A
:1012D000CF93C82F8A3029F08091C00085FFFCCFC2
:1012E00004C08DE00E946809F7CFC093C60080E07B
:1012F00090E0CF910895089588E18093C100809196
:10130000C00082608093C0008091C100806880939B
:10131000C1008091C10080648093C1008AE2809303
:10132000C40080910003909101030E946A5290933F
:101330008F0680938E068CED90E00E946A52909307
:10134000BE068093BD06109290068AE480939106B3
:1013500083E0809394068AE08093920681E08093F4
:1013600093061092D4031092D3031092D2030895DF
:10137000EF92FF920F931F9380910503882309F446
:1013800078C28091DE03882309F082C08091DF0358
:10139000882329F080910503882309F07FC180917B
:1013A000DC03882329F080910503882309F05BC1C1
:1013B0008091E003882329F080910503882309F0B8
:1013C00036C18091BD069091BE060E94735288235B
:1013D00029F080910503882309F0C8C0809100039B
:1013E00090910103892B09F084C18091DD0388234A
:1013F00029F080910503882309F00FC28091CE0364
:101400009091CF03892B09F07EC1209104032F3FD7
:1014100059F180E190E09F938F93822F99278295D5
:101420009295907F9827807F982780509F4F9F9319
:101430008F9381E090E09F938F9384E093E09F935C
:101440008F9382E08F9381E08F9381E48F930E944A
:1014500061058FEF809304038DB79EB70B960FB68F
:10146000F8949EBF0FBE8DBF8091E407882329F0BA
:1014700080910503882309F05EC08091DB038823F7
:1014800009F4F7C180910503882309F4F2C139C03A
:1014900080910503882309F479CF0E94674584E190
:1014A00090E09F938F939091DA0384E1989FC0011D
:1014B00011248F599C4F9F938F9381E090E09F93CD
:1014C0008F938AED93E09F938F9382E08F9381E0D7
:1014D0008F9388E48F930E9461058091DA038F5F78
:1014E0002DB73EB7255F3F4F0FB6F8943EBF0FBEF6
:1014F0002DBF843008F4B8C11092DA031092DE03D5
:1015000045CF86E190E09F938F938AEC98E09F937C
:101510008F9381E08F938F9380E58F930E94610575
:101520001092DB038DB79EB707960FB6F8949EBF57
:101530000FBE8DBF9EC181E090E09F938F9384EE9C
:1015400097E09F938F9381E08F938F9382E48F93A3
:101550000E9461051092E4072DB73EB7295F3F4F07
:101560000FB6F8943EBF0FBE2DBF87CF80911108F4
:101570009927880F991F880F991F7C010027F7FC76
:101580000095102F80918E0490918F04A09190046B
:10159000B0919104BC01CD01A80197010E94B260F5
:1015A0003093AB062093AA0680918604909187041D
:1015B000A0918804B0918904BC01CD01A8019701D4
:1015C0000E94B2603093AD062093AC06809128044F
:1015D0008093AE06809127048093AF0688E090E068
:1015E0009F938F938AEA96E09F938F9381E08F93E6
:1015F00083E08F9387E78F930E9461058091B00607
:101600002DB73EB7295F3F4F0FB6F8943EBF0FBED0
:101610002DBF853018F086E08093B00683E690E019
:101620000E946A529093BE068093BD06D7CE8BE08F
:1016300090E09F938F9382EB96E09F938F9381E04E
:101640008F93809102038F9387E48F930E946105AB
:101650001092E0038DB79EB707960FB6F8949EBF21
:101660000FBE8DBFAECE8AE090E09F938F9380E94E
:1016700096E09F938F9381E08F938F9386E58F936E
:101680000E9461051092DC032DB73EB7295F3F4FE2
:101690000FB6F8943EBF0FBE2DBF8ACE0E9467459D
:1016A00080E590E09F938F9381E693E09F938F93E3
:1016B00021E030E03F932F9380E693E09F938F9358
:1016C0003F932F9388E195E09F938F9383E08F93CF
:1016D00081E08F938CE48F930E9461051092DF0369
:1016E0008DB79EB70F960FB6F8949EBF0FBE8DBFF5
:1016F00056CE80918E0690918F060E947352882359
:1017000009F077CE72CE80916005909161050E94BC
:101710007352882309F479CE80910503882309F454
:1017200074CE809111089927880F991F880F991FEF
:101730007C010027F7FC0095102F80918E0490917A
:101740008F04A0919004B0919104BC01CD01A80137
:1017500097010E94B2603093530520935205809107
:10176000860490918704A0918804B0918904BC01FB
:10177000CD01A80197010E94B260309355052093D6
:1017800054052091BF083091C0084091C108509184
:10179000C208DA01C90103E0880F991FAA1FBB1F05
:1017A0000A95D1F7820F931FA41FB51F820F931FB5
:1017B000A41FB51F209117033091180340911903FE
:1017C00050911A03BC01CD010E94B26030935705BD
:1017D000209356058EE090E09F938F9382E595E0ED
:1017E0009F938F9381E08F938F9383E48F930E94D5
:1017F00061058091CE039091CF030E946A5290932D
:101800006105809360052DB73EB7295F3F4F0FB646
:10181000F8943EBF0FBE2DBFF8CD82E490E09F93B9
:101820008F9382EA97E09F938F9381E08F938F93BA
:1018300084E48F930E9461051092DD038DB79EB7FB
:1018400007960FB6F8949EBF0FBE8DBF8091000320
:1018500090910103009709F4D1CD0E946A529093B0
:101860008F0680938E06CACD8093DA031092DE0332
:101870008DCD1F910F91FF90EF90089510927C00F5
:101880008FEC80937A000895EF92FF920F931F934D
:10189000CF93DF9303E010E0D8010E941D60802DFC
:1018A000C82FDD27C531D10508F02A97C7BD109292
:1018B000F00384E690E00E948C5280910A0390919C
:1018C0000B038255934010F4C0E0D0E0CA3FD1052D
:1018D000E0F48EECE82E80E0F82EC7BD82E390E0C5
:1018E0000E948C52FF92EF921F920E94E54D8091D0
:1018F0000A0390910B030F900F900F908255934025
:1019000020F02196CA3FD10540F3D8010C2E0E9449
:101910002A60C093F2078CE291E00E948C52DF9122
:10192000CF911F910F91FF90EF900895EF92FF924A
:101930000F931F93CF93DF9300E00093EB0300938B
:10194000EA030093E90380ED97E00E946A52EC01FC
:101950001CE821E0F22E95EFE92E033009F4ABC02C
:1019600000E08091FC039091FD038C5F93400CF0AC
:1019700091C0809109038150809309038091FA03FB
:101980009091FB038C5F93400CF079C08091080329
:101990008150809308038091F8039091F9038C5F44
:1019A00093400CF04AC08091070381508093070355
:1019B00088E080933B050E940257809109038A309A
:1019C00008F055C0F092EB038AE080930903809100
:1019D00008038A3008F043C0F092EA038AE080935B
:1019E0000803809107038A3098F5F092E9038AE0B2
:1019F0008093070380913B05882379F0CE010E94F4
:101A000073528823B9F380ED90E09F938F931F92D8
:101A10000E94E54D0F900F900F901092ED078FEC04
:101A200080937A008091ED078823E1F31A3008F45F
:101A300047C0115009F091CF48C08091F8039091B0
:101A4000F903875094408CF1809107038F5FAECFEC
:101A5000863F80F2F092E903E0920703CBCF863F06
:101A600008F4BFCFF092EA03E0920803BACF863FB2
:101A700008F4ADCFF092EB03E0920903A8CF809178
:101A8000FA039091FB03875094408CF080910803F7
:101A90008F5F7FCF8091FC039091FD03875094402E
:101AA00044F0809109038F5F67CF0F5F81CF0F5F95
:101AB00072CF01E063CF1B3008F452CF19E050CF52
:101AC0008AE090E00E948C52B4CF86E490E00E94BD
:101AD0008C52DF91CF911F910F91FF90EF9008955D
:101AE0001F920F920FB60F921124EF92FF920F9355
:101AF0001F932F933F934F935F936F937F938F9396
:101B00009F93AF93BF93CF93DF93EF93FF93209176
:101B10000504822F9927AA27BB272F5FFC01429734
:101B200040F4E25CFF4FEE0FFF1F0590F491E02DB3
:101B300009941092050482E08093040480910404C7
:101B400080937C0080910504882309F4F9C38FEC0D
:101B500080937A00F5C320930504809178009091DA
:101B6000790020910A0430910B04820F931F909307
:101B70000B0480930A0481E0DFCF20930504809159
:101B80007800909179002091080430910904820F27
:101B9000931F909309048093080484E0CDCF209391
:101BA0000504809178009091790020919C043091F7
:101BB0009D04821B930B9093F1078093F007809113
:101BC000F0079091F107909313048093120482E040
:101BD000B3CF2093050480919A0490919B042091A7
:101BE000780030917900821B930B9093E6078093E5
:101BF000E5078091E5079091E607909311048093A3
:101C0000100487E099CF209305048091780090918B
:101C10007900909307048093060486E08DCF20938B
:101C200005042091780030917900309309042093C5
:101C300008041092040482CF2093050420917800B8
:101C40003091790030930B0420930A0481E074CF23
:101C50001092050481E0809306038091EC0390913B
:101C6000ED0301969093ED038093EC03809178004F
:101C7000909179002091F5073091F607820F931F1C
:101C80009093F6078093F5078091ED078F5F80931F
:101C9000ED078091ED07853008F44DCF8091F50771
:101CA0009091F60797FD36C3959587959093F60723
:101CB0008093F507809178009091790090930B03C1
:101CC00080930A031092ED078091EE039091EF0349
:101CD000BC01660F771F62957295707F7627607FD3
:101CE0007627681B790B80912C03482F552780910C
:101CF000F003282F332727FD30958FEF90E0289FA2
:101D00008001299F100D389F100D11248091E90743
:101D10009091EA07800F911F2091F5073091F60707
:101D2000821B930B2091350430913604821B930B58
:101D3000489F9001499F300D589F300D1124620F2C
:101D4000731F77FDE4C275956795759567957595D1
:101D5000679575956795759567957093EF03609393
:101D6000EE038091F5079091F607EC01EE27D7FD81
:101D7000E095FE2F20910C0330910D0340910E034E
:101D800050910F03DA01C90163E0880F991FAA1F60
:101D9000BB1F6A95D1F7821B930BA40BB50BC80F21
:101DA000D91FEA1FFB1FCE01DF010496A11DB11D43
:101DB000B7FDA7C243E0B595A795979587954A9536
:101DC000D1F780930C0390930D03A0930E03B0936F
:101DD0000F038091E9079091EA07800F911F2091EE
:101DE0000C0330910D0340910E0350910F03821BA1
:101DF000930B90933604809335048091F50790916E
:101E0000F60797FD7CC2959587959093F60780938A
:101E1000F50782E091CE209305042091780030915F
:101E200079008091080490910904280F391F80914E
:101E300056038A3009F44DC2220F331F220F331F7D
:101E40003093090420930804C90137FD51C29595C8
:101E5000879595958795959587959093FB038093A6
:101E6000FA0380910E0490910F04820F931F97FD47
:101E700044C29595879590930F0480930E0420910A
:101E8000A4043091A504821B930B909311038093BB
:101E9000100320910004309101048091100390916F
:101EA0001103280F391F37FD25C23595279530932B
:101EB00001042093000483E03FCE20930504209189
:101EC00078003091790080910A0490910B04280FDA
:101ED000391F809156038A3009F4F8C1220F331F4D
:101EE000220F331F30930B0420930A04C90137FDDE
:101EF000FDC195958795959587959595879590932F
:101F0000FD038093FC0380910C0490910D04820FDB
:101F1000931F97FDE9C19595879590930D04809344
:101F20000C042091A6043091A704821B930B90937C
:101F300013038093120320910204309103048091D3
:101F4000120390911303280F391F37FDCAC135952D
:101F50002795309303042093020481E0EDCD209374
:101F60000504809178009091790020919C04309133
:101F70009D04821B930B9093F1078093F00780914F
:101F8000F0079091F1072091120430911304820F11
:101F9000931F9093F5038093F40382E0CDCD2093BB
:101FA000050480919A0490919B04209178003091CF
:101FB0007900821B930B9093E6078093E50780914D
:101FC000E5079091E6072091100430911104820FEB
:101FD000931F9093F7038093F60387E0ADCD209392
:101FE0000504809156038A3009F462C1843109F4F2
:101FF00093C18091780090917900209106043091EE
:102000000704820F931F9093F9038093F80386E0EF
:1020100093CD2093050480917800909179002091D0
:10202000080430910904820F931F90930904809350
:1020300008041092040482CD2093050417CE209347
:1020400005048091780090917900AA2797FDA095CA
:10205000BA2FBC01CD010E94A65F7B018C0180914B
:10206000940490919504A0919604B09197049C01DA
:10207000AD01C801B7010E94465FDC01CB01BC0184
:10208000CD010E94895FDC01CB019093F303809323
:10209000F2038091F2039091F30302970CF4BAC01B
:1020A0008091940490919504A0919604B091970426
:1020B00020E030E84BE354E4BC01CD010E94B05F66
:1020C0008823DCF58091940490919504A091960466
:1020D000B09197042AE037ED43EA5CE3BC01CD01FF
:1020E0000E94475FDC01CB01809394049093950498
:1020F000A0939604B09397048091150490911604D0
:10210000845F9140D0F48091940490919504A091C3
:102110009604B09197042DEC3CEC4CEC5DE3BC01D3
:10212000CD010E94475FDC01CB0180939404909322
:102130009504A0939604B093970481E08093F103F3
:1021400080917800909179009093E8078093E70759
:102150008091F2039091F303AA2797FDA095BA2FDF
:1021600020915604309157044091580450915904DD
:10217000820F931FA41FB51F80935604909357049A
:10218000A0935804B09359042091560430915704F9
:10219000409158045091590457FD9EC07AE05595DE
:1021A0004795379527957A95D1F780915604909168
:1021B0005704A0915804B0915904821B930BA40BAF
:1021C000B50B8093560490935704A0935804B09392
:1021D000590483E0B1CC20930504809114039091BD
:1021E00015039C01220F331F280F391F809178009F
:1021F0009091790063E070E00E946960260F371FBC
:10220000369527953695279530931503209314031B
:1022100085E092CC8091F2039091F3038F5F9F4F02
:102220000CF08BCF8091940490919504A09196042A
:10223000B091970420E030E849E054E4BC01CD01BE
:102240000E94B35F18160CF078CF8091940490919F
:102250009504A0919604B09197042AE037ED43EAE3
:102260005CE3BC01CD010E94465FDC01CB018093A1
:10227000940490939504A0939604B093970480914E
:10228000150490911604845F914008F056CF809118
:10229000940490919504A0919604B09197042DEC2C
:1022A0003CEC4CEC5DE3BC01CD010E94465F3BCFB2
:1022B0008091780090917900209106043091070474
:1022C000820F931F0196969587959DCE220F331FFF
:1022D00009CE220F331FB4CD21503C4F4F4F5F4FDB
:1022E0005DCF2F5F3F4F33CE019615CE079601CEBF
:1022F0000796ADCD2F5F3F4FD8CD0196BACD019651
:1023000082CDCE01DF010B96A11DB11D53CD615EC3
:102310007F4F19CD0196C8CC8091780090917900BB
:102320002091060430910704820F931F2FEF37E0AE
:10233000281B390B3093F9032093F80386E0FCCB7C
:10234000FF91EF91DF91CF91BF91AF919F918F91CD
:102350007F916F915F914F913F912F911F910F91BD
:10236000FF90EF900F900FBE0F901F90189581E097
:102370008093FD0782E08093FE0783E08093FF0750
:1023800084E08093000885E08093010886E08093D4
:10239000020887E08093030888E08093040808958A
:1023A0001F9388E6809305083EE1309306088BEF83
:1023B000809308088AE080930908309307083093D7
:1023C0000B08E4E0E0930A085FE050930C083093B8
:1023D0000D081CE010930E0878E070930F0886EE4D
:1023E000809310083093110880E88093120880E5EC
:1023F0008093130826E92093140883E0809315083E
:102400008EE58093160883E28093170830931808AE
:102410001092190860E260931A0810921B0810923B
:102420001C0810921D0810921E0810922F0810927E
:102430003008109231081092320844E640931F0889
:1024400088E2809320081092490892E39093210833
:102450002093220885E080932308909324082AE59E
:102460002093250890932608109248082093270867
:1024700083E4809328081092290885E580932A0830
:1024800080932B0880E180932C0860932D08409363
:102490002E088FE58093330883EF8093350850939F
:1024A0003408509336088DEF8093370840933808EE
:1024B0002093390820933A0820933B088BE48093BB
:1024C0003C0880933D0880933E0810923F0886E0C8
:1024D000809340087093410820934208309343084A
:1024E0004093440840934508E0934608ABE3B3E0CB
:1024F000EEE4F8E00D9001921A95E1F71F9108952E
:102500001F9388E6809305085EE1509306088BEFE1
:10251000809308088AE08093090850930708509335
:102520000B0893E090930A081CE010930C0880E1DC
:1025300080930D0876E070930E0868E060930F08B2
:1025400086EE809310085093110880E8809312085B
:1025500080E58093130888E780931408909315080A
:102560008EE58093160883E280931708509318082D
:102570001092190830E230931A0810921B0810923A
:102580001C0810921D0810921E0810922F0810921D
:102590003008109231081092320844E640931F0828
:1025A00088E2809320081092490892E390932108D2
:1025B00086E98093220885E080932308909324087D
:1025C0002AE5209325089093260810924808209326
:1025D000270883E4809328088CE38093290885E505
:1025E00080932A0880932B0830932C0830932D0871
:1025F0009BE490932E088FE58093330883EF8093BC
:10260000350884E180933408809336088DEF8093F9
:102610003708409338082093390820933A082093CC
:102620003B0890933C0890933D0890933E0810928D
:102630003F087093400860934108209342085093EC
:102640004308409344084093450884E0809346083B
:10265000A2E4B3E0EEE4F8E00D9001921A95E1F700
:102660001F91089588EE809305083EE13093060897
:102670008BEF809308088AE080930908309307085D
:1026800030930B0893E090930A0858E050930C089D
:1026900020E120930D0866E060930E0850930F0828
:1026A00086EE809310083093110880E8809312081A
:1026B00044E64093130888E7809314089093150824
:1026C0008EE58093160883E28093170884E1809357
:1026D00018081092190820931A0810921B081092DB
:1026E0001C0810921D0810921E0810922F081092BC
:1026F0003008109231081092320840931F0888E287
:10270000809320081092490892E39093210886E96B
:102710008093220885E080932308909324082AE57B
:1027200020932508909326081092480820932708A4
:1027300083E48093280886E48093290885E58093C4
:102740002A0880932B0880E280932C0880932D0820
:1027500090932E088FE58093330883EF809335089C
:1027600030933408309336088DEF809337084093C8
:1027700038082093390820933A0820933B088BE4CB
:1027800080933C0880933D0880933E0810923F0858
:1027900060934008509341082093420830934308C7
:1027A000409344084093450884E0809346088CE0B9
:1027B000AAE4B3E0EEE4F8E00D9001928A95E1F727
:1027C00008956817790744F4680F791F77FD09C0E9
:1027D000CB01959587950895681B790B861B970B00
:1027E00008956F5F7F4FCB019595879508950F935F
:1027F0001F93CF93C82FC150CF3F81F004E610E064
:1028000080913704882351F41093290500932805FB
:102810008AEF90E00E947F52C15090F7CF911F91B4
:102820000F9108952F923F924F925F926F927F92F5
:102830008F929F92AF92BF92CF92DF92EF92FF92D0
:102840000F931F93CF93DF93CDB7DEB7ED970FB6FE
:10285000F894DEBF0FBECDBF2091A2043091A30437
:102860008091F8039091F903281B390B3A87298747
:102870003093B9082093B8082091020430910304E2
:1028800037FDD4C7359527953595279535952795E7
:102890003AA729A73C872B87790120910004309122
:1028A000010437FDC0C73595279535952795359592
:1028B00027953CA72BA73E872D87F0927908E092B9
:1028C000780830936F0820936E088091A708909144
:1028D000A808AA2797FDA095BA2F7C018D01EE0CC0
:1028E000FF1C001F111FE80EF91E0A1F1B1F8091FD
:1028F000F4039091F5039C01442737FD4095542F34
:10290000DA01C901880F991FAA1FBB1F880F991FE1
:10291000AA1FBB1F820F931FA41FB51F820F931FF7
:10292000A41FB51FE80EF91E0A1F1B1F17FD9CC729
:1029300015950795F794E79415950795F794E794FF
:10294000F092A808E092A7088091C3089091C4086B
:10295000AA2797FDA095BA2F7C018D01EE0CFF1CD4
:10296000001F111FE80EF91E0A1F1B1F8091F6039E
:102970009091F7039C01442737FD4095542FDA01CD
:10298000C901880F991FAA1FBB1F880F991FAA1F73
:10299000BB1F820F931FA41FB51F820F931FA41F7D
:1029A000B51FE80EF91E0A1F1B1F17FD54C715950A
:1029B0000795F794E79415950795F794E794F092A7
:1029C000C408E092C3088091760890917708AA27FE
:1029D00097FDA095BA2F9C01AD01220F331F441F14
:1029E000551F280F391F4A1F5B1F8091F2039091DA
:1029F000F303AA2797FDA095BA2F280F391F4A1F66
:102A00005B1F57FD16C755954795379527955595E3
:102A1000479537952795309377082093760820912E
:102A2000F4033091F503C901880F991F880F991F8E
:102A3000820F931F820F931FAA2797FDA095BA2F8D
:102A400020917E0430917F04409180045091810454
:102A5000820F931FA41FB51F80937E0490937F0461
:102A6000A0938004B09381042091F6033091F70382
:102A7000C901880F991F880F991F820F931F820F1A
:102A8000931FAA2797FDA095BA2F20917A04309121
:102A90007B0440917C0450917D04820F931FA41FFE
:102AA000B51F80937A0490937B04A0937C04B09329
:102AB0007D0480918108909182082091F4033091E7
:102AC000F503820F931F9093820880938108809171
:102AD000BB089091BC082091F6033091F703820F58
:102AE000931F9093BC088093BB08809198049091A9
:102AF00099040196909399048093980480917604A8
:102B000090917704A0917804B0917904BC01CD0133
:102B10000E94A65F5B016C018091E7079091E80736
:102B2000AA2797FDA095BA2FBC01CD010E94A65FF0
:102B30007B018C018091940490919504A09196045E
:102B4000B09197049C01AD01C801B7010E94465F96
:102B5000DC01CB019C01AD01C601B5010E94475FBC
:102B6000DC01CB01BC01CD010E94895FDC01CB01FE
:102B70008093760490937704A0937804B0937904BB
:102B80008FEC80937A0010920603209066043090B8
:102B90006704409068045090690439E423163BE6CA
:102BA000330631E0430630E053060CF414C188E4E8
:102BB0009BE6A1E0B0E08D839E83AF83B8876090F1
:102BC0006E0470906F04809070049090710439E4EA
:102BD00063163BE6730631E0830630E093060CF49F
:102BE000DCC488E49BE6A1E0B0E089839A83AB83F0
:102BF000BC8349855A85CA01AA2797FDA095BA2F9B
:102C000020915E0430915F04409160045091610412
:102C1000280F391F4A1F5B1F2DA33EA34FA358A7A0
:102C2000A090BF08B090C008C090C108D090C20862
:102C3000A80EB91ECA1EDB1E8601750130912E0436
:102C40003BA3332309F0DAC080912D04882309F0D7
:102C5000C2C4409105084CA346FF13C6EBA5FCA5D2
:102C6000CF01AA2797FDA095BA2FBC01CD012981DC
:102C70003A814B815C810E943E609B01AC0197FDD3
:102C80002CC7BBE05595479537952795BA95D1F751
:102C900080911F03E82EFF2400271127C801B701E8
:102CA0000E943E6097FD14C7ACE095958795779597
:102CB0006795AA95D1F76F87788B898B9A8B6093EC
:102CC000B0047093B1048093B2049093B30429A527
:102CD0003AA5C901AA2797FDA095BA2FBC01CD013D
:102CE0002D813E814F8158850E943E609B01AC0141
:102CF00097FD01C7FBE05595479537952795FA95C0
:102D0000D1F7C801B7010E943E6097FDEFC6DC0114
:102D1000CB01ECE0B595A79597958795EA95D1F706
:102D20008093B4049093B504A093B604B093B70411
:102D30002091B0043091B1043093F8072093F70745
:102D40002091B4043091B5043093FC072093FB0725
:102D50002F85388949895A89821B930BA40BB50B9F
:102D60008AAF9BAFACAFBDAF8093B4049093B50472
:102D7000A093B604B093B704A80EB91ECA1EDB1EFA
:102D80008601750130911E033DA7332309F0A3C5C9
:102D90008EA79FA7A8ABB9ABB7FD61C62EA53FA56F
:102DA00048A959A955954795379527958DA19EA175
:102DB000AFA1B8A5821B930BA40BB50B8DA39EA34B
:102DC000AFA3B8A780935E0490935F04A0936004C0
:102DD000B09361048CC598EB291694E939069EEFEF
:102DE00049069FEF59060CF0F1C328EB34E94EEF8A
:102DF0005FEF2D833E834F835887E1CE2DA13EA107
:102E00004FA158A520935E0430935F044093600463
:102E100050936104309105083CA31092FC07109276
:102E2000FB071092F8071092F7071092AC0410926B
:102E3000AD041092AE041092AF041092A804109248
:102E4000A9041092AA041092AB0430911E033DA76E
:102E50008091AC049091AD04A091AE04B091AF0408
:102E6000BC01CD0124E630E040E050E00E94B260B9
:102E7000DA01C9014091A8045091A904481B590BDB
:102E800058A34F8F8091A8049091A904A091AA04FF
:102E9000B091AB04BC01CD0124E630E040E050E04D
:102EA0000E94B260DA01C9012091AC043091AD04F6
:102EB000821B930B9AA389A3809117039091180307
:102EC000A0911903B0911A03BC01CD0128E631E0AD
:102ED00040E050E00E943E60E616F706080719073A
:102EE00044F057016801A61AB70AC80AD90A860130
:102EF000750117FDA3C4A092BF08B092C008C0928C
:102F0000C108D092C2082BA53CA58F8D98A1280F8F
:102F1000391F79010027F7FC0095102F809162047A
:102F200090916304A0916404B0916504E80EF91EC9
:102F30000A1F1B1F570168018091310490913204D0
:102F4000281B390BC901AA2797FDA095BA2F280E77
:102F5000391E4A1E5B1E20912F0330913003409191
:102F6000310350913203221533054405550574F49D
:102F7000A8EAEA2EA1E6FA2E012D112DE21AF30A93
:102F8000040B150B170128015701680188279927A1
:102F9000DC01821B930BA40BB50B281639064A06DD
:102FA0005B060CF0E9C2F8E52F2EFEE93F2EFFEF9D
:102FB0004F2EFFEF5F2E220E331E441E551E209211
:102FC000660430926704409268045092690482015A
:102FD0007101209262043092630440926404509222
:102FE000650429A53AA5A9A1BAA12A0F3B1FA901E9
:102FF000662757FD6095762F80916A0490916B0447
:10300000A0916C04B0916D04480F591F6A1F7B1F7B
:103010005A016B0180912F0490913004281B390BC9
:10302000C901AA2797FDA095BA2F680E791E8A1E9E
:103030009B1E8091330390913403A0913503B0918E
:1030400036038EAB9FABA8AFB9AF86159705A80521
:10305000B90564F448EA51E660E070E0481B590B9A
:103060006A0B7B0B3A014B015A016B018EA99FA998
:10307000A8ADB9ADB095A095909581959F4FAF4FF4
:10308000BF4F681679068A069B060CF064C2E8E515
:103090006E2EEEE97E2EEFEF8E2EEFEF9E2E2EA9F6
:1030A0003FA948AD59AD620E731E841E951E6092F5
:1030B0006E0470926F048092700490927104B40157
:1030C000A30160926A0470926B0480926C049092E7
:1030D0006D048DA19EA1AFA1B8A5809372049093B9
:1030E0007304A0937404B093750460928E0470927C
:1030F0008F048092900490929104209286043092E2
:103100008704409288045092890440938A04509323
:103110008B0460938C0470938D04E0928204F0928F
:10312000830400938404109385048091120390918A
:10313000130397FDA4C37C01F594E794F594E794F9
:10314000F594E794FAA6E9A68091100390911103F3
:1031500097FD93C38C0115950795159507951595C2
:1031600007951CA70BA78091FC039091FD030F9777
:1031700034F458E1E52E5CEFF52EFAA6E9A680912D
:10318000FC039091FD03079734F440E3E42E48EFED
:10319000F42EFAA6E9A6209156032A3009F46BC250
:1031A0008091FC039091FD03815D97400CF007C274
:1031B0008091FC039091FD03805E974034F080ED98
:1031C000E82E87E0F82EFAA6E9A68091FA039091FE
:1031D000FB030F9724F408E11CEF1CA70BA78091B9
:1031E000FA039091FB03079724F400E318EF1CA760
:1031F0000BA72A3009F455C28091FA039091FB0382
:10320000815D974024F008EE13E01CA70BA7809186
:10321000FA039091FB03805E974024F000ED17E0E5
:103220001CA70BA7A0912703AA2309F497C06091BC
:103230001203709113038091B8049091B904681B34
:10324000790B2091120330911303280F391F37FD9A
:103250003FC3359527953093B9042093B80461385E
:1032600071050CF43AC260E870E07093BF0460939B
:10327000BE048A2F9927869FF001879FF00D969FA5
:10328000F00D1124CF01F7FD21C37C01F594E794E3
:10329000F594E794F594E794F594E79429A53AA575
:1032A000E20EF31EFAA6E9A6409110035091110315
:1032B0008091BA049091BB04481B590B20911003D4
:1032C00030911103280F391F37FDFDC23595279521
:1032D0003093BB042093BA04413851050CF4F5C176
:1032E00040E850E05093BD044093BC048A2F9927D6
:1032F000849FD001859FB00D949FB00D1124AD0126
:103300009D01B7FDDDC289011595079515950795B6
:103310001595079515950795EBA5FCA50E0F1F1F95
:103320001CA70BA7869F9001879F300D969F300D9D
:103330001124C9012091120330911303820F931FAE
:1033400090931303809312038091100390911103C3
:10335000480F591F50931103409310034D855E850C
:10336000141615060CF0C1C18091F7079091F8076B
:1033700097FDA2C2AA2797FDA095BA2F6DA5262F6B
:10338000332744275527BC01CD010E943E6097FD9D
:103390008EC2E6E09595879577956795EA95D1F782
:1033A000AF8DB8A1A60FB71FB0936A08A0936908A4
:1033B0004B855C85141615060CF0C1C18091FB0786
:1033C0009091FC0797FD6FC2AA2797FDA095BA2F91
:1033D0006DA5262F332744275527BC01CD010E9418
:1033E0003E6097FD5BC246E095958795779567951A
:1033F0004A95D1F7A9A1BAA1A60FB71FB0935F084C
:10340000A0935E083CA137FDC1C110935D080093F5
:103410005C08F0926C08E0926B0880910108E82F3C
:10342000FF27EE0FFF1FE653F74F808191818259EE
:103430009F4FA0914704B0914804A817B9070CF01A
:10344000EEC0CD0101969093480480934704DC01BF
:1034500080910208E82FFF27EE0FFF1FE653F74F7A
:103460008081918182599F4F6091450470914604FB
:10347000681779070CF0C4C0CB01019690934604FD
:1034800080934504BC0180910308E82FFF27EE0FCD
:10349000FF1FE653F74F8081918182599F4F4091E2
:1034A000430450914404481759070CF0D5C0CA0191
:1034B00001969093440480934304AC0180910408E6
:1034C000E82FFF27EE0FFF1FE653F74F8081918112
:1034D00082599F4F209141043091420428173907A7
:1034E0000CF0ABC0C9010196909342048093410453
:1034F0009C01B7FD93C1AF3FB10539F034F08FEFB8
:1035000090E0909348048093470477FD76C16F3F25
:10351000710539F034F08FEF90E09093460480937A
:10352000450457FD70C14F3F510539F034F08FEF1E
:1035300090E0909344048093430437FD6AC12F3F89
:10354000310509F00CF4EEC28FEF90E09093420445
:1035500080934104E7C260926E0470926F0480927F
:10356000700490927104A0926A04B0926B04C092AD
:103570006C04D0926D04ADCD209266043092670445
:103580004092680450926904A0926204B09263046D
:10359000C0926404D092650424CD98EB691694E936
:1035A00079069EEF89069FEF99062CF528EB34E902
:1035B0004EEF5FEF29833A834B835C831ACB98EEFF
:1035C000E92E93E0F92EFAA6E9A6F2CD2D823E82ED
:1035D0004F825886F4CA8DA19EA1AFA1B8A5809351
:1035E0005E0490935F04A0936004B0936104909193
:1035F00005089CA312CC69827A828B829C82F9CACC
:103600008081918182599F4F861797070CF03BCF9D
:103610006115710509F437CFCB0101972FCF808158
:10362000918182599F4F8A179B070CF011CF1097F9
:1036300009F40ECFCD01019706CF80819181825987
:103640009F4F821793070CF054CF2115310509F4D1
:1036500050CFC901019748CF8081918182599F4FF6
:10366000841795070CF02ACF4115510509F426CF90
:10367000CA0101971ECF8091FC039091FD03835FE7
:10368000934034F038EEE32E33E0F32EFAA6E9A6A9
:103690008091FC039091FD038A5F93400CF495CDDB
:1036A0008ECD8091FA039091FB03835F934024F0C9
:1036B00008EE13E01CA70BA78091FA039091FB037F
:1036C0008A5F93400CF4AECDA9CD3FEF403853074D
:1036D0000CF008CE40E85FEF05CE8FEF603878073A
:1036E0000CF0C3CD60E87FEFC0CD8091F7079091DB
:1036F000F80797FD9BC1AA2797FDA095BA2FEDA5C6
:103700002E2F332744275527BC01CD010E943E6050
:1037100097FDADC156E095958795779567955A9534
:10372000D1F72F8D38A1261B370B30936A082093D1
:1037300069084B855C85141615060CF43FCE809104
:10374000FB079091FC0797FD6DC1AA2797FDA095F7
:10375000BA2FEDA52E2F332744275527BC01CD01C5
:103760000E943E6097FD88C136E0959587957795D4
:1037700067953A95D1F729A13AA1261B370B3093CB
:103780005F0820935E083CA137FF3FCE4BA1442346
:1037900009F03BCE80912D04882309F036CE8B852D
:1037A0009C85A1E081309A070CF044C12B853C85B3
:1037B0004FEF203034070CF0A3C189A59AA5280F3C
:1037C000391F3C872B8720503F4F30936C08209344
:1037D0006B08AD85BE85E1E0A130BE070CF465C184
:1037E0002BA53CA5A20FB31FBE87AD87A050B1404B
:1037F000B0935D08A0935C0810CE1092460410921E
:10380000450457FF90CE109244041092430437FFB2
:1038100096CE109242041092410484C11092480442
:103820001092470472CE295F3F4F3DC8295F3F4F3A
:1038300029C82D5F3F4F4F4F5F4FE5C8E60EF71E7B
:10384000081F191FE092BF08F092C0080093C1083A
:103850001093C20858CB23E030E040E050E0E20E85
:10386000F31E041F151FA3C883E090E0A0E0B0E0A2
:10387000E80EF91E0A1F1B1F5BC807966BCC079644
:103880005ACC2DA13EA14FA158A520935E043093A0
:103890005F044093600450936104BFCA615C7F4F32
:1038A0008F4F9F4FA0CD909581959F4F8DCD615C9F
:1038B0007F4F8F4F9F4F6DCD909581959F4F5ACDE4
:1038C000215F3F4F20CD2F5F3F4F00CD0F96DDCCC6
:1038D0002F5F3F4FBECC2DA13EA14FA158A52093F5
:1038E0005E0430935F0440936004509361048985C3
:1038F0009A85AA2797FDA095BA2F2AAD3BAD4CAD6E
:103900005DAD820F931FA41FB51F8B8B9C8BAD8B5E
:10391000BE8BBC01CD0129813A814B815C810E9423
:103920003E609B01AC0197FDBBC06BE05595479590
:10393000379527956A95D1F760912003862F9927AF
:10394000AA27BB278F8B988FA98FBA8FBC01CD0177
:103950000E943E6097FD9FC02CE0959587957795D6
:1039600067952A95D1F76B8F7C8F8D8F9E8F609393
:10397000A8047093A9048093AA049093AB046B8964
:103980007C898D899E892D813E814F8158850E9439
:103990003E609B01AC0197FD79C08BE05595479542
:1039A000379527958A95D1F76F89788D898D9A8D6E
:1039B0000E943E6097FD65C0BCE095958795779520
:1039C0006795BA95D1F76AAB7BAB8CAB9DAB609337
:1039D000AC047093AD048093AE049093AF0429853A
:1039E0003A8537FD7FC0213431050CF431CA6B8D27
:1039F0007C8D8D8D9E8D97FD2AC061387105810566
:103A0000910564F46AA97BA98CA99DA997FD82C040
:103A100061387105810591050CF41ACA81E0809323
:103A20004B0416CA909581959F4F8FCE90958195A6
:103A30009F4F61CEE9A5FAA58E0F9F1F9C878B87AC
:103A40008050914090936C0880936B08C2CE909503
:103A50008095709561957F4F8F4F9F4FCECF019688
:103A6000A11DB11D8EA79FA7A8ABB9AB97C9615C7B
:103A70007F4F8F4F9F4F4ECE615C7F4F8F4F9F4F39
:103A800073CE6150704F8F4F9F4F96CF2150384F5C
:103A90004F4F5F4F82CF6150704F8F4F9F4F5CCF22
:103AA0002150384F4F4F5F4F40CF4D855E856FEFB0
:103AB0004030560754F58BA59CA5480F591F5E87CB
:103AC0004D8740505F4F50935D0840935C08A5CCF4
:103AD0006150704F8F4F9F4FE7C82150384F4F4F65
:103AE0005F4FCFC8309521953F4F7DCF6150704FCC
:103AF0008F4F9F4F0CC92150384F4F4F5F4FFAC81F
:103B0000F0926C08E0926B0864CE10935D0800930D
:103B10005C0883CC90958095709561957F4F8F4F11
:103B20009F4F76CFED960FB6F894DEBF0FBECDBF98
:103B3000DF91CF911F910F91FF90EF90DF90CF9089
:103B4000BF90AF909F908F907F906F905F904F90BD
:103B50003F902F900895809156038D3009F455C100
:103B600010927A008091FC039091FD0390936C0871
:103B700080936B088091FA039091FB0390935D080A
:103B800080935C088091F8039091F9039093B908B1
:103B90008093B8088091F4039091F5039C01442729
:103BA00037FD4095542FDA01C901880F991FAA1FCC
:103BB000BB1F880F991FAA1FBB1F820F931FA41F33
:103BC000B51F820F931FA41FB51F9093A808809361
:103BD000A7088091F6039091F7039C01442737FDD5
:103BE0004095542FDA01C901880F991FAA1FBB1FE6
:103BF000880F991FAA1FBB1F820F931FA41FB51FF9
:103C0000820F931FA41FB51F9093C4088093C3080D
:103C10008091F2039091F303909377088093760854
:103C20008FEC80937A0080910108E82FFF27EE0F38
:103C3000FF1FE653F74F8081918182599F4FA091DA
:103C40004704B0914804A817B9070CF085C0CD010E
:103C500001969093480480934704DC018091020808
:103C6000E82FFF27EE0FFF1FE653F74F808191816A
:103C700082599F4F609145047091460468177907F7
:103C80000CF096C0CB0101969093460480934504B6
:103C9000BC0180910308E82FFF27EE0FFF1FE653BA
:103CA000F74F8081918182599F4F409143045091F9
:103CB0004404481759070CF06CC0CA010196909350
:103CC000440480934304AC0180910408E82FFF274B
:103CD000EE0FFF1FE653F74F8081918182599F4F6E
:103CE0002091410430914204281739070CF042C05A
:103CF000C901019690934204809341049C01B7FD51
:103D00007FC0AF3FB10511F00CF061C077FD67C017
:103D10006F3F710539F034F08FEF90E090934604D7
:103D20008093450457FD61C04F3F510539F034F091
:103D30008FEF90E0909344048093430437FD5BC081
:103D40002F3F310509F00CF463C08FEF90E09093A2
:103D50004204809341045CC08081918182599F4FCD
:103D60008A179B070CF07ACF109709F477CFCD0113
:103D700001976FCF8081918182599F4F821793075E
:103D80000CF0BDCF2115310509F4B9CFC901019758
:103D9000B1CF8081918182599F4F841795070CF094
:103DA00093CF4115510509F48FCFCA01019787CFF1
:103DB0008081918182599F4F861797070CF069CFB8
:103DC0006115710509F465CFCB0101975DCF8FEFC8
:103DD00090E0909348048093470477FF99CF109226
:103DE00046041092450457FF9FCF1092440410924E
:103DF000430437FFA5CF109242041092410408C03B
:103E0000109248041092470481CF0E94960CA8CECD
:103E100080912A089927AA27BB27BC01CD0124EC51
:103E200039E040E050E00E943E60DC01CB0180932D
:103E3000330390933403A0933503B09336038091FA
:103E40002B089927AA27BB27BC01CD010E943E6001
:103E5000DC01CB0180932F0390933003A0933103B7
:103E6000B093320308956F927F928F929F92AF9298
:103E7000BF92CF92DF92EF92FF920F931F93CF9357
:103E8000DF93C0E0D0E07E016E0110922605469AD5
:103E9000D0939D04C0939C04D0939B04C0939A0438
:103EA00080E090E0A0E0B0E08093940490939504CB
:103EB000A0939604B0939704D093A704C093A6044C
:103EC000D093A504C093A404D093A304C093A204E8
:103ED000D0938908C09388081092200310921F0382
:103EE0001092F0030E94AB1D84E690E00E948C5279
:103EF0000E94AB1D8091050880FF10C080910A03CD
:103F000090910B03875B934008F07BC080910A037C
:103F100090910B038E5E924008F473C01FE18AE01B
:103F200090E00E948C528091F8039091F903C80FA1
:103F3000D91F8091FC039091FD03E80EF91E80913A
:103F4000FA039091FB03C80ED91E115017FFE7CF5B
:103F5000A701405F5F4F56954795569547955093FB
:103F6000A7044093A6049601205F3F4F36952795FE
:103F7000369527953093A5042093A404CE0140964E
:103F800096958795929582958F7089279F7089273E
:103F90009093A3048093A204909389088093880847
:103FA0003093A1042093A00450939F0440939E0457
:103FB00044E050E0DA010E941D60802D853020F140
:103FC0008091C3089091C40897FD53C06CE070E0E5
:103FD0000E947D6070939B0460939A048091A7086F
:103FE0009091A80897FD56C06CE070E00E947D603B
:103FF00070939D0460939C048091E7079091E8077B
:104000004DC00E94440C8ACFDA010E941D60802DB1
:104010009927982F8827DA0111960E941D60202D7C
:10402000820F911D90939D0480939C04DA01129657
:104030000E941D60802D9927982F8827DA011396FA
:104040000E941D60202D820F911D90939B048093F0
:104050009A04DA0114960E941D60802D9927982FEA
:104060008827DA0115960E941D60202D820F911D70
:1040700015C0909581959F4F6CE070E00E947D6027
:1040800070939B0460939A048091A7089091A8086C
:1040900097FFAACF909581959F4FA6CFAA2797FD0E
:1040A000A095BA2FBC01CD010E94A65FDC01CB0117
:1040B0008093940490939504A0939604B0939704EE
:1040C00010926C0810926B0810925D0810925C08B8
:1040D0001092B9081092B80884E690E00E948C52C1
:1040E0008091F4039091F503AA2797FDA095BA2F2C
:1040F0009C01AD01220F331F441F551F220F331F98
:10410000441F551F280F391F4A1F5B1F280F391FD7
:104110004A1F5B1F3093A8082093A7088091F603DD
:104120009091F703AA2797FDA095BA2F7C018D01E6
:10413000EE0CFF1C001F111FEE0CFF1C001F111FB7
:10414000E80EF91E0A1F1B1FE80EF91E0A1F1B1F8F
:10415000F092C408E092C30880911108682E772479
:1041600088249924C9019C01442737FD4095542F88
:10417000C401B3010E943E605B016C0160938E0438
:1041800070938F0480939004909391049701442737
:1041900037FD4095542FC401B3010E943E60DC01FD
:1041A000CB018093860490938704A0938804B093F6
:1041B0008904A0926A04B0926B04C0926C04D092FD
:1041C0006D048093620490936304A0936404B0939D
:1041D000650410925E0410925F04109260041092C5
:1041E000610480910C0390910D03A0910E03B09196
:1041F0000F039093EA078093E9071092EF03109260
:10420000EE03109256041092570410925804109224
:1042100059048091540490915504909353048093D1
:10422000520490935104809350040E94724082E3A0
:1042300090E0909329058093280580912A0899277A
:10424000AA27BB27BC01CD0124EC39E040E050E0B7
:104250000E943E60DC01CB018856954CAF4FBF4FAA
:104260008093330390933403A0933503B0933603C4
:1042700080912B089927AA27BB27BC01CD010E945A
:104280003E60DC01CB018856954CAF4FBF4F809309
:104290002F0390933003A0933103B0933203109215
:1042A0001C0310921B038091540490915504AA277B
:1042B00097FDA095BA2F20911703309118034091D4
:1042C000190350911A03BC01CD010E943E60DC012C
:1042D000CB018093BF089093C008A093C108B0930E
:1042E000C20810924A041092490411E01093550339
:1042F0000E946D58809114048460809314048FEFA1
:1043000080938D0910928E0980E280938F098091AD
:104310000108E82FFF27EE0FFF1FE653F74F8081BC
:10432000918182599F4F90934804809347048091D4
:104330000208E82FFF27EE0FFF1FE653F74F80819B
:10434000918182599F4F90934604809345048091B8
:104350000308E82FFF27EE0FFF1FE653F74F80817A
:10436000918182599F4F909344048093430480919C
:104370000408E82FFF27EE0FFF1FE653F74F808159
:10438000918182599F4F90934204809341041093EE
:10439000260584E680934004DF91CF911F910F9111
:1043A000FF90EF90DF90CF90BF90AF909F908F9055
:1043B0007F906F90089590913704992381F58091B3
:1043C00014048C7F8093140410C0A92FBB27FD0117
:1043D000E656F94F8083FD01E656F94F8081A655D8
:1043E000B74F8C939F5F9C3080F48091D0038823DB
:1043F00061F3A92FBB27FD01E656F94F8081A65531
:10440000B74F8C939F5F9C3080F38091D0038823BB
:1044100059F08091D00381508093D00305C08091E2
:1044200014048160809314048091AA0899279093C2
:10443000BD078093BC078091AB0899279093BF0775
:104440008093BE078091AD0899279093C107809310
:10445000C0078091AC0899279093C3078093C20747
:1044600010923B0510923A050E94025708958091E0
:1044700008088B3F68F08B3F09F45BC28C3F09F45E
:10448000F1C28D3F09F4B2C28E3F21F48091410404
:1044900080932B03809107088B3F08F4EDC18B3F7D
:1044A00009F4E8C18C3F09F4FBC28D3F09F47DC2D9
:1044B0008E3F09F404C380912C03882309F0E1C1E5
:1044C00080932C03809109088B3F08F4E1C18B3F56
:1044D00009F4DCC18C3F09F4DDC28D3F09F468C2E8
:1044E0008E3F09F4E9C280912A03882309F0D5C1DF
:1044F00080932A0380910B088B3F68F08B3F09F46F
:1045000024C28C3F09F4C9C28D3F09F44BC28E3FCF
:1045100021F48091410480932903809112088B3FFC
:1045200068F08B3F09F402C28C3F09F483C28D3FCF
:1045300009F435C28E3F21F4809141048093280311
:10454000809113088B3F08F4AFC18B3F09F4AAC1D7
:104550008C3F09F4AEC28D3F09F433C28E3F09F49B
:10456000B7C2809126038B3008F4A3C18F3F11F4AA
:1045700080932603809114088B3F68F08B3F09F4E9
:10458000DBC18C3F09F47DC28D3F09F417C28E3F19
:1045900021F48091410480932503809115088B3F7D
:1045A00068F08B3F09F4CBC18C3F09F467C28D3FA3
:1045B00009F4F2C18E3F21F48091410480932703D6
:1045C00020911A082B3F08F478C12B3F09F473C1DE
:1045D0002C3F09F444C22D3F09F4EDC12E3F09F4EC
:1045E0007AC22091230380911B088B3F08F06CC195
:1045F0008093280480911C088B3F68F08B3F09F45E
:10460000B3C18C3F09F428C28D3F09F4E9C18E3F44
:1046100021F4809141048093270480911D088B3FF1
:1046200068F08B3F09F4A3C18C3F09F412C28D3F9F
:1046300009F4E5C18E3F21F4809141048093260462
:1046400080911E088B3F68F08B3F09F45DC18C3F61
:1046500009F4E4C18D3F09F4DBC18E3F21F4809160
:1046600041048093250480912F088B3F68F08B3F95
:1046700009F44DC18C3F09F4D4C18D3F09F4CBC17D
:104680008E3F21F48091410480932404809130086E
:104690008B3F68F08B3F09F43DC18C3F09F4C4C1E6
:1046A0008D3F09F4AFC18E3F21F480914104809386
:1046B0002304809131088B3F68F08B3F09F42DC1B2
:1046C0008C3F09F4B4C18D3F09F49FC18E3F21F4A2
:1046D0008091410480932204809132088B3F68F0DE
:1046E0008B3F09F41DC18C3F09F4BFC18D3F09F414
:1046F00080C18E3F21F480914104809321048091F8
:104700001F088B3F68F08B3F09F40DC18C3F09F403
:104710009DC18D3F09F470C18E3F21F48091410409
:1047200080932203809124088B3F68F08B3F09F42B
:1047300021C18C3F09F4ABC18D3F09F424C18E3FE8
:1047400021F48091410480932103809127088B3FBD
:1047500068F08B3F09F411C18C3F09F489C18D3F8A
:1047600009F414C18E3F21F4809141048093200309
:10477000809128088B3F68F08B3F09F4E9C08C3F9B
:1047800009F45EC18D3F09F425C18E3F21F480916B
:10479000410480931F03809129088B3F68F08B3F71
:1047A00009F4D9C08C3F09F44EC18D3F09F415C1FD
:1047B0008E3F21F48091410480931E0380912E0846
:1047C0008B3F68F08B3F09F4C9C08C3F09F46BC183
:1047D0008D3F09F4F9C08E3F21F48091410480930C
:1047E0001D03809134088B3F08F47EC08B3F09F491
:1047F00079C08C3F09F45AC18D3F09F4E8C08E3F5F
:1048000009F460C180918308823008F472C08F3F40
:1048100011F480938308809136088B3F08F46DC0B3
:104820008B3F09F468C08C3F09F425C18D3F09F422
:10483000B0C08E3F09F449C18091B608823008F4B7
:1048400061C08F3F11F48093B608809147088B3F79
:1048500070F08B3F09F485C08C3F09F415C18D3F82
:1048600009F48EC08E3F09F039C1809141048093D4
:10487000C60834C18091470480932C03882309F42F
:104880001FCE843608F41ECE84E61ACE80914704EB
:1048900080932A03882309F42BCE843608F42ACE89
:1048A00084E626CE80914704809326038B3008F05F
:1048B0005DCE8AE05DCE2091470420932303809152
:1048C0001B088B3F08F494CE8B3FE1F18C3F09F439
:1048D000B4C08D3F09F487C08E3F09F08BCE809124
:1048E000410486CE8091470480938308823008F08B
:1048F0008ECF81E08ECF809147048093B6088230BE
:1049000008F09FCF81E09FCF80914704AACE80918D
:104910004704BACE80914704CACE80914704DACECC
:1049200080914704EACE80914704FACE80914704F3
:1049300005CE80914704ACCD809147042CCE809168
:1049400047043CCE8091470453CE80914704E3CD89
:10495000809147041ECF809147042ECF8091470459
:104960003ECF8091470483CF8091470454CE8091FD
:10497000470464CE80914704E6CE80914704F6CE8A
:104980008091430474CF80914304DDCE8091430431
:10499000EDCE80914304B1CF809143040FCE80913E
:1049A0004304CCCD80914304B6CD8091430464CFC1
:1049B000809143046DCF209143047FCF80914304C5
:1049C000EACD8091430470CF8091430408CF809159
:1049D00043048ACF80914304DCCE80914304ECCE23
:1049E0008091430418CE8091430402CE8091430409
:1049F0004FCD8091430481CE8091430491CE80912C
:104A000043041CCE8091430452CE8091430462CE75
:104A10008091430426CE8091430436CE8091450494
:104A200020CE8091450430CE8091450440CE8091C7
:104A3000450450CE8091450481CD80914504D8CD68
:104A400080914504A6CE80914504B6CE8091450460
:104A500067CE80914504F2CD80914504DCCD209154
:104A600045042BCF8091450413CD8091450445CE5C
:104A7000809145047BCE809145043FCF80914504D1
:104A80009DCD8091450487CD80914504F0CE8091E5
:104A9000450459CE80914504FBCE809145043BCD21
:104AA00080914504E9CE8091450499CE80914504DA
:104AB0001BCF80914504F8CE80914104E9CE8091CE
:104AC0004104DACE809141040FCF8091410415CF8B
:104AD00080914104E9CE20914104EFCE33272F5F2E
:104AE0003F4F8CE398E2B9010E947D6070932E03E2
:104AF00060932D03809110088093B70880910F0870
:104B00008093700808952F923F924F925F926F9218
:104B10007F928F929F92AF92BF92CF92DF92EF924D
:104B2000FF920F931F93CF93DF93CDB7DEB7EF972D
:104B30000FB6F894DEBF0FBECDBF0E9412142091B5
:104B400056032C3008F04FC3299AA0903804B09037
:104B50003904BA82A9828091700899270A96A8160A
:104B6000B90614F49A83898380914004843608F04E
:104B70003CC380910303882309F41DC58091DC04A4
:104B80009091DD04009711F40C9468320197909392
:104B9000DD048093DC042A3011F40C94703224314B
:104BA00011F40C9470322898809115049091160499
:104BB000895E934010F40C94643280911708282F7A
:104BC00033273A83298381E080934D048091FD0748
:104BD000A82FBB27AA0FBB1FFD01E052F74F118280
:104BE00010828091FE07282F3327220F331FC9011F
:104BF0008052974FFC0111821082A653B74F119635
:104C00001C921E922653374FD90111961C921E9268
:104C100080910008E82FFF27EE0FFF1FE653F74FA4
:104C2000118210828091BB0381508093BB038091DD
:104C3000BB038F3F31F0F0914D04FF8BFF2309F44C
:104C4000CFC40E94372280910C08482E55248091B1
:104C50000D08A82EBB2480912104882311F40C9404
:104C6000DF318E3F11F40C949F3C813810F40C948A
:104C70001D33C0905404D0905504809150049091FD
:104C800051048C199D0988599E4F68E671E00E9475
:104C90007D606C010E94315F7C010027F7FC00956C
:104CA000102F8091FD07E82FFF27EE0FFF1FE6531F
:104CB000F74F808191819C01442737FD4095542F07
:104CC000C801B7010E943E6097FF02C00C940F3DDF
:104CD0001DE095958795779567951A95D1F71B01F6
:104CE000C6010E94E45E7C010027F7FC0095102FAE
:104CF0008091FE07E82FFF27EE0FFF1FE653F74FC7
:104D0000808191819C01442737FD4095542FC80133
:104D1000B7010E943E6097FF02C00C94093DBDE0C0
:104D20009595879577956795BA95D1F74B01820C44
:104D3000931C3B0162187308C6010E94315F7C011D
:104D40000027F7FC0095102F8091FD07E82FFF2723
:104D5000EE0FFF1FE052F74F808191819C014427A5
:104D600037FD4095542FC801B7010E943E6097FF60
:104D700002C00C94033DADE09595879577956795B6
:104D8000AA95D1F71B01C6010E94E45E7C010027B1
:104D9000F7FC0095102FD090FE07ED2DFF27EE0FAA
:104DA000FF1FE052F74F808191819C01442737FD1E
:104DB0004095542FC801B7010E943E6097FF02C082
:104DC0000C94FD3CFDE09595879577956795FA9550
:104DD000D1F78B01020D131D7B01E218F3088091BE
:104DE00021048F3F11F40C94A53CC090FD07309036
:104DF00000088091ED049091EE04AC01440F551F22
:104E0000480F591F849CC001859C900D949C900D67
:104E10001124480F591F57FF02C00C94C63B5595EB
:104E20004795559547950A9D90010B9D300D1A9D0C
:104E3000300D1124240F351F3093EE042093ED0420
:104E4000809115059091160540911105509112051C
:104E5000840F951F281B390B30933F0420933E0489
:104E60008091EF049091F004AC01440F551F480F5E
:104E7000591F649CC001659C900D749C900D112479
:104E8000480F591F57FF02C00C94D03B55954795CA
:104E900055954795EA9C9001EB9C300DFA9C300D9E
:104EA0001124240F351F3093F0042093EF048091D8
:104EB00013059091140540910F0550911005840F32
:104EC000951F281B390B30933D0420933C04E32DA0
:104ED000FF27EE0FFF1FE653F74F808191819095DA
:104EE00081959F4F8330910514F40C940132029701
:104EF00090933B0480933A048091FF07E82FFF27AB
:104F0000EE0FFF1FE653F74F0081118108581F4F26
:104F1000809126039927AA2797FDA095BA2FBC0157
:104F2000CD010E94A65FDC01CB0120E030E040E231
:104F300051E4BC01CD010E94475FDC01CB01BC0103
:104F4000CD010E94895FDC01CB018093BD08609197
:104F500025038093630860937A088091BC0680FFE4
:104F600006C08091C608813810F00C9496321093D8
:104F7000390400933804809138049091390497FFE4
:104F800002C00C94CA3BB0900508B98AB2FC02C0BA
:104F90000C944B3210928A0840913E0450913F0489
:104FA000CA0157FF02C00C94563295958795959586
:104FB000879597FF02C00C945F32209119043091BD
:104FC0001A042817390714F00C940932CA0157FF44
:104FD00002C00C94183D97FF02C00C94153DBC0113
:104FE00075956795759567956536710514F40C94FC
:104FF0000C3264E670E040913C0450913D04CA01DB
:1050000057FD02C00C94153203969595879595959A
:10501000879597FD02C00C941D32909581959F4F06
:1050200020911704309118042817390714F40C94B0
:105030002632C9010197E0904D04EF8AEE2011F469
:105040000C94413210921A04109219041092180410
:1050500010921704ED2DFF27EE0FFF1FE653F74FB9
:1050600040912508242F3327808191812817390703
:1050700034F48091480882FF02C00C948C32ED2DEC
:10508000FF27EE0FFF1FE653F74F842F992720913C
:105090002608821B9109208131812817390714F4D1
:1050A00010922C04ED2DFF27EE0FFF1FE653F74F54
:1050B000842F992722273327281B390B8081918140
:1050C0008217930734F48091480883FF02C00C9440
:1050D000873280912B04882391F0ED2DFF27EE0F6E
:1050E000FF1FE653F74F809126089927841B9109EB
:1050F000208131818217930714F40C941933EC2D1D
:10510000FF27EE0FFF1FE653F74F242F3327808131
:1051100091812817390734F48091480880FF02C034
:105120000C94813250912904552399F0EC2DFF27DE
:10513000EE0FFF1FE653F74F842F99272091260883
:10514000821B9109208131812817390714F40C94AE
:105150001433EC2DFF27EE0FFF1FE653F74F842F7C
:10516000992722273327281B390B808191818217A9
:10517000930734F48091480881FF02C00C947C327C
:1051800080912A04882391F0EC2DFF27EE0FFF1F5A
:10519000E653F74F809126089927841B91092081B7
:1051A00031818217930714F40C94103380912C04EE
:1051B000882331F480912B04882311F40C947932E4
:1051C00091E0552331F480912A04882311F40C9442
:1051D000913281E080932E0410922D0410922C04C1
:1051E00010922B0400C22998B0CC809140048D38D5
:1051F00008F418CD10924D049091180882E3989FFE
:10520000C00111249093DD048093DC04E981FA81CC
:10521000B99714F00C94F93280911504909116040A
:105220008F3F910519F010F00C94BF3B1092C00411
:105230001092C1041092C2041092C3041092C404CC
:105240001092C5041092C6041092C7048A3F9105BB
:1052500011F40C94553E3091FF07E32FFF27EE0F1A
:10526000FF1FE653F74F80819181813591050CF442
:10527000E9C040913704442309F0E4C0809100085C
:10528000E82FFF27EE0FFF1FE653F74F8081918134
:105290008C34910514F40C94B93D8091DE048F5F39
:1052A000893C10F40C94B73E2C3010F00C94203F45
:1052B0002998109237041092DE041092160410926E
:1052C0001504C090FD07EC2DFF27EE0FFF1FE653DE
:1052D000F74F808191818734910514F00C941C3F25
:1052E000D090FE07ED2DFF27EE0FFF1FE653F74F7F
:1052F000808191810190F081E02DF7FF02C00C9434
:10530000EB3FE734F1050CF470C021E0AD2DBB2775
:10531000AA0FBB1FA653B74F8D919C91119787344D
:10532000910544F0EC2DFF27EE0FFF1FE653F74FDA
:10533000808191818D919C918734910564F0EC2D51
:10534000FF27EE0FFF1FE653F74F808191818734CF
:1053500091050CF022E0ED2DFF27EE0FFF1FE65325
:10536000F74F808191818634910564F4EC2DFF27FD
:10537000EE0FFF1FE653F74F80819181873491052F
:105380000CF023E0ED2DFF27EE0FFF1FE653F74F44
:10539000808191818A5B9F4F64F4EC2DFF27EE0F93
:1053A000FF1FE653F74F80819181873491050CF000
:1053B00024E0ED2DFF27EE0FFF1FE653F74F80810E
:1053C00091818A5B9F4F64F4EC2DFF27EE0FFF1F46
:1053D000E653F74F80819181863491050CF425E0E6
:1053E000822F0E94B940D090FE07ED2DFF27EE0FCF
:1053F000FF1FE653F74F808191810190F081E02DEE
:10540000F7FF02C00C94AD3F7E9714F00C94E83E79
:105410008091FD07E82FFF27EE0FFF1FE653F74FA0
:10542000808191818A5B9F4F14F00C94E83E81E06B
:105430008093B00688EE93E0909329058093280529
:105440003091FF07E32FFF27EE0FFF1FE653F74FC3
:10545000808191818B5A9F4F0CF0E4CB30900008F3
:10546000E32DFF27EE0FFF1FE653F74F8081918159
:10547000855B9F4F14F00C94CF3C8091DF048F5FCD
:10548000893C10F40C94413E88EC8093DF0481E069
:1054900090E0909316048093150481E08093370484
:1054A0001092C8041092C9041092CA041092CB043E
:1054B00010925E0410925F041092600410926104D6
:1054C00010925A0410925B0410925C0410925D04D6
:1054D00080911108E82EFF24002711278091A7084A
:1054E0009091A8089C01442737FD4095542FC8018E
:1054F000B7010E943E60DC01CB0180936E04909363
:105500006F04A0937004B09371048091C3089091CC
:10551000C4089C01442737FD4095542FC801B701AA
:105520000E943E60DC01CB01809366049093670487
:10553000A0936804B093690480918E0490918F04C5
:10554000A0919004B091910480936A0490936B04AD
:10555000A0936C04B0936D048091860490918704AD
:10556000A0918804B09189048093620490936304AD
:10557000A0936404B09365041092C0041092C10417
:105580001092C2041092C3041092C4041092C50475
:105590001092C6041092C70480911404886080930E
:1055A0001404809154049091550490935104809375
:1055B00050040C94D13C8091BC039091BD038F5F4B
:1055C0009F4F09F0DBCA88E99AE3909329058093FD
:1055D000280580E09CE09093BD038093BC03CECA75
:1055E000F0900508F98A00912D040BA7002321F4FF
:1055F00080912E04882369F08091240899272981BD
:105600003A818217930714F49A83898381E0809307
:105610004B043F89332309F4CEC610923B04109209
:105620003A0410923F0410923E0410923D041092EE
:105630003C049AE59093BD0888E780938A0890938C
:1056400063088DA380937A0810922D0410922E0483
:105650001BA620917D0830917E0840917F085091D3
:10566000800860918E0470918F04809190049091D5
:10567000910469A37AA38BA39CA3260F371F481F0D
:10568000591F8091840890918508A0918608B09157
:105690008708A0908604B0908704C0908804D090BA
:1056A0008904A98EBA8ECB8EDC8E8A0D9B1DAC1D13
:1056B000BD1DC0907208D0907308E0907408F090FF
:1056C0007508CAAADBAAECAAFDAAE0908A04F090A9
:1056D0008B0400918C0410918D04ED8EFE8E0F8F43
:1056E00018A3AAA8BBA8CCA8DDA8AE0CBF1CC01EDE
:1056F000D11EAAAABBAACCAADDAAC0906408D090E9
:105700006508E0906608F0906708CEA6DFA6E8AAD4
:10571000F9AAE0908204F09083040091840410912F
:105720008504EFA2F8A609A71AA7AEA4BFA4C8A82B
:10573000D9A8AE0CBF1CC01ED11EAEA6BFA6C8AA5B
:10574000D9AAB0902E04BCA6BB2009F0D3C50BA5E6
:10575000002309F0CFC58093840890938508A09317
:105760008608B093870820937D0830937E08409385
:105770007F08509380088091E7079091E807815057
:1057800092400CF07EC480913704882309F079C4DC
:105790008091EC039091ED038F3F910509F008F49F
:1057A0007FC5BCA5BB2309F064C7EBA5EE2309F0B8
:1057B00060C7F0914B04FDA7FF2309F05AC7A090E2
:1057C0002D08AA8AAA2009F454C7CAA8DBA8ECA805
:1057D000FDA8C0927208D0927308E0927408F0920B
:1057E0007508EEA4FFA408A919A9E0926408F09234
:1057F0006508009366081093670880917D08909172
:105800007E08A0917F08B0918008B7FF02C00C9479
:105810009E3F292E3A2E4B2E552447FC5A94209217
:105820007D0830927E0840927F08509280088091D7
:10583000840890918508A0918608B0918708B7FFE9
:1058400002C00C94933F892F9A2FAB2FBB27A7FD43
:10585000BA958D839E83AF83B88780938408909395
:105860008508A0938608B093870880911108E82ED8
:10587000FF240027112720917E0430917F0440915E
:10588000800450918104C801B7010E943E6097FFD7
:1058900002C00C948D3F672E782E892E992487FCA8
:1058A0009A9420917A0430917B0440917C04509129
:1058B0007D04C801B7010E943E6097FF02C00C94AE
:1058C000873FA72EB82EC92EDD24C7FCDA94D2015B
:1058D000C10186199709A809B90920912C08E22E5F
:1058E000FF2400271127BC01CD01A80197010E94C8
:1058F000B26039014A0119012A018D819E81AF816F
:10590000B8858A199B09AC09BD09BC01CD01A80164
:1059100097010E94B260D401C30197FE02C00C94AB
:10592000813F892F9A2FAB2FBB27A7FDBA95BC01CA
:10593000DA01C90157FF02C00C947B3F892F9A2FCF
:10594000AB2FBB27A7FDBA956C01809119049091EC
:105950001A0481349105D4F48091170490911804AD
:10596000813491059CF480910008E82FFF27EE0F09
:10597000FF1FE653F74F808191810190F081E02D68
:10598000F7FF02C00C94D03F7A9734F080918D09D4
:105990008F3F11F40C94393F0D8D1E8D2F8D38A142
:1059A00089A19AA1ABA1BCA1081B190B2A0B3B0B27
:1059B0000CAF1DAF2EAF3FAF0093CC041093CD04BE
:1059C0002093CE043093CF04EFA0F8A409A51AA524
:1059D000298D3A8D4B8D5C8DE21AF30A040B150B61
:1059E000E986FA860B871C87E092D004F092D104F6
:1059F0000093D2041093D3048CAD9DADAEADBFAD7A
:105A00008093D4049093D504A093D604B093D70484
:105A1000E092D804F092D9040093DA041093DB04E6
:105A200080916A0490916B04A0916C04B0916D0414
:105A3000ECACFDAC0EAD1FAD8E199F09A00BB10BE8
:105A400080936A0490936B04A0936C04B0936D04EC
:105A50008091620490916304A0916404B091650404
:105A600009851A852B853C85801B910BA20BB30BF6
:105A70008093620490936304A0936404B0936504DC
:105A80001A89112371F12091490430914A04213877
:105A9000310594F08091A2049091A3040196909313
:105AA000A3048093A20480918808909189080196AC
:105AB000909389088093880820583F4F94F48091F0
:105AC000A2049091A30401979093A3048093A2044D
:105AD0008091880890918908019790938908809314
:105AE000880810924A041092490401E0A02EB12CBB
:105AF0008CAD9DADAEADBFADB7FF02C00C94723F93
:105B000081509240A040B0401CF014E0A12EB12C76
:105B10008091F7049091F804A091F904B091FA04EF
:105B2000E0907D08F0907E0800917F081091800839
:105B30008E199F09A00BB10B815E914BAF4FBF4FE8
:105B40008F539C49A040B04010F40C94BF3EF0919C
:105B50008E09F88FF93114F40C94233FB092F204BB
:105B6000A092F1048CAD9DADAEADBFAD8150904122
:105B7000A040B04014F40C94C83E8091F3048823F4
:105B800011F40C94993F7093300460932F048CAD02
:105B90009DADAEADBFADB7FF02C00C9444409C01BB
:105BA000AD01B7FF02C00C943E40B9E05595479552
:105BB00037952795BA95D1F78091F1049091F20429
:105BC000820F931F9093F2048093F1042CAD3DADAE
:105BD0004EAD5FAD57FF02C00C94384039014A0109
:105BE000A3E09594879477946794AA95D1F71301CD
:105BF0002401F9E86F16F3E17F06F0E08F06F0E08C
:105C00009F0644F0F8E86F2EF3E17F2E812C912C53
:105C100013012401D401C30197FE02C00C94324049
:105C2000892F9A2FAB2FBB27A7FDBA95680F791F35
:105C30002CAD3DAD4EAD5FAD203080EF38078FEF1E
:105C400048078FEF580714F00C94DC3E8091F40461
:105C5000882311F40C94653F7093300460932F04F3
:105C6000DA01C90157FF02C00C9423409C01AD0129
:105C7000B7FF02C00C941D4069E0559547953795D4
:105C800027956A95D1F78091F1049091F204820FE3
:105C9000931F9093F2048093F1042CAD3DAD4EAD73
:105CA0005FAD57FF02C00C94E13F39014A0143E068
:105CB00095948794779467944A95D1F798E76916F5
:105CC0009CEE79069FEF89069FEF990644F438E72A
:105CD000632E3CEE732E3FEF832E3FEF932E6092A8
:105CE000E5047092E6048092E7049092E804D401FF
:105CF000C30197FE02C00C94DB3F892F9A2FAB2F74
:105D0000BB27A7FDBA9560912F0470913004680FEE
:105D1000791FAA892A2F33278091F1049091F204E8
:105D20002817390724F43093F2042093F104B88D36
:105D3000BB2379F02B2F332727FD30958091F10479
:105D40009091F2042817390724F43093F204209339
:105D5000F1042CAD3DAD4EAD5FAD213831054105AF
:105D6000510574F08091A6049091A7042091F1044C
:105D70003091F204820F931F9093A7048093A6049E
:105D80008CAD9DADAEADBFAD80589F4FAF4FBF4FF7
:105D900074F48091A6049091A7042091F1043091AD
:105DA000F204821B930B9093A7048093A604B1E0A6
:105DB000AB2EB12C89859A85AB85BC85B7FF02C017
:105DC0000C944F3F81509240A040B0401CF0A4E0A2
:105DD000AA2EB12C20E030E040E050E08091FB049E
:105DE0009091FC04A091FD04B091FE0460908408A1
:105DF000709085088090860890908708861997098A
:105E0000A809B909815E914BAF4FBF4F8F539C4991
:105E1000A040B04028F0F88DF93114F40C94063FFE
:105E2000B092F204A092F10489859A85AB85BC8575
:105E300081509041A040B04014F40C94D03E809129
:105E4000F504882311F40C94583FD0923204C09288
:105E5000310489859A85AB85BC85B7FF02C00C9457
:105E60000840B7FF02C00C940240F9E0B595A79531
:105E700097958795FA95D1F7A80EB91EB092F204BE
:105E8000A092F10429853A854B855C8557FF02C0B5
:105E90000C94CA3FE3E05595479537952795EA95C9
:105EA000D1F72938F3E13F07F0E04F07F0E05F0753
:105EB00014F40C94C03F88E893E1A0E0B0E0809334
:105EC000E9049093EA04A093EB04B093EC0480916E
:105ED000E9049091EA04A091EB04B091EC04B7FFBF
:105EE00002C00C94D53F892F9A2FAB2FBB27A7FD5B
:105EF000BA95C0903104D0903204C80ED91E2985BD
:105F00003A854B855C85203080EF38078FEF480756
:105F10008FEF580714F00C94CC3E8091F604882340
:105F200011F40C94A43FD0923204C0923104DA01EF
:105F3000C90157FF02C00C94F63F9C01AD01B7FFA9
:105F400002C00C941740B9E05595479537952795B1
:105F5000BA95D1F78091F1049091F204820F931FCA
:105F60009093F2048093F10429853A854B855C85F2
:105F700057FF02C00C941140A3E055954795379503
:105F80002795AA95D1F728379CEE39079FEF490747
:105F90009FEF590714F00C94B63F88E79CEEAFEFE3
:105FA000BFEF8093E9049093EA04A093EB04B093CD
:105FB000EC048091E9049091EA04A091EB04B09183
:105FC000EC04B7FF02C00C94F03F892F9A2FAB2F3F
:105FD000BB27A7FDBA95C0903104D0903204C80EFB
:105FE000D91EAA892A2F33278091F1049091F204B7
:105FF0002817390724F43093F2042093F104B88D64
:10600000BB2379F02B2F332727FD30958091F104A6
:106010009091F2042817390724F43093F204209366
:10602000F10429853A854B855C8521383105410588
:10603000510574F08091A4049091A5042091F1047D
:106040003091F204820F931F9093A5048093A404CF
:1060500089859A85AB85BC8580589F4FAF4FBF4FD0
:106060000CF01DC38091A4049091A5042091F1042B
:106070003091F204821B930B9093A5048093A404A7
:106080000EC390908D096FEF961611F40C94D63BC9
:1060900080911108A82EBB24CC24DD2469A17AA10B
:1060A0008BA19CA1A60195010E94B26079018A0191
:1060B0008091A7089091A808AA2797FDA095BA2FCC
:1060C000E81AF90A0A0B1B0B698D7A8D8B8D9C8D52
:1060D000A60195010E94B26059016A018091C3082E
:1060E0009091C408AA2797FDA095BA2FA81AB90ABB
:1060F000CA0ADB0A292C332427FC3094432C532C66
:10610000C201B101A80197010E943E6097FDACC297
:106110003B014C01F9E09594879477946794FA9544
:10612000D1F7C201B101A60195010E943E6097FF1F
:1061300002C00C945C3D5B016C01E9E0D594C7940E
:10614000B794A794EA95D1F78091190490911A0415
:10615000813491053CF480911704909118048134A6
:106160009105C4F0D401C30197FE02C00C944B3ECC
:106170003C014D019594879477946794D601C501AD
:10618000D7FE02C00C94503E5C016D01D594C794BB
:10619000B794A79480910008E82FFF27EE0FFF1F08
:1061A000E653F74F808191810190F081E02DF7FF58
:1061B00002C00C94573D7A97A4F0C401B30123E0C8
:1061C00030E040E050E00E94B26039014A01C6016F
:1061D000B50123E030E040E050E00E94B260590198
:1061E0006A0180918F09282F332727FD3095432F8F
:1061F000532F261537054805590514F439014A016E
:10620000992787FD9095909581959F4FAA2797FD97
:10621000A095BA2F681679068A069B0614F43C01ED
:106220004D012A153B054C055D0514F459016A0121
:10623000A816B906CA06DB0614F45C016D0180914C
:106240006E0490916F04A0917004B091710486194E
:106250009709A809B90980936E0490936F04A093DD
:106260007004B09371048091660490916704A091CA
:106270006804B09169048A199B09AC09BD0980932F
:10628000660490936704A0936804B09369048091B6
:10629000EC039091ED038F3F910511F008F081CA56
:1062A000AAA8BBA8CCA8DDA8A0927208B0927308D7
:1062B000C0927408D0927508CEA4DFA4E8A8F9A80B
:1062C000C0926408D0926508E0926608F092670870
:1062D000D0908A08DEA200914B040DA7A0903A044A
:1062E000B0903B04C501B7FE3CC2882799278A19A4
:1062F0009B0937C210927E0410927F041092800492
:106300001092810410927A0410927B0410927C0403
:1063100010927D0410927D0810927E0810927F08E2
:1063200010928008109284081092850810928608B6
:10633000109287081EA61FA618AA19AA20E030E00E
:1063400040E050E02AAB3BAB4CAB5DAB80916E04C0
:1063500090916F04A0917004B091710480936A04CD
:1063600090936B04A0936C04B0936D0480916604C9
:1063700090916704A0916804B091690480936204CD
:1063800090936304A0936404B09365041092ED03AA
:106390001092EC031092300410922F0410923204E9
:1063A000109231043CA5332309F0F2C94BA54423D4
:1063B00009F0EEC9E0C940917A084DA34AC9C090DE
:1063C000FD07AC2DBB27AA0FBB1FFD01E653F74FFE
:1063D00080809180D090FE074D2D5527440F551F8A
:1063E000CA018653974FFC0160807180A052B74F5D
:1063F0000D911C914052574FDA01ED90FC900C9496
:10640000F726BFEF8E3F9B070CF06DC002960C94F1
:106410007827B9016150704040913C0450913D048F
:10642000CA0157FF02C00C9404289595879595954D
:10643000879597FF02C00C940D2820911704309186
:1064400018042817390714F00C941928CA0157FFAB
:1064500002C00C94203D97FF02C00C941D3D959501
:106460008795959587958536910514F40C941B288E
:1064700084E690E0E0904D04EF8AEE2011F00C9459
:106480002228909318048093170470931A04609341
:1064900019040C942A2860938A0840913E04509174
:1064A0003F04CA0157FD02C00C94D5270396959569
:1064B00087959595879597FD02C00C94DD2790955B
:1064C00081959F4F0C94DD27109237040C9412266F
:1064D0001092370410924D042A3011F00C94CF25FD
:1064E000289A0C94D42510923B0410923A040C94F0
:1064F0007C27982F0C94E12881E080932A040C9447
:10650000D62881E080932904582F0C94A92881E093
:1065100080932B040C947F2881E080932C040C94AE
:10652000522890932D0480932E045DC88091B50667
:10653000282F332727FD309580910C08482F5527A9
:10654000249FC001259F900D349F900D1124209110
:106550003E0430913F04820F931F90933F04809339
:106560003E048091B606992787FD9095849FF0019F
:10657000859FF00D949FF00D1124CF0120913C04D4
:1065800030913D04820F931F90933D0480933C040F
:106590008091B706992787FD909520913A04309114
:1065A0003B04820F931F90933B0480933A048091A5
:1065B000B906282F332727FD309580910A0899279F
:1065C000289F5001299FB00C389FB00C1124B09225
:1065D0001C03A0921B038091B8069927801791078E
:1065E00014F00C94B72790933904809338040C94DA
:1065F000BB2780913704882311F40C940C298091D7
:10660000150490911604FFEF8F3F9F0711F40C942F
:106610001029019690931604809315040C94102968
:1066200010922A040C94D6281092290450E00C945D
:10663000A92810922B040C947F288091BF08909178
:10664000C008A091C108B091C208209117033091F1
:1066500018034091190350911A03BC01CD010E9407
:10666000B26069010C943D2661507E4F8F4F9F4F61
:106670004FCD60E070E06B0110924B041DA6E090DE
:106680007D08F0907E0800917F081091800860904E
:106690008408709085088090860890908708F09113
:1066A0008A08FEA3FF2311F00C946B3B1092320476
:1066B000109231041092300410922F04E092F704EB
:1066C000F092F8040093F9041093FA046092FB042A
:1066D0007092FC048092FD049092FE0410927E045D
:1066E00010927F04109280041092810410927A0418
:1066F00010927B0410927C0410927D041092760418
:1067000010927704109278041092790410927D0808
:1067100010927E0810927F081092800810928408D0
:1067200010928508109286081092870810927208BD
:1067300010927308109274081092750810926408F1
:106740001092650810926608109267081092ED0387
:106750001092EC03A0903A04B0903B04C501B7FC42
:10676000C4CD409774F068EE262E63E0362E30924A
:10677000380320923703198914FD03C081E0809308
:10678000E404D0900E08ED2CFF2400271127B5015A
:10679000882777FD8095982F9501B7FCB5C74427CA
:1067A00037FD4095542F0E943E609B01AC01C8010B
:1067B000B7010E943E6097FDA2C759E09595879565
:1067C000779567955A95D1F79B018D2D99278A9DCD
:1067D000A0018B9D500D9A9D500D1124CA0157FDAB
:1067E000C7C79595879595958795280F391FC90136
:1067F000AA2797FDA095BA2F8093C8049093C90447
:10680000A093CA04B093CB0420915E0430915F043E
:106810004091600450916104281B390B4A0B5B0BBB
:10682000213563EC360760E0460760E056070CF45C
:10683000E5C680E593ECA0E0B0E080935E04909321
:106840005F04A0936004B093610480915E04909112
:106850005F04A0916004B0916104805B9C43AF4FE2
:10686000BF4F64F480EB9CE3AFEFBFEF80935E0417
:1068700090935F04A0936004B0936104C0905404AB
:10688000D0905504C114D10409F4FDC5898983FF52
:10689000FAC589A19AA1ABA1BCA1B7FF02C00C9413
:1068A000493D09E0B595A795979587950A95D1F744
:1068B0009DAF8CAF97FF02C00C94343D898D9A8DAB
:1068C000AB8DBC8DB7FF02C00C942E3D19E0B59581
:1068D000A795979587951A95D1F7BC0197FF02C0A8
:1068E0000C94293DECADFDADE617F70714F47DAF30
:1068F0006CAF6CAD7DAD77FF02C00C94253D2B01D4
:106900005594479455944794559447940894411C42
:10691000511CFCE1AF2EF2E0BF2ECA0CDB1C76014D
:106920000027F7FC0095102F24EE3DEFC20ED31E7A
:106930006090BF087090C0088090C1089090C20815
:1069400040911703509118036091190370911A0335
:106950004B8B5C8B6D8B7E8BC401B3012B893C8987
:106960004D895E890E94B260E21AF30A040B150B8E
:10697000C801B70128E631E040E050E00E94B26073
:10698000DC01CB018C01045B1040A090B808B090F2
:10699000B908C501B7FE02C00C94433D813891058A
:1069A00014F000E010E020903703309038032114F9
:1069B0003104A9F46CAD7DAD6931710584F4809129
:1069C000490490914A04800F911F90934A04809348
:1069D00049048091E404882311F00C94933DC8018C
:1069E000880F991F880F991F880F991FB2010E9465
:1069F0007D609B01442737FD4095542F260D371DA0
:106A0000481D591D2093BF083093C0084093C1080A
:106A10005093C20880912803E82EFF24ACADBDAD91
:106A2000AE9DC001AF9D900DBE9D900D1124969519
:106A30008795929582958F7089279F708927F70196
:106A4000E81BF90BFDAFECAFF7FF02C00C943C3D27
:106A50002114310411F00C944F3D00911904109150
:106A60001A048091170490911804080F191F17FF3A
:106A700002C00C94A73E1595079515950795159599
:106A80000795005C1F4FCA01B9012B893C894D89CC
:106A90005E890E94B260DA01C901209152043091EE
:106AA0005304442737FD4095542F821B930BA40BAE
:106AB000B50B845E9D4FAF4FBF4FBC01CD0128E6A3
:106AC00031E040E050E00E94B260DC01CB01845B29
:106AD00090404CAD5DAD849F9001859F300D949F9B
:106AE000300D1124C901B8010E947D60C701880FD3
:106AF000991F8E0D9F1D9DAF8CAF8617970744F091
:106B00008CAD9DAD909581959F4F681779070CF4DA
:106B1000BC01CB01AA2797FDA095BA2F20915E0456
:106B200030915F044091600450916104820F931F83
:106B3000A41FB51F80935E0490935F04A09360042C
:106B4000B09361048091E30481508F3F09F4A4C4A1
:106B50008093E3049DA5992381F01092C4041092C0
:106B6000C5041092C6041092C7041092C00410927B
:106B7000C1041092C2041092C304ACA5AA2309F068
:106B80008BC5EEA18E2F9927AA27BB27BC01CD016B
:106B900029A13AA14BA15CA10E943E60DC01CB017E
:106BA000BC01CD0128EF3AE240E050E00E94B26023
:106BB0001901FBA5FF2309F06CC5CEA08C2D9927E8
:106BC000AA27BB27BC01CD01298D3A8D4B8D5C8D49
:106BD0000E943E60DC01CB01BC01CD0128EF3AE20E
:106BE00040E050E00E94B2603C832B8380905E08BE
:106BF00090905F0809EC801691040CF43FC5A8EC56
:106C00008A2E912C90925F0880925E08009169080C
:106C100010916A08093C11050CF428C508EC10E035
:106C200010936A080093690880916B0890916C0832
:106C3000AA2797FDA095BA2F2091BD08C22EDD246A
:106C4000EE24FF24BC01CD01A70196010E943E6005
:106C50009B01AC01C401AA2797FDA095BA2FE7E0DC
:106C6000880F991FAA1FBB1FEA95D1F7280F391F5C
:106C70004A1F5B1F57FD3EC576E0559547953795F2
:106C800027957A95D1F74101820E931E24018091B8
:106C90005C0890915D08AA2797FDA095BA2FBC01CA
:106CA000CD01A70196010E943E609B01AC01C80185
:106CB000AA2797FDA095BA2F67E0880F991FAA1FF2
:106CC000BB1F6A95D1F7280F391F4A1F5B1F57FD5D
:106CD0000CC596E055954795379527959A95D1F728
:106CE0006B807C80620E731E6301AA0CBB1CC50105
:106CF000AA2797FDA095BA2F209163083327442730
:106D00005527BC01CD010E943E607B018C0197FD9F
:106D100026C586E015950795F794E7948A95D1F7EF
:106D20005DA1852F9927AA27BB2720917204309156
:106D300073044091740450917504BC01CD010E940C
:106D40003E60DC01CB01BC01CD0120EF35E540E028
:106D500050E00E94B2605701A20EB31EC50161E06F
:106D6000861660E4960624F0812C10E4912E24010E
:106D700070E0871670EC97060CF073C4812CB0ECB1
:106D80009B2E90926C0880926B08A1E06A16A0E49A
:106D90007A0624F0612CA0E47A2E6301B0E06B1631
:106DA000B0EC7B060CF058C4612CF0EC7F2E709296
:106DB0005D0860925C08E1E0AE16E0E4BE0624F0F7
:106DC000A12CE0E4BE2EC501F0E0AF16F0ECBF064A
:106DD0000CF03DC4A12C70ECB72EB092B908A09273
:106DE000B808809138058823C1F0809115049091EE
:106DF00016040297C09788F4C980DA801C141D0419
:106E000064F481E090E090931604809315048091DF
:106E10007008E82EFF24FA82E98209811A81000FA6
:106E2000111F000F111F1A8309831989812F9927B8
:106E300080FFB8C081FF33C480912B03823308F0F8
:106E400099C48091540381508F3F09F44BC68093BD
:106E5000540320913504309136045F89552321F085
:106E6000109234041092330489012091330430913C
:106E70003404201731070CF095C080914C0488230E
:106E800009F490C0021B130B80912A039927089FD5
:106E9000B001099F700D189F700D1124CB0177FD73
:106EA0003BC78C01159507951595079589819A81A2
:106EB000801B910B8C018091EE039091EF0397FD65
:106EC00029C795958795081B190BC0905604D0903B
:106ED0005704E0905804F0905904F7FC12C737E0CB
:106EE000F594E794D794C7943A95D1F78091290304
:106EF000282F332744275527C701B6010E943E603B
:106F000097FDFAC625E095958795779567952A951B
:106F1000D1F731E0693173070CF45FC568E171E0C6
:106F2000061B170B8091E1049091E2049C012295CD
:106F30003295307F3227207F3227281B390B200FD4
:106F4000311F37FDEBC6A9015595479555954795D6
:106F50005595479555954795BA0180910608282F74
:106F60003327220F331F220F331F421753076CF4AE
:106F700089819A81821793070CF0F4C5A981BA819F
:106F8000A217B30714F4AD01BD01E981FA81E4173A
:106F9000F5070CF0FDC4AF01F093E204E093E104C7
:106FA0005A8349835090B708852D9927880F991FD8
:106FB000880F991F80559040C980DA808C159D05F7
:106FC00014F49A838983E980FA80F092B307E092FF
:106FD000B2078091C8049091C904A091CA04B091ED
:106FE000CB04880F991FAA1FBB1F880F991FAA1FC8
:106FF000BB1FA81AB90ABBAEAAAE8701013A110598
:107000000CF411C3C701F7FCCFC3959587952AAD42
:107010003BAD8217930714F49BAF8AAF909581958F
:107020009F4F4AAD5BAD4817590714F49BAF8AAF29
:10703000252D3327220F331F220F331FC90149810A
:107040005A81841B950B6AAD7BAD8617970714F4A4
:107050009BAF8AAF69817A81621B730B8AAD9BAD4E
:107060008617970714F47BAF6AAF80913E04909126
:107070003F048401081B190B10937C0800937B08C4
:10708000AEA1AA2309F4C9C2281A390AC101AA2744
:1070900097FDA095BA2F2091C0043091C104409172
:1070A000C2045091C304820F931FA41FB51F809385
:1070B000C0049093C104A093C204B093C304609130
:1070C000C0047091C1048091C2049091C3046130E6
:1070D000BAEF7B07B0E08B07B0E09B0774F080E06D
:1070E0009AEFA0E0B0E08093C0049093C104A09315
:1070F000C204B093C304BC01CD016030E6E07E075A
:10710000EFEF8E07EFEF9E0774F480E096E0AFEFAD
:10711000BFEF8093C0049093C104A093C204B093C6
:10712000C304BC01CD01E0902D03F0902E03970124
:10713000442737FD4095542F0E94B2606801C20E6B
:10714000D31EB0901D036B2D7727882799272AAD72
:107150003BAD37FD00C337FDFBC23595279509814F
:107160001A81200F311F442737FD4095542F0E946C
:107170003E6097FDE8C226E09595879577956795DF
:107180002A95D1F79B016C157D050CF46B016627E0
:107190007727621B730BC616D7060CF46B01809120
:1071A0003C0490913D048301081B190B10935B086C
:1071B00000935A082EA1222309F429C24B815C8135
:1071C000481B590BCA01AA2797FDA095BA2F2091F9
:1071D000C4043091C5044091C6045091C704820F85
:1071E000931FA41FB51F8093C4049093C504A0935C
:1071F000C604B093C7046091C4047091C504809123
:10720000C6049091C70461305AEF750750E08507B6
:1072100050E0950774F080E09AEFA0E0B0E0809332
:10722000C4049093C504A093C604B093C704BC01E2
:10723000CD016030A6E07A07AFEF8A07AFEF9A077B
:1072400074F480E096E0AFEFBFEF8093C4049093B6
:10725000C504A093C604B093C704BC01CD01970137
:10726000442737FD4095542F0E94B2607801E20E0A
:10727000F31E6B2D7727882799272AAD3BAD37FD65
:1072800048C237FD4BC235952795E981FA812E0F0B
:107290003F1F442737FD4095542F0E943E6097FDC5
:1072A0004DC216E095958795779567951A95D1F714
:1072B0009B016E157F050CF47B0166277727621B07
:1072C000730BE616F7060CF47B018601222717FDE7
:1072D0002095322F0D871E872F87388B809170085D
:1072E000282F33273FAB2EAB452D552759AF48AF3D
:1072F000BAEACB2EB8E0DB2E05E517E027016624BD
:1073000057FC6094762C6AAD7BAD4B01AA2497FCA8
:10731000A094BA2CABE03A2EFBE8EF2EF8E0FF2E5B
:1073200006C0FDAFECAFECADD601EC93B6C6F801EC
:10733000258512160CF08FC049815A81CA01AA27EF
:1073400097FDA095BA2F332727FD3095432F532F54
:10735000BC01CD010E943E6097FD80C0E6E095959E
:10736000879577956795EA95D1F77DAF6CAFF80172
:107370008685282F332727FD3095432F532F6D8582
:107380007E858F8598890E943E6097FD77C056E084
:1073900095958795779567955A95D1F72CAD3DAD25
:1073A000260F371F3DAF2CAFF8018785282F3327D5
:1073B00027FD3095432F532FC301B2010E943E6039
:1073C00097FD57C046E095958795779567954A95BF
:1073D000D1F72CAD3DAD260F371F3DAF2CAFF801D7
:1073E0008089282F332727FD3095432F532FC50140
:1073F000B4010E943E60DC01CB01B7FD36C036E02F
:10740000B595A795979587953A95D1F7F70160813E
:1074100071812CAD3DAD820F931F0E94E113D70106
:107420008D939C9397FD1FC095958795959587950E
:107430009DAF8CAFEEA9FFA98E179F070CF471CFFB
:1074400028AD39AD4CAD5DAD241735070CF06BCFD1
:107450003DAF2CAF68CFD6011C921FC6615C7F4F39
:107460008F4F9F4F7BCF0396DFCFCF96A11DB11DCE
:10747000C6CF615C7F4F8F4F9F4FA4CF615C7F4F22
:107480008F4F9F4F84CFA090B808B090B9088091DB
:10749000E304815008F05CCB88E18093E3048091A1
:1074A00011089927880F991F880F991F7C010027C1
:1074B000F7FC0095102F69A17AA18BA19CA1A801CE
:1074C00097010E94B2603093A5072093A407698DAD
:1074D0007A8D8B8D9C8DA80197010E94B2603093AC
:1074E000A7072093A6078091A7089091A80897FD69
:1074F00082C295958795959587959093A9078093D6
:10750000A8078091C3089091C40897FD72C2959511
:107510008795959587959093AB078093AA07B0922E
:10752000AD07A092AC07209135043091360430931A
:10753000AF072093AE078091E7079091E8079093FB
:10754000B1078093B007D092B507C092B40780917D
:107550001403909115039093B7078093B607809119
:10756000BF089091C008A091C108B091C2082091B5
:107570001703309118034091190350911A03BC016D
:10758000CD010E94B2603093BB072093BA0780916F
:10759000400499279093B9078093B8078091B0066B
:1075A00099279093CB078093CA07809124059091E7
:1075B00025059093CD078093CC0780918E0999275C
:1075C00087FD90959093DB078093DA07809190096F
:1075D00099279093DF078093DE078091150590919E
:1075E00016059093E1078093E00780911305909131
:1075F00014059093E3078093E207ACCA20935E04DE
:1076000030935F0440936004509361041EC9C80125
:10761000AA2797FDA095BA2FDACDC801AA2797FD12
:10762000A095BA2F38CD6AAD7BAD6135710524F0D8
:1076300080E590E09BAF8AAFAAADBBADA05BBF4F2A
:107640000CF0F6CC00EB1FEF1BAF0AAFF1CC909320
:10765000B9088093B808C5CBD0925D08C0925C0889
:10766000AACB50926C0840926B088FCB2FEF083357
:1076700012070CF0D9CA08E31FEFD2CA18E381162B
:107680001FEF91060CF0C2CAF8E38F2EFFEF9F2E7A
:10769000B9CA1C821B82AACA222433248ACA209116
:1076A0002B0380911B0390911C03820F911D20914D
:1076B0000A083327829FA001839F500D929F500D8F
:1076C0001124CA014497909334048093330481E0D9
:1076D00080934C04BECBD0923204C092310470939C
:1076E000300460932F040C945E33215C3F4F4F4F66
:1076F0005F4FEFCA215C3F4F4F4F5F4FBDCA615094
:107700007E4F8F4F9F4F59C8222733272A193B0995
:1077100046C8309521953F4F37FFB5CD2F5F3F4F7E
:1077200035952795E981FA812E0F3F1F442737FDB4
:107730004095542F0E943E6097FFB3CD615C7F4F10
:107740008F4F9F4FAECD615C7F4F8F4F9F4F13CDBB
:107750002F5F3F4F02CD309521953F4FFCCC4FE33B
:1077600050E060E070E0E40EF51E061F171FD1CA5E
:10777000039637C881E080934C0488EC68CB8091F5
:1077800014048260809314040C942B294D5F5F4F86
:107790000C940F2710923904109238040C94C327CC
:1077A0004D5F5F4F0C94462701962FCC80911108B6
:1077B000E82EFF240027112769A17AA18BA19CA1A3
:1077C000A80197010E94B26039014A018091A7087F
:1077D0009091A808AA2797FDA095BA2F681A790A50
:1077E0008A0A9B0A698D7A8D8B8D9C8DA8019701E1
:1077F0000E94B26059016A018091C3089091C40847
:10780000AA2797FDA095BA2FA81AB90ACA0ADB0AB7
:10781000D401C30197FC85C23C014D0154E095940D
:107820008794779467945A95D1F7D601C501D7FC10
:1078300096C25C016D0144E0D594C794B794A794B7
:107840004A95D1F78091190490911A0481349105D9
:107850000CF438C1C401B30123E030E040E050E053
:107860000E94B26039014A01C601B50123E030E04F
:1078700040E050E00E94B26059016A018091000826
:10788000E82FFF27EE0FFF1FE653F74F808191810E
:107890000190F081E02DF7FD5EC27A97A4F0C4015B
:1078A000B30123E030E040E050E00E94B2603901D3
:1078B0004A01C601B50123E030E040E050E00E94FB
:1078C000B26059016A0171E2671671048104910482
:1078D0002CF030E2632E712C812C912C80EE6816F6
:1078E0008FEF78068FEF88068FEF980644F420EE2E
:1078F000622E2FEF722E2FEF822E2FEF922E91E21B
:10790000A916B104C104D1042CF090E2A92EB12C27
:10791000C12CD12CA0EEAA16AFEFBA06AFEFCA0663
:10792000AFEFDA0614F00C941F3180EEA82E8FEF23
:10793000B82E8FEFC82E8FEFD82E0C941F3103ED89
:10794000C02E0FEFD02E0C943D2630900008E32D72
:10795000FF27EE0FFF1FE653F74F808191810190C3
:10796000F081E02DF7FDFFC1E536F1050CF0B3C065
:10797000F39734F0C501B7FCEEC25C01B594A7944F
:107980001A141B040CF080C1C090FD070C94F9265A
:107990007093E2046093E1045A83498303CB10920D
:1079A000DF04E32DFF27EE0FFF1FE653F74F808123
:1079B00091818C349105CCF08091E0048F5F893CFB
:1079C00008F4D3C01092370488EC8093E00410923E
:1079D0001604109215040C9412264EEF683E74079C
:1079E0000CF09ECA68EE7EEF9BCA1092E0040C94E5
:1079F000122603968CCD03967CCD6150704E8F4F2E
:107A00009F4F0C94E2266150704E8F4F9F4F0C9405
:107A1000BB266150704E8F4F9F4F0C948F26615044
:107A2000704E8F4F9F4F0C94682603960C94EF274F
:107A3000909581959F4F0C94EB2703960C942F32D1
:107A4000909581959F4F0C942B32695F7F4F0C94DA
:107A50007F34709561957F4F0C94723481509E4FA6
:107A6000AF4FBF4F0C946634DC01B095A195BF4F6A
:107A7000BDAFACAF0C945E3484EF91E090933803CB
:107A8000809337035FC8882799278A199B090C942C
:107A9000CE3481509E4FAF4FBF4F0C945134089459
:107AA0002108310830923803209237034BC8F095F3
:107AB000E195FF4F0C94DB3061507E4F8F4F9F4F0D
:107AC0000C949B3080911704909118048134910597
:107AD0000CF4D4CEBFCEC50163E070E00E947D609F
:107AE0005B014ECF80910A0390910B03895E934016
:107AF00008F4F0C087B58E3F08F0ECC087B5843F2E
:107B000008F027C29091F0039A509093F00380916F
:107B1000F207891B87BD8CE291E090932905809341
:107B200028058AEF94C988EC90E09093290580930A
:107B30002805C601AA2797FDA095BA2FBC01CD0143
:107B40002B893C894D895E890E943E603B014C0136
:107B50000E94B26030935304209352041092E404C4
:107B60000C94EF34A901B90109CA8093E0040C9484
:107B7000122680819181855B9F4F0CF0FCC0809123
:107B8000DE048F5F8093DE04893C10F40C94222A7B
:107B90002C3008F0E7C12998A4E0B0E08FEF082E60
:107BA0000E942A60109237041092DE04109216048C
:107BB000109215040E94331FA4E0B0E080919C0451
:107BC00090919D0497FD4BC2892F990F990B082E18
:107BD0000E942A60A5E0B0E080919C0490919D04F1
:107BE000082E0E942A60A6E0B0E080919A0490914D
:107BF0009B0497FD31C2892F990F990B082E0E9483
:107C00002A60A7E0B0E080919A0490919B04082E2E
:107C10000E942A6008E010E08091940490919504FD
:107C2000A0919604B0919704BC01CD010E94895F98
:107C3000DC01CB019C0197FDE2C1832F992787FDD1
:107C40009A95D801082E0E942A6009E010E08091E0
:107C5000940490919504A0919604B0919704BC016E
:107C6000CD010E94895FDC01CB01D801082E0E9462
:107C70002A600E94F4400E94F7133091FF070C9491
:107C8000222A8093DF048DCE71E0A72EB12CC09004
:107C9000FD070C94F9260196A11DB11D0C94B83076
:107CA0000196A11DB11D0C94C43081E08093E404C1
:107CB0001092C8041092C9041092CA041092CB0406
:107CC00010925E0410925F0410926004109261049E
:107CD0000C942B2980910A0390910B038436910513
:107CE00020F587B5823008F187B58B3008F43CC1A8
:107CF0009091F003965F09CF615E7F4F8F4F9F4F4A
:107D000001C92FE730E040E050E0C20ED31EE41E70
:107D1000F51EE5C80196D5C80396C3C8215F3F4F3D
:107D200012C90F96A11DB11D77CD20913504309158
:107D300036042451304030933404209333042C5EB5
:107D40003F4F10924C0481E08093540386C8095F32
:107D50001F4F0C943B35F095E195FF4F9ECD0F964C
:107D6000A11DB11D66CDF095E195FF4FFDCD80932E
:107D7000DE040C94222A4093DE040C94222AB09252
:107D8000F204A092F10420918E09288F0C94B22D58
:107D90001092F3040C94182E1092F6040C94F12F08
:107DA0002093E9043093EA044093EB045093EC04ED
:107DB0001092F5040C947F2F2092E5043092E60493
:107DC0004092E7045092E8041092F4040C94892E37
:107DD0000E94F4404DE56DEF77E00E949C40809159
:107DE000050880FF10C080910A0390910B03875B08
:107DF000934038F480910A0390910B038E5E924079
:107E000010F40E94440C0E94331F33CF2093E904E6
:107E10003093EA044093EB045093EC041092F20484
:107E20001092F104E8EE2E2EE3E03E2E309238035D
:107E3000209237030C94F12FD090FE070C948529E3
:107E4000299A0C9459296092E5047092E604809274
:107E5000E7049092E8041092F2041092F10488EE84
:107E6000282E83E0382E30923803209237030C946A
:107E7000892E7093300460932F04D0923204C09204
:107E80003104CB0177FDA5C0BC0175956795C6018E
:107E9000D7FC9DC06C01D594C7940C94CC2CB095A4
:107EA000A095909581959F4FAF4FBF4F0C94E22EB8
:107EB0002093E9043093EA044093EB045093EC04DC
:107EC00081E08093F5040C947F2F2092E50430929A
:107ED000E6044092E7045092E80481E08093F404C1
:107EE0000C94892EB095A095909581959F4FAF4F9A
:107EF000BF4F0C94802D81509F4FAF4FBF4F0C94BC
:107F00009E2C81509F4FAF4FBF4F0C94912C6150CE
:107F10007F4F8F4F9F4F0C94612C61507F4F8F4F3D
:107F20009F4F0C944B2C81509F4FAF4FBF4F0C94E1
:107F3000232C81E08093F3040C94182E81509F4FE2
:107F4000AF4FBF4F0C94092C81E08093F6040C9442
:107F5000F12F8EEFDFCD019610CDF095E195FF4F1B
:107F60000C94042A299A18CE81E0D4CD2093E904F8
:107F70003093EA044093EB045093EC040C94D92F13
:107F80002093E9043093EA044093EB045093EC040B
:107F90000C94672F295F3F4F4F4F5F4F0C944A2F30
:107FA000F095E195FF4F0C94C42C81509F4FAF4F3B
:107FB000BF4F0C94732F81509F4FAF4FBF4F0C9406
:107FC0007D2E295F3F4F4F4F5F4F0C94552E0196EA
:107FD00061CF019659CFF095E195FF4F0C9481291F
:107FE00081509F4FAF4FBF4F0C94E52FB095A09598
:107FF000909581959F4FAF4FBF4F0C949D2F21506F
:108000003F4F1BCE81509E4FAF4FBF4F0C94352F2B
:10801000B095A095909581959F4FAF4FBF4F0C9411
:10802000312F295F3F4F4F4F5F4F0C94BC2F215092
:108030003E4F4F4F5F4F0C94A32F21503E4F4F4F59
:108040005F4F0C943C2EB095A095909581959F4FD5
:10805000AF4FBF4F0C94362E81509F4FCCCD8150E7
:108060009F4FB2CD81509F4FAF4FBF4F0C94102EFA
:10807000295F3F4F4F4F5F4F0C94EE2D21503E4FE5
:108080004F4F5F4F0C94D52DB095A095909581954D
:108090009F4FAF4FBF4F0C94CF2D3A94E2E0F0E0EA
:1080A000EE0EFF1E0C5F1F4F0894C11CD11C37FE43
:1080B0003EC9EF960FB6F894DEBF0FBECDBFDF917D
:1080C000CF911F910F91FF90EF90DF90CF90BF90D5
:1080D000AF909F908F907F906F905F904F903F9068
:1080E0002F90089580910B0590910C05A0910D059E
:1080F000B0910E058093030590930405A0930505A8
:10810000B09306058091070590910805A091090597
:10811000B0910A058093FF0490930005A093010598
:10812000B09302050895109216051092150510924D
:108130001405109213050895282FFB0181508530F6
:1081400008F023E0842F9927332721503040829F65
:10815000D001839FB00D929FB00D1124AC59BF4F39
:10816000019724F00E941D600192FACF0E946D5881
:108170000895863038F085E0A2E0B0E0082E0E9435
:108180002A6008958823C1F70895582F863048F152
:1081900055E0842F9927252F332721503040829F87
:1081A000D001839FB00D929FB00D1124AC59BF4FE9
:1081B000FB01019724F001900E942A60FACFA2E609
:1081C000B0E0042E0E942A60A0E5B0E088E0FB0148
:1081D000182E0E943660852F0E94B9400E946D586B
:1081E00008958823B1F60895CF93A2E0B0E00E94ED
:1081F0001D60802DC82F8150853020F0C3E08C2F6A
:108200000E94B9408C2F9927CF9108958091FD0746
:10821000E82FFF27EE0FFF1FE653F74F8081918174
:108220008D5E9F4F14F010925703808191818A5B7D
:108230009F4F24F480915703882319F02091B006B2
:1082400015C081E0809357032091B006280F20933A
:10825000B006253038F088EE93E09093290580939E
:10826000280504C0822F0E94F713E8CF822F992798
:108270009093CB078093CA070895CFEFD0E1DEBF7C
:10828000CDBF14B815B807EE13E00253104017FF26
:10829000FCCF08EE13E0189B6BC1199B74C12DE055
:1082A0002093560381E887B93E9A8FEF88B98BE116
:1082B00084B981E085B98EE38AB9579A87E48BB98E
:1082C000469A84B7877F84BF8091600088618093DD
:1082D00060001092600080ED97E0909329058093F4
:1082E000280510923B0410923A041092CF08109285
:1082F000CE0810923D0410923C0410923F0410925C
:108300003E04243108F43AC188E894E0A0E0B0E0EB
:108310008093170390931803A0931903B0931A0343
:108320002A3009F460C1243109F45DC1289A0E9401
:10833000D6520E94A6520E947C090E947A500E9446
:108340003E0C0E94FC560E94F558789487E091E01C
:108350009F938F931F920E94E54D0F900F900F9067
:1083600084E690E09F938F938AE490E09F938F93AD
:108370001F921F92809156036AE00E945D60892FD0
:1083800099279F938F93809156030E945D60992750
:108390009F938F938DE291E09F938F931F920E9402
:1083A000E54D8091C8002DB73EB7235F3F4F0FB614
:1083B000F8943EBF0FBE2DBF803209F40CC18091EE
:1083C00056038C3008F0D8C0299A49E06DEF77E069
:1083D00083E00E949C40C8EED3E0DE010E941D6055
:1083E000802D813009F4D1C081E691E09F938F9375
:1083F0001F920E94E54D0F900F900F9025E537E0FA
:10840000F9018FE0158616861786108A81503496FA
:1084100087FFF8CF80E48093620780936307109210
:108420006407809365078093660790EC90936707D5
:10843000109268078093690780936A0710926B0710
:1084400090936C0790936D0780936E0710926F075F
:10845000809370079093710781E08093550746E5FC
:1084600057E08BE0E8E5F3E0DA0101900D928A95A0
:10847000E1F78DE4DE01F901182E0E94366080914B
:10848000160399279F938F935F934F9382E891E010
:108490009F938F931F920E94E54D2DB73EB7295FA2
:1084A0003F4F0FB6F8943EBF0FBE2DBF83EA91E059
:1084B0009F938F931F920E94E54D10923905109261
:1084C0002C050E94DB210F900F900F9080912C05BE
:1084D0008823E1F310923905EE24FF24E5EBCE2E3C
:1084E000E1E0DE2E10922C050E94DB2180912C050C
:1084F0008823E1F3F701EE5DF64F8081882309F0D0
:1085000074C0E70121967E012C9760F3EE24FF24CE
:1085100079EBC72E71E0D72E22C0F701EE0FFF1FB7
:10852000EE0FFF1FEB5AF84F85851816F4F4E7019C
:108530002196DF93CF93DF92CF929F930E94E54DD8
:108540000F900F900F900F900F9086E099E0E80E3B
:10855000F91ED7011C927E012C9708F055C0F70137
:10856000EE5DF64F90819923C1F2E7012196EDCFA0
:10857000199B2FC024E194CE299827CF8BE095E05A
:10858000A0E0B0E0C5CE2BE08BCEA1E0B0E00E9431
:108590001D60802D8F3F09F427CF1092160325E52B
:1085A00037E08DE4DE01F901182E0E9425609091DC
:1085B0001603F9013D962FE08081349618160CF4CD
:1085C0009F5F215027FFF8CF9093160346E557E0B1
:1085D00056CF2AE065CE8091CA00863009F0EFCEF2
:1085E0000E946B5CECCE2898A2CEE7012196DF9327
:1085F000CF93DF92CF921F920E94E54D0F900F9084
:108600000F900F900F907FCF87ED91E09F938F9306
:108610001F920E94E54D0F900F900F90A1E0B0E0E7
:108620000E941D60802D8B3409F055C1A4E0B0E09C
:108630000E941D60802D853008F035C20E94F440F4
:108640004DE56DEF77E00E949C400E94F440992731
:108650009F938F938BE592E09F938F931F920E943D
:10866000E54D809105080F900F900F900F900F909F
:1086700080FDF5C10E94331F809156038A3009F4B2
:10868000ECC1843109F4E9C1289A80ED97E0909318
:1086900029058093280585E58093B20688E992E054
:1086A0009F938F931F920E94E54D809105080F9034
:1086B0000F900F9082FFF4C184EA92E09F938F9312
:1086C0001F920E94E54D0F900F900F9082EC92E068
:1086D0009F938F931F920E94E54D0E945E4588E80C
:1086E00093E190933A038093390381E08093B1063C
:1086F0000F900F900F9080912C05882309F48EC065
:1087000080910603882309F489C010922C0580917A
:10871000B006882309F48AC00E9406410E94DB212A
:10872000209156032A3009F48AC0243109F487C005
:10873000289A80910303882309F487C0815080938D
:10874000030380914004882329F0809140048150E4
:108750008093400480914505882369F0815080937F
:108760004505882341F410921605109215051092C4
:108770001405109213058091390390913A030197E3
:1087800090933A03809339038091390390913A038F
:10879000892B29F080913805882309F465C08091E0
:1087A000390390913A03892B09F464C08091BC038A
:1087B0009091BD038F5F9F4F09F46CC080912C0591
:1087C000882321F080913704882311F40E94B8098E
:1087D0000E94A706C8010E9473528823E9F0809185
:1087E0001608282F332780911403909115038217C0
:1087F000930744F48091BC039091BD038F5F9F4F1A
:1088000009F45CC00E94925B84E08093270584E1B8
:1088100090E00E946A528C010E947C58809127054A
:10882000882309F068CF0E94D65B65CF0E9483251C
:108830000E94DB21209156032A3009F076CF289838
:1088400080910303882309F079CF8093BC061092AE
:10885000200410921F0410921E0410921D04109206
:108860001C0410921B046DCF2A3031F1243121F108
:10887000289AA4CF0E94125785E090E090933A0383
:10888000809339038091BC039091BD038F5F9F4F0C
:1088900009F094CF80913704882309F48FCF80E1C9
:1088A00097E2909329058093280580E890E09093C3
:1088B000BD038093BC0382CF289880CF80E797E1E7
:1088C000909329058093280580E093E09093BD0361
:1088D0008093BC0397CF0E94D0118DEF91E09F93BE
:1088E0008F931F920E94E54D51E0952E0F900F90AF
:1088F0000F90C0E5D0E07E010894E11CF11C42E03D
:10890000C42ED12CCC0EDD1E33E0A32EB12CAC0E28
:10891000BD1E24E0622E712C6C0E7D1E95E0492E4A
:10892000512C4C0E5D1E86E0282E312C2C0E3D1E47
:10893000E2E09E1609F48BC0F3E09F1609F48AC0AA
:1089400023E0291508F483C080915603843168F030
:1089500085E08093150810922D088BE18093110813
:108960008EE480932A0880932B08DE010E941D600C
:10897000802D8C3008F068C0D7010E941D60802DCA
:108980008C3008F061C0D6010E941D60802D8C30B3
:1089900008F05AC0D5010E941D60802D8C3008F06F
:1089A00053C0DE010E941D60802D8093FD07D7011A
:1089B0000E941D60802D8093FE07D6010E941D60DD
:1089C000802D8093FF07D5010E941D60802D80932C
:1089D0000008D3010E941D60802D80930108D20100
:1089E0000E941D60802D80930208D1010E941D60AD
:1089F000802D80930308A7E5B0E00E941D60802DC4
:108A00008093040831E0931651F48CE092E09F9338
:108A10008F931F920E94E54D0F900F900F904DE5A0
:108A20006DEF77E0892D0E94C540939495E09915EC
:108A300008F07ECF83E00E94B9408BE4A1E0B0E073
:108A4000082E0E942A60F2CD0E94B711E8CF0E9442
:108A500080127ACF0E94321377CF289816CE83E700
:108A600092E09F938F931F920E94E54D88EE93E0D2
:108A70000E946A528C010E94440C0F900F900F903C
:108A8000C8010E9473528823D9F383E992E09F932F
:108A90008F931F920E94E54D0F900F900F90EACD9B
:108AA00080EB92E00BCE84E492E09F938F931F9231
:108AB0000E94E54D0F900F900F90C0CD90E2E1E63F
:108AC000F3E08FE49193815087FFFCCF08951F93CB
:108AD000CF93DF938091180520916003281710F43D
:108AE000209318059091170590FF08C080911805F4
:108AF000882309F40CC181508093180591FF08C0A8
:108B000080911805821709F4AAC18F5F8093180518
:108B1000892F992780FF02C081FDF6C00E945E4523
:108B2000909118059A3008F0ABC081E18093190547
:108B3000892F99279F938F938AEE92E09F938F932B
:108B400081E08F930E94E54D0F900F900F900F9052
:108B50000F9080911805C82FDD27C630D10509F484
:108B600081C1C730D1050CF095C0C230D10509F4E0
:108B700033C2C330D1050CF4CDC0C430D10509F4E3
:108B800038C525970CF06AC3109219058091CE085C
:108B90009091CF089F938F938091CC089091CD08AE
:108BA0009F938F9381EE93E09F938F9311E01F9398
:108BB0000E94E54D84E1809319056DB77EB7695F2A
:108BC0007F4F0FB6F8947EBF0FBE6DBF8091D20865
:108BD0009091D3089F938F938091D0089091D10862
:108BE0009F938F9381EF93E09F938F931F930E94A6
:108BF000E54D88E2809319058DB79EB707960FB6AD
:108C0000F8949EBF0FBE8DBF8091D6089091D70873
:108C10009F938F938091D4089091D5089F938F93C1
:108C200081E094E09F938F931F930E94E54D8CE326
:108C3000809319052DB73EB7295F3F4F0FB6F894C3
:108C40003EBF0FBE2DBF8091DA089091DB089F9345
:108C50008F938091D8089091D9089F938F9381E149
:108C600094E09F938F931F930E94E54D6DB77EB75D
:108C7000695F7F4F0FB6F8947EBF0FBE6DBF36C7DA
:108C800080E180931905892F99279F938F938FEE09
:108C900092E054CFCA30D10509F458C1CB30D10588
:108CA0000CF044C0C830D10509F44EC529970CF02A
:108CB0008AC384E180931905809114039091150370
:108CC0009F938F938BE495E09F938F9311E01F9375
:108CD0000E94E54D88E2809319050F900F900F9048
:108CE0000F900F908091400499279F938F938AE56E
:108CF00095E09F938F931F930E94E54D0F900F90E7
:108D00000F900F900F90F2C61092180507CF209386
:108D10001805F4CE209709F4CAC1219709F49EC31F
:108D200081508093600310921805E0C6CC30D105C5
:108D300009F4E2C3CC30D1050CF432C22D9781F78F
:108D40001092190586E996E09F938F93C1E0CF9327
:108D50000E94E54D84E1809319050F900F900F90CC
:108D60008091250999278D969F938F93809124094F
:108D700099278D969F938F938091230999278D969C
:108D80009F938F938091220999278D969F938F931C
:108D900085EA96E09F938F93CF930E94E54D88E2FA
:108DA000809319058DB79EB70B960FB6F8949EBFAA
:108DB0000FBE8DBF8091290999278D969F938F9320
:108DC0008091280999278D969F938F9380912709E9
:108DD00099278D969F938F938091260999278D9639
:108DE0009F938F9389EB96E09F938F93CF930E94ED
:108DF000E54D8CE3809319052DB73EB7255F3F4FB6
:108E00000FB6F8943EBF0FBE2DBF80912A09992757
:108E10008D969F938F938DEC96E09F938F93CF9336
:108E20000E94E54D0F900F900F900F900F90809142
:108E30002B09882309F02AC680912C09882309F080
:108E400017C680912D09882309F450C688E48093C1
:108E5000190583EE96E09F938F93CF939BC1109259
:108E6000180556CE1092190581E195E09F938F93D6
:108E700011E01F930E94E54D84E1809319050F9046
:108E80000F900F9080919C0490919D049F938F93DD
:108E90008091F4039091F5039F938F938EE195E079
:108EA0009F938F931F930E94E54D88E2809319054D
:108EB0006DB77EB7695F7F4F0FB6F8947EBF0FBE68
:108EC0006DBF80919A0490919B049F938F938091A2
:108ED000F6039091F7039F938F938DE295E09F9314
:108EE0008F931F930E94E54D8CE3809319058DB7F6
:108EF0009EB707960FB6F8949EBF0FBE8DBF8091A8
:108F0000940490919504A0919604B0919704BC01AB
:108F1000CD010E94895FDC01CB019F938F938091EB
:108F20007608909177089F938F938CE395E09F93B9
:108F30008F931F930E94E54D2DB73EB7295F3F4F9A
:108F40000FB6F8943EBF0FBE2DBFD0C510921905C5
:108F500085ED95E09F938F9311E01F930E94E54D5F
:108F600084E1809319050F900F900F908091220358
:108F700099279F938F938DED95E09F938F931F93E8
:108F80000E94E54D88E2809319050F900F900F9095
:108F90000F900F9080912405909125059F938F93BA
:108FA0008BEE95E09F938F931F930E94E54D8CE38A
:108FB000809319050F900F900F900F900F90809154
:108FC000220899279F938F938091210899279F9337
:108FD0008F9389EF95E045CE109219058AEA93E0C8
:108FE0009F938F93C1E0CF930E94E54D84E18093DE
:108FF00019050F900F900F9080918E0490918F041F
:10900000A0919004B0919104B7FD2DC53AE0B595BB
:10901000A795979587953A95D1F7BF93AF939F936F
:109020008F9384EB93E09F938F93CF930E94E54DB2
:1090300088E2809319058DB79EB707960FB6F8940E
:109040009EBF0FBE8DBF8091860490918704A09132
:109050008804B0918904B7FD01C52AE0B595A795AC
:10906000979587952A95D1F7BF93AF939F938F9349
:1090700083EC93E09F938F93CF930E94E54D8CE315
:10908000809319052DB73EB7295F3F4F0FB6F8946F
:109090003EBF0FBE2DBF80915404909155049F9305
:1090A0008F9382ED93E09F938F93CF9325CE109271
:1090B000190584EF92E09F938F9311E01F930E9414
:1090C000E54D84E1809319050F900F900F9084E691
:1090D00090E09F938F938AE490E09F938F93DF9328
:1090E000CF93809156036AE00E945D60892F992793
:1090F0009F938F93809156030E945D6099279F9361
:109100008F9384E093E09F938F931F930E94E54D8C
:1091100088E2809319052DB73EB7235F3F4F0FB606
:10912000F8943EBF0FBE2DBF86E597E09F938F93C7
:109130000E94F44099279F938F9389E193E09F9336
:109140008F931F930E94E54D8091390390913A03CC
:109150006DB77EB7695F7F4F0FB6F8947EBF0FBEC5
:109160006DBF069778F090913805992309F42FC3C5
:109170008CE380931905892F99279F938F9384E31C
:1091800093E0B7CD8CE38093190587E293E09F933A
:109190008F931F930E94E54D0F900F900F90A6C4E0
:1091A0001092190587E096E09F938F9311E01F932B
:1091B0000E94E54D84E1809319050F900F900F9068
:1091C0008091B606992787FD90959F938F93809104
:1091D000B506992787FD90959F938F9387E196E039
:1091E0009F938F931F930E94E54D88E2809319050A
:1091F0008DB79EB707960FB6F8949EBF0FBE8DBF72
:109200008091B706992787FD90959F938F938091C2
:10921000B80699279F938F9387E296E09F938F9349
:109220001F930E94E54D8CE3809319052DB73EB73F
:10923000295F3F4F0FB6F8943EBF0FBE2DBF809100
:10924000BC0699279F938F938091B906992787FD34
:1092500090959F938F9387E396E003CD1092190525
:1092600081E694E09F938F93C1E0CF930E94E54DF8
:10927000809156030F900F900F908A3009F469C3C4
:109280008B3009F4BEC2843109F4BBC28D3009F0C1
:109290002DC484E1809319058091090399279F9338
:1092A0008F934091A6045091A704CA0157FD1CC496
:1092B0009595879595958795959587959595879596
:1092C0009F938F939A0157FD0CC43595279535953B
:1092D0002795359527958091FC039091FD03821B7E
:1092E000930B9F938F9385ED94E09F938F93CF93F0
:1092F0000E94E54D88E2809319056DB77EB7675FE0
:109300007F4F0FB6F8947EBF0FBE6DBF80910803EC
:1093100099279F938F934091A4045091A504CA016B
:1093200057FDDDC395958795959587959595879577
:10933000959587959F938F939A0157FDCDC335954A
:10934000279535952795359527958091FA03909126
:10935000FB03821B930B9F938F9389EE94E09F9363
:109360008F93CF930E94E54D8CE3809319058DB7C1
:109370009EB709960FB6F8949EBF0FBE8DBF809121
:10938000070399279F938F932091A2043091A30400
:10939000C90137FD9FC3959587959F938F938091C2
:1093A000F8039091F903281B390B3F932F938DEF0E
:1093B00094E09F938F93CF930E94E54D2DB73EB7D6
:1093C000275F3F4FBDCD10921905809147049091C2
:1093D00048049F938F9385EA95E09F938F9311E0C4
:1093E0001F930E94E54D84E1809319050F900F9023
:1093F0000F900F900F9080914504909146049F9399
:109400008F9381EB95E09F938F931F930E94E54D7F
:1094100088E2809319050F900F900F900F900F9096
:1094200080914304909144049F938F938DEB95E03A
:109430009F938F931F930E94E54D8CE380931905B2
:109440000F900F900F900F900F908091410490918A
:1094500042049F938F9389EC95E04BCC8091050853
:1094600080FFBBC11092190580913504909136049C
:109470009F938F9389E593E09F938F9311E01F93C0
:109480000E94E54D84E1809319050F900F900F9095
:109490000F900F9080913304909134049F938F9399
:1094A00088E693E09F938F931F930E94E54D88E297
:1094B000809319050F900F900F900F900F9080914F
:1094C0000A0390910B039F938F9387E793E09F93F9
:1094D0008F931F930E94E54D8CE3809319050F90A5
:1094E0000F900F900F900F908091F20799279F9304
:1094F0008F9386E893E0FDCB1092190587E496E000
:109500009F938F9311E01F930E94E54D84E1809318
:1095100019050F900F900F908091090999279F933B
:109520008F938091080999279F938F9380910709C2
:1095300099279F938F938091060999279F938F93E3
:1095400087E596E09F938F931F930E94E54D88E2F5
:10955000809319058DB79EB70B960FB6F8949EBFF2
:109560000FBE8DBF80910D0999279F938F93809196
:109570000C0999279F938F9380910B0999279F93AB
:109580008F9380910A0999279F938F938CE696E099
:109590009F938F931F930E94E54D8CE38093190551
:1095A0002DB73EB7255F3F4F0FB6F8943EBF0FBEB5
:1095B0002DBF8091110999279F938F938091100956
:1095C00099279F938F9380910F0999279F938F934A
:1095D00080910E0999279F938F9381E896E09F933E
:1095E0008F931F930E94E54D6DB77EB7655F7F4FE8
:1095F00041CB109219058091FE07E82FFF27EE0F4F
:10960000FF1FE653F74F808191819F938F93809145
:10961000FD07E82FFF27EE0FFF1FE653F74F80816E
:1096200091819F938F9381E294E09F938F9311E0B8
:109630001F930E94E54D84E1809319058DB79EB775
:1096400007960FB6F8949EBF0FBE8DBF809100089D
:10965000E82FFF27EE0FFF1FE653F74F8081918120
:109660009F938F938091FF07E82FFF27EE0FFF1F37
:10967000E653F74F808191819F938F9381E394E02C
:109680009F938F931F930E94E54D88E28093190565
:109690002DB73EB7295F3F4F0FB6F8943EBF0FBEC0
:1096A0002DBF80910208E82FFF27EE0FFF1FE65322
:1096B000F74F808191819F938F9380910108E82FCC
:1096C000FF27EE0FFF1FE653F74F808191819F9395
:1096D0008F9381E494E09F938F931F930E94E54DB5
:1096E0008CE3809319056DB77EB7695F7F4F0FB626
:1096F000F8947EBF0FBE6DBF80910408E82FFF274E
:10970000EE0FFF1FE653F74F808191819F938F9358
:1097100080910308E82FFF27EE0FFF1FE653F74F56
:10972000808191819F938F9381E594E09F938F93A4
:109730001F930E94E54D8DB79EB707960FB6F8941C
:109740009EBF0FBE8DBFD2C11092190589E695E06C
:109750009F938F9311E01F930E94E54D84E18093C6
:1097600019050F900F900F9080914E0490914F0427
:109770009F938F9388E795E09F938F931F930E9409
:10978000E54D88E2809319050F900F900F900F9090
:109790000F9080915404909155049F938F9387E884
:1097A00095E09F938F931F930E94E54D8CE38093E8
:1097B00019050F900F900F900F900F908091520409
:1097C000909153049F938F9386E995E092CA8CE31E
:1097D0008093190589E493E0DACC84E1809319053C
:1097E00085E993E09F938F9311E01F930E94E54DCD
:1097F00088E2809319050F900F900F908CE993E009
:10980000C6CC84E1809319054091A6045091A70429
:10981000CA0157FD57C19C01359527953595279568
:109820003595279535952795C90182959295907F15
:109830009827807F9827BA01681B790BCB0177FDA9
:109840003FC1959587959F938F933F932F939A014F
:1098500057FD33C13595279535952795359527952E
:109860008091FC039091FD03821B930B9F938F9338
:1098700082EA94E09F938F93CF930E94E54D88E214
:10988000809319058DB79EB709960FB6F8949EBFC1
:109890000FBE8DBF4091A4045091A504CA0157FD8D
:1098A0000AC19C01359527953595279535952795BE
:1098B00035952795C90182959295907F9827807F4D
:1098C0009827BA01681B790BCB0177FDF2C09595FB
:1098D00087959F938F933F932F939A0157FDE6C0EF
:1098E0003595279535952795359527958091FA03D8
:1098F0009091FB03821B930B9F938F9384EB94E0D7
:109900009F938F93CF930E94E54D8CE3809319052D
:109910008DB79EB709960FB6F8949EBF0FBE8DBF48
:109920002091A2043091A304C90137FDBDC09595D3
:1099300087959F938F938091F8039091F903281B4B
:10994000390B3F932F9386EC94E09F938F93CF93A3
:10995000F1CA84E1809319054091A6045091A704AF
:109960009A0157FDB4C035952795359527953595BE
:109970002795C901880F991F880F991F880F991F74
:10998000481B590B5F934F933F932F938091FC0398
:109990009091FD03821B930B9F938F938FE694E02E
:1099A0009F938F93CF930E94E54D88E28093190592
:1099B0002DB73EB7275F3F4F0FB6F8943EBF0FBE9F
:1099C0002DBF4091A4045091A5049A0157FD7CC07D
:1099D000359527953595279535952795C901880F94
:1099E000991F880F991F880F991F481B590B5F9368
:1099F0004F933F932F938091FA039091FB03821B27
:109A0000930B9F938F9381E894E09F938F93CF93D1
:109A10000E94E54D8CE3809319056DB77EB7675FB3
:109A20007F4F0FB6F8947EBF0FBE6DBF8091A2042A
:109A30009091A3049F938F938091A2049091A3048B
:109A40002091F8033091F903821B930B9F938F931E
:109A500083E994E09F938F93CF936BCE81509C4F7B
:109A6000AF4FBF4FFACA81509C4FAF4FBF4FCECAC6
:109A700084E48093190580EE96E09F938F93CF93B3
:109A80000E94E54D0F900F900F90DBC980E480930A
:109A900019058DED96E09F938F93CF930E94E54D2E
:109AA0000F900F900F90C8C9019641CF295F3F4F8B
:109AB00017CF01960CCF0F96F4CE295F3F4FCACE39
:109AC0000196BFCE0F96A7CE295F3F4F81CF295F6A
:109AD0003F4F49CF01965FCC295F3F4F30CC0F9667
:109AE00021CC295F3F4FF1CB0F96E2CB10921705A7
:109AF000DF91CF911F910895982F8091C9088130EF
:109B000031F0892F0E946809282F33270CC08091DB
:109B10001905E82FFF27EF59FC4F90838F5F809343
:109B2000190521E030E0C90108950F931F93CF93E9
:109B3000DF938C01EB01672B71F0F80181918F01AC
:109B40000E947C4D219739F0F80181918F010E948C
:109B50007C4D219791F7DF91CF911F910F9108953F
:109B60000F931F93CF93DF938C01EB01672B81F051
:109B7000F8010F5F1F4F84910E947C4D219741F0A7
:109B8000F8010F5F1F4F84910E947C4D219781F750
:109B9000DF91CF911F910F910895CF93C82F181681
:109BA00034F480E20E947C4DC1501C16D4F3CF9156
:109BB0000895CF93C82F181634F480E30E947C4D8B
:109BC000C1501C16D4F3CF9108952F923F924F921B
:109BD0005F926F927F928F929F92AF92BF92CF923D
:109BE000DF92EF92FF920F931F93CF93DF93CDB746
:109BF000DEB7E0970FB6F894DEBF0FBECDBF269656
:109C00008FAD26972896EEADFFAD2897882499242E
:109C100054018093C90848E4C42ED12CCC0EDD1E1B
:109C20007F01C701F7011491112331F0153221F0A2
:109C30000894E11CF11CF6CFB701681B790B09F001
:109C400095C0112309F43DC20894E11CF11C1FA624
:109C50003FA4232C0FEF39A6F7010894E11CF11C57
:109C600014911537C9F1812F80628837A9F110321C
:109C700009F440C0133209F48DC01A3209F479C0D6
:109C80001D3209F476C01B32C9F11E32C9F11033FE
:109C900009F48AC0812F8153893008F07EC060E0CA
:109CA00070E0CB01880F991F880F991F880F991FAB
:109CB000860F971F680F791F610F711D60537040E9
:109CC000F7010894E11CF11C1491812F80538A3014
:109CD00040F3262E153739F630FE3DC0F60184E0FC
:109CE00090E0C80ED91E80809180A280B38010328F
:109CF00009F0C0CF89A5882309F0AECF19A7ACCF52
:109D0000F7010894E11CF11C14911A3209F451C0B6
:109D100060E070E014C0CB01880F991F880F991F75
:109D2000880F991F860F971F680F791F610F711D8C
:109D300060537040F7010894E11CF11C1491812FCD
:109D400080538A3040F3EFEF6F3F7E0714F46FEFDC
:109D50007FEF062F86CFF60182E090E0C80ED91E75
:109D6000808191814C01AA24BB2481CF0E94B04DF7
:109D700068CF1A3251F4F60182E090E0C80ED91E85
:109D8000208022200CF068CF219490E1392AEFED59
:109D90003E2262CF98E0392A5FCF1836C9F01C36D0
:109DA000D1F481E0382A58CF34FC56CFF0E23F2A74
:109DB00053CFF60182E090E0C80ED91E6081718118
:109DC0009FEF6F3F790714F46FEF7FEF062F44CFBB
:109DD00024E0322A41CF133609F44DC1143409F47A
:109DE0001FC1143609F41CC1193609F419C11F34F6
:109DF00009F40FC11F3609F40CC1103709F4F9C07A
:109E0000133709F4B2C0153509F4ECC0153709F45D
:109E1000E9C0183509F444C0183709F441C01123CA
:109E200009F44FC1CE0101969DA78CA7198381E04B
:109E3000482E19A6632C7724042D5FA4541857FCD0
:109E40002DC029A5222331F10F5F050DC3018073B9
:109E50009070892B09F42FC1222309F027C166FCD9
:109E60001BC1C30180739070809709F410C1852DC8
:109E70000E94D94D842D992787FD9095BC018CA512
:109E80009DA50E94954D64FECCCE822D801B0E9424
:109E9000CD4DC7CE66FED9CF0E5FD7CF5524D1CFDB
:109EA000E0E1EEA733FE07C081149104A104B104E0
:109EB00011F0F0E43F2A19A60FA707FD02C02FED0D
:109EC0003222CE0189969DA78CA781149104A1040A
:109ED000B10419F49FA5992361F1EEA54E2E5524E6
:109EE0006624772418AA84149504A604B70410F0F5
:109EF000F1E0F8ABC501B401A30192010E949060AA
:109F0000DC01CB01082F8A30F0F4005DECA5FDA543
:109F10000293FDA7ECA7C501B401A30192010E9421
:109F2000906049015A01F8A9FF23E1F62EA52830D7
:109F300079F0632C7724CE010196482EFCA54F1AA8
:109F400028E2420E79CF095A183501F70F7DDECF8E
:109F5000632C772463FEEFCF003369F380E3ECA535
:109F6000FDA58293FDA7ECA7E6CFF60182E090E085
:109F7000C80ED91E0190F081E02DFDA7ECA7EF2BB4
:109F800081F4FE013196FDA7ECA788E289838EE675
:109F9000818385E78B838CE68C838D8389E28E8336
:109FA0001F8207FD15C0802F992787FD9095AC0172
:109FB00060E070E08CA59DA50E94395F009731F0AC
:109FC000482EFCA54F1A04150CF033CF402E31CF8C
:109FD000ECA5FDA501900020E9F731974E2E2CA5A8
:109FE000421A27CF153511F481E0382A9AE09EA74E
:109FF00062CFF60182E090E0C80ED91E8081918187
:10A000004C01AA24BB2490E19EA7E0E43E2A18E775
:10A0100052CF1F3411F4E1E03E2AF8E0FEA74BCF07
:10A02000143411F491E0392A30FE18C0F60184E0AE
:10A0300090E0C80ED91E80809180A280B380B7FEC8
:10A040000AC0B094A09490948094811C911CA11C8F
:10A05000B11C8DE289A79AE09EA72ECFF60182E07F
:10A0600090E0C80ED91E808191814C01AA2497FCF2
:10A07000A094BA2CE4CFFE013196FDA7ECA7F6011F
:10A0800082E090E0C80ED91E80818983D0CE822DD7
:10A09000801B0E94D94DEBCE80E38AA71BA762E00C
:10A0A00070E0CE018A960E94954DDBCE61E070E0B3
:10A0B000CE018996F8CF822D801B0E94CD4D29A517
:10A0C000CBCEE0960FB6F894DEBF0FBECDBFDF91CA
:10A0D000CF911F910F91FF90EF90DF90CF90BF90A5
:10A0E000AF909F908F907F906F905F904F903F9038
:10A0F0002F90089583EC8093810080916F0080629F
:10A1000080936F001092A3041092A2041092A504F1
:10A110001092A4041092A7041092A60408951F920E
:10A120000F920FB60F921124EF92FF920F931F938D
:10A130002F933F934F935F936F937F938F939F934F
:10A14000AF93BF93CF93DF93EF93FF93209186005C
:10A150003091870080911C0590911D05281B390BBB
:10A16000809186009091870090931D0580931C0537
:10A17000C9018D549440835F9A4178F480911E0503
:10A1800090911F05049714F01092BB03C1E0D0E03A
:10A19000D0931F05C0931E05A3C0C0911E05D0918A
:10A1A0001F05CA30D1050CF09BC0C9018B5F9040E0
:10A1B000845B9140A8F0FE013196F0931F05E09377
:10A1C0001E05E530F10509F46DC05D98E630F10536
:10A1D00009F466C05C98379709F460C05B9880C04A
:10A1E000225D3140FE01EC0FFD1FE653F74F8081E9
:10A1F0009181F901E81BF90BCF01F7FD6DC00697BE
:10A2000054F480914004883C08F05FC08091400481
:10A21000865F80934004FE01EC0FFD1FE653F74F6D
:10A2200080819181AC01440F551F480F591F420F87
:10A23000531F57FD4EC07A01F594E794F594E794C7
:10A24000C90101968E159F05BCF50894E108F10837
:10A2500080914004833C40F18E010C0F1D1FF801DA
:10A26000E653F74F808191819701281B390BC90173
:10A2700063E070E00E947D60CB01880F991F860F1C
:10A28000971F0052174FF80191838083FE01EC0F56
:10A29000FD1FE653F74FF182E0828DCF5B9A20C01D
:10A2A0005C9A99CF5D9A92CFFE01EC0FFD1FE052B0
:10A2B000F74F11821082EACF21503040E216F306A8
:10A2C0003CF60894E11CF11CC3CF88EC8093400459
:10A2D000A2CF4D5F5F4FAFCF909581959F4F8FCFAE
:10A2E000FF91EF91DF91CF91BF91AF919F918F91AE
:10A2F0007F916F915F914F913F912F911F910F919E
:10A30000FF90EF900F900FBE0F901F9018951F9227
:10A310000F920FB60F9211242F933F935F936F9379
:10A320007F938F939F93AF93BF93EF93FF9380910E
:10A330002705882329F080912705815080932705E0
:10A3400080912F0581508F3F09F493C080932F0592
:10A350008091280590912905029700F180912805A8
:10A360009091290501979093290580932805809164
:10A370002805909129052091BC033091BD038223CB
:10A380009323892B89F0809156038A3009F48BC07E
:10A39000479A8091050883FF8DC010C08FEF9FEF13
:10A3A0009093BD038093BC03809156038A3009F4D7
:10A3B00078C047988091050883FF7CC086B19927B3
:10A3C000FC01E071F07084FF0AC080912A05909131
:10A3D0002B05019690932B0580932A056BC08091E5
:10A3E0002A0590912B05892B49F180912A0590919E
:10A3F0002B058A56914010F580912A0590912B05E6
:10A4000069E270E00E94696080912A0590912B05B5
:10A41000860F971F90932B0580932A0580912A051C
:10A4200090912B050B9708F440C080912A059091DC
:10A430002B050A97909355048093540480915404FB
:10A44000909155042091520430915304821B930B38
:10A45000845E9D4F68E671E00E947D60845B904061
:10A4600090934F0480934E0410922B0510922A056E
:10A4700021C089E080932F058091BE038F5F81709A
:10A480008093BE03882319F481E080932C0580918A
:10A490002D0590912E05019690932E0580932D0504
:10A4A00057CF5A9887CF5A9A85CFF0935504E093A7
:10A4B0005404C4CFFF91EF91BF91AF919F918F91C1
:10A4C0007F916F915F913F912F910F900FBE0F90F1
:10A4D0001F90189520912D0530912E05280F391FBA
:10A4E000C9010196089520912D0530912E05821BFA
:10A4F000930B892F99278695807490700895CF9338
:10A50000DF930E946A52EC01CE010E9473528823AD
:10A51000D9F3DF91CF9108951F93CF93DF930E94DA
:10A520006A52EC011FEC08C080910603882321F0D9
:10A530009093060310937A00CE010E947352982FD5
:10A54000882391F3DF91CF911F9108959FB7F894DD
:10A55000579A5F983E9A469A8091B0008F70809388
:10A56000B0008091B00083608093B0008091B10012
:10A570008B738093B1008091B1008B608093B100A8
:10A580001092B2008FEF8093B3008091B00080688A
:10A590008093B000809170008A7F809370008091DA
:10A5A00070008260809370009FBF08958AE090E001
:10A5B0000E946A52909337058093360582E085BDEC
:10A5C00083EA84BD17BC88E788BD86E086BD80919C
:10A5D0006E00816080936E0008951F920F920FB6F7
:10A5E0000F9211242F933F934F935F936F937F9319
:10A5F0008F939F93AF93BF93CF93DF93EF93FF938B
:10A60000809156038431C0F480913005882309F489
:10A6100046C0209131053091320541E02F37340793
:10A6200008F4FCC08FEF8093B3002F5F304030936D
:10A63000320520933105CDC380913005882349F739
:10A640008091B00086FF0DC18091B0008F7B809318
:10A65000B000E0913505EE2309F04EC1809123084A
:10A66000282F33278DED96E0289FA001299F500DBC
:10A67000389F500D1124CA012091330530913405C3
:10A68000821B930B90933205809331051092340511
:10A6900010923305469A81E080933005BACF8091BD
:10A6A000B00086FF07C18091B0008F7B8093B0001F
:10A6B00089EA93E090933205809331058091BF033E
:10A6C0009091C0039C01220F331F280F391F8091E6
:10A6D00022039927880F991F880F991F280F391F68
:10A6E00037FD57C2C90195958795959587959093A4
:10A6F000C0038093BF03909323058093220580912C
:10A7000021048E3F09F40EC28091490880FD3AC1B0
:10A7100080912008682F77278827992720918E0419
:10A7200030918F04409190045091910457FDEFC2F5
:10A73000F7E05595479537952795FA95D1F70E94FB
:10A740003E609B01AC0197FD4FC2E6E055954795F1
:10A7500037952795EA95D1F78091220590912305A9
:10A76000821B930B909323058093220580912108EF
:10A77000282F3327220F331F220F331F80912205EA
:10A7800090912305821793077CF080912208282F4F
:10A790003327220F331F220F331F80912205909100
:10A7A00023052817390724F4309323052093220525
:10A7B0002091220530912305809131059091320539
:10A7C000280F391F20503240809122059091230597
:10A7D00097FDE2C19595879595958795909323056B
:10A7E0008093220580912205909123059093CD07B7
:10A7F0008093CC0745E02D3D340708F48CC18CEDE7
:10A8000095E0909332058093310520913105309188
:10A81000320530933405209333056AC02F3F31054C
:10A8200069F060F0A9014F5F50404F37510588F43F
:10A8300080E88093B30020583040F9CE80913105F4
:10A840008093B300109232051092310510923005BA
:10A85000C0C28FEF8093B30050933205409331050F
:10A86000B8C28091B00080648093B0008CEB90E01F
:10A870009093320580933105809133059091340592
:10A8800084549F4F9093340580933305809126051F
:10A89000882329F080914004853B08F09EC0909168
:10A8A00035059F5F80912308891708F068C01092D2
:10A8B0003505F1CE8091B00080648093B000809126
:10A8C0002308282F33278DED96E0289FA001299F8C
:10A8D000500D389F500D1124CA012091330530913D
:10A8E0003405821B930B90933205809331059C01B4
:10A8F00081E08093300591CE89EA93E09093320510
:10A90000809331058E2F99278130910509F467C016
:10A91000029709F473C1FF27EE0FFF1FE653F74FAD
:10A9200080819181880F991F2091310530913205E6
:10A93000820F931F9093320580933105209131054A
:10A940003091320555E02D3D350708F415C18CEDE9
:10A9500095E090933205809331059C012C5B30404B
:10A960003093320520933105809133059091340561
:10A97000820F931F90933405809333058CCE909370
:10A98000350589CE80912008682F77278827992759
:10A9900020918E0430918F04409190045091910445
:10A9A00057FDB0C1B7E05595479537952795BA95AE
:10A9B000D1F70E943E609B01AC0197FD1AC1A6E051
:10A9C0005595479537952795AA95D1F780912205FA
:10A9D00090912305820F931FC5CE469860CF80913A
:10A9E000BF039091C0039C01220F331F280F391F12
:10A9F000809122039927880F991F880F991F280F8C
:10AA0000391F37FDB4C1C9019595879595958795EF
:10AA10009093C0038093BF039093230580932205F6
:10AA20008091490880FF78C180912008682F77279E
:10AA30008827992720918E0430918F0440919004AB
:10AA40005091910457FDC0C1A7E0559547953795A2
:10AA50002795AA95D1F70E943E609B01AC0197FD16
:10AA6000AEC1F6E05595479537952795FA95D1F7FC
:10AA70008091220590912305820F931F90932305C7
:10AA80008093220580912108282F3327220F331F1E
:10AA9000220F331F8091220590912305821793077F
:10AAA0007CF080912208282F3327220F331F220F9A
:10AAB000331F80912205909123052817390724F42C
:10AAC0003093230520932205809122059091230540
:10AAD0002091310530913205820F931F80509240B2
:10AAE0009093320580933105809122059091230542
:10AAF00097FD4AC1959587959595879590932305E0
:10AB00008093220580912205909123059093CD0793
:10AB10008093CC0713CF51E027373507A8F587E797
:10AB200091E06FCE8091490880FF38C08091200865
:10AB3000C82FDD27EE27FF2720918E0430918F0448
:10AB400040919004509191048091860490918704E3
:10AB5000A0918804B0918904281B390B4A0B5B0B28
:10AB600057FD0DC197E055954795379527959A95CF
:10AB7000D1F7BE01CF011DCF81E02737380708F09C
:10AB8000EDCE87E791E0E5CE309332052093310595
:10AB90003CCE2D5F3F4FA6CD03961CCE8091200862
:10ABA000C82FDD27EE27FF2720918E0430918F04D8
:10ABB0004091900450919104809186049091870473
:10ABC000A0918804B0918904281B390B4A0B5B0BB8
:10ABD00057FDD0C087E055954795379527958A95BD
:10ABE000D1F7BE01CF01ABCD215C3F4F4F4F5F4F3F
:10ABF000ACCD215C3F4F4F4F5F4FE1CE8091C10301
:10AC00009091C2039C01220F331F280F391F205C33
:10AC10003E4F37FDC7C0C901959587959595879596
:10AC20009093C2038093C1039093210580932005E4
:10AC300060918604709187048091880490918904C2
:10AC400097FDABC0F7E09595879577956795FA9551
:10AC5000D1F728EC30E040E050E00E943E6097FDE4
:10AC600097C0272F382F492F552747FD5A95809198
:10AC7000200590912105820F931F909321058093C9
:10AC8000200580912108282F3327220F331F220F00
:10AC9000331F8091200590912105821793077CF046
:10ACA00080912208282F3327220F331F220F331FB2
:10ACB00080912005909121052817390724F43093BD
:10ACC0002105209320058091200590912105209158
:10ACD000310530913205820F931F8050924090933E
:10ACE000320580933105809120059091210597FDD3
:10ACF0004DC095958795959587959093210580935F
:10AD000020051CCE21583F4F4F4F5F4F4BCE21584F
:10AD10003F4F4F4F5F4F0CCD80912008682F772712
:10AD20008827992720918E0430918F0440919004B8
:10AD30005091910457FD3EC0E7E0559547953795F2
:10AD40002795EA95D1F70E943E609B01AC0197FDE3
:10AD50002CC066E055954795379527956A95D1F7AC
:10AD60008091220590912305821B930B87CE2D5F46
:10AD70003F4F49CE21583F4F4F4F5F4F2BCF215868
:10AD80003F4F4F4F5F4FEECE0396B4CE0396B1CFF9
:10AD900061507F4F8F4F9F4F64CF61587F4F8F4FD0
:10ADA0009F4F50CF2D5F3F4F36CF215C3F4F4F4FCE
:10ADB0005F4FCFCF21583F4F4F4F5F4FBDCF215CEB
:10ADC0003F4F4F4F5F4F4DCE21583F4F4F4F5F4F3B
:10ADD0003BCEFF91EF91DF91CF91BF91AF919F91CA
:10ADE0008F917F916F915F914F913F912F910F9034
:10ADF0000FBE0F901F9018951092B9008AE28093B1
:10AE0000B800089585EA8093BC00089584E9809392
:10AE1000BC0008951092B9008093BB0085E8809330
:10AE2000BC0008950E94065710923B058091BB001C
:10AE300010923A0580E88093BC001092BD001092F9
:10AE4000BA001092BB001092B9001092B8000E9494
:10AE5000FC560E94025780E00E940A570895809392
:10AE6000BB0085E88093BC00089585EC8093BC000E
:10AE7000089585E88093BC0008951F920F920FB645
:10AE80000F9211242F933F934F935F936F937F9370
:10AE90008F939F93AF93BF93EF93FF9380913B0565
:10AEA000282F3327442755278F5F80933B05F901CF
:10AEB00027313105C8F4E05BFF4FEE0FFF1F05900F
:10AEC000F491E02D099480913905E82FFF27EA508D
:10AED000F74F9091BB0090838F5F8C3008F49DC03A
:10AEE000109239050E94065710923B05E0C080E899
:10AEF0000E940A57DCC088E90E940A57D8C00E9405
:10AF000006578AE090E090933A03809339030E94B9
:10AF10000257CDC084E10E940A57C9C082E10E9455
:10AF20000A57C5C0809109030E940A57C0C080E13A
:10AF30000E940A57BCC0809108030E940A57B7C0FC
:10AF4000809107030E940A57B2C080913A05E82F0A
:10AF5000FF27E655F74F8F5F80933A0580810E9467
:10AF60000A57A5C090913A05292FE92FFF27EE0F28
:10AF7000FF1FEE0FFF1FEB5AF84F858518160CF0D8
:10AF800054C09C3009F467C0990F892F8E5A0E94D3
:10AF90000A578DC080913905E82FFF27EE5EF64FE6
:10AFA0008091BB0080830E94395781C08091B90095
:10AFB000803409F46EC080913905E82FFF27EE5DDB
:10AFC000F64F10828F5F8C3068F1109239050E9425
:10AFD000065710923B0580913C05809338051092EE
:10AFE0003C0565C08091B900803309F440C00E94DF
:10AFF00006578AE090E090933A03809339031092C9
:10B000003B050E94025753C00E9406578AE090E019
:10B0100090933A038093390367CF809339050E9458
:10B02000065762CF80933905D2CF9C3008F0A9CF64
:10B03000922F9F5FE92FFF27EE0FFF1FEE0FFF1FDD
:10B04000EB5AF84F858518161CF0292F9C3080F399
:10B0500090933A0596CF10923A0583E080933B0592
:10B0600080913905880F8D5A0E940A5720C080911F
:10B070003C058823C9F490913A0590933C05E92F4B
:10B08000FF27EB5FF64F80818F5F09F48FEF80839E
:10B09000AECF80913905E82FFF27EE5DF64F8C5F2C
:10B0A00080830E94355797CF90913A05E8CF8091E1
:10B0B000BC0080688093BC00FF91EF91BF91AF917D
:10B0C0009F918F917F916F915F914F913F912F91C0
:10B0D0000F900FBE0F901F90189587B18C6087B9A5
:10B0E0004298439810923E0580E88093C4031092E2
:10B0F0003D058093C30308958091430581508F3FA0
:10B1000019F080934305089584E08093430590915E
:10B1100034089B3F60F49B3FA0F0809183088A3005
:10B1200080F480913308882354F0429A11C08091B2
:10B130008308873E80F3809133088823B4F34298D4
:10B1400007C080913E0581508F3FB9F180933E0545
:10B15000909136089B3F50F08091B608873E30F0C2
:10B1600080913508882364F0439808959B3F50F000
:10B170008091B6088A3030F4809135088823A4F392
:10B18000439A089580913D0581508F3F19F0809337
:10B190003D0508958091B608815080933D058091CA
:10B1A000C3038130F1F0982F96959093C30380915B
:10B1B00035088923C9F2439A089580918308815004
:10B1C00080933E058091C403813069F0982F969555
:10B1D0009093C40380913308892309F4B0CF429A35
:10B1E000B7CF90E8E2CF90E8F3CF84B1806A84B91A
:10B1F0003D9A82E58CBD1DBC459A81E080932E0965
:10B200008AEA8093320983E8809333098AE0809345
:10B2100034091092360910923509109238091092AB
:10B2200037091092900910925409109255098AE436
:10B230008093560983E08093570986E080935809EC
:10B240000895EF92FF920F931F93F8948091110845
:10B250009927880F991F880F991F7C010027F7FCF9
:10B260000095102F80918E0490918F04A0919004EE
:10B27000B0919104BC01CD01A80197010E94B26078
:10B280003093360920933509809186049091870484
:10B29000A0918804B0918904BC01CD01A801970157
:10B2A0000E94B26030933809209337092091BF087B
:10B2B0003091C0084091C1085091C208DA01C9011B
:10B2C00073E0880F991FAA1FBB1F7A95D1F7820FD1
:10B2D000931FA41FB51F820F931FA41FB51F20919A
:10B2E0001703309118034091190350911A03BC01C0
:10B2F000CD010E94B26030933E0920933D09E09158
:10B300009804F09199048091810890918208BF017E
:10B310000E947D60CB019B01220F331F220F331F40
:10B32000280F391F280F391F37FDF2C03595279593
:10B330003595279530933A09209339098091BB08B8
:10B340009091BC08BF010E947D609B01220F331FBA
:10B35000220F331F260F371F260F371F37FDD5C08B
:10B36000359527953595279530933C0920933B09D2
:10B3700010929904109298041092820810928108F9
:10B380001092BC081092BB088091340999278C3028
:10B39000910509F48AC08D3091050CF06AC08A309D
:10B3A000910509F433C10B9709F4B5C078948091E5
:10B3B0005409882309F4A0C020915A0930915B09EF
:10B3C000C90181509E4F8F5F9340C8F440915C0942
:10B3D00050915D09CA0181509E4F8F5F934078F470
:10B3E0008091050885FF0BC0309316052093150545
:10B3F00050931405409313058AEF8093450580917F
:10B4000060099091610921E0893692070CF0E8C04B
:10B410009C01909355048093540480915204909120
:10B420005304281B390BC901845E9D4F68E671E007
:10B430000E947D60845B904090934F0480934E0403
:10B440002091640930916509809128059091290522
:10B450008217930740F48091B006882321F430933B
:10B4600029052093280580915909873609F055C18F
:10B47000BCC08D30910509F404C10E9709F096CF38
:10B48000809155098093450980915609809346091A
:10B490008091570980934709809158098093480902
:10B4A000809156038093490981CF8091B006863000
:10B4B00018F01092B00685E080934509809135041C
:10B4C00090913604909348098093470980914608EB
:10B4D0008093460980913C088093490980913D08FA
:10B4E00080934A0980913E0880934B09789480911B
:10B4F0005409882309F060CF1092160510921505A3
:10B50000109214051092130508C12D5F3F4F28CFEC
:10B510002D5F3F4F0BCF8091FF07E82FFF27EE0FE6
:10B52000FF1FE653F74F0190F081E02DE038F10561
:10B530000CF0D8C02FEFE138F20714F4E1E8FFEF88
:10B54000E093450980910008E82FFF27EE0FFF1FC9
:10B55000E653F74F0190F081E02DE038F1050CF44F
:10B56000D4C0EFE7F0E0E09346098091FE07E82FB2
:10B57000FF27EE0FFF1FE653F74F0190F081E02DFC
:10B58000E038F1050CF4B9C0EFE7F0E0E0934709CB
:10B590008091FD07E82FFF27EE0FFF1FE653F74FBF
:10B5A0000190F081E02DE038F1050CF49EC0EFE74A
:10B5B000F0E0E09348098091470480934909809125
:10B5C000450480934A098091430480934B098091FC
:10B5D000410480934C098091400480934D09E6CE4C
:10B5E000209154043091550418CF809166098093BE
:10B5F0008D098091670980938F09809168098093F4
:10B600008E09809169098093900987C080912804F0
:10B6100080934509809127048093460980912604F0
:10B6200080934709809125048093480980912404E0
:10B63000809349098091230480934A0980912204D0
:10B6400080934B098091210480934C0980911404CC
:10B6500080934D0980911404837F8093140480911A
:10B6600014039091150380934E09809116088093DE
:10B670004F09A2E0B0E00E941D60802D8093500928
:10B6800095CE809137088093450980913808809342
:10B690004609809139088093470980913A08809340
:10B6A000480980913B088093490980913F08809325
:10B6B0004A098091400880934B098091410880930A
:10B6C0004C098091440880934D09809142088093F1
:10B6D0004E098091430880934F09809145088093DB
:10B6E000500964CEEFE7F0E02BCF8FEFE138F80799
:10B6F0000CF05FCFE1E8FFEF5CCF6FEFE138F607CA
:10B700000CF044CFE1E8FFEF41CF4FEFE138F40711
:10B710000CF029CFE1E8FFEF26CF1F910F91FF90AA
:10B72000EF90089580912E09882309F43BC0459835
:10B7300082E399E09093300980932F09809144052A
:10B74000E82FFF27EB53FC4F982F9F5F808180935A
:10B750003409963008F027C09093440510922E09C2
:10B760000E94215981E0809331090000000000000F
:10B7700000000000000000000000000000000000C9
:10B7800000000000000000000000000000000000B9
:10B79000000000000000000000008091320980934A
:10B7A00051098EBD089510924405D8CF20912E09DD
:10B7B000222309F045C00DB407FE42C084E0809307
:10B7C0002705459A3EB58091460599278130910518
:10B7D00009F437C0823091050CF451C0029709F486
:10B7E00039C020913109203208F030C0459800005E
:10B7F0000000000000000000000000000000000049
:10B800000000000000000000000000000000000038
:10B810000000000000000000000000000000E091B7
:10B820002F09F0913009E20FF11D80818EBD8091CA
:10B8300051099081890F809351092F5F209331091D
:10B840000895353551F120934605CBCF81E08093A3
:10B850002E09F3CF80915309E82FFF27ED58F64FBB
:10B8600030838F5F809353098A3100F180914705BF
:10B87000381711F12093540910924605B2CF892B45
:10B8800009F0AFCF2093530930934705313809F0C1
:10B89000A8CF81E080934605A4CF80914705830F10
:10B8A0008093470582E0809346059BCF80914705B2
:10B8B000830F8093470595CF8AE1E3E7F9E0A9E597
:10B8C000B9E001900D928A95E1F781E080935409E7
:10B8D0001092460586CF8091C9008F778093C9006A
:10B8E0008091C9008F7B8093C9008091C9008F7DB2
:10B8F0008093C9005A9A52981092CD0084E190E04A
:10B900008093CC008091C80082608093C80080E161
:10B910008093C9008091CA008F778093CA0080917C
:10B92000CA008F7B8093CA008091CA008F7D80936C
:10B93000CA008091CA008F7E8093CA008091CA009D
:10B94000877F8093CA008091C9008B7F8093C90054
:10B950008091CA0084608093CA008091CA0082608E
:10B960008093CA008091C80087FF0CC08091CE00F0
:10B970008091C800882334F48091CE008091C80063
:10B980008823A4F38091C90080688093C90008953A
:10B990001F93CF93DF9380E197E20E946A52EC01FC
:10B9A00010E08091C9008F778093C9008091C90011
:10B9B0008F7E8093C9005A9886EE96E09F938F936E
:10B9C0001F930E94E54D0F900F900F90CE010E94A3
:10B9D0007352882309F066C04A9BF8CF8AE590E04D
:10B9E0000E946A52EC018CE197E09F938F931F9223
:10B9F0000E94E54D529A0F900F900F90CE010E9439
:10BA000073528823D9F383E690E05A9A019797FFFF
:10BA1000FCCF8FE891E05A98019797FFFCCF89E01F
:10BA200090E05A9A019797FFFCCF89E090E05A98EE
:10BA3000019797FFFCCF8FE891E05A9A019797FF03
:10BA4000FCCF8FE891E05A98019797FFFCCF89E0EF
:10BA500090E05A9A019797FFFCCF89E090E05A98BE
:10BA6000019797FFFCCF8FE891E05A9A019797FFD3
:10BA7000FCCF8FE891E05A98019797FFFCCF89E0BF
:10BA800090E05A9A019797FFFCCF89E090E05A988E
:10BA9000019797FFFCCF8FE891E05A9A019797FFA3
:10BAA000FCCF0AC082E297E09F938F931F930E947E
:10BAB000E54D0F900F900F9052985A980E946B5C32
:10BAC000DF91CF911F9108951F920F920FB60F92A1
:10BAD0001124EF92FF920F931F932F933F934F9355
:10BAE0005F936F937F938F939F93AF93BF93CF9306
:10BAF000DF93EF93FF930091CE008091CB03909161
:10BB0000CC03019709F45EC08091500590915105D6
:10BB10000E947352482F552760914805709149053E
:10BB200061157105E9F16130710509F4EAC062300F
:10BB3000710509F4EDC06330710509F45CC081E062
:10BB400090E09093CC038093CB0310924B0510921E
:10BB50004A0510924F0510924E0580914A0590912A
:10BB60004B054097A0F080914E0590914F05892B91
:10BB700011F41092BB0310924B0510924A051092DB
:10BB80004F0510924E05109249051092480587E026
:10BB900090E00E946A529093510580935005FDC039
:10BBA000452BD9F281E090E09093490580934805B8
:10BBB00080914A0590914B05019690934B05809397
:10BBC0004A05CBCF1092CC031092CB0387E090E0D4
:10BBD0000E946A52909351058093500510924B0534
:10BBE00010924A05109249051092480510924D0591
:10BBF00010924C05D2C0452B09F0A1CF82E090E015
:10BC0000909349058093480580914A0590914B0592
:10BC1000019690934B0580934A0580914C05909135
:10BC20004D05FC01F695E795F695E795EF70F070F8
:10BC30003196982F8827202F3327822B932B9370B0
:10BC4000805092400E947D60EB30F10508F085CF76
:10BC50007F01EE0EFF1EF701E653F74F80819181C1
:10BC60009B01281B390BC90137FD90C0069754F47E
:10BC700080914004883C08F087C080914004865F32
:10BC800080934004F701E653F74F808191819C0136
:10BC9000220F331F280F391F260F371F37FD7AC099
:10BCA000E901D595C795D595C795CB0101968C1718
:10BCB0009D070CF05CC0219780914004843B08F400
:10BCC00050C087010052174FF701E653F74F8081AC
:10BCD0009181FE01E81BF90BCF0163E070E00E9447
:10BCE0007D60CB01880F991F860F971FF801918304
:10BCF00080832AEC38E0E20EF31EF701D183C08383
:10BD00002CCF4115510509F012CF82E090E04CCFC5
:10BD10004115510509F00FCF802F992790934D05BC
:10BD200080934C0520914A0530914B052230310516
:10BD300069F083E090E090934905809348052F5F78
:10BD40003F4F30934B0520934A0507CF80914C0518
:10BD500087FF15C081E090E090934F0580934E05DA
:10BD6000E8CFF701E052F74F11821082C2CF615045
:10BD70007040C617D7070CF09FCF21969DCF5093E8
:10BD80004F0540934E05D5CF88EC7ACF909581959D
:10BD90009F4F6CCF2D5F3F4F83CFFF91EF91DF918E
:10BDA000CF91BF91AF919F918F917F916F915F9153
:10BDB0004F913F912F911F910F91FF90EF900F9016
:10BDC0000FBE0F901F901895CF93FC0197FD21C0D7
:10BDD000C1E028E631E0CF01B9010E947D60FC019D
:10BDE0008B35910554F08B5590408A35910538F488
:10BDF00084EB90E08E1B9F0BFC0141E013C0CF0150
:10BE0000855B90408A35910548F4E45BF0404FEF44
:10BE100009C0CFEFF095E195FF4FDBCF2E1B3F0B15
:10BE2000F9014FEFEE0FFF1FE35DF84F25913491BD
:10BE30008C2F992787FD9095829FB001839F700D6D
:10BE4000929F700D1124842F992787FD9095689FEC
:10BE5000A001699F500D789F500D1124CA01CF9108
:10BE600008952AE530E0281B390BC9010E94E45EE1
:10BE70000895FC014150504030F001900616D1F772
:10BE80003197CF0108958827992708955058192E82
:10BE9000A6D001D08CC0BA17620773078407950734
:10BEA000B1F188F40EF410940B2EBA2FA02D062EAB
:10BEB000622F202D072E732F302D082E842F402D1A
:10BEC000092E952F502DFF275523B9F0591B49F006
:10BED000573E98F0469537952795A795F04053958E
:10BEE000C9F776F0BA0F621F731F841F30F487956D
:10BEF00077956795B795F040939517FA0F2E0895AB
:10BF0000BF1BBB27BA0B620B730B840BF6CFDEF69D
:10BF100092C097FB70D09F3738F0FEE9F91B982F3D
:10BF2000872F762F6B2F05C083C0969587957795C1
:10BF30006795F150D0F73EF4909580957095619596
:10BF40007F4F8F4F9F4F0895E89403C097FB0EF4E7
:10BF5000F3DFB62F672F782F892F9EE9002427C0A3
:10BF60000ED05EF004C00BD026F001C008D019F04E
:10BF700020F48FEF089580E0089581E0089597FB05
:10BF8000092E052600F868942DD0E89407FC07C018
:10BF9000621773078407950721F008F4009407944B
:10BFA000989408959A95BB0F661F771F881F1124D8
:10BFB0009923A1F08823B2F79F3F59F0BB0F48F4B3
:10BFC00021F4002011F460FF04C06F5F7F4F8F4F9A
:10BFD0009F4F881F9795879597F9089529C0052E3B
:10BFE000092607FA440F551F5F3F79F0AA27A517C6
:10BFF00008F051E04795880F991F9F3F31F0BB270C
:10C00000B91708F091E0879508959F919F911124A9
:10C0100032C097FB880F991F9F3F31F0BB27B9179C
:10C0200008F091E0879508959F919F91112423C076
:10C0300066277727882799270895F999FECFB2BDFB
:10C04000A1BDF89A119600B40895F7DF01921A94F1
:10C05000E1F70895F999FECFB2BDA1BD00BC1196DC
:10C060000FB6F894FA9AF99A0FBE08950190F2DF8C
:10C070001A94E1F708959FEF80EC0895629FD00134
:10C08000739FF001829FE00DF11D649FE00DF11D93
:10C09000929FF00D839FF00D749FF00D659FF00D42
:10C0A0009927729FB00DE11DF91F639FB00DE11D2F
:10C0B000F91FBD01CF0111240895991B79E004C037
:10C0C000991F961708F0961B881F7A95C9F78095D7
:10C0D0000895AA1BBB1B51E107C0AA1FBB1FA617CF
:10C0E000B70710F0A61BB70B881F991F5A95A9F721
:10C0F00080959095BC01CD01089597FB092E0726E8
:10C100000AD077FD04D0E5DF06D000201AF4709540
:10C1100061957F4F0895F6F7909581959F4F08950B
:10C12000A1E21A2EAA1BBB1BFD010DC0AA1FBB1F3B
:10C13000EE1FFF1FA217B307E407F50720F0A21BAD
:10C14000B30BE40BF50B661F771F881F991F1A941A
:10C1500069F760957095809590959B01AC01BD0144
:10C16000CF01089597FB092E05260ED057FD04D068
:10C17000D7DF0AD0001C38F45095409530952195B2
:10C180003F4F4F4F5F4F0895F6F79095809570950C
:0AC1900061957F4F8F4F9F4F089578
:10C19A00416E676C654E69636B2020202020202049
:10C1AA00416E676C65526F6C6C2020202020202025
:10C1BA004163634E69636B202020202020202020C9
:10C1CA00416363526F6C6C202020202020202020A5
:10C1DA004779726F4769657220202020202020202D
:10C1EA0048696768742056616C7565202020202094
:10C1FA004163635A20202020202020202020202054
:10C20A004761732020202020202020202020202069
:10C21A00436F6D706173732056616C7565202020C1
:10C22A00566F6C7461676520202020202020202012
:10C23A00456D7066616E6720202020202020202016
:10C24A004779726F204B6F6D7061737320202020C5
:10C25A004D6F746F722046726F6E742020202020FA
:10C26A004D6F746F72205265617220202020202049
:10C27A004D6F746F72204C65667420202020202038
:10C28A004D6F746F722052696768742020202020D5
:10C29A002020202020202020202020202020202094
:10C2AA002020202020202020202020202020202084
:10C2BA002020202020202020202020202020202074
:10C2CA004D4B334D61672043616C53746174652033
:10C2DA00536572766F2020202020202020202020E5
:10C2EA002020202020202020202020202020202044
:10C2FA002020202020202020202020202020202034
:10C30A002020202020202020202020202020202023
:10C31A002020202020202020202020202020202013
:10C32A002020202020202020202020202020202003
:10C33A0020202020202020202020202020202020F3
:10C34A004B616C6D616E5F4D6178447269667420F1
:10C35A0020202020202020202020202020202020D3
:10C36A004E6176692053657269616C20446174611B
:10C37A004750535F4E69636B2020202020202020E5
:10C38A004750535F526F6C6C2020202020202020C1
:10C39A00C8000164FF0101737373FF03007D00008D
:10C3AA00C409C4096400040B050000ECFF644041A1
:10C3BA005A46640A02969608403A10FB30380190B1
:10C3CA00D0030090D00300F401640053706F7274BC
:10C3DA0000004E6F726D616C0000426567696E6E97
:10C3EA006572000064010A0151756164726F000090
:10C3FA000D48616C6C6F2057656C7400000000007A
:10C40A000000000000000000000000000000000022
:10C41A000000000000000000000000000000000012
:10C42A000000000000000000000000000000000002
:10C43A0000000000000000000000000000000000F2
:10C44A00000102030405060708090A01FFFF01FCAF
:0EC45A0001FC0101010A0B0D0B0C0E0100008C
:00000001FF
/branches/V0.74d-acid/fc.c.orig
0,0 → 1,1417
/*#######################################################################################
Flight Control
#######################################################################################*/
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Copyright (c) 04.2007 Holger Buss
// + Nur für den privaten Gebrauch
// + www.MikroKopter.com
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Es gilt für das gesamte Projekt (Hardware, Software, Binärfiles, Sourcecode und Dokumentation),
// + dass eine Nutzung (auch auszugsweise) nur für den privaten (nicht-kommerziellen) Gebrauch zulässig ist.
// + Sollten direkte oder indirekte kommerzielle Absichten verfolgt werden, ist mit uns (info@mikrokopter.de) Kontakt
// + bzgl. der Nutzungsbedingungen aufzunehmen.
// + Eine kommerzielle Nutzung ist z.B.Verkauf von MikroKoptern, Bestückung und Verkauf von Platinen oder Bausätzen,
// + Verkauf von Luftbildaufnahmen, usw.
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Werden Teile des Quellcodes (mit oder ohne Modifikation) weiterverwendet oder veröffentlicht,
// + unterliegen sie auch diesen Nutzungsbedingungen und diese Nutzungsbedingungen incl. Copyright müssen dann beiliegen
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Sollte die Software (auch auszugesweise) oder sonstige Informationen des MikroKopter-Projekts
// + auf anderen Webseiten oder sonstigen Medien veröffentlicht werden, muss unsere Webseite "http://www.mikrokopter.de"
// + eindeutig als Ursprung verlinkt werden
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Keine Gewähr auf Fehlerfreiheit, Vollständigkeit oder Funktion
// + Benutzung auf eigene Gefahr
// + Wir übernehmen keinerlei Haftung für direkte oder indirekte Personen- oder Sachschäden
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Die Portierung der Software (oder Teile davon) auf andere Systeme (ausser der Hardware von www.mikrokopter.de) ist nur
// + mit unserer Zustimmung zulässig
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Die Funktion printf_P() unterliegt ihrer eigenen Lizenz und ist hiervon nicht betroffen
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Redistributions of source code (with or without modifications) must retain the above copyright notice,
// + this list of conditions and the following disclaimer.
// + * Neither the name of the copyright holders nor the names of contributors may be used to endorse or promote products derived
// + from this software without specific prior written permission.
// + * The use of this project (hardware, software, binary files, sources and documentation) is only permittet
// + for non-commercial use (directly or indirectly)
// + Commercial use (for excample: selling of MikroKopters, selling of PCBs, assembly, ...) is only permitted
// + with our written permission
// + * If sources or documentations are redistributet on other webpages, out webpage (http://www.MikroKopter.de) must be
// + clearly linked as origin
// + * porting to systems other than hardware from www.mikrokopter.de is not allowed
// + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
// + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN// + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// + POSSIBILITY OF SUCH DAMAGE.
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
#include "main.h"
#include "eeprom.c"
 
unsigned char h,m,s;
volatile unsigned int I2CTimeout = 100;
int MesswertNick,MesswertRoll,MesswertGier,MesswertGierBias, RohMesswertNick,RohMesswertRoll;
int TrimNick, TrimRoll;
int AdNeutralGierBias;
int AdNeutralNick = 0,AdNeutralRoll = 0,AdNeutralGier = 0,StartNeutralRoll = 0,StartNeutralNick = 0;
int Mittelwert_AccNick, Mittelwert_AccRoll,Mittelwert_AccHoch, NeutralAccX=0, NeutralAccY=0;
int NaviAccNick, NaviAccRoll,NaviCntAcc = 0;
volatile float NeutralAccZ = 0;
unsigned char CosinusNickWinkel = 0, CosinusRollWinkel = 0;
long IntegralNick = 0,IntegralNick2 = 0;
long IntegralRoll = 0,IntegralRoll2 = 0;
long IntegralAccNick = 0,IntegralAccRoll = 0,IntegralAccZ = 0;
long Integral_Gier = 0;
long Mess_IntegralNick = 0,Mess_IntegralNick2 = 0;
long Mess_IntegralRoll = 0,Mess_IntegralRoll2 = 0;
long Mess_Integral_Gier = 0,Mess_Integral_Gier2 = 0;
long MittelIntegralNick,MittelIntegralRoll,MittelIntegralNick2,MittelIntegralRoll2;
volatile long Mess_Integral_Hoch = 0;
int KompassValue = 0;
int KompassStartwert = 0;
int KompassRichtung = 0;
unsigned int KompassSignalSchlecht = 500;
unsigned char MAX_GAS,MIN_GAS;
unsigned char Notlandung = 0;
unsigned char HoehenReglerAktiv = 0;
unsigned char TrichterFlug = 0;
long Umschlag180Nick = 250000L, Umschlag180Roll = 250000L;
long ErsatzKompass;
int ErsatzKompassInGrad; // Kompasswert in Grad
int GierGyroFehler = 0;
char GyroFaktor,GyroFaktorGier;
char IntegralFaktor,IntegralFaktorGier;
int DiffNick,DiffRoll;
int Poti1 = 0, Poti2 = 0, Poti3 = 0, Poti4 = 0;
volatile unsigned char SenderOkay = 0;
int StickNick = 0,StickRoll = 0,StickGier = 0,StickGas = 0;
char MotorenEin = 0;
int HoehenWert = 0;
int SollHoehe = 0;
int LageKorrekturRoll = 0,LageKorrekturNick = 0;
//float Ki = FAKTOR_I;
int Ki = 10300 / 33;
unsigned char Looping_Nick = 0,Looping_Roll = 0;
unsigned char Looping_Links = 0, Looping_Rechts = 0, Looping_Unten = 0, Looping_Oben = 0;
 
unsigned char Parameter_Luftdruck_D = 48; // Wert : 0-250
unsigned char Parameter_MaxHoehe = 251; // Wert : 0-250
unsigned char Parameter_Hoehe_P = 16; // Wert : 0-32
unsigned char Parameter_Hoehe_ACC_Wirkung = 58; // Wert : 0-250
unsigned char Parameter_KompassWirkung = 64; // Wert : 0-250
unsigned char Parameter_Gyro_D = 8; // Wert : 0-250
unsigned char Parameter_Gyro_P = 150; // Wert : 10-250
unsigned char Parameter_Gyro_I = 150; // Wert : 0-250
unsigned char Parameter_Gier_P = 2; // Wert : 1-20
unsigned char Parameter_I_Faktor = 10; // Wert : 1-20
unsigned char Parameter_UserParam1 = 0;
unsigned char Parameter_UserParam2 = 0;
unsigned char Parameter_UserParam3 = 0;
unsigned char Parameter_UserParam4 = 0;
unsigned char Parameter_UserParam5 = 0;
unsigned char Parameter_UserParam6 = 0;
unsigned char Parameter_UserParam7 = 0;
unsigned char Parameter_UserParam8 = 0;
unsigned char Parameter_ServoNickControl = 100;
unsigned char Parameter_LoopGasLimit = 70;
unsigned char Parameter_AchsKopplung1 = 90;
unsigned char Parameter_AchsKopplung2 = 65;
unsigned char Parameter_CouplingYawCorrection = 64;
//unsigned char Parameter_AchsGegenKopplung1 = 0;
unsigned char Parameter_DynamicStability = 100;
unsigned char Parameter_J16Bitmask; // for the J16 Output
unsigned char Parameter_J16Timing; // for the J16 Output
unsigned char Parameter_J17Bitmask; // for the J17 Output
unsigned char Parameter_J17Timing; // for the J17 Output
unsigned char Parameter_NaviGpsModeControl; // Parameters for the Naviboard
unsigned char Parameter_NaviGpsGain;
unsigned char Parameter_NaviGpsP;
unsigned char Parameter_NaviGpsI;
unsigned char Parameter_NaviGpsD;
unsigned char Parameter_NaviGpsACC;
unsigned char Parameter_NaviOperatingRadius;
unsigned char Parameter_NaviWindCorrection;
unsigned char Parameter_NaviSpeedCompensation;
unsigned char Parameter_ExternalControl;
struct mk_param_struct EE_Parameter;
signed int ExternStickNick = 0,ExternStickRoll = 0,ExternStickGier = 0, ExternHoehenValue = -20;
int MaxStickNick = 0,MaxStickRoll = 0;
unsigned int modell_fliegt = 0;
volatile unsigned char MikroKopterFlags = 0;
long GIER_GRAD_FAKTOR = 1291;
signed int KopplungsteilNickRoll,KopplungsteilRollNick;
unsigned char RequiredMotors = 4;
unsigned char Motor[MAX_MOTORS];
signed int tmp_motorwert[MAX_MOTORS];
 
int MotorSmoothing(int neu, int alt)
{
int motor;
if(neu > alt) motor = (1*(int)alt + neu) / 2;
else motor = neu - (alt - neu)*1;
//if(Poti2 < 20) return(neu);
return(motor);
}
 
 
void Piep(unsigned char Anzahl)
{
while(Anzahl--)
{
if(MotorenEin) return; //auf keinen Fall im Flug!
beeptime = 100;
Delay_ms(250);
}
}
 
//############################################################################
// Nullwerte ermitteln
void SetNeutral(void)
//############################################################################
{
unsigned char i;
unsigned int gier_neutral=0, nick_neutral=0, roll_neutral=0;
ServoActive = 0; HEF4017R_ON;
NeutralAccX = 0;
NeutralAccY = 0;
NeutralAccZ = 0;
AdNeutralNick = 0;
AdNeutralRoll = 0;
AdNeutralGier = 0;
AdNeutralGierBias = 0;
Parameter_AchsKopplung1 = 0;
Parameter_AchsKopplung2 = 0;
ExpandBaro = 0;
CalibrierMittelwert();
Delay_ms_Mess(100);
CalibrierMittelwert();
if((EE_Parameter.GlobalConfig & CFG_HOEHENREGELUNG)) // Höhenregelung aktiviert?
{
if((MessLuftdruck > 950) || (MessLuftdruck < 750)) SucheLuftruckOffset();
}
#define NEUTRAL_FILTER 32
for(i=0; i<NEUTRAL_FILTER; i++)
{
Delay_ms_Mess(10);
gier_neutral += AdWertGier;
nick_neutral += AdWertNick;
roll_neutral += AdWertRoll;
}
AdNeutralNick= (nick_neutral+NEUTRAL_FILTER/2) / (NEUTRAL_FILTER / 8);
AdNeutralRoll= (roll_neutral+NEUTRAL_FILTER/2) / (NEUTRAL_FILTER / 8);
AdNeutralGier= (gier_neutral+NEUTRAL_FILTER/2) / (NEUTRAL_FILTER);
AdNeutralGierBias = AdNeutralGier;
StartNeutralRoll = AdNeutralRoll;
StartNeutralNick = AdNeutralNick;
if(eeprom_read_byte(&EEPromArray[EEPROM_ADR_ACC_NICK]) > 4)
{
NeutralAccY = abs(Mittelwert_AccRoll) / (2*ACC_AMPLIFY);
NeutralAccX = abs(Mittelwert_AccNick) / (2*ACC_AMPLIFY);
NeutralAccZ = Aktuell_az;
}
else
{
NeutralAccX = (int)eeprom_read_byte(&EEPromArray[EEPROM_ADR_ACC_NICK]) * 256 + (int)eeprom_read_byte(&EEPromArray[EEPROM_ADR_ACC_NICK+1]);
NeutralAccY = (int)eeprom_read_byte(&EEPromArray[EEPROM_ADR_ACC_ROLL]) * 256 + (int)eeprom_read_byte(&EEPromArray[EEPROM_ADR_ACC_ROLL+1]);
NeutralAccZ = (int)eeprom_read_byte(&EEPromArray[EEPROM_ADR_ACC_Z]) * 256 + (int)eeprom_read_byte(&EEPromArray[EEPROM_ADR_ACC_Z+1]);
}
 
MesswertNick = 0;
MesswertRoll = 0;
MesswertGier = 0;
Delay_ms_Mess(100);
Mittelwert_AccNick = ACC_AMPLIFY * (long)AdWertAccNick;
Mittelwert_AccRoll = ACC_AMPLIFY * (long)AdWertAccRoll;
IntegralNick = EE_Parameter.GyroAccFaktor * (long)Mittelwert_AccNick;
IntegralRoll = EE_Parameter.GyroAccFaktor * (long)Mittelwert_AccRoll;
Mess_IntegralNick2 = IntegralNick;
Mess_IntegralRoll2 = IntegralRoll;
Mess_Integral_Gier = 0;
StartLuftdruck = Luftdruck;
HoeheD = 0;
Mess_Integral_Hoch = 0;
KompassStartwert = KompassValue;
GPS_Neutral();
beeptime = 50;
Umschlag180Nick = ((long) EE_Parameter.WinkelUmschlagNick * 2500L) + 15000L;
Umschlag180Roll = ((long) EE_Parameter.WinkelUmschlagRoll * 2500L) + 15000L;
ExternHoehenValue = 0;
ErsatzKompass = KompassValue * GIER_GRAD_FAKTOR;
GierGyroFehler = 0;
SendVersionToNavi = 1;
LED_Init();
MikroKopterFlags |= FLAG_CALIBRATE;
FromNaviCtrl_Value.Kalman_K = -1;
FromNaviCtrl_Value.Kalman_MaxDrift = 0;
FromNaviCtrl_Value.Kalman_MaxFusion = 32;
Poti1 = PPM_in[EE_Parameter.Kanalbelegung[K_POTI1]] + 110;
Poti2 = PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 110;
Poti3 = PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]] + 110;
Poti4 = PPM_in[EE_Parameter.Kanalbelegung[K_POTI4]] + 110;
ServoActive = 1;
SenderOkay = 100;
}
 
//############################################################################
// Bearbeitet die Messwerte
void Mittelwert(void)
//############################################################################
{
static signed long tmpl,tmpl2,tmpl3,tmpl4;
static signed int oldNick, oldRoll, d2Roll, d2Nick;
signed long winkel_nick, winkel_roll;
 
MesswertGier = (signed int) AdNeutralGier - AdWertGier;
// MesswertGierBias = (signed int) AdNeutralGierBias - AdWertGier;
MesswertNick = (signed int) AdWertNickFilter / 8;
MesswertRoll = (signed int) AdWertRollFilter / 8;
RohMesswertNick = MesswertNick;
RohMesswertRoll = MesswertRoll;
//DebugOut.Analog[21] = MesswertNick;
//DebugOut.Analog[22] = MesswertRoll;
//DebugOut.Analog[22] = Mess_Integral_Gier;
//DebugOut.Analog[21] = MesswertNick;
//DebugOut.Analog[22] = MesswertRoll;
 
// Beschleunigungssensor ++++++++++++++++++++++++++++++++++++++++++++++++
Mittelwert_AccNick = ((long)Mittelwert_AccNick * 3 + ((ACC_AMPLIFY * (long)AdWertAccNick))) / 4L;
Mittelwert_AccRoll = ((long)Mittelwert_AccRoll * 3 + ((ACC_AMPLIFY * (long)AdWertAccRoll))) / 4L;
Mittelwert_AccHoch = ((long)Mittelwert_AccHoch * 3 + ((long)AdWertAccHoch)) / 4L;
IntegralAccNick += ACC_AMPLIFY * AdWertAccNick;
IntegralAccRoll += ACC_AMPLIFY * AdWertAccRoll;
NaviAccNick += AdWertAccNick;
NaviAccRoll += AdWertAccRoll;
NaviCntAcc++;
IntegralAccZ += Aktuell_az - NeutralAccZ;
 
//++++++++++++++++++++++++++++++++++++++++++++++++
// ADC einschalten
ANALOG_ON;
AdReady = 0;
//++++++++++++++++++++++++++++++++++++++++++++++++
 
if(Mess_IntegralRoll > 93000L) winkel_roll = 93000L;
else if(Mess_IntegralRoll <-93000L) winkel_roll = -93000L;
else winkel_roll = Mess_IntegralRoll;
 
if(Mess_IntegralNick > 93000L) winkel_nick = 93000L;
else if(Mess_IntegralNick <-93000L) winkel_nick = -93000L;
else winkel_nick = Mess_IntegralNick;
 
// Gier ++++++++++++++++++++++++++++++++++++++++++++++++
Mess_Integral_Gier += MesswertGier;
ErsatzKompass += MesswertGier;
// Kopplungsanteil +++++++++++++++++++++++++++++++++++++
if(!Looping_Nick && !Looping_Roll && (EE_Parameter.GlobalConfig & CFG_ACHSENKOPPLUNG_AKTIV))
{
tmpl3 = (MesswertRoll * winkel_nick) / 2048L;
tmpl3 *= Parameter_AchsKopplung2; //65
tmpl3 /= 4096L;
tmpl4 = (MesswertNick * winkel_roll) / 2048L;
tmpl4 *= Parameter_AchsKopplung2; //65
tmpl4 /= 4096L;
KopplungsteilNickRoll = tmpl3;
KopplungsteilRollNick = tmpl4;
tmpl4 -= tmpl3;
ErsatzKompass += tmpl4;
if(!Parameter_CouplingYawCorrection) Mess_Integral_Gier -= tmpl4/2; // Gier nachhelfen
 
tmpl = ((MesswertGier + tmpl4) * winkel_nick) / 2048L;
tmpl *= Parameter_AchsKopplung1; // 90
tmpl /= 4096L;
tmpl2 = ((MesswertGier + tmpl4) * winkel_roll) / 2048L;
tmpl2 *= Parameter_AchsKopplung1;
tmpl2 /= 4096L;
if(abs(MesswertGier) > 64) if(labs(tmpl) > 128 || labs(tmpl2) > 128) TrichterFlug = 1;
//MesswertGier += (Parameter_CouplingYawCorrection * tmpl4) / 256;
}
else tmpl = tmpl2 = KopplungsteilNickRoll = KopplungsteilRollNick = 0;
 
TrimRoll = tmpl - tmpl2 / 100L;
TrimNick = -tmpl2 + tmpl / 100L;
 
// Kompasswert begrenzen ++++++++++++++++++++++++++++++++++++++++++++++++
if(ErsatzKompass >= (360L * GIER_GRAD_FAKTOR)) ErsatzKompass -= 360L * GIER_GRAD_FAKTOR; // 360° Umschlag
if(ErsatzKompass < 0) ErsatzKompass += 360L * GIER_GRAD_FAKTOR;
// Roll ++++++++++++++++++++++++++++++++++++++++++++++++
Mess_IntegralRoll2 += MesswertRoll + TrimRoll;
Mess_IntegralRoll += MesswertRoll + TrimRoll - LageKorrekturRoll;
if(Mess_IntegralRoll > Umschlag180Roll)
{
Mess_IntegralRoll = -(Umschlag180Roll - 25000L);
Mess_IntegralRoll2 = Mess_IntegralRoll;
}
if(Mess_IntegralRoll <-Umschlag180Roll)
{
Mess_IntegralRoll = (Umschlag180Roll - 25000L);
Mess_IntegralRoll2 = Mess_IntegralRoll;
}
// Nick ++++++++++++++++++++++++++++++++++++++++++++++++
Mess_IntegralNick2 += MesswertNick + TrimNick;
Mess_IntegralNick += MesswertNick + TrimNick - LageKorrekturNick;
if(Mess_IntegralNick > Umschlag180Nick)
{
Mess_IntegralNick = -(Umschlag180Nick - 25000L);
Mess_IntegralNick2 = Mess_IntegralNick;
}
if(Mess_IntegralNick <-Umschlag180Nick)
{
Mess_IntegralNick = (Umschlag180Nick - 25000L);
Mess_IntegralNick2 = Mess_IntegralNick;
}
 
Integral_Gier = Mess_Integral_Gier;
IntegralNick = Mess_IntegralNick;
IntegralRoll = Mess_IntegralRoll;
IntegralNick2 = Mess_IntegralNick2;
IntegralRoll2 = Mess_IntegralRoll2;
 
#define D_LIMIT 128
 
MesswertNick = HiResNick / 8;
MesswertRoll = HiResRoll / 8;
 
if(AdWertNick < 15) MesswertNick = -1000; if(AdWertNick < 7) MesswertNick = -2000;
if(PlatinenVersion == 10) { if(AdWertNick > 1010) MesswertNick = +1000; if(AdWertNick > 1017) MesswertNick = +2000; }
else { if(AdWertNick > 2000) MesswertNick = +1000; if(AdWertNick > 2015) MesswertNick = +2000; }
if(AdWertRoll < 15) MesswertRoll = -1000; if(AdWertRoll < 7) MesswertRoll = -2000;
if(PlatinenVersion == 10) { if(AdWertRoll > 1010) MesswertRoll = +1000; if(AdWertRoll > 1017) MesswertRoll = +2000; }
else { if(AdWertRoll > 2000) MesswertRoll = +1000; if(AdWertRoll > 2015) MesswertRoll = +2000; }
 
if(Parameter_Gyro_D)
{
d2Nick = HiResNick - oldNick;
oldNick = (oldNick + HiResNick)/2;
if(d2Nick > D_LIMIT) d2Nick = D_LIMIT;
else if(d2Nick < -D_LIMIT) d2Nick = -D_LIMIT;
MesswertNick += (d2Nick * (signed int) Parameter_Gyro_D) / 16;
d2Roll = HiResRoll - oldRoll;
oldRoll = (oldRoll + HiResRoll)/2;
if(d2Roll > D_LIMIT) d2Roll = D_LIMIT;
else if(d2Roll < -D_LIMIT) d2Roll = -D_LIMIT;
MesswertRoll += (d2Roll * (signed int) Parameter_Gyro_D) / 16;
HiResNick += (d2Nick * (signed int) Parameter_Gyro_D);
HiResRoll += (d2Roll * (signed int) Parameter_Gyro_D);
}
 
if(RohMesswertRoll > 0) TrimRoll += ((long) abs(KopplungsteilNickRoll) * Parameter_CouplingYawCorrection) / 64L;
else TrimRoll -= ((long) abs(KopplungsteilNickRoll) * Parameter_CouplingYawCorrection) / 64L;
if(RohMesswertNick > 0) TrimNick += ((long) abs(KopplungsteilRollNick) * Parameter_CouplingYawCorrection) / 64L;
else TrimNick -= ((long) abs(KopplungsteilRollNick) * Parameter_CouplingYawCorrection) / 64L;
 
if(EE_Parameter.GlobalConfig & CFG_DREHRATEN_BEGRENZER && !Looping_Nick && !Looping_Roll)
{
if(RohMesswertNick > 256) MesswertNick += 1 * (RohMesswertNick - 256);
else if(RohMesswertNick < -256) MesswertNick += 1 * (RohMesswertNick + 256);
if(RohMesswertRoll > 256) MesswertRoll += 1 * (RohMesswertRoll - 256);
else if(RohMesswertRoll < -256) MesswertRoll += 1 * (RohMesswertRoll + 256);
}
 
if(Poti1 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI1]] + 110) Poti1++; else if(Poti1 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI1]] + 110 && Poti1) Poti1--;
if(Poti2 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 110) Poti2++; else if(Poti2 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 110 && Poti2) Poti2--;
if(Poti3 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]] + 110) Poti3++; else if(Poti3 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]] + 110 && Poti3) Poti3--;
if(Poti4 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI4]] + 110) Poti4++; else if(Poti4 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI4]] + 110 && Poti4) Poti4--;
if(Poti1 < 0) Poti1 = 0; else if(Poti1 > 255) Poti1 = 255;
if(Poti2 < 0) Poti2 = 0; else if(Poti2 > 255) Poti2 = 255;
if(Poti3 < 0) Poti3 = 0; else if(Poti3 > 255) Poti3 = 255;
if(Poti4 < 0) Poti4 = 0; else if(Poti4 > 255) Poti4 = 255;
}
 
//############################################################################
// Messwerte beim Ermitteln der Nullage
void CalibrierMittelwert(void)
//############################################################################
{
if(PlatinenVersion == 13) SucheGyroOffset();
// ADC auschalten, damit die Werte sich nicht während der Berechnung ändern
ANALOG_OFF;
MesswertNick = AdWertNick;
MesswertRoll = AdWertRoll;
MesswertGier = AdWertGier;
Mittelwert_AccNick = ACC_AMPLIFY * (long)AdWertAccNick;
Mittelwert_AccRoll = ACC_AMPLIFY * (long)AdWertAccRoll;
Mittelwert_AccHoch = (long)AdWertAccHoch;
// ADC einschalten
ANALOG_ON;
if(Poti1 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI1]] + 110) Poti1++; else if(Poti1 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI1]] + 110 && Poti1) Poti1--;
if(Poti2 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 110) Poti2++; else if(Poti2 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 110 && Poti2) Poti2--;
if(Poti3 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]] + 110) Poti3++; else if(Poti3 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]] + 110 && Poti3) Poti3--;
if(Poti4 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI4]] + 110) Poti4++; else if(Poti4 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI4]] + 110 && Poti4) Poti4--;
if(Poti1 < 0) Poti1 = 0; else if(Poti1 > 255) Poti1 = 255;
if(Poti2 < 0) Poti2 = 0; else if(Poti2 > 255) Poti2 = 255;
if(Poti3 < 0) Poti3 = 0; else if(Poti3 > 255) Poti3 = 255;
if(Poti4 < 0) Poti4 = 0; else if(Poti4 > 255) Poti4 = 255;
 
Umschlag180Nick = (long) EE_Parameter.WinkelUmschlagNick * 2500L;
Umschlag180Roll = (long) EE_Parameter.WinkelUmschlagRoll * 2500L;
}
 
//############################################################################
// Senden der Motorwerte per I2C-Bus
void SendMotorData(void)
//############################################################################
{
unsigned char i;
if(!MotorenEin)
{
MikroKopterFlags &= ~(FLAG_MOTOR_RUN | FLAG_FLY);
for(i=0;i<MAX_MOTORS;i++)
{
if(!PC_MotortestActive) MotorTest[i] = 0;
Motor[i] = MotorTest[i];
}
if(PC_MotortestActive) PC_MotortestActive--;
}
else MikroKopterFlags |= FLAG_MOTOR_RUN;
 
DebugOut.Analog[12] = Motor[0];
DebugOut.Analog[13] = Motor[1];
DebugOut.Analog[14] = Motor[3];
DebugOut.Analog[15] = Motor[2];
 
//Start I2C Interrupt Mode
twi_state = 0;
motor = 0;
i2c_start();
}
 
 
 
//############################################################################
// Trägt ggf. das Poti als Parameter ein
void ParameterZuordnung(void)
//############################################################################
{
#define CHK_POTI_MM(b,a,min,max) { if(a > 250) { if(a == 251) b = Poti1; else if(a == 252) b = Poti2; else if(a == 253) b = Poti3; else if(a == 254) b = Poti4;} else b = a; if(b <= min) b = min; else if(b >= max) b = max;}
#define CHK_POTI(b,a,min,max) { if(a > 250) { if(a == 251) b = Poti1; else if(a == 252) b = Poti2; else if(a == 253) b = Poti3; else if(a == 254) b = Poti4;} else b = a; }
CHK_POTI(Parameter_MaxHoehe,EE_Parameter.MaxHoehe,0,255);
CHK_POTI_MM(Parameter_Luftdruck_D,EE_Parameter.Luftdruck_D,0,100);
CHK_POTI_MM(Parameter_Hoehe_P,EE_Parameter.Hoehe_P,0,100);
CHK_POTI(Parameter_Hoehe_ACC_Wirkung,EE_Parameter.Hoehe_ACC_Wirkung,0,255);
CHK_POTI(Parameter_KompassWirkung,EE_Parameter.KompassWirkung,0,255);
CHK_POTI_MM(Parameter_Gyro_P,EE_Parameter.Gyro_P,10,255);
CHK_POTI(Parameter_Gyro_I,EE_Parameter.Gyro_I,0,255);
CHK_POTI(Parameter_Gyro_D,EE_Parameter.Gyro_D,0,255);
CHK_POTI(Parameter_I_Faktor,EE_Parameter.I_Faktor,0,255);
CHK_POTI(Parameter_UserParam1,EE_Parameter.UserParam1,0,255);
CHK_POTI(Parameter_UserParam2,EE_Parameter.UserParam2,0,255);
CHK_POTI(Parameter_UserParam3,EE_Parameter.UserParam3,0,255);
CHK_POTI(Parameter_UserParam4,EE_Parameter.UserParam4,0,255);
CHK_POTI(Parameter_UserParam5,EE_Parameter.UserParam5,0,255);
CHK_POTI(Parameter_UserParam6,EE_Parameter.UserParam6,0,255);
CHK_POTI(Parameter_UserParam7,EE_Parameter.UserParam7,0,255);
CHK_POTI(Parameter_UserParam8,EE_Parameter.UserParam8,0,255);
CHK_POTI(Parameter_ServoNickControl,EE_Parameter.ServoNickControl,0,255);
CHK_POTI(Parameter_LoopGasLimit,EE_Parameter.LoopGasLimit,0,255);
CHK_POTI(Parameter_AchsKopplung1, EE_Parameter.AchsKopplung1,0,255);
CHK_POTI(Parameter_AchsKopplung2, EE_Parameter.AchsKopplung2,0,255);
CHK_POTI(Parameter_CouplingYawCorrection,EE_Parameter.CouplingYawCorrection,0,255);
// CHK_POTI(Parameter_AchsGegenKopplung1,EE_Parameter.AchsGegenKopplung1,0,255);
CHK_POTI(Parameter_DynamicStability,EE_Parameter.DynamicStability,0,255);
CHK_POTI_MM(Parameter_J16Timing,EE_Parameter.J16Timing,1,255);
CHK_POTI_MM(Parameter_J17Timing,EE_Parameter.J17Timing,1,255);
CHK_POTI(Parameter_ExternalControl,EE_Parameter.ExternalControl,0,255);
Ki = 10300 / (Parameter_I_Faktor + 1);
MAX_GAS = EE_Parameter.Gas_Max;
MIN_GAS = EE_Parameter.Gas_Min;
}
 
 
 
//############################################################################
//
void MotorRegler(void)
//############################################################################
{
int pd_ergebnis_nick,pd_ergebnis_roll,h,tmp_int;
int GierMischanteil,GasMischanteil;
static long SummeNick=0,SummeRoll=0;
static long sollGier = 0,tmp_long,tmp_long2;
static long IntegralFehlerNick = 0;
static long IntegralFehlerRoll = 0;
static unsigned int RcLostTimer;
static unsigned char delay_neutral = 0;
static unsigned char delay_einschalten = 0,delay_ausschalten = 0;
static int hoehenregler = 0;
static char TimerWerteausgabe = 0;
static char NeueKompassRichtungMerken = 0;
static long ausgleichNick, ausgleichRoll;
int IntegralNickMalFaktor,IntegralRollMalFaktor;
unsigned char i;
Mittelwert();
 
GRN_ON;
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Gaswert ermitteln
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
GasMischanteil = StickGas;
if(GasMischanteil < MIN_GAS + 10) GasMischanteil = MIN_GAS + 10;
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Empfang schlecht
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if(SenderOkay < 100)
{
if(!PcZugriff)
{
if(BeepMuster == 0xffff)
{
beeptime = 15000;
BeepMuster = 0x0c00;
}
}
if(RcLostTimer) RcLostTimer--;
else
{
MotorenEin = 0;
Notlandung = 0;
}
ROT_ON;
if(modell_fliegt > 1000) // wahrscheinlich in der Luft --> langsam absenken
{
GasMischanteil = EE_Parameter.NotGas;
Notlandung = 1;
PPM_diff[EE_Parameter.Kanalbelegung[K_NICK]] = 0;
PPM_diff[EE_Parameter.Kanalbelegung[K_ROLL]] = 0;
PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] = 0;
PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] = 0;
PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] = 0;
}
else MotorenEin = 0;
}
else
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Emfang gut
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if(SenderOkay > 140)
{
Notlandung = 0;
RcLostTimer = EE_Parameter.NotGasZeit * 50;
if(GasMischanteil > 40 && MotorenEin)
{
if(modell_fliegt < 0xffff) modell_fliegt++;
}
if((modell_fliegt < 256))
{
SummeNick = 0;
SummeRoll = 0;
if(modell_fliegt == 250)
{
NeueKompassRichtungMerken = 1;
sollGier = 0;
Mess_Integral_Gier = 0;
// Mess_Integral_Gier2 = 0;
}
} else MikroKopterFlags |= FLAG_FLY;
 
if((PPM_in[EE_Parameter.Kanalbelegung[K_GAS]] > 80) && MotorenEin == 0)
{
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// auf Nullwerte kalibrieren
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if(PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] > 75) // Neutralwerte
{
if(++delay_neutral > 200) // nicht sofort
{
GRN_OFF;
MotorenEin = 0;
delay_neutral = 0;
modell_fliegt = 0;
if(PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > 70 || abs(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]]) > 70)
{
unsigned char setting=1;
if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] > 70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] < 70) setting = 1;
if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] > 70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > 70) setting = 2;
if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] < 70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > 70) setting = 3;
if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] <-70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > 70) setting = 4;
if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] <-70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] < 70) setting = 5;
SetActiveParamSetNumber(setting); // aktiven Datensatz merken
}
// else
if(abs(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]]) < 30 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] < -70)
{
WinkelOut.CalcState = 1;
beeptime = 1000;
}
else
{
ReadParameterSet(GetActiveParamSetNumber(), (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE);
if((EE_Parameter.GlobalConfig & CFG_HOEHENREGELUNG)) // Höhenregelung aktiviert?
{
if((MessLuftdruck > 950) || (MessLuftdruck < 750)) SucheLuftruckOffset();
}
SetNeutral();
Piep(GetActiveParamSetNumber());
}
}
}
else
if(PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] < -75) // ACC Neutralwerte speichern
{
if(++delay_neutral > 200) // nicht sofort
{
GRN_OFF;
eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACC_NICK],0xff); // Werte löschen
MotorenEin = 0;
delay_neutral = 0;
modell_fliegt = 0;
SetNeutral();
eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACC_NICK],NeutralAccX / 256); // ACC-NeutralWerte speichern
eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACC_NICK+1],NeutralAccX % 256); // ACC-NeutralWerte speichern
eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACC_ROLL],NeutralAccY / 256);
eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACC_ROLL+1],NeutralAccY % 256);
eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACC_Z],(int)NeutralAccZ / 256);
eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACC_Z+1],(int)NeutralAccZ % 256);
Piep(GetActiveParamSetNumber());
}
}
else delay_neutral = 0;
}
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Gas ist unten
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if(PPM_in[EE_Parameter.Kanalbelegung[K_GAS]] < 35-120)
{
// Starten
if(PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] < -75)
{
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Einschalten
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if(++delay_einschalten > 200)
{
delay_einschalten = 200;
modell_fliegt = 1;
MotorenEin = 1;
sollGier = 0;
Mess_Integral_Gier = 0;
Mess_Integral_Gier2 = 0;
Mess_IntegralNick = EE_Parameter.GyroAccFaktor * (long)Mittelwert_AccNick;
Mess_IntegralRoll = EE_Parameter.GyroAccFaktor * (long)Mittelwert_AccRoll;
Mess_IntegralNick2 = IntegralNick;
Mess_IntegralRoll2 = IntegralRoll;
SummeNick = 0;
SummeRoll = 0;
MikroKopterFlags |= FLAG_START;
}
}
else delay_einschalten = 0;
//Auf Neutralwerte setzen
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Auschalten
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if(PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] > 75)
{
if(++delay_ausschalten > 200) // nicht sofort
{
MotorenEin = 0;
delay_ausschalten = 200;
modell_fliegt = 0;
}
}
else delay_ausschalten = 0;
}
}
 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// neue Werte von der Funke
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
if(!NewPpmData-- || Notlandung)
{
static int stick_nick,stick_roll;
ParameterZuordnung();
stick_nick = (stick_nick * 3 + PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] * EE_Parameter.Stick_P) / 4;
stick_nick += PPM_diff[EE_Parameter.Kanalbelegung[K_NICK]] * EE_Parameter.Stick_D;
StickNick = stick_nick - (GPS_Nick + GPS_Nick2);
 
stick_roll = (stick_roll * 3 + PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] * EE_Parameter.Stick_P) / 4;
stick_roll += PPM_diff[EE_Parameter.Kanalbelegung[K_ROLL]] * EE_Parameter.Stick_D;
StickRoll = stick_roll - (GPS_Roll + GPS_Roll2);
 
StickGier = -PPM_in[EE_Parameter.Kanalbelegung[K_GIER]];
if(StickGier > 2) StickGier -= 2; else
if(StickGier < -2) StickGier += 2; else StickGier = 0;
 
StickGas = PPM_in[EE_Parameter.Kanalbelegung[K_GAS]] + 120;
GyroFaktor = (Parameter_Gyro_P + 10.0);
IntegralFaktor = Parameter_Gyro_I;
GyroFaktorGier = (Parameter_Gyro_P + 10.0);
IntegralFaktorGier = Parameter_Gyro_I;
 
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//+ Analoge Steuerung per Seriell
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if(ExternControl.Config & 0x01 && Parameter_ExternalControl > 128)
{
StickNick += (int) ExternControl.Nick * (int) EE_Parameter.Stick_P;
StickRoll += (int) ExternControl.Roll * (int) EE_Parameter.Stick_P;
StickGier += ExternControl.Gier;
ExternHoehenValue = (int) ExternControl.Hight * (int)EE_Parameter.Hoehe_Verstaerkung;
if(ExternControl.Gas < StickGas) StickGas = ExternControl.Gas;
}
if(StickGas < 0) StickGas = 0;
 
if(EE_Parameter.GlobalConfig & CFG_HEADING_HOLD) IntegralFaktor = 0;
if(GyroFaktor < 0) GyroFaktor = 0;
if(IntegralFaktor < 0) IntegralFaktor = 0;
 
if(abs(StickNick/STICK_GAIN) > MaxStickNick)
{
MaxStickNick = abs(StickNick)/STICK_GAIN;
if(MaxStickNick > 100) MaxStickNick = 100;
}
else MaxStickNick--;
if(abs(StickRoll/STICK_GAIN) > MaxStickRoll)
{
MaxStickRoll = abs(StickRoll)/STICK_GAIN;
if(MaxStickRoll > 100) MaxStickRoll = 100;
}
else MaxStickRoll--;
if(Notlandung) {MaxStickNick = 0; MaxStickRoll = 0;}
 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Looping?
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if((PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] > EE_Parameter.LoopThreshold) && EE_Parameter.BitConfig & CFG_LOOP_LINKS) Looping_Links = 1;
else
{
{
if((PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] < (EE_Parameter.LoopThreshold - EE_Parameter.LoopHysterese))) Looping_Links = 0;
}
}
if((PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] < -EE_Parameter.LoopThreshold) && EE_Parameter.BitConfig & CFG_LOOP_RECHTS) Looping_Rechts = 1;
else
{
if(Looping_Rechts) // Hysterese
{
if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] > -(EE_Parameter.LoopThreshold - EE_Parameter.LoopHysterese)) Looping_Rechts = 0;
}
}
 
if((PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > EE_Parameter.LoopThreshold) && EE_Parameter.BitConfig & CFG_LOOP_OBEN) Looping_Oben = 1;
else
{
if(Looping_Oben) // Hysterese
{
if((PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] < (EE_Parameter.LoopThreshold - EE_Parameter.LoopHysterese))) Looping_Oben = 0;
}
}
if((PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] < -EE_Parameter.LoopThreshold) && EE_Parameter.BitConfig & CFG_LOOP_UNTEN) Looping_Unten = 1;
else
{
if(Looping_Unten) // Hysterese
{
if(PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > -(EE_Parameter.LoopThreshold - EE_Parameter.LoopHysterese)) Looping_Unten = 0;
}
}
 
if(Looping_Links || Looping_Rechts) Looping_Roll = 1; else Looping_Roll = 0;
if(Looping_Oben || Looping_Unten) { Looping_Nick = 1; Looping_Roll = 0; Looping_Links = 0; Looping_Rechts = 0;} else Looping_Nick = 0;
} // Ende neue Funken-Werte
 
if(Looping_Roll || Looping_Nick)
{
if(GasMischanteil > EE_Parameter.LoopGasLimit) GasMischanteil = EE_Parameter.LoopGasLimit;
TrichterFlug = 1;
}
 
 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Bei Empfangsausfall im Flug
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if(Notlandung)
{
StickGier = 0;
StickNick = 0;
StickRoll = 0;
GyroFaktor = 90;
IntegralFaktor = 120;
GyroFaktorGier = 90;
IntegralFaktorGier = 120;
Looping_Roll = 0;
Looping_Nick = 0;
}
 
 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Integrale auf ACC-Signal abgleichen
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#define ABGLEICH_ANZAHL 256L
 
MittelIntegralNick += IntegralNick; // Für die Mittelwertbildung aufsummieren
MittelIntegralRoll += IntegralRoll;
MittelIntegralNick2 += IntegralNick2;
MittelIntegralRoll2 += IntegralRoll2;
 
if(Looping_Nick || Looping_Roll)
{
IntegralAccNick = 0;
IntegralAccRoll = 0;
MittelIntegralNick = 0;
MittelIntegralRoll = 0;
MittelIntegralNick2 = 0;
MittelIntegralRoll2 = 0;
Mess_IntegralNick2 = Mess_IntegralNick;
Mess_IntegralRoll2 = Mess_IntegralRoll;
ZaehlMessungen = 0;
LageKorrekturNick = 0;
LageKorrekturRoll = 0;
}
 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if(!Looping_Nick && !Looping_Roll && (Aktuell_az > 512 || MotorenEin))
{
long tmp_long, tmp_long2;
if(FromNaviCtrl_Value.Kalman_K != -1 /*&& !TrichterFlug*/)
{
tmp_long = (long)(IntegralNick / EE_Parameter.GyroAccFaktor - (long)Mittelwert_AccNick);
tmp_long2 = (long)(IntegralRoll / EE_Parameter.GyroAccFaktor - (long)Mittelwert_AccRoll);
tmp_long = (tmp_long * FromNaviCtrl_Value.Kalman_K) / (32 * 16);
tmp_long2 = (tmp_long2 * FromNaviCtrl_Value.Kalman_K) / (32 * 16);
if((MaxStickNick > 64) || (MaxStickRoll > 64))
{
tmp_long /= 2;
tmp_long2 /= 2;
}
if(abs(PPM_in[EE_Parameter.Kanalbelegung[K_GIER]]) > 25)
{
tmp_long /= 3;
tmp_long2 /= 3;
}
if(tmp_long > (long) FromNaviCtrl_Value.Kalman_MaxFusion) tmp_long = (long) FromNaviCtrl_Value.Kalman_MaxFusion;
if(tmp_long < (long)-FromNaviCtrl_Value.Kalman_MaxFusion) tmp_long = (long)-FromNaviCtrl_Value.Kalman_MaxFusion;
if(tmp_long2 > (long) FromNaviCtrl_Value.Kalman_MaxFusion) tmp_long2 = (long) FromNaviCtrl_Value.Kalman_MaxFusion;
if(tmp_long2 < (long)-FromNaviCtrl_Value.Kalman_MaxFusion) tmp_long2 = (long)-FromNaviCtrl_Value.Kalman_MaxFusion;
}
else
{
tmp_long = (long)(IntegralNick / EE_Parameter.GyroAccFaktor - (long)Mittelwert_AccNick);
tmp_long2 = (long)(IntegralRoll / EE_Parameter.GyroAccFaktor - (long)Mittelwert_AccRoll);
tmp_long /= 16;
tmp_long2 /= 16;
if((MaxStickNick > 64) || (MaxStickRoll > 64))
{
tmp_long /= 3;
tmp_long2 /= 3;
}
if(abs(PPM_in[EE_Parameter.Kanalbelegung[K_GIER]]) > 25)
{
tmp_long /= 3;
tmp_long2 /= 3;
}
 
#define AUSGLEICH 32
if(tmp_long > AUSGLEICH) tmp_long = AUSGLEICH;
if(tmp_long < -AUSGLEICH) tmp_long =-AUSGLEICH;
if(tmp_long2 > AUSGLEICH) tmp_long2 = AUSGLEICH;
if(tmp_long2 <-AUSGLEICH) tmp_long2 =-AUSGLEICH;
}
 
//if(Poti2 > 20) { tmp_long = 0; tmp_long2 = 0;}
Mess_IntegralNick -= tmp_long;
Mess_IntegralRoll -= tmp_long2;
}
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if(ZaehlMessungen >= ABGLEICH_ANZAHL)
{
static int cnt = 0;
static char last_n_p,last_n_n,last_r_p,last_r_n;
static long MittelIntegralNick_Alt,MittelIntegralRoll_Alt;
if(!Looping_Nick && !Looping_Roll && !TrichterFlug && EE_Parameter.Driftkomp)
{
MittelIntegralNick /= ABGLEICH_ANZAHL;
MittelIntegralRoll /= ABGLEICH_ANZAHL;
IntegralAccNick = (EE_Parameter.GyroAccFaktor * IntegralAccNick) / ABGLEICH_ANZAHL;
IntegralAccRoll = (EE_Parameter.GyroAccFaktor * IntegralAccRoll) / ABGLEICH_ANZAHL;
IntegralAccZ = IntegralAccZ / ABGLEICH_ANZAHL;
#define MAX_I 0//(Poti2/10)
// Nick ++++++++++++++++++++++++++++++++++++++++++++++++
IntegralFehlerNick = (long)(MittelIntegralNick - (long)IntegralAccNick);
ausgleichNick = IntegralFehlerNick / EE_Parameter.GyroAccAbgleich;
// Roll ++++++++++++++++++++++++++++++++++++++++++++++++
IntegralFehlerRoll = (long)(MittelIntegralRoll - (long)IntegralAccRoll);
ausgleichRoll = IntegralFehlerRoll / EE_Parameter.GyroAccAbgleich;
 
LageKorrekturNick = ausgleichNick / ABGLEICH_ANZAHL;
LageKorrekturRoll = ausgleichRoll / ABGLEICH_ANZAHL;
 
if(((MaxStickNick > 64) || (MaxStickRoll > 64) || (abs(PPM_in[EE_Parameter.Kanalbelegung[K_GIER]]) > 25)) && (FromNaviCtrl_Value.Kalman_K == -1))
{
LageKorrekturNick /= 2;
LageKorrekturRoll /= 2;
}
 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Gyro-Drift ermitteln
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
MittelIntegralNick2 /= ABGLEICH_ANZAHL;
MittelIntegralRoll2 /= ABGLEICH_ANZAHL;
tmp_long = IntegralNick2 - IntegralNick;
tmp_long2 = IntegralRoll2 - IntegralRoll;
//DebugOut.Analog[25] = MittelIntegralRoll2 / 26;
 
IntegralFehlerNick = tmp_long;
IntegralFehlerRoll = tmp_long2;
Mess_IntegralNick2 -= IntegralFehlerNick;
Mess_IntegralRoll2 -= IntegralFehlerRoll;
 
// IntegralFehlerNick = (IntegralFehlerNick * 1 + tmp_long) / 2;
// IntegralFehlerRoll = (IntegralFehlerRoll * 1 + tmp_long2) / 2;
if(EE_Parameter.Driftkomp)
{
if(GierGyroFehler > ABGLEICH_ANZAHL/2) { AdNeutralGier++; AdNeutralGierBias++; }
if(GierGyroFehler <-ABGLEICH_ANZAHL/2) { AdNeutralGier--; AdNeutralGierBias--; }
}
//DebugOut.Analog[22] = MittelIntegralRoll / 26;
//DebugOut.Analog[24] = GierGyroFehler;
GierGyroFehler = 0;
 
 
/*DebugOut.Analog[17] = IntegralAccNick / 26;
DebugOut.Analog[18] = IntegralAccRoll / 26;
DebugOut.Analog[19] = IntegralFehlerNick;// / 26;
DebugOut.Analog[20] = IntegralFehlerRoll;// / 26;
*/
//DebugOut.Analog[21] = MittelIntegralNick / 26;
//MittelIntegralRoll = MittelIntegralRoll;
//DebugOut.Analog[28] = ausgleichNick;
/*
DebugOut.Analog[29] = ausgleichRoll;
DebugOut.Analog[30] = LageKorrekturRoll * 10;
*/
 
#define FEHLER_LIMIT (ABGLEICH_ANZAHL / 2)
#define FEHLER_LIMIT1 (ABGLEICH_ANZAHL * 2) //4
#define FEHLER_LIMIT2 (ABGLEICH_ANZAHL * 16) //16
#define BEWEGUNGS_LIMIT 20000
// Nick +++++++++++++++++++++++++++++++++++++++++++++++++
cnt = 1;// + labs(IntegralFehlerNick) / 4096;
if(labs(IntegralFehlerNick) > FEHLER_LIMIT1) cnt = 4;
if(labs(MittelIntegralNick_Alt - MittelIntegralNick) < BEWEGUNGS_LIMIT || (FromNaviCtrl_Value.Kalman_MaxDrift > 3*8))
{
if(IntegralFehlerNick > FEHLER_LIMIT2)
{
if(last_n_p)
{
cnt += labs(IntegralFehlerNick) / (FEHLER_LIMIT2 / 8);
ausgleichNick = IntegralFehlerNick / 8;
if(ausgleichNick > 5000) ausgleichNick = 5000;
LageKorrekturNick += ausgleichNick / ABGLEICH_ANZAHL;
}
else last_n_p = 1;
} else last_n_p = 0;
if(IntegralFehlerNick < -FEHLER_LIMIT2)
{
if(last_n_n)
{
cnt += labs(IntegralFehlerNick) / (FEHLER_LIMIT2 / 8);
ausgleichNick = IntegralFehlerNick / 8;
if(ausgleichNick < -5000) ausgleichNick = -5000;
LageKorrekturNick += ausgleichNick / ABGLEICH_ANZAHL;
}
else last_n_n = 1;
} else last_n_n = 0;
}
else
{
cnt = 0;
KompassSignalSchlecht = 1000;
}
if(cnt > EE_Parameter.Driftkomp) cnt = EE_Parameter.Driftkomp;
if(FromNaviCtrl_Value.Kalman_MaxDrift) if(cnt > FromNaviCtrl_Value.Kalman_MaxDrift) cnt = FromNaviCtrl_Value.Kalman_MaxDrift;
if(IntegralFehlerNick > FEHLER_LIMIT) AdNeutralNick += cnt;
if(IntegralFehlerNick < -FEHLER_LIMIT) AdNeutralNick -= cnt;
 
// Roll +++++++++++++++++++++++++++++++++++++++++++++++++
cnt = 1;// + labs(IntegralFehlerNick) / 4096;
if(labs(IntegralFehlerRoll) > FEHLER_LIMIT1) cnt = 4;
ausgleichRoll = 0;
if(labs(MittelIntegralRoll_Alt - MittelIntegralRoll) < BEWEGUNGS_LIMIT || (FromNaviCtrl_Value.Kalman_MaxDrift > 3*8))
{
if(IntegralFehlerRoll > FEHLER_LIMIT2)
{
if(last_r_p)
{
cnt += labs(IntegralFehlerRoll) / (FEHLER_LIMIT2 / 8);
ausgleichRoll = IntegralFehlerRoll / 8;
if(ausgleichRoll > 5000) ausgleichRoll = 5000;
LageKorrekturRoll += ausgleichRoll / ABGLEICH_ANZAHL;
}
else last_r_p = 1;
} else last_r_p = 0;
if(IntegralFehlerRoll < -FEHLER_LIMIT2)
{
if(last_r_n)
{
cnt += labs(IntegralFehlerRoll) / (FEHLER_LIMIT2 / 8);
ausgleichRoll = IntegralFehlerRoll / 8;
if(ausgleichRoll < -5000) ausgleichRoll = -5000;
LageKorrekturRoll += ausgleichRoll / ABGLEICH_ANZAHL;
}
else last_r_n = 1;
} else last_r_n = 0;
} else
{
cnt = 0;
KompassSignalSchlecht = 1000;
}
if(cnt > EE_Parameter.Driftkomp) cnt = EE_Parameter.Driftkomp;
if(FromNaviCtrl_Value.Kalman_MaxDrift) if(cnt > FromNaviCtrl_Value.Kalman_MaxDrift) cnt = FromNaviCtrl_Value.Kalman_MaxDrift;
if(IntegralFehlerRoll > FEHLER_LIMIT) AdNeutralRoll += cnt;
if(IntegralFehlerRoll < -FEHLER_LIMIT) AdNeutralRoll -= cnt;
}
else
{
LageKorrekturRoll = 0;
LageKorrekturNick = 0;
TrichterFlug = 0;
}
 
if(!IntegralFaktor) { LageKorrekturRoll = 0; LageKorrekturNick = 0;} // z.B. bei HH
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
MittelIntegralNick_Alt = MittelIntegralNick;
MittelIntegralRoll_Alt = MittelIntegralRoll;
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
IntegralAccNick = 0;
IntegralAccRoll = 0;
IntegralAccZ = 0;
MittelIntegralNick = 0;
MittelIntegralRoll = 0;
MittelIntegralNick2 = 0;
MittelIntegralRoll2 = 0;
ZaehlMessungen = 0;
} // ZaehlMessungen >= ABGLEICH_ANZAHL
 
 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Gieren
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// if(GasMischanteil < 35) { if(StickGier > 10) StickGier = 10; else if(StickGier < -10) StickGier = -10;};
if(abs(StickGier) > 15) // war 35
{
KompassSignalSchlecht = 1000;
if(!(EE_Parameter.GlobalConfig & CFG_KOMPASS_FIX))
{
NeueKompassRichtungMerken = 1;
};
}
tmp_int = (long) EE_Parameter.Gier_P * ((long)StickGier * abs(StickGier)) / 512L; // expo y = ax + bx²
tmp_int += (EE_Parameter.Gier_P * StickGier) / 4;
sollGier = tmp_int;
Mess_Integral_Gier -= tmp_int;
if(Mess_Integral_Gier > 50000) Mess_Integral_Gier = 50000; // begrenzen
if(Mess_Integral_Gier <-50000) Mess_Integral_Gier =-50000;
 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Kompass
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//DebugOut.Analog[16] = KompassSignalSchlecht;
 
if(KompassValue && (EE_Parameter.GlobalConfig & CFG_KOMPASS_AKTIV))
{
int w,v,r,fehler,korrektur;
w = abs(IntegralNick /512); // mit zunehmender Neigung den Einfluss drosseln
v = abs(IntegralRoll /512);
if(v > w) w = v; // grösste Neigung ermitteln
korrektur = w / 8 + 1;
fehler = ((540 + KompassValue - (ErsatzKompass/GIER_GRAD_FAKTOR)) % 360) - 180;
if(abs(MesswertGier) > 128)
{
fehler = 0;
}
if(!KompassSignalSchlecht && w < 25)
{
GierGyroFehler += fehler;
if(NeueKompassRichtungMerken)
{
beeptime = 200;
// KompassStartwert = KompassValue;
ErsatzKompass = KompassValue * GIER_GRAD_FAKTOR;
KompassStartwert = (ErsatzKompass/GIER_GRAD_FAKTOR);
NeueKompassRichtungMerken = 0;
}
}
ErsatzKompass += (fehler * 8) / korrektur;
w = (w * Parameter_KompassWirkung) / 32; // auf die Wirkung normieren
w = Parameter_KompassWirkung - w; // Wirkung ggf drosseln
if(w >= 0)
{
if(!KompassSignalSchlecht)
{
v = 64 + ((MaxStickNick + MaxStickRoll)) / 8;
r = ((540 + (ErsatzKompass/GIER_GRAD_FAKTOR) - KompassStartwert) % 360) - 180;
// r = KompassRichtung;
v = (r * w) / v; // nach Kompass ausrichten
w = 3 * Parameter_KompassWirkung;
if(v > w) v = w; // Begrenzen
else
if(v < -w) v = -w;
Mess_Integral_Gier += v;
}
if(KompassSignalSchlecht) KompassSignalSchlecht--;
}
else KompassSignalSchlecht = 500; // so lange das Signal taub stellen --> ca. 1 sek
}
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Debugwerte zuordnen
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if(!TimerWerteausgabe--)
{
TimerWerteausgabe = 24;
 
DebugOut.Analog[0] = IntegralNick / (EE_Parameter.GyroAccFaktor * 4);
DebugOut.Analog[1] = IntegralRoll / (EE_Parameter.GyroAccFaktor * 4);
DebugOut.Analog[2] = Mittelwert_AccNick / 4;
DebugOut.Analog[3] = Mittelwert_AccRoll / 4;
DebugOut.Analog[4] = MesswertGier;
DebugOut.Analog[5] = HoehenWert;
DebugOut.Analog[6] = Aktuell_az;//(Mess_Integral_Hoch / 512);//Aktuell_az;
DebugOut.Analog[8] = KompassValue;
DebugOut.Analog[9] = UBat;
DebugOut.Analog[11] = ErsatzKompass / GIER_GRAD_FAKTOR;
DebugOut.Analog[10] = SenderOkay;
//DebugOut.Analog[16] = Mittelwert_AccHoch;
//DebugOut.Analog[17] = FromNaviCtrl_Value.Distance;
//DebugOut.Analog[18] = (int)FromNaviCtrl_Value.OsdBar;
DebugOut.Analog[19] = WinkelOut.CalcState;
DebugOut.Analog[20] = ServoValue;
// DebugOut.Analog[24] = MesswertNick/2;
// DebugOut.Analog[25] = MesswertRoll/2;
DebugOut.Analog[27] = (int)FromNaviCtrl_Value.Kalman_MaxDrift;
// DebugOut.Analog[28] = (int)FromNaviCtrl_Value.Kalman_MaxFusion;
// DebugOut.Analog[29] = (int)FromNaviCtrl_Value.Kalman_K;
DebugOut.Analog[29] = FromNaviCtrl_Value.SerialDataOkay;
DebugOut.Analog[30] = GPS_Nick;
DebugOut.Analog[31] = GPS_Roll;
 
 
// DebugOut.Analog[19] -= DebugOut.Analog[19]/128;
// if(DebugOut.Analog[19] > 0) DebugOut.Analog[19]--; else DebugOut.Analog[19]++;
 
/* DebugOut.Analog[16] = motor_rx[0];
DebugOut.Analog[17] = motor_rx[1];
DebugOut.Analog[18] = motor_rx[2];
DebugOut.Analog[19] = motor_rx[3];
DebugOut.Analog[20] = motor_rx[0] + motor_rx[1] + motor_rx[2] + motor_rx[3];
DebugOut.Analog[20] /= 14;
DebugOut.Analog[21] = motor_rx[4];
DebugOut.Analog[22] = motor_rx[5];
DebugOut.Analog[23] = motor_rx[6];
DebugOut.Analog[24] = motor_rx[7];
DebugOut.Analog[25] = motor_rx[4] + motor_rx[5] + motor_rx[6] + motor_rx[7];
*/
// DebugOut.Analog[9] = MesswertNick;
// DebugOut.Analog[9] = SollHoehe;
// DebugOut.Analog[10] = Mess_Integral_Gier / 128;
// DebugOut.Analog[11] = KompassStartwert;
// DebugOut.Analog[10] = Parameter_Gyro_I;
// DebugOut.Analog[10] = EE_Parameter.Gyro_I;
// DebugOut.Analog[9] = KompassRichtung;
// DebugOut.Analog[10] = GasMischanteil;
// DebugOut.Analog[3] = HoeheD * 32;
// DebugOut.Analog[4] = hoehenregler;
}
 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Drehgeschwindigkeit und -winkel zu einem Istwert zusammenfassen
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if(TrichterFlug) { SummeRoll = 0; SummeNick = 0;};
 
if(!Looping_Nick) IntegralNickMalFaktor = (IntegralNick * IntegralFaktor) / (44000 / STICK_GAIN); else IntegralNickMalFaktor = 0;
if(!Looping_Roll) IntegralRollMalFaktor = (IntegralRoll * IntegralFaktor) / (44000 / STICK_GAIN); else IntegralRollMalFaktor = 0;
 
#define TRIM_MAX 200
if(TrimNick > TRIM_MAX) TrimNick = TRIM_MAX; else if(TrimNick <-TRIM_MAX) TrimNick =-TRIM_MAX;
if(TrimRoll > TRIM_MAX) TrimRoll = TRIM_MAX; else if(TrimRoll <-TRIM_MAX) TrimRoll =-TRIM_MAX;
 
MesswertNick = IntegralNickMalFaktor + (long)((long)MesswertNick * GyroFaktor + (long)TrimNick * 128L) / (256L / STICK_GAIN);
MesswertRoll = IntegralRollMalFaktor + (long)((long)MesswertRoll * GyroFaktor + (long)TrimRoll * 128L) / (256L / STICK_GAIN);
MesswertGier = (long)(MesswertGier * 2 * (long)GyroFaktorGier) / (256L / STICK_GAIN) + (long)(Integral_Gier * IntegralFaktorGier) / (2 * (44000 / STICK_GAIN));
 
// Maximalwerte abfangen
// #define MAX_SENSOR (4096*STICK_GAIN)
#define MAX_SENSOR (4096*4)
if(MesswertNick > MAX_SENSOR) MesswertNick = MAX_SENSOR;
if(MesswertNick < -MAX_SENSOR) MesswertNick = -MAX_SENSOR;
if(MesswertRoll > MAX_SENSOR) MesswertRoll = MAX_SENSOR;
if(MesswertRoll < -MAX_SENSOR) MesswertRoll = -MAX_SENSOR;
if(MesswertGier > MAX_SENSOR) MesswertGier = MAX_SENSOR;
if(MesswertGier < -MAX_SENSOR) MesswertGier = -MAX_SENSOR;
 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// all BL-Ctrl connected?
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if(MissingMotor) if(modell_fliegt > 1 && modell_fliegt < 50 && GasMischanteil > 0)
{
modell_fliegt = 1;
GasMischanteil = MIN_GAS;
}
 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Höhenregelung
// Die Höhenregelung schwächt lediglich das Gas ab, erhöht es allerdings nicht
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
GasMischanteil *= STICK_GAIN;
if((EE_Parameter.GlobalConfig & CFG_HOEHENREGELUNG)) // Höhenregelung
{
int tmp_int;
static char delay = 100;
if(EE_Parameter.GlobalConfig & CFG_HOEHEN_SCHALTER) // Regler wird über Schalter gesteuert
{
if(Parameter_MaxHoehe < 50)
{
if(!delay--)
{
if((MessLuftdruck > 1000) && OCR0A < 254)
{
if(OCR0A < 244)
{
ExpandBaro -= 10;
OCR0A = DruckOffsetSetting - ExpandBaro;
}
else OCR0A = 254;
beeptime = 300;
delay = 250;
}
else
if((MessLuftdruck < 100) && OCR0A > 1)
{
if(OCR0A > 10)
{
ExpandBaro += 10;
OCR0A = DruckOffsetSetting - ExpandBaro;
}
else OCR0A = 1;
beeptime = 300;
delay = 250;
}
else
{
SollHoehe = HoehenWert - 20; // Parameter_MaxHoehe ist der PPM-Wert des Schalters
HoehenReglerAktiv = 0;
delay = 1;
}
}
}
else
{
HoehenReglerAktiv = 1;
delay = 200;
}
}
else
{
SollHoehe = ((int) ExternHoehenValue + (int) Parameter_MaxHoehe) * (int)EE_Parameter.Hoehe_Verstaerkung - 20;
HoehenReglerAktiv = 1;
}
 
if(Notlandung) SollHoehe = 0;
h = HoehenWert;
if((h > SollHoehe) && HoehenReglerAktiv) // zu hoch --> drosseln
{
h = ((h - SollHoehe) * (int) Parameter_Hoehe_P) / (16 / STICK_GAIN); // Differenz bestimmen --> P-Anteil
h = GasMischanteil - h; // vom Gas abziehen
h -= (HoeheD)/(8/STICK_GAIN); // D-Anteil
tmp_int = ((Mess_Integral_Hoch / 128) * (signed long) Parameter_Hoehe_ACC_Wirkung) / (128 / STICK_GAIN);
if(tmp_int > 70*STICK_GAIN) tmp_int = 70*STICK_GAIN;
else if(tmp_int < -(70*STICK_GAIN)) tmp_int = -(70*STICK_GAIN);
h -= tmp_int;
hoehenregler = (hoehenregler*15 + h) / 16;
if(hoehenregler < EE_Parameter.Hoehe_MinGas * STICK_GAIN) // nicht unter MIN
{
if(GasMischanteil >= EE_Parameter.Hoehe_MinGas * STICK_GAIN) hoehenregler = EE_Parameter.Hoehe_MinGas * STICK_GAIN;
if(GasMischanteil < EE_Parameter.Hoehe_MinGas * STICK_GAIN) hoehenregler = GasMischanteil;
}
if(hoehenregler > GasMischanteil) hoehenregler = GasMischanteil; // nicht mehr als Gas
GasMischanteil = hoehenregler;
}
}
if(GasMischanteil > (MAX_GAS - 20) * STICK_GAIN) GasMischanteil = (MAX_GAS - 20) * STICK_GAIN;
 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Mischer und PI-Regler
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DebugOut.Analog[7] = GasMischanteil;
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Gier-Anteil
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#define MUL_G 1.0
GierMischanteil = MesswertGier - sollGier * STICK_GAIN; // Regler für Gier
// GierMischanteil = 0;
#define MIN_GIERGAS (40*STICK_GAIN) // unter diesem Gaswert trotzdem Gieren
if(GasMischanteil > MIN_GIERGAS)
{
if(GierMischanteil > (GasMischanteil / 2)) GierMischanteil = GasMischanteil / 2;
if(GierMischanteil < -(GasMischanteil / 2)) GierMischanteil = -(GasMischanteil / 2);
}
else
{
if(GierMischanteil > (MIN_GIERGAS / 2)) GierMischanteil = MIN_GIERGAS / 2;
if(GierMischanteil < -(MIN_GIERGAS / 2)) GierMischanteil = -(MIN_GIERGAS / 2);
}
tmp_int = MAX_GAS*STICK_GAIN;
if(GierMischanteil > ((tmp_int - GasMischanteil))) GierMischanteil = ((tmp_int - GasMischanteil));
if(GierMischanteil < -((tmp_int - GasMischanteil))) GierMischanteil = -((tmp_int - GasMischanteil));
 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Nick-Achse
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DiffNick = MesswertNick - StickNick; // Differenz bestimmen
if(IntegralFaktor) SummeNick += IntegralNickMalFaktor - StickNick; // I-Anteil bei Winkelregelung
else SummeNick += DiffNick; // I-Anteil bei HH
if(SummeNick > (STICK_GAIN * 16000L)) SummeNick = (STICK_GAIN * 16000L);
if(SummeNick < -(16000L * STICK_GAIN)) SummeNick = -(16000L * STICK_GAIN);
pd_ergebnis_nick = DiffNick + SummeNick / Ki; // PI-Regler für Nick
// Motor Vorn
tmp_int = (long)((long)Parameter_DynamicStability * (long)(GasMischanteil + abs(GierMischanteil)/2)) / 64;
if(pd_ergebnis_nick > tmp_int) pd_ergebnis_nick = tmp_int;
if(pd_ergebnis_nick < -tmp_int) pd_ergebnis_nick = -tmp_int;
 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Roll-Achse
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DiffRoll = MesswertRoll - StickRoll; // Differenz bestimmen
if(IntegralFaktor) SummeRoll += IntegralRollMalFaktor - StickRoll;// I-Anteil bei Winkelregelung
else SummeRoll += DiffRoll; // I-Anteil bei HH
if(SummeRoll > (STICK_GAIN * 16000L)) SummeRoll = (STICK_GAIN * 16000L);
if(SummeRoll < -(16000L * STICK_GAIN)) SummeRoll = -(16000L * STICK_GAIN);
pd_ergebnis_roll = DiffRoll + SummeRoll / Ki; // PI-Regler für Roll
tmp_int = (long)((long)Parameter_DynamicStability * (long)(GasMischanteil + abs(GierMischanteil)/2)) / 64;
if(pd_ergebnis_roll > tmp_int) pd_ergebnis_roll = tmp_int;
if(pd_ergebnis_roll < -tmp_int) pd_ergebnis_roll = -tmp_int;
 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Universal Mixer
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
for(i=0; i<MAX_MOTORS; i++)
{
signed int tmp_int;
if(Mixer.Motor[i][0] > 0)
{
tmp_int = ((long)GasMischanteil * Mixer.Motor[i][0]) / 64L;
tmp_int += ((long)pd_ergebnis_nick * Mixer.Motor[i][1]) / 64L;
tmp_int += ((long)pd_ergebnis_roll * Mixer.Motor[i][2]) / 64L;
tmp_int += ((long)GierMischanteil * Mixer.Motor[i][3]) / 64L;
tmp_motorwert[i] = MotorSmoothing(tmp_int,tmp_motorwert[i]); // Filter
tmp_int = tmp_motorwert[i] / STICK_GAIN;
CHECK_MIN_MAX(tmp_int,MIN_GAS,MAX_GAS);
Motor[i] = tmp_int;
}
else Motor[i] = 0;
}
/*
if(Poti1 > 20) Motor1 = 0;
if(Poti1 > 90) Motor6 = 0;
if(Poti1 > 140) Motor2 = 0;
//if(Poti1 > 200) Motor7 = 0;
*/
}
/branches/V0.74d-acid/flightctrl.aws
1,0 → 0,0
<AVRWorkspace><IOSettings><CurrentRegisters/></IOSettings><part name="ATMEGA644P"/><Files><File00000 Name="P:\mksvn\FlightCtrl\branches\V0.74d-acid\main.c" Position="266 101 774 567" LineCol="0 0" State="Maximized"/><File00001 Name="P:\mksvn\FlightCtrl\branches\V0.74d-acid\uart.c" Position="288 130 788 566" LineCol="0 0" State="Maximized"/><File00002 Name="P:\mksvn\FlightCtrl\branches\V0.74d-acid\menu.c" Position="310 159 810 595" LineCol="0 0" State="Maximized"/><File00003 Name="P:\mksvn\FlightCtrl\branches\V0.74d-acid\timer0.c" Position="332 188 832 624" LineCol="0 0" State="Maximized"/><File00004 Name="P:\mksvn\FlightCtrl\branches\V0.74d-acid\fc.c" Position="262 71 928 748" LineCol="814 0" State="Maximized"/><File00005 Name="P:\mksvn\FlightCtrl\branches\V0.74d-acid\fc.h" Position="376 246 876 682" LineCol="0 0" State="Maximized"/><File00006 Name="P:\mksvn\FlightCtrl\branches\V0.74d-acid\TWIMASTER.C" Position="398 275 898 711" LineCol="0 0" State="Maximized"/><File00007 Name="P:\mksvn\FlightCtrl\branches\V0.74d-acid\_Settings.h" Position="420 304 920 740" LineCol="0 0" State="Maximized"/><File00008 Name="P:\mksvn\FlightCtrl\branches\V0.74d-acid\main.h" Position="266 101 766 537" LineCol="0 0" State="Maximized"/><File00009 Name="P:\mksvn\FlightCtrl\branches\V0.74d-acid\analog.c" Position="288 130 788 566" LineCol="0 0" State="Maximized"/><File00010 Name="P:\mksvn\FlightCtrl\branches\V0.74d-acid\GPS.c" Position="310 159 810 595" LineCol="0 0" State="Maximized"/><File00011 Name="P:\mksvn\FlightCtrl\branches\V0.74d-acid\spi.c" Position="332 188 832 624" LineCol="0 0" State="Maximized"/><File00012 Name="P:\mksvn\FlightCtrl\branches\V0.74d-acid\mymath.c" Position="354 217 854 653" LineCol="0 0" State="Maximized"/></Files></AVRWorkspace>
<AVRWorkspace><IOSettings><CurrentRegisters/></IOSettings><part name="ATMEGA644P"/><Files><File00000 Name="P:\mksvn\FlightCtrl\tags\V0.74d-ctrl-mod\main.c" Position="266 101 1542 590" LineCol="0 0" State="Maximized"/><File00001 Name="P:\mksvn\FlightCtrl\tags\V0.74d-ctrl-mod\uart.c" Position="288 130 1556 589" LineCol="0 0" State="Maximized"/><File00002 Name="P:\mksvn\FlightCtrl\tags\V0.74d-ctrl-mod\menu.c" Position="310 159 1578 618" LineCol="0 0" State="Maximized"/><File00003 Name="P:\mksvn\FlightCtrl\tags\V0.74d-ctrl-mod\timer0.c" Position="332 188 1600 647" LineCol="0 0" State="Maximized"/><File00004 Name="P:\mksvn\FlightCtrl\tags\V0.74d-ctrl-mod\fc.c" Position="262 71 1696 771" LineCol="763 0" State="Maximized"/><File00005 Name="P:\mksvn\FlightCtrl\tags\V0.74d-ctrl-mod\fc.h" Position="376 246 1644 705" LineCol="0 0" State="Maximized"/><File00006 Name="P:\mksvn\FlightCtrl\tags\V0.74d-ctrl-mod\TWIMASTER.C" Position="398 275 1666 734" LineCol="0 0" State="Maximized"/><File00007 Name="P:\mksvn\FlightCtrl\tags\V0.74d-ctrl-mod\_Settings.h" Position="420 304 1688 763" LineCol="0 0" State="Maximized"/><File00008 Name="P:\mksvn\FlightCtrl\tags\V0.74d-ctrl-mod\main.h" Position="266 101 1534 560" LineCol="0 0" State="Maximized"/><File00009 Name="P:\mksvn\FlightCtrl\tags\V0.74d-ctrl-mod\analog.c" Position="288 130 1556 589" LineCol="0 0" State="Maximized"/><File00010 Name="P:\mksvn\FlightCtrl\tags\V0.74d-ctrl-mod\GPS.c" Position="310 159 1578 618" LineCol="0 0" State="Maximized"/><File00011 Name="P:\mksvn\FlightCtrl\tags\V0.74d-ctrl-mod\spi.c" Position="332 188 1600 647" LineCol="0 0" State="Maximized"/><File00012 Name="P:\mksvn\FlightCtrl\tags\V0.74d-ctrl-mod\mymath.c" Position="354 217 1622 676" LineCol="0 0" State="Maximized"/></Files></AVRWorkspace>