From 96829b7306641b5c1e37022e7d4a010b3f07ac00 Mon Sep 17 00:00:00 2001 From: timecop Date: Mon, 26 Mar 2012 15:28:36 +0000 Subject: [PATCH] synced code with multiwii 2.0 release split uart2 initialization inside drv_uart. added receive data callback to use either with GPS or spektrum satellite added spektrum satellite support, also freeing up 4 motor outputs for hexa/octo/camstab configurable acc lpf and gyro lpf via cli configurable (build-time) temperature lpf on baro. seems mostly useless. fixed a nice boner bug in mag code which ended up multiplying magADC twice with magCal data. fixed mpu3050 driver to allow configurable lpf, also broke other stuff in the process. considering moving this sort of stuff to "init" struct for sensor. pwm driver rewritten to fully disable pwm/ppm inputs (such as using spektrum satellite case) cleaned up double math in gps.c to use sinf/cosf etc removed TRUSTED_ACCZ since its useless anyway whitespace cleanup git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@130 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61 --- baseflight.uvopt | 132 +- baseflight.uvproj | 10 + obj/baseflight.hex | 4958 +++++++++++++++++++++----------------------- src/board.h | 11 +- src/cli.c | 24 +- src/config.c | 6 +- src/drv_adxl345.c | 6 - src/drv_bmp085.c | 14 +- src/drv_hmc5883l.c | 21 +- src/drv_mpu3050.c | 31 +- src/drv_mpu3050.h | 1 + src/drv_pwm.c | 126 +- src/drv_pwm.h | 2 +- src/drv_uart.c | 60 +- src/drv_uart.h | 1 + src/gps.c | 57 +- src/imu.c | 93 +- src/main.c | 22 +- src/mixer.c | 8 +- src/mw.c | 101 +- src/mw.h | 11 +- src/sensors.c | 30 +- src/spektrum.c | 90 + 23 files changed, 2884 insertions(+), 2931 deletions(-) create mode 100644 src/spektrum.c diff --git a/baseflight.uvopt b/baseflight.uvopt index f06c5760b..e9ea8e709 100755 --- a/baseflight.uvopt +++ b/baseflight.uvopt @@ -73,7 +73,7 @@ 1 0 - 1 + 0 255 @@ -317,7 +317,7 @@ 1 0 - 0 + 1 255 @@ -383,7 +383,7 @@ 0 DLGUARM - (106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) 0 @@ -400,9 +400,9 @@ 0 0 - 254 + 71 1 -
134227724
+
134232388
0 0 0 @@ -410,7 +410,7 @@ 1 - \\baseflight\drv_bmp085.c\254 + \\baseflight\src/spektrum.c\71
@@ -469,6 +469,12 @@ 1 rawMagADC,0x0A + + 11 + 1 + spekChannelData + + @@ -526,10 +532,10 @@ 1 0 0 - 37 + 0 0 - 523 - 523 + 1 + 1 0 .\src\cli.c cli.c @@ -540,10 +546,10 @@ 1 0 0 - 20 + 0 0 - 149 - 162 + 102 + 125 0 .\src\config.c config.c @@ -556,8 +562,8 @@ 0 0 0 - 50 - 62 + 0 + 0 0 .\src\imu.c imu.c @@ -568,10 +574,10 @@ 1 0 0 - 43 + 0 0 - 35 - 51 + 43 + 50 0 .\src\main.c main.c @@ -582,10 +588,10 @@ 1 0 0 - 0 + 8 0 - 284 - 302 + 0 + 0 0 .\src\mixer.c mixer.c @@ -596,10 +602,10 @@ 1 0 0 - 21 + 0 0 - 560 - 587 + 15 + 26 0 .\src\mw.c mw.c @@ -610,10 +616,10 @@ 1 0 0 - 31 + 0 0 - 281 - 299 + 0 + 0 0 .\src\sensors.c sensors.c @@ -626,8 +632,8 @@ 0 0 0 - 205 - 209 + 0 + 0 0 .\src\serial.c serial.c @@ -638,10 +644,10 @@ 5 0 0 - 18 + 0 0 - 1 - 20 + 19 + 43 0 .\src\board.h board.h @@ -654,8 +660,8 @@ 0 0 0 - 248 - 280 + 252 + 288 0 .\src\mw.h mw.h @@ -666,19 +672,33 @@ 1 0 0 - 1 + 0 0 - 35 - 71 + 1 + 4 0 .\src\gps.c gps.c + + 1 + 0 + 1 + 0 + 0 + 14 + 0 + 53 + 71 + 0 + .\src\spektrum.c + spektrum.c + Drivers - 1 + 0 0 0 @@ -701,7 +721,7 @@ 1 0 0 - 65 + 0 0 0 0 @@ -729,10 +749,10 @@ 1 0 0 - 42 + 0 0 - 1 - 29 + 0 + 0 0 .\src\drv_hmc5883l.c drv_hmc5883l.c @@ -745,8 +765,8 @@ 0 27 0 - 167 - 167 + 0 + 0 0 .\src\drv_i2c.c drv_i2c.c @@ -771,10 +791,10 @@ 1 0 0 - 1 + 47 0 - 77 - 99 + 0 + 0 0 .\src\drv_pwm.c drv_pwm.c @@ -797,12 +817,12 @@ 2 19 1 - 0 + 1 0 0 0 - 0 - 0 + 153 + 190 0 .\src\drv_uart.c drv_uart.c @@ -825,12 +845,12 @@ 2 21 1 - 1 + 0 0 - 13 + 14 0 - 421 - 451 + 0 + 0 0 .\src\drv_mpu6050.c drv_mpu6050.c @@ -974,10 +994,10 @@ 1 0 0 - 0 + 9 0 - 0 - 0 + 609 + 609 0 .\lib\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c stm32f10x_usart.c diff --git a/baseflight.uvproj b/baseflight.uvproj index 74169686d..7f6d50f24 100755 --- a/baseflight.uvproj +++ b/baseflight.uvproj @@ -441,6 +441,11 @@ 1 .\src\gps.c + + spektrum.c + 1 + .\src\spektrum.c + @@ -1064,6 +1069,11 @@ 1 .\src\gps.c + + spektrum.c + 1 + .\src\spektrum.c + diff --git a/obj/baseflight.hex b/obj/baseflight.hex index 83c8b7f98..9f447cca7 100644 --- a/obj/baseflight.hex +++ b/obj/baseflight.hex @@ -1,80 +1,80 @@ :020000040800F2 -:1000000068170020E17100082172000823720008BF -:1000100025720008277200082972000800000000FD -:100020000000000000000000000000002B7200082B -:100030002D720008000000002F72000829490008F6 -:1000400033720008337200083372000833720008FC -:1000500033720008337200083372000833720008EC -:1000600033720008337200083372000833720008DC -:1000700033720008337200089B4B0008337200088B -:1000800033720008337200083372000833720008BC -:1000900033720008337200083372000833720008AC -:1000A000337200083372000833720008337200089C -:1000B00071450008834500083372000805420008B6 -:1000C000E33F0008094200080742000833720008B5 -:1000D0003372000833720008913800083372000848 -:1000E000193B00083372000833720008DFF80CD0A7 -:1000F00007F022FE00480047ED12000868170020B4 +:10000000B017002029730008697300086B7300089B +:100010006D7300086F730008717300080000000022 +:1000200000000000000000000000000073730008E2 +:10003000757300080000000077730008C5490008C8 +:100040007B7300087B7300087B7300087B730008D8 +:100050007B7300087B7300087B7300087B730008C8 +:100060007B7300087B7300087B7300087B730008B8 +:100070007B7300087B730008374C00087B73000813 +:100080007B7300087B7300087B7300087B73000898 +:100090007B7300087B7300087B7300087B73000888 +:1000A0007B7300087B7300087B7300087B73000878 +:1000B000ED450008FF4500087B7300083942000841 +:1000C000174000083D4200083B4200087B730008CF +:1000D0007B7300087B730008614E00087B73000887 +:1000E000553B00087B7300087B730008DFF80CD0D9 +:1000F00007F0A4FE004800470D130008B0170020C9 :1001000070B51546B0FBF5F60446A84203D3304659 :10011000FFF7F6FF014605FB1640F6A2105C0870DB :10012000481C70BD70B50C46911E232900D30A22CD :100130000025002804DA2D212170611C404200E0D6 :100140002146FFF7DDFF0570204670BD70B50546FE -:100150000C46086807F0EFF8024621682868BDE8F9 -:10016000704007F0F0B810B5ECA004F0E3FD0120FA -:1001700000F04BFDF0A004F0DDFD0A2004F007FCC8 -:10018000BDE81040002004F0CEBC10B5EEA004F095 -:10019000D1FD00F00FFDEFA004F0CCFD0A2004F02B -:1001A000F6FBBDE81040002004F0BDBC10B50446CD -:1001B000ECA004F0BFFD2021F04807F091F8F048D2 +:100150000C46086807F093F9024621682868BDE854 +:10016000704007F094B910B5ECA004F031FE012006 +:1001700000F04BFDF0A004F02BFE0A2004F055FC2B +:10018000BDE81040002004F01CBD10B5EEA004F046 +:100190001FFE00F00FFDEFA004F01AFE0A2004F08D +:1001A00044FCBDE81040002004F00BBD10B504462F +:1001B000ECA004F00DFE2021F04807F035F9F048DE :1001C00000210170EF4801702046BDE81040DCE7D7 -:1001D0002DE9F047064607F0AEF8C5B200F0BBFDCA +:1001D0002DE9F047064607F052F9C5B200F0BEFD22 :1001E000DFF89C9307464FF0010809F14C0955B11F -:1001F0002A46E5A1304607F0A6F8E0B1307800279E -:100200002D2829D02CE0E2A004F094FD00244546DE +:1001F0002A46E5A1304607F04AF9E0B130780027F9 +:100200002D2829D02CE0E2A004F0E2FD0024454690 :100210004FEA090656F8240058B105FA04F13942AC -:1002200001D004F087FD202004F077FD641CE4B2C7 -:10023000F0E7C0A022E0DBA004F07CFD00244D46E6 -:1002400055F824000028F4D004F074FD202004F0B8 -:1002500064FD641CE4B2F3E70127761C6D1EEDB269 +:1002200001D004F0D5FD202004F0C5FD641CE4B22B +:10023000F0E7C0A022E0DBA004F0CAFD00244D4698 +:1002400055F824000028F4D004F0C2FD202004F06A +:10025000B2FD641CE4B2F3E70127761C6D1EEDB21B :100260005FF0000459F8241039B12A46304607F0EF -:100270006AF838B1641CE4B2F4E7D0A0BDE8F047F6 -:1002800004F058BD08FA04F01FB100F05FFDD2A0E1 -:1002900002E000F0B1FCD3A004F04CFD59F82400BA -:1002A00004F048FDC5E770B50024D1A004F042FD7C -:1002B000D54D00BF04EB440655F8260004F03AFD86 -:1002C000202004F02AFD05EB8600406804F032FD92 -:1002D00098A004F02FFD641CE4B20A2CEAD370BD90 -:1002E0003EB5054607F027F8C0B208281DD1002406 -:1002F000285D06F0B3FF2855641CE4B2082CF7D340 -:100300000024C248295D07F00DF828B12819295D9D -:10031000401C07F007F808B1BDA01CE0641CE4B263 -:10032000082CEED3284600F0E9FBC1A004F002FD42 -:10033000B64BC54A0020694615181C5C95F8565006 +:100270000EF938B1641CE4B2F4E7D0A0BDE8F04751 +:1002800004F0A6BD08FA04F01FB100F062FDD2A090 +:1002900002E000F0B1FCD3A004F09AFD59F824006C +:1002A00004F096FDC5E770B50024D1A004F090FDE0 +:1002B000D54D00BF04EB440655F8260004F088FD38 +:1002C000202004F078FD05EB8600406804F080FDF6 +:1002D00098A004F07DFD641CE4B20A2CEAD370BD42 +:1002E0003EB5054607F0CBF8C0B208281DD1002462 +:1002F000285D07F057F82855641CE4B2082CF7D3A2 +:100300000024C248295D07F0B1F828B12819295DF9 +:10031000401C07F0ABF808B1BDA01CE0641CE4B2BF +:10032000082CEED3284600F0E9FBC1A004F050FDF4 +:10033000B64BC54A0020694615181C5C95F85A5002 :10034000401CC0B24C550828F6D300220A54084677 -:1003500004F0F0FC77A004F0EDFC3EBD2DE9F04187 -:10036000804606F0E8FF864DB74F10F0FF0605F116 -:10037000040512D0324684A1404606F0E4FFA8B13D -:100380005FF0000455F8241009B33246404606F0E9 -:10039000DAFF08B3641CE4B2F4E7ACA004F0CAFCD2 +:1003500004F03EFD77A004F03BFD3EBD2DE9F041E9 +:10036000804607F08CF8864DB74F10F0FF0605F178 +:10037000040512D0324684A1404607F088F8A8B19F +:100380005FF0000455F8241009B33246404607F0E8 +:100390007EF808B3641CE4B2F4E7ACA004F018FDE6 :1003A000787805EB800050F8040C1CE0ABA004F05A -:1003B000C1FC002455F8240038B104F0BBFC202017 -:1003C00004F0ABFC641CE4B2F4E75AA000E0A8A07F -:1003D000BDE8F04104F0AEBC601C7870AAA004F047 -:1003E000A9FC55F8240004F0A5FCEEE71FB5014672 +:1003B0000FFD002455F8240038B104F009FD202079 +:1003C00004F0F9FC641CE4B2F4E75AA000E0A8A031 +:1003D000BDE8F04104F0FCBC601C7870AAA004F0F9 +:1003E000F7FC55F8240004F0F3FCEEE71FB50146D6 :1003F00000200A7932B1012A07D0022A09D0032A43 :100400000DD109E08868007809E0886890F900005B :1004100005E08868008802E08868B0F900000A22D8 -:100420006946FFF77FFE684604F084FC1FBD2DE996 -:10043000F047814606F07FFF734C10F0FF0F04F188 -:10044000780420D094A1484606F056FF002837D003 -:10045000401C06F091FF80465FF0000606EB860721 -:1004600004EB870554F8270006F065FF024654F8B0 -:100470002710484606F067FF20B3761CF6B21E2E02 -:10048000ECD386A037E18DA004F054FC5FF00005AA -:1004900005EB850004EB800654F8200004F04AFCCC -:1004A0008CA004F047FC3046FFF7A0FF21A004F029 -:1004B00041FC0A2004F06BFA6D1CEDB21E2DE7D34F +:100420006946FFF77FFE684604F0D2FC1FBD2DE948 +:10043000F047814607F023F8734C10F0FF0F04F1EA +:10044000780420D094A1484606F0FAFF002837D05F +:10045000401C07F035F880465FF0000606EB860783 +:1004600004EB870554F8270007F009F8024654F812 +:100470002710484607F00BF820B3761CF6B2212E61 +:10048000ECD386A037E18DA004F0A2FC5FF000055C +:1004900005EB850004EB800654F8200004F098FC7E +:1004A0008CA004F095FC3046FFF7A0FF21A004F0DB +:1004B0008FFC0A2004F0B9FA6D1CEDB2212DE7D3B0 :1004C000BDE8F08706EB860104EB8100C368434575 :1004D0000FDC026942450CDB2A7932B1012A04D0D3 :1004E000022A01D0032A03D1F6E0AA6882F800802C @@ -86,8 +86,8 @@ :10054000672E2E2E00000000536176696E672E2EF6 :100550002E0000000D0A5265626F6F74696E672E7F :100560002E2E00000D0A4C656176696E6720434CA3 -:1005700049206D6F64652E2E2E0D0A0004030020A5 -:1005800000000020180200206C6973740000000055 +:1005700049206D6F64652E2E2E0D0A002C0300207D +:10058000000000202C0200206C6973740000000041 :10059000456E61626C656420666561747572657331 :1005A0003A200000417661696C61626C6520666585 :1005B0006174757265733A2000000000496E7661BF @@ -95,11 +95,11 @@ :1005D0002E2E2E0D0A00000044697361626C656462 :1005E00020000000456E61626C6564200000000020 :1005F000417661696C61626C6520636F6D6D616EDF -:1006000064733A0D0A000000209B0008F09D00086A +:1006000064733A0D0A00000088920008949500086F :100610004D75737420626520616E79206F72646518 :1006200072206F662041455452313233340D0A0036 :1006300043757272656E742061737369676E6D6560 -:100640006E743A200000000024030020437572728B +:100640006E743A20000000004C0300204375727263 :10065000656E74206D697865723A20004176616933 :100660006C61626C65206D69786572733A20000078 :10067000496E76616C6964206D6978657220747961 @@ -109,2535 +109,2377 @@ :1006B00065206E616D650D0A000000004375727261 :1006C000656E742073657474696E67733A200D0AE1 :1006D00000000000203D2000AA68A2F8008054F825 -:1006E000210004F027FBA7A004F024FB2846BDE866 -:1006F000F0477BE6A6A0BDE8F04704F01BBB2DE960 -:10070000FF41ADA004F016FB04F028F94FF47A7114 +:1006E000210004F075FBA7A004F072FB2846BDE8CA +:1006F000F0477BE6A6A0BDE8F04704F069BB2DE912 +:10070000FF41ADA004F064FB04F076F94FF47A7178 :10071000B0FBF1F00A226946FFF704FD684604F0D9 -:1007200009FBA9A004F006FBAC480A226946007840 -:10073000FFF7F8FC684604F0FDFAA9A004F0FAFA05 +:1007200057FBA9A004F054FBAC480A2269460078A4 +:10073000FFF7F8FC684604F04BFBA9A004F048FB67 :10074000AA480A2269460078FFF7ECFC684604F0E4 -:10075000F1FAA7A004F0EEFA00F0EDFA0646A8A020 -:1007600004F0E8FA0024AB4F012500BF57F824003D -:1007700058B105FA04F1314201D004F0DBFA20202F -:1007800004F0CBFA641CE4B2F0E7AFF2582004F0B6 -:10079000D1FAA1A004F0CEFAA3480A226946008843 -:1007A000FFF7C0FC684604F0C5FAA0A004F0C2FA46 -:1007B00003F0ABFD0A226946FFF7B4FC684604F07B -:1007C000B9FAAFF2902004F0B5FABDE8FF819BA022 -:1007D00004F0B0BA2DE9FF5FDFF8949299F80000B9 -:1007E00038B9012189F80010A2A004F0A3FA00F0A2 -:1007F000C6F8DFF820A2DFF8B4B2AAF1780A00BF89 -:1008000004F069FA00286FD004F072FA092806D0C3 +:100750003FFBA7A004F03CFB00F0F0FA0646A8A07F +:1007600004F036FB0024AB4F012500BF57F82400EE +:1007700058B105FA04F1314201D004F029FB2020E0 +:1007800004F019FB641CE4B2F0E7AFF2582004F067 +:100790001FFBA1A004F01CFBA3480A2269460088A5 +:1007A000FFF7C0FC684604F013FBA0A004F010FBA8 +:1007B00003F0C5FD0A226946FFF7B4FC684604F061 +:1007C00007FBAFF2902004F003FBBDE8FF819BA084 +:1007D00004F0FEBA2DE9FF5FDFF8949299F800006B +:1007E00038B9012189F80010A2A004F0F1FA00F054 +:1007F000C6F8DFF820A2DFF8B4B2AAF17C0A00BF85 +:1008000004F0B7FA00286FD004F0C0FA092806D027 :100810003F2804D09AF800105446B9B34EE0A44FD4 :10082000002425469AF8006007F178080CE000BF24 -:100830009AF8002022B19D48396806F084FD10B96D +:100830009AF8002022B19D48396806F028FE10B9C8 :1008400004B93C463D460C374745F1D3A4B1504668 :100850005F46017822682B68525C5B5C9A420BD140 :100860001AB17A54491C0170F3E72022CBB2491C1B :100870000BF803208AF800109AF80000574608B1D8 -:10088000AC4210D08BA004F055FA07E014E02068C9 -:1008900004F050FA092004F040FA0C34AC42F6D9C6 +:10088000AC4210D08BA004F0A3FA07E014E020687B +:1008900004F09EFA092004F08EFA0C34AC42F6D92A :1008A00000F06DF800265C4638788642A8DAA05D34 -:1008B00004F033FA761CF7E7042810D00C2814D083 +:1008B00004F081FA761CF7E7042810D00C2814D035 :1008C00019B10A2815D00D2813D07F283ED0202931 :1008D00096D2202894D37E2892D8B1B345E004B0B4 -:1008E0007248BDE8F05F61E447E074A004F022FACA -:1008F00028E0AFF2C03004F01DFA207800255E46F3 +:1008E0007248BDE8F05F61E447E074A004F070FA7C +:1008F00028E0AFF2C03004F06BFA207800255E46A5 :100900000BF800507048CDE9000B0C230A2268490F -:10091000029501A806F0A8FC070007D0386806F089 -:100920000AFD3044B968401C884702E067A004F023 -:1009300001FA20215D4806F0D3FC257099F80000EB +:10091000029501A806F04CFD070007D0386806F0E4 +:10092000AEFD3044B968401C884702E067A004F07F +:100930004FFA20215D4806F077FD257099F80000F8 :1009400000281AD000F01BF85AE70CE00029FBD071 :10095000491ECAB200208AF800200BF8020064A0E9 -:1009600004F0E8F94CE72028EED00BF80100491C10 -:100970008AF8001004F0D1F942E7BDE8FF9F5DA0BE -:1009800004F0D8B92073657420746F200000000053 +:1009600004F036FA4CE72028EED00BF80100491CC1 +:100970008AF8001004F01FFA42E7BDE8FF9F5DA06F +:1009800004F026BA2073657420746F200000000004 :100990004552523A2056616C7565206173736967E0 :1009A0006E6D656E74206F7574206F662072616E57 :1009B00067650D0A0000000053797374656D20555A :1009C0007074696D653A2000207365636F6E64739F -:1009D0002C20566F6C746167653A20002501002059 -:1009E000202A20302E31562028000000A8010020A7 +:1009D0002C20566F6C746167653A20002901002055 +:1009E000202A20302E31562028000000C00100208F :1009F000532062617474657279290D0A0000000049 :100A000044657465637465642073656E736F727397 -:100A10003A200000780000204379636C6520546917 -:100A20006D653A2000000000260100202C2049328C +:100A10003A2000007C0000204379636C6520546913 +:100A20006D653A20000000002A0100202C20493288 :100A300043204572726F72733A2000004166726FF4 :100A4000333220434C492076657273696F6E2032D1 -:100A50002E302D70726533204D6172203235203278 -:100A6000303132202F2030303A34323A32380000E0 -:100A7000180200200D0A456E746572696E67204386 +:100A50002E302D70726533204D6172203237203276 +:100A6000303132202F2030303A31383A35360000DC +:100A70002C0200200D0A456E746572696E67204372 :100A80004C49204D6F64652C207479706520276572 :100A90007869742720746F2072657475726E2C20CB -:100AA0006F72202768656C70270D0A000403002010 -:100AB000209B00080D1B5B4B000000001B5B324AB3 +:100AA0006F72202768656C70270D0A002C030020E8 +:100AB000889200080D1B5B4B000000001B5B324A54 :100AC0001B5B313B314800004D0100084552523A52 :100AD00020556E6B6E6F776E20636F6D6D616E6407 :100AE0002C20747279202768656C70270000000044 :100AF000082008000D0A2320000000002DE9F04125 -:100B000005460446954E964F09E0944806F00AFCC7 -:100B100020B1611B801B384480F85610641C21787A -:100B20000029F2D1BDE8F08170B57C228D498C4856 -:100B300006F0BDFB8A498C4E002091F8212091F8E7 +:100B000005460446974E984F09E0964806F0AEFC1D +:100B100020B1611B801B384480F85A10641C217876 +:100B20000029F2D1BDE8F08170B580228F498E484E +:100B300006F061FC8C498E4E002091F8212091F83E :100B4000204040F2E24500BF00FB00F3193B534355 :100B500003F6C4134343634393FBF5F326F81030C5 -:100B6000401CC0B20728EFD3B1F86E204FF47F735A +:100B6000401CC0B20728EFD3B1F872204FF47F7356 :100B70004FF4FA609A4201D21A4602E0824200D94A -:100B80000246A1F86E20B1F870209A4201D21A46AE -:100B900002E0824200D90246A1F87020B1F872202A +:100B80000246A1F87220B1F874209A4201D21A46A6 +:100B900002E0824200D90246A1F87420B1F8762022 :100BA0009A4201D2184602E0824200D81046A1F8CB -:100BB000720070BD70B506F0EEF8342006F0F9FA58 -:100BC000684D284606F022F904280AD1644E002414 -:100BD0006019315906F0B9F9042802D1241D7C2C82 -:100BE000F6D306F0E4F8FFF79FFFBDE8704001225E -:100BF00014210F2000F0D6BF59494A6802434A60C9 -:100C00007047574900204860704770B555490A78C9 -:100C10005649097808B98A427AD0514C03200025F8 +:100BB000760070BD70B506F092F9342006F09DFB0A +:100BC0006A4D284606F0C6F904280AD1664E00246C +:100BD0006019315906F05DFA042802D1241D802CD9 +:100BE000F6D306F088F9FFF79FFFBDE870400122B9 +:100BF00014210F2001F006B85B494A6802434A609D +:100C00007047594900204860704770B557490A78C5 +:100C10005849097808B98A427DD0534C03200025F1 :100C20002170607002206560FFF7E6FF28202072C7 :100C30001E2121741722227660726174627655211A :100C4000A172A574A5761021E1720F21E17407222B :100C5000E276322262736575617725732575257793 :100C60005A21A1732D21A1756422A277E07384F823 :100C70002010412084F8210084F8225084F8235069 -:100C800084F8245000202118401C01F83C5FC0B2B9 -:100C9000CD720B28F7D304F15004354824F81E5CBC -:100CA00024F81C5C44F8180CA5704FF06E00E0703E -:100CB0004FF02B0020714FF0210060712DA0FFF745 -:100CC0001DFFA57340F2DC50208240F24C4161824E -:100CD00040F26C71A18240F27E41E18240F23A71B1 -:100CE00021834FF47A71618301212177E08320848D -:100CF00060844FF47F70A0844FF4FA60E0840A208F -:100D000084F8280084F82900BDE8704052E7FFE726 -:100D100070BD16494968014201D00120704700208A -:100D2000704712494A6802434A6070470F494A684F -:100D300082434A6070470D484068704708494968D7 -:100D4000014201D0012070470020704704494A68E1 -:100D500082434A607047024840687047F09D00082F -:100D60002403002000FC00088804002090000020DC -:100D70000314140041455452313233340000000052 -:100D8000FE4810B5008806F076FDFD4AFD4B06F0E2 -:100D900074FC06F0AAFDFC4948800420FFF7B9FF67 -:100DA000002803D0BDE8104002F047B810BD10B5D0 -:100DB00007F03CFE06F0CFFDF44AF54B06F05DFC73 -:100DC00006F093FD00B210BD2DE9F04706460C4633 -:100DD000D6E9007080464868B568414606F031FBA8 -:100DE00081463946206806F02CFB494606F0D1FAC8 -:100DF000294606F023FBB0604146A06806F021FBBF -:100E000081462946206806F01CFB494606F013FB84 -:100E1000394606F0BEFA30603946A06806F011FB8C -:100E200007462946606806F00CFB394606F0B1FA21 -:100E3000414606F0AEFA7060BDE8F0872DE9FF5F2D -:100E4000002503F079FDD04C0646A069301A06F063 -:100E500012FDD04AD04B06F010FC06F0BBFD03900B -:100E6000A6610026E94604F1440A04F13E0804F1B3 -:100E70004A0B04F1500700BF3AF9160006F0DCFCFB -:100E8000039906F0DEFA49F8260038F91610A1EBAE -:100E900021123BF81610114409B2081128F8161057 -:100EA00000FB005527F816000420FFF732FF761CE0 -:100EB000F6B2032EE0D364204543B048694600886B -:100EC000404395FBF0F6B548FFF77EFF0420FFF79F -:100ED00020FF20B1B14869460C30FFF775FFB7F924 -:100EE0000000002800DC4042B4F9021088420CDA0D -:100EF000B7F90200002800DC4042884205DAB7F961 -:100F00000400002801DD012000E00020253EA34D63 -:100F100020709F2E02D310F0FF0F1BD0DFF88082CD -:100F2000DFF88092002400BF37F9140006F084FC3B -:100F3000064655F82400414606F083FA314606F08D -:100F400028FA494606F07DFA45F82400641CE4B20C -:100F5000032CE9D30420FFF7DCFE904E0C36F8B1E9 -:100F6000DFF82482DFF84092DFF840A2002408F185 -:100F7000560800BF38F9140006F05EFC074656F824 -:100F80002400494606F05DFA394606F002FA514659 -:100F900006F057FA46F82400641CE4B2032CE9D3A7 -:100FA000A9682868FFF703FF774C0E342080D5E945 -:100FB0000101FFF7FCFE60800420FFF7AAFE002875 -:100FC00022D0B4686868214606F03BFAAF688046D4 -:100FD0007168384606F035FA414606F02CFA80462C -:100FE0003846316806F02DFA06462146286806F094 -:100FF00028FA314606F01FFA4146FFF7D8FE0A21CB -:1010000090FBF1F06A490880BDE8FF9F2DE9FF5F82 -:101010000120FFF77EFE18B101F019FEFFF70EFF69 -:1010200001F0C7FE584C00206F46443434F81010CD -:1010300027F81010401CC0B20328F7D303F07CFC43 -:10104000514E706100F0D8FD03F076FC716940F2FA -:101050008A25401AA84204D956490888401C0880AD -:1010600005E003F069FC7169401AA842F9D301F068 -:10107000A0FEDFF814A10025B946A0460AF1320A05 -:101080000DF1080B0327AAF1060400BF38F815106C -:1010900039F81500084400B22BF815003AF915206C -:1010A0000244521C92FBF7F200EBD07024F815209A -:1010B00040102AF815000120FFF72BFE20B9324915 -:1010C00000204A3121F815006D1CEDB2032DDDD34F -:1010D0008020FFF733FE384A00B32B490A310878E5 -:1010E00028B9906B020C0A70020A4A708870264D6B -:1010F000002038350A5C34F9106035F91070531E41 -:1011000007FB03635B1C93FBF2F224F8102025F825 -:101110001020401CC0B20328ECD375E7507801289A -:10112000FBD1B6F90810B4F90400012202EB410129 -:10113000084490FBF7F0A080308165E7F0B51F48C8 -:1011400001681148C269914270D346F2A812114455 -:10115000C1610A23026A114C92FBF3F290F901106B -:10116000183413B201F11402282592FBF5F734F973 -:10117000116005FB172224F8113021E0CC0100207A -:10118000DF4F8D976E12DB3F980000203B597E9019 -:10119000A9E781403DAF940F6BC7353EA003002007 -:1011A00000009B4308BA523B000048435E06A33B45 -:1011B00014020020A2010020240300204801002086 -:1011C000D2B2491C34F9122049B2941B9B1A002652 -:1011D0004170282900DB46702A491C1B03EB83035E -:1011E000CA7E5B00624392FBF5F2142493FBF4F396 -:1011F000524212B282804362846AE31A002B01DDFC -:101200001C4600E05C420A2C03DA0932122A00D89C -:101210008680CA7A5442B3EB440F02DA5400644227 -:1012200006E0B3EB420F02DD540001E029E01C466A -:101230006243642492FBF4F28488224412B26FF079 -:1012400095048280A24201DA224602E0962A00DD5D -:1012500096228280C97C5943322391FBF3F1C388E3 -:10126000194409B2084BC180994202DB5B429942A2 -:1012700000DD1946C1804FF4FA7391FBF3F111447C -:101280008180F0BD24030020D08AFFFF2DE9F041CA -:101290004B48007808B1022500E0002503F0F8FA79 -:1012A000401B4849C6B2102008602C46464F06E055 -:1012B000B7F86810204603F0DBFA641CE4B2B442CD -:1012C000F6D340F6B83003F062FB2C464FF47A7543 -:1012D00005E02946204603F0CBFA641CE4B2B44290 -:1012E000F7D3BDE8F041042003F0FABB03F05AFB4A -:1012F000FFF71AFC0020FFF788FC0720FFF711FD1D -:1013000000F06AF80820FFF719FD04460120FFF7F6 -:1013100015FD2B49097801B10121224603F033F96B -:1013200008B1FFF7B3FF27494FF01008C1F800805C -:101330000E1F4FF00809C6F80090DFF890A00024B7 -:10134000351F8F14AAF1040B286880F01000286064 -:10135000286880F008002860192003F018FBCAF8FC -:101360000070192003F013FBCBF80070641CE4B28A -:101370000A2CE9D3C6F80090C6F8008001F02EFBD5 -:10138000FFF7FEFC0220FFF7D9FC08B101F079FB62 -:101390000120FFF7D3FC30B14FF40070FFF7CEFC13 -:1013A00008B102F085FA03F0C7FA09490860094953 -:1013B0004FF4C870A1F8000000F02EFEFCE700001A -:1013C000FD000020140C01402403002014080140FB -:1013D0004C010020CA01002070B5F94E0125F94CDE -:1013E0007078042805D0012803D0052801D00828EA -:1013F00000D165702020FFF7A1FC18B94020FFF74D -:101400009DFC00B16570707812280DD2DFE800F005 -:101410000C0F11110D0913130B11131515150C0CCD -:101420000C1100200AE0257070BD022006E00320A8 -:1014300004E0042002E0062000E00820207070BDD7 -:1014400070B5E048407800281AD0DD4DDD4C687852 -:101450000834012807D0042805D02188002003F093 -:1014600007FA618807E02189002003F001FA687813 -:10147000042805D16189BDE87040012003F0F8B966 -:1014800070BD2DE9F041CF4E0025707800B10225E6 -:101490000024CD4F08E000BF601937F81410C0B227 -:1014A00003F0E6F9641CE4B230788442F4D3BDE87A -:1014B000F081C44A0021C44B127803E023F81100E4 -:1014C000491CC9B29142F9D3DBE72DE9F04FBD4881 -:1014D000BE4DA1B00078032823D9BD48B5F904203A -:1014E000B0F904004142002801DD034600E00B464C -:1014F0006FF06304E31A9A4204DA002800DC08461D -:10150000221A0DE0002801DD034600E00B4664339B -:101510009A4205DD002801DD024600E00A466432F9 -:10152000AA80A7480322AA4C4678A848DFF898A2C8 -:10153000B0F902108B0093FBF2F30F93B4F906405D -:10154000234403934B005B4293FBF2F71C97B0F9E3 -:10155000009004EB010804EB0902B8180A90601A25 -:10156000A4EB0903089058180490C9F1000000EB9F -:10157000D070119001EBD17740101E9700EB6707F8 -:1015800009974F4207EBD77700EB67000590179755 -:1015900009EBD9701A901E9F401000EB6707069761 -:1015A000179FA2EB010E00EB670020441F908448B8 -:1015B0001C9FA3EB010B90F96C0007EB030C122EA0 -:1015C00030D2DFE806F02F304C5E09FC82A1FB73BD -:1015D000C2E0FAF92F2F2FF8AAF80020AAF802305B -:1015E000B5F904504FF47F7300FB051202F2DC5290 -:1015F0009A4201DA1A4604E04FF4FA64A24200DD8E -:101600002246704C68430834401A00F2DC502281B4 -:10161000984201DA184604E04FF4FA61884200DD8E -:1016200008466081ECE1039AAAF80020AAF802C0FB -:101630000A9A6349AAF80420B5F90420B1F8721097 -:1016400000FB02104FF47F71884203DB4FF4FA6114 -:10165000884200DD08465B4908310881D0E1B5F9D0 -:10166000044000FB148500FB0433AAF8005000FB83 -:101670000422AAF80230AAF80420089A00FB1420D9 -:1016800011E0B5F90430049C00FB031100FB134585 -:10169000AAF8005000FB03B5AAF80250114400FB61 -:1016A00013E0AAF80410AAF80600A9E1B5F904208D -:1016B00000FB1283AAF8003000FB0280AAF802B0F7 -:1016C000AAF80400AAF806E09AE1B5F904300F99E7 -:1016D00000FB03440C44AAF8004000FB13C4AAF822 -:1016E00002400A9C00FB1344AAF80440039C00FB40 -:1016F0001344AAF8064000FB03C4AAF808401C9C47 -:1017000000FB034010441DE0B5F90420099900FBDB -:1017100002435D18AAF80050059D2C4400FB1244BA -:10172000AAF80240069C2344AAF804301F9B00FB41 -:101730001233AAF80630089B00FB023300FB12802C -:10174000AAF80830AAF80A005AE1B5F90450099934 -:1017500000FB05467718AAF80070059F00FB1533BB -:101760003E44AAF80260069E344400FB1544AAF8E1 -:1017700004401F9C00FB1544AAF8064000FB05200E -:10178000AAF80830DEE7B5F90440049E00FB041710 -:1017900000FB1466AAF8006000FB04B6AAF8026019 -:1017A000D619AAF8046000FB14E6AAF806603B44C8 -:1017B000AAF808300EE093E057E017E0E6E0AEE06C -:1017C00024030020FC0000200804002094010020D5 -:1017D0009A01002000FB14B3114400FB1411AAF875 -:1017E0000A3000FB04E0AAF80C103BE0AB46C9EB62 -:1017F000C9050A2695FBF6F7A1EBC10595FBF6F5A1 -:101800000695BBF904B007EB050C00FB0B4E0CEB87 -:101810000E04AAF80040A9EBC90494FBF6FCC1EB46 -:10182000C10191FBF6F1069D654405EB0E040CEB3E -:101830000105AAF8024005EB0E043944AAF8044059 -:101840007144AAF80610089900FB1B11AAF80810A9 -:1018500000FB1B3100FB1B83AAF80A1000FB1B20B6 -:10186000AAF80C30AAF80E00CAE0B5F904C0179D1A -:1018700000FB0CF606EB65051544AAF80050119D17 -:1018800004EB65056F1A00FB0C75AAF802501E9D4B -:1018900003EB650700FB0C75AAF804501A9D06EBD4 -:1018A00065054544AAF806501A9D04EB6504611AC3 -:1018B00000FB1C14AAF80840179903EB610100FB18 -:1018C0001C11AAF80A10119908EB610100FB1C1108 -:1018D000AAF80C101E9902EB610100FB1C10C1E775 -:1018E000B5F904104843414201EBD17108EB6102A4 -:1018F000AAF8002043000A2293FBF2F404EB0B0346 -:10190000AAF8023000EBD0734000404290FBF2F2A4 -:1019100008EB6303AAF8043002EB0E00C3E6994813 -:10192000994A40F2DC5690F97810B2F902305943E6 -:10193000964BCD1701EB1571B3F9024006EB21115F -:1019400021444FF47F75A94201DA294604E04FF49F -:10195000FA64A14200DD21468D4C218090F9790086 -:10196000B2F900104843C217B3F9001000EB12702F -:1019700006EB20100844A84201DA284604E04FF4A0 -:10198000FA61884200DD0846608039E08148AAF8A3 -:101990000040007868B180487A494288B1F8601008 -:1019A0000088541A431A7A481C44891A048019443E -:1019B00005E0774801EB0902A9EB010102804180B3 -:1019C0007349704BB1F90000B3F86E2002444FF434 -:1019D0007F70824201DA024604E04FF4FA64A242C8 -:1019E00000DD22460A80B1F90220B3F870301A44B3 -:1019F000824204DB4FF4FA60824200DC10464880E9 -:101A00002020FFF79BF9654FC8B363496048B1F9DF -:101A10000C500580B1F90E404480F978B9B1594AAB -:101A2000594B92F97810B3F902607143CE1701EB6C -:101A3000167105EB2111018092F97910B3F900209C -:101A40005143CA1701EB127104EB21114180B0F927 -:101A500000104FF47F72914201DA114604E04FF416 -:101A6000FA63994200DD19460180B0F902109142F3 -:101A700003DB4FF4FA62914200DD114641804020C1 -:101A8000FFF75CF9B8B1424C0125083CA078012869 -:101A90000ED1E078B8B14FF47A76012819D002F06F -:101AA0005DFF6168401AB04202D90020E070A0706A -:101AB000387900B1A570364F0121083F5546BAF973 -:101AC00000603A781DE032494FF4FA608880E57092 -:101AD0000BE002F043FF6168401AB042E8D92C499C -:101AE0004FF47F7088800220E07002F037FF606062 -:101AF000DEE700BF35F91100B04200DD0646491CA3 -:101B0000C9B29142F6D3002435E01E4AB2F868000B -:101B1000B04205DA35F81410331AC91A25F8141032 -:101B200035F91410B2F86630994201DA184602E02D -:101B3000814200DC084625F8140017489046B0F9A9 -:101B40000610B2F86200814208DA1020FFF7F6F8BA -:101B500040B1B8F86A0000BF25F8140010480078BA -:101B600018B106E0B8F86600F6E7B8F86A0025F89C -:101B70001400641CE4B238788442C6D321B0BDE8B6 -:101B8000F08F000024030020A60000209A0100200E -:101B90000401002018010020780400209604002091 -:101BA000190100202DE9F74FDFF838A407469046C9 -:101BB0000025DFF82C944FF48056AAF1040B17E0AF -:101BC00000240EE0D9F8001081F00801C9F80010D7 -:101BD000CAF80060019802F0DAFECBF80060641CDD -:101BE000E4B2BC42EED33C2002F0D1FE6D1CEDB25B -:101BF0004545E5D3BDE8FE8F2DE9F84FFA4A0024AC -:101C000040F2DC53B2F90690F84D4FF4FA71994561 -:101C100001DA64200DE0F548B9F5FA6F90F8240078 -:101C200004DAA9F2DC53584390FBF1F0C0F16400F0 -:101C3000C0B2AB46824695F85E50BBF86030DFF824 -:101C4000B0E30020E84940F2E63631F910C0ACEBD1 -:101C5000030101F2F312B24204D8002904DCA3EB21 -:101C60000C0101E04FF4FA7189B2D8462DB18D42D2 -:101C700002D2491B89B200E00021022829D0642247 -:101C8000B1FBF2F2D84E103606EB420736F912607D -:101C9000B7F902700096BE1B6FF018077A4301EB8C -:101CA00082025643642296FBF2F2009E32442EF8E2 -:101CB000102098F822204A434FF4FA71B2FBF1F158 -:101CC000C1F16401C9B201FB0AF16422B1FBF2F176 -:101CD0000AE0AEF8041098F823204A434FF4FA7152 -:101CE000B2FBF1F1C1F164018044C9B298F8086017 -:101CF00064224E43B6FBF2F6BD4F5A3F3E5498F86D -:101D000018604E43B6FBF2F1FA1C9C45115404DAFC -:101D10003EF8102052422EF81020401CC0B203287A -:101D200090D30BF16600B24D42880188BBF8620087 -:101D3000A2EB0102A9EB000302FB03F2C0F5FA607B -:101D400092FBF0F00844A5F18605AEF80600E878AD -:101D50007646C8B3A748B5F92010B0F90000401A7C -:101D600005F06AFDA44905F06CFB074606F0DEFFAE -:101D70008146384607F0E8FD8046B6F9000005F0D8 -:101D80005BFD4146009005F05CFB0746B6F902009A -:101D900005F052FD8246494605F053FB394605F0F1 -:101DA000F8FA05F075FD07464146504605F049FB37 -:101DB00080464946009805F044FB414605F03BFB50 -:101DC00005F066FD308077800220FEF7B7FF002621 -:101DD0004FF00108B8B3E87A401CC0B20621B0FB4E -:101DE000F1F2E87201FB1200C0B901F03EFE697B1E -:101DF0007D4A01F00703603A491C22F81300697319 -:101E00005FF0000032F81010401C2144C0B28CB2C8 -:101E10000828F7D3E00800F01CFE68747248714986 -:101E20001E30091F827A4FF480500AB107220CE05D -:101E30006A7C6B8D9A4203D89BF85530934203D944 -:101E40002E732E7008601BE004222A732A7852B188 -:101E5000EB6B6A6B03F5743390339A4210D92E7092 -:101E60000860EA630CE02A7B6449D140EA6B0A44CB -:101E7000696B8A4204D25B4A85F800801060E9638E -:101E80005F48604F564C008818B10120FEF741FFB3 -:101E900010B95D48008820B1206880F008002060FB -:101EA0000BE039780820012902D14D49091D08604D -:101EB000697911B14A49083108604FF48070FEF722 -:101EC0003DFF48B1696C686B884205D94CF25031CE -:101ED0000844686402F04EFF296C686B884204D99C -:101EE0004A490978C1B187F8008001F0BEF8102096 -:101EF000FEF70FFF00280DD0A96C686B884209D946 -:101F0000A97A012906D142490844A864206880F0D2 -:101F100010002060BDE8F88F3E70216881F0080154 -:101F200021603C4908442864DFE7314A002110B5AC -:101F3000863A91822D49084490F8560002F0A3FC9D -:101F4000A0F2EE2140F2DD52914200D3501E10BDAE -:101F50002DE9F047264E0024863E234FB07BDFF864 -:101F60008880401C503FB073A14607F140052046D1 -:101F7000FFF7DBFFB27B07EBC40102F0030221F89D -:101F8000120025F81490002035F8143031F8102094 -:101F9000401C1A44C0B225F814200428F4D335F9A3 -:101FA0001400801CC11700EB9170801025F81400FC -:101FB00038F914204146D21E904202DA821C21F8E0 -:101FC000142031F91420D21C904202DD801E28F822 -:101FD0001400641CE4B2082CC9D3BDE8F0870000EB -:101FE0000C0C014014080140780400202403002058 -:101FF0009A0100201402002039FA8E3C80841E00D1 -:10200000C8010020C2010020CA0100209800002061 -:10201000F049020020A107002DE9FF5FDFF80094DE -:102020000125DFF800A4D9F83410D9F850000024B5 -:10203000814276D944F620621144C9F85010FFF766 -:1020400087FFF94EDFF8E4B34FF4C878B6F906001D -:10205000BBF8621088426FDA09F17A004F460480BB -:10206000448084802E38DC460480448099F80F0038 -:10207000401CC0B289F80F00B6F904208A4205DA84 -:10208000B6F902308B4201DA797991B1BBF864106C -:10209000D8468A4206DDB6F9022063468A4201DD4F -:1020A000797961B10420FEF749FEC8B37879F8B1B7 -:1020B00049E0142802D1DE48A0F80080DFE01428AF -:1020C00015D15978DB48012902D0082904D00BE04A -:1020D00040F2DC51418105E0B3F86E100180B8F8A0 -:1020E00070104180FFF7ACF902F026FCB863C6E03F -:1020F000B6F90410B8F86220914224DAB6F9021059 -:10210000B8F8640081421EDDB6F9001081421ADD84 -:10211000F87B142803D1788B20B17C83BD83AEE09B -:1021200011E0E7E1388D28B10020388528B102227E -:10213000012104E00120F8E74DE003220A210A20F2 -:10214000FFF730FD9BE098F84110404611B990F838 -:102150004C1071B1B4481E30407930B1B87920B11B -:102160007D71BAF8000038842BE0787948B37C712F -:1021700027E0B6F90410B0F86220914203DBB6F90B -:102180000030934202DA7A79012A0ED0B8F864005E -:10219000814203DCB6F90010814212DDB6F902106B -:1021A00081420EDA787928B10BE0F87B142866D1E9 -:1021B0007C7164E09E48008818B99F480078012827 -:1021C00001D0FC735BE0F87B142858D17D71BAF81C -:1021D0000000388453E0BBF86420DC4690424EDDBA -:1021E00099F8053048467BBBB6F904308B420ADAD1 -:1021F000B6F902708F4206DAC17B14290ED18F4ADC -:10220000A2F800800AE093420CDDB6F902308B425E -:1022100008DAC17B142901D1894A1570491C89F853 -:102220000F102CE0B6F902304FF48077934203DDB3 -:10223000BCF83400801C04E08B4206DABCF83400A1 -:10224000801EABF834000FE019E0B6F9003093427D -:1022500003DDBCF83200801C04E08B420DDABCF8D0 -:102260003200801EABF83200FEF7A4FC3846FEF7C1 -:1022700065FD20B102F0DFFD01E089F80F40042088 -:10228000FEF75CFD28B3B9F828204846322172B128 -:102290004279012A0BD1B6F90630BBF8622093428D -:1022A00005DD614A1E3252790AB9018304855E4A0E -:1022B0001E32127A2AB1028D5AB90585A9F8181072 -:1022C00007E0418B29B1417919B904854483A9F804 -:1022D0001C5055490020B1F90820B1F90A30A2F28A -:1022E000155EA3F21551009140F21451DFF838C188 -:1022F0008A4201DA012700E000274FF4C77BDE4560 -:1023000001D8012600E0002647EA460740F2A4660D -:10231000E046B24202DD4FF0010C01E04FF0000C4C -:1023200047EA8C078B4202DA4FF0010C01E04FF0D4 -:10233000000C47EACC0C009F5F4501D8012700E064 -:1023400000274CEA0717B34202DD4FF0010C01E011 -:102350004FF0000C47EA4C1C344F0744019797F8A4 -:102360003C701CEA070F3BD1B8F90C80884502DAB3 -:102370004FF0010C01E04FF0000CA8F215575F453B -:1023800001D8012700E000274CEA470C4746B04639 -:10239000474501DD012600E000264CEA8607224E73 -:1023A000B6F90E608E4202DA4FF0010C01E04FF0F8 -:1023B000000C47EACC0CA6F215575F4501D801275F -:1023C00000E000274CEA0717464501DD012600E042 -:1023D000002647EA4616019F97F847703E4201D013 -:1023E000012700E00027104E1E363754401CC0B2B3 -:1023F0000B28FFF47BAF3746387818B9B9F91400C9 -:1024000032281FDD0120FEF784FCD8B199F80700BF -:10241000D0B903484C300480448089F8075013E059 -:10242000140100201402002078040020240300205E -:10243000CA01002004010020C2010020C8010020C0 -:10244000C401002089F80740787908B989F8065056 -:1024500099F8071010204E4601290AD0FE4908605D -:102460000220FEF756FCA8B1787890B1707A18B1C6 -:1024700010E0F949091DF2E7F848F949757200685A -:102480000860F848C088F083F7480480F748048063 -:1024900000E074720420FEF73CFC88B1B87838B1D3 -:1024A000307A30B9F2483572BAF80010018000E095 -:1024B0003472787A18B1F07810B9F57000E0F470E1 -:1024C0001020FEF726FC78B1B87908B1757000E0ED -:1024D0007470F87938B1B07830B9B570706DF06556 -:1024E000B06D306600E0B470387A08B135710CE038 -:1024F00034710AE099F91010E9B301294BD002298F -:1025000055D003295ED089F81040FEF77FFD02F018 -:1025100013FAC9F83400D9F83820821AA9F8122021 -:10252000C9F8380002F044FD0420FEF7F2FB38B38E -:10253000CC49B1F9042002F145008A2846D899F81F -:10254000080098B3CA48BAF800300088181A00B2D8 -:1025500010F1B40F02DC00F5B47000B2B42802DB55 -:10256000A0F5B47000B2C34B1B784BB1C24BDB7B00 -:1025700043431E2000E004E093FBF0F0101A888033 -:1025800028E089F810500420FEF7C3FB0028BCD0D7 -:1025900000F08DFCB9E7022189F810100846FEF71B -:1025A000B8FB0028B1D000F05DFBAEE70EE00321E0 -:1025B00089F810100220FEF7ACFB0028A5D0FEF72A -:1025C000BDFDA2E7042189F810109EE7A848BAF8DB -:1025D000001001800220FEF79CFB90B199F80900E1 -:1025E000494670B19F48B1F91E20B0F906309B1AD8 -:1025F0001433282B01D989F809409C4909881144D2 -:10260000C1801020FEF785FBDFF858B2ABF1220B3A -:10261000F0B3002599F8012099F802302946484680 -:1026200052EA030604D0867A16B1012A05D007E0E3 -:10263000ABF80040ABF80240FCE0458CB0F9161056 -:10264000012B02D1858CB9F92610BAF90000081ABD -:1026500005F0F2F8894904F0F4FEDFF81CA2074601 -:102660006FF009019AF81D00484305F0F3F8CDE931 -:102670000201284605F0FFF805460E46384605F0EB -:102680006AF90746884607F007F9CDE9000100E03E -:10269000D0E09AF80D0005F0EEF8DDE9002304F033 -:1026A000ECFF2A46334604F0E8FF0022744B05F0A5 -:1026B00054F8DDE9022305F065F99AF81D0005D20A -:1026C0006FF00901484305F0C5F83FE000EB8000DA -:1026D000400005F0D0F8CDE902013846414607F048 -:1026E000DBF8CDE900019AF80D0005F0C4F8DDE94A -:1026F000002304F0C2FF2A46334604F0BEFF002246 -:102700005F4B05F02AF8DDE9022305F04FF907D207 -:102710009AF81D0000EB8000400005F0ACF815E0D1 -:102720003846414607F0B8F8CDE900019AF80D00A7 -:1027300005F0A1F8DDE9002304F09FFF2A463346A7 -:1027400004F09BFF00224E4B05F007F805F0CDF892 -:10275000ABF800009AF81D006FF00901484305F03E -:1027600079F8CDE902013846414606F089FACDE90B -:1027700000019AF80D0005F07EF8DDE9002304F071 -:102780007CFF2A46334604F078FF00223C4B04F0DD -:10279000E4FFDDE9022305F0F5F89AF81D0005D203 -:1027A0006FF00901484305F055F83FE000EB800069 -:1027B000400005F060F8CDE902013846414606F0D8 -:1027C0005FFACDE900019AF80D0005F054F8DDE953 -:1027D000002304F052FF2A46334604F04EFF002245 -:1027E000274B04F0BAFFDDE9022305F0DFF807D23A -:1027F0009AF81D0000EB8000400005F03CF815E061 -:102800003846414606F03CFA074688469AF80D00DD -:1028100005F031F83A46434604F02FFF2A46334686 -:1028200004F02BFF0022164B04F097FF05F05DF833 -:10283000ABF80200DFF82C8099F80790A8F11E0889 -:10284000DFF840A0002008F1060C08F10C0E00BFD4 -:10285000B9F1010F56D117E0100C0140BC00002067 -:10286000C00000209A0100209E0000209C00002053 -:1028700016020020980000202403002039FA8E3C24 -:1028800000002440C400002002283BD24D493BF9FF -:10289000102031F91010C2EB41014B4A914202DB8A -:1028A0005242914200DD1146484A494D642332F8B4 -:1028B0001020AE7F891A05EB4002528E11440AB2F5 -:1028C000A97B514391FBF3F1734209B203EB8303FC -:1028D0008B4203DC06EB86038B4200DA1946394E45 -:1028E0003A3E36F910301A443A4B9A4203DB5B42C7 -:1028F0009A4200DC13461AB226F81020AB7D5A43E8 -:1029000012132CE02F492F4D3AF9106031F91010B5 -:102910000C3D01EB810213012D4A17183A7A93FB03 -:10292000F2F2921B35F9103012B21A442A4B9A4235 -:1029300002DB5B429A4200DD1A4606F5207625F856 -:102940001020B6F5A06F01D925F8104035F91020F8 -:102950007D2392FBF3F23B7C5A43921112B2194B46 -:102960003AF910505A3B50261B5C6B4393FBF6F32D -:10297000CB1A38F8101028F810503CF810603EF8C8 -:102980001070691A37442EF810600F442CF810109C -:102990000C493FB257391A44095C7943A2EB6111E3 -:1029A000084A921F22F81010401CC0B20328FFF4FE -:1029B0004FAFFEF78AFDFEF743FDBDE8FF5FFEF770 -:1029C00060BD00009A0100200CFEFFFFA600002061 -:1029D00024030020F0D8FFFF80C1FFFF10B5FB48A3 -:1029E00001F078F810B90120FEF7A0F901F0DCF849 -:1029F00010B90220FEF79AF901F01CFA10B9042070 -:102A0000FEF794F90120FEF784F9F04C08B1206834 -:102A100080470220FEF77DF908B101F0C5F8EB49C7 -:102A2000EA480C3102F0A2FA28B10120FEF779F948 -:102A30002068804707E0E5480C3001F01BFD10B925 -:102A4000032002F04DF8E1480C300068BDE810406A -:102A5000004770B50546DE4890F8530004F0F5FED7 -:102A60000446284604F0F1FEDA4904F0EAFCDA49AB -:102A700004F01DFD214604F0E4FC04F022FF80B2C6 -:102A800070BD70B500252C4600F0EFFF05440A200C -:102A900001F07DFF641CE4B2202CF5D3C5F34F1088 -:102AA000FFF7D7FFCA4A022192F8543003FB01F422 -:102AB000844203D8491CC9B20629F7D3C74801701C -:102AC00092F855004843C649088070BD2DE9F05F73 -:102AD000DFF81083C44EBE4CB8F80420002592B332 -:102AE000BA4900204FF4C87C2439624501D141F82D -:102AF000205051F8203036F910703B4441F8203016 -:102B000026F8105004EB4003401CC0B2DD840328BB -:102B1000EBD3012A12D1086890FBFCF0E0844868EE -:102B200090FBFCF020858868B8F8081090FBFCF05A -:102B3000401A60856586A586FEF73CF8B8F8040063 -:102B4000401EA8F804000420FEF7F8F8002870D012 -:102B5000DFF898C2DFF88C929C4FBCF8001009F1A6 -:102B60002409183FA9F10C0A322904D0F1B300203E -:102B7000322910D011E0E28CA9F80020228DA9F8AA -:102B80000220628DA9F80420628EAAF80020A28E8D -:102B9000AAF80220EBE747F8205057F8202036F932 -:102BA00010301A4447F8202026F8105004EB400259 -:102BB000401CC0B2D5840328DAD3E34601291AD1D8 -:102BC0008B488C4902220580012008800A21084692 -:102BD000FEF7E8FFB9F80010E184B9F8021021858A -:102BE000B9F804006085BAF8001000E008E06186DA -:102BF000BAF80200A086BBF80010491EABF800101E -:102C00007D480188012914D105803968322091FB63 -:102C1000F0F1E184796891FBF0F12185B96891FBCD -:102C2000F0F1B8F80800081A60856586A586FDF7FA -:102C3000C1FF3088E18C401A30807088218D401AA5 -:102C40007080B088618D401AB080BDE8F09F10B5EB -:102C50005E4C654861688847A16863488847BDE85D -:102C6000104033E710B565485E4C00682169884222 -:102C700031D32061607878B3012837D002283CD066 -:102C8000032828D101F044F86061608901F00FF851 -:102C9000A081606901F063F804F0CEFD584904F0AA -:102CA00006FC04F058FE4FF00052564B06F0FEF8BA -:102CB0000022554B04F0DEFC0022544B04F0DDFCF6 -:102CC00004F013FE5249086000206070206941F250 -:102CD00088310844206110BDFFE701F002F86078F8 -:102CE00041F2F811401C60702069F2E700F0C7FF64 -:102CF00060816078401C6070EDE701F079F86078E1 -:102D000043F2B061401C60702069E2E72DE9F047B2 -:102D1000344F404E404CF88848B3DFF8B08000256F -:102D2000A9464FF4C87AA8F10C08F988514501D199 -:102D300048F8259058F8253034F915C00129634426 -:102D400048F8253024F8159026F8159008D193FB03 -:102D5000FAF026F8150001220F210A20FEF722FFC3 -:102D60006D1CEDB2032DE0D3F888401EF8801D4D98 -:102D700000202A3534F8101036F81020891A09B2CC -:102D800024F8101035F91020A2F54873994201DAA1 -:102D90001A4604E002F54872914200DC0A4624F823 -:102DA000102025F81020401CC0B20328E2D3BDE853 -:102DB000F08710B5054C18480C3461688847A16845 -:102DC00015488847BDE81040A0E70000C80400206F -:102DD000240300203333534000F07F45A801002036 -:102DE0003E010020C4010020E20000202C01002050 -:102DF000A60100202E010020300100204801002003 -:102E000080E6C547965BC83F0000F03F1AE9504195 -:102E1000B8000020F4000020DC00002010B583483A -:102E200001F045F88148824982880A80028852422E -:102E30004A804088404288804DE770B501F00DF827 -:102E4000642001F0A4FDFFF7E9FF0A2001F09FFDD7 -:102E5000774CB4F90000002800DC404204F0ECFCA0 -:102E6000744E0146304604F022FB704D1435286044 -:102E7000B4F90200002800DC404204F0DDFC014609 -:102E8000304604F014FB6860B4F90400002800DC4C -:102E9000404204F0D1FC0146674804F008FBA860FA -:102EA00000F0F3FF614901203039887070BD2DE9D1 -:102EB000FE4F5E4D6148303D0068E96988427DD330 -:102EC0005F490844E861FFF7A9FF594CB4F90000D5 -:102ED00004F0B2FC05F144063168894604F0B1FA09 -:102EE00004F0D6FC00B220800090B4F9020004F097 -:102EF000A3FC71688A4604F0A4FA04F0C9FC00B28D -:102F000060800190B4F9040004F096FCB16802916D -:102F100004F097FA04F0BCFC00B2A0808346287845 -:102F20000E3EDFF82081B71D012813D1E869286221 -:102F3000002002464FEA080303EB40018A8534F87B -:102F4000101026F8101027F81010401CC0B20328EB -:102F5000F2D32A70009804F06FFC494604F071FA2D -:102F600004F096FC00B220808146019804F064FCD5 -:102F7000514604F066FA04F08BFC00B26080824691 -:102F8000584604F059FC029904F05BFA04F080FC06 -:102F900001B2A180A87868B1B8F82C30A9EB03027F -:102FA0002280B8F82E30AAEB03026280B8F8300015 -:102FB000081AA080286A00281ED000E01CE0E969F9 -:102FC000091A2148814219D22048016881F008017C -:102FD0000160002034F9101036F91020914201DA16 -:102FE00026F8101037F91020914201DD27F8101053 -:102FF000401CC0B20328EDD3BDE8FE8F002041463F -:10300000C5F8200036F9102037F910301A4401EBCA -:10301000400302EBD2725210401CC0B29A850328C2 -:10302000F0D3BDE8FE4FFDF7C5BD0000F401002060 -:10303000EE00002000009144000087444801002079 -:10304000A08601002403002080C3C9010C0C0140AC -:1030500010B50446C0B201F060FEC4F30720BDE81D -:10306000104001F05ABE01F058BE2DE9F05FFE4855 -:10307000007800287ED101F02EFE00287BD001F0E0 -:1030800037FEDFF8E893FA4FFA4EDFF8ECB3DFF8DB -:10309000ECA3DFF8EC83FB4D4F286DD06DDC2328CB -:1030A00068D045286AD04D2865D101F036FECB2086 -:1030B00001F033FE5FF0000437F91400FFF7C8FF9A -:1030C000641CE4B2032CF7D35FF0000436F914005B -:1030D000FFF7BEFF641CE4B2032CF7D3EA4E0024D2 -:1030E00036F91400FFF7B4FF641CE4B2032CF7D3E5 -:1030F000E648006800B2FFF7ABFFB9F90000FFF740 -:10310000A7FFE34E002400BF36F91400FFF7A0FF2D -:10311000641CE4B2082CF7D30024564636F9140098 -:10312000FFF796FF641CE4B2082CF7D30024464650 -:1031300036F91400FFF78CFF641CE4B2082CF7D3B7 -:103140000120FDF7E6FD44000220FDF7E2FD44EA20 -:1031500080040420FDF7DDFD44EAC0041020FDF7E3 -:10316000D8FD44EA001001F0D8FDCA480178CA48E9 -:10317000007804E0DAE01CE1DCE099E0D2E141EA29 -:103180004001C648007841EA8001C548007841EA1C -:10319000C001C448007841EA0010C0B201F0BDFD92 -:1031A000C148008800B2FFF753FF01F0AEF800B24B -:1031B000FFF74EFF00245E4636F91400FFF748FF84 -:1031C000641CE4B2022CF7D3687801F0A6FD002459 -:1031D0002E19307A01F0A1FD307C01F09EFD307E89 -:1031E00001F09BFD641CE4B2082CF1D315F8200F0C -:1031F00001F093FD687801F090FDA87801F08DFD55 -:10320000E87801F08AFD2879A5F1200501F085FD17 -:10321000A64E00242F1917F83C0F01F07EFDF87A16 -:10322000315D40EAC110C0B201F077FD641CE4B228 -:103230000B2CEFD39E48008800B2FFF709FF9D4892 -:103240000088B43000B2FFF703FF9B48007801F01C -:1032500064FD9A48007801F060FD9948007801F01B -:103260005CFD9848008800B2FFF7F2FE964800889F -:1032700000B2FFF7EDFE9548007801F04EFD94484E -:103280000A21006890FBF1F000B2FFF7E1FE9148DF -:10329000B0F90000FFF7DCFE8F48B0F90000FFF73F -:1032A000D7FE8E48B0F90000FFF7D2FE4D202AE18C -:1032B00052287CD053287BD057287AD15FF0000465 -:1032C00001F023FD2E19307201F01FFD307401F062 -:1032D0001CFD641CE4B23076082CF1D301F015FD1E -:1032E00005F8200F01F011FD687001F00EFDA870C7 -:1032F00001F00BFDE87001F008FD2871A5F1200533 -:103300004FF0000401F001FD2E1906F83C0F01F00A -:10331000FCFC641CE4B2F0720B2CF3D301F0F5FC5E -:1033200001F0F3FCBDE8F05FFDF744BCBDE8F05FE1 -:10333000FDF750BA4F2001F0F0FC002437F91400DB -:10334000FFF786FE641CE4B2032CF7D35FF00004A1 -:1033500036F91400FFF77CFE641CE4B2032CF7D3AB -:103360004A48006804F068FA5D4904F06AF804F01D -:103370008FFA00B2FFF76CFEB9F90000FFF768FEA4 -:1033800000245D4635F91400FFF762FE641CE4B2C8 -:10339000022CF7D30024554635F91400FFF758FEE8 -:1033A000641CE4B2062CF7D30024454602E0AEE0EC -:1033B000B2E0B5E035F91400FFF74AFE641CE4B250 -:1033C000062CF3D30120FDF7A4FC44000220FDF7F6 -:1033D000A0FC44EA80040420FDF79BFC44EAC004FE -:1033E0001020FDF796FC44EA001001F096FC2948F5 -:1033F00001782948007841EA40012848007841EAEC -:1034000080012748007841EAC0012648007841EA57 -:1034100000103449097840EA4110C0B201F07DFC47 -:103420002A48007801F079FCCB2001F076FC234893 -:10343000007801F072FC2048007801F06EFC2A4C04 -:10344000206800B2FFF704FE20680014FFF700FEBA -:10345000264C206800B2FFF7FBFD20680014FFF740 -:10346000F7FD2348008845E01802002014020020E0 -:10347000E8000020C4000020A6000020080400206E -:103480007804002024030020EE000020BC0000206F -:10349000040100201B0100201D0100201C01002050 -:1034A00015010020160100202601002096040020AE -:1034B000360100202A010020B9010020B8010020B7 -:1034C000A4010020BE010020C00100202501002031 -:1034D000B8000020AA010020AC010020AE010020AD -:1034E0000000204119010020680100206C0100202B -:1034F000BA01002000B2FFF7ABFD0C48008800B213 -:10350000FFF7A6FD4F20BDE8F05F01F006BCBDE867 -:10351000F05F012001F007BB05494FF4C870088037 -:10352000BDE8F09F034901200870F9E7BC010020C5 -:10353000C8010020C40100202DE9F0470446DDE960 -:10354000089A0F469846101B04F076F90646204666 -:1035500004F080F9FD4AFE4B04F08FF805F090FB73 -:1035600004460D46A8EB070004F074F922462B46EA -:1035700004F083F804F02EFA0546014603F061FFDB -:1035800004463146084603F05CFF214603F001FF84 -:1035900004F0E1F906F09EFAEE4AEF4B04F06DF804 -:1035A00004F0C2F9A9F80000304604F0D4F9064648 -:1035B0000C46284604F0CFF93246234605F076F94A -:1035C000E64AE74B04F059F804F08FF9AAF8000036 -:1035D000BDE8F08770B5034600200246054615E0B9 -:1035E0002E2C05D1521CD2B2002912D054181D55D0 -:1035F00000EB80009C5C4004000CA4F13006092E16 -:1036000002D83038204480B2521CD2B29C5C002CCC -:10361000E6D170BD70B5017802464FF47A7400238C -:1036200011B111460A2610E0002070BD824207D079 -:10363000303DEDB205FB0433B4FBF6F40D709BB2E4 -:10364000EDB22E2D00D10A46491C0D78002DEDD18A -:10365000541E12F8025D247805EB8505303C04EB1E -:103660004504A4F5F07442F21071A4B201FB0433D6 -:103670000624B3FBF4F309E001EB810112F8014DDC -:103680004900303CE4B204FB013314708242F3D1B0 -:10369000184670BD2DE9F0470026B24C0546242897 -:1036A00017D02046DFF8C08240782C2D15D02A2D67 -:1036B00013D021460D2DC97874D00A2D72D00F2851 -:1036C00003D208F80050401C607000296BD0002025 -:1036D0007EE726706670A670F9E708F8006020782B -:1036E0004FF0010928B12179012928D0022961D0A0 -:1036F0006DE0267198F80000472868D198F801001D -:10370000502864D198F80200472802D052280BD0E4 -:103710005DE098F80300472859D198F80400412843 -:1037200055D184F8049052E098F803004D284ED10A -:1037300098F8040043284AD10220207147E08B4FBB -:10374000022814D003280BD0894F04280FD0052855 -:1037500011D0062816D007281DD0092824D036E01D -:1037600098F8000053280AD031E038602FE07E48F6 -:10377000FFF750FFF9E798F80000572827D138687D -:103780004042F2E798F80000302801D9012000E01B -:103790000020784904E000217348FFF71BFF7649B9 -:1037A000087014E020E018E000216F48FFF712FFD6 -:1037B00072490BE007280AD101216B48FFF70AFF85 -:1037C0006F4948436F49B0FBF1F06F49088020789A -:1037D000401C207066702A2D03D0A0786840A0702D -:1037E00075E784F8039072E70029F9D098F8000093 -:1037F00000F066F8050198F8010000F061F828442F -:10380000A178C0B28842E670EAD120790128E7D1D8 -:10381000DEE67CB5C0B2FFF73DFF00282CD05B4848 -:1038200001220178012910D0027052480078012845 -:1038300022D15148007803281ED9554B4B48554C8E -:103840001E784B49544D1EB107E000210170ECE792 -:103850001A70026822600A682A60504A1278012AA7 -:103860000BD04F4B4F4ACDE900230B680268296803 -:10387000D4F80000FFF760FE7CBD4B4B4B4ACDE90E -:10388000002302684A480B6801684A480068F1E76B -:1038900010B5494C40F22551204603F0FEF80128AE -:1038A00005D1204603F092F8BDE81040B1E710BD05 -:1038B00010B500F00EF8BDE810401020FDF731BA49 -:1038C0003038C0B2092801D9C01FC0B200F00F00C3 -:1038D000704730B5012187B0480402F0F7F926207F -:1038E0008DF8100000248DF8114001208DF8120091 -:1038F0008DF8130004A801F010FC0820ADF81400A6 -:1039000004258DF8175005A92C4803F04CF9ADF8A3 -:103910000440ADF80640ADF80840ADF80C404FF457 -:103920001650254C0090ADF80A506946204602F02A -:103930007BFF012240F22551204602F0F7FF0121D2 -:10394000204602F0E9FF07B030BD0000A92E72D872 -:10395000E76C873EFC639ED1D3CBF13FF8C1631A7D -:10396000DCA54C4019020020E00400206801002082 -:103970006C010020B8010020B9010020BA0100202C -:103980008CD90700A0860100BC010020A401002002 -:103990001E010020B0010020B4010020160100200B -:1039A0002A010020360100203A01002038010020C1 -:1039B0007401002070010020004400400008014014 -:1039C00070B52B4E90B0304601F08CFD2948009028 -:1039D000294801A90024012531C128020494CDE918 -:1039E000054080000790202008900002CDE90904DE -:1039F0006946304601F0E3FD0121304601F009FE41 -:103A00008DF830400B948DF831504FF46020CDE9A3 -:103A10000D04184C8DF83C504C3C0BA9204601F08D -:103A2000EBFB032301220421204601F065FC012168 -:103A3000204601F013FC0121204601F005FC204640 -:103A400001F01FFC204601F021FC0028FAD120469D -:103A500001F023FC204601F025FC0028FAD10121C9 -:103A6000204601F026FC10B070BD03480088704766 -:103A7000080002404C2401401E020020704710B58F -:103A80000446214B06223221532000F004FC1E493B -:103A900008784A7800EB022020808878CA7800EB0A -:103AA000022060800879497900EB0120A08010BDD8 -:103AB00010B508222D21532000F0E7FB0B22312105 -:103AC000532000F0E2FB09222C21BDE810405320D6 -:103AD00000F0DBBB38B5044600208DF8000001463D -:103AE0006B460122532000F0D6FB18B19DF8000070 -:103AF000E52801D0002038BD0448206004486060FB -:103B00000448A060012038BD20020020B13A00081E -:103B10007F3A00087D3A000810B54FF480442046F3 -:103B200001F022FE012805D1204601F02BFEBE49FE -:103B30000120087010BD10B5BB4C86B06B466068A4 -:103B40001622AA21807E00F0A6FBBDF8000041BA33 -:103B500060680180BDF8021049BA4180BDF80410C8 -:103B600049BA8180BDF8061049BAC180BDF8081075 -:103B700049BA0181BDF80A1049BA4181BDF80C105B -:103B800049BA8181BDF80E1049BAC181BDF8101043 -:103B900049BA0182BDF8121049BA4182BDF8141029 -:103BA00049BA818206B010BDF0B59F4C85B06078EF -:103BB00010B1012005B0F0BD4FF40055ADF80C5028 -:103BC00003208DF80E001020984F8DF80F0003A9E8 -:103BD000384602F0E8FF6E00ADF80C6004208DF866 -:103BE0000F0003A9384602F0DEFF3D610E210220DE -:103BF00003F090F8019600268DF8086008208DF8F3 -:103C0000090001258DF80A5001A801F05DFD28206A -:103C10008DF810000F208DF811008DF812008DF82E -:103C2000135004A801F079FA0C2000F0B0FE61688E -:103C300077206B46CE7688760122D02100F02BFBD0 -:103C400060689DF800100222C175056282845529C2 -:103C500001D00020AEE75521C176807E6B4601225F -:103C6000D12100F018FB9DF80000616800F00F0200 -:103C700000090A764876FFF75EFF657099E76A48A3 -:103C800008B542F21071027800E000BF22B90B00C3 -:103C9000A1F1010189B2F8D140686B460222807E11 -:103CA000F62100F0F8FABDF8000040BA08BD5E4900 -:103CB0004968CA7E552A01D0C8690EE04A89B1F91F -:103CC0001430801A0A895043C013B1F912200344FA -:103CD000D20292FBF3F21044C8610830001100B226 -:103CE0007047514800212E2201704068F421807EE7 -:103CF00000F0CBBA10B54C4C00202070FFF7F1FF5C -:103D000020780028FDD0FFF7BAFFBDE81040CEE7CD -:103D100038B5454C42F21070217800E000BF21B95F -:103D20000200A0F1010080B2F8D160686B46032266 -:103D3000807EF62100F0AFFA9DF800009DF801109A -:103D4000000440EA01209DF8021008436168B1F9BF -:103D50002420C2F10802D04001220A6238BD70B5A9 -:103D600031494A68D169B2F90E40A1F57A6101FB87 -:103D700001F31D136C43E512B2F90240B2F904607D -:103D80004C4305EBE424B2F9005004EB8505948C18 -:103D9000A5404E437113B2F90C601B135E4301EB57 -:103DA0002641891C8910D288AD1C01F500414A4387 -:103DB000D10B4CF25032A0EBA500E2405043B0F1E1 -:103DC000004F03D24000B0FBF1F002E0B0FBF1F095 -:103DD00040000112494340F6DE325143144A0914AF -:103DE000424301EB224101F6CF6100EB211070BD8F -:103DF0000D48342341688A8C03EB82120023037040 -:103E0000887ED2B2F42100F040BA10B5064C0020F2 -:103E10002070FFF7EDFF20780028FDD0FFF778FF36 -:103E2000BDE810409BE70000280200200010014080 -:103E300043E3FFFF08B500208DF800006B46012228 -:103E40000A211E2000F027FA18B19DF8000048282A -:103E500001D0002008BD012008BD10B5642000F08D -:103E600096FD712200211E2000F00FFA322000F092 -:103E70008EFD602201211E2000F007FA012202219E -:103E8000BDE810401E2000F000BA10B570220021DD -:103E90001E2000F0FAF9202201211E2000F0F5F981 -:103EA00000220221BDE810401E2000F0EEB91CB532 -:103EB00004466B46062203211E2000F0ECF9BDF8F3 -:103EC000000040BA2080BDF8020040BA6080BDF812 -:103ED000040040BAA0801CBD30B587B005464FF441 -:103EE0004060ADF8140003208DF816001C208DF8FA -:103EF000170005A9FC4802F056FEFC4CE56000F0F6 -:103F000007FAE06801F046FC684601F0AEFC0022CA -:103F10004FF44071E06801F00EFD0025ADF804504B -:103F20004BF6FF70ADF806004FF48040ADF80C0082 -:103F3000EF4800900121E06801F0A5FC6946E068C7 -:103F400001F03BFC4FF4A06001F0E2F822208DF874 -:103F500010008DF811508DF8125001208DF81300CB -:103F600004A801F0DAF821208DF810008DF8115026 -:103F700004A801F0D2F807B030BD70B5DB4CE068A2 -:103F8000858A15F4E06F24D0018B00224FF4806104 -:103F900001F0D1FCA8051CD4E0680188890518D47B -:103FA0000188C9050CD50188C905FCD4012101F09F -:103FB00092FCE06801888905FCD4FFF78DFF08E0DA -:103FC000012101F088FC00224FF44071E06801F00B -:103FD000B2FCE068818A21F4706181820020E07087 -:103FE00070BDCAE72DE9F041C04CE068818A4FF00E -:103FF0000105C9B2CA074FF0000627D0018821F495 -:1040000000610180012101F070FCA670207A20B1CE -:10401000207860B96079FF2809D021790022E06812 -:1040200001F096FC6079FF280FD0FF20B8E02570E2 -:10403000A079022804D1E068018841F40061018080 -:1040400021790122E06801F083FCC9E08A074FF47E -:10405000806734D5BFF3508FA079012810D1207A22 -:1040600070B1207860B10021E06801F03EFCBFF340 -:10407000508FE068018B012101F02DFC65701CE080 -:10408000E068008BBFF3508FA07902280DD1207A11 -:1040900058B1207848B10021E06801F026FC93E097 -:1040A0003946E06801F047FC9AE0A079032804D182 -:1040B000207A10B12078002874D10122F0E74A0755 -:1040C00053D56570227A89490978CAB3C9B3A179F1 -:1040D00002291FD9002101F008FCE06801F035FC3D -:1040E00094F9022063699854521CA2700121E0687F -:1040F00001F0F1FB6570E06801F027FC94F9021013 -:1041000062695054491CA17001223946E06801F0EF -:1041100012FC25E0012101F0DEFBE06801F015FC56 -:1041200094F9021062695054491CA170E06801F0D2 -:104130000CFC94F9021062695054891CA1700FE0C4 -:1041400000E000E009B9E17931B1012101F0C3FBE0 -:10415000A078401CA07003E0012101F0B2FB2570A3 -:10416000E0680188C905FCD43AE04A061BD501F095 -:10417000ECFB94F9021062695054491C48B2A070DB -:10418000A179C01C814204D100223946E06801F0C7 -:10419000D2FBA17994F90200814221D100F1010002 -:1041A000A0701DE010E009061AD594F90220511CF8 -:1041B0004BB20BD02569A95CA37001F0C4FBA079B8 -:1041C00094F9021088420BD1002269E7A37061794B -:1041D00001F0B9FB207A0028F6D1A0790028F3D0AD -:1041E00094F90210A079401C814209D126706078B0 -:1041F00028B100224FF44071E06801F09CFBE670AA -:10420000BDE8F081EEE6B8E6ECE67CB5374C400060 -:1042100047F23055207161710120E0710021217257 -:10422000C4F810D0C4F814D06946A271E070072A0F -:1042300001D900207CBD002003E01E5C0E54401C10 -:10424000C0B29042F9D3E068818889050ED4018814 -:10425000C90505D401888905FCD4012101F031FB91 -:1042600001224FF44071E06801F065FBE07810B185 -:104270006D1EFBD102E00DB101207CBD6089401CA8 -:104280006081E068FFF728FED3E707B502AB0122A3 -:10429000FFF7BBFF0EBD70B5144C4FEA400047F26C -:1042A0003055207161710020E0710120207263613E -:1042B0002361A271E070E068818889050ED40188CD -:1042C000C90505D401888905FCD4012101F0F9FA5A -:1042D00001224FF44071E06801F02DFBE07848B115 -:1042E0006D1EFBD109E00000000C014030020020EF -:1042F000801A06000DB1012070BD6089401C6081EC -:10430000E068FFF7E9FD002070BD2F484089704745 -:104310002DE9F8434FF44067ADF800704FF0030803 -:104320008DF802801420294C8DF803006946204640 -:1043300002F039FC3946204602F0A2FC0025261581 -:1043400002E00A2000F00DFB3146204602F084FC1A -:104350000028F6D03146204602F094FC0A2000F0F6 -:1043600000FB3146204602F08BFC0A2000F0F9FAEF -:104370006D1CEDB2082DE7D34FF4006529462046A9 -:1043800002F080FC0A2000F0ECFA3146204602F0F0 -:1043900079FC0A2000F0E5FA3146204602F070FC74 -:1043A0000A2000F0DEFA2946204602F069FCADF84A -:1043B00000708DF802801C208DF8030069462046AD -:1043C00002F0F1FBBDE8F88330020020000C014050 -:1043D000B0F90010CA1701EB927189100180B0F991 -:1043E0000210CA1701EB927189104180B0F90410D4 -:1043F0004942CA1701EB92718910818070471CB540 -:1044000004466B4606221D216820FFF744FFBDF8D5 -:10441000000040BA2080BDF8020040BA6080BDF8BC -:10442000040040BAA0801CBD10B5192000F0AFFAFE -:10443000002215216820FFF728FF10B9032000F0A3 -:104440004FFB16481621007840F018026820FFF74D -:104450001CFF002217216820FFF717FF01223D21D2 -:104460006820FFF712FF01223E21BDE810406820BE -:10447000FFF70BBF10B50446192000F088FA0022A0 -:1044800015216820FFF701FF002806D004482060AE -:10449000044860600448A060012010BD480200206C -:1044A00029440008FF430008D14300082DE9F84FD4 -:1044B0004FF0000BDFF818A4DFF8189480465E4632 -:1044C0000AEBC60009EBC605D0E900474046444563 -:1044D00048D1390C009102F068F9012842D12046F8 -:1044E000009902F06DF91EB9F94901200839887068 -:1044F0003F043F0C06D0042F08D0082F14D00C2FF7 -:1045000008D115E0204602F039F902E0204602F019 -:1045100037F98346287878B1A5F804B068885946F9 -:1045200083450FD9081A11E0204602F02BF9F0E775 -:10453000204602F029F9ECE70120A5F802B0287026 -:10454000022106E04FF6FF72101A0844E8800021AD -:104550002970E04840304180DE49078020464031E4 -:1045600001F03EFE761CF6B2082EA9D3BDE8F88F06 -:10457000D748083801784FF0804009B100F08CB975 -:1045800094E7D54892E72DE9F74F8AB00746002017 -:1045900001240990ADF81C4048208DF81F00032627 -:1045A0008DF81E6007A9CD4802F0FDFADFF82093D0 -:1045B000C849A9F10809002089F8007040F2DC52CE -:1045C00001EBC003401CC0B2DA800828F8D32820D1 -:1045D000DFF804B31C254FF0804A4FF00008DFB32A -:1045E000ADF81C408DF81F008DF81E6007A9BB4870 -:1045F00002F0D9FA8DF820508DF821808DF82240F4 -:1046000045468DF8234008A800F087FD04A801F076 -:10461000AFFE4720ADF810004FF6FF70ADF8140064 -:10462000ADF8125004A9504601F032FCA9484030C0 -:10463000014645808480C58005810580504601F093 -:10464000CFFD01220221504601F0CBFE0121504650 -:1046500001F0B2FE0A2166E0FFE7CF21ADF81C10A1 -:104660008DF81F008DF81E6007A99C4802F09BFA88 -:10467000ADF81C6007A99A4802F095FA8DF8205011 -:104680008DF821808DF8224045468DF8234008A8FA -:1046900000F043FD1D208DF8200008A800F03DFD2E -:1046A00004A801F065FE4720ADF810004FF6FF703A -:1046B000ADF81400ADF8125004A94FF0804001F09D -:1046C000E7FB04A9584601F0E3FB824840308246EC -:1046D00045808480C580058100257D4800EBC501AB -:1046E0008A887C49AAF8002050F83500403101F052 -:1046F00077FD6D1CEDB2082DEFD34FF0804A0122FB -:104700001E21504601F06DFE01221E215D465846D5 -:1047100001F067FE0121504601F04EFE01212846BE -:1047200001F04AFE062189F801104FF41060ADF83F -:104730001C0018208DF81F008DF81E6007A967481F -:1047400002F031FA4FF47070ADF81C0007A964480C -:1047500002F029FA0B9840F6C31500287ED00C9879 -:1047600010B141F2873001E044F61F60ADF814004B -:1047700004A95C4801F08CFBADF8145004A95A4818 -:1047800001F086FB7020ADF80480ADF800004646CD -:104790004FF47A794FF0020A4FF48078ADF8024076 -:1047A000ADF80690ADF808A0ADF80C8069464D480C -:1047B00001F0A7FB69464B4801F04AFC69464A48AC -:1047C00001F09FFB6946484801F0D0FB6946464826 -:1047D00001F006FC6946444801F03AFC01214148D9 -:1047E00001F0EAFD0121404801F0E6FD01213D48CC -:1047F00001F0ECFD01213C4801F0E8FD5FB3ADF8AC -:10480000145004A95D46584601F042FB7020ADF8F3 -:104810000000ADF80460ADF80240ADF80690ADF8C8 -:1048200008A0ADF80C806946284601F06AFB69468D -:10483000284601F09BFB6946284601F0D1FB6946FA -:10484000284601F005FC0121284601F0B5FD0121B3 -:10485000284601F0BBFD09980DB000E001E0BDE87D -:10486000F08FADF8145004A91E4801F011FB85E744 -:10487000174A083A5278904204D2154A403252F808 -:10488000200001807047134901EBC000C0887047C9 -:104890000F4808384078704770B502214D07284608 -:1048A00001F083FF0A4C083C012807D1A088E08072 -:1048B000284601F063FFA0800120A0700221284655 -:1048C00001F07EFFA088E18888420FD9401A11E0EC -:1048D000540200201C050020000400400008014094 -:1048E000000C0140002C0140000800404FF6FF7210 -:1048F000511A084480B2B0F57A6F01D900200EE059 -:10490000A0F2EF2140F2DB52914206D2E178082971 -:1049100003D2044A02EBC101C880E078401CE07079 -:1049200070BD00001C0500208348416883488160F9 -:104930004168491C4160704772B67F4843687F48B0 -:104940008168426862B6591A0068B1FBF0F002EB68 -:104950004201C1EBC21100EBC100704777484068CB -:10496000704770B5744C00236168744D6268511AC9 -:104970000B4411462A68B3FBF2F2824206D2801A37 -:104980002A68B3FBF2F602FB1633EFE770BD30B5D1 -:1049900004464FF47A7502E02846FFF7E2FF641EF2 -:1049A000FAD230BD2DE9F04186B001211D2001F081 -:1049B00084F90121C80201F080F90121084601F0C3 -:1049C00085F90121022001F081F90121042001F083 -:1049D0007DF90121480201F070F90121880301F0FD -:1049E0006CF90121880501F071F90121084601F0F7 -:1049F0005BF90121022001F057F901F08CF94FF623 -:104A0000FF70ADF80000DFF8388100248DF8034016 -:104A10006946404602F0C7F84A4F6946384602F0F8 -:104A2000C2F86946484802F0BEF80121474802F042 -:104A300048F91820ADF8000003258DF80250102623 -:104A40008DF803606946384602F0ADF83D4808210C -:104A50001030016006608614ADF800608DF80250D9 -:104A600014208DF803006946404602F09CF8344853 -:104A70001030066001A801F0D2F835490198B0FB6A -:104A8000F1F02E4908603348016841F080710160FF -:104A90002948016841F0010101602F484FF47A7103 -:104AA0000068B0FBF1F0B0F1807F0CD220F07F41C4 -:104AB0004FF0E020491E4161264AF021D93A117099 -:104AC000846107210161FEF77BFF2448FFF704FAA8 -:104AD00000F076F86420FFF75AFF06B0BDE8F081D9 -:104AE000184A1021143211600821121F1160044667 -:104AF00040F2DB10124F151F44434E021437A7F14A -:104B0000040C286880F010002860286880F00800F5 -:104B10002860A01EFFF73BFF3E601920FFF737FF1C -:104B2000CCF80060EDE710B10E490D480860094966 -:104B30000D48F03908607047001000E0BC0200200A -:104B400000080140000C014000100140000230004C -:104B500040420F00FCED00E0D80200200058004069 -:104B6000EFBEADDEF04F00200400FA057748764A2C -:104B700041685318764A136583688B4203D9591AE2 -:104B80009164436004E0C1F580719164002141604B -:104B90006F480121443000F03CBD10B54FF4005087 -:104BA00000F075FD6A480021443000F032FD67488E -:104BB000001D03C8814202D0BDE81040D6E710BDF9 -:104BC0002DE9F04192B04FF40070ADF83C000320A5 -:104BD0008DF83E0018205F4C8DF83F000FA920464D -:104BE00001F0E1FF2015ADF83C0048208DF83F00B2 -:104BF0000FA9204601F0D7FF0E208DF840000120BC -:104C00008DF8410000248DF842408DF8430010A833 -:104C100000F083FA4FF4E1300B90ADF834400C20F3 -:104C2000DFF83481ADF83040ADF83600ADF83240F1 -:104C3000ADF838400BA9404601F0F6FD444F583717 -:104C4000384600F04FFC08F10405B8140095CDE992 -:104C500009044248CDE9010480260494CDE90564A5 -:104C6000A81503902020CDE907406946384600F09A -:104C7000A6FC0121384600F0CCFC01224021404630 -:104C800001F06CFE384600F0D9FC3049304F443713 -:104C90000860384600F026FC10200290009504942D -:104CA000CDE90564079469463846089400F087FC0E -:104CB00001220221384600F0B7FC25488464012215 -:104CC0008021404601F04AFE0121404601F024FEC9 -:104CD00012B0BDE8F0811E4810B5583000F0AEFCAF -:104CE0001A490968884201D0012010BD002010BD7A -:104CF00016491A4B0A68C2F58070185C521E0A6089 -:104D000002D14FF480720A60704710B5FFF7E3FFDD -:104D10000028FBD0BDE81040EAE70C4A0A4B916836 -:104D20005854491CC8B290600948406CC00700D173 -:104D30001CE7704710B5044602E0641CFFF7EDFF66 -:104D400020780028F9D110BD66060020C802002096 -:104D500000000240000801400038014066050020C4 -:104D600010B56522FF216D20FFF78FFA002800D0D3 -:104D7000012010BDFEB5384C0125207878B10128FE -:104D800022D002281FD164208DF8000033488DF80E -:104D9000015000260078A0B38DF8025043E07A203D -:104DA0008DF800002E486B460222B0F90000FF216A -:104DB000C0F1B40000EBD07040108DF801006D2000 -:104DC000FFF723FA2570FEBD264979208DF80000F3 -:104DD000B1F900000A2290FBF2F010F15A0301D55C -:104DE000002003E05A30B42800DDB4208DF8010023 -:104DF000B1F9020090FBF2F010F15A0102D5002047 -:104E000004E00EE05A30B42800DDB4208DF8020032 -:104E10006B460322FF216D20FFF7F7F90220207077 -:104E2000FEBD8DF802606B460322FF216D20FFF767 -:104E3000ECF92670FEBD08B56B208DF800000A2045 -:104E40008DF801008DF802006B460322FF216D20D2 -:104E5000FFF7DBF908BD0000D40200201901002093 -:104E600014020020A6000020B0F90010CA1701EBC0 -:104E7000927189100180B0F90210CA1701EB92718A -:104E800089104180B0F904104942CA1701EB9271B0 -:104E90008910818070471CB504466B460622432169 -:104EA0006820FFF7F8F9BDF8000040BA2080BDF88F -:104EB000020040BA6080BDF8040040BAA0801CBD6A -:104EC00010B580226B216820FFF7DFF90520FFF77E -:104ED0005EFD002219216820FFF7D7F900221A2170 -:104EE0006820FFF7D2F903226B216820FFF7CDF984 -:104EF00018221B21BDE810406820FFF7C6B9B0F9A1 -:104F00000210B0F90020CB1701EB5371C9100180DA -:104F10005142CA1701EB5271C9104180B0F9041017 -:104F2000CA1701EB5271C910818070471CB5044645 -:104F30006B4606223B216820FFF7ADF9BDF8000063 -:104F400040BA2080BDF8020040BA6080BDF804007D -:104F500040BAA0801CBD10B510221C216820FFF7AC -:104F600094F9144940F2FF30088010BD38B504466A -:104F70000D462320FFF70BFD6B46012275216820AB -:104F8000FFF789F9002804D09DF80000682801D0B7 -:104F9000002038BD08482060084860600848A060CC -:104FA00008482860084868600848A860012038BDA3 -:104FB00070470000CC010020574F00082D4F00081B -:104FC000FF4E0008C14E0008974E0008694E0008C9 -:104FD000474810B5016841F0010101604168454A48 -:104FE000114041600168444A11400160016821F4A8 -:104FF00080210160416821F4FE0141604FF41F01EE -:10500000816000F030F83D494FF00060086010BD4D -:10501000374A10B550683A4910F00C03394803D0AC -:10502000042B01D0082B0BD001605168354AC1F325 -:105030000311121D515C026822FA01F2026010BDD8 -:105040005168536801F470114FF0020413F4803F6B -:1050500004EB914102D053689B0301D52A4B00E039 -:10506000274B5943E0E722480021026842F480328E -:1050700002604FF4A063026801F1010112F4003FE5 -:1050800001D19942F7D10168890330D51F490A68D7 -:1050900042F010020A600A6822F003020A600A68FD -:1050A00042F002020A604168416041684160416823 -:1050B00041F480614160416821F47C1141604168A4 -:1050C00041F4E8114160016841F0807101600168BC -:1050D0008901FCD5416821F003014160416841F03C -:1050E000020141604168C1F381010229FAD1704790 -:1050F000001002400000FFF8FFFFF6FE08ED00E0A0 -:1051000000127A00D802002000093D000020024071 -:105110002749084327490860704770B50F21C478B4 -:10512000027801234FF0E026DCB1224C246804F41D -:10513000E064C4F5E064250AC5F10404E94045785B -:10514000A54084780C402C4321011B4C115500785C -:1051500000F01F018B40400906EB8000C0F80031D1 -:1051600070BD02F01F008340500906EB8000C0F8BC -:10517000803170BD114A114001430E48001F01608B -:1051800070470C4A121D0029116801D0014300E04C -:105190008143116070474FF0E0210428086903D073 -:1051A00020F004000861704740F00400FAE70000B6 -:1051B0000000FA050CED00E000E400E080FFFF1FB6 -:1051C000C24910B5884202D1012144150AE0C04904 -:1051D000884202D10121041504E0BE4988420AD167 -:1051E0000121CC03204600F07AFD2046BDE81040A6 -:1051F000002100F074BD10BD10B54268B64B0C79AB -:105200001A400B6842EA0422134343608368B34A9E -:105210001340D1E9024222434C7943EA44031A4342 -:105220008260C26A097C22F47002491EC9B242EA55 -:105230000151C16210BD00210160017141718160A5 -:10524000C1600121017470470029816802D041F0DA -:10525000010101E021F001018160704700298168AE -:1052600002D041F4807101E021F4807181607047C7 -:10527000002A4268C9B201D00A4300E08A43426072 -:105280007047816841F00801816070470146002045 -:105290008968090700D501207047816841F0040141 -:1052A00081607047014600208968490700D50120C8 -:1052B00070470029816802D041F4A00101E021F487 -:1052C000A00181607047014600208968490200D52D -:1052D000012070474268491E22F4604242EA41318F -:1052E000416070470029416802D041F4006101E04B -:1052F00021F400614160704770B5072509290AD97A -:10530000C468A1F10A0606EB4606B540AC43B340BB -:105310001C43C46007E0046901EB4106B540AC439F -:10532000B3401C4304611F23072A09D2446B521E59 -:1053300002EB820293409C4391400C43446370BD56 -:105340000D2A09D2046BD21F02EB820293409C43C8 -:1053500091400C43046370BDC46A0D3A02EB8202B3 -:1053600093409C4391400C43C46270BD0029816806 -:1053700002D041F4801101E021F480118160704776 -:10538000C06C80B2704751484C30006870470029AB -:10539000416802D041F4806101E021F48061416004 -:1053A00070470029416802D041F4805101E021F4A6 -:1053B000805141607047826822F4E0420A43826073 -:1053C00070470029816802D041F4004101E021F4D6 -:1053D0000041816070470029816802D041F40211C8 -:1053E00001E021F4021181607047014600208968C4 -:1053F000890200D50120704770B5072509290AD90F -:10540000C468A1F10A0606EB4606B540AC43B340BA -:105410001C43C46007E0046901EB4106B540AC439E -:10542000B3401C430461836BC3F30154121B921CF1 -:1054300002EB82041F22A2409343A1400B438363EB -:1054400070BD826B491E22F4401242EA0151816311 -:105450007047425070470844806A80B27047426883 -:105460001F4B1A400A434260704741628262704794 -:10547000426822F01F020A43426070471349083114 -:105480000028086802D040F4000001E020F4000089 -:10549000086070470246002012680A4200D00120CE -:1054A0007047C9430160704710B5002244680B0A79 -:1054B000C9B200680C40184201D004B10122104664 -:1054C00010BD6FEA11210160704700000024014007 -:1054D00000280140003C0140FFFEF0FFFDF7F1FF16 -:1054E000FFFD3FFF01684FF6FE7211400160002191 -:1054F000016041608160C1606A496A4A083990422E -:1055000003D1486840F00F0006E0664A143290422A -:1055100004D1486840F0F00048607047614A283282 -:10552000904203D1486840F47060F5E75D4A3C3230 -:10553000904203D1486840F47040EDE7594A503238 -:10554000904203D1486840F47020E5E7554A643240 -:10555000904203D1486840F47000DDE7514A783248 -:10556000904203D1486840F07060D5E74E4A111F61 -:10557000904203D1086840F00F0006E04A4A143216 -:10558000904204D1086840F0F00008607047464A35 -:105590002832904203D1086840F47060F5E7424A2F -:1055A0003C32904203D1086840F47040EDE73E4A37 -:1055B00050329042EAD1086840F47020E5E730B5F7 -:1055C000036847F6F07293430C6A8A682243D1E974 -:1055D00004452C4322438C692243CC6922434C6A04 -:1055E00022438C6A22431A430260CA6842600A68F6 -:1055F00082604968C16030BD002101604160816006 -:10560000C160016141618161C16101624162816288 -:1056100070470029016802D041F0010102E04FF615 -:10562000FE72114001607047002A026801D00A43EF -:1056300000E08A430260704741607047406880B272 -:10564000704701460020CA0002D5174A083A01E017 -:10565000144A083A12680A4200D001207047C1007B -:1056600003D51149091F086070470E490839486081 -:10567000704701460020CA0002D50B4A083A01E0F3 -:10568000084A083A12680A4200D001207047C10057 -:1056900003D50549091F0860704702490839486069 -:1056A000704700000800024008040240374900200B -:1056B0000860091D0860091D0860091D086033495C -:1056C000334814310860704730B530498379026837 -:1056D00053B30B6893430B600A1D13680468A3431C -:1056E000136002790A441368046823431360274A4D -:1056F000083213680468A3431360131D1C6805680F -:10570000AC431C604479102C05D021440A68006821 -:1057100002430A6030BD11680468214311601968B2 -:1057200000680143196030BD007908440168914365 -:10573000016030BD0021016001710C224271817154 -:105740007047124910310A6802430A6070470146E7 -:105750000E4A0020143212680A4200D0012070471D -:105760000A49143108607047084A0146002012684F -:10577000064B0A4014331B680B4202D0002A00D0AB -:10578000012070470149143108607047000401404E -:10579000FFFF0F00C04910B588424FF0010101D151 -:1057A0004C0501E04FF48004204600F0A1FA2046A9 -:1057B000BDE81040002100F09BBA70B50446808817 -:1057C00086B00D4620F03F06684600F028FAB3493F -:1057D0000298B0FBF1F189B20E43A680228822F034 -:1057E00001022280AE4B2A689A421CD85200B0FBBC -:1057F000F2F080B2042800D20420491C2184A08346 -:10580000208840F00100208021884FF6F5300140CB -:10581000A8886A89104308432080A88929890843F9 -:10582000208106B070BDEB88A3F53F46FF3E05D151 -:1058300002EB4202B0FBF2F080B208E002EBC203DE -:1058400003EB0212B0FBF2F080B240F4804002059C -:1058500001D140F001004FF4967251434FF47A7237 -:10586000B1FBF2F140F40040C7E741F2883101603A -:10587000002181804BF6FF72C280018141814FF48B -:105880008041818170470029018802D041F00101E7 -:1058900001E021F00101018070470029818802D0D8 -:1058A00041F4006101E021F400618180704700292A -:1058B000818802D041F4805101E021F4805181803F -:1058C00070470029018802D041F4807101E021F481 -:1058D0008071018070470029018802D041F4007175 -:1058E00001E021F40071018070470029018802D095 -:1058F00041F4806101E021F4806101807047828978 -:1059000001F0FE0122F0FE0211438181704700295F -:10591000818902D041F0010101E021F00101818182 -:1059200070470029018802D041F0400101E021F0D8 -:10593000400101807047002A828801D00A4300E0BC -:105940008A438280704701827047008AC0B27047E4 -:1059500012B141F0010101E001F0FE010182704746 -:10596000405A70470029018802D041F4004101E00B -:10597000C1F30E0101807047B1F5006F018803D0BB -:1059800021F400610180704741F40061FAE7B1F54C -:10599000005F018803D021F400510180704741F479 -:1059A0000051FAE70029018802D041F4805101E05A -:1059B00021F4805101807047B1F5006F018803D058 -:1059C00021F400610180704741F40061FAE7002989 -:1059D000018802D041F0200101E021F02001018086 -:1059E0007047008B000A70470029018802D041F0FF -:1059F000100101E021F010010180704700290188A9 -:105A000003D021F080010180704741F08001FAE766 -:105A1000B1F5804F818B02D021F4804101E041F447 -:105A2000804181837047838A0022008B43EA0043D0 -:105A300023F07F40814300D1012210467047818AC4 -:105A4000008B41EA004121F07F40704700220B0F9C -:105A500021F07F4101D0143001E0090C18300068BA -:105A6000084200D0012210467047C9438182704726 -:105A700010B58388002201F0E064808A03EA1443B1 -:105A800021F07F41084201D003B10122104610BD30 -:105A9000C9438182704700000054004040420F001B -:105AA000A0860100A448016841F00101016041683D -:105AB000A24A114041600168A14A11400160016899 -:105AC00021F480210160416821F4FE0141604FF41E -:105AD0001F018160704798490A6822F480320A6089 -:105AE0000A6822F480220A60B0F5803F07D0B0F542 -:105AF000802F03D1086840F4A02008607047086830 -:105B000040F48030F9E70246002053098A49012B0E -:105B10000AD0022B0AD0496A02F01F0201239340E7 -:105B20000B4200D0012070470968F5E7096AF3E7E6 -:105B300030B500244FF4A0653120FFF7E4FF641C6A -:105B4000AC4201D00028F7D03120FFF7DCFF00285D -:105B500000D0012030BD78490A6822F0F80242EAFC -:105B6000C00008607047774908607047724A536800 -:105B7000084323F47C13184350607047714908664A -:105B800070476D4A516821F003010143516070472D -:105B90006948406800F00C007047674A516821F07E -:105BA000F001014351607047634A516821F4E0619C -:105BB00001435160704760494A6822F4605242EAEA -:105BC000C000486070475C4A0029517A01D0014307 -:105BD00000E08143517270475B4908607047564A44 -:105BE000516821F4404101435160704757490022F8 -:105BF0000A7001F82029012802D0042802D10520CA -:105C000081F8200070475249086070474A490A6A83 -:105C100002430A6270474E4944390860704746495A -:105C200010B54A6812F00C034A4A03D0042B01D085 -:105C3000082B26D002604A68474B02F0F002120996 -:105C40009C5C0268E24042604C6804F4E064240A10 -:105C50001C5D22FA04F484604C6804F460544FEA3A -:105C6000D4241B5D22FA03F2C26049683A4B01F466 -:105C700040414FEA91311B1F595CB2FBF1F10161C8 -:105C800010BD4A684B6802F470124FF0020413F41E -:105C9000803F04EB924202D04B689B0301D52F4B0F -:105CA00000E02C4B5A43C5E7234A0029516901D033 -:105CB000014300E08143516170471F4A0029916907 -:105CC00001D0014300E08143916170471A4A0029E5 -:105CD000D16901D0014300E08143D1617047164A88 -:105CE0000029D16801D0014300E08143D1607047B1 -:105CF000114A0029116901D0014300E0814311617B -:105D0000704713494039086070470E49C8647047AE -:105D10000949C87170470848416A41F08071416281 -:105D20007047054A0146002092680A4200D00120CF -:105D30007047014988727047001002400000FFF868 -:105D4000FFFFF6FE00004242D8004242201002400F -:105D50008004424200127A00F002002000093D0057 -:105D6000F64910B5884202D10121C41486E0B0F191 -:105D7000804F09D0F24988420DD101210220FFF75E -:105D8000B7FF0021022064E001210846FFF7B0FFC1 -:105D9000002101205DE0EB49884206D10121042069 -:105DA000FFF7A6FF0021042053E0E749884206D10F -:105DB00001210820FFF79CFF0021082049E0E3496A -:105DC000884206D101211020FFF792FF0021102008 -:105DD0003FE0DF49884206D101212020FFF788FFFC -:105DE0000021202035E0DB49884202D10121441402 -:105DF00044E0D949884202D10121CC043EE0D74990 -:105E0000884202D101210C0538E0D549884202D1EF -:105E100001214C0532E0D349884206D101214020BE -:105E2000FFF766FF0021402013E0CF49884206D1EA -:105E300001218020FFF75CFF0021802009E0CB4991 -:105E400088420AD1841501212046FFF751FF002125 -:105E50002046BDE81040FFF74BBFC549884202D13C -:105E600001210C040AE0C349884202D101214C04FB -:105E700004E0C14988420AD101218C042046FFF781 -:105E80002EFF2046BDE810400021FFF728BF10BDBF -:105E900030B50288A94BAF4C98420DD0A0420BD030 -:105EA000B0F1804F08D0A64DA84205D0A54DA8421C -:105EB00002D0A54DA84203D122F070054A882A439A -:105EC000A24DA84206D0A24DA84203D022F44075AC -:105ED000CA882A4302808A8882850A880285984275 -:105EE0000AD0A04208D0A24A904205D0A14A9042CE -:105EF00002D0A14A904201D1097A01860121818212 -:105F000030BD30B5028C22F001020284028C8388FD -:105F1000048B22F0020224F073050C882C430D89B7 -:105F200015434A882A43854DA8420BD0894DA84283 -:105F300008D08F4DA84205D08E4DA84202D08E4D7C -:105F4000A8420DD122F008054A8923F440732A4360 -:105F500022F004058A882A438D891D43CB892B436F -:105F600083800483C9888186028430BD30B5028C69 -:105F700022F010020284028C8388048B22F020021B -:105F800024F4E6450C88240645EA14440D892D05C1 -:105F900042EA15454A88120545EA1242674DA84271 -:105FA00002D06C4DA84215D122F080054A8923F415 -:105FB0004063120545EA124222F040058A88120524 -:105FC00045EA12428D89AD0443EA1545CB899B040D -:105FD00045EA134383800483C9880187028430BD66 -:105FE00030B5028C22F480720284028C8388848B08 -:105FF00022F4007224F073050C882C430D892D06C1 -:1060000042EA15454A88120645EA12424B4DA8421B -:1060100002D0504DA84215D122F400654A8923F4DC -:106020004053120645EA124222F480658A8812061D -:1060300045EA12428D892D0543EA1545CB891B059A -:1060400045EA134383808483C9888187028430BDF5 -:1060500030B5028C22F480520284038C8288848BB7 -:1060600024F4E6450C88240645EA144423F400553C -:106070000B891B0745EA13434D882D0743EA154555 -:106080002E4B984202D0334B984205D122F48043E4 -:106090008A89920543EA124282808483C988A0F8E3 -:1060A0004010058430BD828B22F440628283828B53 -:1060B00042EA012282837047828B22F00C028283A3 -:1060C000828B0A4382837047028B22F440620283F0 -:1060D000028B42EA01220283704770B5048C24F0DF -:1060E00010040484068B048C26F473461B0746EACE -:1060F0001343120643EA12420D05104B2D0C984231 -:106100000ED0144B98420BD0B0F1804F08D00C4BFE -:10611000984205D00B4B984202D00B4B984205D1C8 -:1061200024F02001294341F0100104E024F0A003F1 -:106130000B4343F010010283018470BD002C014029 -:106140000004004000080040000C00400010004027 -:106150000014004000340140004C01400050014058 -:106160000054014000180040001C00400020004086 -:10617000004001400044014000480140028B22F0F1 -:106180000C020283028B0A430283704730B5048CF1 -:1061900024F001040484058B048C1B0542EA13439C -:1061A00025F0F305F64A2B4390420ED0F54A904273 -:1061B0000BD0B0F1804F08D0F34A904205D0F34A9B -:1061C000904202D0F24A904202D124F0020201E051 -:1061D00024F00A020A4342F001010383018430BD26 -:1061E0002DE9F05F0D4604460E88E548DFF894C3BC -:1061F000DFF894A3DFF894E34988AA882B894FF04D -:10620000804B3EB3042E2DD0082E268C32D026F49F -:1062100080562684B4F81C90268C0F074FEA174846 -:10622000120629F473471B0747EA124242EA134356 -:1062300084420AD0644508D05C4506D0544504D059 -:10624000744502D0D248844241D126F4005040EA3D -:1062500008003FE02046FFF799FFE9882046BDE8A7 -:10626000F05F8BE72046FFF738FFE9882046BDE85E -:10627000F05F29E726F480762684A78B268C1B0501 -:1062800027F0F30742EA13434FEA01683B434FEA22 -:10629000184884420AD0644508D05C4506D054456D -:1062A00004D0744502D0BA48844204D126F4007068 -:1062B00040EA080002E026F42060084340F48070C1 -:1062C000A3832084E9882046BDE8F05FF4E626F445 -:1062D0000240084340F48050A3832084E98820468C -:1062E000BDE8F05FDFE62DE9F0410C460025498866 -:1062F0000746012601B90225A288012A00D10226FB -:10630000208823890028384610D0FFF7E6FEE18870 -:106310003846FFF7D9FE2389324629463846FFF72B -:1063200035FFE1883846BDE8F04127E7FFF72EFF4B -:10633000E1883846FFF722FF23893246294638464E -:10634000FFF7CBFEE1883846BDE8F041BCE610B56A -:106350000A884B88CC881A438B8823431A430B89BD -:106360001A434B8989891A430A43A0F8442010BD77 -:106370004FF6FF71818000210180C1804180017250 -:1063800070470021018041808180C180018141816D -:106390008181C1817047002101804180012282807A -:1063A000C180018170470021018041808180C180CE -:1063B00001814181818170470029018802D041F02B -:1063C000010101E021F0010101807047002930F84E -:1063D000441F02D041F4004101E0C1F30E010180ED -:1063E0007047002A828901D00A4300E08A438281F3 -:1063F0007047818270471143A0F848107047002A07 -:10640000828901D00A4300E08A4382817047018972 -:1064100021F0070101817047028922F070020A43CE -:106420000281704700B50346FFF7F6FF188940F078 -:106430000700188100BD70B50D4611460446602D59 -:106440004FF001020AD0FFF7A1FE29462046FFF7D0 -:10645000E3FF208940F00700208170BDFFF73DFE7B -:10646000F3E710B5048942EA0323E4B20B43234364 -:10647000038110BD10B50446FFF7F3FF208940F0FB -:106480007700208110BD10B50446FFF7EAFF208990 -:1064900040F48040208110BD0185828270470288CF -:1064A00022F070020A430280704770B50589048BA0 -:1064B000068C25F007050D434FF6FC410C4040F2D9 -:1064C00001110C4326F0220642EA031131430581F3 -:1064D0000483018470BD028B22F070020A430283A0 -:1064E0007047028B22F4E04242EA012101837047A7 -:1064F000828B22F070020A4382837047828B22F4DF -:10650000E04242EA0121818370470029018802D0DC -:1065100041F0800101E021F08001018070470029F5 -:10652000818802D041F0040101E021F00401818062 -:1065300070470029818802D041F0080101E021F074 -:106540000801818070470029818802D041F0010153 -:1065500001E021F0010181807047028B22F00802E6 -:106560000A4302837047028B22F4006242EA01214F -:1065700001837047828B22F008020A4382837047AE -:10658000002C01400034014000040040000800409D -:10659000000C0040828B22F4006242EA01218183D8 -:1065A0007047028B22F004020A4302837047028B79 -:1065B00022F4806242EA012101837047828B22F03B -:1065C00004020A4382837047828B22F4806242EA8B -:1065D000012181837047028B22F080020A430283EB -:1065E0007047028BC2F30E0242EA01210183704719 -:1065F000828B22F080020A4382837047828BC2F32F -:106600000E0242EA012181837047028C22F00202CD -:106610000A4302847047028C22F008020A43028473 -:106620007047028C22F0200242EA01110184704777 -:10663000028C22F0800242EA011101847047028C30 -:1066400022F4007242EA012101847047028C22F494 -:10665000006242EA012101847047028C22F4005258 -:1066600042EA01310184704710B50123048C8B404C -:106670009C430484038C8A401343038410BD10B5EB -:106680000423048C8B409C430484038C8A40134372 -:10669000038410BD30B50124058C00F118038C4033 -:1066A000A543058479B108290DD0091F88B203EBF1 -:1066B0005000016821F4E041016001681206120CEB -:1066C0001143016030BD03EB5100016821F07001FE -:1066D00001600168F4E70029018802D041F002015D -:1066E00001E021F00201018070470029018802D0F9 -:1066F00041F0040101E021F004010180704700290C -:10670000818802D041F0800101E021F08001818088 -:106710007047028822F00802028002880A43028041 -:106720007047828822F07002828082880A438280C9 -:106730007047028922F00702028102890A4302811E -:106740007047028922F08002028102890A43028195 -:1067500070478184704781857047818670470187C3 -:10676000704781877047A0F840107047028822F474 -:106770004072028002880A4302807047808E704710 -:10678000008F7047808F7047B0F840007047808C52 -:106790007047008D704702460020128A0A4200D0DE -:1067A00001207047C94301827047038A0022808913 -:1067B0000B4200EA010001D000B1012210467047EF -:1067C000C943018270470000C64910B588420AD10A -:1067D00001218C032046FFF782FA2046BDE81040D5 -:1067E0000021FFF77CBAC049884202D101214C0444 -:1067F00010E0BE49884202D101218C040AE0BC4964 -:10680000884202D10121CC0404E0BA4988420AD16D -:1068100001210C052046FFF76BFA2046BDE8104029 -:106820000021FFF765BA10BD30B50446008A85B077 -:106830000D464CF6FF710840E98801432182A18989 -:106840004EF6F3100140A8882A8910436A890A434A -:106850001043A081A08A4FF6FF410840A989014357 -:10686000A1826846FFF7DBF99E48844201D1039874 -:1068700000E00298A1890904002900EBC00101EBA6 -:106880000010296802DA4FEA410101E04FEA810174 -:10689000B0FBF1F06422B0FBF2F14FEA01114FEAD4 -:1068A00011136FF018056B4300EB8300A3891D04DF -:1068B0004FF0320306D503EBC000B0FBF2F000F05E -:1068C000070005E003EB0010B0FBF2F000F00F0052 -:1068D0000843208105B030BD4FF4165101600021FE -:1068E0008180C18001810C2242818181704710B575 -:1068F000038A4FF2FF0213400A884C8822438C8897 -:10690000C9880C4322431A43028210BD0021018032 -:1069100041808180C18070470029818902D041F483 -:10692000005101E021F400518181704710B5C1F39D -:10693000421301F01F040121A140012B07D0022BBB -:1069400007D01430002A026805D00A4304E00C3056 -:10695000F8E71030F6E78A43026010BD002A828A09 -:1069600001D00A4300E08A4382827047028A22F003 -:106970000F020282028A0A4302827047828922F44D -:106980000062828182890A4382817047002981895D -:1069900002D041F0020101E021F002018181704743 -:1069A000028A22F020020282028A0A43028270478F -:1069B0000029018A02D041F4804101E021F48041A4 -:1069C00001827047C1F30801818070478088C0F35D -:1069D00008007047818941F0010181817047028B75 -:1069E000D2B20283028B42EA012101837047028BFB -:1069F00002F47F420283028B0A430283704700291C -:106A0000818A02D041F0200101E021F02001818241 -:106A100070470029818A02D041F0100101E021F085 -:106A20001001818270470029818A02D041F008015B -:106A300001E021F00801818270470029818902D09C -:106A400041F4004101E0C1F30E018181704700294A -:106A5000818A02D041F4006101E021F40061818269 -:106A60007047828A22F004028282828A0A438282EA -:106A700070470029818A02D041F0020101E021F033 -:106A80000201818270470246002012880A4200D02B -:106A900001207047C9430180704770B501F01F069F -:106AA00001220025C1F3421302FA06F4012B0FD094 -:106AB000022B0FD0838A4FEA11210088234202FA69 -:106AC00001F200EA020001D000B10125284670BDA4 -:106AD0008389F0E7038AEEE70A0A01219140C9435E -:106AE00001807047003801400044004000480040E9 -:106AF000004C004000500040904910B5884206D13B -:106B000001210420FFF7EBF8002104203BE08C4931 -:106B1000884206D101210820FFF7E1F80021082072 -:106B200031E08849884206D101211020FFF7D7F8CB -:106B30000021102027E08449884206D1012120202D -:106B4000FFF7CDF8002120201DE08049884206D1C2 -:106B500001214020FFF7C3F80021402013E07C49C9 -:106B6000884206D101218020FFF7B9F8002180205A -:106B700009E0784988420AD1841501212046FFF7AF -:106B8000AEF800212046BDE81040FFF7A8B810BDC0 -:106B900010B501210846FFF7A2F80021BDE810401A -:106BA0000120FFF79CB82DE9F041CB78002503F0D8 -:106BB0000F02DB0601D58B781A430B884FF00F08C4 -:106BC00013F0FF0F4FF0010C1BD004680E880CFA75 -:106BD00005F31E409E4210D1AF0008FA07F624EAE2 -:106BE000060602FA07F43443CE78282E02D0482E47 -:106BF00002D002E0436100E003616D1C082DE5D383 -:106C000004600B88FF2B1DD94468002505F1080698 -:106C10000CFA06F30E881E409E420FD1AF0008FA10 -:106C200007F624EA060602FA07F43443CE78282E43 -:106C300000D14361CE78482E00D103616D1C082D30 -:106C4000E4D34460BDE8F0814FF6FF71018002217A -:106C500081700421C17070470246002092680A4288 -:106C600000D001207047806880B270470246002043 -:106C7000D2680A4200D001207047C06880B27047D5 -:106C800001617047416170470AB10161704741611C -:106C90007047C160704741F48032826181618261D6 -:106CA0008169806970472C4B10B51A684FF6807463 -:106CB000224042EA00100843186010BD2749C8610D -:106CC0007047F0B5244C002801DAE36900E06368FE -:106CD000420D120185B2C0F301579540C0F303463F -:106CE000032F05D0C2020AD50322B240934307E026 -:106CF00023F07062636823F07063636002E0AB436B -:106D000043F0706201B12A43002801DAE261F0BD6C -:106D10006260F0BD10B58A0721F003040E49130F1D -:106D200021440F228C689A4094438C608A68984072 -:106D300002438A6010BD0A4908607047000801409C -:106D4000000C0140001001400014014000180140F7 -:106D5000001C0140002001400000014000002042D2 -:106D6000DC002042FC4A116801F038010143116047 -:106D70007047F9490A6822F008020A600A6802436B -:106D80000A607047F4490A6822F010020A600A6833 -:106D900002430A607047F048F0494160F0494160A1 -:106DA0007047ED48ED494160ED4941607047EA4860 -:106DB000016941F0800101617047E748016941F0D4 -:106DC000800101617047E4490420CA68D20701D0FC -:106DD00001207047CA68520701D502207047C96870 -:106DE000C906FBD50320704700B50346FFF7EBFF4C -:106DF00003E000BFFFF7E7FF5B1E012803D0002B75 -:106E000000D1052000BD002BF4D1FAE770B505468E -:106E10004FF430263046FFF7E7FF042811D1CE4C5F -:106E2000206940F0020020616561206940F0400067 -:106E300020613046FFF7D8FF216941F6FD7211400D -:106E4000216170BD30B54FF430252846FFF7CCFFE7 -:106E5000042810D1C04C206940F004002061206952 -:106E600040F0400020612846FFF7BEFF216941F64F -:106E7000FB721140216130BD00B50346FFF7A3FF4F -:106E800003E000BFFFF79FFF5B1E012803D0002B2C -:106E900000D1052000BD002BF4D1FAE730B54FF446 -:106EA00030252846FFF7E8FF042810D1AA4C2069B6 -:106EB00040F004002061206940F040002061284635 -:106EC000FFF7DAFF216941F6FB721140216130BD05 -:106ED000A1490020C969890700D50120704770B514 -:106EE000A525FFF7F5FF00B100254FF43026304609 -:106EF000FFF77AFF042827D1974C9848A06098485C -:106F0000A060206940F020002061206940F040002E -:106F100020613046FFF768FF41F6EF7604280ED176 -:106F2000206941F6DF7108402061206940F01000BF -:106F300020618C4805804FF40050FFF755FF05286D -:106F400002D021693140216170BDF0B505464FF492 -:106F5000005C0E466046FFF747FF042814D17E4CC4 -:106F6000206940F0010020612E806046FFF73CFF61 -:106F700041F6FE77042804D1300C68806046FFF7A4 -:106F800033FF216939402161F0BDF0B505464FF46A -:106F900000570E463846FFF727FF04280CD16E4CE9 -:106FA000206940F0010020612E803846FFF71CFF69 -:106FB0002169BA1E11402161F0BDF0B505464FF4BC -:106FC00000570E463846FFF70FFF042813D1624CD6 -:106FD0006248A0606248A060206940F01000206113 -:106FE0002E803846FFF700FF052804D0216941F6BE -:106FF000EF7211402161F0BD2DE9F041C043C4B2F0 -:10700000C0F30725C0F30746070E4FF4005840466B -:10701000FFF7EAFE04283CD1DFF83CC14F49CCF829 -:1070200008104F49CCF80810DCF8101041F010019E -:10703000CCF81010FF2C07D04A4808300480404696 -:10704000FFF7D2FE04281BD1FF2D07D045480A3098 -:1070500005804046FFF7C8FE042811D1FF2E07D057 -:1070600040480C3006804046FFF7BEFE042807D19A -:10707000FF2F07D03B480E3007804046FFF7B4FE95 -:10708000052806D0DCF8101041F6EF721140CCF85C -:107090001010BDE8F08170B506464FF43025284643 -:1070A000FFF7A2FE042818D12B4C2C48A0602C48D6 -:1070B000A060206940F020002061206940F040007D -:1070C00020612846FFF790FE41F6DF71042805D0C5 -:1070D000052802D022690A40226170BD206908405B -:1070E0002061206940F0100020611E480EB100218F -:1070F00000E0A52101802846FFF776FE0528ECD0A8 -:10710000216941F6EF721140216170BDF0B5124C5A -:10711000064612480D461746A0601148A0604FF47D -:10712000005C6046FFF760FE042814D1206940F03F -:10713000100020613D430B493543891C45F0F800A0 -:1071400008806046FFF750FE052804D0216941F60B -:10715000EF7211402161F0BD00200240230167451C -:10716000AB89EFCD00F8FF1F1C48C069800870474D -:107170001A48006A7047194900200968890600D535 -:1071800001207047154A0029116901D0014300E030 -:1071900081431161704701460020104A012903D044 -:1071A000D2680A4203D17047D169C907FBD00120D8 -:1071B00070470A49C860704708490420CA68D20766 -:1071C00001D001207047CA68520701D502207047DC -:1071D000C968C906FBD503207047000000200240A3 -:1071E00014481549026800608A4203D0134880475A -:1071F00013480047134E4FF00900306012480168F1 -:1072000021F07061016041020160104C1820206083 -:107210000F49104808601048D0F800D04068004777 -:10722000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE736 -:10723000FEE7FEE7F04F0020EFBEADDED14F0008C5 -:10724000ED0000081810024004000140140C014039 -:10725000000C01404434434400F0FF1FA0F16101E1 -:10726000192900D8203870472DE9F05F83460F4672 -:10727000154699464FF0FF36DDF828A011E0A81911 -:10728000441009FB04708046014658465246904718 -:10729000002802D004DA254603E04046BDE8F09F0E -:1072A0002646A5EB06000128E9DC0020F6E740EAC7 -:1072B00001039B0703D009E008C9121F08C0042A74 -:1072C000FAD203E011F8013B00F8013B521EF9D25B -:1072D0007047D2B201E000F8012B491EFBD2704783 -:1072E0000022F6E710B5044608461146024620463D -:1072F000FFF7EFFF204610BD30B50EE003460A460B -:1073000001E05B1C521C1C781578AC4201D1002CAA -:10731000F7D115F0FF0F04D0401C0278002AEDD100 -:10732000002030BDCAB20178914203D009B1401C9F -:10733000F9E7002070470146002000E0401C0A5C8D -:10734000002AFBD170472DE9F041054600200E468A -:107350009046044600E0641C44450BD2285D00F0D2 -:1073600086FB0746305D00F082FB381A02D1295DAA -:107370000029F0D1BDE8F08170B5064600F0A4FD0B -:10738000046805460A220021304600F076FB2C6096 -:1073900070BDF0B480EA0102D20F4300B3EB410F9D -:1073A00002D20346084619464B0042D0C30DDDB257 -:1073B000C1F3C7542C1B202C35DAC1F3160141F45C -:1073C000000502B16D42C4F1200605FA06F125411F -:1073D0002844B3EBD05F23D0C2B1012CA0EBC35043 -:1073E00009DCF0BC4FF0004202EAC35200F5000095 -:1073F000DBB200F083BB400000F1807000EBC350B3 -:10740000A0F1807040EAD170490009E0490841EAE2 -:10741000C071A0EBC35000F50000400800EBC35062 -:10742000F0BC00F062BB5142012303EB4101801A22 -:10743000F6E7F0BC704781F00041AAE780F0004019 -:10744000A7E780EA010210B502F00042400026D012 -:107450004B0023D04FEA106101EB1361C0F35600DB -:10746000C3F3560340F4000043F40003A0FB0330D1 -:10747000A1F17F014FEA00401C0401D000F101009E -:1074800050EA134001D44000491EC3B20C0604EB7D -:10749000D010401C4008802B02D003E0002010BD1B -:1074A00020F00100002900DA0020104310BD80EA1E -:1074B000010202F0004330B430F0004221F00040FD -:1074C00015D0A0B1C0F3C755C2F3C754C2F316011B -:1074D000C0F31600651B41F4000140F400007D3547 -:1074E000814201D36D1C00E04900002D02DA30BC5E -:1074F000002070474FF400020024814201D3091A92 -:10750000144352084FEA4101F7D151B1814202D1EF -:107510004FF0004105E002D24FF0010101E06FF0B1 -:10752000010104EBC55030BC184400F0DEBA2DE96F -:10753000FE4F074681EA0300C00F0E46019021F07E -:10754000004123F00044B81AA14105D23846314623 -:1075500017461E460B46024623F00040104304D156 -:107560003846314603B0BDE8F08F350DC5F30A004B -:10757000C3F30A510290401A0090402868DAC3F31E -:10758000130040F4801B0198924620B10023D2EBF7 -:10759000030A63EB0B0B00985946C0F140025046BA -:1075A00000F034FA80460C4650465946009A00F0E6 -:1075B0004CFAC0197141EF1785EA11533B4340D093 -:1075C000019A52B3009A012A11DC0022801A4FF06E -:1075D000004361EB055103EA05538018CDE9002310 -:1075E00041F580114246234600F0ECFABAE72E0539 -:1075F0000025401B61EB0601401941F5801200187F -:1076000052412818A6F5001343EB020140EAD4705A -:10761000294318EB0808644113E064084FEA38086E -:107620004FF0000244EAC0744FEA0553801A61EB40 -:107630000301801841F5801149084FEA3000801895 -:1076400059414246234603B0BDE8F04F00F0ADBAC1 -:107650000198012240000023D0EB020263EBE073AB -:1076600001984FEAE074381A66EB0401EBE783F007 -:1076700000435CE781F0004159E72DE9FE4F81EAC4 -:10768000030421F0004504F0004423F000414FF0D2 -:10769000000A009450EA050302D052EA010304D123 -:1076A0000020014603B0BDE8F08FC1F30A53C5F3D3 -:1076B0000A541C44A0FB02B3C5F3130545F4801C17 -:1076C000C1F3130141F480180CFB023300FB083EA8 -:1076D000A4F2F334810A930A41EA8C5143EA8853B5 -:1076E0000194A1FB03474FEA9C2505FB03734FEA76 -:1076F000982601FB06373D05260545EA1435BBEB08 -:1077000006016EEB0503850E920E45EA8C1542EAE2 -:107710008812A5FB0206261E67EB00070C0D44EA43 -:107720000334A41947EB1350C1F313064FF00003C1 -:1077300019464FEA033343EA165343EA0403019C14 -:10774000E5FB0201A4F10C040294009C4FEA06320E -:10775000CDE900A400F036FAA4E72DE9F04D81EA66 -:10776000030404F0004B21F0004714464FF0000AD8 -:1077700023F0004150EA070220D054EA01021DD054 -:10778000C1F30A550246C1F31300C7F30A56C7F303 -:10779000130340F4801143F48013A6EB0508101B7B -:1077A000D64608F2FD3873EB010002D308F1010858 -:1077B00001E092185B41B8F1000F03DA00200146A6 -:1077C000BDE8F08D00204FF48015064607460EE018 -:1077D000B2EB040C73EB010C04D3121B064363EBF6 -:1077E00001032F436D084FEA300092185B4150EAC5 -:1077F000050CEDD152EA030012D082EA040083EABC -:107800000105284303D100224FF0004308E0101B7C -:107810008B4102D20122002302E06FF001025310DB -:107820001AEB060047EB085110EB0A0041EB0B0185 -:10783000BDE8F04D00F0B9B9C10F80EAE07008442E -:10784000CA079623002100F059B996230022114659 -:1078500000F054B90EB5C10F80EAE0700844CA07C1 -:10786000002140F233438DE80E000A460B4600F03B -:10787000A9F903B000BD0EB540F2334102910021D9 -:10788000CDE900110A460B4600F09CF903B000BD9B -:1078900000F0004220F00040C10DC0F3160040F49B -:1078A00000007F2901DA00207047962903DCC1F12E -:1078B0009601C84001E096398840002AF4D0404241 -:1078C000704720F00040C10DC0F3160040F40000E6 -:1078D0007F2901DA00207047962903DCC1F1960167 -:1078E000C840704796398840704770B5C1F30A5256 -:1078F00001F000450024C1F3130140F2FF3341F4CD -:1079000080119A4201DA002070BD40F233439A425E -:10791000A2F2334203DC524200F087F800E09040CC -:107920002C43F1D0404270BDC1F30A52C1F31301A0 -:1079300040F2FF3341F480119A4201DA002070478F -:1079400040F233439A42A2F2334202DC524200F048 -:107950006CB89040704700F0004230F000400DD00D -:10796000C10D01F5607142EA01510022C0F3160019 -:10797000520742EAD00240071143704700200146F7 -:107980007047000030B5002904DB4FF0004440424E -:1079900064EB0101002B04DB4FF00044524264EB26 -:1079A00003038B4208BF824230BD000030B500297E -:1079B00004DB4FF00044404264EB0101002B04DB88 -:1079C0004FF00044524264EB0303994208BF9042D7 -:1079D00030BD000001F0004230B421F0004150EA17 -:1079E000010306D00B0DA3F56073C1F31301002B47 -:1079F00002DC30BC00207047440F44EAC104C100DF -:107A0000A01830BC00EBC35000F06FB8202A04DB94 -:107A1000203A00FA02F1002070479140C2F12003A1 -:107A200020FA03F3194390407047202A04DB203AE0 -:107A300021FA02F00021704721FA02F3D040C2F18E -:107A400020029140084319467047202A06DBCB17D5 -:107A5000203A41FA02F043EAE071704741FA02F33A -:107A6000D040C2F120029140084319467047A0F16E -:107A70004101192900D8203070472DE9F0470F4601 -:107A8000914680460446002614F8015B2DB100F0B3 -:107A900065F90068405DC007F6D12B2D02D02D2D71 -:107AA00018D0641E4A463946204600F05BF927B1DB -:107AB0003968A14201D1C7F8008071054FF0020476 -:107AC0000BD54042002803DD00F0FEF90460A0075A -:107AD000BDE8F08746F48066E4E70028F8DA00F0B5 -:107AE000F3F904606FF00040F2E70029A8BF704787 -:107AF000401C490008BF20F00100704710B4B0FAE4 -:107B000080FC00FA0CF050EA010404BF10BC70477E -:107B100049B1CCF1200421FA04F411FA0CF118BF98 -:107B2000012121430843A3EB0C01CB1D0106000AF0 -:107B3000002BBEBF002010BC704700EBC3501044A8 -:107B40000029A4BF10BC7047401C490008BF20F0AA -:107B5000010010BC7047420005D0C0F3C75252422A -:107B6000914201DC0020704700EBC150704710B516 -:107B700041000CD0C0F3C751962908DC7E2909DCEE -:107B800006DB410204D000F0004040F07E5010BD02 -:107B9000002010BDC1F19604C4F1200100FA01F1EA -:107BA000E040FFF7A2FFA04010BD10B5002B08DA9F -:107BB000401C41F1000192185B411A4301D120F0B1 -:107BC000010010BD2DE9F04D92469B4611B1B1FA6E -:107BD00081F202E0B0FA80F220329046FFF716FF01 -:107BE00006460F4640EA0A0041EA0B0152465B4650 -:107BF000084303D130463946BDE8F08D194652EAB4 -:107C0000010015D0C8F140025046FFF70EFF0446B0 -:107C10000D46504659464246FFF7F8FE084301D04C -:107C2000012000E00020044345EAE07526432F438D -:107C30000A984FEAD625A0EB08000A304FEA4653CF -:107C40004FF0000245EA47554FEAD72402D50020FD -:107C50000146D1E7010550196141DDE908450019E8 -:107C60006941BDE8F04DA0E770B521F00043034342 -:107C70000CD0C1F30A540026D4EB060566EB0603CC -:107C8000D417AD1AA34102DB0020014670BD001CD1 -:107C900041EB025170BD2DE9F04D00231A461B1A2D -:107CA0008A4103DB00200146BDE8F08DC1F30A5292 -:107CB000C1F3130141F480154FF0000BD10702D13D -:107CC00000186D41521E0026044640F2FF11304656 -:107CD00001EB620A37468046024600204FF48011CD -:107CE000FFF7A3FE80197941331847EB0102B4EB8B -:107CF000030C75EB020C04D3E41A65EB020506468F -:107D00000F46241908F101006D4180463428E3DD57 -:107D1000B11947EB0700091BA84103D24FF0FF320E -:107D2000134601E0002213461BEB060047EB0A5105 -:107D3000BDE8F04DFFF739BF064C074D06E0E0689F -:107D400040F0010394E8070098471034AC42F6D3A2 -:107D5000F8F7D0F9F4A3000814A40008004870470D -:107D6000ECA000082DE9F05F8246007800278B46E2 -:107D700015460AF10104B946302801D09DB113E03F -:107D800014F8010B0127782803D0582801D045B1F9 -:107D90000AE00DB1102D07D10027102514F8010BB2 -:107DA00002E0082500E00A250026B0460EE005FBAB -:107DB000080005FB06F1012701EB10461FFA80F8C9 -:107DC000B6F5803F00D3B94614F8010B294600F000 -:107DD00018F80028EBDABBF1000F05D00FB1641ED4 -:107DE00000E05446CBF80040B9F1000F06D000F097 -:107DF0006BF802210160C81EBDE8F09F48EA06400A -:107E0000FAE73A2800D2303820F02002412A01D384 -:107E1000A2F13700884201D34FF0FF30704770B5B0 -:107E200001EB020410F8015B15F0070301D110F813 -:107E3000013B2A1106D110F8012B03E010F8016B69 -:107E400001F8016B5B1EF9D12B0705D40023521EEC -:107E50000FD401F8013BFAE710F8013B02F10202EE -:107E6000A1EB030303E013F8015B01F8015B521E71 -:107E7000F9D5A142D6D3002070BD490050EAC120F7 -:107E800018BF04204A0D18BF40F0010040F2FF72F5 -:107E9000B2EB515F08BF40F00200012808BF052087 -:107EA00070474100080218BF04200A0E18BF40F0B6 -:107EB00001004FF07F4232EA010108BF40F00200AA -:107EC000012808BF052070470048704700030020C4 -:107ED0002DE9F74F144696B00021C4E90211179915 -:107EE000099121F00047C9498F4206DC1799C4E97E -:107EF000000119B00020BDE8F08FC549C54EB94258 -:107F000041DD0999DFF81083DFF810A3C44A002986 -:107F10001BDD33461799FFF7AAFBB74206D0C14ACB -:107F2000C14BFFF7A4FBC4E900010AE04FF0D352B4 -:107F3000BD4BFFF79CFB42465346FFF798FBC4E955 -:107F4000000119B00120BDE8F08F3546334617997E -:107F5000FFF7EDFAAF4206D0B24AB34BFFF7E7FAAC -:107F6000C4E900010AE04FF0D352AF4BFFF7DFFA4C -:107F700042465346FFF7DBFAC4E9000119B04FF05F -:107F8000FF30BDE8F08FA9498F42179977DC21F0C7 -:107F900000458346A64AA74B2946FFF76EFB002201 -:107FA000A54BFFF7C4FAFFF7A0FC0A90FFF752FCBD -:107FB00080468A469A4A3346FFF75FFB2B465A466D -:107FC000FFF758FB05460E46964A974B40465146EA -:107FD000FFF753FB3A0D01270C922A463346FFF771 -:107FE00049FB032FC4E9000138D00C98C1F30A51B2 -:107FF000401A07EB4711113988422FDD8F48009650 -:10800000784400EB07100D90D0E90023AB464046C2 -:108010005146FFF732FBCDE9040102460B465846B4 -:108020000099FFF724FB05460E4602460B465846CC -:108030000099FFF71CFBDDE90423FFF718FB8346DB -:108040000D9804915146D0E902234046FFF715FBF5 -:108050005A46049BFFF70BFB7F1CBEE709980028DC -:10806000A2BF0A9819B0BDE8F08F616881F00041A5 -:1080700061600A9819B04042BDE8F08FFFE784467E -:108080001798C1F31301C0F30A5041F48011A0F214 -:10809000F5300591411100F01F08C8F12000129041 -:1080A0000020109011906648784400EB810000F1A8 -:1080B000140311A8062719685D68129A01FA08F1DD -:1080C00025FA02F21143059AD0F800A0A1FB02564E -:1080D000A1FB0C2192440D44924534BF4FF0010B9B -:1080E0004FF0000B50F8042C05EB0B0E72448D4240 -:1080F00034BF012100213144BBF1000F02D0AA425C -:1081000002D903E0AA4201D2012500E0002529445A -:10811000C0F800A040E902121B1F001F7F1ECAD139 -:108120000C980F9F00F10050800F12900C98DDE921 -:108130000D568000FFF78EFBCDE908012846FFF7BA -:108140009AFB6FF01D02FFF78FFDCDE90601304667 -:10815000FFF791FB6FF03D02FFF786FD82468B46ED -:108160003846FFF788FB6FF05D02FFF77DFD07469D -:10817000884652465B46FFF7DAF9DDE90623FFF74A -:10818000D6F9DDE90823FFF7D2F9DDE90823002558 -:108190000E462846FFF76BFADDE90623FFF767FA7C -:1081A00052465B46FFF763FA3A464346FFF762FAE8 -:1081B000DFF894A0234A5346FFF75FFA80460F4644 -:1081C000224A234B31462846FFF757FA42463B46A0 -:1081D000FFF7ADF9074688464FF0A84253463146AF -:1081E0002846FFF74AFA3A464346FFF7A0F9179A9E -:1081F00012F0004F04D0129A81F0004152421292C4 -:10820000C4E90001129819B0BDE8F08FFB21E93FE5 -:108210007CD90240FB21F93F7370032E8A19A33BDE -:10822000000040543163621A61B4D03DFB213941F2 -:1082300083C8C96D305FE43F0000E03F541F000079 -:10824000DC1E0000182D4454FB21F93D3326A611F5 -:10825000460B113C2DE9FF4D21F0004807460C4626 -:10826000B8F1795F08DAFFF740FB002801BF002072 -:10827000324904B0BDE8F08D3A462346104619460F -:10828000FFF7FBF9054602462D480E460B46062130 -:10829000784400F05DF82A463346FFF7EEF9DDE951 -:1082A000022382468B4638462146FFF7E6F904460C -:1082B0000F4652465B4628463146FFF7DEF9224616 -:1082C0003B46FFF7D4F907468A464FF0FF3228466F -:1082D0003146FFF7C9FC1B4A90450ADA3A46534635 -:1082E000FFF7C5F904B00022BDE8F04D134BFFF7CE -:1082F000C1B9154A4245A8BFA8F500154FF00004C2 -:10830000B8BF124D22462B46FFF7B1F90646884604 -:1083100022462B4600200949FFF7A9F904460D46DD -:108320003A46534630464146FFF7A1F904B022468B -:108330002B46BDE8F04DFFF79DB900000000F03F6F -:108340008C1C00003333D33F0000E93F0000D23FD4 -:108350002DE9F0414F1E00EBC7010446D1E90001B1 -:1083600015461E4637F006020DD02A463346FFF763 -:1083700084F97F1E04EBC703D3E90023FFF7D7F886 -:1083800037F00602F1D1022F25D0042F13D0062F8B -:1083900018BFBDE8F0812A463346FFF76EF9D4E9ED -:1083A0000A23FFF7C4F82A463346FFF766F9D4E9F3 -:1083B0000823FFF7BCF82A463346FFF75EF9D4E9F5 -:1083C0000623FFF7B4F82A463346FFF756F9D4E9F7 -:1083D0000423FFF7ACF82A463346FFF74EF9D4E9F9 -:1083E0000223FFF7A4F82A463346FFF746F9D4E9FB -:1083F0000023BDE8F041FFF79AB800002DE9FF4DDA -:10840000054621F0004084B00C46B0F1795F0BDAEC -:108410002846FFF732FD042808BF00F065F828461B -:1084200008B02146BDE8F08D2A460B461046FFF7FE -:1084300024F906460F462A462346FFF71EF98046D2 -:1084400026488A4632463B4605217844FFF780FF9E -:1084500083461098029160B3214A224B4046514610 -:10846000FFF70BF9CDE900015A4640465146029B01 -:10847000FFF703F982468846DDE906014FF0FF3237 -:10848000FFF7F2FB52464346FFF7F1F832463B4610 -:10849000FFF7F3F8DDE90623FFF7E9F8DDE900234C -:1084A000FFF7E5F808B02A462346BDE8F04DFFF790 -:1084B000E1B80B465A4630463946FFF7DEF8084A1F -:1084C000084BFFF734F842465346FFF7D6F808B09A -:1084D0002A462346BDE8F04DFFF729B8F21B0000FD -:1084E000495555555555C5BF024A00201107FFF79C -:1084F000BBBB000001FDFFFF6FF05E010807FFF747 -:108500002ABB00002DE9F04D034614464FF07F4092 -:108510000E46B0EB440F04D8001608601846BDE8BC -:10852000F08D4FF0004040EA0421C4F3C750783882 -:10853000431100F01F00DFF814C1C0F12002FC4419 -:108540005CF823500CEB83038540D3F804C02CFA6D -:1085500002F72F439D680CFA00FC25FA02F8DB684D -:1085600005FA00F023FA02F240EA02054CEA080C90 -:10857000A7FB0123ACFB01C0A5FB015101EB0C05DE -:10858000A94294BF4FF0000C4FF0010C81186144D8 -:10859000BCF1000F02D0814202D903E0814201D236 -:1085A000012000E00020184400F120024FEA921858 -:1085B0008006CA0C40EA42304F03C6F80080FFF73D -:1085C0003BF982463846FFF740F96FF01201FFF79A -:1085D000C2FA07462846FFF738F96FF02501FFF782 -:1085E000BAFA834639465046FEF7D3FE5946FEF79F -:1085F000D0FE00F500656FF30B0551462846FEF7E7 -:108600001AFF3946FEF717FF5946FEF717FF1049C4 -:10861000FEF717FF07460F492846FEF712FF3946B7 -:10862000FEF7B7FE07460C492846FEF70AFF394613 -:10863000FEF7AFFE14F0004F08BFBDE8F08DC8F1A3 -:10864000805180F000403160BDE8F08DDE1A0000FE -:10865000DB0FC92F22AAFD290000C92F02E008C89C -:10866000121F08C1002AFAD170477047002001E0AC -:1086700001C1121F002AFBD17047000001490860A8 -:1086800070470000000300202DE9F84F04460D4616 -:1086900021F0004000917449884213DB73498842FD -:1086A00001DC08D13CB120462946BDE8F84F4FF027 -:1086B0000102FFF7D9BA6E48002DCCBF6D496E4953 -:1086C000BDE8F88F6D49884211DA6D498842A8BF2C -:1086D0004FF0FF366DDA20462946FFF7CEFB04281F -:1086E00008BFFFF701FF20462946BDE8F88F65491E -:1086F000DFF894A125F00045884232DA63498842C8 -:1087000019DA002632464FF0804320462946FEF70C -:108710000EFF07468846012220462946FFF7A4FAA5 -:1087200000225346FEF7A3FF3A464346FFF715F8EB -:1087300004460D463DE001260022534620462946C8 -:10874000FEF7F5FE07468846002253462046294696 -:10875000FEF78DFF43463A46FEF7FFFF04460D46FF -:1087600027E04B4988421BDADFF8288102260022E5 -:10877000434620462946FEF780FF00225346FEF777 -:10878000D6FE82460F460022434620462946FEF783 -:108790006EFF52463B46FEF7E0FF04460D4608E0FA -:1087A000032622462B4600203B49FEF7D6FF04460F -:1087B0000D4622462B4610461946FEF75EFF8B46B5 -:1087C000824602460B46FEF758FF074602463348EC -:1087D00088460B4606217844FFF7BAFD52465B46B1 -:1087E000FEF74BFF82462E488B463A46434605210C -:1087F0007844FFF7ADFD3A464346FEF73EFF02469A -:108800000B46002E504659460CDAFEF790FE2246E3 -:108810002B46FEF732FF01B022462B46BDE8F04F53 -:10882000FEF728BFFEF783FE22462B46FEF725FF04 -:108830001C4A7A4402EBC603D3E90023FEF717FF74 -:1088400022462B46FEF713FF174A7A4402EBC60373 -:10885000D3E90023FEF70EFF009A002AB8BF81F08B -:108860000041BDE8F88F0000000010440000F07FD8 -:10887000182D4454FB21F93FFB21F9BF0000DC3FD8 -:108880000000203E0000F33F0000F03F0000E63F04 -:10889000008003400000F83F0000F0BF1617000002 -:1088A000D4160000721600003A1600002DE9F04DB3 -:1088B0009446CCF1000423F000464CEA0404524FE5 -:1088C00046EAD47498468A4621F00042BC4206D853 -:1088D000454240EA050442EAD474BC4204D9BDE8EA -:1088E000F04D6246FEF723BEA8F14055A5F17F6525 -:1088F00055EA0C040BD0022404EAA874434DDFF8B7 -:1089000010E144EADA7452EA000B04D00CE0BDE84E -:10891000F04DFFF7B9BE002C14BF012CBDE8F08D5F -:10892000022C30D0032C32D056EA0C0B0AD0BE42B7 -:1089300020D1BA4209D126F0804622F08042334647 -:10894000114617E000291ADB25E0DFF8C8B0FB4428 -:10895000002C04BFDBE90001BDE8F08D012C02BF53 -:10896000DBE9000181F00041BDE8F08D022C0AD066 -:10897000032C0CD0BA4212D1BAF1000F0BDA234803 -:108980002549BDE8F08D28462449BDE8F08D2846EC -:108990007146BDE8F08D1D482149BDE8F08D921B60 -:1089A00012153C2AC4BF19481D490EDCB8F1000F4E -:1089B000BEBF12F13C0F0020014606DB6246FEF707 -:1089C000CCFE21F00041FFF75FFE002C08BFBDE8A0 -:1089D000F08D012C04BF81F00041BDE8F08D114AFB -:1089E000114B022C07D0FEF742FE2A46BDE8F04D9F -:1089F0000A4BFEF73CBEFEF73AFE2A46BDE8F04DB4 -:108A0000064BFEF737BE00000000F07F182D4454DF -:108A1000FB2109C0FE150000FB21F9BFFB21094025 -:108A2000FB21F93F075C143326A6A13C2DE9F04752 -:108A30004FF0684202EB400305460C46B3F1654F28 -:108A40003CBF02EB4102B2F1654F3FD34FF07F4292 -:108A5000B2EB400F28BFB2EB410F03D2BDE8F047A5 -:108A6000FEF797BC40EA01035B0008BF44F0FF41FA -:108A70000AD0B2EB400F08BFB2EB410F06D125F090 -:108A8000804024F0804105460C461FE0B2EB400FC9 -:108A900012BF5FEA410245F0FF4004F0004115D0EB -:108AA0004FEA410292EA400310D4002AACBF4FF0D3 -:108AB0009F464FF03E563146FEF7C3FC0546314611 -:108AC0002046FEF7BEFC044628462146C0F3C752A6 -:108AD000C1F3C753D21A1B2A06DD10F0004F14BF92 -:108AE00054485548BDE8F08712F11A0F17DA11F013 -:108AF000004F06D010F0004F14BF50485048BDE85A -:108B0000F08721462846FEF7D2FC0446FFF7C9F954 -:108B1000042808BFFFF7F0FC2046BDE8F0874200BC -:108B2000B2EB410F25D910F0004F19BF454F464E0B -:108B3000464F474E224685F0004415460A4680F0CF -:108B4000004110460A1A5200B2F1807F3ED24840DE -:108B50004049DFF804A110F0004F18D04FF03F4813 -:108B60003846FEF768FC074651463046FEF763FC80 -:108B700017E011F0004F04BF00263746E2D010F096 -:108B8000004F19BF354F364E364F374EDAE74FF0AC -:108B90007C583846FEF7FDFB074651463046FEF747 -:108BA000F8FB064641462846FEF74BFC2146FEF7F9 -:108BB000F0FB824621464046FEF743FC2946FEF77D -:108BC0003DFC5146FEF773FC044604E0214628466E -:108BD000FEF76DFC04460146FEF733FC8046234950 -:108BE000FEF72FFC2249FEF7D4FB4146FEF729FC95 -:108BF0002049FEF7CEFB4146FEF723FC1E49FEF757 -:108C0000C8FB4146FEF71DFC1C49FEF7C2FB0546AA -:108C100041462046FEF715FC2946FEF712FC314678 -:108C2000FEF7B7FB2146FEF7B4FB3946BDE8F04737 -:108C3000FEF7AFBBDB0FC9BFDB0FC93FDB0F49C07E -:108C4000DB0F49400000C9BF22AAFDB90000C93F9F -:108C500022AAFD390060ED3EC30ACE37000049C0AC -:108C600022AA7DBA0000494022AA7D3A2DAD65BDF9 -:108C70008FB8D53D0FB511BE61C84C3EA8AAAABE9B -:108C800000B5284B21F0004287B09A42DCBF002299 -:108C9000134631DD244B9A420DD168B94FF00100E3 -:108CA000FFF7ECFC002207B01346104611465DF8B2 -:108CB00004EBFEF752BD06DB07B04FF001025DF892 -:108CC00004EBFEF7D1BF02AAFFF702F910F003018F -:108CD00004BF0DF1080CBCE80F000DD001200129E4 -:108CE0000ED0022914D00DF1080C0090BCE80F0042 -:108CF000FFF784FB07B000BDFFF7ACFA07B000BD7B -:108D00000DF1080C0090BCE80F00FFF777FB05E0C1 -:108D10000DF1080CBCE80F00FFF79CFA07B081F0DA -:108D2000004100BDFB21E93F0000F07F2DE9F84341 -:108D30000446024650486946B0EB420F09D94FF04D -:108D4000E640B0EB420F8CBF4FF0FF3000200090A8 -:108D500034E04A4B22F0004083422BD94849204658 -:108D6000FEF76FFBFEF703FF0546FEF791FD00F0EF -:108D70000300009043492846FEF763FB064642493C -:108D80002846FEF75EFB074640492846FEF759FB9A -:108D900080463F492846FEF754FB2146FEF74EFB2E -:108DA0004146FEF748FB3946FEF745FB3146FEF7E4 -:108DB00042FB02E01046FFF7A5FB0446009D002D94 -:108DC00018DA6000B0F17F4F3CBF4FF07E50BDE835 -:108DD000F88309D14FF00100FFF750FCBDE8F843DC -:108DE00000210846FEF763BB2046BDE8F843012199 -:108DF000FEF7B1BE214615F0010F08461DD0FEF763 -:108E000020FB06462349FEF71CFB2349FEF716FB11 -:108E10003146FEF716FB2149FEF7BBFA3146FEF755 -:108E200010FB2146FEF70DFB2146FEF7B2FA15F0C6 -:108E3000020F18BFBDE8F8831AE0FEF702FB0446F4 -:108E40001749FEF7FEFA1749FEF7A3FA2146FEF787 -:108E5000F8FA1549FEF79DFA2146FEF7F2FA4FF0AF -:108E60007E51FEF796FA15F0020F08BFBDE8F883B1 -:108E700080F00040BDE8F883B61F927E490E494657 -:108E800083F9223F1A61342C0020A23300A0FD395F -:108E90000000C93F336D4C39DA82083CA0AA2ABED3 -:108EA000B93AB2BACA9F2A3DDDFFFFBE2DE9F04DA7 -:108EB00016460F460546020096B01C4621F00041BA -:108EC00023F0004014BF4FF0010C4FF0000C0CEBEE -:108ED000470CFE4B0CEB03084FEA630CC4452DD83E -:108EE0005FEA060818BF4FF0010808EB44089844F1 -:108EF000F74B434522D8F74B50EA060C02D09F426D -:108F000005D14AB916B000201946BDE8F08D002AF7 -:108F100008BF4FF0000C01D04FF0010C0CEB4703E1 -:108F200013F5001F0AD8002E14BF4FF0010C4FF0AC -:108F3000000C0CEB440313F5001F08D916B03246A1 -:108F4000234628463946BDE8F04DFEF7F0BADFF873 -:108F500088B34FF0000A002FB8BF584523DADF4B23 -:108F60009842A8BF4FF0020A1DDADA4B98421ADB8A -:108F7000DB4B03EB2053142B08DDC3F1340C26FA32 -:108F80000CF303FA0CFCB4450DD108E05EB9C3F153 -:108F9000140C20FA0CF303FA0CFC844503D103F003 -:108FA0000103C3F1020A51EA020321D1002C1FDAA6 -:108FB000002F18BFBAF1020F02D0BAF1010F0BD087 -:108FC0000220FFF75BFB16B00022BDE8F04D134610 -:108FD0001046C049FEF7C1BB0220FFF74FFB16B099 -:108FE0002A463B46BDE8F04D0020BA49FEF7B5BB26 -:108FF000330076D1584525D107F1804010F5801017 -:1090000001BF002A0020B34916B008BFBDE8F08DAB -:10901000B048814207DB002CA1BF1846214616B09C -:10902000BDE8F08D07E0201E05DA80F0004116B0A3 -:109030001846BDE8F08DAB497944D1E9000116B07E -:10904000BDE8F08DDFF88CC260452FD1002C28DA06 -:1090500039B159451CD1002A04BF002002460CD06A -:109060001FE06AB10220FFF709FB40F20132002045 -:109070004FF0E041FEF7F8FD0A46394600F0DEBA4F -:10908000954A394616B0002062F31E01BDE8F08D06 -:1090900007DA16B03B46BDE8F04D00206146FEF70A -:1090A0005CBB16B010463946BDE8F08D8B4518DD27 -:1090B000B4F1804F0DD0A4F10053B3F1FF5310D1A0 -:1090C0003B1E0EDB16B01046BDE8F04D194600F011 -:1090D00001BD3B4616B01046BDE8F04D1946FEF7FF -:1090E000CCBA27F00043A2BBE1B1594538D1002FDB -:1090F00006DD002CA1BF0020594616B0BDE8F08D5A -:10910000002F01DD002C1FDB002F16DA002C14DBF2 -:10911000BAF1010F4FF000000CBF73496E4916B051 -:10912000BDE8F08DBAF1020F18BF002F0CD0BAF1D4 -:10913000010F09D1002F07DA0CE0002FB8BF002C77 -:109140000EDABAF1010F05D0002016B00146BDE8D5 -:10915000F08D05E016B000204FF00041BDE8F08D25 -:109160004FF0010C0CEBE7720F9252EA0A020BD09F -:109170005E4A90427DDD5E4B5E4A984216DD91422A -:109180000EDC002C1CDB2CE00120FFF777FA16B078 -:109190000022BDE8F04D134610461146FEF7DDBA39 -:1091A0004C48884202DC002C0ADC1AE08A4202DDCC -:1091B000002C05DB15E0474B99421EDD002C10DD2D -:1091C0000220FFF75BFA40F2013200204FF0E0414D -:1091D000FEF74AFD404A16B061F31E021146BDE893 -:1091E000F08D0220FFF74AFAFFF77EF9394A16B0F0 -:1091F00061F31E021146BDE8F08D00222846394673 -:10920000FEF735FA05460F466FF00102FEF72CFD1A -:109210004FF05532384BFEF72DFA2A463B46FEF703 -:109220002CFA0022354BFEF725FA8B4680462A465B -:109230003B4610461946FEF720FA42465B46FEF7CB -:109240001CFA80460B914FF0C0422D4B2846394600 -:10925000FEF713FA834605912A4A294B40460B999B -:10926000FEF70BFA88460290274A284B28463946D3 -:1092700000E01BE0FEF701FA4346029AFEF7F7F919 -:10928000054602460B460B9158460599FEF74FF9E5 -:10929000002788465A463846059BFEF7E8F92A46D5 -:1092A0000B9BFEF7E7F9024600F073B90020B1F519 -:1092B000801F07DA352228461946FEF7D5FC0546F9 -:1092C0006FF0340000EB215022E00000FFFF1F0090 -:1092D000FFFF0F000000F03F0000F07F0000404360 -:1092E00001FCFFFF140F00000000F0FF0000E04150 -:1092F0000000F043FFFFEF3F5555D53F0000E03F32 -:109300004715F73FFE822B6544DF5DF80BAE543EF8 -:10931000A0F2FF300190C1F3130040F07F6141F0F3 -:1093200040510291FE498842D8BF4FF0000B0EDD3C -:10933000FC498142C8BF4FF0010B08DC01984FF097 -:10934000000B401C01900298A0F580100290F64896 -:109350000299784400EBCB0009910790D0E90023F3 -:109360002846FEF784F9059100900798D0E900237C -:1093700028460999FEF7DBF802460B460020EB4928 -:10938000FEF7EBF90B910B46024606900599009803 -:10939000FEF773F90A90E64888460027784400688B -:1093A0000C9002994FF0005040EA610000EB8B40B6 -:1093B00000F5002102910798D0E900230C98FEF7F0 -:1093C00056F92A46099BFEF755F93A464346FEF7F9 -:1093D00054F90791054638464146029B0C9AFEF720 -:1093E0004CF9059B009AFEF745F92A46079BFEF7C4 -:1093F0003EF90B9B069AFEF740F90A9A06910890EF -:10940000434610461946FEF738F905460246C94854 -:109410000B46079106217844FEF79AFF0290079BBE -:109420002A46059110461946FEF727F9059B029A30 -:10943000FEF723F9059105464346384619460A9A30 -:10944000FEF775F8069B089AFEF717F92A46059B62 -:10945000FEF76DF83A4643460591129010461946BC -:10946000FEF70BF90022B44B07910090FEF75FF86E -:10947000059B129AFEF75BF80D463A46AE4B38460E -:10948000FEF7F5F8079B009AFEF7F1F8059B129A94 -:10949000FEF7F0F83A46079112902B4610464146E7 -:1094A000FEF7EBF80591009043460A9A0799129847 -:1094B000FEF7E3F8804607912B463A46069908984E -:1094C000FEF7DBF84246079BFEF731F88846069028 -:1094D000059B009AFEF72BF800200F460546059BDA -:1094E000009AFEF7C4F84346069AFEF7C3F8804692 -:1094F0000D914FF06042914B28463946FEF7BDF87A -:10950000059100908E4A8D4B40460D99FEF7B5F8B7 -:10951000804604918B4A8C4B28463946FEF7ADF8BD -:109520004246049BFEF703F8884A7A4402EBCB03D9 -:10953000D3E90023FDF7FBFF029004910198FEF7A9 -:1095400089F90791DDE904310546029A0098FDF793 -:10955000EEFF7F4A7A4402EBCB0BDBE90023FDF7F9 -:10956000E6FF2A46079BFDF7E2FF002788462A46CA -:109570003846079BFEF77BF8DBE90023FEF777F818 -:10958000059B009AFEF773F8049B029AFEF772F8A7 -:10959000024600200A900F98644DAAF10103184377 -:1095A00001D16C4D0A9000200B46029030462146B6 -:1095B000FEF763F882468B46234630461946029AE8 -:1095C000FEF755F83A464346FEF757F852465B46D3 -:1095D000FDF7ADFF06468A463A46434621460298C5 -:1095E000FEF74BF804460F4632465346FDF79FFF01 -:1095F000594A8B46914226DBABEB020353EA000249 -:1096000010D122463B46FEF732F880460391534A7A -:10961000534B30465146FDF78AFF4246039BFEF707 -:10962000C5F92CD20220FFF729F840F201320020C0 -:109630004FF0E041FEF718FB0A46294616B062F3E8 -:109640001E01BDE8F08D474B2BF000429A4216D325 -:10965000454A0BEB020353EA000208D122463B467F -:10966000FEF705F832465346FEF7A0F907D8022068 -:10967000FFF704F8FEF738FF0A462946DEE72BF02D -:1096800000403A493A4A01EB20514FF0000890421D -:1096900023DD481C4FF4801121FA00F05844C0F338 -:1096A0000A51344AA1F2FF317A44334B1268CB405D -:1096B00020EA0303C0F3130040F4801CC1F114003E -:1096C0002CFA00F8BBF1000FB8BFC8F10008204623 -:1096D0003946FDF7CCFF04460F4622463B4630464E -:1096E0005146FDF724FF4FF0000B5A46234B5846D6 -:1096F0000791FDF7C2FF05910090214A214B584682 -:109700000799FDF7BAFFCDE9020122463B465846CC -:109710000799FDF7ACFF32465346FDF7ABFF33E048 -:109720008E9803007AB60B00AA0A00000000F03FF2 -:10973000B00B0000160A00000000084009C7EE3F09 -:10974000FD033ADCF5015B14E02F3EBEF208000099 -:10975000B80800000000F0BF00009040FE822B65BA -:109760004715973C00CC904000346F3F01FCFFFF51 -:109770000000E03FA4080000FFFF0F00432EE63F7B -:10978000396CA80C615C20BE3F4A404BFDF775FF69 -:10979000DDE90223FDF7CBFE07468A46059B009ACA -:1097A000FDF7C5FE04460E46059B009AFDF75FFFD8 -:1097B0003A465346FDF75EFF0746224633460B9175 -:1097C00010461946FDF759FF8346024630488A463F -:1097D0000B4605217844FEF7BBFD5A465346FDF77C -:1097E0004CFF22463346FDF745FF82468B463A46FC -:1097F000204631460B9BFDF740FF3A460B9BFDF799 -:1098000096FE00910C9000224FF08043504659463E -:10981000FDF72DFF0746039152465B462046314631 -:10982000FDF72BFF3A46039BFDF797FF009B0C9A31 -:10983000FDF71DFF22463346FDF719FF0022154BA9 -:10984000FDF718FF0E46044601EB085108150028E5 -:1098500010DC424620463146FEF706FAFEF70DFBC5 -:10986000042808BFFEF740FE424620463146FEF778 -:10987000FBF904460A980B4616B022462946BDE875 -:10988000F04DFDF7FABE0000EF39FAFE422EE63F3A -:10989000880600000000F03F00B5294B21F000428F -:1098A00087B09A4203DC00221346009233E0254B36 -:1098B0009A420DD168B94FF00100FEF7DFFE002299 -:1098C00007B01346104611465DF804EBFDF745BF9F -:1098D00006DB07B04FF001025DF804EBFEF7C4B9F8 -:1098E00002AAFEF7F5FA10F003014FF001000DD0C7 -:1098F000012914D002291AD00DF1080CBCE80F0080 -:10990000FEF7A8FC07B081F0004100BD0DF1080C86 -:109910000090BCE80F00FEF771FD07B000BD0DF12F -:10992000080CBCE80F00FEF795FC07B000BD0DF178 -:10993000080C0090BCE80F00FEF760FDE2E70000B5 -:10994000FB21E93F0000F07F2DE9F843044654482D -:1099500022466946B0EB420F09D94FF0E640B0EB22 -:10996000440F8CBF4FF0FF300020009034E04D4B8F -:1099700022F0004083422BD94B491046FDF761FD90 -:10998000FEF7F5F80646FDF783FF00F003000090B0 -:1099900046493046FDF755FD054645493046FDF739 -:1099A00050FD074643493046FDF74BFD804642498E -:1099B0003046FDF746FD2146FDF740FD4146FDF7E7 -:1099C0003AFD3946FDF737FD2946FDF734FD02E043 -:1099D0001046FEF797FD0446009D002D1DDA60003D -:1099E000B0F17F4F09D22046FEF75BFA042808BF8A -:1099F000FEF782FD2046BDE8F88308D10120FEF77E -:109A00003DFEBDE8F84300210846FDF750BD204665 -:109A1000BDE8F8430121FEF79EB8214615F0010F7D -:109A200008461FD0FDF70DFD04462449FDF709FD4A -:109A30002349FDF7AEFC2146FDF703FD2149FDF763 -:109A4000A8FC2146FDF7FDFC4FF07E51FDF7A1FC7F -:109A500015F0020F08BFBDE8F88300BF80F000409A -:109A6000BDE8F883FDF7EDFC06461749FDF7E9FC74 -:109A70001649FDF7E3FC3146FDF7E3FC1449FDF719 -:109A800088FC3146FDF7DDFC2146FDF7DAFC214676 -:109A9000FDF77FFC15F0020FE0D1BDE8F883000070 -:109AA000B61F927E490E494683F9223F1A61342C33 -:109AB0000020A23300A0FD390000C93FB93AB2BA74 -:109AC000CA9F2A3DDDFFFFBE336D4C39DA82083C68 -:109AD000A0AA2ABE2DE9F04106460F46FEF7DBF8A4 -:109AE0000D46040018BF0120284320F00040C0F1BB -:109AF0007F6010F1E0400FD5002E14BF0120002040 -:109B0000384320F00040C0F17F6000F1E0400028C1 -:109B1000A4BF0120FEF7B2FD20462946BDE8F08132 -:109B200053A3000888A300086701000873A3000876 -:109B3000F2A30008AD0100086FA20008A6A2000869 -:109B4000D10100080DA30008F2A30008A702000835 -:109B500009A3000831A30008E10200084DA3000892 -:109B6000A5A300085D03000877A2000878A30008F9 -:109B70008B0100086FA30008B8A300082F04000899 -:109B800068A300085CA30008FF060008F3A2000811 -:109B9000F2A30008CF07000804A20008000000009C -:109BA000820300200000000020000000E1A1000866 -:109BB0000200000084030020B0040000A40600009E -:109BC00057A20008020000008A03002000000000E5 -:109BD000D007000063A20008020000008C030020F0 -:109BE00000000000D00700000DA2000802000000E5 -:109BF0008E03002000000000D007000094A200089F -:109C0000020000008603002000000000D0070000D2 -:109C10009DA2000802000000880300200000000050 -:109C2000D00700003EA200080000000077030020DB -:109C30000A000000C80000002BA20008000000007D -:109C4000780300200A0000003200000018A200087B -:109C500000000000790300200A000000320000002C -:109C6000FBA200080100000090030020FFFFFFFF9F -:109C700001000000E7A1000802000000920300209C -:109C800000000000D0070000F5A10008020000005D -:109C90009403002000000000D007000048A2000844 -:109CA000020000009603002000000000D007000022 -:109CB000E7A2000802000000980300200000000056 -:109CC000D0070000E7A30008020000009A0300206C -:109CD00000000000D007000012A3000801000000EF -:109CE0009C0300209CFFFFFF6400000022A30008EB -:109CF000010000009D0300209CFFFFFF64000000A6 -:109D00008CA20008000000002D03002000000000CD -:109D1000C800000084A200080000000035030020F5 -:109D200000000000C80000007CA200080000000045 -:109D30003D03002000000000C8000000E0A2000871 -:109D4000000000002C03002000000000C8000000FC -:109D5000D9A2000800000000340300200000000029 -:109D6000C8000000D2A20008000000003C03002050 -:109D700000000000C8000000E1A30008000000008F -:109D80002E03002000000000C8000000DBA3000834 -:109D9000000000003603002000000000C8000000A2 -:109DA000D5A30008000000003E03002000000000D2 -:109DB000C8000000CAA20008000000003203002012 -:109DC00000000000C8000000C2A20008000000005F -:109DD0003A03002000000000C8000000BAA20008FA -:109DE000000000004203002000000000C800000046 -:109DF000414552543132333400000000000000006D -:109E0000000000000000F03F000000000000F83FEC -:109E100000000000000000000000004003B8E23F26 -:109E2000000000000000000006D0CF43EBFD4C3ED8 -:109E3000033333333333E33FFFAB6FDBB66DDB3FCD -:109E40004D268F515555D53F01411DA96074D13F15 -:109E500065DBC9934A86CD3FEF4E454A287ECA3F0F -:109E60003E5555555555C53F93BDBE166CC166BF91 -:109E70002CDE25AF6A56113FF16BD2C541BDBBBE8A -:109E8000D0A4BE726937663E4FBB610567ACDD3F4B -:109E9000182D4454FB21E93F9BF681D20B73EF3F11 -:109EA000182D4454FB21F93FE2652F227F2B7A3C89 -:109EB000075C143326A6813CBDCBF07A8807703C42 -:109EC000075C143326A6913CC4EB98999999C9BFB5 -:109ED000711623FEC671BCBF6D9A74AFF2B0B3BFEA -:109EE0009AFDDE522DDEADBF2F6C6A2C44B4A2BFAA -:109EF0000D5555555555D53FFF8300922449C23F16 -:109F00006E204CC5CD45B73F513DD0A0660DB13F49 -:109F1000EB0D76244B7BA93F11DA22E33AAD903F5B -:109F20004C5555555555A53F7751C1166CC156BF77 -:109F30009015CB19A001FA3EAD529C804F7E92BE87 -:109F4000C4B1B4BD9EEE213ED43888BEE9FAA8BDA6 -:109F5000000000000000000000004054FB21F93F19 -:109F60003163621A61B4D03D0000601A61B4D03D23 -:109F70007370032E8A19A33B0000002E8A19A33B9D -:109F8000C14920259A837B390000000000000000B1 -:109F90006E83F9A22915444ED15727FCC0DD34F554 -:109FA000999562DB4190433CAB6351FE61C5BBDEDA -:109FB0003A6E24B7E0D24D42EA2E49061C92D109EE -:109FC0001CEB1DFE3EA729B1F53582E88444BB2E6B -:109FD00026709CE9417E5FB439D69139F4395383B8 -:109FE0008B5F849C3B28F9BDFF97F81F0F9805DE17 -:109FF0008B112FEF1F6D0A5ACF7E366DB709CB2715 -:10A00000663F464F2DEA5F9EC7BA27757BF1E5EBA9 -:10A01000F739073DEA92528AB15FFB6B085D8D1FED -:10A02000000000006E83F9A22915444ED15727FC89 -:10A03000C0DD34F5999562DB4190433CAB6351FE42 -:10A04000A6F810111111813FD561C119A0012ABFD5 -:10A050007DFEB157E31DC73EEB9C2B8AE6E55ABE59 -:10A060007CD5CF5A3AD9E53D004040404040404081 -:10A0700040404141414141404040404040404040DB -:10A08000404040404040404040050202020202027F -:10A0900002020202020202020220202020202020CE -:10A0A00020202002020202020202909090909090E2 -:10A0B00010101010101010101010101010101010A0 -:10A0C0001010101002020202020288888888888814 -:10A0D0000808080808080808080808080808080800 -:10A0E00008080808020202024000000069A00008F7 -:10A0F000565441494C3400593400484558360059AB -:10A1000036004F43544F58380041434300414952B1 -:10A11000504C414E45004D41470048454C495F3940 -:10A12000305F4445470043414D5452494700475929 -:10A13000524F5F534D4F4F5448494E47004C454492 -:10A140005F52494E4700464C59494E475F57494E6A -:10A1500047004249005452490047494D42414C0092 -:10A16000494E464C494748545F4143435F43414C45 -:10A170000048454C495F3132305F4343504D0050F9 -:10A18000504D004241524F004449474954414C5FB1 -:10A19000534552564F005155414450004D4F544F76 -:10A1A000525F53544F50004F43544F464C4154500C -:10A1B00000534F4E41520047505300564241540005 -:10A1C000534552564F5F54494C54004845583658F1 -:10A1D000005155414458004F43544F464C41545848 -:10A1E000006D696472630077696E675F6C656674A1 -:10A1F0005F6D69640077696E675F72696768745F35 -:10A200006D6964006465616462616E64006D696EAD -:10A21000636F6D6D616E6400766261746D696E630B -:10A22000656C6C766F6C7461676500766261746DE5 -:10A23000617863656C6C766F6C74616765007662DB -:10A2400061747363616C65007472695F7961775FD3 -:10A250006D6964646C65006D696E7468726F7474A6 -:10A260006C65006D61787468726F74746C650066FB -:10A27000656174757265007361766500645F70690D -:10A2800074636800695F706974636800705F706907 -:10A29000746368006D696E636865636B006D6178F7 -:10A2A000636865636B006C697374206F72202D7630 -:10A2B000616C206F722076616C00645F6C657665FE -:10A2C0006C00695F6C6576656C00705F6C657665C7 -:10A2D0006C00645F726F6C6C00695F726F6C6C0015 -:10A2E000705F726F6C6C007472695F7961775F6D1B -:10A2F000696E0076657273696F6E007961775F646D -:10A300006972656374696F6E006D61700068656C79 -:10A31000700074696C745F70697463685F70726FE9 -:10A32000700074696C745F726F6C6C5F70726F70C8 -:10A33000006D617070696E67206F662072632063C4 -:10A3400068616E6E656C206F72646572006D69780D -:10A3500065720064656661756C74730073686F770D -:10A360002073797374656D207374617475730073F1 -:10A3700065740065786974007361766520616E6448 -:10A38000207265626F6F7400726573657420746FFC -:10A390002064656661756C747320616E64207265FB -:10A3A000626F6F74006D69786572206E616D6520F3 -:10A3B0006F72206C697374006E616D653D76616CBF -:10A3C0007565206F7220626C616E6B20666F722003 -:10A3D0006C69737400645F79617700695F79617794 -:10A3E00000705F796177007472695F7961775F6D82 -:10A3F0006178000014A4000800000020040300009D -:10A400001E7E0008F8A40008040300206414000065 -:10A410006C860008411355A11B0896041AD1041A32 -:10A4200052041A590413FFA01B08FA041A460C1A06 -:10A43000F7081ACB081A02041AA7041AD7041A0D2F -:10A44000041A71041A1A041AF020411A7F0C1ABB5C -:10A45000041A60041A88041A9C041AC0041A2604F8 -:10A460001A2E041A3D041AB704411A09081A830463 -:10A470001A16049AB1187206021C010345093D72AE -:10A4800004CBDC05020194022403023C018B803FD3 -:10A4900004011613F0040A2520A022403A020812F3 -:10A4A000043A040812083A0808120C22105A042030 -:10A4B0001908392019083920190829201E342C01BF -:10A4C0004040041334081B4038041A3C0419211B73 -:10A4D0004034201A38041A3C0419391944011B3B32 -:10A4E000A24A7941380C0102030406070809020454 -:08A4F0000685291069144100E2 +:100C800084F8245000202118401C01F8405FC0B2B5 +:100C9000CD720B28F7D3658624F8345F0420A0704A +:100CA0002A20A08004F12004334844F8180CA570D1 +:100CB0004FF06E00E0704FF02B0020714FF02100DC +:100CC00060712EA0FFF71AFFA573E57340F2DC50A8 +:100CD000208240F24C41618240F26C71A18240F26C +:100CE0007E41E18240F23A7121834FF47A7161834F +:100CF00001212177E083208460844FF47F70A084F9 +:100D00004FF4FA60E0840A2004F8280F6070BDE810 +:100D100070404FE7FFE770BD16494968014201D0B6 +:100D2000012070470020704712494A6802434A6018 +:100D3000704710494A6882434A6070470D484068CE +:100D4000704709494968014201D0012070470020DD +:100D5000704705494A6882434A60704702484068C4 +:100D600070470000949500084C03002000FC000828 +:100D7000A4040020940000200314140041455452A0 +:100D80003132333400000000FE4810B5008806F010 +:100D900000FEFD4906F0F9FB06F01EFEFB49488007 +:100DA0000420FFF7B9FF002803D0BDE8104002F08F +:100DB00061B810BD10B507F085FA06F070FEF44A70 +:100DC000F44B06F0FEFC06F034FE00B210BD2DE937 +:100DD000F04706460C46D6E9007080464868B5687C +:100DE000414606F0D2FB81463946206806F0CDFB2D +:100DF000494606F072FB294606F0C4FBB060414646 +:100E0000A06806F0C2FB81462946206806F0BDFBBB +:100E1000494606F0B4FB394606F05FFB30603946C0 +:100E2000A06806F0B2FB07462946606806F0ADFBF5 +:100E3000394606F052FB414606F04FFB7060BDE8B4 +:100E4000F0872DE9F04F89B0002503F0C3FDCF4CAA +:100E50000646A069301A06F0B2FDCF4ACF4B06F025 +:100E6000B0FC06F032FE0290A661DFF83493002653 +:100E70000DF1140A04F1440B04F14A0804F150077F +:100E80003BF9160006F07CFD029906F07EFB4AF85D +:100E9000260099F8361071B1BC4A3E3232F916007C +:100EA00040FA01F3C31A38F81600184400B222F8C9 +:100EB0001600084101E038F8160027F8160037F947 +:100EC000160000FB00550420FFF726FF761CF6B243 +:100ED000032ED5D364204543AA4805A90088404382 +:100EE00095FBF0F6AF48FFF772FF0420FFF714FF01 +:100EF00020B1AC4805A90C30FFF769FFB7F9000035 +:100F0000002800DC4042B4F9021088420CDAB7F93C +:100F10000200002800DC4042884205DAB7F90400EC +:100F2000002801DD012000E00020253E9D4D2070BD +:100F30009F2E02D310F0FF0F1AD0DFF86C82DFF87B +:100F40006C92002437F9140006F01AFD064655F895 +:100F50002400414606F019FB314606F0BEFA494628 +:100F600006F013FB45F82400641CE4B2032CE9D31B +:100F70000420FFF7D1FE8B4E0C36F8B1DFF80C825F +:100F8000DFF82C92DFF82CA2002408F1560800BFED +:100F900038F9140006F0F4FC074656F824004946D8 +:100FA00006F0F3FA394606F098FA514606F0EDFAE3 +:100FB00046F82400641CE4B2032CE9D3A96828682D +:100FC000FFF7F8FE714C0E342080D5E90101FFF7E0 +:100FD000F1FE60800420FFF79FFE002822D0B46855 +:100FE0006868214606F0D1FAAF68804671683846D5 +:100FF00006F0CBFA414606F0C2FA80463846316820 +:1010000006F0C3FA06462146286806F0BEFA3146C5 +:1010100006F0B5FA4146FFF7CDFE0A2190FBF1F04C +:101020006549088009B0BDE8F08F2DE9FF5F012018 +:10103000FFF772FE18B101F028FEFFF702FF01F082 +:10104000FFFE524C00206F4614F1440434F8101097 +:1010500027F81010401CC0B20328F7D303F0BAFCE5 +:101060004A4E706100F0F8FD03F0B4FC716940F283 +:101070008A25401AA84204D950490888401C088093 +:1010800005E003F0A7FC7169401AA842F9D301F00A +:10109000D7FEDFF8F8A00025B946A0460AF1320ACB +:1010A0000DF1080B0327AAF1060400BF38F815104C +:1010B00039F81500084400B22BF815003AF915204C +:1010C0000244521C92FBF7F200EBD07024F815207A +:1010D00040102AF815000120FFF71EFE20B92B4909 +:1010E00000204A3121F815006D1CEDB2032DDDD32F +:1010F0008020FFF726FE2A4A08B324490A310878DF +:1011000028B9D06B020C0A70020A4A7088701F4D11 +:10111000002038350A5C34F9106035F91070531E20 +:1011200007FB03635B1C93FBF2F224F8102025F805 +:101130001020401CC0B20328ECD3BDE8FF9F5078BC +:101140000128FAD1B6F90810B4F90400012202EB23 +:101150004101084490FBF7F0A0803081EDE7F0B545 +:10116000174801680948C26991426ED346F2A81235 +:1011700011440C4CC16190F9011018340A2334F960 +:1011800011601FE0E40100207593D83E9C00002010 +:101190003B597E90A9E781403DAF940F6BC7353E28 +:1011A0004C030020CC03002000009B4308BA523BB4 +:1011B000000048435E06A33B28020020BA0100203D +:1011C0004C010020026A282592FBF3F213B201F1D0 +:1011D000140292FBF5F705FB172224F81130D2B266 +:1011E000491C34F9122049B2941B9B1A0026417005 +:1011F000282900DB46702B491C1B03EB8303CA7EA6 +:101200005B00624392FBF5F2142493FBF4F3524229 +:1012100012B282804362846AE31A002B01DD1C460D +:1012200000E05C420A2C03DA0932122A00D88680D8 +:10123000CA7A5442B3EB440F02DA5400644206E027 +:10124000B3EB420F02DD540001E029E01C4662438B +:10125000642492FBF4F28488224412B26FF0950465 +:101260008280A24201DA224602E0962A00DD96221E +:101270008280C97C5943322391FBF3F1C38819441E +:1012800009B2094BC180994202DB5B42994200DD01 +:101290001946C1804FF4FA7391FBF3F11144818038 +:1012A000F0BD00004C030020D08AFFFF2DE9F04183 +:1012B0005848007808B1022500E0002503F035FB0E +:1012C000401B5549C6B2102008602C46534F06E01B +:1012D000B7F86C10204603F018FB641CE4B2B4426B +:1012E000F6D340F6B83003F0A0FB2C464FF47A75E5 +:1012F00005E02946204603F008FB641CE4B2B44232 +:10130000F7D3BDE8F041042003F038BC03F098FBAC +:10131000FFF70AFC0020FFF778FC0720FFF704FD29 +:1013200000F08AF80820FFF70CFD05464FF48060B6 +:10133000FFF707FD80F001040120FFF702FD3549AA +:10134000097809B1012200E000222B46214603F072 +:101350000DFA08B1FFF7AAFF324F2F4930484FF07E +:1013600010083860C1F800800D1F4FF00809C5F85B +:1013700000900024DFF8B0B0A5F1040A8E1400BF7D +:10138000DAF8001081F01001CAF80010DAF8001045 +:1013900081F00801CAF80010192003F046FBCBF8D1 +:1013A0000060192003F041FB1F48001F0660641C09 +:1013B000E4B20A2CE4D3C5F80090C5F8008001F02F +:1013C00027FBFFF7E1FC0220FFF7BBFC08B101F0AF +:1013D00076FB4FF48060FFF7B4FC20B102F0AFFA67 +:1013E000124838600AE00120FFF7ABFC30B14FF43F +:1013F0000070FFF7A6FC08B102F03AFA03F0EAFA2F +:101400000B4908600B494FF4C870088000F042FE99 +:10141000FCE7000001010020140C01404C030020F7 +:101420009F1F00085401002014080140673900087C +:1014300050010020E201002070B5F94E0125F94C61 +:101440007078042805D0012803D0052801D0082889 +:1014500000D165702020FFF774FC18B94020FFF719 +:1014600070FC00B16570707812280DD2DFE800F0D2 +:101470000C0F11110D0913130B11131515150C0C6D +:101480000C1100200AE0257070BD022006E0032048 +:1014900004E0042002E0062000E00820207070BD77 +:1014A00070B5E048407800281AD0DD4DDD4C6878F2 +:1014B0000834012807D0042805D02188002003F033 +:1014C00024FA618807E02189002003F01EFA687879 +:1014D000042805D16189BDE87040012003F015BAE8 +:1014E00070BD2DE9F041CF4E0025707800B1022586 +:1014F0000024CD4F08E000BF601937F81410C0B2C7 +:1015000003F003FA641CE4B230788442F4D3BDE8FB +:10151000F081C44A0021C44B127803E023F8110083 +:10152000491CC9B29142F9D3DBE72DE9F04FBD4820 +:10153000BE4DA1B00078032823D9BD48B5F90420D9 +:10154000B0F904004142002801DD034600E00B46EB +:101550006FF06304E31A9A4204DA002800DC0846BC +:10156000221A0DE0002801DD034600E00B4664333B +:101570009A4205DD002801DD024600E00A46643299 +:10158000AA80A7480322AA4C4678A848DFF898A268 +:10159000B0F902108B0093FBF2F30F93B4F90640FD +:1015A000234403934B005B4293FBF2F71C97B0F983 +:1015B000009004EB010804EB0902B8180A90601AC5 +:1015C000A4EB0903089058180490C9F1000000EB3F +:1015D000D070119001EBD17740101E9700EB670798 +:1015E00009974F4207EBD77700EB670005901797F5 +:1015F00009EBD9701A901E9F401000EB6707069701 +:10160000179FA2EB010E00EB670020441F90844857 +:101610001C9FA3EB010B90F9700007EB030C122E3B +:1016200030D2DFE806F02F304C5E09FC82A1FB735C +:10163000C2E0FAF92F2F2FF8AAF80020AAF80230FA +:10164000B5F904504FF47F7300FB051202F2DC522F +:101650009A4201DA1A4604E04FF4FA64A24200DD2D +:101660002246704C68430834401A00F2DC50228154 +:10167000984201DA184604E04FF4FA61884200DD2E +:1016800008466081ECE1039AAAF80020AAF802C09B +:101690000A9A6349AAF80420B5F90420B1F8761033 +:1016A00000FB02104FF47F71884203DB4FF4FA61B4 +:1016B000884200DD08465B4908310881D0E1B5F970 +:1016C000044000FB148500FB0433AAF8005000FB23 +:1016D0000422AAF80230AAF80420089A00FB142079 +:1016E00011E0B5F90430049C00FB031100FB134525 +:1016F000AAF8005000FB03B5AAF80250114400FB01 +:1017000013E0AAF80410AAF80600A9E1B5F904202C +:1017100000FB1283AAF8003000FB0280AAF802B096 +:10172000AAF80400AAF806E09AE1B5F904300F9986 +:1017300000FB03440C44AAF8004000FB13C4AAF8C1 +:1017400002400A9C00FB1344AAF80440039C00FBDF +:101750001344AAF8064000FB03C4AAF808401C9CE6 +:1017600000FB034010441DE0B5F90420099900FB7B +:1017700002435D18AAF80050059D2C4400FB12445A +:10178000AAF80240069C2344AAF804301F9B00FBE1 +:101790001233AAF80630089B00FB023300FB1280CC +:1017A000AAF80830AAF80A005AE1B5F904500999D4 +:1017B00000FB05467718AAF80070059F00FB15335B +:1017C0003E44AAF80260069E344400FB1544AAF881 +:1017D00004401F9C00FB1544AAF8064000FB0520AE +:1017E000AAF80830DEE7B5F90440049E00FB0417B0 +:1017F00000FB1466AAF8006000FB04B6AAF80260B9 +:10180000D619AAF8046000FB14E6AAF806603B4467 +:10181000AAF808300EE093E057E017E0E6E0AEE00B +:101820004C03002000010020340400209C01002013 +:10183000A201002000FB14B3114400FB1411AAF80C +:101840000A3000FB04E0AAF80C103BE0AB46C9EB01 +:10185000C9050A2695FBF6F7A1EBC10595FBF6F540 +:101860000695BBF904B007EB050C00FB0B4E0CEB27 +:101870000E04AAF80040A9EBC90494FBF6FCC1EBE6 +:10188000C10191FBF6F1069D654405EB0E040CEBDE +:101890000105AAF8024005EB0E043944AAF80440F9 +:1018A0007144AAF80610089900FB1B11AAF8081049 +:1018B00000FB1B3100FB1B83AAF80A1000FB1B2056 +:1018C000AAF80C30AAF80E00CAE0B5F904C0179DBA +:1018D00000FB0CF606EB65051544AAF80050119DB7 +:1018E00004EB65056F1A00FB0C75AAF802501E9DEB +:1018F00003EB650700FB0C75AAF804501A9D06EB74 +:1019000065054544AAF806501A9D04EB6504611A62 +:1019100000FB1C14AAF80840179903EB610100FBB7 +:101920001C11AAF80A10119908EB610100FB1C11A7 +:10193000AAF80C101E9902EB610100FB1C10C1E714 +:10194000B5F904104843414201EBD17108EB610243 +:10195000AAF8002043000A2293FBF2F404EB0B03E5 +:10196000AAF8023000EBD0734000404290FBF2F244 +:1019700008EB6303AAF8043002EB0E00C3E69948B3 +:10198000994A40F2DC5690F97C10B2F90230594382 +:10199000964BCD1701EB1571B3F9024006EB2111FF +:1019A00021444FF47F75A94201DA294604E04FF43F +:1019B000FA64A14200DD21468D4C218090F97D0022 +:1019C000B2F900104843C217B3F9001000EB1270CF +:1019D00006EB20100844A84201DA284604E04FF440 +:1019E000FA61884200DD0846608039E08148AAF843 +:1019F0000040007868B180487A494288B1F86410A4 +:101A00000088541A431A7A481C44891A04801944DD +:101A100005E0774801EB0902A9EB01010280418052 +:101A20007349704BB1F90000B3F8722002444FF4CF +:101A30007F70824201DA024604E04FF4FA64A24267 +:101A400000DD22460A80B1F90220B3F874301A444E +:101A5000824204DB4FF4FA60824200DC1046488088 +:101A60002020FFF76EF9654FC8B363496048B1F9AC +:101A70000C500580B1F90E404480F978B9B1594A4B +:101A8000594B92F97C10B3F902607143CE1701EB08 +:101A9000167105EB2111018092F97D10B3F9002038 +:101AA0005143CA1701EB127104EB21114180B0F9C7 +:101AB00000104FF47F72914201DA114604E04FF4B6 +:101AC000FA63994200DD19460180B0F90210914293 +:101AD00003DB4FF4FA62914200DD11464180402061 +:101AE000FFF72FF9B8B1424C0125083CA078012836 +:101AF0000ED1E078B8B14FF47A76012819D002F00F +:101B00007BFF6168401AB04202D90020E070A070EB +:101B1000387900B1A570364F0121083F5546BAF912 +:101B200000603A781DE032494FF4FA608880E57031 +:101B30000BE002F061FF6168401AB042E8D92C491D +:101B40004FF47F7088800220E07002F055FF6060E3 +:101B5000DEE700BF35F91100B04200DD0646491C42 +:101B6000C9B29142F6D3002435E01E4AB2F86C00A7 +:101B7000B04205DA35F81410331AC91A25F81410D2 +:101B800035F91410B2F86A30994201DA184602E0C9 +:101B9000814200DC084625F8140017489046B0F949 +:101BA0000610B2F86600814208DA1020FFF7C9F883 +:101BB00040B1B8F86E0000BF25F814001048007856 +:101BC00018B106E0B8F86A00F6E7B8F86E0025F834 +:101BD0001400641CE4B238788442C6D321B0BDE856 +:101BE000F08F00004C030020AA000020A20100207A +:101BF000080100201C010020AA010020B2040020DE +:101C00001D0100202DE9F74FDFF848A40746904654 +:101C10000025DFF83C944FF48056AAF1040B17E03E +:101C200000240EE0D9F8001081F00801C9F8001076 +:101C3000CAF80060019802F0F8FECBF80060641C5E +:101C4000E4B2BC42EED33C2002F0EFFE6D1CEDB2DC +:101C50004545E5D3BDE8FE8F2DE9F84FFE4A002447 +:101C600040F2DC53B2F90690FC4D4FF4FA719945FD +:101C700001DA64200DE0F948B9F5FA6F90F8240014 +:101C800004DAA9F2DC53584390FBF1F0C0F1640090 +:101C9000C0B2AB46DFF8C0E3824695F86250BBF8AD +:101CA00064300020AEF1080EEB4940F2E63631F91F +:101CB00010C0ACEB030101F2F312B24204D80029C8 +:101CC00004DCA3EB0C0101E04FF4FA7189B2D846B1 +:101CD0002DB18D4202D2491B89B200E000210228B9 +:101CE00028D06422B1FBF2F2DD4E06EB420736F952 +:101CF0001260B7F902700096BE1B6FF018077A43A6 +:101D000001EB82025643642296FBF2F2009E3244BB +:101D10002EF8102098F822204A434FF4FA71B2FBB3 +:101D2000F1F1C1F16401C9B201FB0AF16422B1FB16 +:101D3000F2F10AE0AEF8041098F823204A434FF479 +:101D4000FA71B2FBF1F1C1F164018044C9B298F8B3 +:101D5000086064224E43B6FBF2F6BF4F663F3E5426 +:101D600098F818604E43B6FBF2F2F91C9C450A54F1 +:101D700004DA3EF8102052422EF81020401CC0B267 +:101D8000032891D30BF16A00B34D42880188BBF858 +:101D90006600A2EB0102A9EB000302FB03F2C0F50F +:101DA000FA6092FBF0F00844A5F19205AEF8060047 +:101DB000E8787646E8B3AB48B5F92010B0F90000F2 +:101DC000401A05F0EBFDA84AA84B05F0FAFC0022EA +:101DD000A74B05F066FD05F078FE074606F09CFB74 +:101DE0008146384607F04EF98046B6F9000005F006 +:101DF000C7FD4146009005F0C8FB0746B6F9020052 +:101E000005F0BEFD8246494605F0BFFB394605F0A8 +:101E100064FB05F0E1FD07464146504605F0B5FB81 +:101E200080464946009805F0B0FB414605F0A7FB07 +:101E300000E003E005F0D0FD308077800220FEF75F +:101E400080FF00264FF00108B8B3E87A401CC0B20A +:101E50000621B0FBF1F2E87201FB1200C0B901F0FB +:101E600022FE697B7E4A01F00703603A491C22F892 +:101E7000130069735FF0000032F81010401C214419 +:101E8000C0B28CB20828F7D3E00800F000FE6874F6 +:101E9000734870490E30091F827A4FF480500AB19E +:101EA00007220CE06A7C6B8D9A4203D89BF859306C +:101EB000934203D92E732E7008601BE004222A730C +:101EC0002A7852B12B6C6A6B03F5743390339A42C3 +:101ED00010D92E7008602A640CE02A7B6549D14035 +:101EE0002A6C0A44696B8A4204D25A4A85F80080F7 +:101EF000106029646048614F554C008818B101207A +:101F0000FEF70AFF10B95E48008820B1206880F013 +:101F1000080020600BE039780820012902D14C49E3 +:101F2000091D0860697911B14949083108604FF409 +:101F30008070FEF706FF48B1A96C686B884205D92E +:101F40004CF250310844A86402F0B8FF696C686B29 +:101F5000884204D94B490978C1B187F8008001F063 +:101F60007CF81020FEF7D8FE00280DD0E96C686BD5 +:101F7000884209D9A97A012906D143490844E8646D +:101F8000206880F010002060BDE8F88F3E70216866 +:101F900081F0080121603D4908446864DFE72E4A6A +:101FA000002110B5923A91822C49084490F85A00C9 +:101FB00002F0B6FCA0F2EE2140F2DD52914200D3D5 +:101FC000501E10BD2DE9F047234E0024923E244FB1 +:101FD000B07BDFF88480401C503FB073A14607F10E +:101FE0004005F16B20468847B27B07EBC40102F045 +:101FF000030221F8120025F81490002035F814305F +:1020000031F81020401C1A44C0B225F814200428CE +:10201000F4D335F91400801CC11700EB91708010C7 +:1020200025F8140038F914204146D21E904202DAF5 +:10203000821C21F8142031F91420D21C904202DDB8 +:10204000801E28F81400641CE4B2082CC9D31FE0D9 +:102050000C0C014014080140AA0100204C03002090 +:10206000A404002028020020182D4454FB2109401C +:102070000080664080841E00E0010020DA0100201C +:10208000E20100209C000020F049020020A107008E +:10209000BDE8F0872DE9F04F87B001F061FC08B191 +:1020A000FFF790FFDFF808940125DFF808A4D9F8BE +:1020B0003410D9F85400002481427AD944F62062C1 +:1020C0001144A802C9F85410FEF73BFE08B9FFF707 +:1020D00079FFF74EDFF8E0B392364FF4C878B6F9DF +:1020E0000610BBF8660081426FDAA6F114014F4674 +:1020F0000C804C808C802E39DC460C804C8099F80A +:102100000F10491CC9B289F80F10B6F90420824299 +:1021100005DAB6F90230834201DA787990B1BBF87A +:102120006800D846824206DDB6F902206346824244 +:1021300001DD787960B10420FEF703FED0B3787931 +:10214000F8B149E0142902D1DC48A0F80080DEE0B3 +:10215000142915D15978DA48012902D0082904D068 +:102160000BE040F2DC51418105E0B3F872100180D0 +:10217000B8F874104180FFF793F902F02BFCB863B4 +:10218000C5E0B6F90410B8F86620914224DAB6F931 +:102190000210B8F8680081421EDDB6F900108142D5 +:1021A0001ADDF87B142803D1788B20B17C83BD83A2 +:1021B000ADE0E7E110E0388D28B10020388528B186 +:1021C0000222012104E00120F8E74CE003220A2169 +:1021D0000A20FFF717FD9AE098F84510404611B91C +:1021E00090F8501069B1B748407930B1B87920B152 +:1021F0007D71BAF8000038842BE0787948B37C719F +:1022000027E0B6F90410B0F86620914203DBB6F976 +:102210000030934202DA7A79012A0ED0B8F86800C9 +:10222000814203DCB6F90010814212DDB6F90210DA +:1022300081420EDA787928B10BE0F87B142866D158 +:102240007C7164E09D48008818B99F480078012897 +:1022500001D0FC735BE0F87B142858D17D71BAF88B +:102260000000388453E0BBF86820DC4691424EDD24 +:1022700099F8053049467BBBB6F9043083420ADA47 +:10228000B6F90270874206DAC87B14280ED18F4A4D +:10229000A2F800800AE093420CDDB6F902308342D6 +:1022A00008DAC87B142801D1894A1570401C89F8C6 +:1022B0000F002CE0B6F902304FF48077934203DD33 +:1022C000BCF83400801C04E0834206DABCF8340019 +:1022D000801EABF834000FE019E0B6F900309342ED +:1022E00003DDBCF83200801C04E083420DDABCF848 +:1022F0003200801EABF83200FEF75CFC3846FEF779 +:1023000020FD20B102F03BFE01E089F80F400420DF +:10231000FEF717FD18B3B9F82820484632216AB1F4 +:102320004279012A0AD1B6F90630BBF866209342F9 +:1023300004DD644A52790AB901830485614A127A3C +:102340002AB1028D5AB90585A9F8181007E0418B0A +:1023500029B1417919B904854483A9F81C5054491D +:1023600000209231B1F90820B1F90A30A2F2155ECD +:10237000A3F21551049140F214518A4201DA012767 +:1023800000E000274FF4C77BDE4501D8012600E0BE +:10239000002647EA460740F2A466B24202DD4FF04B +:1023A000010C01E04FF0000C47EA8C078B4202DA87 +:1023B0004FF0010C01E04FF0000C47EACC0C049FF9 +:1023C0005F4501D8012700E000274CEA0717B34218 +:1023D00002DD4FF0010C01E04FF0000C47EA4C1C0D +:1023E000354F07EB000898F840701CEA070F42D100 +:1023F0002F4F9237B7F90CC0CDF818C08C4502DAD0 +:102400004FF0010C01E04FF0000C069FA7F21557AA +:10241000B7F5C77F01D8012700E000274CEA470C39 +:10242000069FB3465F4501DD012600E000264CEA29 +:1024300086071F4E9236B6F90E608E4202DA4FF0D2 +:10244000010C01E04FF0000C47EACC0CA6F2155746 +:10245000B7F5C77F01D8012700E000274CEA07172E +:102460005E4501DD012600E0002647EA461798F8A0 +:102470004B60374000D00127124E3754401CC0B289 +:102480000B28FFF47AAF3746387818B9B9F9140039 +:1024900032281FDD0120FEF73FFCD8B199F8071064 +:1024A000D1B9034950310C804C8089F8075013E0B2 +:1024B00018010020280200204C030020E201002027 +:1024C00008010020B2040020DA010020E001002011 +:1024D000DC01002089F80740787908B989F80650AE +:1024E00099F8071010204E4601290AD0FE490860CD +:1024F0000220FEF711FCA8B1787890B1707A18B17B +:1025000010E0F949091DF2E7F848F94975720068C9 +:102510000860F848C088F083F7480480F7480480D2 +:1025200000E074720420FEF7F7FB88B1B87838B188 +:10253000307A30B9F2483572BAF80010018000E004 +:102540003472787A18B1F07810B9F57000E0F47050 +:102550001020FEF7E1FB78B1B87908B1757000E0A2 +:102560007470F87938B1B07830B9B570B06D306644 +:10257000F06D706600E0B470387A08B135710CE027 +:1025800034710AE099F91010E9B301294BD00229FE +:1025900055D003295ED089F81040FEF746FD02F0C1 +:1025A00019FAC9F83400D9F838104D46411AA9F87B +:1025B0001210C9F8380002F09FFD0420FEF7ACFBB2 +:1025C00030B3CC49B1F9042002F145008A2845D83E +:1025D000287A98B3CA48BAF800300088181A00B2AE +:1025E00010F1B40F02DC00F5B47000B2B42802DBC5 +:1025F000A0F5B47000B2C34B1B784BB1C24BDB7B70 +:1026000043431E2000E004E093FBF0F0101A8880A2 +:1026100028E089F810500420FEF77EFB0028BCD08B +:1026200000F062FCB9E7022189F810100846FEF7B5 +:1026300073FB0028B1D000F033FBAEE70EE00321BE +:1026400089F810100220FEF767FB0028A5D0FEF7DE +:1026500086FDA2E7042189F810109EE7A848BAF881 +:10266000001001800220FEF757FB78B1687A68B14C +:10267000A048B5F91E10B0F90620521A1432282AC3 +:1026800000D96C729D4A12881144C1801020FEF757 +:1026900043FBDFF860B2ABF1220BE8B300276978A7 +:1026A000AA78384651EA020304D0AB7A13B1012963 +:1026B00005D007E0ABF80040ABF80240D0E06F8CEB +:1026C000B5F91600DFF84482012A02D1AF8CB5F9C2 +:1026D0002600BAF90010401A05F060F98C4A8D4BBB +:1026E00005F06FF800228C4B05F0DBF805F0EDF9F2 +:1026F000854E05906FF00901707F484305F040F961 +:102700008246384605F045F907460090059806F0E0 +:10271000B9FC8146707B00E0A2E005F03AF9494639 +:1027200004F033FF394604F030FF414604F063FF04 +:10273000514605F0E7F9707F05D26FF00901484373 +:1027400005F01EF930E000EB8000400005F021F9B3 +:102750008146059806F096FC0746707B05F019F94E +:10276000394604F012FF009904F00FFF414604F0CF +:1027700042FF494605F0D0F906D2707F00EB800099 +:10278000400005F006F90FE0059806F07BFC0746CF +:10279000707B05F0FEF8394604F0F7FE009904F06E +:1027A000F4FE414604F027FF05F016F9ABF80000EF +:1027B000707F6FF009015F46484305F0E1F88246FB +:1027C000059805F0A9FE8146707B05F0E2F84946C0 +:1027D00004F0DBFE009904F0D8FE414604F00BFF44 +:1027E000514605F08FF9707F05D26FF0090148431B +:1027F00005F0C6F831E000EB8000400005F0C9F8B4 +:102800008246059805F088FE8146707B05F0C1F888 +:10281000494604F0BAFE009904F0B7FEC1464146AD +:1028200004F0E9FE514605F077F906D2707F00EB1F +:102830008000400005F0ADF80FE0059805F06CFE53 +:102840008046707B05F0A5F8414604F09EFE009995 +:1028500004F09BFE494604F0CEFE05F0BDF87880FA +:10286000DFF8908095F80790A8F11E08DFF8ACA07B +:10287000002008F1060C08F10C0E00BFB9F1010FA1 +:1028800060D102285ED21B493BF9102031F91010AB +:10289000C2EB4101224A914202DB5242914200DDE9 +:1028A0001146204A184E642332F81020B57F891A49 +:1028B00006EB4002528E11440AB2B17B514391FBA8 +:1028C000F3F16B4209B203EB83038B4203DC05EBAC +:1028D00085038B4200DA1946064D3A3D35F9103032 +:1028E0001A44114B9A4221E0100C0140C000002014 +:1028F000C4000020A2010020A2000020A0000020AF +:102900002A0200209C0000204C03002000002041EF +:10291000182D4454FB21094000806640C800002067 +:102920000CFEFFFFAA000020F0D8FFFF03DB5B4294 +:102930009A4200DC13461AB225F81020B37D5A43A0 +:1029400012132CE02F492F4D3AF9106031F9101075 +:102950000C3D01EB810213012B4A17183A7A93FBC5 +:10296000F2F2921B35F9103012B21A44274B9A42F8 +:1029700002DB5B429A4200DD1A4606F5207625F816 +:102980001020B6F5A06F01D925F8104035F91020B8 +:102990007D2392FBF3F23B7C5A43921112B2194B06 +:1029A0003AF910505E3B50261B5C6B4393FBF6F3E9 +:1029B000CB1A38F8101028F810503CF810603EF888 +:1029C0001070691A37442EF810600F442CF810105C +:1029D0000C493FB25B391A44095C7943A2EB61119F +:1029E000084A921F22F81010401CC0B20328FFF4BE +:1029F00045AFFEF79AFDFEF753FD07B0BDE8F04F77 +:102A0000FEF76FBDA20100204C03002080C1FFFF34 +:102A100010B5F74801F07CF810B90120FEF789F9EC +:102A200001F0E0F810B90220FEF783F901F01CFA7A +:102A300010B90420FEF77DF90120FEF76DF9EC4C8A +:102A400008B1206880470220FEF766F908B101F05E +:102A5000C9F8E749E6480C3102F02CFB28B1012007 +:102A6000FEF762F92068804707E0E1480C3001F08A +:102A70001BFD10B9032002F081F8DD480C3000681E +:102A80008047DC48008FBDE8104001F021BD70B5E3 +:102A90000546D84890F8570004F07BFF04462846C6 +:102AA00004F077FFD44904F070FDD44904F0A3FD8D +:102AB000214604F06AFD04F0A8FF80B270BD70B535 +:102AC00000252C4600F0EFFF05440A2001F0ADFF81 +:102AD000641CE4B2202CF5D3C5F34F10FFF7D7FFE9 +:102AE000C44A022192F8583003FB01F4844203D80F +:102AF000491CC9B20629F7D3C148017092F85900A0 +:102B00004843C049088070BD2DE9F05FDFF8F882C6 +:102B1000BE4EB84CB8F80420002592B3B44900204A +:102B20004FF4C87C2439624501D141F8205051F856 +:102B3000203036F910703B4441F8203026F8105010 +:102B400004EB4003401CC0B2DD840328EBD3012A10 +:102B500012D1086890FBFCF0E084486890FBFCF020 +:102B600020858868B8F8081090FBFCF0401A608552 +:102B70006586A586FEF71EF8B8F80400401EA8F882 +:102B800004000420FEF7DDF8002870D0DFF880C2D2 +:102B9000DFF87492964FBCF8001009F12009183F35 +:102BA000A9F10C0A322904D0F1B30020322910D047 +:102BB00011E0E28CA9F80020228DA9F80220628D94 +:102BC000A9F80420628EAAF80020A28EAAF802209A +:102BD000EBE747F8205057F8202036F910301A4418 +:102BE00047F8202026F8105004EB4002401CC0B2E9 +:102BF000D5840328DAD3E34601291AD185488649CA +:102C000002220580012008800A210846FEF7FAFF0B +:102C1000B9F80010E184B9F802102185B9F8040070 +:102C20006085BAF8001000E008E06186BAF802009A +:102C3000A086BBF80010491EABF800107748018849 +:102C4000012914D105803968322091FBF0F1E1842B +:102C5000796891FBF0F12185B96891FBF0F1B8F842 +:102C60000800081A60856586A586FDF7A3FF3088F1 +:102C7000E18C401A30807088218D401A7080B088B5 +:102C8000618D401AB080BDE8F09F10B5584C5F4888 +:102C900061688847A1685D488847BDE8104033E710 +:102CA00010B55F48584C0068E168884230D3E06056 +:102CB000607870B3012836D002283BD0032827D192 +:102CC00001F043F82061608901F00EF8206901F0FD +:102CD00061F804F055FE534904F08DFC04F0DFFE6A +:102CE0004FF00052504B05F0D7FC00224F4B04F040 +:102CF00065FD00224E4B04F064FD04F09AFE4D4940 +:102D0000086000206070E06841F288310844E060AB +:102D100010BDFFE701F002F8607841F2F811401CA5 +:102D20006070E068F2E700F0C7FF60816078401CE7 +:102D30006070EDE701F077F8607843F2B061401C15 +:102D40006070E068E2E72DE9F0472F4F3A4E3B4CC8 +:102D5000F88848B3DFF898800025A9464FF4C87A70 +:102D6000A8F10C08F988514501D148F8259058F888 +:102D7000253034F915C00129634448F8253024F87A +:102D8000159026F8159008D193FBFAF026F8150057 +:102D900001220F210A20FEF735FF6D1CEDB2032D35 +:102DA000E0D3F888401EF880174D002015F1260565 +:102DB00034F8101036F81020891A09B224F81010CF +:102DC00035F91020A2F54873994201DA1A4604E059 +:102DD00002F54872914200DC0A4624F8102025F8DA +:102DE0001020401CC0B20328E2D3BDE8F0870000E9 +:102DF000E40400204C0300203333534000F07F45AF +:102E0000C001002042010020DC010020E60000207B +:102E100030010020BE0100203201002034010020DA +:102E20004C01002080E6C547965BC83F0000F03F9C +:102E30001AE95041BC000020F8000020E00000200A +:102E400010B5744C744861688847A1687248884717 +:102E5000BDE8104077E710B5704801F042F86F48C0 +:102E60006F4982880A80028852424A8040884042E4 +:102E700088804DE770B501F00AF8642001F0D5FDB7 +:102E8000FFF7E9FF0A2001F0D0FD654CB4F900001E +:102E9000002800DC404204F073FD624E01463046DB +:102EA00004F0A9FB5D4D14352860B4F90200002838 +:102EB00000DC404204F064FD0146304604F09BFB18 +:102EC0006860B4F90400002800DC404204F058FDBA +:102ED0000146554804F08FFBA86000F0F0FF4F4911 +:102EE00001202C39887070BD2DE9F0474B4C4F48BC +:102EF0002C3C0068A169884274D34D490844A06104 +:102F0000FFF7A9FF464DB5F9000004F039FD04F1C3 +:102F10004006316804F039FB04F05EFD00B2288001 +:102F20008046B5F9020004F02BFD716804F02DFB1A +:102F300004F052FD00B268808146B5F9040004F047 +:102F40001FFDB16804F021FB04F046FD0FFA80FC80 +:102F5000A5F804C0207804F1320200273549961DF7 +:102F6000012811D1A069E0615FF0000001EB40038E +:102F70009F8535F8103022F8103026F81030401CAC +:102F8000C0B20328F2D32770A07858B18B8DA8EB7C +:102F900003002880CB8DA9EB03006880088EACEB82 +:102FA0000000A880E06900281CD0A369181A224BF1 +:102FB000984218D22148016881F008010160002080 +:102FC00035F9101032F91030994201DA22F8101058 +:102FD00036F91030994201DD26F81010401CC0B2BD +:102FE0000328EDD301E70020C4F81C7032F910303B +:102FF00036F91040234401EB400403EBD3735B101C +:10300000401CC0B2A3850328F0D3BDE8F047FDF70C +:10301000D1BD0000F0040020E000002008020020E4 +:10302000F200002000009144000087444C01002081 +:10303000A08601004C03002080C3C9010C0C014094 +:1030400010B50446C0B201F0B6FEC4F30720BDE8D7 +:10305000104001F0B0BE01F0AEBE2DE9F05FFE48B9 +:10306000007800287ED101F084FE00287BD001F09A +:103070008DFEDFF8E893FA4FFA4EDFF8ECB3DFF895 +:10308000ECA3DFF8EC83FB4D4F286DD06DDC2328DB +:1030900068D045286AD04D2865D101F08CFE1420F7 +:1030A00001F089FE5FF0000437F91400FFF7C8FF54 +:1030B000641CE4B2032CF7D35FF0000436F914006B +:1030C000FFF7BEFF641CE4B2032CF7D3EA4E0024E2 +:1030D00036F91400FFF7B4FF641CE4B2032CF7D3F5 +:1030E000E648006800B2FFF7ABFFB9F90000FFF750 +:1030F000A7FFE34E002400BF36F91400FFF7A0FF3E +:10310000641CE4B2082CF7D30024564636F91400A8 +:10311000FFF796FF641CE4B2082CF7D30024464660 +:1031200036F91400FFF78CFF641CE4B2082CF7D3C7 +:103130000120FDF7F1FD44000220FDF7EDFD44EA1A +:1031400080040420FDF7E8FD44EAC0041020FDF7E8 +:10315000E3FD44EA001001F02EFECA480178CA4897 +:10316000007804E0DAE01CE1DCE099E0D2E141EA39 +:103170004001C648007841EA8001C548007841EA2C +:10318000C001C448007841EA0010C0B201F013FE4B +:10319000C148008800B2FFF753FF01F0D0F800B239 +:1031A000FFF74EFF00245E4636F91400FFF748FF94 +:1031B000641CE4B2022CF7D3687801F0FCFD002413 +:1031C0002E19307A01F0F7FD307C01F0F4FD307EED +:1031D00001F0F1FD641CE4B2082CF1D315F8200FC6 +:1031E00001F0E9FD687801F0E6FDA87801F0E3FD63 +:1031F000E87801F0E0FD2879A5F1200501F0DBFD7C +:10320000A64E00242F1917F8400F01F0D4FDF87ACC +:10321000315D40EAC110C0B201F0CDFD641CE4B2E2 +:103220000B2CEFD39E48008800B2FFF709FF9D48A2 +:103230000088B43000B2FFF703FF9B48007801F02C +:10324000BAFD9A48007801F0B6FD9948007801F07F +:10325000B2FD9848008800B2FFF7F2FE9648008859 +:1032600000B2FFF7EDFE9548007801F0A4FD944808 +:103270000A21006890FBF1F000B2FFF7E1FE9148EF +:10328000B0F90000FFF7DCFE8F48B0F90000FFF74F +:10329000D7FE8E48B0F90000FFF7D2FE4D202AE19C +:1032A00052287CD053287BD057287AD15FF0000475 +:1032B00001F079FD2E19307201F075FD307401F0C6 +:1032C00072FD641CE4B23076082CF1D301F06BFD82 +:1032D00005F8200F01F067FD687001F064FDA8702B +:1032E00001F061FDE87001F05EFD2871A5F1200597 +:1032F0004FF0000401F057FD2E1906F8400F01F0C1 +:1033000052FD641CE4B2F0720B2CF3D301F04BFDC0 +:1033100001F049FDBDE8F05FFDF74CBCBDE8F05F92 +:10332000FDF758BA4F2001F046FD002437F914008C +:10333000FFF786FE641CE4B2032CF7D35FF00004B1 +:1033400036F91400FFF77CFE641CE4B2032CF7D3BB +:103350004A48006804F014FB5D4904F016F904F0D3 +:103360003BFB00B2FFF76CFEB9F90000FFF768FE07 +:1033700000245D4635F91400FFF762FE641CE4B2D8 +:10338000022CF7D30024554635F91400FFF758FEF8 +:10339000641CE4B2062CF7D30024454602E0AEE0FC +:1033A000B2E0B5E035F91400FFF74AFE641CE4B260 +:1033B000062CF3D30120FDF7AFFC44000220FDF7FB +:1033C000ABFC44EA80040420FDF7A6FC44EAC004F8 +:1033D0001020FDF7A1FC44EA001001F0ECFC2948A4 +:1033E00001782948007841EA40012848007841EAFC +:1033F00080012748007841EAC0012648007841EA68 +:1034000000103449097840EA4110C0B201F0D3FC01 +:103410002A48007801F0CFFC142001F0CCFC2348AE +:10342000007801F0C8FC2048007801F0C4FC2A4C68 +:10343000206800B2FFF704FE20680014FFF700FECA +:10344000264C206800B2FFF7FBFD20680014FFF750 +:10345000F7FD2348008845E02C02002028020020C8 +:10346000EC000020C8000020AA0000203404002046 +:10347000AA0100204C030020F2000020C000002020 +:10348000080100201F010020210100202001002050 +:10349000190100201A0100202A010020B204002096 +:1034A0003A0100202E010020D1010020D00100208F +:1034B000BC010020D6010020D801002029010020F5 +:1034C000BC000020C2010020C4010020C601002071 +:1034D000000020411D010020700100207401002027 +:1034E000D201002000B2FFF7ABFD0C48008800B20B +:1034F000FFF7A6FD4F20BDE8F05F01F05CBCBDE822 +:10350000F05F012001F05DBB05494FF4C8700880F1 +:10351000BDE8F09F034901200870F9E7D4010020BD +:10352000E0010020DC0100202DE9F0470546DDE93F +:1035300008890E461F46501B04F022FA044628460E +:1035400004F02CFAD44AD54B04F03BF904F0BDFA50 +:1035500004F0E2FF0546B81B04F012FA294604F015 +:1035600014F80546014604F010F8064621460846C0 +:1035700004F00BF8314603F0B0FF05F06FFE04F0E5 +:103580008EFAC74AC74B04F01CF904F071FAA8F888 +:1035900000002146284604F095FE04F080FAC24A55 +:1035A000C24B04F00EF904F044FAA9F80000BDE89B +:1035B000F08770B5034600200246054615E02E2C24 +:1035C00005D1521CD2B2002912D054181D5500EB5F +:1035D00080009C5C4004000CA4F13006092E02D847 +:1035E0003038204480B2521CD2B29C5C002CE6D110 +:1035F00070BD70B5017802464FF47A74002311B1A2 +:1036000011460A2610E0002070BD824207D0303DEE +:10361000EDB205FB0433B4FBF6F40D709BB2EDB2D2 +:103620002E2D00D10A46491C0D78002DEDD1541ED7 +:1036300012F8025D247805EB8505303C04EB450467 +:10364000A4F5F07442F21071A4B201FB0433062415 +:10365000B3FBF4F30AE000BF01EB810112F8014D66 +:103660004900303CE4B204FB013314708242F3D1D0 +:10367000184670BD2DE9F04700268D4C05462428DC +:1036800017D02046DFF82C8240782C2D15D02A2D1B +:1036900013D021460D2DC97874D00A2D72D00F2871 +:1036A00003D208F80050401C607000296BD0002045 +:1036B0007DE726706670A670F9E708F8006020784C +:1036C0004FF0010928B12179012928D0022961D0C0 +:1036D0006DE0267198F80000472868D198F801003D +:1036E000502864D198F80200472802D052280BD005 +:1036F0005DE098F80300472859D198F80400412864 +:1037000055D184F8049052E098F803004D284ED12A +:1037100098F8040043284AD10220207147E0664F00 +:10372000022814D003280BD0644F04280FD005289A +:1037300011D0062816D007281DD0092824D036E03D +:1037400098F8000053280AD031E038602FE059483B +:10375000FFF74FFFF9E798F80000572827D138689E +:103760004042F2E798F80000302801D9012000E03B +:103770000020534904E000214E48FFF71AFF514949 +:10378000087014E020E018E000214A48FFF711FF1C +:103790004D490BE007280AD101214648FFF709FFF0 +:1037A0004A4948434A49B0FBF1F04A490880207829 +:1037B000401C207066702A2D03D0A0786840A0704D +:1037C00075E784F8039072E70029F9D098F80000B3 +:1037D00000F059F8050198F8010000F054F8284469 +:1037E000A178C0B28842E670EAD120790128E7D1F9 +:1037F000DDE67CB5C0B2FFF73DFF00282CD036488F +:1038000001220178012910D002702D48007801288A +:1038100022D12C48007803281ED9304B2648304C42 +:103820001E7826492F4D1EB107E000210170ECE7FC +:103830001A70026822600A682A602B4A1278012AEC +:103840000BD02A4B2A4ACDE900230B68026829686D +:10385000D4F80000FFF768FE7CBD264B264ACDE970 +:103860000023026825480B68016825480068F1E7D5 +:1038700010B524494FF4165001F0B4FABDE81040D9 +:103880001020FDF751BA3038C0B2092801D9C01F45 +:10389000C0B200F00F007047A92E72D8E76C873EC7 +:1038A000FC639ED1D3CBF13FF8C1631ADCA54C4039 +:1038B0002D020020FC040020700100207401002073 +:1038C000D0010020D1010020D20100208CD90700B6 +:1038D000A0860100D4010020BC01002022010020AC +:1038E000C8010020CC0100201A0100202E01002078 +:1038F0003A0100203E0100203C0100207C01002014 +:1039000078010020F337000870B5374C01260546D2 +:10391000667001F05FF8A168411AC4E9020141F242 +:103920008830814201D90020A0703049A0780D5420 +:103930000F2802D0401CA07070BD267070BD2C48AE +:10394000032190F86320284812B1C170072101E0DB +:103950000222C270017127494FF4E13001F042BAEE +:10396000214800787047F0B5DFF87CC01F4A9CF80A +:1039700000101C3AF9B19CF804509CF80340DFF8A1 +:103980006CE003210EEB010616F8013CE34003F066 +:103990000F03072B08D21EF8017016F8016C2E4099 +:1039A00007EB062642F82360891CC9B21029E9D327 +:1039B00000218CF8001007280FD29CF8011061B18B +:1039C0000B4991F863300C49085C52F820003BB178 +:1039D0004FF4777101EB500004E040F2DC50F0BD91 +:1039E00000F5777080B2F0BD340200202805002079 +:1039F0004C030020093900089D95000870B52B4E36 +:103A000090B0304601F012FE29480090294801A9E3 +:103A10000024012531C128020494CDE9054080002D +:103A20000790202008900002CDE90904694630463D +:103A300001F069FE0121304601F08FFE8DF8304023 +:103A40000B948DF831504FF46020CDE90D04184CE3 +:103A50008DF83C504C3C0BA9204601F071FC03232F +:103A600001220421204601F0EBFC0121204601F057 +:103A700099FC0121204601F08BFC204601F0A5FCB9 +:103A8000204601F0A7FC0028FAD1204601F0A9FC4D +:103A9000204601F0ABFC0028FAD10121204601F0BC +:103AA000ACFC10B070BD03480088704708000240AD +:103AB0004C24014044020020704710B50446214BBD +:103AC00006223221532000F000FC1E4908784A7873 +:103AD00000EB022020808878CA7800EB022060800A +:103AE0000879497900EB0120A08010BD10B50822AB +:103AF0002D21532000F0E3FB0B223121532000F055 +:103B0000DEFB09222C21BDE81040532000F0D7BB7A +:103B100038B5044600208DF8000001466B460122AE +:103B2000532000F0D2FB18B19DF80000E52801D029 +:103B3000002038BD04482060044860600448A0604C +:103B4000012038BD46020020ED3A0008BB3A0008CB +:103B5000B93A000810B54FF48044204601F0A8FEA1 +:103B6000012805D1204601F0B1FEBC4901200870B2 +:103B700010BD10B5B94C86B06B4660681622AA21FC +:103B8000807E00F0A2FBBDF8000041BA60680180B1 +:103B9000BDF8021049BA4180BDF8041049BA8180CD +:103BA000BDF8061049BAC180BDF8081049BA0181B4 +:103BB000BDF80A1049BA4181BDF80C1049BA81819B +:103BC000BDF80E1049BAC181BDF8101049BA018282 +:103BD000BDF8121049BA4182BDF8141049BA818269 +:103BE00006B010BDF0B59D4C85B0607810B10120D5 +:103BF00005B0F0BD4FF40055ADF80C5003208DF822 +:103C00000E001020964F8DF80F0003A9384603F0E0 +:103C10006EF86E00ADF80C6004208DF80F0003A95B +:103C2000384603F064F83D610E21022003F016F9D6 +:103C3000019600268DF8086008208DF809000125FE +:103C40008DF80A5001A801F0E3FD28208DF810003E +:103C50000F208DF811008DF812008DF8135004A874 +:103C600001F0FFFA0C2000F0E0FE616877206B465F +:103C7000CE7688760122D02100F027FB60689DF87F +:103C800000100222C1750284552901D00020AFE73F +:103C90005521C176807E6B460122D12100F015FBB3 +:103CA0009DF80000616800F00F0200090A7648766E +:103CB000FFF75FFF65709AE7684808B542F2107138 +:103CC000027800E000BF22B90B00A1F1010189B226 +:103CD000F8D140686B460222807EF62100F0F5FAAA +:103CE000BDF8000040BA08BD5C494968CA7E552A43 +:103CF00001D0C8690EE04A89B1F91430801A0A89E6 +:103D00005043C013B1F912200344D20292FBF3F2E4 +:103D10001044C8610830001100B270474F480021BC +:103D20002E2201704068F421807E00F0C8BA10B5E0 +:103D30004A4C00202070FFF7F1FF20780028FDD0CA +:103D4000FFF7BAFFBDE81040CEE738B5434C42F26A +:103D50001070217800E000BF21B90200A0F101003D +:103D600080B2F8D160686B460322807EF62100F0B5 +:103D7000ACFA9DF800009DF80110000440EA012013 +:103D80009DF8021008436168B1F92010C1F10801E3 +:103D9000C84038BD70B531494A68D169B2F90E40A2 +:103DA000A1F57A6101FB01F31D136C43E512B2F931 +:103DB0000240B2F904604C4305EBE424B2F9005030 +:103DC00004EB8505148CA5404E437113B2F90C60C9 +:103DD0001B135E4301EB2641891C8910D288AD1C60 +:103DE00001F500414A43D10B4CF25032A0EBA50043 +:103DF000E2405043B0F1004F03D24000B0FBF1F07D +:103E000002E0B0FBF1F040000112494340F6DE321F +:103E10005143144A0914424301EB224101F6CF6198 +:103E200000EB211070BD0D48342341680A8C03EB70 +:103E3000821200230370887ED2B2F42100F03FBAD0 +:103E400010B5064C00202070FFF7EDFF2078002809 +:103E5000FDD0FFF77AFFBDE810409BE74C02002041 +:103E60000010014043E3FFFF08B500208DF800007B +:103E70006B4601220A211E2000F027FA18B19DF896 +:103E80000000482801D0002008BD012008BD10B561 +:103E9000642000F0CAFD712200211E2000F00FFAFC +:103EA000322000F0C2FD602201211E2000F007FA3E +:103EB00001220221BDE810401E2000F000BA10B51A +:103EC000702200211E2000F0FAF9202201211E207C +:103ED00000F0F5F900220221BDE810401E2000F09C +:103EE000EEB91CB504466B46062203211E2000F0E5 +:103EF000ECF9BDF8000040BA2080BDF8020040BADD +:103F00006080BDF8040040BAA0801CBD30B587B009 +:103F100005464FF44060ADF8140003208DF81600FC +:103F20001C208DF8170005A9FC4802F0E0FEFC4CAF +:103F3000E56000F007FAE06801F0D0FC684601F0A7 +:103F400038FD00224FF44071E06801F098FD002533 +:103F5000ADF804504BF6FF70ADF806004FF480400A +:103F6000ADF80C00EF4800900121E06801F02FFD52 +:103F70006946E06801F0C5FC4FF4A06001F06CF9FF +:103F800022208DF810008DF811508DF8125001206C +:103F90008DF8130004A801F064F921208DF81000B9 +:103FA0008DF8115004A801F05CF907B030BD70B570 +:103FB000DB4CE068858A15F4E06F24D0018B002289 +:103FC0004FF4806101F05BFDA8051CD4E068018816 +:103FD000890518D40188C9050CD50188C905FCD408 +:103FE000012101F01CFDE06801888905FCD4FFF780 +:103FF0008DFF08E0012101F012FD00224FF4407115 +:10400000E06801F03CFDE068818A21F47061818202 +:104010000020E07070BDCAE72DE9F041C04CE068B7 +:10402000818A4FF00105C9B2CA074FF0000627D0B8 +:10403000018821F400610180012101F0FAFCA670E1 +:10404000207A20B1207860B96079FF2809D02179E1 +:104050000022E06801F020FD6079FF280FD0FF20EA +:10406000B8E02570A079022804D1E068018841F405 +:104070000061018021790122E06801F00DFDC9E0B5 +:104080008A074FF4806734D5BFF3508FA079012899 +:1040900010D1207A70B1207860B10021E06801F081 +:1040A000C8FCBFF3508FE068018B012101F0B7FC21 +:1040B00065701CE0E068008BBFF3508FA079022888 +:1040C0000DD1207A58B1207848B10021E06801F084 +:1040D000B0FC93E03946E06801F0D1FC9AE0A079A9 +:1040E000032804D1207A10B12078002874D101224D +:1040F000F0E74A0753D56570227A89490978CAB32F +:10410000C9B3A17902291FD9002101F092FCE0680E +:1041100001F0BFFC94F9022063699854521CA2700C +:104120000121E06801F07BFC6570E06801F0B1FC02 +:1041300094F9021062695054491CA1700122394659 +:10414000E06801F09CFC25E0012101F068FCE068DA +:1041500001F09FFC94F9021062695054491CA1704F +:10416000E06801F096FC94F9021062695054891CD1 +:10417000A1700FE000E000E009B9E17931B101215F +:1041800001F04DFCA078401CA07003E0012101F07B +:104190003CFC2570E0680188C905FCD43AE04A0679 +:1041A0001BD501F076FC94F9021062695054491C49 +:1041B00048B2A070A179C01C814204D100223946C6 +:1041C000E06801F05CFCA17994F90200814221D100 +:1041D00000F10100A0701DE010E009061AD594F965 +:1041E0000220511C4BB20BD02569A95CA37001F0D1 +:1041F0004EFCA07994F9021088420BD1002269E7A5 +:10420000A370617901F043FC207A0028F6D1A079EF +:104210000028F3D094F90210A079401C814209D102 +:104220002670607828B100224FF44071E06801F0F8 +:1042300026FCE670BDE8F081EEE6B8E6ECE67CB57B +:10424000374C400047F23055207161710120E07118 +:1042500000212172C4F810D0C4F814D06946A271AC +:10426000E070072A01D900207CBD002003E01E5C1D +:104270000E54401CC0B29042F9D3E0688188890591 +:104280000ED40188C90505D401888905FCD4012113 +:1042900001F0BBFB01224FF44071E06801F0EFFB3D +:1042A000E07810B16D1EFBD102E00DB101207CBDA4 +:1042B0006089401C6081E068FFF728FED3E707B5FE +:1042C00002AB0122FFF7BBFF0EBD70B5144C4FEAE5 +:1042D000400047F23055207161710020E0710120EB +:1042E000207263612361A271E070E06881888905B2 +:1042F0000ED40188C90505D401888905FCD40121A3 +:1043000001F083FB01224FF44071E06801F0B7FB3C +:10431000E07848B16D1EFBD109E00000000C0140BF +:1043200054020020801A06000DB1012070BD608982 +:10433000401C6081E068FFF7E9FD002070BD2F4858 +:10434000408970472DE9F8434FF44067ADF800709D +:104350004FF003088DF802801420294C8DF80300DB +:104360006946204602F0C3FC3946204602F02CFD87 +:104370000025261502E00A2000F041FB31462046C8 +:1043800002F00EFD0028F6D03146204602F01EFD58 +:104390000A2000F034FB3146204602F015FD0A20C9 +:1043A00000F02DFB6D1CEDB2082DE7D34FF4006536 +:1043B0002946204602F00AFD0A2000F020FB314683 +:1043C000204602F003FD0A2000F019FB314620468A +:1043D00002F0FAFC0A2000F012FB2946204602F007 +:1043E000F3FCADF800708DF802801C208DF80300FE +:1043F0006946204602F07BFCBDE8F88354020020A9 +:10440000000C0140B0F90010CA1701EB927189103D +:104410000180B0F90210CA1701EB92718910418036 +:10442000B0F904104942CA1701EB927189108180DA +:1044300070471CB504466B4606221D216820FFF715 +:1044400044FFBDF8000040BA2080BDF8020040BA29 +:104450006080BDF8040040BAA0801CBD10B51920D2 +:1044600000F0E3FA002215216820FFF728FF10B9B9 +:10447000032000F083FB28481621007840F0180242 +:104480006820FFF71CFF002217216820FFF717FFA5 +:1044900001223D216820FFF712FF01223E21BDE8E5 +:1044A00010406820FFF70BBF10B50446192000F03C +:1044B000BCFA002215216820FFF701FF002806D072 +:1044C00016482060164860601648A060012010BDA4 +:1044D0001149622817D006DC0A281AD0142816D0F1 +:1044E0002A2809D111E0BC2804D0B0F5807F03D17F +:1044F000002000E0012008700878162140F0180222 +:104500006820FFF7DCBE0220F5E70320F3E7042074 +:10451000F1E70520EFE700006C0200205D44000891 +:1045200033440008054400082DE9F84F4FF0000B14 +:10453000DFF82CA4DFF82C9480465E460AEBC60018 +:1045400009EBC605D0E900474046444548D1390C3F +:10455000009102F0CEF9012842D12046009902F0E4 +:10456000D3F91EB9FE490120083988703F043F0C79 +:1045700006D0042F08D0082F14D00C2F08D115E036 +:10458000204602F09FF902E0204602F09DF98346A2 +:10459000287878B1A5F804B06888594683450FD9C2 +:1045A000081A11E0204602F091F9F0E7204602F0E7 +:1045B0008FF9ECE70120A5F802B02870022106E08F +:1045C0004FF6FF72101A0844E88000212970E54870 +:1045D00040304180E34907802046403101F0A4FE8D +:1045E000761CF6B2082EA9D3BDE8F88FDC4808384F +:1045F00001784FF0804009B100F09BB994E7DA48A8 +:1046000092E72DE9F04F0200D64CD84885B04FF024 +:10461000000B4FF001054FF028014FF003064FF05B +:104620001C074FF047084FF6FF794FF0804A04F11E +:10463000400436D0ADF810508DF813108DF812608C +:1046400004A902F054FB8DF80C708DF80DB08DF8B4 +:104650000E505E468DF80F5003A800F002FE68462B +:1046600001F02AFFADF80080ADF80490ADF80260CB +:1046700069465746504601F0AFFC6680A580E6804B +:10468000268126802146384601F04EFE0122022175 +:10469000384601F04AFF0121384601F031FF0A2176 +:1046A0005EE0CF22ADF810208DF813108DF8126067 +:1046B00004A902F01CFBADF8106004A9AC4802F09C +:1046C00016FB8DF80C708DF80DB08DF80E505E460F +:1046D0008DF80F5003A800F0C4FD1D208DF80C00CC +:1046E00003A800F0BEFD684601F0E6FEADF80080CC +:1046F000ADF80490ADF8026069465746504601F0A7 +:104700006BFCDFF864826946404601F065FC668018 +:10471000A580E6802681924E002500BF06EBC500ED +:1047200090498088208056F83500403101F0FCFD2A +:104730006D1CEDB2082DF1D301221E21384601F087 +:10474000F4FE01221E214446404601F0EEFE012106 +:10475000384601F0D5FE0121204601F0D1FE0621A8 +:104760007F480838417005B0BDE8F08F2DE9F04F63 +:1047700089B00446002001260890ADF81C6048204E +:104780008DF81F00DFF8E4A10D46032790469946F7 +:104790008DF81E7007A9504602F0A9FA7049714BB6 +:1047A000083920460C70002140F2DC5203EBC10CAA +:1047B000491CC9B2ACF806200829F7D30DB1FFF7A0 +:1047C00020FF4FF41060ADF81C0018208DF81F007A +:1047D0008DF81E7007A9504602F089FA4FF47070E8 +:1047E000ADF81C0007A9624802F081FA40F6C31731 +:1047F000B8F1000F53D0B9F1000F02D041F2873069 +:1048000001E044F61F60ADF8140004A9594801F016 +:10481000E3FBADF8147004A9574801F0DDFB7020EC +:10482000ADF800004FF00008ADF804804FF47A793D +:104830004FF0020B4FF4807AADF80260ADF80690AD +:10484000ADF808B0ADF80CA069464A4801F0FDFB90 +:104850006946484801F0A0FC6946474801F0F5FB6D +:104860006946454801F026FC6946434801F05CFC76 +:104870006946414801F090FC01213E4801F040FEAC +:1048800001213D4801F03CFE01213A4801F042FE81 +:104890000121394801F03EFEA54307D032E0ADF8D2 +:1048A000147004A9334801F097FBB4E72E4CADF81F +:1048B000147004A9204601F08FFB7020ADF80000B1 +:1048C000ADF80480ADF80260ADF80690ADF808B020 +:1048D000ADF80CA06946204601F0B7FB69462046BA +:1048E00001F0E8FB6946204601F01EFC69462046BF +:1048F00001F052FC0121204601F002FE0121204678 +:1049000001F008FE089809B02EE7154A083A5278D7 +:10491000904204D2124A403252F82000018070477F +:10492000104901EBC000C08870470D480838407836 +:10493000704770B502214D07284601F0DAFF084C98 +:10494000083C012807D1A088E080284601F0BAFF82 +:10495000A0800120A0700221284601F0D5FF0DE0C3 +:10496000780200206005002000040040000801409B +:10497000000C0140002C014000080040A088E188A4 +:10498000884201D9401A03E04FF6FF72511A0844D9 +:1049900080B2B0F57A6F01D900200EE0A0F2EF21CD +:1049A00040F2DB52914206D2E178082903D2044A50 +:1049B00002EBC101C880E078401CE07070BD0000CF +:1049C0006005002083484168834881604168491C34 +:1049D0004160704772B67F4843687F48816842688B +:1049E00062B6591A0068B1FBF0F002EB4201C1EB6C +:1049F000C21100EBC100704777484068704770B53E +:104A0000744C00236168744D6268511A0B4411465E +:104A10002A68B3FBF2F2824206D2801A2A68B3FBFC +:104A2000F2F602FB1633EFE770BD30B504464FF4E3 +:104A30007A7502E02846FFF7E2FF641EFAD230BD25 +:104A40002DE9F04186B001211D2001F0DAF90121A4 +:104A5000C80201F0D6F90121084601F0DBF9012175 +:104A6000022001F0D7F90121042001F0D3F901213E +:104A7000480201F0C6F90121880301F0C2F90121C1 +:104A8000880501F0C7F90121084601F0B1F90121BB +:104A9000022001F0ADF901F0E2F94FF6FF70ADF838 +:104AA0000000DFF8388100248DF803406946404655 +:104AB00002F01DF94A4F6946384602F018F9694676 +:104AC000484802F014F90121474802F09EF91820E5 +:104AD000ADF8000003258DF8025010268DF8036014 +:104AE0006946384602F003F93D480821103001605C +:104AF00006608614ADF800608DF8025014208DF821 +:104B000003006946404602F0F2F83448103006606F +:104B100001A801F028F935490198B0FBF1F02E49C0 +:104B200008603348016841F08071016029480168DC +:104B300041F0010101602F484FF47A710068B0FB29 +:104B4000F1F0B0F1807F0CD220F07F414FF0E020F7 +:104B5000491E4161264AF021D93A1170846107212A +:104B60000161FEF74BFF2448FFF7D0F900F076F81B +:104B70006420FFF75AFF06B0BDE8F081184A102103 +:104B8000143211600821121F1160044640F2DB103C +:104B9000124F151F44434E021437A7F1040C286826 +:104BA00080F010002860286880F008002860A01EAF +:104BB000FFF73BFF3E601920FFF737FFCCF800609E +:104BC000EDE710B10E490D48086009490D48F0396C +:104BD00008607047001000E0E0020020000801407B +:104BE000000C0140001001400002300040420F0064 +:104BF000FCED00E00003002000580040EFBEADDEF9 +:104C0000F04F00200400FA05A148A04A416853185B +:104C1000A04A136583688B4203D9591A9164436093 +:104C200004E0C1F58071916400214160994801213F +:104C3000443000F092BD10B54FF4005000F0CBFDB1 +:104C400094480021443000F088FD9148001D03C8BD +:104C5000814202D0BDE81040D6E710BD2DE9F041F9 +:104C600092B04FF40070ADF83C0003208DF83E0088 +:104C70001820894C8DF83F000FA9204602F037F824 +:104C80002015ADF83C0048208DF83F000FA92046C4 +:104C900002F02DF80E208DF8400001208DF8410023 +:104CA00000248DF842408DF8430010A800F0D9FA96 +:104CB0004FF4E1300B90ADF834400C20DFF8DC818C +:104CC000ADF83040ADF83600ADF83240ADF83840C0 +:104CD0000BA9404601F04CFE6E4F5837384600F0A5 +:104CE000A5FC08F10405B8140095CDE909046C4849 +:104CF000CDE9010480260494CDE90564A81503904C +:104D00002020CDE907406946384600F0FCFC01212F +:104D1000384600F022FD01224021404601F0C2FE4B +:104D2000384600F02FFD5A495A4F4437086038463C +:104D300000F07CFC1020029000950494CDE90564FD +:104D4000079469463846089400F0DDFC01220221F0 +:104D5000384600F00DFD4F48846401228021404612 +:104D600001F0A0FE0121404601F07AFE12B0BDE83C +:104D7000F081484810B5583000F004FD44490968F6 +:104D8000884201D0012010BD002010BD4049444B95 +:104D90000A68C2F58070185C521E0A6002D14FF496 +:104DA00080720A60704710B5FFF7E3FF0028FBD060 +:104DB000BDE81040EAE7364A344B91685854491C24 +:104DC000C8B290603348406CC00700D11CE7704700 +:104DD00010B5044602E0641CFFF7EDFF20780028C0 +:104DE000F9D110BDF0B50F460646012187B0480441 +:104DF00001F010F826208DF8100000248DF81140E5 +:104E000001208DF812008DF8130004A800F029FA93 +:104E10000820ADF8140004258DF8175005A91E4888 +:104E200001F065FFADF80440ADF80640ADF808406C +:104E3000ADF80C401B4C0096ADF80A506946204670 +:104E400001F096FD012240F22551204601F012FEAC +:104E50000121204601F004FE0D48C76007B0F0BDF7 +:104E600070B5104D40F22551284601F0BAFE0128D8 +:104E70000AD1074CE068002806D0284601F04AFE17 +:104E8000E168BDE87040084770BD0000AA06002038 +:104E9000EC02002000000240000801400038014000 +:104EA000AA0500200044004010B56522FF216D20B6 +:104EB000FFF705FA002800D0012010BDFEB5384CE0 +:104EC0000125207878B1012822D002281FD1642042 +:104ED0008DF8000033488DF8015000260078A0B30B +:104EE0008DF8025043E07A208DF800002E486B4682 +:104EF0000222B0F90000FF21C0F1B40000EBD07035 +:104F000040108DF801006D20FFF799F92570FEBD66 +:104F1000264979208DF80000B1F900000A2290FBA3 +:104F2000F2F010F15A0301D5002003E05A30B42802 +:104F300000DDB4208DF80100B1F9020090FBF2F021 +:104F400010F15A0102D5002004E00EE05A30B428D6 +:104F500000DDB4208DF802006B460322FF216D2096 +:104F6000FFF76DF902202070FEBD8DF802606B46E0 +:104F70000322FF216D20FFF762F92670FEBD08B500 +:104F80006B208DF800000A208DF801008DF80200DA +:104F90006B460322FF216D20FFF751F908BD000089 +:104FA000FC0200201D01002028020020AA00002091 +:104FB000B0F90010CA1701EB927189100180B0F9A5 +:104FC0000210CA1701EB927189104180B0F90410E8 +:104FD0004942CA1701EB92718910818070471CB554 +:104FE00004466B46062243216820FFF76EF9BDF8A0 +:104FF000000040BA2080BDF8020040BA6080BDF8D1 +:10500000040040BAA0801CBD10B580226B2168202E +:10501000FFF755F90520FFF708FD00221921682048 +:10502000FFF74DF900221A216820FFF748F9032203 +:105030006B216820FFF743F918221B21BDE81040BF +:105040006820FFF73CB9B0F90210B0F90020CB1787 +:1050500001EB5371C91001805142CA1701EB527123 +:10506000C9104180B0F90410CA1701EB5271C91080 +:10507000818070471CB504466B4606223B216820A0 +:10508000FFF723F9BDF8000040BA2080BDF8020008 +:1050900040BA6080BDF8040040BAA0801CBD10B5C5 +:1050A00010221C216820FFF70AF9144940F2FF3052 +:1050B000088010BD38B504460D462320FFF7B5FC27 +:1050C0006B46012275216820FFF7FFF8002804D005 +:1050D0009DF80000682801D0002038BD08482060F5 +:1050E000084860600848A060084828600848686070 +:1050F0000848A860012038BD70470000E401002086 +:105100009F500008755000084750000809500008DB +:10511000DF4F0008B14F0008474810B5016841F063 +:10512000010101604168454A114041600168444AFB +:1051300011400160016821F480210160416821F47F +:10514000FE0141604FF41F01816000F030F83D49DD +:105150004FF00060086010BD374A10B550683A49FA +:1051600010F00C03394803D0042B01D0082B0BD0CE +:1051700001605168354AC1F30311121D515C026888 +:1051800022FA01F2026010BD5168536801F47011F7 +:105190004FF0020413F4803F04EB914102D05368B6 +:1051A0009B0301D52A4B00E0274B5943E0E72248F7 +:1051B0000021026842F4803202604FF4A06302686A +:1051C00001F1010112F4003F01D19942F7D10168C8 +:1051D000890330D51F490A6842F010020A600A6844 +:1051E00022F003020A600A6842F002020A60416883 +:1051F000416041684160416841F4806141604168BB +:1052000021F47C114160416841F4E811416001687A +:1052100041F08071016001688901FCD5416821F08D +:1052200003014160416841F0020141604168C1F3FE +:1052300081010229FAD17047001002400000FFF8F6 +:10524000FFFFF6FE08ED00E000127A0000030020E8 +:1052500000093D0000200240274908432749086013 +:10526000704770B50F21C478027801234FF0E02613 +:10527000DCB1224C246804F4E064C4F5E064250A3F +:10528000C5F10404E9404578A54084780C402C43DE +:1052900021011B4C1155007800F01F018B40400983 +:1052A00006EB8000C0F8003170BD02F01F008340A3 +:1052B000500906EB8000C0F8803170BD114A1140E2 +:1052C00001430E48001F016070470C4A121D00295F +:1052D000116801D0014300E08143116070474FF035 +:1052E000E0210428086903D020F004000861704719 +:1052F00040F00400FAE700000000FA050CED00E0C1 +:1053000000E400E080FFFF1FC24910B5884202D1CF +:10531000012144150AE0C049884202D10121041547 +:1053200004E0BE4988420AD10121CC03204600F0A6 +:105330007AFD2046BDE81040002100F074BD10BD8C +:1053400010B54268B64B0C791A400B6842EA042249 +:10535000134343608368B34A1340D1E902422243B6 +:105360004C7943EA44031A438260C26A097C22F4FE +:105370007002491EC9B242EA0151C16210BD00214A +:105380000160017141718160C16001210174704748 +:105390000029816802D041F0010101E021F0010102 +:1053A000816070470029816802D041F4807101E07A +:1053B00021F4807181607047002A4268C9B201D02F +:1053C0000A4300E08A4342607047816841F0080167 +:1053D00081607047014600208968090700D50120D7 +:1053E0007047816841F004018160704701460020E8 +:1053F0008968490700D5012070470029816802D0DB +:1054000041F4A00101E021F4A00181607047014650 +:1054100000208968490200D5012070474268491E72 +:1054200022F4604242EA41314160704700294168FC +:1054300002D041F4006101E021F400614160704755 +:1054400070B5072509290AD9C468A1F10A0606EB37 +:105450004606B540AC43B3401C43C46007E0046952 +:1054600001EB4106B540AC43B3401C4304611F232C +:10547000072A09D2446B521E02EB820293409C43DE +:1054800091400C43446370BD0D2A09D2046BD21FB6 +:1054900002EB820293409C4391400C43046370BD35 +:1054A000C46A0D3A02EB820293409C4391400C4344 +:1054B000C46270BD0029816802D041F4801101E00E +:1054C00021F4801181607047C06C80B270475148F0 +:1054D0004C30006870470029416802D041F4806177 +:1054E00001E021F48061416070470029416802D0E9 +:1054F00041F4805101E021F480514160704782689D +:1055000022F4E0420A43826070470029816802D099 +:1055100041F4004101E021F400418160704700291D +:10552000816802D041F4021101E021F4021181608E +:105530007047014600208968890200D50120704724 +:1055400070B5072509290AD9C468A1F10A0606EB36 +:105550004606B540AC43B3401C43C46007E0046951 +:1055600001EB4106B540AC43B3401C430461836B7F +:10557000C3F30154121B921C02EB82041F22A240AF +:105580009343A1400B43836370BD826B491E22F499 +:10559000401242EA0151816370474250704708440B +:1055A000806A80B2704742681F4B1A400A434260CB +:1055B0007047416282627047426822F01F020A43CC +:1055C00042607047134908310028086802D040F44F +:1055D000000001E020F4000008607047024600204F +:1055E00012680A4200D001207047C9430160704729 +:1055F00010B5002244680B0AC9B200680C4018427A +:1056000001D004B10122104610BD6FEA11210160E2 +:10561000704700000024014000280140003C014088 +:10562000FFFEF0FFFDF7F1FFFFFD3FFF01684FF6C2 +:10563000FE72114001600021016041608160C16023 +:105640006A496A4A0839904203D1486840F00F001D +:1056500006E0664A1432904204D1486840F0F000F7 +:1056600048607047614A2832904203D1486840F44C +:105670007060F5E75D4A3C32904203D1486840F4DF +:105680007040EDE7594A5032904203D1486840F4E7 +:105690007020E5E7554A6432904203D1486840F4EF +:1056A0007000DDE7514A7832904203D1486840F0FB +:1056B0007060D5E74E4A111F904203D1086840F050 +:1056C0000F0006E04A4A1432904204D1086840F0C4 +:1056D000F00008607047464A2832904203D10868BB +:1056E00040F47060F5E7424A3C32904203D10868CA +:1056F00040F47040EDE73E4A50329042EAD10868EB +:1057000040F47020E5E730B5036847F6F072934344 +:105710000C6A8A682243D1E904452C4322438C69F0 +:105720002243CC6922434C6A22438C6A22431A43A7 +:105730000260CA6842600A6882604968C16030BD20 +:105740000021016041608160C1600161416181614E +:10575000C16101624162816270470029016802D023 +:1057600041F0010102E04FF6FE7211400160704706 +:10577000002A026801D00A4300E08A4302607047B1 +:1057800041607047406880B2704701460020CA00FF +:1057900002D5174A083A01E0144A083A12680A4248 +:1057A00000D001207047C10003D51149091F0860CE +:1057B00070470E4908394860704701460020CA000A +:1057C00002D50B4A083A01E0084A083A12680A4230 +:1057D00000D001207047C10003D50549091F0860AA +:1057E00070470249083948607047000008000240CD +:1057F00008040240374900200860091D0860091D9F +:105800000860091D08603349334814310860704747 +:1058100030B530498379026853B30B6893430B600A +:105820000A1D13680468A343136002790A441368CD +:10583000046823431360274A083213680468A343AB +:105840001360131D1C680568AC431C604479102C60 +:1058500005D021440A68006802430A6030BD11681F +:10586000046821431160196800680143196030BD64 +:105870000079084401689143016030BD0021016056 +:1058800001710C22427181717047124910310A680E +:1058900002430A60704701460E4A00201432126823 +:1058A0000A4200D0012070470A491431086070474D +:1058B000084A014600201268064B0A4014331B6850 +:1058C0000B4202D0002A00D0012070470149143158 +:1058D0000860704700040140FFFF0F00C04910B589 +:1058E00088424FF0010101D14C0501E04FF48004E2 +:1058F000204600F0A1FA2046BDE81040002100F04B +:105900009BBA70B50446808886B00D4620F03F06ED +:10591000684600F028FAB3490298B0FBF1F189B269 +:105920000E43A680228822F001022280AE4B2A6814 +:105930009A421CD85200B0FBF2F080B2042800D288 +:105940000420491C2184A083208840F0010020808D +:1059500021884FF6F5300140A8886A891043084332 +:105960002080A88929890843208106B070BDEB8872 +:10597000A3F53F46FF3E05D102EB4202B0FBF2F039 +:1059800080B208E002EBC20303EB0212B0FBF2F0BC +:1059900080B240F48040020501D140F001004FF494 +:1059A000967251434FF47A72B1FBF2F140F4004029 +:1059B000C7E741F288310160002181804BF6FF7218 +:1059C000C280018141814FF480418181704700296B +:1059D000018802D041F0010101E021F001010180C4 +:1059E00070470029818802D041F4006101E021F470 +:1059F0000061818070470029818802D041F4805184 +:105A000001E021F48051818070470029018802D093 +:105A100041F4807101E021F4807101807047002918 +:105A2000018802D041F4007101E021F4007101808D +:105A300070470029018802D041F4806101E021F41F +:105A4000806101807047828901F0FE0122F0FE0230 +:105A50001143818170470029818902D041F0010101 +:105A600001E021F00101818170470029018802D005 +:105A700041F0400101E021F0400101807047002A1F +:105A8000828801D00A4300E08A4382807047018205 +:105A90007047008AC0B2704712B141F0010101E0C5 +:105AA00001F0FE0101827047405A704700290188C9 +:105AB00002D041F4004101E0C1F30E0101807047C2 +:105AC000B1F5006F018803D021F4006101807047B7 +:105AD00041F40061FAE7B1F5005F018803D021F4D9 +:105AE00000510180704741F40051FAE70029018814 +:105AF00002D041F4805101E021F4805101807047CF +:105B0000B1F5006F018803D021F400610180704776 +:105B100041F40061FAE70029018802D041F0200138 +:105B200001E021F0200101807047008B000A7047DE +:105B30000029018802D041F0100101E021F010019C +:105B4000018070470029018803D021F08001018085 +:105B5000704741F08001FAE7B1F5804F818B02D0A8 +:105B600021F4804101E041F4804181837047838AC0 +:105B70000022008B43EA004323F07F40814300D1A1 +:105B8000012210467047818A008B41EA004121F0D2 +:105B90007F40704700220B0F21F07F4101D014306D +:105BA00001E0090C18300068084200D001221046BC +:105BB0007047C9438182704710B58388002201F085 +:105BC000E064808A03EA144321F07F41084201D057 +:105BD00003B10122104610BDC94381827047000005 +:105BE0000054004040420F00A0860100A448016814 +:105BF00041F0010101604168A24A11404160016821 +:105C0000A14A11400160016821F4802101604168CE +:105C100021F4FE0141604FF41F01816070479849F3 +:105C20000A6822F480320A600A6822F480220A603C +:105C3000B0F5803F07D0B0F5802F03D1086840F45D +:105C4000A02008607047086840F48030F9E70246F9 +:105C5000002053098A49012B0AD0022B0AD0496A35 +:105C600002F01F02012393400B4200D00120704735 +:105C70000968F5E7096AF3E730B500244FF4A06539 +:105C80003120FFF7E4FF641CAC4201D00028F7D0BC +:105C90003120FFF7DCFF002800D0012030BD78491B +:105CA0000A6822F0F80242EAC000086070477749AB +:105CB00008607047724A5368084323F47C13184302 +:105CC000506070477149086670476D4A516821F00D +:105CD00003010143516070476948406800F00C00BF +:105CE0007047674A516821F0F001014351607047E5 +:105CF000634A516821F4E061014351607047604993 +:105D00004A6822F4605242EAC000486070475C4A28 +:105D10000029517A01D0014300E08143517270475C +:105D20005B4908607047564A516821F4404101437D +:105D300051607047574900220A7001F82029012854 +:105D400002D0042802D1052081F820007047524972 +:105D5000086070474A490A6A02430A6270474E491E +:105D6000443908607047464910B54A6812F00C0380 +:105D70004A4A03D0042B01D0082B26D002604A687F +:105D8000474B02F0F00212099C5C0268E24042605C +:105D90004C6804F4E064240A1C5D22FA04F4846074 +:105DA0004C6804F460544FEAD4241B5D22FA03F2D9 +:105DB000C26049683A4B01F440414FEA91311B1FE0 +:105DC000595CB2FBF1F1016110BD4A684B6802F405 +:105DD00070124FF0020413F4803F04EB924202D0A1 +:105DE0004B689B0301D52F4B00E02C4B5A43C5E772 +:105DF000234A0029516901D0014300E081435161E8 +:105E000070471F4A0029916901D0014300E0814396 +:105E1000916170471A4A0029D16901D0014300E01D +:105E20008143D1617047164A0029D16801D00143EE +:105E300000E08143D1607047114A0029116901D007 +:105E4000014300E081431161704713494039086004 +:105E500070470E49C86470470949C87170470848BF +:105E6000416A41F0807141627047054A0146002055 +:105E700092680A4200D00120704701498872704739 +:105E8000001002400000FFF8FFFFF6FE0000424253 +:105E9000D8004242201002408004424200127A00A0 +:105EA0001803002000093D00F64910B5884202D1D0 +:105EB0000121C41486E0B0F1804F09D0F249884234 +:105EC0000DD101210220FFF7B7FF0021022064E07D +:105ED00001210846FFF7B0FF002101205DE0EB49FA +:105EE000884206D101210420FFF7A6FF00210420EB +:105EF00053E0E749884206D101210820FFF79CFFC3 +:105F00000021082049E0E349884206D10121102000 +:105F1000FFF792FF002110203FE0DF49884206D1C1 +:105F200001212020FFF788FF0021202035E0DB49F8 +:105F3000884202D10121441444E0D949884202D167 +:105F40000121CC043EE0D749884202D101210C0551 +:105F500038E0D549884202D101214C0532E0D349CD +:105F6000884206D101214020FFF766FF0021402032 +:105F700013E0CF49884206D101218020FFF75CFF62 +:105F80000021802009E0CB4988420AD184150121F3 +:105F90002046FFF751FF00212046BDE81040FFF7E3 +:105FA0004BBFC549884202D101210C040AE0C34914 +:105FB000884202D101214C0404E0C14988420AD13F +:105FC00001218C042046FFF72EFF2046BDE810403B +:105FD0000021FFF728BF10BD30B50288A94BAF4C98 +:105FE00098420DD0A0420BD0B0F1804F08D0A64D02 +:105FF000A84205D0A54DA84202D0A54DA84203D184 +:1060000022F070054A882A43A24DA84206D0A24D2C +:10601000A84203D022F44075CA882A4302808A88A5 +:1060200082850A88028598420AD0A04208D0A24AF6 +:10603000904205D0A14A904202D0A14A904201D19B +:10604000097A01860121818230BD30B5028C22F0AF +:1060500001020284028C8388048B22F0020224F065 +:1060600073050C882C430D8915434A882A43854DB6 +:10607000A8420BD0894DA84208D08F4DA84205D028 +:106080008E4DA84202D08E4DA8420DD122F00805B7 +:106090004A8923F440732A4322F004058A882A435C +:1060A0008D891D43CB892B4383800483C9888186D6 +:1060B000028430BD30B5028C22F010020284028CC2 +:1060C0008388048B22F0200224F4E6450C88240601 +:1060D00045EA14440D892D0542EA15454A88120502 +:1060E00045EA1242674DA84202D06C4DA84215D134 +:1060F00022F080054A8923F44063120545EA1242E2 +:1061000022F040058A88120545EA12428D89AD04C5 +:1061100043EA1545CB899B0445EA134383800483F6 +:10612000C9880187028430BD30B5028C22F48072A8 +:106130000284028C8388848B22F4007224F073051D +:106140000C882C430D892D0642EA15454A88120613 +:1061500045EA12424B4DA84202D0504DA84215D1FB +:1061600022F400654A8923F44053120645EA12429C +:1061700022F480658A88120645EA12428D892D052F +:1061800043EA1545CB891B0545EA13438380848385 +:10619000C9888187028430BD30B5028C22F48052D8 +:1061A0000284038C8288848B24F4E6450C882406C0 +:1061B00045EA144423F400550B891B0745EA1343B1 +:1061C0004D882D0743EA15452E4B984202D0334B9C +:1061D000984205D122F480438A89920543EA12420B +:1061E00082808483C988A0F84010058430BD828BEA +:1061F00022F440628283828B42EA012282837047CA +:10620000828B22F00C028283828B0A438283704746 +:10621000028B22F440620283028B42EA0122028353 +:10622000704770B5048C24F010040484068B048C31 +:1062300026F473461B0746EA1343120643EA12424A +:106240000D05104B2D0C98420ED0144B98420BD0DC +:10625000B0F1804F08D00C4B984205D00B4B9842C0 +:1062600002D00B4B984205D124F02001294341F084 +:10627000100104E024F0A0030B4343F0100102835B +:10628000018470BD002C0140000400400008004063 +:10629000000C004000100040001400400034014099 +:1062A000004C0140005001400054014000180040E3 +:1062B000001C00400020004000400140004401401C +:1062C00000480140028B22F00C020283028B0A4339 +:1062D0000283704730B5048C24F001040484058BDC +:1062E000048C1B0542EA134325F0F305F64A2B43C1 +:1062F00090420ED0F54A90420BD0B0F1804F08D0BA +:10630000F34A904205D0F34A904202D0F24A9042BA +:1063100002D124F0020201E024F00A020A4342F012 +:1063200001010383018430BD2DE9F05F0D46044671 +:106330000E88E548DFF894C3DFF894A3DFF894E310 +:106340004988AA882B894FF0804B3EB3042E2DD06C +:10635000082E268C32D026F480562684B4F81C9061 +:10636000268C0F074FEA1748120629F473471B07BC +:1063700047EA124242EA134384420AD0644508D0F5 +:106380005C4506D0544504D0744502D0D2488442BE +:1063900041D126F4005040EA08003FE02046FFF7D4 +:1063A00099FFE9882046BDE8F05F8BE72046FFF7BC +:1063B00038FFE9882046BDE8F05F29E726F48076BB +:1063C0002684A78B268C1B0527F0F30742EA13438C +:1063D0004FEA01683B434FEA184884420AD06445BB +:1063E00008D05C4506D0544504D0744502D0BA4864 +:1063F000844204D126F4007040EA080002E026F44A +:106400002060084340F48070A3832084E9882046FC +:10641000BDE8F05FF4E626F40240084340F4805003 +:10642000A3832084E9882046BDE8F05FDFE62DE9FC +:10643000F0410C46002549880746012601B902258E +:10644000A288012A00D10226208823890028384604 +:1064500010D0FFF7E6FEE1883846FFF7D9FE238922 +:10646000324629463846FFF735FFE1883846BDE811 +:10647000F04127E7FFF72EFFE1883846FFF722FFBC +:106480002389324629463846FFF7CBFEE188384655 +:10649000BDE8F041BCE610B50A884B88CC881A43A9 +:1064A0008B8823431A430B891A434B8989891A43E2 +:1064B0000A43A0F8442010BD4FF6FF7181800021EF +:1064C0000180C180418001727047002101804180BC +:1064D0008180C180018141818181C181704700211A +:1064E0000180418001228280C180018170470021AA +:1064F000018041808180C18001814181818170471B +:106500000029018802D041F0010101E021F00101E0 +:1065100001807047002930F8441F02D041F4004147 +:1065200001E0C1F30E0101807047002A828901D089 +:106530000A4300E08A438281704781827047114399 +:10654000A0F848107047002A828901D00A4300E071 +:106550008A4382817047018921F0070101817047D8 +:10656000028922F070020A430281704700B5034697 +:10657000FFF7F6FF188940F00700188100BD70B5DD +:106580000D4611460446602D4FF001020AD0FFF778 +:10659000A1FE29462046FFF7E3FF208940F00700CF +:1065A000208170BDFFF73DFEF3E710B5048942EA94 +:1065B0000323E4B20B432343038110BD10B504460B +:1065C000FFF7F3FF208940F07700208110BD10B560 +:1065D0000446FFF7EAFF208940F48040208110BD87 +:1065E000018582827047028822F070020A4302808D +:1065F000704770B50589048B068C25F007050D439F +:106600004FF6FC410C4040F201110C4326F02206EB +:1066100042EA0311314305810483018470BD028B7A +:1066200022F070020A4302837047028B22F4E04298 +:1066300042EA012101837047828B22F070020A43F3 +:1066400082837047828B22F4E04242EA01218183F7 +:1066500070470029018802D041F0800101E021F05B +:106660008001018070470029818802D041F0040137 +:1066700001E021F00401818070470029818802D067 +:1066800041F0080101E021F00801818070470029F4 +:10669000818802D041F0010101E021F001018180F7 +:1066A0007047028B22F008020A4302837047028B74 +:1066B00022F4006242EA012101837047828B22F0BA +:1066C00008020A4382837047002C014000340140D5 +:1066D0000004004000080040000C0040828B22F4BF +:1066E000006242EA012181837047028B22F004029A +:1066F0000A4302837047028B22F4806242EA01213E +:1067000001837047828B22F004020A438283704720 +:10671000828B22F4806242EA012181837047028BDE +:1067200022F080020A4302837047028BC2F30E02FA +:1067300042EA012101837047828B22F080020A43E2 +:1067400082837047828BC2F30E0242EA0121818369 +:106750007047028C22F002020A4302847047028CC6 +:1067600022F008020A4302847047028C22F02002C1 +:1067700042EA011101847047028C22F0800242EA51 +:10678000011101847047028C22F4007242EA012157 +:1067900001847047028C22F4006242EA01210184E4 +:1067A0007047028C22F4005242EA013101847047A2 +:1067B00010B50123048C8B409C430484038C8A40D5 +:1067C0001343038410BD10B50423048C8B409C43F9 +:1067D0000484038C8A401343038410BD30B5012424 +:1067E000058C00F118038C40A543058479B1082974 +:1067F0000DD0091F88B203EB5000016821F4E0417D +:10680000016001681206120C1143016030BD03EBF8 +:106810005100016821F0700101600168F4E700296E +:10682000018802D041F0020101E021F00201018063 +:1068300070470029018802D041F0040101E021F0F5 +:106840000401018070470029818802D041F0800155 +:1068500001E021F0800181807047028822F0080267 +:10686000028002880A4302807047828822F0700208 +:10687000828082880A4382807047028922F0070260 +:10688000028102890A4302817047028922F0800254 +:10689000028102890A4302817047818470478185A1 +:1068A0007047818670470187704781877047A0F8DD +:1068B00040107047028822F44072028002880A4326 +:1068C00002807047808E7047008F7047808F7047BE +:1068D000B0F840007047808C7047008D70470246CA +:1068E0000020128A0A4200D001207047C943018269 +:1068F0007047038A002280890B4200EA010001D020 +:1069000000B1012210467047C94301827047000060 +:10691000C64910B588420AD101218C032046FFF7F1 +:1069200082FA2046BDE810400021FFF77CBAC0493A +:10693000884202D101214C0410E0BE49884202D1B4 +:1069400001218C040AE0BC49884202D10121CC0417 +:1069500004E0BA4988420AD101210C052046FFF71C +:106960006BFA2046BDE810400021FFF765BA10BD64 +:1069700030B50446008A85B00D464CF6FF710840DC +:10698000E98801432182A1894EF6F3100140A888CD +:106990002A8910436A890A431043A081A08A4FF6CE +:1069A000FF410840A9890143A1826846FFF7DBF94E +:1069B0009E48844201D1039800E00298A18909040D +:1069C000002900EBC00101EB0010296802DA4FEA50 +:1069D000410101E04FEA8101B0FBF1F06422B0FB1C +:1069E000F2F14FEA01114FEA11136FF018056B43F2 +:1069F00000EB8300A3891D044FF0320306D503EB9F +:106A0000C000B0FBF2F000F0070005E003EB00105F +:106A1000B0FBF2F000F00F000843208105B030BD5C +:106A20004FF41651016000218180C18001810C2248 +:106A300042818181704710B5038A4FF2FF021340F3 +:106A40000A884C8822438C88C9880C4322431A4305 +:106A5000028210BD0021018041808180C180704789 +:106A60000029818902D041F4005101E021F4005154 +:106A70008181704710B5C1F3421301F01F04012159 +:106A8000A140012B07D0022B07D01430002A026846 +:106A900005D00A4304E00C30F8E71030F6E78A43EB +:106AA000026010BD002A828A01D00A4300E08A43B6 +:106AB00082827047028A22F00F020282028A0A430F +:106AC00002827047828922F40062828182890A43AD +:106AD000828170470029818902D041F0020101E0E2 +:106AE00021F0020181817047028A22F02002028295 +:106AF000028A0A43028270470029018A02D041F4C7 +:106B0000804101E021F4804101827047C1F3080116 +:106B1000818070478088C0F308007047818941F008 +:106B2000010181817047028BD2B20283028B42EA5B +:106B3000012101837047028B02F47F420283028BA2 +:106B40000A43028370470029818A02D041F0200164 +:106B500001E021F02001818270470029818A02D062 +:106B600041F0100101E021F01001818270470029FD +:106B7000818A02D041F0080101E021F00801818200 +:106B800070470029818902D041F4004101E0C1F33E +:106B90000E01818170470029818A02D041F4006191 +:106BA00001E021F4006181827047828A22F00402B0 +:106BB0008282828A0A43828270470029818A02D0B7 +:106BC00041F0020101E021F002018182704702469A +:106BD000002012880A4200D001207047C94301807A +:106BE000704770B501F01F0601220025C1F3421362 +:106BF00002FA06F4012B0FD0022B0FD0838A4FEA42 +:106C000011210088234202FA01F200EA020001D0B9 +:106C100000B10125284670BD8389F0E7038AEEE7BD +:106C20000A0A01219140C9430180704700380140A0 +:106C30000044004000480040004C0040005000402C +:106C4000904910B5884206D101210420FFF7EBF8E6 +:106C5000002104203BE08C49884206D10121082014 +:106C6000FFF7E1F80021082031E08849884206D189 +:106C700001211020FFF7D7F80021102027E08449D8 +:106C8000884206D101212020FFF7CDF800212020E5 +:106C90001DE08049884206D101214020FFF7C3F85A +:106CA0000021402013E07C49884206D10121802048 +:106CB000FFF7B9F80021802009E0784988420AD11D +:106CC000841501212046FFF7AEF800212046BDE8DB +:106CD0001040FFF7A8B810BD10B501210846FFF716 +:106CE000A2F80021BDE810400120FFF79CB82DE973 +:106CF000F041CB78002503F00F02DB0601D58B783D +:106D00001A430B884FF00F0813F0FF0F4FF0010CE0 +:106D10001BD004680E880CFA05F31E409E4210D169 +:106D2000AF0008FA07F624EA060602FA07F434432D +:106D3000CE78282E02D0482E02D002E0436100E037 +:106D400003616D1C082DE5D304600B88FF2B1DD952 +:106D50004468002505F108060CFA06F30E881E406B +:106D60009E420FD1AF0008FA07F624EA060602FA9F +:106D700007F43443CE78282E00D14361CE78482ED4 +:106D800000D103616D1C082DE4D34460BDE8F0819F +:106D90004FF6FF710180022181700421C17070479C +:106DA0000246002092680A4200D0012070478068A5 +:106DB00080B2704702460020D2680A4200D001200B +:106DC0007047C06880B27047016170474161704789 +:106DD0000AB10161704741617047C160704741F479 +:106DE00080328261816182618169806970472C4B48 +:106DF00010B51A684FF68074224042EA001008432A +:106E0000186010BD2749C8617047F0B5244C0028B0 +:106E100001DAE36900E06368420D120185B2C0F354 +:106E200001579540C0F30346032F05D0C2020AD58F +:106E30000322B240934307E023F07062636823F0BB +:106E40007063636002E0AB4343F0706201B12A43B8 +:106E5000002801DAE261F0BD6260F0BD10B58A077A +:106E600021F003040E49130F21440F228C689A402D +:106E700094438C608A68984002438A6010BD0A4936 +:106E80000860704700080140000C014000100140FC +:106E90000014014000180140001C01400020014086 +:106EA0000000014000002042DC002042FC4A116842 +:106EB00001F03801014311607047F9490A6822F076 +:106EC00008020A600A6802430A607047F4490A68C7 +:106ED00022F010020A600A6802430A607047F04814 +:106EE000F0494160F04941607047ED48ED4941602B +:106EF000ED4941607047EA48016941F08001016154 +:106F00007047E748016941F0800101617047E44939 +:106F10000420CA68D20701D001207047CA6852070E +:106F200001D502207047C968C906FBD50320704708 +:106F300000B50346FFF7EBFF03E000BFFFF7E7FFF5 +:106F40005B1E012803D0002B00D1052000BD002BC3 +:106F5000F4D1FAE770B505464FF430263046FFF716 +:106F6000E7FF042811D1CE4C206940F002002061D7 +:106F70006561206940F0400020613046FFF7D8FF8E +:106F8000216941F6FD721140216170BD30B54FF4A9 +:106F900030252846FFF7CCFF042810D1C04C2069CB +:106FA00040F004002061206940F040002061284644 +:106FB000FFF7BEFF216941F6FB721140216130BD30 +:106FC00000B50346FFF7A3FF03E000BFFFF79FFFF5 +:106FD0005B1E012803D0002B00D1052000BD002B33 +:106FE000F4D1FAE730B54FF430252846FFF7E8FF33 +:106FF000042810D1AA4C206940F0040020612069C7 +:1070000040F0400020612846FFF7DAFF216941F691 +:10701000FB721140216130BDA1490020C969890777 +:1070200000D50120704770B5A525FFF7F5FF00B129 +:1070300000254FF430263046FFF77AFF042827D189 +:10704000974C9848A0609848A060206940F02000C4 +:107050002061206940F0400020613046FFF768FF62 +:1070600041F6EF7604280ED1206941F6DF71084021 +:107070002061206940F0100020618C4805804FF4A9 +:107080000050FFF755FF052802D0216931402161EA +:1070900070BDF0B505464FF4005C0E466046FFF744 +:1070A00047FF042814D17E4C206940F00100206184 +:1070B0002E806046FFF73CFF41F6FE77042804D19E +:1070C000300C68806046FFF733FF21693940216149 +:1070D000F0BDF0B505464FF400570E463846FFF7B1 +:1070E00027FF04280CD16E4C206940F0010020617C +:1070F0002E803846FFF71CFF2169BA1E114021611E +:10710000F0BDF0B505464FF400570E463846FFF780 +:107110000FFF042813D1624C6248A0606248A0604F +:10712000206940F0100020612E803846FFF700FFF4 +:10713000052804D0216941F6EF7211402161F0BDAC +:107140002DE9F041C043C4B2C0F30725C0F30746A0 +:10715000070E4FF400584046FFF7EAFE04283CD1E2 +:10716000DFF83CC14F49CCF808104F49CCF8081063 +:10717000DCF8101041F01001CCF81010FF2C07D0F3 +:107180004A48083004804046FFF7D2FE04281BD14D +:10719000FF2D07D045480A3005804046FFF7C8FE5E +:1071A000042811D1FF2E07D040480C3006804046FD +:1071B000FFF7BEFE042807D1FF2F07D03B480E3053 +:1071C00007804046FFF7B4FE052806D0DCF8101013 +:1071D00041F6EF721140CCF81010BDE8F08170B5A7 +:1071E00006464FF430252846FFF7A2FE042818D1A2 +:1071F0002B4C2C48A0602C48A060206940F0200057 +:107200002061206940F0400020612846FFF790FE91 +:1072100041F6DF71042805D0052802D022690A4012 +:10722000226170BD206908402061206940F0100093 +:1072300020611E480EB1002100E0A52101802846F2 +:10724000FFF776FE0528ECD0216941F6EF72114078 +:10725000216170BDF0B5124C064612480D46174626 +:10726000A0601148A0604FF4005C6046FFF760FE2C +:10727000042814D1206940F0100020613D430B49DF +:107280003543891C45F0F80008806046FFF750FE42 +:10729000052804D0216941F6EF7211402161F0BD4B +:1072A0000020024023016745AB89EFCD00F8FF1FA6 +:1072B0001C48C069800870471A48006A704719491D +:1072C00000200968890600D501207047154A002969 +:1072D000116901D0014300E081431161704701460B +:1072E0000020104A012903D0D2680A4203D1704716 +:1072F000D169C907FBD0012070470A49C8607047AF +:1073000008490420CA68D20701D001207047CA6822 +:10731000520701D502207047C968C906FBD5032072 +:1073200070470000002002401448154902680060C0 +:107330008A4203D01348804713480047134E4FF04A +:10734000090030601248016821F07061016041025B +:107350000160104C182020600F4910480860104848 +:10736000D0F800D040680047FEE7FEE7FEE7FEE702 +:10737000FEE7FEE7FEE7FEE7FEE7FEE7F04F002050 +:10738000EFBEADDE19510008ED00000818100240F4 +:1073900004000140140C0140000C014044344344FB +:1073A00000F0FF1FA0F16101192900D820387047B3 +:1073B0002DE9F05F83460F46154699464FF0FF369C +:1073C000DDF828A011E0A819441009FB04708046DC +:1073D0000146584652469047002802D004DA254616 +:1073E00003E04046BDE8F09F2646A5EB06000128D5 +:1073F000E9DC0020F6E740EA01039B0703D009E03F +:1074000008C9121F08C0042AFAD203E011F8013B90 +:1074100000F8013B521EF9D27047D2B201E000F8E9 +:10742000012B491EFBD270470022F6E710B5044637 +:107430000846114602462046FFF7EFFF204610BDE2 +:1074400030B50EE003460A4601E05B1C521C1C7876 +:107450001578AC4201D1002CF7D115F0FF0F04D004 +:10746000401C0278002AEDD1002030BDCAB201785C +:10747000914203D009B1401CF9E700207047014652 +:10748000002000E0401C0A5C002AFBD170472DE977 +:10749000F041054600200E469046044600E0641C7C +:1074A00044450BD2285D00F072FB0746305D00F0CA +:1074B0006EFB381A02D1295D0029F0D1BDE8F081B8 +:1074C00070B5064600F0D4FD046805460A22002186 +:1074D000304600F062FB2C6070BDF0B480EA01021F +:1074E000D20F4300B3EB410F02D2034608461946C0 +:1074F0004B0042D0C30DDDB2C1F3C7542C1B202C6E +:1075000035DAC1F3160141F4000502B16D42C4F150 +:10751000200605FA06F125412844B3EBD05F23D0BD +:10752000C2B1012CA0EBC35009DCF0BC4FF000420B +:1075300002EAC35200F50000DBB200F06FBB40006E +:1075400000F1807000EBC350A0F1807040EAD17070 +:10755000490009E0490841EAC071A0EBC35000F5B9 +:107560000000400800EBC350F0BC00F04EBB51429D +:10757000012303EB4101801AF6E7F0BC704781F06C +:107580000041AAE780F00040A7E780EA010210B5B9 +:1075900002F00042400026D04B0023D04FEA106199 +:1075A00001EB1361C0F35600C3F3560340F400002F +:1075B00043F40003A0FB0330A1F17F014FEA004038 +:1075C0001C0401D000F1010050EA134001D4400036 +:1075D000491EC3B20C0604EBD010401C4008802B9F +:1075E00002D003E0002010BD20F00100002900DAE5 +:1075F0000020104310BD80EA010202F0004330B4C5 +:1076000030F0004221F0004015D0A0B1C0F3C755C2 +:10761000C2F3C754C2F31601C0F31600651B41F450 +:10762000000140F400007D35814201D36D1C00E073 +:107630004900002D02DA30BC002070474FF40002F0 +:107640000024814201D3091A144352084FEA410130 +:10765000F7D151B1814202D14FF0004105E002D291 +:107660004FF0010101E06FF0010104EBC55030BCA7 +:10767000184400F0CABA2DE9FE4F074681EA03001C +:10768000C00F0E46019021F0004123F00044B81ACB +:10769000A14105D23846314617461E460B460246E2 +:1076A00023F00040104304D13846314603B0BDE812 +:1076B000F08F350DC5F30A00C3F30A510290401A4A +:1076C0000090402868DAC3F3130040F4801B01984F +:1076D000924620B10023D2EB030A63EB0B0B009818 +:1076E0005946C0F14002504600F020FA80460C4650 +:1076F00050465946009A00F038FAC0197141EF1708 +:1077000085EA11533B4340D0019A52B3009A012AB3 +:1077100011DC0022801A4FF0004361EB055103EAAF +:1077200005538018CDE9002341F5801142462346D8 +:1077300000F007FBBAE72E050025401B61EB0601B0 +:10774000401941F58012001852412818A6F500137F +:1077500043EB020140EAD470294318EB0808644166 +:1077600013E064084FEA38084FF0000244EAC0749E +:107770004FEA0553801A61EB0301801841F580112F +:1077800049084FEA3000801859414246234603B069 +:10779000BDE8F04F00F0C8BA019801224000002374 +:1077A000D0EB020263EBE07301984FEAE074381A01 +:1077B00066EB0401EBE783F000435CE781F00041F6 +:1077C00059E72DE9FE4F81EA030421F0004504F05A +:1077D000004423F000414FF0000A009450EA0503F2 +:1077E00002D052EA010304D10020014603B0BDE8F3 +:1077F000F08FC1F30A53C5F30A541C44A0FB02B333 +:10780000C5F3130545F4801CC1F3130141F480183E +:107810000CFB023300FB083EA4F2F334810A930A06 +:1078200041EA8C5143EA88530194A1FB03474FEA94 +:107830009C2505FB03734FEA982601FB06373D059F +:10784000260545EA1435BBEB06016EEB0503850EF4 +:10785000920E45EA8C1542EA8812A5FB0206261E06 +:1078600067EB00070C0D44EA0334A41947EB1350EF +:10787000C1F313064FF0000319464FEA033343EAFE +:10788000165343EA0403019CE5FB0201A4F10C0436 +:107890000294009C4FEA0632CDE900A400F051FAB0 +:1078A000A4E72DE9F04D81EA030404F0004B21F038 +:1078B000004714464FF0000A23F0004150EA070247 +:1078C00020D054EA01021DD0C1F30A550246C1F38B +:1078D0001300C7F30A56C7F3130340F4801143F4AF +:1078E0008013A6EB0508101BD64608F2FD3873EB93 +:1078F000010002D308F1010801E092185B41B8F1E0 +:10790000000F03DA00200146BDE8F08D00204FF49F +:107910008015064607460EE0B2EB040C73EB010C33 +:1079200004D3121B064363EB01032F436D084FEA98 +:10793000300092185B4150EA050CEDD152EA030089 +:1079400012D082EA040083EA0105284303D1002211 +:107950004FF0004308E0101B8B4102D201220023AC +:1079600002E06FF0010253101AEB060047EB0851DA +:1079700010EB0A0041EB0B01BDE8F04D00F0D4B96B +:10798000C10F80EAE0700844CA079623002100F086 +:1079900045B996230022114600F040B90EB5C10F3B +:1079A00080EAE0700844CA07002140F233438DE8C2 +:1079B0000E000A460B4600F0C4F903B000BD0EB538 +:1079C00040F2334102910021CDE900110A460B46F5 +:1079D00000F0B7F903B000BD00F0004220F0004015 +:1079E000C10DC0F3160040F400007F2901DA002029 +:1079F0007047962903DCC1F19601C84001E0963931 +:107A00008840002AF4D04042704720F00040C10D69 +:107A1000C0F3160040F400007F2901DA002070470F +:107A2000962903DCC1F19601C84070479639884019 +:107A3000704770B5C1F30A5201F000450024C1F34C +:107A4000130140F2FF3341F480119A4201DA002021 +:107A500070BD40F233439A42A2F2334203DC5242F9 +:107A600000F073F800E090402C43F1D0404270BD2C +:107A7000C1F30A52C1F3130140F2FF3341F4801104 +:107A80009A4201DA0020704740F233439A42A2F250 +:107A9000334202DC524200F058B89040704700F088 +:107AA000004230F000400DD0C10D01F5607142EA96 +:107AB00001510022C0F31600520742EAD0024007EB +:107AC0001143704700200146704701F0004230B476 +:107AD00021F0004150EA010306D00B0DA3F56073BD +:107AE000C1F31301002B02DC30BC00207047440FAF +:107AF00044EAC104C100A01830BC00EBC35000F040 +:107B000084B80000002801DBC0F10040002901DB3F +:107B1000C1F1004181427047002801DBC0F1004003 +:107B2000002901DBC1F1004188427047202A04DBB3 +:107B3000203A00FA02F1002070479140C2F1200380 +:107B400020FA03F3194390407047202A04DB203ABF +:107B500021FA02F00021704721FA02F3D040C2F16D +:107B600020029140084319467047202A06DBCB17B4 +:107B7000203A41FA02F043EAE071704741FA02F319 +:107B8000D040C2F120029140084319467047A0F14D +:107B90004101192900D8203070472DE9F0470F46E0 +:107BA000914680460446002614F8015B2DB100F092 +:107BB00057F90068405DC007F6D12B2D02D02D2D5E +:107BC00018D0641E4A463946204600F04DF927B1C8 +:107BD0003968A14201D1C7F8008071054FF0020455 +:107BE0000BD54042002803DD00F042FA0460A007F4 +:107BF000BDE8F08746F48066E4E70028F8DA00F094 +:107C000037FA04606FF00040F2E70029A8BF704720 +:107C1000401C490008BF20F00100704710B4B0FAC2 +:107C200080FC00FA0CF050EA010404BF10BC70475D +:107C300049B1CCF1200421FA04F411FA0CF118BF77 +:107C4000012121430843A3EB0C01CB1D0106000ACF +:107C5000002BBEBF002010BC704700EBC350104487 +:107C60000029A4BF10BC7047401C490008BF20F089 +:107C7000010010BC7047420005D0C0F3C752524209 +:107C8000914201DC0020704700EBC1507047F0B416 +:107C9000002802DCF0BC00207047C0F3C751C0F3DD +:107CA000160040F40000CA0701D14000491E3F22DF +:107CB00002EB6105002211464FF4000626FA01F39B +:107CC0001344D418844201D8001B1A464000491CB2 +:107CD0001729F3DD5100814202D24FF0FF3100E05D +:107CE000002102EBC550F0BCFFF78FBF10B541007B +:107CF0000CD0C0F3C751962908DC7E2909DC06DBCD +:107D0000410204D000F0004040F07E5010BD002041 +:107D100010BDC1F19604C4F1200100FA01F1E04068 +:107D2000FFF773FFA04010BD10B5002B08DA401C10 +:107D300041F1000192185B411A4301D120F001008A +:107D400010BD2DE9F04D92469B4611B1B1FA81F27A +:107D500002E0B0FA80F220329046FFF7E7FE0646D6 +:107D60000F4640EA0A0041EA0B0152465B460843CF +:107D700003D130463946BDE8F08D194652EA01007C +:107D800015D0C8F140025046FFF7DFFE04460D460D +:107D9000504659464246FFF7C9FE084301D001202C +:107DA00000E00020044345EAE07526432F430A988B +:107DB0004FEAD625A0EB08000A304FEA46534FF0B1 +:107DC000000245EA47554FEAD72402D50020014674 +:107DD000D1E7010550196141DDE908450019694104 +:107DE000BDE8F04DA0E770B521F0004303430CD08F +:107DF000C1F30A540026D4EB060566EB0603D4173C +:107E0000AD1AA34102DB0020014670BD001C41EB0E +:107E1000025170BD30B5002904DB4FF000444042F0 +:107E200064EB0101002B04DB4FF00044524264EB91 +:107E30000303994208BF904230BD0000064C074D35 +:107E400006E0E06840F0010394E80700984710342A +:107E5000AC42F6D3F8F74EF9149A0008349A0008A9 +:107E600000487047DC9600082DE9F05F82460078F4 +:107E700000278B4615460AF10104B946302801D087 +:107E80009DB113E014F8010B0127782803D058287E +:107E900001D045B10AE00DB1102D07D10027102502 +:107EA00014F8010B02E0082500E00A250026B04680 +:107EB0000EE005FB080005FB06F1012701EB10466B +:107EC0001FFA80F8B6F5803F00D3B94614F8010BCD +:107ED000294600F069F80028EBDABBF1000F05D065 +:107EE0000FB1641E00E05446CBF80040B9F1000F1A +:107EF00006D000F0BDF802210160C81EBDE8F09F69 +:107F000048EA0640FAE72DE9F04D00231A461B1A0D +:107F10008A4103DB00200146BDE8F08DC1F30A521F +:107F2000C1F3130141F480154FF0000BD10702D1CA +:107F300000186D41521E0026044640F2FF113046E3 +:107F400001EB620A37468046024600204FF480115A +:107F5000FFF7FBFD80197941331847EB0102B4EBC1 +:107F6000030C75EB020C04D3E41A65EB020506461C +:107F70000F46241908F101006D4180463428E3DDE5 +:107F8000B11947EB0700091BA84103D24FF0FF329C +:107F9000134601E0002213461BEB060047EB0A5193 +:107FA000BDE8F04DFFF7C0BE3A2800D2303820F0CF +:107FB0002002412A01D3A2F13700884201D34FF0B9 +:107FC000FF30704770B501EB020410F8015B15F04B +:107FD000070301D110F8013B2A1106D110F8012B3B +:107FE00003E010F8016B01F8016B5B1EF9D12B0760 +:107FF00005D40023521E0FD401F8013BFAE710F814 +:10800000013B02F10202A1EB030303E013F8015B61 +:1080100001F8015B521EF9D5A142D6D3002070BDF4 +:10802000490050EAC12018BF04204A0D18BF40F093 +:10803000010040F2FF72B2EB515F08BF40F0020056 +:10804000012808BF052070474100080218BF04201E +:108050000A0E18BF40F001004FF07F4232EA0101E2 +:1080600008BF40F00200012808BF0520704700004B +:1080700000487047280300202DE9F0414F1E00EB17 +:10808000C7010446D1E9000115461E4637F0060235 +:108090000DD02A463346FFF794FB7F1E04EBC7033F +:1080A000D3E90023FFF7E7FA37F00602F1D1022FF8 +:1080B00025D0042F13D0062F18BFBDE8F0812A4623 +:1080C0003346FFF77EFBD4E90A23FFF7D4FA2A46AA +:1080D0003346FFF776FBD4E90823FFF7CCFA2A46AC +:1080E0003346FFF76EFBD4E90623FFF7C4FA2A46AE +:1080F0003346FFF766FBD4E90423FFF7BCFA2A46B0 +:108100003346FFF75EFBD4E90223FFF7B4FA2A46B1 +:108110003346FFF756FBD4E90023BDE8F041FFF7F3 +:10812000AABA0000024A00201107FFF75CBE000057 +:1081300001FDFFFF6FF05E010807FFF79CBD000027 +:108140002DE9F04D034614464FF07F400E46B0EB4C +:10815000440F04D8001608601846BDE8F08D4FF0B3 +:10816000004040EA0421C4F3C7507838431100F0BE +:108170001F00DFF814C1C0F12002FC445CF823505A +:108180000CEB83038540D3F804C02CFA02F72F438D +:108190009D680CFA00FC25FA02F8DB6805FA00F08D +:1081A00023FA02F240EA02054CEA080CA7FB01237D +:1081B000ACFB01C0A5FB015101EB0C05A94294BF2A +:1081C0004FF0000C4FF0010C81186144BCF1000F1E +:1081D00002D0814202D903E0814201D2012000E0B5 +:1081E0000020184400F120024FEA92188006CA0CC1 +:1081F00040EA42304F03C6F80080FFF7C1FB8246D9 +:108200003846FFF7C6FB6FF01201FFF734FD074653 +:108210002846FFF7BEFB6FF02501FFF72CFD8346D4 +:1082200039465046FFF759F95946FFF756F900F518 +:1082300000656FF30B0551462846FFF7A0F9394654 +:10824000FFF79DF95946FFF79DF91049FFF79DF992 +:1082500007460F492846FFF798F93946FFF73DF9D9 +:1082600007460C492846FFF790F93946FFF735F9DC +:1082700014F0004F08BFBDE8F08DC8F1805180F0C8 +:1082800000403160BDE8F08DBA140000DB0FC92F4B +:1082900022AAFD290000C92F02E008C8121F08C148 +:1082A000002AFAD170477047002001E001C1121F77 +:1082B000002AFBD1704700000149086070470000A8 +:1082C000280300202DE9F0474FF0684202EB4003FD +:1082D00005460C46B3F1654F3CBF02EB4102B2F1DB +:1082E000654F3FD34FF07F42B2EB400F28BFB2EB58 +:1082F000410F03D2BDE8F047FFF7EFB840EA0103B2 +:108300005B0008BF44F0FF410AD0B2EB400F08BF4A +:10831000B2EB410F06D125F0804024F080410546A4 +:108320000C461FE0B2EB400F12BF5FEA410245F07E +:10833000FF4004F0004115D04FEA410292EA4003A9 +:1083400010D4002AACBF4FF09F464FF03E56314646 +:10835000FFF71BF9054631462046FFF716F904469C +:1083600028462146C0F3C752C1F3C753D21A1B2A6D +:1083700006DD10F0004F14BF54485548BDE8F087A3 +:1083800012F11A0F17DA11F0004F06D010F0004F5B +:1083900014BF50485048BDE8F08721462846FFF7F3 +:1083A0002AF90446FFF750FE042808BFFFF7C2FE73 +:1083B0002046BDE8F0874200B2EB410F25D910F00E +:1083C000004F19BF454F464E464F474E224685F057 +:1083D000004415460A4680F0004110460A1A520031 +:1083E000B2F1807F3ED248404049DFF804A110F04E +:1083F000004F18D04FF03F483846FFF7C0F8074607 +:1084000051463046FFF7BBF817E011F0004F04BFAC +:1084100000263746E2D010F0004F19BF354F364ED8 +:10842000364F374EDAE74FF07C583846FFF755F8AD +:10843000074651463046FFF750F806464146284663 +:10844000FFF7A3F82146FFF748F882462146404649 +:10845000FFF79BF82946FFF795F85146FFF7CBF851 +:10846000044604E021462846FFF7C5F804460146C5 +:10847000FFF78BF880462349FFF787F82249FFF77B +:108480002CF84146FFF781F82049FFF726F84146CE +:10849000FFF77BF81E49FFF720F84146FFF775F814 +:1084A0001C49FFF71AF8054641462046FFF76DF8CC +:1084B0002946FFF76AF83146FFF70FF82146FFF724 +:1084C0000CF83946BDE8F047FFF707B8DB0FC9BF26 +:1084D000DB0FC93FDB0F49C0DB0F49400000C9BFBC +:1084E00022AAFDB90000C93F22AAFD390060ED3E75 +:1084F000C30ACE37000049C022AA7DBA0000494015 +:1085000022AA7D3A2DAD65BD8FB8D53D0FB511BE00 +:1085100061C84C3EA8AAAABE2DE9F843044602460B +:1085200050486946B0EB420F09D94FF0E640B0EB36 +:10853000420F8CBF4FF0FF300020009034E04A4BD8 +:1085400022F0004083422BD948492046FFF71DF80E +:10855000FFF7CCFB0546FFF73FFA00F00300009061 +:1085600043492846FFF711F8064642492846FFF7D7 +:108570000CF8074640492846FFF707F880463F4970 +:108580002846FFF702F82146FEF7FCFF4146FEF7BA +:10859000F6FF3946FEF7F3FF3146FEF7F0FF02E043 +:1085A0001046FFF7CDFD0446009D002D18DA60004F +:1085B000B0F17F4F3CBF4FF07E50BDE8F88309D14A +:1085C0004FF00100FFF778FEBDE8F84300210846B0 +:1085D000FFF711B82046BDE8F8430121FFF74BBB78 +:1085E000214615F0010F08461DD0FEF7CEFF0646C6 +:1085F0002349FEF7CAFF2349FEF7C4FF3146FEF7C1 +:10860000C4FF2149FEF769FF3146FEF7BEFF214650 +:10861000FEF7BBFF2146FEF760FF15F0020F18BF03 +:10862000BDE8F8831AE0FEF7B0FF04461749FEF7ED +:10863000ACFF1749FEF751FF2146FEF7A6FF15498B +:10864000FEF74BFF2146FEF7A0FF4FF07E51FEF7ED +:1086500044FF15F0020F08BFBDE8F88380F000402A +:10866000BDE8F883B61F927E490E494683F9223F42 +:108670001A61342C0020A23300A0FD390000C93F4C +:10868000336D4C39DA82083CA0AA2ABEB93AB2BA94 +:10869000CA9F2A3DDDFFFFBE2DE9F04D16460F466D +:1086A0000546020096B01C4621F0004123F0004030 +:1086B00014BF4FF0010C4FF0000C0CEB470CFE4BBD +:1086C0000CEB03084FEA630CC4452DD85FEA06089B +:1086D00018BF4FF0010808EB44089844F74B434596 +:1086E00022D8F74B50EA060C02D09F4205D14AB976 +:1086F00016B000201946BDE8F08D002A08BF4FF0E3 +:10870000000C01D04FF0010C0CEB470313F5001FD8 +:108710000AD8002E14BF4FF0010C4FF0000C0CEBE8 +:10872000440313F5001F08D916B0324623462846E5 +:108730003946BDE8F04DFEF79EBFDFF888B34FF035 +:10874000000A002FB8BF584523DADF4B9842A8BF74 +:108750004FF0020A1DDADA4B98421ADBDB4B03EBCF +:108760002053142B08DDC3F1340C26FA0CF303FA62 +:108770000CFCB4450DD108E05EB9C3F1140C20FA2D +:108780000CF303FA0CFC844503D103F00103C3F19D +:10879000020A51EA020321D1002C1FDA002F18BF70 +:1087A000BAF1020F02D0BAF1010F0BD00220FFF78D +:1087B00083FD16B00022BDE8F04D13461046C049B7 +:1087C000FFF76FB80220FFF777FD16B02A463B4649 +:1087D000BDE8F04D0020BA49FFF763B8330076D109 +:1087E000584525D107F1804010F5801001BF002ABF +:1087F0000020B34916B008BFBDE8F08DB0488142F3 +:1088000007DB002CA1BF1846214616B0BDE8F08D4D +:1088100007E0201E05DA80F0004116B01846BDE8DA +:10882000F08DAB497944D1E9000116B0BDE8F08D77 +:10883000DFF88CC260452FD1002C28DA39B15945B8 +:108840001CD1002A04BF002002460CD01FE06AB1F0 +:108850000220FFF731FD40F2013200204FF0E041ED +:10886000FFF7C1FA0A46394600F0DEBA954A3946A2 +:1088700016B0002062F31E01BDE8F08D07DA16B0D5 +:108880003B46BDE8F04D00206146FFF70AB816B040 +:1088900010463946BDE8F08D8B4518DDB4F1804FA8 +:1088A0000DD0A4F10053B3F1FF5310D13B1E0EDBEA +:1088B00016B01046BDE8F04D194600F0A9BC3B4685 +:1088C00016B01046BDE8F04D1946FEF77ABF27F006 +:1088D0000043A2BBE1B1594538D1002F06DD002C81 +:1088E000A1BF0020594616B0BDE8F08D002F01DD74 +:1088F000002C1FDB002F16DA002C14DBBAF1010F5D +:108900004FF000000CBF73496E4916B0BDE8F08D02 +:10891000BAF1020F18BF002F0CD0BAF1010F09D124 +:10892000002F07DA0CE0002FB8BF002C0EDABAF1E6 +:10893000010F05D0002016B00146BDE8F08D05E01E +:1089400016B000204FF00041BDE8F08D4FF0010C53 +:108950000CEBE7720F9252EA0A020BD05E4A904289 +:108960007DDD5E4B5E4A984216DD91420EDC002CA6 +:108970001CDB2CE00120FFF79FFC16B00022BDE8B5 +:10898000F04D134610461146FEF78BBF4C48884207 +:1089900002DC002C0ADC1AE08A4202DD002C05DB36 +:1089A00015E0474B99421EDD002C10DD0220FFF739 +:1089B00083FC40F2013200204FF0E041FFF713FA50 +:1089C000404A16B061F31E021146BDE8F08D022048 +:1089D000FFF772FCFFF7A6FB394A16B061F31E02DF +:1089E0001146BDE8F08D002228463946FEF7E3FE29 +:1089F00005460F466FF00102FFF7F5F94FF05532CB +:108A0000384BFEF7DBFE2A463B46FEF7DAFE002235 +:108A1000354BFEF7D3FE8B4680462A463B46104632 +:108A20001946FEF7CEFE42465B46FEF7CAFE80467A +:108A30000B914FF0C0422D4B28463946FEF7C1FE40 +:108A4000834605912A4A294B40460B99FEF7B9FE09 +:108A500088460290274A284B2846394600E01BE00A +:108A6000FEF7AFFE4346029AFEF7A5FE0546024614 +:108A70000B460B9158460599FEF7FDFD00278846E9 +:108A80005A463846059BFEF796FE2A460B9BFEF794 +:108A900095FE024600F073B90020B1F5801F07DA99 +:108AA000352228461946FFF79EF905466FF0340037 +:108AB00000EB215022E00000FFFF1F00FFFF0F002E +:108AC0000000F03F0000F07F0000404301FCFFFF8A +:108AD000080E00000000F0FF0000E0410000F0433D +:108AE000FFFFEF3F5555D53F0000E03F4715F73FEB +:108AF000FE822B6544DF5DF80BAE543EA0F2FF30E2 +:108B00000190C1F3130040F07F6141F040510291A8 +:108B1000FE498842D8BF4FF0000B0EDDFC49814270 +:108B2000C8BF4FF0010B08DC01984FF0000B401C50 +:108B300001900298A0F580100290F64802997844BE +:108B400000EBCB0009910790D0E900232846FEF7FF +:108B500032FE059100900798D0E900232846099934 +:108B6000FEF789FD02460B460020EB49FEF799FE11 +:108B70000B910B460246069005990098FEF721FEE0 +:108B80000A90E64888460027784400680C900299CD +:108B90004FF0005040EA610000EB8B4000F50021EF +:108BA00002910798D0E900230C98FEF704FE2A46AC +:108BB000099BFEF703FE3A464346FEF702FE079185 +:108BC000054638464146029B0C9AFEF7FAFD059B86 +:108BD000009AFEF7F3FD2A46079BFEF7ECFD0B9B80 +:108BE000069AFEF7EEFD0A9A069108904346104653 +:108BF0001946FEF7E6FD05460246C9480B460791B1 +:108C000006217844FFF738FA0290079B2A4605911F +:108C100010461946FEF7D5FD059B029AFEF7D1FDD9 +:108C2000059105464346384619460A9AFEF723FD44 +:108C3000069B089AFEF7C5FD2A46059BFEF71BFD1D +:108C40003A4643460591129010461946FEF7B9FD83 +:108C50000022B44B07910090FEF70DFD059B129A80 +:108C6000FEF709FD0D463A46AE4B3846FEF7A3FD2A +:108C7000079B009AFEF79FFD059B129AFEF79EFD4B +:108C80003A46079112902B4610464146FEF799FD51 +:108C90000591009043460A9A07991298FEF791FDB4 +:108CA000804607912B463A4606990898FEF789FDBB +:108CB0004246079BFEF7DFFC88460690059B009A1C +:108CC000FEF7D9FC00200F460546059B009AFEF7EB +:108CD00072FD4346069AFEF771FD80460D914FF0F6 +:108CE0006042914B28463946FEF76BFD0591009096 +:108CF0008E4A8D4B40460D99FEF763FD80460491E8 +:108D00008B4A8C4B28463946FEF75BFD4246049B56 +:108D1000FEF7B1FC884A7A4402EBCB03D3E9002387 +:108D2000FEF7A9FC029004910198FEF737FE079127 +:108D3000DDE904310546029A0098FEF79CFC7F4A63 +:108D40007A4402EBCB0BDBE90023FEF794FC2A46C6 +:108D5000079BFEF790FC002788462A463846079B6B +:108D6000FEF729FDDBE90023FEF725FD059B009AB0 +:108D7000FEF721FD049B029AFEF720FD024600202B +:108D80000A900F98644DAAF10103184301D16C4D6C +:108D90000A9000200B46029030462146FEF711FD56 +:108DA00082468B46234630461946029AFEF703FD5B +:108DB0003A464346FEF705FD52465B46FEF75BFC2E +:108DC00006468A463A46434621460298FEF7F9FC93 +:108DD00004460F4632465346FEF74DFC594A8B4631 +:108DE000914226DBABEB020353EA000210D122468C +:108DF0003B46FEF7E0FC80460391534A534B304616 +:108E00005146FEF738FC4246039BFFF703F82CD28D +:108E10000220FFF751FA40F2013200204FF0E0410A +:108E2000FEF7E1FF0A46294616B062F31E01BDE8CF +:108E3000F08D474B2BF000429A4216D3454A0BEB7C +:108E4000020353EA000208D122463B46FEF7B3FC78 +:108E500032465346FEF7DEFF07D80220FFF72CFA12 +:108E6000FFF760F90A462946DEE72BF000403A4951 +:108E70003A4A01EB20514FF00008904223DD481C94 +:108E80004FF4801121FA00F05844C0F30A51344ADB +:108E9000A1F2FF317A44334B1268CB4020EA03033E +:108EA000C0F3130040F4801CC1F114002CFA00F848 +:108EB000BBF1000FB8BFC8F1000820463946FEF7E5 +:108EC0007AFC04460F4622463B4630465146FEF7A2 +:108ED000D2FB4FF0000B5A46234B58460791FEF742 +:108EE00070FC05910090214A214B58460799FEF7E6 +:108EF00068FCCDE9020122463B4658460799FEF739 +:108F00005AFC32465346FEF759FC33E08E98030074 +:108F10007AB60B00660A00000000F03FA40A0000C9 +:108F2000D20900000000084009C7EE3FFD033ADC0B +:108F3000F5015B14E02F3EBEAE080000740800008F +:108F40000000F0BF00009040FE822B654715973C63 +:108F500000CC904000346F3F01FCFFFF0000E03F79 +:108F600098070000FFFF0F00432EE63F396CA80C66 +:108F7000615C20BE3F4A404BFEF723FCDDE9022343 +:108F8000FEF779FB07468A46059B009AFEF773FBBE +:108F900004460E46059B009AFEF70DFC3A465346E2 +:108FA000FEF70CFC0746224633460B911046194645 +:108FB000FEF707FC8346024630488A460B460521E9 +:108FC0007844FFF759F85A465346FEF7FAFB224613 +:108FD0003346FEF7F3FB82468B463A46204631463F +:108FE0000B9BFEF7EEFB3A460B9BFEF744FB009112 +:108FF0000C9000224FF0804350465946FEF7DBFBB1 +:109000000746039152465B4620463146FEF7D9FBA0 +:109010003A46039BFEF745FC009B0C9AFEF7CBFB00 +:1090200022463346FEF7C7FB0022154BFEF7C6FB70 +:109030000E46044601EB08510815002810DC424694 +:1090400020463146FEF7CFFEFEF7EAFF042808BFB0 +:10905000FFF768F8424620463146FEF7C4FE044654 +:109060000A980B4616B022462946BDE8F04DFEF799 +:10907000A8BB0000EF39FAFE422EE63F440600008E +:109080000000F03F2DE9F843044654482246694663 +:10909000B0EB420F09D94FF0E640B0EB440F8CBF64 +:1090A0004FF0FF300020009034E04D4B22F00040A4 +:1090B00083422BD94B491046FEF767FAFEF716FE9E +:1090C0000646FEF789FC00F0030000904649304652 +:1090D000FEF75BFA054645493046FEF756FA074665 +:1090E00043493046FEF751FA804642493046FEF782 +:1090F0004CFA2146FEF746FA4146FEF740FA394659 +:10910000FEF73DFA2946FEF73AFA02E01046FFF76D +:1091100017F80446009D002D1DDA6000B0F17F4F66 +:1091200009D22046FEF790FF042808BFFFF702F897 +:109130002046BDE8F88308D10120FFF7BDF8BDE85F +:10914000F84300210846FEF756BA2046BDE8F8432A +:109150000121FEF790BD214615F0010F08461FD0F2 +:10916000FEF713FA04462449FEF70FFA2349FEF7E7 +:10917000B4F92146FEF709FA2149FEF7AEF9214676 +:10918000FEF703FA4FF07E51FEF7A7F915F0020F34 +:1091900008BFBDE8F88300BF80F00040BDE8F88359 +:1091A000FEF7F3F906461749FEF7EFF91649FEF701 +:1091B000E9F93146FEF7E9F91449FEF78EF931462F +:1091C000FEF7E3F92146FEF7E0F92146FEF785F9BF +:1091D00015F0020FE0D1BDE8F8830000B61F927EC3 +:1091E000490E494683F9223F1A61342C0020A233EC +:1091F00000A0FD390000C93FB93AB2BACA9F2A3D62 +:10920000DDFFFFBE336D4C39DA82083CA0AA2ABECE +:109210002DE9F04106460F46FEF775FE0D460400A7 +:1092200018BF0120284320F00040C0F17F6010F1FA +:10923000E0400FD5002E14BF01200020384320F05D +:109240000040C0F17F6000F1E0400028A4BF012091 +:10925000FFF732F820462946BDE8F08170B5054693 +:10926000FEF715FD044620F00040C0F1FF40C00F9E +:1092700008D025F00040C0F1FF40C00F04BF01201E +:10928000FFF71AF8204670BD73990008A8990008E6 +:109290006701000893990008129A0008AD010008C0 +:1092A00068980008A8980008D10100080F990008E4 +:1092B000129A0008A70200080B99000833990008C9 +:1092C000E10200084F990008C59900085D030008F5 +:1092D00070980008989900088B0100088F99000881 +:1092E000D89900082F040008889900087C99000884 +:1092F000FF060008F5980008129A0008CF0700083A +:10930000FD97000800000000AE03002000000000F0 +:1093100020000000DA97000802000000B0030020DF +:10932000B0040000A40600005098000802000000ED +:10933000B603002000000000D00700005C98000881 +:1093400002000000B803002000000000D007000069 +:109350000698000802000000BA0300200000000088 +:10936000D00700009698000802000000B203002019 +:1093700000000000D00700009F98000802000000D5 +:10938000B403002000000000D0070000649900082A +:1093900000000000AF0300200000000001000000FA +:1093A0003798000800000000A30300200A00000016 +:1093B000C80000002498000800000000A40300205A +:1093C0000A000000320000001198000800000000B0 +:1093D000A50300200A00000032000000FD980008EC +:1093E00001000000BC030020FFFFFFFF01000000A0 +:1093F000E097000802000000BE030020000000000B +:10940000D0070000EE97000802000000C003002013 +:1094100000000000D0070000419800080200000092 +:10942000C203002000000000D0070000E9980008F7 +:1094300002000000C403002000000000D00700006C +:10944000079A000802000000C60300200000000088 +:10945000D00700001499000801000000C803002094 +:109460009CFFFFFF64000000249900080100000039 +:10947000C90300209CFFFFFF64000000559900080D +:109480000000000082030020000000002000000017 +:10949000759800080200000084030020000000000E +:1094A000000100008E980008000000005503002015 +:1094B00000000000C80000008698000800000000BE +:1094C0005D03002000000000C80000007E98000836 +:1094D000000000006503002000000000C80000003C +:1094E000E298000800000000540300200000000083 +:1094F000C8000000DB980008000000005C030020AA +:1095000000000000C8000000D4980008000000001F +:109510006403002000000000C8000000019A000859 +:10952000000000005603002000000000C8000000FA +:10953000FB990008000000005E030020000000000E +:10954000C8000000F5990008000000006603002034 +:1095500000000000C8000000CC98000800000000D7 +:109560005A03002000000000C8000000C498000852 +:10957000000000006203002000000000C80000009E +:10958000BC980008000000006A03002000000000F2 +:10959000C800000041455254313233340001020307 +:1095A0000004050600000000000000000000F03F7D +:1095B000000000000000F83F000000000000000074 +:1095C0000000004003B8E23F00000000000000007F +:1095D00006D0CF43EBFD4C3E033333333333E33F0D +:1095E000FFAB6FDBB66DDB3F4D268F515555D53F39 +:1095F00001411DA96074D13F65DBC9934A86CD3F07 +:10960000EF4E454A287ECA3F3E5555555555C53FF4 +:1096100093BDBE166CC166BF2CDE25AF6A56113FE6 +:10962000F16BD2C541BDBBBED0A4BE726937663EE8 +:109630000000000000000000000000006E83F9A29E +:109640002915444ED15727FCC0DD34F5999562DBCE +:109650004190433CAB6351FE00404040404040409D +:1096600040404141414141404040404040404040F5 +:109670004040404040404040400502020202020299 +:1096800002020202020202020220202020202020E8 +:1096900020202002020202020202909090909090FC +:1096A00010101010101010101010101010101010BA +:1096B000101010100202020202028888888888882E +:1096C000080808080808080808080808080808081A +:1096D000080808080202020240000000599600082B +:1096E000565441494C3400593400484558360059C5 +:1096F00036004F43544F58380041434300414952CC +:10970000504C414E45004D41470048454C495F395A +:10971000305F4445470043414D5452494700475943 +:10972000524F5F534D4F4F5448494E47004C4544AC +:109730005F52494E4700464C59494E475F57494E84 +:1097400047004249005452490047494D42414C00AC +:10975000494E464C494748545F4143435F43414C5F +:109760000048454C495F3132305F4343504D005013 +:10977000504D005350454B5452554D004241524FAD +:10978000004449474954414C5F534552564F00519C +:1097900055414450004D4F544F525F53544F500069 +:1097A0004F43544F464C41545000534F4E4152008A +:1097B000475053005642415400534552564F5F5450 +:1097C000494C5400484558365800515541445800BA +:1097D0004F43544F464C415458006D6964726300C6 +:1097E00077696E675F6C6566745F6D696400776941 +:1097F0006E675F72696768745F6D69640064656154 +:109800006462616E64006D696E636F6D6D616E643C +:1098100000766261746D696E63656C6C766F6C74F2 +:1098200061676500766261746D617863656C6C7602 +:109830006F6C7461676500766261747363616C65F7 +:10984000007472695F7961775F6D6964646C65004B +:109850006D696E7468726F74746C65006D61787494 +:1098600068726F74746C650066656174757265000A +:1098700073617665006779726F5F6C706600645F14 +:10988000706974636800695F706974636800705F11 +:109890007069746368006D696E636865636B006D01 +:1098A0006178636865636B006C697374206F722004 +:1098B0002D76616C206F722076616C00645F6C6540 +:1098C00076656C00695F6C6576656C00705F6C65D1 +:1098D00076656C00645F726F6C6C00695F726F6CB0 +:1098E0006C00705F726F6C6C007472695F79617785 +:1098F0005F6D696E0076657273696F6E007961776E +:109900005F646972656374696F6E006D6170006891 +:10991000656C700074696C745F70697463685F7003 +:10992000726F700074696C745F726F6C6C5F7072D0 +:109930006F70006D617070696E67206F6620726372 +:10994000206368616E6E656C206F72646572006D75 +:1099500069786572006163635F6C70665F666163FE +:10996000746F72007370656B7472756D5F68697285 +:1099700065730064656661756C74730073686F77F6 +:109980002073797374656D207374617475730073DB +:1099900065740065786974007361766520616E6432 +:1099A000207265626F6F7400726573657420746FE6 +:1099B0002064656661756C747320616E64207265E5 +:1099C000626F6F74006D69786572206E616D6520DD +:1099D0006F72206C697374006E616D653D76616CA9 +:1099E0007565206F7220626C616E6B20666F7220ED +:1099F0006C69737400645F79617700695F7961777E +:109A000000705F796177007472695F7961775F6D6B +:109A100061780000349A0008000000202C03000048 +:109A2000C47F0008209B00082C0300208414000041 +:109A3000A8820008411345971B088F041ACA041A0C +:109A400042041A490413EF961B08EA041A360C1A4A +:109A5000E7081AC4081AF2081AA0081AD0041AFD56 +:109A60000C1A61081A0A041AE00C411A6F0C1AB495 +:109A7000041A50041A81041A95041AB9041A160417 +:109A80001A1E041A2D041AB0041A7304411AF93864 +:109A90001A7C0C1A06045AAA1C417207021C010304 +:109AA00045093D7204CBDC050201920914A202248F +:109AB000030238018B803F04012613380502182069 +:109AC000D9AC22403A020812043A040812083A08B3 +:109AD00008120C22105A04201908392019083920BC +:109AE000190829201E342C014040041334081B405F +:109AF00038041A3C0419211B4034201A38041A3C3B +:109B00000419391944011F3BA24A7D41380C010256 +:109B10000304060708090204068929106914410094 :04000005080000ED02 :00000001FF diff --git a/src/board.h b/src/board.h index 0d3f4c414..f2a0736e7 100755 --- a/src/board.h +++ b/src/board.h @@ -11,6 +11,10 @@ #include "stm32f10x_conf.h" #include "core_cm3.h" +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif /* M_PI */ + typedef enum { SENSOR_ACC = 1 << 0, SENSOR_BARO = 1 << 1, @@ -30,10 +34,13 @@ typedef enum { FEATURE_GYRO_SMOOTHING = 1 << 7, FEATURE_LED_RING = 1 << 8, FEATURE_GPS = 1 << 9, + FEATURE_SPEKTRUM = 1 << 10, } AvailableFeatures; -typedef void (* sensorInitFuncPtr)(void); -typedef void (* sensorReadFuncPtr)(int16_t *data); +typedef void (* sensorInitFuncPtr)(void); // sensor init prototype +typedef void (* sensorReadFuncPtr)(int16_t *data); // sensor read and align prototype +typedef void (* uartReceiveCallbackPtr)(uint16_t data); // used by uart2 driver to return frames to app +typedef uint16_t (* rcReadRawDataPtr)(uint8_t chan); // used by receiver driver to return channel data typedef struct sensor_t { diff --git a/src/cli.c b/src/cli.c index 70618117d..31a4703d7 100644 --- a/src/cli.c +++ b/src/cli.c @@ -36,6 +36,7 @@ const char *mixerNames[] = { const char *featureNames[] = { "PPM", "VBAT", "INFLIGHT_ACC_CAL", "DIGITAL_SERVO", "MOTOR_STOP", "SERVO_TILT", "CAMTRIG", "GYRO_SMOOTHING", "LED_RING", "GPS", + "SPEKTRUM", NULL }; @@ -88,6 +89,7 @@ const clivalue_t valueTable[] = { { "mincommand", VAR_UINT16, &cfg.mincommand, 0, 2000 }, { "mincheck", VAR_UINT16, &cfg.mincheck, 0, 2000 }, { "maxcheck", VAR_UINT16, &cfg.maxcheck, 0, 2000 }, + { "spektrum_hires", VAR_UINT8, &cfg.spektrum_hires, 0, 1 }, { "vbatscale", VAR_UINT8, &cfg.vbatscale, 10, 200 }, { "vbatmaxcellvoltage", VAR_UINT8, &cfg.vbatmaxcellvoltage, 10, 50 }, { "vbatmincellvoltage", VAR_UINT8, &cfg.vbatmincellvoltage, 10, 50 }, @@ -99,6 +101,8 @@ const clivalue_t valueTable[] = { { "tri_yaw_max", VAR_UINT16, &cfg.tri_yaw_max, 0, 2000 }, { "tilt_pitch_prop", VAR_INT8, &cfg.tilt_pitch_prop, -100, 100 }, { "tilt_roll_prop", VAR_INT8, &cfg.tilt_roll_prop, -100, 100 }, + { "acc_lpf_factor", VAR_UINT8, &cfg.acc_lpf_factor, 0, 32 }, + { "gyro_lpf", VAR_UINT16, &cfg.gyro_lpf, 0, 256 }, { "p_pitch", VAR_UINT8, &cfg.P8[PITCH], 0, 200}, { "i_pitch", VAR_UINT8, &cfg.I8[PITCH], 0, 200}, { "d_pitch", VAR_UINT8, &cfg.D8[PITCH], 0, 200}, @@ -252,10 +256,10 @@ static void cliHelp(char *cmdline) uartPrint("Available commands:\r\n"); for (i = 0; i < CMD_COUNT; i++) { - uartPrint(cmdTable[i].name); - uartWrite(' '); - uartPrint(cmdTable[i].param); - uartPrint("\r\n"); + uartPrint(cmdTable[i].name); + uartWrite(' '); + uartPrint(cmdTable[i].param); + uartPrint("\r\n"); } } @@ -344,15 +348,15 @@ static void cliPrintVar(const clivalue_t *var) case VAR_UINT8: value = *(uint8_t *)var->ptr; break; - + case VAR_INT8: value = *(int8_t *)var->ptr; break; - + case VAR_UINT16: value = *(uint16_t *)var->ptr; break; - + case VAR_INT16: value = *(int16_t *)var->ptr; break; @@ -389,7 +393,7 @@ static void cliSet(char *cmdline) const clivalue_t *val; char *eqptr = NULL; int32_t value = 0; - + len = strlen(cmdline); if (len == 0) { @@ -525,7 +529,7 @@ void cliProcess(void) // enter pressed clicmd_t *cmd = NULL; clicmd_t target; - uartPrint("\r\n"); + uartPrint("\r\n"); cliBuffer[bufferIndex] = 0; // null terminate target.name = cliBuffer; @@ -542,7 +546,7 @@ void cliProcess(void) // 'exit' will reset this flag, so we don't need to print prompt again if (!cliMode) - return; + return; cliPrompt(); } else if (c == 127) { // backspace diff --git a/src/config.c b/src/config.c index 31071351d..b9f2c14e2 100755 --- a/src/config.c +++ b/src/config.c @@ -9,7 +9,7 @@ config_t cfg; const char rcChannelLetters[] = "AERT1234"; static uint32_t enabledSensors = 0; -static uint8_t checkNewConf = 6; +static uint8_t checkNewConf = 7; void parseRcChannels(const char *input) { @@ -112,6 +112,8 @@ void checkFirstTime(bool reset) } cfg.accTrim[0] = 0; cfg.accTrim[1] = 0; + cfg.acc_lpf_factor = 4; + cfg.gyro_lpf = 42; cfg.gyro_smoothing_factor = 0x00141403; // default factors of 20, 20, 3 for R/P/Y cfg.powerTrigger1 = 0; cfg.vbatscale = 110; @@ -120,8 +122,8 @@ void checkFirstTime(bool reset) // Radio/ESC parseRcChannels("AETR1234"); - // parseRcChannels("ATER1234"); cfg.deadband = 0; + cfg.spektrum_hires = 0; cfg.midrc = 1500; cfg.mincheck = 1100; cfg.maxcheck = 1900; diff --git a/src/drv_adxl345.c b/src/drv_adxl345.c index 3b14ca2f6..83a08b8ce 100755 --- a/src/drv_adxl345.c +++ b/src/drv_adxl345.c @@ -57,14 +57,8 @@ static void adxl345Init(void) #else // MWC defaults i2cWrite(ADXL345_ADDRESS, ADXL345_POWER_CTL, 1 << 3); // register: Power CTRL -- value: Set measure bit 3 on -#if 1 i2cWrite(ADXL345_ADDRESS, ADXL345_DATA_FORMAT, 0x0B); // register: DATA_FORMAT -- value: Set bits 3(full range) and 1 0 on (+/- 16g-range) i2cWrite(ADXL345_ADDRESS, ADXL345_BW_RATE, 0x09); // register: BW_RATE -- value: rate=50hz, bw=20hz -#else - // testing - i2cWrite(ADXL345_ADDRESS, ADXL345_DATA_FORMAT, (ADXL_RANGE_8G & 0x03) | ADXL_FULL_RES); // register: DATA_FORMAT -- value: Set bits 3(full range) and 1 0 on (+/- 16g-range) - i2cWrite(ADXL345_ADDRESS, ADXL345_BW_RATE, ADXL_RATE_800); // register: BW_RATE -- value: rate=50hz, bw=20hz -#endif #endif /* FreeFlight */ } diff --git a/src/drv_bmp085.c b/src/drv_bmp085.c index a17cd9e3a..82beca666 100755 --- a/src/drv_bmp085.c +++ b/src/drv_bmp085.c @@ -35,7 +35,6 @@ typedef struct { uint8_t sensortype; int32_t param_b5; - int32_t number_of_samples; int16_t oversampling_setting; int16_t smd500_t_resolution, smd500_masterclock; @@ -129,7 +128,6 @@ bool bmp085Init(void) p_bmp085->dev_addr = BMP085_I2C_ADDR; /* preset BMP085 I2C_addr */ i2cRead(p_bmp085->dev_addr, BMP085_CHIP_ID__REG, 1, &data); /* read Chip Id */ p_bmp085->chip_id = BMP085_GET_BITSLICE(data, BMP085_CHIP_ID); - p_bmp085->number_of_samples = 1; p_bmp085->oversampling_setting = 2; if (p_bmp085->chip_id == BMP085_CHIP_ID) { /* get bitslice */ @@ -162,11 +160,15 @@ int32_t bmp085_read_pressure(void) return bmp085_get_pressure(bmp085_get_up()); } +// #define BMP_TEMP_OSS 4 int16_t bmp085_get_temperature(uint32_t ut) { int16_t temperature; int32_t x1, x2; +#ifdef BMP_TEMP_OSS + static uint32_t temp; +#endif if (p_bmp085->sensortype == BOSCH_PRESSURE_BMP085) { x1 = (((int32_t) ut - (int32_t) p_bmp085->cal_param.ac6) * (int32_t) p_bmp085->cal_param.ac5) >> 15; @@ -175,7 +177,14 @@ int16_t bmp085_get_temperature(uint32_t ut) } temperature = ((p_bmp085->param_b5 + 8) >> 4); // temperature in 0.1°C +#ifdef BMP_TEMP_OSS + temp *= (1 << BMP_TEMP_OSS) - 1; // multiply the temperature variable by 3 - we have tau == 1/4 + temp += ((uint32_t)temperature) << 8; // add on the buffer + temp >>= BMP_TEMP_OSS; // divide by 4 + return (int16_t)temp; +#else return temperature; +#endif } int32_t bmp085_get_pressure(uint32_t up) @@ -266,7 +275,6 @@ uint32_t bmp085_get_up(void) i2cRead(p_bmp085->dev_addr, BMP085_ADC_OUT_MSB_REG, 3, data); up = (((uint32_t) data[0] << 16) | ((uint32_t) data[1] << 8) | (uint32_t) data[2]) >> (8 - p_bmp085->oversampling_setting); - p_bmp085->number_of_samples = 1; return up; } diff --git a/src/drv_hmc5883l.c b/src/drv_hmc5883l.c index 351e436fd..c4a05741a 100755 --- a/src/drv_hmc5883l.c +++ b/src/drv_hmc5883l.c @@ -9,12 +9,11 @@ bool hmc5883lDetect(void) { bool ack = false; uint8_t sig = 0; - + ack = i2cRead(MAG_ADDRESS, 0x0A, 1, &sig); if (!ack || sig != 'H') return false; - - + return true; } @@ -22,28 +21,28 @@ void hmc5883lInit(void) { delay(100); // force positiveBias - i2cWrite(MAG_ADDRESS, 0x00, 0x71); //Configuration Register A -- 0 11 100 01 num samples: 8 ; output rate: 15Hz ; positive bias + i2cWrite(MAG_ADDRESS, 0x00, 0x71); // Configuration Register A -- 0 11 100 01 num samples: 8 ; output rate: 15Hz ; positive bias delay(50); // set gains for calibration - i2cWrite(MAG_ADDRESS, 0x01, 0x60); //Configuration Register B -- 011 00000 configuration gain 2.5Ga - i2cWrite(MAG_ADDRESS, 0x02, 0x01); //Mode register -- 000000 01 single Conversion Mode + i2cWrite(MAG_ADDRESS, 0x01, 0x60); // Configuration Register B -- 011 00000 configuration gain 2.5Ga + i2cWrite(MAG_ADDRESS, 0x02, 0x01); // Mode register -- 000000 01 single Conversion Mode // this enters test mode } void hmc5883lFinishCal(void) { // leave test mode - i2cWrite(MAG_ADDRESS, 0x00, 0x70); //Configuration Register A -- 0 11 100 00 num samples: 8 ; output rate: 15Hz ; normal measurement mode - i2cWrite(MAG_ADDRESS, 0x01, 0x20); //Configuration Register B -- 001 00000 configuration gain 1.3Ga - i2cWrite(MAG_ADDRESS, 0x02, 0x00); //Mode register -- 000000 00 continuous Conversion Mode + i2cWrite(MAG_ADDRESS, 0x00, 0x70); // Configuration Register A -- 0 11 100 00 num samples: 8 ; output rate: 15Hz ; normal measurement mode + i2cWrite(MAG_ADDRESS, 0x01, 0x20); // Configuration Register B -- 001 00000 configuration gain 1.3Ga + i2cWrite(MAG_ADDRESS, 0x02, 0x00); // Mode register -- 000000 00 continuous Conversion Mode } void hmc5883lRead(int16_t *magData) { uint8_t buf[6]; - + i2cRead(MAG_ADDRESS, MAG_DATA_REGISTER, 6, buf); - + magData[0] = buf[0] << 8 | buf[1]; magData[1] = buf[2] << 8 | buf[3]; magData[2] = buf[4] << 8 | buf[5]; diff --git a/src/drv_mpu3050.c b/src/drv_mpu3050.c index 22a5c3001..f48213a97 100755 --- a/src/drv_mpu3050.c +++ b/src/drv_mpu3050.c @@ -14,6 +14,7 @@ // Bits #define MPU3050_FS_SEL_2000DPS 0x18 +#define MPU3050_DLPF_10HZ 0x05 #define MPU3050_DLPF_20HZ 0x04 #define MPU3050_DLPF_42HZ 0x03 #define MPU3050_DLPF_98HZ 0x02 @@ -23,7 +24,7 @@ #define MPU3050_USER_RESET 0x01 #define MPU3050_CLK_SEL_PLL_GX 0x01 -static uint8_t mpuLowPassFliter = MPU3050_DLPF_42HZ; +static uint8_t mpuLowPassFilter = MPU3050_DLPF_42HZ; static void mpu3050Init(void); static void mpu3050Read(int16_t *gyroData); @@ -46,6 +47,32 @@ bool mpu3050Detect(sensor_t *gyro) return true; } +void mpu3050Config(uint16_t lpf) +{ + switch (lpf) { + case 256: + mpuLowPassFilter = MPU3050_DLPF_256HZ; + break; + case 188: + mpuLowPassFilter = MPU3050_DLPF_188HZ; + break; + case 98: + mpuLowPassFilter = MPU3050_DLPF_98HZ; + break; + case 42: + mpuLowPassFilter = MPU3050_DLPF_42HZ; + break; + case 20: + mpuLowPassFilter = MPU3050_DLPF_20HZ; + break; + case 10: + mpuLowPassFilter = MPU3050_DLPF_10HZ; + break; + } + + i2cWrite(MPU3050_ADDRESS, MPU3050_DLPF_FS_SYNC, MPU3050_FS_SEL_2000DPS | mpuLowPassFilter); +} + static void mpu3050Init(void) { bool ack; @@ -56,7 +83,7 @@ static void mpu3050Init(void) if (!ack) failureMode(3); - i2cWrite(MPU3050_ADDRESS, MPU3050_DLPF_FS_SYNC, MPU3050_FS_SEL_2000DPS | mpuLowPassFliter); + i2cWrite(MPU3050_ADDRESS, MPU3050_DLPF_FS_SYNC, MPU3050_FS_SEL_2000DPS | mpuLowPassFilter); i2cWrite(MPU3050_ADDRESS, MPU3050_INT_CFG, 0); i2cWrite(MPU3050_ADDRESS, MPU3050_USER_CTRL, MPU3050_USER_RESET); i2cWrite(MPU3050_ADDRESS, MPU3050_PWR_MGM, MPU3050_CLK_SEL_PLL_GX); diff --git a/src/drv_mpu3050.h b/src/drv_mpu3050.h index a8e36412e..1ae321e23 100755 --- a/src/drv_mpu3050.h +++ b/src/drv_mpu3050.h @@ -1,3 +1,4 @@ #pragma once bool mpu3050Detect(sensor_t *gyro); +void mpu3050Config(uint16_t lpf); diff --git a/src/drv_pwm.c b/src/drv_pwm.c index 5193deaad..a3e2167b9 100755 --- a/src/drv_pwm.c +++ b/src/drv_pwm.c @@ -154,67 +154,14 @@ static void pwmIRQHandler(TIM_TypeDef *tim) } } -bool pwmInit(bool usePPM, bool useServos, bool useDigitalServos) +static void pwmInitializeInput(bool usePPM) { GPIO_InitTypeDef GPIO_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; - TIM_OCInitTypeDef TIM_OCInitStructure; NVIC_InitTypeDef NVIC_InitStructure; + uint8_t i; - uint8_t i, val; - uint16_t c; - bool throttleCal = false; - - // Inputs - - // RX1 TIM2_CH1 PA0 [also PPM] [also used for throttle calibration] - // RX2 TIM2_CH2 PA1 - // RX3 TIM2_CH3 PA2 [also UART2_TX] - // RX4 TIM2_CH4 PA3 [also UART2_RX] - // RX5 TIM3_CH1 PA6 [also ADC_IN6] - // RX6 TIM3_CH2 PA7 [also ADC_IN7] - // RX7 TIM3_CH3 PB0 [also ADC_IN8] - // RX8 TIM3_CH4 PB1 [also ADC_IN9] - - // Outputs - // PWM1 TIM1_CH1 PA8 - // PWM2 TIM1_CH4 PA11 - // PWM3 TIM4_CH1 PB6 [also I2C1_SCL] - // PWM4 TIM4_CH2 PB7 [also I2C1_SDA] - // PWM5 TIM4_CH3 PB8 - // PWM6 TIM4_CH4 PB9 - - // automatic throttle calibration detection: PA0 to ground via bindplug - // Configure TIM2_CH1 for input - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_Init(GPIOA, &GPIO_InitStructure); - -#if 0 - // wait a while - delay(100); - - for (c = 0; c < 50000; c++) { - val = GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0); - if (val) { - throttleCal = false; - break; - } - } -#endif - - // use PPM or PWM input - usePPMFlag = usePPM; - - // preset channels to center - for (i = 0; i < 8; i++) - Inputs[i].capture = 1500; - - // Timers run at 1mhz. - // TODO: clean this shit up. Make it all dynamic etc. - - // Input pins + // Input pins if (usePPM) { // Configure TIM2_CH1 for PPM input GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; @@ -295,7 +242,69 @@ bool pwmInit(bool usePPM, bool useServos, bool useDigitalServos) // In PWM input mode, all 8 channels are wasted numOutputChannels = 6; } +} + +bool pwmInit(bool usePPM, bool pwmppmInput, bool useServos, bool useDigitalServos) +{ + GPIO_InitTypeDef GPIO_InitStructure; + TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; + TIM_OCInitTypeDef TIM_OCInitStructure; + + uint8_t i, val; + uint16_t c; + bool throttleCal = false; + + // Inputs + + // RX1 TIM2_CH1 PA0 [also PPM] [also used for throttle calibration] + // RX2 TIM2_CH2 PA1 + // RX3 TIM2_CH3 PA2 [also UART2_TX] + // RX4 TIM2_CH4 PA3 [also UART2_RX] + // RX5 TIM3_CH1 PA6 [also ADC_IN6] + // RX6 TIM3_CH2 PA7 [also ADC_IN7] + // RX7 TIM3_CH3 PB0 [also ADC_IN8] + // RX8 TIM3_CH4 PB1 [also ADC_IN9] + + // Outputs + // PWM1 TIM1_CH1 PA8 + // PWM2 TIM1_CH4 PA11 + // PWM3 TIM4_CH1 PB6 [also I2C1_SCL] + // PWM4 TIM4_CH2 PB7 [also I2C1_SDA] + // PWM5 TIM4_CH3 PB8 + // PWM6 TIM4_CH4 PB9 + + // automatic throttle calibration detection: PA0 to ground via bindplug + // Configure TIM2_CH1 for input + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + GPIO_Init(GPIOA, &GPIO_InitStructure); + +#if 0 + // wait a while + delay(100); + + for (c = 0; c < 50000; c++) { + val = GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0); + if (val) { + throttleCal = false; + break; + } + } +#endif + + // use PPM or PWM input + usePPMFlag = usePPM; + // preset channels to center + for (i = 0; i < 8; i++) + Inputs[i].capture = 1500; + + // Timers run at 1mhz. + // TODO: clean this shit up. Make it all dynamic etc. + if (pwmppmInput) + pwmInitializeInput(usePPMFlag); + // Output pins GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_11; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; @@ -327,7 +336,7 @@ bool pwmInit(bool usePPM, bool useServos, bool useDigitalServos) TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low; TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set; - // PWM1,2 + // PWM1,2 TIM_OC1Init(TIM1, &TIM_OCInitStructure); TIM_OC4Init(TIM1, &TIM_OCInitStructure); // PWM3,4,5,6 @@ -341,7 +350,8 @@ bool pwmInit(bool usePPM, bool useServos, bool useDigitalServos) TIM_CtrlPWMOutputs(TIM1, ENABLE); TIM_CtrlPWMOutputs(TIM4, ENABLE); - if (usePPM) { + // turn on more motor outputs if we're using ppm / not using pwm input + if (!pwmppmInput || usePPM) { // PWM 7,8,9,10 TIM_TimeBaseStructure.TIM_Period = PULSE_PERIOD - 1; TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); diff --git a/src/drv_pwm.h b/src/drv_pwm.h index e4fd69d83..ff5be80c9 100755 --- a/src/drv_pwm.h +++ b/src/drv_pwm.h @@ -1,6 +1,6 @@ #pragma once -bool pwmInit(bool usePPM, bool useServos, bool useDigitalServos); // returns whether driver is asking to calibrate throttle or not +bool pwmInit(bool usePPM, bool pwmppmInput, bool useServos, bool useDigitalServos); // returns whether driver is asking to calibrate throttle or not void pwmWrite(uint8_t channel, uint16_t value); uint16_t pwmRead(uint8_t channel); uint8_t pwmGetNumOutputChannels(void); diff --git a/src/drv_uart.c b/src/drv_uart.c index 9474525ae..df5e67172 100755 --- a/src/drv_uart.c +++ b/src/drv_uart.c @@ -18,11 +18,11 @@ static void uartTxDMA(void) { DMA1_Channel4->CMAR = (uint32_t)&txBuffer[txBufferTail]; if (txBufferHead > txBufferTail) { - DMA1_Channel4->CNDTR = txBufferHead - txBufferTail; - txBufferTail = txBufferHead; + DMA1_Channel4->CNDTR = txBufferHead - txBufferTail; + txBufferTail = txBufferHead; } else { - DMA1_Channel4->CNDTR = UART_BUFFER_SIZE - txBufferTail; - txBufferTail = 0; + DMA1_Channel4->CNDTR = UART_BUFFER_SIZE - txBufferTail; + txBufferTail = 0; } DMA_Cmd(DMA1_Channel4, ENABLE); @@ -34,7 +34,7 @@ void DMA1_Channel4_IRQHandler(void) DMA_Cmd(DMA1_Channel4, DISABLE); if (txBufferHead != txBufferTail) - uartTxDMA(); + uartTxDMA(); } void uartInit(void) @@ -47,7 +47,7 @@ void uartInit(void) // UART // USART1_TX PA9 // USART1_RX PA10 - + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; @@ -119,7 +119,7 @@ uint8_t uartRead(void) ch = rxBuffer[UART_BUFFER_SIZE - rxDMAPos]; // go back around the buffer if (--rxDMAPos == 0) - rxDMAPos = UART_BUFFER_SIZE; + rxDMAPos = UART_BUFFER_SIZE; return ch; } @@ -137,11 +137,53 @@ void uartWrite(uint8_t ch) // if DMA wasn't enabled, fire it up if (!(DMA1_Channel4->CCR & 1)) - uartTxDMA(); + uartTxDMA(); } void uartPrint(char *str) { while (*str) - uartWrite(*(str++)); + uartWrite(*(str++)); +} + +/* -------------------------- UART2 (Spektrum, GPS) ----------------------------- */ +uartReceiveCallbackPtr uart2Callback = NULL; + +void uart2Init(uint32_t speed, uartReceiveCallbackPtr func) +{ + NVIC_InitTypeDef NVIC_InitStructure; + GPIO_InitTypeDef GPIO_InitStructure; + USART_InitTypeDef USART_InitStructure; + + RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE); + + NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); + + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; + GPIO_Init(GPIOA, &GPIO_InitStructure); + + USART_InitStructure.USART_BaudRate = speed; + USART_InitStructure.USART_WordLength = USART_WordLength_8b; + USART_InitStructure.USART_StopBits = USART_StopBits_1; + USART_InitStructure.USART_Parity = USART_Parity_No; + USART_InitStructure.USART_Mode = USART_Mode_Rx; + USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; + USART_Init(USART2, &USART_InitStructure); + + USART_ITConfig(USART2, USART_IT_RXNE, ENABLE); + USART_Cmd(USART2, ENABLE); + uart2Callback = func; +} + +void USART2_IRQHandler(void) +{ + if (USART_GetITStatus(USART2, USART_IT_RXNE) == SET) { + if (uart2Callback) + uart2Callback(USART_ReceiveData(USART2)); + } } diff --git a/src/drv_uart.h b/src/drv_uart.h index 54e163a05..c81550de8 100755 --- a/src/drv_uart.h +++ b/src/drv_uart.h @@ -6,3 +6,4 @@ uint8_t uartRead(void); uint8_t uartReadPoll(void); void uartWrite(uint8_t ch); void uartPrint(char *str); +void uart2Init(uint32_t speed, uartReceiveCallbackPtr func); diff --git a/src/gps.c b/src/gps.c index 50bc46f01..a876fa7cb 100644 --- a/src/gps.c +++ b/src/gps.c @@ -1,10 +1,6 @@ #include "board.h" #include "mw.h" -#ifndef PI -#define PI 3.14159265358979323846 -#endif - #ifndef sq #define sq(x) ((x)*(x)) #endif @@ -13,52 +9,9 @@ static void GPS_NewData(uint16_t c); static bool GPS_newFrame(char c); static void GPS_distance(int32_t lat1, int32_t lon1, int32_t lat2, int32_t lon2, uint16_t * dist, int16_t * bearing); -/*----------------------------------------------------------- - * - * GPS low level routines - * - *-----------------------------------------------------------*/ - -void USART2_IRQHandler(void) -{ - if (USART_GetITStatus(USART2, USART_IT_RXNE) == SET) { - GPS_NewData(USART_ReceiveData(USART2)); - } -} - -static void uart2Init(void) -{ - NVIC_InitTypeDef NVIC_InitStructure; - GPIO_InitTypeDef GPIO_InitStructure; - USART_InitTypeDef USART_InitStructure; - - RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE); - - NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); - - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - GPIO_Init(GPIOA, &GPIO_InitStructure); - - USART_InitStructure.USART_BaudRate = 9600; - USART_InitStructure.USART_WordLength = USART_WordLength_8b; - USART_InitStructure.USART_StopBits = USART_StopBits_1; - USART_InitStructure.USART_Parity = USART_Parity_No; - USART_InitStructure.USART_Mode = USART_Mode_Rx; - USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; - USART_Init(USART2, &USART_InitStructure); - - USART_ITConfig(USART2, USART_IT_RXNE, ENABLE); - USART_Cmd(USART2, ENABLE); -} - void gpsInit(void) { - uart2Init(); + uart2Init(9600, GPS_NewData); sensorsSet(SENSOR_GPS); } @@ -98,9 +51,9 @@ static void GPS_NewData(uint16_t c) static void GPS_distance(int32_t lat1, int32_t lon1, int32_t lat2, int32_t lon2, uint16_t * dist, int16_t * bearing) { float dLat = (lat2 - lat1); // difference of latitude in 1/100000 degrees - float dLon = (lon2 - lon1) * cos(lat1 * (PI / 180 / 100000.0)); // difference of longitude in 1/100000 degrees - *dist = 6372795 / 100000.0 * PI / 180 * (sqrt(sq(dLat) + sq(dLon))); - *bearing = 180 / PI * (atan2(dLon, dLat)); + float dLon = (lon2 - lon1) * cosf(lat1 * (M_PI / 180 / 100000.0)); // difference of longitude in 1/100000 degrees + *dist = 6372795.0 / 100000.0 * M_PI / 180.0 * (sqrtf(sq(dLat) + sq(dLon))); + *bearing = 180.0 / M_PI * (atan2f(dLon, dLat)); } /* The latitude or longitude is coded this way in NMEA frames @@ -231,7 +184,7 @@ static bool GPS_newFrame(char c) else parity ^= c; } else if (c == '\r' || c == '\n') { - if (checksum_param) { //parity checksum + if (checksum_param) { // parity checksum uint8_t checksum = hex_c(string[0]); checksum <<= 4; checksum += hex_c(string[1]); diff --git a/src/imu.c b/src/imu.c index 7a39dac7b..2c5e6598a 100755 --- a/src/imu.c +++ b/src/imu.c @@ -1,8 +1,6 @@ #include "board.h" #include "mw.h" -#define M_PI 3.14159265358979323846 - int16_t gyroADC[3], accADC[3], accSmooth[3], magADC[3]; int16_t acc_25deg = 0; int32_t BaroAlt; @@ -23,7 +21,7 @@ static void getEstimatedAttitude(void); void imuInit(void) { - acc_25deg = acc_1G * 0.423; + acc_25deg = acc_1G * 0.423f; // if mag sensor is enabled, use it if (sensors(SENSOR_MAG)) @@ -53,7 +51,7 @@ void computeIMU(void) if ((micros() - timeInterleave) > 650) { annex650_overrun_count++; } else { - while ((micros() - timeInterleave) < 650); //empirical, interleaving delay between 2 consecutive reads + while ((micros() - timeInterleave) < 650); // empirical, interleaving delay between 2 consecutive reads } Gyro_getADC(); @@ -108,11 +106,6 @@ void computeIMU(void) // ************************************************** //****** advanced users settings ******************* -/* Set the Low Pass Filter factor for ACC */ -/* Increasing this value would reduce ACC noise (visible in GUI), but would increase ACC lag time*/ -/* Comment this if you do not want filter at all.*/ -/* Default WMC value: 8*/ -#define ACC_LPF_FACTOR 4 /* Set the Low Pass Filter factor for Magnetometer */ /* Increasing this value would reduce Magnetometer noise (not visible in GUI), but would increase Magnetometer lag time*/ @@ -176,9 +169,7 @@ static void getEstimatedAttitude(void) #if defined(MG_LPF_FACTOR) static int16_t mgSmooth[3]; #endif -#if defined(ACC_LPF_FACTOR) static int16_t accTemp[3]; //projection of smoothed and normalized magnetic vector on x/y/z axis, as measured by magnetometer -#endif static uint32_t previousT; uint32_t currentT = micros(); float scale, deltaGyroAngle[3]; @@ -189,16 +180,15 @@ static void getEstimatedAttitude(void) // Initialization for (axis = 0; axis < 3; axis++) { deltaGyroAngle[axis] = gyroADC[axis] * scale; -#if defined(ACC_LPF_FACTOR) - accTemp[axis] = (accTemp[axis] - (accTemp[axis] >> ACC_LPF_FACTOR)) + accADC[axis]; - accSmooth[axis] = accTemp[axis] >> ACC_LPF_FACTOR; -#define ACC_VALUE accSmooth[axis] -#else - accSmooth[axis] = accADC[axis]; -#define ACC_VALUE accADC[axis] -#endif - accMag += (int32_t) ACC_VALUE * ACC_VALUE; + if (cfg.acc_lpf_factor > 0) { + accTemp[axis] = (accTemp[axis] - (accTemp[axis] >> cfg.acc_lpf_factor)) + accADC[axis]; + accSmooth[axis] = accTemp[axis] >> cfg.acc_lpf_factor; + } else { + accSmooth[axis] = accADC[axis]; + } + accMag += (int32_t)accSmooth[axis] * accSmooth[axis]; + if (sensors(SENSOR_MAG)) { #if defined(MG_LPF_FACTOR) mgSmooth[axis] = (mgSmooth[axis] * (MG_LPF_FACTOR - 1) + magADC[axis]) / MG_LPF_FACTOR; // LPF for Magnetometer values @@ -208,7 +198,7 @@ static void getEstimatedAttitude(void) #endif } } - accMag = accMag * 100 / ((int32_t) acc_1G * acc_1G); + accMag = accMag * 100 / ((int32_t)acc_1G * acc_1G); rotateV(&EstG.V, deltaGyroAngle); if (sensors(SENSOR_MAG)) { @@ -223,18 +213,12 @@ static void getEstimatedAttitude(void) // Apply complimentary filter (Gyro drift correction) // If accel magnitude >1.4G or <0.6G and ACC vector outside of the limit range => we neutralize the effect of accelerometers in the angle estimation. // To do that, we just skip filter, as EstV already rotated by Gyro - if ((36 < accMag && accMag < 196) || smallAngle25) + if ((36 < accMag && accMag < 196) || smallAngle25) { for (axis = 0; axis < 3; axis++) { - int16_t acc = ACC_VALUE; -#if !defined(TRUSTED_ACCZ) - if (smallAngle25 && axis == YAW) - //We consider ACCZ = acc_1G when the acc on other axis is small. - //It's a tweak to deal with some configs where ACC_Z tends to a value < acc_1G when high throttle is applied. - //This tweak applies only when the multi is not in inverted position - acc = acc_1G; -#endif + int16_t acc = accSmooth[axis]; EstG.A[axis] = (EstG.A[axis] * GYR_CMPF_FACTOR + acc) * INV_GYR_CMPF_FACTOR; } + } if (sensors(SENSOR_MAG)) { for (axis = 0; axis < 3; axis++) @@ -246,53 +230,8 @@ static void getEstimatedAttitude(void) angle[PITCH] = _atan2f(EstG.V.Y, EstG.V.Z); if (sensors(SENSOR_MAG)) { -#define GHETTO - -#ifdef GHETTO // Attitude of the cross product vector GxM heading = _atan2f(EstG.V.X * EstM.V.Z - EstG.V.Z * EstM.V.X, EstG.V.Z * EstM.V.Y - EstG.V.Y * EstM.V.Z) / 10; -#else - static float Cos_Roll, Sin_Roll, Cos_Pitch, Sin_Pitch; - static float Mx1, My1, Mz1, xh, yh; - static float rollRadians; - static float pitchRadians; - - // proper tilt compensation - // Get pitch and roll in radians - rollRadians = angle[ROLL] / 1800.0 * M_PI; - pitchRadians = angle[PITCH] /1800.0 * M_PI; - - //rollRadians = _atan2f(accADC[ROLL], accADC[YAW])/1800.0*M_PI; - //pitchRadians = _atan2f(accADC[PITCH], accADC[YAW])/1800.0*M_PI; - - // Mx2 and My2 are the corrected values - // Mx1, My1 and Mz1 are the floating point values from the mag sensor - //Mx1 = magADC[ROLL]; - //My1 = magADC[PITCH]; - //Mz1 = magADC[YAW]; - - Mx1 = EstM.V.X; - My1 = EstM.V.Y; - Mz1 = EstM.V.Z; - - // These are used more than once, so pre-calculate for efficiency - Cos_Roll = cosf(rollRadians); - Cos_Pitch = cosf(pitchRadians); - Sin_Roll = sinf(rollRadians); - Sin_Pitch = sinf(pitchRadians); - - // The tilt-compensation equations are as follows - //X_h=X*cos(pitch)+Y*sin(roll)sin(pitch)-Z*cos(roll)*sin(pitch) - //Y_h=Y*cos(roll)+Z*sin(roll) - xh = (Mx1 * Cos_Pitch) + (My1 * Sin_Roll * Sin_Pitch) - (Mz1 * Sin_Pitch * Cos_Roll); // Correct x axis - yh = (My1 * Cos_Roll) + (Mz1 * Sin_Roll); // Correct y axis - - // Tilt-adjusted heading in degrees - heading = _atan2f(yh, xh) / 10; - - - -#endif } } @@ -332,7 +271,7 @@ void getEstimatedAltitude(void) //D temp32 = cfg.D8[PIDALT] * (BaroHigh - BaroLow) / 40; BaroPID -= temp32; - + EstAlt = BaroHigh * 10 / (BARO_TAB_SIZE / 2); temp32 = AltHold - EstAlt; @@ -341,7 +280,7 @@ void getEstimatedAltitude(void) // P BaroPID += cfg.P8[PIDALT] * constrain(temp32, (-2) * cfg.P8[PIDALT], 2 * cfg.P8[PIDALT]) / 100; BaroPID = constrain(BaroPID, -150, +150); // sum of P and D should be in range 150 - + // I errorAltitudeI += temp32 * cfg.I8[PIDALT] / 50; errorAltitudeI = constrain(errorAltitudeI, -30000, 30000); diff --git a/src/main.c b/src/main.c index 56d361852..9a32acbd8 100755 --- a/src/main.c +++ b/src/main.c @@ -2,6 +2,11 @@ #include "mw.h" extern uint8_t useServo; +extern rcReadRawDataPtr rcReadRawFunc; + +// two receiver read functions +extern uint16_t pwmReadRawRC(uint8_t chan); +extern uint16_t spektrumReadRawRC(uint8_t chan); void throttleCalibration(void) { @@ -48,9 +53,12 @@ int main(void) mixerInit(); // this will set useServo var depending on mixer type // pwmInit returns true if throttle calibration is requested. if so, do it here. throttleCalibration() does NOT return - for safety. - if (pwmInit(feature(FEATURE_PPM), useServo, feature(FEATURE_DIGITAL_SERVO))) + if (pwmInit(feature(FEATURE_PPM), !feature(FEATURE_SPEKTRUM), useServo, feature(FEATURE_DIGITAL_SERVO))) throttleCalibration(); // noreturn + // configure PWM/CPPM read function. spektrum will override that + rcReadRawFunc = pwmReadRawRC; + LED1_ON; LED0_OFF; for (i = 0; i < 10; i++) { @@ -72,9 +80,15 @@ int main(void) if (feature(FEATURE_VBAT)) batteryInit(); - // Optional GPS - available only when using PPM, otherwise required pins won't be usable - if (feature(FEATURE_PPM) && feature(FEATURE_GPS)) - gpsInit(); + if (feature(FEATURE_SPEKTRUM)) { + spektrumInit(); + rcReadRawFunc = spektrumReadRawRC; + } else { + // spektrum and GPS are mutually exclusive + // Optional GPS - available only when using PPM, otherwise required pins won't be usable + if (feature(FEATURE_PPM) && feature(FEATURE_GPS)) + gpsInit(); + } previousTime = micros(); calibratingG = 400; diff --git a/src/mixer.c b/src/mixer.c index 4759b851a..b9b81b026 100755 --- a/src/mixer.c +++ b/src/mixer.c @@ -101,7 +101,7 @@ void mixTable(void) static uint8_t camCycle = 0; static uint8_t camState = 0; static uint32_t camTime = 0; - + if (numberMotor > 3) { //prevent "yaw jump" during yaw correction axisPID[YAW] = constrain(axisPID[YAW], -100 - abs(rcCommand[YAW]), +100 + abs(rcCommand[YAW])); @@ -115,7 +115,7 @@ void mixTable(void) servo[4] = constrain(1500 + (cfg.yaw_direction * axisPID[YAW]) + axisPID[PITCH], 1020, 2000); //LEFT servo[5] = constrain(1500 + (cfg.yaw_direction * axisPID[YAW]) - axisPID[PITCH], 1020, 2000); //RIGHT break; - + case MULTITYPE_TRI: motor[0] = PIDMIX(0, +4 / 3, 0); //REAR motor[1] = PIDMIX(-1, -2 / 3, 0); //RIGHT @@ -143,7 +143,7 @@ void mixTable(void) motor[2] = PIDMIX(+0, +1, +1); //REAR_2 CCW motor[3] = PIDMIX(+1, -1, 0); //FRONT_L CW break; - + case MULTITYPE_Y6: motor[0] = PIDMIX(+0, +4 / 3, +1); //REAR motor[1] = PIDMIX(-1, -2 / 3, -1); //RIGHT @@ -229,7 +229,7 @@ void mixTable(void) servo[1] = constrain(servo[1] + cfg.wing_right_mid, WING_RIGHT_MIN, WING_RIGHT_MAX); break; } - + // do camstab if (feature(FEATURE_SERVO_TILT)) { servo[0] = TILT_PITCH_MIDDLE + rcData[AUX3] - 1500; diff --git a/src/mw.c b/src/mw.c index 9bab82005..e54f8e63d 100755 --- a/src/mw.c +++ b/src/mw.c @@ -1,7 +1,7 @@ #include "board.h" #include "mw.h" -// March 2012 V2.0_pre_version_3 +// March 2012 V2.0 #define CHECKBOXITEMS 11 #define PIDITEMS 8 @@ -22,19 +22,12 @@ uint8_t vbat; // battery voltage in 0.1V steps volatile int16_t failsafeCnt = 0; int16_t failsafeEvents = 0; -int16_t rcData[8]; // interval [1000;2000] +int16_t rcData[8] = { 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500 }; // interval [1000;2000] int16_t rcCommand[4]; // interval [1000;2000] for THROTTLE and [-500;+500] for ROLL/PITCH/YAW -//uint8_t rcRate8; -//uint8_t rcExpo8; -int16_t lookupRX[7]; // lookup table for expo & RC rate +int16_t lookupRX[7]; // lookup table for expo & RC rate +rcReadRawDataPtr rcReadRawFunc = NULL; // receive data from default (pwm/ppm) or additional (spek/sbus/?? receiver drivers) -// uint8_t P8[8], I8[8], D8[8]; //8 bits is much faster and the code is much shorter uint8_t dynP8[3], dynI8[3], dynD8[3]; -// uint8_t rollPitchRate; -// uint8_t yawRate; -// uint8_t dynThrPID; -// uint8_t activate1[CHECKBOXITEMS]; -// uint8_t activate2[CHECKBOXITEMS]; uint8_t rcOptions[CHECKBOXITEMS]; uint8_t okToArm = 0; uint8_t accMode = 0; // if level mode is a activated @@ -42,7 +35,6 @@ uint8_t magMode = 0; // if compass heading hold is a activated uint8_t baroMode = 0; // if altitude hold is activated int16_t axisPID[3]; -volatile uint16_t rcValue[18] = { 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502 }; // interval [1000;2000] // ********************** // GPS @@ -60,7 +52,6 @@ uint16_t GPS_altitude, GPS_speed; // altitude in 0.1m and speed in 0.1m/s uint8_t GPS_update = 0; // it's a binary toogle to distinct a GPS position update int16_t GPS_angle[2]; // it's the angles that must be applied for GPS correction - //Automatic ACC Offset Calibration // ********************** uint16_t InflightcalibratingA = 0; @@ -76,7 +67,6 @@ uint16_t AccInflightCalibrationActive = 0; uint32_t pMeter[PMOTOR_SUM + 1]; // we use [0:7] for eight motors,one extra for sum uint8_t pMeterV; // dummy to satisfy the paramStruct logic in ConfigurationLoop() uint32_t pAlarm; // we scale the eeprom value from [0:255] to this value we can directly compare to the sum in pMeter[6] -// uint8_t powerTrigger1 = 0; uint16_t powerValue = 0; // last known current uint16_t intPowerMeterSum, intPowerTrigger1; uint8_t batteryCellCount = 3; // cell count @@ -119,7 +109,7 @@ void annexCode(void) static uint16_t vbatRawArray[8]; uint8_t i; - //PITCH & ROLL only dynamic PID adjustemnt, depending on throttle value + // PITCH & ROLL only dynamic PID adjustemnt, depending on throttle value if (rcData[THROTTLE] < 1500) { prop2 = 100; } else if (rcData[THROTTLE] < 2000) { @@ -141,20 +131,20 @@ void annexCode(void) uint16_t tmp2 = tmp / 100; rcCommand[axis] = lookupRX[tmp2] + (tmp - tmp2 * 100) * (lookupRX[tmp2 + 1] - lookupRX[tmp2]) / 100; prop1 = 100 - (uint16_t) cfg.rollPitchRate * tmp / 500; - prop1 = (uint16_t) prop1 *prop2 / 100; + prop1 = (uint16_t)prop1 * prop2 / 100; } else { //YAW rcCommand[axis] = tmp; - prop1 = 100 - (uint16_t) cfg.yawRate * tmp / 500; + prop1 = 100 - (uint16_t)cfg.yawRate * tmp / 500; } - dynP8[axis] = (uint16_t) cfg.P8[axis] * prop1 / 100; - dynD8[axis] = (uint16_t) cfg.D8[axis] * prop1 / 100; + dynP8[axis] = (uint16_t)cfg.P8[axis] * prop1 / 100; + dynD8[axis] = (uint16_t)cfg.D8[axis] * prop1 / 100; if (rcData[axis] < cfg.midrc) rcCommand[axis] = -rcCommand[axis]; } - rcCommand[THROTTLE] = cfg.minthrottle + (int32_t) (cfg.maxthrottle - cfg.minthrottle) * (rcData[THROTTLE] - cfg.mincheck) / (2000 - cfg.mincheck); + rcCommand[THROTTLE] = cfg.minthrottle + (int32_t)(cfg.maxthrottle - cfg.minthrottle) * (rcData[THROTTLE] - cfg.mincheck) / (2000 - cfg.mincheck); if (headFreeMode) { - float radDiff = (heading - headFreeModeHold) * 0.0174533f; // where PI/180 ~= 0.0174533 + float radDiff = (heading - headFreeModeHold) * M_PI / 180.0f; float cosDiff = cosf(radDiff); float sinDiff = sinf(radDiff); int16_t rcCommand_PITCH = rcCommand[PITCH] * cosDiff + rcCommand[ROLL] * sinDiff; @@ -274,7 +264,7 @@ void annexCode(void) } } -uint16_t readRawRC(uint8_t chan) +uint16_t pwmReadRawRC(uint8_t chan) { uint16_t data; @@ -292,12 +282,9 @@ void computeRC(void) static uint8_t rc4ValuesIndex = 0; uint8_t chan, a; -#if defined(SBUS) - readSBus(); -#endif rc4ValuesIndex++; for (chan = 0; chan < 8; chan++) { - rcData4Values[chan][rc4ValuesIndex % 4] = readRawRC(chan); + rcData4Values[chan][rc4ValuesIndex % 4] = rcReadRawFunc(chan); rcDataMean[chan] = 0; for (a = 0; a < 4; a++) rcDataMean[chan] += rcData4Values[chan][a]; @@ -324,16 +311,15 @@ void loop(void) static uint32_t rcTime = 0; static int16_t initialThrottleHold; -#if defined(SPEKTRUM) - if (rcFrameComplete) + // this will return false if spektrum is disabled. shrug. + if (spektrumFrameComplete()) computeRC(); -#endif if (currentTime > rcTime) { // 50Hz rcTime = currentTime + 20000; -#if !(defined(SPEKTRUM) ||defined(BTSERIAL)) - computeRC(); -#endif + // TODO clean this up. computeRC should handle this check + if (!feature(FEATURE_SPEKTRUM)) + computeRC(); // Failsafe routine - added by MIS #if defined(FAILSAFE) if (failsafeCnt > (5 * FAILSAVE_DELAY) && armed == 1) { // Stabilize, and set Throttle to specified level @@ -376,7 +362,7 @@ void loop(void) } } else if (feature(FEATURE_INFLIGHT_ACC_CAL) && (armed == 0 && rcData[YAW] < cfg.mincheck && rcData[PITCH] > cfg.maxcheck && rcData[ROLL] > cfg.maxcheck)) { if (rcDelayCommand == 20) { - if (AccInflightCalibrationMeasurementDone) { //trigger saving into eeprom after landing + if (AccInflightCalibrationMeasurementDone) { // trigger saving into eeprom after landing AccInflightCalibrationMeasurementDone = 0; AccInflightCalibrationSavetoEEProm = 1; } else { @@ -395,12 +381,10 @@ void loop(void) } else if (armed) armed = 0; rcDelayCommand = 0; - } else if ((rcData[YAW] < cfg.mincheck || rcData[ROLL] < cfg.mincheck) - && armed == 1) { + } else if ((rcData[YAW] < cfg.mincheck || rcData[ROLL] < cfg.mincheck) && armed == 1) { if (rcDelayCommand == 20) armed = 0; // rcDelayCommand = 20 => 20x20ms = 0.4s = time to wait for a specific RC command to be acknowledged - } else if ((rcData[YAW] > cfg.maxcheck || rcData[ROLL] > cfg.maxcheck) - && rcData[PITCH] < cfg.maxcheck && armed == 0 && calibratingG == 0 && calibratedACC == 1) { + } else if ((rcData[YAW] > cfg.maxcheck || rcData[ROLL] > cfg.maxcheck) && rcData[PITCH] < cfg.maxcheck && armed == 0 && calibratingG == 0 && calibratedACC == 1) { if (rcDelayCommand == 20) { armed = 1; headFreeModeHold = heading; @@ -418,11 +402,11 @@ void loop(void) } else rcDelayCommand = 0; } else if (rcData[THROTTLE] > cfg.maxcheck && armed == 0) { - if (rcData[YAW] < cfg.mincheck && rcData[PITCH] < cfg.mincheck) { //throttle=max, yaw=left, pitch=min + if (rcData[YAW] < cfg.mincheck && rcData[PITCH] < cfg.mincheck) { // throttle=max, yaw=left, pitch=min if (rcDelayCommand == 20) calibratingA = 400; rcDelayCommand++; - } else if (rcData[YAW] > cfg.maxcheck && rcData[PITCH] < cfg.mincheck) { //throttle=max, yaw=right, pitch=min + } else if (rcData[YAW] > cfg.maxcheck && rcData[PITCH] < cfg.mincheck) { // throttle=max, yaw=right, pitch=min if (rcDelayCommand == 20) calibratingM = 1; // MAG calibration request rcDelayCommand++; @@ -462,7 +446,7 @@ void loop(void) InflightcalibratingA = 50; AccInflightCalibrationArmed = 0; } - if (rcOptions[BOXPASSTHRU]) { //Use the Passthru Option to activate : Passthru = TRUE Meausrement started, Land and passtrhu = 0 measurement stored + if (rcOptions[BOXPASSTHRU]) { // Use the Passthru Option to activate : Passthru = TRUE Meausrement started, Land and passtrhu = 0 measurement stored if (!AccInflightCalibrationArmed) { AccInflightCalibrationArmed = 1; InflightcalibratingA = 50; @@ -479,7 +463,7 @@ void loop(void) || (((rcData[AUX3] < 1300) | (1300 < rcData[AUX3] && rcData[AUX3] < 1700) << 1 | (rcData[AUX3] > 1700) << 2 | (rcData[AUX4] < 1300) << 3 | (1300 < rcData[AUX4] && rcData[AUX4] < 1700) << 4 | (rcData[AUX4] > 1700) << 5) & cfg.activate2[i]); } - //note: if FAILSAFE is disable, failsafeCnt > 5*FAILSAVE_DELAY is always false + // note: if FAILSAFE is disable, failsafeCnt > 5*FAILSAVE_DELAY is always false if ((rcOptions[BOXACC] || (failsafeCnt > 5 * FAILSAVE_DELAY)) && (sensors(SENSOR_ACC))) { // bumpless transfer to Level mode if (!accMode) { @@ -547,7 +531,7 @@ void loop(void) } else passThruMode = 0; } else { // not in rc loop - static int8_t taskOrder = 0; //never call all function in the same loop, to avoid high delay spikes + static int8_t taskOrder = 0; // never call all function in the same loop, to avoid high delay spikes switch (taskOrder) { case 0: taskOrder++; @@ -570,7 +554,6 @@ void loop(void) GPS_NewData(); #endif break; - default: taskOrder = 0; break; @@ -578,12 +561,11 @@ void loop(void) } computeIMU(); - // Measure loop rate just afer reading the sensors currentTime = micros(); cycleTime = currentTime - previousTime; previousTime = currentTime; - + mpu6050DmpLoop(); if (sensors(SENSOR_MAG)) { @@ -625,37 +607,38 @@ void loop(void) GPS_dist = GPS_distanceToHold; GPS_dir = GPS_directionToHold; } - radDiff = (GPS_dir - heading) * 0.0174533f; - GPS_angle[ROLL] = constrain(cfg.P8[PIDGPS] * sin(radDiff) * GPS_dist / 10, -cfg.D8[PIDGPS] * 10, +cfg.D8[PIDGPS] * 10); // with P=5.0, a distance of 1 meter = 0.5deg inclination - GPS_angle[PITCH] = constrain(cfg.P8[PIDGPS] * cos(radDiff) * GPS_dist / 10, -cfg.D8[PIDGPS] * 10, +cfg.D8[PIDGPS] * 10); // max inclination = D deg + radDiff = (GPS_dir - heading) * M_PI / 180.0f; + GPS_angle[ROLL] = constrain(cfg.P8[PIDGPS] * sinf(radDiff) * GPS_dist / 10, -cfg.D8[PIDGPS] * 10, +cfg.D8[PIDGPS] * 10); // with P=5.0, a distance of 1 meter = 0.5deg inclination + GPS_angle[PITCH] = constrain(cfg.P8[PIDGPS] * cosf(radDiff) * GPS_dist / 10, -cfg.D8[PIDGPS] * 10, +cfg.D8[PIDGPS] * 10); // max inclination = D deg } } - //**** PITCH & ROLL & YAW PID **** + + // **** PITCH & ROLL & YAW PID **** for (axis = 0; axis < 3; axis++) { - if (accMode == 1 && axis < 2) { //LEVEL MODE + if (accMode == 1 && axis < 2) { // LEVEL MODE // 50 degrees max inclination errorAngle = constrain(2 * rcCommand[axis] - GPS_angle[axis], -500, +500) - angle[axis] + cfg.accTrim[axis]; //16 bits is ok here #ifdef LEVEL_PDF - PTerm = -(int32_t) angle[axis] * cfg.P8[PIDLEVEL] / 100; + PTerm = -(int32_t)angle[axis] * cfg.P8[PIDLEVEL] / 100; #else - PTerm = (int32_t) errorAngle * cfg.P8[PIDLEVEL] / 100; //32 bits is needed for calculation: errorAngle*P8[PIDLEVEL] could exceed 32768 16 bits is ok for result + PTerm = (int32_t)errorAngle * cfg.P8[PIDLEVEL] / 100; //32 bits is needed for calculation: errorAngle*P8[PIDLEVEL] could exceed 32768 16 bits is ok for result #endif PTerm = constrain(PTerm, -cfg.D8[PIDLEVEL] * 5, +cfg.D8[PIDLEVEL] * 5); - errorAngleI[axis] = constrain(errorAngleI[axis] + errorAngle, -10000, +10000); //WindUp //16 bits is ok here - ITerm = ((int32_t) errorAngleI[axis] * cfg.I8[PIDLEVEL]) >> 12; //32 bits is needed for calculation:10000*I8 could exceed 32768 16 bits is ok for result - } else { //ACRO MODE or YAW axis - error = (int32_t) rcCommand[axis] * 10 * 8 / cfg.P8[axis]; //32 bits is needed for calculation: 500*5*10*8 = 200000 16 bits is ok for result if P8>2 (P>0.2) + errorAngleI[axis] = constrain(errorAngleI[axis] + errorAngle, -10000, +10000); // WindUp // 16 bits is ok here + ITerm = ((int32_t)errorAngleI[axis] * cfg.I8[PIDLEVEL]) >> 12; // 32 bits is needed for calculation:10000*I8 could exceed 32768 16 bits is ok for result + } else { // ACRO MODE or YAW axis + error = (int32_t)rcCommand[axis] * 10 * 8 / cfg.P8[axis]; //32 bits is needed for calculation: 500*5*10*8 = 200000 16 bits is ok for result if P8>2 (P>0.2) error -= gyroData[axis]; PTerm = rcCommand[axis]; - errorGyroI[axis] = constrain(errorGyroI[axis] + error, -16000, +16000); //WindUp //16 bits is ok here + errorGyroI[axis] = constrain(errorGyroI[axis] + error, -16000, +16000); // WindUp // 16 bits is ok here if (abs(gyroData[axis]) > 640) errorGyroI[axis] = 0; ITerm = (errorGyroI[axis] / 125 * cfg.I8[axis]) >> 6; // 16 bits is ok here 16000/125 = 128 ; 128*250 = 32000 } - PTerm -= (int32_t) gyroData[axis] * dynP8[axis] / 10 / 8; // 32 bits is needed for calculation + PTerm -= (int32_t)gyroData[axis] * dynP8[axis] / 10 / 8; // 32 bits is needed for calculation delta = gyroData[axis] - lastGyro[axis]; //16 bits is ok here, the dif between 2 consecutive gyro reads is limited to 800 lastGyro[axis] = gyroData[axis]; @@ -663,7 +646,7 @@ void loop(void) delta2[axis] = delta1[axis]; delta1[axis] = delta; - DTerm = ((int32_t) deltaSum * dynD8[axis]) >> 5; //32 bits is needed for calculation + DTerm = ((int32_t)deltaSum * dynD8[axis]) >> 5; //32 bits is needed for calculation axisPID[axis] = PTerm + ITerm - DTerm; } diff --git a/src/mw.h b/src/mw.h index 6d0cffa21..5b2cb132b 100755 --- a/src/mw.h +++ b/src/mw.h @@ -60,7 +60,7 @@ //#define MMSERVOGIMBAL // Active Output Moving Average Function for Servos Gimbal //#define MMSERVOGIMBALVECTORLENGHT 32 // Lenght of Moving Average Vector -#define VERSION 203 +#define VERSION 20 // Syncronized with GUI. Only exception is mixer > 11, which is always returned as 11 during serialization. typedef enum MultiType @@ -142,6 +142,10 @@ typedef struct config_t { int16_t accZero[3]; int16_t magZero[3]; int16_t accTrim[2]; + + // sensor-related stuff + uint8_t acc_lpf_factor; // Set the Low Pass Filter factor for ACC. Increasing this value would reduce ACC noise (visible in GUI), but would increase ACC lag time. Zero = no filter + uint16_t gyro_lpf; // mpuX050 LPF setting uint32_t gyro_smoothing_factor; // How much to smoothen with per axis (32bit value with Roll, Pitch, Yaw in bits 24, 16, 8 respectively uint8_t activate1[CHECKBOXITEMS]; @@ -154,6 +158,7 @@ typedef struct config_t { // Radio/ESC-related configuration uint8_t rcmap[8]; // mapping of radio channels to internal RPYTA+ order uint8_t deadband; // introduce a deadband around the stick center. Must be greater than zero + uint8_t spektrum_hires; // spektrum high-resolution y/n (1024/2048bit) uint16_t midrc; // Some radios have not a neutral point centered on 1500. can be changed here uint16_t mincheck; // minimum rc end uint16_t maxcheck; // maximum rc end @@ -278,6 +283,10 @@ void featureClear(uint32_t mask); void featureClearAll(void); uint32_t featureMask(void); +// spektrum +void spektrumInit(void); +bool spektrumFrameComplete(void); + // cli void cliProcess(void); diff --git a/src/sensors.c b/src/sensors.c index 113dccd5b..69f8c2eb8 100755 --- a/src/sensors.c +++ b/src/sensors.c @@ -45,6 +45,8 @@ void sensorsAutodetect(void) } // this is safe because either mpu6050 or mpu3050 sets it, and in case of fail, none do. gyro.init(); + // todo: this is driver specific :( + mpu3050Config(cfg.gyro_lpf); } uint16_t batteryAdcToVoltage(uint16_t src) @@ -59,6 +61,7 @@ void batteryInit(void) uint8_t i; uint32_t voltage = 0; + // average up some voltage readings for (i = 0; i < 32; i++) { voltage += adcGetBattery(); delay(10); @@ -68,8 +71,8 @@ void batteryInit(void) // autodetect cell count, going from 2S..6S for (i = 2; i < 6; i++) { - if (voltage < i * cfg.vbatmaxcellvoltage) - break; + if (voltage < i * cfg.vbatmaxcellvoltage) + break; } batteryCellCount = i; batteryWarningVoltage = i * cfg.vbatmincellvoltage; // 3.3V per cell minimum, configurable in CLI @@ -102,12 +105,12 @@ static void ACC_Common(void) } calibratingA--; } - + if (feature(FEATURE_INFLIGHT_ACC_CAL)) { static int32_t b[3]; static int16_t accZero_saved[3] = { 0, 0, 0 }; static int16_t accTrim_saved[2] = { 0, 0 }; - //Saving old zeropoints before measurement + // Saving old zeropoints before measurement if (InflightcalibratingA == 50) { accZero_saved[ROLL] = cfg.accZero[ROLL]; accZero_saved[PITCH] = cfg.accZero[PITCH]; @@ -127,7 +130,7 @@ static void ACC_Common(void) accADC[axis] = 0; cfg.accZero[axis] = 0; } - //all values are measured + // all values are measured if (InflightcalibratingA == 1) { AccInflightCalibrationActive = 0; AccInflightCalibrationMeasurementDone = 1; @@ -142,7 +145,7 @@ static void ACC_Common(void) InflightcalibratingA--; } // Calculate average, shift Z down by acc_1G and store values in EEPROM at end of calibration - if (AccInflightCalibrationSavetoEEProm == 1) { //the copter is landed, disarmed and the combo has been done again + if (AccInflightCalibrationSavetoEEProm == 1) { // the copter is landed, disarmed and the combo has been done again AccInflightCalibrationSavetoEEProm = 0; cfg.accZero[ROLL] = b[ROLL] / 50; cfg.accZero[PITCH] = b[PITCH] / 50; @@ -158,7 +161,6 @@ static void ACC_Common(void) accADC[YAW] -= cfg.accZero[YAW]; } - void ACC_getADC(void) { acc.read(accADC); @@ -171,12 +173,11 @@ static uint32_t baroDeadline = 0; static uint8_t baroState = 0; static uint16_t baroUT = 0; static uint32_t baroUP = 0; -static int16_t baroTemp = 0; void Baro_update(void) { int32_t pressure; - + if (currentTime < baroDeadline) return; @@ -199,9 +200,8 @@ void Baro_update(void) break; case 3: baroUP = bmp085_get_up(); - baroTemp = bmp085_get_temperature(baroUT); + bmp085_get_temperature(baroUT); pressure = bmp085_get_pressure(baroUP); - BaroAlt = (1.0f - pow(pressure / 101325.0f, 0.190295f)) * 4433000.0f; // centimeter baroState = 0; baroDeadline += 5000; @@ -214,7 +214,7 @@ static void GYRO_Common(void) static int16_t previousGyroADC[3] = { 0, 0, 0 }; static int32_t g[3]; uint8_t axis; - + #if defined MMGYRO // Moving Average Gyros by Magnetron1 //--------------------------------------------------- @@ -242,7 +242,7 @@ static void GYRO_Common(void) calibratingG--; } -#ifdef MMGYRO +#ifdef MMGYRO mediaMobileGyroIDX = ++mediaMobileGyroIDX % MMGYROVECTORLENGTH; for (axis = 0; axis < 3; axis++) { gyroADC[axis] -= gyroZero[axis]; @@ -329,9 +329,7 @@ void Mag_getADC(void) } calibratingM = 0; } - magADC[ROLL] = magADC[ROLL] * magCal[ROLL]; - magADC[PITCH] = magADC[PITCH] * magCal[PITCH]; - magADC[YAW] = magADC[YAW] * magCal[YAW]; + if (magInit) { // we apply offset only once mag calibration is done magADC[ROLL] -= cfg.magZero[ROLL]; magADC[PITCH] -= cfg.magZero[PITCH]; diff --git a/src/spektrum.c b/src/spektrum.c new file mode 100644 index 000000000..be7196073 --- /dev/null +++ b/src/spektrum.c @@ -0,0 +1,90 @@ +#include "board.h" +#include "mw.h" + +// driver for spektrum satellite receiver / sbus using UART2 (freeing up more motor outputs for stuff) + +#define SPEK_MAX_CHANNEL 7 +#define SPEK_FRAME_SIZE 16 +static uint8_t spek_chan_shift; +static uint8_t spek_chan_mask; +static bool rcFrameComplete = false; +static bool spekDataIncoming = false; +volatile uint8_t spekFrame[SPEK_FRAME_SIZE]; + +static void spektrumDataReceive(uint16_t c); + +void spektrumInit(void) +{ + if (cfg.spektrum_hires) { + // 11 bit frames + spek_chan_shift = 3; + spek_chan_mask = 0x07; + } else { + // 10 bit frames + spek_chan_shift = 2; + spek_chan_mask = 0x03; + } + + uart2Init(115200, spektrumDataReceive); +} + +// UART2 Receive ISR callback +static void spektrumDataReceive(uint16_t c) +{ + uint32_t spekTime; + static uint32_t spekTimeLast, spekTimeInterval; + static uint8_t spekFramePosition; + + spekDataIncoming = true; + spekTime = micros(); + spekTimeInterval = spekTime - spekTimeLast; + spekTimeLast = spekTime; + if (spekTimeInterval > 5000) + spekFramePosition = 0; + spekFrame[spekFramePosition] = (uint8_t)c; + if (spekFramePosition == SPEK_FRAME_SIZE - 1) { + rcFrameComplete = true; +#if defined(FAILSAFE) + if(failsafeCnt > 20) + failsafeCnt -= 20; + else + failsafeCnt = 0; // clear FailSafe counter +#endif + } else { + spekFramePosition++; + } +} + +bool spektrumFrameComplete(void) +{ + return rcFrameComplete; +} + +static const uint8_t spekRcChannelMap[SPEK_MAX_CHANNEL] = {1, 2, 3, 0, 4, 5, 6}; + +uint16_t spektrumReadRawRC(uint8_t chan) +{ + uint16_t data; + static uint32_t spekChannelData[SPEK_MAX_CHANNEL]; + uint8_t b; + + if (rcFrameComplete) { + for (b = 3; b < SPEK_FRAME_SIZE; b += 2) { + uint8_t spekChannel = 0x0F & (spekFrame[b - 1] >> spek_chan_shift); + if (spekChannel < SPEK_MAX_CHANNEL) + spekChannelData[spekChannel] = ((uint32_t)(spekFrame[b - 1] & spek_chan_mask) << 8) + spekFrame[b]; + } + rcFrameComplete = false; + } + + if (chan >= SPEK_MAX_CHANNEL || !spekDataIncoming) { + data = 1500; + } else { + if (cfg.spektrum_hires) + data = 988 + (spekChannelData[spekRcChannelMap[chan]] >> 1); // 2048 mode + else + data = 988 + spekChannelData[spekRcChannelMap[chan]]; // 1024 mode + } + + return data; +}