From d59156fdf0d81fc362bb56e5404069234ee436a5 Mon Sep 17 00:00:00 2001 From: Erik Andresen Date: Sun, 24 May 2015 19:38:35 +0200 Subject: [PATCH] avr: fixes, pid tuning --- avr/motor_ctrl/main.c | 98 +++-- avr/motor_ctrl/main.hex | 909 ++++++++++++++++++++-------------------- 2 files changed, 526 insertions(+), 481 deletions(-) diff --git a/avr/motor_ctrl/main.c b/avr/motor_ctrl/main.c index 09a8a72..9d33c98 100644 --- a/avr/motor_ctrl/main.c +++ b/avr/motor_ctrl/main.c @@ -36,6 +36,15 @@ * 0x26 Motor 4 speed wish MSB * 0x27 Motor 4 speed wish LSB * free + * 0x30 Motor 1 speed MSB + * 0x31 Motor 1 speed LSB + * 0x32 Motor 2 speed MSB + * 0x33 Motor 2 speed LSB + * 0x34 Motor 3 speed MSB + * 0x35 Motor 3 speed LSB + * 0x36 Motor 4 speed MSB + * 0x37 Motor 4 speed LSB + * free * 0x90 Motor 1 switch * 0x91 Motor 2 switch * 0x92 Motor 3 switch @@ -49,10 +58,10 @@ #define TWI_RESET TWCR &= ~((1 << TWSTO) | (1 << TWEN)); TWI_ACK #define TWI_NAK TWCR = (1<>8; + TWI_ACK; + break; + case 0x31: // Motor 1 speed LSB + TWDR = speed1; + TWI_ACK; + break; + case 0x32: // Motor 2 speed MSB + TWDR = speed2>>8; + TWI_ACK; + break; + case 0x33: // Motor 2 speed LSB + TWDR = speed2; + TWI_ACK; + break; + case 0x34: // Motor 3 speed MSB + TWDR = speed3>>8; + TWI_ACK; + break; + case 0x35: // Motor 3 speed LSB + TWDR = speed3; + TWI_ACK; + break; + case 0x36: // Motor 4 speed MSB + TWDR = speed4>>8; + TWI_ACK; + break; + case 0x37: // Motor 4 speed LSB + TWDR = speed4; + TWI_ACK; + break; default: TWDR = 0; TWI_NAK; @@ -319,7 +360,7 @@ static void update_hall1(void) { static void update_hall2(void) { - unsigned char status = (PINA >> 2) & 0x3; + unsigned char status = (PINA >> 4) & 0x3; static unsigned char oldstatus=0; unsigned char diff, new; @@ -331,14 +372,14 @@ static void update_hall2(void) { diff = oldstatus - new; // difference last - new if (diff & 0x1) { // bit 0 = value (1) oldstatus = new; // store new as next last - if (motor2_switch) pos2 += (diff & 2) - 1; // bit 1 = direction (+/-) - else pos2 -= (diff & 2) - 1; + if (motor2_switch) pos2 -= (diff & 2) - 1; // bit 1 = direction (+/-) + else pos2 += (diff & 2) - 1; } } static void update_hall3(void) { - unsigned char status = (PINA >> 4) & 0x3; + unsigned char status = (PINA >> 2) & 0x3; static unsigned char oldstatus=0; unsigned char diff, new; @@ -350,8 +391,8 @@ static void update_hall3(void) { diff = oldstatus - new; // difference last - new if (diff & 0x1) { // bit 0 = value (1) oldstatus = new; // store new as next last - if (motor3_switch) pos3 += (diff & 2) - 1; // bit 1 = direction (+/-) - else pos3 -= (diff & 2) - 1; + if (motor3_switch) pos3 -= (diff & 2) - 1; // bit 1 = direction (+/-) + else pos3 += (diff & 2) - 1; } } @@ -465,73 +506,66 @@ void update_pid(void) { static int32_t esum3=0; static int32_t esum4=0; - if (motor1_mode == MOTOR_PID) { - speed1 = (pos1 - pos1_last)/TIMER0_T; + speed1 = (pos1 - pos1_last)/TIMER1_T; + pos1_last = pos1; + speed2 = (pos2 - pos2_last)/TIMER1_T; + pos2_last = pos2; + speed3 = (pos3 - pos3_last)/TIMER1_T; + pos3_last = pos3; + speed4 = (pos4 - pos4_last)/TIMER1_T; + pos4_last = pos4; + if (motor1_mode == MOTOR_PID) { if (speed1_wish == 0) { motor1 = 0; } else { int16_t e = speed1_wish - speed1; esum1+=e; - motor1 += KP*e + KI*TIMER0_T*esum1 + KD/TIMER0_T*(e - eold1); + motor1 += KP*e + KI*TIMER1_T*esum1 + KD/TIMER1_T*(e - eold1); eold1 = e; if (motor1 > 255) motor1 = 255; else if (motor1 < -255) motor1 = -255; } - - pos1_last = pos1; } if (motor2_mode == MOTOR_PID) { - speed2 = (pos2 - pos2_last)/TIMER0_T; - if (speed2_wish == 0) { motor2 = 0; } else { int16_t e = speed2_wish - speed2; esum2+=e; - motor2 += KP*e + KI*TIMER0_T*esum2 + KD/TIMER0_T*(e - eold2); + motor2 += KP*e + KI*TIMER1_T*esum2 + KD/TIMER1_T*(e - eold2); eold2 = e; if (motor2 > 255) motor2 = 255; else if (motor2 < -255) motor2 = -255; } - - pos2_last = pos2; } if (motor3_mode == MOTOR_PID) { - speed3 = (pos3 - pos3_last)/TIMER0_T; - if (speed3_wish == 0) { motor3 = 0; } else { int16_t e = speed3_wish - speed3; esum3+=e; - motor3 += KP*e + KI*TIMER0_T*esum3 + KD/TIMER0_T*(e - eold3); + motor3 += KP*e + KI*TIMER1_T*esum3 + KD/TIMER1_T*(e - eold3); eold3 = e; if (motor3 > 255) motor3 = 255; else if (motor3 < -255) motor3 = -255; } - - pos3_last = pos3; } if (motor4_mode == MOTOR_PID) { - speed4 = (pos4 - pos4_last)/TIMER0_T; - if (speed4_wish == 0) { motor4 = 0; } else { int16_t e = speed4_wish - speed4; esum4+=e; - motor4 += KP*e + KI*TIMER0_T*esum4 + KD/TIMER0_T*(e - eold4); + motor4 += KP*e + KI*TIMER1_T*esum4 + KD/TIMER1_T*(e - eold4); eold4 = e; if (motor4 > 255) motor4 = 255; else if (motor4 < -255) motor4 = -255; } - - pos4_last = pos4; } } @@ -601,7 +635,7 @@ int main(void) { } - if (run_pid >= 781) { // ~20Hz + if (run_pid >= 156) { // ~100Hz run_pid=0; update_pid(); } diff --git a/avr/motor_ctrl/main.hex b/avr/motor_ctrl/main.hex index 1b859ba..b27fd69 100644 --- a/avr/motor_ctrl/main.hex +++ b/avr/motor_ctrl/main.hex @@ -1,450 +1,461 @@ -:100000000C945C000C9479000C9479000C947900A9 -:100010000C9479000C9479000C9479000C9479007C -:100020000C9479000C94F0040C9479000C947900F1 -:100030000C9479000C94CD050C9479000C94790003 -:100040000C9479000C9479000C9479000C947B004A -:100050000C9479007901C9017C01C9017F01C901B2 -:100060008101C901C901C901C901C901C901C90188 -:1000700083019C0188019C0192019C0197019C01D4 -:10008000C901C901C901C901C901C901C901C90120 -:100090009F01A401A901AE01B301B801BD01C201D4 -:1000A00045464765666700202B2D2E3031323334AC -:1000B000353637383968000011241FBECFE5D8E047 -:1000C000DEBFCDBF10E0A0E6B0E0E0EFFBE102C094 -:1000D00005900D92A837B107D9F721E0A8E7B0E065 -:1000E00001C01D92A034B207E1F70E94C2060C9431 -:1000F000F60D0C9400001F920F920FB60F92112470 -:100100002F938F939F93AF93BF93EF93FF9381B1FF -:10011000887F803881F040F4803609F043C185EC57 -:1001200086BF1092CA0043C1883A09F4D5C0883B03 -:1001300009F4D2C037C18091CA00813209F495C058 -:1001400068F5843009F479C060F4813009F4A7C0FF -:1001500008F45EC0823009F464C0833009F49FC0A3 -:1001600019C1873009F49BC090F4853009F497C019 -:10017000863009F00FC183B120919E0090E0922B50 -:100180009093C4008093C3001092B60000C18830E1 -:1001900009F45FC0803209F482C0FCC0873209F4E0 -:1001A00082C0F0F4843209F47AC098F4823209F4FF -:1001B00076C0833209F0EEC083B120919E0090E0BA -:1001C000922B9093AE008093AD0081E08093B700B6 -:1001D000DEC0853209F456C0863209F460C0DAC048 -:1001E000823909F471C050F4803909F469C0813949 -:1001F00009F0D0C083B18093B300C9C0833909F43A -:1002000067C08F3F09F0C6C083B18093C900C2C0E8 -:1002100083B18093CA008091CA0081508093CA0044 -:10022000B6C083B120919E0090E0922B9093C800BD -:100230008093C7001092B800AAC083B120919E009D -:1002400090E0922B9093C6008093C5001092B70067 -:100250009EC083B120919E0090E0922B9093C200AB -:100260008093C1001092B50092C083B120919E008E -:1002700090E0922B9093B0008093AF0081E0809348 -:10028000B80085C083B120919E0090E0922B90939E -:10029000AC008093AB0081E08093B60078C083B15E -:1002A00080939E0074C083B120919E0090E0922BB9 -:1002B0009093AA008093A90081E08093B50067C065 -:1002C00083B18093B40063C083B18093B2005FC0F8 -:1002D00083B18093B1005BC08091CA0090E0FC01C3 -:1002E0003297E632F10508F054C0E65DFF4F0C94FA -:1002F000710B8AB59BB54AC088B599B547C083B51F -:1003000045C08CB743C08091BF009091C00004C02D -:100310008091BD009091BE0090939D0080939C00C1 -:1003200093B935C08091BB009091BC00F5CF80910E -:10033000B9009091BA00F0CF80919C0027C08091C5 -:10034000AF009091B000ECCF8091AF009091B000E1 -:100350001DC08091AD009091AE00E2CF8091AD00C4 -:100360009091AE0013C08091AB009091AC00D8CFBB -:100370008091AB009091AC0009C08091A900909150 -:10038000AA00CECF8091A9009091AA0083B985ECF4 -:1003900002C013B885E886BF8091CA008F5F809342 -:1003A000CA0005C086B78B7E86BF85EC86BFFF91ED -:1003B000EF91BF91AF919F918F912F910F900FBEB1 -:1003C0000F901F9018954F925F926F927F928F922D -:1003D0009F92AF92BF92CF92DF92EF92FF92CF9314 -:1003E000DF938091B800813009F0B7C06091BF0001 -:1003F0007091C00080919A0090919B00681B790BCE -:10040000882777FD8095982F0E94630A2AE037EDB0 -:1004100043EA5CE30E94C8090E94300A7093A60078 -:100420006093A5002091AF003091B000232B29F4F8 -:100430001092C8001092C70088C0C091AF00D09140 -:10044000B000C61BD70B4E01AA2497FCA094BA2C6F -:10045000C0909600D0909700E0909800F09099009E -:10046000C80CD91CEA1CFB1CC0929600D0929700C5 -:10047000E0929800F09299006091C7007091C800D6 -:10048000882777FD8095982F0E94630A2B013C01F5 -:10049000C501B4010E94630A20E030E040E251E46B -:1004A0000E94EF0A4B015C01C701B6010E94630A7A -:1004B00020E030E0A9010E94EF0A9B01AC01C501D8 -:1004C000B4010E9464096B017C01809194009091B9 -:1004D0009500BE01681B790B882777FD8095982FC2 -:1004E0000E94630A20E030E0A9010E94EF0A9B010C -:1004F000AC01C701B6010E9464099B01AC01C301B4 -:10050000B2010E9464090E94300A7093C80060938F -:10051000C700D0939500C09394008091C70090913C -:10052000C8008F3F910521F01CF08FEF90E009C0CB -:100530008091C7009091C80081309F4F34F481E0D2 -:100540009FEF9093C8008093C7008091BF00909167 -:10055000C00090939B0080939A008091B7008130F7 -:1005600009F0B7C06091BD007091BE00809192000B -:1005700090919300681B790B882777FD8095982FC1 -:100580000E94630A2AE037ED43EA5CE30E94C8094F -:100590000E94300A7093A4006093A3002091AD00E4 -:1005A0003091AE00232B29F41092C6001092C500A2 -:1005B00088C0C091AD00D091AE00C61BD70B4E01D4 -:1005C000AA2497FCA094BA2CC0908E00D0908F00E3 -:1005D000E0909000F0909100C80CD91CEA1CFB1C24 -:1005E000C0928E00D0928F00E0929000F092910025 -:1005F0006091C5007091C600882777FD8095982F7F -:100600000E94630A2B013C01C501B4010E94630AE8 -:1006100020E030E040E251E40E94EF0A4B015C012F -:10062000C701B6010E94630A20E030E0A9010E94E0 -:10063000EF0A9B01AC01C501B4010E9464096B0182 -:100640007C0180918C0090918D00BE01681B790B1C -:10065000882777FD8095982F0E94630A20E030E07C -:10066000A9010E94EF0A9B01AC01C701B6010E94DB -:1006700064099B01AC01C301B2010E9464090E949C -:10068000300A7093C6006093C500D0938D00C0936C -:100690008C008091C5009091C6008F3F910521F09C -:1006A0001CF08FEF90E009C08091C5009091C600CA -:1006B00081309F4F34F481E09FEF9093C600809388 -:1006C000C5008091BD009091BE00909393008093EF -:1006D00092008091B600813009F0B7C06091BB00F4 -:1006E0007091BC0080918A0090918B00681B790BFF -:1006F000882777FD8095982F0E94630A2AE037EDBE -:1007000043EA5CE30E94C8090E94300A7093A20089 -:100710006093A1002091AB003091AC00232B29F411 -:100720001092C4001092C30088C0C091AB00D09159 -:10073000AC00C61BD70B4E01AA2497FCA094BA2C80 -:10074000C0908600D0908700E0908800F0908900EB -:10075000C80CD91CEA1CFB1CC0928600D0928700F2 -:10076000E0928800F09289006091C3007091C4000B -:10077000882777FD8095982F0E94630A2B013C0102 -:10078000C501B4010E94630A20E030E040E251E478 -:100790000E94EF0A4B015C01C701B6010E94630A87 -:1007A00020E030E0A9010E94EF0A9B01AC01C501E5 -:1007B000B4010E9464096B017C01809184009091D6 -:1007C0008500BE01681B790B882777FD8095982FDF -:1007D0000E94630A20E030E0A9010E94EF0A9B0119 -:1007E000AC01C701B6010E9464099B01AC01C301C1 -:1007F000B2010E9464090E94300A7093C4006093A1 -:10080000C300D0938500C09384008091C300909171 -:10081000C4008F3F910521F01CF08FEF90E009C0DC -:100820008091C3009091C40081309F4F34F481E0E7 -:100830009FEF9093C4008093C3008091BB00909180 -:10084000BC0090938B0080938A008091B50081302A -:1008500009F0B7C06091B9007091BA008091820030 -:1008600090918300681B790B882777FD8095982FDE -:100870000E94630A2AE037ED43EA5CE30E94C8095C -:100880000E94300A7093A00060939F002091A900FD -:100890003091AA00232B29F41092C2001092C100BB -:1008A00088C0C091A900D091AA00C61BD70B4E01E9 -:1008B000AA2497FCA094BA2CC0907E00D0907F0010 -:1008C000E0908000F0908100C80CD91CEA1CFB1C51 -:1008D000C0927E00D0927F00E0928000F092810072 -:1008E0006091C1007091C200882777FD8095982F94 -:1008F0000E94630A2B013C01C501B4010E94630AF6 -:1009000020E030E040E251E40E94EF0A4B015C013C -:10091000C701B6010E94630A20E030E0A9010E94ED -:10092000EF0A9B01AC01C501B4010E9464096B018F -:100930007C0180917C0090917D00BE01681B790B49 -:10094000882777FD8095982F0E94630A20E030E089 -:10095000A9010E94EF0A9B01AC01C701B6010E94E8 -:1009600064099B01AC01C301B2010E9464090E94A9 -:10097000300A7093C2006093C100D0937D00C09391 -:100980007C008091C1009091C2008F3F910521F0C1 -:100990001CF08FEF90E009C08091C1009091C200DF -:1009A00081309F4F34F481E09FEF9093C200809399 -:1009B000C1008091B9009091BA0090938300809318 -:1009C0008200DF91CF91FF90EF90DF90CF90BF90AA -:1009D000AF909F908F907F906F905F904F90089511 -:1009E0001F920F920FB60F9211242F933F934F93A4 -:1009F0008F939F9399B390FD02C080E001C083E084 -:100A000091FF02C091E0892720917B00281B20FFE5 -:100A10001FC080937B008091B400422F42708823D6 -:100A200049F08091BF009091C000242F30E0215008 -:100A3000310908C08091BF009091C00021E030E0F2 -:100A4000241B3109820F931F9093C0008093BF0035 -:100A500099B39695969590FD02C080E001C083E021 -:100A600091FF02C091E0892720917A00281B20FF86 -:100A70001FC080937A008091B300422F4270882378 -:100A800049F08091BD009091BE00242F30E02150AC -:100A9000310908C08091BD009091BE0021E030E096 -:100AA000241B3109820F931F9093BE008093BD00D9 -:100AB00099B392959F7090FD02C080E001C083E0E1 -:100AC00091FF02C091E0892720917900281B20FF27 -:100AD0001FC0809379008091B200422F427088231A -:100AE00049F08091BB009091BC00242F30E0215050 -:100AF000310908C08091BB009091BC0021E030E03A -:100B0000241B3109820F931F9093BC008093BB007C -:100B100099B3929596959695937090FD02C080E05A -:100B200001C083E0927011F091E089272091780054 -:100B3000281B20FF1FC0809378008091B100422FB6 -:100B40004270882349F08091B9009091BA00242F17 -:100B500030E02150310908C08091B9009091BA006D -:100B600021E030E0241B3109820F931F9093BA00DB -:100B70008093B9008091A7009091A800019690936E -:100B8000A8008093A7009F918F914F913F912F9143 -:100B90000F900FBE0F901F9018951F920F920FB6D7 -:100BA0000F9211248F939F93EF93FF935F9B16C037 -:100BB000E091CD00F091CE008CB1808381E0E233F2 -:100BC000F80730F43196F093CE00E093CD0006C0E4 -:100BD0008FEC90E09093CE008093CD00FF91EF9149 -:100BE0009F918F910F900FBE0F901F9018959C01B1 -:100BF0008AB188618AB9579A80B5866080BD40E025 -:100C000050E084E0220F331F441F551F8A95D1F70F -:100C100060E072E18AE790E00E94520BDA01C901BC -:100C20000197A109B109892F9A2FAB2FBB27A7FDE7 -:100C3000BA9580BD215029B98FEC90E09093CC00FB -:100C40008093CB009093CE008093CD0008955D9B60 -:100C5000FECFFC0180818CB90895CF93DF931F9262 -:100C6000CDB7DEB78983CE0101960E94270680E0CA -:100C700090E00F90DF91CF910895CF93DF93EC0137 -:100C8000CE012196FC012081222319F00E94270623 -:100C9000F7CFDF91CF9108955F9BFECF8CB190E0AD -:100CA00008950C944C0661E576E08DE296E00C9494 -:100CB000A40BCF93DF93FC01E253FF4FA081B181DE -:100CC000EC01C453DF4F28813981A217B307A1F08B -:100CD0005D9B12C02C912CB920813181AC01455310 -:100CE0005F4F2417350718F42F5F3F4F03C09C0157 -:100CF00028593F4F31832083E091CB00F091CC0005 -:100D00002091CD003091CE002E173F07C1F1DC01BC -:100D1000AC59BF4FCD91DC911197208128836D9103 -:100D20007C9111979C012B523F4FE9013881EB01D7 -:100D30002881321307C09C012C523F4FE9014881A2 -:100D40004F5F48839C012D593F4F6217730728F46A -:100D5000EB012196CD93DC9302C08D939C93D1E05F -:100D6000E233FD0730F43196F093CC00E093CB00F2 -:100D700006C08FEC90E09093CC008093CB00DF9185 -:100D8000CF91089588E087BB8CEF84BB8CEB81BB4F -:100D90001092C90080E895E20E94F7050E94530670 -:100DA00080E582B986B78B7E86BF85EC86BF81EFF2 -:100DB0008FBD89E08EBD1BBC1ABC19BC18BC89E76D -:100DC00085BD13BC83BF1CBE8EE690E00E94210C43 -:100DD00085B78F7885BF84E089BF7894C0E0D8E17B -:100DE0008091CA008F3F39F48091C900853A19F487 -:100DF000F894FE0109958091A7009091A8008D308C -:100E0000934030F01092A8001092A7000E94E301D6 -:100E10008091C7009091C8002091660030916700D2 -:100E200028173907B9F18091C7009091C800892B24 -:100E300019F485B38C6017C08091B400811107C08C -:100E40008091C7009091C8001816190654F080913F -:100E5000B400882351F08091C7009091C80097FF9B -:100E600004C085B3837F85BB02C0AA98AB9A8091EA -:100E7000C7009091C80090936700809366008091AE -:100E8000C7009091C80097FF03C091958195910983 -:100E90009BBD8ABD8091C5009091C60020916400E1 -:100EA0003091650028173907B9F18091C5009091FC -:100EB000C600892B19F485B3806317C08091B300F5 -:100EC000811107C08091C5009091C60018161906BF -:100ED00054F08091B300882351F08091C500909127 -:100EE000C60097FF04C085B38F7C85BB02C0AC9859 -:100EF000AD9A8091C5009091C60090936500809353 -:100F000064008091C5009091C60097FF03C0919541 -:100F10008195910999BD88BD8091C3009091C400CD -:100F2000209162003091630028173907B1F1809158 -:100F3000C3009091C400892B19F485B3806C17C04D -:100F40008091B200811107C08091C3009091C400CC -:100F50001816190654F08091B200882351F0809140 -:100F6000C3009091C40097FF04C085B38F7385BB05 -:100F700002C0AE98AF9A8091C3009091C400909344 -:100F80006300809362008091C3009091C40097FF3A -:100F900003C091958195910983BD8091C100909185 -:100FA000C200209160003091610028173907B1F12B -:100FB0008091C1009091C200892B19F482B38C609A -:100FC00017C08091B100811107C08091C10090913C -:100FD000C2001816190654F08091B100882351F010 -:100FE0008091C1009091C20097FF04C082B3837FBB -:100FF00082BB02C09298939A8091C1009091C200E6 -:1010000090936100809360008091C1009091C20034 -:1010100097FF03C09195819591098CBF85B7806832 -:1010200085BF889585B78F7785BFDACE6F927F921F -:101030009F92AF92BF92CF92DF92EF92FF920F9367 -:101040001F93CF93DF93CDB7DEB72C970FB6F894ED -:10105000DEBF0FBECDBF8C017B013A01FC011782C0 -:101060001682838181FF19C1CE0101965C01F801CE -:10107000D380F701D3FC2591D3FE21917F01222358 -:1010800009F407C1253249F4D3FC2591D3FE2191FF -:101090007F01253211F0912C1BC0B801822F90E006 -:1010A0000E94EF0B63013601E2CF222309F4F1C065 -:1010B000622F70E087EA90E02C870E94990B2C85C4 -:1010C000892B49F0F701D3FC2591D3FE21917F01B3 -:1010D00097FEEBCF0CC0233221F4F92DF0619F2E47 -:1010E000F1CF2C3639F4292D2068922EEBCF222314 -:1010F00009F4CFC0622F70E080EA90E02C870E9454 -:10110000990B2C85892B41F06301F4E0CF0ED11CA3 -:10111000B8018FE390E012C0233641F0233789F005 -:10112000233521F5F92DF1609F2E0BC0630122E0DC -:10113000C20ED11CB801F301808191810E94EF0B96 -:10114000B2CF630122E0C20ED11CF3016080718036 -:10115000F30190FC859190FE81913F01882309F471 -:10116000A2CFB80190E00E94EF0BF2CF243611F02D -:10117000293639F5630197FE09C0F4E0CF0ED11C82 -:10118000F30160817181828193810AC0F2E0CF0E08 -:10119000D11CF30160817181882777FD8095982F9C -:1011A000F92DFF7E9F2E97FF09C090958095709531 -:1011B00061957F4F8F4F9F4FF0649F2E2AE030E064 -:1011C00038C02037A1F040F42835D1F02F3609F08F -:1011D00060C028E030E019C0253719F0283751F0F9 -:1011E00058C0292D2F7E922E2AE030E00EC0892D86 -:1011F0008061982E992D9462992E20E130E005C0EF -:10120000E92DE4609E2E20E132E0630197FE09C0E3 -:10121000F4E0CF0ED11CF301608171818281938152 -:1012200008C0F2E0CF0ED11CF3016081718180E033 -:1012300090E0A5010E944E0C782E7A1896FE05C00B -:10124000B8018DE290E00E94EF0B94FE16C0FE0103 -:10125000E70DF11D8081803381F0B80180E390E0DB -:101260000E94EF0B92FE09C0292D2072822F90E080 -:10127000B801885A9F4F0E94EF0B7A94F501E70D51 -:10128000F11D8081B80190E00E94EF0B7110F5CF45 -:101290000ACFF8018681978102C08FEF9FEF2C96CD -:1012A0000FB6F894DEBF0FBECDBFDF91CF911F9177 -:1012B0000F91FF90EF90DF90CF90BF90AF909F90F5 -:1012C0007F906F9008955058BB27AA270ED04DC12C -:1012D0003ED130F043D120F031F49F3F11F41EF4A1 -:1012E00033C10EF4E095E7FB29C1E92F4FD180F31C -:1012F000BA17620773078407950718F071F49EF513 -:1013000067C10EF4E0950B2EBA2FA02D0B01B90189 -:1013100090010C01CA01A0011124FF27591B99F06B -:10132000593F50F4503E68F11A16F040A22F232F77 -:10133000342F4427585FF3CF469537952795A795C7 -:10134000F0405395C9F77EF41F16BA0B620B730B6E -:10135000840BBAF09150A1F0FF0FBB1F661F771FDF -:10136000881FC2F70EC0BA0F621F731F841F48F494 -:10137000879577956795B795F7959E3F08F0B3CF1A -:101380009395880F08F09927EE0F97958795089504 -:101390000CD0EBC0E3D040F0DAD030F021F45F3F66 -:1013A00019F0CCC0511115C1CFC0F0D098F39923DA -:1013B000C9F35523B1F3951B550BBB27AA27621719 -:1013C0007307840738F09F5F5F4F220F331F441F5E -:1013D000AA1FA9F333D00E2E3AF0E0E830D0915096 -:1013E0005040E695001CCAF729D0FE2F27D0660F83 -:1013F000771F881FBB1F261737074807AB07B0E8C2 -:1014000009F0BB0B802DBF01FF2793585F4F2AF0D7 -:101410009E3F510568F092C0DCC05F3FECF3983E00 -:10142000DCF3869577956795B795F7959F5FC9F734 -:10143000880F911D9695879597F90895E1E0660FBD -:10144000771F881FBB1F621773078407BA0720F036 -:10145000621B730B840BBA0BEE1F88F7E09508959F -:1014600004D06894B111B5C0089598D088F09F5702 -:1014700090F0B92F9927B751A0F0D1F0660F771FE0 -:10148000881F991F1AF0BA95C9F712C0B13081F0C0 -:101490009FD0B1E008959CC0672F782F8827B85F50 -:1014A00039F0B93FCCF3869577956795B395D9F721 -:1014B0003EF490958095709561957F4F8F4F9F4F2B -:1014C0000895E89409C097FB3EF490958095709537 -:1014D00061957F4F8F4F9F4F9923A9F0F92F96E980 -:1014E000BB279395F695879577956795B795F111F5 -:1014F000F8CFFAF4BB0F11F460FF1BC06F5F7F4F92 -:101500008F4F9F4F16C0882311F096E911C07723A3 -:1015100021F09EE8872F762F05C0662371F096E8AC -:10152000862F70E060E02AF09A95660F771F881F7B -:10153000DAF7880F9695879597F9089597F99F6739 -:1015400080E870E060E008959FEF80EC089500244B -:101550000A941616170618060906089500240A9418 -:1015600012161306140605060895092E0394000C9E -:1015700011F4882352F0BB0F40F4BF2B11F460FF2D -:1015800004C06F5F7F4F8F4F9F4F089557FD905856 -:10159000440F551F59F05F3F71F04795880F97FB37 -:1015A000991F61F09F3F79F08795089512161306F1 -:1015B0001406551FF2CF4695F1DF08C01616170620 -:1015C0001806991FF1CF8695710561050894089555 -:1015D000E894BB2766277727CB0197F908950BD0AE -:1015E000C4CFB5DF28F0BADF18F0952309F0A6CFF5 -:1015F000ABCF1124EECFCADFA0F3959FD1F3950FA7 -:1016000050E0551F629FF001729FBB27F00DB11D86 -:10161000639FAA27F00DB11DAA1F649F6627B00D16 -:10162000A11D661F829F2227B00DA11D621F739FFF -:10163000B00DA11D621F839FA00D611D221F749F0D -:101640003327A00D611D231F849F600D211D822F54 -:10165000762F6A2F11249F5750408AF0E1F088239B -:101660004AF0EE0FFF1FBB1F661F771F881F9150A8 -:101670005040A9F79E3F510570F060CFAACF5F3F61 -:10168000ECF3983EDCF3869577956795B795F795DB -:10169000E7959F5FC1F7FE2B880F911D9695879563 -:1016A00097F90895052E97FB1EF400940E94690B8C -:1016B00057FD07D00E94770B07FC03D04EF40C9423 -:1016C000690B50954095309521953F4F4F4F5F4F97 -:1016D000089590958095709561957F4F8F4F9F4F9E -:1016E0000895EE0FFF1F0590F491E02D0994A1E2FB -:1016F0001A2EAA1BBB1BFD010DC0AA1FBB1FEE1F8C -:10170000FF1FA217B307E407F50720F0A21BB30BD6 -:10171000E40BF50B661F771F881F991F1A9469F752 -:1017200060957095809590959B01AC01BD01CF01AE -:101730000895FC010590061621F00020D9F7C0019C -:1017400008953197CF0108950F931F93CF93DF939F -:10175000EC018B01009731F46115710519F480E0FB -:1017600090E038C06EE070E081E090E00E94AC0C48 -:10177000FC010097A1F380E883830115110571F046 -:101780001387028781E88383809136019091370126 -:10179000892B21F4F0933701E09336012097C9F0AB -:1017A000D187C08783818260838380913801909143 -:1017B0003901892B71F4F0933901E093380180915C -:1017C0003A0190913B01892B21F4F0933B01E09386 -:1017D0003A01CF01DF91CF911F910F9108950F939F -:1017E0001F93CF93DF93182F092FEB018B8181FD7E -:1017F00003C08FEF9FEF20C082FF10C04E815F813A -:101800002C813D81421753077CF4E881F9819F01C7 -:101810002F5F3F4F39832883108306C0E885F98501 -:10182000812F0995892B29F72E813F812F5F3F4F0B -:101830003F832E83812F902FDF91CF911F910F91A6 -:1018400008950F931F93CF93DF93E0913801F091A8 -:101850003901238121FF1BC0EC0100E010E08991D8 -:101860006091380170913901DB011896ED91FC917E -:101870001997882331F00995892B89F30FEF1FEF12 -:10188000EECF8AE00995892B11F4C80102C08FEFD1 -:101890009FEFDF91CF911F910F910895FA01AA2731 -:1018A000283051F1203181F1E8946F936E7F6E5FA3 -:1018B0007F4F8F4F9F4FAF4FB1E03ED0B4E03CD051 -:1018C000670F781F891F9A1FA11D680F791F8A1F34 -:1018D000911DA11D6A0F711D811D911DA11D20D09B -:1018E00009F468943F912AE0269F11243019305D55 -:1018F0003193DEF6CF010895462F4770405D419346 -:10190000B3E00FD0C9F7F6CF462F4F70405D4A3392 -:1019100018F0495D31FD4052419302D0A9F7EACF5A -:10192000B4E0A6959795879577956795BA95C9F789 -:1019300000976105710508959B01AC010A2E06947C -:101940005795479537952795BA95C9F7620F731F35 -:10195000841F951FA01D08950F931F93CF93DF93AE -:10196000869F8001879F100D969F100D1124C8013E -:101970000E94C80CEC01009729F0A80160E070E01B -:101980000E94EF0DCE01DF91CF911F910F9108952D -:10199000CF93DF938230910510F482E090E0E091E4 -:1019A0003E01F0913F0120E030E0A0E0B0E0309750 -:1019B00039F14081518148175907B8F04817590744 -:1019C00071F482819381109729F013969C938E93E2 -:1019D00012972CC090933F0180933E0127C02115A0 -:1019E000310531F04217530718F0A901DB0101C09E -:1019F000EF019A01BD01DF010280F381E02DD7CF15 -:101A000021153105F9F0281B390B2430310580F4FC -:101A10008A819B816115710521F0FB01938382838B -:101A200004C090933F0180933E01FE01329644C072 -:101A3000FE01E20FF31F8193919322503109398304 -:101A400028833AC020913C0130913D01232B41F481 -:101A500020916A0030916B0030933D0120933C014E -:101A600020916800309169002115310541F42DB7AE -:101A70003EB740916C0050916D00241B350BE091F6 -:101A80003C01F0913D01E217F307A0F42E1B3F0B40 -:101A90002817390778F0AC014E5F5F4F24173507E0 -:101AA00048F04E0F5F1F50933D0140933C018193DE -:101AB000919302C0E0E0F0E0CF01DF91CF91089573 -:101AC000CF93DF93009709F487C0FC01329713820C -:101AD0001282C0913E01D0913F01209781F4208174 -:101AE0003181280F391F80913C0190913D0182176F -:101AF000930779F5F0933D01E0933C016DC0DE0161 -:101B000020E030E0AE17BF0750F412964D915C9183 -:101B100013979D014115510509F1DA01F3CFB38304 -:101B2000A28340815181840F951F8A179B0771F40E -:101B30008D919C911197840F951F029691838083BC -:101B400012968D919C911397938382832115310571 -:101B500029F4F0933F01E0933E013EC0D901139672 -:101B6000FC93EE9312974D915D91A40FB51FEA1768 -:101B7000FB0779F480819181840F951F0296D9012A -:101B800011969C938E938281938113969C938E934E -:101B90001297E0E0F0E08A819B81009719F0FE0146 -:101BA000EC01F9CFCE01029628813981820F931F73 -:101BB00020913C0130913D012817390769F4309795 -:101BC00029F410923F0110923E0102C0138212824A -:101BD000D0933D01C0933C01DF91CF910895DC018A -:101BE00001C06D9341505040E0F70895F894FFCF45 -:101BF00000800080008000800000400120000D0A6D -:081C000053746172740D0000C1 +:100000000C946C000C9489000C9489000C94890069 +:100010000C9489000C9489000C9489000C9489003C +:100020000C9489000C944C050C9489000C94890064 +:100030000C9489000C9427060C9489000C94890078 +:100040000C9489000C9489000C9489000C948B000A +:100050000C9489008901F1018C01F1018F01F101FA +:100060009101F101F101F101F101F101F101F10160 +:100070009301AC019801AC01A201AC01A701AC0154 +:10008000F101F101F101F101F101F101F101F101E0 +:10009000AF01B401B901BE01C301C801CD01D20154 +:1000A000F101F101F101F101F101F101F101F101C0 +:1000B000D701DA01DD01E001E301E601E901EC012C +:1000C00045464765666700202B2D2E30313233348C +:1000D000353637383968000011241FBECFE5D8E027 +:1000E000DEBFCDBF10E0A0E6B0E0EAE9FCE102C06F +:1000F00005900D92A837B107D9F721E0A8E7B0E045 +:1001000001C01D92AF33B207E1F70E941C070C94A7 +:100110004B0E0C9400001F920F920FB60F921124F9 +:100120002F938F939F93AF93BF93EF93FF9381B1DF +:10013000887F803881F040F4803609F05BC185EC1F +:1001400086BF1092C9005BC1883A09F4D5C0883BCC +:1001500009F4D2C04FC18091C900813209F495C021 +:1001600068F5843009F479C060F4813009F4A7C0DF +:1001700008F45EC0823009F464C0833009F49FC083 +:1001800031C1873009F49BC090F4853009F497C0E1 +:10019000863009F027C183B120919E0090E0922B18 +:1001A0009093C3008093C2001092B50018C18830AC +:1001B00009F45FC0803209F482C014C1873209F4A7 +:1001C00082C0F0F4843209F47AC098F4823209F4DF +:1001D00076C0833209F006C183B120919E0090E081 +:1001E000922B9093AD008093AC0081E08093B60099 +:1001F000F6C0853209F456C0863209F460C0F2C0F8 +:10020000823909F471C050F4803909F469C0813928 +:1002100009F0E8C083B18093B200E1C0833909F4EA +:1002200067C08F3F09F0DEC083B18093C800DAC099 +:1002300083B18093C9008091C90081508093C90027 +:10024000CEC083B120919E0090E0922B9093C70086 +:100250008093C6001092B700C2C083B120919E0067 +:1002600090E0922B9093C5008093C4001092B6004A +:10027000B6C083B120919E0090E0922B9093C10074 +:100280008093C0001092B400AAC083B120919E0058 +:1002900090E0922B9093AF008093AE0081E080932A +:1002A000B7009DC083B120919E0090E0922B909367 +:1002B000AB008093AA0081E08093B50090C083B129 +:1002C00080939E008CC083B120919E0090E0922B81 +:1002D0009093A9008093A80081E08093B4007FC030 +:1002E00083B18093B3007BC083B18093B10077C0AA +:1002F00083B18093B00073C08091C90090E0FC018D +:100300003297E633F10508F06CC0E65DFF4F0C94C0 +:10031000C60B8AB59BB562C088B599B55FC083B579 +:100320005DC08CB75BC08091BE009091BF0004C0DF +:100330008091BC009091BD0090939D0080939C00A3 +:1003400093B94DC08091BA009091BB00F5CF8091D8 +:10035000B8009091B900F0CF80919C003FC080918F +:10036000AE009091AF00ECCF8091AE009091AF00C5 +:1003700035C08091AC009091AD00E2CF8091AC008F +:100380009091AD002BC08091AA009091AB00D8CF86 +:100390008091AA009091AB0021C08091A80090911B +:1003A000A900CECF8091A8009091A90017C080919C +:1003B000A60014C08091A50011C08091A4000EC0B9 +:1003C0008091A3000BC08091A20008C08091A10081 +:1003D00005C08091A00002C080919F0083B985EC88 +:1003E00002C013B885E886BF8091C9008F5F8093F3 +:1003F000C90005C086B78B7E86BF85EC86BFFF919E +:10040000EF91BF91AF919F918F912F910F900FBE60 +:100410000F901F9018954F925F926F927F928F92DC +:100420009F92AF92BF92CF92DF92EF92FF920F9383 +:100430001F93CF93DF93CDB7DEB72C970FB6F89409 +:10044000DEBF0FBECDBF6091BE007091BF00809136 +:100450009A0090919B00681B790B882777FD809507 +:10046000982F0E94B80A2AE037ED43E25CE30E942D +:100470001D0A0E94850A6B017C017093A60060939F +:10048000A5008091BE009091BF0090939B00809347 +:100490009A006091BC007091BD008091980090918D +:1004A0009900681B790B882777FD8095982F0E940B +:1004B000B80A2AE037ED43E25CE30E941D0A0E947D +:1004C000850A69837A838B839C8389819A8190933F +:1004D000A4008093A3008091BC009091BD009093F4 +:1004E0009900809398006091BA007091BB00809150 +:1004F000960090919700681B790B882777FD80956F +:10050000982F0E94B80A2AE037ED43E25CE30E948C +:100510001D0A0E94850A6D837E838F839887ED81F3 +:10052000FE81F093A200E093A1008091BA00909127 +:10053000BB0090939700809396006091B8007091F3 +:10054000B9008091940090919500681B790B8827E1 +:1005500077FD8095982F0E94B80A2AE037ED43E294 +:100560005CE30E941D0A0E94850A69877A878B874F +:100570009C8789859A859093A00080939F008091A5 +:10058000B8009091B9009093950080939400809169 +:10059000B700813009F095C08091AE009091AF0016 +:1005A000892B29F41092C7001092C6008AC00091CE +:1005B000AE001091AF000C191D092801662457FCEC +:1005C0006094762CC0909000D0909100E0909200C2 +:1005D000F0909300C40CD51CE61CF71CC092900050 +:1005E000D0929100E0929200F09293006091C60048 +:1005F0007091C700882777FD8095982F0E94B80AD0 +:100600004B015C01C301B2010E94B80A2CEB34E734 +:1006100043E15CE30E94440B2B013C01C701B6019E +:100620000E94B80A2BE631ED46E05AE30E94440BE3 +:100630009B01AC01C301B2010E94B9096B017C01AD +:1006400080918E0090918F00B801681B790B8827EC +:1006500077FD8095982F0E94B80A2CE234ED4AE18C +:100660005DE30E94440B9B01AC01C701B6010E94EF +:10067000B9099B01AC01C501B4010E94B9090E94EE +:10068000850A7093C7006093C60010938F00009393 +:100690008E008091C6009091C7008F3F910521F098 +:1006A0001CF08FEF90E009C08091C6009091C700C8 +:1006B00081309F4F34F481E09FEF9093C700809387 +:1006C000C6008091B600813009F097C08091AC00DF +:1006D0009091AD00892B29F41092C5001092C400AE +:1006E0008CC00091AC001091AD0089819A81081BEB +:1006F000190B2801662457FC6094762CC0908A0060 +:10070000D0908B00E0908C00F0908D00C40CD51C34 +:10071000E61CF71CC0928A00D0928B00E0928C00FD +:10072000F0928D006091C4007091C500882777FD1C +:100730008095982F0E94B80A4B015C01C301B20159 +:100740000E94B80A2CEB34E743E15CE30E94440BBF +:100750002B013C01C701B6010E94B80A2BE631ED1E +:1007600046E05AE30E94440B9B01AC01C301B20175 +:100770000E94B9096B017C018091880090918900E9 +:10078000B801681B790B882777FD8095982F0E9408 +:10079000B80A2CE234ED4AE15DE30E94440B9B0170 +:1007A000AC01C701B6010E94B9099B01AC01C501AA +:1007B000B4010E94B9090E94850A7093C500609334 +:1007C000C40010938900009388008091C400909128 +:1007D000C5008F3F910521F01CF08FEF90E009C01C +:1007E0008091C4009091C50081309F4F34F481E026 +:1007F0009FEF9093C5008093C4008091B500813035 +:1008000009F097C08091AA009091AB00892B29F440 +:100810001092C3001092C2008CC00091AA001091E7 +:10082000AB008D819E81081B190B2801662457FCA3 +:100830006094762CC0908400D0908500E090860073 +:10084000F0908700C40CD51CE61CF71CC0928400F5 +:10085000D0928500E0928600F09287006091C200FD +:100860007091C300882777FD8095982F0E94B80A61 +:100870004B015C01C301B2010E94B80A2CEB34E7C2 +:1008800043E15CE30E94440B2B013C01C701B6012C +:100890000E94B80A2BE631ED46E05AE30E94440B71 +:1008A0009B01AC01C301B2010E94B9096B017C013B +:1008B0008091820090918300B801681B790B882792 +:1008C00077FD8095982F0E94B80A2CE234ED4AE11A +:1008D0005DE30E94440B9B01AC01C701B6010E947D +:1008E000B9099B01AC01C501B4010E94B9090E947C +:1008F000850A7093C3006093C20010938300009335 +:1009000082008091C2009091C3008F3F910521F039 +:100910001CF08FEF90E009C08091C2009091C3005D +:1009200081309F4F34F481E09FEF9093C300809318 +:10093000C2008091B400813009F097C08091A80076 +:100940009091A900892B29F41092C1001092C00047 +:100950008CC00091A8001091A90089859A85081B78 +:10096000190B4801AA2497FCA094BA2CC0907E00D1 +:10097000D0907F00E0908000F0908100C80CD91CDE +:10098000EA1CFB1CC0927E00D0927F00E0928000A7 +:10099000F09281006091C0007091C100882777FDBE +:1009A0008095982F0E94B80A2B013C01C501B40123 +:1009B0000E94B80A2CEB34E743E15CE30E94440B4D +:1009C0004B015C01C701B6010E94B80A2BE631ED6C +:1009D00046E05AE30E94440B9B01AC01C501B401FF +:1009E0000E94B9096B017C0180917C0090917D008F +:1009F000B801681B790B882777FD8095982F0E9496 +:100A0000B80A2CE234ED4AE15DE30E94440B9B01FD +:100A1000AC01C701B6010E94B9099B01AC01C30139 +:100A2000B2010E94B9090E94850A7093C1006093C7 +:100A3000C00010937D0000937C008091C0009091D5 +:100A4000C1008F3F910521F01CF08FEF90E009C0AD +:100A50008091C0009091C10081309F4F34F481E0BB +:100A60009FEF9093C1008093C0002C960FB6F8942E +:100A7000DEBF0FBECDBFDF91CF911F910F91FF90D1 +:100A8000EF90DF90CF90BF90AF909F908F907F902E +:100A90006F905F904F9008951F920F920FB60F9234 +:100AA00011242F933F934F935F938F939F9399B309 +:100AB00090FD02C080E001C083E091FF02C091E0A0 +:100AC000892720917B00281B20FF1FC080937B007B +:100AD0008091B300422F4270882349F08091BE007C +:100AE0009091BF00242F30E02150310908C080913F +:100AF000BE009091BF0021E030E0241B3109820F3D +:100B0000931F9093BF008093BE0099B392959F70FE +:100B100090FD02C080E001C083E091FF02C091E03F +:100B2000892720917A00281B20FF1FC080937A001C +:100B30008091B2002270882359F08091BC0090917E +:100B4000BD0041E050E0421B5109840F951F09C0D0 +:100B50008091BC009091BD0030E021503109820F9E +:100B6000931F9093BD008093BC0099B39695969582 +:100B700090FD02C080E001C083E091FF02C091E0DF +:100B8000892720917900281B20FF1FC080937900BE +:100B90008091B1002270882359F08091BA00909121 +:100BA000BB0041E050E0421B5109840F951F09C072 +:100BB0008091BA009091BB0030E021503109820F42 +:100BC000931F9093BB008093BA0099B3929596952A +:100BD0009695937090FD02C080E001C083E0927012 +:100BE00011F091E0892720917800281B20FF1FC079 +:100BF000809378008091B000422F4270882349F0A2 +:100C00008091B8009091B900242F30E02150310933 +:100C100008C08091B8009091B90021E030E0241B19 +:100C20003109820F931F9093B9008093B80080918F +:100C3000A7008F5F8093A7009F918F915F914F9145 +:100C40003F912F910F900FBE0F901F9018951F92FC +:100C50000F920FB60F9211248F939F93EF93FF93F0 +:100C60005F9B16C0E091CC00F091CD008CB18083E9 +:100C700081E0E133F80730F43196F093CD00E09352 +:100C8000CC0006C08EEC90E09093CD008093CC0019 +:100C9000FF91EF919F918F910F900FBE0F901F903A +:100CA00018959C018AB188618AB9579A80B5866087 +:100CB00080BD40E050E084E0220F331F441F551FE9 +:100CC0008A95D1F760E072E18AE790E00E94A70B75 +:100CD000DA01C9010197A109B109892F9A2FAB2F18 +:100CE000BB27A7FDBA9580BD215029B98EEC90E0B5 +:100CF0009093CB008093CA009093CD008093CC005A +:100D000008955D9BFECFFC0180818CB90895CF933F +:100D1000DF931F92CDB7DEB78983CE0101960E9483 +:100D2000810680E090E00F90DF91CF910895CF93FE +:100D3000DF93EC01CE012196FC012081222319F0E2 +:100D40000E948106F7CFDF91CF9108955F9BFECF80 +:100D50008CB190E008950C94A6066BEA76E087E8E3 +:100D600096E00C94F90BCF93DF93FC01E253FF4F15 +:100D7000A081B181EC01C453DF4F28813981A217D2 +:100D8000B307A1F05D9B12C02C912CB92081318159 +:100D9000AC0145535F4F2417350718F42F5F3F4FC1 +:100DA00003C09C0128593F4F31832083E091CA0042 +:100DB000F091CB002091CC003091CD002E173F0751 +:100DC000C1F1DC01AC59BF4FCD91DC91119720816D +:100DD00028836D917C9111979C012B523F4FE90123 +:100DE0003881EB012881321307C09C012C523F4F00 +:100DF000E90148814F5F48839C012D593F4F62179D +:100E0000730728F4EB012196CD93DC9302C08D93F8 +:100E10009C93D1E0E133FD0730F43196F093CB00A1 +:100E2000E093CA0006C08EEC90E09093CB008093D4 +:100E3000CA00DF91CF91089588E087BB8CEF84BB17 +:100E40008CEB81BB1092C80080E895E20E945106AD +:100E50000E94AD0680E582B986B78B7E86BF85ECA1 +:100E600086BF81EF8FBD89E08EBD1BBC1ABC19BC4B +:100E700018BC89E785BD13BC83BF1CBE8EE690E01D +:100E80000E94760C85B78F7885BF84E089BF7894FF +:100E9000C0E0D8E18091C9008F3F39F48091C8004B +:100EA000853A19F4F894FE0109958091A7008C39D0 +:100EB00020F01092A7000E940B028091C600909132 +:100EC000C700209166003091670028173907B9F1F3 +:100ED0008091C6009091C700892B19F485B38C606E +:100EE00017C08091B300811107C08091C600909116 +:100EF000C7001816190654F08091B300882351F0EA +:100F00008091C6009091C70097FF04C085B3837F8E +:100F100085BB02C0AA98AB9A8091C6009091C70089 +:100F200090936700809366008091C6009091C700FF +:100F300097FF03C09195819591099BBD8ABD8091D2 +:100F4000C4009091C500209164003091650028177D +:100F50003907B9F18091C4009091C500892B19F42B +:100F600085B3806317C08091B200811107C0809162 +:100F7000C4009091C5001816190654F08091B20073 +:100F8000882351F08091C4009091C50097FF04C060 +:100F900085B38F7C85BB02C0AC98AD9A8091C400AC +:100FA0009091C50090936500809364008091C40087 +:100FB0009091C50097FF03C091958195910999BDC6 +:100FC00088BD8091C2009091C30020916200309151 +:100FD000630028173907B1F18091C2009091C300D6 +:100FE000892B19F485B3806C17C08091B1008111F1 +:100FF00007C08091C2009091C3001816190654F0E2 +:101000008091B100882351F08091C2009091C3007B +:1010100097FF04C085B38F7385BB02C0AE98AF9AAB +:101020008091C2009091C30090936300809362000E +:101030008091C2009091C30097FF03C09195819564 +:10104000910983BD8091C0009091C1002091600002 +:101050003091610028173907B1F18091C00090915B +:10106000C100892B19F482B38C6017C08091B00045 +:10107000811107C08091C0009091C1001816190617 +:1010800054F08091B000882351F08091C00090917D +:10109000C10097FF04C082B3837F82BB02C09298D5 +:1010A000939A8091C0009091C100909361008093C9 +:1010B00060008091C0009091C10097FF03C091959E +:1010C000819591098CBF85B7806885BF889585B764 +:1010D0008F7785BFDFCE6F927F929F92AF92BF9244 +:1010E000CF92DF92EF92FF920F931F93CF93DF93F4 +:1010F000CDB7DEB72C970FB6F894DEBF0FBECDBFCD +:101100008C017B013A01FC0117821682838181FFE9 +:1011100019C1CE0101965C01F801D380F701D3FC1F +:101120002591D3FE21917F01222309F407C12532A5 +:1011300049F4D3FC2591D3FE21917F01253211F092 +:10114000912C1BC0B801822F90E00E94440C6301D7 +:101150003601E2CF222309F4F1C0622F70E087EC60 +:1011600090E02C870E94EE0B2C85892B49F0F7012B +:10117000D3FC2591D3FE21917F0197FEEBCF0CC0CC +:10118000233221F4F92DF0619F2EF1CF2C3639F462 +:10119000292D2068922EEBCF222309F4CFC0622F95 +:1011A00070E080EC90E02C870E94EE0B2C85892B60 +:1011B00041F06301F4E0CF0ED11CB8018FE390E061 +:1011C00012C0233641F0233789F0233521F5F92D5C +:1011D000F1609F2E0BC0630122E0C20ED11CB8014A +:1011E000F301808191810E94440CB2CF630122E01F +:1011F000C20ED11CF30160807180F30190FC8591D7 +:1012000090FE81913F01882309F4A2CFB80190E0BC +:101210000E94440CF2CF243611F0293639F56301CF +:1012200097FE09C0F4E0CF0ED11CF30160817181FB +:10123000828193810AC0F2E0CF0ED11CF30160815C +:101240007181882777FD8095982FF92DFF7E9F2E3D +:1012500097FF09C090958095709561957F4F8F4F4E +:101260009F4FF0649F2E2AE030E038C02037A1F075 +:1012700040F42835D1F02F3609F060C028E030E086 +:1012800019C0253719F0283751F058C0292D2F7E65 +:10129000922E2AE030E00EC0892D8061982E992D83 +:1012A0009462992E20E130E005C0E92DE4609E2E85 +:1012B00020E132E0630197FE09C0F4E0CF0ED11CBB +:1012C000F301608171818281938108C0F2E0CF0EC9 +:1012D000D11CF3016081718180E090E0A5010E9442 +:1012E000A30C782E7A1896FE05C0B8018DE290E026 +:1012F0000E94440C94FE16C0FE01E70DF11D808192 +:10130000803381F0B80180E390E00E94440C92FEAB +:1013100009C0292D2072822F90E0B801885A9F4F72 +:101320000E94440C7A94F501E70DF11D8081B8010B +:1013300090E00E94440C7110F5CF0ACFF80186812D +:10134000978102C08FEF9FEF2C960FB6F894DEBF07 +:101350000FBECDBFDF91CF911F910F91FF90EF9006 +:10136000DF90CF90BF90AF909F907F906F90089547 +:101370005058BB27AA270ED04DC13ED130F043D1E3 +:1013800020F031F49F3F11F41EF433C10EF4E095C8 +:10139000E7FB29C1E92F4FD180F3BA176207730722 +:1013A0008407950718F071F49EF567C10EF4E09577 +:1013B0000B2EBA2FA02D0B01B90190010C01CA010F +:1013C000A0011124FF27591B99F0593F50F4503EBA +:1013D00068F11A16F040A22F232F342F4427585FAC +:1013E000F3CF469537952795A795F0405395C9F7C4 +:1013F0007EF41F16BA0B620B730B840BBAF091507C +:10140000A1F0FF0FBB1F661F771F881FC2F70EC01A +:10141000BA0F621F731F841F48F4879577956795ED +:10142000B795F7959E3F08F0B3CF9395880F08F0D6 +:101430009927EE0F9795879508950CD0EBC0E3D0D0 +:1014400040F0DAD030F021F45F3F19F0CCC05111F8 +:1014500015C1CFC0F0D098F39923C9F35523B1F348 +:10146000951B550BBB27AA2762177307840738F013 +:101470009F5F5F4F220F331F441FAA1FA9F333D072 +:101480000E2E3AF0E0E830D091505040E695001C26 +:10149000CAF729D0FE2F27D0660F771F881FBB1FE2 +:1014A000261737074807AB07B0E809F0BB0B802DBC +:1014B000BF01FF2793585F4F2AF09E3F510568F008 +:1014C00092C0DCC05F3FECF3983EDCF386957795E5 +:1014D0006795B795F7959F5FC9F7880F911D96950A +:1014E000879597F90895E1E0660F771F881FBB1F66 +:1014F000621773078407BA0720F0621B730B840B13 +:10150000BA0BEE1F88F7E095089504D06894B111E6 +:10151000B5C0089598D088F09F5790F0B92F9927BB +:10152000B751A0F0D1F0660F771F881F991F1AF0EE +:10153000BA95C9F712C0B13081F09FD0B1E00895DB +:101540009CC0672F782F8827B85F39F0B93FCCF35C +:10155000869577956795B395D9F73EF490958095E4 +:10156000709561957F4F8F4F9F4F0895E89409C004 +:1015700097FB3EF490958095709561957F4F8F4FC6 +:101580009F4F9923A9F0F92F96E9BB279395F695DC +:10159000879577956795B795F111F8CFFAF4BB0F5A +:1015A00011F460FF1BC06F5F7F4F8F4F9F4F16C0BE +:1015B000882311F096E911C0772321F09EE8872F48 +:1015C000762F05C0662371F096E8862F70E060E004 +:1015D0002AF09A95660F771F881FDAF7880F96957D +:1015E000879597F9089597F99F6780E870E060E024 +:1015F00008959FEF80EC089500240A9416161706AC +:1016000018060906089500240A94121613061406F3 +:1016100005060895092E0394000C11F4882352F056 +:10162000BB0F40F4BF2B11F460FF04C06F5F7F4F0E +:101630008F4F9F4F089557FD9058440F551F59F0F5 +:101640005F3F71F04795880F97FB991F61F09F3FAF +:1016500079F087950895121613061406551FF2CFD8 +:101660004695F1DF08C0161617061806991FF1CF28 +:1016700086957105610508940895E894BB2766274F +:101680007727CB0197F908950BD0C4CFB5DF28F0A9 +:10169000BADF18F0952309F0A6CFABCF1124EECF17 +:1016A000CADFA0F3959FD1F3950F50E0551F629FBD +:1016B000F001729FBB27F00DB11D639FAA27F00DAB +:1016C000B11DAA1F649F6627B00DA11D661F829FD2 +:1016D0002227B00DA11D621F739FB00DA11D621FB7 +:1016E000839FA00D611D221F749F3327A00D611DD4 +:1016F000231F849F600D211D822F762F6A2F1124B6 +:101700009F5750408AF0E1F088234AF0EE0FFF1F08 +:10171000BB1F661F771F881F91505040A9F79E3F3F +:10172000510570F060CFAACF5F3FECF3983EDCF339 +:10173000869577956795B795F795E7959F5FC1F77C +:10174000FE2B880F911D9695879597F90895052E84 +:1017500097FB1EF400940E94BE0B57FD07D00E9419 +:10176000CC0B07FC03D04EF40C94BE0B5095409567 +:10177000309521953F4F4F4F5F4F0895909580953D +:10178000709561957F4F8F4F9F4F0895EE0FFF1F0C +:101790000590F491E02D0994A1E21A2EAA1BBB1B1F +:1017A000FD010DC0AA1FBB1FEE1FFF1FA217B3072D +:1017B000E407F50720F0A21BB30BE40BF50B661F43 +:1017C000771F881F991F1A9469F760957095809507 +:1017D00090959B01AC01BD01CF010895FC010590DE +:1017E000061621F00020D9F7C00108953197CF01E6 +:1017F00008950F931F93CF93DF93EC018B01009714 +:1018000031F46115710519F480E090E038C06EE0A4 +:1018100070E081E090E00E94010DFC010097A1F3CF +:1018200080E883830115110571F01387028781E831 +:1018300083838091350190913601892B21F4F093B7 +:101840003601E09335012097C9F0D187C0878381A5 +:10185000826083838091370190913801892B71F4E4 +:10186000F0933801E09337018091390190913A016A +:10187000892B21F4F0933A01E0933901CF01DF91F4 +:10188000CF911F910F9108950F931F93CF93DF93E3 +:10189000182F092FEB018B8181FD03C08FEF9FEF84 +:1018A00020C082FF10C04E815F812C813D81421794 +:1018B00053077CF4E881F9819F012F5F3F4F398303 +:1018C0002883108306C0E885F985812F0995892B27 +:1018D00029F72E813F812F5F3F4F3F832E83812F3A +:1018E000902FDF91CF911F910F9108950F931F9328 +:1018F000CF93DF93E0913701F0913801238121FFED +:101900001BC0EC0100E010E08991609137017091FB +:101910003801DB011896ED91FC911997882331F07D +:101920000995892B89F30FEF1FEFEECF8AE0099518 +:10193000892B11F4C80102C08FEF9FEFDF91CF9187 +:101940001F910F910895FA01AA27283051F12031F3 +:1019500081F1E8946F936E7F6E5F7F4F8F4F9F4F43 +:10196000AF4FB1E03ED0B4E03CD0670F781F891F85 +:101970009A1FA11D680F791F8A1F911DA11D6A0F53 +:10198000711D811D911DA11D20D009F468943F9106 +:101990002AE0269F11243019305D3193DEF6CF0105 +:1019A0000895462F4770405D4193B3E00FD0C9F7CB +:1019B000F6CF462F4F70405D4A3318F0495D31FD38 +:1019C0004052419302D0A9F7EACFB4E0A69597958B +:1019D000879577956795BA95C9F700976105710561 +:1019E00008959B01AC010A2E0694579547953795AB +:1019F0002795BA95C9F7620F731F841F951FA01D05 +:101A000008950F931F93CF93DF93869F8001879F45 +:101A1000100D969F100D1124C8010E941D0DEC01A0 +:101A2000009729F0A80160E070E00E94440ECE010A +:101A3000DF91CF911F910F910895CF93DF93823063 +:101A4000910510F482E090E0E0913D01F0913E01BB +:101A500020E030E0A0E0B0E0309739F140815181E2 +:101A600048175907B8F04817590771F482819381D4 +:101A7000109729F013969C938E9312972CC09093F5 +:101A80003E0180933D0127C02115310531F04217F9 +:101A9000530718F0A901DB0101C0EF019A01BD0154 +:101AA000DF010280F381E02DD7CF21153105F9F058 +:101AB000281B390B2430310580F48A819B81611504 +:101AC000710521F0FB019383828304C090933E0152 +:101AD00080933D01FE01329644C0FE01E20FF31FE8 +:101AE0008193919322503109398328833AC0209100 +:101AF0003B0130913C01232B41F420916A0030914D +:101B00006B0030933C0120933B01209168003091A1 +:101B100069002115310541F42DB73EB740916C00A5 +:101B200050916D00241B350BE0913B01F0913C017D +:101B3000E217F307A0F42E1B3F0B2817390778F0A4 +:101B4000AC014E5F5F4F2417350748F04E0F5F1F03 +:101B500050933C0140933B018193919302C0E0E09C +:101B6000F0E0CF01DF91CF910895CF93DF930097FD +:101B700009F487C0FC01329713821282C0913D01A3 +:101B8000D0913E01209781F420813181280F391FA7 +:101B900080913B0190913C018217930779F5F09376 +:101BA0003C01E0933B016DC0DE0120E030E0AE1768 +:101BB000BF0750F412964D915C9113979D0141150A +:101BC000510509F1DA01F3CFB383A283408151813A +:101BD000840F951F8A179B0771F48D919C91119723 +:101BE000840F951F02969183808312968D919C910C +:101BF0001397938382832115310529F4F0933E01D5 +:101C0000E0933D013EC0D9011396FC93EE931297E9 +:101C10004D915D91A40FB51FEA17FB0779F4808100 +:101C20009181840F951F0296D90111969C938E93F2 +:101C30008281938113969C938E931297E0E0F0E05B +:101C40008A819B81009719F0FE01EC01F9CFCE014A +:101C5000029628813981820F931F20913B01309198 +:101C60003C012817390769F4309729F410923E0196 +:101C700010923D0102C013821282D0933C01C093A6 +:101C80003B01DF91CF910895DC0101C06D9341507C +:0A1C90005040E0F70895F894FFCFEC +:101C9A00008000800080008000003F0120000D0AC3 +:081CAA0053746172740D000017 :00000001FF -- 2.39.5