/Designs/STOPWATCH02A/SW/main.c
1,10 → 1,36
#include "main.h"
 
unsigned int position;
unsigned int32 section[4];
unsigned int32 time; // pocitadlo preteceni casovace
unsigned int state;
 
#define RUNNING 1
#define STOPPED 0
 
#int_RB
void RB_isr(void)
{
section[position]= get_timer0();
time=0;
set_timer0(0);
if(position < 3) position++;
else {
disable_interrupts(INT_RB);
state = STOPPED;
}
time=0;
set_timer0(0);
 
}
 
#int_RTCC
void RTCC_isr(void) // preruseni od pretekleho casovace
{
time++;
}
 
#define LCD_ENABLE_PIN PIN_E0
#define LCD_RS_PIN PIN_E1
#define LCD_RW_PIN PIN_E2
15,52 → 41,95
 
#include <lcd.c>
 
//#define USB_CON_SENSE_PIN PIN_B2
#define BUTTON1 PIN_D0
#define BUTTON2 PIN_D1
#define BUTTON3 PIN_D2
#define BUTTON4 PIN_D3
 
#define BEEPER PIN_C0
 
unsigned int32 run;
 
// Includes all USB code and interrupts, as well as the CDC API
#include <usb_cdc.h>
 
#rom int 0xf00000={1,2,3,4}
void beep(int16 period)
{
while(period){
output_toggle(BEEPER);
delay_us(800);
period--;
}
}
 
void test_mode()
{
lcd_gotoxy(1,1);
printf(lcd_putc,"TEST MODE");
}
 
void main() {
int i, j, address, value;
 
setup_adc_ports(NO_ANALOGS|VSS_VDD);
port_b_pullups(TRUE);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_wdt(WDT_OFF);
setup_timer_0(RTCC_INTERNAL);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_16);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_timer_3(T3_DISABLED|T3_DIV_BY_1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
// enable_interrupts(INT_RB);
enable_interrupts(GLOBAL);
 
lcd_init();
usb_init();
lcd_init();
 
lcd_gotoxy(1,1);
printf(lcd_putc, "\fReady...\n");
printf(lcd_putc,"STOPWATCH01A");
lcd_gotoxy(1,2);
printf(lcd_putc," Kaklik 2010 ");
delay_ms(1000);
lcd_gotoxy(1,1);
printf(lcd_putc,"\n Waiting for PC... ");
 
while(!usb_cdc_connected());
lcd_gotoxy(1,1);
printf(lcd_putc,"PC connected...");
beep(10);
while(!usb_cdc_connected());
if(!input(BUTTON1)) test_mode();
run=0;
section[0]=0;
section[1]=0;
section[2]=0;
section[3]=0;
while (TRUE)
{
run++;
lcd_gotoxy(3,1);
printf(lcd_putc,"START");
 
do {
printf(usb_cdc_putc, "\r\n\nEEPROM:\r\n"); // Display contents of the first 64
for(i=0; i<=3; ++i) { // bytes of the data EEPROM in hex
for(j=0; j<=15; ++j) {
printf(usb_cdc_putc, "%2x ", read_eeprom( i*16+j ) );
}
printf(usb_cdc_putc, "\n\r");
}
printf(usb_cdc_putc, "\r\nLocation to change: ");
address = gethex_usb();
printf(usb_cdc_putc, "\r\nNew value: ");
value = gethex_usb();
while(input(BUTTON2));
time = 0;
set_timer0(0);
position = 0;
state = RUNNING;
clear_interrupt(int_timer0);
clear_interrupt(int_RB);
enable_interrupts(INT_RTCC);
enable_interrupts(INT_RB);
lcd_gotoxy(6,1);
printf(lcd_putc,"STOP");
while(state==RUNNING);
 
write_eeprom( address, value );
 
} while (TRUE);
printf(usb_cdc_putc, "\n\r %ld %ld %ld %ld %ld", run, section[0], section[1], section[2], section[3]);
}
}
/Designs/STOPWATCH02A/SW/main.h
3,7 → 3,7
 
#FUSES NOWDT //No Watch Dog Timer
#FUSES WDT128 //Watch Dog Timer uses 1:128 Postscale
#FUSES HSPLL //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)
#FUSES HSPLL //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOBROWNOUT //No brownout reset
#FUSES BORV20 //Brownout reset at 2.0V
16,16 → 16,16
#FUSES NOWRTD //Data EEPROM not write protected
#FUSES IESO //Internal External Switch Over mode enabled
#FUSES FCMEN //Fail-safe clock monitor enabled
#FUSES PBADEN //PORTB pins are configured as analog input channels on RESET
#FUSES NOPBADEN //PORTB pins are configured as analog input channels on RESET
#FUSES NOWRTC //configuration not registers write protected
#FUSES NOWRTB //Boot block not write protected
#FUSES NOEBTR //Memory not protected from table reads
#FUSES NOEBTRB //Boot block not protected from table reads
#FUSES NOCPB //No Boot Block code protection
#FUSES MCLR //Master Clear pin enabled
#FUSES NOMCLR //Master Clear pin disabled
#FUSES LPT1OSC //Timer1 configured for low-power operation
#FUSES NOXINST //Extended set extension and Indexed Addressing mode disabled (Legacy mode)
#FUSES PLL5 //Divide By 5(48MHz oscillator input)
#FUSES PLL5 //Divide By 5(48MHz oscillator input)
#FUSES CPUDIV1 //System Clock by 4
#FUSES USBDIV //USB clock source comes from PLL divide by 2
#FUSES VREGEN //USB voltage regulator enabled
33,5 → 33,4
 
#use delay(clock=48000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
 
/Designs/STOPWATCH02A/SW/main.hex
1,379 → 1,417
:020000040000FA
:04000000C6EF0AF04D
:040000009CEF0BF076
:08000800056ED8CF06F0E0CF31
:1000100007F00001E9CF0DF0EACF08F0E1CF09F0D9
:10002000E2CF0AF0D9CF0BF0DACF0CF0F3CF14F017
:10003000F4CF15F0FACF16F000C00FF001C010F0A9
:1000400002C011F003C012F004C013F0F2A62CEFAE
:1000500000F0F2B07BEF01F0A0AA32EF00F0A1BAFD
:100060007EEF08F00FC000F010C001F011C002F0E8
:1000700012C003F013C004F00DC0E9FF08C0EAFF8E
:10008000088E09C0E1FF0AC0E2FF0BC0D9FF0CC017
:10009000DAFF14C0F3FF15C0F4FF16C0FAFF0550D5
:1000A00007C0E0FF06C0D8FF1000F2CF0EF0F29EAE
:1000B000F76AC40FF66E000EF7220900F5500EBE67
:1000C000F28E1200280C0106F76AD80FF66E000EA9
:1000D000F7220900F5501200000302FFFFFFFFFFA7
:1000E000FFFFFFFFFFFFFFFFF76AF80FF66E000E3E
:1000F000F7220900F550120000FF02FFFFFFFFFF8B
:10010000FFFFFFFFFFFFFFFFF76A180FF66E010EFC
:10011000F7220900F55012004000080040000000DE
:1001200000000000000000000000000000000000CF
:10013000000000000000000008AE03D0F2CF0EF077
:10014000F29EF76A5A0FF66E010EF7220900F5507B
:1001500008AE02D00EBEF28E120040000000400039
:1000400002C011F003C012F004C013F0F2AA2CEFAA
:1000500000F0F2B4D2EF01F0F2A632EF00F0F2B00D
:10006000ADEF01F0A0AA38EF00F0A1BADDEF08F083
:100070000FC000F010C001F011C002F012C003F078
:1000800013C004F00DC0E9FF08C0EAFF088E09C0E4
:10009000E1FF0AC0E2FF0BC0D9FF0CC0DAFF14C0B9
:1000A000F3FF15C0F4FF16C0FAFF055007C0E0FFCC
:1000B00006C0D8FF1000F2CF0EF0F29EF76AD00F04
:1000C000F66E000EF7220900F5500EBEF28E1200F9
:1000D000280C0106F76AE40FF66E000EF7220900FD
:1000E000F5501200000302FFFFFFFFFFFFFFFFFFBD
:1000F000FFFFFFFFF76A040FF66E010EF7220900FB
:10010000F550120000FF02FFFFFFFFFFFFFFFFFFA0
:10011000FFFFFFFFF76A240FF66E010EF7220900BA
:10012000F5501200400008004000000000000000F0
:1001300000000000000000000000000000000000BF
:1001400000000000F76A540FF66E010EF722090056
:10015000F5501200400000004000000000000000C8
:10016000000000000000000000000000000000008F
:1001700000000000000000000000F76A8A0FF66E21
:10018000010EF7220900F550120009024300020196
:100190000080320904000001020201000524001061
:1001A00001042402020524060001052401000107C0
:1001B0000581030800FA09040100020A0000000793
:1001C0000502024100010705820241000100F76AB1
:1001D000DE0FF66E010EF7220900F5501200020044
:1001E000F76AF00FF66E010EF7220900F5501200C3
:1001F00012171B20FFFFFFFFF76A080FF66E020EB3
:10020000F7220900F550120012011001020000400F
:1002100061043300000101020001F76A2A0FF66E43
:10022000020EF7220900F550120004030904080326
:100230004300430053001803530045005200490097
:1002400041004C002000440045004D004F00F2CF1B
:100250000EF0F29EF76A680FF66E020EF7220900A2
:10026000F5500EBEF28E12000C52656164792E2E8E
:100270002E0A0000F2CF0EF0F29EF76A8E0FF66E95
:10028000020EF7220900F5500EBEF28E12000D0A82
:100290000A454550524F4D3A0D0A0000F2CF0EF07C
:1002A000F29EF76AB60FF66E020EF7220900F550BD
:1002B0000EBEF28E12000D0A4C6F636174696F6E90
:1002C00020746F206368616E67653A200000F2CF8A
:1002D0000EF0F29EF76AE80FF66E020EF7220900A2
:1002E000F5500EBEF28E12000D0A4E657720766133
:1002F0006C75653A2000F29032EF00F06D926994CF
:1003000068A402D06894FCD789EF08F0400E04017D
:10031000016F040E036F180E026F880E006F046BDE
:10032000040E076F580E066F0001000C70A002D07B
:10033000EDDF7090689A92EF08F06A6A689298EF21
:1003400008F0B051B203F3CF01F0F4CF00F0B303E3
:10035000F3500026B151B203F3500020026E000C9E
:10036000036AAA51700FE96E0F0E0320EA6EEF6A5E
:10037000B16BAAC0B0F0B36B080EB26FE2DF01C080
:10038000E9FF040E0224EA6EEF6AB16BAAC0B0F076
:10039000B36B080EB26FD5DF02C0ACF001C0ABF09A
:1003A000040EAB27000EAC23ABC0E9FF040EAC2556
:1003B000EA6EEF6A000C010EA96FA9510F0805E360
:1003C000A9C0AAF0CDDFA92BF8D7000C2A6A296AA8
:1003D000250E286E800E276E2B6A2C6A080E2D6E55
:1003E0007D6B7C912F6A2E6A786B7991000C9F6BE4
:1003F0009F5101080AE3036A9F51250FE96E000E21
:100400000320EA6EEF6A9F2BF3D7E0DF1A6A010E32
:100410001B6E196A000C689600D000D000D0000C4A
:100420006A6A686A9F0E6B6E3D0E696E6E6AC3DF04
:10043000DEDF160E706E68A602D0EDDFFCD76D9879
:1004400065DF030E206E9EEF08F0698468986D8268
:10045000A4EF08F0689CAAEF08F0A4C021F0000CFB
:10046000FF0E216E000CA26B245237E0A2513F0810
:1004700034E31C5005E0020A0DE0010A15E01ED02D
:10048000036A2350F2CFA4F0F29E77DEA4BFF28E6F
:10049000A36F14D0036A2350F2CFA4F0F29EBDDE06
:1004A000A4BFF28EA36F0AD0036A2350F2CFA4F048
:1004B000F29EA2DEA4BFF28EA36F00D0232A2406F0
:1004C000A251A22B580F036AD8B0032AE96E040E7A
:1004D0000324EA6EA3C0EFFFC7D7245204E1A25160
:1004E000400801E0196AA2C0A4F0B7DF000C236A3B
:1004F0001C6A04011B51010A000107E0030A0AE01B
:10050000010A0BE0220A20E03AD0120E246E030EFC
:100510001C6E37D0430E246E34D0020E1C6E036A5C
:1005200004011A511D0FE96E000E0320EA6EEFCF91
:1005300023F0036A2350F2CFA1F0F29E00016DDE9A
:10054000A1BFF28E246E1DD0036A04011A51F2CFAE
:10055000A1F0F29E000144DEA1BFF28E236E233C87
:1005600001D00BD0036A2350F2CFA1F0F29E05DE3A
:10057000A1BFF28E246E05D002D072DF0ED070DFE4
:100580000CD004011F5305E124501E5D02E21EC47D
:1005900024F0010E196E000166DF0DEF04F0A15387
:1005A00004E1040E206E07DFE7D0050E206E040E76
:1005B000A46F980EA36F010EA26FA2510F08D8A0CE
:1005C000DBD0A2C0AAF0CCDEA56B036AA251F2CFA9
:1005D000A9F0F29E89DDA9BFF28EFF0863E0040E48
:1005E000A56FD890A235036AF2CFA9F0F29EA4DDE0
:1005F0000900F5CF03F0A9BFF28EA66F03C0A7F0E4
:10060000B16BA2C0B0F0B36B080EB26F9ADE01C03E
:10061000A9F0010E0124016E000E0220036E01C03C
:10062000E9FF040E0324EA6EA6C0EFFFB16BA2C07F
:10063000B0F0B36B080EB26F84DE01C0A9F0020EF9
:100640000124016E000E0220036E01C0E9FF040EBA
:100650000324EA6EA4C0ECFFED52A3C0EFFFD890D4
:10066000A235036AF2CFA9F0F29E66DD0900F5CF4C
:1006700003F0A9BFF28EA3270350A423880EA86F0E
:10068000A7B1A881A7B3A883B16BA2C0B0F0B36B28
:10069000080EB26F56DE01C0E9FF040E0224EA6EB6
:1006A000A8C0EFFF036AA251F2CFA9F0F29E0CDDC1
:1006B000A9BFF28EFF0845E0A583B16BA2C0B0F0E0
:1006C000B36B080EB26F3DDE02C0AAF001C0A9F004
:1006D000040EA927000EAA23020EA925016E000E02
:1006E000AA21036E01C0E9FF040E0324EA6EA4C030
:1006F000ECFFED52A3C0EFFFD890A235036AF2CF12
:10070000A9F0F29E01DD0900F5CF03F0A9BFF28E3A
:10071000A3270350A423B16BA2C0B0F0B36B080EA3
:10072000B26F0FDE02C0AAF001C0A9F0040EA92723
:10073000000EAA23A9C0E9FF040EAA25EA6E400E06
:10074000EF6EA551060802E10E0EA56F036AA251D5
:10075000F2CFA9F0F29EB8DCA9BFF28E0108D8A4AE
:10076000A589036AA251700FE96E0F0E0320EA6E8D
:10077000A5C0EFFFA22B21D707EF04F00401195108
:1007800000010DE0010A14E0020A1EE0060A27E05B
:10079000030A2CE00E0A2BE0010A2FE03CD01BC01C
:1007A00058F40401596B020E0001A46F56DE35D0D7
:1007B00004011A2D06D0010E1B160001A46B4DDE9C
:1007C00002D000014DDE29D004011A2D05D01B8274
:1007D0000001A46B42DE02D0000142DE1ED0020EF8
:1007E000196E1AC422F0A46B38DE17D080D61AC056
:1007F00058F4010EA46F31DE10D004011A51010823
:1008000008E31AC41AF01AC4A1F00001C8D6A46BF8
:1008100024DE000102D024DE00D0A8EF05F01AC0CB
:10082000A1F004011951000105E00A0A0BE0010AD8
:100830002BE03CD00401586B596B020E0001A46FF1
:100840000CDE36D0A1531EE0010EA15D036AF2CF8B
:10085000A2F0F29EBCDCA2BFF28E016E04011C5D10
:10086000D8A002D000010ED0036A1C51250FE96EFA
:10087000000E0320EA6EEFCF58F4010E0001A46FC2
:10088000ECDD01D0EDDD14D0A1530EE0036A0401CC
:100890001C51250FE96E000E0320EA6E1AC4EFFF0B
:1008A0000001A46BDADD01D0DBDD02D0D9DD00D0A0
:1008B000A8EF05F0A291A1BFA281A19FA2A111D092
:1008C000036AA151F2CFA3F0F29E64EC00F0A3BF43
:1008D000F28EFF0802E1000E01D0010E016E11D070
:1008E00010D0036AA151F2CFA3F0F29E74EC00F095
:1008F000A3BFF28EFF0802E1000E01D0010E016ECF
:1009000000D014EF05F0A291A1BFA281A19FA2A1E6
:1009100017D0B16BA1C0B0F0B36B080EB26F11DD90
:1009200002C0A4F001C0A3F0040EA327000EA4236C
:10093000A3C0E9FF040EA425EA6E880EEF6E0DD069
:10094000B16BA1C0B0F0B36B080EB26FFADC01C09E
:10095000E9FF040E0224EA6EEF6A23EF05F0A2918C
:10096000A1BFA281A19FA2A117D0B16BA1C0B0F07D
:10097000B36B080EB26FE5DC02C0A4F001C0A3F0B7
:10098000040EA327000EA423A3C0E9FF040EA42590
:10099000EA6E840EEF6E0ED0B16BA1C0B0F0B36BF7
:1009A000080EB26FCEDC01C0E9FF040E0224EA6E2D
:1009B000840EEF6E29EF05F0A291A1BFA281A19F45
:1009C000A2A117D0B16BA1C0B0F0B36B080EB26F8B
:1009D000B8DC02C0A5F001C0A4F0040EA427000EEC
:1009E000A523A4C0E9FF040EA525EA6EEFCFA3F06E
:1009F0000ED0B16BA1C0B0F0B36B080EB26FA1DC2A
:100A000001C0E9FF040E0224EA6EEFCFA3F0A3AF0A
:100A100002D0A3B502D0000E01D0010E016E33EF5B
:100A200005F01CC4A1F046D7015229E00401195178
:100A3000010A000105E0020A09E0030A0DE01DD0E9
:100A40001CC4A1F060D7A46B08DD19D01CC4A1F0B0
:100A500086D7A46B02DD13D00401586B596B1CC4FC
:100A6000A1F00001A9D7015204E0010E0401586F62
:100A70000001020EA46FF1DC02D0F2DC00D0A8EF7E
:100A800005F0FE0E216E000C04011C2D01D002D0D9
:100A90001C5348E1195100010BE0010A0DE0210A45
:100AA0001CE0010A1FE0030A2EE0010A31E037D002
:100AB000010E7F6FE6DF35D0040EEA6E580EE96E48
:100AC000E26A300EE16E080E016EE6CFEEFF012EF7
:100AD000FCD71EC4A4F0C1DC24D0020E7F6F7C8141
:100AE000D0DF1FD0040EEA6E580EE96EE26A270EC0
:100AF000E16E070E016EE6CFEEFF012EFCD7070E6A
:100B0000A46FABDC0ED01AC47DF0A46BA6DC09D0B8
:100B10001AC42FF01BC42EF0A46B9FDC02D0A0DC03
:100B200000D004010001A8EF05F0196A0401185172
:100B30007F0B000107E0010A06E0030A05E0230A33
:100B400004E004D01BD66BD66CD79ED789DC00D0CE
:100B5000CCEF07F0B16BA1C0B0F0B36B080EB26F71
:100B6000A1EC01F001C0E9FF040E0224EA6EEFCF10
:100B7000A3F0A251020806E1A3AD02D0A26B02D0FD
:100B8000010EA26FA25103081AE1840EA36FB16B8C
:100B9000A1C0B0F0B36B080EB26FA1EC01F002C0BF
:100BA000A7F001C0A6F0040EA627000EA723A6C03A
:100BB000E9FF040EA725EA6E840EEF6E07D0A22D82
:100BC00003D0C80EA36F02D0880EA36FD890A135B2
:100BD000036AF2CFA6F0F29E9CEC00F00900F5CF7C
:100BE00003F0A6BFF28EA46F03C0A5F0B16BA1C045
:100BF000B0F0B36B080EB26FA1EC01F001C0A6F02B
:100C0000010E0124016E000E0220036E01C0E9FFF7
:100C1000040E0324EA6EA4C0EFFFA5B1A381A5B31F
:100C2000A383B16BA1C0B0F0B36B080EB26FA1EC9F
:100C300001F001C0E9FF040E0224EA6EA3C0EFFF39
:100C4000000C036AAF51700FE96E0F0E0320EA6EBD
:100C5000EF5219E0B16BAFC0B0F0B36B080EB26FDA
:100C6000A1EC01F002C0B1F001C0B0F0040EB02759
:100C7000000EB123B0C0E9FF040EB125EA6EEFCF3C
:100C8000B0F0B0AF02D0000E01D0010E016E000C2A
:100C9000AAC0AFF0D6DF0152D8B47CD0B16BAAC0E5
:100CA000B0F0B36B080EB26FA1EC01F002C0B0F06F
:100CB00001C0AFF0040EAF27000EB023010EAF2528
:100CC000016E000EB021036E01C0E9FF040E032483
:100CD000EA6EABC0EFFFAD5102081EE1B16BAAC0D6
:100CE000B0F0B36B080EB26FA1EC01F002C0B0F02F
:100CF00001C0AFF0040EAF27000EB023AFC0E9FF74
:100D0000040EB025EA6EEFCFAEF0AEAD02D0AD6B03
:100D100002D0010EAD6F18D0AD51040815E1B16BD2
:100D2000AAC0B0F0B36B080EB26FA1EC01F001C025
:100D3000E9FF040E0224EA6EEFCFAEF0AEAD03D0B1
:100D4000010EAD6F01D0AD6BAD2D03D0C80EAE6FEF
:100D500002D0880EAE6FACB1AE81ACB3AE83B16BD6
:100D6000AAC0B0F0B36B080EB26FA1EC01F002C0E4
:100D7000B0F001C0AFF0040EAF27000EB023AFC03B
:100D8000E9FF040EB025EA6EAEC0EFFF010E016E62
:100D900003D000D0000E016E000C7F51010A03E069
:100DA000030A13E024D0EA6A300EE96E040EE26E04
:100DB000180EE16E080E016EE6CFEEFF012EFCD795
:100DC000A46B2DEC02F07F6B16D0EA6A270EE96E59
:100DD000040EE26E180EE16E070E016EE6CFEEFF16
:100DE000012EFCD77F6BA46B2DEC02F004D07F6B3F
:100DF00086EC01F000D027EF07F0B16BA2C0B0F095
:100E0000B36B080EB26FA1EC01F002C0A4F001C0F8
:100E1000A3F0010E0124016E000E0220036E01C03A
:100E2000E9FF040E0324EA6E036AEFCF01F003C06A
:100E300002F020EF07F079817B6B020EA26FDDD705
:100E400001C07AF02CEF07F0A15302E1A6D704D03D
:100E5000A151020801E1EFD7000CA2C06EFFA2531E
:100E600003E0040E206E02D0020E206E3DEF07F06C
:100E70001A6A196A22C0A2F0F0D7ACEF07F0A2C03C
:100E8000AFF0DFDE015246E0B16BA2C0B0F0B36B51
:100E9000080EB26FA1EC01F002C0ABF001C0AAF0E5
:100EA000040EAA27000EAB23020EAA25016E000E27
:100EB000AB21036E01C0E9FF040E0324EA6EECCF00
:100EC00003F0ED52EFCFA8F003C0A9F0A9C0EAFFEC
:100ED000A8C0E9FFA4C0E2FFA3C0E1FFA6C002F0E2
:100EE000A5C001F0015202E0022A02D0025206E03F
:100EF000E6CFEEFF012EFCD7022EFAD7A2C0AAF051
:100F0000A6C0ACF0A5C0ABF0A7C0ADF0C1DE0150EB
:100F100003D000D0000E016E000C020EA26FA46B75
:100F2000380EA36FA66B78C0A5F0020EA76FA7DFDF
:100F300078C07EF0786B000C785301E0EEDFB1EF03
:100F400007F0A1530AE1192C03D033EC02F004D0CE
:100F50001950020801E18CD704D0A151020801E127
:100F6000EBD7000C6C309F6F9F339F331F0E9F1782
:100F70006C5240E1040100513C0B0001A06F430E94
:100F80000401001700010BEC02F0A05134081BE132
:100F90000401046B0001C9D56D98213C05D0A16BFB
:100FA000030EA26FD7DD0ED0A16B020EA26FD2DDB1
:100FB0002150FE0807E0AA6BAC6B21C0ABF0040E19
:100FC000AD6F66DE16D0A051040813E1A16B3CDFC3
:100FD000A16B020EA26FBEDD2150FE080AE0213C8B
:100FE00001D007D0AA6BAC6B21C0ABF0010EAD6F86
:100FF0004FDE82D06C50040818E1430E0401041740
:1010000000010BEC02F0FF0E216EA16B9ADF213C78
:1010100001D008D0AA6BAC6B21C0ABF0020EAD6F53
:1010200037DE02D086EC01F067D06CB42CD0B16B07
:101030009FC0B0F0B36B080EB26FA1EC01F001C01D
:10104000A1F001C001F0040E0224036E01C0A1F062
:10105000A26FB16B9FC0B0F0B36B080EB26FA1EC82
:1010600001F001C0E9FF040E0224EA6EEF50430BC9
:10107000A2C0EAFFA1C0E9FFEF6E0BEC02F09FC037
:10108000A1F0E2DE39D0B16B9FC0B0F0B36B080EB7
:10109000B26FA1EC01F002C0A2F001C0A1F0040EF9
:1010A000A127000EA223A1C001F0040EA225036E09
:1010B000A1C0A1F0A26FB16B9FC0B0F0B36B080EDE
:1010C000B26FA1EC01F002C0A4F001C0A3F0040EC5
:1010D000A327000EA423A3C0E9FF040EA425EA6EF3
:1010E000EF50430BA2C0EAFFA1C0E9FFEF6E0BEC8B
:1010F00002F09FC0A1F025DFB0EF08F0205201E11F
:1011000035D0685233E068A404D069A402D07EEFE1
:1011100001F06DA201D02AD068AA04D069AA02D039
:1011200096EF01F068A204D069A202D09DEF01F011
:1011300068A004D069A002D010EF02F068A804D023
:1011400069A802D025EF02F068AC04D069AC02D0E7
:101150002AEF02F09E6B68A604D069A602D002D7DF
:1011600001D004D09E519E2B0308F5E2A19A32EFE4
:1011700000F06D6A696A080E6F6E94503009946EC3
:10118000206A186AF2BE188EF29EF7EC01F018BEC3
:10119000F28ECCEF08F0EDD7F2EF08F0186AF2BE4D
:1011A000188EF29EF7EC01F018BEF28E6D6A140EE6
:1011B0006F6E696A6D86010E206EE2EF08F06DB603
:1011C00001D0ECD7202C0BD06DBA09D0686A696ABF
:1011D000A08AC00EF212110E696E020E206EF3EF9D
:1011E00008F0D9D7ECD720500208FCE112EF0BF041
:1011F000EA6A860EE96EEF500EE00F0E016E006A8D
:10120000002EFED7012EFBD78F0E006E002EFED7CC
:101210000000EF2EF2D7000C8DB102D08C9801D0D7
:101220008C8895988DB302D08C9A01D08C8A959A2F
:101230008DB502D08C9C01D08C8C959C8DB702D042
:101240008C9E01D08C8E959E00008D809690070E0E
:10125000006E002EFED700D08D909690000C8E6B05
:101260009588000E83B8010E8E13958A000E83BAFE
:10127000010E006ED890003600508E13958C000E33
:1012800083BC010E006E00360036FC0E00160050C6
:101290008E13958E000E83BE010E006E0036003652
:1012A0000036F80E001600508E138EC001F0000CB0
:1012B0009588958A958C958E8D84969400008D8066
:1012C00096900000CCDF01C08DF08D9096900000CC
:1012D0008D809690030E006E002EFED700D0BFDFEB
:1012E00001C08CF08D9096909598959A959C959EBE
:1012F0008D39006EF00E001600508C11016E84EFD7
:1013000009F08D929692D4D701C08CF001BEFBD724
:101310008A5302E18D9201D08D82969200008D94C5
:10132000969400008D9096908B398C6F0F0E8C17D1
:101330008CC08DF071DF8B510F0B8C6F8D6F6CDF5C
:10134000000C9598959A959C959E96909692969459
:101350008D9296928D9496948D9096900F0E866FA6
:1013600047DF010E846F8451030808E3030E8D6F7D
:1013700053DF050E866F3CDF842BF5D7020E8D6F91
:101380004BDF846B845103080FE3036A8451F2CF6F
:1013900085F0F29E55EC00F085BFF28E856F8A6B6A
:1013A0008B6FAFDF842BEED713EF0BF0872D01D0BF
:1013B00003D0400E886F01D0886B010E865D8827B0
:1013C00088518009896F8A6B8B6F9BDF000C855178
:1013D0000C0A05E0060A0BE0020A0FE013D08A6B44
:1013E000010E8B6F8EDF020E866F02DF11D0010EB1
:1013F000866F020E876FDADF0BD08A6B100E8B6F51
:1014000080DF06D0010E8A6F85C08BF07ADF00D0B6
:101410001FEF0BF08A91F2BE8A81F29E78513F084D
:1014200002E23F0E786F7851782B036A380FE96E2D
:10143000000E0320EA6E89C0EFFFF29E8AB1F28EA1
:10144000186AF2BE188EF29E020EAF6F21EC06F003
:1014500018BEF28E015207E0186AF2BE188EF29E94
:101460005CDD18BEF28E4FEF0AF078513F0814E2AF
:10147000186AF2BE188EF29E020EAF6F21EC06F0D3
:1014800018BEF28E015207E0186AF2BE188EF29E64
:1014900044DD18BEF28EE9D788C089F0BBD7000CB6
:1014A00087BF0FD00F0E006E863900160A0E005C43
:1014B00003E2300E002602D08751002600C088F0DB
:1014C000D4DF0F0E86170A0E865D02E2300E02D0C0
:1014D000879F8751862786C088F0C7DF4DEF0BF0C6
:1014E0007991186AF2BE188EF29E020EA16FA26F59
:1014F000AAEC05F018BEF28E91EF0AF079B101D096
:10150000FDD77B517B2BA00F036AD8B0032AE96E6D
:10151000040E0324EA6EEFCF87F07A517B5D01E37E
:10152000DFD787C001F096EF0AF0E8D701C086F058
:1015300086C088F09ADF8651390805E3300E865D53
:10154000016E0FD00ED08651600806E286517A08EF
:1015500003E38651DF0B01D08651BF0F0A0F016EE6
:1015600000D0000CE2DF01C085F0DFDF01C084F0B5
:101570008451DD0804E185C001F007D006D0855113
:10158000100DF3508425016E00D0000CF86AD09E37
:10159000088EEA6AE96AB886E10EAF6E040EB06E94
:1015A000A60EAC6E900EAB6EB886E10EAF6E040E5A
:1015B000B06EA60EAC6E900EAB6EC150C00B0F0994
:1015C000C16E070EB46E1D6A040E1E6E0C0E1F6EE9
:1015D000206A246A786B7F6BC150C00B0F09C16E03
:1015E000C290B098C69A949E93809392010EC66E54
:1015F000000EC76ED190800ED56ECD6A000ECA6EF9
:10160000000ECB6EB16A070EB46E9250926E270E2A
:10161000006E002EFED700D0B450A19CB56AC00E5B
:10162000F212DFD58ED6010E866F876FBFDE846B18
:10163000845127EC01F0842B006E856FC8D60A0E0A
:10164000845DF6E17CA1FED7846B84513AEC01F015
:10165000842B006E886F09DF0C0E845DF6E1806BD1
:101660008051030827E3816B81510F081BE38051F0
:10167000100DF3508125846FF2CF85F0F29E84C067
:10168000A9FFA69CA69EA680A85085BFF28E846F57
:1016900084C086F0570E876F03D7200E886FE5DE73
:1016A000812BE2D70A0E886FE0DE0D0E886FDDDE3B
:1016B000802BD6D7846B84514EEC01F0842B006EC6
:1016C000886FD3DE160E845DF6E14CDF01C082F038
:1016D000846B845167EC01F0842B006E886FC5DE4B
:1016E0000D0E845DF6E13EDF01C083F082C0A9FFEC
:1016F00083C0A8FFA69CA69EA684F2CF00F0F29E0F
:101700000F01550EA76EAA0EA76EA682A6B2FED72F
:0C171000A6940050F212000197D70300CD
:0200000400F00A
:0400000001020304F2
:1001700000000000F76A840FF66E010EF7220900F6
:10018000F550120009024300020100803209040008
:1001900000010202010005240010010424020205EE
:1001A000240600010524010001070581030800FA67
:1001B00009040100020A00000007050202410001D3
:1001C0000705820241000100F76AD80FF66E010EA2
:1001D000F7220900F55012000200F76AEA0FF66EE6
:1001E000010EF7220900F550120012171B20FFFF25
:1001F000FFFFF76A020FF66E020EF7220900F550B4
:1002000012001201100102000040610433000001DD
:1002100001020001F76A240FF66E020EF7220900B0
:10022000F55012000403090408034300430053007F
:100230001803530045005200490041004C002000C3
:10024000440045004D004F00F2CF0EF0F29EF76AD9
:10025000620FF66E020EF7220900F5500EBEF28E06
:10026000120054455354204D4F444500F2CF0EF038
:10027000F29EF76A860FF66E020EF7220900F5501D
:100280000EBEF28E120053544F5057415443483023
:1002900031410000F2CF0EF0F29EF76AAE0FF66E1B
:1002A000020EF7220900F5500EBEF28E1200202039
:1002B00020204B616B6C696B2032303130200000A4
:1002C000F2CF0EF0F29EF76ADA0FF66E020EF72208
:1002D0000900F5500EBEF28E12000A2057616974B3
:1002E000696E6720666F722050432E2E2E2000000C
:1002F000F2CF0EF0F29EF76A0A0FF66E030EF722A7
:100300000900F5500EBEF28E1200504320636F6E4E
:100310006E65637465642E2E2E00F2CF0EF0F29E91
:10032000F76A340FF66E030EF7220900F5500EBE81
:10033000F28E1200535441525400F2CF0EF0F29E4E
:10034000F76A540FF66E030EF7220900F5500EBE41
:10035000F28E120053544F5000001950040DF35008
:10036000036A1A0FE96E000E0320EA6ED650EF6E94
:10037000D7CFECFFEC6AEC6A2D6A2C6A2B6A2A6AEA
:10038000D76AD66A1950020802E3192A02D0F296F7
:100390002E6A2D6A2C6A2B6A2A6AD76AD66AF2906C
:1003A00038EF00F0010E2A26D8B02B2AD8B42C2A18
:1003B000D8B42D2AF29438EF00F06D92699468A4B5
:1003C00002D06894FCD7E8EF08F0400E0401016FFA
:1003D000040E036F180E026F880E006F046B040E7C
:1003E000076F580E066F0001000C70A002D0EDDF01
:1003F0007090689AF1EF08F06A6A6892F7EF08F077
:10040000CE51D003F3CF01F0F4CF00F0D103F3507D
:100410000026CF51D003F3500020026E000C036A77
:10042000C851700FE96E0F0E0320EA6EEF6ACF6BB2
:10043000C8C0CEF0D16B080ED06FE2DF01C0E9FF7B
:10044000040E0224EA6EEF6ACF6BC8C0CEF0D16B07
:10045000080ED06FD5DF02C0CAF001C0C9F0040E8B
:10046000C927000ECA23C9C0E9FF040ECA25EA6ED7
:10047000EF6A000C010EC76FC7510F0805E3C7C034
:10048000C8F0CDDFC72BF8D7000C446A436A250EAD
:10049000426E800E416E456A466A080E476E976B43
:1004A0009691496A486A926B9391000CBD6BBD515D
:1004B00001080AE3036ABD513F0FE96E000E0320F5
:1004C000EA6EEF6ABD2BF3D7E0DF346A010E356EBA
:1004D000336A000C689600D000D000D0000C6A6A25
:1004E000686A9F0E6B6E3D0E696E6E6AC3DFDEDF5B
:1004F000160E706E68A602D0EDDFFCD76D9865DF32
:10050000030E3A6EFDEF08F0698468986D8203EF80
:1005100009F0689C09EF09F0C2C03BF0000CFF0E27
:100520003B6E000CC06B3E5237E0C0513F0834E3D5
:10053000365005E0020A0DE0010A15E01ED0036AFC
:100540003D50F2CFC2F0F29E15DEC2BFF28EC16FF7
:1005500014D0036A3D50F2CFC2F0F29E5BDEC2BF00
:10056000F28EC16F0AD0036A3D50F2CFC2F0F29E04
:1005700040DEC2BFF28EC16F00D03D2A3E06C051A0
:10058000C02B580F036AD8B0032AE96E040E032467
:10059000EA6EC1C0EFFFC7D73E5204E1C051400828
:1005A00001E0336AC0C0C2F0B7DF000C3D6A366AB2
:1005B00004011B51010A000107E0030A0AE0010AD5
:1005C0000BE0220A20E03AD0120E3E6E030E366E89
:1005D00037D0430E3E6E34D0020E366E036A0401ED
:1005E0001A51370FE96E000E0320EA6EEFCF3DF08F
:1005F000036A3D50F2CFBFF0F29E00010BDEBFBF99
:10060000F28E3E6E1DD0036A04011A51F2CFBFF084
:10061000F29E0001E2DDBFBFF28E3D6E3D3C01D097
:100620000BD0036A3D50F2CFBFF0F29EA3DDBFBFF7
:10063000F28E3E6E05D002D072DF0ED070DF0CD08D
:1006400004011F5305E13E501E5D02E21EC43EF050
:10065000010E336E000166DF6CEF04F0BF5304E15E
:10066000040E3A6E07DFE7D0050E3A6E040EC26F35
:10067000980EC16F010EC06FC0510F08D8A0DBD01B
:10068000C0C0C8F0CCDEC36B036AC051F2CFC7F064
:10069000F29E30DDC7BFF28EFF0863E0040EC36F29
:1006A000D890C035036AF2CFC7F0F29E4BDD090047
:1006B000F5CF03F0C7BFF28EC46F03C0C5F0CF6B98
:1006C000C0C0CEF0D16B080ED06F9ADE01C0C7F06B
:1006D000010E0124016E000E0220036E01C0E9FF2D
:1006E000040E0324EA6EC4C0EFFFCF6BC0C0CEF08F
:1006F000D16B080ED06F84DE01C0C7F0020E01245A
:10070000016E000E0220036E01C0E9FF040E0324F7
:10071000EA6EC2C0ECFFED52C1C0EFFFD890C03509
:10072000036AF2CFC7F0F29E0DDD0900F5CF03F0AA
:10073000C7BFF28EC1270350C223880EC66FC5B152
:10074000C681C5B3C683CF6BC0C0CEF0D16B080ED7
:10075000D06F56DE01C0E9FF040E0224EA6EC6C067
:10076000EFFF036AC051F2CFC7F0F29EB3DCC7BF00
:10077000F28EFF0845E0C383CF6BC0C0CEF0D16BD3
:10078000080ED06F3DDE02C0C8F001C0C7F0040EF5
:10079000C727000EC823020EC725016E000EC82110
:1007A000036E01C0E9FF040E0324EA6EC2C0ECFF31
:1007B000ED52C1C0EFFFD890C035036AF2CFC7F049
:1007C000F29EA8DC0900F5CF03F0C7BFF28EC12767
:1007D0000350C223CF6BC0C0CEF0D16B080ED06FD8
:1007E0000FDE02C0C8F001C0C7F0040EC727000E1C
:1007F000C823C7C0E9FF040EC825EA6E400EEF6E9D
:10080000C351060802E10E0EC36F036AC051F2CF56
:10081000C7F0F29E5FDCC7BFF28E0108D8A4C3897F
:10082000036AC051700FE96E0F0E0320EA6EC3C059
:10083000EFFFC02B21D766EF04F00401195100012E
:100840000DE0010A14E0020A1EE0060A27E0030A8E
:100850002CE00E0A2BE0010A2FE03CD035C058F402
:100860000401596B020E0001C26F56DE35D004013F
:100870001A2D06D0010E35160001C26B4DDE02D0D6
:1008800000014DDE29D004011A2D05D0358200016A
:10089000C26B42DE02D0000142DE1ED0020E336E79
:1008A0001AC43CF0C26B38DE17D080D634C058F47E
:1008B000010EC26F31DE10D004011A51010808E3A5
:1008C0001AC434F01AC4BFF00001C8D6C26B24DECB
:1008D000000102D024DE00D007EF06F034C0BFF0E4
:1008E00004011951000105E00A0A0BE0010A2BE09E
:1008F0003CD00401586B596B020E0001C26F0CDE34
:1009000036D0BF531EE0010EBF5D036AF2CFC0F0C8
:10091000F29E5ADCC0BFF28E016E04011C5DD8A0AD
:1009200002D000010ED0036A1C513F0FE96E000E89
:100930000320EA6EEFCF58F4010E0001C26FECDD28
:1009400001D0EDDD14D0BF530EE0036A04011C5149
:100950003F0FE96E000E0320EA6E1AC4EFFF00019C
:10096000C26BDADD01D0DBDD02D0D9DD00D007EFCC
:1009700006F0C091BFBFC081BF9FC0A111D0036A64
:10098000BF51F2CFC1F0F29E6AEC00F0C1BFF28E0F
:10099000FF0802E1000E01D0010E016E11D010D04F
:1009A000036ABF51F2CFC1F0F29E7AEC00F0C1BFF2
:1009B000F28EFF0802E1000E01D0010E016E00D0A0
:1009C00073EF05F0C091BFBFC081BF9FC0A117D01A
:1009D000CF6BBFC0CEF0D16B080ED06F11DD02C05F
:1009E000C2F001C0C1F0040EC127000EC223C1C075
:1009F000E9FF040EC225EA6E880EEF6E0DD0CF6BB4
:100A0000BFC0CEF0D16B080ED06FFADC01C0E9FF99
:100A1000040E0224EA6EEF6A82EF05F0C091BFBFB8
:100A2000C081BF9FC0A117D0CF6BBFC0CEF0D16B2C
:100A3000080ED06FE5DC02C0C2F001C0C1F0040EA8
:100A4000C127000EC223C1C0E9FF040EC225EA6E11
:100A5000840EEF6E0ED0CF6BBFC0CEF0D16B080E00
:100A6000D06FCEDC01C0E9FF040E0224EA6E840ED2
:100A7000EF6E88EF05F0C091BFBFC081BF9FC0A1DE
:100A800017D0CF6BBFC0CEF0D16B080ED06FB8DCE3
:100A900002C0C3F001C0C2F0040EC227000EC3237F
:100AA000C2C0E9FF040EC325EA6EEFCFC1F00ED03D
:100AB000CF6BBFC0CEF0D16B080ED06FA1DC01C0F0
:100AC000E9FF040E0224EA6EEFCFC1F0C1AF02D0FD
:100AD000C1B502D0000E01D0010E016E92EF05F0FB
:100AE0001CC4BFF046D7015229E004011951010A84
:100AF000000105E0020A09E0030A0DE01DD01CC454
:100B0000BFF060D7C26B08DD19D01CC4BFF086D718
:100B1000C26B02DD13D00401586B596B1CC4BFF0CB
:100B20000001A9D7015204E0010E0401586F000131
:100B3000020EC26FF1DC02D0F2DC00D007EF06F04B
:100B4000FE0E3B6E000C04011C2D01D002D01C5384
:100B500048E1195100010BE0010A0DE0210A1CE0F7
:100B6000010A1FE0030A2EE0010A31E037D0010E2E
:100B7000996FE6DF35D0040EEA6E580EE96EE26A30
:100B80004A0EE16E080E016EE6CFEEFF012EFCD795
:100B90001EC4C2F0C1DC24D0020E996F9681D0DF52
:100BA0001FD0040EEA6E580EE96EE26A410EE16E45
:100BB000070E016EE6CFEEFF012EFCD7070EC26FC7
:100BC000ABDC0ED01AC497F0C26BA6DC09D01AC4F5
:100BD00049F01BC448F0C26B9FDC02D0A0DC00D0FF
:100BE0000401000107EF06F0336A040118517F0B7E
:100BF000000107E0010A06E0030A05E0230A04E019
:100C000004D01BD66BD66CD79ED789DC00D02BEFD7
:100C100008F0CF6BBFC0CEF0D16B080ED06F00ECE8
:100C200002F001C0E9FF040E0224EA6EEFCFC1F02A
:100C3000C051020806E1C1AD02D0C06B02D0010E66
:100C4000C06FC05103081AE1840EC16FCF6BBFC0E3
:100C5000CEF0D16B080ED06F00EC02F002C0C5F0F0
:100C600001C0C4F0040EC427000EC523C4C0E9FFB0
:100C7000040EC525EA6E840EEF6E07D0C02D03D09A
:100C8000C80EC16F02D0880EC16FD890BF35036AFD
:100C9000F2CFC4F0F29EA2EC00F00900F5CF03F011
:100CA000C4BFF28EC26F03C0C3F0CF6BBFC0CEF023
:100CB000D16B080ED06F00EC02F001C0C4F0010E41
:100CC0000124016E000E0220036E01C0E9FF040E34
:100CD0000324EA6EC2C0EFFFC3B1C181C3B3C183B5
:100CE000CF6BBFC0CEF0D16B080ED06F00EC02F01E
:100CF00001C0E9FF040E0224EA6EC1C0EFFF000C40
:100D0000036ACD51700FE96E0F0E0320EA6EEF52A9
:100D100019E0CF6BCDC0CEF0D16B080ED06F00ECD8
:100D200002F002C0CFF001C0CEF0040ECE27000EBC
:100D3000CF23CEC0E9FF040ECF25EA6EEFCFCEF071
:100D4000CEAF02D0000E01D0010E016E000CC8C063
:100D5000CDF0D6DF0152D8B47CD0CF6BC8C0CEF076
:100D6000D16B080ED06F00EC02F002C0CEF001C0D3
:100D7000CDF0040ECD27000ECE23010ECD25016E41
:100D8000000ECE21036E01C0E9FF040E0324EA6EBB
:100D9000C9C0EFFFCB5102081EE1CF6BC8C0CEF037
:100DA000D16B080ED06F00EC02F002C0CEF001C093
:100DB000CDF0040ECD27000ECE23CDC0E9FF040EEA
:100DC000CE25EA6EEFCFCCF0CCAD02D0CB6B02D00B
:100DD000010ECB6F18D0CB51040815E1CF6BC8C002
:100DE000CEF0D16B080ED06F00EC02F001C0E9FF2D
:100DF000040E0224EA6EEFCFCCF0CCAD03D0010E8E
:100E0000CB6F01D0CB6BCB2D03D0C80ECC6F02D0F3
:100E1000880ECC6FCAB1CC81CAB3CC83CF6BC8C0AB
:100E2000CEF0D16B080ED06F00EC02F002C0CEF015
:100E300001C0CDF0040ECD27000ECE23CDC0E9FFBA
:100E4000040ECE25EA6ECCC0EFFF010E016E03D07A
:100E500000D0000E016E000C9951010A03E0030A54
:100E600013E024D0EA6A4A0EE96E040EE26E180E10
:100E7000E16E080E016EE6CFEEFF012EFCD7C26BCD
:100E80008CEC02F0996B16D0EA6A410EE96E040E02
:100E9000E26E180EE16E070E016EE6CFEEFF012E38
:100EA000FCD7996BC26B8CEC02F004D0996BE5EC2B
:100EB00001F000D086EF07F0CF6BC0C0CEF0D16B51
:100EC000080ED06F00EC02F002C0C2F001C0C1F009
:100ED000010E0124016E000E0220036E01C0E9FF25
:100EE000040E0324EA6E036AEFCF01F003C002F0A0
:100EF0007FEF07F09381956B020EC06FDDD701C0C5
:100F000094F08BEF07F0BF5302E1A6D704D0BF5196
:100F1000020801E1EFD7000CC0C06EFFC05303E030
:100F2000040E3A6E02D0020E3A6E9CEF07F0346A5D
:100F3000336A3CC0C0F0F0D70BEF08F0C0C0CDF072
:100F4000DFDE015246E0CF6BC0C0CEF0D16B080EA1
:100F5000D06F00EC02F002C0C9F001C0C8F0040E6E
:100F6000C827000EC923020EC825016E000EC92134
:100F7000036E01C0E9FF040E0324EA6EECCF03F018
:100F8000ED52EFCFC6F003C0C7F0C7C0EAFFC6C03E
:100F9000E9FFC2C0E2FFC1C0E1FFC4C002F0C3C0AC
:100FA00001F0015202E0022A02D0025206E0E6CF2E
:100FB000EEFF012EFCD7022EFAD7C0C0C8F0C4C085
:100FC000CAF0C3C0C9F0C5C0CBF0C1DE015003D028
:100FD00000D0000E016E000C020EC06FC26B520EEC
:100FE000C16FC46B92C0C3F0020EC56FA7DF92C081
:100FF00098F0926B000C925301E0EEDF10EF08F0D6
:10100000BF530AE1332C03D092EC02F004D03350EA
:10101000020801E18CD704D0BF51020801E1EBD7EF
:10102000000C6C30BD6FBD33BD331F0EBD176C524D
:1010300040E1040100513C0B0001BE6F430E04016E
:10104000001700016AEC02F0BE5134081BE10401F4
:10105000046B0001C9D56D983B3C05D0BF6B030EF6
:10106000C06FD7DD0ED0BF6B020EC06FD2DD3B501C
:10107000FE0807E0C86BCA6B3BC0C9F0040ECB6F1B
:1010800066DE16D0BE51040813E1BF6B3CDFBF6BB8
:10109000020EC06FBEDD3B50FE080AE03B3C01D0B3
:1010A00007D0C86BCA6B3BC0C9F0010ECB6F4FDED7
:1010B00082D06C50040818E1430E040104170001AB
:1010C0006AEC02F0FF0E3B6EBF6B9ADF3B3C01D037
:1010D00008D0C86BCA6B3BC0C9F0020ECB6F37DEBD
:1010E00002D0E5EC01F067D06CB42CD0CF6BBDC062
:1010F000CEF0D16B080ED06F00EC02F001C0BFF053
:1011000001C001F0040E0224036E01C0BFF0C06FE5
:10111000CF6BBDC0CEF0D16B080ED06F00EC02F0EB
:1011200001C0E9FF040E0224EA6EEF50430BC0C079
:10113000EAFFBFC0E9FFEF6E6AEC02F0BDC0BFF08E
:10114000E2DE39D0CF6BBDC0CEF0D16B080ED06FD0
:1011500000EC02F002C0C0F001C0BFF0040EBF27D7
:10116000000EC023BFC001F0040EC025036EBFC037
:10117000BFF0C06FCF6BBDC0CEF0D16B080ED06F8B
:1011800000EC02F002C0C2F001C0C1F0040EC127A1
:10119000000EC223C1C0E9FF040EC225EA6EEF5063
:1011A000430BC0C0EAFFBFC0E9FFEF6E6AEC02F07C
:1011B000BDC0BFF025DF0FEF09F03A5201E135D095
:1011C000685233E068A404D069A402D0DDEF01F0D6
:1011D0006DA201D02AD068AA04D069AA02D0F5EF86
:1011E00001F068A204D069A202D0FCEF01F068A06F
:1011F00004D069A002D06FEF02F068A804D069A8FB
:1012000002D084EF02F068AC04D069AC02D089EF60
:1012100002F0BC6B68A604D069A602D002D701D048
:1012200004D0BC51BC2B0308F5E2A19A38EF00F0C2
:10123000EA6A9C0EE96EEF500EE00F0E016E006A36
:10124000002EFED7012EFBD78F0E006E002EFED78C
:101250000000EF2EF2D7000CA3B102D08C9801D081
:101260008C889598A3B302D08C9A01D08C8A959AD9
:10127000A3B502D08C9C01D08C8C959CA3B702D0D6
:101280008C9E01D08C8E959E00008D809690070ECE
:10129000006E002EFED700D08D909690000CA46BAF
:1012A0009588000E83B8010EA413958A000E83BAA8
:1012B000010E006ED89000360050A413958C000EDD
:1012C00083BC010E006E00360036FC0E0016005086
:1012D000A413958E000E83BE010E006E00360036FC
:1012E0000036F80E00160050A413A4C001F0000C44
:1012F0009588958A958C958E8D84969400008D8026
:1013000096900000CCDF01C0A3F08D909690000075
:101310008D809690030E006E002EFED700D0BFDFAA
:1013200001C0A2F08D9096909598959A959C959E67
:10133000A339006EF00E00160050A211016EA4EF4A
:1013400009F08D929692D4D701C0A2F001BEFBD7CE
:10135000A05302E18D9201D08D82969200008D946F
:10136000969400008D909690A139A26F0F0EA2174F
:10137000A2C0A3F071DFA1510F0BA26FA36F6CDFAE
:10138000000C9598959A959C959E96909692969419
:101390008D9296928D9496948D9096900F0E9C6F50
:1013A00047DF010E9A6F9A51030808E3030EA36FFB
:1013B00053DF050E9C6F3CDF9A2BF5D7020EA36F0F
:1013C0004BDF9A6B9A5103080FE3036A9A51F2CFED
:1013D0009BF0F29E5BEC00F09BBFF28E9B6FA06BCC
:1013E000A16FAFDF9A2BEED7E0EF0BF06D6A696A61
:1013F000080E6F6E94503009946E3A6A186AF2BE05
:10140000188EF29E56EC02F018BEF28E09EF0AF02A
:10141000EDD72FEF0AF0186AF2BE188EF29E56EC46
:1014200002F018BEF28E6D6A140E6F6E696A6D86D8
:10143000010E3A6E1FEF0AF06DB601D0ECD73A2CD0
:101440000BD06DBA09D0686A696AA08AC00EF21220
:10145000110E696E020E3A6E30EF0AF0D9D7ECD752
:101460003A500208FCE1E1EF0BF09D2D01D003D0D2
:10147000400E9E6F01D09E6B010E9C5D9E279E517B
:1014800080099F6FA06BA16F5CDF000C9B510C0A61
:1014900005E0060A0BE0020A0FE013D0A06B010E74
:1014A000A16F4FDF020E9C6FC3DE11D0010E9C6F47
:1014B000020E9D6FDADF0BD0A06B100EA16F41DF23
:1014C00006D0010EA06F9BC0A1F03BDF00D0000C46
:1014D000010E9D5F0CE3EA6A9D0EE96EEF5007E096
:1014E000020E006E002EFED700D0EF2EF9D783EF4C
:1014F0000AF09A519B110EE094908B70040E9C6F31
:10150000C80E9D6FE5D79C2FFBD79A51D8B49B0787
:101510009A07EFD72BEF0CF0010E9C6F9D6FA5DFA4
:101520009A6B9A5124EC01F09A2B006E9B6FAEDF00
:10153000090E9A5DF6E12FEF0CF0A891F2BEA8819A
:10154000F29E92513F0802E23F0E926F9251922B0F
:10155000036A520FE96E000E0320EA6EA7C0EFFF88
:10156000F29EA8B1F28E186AF2BE188EF29E020E9A
:10157000CD6F80EC06F018BEF28E015207E0186ABB
:10158000F2BE188EF29E28DD18BEF28EE2EF0AF04F
:1015900092513F0814E2186AF2BE188EF29E020EB3
:1015A000CD6F80EC06F018BEF28E015207E0186A8B
:1015B000F2BE188EF29E10DD18BEF28EE9D7A6C0DC
:1015C000A7F0BBD7000C006A016A026A036AAE6B1F
:1015D000AF6BB06BB16BAD51AC11AB11AA112CE07C
:1015E000200EB26FD890A637A737A837A937AE37E5
:1015F000AF37B037B137AD51B15D08E1AC51B05D37
:1016000005E1AB51AF5D02E1AA51AE5D0FE3AA5116
:10161000AE5FAB51D8A0AB3DAF5FAC51D8A0AC3DF5
:10162000B05FAD51D8A0AD3DB15FD8800036013676
:1016300002360336B22FD6D7EA6AAE0EE96E000C38
:10164000E9509E6F9DAF0DD09E079E8B9A1F9B1FEA
:101650009C1F9D1F9A2BD8B49B2BD8B49C2BD8B41D
:101660009D2B3B0EA56F9A0EA46FCA0EA36FA26BA3
:101670000A0EA06F9DC0A9F09CC0A8F09BC0A7F067
:101680009AC0A6F0A5C0ADF0A4C0ACF0A3C0ABF06A
:10169000A2C0AAF098DF0150EFCF9AF0ECCF9BF0F8
:1016A000ECCF9CF0ECCF9DF000520FE1A051010A6D
:1016B0000CE09E510CE00F0BA05D01E024E29EBF08
:1016C00022D09EBD04D0200E1AD0200E9E179EABB5
:1016D00009D09E9B00C09EF02D0EA66F59DF9EC0C4
:1016E00000F09E6B300E9EAB0AD09E9B00C09EF019
:1016F0002D0EA66F4DDF9EC000F09E6B300E0026B3
:1017000000C0A6F045DFA5C0A9F0A4C0A8F0A3C002
:10171000A7F0A2C0A6F0AD6BAC6BAB6B0A0EAA6FC4
:1017200052DF03C0A5F002C0A4F001C0A3F000C0C6
:10173000A2F0A02F9FD7000CF86AD09E088EEA6A0C
:10174000E96AB886E10EAF6E040EB06EA60EAC6EFE
:10175000900EAB6EC150C00B0F09C16E070EB46E78
:10176000376A040E386E0C0E396E3A6A3E6A926B16
:10177000996BC150C00B0F09C16EF19EC290B09819
:10178000C69A949E93809392010EC66E000EC76E09
:10179000D190830ED56ECD6A000ECA6E000ECB6E50
:1017A000B16A070EB46E9250926E270E006E002E34
:1017B000FED700D0B450A19CB56AC00EF212E1D59C
:1017C0004DD6010E9C6F9D6F50DE9A6B9A5136EC90
:1017D00001F09A2B006E9B6F59DE0C0E9A5DF6E1BC
:1017E000010E9C6F020E9D6F40DE9A6B9A514AEC7F
:1017F00001F09A2B006E9B6F49DE100E9A5DF6E1A8
:10180000040E9A6FFA0E9C6F13DD9A2FFBD7010E10
:101810009C6F9D6F2ADE9A6B9A5160EC01F09A2BB7
:10182000006E9B6F33DE140E9A5DF6E196A1FED733
:10183000010E9C6F9D6F19DE9A6B9A5178EC01F046
:101840009A2B006E9B6F22DE0F0E9A5DF6E19B6B6A
:101850000A0E9A6F4ED6958083B001D05DD6326A5B
:10186000316A306A2F6A1D6A1C6A1B6A1A6A216A09
:10187000206A1F6A1E6A256A246A236A226A296A04
:10188000286A276A266A010E2F26D8B0302AD8B4D3
:10189000312AD8B4322A030E9C6F010E9D6FE5DD0C
:1018A0009A6B9A518DEC01F09A2B006E9B6FEEDDD6
:1018B000050E9A5DF6E1958283B2FDD72D6A2C6AFA
:1018C0002B6A2A6AD76AD66A196A010E2E6EF294BA
:1018D000F290F28AF286060E9C6F010E9D6FC5DDB6
:1018E0009A6B9A519DEC01F09A2B006E9B6FCEDDA6
:1018F000040E9A5DF6E12E2C01D0FDD70A0EA66FDC
:1019000047DE0D0EA66F44DE200EA66F41DE410EAF
:10191000E96E32C09DF031C09CF030C09BF02FC00A
:101920009AF08EDE200EA66F33DE410EE96E1DC0EA
:101930009DF01CC09CF01BC09BF01AC09AF080DE8A
:10194000200EA66F25DE410EE96E21C09DF020C05D
:101950009CF01FC09BF01EC09AF072DE200EA66F96
:1019600017DE410EE96E25C09DF024C09CF023C017
:101970009BF022C09AF064DE200EA66F09DE410EB5
:10198000E96E29C09DF028C09CF027C09BF026C0BE
:081990009AF056DE78D703003F
:020000040030CA
:0E00000024CE390E0087A1000FC00FE00F4084
:0E00000024CE390E0005A1000FC00FE00F4006
:00000001FF
;PIC18F4550
;CRC=C6BC CREATED="04-X-09 16:54"
;CRC=266D CREATED="03-I-10 00:38"
/Designs/STOPWATCH02A/SW/main.pjt
18,8 → 18,8
[Opened Files]
1=main.c
2=
3=C:\Program Files\PICC\devices\18F4550.h
4=C:\Program Files\PICC\drivers\usb_cdc.h
3=
4=
5=C:\Program Files\PICC\drivers\pic18_usb.h
6=C:\Program Files\PICC\drivers\usb_hw_layer.h
7=C:\Program Files\PICC\drivers\usb_desc_cdc.h