diff --git a/Controle_moteurs_PID/MDK-ARM/GM6020_demo.uvoptx b/Controle_moteurs_PID/MDK-ARM/GM6020_demo.uvoptx index b5a1baa016491dd2d413a672fc55f6168fa220cd..9d338d5d0d2649d0aebfd84b3f363a708c59e492 100644 --- a/Controle_moteurs_PID/MDK-ARM/GM6020_demo.uvoptx +++ b/Controle_moteurs_PID/MDK-ARM/GM6020_demo.uvoptx @@ -150,7 +150,7 @@ <SetRegEntry> <Number>0</Number> <Key>ST-LINKIII-KEIL_SWO</Key> - <Name>-U-O142 -O2254 -SF10000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(2BA01477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F4xx_2048.FLM -FS08000000 -FL0200000 -FP0($$Device:STM32F427IIHx$CMSIS\Flash\STM32F4xx_2048.FLM)</Name> + <Name>-U-O142 -O2254 -SF10000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(2BA01477) -L00(0) -TO131090 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F4xx_2048.FLM -FS08000000 -FL0200000 -FP0($$Device:STM32F427IIHx$CMSIS\Flash\STM32F4xx_2048.FLM)</Name> </SetRegEntry> </TargetDriverDllRegistry> <Breakpoint/> @@ -182,9 +182,9 @@ <DebugFlag> <trace>0</trace> <periodic>1</periodic> - <aLwin>0</aLwin> + <aLwin>1</aLwin> <aCover>0</aCover> - <aSer1>1</aSer1> + <aSer1>0</aSer1> <aSer2>0</aSer2> <aPa>0</aPa> <viewmode>1</viewmode> @@ -199,7 +199,7 @@ <aLa>0</aLa> <aPa1>0</aPa1> <AscS4>0</AscS4> - <aSer4>0</aSer4> + <aSer4>1</aSer4> <StkLoc>0</StkLoc> <TrcWin>0</TrcWin> <newCpu>0</newCpu> @@ -330,7 +330,7 @@ <Group> <GroupName>Drivers/STM32F4xx_HAL_Driver</GroupName> - <tvExp>1</tvExp> + <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <cbSel>0</cbSel> <RteFlg>0</RteFlg> diff --git a/Controle_moteurs_PID/MDK-ARM/GM6020_demo/GM6020_demo.hex b/Controle_moteurs_PID/MDK-ARM/GM6020_demo/GM6020_demo.hex index 4dce745bce95a6a37722a1fdf90ea06f0f94ddad..49ac1b3fac0cd4e0ce6ab479994da8a3fbb11008 100644 --- a/Controle_moteurs_PID/MDK-ARM/GM6020_demo/GM6020_demo.hex +++ b/Controle_moteurs_PID/MDK-ARM/GM6020_demo/GM6020_demo.hex @@ -1,5 +1,5 @@ :020000040800F2 -:1000000040060020C1010008431700082115000820 +:1000000048060020C1010008431700082115000818 :1000100041170008CD020008891A000800000000FE :10002000000000000000000000000000671700084A :10003000E9020008000000006517000869170008C1 @@ -26,7 +26,7 @@ :10018000DB010008DB010008DB010008DB010008DF :10019000DB010008DB010008DB010008DB010008CF :1001A0000000000000000000DB010008DFF80CD0B8 -:1001B00000F07AF8004800470D1B000840060020B8 +:1001B00000F07AF800480047551B00084806002068 :1001C0000648804706480047FEE7FEE7FEE7FEE7F1 :1001D000FEE7FEE7FEE7FEE7FEE7FEE7F1170008B1 :1001E000AD0100082DE9F05F0546002092469B46D0 @@ -43,9 +43,9 @@ :1002900002F00021704721FA02F3D040C2F120029F :1002A0009140084319467047064C074D06E0E06848 :1002B00040F0010394E8070098471034AC42F6D3AD -:1002C000FFF778FF5C1E00087C1E0008FEE70000B8 -:1002D000014800F087B9000088010020014800F0C3 -:1002E00081B90000880100207047704790F82020F5 +:1002C000FFF778FFB01E0008D01E0008FEE7000010 +:1002D000014800F087B900008C010020014800F0BF +:1002E00081B900008C0100207047704790F82020F1 :1002F000012A09D090F82020022A05D0416A41F451 :100300008021416201207047006842690A434261CE :1003100000207047F0B590F82040012C07D090F8ED @@ -158,7 +158,7 @@ :1009C00052BA8A80BDF81E2052BACA80BDF82020D3 :1009D00052BA0A819DF822208A720188B1F5FA7F05 :1009E00006D1002101800648016881F48041016040 -:1009F00009B000BD006400401A000020EC01002096 +:1009F00009B000BD006400401A000020F001002092 :100A000014140240704770477047000070B50446E8 :100A100090F82000012804D0606A40F40020606251 :100A200018E0022084F820002068016821F001010C @@ -236,7 +236,7 @@ :100EA0002878000706D52068296920F4604040EAC8 :100EB000C100206000F016F82168084AC1F3031150 :100EC000515CC840064908600020FFF7FDFE002085 -:100ED000C5E70000003C0240083802404C1E0008F4 +:100ED000C5E70000003C024008380240A01E0008A0 :100EE00014000020154810B5006810F00C021448DA :100EF00013D01449042A0FD0082A0ED10F4C241FF6 :100F00002268236802F03F025B0207D52068C0F325 @@ -341,7 +341,7 @@ :1015300000214FF400228160C0E903124FF44012F1 :1015400042610176012242768176C1760177417748 :10155000FFF746F9002803D0BDE81040FEF7C5BEEE -:1015600010BD000000640040880100202DE9F04714 +:1015600010BD0000006400408C0100202DE9F04710 :1015700086B014216846FEF76DFE374800240168E6 :1015800041F008010160016801F00801059101685E :1015900041F001010160016801F00101059101685C @@ -370,7 +370,7 @@ :101700000E48FFF759FE08B1FEF7EFFD0794089465 :1017100009944FF400500A94CDE90B4007A90748FB :101720000D94FFF7B3FD08B1FEF7DFFD0348FFF7A7 -:1017300003FE10B010BD000000000140B001002009 +:1017300003FE10B010BD000000000140B401002005 :10174000FEE770470907090E002806DA00F00F00CF :1017500000F1E02080F8141D704700F1E02080F8CF :101760000014704770477047FFF78CBA30B593B0DC @@ -423,71 +423,76 @@ :101A500005238D6824F4005444EA0534084DA84257 :101A600002D0084DA84204D14D6922F4804242EAD6 :101A700085124260C36149680164046230BD0000A0 -:101A80000000014000040140FEE702E008C8121F08 -:101A900008C1002AFAD170477047002001E001C157 -:101AA000121F002AFBD1704700B58BB00021012224 -:101AB000CDE90612059100910191029103910491E3 -:101AC0000E21CDE908216946FEF788FC0448FEF79F -:101AD0009DFF02210248FEF709FC0BB000BD00008B -:101AE0008801002010B5074C04216078207006485A -:101AF000FFF7B8F8607010B92078012800D00020F6 -:101B000010BD000018000020000402402DED048BE1 -:101B100082B0FFF7BFF8FFF729FEFFF727FDFFF7B9 -:101B200001FDFFF7A3FD01223C216E48FFF79FF85E -:101B300000F048F96C48FFF7B7FF00249FED6B8A6F -:101B4000DFED6B8A6B4D00BF04EB8400F0EE481AAA -:101B500000EBC40005EB8000B0EE612AB0EE001A85 -:101B6000F0EE680AB0EE000A00F029F9641CE4B255 -:101B7000032CE9D304249FED609ADFED608A9FED8A -:101B8000608A00BF04EB8400F0EE491A00EBC40049 -:101B900005EB8000B0EE612AB0EE481AF0EE080ABC -:101BA000B0EE680A00F00BF9641CE4B2072CE9D32C -:101BB000DFF85081DFF850B1F3EE048AA9464FF008 -:101BC000000AB8F802004446401C00B2A8F802001F -:101BD000FA2806D14D48A4F802A0416981F40061B9 -:101BE0004161FFF77FFFA0B194ED010ADFED480AE4 -:101BF000484930EE200A84ED010A2088D230208046 -:101C000010EE100A884204DD84ED018A4FF48760EB -:101C10002080A04600254E464FEA0B0405EB450008 -:101C200004EB8007B7F9060000EE100A05EB85000B -:101C300000EBC500F8EEC00A98ED010A06EB800043 -:101C400020EE280A00F06AF8BDEEC00A6D1CEDB265 -:101C500010EE100A032D7880E0D3B14604254646E5 -:101C600005EB450004EB8007B7F9060000EE100A0B -:101C700005EB850000EBC501F8EEC00A09EB810019 -:101C800096ED010A00F04AF8BDEEC00A6D1CEDB2F7 -:101C900010EE100A072D7880E2D3B4F926000090E8 -:101CA000B4F91A30B4F90E20B4F90210002000F093 -:101CB0009FF8CDF800A0B4F94A30B4F93E20B4F949 -:101CC0003210012000F094F8134930880A685063FC -:101CD0000A6890630968C86308640020FEF7CAFEBA -:101CE0006FE70000001C02408801002000007A46D7 -:101CF0000AD7A33B1C0000200060EA4600002042F7 -:101D00000000000000000020EC0100200010024054 -:101D10000000704200003443B001002080ED050A4D -:101D2000C0ED060A90ED071A70EE600A80ED081A01 -:101D3000C0ED070A90ED000A20EE202A80ED092A66 -:101D400090ED0A0AD0ED011A01EEA00A80ED0A0A10 -:101D5000D0ED021A11EEA01A80ED0B1AD0ED030A95 -:101D6000F1EE601AB4EEE10AF1EE10FA02D8B0EE2C -:101D7000610A06E0B4EEE00AF1EE10FA01DBB0EE23 -:101D8000600A80ED0A0A32EE000A30EE010A80EDA8 -:101D90000C0AD0ED040AB1EE601AB4EEC10AF1EEFD -:101DA00010FA02D8B0EE410A06E0B4EEE00AF1EE15 -:101DB00010FA01DBB0EE600A80ED0C0A704780EC8F -:101DC000050A704710B500210848FFF78DFB042174 -:101DD0000648FFF789FB08210448FFF785FBBDE8AB -:101DE00010400C210148FFF77FBB0000B00100202C -:101DF00010B588B00A9C18B340F2FF100290002082 -:101E00000490059008200690080A8DF800008DF8CF -:101E10000110100A8DF80200180A8DF804008DF8E0 -:101E20000530200A8DF806008DF803208DF8074054 -:101E300001236A4602A90448FEF76CFA08B010BDF7 -:101E40004FF40070DAE70000880100200000000075 -:101E50000000000001020304060708097C1E0008B8 -:101E6000000000201C0000008A1A0008981E0008CC -:101E70001C000020240600009A1A00083804000004 -:101E80000000000001000000100000000000000041 -:081E90000024F4000000000032 +:101A80000000014000040140FEE70000014A024955 +:101A900000F013B8191B00081C00002002E008C861 +:101AA000121F08C1002AFAD170477047002001E0D8 +:101AB00001C1121F002AFBD170472DE9F0411646E3 +:101AC0000F460446002503E03946B047641C6D1CF0 +:101AD00020780028F8D12846BDE8F08100B58BB009 +:101AE00000210122CDE90612059100910191029198 +:101AF000039104910E21CDE908216946FEF76EFCA1 +:101B00000448FEF783FF02210248FEF7EFFB0BB00B +:101B100000BD00008C01002038B504468DF800009F +:101B200069460320ABBE204638BD000010B5074C07 +:101B30000421607820700648FFF794F8607010B9AF +:101B40002078012800D0002010BD000018000020DF +:101B5000000402402DED048B82B0FFF79BF8FFF7E5 +:101B600005FEFFF703FDFFF7DDFCFFF77FFD012218 +:101B70003C216F48FFF77BF800F04EF96D48FFF706 +:101B8000ADFF00249FED6C8ADFED6C8A6C4D00BFC9 +:101B900004EB8400F0EE481A00EBC40005EB800073 +:101BA000B0EE612AB0EE001AF0EE680AB0EE000A5C +:101BB00000F02FF9641CE4B2032CE9D304249FED58 +:101BC000619ADFED618A9FED618A00BF04EB8400BA +:101BD000F0EE491A00EBC40005EB8000B0EE612A7C +:101BE000B0EE481AF0EE080AB0EE680A00F011F9FB +:101BF000641CE4B2072CE9D3DFF85481DFF854B158 +:101C0000F3EE048AA9464FF0000A53A0FFF73EFF07 +:101C1000B8F802004446401C00B2A8F80200FA28B6 +:101C200006D14F48A4F802A0416981F400614161E6 +:101C3000FFF77CFFA0B194ED010ADFED4A0A4A49A3 +:101C400030EE200A84ED010A2088D230208010EE88 +:101C5000100A884204DD84ED018A4FF487602080F9 +:101C6000A04600254E465C4605EB450004EB800788 +:101C7000B7F9060000EE100A05EB850000EBC50081 +:101C8000F8EEC00A98ED010A06EB800020EE280A63 +:101C900000F06EF8BDEEC00A6D1CEDB210EE100A39 +:101CA000032D7880E0D3B1460425464605EB450078 +:101CB00004EB8007B7F9060000EE100A05EB85007B +:101CC00000EBC501F8EEC00A09EB810096ED010AB0 +:101CD00000F04EF8BDEEC00A6D1CEDB210EE100A19 +:101CE000072D7880E2D3B4F926000090B4F91A30B9 +:101CF000B4F90E20B4F90210002000F0A3F8CDF8DA +:101D000000A0B4F94A30B4F93E20B4F932100120F1 +:101D100000F098F8154930880A6850630A689063A3 +:101D20000968C86308640020FEF7A4FE6DE70000A0 +:101D3000001C02408C01002000007A460AD7A33B19 +:101D4000200000200060EA46000020420000000061 +:101D500000000020F0010020544553540000000012 +:101D6000001002400000704200003443B401002023 +:101D700080ED050AC0ED060A90ED071A70EE600AC4 +:101D800080ED081AC0ED070A90ED000A20EE202A27 +:101D900080ED092A90ED0A0AD0ED011A01EEA00AA1 +:101DA00080ED0A0AD0ED021A11EEA01A80ED0B1A8E +:101DB000D0ED030AF1EE601AB4EEE10AF1EE10FA8A +:101DC00002D8B0EE610A06E0B4EEE00AF1EE10FAD5 +:101DD00001DBB0EE600A80ED0A0A32EE000A30EE56 +:101DE000010A80ED0C0AD0ED040AB1EE601AB4EEDF +:101DF000C10AF1EE10FA02D8B0EE410A06E0B4EEE4 +:101E0000E00AF1EE10FA01DBB0EE600A80ED0C0A98 +:101E1000704780EC050A704710B500210848FFF7AD +:101E200063FB04210648FFF75FFB08210448FFF726 +:101E30005BFBBDE810400C210148FFF755BB0000DB +:101E4000B401002010B588B00A9C18B340F2FF100E +:101E5000029000200490059008200690080A8DF852 +:101E600000008DF80110100A8DF80200180A8DF894 +:101E700004008DF80530200A8DF806008DF8032047 +:101E80008DF8074001236A4602A90448FEF742FA8A +:101E900008B010BD4FF40070DAE700008C0100209C +:101EA000000000000000000001020304060708090A +:101EB000D01E000800000020200000009C1A00082E +:101EC000F01E00082000002028060000AC1A0008C0 +:101ED00038040000000000000100000010000000B5 +:101EE000000000000024F4000000000000000000DA :04000005080001AD41 :00000001FF diff --git a/Controle_moteurs_PID/Src/main.c b/Controle_moteurs_PID/Src/main.c index 96e79e19dce2453a54d3dab18cee057c1b96c989..f756465b7049f4e4144720f0443dfe56791acdc8 100644 --- a/Controle_moteurs_PID/Src/main.c +++ b/Controle_moteurs_PID/Src/main.c @@ -137,6 +137,7 @@ int main(void) /* USER CODE BEGIN WHILE */ while (1) { + printf("TEST"); /* led blink */ led_cnt ++; if (led_cnt == 250) diff --git a/Standard_robot/.mxproject b/Standard_robot/.mxproject index 4270762981173fdc1e451e9b5979e43aada25c10..881dc69f87c2ceea4d32c3cec170e0299a768361 100644 --- a/Standard_robot/.mxproject +++ b/Standard_robot/.mxproject @@ -1,14 +1,14 @@ [PreviousGenFiles] HeaderPath=D:/charl/Documents/Git/RM-Controle/Standard_robot/Inc -HeaderFiles=gpio.h;stm32f4xx_it.h;stm32f4xx_hal_conf.h;main.h;dma.h;usart.h;adc.h;spi.h; +HeaderFiles=gpio.h;stm32f4xx_it.h;stm32f4xx_hal_conf.h;main.h;dma.h;usart.h;adc.h;spi.h;can.h;tim.h; SourcePath=D:/charl/Documents/Git/RM-Controle/Standard_robot/Src -SourceFiles=gpio.c;stm32f4xx_it.c;stm32f4xx_hal_msp.c;main.c;dma.c;usart.c;adc.c;spi.c; +SourceFiles=gpio.c;stm32f4xx_it.c;stm32f4xx_hal_msp.c;main.c;dma.c;usart.c;adc.c;spi.c;can.c;tim.c; [PreviousLibFiles] -LibFiles=Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h;Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h;Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h;Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f427xx.h;Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h;Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h;Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.c;Drivers/CMSIS/Include/cmsis_armcc.h;Drivers/CMSIS/Include/cmsis_armclang.h;Drivers/CMSIS/Include/cmsis_compiler.h;Drivers/CMSIS/Include/cmsis_gcc.h;Drivers/CMSIS/Include/cmsis_iccarm.h;Drivers/CMSIS/Include/cmsis_version.h;Drivers/CMSIS/Include/core_armv8mbl.h;Drivers/CMSIS/Include/core_armv8mml.h;Drivers/CMSIS/Include/core_cm0.h;Drivers/CMSIS/Include/core_cm0plus.h;Drivers/CMSIS/Include/core_cm1.h;Drivers/CMSIS/Include/core_cm23.h;Drivers/CMSIS/Include/core_cm3.h;Drivers/CMSIS/Include/core_cm33.h;Drivers/CMSIS/Include/core_cm4.h;Drivers/CMSIS/Include/core_cm7.h;Drivers/CMSIS/Include/core_sc000.h;Drivers/CMSIS/Include/core_sc300.h;Drivers/CMSIS/Include/mpu_armv7.h;Drivers/CMSIS/Include/mpu_armv8.h;Drivers/CMSIS/Include/tz_context.h; +LibFiles=Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h;Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_can.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h;Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_can.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h;Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f427xx.h;Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h;Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h;Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.c;Drivers/CMSIS/Include/cmsis_armcc.h;Drivers/CMSIS/Include/cmsis_armclang.h;Drivers/CMSIS/Include/cmsis_compiler.h;Drivers/CMSIS/Include/cmsis_gcc.h;Drivers/CMSIS/Include/cmsis_iccarm.h;Drivers/CMSIS/Include/cmsis_version.h;Drivers/CMSIS/Include/core_armv8mbl.h;Drivers/CMSIS/Include/core_armv8mml.h;Drivers/CMSIS/Include/core_cm0.h;Drivers/CMSIS/Include/core_cm0plus.h;Drivers/CMSIS/Include/core_cm1.h;Drivers/CMSIS/Include/core_cm23.h;Drivers/CMSIS/Include/core_cm3.h;Drivers/CMSIS/Include/core_cm33.h;Drivers/CMSIS/Include/core_cm4.h;Drivers/CMSIS/Include/core_cm7.h;Drivers/CMSIS/Include/core_sc000.h;Drivers/CMSIS/Include/core_sc300.h;Drivers/CMSIS/Include/mpu_armv7.h;Drivers/CMSIS/Include/mpu_armv8.h;Drivers/CMSIS/Include/tz_context.h; [PreviousUsedKeilFiles] -SourceFiles=..\Src\main.c;..\Src\gpio.c;..\Src\adc.c;..\Src\dma.c;..\Src\spi.c;..\Src\usart.c;..\Src\stm32f4xx_it.c;..\Src\stm32f4xx_hal_msp.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c;../\Src/system_stm32f4xx.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c;../\Src/system_stm32f4xx.c;../Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.c;null; +SourceFiles=..\Src\main.c;..\Src\gpio.c;..\Src\adc.c;..\Src\can.c;..\Src\dma.c;..\Src\spi.c;..\Src\tim.c;..\Src\usart.c;..\Src\stm32f4xx_it.c;..\Src\stm32f4xx_hal_msp.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c;..\\Src/system_stm32f4xx.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c;..\Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c;..\\Src/system_stm32f4xx.c;..\Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.c;; HeaderPath=..\Drivers\STM32F4xx_HAL_Driver\Inc;..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy;..\Drivers\CMSIS\Device\ST\STM32F4xx\Include;..\Drivers\CMSIS\Include;..\Inc; -CDefines=USE_HAL_DRIVER;STM32F427xx;USE_HAL_DRIVER;STM32F427xx; +CDefines=USE_HAL_DRIVER;STM32F427xx;USE_HAL_DRIVER;USE_HAL_DRIVER; diff --git a/Standard_robot/Inc/main.h b/Standard_robot/Inc/main.h index 25ceb9835c66ec588632e2a6dd636a7cb44d6f8b..e64a2287fa0c5736498ea1caca0adfb88391713d 100644 --- a/Standard_robot/Inc/main.h +++ b/Standard_robot/Inc/main.h @@ -17,6 +17,7 @@ * ****************************************************************************** */ +#define LIMIT_MIN_MAX(x,min,max) (x) = (((x)<=(min))?(min):(((x)>=(max))?(max):(x))) /* USER CODE END Header */ /* Define to prevent recursive inclusion -------------------------------------*/ @@ -60,8 +61,22 @@ void Error_Handler(void); /* Private defines -----------------------------------------------------------*/ #define OLED_DC_Pin GPIO_PIN_9 #define OLED_DC_GPIO_Port GPIOB +#define POWER1_CTRL_Pin GPIO_PIN_2 +#define POWER1_CTRL_GPIO_Port GPIOH +#define POWER2_CTRL_Pin GPIO_PIN_3 +#define POWER2_CTRL_GPIO_Port GPIOH +#define POWER3_CTRL_Pin GPIO_PIN_4 +#define POWER3_CTRL_GPIO_Port GPIOH #define LED_A_Pin GPIO_PIN_8 #define LED_A_GPIO_Port GPIOG +#define POWER4_CTRL_Pin GPIO_PIN_5 +#define POWER4_CTRL_GPIO_Port GPIOH +#define KEY_Pin GPIO_PIN_2 +#define KEY_GPIO_Port GPIOB +#define LED_RED_Pin GPIO_PIN_11 +#define LED_RED_GPIO_Port GPIOE +#define LED_GREEN_Pin GPIO_PIN_14 +#define LED_GREEN_GPIO_Port GPIOF #define OLED_RST_Pin GPIO_PIN_10 #define OLED_RST_GPIO_Port GPIOB /* USER CODE BEGIN Private defines */ diff --git a/Standard_robot/Inc/stm32f4xx_hal_conf.h b/Standard_robot/Inc/stm32f4xx_hal_conf.h index 87bc48150e0984a09b28cb3f6f996e167fbaa994..3c274787870a534e99fd3a3fde63995589f158f9 100644 --- a/Standard_robot/Inc/stm32f4xx_hal_conf.h +++ b/Standard_robot/Inc/stm32f4xx_hal_conf.h @@ -38,7 +38,7 @@ #define HAL_ADC_MODULE_ENABLED /* #define HAL_CRYP_MODULE_ENABLED */ -/* #define HAL_CAN_MODULE_ENABLED */ +#define HAL_CAN_MODULE_ENABLED /* #define HAL_CRC_MODULE_ENABLED */ /* #define HAL_CRYP_MODULE_ENABLED */ /* #define HAL_DAC_MODULE_ENABLED */ @@ -61,11 +61,12 @@ /* #define HAL_SD_MODULE_ENABLED */ /* #define HAL_MMC_MODULE_ENABLED */ #define HAL_SPI_MODULE_ENABLED -/* #define HAL_TIM_MODULE_ENABLED */ +#define HAL_TIM_MODULE_ENABLED #define HAL_UART_MODULE_ENABLED /* #define HAL_USART_MODULE_ENABLED */ /* #define HAL_IRDA_MODULE_ENABLED */ /* #define HAL_SMARTCARD_MODULE_ENABLED */ +/* #define HAL_SMBUS_MODULE_ENABLED */ /* #define HAL_WWDG_MODULE_ENABLED */ /* #define HAL_PCD_MODULE_ENABLED */ /* #define HAL_HCD_MODULE_ENABLED */ @@ -77,7 +78,6 @@ /* #define HAL_SPDIFRX_MODULE_ENABLED */ /* #define HAL_DFSDM_MODULE_ENABLED */ /* #define HAL_LPTIM_MODULE_ENABLED */ -/* #define HAL_EXTI_MODULE_ENABLED */ #define HAL_GPIO_MODULE_ENABLED #define HAL_EXTI_MODULE_ENABLED #define HAL_DMA_MODULE_ENABLED @@ -264,6 +264,10 @@ #include "stm32f4xx_hal_cryp.h" #endif /* HAL_CRYP_MODULE_ENABLED */ +#ifdef HAL_SMBUS_MODULE_ENABLED +#include "stm32f4xx_hal_smbus.h" +#endif /* HAL_SMBUS_MODULE_ENABLED */ + #ifdef HAL_DMA2D_MODULE_ENABLED #include "stm32f4xx_hal_dma2d.h" #endif /* HAL_DMA2D_MODULE_ENABLED */ diff --git a/Standard_robot/Inc/stm32f4xx_it.h b/Standard_robot/Inc/stm32f4xx_it.h index 1c02bb865c4ab33b305e5616d352958355891f97..482e4a5716d4ed668a0dc1c8027048c7a021e01d 100644 --- a/Standard_robot/Inc/stm32f4xx_it.h +++ b/Standard_robot/Inc/stm32f4xx_it.h @@ -56,6 +56,8 @@ void SVC_Handler(void); void DebugMon_Handler(void); void PendSV_Handler(void); void SysTick_Handler(void); +void CAN1_TX_IRQHandler(void); +void CAN1_RX0_IRQHandler(void); void USART1_IRQHandler(void); void DMA2_Stream7_IRQHandler(void); /* USER CODE BEGIN EFP */ diff --git a/Standard_robot/MDK-ARM/Standard_robot.uvguix.charl b/Standard_robot/MDK-ARM/Standard_robot.uvguix.charl index 9088ab291c5ac1dd3c38a1f670b7c8f4693b8ea0..0c49e0193cf95bb1584cf0205960a9265e9a3411 100644 --- a/Standard_robot/MDK-ARM/Standard_robot.uvguix.charl +++ b/Standard_robot/MDK-ARM/Standard_robot.uvguix.charl @@ -6,7 +6,7 @@ <Header>### uVision Project, (C) Keil Software</Header> <PrjGuiSettings> - <LastAddFilePath>D:\charl\Documents\Git\RM-Controle\Standard_robot\BSP\Device</LastAddFilePath> + <LastAddFilePath>D:\charl\Documents\Git\RM-Controle\Standard_robot\BSP\Driver</LastAddFilePath> </PrjGuiSettings> <ViewPool/> @@ -93,8 +93,8 @@ <flags>2</flags> <showCmd>3</showCmd> <MinPosition> - <xPos>-32000</xPos> - <yPos>-32000</yPos> + <xPos>-1</xPos> + <yPos>-1</yPos> </MinPosition> <MaxPosition> <xPos>-1</xPos> @@ -110,8 +110,8 @@ <MDIClientArea> <RegID>0</RegID> <MDITabState> - <Len>636</Len> - <Data>0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000500000001000000010000003C443A5C636861726C5C446F63756D656E74735C4769745C524D2D436F6E74726F6C655C5374616E646172645F726F626F745C5372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF47443A5C636861726C5C446F63756D656E74735C4769745C524D2D436F6E74726F6C655C5374616E646172645F726F626F745C4253505C4472697665725C6273705F6F6C65642E63000000000A6273705F6F6C65642E6300000000FFDC7800FFFFFFFF47443A5C636861726C5C446F63756D656E74735C4769745C524D2D436F6E74726F6C655C5374616E646172645F726F626F745C4253505C4472697665725C6273705F6F6C65642E68000000000A6273705F6F6C65642E6800000000F0A0A100FFFFFFFF43443A5C636861726C5C446F63756D656E74735C4769745C524D2D436F6E74726F6C655C5374616E646172645F726F626F745C4253505C4465766963655C6F6C65642E6300000000066F6C65642E6300000000F0A0A100FFFFFFFF43443A5C636861726C5C446F63756D656E74735C4769745C524D2D436F6E74726F6C655C5374616E646172645F726F626F745C4253505C4465766963655C6F6C65642E6800000000066F6C65642E6800000000BCA8E100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000D1000000660000005805000070020000</Data> + <Len>720</Len> + <Data>0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000600000005000000010000003C443A5C636861726C5C446F63756D656E74735C4769745C524D2D436F6E74726F6C655C5374616E646172645F726F626F745C5372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF47443A5C636861726C5C446F63756D656E74735C4769745C524D2D436F6E74726F6C655C5374616E646172645F726F626F745C4253505C4472697665725C6273705F6F6C65642E63000000000A6273705F6F6C65642E6300000000FFDC7800FFFFFFFF47443A5C636861726C5C446F63756D656E74735C4769745C524D2D436F6E74726F6C655C5374616E646172645F726F626F745C4253505C4472697665725C6273705F6F6C65642E68000000000A6273705F6F6C65642E6800000000BECEA100FFFFFFFF43443A5C636861726C5C446F63756D656E74735C4769745C524D2D436F6E74726F6C655C5374616E646172645F726F626F745C4253505C4465766963655C6F6C65642E6300000000066F6C65642E6300000000F0A0A100FFFFFFFF43443A5C636861726C5C446F63756D656E74735C4769745C524D2D436F6E74726F6C655C5374616E646172645F726F626F745C4253505C4465766963655C6F6C65642E6800000000066F6C65642E6800000000BCA8E100FFFFFFFF3C443A5C636861726C5C446F63756D656E74735C4769745C524D2D436F6E74726F6C655C5374616E646172645F726F626F745C496E635C6D61696E2E6800000000066D61696E2E68000000009CC1B600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000AF00000066000000580500008E020000</Data> </MDITabState> </MDIClientArea> <ViewEx> @@ -134,7 +134,7 @@ </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>AF00000066000000F2030000DB000000</Data> + <Data>A4000000BB0000009D02000030010000</Data> </RectRecentFloat> </Window> <Window> @@ -150,11 +150,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>0300000066000000CA00000040020000</Data> + <Data>0300000066000000A80000005E020000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -170,11 +170,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>0300000066000000CA00000040020000</Data> + <Data>0300000066000000A80000005E020000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C000000530000000601000027020000</Data> + <Data>A4000000BB0000006E0100008F020000</Data> </RectRecentFloat> </Window> <Window> @@ -190,11 +190,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>03000000C4010000EF0300001D020000</Data> + <Data>00000000C1010000F203000036020000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C0000005300000035020000C8000000</Data> + <Data>A4000000BB0000009D02000030010000</Data> </RectRecentFloat> </Window> <Window> @@ -210,11 +210,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>03000000C4010000EF0300001D020000</Data> + <Data>03000000C4010000EF03000009020000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C0000005300000035020000C8000000</Data> + <Data>A4000000BB0000009D02000030010000</Data> </RectRecentFloat> </Window> <Window> @@ -230,11 +230,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>03000000C4010000EF0300001D020000</Data> + <Data>03000000C4010000EF03000009020000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C0000005300000035020000C8000000</Data> + <Data>A4000000BB0000009D02000030010000</Data> </RectRecentFloat> </Window> <Window> @@ -250,11 +250,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>03000000C4010000EF0300001D020000</Data> + <Data>03000000C4010000EF03000009020000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C0000005300000035020000C8000000</Data> + <Data>A4000000BB0000009D02000030010000</Data> </RectRecentFloat> </Window> <Window> @@ -270,11 +270,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF030000E1000000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -294,7 +294,7 @@ </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C0000005300000035020000C8000000</Data> + <Data>A4000000BB0000009D02000030010000</Data> </RectRecentFloat> </Window> <Window> @@ -314,7 +314,7 @@ </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -330,11 +330,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>03000000C4010000EF0300001D020000</Data> + <Data>03000000C4010000EF03000009020000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -350,11 +350,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>03000000C4010000EF0300001D020000</Data> + <Data>03000000C4010000EF03000009020000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -370,11 +370,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>03000000C4010000EF0300001D020000</Data> + <Data>03000000C4010000EF03000009020000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C0000005300000035020000C8000000</Data> + <Data>A4000000BB0000009D02000030010000</Data> </RectRecentFloat> </Window> <Window> @@ -390,11 +390,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>03000000C4010000EF0300001D020000</Data> + <Data>03000000C4010000EF03000009020000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C0000005300000035020000C8000000</Data> + <Data>A4000000BB0000009D02000030010000</Data> </RectRecentFloat> </Window> <Window> @@ -410,11 +410,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>03000000C4010000EF0300001D020000</Data> + <Data>03000000C4010000EF03000009020000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C0000005300000035020000C8000000</Data> + <Data>A4000000BB0000009D02000030010000</Data> </RectRecentFloat> </Window> <Window> @@ -430,11 +430,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>03000000C4010000EF0300001D020000</Data> + <Data>03000000C4010000EF03000009020000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C0000005300000035020000C8000000</Data> + <Data>A4000000BB0000009D02000030010000</Data> </RectRecentFloat> </Window> <Window> @@ -450,11 +450,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>0300000066000000CA00000040020000</Data> + <Data>0300000066000000A80000005E020000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C000000530000000601000027020000</Data> + <Data>A4000000BB0000006E0100008F020000</Data> </RectRecentFloat> </Window> <Window> @@ -470,11 +470,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>0300000066000000CA00000040020000</Data> + <Data>0300000066000000A80000005E020000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C000000530000000601000027020000</Data> + <Data>A4000000BB0000006E0100008F020000</Data> </RectRecentFloat> </Window> <Window> @@ -490,11 +490,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>00000000710200005805000048030000</Data> + <Data>000000008F0200005805000048030000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C0000005300000035020000C8000000</Data> + <Data>A4000000BB0000009D02000030010000</Data> </RectRecentFloat> </Window> <Window> @@ -514,7 +514,7 @@ </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C0000005300000035020000C8000000</Data> + <Data>A4000000BB0000009D02000030010000</Data> </RectRecentFloat> </Window> <Window> @@ -530,11 +530,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>0300000074020000550500002F030000</Data> + <Data>0300000092020000EF030000D7020000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C0000005300000035020000C8000000</Data> + <Data>A4000000BB0000009D02000030010000</Data> </RectRecentFloat> </Window> <Window> @@ -550,11 +550,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>B200000066000000EF030000AB000000</Data> + <Data>AF00000063000000F2030000C4000000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C0000005300000035020000C8000000</Data> + <Data>A4000000BB0000009D02000030010000</Data> </RectRecentFloat> </Window> <Window> @@ -574,7 +574,7 @@ </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C0000005300000035020000C8000000</Data> + <Data>A4000000BB0000009D02000030010000</Data> </RectRecentFloat> </Window> <Window> @@ -610,11 +610,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4703000063000000F2030000BD010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -630,11 +630,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>03000000C4010000EF0300001D020000</Data> + <Data>00000000C1010000F203000022020000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C0000005300000035020000C8000000</Data> + <Data>A4000000BB0000009D02000030010000</Data> </RectRecentFloat> </Window> <Window> @@ -654,7 +654,7 @@ </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C0000005300000035020000C8000000</Data> + <Data>A4000000BB0000009D02000030010000</Data> </RectRecentFloat> </Window> <Window> @@ -674,7 +674,7 @@ </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C0000005300000035020000C8000000</Data> + <Data>A4000000BB0000009D02000030010000</Data> </RectRecentFloat> </Window> <Window> @@ -690,11 +690,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>B200000066000000EF030000AB000000</Data> + <Data>AF00000063000000F2030000C4000000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -714,7 +714,7 @@ </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C0000005300000035020000C8000000</Data> + <Data>A4000000BB0000009D02000030010000</Data> </RectRecentFloat> </Window> <Window> @@ -730,11 +730,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -750,11 +750,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -770,11 +770,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -790,11 +790,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -810,11 +810,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -830,11 +830,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -850,11 +850,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -870,11 +870,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -890,11 +890,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -910,11 +910,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -930,11 +930,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -950,11 +950,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -970,11 +970,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -990,11 +990,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -1010,11 +1010,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -1030,11 +1030,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -1050,11 +1050,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -1070,11 +1070,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -1090,11 +1090,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -1110,11 +1110,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -1130,11 +1130,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -1150,11 +1150,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>0300000066000000A800000040020000</Data> + <Data>0300000066000000A80000001D020000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C000000530000000601000027020000</Data> + <Data>A4000000BB0000006E0100008F020000</Data> </RectRecentFloat> </Window> <Window> @@ -1170,11 +1170,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>0300000074020000550500002F030000</Data> + <Data>000000008F020000F2030000F0020000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C0000005300000035020000C8000000</Data> + <Data>A4000000BB0000009D02000030010000</Data> </RectRecentFloat> </Window> <Window> @@ -1190,11 +1190,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>0300000074020000550500002F030000</Data> + <Data>0300000092020000EF030000D7020000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C000000530000000601000027020000</Data> + <Data>A4000000BB0000006E0100008F020000</Data> </RectRecentFloat> </Window> <Window> @@ -1210,11 +1210,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>03000000C4010000EF0300001D020000</Data> + <Data>03000000C4010000EF03000009020000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -1230,11 +1230,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>03000000C4010000EF0300001D020000</Data> + <Data>03000000C4010000EF03000009020000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -1250,11 +1250,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>0300000074020000550500002F030000</Data> + <Data>0300000092020000EF030000D7020000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C000000530000000601000027020000</Data> + <Data>A4000000BB0000006E0100008F020000</Data> </RectRecentFloat> </Window> <Window> @@ -1270,11 +1270,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>0300000074020000550500002F030000</Data> + <Data>0300000092020000EF030000D7020000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C000000530000000601000027020000</Data> + <Data>A4000000BB0000006E0100008F020000</Data> </RectRecentFloat> </Window> <Window> @@ -1294,7 +1294,7 @@ </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C0000005300000035020000C8000000</Data> + <Data>A4000000BB0000009D02000030010000</Data> </RectRecentFloat> </Window> <Window> @@ -1310,11 +1310,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -1330,11 +1330,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -1350,11 +1350,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -1370,11 +1370,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -1390,11 +1390,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -1410,11 +1410,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -1430,11 +1430,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -1450,11 +1450,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -1470,11 +1470,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -1490,11 +1490,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -1510,11 +1510,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -1530,11 +1530,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -1550,11 +1550,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -1570,17 +1570,17 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> <RegID>50014</RegID> <PaneID>50014</PaneID> - <IsVisible>0</IsVisible> + <IsVisible>1</IsVisible> <IsFloating>0</IsFloating> <IsTabbed>0</IsTabbed> <IsActivated>0</IsActivated> @@ -1590,11 +1590,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>B200000066000000EF03000081000000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>0A0000000A0000006E0000006E000000</Data> </RectRecentFloat> </Window> <Window> @@ -1610,11 +1610,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -1630,11 +1630,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -1650,11 +1650,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -1670,11 +1670,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -1690,11 +1690,11 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>4A03000066000000EF030000A4010000</Data> + <Data>4A03000066000000EF0300002B010000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <Window> @@ -1704,7 +1704,7 @@ <IsFloating>0</IsFloating> <IsTabbed>0</IsTabbed> <IsActivated>0</IsActivated> - <MRUWidth>966</MRUWidth> + <MRUWidth>32767</MRUWidth> <PinState>0</PinState> <RecentFrameAlignment>8192</RecentFrameAlignment> <RecentRowIndex>0</RecentRowIndex> @@ -1744,7 +1744,7 @@ <IsFloating>0</IsFloating> <IsTabbed>0</IsTabbed> <IsActivated>0</IsActivated> - <MRUWidth>476</MRUWidth> + <MRUWidth>32767</MRUWidth> <PinState>0</PinState> <RecentFrameAlignment>8192</RecentFrameAlignment> <RecentRowIndex>1</RecentRowIndex> @@ -1764,7 +1764,7 @@ <IsFloating>0</IsFloating> <IsTabbed>0</IsTabbed> <IsActivated>0</IsActivated> - <MRUWidth>612</MRUWidth> + <MRUWidth>32767</MRUWidth> <PinState>0</PinState> <RecentFrameAlignment>8192</RecentFrameAlignment> <RecentRowIndex>2</RecentRowIndex> @@ -1790,23 +1790,23 @@ <RecentRowIndex>0</RecentRowIndex> <RectRecentDocked> <Len>16</Len> - <Data>03000000C4010000EF0300001D020000</Data> + <Data>03000000C4010000EF03000009020000</Data> </RectRecentDocked> <RectRecentFloat> <Len>16</Len> - <Data>3C00000053000000E7000000FE000000</Data> + <Data>A4000000BB0000004F01000066010000</Data> </RectRecentFloat> </Window> <DockMan> <Len>3312</Len> - <Data>000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFAF000000C4000000F2030000C8000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000AF00000066000000F2030000DB000000AF0000004F000000F2030000C40000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF430300004F00000047030000BD010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000004703000066000000F2030000D4010000470300004F000000F2030000BD01000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFCD0000004F000000D1000000590200000100000002000010040000000100000057FFFFFFA4040000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000AB00000070020000000000004F000000CD000000590200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000A9010000F2030000AD01000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000000000000000000C4010000F20300004D02000000000000AD010000F20300003602000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFF9010000AD010000FD0100003602000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF0000000059020000580500005D0200000100000001000010040000000100000085FDFFFF73000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000010000000000000074020000580500005F030000000000005D02000058050000480300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000</Data> + <Data>000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFAF000000C4000000F2030000C8000000000000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000A4000000BB0000009D02000030010000AF0000004F000000F2030000C40000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF430300004F00000047030000BD010000000000000200001004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A4000000BB0000004F01000066010000470300004F000000F2030000BD01000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFAB0000004F000000AF00000077020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000A4000000BB0000004F01000066010000000000004F000000AB000000770200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000A9010000F2030000AD01000000000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000A4000000BB0000004F0100006601000000000000AD010000F20300003602000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFF9010000AD010000FD0100003602000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF0000000077020000580500007B0200000100000001000010040000000100000085FDFFFF73000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000A4000000BB0000009D02000030010000000000007B02000058050000480300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000</Data> </DockMan> <ToolBar> <RegID>59392</RegID> <Name>File</Name> <Buttons> <Len>2606</Len> - <Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000574696D6528960000000000000005000574696D6528085F5F434C49424E530D63757272656E745F73746174650A49525148616E646C65720341534D0000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000</Data> + <Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000574696D6528960000000000000005000574696D6528085F5F434C49424E530D63757272656E745F73746174650A49525148616E646C65720341534D0000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000000000000010000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65FF7F0000</Data> </Buttons> <OriginalItems> <Len>1423</Len> @@ -1822,7 +1822,7 @@ <Name>Build</Name> <Buttons> <Len>988</Len> - <Data>00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000E5374616E646172645F726F626F74960000000000000001000E5374616E646172645F726F626F74000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000</Data> + <Data>00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000E5374616E646172645F726F626F74960000000000000001000E5374616E646172645F726F626F74000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64FF7F0000</Data> </Buttons> <OriginalItems> <Len>583</Len> @@ -1838,7 +1838,7 @@ <Name>Debug</Name> <Buttons> <Len>2373</Len> - <Data>00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000</Data> + <Data>00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000000000000100000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000000000000100000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000000000000100000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000000000000100000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F720100000000000000000000000100000001000000000000000000000001000000000000000000054465627567FF7F0000</Data> </Buttons> <OriginalItems> <Len>898</Len> @@ -1862,21 +1862,21 @@ <ActiveMDIGroup>0</ActiveMDIGroup> <MDIGroup> <Size>100</Size> - <ActiveTab>1</ActiveTab> + <ActiveTab>5</ActiveTab> <Doc> <Name>../Src/main.c</Name> - <ColumnNumber>26</ColumnNumber> - <TopLine>116</TopLine> - <CurrentLine>128</CurrentLine> + <ColumnNumber>0</ColumnNumber> + <TopLine>176</TopLine> + <CurrentLine>259</CurrentLine> <Folding>1</Folding> - <ContractedFolders>134,139,180,185,192</ContractedFolders> + <ContractedFolders>205,246,251,258</ContractedFolders> <PaneID>0</PaneID> </Doc> <Doc> <Name>..\BSP\Driver\bsp_oled.c</Name> - <ColumnNumber>18</ColumnNumber> - <TopLine>83</TopLine> - <CurrentLine>269</CurrentLine> + <ColumnNumber>1</ColumnNumber> + <TopLine>158</TopLine> + <CurrentLine>263</CurrentLine> <Folding>1</Folding> <ContractedFolders>17,33,50,67,81,87,94,107,128,153,171,179,222,230,309,317,366,393</ContractedFolders> <PaneID>0</PaneID> @@ -1902,12 +1902,21 @@ <Doc> <Name>../BSP/Device/oled.h</Name> <ColumnNumber>47</ColumnNumber> - <TopLine>3</TopLine> + <TopLine>1</TopLine> <CurrentLine>28</CurrentLine> <Folding>1</Folding> <ContractedFolders></ContractedFolders> <PaneID>0</PaneID> </Doc> + <Doc> + <Name>../Inc/main.h</Name> + <ColumnNumber>0</ColumnNumber> + <TopLine>1</TopLine> + <CurrentLine>20</CurrentLine> + <Folding>1</Folding> + <ContractedFolders></ContractedFolders> + <PaneID>0</PaneID> + </Doc> </MDIGroup> </MDIGroups> diff --git a/Standard_robot/MDK-ARM/Standard_robot.uvoptx b/Standard_robot/MDK-ARM/Standard_robot.uvoptx index b2f22d1584481fe46ccc9595f4d731ccf6c51354..3c8374c59db11036c544798bcfa9c73ac1a812fa 100644 --- a/Standard_robot/MDK-ARM/Standard_robot.uvoptx +++ b/Standard_robot/MDK-ARM/Standard_robot.uvoptx @@ -183,7 +183,7 @@ <Group> <GroupName>Application/MDK-ARM</GroupName> - <tvExp>1</tvExp> + <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <cbSel>0</cbSel> <RteFlg>0</RteFlg> @@ -211,7 +211,7 @@ <GroupNumber>2</GroupNumber> <FileNumber>2</FileNumber> <FileType>1</FileType> - <tvExp>0</tvExp> + <tvExp>1</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <bDave2>0</bDave2> <PathWithFileName>../Src/main.c</PathWithFileName> @@ -250,6 +250,18 @@ <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <bDave2>0</bDave2> + <PathWithFileName>../Src/can.c</PathWithFileName> + <FilenameWithoutPath>can.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>2</GroupNumber> + <FileNumber>6</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> <PathWithFileName>../Src/dma.c</PathWithFileName> <FilenameWithoutPath>dma.c</FilenameWithoutPath> <RteFlg>0</RteFlg> @@ -257,7 +269,7 @@ </File> <File> <GroupNumber>2</GroupNumber> - <FileNumber>6</FileNumber> + <FileNumber>7</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -269,7 +281,19 @@ </File> <File> <GroupNumber>2</GroupNumber> - <FileNumber>7</FileNumber> + <FileNumber>8</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>../Src/tim.c</PathWithFileName> + <FilenameWithoutPath>tim.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>2</GroupNumber> + <FileNumber>9</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -281,7 +305,7 @@ </File> <File> <GroupNumber>2</GroupNumber> - <FileNumber>8</FileNumber> + <FileNumber>10</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -293,7 +317,7 @@ </File> <File> <GroupNumber>2</GroupNumber> - <FileNumber>9</FileNumber> + <FileNumber>11</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -306,86 +330,154 @@ </Group> <Group> - <GroupName>Drivers/STM32F4xx_HAL_Driver</GroupName> + <GroupName>Drivers/CMSIS</GroupName> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <cbSel>0</cbSel> <RteFlg>0</RteFlg> <File> <GroupNumber>3</GroupNumber> - <FileNumber>10</FileNumber> + <FileNumber>12</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <bDave2>0</bDave2> - <PathWithFileName>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c</PathWithFileName> - <FilenameWithoutPath>stm32f4xx_hal_adc.c</FilenameWithoutPath> + <PathWithFileName>../Src/system_stm32f4xx.c</PathWithFileName> + <FilenameWithoutPath>system_stm32f4xx.c</FilenameWithoutPath> <RteFlg>0</RteFlg> <bShared>0</bShared> </File> + </Group> + + <Group> + <GroupName>BSP</GroupName> + <tvExp>1</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>0</RteFlg> <File> - <GroupNumber>3</GroupNumber> - <FileNumber>11</FileNumber> + <GroupNumber>4</GroupNumber> + <FileNumber>13</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <bDave2>0</bDave2> - <PathWithFileName>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c</PathWithFileName> - <FilenameWithoutPath>stm32f4xx_hal_adc_ex.c</FilenameWithoutPath> + <PathWithFileName>..\BSP\Driver\bsp_usart.c</PathWithFileName> + <FilenameWithoutPath>bsp_usart.c</FilenameWithoutPath> <RteFlg>0</RteFlg> <bShared>0</bShared> </File> <File> - <GroupNumber>3</GroupNumber> - <FileNumber>12</FileNumber> + <GroupNumber>4</GroupNumber> + <FileNumber>14</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <bDave2>0</bDave2> - <PathWithFileName>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c</PathWithFileName> - <FilenameWithoutPath>stm32f4xx_hal_spi.c</FilenameWithoutPath> + <PathWithFileName>..\BSP\Driver\bsp_oled.c</PathWithFileName> + <FilenameWithoutPath>bsp_oled.c</FilenameWithoutPath> <RteFlg>0</RteFlg> <bShared>0</bShared> </File> <File> - <GroupNumber>3</GroupNumber> - <FileNumber>13</FileNumber> + <GroupNumber>4</GroupNumber> + <FileNumber>15</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <bDave2>0</bDave2> - <PathWithFileName>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c</PathWithFileName> - <FilenameWithoutPath>stm32f4xx_hal_tim.c</FilenameWithoutPath> + <PathWithFileName>..\BSP\Driver\bsp_can.c</PathWithFileName> + <FilenameWithoutPath>bsp_can.c</FilenameWithoutPath> <RteFlg>0</RteFlg> <bShared>0</bShared> </File> <File> - <GroupNumber>3</GroupNumber> - <FileNumber>14</FileNumber> + <GroupNumber>4</GroupNumber> + <FileNumber>16</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <bDave2>0</bDave2> - <PathWithFileName>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c</PathWithFileName> - <FilenameWithoutPath>stm32f4xx_hal_tim_ex.c</FilenameWithoutPath> + <PathWithFileName>..\BSP\Driver\bsp_key.c</PathWithFileName> + <FilenameWithoutPath>bsp_key.c</FilenameWithoutPath> <RteFlg>0</RteFlg> <bShared>0</bShared> </File> + </Group> + + <Group> + <GroupName>Device</GroupName> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>0</RteFlg> <File> - <GroupNumber>3</GroupNumber> - <FileNumber>15</FileNumber> + <GroupNumber>5</GroupNumber> + <FileNumber>17</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <bDave2>0</bDave2> - <PathWithFileName>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c</PathWithFileName> - <FilenameWithoutPath>stm32f4xx_hal_uart.c</FilenameWithoutPath> + <PathWithFileName>..\BSP\Device\oled.c</PathWithFileName> + <FilenameWithoutPath>oled.c</FilenameWithoutPath> <RteFlg>0</RteFlg> <bShared>0</bShared> </File> + </Group> + + <Group> + <GroupName>Algorithm</GroupName> + <tvExp>1</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>0</RteFlg> <File> - <GroupNumber>3</GroupNumber> - <FileNumber>16</FileNumber> + <GroupNumber>6</GroupNumber> + <FileNumber>18</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\BSP\Algorithm\pid.c</PathWithFileName> + <FilenameWithoutPath>pid.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + </Group> + + <Group> + <GroupName>Drivers/STM32F4xx_HAL_Driver</GroupName> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>0</RteFlg> + <File> + <GroupNumber>7</GroupNumber> + <FileNumber>19</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c</PathWithFileName> + <FilenameWithoutPath>stm32f4xx_hal_adc.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>7</GroupNumber> + <FileNumber>20</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c</PathWithFileName> + <FilenameWithoutPath>stm32f4xx_hal_adc_ex.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>7</GroupNumber> + <FileNumber>21</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -396,8 +488,8 @@ <bShared>0</bShared> </File> <File> - <GroupNumber>3</GroupNumber> - <FileNumber>17</FileNumber> + <GroupNumber>7</GroupNumber> + <FileNumber>22</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -408,8 +500,8 @@ <bShared>0</bShared> </File> <File> - <GroupNumber>3</GroupNumber> - <FileNumber>18</FileNumber> + <GroupNumber>7</GroupNumber> + <FileNumber>23</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -420,8 +512,8 @@ <bShared>0</bShared> </File> <File> - <GroupNumber>3</GroupNumber> - <FileNumber>19</FileNumber> + <GroupNumber>7</GroupNumber> + <FileNumber>24</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -432,8 +524,8 @@ <bShared>0</bShared> </File> <File> - <GroupNumber>3</GroupNumber> - <FileNumber>20</FileNumber> + <GroupNumber>7</GroupNumber> + <FileNumber>25</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -444,8 +536,8 @@ <bShared>0</bShared> </File> <File> - <GroupNumber>3</GroupNumber> - <FileNumber>21</FileNumber> + <GroupNumber>7</GroupNumber> + <FileNumber>26</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -456,8 +548,8 @@ <bShared>0</bShared> </File> <File> - <GroupNumber>3</GroupNumber> - <FileNumber>22</FileNumber> + <GroupNumber>7</GroupNumber> + <FileNumber>27</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -468,8 +560,8 @@ <bShared>0</bShared> </File> <File> - <GroupNumber>3</GroupNumber> - <FileNumber>23</FileNumber> + <GroupNumber>7</GroupNumber> + <FileNumber>28</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -480,8 +572,8 @@ <bShared>0</bShared> </File> <File> - <GroupNumber>3</GroupNumber> - <FileNumber>24</FileNumber> + <GroupNumber>7</GroupNumber> + <FileNumber>29</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -492,8 +584,8 @@ <bShared>0</bShared> </File> <File> - <GroupNumber>3</GroupNumber> - <FileNumber>25</FileNumber> + <GroupNumber>7</GroupNumber> + <FileNumber>30</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -504,8 +596,8 @@ <bShared>0</bShared> </File> <File> - <GroupNumber>3</GroupNumber> - <FileNumber>26</FileNumber> + <GroupNumber>7</GroupNumber> + <FileNumber>31</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -516,8 +608,8 @@ <bShared>0</bShared> </File> <File> - <GroupNumber>3</GroupNumber> - <FileNumber>27</FileNumber> + <GroupNumber>7</GroupNumber> + <FileNumber>32</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -528,8 +620,8 @@ <bShared>0</bShared> </File> <File> - <GroupNumber>3</GroupNumber> - <FileNumber>28</FileNumber> + <GroupNumber>7</GroupNumber> + <FileNumber>33</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -539,75 +631,63 @@ <RteFlg>0</RteFlg> <bShared>0</bShared> </File> - </Group> - - <Group> - <GroupName>Drivers/CMSIS</GroupName> - <tvExp>1</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <cbSel>0</cbSel> - <RteFlg>0</RteFlg> <File> - <GroupNumber>4</GroupNumber> - <FileNumber>29</FileNumber> + <GroupNumber>7</GroupNumber> + <FileNumber>34</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <bDave2>0</bDave2> - <PathWithFileName>../Src/system_stm32f4xx.c</PathWithFileName> - <FilenameWithoutPath>system_stm32f4xx.c</FilenameWithoutPath> + <PathWithFileName>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c</PathWithFileName> + <FilenameWithoutPath>stm32f4xx_hal_can.c</FilenameWithoutPath> <RteFlg>0</RteFlg> <bShared>0</bShared> </File> - </Group> - - <Group> - <GroupName>BSP</GroupName> - <tvExp>1</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <cbSel>0</cbSel> - <RteFlg>0</RteFlg> <File> - <GroupNumber>5</GroupNumber> - <FileNumber>30</FileNumber> + <GroupNumber>7</GroupNumber> + <FileNumber>35</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <bDave2>0</bDave2> - <PathWithFileName>..\BSP\Driver\bsp_usart.c</PathWithFileName> - <FilenameWithoutPath>bsp_usart.c</FilenameWithoutPath> + <PathWithFileName>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c</PathWithFileName> + <FilenameWithoutPath>stm32f4xx_hal_spi.c</FilenameWithoutPath> <RteFlg>0</RteFlg> <bShared>0</bShared> </File> <File> - <GroupNumber>5</GroupNumber> - <FileNumber>31</FileNumber> + <GroupNumber>7</GroupNumber> + <FileNumber>36</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <bDave2>0</bDave2> - <PathWithFileName>..\BSP\Driver\bsp_oled.c</PathWithFileName> - <FilenameWithoutPath>bsp_oled.c</FilenameWithoutPath> + <PathWithFileName>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c</PathWithFileName> + <FilenameWithoutPath>stm32f4xx_hal_tim.c</FilenameWithoutPath> <RteFlg>0</RteFlg> <bShared>0</bShared> </File> - </Group> - - <Group> - <GroupName>Device</GroupName> - <tvExp>1</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <cbSel>0</cbSel> - <RteFlg>0</RteFlg> <File> - <GroupNumber>6</GroupNumber> - <FileNumber>32</FileNumber> + <GroupNumber>7</GroupNumber> + <FileNumber>37</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <bDave2>0</bDave2> - <PathWithFileName>..\BSP\Device\oled.c</PathWithFileName> - <FilenameWithoutPath>oled.c</FilenameWithoutPath> + <PathWithFileName>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c</PathWithFileName> + <FilenameWithoutPath>stm32f4xx_hal_tim_ex.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>7</GroupNumber> + <FileNumber>38</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c</PathWithFileName> + <FilenameWithoutPath>stm32f4xx_hal_uart.c</FilenameWithoutPath> <RteFlg>0</RteFlg> <bShared>0</bShared> </File> diff --git a/Standard_robot/MDK-ARM/Standard_robot.uvprojx b/Standard_robot/MDK-ARM/Standard_robot.uvprojx index cf9749dd4789e689560e2398dc1314ddee2a0193..2e6d7087dbada03b5a36374b75fd81a43a261f4e 100644 --- a/Standard_robot/MDK-ARM/Standard_robot.uvprojx +++ b/Standard_robot/MDK-ARM/Standard_robot.uvprojx @@ -338,7 +338,7 @@ <MiscControls></MiscControls> <Define>USE_HAL_DRIVER,STM32F427xx,USE_HAL_DRIVER,STM32F427xx</Define> <Undefine></Undefine> - <IncludePath>../Inc;../Drivers/STM32F4xx_HAL_Driver/Inc;../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy;../Drivers/CMSIS/Device/ST/STM32F4xx/Include;../Drivers/CMSIS/Include;../BSP/Algorithm;../BSP/Controller;../BSP/Device;../BSP/Driver;../BSP/Modules</IncludePath> + <IncludePath>../Inc; ../Drivers/STM32F4xx_HAL_Driver/Inc; ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy; ../Drivers/CMSIS/Device/ST/STM32F4xx/Include; ../Drivers/CMSIS/Include; ../BSP/Algorithm; ../BSP/Controller; ../BSP/Device; ../BSP/Driver; ../BSP/Modules</IncludePath> </VariousControls> </Cads> <Aads> @@ -407,6 +407,11 @@ <FileType>1</FileType> <FilePath>../Src/adc.c</FilePath> </File> + <File> + <FileName>can.c</FileName> + <FileType>1</FileType> + <FilePath>../Src/can.c</FilePath> + </File> <File> <FileName>dma.c</FileName> <FileType>1</FileType> @@ -417,6 +422,11 @@ <FileType>1</FileType> <FilePath>../Src/spi.c</FilePath> </File> + <File> + <FileName>tim.c</FileName> + <FileType>1</FileType> + <FilePath>../Src/tim.c</FilePath> + </File> <File> <FileName>usart.c</FileName> <FileType>1</FileType> @@ -434,106 +444,6 @@ </File> </Files> </Group> - <Group> - <GroupName>Drivers/STM32F4xx_HAL_Driver</GroupName> - <Files> - <File> - <FileName>stm32f4xx_hal_adc.c</FileName> - <FileType>1</FileType> - <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c</FilePath> - </File> - <File> - <FileName>stm32f4xx_hal_adc_ex.c</FileName> - <FileType>1</FileType> - <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c</FilePath> - </File> - <File> - <FileName>stm32f4xx_hal_spi.c</FileName> - <FileType>1</FileType> - <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c</FilePath> - </File> - <File> - <FileName>stm32f4xx_hal_tim.c</FileName> - <FileType>1</FileType> - <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c</FilePath> - </File> - <File> - <FileName>stm32f4xx_hal_tim_ex.c</FileName> - <FileType>1</FileType> - <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c</FilePath> - </File> - <File> - <FileName>stm32f4xx_hal_uart.c</FileName> - <FileType>1</FileType> - <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c</FilePath> - </File> - <File> - <FileName>stm32f4xx_hal_rcc.c</FileName> - <FileType>1</FileType> - <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c</FilePath> - </File> - <File> - <FileName>stm32f4xx_hal_rcc_ex.c</FileName> - <FileType>1</FileType> - <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c</FilePath> - </File> - <File> - <FileName>stm32f4xx_hal_flash.c</FileName> - <FileType>1</FileType> - <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c</FilePath> - </File> - <File> - <FileName>stm32f4xx_hal_flash_ex.c</FileName> - <FileType>1</FileType> - <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c</FilePath> - </File> - <File> - <FileName>stm32f4xx_hal_flash_ramfunc.c</FileName> - <FileType>1</FileType> - <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c</FilePath> - </File> - <File> - <FileName>stm32f4xx_hal_gpio.c</FileName> - <FileType>1</FileType> - <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c</FilePath> - </File> - <File> - <FileName>stm32f4xx_hal_dma_ex.c</FileName> - <FileType>1</FileType> - <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c</FilePath> - </File> - <File> - <FileName>stm32f4xx_hal_dma.c</FileName> - <FileType>1</FileType> - <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c</FilePath> - </File> - <File> - <FileName>stm32f4xx_hal_pwr.c</FileName> - <FileType>1</FileType> - <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c</FilePath> - </File> - <File> - <FileName>stm32f4xx_hal_pwr_ex.c</FileName> - <FileType>1</FileType> - <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c</FilePath> - </File> - <File> - <FileName>stm32f4xx_hal_cortex.c</FileName> - <FileType>1</FileType> - <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c</FilePath> - </File> - <File> - <FileName>stm32f4xx_hal.c</FileName> - <FileType>1</FileType> - <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c</FilePath> - </File> - <File> - <FileName>stm32f4xx_hal_exti.c</FileName> - <FileType>1</FileType> - <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c</FilePath> - </File> - </Files> - </Group> <Group> <GroupName>Drivers/CMSIS</GroupName> <Files> @@ -557,6 +467,16 @@ <FileType>1</FileType> <FilePath>..\BSP\Driver\bsp_oled.c</FilePath> </File> + <File> + <FileName>bsp_can.c</FileName> + <FileType>1</FileType> + <FilePath>..\BSP\Driver\bsp_can.c</FilePath> + </File> + <File> + <FileName>bsp_key.c</FileName> + <FileType>1</FileType> + <FilePath>..\BSP\Driver\bsp_key.c</FilePath> + </File> </Files> </Group> <Group> @@ -638,6 +558,121 @@ </File> </Files> </Group> + <Group> + <GroupName>Algorithm</GroupName> + <Files> + <File> + <FileName>pid.c</FileName> + <FileType>1</FileType> + <FilePath>..\BSP\Algorithm\pid.c</FilePath> + </File> + </Files> + </Group> + <Group> + <GroupName>Drivers/STM32F4xx_HAL_Driver</GroupName> + <Files> + <File> + <FileName>stm32f4xx_hal_adc.c</FileName> + <FileType>1</FileType> + <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c</FilePath> + </File> + <File> + <FileName>stm32f4xx_hal_adc_ex.c</FileName> + <FileType>1</FileType> + <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c</FilePath> + </File> + <File> + <FileName>stm32f4xx_hal_rcc.c</FileName> + <FileType>1</FileType> + <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c</FilePath> + </File> + <File> + <FileName>stm32f4xx_hal_rcc_ex.c</FileName> + <FileType>1</FileType> + <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c</FilePath> + </File> + <File> + <FileName>stm32f4xx_hal_flash.c</FileName> + <FileType>1</FileType> + <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c</FilePath> + </File> + <File> + <FileName>stm32f4xx_hal_flash_ex.c</FileName> + <FileType>1</FileType> + <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c</FilePath> + </File> + <File> + <FileName>stm32f4xx_hal_flash_ramfunc.c</FileName> + <FileType>1</FileType> + <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c</FilePath> + </File> + <File> + <FileName>stm32f4xx_hal_gpio.c</FileName> + <FileType>1</FileType> + <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c</FilePath> + </File> + <File> + <FileName>stm32f4xx_hal_dma_ex.c</FileName> + <FileType>1</FileType> + <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c</FilePath> + </File> + <File> + <FileName>stm32f4xx_hal_dma.c</FileName> + <FileType>1</FileType> + <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c</FilePath> + </File> + <File> + <FileName>stm32f4xx_hal_pwr.c</FileName> + <FileType>1</FileType> + <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c</FilePath> + </File> + <File> + <FileName>stm32f4xx_hal_pwr_ex.c</FileName> + <FileType>1</FileType> + <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c</FilePath> + </File> + <File> + <FileName>stm32f4xx_hal_cortex.c</FileName> + <FileType>1</FileType> + <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c</FilePath> + </File> + <File> + <FileName>stm32f4xx_hal.c</FileName> + <FileType>1</FileType> + <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c</FilePath> + </File> + <File> + <FileName>stm32f4xx_hal_exti.c</FileName> + <FileType>1</FileType> + <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c</FilePath> + </File> + <File> + <FileName>stm32f4xx_hal_can.c</FileName> + <FileType>1</FileType> + <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c</FilePath> + </File> + <File> + <FileName>stm32f4xx_hal_spi.c</FileName> + <FileType>1</FileType> + <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c</FilePath> + </File> + <File> + <FileName>stm32f4xx_hal_tim.c</FileName> + <FileType>1</FileType> + <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c</FilePath> + </File> + <File> + <FileName>stm32f4xx_hal_tim_ex.c</FileName> + <FileType>1</FileType> + <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c</FilePath> + </File> + <File> + <FileName>stm32f4xx_hal_uart.c</FileName> + <FileType>1</FileType> + <FilePath>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c</FilePath> + </File> + </Files> + </Group> <Group> <GroupName>::CMSIS</GroupName> </Group> diff --git a/Standard_robot/MDK-ARM/Standard_robot/Standard_robot.hex b/Standard_robot/MDK-ARM/Standard_robot/Standard_robot.hex index 3571b7f566269b986f71b42f41114c6073faa3c7..6b6a86fbc4babf73abba950e69d695eab754c11a 100644 --- a/Standard_robot/MDK-ARM/Standard_robot/Standard_robot.hex +++ b/Standard_robot/MDK-ARM/Standard_robot/Standard_robot.hex @@ -1,18 +1,18 @@ :020000040800F2 -:1000000050090020C1010008471E0008891C000893 -:10001000451E0008710800083D220008000000008D -:10002000000000000000000000000000391F000870 -:10003000FD08000800000000491E00083B1F0008E2 +:10000000880B0020C10100083F2A0008A92600082B +:100010003D2A000871080008813000080000000037 +:10002000000000000000000000000000312B00086C +:100030001509000800000000412A0008332B0008C1 :10004000DB010008DB010008DB010008DB01000820 :10005000DB010008DB010008DB010008DB01000810 :10006000DB010008DB010008DB010008DB01000800 :10007000DB010008DB010008DB010008DB010008F0 -:10008000DB010008DB010008DB010008DB010008E0 -:10009000DB010008DB010008DB010008DB010008D0 +:10008000DB010008DB010008DB0100088108000833 +:1000900075080008DB010008DB010008DB0100082F :1000A000DB010008DB010008DB010008DB010008C0 :1000B000DB010008DB010008DB010008DB010008B0 :1000C000DB010008DB010008DB010008DB010008A0 -:1000D000DB01000831220008DB010008DB01000819 +:1000D000DB01000875300008DB010008DB010008C7 :1000E000DB010008DB010008DB010008DB01000880 :1000F000DB010008DB010008DB010008DB01000870 :10010000DB010008DB010008DB010008DB0100085F @@ -20,15 +20,15 @@ :10012000DB010008DB010008DB010008DB0100083F :10013000DB010008DB010008DB010008DB0100082F :10014000DB010008DB010008DB010008DB0100081F -:10015000DB010008DB01000875080008DB0100086E +:10015000DB010008DB0100088D080008DB01000856 :10016000DB010008DB010008DB010008DB010008FF :10017000DB010008DB010008DB01000800000000D3 :10018000DB010008DB010008DB010008DB010008DF :10019000DB010008DB010008DB010008DB010008CF :1001A0000000000000000000DB010008DFF80CD0B8 -:1001B00000F048FA00480047612B00085009002071 +:1001B00000F048FA00480047093A0008880B002080 :1001C0000648804706480047FEE7FEE7FEE7FEE7F1 -:1001D000FEE7FEE7FEE7FEE7FEE7FEE7C51F0008D5 +:1001D000FEE7FEE7FEE7FEE7FEE7FEE7BD2B0008D1 :1001E000AD0100082DE9F05F0546002092469B46D0 :1001F00088460646814640241BE02846414647463D :10020000224600F057F853465A46C01A914110D37F @@ -101,7 +101,7 @@ :100630001C464FF00043524263EB0403994208BF4B :10064000904230BD064C074D06E0E06840F00103E3 :1006500094E8070098471034AC42F6D3FFF7AAFDA0 -:100660001439000834390008202A06DBCB17203A59 +:10066000784A0008984A0008202A06DBCB17203A6F :1006700041FA02F043EAE07306E041FA02F3D040A7 :10068000C2F12002914008431946704710B5141E6C :1006900073F1000408DA401C41F1000192185B413B @@ -134,787 +134,1066 @@ :100840008A6890F8303042EA43228A6001688A68F8 :1008500022F480628A6001688A68406942EA8020E6 :10086000886010BD0023014000E0FFFF0000F0FFA2 -:10087000FEE70000014800F02DBA0000F000002063 -:1008800001681823CAB2103AB2FBF3F2054B6FF3BA -:100890000901032A9B5CC36500D9091D81650846CF -:1008A000704700008030000810B5014600208B69B9 -:1008B0008A6A4FF0C07453B1B3F5005F15D072B1BE -:1008C000012A0CD0022A0AD0032A09D104E01AB165 -:1008D000012A06D0022A03D1C96AC90100D5012024 -:1008E00010BDC96AA142FAD010BD002AF7D0012A72 -:1008F000F2D0022AF3D0032AF3D010BD704770471C -:1009000078B50024009490F83C20012A19D00122E7 -:1009100080F83C200A6807230568092A13D9EE6885 -:100920000A3A02EB420293409E43EE600B788A68DB -:100930000A3B03EB43039A400368DD682A43DA600D -:1009400010E0022078BD2E6902EB420293409E43E4 -:100950002E610B788A6803EB43039A4003681D6994 -:100960002A431A614A681F23072A13D205686E6B4F -:10097000521E02EB820293409E436E630A8893B23A -:100980000A79521E02EB820293400268556B2B4398 -:10099000536327E005680D2A12D22E6BD21F02EB9B -:1009A000820293409E432E630B790A88DB1F92B22A -:1009B00003EB83039A4003681D6B2A431A6311E01B -:1009C000EE6A0D3A02EB820293409E43EE620B798F -:1009D0000A880D3B92B203EB83039A400368DD6AF9 -:1009E0002A43DA621B4B0568194A9D420AD10D68F9 -:1009F000122D07D1556825F400055560556845F45A -:100A00008005556005689D421DD1134D0B68AB42B2 -:100A100001D0112B17D1536823F48003536053681E -:100A200043F4000353600968A9420CD10B490C4AF6 -:100A30000968B1FBF2F101EB8101490000E0491EB8 -:100A400000910029FBD180F83C40002078BD0000D7 -:100A50000023014000200140120000100C00002083 -:100A600040420F000068C06C704770B504004FF042 -:100A7000000503D0206C002610B107E0012070BDF6 -:100A8000204600F01DF8666484F83C60206CC006C7 -:100A900010D4206C20F4885040F0020020642046DE -:100AA000FFF752FE6664206C20F0020040F0010067 -:100AB000206400E0012584F83C60284670BD0000F9 -:100AC00010B586B0044614216846FFF7C3FB1149F0 -:100AD000206888421CD110480021026842F48072CC -:100AE0000260006800F4807005900B4814380268BA -:100AF00042F001020260006800F001000590402011 -:100B000000900320CDE901016946044800F02EFA67 -:100B100006B010BD002001404438024000000240F1 -:100B20002DE9F041044600680D4681684FF000074A -:100B300049050BD58068C00508D5206C40F0200021 -:100B4000206484F83C700120BDE8F08100F0FEFADA -:100B500006460FE0681C0DD025B100F0F7FA801BA7 -:100B6000A84207D9206C40F00400206484F83C704F -:100B70000320E9E7206800688007EBD521686FF063 -:100B800012000860206C40F40070206420688168C6 -:100B900011F0405F13D1217E89B9C16A11F4700F41 -:100BA00002D0806840050AD4206C20F48070206454 -:100BB000206CC00403D4206C40F0010020640020AD -:100BC000C2E7000018B50021009190F83C20012AEE -:100BD00007D0012280F83C2002689368DB0702D02E -:100BE00011E0022018BD936843F0010393602A4A84 -:100BF0002A4B1268B2FBF3F202EB420200E0521EF3 -:100C00000092002AFBD102689368DB0741D0036C95 -:100C100040F20164A34343F48073036453685B05AB -:100C200005D5036C23F4005343F480530364036C31 -:100C3000DB0404D5436C23F00603436400E0416405 -:100C400080F83C1016496FF0220313604968006871 -:100C5000CA06144906D088421BD1816811F0405F52 -:100C600013D016E08842F8D00F4A904203D1D1F851 -:100C70000423D206F1D00D4A90420AD1D1F80413D0 -:100C800001F01F011029E8D303E0816841F08041A1 -:100C90008160002018BD00000C00002040420F00C1 -:100CA00000230140002001400021014000220140BA -:100CB00090F83510022903D080214165012070474A -:100CC000052180F835100068016821F001010160FC -:100CD000002070472DE9F84304464FF00009CDF895 -:100CE000009063484FF41651A56D0068B0FBF1F712 -:100CF0002E6894F85C10082000FA01F131420FD000 -:100D000021680A6852070BD50A6822F004020A60BB -:100D100094F85C108840A860606D40F00100606548 -:100D200094F85C104FF0010808FA01F0304208D046 -:100D300021684969090604D5A860606D40F0020089 -:100D4000606594F85C1004208840304208D0216827 -:100D50000968890704D5A860606D40F004006065EB -:100D600094F85C1010208840304218D0216809683F -:100D7000090714D5A86020680168490304D50068F4 -:100D8000000308D5A16C07E00168C90503D4016818 -:100D900021F008010160216C09B12046884794F8D0 -:100DA0005C1020208840304231D021680968C90693 -:100DB0002DD5A86094F8350005282068016806D074 -:100DC000490347D5006800031DD4616C1CE021F085 -:100DD000160101602068416921F080014161206CA9 -:100DE00008B9A06C20B12068016821F008010160F9 -:100DF00094F85C103F208840A86084F8349084F810 -:100E00003580216D1FE0E16B09B120468847606D98 -:100E100000282BD0606DC00714D0052084F8350061 -:100E20002068016821F0010101600098401C0090D9 -:100E3000B84203D820680068C007F6D184F834901F -:100E400084F83580E16C002910D001B02046BDE85F -:100E5000F04308470168C905D5D4016821F01001A5 -:100E6000016084F8349084F83580CCE7BDE8F883DD -:100E70000C0000202DE9F041044600F067F9064619 -:100E80005CB1002584F83450022084F835002068D5 -:100E9000016821F0010101600DE00120BDE8F08151 -:100EA00000F054F9801B052805D920206065032037 -:100EB00084F83500F2E720680068C007F0D12268A6 -:100EC000116820480140D4E901031843D4E90336EE -:100ED0003343184363691843A3691843E36918430C -:100EE000236A18430843616A042903D1D4E90B1328 -:100EF00019430843106020684069666A20F00701C2 -:100F000030460E43012704280CD1A06A0643E06A4C -:100F100040B12046FFF7C8FC20B14020606584F84E -:100F20003570BAE7206846612046FFF7A9FC94F8BF -:100F30005C203F2191408160656584F83570002018 -:100F4000ACE700003F8010F070B5044600F0FEF8FA -:100F50000546601C02D004480078044400F0F6F80E -:100F6000401BA042FAD370BD000000202DE9F84FCD -:100F700000224FF0010803254FF00F0E0B6808FA0E -:100F800002F42340A3426ED14E68012E05D0022EFA -:100F900003D0112E01D0122E12D186684FEA420CD6 -:100FA00005FA0CF7BE43CF6807FA0CF737438760A2 -:100FB0004668A6430C79C4F300149440344344605B -:100FC000C668570005FA07FC8C6826EA0C06BC4088 -:100FD0003443C4604C68022C01D0122C13D1D408C5 -:100FE00000EB8404A346D4F8209054074FEAD46A57 -:100FF0000EFA0AF629EA06090E6906FA0AF646EA20 -:101000000906CBF8206004680E7924EA0C0406F087 -:101010000306BE40264306604C68E4006FD53B4C97 -:10102000266846F480462660246822F0030604F40D -:1010300080440094364C3444A446D4F808489607BB -:10104000360F0EFA06F7BC43324FB84201D10027E3 -:101050002EE0314FB84201D1012729E02F4FB8428D -:1010600002D1022724E04AE02D4FB84201D10327E4 -:101070001EE02C4FB84201D1042719E02A4FB84294 -:1010800001D1052714E0294FB84201D106270FE00E -:10109000274FB84201D107270AE0264FB84201D1B5 -:1010A000082705E0244FB84201D1092700E00A27AC -:1010B000B7402743CCF80878204E34684F689C43EB -:1010C000FF0300D51C4334601C4E361D34684F6846 -:1010D0009C43BF0300D51C433460184E0836346867 -:1010E0004F689C43FF0200D51C433460134E0C36FE -:1010F00034684F689C43BF0200D51C433460521CC7 -:10110000102AFFF43BAFBDE8F88F000044380240DE -:10111000003001400000024000040240000802408C -:10112000000C02400010024000140240001802406F -:10113000001C02400020024000240240003C01400C -:101140000AB1816170470904FBE70000014880682B -:1011500070470000000000200248816802781144B6 -:1011600081607047000000200B4810B5016841F411 -:1011700000710160016841F480610160016841F41F -:1011800080710160032000F06FF8002000F006F885 -:1011900000F024F8002010BD003C024070B50D4D59 -:1011A00004464FF47A712878B1FBF0F00A490968D7 -:1011B000B1FBF0F000F03AFC48B9102C07D2002245 -:1011C0002146501E00F030F800206C6070BD0120F8 -:1011D00070BD0000000000200C0000200A4808B587 -:1011E000016841F480410160006800F48040009093 -:1011F0000548001F016841F080510160006800F05F -:101200008050009008BD000044380240002809DBEF -:1012100000F01F02012191404009800000F1E02010 -:10122000C0F8001170470000F0B40E4B1B680C466C -:10123000C3F30223C3F10705042D00D90425191DAA -:10124000072901D2002300E0DB1E012606FA05F182 -:10125000491E214099409E40761E16403143F0BC05 -:1012600001F000B80CED00E0064900F00702086844 -:101270004FF6FF03184040EA0220034A104308607B -:10128000704700000CED00E00000FA052DE9F04782 -:101290000E46050065D0DFF81481D8F80000F7B2DB -:1012A00000F00F00B04207D288F80070D8F80000B4 -:1012B00000F00F00B04254D128683D4C810712D590 -:1012C000400703D5206840F4E050206028780007EC -:1012D00003D5206840F4604020602068A96820F0B1 -:1012E000F000084320602878C0072DD03049686896 -:1012F0000839012812D0022813D0032811D0096818 -:10130000890700292DDA216821F0030101432160BA -:10131000FFF71CFF814641F2883A0EE00968890315 -:10132000EFE709688901ECE7FFF710FFA0EB09017F -:10133000514502D90320BDE8F0872068696800F0B4 -:101340000C00B0EB810FEFD1D8F80010404601F04F -:101350000F01B14207D90770006800F00F00B042DA -:1013600001D00120E7E72878400705D52068E96823 -:1013700020F4E050084320602878000706D5206854 -:10138000296920F4604040EAC100206000F038F88C -:101390002168084AC1F30311515CC840064908603E -:1013A00006480068FFF7FAFE0020C4E7003C024050 -:1013B00008380240883000080C000020040000209B -:1013C0000448054900680968044AC1F38221515C58 -:1013D000C84070470C0000200838024098300008D0 -:1013E0000448054900680968044AC1F34231515C68 -:1013F000C84070470C0000200838024098300008B0 -:10140000154810B5006810F00C02144813D01449A8 -:10141000042A0FD0082A0ED10F4C241F22682368FB -:1014200002F03F025B0207D52068C0F38810A0FBE2 -:10143000010106E0084610BD2168C1F38811A1FB37 -:1014400000010023FEF7CEFE2168C1F30141491CD3 -:101450004900B0FBF1F010BD083802400024F40050 -:10146000001BB7002DE9F84F040076D02078DFF894 -:1014700038A3CE4DC00749D0DAF800105046C1F36A -:101480008101012908D00068C0F3810002280AD137 -:10149000281D0068400206D52868800336D560689C -:1014A0000028E2D032E06068B0F5803F10D0B0F59F -:1014B000A02F286810D020F480302860286820F4FD -:1014C000802028606068A0B1FFF740FE06460CE06F -:1014D000286840F48030F4E740F480202860F7E783 -:1014E000FFF734FE801B642873D828688003F7D583 -:1014F0000CE0FFF72BFE064605E000BFFFF726FED7 -:10150000801B6428F0D828688003F7D42078DFF89F -:10151000A08280074FF000093ED5DAF8001050464F -:1015200011F00C0F09D00068C0F3810002280BD124 -:101530009D48001F0068400206D42868800715D522 -:10154000E068012809D111E0E068B8B10120C8F8CD -:101550000000FFF7FBFD064605E020E1FFF7F6FD82 -:10156000801B0228C0D828688007F7D52868216921 -:1015700020F0F80040EAC10028600DE0C8F80090B3 -:10158000FFF7E4FD064604E0FFF7E0FD801B0228BC -:101590001FD828688007F7D42078000722D5824E0C -:1015A000844861696C3671B101210160FFF7CEFD9D -:1015B000074604E0FFF7CAFDC01B022809D83068BF -:1015C0008007F7D50EE0C0F80090FFF7BFFD074693 -:1015D00005E082E0FFF7BAFDC01B02287DD8306825 -:1015E0008007F7D42078400768D5DFF8BCB1002722 -:1015F0000BF1380BDBF80000C0000BD4DBF8001057 -:1016000041F08051CBF80010DBF80000012700F01A -:1016100080500090684E3068C00510D4306840F4A7 -:1016200080703060FFF792FD009005E0FFF78EFDBF -:101630000099401A022850D83068C005F6D55A4E95 -:10164000A068683601280FD00528306810D020F037 -:1016500001003060306820F004003060A068B8B14C -:10166000FFF774FD00900FE0306840F00100F4E7F0 -:1016700040F004003060F7E7FFF768FD0099411A79 -:1016800041F28830814266D830688007F4D50EE098 -:10169000FFF75CFD009007E0FFF758FD0099411A45 -:1016A00041F28830814256D830688007F4D42FB197 -:1016B000DBF8001021F08051CBF80010A069D0B306 -:1016C000DAF800205146C2F38102022A4AD00228E9 -:1016D000484607D0C8F8600000E03CE0FFF736FD60 -:1016E00004463BE04746C8F86000FFF72FFD06467A -:1016F00005E000BFFFF72AFD801B02282BD82868D1 -:101700008001F7D4D4E907010843A16A2B4A4908AC -:1017100002EB0141626A41EA8211084394F82C10FD -:1017200040EA01612048001F016001203866FFF790 -:101730000DFD044605E034E0FFF708FD001B02281C -:1017400009D828688001F7D52BE000BFFFF7FEFC21 -:10175000001B022802D90320BDE8F88F2868800109 -:10176000F4D41EE00128F7D00868E26900F4800193 -:10177000914214D1226A00F03F0191420FD147F605 -:10178000C071626A0140914209D1A26A00F44031FD -:10179000914204D1E16A00F07060884201D00120DA -:1017A000DAE70020D8E7000008380240003802409D -:1017B00000004742800E4742007000400000FFFFDB -:1017C00070B5040005D00025A56294F8510010B151 -:1017D00006E0012070BD84F85050204600F030F83B -:1017E000022084F851002068016821F04001016066 -:1017F000D4E901010843D4E90312114308436169A4 -:101800000843218B01F400710843E1690843216A10 -:101810000843A16A084321680860A069042101EA1D -:101820001040616A0843216848602068C16921F45A -:101830000061C1616565012084F85100002070BD20 -:10184000F0B587B0044614216846FEF703FD1C4935 -:101850002068884232D11B480024016841F480513D -:101860000160006800F48050059016481438016843 -:1018700041F002010160016801F002010591016877 -:1018800041F0010101600068022500F001000590AF -:101890001820CDE9000502AA0326052782E8D0001A -:1018A00069460948FFF762FB8020CDE9000502AADE -:1018B000694682E8D0000548FFF758FB07B0F0BD45 -:1018C0000030014044380240000402400000024061 -:1018D0002DE9F84F044690F8500000271D461646A3 -:1018E000894601280DD04FF0010B84F850B0FFF766 -:1018F0002DFC804694F85100BA46012804D00227F6 -:101900008EE00220BDE8F88FB9F1000F7DD0002EE7 -:101910007BD0032084F85100C4F854A0C4F8309060 -:10192000A686E686C4F838A0A4F83CA0A4F83EA099 -:10193000C4F844A0C4F840A0A068B0F5004F04D19A -:101940002068016841F4804101602068016849060F -:1019500003D4016841F040010160E068B0F5006F18 -:10196000606803D030B3012E24D040E008B1012ECE -:101970001CD1206B21680088C86006E0206881685F -:10198000890709D5216B0988C160206B801C206301 -:10199000E08E401EE08609E0FFF7D8FBA0EB0800D0 -:1019A000A84202D3681C01D031E07DB3E08E00284C -:1019B000E4D11FE0206B21680078087306E02068FE -:1019C0008168890709D5216B09780173206B401C58 -:1019D0002063E08E401EE08609E0FFF7B7FBA0EB36 -:1019E0000800A84202D3681C01D010E075B1E08E57 -:1019F0000028E4D142462946204600F027FA08B1E3 -:101A000020206065A06820B107E008E0FFE7032719 -:101A100006E02068C16880680090606D00B1012711 -:101A200084F851B084F850A038466BE710B5401EDA -:101A3000B0F1807F01D3012010BD4FF0E024606140 -:101A40000F21601700F00EFC0020A061072020612C -:101A5000002010BD7047000070B502680446106891 -:101A6000D168536910F00F0F52D003F0010501F453 -:101A700090762E435FD0C20705D0CA0503D5E26B2E -:101A800042F00102E263420705D5DA0703D0E26BB8 -:101A900042F00202E263820705D5DA0703D0E26B67 -:101AA00042F00402E263020707D501F020022A4354 -:101AB00003D0E26B42F00802E263E26B002A33D00B -:101AC000800604D5880602D5204600F09FFA2068DB -:101AD0004069E16BC0F38010090700D428B32046A9 -:101AE00000F086FA2068416949061AD5416921F05B -:101AF00040014161606BA0B11B490165606BFFF75C -:101B0000D7F8002810D0606B016DBDE87040084721 -:101B1000830610D58B060ED52046BDE8704000F038 -:101B200075BA2046FFF796FF70BD2046FFF792FF7B -:101B30000020E06370BD030606D50B0604D52046E1 -:101B4000BDE8704000F042BB4006F3D54806F1D531 -:101B5000D168204621F04001D160202184F839105D -:101B600000F091F870BD0000E11F000870B504009E -:101B700004D094F83900002510B106E0012070BDB2 -:101B800084F83850204600F023F8242084F83900E7 -:101B90002068C16821F40051C160204600F082FA3B -:101BA0002068016921F4904101612068416921F0B8 -:101BB0002A0141612068C16841F40051C160E563B8 -:101BC000202084F8390084F83A00002070BD00001D -:101BD00070B586B0064614216846FEF73BFB2449E3 -:101BE0003068884241D123480025016841F0100146 -:101BF0000160006800F0100005901E48143801686C -:101C000041F0020101600068694600F002000590A1 -:101C1000C020009002200190012002900320039038 -:101C2000072004901448FFF7A1F9154C13482060D1 -:101C30004FF0006060604020C4E902050001C4E983 -:101C40000405A561E561256220466562FFF712F98A -:101C500008B1FEF754FE3463002211462520A66326 -:101C6000FFF7E2FA2520FFF7D1FA06B070BD0000B9 -:101C7000001001404438024000040240B8640240B1 -:101C8000F000002070477047FEE700007FB5002499 -:101C900015480094019402941249039401604FF492 -:101CA0008031C0E901140461047680F820400F49B6 -:101CB000C0E90A140125C561C46080F8304045615F -:101CC000FEF7D3FE08B1FEF71AFE0620CDE90005A7 -:101CD000694602940448FEF713FE002801D0FEF77F -:101CE0000EFE7FBD00200140100000200100000F0B -:101CF000094808B5016841F48001016000680022CC -:101D000000F48000009011464620FFF78DFABDE8F0 -:101D100008404620FFF77ABA303802402DE9F041FA -:101D200086B014216846FEF795FA2348002401681E -:101D300041F002010160016801F0020105910168B2 -:101D400041F001010160016801F0010105910168A4 -:101D500041F080010160016801F080010591016896 -:101D600041F0400101600068144F00F040004FF462 -:101D7000C0650590002229463846FFF7E1F9DFF8F3 -:101D80004080BE15002231464046FFF7D9F9009544 -:101D90000125CDE90154694638460394FFF7E6F87A -:101DA0000096CDE90154694640460394FFF7DEF8FA -:101DB00006B0BDE8F0810000303802400004024067 -:101DC00000180240104810B50E4901604FF48271AE -:101DD000416000218160C1604FF400720161C0E97F -:101DE00005122822C0E90721416281620A21C162ED -:101DF000FFF7E6FC002803D0BDE81040FEF77FBDEA -:101E000010BD000000300140580000200C4810B503 -:101E10000A4901604FF4E1314160002181600C22E8 -:101E2000C160C0E904128161C161FFF79FFE002813 -:101E300003D0BDE81040FEF762BD10BD00100140A8 -:101E4000B0000020FEE770477047000038B5044638 -:101E50001248134B0068B0FBF3F04FF47A73584309 -:101E600000906068B0F5827F0DD10B460092002291 -:101E70008021204600F016F870B1606D40F020001F -:101E80006065032038BD009830B1401E0090206886 -:101E90008068C0430006F6D5002038BD0C00002045 -:101EA00000366E012DE9F0411D4617460E460446E8 -:101EB000DDF8188008E0681C06D0FFF747F9A0EBB2 -:101EC0000800A8420BD255B12068806836EA0000AD -:101ED00030D00020B842EED10020BDE8F08120686B -:101EE000416821F0E00141606068B0F5827F0BD16C -:101EF000A068B0F5004F02D0B0F5806F04D1206823 -:101F0000016821F040010160A06AB0F5005F09D1CD -:101F10002068016821F4005101602068016841F4E3 -:101F200000510160012084F85100002084F8500025 -:101F30000320D2E70120CDE77047FFF70DB900007D -:101F400030B593B030216846FEF784F914210CA80F -:101F5000FEF780F919480025016841F080510160C1 -:101F6000006800F0805011901548016841F440412C -:101F700001600068022400F44040119001200090AC -:101F8000000401908001CDE9064006200890A820B9 -:101F9000CDE9090404200B906846FFF763FA0CA909 -:101FA0000F2081E831004FF4A0500F90E002109014 -:101FB00005210CA8FFF76AF913B030BD4038024084 -:101FC000007000400548016841F470010160034958 -:101FD0004FF00060803908607047000088ED00E035 -:101FE00010B5806B0021C185C184FFF733FD10BDA2 -:101FF0000168CA6822F49072CA6001684A6922F0D6 -:1020000001024A61202180F83A10704710B590F81B -:102010003A10222901D0022010BD8168B1F5805FFD -:1020200011D00169002901681FD0496801F07F03C0 -:10203000816A4A1C82620B70C18D491E0904090C19 -:10204000C18518D02BE00269816A002A02685268B3 -:1020500005D0D2B20A80816A491C8162ECE7C2F3E2 -:1020600008020A80816A891CF7E74A68816A4B1C6A -:1020700083620A70E0E70168CA6822F02002CA6041 -:102080000168CA6822F48072CA6001684A6922F055 -:1020900001024A61202180F83A10FFF7F3FD002089 -:1020A00010BD00002DE9F041044600680169E268B6 -:1020B00021F44051114301612169A068E26908439C -:1020C0006169114308432168CA6849F20C639A4365 -:1020D0000243CA6020684169A26921F4407111433A -:1020E0004161E069192764253226B0F5004F354A71 -:1020F000354920684FF0000806D0884201D0904250 -:1021000036D1FFF76DF935E0884201D0904202D117 -:10211000FFF766F901E0FFF753F961684A18A0FB81 -:10212000070148EB0803FEF75DF80146B0FBF5F048 -:102130000201B1FBF5F06FF01803584301EB80008A -:1021400006EBC000B0FBF5F000F0F80002EB400237 -:10215000B1FBF5F0584301EB800006EBC000B0FB8B -:10216000F5F000F00700216810448860BDE8F081B8 -:10217000FFF726F961688B0F8A00A0FB0701FEF7C5 -:1021800031F80146B0FBF5F06FF01802504301EB57 -:10219000800006EB0010B0FBF5F000F0F002B1FBA0 -:1021A000F5F002EB0012B1FBF5F06FF018035843A5 -:1021B00001EB800006EB0010B0FBF5F000F00F0023 -:1021C000D1E70000001401400010014090F83910E0 -:1021D000212901D0022070478168B1F5805F016A32 -:1021E0000BD04A1C0262026809785160C18C491EFA -:1021F0000904090CC1840ED017E009880268C1F3F4 -:102200000801516001690029016A02D0491C01627C -:10221000ECE7891CFBE70168CA6822F08002CA600B -:102220000068C16841F04001C160002070470000B3 -:102230000148FFF711BC0000B0000020FEE70000DD -:1022400037B514460846064B6A46214600F0ECF8BE -:1022500004466946002000F07EFC20463EBD00009A -:10226000572B00080907090E002804DB00F1E020C5 -:1022700080F80014704700F00F0000F1E02080F8B3 -:10228000141D704702E008C8121F08C1002AFAD1C5 -:1022900070477047002001E001C1121F002AFBD1E6 -:1022A000704700002DE9FF5F82B00021DDE90430B6 -:1022B000020DDDF840B0034318D044F61050A2F2EE -:1022C000FF3242431514119801281FD0A5EB0B00D3 -:1022D000401C5FEA000A4FF000064E4FDFF83891CD -:1022E000B046504615D5CAF1000413E011980124F8 -:1022F0004AA3012801D16FEA0B010298119AC0E9A3 -:102300000031C0E9024206B0BDE8F09FCBF1000009 -:10231000DFE704460021404A491842EB0450CDE96A -:10232000001012E0E00707D032463B4640464946DF -:10233000FEF777F88046894632463B4610461946F6 -:10234000FEF76FF806460F466410002CEAD1DDE96F -:102350000401DDE90023BAF1000F06DAFEF761F8A7 -:1023600042464B46FEF75DF805E0FEF7CCF84246E4 -:102370004B46FEF7C8F804460E460022284BFEF7EF -:1023800049F903D84FF0FF30014607E00022254B02 -:1023900020463146FDF79EFFFEF724F9102409E0A0 -:1023A000002C0ADB0A220023FDF71CFF039B3032BE -:1023B0001A55641E50EA0102F2D1641C039AC4F15A -:1023C00011031444119A012A03D0012208430DD1AC -:1023D0000AE0084304D000204FF0110B119072E77F -:1023E000A3EB0B056D1E0DE05B4504DD4FF0000215 -:1023F00005F1010504E003DA4FF00002A5F1010543 -:10240000002AECD002981199C0E90231C0E90045D8 -:1024100079E70000000014400000F03F30000000A9 -:102420000000F0430000E03F2DE9FF4F95B09B46D0 -:102430008946064600250FE2252877D10024274645 -:10244000F84A0121059400E0044316F8013F203BBF -:1024500001FA03F01042F7D130782A2811D06FF03A -:102460002F033078A0F13002092A16D8059A44F0DB -:10247000020402EB820203EB42021044761C059038 -:10248000EFE759F8042B0592002A03DA504244F48E -:102490000054059044F00204761C30782E2816D1A2 -:1024A00016F8010F44F004042A280DD06FF02F0213 -:1024B0003078A0F13003092B09D807EB870302EB32 -:1024C0004303C718761CF3E759F8047B761C307871 -:1024D0006C280FD006DC4C2817D068280DD06A284D -:1024E00014D104E0742810D07A280FD10DE044F400 -:1024F00000140AE044F4801401E044F440147278BB -:10250000824202D104F58014761C761C307866284D -:102510000BD013DC582877D009DC002875D045286B -:10252000F6D04628F4D047281AD19DE118E0632858 -:1025300035D0642879D0652812D195E1702873D000 -:1025400008DC6728F1D069286FD06E280DD06F287D -:1025500006D1B5E073282CD0752875D0782874D0B2 -:102560005A46179990476D1C75E1C4F30250022832 -:1025700009D003280DD0D9F8001004280DD00D6023 -:1025800009F1040967E1D9F80010EA17C1E900521E -:10259000F6E7D9F800100D80F2E70D70F0E719F8B2 -:1025A000041B8DF8001000208DF80100EA46012080 -:1025B00003E059F804AB4FF0FF3061074FF0000122 -:1025C00002D40DE008F101018846B9420FDA8045D6 -:1025D000F8DB1AF808100029F4D108E008F101012D -:1025E00088468142FADB1AF808100029F6D10598CE -:1025F0005B46A0EB080721463846179A00F094FA8C -:10260000284400EB080507E04DE029E10DE01AF849 -:10261000010B5A4617999047B8F10108F7D25B466B -:1026200021463846179A13E142E00A220092C4F389 -:1026300002524FF0000A022A08D059F804CB032AAC -:102640004FEAEC710AD00DE029E02AE009F1070118 -:1026500021F00702F2E802C1914609E00FFA8CFC72 -:102660004FEAEC71042A03D14FFA8CFC4FEAEC716B -:10267000002907DA0A460021DCF1000C61EB0201B7 -:102680002D2202E0220504D52B228DF80420012200 -:1026900003E0E20701D02022F7E7904659E00A2143 -:1026A00002E010220DE010214FF0000A00910BE033 -:1026B00010224FF0000A44F004040827009203E0BF -:1026C00008224FF0000A0092C4F30252022A05D0F9 -:1026D00059F804CB0021032A08D009E009F10701C9 -:1026E00021F00702F2E802C1914605E01FFA8CFCD6 -:1026F000042A01D10CF0FF0C4FF00008220728D566 -:10270000702806D0009B83F0100353EA0A0305D01B -:102710000EE040228DF80420012208E05CEA01026C -:1027200006D030228DF804208DF805000222904654 -:10273000009B83F0080353EA0A030AD15CEA010212 -:1027400001D1620705D530228DF804204FF0010831 -:102750007F1E582804D034A003900EA802900DE0EC -:1027600036A0F9E753466046009AFDF73BFD8446E4 -:102770000398825C0298401E029002705CEA01009D -:10278000F0D1029806A9081A00F1200A600702D5C4 -:1027900024F4803400E00127574502DDA7EB0A004E -:1027A00000E0002000EB0A01009005984144401A27 -:1027B0000590E00306D45B462146179A059800F081 -:1027C000B3F90544002706E001A85A46C05D1799F1 -:1027D00090476D1C7F1C4745F6DBE0030CD55B463C -:1027E0002146179A059800F09FF9054404E030202F -:1027F0005A46179990476D1C0099481E0090002971 -:10280000F5DC08E0029802995A460078491C0291CA -:10281000179990476D1CBAF10001AAF1010AF1DC89 -:1028200065E1000009280100303132333435363794 -:10283000383961626364656600000000303132330C -:1028400034353637383941424344454600000000AC -:1028500000F058F90544761C307800287FF4ECAD80 -:1028600019B02846BDE8F08F620700D4062709F1A9 -:10287000070222F0070CFCE80223E14603F00048BF -:102880005FEA080C02D00FF2702C0DE05FEA045CE6 -:1028900002D50FF2682C07E05FEAC47C02D00FF289 -:1028A000602C01E0AFF2700C4FF0FF3823F00043D2 -:1028B000CDF850C065280CD006DC452809D0462844 -:1028C0001DD047283DD13DE0662818D067287ED12D -:1028D00038E00021112F01DB112000E0781CCDE948 -:1028E000000106A90EA8FFF7DDFCDDE90F010E9A35 -:1028F00003910021009207F1010A04914DE04FF08D -:1029000000400097CDE9011006A90EA8FFF7CAFC08 -:10291000DDE90F0203920E9B11990022DDF80CA055 -:102920000093049211B9791C00EB010AB7EB0A007D -:1029300004D4C0F1FF3007F1010A0490AAEB0700AC -:10294000019044E0012F00DA01270021112F01DD61 -:10295000112000E03846CDE9000106A90EA8FFF7D6 -:10296000A1FCDDE90F010E9A039100210491009270 -:10297000BA4621070CD40399514500DA8A46BAF1C8 -:10298000010F05DD009AAAF10101515C302908D040 -:10299000B84202DA10F1040F06DA0121CDE9011084 -:1029A00015E0AAF10101E9E7002805DC04990144DA -:1029B0000491AAEB000102E0411C514500DD8A466A -:1029C0000499401A401C01904FF0004002902007EB -:1029D00004D40198504501DBCDF8048000208DF827 -:1029E0004F0002980DF14F07B0F1004F25D02B207A -:1029F0000E9002984FF0020800280CDA4042029034 -:102A00002D200E9007E00A210298FDF72EFC3031B0 -:102A1000029007F8011DB8F10001A8F10108F2DCED -:102A200002980028EFD1791E0E980870307800F0D7 -:102A3000200040F0450007F8020D12A8C01B00F16D -:102A400007081498007800B1012000EB0A010198F2 -:102A500001EBE07105984144401A401E0590E003E7 -:102A600006D45B462146179A059800F05DF80544A8 -:102A70001498007818B15A46179990476D1CE003D6 -:102A800024D55B462146179A059800F04DF8054479 -:102A90001CE00498002807DBDDE90301884203DD20 -:102AA0000098405C179901E0179930205A469047EA -:102AB000049805F10105401C04900198401E019006 -:102AC00004D12E205A46179990476D1CBAF1000187 -:102AD000AAF1010ADDDC05E017F8010B5A46179947 -:102AE00090476D1CB8F10001A8F10108F4DC5B46C9 -:102AF0002146179A0598ABE62D0000002B00000038 -:102B0000200000002DE9F041044600251E4617462E -:102B1000880404D405E039462020B0476D1C641EAB -:102B2000F9D52846BDE8F0812DE9F041044600259D -:102B30001E469046C80301D5302700E020278804B0 -:102B400004D505E041463846B0476D1C641EF9D5F2 -:102B50002846BDE8F0810A68531C0B60107070476E -:102B6000FEF702FBFFF7ECF9FFF7D8F8FFF7C0F824 -:102B7000FFF74CF9FFF78AF8FFF724F900F076FA2F -:102B800000F0E4F8002000F09DF800F01BF800F0E1 -:102B9000D3F900224FF480710948FEF7D1FA4FF4BF -:102BA000FA70FEF7D1F9002000F08CF800F0C4F9BB -:102BB0000121084600F05CF96420FEF7C5F9F7E74B -:102BC000001802402DE9F047002000F07BF8DFF804 -:102BD000549000245FF0000609EBC60000EBD4001F -:102BE000002507784FFA86F8380604EB050041B255 -:102BF00001D5012200E00022404600F083F878066B -:102C00006D1C070EEDB2082DEED3761CF6B2802EA9 -:102C1000E2D30834E4B2402CDCD3BDE8F04700F046 -:102C20008BB900001435000810B50748FDF7CAFF3E -:102C300064210548FDF774FF0348FDF713FF00EE1C -:102C4000100AB8EE400A10BD1000002010B5FFF7C2 -:102C5000EBFFBDEEC00A10EE100AD0F54D6100D5B5 -:102C60004942802901DC002010BDA0F24F314942C9 -:102C700000D54942802901DC012010BDA0F2C261CB -:102C8000494200D54942802901DC022010BDA0F64E -:102C90009911494200D54942802901DC032010BD29 -:102CA000414200D54942802901DC042010BDA0F634 -:102CB000FA70404200D54042802801DC052010BD5A -:102CC000062010BDF0B500210D4BFF260C4600225A -:102CD00001280FD003EBC20580B16F5CC7F1FF077D -:102CE0006F54521CD2B2802AF2D9491CC9B20829A9 -:102CF000EDD3F0BD03EBC2056E54F2E76C54F0E780 -:102D00005001002070B5802817D2002915DB3F291B -:102D100013DCCB1701EB5375C5F3C70325F007058B -:102D20000124094E491B8C4006EBC000012A05D046 -:102D3000C15C022A05D0A143C15470BDC15C2143CE -:102D4000FAE76140F8E700005001002070B5474DF8 -:102D50004FF48064002221462846FEF7F1F94FF433 -:102D6000FA70FEF7F1F8012221462846FEF7E8F94D -:102D70000021AE2000F064F90021084600F060F95F -:102D80000021102000F05CF90021402000F058F9EB -:102D90000021812000F054F90021CF2000F050F9EB -:102DA0000021A12000F04CF90021C82000F048F9D2 -:102DB0000021A62000F044F90021A82000F040F9ED -:102DC00000213F2000F03CF90021D32000F038F929 -:102DD0000021084600F034F90021D52000F030F938 -:102DE0000021802000F02CF90021D92000F028F9E2 -:102DF0000021F12000F024F90021DA2000F020F970 -:102E00000021122000F01CF90021DB2000F018F94D -:102E10000021402000F014F90021202000F010F9DA -:102E20000021022000F00CF900218D2000F008F9AB -:102E30000021142000F004F90021A42000F000F982 -:102E40000021A62000F0FCF80021AF2000F0F8F8E7 -:102E50000021AF2000F0F4F80020FFF733FFBDE8B9 -:102E600070400021084600F081B8000000040240D4 -:102E700070B505460C460020FFF724FFFFF7E6FE7D -:102E800007280CD2DFE800F004060F111315170015 -:102E90000AA200E00BA22146284600F029F8BDE86E -:102EA000704000F049B809A2F5E70AA2F3E70AA2C8 -:102EB000F1E70BA2EFE70CA2EDE70000444F574EFD -:102EC000000000004C4546540000000052494748AD -:102ED00054000000555000005052455353454400E3 -:102EE00053544154494300004552524F5200000090 -:102EF0000FB430B5A1B00C46054680216846FDF7F9 -:102F0000A9F9042D13D8142C11D8002C0FD027AAFE -:102F100068462699FFF794F9C4F11500C0B2002164 -:102F20000DF800106A462146284600F071F821B0DD -:102F300030BC5DF814FB000070B50B4E0024214638 -:102F4000002000F013F8002506EBC5000121005D0C -:102F500000F076F86D1CEDB2802DF5D3641CE4B260 -:102F6000082CECD370BD00005001002010B5801C6F -:102F7000C4B2B031C8B2002100F062F8102040EABB -:102F80001410002100F05CF804F0F000BDE81040DF -:102F9000002100F055B800002DE9F04F01EB410190 -:102FA00000EB400049068006040E203A4FEA116902 -:102FB000D0B2164900EB4000A046002501EB800B83 -:102FC00000261BF805704FFA89FA380601D5012250 -:102FD00000E0002261B25046FFF794FE7806641CC0 -:102FE000070EE4B2A4EB08000C2809D0761CF6B258 -:102FF000082EEAD36D1CEDB20C2DE1D3BDE8F08FA5 -:1030000009F10100444600F0FF09F3E7A030000891 -:10301000F0B517460C46064600250CE02146304622 -:10302000FFF7BAFF641CE4B2142C02D90024761C0A -:10303000F6B26D1CEDB27A5D002AEFD1F0BD000052 -:1030400013B508484FF4007309B1012200E00022D3 -:103050001946FEF775F80A23012269460248FEF771 -:1030600037FC1CBD000402405800002003480068E3 -:10307000416941F08001416170470000B0000020CB -:1030800000061016000610160000000000000000E8 -:1030900001020304060708090000000001020304FE -:1030A0000000000000000000000000000000000020 -:1030B0003F400000000000000000300040003000F1 -:1030C0004000000009000BC03D000BC03D0009009E -:1030D00018C024407FE0224031800000180024C046 -:1030E0001B000D803240018003801C4027401C8063 -:1030F00007400040100060000000000000000000D9 -:103100000000000000001F80204040200000402000 -:1031100020401F8000000000090006001F800600FC -:1031200009000000040004003F80040004000000C7 -:103130000010006000000000000000000400040017 -:103140000400040004000000000000400000000033 -:1031500000000000002001C0060038004000000010 -:103160001F802040204020401F80000000001040B1 -:103170003FC000400000000018C021402240244011 -:103180001840000010802040244024401B80000094 -:1031900002000D0011003FC0014000003C802440AF -:1031A00024402440238000001F80244024403440D9 -:1031B000038000003000200027C0380020000000FD -:1031C0001B802440244024401B8000001C0022C09F -:1031D000224022401F800000000000000840000044 -:1031E000000000000000000004600000000000007B -:1031F000000004000A00110020804040090009007E -:103200000900090009000000000040402080110072 -:103210000A000400180020002340240018000000C9 -:103220001F802040274029401F400000004007C069 -:1032300039000F0001C0004020403FC0244024401E -:103240001B8000001F802040204020403080000074 -:1032500020403FC0204020401F80000020403FC051 -:1032600024402E4030C0000020403FC024402E00AB -:10327000300000000F001080204022403380020008 -:1032800020403FC0040004003FC0204020402040B8 -:103290003FC02040204000000060202020203FC090 -:1032A0002000200020403FC024400B0030C02040C0 -:1032B00020403FC020400040004000C03FC03C00D4 -:1032C00003C03C003FC0000020403FC00C40230032 -:1032D0003FC020001F802040204020401F80000071 -:1032E00020403FC024402400180000001F802140DF -:1032F000214020E01FA0000020403FC024402600C5 -:1033000019C0004018C024402440224031800000F1 -:10331000300020403FC020403000000020003F80AF -:10332000004000403F80200020003E0001C0070018 -:1033300038002000380007C03C0007C038000000FB -:10334000204039C0060039C020400000200038402D -:1033500007C0384020000000304021C026403840DF -:1033600020C00000000000007FE04020402000005E -:10337000000070000C0003800040000000004020AE -:1033800040207FE0000000000000200040002000FE -:1033900000000000001000100010001000100010CD -:1033A000000000004000000000000000000002805B -:1033B0000540054003C0004020003FC004400440D9 -:1033C0000380000000000380044004400640000029 -:1033D00000000380044024403FC000400000038000 -:1033E0000540054003400000000004401FC0244089 -:1033F00024402000000002E0055005500650042043 -:1034000020403FC00440040003C0004000000440CE -:1034100027C000400000000000100010041027E04A -:103420000000000020403FC00140070004C00440ED -:10343000204020403FC000400040000007C0040082 -:1034400007C0040003C00000044007C0044004009B -:1034500003C00040000003800440044003800000DB -:10346000041007F0045004400380000000000380B3 -:103470000440045007F00010044007C0024004005C -:1034800004000000000006400540054004C00000A4 -:10349000000004001F80044000400000040007807A -:1034A0000040044007C000400400070004C0018041 -:1034B00006000400060001C0070001C0060000006D -:1034C000044006C0010006C00440000004100710BC -:1034D00004E00180060004000000044005C006402E -:1034E000044000000000000004007BE040200000D9 -:1034F000000000000000FFF000000000000040207D -:103500007BE004000000000040008000400020003C -:10351000200040000000000000000000000000004B -:10352000000000000000000000000000000000009B -:10353000000000000000000000000000000000008B -:10354000000000000000000000000000000000007B -:103550000000000000000000000000060000000065 -:103560000000001E00000000000000DE000000005F -:10357000000000D800000000000000D8000000009B -:10358000000000D800000000000000DE0000000085 -:10359000000000FE00000000000000F60000000037 -:1035A00000000072000000000000000000000000A9 -:1035B0000000007C00000000000000FE0000000091 -:1035C000000000C600000000000000C6000000006F -:1035D000000000C600000000000000FE0000000027 -:1035E0000000007C0000000000000000000000005F -:1035F0000000001E00000000000000DE00000000CF -:10360000000000D600000000000000D6000000000E -:10361000000000D600000000000000D600000000FE -:10362000000000DE40000000000000FE600000001E -:103630000010006C700000000030000078000000F6 -:1036400000F0007C7C00000007F000FE7E0000001F -:103650003FF000C67F000001FFF000C67F80000F32 -:10366000FFF000C67FC0007FFFF000FE7FE003FF99 -:10367000FFF0007C7FF03FFFFFF000027FF83FFF8C -:10368000FFF000067FFC3FFFFFF0001E7FFE3FFFC4 -:10369000FFF000BC7FFF3FFFFFF000E07FFFBFFFB8 -:1036A000FF8000F87FFFFFFFFC00003E7FFFFFFF71 -:1036B000E000000E7FFFFFFF000000B87FFFFFF873 -:1036C000000000E07FFFFFF0000000FE7FFFFFF042 -:1036D0000000001E7FFFFFF0000000027FFFFFF0F0 -:1036E000000000007FEFFFF0020000067FE7FFF020 -:1036F0000200000E7FE3FFF00200001C7FE1FFF8F4 -:10370000030000BA7FE0FFFC030000F67FE07FFECD -:10371000038000E67FE03FFF038000F67FE03FFF8D -:1037200083C0003E7FE03FFFC3C0000E7FE03FFF4D -:10373000E3E000027FE03FFFF3E000007FE03FFFB7 -:10374000FBF000027FE03FFFFFF000667FE03FFFFD -:10375000FFF800F67FE03FFFFFF800D67FE03FFF75 -:10376000FFFC00D67FF07FFFFFFC00D67FF8FFF75D -:10377000FFFE00D67FFFFFF3FFFE00DE3FFFFFE10D -:10378000FFFF008C3FFFFFE0FFCF00401FFFFFC0A7 -:103790007FC780C01FFFFFC03FC380C00FFFFF80F7 -:1037A0001FC1C0FE07FFFF000FC0C0FE03FFFE00E9 -:1037B00007C060C001FFFC0003C020C0007FF00014 -:1037C00001C00086000F800000C00016000000004D -:1037D000004000D600000000000000D600000000FD -:1037E000000000D600000000000000D6000000002D -:1037F000000000D600000000000000D00000000023 -:10380000000000C0000000000000000600000000F2 -:103810000000001E00000000000000DE00000000AC -:10382000000000D800000000000000D800000000E8 -:10383000000000D800000000000000DE00000000D2 -:10384000000000DE00000000000000F600000000A4 -:1038500000000072000000000000000000000000F6 -:103860000000006200000000000000F60000000000 -:10387000000000F600000000000000D6000000007C -:10388000000000D600000000000000D6000000008C -:10389000000000DE000000000000008C00000000BE -:1038A0000000000000000000000000000000000018 -:1038B0000000000000000000000000000000000008 -:1038C00000000000000000000000000000000000F8 -:1038D00000000000000000000000000000000000E8 -:1038E00000000000000000000000000000000000D8 -:1038F00000000000000000000000000000000000C8 -:1039000000000000000000000000000000000000B7 -:103910000000000034390008000000201000000002 -:1039200084220008443900081000002040090000EB -:1039300094220008010000001000000000000000B8 -:043940000024F4006B +:10087000FEE70000014800F098BB0000D001002016 +:10088000014800F092BB0000D0010020014800F0B8 +:10089000E5BD0000D002002001681823CAB2103A5A +:1008A000B2FBF3F2054B6FF30901032A9B5CC365AE +:1008B00000D9091D8165084670470000704A00088C +:1008C00010B5014600208B698A6A4FF0C07453B19D +:1008D000B3F5005F15D072B1012A0CD0022A0AD0FC +:1008E000032A09D104E01AB1012A06D0022A03D151 +:1008F000C96AC90100D5012010BDC96AA142FAD058 +:1009000010BD002AF7D0012AF2D0022AF3D0032A20 +:10091000F3D010BD7047704778B50024009490F86C +:100920003C20012A19D0012280F83C200A680723C4 +:100930000568092A13D9EE680A3A02EB420293408D +:100940009E43EE600B788A680A3B03EB43039A40B0 +:100950000368DD682A43DA6010E0022078BD2E6962 +:1009600002EB420293409E432E610B788A6803EBB0 +:1009700043039A4003681D692A431A614A681F238A +:10098000072A13D205686E6B521E02EB8202934057 +:100990009E436E630A8893B20A79521E02EB82026A +:1009A00093400268556B2B43536327E005680D2A7B +:1009B00012D22E6BD21F02EB820293409E432E6313 +:1009C0000B790A88DB1F92B203EB83039A4003681A +:1009D0001D6B2A431A6311E0EE6A0D3A02EB8202A4 +:1009E00093409E43EE620B790A880D3B92B203EB73 +:1009F00083039A400368DD6A2A43DA621B4B056869 +:100A0000194A9D420AD10D68122D07D1556825F467 +:100A100000055560556845F48005556005689D42A0 +:100A20001DD1134D0B68AB4201D0112B17D1536868 +:100A300023F480035360536843F400035360096850 +:100A4000A9420CD10B490C4A0968B1FBF2F101EB48 +:100A50008101490000E0491E00910029FBD180F886 +:100A60003C40002078BD00000023014000200140F0 +:100A7000120000100800002040420F000068C06C07 +:100A8000704770B504004FF0000503D0206C0026BD +:100A900010B107E0012070BD204600F01DF866642B +:100AA00084F83C60206CC00610D4206C20F4885080 +:100AB00040F0020020642046FFF746FE6664206C8A +:100AC00020F0020040F00100206400E0012584F8DD +:100AD0003C60284670BD000010B586B00446142165 +:100AE0006846FFF7B7FB1149206888421CD11048BF +:100AF0000021026842F480720260006800F4807095 +:100B000005900B481438026842F001020260006848 +:100B100000F001000590402000900320CDE9010184 +:100B20006946044800F0E6FD06B010BD0020014013 +:100B300044380240000002402DE9F04104460068BC +:100B40000D4681684FF0000749050BD58068C00548 +:100B500008D5206C40F02000206484F83C7001200F +:100B6000BDE8F08100F0BAFE06460FE0681C0DD02B +:100B700025B100F0B3FE801BA84207D9206C40F0DD +:100B80000400206484F83C700320E9E720680068D2 +:100B90008007EBD521686FF012000860206C40F4EC +:100BA000007020642068816811F0405F13D1217EBD +:100BB00089B9C16A11F4700F02D0806840050AD467 +:100BC000206C20F480702064206CC00403D4206C5E +:100BD00040F0010020640020C2E7000018B50021A9 +:100BE000009190F83C20012A07D0012280F83C2097 +:100BF00002689368DB0702D011E0022018BD9368F9 +:100C000043F0010393602A4A2A4B1268B2FBF3F2C5 +:100C100002EB420200E0521E0092002AFBD1026861 +:100C20009368DB0741D0036C40F20164A34343F4B3 +:100C30008073036453685B0505D5036C23F400538C +:100C400043F480530364036CDB0404D5436C23F04A +:100C50000603436400E0416480F83C1016496FF0DD +:100C60002203136049680068CA06144906D0884206 +:100C70001BD1816811F0405F13D016E08842F8D094 +:100C80000F4A904203D1D1F80423D206F1D00D4A85 +:100C900090420AD1D1F8041301F01F011029E8D3C2 +:100CA00003E0816841F080418160002018BD0000B0 +:100CB0000800002040420F000023014000200140B6 +:100CC000002101400022014090F82020012A07D095 +:100CD000022A05D0416A41F4802141620120704717 +:100CE000006842690A43426100207047F0B590F8FD +:100CF00020500468A468012D05D0022D03D0416A5C +:100D000041F4802153E014F0406F01D1E5004BD550 +:100D1000C4F30164022C03D9416A41F4000146E0A6 +:100D20000125A5401D608D684FF4C0739DB1CE684C +:100D300035434E6845EAC605066803EB0417F551CE +:100D40004FF4C275076805EB04150E697E51097DE5 +:100D5000012905D009E00E88CD6845EA4655EBE744 +:100D600001684E5946F480764E511179D2F80550FB +:100D70004FF4C67641EA0525016806EB04168D514D +:100D80001178D2F801204FF4C47541EA02210268BB +:100D900005EB04155151006803EB0411425842F071 +:100DA000010242500020F0BD416A41F4001141624D +:100DB0000120F0BD10B590F82020012A07D0022AAA +:100DC00005D0416A41F480214162012010BD3B48B9 +:100DD000D0F8002242F00102C0F80022D0F8002230 +:100DE00022F47C52C0F80022D0F800224B6A42EA7A +:100DF0000322C0F800220A7D02F01F0301229A405C +:100E0000D0F81C329343C0F81C32CB69B3B9D0F888 +:100E10000C329343C0F80C328C894B6864F31F4347 +:100E20004C6900EBC404C4F840320C890B6864F3CD +:100E30001F434C6900EBC404C4F84432CB69012B56 +:100E400016D1D0F80C321343C0F80C320C884B6822 +:100E500064F31F434C6900EBC404C4F840320C89AE +:100E6000CB6864F31F434C6900EBC404C4F84432FC +:100E70008B69002BD0F804320ED01343C0F8043233 +:100E80000B69002BD0F8143208D01343C0F8143289 +:100E9000096A012904D008E09343EFE79343F5E79B +:100EA000D0F81C121143C0F81C12D0F8001221F027 +:100EB0000101C0F80012002010BD000000640040D5 +:100EC000704730B590F82040012C05D0022C03D09B +:100ED000416A41F480215DE00468002955D024690D +:100EE000A40754D04FF4D874056804EB01142D59AD +:100EF00015F00405956005682D594ED0ED08556034 +:100F000005682C5904F00204D4604FF4DA740568C3 +:100F100004EB01142D5905F00F05156105682D59D5 +:100F2000C5F30725956105682C59240C54614FF4CD +:100F3000DC72046802EB0112A4581C700468A45807 +:100F4000240A5C700468A458240C9C700468A2589D +:100F5000120EDA704FF4DE72046802EB0112A4582C +:100F60001C710468A458240A5C710468A458240CF9 +:100F70009C710468A258120EDA71006881B101698F +:100F800041F020010161002030BDE468A8E7416A1A +:100F900041F400114162012030BD6D0D1560AFE7D5 +:100FA000C16841F02001C160EDE72DE9F05F054621 +:100FB000006800244669D0F804908768D0F80CB027 +:100FC000D0F810A0D0F81880F10748D0F90714D055 +:100FD00001218160B80703D5284600F026FA0CE00D +:100FE000780702D54FF4006407E0380702D54FF4C4 +:100FF000805402E0284600F017FAF80516D5296853 +:101000004FF480708860B80503D5284600F00FFAC9 +:101010000CE0780502D544F4005407E0380502D509 +:1010200044F4804402E0284600F000FAF80316D5A4 +:1010300029684FF480308860B80303D5284600F053 +:10104000F8F90CE0780302D544F4004407E03803D3 +:1010500002D544F4803402E0284600F0E9F9300774 +:1010600007D55FEACB6004D52968102044F40074EA +:10107000C86070074FF0080707D55FEA0B7004D50A +:101080002868C760284600F05FF9B00706D52868D1 +:10109000C068800702D0284600F058F9700607D5CE +:1010A0005FEACA6004D52968102044F480640861AE +:1010B000B00607D55FEA0A7004D52868076128469C +:1010C00000F082F9F00606D528680069800702D092 +:1010D000284600F07AF9B00308D55FEAC96005D563 +:1010E000296810204860284600F070F9F00307D501 +:1010F0005FEA097004D528684760284600F09AF92D +:10110000300446D55FEA497040D5F00504D55FEA62 +:10111000C87001D044F00104B00504D55FEA8870BE +:1011200001D544F00204700504D55FEA487001D58A +:1011300044F00404300529D518F0700F26D008F0CB +:101140007000402815D006DC102809D020280AD0CD +:10115000302816D10AE050280ED0602811D10EE0B8 +:1011600044F008040DE044F010040AE044F02004C8 +:1011700007E044F0400404E044F0800401E044F45B +:1011800080742868816921F07001816129680420D8 +:101190004860002C05D0686A204368622846FFF743 +:1011A0008FFEBDE8F09F70B5040003D094F82000D6 +:1011B00010B104E0012070BD204600F081F82068E5 +:1011C000016821F00201016000F088FB0546052658 +:1011D00004E000F083FB401B0A2811D82068406817 +:1011E0008007F6D42068016841F00101016000F039 +:1011F00075FB05460BE000F071FB401B0A2806D981 +:10120000606A40F40030606284F82060D2E72068B1 +:101210004068C007EFD0207E0128206801683DD0DB +:1012200021F080010160607E01282068016838D0CB +:1012300021F040010160A07E01282068016833D0C0 +:1012400021F020010160E07E0128206801682ED095 +:1012500041F010010160207F01282068016829D039 +:1012600021F008010160607F01282068016824D016 +:1012700021F004010160D4E902010843D4E9041219 +:10128000114308436168491E08432168C861002072 +:101290006062012084F82000002070BD41F08001D0 +:1012A000C0E741F04001C5E741F02001CAE721F065 +:1012B0001001CFE741F00801D4E741F00401D9E77C +:1012C00010B586B0044614216846FEF7C3FF1B49DB +:1012D000206888422FD11A480021026842F000722B +:1012E0000260006800F00070059015481038026830 +:1012F00042F0080202600068022200F00800059037 +:101300000320CDE90210CDE90002092004906946CE +:101310000C4800F0EFF900221146132000F04CFBBE +:10132000132000F03BFB00221146142000F044FB88 +:10133000142000F033FB06B010BD00000064004034 +:1013400040380240000C02407047000000B51A4AC5 +:10135000016889B0914204D107AB6A460021FFF7CA +:10136000B0FD00991548A1F20121072917D2028882 +:10137000C9B2521C01EB410302801149BDF81C2087 +:1013800001EB830152BA8A80BDF81E2052BACA808E +:10139000BDF8202052BA0A819DF822208A72018865 +:1013A000B1F5FA7F06D1002101800648016881F479 +:1013B0008041016009B000BD006400400C000020C5 +:1013C0003007002014140240704770477047000037 +:1013D00070B5044690F82000012804D0606A40F4FB +:1013E0000020606218E0022084F820002068016874 +:1013F00021F00101016000F071FA05460EE000BF26 +:1014000000F06CFA401B0A2808D9606A40F40030EA +:101410006062052084F82000012070BD20684068CB +:10142000C007EDD1606270BD70477047704770476C +:1014300070477047704790F83510022903D080211B +:10144000416501207047052180F83510006801686A +:1014500021F0010101600020704700002DE9F843F0 +:1014600004464FF00009CDF8009063484FF4165140 +:10147000A56D0068B0FBF1F72E6894F85C100820A9 +:1014800000FA01F131420FD021680A6852070BD5EA +:101490000A6822F004020A6094F85C108840A86090 +:1014A000606D40F00100606594F85C104FF0010839 +:1014B00008FA01F0304208D021684969090604D5CC +:1014C000A860606D40F00200606594F85C10042034 +:1014D0008840304208D021680968890704D5A8608F +:1014E000606D40F00400606594F85C101020884046 +:1014F000304218D021680968090714D5A86020680F +:101500000168490304D50068000308D5A16C07E011 +:101510000168C90503D4016821F008010160216C4C +:1015200009B12046884794F85C102020884030425A +:1015300031D021680968C9062DD5A86094F8350016 +:1015400005282068016806D0490347D500680003D4 +:101550001DD4616C1CE021F0160101602068416916 +:1015600021F080014161206C08B9A06C20B1206895 +:10157000016821F00801016094F85C103F20884068 +:10158000A86084F8349084F83580216D1FE0E16B09 +:1015900009B120468847606D00282BD0606DC007D8 +:1015A00014D0052084F835002068016821F001017D +:1015B00001600098401C0090B84203D82068006881 +:1015C000C007F6D184F8349084F83580E16C0029A6 +:1015D00010D001B02046BDE8F04308470168C905B6 +:1015E000D5D4016821F01001016084F8349084F8AA +:1015F0003580CCE7BDE8F883080000202DE9F041F4 +:10160000044600F06BF906465CB1002584F83450BE +:10161000022084F835002068016821F00101016092 +:101620000DE00120BDE8F08100F058F9801B05288D +:1016300005D920206065032084F83500F2E7206892 +:101640000068C007F0D12268116820480140D4E941 +:1016500001031843D4E9033633431843636918433D +:10166000A3691843E3691843236A18430843616A6E +:10167000042903D1D4E90B131943084310602068EF +:101680004069666A20F0070130460E4301270428AE +:101690000CD1A06A0643E06A40B12046FFF710F97A +:1016A00020B14020606584F83570BAE72068466153 +:1016B0002046FFF7F1F894F85C203F2191408160CB +:1016C000656584F835700020ACE700003F8010F0BD +:1016D00070B5044600F002F90546601C02D00448CB +:1016E0000078044400F0FAF8401BA042FAD370BD21 +:1016F000100000202DE9F84F00224FF001080325CB +:101700004FF00F0E0B6808FA02F42340A3426ED18B +:101710004E68012E05D0022E03D0112E01D0122EBC +:1017200012D186684FEA420C05FA0CF7BE43CF6827 +:1017300007FA0CF7374387604668A6430C79C4F371 +:101740000014944034434460C668570005FA07FC0F +:101750008C6826EA0C06BC403443C4604C68022CFA +:1017600001D0122C13D1D40800EB8404A346D4F882 +:10177000209054074FEAD46A0EFA0AF629EA0609BD +:101780000E6906FA0AF646EA0906CBF820600468F4 +:101790000E7924EA0C0406F00306BE4026430660D8 +:1017A0004C68E4006FD53B4C266846F480462660C2 +:1017B000246822F0030604F480440094364C344438 +:1017C000A446D4F808489607360F0EFA06F7BC432D +:1017D000324FB84201D100272EE0314FB84201D13B +:1017E000012729E02F4FB84202D1022724E04AE026 +:1017F0002D4FB84201D103271EE02C4FB84201D132 +:10180000042719E02A4FB84201D1052714E0294FD7 +:10181000B84201D106270FE0274FB84201D1072770 +:101820000AE0264FB84201D1082705E0244FB8420C +:1018300001D1092700E00A27B7402743CCF80878F0 +:10184000204E34684F689C43FF0300D51C4334602E +:101850001C4E361D34684F689C43BF0300D51C43A3 +:101860003460184E083634684F689C43FF0200D538 +:101870001C433460134E0C3634684F689C43BF02DF +:1018800000D51C433460521C102AFFF43BAFBDE866 +:10189000F88F000044380240003001400000024050 +:1018A0000004024000080240000C02400010024008 +:1018B0000014024000180240001C024000200240B8 +:1018C00000240240003C01400069084000D0012093 +:1018D00070470AB1816170470904FBE701488068DD +:1018E000704700001000002002488168027811440F +:1018F00081607047100000200B4810B5016841F46A +:1019000000710160016841F480610160016841F487 +:1019100080710160032000F06FF8002000F006F8ED +:1019200000F024F8002010BD003C024070B50D4DC1 +:1019300004464FF47A712878B1FBF0F00A4909683F +:10194000B1FBF0F000F03AFC48B9102C07D20022AD +:101950002146501E00F030F800206C6070BD012060 +:1019600070BD000010000020080000200A4808B5E3 +:10197000016841F480410160006800F480400090FB +:101980000548001F016841F080510160006800F0C7 +:101990008050009008BD000044380240002809DB58 +:1019A00000F01F02012191404009800000F1E02079 +:1019B000C0F8001170470000F0B40E4B1B680C46D5 +:1019C000C3F30223C3F10705042D00D90425191D13 +:1019D000072901D2002300E0DB1E012606FA05F1EB +:1019E000491E214099409E40761E16403143F0BC6E +:1019F00001F05ABB0CED00E0064900F00702086850 +:101A00004FF6FF03184040EA0220034A10430860E3 +:101A1000704700000CED00E00000FA052DE9F047EA +:101A20000E46050065D0DFF81481D8F80000F7B243 +:101A300000F00F00B04207D288F80070D8F800001C +:101A400000F00F00B04254D128683D4C810712D5F8 +:101A5000400703D5206840F4E05020602878000754 +:101A600003D5206840F4604020602068A96820F019 +:101A7000F000084320602878C0072DD030496868FE +:101A80000839012812D0022813D0032811D0096880 +:101A9000890700292DDA216821F003010143216023 +:101AA000FFF71CFF814641F2883A0EE0096889037E +:101AB000EFE709688901ECE7FFF710FFA0EB0901E8 +:101AC000514502D90320BDE8F0872068696800F01D +:101AD0000C00B0EB810FEFD1D8F80010404601F0B8 +:101AE0000F01B14207D90770006800F00F00B04243 +:101AF00001D00120E7E72878400705D52068E9688C +:101B000020F4E050084320602878000706D52068BC +:101B1000296920F4604040EAC100206000F038F8F4 +:101B20002168084AC1F30311515CC84006490860A6 +:101B300006480068FFF7FAFE0020C4E7003C0240B8 +:101B400008380240E441000808000020140000208A +:101B50000448054900680968044AC1F38221515CC0 +:101B6000C84070470800002008380240F4410008CF +:101B70000448054900680968044AC1F34231515CD0 +:101B8000C84070470800002008380240F4410008AF +:101B9000154810B5006810F00C02144813D0144911 +:101BA000042A0FD0082A0ED10F4C241F2268236864 +:101BB00002F03F025B0207D52068C0F38810A0FB4B +:101BC000010106E0084610BD2168C1F38811A1FBA0 +:101BD00000010023FEF706FB2168C1F30141491C07 +:101BE0004900B0FBF1F010BD083802400024F400B9 +:101BF000001BB7002DE9F84F040076D02078DFF8FD +:101C000038A3CE4DC00749D0DAF800105046C1F3D2 +:101C10008101012908D00068C0F3810002280AD19F +:101C2000281D0068400206D52868800336D5606804 +:101C30000028E2D032E06068B0F5803F10D0B0F507 +:101C4000A02F286810D020F480302860286820F465 +:101C5000802028606068A0B1FFF740FE06460CE0D7 +:101C6000286840F48030F4E740F480202860F7E7EB +:101C7000FFF734FE801B642873D828688003F7D5EB +:101C80000CE0FFF72BFE064605E000BFFFF726FE3F +:101C9000801B6428F0D828688003F7D42078DFF808 +:101CA000A08280074FF000093ED5DAF800105046B8 +:101CB00011F00C0F09D00068C0F3810002280BD18D +:101CC0009D48001F0068400206D42868800715D58B +:101CD000E068012809D111E0E068B8B10120C8F836 +:101CE0000000FFF7FBFD064605E020E1FFF7F6FDEB +:101CF000801B0228C0D828688007F7D5286821698A +:101D000020F0F80040EAC10028600DE0C8F800901B +:101D1000FFF7E4FD064604E0FFF7E0FD801B022824 +:101D20001FD828688007F7D42078000722D5824E74 +:101D3000844861696C3671B101210160FFF7CEFD05 +:101D4000074604E0FFF7CAFDC01B022809D8306827 +:101D50008007F7D50EE0C0F80090FFF7BFFD0746FB +:101D600005E082E0FFF7BAFDC01B02287DD830688D +:101D70008007F7D42078400768D5DFF8BCB100278A +:101D80000BF1380BDBF80000C0000BD4DBF80010BF +:101D900041F08051CBF80010DBF80000012700F083 +:101DA00080500090684E3068C00510D4306840F410 +:101DB00080703060FFF792FD009005E0FFF78EFD28 +:101DC0000099401A022850D83068C005F6D55A4EFE +:101DD000A068683601280FD00528306810D020F0A0 +:101DE00001003060306820F004003060A068B8B1B5 +:101DF000FFF774FD00900FE0306840F00100F4E759 +:101E000040F004003060F7E7FFF768FD0099411AE1 +:101E100041F28830814266D830688007F4D50EE000 +:101E2000FFF75CFD009007E0FFF758FD0099411AAD +:101E300041F28830814256D830688007F4D42FB1FF +:101E4000DBF8001021F08051CBF80010A069D0B36E +:101E5000DAF800205146C2F38102022A4AD0022851 +:101E6000484607D0C8F8600000E03CE0FFF736FDC8 +:101E700004463BE04746C8F86000FFF72FFD0646E2 +:101E800005E000BFFFF72AFD801B02282BD8286839 +:101E90008001F7D4D4E907010843A16A2B4A490815 +:101EA00002EB0141626A41EA8211084394F82C1066 +:101EB00040EA01612048001F016001203866FFF7F9 +:101EC0000DFD044605E034E0FFF708FD001B022885 +:101ED00009D828688001F7D52BE000BFFFF7FEFC8A +:101EE000001B022802D90320BDE8F88F2868800172 +:101EF000F4D41EE00128F7D00868E26900F48001FC +:101F0000914214D1226A00F03F0191420FD147F66D +:101F1000C071626A0140914209D1A26A00F4403165 +:101F2000914204D1E16A00F07060884201D0012042 +:101F3000DAE70020D8E70000083802400038024005 +:101F400000004742800E4742007000400000FFFF43 +:101F500070B5040005D00025A56294F8510010B1B9 +:101F600006E0012070BD84F85050204600F030F8A3 +:101F7000022084F851002068016821F040010160CE +:101F8000D4E901010843D4E903121143084361690C +:101F90000843218B01F400710843E1690843216A79 +:101FA0000843A16A084321680860A069042101EA86 +:101FB0001040616A0843216848602068C16921F4C3 +:101FC0000061C1616565012084F85100002070BD89 +:101FD000F0B587B0044614216846FEF73BF91C496A +:101FE0002068884232D11B480024016841F48051A6 +:101FF0000160006800F480500590164814380168AC +:1020000041F002010160016801F0020105910168DF +:1020100041F0010101600068022500F00100059017 +:102020001820CDE9000502AA0326052782E8D00082 +:1020300069460948FFF75EFB8020CDE9000502AA4A +:10204000694682E8D0000548FFF754FB07B0F0BDB1 +:1020500000300140443802400004024000000240C9 +:102060002DE9F84F044690F8500000271D4616460B +:10207000894601280DD04FF0010B84F850B0FFF7CE +:102080002DFC804694F85100BA46012804D002275E +:102090008EE00220BDE8F88FB9F1000F7DD0002E50 +:1020A0007BD0032084F85100C4F854A0C4F83090C9 +:1020B000A686E686C4F838A0A4F83CA0A4F83EA002 +:1020C000C4F844A0C4F840A0A068B0F5004F04D103 +:1020D0002068016841F48041016020680168490678 +:1020E00003D4016841F040010160E068B0F5006F81 +:1020F000606803D030B3012E24D040E008B1012E37 +:102100001CD1206B21680088C86006E020688168C7 +:10211000890709D5216B0988C160206B801C206369 +:10212000E08E401EE08609E0FFF7D8FBA0EB080038 +:10213000A84202D3681C01D031E07DB3E08E0028B4 +:10214000E4D11FE0206B21680078087306E0206866 +:102150008168890709D5216B09780173206B401CC0 +:102160002063E08E401EE08609E0FFF7B7FBA0EB9E +:102170000800A84202D3681C01D010E075B1E08EBF +:102180000028E4D142462946204600F05BFC08B115 +:1021900020206065A06820B107E008E0FFE7032782 +:1021A00006E02068C16880680090606D00B101277A +:1021B00084F851B084F850A038466BE710B5401E43 +:1021C000B0F1807F01D3012010BD4FF0E0246061A9 +:1021D0000F21601700F068FF0020A0610720206138 +:1021E000002010BD10B590F83C20012A22D0012219 +:1021F00080F83C20CA688C6822F4407222434C6804 +:1022000022F4806222430C6822F4006222430C69AB +:1022100022F4805222434C6922F400522243C969BD +:10222000002322F480420A4301684A6480F83C306B +:10223000002010BD022010BD70B590F83C20012A8E +:1022400032D0012480F83C40022280F83D2003680F +:102250005A689D6822F070060A6832435A60134B30 +:1022600002689A4214D0B2F1804F11D0104B9A42BA +:102270000ED0104B9A420BD00F4B9A4208D00F4B06 +:102280009A4205D00E4B9A4202D00E4B9A4204D18C +:10229000496825F080031943916080F83D40002192 +:1022A00080F83C10084670BD022070BD000001405F +:1022B0000004004000080040000C00400004014001 +:1022C000004001400018004070B586B0044614215B +:1022D0006846FDF7BFFF18492068884229D1174892 +:1022E0000024016841F001010160016801F0010171 +:1022F0000591016841F0100101600068022500F0BD +:10230000100005904FF440700090CDE90154012673 +:10231000CDE9034669460A48FFF7ECF94FF4C0409F +:102320000090CDE90154CDE9034669460548FFF721 +:10233000E1F906B070BD00000000014030380240F5 +:10234000000002400010024070B5044690F83C00C6 +:102350000D4601280DD0012684F83C60022084F847 +:102360003D0042B1042A18D0082A2AD00C2A4DD1A7 +:1023700039E0022070BD206800F092FC206881697D +:1023800041F0080181612068816921F004018161C7 +:10239000206881692A69114311E0206800F0B0FCCF +:1023A0002068816941F4006181612068816921F4BC +:1023B00080618161206881692A6941EA0221816125 +:1023C00024E0206800F0D2FC2068C16941F00801D7 +:1023D000C1612068C16921F00401C1612068C1693F +:1023E0002A69114311E0206800F0F4FC2068C169FB +:1023F00041F40061C1612068C16921F48061C1615B +:102400002068C1692A6941EA0221C16184F83D60FE +:10241000002084F83C0070BD10B5040003D094F88F +:102420003D0010B107E0012010BD002084F83C0001 +:10243000204600F00DF8022084F83D00211D2068A0 +:1024400000F0CAFB012084F83D00002010BD000010 +:1024500008B500680649884208D10648016841F07D +:1024600001010160006800F00100009008BD00005B +:1024700000000140443802407047000070B5026817 +:1024800004461068D168536910F00F0F52D003F062 +:10249000010501F490762E435FD0C20705D0CA052E +:1024A00003D5E26B42F00102E263420705D5DA0789 +:1024B00003D0E26B42F00202E263820705D5DA073D +:1024C00003D0E26B42F00402E263020707D501F099 +:1024D00020022A4303D0E26B42F00802E263E26B7F +:1024E000002A33D0800604D5880602D5204600F0A5 +:1024F000AFFC20684069E16BC0F38010090700D48D +:1025000028B3204600F096FC2068416949061AD598 +:10251000416921F040014161606BA0B11B49016537 +:10252000606BFEF788FF002810D0606B016DBDE87E +:1025300070400847830610D58B060ED52046BDE8AF +:10254000704000F085BC2046FFF796FF70BD204626 +:10255000FFF792FF0020E06370BD030606D50B066F +:1025600004D52046BDE8704000F052BD4006F3D5CA +:102570004806F1D5D168204621F04001D1602021E4 +:1025800084F8391000F08FF870BD0000252E000887 +:1025900070B5040004D094F83900002510B106E0AD +:1025A000012070BD84F83850204600F023F8242024 +:1025B00084F839002068C16821F40051C1602046C8 +:1025C00000F092FC2068016921F4904101612068CB +:1025D000416921F02A0141612068C16841F400513C +:1025E000C160E563202084F8390084F83A000020B7 +:1025F00070BD000070B586B0064614216846FDF730 +:1026000029FE23493068884240D1224800250168CC +:1026100041F010010160006800F0100005901D48B5 +:102620001438016841F0020101600068694600F059 +:1026300002000590C02000900220CDE90105032092 +:102640000390072004901448FFF754F8144C1348E3 +:1026500020604FF0006060604020C4E90205000186 +:10266000C4E90405A561E561256220466562FEF7BF +:10267000C5FF08B1FEF74FF934630022114625204B +:10268000A663FFF799F92520FFF788F906B070BD1A +:10269000001001404438024000040240B864024087 +:1026A000D002002070477047FEE700007FB500248D +:1026B00015480094019402941249039401604FF468 +:1026C0008031C0E901140461047680F820400F498C +:1026D000C0E90A140125C561C46080F83040456135 +:1026E000FEF7CFF908B1FEF716F90620CDE900058F +:1026F000694602940448FEF70FF9002801D0FEF75E +:102700000AF97FBD00200140880100200100000F70 +:10271000104810B50E4901600321416000214FF4BB +:1027200000228160C0E903124FF440124261017639 +:10273000012242768176C17601774177FEF733FD3B +:10274000002803D0BDE81040FEF7E5B810BD00003A +:1027500000640040D0010020094808B5016841F438 +:10276000800101600068002200F4800000901146A2 +:102770004620FFF721F9BDE808404620FFF70EB9D3 +:10278000303802402DE9F04F87B014216846FDF73C +:1027900061FD4F480024016841F0020101600168B9 +:1027A00001F002010591016841F001010160016839 +:1027B00001F001010591016841F008010160016823 +:1027C00001F008010591016841F080010160016894 +:1027D00001F080010591016841F04001016001684C +:1027E00001F040010591016841F0100101600168AC +:1027F00001F010010591016841F0200101600068BD +:10280000DFF8D09000F020004FF4C0650590002262 +:1028100029464846FFF75DF8DFF8BCA000222C21CE +:102820005046FFF756F8DFF8B4B04FF48076002238 +:1028300031465846FFF74DF8F70000223946284840 +:10284000FFF747F84FF48048002241462548FFF73C +:1028500040F800950125CDE90154694648460394A6 +:10286000FEF748FF2C200090CDE901546946504600 +:102870000394FEF73FFF1020CDE90004694650465F +:102880000294FEF737FF0096CDE901546946584699 +:102890000394FEF72FFF0420CDE900046946484663 +:1028A0000294FEF727FF0097CDE9015469460C48D2 +:1028B0000394FEF71FFFCDF80080CDE9015469466F +:1028C00008480394FEF716FF07B0BDE8F08F00003C +:1028D0003038024000040240001C02400018024050 +:1028E0000010024000140240104810B50E4901606B +:1028F0004FF48271416000218160C1604FF4007229 +:102900000161C0E905122822C0E907214162816204 +:102910000A21C162FFF71CFB002803D0BDE810406C +:10292000FDF7F9BF10BD000000300140F8010020A4 +:1029300010B592B000240F941C2168461094FDF746 +:1029400089FC202107A8FDF785FC2D482B49016053 +:10295000A721C0E9011444F62061C0E903144461D1 +:102960008461FFF759FD08B1FDF7D5FF0F940FA95A +:1029700023481094FFF760FC08B1FDF7CCFF6020FE +:1029800000904FF47A70CDE9010403940494059407 +:10299000002269461A480694FFF7D6FC08B1FDF7F5 +:1029A000BAFF042269461648FFF7CEFC08B1FDF7CE +:1029B000B2FF082269461248FFF7C6FC08B1FDF7CE +:1029C000AAFF0C2269460E48FFF7BEFC08B1FDF7CE +:1029D000A2FF0794089409944FF400500A94CDE99B +:1029E0000B4007A906480E94FFF7FCFB08B1FDF762 +:1029F00092FF0348FFF768FC12B010BD00000140D1 +:102A0000500200200C4810B50A4901604FF4E13132 +:102A10004160002181600C22C160C0E90412816123 +:102A2000C161FFF7B5FD002803D0BDE81040FDF7F8 +:102A300072BF10BD0010014090020020FEE77047F9 +:102A40007047000038B504461248134B0068B0FBCD +:102A5000F3F04FF47A73584300906068B0F5827FCA +:102A60000DD10B46009200228021204600F016F87E +:102A700070B1606D40F020006065032038BD0098A3 +:102A800030B1401E009020688068C0430006F6D533 +:102A9000002038BD0800002000366E012DE9F0410D +:102AA0001D4617460E460446DDF8188008E0681CEF +:102AB00006D0FEF713FFA0EB0800A8420BD255B1D9 +:102AC0002068806836EA000030D00020B842EED19D +:102AD0000020BDE8F0812068416821F0E0014160FC +:102AE0006068B0F5827F0BD1A068B0F5004F02D0CE +:102AF000B0F5806F04D12068016821F040010160C9 +:102B0000A06AB0F5005F09D12068016821F4005186 +:102B100001602068016841F400510160012084F8DF +:102B20005100002084F850000320D2E70120CDE7B7 +:102B30007047FEF7D9BE000030B593B0302168462B +:102B4000FDF788FB14210CA8FDF784FB194800252C +:102B5000016841F080510160006800F080501190E0 +:102B60001548016841F4404101600068022400F406 +:102B70004040119001200090000401908001CDE9B7 +:102B8000064006200890A820CDE9090404200B90F7 +:102B90006846FFF72FF80CA90F2081E831004FF4A9 +:102BA000A0500F90E002109005210CA8FEF736FF10 +:102BB00013B030BD40380240007000400548016845 +:102BC00041F47001016003494FF0006080390860F2 +:102BD0007047000088ED00E0F0B50268254C264DF6 +:102BE000264E274F274B4FF0804CA04209D060451E +:102BF00007D0A84205D0B04203D0B84201D09842D5 +:102C000004D122F0700E4A6842EA0E02A0421BD0A4 +:102C1000604519D0A84217D0B04215D0B84213D0A1 +:102C2000984211D0184DA8420ED0184DA8420BD092 +:102C3000174DA84208D0174DA84205D0164DA842FE +:102C400002D0164DA84203D122F44075CA682A4327 +:102C50004D6922F080022A4302608A68C2620A68D3 +:102C60008262A04201D0984201D109690163012129 +:102C70004161F0BD00000140000400400008004038 +:102C8000000C0040000401400040014000440140AD +:102C90000048014000180040001C00400020004097 +:102CA000F0B5026A22F001020262036A4268846996 +:102CB000124E24F073050C682C4323F002058B6838 +:102CC0002B430D4DA84201D0B04205D123F0080797 +:102CD000CB683B4323F00403A84201D0B04205D1A6 +:102CE0004D6922F4407215438A692A434260846127 +:102CF000496841630362F0BD0000014000040140E7 +:102D0000F0B5026A22F010020262026A4368846926 +:102D10000D6824F4E64444EA05248D6822F020027C +:102D200042EA05120F4D104EA84201D0B04206D122 +:102D3000CF6822F0800242EA071222F04002A84245 +:102D400001D0B04207D14D6923F4406343EA8503C3 +:102D50008D6943EA85034360846149688163026247 +:102D6000F0BD00000000014000040140F0B5026A1F +:102D700022F480720262026A4368C46922F400721B +:102D800024F073050C68124E2C438D6842EA05222C +:102D90000E4DA84201D0B04206D1CF6822F40062A5 +:102DA00042EA072222F48062A84201D0B04207D151 +:102DB0004D6923F4405343EA05138D6943EA051333 +:102DC0004360C4614968C1630262F0BD0000014014 +:102DD0000004014030B5026A22F480520262046AA3 +:102DE0004268C3690D6823F4E64343EA05238D680E +:102DF00024F4005444EA0534084DA84202D0084D9A +:102E0000A84204D14D6922F4804242EA8512426010 +:102E1000C36149680164046230BD000000000140E4 +:102E20000004014010B5806B0021C185C184FFF70B +:102E300023FB10BD0168CA6822F49072CA60016861 +:102E40004A6922F001024A61202180F83A10704755 +:102E500010B590F83A10222901D0022010BD8168E7 +:102E6000B1F5805F11D00169002901681FD0496860 +:102E700001F07F03816A4A1C82620B70C18D491E7A +:102E80000904090CC18518D02BE00269816A002A67 +:102E90000268526805D0D2B20A80816A491C8162F8 +:102EA000ECE7C2F308020A80816A891CF7E74A68E6 +:102EB000816A4B1C83620A70E0E70168CA6822F0ED +:102EC0002002CA600168CA6822F48072CA60016880 +:102ED0004A6922F001024A61202180F83A10FFF786 +:102EE000E1FB002010BD00002DE9F0410446006820 +:102EF0000169E26821F44051114301612169A06830 +:102F0000E26908436169114308432168CA6849F2CC +:102F10000C639A430243CA6020684169A26921F4A4 +:102F2000407111434161E069192764253226B0F5EB +:102F3000004F354A354920684FF0000806D08842D6 +:102F400001D0904236D1FEF713FE35E0884201D021 +:102F5000904202D1FEF70CFE01E0FEF7F9FD616838 +:102F60004A18A0FB070148EB0803FDF73BF90146AF +:102F7000B0FBF5F00201B1FBF5F06FF01803584318 +:102F800001EB800006EBC000B0FBF5F000F0F800AC +:102F900002EB4002B1FBF5F0584301EB800006EB79 +:102FA000C000B0FBF5F000F0070021681044886015 +:102FB000BDE8F081FEF7CCFD61688B0F8A00A0FBB5 +:102FC0000701FDF70FF90146B0FBF5F06FF01802AD +:102FD000504301EB800006EB0010B0FBF5F000F071 +:102FE000F002B1FBF5F002EB0012B1FBF5F06FF06F +:102FF0001803584301EB800006EB0010B0FBF5F01E +:1030000000F00F00D1E70000001401400010014063 +:1030100090F83910212901D0022070478168B1F55C +:10302000805F016A0BD04A1C026202680978516015 +:10303000C18C491E0904090CC1840ED017E009880F +:103040000268C1F30801516001690029016A02D0D8 +:10305000491C0162ECE7891CFBE70168CA6822F0A1 +:103060008002CA600068C16841F04001C160002070 +:10307000704700000148FFF701BA000090020020ED +:10308000FEE7000037B514460846064B6A4621465F +:1030900000F0ECF804466946002000F07EFC204673 +:1030A0003EBD00009B3900080907090E002804DB1B +:1030B00000F1E02080F80014704700F00F0000F1EC +:1030C000E02080F8141D704702E008C8121F08C1F4 +:1030D000002AFAD170477047002001E001C1121F99 +:1030E000002AFBD1704700002DE9FF5F82B000216C +:1030F000DDE90430020DDDF840B0034318D044F69A +:103100001050A2F2FF3242431514119801281FD02B +:10311000A5EB0B00401C5FEA000A4FF000064E4F83 +:10312000DFF83891B046504615D5CAF1000413E0D7 +:10313000119801244AA3012801D16FEA0B010298DA +:10314000119AC0E90031C0E9024206B0BDE8F09F23 +:10315000CBF10000DFE704460021404A491842EB6A +:103160000450CDE9001012E0E00707D032463B469C +:1031700040464946FDF755F98046894632463B466A +:1031800010461946FDF74DF906460F466410002C0F +:10319000EAD1DDE90401DDE90023BAF1000F06DA26 +:1031A000FDF73FF942464B46FDF73BF905E0FDF7D9 +:1031B000AAF942464B46FDF7A6F904460E46002200 +:1031C000284BFDF727FA03D84FF0FF30014607E000 +:1031D0000022254B20463146FDF77CF8FDF702FA28 +:1031E000102409E0002C0ADB0A220023FCF7FAFF76 +:1031F000039B30321A55641E50EA0102F2D1641C5E +:10320000039AC4F111031444119A012A03D0012234 +:1032100008430DD10AE0084304D000204FF0110B01 +:10322000119072E7A3EB0B056D1E0DE05B4504DD0D +:103230004FF0000205F1010504E003DA4FF000024F +:10324000A5F10105002AECD002981199C0E90231DC +:10325000C0E9004579E70000000014400000F03F9D +:10326000300000000000F0430000E03F2DE9FF4F78 +:1032700095B09B468946064600250FE2252877D162 +:1032800000242746F84A0121059400E0044316F87B +:10329000013F203B01FA03F01042F7D130782A2891 +:1032A00011D06FF02F033078A0F13002092A16D820 +:1032B000059A44F0020402EB820203EB420210443E +:1032C000761C0590EFE759F8042B0592002A03DAE3 +:1032D000504244F40054059044F00204761C3078C7 +:1032E0002E2816D116F8010F44F004042A280DD018 +:1032F0006FF02F023078A0F13003092B09D807EBCB +:10330000870302EB4303C718761CF3E759F8047BE5 +:10331000761C30786C280FD006DC4C2817D0682833 +:103320000DD06A2814D104E0742810D07A280FD167 +:103330000DE044F400140AE044F4801401E044F485 +:1033400040147278824202D104F58014761C761CF7 +:10335000307866280BD013DC582877D009DC002899 +:1033600075D04528F6D04628F4D047281AD19DE1DB +:1033700018E0632835D0642879D0652812D195E10A +:10338000702873D008DC6728F1D069286FD06E28C8 +:103390000DD06F2806D1B5E073282CD0752875D0D4 +:1033A000782874D05A46179990476D1C75E1C4F37C +:1033B0000250022809D003280DD0D9F800100428A3 +:1033C0000DD00D6009F1040967E1D9F80010EA1782 +:1033D000C1E90052F6E7D9F800100D80F2E70D7050 +:1033E000F0E719F8041B8DF8001000208DF801009B +:1033F000EA46012003E059F804AB4FF0FF306107C3 +:103400004FF0000102D40DE008F101018846B942F5 +:103410000FDA8045F8DB1AF808100029F4D108E02B +:1034200008F1010188468142FADB1AF808100029E8 +:10343000F6D105985B46A0EB080721463846179A57 +:1034400000F094FA284400EB080507E04DE029E17C +:103450000DE01AF8010B5A4617999047B8F1010888 +:10346000F7D25B4621463846179A13E142E00A221A +:103470000092C4F302524FF0000A022A08D059F811 +:1034800004CB032A4FEAEC710AD00DE029E02AE0D0 +:1034900009F1070121F00702F2E802C1914609E0B3 +:1034A0000FFA8CFC4FEAEC71042A03D14FFA8CFC22 +:1034B0004FEAEC71002907DA0A460021DCF1000C22 +:1034C00061EB02012D2202E0220504D52B228DF8AA +:1034D0000420012203E0E20701D02022F7E7904612 +:1034E00059E00A2102E010220DE010214FF0000AFD +:1034F00000910BE010224FF0000A44F0040408276A +:10350000009203E008224FF0000A0092C4F3025236 +:10351000022A05D059F804CB0021032A08D009E07B +:1035200009F1070121F00702F2E802C1914605E026 +:103530001FFA8CFC042A01D10CF0FF0C4FF000089C +:10354000220728D5702806D0009B83F0100353EA89 +:103550000A0305D00EE040228DF80420012208E085 +:103560005CEA010206D030228DF804208DF80500B7 +:1035700002229046009B83F0080353EA0A030AD113 +:103580005CEA010201D1620705D530228DF80420E2 +:103590004FF001087F1E582804D034A003900EA8D5 +:1035A00002900DE036A0F9E753466046009AFCF71A +:1035B00019FE84460398825C0298401E02900270B5 +:1035C0005CEA0100F0D1029806A9081A00F1200A6D +:1035D000600702D524F4803400E00127574502DD5E +:1035E000A7EB0A0000E0002000EB0A01009005981C +:1035F0004144401A0590E00306D45B462146179AE1 +:10360000059800F0B3F90544002706E001A85A46E2 +:10361000C05D179990476D1C7F1C4745F6DBE003A2 +:103620000CD55B462146179A059800F09FF9054492 +:1036300004E030205A46179990476D1C0099481EA7 +:1036400000900029F5DC08E0029802995A460078BB +:10365000491C0291179990476D1CBAF10001AAF11B +:10366000010AF1DC65E10000092801003031323344 +:1036700034353637383961626364656600000000AE +:103680003031323334353637383941424344454698 +:103690000000000000F058F90544761C307800283E +:1036A0007FF4ECAD19B02846BDE8F08F620700D476 +:1036B000062709F1070222F0070CFCE80223E14685 +:1036C00003F000485FEA080C02D00FF2702C0DE006 +:1036D0005FEA045C02D50FF2682C07E05FEAC47C65 +:1036E00002D00FF2602C01E0AFF2700C4FF0FF3807 +:1036F00023F00043CDF850C065280CD006DC4528E7 +:1037000009D046281DD047283DD13DE0662818D075 +:1037100067287ED138E00021112F01DB112000E065 +:10372000781CCDE9000106A90EA8FFF7DDFCDDE954 +:103730000F010E9A03910021009207F1010A0491F2 +:103740004DE04FF000400097CDE9011006A90EA80A +:10375000FFF7CAFCDDE90F0203920E9B11990022CC +:10376000DDF80CA00093049211B9791C00EB010A5A +:10377000B7EB0A0004D4C0F1FF3007F1010A04904E +:10378000AAEB0700019044E0012F00DA0127002195 +:10379000112F01DD112000E03846CDE9000106A916 +:1037A0000EA8FFF7A1FCDDE90F010E9A039100219D +:1037B00004910092BA4621070CD40399514500DACE +:1037C0008A46BAF1010F05DD009AAAF10101515CA8 +:1037D000302908D0B84202DA10F1040F06DA0121CC +:1037E000CDE9011015E0AAF10101E9E7002805DCA7 +:1037F000049901440491AAEB000102E0411C5145E7 +:1038000000DD8A460499401A401C01904FF00040A8 +:103810000290200704D40198504501DBCDF80480C4 +:1038200000208DF84F0002980DF14F07B0F1004FC6 +:1038300025D02B200E9002984FF0020800280CDAB9 +:10384000404202902D200E9007E00A210298FCF7DA +:103850000CFD3031029007F8011DB8F10001A8F10C +:103860000108F2DC02980028EFD1791E0E9808704A +:10387000307800F0200040F0450007F8020D12A853 +:10388000C01B00F107081498007800B1012000EB7C +:103890000A01019801EBE07105984144401A401E6D +:1038A0000590E00306D45B462146179A059800F080 +:1038B0005DF805441498007818B15A461799904756 +:1038C0006D1CE00324D55B462146179A059800F04D +:1038D0004DF805441CE00498002807DBDDE90301EE +:1038E000884203DD0098405C179901E01799302069 +:1038F0005A469047049805F10105401C0490019830 +:10390000401E019004D12E205A46179990476D1CF5 +:10391000BAF10001AAF1010ADDDC05E017F8010B9C +:103920005A46179990476D1CB8F10001A8F101089B +:10393000F4DC5B462146179A0598ABE62D000000A3 +:103940002B000000200000002DE9F0410446002576 +:103950001E461746880404D405E039462020B047A7 +:103960006D1C641EF9D52846BDE8F0812DE9F041B3 +:10397000044600251E469046C80301D5302700E0C6 +:103980002027880404D505E041463846B0476D1C21 +:10399000641EF9D52846BDE8F0810A68531C0B6007 +:1039A0001070704700B58BB000210122CDE90612DE +:1039B0000591009101910291039104910E21CDE9AD +:1039C00008216946FDF7F6F90448FDF701FD0221DB +:1039D0000248FDF779F90BB000BD0000D0010020CE +:1039E00010B5074C0421607820700648FDF76CFF85 +:1039F000607010B92078012800D0002010BD0000B0 +:103A00000E000020000402402DED048B82B0FDF773 +:103A100073FFFFF791F8FEF7B5FEFEF79DFEFEF788 +:103A2000F1FFFEF743FEFEF75FFFFEF771FEFEF7C4 +:103A30007FFF01223C217248FDF74BFF00F0C0F9E7 +:103A4000002000F079F900F0F7F800F0AFFA00225A +:103A50004FF480716B48FDF73CFF4FF4FA70FDF7AF +:103A600037FE002000F068F900F0A0FA6648FFF782 +:103A700099FF0024DFED658A9FED658A654D00BFE3 +:103A800004EB8400F0EE681A00EBC40005EB800044 +:103A9000B0EE612AB0EE001AF0EE480AB0EE000A6D +:103AA00000F06FFB641CE4B2032CE9D30424DFEDC7 +:103AB0005A8A9FED5A9A9FED5A8A00BF04EB840000 +:103AC000F0EE681A00EBC40005EB8000B0EE612A4E +:103AD000B0EE481AF0EE080AB0EE490A00F051FBC9 +:103AE000641CE4B2072CE9D3DFF83881DFF838B181 +:103AF000F3EE048AA9464FF0000A0121084600F0BF +:103B0000F1F9B8F800004446401C00B2A8F80000E3 +:103B1000FA2806D14548A4F800A0416981F4006163 +:103B20004161FFF75DFF70B194ED010ADFED400ADE +:103B3000404930EE200A10EE100A84ED010A884256 +:103B400001DD84ED018AA04600254E464FEA0B04B4 +:103B500005EB450004EB8007B7F9060000EE100AFC +:103B600005EB850000EBC500F8EEC00A98ED010AF0 +:103B700006EB800020EE280A00F0B2FABDEEC00A83 +:103B80006D1CEDB210EE100A032D7880E0D3B14623 +:103B90000425464605EB450004EB8007B7F906000F +:103BA00000EE100A05EB850000EBC501F8EEC00A37 +:103BB00009EB810096ED010A00F092FABDEEC00A11 +:103BC0006D1CEDB210EE100A072D7880E2D3B4F927 +:103BD00026000090B4F91A30B4F90E20B4F902109E +:103BE000002000F0D1FACDF800A0B4F94A30B4F9C1 +:103BF0003E20B4F93210012000F0C6FA7DE7000043 +:103C0000001C024000180240D001002000007A464B +:103C10000AD7A33B1C0000200060EA4600002042B7 +:103C200000000000000000203007002000100240CB +:103C300000007042000034432DE9F047002000F0FE +:103C40007BF8DFF8549000245FF0000609EBC60013 +:103C500000EBD400002507784FFA86F8380604EB0D +:103C6000050041B201D5012200E00022404600F0EB +:103C700083F878066D1C070EEDB2082DEED3761C86 +:103C8000F6B2802EE2D30834E4B2402CDCD3BDE897 +:103C9000F04700F08BB900007046000810B50748E7 +:103CA000FCF79CFF64210548FCF746FF0348FCF73E +:103CB000E5FE00EE100AB8EE400A10BD88010020B3 +:103CC00010B5FFF7EBFFBDEEC00A10EE100AD0F5FD +:103CD0004D6100D54942802901DC002010BDA0F2D1 +:103CE0004F31494200D54942802901DC012010BDF5 +:103CF000A0F2C261494200D54942802901DC02207C +:103D000010BDA0F69911494200D54942802901DC35 +:103D1000032010BD414200D54942802901DC042026 +:103D200010BDA0F6FA70404200D54042802801DC68 +:103D3000052010BD062010BDF0B500210D4BFF265B +:103D40000C46002201280FD003EBC20580B16F5C46 +:103D5000C7F1FF076F54521CD2B2802AF2D9491C16 +:103D6000C9B20829EDD3F0BD03EBC2056E54F2E7EA +:103D70006C54F0E73003002070B5802817D200297A +:103D800015DB3F2913DCCB1701EB5375C5F3C703D4 +:103D900025F007050124094E491B8C4006EBC000A5 +:103DA000012A05D0C15C022A05D0A143C15470BDCF +:103DB000C15C2143FAE76140F8E7000030030020CE +:103DC00070B5474D4FF48064002221462846FDF728 +:103DD00080FD4FF4FA70FDF77BFC01222146284656 +:103DE000FDF777FD0021AE2000F064F900210846C0 +:103DF00000F060F90021102000F05CF90021402063 +:103E000000F058F90021812000F054F90021CF2062 +:103E100000F050F90021A12000F04CF90021C82049 +:103E200000F048F90021A62000F044F90021A82064 +:103E300000F040F900213F2000F03CF90021D320A0 +:103E400000F038F90021084600F034F90021D520AF +:103E500000F030F90021802000F02CF90021D92059 +:103E600000F028F90021F12000F024F90021DA20E7 +:103E700000F020F90021122000F01CF90021DB20C5 +:103E800000F018F90021402000F014F90021202052 +:103E900000F010F90021022000F00CF900218D2023 +:103EA00000F008F90021142000F004F90021A420FA +:103EB00000F000F90021A62000F0FCF80021AF205E +:103EC00000F0F8F80021AF2000F0F4F80020FFF730 +:103ED00033FFBDE870400021084600F081B80000C3 +:103EE0000004024070B505460C460020FFF724FF91 +:103EF000FFF7E6FE07280CD2DFE800F004060F11FA +:103F0000131517000AA200E00BA22146284600F074 +:103F100029F8BDE8704000F049B809A2F5E70AA207 +:103F2000F3E70AA2F1E70BA2EFE70CA2EDE700002E +:103F3000444F574E000000004C454654000000001E +:103F40005249474854000000555000005052455314 +:103F50005345440053544154494300004552524F85 +:103F6000520000000FB430B5A1B00C4605468021C8 +:103F70006846FCF76FF9042D13D8142C11D8002CC7 +:103F80000FD027AA68462699FFF77CF8C4F11500E0 +:103F9000C0B200210DF800106A462146284600F004 +:103FA00071F821B030BC5DF814FB000070B50B4E09 +:103FB00000242146002000F013F8002506EBC50080 +:103FC0000121005D00F076F86D1CEDB2802DF5D377 +:103FD000641CE4B2082CECD370BD00003003002058 +:103FE00010B5801CC4B2B031C8B2002100F062F834 +:103FF000102040EA1410002100F05CF804F0F000FA +:10400000BDE81040002100F055B800002DE9F04F48 +:1040100001EB410100EB400049068006040E203A06 +:104020004FEA1169D0B2164900EB4000A0460025C6 +:1040300001EB800B00261BF805704FFA89FA380651 +:1040400001D5012200E0002261B25046FFF794FE44 +:104050007806641C070EE4B2A4EB08000C2809D013 +:10406000761CF6B2082EEAD36D1CEDB20C2DE1D30E +:10407000BDE8F08F09F10100444600F0FF09F3E7C5 +:10408000FC410008F0B517460C46064600250CE03A +:1040900021463046FFF7BAFF641CE4B2142C02D963 +:1040A0000024761CF6B26D1CEDB27A5D002AEFD1C9 +:1040B000F0BD000013B508484FF4007309B10122A8 +:1040C00000E000221946FDF704FC0A23012269469C +:1040D0000248FDF7C5FF1CBD00040240F8010020A6 +:1040E00080ED050AC0ED060A90ED071A70EE600A31 +:1040F00080ED081AC0ED070A90ED000A20EE202A94 +:1041000080ED092A90ED0A0AD0ED011A01EEA00A0D +:1041100080ED0A0AD0ED021A11EEA01A80ED0B1AFA +:10412000D0ED030AF1EE601AB4EEE10AF1EE10FAF6 +:1041300002D8B0EE610A06E0B4EEE00AF1EE10FA41 +:1041400001DBB0EE600A80ED0A0A32EE000A30EEC2 +:10415000010A80ED0C0AD0ED040AB1EE601AB4EE4B +:10416000C10AF1EE10FA02D8B0EE410A06E0B4EE50 +:10417000E00AF1EE10FA01DBB0EE600A80ED0C0A05 +:10418000704780EC050A704710B588B00A9C18B3D8 +:1041900040F2FF1002900020049005900820069045 +:1041A000080A8DF800008DF80110100A8DF8020041 +:1041B000180A8DF804008DF80530200A8DF80600E5 +:1041C0008DF803208DF8074001236A4602A90448B0 +:1041D000FCF78CFD08B010BD4FF40070DAE700006A +:1041E000D0010020000000000000000001020304D4 +:1041F0000607080900000000010203040000000097 +:104200000000000000000000000000003F4000002F +:1042100000000000000030004000300040000000BE +:1042200009000BC03D000BC03D00090018C0244030 +:104230007FE0224031800000180024C01B000D8068 +:104240003240018003801C4027401C800740004012 +:1042500010006000000000000000000000000000EE +:1042600000001F80204040200000402020401F8090 +:1042700000000000090006001F8006000900000081 +:10428000040004003F8004000400000000100060EF +:10429000000000000000000004000400040004000E +:1042A00004000000000000400000000000000000CA +:1042B000002001C006003800400000001F802040A0 +:1042C000204020401F800000000010403FC0004000 +:1042D0000000000018C02140224024401840000087 +:1042E00010802040244024401B80000002000D006C +:1042F00011003FC0014000003C8024402440244085 +:10430000238000001F8024402440344003800000AC +:104310003000200027C03800200000001B8024400F +:10432000244024401B8000001C0022C02240224068 +:104330001F80000000000000084000000000000096 +:104340000000000004600000000000000000040005 +:104350000A001100208040400900090009000900FE +:104360000900000000004040208011000A00040005 +:104370001800200023402400180000001F80204067 +:10438000274029401F400000004007C039000F00AF +:1043900001C0004020403FC0244024401B8000005A +:1043A0001F802040204020403080000020403FC03F +:1043B000204020401F80000020403FC024402E406D +:1043C00030C0000020403FC024402E0030000000DC +:1043D0000F001080204022403380020020403FC068 +:1043E000040004003FC02040204020403FC0204047 +:1043F000204000000060202020203FC0200020003E +:1044000020403FC024400B0030C0204020403FC02F +:1044100020400040004000C03FC03C0003C03C00C2 +:104420003FC0000020403FC00C4023003FC02000A0 +:104430001F802040204020401F80000020403FC0BF +:1044400024402400180000001F802140214020E06B +:104450001FA0000020403FC02440260019C000409B +:1044600018C0244024402240318000003000204009 +:104470003FC020403000000020003F80004000404E +:104480003F80200020003E0001C0070038002000CF +:10449000380007C03C0007C038000000204039C089 +:1044A000060039C0204000002000384007C03840D6 +:1044B00020000000304021C02640384020C00000CD +:1044C000000000007FE0402040200000000070005D +:1044D0000C000380004000000000402040207FE0EE +:1044E000000000000000200040002000000000004C +:1044F000001000100010001000100010000000005C +:10450000400000000000000000000280054005405F +:1045100003C0004020003FC004400440038000006E +:1045200000000380044004400640000000000380B7 +:10453000044024403FC00040000003800540054087 +:1045400003400000000004401FC02440244020001D +:10455000000002E0055005500650042020403FC0F6 +:104560000440040003C000400000044027C0004095 +:104570000000000000100010041027E00000000000 +:1045800020403FC00140070004C0044020402040BC +:104590003FC000400040000007C0040007C0040006 +:1045A00003C00000044007C00440040003C00040F2 +:1045B000000003800440044003800000041007F062 +:1045C00004500440038000000000038004400450B5 +:1045D00007F00010044007C002400400040000007F +:1045E000000006400540054004C000000000040033 +:1045F0001F80044000400000040007800040044089 +:1046000007C000400400070004C001800600040049 +:10461000060001C0070001C006000000044006C0FB +:10462000010006C0044000000410071004E00180EF +:10463000060004000000044005C0064004400000DD +:104640000000000004007BE04020000000000000AB +:104650000000FFF000000000000040207BE00400AC +:1046600000000000400080004000200020004000CA +:10467000000000000000000000000000000000003A +:10468000000000000000000000000000000000002A +:10469000000000000000000000000000000000001A +:1046A000000000000000000000000000000000000A +:1046B0000000000000000006000000000000001ED6 +:1046C00000000000000000DE00000000000000D834 +:1046D00000000000000000D800000000000000D82A +:1046E00000000000000000DE00000000000000FEEE +:1046F00000000000000000F6000000000000007252 +:104700000000000000000000000000000000007C2D +:1047100000000000000000FE00000000000000C6D5 +:1047200000000000000000C600000000000000C6FD +:1047300000000000000000FE000000000000007CFF +:104740000000000000000000000000000000001E4B +:1047500000000000000000DE00000000000000D6A5 +:1047600000000000000000D600000000000000D69D +:1047700000000000000000D600000000000000DE85 +:1047800040000000000000FE600000000010006C0F +:1047900070000000003000007800000000F0007C95 +:1047A0007C00000007F000FE7E0000003FF000C625 +:1047B0007F000001FFF000C67F80000FFFF000C601 +:1047C0007FC0007FFFF000FE7FE003FFFFF0007C72 +:1047D0007FF03FFFFFF000027FF83FFFFFF0000691 +:1047E0007FFC3FFFFFF0001E7FFE3FFFFFF000BC9D +:1047F0007FFF3FFFFFF000E07FFFBFFFFF8000F87B +:104800007FFFFFFFFC00003E7FFFFFFFE000000E88 +:104810007FFFFFFF000000B87FFFFFF8000000E00F +:104820007FFFFFF0000000FE7FFFFFF00000001E92 +:104830007FFFFFF0000000027FFFFFF0000000009C +:104840007FEFFFF0020000067FE7FFF00200000E9E +:104850007FE3FFF00200001C7FE1FFF8030000BAD5 +:104860007FE0FFFC030000F67FE07FFE038000E6B0 +:104870007FE03FFF038000F67FE03FFF83C0003E04 +:104880007FE03FFFC3C0000E7FE03FFFE3E0000298 +:104890007FE03FFFF3E000007FE03FFFFBF000021E +:1048A0007FE03FFFFFF000667FE03FFFFFF800F68C +:1048B0007FE03FFFFFF800D67FE03FFFFFFC00D620 +:1048C0007FF07FFFFFFC00D67FF8FFF7FFFE00D6EA +:1048D0007FFFFFF3FFFE00DE3FFFFFE1FFFF008CE5 +:1048E0003FFFFFE0FFCF00401FFFFFC07FC780C03A +:1048F0001FFFFFC03FC380C00FFFFF801FC1C0FE6E +:1049000007FFFF000FC0C0FE03FFFE0007C060C02E +:1049100001FFFC0003C020C0007FF00001C0008642 +:10492000000F800000C0001600000000004000D60C +:1049300000000000000000D600000000000000D6CB +:1049400000000000000000D600000000000000D6BB +:1049500000000000000000D000000000000000C0C7 +:104960000000000000000006000000000000001E23 +:1049700000000000000000DE00000000000000D881 +:1049800000000000000000D800000000000000D877 +:1049900000000000000000DE00000000000000DE5B +:1049A00000000000000000F600000000000000729F +:1049B0000000000000000000000000000000006295 +:1049C00000000000000000F600000000000000F6FB +:1049D00000000000000000D600000000000000D62B +:1049E00000000000000000D600000000000000DE13 +:1049F000000000000000008C00000000000000002B +:104A000000000000000000000000000000000000A6 +:104A10000000000000000000000000000000000096 +:104A20000000000000000000000000000000000086 +:104A30000000000000000000000000000000000076 +:104A40000000000000000000000000000000000066 +:104A50000000000000000000000000000000000056 +:104A60000000000000000000000000000000000046 +:104A70000006101600061016984A000800000020D4 +:104A80001C000000C8300008B44A00081C000020C8 +:104A90006C0B0000D830000800000000000000008F +:104AA0000024F400000000000100000010000000DD +:044AB0000000000002 :04000005080001AD41 :00000001FF diff --git a/Standard_robot/Src/can.c b/Standard_robot/Src/can.c new file mode 100644 index 0000000000000000000000000000000000000000..dc0dc5ca42ed57be5c5e0c75563e48f9d33c1623 --- /dev/null +++ b/Standard_robot/Src/can.c @@ -0,0 +1,117 @@ +/** + ****************************************************************************** + * File Name : CAN.c + * Description : This file provides code for the configuration + * of the CAN instances. + ****************************************************************************** + * @attention + * + * <h2><center>© Copyright (c) 2020 STMicroelectronics. + * All rights reserved.</center></h2> + * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "can.h" + +/* USER CODE BEGIN 0 */ + +/* USER CODE END 0 */ + +CAN_HandleTypeDef hcan1; + +/* CAN1 init function */ +void MX_CAN1_Init(void) +{ + + hcan1.Instance = CAN1; + hcan1.Init.Prescaler = 3; + hcan1.Init.Mode = CAN_MODE_NORMAL; + hcan1.Init.SyncJumpWidth = CAN_SJW_1TQ; + hcan1.Init.TimeSeg1 = CAN_BS1_9TQ; + hcan1.Init.TimeSeg2 = CAN_BS2_4TQ; + hcan1.Init.TimeTriggeredMode = DISABLE; + hcan1.Init.AutoBusOff = ENABLE; + hcan1.Init.AutoWakeUp = DISABLE; + hcan1.Init.AutoRetransmission = DISABLE; + hcan1.Init.ReceiveFifoLocked = DISABLE; + hcan1.Init.TransmitFifoPriority = DISABLE; + if (HAL_CAN_Init(&hcan1) != HAL_OK) + { + Error_Handler(); + } + +} + +void HAL_CAN_MspInit(CAN_HandleTypeDef* canHandle) +{ + + GPIO_InitTypeDef GPIO_InitStruct = {0}; + if(canHandle->Instance==CAN1) + { + /* USER CODE BEGIN CAN1_MspInit 0 */ + + /* USER CODE END CAN1_MspInit 0 */ + /* CAN1 clock enable */ + __HAL_RCC_CAN1_CLK_ENABLE(); + + __HAL_RCC_GPIOD_CLK_ENABLE(); + /**CAN1 GPIO Configuration + PD0 ------> CAN1_RX + PD1 ------> CAN1_TX + */ + GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + GPIO_InitStruct.Alternate = GPIO_AF9_CAN1; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* CAN1 interrupt Init */ + HAL_NVIC_SetPriority(CAN1_TX_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(CAN1_TX_IRQn); + HAL_NVIC_SetPriority(CAN1_RX0_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(CAN1_RX0_IRQn); + /* USER CODE BEGIN CAN1_MspInit 1 */ + + /* USER CODE END CAN1_MspInit 1 */ + } +} + +void HAL_CAN_MspDeInit(CAN_HandleTypeDef* canHandle) +{ + + if(canHandle->Instance==CAN1) + { + /* USER CODE BEGIN CAN1_MspDeInit 0 */ + + /* USER CODE END CAN1_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_CAN1_CLK_DISABLE(); + + /**CAN1 GPIO Configuration + PD0 ------> CAN1_RX + PD1 ------> CAN1_TX + */ + HAL_GPIO_DeInit(GPIOD, GPIO_PIN_0|GPIO_PIN_1); + + /* CAN1 interrupt Deinit */ + HAL_NVIC_DisableIRQ(CAN1_TX_IRQn); + HAL_NVIC_DisableIRQ(CAN1_RX0_IRQn); + /* USER CODE BEGIN CAN1_MspDeInit 1 */ + + /* USER CODE END CAN1_MspDeInit 1 */ + } +} + +/* USER CODE BEGIN 1 */ + +/* USER CODE END 1 */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Standard_robot/Src/gpio.c b/Standard_robot/Src/gpio.c index 69a65cb881223e9b9071adecf941891a80452ee1..c661604cf27831a82ac55a5f5de9d8fca3eb7480 100644 --- a/Standard_robot/Src/gpio.c +++ b/Standard_robot/Src/gpio.c @@ -45,15 +45,27 @@ void MX_GPIO_Init(void) /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOB_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); __HAL_RCC_GPIOH_CLK_ENABLE(); __HAL_RCC_GPIOG_CLK_ENABLE(); + __HAL_RCC_GPIOE_CLK_ENABLE(); + __HAL_RCC_GPIOF_CLK_ENABLE(); /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(GPIOB, OLED_DC_Pin|OLED_RST_Pin, GPIO_PIN_RESET); + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOH, POWER1_CTRL_Pin|POWER2_CTRL_Pin|POWER4_CTRL_Pin, GPIO_PIN_RESET); + /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(LED_A_GPIO_Port, LED_A_Pin, GPIO_PIN_RESET); + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(LED_RED_GPIO_Port, LED_RED_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(LED_GREEN_GPIO_Port, LED_GREEN_Pin, GPIO_PIN_RESET); + /*Configure GPIO pins : PBPin PBPin */ GPIO_InitStruct.Pin = OLED_DC_Pin|OLED_RST_Pin; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; @@ -61,6 +73,19 @@ void MX_GPIO_Init(void) GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + /*Configure GPIO pins : PHPin PHPin PHPin */ + GPIO_InitStruct.Pin = POWER1_CTRL_Pin|POWER2_CTRL_Pin|POWER4_CTRL_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOH, &GPIO_InitStruct); + + /*Configure GPIO pin : PtPin */ + GPIO_InitStruct.Pin = POWER3_CTRL_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(POWER3_CTRL_GPIO_Port, &GPIO_InitStruct); + /*Configure GPIO pin : PtPin */ GPIO_InitStruct.Pin = LED_A_Pin; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; @@ -68,6 +93,26 @@ void MX_GPIO_Init(void) GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(LED_A_GPIO_Port, &GPIO_InitStruct); + /*Configure GPIO pin : PtPin */ + GPIO_InitStruct.Pin = KEY_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(KEY_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pin : PtPin */ + GPIO_InitStruct.Pin = LED_RED_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(LED_RED_GPIO_Port, &GPIO_InitStruct); + + /*Configure GPIO pin : PtPin */ + GPIO_InitStruct.Pin = LED_GREEN_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(LED_GREEN_GPIO_Port, &GPIO_InitStruct); + } /* USER CODE BEGIN 2 */ diff --git a/Standard_robot/Src/main.c b/Standard_robot/Src/main.c index 6142dca6b372caa98e8ef324f96c894d05c016f7..30a8159891981a866495a2a1f0abb7a512c8e59e 100644 --- a/Standard_robot/Src/main.c +++ b/Standard_robot/Src/main.c @@ -21,8 +21,10 @@ /* Includes ------------------------------------------------------------------*/ #include "main.h" #include "adc.h" +#include "can.h" #include "dma.h" #include "spi.h" +#include "tim.h" #include "usart.h" #include "gpio.h" @@ -31,6 +33,11 @@ #include "bsp_oled.h" #include "bsp_usart.h" +#include "bsp_key.h" +#include "bsp_led.h" +#include "bsp_can.h" + +#include "pid.h" #include "oled.h" #include "string.h" @@ -54,7 +61,10 @@ /* Private variables ---------------------------------------------------------*/ /* USER CODE BEGIN PV */ - +extern moto_info_t motor_info[MOTOR_MAX_NUM]; +int16_t led_cnt; +pid_struct_t motor_pid[7]; +float target_speed; /* USER CODE END PV */ /* Private function prototypes -----------------------------------------------*/ @@ -101,34 +111,90 @@ int main(void) MX_USART1_UART_Init(); MX_ADC1_Init(); MX_SPI1_Init(); + MX_CAN1_Init(); + MX_TIM1_Init(); /* USER CODE BEGIN 2 */ - usart1_tx_dma_init(); + HAL_GPIO_WritePin(GPIOH, POWER1_CTRL_Pin|POWER2_CTRL_Pin|POWER3_CTRL_Pin|POWER4_CTRL_Pin, GPIO_PIN_SET); // switch on 24v power + //Init OLED oled_init(); oled_clear(Pen_Clear); oled_LOGO(); oled_refresh_gram(); HAL_GPIO_WritePin(LED_A_GPIO_Port, LED_A_Pin, GPIO_PIN_RESET); - HAL_Delay(500); oled_clear(Pen_Clear); oled_refresh_gram(); + + can_user_init(&hcan1); // config can filter, start can + for (uint8_t i = 0; i < 3; i++) + { + pid_init(&motor_pid[i], 2, 0.005, 2, 16000, 16000); //init pid parameter chassis, kp=2, ki=0.005, kd=2, output limit = 16000 + } + for (uint8_t i = 4; i < 7; i++) + { + pid_init(&motor_pid[i], 40, 3, 0, 30000, 30000); //init pid parameter gimbal, kp=40, ki=3, kd=0, output limit = 30000 + } + /* USER CODE END 2 */ + + /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ - - /* USER CODE BEGIN 3 */ + + /* USER CODE BEGIN 3 */ oled_print_button(1, 1); - HAL_Delay(100); + + /* led blink */ + led_cnt ++; + if (led_cnt == 250) + { + led_cnt = 0; + LED_RED_TOGGLE(); //blink cycle 500ms + } + + /* scan is key be pressd down to change target speed and pwm pulse */ + if (key_scan()) + { + target_speed += 60.0f; // target speed increase 60rpm + if (target_speed > 180) // if current speed = 180, press key to stop motor + { + target_speed = 0; + } + } + + /* motor speed pid calc */ + for (uint8_t i = 0; i < 3; i++) + { + motor_info[i].set_voltage = pid_calc(&motor_pid[i], target_speed*20, motor_info[i].rotor_speed); + } + for (uint8_t i = 4; i < 7; i++) + { + motor_info[i].set_voltage = pid_calc(&motor_pid[i], target_speed, motor_info[i].rotor_speed); + } + /* send motor control message through can bus*/ + set_motor_voltage(0, + motor_info[0].set_voltage, + motor_info[1].set_voltage, + motor_info[2].set_voltage, + motor_info[3].set_voltage); + + set_motor_voltage(1, + motor_info[4].set_voltage, + motor_info[5].set_voltage, + motor_info[6].set_voltage, + 0); + } + HAL_Delay(10); /* USER CODE END 3 */ } diff --git a/Standard_robot/Src/stm32f4xx_it.c b/Standard_robot/Src/stm32f4xx_it.c index 25e8ef6f727b92ad5bb0389ec5f6bb6c1c284b45..c808776deb8df3793869dc4a9a6fba7e6a780543 100644 --- a/Standard_robot/Src/stm32f4xx_it.c +++ b/Standard_robot/Src/stm32f4xx_it.c @@ -56,6 +56,7 @@ /* USER CODE END 0 */ /* External variables --------------------------------------------------------*/ +extern CAN_HandleTypeDef hcan1; extern DMA_HandleTypeDef hdma_usart1_tx; extern UART_HandleTypeDef huart1; /* USER CODE BEGIN EV */ @@ -198,6 +199,34 @@ void SysTick_Handler(void) /* please refer to the startup file (startup_stm32f4xx.s). */ /******************************************************************************/ +/** + * @brief This function handles CAN1 TX interrupts. + */ +void CAN1_TX_IRQHandler(void) +{ + /* USER CODE BEGIN CAN1_TX_IRQn 0 */ + + /* USER CODE END CAN1_TX_IRQn 0 */ + HAL_CAN_IRQHandler(&hcan1); + /* USER CODE BEGIN CAN1_TX_IRQn 1 */ + + /* USER CODE END CAN1_TX_IRQn 1 */ +} + +/** + * @brief This function handles CAN1 RX0 interrupts. + */ +void CAN1_RX0_IRQHandler(void) +{ + /* USER CODE BEGIN CAN1_RX0_IRQn 0 */ + + /* USER CODE END CAN1_RX0_IRQn 0 */ + HAL_CAN_IRQHandler(&hcan1); + /* USER CODE BEGIN CAN1_RX0_IRQn 1 */ + + /* USER CODE END CAN1_RX0_IRQn 1 */ +} + /** * @brief This function handles USART1 global interrupt. */ diff --git a/Standard_robot/Src/tim.c b/Standard_robot/Src/tim.c new file mode 100644 index 0000000000000000000000000000000000000000..e3ea8b8d3f36a84801647b2448d81c9dc307c652 --- /dev/null +++ b/Standard_robot/Src/tim.c @@ -0,0 +1,165 @@ +/** + ****************************************************************************** + * File Name : TIM.c + * Description : This file provides code for the configuration + * of the TIM instances. + ****************************************************************************** + * @attention + * + * <h2><center>© Copyright (c) 2020 STMicroelectronics. + * All rights reserved.</center></h2> + * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "tim.h" + +/* USER CODE BEGIN 0 */ + +/* USER CODE END 0 */ + +TIM_HandleTypeDef htim1; + +/* TIM1 init function */ +void MX_TIM1_Init(void) +{ + TIM_MasterConfigTypeDef sMasterConfig = {0}; + TIM_OC_InitTypeDef sConfigOC = {0}; + TIM_BreakDeadTimeConfigTypeDef sBreakDeadTimeConfig = {0}; + + htim1.Instance = TIM1; + htim1.Init.Prescaler = 167; + htim1.Init.CounterMode = TIM_COUNTERMODE_UP; + htim1.Init.Period = 20000; + htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim1.Init.RepetitionCounter = 0; + htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + if (HAL_TIM_PWM_Init(&htim1) != HAL_OK) + { + Error_Handler(); + } + sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; + sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; + if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) + { + Error_Handler(); + } + sConfigOC.OCMode = TIM_OCMODE_PWM1; + sConfigOC.Pulse = 1000; + sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; + sConfigOC.OCNPolarity = TIM_OCNPOLARITY_HIGH; + sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; + sConfigOC.OCIdleState = TIM_OCIDLESTATE_RESET; + sConfigOC.OCNIdleState = TIM_OCNIDLESTATE_RESET; + if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1) != HAL_OK) + { + Error_Handler(); + } + if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_2) != HAL_OK) + { + Error_Handler(); + } + if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_3) != HAL_OK) + { + Error_Handler(); + } + if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_4) != HAL_OK) + { + Error_Handler(); + } + sBreakDeadTimeConfig.OffStateRunMode = TIM_OSSR_DISABLE; + sBreakDeadTimeConfig.OffStateIDLEMode = TIM_OSSI_DISABLE; + sBreakDeadTimeConfig.LockLevel = TIM_LOCKLEVEL_OFF; + sBreakDeadTimeConfig.DeadTime = 0; + sBreakDeadTimeConfig.BreakState = TIM_BREAK_DISABLE; + sBreakDeadTimeConfig.BreakPolarity = TIM_BREAKPOLARITY_HIGH; + sBreakDeadTimeConfig.AutomaticOutput = TIM_AUTOMATICOUTPUT_DISABLE; + if (HAL_TIMEx_ConfigBreakDeadTime(&htim1, &sBreakDeadTimeConfig) != HAL_OK) + { + Error_Handler(); + } + HAL_TIM_MspPostInit(&htim1); + +} + +void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* tim_pwmHandle) +{ + + if(tim_pwmHandle->Instance==TIM1) + { + /* USER CODE BEGIN TIM1_MspInit 0 */ + + /* USER CODE END TIM1_MspInit 0 */ + /* TIM1 clock enable */ + __HAL_RCC_TIM1_CLK_ENABLE(); + /* USER CODE BEGIN TIM1_MspInit 1 */ + + /* USER CODE END TIM1_MspInit 1 */ + } +} +void HAL_TIM_MspPostInit(TIM_HandleTypeDef* timHandle) +{ + + GPIO_InitTypeDef GPIO_InitStruct = {0}; + if(timHandle->Instance==TIM1) + { + /* USER CODE BEGIN TIM1_MspPostInit 0 */ + + /* USER CODE END TIM1_MspPostInit 0 */ + + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOE_CLK_ENABLE(); + /**TIM1 GPIO Configuration + PA9 ------> TIM1_CH2 + PA8 ------> TIM1_CH1 + PE13 ------> TIM1_CH3 + PE14 ------> TIM1_CH4 + */ + GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_8; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + GPIO_InitStruct.Alternate = GPIO_AF1_TIM1; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + + GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_14; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + GPIO_InitStruct.Alternate = GPIO_AF1_TIM1; + HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); + + /* USER CODE BEGIN TIM1_MspPostInit 1 */ + + /* USER CODE END TIM1_MspPostInit 1 */ + } + +} + +void HAL_TIM_PWM_MspDeInit(TIM_HandleTypeDef* tim_pwmHandle) +{ + + if(tim_pwmHandle->Instance==TIM1) + { + /* USER CODE BEGIN TIM1_MspDeInit 0 */ + + /* USER CODE END TIM1_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_TIM1_CLK_DISABLE(); + /* USER CODE BEGIN TIM1_MspDeInit 1 */ + + /* USER CODE END TIM1_MspDeInit 1 */ + } +} + +/* USER CODE BEGIN 1 */ + +/* USER CODE END 1 */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Standard_robot/Src/usart.c b/Standard_robot/Src/usart.c index 8aafaf24393c193cb0e9c7c9f6e2b7884092af06..4d313aeffe63e84ce9676e01c8574f21230134c3 100644 --- a/Standard_robot/Src/usart.c +++ b/Standard_robot/Src/usart.c @@ -66,7 +66,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle) */ GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_6; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; - GPIO_InitStruct.Pull = GPIO_PULLUP; + GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; GPIO_InitStruct.Alternate = GPIO_AF7_USART1; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); diff --git a/Standard_robot/Standard_robot.ioc b/Standard_robot/Standard_robot.ioc index dbfc3f9eaf516dcd323cc26271489af1be2b0f83..ed031719d674d26818e1e70a4a48483647b476d6 100644 --- a/Standard_robot/Standard_robot.ioc +++ b/Standard_robot/Standard_robot.ioc @@ -6,6 +6,12 @@ ADC1.NbrOfConversionFlag=1 ADC1.Rank-0\#ChannelRegularConversion=1 ADC1.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_3CYCLES ADC1.master=1 +CAN1.ABOM=ENABLE +CAN1.BS1=CAN_BS1_9TQ +CAN1.BS2=CAN_BS2_4TQ +CAN1.CalculateTimeQuantum=71.42857142857143 +CAN1.IPParameters=CalculateTimeQuantum,Prescaler,ABOM,BS1,BS2 +CAN1.Prescaler=3 Dma.Request0=USART1_TX Dma.RequestsNb=1 Dma.USART1_TX.0.Direction=DMA_MEMORY_TO_PERIPH @@ -19,41 +25,60 @@ Dma.USART1_TX.0.PeriphInc=DMA_PINC_DISABLE Dma.USART1_TX.0.Priority=DMA_PRIORITY_LOW Dma.USART1_TX.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode File.Version=6 +GPIO.groupedBy=Group By Peripherals KeepUserPlacement=false Mcu.Family=STM32F4 Mcu.IP0=ADC1 -Mcu.IP1=DMA -Mcu.IP2=NVIC -Mcu.IP3=RCC -Mcu.IP4=SPI1 -Mcu.IP5=SYS -Mcu.IP6=USART1 -Mcu.IPNb=7 +Mcu.IP1=CAN1 +Mcu.IP2=DMA +Mcu.IP3=NVIC +Mcu.IP4=RCC +Mcu.IP5=SPI1 +Mcu.IP6=SYS +Mcu.IP7=TIM1 +Mcu.IP8=USART1 +Mcu.IPNb=9 Mcu.Name=STM32F427I(G-I)Hx Mcu.Package=UFBGA176 Mcu.Pin0=PB4 Mcu.Pin1=PB3 -Mcu.Pin10=PA6 -Mcu.Pin11=PA7 -Mcu.Pin12=PB10 -Mcu.Pin13=VP_SYS_VS_Systick +Mcu.Pin10=PH2 +Mcu.Pin11=PA8 +Mcu.Pin12=PH0/OSC_IN +Mcu.Pin13=PH3 +Mcu.Pin14=PH1/OSC_OUT +Mcu.Pin15=PH4 +Mcu.Pin16=PG8 +Mcu.Pin17=PH5 +Mcu.Pin18=PB2/BOOT1 +Mcu.Pin19=PE13 Mcu.Pin2=PA14 +Mcu.Pin20=PA6 +Mcu.Pin21=PE11 +Mcu.Pin22=PE14 +Mcu.Pin23=PA7 +Mcu.Pin24=PF14 +Mcu.Pin25=PB10 +Mcu.Pin26=VP_SYS_VS_Systick Mcu.Pin3=PA13 Mcu.Pin4=PB9 Mcu.Pin5=PB7 Mcu.Pin6=PB6 -Mcu.Pin7=PH0/OSC_IN -Mcu.Pin8=PH1/OSC_OUT -Mcu.Pin9=PG8 -Mcu.PinsNb=14 +Mcu.Pin7=PD0 +Mcu.Pin8=PD1 +Mcu.Pin9=PA9 +Mcu.PinsNb=27 Mcu.ThirdPartyNb=0 Mcu.UserConstants= Mcu.UserName=STM32F427IIHx -MxCube.Version=5.3.0 -MxDb.Version=DB.5.0.30 +MxCube.Version=5.5.0 +MxDb.Version=DB.5.0.50 NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false +NVIC.CAN1_RX0_IRQn=true\:0\:0\:false\:false\:true\:true\:true +NVIC.CAN1_TX_IRQn=true\:0\:0\:false\:false\:true\:true\:true NVIC.DMA2_Stream7_IRQn=true\:0\:0\:false\:false\:true\:false\:true NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false +NVIC.ForceEnableDMAVector=true NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false @@ -71,10 +96,16 @@ PA6.Signal=ADCx_IN6 PA7.Locked=true PA7.Mode=Full_Duplex_Master PA7.Signal=SPI1_MOSI +PA8.Signal=S_TIM1_CH1 +PA9.Signal=S_TIM1_CH2 PB10.GPIOParameters=GPIO_Label PB10.GPIO_Label=OLED_RST PB10.Locked=true PB10.Signal=GPIO_Output +PB2/BOOT1.GPIOParameters=GPIO_Label +PB2/BOOT1.GPIO_Label=KEY +PB2/BOOT1.Locked=true +PB2/BOOT1.Signal=GPIO_Input PB3.Mode=Full_Duplex_Master PB3.Signal=SPI1_SCK PB4.Mode=Full_Duplex_Master @@ -95,6 +126,24 @@ PCC.Seq0=0 PCC.Series=STM32F4 PCC.Temperature=25 PCC.Vdd=3.3 +PD0.Locked=true +PD0.Mode=Master +PD0.Signal=CAN1_RX +PD1.Locked=true +PD1.Mode=Master +PD1.Signal=CAN1_TX +PE11.GPIOParameters=GPIO_Label +PE11.GPIO_Label=LED_RED +PE11.Locked=true +PE11.Signal=GPIO_Output +PE13.Locked=true +PE13.Signal=S_TIM1_CH3 +PE14.Locked=true +PE14.Signal=S_TIM1_CH4 +PF14.GPIOParameters=GPIO_Label +PF14.GPIO_Label=LED_GREEN +PF14.Locked=true +PF14.Signal=GPIO_Output PG8.GPIOParameters=GPIO_Label PG8.GPIO_Label=LED_A PG8.Locked=true @@ -103,6 +152,22 @@ PH0/OSC_IN.Mode=HSE-External-Oscillator PH0/OSC_IN.Signal=RCC_OSC_IN PH1/OSC_OUT.Mode=HSE-External-Oscillator PH1/OSC_OUT.Signal=RCC_OSC_OUT +PH2.GPIOParameters=GPIO_Label +PH2.GPIO_Label=POWER1_CTRL +PH2.Locked=true +PH2.Signal=GPIO_Output +PH3.GPIOParameters=GPIO_Label +PH3.GPIO_Label=POWER2_CTRL +PH3.Locked=true +PH3.Signal=GPIO_Output +PH4.GPIOParameters=GPIO_Label +PH4.GPIO_Label=POWER3_CTRL +PH4.Locked=true +PH4.Signal=GPIO_Input +PH5.GPIOParameters=GPIO_Label +PH5.GPIO_Label=POWER4_CTRL +PH5.Locked=true +PH5.Signal=GPIO_Output PinOutPanel.CurrentBGAView=Top PinOutPanel.RotationAngle=0 ProjectManager.AskForMigrate=true @@ -131,7 +196,7 @@ ProjectManager.StackSize=0x400 ProjectManager.TargetToolchain=MDK-ARM V5 ProjectManager.ToolChainLocation= ProjectManager.UnderRoot=false -ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_USART1_UART_Init-USART1-false-HAL-true,4-MX_ADC1_Init-ADC1-false-HAL-true,5-MX_SPI1_Init-SPI1-false-HAL-true +ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-MX_DMA_Init-DMA-false-HAL-true,3-SystemClock_Config-RCC-false-HAL-false,4-MX_USART1_UART_Init-USART1-false-HAL-true,5-MX_ADC1_Init-ADC1-false-HAL-true,6-MX_SPI1_Init-SPI1-false-HAL-true,7-MX_CAN1_Init-CAN1-false-HAL-true,8-MX_TIM1_Init-TIM1-false-HAL-true RCC.48MHZClocksFreq_Value=84000000 RCC.AHBFreq_Value=168000000 RCC.APB1CLKDivider=RCC_HCLK_DIV4 @@ -172,12 +237,31 @@ RCC.VcooutputI2S=192000000 RCC.VcooutputI2SQ=192000000 SH.ADCx_IN6.0=ADC1_IN6,IN6 SH.ADCx_IN6.ConfNb=1 +SH.S_TIM1_CH1.0=TIM1_CH1,PWM Generation1 CH1 +SH.S_TIM1_CH1.ConfNb=1 +SH.S_TIM1_CH2.0=TIM1_CH2,PWM Generation2 CH2 +SH.S_TIM1_CH2.ConfNb=1 +SH.S_TIM1_CH3.0=TIM1_CH3,PWM Generation3 CH3 +SH.S_TIM1_CH3.ConfNb=1 +SH.S_TIM1_CH4.0=TIM1_CH4,PWM Generation4 CH4 +SH.S_TIM1_CH4.ConfNb=1 SPI1.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_64 SPI1.CalculateBaudRate=1.3125 MBits/s SPI1.Direction=SPI_DIRECTION_2LINES SPI1.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,BaudRatePrescaler SPI1.Mode=SPI_MODE_MASTER SPI1.VirtualType=VM_MASTER +TIM1.Channel-PWM\ Generation1\ CH1=TIM_CHANNEL_1 +TIM1.Channel-PWM\ Generation2\ CH2=TIM_CHANNEL_2 +TIM1.Channel-PWM\ Generation3\ CH3=TIM_CHANNEL_3 +TIM1.Channel-PWM\ Generation4\ CH4=TIM_CHANNEL_4 +TIM1.IPParameters=Channel-PWM Generation1 CH1,Channel-PWM Generation2 CH2,Channel-PWM Generation3 CH3,Channel-PWM Generation4 CH4,Prescaler,Period,Pulse-PWM Generation1 CH1,Pulse-PWM Generation2 CH2,Pulse-PWM Generation3 CH3,Pulse-PWM Generation4 CH4 +TIM1.Period=20000 +TIM1.Prescaler=167 +TIM1.Pulse-PWM\ Generation1\ CH1=1000 +TIM1.Pulse-PWM\ Generation2\ CH2=1000 +TIM1.Pulse-PWM\ Generation3\ CH3=1000 +TIM1.Pulse-PWM\ Generation4\ CH4=1000 USART1.IPParameters=VirtualMode USART1.VirtualMode=VM_ASYNC VP_SYS_VS_Systick.Mode=SysTick