diff options
author | Oliver Schinagl <oliver@schinagl.nl> | 2004-12-09 14:00:26 (GMT) |
---|---|---|
committer | Oliver Schinagl <oliver@schinagl.nl> | 2004-12-09 14:00:26 (GMT) |
commit | b0ae032ae5712e38471c9347af289f3e50b0a08a (patch) | |
tree | 5f98113107975ddcc484cffb27625e09d015f504 /Graphic_Equalizer | |
parent | 593d5fded11b8723ce27883e06865ab205c6f008 (diff) | |
download | TASS-b0ae032ae5712e38471c9347af289f3e50b0a08a.zip TASS-b0ae032ae5712e38471c9347af289f3e50b0a08a.tar.gz TASS-b0ae032ae5712e38471c9347af289f3e50b0a08a.tar.bz2 |
Added defines makeing it possible to split the application in various parts namely:
Loader (loads data from the smart media into ram)
Equalizer (The 'normal' known application)
Visualization (The graphical visualization)
Diffstat (limited to 'Graphic_Equalizer')
246 files changed, 0 insertions, 16235 deletions
diff --git a/Graphic_Equalizer/Graphic_Equalizer.hp b/Graphic_Equalizer/Graphic_Equalizer.hp deleted file mode 100644 index d1885ef..0000000 --- a/Graphic_Equalizer/Graphic_Equalizer.hp +++ /dev/null @@ -1,574 +0,0 @@ -#@hp
-type chip
-configuration Release EDIF
-configuration FastLoad_Debug EDIF
-configuration FastLoad EDIF
-configuration Full_Debug EDIF
-configuration Full EDIF
-setting Release debug false
-setting Release warnings true
-setting Release parfunc false
-setting Release parchan false
-setting Release parmem false
-setting Release rewrite true
-setting Release high true
-setting Release cse true
-setting Release pcse true
-setting Release rcse true
-setting Release cr true
-setting Release rcr true
-setting Release browse true
-setting Release estimate false
-setting Release noTimeCon false
-setting Release ignoreInclDirs false
-setting Release ignoreLibDirs false
-setting Release noFastCarry false
-setting Release mapper true
-setting Release netlistSimulator false
-setting Release useCustomBuild false
-setting Release exclude false
-setting Release target edif
-setting Release target.compile edif
-setting Release family XilinxVirtexII
-setting Release family.lib none
-setting Release vTool Generic
-setting Release netExp speed
-setting Release outDir Release
-setting Release intDir Release
-setting Release part XC2V1000-4-FG456
-setting Release define:NDEBUG true
-setting Release define:USE_ true
-setting Release define:USE_RC200E true
-setting Release "include:C:\\Program Files\\celoxica\\pdk\\hardware\\include" true
-setting Release include:include true
-setting Release include:..\\Support_Libs\\debug false
-setting Release lib:stdlib.hcl true
-setting Release lib:rc200e.hcl true
-setting Release lib:pal_rc200e.hcl true
-setting Release "libdir:C:\\Program Files\\celoxica\\pdk\\hardware\\lib" true
-setting Release define:HANDELCV3 false
-setting Release define:SIMULATE false
-setting Release define:DEBUG false
-setting Release define:USE_RC100 false
-setting Release define:NSIMULATE false
-setting Release define:USE_SIM false
-setting Release define:USE_ADMXRC2 false
-setting Release define:USE_NIOS false
-setting Release define:USE_NDB false
-setting Release define:USE_RC1000 false
-setting Release define:USE_RC200 false
-setting Release define:USE_ARMSTRIPE false
-setting Release define:USE_EDB false
-setting Release define:USE_V2PRO false
-setting Release define:USE_MV2P false
-setting Release define:RC200 false
-setting Release include:..\\..\\Support_Libs\\debug false
-setting Release lib:rc100.hcl false
-setting Release lib:pal_rc100.hcl false
-setting Release lib:pal_framebuffer16.hcl false
-setting Release lib:sim.hcl false
-setting Release lib:pal_sim.hcl false
-setting Release lib:admxrc2.hcl false
-setting Release lib:pal_admxrc2.hcl false
-setting Release lib:pal_console.hcl false
-setting Release lib:ndb.hcl false
-setting Release lib:pal_ndb.hcl false
-setting Release lib:rc1000.hcl false
-setting Release lib:pal_rc1000.hcl false
-setting Release lib:rc200.hcl false
-setting Release lib:pal_rc200.hcl false
-setting Release lib:pal_keyboard.hcl false
-setting Release lib:pal_framebuffer8.hcl false
-setting Release lib:pal_framebufferdb.hcl false
-setting Release lib:edb.hcl false
-setting Release lib:pal_edb.hcl false
-setting Release lib:mv2p.hcl false
-setting Release lib:pal_mv2p.hcl false
-setting Release lib:pal_mouse.hcl false
-setting Release "lib:C:\\Program Files\\Celoxica\\PDK\\Hardware\\Lib\\stdlib.hcl" false
-setting Release "libdir:R:\\c2hardw\\Program Files\\celoxica\\pdk\\hardware\\lib" false
-setting Release ansimodules:..\\..\\..\\Software\\Lib\\PalSim.lib false
-setting Release define:HAVE_DEBUG false
-setting Release "include:R:\\c2hardw\\Program Files\\celoxica\\pdk\\hardware\\include" false
-setting Release "include:R:\\c2hardw\\Program Files\\celoxica\\pdk\\hardware\\includes" false
-setting Release "include:R:\\c2hardw\\Program Files\\celoxica\\pdk\\hardware\\" false
-setting Release include:..\\..\\..\\include false
-setting Release include:C:\\Project_CVS\\Support_Libs\\debug false
-setting Release define:HAVE_SMARTMEDIA true
-setting Release define:USE_RUNFFT true
-setting Release define:HARDWARE_MULTIPLY true
-setting Release define:PERFORM_FFT_CALCULATION true
-setting Release define:USE_UNSIGNED_AUDIO false
-setting Release define:_CONFIGURATION_HCH true
-setting Release include:data true
-command Release "cd Release"
-command Release "call edifmake_rc200_optimized Graphic_Equalizer"
-output Release bin\\Graphic_Equalizer.bit
-setting FastLoad_Debug debug true
-setting FastLoad_Debug warnings true
-setting FastLoad_Debug parfunc false
-setting FastLoad_Debug parchan false
-setting FastLoad_Debug parmem false
-setting FastLoad_Debug rewrite true
-setting FastLoad_Debug high true
-setting FastLoad_Debug cse true
-setting FastLoad_Debug pcse true
-setting FastLoad_Debug rcse true
-setting FastLoad_Debug cr true
-setting FastLoad_Debug rcr true
-setting FastLoad_Debug browse true
-setting FastLoad_Debug estimate false
-setting FastLoad_Debug noTimeCon false
-setting FastLoad_Debug ignoreInclDirs false
-setting FastLoad_Debug ignoreLibDirs false
-setting FastLoad_Debug noFastCarry false
-setting FastLoad_Debug mapper true
-setting FastLoad_Debug netlistSimulator false
-setting FastLoad_Debug useCustomBuild false
-setting FastLoad_Debug exclude false
-setting FastLoad_Debug target edif
-setting FastLoad_Debug target.compile edif
-setting FastLoad_Debug family XilinxVirtexII
-setting FastLoad_Debug family.lib none
-setting FastLoad_Debug vTool Generic
-setting FastLoad_Debug netExp speed
-setting FastLoad_Debug outDir FastLoad_Debug
-setting FastLoad_Debug intDir FastLoad_Debug
-setting FastLoad_Debug part XC2V1000-4-FG456
-setting FastLoad_Debug define:NDEBUG true
-setting FastLoad_Debug define:HANDELCV3 false
-setting FastLoad_Debug define:SIMULATE false
-setting FastLoad_Debug define:DEBUG false
-setting FastLoad_Debug define:USE_ true
-setting FastLoad_Debug define:USE_RC100 false
-setting FastLoad_Debug define:NSIMULATE false
-setting FastLoad_Debug define:USE_SIM false
-setting FastLoad_Debug define:USE_ADMXRC2 false
-setting FastLoad_Debug define:USE_NIOS false
-setting FastLoad_Debug define:USE_NDB false
-setting FastLoad_Debug define:USE_RC1000 false
-setting FastLoad_Debug define:USE_RC200 false
-setting FastLoad_Debug define:USE_RC200E true
-setting FastLoad_Debug define:USE_ARMSTRIPE false
-setting FastLoad_Debug define:USE_EDB false
-setting FastLoad_Debug define:USE_V2PRO false
-setting FastLoad_Debug define:USE_MV2P false
-setting FastLoad_Debug define:RC200 false
-setting FastLoad_Debug lib:stdlib.hcl true
-setting FastLoad_Debug lib:rc100.hcl false
-setting FastLoad_Debug lib:pal_rc100.hcl false
-setting FastLoad_Debug lib:pal_framebuffer16.hcl false
-setting FastLoad_Debug lib:sim.hcl false
-setting FastLoad_Debug lib:pal_sim.hcl false
-setting FastLoad_Debug lib:admxrc2.hcl false
-setting FastLoad_Debug lib:pal_admxrc2.hcl false
-setting FastLoad_Debug lib:pal_console.hcl false
-setting FastLoad_Debug lib:ndb.hcl false
-setting FastLoad_Debug lib:pal_ndb.hcl false
-setting FastLoad_Debug lib:rc1000.hcl false
-setting FastLoad_Debug lib:pal_rc1000.hcl false
-setting FastLoad_Debug lib:rc200.hcl false
-setting FastLoad_Debug lib:pal_rc200.hcl false
-setting FastLoad_Debug lib:rc200e.hcl true
-setting FastLoad_Debug lib:pal_rc200e.hcl true
-setting FastLoad_Debug lib:pal_keyboard.hcl false
-setting FastLoad_Debug lib:pal_framebuffer8.hcl false
-setting FastLoad_Debug lib:pal_framebufferdb.hcl false
-setting FastLoad_Debug lib:edb.hcl false
-setting FastLoad_Debug lib:pal_edb.hcl false
-setting FastLoad_Debug lib:mv2p.hcl false
-setting FastLoad_Debug lib:pal_mv2p.hcl false
-setting FastLoad_Debug lib:pal_mouse.hcl false
-setting FastLoad_Debug ansimodules:..\\..\\..\\Software\\Lib\\PalSim.lib false
-setting FastLoad_Debug "include:R:\\c2hardw\\Program Files\\celoxica\\pdk\\hardware\\include" false
-setting FastLoad_Debug "libdir:R:\\c2hardw\\Program Files\\celoxica\\pdk\\hardware\\lib" false
-setting FastLoad_Debug "include:R:\\c2hardw\\Program Files\\celoxica\\pdk\\hardware\\includes" false
-setting FastLoad_Debug "include:R:\\c2hardw\\Program Files\\celoxica\\pdk\\hardware\\" false
-setting FastLoad_Debug include:..\\..\\..\\include false
-setting FastLoad_Debug include:include true
-setting FastLoad_Debug include:..\\Support_Libs\\debug true
-setting FastLoad_Debug include:C:\\Project_CVS\\Support_Libs\\debug false
-setting FastLoad_Debug "lib:C:\\Program Files\\Celoxica\\PDK\\Hardware\\Lib\\stdlib.hcl" false
-setting FastLoad_Debug "include:C:\\Program Files\\celoxica\\pdk\\hardware\\include" true
-setting FastLoad_Debug "libdir:C:\\Program Files\\celoxica\\pdk\\hardware\\lib" true
-setting FastLoad_Debug define:HAVE_DEBUG true
-setting FastLoad_Debug define:HAVE_SMARTMEDIA false
-setting FastLoad_Debug define:USE_RUNFFT true
-setting FastLoad_Debug define:HARDWARE_MULTIPLY true
-setting FastLoad_Debug define:PERFORM_FFT_CALCULATION true
-setting FastLoad_Debug define:USE_UNSIGNED_AUDIO false
-setting FastLoad_Debug include:..\\..\\Support_Libs\\debug false
-setting FastLoad_Debug define:_CONFIGURATION_HCH true
-setting FastLoad_Debug include:data true
-command FastLoad_Debug "cd FastLoad_Debug"
-command FastLoad_Debug "call edifmake_rc200_unoptimized Graphic_Equalizer"
-output FastLoad_Debug bin\\Graphic_Equalizer.bit
-setting FastLoad debug true
-setting FastLoad warnings true
-setting FastLoad parfunc false
-setting FastLoad parchan false
-setting FastLoad parmem false
-setting FastLoad rewrite true
-setting FastLoad high true
-setting FastLoad cse true
-setting FastLoad pcse true
-setting FastLoad rcse true
-setting FastLoad cr true
-setting FastLoad rcr true
-setting FastLoad browse true
-setting FastLoad estimate false
-setting FastLoad noTimeCon false
-setting FastLoad ignoreInclDirs false
-setting FastLoad ignoreLibDirs false
-setting FastLoad noFastCarry false
-setting FastLoad mapper true
-setting FastLoad netlistSimulator false
-setting FastLoad useCustomBuild false
-setting FastLoad exclude false
-setting FastLoad target edif
-setting FastLoad target.compile edif
-setting FastLoad family XilinxVirtexII
-setting FastLoad family.lib none
-setting FastLoad vTool Generic
-setting FastLoad netExp speed
-setting FastLoad outDir FastLoad
-setting FastLoad intDir FastLoad
-setting FastLoad part XC2V1000-4-FG456
-setting FastLoad define:NDEBUG true
-setting FastLoad define:HANDELCV3 false
-setting FastLoad define:SIMULATE false
-setting FastLoad define:DEBUG false
-setting FastLoad define:USE_ true
-setting FastLoad define:USE_RC100 false
-setting FastLoad define:NSIMULATE false
-setting FastLoad define:USE_SIM false
-setting FastLoad define:USE_ADMXRC2 false
-setting FastLoad define:USE_NIOS false
-setting FastLoad define:USE_NDB false
-setting FastLoad define:USE_RC1000 false
-setting FastLoad define:USE_RC200 false
-setting FastLoad define:USE_RC200E true
-setting FastLoad define:USE_ARMSTRIPE false
-setting FastLoad define:USE_EDB false
-setting FastLoad define:USE_V2PRO false
-setting FastLoad define:USE_MV2P false
-setting FastLoad define:RC200 false
-setting FastLoad lib:stdlib.hcl true
-setting FastLoad lib:rc100.hcl false
-setting FastLoad lib:pal_rc100.hcl false
-setting FastLoad lib:pal_framebuffer16.hcl false
-setting FastLoad lib:sim.hcl false
-setting FastLoad lib:pal_sim.hcl false
-setting FastLoad lib:admxrc2.hcl false
-setting FastLoad lib:pal_admxrc2.hcl false
-setting FastLoad lib:pal_console.hcl false
-setting FastLoad lib:ndb.hcl false
-setting FastLoad lib:pal_ndb.hcl false
-setting FastLoad lib:rc1000.hcl false
-setting FastLoad lib:pal_rc1000.hcl false
-setting FastLoad lib:rc200.hcl false
-setting FastLoad lib:pal_rc200.hcl false
-setting FastLoad lib:rc200e.hcl true
-setting FastLoad lib:pal_rc200e.hcl true
-setting FastLoad lib:pal_keyboard.hcl false
-setting FastLoad lib:pal_framebuffer8.hcl false
-setting FastLoad lib:pal_framebufferdb.hcl false
-setting FastLoad lib:edb.hcl false
-setting FastLoad lib:pal_edb.hcl false
-setting FastLoad lib:mv2p.hcl false
-setting FastLoad lib:pal_mv2p.hcl false
-setting FastLoad lib:pal_mouse.hcl false
-setting FastLoad ansimodules:..\\..\\..\\Software\\Lib\\PalSim.lib false
-setting FastLoad "include:R:\\c2hardw\\Program Files\\celoxica\\pdk\\hardware\\include" false
-setting FastLoad "libdir:R:\\c2hardw\\Program Files\\celoxica\\pdk\\hardware\\lib" false
-setting FastLoad "include:R:\\c2hardw\\Program Files\\celoxica\\pdk\\hardware\\includes" false
-setting FastLoad "include:R:\\c2hardw\\Program Files\\celoxica\\pdk\\hardware\\" false
-setting FastLoad include:..\\..\\..\\include false
-setting FastLoad include:include true
-setting FastLoad include:..\\Support_Libs\\debug false
-setting FastLoad include:C:\\Project_CVS\\Support_Libs\\debug false
-setting FastLoad "lib:C:\\Program Files\\Celoxica\\PDK\\Hardware\\Lib\\stdlib.hcl" false
-setting FastLoad "include:C:\\Program Files\\celoxica\\pdk\\hardware\\include" true
-setting FastLoad "libdir:C:\\Program Files\\celoxica\\pdk\\hardware\\lib" true
-setting FastLoad define:HAVE_DEBUG false
-setting FastLoad define:HAVE_SMARTMEDIA false
-setting FastLoad define:USE_RUNFFT true
-setting FastLoad define:HARDWARE_MULTIPLY true
-setting FastLoad define:PERFORM_FFT_CALCULATION true
-setting FastLoad define:USE_UNSIGNED_AUDIO false
-setting FastLoad include:..\\..\\Support_Libs\\debug false
-setting FastLoad define:_CONFIGURATION_HCH true
-setting FastLoad include:data true
-command FastLoad "cd FastLoad"
-command FastLoad "call edifmake_rc200_unoptimized Graphic_Equalizer"
-output FastLoad bin\\Graphic_Equalizer.bit
-setting Full_Debug debug true
-setting Full_Debug warnings true
-setting Full_Debug parfunc false
-setting Full_Debug parchan false
-setting Full_Debug parmem false
-setting Full_Debug rewrite true
-setting Full_Debug high true
-setting Full_Debug cse true
-setting Full_Debug pcse true
-setting Full_Debug rcse true
-setting Full_Debug cr true
-setting Full_Debug rcr true
-setting Full_Debug browse true
-setting Full_Debug estimate false
-setting Full_Debug noTimeCon false
-setting Full_Debug ignoreInclDirs false
-setting Full_Debug ignoreLibDirs false
-setting Full_Debug noFastCarry false
-setting Full_Debug mapper true
-setting Full_Debug netlistSimulator false
-setting Full_Debug useCustomBuild false
-setting Full_Debug exclude false
-setting Full_Debug target edif
-setting Full_Debug target.compile edif
-setting Full_Debug family XilinxVirtexII
-setting Full_Debug family.lib none
-setting Full_Debug vTool Generic
-setting Full_Debug netExp speed
-setting Full_Debug outDir Full_Debug
-setting Full_Debug intDir Full_Debug
-setting Full_Debug part XC2V1000-4-FG456
-setting Full_Debug define:NDEBUG true
-setting Full_Debug define:USE_ true
-setting Full_Debug define:USE_RC200E true
-setting Full_Debug "include:C:\\Program Files\\celoxica\\pdk\\hardware\\include" true
-setting Full_Debug include:include true
-setting Full_Debug include:..\\Support_Libs\\debug true
-setting Full_Debug lib:stdlib.hcl true
-setting Full_Debug lib:rc200e.hcl true
-setting Full_Debug lib:pal_rc200e.hcl true
-setting Full_Debug "libdir:C:\\Program Files\\celoxica\\pdk\\hardware\\lib" true
-setting Full_Debug define:HANDELCV3 false
-setting Full_Debug define:SIMULATE false
-setting Full_Debug define:DEBUG false
-setting Full_Debug define:USE_RC100 false
-setting Full_Debug define:NSIMULATE false
-setting Full_Debug define:USE_SIM false
-setting Full_Debug define:USE_ADMXRC2 false
-setting Full_Debug define:USE_NIOS false
-setting Full_Debug define:USE_NDB false
-setting Full_Debug define:USE_RC1000 false
-setting Full_Debug define:USE_RC200 false
-setting Full_Debug define:USE_ARMSTRIPE false
-setting Full_Debug define:USE_EDB false
-setting Full_Debug define:USE_V2PRO false
-setting Full_Debug define:USE_MV2P false
-setting Full_Debug define:RC200 false
-setting Full_Debug "include:R:\\c2hardw\\Program Files\\celoxica\\pdk\\hardware\\include" false
-setting Full_Debug "include:R:\\c2hardw\\Program Files\\celoxica\\pdk\\hardware\\includes" false
-setting Full_Debug "include:R:\\c2hardw\\Program Files\\celoxica\\pdk\\hardware\\" false
-setting Full_Debug include:..\\..\\..\\include false
-setting Full_Debug include:C:\\Project_CVS\\Support_Libs\\debug false
-setting Full_Debug lib:rc100.hcl false
-setting Full_Debug lib:pal_rc100.hcl false
-setting Full_Debug lib:pal_framebuffer16.hcl false
-setting Full_Debug lib:sim.hcl false
-setting Full_Debug lib:pal_sim.hcl false
-setting Full_Debug lib:admxrc2.hcl false
-setting Full_Debug lib:pal_admxrc2.hcl false
-setting Full_Debug lib:pal_console.hcl false
-setting Full_Debug lib:ndb.hcl false
-setting Full_Debug lib:pal_ndb.hcl false
-setting Full_Debug lib:rc1000.hcl false
-setting Full_Debug lib:pal_rc1000.hcl false
-setting Full_Debug lib:rc200.hcl false
-setting Full_Debug lib:pal_rc200.hcl false
-setting Full_Debug lib:pal_keyboard.hcl false
-setting Full_Debug lib:pal_framebuffer8.hcl false
-setting Full_Debug lib:pal_framebufferdb.hcl false
-setting Full_Debug lib:edb.hcl false
-setting Full_Debug lib:pal_edb.hcl false
-setting Full_Debug lib:mv2p.hcl false
-setting Full_Debug lib:pal_mv2p.hcl false
-setting Full_Debug lib:pal_mouse.hcl false
-setting Full_Debug "lib:C:\\Program Files\\Celoxica\\PDK\\Hardware\\Lib\\stdlib.hcl" false
-setting Full_Debug "libdir:R:\\c2hardw\\Program Files\\celoxica\\pdk\\hardware\\lib" false
-setting Full_Debug ansimodules:..\\..\\..\\Software\\Lib\\PalSim.lib false
-setting Full_Debug define:HAVE_DEBUG true
-setting Full_Debug include:..\\..\\Support_Libs\\debug false
-setting Full_Debug define:HAVE_SMARTMEDIA true
-setting Full_Debug define:USE_RUNFFT true
-setting Full_Debug define:HARDWARE_MULTIPLY true
-setting Full_Debug define:PERFORM_FFT_CALCULATION true
-setting Full_Debug define:USE_UNSIGNED_AUDIO false
-setting Full_Debug define:_CONFIGURATION_HCH true
-setting Full_Debug include:data true
-command Full_Debug "cd Full_Debug"
-command Full_Debug "call edifmake_rc200_unoptimized Graphic_Equalizer"
-output Full_Debug bin\\Graphic_Equalizer.bit
-setting Full debug true
-setting Full warnings true
-setting Full parfunc false
-setting Full parchan false
-setting Full parmem false
-setting Full rewrite true
-setting Full high true
-setting Full cse true
-setting Full pcse true
-setting Full rcse true
-setting Full cr true
-setting Full rcr true
-setting Full browse true
-setting Full estimate false
-setting Full noTimeCon false
-setting Full ignoreInclDirs false
-setting Full ignoreLibDirs false
-setting Full noFastCarry false
-setting Full mapper true
-setting Full netlistSimulator false
-setting Full useCustomBuild false
-setting Full exclude false
-setting Full target edif
-setting Full target.compile edif
-setting Full family XilinxVirtexII
-setting Full family.lib none
-setting Full vTool Generic
-setting Full netExp speed
-setting Full outDir Full
-setting Full intDir Full
-setting Full part XC2V1000-4-FG456
-setting Full define:NDEBUG true
-setting Full define:USE_ true
-setting Full define:USE_RC200E true
-setting Full "include:C:\\Program Files\\celoxica\\pdk\\hardware\\include" true
-setting Full include:include true
-setting Full include:..\\Support_Libs\\debug false
-setting Full lib:stdlib.hcl true
-setting Full lib:rc200e.hcl true
-setting Full lib:pal_rc200e.hcl true
-setting Full "libdir:C:\\Program Files\\celoxica\\pdk\\hardware\\lib" true
-setting Full define:HANDELCV3 false
-setting Full define:SIMULATE false
-setting Full define:DEBUG false
-setting Full define:USE_RC100 false
-setting Full define:NSIMULATE false
-setting Full define:USE_SIM false
-setting Full define:USE_ADMXRC2 false
-setting Full define:USE_NIOS false
-setting Full define:USE_NDB false
-setting Full define:USE_RC1000 false
-setting Full define:USE_RC200 false
-setting Full define:USE_ARMSTRIPE false
-setting Full define:USE_EDB false
-setting Full define:USE_V2PRO false
-setting Full define:USE_MV2P false
-setting Full define:RC200 false
-setting Full "include:R:\\c2hardw\\Program Files\\celoxica\\pdk\\hardware\\include" false
-setting Full "include:R:\\c2hardw\\Program Files\\celoxica\\pdk\\hardware\\includes" false
-setting Full "include:R:\\c2hardw\\Program Files\\celoxica\\pdk\\hardware\\" false
-setting Full include:..\\..\\..\\include false
-setting Full include:C:\\Project_CVS\\Support_Libs\\debug false
-setting Full lib:rc100.hcl false
-setting Full lib:pal_rc100.hcl false
-setting Full lib:pal_framebuffer16.hcl false
-setting Full lib:sim.hcl false
-setting Full lib:pal_sim.hcl false
-setting Full lib:admxrc2.hcl false
-setting Full lib:pal_admxrc2.hcl false
-setting Full lib:pal_console.hcl false
-setting Full lib:ndb.hcl false
-setting Full lib:pal_ndb.hcl false
-setting Full lib:rc1000.hcl false
-setting Full lib:pal_rc1000.hcl false
-setting Full lib:rc200.hcl false
-setting Full lib:pal_rc200.hcl false
-setting Full lib:pal_keyboard.hcl false
-setting Full lib:pal_framebuffer8.hcl false
-setting Full lib:pal_framebufferdb.hcl false
-setting Full lib:edb.hcl false
-setting Full lib:pal_edb.hcl false
-setting Full lib:mv2p.hcl false
-setting Full lib:pal_mv2p.hcl false
-setting Full lib:pal_mouse.hcl false
-setting Full "lib:C:\\Program Files\\Celoxica\\PDK\\Hardware\\Lib\\stdlib.hcl" false
-setting Full "libdir:R:\\c2hardw\\Program Files\\celoxica\\pdk\\hardware\\lib" false
-setting Full ansimodules:..\\..\\..\\Software\\Lib\\PalSim.lib false
-setting Full define:HAVE_DEBUG false
-setting Full include:..\\..\\Support_Libs\\debug false
-setting Full define:HAVE_SMARTMEDIA true
-setting Full define:USE_RUNFFT true
-setting Full define:HARDWARE_MULTIPLY true
-setting Full define:PERFORM_FFT_CALCULATION true
-setting Full define:USE_UNSIGNED_AUDIO false
-setting Full define:_CONFIGURATION_HCH true
-setting Full include:data true
-command Full "cd Full"
-command Full "call edifmake_rc200_unoptimized Graphic_Equalizer"
-output Full bin\\Graphic_Equalizer.bit
-document include\\audio.hch {
- type hch
-}
-document include\\configuration.hch {
- type hch
-}
-document include\\display.hch {
- type hch
-}
-document include\\display_shared.hch {
- type hch
-}
-document include\\eventhandler.hch {
- type hch
-}
-document include\\eventhandler_shared.hch {
- type hch
-}
-document include\\events.hch {
- type hch
-}
-document include\\fft.hch {
- type hch
-}
-document include\\mouse.hch {
- type hch
-}
-document include\\mouse_shared.hch {
- type hch
-}
-document include\\smartmedia.hch {
- type hch
-}
-document include\\smartmedia_shared.hch {
- type hch
-}
-document include\\weights_256.hch {
- type hch
-}
-document src\\audio.hcc {
- type hcc
-}
-document src\\display.hcc {
- type hcc
-}
-document src\\eventhandler.hcc {
- type hcc
-}
-document src\\events.hcc {
- type hcc
-}
-document src\\fft.hcc {
- type hcc
-}
-document src\\main.hcc {
- type hcc
-}
-document src\\mouse.hcc {
- type hcc
-}
-document src\\smartmedia.hcc {
- type hcc
-}
-document ..\\support_libs\\debug\\debug.hcc {
- type hcc
-}
-document ..\\support_libs\\debug\\debug.hch {
- type hch
-}
-document src\\runfft.hcc {
- type hcc
-}
diff --git a/Graphic_Equalizer/Graphic_Equalizer.hw b/Graphic_Equalizer/Graphic_Equalizer.hw deleted file mode 100644 index 59b9054..0000000 --- a/Graphic_Equalizer/Graphic_Equalizer.hw +++ /dev/null @@ -1,2 +0,0 @@ -#@hw
-project graphic_equalizer.hp
diff --git a/Graphic_Equalizer/Graphic_Equalizer.pref b/Graphic_Equalizer/Graphic_Equalizer.pref deleted file mode 100644 index 50fac51..0000000 --- a/Graphic_Equalizer/Graphic_Equalizer.pref +++ /dev/null @@ -1,164 +0,0 @@ -[WorkState_v1_2.Frames.ChildFrames.Document-16]
-ptn_Child1=ViewFrame-0
-[WorkState_v1_2.Frames.ChildFrames.Document-16.ViewFrame-0]
-DocPathName=C:\Project_CVS\Graphic_Equalizer\include\audio.hch
-DocumentString=
-DocTemplateIndex=5
-WindowPlacement=MCAAAAAAAAAAAAAABAAAAAAAPPPPPPPPPPPPPPPPMPPPPPPPJOPPPPPPMCAAAAAAMCAAAAAAICDAAAAAAGBAAAAA
-IsActiveChildFrame=False
-[WorkState_v1_2.Frames.ChildFrames.Document-8]
-ptn_Child1=ViewFrame-0
-[WorkState_v1_2.Frames.ChildFrames.Document-8.ViewFrame-0]
-DocPathName=C:\Project_CVS\Graphic_Equalizer\src\display.hcc
-DocumentString=
-DocTemplateIndex=4
-WindowPlacement=MCAAAAAAAAAAAAAABAAAAAAAPPPPPPPPPPPPPPPPMPPPPPPPJOPPPPPPAAAAAAAAAAAAAAAAMPCAAAAAEDBAAAAA
-IsActiveChildFrame=False
-[WorkState_v1_2.Frames.ChildFrames.Document-9]
-ptn_Child1=ViewFrame-0
-[WorkState_v1_2.Frames.ChildFrames.Document-9.ViewFrame-0]
-DocPathName=C:\Project_CVS\Graphic_Equalizer\src\audio.hcc
-DocumentString=
-DocTemplateIndex=4
-WindowPlacement=MCAAAAAACAAAAAAADAAAAAAAPPPPPPPPPPPPPPPPMPPPPPPPJOPPPPPPGBAAAAAAGBAAAAAACBDAAAAAKEBAAAAA
-IsActiveChildFrame=True
-[WorkState_v1_2.Frames.ChildFrames.Document-10]
-ptn_Child1=ViewFrame-0
-[WorkState_v1_2.Frames.ChildFrames.Document-10.ViewFrame-0]
-DocPathName=C:\Project_CVS\Graphic_Equalizer\include\display_shared.hch
-DocumentString=
-DocTemplateIndex=5
-WindowPlacement=MCAAAAAAAAAAAAAABAAAAAAAPPPPPPPPPPPPPPPPMPPPPPPPJOPPPPPPCEAAAAAACEAAAAAAGBDAAAAAMKBAAAAA
-IsActiveChildFrame=False
-[WorkState_v1_2.Frames.ChildFrames.Document-11]
-ptn_Child1=ViewFrame-0
-[WorkState_v1_2.Frames.ChildFrames.Document-11.ViewFrame-0]
-DocPathName=C:\project_cvs\graphic_equalizer\include\display.hch
-DocumentString=
-DocTemplateIndex=5
-WindowPlacement=MCAAAAAAAAAAAAAABAAAAAAAPPPPPPPPPPPPPPPPMPPPPPPPJOPPPPPPIFAAAAAAIFAAAAAAHEDAAAAACMBAAAAA
-IsActiveChildFrame=False
-[WorkState_v1_2.Frames.ChildFrames.Document-12]
-ptn_Child1=ViewFrame-0
-[WorkState_v1_2.Frames.ChildFrames.Document-12.ViewFrame-0]
-DocPathName=C:\Project_CVS\Graphic_Equalizer\include\mouse.hch
-DocumentString=
-DocTemplateIndex=5
-WindowPlacement=MCAAAAAAAAAAAAAABAAAAAAAPPPPPPPPPPPPPPPPMPPPPPPPJOPPPPPPOGAAAAAAOGAAAAAANFDAAAAAINBAAAAA
-IsActiveChildFrame=False
-[WorkState_v1_2.Frames.ChildFrames.Document-13]
-ptn_Child1=ViewFrame-0
-[WorkState_v1_2.Frames.ChildFrames.Document-13.ViewFrame-0]
-DocPathName=C:\Project_CVS\Graphic_Equalizer\include\events.hch
-DocumentString=
-DocTemplateIndex=5
-WindowPlacement=MCAAAAAAAAAAAAAABAAAAAAAPPPPPPPPPPPPPPPPMPPPPPPPJOPPPPPPGBAAAAAAGBAAAAAACBDAAAAAKEBAAAAA
-IsActiveChildFrame=False
-[WorkState_v1_2.Frames.ChildFrames.Document-14]
-ptn_Child1=ViewFrame-0
-[WorkState_v1_2.Frames.ChildFrames.Document-14.ViewFrame-0]
-DocPathName=C:\Project_CVS\Graphic_Equalizer\include\eventhandler_shared.hch
-DocumentString=
-DocTemplateIndex=5
-WindowPlacement=MCAAAAAAAAAAAAAABAAAAAAAPPPPPPPPPPPPPPPPMPPPPPPPJOPPPPPPIFAAAAAAIFAAAAAAEFDAAAAAMIBAAAAA
-IsActiveChildFrame=False
-[WorkState_v1_2.Frames.ChildFrames.Document-15]
-ptn_Child1=ViewFrame-0
-[WorkState_v1_2.Frames.ChildFrames.Document-15.ViewFrame-0]
-DocPathName=C:\Project_CVS\Graphic_Equalizer\include\audio.hch
-DocumentString=
-DocTemplateIndex=5
-WindowPlacement=MCAAAAAAAAAAAAAABAAAAAAAPPPPPPPPPPPPPPPPMPPPPPPPJOPPPPPPMCAAAAAAMCAAAAAAICDAAAAAAGBAAAAA
-IsActiveChildFrame=False
-[WorkState_v1_2.Frames.ChildFrames.Document-4]
-ptn_Child1=ViewFrame-0
-[WorkState_v1_2.Frames.ChildFrames.Document-4.ViewFrame-0]
-DocPathName=C:\Project_CVS\Graphic_Equalizer\src\main.hcc
-DocumentString=
-DocTemplateIndex=4
-WindowPlacement=MCAAAAAAAAAAAAAABAAAAAAAPPPPPPPPPPPPPPPPMPPPPPPPJOPPPPPPMCAAAAAAMCAAAAAAICDAAAAAAGBAAAAA
-IsActiveChildFrame=False
-[WorkState_v1_2.Frames.ChildFrames.Document-5]
-ptn_Child1=ViewFrame-0
-[WorkState_v1_2.Frames.ChildFrames.Document-5.ViewFrame-0]
-DocPathName=C:\Project_CVS\Graphic_Equalizer\include\smartmedia.hch
-DocumentString=
-DocTemplateIndex=5
-WindowPlacement=MCAAAAAAAAAAAAAABAAAAAAAPPPPPPPPPPPPPPPPMPPPPPPPJOPPPPPPIFAAAAAAIFAAAAAAEFDAAAAAMIBAAAAA
-IsActiveChildFrame=False
-[WorkState_v1_2.Frames.ChildFrames.Document-6]
-ptn_Child1=ViewFrame-0
-[WorkState_v1_2.Frames.ChildFrames.Document-6.ViewFrame-0]
-DocPathName=C:\Project_CVS\Graphic_Equalizer\include\fft.hch
-DocumentString=
-DocTemplateIndex=5
-WindowPlacement=MCAAAAAAAAAAAAAABAAAAAAAPPPPPPPPPPPPPPPPMPPPPPPPJOPPPPPPOGAAAAAAOGAAAAAAKGDAAAAACKBAAAAA
-IsActiveChildFrame=False
-[WorkState_v1_2.Frames.ChildFrames.Document-7]
-ptn_Child1=ViewFrame-0
-[WorkState_v1_2.Frames.ChildFrames.Document-7.ViewFrame-0]
-DocPathName=C:\Project_CVS\Graphic_Equalizer\include\configuration.hch
-DocumentString=
-DocTemplateIndex=5
-WindowPlacement=MCAAAAAACAAAAAAADAAAAAAAPPPPPPPPPPPPPPPPMPPPPPPPJOPPPPPPGBAAAAAAGBAAAAAACBDAAAAAKEBAAAAA
-IsActiveChildFrame=True
-[WorkState_v1_2]
-ptn_Child1=Frames
-ptn_Child2=DK Design Suite Preferences
-ptn_Child3=Breakpoints
-ptn_Child4=WatchVars
-[WorkState_v1_2.Frames]
-ptn_Child1=ChildFrames
-[WorkState_v1_2.Frames.ChildFrames]
-ptn_Child1=Document-0
-ptn_Child2=Document-1
-ptn_Child3=Document-2
-ptn_Child4=Document-3
-[WorkState_v1_2.Frames.ChildFrames.Document-0]
-ptn_Child1=ViewFrame-0
-[WorkState_v1_2.Frames.ChildFrames.Document-0.ViewFrame-0]
-DocPathName=C:\Project_CVS\Graphic_Equalizer\src\display.hcc
-DocumentString=
-DocTemplateIndex=4
-WindowPlacement=MCAAAAAAAAAAAAAABAAAAAAAPPPPPPPPPPPPPPPPMPPPPPPPJOPPPPPPAAAAAAAAAAAAAAAAALCAAAAAADBAAAAA
-IsActiveChildFrame=False
-[WorkState_v1_2.Frames.ChildFrames.Document-1]
-ptn_Child1=ViewFrame-0
-[WorkState_v1_2.Frames.ChildFrames.Document-1.ViewFrame-0]
-DocPathName=C:\Project_CVS\Graphic_Equalizer\src\eventhandler.hcc
-DocumentString=
-DocTemplateIndex=4
-WindowPlacement=MCAAAAAAAAAAAAAABAAAAAAAPPPPPPPPPPPPPPPPMPPPPPPPJOPPPPPPCEAAAAAACEAAAAAAGPCAAAAAGHBAAAAA
-IsActiveChildFrame=False
-[WorkState_v1_2.Frames.ChildFrames.Document-2]
-ptn_Child1=ViewFrame-0
-[WorkState_v1_2.Frames.ChildFrames.Document-2.ViewFrame-0]
-DocPathName=C:\Project_CVS\Graphic_Equalizer\include\eventhandler.hch
-DocumentString=
-DocTemplateIndex=5
-WindowPlacement=MCAAAAAACAAAAAAADAAAAAAAPPPPPPPPPPPPPPPPMPPPPPPPJOPPPPPPIFAAAAAAIFAAAAAAMADAAAAAMIBAAAAA
-IsActiveChildFrame=True
-[WorkState_v1_2.Frames.ChildFrames.Document-3]
-ptn_Child1=ViewFrame-0
-[WorkState_v1_2.Frames.ChildFrames.Document-3.ViewFrame-0]
-DocPathName=C:\Project_CVS\Graphic_Equalizer\include\eventhandler_shared.hch
-DocumentString=
-DocTemplateIndex=5
-WindowPlacement=MCAAAAAAAAAAAAAABAAAAAAAPPPPPPPPPPPPPPPPMPPPPPPPJOPPPPPPMCAAAAAAMCAAAAAAAOCAAAAAAGBAAAAA
-IsActiveChildFrame=False
-[WorkState_v1_2.DK Design Suite Preferences]
-Active Project Index=0
-Active Configuration Index=4
-[WorkState_v1_2.WatchVars]
-ptn_Child1=Watch0
-ptn_Child2=Watch1
-ptn_Child3=Watch2
-ptn_Child4=Watch3
-[WorkState_v1_2.WatchVars.Watch0]
-empty=True
-[WorkState_v1_2.WatchVars.Watch1]
-empty=True
-[WorkState_v1_2.WatchVars.Watch2]
-empty=True
-[WorkState_v1_2.WatchVars.Watch3]
-empty=True
diff --git a/Graphic_Equalizer/data/graph_mask.raw b/Graphic_Equalizer/data/graph_mask.raw deleted file mode 100644 index 9125381..0000000 --- a/Graphic_Equalizer/data/graph_mask.raw +++ /dev/null @@ -1,639 +0,0 @@ -€€€€€~~~~~}}}}|||||{{{{{zzzzzzyyyxxxxxxwwwwwvvvvvvuuuutttttssssssrrrrrrrqqqpppppppoooooonnnnmmmmmmllllllkkkkkkkkjjjiiiiiiiihhhhhhggggggggfffffeeeeeeedddddddddcccccccbbbbbbbaaaaaaaa``````````_______^^^^^^^^^^]]]]]]]]]]]]\\\\\\\\\\\\\[[[[[[[[[[ZZZZZZZZZZZZZZZZZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[\\\\\\\\\\\\]]]]]]]]]]]]]^^^^^^^^^^______``````````aaaaaaaaabbbbbbccccccccddddddddeeeeeeeefffffggggggghhhhhhhiiiiiiijjjjkkkkkkklllllllmmmmmmnnnnooooooppppppqqqqrrrrrrsssssstttttuuuuvvvvvvwwwwwxxxxxxxyyzzzzzz{{{{{|||||}}}}~~~~~€€€€€€€€€€~~~~~}}}}|||||{{{{{zzzzzzyyyxxxxxxwwwwwvvvvvvuuuutttttssssssrrrrrrqqqqppppppooooooonnnmmmmmmmllllllkkkkkkjjjjjiiiiiihhhhhhhhgggggggffffeeeeeeeeedddddddccccccccbbbbbbaaaaaaaaa`````````______^^^^^^^^^^^]]]]]]]]]]]\\\\\\\\\\\\\[[[[[[[[[ZZZZZZZZZZZZZZZZYYYYYYYYYYYYYYYYYYYYYYYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZ[[[[[[[[[\\\\\\\\\\\\]]]]]]]]]]]^^^^^^^^^^^^______`````````aaaaaaaabbbbbbbcccccccddddddddeeeeeeeeffffgggggggghhhhhhhiiiiiijjjjjkkkkkkkllllllmmmmmmnnnnooooooppppppqqqqrrrrrrssssssstttttuuuvvvvvvvwwwwwxxxxxxyyzzzzzzz{{{{{|||||}}}~~~~~€€€€€€€€~~~~~}}}}|||||{{{{{zzzzzyyyxxxxxxxwwwwwvvvvvvuuuutttttssssssrrrrrqqqqqpppppoooooonnnnnmmmmmmlllllllkkkkkkjjjjiiiiiiihhhhhhggggggggfffffeeeeeeeddddddddcccccccbbbbbbbaaaaaaaa`````````______^^^^^^^^^^]]]]]]]]]]]]\\\\\\\\\\\[[[[[[[[[ZZZZZZZZZZZZZZZZYYYYYYYYYYYYYYYYYYYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZ[[[[[[[[[\\\\\\\\\\\]]]]]]]]]]]^^^^^^^^^^______`````````aaaaaaaaabbbbbbccccccccdddddddeeeeeeeefffffggggggghhhhhhiiiiiiiijjjjkkkkkkllllllmmmmmmnnnnnooooooopppppqqqqqrrrrrsssssstttttuuuuvvvvvvwwwwwxxxxxxyyyyzzzzz{{{{{|||||}}}}~~~~~€€€€€~~~~~}}}|||||{{{{{zzzzzyyyyxxxxxxwwwwwvvvvvuuuuttttttsssssssrrrrrqqqpppppppoooooonnnnmmmmmmllllllkkkkkkjjjjjiiiiiiihhhhhhhggggggfffffeeeeeeeedddddddccccccccbbbbbbaaaaaaaa``````````______^^^^^^^^^]]]]]]]]]]]\\\\\\\\\\\[[[[[[[[[ZZZZZZZZZZZZZZYYYYYYYYYYYYYYYYYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZ[[[[[[[[\\\\\\\\\\\\]]]]]]]]]]]^^^^^^^^^______``````````aaaaaaabbbbbbbcccccccddddddddeeeeeeefffffgggggghhhhhhhhiiiiiijjjjjkkkkkklllllllmmmmmmnnnnooooooppppppqqqqrrrrrssssssttttttuuuuvvvvvwwwwwxxxxxxyyyyzzzzz{{{{{|||||}}}}~~~~~€€~~~~~}}}}|||||{{{{{zzzzzyyyyxxxxxxwwwwwvvvvvuuuuttttttsssssrrrrrrqqqqppppppooooooonnnmmmmmmmllllllkkkkkkjjjjiiiiiiihhhhhhhgggggggffffeeeeeeeddddddddcccccccccbbbbbaaaaaaa`````````______^^^^^^^^^^]]]]]]]]]]\\\\\\\\\\\[[[[[[[[[ZZZZZZZZZZZZZZYYYYYYYYYYYYYYYYXXXXXXXXXXXXXXXXXXXXXXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZ[[[[[[[[[\\\\\\\\\\\]]]]]]]]]]^^^^^^^^^^_______````````aaaaaaaabbbbbcccccccccdddddddeeeeeeeefffgggggggghhhhhhiiiiiiiijjjkkkkkkkllllllmmmmmmnnnnooooooppppppqqqqrrrrrrssssstttttttuuuvvvvvwwwwwxxxxxxxyyyzzzzz{{{{{|||||}}}}~~~~~€~~~~~}}}}|||||{{{{{zzzzzyyyyxxxxxxwwwwwvvvvvuuuuttttttsssssrrrrrrqqqqppppppooooonnnnnmmmmmmlllllllkkkkkkjjjjiiiiiihhhhhhhgggggggfffffeeeeeeeddddddddcccccccbbbbbaaaaaaaa````````_______^^^^^^^^^^]]]]]]]]]]\\\\\\\\\\[[[[[[[ZZZZZZZZZZZZZZYYYYYYYYYYYYYYYXXXXXXXXXXXXXXXXXXXXWWWWWWWWWWWWWWWWWWWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYZZZZZZZZZZZZZ[[[[[[[[\\\\\\\\\\]]]]]]]]]]^^^^^^^^^^______`````````aaaaaaabbbbbccccccccdddddddeeeeeeeefffffgggggghhhhhhhhiiiiiijjjjkkkkkkllllllmmmmmmnnnnnooooopppppppqqqrrrrrrrsssssttttttuuuuvvvvvwwwwwxxxxxxyyyyzzzzz{{{{{|||||}}}~~~~~~~~~~}}}}|||||{{{{{zzzzzyyyxxxxxxxwwwwwvvvvvuuutttttttsssssrrrrrrqqqqpppppoooooonnnnmmmmmmllllllkkkkkkjjjjjiiiiiiihhhhhhgggggggffffeeeeeeeedddddddccccccccbbbbbaaaaaaa`````````______^^^^^^^^^]]]]]]]]]]\\\\\\\\\\[[[[[[[ZZZZZZZZZZZZZYYYYYYYYYYYYYYYXXXXXXXXXXXXXXXXXWWWWWWWWWWWWWWWWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYZZZZZZZZZZZZ[[[[[[[[\\\\\\\\\\]]]]]]]]]]^^^^^^^^_______````````aaaaaaaabbbbbcccccccddddddddeeeeeeeffffgggggggghhhhhhiiiiiijjjjjkkkkkklllllllmmmmmmnnnnoooooopppppqqqqrrrrrrsssssttttttuuuuvvvvvwwwwwxxxxxxyyyyzzzzz{{{{{|||||}}}}~~~~~~~~~~}}}|||||{{{{{zzzzzyyyyxxxxxwwwwwwvvvvvuuuuttttttsssssrrrrrrrqqqpppppooooooonnnmmmmmmmllllllkkkkkkjjjjiiiiiihhhhhhhhggggggfffffeeeeeeddddddddcccccccbbbbbaaaaaaaaa```````_______^^^^^^^^]]]]]]]]]]\\\\\\\\\\[[[[[[[[ZZZZZZZZZZZYYYYYYYYYYYYYYXXXXXXXXXXXXXXXXWWWWWWWWWWWWWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYZZZZZZZZZZZZ[[[[[[[\\\\\\\\\\]]]]]]]]]]^^^^^^^^^______````````aaaaaaaabbbbbccccccccdddddddeeeeeeefffffgggggghhhhhhhiiiiiiijjjkkkkkkkllllllmmmmmmnnnnoooooopppppqqqqrrrrrrsssssttttttuuuuvvvvvwwwwwwxxxxxyyyyzzzzz{{{{{|||||}}}}~~~~~~~~~~}}}}|||||{{{{{zzzzzyyyyxxxxxwwwwwwvvvvvuuuutttttssssssrrrrrqqqqppppppoooooonnnnmmmmmmlllllllkkkkkkjjjjiiiiiihhhhhhggggggggfffeeeeeeeeddddddccccccccbbbbbaaaaaaaa````````______^^^^^^^^^]]]]]]]]]\\\\\\\\\\[[[[[[[ZZZZZZZZZZZYYYYYYYYYYYYYXXXXXXXXXXXXXXXWWWWWWWWWWWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWXXXXXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZZZZ[[[[[[[[\\\\\\\\\\]]]]]]]]]^^^^^^^^_______```````aaaaaaaaabbbbbcccccccdddddddeeeeeeeffffggggggghhhhhhhiiiiiijjjjkkkkkkllllllmmmmmmnnnnoooooopppppppqqqrrrrrssssssstttttuuuvvvvvwwwwwwwxxxxxyyyzzzzz{{{{{|||||}}}}~~~~~~~~~}}}}|||||{{{{{zzzzzyyyyxxxxxwwwwwwvvvvvuuuutttttssssssrrrrrqqqqppppppoooooonnnnmmmmmllllllkkkkkkjjjjjiiiiiiihhhhhhggggggfffffeeeeeeddddddddcccccccbbbbbaaaaaaaa```````_______^^^^^^^^]]]]]]]]]\\\\\\\\\\[[[[[[ZZZZZZZZZZZZYYYYYYYYYYYYXXXXXXXXXXXXXXWWWWWWWWWWWVVVVVVVVVVVVVVVVVVVVVVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWXXXXXXXXXXXXXYYYYYYYYYYYYYZZZZZZZZZZZ[[[[[[\\\\\\\\\\]]]]]]]]]^^^^^^^^^______````````aaaaaaabbbbbccccccccdddddddeeeeeefffffggggggghhhhhhiiiiiijjjjjkkkkkklllllllmmmmmnnnoooooooppppppqqqqrrrrrsssssstttttuuuuvvvvvwwwwwwxxxxxyyyyzzzzz{{{{{|||||}}}~~~~~~~~}}}}|||||{{{{{zzzzzyyyxxxxxwwwwwwwvvvvvuuutttttsssssssrrrrrqqqpppppppooooonnnmmmmmmmllllllkkkkkkjjjjiiiiiihhhhhhggggggggffffeeeeeeeddddddccccccccbbbbbaaaaaaa````````______^^^^^^^^]]]]]]]]]]\\\\\\\\[[[[[[[ZZZZZZZZZZZYYYYYYYYYYYYXXXXXXXXXXXXXWWWWWWWWWWWVVVVVVVVVVVVVVVVVVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWXXXXXXXXXXXXYYYYYYYYYYYYYZZZZZZZZZZZ[[[[[[\\\\\\\\\]]]]]]]]]]^^^^^^^_______```````aaaaaaaabbbbbcccccccddddddeeeeeeeeffffggggggghhhhhhiiiiiiijjjkkkkkkkllllllmmmmmmnnnnoooooppppppqqqqrrrrrsssssstttttuuuuvvvvvwwwwwwxxxxxyyyyzzzzz{{{{{|||||}}}}~~~~~}}}|||||{{{{{zzzzzzzyyxxxxxwwwwwwvvvvvuuuutttttssssssrrrrrqqqqppppppooooonnnnmmmmmmlllllllkkkkkkjjjjiiiiiihhhhhhggggggfffffeeeeeeedddddddccccccbbbbbaaaaaaaa```````_______^^^^^^^]]]]]]]]]\\\\\\\\\\[[[[[[ZZZZZZZZZZYYYYYYYYYYYXXXXXXXXXXXXXXWWWWWWWWWVVVVVVVVVVVVVVVVVVVUUUUUUUUUUUUUUUUUUUUUUUUUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVWWWWWWWWXXXXXXXXXXXXXXYYYYYYYYYYYZZZZZZZZZZ[[[[[[[\\\\\\\\\\]]]]]]]]^^^^^^^^______````````aaaaaaabbbbbccccccddddddddeeeeeefffffgggggghhhhhhhiiiiiijjjjkkkkkkllllllmmmmmmnnnnoooooppppppqqqqrrrrrsssssstttttuuuuvvvvvwwwwwwxxxxxyyyzzzzzz{{{{{|||||}}}}~~~~}}|||||{{{{{zzzzzzyyyxxxxxwwwwwwvvvvvuuuutttttssssssrrrrrqqqqpppppoooooonnnnmmmmmmlllllkkkkkkjjjjjiiiiiiihhhhhhggggggffffeeeeeeedddddddcccccccbbbbaaaaaaa`````````_____^^^^^^^^]]]]]]]]\\\\\\\\\[[[[[[[[ZZZZZZZZZZYYYYYYYYYYXXXXXXXXXXXXWWWWWWWWWWVVVVVVVVVVVVVVVUUUUUUUUUUUUUUUUUUUUUUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVWWWWWWWWWWXXXXXXXXXXXXXYYYYYYYYYYZZZZZZZZZZ[[[[[[[\\\\\\\\\]]]]]]]]]^^^^^^^_____`````````aaaaaaaabbbccccccccddddddeeeeeeeefffggggggghhhhhhiiiiiijjjjjkkkkkklllllmmmmmmmnnnooooooopppppqqqrrrrrssssssstttttuuuvvvvvwwwwwwwxxxxxyyzzzzzz{{{{{|||||}}}~~}}}|||||{{{{{zzzzzzyyyxxxxxxwwwwwvvvvvuuuutttttsssssrrrrrrqqqqpppppoooooonnnnmmmmmmlllllkkkkkkjjjjiiiiiihhhhhhgggggggfffffeeeeeeddddddccccccccbbbbbaaaaaaa````````_____^^^^^^^]]]]]]]]]\\\\\\\\\[[[[[[ZZZZZZZZZZYYYYYYYYYYYXXXXXXXXXXXWWWWWWWWWVVVVVVVVVVVVVVVUUUUUUUUUUUUUUUUUUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVWWWWWWWWWXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZZZ[[[[[[\\\\\\\\\]]]]]]]]^^^^^^^^_____```````aaaaaaaabbbbbcccccccdddddddeeeeeefffffgggggghhhhhhiiiiiiijjjkkkkkkklllllmmmmmmnnnnoooooopppppqqqqrrrrrrssssstttttuuuuvvvvvwwwwwxxxxxxyyzzzzzzz{{{{{|||||}}~}}||||||{{{{{zzzzzyyxxxxxxxwwwwwvvvvvuuutttttsssssrrrrrrrqqqpppppooooooonnnmmmmmlllllllkkkkkkjjjjiiiiiihhhhhhggggggffffeeeeeeeeddddddccccccbbbbbaaaaaaaa```````_____^^^^^^^^]]]]]]]]\\\\\\\\\[[[[[[ZZZZZZZZZZYYYYYYYYYYXXXXXXXXXXXXWWWWWWWWVVVVVVVVVVVVVVUUUUUUUUUUUUUUUUUUTTTTTTTTTTTTTTTTTTTTTTTTTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVWWWWWWWWWXXXXXXXXXXXYYYYYYYYYYZZZZZZZZZZ[[[[[[\\\\\\\\\]]]]]]]]]^^^^^^^_____````````aaaaaaabbbbbcccccccddddddeeeeeeeffffgggggghhhhhhhiiiiiijjjjkkkkkkllllllmmmmmnnnnoooooopppppqqqqrrrrrrssssstttttuuuuvvvvvwwwwwxxxxxxyyyzzzzz{{{{{||||||}}}}|||||{{{{{zzzzzyyxxxxxxwwwwwvvvvvuuuutttttsssssrrrrrrqqqqpppppoooooonnnnmmmmmllllllkkkkkkkjjjiiiiiiihhhhhhggggggffffeeeeeeddddddccccccccbbbbbaaaaaa````````_____^^^^^^^^]]]]]]]]\\\\\\\\\[[[[[[ZZZZZZZZZYYYYYYYYYYXXXXXXXXXXXWWWWWWWVVVVVVVVVVVVVVUUUUUUUUUUUUUUUUTTTTTTTTTTTTTTTTTTTTTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVWWWWWWWWXXXXXXXXXXXYYYYYYYYYYZZZZZZZZZ[[[[[[\\\\\\\\\]]]]]]]^^^^^^^^^_____```````aaaaaaabbbbbcccccccddddddeeeeeeefffggggggghhhhhhiiiiiijjjjkkkkkkllllllmmmmmnnnnoooooopppppqqqqrrrrrrssssstttttuuuuvvvvvwwwwwxxxxxxyyyzzzzz{{{{{|||||}}|||||{{{{{zzzzzyyyyxxxxxwwwwwvvvvvuuuutttttsssssrrrrrrqqqqpppppooooonnnnmmmmmmllllllkkkkkjjjjiiiiiihhhhhhgggggggfffffeeeeeeddddddccccccbbbbbaaaaaaaa```````____^^^^^^^^^]]]]]]]\\\\\\\\\[[[[[ZZZZZZZZZZYYYYYYYYYYXXXXXXXXXXWWWWWWWWVVVVVVVVVVVVUUUUUUUUUUUUUUUTTTTTTTTTTTTTTTTTTTTSSSSSSSSSSSSSSSSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUVVVVVVVVVVVVVWWWWWWWXXXXXXXXXXYYYYYYYYYYZZZZZZZZZZ[[[[[\\\\\\\\\]]]]]]]]^^^^^^^^____````````aaaaaaabbbbbccccccdddddddeeeeeefffffgggggghhhhhhiiiiiiijjjkkkkklllllllmmmmmmnnnnooooopppppqqqrrrrrrrssssstttttuuuvvvvvwwwwwxxxxxyyyyzzzzz{{{{{|||||}||||{{{{{zzzzzyyyyxxxxxwwwwwvvvvvuuuutttttsssssrrrrrrqqqqpppppooooonnnmmmmmmmlllllkkkkkkjjjjiiiiiihhhhhhggggggffffeeeeeeddddddddccccccbbbbaaaaaaa````````_____^^^^^^^]]]]]]]]\\\\\\\\\[[[[[ZZZZZZZZYYYYYYYYYYXXXXXXXXXXWWWWWWWWVVVVVVVVVVVVUUUUUUUUUUUUUUTTTTTTTTTTTTTTTTTTSSSSSSSSSSSSSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUVVVVVVVVVVVVVWWWWWWWXXXXXXXXXXYYYYYYYYYYZZZZZZZZZ[[[[[\\\\\\\\\]]]]]]]^^^^^^^^_____```````aaaaaaaabbbcccccccdddddddeeeeeeffffgggggghhhhhhhiiiiiijjjjkkkkkklllllmmmmmmnnnnooooopppppqqqqrrrrrrssssstttttuuuuvvvvvwwwwwxxxxxyyyzzzzz{{{{{||||||||{{{{{zzzzzyyyyxxxxxwwwwwvvvvvuuutttttsssssrrrrrrrqqppppppooooonnnnmmmmmmlllllkkkkkkkjjjiiiiiiihhhhhhggggggffffeeeeeeddddddcccccccbbbbbaaaaaa```````_____^^^^^^^^]]]]]]]\\\\\\\\\[[[[[ZZZZZZZZZYYYYYYYYYYXXXXXXXXXXWWWWWWVVVVVVVVVVVVVUUUUUUUUUUUUTTTTTTTTTTTTTTTTSSSSSSSSSSSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTUUUUUUUUUUUUUVVVVVVVVVVVVWWWWWWWXXXXXXXXXXYYYYYYYYYYZZZZZZZZ[[[[[\\\\\\\\\]]]]]]]]^^^^^^^_____````````aaaaaabbbbbccccccddddddeeeeeeefffggggggghhhhhhiiiiiijjjjkkkkkklllllmmmmmmnnnnoooooppppppqqqrrrrrrssssstttttuuuuvvvvvwwwwwxxxxxyyyyzzzzz{{{{{|||||{{{{{zzzzzyyyxxxxxwwwwwvvvvvuuuutttttsssssrrrrrrqqqppppppooooonnnnmmmmmmlllllkkkkkkjjjjiiiiiihhhhhgggggggfffffeeeeeeddddddccccccbbbbaaaaaaaa```````____^^^^^^^]]]]]]]]\\\\\\\\\[[[[[ZZZZZZZZYYYYYYYYYXXXXXXXXXXWWWWWWWWVVVVVVVVVVVUUUUUUUUUUUUTTTTTTTTTTTTTTTSSSSSSSSSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSTTTTTTTTTTTTTTTUUUUUUUUUUUUUVVVVVVVVVVVWWWWWWWXXXXXXXXXXYYYYYYYYYZZZZZZZZZ[[[[[\\\\\\\\\]]]]]]]^^^^^^^^___````````aaaaaaabbbbccccccdddddddeeeeeefffffgggggghhhhhiiiiiijjjjkkkkkklllllmmmmmmmnnnooooopppppppqqrrrrrrssssstttttuuuuvvvvvwwwwwxxxxxyyyyzzzzz{{{{{||{{{{{zzzzzyyyyxxxxxwwwwwvvvvvuuuutttttsssssrrrrrrqqqppppppooooonnnnmmmmmllllllkkkkkkjjjjiiiiihhhhhhggggggffffeeeeeedddddddccccccbbbbbaaaaaa````````_____^^^^^^^]]]]]]]]\\\\\\\[[[[[ZZZZZZZZZYYYYYYYYYXXXXXXXXXXWWWWWWVVVVVVVVVVVUUUUUUUUUUUTTTTTTTTTTTTTTTSSSSSSSSSSRRRRRRRRRRRRRRRRRRRRRRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSTTTTTTTTTTTTTTTUUUUUUUUUUUVVVVVVVVVVVVWWWWWWXXXXXXXXXXYYYYYYYYYZZZZZZZZ[[[[[\\\\\\\\]]]]]]]^^^^^^^^_____```````aaaaaaabbbbbccccccddddddeeeeeeffffgggggghhhhhhhiiiiijjjkkkkkkkllllllmmmmmnnnnoooooppppppqqrrrrrrrssssstttttuuuvvvvvwwwwwxxxxxyyyyzzzzz{{{{{|{{{{zzzzzyyyyxxxxxwwwwwvvvvvuuuutttttsssssrrrrrrqqpppppppooooonnnmmmmmlllllllkkkkkjjjiiiiiiihhhhhhggggggffffeeeeeeddddddcccccccbbbbbaaaaaa``````_____^^^^^^^^]]]]]]]\\\\\\\\[[[[[ZZZZZZZZYYYYYYYYYXXXXXXXXXWWWWWWWVVVVVVVVVVUUUUUUUUUUUUTTTTTTTTTTTTTSSSSSSSSSSRRRRRRRRRRRRRRRRRRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRSSSSSSSSSSTTTTTTTTTTTTTTUUUUUUUUUUUVVVVVVVVVVWWWWWWWWXXXXXXXXYYYYYYYYYZZZZZZZZZ[[[[[\\\\\\\]]]]]]]]^^^^^^^_____```````aaaaaabbbbbccccccddddddeeeeeeefffggggggghhhhhhiiiiiijjjjkkkkkllllllmmmmmnnnnoooooppppppqqqrrrrrrssssstttttuuuuvvvvvwwwwwxxxxxyyyzzzzz{{{{{{{{zzzzzyyyyxxxxxwwwwwvvvvvuuutttttsssssrrrrrrrqqppppppooooonnnnmmmmmllllllkkkkkjjjjiiiiiihhhhhhhgggggfffffeeeeeeddddddccccccbbbbaaaaaa````````_____^^^^^^]]]]]]]]\\\\\\\[[[[[ZZZZZZZZZYYYYYYYYYXXXXXXXXWWWWWWWVVVVVVVVVVUUUUUUUUUUUTTTTTTTTTTTTSSSSSSSSSSRRRRRRRRRRRRRRRRRRQQQQQQQQQQQQQQQQQQQQQQQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRSSSSSSSSSSTTTTTTTTTTTTTUUUUUUUUUUUVVVVVVVVVVWWWWWWXXXXXXXXXYYYYYYYYYZZZZZZZZ[[[[[\\\\\\\\]]]]]]]^^^^^^^_____```````aaaaaabbbbccccccdddddddeeeeeefffffggggghhhhhhiiiiiijjjjkkkkkllllllmmmmmnnnnoooooppppppqqqrrrrrrssssstttttuuuuvvvvvwwwwwxxxxxyyyyzzzzz{{{{{{zzzzzyyxxxxxwwwwwvvvvvuuuutttttsssssrrrrrrqqqppppppooooonnnnmmmmmllllllkkkkkjjjjiiiiiihhhhhggggggffffeeeeeedddddddccccccbbbbbaaaaaa``````_____^^^^^^^^]]]]]]\\\\\\\\[[[[[[ZZZZZZZYYYYYYYYYXXXXXXXXXWWWWWWVVVVVVVVVVUUUUUUUUUUTTTTTTTTTTTTTSSSSSSSSRRRRRRRRRRRRRRRRRQQQQQQQQQQQQQQQQQQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRSSSSSSSSSTTTTTTTTTTTTUUUUUUUUUUVVVVVVVVVVWWWWWWWXXXXXXXXYYYYYYYYYZZZZZZZZ[[[[[[\\\\\\\]]]]]]]^^^^^^^_____``````aaaaaaabbbbbccccccddddddeeeeeeffffgggggghhhhhiiiiiiijjjkkkkklllllllmmmmmnnnooooopppppppqqrrrrrrssssstttttuuuuvvvvvwwwwwxxxxxyyyzzzzz{{{{{zzzzzyyxxxxxwwwwwvvvvvuuuutttttsssssrrrrrrqqqppppppooooonnnnmmmmmllllllkkkkkjjjjiiiiiihhhhhggggggffffeeeeeeddddddcccccccbbbaaaaaaa```````____^^^^^^^]]]]]]]]\\\\\\\[[[[[ZZZZZZZZYYYYYYYYYXXXXXXXXWWWWWVVVVVVVVVVUUUUUUUUUUTTTTTTTTTTTTTSSSSSSSSSRRRRRRRRRRRRRQQQQQQQQQQQQQQQQQQQPPPPPPPPPPPPPPPPPPPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRSSSSSSSSSTTTTTTTTTTTTUUUUUUUUUUVVVVVVVVVVWWWWWXXXXXXXXXYYYYYYYYYZZZZZZZ[[[[[\\\\\\\\]]]]]]]^^^^^^^^___````````aaaaaabbbbccccccddddddeeeeeeefffggggggghhhhhiiiiiijjjjkkkkkllllllmmmmmnnnnoooooppppppqqrrrrrrrssssstttttuuuvvvvvwwwwwxxxxxyyyzzzzz{{zzzzzyyyxxxxxwwwwwvvvvvuuuutttttsssssrrrrrrqqpppppppooooonnnmmmmmlllllkkkkkkkjjjiiiiihhhhhhhggggggffffeeeeeeddddddccccccbbbbaaaaaa```````_____^^^^^^]]]]]]]\\\\\\\\[[[[[ZZZZZZZYYYYYYYYYXXXXXXXXWWWWWWVVVVVVVVVVUUUUUUUUUUTTTTTTTTTTTSSSSSSSSRRRRRRRRRRRRRQQQQQQQQQQQQQQQQQQPPPPPPPPPPPPPPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRSSSSSSSTTTTTTTTTTTTUUUUUUUUUUVVVVVVVVVVWWWWWWXXXXXXXYYYYYYYYYZZZZZZZZ[[[[[\\\\\\\]]]]]]]]^^^^^^_____``````aaaaaabbbbccccccdddddddeeeeeeffffgggggghhhhhhiiiiijjjjkkkkkklllllmmmmmnnnnoooooppppppqqqrrrrrrssssstttttuuuuvvvvvwwwwwxxxxxyyzzzzz{zzzzyyyyxxxxxwwwwwvvvvvuutttttsssssrrrrrrrqqppppppooooonnnnmmmmmlllllkkkkkkjjjjiiiiihhhhhhgggggfffffeeeeedddddddccccccbbbbbaaaaaa``````____^^^^^^^^]]]]]]\\\\\\\[[[[[ZZZZZZZZYYYYYYYYYXXXXXXXWWWWWWVVVVVVVVVUUUUUUUUUUTTTTTTTTTTTSSSSSSSSRRRRRRRRRRRRQQQQQQQQQQQQQQQQQPPPPPPPPPPPPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQRRRRRRRRRRRRRSSSSSSSTTTTTTTTTTTUUUUUUUUUUVVVVVVVVVWWWWWWXXXXXXXXYYYYYYYYYZZZZZZZ[[[[[\\\\\\\\]]]]]]^^^^^^^____``````aaaaaaabbbbbccccccddddddeeeeefffffggggghhhhhhiiiiijjjjkkkkkklllllmmmmmnnnnoooooppppppqqqrrrrrrssssstttttuuuvvvvvwwwwwxxxxxyyyzzzzzzzzyyyyxxxxxwwwwwvvvvvuutttttssssssrrrrrqqqppppppooooonnnnmmmmmlllllkkkkkkjjjjiiiiihhhhhhgggggffffeeeeeeddddddcccccccbbbaaaaaaa``````_____^^^^^^]]]]]]]]\\\\\\\[[[[ZZZZZZZYYYYYYYYYXXXXXXXXWWWWWWVVVVVVVVVUUUUUUUUUUTTTTTTTTTTSSSSSSSRRRRRRRRRRRRRQQQQQQQQQQQQQQQPPPPPPPPPPPOOOOOOOOOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPQQQQQQQQQQQQQQQRRRRRRRRRRRRSSSSSSSSTTTTTTTTTTUUUUUUUUUUVVVVVVVVVWWWWWWXXXXXXXYYYYYYYYYZZZZZZZZ[[[\\\\\\\\]]]]]]]^^^^^^^_____``````aaaaaabbbbccccccddddddeeeeeeefffggggghhhhhhhiiiiijjjkkkkkkklllllmmmmmnnnooooopppppppqqrrrrrsssssstttttuuuvvvvvwwwwwxxxxxyyyyzzzzzyyyxxxxxwwwwwvvvvvuuuttttttsssssrrrrrqqqppppppooooonnnnmmmmmlllllkkkkkkjjjjiiiiihhhhhhgggggffffeeeeeeddddddccccccbbbbaaaaaa```````___^^^^^^^^]]]]]]\\\\\\\\[[[[[ZZZZZZZYYYYYYYYXXXXXXXWWWWWWVVVVVVVVVUUUUUUUUUTTTTTTTTTTSSSSSSSRRRRRRRRRRRRRQQQQQQQQQQQQQQPPPPPPPPPPOOOOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPQQQQQQQQQQQQQQRRRRRRRRRRRRSSSSSSSSTTTTTTTTTTUUUUUUUUVVVVVVVVVWWWWWWXXXXXXXXYYYYYYYZZZZZZZZ[[[[[\\\\\\\]]]]]]]^^^^^^^____``````aaaaaabbbbccccccdddddddeeeeeeffffggggghhhhhhiiiiijjjjkkkkkklllllmmmmmnnnnoooooppppppqqrrrrrssssstttttttuuvvvvvwwwwwxxxxxyyyyzzyyyyxxxxxwwwwwvvvvvuuuutttttsssssrrrrrqqqqpppppooooonnnmmmmmlllllkkkkkkkjjiiiiiihhhhhgggggggfffeeeeeeedddddccccccbbbbbaaaaaa``````____^^^^^^]]]]]]]]\\\\\\[[[[[ZZZZZZZZYYYYYYYXXXXXXXXWWWWWWVVVVVVVVVUUUUUUUUTTTTTTTTTTSSSSSSSRRRRRRRRRRRQQQQQQQQQQQQQQPPPPPPPPPPOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOPPPPPPPPPPQQQQQQQQQQQQQQRRRRRRRRRRRSSSSSSTTTTTTTTTTUUUUUUUUUVVVVVVVVVWWWWWWXXXXXXXYYYYYYYYZZZZZZZ[[[[[\\\\\\\]]]]]]]^^^^^^____``````aaaaaaabbbbbccccccdddddeeeeeeffffgggggghhhhhiiiiiijjjkkkkkklllllmmmmmnnnnooooopppppqqqqrrrrrssssstttttuuuvvvvvwwwwwxxxxxyyyyzyyyxxxxxwwwwwvvvvvuuuutttttsssssrrrrrqqqpppppooooonnnnmmmmmlllllkkkkkkjjjiiiiiihhhhhggggggffffeeeeeedddddcccccccbbbaaaaaaa``````_____^^^^^^]]]]]]\\\\\\\\[[[[ZZZZZZZYYYYYYYYXXXXXXXXWWWWWVVVVVVVVVUUUUUUUUUTTTTTTTTTSSSSSSSRRRRRRRRRRRQQQQQQQQQQQQPPPPPPPPPPOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOPPPPPPPPPPQQQQQQQQQQQRRRRRRRRRRRSSSSSSSSTTTTTTTTTUUUUUUUUVVVVVVVVVWWWWWXXXXXXXXXYYYYYYYZZZZZZZZ[[[[\\\\\\\]]]]]]^^^^^^^_____``````aaaaaabbbbccccccdddddeeeeeeffffgggggghhhhhiiiiiiijjkkkkkklllllmmmmmnnnnooooopppppqqqqrrrrrssssstttttuuuuvvvvvwwwwwxxxxxyyzyyxxxxxwwwwwvvvvvuuutttttsssssrrrrrqqqqpppppooooonnnnmmmmmlllllkkkkkjjjjiiiiiihhhhhggggggffffeeeeeddddddccccccbbbbaaaaaa```````___^^^^^^^]]]]]]]\\\\\\[[[[[ZZZZZZZZYYYYYYYXXXXXXXXWWWWWVVVVVVVVVUUUUUUUTTTTTTTTTTSSSSSSRRRRRRRRRRRRQQQQQQQQQQQPPPPPPPPPOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOPPPPPPPPPQQQQQQQQQQQRRRRRRRRRRRSSSSSSTTTTTTTTTTUUUUUUUUVVVVVVVVVWWWWWXXXXXXXYYYYYYYYZZZZZZZ[[[[[\\\\\\]]]]]]]]^^^^^^____``````aaaaaabbbbccccccdddddddeeeeefffggggggghhhhhiiiiiijjjjkkkkklllllmmmmmnnnooooopppppqqqqrrrrrssssstttttuuuuvvvvvwwwwwxxxxxyyyyxxxwwwwwvvvvvuuuutttttsssssrrrrrqqqqpppppooooonnnnmmmmmlllllkkkkkjjjiiiiiiihhhhhggggggffffeeeeeddddddccccccbbbbaaaaaa``````____^^^^^^]]]]]]]\\\\\\\[[[[ZZZZZZZYYYYYYYYXXXXXXXWWWWWVVVVVVVVVUUUUUUUUTTTTTTTTTTSSSSSSRRRRRRRRRRQQQQQQQQQQQPPPPPPPPPOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOPPPPPPPPQQQQQQQQQQQQRRRRRRRRRRSSSSSSTTTTTTTTTTUUUUUUUVVVVVVVVVWWWWWXXXXXXXXYYYYYYYZZZZZZZZ[[[\\\\\\\\]]]]]]^^^^^^____``````aaaaaaabbbcccccccddddddeeeeeffffgggggghhhhhiiiiiijjjjkkkkklllllmmmmmnnnnooooopppppqqqrrrrrssssstttttuuuuvvvvvwwwwwxxxxyyxxxxxwwwwwvvvvuuuutttttsssssrrrrrqqqqpppppooooonnnmmmmmlllllkkkkkjjjjiiiiiihhhhhgggggffffeeeeeedddddddcccccbbbaaaaaaa``````_____^^^^^^]]]]]]\\\\\\\[[[[[ZZZZZZYYYYYYYXXXXXXXXWWWWWVVVVVVVVVUUUUUUUTTTTTTTTTSSSSSSRRRRRRRRRRQQQQQQQQQQQPPPPPPPPOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOPPPPPPPQQQQQQQQQQQRRRRRRRRRRSSSSSSSTTTTTTTTUUUUUUUUVVVVVVVVVWWWWWXXXXXXXYYYYYYYYZZZZZZ[[[[[\\\\\\]]]]]]^^^^^^^_____``````aaaaaabbbbcccccddddddeeeeeeffffggggghhhhhiiiiiijjjjkkkkklllllmmmmmnnnnooooopppppqqqqrrrrrssssstttttuuuvvvvwwwwwxxxxxyxxxxwwwwwvvvvvuuutttttsssssrrrrrqqqpppppooooonnnnmmmmmlllllkkkkkjjjjiiiiiihhhhhgggggffffeeeeeedddddccccccbbbbaaaaaa```````___^^^^^^^]]]]]]\\\\\\\[[[[ZZZZZZZZYYYYYYXXXXXXXWWWWWVVVVVVVVVUUUUUUUUTTTTTTTTSSSSSSSRRRRRRRRRRQQQQQQQQQQPPPPPPPOOOOOOOOOOOOOONNNNNNNNNNNNNNNMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNOOOOOOOOOOOOOPPPPPPPPQQQQQQQQQQRRRRRRRRRRSSSSSSTTTTTTTTTUUUUUUUVVVVVVVVVWWWWWXXXXXXXXYYYYYYZZZZZZZ[[[[\\\\\\\\]]]]]]^^^^^^____``````aaaaaabbbbccccccdddddeeeeeeefffggggghhhhhiiiiiiijjjkkkkklllllmmmmmnnnnooooopppppqqqqrrrrrssssstttttuuvvvvvwwwwwxxxxxxxxwwwwwvvvvvuutttttsssssrrrrrqqqqpppppooooonnnnmmmmmlllllkkkkkjjjjiiiiiihhhhhgggggffffeeeeeedddddccccccbbbbaaaaaa``````____^^^^^^]]]]]]]\\\\\\[[[[[ZZZZZZYYYYYYYYXXXXXXXWWWWWVVVVVVVVUUUUUUUTTTTTTTTTSSSSSSRRRRRRRRRQQQQQQQQQQPPPPPPPOOOOOOOOOOOOONNNNNNNNNNNNNNNMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNOOOOOOOOOOOOPPPPPPPPQQQQQQQQQQRRRRRRRRSSSSSSSTTTTTTTTUUUUUUUUVVVVVVVWWWWWXXXXXXXXYYYYYYYZZZZZZZ[[[[[\\\\\\]]]]]]^^^^^^____``````aaaaaaabbbcccccccdddddeeeeeeffffggggghhhhhiiiiiijjjjkkkkklllllmmmmmnnnooooopppppqqqqrrrrrssssstttttuuuvvvvvwwwwwxxxxxwwwwwvvvvvuuuttttsssssrrrrrqqqqpppppooooonnnnmmmmmlllllkkkkkjjjiiiiihhhhhhhgggggfffeeeeeeedddddccccccbbbbaaaaaa`````_____^^^^^^]]]]]]\\\\\\\[[[ZZZZZZZZYYYYYYXXXXXXXXWWWWWVVVVVVVUUUUUUUUTTTTTTTTSSSSSSSRRRRRRRRQQQQQQQQQQPPPPPPPPOOOOOOOOOOONNNNNNNNNNNNNNMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNOOOOOOOOOOOOPPPPPPPQQQQQQQQQQRRRRRRRRRSSSSSSTTTTTTTTTUUUUUUUVVVVVVVVWWWWWXXXXXXXYYYYYYYZZZZZZZ[[[[\\\\\\]]]]]]^^^^^^^_____`````aaaaaabbbbccccccdddddeeeeeeffffggggghhhhhhiiiiijjjjkkkkklllllmmmmmnnnnooooopppppqqqrrrrrsssssttttuuuuvvvvvwwwwwxxwwwwwvvvvvuuuutttttsssssrrrrrqqqpppppooooonnnmmmmmlllllkkkkkjjjjiiiiihhhhhhgggggffffeeeeeddddddcccccccbbbaaaaa```````___^^^^^^^]]]]]]\\\\\\[[[[[ZZZZZZYYYYYYYYXXXXXXWWWWWVVVVVVVVUUUUUUUTTTTTTTTTSSSSSRRRRRRRRRRQQQQQQQQQPPPPPPPOOOOOOOOOOONNNNNNNNNNNNNMMMMMMMMMMMMMMMLLLLLLLLLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLMMMMMMMMMMMMMMMNNNNNNNNNNNNOOOOOOOOOOOPPPPPPPPQQQQQQQQQRRRRRRRRRRSSSSSTTTTTTTTUUUUUUUUVVVVVVVWWWWWXXXXXXXYYYYYYYZZZZZZ[[[[[\\\\\\\]]]]]]^^^^^^____``````aaaaabbbbccccccddddddeeeeeffffggggghhhhhhiiiiijjjjkkkkklllllmmmmmnnnnooooopppppqqrrrrrssssstttttuuuuvvvvvwwwwwxwwwwvvvvvuuuutttttsssssrrrrrqqpppppooooonnnnmmmmmlllllkkkkkjjjjiiiiihhhhhhgggggffffeeeeeddddddcccccbbbbaaaaaa``````____^^^^^^]]]]]]]\\\\\\[[[[ZZZZZZZYYYYYYXXXXXXXXWWWWVVVVVVVUUUUUUUUUTTTTTTTSSSSSRRRRRRRRRQQQQQQQQQQPPPPPPOOOOOOOOOOOONNNNNNNNNNNNMMMMMMMMMMMMMMLLLLLLLLLLLKKKKKKKKKKKKKKKKKKKKKKKKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLMMMMMMMMMMMMMNNNNNNNNNNNNNOOOOOOOOOOOPPPPPPQQQQQQQQQQRRRRRRRRRSSSSSTTTTTTTTUUUUUUUUVVVVVVVVWWWWXXXXXXXYYYYYYZZZZZZZZ[[[[\\\\\\]]]]]]^^^^^^____``````aaaaaaabbbcccccdddddddeeeeefffggggghhhhhhhiiiiijjjkkkkklllllmmmmmnnnnooooopppppqqqrrrrrssssstttttuuuvvvvvwwwwxwwwwvvvvvuuutttttsssssrrrrrqqpppppooooonnnnmmmmmlllllkkkkkjjjjiiiiihhhhhhgggggffffeeeeeddddddcccccbbbbaaaaaa``````____^^^^^^]]]]]]\\\\\\\[[[ZZZZZZZYYYYYYYXXXXXXWWWWWVVVVVVVVUUUUUUUTTTTTTTTSSSSSRRRRRRRRRQQQQQQQQQQPPPPPPOOOOOOOOOONNNNNNNNNNNMMMMMMMMMMMMMMLLLLLLLLLLKKKKKKKKKKKKKKKKKKKKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLMMMMMMMMMMMMMNNNNNNNNNNNNOOOOOOOOOOPPPPPPQQQQQQQQQQRRRRRRRRRSSSSSTTTTTTTUUUUUUUUVVVVVVVWWWWWXXXXXXYYYYYYYYZZZZZZ[[[[\\\\\\]]]]]]^^^^^^^___```````aaaaaabbbbcccccddddddeeeeeffffggggghhhhhhiiiiijjjjkkkkklllllmmmmmnnnooooopppppqqqrrrrrssssstttttuuvvvvvwwwwwwwwvvvvvuutttttsssssrrrrrqqqqpppppooooonnnmmmmmlllllkkkkkkjjiiiiihhhhhhhgggggfffeeeeedddddddcccccbbbaaaaaaa`````_____^^^^^]]]]]]\\\\\\[[[[[ZZZZZZYYYYYYYXXXXXXWWWWWVVVVVVVUUUUUUUUTTTTTTTSSSSSRRRRRRRRRQQQQQQQQQPPPPPPOOOOOOOOOONNNNNNNNNNNMMMMMMMMMMMMMLLLLLLLLLLKKKKKKKKKKKKKKKKKKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKLLLLLLLLLLMMMMMMMMMMMMNNNNNNNNNNNOOOOOOOOOOPPPPPPPQQQQQQQQRRRRRRRRRSSSSSTTTTTTTTUUUUUUUVVVVVVVVWWWWWXXXXXXYYYYYYZZZZZZ[[[[[\\\\\\\]]]]]]^^^^^_____`````aaaaaabbbbcccccddddddeeeeeffffggggghhhhhhiiiiijjjkkkkkklllllmmmmmnnooooopppppqqqqrrrrrssssstttttuuuvvvvvwwwwwvvvvvuutttttsssssrrrrrqqqqpppppooooonnmmmmmlllllkkkkkkkjjiiiiihhhhhhgggggffffeeeeeddddddcccccbbbbaaaaaa`````____^^^^^^]]]]]]]\\\\\\[[[[ZZZZZZYYYYYYYXXXXXXXWWWWWVVVVVVUUUUUUUTTTTTTTTSSSSSSRRRRRRRRQQQQQQQQPPPPPPPOOOOOOOOOONNNNNNNNNNMMMMMMMMMMMMLLLLLLLLLKKKKKKKKKKKKKKKKJJJJJJJJJJJJJJJJJJJJJJJJJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKLLLLLLLLMMMMMMMMMMMMMNNNNNNNNNNOOOOOOOOOOPPPPPPQQQQQQQQQRRRRRRRSSSSSSSTTTTTTTUUUUUUUUVVVVVVWWWWWXXXXXXYYYYYYYYZZZZZZ[[[[\\\\\\]]]]]]^^^^^^____`````aaaaaabbbbcccccddddddeeeeeffffggggghhhhhhiiiiijjjkkkkkklllllmmmmmnnnooooopppppqqqrrrrrssssstttttuuuvvvvvwwvvvvvuuuutttttssssrrrrrqqqqpppppooooonnmmmmmllllllkkkkkjjjiiiiiihhhhhgggggffffeeeeedddddccccccbbbbaaaaa``````____^^^^^^]]]]]]\\\\\\\[[[ZZZZZZZYYYYYYXXXXXXWWWWWVVVVVVVVUUUUUUTTTTTTTSSSSSSSRRRRRRRQQQQQQQQQPPPPPPOOOOOOOOONNNNNNNNNNNMMMMMMMMMMMLLLLLLLLLKKKKKKKKKKKKKKKJJJJJJJJJJJJJJJJJJJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKLLLLLLLLLMMMMMMMMMMMNNNNNNNNNNNNOOOOOOOOPPPPPPPQQQQQQQQRRRRRRRRSSSSSSTTTTTTTTUUUUUUVVVVVVVWWWWWXXXXXXXYYYYYYZZZZZZ[[[[\\\\\\]]]]]]^^^^^^^___```````aaaaabbbcccccccdddddeeeeefffggggghhhhhiiiiiiijjkkkkkllllllmmmmmnnnooooopppppqqqqrrrrrssstttttuuuuvvvvvwvvvvuuuutttttsssssrrrrqqqpppppooooonnnnmmmmmlllllkkkkkjjjiiiiiihhhhhgggggffffeeeeedddddccccccbbbbaaaaa``````____^^^^^^]]]]]\\\\\\[[[[[ZZZZZZYYYYYYYXXXXXXWWWWWVVVVVVUUUUUUUUTTTTTTTSSSSSRRRRRRRRQQQQQQQQPPPPPPPOOOOOOOONNNNNNNNNNMMMMMMMMMMMMLLLLLLLKKKKKKKKKKKKKKKJJJJJJJJJJJJJJJJJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKLLLLLLLLMMMMMMMMMMMNNNNNNNNNNOOOOOOOOOPPPPPPQQQQQQQQQRRRRRRRSSSSSTTTTTTTTUUUUUUUVVVVVVVWWWWWXXXXXXYYYYYYZZZZZZ[[[[[\\\\\\\]]]]]^^^^^^____``````aaaaabbbbccccccdddddeeeeeffffggggghhhhhiiiiiijjkkkkklllllmmmmmnnnnooooopppppqqqqrrrrssssstttttuuuvvvvwvvvvuuutttttsssssrrrrrqqpppppooooonnnnmmmmmlllllkkkkkjjiiiiiiihhhhhgggggfffeeeeedddddcccccccbbbaaaaa```````___^^^^^]]]]]]]\\\\\\[[[[ZZZZZZYYYYYYXXXXXXWWWWWVVVVVVVVUUUUUUTTTTTTTTSSSSSRRRRRRRQQQQQQQQQPPPPPOOOOOOOOOONNNNNNNNNMMMMMMMMMMMLLLLLLLKKKKKKKKKKKKKKJJJJJJJJJJJJJJJJIIIIIIIIIIIIIIIIIIIIIIIIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKLLLLLLLLMMMMMMMMMMMNNNNNNNNNOOOOOOOOOOPPPPPQQQQQQQQRRRRRRRRSSSSSTTTTTTTUUUUUUUVVVVVVVWWWWWXXXXXXYYYYYYYZZZZZZ[[[[\\\\\\]]]]]]^^^^^____``````aaaaabbbbccccccdddddeeeeeffffggggghhhhhiiiiiijjjkkkkklllllmmmmmnnnooooopppppqqqrrrrrssssstttttuuvvvvvvvvuutttttsssssrrrrrqqqpppppooooonnnnmmmmmlllllkkkkkjjjiiiiihhhhhgggggffffeeeeedddddccccccbbbbaaaaa``````____^^^^^]]]]]]\\\\\\\[[[ZZZZZZZYYYYYYXXXXXXWWWWWVVVVVVUUUUUUUUTTTTTTSSSSSRRRRRRRRQQQQQQQQPPPPPOOOOOOOOONNNNNNNNNNMMMMMMMMMMLLLLLLLLKKKKKKKKKKKKJJJJJJJJJJJJJJJIIIIIIIIIIIIIIIIIIIIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJKKKKKKKKKKKKKLLLLLLLMMMMMMMMMMNNNNNNNNNNOOOOOOOOOPPPPPQQQQQQQQQRRRRRRRSSSSSTTTTTTTUUUUUUUVVVVVVWWWWWXXXXXXXYYYYYYZZZZZZ[[[[\\\\\\]]]]]]^^^^^____``````aaaaabbbbccccccdddddeeeeeffffggggghhhhhiiiiijjjjkkkkklllllmmmmmnnnnooooopppppqqrrrrrssssstttttuuuvvvvvuuuttttsssssrrrrrqqqqppppooooonnnmmmmmlllllkkkkkjjjjiiiiihhhhhgggggffffeeeeedddddccccccbbbbaaaaa`````____^^^^^^]]]]]]\\\\\[[[[[ZZZZZZYYYYYYYXXXXXXWWWWVVVVVVUUUUUUUTTTTTTTTSSSSSRRRRRRRQQQQQQQQPPPPPOOOOOOOOONNNNNNNNNNMMMMMMMMLLLLLLLLKKKKKKKKKKKKJJJJJJJJJJJJJJIIIIIIIIIIIIIIIIIIHHHHHHHHHHHHHHHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJKKKKKKKKKKKKKLLLLLLLMMMMMMMMMNNNNNNNNNNOOOOOOOOOPPPPPQQQQQQQRRRRRRRRSSSSSTTTTTTTUUUUUUUUVVVVVVWWWWXXXXXXYYYYYYZZZZZZ[[[[[\\\\\]]]]]]]^^^^^^____`````aaaaabbbcccccccdddddeeeeefffggggghhhhhiiiiijjjjkkkkklllllmmmmmnnnnoooooppppqqqrrrrrsssssttttuuuuvvuuuutttttssssrrrrrqqqqpppppooooonnmmmmmlllllkkkkkjjjjiiiiihhhhhgggggffffeeeeedddddccccccbbaaaaaaa`````___^^^^^^^]]]]]\\\\\\[[[[ZZZZZZYYYYYYXXXXXXWWWWWVVVVVVVUUUUUUTTTTTTTSSSSSRRRRRRRRQQQQQQQPPPPPOOOOOOOOONNNNNNNNNMMMMMMMMMMLLLLLLKKKKKKKKKKKKKJJJJJJJJJJJJIIIIIIIIIIIIIIIIHHHHHHHHHHHHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIJJJJJJJJJJJJJKKKKKKKKKKKKLLLLLLLMMMMMMMMMMNNNNNNNNOOOOOOOOOPPPPPQQQQQQQQRRRRRRRSSSSSTTTTTTTTUUUUUUVVVVVVWWWWWXXXXXXYYYYYYYZZZZZZ[[[[\\\\\\]]]]]^^^^^^____`````aaaaaabbbccccccdddddeeeeeffffggggghhhhhiiiiijjjkkkkklllllmmmmmnnnooooopppppqqqqrrrrrssstttttuuuuvuuutttttsssssrrrrqqqpppppooooonnnmmmmmlllllkkkkkjjjjiiiiihhhhhgggggfffeeeeedddddcccccccbbaaaaaa`````____^^^^^^]]]]]\\\\\\\[[[ZZZZZZZYYYYYYXXXXXXWWWWVVVVVVUUUUUUUUTTTTTTSSSSSRRRRRRRQQQQQQQQPPPPPOOOOOOOOONNNNNNNNMMMMMMMMMMLLLLLLLKKKKKKKKKKKJJJJJJJJJJJJIIIIIIIIIIIIIIHHHHHHHHHHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHIIIIIIIIIIIIIIJJJJJJJJJJJJJKKKKKKKKKKKLLLLLLMMMMMMMMMMNNNNNNNNNOOOOOOOOOPPPPPQQQQQQQRRRRRRRRSSSSSTTTTTTUUUUUUUVVVVVVVWWWXXXXXXXYYYYYYZZZZZZ[[[[\\\\\\]]]]]^^^^^^____`````aaaaaabbbccccccdddddeeeeeffffggggghhhhhiiiiijjjjkkkkklllllmmmmmnnooooopppppqqqqrrrrssssstttttuuvuutttttsssssrrrrrqqpppppooooonnnmmmmmlllllkkkkkjjjiiiiihhhhhgggggffffeeeeedddddccccccbbbaaaaaa`````____^^^^^^]]]]]\\\\\\[[[[ZZZZZZYYYYYYYXXXXXXWWWWVVVVVVUUUUUUTTTTTTTTSSSSSRRRRRRQQQQQQQPPPPPPPOOOOOOONNNNNNNNNMMMMMMMMMLLLLLLKKKKKKKKKKKJJJJJJJJJJJIIIIIIIIIIIIIIHHHHHHHHHHHGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHIIIIIIIIIIIIIIJJJJJJJJJJJKKKKKKKKKKKKLLLLLLMMMMMMMMMNNNNNNNNOOOOOOOOPPPPPPQQQQQQQQRRRRRRSSSSSTTTTTTTUUUUUUUVVVVVVWWWWXXXXXXYYYYYYZZZZZZ[[[[\\\\\\]]]]]^^^^^^^___`````aaaaaaabbccccccdddddeeeeeffffggggghhhhhiiiiijjjjkkkkklllllmmmmmnnooooopppppqqqrrrrrssssstttttuuuutttsssssrrrrrqqqpppppooooonnnnmmmmmlllkkkkkjjjjiiiiihhhhhgggggffffeeeeedddddcccccbbbbaaaaaa`````____^^^^^]]]]]]\\\\\\[[[[ZZZZZYYYYYYXXXXXXWWWWWVVVVVVVUUUUUUTTTTTTSSSSSRRRRRRRRQQQQQQQPPPPPOOOOOOOONNNNNNNNMMMMMMMMMLLLLLLKKKKKKKKKKJJJJJJJJJJJJIIIIIIIIIIIIHHHHHHHHHHHGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHIIIIIIIIIIIIIJJJJJJJJJJJKKKKKKKKKKLLLLLLMMMMMMMMMNNNNNNNNNOOOOOOOPPPPPQQQQQQQQRRRRRRRSSSSSTTTTTTTUUUUUUVVVVVVWWWWWXXXXXXYYYYYYYZZZZZ[[[\\\\\\\]]]]]]^^^^^____`````aaaaaabbbbcccccdddddeeeeefffggggghhhhhiiiiijjjjkkkkkllllmmmmmnnnnooooopppppqqrrrrrsssssttttuutttttssssrrrrrqqqqppppooooonnnmmmmmlllllkkkkkjjjiiiiihhhhhgggggffffeeeeedddddcccccbbbaaaaaaa`````___^^^^^]]]]]]]\\\\\[[[ZZZZZZZYYYYYYXXXXXXWWWWVVVVVVUUUUUUTTTTTTTTSSSSRRRRRRRQQQQQQQQPPPPPOOOOOOONNNNNNNNNMMMMMMMMMLLLLLLKKKKKKKKKJJJJJJJJJJJIIIIIIIIIIIIHHHHHHHHHHGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGHHHHHHHHHHIIIIIIIIIIIIIJJJJJJJJJJJKKKKKKKKKLLLLLLMMMMMMMMMNNNNNNNNOOOOOOOOPPPPPQQQQQQQRRRRRRRRSSSSTTTTTTTUUUUUUVVVVVVVWWWXXXXXXXYYYYYYZZZZZZ[[[[\\\\\]]]]]]^^^^^____`````aaaaaabbbbcccccdddddeeeeeffffggggghhhhhiiiiijjkkkkklllllmmmmmnnnnoooooppppqqqrrrrrsssstttttuttttsssssrrrrqqqqpppppooonnnnmmmmmlllllkkkkkjjjiiiiihhhhhgggggfffeeeeedddddcccccccbbaaaaaa`````____^^^^^]]]]]]\\\\\[[[[ZZZZZZYYYYYYYXXXXXXWWWWVVVVVVUUUUUUTTTTTTSSSSSRRRRRRRQQQQQQQPPPPPOOOOOOOONNNNNNNNMMMMMMMMMLLLLLKKKKKKKKKKJJJJJJJJJJIIIIIIIIIIIIIHHHHHHHHGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGHHHHHHHHHIIIIIIIIIIIIJJJJJJJJJJKKKKKKKKKKLLLLLMMMMMMMMMNNNNNNNNNOOOOOOOPPPPPQQQQQQQQRRRRRRSSSSSTTTTTTUUUUUUUVVVVVVWWWWXXXXXXYYYYYYZZZZZZ[[[[\\\\\]]]]]]^^^^^____`````aaaaaabbbccccccdddddeeeeeffffggggghhhhhiiiiijjkkkkklllllmmmmmnnnnoooopppppqqqqrrrsssssttttttttsssssrrrrrqqpppppooooonnnmmmmmlllllkkkkkjjiiiiihhhhhgggggffffeeeeedddddccccccbbbaaaaaa`````____^^^^^]]]]]]\\\\\[[[[ZZZZZZYYYYYXXXXXXWWWWWVVVVVVVUUUUUUTTTTTTSSSSRRRRRRRQQQQQQQQPPPPOOOOOOONNNNNNNNNMMMMMMMLLLLLLLKKKKKKKKKKJJJJJJJJJJIIIIIIIIIIIHHHHHHHGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGHHHHHHHHIIIIIIIIIIIJJJJJJJJJJKKKKKKKKKKLLLLLLMMMMMMMMNNNNNNNNOOOOOOOOPPPPQQQQQQQRRRRRRRRSSSTTTTTTTUUUUUUVVVVVVWWWWWXXXXXXYYYYYZZZZZZZ[[[\\\\\]]]]]]]^^^^^___`````aaaaaaabbccccccdddddeeeeeffffggggghhhhhiiiiijjjkkkkklllllmmmmmnnooooopppppqqqrrrrrssssstttttsssssrrrrrqqpppppooooonnnmmmmmlllllkkkkkjjjiiiiihhhhhgggggfffeeeeedddddccccccbbbaaaaaa`````____^^^^^]]]]]\\\\\\[[[[ZZZZZZYYYYYXXXXXXWWWWVVVVVVUUUUUUTTTTTTTSSSSSRRRRRRQQQQQQQPPPPPOOOOOOOONNNNNNNMMMMMMMMLLLLLLKKKKKKKKKJJJJJJJJJJIIIIIIIIIIIHHHHHHHHGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGHHHHHHHIIIIIIIIIIIIJJJJJJJJJJKKKKKKKKLLLLLLLMMMMMMMNNNNNNNNOOOOOOOPPPPPQQQQQQQQRRRRRRSSSSSTTTTTTUUUUUUVVVVVVVWWWXXXXXXXYYYYYZZZZZZ[[[[\\\\\\]]]]]^^^^^____`````aaaaaabbcccccccdddddeeeeeffggggghhhhhiiiiijjjjkkkkklllllmmmmmnnooooopppppqqqrrrrrsssssttttsssrrrrrqqqqppppooooonnnnmmmlllllkkkkkjjjjiiiiihhhhhgggggfffeeeeedddddccccccbbaaaaaaa`````___^^^^^]]]]]\\\\\\\[[[ZZZZZYYYYYYYXXXXXXWWWWVVVVVVUUUUUUTTTTTTSSSSRRRRRRRRQQQQQQPPPPPOOOOOOONNNNNNNNMMMMMMMLLLLLLLKKKKKKKKJJJJJJJJJJIIIIIIIIIIHHHHHHHHGGGGGGGGGGGGFFFFFFFFFFFFFFFFFEEEEEEEEEEEEEEEEEEEEEEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFGGGGGGGGGGGGGHHHHHHHIIIIIIIIIIJJJJJJJJJJKKKKKKKKKLLLLLLMMMMMMMMNNNNNNNOOOOOOOOPPPPPQQQQQQRRRRRRRSSSSTTTTTTUUUUUUUVVVVVVWWWWXXXXXXYYYYYYZZZZZ[[[[\\\\\\]]]]]^^^^^____`````aaaaaabbbccccccdddddeeeeeffggggghhhhhiiiiijjjjkkkkklllllmmmmnnnnooooopppqqqqrrrrrssssttsssssrrrrqqqqpppppoooonnnmmmmmllllkkkkkjjjjiiiiihhhhhgggggffeeeeedddddddcccccbbaaaaaa`````____^^^^^]]]]]\\\\\\[[[[ZZZZZYYYYYYXXXXXXXWWWVVVVVVVUUUUUUTTTTTTSSSSRRRRRRQQQQQQQQPPPOOOOOOOONNNNNNNMMMMMMMMMLLLLLKKKKKKKKKJJJJJJJJJIIIIIIIIIIHHHHHHHGGGGGGGGGGGGGFFFFFFFFFFFFFEEEEEEEEEEEEEEEEEEEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFGGGGGGGGGGGGHHHHHHHHIIIIIIIIIIJJJJJJJJJKKKKKKKKLLLLLMMMMMMMMMNNNNNNNNOOOOOOOPPPPQQQQQQQRRRRRRRSSSTTTTTTTUUUUUUVVVVVVWWWWXXXXXXYYYYYYZZZZZ[[[[\\\\\\]]]]]^^^^^____`````aaaaaabbbcccccddddddeeeeefffggggghhhhhiiiiijjjkkkkkllllmmmmmnnnnoooopppppqqqrrrrssssstssssrrrrrqqqpppppooooonnmmmmmlllllkkkkkjjjiiiiihhhhhgggggfffeeeeedddddcccccbbbaaaaaa`````____^^^^^]]]]]\\\\\\[[[[ZZZZZYYYYYYXXXXXWWWWVVVVVVUUUUUUTTTTTTTSSSSSRRRRRRQQQQQQPPPPPOOOOOOOONNNNNNMMMMMMMMMLLLLLKKKKKKKKJJJJJJJJJIIIIIIIIIIHHHHHHGGGGGGGGGGGGFFFFFFFFFFFFFEEEEEEEEEEEEEEEEEEDDDDDDDDDDDDDDDDDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFGGGGGGGGGGGHHHHHHIIIIIIIIIIJJJJJJJJJKKKKKKKKKLLLLLMMMMMMMMMNNNNNNOOOOOOOPPPPPQQQQQQQRRRRRRSSSSSTTTTTTUUUUUUVVVVVVVWWWXXXXXYYYYYYYZZZZZ[[[\\\\\\\]]]]]^^^^^___`````aaaaaaabbcccccdddddeeeeeffffggggghhhhhiiiiijjkkkkklllllmmmmmnnnooooopppppqqrrrrrssssssssrrrrrqqpppppooooonnnmmmmmlllllkkkkkjjiiiiihhhhhgggggffffeeeeedddddcccccbbbbaaaaa`````____^^^^^]]]]]\\\\\\[[[[ZZZZZYYYYYYXXXXXWWWWVVVVVVUUUUUUTTTTTTSSSSRRRRRRQQQQQQQQPPPPOOOOOOONNNNNNNNMMMMMMMLLLLLKKKKKKKKKJJJJJJJJJIIIIIIIIHHHHHHHGGGGGGGGGGGFFFFFFFFFFFFFFEEEEEEEEEEEEEEEDDDDDDDDDDDDDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDEEEEEEEEEEEEEEEFFFFFFFFFFFFFFGGGGGGGGGGGHHHHHHIIIIIIIIIJJJJJJJJJKKKKKKKKLLLLLMMMMMMMMNNNNNNNOOOOOOOOPPPPQQQQQQQRRRRRRSSSSTTTTTTUUUUUUUVVVVVVWWWWXXXXXYYYYYYZZZZZ[[[[\\\\\\]]]]]^^^^^____`````aaaaabbbcccccdddddeeeeeffffggggghhhhhiiiiijjjkkkkklllllmmmmmnnooooopppppqqqrrrrrsssssrrrrrqqqppppooooonnnnmmmmlllllkkkkkjjiiiiihhhhhgggggffffeeeeedddddcccccbbbbaaaaa`````___^^^^^]]]]]\\\\\\\[[ZZZZZZYYYYYXXXXXXXWWWVVVVVVVUUUUUUTTTTTTSSSSRRRRRRQQQQQQPPPPPOOOOOOONNNNNNNMMMMMMMMLLLLLKKKKKKKKJJJJJJJJIIIIIIIIIIHHHHHHGGGGGGGGGGFFFFFFFFFFFFFEEEEEEEEEEEEEEEDDDDDDDDDDDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDEEEEEEEEEEEEEEEFFFFFFFFFFFFGGGGGGGGGGHHHHHHHIIIIIIIIIIJJJJJJJKKKKKKKKKLLLLLMMMMMMMNNNNNNNNOOOOOOPPPPPQQQQQQRRRRRRRSSSTTTTTTTUUUUUUVVVVVVWWWWXXXXXXYYYYYZZZZZZ[[[\\\\\\]]]]]^^^^^____`````aaaaabbbbcccccdddddeeeeefffggggghhhhhiiiiijjjkkkkklllllmmmmnnnoooooppppqqqqrrrrrssssrrrqqqqpppppoooonnnnmmmmmlllkkkkkjjjjiiiiihhhhgggggffffeeeeedddddcccccbbbaaaaa`````____^^^^^]]]]]\\\\\[[[[ZZZZZZYYYYYXXXXXXWWWWVVVVVVUUUUUTTTTTTTSSSSSRRRRRRQQQQQQPPPPOOOOOOONNNNNNNMMMMMMMLLLLLKKKKKKKKKJJJJJJJIIIIIIIIIHHHHHHHHGGGGGGGGGGFFFFFFFFFFFEEEEEEEEEEEEEEDDDDDDDDDDCCCCCCCCCCCCCCCCCCCCCCCCCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDEEEEEEEEEEEEEEFFFFFFFFFFFGGGGGGGGGGHHHHHHHIIIIIIIIIJJJJJJJJKKKKKKKKLLLLLMMMMMMMMNNNNNNOOOOOOOOPPPQQQQQQQRRRRRRSSSSSTTTTTTUUUUUVVVVVVWWWWXXXXXXYYYYYZZZZZZZ[[[\\\\\]]]]]^^^^^____`````aaaaabbbbcccccdddddeeeeeffffggggghhhiiiiijjjjkkkkkllllmmmmmnnnnooopppppqqqqrrrrssrrrrrqqqpppppooooonnmmmmmlllllkkkkjjjjiiiiihhhhhggggfffeeeeedddddcccccbbbbaaaaa`````____^^^^^]]]]]\\\\\[[[[ZZZZZZYYYYYXXXXXXWWWWVVVVVUUUUUUTTTTTTSSSSRRRRRRQQQQQQQPPPPPOOOOOONNNNNNNMMMMMMMMLLLLLKKKKKKKJJJJJJJJIIIIIIIIIHHHHHHGGGGGGGGGGFFFFFFFFFFFEEEEEEEEEEEEEDDDDDDDDDDCCCCCCCCCCCCCCCCCCCCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDEEEEEEEEEEEEFFFFFFFFFFFFGGGGGGGGGGHHHHHHIIIIIIIIIJJJJJJJKKKKKKKKLLLLLMMMMMMMNNNNNNNNOOOOOOPPPPPQQQQQQRRRRRRSSSSTTTTTTUUUUUUUVVVVVWWWXXXXXXXYYYYYZZZZZZ[[[[\\\\\]]]]]^^^^^___`````aaaaabbbbcccccdddddeeeeeffffgggghhhhhiiiiijjjkkkklllllmmmmmnnnooooopppppqqrrrrrsrrrrqqqpppppooooonnmmmmmlllllkkkkkjjjiiiiihhhhhgggggffeeeeedddddcccccbbbbaaaaa`````____^^^^^]]]]]\\\\\[[[ZZZZZZZYYYYYXXXXXXWWWWVVVVVUUUUUUTTTTTTSSSSRRRRRRQQQQQQPPPPOOOOOOOONNNNNNMMMMMMMLLLLLKKKKKKKKJJJJJJJIIIIIIIIIHHHHHHGGGGGGGGGGFFFFFFFFFFEEEEEEEEEEEEEDDDDDDDDDCCCCCCCCCCCCCCCCCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCDDDDDDDDDEEEEEEEEEEEEFFFFFFFFFFGGGGGGGGGGHHHHHHIIIIIIIIIJJJJJJJJKKKKKKKLLLLLMMMMMMMMNNNNNNOOOOOOOPPPPQQQQQQRRRRRRRSSSTTTTTTTUUUUUUVVVVVWWWWXXXXXXYYYYYZZZZZZ[[[[\\\\\]]]]]^^^^^____`````aaaaabbbcccccdddddeeeeefffggggghhhhhiiiiijjkkkkklllllmmmmmnnnooooopppppqqrrrrrrrrqqqqpppooooonnnnmmmmlllllkkkkkjjiiiiihhhhhgggggfffeeeeedddddcccccbbbbaaaaa`````___^^^^^]]]]]\\\\\[[[[ZZZZZZYYYYYXXXXXWWWWVVVVVVUUUUUUUTTTTTSSSSSRRRRRRQQQQQQPPPPOOOOOONNNNNNNNMMMMMMLLLLLKKKKKKKJJJJJJJJIIIIIIIIIHHHHHHGGGGGGGGGFFFFFFFFFFEEEEEEEEEEEDDDDDDDDDCCCCCCCCCCCCCCCCBBBBBBBBBBBBBBBBBBBBBBBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCDDDDDDDDDEEEEEEEEEEEFFFFFFFFFFGGGGGGGGGHHHHHHIIIIIIIIIJJJJJJJKKKKKKKKLLLLLMMMMMMNNNNNNNOOOOOOOPPPQQQQQQQRRRRRRSSSSSTTTTTUUUUUUVVVVVVWWWWXXXXXYYYYYZZZZZZ[[[[\\\\\]]]]]^^^^^____`````aaaaabbbbcccccdddddeeeeeffggggghhhhhiiiiijjjkkkkklllllmmmnnnnoooooppppqqqqrrrrrrqqpppppoooonnnnmmmmmllllkkkkkjjjiiiihhhhhgggggffffeeeeeddddcccccbbbaaaaa`````____^^^^^]]]]]\\\\\[[[[ZZZZZZYYYYYXXXXXWWWWVVVVVVUUUUUTTTTTTSSSSRRRRRRQQQQQQQPPPPPOOOOOONNNNNNMMMMMMMMLLLKKKKKKKKJJJJJJJJJIIIIIIIHHHHHHGGGGGGGGGFFFFFFFFFFEEEEEEEEEEDDDDDDDDDCCCCCCCCCCCCCCBBBBBBBBBBBBBBBBBBBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCDDDDDDDDEEEEEEEEEEFFFFFFFFFFGGGGGGGGGHHHHHHIIIIIIIIJJJJJJJJJKKKKKKKLLLLMMMMMMMNNNNNNNOOOOOOPPPPPQQQQQQRRRRRRSSSSTTTTTTUUUUUVVVVVVVWWWXXXXXYYYYYZZZZZZZ[[[\\\\\]]]]]^^^^^____`````aaaaabbbbcccccddddeeeeefffggggghhhhhiiiijjjjkkkkkllllmmmmmnnnoooopppppqqqrrrrrqqpppppooooonnnmmmmmlllllkkkjjjjiiiiihhhhgggggffffeeeeedddddcccccbbaaaaa`````____^^^^^]]]]]\\\\\[[[[ZZZZZYYYYYYXXXXXWWWWVVVVVVUUUUUTTTTTTSSSSRRRRRRQQQQQQPPPPOOOOOONNNNNNNNMMMMMMLLLLLKKKKKKKKJJJJJJJIIIIIIIIHHHHHGGGGGGGGGGFFFFFFFFEEEEEEEEEEDDDDDDDDDCCCCCCCCCCCCCBBBBBBBBBBBBBBBBBAAAAAAAAAAAAAAAAAA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBCCCCCCCCCCCCDDDDDDDDDEEEEEEEEEEFFFFFFFFFGGGGGGGGGGHHHHHIIIIIIIJJJJJJJJKKKKKKKLLLLLMMMMMMMNNNNNNNOOOOOOPPPPQQQQQQRRRRRRRSSSTTTTTTTUUUUUVVVVVVWWWWXXXXXYYYYYYZZZZZ[[[[\\\\\]]]]]^^^^^___`````aaaaabbbcccccdddddeeeeeffffggggghhhiiiiijjjjkkkklllllmmmmmnnooooopppppqqqrrqqqqppppooooonnmmmmmlllllkkkkkjjjiiiiihhhhhggggfffeeeeedddddcccccbbbaaaaa`````____^^^^^]]]]]\\\\\[[[ZZZZZYYYYYYYXXXXXWWWVVVVVVVUUUUUTTTTTTSSSSRRRRRRQQQQQQPPPPOOOOOONNNNNNMMMMMMMMLLLLKKKKKKKJJJJJJJJIIIIIIIHHHHHGGGGGGGGGFFFFFFFFFFEEEEEEEEEEDDDDDDDCCCCCCCCCCCCCBBBBBBBBBBBBBBBAAAAAAAAAAAAAA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAABBBBBBBBBBBBBBBCCCCCCCCCCCCDDDDDDDDEEEEEEEEEEFFFFFFFFFFGGGGGGGGHHHHHIIIIIIIIJJJJJJJKKKKKKKKLLLLMMMMMMMNNNNNNOOOOOOOPPPQQQQQQQRRRRRRSSSSTTTTTTUUUUUVVVVVVWWWWXXXXXYYYYYYZZZZZ[[[[\\\\\]]]]]^^^^^____`````aaaaabbcccccdddddeeeeeffffgggghhhhhiiiiijjkkkkklllllmmmmmnnnooooopppqqqqrqqqpppppoooonnnmmmmlllllkkkkkjjjiiiiihhhhhgggggffeeeeedddddcccccbbbaaaaa`````___^^^^^]]]]]\\\\\[[[[ZZZZZYYYYYYXXXXXWWWWVVVVVUUUUUUTTTTTTTSSSRRRRRQQQQQQQPPPPPOOOOOONNNNNNMMMMMMLLLLLKKKKKKKJJJJJJJIIIIIIIIHHHHHHGGGGGGGFFFFFFFFFEEEEEEEEEEDDDDDDDDCCCCCCCCCCCBBBBBBBBBBBBBBBAAAAAAAAAAA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAABBBBBBBBBBBBBBBCCCCCCCCCCCDDDDDDDEEEEEEEEEEFFFFFFFFFGGGGGGGGHHHHHHIIIIIIIJJJJJJJJKKKKKKLLLLLMMMMMMNNNNNNNOOOOOOPPPPPQQQQQQRRRRRSSSSTTTTTTUUUUUUVVVVVWWWWXXXXXYYYYYYZZZZZ[[[[\\\\\]]]]]^^^^^____`````aaaaabbcccccdddddeeeeefffggggghhhhhiiiiijjkkkkklllllmmmmnnnnoooopppppqqqqqpppppooonnnnmmmmmllllkkkkkjjjjiiihhhhhgggggfffeeeeedddddcccccbbbbaaaaa`````__^^^^^]]]]]\\\\\[[[[ZZZZZYYYYYYXXXXXWWWWVVVVVUUUUUUTTTTTSSSSRRRRRRQQQQQQPPPPOOOOOONNNNNNNMMMMMMMLLLLKKKKKKKJJJJJJJIIIIIIIHHHHHHGGGGGGGGFFFFFFFFFEEEEEEEEEEDDDDDDCCCCCCCCCCCBBBBBBBBBBBBBBAAAAAAAAAA@@@@@@@@@@@@@@@@@@@@@@@@??????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCDDDDDDEEEEEEEEEEFFFFFFFFFGGGGGGGHHHHHHIIIIIIIIJJJJJJKKKKKKKKLLLMMMMMMMMNNNNNNOOOOOOPPPPQQQQQQRRRRRRRSSSTTTTTUUUUUUUVVVVVWWWXXXXXYYYYYYYZZZZZ[[[\\\\\]]]]]^^^^^___`````aaaaabbbbcccccdddddeeeeeffggggghhhhhiiiijjjjkkkkklllmmmmmnnnnoooopppppqqqqpppooooonnnmmmmmlllllkkkkjjjiiiiihhhhgggggffffeeeedddddcccccbbbaaaaa`````___^^^^^]]]]]\\\\\\[[[ZZZZZYYYYYYXXXXXWWWWVVVVVUUUUUUTTTTTSSSSRRRRRRQQQQQQPPPPOOOOOONNNNNNMMMMMMMLLLLLKKKKKKJJJJJJJIIIIIIIIHHHHHGGGGGGGFFFFFFFFFEEEEEEEEEDDDDDDDCCCCCCCCCCBBBBBBBBBBBBBAAAAAAAAAA@@@@@@@@@@@@@@@@@@@??????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@AAAAAAAAAABBBBBBBBBBBBCCCCCCCCCCDDDDDDDDEEEEEEEEFFFFFFFFFGGGGGGGGHHHHHIIIIIIIJJJJJJJJKKKKKKLLLLLMMMMMMNNNNNNOOOOOOOPPPQQQQQQQRRRRRRSSSSTTTTTUUUUUUVVVVVWWWWXXXXXYYYYYYZZZZZ[[\\\\\\\]]]]]^^^^^__`````aaaaabbbbcccccdddddeeeefffggggghhhhiiiiijjjjkkkklllllmmmmmnnoooooppppqqppppooooonnnnmmmmlllllkkkkkjjiiiiihhhhhggggffffeeeeedddcccccbbbbaaaaa`````___^^^^^]]]]]\\\\\\[[ZZZZZYYYYYYYXXXXXWWWVVVVVUUUUUUUTTTTTSSSRRRRRRRQQQQQPPPPPOOOOOONNNNNNMMMMMMLLLLKKKKKKKKJJJJJJIIIIIIIHHHHHGGGGGGGGFFFFFFFFFEEEEEEEEDDDDDDDCCCCCCCCCCBBBBBBBBBBBBAAAAAAAAA@@@@@@@@@@@@@@@@?????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@AAAAAAAABBBBBBBBBBBBBCCCCCCCCCCDDDDDDEEEEEEEEEFFFFFFFFFGGGGGGGHHHHHIIIIIIIIJJJJJJKKKKKKKLLLLMMMMMMNNNNNNNOOOOOOPPPPPQQQQQRRRRRRSSSSTTTTTUUUUUUVVVVVWWWWXXXXXYYYYYYZZZZZ[[[\\\\\\]]]]]^^^^^__`````aaaaabbbbcccccddddeeeeeffffggghhhhhiiiiijjjkkkkklllllmmmmnnnoooooppppqppppoooonnnnmmmlllllkkkkkjjjiiiiihhhhhgggggffeeeeedddddcccccbbbaaaaa`````____^^^^^]]]]]\\\\\[[ZZZZZZYYYYYXXXXXWWWWVVVVVUUUUUTTTTTTSSSSRRRRRRQQQQQPPPPOOOOOONNNNNNNMMMMMMLLLLLKKKKKKJJJJJJJJIIIIIIHHHHHGGGGGGGFFFFFFFFFEEEEEEEEEDDDDDDCCCCCCCCCCBBBBBBBBBBBAAAAAAAA@@@@@@@@@@@@@@@@???????????????????????>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>??????????????????????@@@@@@@@@@@@@@@@@AAAAAAABBBBBBBBBBBCCCCCCCCCCDDDDDDDEEEEEEEEFFFFFFFFFGGGGGGGGHHHHHIIIIIIJJJJJJJKKKKKKKLLLLLMMMMMMNNNNNNOOOOOOPPPPQQQQQRRRRRRSSSSTTTTTTUUUUUVVVVVWWWWXXXXXYYYYYZZZZZZ[[[\\\\\]]]]]^^^^^____`````aaaaabbcccccdddddeeeeefffggggghhhhhiiiiijjkkkkklllllmmmmnnnnoooppppppppooooonnmmmmmllllkkkkkjjjjiiiihhhhhgggggffeeeeedddddcccccbbbaaaaa`````___^^^^^]]]]]\\\\\[[[ZZZZZZYYYYYXXXXXWWWWVVVVVUUUUUTTTTTTSSSSRRRRRQQQQQQPPPPOOOOOONNNNNNMMMMMMMLLLKKKKKKKKJJJJJJIIIIIIIIHHHHHGGGGGGGFFFFFFFFEEEEEEEEDDDDDCCCCCCCCCCBBBBBBBBBBBBAAAAAAA@@@@@@@@@@@@@@????????????????????>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????@@@@@@@@@@@@@AAAAAAAABBBBBBBBBBBCCCCCCCCCCDDDDDEEEEEEEEEFFFFFFFGGGGGGGGHHHHHIIIIIIIJJJJJJJKKKKKKKLLLLMMMMMMNNNNNNOOOOOOOPPPQQQQQQQRRRRRSSSTTTTTTTUUUUUVVVVVWWWXXXXXYYYYYZZZZZZZ[[\\\\\]]]]]^^^^^____`````aaaaabbcccccdddddeeeeefffggggghhhhhiiiijjjkkkkkllllmmmmmnnnooooopppppooooonnmmmmmlllllkkkkjjjjiiiiihhhgggggffffeeeedddddcccccbbaaaaa`````____^^^^^]]]]]\\\\\[[[[ZZZZZYYYYYXXXXXWWWWVVVVVUUUUUTTTTTTSSSSRRRRRQQQQQQPPPPOOOOOONNNNNNMMMMMMLLLLKKKKKKJJJJJJJIIIIIIIHHHHHGGGGGGGGFFFFFFFEEEEEEEEEDDDDDCCCCCCCCCCBBBBBBBBBBAAAAAAA@@@@@@@@@@@@@?????????????????>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>??????????????????@@@@@@@@@@@@AAAAAAAABBBBBBBBBBCCCCCCCCCCDDDDDEEEEEEEEFFFFFFFFGGGGGGGHHHHHIIIIIIIIJJJJJJKKKKKKLLLLMMMMMMNNNNNNNOOOOOOPPPPQQQQQQRRRRRSSSSTTTTTTUUUUUVVVVVWWWWXXXXXYYYYYZZZZZ[[[\\\\\]]]]]^^^^^____`````aaaaabbbcccccdddddeeeffffggggghhhhiiiiijjjjkkklllllmmmmmnnnoooooppppooonnnnmmmmlllllkkkkkjjiiiiihhhhhggggffffeeeeeddddcccccbbbaaaaa````____^^^^^]]]]]\\\\\[[[[ZZZZZYYYYYXXXXXWWWVVVVVUUUUUTTTTTTTSSSRRRRRQQQQQQQPPPOOOOONNNNNNNMMMMMMLLLLLKKKKKKJJJJJJIIIIIIIHHHHHGGGGGGGFFFFFFFFEEEEEEEEDDDDDCCCCCCCCCBBBBBBBBBBAAAAAAAA@@@@@@@@@@@@???????????????>>>>>>>>>>>>>>>>>>>>>>>==============================================>>>>>>>>>>>>>>>>>>>>>>???????????????@@@@@@@@@@@@@AAAAAAABBBBBBBBBBCCCCCCCCCDDDDDEEEEEEEEEFFFFFFFGGGGGGGGHHHHHIIIIIIJJJJJJKKKKKKKLLLLLMMMMMMNNNNNNOOOOOPPPPQQQQQQRRRRRSSSSTTTTTTUUUUUVVVVVWWWWXXXXXYYYYYZZZZZ[[[[\\\\\]]]]]^^^^^___````aaaaabbbbcccccddddeeeeefffgggghhhhhiiiiijjjkkkkklllllmmmnnnnooooppooooonnnmmmmmllllkkkkkjjiiiiihhhhhgggggfffeeeeedddddcccbbbbaaaaa`````___^^^^^]]]]]\\\\\[[[ZZZZZYYYYYXXXXXWWWWVVVVVUUUUUTTTTTTSSSSRRRRRQQQQQQPPPPOOOOONNNNNNMMMMMMMLLLKKKKKKKJJJJJJIIIIIIIHHHHHGGGGGGGFFFFFFFEEEEEEEEEDDDDDCCCCCCCCCBBBBBBBBBBAAAAAA@@@@@@@@@@@@??????????????>>>>>>>>>>>>>>>>>>>================================================================>>>>>>>>>>>>>>>>>>??????????????@@@@@@@@@@@@@AAAAAABBBBBBBBBBCCCCCCCCCDDDDDEEEEEEEEFFFFFFFFGGGGGGHHHHHIIIIIIIIJJJJJJKKKKKKLLLLMMMMMMNNNNNNOOOOOPPPPQQQQQQRRRRRSSSSTTTTTTUUUUUVVVVVWWWWXXXXXYYYYYZZZZZ[[[[\\\\\]]]]]^^^^^__`````aaaaabbbbccccdddddeeeeeffggggghhhhhiiiiijjjkkkkkllllmmmmmnnooooopoooonnnmmmmmlllllkkkjjjjiiiihhhhhgggggffeeeeedddddcccccbbbaaaaa`````__^^^^^]]]]]\\\\\[[[[ZZZZZYYYYYXXXXXWWWWVVVVVUUUUUTTTTTTSSSRRRRRRQQQQQPPPPOOOOOONNNNNNMMMMMMLLLLKKKKKKJJJJJJJIIIIIIHHHHHGGGGGGGFFFFFFFFEEEEEEEDDDDDCCCCCCCCCBBBBBBBBBAAAAAAA@@@@@@@@@@??????????????>>>>>>>>>>>>>>>>=================<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<================>>>>>>>>>>>>>>>>??????????????@@@@@@@@@@AAAAAAAABBBBBBBBCCCCCCCCCDDDDDEEEEEEEEFFFFFFFGGGGGGGGHHHHHIIIIIIJJJJJJKKKKKKLLLLMMMMMMNNNNNNNOOOOOOPPPPQQQQQRRRRRRSSTTTTTTTUUUUUVVVVVWWWXXXXXYYYYYZZZZZ[[[[\\\\\]]]]]^^^^^___`````aaaaabbcccccdddddeeeeefffggggghhhhhiiijjjjkkkklllllmmmmmnnoooopooonnnnmmmlllllkkkkkjjjiiiiihhhhgggggfffeeeedddddcccccbbbaaaaa`````___^^^^]]]]]\\\\\[[[[ZZZZZYYYYYXXXXXWWWWVVVVVUUUUUTTTTTTSSRRRRRRRQQQQQPPPOOOOOOONNNNNNMMMMMLLLLLKKKKKKJJJJJJIIIIIIIHHHGGGGGGGGFFFFFFFEEEEEEEEDDDDDCCCCCCCCCBBBBBBBBAAAAAAA@@@@@@@@@@@???????????>>>>>>>>>>>>>>>==============<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<=============>>>>>>>>>>>>>>>????????????@@@@@@@@@@@AAAAAABBBBBBBBBCCCCCCCCCDDDDDEEEEEEEFFFFFFFFGGGGGGGHHHHIIIIIIJJJJJJKKKKKKKLLLLLMMMMMNNNNNNOOOOOOPPPPQQQQQRRRRRRSSSTTTTTTUUUUUVVVVVWWWWXXXXXYYYYYZZZZZ[[[\\\\\]]]]]^^^^____`````aaaaabbcccccdddddeeeeffffggggghhhhiiiiijjkkkkklllllmmmmnnnnoooooonnmmmmmllllkkkkkjjjiiiiihhhhhgggffffeeeeeddddcccccbbbbaaa`````____^^^^^]]]]\\\\\[[[[ZZZZZYYYYYXXXXXWWWVVVVVUUUUUTTTTTSSSSRRRRRRQQQQQPPPPOOOOOONNNNNMMMMMMMLLLKKKKKKKJJJJJJIIIIIIHHHHHGGGGGGFFFFFFFFEEEEEEEDDDDDCCCCCCCCCBBBBBBBBBAAAAAA@@@@@@@@@@???????????>>>>>>>>>>>>>>===========<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<===========>>>>>>>>>>>>>>???????????@@@@@@@@@@AAAAAAABBBBBBBBCCCCCCCCCDDDDDEEEEEEEEFFFFFFFGGGGGGHHHHHIIIIIIIJJJJJJKKKKKKLLLLMMMMMMNNNNNOOOOOOPPPPQQQQQRRRRRRSSSSTTTTTUUUUUVVVVVWWWWXXXXXYYYYYZZZZZ[[[[\\\\\]]]^^^^^____`````aaaabbbbcccccdddeeeeeffffgggghhhhhiiiiijjkkkkkllllmmmmmnnnooooonnnmmmmlllllkkkkjjjjiiihhhhhgggggfffeeeeedddddccccbbbaaaaa````____^^^^^]]]]]\\\\\[[ZZZZZYYYYYXXXXXWWWWVVVVVUUUUUTTTTTSSSSRRRRRRQQQQQPPPPOOOOOONNNNNMMMMMMLLLLKKKKKKJJJJJJJIIIIIIHHHHGGGGGGGFFFFFFFFEEEEEEDDDDDCCCCCCCCCBBBBBBBBAAAAA@@@@@@@@@@????????????>>>>>>>>>>>>==========<<<<<<<<<<<<<<<<<<<<<<<<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<==========>>>>>>>>>>>>>???????????@@@@@@@@@@AAAAABBBBBBBBBCCCCCCCCCDDDDDEEEEEEFFFFFFFGGGGGGGGHHHHIIIIIIJJJJJJKKKKKKLLLLMMMMMMNNNNNOOOOOOOPPPQQQQQRRRRRRRSSSTTTTTUUUUUVVVVVWWWWXXXXXYYYYYZZZZZ[[[\\\\\]]]]]^^^^^___````aaaaabbbbccccdddddeeeeeffggggghhhhhiiiijjjjkkklllllmmmmnnnnoooonnmmmmlllllkkkkkjjiiiiihhhhgggggfffeeeeedddddcccccbbaaaaa`````___^^^^^]]]]]\\\\\[[ZZZZZYYYYYXXXXXWWWWVVVVVUUUUUTTTTTSSSSRRRRRRQQQQQPPPPOOOOONNNNNNMMMMMMLLLLKKKKKKJJJJJJIIIIIIIHHHGGGGGGGFFFFFFFEEEEEEEEDDDDDCCCCCCCBBBBBBBBBAAAAA@@@@@@@@@@??????????>>>>>>>>>>>>=========<<<<<<<<<<<<<<<<<<<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<=========>>>>>>>>>>>>>??????????@@@@@@@@@@AAAAABBBBBBBBCCCCCCCCDDDDDEEEEEEEFFFFFFFFGGGGGGHHHHIIIIIIJJJJJJKKKKKKKLLLMMMMMMMNNNNNNOOOOOPPPPQQQQQRRRRRRSSSSTTTTTUUUUUVVVVVWWWXXXXXYYYYYZZZZZ[[[\\\\\]]]]]^^^^^__`````aaaaabbbcccccdddddeeeeeffggggghhhhiiiiijjjkkkkklllllmmmnnnoonnnmmmmmllllkkkkkjjiiiiihhhhhggggffffeeedddddcccccbbbaaaaa`````__^^^^^]]]]]\\\\\[[[ZZZZZYYYYYXXXXXWWWWVVVVVUUUUUTTTTTSSSRRRRRRRQQQQQPPPOOOOONNNNNNNMMMMMLLLLLKKKKKJJJJJJIIIIIIHHHHHGGGGGGFFFFFFFEEEEEEEDDDDDCCCCCCCCBBBBBBBAAAAAA@@@@@@@@@??????????>>>>>>>>>>>=========<<<<<<<<<<<<<<<<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<=========>>>>>>>>>>>??????????@@@@@@@@@AAAAAABBBBBBBBCCCCCCCDDDDDEEEEEEEEFFFFFFGGGGGGHHHHHIIIIIIIJJJJJJKKKKKLLLLLMMMMMNNNNNNOOOOOPPPPQQQQQRRRRRRSSSSTTTTTUUUUUVVVVVWWWWXXXXXYYYYYZZZZZ[[\\\\\]]]]]^^^^^___`````aaaaabbcccccdddddeeeeffffggghhhhhiiiiijjjkkkkkllllmmmmmnnonnnmmmmlllllkkkjjjjiiiihhhhhgggggffeeeeeddddcccccbbbbaaaa`````___^^^^]]]]]\\\\\[[[[ZZZZZYYYYYXXXXXWWVVVVVUUUUUTTTTTTTSSRRRRRRQQQQQPPPPOOOOONNNNNNMMMMMLLLLKKKKKKJJJJJJJIIIIIIHHHHGGGGGGFFFFFFFEEEEEEEDDDDDCCCCCCCBBBBBBBBBAAAAA@@@@@@@@@??????????>>>>>>>>>>========<<<<<<<<<<<<<<<;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<=========>>>>>>>>>>??????????@@@@@@@@@AAAAABBBBBBBBCCCCCCCCDDDDDEEEEEEFFFFFFFFGGGGGGHHHHIIIIIIJJJJJJKKKKKKLLLLMMMMMNNNNNNOOOOOPPPPQQQQQRRRRRRSSSTTTTTTUUUUUVVVVVWWWXXXXXYYYYYZZZZZ[[[\\\\\]]]]]^^^^____`````aaaabbbcccccddddeeeeefffggggghhhhhiiijjjjkkkklllllmmmmnnnnnmmmmmlllkkkkkjjjiiiiihhhhgggggffeeeeedddddccccbbbbaaaaa```____^^^^^]]]]\\\\\[[[[ZZZZZYYYYYXXXXXWWVVVVVUUUUUTTTTTTSSSRRRRRRQQQQQPPPPOOOOONNNNNNMMMMMLLLLKKKKKKJJJJJJIIIIIIIHHHGGGGGGGFFFFFFEEEEEEEDDDDDCCCCCCCBBBBBBBBAAAAA@@@@@@@@@?????????>>>>>>>>>>>========<<<<<<<<<<<<<;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<=======>>>>>>>>>>>>????????@@@@@@@@@AAAAABBBBBBBBBCCCCCCDDDDDEEEEEEEEFFFFFFGGGGGGHHHHIIIIIIJJJJJJKKKKKKKLLLMMMMMNNNNNNNOOOOOPPPQQQQQRRRRRRRSSTTTTTTUUUUUVVVVVWWWXXXXXYYYYYZZZZZ[[[[\\\\\]]]^^^^^____````aaaaabbbbcccdddddeeeeefffggggghhhhiiiiijjkkkkkllllmmmmmnnmmmmmllllkkkkkjjjiiiiihhhhhgggffffeeeedddddcccccbbaaaaa`````___^^^^^]]]]]\\\\[[[ZZZZZYYYYYXXXXXWWWVVVVVUUUUUTTTTTTSSSRRRRRRQQQQQPPPPOOOOONNNNNMMMMMMLLLLKKKKKKJJJJJIIIIIIHHHHHGGGGGGFFFFFFFEEEEEEDDDDDCCCCCCCBBBBBBBBAAAAA@@@@@@@@@????????>>>>>>>>>>========<<<<<<<<<<<<;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;<<<<<<<<<<<<<=======>>>>>>>>>>?????????@@@@@@@@@AAAAABBBBBBBCCCCCCCCDDDDDEEEEEEFFFFFFGGGGGGHHHHHIIIIIIIJJJJJKKKKKKLLLLMMMMMMNNNNNOOOOOPPPPQQQQQRRRRRRSSTTTTTTTUUUUUVVVVVWWXXXXXYYYYYZZZZZ[[[[\\\\]]]]]^^^^^__`````aaaaabbbcccccdddddeeeffffgggghhhhhiiiiijjkkkkkllllmmmmmnmmmmlllllkkkkjjjjiiihhhhhgggggfffeeeeeddddcccccbbaaaaa`````___^^^^^]]]]]\\\\\[[ZZZZZYYYYYXXXXXWWWWVVVVVUUUUUTTTTTSSRRRRRRRQQQQQPPPOOOOONNNNNMMMMMMMLLLKKKKKJJJJJJJIIIIIIHHHHGGGGGGFFFFFFEEEEEEEEDDDCCCCCCCCBBBBBBBAAAAA@@@@@@@@@?????????>>>>>>>>>=======<<<<<<<<<<<;;;;;;;;;;;;;;;:::::::::::::::::::::::99999999999999999999999999999999999999999999::::::::::::::::::::::;;;;;;;;;;;;;;;<<<<<<<<<<<========>>>>>>>>>????????@@@@@@@@@AAAAABBBBBBBBCCCCCCCDDDDEEEEEEEFFFFFFFGGGGGGHHHHIIIIIIJJJJJJKKKKKLLLLMMMMMMNNNNNOOOOOPPPPQQQQQRRRRRRSSSTTTTTUUUUUVVVVVWWWXXXXXYYYYYZZZZZ[[[\\\\\]]]]]^^^^^__`````aaaaabbbcccccddddeeeeeffggggghhhhhiiiijjjjkkklllllmmmmnmmmmllllkkkkkjjiiiiihhhhgggggfffeeeeedddddcccbbbbaaaa`````____^^^]]]]]\\\\\[[[ZZZZZYYYYYXXXXXWWWWVVVVVUUUUUTTTTTSSRRRRRRQQQQQPPPPOOOOONNNNNMMMMMMLLLLKKKKKJJJJJJIIIIIIIHHHGGGGGGGFFFFFFEEEEEEDDDDDCCCCCCBBBBBBBBAAAAA@@@@@@@@@????????>>>>>>>>>======<<<<<<<<<<<<;;;;;;;;;;;;;:::::::::::::::::::9999999999999999999999999999999999999999999999999999999999999:::::::::::::::::::;;;;;;;;;;;;;;<<<<<<<<<<<======>>>>>>>>>?????????@@@@@@@@@AAAAABBBBBBBCCCCCCDDDDDEEEEEEEFFFFFFGGGGGGHHHHIIIIIIJJJJJJKKKKKLLLLMMMMMMNNNNNOOOOOPPPPQQQQQRRRRRRSSSTTTTTUUUUUVVVVVWWWWXXXXXYYYYYZZZZZ[[\\\\\]]]]]^^^^____`````aaabbbbccccdddddeeeeeffggggghhhhiiiiijjjkkkkklllmmmmmmmmlllllkkkkjjjiiiihhhhhggggffffeeedddddccccbbbbaaaaa````___^^^^^]]]]\\\\\[[[[ZZZZYYYYYXXXXXWWWVVVVVUUUUUTTTTTSSSSRRRRRQQQQQPPPPOOOOONNNNNMMMMMMLLLLKKKKKJJJJJJIIIIIHHHHHGGGGGGFFFFFFFEEEEEEDDDDCCCCCCCBBBBBBBBAAAAA@@@@@@@????????>>>>>>>>>>======<<<<<<<<<<;;;;;;;;;;;;:::::::::::::::::9999999999999999888888888888888888888888888888888888888888889999999999999999::::::::::::::::;;;;;;;;;;;;;<<<<<<<<<<======>>>>>>>>>>???????@@@@@@@@AAAAABBBBBBBCCCCCCCCDDDDEEEEEEFFFFFFGGGGGGHHHHHIIIIIJJJJJJJKKKKKLLLMMMMMMMNNNNNOOOOOPPPQQQQQRRRRRSSSSTTTTTUUUUUVVVVVWWWWXXXXXYYYYYZZZZ[[[\\\\\]]]]^^^^^____````aaaaabbbccccdddddeeeeffffggghhhhhiiiijjjjkkkklllllmmmmmmllllkkkkkjjiiiihhhhhgggggffeeeeeddddcccccbbbaaaaa`````__^^^^^]]]]]\\\\[[[[ZZZZZYYYXXXXXWWWWVVVVVUUUUUTTTTTSSSSRRRRRQQQQQPPPPOOOOONNNNNMMMMMMLLKKKKKKKJJJJJJIIIIIHHHHGGGGGGFFFFFFEEEEEEDDDDDCCCCCCCBBBBBBBAAAAA@@@@@@@@???????>>>>>>>>>======<<<<<<<<<<;;;;;;;;;;;;;:::::::::::::99999999999999888888888888888888888888888888888888888888888888888888888888899999999999999::::::::::::::;;;;;;;;;;;;<<<<<<<<<<=======>>>>>>>>????????@@@@@@@AAAAABBBBBBBBCCCCCCDDDDDEEEEEEFFFFFFFGGGGGGHHHHIIIIIJJJJJJKKKKKKLLLMMMMMMNNNNNOOOOOPPPPQQQQQRRRRRSSSTTTTTUUUUUVVVVVWWWWXXXXXYYYYZZZZZ[[[[\\\]]]]]^^^^^___`````aaaaabbcccccddddeeeeefffggggghhhhhiiijjjkkkkkllllmmmmmlllkkkkkjjjiiiiihhhhgggggffeeeeeddddcccccbbbbaaa`````___^^^^^]]]]]\\\\\[[ZZZZZYYYYYXXXXXWWWVVVVVUUUUUTTTTTSSSSRRRRRQQQQQPPPOOOOONNNNNMMMMMLLLLKKKKKKJJJJJIIIIIIIHHHGGGGGGGFFFFFFEEEEEEDDDDCCCCCCCBBBBBBBAAAAA@@@@@@@????????>>>>>>>>=======<<<<<<<<<<;;;;;;;;;;;::::::::::::999999999999888888888888888888888888888888888888888888888888888888888888888888888888888899999999999:::::::::::::;;;;;;;;;;;<<<<<<<<<<======>>>>>>>>>???????@@@@@@@@AAAAABBBBBBCCCCCCCCDDDEEEEEEEFFFFFFGGGGGGHHHHIIIIIIJJJJJKKKKKKLLLLMMMMMNNNNNOOOOOPPPPQQQQQRRRRRSSSSTTTTTUUUUUVVVVVWWXXXXXYYYYYZZZZZ[[[\\\\\]]]]]^^^^^__`````aaaabbbbcccccdddeeeeefffggggghhhhiiiiijjkkkkkllllmmlllllkkkkjjjjiiiihhhhhgggffffeeeedddddccccbbbaaaa`````____^^^^]]]]]\\\\\[[ZZZZZYYYYYXXXXXWWWVVVVVUUUUUTTTTTSSSRRRRRQQQQQPPPPOOOOONNNNNMMMMMLLLLKKKKKKJJJJJIIIIIIHHHHGGGGGGFFFFFFFEEEEEEDDDDCCCCCCBBBBBBBAAAA@@@@@@@@????????>>>>>>>>======<<<<<<<<<;;;;;;;;;;;:::::::::::::9999999999888888888888888888888777777777777777777777777777777777777777777778888888888888888888889999999999::::::::::::;;;;;;;;;;;;<<<<<<<<=======>>>>>>>?????????@@@@@@@AAAABBBBBBBBCCCCCCDDDDEEEEEEFFFFFFGGGGGGHHHHIIIIIIJJJJJKKKKKKKLLLMMMMMNNNNNOOOOOPPPPQQQQQRRRRRSSSSTTTTTUUUUUVVVVVWWXXXXXYYYYYZZZZZ[[[\\\\\]]]]]^^^^___`````aaaabbbbccccdddddeeeffffgggghhhhhiiiijjjkkkklllllmllllkkkkkjjjiiiiihhhgggggfffeeeeeddddcccccbbaaaaa````____^^^^^]]]\\\\\[[[[ZZZZYYYYYXXXXXWWVVVVVUUUUUTTTTTSSSSRRRRRQQQQQPPPPOOOOONNNNNMMMMMLLLLKKKKKKJJJJJIIIIIIHHHHGGGGGFFFFFFEEEEEEDDDDDCCCCCCCBBBBBBAAAAA@@@@@@@????????>>>>>>>=======<<<<<<<<;;;;;;;;;;::::::::::::99999999998888888888888888877777777777777777777777777777777777777777777777777777777777778888888888888888889999999999:::::::::::;;;;;;;;;;<<<<<<<<<======>>>>>>>>???????@@@@@@@@AAAAABBBBBBCCCCCCDDDDDEEEEEEFFFFFFFGGGGGHHHIIIIIIIJJJJJKKKKKKLLLLMMMMMNNNNNOOOOOPPPQQQQQRRRRRSSSSTTTTTUUUUUVVVVVWWWXXXXXYYYYYZZZ[[[[\\\\\]]]]^^^^^____```aaaaabbbcccccddddeeeeeffggggghhhhiiiiijjkkkkkllllmllllkkkkjjiiiiihhhhgggggfffeeeeedddcccccbbbaaaaa`````__^^^^^]]]]]\\\\[[[[ZZZZZYYYYXXXXXWWWVVVVVUUUUTTTTTSSSSRRRRRQQQQQPPPPOOOOONNNNNMMMMMLLLKKKKKKKJJJJJIIIIIHHHHHGGGGGFFFFFFEEEEEEDDDDCCCCCCBBBBBBBBAAA@@@@@@@@???????>>>>>>>>======<<<<<<<<<;;;;;;;;;:::::::::::9999999998888888888888888777777777777777777777777777777777777777777777777777777777777777777777777778888888888888888999999999:::::::::::;;;;;;;;;<<<<<<<<=======>>>>>>>????????@@@@@@@AAAABBBBBBBCCCCCCCDDDEEEEEEEFFFFFFGGGGGHHHHHIIIIIJJJJJKKKKKKLLLLMMMMMNNNNNOOOOOPPPPQQQQQRRRRRSSSTTTTTUUUUVVVVVWWWWXXXXXYYYYZZZZZ[[[\\\\]]]]]^^^^^___`````aaaaabbcccccddddeeeeeffggggghhhhiiiiijjjkkkllllllllkkkkkjjiiiihhhhhggggffffeeedddddccccbbbbaaaa`````__^^^^^]]]]]\\\\\[[[ZZZZZYYYYYXXXWWWWVVVVVUUUUUTTTTTSSSRRRRRQQQQQPPPOOOOONNNNNMMMMMLLLLKKKKKKJJJJJIIIIIHHHHGGGGGGFFFFFFFEEEEEEDDDDCCCCCCBBBBBBAAAAA@@@@@@????????>>>>>>>=======<<<<<<<;;;;;;;;;;::::::::::99999999988888888888888777777777777777777777666666666666666666666666666666666666666666667777777777777777777778888888888888899999999::::::::::;;;;;;;;;;<<<<<<<<======>>>>>>>>???????@@@@@@AAAAABBBBBBBCCCCCCDDDDEEEEEEFFFFFFGGGGGGHHHHIIIIIJJJJJKKKKKKLLLLMMMMMNNNNNOOOOOPPPPQQQQQRRRRRSSTTTTTUUUUUVVVVVWWWWXXXXYYYYYZZZZZ[[\\\\\]]]]]^^^^^___`````aaaabbbccccdddddeeeeffffggghhhhhiiiijjjkkkkklllllkkkkkjjiiiiihhhhgggggffeeeeeddddcccccbbbaaaaa```____^^^^]]]]]\\\\\[[ZZZZZYYYYYXXXXXWWWVVVVVUUUUUTTTTTSSRRRRRQQQQQPPPPOOOOONNNNNMMMMMLLLLKKKKKJJJJJJIIIIIHHHHGGGGGGFFFFFEEEEEEDDDDDCCCCCCCBBBBBBAAAA@@@@@@@??????>>>>>>>>======<<<<<<<<;;;;;;;;;;::::::::::9999999888888888888877777777777777777666666666666666666666666666666666666666666666666666666666666677777777777777777788888888888899999999::::::::::;;;;;;;;;;<<<<<<<=======>>>>>>>??????@@@@@@@@AAAABBBBBBCCCCCCDDDDDEEEEEEFFFFFGGGGGGGHHHIIIIIJJJJJJJKKKKKLLLMMMMMNNNNNOOOOOPPPPQQQQQRRRRRSSSTTTTTUUUUUVVVVVWWXXXXXYYYYYZZZZZ[[[\\\\\]]]]]^^^____````aaaaabbcccccddddeeeeefffggggghhhiiiiijjjkkkkkllllkkkjjjjiiiihhhhhggggffeeeeedddddccccbbaaaaa`````___^^^^^]]]]\\\\\[[[ZZZZYYYYYXXXXXWWWVVVVVUUUUUTTTTTSSRRRRRQQQQQPPPPOOOOONNNNNMMMMMLLLLKKKKKJJJJJJIIIIIHHHHGGGGGGFFFFFEEEEEEDDDDCCCCCCBBBBBBAAAAA@@@@@@@???????>>>>>>>>=====<<<<<<<;;;;;;;;;::::::::::999999988888888888877777777777777776666666666666666666666666666666666666666666666666666666666666666666666666677777777777777778888888888899999999::::::::::;;;;;;;;<<<<<<<<=====>>>>>>>????????@@@@@@AAAAABBBBBBCCCCCCCDDDEEEEEEEFFFFFGGGGGGHHHHIIIIIJJJJJJKKKKKLLLLMMMMMNNNNNOOOOOPPPQQQQQRRRRRSSSTTTTTUUUUUVVVVVWWXXXXXYYYYYZZZZ[[[[\\\\\]]]]^^^^^__`````aaaaabbbcccdddddeeeeefffgggghhhhhiiijjjjkkkkllkkkkkjjjiiiiihhhhgggggffeeeedddddccccbbbaaaa`````___^^^^^]]]]]\\\[[[[ZZZZZYYYYXXXXXWWWWVVVUUUUUTTTTTSSSSRRRRRQQQQQPPPOOOOONNNNNMMMMMLLLKKKKKJJJJJJJIIIIIHHHGGGGGGGFFFFFEEEEEEDDDDCCCCCCBBBBBBAAAA@@@@@@@???????>>>>>>>=====<<<<<<<<;;;;;;;;::::::::::99999998888888888877777777777777666666666666666666666655555555555555555555555555555555555555555666666666666666666666667777777777777788888888888999999::::::::::;;;;;;;;;<<<<<<<=====>>>>>>>>??????@@@@@@@@AAABBBBBBBCCCCCCDDDDEEEEEEFFFFFGGGGGGHHHHIIIIIJJJJJJKKKKKLLLLMMMMMNNNNNOOOOOPPQQQQQRRRRRSSSSTTTTTUUUUUVVVVWWWWXXXXXYYYZZZZZ[[[[\\\\]]]]]^^^^^__`````aaaabbbbccccdddddeeefffggggghhhhiiiiijjkkkkklkkkkjjjjiiiihhhgggggfffeeeeeddddcccccbbaaaaa````____^^^]]]]]\\\\\[[[ZZZZZYYYYYXXXXWWWVVVVVUUUUTTTTTSSSSRRRRRQQQQQPPOOOOONNNNNMMMMMLLLLKKKKKJJJJJJIIIIIHHHHGGGGGFFFFFFEEEEEEEDDDCCCCCCCBBBBBBAAAA@@@@@@???????>>>>>>>=====<<<<<<<;;;;;;;;;:::::::::999999888888888887777777777777666666666666666666555555555555555555555555555555555555555555555555555555555556666666666666666666777777777777888888888888999999:::::::::;;;;;;;;<<<<<<<<=====>>>>>>????????@@@@@@AAAABBBBBBCCCCCCDDDDEEEEEEFFFFFFGGGGGHHHHIIIIIJJJJJJKKKKKLLLLMMMMMNNNNNOOOOOPPPQQQQQRRRRRSSSTTTTTUUUUVVVVVWWWWXXXXYYYYYZZZZZ[[\\\\\]]]]]^^^^____```aaaaabbbcccccddddeeeeeffggggghhhhiiiijjjkkkklkkkkjjjiiihhhhhggggffffeeeedddddcccbbbbaaaa`````__^^^^^]]]]\\\\\[[[ZZZZZYYYYYXXXXXWWVVVVVUUUUUTTTTSSSSRRRRRQQQQQPPOOOOONNNNNMMMMMMLLLKKKKKJJJJJJIIIIIHHHHGGGGGFFFFFFEEEEEDDDDCCCCCCBBBBBBAAAAA@@@@@@@??????>>>>>>>====<<<<<<<<<;;;;;;;:::::::::99999988888888887777777777777666666666666666555555555555555544444444444444444444444444444444444444444555555555555555556666666666666667777777777778888888888999999:::::::::;;;;;;;;<<<<<<<<====>>>>>>>>??????@@@@@@AAAAABBBBBBCCCCCCCDDDEEEEEFFFFFFFGGGGGHHHIIIIIJJJJJJJKKKKKLLMMMMMMNNNNNOOOOOPPPQQQQQRRRRRSSSSTTTUUUUUVVVVVWWWXXXXXYYYYYZZZZZ[[\\\\\]]]]^^^^^___`````aaabbbbccccdddddeeeefffgggghhhhhiiiijjkkkkkkkkjjiiiiihhhhgggggfffeeeeedddcccccbbbaaaa`````__^^^^^]]]]]\\\\[[[[ZZZYYYYYXXXXXWWWVVVVVUUUUUTTTTTSSRRRRRQQQQQPPPPOOOOONNNNNMMMMMLLLKKKKKJJJJJJIIIIIHHHHGGGGGFFFFFFEEEEEDDDDCCCCCCBBBBBBAAAA@@@@@@????????>>>>>>=====<<<<<<<;;;;;;;;:::::::::9999998888888887777777777776666666666666655555555555544444444444444444444444444444444444444444444444444444444444555555555555566666666666667777777777777888888888999999:::::::::;;;;;;;<<<<<<<<=====>>>>>>???????@@@@@@@AAABBBBBBBCCCCCCDDDDEEEEEFFFFFFGGGGGHHHHIIIIIJJJJJJKKKKKLLMMMMMNNNNNOOOOOPPPPQQQQQRRRRRSSSTTTTTUUUUUVVVVVWWXXXXXYYYYYZZZZ[[[[\\\]]]]]^^^^^___`````aaaabbcccccddddeeeeeffggggghhhhiiiiijjjkkkkkkjjiiiihhhhhggggffeeeeeddddcccccbbbaaaaa```____^^^^]]]]]\\\\\[[ZZZZZYYYYXXXXXWWWWVVVVUUUUUTTTTTSSRRRRRQQQQQPPPPOOOOONNNNNMMMMMLLKKKKKKKJJJJJIIIIIHHHGGGGGFFFFFFFEEEEEDDDCCCCCCCBBBBBBAAAA@@@@@@??????>>>>>>=====<<<<<<<<;;;;;;;:::::::::999998888888888777777777776666666666666555555555544444444444444444444444444444444444444444444444444444444444444444444444444555555555566666666666677777777777888888888899999:::::::::;;;;;;;;<<<<<<<=====>>>>>>???????@@@@@@AAAABBBBBBCCCCCCDDDDEEEEEFFFFFFGGGGGHHHHIIIIIJJJJJKKKKKKLLLMMMMMNNNNNOOOOOPPPQQQQQRRRRRSSSTTTTTUUUUUVVVVWWWXXXXXYYYYZZZZZ[[[\\\\\]]]]]^^^____````aaaaabbcccccddddeeeeefffggghhhhhiiiijjjkkkkkjjiiiiihhhhgggggffeeeedddddccccbbbbaaa`````___^^^^^]]]]\\\\\[[ZZZZZYYYYYXXXXWWWWVVVVVUUUTTTTTSSSSRRRRQQQQQPPPPOOOOONNNNNMMMMMLLKKKKKKJJJJJIIIIIHHHHGGGGGFFFFFEEEEEEDDDDCCCCCCBBBBBAAAAA@@@@@@@??????>>>>>>=====<<<<<<;;;;;;;;:::::::::99999888888888877777777776666666666655555555554444444444444444444443333333333333333333333333333333333333333344444444444444444444445555555555666666666667777777777888888888899999:::::::::;;;;;;;<<<<<<=====>>>>>>>??????@@@@@@AAAAABBBBBCCCCCCDDDDEEEEEEFFFFFGGGGGHHHHIIIIIJJJJJKKKKKKLLLMMMMMNNNNNOOOOOPPPPQQQQQRRRSSSSTTTTTUUUUVVVVVWWWWXXXYYYYYZZZZZ[[[\\\\\]]]]^^^^^__`````aaaabbbbcccdddddeeeefffggggghhhiiiiijjjkkjjjjiiiihhhhhggggffeeeeeddddcccccbbaaaaa````____^^^^]]]]]\\\[[[[ZZZZYYYYYXXXXXWWVVVVVUUUUUTTTTSSSSRRRRRQQQQPPPOOOOONNNNNMMMMMLLLLKKKKKJJJJJIIIIIHHHHGGGGGFFFFFEEEEEEDDDDCCCCCBBBBBBAAAA@@@@@@??????>>>>>>>=====<<<<<<<;;;;;;;;:::::::9999988888888877777777776666666666655555555544444444444444444333333333333333333333333333333333333333333333333333333333334444444444444444445555555566666666666677777777778888888899999::::::::;;;;;;;<<<<<<<<=====>>>>>>??????@@@@@@@AAABBBBBBBCCCCCDDDEEEEEEEFFFFFGGGGGHHHIIIIIJJJJJKKKKKLLLLMMMMMNNNNNOOOOOPPPPQQQQRRRRRSSSTTTTUUUUUVVVVVWWWXXXXXYYYYYZZZ[[[[\\\\]]]]]^^^^___````aaaaabbbcccccdddeeeeefffgggghhhhhiiijjjjkjjjiiiiihhhhgggffffeeeedddddccccbbaaaaa`````___^^^]]]]]\\\\\[[[ZZZZZYYYYXXXXXWWVVVVVUUUUUTTTTTSSSRRRRRQQQQQPPOOOOONNNNNMMMMMLLLLKKKKKJJJJJIIIIIHHHHGGGGGFFFFFEEEEEEDDDDCCCCCBBBBBBAAAA@@@@@@??????>>>>>>=====<<<<<<<;;;;;;;::::::::999998888888877777777776666666666555555555444444444444444333333333333333333333333333333333333333333333333333333333333333333333334444444444444445555555556666666666777777777788888888899999:::::::;;;;;;;;<<<<<<=====>>>>>>???????@@@@@@AAAABBBBBBCCCCCDDDDEEEEEEFFFFFGGGGGHHHHIIIIIJJJJJKKKKKLLLMMMMMNNNNNOOOOOPPPQQQQQRRRRRSSTTTTTUUUUUVVVVVWWWXXXXXYYYYZZZZZ[[\\\\\]]]]]^^^^__`````aaaaabbbccccdddddeeeffffgggghhhhiiiiijjkjjjiiiihhhgggggfffeeeeeddddcccccbbaaaa`````__^^^^^]]]]\\\\\[[[ZZZZZYYYYYXXXWWWWVVVVUUUUUTTTTTSSRRRRRQQQQQPPPOOOOONNNNNMMMMMLLLLKKKKKJJJJJIIIIIHHHGGGGGFFFFFEEEEEEEDDDCCCCCBBBBBBBAAA@@@@@@@??????>>>>>>====<<<<<<;;;;;;;;:::::::99999888888888777777777666666666655555554444444444444433333333333333333333322222222222222222222222222222222222222222333333333333333333333344444444444445555555566666666667777777778888888899999::::::::;;;;;;;<<<<<<<===>>>>>>>??????@@@@@@AAAABBBBBBCCCCCDDDDEEEEEEFFFFFGGGGGHHHHIIIIIJJJJJKKKKKLLLLMMMMMNNNNNOOOOOPPQQQQQRRRRRSSSTTTTTUUUUUVVVWWWWXXXXYYYYYZZZZZ[[\\\\\]]]]^^^^^___`````aaabbbcccccddddeeeeeffggggghhhhiiiijjjjjiiiiihhhggggffffeeeedddddcccbbbaaaaa````___^^^^]]]]]\\\\[[[[ZZZYYYYYXXXXWWWWVVVVVUUUUTTTTTSSSRRRRQQQQQPPPPOOOONNNNNMMMMMLLLKKKKKJJJJJIIIIIHHHHGGGGGFFFFFEEEEEEDDDCCCCCCBBBBBAAAAA@@@@@??????>>>>>>>=====<<<<<<;;;;;;;:::::::9999988888888777777777666666666655555544444444444443333333333333333322222222222222222222222222222222222222222222222222222222222333333333333333333444444444444555555666666666677777777788888888899999::::::;;;;;;;;<<<<<<=====>>>>>>??????@@@@@AAAAABBBBBCCCCCCCDDEEEEEEFFFFFGGGGGHHHHIIIIIJJJJJKKKKKLLLLMMMMMNNNNNOOOOPPPQQQQQRRRRSSSSTTTTTUUUUVVVVVWWWXXXXYYYYYZZZZ[[[[\\\]]]]]^^^^____````aaaaabbccccdddddeeeefffgggghhhhiiiiijjjjiiihhhhgggggfffeeeeedddccccbbbbaaaa`````__^^^^^]]]]\\\\\[[ZZZZZYYYYXXXXXWWWVVVVVUUUUUTTTSSSSRRRRRQQQQPPPPOOOOONNNNNMMMLLLLKKKKKJJJJJIIIIIHHHHGGGGGFFFFFEEEEEEDDDCCCCCCBBBBBAAAA@@@@@@??????>>>>>>====<<<<<<;;;;;;;;:::::::9999988888888777777777666666665555555544444444444333333333333333222222222222222222222222222222222222222222222222222222222222222222222223333333333333334444444444445555555666666666777777777888888899999::::::::;;;;;;;<<<<<<====>>>>>>???????@@@@@@AAAABBBBBCCCCCCDDEEEEEEEFFFFFGGGGGHHHIIIIIJJJJJKKKKKLLLLMMMMNNNNNOOOOOPPPPQQQRRRRRSSSSTTTTUUUUUVVVVVWWXXXXXYYYYZZZZZ[[[\\\\\]]]^^^^^___`````aaaabbbccccddddeeeeeffggggghhhhiiiijjiiiihhhhhggggffffeeeddddcccccbbbaaaaa```___^^^^^]]]]\\\\\[[ZZZZZYYYYYXXXXWWWWVVVUUUUUTTTTTSSSRRRRRQQQQQPPOOOOONNNNNMMMMMLLLKKKKKJJJJJIIIIIHHHHGGGGGFFFFFEEEEEDDDCCCCCCCBBBBBAAA@@@@@@@??????>>>>>>====<<<<<<;;;;;;::::::::999998888888777777777666666666555555444444444443333333333333322222222222222222222111111111111111111111111111111111111111112222222222222222222233333333333333444444444445555555666666667777777778888888899999:::::::;;;;;;<<<<<<<===>>>>>>>??????@@@@@@AAAABBBBBCCCCCCDDDDEEEEEFFFFFGGGGGHHHHIIIIIJJJJJKKKKKLLMMMMMNNNNNOOOOOPPPQQQQQRRRRRSSTTTTTUUUUUVVVVWWWWXXXYYYYYZZZZZ[[[\\\\\]]]]^^^^^__````aaaaabbcccccddddeeeeffffggghhhhhiiiijiiiihhhhgggggffeeeedddddccccbbbbaaa`````___^^^^]]]]]\\\[[[[ZZZZYYYYYXXXXWWWVVVVUUUUUTTTTTSSSRRRRRQQQQQPPOOOOONNNNNMMMMMLLLKKKKKJJJJJIIIIIHHHGGGGGFFFFFEEEEEDDDDCCCCCCBBBBBAAAA@@@@@@?????>>>>>>>=====<<<<<<;;;;;;::::::99999888888887777777776666666555555554444444444333333333333222222222222222211111111111111111111111111111111111111111111111111111111111222222222222222233333333333334444444444555555566666666777777777888888899999::::::;;;;;;;<<<<<<=====>>>>>>?????@@@@@@AAAABBBBBCCCCCCDDDDEEEEEFFFFFGGGGGHHHHIIIIIJJJJJKKKKKLLMMMMMNNNNNOOOOOPPPQQQQQRRRRRSSTTTTTUUUUUVVVVWWWWXXXXYYYYYZZZ[[[[\\\\]]]]]^^^^__`````aaaabbbbcccdddddeeeefffggggghhhiiiijiiihhhhhggggffeeeeeddddcccccbbaaaa`````___^^^^^]]]\\\\\[[[ZZZZZYYYYXXXXXWWVVVVVUUUUTTTTTSSSSRRRQQQQQPPPPOOOONNNNNMMMMMLLLLKKKJJJJJIIIIIHHHHGGGGGFFFFFEEEEEDDDDCCCCCCBBBBBAAAA@@@@@@?????>>>>>>====<<<<<<;;;;;;;:::::::9999988888877777777766666666555555444444444433333333333222222222222222111111111111111000000000000000000000000000000000000000001111111111111112222222222222223333333333334444444444555555666666677777777788888899999::::::::;;;;;;<<<<<<====>>>>>>?????@@@@@@@AAABBBBBCCCCCCCDDDEEEEEFFFFFGGGGGHHHHIIIIIJJJJJKKKKLLLLMMMMMNNNNNOOOPPPPQQQQQRRRRSSSSTTTTTUUUVVVVVWWWXXXXXYYYYZZZZZ[[\\\\\]]]]^^^^^__`````aaaabbbcccccdddeeeeefffgggghhhhhiiiiiihhhhgggggffeeeedddddccccbbaaaaa````____^^^]]]]]\\\\[[[ZZZZZYYYYYXXXWWWWVVVVUUUUUTTTTSSSRRRRRQQQQPPPPOOOOONNNNMMMMMLLLKKKKKJJJJJIIIIHHHHGGGGGFFFFFEEEEEDDDDCCCCCCBBBBBAAAA@@@@@??????>>>>>>====<<<<<<;;;;;;:::::::999998888888777777776666666555555444444444433333333332222222222222211111111111110000000000000000000000000000000000000000000000000000000011111111111122222222222222333333333344444444445555556666666677777778888888899999::::::;;;;;;<<<<<<<===>>>>>>>??????@@@@@AAAABBBBBCCCCCCDDDDEEEEEFFFFFGGGGGHHHIIIIJJJJJKKKKKLLLLMMMMMNNNNOOOOOPPPQQQQRRRRRSSSSTTTTUUUUUVVVWWWWXXXXYYYYYZZZZZ[[\\\\]]]]]^^^^____```aaaaabbbccccdddddeeefffggggghhhhiiiiihhhhhgggfffeeeeeddddcccccbbaaaa`````__^^^^^]]]]\\\\\[[[ZZZYYYYYXXXXWWWWVVVVUUUUUTTTTTSSRRRRRQQQQQPPPOOOOONNNNNMMMLLLLKKKKKJJJJJIIIIIHHHGGGGGFFFFFEEEEEEDDCCCCCCCBBBBBAAA@@@@@???????>>>>>=====<<<<<<;;;;;;::::::999988888888777777766666666555555444444444333333333322222222222211111111111000000000000000000000000000000000000000000000000000000000000000000000111111111112222222222222333333333344444444455555566666667777777788888889999::::::;;;;;;;<<<<<<=====>>>>>??????@@@@@AAAABBBBBCCCCCCDDDEEEEEEFFFFFGGGGGHHIIIIIJJJJJKKKKKLLLLMMMMNNNNNOOOOOPPQQQQQRRRRRSSSTTTTTUUUUUVVVVWWWXXXXYYYYYZZZZ[[\\\\\]]]]^^^^^___`````aaabbbcccccddddeeeeeffgggghhhhhiiiihhhgggggfffeeeedddddcccbbbaaaaa````__^^^^^]]]]\\\\\[[ZZZZZYYYYXXXXXWWWVVVVVUUUTTTTTSSSRRRRRQQQQQPPOOOOONNNNNMMMMMLLLKKKKKJJJJJIIIIIHHGGGGGFFFFFEEEEEEEDDCCCCCCBBBBBAAAA@@@@@??????>>>>>====<<<<<<;;;;;;;::::::9999988888877777777666666655555544444444433333333332222222222211111111100000000000000000000/////////////////////////////////////////00000000000000000000111111111222222222223333333333444444444555555666666667777777888888899999::::::;;;;;;<<<<<<====>>>>>??????@@@@@AAAABBBBBCCCCCCDDDEEEEEEFFFFFGGGGGHHHIIIIIJJJJJKKKKKLLMMMMMNNNNNOOOOOPPPQQQQQRRRRRSSTTTTTUUUUVVVVVWWXXXXXYYYYZZZZZ[[[\\\\\]]]^^^^^___````aaaaabbccccdddddeeeeffggggghhhhiihhhhhggggfffeeeeedddcccccbbbaaaa`````__^^^^]]]]]\\\\[[[ZZZZYYYYYXXXXWWWWVVVUUUUUTTTTSSSSRRRRQQQQQPPPOOOONNNNNMMMMMLLLKKKKKJJJJJIIIIIHHHGGGGGFFFFFEEEEEDDDCCCCCCBBBBBAAAA@@@@@?????>>>>>>====<<<<<<;;;;;;:::::::9998888888877777776666666655555444444444333333332222222222221111111100000000000000000////////////////////////////////////////////////////////0000000000000000111111111222222222223333333334444444445555566666667777777788888889999::::::;;;;;;<<<<<<<===>>>>>>>?????@@@@@AAABBBBBCCCCCCCDDEEEEEFFFFFGGGGGHHHHIIIIIJJJJJKKKKKLLMMMMMNNNNNOOOOPPPPQQQQQRRRRSSSTTTTUUUUUVVVVWWWWXXXYYYYYZZZZ[[[[\\\\]]]]]^^^___`````aaaabbcccccddddeeeeeffgggghhhhhihhhhgggggfffeeedddddccccbbbaaaaa```___^^^^^]]]]\\\\\[[ZZZZZYYYYXXXXXWWVVVVVUUUUTTTTTSSSRRRRRQQQPPPPOOOOONNNNMMMMMLLLLKKKJJJJJIIIIIHHHHGGGGGFFFFFEEEEEDDDCCCCCCBBBBBAAAA@@@@@?????>>>>>>====<<<<<<;;;;;;::::::99998888887777777766666665555544444444333333333322222222221111111000000000000000/////////////////////////////////////////////////////////////////////00000000000000011111111222222222233333333334444444555556666666677777778888889999::::::;;;;;;;<<<<<<====>>>>>>?????@@@@@AAAABBBBBCCCCCCDDEEEEEFFFFFGGGGGHHHHIIIIIJJJJJKKKKLLLLMMMMMNNNOOOOOPPPPQQQQRRRRRSSTTTTTUUUUVVVVVWWWXXXXXYYYZZZZZ[[[\\\\\]]]]^^^^^__````aaaaabbccccdddddeeeeffggggghhhhihhhhggggffeeeeeddddccccbbbbaaa`````___^^^^]]]]]\\\[[[ZZZZZYYYYXXXXXWWVVVVVUUUUTTTTTSSRRRRRQQQQQPPPOOOOONNNNNMMMMLLLKKKKKJJJJIIIIIHHHHGGGGGFFFFFEEEEEDDCCCCCCCBBBBBAAA@@@@@?????>>>>>>>===<<<<<;;;;;;;::::::99999888888777777666666665555544444443333333332222222222111111110000000000000////////////////////.......................................////////////////////000000000000001111111222222222233333333344444444555556666666777777888888899999::::::;;;;;;<<<<<====>>>>>>?????@@@@@AAAABBBBBCCCCCCDDDEEEEEFFFFFGGGGGHHHIIIIIJJJJKKKKKLLLLMMMMNNNNNOOOOOPPQQQQQRRRRRSSSTTTTTUUUVVVVVWWWXXXXXYYYYZZZZZ[[\\\\]]]]]^^^^__`````aaaabbbbcccddddeeeeefffggghhhhhhhhgggggffeeeedddddccccbbaaaaa````___^^^^^]]]\\\\\[[[ZZZZYYYYYXXXWWWWVVVVUUUUUTTTTSSSRRRRQQQQQPPPOOOOONNNNNMMMMMLLKKKKKJJJJJIIIIHHHHGGGGGFFFFFEEEEEDDDCCCCCBBBBBAAAA@@@@@?????>>>>>>====<<<<<;;;;;;:::::::9998888888777777766666655555444444444333333332222222222111111000000000000/////////////////........................................................////////////////00000000000001111112222222222333333344444444455555666666777777778888889999::::::;;;;;;<<<<<====>>>>>>?????@@@@@AAAABBBBBCCCCCDDDDEEEEEFFFFFGGGGGHHHHIIIJJJJJKKKKKLLLMMMMMNNNNNOOOOOPPQQQQQRRRRSSSSTTTTUUUUUVVVWWWWXXXXYYYYYZZZZ[[\\\\\]]]]^^^^^__````aaaaabbbcccdddddeeeefffggggghhhhhhggggffeeeeeddddccccbbbaaaa````____^^^]]]]]\\\\[[[ZZZZZYYYXXXXXWWWVVVVVUUUUTTTTTSSRRRRRQQQQPPPPOOONNNNNMMMMMLLLKKKKKJJJJJIIIIIHHGGGGGFFFFFEEEEEDDDDCCCCCBBBBBAAAA@@@@@?????>>>>>>====<<<<<;;;;;;::::::999988888877777776666666555554444444433333332222222221111111000000000000/////////////...............---------------------------------------...............//////////////00000000000111111112222222233333333444444455555666666667777778888889999::::::;;;;;;;<<<<<===>>>>>>>?????@@@@@AAABBBBBCCCCCDDDDEEEEEFFFFFGGGGGHHHIIIIIJJJJJKKKKKLLMMMMMNNNNNOOOOPPPPQQQRRRRRSSSTTTTTUUUUVVVVVWWXXXXXYYYYZZZZZ[[\\\\]]]]]^^^^____```aaaabbbbccccdddeeeeefffgggghhhhhgggggffeeeedddddccccbbaaaaa````__^^^^^]]]]\\\\[[[[ZZZYYYYYXXXXWWWVVVVVUUUUUTTTSSSRRRRRQQQQQPPOOOOONNNNMMMMMLLLLKKKKJJJJJIIIIIHHGGGGGFFFFFEEEEEDDDDCCCCCBBBBBAAAA@@@@@?????>>>>>===<<<<<<<;;;;;;:::::9999988888877777766666665555544444443333333322222222111111100000000000////////////............--------------------------------------------------------.........../////////////0000000000011111122222222233333334444444455555666666777777888888899999:::::;;;;;;<<<<<<====>>>>>?????@@@@@AAAABBBBBCCCCCDDDEEEEEFFFFFGGGGGHHHIIIIIJJJJJKKKKLLLMMMMMNNNNOOOOOPPPQQQQQRRRRRSSTTTTUUUUUVVVVVWWXXXXYYYYYZZZZ[[[[\\\]]]]^^^^^___```aaaaabbbccccdddddeeefffggggghhhhgggfffeeeeeddddcccbbbbaaaa````___^^^^]]]]\\\\\[[ZZZZZYYYYXXXXXWWWVVVUUUUUTTTTSSSSRRRRQQQQQPPOOOOONNNNNMMMMLLLLKKKKKJJJIIIIIHHHHGGGGFFFFFEEEEEDDDDCCCCCBBBBBAAA@@@@@?????>>>>>====<<<<<<;;;;;:::::::9998888888777777666666655554444444433333332222222221111110000000000///////////..........---------------------------------------------------------------------..........///////////00000000001111111222222223333333344444445555666666667777778888889999::::::;;;;;<<<<<<====>>>>>?????@@@@@AAAABBBBBCCCCCDDDDEEEEEFFFFFGGGHHHHIIIIIJJJJKKKKKLLLLMMMNNNNNOOOOOPPPQQQQQRRRRSSSTTTTUUUUUVVVVWWXXXXXYYYYZZZZZ[[[\\\\\]]]^^^^____````aaabbbbccccddddeeeeeffgggghhgggggfffeeeedddddcccbbbaaaa`````__^^^^^]]]]\\\\[[[ZZZZYYYYYXXXXWWVVVVVUUUUTTTTTSSSRRRRRQQQPPPPOOOONNNNNMMMMMLLKKKKKJJJJJIIIIHHHHGGGGGFFFFEEEEEDDDCCCCCBBBBBAAAA@@@@@?????>>>>>====<<<<<<;;;;;::::::99998888887777777666666555554444443333333322222222111111100000000////////////........--------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------.........///////////00000000011111122222222233333334444444555556666667777778888889999::::::;;;;;<<<<<<<===>>>>>?????@@@@@AAAABBBBBCCCCCDDDDEEEEEFFFFGGGGGHHHIIIIJJJJJKKKKKLLLMMMMMNNNNNOOOPPPPQQQQRRRRRSSTTTTTUUUUVVVVVWWWXXXYYYYYZZZZ[[[[\\\\]]]^^^^^___`````aaaabbccccdddddeeeeffggggghggggfffeeeeedddccccbbbbaaaa```____^^^^]]]]\\\\\[[ZZZZYYYYYXXXXWWWVVVVUUUUUTTTTSSSSRRRQQQQQPPPOOOOONNNNMMMMMLLKKKKKJJJJJIIIIIHHHGGGGGFFFFFEEEEEDDCCCCCBBBBBAAAA@@@@@?????>>>>>====<<<<<<;;;;;::::::9999888888777777666666655544444444333333322222222111110000000000//////////.........----------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------.........//////////000000000011111222222233333333444444455556666667777778888888999:::::::;;;;;<<<<<<====>>>>>?????@@@@@AAABBBBBCCCCCDDDEEEEEFFFFFGGGGGHHIIIIIJJJJJKKKKKLLLMMMMMNNNNOOOOOPPQQQQQRRRRSSSSTTTUUUUUVVVVWWWWXXXXYYYYYZZZ[[[\\\\\]]]]^^^____````aaaabbbccccddddeeeeeffgggghggggfffeeedddddccccbbbaaa`````___^^^^]]]]]\\\[[[[ZZZZYYYYXXXXXWWVVVVVUUUUTTTTTSSRRRRQQQQQPPPOOOOONNNNNMMMLLLLKKKKJJJJJIIIIIHHGGGGGFFFFFEEEEEDDDCCCCCBBBBBAAAA@@@@@?????>>>>>===<<<<<<<;;;;;:::::99999888887777776666665555544444433333333222222211111000000000//////////........---------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------.......//////////000000000111112222222233333334444445555566666667777778888899999:::::;;;;;<<<<<<====>>>>>?????@@@@@AAAABBBBBCCCCCDDEEEEEFFFFFGGGGGHHHIIIIIJJJJJKKKLLLLMMMMNNNNNOOOOOPPQQQQQRRRRSSSTTTTTUUUVVVVVWWWXXXXXYYYYZZZ[[[[\\\\]]]]]^^^^__`````aaaabbccccdddddeeeeffggggggggffeeeeeddddccccbbbbaaa````____^^^^]]]\\\\\[[[ZZZZYYYYYXXXWWWWVVVVUUUUTTTTTSSRRRRRQQQQPPPPOOONNNNNMMMMMLLLKKKKKJJJJIIIIIHHHGGGGFFFFFEEEEEDDDCCCCCBBBBBAAA@@@@@?????>>>>>====<<<<<;;;;;;:::::99998888887777777666666555544444443333332222222211111000000000//////////......--------------,,,,,,,,,,,,,,,,,,+++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,--------------......//////////0000000001111122222223333334444444455556666667777778888889999:::::;;;;;;<<<<<====>>>>>?????@@@@@AAAABBBBBCCCCCDDEEEEEFFFFFGGGGHHHHIIIIIJJJJKKKKKLLMMMMMNNNNNOOOOPPPPQQQRRRRRSSSTTTTTUUUUVVVWWWWXXXXYYYYYZZZZ[[\\\\\]]]]^^^^___````aaaabbbbcccddddeeeeefffggggggffeeeedddddccccbbaaaa`````___^^^]]]]]\\\\[[[ZZZZZYYYXXXXXWWWVVVVUUUUUTTTSSSSRRRRQQQQQPPOOOOONNNNMMMMMLLLKKKKKJJJJJIIIHHHHGGGGGFFFFEEEEEDDDDCCCCCBBBAAAA@@@@@?????>>>>>====<<<<<;;;;;;:::::999988888877777766666665554444444333333322222211111110000000/////////.......------------,,,,,,,,,,,,,,,,++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,-----------........////////000000001111112222223333333344444455556666667777778888888999:::::;;;;;;;<<<<<===>>>>>?????@@@@@AAAABBBBCCCCCDDDDEEEEEFFFGGGGGHHHHIIIIJJJJJKKKKKLLMMMMMNNNNOOOOOPPPQQQQQRRRSSSSTTTTUUUUUVVVVWWXXXXXYYYYZZZZZ[[\\\\]]]]]^^^^__`````aaaabbbcccdddddeeeefffgggggfffeeeeddddccccbbbaaaa````____^^^]]]]\\\\\[[[ZZZYYYYYXXXXWWWVVVVVUUUTTTTTSSSRRRRRQQQQPPOOOOONNNNNMMMMLLLLKKKJJJJJIIIIIHHHGGGGGFFFFFEEEEDDDCCCCCBBBBBAAA@@@@@?????>>>>>====<<<<<;;;;;;:::::99998888887777766666655555444444333333322222221111100000000////////.......-----------,,,,,,,,,,,,,,++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,-----------....../////////00000001111122222222333333444444555556666666777778888889999:::::;;;;;;<<<<<====>>>>>?????@@@@@AABBBBBCCCCCDDDDEEEEFFFFFGGGGGHHIIIIIJJJJJKKKKLLLLMMMNNNNNOOOOOPPPQQQQRRRRRSSTTTTTUUUUVVVVVWWXXXXYYYYYZZZZ[[\\\\\]]]]^^^^____```aaaabbbbccccdddeeeeffffggggffeeeedddddccccbbaaaa`````__^^^^]]]]]\\\\[[ZZZZZYYYYXXXXXWWWVVVUUUUUTTTTSSSSRRRRQQQQQPPOOOONNNNNMMMMMLLKKKKKJJJJIIIIIHHHGGGGGFFFFFEEEEEDDCCCCCBBBBBAAA@@@@@?????>>>>>===<<<<<;;;;;;;:::::999888887777777666666555544444433333332222222111110000000/////////......----------,,,,,,,,,,,,,++++++++++++++++++***************************************+++++++++++++++++++,,,,,,,,,,,,----------.......////////0000000011111222222333333334444445555666666777777888889999:::::;;;;;;<<<<<====>>>>>?????@@@@@AABBBBBCCCCCDDDEEEEEFFFFFGGGGGHHIIIIIJJJJKKKKKLLLMMMMMNNNNNOOOPPPQQQQQRRRRSSSTTTTUUUUUVVVVWWXXXXXYYYYZZZZZ[[[\\\]]]]]^^^^___`````aaabbbccccdddddeeefffggffffeeeeddddcccbbbbaaaa````___^^^^]]]]\\\\\[[ZZZZYYYYYXXXXWWVVVVVUUUUTTTTTSSSRRRQQQQQPPPOOOOONNNNMMMMMLLKKKKKJJJJIIIIIHHHHGGGFFFFFEEEEEDDDCCCCCBBBBBAAAA@@@@@???>>>>>>>==<<<<<;;;;;;:::::999988888777777666666655544444443333332222221111100000000////////.....----------,,,,,,,,,,,,,+++++++++++++++******************************************************+++++++++++++++,,,,,,,,,,,,----------...../////////00000001111122222223333334444445555666666777777888889999:::::;;;;;;<<<<<===>>>>>>????@@@@@AAAABBBBBCCCCCDDEEEEEFFFFFGGGGHHHHIIIIIJJJKKKKKLLLMMMMMNNNNOOOOOPPQQQQQRRRRSSTTTTTUUUUVVVVVWWWXXXYYYYYZZZZ[[[\\\\\]]]^^^^____````aaabbbbccccddddeeeffffgfffeeeedddddcccbbbaaaaa````__^^^^]]]]]\\\\[[ZZZZZYYYYXXXXXWWVVVVUUUUUTTTTSSRRRRRQQQQPPPPOOOONNNNNMMMLLLLKKKKJJJJJIIIIHHHGGGGGFFFFEEEEEDDDDCCCCBBBBBAAA@@@@@?????>>>>>===<<<<<;;;;;;:::::9999888887777776666655555444444333333322222211111000000/////////.....----------,,,,,,,,,,++++++++++++++***************))))))))))))))))))))))))))))))))))))***************++++++++++++++,,,,,,,,,,----------.....////////0000000111112222223333334444445555566666777777788888999:::::;;;;;;;<<<<<==>>>>>?????@@@@@AAAABBBBBCCCCDDDEEEEEFFFFGGGGGHHHHIIIIJJJJJKKKLLLLMMMMNNNNNOOOOPPPQQQQRRRRRSSSTTTUUUUUVVVVWWWXXXXXYYYZZZZZ[[[\\\\]]]]]^^^___````aaaaabbccccdddddeeeeffgfffeeeedddcccccbbbaaaa```____^^^^]]]]\\\\\[[ZZZZYYYYYXXXXWWVVVVVUUUUTTTTSSSRRRRQQQQQPPPOOOOONNNMMMMMLLLKKKKKJJJJIIIIIHHGGGGGFFFFFEEEEDDDDCCCCCBBBAAAA@@@@@?????>>>>>===<<<<<<;;;;;:::::9999888887777776666655554444443333332222221111100000000///////.....---------,,,,,,,,,,+++++++++++++***********))))))))))))))))))))))))))))))))))))))))))))))))))))))***********++++++++++++,,,,,,,,,,---------.....////////0000000111112222223333333444444555566666777777888889999:::::;;;;;<<<<<<==>>>>>?????@@@@@AAAABBBBCCCCCDDDDEEEFFFFFGGGGGHHHIIIIIJJJJKKKKKLLMMMMMNNNNOOOOOPPQQQQQRRRRSSSSTTTTUUUVVVVVWWWXXXXYYYYYZZZ[[[\\\\\]]]]^^^____````aaaabbcccccddddeeeeffgffeeeeedddccccbbbaaaaa```___^^^^]]]]]\\\[[[ZZZZZYYYYXXXWWWWVVVVUUUUUTTTTSSRRRRRQQQQPPOOOOONNNNMMMMMLLLKKKKKJJJIIIIIHHHGGGGGFFFFFEEEEEDDCCCCCBBBBBAAA@@@@@?????>>>>>====<<<<<;;;;;:::::99988888777776666666555444444433333322222211111000000////////.....---------,,,,,,,,,,+++++++++++**********))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))**********+++++++++++,,,,,,,,,,---------.....///////000000111112222222333333444444555566666677777888889999:::::;;;;;<<<<<====>>>>>?????@@@@@AABBBBBCCCCCDDDEEEEEFFFFFGGGGGHHIIIIIJJJJKKKKKLLMMMMMNNNNOOOOOPPPQQQRRRRRSSSTTTTUUUUUVVVWWWWXXXXYYYYZZZZZ[[\\\\]]]]]^^^^__````aaaaabbccccddddeeeeeffffeeeddddcccccbbbaaa````____^^^^]]]\\\\\[[[ZZZZYYYYYXXXWWWVVVVVUUUUTTTSSSSRRRRQQQQQPPOOOONNNNNMMMMLLLLKKKJJJJJIIIIHHHHGGGGFFFFFEEEEEDDCCCCCBBBBBAAA@@@@@?????>>>>>===<<<<<;;;;;:::::999988888777776666665555444444333333322222211110000000//////.....---------,,,,,,,,,+++++++++++*********)))))))))))))))))))(((((((((((((((((((((((((((((((((((()))))))))))))))))))********++++++++++++,,,,,,,,---------.....//////000000001111222222333333444444555566666677777888889999:::::;;;;;<<<<<====>>>>>?????@@@@@AABBBBBCCCCCDDDEEEEEFFFFFGGGGHHHIIIIJJJJJKKKKLLLLMMMNNNNNOOOOPPPQQQQQRRRSSSSTTTTUUUUVVVVVWWXXXXYYYYYZZZZ[[\\\\\]]]]^^^^___````aaaabbcccccddddeeeeffeeeeeddddccccbbaaaaa````___^^^^^]]]\\\\[[[ZZZZZYYYXXXXWWWWVVVVUUUTTTTTSSSRRRRRQQQQPPOOOOONNNNMMMMMLLKKKKKJJJJIIIIIHHHGGGGGFFFEEEEEDDDDCCCCBBBBBAAAA@@@?????>>>>>====<<<<<;;;;;:::::99998888877777666666555544444333333222222111110000000///////.....--------,,,,,,,,++++++++++********))))))))))))))))((((((((((((((((((((((((((((((((((((((((((((((((((()))))))))))))))))*******++++++++++,,,,,,,,,-------.....////////0000001111122222233333334444455566666667777788888999:::::;;;;;<<<<<====>>>>>?????@@@@AAAABBBBBCCCDDDDEEEEEFFFFGGGGGHHIIIIIJJJJKKKKKLLLMMMMMNNNOOOOOPPPQQQQRRRRRSSTTTTTUUUUVVVVWWWXXXXYYYYZZZZZ[[\\\\]]]]^^^^^__````aaaaabbbcccddddeeeeefeeeedddddccccbbaaaa`````___^^^]]]]\\\\\[[[ZZZYYYYYXXXXWWWVVVVVUUUTTTTSSSSRRRRQQQPPPPOOOONNNNNMMMMLLKKKKKJJJJJIIIIHHGGGGGFFFFFEEEEDDDDCCCCCBBBBAAA@@@@@????>>>>>====<<<<<;;;;;:::::999988888777776666665555444443333332222221111000000////////.....-------,,,,,,,,,+++++++++*******))))))))))))))(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()))))))))))))********+++++++++,,,,,,,,--------.....///////0000000111222222233333344444555566666677777888889999:::::;;;;;<<<<<===>>>>>????@@@@@AAAABBBBCCCCCDDDEEEEFFFFFGGGGGHHHIIIJJJJJKKKKKLLLMMMMNNNNNOOOPPPPQQQQRRRRSSSTTTTUUUUVVVVVWWXXXXYYYYYZZZZ[[\\\\\]]]]^^^^__`````aaaabbbcccdddddeeeefeeeeddddccccbbbaaaa````__^^^^^]]]]\\\\[[ZZZZZYYYYXXXXWWWWVVVUUUUTTTTTSSSRRRQQQQQPPPOOOOONNNNMMMMMLLKKKKJJJJJIIIIHHHGGGGFFFFFEEEEEDDDCCCCCBBBBBAA@@@@@?????>>>>====<<<<<;;;;;:::::999888887777766666665554444433333332222221111000000//////.....--------,,,,,,,,+++++++++******)))))))))))))(((((((((((((((((((''''''''''''''''''''''''''''''''''''((((((((((((((((((())))))))))))******+++++++++,,,,,,,,,-------.....///////000000111122222233333344444555566666677777888889999:::::;;;;;<<<<<====>>>?????@@@@@AAABBBBBCCCCCDDEEEEEFFFFFGGGGHHHHIIIIJJJJJKKKLLLMMMMMNNNNOOOOOPPQQQQQRRRRSSTTTTTUUUUVVVVWWWWXXXYYYYZZZZZ[[[\\\]]]]^^^^^___```aaaabbbbccccdddeeeefeeedddddccccbbaaaa`````__^^^^]]]]\\\\\[[ZZZZYYYYYXXXXWWVVVVVUUUUTTTTSSSSRRRQQQQPPPPOOOONNNMMMMMLLLKKKKKJJJJIIIIIHHGGGGGFFFFEEEEEDDCCCCCBBBBBAAA@@@@@?????>>>>>==<<<<<;;;;;:::::9999888887777766666655544444433333322222111110000000//////.....------,,,,,,,,,+++++++++******)))))))))))((((((((((((((('''''''''''''''''''''''''''''''''''''''''''''''''''((((((((((((((())))))))))))******+++++++++,,,,,,,,-------.....//////000000111112222233333344444445566666677777888889999:::::;;;;;<<<<<===>>>>>?????@@@@@AABBBBBCCCCCDDDEEEEEFFFGGGGGHHHIIIIIJJJJKKKKKLLMMMMMNNNNOOOOPPPQQQQRRRRSSSSTTTUUUUVVVVVWWWXXXYYYYYZZZZ[[[\\\\\]]]^^^^___`````aaabbbccccdddddeeeeeeddddcccccbbaaaa````__^^^^^]]]]\\\\[[ZZZZZYYYYXXXXWWWVVVVUUUUTTTTTSSRRRRQQQQQPPPOOONNNNNMMMMLLLLKKKKJJJJJIIIHHHHGGGGFFFFFEEEEDDDCCCCBBBBBAAAA@@@@?????>>>>>==<<<<<;;;;;:::::99998888877777666665555444444333332222221111000000//////.....--------,,,,,,,++++++++******)))))))))))(((((((((((((''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((()))))))))))*******+++++++,,,,,,,,-------.....//////00000001112222222333334444445555666667777788888999:::::;;;;;<<<<<===>>>>>?????@@@@AAABBBBBCCCCDDDDEEEEFFFFFGGGHHHHIIIIJJJJJKKKKLLLMMMMNNNNNOOOOPPQQQQQRRRRSSSTTTTTUUUVVVVWWWWXXXXYYYZZZZZ[[[\\\\]]]^^^^^___````aaabbbcccccddddeeeeeeddddcccbbbaaaaa````__^^^^]]]]]\\\\[[ZZZZYYYYYXXXXWWVVVVVUUUUTTTTSSRRRRRQQQQPPPPOOONNNNMMMMMLLLKKKKKJJJIIIIIHHHGGGGFFFFFEEEEEDDCCCCCBBBBAAAA@@@@@???>>>>>====<<<<;;;;;:::::99998888877777666665554444444333332222221111000000//////....-------,,,,,,,,+++++++*******))))))))))((((((((((((''''''''''''''''''&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'''''''''''''''''((((((((((((())))))))))******++++++++,,,,,,,--------...///////00000011112222223333344444455556666677777888889999:::::;;;;;<<<====>>>>>????@@@@@AAAABBBCCCCCDDDEEEEEFFFFFGGGGHHIIIIIJJJJKKKKKLLMMMMMNNNNOOOOPPPPQQQRRRRRSSSTTTTUUUVVVVVWWWXXXXYYYYYZZZ[[[\\\\]]]]]^^^___````aaaaabbccccddddeeeeedddcccccbbbaaaa```____^^^^]]]]\\\[[[[ZZZZYYYYXXXWWWWVVVVUUUUTTTTTSSRRRRQQQQQPPOOOONNNNNMMMMLLLLKKKJJJJIIIIIHHHGGGGGFFFEEEEEDDDCCCCCBBBBBAA@@@@@?????>>>>====<<<<<;;;;;::::99988888777776666655554444443333322222221110000000//////....------,,,,,,,++++++++******)))))))))((((((((((('''''''''''''''&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'''''''''''''''(((((((((((())))))))*******+++++++,,,,,,,,------....//////00000011112222223333344444455556666677777888889999::::;;;;;<<<<<===>>>>?????@@@@@AAABBBBBCCCCCDDEEEEEFFFFGGGGGHHIIIIIJJJJKKKKLLLLMMMNNNNNOOOOPPPQQQQQRRRSSSTTTTTUUUUVVVWWWWXXXXYYYYZZZ[[[[\\\\]]]]^^^____````aaaabbcccccddddeeeedddccccbbbaaaaa```___^^^^]]]]]\\\[[[ZZZZYYYYYXXXWWWVVVVVUUUUTTTSSSRRRRRQQQQPPOOOOONNNNMMMMMLLKKKKJJJJJIIIIHHHHGGGFFFFFEEEEDDDDCCCCBBBBBAA@@@@@?????>>>>>===<<<<<;;;;;:::::99888887777766666555544444433333222221111100000//////.....-------,,,,,,+++++++++*****))))))))((((((((((''''''''''''''&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&''''''''''''''(((((((((()))))))))*****+++++++++,,,,,,------.....//////000001111122222333334444444555666667777788888999:::::;;;;;<<<<<==>>>>>?????@@@@@AAABBBBBCCCCDDDEEEEFFFFFGGGGHHHHIIIJJJJJKKKKLLLMMMMMNNNOOOOOPPPQQQQRRRRRSSTTTTUUUUVVVVVWWXXXXYYYYYZZZZ[[\\\\]]]]]^^^^__````aaaaabbccccddddeedddddccccbbbaaa`````___^^^^]]]\\\\[[[[ZZZZYYYXXXXXWWWVVVVUUUTTTTTSSSRRRRQQQQQPPOOOONNNNNMMMMLLKKKKKJJJJIIIIIHHGGGGGFFFFEEEEEDDDCCCCCBBBAAAA@@@@?????>>>>>==<<<<<;;;;;:::::999888887777766666655544444433333222221111000000//////....------,,,,,,,,+++++++*****)))))))))(((((((((''''''''''''&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&'''''''''''''((((((((())))))))*****++++++++,,,,,,,-------...///////00000011112222233333444444556666666777778888899:::::;;;;;<<<<<===>>>>>?????@@@AAAABBBBCCCCCDDEEEEEFFFFGGGGGHHHIIIIIJJJKKKKKLLLMMMMNNNNNOOOPPPQQQQQRRRRSSTTTTTUUUUVVVVWWXXXXXYYYYZZZZ[[[\\\\]]]]^^^^__`````aaaabbccccdddddeddddccccbbbbaaa````___^^^^^]]]\\\\[[[ZZZYYYYYXXXXWWWVVVVVUUUTTTTSSSRRRRRQQQPPPOOOOONNNNMMMMMLLKKKKJJJJJIIIIHHHGGGGFFFFFEEEEDDCCCCCBBBBBAAA@@@@@????>>>>>===<<<<;;;;;:::::999988887777766666655444444433333222221110000000//////....------,,,,,,++++++++*****))))))))((((((((('''''''''''&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&'''''''''''((((((((()))))))))*****+++++++,,,,,,,------....//////00000011112222233333444444555666666777778888999:::::;;;;;<<<<====>>>>>????@@@@@AABBBBBCCCCCDDDEEEFFFFFGGGGHHHHIIIIJJJJJKKKLLLMMMMMNNNNOOOOOPPQQQQRRRRRSSTTTTUUUUVVVVVWWXXXXYYYYYZZZZ[[\\\\]]]]^^^^^__````aaaabbbbcccddddeddddccccbbaaaa`````___^^^]]]]\\\\\[[[ZZZYYYYXXXXXWWWVVVUUUUTTTTTSSSRRRQQQQQPPPOOOONNNNNMMMLLLKKKKKJJJJIIIIIHHGGGGFFFFFEEEEDDDCCCCBBBBBAAA@@@@@?????>>>====<<<<<;;;;:::::99998888877777666665544444433333222221111000000/////.....-------,,,,,,++++++*****)))))))))(((((((((''''''''''&&&&&&&%%%%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%&&&&&&&&''''''''''((((((((())))))))*****+++++++,,,,,,------...../////000000111122222333334444445556666677777888889999:::::;;;<<<<<====>>>>?????@@@@@AABBBBBCCCCDDDDEEEEFFFFFGGGHHHIIIIIJJJJKKKKKLLMMMMNNNNNOOOOPPQQQQQRRRRSSTTTTTUUUUVVVVWWXXXXXYYYYZZZZ[[\\\\\]]]]^^^^__`````aaaabbbcccddddedddcccccbbaaaa````__^^^^^]]]]\\\\[[ZZZZZYYYYXXXXWWVVVVVUUUUTTTTSSRRRRRQQQQPPPOOOOONNNMMMMMLLLKKKKJJJJJIIIHHHGGGGGFFFFEEEEEDDCCCCCBBBBAAAA@@@?????>>>>>===<<<<<;;;;;::::9998888877777666665554444443333322222111100000//////....------,,,,,,++++++++*****)))))))((((((((''''''''''&&&&&&&%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%&&&&&&&&''''''''''((((((())))))))*****+++++++,,,,,,-------...///////0000011122222333334444444556666677777888889999::::;;;;;<<<<<==>>>>>?????@@@@AAAABBBCCCCCDDDEEEEEFFFFGGGGGHHIIIIJJJJJKKKKLLMMMMMNNNNOOOOOPPQQQQRRRRRSSSTTTUUUUVVVVVWWWXXXYYYYZZZZZ[[[\\\]]]]^^^^^___```aaaabbbcccccddddddccccbbaaaaa````__^^^^]]]]]\\\\[[ZZZZYYYYXXXXXWWVVVVUUUUTTTTTSSRRRRQQQQQPPPOOONNNNNMMMMLLLKKKKKJJJIIIIHHHHGGGGFFFFFEEEDDDDCCCCBBBBBAA@@@@@????>>>>>===<<<<<;;;;;:::::998888877777666665555444443333322222111100000//////....------,,,,,,++++++*****))))))))(((((((''''''''''&&&&&&&%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%&&&&&&''''''''''(((((((()))))))*****++++++,,,,,,,------....//////000001111222223333344444555666667777788888999:::::;;;;;<<<<<==>>>>>????@@@@@AAABBBBBCCCDDDDEEEEFFFFFGGGGHHHIIIIJJJJKKKKKLLMMMMNNNNNOOOOPPQQQQQRRRRSSSTTTTTUUUVVVVWWWXXXXXYYYZZZZ[[[\\\]]]]]^^^^___```aaaaabbbccccddddddccccbbaaaa````___^^^^]]]]\\\\[[[ZZZZYYYYXXXXWWVVVVVUUUUTTTTSSSRRRRQQQQPPOOOOONNNNMMMMLLLLKKKJJJJJIIIIHHHGGGGGFFFEEEEEDDDCCCCBBBBBAA@@@@@?????>>>>====<<<;;;;;:::::999888887777766666555544444333332222211100000///////...-------,,,,,,++++++****)))))))(((((((('''''''''&&&&&&%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$##################################$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%&&&&&&'''''''''((((((())))))))***+++++++,,,,,,------....//////000001111222223333344444555566666777778888899:::::;;;;;<<<<====>>>?????@@@@@AAABBBBBCCCCDDEEEEEFFFFGGGGGHHIIIIJJJJJKKKKLLLLMMMNNNNOOOOOPPPQQQRRRRSSSSTTTTUUUVVVVVWWWXXXXYYYZZZZ[[[[\\\\]]]^^^^____````aaabbbccccdddddcccccbbaaaa````__^^^^]]]]]\\\\[[ZZZZYYYYYXXXXWWVVVVUUUUUTTTTSSRRRRQQQQQPPOOOONNNNNMMMMLLKKKKKJJJJIIIIHHHHGGGFFFFFEEEEDDDCCCCCBBBAAAA@@@@?????>>>>===<<<<<;;;;:::::999988887777766666555444443333322222111100000//////....-----,,,,,,+++++++*****))))))((((((('''''''''&&&&&&%%%%%%%%%%$$$$$$$$$$$$$$$#################################################$$$$$$$$$$$$$$$%%%%%%%%%%&&&&&&'''''''''(((((((())))))*****++++++,,,,,,-----....//////000001111222223333344444555566666777778888999:::::;;;;<<<<<====>>>>?????@@@AAAABBBBCCCCCDDEEEEFFFFFGGGGHHHHIIIJJJJKKKKKLLLMMMNNNNNOOOOPPPQQQQQRRRSSSTTTTUUUUUVVVWWWXXXXYYYYYZZZ[[[\\\\]]]]]^^^___````aaabbbcccccddddcccbbbaaaa`````__^^^^]]]]\\\\\[[ZZZZYYYYXXXWWWWVVVVUUUUTTTSSSSRRRRQQQQPPOOOOONNNNMMMMLLLKKKKJJJJIIIIIHHGGGGGFFFFEEEEDDDDCCCBBBBBAAA@@@@@????>>>>>==<<<<<;;;;;::::999988888777666665555444443333322222111100000/////....------,,,,,,++++++****))))))))(((((((''''''''&&&&&&%%%%%%%%%%$$$$$$$$$$$$###########################################################$$$$$$$$$$$$$%%%%%%%%%%&&&&&&'''''''(((((((()))))))****++++++,,,,,,,------..../////000001112222233333444445555666667777888889999:::;;;;;<<<<<===>>>>>????@@@@@AABBBBBCCCCDDDDEEEFFFFGGGGGHHHIIIIIJJJKKKKLLLLMMMMNNNOOOOOPPPQQQQRRRSSSSTTTTUUUUVVVWWWWXXXXYYYYZZZ[[[\\\\\]]]]^^^___`````aaaabbccccddddcccbbbaaaa```___^^^^^]]]]\\\[[[ZZZZZYYYYXXXWWWVVVVUUUUUTTTSSSRRRRQQQQQPPOOOONNNNNMMMMLLKKKKKJJJJIIIIHHHGGGGFFFFEEEEEDDCCCCCBBBBAAA@@@@@?????>>>====<<<<;;;;;:::::99888887777766665555444443333322222111100000/////...-------,,,,,,++++++****))))))(((((((('''''''&&&&&%%%%%%%%%%$$$$$$$$$$$##################""""""""""""""""""""""""""""""""""#################$$$$$$$$$$$%%%%%%%%%%&&&&&''''''''((((((()))))))***+++++++,,,,,,------..../////00000111122222333334444455566667777788888999:::::;;;;;<<<====>>>>?????@@@@@AABBBBCCCCCDDDEEEEEFFFGGGGHHHHIIIIJJJKKKKKLLLMMMMNNNNNOOOPPPQQQQQRRRRSSTTTTUUUUUVVVVWWXXXXYYYYZZZZZ[[\\\\]]]]^^^^^__````aaaabbccccddccccbbbbaaaa```___^^^^]]]]]\\\[[[ZZZZYYYXXXXXWWWVVVVUUUTTTTTSSSRRRRQQQPPPPOOOONNNNMMMLLLLKKKKJJJJIIIIIHHGGGGFFFFFEEEEDDDCCCCBBBBBAAA@@@?????>>>>====<<<<;;;;;:::::9988888777776666655544444333332222211100000/////....------,,,,,+++++++*****))))))((((((''''''''&&&&&%%%%%%%%%%$$$$$$$$$$#############"""""""""""""""""""""""""""""""""""""""""""""""""##############$$$$$$$$$$%%%%%%%%%%&&&&&'''''''((((((())))))*****++++++,,,,,------..../////00000111122222333334444455666667777788888999:::::;;;;;<<<<===>>>>?????@@@@AABBBBBCCCCDDDDEEEEFFFFFGGGHHHIIIIIJJJJKKKLLLLMMMMNNNNOOOPPPPQQQQRRRRSSTTTTTUUUUVVVVWWXXXXXYYYYZZZZ[[\\\\]]]]]^^^^__````aaaabbbccccdccccbbbaaa`````___^^^^]]]\\\\[[[ZZZZZYYYXXXXWWWVVVVVUUUTTTTSSSRRRRRQQQPPPOOOONNNNNMMMLLLKKKKKJJJJIIIHHHHGGGGFFFFEEEEEDDCCCCBBBBBAA@@@@@????>>>>>===<<<<<;;;:::::99998888777776666655444443333322222111100000/////....------,,,,,++++++****))))))((((((((''''''&&&&&&%%%%%%%%$$$$$$$$$$############"""""""""""""!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""#############$$$$$$$$$$%%%%%%%&&&&&&'''''''((((((())))))****++++++,,,,,-------.../////00000111122222333334444455566666777778889999:::::;;;;<<<<<==>>>>>????@@@@@AAABBBBBCCCDDDEEEEEFFFFGGGHHHHIIIIJJJJKKKKKLLMMMMNNNNNOOOOPPQQQQRRRRRSSTTTTUUUUVVVVVWWXXXXYYYYZZZZZ[[\\\\]]]]^^^^__`````aaaabbccccdccccbbbaaa````___^^^^^]]]\\\\[[[ZZZYYYYYXXXXWWWVVVUUUUTTTTTSSSRRRQQQQPPPPOOOONNNMMMMMLLLKKKKJJJIIIIIHHHGGGGFFFFFEEEDDDCCCCCBBBBAAA@@@@?????>>>>====<<<;;;;;::::99998888877776666655544443333322222111100000/////....------,,,,,++++++****))))))((((((''''''''&&&&&%%%%%%%$$$$$$$$$$############""""""""""!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""###########$$$$$$$$$$%%%%%%%%&&&&&'''''''(((((()))))))***+++++++,,,,,------..../////0000011122222333334444555566666777788888999::::;;;;;<<<<====>>>?????@@@@AAAABBBBCCCCCDDEEEEFFFFFGGGGHHIIIIIJJJJKKKKLLMMMMMNNNNOOOOPPPQQQQRRRRSSTTTTTUUUUVVVVWWXXXXYYYYYZZZZ[[\\\\]]]]^^^^^__````aaaabbccccdcccbbaaaaa````___^^^]]]]\\\\\[[[ZZZYYYYXXXXWWWWVVVUUUUTTTTSSRRRRRQQQQPPPOOONNNNNMMMMLLLKKKKKJJJIIIIHHHGGGGGFFFEEEEEDDDCCCCBBBBBAA@@@@@????>>>>>==<<<<;;;;;:::::9998888877777666555544444333332222111100000/////...-----,,,,,,,+++++*****))))))((((((''''''&&&&&%%%%%%%%$$$$$$$$$##########""""""""!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"""""""""##########$$$$$$$$$%%%%%%%&&&&&''''''((((((())))))*****+++++,,,,,,-----..../////000001111222333334444455556666777778888899:::::;;;;;<<<<===>>>>>???@@@@@AAABBBBBCCCCDDEEEEEFFFFGGGGGHHIIIIJJJJKKKKKLLMMMMNNNNNOOOOPPQQQQRRRRRSSSTTTUUUUVVVVWWWWXXXYYYYZZZZ[[\\\\\]]]]^^^^__````aaaaabbbccccccbbaaaa````____^^^]]]]\\\\[[ZZZZZYYYYXXXXWWVVVVUUUUUTTTTSSRRRRQQQQQPPPOOONNNNMMMMMLLLKKKJJJJIIIIIHHHGGGFFFFFEEEEDDDCCCCCBBBAAAA@@@@????>>>>>==<<<<<;;;;:::::998888877777666665554444433333222221100000/////....-----,,,,,,+++++****))))))((((((('''''''&&&&%%%%%%%$$$$$$$$$##########""""""""!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!"""""""##########$$$$$$$$$%%%%%%%%&&&''''''''(((((())))))****+++++,,,,,,-----..../////0000011122222333334444455666667777788888999:::::;;;<<<<<===>>>>>????@@@AAAABBBBCCCCCDDEEEEFFFFFGGGGHHIIIIIJJJJKKKKLLMMMMMNNNNOOOOPPQQQQQRRRRSSSTTTUUUUUVVVVWWWXXXYYYYZZZZZ[[[\\\]]]]^^^^____```aaaabbbccccccbbaaaa````__^^^^]]]]]\\\\[[ZZZZYYYYXXXXXWWVVVVUUUUTTTTSSSRRRRQQQQPPOOOOONNNNMMMMLLKKKKKJJJJIIIIHHGGGGGFFFFEEEEEDDDCCCBBBBBAAA@@@@?????>>>====<<<<;;;;;::::999888877777666665554444433333222221100000/////....-----,,,,,,+++++****))))))(((((('''''''&&&&&%%%%%%$$$$$$$$$########""""""""!!!!!!!!!!!!!! !!!!!!!!!!!!!!"""""""#########$$$$$$$$$%%%%%%&&&&&''''''(((((()))))))***+++++,,,,,,,-----.../////0000011122222333334444455666667777788889999::::;;;;;<<<====>>>>?????@@@@AABBBBBCCCCDDEEEEEFFFFGGGGGHHHIIIJJJJKKKKKLLLMMMNNNNOOOOOPPPQQQRRRRSSSSTTTTUUUVVVVWWWXXXXXYYYZZZZ[[[\\\]]]]]^^^^___```aaaabbbcccccbbaaaaa````__^^^^]]]]\\\\[[[ZZZZYYYYXXXXWWVVVVVUUUUTTTTSSRRRRQQQQQPPOOOONNNNMMMMMLLKKKKJJJJIIIIIHHGGGGFFFFFEEEEDDCCCCCBBBBAAA@@@@@???>>>>>===<<<<<;;;;:::::99888887777666665555444333332222211110000/////....-----,,,,,,+++++****))))))((((((''''''&&&&%%%%%%%%$$$$$$$#########""""""!!!!!!!!!!!!! !!!!!!!!!!!!"""""""########$$$$$$$$%%%%%%%&&&&''''''((((((())))))****+++++,,,,,,-----..../////00011112222233333444455556666677788888999:::::;;;;<<<<<==>>>>>????@@@@@AABBBBCCCCCDDDEEEFFFFFGGGGHHHIIIIIJJJKKKKLLLMMMMMNNNOOOOPPPQQQQQRRRSSSTTTTUUUVVVVVWWWXXXXYYYZZZZ[[[[\\\\]]]^^^^___```aaaaabbbccccbbaaaa````___^^^^]]]]\\\\[[ZZZZYYYYYXXXXWWVVVVUUUUTTTTTSSRRRRQQQQPPOOOOONNNNMMMMLLKKKKKJJJJIIIIHHHGGGGFFFFEEEEEDDCCCCBBBBBAAA@@@?????>>>>===<<<<<;;;;;:::9998888877777666655544444333322222111100000/////..-----,,,,,,,+++++***)))))(((((((''''''&&&&&%%%%%%$$$$$$$$########"""""""!!!!!!!!!! !!!!!!!!!!""""""#########$$$$$$$%%%%%%%&&&&&''''''(((((()))))****+++++,,,,,,-----.../////000001112222233334444455556666777778888899::::;;;;;<<<<<==>>>>?????@@@@AABBBBBCCCCDDDEEEEEFFFGGGGHHHHIIIIJJJKKKKKLLLMMMMNNNOOOOOPPPQQQQRRRSSSTTTTTUUUUVVVWWWXXXXYYYYYZZZ[[[\\\\]]]^^^^____````aaabbbccccbbaaaa````__^^^^]]]]]\\\\[[ZZZZYYYYXXXWWWWVVVVUUUUTTTSSSRRRRRQQQQPPOOOONNNNNMMMMLLKKKKJJJJJIIIIHHGGGGFFFFFEEEEDDCCCCCBBBBAA@@@@@????>>>>>===<<<;;;;;::::9999888877777666665544444333332222111100000/////..-----,,,,,,+++++****)))))(((((('''''''&&&%%%%%%%%$$$$$$#########"""""!!!!!!!!!! !!!!!!!!!!"""""########$$$$$$$%%%%%%%&&&&''''''(((((()))))****+++++,,,,,,-----.../////000001111222333334444455566666777778888999::::;;;;;<<<<==>>>>>????@@@@@AAABBBCCCCCDDDEEEEFFFFFGGGHHHIIIIJJJJJKKKLLLMMMMNNNNNOOOPPPQQQQRRRRRSSTTTTUUUUVVVWWWWXXXXYYYYZZZ[[[\\\\]]]]]^^^___````aaabbbccbbbaaaaa````__^^^^]]]]\\\[[[[ZZZZYYYYXXXWWWVVVVUUUUUTTTSSSRRRRQQQPPPPOOOONNNNMMMLLLLKKKKJJJJIIIHHHHGGGGFFFFEEEEEDDCCCCBBBBBAA@@@@?????>>>>==<<<<<;;;;:::::99988888777666665554444433333222221100000/////...------,,,,,+++++****)))))((((((''''''&&&&%%%%%%$$$$$$$$#######"""""!!!!!!!!!! !!!!!!!!!!"""""########$$$$$$$%%%%%%&&&&''''''((((((()))))***+++++,,,,,-------../////00000111222223333344444556666677778888899:::::;;;;<<<<<===>>>?????@@@@AAABBBBBCCCDDDEEEEEFFFFGGGHHHHIIIIJJJJKKKLLLLMMMMNNNNOOOPPPPQQQQRRRRSSTTTTUUUUUVVVVWWXXXXYYYYZZZ[[[[\\\\]]]]^^^___````aaaaabbcbbbaaaa```____^^^^]]]]\\\[[[ZZZZYYYYYXXXWWWVVVVUUUTTTTSSSSRRRRQQQPPPOOOONNNNNMMMLLLKKKKJJJJJIIIHHHGGGGFFFFFEEEDDDCCCCCBBBBAA@@@@@????>>>>===<<<<;;;;;::::99998887777766665555444433333222221100000/////....-----,,,,,+++++****)))))(((((('''''&&&&&%%%%%%$$$$$$########"""""!!!!!!!!! !!!!!!!!!"""""#######$$$$$$%%%%%%%&&&&&'''''(((((()))))****+++++,,,,,-----.../////000001112222233333444455566667777788889999:::;;;;;<<<<====>>>>???@@@@@AAABBBBCCCCCDDEEEEFFFFFGGGGHHIIIIJJJJJKKKKLLMMMMNNNNNOOOOPPQQQQRRRRSSSTTTTUUUUVVVVWWXXXXYYYYYZZZZ[[\\\\]]]]^^^____````aaaabbcbbbaaaa```___^^^^]]]]]\\\[[[ZZZZYYYXXXXWWWVVVVVUUUTTTTSSSRRRQQQQQPPPOOOONNNMMMMMLLLKKKKJJJIIIIHHHHGGGGFFFEEEEEDDDCCCCBBBAAAA@@@@?????>>>>==<<<<<;;;;:::::9988887777766666555444443332222211110000/////....-----,,,,,+++++***)))))((((('''''''&&&%%%%%%%$$$$$$#######"""""!!!!!!!!! !!!!!!!!!"""""########$$$$$$%%%%%%&&&&''''''((((()))))****+++++,,,,,-----..../////0001111222223333444445566666777778888999:::::;;;<<<<<===>>>>?????@@@AAAABBBBCCCCDDEEEEEFFFFGGGGHHHIIIIJJJJKKKKLLMMMMMNNNNOOOOPPQQQQQRRRRSSTTTTUUUUVVVVVWWXXXXYYYYZZZZ[[\\\\]]]]]^^^^__````aaaabbcbbbaaaa```___^^^^]]]\\\\[[[ZZZZZYYYXXXXWWWVVVUUUUTTTTTSSSRRRQQQQPPPOOOOONNNMMMMLLLKKKKKJJJIIIIHHHGGGGGFFFEEEEDDDCCCCCBBBAAA@@@@@????>>>====<<<<;;;;;::::99888887777666665544444333332222111100000////...-----,,,,,+++++****)))))(((((''''''&&&&%%%%%%$$$$$$$######"""""!!!!!!!!! !!!!!!!!!"""""######$$$$$$%%%%%%&&&&''''''((((()))))****+++++,,,,,-----....////00000111222233333444445556666677788888999::::;;;;;<<<====>>>>????@@@@@AABBBBCCCCCDDEEEEFFFFGGGGGHHIIIIJJJJKKKKKLLMMMMNNNNOOOOOPPQQQQRRRRSSTTTTTUUUUVVVVWWXXXXYYYYZZZZZ[[\\\\]]]]^^^^__````aaaabbbbbaaa````____^^^^]]]\\\\[[[ZZZYYYYXXXXXWWWVVVUUUUTTTTSSRRRRRQQQQPPPOOONNNNMMMMMLLLKKKJJJJIIIIIHHHGGGFFFFEEEEEDDDCCCBBBBBAAA@@@@???>>>>>===<<<<<;;;;:::999988887777766665554444333332222211100000/////..-----,,,,,+++++****)))))(((((''''''&&&&%%%%%%$$$$$$#######"""""!!!!!!! !!!!!!!!"""""######$$$$$$%%%%%%%&&&'''''''((((()))))***+++++,,,,,-----.../////00000112222233333444455556666777778889999::::;;;;<<<<<==>>>>>????@@@@AABBBBBCCCCDDEEEEEFFFFGGGGHHIIIIIJJJJKKKKLLMMMMMNNNNOOOOPPQQQQRRRRRSSSTTTUUUUVVVVWWXXXXXYYYYZZZZ[[\\\\]]]]^^^^___````aaaabbbbaaa````___^^^]]]]]\\\\[[[ZZZYYYYXXXXWWVVVVVUUUUTTTTSSRRRRQQQQPPPPOOONNNNMMMMLLKKKKKJJJJIIIIHHGGGGGFFFFEEEEDDCCCCCBBBBAAA@@@@@???>>>>====<<<<;;;:::::9998888877776666655444443333222221100000/////...-----,,,,,+++++****)))))(((((''''''&&&&%%%%%$$$$$$######"""""!!!!!!!! !!!!!!!"""""#######$$$$$$%%%%%&&&&''''''((((()))))****+++++,,,,,-----../////0000011122222333444445556666677778888899:::::;;;;<<<<===>>>>????@@@@@AABBBBCCCCCDDDEEEFFFFGGGGGHHHIIIJJJJKKKKKLLLMMMNNNNOOOOPPPPQQQRRRRSSSTTTUUUUVVVVVWWWXXXYYYYZZZZ[[\\\\]]]]]^^^^__````aaaabbbbaaa````___^^^]]]]\\\\[[ZZZZZYYYYXXXXWWVVVVUUUUTTTTTSSRRRRQQQQPPOOOONNNNNMMMMLLKKKKJJJJJIIIIHHGGGGFFFFEEEEEDDCCCCBBBBBAAA@@@????>>>>>===<<<;;;;;::::9999888877777666555444443333322221110000/////....----,,,,,+++++***)))))((((('''''''&&%%%%%%$$$$$$$######""""!!!!!!! !!!!!!!!""""######$$$$$$%%%%%%&&&''''''((((()))))****+++++,,,,,----.../////0000111122223333344444556666777778888999::::;;;;;<<<<==>>>>>????@@@@AABBBBBCCCCDDDEEEEEFFFGGGGHHHIIIJJJJJKKKKLLLMMMNNNNNOOOOPPPQQQRRRRSSSTTTTTUUUVVVVWWWXXXYYYYZZZZZ[[[\\\]]]]^^^^__````aaaabbaaaa`````___^^^]]]]\\\\[[ZZZZYYYYXXXXXWWVVVVUUUUTTTTSSRRRRRQQQQPPOOOONNNNMMMMLLLKKKKJJJJIIIIHHHGGGGFFFFEEEEDDCCCCCBBBBAA@@@@@????>>>>====<<<;;;;:::::9998887777766665555444433333222111100000////....-----,,,+++++****)))))((((('''''&&&&%%%%%%$$$$$$#######"""!!!!!!! !!!!!!""""######$$$$$$%%%%%%%&&&'''''((((()))))****+++++,,,,-----....///0000011112222333334444555666677777888899:::::;;;;<<<<====>>>????@@@@@AAABBBCCCCCDDDEEEEFFFGGGGHHHHIIIIJJJKKKKLLLLMMMMNNNOOOOPPPQQQRRRRRSSSTTTTUUUVVVVWWWXXXXXYYYZZZZ[[[\\\]]]]^^^^__`````aaaabaaaa````__^^^^]]]]]\\\\[[ZZZZYYYYXXXXWWVVVVVUUUUTTTTSSRRRRQQQQPPPOOOONNNNMMMMLLKKKKJJJJJIIIIHHGGGGFFFFFEEEEDDCCCCBBBBBAA@@@@????>>>>>==<<<<;;;;;::::9988888777766666555444443332222211100000/////..-----,,,,,++++****)))))((((('''''&&&&%%%%%%$$$$$######"""""!!!!!! !!!!!!"""""#######$$$$$%%%%%%&&&&'''''((((()))))***++++,,,,,-----.../////0000011222223333444445566666777788888999:::;;;;;<<<<===>>>>>???@@@@AAABBBBBCCCDDDEEEEFFFFFGGGHHHIIIIJJJJJKKKLLLMMMMNNNOOOOPPPPQQQQRRRSSSTTTTUUUVVVVVWWWXXXXYYYZZZZ[[[\\\]]]]]^^^^___```aaaabaaaa````__^^^^]]]]\\\\[[[ZZZZYYYYXXXXWWVVVVUUUUTTTTTSSRRRRQQQQPPOOOONNNNNMMMMLLKKKKJJJJIIIIIHHGGGGFFFFEEEDDDDCCCCBBBBAA@@@@@????>>>>===<<<<;;;;:::::998888777776666555544433333222211110000/////..-----,,,,,+++++***)))))((((('''''&&&%%%%%%%$$$$$######""""!!!!!! !!!!!!""""######$$$$$%%%%%%&&&&'''''((((()))))**+++++,,,,,-----.../////000011122223333344445555666777778888999:::::;;;<<<<====>>>>???@@@@@AAABBBBCCCDDDDEEEEFFFFGGGHHHIIIIIJJJJKKKLLLMMMMNNNNNOOOPPPQQQQRRRSSSTTTTTUUUUVVVWWWXXXXYYYZZZZ[[[[\\\\]]]^^^^___```aaaabaaaa````__^^^^]]]]\\\\[[ZZZZYYYYYXXXXWWVVVVUUUUTTTSSSRRRRRQQQQPPOOOONNNNMMMLLLKKKKKJJJJIIIHHHGGGGGFFFFEEEDDDCCCCBBBBBAA@@@@?????>>>>==<<<<;;;;;::::99888887777666665544443333322221111000/////....----,,,,,+++++**)))))((((('''''&&&&%%%%%%$$$$$#######"""!!!!!!! !!!!!!""""######$$$$$%%%%%%&&&&'''''((((()))))***+++++,,,,,---..../////000011112223333344445556666677788888999::::;;;;;<<<===>>>>?????@@@AAABBBBBCCCCDDEEEEFFFFGGGGGHHIIIIJJJJKKKKKLLMMMMNNNNOOOPPPQQQQRRRRRSSTTTTUUUUVVVWWWXXXXYYYYYZZZ[[[\\\\]]]^^^^___```aaaaaaaa````__^^^^^]]]]\\\\[[ZZZZYYYYXXXWWWVVVVVUUUUTTTSSSRRRRQQQPPPOOOOONNNNMMMLLLKKKKJJJJJIIIHHHGGGGFFFEEEEEDDDCCCCBBBAAA@@@@@????>>>====<<<<;;;;:::::99888877777666655444443333222221100000////....-----,,,,+++++***))))(((((''''''&&&%%%%%%$$$$$#####"""""!!!!!! !!!!!!"""""#####$$$$$%%%%%%%&&''''''((((())))****+++++,,,,-----...////000001112222233344444555666677777888999:::::;;;;<<<====>>>>????@@@@@AABBBBCCCCDDEEEEEFFFFGGGGHHIIIIJJJJJKKKKLLMMMMNNNNOOOOOPPQQQQRRRRSSTTTTUUUUVVVVVWWXXXXYYYYZZZ[[[\\\\]]]^^^^^___````aaaaaa````__^^^^]]]]\\\\\[[ZZZZYYYYXXXWWWVVVVUUUTTTTTSSSRRRRQQQPPPOOOONNNMMMMMLLLKKKKJJJIIIIHHHGGGGGFFFEEEEDDDCCCCCBBBAAA@@@@?????>>>===<<<<;;;;;:::999888887777666665544443333322221110000/////...-----,,,,,+++****)))))((((('''''&&&%%%%%$$$$$$#####""""!!!!!! !!!!!!""""#####$$$$$$%%%%%&&'''''((((()))))****++++,,,,,-----../////000011112222333334445556666677778888899::::;;;;;<<<<==>>>>?????@@@@AABBBBCCCCCDDEEEEFFFFGGGGGHHIIIIJJJJKKKKLLMMMMMNNNNOOOOPPQQQQRRRRSSTTTTTUUUUVVVVWWXXXXYYYYZZZ[[[\\\\\]]]]^^^___````aaaaaa````__^^^^]]]]\\\[[[ZZZZYYYYYXXXWWWVVVVUUUTTTTSSSRRRQQQQQPPPOOOONNNMMMMLLLKKKKKJJJIIIIHHHGGGFFFFFEEEEDDDCCCBBBBAAAA@@@@???>>>>====<<<<;;;:::::999888877777666555444443333222221100000////..-----,,,,,+++++***)))))((((('''''&&%%%%%%%$$$$$#####"""!!!!!!! !!!!!!""""#####$$$$$%%%%%%&&&'''''((((()))))**+++++,,,,,-----...///000001112222233334444455666677777888899:::::;;;;<<<<===>>>>????@@@@AAABBBBCCCCDDEEEEFFFFFGGGGHHIIIIJJJJKKKKKLLMMMMNNNNOOOOPPQQQQQRRRRSSTTTTUUUUVVVVWWXXXXYYYYYZZZZ[[\\\\]]]]^^^___````aaaaa`````__^^^^]]]]\\\[[[ZZZZYYYXXXXWWWWVVVVUUUTTTTSSSRRRQQQQPPPOOOOONNNMMMMLLLKKKJJJJIIIIIHHHGGGFFFFEEEEDDDDCCCBBBBAAA@@@?????>>>>===<<<;;;;;::::999888887776666555544443333322211100000////...----,,,,,+++++***)))))((((('''''&&%%%%%%$$$$$#####""""!!!!!! !!!!!!""""#####$$$$$%%%%%%&&&'''''((((()))))**+++++,,,,,----....////00000112222333334444555666677778888899::::;;;;;<<<<==>>>>?????@@@@AABBBBCCCCDDDDEEEFFFFGGGGHHIIIIIJJJJKKKKLLMMMMNNNNOOOOOPPQQQQRRRRSSTTTTUUUUVVVVWWWXXXXYYYYZZZZ[[\\\\]]]]^^^___`````aaaa```___^^^^]]]]]\\\[[[ZZZZYYYXXXXWWWVVVUUUUTTTTTSSSRRRQQQQPPPOOONNNNMMMMMLLLKKKJJJJIIIIHHGGGGGFFFFEEEEDDCCCCBBBBBAAA@@@????>>>>>===<<<;;;;:::::99988877777666655544444333222211110000/////..-----,,,,+++++****)))((((('''''&&&&%%%%%$$$$$#####""""!!!!! !!!!!"""#####$$$$$%%%%%&&&&'''''((((())))****+++++,,,-----.../////0000111222233334444455666677777888899:::::;;;;<<<<==>>>>>????@@@@AABBBBBCCCCDDDEEEFFFFGGGGGHHHIIIJJJJKKKKLLMMMMMNNNNOOOOPPQQQQRRRRSSTTTTTUUUUVVVVWWXXXXYYYYZZZZ[[\\\\]]]]]^^^^__````aaaa```___^^^^]]]\\\\[[[ZZZZZYYYXXXXWWWVVVUUUUTTTTSSRRRRRQQQQPPPOOONNNNMMMMLLKKKKKJJJJIIIIHHGGGGFFFFEEEEEDDCCCCBBBBAA@@@@@????>>>>==<<<<<;;;;::::998888877776666555544433332222211100000///....----,,,,,++++***)))))(((('''''&&&&%%%%%$$$$$#####""""!!!!! !!!!!""""#####$$$$$%%%%%&&&'''''(((()))))****++++,,,,,---....////000001122222333344445555666777788888999:::;;;;<<<<<===>>>????@@@@@AAABBBCCCCDDDEEEEEFFFGGGGHHHIIIJJJJKKKKKLLLMMMNNNNOOOOPPQQQQRRRRRSSSTTTUUUUVVVVWWXXXXYYYYZZZZZ[[\\\\]]]]^^^^__````aaaa```___^^^^]]]\\\\[[[ZZZYYYYXXXXXWWWVVVUUUUTTTTSSRRRRQQQQPPOOOOONNNNMMMMLLKKKKJJJJIIIIIHHGGGGFFFFEEEEDDCCCCCBBBBAA@@@@????>>>>>==<<<<;;;;:::::9988887777766665544444333322221111000/////...----,,,,,+++++**)))))(((((''''&&&&%%%%%$$$$$#####"""!!!!! !!!!!""""#####$$$$$%%%%%&&&&'''((((()))))***+++++,,,,,----../////00001111222333344444555666777778888999:::::;;;<<<<===>>>>>???@@@@AAABBBCCCCCDDDEEEEFFFGGGGHHHIIIIIJJJKKKKLLLMMMNNNNOOOOOPPPQQQRRRRSSSTTTUUUUVVVVWWXXXXXYYYYZZZZ[[\\\\]]]]^^^^__````aa`````___^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMMMLLKKKKJJJJIIIIHHGGGGFFFFFEEEEDDCCCCBBBBAAA@@@@????>>>>==<<<<<;;;;::::9988888777766665554444333322222110000/////...-----,,,+++++***)))))((((('''''&&%%%%%$$$$$#####""""!!!!! !!!!!""""#####$$$$$%%%%%&&&'''''((((()))))**+++++,,,,-----../////00001112222233344445555666677788888999::::;;;<<<<<===>>>>???@@@@AAAABBBBCCCDDDEEEEFFFFFGGGHHHIIIIJJJKKKKLLLMMMMMNNNOOOOPPPQQQRRRRSSSTTTUUUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^__`````a````___^^^]]]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSSRRRRQQQQPPOOOONNNNMMMMLLKKKKKJJJJIIIIHHGGGGFFFFEEEDDDDCCCCBBBBAA@@@@?????>>>>==<<<<;;;;;::::9988887777766665544443333322221110000////....---,,,,,++++****))))((((('''''&&%%%%%$$$$$#####""""!!!!! !!!!!"""#####$$$$$%%%%%&&&'''''((((())))***++++,,,,,----....///00001111222233333444555666677777888999::::;;;;;<<<===>>>>?????@@@AAABBBBCCCDDDDEEEEFFFFGGGHHHIIIIJJJKKKKKLLLMMMMNNNOOOOPPPQQQRRRRSSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]]^^^^__````a````___^^^]]]]\\\\[[ZZZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPPOOOONNNNMMMMLLKKKKJJJJIIIIIHHGGGGFFFFEEEDDDCCCCBBBBBAA@@@@????>>>====<<<<;;;;:::99998888777766655554444333322222110000/////..-----,,,,+++++***)))))((('''''&&&&%%%%$$$$$#####""""!!!!! !!!!!""""#####$$$$$%%%&&&&'''''(((()))))**+++++,,,,-----.../////0001112222233334445555666677778889999::::;;;;<<<====>>>>????@@@AAABBBBBCCCCDDEEEEFFFFGGGHHHIIIIIJJJJKKKLLLMMMMNNNOOOOPPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZZ[[[\\\]]]]^^^^__````a````___^^^]]]]\\\\[[ZZZZYYYYXXXXWWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNNMMMMLLKKKKJJJJIIIHHHGGGGFFFFFEEEDDDCCCCBBBAAA@@@@@????>>>===<<<<;;;;;:::99988887777766655544443333322211100000////...----,,,,+++++**)))))(((((''''&&&&%%%%%$$$$#####"""!!!!! !!!!!""""#####$$$$%%%%%&&&''''((((()))))***+++++,,,----....////0000011222233333444455666677777888899::::;;;;;<<<<==>>>>????@@@@@AABBBBCCCCDDEEEEFFFFFGGGGHHIIIIJJJJKKKLLLMMMMNNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWWXXXXYYYZZZZ[[[\\\]]]]^^^^__````a````___^^^]]]]\\\\[[ZZZZYYYYXXXXWWVVVVUUUUTTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKKJJJJIIIHHHGGGGFFFEEEEDDDDCCCCBBBAAA@@@@???>>>>>===<<<<;;;:::::9998888777666655554444333222221110000/////..----,,,,,++++***))))((((('''''&&&%%%%%$$$$$###""""!!!!! !!!!!""""####$$$$$%%%%%&&'''''((((())))****++++,,,,,---.../////000011222223333444455566667777888899:::::;;;;<<<<==>>>>>????@@@@AABBBBCCCCDDDEEEEFFFFGGGGHHIIIIJJJJKKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTTUUUUVVVWWWXXXXYYYZZZZ[[[\\\]]]]^^^^__````````__^^^^]]]]]\\\\[[ZZZZYYYYXXXXWWVVVVUUUUTTTSSSRRRRQQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIIHHHGGGGFFFEEEEDDDCCCBBBBBAAA@@@@???>>>>===<<<<<;;;::::99988888777666655544444333222211100000///...-----,,,,+++++**)))))(((('''''&&%%%%%$$$$$#####"""!!!!! !!!!!""#####$$$$$%%%%%&&&'''''((()))))***+++++,,,,-----..////0000011222233334444455666677778888899::::;;;;<<<<<==>>>>????@@@@AABBBBBCCCCDDEEEEFFFFGGGGHHIIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQQRRRRSSTTTTUUUUVVVWWWXXXXYYYZZZZ[[[\\\]]]]]^^^^___``````__^^^^]]]]\\\\[[ZZZZYYYYYXXXXWWVVVVUUUUTTTSSSRRRRQQQPPPOOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFFEEEEDDDCCCBBBBAAA@@@@@???>>>>===<<<;;;;:::::999888777766666555444333322222111000/////...----,,,,,+++****))))(((((''''&&&%%%%$$$$$#####"""!!!!! !!!!!""#####$$$$$%%%%&&&&''''((((()))****++++,,,,,----../////000011222223333444455666667777888899:::::;;;;<<<<==>>>>????@@@@@AABBBBCCCCDDEEEEFFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOOOPPQQQQRRRRSSTTTTUUUUVVVWWWXXXXYYYYYZZZ[[[\\\\]]]^^^^___``````__^^^^]]]]\\\\[[ZZZZYYYYXXXWWWVVVVVUUUUTTTSSSRRRRQQQPPPOOOONNNMMMMLLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDDDCCCBBBBAAA@@@????>>>>>===<<<;;;;::::9988888777766665544444333322221100000////...-----,,,+++++***))))((((('''''&&%%%%%$$$$#####""""!!! !!!!""""#####$$$%%%%%&&&'''''((((())))**+++++,,,,-----..////00000111222333344444555666777788888999:::;;;;<<<<==>>>>>????@@@@AABBBBCCCCDDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLLMMMMNNNNOOOOPPQQQQRRRRSSTTTTUUUUVVVVVWWXXXXYYYYZZZ[[[\\\\]]]^^^^___``````__^^^^]]]]\\\\[[ZZZZYYYYXXXWWWVVVVUUUTTTTTSSSRRRRQQQPPPOOOONNNMMMMLLLKKKJJJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBBAAA@@@????>>>>==<<<<;;;;;::::998888777776666554444333322222110000/////...---,,,,,++++***)))))((('''''&&&%%%%%$$$$$####"""!!!!! !!!!!""""####$$$$$%%%%%&&'''''(((()))))**++++,,,,,----../////0000111222223334444555666777778888999:::;;;;;<<<<===>>>????@@@@AABBBBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJJKKKKLLMMMMNNNNOOOOPPQQQQRRRRSSTTTTTUUUUVVVVWWXXXXYYYYZZZ[[[\\\\]]]^^^^___`````__^^^^^]]]]\\\\[[ZZZZYYYYXXXWWWVVVVUUUTTTTSSSRRRQQQQQPPPOOOONNNMMMMLLLKKKJJJJIIIIHHGGGGGFFFFEEEEDDCCCCBBBBAA@@@@?????>>>>==<<<<;;;;:::::998888777766665554444333322221110000////..-----,,,,+++++***)))(((((''''&&&&%%%%$$$$$#####""!!!!! !!!!!"""#####$$$$$%%%%&&&''''((((())))**+++++,,,,-----...///0000111122223334444555566667778888999:::::;;;<<<<===>>>?????@@@@AAABBBCCCCDDDEEEFFFFGGGGGHHHIIIJJJJKKKKLLMMMMNNNNOOOOPPQQQQQRRRRSSTTTTUUUUVVVVWWXXXXYYYYZZZ[[[\\\\]]]^^^^^___````__^^^^]]]]\\\[[[ZZZZZYYYYXXXWWWVVVVUUUTTTTSSSRRRQQQQPPPOOONNNNNMMMMLLLKKKJJJJIIIIHHGGGGFFFFEEEEEDDCCCCBBBBAA@@@@????>>>>===<<<<;;;;::::998888777776666554444333332222110000/////..----,,,,,++++**)))))(((('''''&&&%%%%%$$$#####"""!!!!! !!!!!""#####$$$$%%%%%&&'''''(((()))))***+++,,,,,----.../////000111222233333444555666677777888999::::;;;<<<<====>>>>???@@@@AAABBBCCCCDDDEEEEEFFFGGGGHHHIIIJJJJKKKKLLMMMMNNNNNOOOOPPQQQQRRRRSSTTTTUUUUVVVVWWXXXXYYYYZZZZZ[[\\\\]]]]^^^___````__^^^^]]]]\\\[[[ZZZZYYYXXXXWWWWVVVVUUUTTTTSSSRRRQQQQPPPOOONNNNMMMMLLKKKKKJJJJIIIIHHGGGGFFFFEEEEDDCCCCBBBBBAA@@@@????>>>>==<<<<;;;;;::::998888777766666554444333322211110000////..-----,,,,++++***))))(((((''''&&%%%%%$$$$#####""""!!!! !!!!"""#####$$$$%%%%%&&&'''((((())))****++++,,,-----...////000111122223333444555666667777888999::::;;;;;<<<===>>>>???@@@@AAABBBBBCCCDDDEEEEFFFGGGGHHHIIIJJJJKKKKKLLLMMMNNNNOOOOPPQQQQRRRRSSTTTTUUUUVVVVWWWXXXXYYYYZZZZ[[\\\\]]]]^^^___````__^^^^]]]]\\\[[[ZZZZYYYXXXXWWWVVVUUUUTTTTTSSSRRRQQQQPPPOOONNNNMMMMLLKKKKJJJJIIIIHHHGGGGFFFFEEEEDDCCCCBBBBAA@@@@@????>>>>==<<<<;;;;:::9999888877776665554444433332221110000/////..----,,,,,++++**)))))((((''''&&&%%%%$$$$$####""""!!!!! !!!!!""""###$$$$$%%%%&&&&''''((()))))***++++,,,,,---.../////000011222233334444455666677778889999::::;;;;<<<===>>>>???@@@@@AAABBBBCCCDDDEEEEFFFGGGGHHHHIIIIJJJKKKKLLLMMMNNNNOOOOPPQQQQRRRRSSTTTTTUUUUVVVVWWXXXXYYYYZZZZ[[\\\\]]]]^^^___````__^^^^]]]]\\\[[[ZZZZYYYXXXXWWWVVVUUUUTTTTSSRRRRQQQQQPPPOOONNNNMMMMLLKKKKJJJJIIIIHHGGGGFFFFFEEEEDDCCCCBBBBAA@@@@????>>>====<<<<;;;;:::9998888777776665554444333222221110000///...-----,,,,+++****))))(((('''''&&%%%%%$$$$#####""!!!!! !!!!!"""#####$$$%%%%%&&&'''''(((()))****++++,,,,-----..////000011222223333444455666677777888899::::;;;;<<<====>>>>????@@@AAABBBBCCCDDDEEEEFFFFFGGGHHHIIIIJJJKKKKLLLMMMNNNNOOOOPPQQQQQRRRRSSSTTTUUUUVVVVWWXXXXYYYYZZZZ[[\\\\]]]]^^^___``___^^^^]]]]]\\\[[[ZZZZYYYXXXXWWWVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNNMMMMLLKKKKJJJJIIIIHHGGGGFFFFEEEDDDCCCCCBBBBAA@@@@????>>>===<<<<;;;;;:::9998888777666655554444333222211100000///...----,,,,,+++***)))))(((('''&&&&%%%%$$$$$####""!!!!! !!!!!"""####$$$$$%%%&&&&''''(((()))))**++++,,,,,----..////000001122223333444455566667777888899::::;;;;;<<<<==>>>>????@@@AAABBBBCCCCCDDEEEEFFFFGGGHHHIIIIJJJKKKKLLLMMMNNNNNOOOOPPPQQQRRRRSSSTTTUUUUVVVVWWXXXXYYYYZZZZ[[\\\\]]]]]^^^^__`___^^^^]]]\\\\[[[ZZZYYYYYXXXXWWWVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMMLLKKKKKJJJJIIIIHHGGGGFFFFEEEDDDCCCCBBBAAA@@@@@????>>>===<<<<;;;::::999988887776666555444333332222111000////....----,,,++++****))))((('''''&&&%%%%$$$$$###""""!!!! !!!""""####$$$$$%%%%&&'''''(((())))***++++,,,,----...////000011222233333444455666677778888999::::;;;;<<<<==>>>>????@@@@@AABBBBCCCCDDEEEEFFFFGGGHHHIIIIJJJKKKKKLLLMMMMNNNOOOOPPPQQQRRRRSSSTTTUUUUVVVVWWXXXXYYYYYZZZZ[[\\\\]]]]^^^^__`___^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMMLLKKKKJJJJIIIHHHHGGGGFFFFEEEDDDCCCCBBBAAA@@@@???>>>>>===<<<<;;;::::999888777776666555444333322221111000////...---,,,,,++++***)))))(((''''&&&&%%%%$$$#####"""!!!!! !!!!!""#####$$$$%%%%&&&''''(((()))))**++++,,,,,----..////000011112223333444455666677777888899::::;;;;<<<<==>>>>>????@@@@AABBBBCCCCDDEEEEFFFFGGGHHHHIIIIJJJJKKKLLLMMMMNNNOOOOPPPQQQRRRRSSSTTTUUUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^__`___^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRRQQQQPPOOOONNNNMMMMLLKKKKJJJJIIIHHHGGGGFFFEEEEEDDDCCCCBBBAAA@@@@???>>>>===<<<;;;;;::::99988877776666554444433332222110000/////...---,,,,+++++***)))(((('''''&&&%%%$$$$$####""""!!!! !!!!"""####$$$$$%%%%&&'''''(((())))**+++++,,,,----../////00001112223333444445556667777888899::::;;;;;<<<<==>>>>????@@@@AABBBBCCCCDDEEEEEFFFFGGGGHHIIIIJJJJKKKLLLMMMMNNNOOOOPPPQQQRRRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^__`___^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOOONNNNMMMMLLKKKKJJJJIIIHHHGGGGFFFEEEEDDDCCCBBBBBAAA@@@@???>>>>===<<<;;;;::::999988877776666554444333322222110000////..-----,,,,++++**)))))((((''''&&%%%%%$$$$#####"""!!! !!!!""#####$$$$%%%%%&&&'''(((()))))***+++,,,,-----...///0000111222223334444555666777788889999:::;;;;<<<<==>>>>????@@@@AABBBBBCCCCDDEEEEFFFFGGGGHHIIIIJJJJKKKLLLMMMMNNNOOOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^__`__^^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKKJJJJIIIHHHGGGGFFFEEEEDDDCCCBBBBAAA@@@?????>>>>===<<<;;;;::::998888777776666554444333322221100000////..----,,,,+++++**))))(((('''''&&%%%%$$$$$####""!!!!! !!!!!"""###$$$$$%%%%&&&'''''((())))***+++++,,,----...///0000011122223334444555666777778888999:::;;;;<<<<==>>>>?????@@@@AABBBBCCCCDDEEEEFFFFGGGGHHIIIIJJJJKKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^^____^^^]]]]\\\\[[ZZZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHHGGGGFFFEEEEDDDCCCBBBBAAA@@@????>>>>==<<<<<;;;;::::99888877776666554444433332222110000////...----,,,,++++**)))))((((''''&&%%%%%$$$$#####""!!!! !!!!"""#####$$$%%%%%&&&''''((()))))***++++,,,----....////00011122223334444455566667778888999:::;;;;<<<<<===>>>????@@@@AABBBBCCCCDDEEEEFFFFGGGGHHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZZ[[[\\\]]]]^^^^____^^^]]]]\\\\[[ZZZZYYYYXXXXWWVVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEEDDDCCCBBBBAAA@@@????>>>>==<<<<;;;;:::::99888877776666554444333322222110000////..----,,,,,++++**))))(((((''''&&%%%%$$$$$####""!!!!! !!!!!"""####$$$$$%%%&&&''''((((()))***++++,,,,,---...////00011122222333344455566667778888999:::::;;;<<<<===>>>????@@@@AABBBBCCCCDDEEEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVVWWWXXXXYYYZZZZ[[[\\\]]]]^^^^____^^^]]]]\\\\[[ZZZZYYYYXXXXWWVVVVUUUUTTTSSSRRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBBAAA@@@????>>>>==<<<<;;;;::::998888777776666554444333322211100000////..----,,,,+++****))))(((('''&&&&%%%%$$$$#####""!!!! !!!"""#####$$$$%%%&&&&''''(((()))****++++,,,,---...////000001122223333444555666677777888999::::;;;<<<<===>>>????@@@@AABBBBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRRRSSTTTTUUUUVVVWWWXXXXYYYZZZZ[[[\\\]]]]^^^^____^^^]]]]\\\\[[ZZZZYYYYXXXXWWVVVVUUUUTTTSSSRRRRQQQPPPOOOONNNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@?????>>>>==<<<<;;;;::::99888877776665555444433332221110000///...-----,,,,+++***))))((((('''&&&%%%%$$$$$###"""!!!!! !!!!!""####$$$$$%%%%&&''''((((())))**++++,,,,-----..////00001122223333444555566667777888999::::;;;<<<<===>>>?????@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNNOOOOPPQQQQRRRRSSTTTTUUUUVVVWWWXXXXYYYZZZZ[[[\\\]]]]^^^^____^^^]]]]\\\\[[ZZZZYYYYXXXXWWVVVVUUUUTTTSSSRRRRQQQPPPOOOONNNMMMMLLLKKKJJJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<<;;;;::::99888877776665554444333222221110000///...----,,,+++++***))))((('''''&&&%%%%$$$#####"""!!!! !!!!""#####$$$$%%%%&&'''''(((())))**+++++,,,,----..////00001122222333344445566667777888999::::;;;<<<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJJKKKKLLMMMMNNNNOOOOPPQQQQRRRRSSTTTTUUUUVVVWWWXXXXYYYZZZZ[[[\\\]]]]^^^^__^^^^^]]]]\\\\[[ZZZZYYYYXXXXWWVVVVUUUUTTTSSSRRRRQQQPPPOOOONNNMMMMLLLKKKJJJJIIIIHHGGGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9999888877776665554444333222211100000///...----,,,++++***)))))(((''''&&&%%%%%$$$####"""!!!!! !!!!!""####$$$$%%%%%&&''''(((()))))**++++,,,,----..////000001122223333444455666677778889999::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGGHHHIIIJJJJKKKKLLMMMMNNNNOOOOPPQQQQRRRRSSTTTTUUUUVVVWWWXXXXYYYZZZZ[[[\\\]]]]^^^^^_^^^^]]]]\\\\[[ZZZZYYYYYXXXXWWVVVVUUUUTTTSSSRRRRQQQPPPOOOONNNMMMMLLLKKKJJJJIIIIHHGGGGFFFFEEEEDDCCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::99988887776666655544443332222111000////...-----,,,++++***)))(((('''''&&&%%%$$$$#####"""!!! !!!!""#####$$$$%%%%&&'''''(((())))**++++,,,,-----..////00001122223333444455666667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCCDDDEEEEFFFGGGGHHHIIIJJJJKKKKLLMMMMNNNNOOOOPPQQQQRRRRSSTTTTUUUUVVVWWWXXXXYYYYYZZZ[[[\\\\]]]^^^^_^^^^]]]]\\\\[[ZZZZYYYYXXXWWWVVVVUUUTTTTTSSSRRRRQQQPPPOOOONNNMMMMLLLKKKJJJJIIIIHHGGGGFFFFEEEEDDCCCCBBBBAA@@@@@????>>>>==<<<<;;;;:::99988887776666555444333332222111000////...---,,,,+++++***)))((((''''&&%%%%%$$$$####""!!!!! !!!!!"""###$$$$%%%%%&&&'''(((())))**+++++,,,,----..////00001122223333344445566667777888899::::;;;;<<<===>>>>???@@@@@AAABBBBCCCDDDEEEEFFFGGGGHHHIIIJJJJKKKKLLMMMMNNNNOOOOPPQQQQRRRRSSTTTTTUUUUVVVVWWXXXXYYYYZZZ[[[\\\\]]]^^^^_^^^^]]]]\\\\[[ZZZZYYYYXXXWWWVVVVUUUTTTTSSSRRRQQQQPPPPOOOONNNMMMMLLLKKKJJJJIIIIHHGGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>===<<<<<;;;;:::99988887776666555444333322221111000////...---,,,,++++**)))))((((''''&&%%%%$$$$$####""!!!! !!!!"""###$$$$$%%%%&&&'''(((()))))***+++,,,,----..////00001111222333344445566667777888899::::;;;;<<<<<==>>>>????@@@AAABBBBCCCDDDEEEEFFFGGGGHHHIIIJJJJKKKKLLMMMMNNNNOOOOPPPQQQQRRRRSSTTTTUUUUVVVVWWXXXXYYYYZZZ[[[\\\\]]]^^^^_^^^^]]]]\\\\[[ZZZZYYYYXXXWWWVVVVUUUTTTTSSSRRRQQQQPPPOOONNNNMMMMLLKKKKKJJJJIIIIHHGGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>===<<<<;;;::::99998888777666655544433332222110000////....---,,,,++++**))))(((('''''&&%%%%$$$$####"""!!!!
!!!!""""####$$$%%%%&&&'''''((())))***+++,,,,----....///00001112223333444455666677778888999::::;;;;<<<<==>>>>????@@@AAABBBBCCCDDDEEEEFFFGGGGHHHIIIJJJJKKKKKLLLMMMNNNNOOOOPPQQQQRRRRSSTTTTUUUUVVVVWWXXXXYYYYZZZ[[[\\\\]]]^^^^_^^^^]]]]\\\\[[ZZZZYYYYXXXWWWVVVVUUUTTTTSSSRRRQQQQPPPOOONNNNMMMMLLKKKKJJJJIIIIHHGGGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>===<<<<;;;::::99988877776666655544433332222110000////..----,,,,,++++**))))((((''''&&%%%%%$$$$####""!!!!
!!!"""####$$$%%%%%&&&''''((())))***+++,,,,,----...///00001112223333444455666667777888899::::;;;;<<<<==>>>>????@@@AAABBBBCCCDDDEEEEFFFGGGGGHHHIIIIJJJKKKKLLLMMMNNNNOOOOPPQQQQRRRRSSTTTTUUUUVVVVWWXXXXYYYYZZZ[[[\\\\]]]^^^^_^^^^]]]]\\\\[[ZZZZYYYYXXXWWWVVVVUUUTTTTSSSRRRQQQQPPPOOONNNNMMMMLLKKKKJJJJIIIIHHGGGGFFFFEEEDDDCCCCCBBBBAA@@@@????>>>===<<<<;;;::::99988877776666554444333332222110000////..----,,,,++++**)))))((((''''&&%%%%$$$$#####""!!!!
!!!"""#####$$$$%%%&&&''''((()))))***++++,,,----...///00001112223333344445556667777888899::::;;;;<<<<==>>>>????@@@AAABBBBCCCCCDDEEEEFFFFGGGHHHIIIIJJJKKKKLLLMMMNNNNOOOOPPQQQQRRRRSSTTTTUUUUVVVVWWXXXXYYYYZZZ[[[\\\\]]]^^^^_^^^^]]]]\\\\[[ZZZZYYYYXXXWWWVVVVUUUTTTTSSSRRRQQQQPPPOOONNNNMMMMLLKKKKJJJJIIIIHHGGGGFFFFEEEDDDCCCCBBBAAA@@@@?????>>>===<<<<;;;::::99988877776666554444333322221100000////..----,,,,++++**))))(((('''''&&%%%%$$$$###"""!!!!!
!!!!!""####$$$$%%%&&&'''''(((()))***++++,,,----...///00000111222233344445556667777888899::::;;;;<<<<==>>>>?????@@@@AABBBBCCCCDDEEEEFFFFGGGHHHIIIIJJJKKKKLLLMMMNNNNOOOOPPQQQQRRRRSSTTTTUUUUVVVVWWXXXXYYYYZZZ[[[\\\\]]]^^^^^^^^]]]]\\\[[[ZZZZYYYYYXXXWWWVVVVUUUTTTTSSSRRRQQQQPPPOOONNNNMMMMLLKKKKJJJJIIIIHHGGGGFFFFEEEDDDCCCCBBBAAA@@@@???>>>>===<<<;;;;;::::9998887777666655444433332222110000////..-----,,,,++++**))))(((('''&&&%%%%$$$$$###"""!!!!
!!!!""####$$$$$%%%%&&''''(((()))***++++,,,-----...////000111222233344445556667777888899::::;;;;;<<<<==>>>>????@@@@AABBBBCCCCDDEEEEFFFFGGGHHHIIIIJJJKKKKLLLMMMNNNNOOOOPPQQQQRRRRSSTTTTUUUUVVVVWWXXXXYYYYYZZZZ[[\\\\]]]]^^^^^^]]]]\\\[[[ZZZZYYYXXXXWWWVVVUUUUTTTTSSSSRRRQQQQPPPOOONNNNMMMMLLKKKKJJJJIIIIHHGGGGFFFFEEEDDDCCCCBBBAAA@@@@???>>>>===<<<;;;;::::99888887777666655444433332222110000////..----,,,,+++****))))(((('''&&&%%%%$$$####""""!!!!
!!!!"""####$$$$%%%%&&''''(((()))****++++,,,,---...////00011122223334444555666777788888999:::;;;;<<<<==>>>>????@@@@AABBBBCCCCDDEEEEFFFFGGGHHHIIIIJJJKKKKLLLMMMNNNNOOOOPPQQQQRRRRSSSSTTTUUUUVVVVWWXXXXYYYYZZZZ[[\\\\]]]]^^^^^^]]]]\\\[[[ZZZZYYYXXXXWWWVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNNMMMMLLKKKKJJJJIIIIHHGGGGFFFFEEEDDDCCCCBBBAAA@@@@???>>>>===<<<;;;;::::99888877776666554444433332222110000////..----,,,,+++***))))((((('''&&&%%%%$$$####"""!!!
!!!!""####$$$$%%%%&&''''((((())))**++++,,,,---...////00011122223334444455566667778888999:::;;;;<<<<==>>>>????@@@@AABBBBCCCCDDEEEEFFFFGGGHHHIIIIJJJKKKKLLLMMMNNNNNOOOOPPPQQQRRRRSSSTTTUUUUVVVVWWXXXXYYYYZZZZ[[\\\\]]]]^^^^^^]]]]\\\[[[ZZZZYYYXXXXWWWVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMMLLKKKKJJJJIIIIIHHGGGGFFFFEEEDDDCCCCBBBAAA@@@@???>>>>===<<<;;;;::::99888877776666554444333322211110000////..----,,,,+++***))))(((''''&&&%%%%%$$$####"""!!!
!!!!""####$$$$%%%%%&&''''(((())))**++++,,,,---...////00011112222333344455566667778888999:::;;;;<<<<==>>>>????@@@@AABBBBCCCCDDEEEEFFFFGGGHHHIIIIIJJJJKKKLLLMMMMNNNOOOOPPPQQQRRRRSSSTTTUUUUVVVVWWXXXXYYYYZZZZ[[\\\\]]]]^^^^^^]]]]\\\[[[ZZZZYYYXXXXWWWVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMMLLKKKKJJJJIIIHHHGGGGFFFEEEEDDDCCCCCBBBAAA@@@@???>>>>===<<<;;;;::::9988887777666655444433332221110000///...-----,,,,+++***))))(((''''&&&%%%$$$$#####"""!!!
- - - - - - - - - - - - - - - - - - -
!!!!""#####$$$$%%%%&&''''(((())))**++++,,,,-----..////0000112222333344455566667778888999:::;;;;<<<<==>>>>????@@@@AABBBBCCCCCDDEEEEFFFFGGGGHHIIIIJJJJKKKLLLMMMMNNNOOOOPPPQQQRRRRSSSTTTUUUUVVVVWWXXXXYYYYZZZZ[[\\\\]]]]^^^^^^]]]]\\\[[[ZZZZYYYXXXXWWWVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMMLLKKKKJJJJIIIHHHGGGGFFFEEEEDDDCCCBBBBAAA@@@?????>>>>===<<<;;;;::::9988887777666655444433332221110000///...----,,,++++****))))(((''''&&&%%%$$$$####""!!!!
- - - - - - - - - - - - - - - - - - - - - - - - - -
!!!!"""###$$$$%%%%&&''''(((())))***++++,,,,----..////0000112222333344455566667778888999:::;;;;<<<<==>>>>?????@@@@AABBBBCCCCDDEEEEFFFFGGGGHHIIIIJJJJKKKLLLMMMMNNNOOOOPPPQQQRRRRSSSTTTUUUUVVVVWWXXXXYYYYZZZZ[[\\\\]]]]^^^^^^]]]]\\\[[[ZZZZYYYXXXXWWWVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMMLLKKKKJJJJIIIHHHGGGGFFFEEEEDDDCCCBBBBAAA@@@????>>>>==<<<<;;;;:::::9988887777666655444433332221110000///...----,,,++++***)))(((('''''&&&%%%$$$$####""!!!!
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
!!!!"""###$$$$%%%%&&'''''(((())))**++++,,,,----..////0000112222333344455566667778888999:::::;;;<<<<===>>>????@@@@AABBBBCCCCDDEEEEFFFFGGGGHHIIIIJJJJKKKLLLMMMMNNNOOOOPPPQQQRRRRSSSTTTUUUUVVVVWWXXXXYYYYZZZZ[[\\\\]]]]^^^^^^]]]]\\\[[[ZZZZYYYXXXXWWWVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMMLLKKKKJJJJIIIHHHGGGGFFFEEEEDDDCCCBBBBAAA@@@????>>>>==<<<<;;;;::::99888877776666655444433332221110000///...----,,,++++***)))((((''''&&%%%%$$$$$####""!!!!
- - - - - - - - - - - - - - - - - - - -
!!!!"""###$$$$$%%%%&&&'''(((())))**++++,,,,----..////00001122223333444555666667777888999::::;;;<<<<===>>>????@@@@AABBBBCCCCDDEEEEFFFFGGGGHHIIIIJJJJKKKLLLMMMMNNNOOOOPPPQQQRRRRSSSTTTUUUUVVVVWWXXXXYYYYZZZZ[[\\\\]]]]^^^^^^]]]]\\\[[[ZZZZYYYXXXXWWWVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMMLLKKKKJJJJIIIHHHGGGGFFFEEEEDDDCCCBBBBAAA@@@????>>>>==<<<<;;;;::::99888877776665554444333222211110000///...----,,,++++***)))((((''''&&%%%%$$$$####""!!!!!
- - - - - - - - - - - - - - -
!!!!!"""####$$$%%%%&&&'''(((())))**++++,,,,----..////00001112222333344445566667777888999::::;;;<<<<===>>>????@@@@AABBBBCCCCDDEEEEFFFFGGGGHHIIIIJJJJKKKLLLMMMMNNNOOOOPPPQQQRRRRSSSTTTUUUUVVVVWWXXXXYYYYZZZZ[[\\\\]]]]^^^^^]]]\\\\[[[ZZZYYYYYXXXXWWWVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMMLLKKKKJJJJIIIHHHGGGGFFFEEEEDDDCCCBBBBAAA@@@????>>>>==<<<<;;;;::::998888777766655544443332222111000////...-----,,,++++***)))((((''''&&%%%%$$$$####""!!!!
- - - - - - - - - - - - - - -
!!!"""####$$$%%%%&&&'''(((())))**++++,,,,-----..////0000112222333344445566667777888999::::;;;<<<<===>>>????@@@@AABBBBCCCCDDEEEEFFFFGGGGHHIIIIJJJJKKKLLLMMMMNNNOOOOPPPQQQRRRRSSSTTTUUUUVVVVWWXXXXYYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQQPPOOOONNNNMMMMLLKKKKJJJJIIIHHHGGGGFFFEEEEDDDCCCBBBBAAA@@@????>>>>==<<<<;;;;::::998888777766655544443332222111000////...---,,,,++++**)))))((((''''&&%%%%$$$$####""!!!!
- - - - - - - - - - - -
!!!"""####$$$%%%%&&&'''(((()))))***+++,,,,----..////0000112222333344445566667777888999::::;;;<<<<===>>>????@@@@AABBBBCCCCDDEEEEFFFFGGGGHHIIIIJJJJKKKLLLMMMMNNNOOOOPPPQQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJJJIIIHHHGGGGFFFEEEEDDDCCCBBBBAAA@@@????>>>>==<<<<;;;;::::998888777766655544443332222111000////...---,,,,++++**))))((((''''&&%%%%%$$$$####""!!!!
- - - - - - - - - - - - -
!!!"""####$$$%%%%%&&&''''((())))***+++,,,,----..////0000112222333344445566667777888999::::;;;<<<<===>>>????@@@@AABBBBCCCCDDEEEEFFFFGGGGHHIIIIJJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCCBBBBAAA@@@????>>>>==<<<<;;;;::::998888777766655544443332222111000////...---,,,,++++**))))((((''''&&%%%%$$$$###""""!!!!
- - - - - - - - - -
!!!""""####$$$$%%%&&&''''((())))***+++,,,,----..////0000112222333344445566667777888999::::;;;<<<<===>>>????@@@@AABBBBCCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<<;;;;::::998888777766655544443332222111000////...---,,,,++++**))))((((''''&&%%%%$$$$###"""!!!!
- - - - - - - - - -
!!!!""####$$$$%%%&&&''''((())))***+++,,,,----..////0000112222333344445566667777888999::::;;;<<<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::99988887776666655544443332222111000////...---,,,,++++**))))((((''''&&%%%%$$$$###"""!!!!
- - - - - - - - - -
!!!!""####$$$$%%%&&&''''((())))***+++,,,,----..////00001122223333444455666667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000/////...---,,,,++++**))))((((''''&&%%%%$$$$###"""!!!!
- - - - - - -
!!!!""####$$$$%%%&&&''''((())))***+++,,,,----../////0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++***))))((((''''&&%%%%$$$$###"""!!!!
- - - - - - - - - -
!!!!""####$$$$%%%&&&''''((())))****++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++**))))(((('''&&&%%%%$$$$$###"""!!!!
- - - - - - - - - -
!!!!""####$$$$$%%%%&&''''(((()))***++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++**))))(((('''&&&%%%%$$$####"""!!!
- - - - - - -
!!!!""####$$$$%%%%&&''''(((()))***++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++**))))(((('''&&&%%%%$$$####"""!!!
- - - - - - - - - -
!!!!""####$$$$%%%%&&''''(((()))***++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++**))))(((('''&&&%%%%$$$####"""!!!
- - - - - - - -
!!!!""####$$$$%%%%&&''''(((()))***++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++**))))(((('''&&&%%%%$$$####"""!!!
- - - - - - - - - -
!!!!""####$$$$%%%%&&''''(((()))***++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++**))))(((('''&&&%%%%$$$####"""!!!
- - - - - - -
!!!!""####$$$$%%%%&&''''(((()))***++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++**))))(((('''&&&%%%%$$$####"""!!!
- - - - - - -
!!!!""####$$$$%%%%&&''''(((()))***++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++**))))(((('''&&&%%%%$$$####"""!!!
- - - - - - - - - -
!!!!""####$$$$%%%%&&''''(((()))***++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++**))))(((('''&&&%%%%$$$####"""!!!
- - - - - - - -
!!!!""####$$$$%%%%&&''''(((()))***++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++**))))(((('''&&&%%%%$$$####"""!!!
- - - - - - - -
!!!!""####$$$$%%%%&&''''(((()))***++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++**))))(((('''&&&%%%%$$$####"""!!!
- - - - - - - -
!!!!""####$$$$%%%%&&''''(((()))***++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++**))))(((('''&&&%%%%$$$####"""!!!
- - - - - - - -
!!!!""####$$$$%%%%&&''''(((()))***++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++**))))(((('''&&&%%%%$$$####"""!!!
- - - - - - - -
!!!!""####$$$$%%%%&&''''(((()))***++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++**))))(((('''&&&%%%%$$$####"""!!!
- - - - - - - -
!!!!""####$$$$%%%%&&''''(((()))***++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++**))))(((('''&&&%%%%$$$####"""!!!
- - - - - - - -
!!!!""####$$$$%%%%&&''''(((()))***++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++**))))(((('''&&&%%%%$$$####"""!!!
- - - - - - - -
!!!!""####$$$$%%%%&&''''(((()))***++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++**))))(((('''&&&%%%%$$$####"""!!!
- - - - - - - -
!!!!""####$$$$%%%%&&''''(((()))***++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++**))))(((('''&&&%%%%$$$####"""!!!
- - - - - - - -
!!!!""####$$$$%%%%&&''''(((()))***++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++**))))(((('''&&&%%%%$$$####"""!!!
- - - - - - - -
!!!!""####$$$$%%%%&&''''(((()))***++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++**))))(((('''&&&%%%%$$$####"""!!!
- - - - - - - -
!!!!""####$$$$%%%%&&''''(((()))***++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++**))))(((('''&&&%%%%$$$####"""!!!
- - - - - - - -
!!!!""####$$$$%%%%&&''''(((()))***++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++**))))(((('''&&&%%%%$$$####"""!!!
- - - - - - - - - -
!!!!""####$$$$%%%%&&''''(((()))***++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++**))))(((('''&&&%%%%$$$####"""!!!
- - - - - - -
!!!!""####$$$$%%%%&&''''(((()))***++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++**))))(((('''&&&%%%%$$$####"""!!!
- - - - - - -
!!!!""####$$$$%%%%&&''''(((()))***++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++**))))(((('''&&&%%%%$$$####"""!!!
- - - - - - - - - -
!!!!""####$$$$%%%%&&''''(((()))***++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++**))))(((('''&&&%%%%$$$####"""!!!
- - - - - - - -
!!!!""####$$$$%%%%&&''''(((()))***++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++**))))(((('''&&&%%%%$$$####"""!!!
- - - - - - - - - -
!!!!""####$$$$%%%%&&''''(((()))***++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++**))))(((('''&&&%%%%$$$####"""!!!
- - - - - - -
!!!!""####$$$$%%%%&&''''(((()))***++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++**))))(((('''&&&%%%%$$$$$###"""!!!!
- - - - - - - - - -
!!!!""####$$$$$%%%%&&''''(((()))***++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000////..----,,,,++++***))))((((''''&&%%%%$$$$###"""!!!!
- - - - - - - - - -
!!!!""####$$$$%%%&&&''''((())))****++++,,,----...///0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9998888777666655544433332222110000/////...---,,,,++++**))))((((''''&&%%%%$$$$###"""!!!!
- - - - - - -
!!!!""####$$$$%%%&&&''''((())))***+++,,,,----../////0000111222333344445566667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::99988887776666655544443332222111000////...---,,,,++++**))))((((''''&&%%%%$$$$###"""!!!!
- - - - - - - - - -
!!!!""####$$$$%%%&&&''''((())))***+++,,,,----..////00001122223333444455666667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<<;;;;::::998888777766655544443332222111000////...---,,,,++++**))))((((''''&&%%%%$$$$###"""!!!!
- - - - - - - - - -
!!!!""####$$$$%%%&&&''''((())))***+++,,,,----..////0000112222333344445566667777888999::::;;;<<<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCCBBBBAAA@@@????>>>>==<<<<;;;;::::998888777766655544443332222111000////...---,,,,++++**))))((((''''&&%%%%$$$$###""""!!!!
- - - - - - - - - -
!!!""""####$$$$%%%&&&''''((())))***+++,,,,----..////0000112222333344445566667777888999::::;;;<<<<===>>>????@@@@AABBBBCCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJJJIIIHHHGGGGFFFEEEEDDDCCCBBBBAAA@@@????>>>>==<<<<;;;;::::998888777766655544443332222111000////...---,,,,++++**))))((((''''&&%%%%%$$$$####""!!!!
- - - - - - - - - - - - -
!!!"""####$$$%%%%%&&&''''((())))***+++,,,,----..////0000112222333344445566667777888999::::;;;<<<<===>>>????@@@@AABBBBCCCCDDEEEEFFFFGGGGHHIIIIJJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQQPPOOOONNNNMMMMLLKKKKJJJJIIIHHHGGGGFFFEEEEDDDCCCBBBBAAA@@@????>>>>==<<<<;;;;::::998888777766655544443332222111000////...---,,,,++++**)))))((((''''&&%%%%$$$$####""!!!!
- - - - - - - - - - - -
!!!"""####$$$%%%%&&&'''(((()))))***+++,,,,----..////0000112222333344445566667777888999::::;;;<<<<===>>>????@@@@AABBBBCCCCDDEEEEFFFFGGGGHHIIIIJJJJKKKLLLMMMMNNNOOOOPPPQQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^]]]\\\\[[[ZZZYYYYYXXXXWWWVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMMLLKKKKJJJJIIIHHHGGGGFFFEEEEDDDCCCBBBBAAA@@@????>>>>==<<<<;;;;::::998888777766655544443332222111000////...-----,,,++++***)))((((''''&&%%%%$$$$####""!!!!
- - - - - - - - - - - - - - -
!!!"""####$$$%%%%&&&'''(((())))**++++,,,,-----..////0000112222333344445566667777888999::::;;;<<<<===>>>????@@@@AABBBBCCCCDDEEEEFFFFGGGGHHIIIIJJJJKKKLLLMMMMNNNOOOOPPPQQQRRRRSSSTTTUUUUVVVVWWXXXXYYYYYZZZZ[[\\\\]]]]^^^^^]]]]\\\[[[ZZZZYYYXXXXWWWVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMMLLKKKKJJJJIIIHHHGGGGFFFEEEEDDDCCCBBBBAAA@@@????>>>>==<<<<;;;;::::99888877776665554444333222211110000///...----,,,++++***)))((((''''&&%%%%$$$$####""!!!!!
- - - - - - - - - - - - - - -
!!!!!"""####$$$%%%%&&&'''(((())))**++++,,,,----..////00001112222333344445566667777888999::::;;;<<<<===>>>????@@@@AABBBBCCCCDDEEEEFFFFGGGGHHIIIIJJJJKKKLLLMMMMNNNOOOOPPPQQQRRRRSSSTTTUUUUVVVVWWXXXXYYYYZZZZ[[\\\\]]]]^^^^^^]]]]\\\[[[ZZZZYYYXXXXWWWVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMMLLKKKKJJJJIIIHHHGGGGFFFEEEEDDDCCCBBBBAAA@@@????>>>>==<<<<;;;;::::99888877776666655444433332221110000///...----,,,++++***)))((((''''&&%%%%$$$$$####""!!!!
- - - - - - - - - - - - - - - - - - - -
!!!!"""###$$$$$%%%%&&&'''(((())))**++++,,,,----..////00001122223333444555666667777888999::::;;;<<<<===>>>????@@@@AABBBBCCCCDDEEEEFFFFGGGGHHIIIIJJJJKKKLLLMMMMNNNOOOOPPPQQQRRRRSSSTTTUUUUVVVVWWXXXXYYYYZZZZ[[\\\\]]]]^^^^^^]]]]\\\[[[ZZZZYYYXXXXWWWVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMMLLKKKKJJJJIIIHHHGGGGFFFEEEEDDDCCCBBBBAAA@@@????>>>>==<<<<;;;;:::::9988887777666655444433332221110000///...----,,,++++***)))(((('''''&&&%%%$$$$####""!!!!
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
!!!!"""###$$$$%%%%&&'''''(((())))**++++,,,,----..////0000112222333344455566667778888999:::::;;;<<<<===>>>????@@@@AABBBBCCCCDDEEEEFFFFGGGGHHIIIIJJJJKKKLLLMMMMNNNOOOOPPPQQQRRRRSSSTTTUUUUVVVVWWXXXXYYYYZZZZ[[\\\\]]]]^^^^^^]]]]\\\[[[ZZZZYYYXXXXWWWVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMMLLKKKKJJJJIIIHHHGGGGFFFEEEEDDDCCCBBBBAAA@@@?????>>>>===<<<;;;;::::9988887777666655444433332221110000///...----,,,++++****))))(((''''&&&%%%$$$$####""!!!!
- - - - - - - - - - - - - - - - - - - - - - - - - -
!!!!"""###$$$$%%%%&&''''(((())))***++++,,,,----..////0000112222333344455566667778888999:::;;;;<<<<==>>>>?????@@@@AABBBBCCCCDDEEEEFFFFGGGGHHIIIIJJJJKKKLLLMMMMNNNOOOOPPPQQQRRRRSSSTTTUUUUVVVVWWXXXXYYYYZZZZ[[\\\\]]]]^^^^^^]]]]\\\[[[ZZZZYYYXXXXWWWVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMMLLKKKKJJJJIIIHHHGGGGFFFEEEEDDDCCCCCBBBAAA@@@@???>>>>===<<<;;;;::::9988887777666655444433332221110000///...-----,,,,+++***))))(((''''&&&%%%$$$$#####"""!!!
- - - - - - - - - - - - - - - - - - -
!!!!""#####$$$$%%%%&&''''(((())))**++++,,,,-----..////0000112222333344455566667778888999:::;;;;<<<<==>>>>????@@@@AABBBBCCCCCDDEEEEFFFFGGGGHHIIIIJJJJKKKLLLMMMMNNNOOOOPPPQQQRRRRSSSTTTUUUUVVVVWWXXXXYYYYZZZZ[[\\\\]]]]^^^^^^]]]]\\\[[[ZZZZYYYXXXXWWWVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMMLLKKKKJJJJIIIIIHHGGGGFFFFEEEDDDCCCCBBBAAA@@@@???>>>>===<<<;;;;::::99888877776666554444333322211110000////..----,,,,+++***))))(((''''&&&%%%%%$$$####"""!!!
!!!!""####$$$$%%%%%&&''''(((())))**++++,,,,---...////00011112222333344455566667778888999:::;;;;<<<<==>>>>????@@@@AABBBBCCCCDDEEEEFFFFGGGHHHIIIIIJJJJKKKLLLMMMMNNNOOOOPPPQQQRRRRSSSTTTUUUUVVVVWWXXXXYYYYZZZZ[[\\\\]]]]^^^^^^]]]]\\\[[[ZZZZYYYXXXXWWWVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNNMMMMLLKKKKJJJJIIIIHHGGGGFFFFEEEDDDCCCCBBBAAA@@@@???>>>>===<<<;;;;::::99888877776666554444433332222110000////..----,,,,+++***))))((((('''&&&%%%%$$$####"""!!!
!!!!""####$$$$%%%%&&''''((((())))**++++,,,,---...////00011122223334444455566667778888999:::;;;;<<<<==>>>>????@@@@AABBBBCCCCDDEEEEFFFFGGGHHHIIIIJJJKKKKLLLMMMNNNNNOOOOPPPQQQRRRRSSSTTTUUUUVVVVWWXXXXYYYYZZZZ[[\\\\]]]]^^^^^^]]]]\\\[[[ZZZZYYYXXXXWWWVVVUUUUTTTTSSSSRRRQQQQPPPOOONNNNMMMMLLKKKKJJJJIIIIHHGGGGFFFFEEEDDDCCCCBBBAAA@@@@???>>>>===<<<;;;;::::99888887777666655444433332222110000////..----,,,,+++****))))(((('''&&&%%%%$$$####""""!!!!
!!!!"""####$$$$%%%%&&''''(((()))****++++,,,,---...////00011122223334444555666777788888999:::;;;;<<<<==>>>>????@@@@AABBBBCCCCDDEEEEFFFFGGGHHHIIIIJJJKKKKLLLMMMNNNNOOOOPPQQQQRRRRSSSSTTTUUUUVVVVWWXXXXYYYYZZZZ[[\\\\]]]]^^^^^^]]]]\\\[[[ZZZZYYYYYXXXWWWVVVVUUUTTTTSSSRRRQQQQPPPOOONNNNMMMMLLKKKKJJJJIIIIHHGGGGFFFFEEEDDDCCCCBBBAAA@@@@???>>>>===<<<;;;;;::::9998887777666655444433332222110000////..-----,,,,++++**))))(((('''&&&%%%%$$$$$###"""!!!!
!!!!""####$$$$$%%%%&&''''(((()))***++++,,,-----...////000111222233344445556667777888899::::;;;;;<<<<==>>>>????@@@@AABBBBCCCCDDEEEEFFFFGGGHHHIIIIJJJKKKKLLLMMMNNNNOOOOPPQQQQRRRRSSTTTTUUUUVVVVWWXXXXYYYYYZZZZ[[\\\\]]]]^^^^^^^]]]]\\\\[[ZZZZYYYYXXXWWWVVVVUUUTTTTSSSRRRQQQQPPPOOONNNNMMMMLLKKKKJJJJIIIIHHGGGGFFFFEEEDDDCCCCBBBAAA@@@@?????>>>===<<<<;;;::::99988877776666554444333322221100000////..----,,,,++++**))))(((('''''&&%%%%$$$$###"""!!!!!
!!!!!""####$$$$%%%&&&'''''(((()))***++++,,,----...///00000111222233344445556667777888899::::;;;;<<<<==>>>>?????@@@@AABBBBCCCCDDEEEEFFFFGGGHHHIIIIJJJKKKKLLLMMMNNNNOOOOPPQQQQRRRRSSTTTTUUUUVVVVWWXXXXYYYYZZZ[[[\\\\]]]^^^^^^^^^]]]]\\\\[[ZZZZYYYYXXXWWWVVVVUUUTTTTSSSRRRQQQQPPPOOONNNNMMMMLLKKKKJJJJIIIIHHGGGGFFFFEEEDDDCCCCCBBBBAA@@@@????>>>===<<<<;;;::::99988877776666554444333332222110000////..----,,,,++++**)))))((((''''&&%%%%$$$$#####""!!!!
!!!"""#####$$$$%%%&&&''''((()))))***++++,,,----...///00001112223333344445556667777888899::::;;;;<<<<==>>>>????@@@AAABBBBCCCCCDDEEEEFFFFGGGHHHIIIIJJJKKKKLLLMMMNNNNOOOOPPQQQQRRRRSSTTTTUUUUVVVVWWXXXXYYYYZZZ[[[\\\\]]]^^^^_^^^^]]]]\\\\[[ZZZZYYYYXXXWWWVVVVUUUTTTTSSSRRRQQQQPPPOOONNNNMMMMLLKKKKJJJJIIIIHHGGGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>===<<<<;;;::::99988877776666655544433332222110000////..----,,,,,++++**))))((((''''&&%%%%%$$$$####""!!!!
!!!"""####$$$%%%%%&&&''''((())))***+++,,,,,----...///00001112223333444455666667777888899::::;;;;<<<<==>>>>????@@@AAABBBBCCCDDDEEEEFFFGGGGGHHHIIIIJJJKKKKLLLMMMNNNNOOOOPPQQQQRRRRSSTTTTUUUUVVVVWWXXXXYYYYZZZ[[[\\\\]]]^^^^_^^^^]]]]\\\\[[ZZZZYYYYXXXWWWVVVVUUUTTTTSSSRRRQQQQPPPOOONNNNMMMMLLKKKKKJJJJIIIIHHGGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>===<<<<;;;::::99998888777666655544433332222110000////....---,,,,++++**))))(((('''''&&%%%%$$$$####"""!!!!
!!!!""""####$$$%%%%&&&'''''((())))***+++,,,,----....///00001112223333444455666677778888999::::;;;;<<<<==>>>>????@@@AAABBBBCCCDDDEEEEFFFGGGGHHHIIIJJJJKKKKKLLLMMMNNNNOOOOPPQQQQRRRRSSTTTTUUUUVVVVWWXXXXYYYYZZZ[[[\\\\]]]^^^^_^^^^]]]]\\\\[[ZZZZYYYYXXXWWWVVVVUUUTTTTSSSRRRQQQQPPPPOOOONNNMMMMLLLKKKJJJJIIIIHHGGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>===<<<<<;;;;:::99988887776666555444333322221111000////...---,,,,++++**)))))((((''''&&%%%%$$$$$####""!!!! !!!!"""###$$$$$%%%%&&&'''(((()))))***+++,,,,----..////00001111222333344445566667777888899::::;;;;<<<<<==>>>>????@@@AAABBBBCCCDDDEEEEFFFGGGGHHHIIIJJJJKKKKLLMMMMNNNNOOOOPPPQQQQRRRRSSTTTTUUUUVVVVWWXXXXYYYYZZZ[[[\\\\]]]^^^^_^^^^]]]]\\\\[[ZZZZYYYYXXXWWWVVVVUUUTTTTTSSSRRRRQQQPPPOOOONNNMMMMLLLKKKJJJJIIIIHHGGGGFFFFEEEEDDCCCCBBBBAA@@@@@????>>>>==<<<<;;;;:::99988887776666555444333332222111000////...---,,,,+++++***)))((((''''&&%%%%%$$$$####""!!!!! !!!!!"""###$$$$%%%%%&&&'''(((())))**+++++,,,,----..////00001122223333344445566667777888899::::;;;;<<<===>>>>???@@@@@AAABBBBCCCDDDEEEEFFFGGGGHHHIIIJJJJKKKKLLMMMMNNNNOOOOPPQQQQRRRRSSTTTTTUUUUVVVVWWXXXXYYYYZZZ[[[\\\\]]]^^^^_^^^^]]]]\\\\[[ZZZZYYYYYXXXXWWVVVVUUUUTTTSSSRRRRQQQPPPOOOONNNMMMMLLLKKKJJJJIIIIHHGGGGFFFFEEEEDDCCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::99988887776666655544443332222111000////...-----,,,++++***)))(((('''''&&&%%%$$$$#####"""!!! !!!!""#####$$$$%%%%&&'''''(((())))**++++,,,,-----..////00001122223333444455666667777888899::::;;;;<<<===>>>>???@@@@AAABBBCCCCCDDDEEEEFFFGGGGHHHIIIJJJJKKKKLLMMMMNNNNOOOOPPQQQQRRRRSSTTTTUUUUVVVWWWXXXXYYYYYZZZ[[[\\\\]]]^^^^_^^^^^]]]]\\\\[[ZZZZYYYYXXXXWWVVVVUUUUTTTSSSRRRRQQQPPPOOOONNNMMMMLLLKKKJJJJIIIIHHGGGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<;;;;:::9999888877776665554444333222211100000///...----,,,++++***)))))(((''''&&&%%%%%$$$####"""!!!!! !!!!!""####$$$$%%%%%&&''''(((()))))**++++,,,,----..////000001122223333444455666677778889999::::;;;;<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGGHHHIIIJJJJKKKKLLMMMMNNNNOOOOPPQQQQRRRRSSTTTTUUUUVVVWWWXXXXYYYZZZZ[[[\\\]]]]^^^^^___^^^]]]]\\\\[[ZZZZYYYYXXXXWWVVVVUUUUTTTSSSRRRRQQQPPPOOOONNNMMMMLLLKKKJJJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@????>>>>==<<<<<;;;;::::99888877776665554444333222221110000///...----,,,+++++***))))((('''''&&&%%%%$$$#####"""!!!! !!!!""#####$$$$%%%%&&'''''(((())))**+++++,,,,----..////00001122222333344445566667777888999::::;;;<<<<<===>>>>???@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJJKKKKLLMMMMNNNNOOOOPPQQQQRRRRSSTTTTUUUUVVVWWWXXXXYYYZZZZ[[[\\\]]]]^^^^____^^^]]]]\\\\[[ZZZZYYYYXXXXWWVVVVUUUUTTTSSSRRRRQQQPPPOOOONNNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBAA@@@@?????>>>>==<<<<;;;;::::99888877776665555444433332221110000///...-----,,,,+++***))))((((('''&&&%%%%$$$$$###"""!!!!! !!!!!""####$$$$$%%%%&&''''((((())))**++++,,,,-----..////00001122223333444555566667777888999::::;;;<<<<===>>>?????@@@@AAABBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNNOOOOPPQQQQRRRRSSTTTTUUUUVVVWWWXXXXYYYZZZZ[[[\\\]]]]^^^^____^^^]]]]\\\\[[ZZZZYYYYXXXXWWVVVVUUUUTTTSSSRRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBBAAA@@@????>>>>==<<<<;;;;::::998888777776666554444333322211100000////..----,,,,+++****))))(((('''&&&&%%%%$$$$#####""!!!! !!!"""#####$$$$%%%&&&&''''(((()))****++++,,,,---...////000001122223333444555666677777888999::::;;;<<<<===>>>????@@@@AABBBBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRRRSSTTTTUUUUVVVWWWXXXXYYYZZZZ[[[\\\]]]]^^^^____^^^]]]]\\\\[[ZZZZYYYYXXXXWWVVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFEEEEEDDDCCCBBBBAAA@@@????>>>>==<<<<;;;;:::::99888877776666554444333322222110000////..----,,,,,++++**))))(((((''''&&%%%%$$$$$####""!!!!! !!!!!"""####$$$$$%%%&&&''''((((()))***++++,,,,,---...////00011122222333344455566667778888999:::::;;;<<<<===>>>????@@@@AABBBBCCCCDDEEEEEFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVVWWWXXXXYYYZZZZ[[[\\\]]]]^^^^____^^^]]]]\\\\[[ZZZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIHHHHGGGGFFFEEEEDDDCCCBBBBAAA@@@????>>>>==<<<<<;;;;::::99888877776666554444433332222110000////...----,,,,++++**)))))((((''''&&%%%%%$$$$#####""!!!! !!!!"""#####$$$%%%%%&&&''''((()))))***++++,,,----....////00011122223334444455566667778888999:::;;;;<<<<<===>>>????@@@@AABBBBCCCCDDEEEEFFFFGGGGHHHIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZZ[[[\\\]]]]^^^^____^^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKKJJJJIIIHHHGGGGFFFEEEEDDDCCCBBBBAAA@@@?????>>>>===<<<;;;;::::998888777776666554444333322221100000////..----,,,,+++++**))))(((('''''&&%%%%$$$$$####""!!!!! !!!!!"""###$$$$$%%%%&&&'''''((())))***+++++,,,----...///0000011122223334444555666777778888999:::;;;;<<<<==>>>>?????@@@@AABBBBCCCCDDEEEEFFFFGGGGHHIIIIJJJJKKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^^_____^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPOOOOONNNNMMMMLLKKKKJJJJIIIHHHGGGGFFFEEEEDDDCCCBBBBBAAA@@@@???>>>>===<<<;;;;::::999988877776666554444333322222110000////..-----,,,,++++**)))))((((''''&&%%%%%$$$$#####"""!!! !!!!""#####$$$$%%%%%&&&'''(((()))))***+++,,,,-----...///0000111222223334444555666777788889999:::;;;;<<<<==>>>>????@@@@AABBBBBCCCCDDEEEEFFFFGGGGHHIIIIJJJJKKKLLLMMMMNNNOOOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^__`___^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRRQQQQPPOOOONNNNMMMMLLKKKKJJJJIIIHHHGGGGFFFEEEEEDDDCCCCBBBAAA@@@@???>>>>===<<<;;;;;::::99988877776666554444433332222110000/////...---,,,,+++++***)))(((('''''&&&%%%$$$$$####""""!!!! !!!!"""####$$$$$%%%%&&'''''(((())))**+++++,,,,----../////00001112223333444445556667777888899::::;;;;;<<<<==>>>>????@@@@AABBBBCCCCDDEEEEEFFFFGGGGHHIIIIJJJJKKKLLLMMMMNNNOOOOPPPQQQRRRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^__`___^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMMLLKKKKJJJJIIIHHHHGGGGFFFFEEEDDDCCCCBBBAAA@@@@???>>>>>===<<<<;;;::::999888777776666555444333322221111000////...---,,,,,++++***)))))(((''''&&&&%%%%$$$#####"""!!!!! !!!!!""#####$$$$%%%%&&&''''(((()))))**++++,,,,,----..////000011112223333444455666677777888899::::;;;;<<<<==>>>>>????@@@@AABBBBCCCCDDEEEEFFFFGGGHHHHIIIIJJJJKKKLLLMMMMNNNOOOOPPPQQQRRRRSSSTTTUUUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^__`___^^^^]]]\\\\[[[ZZZYYYYYXXXXWWWVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMMLLKKKKKJJJJIIIIHHGGGGFFFFEEEDDDCCCCBBBAAA@@@@@????>>>===<<<<;;;::::999988887776666555444333332222111000////....----,,,++++****))))((('''''&&&%%%%$$$$$###""""!!!! !!!""""####$$$$$%%%%&&'''''(((())))***++++,,,,----...////000011222233333444455666677778888999::::;;;;<<<<==>>>>????@@@@@AABBBBCCCCDDEEEEFFFFGGGHHHIIIIJJJKKKKKLLLMMMMNNNOOOOPPPQQQRRRRSSSTTTUUUUVVVVWWXXXXYYYYYZZZZ[[\\\\]]]]^^^^__`___^^^^]]]]]\\\[[[ZZZZYYYXXXXWWWVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNNMMMMLLKKKKJJJJIIIIHHGGGGFFFFEEEDDDCCCCCBBBBAA@@@@????>>>===<<<<;;;;;:::9998888777666655554444333222211100000///...----,,,,,+++***)))))(((('''&&&&%%%%$$$$$####""!!!!! !!!!!"""####$$$$$%%%&&&&''''(((()))))**++++,,,,,----..////000001122223333444455566667777888899::::;;;;;<<<<==>>>>????@@@AAABBBBCCCCCDDEEEEFFFFGGGHHHIIIIJJJKKKKLLLMMMNNNNNOOOOPPPQQQRRRRSSSTTTUUUUVVVVWWXXXXYYYYZZZZ[[\\\\]]]]]^^^^__```__^^^^]]]]\\\[[[ZZZZYYYXXXXWWWVVVUUUUTTTTSSRRRRQQQQQPPPOOONNNNMMMMLLKKKKJJJJIIIIHHGGGGFFFFFEEEEDDCCCCBBBBAA@@@@????>>>====<<<<;;;;:::9998888777776665554444333222221110000///...-----,,,,+++****))))(((('''''&&%%%%%$$$$#####""!!!!! !!!!!"""#####$$$%%%%%&&&'''''(((()))****++++,,,,-----..////000011222223333444455666677777888899::::;;;;<<<====>>>>????@@@AAABBBBCCCDDDEEEEFFFFFGGGHHHIIIIJJJKKKKLLLMMMNNNNOOOOPPQQQQQRRRRSSSTTTUUUUVVVVWWXXXXYYYYZZZZ[[\\\\]]]]^^^___````__^^^^]]]]\\\[[[ZZZZYYYXXXXWWWVVVUUUUTTTTTSSSRRRQQQQPPPOOONNNNMMMMLLKKKKJJJJIIIIHHHGGGGFFFFEEEEDDCCCCBBBBAA@@@@@????>>>>==<<<<;;;;:::9999888877776665554444433332221110000/////..----,,,,,++++**)))))((((''''&&&%%%%$$$$$####""""!!!!! !!!!!""""###$$$$$%%%%&&&&''''((()))))***++++,,,,,---.../////000011222233334444455666677778889999::::;;;;<<<===>>>>???@@@@@AAABBBBCCCDDDEEEEFFFGGGGHHHHIIIIJJJKKKKLLLMMMNNNNOOOOPPQQQQRRRRSSTTTTTUUUUVVVVWWXXXXYYYYZZZZ[[\\\\]]]]^^^___````__^^^^]]]]\\\[[[ZZZZYYYXXXXWWWWVVVVUUUTTTTSSSRRRQQQQPPPOOONNNNMMMMLLKKKKKJJJJIIIIHHGGGGFFFFEEEEDDCCCCBBBBBAA@@@@????>>>>==<<<<;;;;;::::998888777766666554444333322211110000////..-----,,,,++++***))))(((((''''&&%%%%%$$$$#####""""!!!! !!!!"""#####$$$$%%%%%&&&'''((((())))****++++,,,-----...////000111122223333444555666667777888999::::;;;;;<<<===>>>>???@@@@AAABBBBBCCCDDDEEEEFFFGGGGHHHIIIJJJJKKKKKLLLMMMNNNNOOOOPPQQQQRRRRSSTTTTUUUUVVVVWWWXXXXYYYYZZZZ[[\\\\]]]]^^^___````__^^^^]]]]\\\[[[ZZZZZYYYYXXXWWWVVVVUUUTTTTSSSRRRQQQQPPPOOONNNNNMMMMLLLKKKJJJJIIIIHHGGGGFFFFEEEEEDDCCCCBBBBAA@@@@????>>>>===<<<<;;;;::::998888777776666554444333332222110000/////..----,,,,,++++**)))))(((('''''&&&%%%%%$$$#####"""!!!!! !!!!!""#####$$$$%%%%%&&'''''(((()))))***+++,,,,,----.../////000111222233333444555666677777888999::::;;;<<<<====>>>>???@@@@AAABBBCCCCDDDEEEEEFFFGGGGHHHIIIJJJJKKKKLLMMMMNNNNNOOOOPPQQQQRRRRSSTTTTUUUUVVVVWWXXXXYYYYZZZZZ[[\\\\]]]]^^^___````__^^^^^]]]]\\\\[[ZZZZYYYYXXXWWWVVVVUUUTTTTSSSRRRQQQQQPPPOOOONNNMMMMLLLKKKJJJJIIIIHHGGGGGFFFFEEEEDDCCCCBBBBAA@@@@?????>>>>==<<<<;;;;:::::998888777766665554444333322221110000////..-----,,,,+++++***)))(((((''''&&&&%%%%$$$$$#####""!!!!! !!!!!"""#####$$$$$%%%%&&&''''((((())))**+++++,,,,-----...///0000111122223334444555566667778888999:::::;;;<<<<===>>>?????@@@@AAABBBCCCCDDDEEEFFFFGGGGGHHHIIIJJJJKKKKLLMMMMNNNNOOOOPPQQQQQRRRRSSTTTTUUUUVVVVWWXXXXYYYYZZZ[[[\\\\]]]^^^^^___`````__^^^^]]]]\\\\[[ZZZZYYYYXXXWWWVVVVUUUTTTTTSSSRRRRQQQPPPOOOONNNMMMMLLLKKKJJJJJIIIIHHHGGGFFFFEEEEDDCCCCBBBBBAAA@@@????>>>>==<<<<;;;;;::::998888777776666554444333322222110000/////...---,,,,,++++***)))))((('''''&&&%%%%%$$$$$####"""!!!!! !!!!!""""####$$$$$%%%%%&&'''''(((()))))**++++,,,,,----../////0000111222223334444555666777778888999:::;;;;;<<<<===>>>????@@@@AABBBBBCCCCDDDEEEFFFFGGGGHHIIIIJJJJJKKKKLLMMMMNNNNOOOOPPQQQQRRRRSSTTTTTUUUUVVVVWWXXXXYYYYZZZ[[[\\\\]]]^^^^___``````__^^^^]]]]\\\\[[ZZZZYYYYXXXWWWVVVVVUUUUTTTSSSRRRRQQQPPPOOOONNNMMMMLLLLKKKKJJJIIIIHHHGGGFFFFEEEEDDDDCCCBBBBAAA@@@????>>>>>===<<<;;;;::::9988888777766665544444333322221100000////...-----,,,+++++***))))((((('''''&&%%%%%$$$$#####""""!!! !!!!""""#####$$$%%%%%&&&'''''((((())))**+++++,,,,-----..////00000111222333344444555666777788888999:::;;;;<<<<==>>>>>????@@@@AABBBBCCCCDDDDEEEFFFFGGGGHHIIIIJJJJKKKKLLLMMMMNNNNOOOOPPQQQQRRRRSSTTTTUUUUVVVVVWWXXXXYYYYZZZ[[[\\\\]]]^^^^___``````__^^^^]]]]\\\\[[ZZZZYYYYYXXXXWWVVVVUUUUTTTSSSRRRRQQQPPPOOOOONNNNMMMLLLKKKKJJJIIIIHHHGGGFFFFFEEEEDDDCCCBBBBAAA@@@@@???>>>>===<<<;;;;:::::999888777766666555444333322222111000/////...----,,,,,+++****))))(((((''''&&&%%%%$$$$$#####"""!!!!! !!!!!""#####$$$$$%%%%&&&&''''((((()))****++++,,,,,----../////000011222223333444455666667777888899:::::;;;;<<<<==>>>>????@@@@@AABBBBCCCCDDEEEEFFFFFGGGGHHIIIIJJJJKKKKLLMMMMNNNNOOOOOPPQQQQRRRRSSTTTTUUUUVVVWWWXXXXYYYYYZZZ[[[\\\\]]]^^^^___``````__^^^^]]]]]\\\\[[ZZZZYYYYXXXXWWVVVVUUUUTTTSSSRRRRQQQQQPPOOOONNNNMMMLLLKKKKJJJIIIIIHHHGGGGFFFEEEEDDDCCCBBBBBAAA@@@@???>>>>===<<<<<;;;::::99988888777666655544444333222211100000///...-----,,,,+++++**)))))(((('''''&&%%%%%$$$$$#####"""!!!!! !!!!!""#####$$$$$%%%%%&&&'''''((()))))***+++++,,,,-----..////0000011222233334444455666677778888899::::;;;;<<<<<==>>>>????@@@@AABBBBBCCCCDDEEEEFFFFGGGGHHIIIIIJJJJKKKKLLMMMMNNNNOOOPPPQQQQQRRRRSSTTTTUUUUVVVWWWXXXXYYYZZZZ[[[\\\]]]]]^^^^___```````___^^^]]]]\\\\[[ZZZZYYYYXXXXWWVVVVUUUUTTTTTSSRRRRQQQQPPOOOONNNNMMMLLLKKKKKJJJJIIIHHHGGGGFFFEEEEDDDDCCCCBBBAAA@@@@???>>>>>===<<<<;;;:::::9998888777666655554444333222221110000/////..----,,,,,++++***))))((((('''''&&&%%%%%$$$$$###""""!!!!! !!!!!""""####$$$$$%%%%%&&'''''((((())))****++++,,,,,---.../////000011222223333444455566667777888899:::::;;;;<<<<==>>>>>????@@@@AABBBBCCCCDDDEEEEFFFFGGGGHHIIIIJJJJKKKKKLLMMMMNNNNOOOPPPQQQQRRRSSSTTTTTUUUUVVVWWWXXXXYYYZZZZ[[[\\\]]]]^^^^__`````````___^^^]]]]\\\\[[ZZZZYYYYXXXXWWWVVVVUUUUTTTTSSRRRRQQQQPPOOOONNNNNMMMMLLKKKKJJJJIIIHHHGGGGFFFFFEEEDDDCCCCBBBAAA@@@@@????>>>===<<<<;;;;;:::99988887777766655544443333322211100000////...----,,,,+++++**)))))(((((''''&&&&%%%%%$$$$#####"""!!!!! !!!!!""""#####$$$$%%%%%&&&''''((((()))))***+++++,,,----....////0000011222233333444455666677777888899::::;;;;;<<<<==>>>>????@@@@@AABBBBCCCCDDEEEEFFFFFGGGGHHIIIIJJJJKKKLLLMMMMNNNNNOOOPPPQQQQRRRSSSTTTTUUUVVVVWWWWXXXXYYYZZZZ[[[\\\]]]]^^^^__````a````___^^^]]]]\\\\[[ZZZZZYYYYXXXXWWVVVVUUUUTTTTSSRRRRQQQQPPPOOOONNNNMMMMLLKKKKJJJJIIIIIHHGGGGFFFFEEEDDDCCCCBBBBBAA@@@@????>>>====<<<<;;;;:::99998888777766655554444333322222110000/////..-----,,,,+++++***)))))((('''''&&&&%%%%$$$$$#####""""!!!!! !!!!!""""#####$$$$$%%%&&&&'''''(((()))))**+++++,,,,-----.../////0001112222233334445555666677778889999::::;;;;<<<====>>>>????@@@AAABBBBBCCCCDDEEEEFFFFGGGHHHIIIIIJJJJKKKLLLMMMMNNNOOOOPPPPQQQQRRRSSSTTTTUUUVVVVWWWXXXYYYYZZZZZ[[[\\\]]]]^^^^__````a````___^^^]]]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUTTTTSSSRRRRQQQQPPOOOONNNNMMMMLLKKKKKJJJJIIIIHHGGGGFFFFEEEDDDDCCCCBBBBAA@@@@?????>>>>==<<<<;;;;;::::9988887777766665544443333322221110000////....---,,,,,++++****))))((((('''''&&%%%%%$$$$$#####""""!!!!! !!!!!"""#####$$$$$%%%%%&&&'''''((((())))***++++,,,,,----....///00001111222233333444555666677777888999::::;;;;;<<<===>>>>?????@@@AAABBBBCCCDDDDEEEEFFFFGGGHHHIIIIJJJKKKKKLLLMMMMNNNOOOOPPPQQQRRRRSSSSTTTTUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]]^^^^__````a`````___^^^^]]]\\\\[[[ZZZYYYYXXXXWWVVVVUUUUUTTTTSSRRRRQQQQPPOOOONNNNMMMMMLLKKKKJJJJIIIIHHGGGGFFFFFEEEEDDCCCCBBBBAAA@@@@????>>>>==<<<<<;;;;::::9988888777766665554444333322222110000/////...-----,,,+++++***)))))((((('''''&&%%%%%$$$$$#####""""!!!!! !!!!!""""#####$$$$$%%%%%&&&'''''((((()))))**+++++,,,,-----../////00001112222233344445555666677788888999::::;;;<<<<<===>>>>???@@@@AAAABBBBCCCDDDEEEEFFFFFGGGHHHIIIIJJJKKKKLLLMMMMMNNNOOOOPPPQQQRRRRSSSTTTUUUUUVVVVWWWXXXYYYYZZZZ[[\\\\]]]]^^^^__`````aaa```___^^^^]]]\\\\[[[ZZZYYYYXXXXXWWWVVVUUUUTTTTSSRRRRQQQQPPOOOOONNNNMMMMLLKKKKJJJJIIIIIHHGGGGFFFFEEEEDDCCCCCBBBBAA@@@@????>>>>>==<<<<;;;;:::::9988887777766665544444333322221111000/////...----,,,,,+++++**)))))(((((''''&&&&%%%%%$$$$$#####"""!!!!! !!!!!""""#####$$$$$%%%%%&&&&'''((((()))))***+++++,,,,,----../////00001111222333344444555666777778888999:::::;;;<<<<===>>>>>???@@@@AAABBBCCCCCDDDEEEEFFFGGGGHHHIIIIIJJJKKKKLLLMMMNNNNOOOOOPPPQQQRRRRSSSTTTUUUUVVVVWWXXXXXYYYYZZZZ[[\\\\]]]]^^^^__````aaaa```___^^^^]]]\\\\[[[ZZZZZYYYXXXXWWWVVVUUUUTTTTSSRRRRRQQQQPPPOOONNNNMMMMLLKKKKKJJJJIIIIHHGGGGFFFFEEEEEDDCCCCBBBBAA@@@@@????>>>>==<<<<<;;;;::::998888877776666555544433332222211100000///....----,,,,,++++***)))))(((('''''&&&&%%%%%$$$$$#####""""!!!!! !!!!!""""#####$$$$$%%%%%&&&'''''(((()))))****++++,,,,,---....////000001122222333344445555666777788888999:::;;;;<<<<<===>>>????@@@@@AAABBBCCCCDDDEEEEEFFFGGGGHHHIIIJJJJKKKKKLLLMMMNNNNOOOOPPQQQQRRRRRSSSTTTUUUUVVVVWWXXXXYYYYZZZZZ[[\\\\]]]]^^^^__````aaaa```___^^^^]]]]]\\\[[[ZZZZYYYXXXXWWWVVVUUUUTTTTTSSSRRRQQQQPPPOOONNNNMMMMMLLLKKKJJJJIIIIHHGGGGGFFFFEEEEDDCCCCBBBBBAAA@@@????>>>>>===<<<;;;;:::::99988877777666655544444333222211110000/////..-----,,,,+++++****)))((((('''''&&&&%%%%%$$$$$#####""""!!!!! !!!!!"""#####$$$$$%%%%%&&&&'''''((((())))****+++++,,,-----.../////0000111222233334444455666677777888899:::::;;;;<<<<==>>>>>????@@@@AABBBBBCCCCDDDEEEFFFFGGGGGHHHIIIJJJJKKKKLLMMMMMNNNNOOOOPPQQQQRRRRSSTTTTTUUUUVVVVWWXXXXYYYYZZZZ[[\\\\]]]]]^^^^__````aaaa`````__^^^^]]]]\\\[[[ZZZZYYYXXXXWWWWVVVVUUUTTTTSSSRRRQQQQPPPOOOOONNNMMMMLLLKKKJJJJIIIIIHHHGGGFFFFEEEEDDDDCCCBBBBAAA@@@?????>>>>===<<<;;;;;::::999888887776666555544443333322211100000////...----,,,,,+++++***)))))((((('''''&&%%%%%%$$$$$#####""""!!!!!! !!!!!!""""#####$$$$$%%%%%%&&&'''''((((()))))**+++++,,,,,----....////00000112222333334444555666677778888899::::;;;;;<<<<==>>>>?????@@@@AABBBBCCCCDDDDEEEFFFFGGGGHHIIIIIJJJJKKKKLLMMMMNNNNOOOOOPPQQQQRRRRSSTTTTUUUUVVVVWWWXXXXYYYYZZZZ[[\\\\]]]]^^^___`````aaaaa````__^^^^]]]]\\\[[[ZZZZYYYYYXXXWWWVVVVUUUTTTTSSSRRRQQQQQPPPOOOONNNMMMMLLLKKKKKJJJIIIIHHHGGGFFFFFEEEEDDDCCCBBBBAAAA@@@@???>>>>====<<<<;;;:::::999888877777666555444443333222221100000////..-----,,,,,+++++***)))))((((('''''&&%%%%%%%$$$$$#####"""!!!!!!! !!!!!!""""#####$$$$$%%%%%%&&&'''''((((()))))**+++++,,,,,-----...///000001112222233334444455666677777888899:::::;;;;<<<<===>>>>????@@@@AAABBBBCCCCDDEEEEFFFFFGGGGHHIIIIJJJJKKKKKLLMMMMNNNNOOOOPPQQQQQRRRRSSTTTTUUUUVVVVWWXXXXYYYYYZZZZ[[\\\\]]]]^^^___````aaaaaa````__^^^^]]]]\\\\\[[ZZZZYYYYXXXWWWVVVVUUUTTTTTSSSRRRRQQQPPPOOOONNNMMMMMLLLKKKKJJJIIIIHHHGGGGGFFFEEEEDDDCCCCCBBBAAA@@@@?????>>>===<<<<;;;;;:::999888887777666665544443333322221110000/////...-----,,,,,+++****)))))((((('''''&&&%%%%%$$$$$$#####""""!!!!!! !!!!!!""""#####$$$$$$%%%%%&&'''''((((()))))****++++,,,,,-----../////000011112222333334445556666677778888899::::;;;;;<<<<==>>>>?????@@@@AABBBBCCCCCDDEEEEFFFFGGGGGHHIIIIJJJJKKKKLLMMMMMNNNNOOOOPPQQQQRRRRSSTTTTTUUUUVVVVWWXXXXYYYYZZZ[[[\\\\\]]]]^^^___````aaaaaa````__^^^^^]]]]\\\\[[ZZZZYYYYXXXWWWVVVVVUUUUTTTSSSRRRRQQQPPPOOOOONNNNMMMLLLKKKKJJJJJIIIHHHGGGGFFFEEEEEDDDCCCCBBBAAA@@@@@????>>>====<<<<;;;;:::::99888877777666655444443333222221100000////....-----,,,,+++++***))))(((((''''''&&&%%%%%%$$$$$#####"""""!!!!!! !!!!!!"""""#####$$$$$%%%%%%%&&''''''((((())))****+++++,,,,-----...////000001112222233344444555666677777888999:::::;;;;<<<====>>>>????@@@@@AABBBBCCCCDDEEEEEFFFFGGGGHHIIIIJJJJJKKKKLLMMMMNNNNOOOOOPPQQQQRRRRSSTTTTUUUUVVVVVWWXXXXYYYYZZZ[[[\\\\]]]^^^^^___````aaaaaaa````__^^^^]]]]\\\\[[ZZZZYYYYYXXXXWWVVVVUUUUTTTSSSRRRRRQQQQPPOOOONNNNMMMLLLKKKKKJJJJIIIHHHGGGGGFFFFEEEDDDCCCCBBBBBAA@@@@?????>>>>==<<<<;;;;;::::99888887777666665544443333322221111000/////....----,,,,,+++++**)))))((((('''''&&&&%%%%%%$$$$$#######"""!!!!!!! !!!!!!""""######$$$$$%%%%%%&&&&'''''((((()))))***+++++,,,,,---..../////000011112223333344445556666677788888999::::;;;;;<<<===>>>>?????@@@AAABBBBBCCCCDDEEEEFFFFGGGGGHHIIIIJJJJKKKKKLLMMMMNNNNOOOPPPQQQQRRRRRSSTTTTUUUUVVVWWWXXXXYYYYYZZZ[[[\\\\]]]^^^^___```aaaaaaaaa````__^^^^]]]]\\\\[[[ZZZZYYYYXXXXWWVVVVUUUUTTTTTSSRRRRQQQQPPOOOONNNNNMMMMLLKKKKJJJJIIIIIHHGGGGFFFFEEEDDDDCCCCBBBBAA@@@@@????>>>>===<<<<;;;;:::::998888777776666555544433333222211110000/////..-----,,,,,+++++***)))))((((('''''&&&%%%%%%%$$$$$######""""!!!!!! !!!!!!""""######$$$$$%%%%%%&&&&'''''((((()))))**+++++,,,,,-----.../////000011122223333344445555666777778888999:::::;;;<<<<====>>>>???@@@@@AAABBBBCCCDDDDEEEEFFFFGGGHHHIIIIIJJJJKKKLLLMMMMNNNNNOOOPPPQQQQRRRSSSTTTTTUUUUVVVWWWXXXXYYYZZZZ[[[[\\\\]]]^^^^___```aaaabaaaa````__^^^^]]]]]\\\\[[ZZZZYYYYXXXXWWVVVVVUUUUTTTTSSRRRRQQQQPPPOOOONNNNMMMMLLKKKKJJJJJIIIIHHGGGGFFFFFEEEEDDCCCCBBBBBAA@@@@????>>>>>==<<<<;;;;;::::9988888777766666555444443332222211100000/////..-----,,,,,++++****)))))((((('''''&&&&%%%%%%$$$$$######"""""!!!!!! !!!!!!"""""#######$$$$$%%%%%%&&&&'''''((((()))))***++++,,,,,-----.../////0000011222223333444445566666777788888999:::;;;;;<<<<===>>>>>???@@@@AAABBBBBCCCDDDEEEEFFFFFGGGHHHIIIIJJJJJKKKLLLMMMMNNNOOOOPPPPQQQQRRRSSSTTTTUUUVVVVVWWWXXXXYYYZZZZ[[[\\\]]]]]^^^^___```aaaabaaaa`````___^^^]]]]\\\\[[ZZZZYYYYXXXXXWWVVVVUUUUTTTTSSRRRRRQQQQPPOOOONNNNMMMMLLLKKKKJJJJIIIIHHHGGGGFFFFEEEEDDCCCCCBBBBAA@@@@@????>>>>====<<<;;;;:::::9998887777766665555444433333222111100000////....-----,,,+++++****)))))((((('''''&&&&%%%%%%$$$$$$#######"""!!!!!!! !!!!!!""""######$$$$$$%%%%%%%&&&'''''((((()))))****+++++,,,,-----....///0000011112222333334444555666677777888899:::::;;;;<<<<====>>>????@@@@@AAABBBCCCCCDDDEEEEFFFGGGGHHHHIIIIJJJKKKKLLLLMMMMNNNOOOOPPPQQQRRRRRSSSTTTTUUUVVVVWWWXXXXXYYYZZZZ[[[\\\]]]]^^^^__`````aaaabbbaaa````___^^^]]]]\\\\[[ZZZZZYYYYXXXXWWVVVVUUUUTTTTTSSRRRRQQQQPPOOOONNNNNMMMMLLKKKKJJJJJIIIIHHGGGGFFFFEEEEEDDCCCCBBBBBAAA@@@????>>>>>===<<<;;;;;::::9999888877777666555444443333322221110000/////....----,,,,,+++++***)))))((((('''''''&&%%%%%%$$$$$$$######""""!!!!!!! !!!!!!!!""""######$$$$$$%%%%%%&&&''''''((((()))))****+++++,,,,,----.../////0000111122223333344444556666777778888999::::;;;;;<<<<==>>>>>????@@@@AABBBBBCCCCDDDEEEEEFFFGGGGHHHIIIJJJJJKKKKLLLMMMNNNNNOOOOPPPQQQRRRRSSSTTTTTUUUVVVVWWWXXXYYYYZZZZZ[[[\\\]]]]^^^^__````aaaabbbbaaa````___^^^]]]]]\\\\[[[ZZZYYYYXXXXWWVVVVVUUUUTTTTSSRRRRQQQQPPPPOOONNNNMMMMLLKKKKKJJJJIIIIHHGGGGGFFFFEEEEDDCCCCCBBBBAAA@@@@@???>>>>====<<<<;;;:::::9998888877776666655444443333222221100000/////...-----,,,,,+++++****)))))(((((''''''&&&&%%%%%$$$$$$######"""""!!!!!!!! !!!!!!!"""""#######$$$$$$%%%%%&&&&''''''((((()))))****+++++,,,,,-----../////0000011122222333444445556666677778888899:::::;;;;<<<<===>>>>????@@@@@AABBBBCCCCCDDDEEEFFFFGGGGGHHHIIIJJJJKKKKKLLLMMMNNNNOOOOPPPPQQQRRRRSSSTTTUUUUVVVVVWWWXXXYYYYZZZZ[[\\\\]]]]]^^^^__````aaaabbbbaaa````____^^^^]]]\\\\[[[ZZZYYYYXXXXXWWWVVVUUUUTTTTSSRRRRRQQQQPPPOOONNNNMMMMMLLLKKKJJJJIIIIIHHHGGGFFFFEEEEEDDDCCCBBBBBAAA@@@@???>>>>>===<<<<<;;;;:::999988887777766665554444333332222211100000/////..-----,,,,,+++++****)))))(((((''''''&&&&%%%%%%$$$$$$#######"""""!!!!!!! !!!!!!!!"""""######$$$$$$%%%%%%%&&&'''''''((((()))))***+++++,,,,,-----.../////00000112222233333444455556666777778889999::::;;;;<<<<<==>>>>>????@@@@AABBBBBCCCCDDEEEEEFFFFGGGGHHIIIIIJJJJKKKKLLMMMMMNNNNOOOOPPQQQQRRRRRSSSTTTUUUUVVVVWWXXXXXYYYYZZZZ[[\\\\]]]]^^^^___````aaaabbbbbaaaa```___^^^^]]]\\\\[[[ZZZZZYYYXXXXWWWVVVUUUUTTTTTSSSRRRQQQQPPPOOOOONNNMMMMLLLKKKKKJJJIIIIHHHGGGGGFFFEEEEDDDCCCCCBBBAAA@@@@@????>>>====<<<<;;;;;::::99888887777666665544444333332222111100000////...-----,,,,,+++++****)))))(((((''''''&&&&%%%%%%$$$$$$$######"""""!!!!!!!!! !!!!!!!!!"""""######$$$$$$%%%%%%&&&&''''''((((()))))****+++++,,,,,-----....////00000111222233333444445556666677788888999::::;;;;;<<<====>>>>????@@@@@AABBBBCCCCCDDEEEEFFFFGGGGGHHIIIIJJJJKKKKKLLMMMMNNNNOOOOOPPQQQQRRRRSSTTTTTUUUUVVVVWWXXXXYYYYZZZZZ[[\\\\]]]]^^^^__````aaaabbbbbbaaaa```___^^^^]]]]]\\\[[[ZZZZYYYXXXXWWWVVVVVUUUTTTTSSSRRRQQQQQPPPOOOONNNMMMMMLLLKKKKJJJIIIIHHHHGGGGFFFEEEEEDDDCCCCBBBAAAA@@@@?????>>>>==<<<<<;;;;:::::9988887777766666555444443332222211110000/////....-----,,,,,+++++***)))))((((('''''''&&&%%%%%%%$$$$$$#######"""""!!!!!!!!! !!!!!!!!!"""""########$$$$$$%%%%%%&&&&''''''((((()))))****+++++,,,,,-----..../////0001111222223333444445566666777778888999:::::;;;<<<<<===>>>>?????@@@AAAABBBBCCCCDDEEEEEFFFFGGGGHHHIIIIJJJJKKKKLLMMMMMNNNNOOOOPPQQQQQRRRRSSTTTTUUUUVVVVVWWXXXXYYYYZZZZ[[\\\\]]]]]^^^^__````aaaabbcbbbaaaa```____^^^^]]]]\\\[[[ZZZZYYYYYXXXWWWVVVVUUUTTTTSSSSRRRRQQQPPPOOOONNNNNMMMLLLKKKKJJJJJIIIHHHGGGGFFFFFEEEDDDCCCCCBBBBAA@@@@@????>>>>===<<<<;;;;;::::99998887777766665555444433333222221100000/////....-----,,,,,+++++****)))))(((((('''''&&&&&%%%%%%$$$$$$########"""""!!!!!!!!! !!!!!!!!!"""""#######$$$$$$%%%%%%%&&&&&'''''(((((()))))****+++++,,,,,-----.../////000001112222233333444455566667777788889999:::;;;;;<<<<====>>>>???@@@@@AAABBBBCCCCCDDEEEEFFFFFGGGGHHIIIIJJJJJKKKKLLMMMMNNNNNOOOOPPQQQQRRRRSSSTTTTUUUUVVVVWWXXXXYYYYYZZZZ[[\\\\]]]]^^^____````aaaabbcbbbaaaaa````__^^^^]]]]\\\[[[[ZZZZYYYYXXXWWWVVVVUUUUUTTTSSSRRRRQQQPPPPOOOONNNNMMMLLLLKKKKJJJJIIIHHHHGGGGFFFFEEEEEDDCCCCBBBBBAA@@@@?????>>>>==<<<<<;;;;:::::99988888777666665554444433333222221100000/////...------,,,,,+++++****)))))((((((''''''&&&&%%%%%%$$$$$$$$#######"""""!!!!!!!!!! !!!!!!!!!!"""""########$$$$$$$%%%%%%&&&&''''''((((((()))))***+++++,,,,,-------../////00000111222223333344444556666677778888899:::::;;;;<<<<<===>>>?????@@@@AAABBBBBCCCDDDEEEEEFFFFGGGHHHHIIIIJJJJKKKLLLLMMMMNNNNOOOPPPPQQQQRRRRSSTTTTUUUUUVVVVWWXXXXYYYYZZZ[[[[\\\\]]]]^^^___````aaaaabbcccbbaaaa````__^^^^]]]]]\\\\[[ZZZZYYYYXXXWWWWVVVVUUUUTTTSSSRRRRRQQQQPPOOOONNNNNMMMMLLKKKKJJJJJIIIIHHGGGGFFFFFEEEEDDCCCCCBBBBAA@@@@@????>>>>>===<<<;;;;;::::9999888877777666665544444333332222111100000/////..-----,,,,,,+++++****)))))(((((('''''''&&&%%%%%%%%$$$$$$#########"""""!!!!!!!!!! !!!!!!!!!!"""""########$$$$$$$%%%%%%%&&&&''''''(((((()))))****+++++,,,,,,-----.../////000001111222333334444455566666777778888999::::;;;;;<<<<==>>>>>????@@@@@AAABBBCCCCCDDDEEEEFFFFFGGGHHHIIIIJJJJJKKKLLLMMMMNNNNNOOOPPPQQQQRRRRRSSTTTTUUUUVVVWWWWXXXXYYYYZZZ[[[\\\\]]]]]^^^___````aaabbbccccbbaaaa````___^^^^]]]]\\\\[[ZZZZYYYYYXXXXWWVVVVUUUUTTTTTSSRRRRQQQQPPOOOOONNNNMMMMLLKKKKKJJJJIIIIHHHGGGGFFFFEEEEEDDCCCCBBBBBAAA@@@?????>>>>===<<<<<;;;;;:::9998888877777666655544444333322222111100000/////..-----,,,,,,,+++++***)))))(((((((''''''&&&&&%%%%%%$$$$$$$$########"""""""!!!!!!!!!! !!!!!!!!!!""""""#########$$$$$$$%%%%%%%&&&&&''''''(((((()))))****+++++,,,,,,-----.../////000001112222233334444455556666777778888899::::;;;;;<<<<<==>>>>?????@@@@AABBBBBCCCCDDDEEEEEFFFGGGGHHHHIIIIJJJKKKKKLLLMMMMNNNOOOOOPPPQQQQRRRSSSTTTTTUUUUVVVWWWXXXXYYYYYZZZ[[[\\\\]]]^^^^____````aaabbbccccbbaaaaa````__^^^^]]]]\\\\[[[ZZZZYYYYXXXXWWVVVVVUUUUTTTTSSRRRRQQQQQPPOOOONNNNMMMMMLLKKKKJJJJIIIIIHHGGGGFFFFFEEEEDDCCCCCBBBBAAA@@@@@???>>>>>===<<<<<;;;;:::::99888887777666665555444333332222211110000/////....-----,,,,,,+++++****))))))((((((''''''&&&&%%%%%%%%$$$$$$$#########""""""!!!!!!!!!!!!! !!!!!!!!!!!!"""""""########$$$$$$$$%%%%%%%&&&&''''''((((((())))))****+++++,,,,,,-----..../////00011112222233333444455556666677788888999:::::;;;;<<<<<==>>>>>????@@@@@AABBBBCCCCCDDDEEEFFFFFGGGGHHHIIIIIJJJKKKKLLLMMMMMNNNOOOOPPPQQQQQRRRSSSTTTTUUUVVVVVWWWXXXXYYYZZZZ[[[[\\\\]]]^^^^___```aaaaabbbcccccbbaaaa````__^^^^]]]]]\\\\[[ZZZZYYYYXXXXXWWVVVVUUUUTTTTSSSRRRRQQQQPPOOOOONNNNMMMMLLKKKKKJJJJIIIIHHGGGGGFFFFEEEEEDDDCCCBBBBBAAA@@@@?????>>>====<<<<;;;;;::::999888877777666665554444433333222221100000/////....-----,,,,,,+++++****))))))(((((('''''''&&&&&%%%%%%$$$$$$$$$########""""""""!!!!!!!!!!!!!! !!!!!!!!!!!!!!"""""""#########$$$$$$$$$%%%%%%&&&&&''''''(((((()))))))***+++++,,,,,,,-----.../////0000011122222333334444455666667777788889999::::;;;;;<<<====>>>>?????@@@@AABBBBBCCCCDDEEEEEFFFFGGGGGHHHIIIJJJJKKKKKLLLMMMNNNNOOOOOPPPQQQRRRRSSSSTTTTUUUVVVVWWWXXXXXYYYZZZZ[[[\\\]]]]]^^^^___```aaaabbbccccccbbaaaa````____^^^]]]]\\\\[[ZZZZZYYYYXXXXWWVVVVUUUUUTTTTSSRRRRQQQQQPPPOOONNNNMMMMMLLLKKKJJJJIIIIIHHHGGGFFFFFEEEEDDDCCCCCBBBAAAA@@@@????>>>>>==<<<<<;;;;:::::998888877777666665554444433333222221100000/////....-----,,,,,,+++++****))))))((((((('''''''&&&&%%%%%%%$$$$$$$$$##########""""""""!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!"""""""##########$$$$$$$$$%%%%%%%%&&&''''''''(((((())))))****+++++,,,,,,-----..../////0000011122222333334444455666667777788888999:::::;;;<<<<<===>>>>>????@@@AAAABBBBCCCCCDDEEEEFFFFFGGGGHHIIIIIJJJJKKKKLLMMMMMNNNNOOOOPPQQQQQRRRRSSSTTTUUUUUVVVVWWWXXXYYYYZZZZZ[[[\\\]]]]^^^^____```aaaabbbccccccbbaaaaa````___^^^]]]]\\\\\[[[ZZZYYYYXXXXWWWWVVVUUUUTTTTSSRRRRRQQQQPPPOOONNNNNMMMMLLLKKKKKJJJIIIIHHHGGGGGFFFEEEEEDDDCCCCBBBBBAA@@@@@????>>>>>==<<<<;;;;;:::::9998888877777666555544444333332222111100000/////...-----,,,,,,,+++++*****))))))((((((''''''&&&&&%%%%%%%%$$$$$$$$$##########""""""""!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"""""""""##########$$$$$$$$$%%%%%%%&&&&&''''''((((((())))))*****+++++,,,,,,-----..../////000001111222333334444455556666777778888899:::::;;;;;<<<<===>>>>>???@@@@@AAABBBBBCCCCDDEEEEEFFFFGGGGGHHIIIIJJJJKKKKKLLMMMMNNNNNOOOOPPQQQQRRRRRSSSTTTUUUUVVVVWWWWXXXYYYYZZZZ[[\\\\\]]]]^^^^__````aaaaabbbcccccccbbbaaa````___^^^^^]]]\\\\[[[ZZZYYYYYXXXXWWWVVVUUUUTTTTTSSSRRRQQQQPPPPOOOONNNMMMMMLLLKKKKJJJIIIIIHHHGGGGFFFFFEEEDDDCCCCCBBBBAAA@@@@?????>>>>====<<<;;;;;::::99998888877776666655544443333322222111100000/////....------,,,,,++++++****))))))((((((''''''''&&&&&%%%%%%%$$$$$$$$$$############""""""""""!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""###########$$$$$$$$$$%%%%%%%%&&&&&'''''''(((((()))))))***+++++++,,,,,------..../////0000011122222333334444555566666777788888999::::;;;;;<<<<====>>>?????@@@@AAAABBBBCCCCCDDEEEEFFFFFGGGGHHIIIIIJJJJKKKKLLMMMMMNNNNOOOOPPPQQQQRRRRSSTTTTTUUUUVVVVWWXXXXYYYYYZZZZ[[\\\\]]]]^^^^^__````aaaabbccccdccccbbbaaa`````___^^^^]]]\\\\[[[ZZZZZYYYXXXXWWWVVVVVUUUTTTTSSSRRRRRQQQPPPOOOONNNNNMMMLLLKKKKKJJJJIIIHHHHGGGGFFFFEEEEEDDCCCCBBBBBAA@@@@@????>>>>>===<<<<<;;;:::::99998888777776666655444443333322222111100000/////....------,,,,,++++++****))))))((((((((''''''&&&&&&%%%%%%%%$$$$$$$$$$############"""""""""""""!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""#############$$$$$$$$$$%%%%%%%&&&&&&'''''''((((((())))))****++++++,,,,,-------.../////00000111122222333334444455566666777778889999:::::;;;;<<<<<==>>>>>????@@@@@AAABBBBBCCCDDDEEEEEFFFFGGGHHHHIIIIJJJJKKKKKLLMMMMNNNNNOOOOPPQQQQRRRRRSSTTTTUUUUVVVVVWWXXXXYYYYZZZZZ[[\\\\]]]]^^^^__`````aaaabbccccdccccbbbbaaaa```___^^^^]]]]]\\\[[[ZZZZYYYXXXXXWWWVVVVUUUTTTTTSSSRRRRQQQPPPPOOOONNNNMMMLLLLKKKKJJJJIIIIIHHGGGGFFFFFEEEEDDDCCCCBBBBBAAA@@@?????>>>>====<<<<;;;;;:::::9988888777776666655544444333332222211100000/////....------,,,,,+++++++*****))))))((((((''''''''&&&&&%%%%%%%%%%$$$$$$$$$$#############"""""""""""""""""""""""""""""""""""""""""""""""""##############$$$$$$$$$$%%%%%%%%%%&&&&&'''''''((((((())))))*****++++++,,,,,------..../////00000111122222333334444455666667777788888999:::::;;;;;<<<<===>>>>?????@@@@AABBBBBCCCCDDDDEEEEFFFFFGGGHHHIIIIIJJJJKKKLLLLMMMMNNNNOOOPPPPQQQQRRRRSSTTTTTUUUUVVVVWWXXXXXYYYYZZZZ[[\\\\]]]]]^^^^__````aaaabbbccccdddcccbbbaaaa```___^^^^^]]]]\\\[[[ZZZZZYYYYXXXWWWVVVVUUUUUTTTSSSRRRRQQQQQPPOOOONNNNNMMMMLLKKKKKJJJJIIIIHHHGGGGFFFFEEEEEDDCCCCCBBBBAAA@@@@@?????>>>====<<<<;;;;;:::::99888887777766665555444443333322222111100000/////...-------,,,,,,++++++****))))))(((((((('''''''&&&&&%%%%%%%%%%$$$$$$$$$$$##################""""""""""""""""""""""""""""""""""#################$$$$$$$$$$$%%%%%%%%%%&&&&&''''''''((((((()))))))***+++++++,,,,,,------..../////00000111122222333334444455566667777788888999:::::;;;;;<<<====>>>>?????@@@@@AABBBBCCCCCDDDEEEEEFFFGGGGHHHHIIIIJJJKKKKKLLLMMMMNNNNNOOOPPPQQQQQRRRRSSTTTTUUUUUVVVVWWXXXXYYYYZZZZZ[[\\\\]]]]^^^^^__````aaaabbccccddddcccbbbaaaa`````__^^^^]]]]\\\\\[[ZZZZYYYYXXXWWWWVVVVUUUUTTTSSSSRRRRQQQQPPOOOOONNNNMMMMLLLKKKKJJJJIIIIIHHGGGGGFFFFEEEEDDDDCCCBBBBBAAA@@@@@????>>>>>==<<<<<;;;;;::::999988888777666665555444443333322222111100000/////....------,,,,,,++++++****))))))))(((((((''''''''&&&&&&%%%%%%%%%%$$$$$$$$$$$$###########################################################$$$$$$$$$$$$$%%%%%%%%%%&&&&&&'''''''(((((((()))))))****++++++,,,,,,,------..../////000001112222233333444445555666667777888889999:::;;;;;<<<<<===>>>>>????@@@@@AABBBBBCCCCDDDDEEEFFFFGGGGGHHHIIIIIJJJKKKKLLLLMMMMNNNOOOOOPPPQQQQRRRSSSSTTTTUUUUVVVWWWWXXXXYYYYZZZ[[[\\\\\]]]]^^^___`````aaaabbccccddddcccccbbaaaa````__^^^^]]]]]\\\\[[ZZZZYYYYYXXXXWWVVVVUUUUUTTTTSSRRRRQQQQQPPOOOONNNNNMMMMLLKKKKKJJJJIIIIHHHHGGGFFFFFEEEEDDDCCCCCBBBAAAA@@@@?????>>>>===<<<<<;;;;:::::999988887777766666555444443333322222111100000//////....-----,,,,,,+++++++*****))))))((((((('''''''''&&&&&&%%%%%%%%%%$$$$$$$$$$$$$$$#################################################$$$$$$$$$$$$$$$%%%%%%%%%%&&&&&&'''''''''(((((((())))))*****++++++,,,,,,-----....//////000001111222223333344444555566666777778888999:::::;;;;<<<<<====>>>>?????@@@AAAABBBBCCCCCDDEEEEFFFFFGGGGHHHHIIIJJJJKKKKKLLLMMMNNNNNOOOOPPPQQQQQRRRSSSTTTTUUUUUVVVWWWXXXXYYYYYZZZ[[[\\\\]]]]]^^^___````aaabbbcccccdddddccccbbaaaa````___^^^^]]]]\\\\[[[ZZZZYYYYXXXXWWVVVVVUUUUTTTTSSSRRRRQQQQPPOOOOONNNNMMMMLLLLKKKJJJJJIIIIHHHGGGGGFFFEEEEEDDDCCCCBBBBBAA@@@@@?????>>>>====<<<;;;;;:::::999888887777766666555544444333332222211100000///////...-------,,,,,,++++++****)))))))(((((((('''''''''&&&&&&%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$##################################$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%&&&&&&'''''''''((((((())))))))***+++++++,,,,,,------....//////000001111222223333344444555566666777778888899:::::;;;;;<<<<====>>>?????@@@@@AAABBBBBCCCCDDEEEEEFFFFGGGGGHHIIIIJJJJJKKKKLLLLMMMNNNNOOOOOPPPQQQRRRRSSSSTTTTUUUVVVVVWWWXXXXYYYZZZZ[[[[\\\\]]]^^^^____````aaabbbccccddddddccccbbaaaaa````__^^^^]]]]]\\\\[[ZZZZYYYYXXXXXWWVVVVUUUUTTTTTSSRRRRQQQQQPPPOOONNNNNMMMMLLLKKKKKJJJIIIIHHHHGGGGFFFFFEEEDDDDCCCCBBBBBAA@@@@@????>>>>>===<<<<<;;;;;:::::998888877777666665555444443333322222111100000//////....------,,,,,,++++++*****))))))))(((((((''''''''''&&&&&&&%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%&&&&&&''''''''''(((((((()))))))*****++++++,,,,,,,------....//////000001111222223333344444555666667777788888999:::::;;;;;<<<<<==>>>>>????@@@@@AAABBBBBCCCDDDDEEEEFFFFFGGGGHHHIIIIJJJJKKKKKLLMMMMNNNNNOOOOPPQQQQQRRRRSSSTTTTTUUUVVVVWWWXXXXXYYYZZZZ[[[\\\]]]]]^^^^___```aaaaabbbccccddddddcccccbbaaaa````__^^^^^]]]]\\\\[[ZZZZZYYYYXXXXWWVVVVVUUUUTTTTSSRRRRRQQQQPPPOOOOONNNMMMMMLLLKKKKJJJJJIIIHHHGGGGGFFFFEEEEEDDCCCCCBBBBAAAA@@@?????>>>>>===<<<<<;;;;;::::9998888877777666665554444443333322222111100000//////....------,,,,,,++++++++*****)))))))((((((((''''''''''&&&&&&&%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%&&&&&&&&''''''''''((((((())))))))*****+++++++,,,,,,-------...///////0000011122222333334444444556666677777888889999::::;;;;;<<<<<==>>>>>?????@@@@AAAABBBCCCCCDDDEEEEEFFFFGGGGGHHIIIIJJJJJKKKKLLMMMMMNNNNOOOOOPPQQQQRRRRRSSSTTTUUUUVVVVVWWWXXXYYYYZZZZZ[[[\\\]]]]^^^^^___```aaaabbbcccccdddddddccccbbaaaa`````___^^^]]]]\\\\\[[[ZZZYYYYXXXXXWWWVVVUUUUTTTTTSSSRRRQQQQQPPPOOOONNNNNMMMLLLKKKKKJJJJIIIIIHHGGGGFFFFFEEEEDDDCCCCBBBBBAAA@@@@@?????>>>====<<<<<;;;;:::::99998888877777666665544444433333222221111000000/////.....-------,,,,,,++++++*****)))))))))(((((((((''''''''''&&&&&&&%%%%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%&&&&&&&&''''''''''((((((((())))))))*****+++++++,,,,,,------...../////000000111122222333334444445556666677777888889999:::::;;;<<<<<====>>>>?????@@@@@AABBBBBCCCCDDDDEEEEFFFFFGGGHHHIIIIIJJJJKKKKKLLMMMMNNNNNOOOOPPQQQQQRRRRSSTTTTTUUUUVVVVWWXXXXXYYYYZZZZ[[\\\\\]]]]^^^^__`````aaaabbbcccddddeddddccccbbbbaaa````___^^^^^]]]\\\\[[[ZZZYYYYYXXXXWWWVVVVVUUUTTTTSSSRRRRRQQQPPPOOOOONNNNMMMMMLLKKKKJJJJJIIIIHHHGGGGFFFFFEEEEDDCCCCCBBBBBAAA@@@@@????>>>>>===<<<<;;;;;:::::999988887777766666655444444433333222221110000000//////....------,,,,,,++++++++*****))))))))((((((((('''''''''''&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&'''''''''''((((((((()))))))))*****+++++++,,,,,,,------....//////00000011112222233333444444555666666777778888999:::::;;;;;<<<<====>>>>>????@@@@@AABBBBBCCCCCDDDEEEFFFFFGGGGHHHHIIIIJJJJJKKKLLLMMMMMNNNNOOOOOPPQQQQRRRRRSSTTTTUUUUVVVVVWWXXXXYYYYYZZZZ[[\\\\]]]]^^^^^__````aaaabbbbcccddddedddddccccbbbaaa`````___^^^^]]]\\\\[[[[ZZZZYYYXXXXXWWWVVVVUUUTTTTTSSSRRRRQQQQQPPOOOONNNNNMMMMLLKKKKKJJJJIIIIIHHGGGGGFFFFEEEEEDDDCCCCCBBBAAAA@@@@?????>>>>>==<<<<<;;;;;:::::999888887777766666655544444433333222221111000000//////....------,,,,,,,,+++++++*****)))))))))(((((((((''''''''''''&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&'''''''''''''((((((((())))))))*****++++++++,,,,,,,-------...///////00000011112222233333444444556666666777778888899:::::;;;;;<<<<<===>>>>>?????@@@AAAABBBBCCCCCDDEEEEEFFFFGGGGGHHHIIIIIJJJKKKKKLLLMMMMNNNNNOOOPPPQQQQQRRRRSSTTTTTUUUUVVVVWWXXXXXYYYYZZZZ[[[\\\\]]]]^^^^__`````aaaabbccccdddddeeedddccccbbbaaaaa```___^^^^]]]]]\\\[[[ZZZZYYYYYXXXWWWVVVVVUUUUTTTSSSRRRRRQQQQPPOOOOONNNNMMMMMLLKKKKJJJJJIIIIHHHHGGGFFFFFEEEEDDDDCCCCBBBBBAA@@@@@?????>>>>>===<<<<<;;;;;:::::99888887777766666555544444433333222221111100000//////.....-------,,,,,,+++++++++*****))))))))((((((((((''''''''''''''&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&''''''''''''''(((((((((()))))))))*****+++++++++,,,,,,------.....//////000001111122222333334444444555666667777788888999:::::;;;;;<<<<<==>>>>>?????@@@@@AAABBBBBCCCCDDDEEEEFFFFFGGGGHHHHIIIJJJJJKKKKLLLMMMMMNNNOOOOOPPPQQQQRRRRRSSTTTTUUUUVVVVVWWXXXXYYYYYZZZZ[[\\\\]]]]]^^^^__````aaaaabbccccddddeeeedddcccccbbbaaaa```____^^^^]]]]\\\[[[[ZZZZYYYYXXXWWWWVVVVUUUUTTTTTSSRRRRQQQQQPPOOOONNNNNMMMMLLLLKKKJJJJIIIIIHHHGGGGGFFFEEEEEDDDCCCCCBBBBBAA@@@@@?????>>>>====<<<<<;;;;;::::99988888777776666655554444443333322222221110000000//////....------,,,,,,,++++++++******)))))))))((((((((((('''''''''''''''&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'''''''''''''''(((((((((((())))))))*******+++++++,,,,,,,,------....//////00000011112222223333344444455556666677777888889999::::;;;;;<<<<<===>>>>?????@@@@@AAABBBBBCCCCCDDEEEEEFFFFGGGGGHHIIIIIJJJJKKKKLLLLMMMNNNNNOOOOPPPQQQQQRRRSSSTTTTTUUUUVVVWWWWXXXXYYYYZZZ[[[[\\\\]]]]^^^____````aaaabbcccccddddeeeeeddddcccbbbaaaaa````__^^^^]]]]]\\\\[[ZZZZYYYYYXXXXWWVVVVVUUUUTTTTSSRRRRRQQQQPPPPOOONNNNMMMMMLLLKKKKKJJJIIIIIHHHGGGGFFFFFEEEEEDDCCCCCBBBBAAAA@@@@@???>>>>>====<<<<;;;;;:::::99998888877777666665554444444333332222221111000000//////....-------,,,,,,,,+++++++*******))))))))))((((((((((((''''''''''''''''''&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'''''''''''''''''((((((((((((())))))))))******++++++++,,,,,,,--------...///////00000011112222223333344444455556666677777888889999:::::;;;;;<<<====>>>>>????@@@@@AAAABBBCCCCCDDDEEEEEFFFFFGGGGHHIIIIIJJJJKKKKKLLMMMMMNNNNOOOOPPPPQQQRRRRRSSSTTTTUUUVVVVVWWWXXXXYYYYYZZZ[[[\\\\]]]]]^^^___````aaaaabbccccddddeeeeeeddddcccccbbaaaa````__^^^^^]]]]\\\\[[ZZZZZYYYYXXXXWWWVVVVUUUUTTTTTSSRRRRQQQQQPPPOOONNNNNMMMMLLLLKKKKJJJJJIIIHHHHGGGGFFFFFEEEEDDDCCCCBBBBBAAAA@@@@?????>>>>>==<<<<<;;;;;:::::99998888877777666665555444444333332222221111000000//////.....--------,,,,,,,++++++++******)))))))))))(((((((((((((''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((()))))))))))*******+++++++,,,,,,,,-------.....//////00000001112222222333334444445555666667777788888999:::::;;;;;<<<<<===>>>>>?????@@@@AAABBBBBCCCCDDDDEEEEFFFFFGGGHHHHIIIIJJJJJKKKKLLLMMMMNNNNNOOOOPPQQQQQRRRRSSSTTTTTUUUVVVVWWWWXXXXYYYZZZZZ[[[\\\\]]]^^^^^___````aaabbbcccccddddeeeeeedddddccccbbaaaa`````__^^^^]]]]\\\\\[[ZZZZYYYYYXXXXWWVVVVVUUUUTTTTSSSSRRRQQQQPPPPOOOONNNMMMMMLLLKKKKKJJJJIIIIIHHGGGGGFFFFEEEEEDDCCCCCBBBBBAAA@@@@@?????>>>>>==<<<<<;;;;;:::::9999888887777766666655544444433333322222111110000000//////.....------,,,,,,,,,+++++++++******)))))))))))((((((((((((((('''''''''''''''''''''''''''''''''''''''''''''''''''((((((((((((((())))))))))))******+++++++++,,,,,,,,-------.....//////000000111112222233333344444445566666677777888889999:::::;;;;;<<<<<===>>>>>?????@@@@@AABBBBBCCCCCDDDEEEEEFFFGGGGGHHHIIIIIJJJJKKKKKLLMMMMMNNNNOOOOPPPQQQQRRRRSSSSTTTUUUUVVVVVWWWXXXYYYYYZZZZ[[[\\\\\]]]^^^^___`````aaabbbccccdddddeeeeeeeddddccccbbbaaaa````__^^^^^]]]]\\\\[[ZZZZZYYYYXXXXWWWWVVVUUUUTTTTTSSSRRRQQQQQPPPOOOOONNNNMMMMMLLKKKKJJJJJIIIIHHHGGGGFFFFFEEEEEDDDCCCCCBBBBBAA@@@@@?????>>>>====<<<<<;;;;;:::::999888887777766666665554444433333332222221111000000//////.....--------,,,,,,,,+++++++++******)))))))))))))(((((((((((((((((((''''''''''''''''''''''''''''''''''''((((((((((((((((((())))))))))))******+++++++++,,,,,,,,,-------.....///////000000111122222233333344444555566666677777888889999:::::;;;;;<<<<<====>>>?????@@@@@AAABBBBBCCCCCDDEEEEEFFFFFGGGGHHHHIIIIJJJJJKKKLLLMMMMMNNNNOOOOOPPQQQQQRRRRSSTTTTTUUUUVVVVWWWWXXXYYYYZZZZZ[[[\\\]]]]^^^^^___```aaaabbbbccccdddeeeefeeeedddddccccbbaaaa`````___^^^]]]]\\\\\[[[ZZZYYYYYXXXXWWWVVVVVUUUTTTTSSSSRRRRQQQPPPPOOOONNNNNMMMMLLKKKKKJJJJJIIIIHHGGGGGFFFFFEEEEDDDDCCCCCBBBBAAA@@@@@????>>>>>====<<<<<;;;;;:::::999988888777776666665555444443333332222221111000000////////.....-------,,,,,,,,,+++++++++*******))))))))))))))(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()))))))))))))********+++++++++,,,,,,,,--------.....///////0000000111222222233333344444555566666677777888889999:::::;;;;;<<<<<===>>>>>????@@@@@AAAABBBBCCCCCDDDEEEEFFFFFGGGGGHHHIIIJJJJJKKKKKLLLMMMMNNNNNOOOPPPPQQQQRRRRSSSTTTTUUUUVVVVVWWXXXXYYYYYZZZZ[[\\\\\]]]]^^^^__`````aaaabbbcccdddddeeeefeeeeeddddccccbbaaaaa````___^^^^^]]]\\\\[[[ZZZZZYYYXXXXWWWWVVVVUUUTTTTTSSSRRRRRQQQQPPOOOOONNNNMMMMMLLKKKKKJJJJIIIIIHHHGGGGGFFFEEEEEDDDDCCCCBBBBBAAAA@@@?????>>>>>====<<<<<;;;;;:::::99998888877777666666555544444333333222222111110000000///////.....--------,,,,,,,,++++++++++********))))))))))))))))((((((((((((((((((((((((((((((((((((((((((((((((((()))))))))))))))))*******++++++++++,,,,,,,,,-------.....////////0000001111122222233333334444455566666667777788888999:::::;;;;;<<<<<====>>>>>?????@@@@AAAABBBBBCCCDDDDEEEEEFFFFGGGGGHHIIIIIJJJJKKKKKLLLMMMMMNNNOOOOOPPPQQQQRRRRRSSTTTTTUUUUVVVVWWWXXXXYYYYZZZZZ[[\\\\]]]]^^^^^__````aaaaabbbcccddddeeeeefffeeeddddcccccbbbaaa````____^^^^]]]\\\\\[[[ZZZZYYYYYXXXWWWVVVVVUUUUTTTSSSSRRRRQQQQQPPOOOONNNNNMMMMLLLLKKKJJJJJIIIIHHHHGGGGFFFFFEEEEEDDCCCCCBBBBBAAA@@@@@?????>>>>>===<<<<<;;;;;:::::999988888777776666665555444444333333322222211110000000//////.....---------,,,,,,,,,+++++++++++*********)))))))))))))))))))(((((((((((((((((((((((((((((((((((()))))))))))))))))))********++++++++++++,,,,,,,,---------.....//////000000001111222222333333444444555566666677777888889999:::::;;;;;<<<<<====>>>>>?????@@@@@AABBBBBCCCCCDDDEEEEEFFFFFGGGGHHHIIIIJJJJJKKKKLLLLMMMNNNNNOOOOPPPQQQQQRRRSSSSTTTTUUUUVVVVVWWXXXXYYYYYZZZZ[[\\\\\]]]]^^^^___````aaaabbcccccddddeeeeffffeeeeedddccccbbbaaaaa```___^^^^]]]]]\\\[[[ZZZZZYYYYXXXWWWWVVVVUUUUUTTTTSSRRRRRQQQQPPOOOOONNNNMMMMMLLLKKKKKJJJIIIIIHHHGGGGGFFFFFEEEEEDDCCCCCBBBBBAAA@@@@@?????>>>>>====<<<<<;;;;;:::::99988888777776666666555444444433333322222211111000000////////.....---------,,,,,,,,,,+++++++++++**********))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))**********+++++++++++,,,,,,,,,,---------.....///////000000111112222222333333444444555566666677777888889999:::::;;;;;<<<<<====>>>>>?????@@@@@AABBBBBCCCCCDDDEEEEEFFFFFGGGGGHHIIIIIJJJJKKKKKLLMMMMMNNNNOOOOOPPPQQQRRRRRSSSTTTTUUUUUVVVWWWWXXXXYYYYZZZZZ[[\\\\]]]]]^^^^__````aaaaabbccccddddeeeeefffffeeeedddcccccbbbaaaa```____^^^^]]]]\\\\\[[ZZZZYYYYYXXXXWWVVVVVUUUUTTTTSSSRRRRQQQQQPPPOOOOONNNMMMMMLLLKKKKKJJJJIIIIIHHGGGGGFFFFFEEEEDDDDCCCCCBBBAAAA@@@@@?????>>>>>===<<<<<<;;;;;:::::9999888887777776666655554444443333332222221111100000000///////.....---------,,,,,,,,,,+++++++++++++***********))))))))))))))))))))))))))))))))))))))))))))))))))))))***********++++++++++++,,,,,,,,,,---------.....////////0000000111112222223333333444444555566666777777888889999:::::;;;;;<<<<<<==>>>>>?????@@@@@AAAABBBBCCCCCDDDDEEEFFFFFGGGGGHHHIIIIIJJJJKKKKKLLMMMMMNNNNOOOOOPPQQQQQRRRRSSSSTTTTUUUVVVVVWWWXXXXYYYYYZZZ[[[\\\\\]]]]^^^____````aaaabbcccccddddeeeeffgfffeeeedddddcccbbbaaaaa````__^^^^]]]]]\\\\[[ZZZZZYYYYXXXXXWWVVVVUUUUUTTTTSSRRRRRQQQQPPPPOOOONNNNNMMMLLLLKKKKJJJJJIIIIHHHGGGGGFFFFEEEEEDDDDCCCCBBBBBAAA@@@@@?????>>>>>===<<<<<;;;;;;:::::9999888887777776666655555444444333333322222211111000000/////////.....----------,,,,,,,,,,++++++++++++++***************))))))))))))))))))))))))))))))))))))***************++++++++++++++,,,,,,,,,,----------.....////////0000000111112222223333334444445555566666777777788888999:::::;;;;;;;<<<<<==>>>>>?????@@@@@AAAABBBBBCCCCDDDEEEEEFFFFGGGGGHHHHIIIIJJJJJKKKLLLLMMMMNNNNNOOOOPPPQQQQRRRRRSSSTTTUUUUUVVVVWWWXXXXXYYYZZZZZ[[[\\\\]]]]]^^^___````aaaaabbccccdddddeeeeffgffffeeeeddddcccbbbbaaaa````___^^^^]]]]\\\\\[[ZZZZYYYYYXXXXWWVVVVVUUUUTTTTTSSSRRRQQQQQPPPOOOOONNNNMMMMMLLKKKKKJJJJIIIIIHHHHGGGFFFFFEEEEEDDDCCCCCBBBBBAAAA@@@@@???>>>>>>>==<<<<<;;;;;;:::::999988888777777666666655544444443333332222221111100000000////////.....----------,,,,,,,,,,,,,+++++++++++++++******************************************************+++++++++++++++,,,,,,,,,,,,----------...../////////00000001111122222223333334444445555666666777777888889999:::::;;;;;;<<<<<===>>>>>>????@@@@@AAAABBBBBCCCCCDDEEEEEFFFFFGGGGHHHHIIIIIJJJKKKKKLLLMMMMMNNNNOOOOOPPQQQQQRRRRSSTTTTTUUUUVVVVVWWWXXXYYYYYZZZZ[[[\\\\\]]]^^^^____````aaabbbbccccddddeeeffffgggffeeeedddddccccbbaaaa`````__^^^^]]]]]\\\\[[ZZZZZYYYYXXXXXWWWVVVUUUUUTTTTSSSSRRRRQQQQQPPOOOONNNNNMMMMMLLKKKKKJJJJIIIIIHHHGGGGGFFFFFEEEEEDDCCCCCBBBBBAAA@@@@@?????>>>>>===<<<<<;;;;;;;:::::999888887777777666666555544444433333332222222111110000000/////////......----------,,,,,,,,,,,,,++++++++++++++++++***************************************+++++++++++++++++++,,,,,,,,,,,,----------.......////////0000000011111222222333333334444445555666666777777888889999:::::;;;;;;<<<<<====>>>>>?????@@@@@AABBBBBCCCCCDDDEEEEEFFFFFGGGGGHHIIIIIJJJJKKKKKLLLMMMMMNNNNNOOOPPPQQQQQRRRRSSSTTTTUUUUUVVVVWWXXXXXYYYYZZZZZ[[[\\\]]]]]^^^^___`````aaabbbccccdddddeeefffggggfffeeeeddddccccbbbaaaa````____^^^]]]]\\\\\[[[ZZZYYYYYXXXXWWWVVVVVUUUTTTTTSSSRRRRRQQQQPPOOOOONNNNNMMMMLLLLKKKJJJJJIIIIIHHHGGGGGFFFFFEEEEDDDCCCCCBBBBBAAA@@@@@?????>>>>>====<<<<<;;;;;;:::::99998888887777766666655555444444333333322222221111100000000////////.......-----------,,,,,,,,,,,,,,++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,-----------....../////////00000001111122222222333333444444555556666666777778888889999:::::;;;;;;<<<<<====>>>>>?????@@@@@AABBBBBCCCCCDDDDEEEEFFFFFGGGGGHHIIIIIJJJJJKKKKLLLLMMMNNNNNOOOOOPPPQQQQRRRRRSSTTTTTUUUUVVVVVWWXXXXYYYYYZZZZ[[\\\\\]]]]^^^^____```aaaabbbbccccdddeeeeffffgggggffeeeedddddccccbbaaaa`````___^^^]]]]]\\\\[[[ZZZZZYYYXXXXXWWWVVVVUUUUUTTTSSSSRRRRQQQQQPPOOOOONNNNMMMMMLLLKKKKKJJJJJIIIHHHHGGGGGFFFFEEEEEDDDDCCCCCBBBAAAA@@@@@?????>>>>>====<<<<<;;;;;;:::::999988888877777766666665554444444333333322222211111110000000/////////.......------------,,,,,,,,,,,,,,,,++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,-----------........////////000000001111112222223333333344444455556666667777778888888999:::::;;;;;;;<<<<<===>>>>>?????@@@@@AAAABBBBCCCCCDDDDEEEEEFFFGGGGGHHHHIIIIJJJJJKKKKKLLMMMMMNNNNOOOOOPPPQQQQQRRRSSSSTTTTUUUUUVVVVWWXXXXXYYYYZZZZZ[[\\\\]]]]]^^^^__`````aaaabbbcccdddddeeeefffggggggffeeeeeddddccccbbbbaaa````____^^^^]]]\\\\\[[[ZZZZYYYYYXXXWWWWVVVVUUUUTTTTTSSRRRRRQQQQPPPPOOONNNNNMMMMMLLLKKKKKJJJJIIIIIHHHGGGGFFFFFEEEEEDDDCCCCCBBBBBAAA@@@@@?????>>>>>====<<<<<;;;;;;:::::99998888887777777666666555544444443333332222222211111000000000//////////......--------------,,,,,,,,,,,,,,,,,,+++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,--------------......//////////0000000001111122222223333334444444455556666667777778888889999:::::;;;;;;<<<<<====>>>>>?????@@@@@AAAABBBBBCCCCCDDEEEEEFFFFFGGGGHHHHIIIIIJJJJKKKKKLLMMMMMNNNNNOOOOPPPPQQQRRRRRSSSTTTTTUUUUVVVWWWWXXXXYYYYYZZZZ[[\\\\\]]]]^^^^___````aaaabbbbcccddddeeeeefffgggggggfffeeedddddccccbbbaaa`````___^^^^]]]]]\\\[[[[ZZZZYYYYXXXXXWWVVVVVUUUUTTTTTSSRRRRQQQQQPPPOOOOONNNNNMMMLLLLKKKKJJJJJIIIIIHHGGGGGFFFFFEEEEEDDDCCCCCBBBBBAAAA@@@@@?????>>>>>===<<<<<<<;;;;;:::::99999888887777776666665555544444433333333222222211111000000000//////////........---------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------------.......//////////000000000111112222222233333334444445555566666667777778888899999:::::;;;;;<<<<<<====>>>>>?????@@@@@AAAABBBBBCCCCCDDEEEEEFFFFFGGGGGHHHIIIIIJJJJJKKKLLLLMMMMNNNNNOOOOOPPQQQQQRRRRSSSTTTTTUUUVVVVVWWWXXXXXYYYYZZZ[[[[\\\\]]]]]^^^^__`````aaaabbccccdddddeeeeffgggggggggfffeeeeedddccccbbbbaaaa```____^^^^]]]]\\\\\[[ZZZZYYYYYXXXXWWWVVVVUUUUUTTTTSSSSRRRQQQQQPPPOOOOONNNNMMMMMLLKKKKKJJJJJIIIIIHHHGGGGGFFFFFEEEEEDDCCCCCBBBBBAAAA@@@@@?????>>>>>====<<<<<<;;;;;::::::9999888888777777666666655544444444333333322222222111110000000000//////////.........----------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------.........//////////000000000011111222222233333333444444455556666667777778888888999:::::::;;;;;<<<<<<====>>>>>?????@@@@@AAABBBBBCCCCCDDDEEEEEFFFFFGGGGGHHIIIIIJJJJJKKKKKLLLMMMMMNNNNOOOOOPPQQQQQRRRRSSSSTTTUUUUUVVVVWWWWXXXXYYYYYZZZ[[[\\\\\]]]]^^^____````aaaabbbccccddddeeeeeffgggghgggggfffeeeedddddcccbbbaaaa`````__^^^^^]]]]\\\\[[[ZZZZYYYYYXXXXWWVVVVVUUUUTTTTTSSSRRRRRQQQPPPPOOOONNNNNMMMMMLLKKKKKJJJJJIIIIHHHHGGGGGFFFFEEEEEDDDCCCCCBBBBBAAAA@@@@@?????>>>>>====<<<<<<;;;;;::::::99998888887777777666666555554444443333333322222222111111100000000////////////........--------------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------.........///////////00000000011111122222222233333334444444555556666667777778888889999::::::;;;;;<<<<<<<===>>>>>?????@@@@@AAAABBBBBCCCCCDDDDEEEEEFFFFGGGGGHHHIIIIJJJJJKKKKKLLLMMMMMNNNNNOOOPPPPQQQQRRRRRSSTTTTTUUUUVVVVVWWWXXXYYYYYZZZZ[[[[\\\\]]]^^^^^___`````aaaabbccccdddddeeeeffggggghhhgggfffeeeeeddddcccbbbbaaaa````___^^^^]]]]\\\\\[[ZZZZZYYYYXXXXXWWWVVVUUUUUTTTTSSSSRRRRQQQQQPPOOOOONNNNNMMMMLLLLKKKKKJJJIIIIIHHHHGGGGFFFFFEEEEEDDDDCCCCCBBBBBAAA@@@@@?????>>>>>====<<<<<<;;;;;:::::::9998888888777777666666655554444444433333332222222221111110000000000///////////..........---------------------------------------------------------------------..........///////////00000000001111111222222223333333344444445555666666667777778888889999::::::;;;;;<<<<<<====>>>>>?????@@@@@AAAABBBBBCCCCCDDDDEEEEEFFFFFGGGHHHHIIIIIJJJJKKKKKLLLLMMMNNNNNOOOOOPPPQQQQQRRRRSSSTTTTUUUUUVVVVWWXXXXXYYYYZZZZZ[[[\\\\\]]]^^^^____````aaabbbbccccddddeeeeeffgggghhhhgggggffeeeedddddccccbbaaaaa````__^^^^^]]]]\\\\[[[[ZZZYYYYYXXXXWWWVVVVVUUUUUTTTSSSRRRRRQQQQQPPOOOOONNNNMMMMMLLLLKKKKJJJJJIIIIIHHGGGGGFFFFFEEEEEDDDDCCCCCBBBBBAAAA@@@@@?????>>>>>===<<<<<<<;;;;;;:::::9999988888877777766666665555544444443333333322222222111111100000000000////////////............--------------------------------------------------------.........../////////////0000000000011111122222222233333334444444455555666666777777888888899999:::::;;;;;;<<<<<<====>>>>>?????@@@@@AAAABBBBBCCCCCDDDEEEEEFFFFFGGGGGHHHIIIIIJJJJJKKKKLLLMMMMMNNNNOOOOOPPPQQQQQRRRRRSSTTTTUUUUUVVVVVWWXXXXYYYYYZZZZ[[[[\\\]]]]^^^^^___```aaaaabbbccccdddddeeefffggggghhhhhggggffeeeeeddddccccbbbaaaa````____^^^]]]]]\\\\[[[ZZZZZYYYXXXXXWWWVVVVVUUUUTTTTTSSRRRRRQQQQPPPPOOONNNNNMMMMMLLLKKKKKJJJJJIIIIIHHGGGGGFFFFFEEEEEDDDDCCCCCBBBBBAAAA@@@@@?????>>>>>>====<<<<<;;;;;;::::::999988888877777776666666555554444444433333332222222221111111000000000000/////////////...............---------------------------------------...............//////////////00000000000111111112222222233333333444444455555666666667777778888889999::::::;;;;;;;<<<<<===>>>>>>>?????@@@@@AAABBBBBCCCCCDDDDEEEEEFFFFFGGGGGHHHIIIIIJJJJJKKKKKLLMMMMMNNNNNOOOOPPPPQQQRRRRRSSSTTTTTUUUUVVVVVWWXXXXXYYYYZZZZZ[[\\\\]]]]]^^^^____```aaaabbbbccccdddeeeeefffgggghhhhhhgggggffeeeedddddccccbbaaaaa````___^^^^^]]]\\\\\[[[ZZZZYYYYYXXXWWWWVVVVUUUUUTTTTSSSRRRRQQQQQPPPOOOOONNNNNMMMMMLLKKKKKJJJJJIIIIHHHHGGGGGFFFFFEEEEEDDDCCCCCBBBBBAAAA@@@@@?????>>>>>>====<<<<<;;;;;;:::::::9998888888777777766666655555444444444333333332222222222111111000000000000/////////////////........................................................////////////////00000000000001111112222222222333333344444444455555666666777777778888889999::::::;;;;;;<<<<<====>>>>>>?????@@@@@AAAABBBBBCCCCCDDDDEEEEEFFFFFGGGGGHHHHIIIJJJJJKKKKKLLLMMMMMNNNNNOOOOOPPQQQQQRRRRSSSSTTTTUUUUUVVVWWWWXXXXYYYYYZZZZ[[\\\\\]]]]^^^^^__````aaaaabbbcccdddddeeeefffggggghhhhhhhggggffeeeeeddddccccbbbbaaa`````___^^^^]]]]]\\\[[[ZZZZZYYYYXXXXXWWVVVVVUUUUTTTTTSSRRRRRQQQQQPPPOOOOONNNNNMMMMLLLKKKKKJJJJIIIIIHHHHGGGGGFFFFFEEEEEDDCCCCCCCBBBBBAAA@@@@@?????>>>>>>>===<<<<<;;;;;;;::::::99999888888777777666666665555544444443333333332222222222111111110000000000000////////////////////.......................................////////////////////000000000000001111111222222222233333333344444444555556666666777777888888899999::::::;;;;;;<<<<<====>>>>>>?????@@@@@AAAABBBBBCCCCCCDDDEEEEEFFFFFGGGGGHHHIIIIIJJJJKKKKKLLLLMMMMNNNNNOOOOOPPQQQQQRRRRRSSSTTTTTUUUVVVVVWWWXXXXXYYYYZZZZZ[[\\\\]]]]]^^^^__`````aaaabbbbcccddddeeeeefffggghhhhhhhhhgggggfffeeedddddccccbbbaaaaa```___^^^^^]]]]\\\\\[[ZZZZZYYYYXXXXXWWVVVVVUUUUTTTTTSSSRRRRRQQQPPPPOOOOONNNNMMMMMLLLLKKKJJJJJIIIIIHHHHGGGGGFFFFFEEEEEDDDCCCCCCBBBBBAAAA@@@@@?????>>>>>>====<<<<<<;;;;;;::::::99998888887777777766666665555544444444333333333322222222221111111000000000000000/////////////////////////////////////////////////////////////////////00000000000000011111111222222222233333333334444444555556666666677777778888889999::::::;;;;;;;<<<<<<====>>>>>>?????@@@@@AAAABBBBBCCCCCCDDEEEEEFFFFFGGGGGHHHHIIIIIJJJJJKKKKLLLLMMMMMNNNOOOOOPPPPQQQQRRRRRSSTTTTTUUUUVVVVVWWWXXXXXYYYZZZZZ[[[\\\\\]]]]^^^^^__````aaaaabbccccdddddeeeeffggggghhhhihhhhhggggfffeeeeedddcccccbbbaaaa`````__^^^^]]]]]\\\\[[[ZZZZYYYYYXXXXWWWWVVVUUUUUTTTTSSSSRRRRQQQQQPPPOOOONNNNNMMMMMLLLKKKKKJJJJJIIIIIHHHGGGGGFFFFFEEEEEDDDCCCCCCBBBBBAAAA@@@@@?????>>>>>>====<<<<<<;;;;;;:::::::9998888888877777776666666655555444444444333333332222222222221111111100000000000000000////////////////////////////////////////////////////////0000000000000000111111111222222222223333333334444444445555566666667777777788888889999::::::;;;;;;<<<<<<<===>>>>>>>?????@@@@@AAABBBBBCCCCCCCDDEEEEEFFFFFGGGGGHHHHIIIIIJJJJJKKKKKLLMMMMMNNNNNOOOOPPPPQQQQQRRRRSSSTTTTUUUUUVVVVWWWWXXXYYYYYZZZZ[[[[\\\\]]]]]^^^___`````aaaabbcccccddddeeeeeffgggghhhhhiiihhhgggggfffeeeedddddcccbbbaaaaa````__^^^^^]]]]\\\\\[[ZZZZZYYYYXXXXXWWWVVVVVUUUTTTTTSSSRRRRRQQQQQPPOOOOONNNNNMMMMMLLLKKKKKJJJJJIIIIIHHGGGGGFFFFFEEEEEEEDDCCCCCCBBBBBAAAA@@@@@??????>>>>>====<<<<<<;;;;;;;::::::9999988888877777777666666655555544444444433333333332222222222211111111100000000000000000000/////////////////////////////////////////00000000000000000000111111111222222222223333333333444444444555555666666667777777888888899999::::::;;;;;;<<<<<<====>>>>>??????@@@@@AAAABBBBBCCCCCCDDDEEEEEEFFFFFGGGGGHHHIIIIIJJJJJKKKKKLLMMMMMNNNNNOOOOOPPPQQQQQRRRRRSSTTTTTUUUUVVVVVWWXXXXXYYYYZZZZZ[[[\\\\\]]]^^^^^___````aaaaabbccccdddddeeeeffggggghhhhiiiihhhhhgggfffeeeeeddddcccccbbaaaa`````__^^^^^]]]]\\\\\[[[ZZZYYYYYXXXXWWWWVVVVUUUUUTTTTTSSRRRRRQQQQQPPPOOOOONNNNNMMMLLLLKKKKKJJJJJIIIIIHHHGGGGGFFFFFEEEEEEDDCCCCCCCBBBBBAAA@@@@@???????>>>>>=====<<<<<<;;;;;;::::::999988888888777777766666666555555444444444333333333322222222222211111111111000000000000000000000000000000000000000000000000000000000000000000000111111111112222222222222333333333344444444455555566666667777777788888889999::::::;;;;;;;<<<<<<=====>>>>>??????@@@@@AAAABBBBBCCCCCCDDDEEEEEEFFFFFGGGGGHHIIIIIJJJJJKKKKKLLLLMMMMNNNNNOOOOOPPQQQQQRRRRRSSSTTTTTUUUUUVVVVWWWXXXXYYYYYZZZZ[[\\\\\]]]]^^^^^___`````aaabbbcccccddddeeeeeffgggghhhhhiiiiihhhhgggggffeeeedddddccccbbaaaaa````____^^^]]]]]\\\\[[[ZZZZZYYYYYXXXWWWWVVVVUUUUUTTTTSSSRRRRRQQQQPPPPOOOOONNNNMMMMMLLLKKKKKJJJJJIIIIHHHHGGGGGFFFFFEEEEEDDDDCCCCCCBBBBBAAAA@@@@@??????>>>>>>====<<<<<<;;;;;;:::::::999998888888777777776666666555555444444444433333333332222222222222211111111111110000000000000000000000000000000000000000000000000000000011111111111122222222222222333333333344444444445555556666666677777778888888899999::::::;;;;;;<<<<<<<===>>>>>>>??????@@@@@AAAABBBBBCCCCCCDDDDEEEEEFFFFFGGGGGHHHIIIIJJJJJKKKKKLLLLMMMMMNNNNOOOOOPPPQQQQRRRRRSSSSTTTTUUUUUVVVWWWWXXXXYYYYYZZZZZ[[\\\\]]]]]^^^^____```aaaaabbbccccdddddeeefffggggghhhhiiiiiihhhhhggggffeeeeeddddcccccbbaaaa`````___^^^^^]]]\\\\\[[[ZZZZZYYYYXXXXXWWVVVVVUUUUTTTTTSSSSRRRQQQQQPPPPOOOONNNNNMMMMMLLLLKKKJJJJJIIIIIHHHHGGGGGFFFFFEEEEEDDDDCCCCCCBBBBBAAAA@@@@@@?????>>>>>>====<<<<<<;;;;;;;:::::::9999988888877777777766666666555555444444444433333333333222222222222222111111111111111000000000000000000000000000000000000000001111111111111112222222222222223333333333334444444444555555666666677777777788888899999::::::::;;;;;;<<<<<<====>>>>>>?????@@@@@@@AAABBBBBCCCCCCCDDDEEEEEFFFFFGGGGGHHHHIIIIIJJJJJKKKKLLLLMMMMMNNNNNOOOPPPPQQQQQRRRRSSSSTTTTTUUUVVVVVWWWXXXXXYYYYZZZZZ[[\\\\\]]]]^^^^^__`````aaaabbbcccccdddeeeeefffgggghhhhhiiiiiiihhhhgggggffeeeedddddccccbbbbaaa`````___^^^^]]]]]\\\[[[[ZZZZYYYYYXXXXWWWVVVVUUUUUTTTTTSSSRRRRRQQQQQPPOOOOONNNNNMMMMMLLLKKKKKJJJJJIIIIIHHHGGGGGFFFFFEEEEEDDDDCCCCCCBBBBBAAAA@@@@@@?????>>>>>>>=====<<<<<<;;;;;;::::::99999888888887777777776666666555555554444444444333333333333222222222222222211111111111111111111111111111111111111111111111111111111111222222222222222233333333333334444444444555555566666666777777777888888899999::::::;;;;;;;<<<<<<=====>>>>>>?????@@@@@@AAAABBBBBCCCCCCDDDDEEEEEFFFFFGGGGGHHHHIIIIIJJJJJKKKKKLLMMMMMNNNNNOOOOOPPPQQQQQRRRRRSSTTTTTUUUUUVVVVWWWWXXXXYYYYYZZZ[[[[\\\\]]]]]^^^^__`````aaaabbbbcccdddddeeeefffggggghhhiiiijiiiihhhhhggggffffeeeddddcccccbbbaaaaa```___^^^^^]]]]\\\\\[[ZZZZZYYYYYXXXXWWWWVVVUUUUUTTTTTSSSRRRRRQQQQQPPOOOOONNNNNMMMMMLLLKKKKKJJJJJIIIIIHHHHGGGGGFFFFFEEEEEDDDCCCCCCCBBBBBAAA@@@@@@@??????>>>>>>====<<<<<<;;;;;;::::::::999998888888777777777666666666555555444444444443333333333333322222222222222222222111111111111111111111111111111111111111112222222222222222222233333333333333444444444445555555666666667777777778888888899999:::::::;;;;;;<<<<<<<===>>>>>>>??????@@@@@@AAAABBBBBCCCCCCDDDDEEEEEFFFFFGGGGGHHHHIIIIIJJJJJKKKKKLLMMMMMNNNNNOOOOOPPPQQQQQRRRRRSSTTTTTUUUUUVVVVWWWWXXXYYYYYZZZZZ[[[\\\\\]]]]^^^^^__````aaaaabbcccccddddeeeeffffggghhhhhiiiijjjiiihhhhgggggfffeeeeedddccccbbbbaaaa`````__^^^^^]]]]\\\\\[[ZZZZZYYYYXXXXXWWWVVVVVUUUUUTTTSSSSRRRRRQQQQPPPPOOOOONNNNNMMMLLLLKKKKKJJJJJIIIIIHHHHGGGGGFFFFFEEEEEEDDDCCCCCCBBBBBAAAA@@@@@@??????>>>>>>====<<<<<<;;;;;;;;:::::::9999988888888777777777666666665555555544444444444333333333333333222222222222222222222222222222222222222222222222222222222222222222222223333333333333334444444444445555555666666666777777777888888899999::::::::;;;;;;;<<<<<<====>>>>>>???????@@@@@@AAAABBBBBCCCCCCDDEEEEEEEFFFFFGGGGGHHHIIIIIJJJJJKKKKKLLLLMMMMNNNNNOOOOOPPPPQQQRRRRRSSSSTTTTUUUUUVVVVVWWXXXXXYYYYZZZZZ[[[\\\\\]]]^^^^^___`````aaaabbbccccddddeeeeeffggggghhhhiiiijjjjiiiiihhhggggffffeeeedddddcccbbbaaaaa````___^^^^]]]]]\\\\[[[[ZZZYYYYYXXXXWWWWVVVVVUUUUTTTTTSSSRRRRQQQQQPPPPOOOONNNNNMMMMMLLLKKKKKJJJJJIIIIIHHHHGGGGGFFFFFEEEEEEDDDCCCCCCBBBBBAAAAA@@@@@??????>>>>>>>=====<<<<<<;;;;;;;:::::::9999988888888777777777666666666655555544444444444443333333333333333322222222222222222222222222222222222222222222222222222222222333333333333333333444444444444555555666666666677777777788888888899999::::::;;;;;;;;<<<<<<=====>>>>>>??????@@@@@AAAAABBBBBCCCCCCCDDEEEEEEFFFFFGGGGGHHHHIIIIIJJJJJKKKKKLLLLMMMMMNNNNNOOOOPPPQQQQQRRRRSSSSTTTTTUUUUVVVVVWWWXXXXYYYYYZZZZ[[[[\\\]]]]]^^^^____````aaaaabbccccdddddeeeefffgggghhhhiiiiijjjjjiiiihhhgggggfffeeeeeddddcccccbbaaaa`````__^^^^^]]]]\\\\\[[[ZZZZZYYYYYXXXWWWWVVVVUUUUUTTTTTSSRRRRRQQQQQPPPOOOOONNNNNMMMMMLLLLKKKKKJJJJJIIIIIHHHGGGGGFFFFFEEEEEEEDDDCCCCCBBBBBBBAAA@@@@@@@??????>>>>>>====<<<<<<;;;;;;;;:::::::99999888888888777777777666666666655555554444444444444433333333333333333333322222222222222222222222222222222222222222333333333333333333333344444444444445555555566666666667777777778888888899999::::::::;;;;;;;<<<<<<<===>>>>>>>??????@@@@@@AAAABBBBBBCCCCCDDDDEEEEEEFFFFFGGGGGHHHHIIIIIJJJJJKKKKKLLLLMMMMMNNNNNOOOOOPPQQQQQRRRRRSSSTTTTTUUUUUVVVWWWWXXXXYYYYYZZZZZ[[\\\\\]]]]^^^^^___`````aaabbbcccccddddeeeeeffggggghhhhiiiijjjjjjiiiiihhhhgggffffeeeedddddccccbbaaaaa`````___^^^]]]]]\\\\\[[[ZZZZZYYYYXXXXXWWVVVVVUUUUUTTTTTSSSRRRRRQQQQQPPOOOOONNNNNMMMMMLLLLKKKKKJJJJJIIIIIHHHHGGGGGFFFFFEEEEEEDDDDCCCCCBBBBBBAAAA@@@@@@??????>>>>>>=====<<<<<<<;;;;;;;::::::::999998888888877777777776666666666555555555444444444444444333333333333333333333333333333333333333333333333333333333333333333333334444444444444445555555556666666666777777777788888888899999:::::::;;;;;;;;<<<<<<=====>>>>>>???????@@@@@@AAAABBBBBBCCCCCDDDDEEEEEEFFFFFGGGGGHHHHIIIIIJJJJJKKKKKLLLMMMMMNNNNNOOOOOPPPQQQQQRRRRRSSTTTTTUUUUUVVVVVWWWXXXXXYYYYZZZZZ[[\\\\\]]]]]^^^^__`````aaaaabbbccccdddddeeeffffgggghhhhiiiiijjkjjjjiiiihhhhhggggffeeeeeddddcccccbbaaaaa````____^^^^]]]]]\\\[[[[ZZZZYYYYYXXXXXWWVVVVVUUUUUTTTTSSSSRRRRRQQQQPPPOOOOONNNNNMMMMMLLLLKKKKKJJJJJIIIIIHHHHGGGGGFFFFFEEEEEEDDDDCCCCCBBBBBBAAAA@@@@@@??????>>>>>>>=====<<<<<<<;;;;;;;;:::::::9999988888888877777777776666666666655555555544444444444444444333333333333333333333333333333333333333333333333333333333334444444444444444445555555566666666666677777777778888888899999::::::::;;;;;;;<<<<<<<<=====>>>>>>??????@@@@@@@AAABBBBBBBCCCCCDDDEEEEEEEFFFFFGGGGGHHHIIIIIJJJJJKKKKKLLLLMMMMMNNNNNOOOOOPPPPQQQQRRRRRSSSTTTTUUUUUVVVVVWWWXXXXXYYYYYZZZ[[[[\\\\]]]]]^^^^___````aaaaabbbcccccdddeeeeefffgggghhhhhiiijjjjkkkjjiiiiihhhhgggggffeeeedddddccccbbbbaaa`````___^^^^^]]]]\\\\\[[ZZZZZYYYYYXXXXWWWWVVVVVUUUTTTTTSSSSRRRRQQQQQPPPPOOOOONNNNNMMMMMLLKKKKKKJJJJJIIIIIHHHHGGGGGFFFFFEEEEEEDDDDCCCCCCBBBBBAAAAA@@@@@@@??????>>>>>>=====<<<<<<;;;;;;;;:::::::::99999888888888877777777776666666666655555555554444444444444444444443333333333333333333333333333333333333333344444444444444444444445555555555666666666667777777777888888888899999:::::::::;;;;;;;<<<<<<=====>>>>>>>??????@@@@@@AAAAABBBBBCCCCCCDDDDEEEEEEFFFFFGGGGGHHHHIIIIIJJJJJKKKKKKLLLMMMMMNNNNNOOOOOPPPPQQQQQRRRSSSSTTTTTUUUUVVVVVWWWWXXXYYYYYZZZZZ[[[\\\\\]]]]^^^^^__`````aaaabbbbcccdddddeeeefffggggghhhiiiiijjjkkkkkjjiiiihhhhhggggffeeeeeddddcccccbbbaaaaa```____^^^^]]]]]\\\\\[[ZZZZZYYYYXXXXXWWWWVVVVUUUUUTTTTTSSRRRRRQQQQQPPPPOOOOONNNNNMMMMMLLKKKKKKKJJJJJIIIIIHHHGGGGGFFFFFFFEEEEEDDDCCCCCCCBBBBBBAAAA@@@@@@??????>>>>>>=====<<<<<<<<;;;;;;;:::::::::999998888888888777777777776666666666666555555555544444444444444444444444444444444444444444444444444444444444444444444444444555555555566666666666677777777777888888888899999:::::::::;;;;;;;;<<<<<<<=====>>>>>>???????@@@@@@AAAABBBBBBCCCCCCDDDDEEEEEFFFFFFGGGGGHHHHIIIIIJJJJJKKKKKKLLLMMMMMNNNNNOOOOOPPPQQQQQRRRRRSSSTTTTTUUUUUVVVVWWWXXXXXYYYYZZZZZ[[[\\\\\]]]]]^^^____````aaaaabbcccccddddeeeeefffggghhhhhiiiijjjkkkkkkjjiiiiihhhhgggggfffeeeeedddcccccbbbaaaa`````__^^^^^]]]]]\\\\[[[[ZZZYYYYYXXXXXWWWVVVVVUUUUUTTTTTSSRRRRRQQQQQPPPPOOOOONNNNNMMMMMLLLKKKKKJJJJJJIIIIIHHHHGGGGGFFFFFFEEEEEDDDDCCCCCCBBBBBBAAAA@@@@@@????????>>>>>>=====<<<<<<<;;;;;;;;:::::::::9999998888888887777777777776666666666666655555555555544444444444444444444444444444444444444444444444444444444444555555555555566666666666667777777777777888888888999999:::::::::;;;;;;;<<<<<<<<=====>>>>>>???????@@@@@@@AAABBBBBBBCCCCCCDDDDEEEEEFFFFFFGGGGGHHHHIIIIIJJJJJJKKKKKLLMMMMMNNNNNOOOOOPPPPQQQQQRRRRRSSSTTTTTUUUUUVVVVVWWXXXXXYYYYYZZZZ[[[[\\\]]]]]^^^^^___`````aaaabbcccccddddeeeeeffggggghhhhiiiiijjjkkkkkkkjjjiiihhhhhggggffffeeeedddddcccbbbbaaaa`````__^^^^^]]]]\\\\\[[[ZZZZZYYYYYXXXXXWWVVVVVUUUUUTTTTSSSSRRRRRQQQQQPPOOOOONNNNNMMMMMMLLLKKKKKJJJJJJIIIIIHHHHGGGGGFFFFFFEEEEEDDDDCCCCCCBBBBBBAAAAA@@@@@@@??????>>>>>>>====<<<<<<<<<;;;;;;;:::::::::99999988888888887777777777777666666666666666555555555555555544444444444444444444444444444444444444444555555555555555556666666666666667777777777778888888888999999:::::::::;;;;;;;;<<<<<<<<====>>>>>>>>??????@@@@@@AAAAABBBBBBCCCCCCCDDDEEEEEFFFFFFFGGGGGHHHIIIIIJJJJJJJKKKKKLLMMMMMMNNNNNOOOOOPPPQQQQQRRRRRSSSSTTTUUUUUVVVVVWWWXXXXXYYYYYZZZZZ[[\\\\\]]]]^^^^^___`````aaabbbbccccdddddeeeefffgggghhhhhiiiijjkkkkkkkkkjjjjiiiihhhgggggfffeeeeeddddcccccbbaaaaa````____^^^]]]]]\\\\\[[[ZZZZZYYYYYXXXXWWWVVVVVUUUUTTTTTSSSSRRRRRQQQQQPPOOOOONNNNNMMMMMLLLLKKKKKJJJJJJIIIIIHHHHGGGGGFFFFFFEEEEEEEDDDCCCCCCCBBBBBBAAAA@@@@@@???????>>>>>>>=====<<<<<<<;;;;;;;;;:::::::::999999888888888887777777777777666666666666666666555555555555555555555555555555555555555555555555555555555556666666666666666666777777777777888888888888999999:::::::::;;;;;;;;<<<<<<<<=====>>>>>>????????@@@@@@AAAABBBBBBCCCCCCDDDDEEEEEEFFFFFFGGGGGHHHHIIIIIJJJJJJKKKKKLLLLMMMMMNNNNNOOOOOPPPQQQQQRRRRRSSSTTTTTUUUUVVVVVWWWWXXXXYYYYYZZZZZ[[\\\\\]]]]]^^^^____```aaaaabbbcccccddddeeeeeffggggghhhhiiiijjjkkkklkkkkkjjjiiiiihhhhgggggffeeeedddddccccbbbaaaa`````___^^^^^]]]]]\\\[[[[ZZZZZYYYYXXXXXWWWWVVVUUUUUTTTTTSSSSRRRRRQQQQQPPPOOOOONNNNNMMMMMLLLKKKKKJJJJJJJIIIIIHHHGGGGGGGFFFFFEEEEEEDDDDCCCCCCBBBBBBAAAA@@@@@@@???????>>>>>>>=====<<<<<<<<;;;;;;;;::::::::::99999998888888888877777777777777666666666666666666666655555555555555555555555555555555555555555666666666666666666666667777777777777788888888888999999::::::::::;;;;;;;;;<<<<<<<=====>>>>>>>>??????@@@@@@@@AAABBBBBBBCCCCCCDDDDEEEEEEFFFFFGGGGGGHHHHIIIIIJJJJJJKKKKKLLLLMMMMMNNNNNOOOOOPPQQQQQRRRRRSSSSTTTTTUUUUUVVVVWWWWXXXXXYYYZZZZZ[[[[\\\\]]]]]^^^^^__`````aaaabbbbccccdddddeeefffggggghhhhiiiiijjkkkkklllkkkjjjjiiiihhhhhggggffeeeeedddddccccbbaaaaa`````___^^^^^]]]]\\\\\[[[ZZZZYYYYYXXXXXWWWVVVVVUUUUUTTTTTSSRRRRRQQQQQPPPPOOOOONNNNNMMMMMLLLLKKKKKJJJJJJIIIIIHHHHGGGGGGFFFFFEEEEEEDDDDCCCCCCBBBBBBAAAAA@@@@@@@???????>>>>>>>>=====<<<<<<<;;;;;;;;;::::::::::999999988888888888877777777777777776666666666666666666666666666666666666666666666666666666666666666666666666677777777777777778888888888899999999::::::::::;;;;;;;;<<<<<<<<=====>>>>>>>????????@@@@@@AAAAABBBBBBCCCCCCCDDDEEEEEEEFFFFFGGGGGGHHHHIIIIIJJJJJJKKKKKLLLLMMMMMNNNNNOOOOOPPPQQQQQRRRRRSSSTTTTTUUUUUVVVVVWWXXXXXYYYYYZZZZ[[[[\\\\\]]]]^^^^^__`````aaaaabbbcccdddddeeeeefffgggghhhhhiiijjjjkkkkllllkkkkkjjiiiiihhhhgggggffeeeeeddddcccccbbbaaaaa```____^^^^]]]]]\\\\\[[ZZZZZYYYYYXXXXXWWWVVVVVUUUUUTTTTTSSRRRRRQQQQQPPPPOOOOONNNNNMMMMMLLLLKKKKKJJJJJJIIIIIHHHHGGGGGGFFFFFEEEEEEDDDDDCCCCCCCBBBBBBAAAA@@@@@@@??????>>>>>>>>======<<<<<<<<;;;;;;;;;;::::::::::9999999888888888888877777777777777777666666666666666666666666666666666666666666666666666666666666677777777777777777788888888888899999999::::::::::;;;;;;;;;;<<<<<<<=======>>>>>>>??????@@@@@@@@AAAABBBBBBCCCCCCDDDDDEEEEEEFFFFFGGGGGGGHHHIIIIIJJJJJJJKKKKKLLLMMMMMNNNNNOOOOOPPPPQQQQQRRRRRSSSTTTTTUUUUUVVVVVWWXXXXXYYYYYZZZZZ[[[\\\\\]]]]]^^^____````aaaaabbcccccddddeeeeefffggggghhhiiiiijjjkkkkklllllkkkkkjjiiiihhhhhggggffffeeedddddccccbbbbaaaa`````__^^^^^]]]]]\\\\\[[[ZZZZZYYYYYXXXWWWWVVVVVUUUUUTTTTTSSSRRRRRQQQQQPPPOOOOONNNNNMMMMMLLLLKKKKKKJJJJJIIIIIHHHHGGGGGGFFFFFFFEEEEEEDDDDCCCCCCBBBBBBAAAAA@@@@@@????????>>>>>>>=======<<<<<<<;;;;;;;;;;::::::::::99999999988888888888888777777777777777777777666666666666666666666666666666666666666666667777777777777777777778888888888888899999999::::::::::;;;;;;;;;;<<<<<<<<======>>>>>>>>???????@@@@@@AAAAABBBBBBBCCCCCCDDDDEEEEEEFFFFFFGGGGGGHHHHIIIIIJJJJJKKKKKKLLLLMMMMMNNNNNOOOOOPPPPQQQQQRRRRRSSTTTTTUUUUUVVVVVWWWWXXXXYYYYYZZZZZ[[\\\\\]]]]]^^^^^___`````aaaabbbccccdddddeeeeffffggghhhhhiiiijjjkkkkklllllllkkkkjjiiiiihhhhgggggfffeeeeedddcccccbbbaaaaa`````__^^^^^]]]]]\\\\[[[[ZZZZZYYYYXXXXXWWWVVVVVUUUUTTTTTSSSSRRRRRQQQQQPPPPOOOOONNNNNMMMMMLLLKKKKKKKJJJJJIIIIIHHHHHGGGGGFFFFFFEEEEEEDDDDCCCCCCBBBBBBBBAAA@@@@@@@@???????>>>>>>>>======<<<<<<<<<;;;;;;;;;:::::::::::9999999998888888888888888777777777777777777777777777777777777777777777777777777777777777777777777778888888888888888999999999:::::::::::;;;;;;;;;<<<<<<<<=======>>>>>>>????????@@@@@@@AAAABBBBBBBCCCCCCCDDDEEEEEEEFFFFFFGGGGGHHHHHIIIIIJJJJJKKKKKKLLLLMMMMMNNNNNOOOOOPPPPQQQQQRRRRRSSSTTTTTUUUUVVVVVWWWWXXXXXYYYYZZZZZ[[[\\\\]]]]]^^^^^___`````aaaaabbcccccddddeeeeeffggggghhhhiiiiijjjkkklllllllllkkkkkjjjiiiiihhhgggggfffeeeeeddddcccccbbaaaaa````____^^^^^]]]\\\\\[[[[ZZZZYYYYYXXXXXWWVVVVVUUUUUTTTTTSSSSRRRRRQQQQQPPPPOOOOONNNNNMMMMMLLLLKKKKKKJJJJJIIIIIIHHHHGGGGGFFFFFFEEEEEEDDDDDCCCCCCCBBBBBBAAAAA@@@@@@@????????>>>>>>>=======<<<<<<<<;;;;;;;;;;::::::::::::99999999998888888888888888877777777777777777777777777777777777777777777777777777777777778888888888888888889999999999:::::::::::;;;;;;;;;;<<<<<<<<<======>>>>>>>>???????@@@@@@@@AAAAABBBBBBCCCCCCDDDDDEEEEEEFFFFFFFGGGGGHHHIIIIIIIJJJJJKKKKKKLLLLMMMMMNNNNNOOOOOPPPQQQQQRRRRRSSSSTTTTTUUUUUVVVVVWWWXXXXXYYYYYZZZ[[[[\\\\\]]]]^^^^^____```aaaaabbbcccccddddeeeeeffggggghhhhiiiiijjkkkkkllllmlllllkkkkjjjjiiiihhhhhgggffffeeeedddddccccbbbaaaa`````____^^^^]]]]]\\\\\[[ZZZZZYYYYYXXXXXWWWVVVVVUUUUUTTTTTSSSRRRRRQQQQQPPPPOOOOONNNNNMMMMMLLLLKKKKKKJJJJJIIIIIIHHHHGGGGGGFFFFFFFEEEEEEDDDDCCCCCCBBBBBBBAAAA@@@@@@@@????????>>>>>>>>======<<<<<<<<<;;;;;;;;;;;:::::::::::::9999999999888888888888888888888777777777777777777777777777777777777777777778888888888888888888889999999999::::::::::::;;;;;;;;;;;;<<<<<<<<=======>>>>>>>?????????@@@@@@@AAAABBBBBBBBCCCCCCDDDDEEEEEEFFFFFFGGGGGGHHHHIIIIIIJJJJJKKKKKKKLLLMMMMMNNNNNOOOOOPPPPQQQQQRRRRRSSSSTTTTTUUUUUVVVVVWWXXXXXYYYYYZZZZZ[[[\\\\\]]]]]^^^^___`````aaaabbbbccccdddddeeeffffgggghhhhhiiiijjjkkkklllllmmmlllkkkkkjjjiiiiihhhhgggggffeeeeeddddcccccbbbbaaa`````___^^^^^]]]]]\\\\\[[ZZZZZYYYYYXXXXXWWWVVVVVUUUUUTTTTTSSSSRRRRRQQQQQPPPOOOOONNNNNMMMMMLLLLKKKKKKJJJJJIIIIIIIHHHGGGGGGGFFFFFFEEEEEEDDDDCCCCCCCBBBBBBBAAAAA@@@@@@@????????>>>>>>>>=======<<<<<<<<<<;;;;;;;;;;;::::::::::::999999999999888888888888888888888888888888888888888888888888888888888888888888888888888899999999999:::::::::::::;;;;;;;;;;;<<<<<<<<<<======>>>>>>>>>???????@@@@@@@@AAAAABBBBBBCCCCCCCCDDDEEEEEEEFFFFFFGGGGGGHHHHIIIIIIJJJJJKKKKKKLLLLMMMMMNNNNNOOOOOPPPPQQQQQRRRRRSSSSTTTTTUUUUUVVVVVWWXXXXXYYYYYZZZZZ[[[\\\\\]]]]]^^^^^__`````aaaabbbbcccccdddeeeeefffggggghhhhiiiiijjkkkkkllllmmmmmllllkkkkkjjiiiihhhhhgggggffeeeeeddddcccccbbbaaaaa`````__^^^^^]]]]]\\\\[[[[ZZZZZYYYXXXXXWWWWVVVVVUUUUUTTTTTSSSSRRRRRQQQQQPPPPOOOOONNNNNMMMMMMLLKKKKKKKJJJJJJIIIIIHHHHGGGGGGFFFFFFEEEEEEDDDDDCCCCCCCBBBBBBBAAAAA@@@@@@@@???????>>>>>>>>>======<<<<<<<<<<;;;;;;;;;;;;;:::::::::::::99999999999999888888888888888888888888888888888888888888888888888888888888899999999999999::::::::::::::;;;;;;;;;;;;<<<<<<<<<<=======>>>>>>>>????????@@@@@@@AAAAABBBBBBBBCCCCCCDDDDDEEEEEEFFFFFFFGGGGGGHHHHIIIIIJJJJJJKKKKKKLLLMMMMMMNNNNNOOOOOPPPPQQQQQRRRRRSSSTTTTTUUUUUVVVVVWWWWXXXXXYYYYZZZZZ[[[[\\\]]]]]^^^^^___`````aaaaabbcccccddddeeeeefffggggghhhhhiiijjjkkkkkllllmmmmmmlllllkkkkjjjiiiihhhhhggggffffeeedddddccccbbbbaaaaa````___^^^^^]]]]\\\\\[[[[ZZZZYYYYYXXXXXWWWVVVVVUUUUUTTTTTSSSSRRRRRQQQQQPPPPOOOOONNNNNMMMMMMLLLLKKKKKJJJJJJIIIIIHHHHHGGGGGGFFFFFFFEEEEEEDDDDCCCCCCCBBBBBBBBAAAAA@@@@@@@????????>>>>>>>>>>======<<<<<<<<<<;;;;;;;;;;;;:::::::::::::::::9999999999999999888888888888888888888888888888888888888888889999999999999999::::::::::::::::;;;;;;;;;;;;;<<<<<<<<<<======>>>>>>>>>>???????@@@@@@@@AAAAABBBBBBBCCCCCCCCDDDDEEEEEEFFFFFFGGGGGGHHHHHIIIIIJJJJJJJKKKKKLLLMMMMMMMNNNNNOOOOOPPPQQQQQRRRRRSSSSTTTTTUUUUUVVVVVWWWWXXXXXYYYYYZZZZ[[[\\\\\]]]]^^^^^____````aaaaabbbccccdddddeeeeffffggghhhhhiiiijjjjkkkklllllmmmmmmmllllkkkkkjjiiiiihhhhgggggfffeeeeedddddcccbbbbaaaa`````____^^^]]]]]\\\\\[[[ZZZZZYYYYYXXXXXWWWWVVVVVUUUUUTTTTTSSRRRRRRQQQQQPPPPOOOOONNNNNMMMMMMLLLLKKKKKJJJJJJIIIIIIIHHHGGGGGGGFFFFFFEEEEEEDDDDDCCCCCCBBBBBBBBAAAAA@@@@@@@@@????????>>>>>>>>>======<<<<<<<<<<<<;;;;;;;;;;;;;:::::::::::::::::::9999999999999999999999999999999999999999999999999999999999999:::::::::::::::::::;;;;;;;;;;;;;;<<<<<<<<<<<======>>>>>>>>>?????????@@@@@@@@@AAAAABBBBBBBCCCCCCDDDDDEEEEEEEFFFFFFGGGGGGHHHHIIIIIIJJJJJJKKKKKLLLLMMMMMMNNNNNOOOOOPPPPQQQQQRRRRRRSSSTTTTTUUUUUVVVVVWWWWXXXXXYYYYYZZZZZ[[\\\\\]]]]]^^^^____`````aaabbbbccccdddddeeeeeffggggghhhhiiiiijjjkkkkklllmmmmmmmmmlllllkkkkjjjjiiihhhhhgggggfffeeeeeddddcccccbbaaaaa`````___^^^^^]]]]]\\\\\[[ZZZZZYYYYYXXXXXWWWWVVVVVUUUUUTTTTTSSRRRRRRRQQQQQPPPOOOOONNNNNMMMMMMMLLLKKKKKJJJJJJJIIIIIIHHHHGGGGGGFFFFFFEEEEEEEEDDDCCCCCCCCBBBBBBBAAAAA@@@@@@@@@?????????>>>>>>>>>=======<<<<<<<<<<<;;;;;;;;;;;;;;;:::::::::::::::::::::::99999999999999999999999999999999999999999999::::::::::::::::::::::;;;;;;;;;;;;;;;<<<<<<<<<<<========>>>>>>>>>????????@@@@@@@@@AAAAABBBBBBBBCCCCCCCDDDDEEEEEEEFFFFFFFGGGGGGHHHHIIIIIIJJJJJJKKKKKLLLLMMMMMMNNNNNOOOOOPPPPQQQQQRRRRRRSSSTTTTTUUUUUVVVVVWWWXXXXXYYYYYZZZZZ[[[\\\\\]]]]]^^^^^__`````aaaaabbbcccccddddeeeeeffggggghhhhhiiiijjjjkkklllllmmmmnmmmmmllllkkkkkjjjiiiiihhhhhgggffffeeeedddddcccccbbaaaaa`````___^^^^^]]]]]\\\\[[[ZZZZZYYYYYXXXXXWWWVVVVVUUUUUTTTTTTSSSRRRRRRQQQQQPPPPOOOOONNNNNMMMMMMLLLLKKKKKKJJJJJIIIIIIHHHHHGGGGGGFFFFFFFEEEEEEDDDDDCCCCCCCBBBBBBBBAAAAA@@@@@@@@@????????>>>>>>>>>>========<<<<<<<<<<<<;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;<<<<<<<<<<<<<=======>>>>>>>>>>?????????@@@@@@@@@AAAAABBBBBBBCCCCCCCCDDDDDEEEEEEFFFFFFGGGGGGHHHHHIIIIIIIJJJJJKKKKKKLLLLMMMMMMNNNNNOOOOOPPPPQQQQQRRRRRRSSTTTTTTTUUUUUVVVVVWWXXXXXYYYYYZZZZZ[[[[\\\\]]]]]^^^^^__`````aaaaabbbcccccdddddeeeffffgggghhhhhiiiiijjkkkkkllllmmmmmnnnmmmmmlllkkkkkjjjiiiiihhhhgggggffeeeeedddddccccbbbbaaaaa```____^^^^^]]]]\\\\\[[[[ZZZZZYYYYYXXXXXWWVVVVVUUUUUTTTTTTSSSRRRRRRQQQQQPPPPOOOOONNNNNNMMMMMLLLLKKKKKKJJJJJJIIIIIIIHHHGGGGGGGFFFFFFEEEEEEEDDDDDCCCCCCCBBBBBBBBAAAAA@@@@@@@@@?????????>>>>>>>>>>>========<<<<<<<<<<<<<;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<=======>>>>>>>>>>>>????????@@@@@@@@@AAAAABBBBBBBBBCCCCCCDDDDDEEEEEEEEFFFFFFGGGGGGHHHHIIIIIIJJJJJJKKKKKKKLLLMMMMMNNNNNNNOOOOOPPPQQQQQRRRRRRRSSTTTTTTUUUUUVVVVVWWWXXXXXYYYYYZZZZZ[[[[\\\\\]]]^^^^^____````aaaaabbbbcccdddddeeeeefffggggghhhhiiiiijjkkkkkllllmmmmmnnnnnmmmmlllllkkkjjjjiiiihhhhhgggggffeeeeeddddcccccbbbbaaaa`````___^^^^]]]]]\\\\\[[[[ZZZZZYYYYYXXXXXWWVVVVVUUUUUTTTTTTTSSRRRRRRQQQQQPPPPOOOOONNNNNNMMMMMLLLLKKKKKKJJJJJJJIIIIIIHHHHGGGGGGFFFFFFFEEEEEEEDDDDDCCCCCCCBBBBBBBBBAAAAA@@@@@@@@@??????????>>>>>>>>>>========<<<<<<<<<<<<<<<;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<=========>>>>>>>>>>??????????@@@@@@@@@AAAAABBBBBBBBCCCCCCCCDDDDDEEEEEEFFFFFFFFGGGGGGHHHHIIIIIIJJJJJJKKKKKKLLLLMMMMMNNNNNNOOOOOPPPPQQQQQRRRRRRSSSTTTTTTUUUUUVVVVVWWWXXXXXYYYYYZZZZZ[[[\\\\\]]]]]^^^^____`````aaaabbbcccccddddeeeeefffggggghhhhhiiijjjjkkkklllllmmmmnnnnnnmmmmmllllkkkkkjjiiiiihhhhhggggffffeeedddddcccccbbbaaaaa`````__^^^^^]]]]]\\\\\[[[ZZZZZYYYYYXXXXXWWWWVVVVVUUUUUTTTTTSSSRRRRRRRQQQQQPPPOOOOONNNNNNNMMMMMLLLLLKKKKKJJJJJJIIIIIIHHHHHGGGGGGFFFFFFFEEEEEEEDDDDDCCCCCCCCBBBBBBBAAAAAA@@@@@@@@@??????????>>>>>>>>>>>=========<<<<<<<<<<<<<<<<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<=========>>>>>>>>>>>??????????@@@@@@@@@AAAAAABBBBBBBBCCCCCCCDDDDDEEEEEEEEFFFFFFGGGGGGHHHHHIIIIIIIJJJJJJKKKKKLLLLLMMMMMNNNNNNOOOOOPPPPQQQQQRRRRRRSSSSTTTTTUUUUUVVVVVWWWWXXXXXYYYYYZZZZZ[[\\\\\]]]]]^^^^^___`````aaaaabbcccccdddddeeeeffffggghhhhhiiiiijjjkkkkkllllmmmmmnnooonnmmmmlllllkkkkkjjiiiiihhhhgggggfffeeeeedddddcccccbbaaaaa`````___^^^^^]]]]]\\\\\[[ZZZZZYYYYYXXXXXWWWWVVVVVUUUUUTTTTTSSSSRRRRRRQQQQQPPPPOOOOONNNNNNMMMMMMLLLLKKKKKKJJJJJJIIIIIIIHHHGGGGGGGFFFFFFFEEEEEEEEDDDDDCCCCCCCBBBBBBBBBAAAAA@@@@@@@@@@??????????>>>>>>>>>>>>=========<<<<<<<<<<<<<<<<<<<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<=========>>>>>>>>>>>>>??????????@@@@@@@@@@AAAAABBBBBBBBCCCCCCCCDDDDDEEEEEEEFFFFFFFFGGGGGGHHHHIIIIIIJJJJJJKKKKKKKLLLMMMMMMMNNNNNNOOOOOPPPPQQQQQRRRRRRSSSSTTTTTUUUUUVVVVVWWWXXXXXYYYYYZZZZZ[[[\\\\\]]]]]^^^^^__`````aaaaabbbcccccdddddeeeeeffggggghhhhiiiiijjjkkkkklllllmmmnnnoooonnnmmmmlllllkkkkjjjjiiihhhhhgggggfffeeeeedddddccccbbbaaaaa````____^^^^^]]]]]\\\\\[[ZZZZZYYYYYXXXXXWWWWVVVVVUUUUUTTTTTSSSSRRRRRRQQQQQPPPPOOOOOONNNNNMMMMMMLLLLKKKKKKJJJJJJJIIIIIIHHHHGGGGGGGFFFFFFFFEEEEEEDDDDDCCCCCCCCCBBBBBBBBAAAAA@@@@@@@@@@????????????>>>>>>>>>>>>==========<<<<<<<<<<<<<<<<<<<<<<<<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<==========>>>>>>>>>>>>>???????????@@@@@@@@@@AAAAABBBBBBBBBCCCCCCCCCDDDDDEEEEEEFFFFFFFGGGGGGGGHHHHIIIIIIJJJJJJKKKKKKLLLLMMMMMMNNNNNOOOOOOOPPPQQQQQRRRRRRRSSSTTTTTUUUUUVVVVVWWWWXXXXXYYYYYZZZZZ[[[\\\\\]]]]]^^^^^___````aaaaabbbbccccdddddeeeeeffggggghhhhhiiiijjjjkkklllllmmmmnnnnooooonnmmmmmllllkkkkkjjjiiiiihhhhhgggffffeeeeeddddcccccbbbbaaa`````____^^^^^]]]]\\\\\[[[[ZZZZZYYYYYXXXXXWWWVVVVVUUUUUTTTTTSSSSRRRRRRQQQQQPPPPOOOOOONNNNNMMMMMMMLLLKKKKKKKJJJJJJIIIIIIHHHHHGGGGGGFFFFFFFFEEEEEEEDDDDDCCCCCCCCCBBBBBBBBBAAAAAA@@@@@@@@@@???????????>>>>>>>>>>>>>>===========<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<===========>>>>>>>>>>>>>>???????????@@@@@@@@@@AAAAAAABBBBBBBBCCCCCCCCCDDDDDEEEEEEEEFFFFFFFGGGGGGHHHHHIIIIIIIJJJJJJKKKKKKLLLLMMMMMMNNNNNOOOOOOPPPPQQQQQRRRRRRSSSSTTTTTUUUUUVVVVVWWWWXXXXXYYYYYZZZZZ[[[[\\\\\]]]^^^^^____`````aaaabbbbcccccdddeeeeeffffgggghhhhhiiiiijjkkkkkllllmmmmmnnnoooooonnnnmmmlllllkkkkkjjjiiiiihhhhgggggfffeeeedddddcccccbbbaaaaa`````___^^^^]]]]]\\\\\[[[[ZZZZZYYYYYXXXXXWWWWVVVVVUUUUUTTTTTTSSRRRRRRRQQQQQPPPOOOOOOONNNNNNMMMMMLLLLLKKKKKKJJJJJJIIIIIIIHHHGGGGGGGGFFFFFFFEEEEEEEEDDDDDCCCCCCCCCBBBBBBBBAAAAAAA@@@@@@@@@@@???????????>>>>>>>>>>>>>>>==============<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<=============>>>>>>>>>>>>>>>????????????@@@@@@@@@@@AAAAAABBBBBBBBBCCCCCCCCCDDDDDEEEEEEEFFFFFFFFGGGGGGGHHHHIIIIIIJJJJJJKKKKKKKLLLLLMMMMMNNNNNNOOOOOOPPPPQQQQQRRRRRRSSSTTTTTTUUUUUVVVVVWWWWXXXXXYYYYYZZZZZ[[[\\\\\]]]]]^^^^____`````aaaaabbcccccdddddeeeeffffggggghhhhiiiiijjkkkkklllllmmmmnnnnooooooonnnmmmmmlllllkkkjjjjiiiihhhhhgggggffeeeeedddddcccccbbbaaaaa`````__^^^^^]]]]]\\\\\[[[[ZZZZZYYYYYXXXXXWWWWVVVVVUUUUUTTTTTTSSSRRRRRRQQQQQPPPPOOOOOONNNNNNMMMMMMLLLLKKKKKKJJJJJJJIIIIIIHHHHHGGGGGGGFFFFFFFFEEEEEEEDDDDDCCCCCCCCCBBBBBBBBBAAAAAAA@@@@@@@@@@??????????????>>>>>>>>>>>>>>>>=================<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<================>>>>>>>>>>>>>>>>??????????????@@@@@@@@@@AAAAAAAABBBBBBBBCCCCCCCCCDDDDDEEEEEEEEFFFFFFFGGGGGGGGHHHHHIIIIIIJJJJJJKKKKKKLLLLMMMMMMNNNNNNNOOOOOOPPPPQQQQQRRRRRRSSTTTTTTTUUUUUVVVVVWWWXXXXXYYYYYZZZZZ[[[[\\\\\]]]]]^^^^^___`````aaaaabbcccccdddddeeeeefffggggghhhhhiiijjjjkkkklllllmmmmmnnoooopooooonnnmmmmmllllkkkkkjjiiiiihhhhhgggggfffeeeeedddddcccbbbbaaaaa`````___^^^^^]]]]]\\\\\[[[ZZZZZYYYYYXXXXXWWWWVVVVVUUUUUTTTTTTSSSSRRRRRQQQQQQPPPPOOOOONNNNNNMMMMMMMLLLKKKKKKKJJJJJJIIIIIIIHHHHHGGGGGGGFFFFFFFEEEEEEEEEDDDDDCCCCCCCCCBBBBBBBBBBAAAAAA@@@@@@@@@@@@??????????????>>>>>>>>>>>>>>>>>>>================================================================>>>>>>>>>>>>>>>>>>??????????????@@@@@@@@@@@@@AAAAAABBBBBBBBBBCCCCCCCCCDDDDDEEEEEEEEFFFFFFFFGGGGGGHHHHHIIIIIIIIJJJJJJKKKKKKLLLLMMMMMMNNNNNNOOOOOPPPPQQQQQQRRRRRSSSSTTTTTTUUUUUVVVVVWWWWXXXXXYYYYYZZZZZ[[[[\\\\\]]]]]^^^^^__`````aaaaabbbbccccdddddeeeeeffggggghhhhhiiiiijjjkkkkkllllmmmmmnnooooopppooonnnnmmmmlllllkkkkkjjiiiiihhhhhggggffffeeeeeddddcccccbbbaaaaa````____^^^^^]]]]]\\\\\[[[[ZZZZZYYYYYXXXXXWWWVVVVVUUUUUTTTTTTTSSSRRRRRQQQQQQQPPPOOOOONNNNNNNMMMMMMLLLLLKKKKKKJJJJJJIIIIIIIHHHHHGGGGGGGFFFFFFFFEEEEEEEEDDDDDCCCCCCCCCBBBBBBBBBBAAAAAAAA@@@@@@@@@@@@???????????????>>>>>>>>>>>>>>>>>>>>>>>==============================================>>>>>>>>>>>>>>>>>>>>>>???????????????@@@@@@@@@@@@@AAAAAAABBBBBBBBBBCCCCCCCCCDDDDDEEEEEEEEEFFFFFFFGGGGGGGGHHHHHIIIIIIJJJJJJKKKKKKKLLLLLMMMMMMNNNNNNOOOOOPPPPQQQQQQRRRRRSSSSTTTTTTUUUUUVVVVVWWWWXXXXXYYYYYZZZZZ[[[[\\\\\]]]]]^^^^^___````aaaaabbbbcccccddddeeeeefffgggghhhhhiiiiijjjkkkkklllllmmmnnnnooooppppooooonnmmmmmlllllkkkkjjjjiiiiihhhgggggffffeeeedddddcccccbbaaaaa`````____^^^^^]]]]]\\\\\[[[[ZZZZZYYYYYXXXXXWWWWVVVVVUUUUUTTTTTTSSSSRRRRRQQQQQQPPPPOOOOOONNNNNNMMMMMMLLLLKKKKKKJJJJJJJIIIIIIIHHHHHGGGGGGGGFFFFFFFEEEEEEEEEDDDDDCCCCCCCCCCBBBBBBBBBBAAAAAAA@@@@@@@@@@@@@?????????????????>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>??????????????????@@@@@@@@@@@@AAAAAAAABBBBBBBBBBCCCCCCCCCCDDDDDEEEEEEEEFFFFFFFFGGGGGGGHHHHHIIIIIIIIJJJJJJKKKKKKLLLLMMMMMMNNNNNNNOOOOOOPPPPQQQQQQRRRRRSSSSTTTTTTUUUUUVVVVVWWWWXXXXXYYYYYZZZZZ[[[\\\\\]]]]]^^^^^____`````aaaaabbbcccccdddddeeeffffggggghhhhiiiiijjjjkkklllllmmmmmnnnooooopppppooooonnmmmmmllllkkkkkjjjjiiiihhhhhgggggffeeeeedddddcccccbbbaaaaa`````___^^^^^]]]]]\\\\\[[[ZZZZZZYYYYYXXXXXWWWWVVVVVUUUUUTTTTTTSSSSRRRRRQQQQQQPPPPOOOOOONNNNNNMMMMMMMLLLKKKKKKKKJJJJJJIIIIIIIIHHHHHGGGGGGGFFFFFFFFEEEEEEEEDDDDDCCCCCCCCCCBBBBBBBBBBBBAAAAAAA@@@@@@@@@@@@@@????????????????????>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????@@@@@@@@@@@@@AAAAAAAABBBBBBBBBBBCCCCCCCCCCDDDDDEEEEEEEEEFFFFFFFGGGGGGGGHHHHHIIIIIIIJJJJJJJKKKKKKKLLLLMMMMMMNNNNNNOOOOOOOPPPQQQQQQQRRRRRSSSTTTTTTTUUUUUVVVVVWWWXXXXXYYYYYZZZZZZZ[[\\\\\]]]]]^^^^^____`````aaaaabbcccccdddddeeeeefffggggghhhhhiiiijjjkkkkkllllmmmmmnnnooooopppppppoooonnnnmmmlllllkkkkkjjjiiiiihhhhhgggggffeeeeedddddcccccbbbaaaaa`````____^^^^^]]]]]\\\\\[[ZZZZZZYYYYYXXXXXWWWWVVVVVUUUUUTTTTTTSSSSRRRRRRQQQQQPPPPOOOOOONNNNNNNMMMMMMLLLLLKKKKKKJJJJJJJJIIIIIIHHHHHGGGGGGGFFFFFFFFFEEEEEEEEEDDDDDDCCCCCCCCCCBBBBBBBBBBBAAAAAAAA@@@@@@@@@@@@@@@@???????????????????????>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>??????????????????????@@@@@@@@@@@@@@@@@AAAAAAABBBBBBBBBBBCCCCCCCCCCDDDDDDDEEEEEEEEFFFFFFFFFGGGGGGGGHHHHHIIIIIIJJJJJJJKKKKKKKLLLLLMMMMMMNNNNNNOOOOOOPPPPQQQQQRRRRRRSSSSTTTTTTUUUUUVVVVVWWWWXXXXXYYYYYZZZZZZ[[[\\\\\]]]]]^^^^^____`````aaaaabbcccccdddddeeeeefffggggghhhhhiiiiijjkkkkklllllmmmmnnnnooopppppppppooooonnnnmmmmlllllkkkkkjjiiiiihhhhhggggffffeeeeedddcccccbbbbaaaaa`````___^^^^^]]]]]\\\\\\[[ZZZZZYYYYYYYXXXXXWWWVVVVVUUUUUUUTTTTTSSSRRRRRRRQQQQQPPPPPOOOOOONNNNNNMMMMMMLLLLKKKKKKKKJJJJJJIIIIIIIHHHHHGGGGGGGGFFFFFFFFFEEEEEEEEDDDDDDDCCCCCCCCCCBBBBBBBBBBBBAAAAAAAAA@@@@@@@@@@@@@@@@?????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@AAAAAAAABBBBBBBBBBBBBCCCCCCCCCCDDDDDDEEEEEEEEEFFFFFFFFFGGGGGGGHHHHHIIIIIIIIJJJJJJKKKKKKKLLLLMMMMMMNNNNNNNOOOOOOPPPPPQQQQQRRRRRRSSSSTTTTTUUUUUUVVVVVWWWWXXXXXYYYYYYZZZZZ[[[\\\\\\]]]]]^^^^^__`````aaaaabbbbcccccddddeeeeeffffggghhhhhiiiiijjjkkkkklllllmmmmnnnoooooppppqqqpppooooonnnmmmmmlllllkkkkjjjiiiiihhhhgggggffffeeeedddddcccccbbbaaaaa`````___^^^^^]]]]]\\\\\\[[[ZZZZZYYYYYYXXXXXWWWWVVVVVUUUUUUTTTTTSSSSRRRRRRQQQQQQPPPPOOOOOONNNNNNMMMMMMMLLLLLKKKKKKJJJJJJJIIIIIIIIHHHHHGGGGGGGFFFFFFFFFEEEEEEEEEDDDDDDDCCCCCCCCCCBBBBBBBBBBBBBAAAAAAAAAA@@@@@@@@@@@@@@@@@@@??????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@AAAAAAAAAABBBBBBBBBBBBCCCCCCCCCCDDDDDDDDEEEEEEEEFFFFFFFFFGGGGGGGGHHHHHIIIIIIIJJJJJJJJKKKKKKLLLLLMMMMMMNNNNNNOOOOOOOPPPQQQQQQQRRRRRRSSSSTTTTTUUUUUUVVVVVWWWWXXXXXYYYYYYZZZZZ[[\\\\\\\]]]]]^^^^^__`````aaaaabbbbcccccdddddeeeefffggggghhhhiiiiijjjjkkkklllllmmmmmnnoooooppppqqqqpppppooonnnnmmmmmllllkkkkkjjjjiiihhhhhgggggfffeeeeedddddcccccbbbbaaaaa`````__^^^^^]]]]]\\\\\[[[[ZZZZZYYYYYYXXXXXWWWWVVVVVUUUUUUTTTTTSSSSRRRRRRQQQQQQPPPPOOOOOONNNNNNNMMMMMMMLLLLKKKKKKKJJJJJJJIIIIIIIHHHHHHGGGGGGGGFFFFFFFFFEEEEEEEEEEDDDDDDCCCCCCCCCCCBBBBBBBBBBBBBBAAAAAAAAAA@@@@@@@@@@@@@@@@@@@@@@@@??????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCDDDDDDEEEEEEEEEEFFFFFFFFFGGGGGGGHHHHHHIIIIIIIIJJJJJJKKKKKKKKLLLMMMMMMMMNNNNNNOOOOOOPPPPQQQQQQRRRRRRRSSSTTTTTUUUUUUUVVVVVWWWXXXXXYYYYYYYZZZZZ[[[\\\\\]]]]]^^^^^___`````aaaaabbbbcccccdddddeeeeeffggggghhhhhiiiijjjjkkkkklllmmmmmnnnnoooopppppqqqqqpppppoooonnnmmmmlllllkkkkkjjjiiiiihhhhhgggggffeeeeedddddcccccbbbaaaaa`````___^^^^^]]]]]\\\\\[[[[ZZZZZYYYYYYXXXXXWWWWVVVVVUUUUUUTTTTTTTSSSRRRRRQQQQQQQPPPPPOOOOOONNNNNNMMMMMMLLLLLKKKKKKKJJJJJJJIIIIIIIIHHHHHHGGGGGGGFFFFFFFFFEEEEEEEEEEDDDDDDDDCCCCCCCCCCCBBBBBBBBBBBBBBBAAAAAAAAAAA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAABBBBBBBBBBBBBBBCCCCCCCCCCCDDDDDDDEEEEEEEEEEFFFFFFFFFGGGGGGGGHHHHHHIIIIIIIJJJJJJJJKKKKKKLLLLLMMMMMMNNNNNNNOOOOOOPPPPPQQQQQQRRRRRSSSSTTTTTTUUUUUUVVVVVWWWWXXXXXYYYYYYZZZZZ[[[[\\\\\]]]]]^^^^^____`````aaaaabbcccccdddddeeeeefffggggghhhhhiiiiijjkkkkklllllmmmmnnnnoooopppppqqqqqqqppppooooonnmmmmmlllllkkkkkjjjiiiiihhhhhggggfffeeeeedddddcccccbbbaaaaa`````____^^^^^]]]]]\\\\\[[[ZZZZZYYYYYYYXXXXXWWWVVVVVVVUUUUUTTTTTTSSSSRRRRRRQQQQQQPPPPOOOOOONNNNNNMMMMMMMMLLLLKKKKKKKJJJJJJJJIIIIIIIHHHHHGGGGGGGGGFFFFFFFFFFEEEEEEEEEEDDDDDDDCCCCCCCCCCCCCBBBBBBBBBBBBBBBAAAAAAAAAAAAAA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAABBBBBBBBBBBBBBBCCCCCCCCCCCCDDDDDDDDEEEEEEEEEEFFFFFFFFFFGGGGGGGGHHHHHIIIIIIIIJJJJJJJKKKKKKKKLLLLMMMMMMMNNNNNNOOOOOOOPPPQQQQQQQRRRRRRSSSSTTTTTTUUUUUVVVVVVWWWWXXXXXYYYYYYZZZZZ[[[[\\\\\]]]]]^^^^^____`````aaaaabbcccccdddddeeeeeffffgggghhhhhiiiiijjkkkkklllllmmmmmnnnooooopppqqqqrrrqqpppppooooonnnmmmmmlllllkkkjjjjiiiiihhhhgggggffffeeeeedddddcccccbbaaaaa`````____^^^^^]]]]]\\\\\[[[[ZZZZZYYYYYYXXXXXWWWWVVVVVVUUUUUTTTTTTSSSSRRRRRRQQQQQQPPPPOOOOOONNNNNNNNMMMMMMLLLLLKKKKKKKKJJJJJJJIIIIIIIIHHHHHGGGGGGGGGGFFFFFFFFEEEEEEEEEEDDDDDDDDDCCCCCCCCCCCCCBBBBBBBBBBBBBBBBBAAAAAAAAAAAAAAAAAA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBCCCCCCCCCCCCDDDDDDDDDEEEEEEEEEEFFFFFFFFFGGGGGGGGGGHHHHHIIIIIIIJJJJJJJJKKKKKKKLLLLLMMMMMMMNNNNNNNOOOOOOPPPPQQQQQQRRRRRRRSSSTTTTTTTUUUUUVVVVVVWWWWXXXXXYYYYYYZZZZZ[[[[\\\\\]]]]]^^^^^___`````aaaaabbbcccccdddddeeeeeffffggggghhhiiiiijjjjkkkklllllmmmmmnnooooopppppqqqrrrrrqqpppppoooonnnnmmmmmllllkkkkkjjjiiiihhhhhgggggffffeeeeeddddcccccbbbaaaaa`````____^^^^^]]]]]\\\\\[[[[ZZZZZZYYYYYXXXXXWWWWVVVVVVUUUUUTTTTTTSSSSRRRRRRQQQQQQQPPPPPOOOOOONNNNNNMMMMMMMMLLLKKKKKKKKJJJJJJJJJIIIIIIIHHHHHHGGGGGGGGGFFFFFFFFFFEEEEEEEEEEDDDDDDDDDCCCCCCCCCCCCCCBBBBBBBBBBBBBBBBBBBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCDDDDDDDDEEEEEEEEEEFFFFFFFFFFGGGGGGGGGHHHHHHIIIIIIIIJJJJJJJJJKKKKKKKLLLLMMMMMMMNNNNNNNOOOOOOPPPPPQQQQQQRRRRRRSSSSTTTTTTUUUUUVVVVVVVWWWXXXXXYYYYYZZZZZZZ[[[\\\\\]]]]]^^^^^____`````aaaaabbbbcccccddddeeeeefffggggghhhhhiiiijjjjkkkkkllllmmmmmnnnoooopppppqqqrrrrrrqqqqpppooooonnnnmmmmlllllkkkkkjjiiiiihhhhhgggggfffeeeeedddddcccccbbbbaaaaa`````___^^^^^]]]]]\\\\\[[[[ZZZZZZYYYYYXXXXXWWWWVVVVVVUUUUUUUTTTTTSSSSSRRRRRRQQQQQQPPPPOOOOOONNNNNNNNMMMMMMLLLLLKKKKKKKJJJJJJJJIIIIIIIIIHHHHHHGGGGGGGGGFFFFFFFFFFEEEEEEEEEEEDDDDDDDDDCCCCCCCCCCCCCCCCBBBBBBBBBBBBBBBBBBBBBBBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCDDDDDDDDDEEEEEEEEEEEFFFFFFFFFFGGGGGGGGGHHHHHHIIIIIIIIIJJJJJJJKKKKKKKKLLLLLMMMMMMNNNNNNNOOOOOOOPPPQQQQQQQRRRRRRSSSSSTTTTTUUUUUUVVVVVVWWWWXXXXXYYYYYZZZZZZ[[[[\\\\\]]]]]^^^^^____`````aaaaabbbbcccccdddddeeeeeffggggghhhhhiiiiijjjkkkkklllllmmmnnnnoooooppppqqqqrrrrrrrqqqpppppooooonnmmmmmlllllkkkkkjjjiiiiihhhhhgggggffeeeeedddddcccccbbbbaaaaa`````____^^^^^]]]]]\\\\\[[[ZZZZZZZYYYYYXXXXXXWWWWVVVVVUUUUUUTTTTTTSSSSRRRRRRQQQQQQPPPPOOOOOOOONNNNNNMMMMMMMLLLLLKKKKKKKKJJJJJJJIIIIIIIIIHHHHHHGGGGGGGGGGFFFFFFFFFFEEEEEEEEEEEEEDDDDDDDDDCCCCCCCCCCCCCCCCCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCDDDDDDDDDEEEEEEEEEEEEFFFFFFFFFFGGGGGGGGGGHHHHHHIIIIIIIIIJJJJJJJJKKKKKKKLLLLLMMMMMMMMNNNNNNOOOOOOOPPPPQQQQQQRRRRRRRSSSTTTTTTTUUUUUUVVVVVWWWWXXXXXXYYYYYZZZZZZ[[[[\\\\\]]]]]^^^^^____`````aaaaabbbcccccdddddeeeeefffggggghhhhhiiiiijjkkkkklllllmmmmmnnnooooopppppqqrrrrrrrrrrqqqpppppooooonnmmmmmlllllkkkkjjjjiiiiihhhhhggggfffeeeeedddddcccccbbbbaaaaa`````____^^^^^]]]]]\\\\\[[[[ZZZZZZYYYYYXXXXXXWWWWVVVVVUUUUUUTTTTTTSSSSRRRRRRQQQQQQQPPPPPOOOOOONNNNNNNMMMMMMMMLLLLLKKKKKKKJJJJJJJJIIIIIIIIIHHHHHHGGGGGGGGGGFFFFFFFFFFFEEEEEEEEEEEEEDDDDDDDDDDCCCCCCCCCCCCCCCCCCCCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDEEEEEEEEEEEEFFFFFFFFFFFFGGGGGGGGGGHHHHHHIIIIIIIIIJJJJJJJKKKKKKKKLLLLLMMMMMMMNNNNNNNNOOOOOOPPPPPQQQQQQRRRRRRSSSSTTTTTTUUUUUUUVVVVVWWWXXXXXXXYYYYYZZZZZZ[[[[\\\\\]]]]]^^^^^___`````aaaaabbbbcccccdddddeeeeeffffgggghhhhhiiiiijjjkkkklllllmmmmmnnnooooopppppqqrrrrrsssrrrqqqqpppppoooonnnnmmmmmlllkkkkkjjjjiiiiihhhhgggggffffeeeeedddddcccccbbbaaaaa`````____^^^^^]]]]]\\\\\[[[[ZZZZZZYYYYYXXXXXXWWWWVVVVVVUUUUUTTTTTTTSSSSSRRRRRRQQQQQQPPPPOOOOOOONNNNNNNMMMMMMMLLLLLKKKKKKKKKJJJJJJJIIIIIIIIIHHHHHHHHGGGGGGGGGGFFFFFFFFFFFEEEEEEEEEEEEEEDDDDDDDDDDCCCCCCCCCCCCCCCCCCCCCCCCCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDEEEEEEEEEEEEEEFFFFFFFFFFFGGGGGGGGGGHHHHHHHIIIIIIIIIJJJJJJJJKKKKKKKKLLLLLMMMMMMMMNNNNNNOOOOOOOOPPPQQQQQQQRRRRRRSSSSSTTTTTTUUUUUVVVVVVWWWWXXXXXXYYYYYZZZZZZZ[[[\\\\\]]]]]^^^^^____`````aaaaabbbbcccccdddddeeeeeffffggggghhhiiiiijjjjkkkkkllllmmmmmnnnnooopppppqqqqrrrrssssrrrrrqqqppppooooonnnnmmmmlllllkkkkkjjiiiiihhhhhgggggffffeeeeedddddcccccbbbbaaaaa`````___^^^^^]]]]]\\\\\\\[[ZZZZZZYYYYYXXXXXXXWWWVVVVVVVUUUUUUTTTTTTSSSSRRRRRRQQQQQQPPPPPOOOOOOONNNNNNNMMMMMMMMLLLLLKKKKKKKKJJJJJJJJIIIIIIIIIIHHHHHHGGGGGGGGGGFFFFFFFFFFFFFEEEEEEEEEEEEEEEDDDDDDDDDDDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDEEEEEEEEEEEEEEEFFFFFFFFFFFFGGGGGGGGGGHHHHHHHIIIIIIIIIIJJJJJJJKKKKKKKKKLLLLLMMMMMMMNNNNNNNNOOOOOOPPPPPQQQQQQRRRRRRRSSSTTTTTTTUUUUUUVVVVVVWWWWXXXXXXYYYYYZZZZZZ[[[\\\\\\]]]]]^^^^^____`````aaaaabbbbcccccdddddeeeeefffggggghhhhhiiiiijjjkkkkklllllmmmmnnnoooooppppqqqqrrrrrsssssrrrrrqqpppppooooonnnmmmmmlllllkkkkkjjiiiiihhhhhgggggffffeeeeedddddcccccbbbbaaaaa`````____^^^^^]]]]]\\\\\\[[[[ZZZZZYYYYYYXXXXXWWWWVVVVVVUUUUUUTTTTTTSSSSRRRRRRQQQQQQQQPPPPOOOOOOONNNNNNNNMMMMMMMLLLLLKKKKKKKKKJJJJJJJJJIIIIIIIIHHHHHHHGGGGGGGGGGGFFFFFFFFFFFFFFEEEEEEEEEEEEEEEDDDDDDDDDDDDDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDEEEEEEEEEEEEEEEFFFFFFFFFFFFFFGGGGGGGGGGGHHHHHHIIIIIIIIIJJJJJJJJJKKKKKKKKLLLLLMMMMMMMMNNNNNNNOOOOOOOOPPPPQQQQQQQRRRRRRSSSSTTTTTTUUUUUUUVVVVVVWWWWXXXXXYYYYYYZZZZZ[[[[\\\\\\]]]]]^^^^^____`````aaaaabbbcccccdddddeeeeeffffggggghhhhhiiiiijjjkkkkklllllmmmmmnnooooopppppqqqrrrrrsssssssrrrrrqqqpppppooooonnmmmmmlllllkkkkkjjjiiiiihhhhhgggggfffeeeeedddddcccccbbbaaaaaa`````____^^^^^]]]]]\\\\\\[[[[ZZZZZYYYYYYXXXXXWWWWVVVVVVUUUUUUTTTTTTTSSSSSRRRRRRQQQQQQPPPPPOOOOOOOONNNNNNMMMMMMMMMLLLLLKKKKKKKKJJJJJJJJJIIIIIIIIIIHHHHHHGGGGGGGGGGGGFFFFFFFFFFFFFEEEEEEEEEEEEEEEEEEDDDDDDDDDDDDDDDDDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFGGGGGGGGGGGHHHHHHIIIIIIIIIIJJJJJJJJJKKKKKKKKKLLLLLMMMMMMMMMNNNNNNOOOOOOOPPPPPQQQQQQQRRRRRRSSSSSTTTTTTUUUUUUVVVVVVVWWWXXXXXYYYYYYYZZZZZ[[[\\\\\\\]]]]]^^^^^___`````aaaaaaabbcccccdddddeeeeeffffggggghhhhhiiiiijjkkkkklllllmmmmmnnnooooopppppqqrrrrrssssssssssrrrrqqqqpppppoooonnnmmmmmllllkkkkkjjjjiiiiihhhhhgggggffeeeeedddddddcccccbbaaaaaa`````____^^^^^]]]]]\\\\\\[[[[ZZZZZYYYYYYXXXXXXXWWWVVVVVVVUUUUUUTTTTTTSSSSRRRRRRQQQQQQQQPPPOOOOOOOONNNNNNNMMMMMMMMMLLLLLKKKKKKKKKJJJJJJJJJIIIIIIIIIIHHHHHHHGGGGGGGGGGGGGFFFFFFFFFFFFFEEEEEEEEEEEEEEEEEEEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFGGGGGGGGGGGGHHHHHHHHIIIIIIIIIIJJJJJJJJJKKKKKKKKLLLLLMMMMMMMMMNNNNNNNNOOOOOOOPPPPQQQQQQQRRRRRRRSSSTTTTTTTUUUUUUVVVVVVWWWWXXXXXXYYYYYYZZZZZ[[[[\\\\\\]]]]]^^^^^____`````aaaaaabbbcccccddddddeeeeefffggggghhhhhiiiiijjjkkkkkllllmmmmmnnnnoooopppppqqqrrrrssssstttsssrrrrrqqqqppppooooonnnnmmmlllllkkkkkjjjjiiiiihhhhhgggggfffeeeeedddddccccccbbaaaaaaa`````___^^^^^]]]]]\\\\\\\[[[ZZZZZYYYYYYYXXXXXXWWWWVVVVVVUUUUUUTTTTTTSSSSRRRRRRRRQQQQQQPPPPPOOOOOOONNNNNNNNMMMMMMMLLLLLLLKKKKKKKKJJJJJJJJJJIIIIIIIIIIHHHHHHHHGGGGGGGGGGGGFFFFFFFFFFFFFFFFFEEEEEEEEEEEEEEEEEEEEEEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFGGGGGGGGGGGGGHHHHHHHIIIIIIIIIIJJJJJJJJJJKKKKKKKKKLLLLLLMMMMMMMMNNNNNNNOOOOOOOOPPPPPQQQQQQRRRRRRRSSSSTTTTTTUUUUUUUVVVVVVWWWWXXXXXXYYYYYYZZZZZ[[[[\\\\\\]]]]]^^^^^____`````aaaaaabbbccccccdddddeeeeeffggggghhhhhiiiiijjjjkkkkklllllmmmmnnnnooooopppqqqqrrrrrssssttttsssssrrrrrqqpppppooooonnnmmmmmlllllkkkkkjjjiiiiihhhhhgggggfffeeeeedddddccccccbbbaaaaaa`````____^^^^^]]]]]\\\\\\[[[[ZZZZZZYYYYYXXXXXXWWWWVVVVVVUUUUUUTTTTTTTSSSSSRRRRRRQQQQQQQPPPPPOOOOOOOONNNNNNNMMMMMMMMLLLLLLKKKKKKKKKJJJJJJJJJJIIIIIIIIIIIHHHHHHHHGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGHHHHHHHIIIIIIIIIIIIJJJJJJJJJJKKKKKKKKLLLLLLLMMMMMMMNNNNNNNNOOOOOOOPPPPPQQQQQQQQRRRRRRSSSSSTTTTTTUUUUUUVVVVVVVWWWXXXXXXXYYYYYZZZZZZ[[[[\\\\\\]]]]]^^^^^____`````aaaaaabbcccccccdddddeeeeeffggggghhhhhiiiiijjjjkkkkklllllmmmmmnnooooopppppqqqrrrrrssssstttttsssssrrrrrqqpppppooooonnnmmmmmlllllkkkkkjjiiiiihhhhhgggggffffeeeeedddddccccccbbbaaaaaa`````____^^^^^]]]]]]\\\\\[[[[ZZZZZZYYYYYXXXXXXWWWWWVVVVVVVUUUUUUTTTTTTSSSSRRRRRRRQQQQQQQQPPPPOOOOOOONNNNNNNNNMMMMMMMLLLLLLLKKKKKKKKKKJJJJJJJJJJIIIIIIIIIIIHHHHHHHGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGHHHHHHHHIIIIIIIIIIIJJJJJJJJJJKKKKKKKKKKLLLLLLMMMMMMMMNNNNNNNNOOOOOOOOPPPPQQQQQQQRRRRRRRRSSSTTTTTTTUUUUUUVVVVVVWWWWWXXXXXXYYYYYZZZZZZZ[[[\\\\\]]]]]]]^^^^^___`````aaaaaaabbccccccdddddeeeeeffffggggghhhhhiiiiijjjkkkkklllllmmmmmnnooooopppppqqqrrrrrssssstttttttsssssrrrrqqqqpppppooonnnnmmmmmlllllkkkkkjjjiiiiihhhhhgggggfffeeeeedddddcccccccbbaaaaaa`````____^^^^^]]]]]]\\\\\[[[[ZZZZZZYYYYYYYXXXXXXWWWWVVVVVVUUUUUUTTTTTTSSSSSRRRRRRRQQQQQQQPPPPPOOOOOOOONNNNNNNNMMMMMMMMMLLLLLKKKKKKKKKKJJJJJJJJJJIIIIIIIIIIIIIHHHHHHHHGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGHHHHHHHHHIIIIIIIIIIIIJJJJJJJJJJKKKKKKKKKKLLLLLMMMMMMMMMNNNNNNNNNOOOOOOOPPPPPQQQQQQQQRRRRRRSSSSSTTTTTTUUUUUUUVVVVVVWWWWXXXXXXYYYYYYZZZZZZ[[[[\\\\\]]]]]]^^^^^____`````aaaaaabbbccccccdddddeeeeeffffggggghhhhhiiiiijjkkkkklllllmmmmmnnnnoooopppppqqqqrrrsssssttttttttttssssrrrrrqqqqppppooooonnnmmmmmlllllkkkkkjjjiiiiihhhhhgggggffffeeeeedddddcccccbbbaaaaaaa`````___^^^^^]]]]]]]\\\\\[[[ZZZZZZZYYYYYYXXXXXXWWWWVVVVVVUUUUUUTTTTTTTTSSSSRRRRRRRQQQQQQQQPPPPPOOOOOOONNNNNNNNNMMMMMMMMMLLLLLLKKKKKKKKKJJJJJJJJJJJIIIIIIIIIIIIHHHHHHHHHHGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGHHHHHHHHHHIIIIIIIIIIIIIJJJJJJJJJJJKKKKKKKKKLLLLLLMMMMMMMMMNNNNNNNNOOOOOOOOPPPPPQQQQQQQRRRRRRRRSSSSTTTTTTTUUUUUUVVVVVVVWWWXXXXXXXYYYYYYZZZZZZ[[[[\\\\\]]]]]]^^^^^____`````aaaaaabbbbcccccdddddeeeeeffffggggghhhhhiiiiijjkkkkklllllmmmmmnnnnoooooppppqqqrrrrrsssstttttuuutttsssssrrrrrqqqpppppooooonnnnmmmmmlllkkkkkjjjjiiiiihhhhhgggggffffeeeeedddddcccccbbbbaaaaaa`````____^^^^^]]]]]]\\\\\\[[[[ZZZZZYYYYYYXXXXXXWWWWWVVVVVVVUUUUUUTTTTTTSSSSSRRRRRRRRQQQQQQQPPPPPOOOOOOOONNNNNNNNMMMMMMMMMLLLLLLKKKKKKKKKKJJJJJJJJJJJJIIIIIIIIIIIIHHHHHHHHHHHGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHIIIIIIIIIIIIIJJJJJJJJJJJKKKKKKKKKKLLLLLLMMMMMMMMMNNNNNNNNNOOOOOOOPPPPPQQQQQQQQRRRRRRRSSSSSTTTTTTTUUUUUUVVVVVVWWWWWXXXXXXYYYYYYYZZZZZ[[[\\\\\\\]]]]]]^^^^^____`````aaaaaabbbbcccccdddddeeeeefffggggghhhhhiiiiijjjjkkkkkllllmmmmmnnnnooooopppppqqrrrrrsssssttttuuuutttttsssssrrrrrqqpppppooooonnnmmmmmlllllkkkkkjjjiiiiihhhhhgggggffffeeeeedddddccccccbbbaaaaaa`````____^^^^^^]]]]]\\\\\\[[[[ZZZZZZYYYYYYYXXXXXXWWWWVVVVVVUUUUUUTTTTTTTTSSSSSRRRRRRQQQQQQQPPPPPPPOOOOOOONNNNNNNNNMMMMMMMMMLLLLLLKKKKKKKKKKKJJJJJJJJJJJIIIIIIIIIIIIIIHHHHHHHHHHHGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHIIIIIIIIIIIIIIJJJJJJJJJJJKKKKKKKKKKKKLLLLLLMMMMMMMMMNNNNNNNNOOOOOOOOPPPPPPQQQQQQQQRRRRRRSSSSSTTTTTTTUUUUUUUVVVVVVWWWWXXXXXXYYYYYYZZZZZZ[[[[\\\\\\]]]]]^^^^^^^___`````aaaaaaabbccccccdddddeeeeeffffggggghhhhhiiiiijjjjkkkkklllllmmmmmnnooooopppppqqqrrrrrssssstttttuuuuutttttsssssrrrrqqqpppppooooonnnmmmmmlllllkkkkkjjjjiiiiihhhhhgggggfffeeeeedddddcccccccbbaaaaaa`````____^^^^^^]]]]]\\\\\\\[[[ZZZZZZZYYYYYYXXXXXXWWWWVVVVVVUUUUUUUUTTTTTTSSSSSRRRRRRRQQQQQQQQPPPPPOOOOOOOOONNNNNNNNMMMMMMMMMMLLLLLLLKKKKKKKKKKKJJJJJJJJJJJJIIIIIIIIIIIIIIHHHHHHHHHHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHIIIIIIIIIIIIIIJJJJJJJJJJJJJKKKKKKKKKKKLLLLLLMMMMMMMMMMNNNNNNNNNOOOOOOOOOPPPPPQQQQQQQRRRRRRRRSSSSSTTTTTTUUUUUUUVVVVVVVWWWXXXXXXXYYYYYYZZZZZZ[[[[\\\\\\]]]]]^^^^^^____`````aaaaaabbbccccccdddddeeeeeffffggggghhhhhiiiiijjjjkkkkklllllmmmmmnnooooopppppqqqqrrrrssssstttttuuvuuuutttttssssrrrrrqqqqpppppooooonnmmmmmlllllkkkkkjjjjiiiiihhhhhgggggffffeeeeedddddccccccbbaaaaaaa`````___^^^^^^^]]]]]\\\\\\[[[[ZZZZZZYYYYYYXXXXXXWWWWWVVVVVVVUUUUUUTTTTTTTSSSSSRRRRRRRRQQQQQQQPPPPPOOOOOOOOONNNNNNNNNMMMMMMMMMMLLLLLLKKKKKKKKKKKKKJJJJJJJJJJJJIIIIIIIIIIIIIIIIHHHHHHHHHHHHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIJJJJJJJJJJJJJKKKKKKKKKKKKLLLLLLLMMMMMMMMMMNNNNNNNNOOOOOOOOOPPPPPQQQQQQQQRRRRRRRSSSSSTTTTTTTTUUUUUUVVVVVVWWWWWXXXXXXYYYYYYYZZZZZZ[[[[\\\\\\]]]]]^^^^^^____`````aaaaaabbbccccccdddddeeeeeffffggggghhhhhiiiiijjjkkkkklllllmmmmmnnnooooopppppqqqqrrrrrssstttttuuuuvvvuuuttttsssssrrrrrqqqqppppooooonnnmmmmmlllllkkkkkjjjjiiiiihhhhhgggggffffeeeeedddddccccccbbbbaaaaa`````____^^^^^^]]]]]]\\\\\[[[[[ZZZZZZYYYYYYYXXXXXXWWWWVVVVVVUUUUUUUTTTTTTTTSSSSSRRRRRRRQQQQQQQQPPPPPOOOOOOOOONNNNNNNNNNMMMMMMMMLLLLLLLLKKKKKKKKKKKKJJJJJJJJJJJJJJIIIIIIIIIIIIIIIIIIHHHHHHHHHHHHHHHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJKKKKKKKKKKKKKLLLLLLLMMMMMMMMMNNNNNNNNNNOOOOOOOOOPPPPPQQQQQQQRRRRRRRRSSSSSTTTTTTTUUUUUUUUVVVVVVWWWWXXXXXXYYYYYYZZZZZZ[[[[[\\\\\]]]]]]]^^^^^^____`````aaaaabbbcccccccdddddeeeeefffggggghhhhhiiiiijjjjkkkkklllllmmmmmnnnnoooooppppqqqrrrrrsssssttttuuuuvvvvvuutttttsssssrrrrrqqqpppppooooonnnnmmmmmlllllkkkkkjjjiiiiihhhhhgggggffffeeeeedddddccccccbbbbaaaaa``````____^^^^^]]]]]]\\\\\\\[[[ZZZZZZZYYYYYYXXXXXXWWWWWVVVVVVUUUUUUUUTTTTTTSSSSSRRRRRRRRQQQQQQQQPPPPPOOOOOOOOONNNNNNNNNNMMMMMMMMMMLLLLLLLLKKKKKKKKKKKKJJJJJJJJJJJJJJJIIIIIIIIIIIIIIIIIIIIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJKKKKKKKKKKKKKLLLLLLLMMMMMMMMMMNNNNNNNNNNOOOOOOOOOPPPPPQQQQQQQQQRRRRRRRSSSSSTTTTTTTUUUUUUUVVVVVVWWWWWXXXXXXXYYYYYYZZZZZZ[[[[\\\\\\]]]]]]^^^^^____``````aaaaabbbbccccccdddddeeeeeffffggggghhhhhiiiiijjjjkkkkklllllmmmmmnnnnooooopppppqqrrrrrssssstttttuuuvvvvvvvuuutttttsssssrrrrrqqpppppooooonnnnmmmmmlllllkkkkkjjiiiiiiihhhhhgggggfffeeeeedddddcccccccbbbaaaaa```````___^^^^^]]]]]]]\\\\\\[[[[ZZZZZZYYYYYYXXXXXXWWWWWVVVVVVVVUUUUUUTTTTTTTTSSSSSRRRRRRRQQQQQQQQQPPPPPOOOOOOOOOONNNNNNNNNMMMMMMMMMMMLLLLLLLKKKKKKKKKKKKKKJJJJJJJJJJJJJJJJIIIIIIIIIIIIIIIIIIIIIIIIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKLLLLLLLLMMMMMMMMMMMNNNNNNNNNOOOOOOOOOOPPPPPQQQQQQQQRRRRRRRRSSSSSTTTTTTTUUUUUUUVVVVVVVWWWWWXXXXXXYYYYYYYZZZZZZ[[[[\\\\\\]]]]]]^^^^^____``````aaaaabbbbccccccdddddeeeeeffffggggghhhhhiiiiiijjjkkkkklllllmmmmmnnnooooopppppqqqrrrrrssssstttttuuvvvvvvvvvuuuutttttsssssrrrrqqqpppppooooonnnnmmmmmlllllkkkkkjjjiiiiiihhhhhgggggffffeeeeedddddccccccbbbbaaaaa``````____^^^^^^]]]]]\\\\\\[[[[[ZZZZZZYYYYYYYXXXXXXWWWWWVVVVVVUUUUUUUUTTTTTTTSSSSSRRRRRRRRQQQQQQQQPPPPPPPOOOOOOOONNNNNNNNNNMMMMMMMMMMMMLLLLLLLKKKKKKKKKKKKKKKJJJJJJJJJJJJJJJJJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKLLLLLLLLMMMMMMMMMMMNNNNNNNNNNOOOOOOOOOPPPPPPQQQQQQQQQRRRRRRRSSSSSTTTTTTTTUUUUUUUVVVVVVVWWWWWXXXXXXYYYYYYZZZZZZ[[[[[\\\\\\\]]]]]^^^^^^____``````aaaaabbbbccccccdddddeeeeeffffggggghhhhhiiiiiijjkkkkklllllmmmmmnnnnooooopppppqqqqrrrrssssstttttuuuvvvvwvvvvvuuuutttttssssrrrrrqqqqpppppooooonnmmmmmllllllkkkkkjjjiiiiiihhhhhgggggffffeeeeedddddccccccbbbbaaaaa``````____^^^^^^]]]]]]\\\\\\\[[[ZZZZZZZYYYYYYXXXXXXWWWWWVVVVVVVVUUUUUUTTTTTTTSSSSSSSRRRRRRRQQQQQQQQQPPPPPPOOOOOOOOONNNNNNNNNNNMMMMMMMMMMMLLLLLLLLLKKKKKKKKKKKKKKKJJJJJJJJJJJJJJJJJJJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKLLLLLLLLLMMMMMMMMMMMNNNNNNNNNNNNOOOOOOOOPPPPPPPQQQQQQQQRRRRRRRRSSSSSSTTTTTTTTUUUUUUVVVVVVVWWWWWXXXXXXXYYYYYYZZZZZZ[[[[\\\\\\]]]]]]^^^^^^^___```````aaaaabbbcccccccdddddeeeeefffggggghhhhhiiiiiiijjkkkkkllllllmmmmmnnnooooopppppqqqqrrrrrssstttttuuuuvvvvvwwwvvvvvuutttttsssssrrrrrqqqqpppppooooonnmmmmmlllllkkkkkkkjjiiiiihhhhhhgggggffffeeeeeddddddcccccbbbbaaaaaa`````____^^^^^^]]]]]]]\\\\\\[[[[ZZZZZZYYYYYYYXXXXXXXWWWWWVVVVVVUUUUUUUTTTTTTTTSSSSSSRRRRRRRRQQQQQQQQPPPPPPPOOOOOOOOOONNNNNNNNNNMMMMMMMMMMMMLLLLLLLLLKKKKKKKKKKKKKKKKJJJJJJJJJJJJJJJJJJJJJJJJJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKLLLLLLLLMMMMMMMMMMMMMNNNNNNNNNNOOOOOOOOOOPPPPPPQQQQQQQQQRRRRRRRSSSSSSSTTTTTTTUUUUUUUUVVVVVVWWWWWXXXXXXYYYYYYYYZZZZZZ[[[[\\\\\\]]]]]]^^^^^^____`````aaaaaabbbbcccccddddddeeeeeffffggggghhhhhhiiiiijjjkkkkkklllllmmmmmnnnooooopppppqqqrrrrrssssstttttuuuvvvvvwwwwwvvvvvuutttttsssssrrrrrqqqqpppppooooonnnmmmmmlllllkkkkkkjjiiiiihhhhhhhgggggfffeeeeedddddddcccccbbbaaaaaaa`````_____^^^^^]]]]]]\\\\\\[[[[[ZZZZZZYYYYYYYXXXXXXWWWWWVVVVVVVUUUUUUUUTTTTTTTSSSSSRRRRRRRRRQQQQQQQQQPPPPPPOOOOOOOOOONNNNNNNNNNNMMMMMMMMMMMMMLLLLLLLLLLKKKKKKKKKKKKKKKKKKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKLLLLLLLLLLMMMMMMMMMMMMNNNNNNNNNNNOOOOOOOOOOPPPPPPPQQQQQQQQRRRRRRRRRSSSSSTTTTTTTTUUUUUUUVVVVVVVVWWWWWXXXXXXYYYYYYZZZZZZ[[[[[\\\\\\\]]]]]]^^^^^_____`````aaaaaabbbbcccccddddddeeeeeffffggggghhhhhhiiiiijjjkkkkkklllllmmmmmnnooooopppppqqqqrrrrrssssstttttuuuvvvvvwwwwwwwvvvvvuuutttttsssssrrrrrqqpppppooooonnnnmmmmmlllllkkkkkjjjjiiiiihhhhhhgggggffffeeeeeddddddcccccbbbbaaaaaa``````____^^^^^^]]]]]]\\\\\\\[[[ZZZZZZZYYYYYYYXXXXXXWWWWWVVVVVVVVUUUUUUUTTTTTTTTSSSSSRRRRRRRRRQQQQQQQQQQPPPPPPOOOOOOOOOONNNNNNNNNNNMMMMMMMMMMMMMMLLLLLLLLLLKKKKKKKKKKKKKKKKKKKKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLMMMMMMMMMMMMMNNNNNNNNNNNNOOOOOOOOOOPPPPPPQQQQQQQQQQRRRRRRRRRSSSSSTTTTTTTUUUUUUUUVVVVVVVWWWWWXXXXXXYYYYYYYYZZZZZZ[[[[\\\\\\]]]]]]^^^^^^^___```````aaaaaabbbbcccccddddddeeeeeffffggggghhhhhhiiiiijjjjkkkkklllllmmmmmnnnooooopppppqqqrrrrrssssstttttuuvvvvvwwwwwwwwwvvvvvuuuutttttsssssrrrrrqqpppppooooonnnnmmmmmlllllkkkkkjjjjiiiiihhhhhhgggggffffeeeeeddddddcccccbbbbaaaaaa``````____^^^^^^]]]]]]]\\\\\\[[[[ZZZZZZZYYYYYYXXXXXXXXWWWWVVVVVVVUUUUUUUUUTTTTTTTSSSSSRRRRRRRRRQQQQQQQQQQPPPPPPOOOOOOOOOOOONNNNNNNNNNNNMMMMMMMMMMMMMMLLLLLLLLLLLKKKKKKKKKKKKKKKKKKKKKKKKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLMMMMMMMMMMMMMNNNNNNNNNNNNNOOOOOOOOOOOPPPPPPQQQQQQQQQQRRRRRRRRRSSSSSTTTTTTTTUUUUUUUUVVVVVVVVWWWWXXXXXXXYYYYYYZZZZZZZZ[[[[\\\\\\]]]]]]^^^^^^____``````aaaaaaabbbcccccdddddddeeeeefffggggghhhhhhhiiiiijjjkkkkklllllmmmmmnnnnooooopppppqqqrrrrrssssstttttuuuvvvvvwwwwxwwwwwvvvvvuuuutttttsssssrrrrrqqqpppppooooonnnmmmmmlllllkkkkkjjjjiiiiihhhhhhgggggffffeeeeeddddddcccccccbbbaaaaa```````___^^^^^^^]]]]]]\\\\\\[[[[[ZZZZZZYYYYYYYYXXXXXXWWWWWVVVVVVVVUUUUUUUTTTTTTTTTSSSSSRRRRRRRRRRQQQQQQQQQPPPPPPPOOOOOOOOOOONNNNNNNNNNNNNMMMMMMMMMMMMMMMLLLLLLLLLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLMMMMMMMMMMMMMMMNNNNNNNNNNNNOOOOOOOOOOOPPPPPPPPQQQQQQQQQRRRRRRRRRRSSSSSTTTTTTTTUUUUUUUUVVVVVVVWWWWWXXXXXXXYYYYYYYZZZZZZ[[[[[\\\\\\\]]]]]]^^^^^^____``````aaaaabbbbccccccddddddeeeeeffffggggghhhhhhiiiiijjjjkkkkklllllmmmmmnnnnooooopppppqqrrrrrssssstttttuuuuvvvvvwwwwwxxxwwwwwvvvvvuuuttttsssssrrrrrqqqqpppppooooonnnnmmmmmlllllkkkkkjjjiiiiihhhhhhhgggggfffeeeeeeedddddccccccbbbbaaaaaa`````_____^^^^^^]]]]]]\\\\\\\[[[ZZZZZZZZYYYYYYXXXXXXXXWWWWWVVVVVVVUUUUUUUUTTTTTTTTSSSSSSSRRRRRRRRQQQQQQQQQQPPPPPPPPOOOOOOOOOOONNNNNNNNNNNNNNMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNOOOOOOOOOOOOPPPPPPPQQQQQQQQQQRRRRRRRRRSSSSSSTTTTTTTTTUUUUUUUVVVVVVVVWWWWWXXXXXXXYYYYYYYZZZZZZZ[[[[\\\\\\]]]]]]^^^^^^^_____`````aaaaaabbbbccccccdddddeeeeeeffffggggghhhhhhiiiiijjjjkkkkklllllmmmmmnnnnooooopppppqqqrrrrrsssssttttuuuuvvvvvwwwwwxxxxxwwwwwvvvvvuutttttsssssrrrrrqqqqpppppooooonnnnmmmmmlllllkkkkkjjjjiiiiiihhhhhgggggffffeeeeeedddddccccccbbbbaaaaaa``````____^^^^^^]]]]]]]\\\\\\[[[[[ZZZZZZYYYYYYYYXXXXXXXWWWWWVVVVVVVVUUUUUUUTTTTTTTTTSSSSSSRRRRRRRRRQQQQQQQQQQPPPPPPPOOOOOOOOOOOOONNNNNNNNNNNNNNNMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNOOOOOOOOOOOOPPPPPPPPQQQQQQQQQQRRRRRRRRSSSSSSSTTTTTTTTUUUUUUUUVVVVVVVWWWWWXXXXXXXXYYYYYYYZZZZZZZ[[[[[\\\\\\]]]]]]^^^^^^____``````aaaaaaabbbcccccccdddddeeeeeeffffggggghhhhhiiiiiijjjjkkkkklllllmmmmmnnnooooopppppqqqqrrrrrssssstttttuuuvvvvvwwwwwxxxxxxxwwwwwvvvvvuuutttttsssssrrrrrqqqpppppooooonnnnmmmmmlllllkkkkkjjjjiiiiiihhhhhgggggffffeeeeeedddddccccccbbbbaaaaaa```````___^^^^^^^]]]]]]\\\\\\\[[[[ZZZZZZZZYYYYYYXXXXXXXWWWWWVVVVVVVVVUUUUUUUUTTTTTTTTSSSSSSSRRRRRRRRRRQQQQQQQQQQPPPPPPPOOOOOOOOOOOOOONNNNNNNNNNNNNNNMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNOOOOOOOOOOOOOPPPPPPPPQQQQQQQQQQRRRRRRRRRRSSSSSSTTTTTTTTTUUUUUUUVVVVVVVVVWWWWWXXXXXXXXYYYYYYZZZZZZZ[[[[\\\\\\\\]]]]]]^^^^^^____``````aaaaaabbbbccccccdddddeeeeeeefffggggghhhhhiiiiiiijjjkkkkklllllmmmmmnnnnooooopppppqqqqrrrrrssssstttttuuvvvvvwwwwwxxxxxxxxxxwwwwwvvvvuuuutttttsssssrrrrrqqqqpppppooooonnnmmmmmlllllkkkkkjjjjiiiiiihhhhhgggggffffeeeeeedddddddcccccbbbaaaaaaa``````_____^^^^^^]]]]]]\\\\\\\[[[[[ZZZZZZYYYYYYYXXXXXXXXWWWWWVVVVVVVVVUUUUUUUTTTTTTTTTSSSSSSRRRRRRRRRRQQQQQQQQQQQPPPPPPPPOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNMMMMMMMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOPPPPPPPQQQQQQQQQQQRRRRRRRRRRSSSSSSSTTTTTTTTUUUUUUUUVVVVVVVVVWWWWWXXXXXXXYYYYYYYYZZZZZZ[[[[[\\\\\\]]]]]]^^^^^^^_____``````aaaaaabbbbcccccddddddeeeeeeffffggggghhhhhiiiiiijjjjkkkkklllllmmmmmnnnnooooopppppqqqqrrrrrssssstttttuuuvvvvwwwwwxxxxxyyyxxxwwwwwvvvvvuuuutttttsssssrrrrrqqqqpppppooooonnnnmmmmmlllllkkkkkjjjiiiiiiihhhhhggggggffffeeeeeddddddccccccbbbbaaaaaa``````____^^^^^^]]]]]]]\\\\\\\[[[[ZZZZZZZYYYYYYYYXXXXXXXWWWWWVVVVVVVVVUUUUUUUUTTTTTTTTTTSSSSSSRRRRRRRRRRQQQQQQQQQQQPPPPPPPPPOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOPPPPPPPPQQQQQQQQQQQQRRRRRRRRRRSSSSSSTTTTTTTTTTUUUUUUUVVVVVVVVVWWWWWXXXXXXXXYYYYYYYZZZZZZZZ[[[\\\\\\\\]]]]]]^^^^^^____``````aaaaaaabbbcccccccddddddeeeeeffffgggggghhhhhiiiiiijjjjkkkkklllllmmmmmnnnnooooopppppqqqrrrrrssssstttttuuuuvvvvvwwwwwxxxxyyyyxxxxxwwwwwvvvvvuuutttttsssssrrrrrqqqqpppppooooonnnnmmmmmlllllkkkkkjjjjiiiiiihhhhhggggggffffeeeeeddddddccccccbbbbaaaaaa```````___^^^^^^^]]]]]]]\\\\\\[[[[[ZZZZZZZZYYYYYYYXXXXXXXXWWWWWVVVVVVVVVUUUUUUUTTTTTTTTTTSSSSSSRRRRRRRRRRRRQQQQQQQQQQQPPPPPPPPPOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOPPPPPPPPPQQQQQQQQQQQRRRRRRRRRRRSSSSSSTTTTTTTTTTUUUUUUUUVVVVVVVVVWWWWWXXXXXXXYYYYYYYYZZZZZZZ[[[[[\\\\\\]]]]]]]]^^^^^^____``````aaaaaabbbbccccccdddddddeeeeefffggggggghhhhhiiiiiijjjjkkkkklllllmmmmmnnnooooopppppqqqqrrrrrssssstttttuuuuvvvvvwwwwwxxxxxyyyyyxxxxxwwwwwvvvvvuuuutttttsssssrrrrrqqqpppppooooonnnnmmmmmlllllkkkkkkjjjiiiiiihhhhhggggggffffeeeeeedddddcccccccbbbaaaaaaa``````_____^^^^^^]]]]]]\\\\\\\\[[[[ZZZZZZZYYYYYYYYXXXXXXXXWWWWWVVVVVVVVVUUUUUUUUUTTTTTTTTTSSSSSSSRRRRRRRRRRRQQQQQQQQQQQQPPPPPPPPPPOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOPPPPPPPPPPQQQQQQQQQQQRRRRRRRRRRRSSSSSSSSTTTTTTTTTUUUUUUUUVVVVVVVVVWWWWWXXXXXXXXXYYYYYYYZZZZZZZZ[[[[\\\\\\\]]]]]]^^^^^^^_____``````aaaaaabbbbccccccdddddeeeeeeffffgggggghhhhhiiiiiiijjkkkkkklllllmmmmmnnnnooooopppppqqqqrrrrrssssstttttuuuuvvvvvwwwwwxxxxxyyzyyyyxxxxxwwwwwvvvvvuuuutttttsssssrrrrrqqqqpppppooooonnnmmmmmlllllkkkkkkkjjiiiiiihhhhhgggggggfffeeeeeeedddddccccccbbbbbaaaaaa``````____^^^^^^]]]]]]]]\\\\\\[[[[[ZZZZZZZZYYYYYYYXXXXXXXXWWWWWWVVVVVVVVVUUUUUUUUTTTTTTTTTTSSSSSSSRRRRRRRRRRRQQQQQQQQQQQQQQPPPPPPPPPPOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOPPPPPPPPPPQQQQQQQQQQQQQQRRRRRRRRRRRSSSSSSTTTTTTTTTTUUUUUUUUUVVVVVVVVVWWWWWWXXXXXXXYYYYYYYYZZZZZZZ[[[[[\\\\\\\]]]]]]]^^^^^^____``````aaaaaaabbbbbccccccdddddeeeeeeffffgggggghhhhhiiiiiijjjkkkkkklllllmmmmmnnnnooooopppppqqqqrrrrrssssstttttuuuvvvvvwwwwwxxxxxyyyyzzzyyyxxxxxwwwwwvvvvvuuuttttttsssssrrrrrqqqppppppooooonnnnmmmmmlllllkkkkkkjjjjiiiiihhhhhhgggggffffeeeeeeddddddccccccbbbbaaaaaa```````___^^^^^^^^]]]]]]\\\\\\\\[[[[[ZZZZZZZYYYYYYYYXXXXXXXWWWWWWVVVVVVVVVUUUUUUUUUTTTTTTTTTTSSSSSSSRRRRRRRRRRRRRQQQQQQQQQQQQQQPPPPPPPPPPOOOOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPQQQQQQQQQQQQQQRRRRRRRRRRRRSSSSSSSSTTTTTTTTTTUUUUUUUUVVVVVVVVVWWWWWWXXXXXXXXYYYYYYYZZZZZZZZ[[[[[\\\\\\\]]]]]]]^^^^^^^____``````aaaaaabbbbccccccdddddddeeeeeeffffggggghhhhhhiiiiijjjjkkkkkklllllmmmmmnnnnoooooppppppqqrrrrrssssstttttttuuvvvvvwwwwwxxxxxyyyyzzzzzyyyyxxxxxwwwwwvvvvvuutttttssssssrrrrrqqqppppppooooonnnnmmmmmlllllkkkkkkjjjjiiiiihhhhhhgggggffffeeeeeeddddddcccccccbbbaaaaaaa``````_____^^^^^^]]]]]]]]\\\\\\\[[[[ZZZZZZZYYYYYYYYYXXXXXXXXWWWWWWVVVVVVVVVUUUUUUUUUUTTTTTTTTTTSSSSSSSRRRRRRRRRRRRRQQQQQQQQQQQQQQQPPPPPPPPPPPOOOOOOOOOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPQQQQQQQQQQQQQQQRRRRRRRRRRRRSSSSSSSSTTTTTTTTTTUUUUUUUUUUVVVVVVVVVWWWWWWXXXXXXXYYYYYYYYYZZZZZZZZ[[[\\\\\\\\]]]]]]]^^^^^^^_____``````aaaaaabbbbccccccddddddeeeeeeefffggggghhhhhhhiiiiijjjkkkkkkklllllmmmmmnnnooooopppppppqqrrrrrsssssstttttuuuvvvvvwwwwwxxxxxyyyyzzzzzzzyyyyxxxxxwwwwwvvvvvuutttttsssssrrrrrrrqqppppppooooonnnnmmmmmlllllkkkkkkjjjjiiiiihhhhhhgggggfffffeeeeedddddddccccccbbbbbaaaaaa``````____^^^^^^^^]]]]]]\\\\\\\[[[[[ZZZZZZZZYYYYYYYYYXXXXXXXWWWWWWVVVVVVVVVUUUUUUUUUUTTTTTTTTTTTSSSSSSSSRRRRRRRRRRRRQQQQQQQQQQQQQQQQQPPPPPPPPPPPPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQRRRRRRRRRRRRRSSSSSSSTTTTTTTTTTTUUUUUUUUUUVVVVVVVVVWWWWWWXXXXXXXXYYYYYYYYYZZZZZZZ[[[[[\\\\\\\\]]]]]]^^^^^^^____``````aaaaaaabbbbbccccccddddddeeeeefffffggggghhhhhhiiiiijjjjkkkkkklllllmmmmmnnnnoooooppppppqqqrrrrrrssssstttttuuuvvvvvwwwwwxxxxxyyyzzzzzzzzzzyyyxxxxxwwwwwvvvvvuuuutttttsssssrrrrrrqqpppppppooooonnnmmmmmlllllkkkkkkkjjjiiiiihhhhhhhggggggffffeeeeeeddddddccccccbbbbaaaaaa```````_____^^^^^^]]]]]]]\\\\\\\\[[[[[ZZZZZZZYYYYYYYYYXXXXXXXXWWWWWWVVVVVVVVVVUUUUUUUUUUTTTTTTTTTTTSSSSSSSSRRRRRRRRRRRRRQQQQQQQQQQQQQQQQQQPPPPPPPPPPPPPPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRSSSSSSSTTTTTTTTTTTTUUUUUUUUUUVVVVVVVVVVWWWWWWXXXXXXXYYYYYYYYYZZZZZZZZ[[[[[\\\\\\\]]]]]]]]^^^^^^_____``````aaaaaabbbbccccccdddddddeeeeeeffffgggggghhhhhhiiiiijjjjkkkkkklllllmmmmmnnnnoooooppppppqqqrrrrrrssssstttttuuuuvvvvvwwwwwxxxxxyyzzzzz{{{zzzzzyyxxxxxwwwwwvvvvvuuuutttttsssssrrrrrrqqqppppppooooonnnnmmmmmllllllkkkkkjjjjiiiiiihhhhhggggggffffeeeeeeddddddcccccccbbbaaaaaaa```````____^^^^^^^]]]]]]]]\\\\\\\[[[[[ZZZZZZZZYYYYYYYYYXXXXXXXXWWWWWVVVVVVVVVVUUUUUUUUUUTTTTTTTTTTTTTSSSSSSSSSRRRRRRRRRRRRRQQQQQQQQQQQQQQQQQQQPPPPPPPPPPPPPPPPPPPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRSSSSSSSSSTTTTTTTTTTTTUUUUUUUUUUVVVVVVVVVVWWWWWXXXXXXXXXYYYYYYYYYZZZZZZZ[[[[[\\\\\\\\]]]]]]]^^^^^^^^___````````aaaaaabbbbccccccddddddeeeeeeefffggggggghhhhhiiiiiijjjjkkkkkllllllmmmmmnnnnoooooppppppqqrrrrrrrssssstttttuuuvvvvvwwwwwxxxxxyyyzzzzz{{{{{zzzzzyyxxxxxwwwwwvvvvvuuuutttttsssssrrrrrrqqqppppppooooonnnnmmmmmllllllkkkkkjjjjiiiiiihhhhhggggggffffeeeeeedddddddccccccbbbbbaaaaaa``````_____^^^^^^^^]]]]]]\\\\\\\\[[[[[[ZZZZZZZYYYYYYYYYXXXXXXXXXWWWWWWVVVVVVVVVVUUUUUUUUUUTTTTTTTTTTTTTSSSSSSSSRRRRRRRRRRRRRRRRRQQQQQQQQQQQQQQQQQQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRSSSSSSSSSTTTTTTTTTTTTUUUUUUUUUUVVVVVVVVVVWWWWWWWXXXXXXXXYYYYYYYYYZZZZZZZZ[[[[[[\\\\\\\]]]]]]]^^^^^^^_____``````aaaaaaabbbbbccccccddddddeeeeeeffffgggggghhhhhiiiiiiijjjkkkkklllllllmmmmmnnnooooopppppppqqrrrrrrssssstttttuuuuvvvvvwwwwwxxxxxyyyzzzzz{{{{{{zzzzzyyyyxxxxxwwwwwvvvvvuuutttttsssssrrrrrrrqqppppppooooonnnnmmmmmllllllkkkkkjjjjiiiiiihhhhhhhgggggfffffeeeeeeddddddccccccbbbbaaaaaa````````_____^^^^^^]]]]]]]]\\\\\\\[[[[[ZZZZZZZZZYYYYYYYYYXXXXXXXXWWWWWWWVVVVVVVVVVUUUUUUUUUUUTTTTTTTTTTTTSSSSSSSSSSRRRRRRRRRRRRRRRRRRQQQQQQQQQQQQQQQQQQQQQQQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRSSSSSSSSSSTTTTTTTTTTTTTUUUUUUUUUUUVVVVVVVVVVWWWWWWXXXXXXXXXYYYYYYYYYZZZZZZZZ[[[[[\\\\\\\\]]]]]]]^^^^^^^_____```````aaaaaabbbbccccccdddddddeeeeeefffffggggghhhhhhiiiiiijjjjkkkkkllllllmmmmmnnnnoooooppppppqqqrrrrrrssssstttttuuuuvvvvvwwwwwxxxxxyyyyzzzzz{{{{{{{zzzzzyyyyxxxxxwwwwwvvvvvuuuutttttsssssrrrrrrqqpppppppooooonnnmmmmmlllllllkkkkkjjjiiiiiiihhhhhhggggggffffeeeeeeddddddcccccccbbbbbaaaaaa``````_____^^^^^^^^]]]]]]]\\\\\\\\[[[[[ZZZZZZZZYYYYYYYYYXXXXXXXXXWWWWWWWVVVVVVVVVVUUUUUUUUUUUUTTTTTTTTTTTTTSSSSSSSSSSRRRRRRRRRRRRRRRRRRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRSSSSSSSSSSTTTTTTTTTTTTTTUUUUUUUUUUUVVVVVVVVVVWWWWWWWWXXXXXXXXYYYYYYYYYZZZZZZZZZ[[[[[\\\\\\\]]]]]]]]^^^^^^^_____```````aaaaaabbbbbccccccddddddeeeeeeefffggggggghhhhhhiiiiiijjjjkkkkkllllllmmmmmnnnnoooooppppppqqqrrrrrrssssstttttuuuuvvvvvwwwwwxxxxxyyyzzzzz{{{{{{{{{{zzzzzyyyyxxxxxwwwwwvvvvvuuuutttttsssssrrrrrrqqqppppppooooonnnnmmmmmllllllkkkkkkjjjjiiiiihhhhhhggggggffffeeeeeedddddddccccccbbbbbaaaaaa````````_____^^^^^^^]]]]]]]]\\\\\\\[[[[[ZZZZZZZZZYYYYYYYYYXXXXXXXXXXWWWWWWVVVVVVVVVVVUUUUUUUUUUUTTTTTTTTTTTTTTTSSSSSSSSSSRRRRRRRRRRRRRRRRRRRRRRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSTTTTTTTTTTTTTTTUUUUUUUUUUUVVVVVVVVVVVVWWWWWWXXXXXXXXXXYYYYYYYYYZZZZZZZZ[[[[[\\\\\\\\]]]]]]]^^^^^^^^_____```````aaaaaaabbbbbccccccddddddeeeeeeffffgggggghhhhhhhiiiiijjjkkkkkkkllllllmmmmmnnnnoooooppppppqqrrrrrrrssssstttttuuuvvvvvwwwwwxxxxxyyyyzzzzz{{{{{|||{{{{{zzzzzyyyxxxxxwwwwwvvvvvuuuutttttsssssrrrrrrqqqppppppooooonnnnmmmmmmlllllkkkkkkjjjjiiiiiihhhhhgggggggfffffeeeeeeddddddccccccbbbbaaaaaaaa```````____^^^^^^^]]]]]]]]\\\\\\\\\[[[[[ZZZZZZZZYYYYYYYYYXXXXXXXXXXWWWWWWWWVVVVVVVVVVVUUUUUUUUUUUUTTTTTTTTTTTTTTTSSSSSSSSSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSTTTTTTTTTTTTTTTUUUUUUUUUUUUUVVVVVVVVVVVWWWWWWWXXXXXXXXXXYYYYYYYYYZZZZZZZZZ[[[[[\\\\\\\\\]]]]]]]^^^^^^^^___````````aaaaaaabbbbccccccdddddddeeeeeefffffgggggghhhhhiiiiiijjjjkkkkkklllllmmmmmmmnnnooooopppppppqqrrrrrrssssstttttuuuuvvvvvwwwwwxxxxxyyyyzzzzz{{{{{|||||{{{{{zzzzzyyyyxxxxxwwwwwvvvvvuuutttttsssssrrrrrrrqqppppppooooonnnnmmmmmmlllllkkkkkkkjjjiiiiiiihhhhhhggggggffffeeeeeeddddddcccccccbbbbbaaaaaa```````_____^^^^^^^^]]]]]]]\\\\\\\\\[[[[[ZZZZZZZZZYYYYYYYYYYXXXXXXXXXXWWWWWWVVVVVVVVVVVVVUUUUUUUUUUUUTTTTTTTTTTTTTTTTSSSSSSSSSSSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTUUUUUUUUUUUUUVVVVVVVVVVVVWWWWWWWXXXXXXXXXXYYYYYYYYYYZZZZZZZZ[[[[[\\\\\\\\\]]]]]]]]^^^^^^^_____````````aaaaaabbbbbccccccddddddeeeeeeefffggggggghhhhhhiiiiiijjjjkkkkkklllllmmmmmmnnnnoooooppppppqqqrrrrrrssssstttttuuuuvvvvvwwwwwxxxxxyyyyzzzzz{{{{{|||||||{{{{{zzzzzyyyyxxxxxwwwwwvvvvvuuuutttttsssssrrrrrrqqqqpppppooooonnnmmmmmmmlllllkkkkkkjjjjiiiiiihhhhhhggggggffffeeeeeeddddddddccccccbbbbaaaaaaa````````_____^^^^^^^]]]]]]]]\\\\\\\\\[[[[[ZZZZZZZZYYYYYYYYYYXXXXXXXXXXWWWWWWWWVVVVVVVVVVVVUUUUUUUUUUUUUUTTTTTTTTTTTTTTTTTTSSSSSSSSSSSSSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUVVVVVVVVVVVVVWWWWWWWXXXXXXXXXXYYYYYYYYYYZZZZZZZZZ[[[[[\\\\\\\\\]]]]]]]^^^^^^^^_____```````aaaaaaaabbbcccccccdddddddeeeeeeffffgggggghhhhhhhiiiiiijjjjkkkkkklllllmmmmmmnnnnooooopppppqqqqrrrrrrssssstttttuuuuvvvvvwwwwwxxxxxyyyzzzzz{{{{{||||||||||{{{{{zzzzzyyyyxxxxxwwwwwvvvvvuuuutttttsssssrrrrrrqqqqpppppooooonnnnmmmmmmllllllkkkkkjjjjiiiiiihhhhhhgggggggfffffeeeeeeddddddccccccbbbbbaaaaaaaa```````____^^^^^^^^^]]]]]]]\\\\\\\\\[[[[[ZZZZZZZZZZYYYYYYYYYYXXXXXXXXXXWWWWWWWWVVVVVVVVVVVVUUUUUUUUUUUUUUUTTTTTTTTTTTTTTTTTTTTSSSSSSSSSSSSSSSSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUVVVVVVVVVVVVVWWWWWWWXXXXXXXXXXYYYYYYYYYYZZZZZZZZZZ[[[[[\\\\\\\\\]]]]]]]]^^^^^^^^____````````aaaaaaabbbbbccccccdddddddeeeeeefffffgggggghhhhhhiiiiiiijjjkkkkklllllllmmmmmmnnnnooooopppppqqqrrrrrrrssssstttttuuuvvvvvwwwwwxxxxxyyyyzzzzz{{{{{|||||}}}|||||{{{{{zzzzzyyxxxxxxwwwwwvvvvvuuuutttttsssssrrrrrrqqqqpppppoooooonnnnmmmmmllllllkkkkkkkjjjiiiiiiihhhhhhggggggffffeeeeeeddddddccccccccbbbbbaaaaaa````````_____^^^^^^^^]]]]]]]]\\\\\\\\\[[[[[[ZZZZZZZZZYYYYYYYYYYXXXXXXXXXXXWWWWWWWVVVVVVVVVVVVVVUUUUUUUUUUUUUUUUTTTTTTTTTTTTTTTTTTTTTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVWWWWWWWWXXXXXXXXXXXYYYYYYYYYYZZZZZZZZZ[[[[[[\\\\\\\\\]]]]]]]^^^^^^^^^_____```````aaaaaaabbbbbcccccccddddddeeeeeeefffggggggghhhhhhiiiiiijjjjkkkkkkllllllmmmmmnnnnoooooopppppqqqqrrrrrrssssstttttuuuuvvvvvwwwwwxxxxxxyyyzzzzz{{{{{|||||}}}}||||||{{{{{zzzzzyyxxxxxxxwwwwwvvvvvuuutttttsssssrrrrrrrqqqpppppooooooonnnmmmmmlllllllkkkkkkjjjjiiiiiihhhhhhggggggffffeeeeeeeeddddddccccccbbbbbaaaaaaaa```````_____^^^^^^^^]]]]]]]]\\\\\\\\\[[[[[[ZZZZZZZZZZYYYYYYYYYYXXXXXXXXXXXXWWWWWWWWVVVVVVVVVVVVVVUUUUUUUUUUUUUUUUUUTTTTTTTTTTTTTTTTTTTTTTTTTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVWWWWWWWWWXXXXXXXXXXXYYYYYYYYYYZZZZZZZZZZ[[[[[[\\\\\\\\\]]]]]]]]]^^^^^^^_____````````aaaaaaabbbbbcccccccddddddeeeeeeeffffgggggghhhhhhhiiiiiijjjjkkkkkkllllllmmmmmnnnnoooooopppppqqqqrrrrrrssssstttttuuuuvvvvvwwwwwxxxxxxyyyzzzzz{{{{{||||||}}}}}|||||{{{{{zzzzzzyyyxxxxxxwwwwwvvvvvuuuutttttsssssrrrrrrqqqqpppppoooooonnnnmmmmmmlllllkkkkkkjjjjiiiiiihhhhhhgggggggfffffeeeeeeddddddccccccccbbbbbaaaaaaa````````_____^^^^^^^]]]]]]]]]\\\\\\\\\[[[[[[ZZZZZZZZZZYYYYYYYYYYYXXXXXXXXXXXWWWWWWWWWVVVVVVVVVVVVVVVUUUUUUUUUUUUUUUUUUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVWWWWWWWWWXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZZZ[[[[[[\\\\\\\\\]]]]]]]]^^^^^^^^_____```````aaaaaaaabbbbbcccccccdddddddeeeeeefffffgggggghhhhhhiiiiiiijjjkkkkkkklllllmmmmmmnnnnoooooopppppqqqqrrrrrrssssstttttuuuuvvvvvwwwwwxxxxxxyyzzzzzzz{{{{{|||||}}~~~}}|||||{{{{{zzzzzzyyyxxxxxwwwwwwvvvvvuuuutttttssssssrrrrrqqqqpppppoooooonnnnmmmmmmlllllkkkkkkjjjjjiiiiiiihhhhhhggggggffffeeeeeeedddddddcccccccbbbbaaaaaaa`````````_____^^^^^^^^]]]]]]]]\\\\\\\\\[[[[[[[[ZZZZZZZZZZYYYYYYYYYYXXXXXXXXXXXXWWWWWWWWWWVVVVVVVVVVVVVVVUUUUUUUUUUUUUUUUUUUUUUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVWWWWWWWWWWXXXXXXXXXXXXXYYYYYYYYYYZZZZZZZZZZ[[[[[[[\\\\\\\\\]]]]]]]]]^^^^^^^_____`````````aaaaaaaabbbccccccccddddddeeeeeeeefffggggggghhhhhhiiiiiijjjjjkkkkkklllllmmmmmmmnnnooooooopppppqqqrrrrrssssssstttttuuuvvvvvwwwwwwwxxxxxyyzzzzzz{{{{{|||||}}}~~~~}}}|||||{{{{{zzzzzzzyyxxxxxwwwwwwvvvvvuuuutttttssssssrrrrrqqqqppppppooooonnnnmmmmmmlllllllkkkkkkjjjjiiiiiihhhhhhggggggfffffeeeeeeedddddddccccccbbbbbaaaaaaaa```````_______^^^^^^^]]]]]]]]]\\\\\\\\\\[[[[[[ZZZZZZZZZZYYYYYYYYYYYXXXXXXXXXXXXXXWWWWWWWWWVVVVVVVVVVVVVVVVVVVUUUUUUUUUUUUUUUUUUUUUUUUUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVWWWWWWWWXXXXXXXXXXXXXXYYYYYYYYYYYZZZZZZZZZZ[[[[[[[\\\\\\\\\\]]]]]]]]^^^^^^^^______````````aaaaaaabbbbbccccccddddddddeeeeeefffffgggggghhhhhhhiiiiiijjjjkkkkkkllllllmmmmmmnnnnoooooppppppqqqqrrrrrsssssstttttuuuuvvvvvwwwwwwxxxxxyyyzzzzzz{{{{{|||||}}}}~~~~~}}}}|||||{{{{{zzzzzyyyxxxxxwwwwwwwvvvvvuuutttttsssssssrrrrrqqqpppppppooooonnnmmmmmmmllllllkkkkkkjjjjiiiiiihhhhhhggggggggffffeeeeeeeddddddccccccccbbbbbaaaaaaa````````______^^^^^^^^]]]]]]]]]]\\\\\\\\[[[[[[[ZZZZZZZZZZZYYYYYYYYYYYYXXXXXXXXXXXXXWWWWWWWWWWWVVVVVVVVVVVVVVVVVVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWXXXXXXXXXXXXYYYYYYYYYYYYYZZZZZZZZZZZ[[[[[[\\\\\\\\\]]]]]]]]]]^^^^^^^_______```````aaaaaaaabbbbbcccccccddddddeeeeeeeeffffggggggghhhhhhiiiiiiijjjkkkkkkkllllllmmmmmmnnnnoooooppppppqqqqrrrrrsssssstttttuuuuvvvvvwwwwwwxxxxxyyyyzzzzz{{{{{|||||}}}}~~~~~~~}}}}|||||{{{{{zzzzzyyyyxxxxxwwwwwwvvvvvuuuutttttssssssrrrrrqqqqppppppoooooonnnnmmmmmllllllkkkkkkjjjjjiiiiiiihhhhhhggggggfffffeeeeeeddddddddcccccccbbbbbaaaaaaaa```````_______^^^^^^^^]]]]]]]]]\\\\\\\\\\[[[[[[ZZZZZZZZZZZZYYYYYYYYYYYYXXXXXXXXXXXXXXWWWWWWWWWWWVVVVVVVVVVVVVVVVVVVVVVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWXXXXXXXXXXXXXYYYYYYYYYYYYYZZZZZZZZZZZ[[[[[[\\\\\\\\\\]]]]]]]]]^^^^^^^^^______````````aaaaaaabbbbbccccccccdddddddeeeeeefffffggggggghhhhhhiiiiiijjjjjkkkkkklllllllmmmmmnnnoooooooppppppqqqqrrrrrsssssstttttuuuuvvvvvwwwwwwxxxxxyyyyzzzzz{{{{{|||||}}}~~~~~~~~~~}}}}|||||{{{{{zzzzzyyyyxxxxxwwwwwwvvvvvuuuutttttssssssrrrrrqqqqppppppoooooonnnnmmmmmmlllllllkkkkkkjjjjiiiiiihhhhhhggggggggfffeeeeeeeeddddddccccccccbbbbbaaaaaaaa````````______^^^^^^^^^]]]]]]]]]\\\\\\\\\\[[[[[[[ZZZZZZZZZZZYYYYYYYYYYYYYXXXXXXXXXXXXXXXWWWWWWWWWWWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWXXXXXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZZZZ[[[[[[[[\\\\\\\\\\]]]]]]]]]^^^^^^^^_______```````aaaaaaaaabbbbbcccccccdddddddeeeeeeeffffggggggghhhhhhhiiiiiijjjjkkkkkkllllllmmmmmmnnnnoooooopppppppqqqrrrrrssssssstttttuuuvvvvvwwwwwwwxxxxxyyyzzzzz{{{{{|||||}}}}~~~~~~~~~~}}}|||||{{{{{zzzzzyyyyxxxxxwwwwwwvvvvvuuuuttttttsssssrrrrrrrqqqpppppooooooonnnmmmmmmmllllllkkkkkkjjjjiiiiiihhhhhhhhggggggfffffeeeeeeddddddddcccccccbbbbbaaaaaaaaa```````_______^^^^^^^^]]]]]]]]]]\\\\\\\\\\[[[[[[[[ZZZZZZZZZZZYYYYYYYYYYYYYYXXXXXXXXXXXXXXXXWWWWWWWWWWWWWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYZZZZZZZZZZZZ[[[[[[[\\\\\\\\\\]]]]]]]]]]^^^^^^^^^______````````aaaaaaaabbbbbccccccccdddddddeeeeeeefffffgggggghhhhhhhiiiiiiijjjkkkkkkkllllllmmmmmmnnnnoooooopppppqqqqrrrrrrsssssttttttuuuuvvvvvwwwwwwxxxxxyyyyzzzzz{{{{{|||||}}}}~~~~~~~~~~}}}}|||||{{{{{zzzzzyyyxxxxxxxwwwwwvvvvvuuutttttttsssssrrrrrrqqqqpppppoooooonnnnmmmmmmllllllkkkkkkjjjjjiiiiiiihhhhhhgggggggffffeeeeeeeedddddddccccccccbbbbbaaaaaaa`````````______^^^^^^^^^]]]]]]]]]]\\\\\\\\\\[[[[[[[ZZZZZZZZZZZZZYYYYYYYYYYYYYYYXXXXXXXXXXXXXXXXXWWWWWWWWWWWWWWWWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYZZZZZZZZZZZZ[[[[[[[[\\\\\\\\\\]]]]]]]]]]^^^^^^^^_______````````aaaaaaaabbbbbcccccccddddddddeeeeeeeffffgggggggghhhhhhiiiiiijjjjjkkkkkklllllllmmmmmmnnnnoooooopppppqqqqrrrrrrsssssttttttuuuuvvvvvwwwwwxxxxxxyyyyzzzzz{{{{{|||||}}}}~~~~~~~~~~}}}}|||||{{{{{zzzzzyyyyxxxxxxwwwwwvvvvvuuuuttttttsssssrrrrrrqqqqppppppooooonnnnnmmmmmmlllllllkkkkkkjjjjiiiiiihhhhhhhgggggggfffffeeeeeeeddddddddcccccccbbbbbaaaaaaaa````````_______^^^^^^^^^^]]]]]]]]]]\\\\\\\\\\[[[[[[[ZZZZZZZZZZZZZZYYYYYYYYYYYYYYYXXXXXXXXXXXXXXXXXXXXWWWWWWWWWWWWWWWWWWWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYZZZZZZZZZZZZZ[[[[[[[[\\\\\\\\\\]]]]]]]]]]^^^^^^^^^^______`````````aaaaaaabbbbbccccccccdddddddeeeeeeeefffffgggggghhhhhhhhiiiiiijjjjkkkkkkllllllmmmmmmnnnnnooooopppppppqqqrrrrrrrsssssttttttuuuuvvvvvwwwwwxxxxxxyyyyzzzzz{{{{{|||||}}}~~~~~~~~~~}}}}|||||{{{{{zzzzzyyyyxxxxxxwwwwwvvvvvuuuuttttttsssssrrrrrrqqqqppppppooooooonnnmmmmmmmllllllkkkkkkjjjjiiiiiiihhhhhhhgggggggffffeeeeeeeddddddddcccccccccbbbbbaaaaaaa`````````______^^^^^^^^^^]]]]]]]]]]\\\\\\\\\\\[[[[[[[[[ZZZZZZZZZZZZZZYYYYYYYYYYYYYYYYXXXXXXXXXXXXXXXXXXXXXXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZ[[[[[[[[[\\\\\\\\\\\]]]]]]]]]]^^^^^^^^^^_______````````aaaaaaaabbbbbcccccccccdddddddeeeeeeeefffgggggggghhhhhhiiiiiiiijjjkkkkkkkllllllmmmmmmnnnnooooooppppppqqqqrrrrrrssssstttttttuuuvvvvvwwwwwxxxxxxxyyyzzzzz{{{{{|||||}}}}~~~~~€€€~~~~~}}}|||||{{{{{zzzzzyyyyxxxxxxwwwwwvvvvvuuuuttttttsssssssrrrrrqqqpppppppoooooonnnnmmmmmmllllllkkkkkkjjjjjiiiiiiihhhhhhhggggggfffffeeeeeeeedddddddccccccccbbbbbbaaaaaaaa``````````______^^^^^^^^^]]]]]]]]]]]\\\\\\\\\\\[[[[[[[[[ZZZZZZZZZZZZZZYYYYYYYYYYYYYYYYYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZ[[[[[[[[\\\\\\\\\\\\]]]]]]]]]]]^^^^^^^^^______``````````aaaaaaabbbbbbbcccccccddddddddeeeeeeefffffgggggghhhhhhhhiiiiiijjjjjkkkkkklllllllmmmmmmnnnnooooooppppppqqqqrrrrrssssssttttttuuuuvvvvvwwwwwxxxxxxyyyyzzzzz{{{{{|||||}}}}~~~~~€€€€€~~~~~}}}}|||||{{{{{zzzzzyyyxxxxxxxwwwwwvvvvvvuuuutttttssssssrrrrrqqqqqpppppoooooonnnnnmmmmmmlllllllkkkkkkjjjjiiiiiiihhhhhhggggggggfffffeeeeeeeddddddddcccccccbbbbbbbaaaaaaaa`````````______^^^^^^^^^^]]]]]]]]]]]]\\\\\\\\\\\[[[[[[[[[ZZZZZZZZZZZZZZZZYYYYYYYYYYYYYYYYYYYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZ[[[[[[[[[\\\\\\\\\\\]]]]]]]]]]]^^^^^^^^^^______`````````aaaaaaaaabbbbbbccccccccdddddddeeeeeeeefffffggggggghhhhhhiiiiiiiijjjjkkkkkkllllllmmmmmmnnnnnooooooopppppqqqqqrrrrrsssssstttttuuuuvvvvvvwwwwwxxxxxxyyyyzzzzz{{{{{|||||}}}}~~~~~€€€€€€€~~~~~}}}}|||||{{{{{zzzzzzyyyxxxxxxwwwwwvvvvvvuuuutttttssssssrrrrrrqqqqppppppooooooonnnmmmmmmmllllllkkkkkkjjjjjiiiiiihhhhhhhhgggggggffffeeeeeeeeedddddddccccccccbbbbbbaaaaaaaaa`````````______^^^^^^^^^^^]]]]]]]]]]]\\\\\\\\\\\\\[[[[[[[[[ZZZZZZZZZZZZZZZZYYYYYYYYYYYYYYYYYYYYYYYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZ[[[[[[[[[\\\\\\\\\\\\]]]]]]]]]]]^^^^^^^^^^^^______`````````aaaaaaaabbbbbbbcccccccddddddddeeeeeeeeffffgggggggghhhhhhhiiiiiijjjjjkkkkkkkllllllmmmmmmnnnnooooooppppppqqqqrrrrrrssssssstttttuuuvvvvvvvwwwwwxxxxxxyyzzzzzzz{{{{{|||||}}}~~~~~€€€€€
\ No newline at end of file diff --git a/Graphic_Equalizer/data/help.raw b/Graphic_Equalizer/data/help.raw Binary files differdeleted file mode 100644 index 6585cb6..0000000 --- a/Graphic_Equalizer/data/help.raw +++ /dev/null diff --git a/Graphic_Equalizer/data/help_mask.raw b/Graphic_Equalizer/data/help_mask.raw Binary files differdeleted file mode 100644 index 4c46ff7..0000000 --- a/Graphic_Equalizer/data/help_mask.raw +++ /dev/null diff --git a/Graphic_Equalizer/data/orig/graph_mask.bmp b/Graphic_Equalizer/data/orig/graph_mask.bmp Binary files differdeleted file mode 100644 index 60a032c..0000000 --- a/Graphic_Equalizer/data/orig/graph_mask.bmp +++ /dev/null diff --git a/Graphic_Equalizer/data/orig/help.bmp b/Graphic_Equalizer/data/orig/help.bmp Binary files differdeleted file mode 100644 index 44d2814..0000000 --- a/Graphic_Equalizer/data/orig/help.bmp +++ /dev/null diff --git a/Graphic_Equalizer/data/orig/help_mask.bmp b/Graphic_Equalizer/data/orig/help_mask.bmp Binary files differdeleted file mode 100644 index cadee1d..0000000 --- a/Graphic_Equalizer/data/orig/help_mask.bmp +++ /dev/null diff --git a/Graphic_Equalizer/data/orig/skin.bmp b/Graphic_Equalizer/data/orig/skin.bmp Binary files differdeleted file mode 100644 index f521f56..0000000 --- a/Graphic_Equalizer/data/orig/skin.bmp +++ /dev/null diff --git a/Graphic_Equalizer/data/orig/skin_mask.bmp b/Graphic_Equalizer/data/orig/skin_mask.bmp Binary files differdeleted file mode 100644 index 989f000..0000000 --- a/Graphic_Equalizer/data/orig/skin_mask.bmp +++ /dev/null diff --git a/Graphic_Equalizer/data/preset_demo.bin b/Graphic_Equalizer/data/preset_demo.bin Binary files differdeleted file mode 100644 index bd1f7f4..0000000 --- a/Graphic_Equalizer/data/preset_demo.bin +++ /dev/null diff --git a/Graphic_Equalizer/data/preset_reset.bin b/Graphic_Equalizer/data/preset_reset.bin Binary files differdeleted file mode 100644 index 8e4514d..0000000 --- a/Graphic_Equalizer/data/preset_reset.bin +++ /dev/null diff --git a/Graphic_Equalizer/data/presets_hardcoded.txt b/Graphic_Equalizer/data/presets_hardcoded.txt deleted file mode 100644 index ef305c8..0000000 --- a/Graphic_Equalizer/data/presets_hardcoded.txt +++ /dev/null @@ -1,13 +0,0 @@ -/* 0 */ 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67,
-/* 1 */ 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67,
-/* 2 */ 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67,
-/* 3 */ 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67,
-/* 4 */ 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67,
-/* 5 */ 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67,
-/* 0 */ 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67,
-/* 1 */ 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67,
-/* 2 */ 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67,
-/* 3 */ 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67,
-/* 4 */ 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67,
-/* 5 */ 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67,
-/* 0 */ 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xe0, 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0x01, 0x23, 0x45, 0x67
diff --git a/Graphic_Equalizer/data/skin.raw b/Graphic_Equalizer/data/skin.raw Binary files differdeleted file mode 100644 index f0acdd9..0000000 --- a/Graphic_Equalizer/data/skin.raw +++ /dev/null diff --git a/Graphic_Equalizer/data/skin_mask.raw b/Graphic_Equalizer/data/skin_mask.raw Binary files differdeleted file mode 100644 index 6293a08..0000000 --- a/Graphic_Equalizer/data/skin_mask.raw +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/annotated.html b/Graphic_Equalizer/doc/html/annotated.html deleted file mode 100644 index 11bcfb0..0000000 --- a/Graphic_Equalizer/doc/html/annotated.html +++ /dev/null @@ -1,19 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: Data Structures</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindexHL" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<h1>Graphic Equalizer 2 Data Structures</h1>Here are the data structures with brief descriptions:<table> - <tr><td class="indexkey"><a class="el" href="structaudiodata__t.html">audiodata_t</a></td><td class="indexvalue"></td></tr> - <tr><td class="indexkey"><a class="el" href="structevents__t.html">events_t</a></td><td class="indexvalue"></td></tr> - <tr><td class="indexkey"><a class="el" href="structmousedata__t.html">mousedata_t</a></td><td class="indexvalue"></td></tr> - <tr><td class="indexkey"><a class="el" href="structskindata__t.html">skindata_t</a></td><td class="indexvalue">This struct contains all area- dimensions and color information for the skin </td></tr> - <tr><td class="indexkey"><a class="el" href="structskindata__t_1_1skin__info__t.html">skindata_t::skin_info_t</a></td><td class="indexvalue">Structure containing the four boundry limits of an area and maximal two colors per area </td></tr> -</table> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:09 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/audio_2main_8hcc-source.html b/Graphic_Equalizer/doc/html/audio_2main_8hcc-source.html deleted file mode 100644 index 3167eee..0000000 --- a/Graphic_Equalizer/doc/html/audio_2main_8hcc-source.html +++ /dev/null @@ -1,76 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/src/audio/main.hcc Source File</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000004.html">src</a> / <a class="el" href="dir_000005.html">audio</a></div> -<h1>main.hcc</h1><div class="fragment"><pre class="fragment">00001 -00020 <span class="comment">/*</span> -00021 <span class="comment"> * Set the Clock rate for this domain. 50.0 Mhz is minimally required while</span> -00022 <span class="comment"> * performing audio tasks.</span> -00023 <span class="comment"> */</span> -00024 <span class="preprocessor">#define PAL_TARGET_CLOCK_RATE 50000000</span> -00025 <span class="preprocessor"></span> -00026 <span class="comment">/******** System Includes *************/</span> -00027 <span class="preprocessor">#include <stdlib.hch></span> -00028 -00029 <span class="preprocessor">#include "pal_master.hch"</span> -00030 -00031 <span class="comment">/******** Application Includes ********/</span> -00032 <span class="preprocessor">#include "audiodriver.hch"</span> -00033 -00034 -00035 <span class="comment">/*</span> -00036 <span class="comment"> * Request Clockrate. Approximated ClockRate is compiler assigned.</span> -00037 <span class="comment"> */</span> -00038 <span class="keyword">static</span> macro expr ClockRate = PAL_ACTUAL_CLOCK_RATE; -00039 -00040 -00041 -00050 <span class="keywordtype">void</span> main(<span class="keywordtype">void</span>) { -00051 <span class="comment">/* Setup Audio I/O Pointers */</span> -00052 macro expr AudioIn = PalAudioInCT(0); -00053 macro expr AudioOut = PalAudioOutCT(0); -00054 -00055 <span class="comment">/*</span> -00056 <span class="comment"> * Check library versions and Request VideoOutput.</span> -00057 <span class="comment"> * We need at least Major Version 1 and minor version 2.</span> -00058 <span class="comment"> */</span> -00059 PalVersionRequire(1, 2); -00060 PalAudioInRequire(1); -00061 PalAudioOutRequire(1); -00062 -00063 <span class="comment">/*</span> -00064 <span class="comment"> * Run The Following main tasks in parallel.</span> -00065 <span class="comment"> */</span> -00066 par { -00067 <span class="comment">/*</span> -00068 <span class="comment"> * Primary task is to 'Run' several hardware simultaniously.</span> -00069 <span class="comment"> * Audio I/O needs to be in sync.</span> -00070 <span class="comment"> */</span> -00071 PalAudioInRun(AudioIn, ClockRate); -00072 PalAudioOutRun(AudioOut, ClockRate); -00073 -00074 <span class="comment">/* Parallel to our Primary tasks we run the application. */</span> -00075 seq { -00076 <span class="comment">/* But first we need to enable and initialize the audio. */</span> -00077 PalAudioInEnable(AudioIn); -00078 PalAudioOutEnable(AudioOut); -00079 audio_init(7, LINE_IN, SR_44100); -00080 par { -00081 <span class="comment">/*</span> -00082 <span class="comment"> * From here we run the main audio loop.</span> -00083 <span class="comment"> */</span> -00084 audio_main(); -00085 } -00086 } -00087 } -00088 } <span class="comment">/* --- main() --- */</span> -</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Nov 25 15:40:49 2004 for Graphic Equalizer by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/audio_8hcc-source.html b/Graphic_Equalizer/doc/html/audio_8hcc-source.html deleted file mode 100644 index a3c36b6..0000000 --- a/Graphic_Equalizer/doc/html/audio_8hcc-source.html +++ /dev/null @@ -1,69 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/src/audio.hcc Source File</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 and oliver --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000004.html">src</a></div> -<h1>audio.hcc</h1><a href="audio_8hcc.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 -00019 <span class="comment">/******** System Includes *************/</span> -00020 <span class="preprocessor">#include <stdlib.hch></span> -00021 -00022 <span class="preprocessor">#include "pal_master.hch"</span> -00023 -00024 <span class="comment">/******** Application Includes ********/</span> -00025 <span class="preprocessor">#include "<a class="code" href="configuration_8hch.html">configuration.hch</a>"</span> -00026 <span class="preprocessor">#include "<a class="code" href="audio_8hch.html">audio.hch</a>"</span> -00027 -00028 -00029 -<a name="l00045"></a><a class="code" href="audio_8hcc.html#a0">00045</a> macro proc <a class="code" href="audio_8hcc.html#a0">audio_init</a>(gain_level, input_source, sample_rate, AUDIOIN, AUDIOOUT) { -00046 <span class="comment">/*</span> -00047 <span class="comment"> * We simply call the appropiate handlers and pass values along. We</span> -00048 <span class="comment"> * Don't set the mute on input gain. We have volume control to do this.</span> -00049 <span class="comment"> * Input and Output sampling rates are equal. We dont' need different</span> -00050 <span class="comment"> * rates.</span> -00051 <span class="comment"> */</span> -00052 RC200AudioInSetGain(FALSE, gain_level, gain_level); -00053 RC200AudioInSetInput(input_source); -00054 PalAudioInSetSampleRate(AUDIOIN, sample_rate); -00055 PalAudioOutSetSampleRate(AUDIOOUT, sample_rate); -00056 } <span class="comment">/* --- audio_init() --- */</span> -00057 -00058 -00059 <span class="preprocessor">#if !USE_RUNFFT</span> -00060 <span class="preprocessor"></span><span class="comment">//TODO: put runfft here!</span> -<a name="l00076"></a><a class="code" href="audio_8hcc.html#a1">00076</a> <span class="comment"></span>macro proc <a class="code" href="audio_8hcc.html#a1">audio_main</a>(audiodata, AUDIOIN, AUDIOOUT) { -00077 <span class="comment">/*</span> -00078 <span class="comment"> * Determin the data width for the current platform.</span> -00079 <span class="comment"> */</span> -00080 macro expr IW = PalAudioInGetMaxDataWidthCT(); -00081 macro expr OW = PalAudioOutGetMaxDataWidthCT(); -00082 -00083 <span class="keywordtype">signed</span> IW sample_left_in, sample_right_in; -00084 <span class="keywordtype">signed</span> OW sample_left_out, sample_right_out; -00085 -00086 <span class="keywordflow">while</span> (TRUE) { -00087 PalAudioInRead(AUDIOIN, &sample_left_in, &sample_right_in); -00088 -00089 <span class="comment">/* par {</span> -00090 <span class="comment"> sample_add(sample_left_in);</span> -00091 <span class="comment"> sample_get(&sample_left_out);</span> -00092 <span class="comment"> sample_right_out = sample_right_in;</span> -00093 <span class="comment"> }</span> -00094 <span class="comment"> if (rotate_samples()) {</span> -00095 <span class="comment"> / *</span> -00096 <span class="comment"> * 64 Samples have been processed, calculate.</span> -00097 <span class="comment"> * /</span> -00098 <span class="comment"> }</span> -00099 <span class="comment">*/</span> PalAudioOutWrite(AUDIOOUT, (<span class="keywordtype">signed</span> OW)(sample_left_in @ 0), (<span class="keywordtype">signed</span> OW)(sample_right_in @ 0)); -00100 } -00101 } <span class="comment">/* --- audio_main() --- */</span> -00102 <span class="preprocessor">#endif</span> -</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:06 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/audio_8hcc.html b/Graphic_Equalizer/doc/html/audio_8hcc.html deleted file mode 100644 index 8503f32..0000000 --- a/Graphic_Equalizer/doc/html/audio_8hcc.html +++ /dev/null @@ -1,190 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/src/audio.hcc File Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000004.html">src</a></div> -<h1>audio.hcc File Reference</h1><code>#include <stdlib.hch></code><br> -<code>#include "pal_master.hch"</code><br> -<code>#include "<a class="el" href="configuration_8hch-source.html">configuration.hch</a>"</code><br> -<code>#include "<a class="el" href="audio_8hch-source.html">audio.hch</a>"</code><br> - -<p> -Include dependency graph for audio.hcc:<p><center><img src="audio_8hcc__incl.png" border="0" usemap="#audio.hcc_map" alt="Include dependency graph"></center> -<map name="audio.hcc_map"> -<area href="configuration_8hch.html" shape="rect" coords="245,7,370,34" alt=""> -<area href="audio_8hch.html" shape="rect" coords="394,7,474,34" alt=""> -</map> - -<p> -<a href="audio_8hcc-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">macro proc </td><td class="memItemRight" valign="bottom"><a class="el" href="audio_8hcc.html#a0">audio_init</a> (gain_level, input_source, sample_rate, AUDIOIN, AUDIOOUT)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Set some inital values to the audio hardware. <a href="#a0"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">macro proc </td><td class="memItemRight" valign="bottom"><a class="el" href="audio_8hcc.html#a1">audio_main</a> (audiodata, AUDIOIN, AUDIOOUT)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Main audiodriver. This function never returns! It calls the audiohandlers and stores samples into a global array. Once 64 Samples are collected it raises a signal AUDIO_READY to let other processes know it's ready. We use quadruple buffering for audio input and double buffering for audio output. <a href="#a1"></a><br></td></tr> -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<h2><a class="anchor" name="generic"> -Graphic Equalizer API</a></h2> -<h2><a class="anchor" name="project"> -Project information.</a></h2> -Project Graphic Equalizer<br> - <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl> -<dl compact><dt><b>Date:</b></dt><dd>20041011 </dd></dl> -<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl> -<h2><a class="anchor" name="copyright"> -Copyright</a></h2> -Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history"> -Change history</a></h2> -20041011: <br> - Initial version -<p> -Definition in file <a class="el" href="audio_8hcc-source.html">audio.hcc</a>.<hr><h2>Function Documentation</h2> -<a class="anchor" name="a0" doxytag="audio.hcc::audio_init"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">macro proc audio_init </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top">gain_level </td> - <td class="mdname" nowrap>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>input_source </td> - <td class="mdname" nowrap>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>sample_rate </td> - <td class="mdname" nowrap>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>AUDIOIN </td> - <td class="mdname" nowrap>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>AUDIOOUT </td> - <td class="mdname" nowrap></td> - </tr> - <tr> - <td class="md"></td> - <td class="md">) </td> - <td class="md" colspan="2"></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Set some inital values to the audio hardware. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>gain_level</em> </td><td>Set the input amplifier to this amplification level. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>input_source</em> </td><td>Choose between microphone input or linein input. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>sample_rate</em> </td><td>Set the sample rate between 8000 and 48000</td></tr> - </table> -</dl> -<dl compact><dt><b>Returns:</b></dt><dd>void </dd></dl> -<dl compact><dt><b>Return values:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>void</em> </td><td></td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="audio_8hcc-source.html#l00045">45</a> of file <a class="el" href="audio_8hcc-source.html">audio.hcc</a>. -<p> -Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a1" doxytag="audio.hcc::audio_main"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">macro proc audio_main </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top">audiodata </td> - <td class="mdname" nowrap>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>AUDIOIN </td> - <td class="mdname" nowrap>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>AUDIOOUT </td> - <td class="mdname" nowrap></td> - </tr> - <tr> - <td class="md"></td> - <td class="md">) </td> - <td class="md" colspan="2"></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Main audiodriver. This function never returns! It calls the audiohandlers and stores samples into a global array. Once 64 Samples are collected it raises a signal AUDIO_READY to let other processes know it's ready. We use quadruple buffering for audio input and double buffering for audio output. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>*audiodata</em> </td><td>pointer to audio information structure. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>AUDIOIN</em> </td><td>Audio Input Handler </td></tr> - <tr><td valign="top"></td><td valign="top"><em>AUDIOOUT</em> </td><td>Audio Output Handler</td></tr> - </table> -</dl> -<dl compact><dt><b>Returns:</b></dt><dd>Never Returns. </dd></dl> -<dl compact><dt><b>Return values:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>void</em> </td><td></td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="audio_8hcc-source.html#l00076">76</a> of file <a class="el" href="audio_8hcc-source.html">audio.hcc</a>. -<p> -Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td> - </tr> -</table> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:08 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/audio_8hcc__incl.map b/Graphic_Equalizer/doc/html/audio_8hcc__incl.map deleted file mode 100644 index 94afea9..0000000 --- a/Graphic_Equalizer/doc/html/audio_8hcc__incl.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $configuration_8hch.html 245,7 370,34 -rect $audio_8hch.html 394,7 474,34 diff --git a/Graphic_Equalizer/doc/html/audio_8hcc__incl.md5 b/Graphic_Equalizer/doc/html/audio_8hcc__incl.md5 deleted file mode 100644 index a948416..0000000 --- a/Graphic_Equalizer/doc/html/audio_8hcc__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -c40d88d881278afd1ef70a3d20ec91ee
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/audio_8hcc__incl.png b/Graphic_Equalizer/doc/html/audio_8hcc__incl.png Binary files differdeleted file mode 100644 index 36bd511..0000000 --- a/Graphic_Equalizer/doc/html/audio_8hcc__incl.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/audio_8hch-source.html b/Graphic_Equalizer/doc/html/audio_8hch-source.html deleted file mode 100644 index 48b00aa..0000000 --- a/Graphic_Equalizer/doc/html/audio_8hch-source.html +++ /dev/null @@ -1,84 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/include/audio.hch Source File</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>audio.hch</h1><a href="audio_8hch.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 -00019 <span class="preprocessor">#ifndef _AUDIO_HCH</span> -<a name="l00020"></a><a class="code" href="audio_8hch.html#a0">00020</a> <span class="preprocessor"></span><span class="preprocessor">#define _AUDIO_HCH 1</span> -00021 <span class="preprocessor"></span> -00022 <span class="comment">/*</span> -00023 <span class="comment"> * Type definition of the shared memory to be used in various processes</span> -00024 <span class="comment"> */</span> -<a name="l00025"></a><a class="code" href="structaudiodata__t.html">00025</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{ -00026 mpram { -00027 ram <span class="keywordtype">unsigned</span> 7 write[256]; -00028 rom <span class="keywordtype">unsigned</span> 7 read[256]; -00029 } fft_info with { block = <span class="stringliteral">"BlockRAM"</span>}; -00030 mpram { -00031 ram <span class="keywordtype">unsigned</span> 6 write[256]; -00032 rom <span class="keywordtype">unsigned</span> 6 read[256]; -00033 } ifft_info with { block = <span class="stringliteral">"BlockRAM"</span>}; -<a name="l00034"></a><a class="code" href="structaudiodata__t.html#o0">00034</a> <span class="keywordtype">unsigned</span> 4 *equalizer_levels_ptr; -<a name="l00035"></a><a class="code" href="structaudiodata__t.html#o1">00035</a> <span class="keywordtype">unsigned</span> 1 display_log; -00036 } <a class="code" href="structaudiodata__t.html">audiodata_t</a>; -00037 -00038 -00039 -00040 -00041 <span class="comment">/*</span> -00042 <span class="comment"> * States used to indicate wether audio data is sampled.</span> -00043 <span class="comment"> */</span> -<a name="l00044"></a><a class="code" href="audio_8hch.html#a1">00044</a> <span class="preprocessor">#define AUDIO_NOT_READY 0</span> -<a name="l00045"></a><a class="code" href="audio_8hch.html#a2">00045</a> <span class="preprocessor"></span><span class="preprocessor">#define AUDIO_READY 1</span> -00046 <span class="preprocessor"></span> -00047 -00048 -00049 <span class="comment">/*</span> -00050 <span class="comment"> * Line in or Mic in aliases for audio_init.</span> -00051 <span class="comment"> */</span> -<a name="l00052"></a><a class="code" href="audio_8hch.html#a3">00052</a> <span class="preprocessor">#define LINE_IN RC200AudioInLineIn</span> -<a name="l00053"></a><a class="code" href="audio_8hch.html#a4">00053</a> <span class="preprocessor"></span><span class="preprocessor">#define MIC_IN RC200AudioInMicrophone</span> -00054 <span class="preprocessor"></span> -00055 -00056 -00057 <span class="comment">/*</span> -00058 <span class="comment"> * Sample Rate Aliases for audio_init.</span> -00059 <span class="comment"> */</span> -<a name="l00060"></a><a class="code" href="audio_8hch.html#a5">00060</a> <span class="preprocessor">#define SR_8000 RC200AudioSampleRate8000</span> -<a name="l00061"></a><a class="code" href="audio_8hch.html#a6">00061</a> <span class="preprocessor"></span><span class="preprocessor">#define SR_11025 RC200AudioSampleRate11025</span> -<a name="l00062"></a><a class="code" href="audio_8hch.html#a7">00062</a> <span class="preprocessor"></span><span class="preprocessor">#define SR_16000 RC200AudioSampleRate16000</span> -<a name="l00063"></a><a class="code" href="audio_8hch.html#a8">00063</a> <span class="preprocessor"></span><span class="preprocessor">#define SR_22050 RC200AudioSampleRate22050</span> -<a name="l00064"></a><a class="code" href="audio_8hch.html#a9">00064</a> <span class="preprocessor"></span><span class="preprocessor">#define SR_44100 RC200AudioSampleRate44100</span> -<a name="l00065"></a><a class="code" href="audio_8hch.html#a10">00065</a> <span class="preprocessor"></span><span class="preprocessor">#define SR_48000 RC200AudioSampleRate48000</span> -00066 <span class="preprocessor"></span> -00067 -00068 -00069 <span class="comment">/*</span> -00070 <span class="comment"> * Initialize the Audio sub-system. gain_level sets the internal amplifier to</span> -00071 <span class="comment"> * passed level, input_source chooses between line in or mic in. The</span> -00072 <span class="comment"> * sample_rate is set to supplied rate. Defines for these are mentioned above.</span> -00073 <span class="comment"> */</span> -00074 macro proc <a class="code" href="audio_8hcc.html#a0">audio_init</a>(gain_level, input_source, sample_rate, AUDIOIN, AUDIOOUT); -00075 -00076 -00077 -00078 <span class="comment">/*</span> -00079 <span class="comment"> * Main audiodriver loop. This procedure never returns! It handles audio io and</span> -00080 <span class="comment"> * updates the shared memory. It needs Audio I/O handlers passed.</span> -00081 <span class="comment"> */</span> -00082 macro proc <a class="code" href="audio_8hcc.html#a1">audio_main</a>(audiodata, AUDIOIN, AUDIOOUT); -00083 -00084 <span class="preprocessor">#else</span> -00085 <span class="preprocessor"></span><span class="preprocessor">#error "ERROR file audio.hch multiple times included"</span> -00086 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* --- _AUDIO_HCH --- */</span> -00087 -</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:05 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/audio_8hch.html b/Graphic_Equalizer/doc/html/audio_8hch.html deleted file mode 100644 index bcc7245..0000000 --- a/Graphic_Equalizer/doc/html/audio_8hch.html +++ /dev/null @@ -1,496 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/include/audio.hch File Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>audio.hch File Reference</h1> -<p> -This graph shows which files directly or indirectly include this file:<p><center><img src="audio_8hch__dep__incl.png" border="0" usemap="#audio.hchdep_map" alt="Included by dependency graph"></center> -<map name="audio.hchdep_map"> -<area href="audio_8hcc.html" shape="rect" coords="7,7,87,34" alt=""> -<area href="display_8hcc.html" shape="rect" coords="111,7,199,34" alt=""> -<area href="eventhandler_8hcc.html" shape="rect" coords="223,7,346,34" alt=""> -<area href="fft_8hcc.html" shape="rect" coords="370,7,429,34" alt=""> -<area href="main_8hcc.html" shape="rect" coords="453,7,527,34" alt=""> -<area href="smartmedia_8hcc.html" shape="rect" coords="551,7,669,34" alt=""> -</map> - -<p> -<a href="audio_8hch-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structaudiodata__t.html">audiodata_t</a></td></tr> - -<tr><td colspan="2"><br><h2>Defines</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="audio_8hch.html#a0">_AUDIO_HCH</a> 1</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="audio_8hch.html#a1">AUDIO_NOT_READY</a> 0</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="audio_8hch.html#a2">AUDIO_READY</a> 1</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="audio_8hch.html#a3">LINE_IN</a> RC200AudioInLineIn</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="audio_8hch.html#a4">MIC_IN</a> RC200AudioInMicrophone</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="audio_8hch.html#a5">SR_8000</a> RC200AudioSampleRate8000</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="audio_8hch.html#a6">SR_11025</a> RC200AudioSampleRate11025</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="audio_8hch.html#a7">SR_16000</a> RC200AudioSampleRate16000</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="audio_8hch.html#a8">SR_22050</a> RC200AudioSampleRate22050</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="audio_8hch.html#a9">SR_44100</a> RC200AudioSampleRate44100</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="audio_8hch.html#a10">SR_48000</a> RC200AudioSampleRate48000</td></tr> - -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">macro proc </td><td class="memItemRight" valign="bottom"><a class="el" href="audio_8hch.html#a11">audio_init</a> (gain_level, input_source, sample_rate, AUDIOIN, AUDIOOUT)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Set some inital values to the audio hardware. <a href="#a11"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">macro proc </td><td class="memItemRight" valign="bottom"><a class="el" href="audio_8hch.html#a12">audio_main</a> (audiodata, AUDIOIN, AUDIOOUT)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Main audiodriver. This function never returns! It calls the audiohandlers and stores samples into a global array. Once 64 Samples are collected it raises a signal AUDIO_READY to let other processes know it's ready. We use quadruple buffering for audio input and double buffering for audio output. <a href="#a12"></a><br></td></tr> -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<h2><a class="anchor" name="generic"> -Graphic Equalizer API</a></h2> -<h2><a class="anchor" name="project"> -Project information.</a></h2> -Project Graphic Equalizer<br> - <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl> -<dl compact><dt><b>Date:</b></dt><dd>20041021 </dd></dl> -<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl> -<h2><a class="anchor" name="copyright"> -Copyright</a></h2> -Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history"> -Change history</a></h2> -20041021: O.M. Schinagl<br> - Initial version -<p> -Definition in file <a class="el" href="audio_8hch-source.html">audio.hch</a>.<hr><h2>Define Documentation</h2> -<a class="anchor" name="a0" doxytag="audio.hch::_AUDIO_HCH"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define _AUDIO_HCH 1 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="audio_8hch-source.html#l00020">20</a> of file <a class="el" href="audio_8hch-source.html">audio.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a1" doxytag="audio.hch::AUDIO_NOT_READY"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define AUDIO_NOT_READY 0 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="audio_8hch-source.html#l00044">44</a> of file <a class="el" href="audio_8hch-source.html">audio.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a2" doxytag="audio.hch::AUDIO_READY"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define AUDIO_READY 1 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="audio_8hch-source.html#l00045">45</a> of file <a class="el" href="audio_8hch-source.html">audio.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a3" doxytag="audio.hch::LINE_IN"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define LINE_IN RC200AudioInLineIn </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="audio_8hch-source.html#l00052">52</a> of file <a class="el" href="audio_8hch-source.html">audio.hch</a>. -<p> -Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a4" doxytag="audio.hch::MIC_IN"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define MIC_IN RC200AudioInMicrophone </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="audio_8hch-source.html#l00053">53</a> of file <a class="el" href="audio_8hch-source.html">audio.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a5" doxytag="audio.hch::SR_8000"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define SR_8000 RC200AudioSampleRate8000 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="audio_8hch-source.html#l00060">60</a> of file <a class="el" href="audio_8hch-source.html">audio.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a6" doxytag="audio.hch::SR_11025"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define SR_11025 RC200AudioSampleRate11025 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="audio_8hch-source.html#l00061">61</a> of file <a class="el" href="audio_8hch-source.html">audio.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a7" doxytag="audio.hch::SR_16000"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define SR_16000 RC200AudioSampleRate16000 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="audio_8hch-source.html#l00062">62</a> of file <a class="el" href="audio_8hch-source.html">audio.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a8" doxytag="audio.hch::SR_22050"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define SR_22050 RC200AudioSampleRate22050 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="audio_8hch-source.html#l00063">63</a> of file <a class="el" href="audio_8hch-source.html">audio.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a9" doxytag="audio.hch::SR_44100"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define SR_44100 RC200AudioSampleRate44100 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="audio_8hch-source.html#l00064">64</a> of file <a class="el" href="audio_8hch-source.html">audio.hch</a>. -<p> -Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a10" doxytag="audio.hch::SR_48000"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define SR_48000 RC200AudioSampleRate48000 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="audio_8hch-source.html#l00065">65</a> of file <a class="el" href="audio_8hch-source.html">audio.hch</a>. </td> - </tr> -</table> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="a11" doxytag="audio.hch::audio_init"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">macro proc audio_init </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top">gain_level </td> - <td class="mdname" nowrap>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>input_source </td> - <td class="mdname" nowrap>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>sample_rate </td> - <td class="mdname" nowrap>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>AUDIOIN </td> - <td class="mdname" nowrap>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>AUDIOOUT </td> - <td class="mdname" nowrap></td> - </tr> - <tr> - <td class="md"></td> - <td class="md">) </td> - <td class="md" colspan="2"></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Set some inital values to the audio hardware. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>gain_level</em> </td><td>Set the input amplifier to this amplification level. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>input_source</em> </td><td>Choose between microphone input or linein input. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>sample_rate</em> </td><td>Set the sample rate between 8000 and 48000</td></tr> - </table> -</dl> -<dl compact><dt><b>Returns:</b></dt><dd>void </dd></dl> -<dl compact><dt><b>Return values:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>void</em> </td><td></td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="audio_8hcc-source.html#l00045">45</a> of file <a class="el" href="audio_8hcc-source.html">audio.hcc</a>. -<p> -Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a12" doxytag="audio.hch::audio_main"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">macro proc audio_main </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top">audiodata </td> - <td class="mdname" nowrap>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>AUDIOIN </td> - <td class="mdname" nowrap>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>AUDIOOUT </td> - <td class="mdname" nowrap></td> - </tr> - <tr> - <td class="md"></td> - <td class="md">) </td> - <td class="md" colspan="2"></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Main audiodriver. This function never returns! It calls the audiohandlers and stores samples into a global array. Once 64 Samples are collected it raises a signal AUDIO_READY to let other processes know it's ready. We use quadruple buffering for audio input and double buffering for audio output. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>*audiodata</em> </td><td>pointer to audio information structure. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>AUDIOIN</em> </td><td>Audio Input Handler </td></tr> - <tr><td valign="top"></td><td valign="top"><em>AUDIOOUT</em> </td><td>Audio Output Handler</td></tr> - </table> -</dl> -<dl compact><dt><b>Returns:</b></dt><dd>Never Returns. </dd></dl> -<dl compact><dt><b>Return values:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>void</em> </td><td></td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="audio_8hcc-source.html#l00076">76</a> of file <a class="el" href="audio_8hcc-source.html">audio.hcc</a>. -<p> -Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td> - </tr> -</table> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:07 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/audio_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/audio_8hch__dep__incl.map deleted file mode 100644 index 13b9d0b..0000000 --- a/Graphic_Equalizer/doc/html/audio_8hch__dep__incl.map +++ /dev/null @@ -1,7 +0,0 @@ -base referer -rect $audio_8hcc.html 7,7 87,34 -rect $display_8hcc.html 111,7 199,34 -rect $eventhandler_8hcc.html 223,7 346,34 -rect $fft_8hcc.html 370,7 429,34 -rect $main_8hcc.html 453,7 527,34 -rect $smartmedia_8hcc.html 551,7 669,34 diff --git a/Graphic_Equalizer/doc/html/audio_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/audio_8hch__dep__incl.md5 deleted file mode 100644 index b5bb099..0000000 --- a/Graphic_Equalizer/doc/html/audio_8hch__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -47b49974e1875473dca8902c4d0a51aa
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/audio_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/audio_8hch__dep__incl.png Binary files differdeleted file mode 100644 index 13e726a..0000000 --- a/Graphic_Equalizer/doc/html/audio_8hch__dep__incl.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/configuration_8hch-source.html b/Graphic_Equalizer/doc/html/configuration_8hch-source.html deleted file mode 100644 index fa10daa..0000000 --- a/Graphic_Equalizer/doc/html/configuration_8hch-source.html +++ /dev/null @@ -1,53 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/include/configuration.hch Source File</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>configuration.hch</h1><a href="configuration_8hch.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 -00019 <span class="preprocessor">#ifndef _CONFIGURATION_HCH</span> -<a name="l00020"></a><a class="code" href="configuration_8hch.html#a0">00020</a> <span class="preprocessor"></span><span class="preprocessor">#define _CONFIGURATION_HCH 1</span> -00021 <span class="preprocessor"></span> -00022 -00023 -00024 <span class="comment">/*</span> -00025 <span class="comment"> * To print debug information on the RS232 port set this define.</span> -00026 <span class="comment"> */</span> -<a name="l00027"></a><a class="code" href="configuration_8hch.html#a1">00027</a> <span class="preprocessor">#define HAVE_DEBUG 0</span> -00028 <span class="preprocessor"></span> -00029 -00030 -00031 <span class="comment">/*</span> -00032 <span class="comment"> * If we don't want to use the SmartMedia set this to 0. Data is then read from</span> -00033 <span class="comment"> * the ram, assuming it's there. Otherwise 1 will load the smartmedia</span> -00034 <span class="comment"> * routines.</span> -00035 <span class="comment"> */</span> -<a name="l00036"></a><a class="code" href="configuration_8hch.html#a2">00036</a> <span class="preprocessor">#define HAVE_SMARTMEDIA 0</span> -00037 <span class="preprocessor"></span> -00038 -00039 -00040 <span class="comment">/*</span> -00041 <span class="comment"> * FFT specific. TODO: Clean Up!</span> -00042 <span class="comment"> */</span> -<a name="l00043"></a><a class="code" href="configuration_8hch.html#a3">00043</a> <span class="preprocessor">#define USE_RUNFFT 1</span> -<a name="l00044"></a><a class="code" href="configuration_8hch.html#a4">00044</a> <span class="preprocessor"></span><span class="preprocessor">#define HARDWARE_MULTIPLY 1</span> -<a name="l00045"></a><a class="code" href="configuration_8hch.html#a5">00045</a> <span class="preprocessor"></span><span class="preprocessor">#define PERFORM_FFT_CALCULATION 1</span> -<a name="l00046"></a><a class="code" href="configuration_8hch.html#a6">00046</a> <span class="preprocessor"></span><span class="preprocessor">#define USE_UNSIGNED_AUDIO 0</span> -00047 <span class="preprocessor"></span> -00048 <span class="comment">/*</span> -00049 <span class="comment">FIXME: DK doesn't override from commandline defines. We have to therefore</span> -00050 <span class="comment"> ignore this include guard until we can find around this.</span> -00051 <span class="comment">#else</span> -00052 <span class="comment">#error "ERROR file configuration.hch multiple times included"</span> -00053 <span class="comment">*/</span> -00054 <span class="preprocessor">#endif </span><span class="comment">/* --- _CONFIGURATION_HCH --- */</span> -00055 -00056 -</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:05 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/configuration_8hch.html b/Graphic_Equalizer/doc/html/configuration_8hch.html deleted file mode 100644 index 93a8495..0000000 --- a/Graphic_Equalizer/doc/html/configuration_8hch.html +++ /dev/null @@ -1,240 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/include/configuration.hch File Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>configuration.hch File Reference</h1> -<p> -This graph shows which files directly or indirectly include this file:<p><center><img src="configuration_8hch__dep__incl.png" border="0" usemap="#configuration.hchdep_map" alt="Included by dependency graph"></center> -<map name="configuration.hchdep_map"> -<area href="audio_8hcc.html" shape="rect" coords="7,7,87,34" alt=""> -<area href="display_8hcc.html" shape="rect" coords="111,7,199,34" alt=""> -<area href="eventhandler_8hcc.html" shape="rect" coords="223,7,346,34" alt=""> -<area href="events_8hcc.html" shape="rect" coords="370,7,455,34" alt=""> -<area href="fft_8hcc.html" shape="rect" coords="479,7,538,34" alt=""> -<area href="main_8hcc.html" shape="rect" coords="562,7,637,34" alt=""> -<area href="mouse_8hcc.html" shape="rect" coords="661,7,746,34" alt=""> -<area href="runfft_8hcc.html" shape="rect" coords="770,7,847,34" alt=""> -<area href="smartmedia_8hcc.html" shape="rect" coords="871,7,989,34" alt=""> -</map> - -<p> -<a href="configuration_8hch-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Defines</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="configuration_8hch.html#a0">_CONFIGURATION_HCH</a> 1</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="configuration_8hch.html#a1">HAVE_DEBUG</a> 0</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="configuration_8hch.html#a2">HAVE_SMARTMEDIA</a> 0</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="configuration_8hch.html#a3">USE_RUNFFT</a> 1</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="configuration_8hch.html#a4">HARDWARE_MULTIPLY</a> 1</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="configuration_8hch.html#a5">PERFORM_FFT_CALCULATION</a> 1</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="configuration_8hch.html#a6">USE_UNSIGNED_AUDIO</a> 0</td></tr> - -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<h2><a class="anchor" name="generic"> -Graphic Equalizer API</a></h2> -<h2><a class="anchor" name="project"> -Project information.</a></h2> -Project Graphic Equalizer<br> - <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl> -<dl compact><dt><b>Date:</b></dt><dd>20041101 </dd></dl> -<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl> -<h2><a class="anchor" name="copyright"> -Copyright</a></h2> -Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history"> -Change history</a></h2> -20041101: O.M. Schinagl<br> - Initial version -<p> -Definition in file <a class="el" href="configuration_8hch-source.html">configuration.hch</a>.<hr><h2>Define Documentation</h2> -<a class="anchor" name="a0" doxytag="configuration.hch::_CONFIGURATION_HCH"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define _CONFIGURATION_HCH 1 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="configuration_8hch-source.html#l00020">20</a> of file <a class="el" href="configuration_8hch-source.html">configuration.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a1" doxytag="configuration.hch::HAVE_DEBUG"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define HAVE_DEBUG 0 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="configuration_8hch-source.html#l00027">27</a> of file <a class="el" href="configuration_8hch-source.html">configuration.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a2" doxytag="configuration.hch::HAVE_SMARTMEDIA"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define HAVE_SMARTMEDIA 0 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="configuration_8hch-source.html#l00036">36</a> of file <a class="el" href="configuration_8hch-source.html">configuration.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a3" doxytag="configuration.hch::USE_RUNFFT"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define USE_RUNFFT 1 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="configuration_8hch-source.html#l00043">43</a> of file <a class="el" href="configuration_8hch-source.html">configuration.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a4" doxytag="configuration.hch::HARDWARE_MULTIPLY"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define HARDWARE_MULTIPLY 1 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="configuration_8hch-source.html#l00044">44</a> of file <a class="el" href="configuration_8hch-source.html">configuration.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a5" doxytag="configuration.hch::PERFORM_FFT_CALCULATION"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define PERFORM_FFT_CALCULATION 1 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="configuration_8hch-source.html#l00045">45</a> of file <a class="el" href="configuration_8hch-source.html">configuration.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a6" doxytag="configuration.hch::USE_UNSIGNED_AUDIO"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define USE_UNSIGNED_AUDIO 0 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="configuration_8hch-source.html#l00046">46</a> of file <a class="el" href="configuration_8hch-source.html">configuration.hch</a>. </td> - </tr> -</table> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:07 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.map deleted file mode 100644 index 0c90433..0000000 --- a/Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.map +++ /dev/null @@ -1,10 +0,0 @@ -base referer -rect $audio_8hcc.html 7,7 87,34 -rect $display_8hcc.html 111,7 199,34 -rect $eventhandler_8hcc.html 223,7 346,34 -rect $events_8hcc.html 370,7 455,34 -rect $fft_8hcc.html 479,7 538,34 -rect $main_8hcc.html 562,7 637,34 -rect $mouse_8hcc.html 661,7 746,34 -rect $runfft_8hcc.html 770,7 847,34 -rect $smartmedia_8hcc.html 871,7 989,34 diff --git a/Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.md5 deleted file mode 100644 index 64cf2d9..0000000 --- a/Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -0b1a3fcf1ab800e34bed7bf1922c4760
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.png Binary files differdeleted file mode 100644 index 6581c6e..0000000 --- a/Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/dir_000000.html b/Graphic_Equalizer/doc/html/dir_000000.html deleted file mode 100644 index dbd5d83..0000000 --- a/Graphic_Equalizer/doc/html/dir_000000.html +++ /dev/null @@ -1,20 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/ Directory Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a></div> -<h1>C: Directory Reference</h1><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Directories</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">directory </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_000001.html">Project Marcel & Oliver</a></td></tr> - -</table> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:09 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/dir_000001.html b/Graphic_Equalizer/doc/html/dir_000001.html deleted file mode 100644 index 61512ed..0000000 --- a/Graphic_Equalizer/doc/html/dir_000001.html +++ /dev/null @@ -1,20 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/ Directory Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a></div> -<h1>Project Marcel & Oliver Directory Reference</h1><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Directories</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">directory </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_000002.html">Graphic_Equalizer</a></td></tr> - -</table> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:09 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/dir_000002.html b/Graphic_Equalizer/doc/html/dir_000002.html deleted file mode 100644 index 2e70b5e..0000000 --- a/Graphic_Equalizer/doc/html/dir_000002.html +++ /dev/null @@ -1,22 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/ Directory Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a></div> -<h1>Graphic_Equalizer Directory Reference</h1><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Directories</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">directory </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_000003.html">include</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">directory </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_000004.html">src</a></td></tr> - -</table> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:09 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/dir_000003.html b/Graphic_Equalizer/doc/html/dir_000003.html deleted file mode 100644 index 466ed9f..0000000 --- a/Graphic_Equalizer/doc/html/dir_000003.html +++ /dev/null @@ -1,49 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/include/ Directory Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>include Directory Reference</h1><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Files</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="audio_8hch.html">audio.hch</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="configuration_8hch.html">configuration.hch</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="display_8hch.html">display.hch</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="display__shared_8hch.html">display_shared.hch</a></td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Datastructures and defines for usage when interacting with the display library. <br></td></tr> - -<p> -<tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="eventhandler_8hch.html">eventhandler.hch</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="eventhandler__shared_8hch.html">eventhandler_shared.hch</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="events_8hch.html">events.hch</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="fft_8hch.html">fft.hch</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="mouse_8hch.html">mouse.hch</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="mouse__shared_8hch.html">mouse_shared.hch</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="runfft_8hch.html">runfft.hch</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia_8hch.html">smartmedia.hch</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html">smartmedia_shared.hch</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="weights__256_8hch.html">weights_256.hch</a></td></tr> - -</table> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:09 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/dir_000004.html b/Graphic_Equalizer/doc/html/dir_000004.html deleted file mode 100644 index bed344b..0000000 --- a/Graphic_Equalizer/doc/html/dir_000004.html +++ /dev/null @@ -1,36 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/src/ Directory Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000004.html">src</a></div> -<h1>src Directory Reference</h1><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Files</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="audio_8hcc.html">audio.hcc</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="display_8hcc.html">display.hcc</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="eventhandler_8hcc.html">eventhandler.hcc</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="events_8hcc.html">events.hcc</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="fft_8hcc.html">fft.hcc</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="main_8hcc.html">main.hcc</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="mouse_8hcc.html">mouse.hcc</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="runfft_8hcc.html">runfft.hcc</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia_8hcc.html">smartmedia.hcc</a></td></tr> - -</table> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:09 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/dirs.html b/Graphic_Equalizer/doc/html/dirs.html deleted file mode 100644 index 8a34b30..0000000 --- a/Graphic_Equalizer/doc/html/dirs.html +++ /dev/null @@ -1,25 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: Directory Hierarchy</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindexHL" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<h1>Graphic Equalizer 2 Directories</h1>This directory hierarchy is sorted roughly, but not completely, alphabetically:<ul> -<li><a class="el" href="dir_000000.html">C:</a> -<ul> -<li><a class="el" href="dir_000001.html">Project Marcel & Oliver</a> -<ul> -<li><a class="el" href="dir_000002.html">Graphic_Equalizer</a> -<ul> -<li><a class="el" href="dir_000003.html">include</a> -<li><a class="el" href="dir_000004.html">src</a> -</ul> -</ul> -</ul> -</ul> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:09 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/display_8hcc-source.html b/Graphic_Equalizer/doc/html/display_8hcc-source.html deleted file mode 100644 index 6160bc7..0000000 --- a/Graphic_Equalizer/doc/html/display_8hcc-source.html +++ /dev/null @@ -1,310 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/src/display.hcc Source File</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000004.html">src</a></div> -<h1>display.hcc</h1><a href="display_8hcc.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 -00019 <span class="comment">/*</span> -00020 <span class="comment"> * Set the Clock rate for this domain. 25.175 Mhz is required for the Video output.</span> -00021 <span class="comment"> */</span> -<a name="l00022"></a><a class="code" href="display_8hcc.html#a0">00022</a> <span class="preprocessor">#define PAL_TARGET_CLOCK_RATE 25175000</span> -00023 <span class="preprocessor"></span> -00024 <span class="comment">/******** System Includes *************/</span> -00025 <span class="preprocessor">#include <stdlib.hch></span> -00026 -00027 <span class="preprocessor">#include "pal_master.hch"</span> -00028 -00029 <span class="comment">/******** Application Includes ********/</span> -00030 <span class="preprocessor">#include "<a class="code" href="configuration_8hch.html">configuration.hch</a>"</span> -00031 <span class="preprocessor">#include "<a class="code" href="audio_8hch.html">audio.hch</a>"</span> -00032 <span class="preprocessor">#include "<a class="code" href="eventhandler__shared_8hch.html">eventhandler_shared.hch</a>"</span> -00033 <span class="preprocessor">#include "<a class="code" href="mouse__shared_8hch.html">mouse_shared.hch</a>"</span> -00034 <span class="preprocessor">#include "<a class="code" href="smartmedia__shared_8hch.html">smartmedia_shared.hch</a>"</span> -00035 <span class="preprocessor">#include "<a class="code" href="display__shared_8hch.html">display_shared.hch</a>"</span> -00036 <span class="preprocessor">#include "<a class="code" href="display_8hch.html">display.hch</a>"</span> -00037 -00038 <span class="preprocessor">#if HAVE_DEBUG</span> -00039 <span class="preprocessor"></span><span class="preprocessor"> #include "debug.hch"</span> -00040 <span class="preprocessor">#endif</span> -00041 <span class="preprocessor"></span> -00042 -00043 -00044 <span class="comment">/*</span> -00045 <span class="comment"> * Channel to notify others when new mousedata is available. If so</span> -00046 <span class="comment"> * Then mousedata struct is updated with shared data.</span> -00047 <span class="comment"> */</span> -<a name="l00048"></a><a class="code" href="eventhandler_8hcc.html#a0">00048</a> chan <span class="keywordtype">unsigned</span> 1 maskupdate_notification; -00049 -00050 -00051 -<a name="l00065"></a><a class="code" href="display_8hcc.html#a2">00065</a> <span class="keywordtype">void</span> <a class="code" href="display_8hcc.html#a2">display_main</a>(<a class="code" href="structskindata__t.html">skindata_t</a> *skindata, <a class="code" href="structaudiodata__t.html">audiodata_t</a> *audiodata, <a class="code" href="structevents__t.html">events_t</a> *events, <a class="code" href="structmousedata__t.html">mousedata_t</a> *mousedata) { -00066 <span class="comment">/*</span> -00067 <span class="comment"> * Setup macro's RAM/Video handles and to coordinate pixel writing.</span> -00068 <span class="comment"> */</span> -00069 macro expr CLOCKRATE = PAL_ACTUAL_CLOCK_RATE; -00070 macro expr VIDEOOUT = PalVideoOutOptimalCT(CLOCKRATE); -00071 macro expr RAM_BANK0 = PalPL2RAMCT(0); -00072 macro expr DW = PalPL2RAMGetMaxDataWidthCT(); -00073 macro expr AW = PalPL2RAMGetMaxAddressWidthCT(); -00074 macro expr VISIBLEX = PalVideoOutGetVisibleX(VIDEOOUT, CLOCKRATE); -00075 macro expr TOTALX = PalVideoOutGetTotalX(VIDEOOUT, CLOCKRATE); -00076 macro expr TOTALY = PalVideoOutGetTotalY(VIDEOOUT); -00077 macro expr SCANX = PalVideoOutGetX(VIDEOOUT); -00078 macro expr SCANY = PalVideoOutGetY(VIDEOOUT); -00079 -00080 <span class="keywordtype">unsigned</span> DW pixeldata; -00081 <span class="keywordtype">unsigned</span> 24 visual_graph_color; -00082 <span class="keywordtype">unsigned</span> AW address, address_offset; -00083 -00084 -00085 -00086 <span class="comment">/*</span> -00087 <span class="comment"> * If the passed button_state tells us the button is active, then we</span> -00088 <span class="comment"> * the button is 'on' and we draw it inverted. Otherwise we draw the</span> -00089 <span class="comment"> * area of the button normally.</span> -00090 <span class="comment"> */</span> -00091 macro proc draw_button(button_state) { -00092 <span class="keywordflow">if</span> (button_state == pixeldata[31:24]) { -00093 PalVideoOutWrite(VIDEOOUT, ~<a class="code" href="display_8hch.html#a1">PIXEL</a>); -00094 } <span class="keywordflow">else</span> { -00095 PalVideoOutWrite(VIDEOOUT, <a class="code" href="display_8hch.html#a1">PIXEL</a>); -00096 } -00097 } -00098 -00099 <span class="comment">/*</span> -00100 <span class="comment"> * Prime Rendering Pipeline to start where the skin starts.</span> -00101 <span class="comment"> */</span> -00102 PalPL2RAMSetReadAddress(RAM_BANK0, <a class="code" href="smartmedia__shared_8hch.html#a22">ADDRESS_SKIN_START</a>); -00103 -00104 <span class="comment">/*</span> -00105 <span class="comment"> * Run the following tasks indefinatly and in parallel</span> -00106 <span class="comment"> */</span> -00107 <span class="keywordflow">while</span> (TRUE) { -00108 par { -00109 <span class="comment">/*</span> -00110 <span class="comment"> * Before starting this loop we allready set the the</span> -00111 <span class="comment"> * address. Therefor we can start reading the</span> -00112 <span class="comment"> * previously set address and prepare the next address</span> -00113 <span class="comment"> * for the next cycle.</span> -00114 <span class="comment"> */</span> -00115 PalPL2RAMRead(RAM_BANK0, &pixeldata); -00116 PalPL2RAMSetReadAddress(RAM_BANK0, address_offset +address); -00117 -00118 <span class="comment">/*</span> -00119 <span class="comment"> */</span> -00120 <span class="keywordflow">switch</span> (events-><a class="code" href="structevents__t.html#o4">mode</a>) { -00121 <span class="keywordflow">case</span> <a class="code" href="eventhandler__shared_8hch.html#a2">MODE_HELP</a>: -00122 address_offset = ADDRESS_HELP_START; -00123 <span class="keywordflow">break</span>; -00124 <span class="keywordflow">case</span> <a class="code" href="eventhandler__shared_8hch.html#a3">MODE_GRAPH</a>: -00125 address_offset = ADDRESS_GRAPHMASK_START; -00126 <span class="keywordflow">break</span>; -00127 <span class="keywordflow">default</span>: -00128 address_offset = ADDRESS_SKIN_START; -00129 <span class="keywordflow">break</span>; -00130 } -00131 -00132 <span class="keywordflow">if</span> (<a class="code" href="eventhandler__shared_8hch.html#a3">MODE_GRAPH</a> == events-><a class="code" href="structevents__t.html#o4">mode</a>) { -00133 par { -00134 visual_graph_color = ((<span class="keywordtype">unsigned</span> 8)(0 @ audiodata->fft_info.read[pixeldata[31:24]]) << 1) @ ((<span class="keywordtype">unsigned</span> 8)(0 @ audiodata->fft_info.read[pixeldata[31:24]]) << -1) @ ((<span class="keywordtype">unsigned</span> 8)(0 @ audiodata->fft_info.read[pixeldata[31:24]]) << 0); -00135 PalVideoOutWrite(VIDEOOUT, 0 @ visual_graph_color); -00136 } -00137 } <span class="keywordflow">else</span> { -00138 <span class="comment">/*</span> -00139 <span class="comment"> * Determin what to draw where here. Every case has an</span> -00140 <span class="comment"> * if else statement comparing wether to draw something</span> -00141 <span class="comment"> * special or the background. Every specific drawing</span> -00142 <span class="comment"> * obviously only happens in the masked area.</span> -00143 <span class="comment"> */</span> -00144 <span class="keywordflow">switch</span> (pixeldata[31:24]) { -00145 <span class="comment">/*</span> -00146 <span class="comment"> */</span> -00147 <span class="keywordflow">case</span> <a class="code" href="display__shared_8hch.html#a1">AREA_WAVEFORM</a>: -00148 <span class="keywordflow">if</span> (SCANY == 0 @ skindata->area_waveform_bottom -(0 @ (audiodata->ifft_info.read[((SCANX -(0 @ skindata->area_waveform_left)) <-8)]))) { -00149 PalVideoOutWrite(VIDEOOUT, skindata->color_area_waveform); -00150 } <span class="keywordflow">else</span> { -00151 PalVideoOutWrite(VIDEOOUT, <a class="code" href="display_8hch.html#a1">PIXEL</a>); -00152 } -00153 <span class="keywordflow">break</span>; -00154 -00155 <span class="comment">/*</span> -00156 <span class="comment"> * Volume control over the Y-axis.</span> -00157 <span class="comment"> */</span> -00158 <span class="keywordflow">case</span> <a class="code" href="display__shared_8hch.html#a2">AREA_VOLUME_YAXIS</a>: -00159 <span class="comment">/*</span> -00160 <span class="comment"> * The volume_position stores the</span> -00161 <span class="comment"> * highest point of our bar. Every</span> -00162 <span class="comment"> * pixel after this point is drawn.</span> -00163 <span class="comment"> */</span> -00164 <span class="keywordflow">if</span> (SCANY >= 0 @ events-><a class="code" href="structevents__t.html#o2">volume_position</a>) { -00165 PalVideoOutWrite(VIDEOOUT, skindata->color_area_volume); -00166 } <span class="keywordflow">else</span> { -00167 PalVideoOutWrite(VIDEOOUT, <a class="code" href="display_8hch.html#a1">PIXEL</a>); -00168 } -00169 <span class="keywordflow">break</span>; -00170 -00171 <span class="comment">/*</span> -00172 <span class="comment"> * Spectrum Analyzer</span> -00173 <span class="comment"> */</span> -00174 <span class="keywordflow">case</span> <a class="code" href="display__shared_8hch.html#a3">AREA_SPECTRUM_ANALYZER</a>: -00175 <span class="comment">/*</span> -00176 <span class="comment"> * We draw every pixel that is smaller TODO</span> -00177 <span class="comment"> */</span> -00178 <span class="keywordflow">if</span> ((SCANY >= (0 @ skindata->area_spectrum_bottom) -(0 @ audiodata->fft_info.read[(SCANX -(0 @ skindata->area_spectrum_left))[9:2]])) && ((SCANX -(0 @ skindata->area_spectrum_left)) <- 2)) { -00179 PalVideoOutWrite(VIDEOOUT, <a class="code" href="display_8hch.html#a4">PIXEL_SPECTRUM</a>); -00180 } <span class="keywordflow">else</span> { -00181 PalVideoOutWrite(VIDEOOUT, <a class="code" href="display_8hch.html#a1">PIXEL</a>); -00182 } -00183 <span class="keywordflow">break</span>; -00184 -00185 <span class="comment">/*</span> -00186 <span class="comment"> * Since all buttons are drawn equally, either</span> -00187 <span class="comment"> * we draw them normally or we inverse them, we</span> -00188 <span class="comment"> * can handle them almost equally.</span> -00189 <span class="comment"> */</span> -00190 <span class="keywordflow">case</span> <a class="code" href="display__shared_8hch.html#a7">BUTTON_PRESET_1</a>: <span class="comment">/* fall through */</span> -00191 <span class="keywordflow">case</span> <a class="code" href="display__shared_8hch.html#a8">BUTTON_PRESET_2</a>: <span class="comment">/* fall through */</span> -00192 <span class="keywordflow">case</span> <a class="code" href="display__shared_8hch.html#a9">BUTTON_PRESET_3</a>: <span class="comment">/* fall through */</span> -00193 <span class="keywordflow">case</span> <a class="code" href="display__shared_8hch.html#a10">BUTTON_PRESET_4</a>: <span class="comment">/* fall through */</span> -00194 <span class="keywordflow">case</span> <a class="code" href="display__shared_8hch.html#a11">BUTTON_PRESET_5</a>: <span class="comment">/* fall through */</span> -00195 <span class="keywordflow">case</span> <a class="code" href="display__shared_8hch.html#a12">BUTTON_PRESET_6</a>: -00196 <span class="comment">/*</span> -00197 <span class="comment"> * The active preset tells us what</span> -00198 <span class="comment"> * button is currently enabled. We must</span> -00199 <span class="comment"> * however not forget to add the preset</span> -00200 <span class="comment"> * button offset to possibly match it</span> -00201 <span class="comment"> * with the current mask.</span> -00202 <span class="comment"> */</span> -00203 draw_button((events-><a class="code" href="structevents__t.html#o1">active_preset</a> +<a class="code" href="display__shared_8hch.html#a7">BUTTON_PRESET_1</a>) <- 8); -00204 <span class="keywordflow">break</span>; -00205 -00206 <span class="keywordflow">case</span> <a class="code" href="display__shared_8hch.html#a15">BUTTON_PRECISE</a>: <span class="comment">/* fall through */</span> -00207 <span class="keywordflow">case</span> <a class="code" href="display__shared_8hch.html#a16">BUTTON_CONCAVE_HALF</a>: <span class="comment">/* fall through */</span> -00208 <span class="keywordflow">case</span> <a class="code" href="display__shared_8hch.html#a14">BUTTON_CONVEX_HALF</a>: <span class="comment">/* fall through */</span> -00209 <span class="keywordflow">case</span> <a class="code" href="display__shared_8hch.html#a17">BUTTON_CONCAVE_FULL</a>: <span class="comment">/* fall through */</span> -00210 <span class="keywordflow">case</span> <a class="code" href="display__shared_8hch.html#a13">BUTTON_CONVEX_FULL</a>: -00211 <span class="comment">/*</span> -00212 <span class="comment"> * equalizer mode tells us what button</span> -00213 <span class="comment"> * is currently enabled. By adding the</span> -00214 <span class="comment"> * equalizer mode button offset we can</span> -00215 <span class="comment"> * safley check wether it matches our</span> -00216 <span class="comment"> * mask.</span> -00217 <span class="comment"> */</span> -00218 draw_button((0 @ events-><a class="code" href="structevents__t.html#o5">equalizer_mode</a>) +<a class="code" href="display__shared_8hch.html#a15">BUTTON_PRECISE</a>); -00219 <span class="keywordflow">break</span>; -00220 -00221 <span class="keywordflow">case</span> <a class="code" href="display__shared_8hch.html#a4">BUTTON_LOG</a>: -00222 <span class="comment">/*</span> -00223 <span class="comment"> * </span> -00224 <span class="comment"> */</span> -00225 draw_button((0 @ audiodata-><a class="code" href="structaudiodata__t.html#o1">display_log</a>) +<a class="code" href="display__shared_8hch.html#a4">BUTTON_LOG</a>); -00226 <span class="keywordflow">break</span>; -00227 -00228 <span class="comment">/*</span> -00229 <span class="comment"> * The default case is split up into two parts</span> -00230 <span class="comment"> * actually. This is because we have 128 bands</span> -00231 <span class="comment"> * for the equalizer and thus as many mask</span> -00232 <span class="comment"> * entries. Since we don't want 128 identical</span> -00233 <span class="comment"> * cases we check wether the equalizer mask is</span> -00234 <span class="comment"> * currently active and if so draw it. If this</span> -00235 <span class="comment"> * is not the case we simply draw the</span> -00236 <span class="comment"> * background.</span> -00237 <span class="comment"> */</span> -00238 <span class="keywordflow">default</span>: -00239 <span class="comment">/* (pixeldata[31:24] <= AREA_EQUALIZER_MAX) && */</span> -00240 <span class="keywordflow">if</span> ((<a class="code" href="display__shared_8hch.html#a20">AREA_EQUALIZER_MIN</a> <= pixeldata[31:24]) && (!events-><a class="code" href="structevents__t.html#o6">locked_display</a>)) { -00241 <span class="keywordflow">if</span> ((SCANY == 0 @ events-><a class="code" href="structevents__t.html#o0">equalizer_display</a>[(pixeldata[31:24] -AREA_EQUALIZER_MIN) <- 7]) || ((SCANY +1) == 0 @ events-><a class="code" href="structevents__t.html#o0">equalizer_display</a>[(pixeldata[31:24] -AREA_EQUALIZER_MIN) <- 7])) { -00242 PalVideoOutWrite(VIDEOOUT, skindata->color_equalizer); -00243 } <span class="keywordflow">else</span> { -00244 PalVideoOutWrite(VIDEOOUT, <a class="code" href="display_8hch.html#a1">PIXEL</a>); -00245 } -00246 } <span class="keywordflow">else</span> { -00247 PalVideoOutWrite(VIDEOOUT, <a class="code" href="display_8hch.html#a1">PIXEL</a>); -00248 } -00249 <span class="keywordflow">break</span>; -00250 } -00251 } -00252 -00253 <span class="comment">/*</span> -00254 <span class="comment"> * We compare our current X and Y scan positions of the</span> -00255 <span class="comment"> * output to the x and y data of the mouse. When those</span> -00256 <span class="comment"> * are equal we set the current mask to the mask stored</span> -00257 <span class="comment"> * in memory at that location. We then know what mask</span> -00258 <span class="comment"> * is to be used for events.</span> -00259 <span class="comment"> */</span> -00260 <span class="keywordflow">if</span> (<a class="code" href="mouse__shared_8hch.html#a2">MOUSE_UPDATED</a> == mousedata-><a class="code" href="structmousedata__t.html#o3">status</a>) { -00261 <span class="keywordflow">if</span> ((SCANX == 0 @ mousedata-><a class="code" href="structmousedata__t.html#o0">x</a>) && (SCANY == 0 @ mousedata-><a class="code" href="structmousedata__t.html#o1">y</a>)) { -00262 par { -00263 events-><a class="code" href="structevents__t.html#o3">mask</a> = pixeldata[31:24]; -00264 mousedata-><a class="code" href="structmousedata__t.html#o3">status</a> = MOUSE_NOT_UPDATED; -00265 <a class="code" href="display_8hcc.html#a1">maskupdate_notification</a> ! MOUSE_UPDATED; -00266 } -00267 } <span class="keywordflow">else</span> { -00268 delay; -00269 } -00270 } <span class="keywordflow">else</span> { -00271 delay; -00272 } -00273 -00274 <span class="comment">/*</span> -00275 <span class="comment"> * The current position of the screen can lay in an</span> -00276 <span class="comment"> * area called the blanking area. We don't have data</span> -00277 <span class="comment"> * for this area as it is not drawn. We therefor have</span> -00278 <span class="comment"> * to determin wether we are beyond the visible area of</span> -00279 <span class="comment"> * the screen, but before the end of the total width of</span> -00280 <span class="comment"> * the screen. Our pipeline consists of 5 total stages.</span> -00281 <span class="comment"> * Therefor we have to substract 5 pixels.</span> -00282 <span class="comment"> */</span> -00283 <span class="keywordflow">if</span> ((SCANX > (VISIBLEX - 5)) && (SCANX <= (TOTALX - 5))) { -00284 <span class="comment">/*</span> -00285 <span class="comment"> * We are in the blanking area of the screen.</span> -00286 <span class="comment"> * If we are on the last line, and thus last</span> -00287 <span class="comment"> * pixel we reset our address counter.</span> -00288 <span class="comment"> */</span> -00289 <span class="keywordflow">if</span> (SCANY == (TOTALY -1)) { -00290 <span class="comment">/*</span> -00291 <span class="comment"> * Reset our draw address counter to 0.</span> -00292 <span class="comment"> */</span> -00293 address = 0; -00294 } <span class="keywordflow">else</span> { -00295 <span class="comment">/*</span> -00296 <span class="comment"> * We have reached the end of the</span> -00297 <span class="comment"> * visible line, but not the end of</span> -00298 <span class="comment"> * the screen. Therefore do nothing.</span> -00299 <span class="comment"> */</span> -00300 delay; -00301 } -00302 } <span class="keywordflow">else</span> { -00303 <span class="comment">/*</span> -00304 <span class="comment"> * Increase the memory counter for each pixel</span> -00305 <span class="comment"> * drawn thus keeping the memory location in</span> -00306 <span class="comment"> * sync with the current pixel position.</span> -00307 <span class="comment"> */</span> -00308 address++; -00309 } -00310 } -00311 } -00312 } <span class="comment">/* --- display_main() --- */</span> -00313 -00314 -00315 -<a name="l00328"></a><a class="code" href="display_8hcc.html#a3">00328</a> <span class="keywordtype">void</span> <a class="code" href="display_8hcc.html#a3">reload_equalizer</a>(<a class="code" href="structevents__t.html">events_t</a> *events, <span class="keywordtype">unsigned</span> 4 *equalizer_levels) { -00329 <span class="keywordtype">unsigned</span> 7 equalizer_band; -00330 -00331 events-><a class="code" href="structevents__t.html#o6">locked_display</a> = TRUE; -00332 delay; -00333 <span class="keywordflow">do</span> { -00334 events-><a class="code" href="structevents__t.html#o0">equalizer_display</a>[equalizer_band] = <a class="code" href="eventhandler__shared_8hch.html#a9">equalizer_table_inv</a>[equalizer_levels[equalizer_band]]; -00335 equalizer_band++; -00336 } <span class="keywordflow">while</span> (equalizer_band); -00337 events-><a class="code" href="structevents__t.html#o6">locked_display</a> = FALSE; -00338 } <span class="comment">/* --- reload_equalizer() --- */</span> -</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:06 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/display_8hcc.html b/Graphic_Equalizer/doc/html/display_8hcc.html deleted file mode 100644 index 97893f6..0000000 --- a/Graphic_Equalizer/doc/html/display_8hcc.html +++ /dev/null @@ -1,252 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/src/display.hcc File Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000004.html">src</a></div> -<h1>display.hcc File Reference</h1><code>#include <stdlib.hch></code><br> -<code>#include "pal_master.hch"</code><br> -<code>#include "<a class="el" href="configuration_8hch-source.html">configuration.hch</a>"</code><br> -<code>#include "<a class="el" href="audio_8hch-source.html">audio.hch</a>"</code><br> -<code>#include "<a class="el" href="eventhandler__shared_8hch-source.html">eventhandler_shared.hch</a>"</code><br> -<code>#include "<a class="el" href="mouse__shared_8hch-source.html">mouse_shared.hch</a>"</code><br> -<code>#include "<a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>"</code><br> -<code>#include "<a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>"</code><br> -<code>#include "<a class="el" href="display_8hch-source.html">display.hch</a>"</code><br> - -<p> -Include dependency graph for display.hcc:<p><center><img src="display_8hcc__incl.png" border="0" usemap="#display.hcc_map" alt="Include dependency graph"></center> -<map name="display.hcc_map"> -<area href="configuration_8hch.html" shape="rect" coords="245,7,370,34" alt=""> -<area href="audio_8hch.html" shape="rect" coords="394,7,474,34" alt=""> -<area href="eventhandler__shared_8hch.html" shape="rect" coords="498,7,671,34" alt=""> -<area href="mouse__shared_8hch.html" shape="rect" coords="695,7,831,34" alt=""> -<area href="smartmedia__shared_8hch.html" shape="rect" coords="855,7,1021,34" alt=""> -<area href="display__shared_8hch.html" shape="rect" coords="1045,7,1181,34" alt=""> -<area href="display_8hch.html" shape="rect" coords="1205,7,1293,34" alt=""> -</map> - -<p> -<a href="display_8hcc-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Defines</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="display_8hcc.html#a0">PAL_TARGET_CLOCK_RATE</a> 25175000</td></tr> - -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="display_8hcc.html#a2">display_main</a> (<a class="el" href="structskindata__t.html">skindata_t</a> *skindata, <a class="el" href="structaudiodata__t.html">audiodata_t</a> *audiodata, <a class="el" href="structevents__t.html">events_t</a> *events, <a class="el" href="structmousedata__t.html">mousedata_t</a> *mousedata)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">This routine handles all drawing of pixels. It never returns! <a href="#a2"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="display_8hcc.html#a3">reload_equalizer</a> (<a class="el" href="structevents__t.html">events_t</a> *events, unsigned 4 *equalizer_levels)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">This function copies the supplied equalizer values to the array used for displaying equalizer data. <a href="#a3"></a><br></td></tr> -<tr><td colspan="2"><br><h2>Variables</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">chan unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="display_8hcc.html#a1">maskupdate_notification</a></td></tr> - -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<h2><a class="anchor" name="generic"> -Graphic Equalizer API</a></h2> -<h2><a class="anchor" name="project"> -Project information.</a></h2> -Project Graphic Equalizer<br> - <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl> -<dl compact><dt><b>Date:</b></dt><dd>20041011 </dd></dl> -<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl> -<h2><a class="anchor" name="copyright"> -Copyright</a></h2> -Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history"> -Change history</a></h2> -20041011: O.M. Schinagl<br> - Initial version -<p> -Definition in file <a class="el" href="display_8hcc-source.html">display.hcc</a>.<hr><h2>Define Documentation</h2> -<a class="anchor" name="a0" doxytag="display.hcc::PAL_TARGET_CLOCK_RATE"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define PAL_TARGET_CLOCK_RATE 25175000 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="display_8hcc-source.html#l00022">22</a> of file <a class="el" href="display_8hcc-source.html">display.hcc</a>. </td> - </tr> -</table> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="a2" doxytag="display.hcc::display_main"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void display_main </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="structskindata__t.html">skindata_t</a> * </td> - <td class="mdname" nowrap> <em>skindata</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap><a class="el" href="structaudiodata__t.html">audiodata_t</a> * </td> - <td class="mdname" nowrap> <em>audiodata</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap><a class="el" href="structevents__t.html">events_t</a> * </td> - <td class="mdname" nowrap> <em>events</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap><a class="el" href="structmousedata__t.html">mousedata_t</a> * </td> - <td class="mdname" nowrap> <em>mousedata</em></td> - </tr> - <tr> - <td class="md"></td> - <td class="md">) </td> - <td class="md" colspan="2"></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -This routine handles all drawing of pixels. It never returns! -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>*skindata</em> </td><td>struct with all skin information. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>*audiodata</em> </td><td>struct with (i)fft data to be drawn. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>*events</em> </td><td>struct with all events. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>*mousedata</em> </td><td>struct with coordinates to current. X en Y.</td></tr> - </table> -</dl> -<dl compact><dt><b>Returns:</b></dt><dd>Never Returns. </dd></dl> -<dl compact><dt><b>Return values:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>void</em> </td><td></td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="display_8hcc-source.html#l00065">65</a> of file <a class="el" href="display_8hcc-source.html">display.hcc</a>. -<p> -References <a class="el" href="eventhandler__shared_8hch-source.html#l00031">events_t::active_preset</a>, <a class="el" href="smartmedia__shared_8hch-source.html#l00060">ADDRESS_SKIN_START</a>, <a class="el" href="display__shared_8hch-source.html#l00074">AREA_EQUALIZER_MIN</a>, <a class="el" href="display__shared_8hch-source.html#l00052">AREA_SPECTRUM_ANALYZER</a>, <a class="el" href="display__shared_8hch-source.html#l00051">AREA_VOLUME_YAXIS</a>, <a class="el" href="display__shared_8hch-source.html#l00050">AREA_WAVEFORM</a>, <a class="el" href="display__shared_8hch-source.html#l00069">BUTTON_CONCAVE_FULL</a>, <a class="el" href="display__shared_8hch-source.html#l00068">BUTTON_CONCAVE_HALF</a>, <a class="el" href="display__shared_8hch-source.html#l00065">BUTTON_CONVEX_FULL</a>, <a class="el" href="display__shared_8hch-source.html#l00066">BUTTON_CONVEX_HALF</a>, <a class="el" href="display__shared_8hch-source.html#l00054">BUTTON_LOG</a>, <a class="el" href="display__shared_8hch-source.html#l00067">BUTTON_PRECISE</a>, <a class="el" href="display__shared_8hch-source.html#l00058">BUTTON_PRESET_1</a>, <a class="el" href="display__shared_8hch-source.html#l00059">BUTTON_PRESET_2</a>, <a class="el" href="display__shared_8hch-source.html#l00060">BUTTON_PRESET_3</a>, <a class="el" href="display__shared_8hch-source.html#l00061">BUTTON_PRESET_4</a>, <a class="el" href="display__shared_8hch-source.html#l00062">BUTTON_PRESET_5</a>, <a class="el" href="display__shared_8hch-source.html#l00063">BUTTON_PRESET_6</a>, <a class="el" href="audio_8hch-source.html#l00035">audiodata_t::display_log</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00030">events_t::equalizer_display</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00035">events_t::equalizer_mode</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00036">events_t::locked_display</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00033">events_t::mask</a>, <a class="el" href="display_8hcc-source.html#l00048">maskupdate_notification</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00034">events_t::mode</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00042">MODE_GRAPH</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00041">MODE_HELP</a>, <a class="el" href="mouse__shared_8hch-source.html#l00039">MOUSE_UPDATED</a>, <a class="el" href="display_8hch-source.html#l00027">PIXEL</a>, <a class="el" href="display_8hch-source.html#l00030">PIXEL_SPECTRUM</a>, <a class="el" href="mouse__shared_8hch-source.html#l00030">mousedata_t::status</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00032">events_t::volume_position</a>, <a class="el" href="mouse__shared_8hch-source.html#l00028">mousedata_t::x</a>, and <a class="el" href="mouse__shared_8hch-source.html#l00028">mousedata_t::y</a>. -<p> -Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a3" doxytag="display.hcc::reload_equalizer"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void reload_equalizer </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="structevents__t.html">events_t</a> * </td> - <td class="mdname" nowrap> <em>events</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>unsigned 4 * </td> - <td class="mdname" nowrap> <em>equalizer_levels</em></td> - </tr> - <tr> - <td class="md"></td> - <td class="md">) </td> - <td class="md" colspan="2"></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -This function copies the supplied equalizer values to the array used for displaying equalizer data. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>*events</em> </td><td>events struct </td></tr> - <tr><td valign="top"></td><td valign="top"><em>*equalizer_levels</em> </td><td>pointer to 128 entries where equalizer is to be copied from.</td></tr> - </table> -</dl> -<dl compact><dt><b>Returns:</b></dt><dd>void </dd></dl> -<dl compact><dt><b>Return values:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>void</em> </td><td></td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="display_8hcc-source.html#l00328">328</a> of file <a class="el" href="display_8hcc-source.html">display.hcc</a>. -<p> -References <a class="el" href="eventhandler__shared_8hch-source.html#l00030">events_t::equalizer_display</a>, <a class="el" href="events_8hcc-source.html#l00076">equalizer_table_inv</a>, and <a class="el" href="eventhandler__shared_8hch-source.html#l00036">events_t::locked_display</a>. -<p> -Referenced by <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<hr><h2>Variable Documentation</h2> -<a class="anchor" name="a1" doxytag="display.hcc::maskupdate_notification"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">chan unsigned <a class="el" href="eventhandler_8hcc.html#a0">maskupdate_notification</a> </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="display_8hcc-source.html#l00048">48</a> of file <a class="el" href="display_8hcc-source.html">display.hcc</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>, and <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:08 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/display_8hcc__incl.map b/Graphic_Equalizer/doc/html/display_8hcc__incl.map deleted file mode 100644 index 81a6f64..0000000 --- a/Graphic_Equalizer/doc/html/display_8hcc__incl.map +++ /dev/null @@ -1,8 +0,0 @@ -base referer -rect $configuration_8hch.html 245,7 370,34 -rect $audio_8hch.html 394,7 474,34 -rect $eventhandler__shared_8hch.html 498,7 671,34 -rect $mouse__shared_8hch.html 695,7 831,34 -rect $smartmedia__shared_8hch.html 855,7 1021,34 -rect $display__shared_8hch.html 1045,7 1181,34 -rect $display_8hch.html 1205,7 1293,34 diff --git a/Graphic_Equalizer/doc/html/display_8hcc__incl.md5 b/Graphic_Equalizer/doc/html/display_8hcc__incl.md5 deleted file mode 100644 index 11ba440..0000000 --- a/Graphic_Equalizer/doc/html/display_8hcc__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -5e133a2b43b5f61d89ce22cb97bd0bbb
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/display_8hcc__incl.png b/Graphic_Equalizer/doc/html/display_8hcc__incl.png Binary files differdeleted file mode 100644 index 8341c12..0000000 --- a/Graphic_Equalizer/doc/html/display_8hcc__incl.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/display_8hch-source.html b/Graphic_Equalizer/doc/html/display_8hch-source.html deleted file mode 100644 index d345da6..0000000 --- a/Graphic_Equalizer/doc/html/display_8hch-source.html +++ /dev/null @@ -1,49 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/include/display.hch Source File</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>display.hch</h1><a href="display_8hch.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 -00019 <span class="preprocessor">#ifndef _DISPLAY_HCH</span> -<a name="l00020"></a><a class="code" href="display_8hch.html#a0">00020</a> <span class="preprocessor"></span><span class="preprocessor">#define _DISPLAY_HCH 1</span> -00021 <span class="preprocessor"></span> -00022 -00023 -00024 <span class="comment">/*</span> -00025 <span class="comment"> * Set the color for various items that will be drawn on screen.</span> -00026 <span class="comment"> */</span> -<a name="l00027"></a><a class="code" href="display_8hch.html#a1">00027</a> <span class="preprocessor">#define PIXEL (pixeldata <- 24)</span> -<a name="l00028"></a><a class="code" href="display_8hch.html#a2">00028</a> <span class="preprocessor"></span><span class="preprocessor">#define PIXEL_VOLUME (0x2d74b5)</span> -<a name="l00029"></a><a class="code" href="display_8hch.html#a3">00029</a> <span class="preprocessor"></span><span class="preprocessor">#define PIXEL_EQUALIZER (0xc7541f)</span> -<a name="l00030"></a><a class="code" href="display_8hch.html#a4">00030</a> <span class="preprocessor"></span><span class="preprocessor">#define PIXEL_SPECTRUM ((((skindata->area_spectrum_bottom -(SCANY <- 10)) <<1) <- 8) @ 0x00 @ (((skindata->area_spectrum_bottom -(SCANY <- 10)) <<1) <- 8))</span> -<a name="l00031"></a><a class="code" href="display_8hch.html#a5">00031</a> <span class="preprocessor"></span><span class="preprocessor">#define PIXEL_WAVEFORM (0x2d74b5)</span> -00032 <span class="preprocessor"></span> -00033 -00034 -00035 <span class="comment">/*</span> -00036 <span class="comment"> * Main display loop. This function never returns! It handles display output.</span> -00037 <span class="comment"> * It needs to respond to certain events set by the events pointer. Also it</span> -00038 <span class="comment"> * informs events what the current mask is. To optain the current mask we need</span> -00039 <span class="comment"> * the X and Y coordinates from our mousedata pointer.</span> -00040 <span class="comment"> */</span> -00041 <span class="keywordtype">void</span> <a class="code" href="display_8hcc.html#a2">display_main</a>(<a class="code" href="structskindata__t.html">skindata_t</a> *skindata, <a class="code" href="structaudiodata__t.html">audiodata_t</a> *audiodata, <a class="code" href="structevents__t.html">events_t</a> *events, <a class="code" href="structmousedata__t.html">mousedata_t</a> *mousedata); -00042 -00043 -00044 -00045 <span class="comment">/*</span> -00046 <span class="comment"> * reload equalizer bars into the display memory.</span> -00047 <span class="comment"> */</span> -00048 <span class="keywordtype">void</span> <a class="code" href="display_8hcc.html#a3">reload_equalizer</a>(<a class="code" href="structevents__t.html">events_t</a> *events, <span class="keywordtype">unsigned</span> 4 *equalizer_levels_ptr); -00049 -00050 <span class="preprocessor">#else</span> -00051 <span class="preprocessor"></span><span class="preprocessor">#error "ERROR file display.hch multiple times included"</span> -00052 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* --- _DISPLAY_HCH --- */</span> -</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:05 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/display_8hch.html b/Graphic_Equalizer/doc/html/display_8hch.html deleted file mode 100644 index 6dc74ce..0000000 --- a/Graphic_Equalizer/doc/html/display_8hch.html +++ /dev/null @@ -1,348 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/include/display.hch File Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>display.hch File Reference</h1> -<p> -This graph shows which files directly or indirectly include this file:<p><center><img src="display_8hch__dep__incl.png" border="0" usemap="#display.hchdep_map" alt="Included by dependency graph"></center> -<map name="display.hchdep_map"> -<area href="display_8hcc.html" shape="rect" coords="8,7,96,34" alt=""> -<area href="eventhandler_8hcc.html" shape="rect" coords="120,7,242,34" alt=""> -<area href="main_8hcc.html" shape="rect" coords="266,7,341,34" alt=""> -<area href="smartmedia_8hcc.html" shape="rect" coords="365,7,482,34" alt=""> -</map> - -<p> -<a href="display_8hch-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Defines</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="display_8hch.html#a0">_DISPLAY_HCH</a> 1</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="display_8hch.html#a1">PIXEL</a> (pixeldata <- 24)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="display_8hch.html#a2">PIXEL_VOLUME</a> (0x2d74b5)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="display_8hch.html#a3">PIXEL_EQUALIZER</a> (0xc7541f)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="display_8hch.html#a4">PIXEL_SPECTRUM</a> ((((skindata->area_spectrum_bottom -(SCANY <- 10)) <<1) <- 8) @ 0x00 @ (((skindata->area_spectrum_bottom -(SCANY <- 10)) <<1) <- 8))</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="display_8hch.html#a5">PIXEL_WAVEFORM</a> (0x2d74b5)</td></tr> - -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="display_8hch.html#a6">display_main</a> (<a class="el" href="structskindata__t.html">skindata_t</a> *skindata, <a class="el" href="structaudiodata__t.html">audiodata_t</a> *audiodata, <a class="el" href="structevents__t.html">events_t</a> *events, <a class="el" href="structmousedata__t.html">mousedata_t</a> *mousedata)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">This routine handles all drawing of pixels. It never returns! <a href="#a6"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="display_8hch.html#a7">reload_equalizer</a> (<a class="el" href="structevents__t.html">events_t</a> *events, unsigned 4 *equalizer_levels_ptr)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">This function copies the supplied equalizer values to the array used for displaying equalizer data. <a href="#a7"></a><br></td></tr> -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<h2><a class="anchor" name="generic"> -Graphic Equalizer API</a></h2> -<h2><a class="anchor" name="project"> -Project information.</a></h2> -Project Graphic Equalizer<br> - <dl compact><dt><b>Author:</b></dt><dd></dd></dl> -<dl compact><dt><b>Date:</b></dt><dd>20041011 </dd></dl> -<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl> -<h2><a class="anchor" name="copyright"> -Copyright</a></h2> -Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history"> -Change history</a></h2> -20041011: <br> - Initial version -<p> -Definition in file <a class="el" href="display_8hch-source.html">display.hch</a>.<hr><h2>Define Documentation</h2> -<a class="anchor" name="a0" doxytag="display.hch::_DISPLAY_HCH"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define _DISPLAY_HCH 1 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="display_8hch-source.html#l00020">20</a> of file <a class="el" href="display_8hch-source.html">display.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a1" doxytag="display.hch::PIXEL"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define PIXEL (pixeldata <- 24) </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="display_8hch-source.html#l00027">27</a> of file <a class="el" href="display_8hch-source.html">display.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a2" doxytag="display.hch::PIXEL_VOLUME"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define PIXEL_VOLUME (0x2d74b5) </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="display_8hch-source.html#l00028">28</a> of file <a class="el" href="display_8hch-source.html">display.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a3" doxytag="display.hch::PIXEL_EQUALIZER"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define PIXEL_EQUALIZER (0xc7541f) </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="display_8hch-source.html#l00029">29</a> of file <a class="el" href="display_8hch-source.html">display.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a4" doxytag="display.hch::PIXEL_SPECTRUM"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define PIXEL_SPECTRUM ((((skindata->area_spectrum_bottom -(SCANY <- 10)) <<1) <- 8) @ 0x00 @ (((skindata->area_spectrum_bottom -(SCANY <- 10)) <<1) <- 8)) </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="display_8hch-source.html#l00030">30</a> of file <a class="el" href="display_8hch-source.html">display.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a5" doxytag="display.hch::PIXEL_WAVEFORM"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define PIXEL_WAVEFORM (0x2d74b5) </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="display_8hch-source.html#l00031">31</a> of file <a class="el" href="display_8hch-source.html">display.hch</a>. </td> - </tr> -</table> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="a6" doxytag="display.hch::display_main"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void display_main </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="structskindata__t.html">skindata_t</a> * </td> - <td class="mdname" nowrap> <em>skindata</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap><a class="el" href="structaudiodata__t.html">audiodata_t</a> * </td> - <td class="mdname" nowrap> <em>audiodata</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap><a class="el" href="structevents__t.html">events_t</a> * </td> - <td class="mdname" nowrap> <em>events</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap><a class="el" href="structmousedata__t.html">mousedata_t</a> * </td> - <td class="mdname" nowrap> <em>mousedata</em></td> - </tr> - <tr> - <td class="md"></td> - <td class="md">) </td> - <td class="md" colspan="2"></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -This routine handles all drawing of pixels. It never returns! -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>*skindata</em> </td><td>struct with all skin information. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>*audiodata</em> </td><td>struct with (i)fft data to be drawn. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>*events</em> </td><td>struct with all events. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>*mousedata</em> </td><td>struct with coordinates to current. X en Y.</td></tr> - </table> -</dl> -<dl compact><dt><b>Returns:</b></dt><dd>Never Returns. </dd></dl> -<dl compact><dt><b>Return values:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>void</em> </td><td></td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="display_8hcc-source.html#l00065">65</a> of file <a class="el" href="display_8hcc-source.html">display.hcc</a>. -<p> -References <a class="el" href="eventhandler__shared_8hch-source.html#l00031">events_t::active_preset</a>, <a class="el" href="smartmedia__shared_8hch-source.html#l00060">ADDRESS_SKIN_START</a>, <a class="el" href="display__shared_8hch-source.html#l00074">AREA_EQUALIZER_MIN</a>, <a class="el" href="display__shared_8hch-source.html#l00052">AREA_SPECTRUM_ANALYZER</a>, <a class="el" href="display__shared_8hch-source.html#l00051">AREA_VOLUME_YAXIS</a>, <a class="el" href="display__shared_8hch-source.html#l00050">AREA_WAVEFORM</a>, <a class="el" href="display__shared_8hch-source.html#l00069">BUTTON_CONCAVE_FULL</a>, <a class="el" href="display__shared_8hch-source.html#l00068">BUTTON_CONCAVE_HALF</a>, <a class="el" href="display__shared_8hch-source.html#l00065">BUTTON_CONVEX_FULL</a>, <a class="el" href="display__shared_8hch-source.html#l00066">BUTTON_CONVEX_HALF</a>, <a class="el" href="display__shared_8hch-source.html#l00054">BUTTON_LOG</a>, <a class="el" href="display__shared_8hch-source.html#l00067">BUTTON_PRECISE</a>, <a class="el" href="display__shared_8hch-source.html#l00058">BUTTON_PRESET_1</a>, <a class="el" href="display__shared_8hch-source.html#l00059">BUTTON_PRESET_2</a>, <a class="el" href="display__shared_8hch-source.html#l00060">BUTTON_PRESET_3</a>, <a class="el" href="display__shared_8hch-source.html#l00061">BUTTON_PRESET_4</a>, <a class="el" href="display__shared_8hch-source.html#l00062">BUTTON_PRESET_5</a>, <a class="el" href="display__shared_8hch-source.html#l00063">BUTTON_PRESET_6</a>, <a class="el" href="audio_8hch-source.html#l00035">audiodata_t::display_log</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00030">events_t::equalizer_display</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00035">events_t::equalizer_mode</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00036">events_t::locked_display</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00033">events_t::mask</a>, <a class="el" href="display_8hcc-source.html#l00048">maskupdate_notification</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00034">events_t::mode</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00042">MODE_GRAPH</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00041">MODE_HELP</a>, <a class="el" href="mouse__shared_8hch-source.html#l00039">MOUSE_UPDATED</a>, <a class="el" href="display_8hch-source.html#l00027">PIXEL</a>, <a class="el" href="display_8hch-source.html#l00030">PIXEL_SPECTRUM</a>, <a class="el" href="mouse__shared_8hch-source.html#l00030">mousedata_t::status</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00032">events_t::volume_position</a>, <a class="el" href="mouse__shared_8hch-source.html#l00028">mousedata_t::x</a>, and <a class="el" href="mouse__shared_8hch-source.html#l00028">mousedata_t::y</a>. -<p> -Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a7" doxytag="display.hch::reload_equalizer"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void reload_equalizer </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="structevents__t.html">events_t</a> * </td> - <td class="mdname" nowrap> <em>events</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>unsigned 4 * </td> - <td class="mdname" nowrap> <em>equalizer_levels</em></td> - </tr> - <tr> - <td class="md"></td> - <td class="md">) </td> - <td class="md" colspan="2"></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -This function copies the supplied equalizer values to the array used for displaying equalizer data. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>*events</em> </td><td>events struct </td></tr> - <tr><td valign="top"></td><td valign="top"><em>*equalizer_levels</em> </td><td>pointer to 128 entries where equalizer is to be copied from.</td></tr> - </table> -</dl> -<dl compact><dt><b>Returns:</b></dt><dd>void </dd></dl> -<dl compact><dt><b>Return values:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>void</em> </td><td></td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="display_8hcc-source.html#l00328">328</a> of file <a class="el" href="display_8hcc-source.html">display.hcc</a>. -<p> -References <a class="el" href="eventhandler__shared_8hch-source.html#l00030">events_t::equalizer_display</a>, <a class="el" href="events_8hcc-source.html#l00076">equalizer_table_inv</a>, and <a class="el" href="eventhandler__shared_8hch-source.html#l00036">events_t::locked_display</a>. -<p> -Referenced by <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:07 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/display_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/display_8hch__dep__incl.map deleted file mode 100644 index 30f5f5c..0000000 --- a/Graphic_Equalizer/doc/html/display_8hch__dep__incl.map +++ /dev/null @@ -1,5 +0,0 @@ -base referer -rect $display_8hcc.html 8,7 96,34 -rect $eventhandler_8hcc.html 120,7 242,34 -rect $main_8hcc.html 266,7 341,34 -rect $smartmedia_8hcc.html 365,7 482,34 diff --git a/Graphic_Equalizer/doc/html/display_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/display_8hch__dep__incl.md5 deleted file mode 100644 index 4d52805..0000000 --- a/Graphic_Equalizer/doc/html/display_8hch__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -fbc7c2d77330776f0959b271562e7250
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/display_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/display_8hch__dep__incl.png Binary files differdeleted file mode 100644 index f842760..0000000 --- a/Graphic_Equalizer/doc/html/display_8hch__dep__incl.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/display__shared_8hch-source.html b/Graphic_Equalizer/doc/html/display__shared_8hch-source.html deleted file mode 100644 index 970054b..0000000 --- a/Graphic_Equalizer/doc/html/display__shared_8hch-source.html +++ /dev/null @@ -1,62 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/include/display_shared.hch Source File</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>display_shared.hch</h1><a href="display__shared_8hch.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 -00020 <span class="preprocessor">#ifndef _DISPLAY_SHARED_HCH</span> -<a name="l00021"></a><a class="code" href="display__shared_8hch.html#a0">00021</a> <span class="preprocessor"></span><span class="preprocessor">#define _DISPLAY_SHARED_HCH 1</span> -00022 <span class="preprocessor"></span> -00023 -00024 -<a name="l00029"></a><a class="code" href="structskindata__t.html">00029</a> <span class="keyword">struct </span><a class="code" href="structskindata__t.html">skindata_t</a> { -<a name="l00034"></a><a class="code" href="structskindata__t_1_1skin__info__t.html">00034</a> <span class="keyword">struct </span><a class="code" href="structskindata__t_1_1skin__info__t.html">skin_info_t</a> { -<a name="l00035"></a><a class="code" href="structskindata__t_1_1skin__info__t.html#o0">00035</a> <span class="keywordtype">unsigned</span> 10 area_bottom; -<a name="l00036"></a><a class="code" href="structskindata__t_1_1skin__info__t.html#o1">00036</a> <span class="keywordtype">unsigned</span> 10 area_top; -<a name="l00037"></a><a class="code" href="structskindata__t_1_1skin__info__t.html#o2">00037</a> <span class="keywordtype">unsigned</span> 10 area_left; -<a name="l00038"></a><a class="code" href="structskindata__t_1_1skin__info__t.html#o3">00038</a> <span class="keywordtype">unsigned</span> 10 area_right; -<a name="l00039"></a><a class="code" href="structskindata__t_1_1skin__info__t.html#o4">00039</a> <span class="keywordtype">unsigned</span> 24 color_primary; -<a name="l00040"></a><a class="code" href="structskindata__t_1_1skin__info__t.html#o5">00040</a> <span class="keywordtype">unsigned</span> 24 color_secondary; -00041 }; -<a name="l00042"></a><a class="code" href="structskindata__t.html#o0">00042</a> <span class="keyword">struct </span><a class="code" href="structskindata__t_1_1skin__info__t.html">skin_info_t</a> waveform; -<a name="l00043"></a><a class="code" href="structskindata__t.html#o1">00043</a> <span class="keyword">struct </span><a class="code" href="structskindata__t_1_1skin__info__t.html">skin_info_t</a> spectrum; -<a name="l00044"></a><a class="code" href="structskindata__t.html#o2">00044</a> <span class="keyword">struct </span><a class="code" href="structskindata__t_1_1skin__info__t.html">skin_info_t</a> volume; -<a name="l00045"></a><a class="code" href="structskindata__t.html#o3">00045</a> <span class="keyword">struct </span><a class="code" href="structskindata__t_1_1skin__info__t.html">skin_info_t</a> equalizer; -00046 }; -00047 -00048 -00049 -<a name="l00050"></a><a class="code" href="display__shared_8hch.html#a1">00050</a> <span class="preprocessor">#define AREA_WAVEFORM 0x01 </span> -<a name="l00051"></a><a class="code" href="display__shared_8hch.html#a2">00051</a> <span class="preprocessor">#define AREA_VOLUME_YAXIS 0x02 </span> -<a name="l00052"></a><a class="code" href="display__shared_8hch.html#a3">00052</a> <span class="preprocessor">#define AREA_SPECTRUM_ANALYZER 0x03 </span> -<a name="l00054"></a><a class="code" href="display__shared_8hch.html#a4">00054</a> <span class="preprocessor">#define BUTTON_LOG 0x04 </span> -<a name="l00055"></a><a class="code" href="display__shared_8hch.html#a5">00055</a> <span class="preprocessor">#define BUTTON_DEMO 0x05 </span> -<a name="l00056"></a><a class="code" href="display__shared_8hch.html#a6">00056</a> <span class="preprocessor">#define BUTTON_RESET 0x06 </span> -<a name="l00058"></a><a class="code" href="display__shared_8hch.html#a7">00058</a> <span class="preprocessor">#define BUTTON_PRESET_1 0x07 </span> -<a name="l00059"></a><a class="code" href="display__shared_8hch.html#a8">00059</a> <span class="preprocessor">#define BUTTON_PRESET_2 0x08 </span> -<a name="l00060"></a><a class="code" href="display__shared_8hch.html#a9">00060</a> <span class="preprocessor">#define BUTTON_PRESET_3 0x09 </span> -<a name="l00061"></a><a class="code" href="display__shared_8hch.html#a10">00061</a> <span class="preprocessor">#define BUTTON_PRESET_4 0x0a </span> -<a name="l00062"></a><a class="code" href="display__shared_8hch.html#a11">00062</a> <span class="preprocessor">#define BUTTON_PRESET_5 0x0b </span> -<a name="l00063"></a><a class="code" href="display__shared_8hch.html#a12">00063</a> <span class="preprocessor">#define BUTTON_PRESET_6 0x0c </span> -<a name="l00065"></a><a class="code" href="display__shared_8hch.html#a13">00065</a> <span class="preprocessor">#define BUTTON_CONVEX_FULL 0x0d </span> -<a name="l00066"></a><a class="code" href="display__shared_8hch.html#a14">00066</a> <span class="preprocessor">#define BUTTON_CONVEX_HALF 0x0e </span> -<a name="l00067"></a><a class="code" href="display__shared_8hch.html#a15">00067</a> <span class="preprocessor">#define BUTTON_PRECISE 0x0f </span> -<a name="l00068"></a><a class="code" href="display__shared_8hch.html#a16">00068</a> <span class="preprocessor">#define BUTTON_CONCAVE_HALF 0x10 </span> -<a name="l00069"></a><a class="code" href="display__shared_8hch.html#a17">00069</a> <span class="preprocessor">#define BUTTON_CONCAVE_FULL 0x11 </span> -<a name="l00071"></a><a class="code" href="display__shared_8hch.html#a18">00071</a> <span class="preprocessor">#define BUTTON_HELP 0x12 </span> -<a name="l00072"></a><a class="code" href="display__shared_8hch.html#a19">00072</a> <span class="preprocessor">#define BUTTON_MODE 0x13 </span> -<a name="l00074"></a><a class="code" href="display__shared_8hch.html#a20">00074</a> <span class="preprocessor">#define AREA_EQUALIZER_MIN 0x80 </span> -<a name="l00075"></a><a class="code" href="display__shared_8hch.html#a21">00075</a> <span class="preprocessor">#define AREA_EQUALIZER_MAX 0xff </span> -00077 <span class="preprocessor">#else</span> -00078 <span class="preprocessor"></span><span class="preprocessor">#error "ERROR file display_shared.hch multiple times included"</span> -00079 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* --- _DISPLAY_SHARED_HCH --- */</span> -00080 -</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:06 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/display__shared_8hch.html b/Graphic_Equalizer/doc/html/display__shared_8hch.html deleted file mode 100644 index 7d51724..0000000 --- a/Graphic_Equalizer/doc/html/display__shared_8hch.html +++ /dev/null @@ -1,691 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/include/display_shared.hch File Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>display_shared.hch File Reference</h1>Datastructures and defines for usage when interacting with the display library. <a href="#_details">More...</a> -<p> - -<p> -This graph shows which files directly or indirectly include this file:<p><center><img src="display__shared_8hch__dep__incl.png" border="0" usemap="#display_shared.hchdep_map" alt="Included by dependency graph"></center> -<map name="display_shared.hchdep_map"> -<area href="display_8hcc.html" shape="rect" coords="8,7,96,34" alt=""> -<area href="eventhandler_8hcc.html" shape="rect" coords="120,7,242,34" alt=""> -<area href="main_8hcc.html" shape="rect" coords="266,7,341,34" alt=""> -<area href="smartmedia_8hcc.html" shape="rect" coords="365,7,482,34" alt=""> -</map> - -<p> -<a href="display__shared_8hch-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structskindata__t.html">skindata_t</a></td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">This struct contains all area- dimensions and color information for the skin. <a href="structskindata__t.html#_details">More...</a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structskindata__t_1_1skin__info__t.html">skindata_t::skin_info_t</a></td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Structure containing the four boundry limits of an area and maximal two colors per area. <a href="structskindata__t_1_1skin__info__t.html#_details">More...</a><br></td></tr> -<tr><td colspan="2"><br><h2>Defines</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="display__shared_8hch.html#a0">_DISPLAY_SHARED_HCH</a> 1</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="display__shared_8hch.html#a1">AREA_WAVEFORM</a> 0x01</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="display__shared_8hch.html#a2">AREA_VOLUME_YAXIS</a> 0x02</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="display__shared_8hch.html#a3">AREA_SPECTRUM_ANALYZER</a> 0x03</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="display__shared_8hch.html#a4">BUTTON_LOG</a> 0x04</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="display__shared_8hch.html#a5">BUTTON_DEMO</a> 0x05</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="display__shared_8hch.html#a6">BUTTON_RESET</a> 0x06</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="display__shared_8hch.html#a7">BUTTON_PRESET_1</a> 0x07</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="display__shared_8hch.html#a8">BUTTON_PRESET_2</a> 0x08</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="display__shared_8hch.html#a9">BUTTON_PRESET_3</a> 0x09</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="display__shared_8hch.html#a10">BUTTON_PRESET_4</a> 0x0a</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="display__shared_8hch.html#a11">BUTTON_PRESET_5</a> 0x0b</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="display__shared_8hch.html#a12">BUTTON_PRESET_6</a> 0x0c</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="display__shared_8hch.html#a13">BUTTON_CONVEX_FULL</a> 0x0d</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="display__shared_8hch.html#a14">BUTTON_CONVEX_HALF</a> 0x0e</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="display__shared_8hch.html#a15">BUTTON_PRECISE</a> 0x0f</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="display__shared_8hch.html#a16">BUTTON_CONCAVE_HALF</a> 0x10</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="display__shared_8hch.html#a17">BUTTON_CONCAVE_FULL</a> 0x11</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="display__shared_8hch.html#a18">BUTTON_HELP</a> 0x12</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="display__shared_8hch.html#a19">BUTTON_MODE</a> 0x13</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="display__shared_8hch.html#a20">AREA_EQUALIZER_MIN</a> 0x80</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="display__shared_8hch.html#a21">AREA_EQUALIZER_MAX</a> 0xff</td></tr> - -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -Datastructures and defines for usage when interacting with the display library. -<p> -<h2><a class="anchor" name="project"> -Project information.</a></h2> -Graphic Equalizer 2<br> - <dl compact><dt><b>Author:</b></dt><dd></dd></dl> -<dl compact><dt><b>Date:</b></dt><dd>20041011 </dd></dl> -<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl> -<h2><a class="anchor" name="copyright"> -Copyright</a></h2> -Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history"> -Change history</a></h2> -20041011: <br> - Initial version -<p> -Definition in file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>.<hr><h2>Define Documentation</h2> -<a class="anchor" name="a0" doxytag="display_shared.hch::_DISPLAY_SHARED_HCH"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define _DISPLAY_SHARED_HCH 1 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00021">21</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a1" doxytag="display_shared.hch::AREA_WAVEFORM"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define AREA_WAVEFORM 0x01 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Waveform area. -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00050">50</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a2" doxytag="display_shared.hch::AREA_VOLUME_YAXIS"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define AREA_VOLUME_YAXIS 0x02 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Volume control on the Y plane. -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00051">51</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>, and <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a3" doxytag="display_shared.hch::AREA_SPECTRUM_ANALYZER"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define AREA_SPECTRUM_ANALYZER 0x03 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Spectrum Analyzer area. -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00052">52</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a4" doxytag="display_shared.hch::BUTTON_LOG"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define BUTTON_LOG 0x04 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Logarithmic display button. -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00054">54</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>, and <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a5" doxytag="display_shared.hch::BUTTON_DEMO"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define BUTTON_DEMO 0x05 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Demo preset button. -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00055">55</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. -<p> -Referenced by <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a6" doxytag="display_shared.hch::BUTTON_RESET"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define BUTTON_RESET 0x06 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Reset presets button. -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00056">56</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. -<p> -Referenced by <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a7" doxytag="display_shared.hch::BUTTON_PRESET_1"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define BUTTON_PRESET_1 0x07 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Button for switching to preset 1 -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00058">58</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>, and <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a8" doxytag="display_shared.hch::BUTTON_PRESET_2"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define BUTTON_PRESET_2 0x08 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Button for switching to preset 2 -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00059">59</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a9" doxytag="display_shared.hch::BUTTON_PRESET_3"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define BUTTON_PRESET_3 0x09 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Button for switching to preset 3 -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00060">60</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a10" doxytag="display_shared.hch::BUTTON_PRESET_4"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define BUTTON_PRESET_4 0x0a </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Button for switching to preset 4 -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00061">61</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a11" doxytag="display_shared.hch::BUTTON_PRESET_5"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define BUTTON_PRESET_5 0x0b </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Button for switching to preset 5 -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00062">62</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a12" doxytag="display_shared.hch::BUTTON_PRESET_6"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define BUTTON_PRESET_6 0x0c </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Button for switching to preset 6 -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00063">63</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a13" doxytag="display_shared.hch::BUTTON_CONVEX_FULL"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define BUTTON_CONVEX_FULL 0x0d </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -/ - \ 'Convex' mode Button -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00065">65</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a14" doxytag="display_shared.hch::BUTTON_CONVEX_HALF"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define BUTTON_CONVEX_HALF 0x0e </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -/\ 'Convex' mode Button -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00066">66</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a15" doxytag="display_shared.hch::BUTTON_PRECISE"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define BUTTON_PRECISE 0x0f </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -| 'Precise' selection Button -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00067">67</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>, and <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a16" doxytag="display_shared.hch::BUTTON_CONCAVE_HALF"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define BUTTON_CONCAVE_HALF 0x10 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -\/ 'Concave' mode Button -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00068">68</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a17" doxytag="display_shared.hch::BUTTON_CONCAVE_FULL"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define BUTTON_CONCAVE_FULL 0x11 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -\ _ / 'Concave' mode Button -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00069">69</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a18" doxytag="display_shared.hch::BUTTON_HELP"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define BUTTON_HELP 0x12 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Button to display help screen. -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00071">71</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. -<p> -Referenced by <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a19" doxytag="display_shared.hch::BUTTON_MODE"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define BUTTON_MODE 0x13 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Button to change operation mode. -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00072">72</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. -<p> -Referenced by <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a20" doxytag="display_shared.hch::AREA_EQUALIZER_MIN"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define AREA_EQUALIZER_MIN 0x80 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -First bar of the Equalizer Area. -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00074">74</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>, and <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a21" doxytag="display_shared.hch::AREA_EQUALIZER_MAX"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define AREA_EQUALIZER_MAX 0xff </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Last bar of the Equalizer Area. -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00075">75</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. -<p> -Referenced by <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:07 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.map deleted file mode 100644 index 30f5f5c..0000000 --- a/Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.map +++ /dev/null @@ -1,5 +0,0 @@ -base referer -rect $display_8hcc.html 8,7 96,34 -rect $eventhandler_8hcc.html 120,7 242,34 -rect $main_8hcc.html 266,7 341,34 -rect $smartmedia_8hcc.html 365,7 482,34 diff --git a/Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.md5 deleted file mode 100644 index 2c831b5..0000000 --- a/Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -6ad6e26d3432e59b7a161de855d0e8bc
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.png Binary files differdeleted file mode 100644 index 7484dd7..0000000 --- a/Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/doxygen.css b/Graphic_Equalizer/doc/html/doxygen.css deleted file mode 100644 index 1d4d631..0000000 --- a/Graphic_Equalizer/doc/html/doxygen.css +++ /dev/null @@ -1,271 +0,0 @@ -BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV { - font-family: Geneva, Arial, Helvetica, sans-serif; -} -H1 { - text-align: center; -} -CAPTION { font-weight: bold } -DIV.qindex { - width: 100%; - background-color: #eeeeff; - border: 1px solid #b0b0b0; - text-align: center; - margin: 2px; - padding: 2px; - line-height: 140%; -} -DIV.nav { - width: 100%; - background-color: #eeeeff; - border: 1px solid #b0b0b0; - text-align: center; - margin: 2px; - padding: 2px; - line-height: 140%; -} -A.qindex { - text-decoration: none; - font-weight: bold; - color: #1A419D; -} -A.qindex:visited { - text-decoration: none; - font-weight: bold; - color: #1A419D -} -A.qindex:hover { - text-decoration: none; - background-color: #ddddff; -} -A.qindexHL { - text-decoration: none; - font-weight: bold; - background-color: #6666cc; - color: #ffffff; - border: 1px double #9295C2; -} -A.qindexHL:hover { - text-decoration: none; - background-color: #6666cc; - color: #ffffff; -} -A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff } -A.el { text-decoration: none; font-weight: bold } -A.elRef { font-weight: bold } -A.code:link { text-decoration: none; font-weight: normal; color: #0000FF} -A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF} -A.codeRef:link { font-weight: normal; color: #0000FF} -A.codeRef:visited { font-weight: normal; color: #0000FF} -A:hover { text-decoration: none; background-color: #f2f2ff } -DL.el { margin-left: -1cm } -.fragment { - font-family: monospace -} -PRE.fragment { - border: 1px solid #CCCCCC; - background-color: #f5f5f5; - margin-top: 4px; - margin-bottom: 4px; - margin-left: 2px; - margin-right: 8px; - padding-left: 6px; - padding-right: 6px; - padding-top: 4px; - padding-bottom: 4px; -} -DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px } -TD.md { background-color: #F4F4FB; font-weight: bold; } -TD.mdname1 { background-color: #F4F4FB; font-weight: bold; color: #602020; } -TD.mdname { background-color: #F4F4FB; font-weight: bold; color: #602020; width: 600px; } -DIV.groupHeader { - margin-left: 16px; - margin-top: 12px; - margin-bottom: 6px; - font-weight: bold; -} -DIV.groupText { margin-left: 16px; font-style: italic; font-size: 14px } -BODY { - background: white; - color: black; - margin-right: 20px; - margin-left: 20px; -} -TD.indexkey { - background-color: #eeeeff; - font-weight: bold; - padding-right : 10px; - padding-top : 2px; - padding-left : 10px; - padding-bottom : 2px; - margin-left : 0px; - margin-right : 0px; - margin-top : 2px; - margin-bottom : 2px; - border: 1px solid #CCCCCC; -} -TD.indexvalue { - background-color: #eeeeff; - font-style: italic; - padding-right : 10px; - padding-top : 2px; - padding-left : 10px; - padding-bottom : 2px; - margin-left : 0px; - margin-right : 0px; - margin-top : 2px; - margin-bottom : 2px; - border: 1px solid #CCCCCC; -} -TR.memlist { - background-color: #f0f0f0; -} -P.formulaDsp { text-align: center; } -IMG.formulaDsp { } -IMG.formulaInl { vertical-align: middle; } -SPAN.keyword { color: #008000 } -SPAN.keywordtype { color: #604020 } -SPAN.keywordflow { color: #e08000 } -SPAN.comment { color: #800000 } -SPAN.preprocessor { color: #806020 } -SPAN.stringliteral { color: #002080 } -SPAN.charliteral { color: #008080 } -.mdTable { - border: 1px solid #868686; - background-color: #F4F4FB; -} -.mdRow { - padding: 8px 10px; -} -.mdescLeft { - padding: 0px 8px 4px 8px; - font-size: 12px; - font-style: italic; - background-color: #FAFAFA; - border-top: 1px none #E0E0E0; - border-right: 1px none #E0E0E0; - border-bottom: 1px none #E0E0E0; - border-left: 1px none #E0E0E0; - margin: 0px; -} -.mdescRight { - padding: 0px 8px 4px 8px; - font-size: 12px; - font-style: italic; - background-color: #FAFAFA; - border-top: 1px none #E0E0E0; - border-right: 1px none #E0E0E0; - border-bottom: 1px none #E0E0E0; - border-left: 1px none #E0E0E0; - margin: 0px; -} -.memItemLeft { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: solid; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 12px; -} -.memItemRight { - padding: 1px 8px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: solid; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 13px; -} -.memTemplItemLeft { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: none; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 12px; -} -.memTemplItemRight { - padding: 1px 8px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: none; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 13px; -} -.memTemplParams { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: solid; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - color: #606060; - background-color: #FAFAFA; - font-size: 12px; -} -.search { color: #003399; - font-weight: bold; -} -FORM.search { - margin-bottom: 0px; - margin-top: 0px; -} -INPUT.search { font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #eeeeff; -} -TD.tiny { font-size: 75%; -} -a { - color: #252E78; -} -a:visited { - color: #3D2185; -} diff --git a/Graphic_Equalizer/doc/html/doxygen.png b/Graphic_Equalizer/doc/html/doxygen.png Binary files differdeleted file mode 100644 index f0a274b..0000000 --- a/Graphic_Equalizer/doc/html/doxygen.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hcc-source.html b/Graphic_Equalizer/doc/html/eventhandler_8hcc-source.html deleted file mode 100644 index f6433b3..0000000 --- a/Graphic_Equalizer/doc/html/eventhandler_8hcc-source.html +++ /dev/null @@ -1,299 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/src/eventhandler.hcc Source File</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000004.html">src</a></div> -<h1>eventhandler.hcc</h1><a href="eventhandler_8hcc.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 -00021 <span class="comment">/******** System Includes *************/</span> -00022 <span class="preprocessor">#include <stdlib.hch></span> -00023 -00024 <span class="preprocessor">#include "pal_master.hch"</span> -00025 -00026 <span class="comment">/******** Application Includes ********/</span> -00027 <span class="preprocessor">#include "<a class="code" href="configuration_8hch.html">configuration.hch</a>"</span> -00028 <span class="preprocessor">#include "<a class="code" href="audio_8hch.html">audio.hch</a>"</span> -00029 <span class="preprocessor">#include "<a class="code" href="mouse__shared_8hch.html">mouse_shared.hch</a>"</span> -00030 <span class="preprocessor">#include "<a class="code" href="eventhandler__shared_8hch.html">eventhandler_shared.hch</a>"</span> -00031 <span class="preprocessor">#include "<a class="code" href="eventhandler_8hch.html">eventhandler.hch</a>"</span> -00032 <span class="preprocessor">#include "<a class="code" href="events_8hch.html">events.hch</a>"</span> -00033 <span class="preprocessor">#include "<a class="code" href="display__shared_8hch.html">display_shared.hch</a>"</span> -00034 <span class="preprocessor">#include "<a class="code" href="display_8hch.html">display.hch</a>"</span> -00035 -00036 <span class="preprocessor">#if HAVE_DEBUG</span> -00037 <span class="preprocessor"></span><span class="preprocessor"> #include "debug.hch"</span> -00038 <span class="preprocessor">#endif</span> -00039 <span class="preprocessor"></span> -00040 -00041 -00042 <span class="comment">/*</span> -00043 <span class="comment"> */</span> -00044 <span class="keyword">extern</span> chan <span class="keywordtype">unsigned</span> 1 maskupdate_notification; -00045 -00046 -00047 -<a name="l00059"></a><a class="code" href="eventhandler_8hcc.html#a2">00059</a> <span class="keywordtype">void</span> <a class="code" href="eventhandler_8hcc.html#a2">eventhandler_main</a>(<a class="code" href="structaudiodata__t.html">audiodata_t</a> *audiodata, <a class="code" href="structevents__t.html">events_t</a> *events, <a class="code" href="structmousedata__t.html">mousedata_t</a> *mousedata) { -00060 mpram { -00061 ram <span class="keywordtype">unsigned</span> 4 write[768]; -00062 rom <span class="keywordtype">unsigned</span> 4 read[768]; -00063 } equalizer_levels with { block = <span class="stringliteral">"BlockRAM"</span>}; -00064 -00065 <span class="keywordtype">unsigned</span> 10 preset_offset; -00066 <span class="keywordtype">unsigned</span> 10 reference_point, reference_point_right; -00067 <span class="keywordtype">unsigned</span> 5 volume_left; -00068 <span class="keywordtype">unsigned</span> 4 index_offset, index_end; -00069 <span class="keywordtype">unsigned</span> 4 equalizer_mode_local; -00070 <span class="keywordtype">unsigned</span> 1 newmaskupdate; -00071 -00072 <a class="code" href="events_8hcc.html#a3">load_preset</a>(<a class="code" href="eventhandler_8hch.html#a1">LOAD_PRESET_RESET</a>, equalizer_levels.write); -00073 <a class="code" href="display_8hcc.html#a3">reload_equalizer</a>(events, &equalizer_levels.write[preset_offset]); -00074 -00075 <span class="keywordflow">while</span> (TRUE) { -00076 <a class="code" href="display_8hcc.html#a1">maskupdate_notification</a> ? newmaskupdate; -00077 -00078 <span class="comment">/*</span> -00079 <span class="comment"> * First we determine what mousestate we currently have. Then</span> -00080 <span class="comment"> * we check where we are to decide what to do.</span> -00081 <span class="comment"> */</span> -00082 <span class="keywordflow">switch</span> (mousedata-><a class="code" href="structmousedata__t.html#o2">state</a>) { -00083 <span class="keywordflow">case</span> <a class="code" href="mouse__shared_8hch.html#a4">MOUSE_STATE_ON_PRESS</a>: -00084 <span class="comment">/*</span> -00085 <span class="comment"> * If we are displaying the graphic visual,</span> -00086 <span class="comment"> * any press returns to the application.</span> -00087 <span class="comment"> */</span> -00088 <span class="keywordflow">if</span> (<a class="code" href="eventhandler__shared_8hch.html#a3">MODE_GRAPH</a> == events-><a class="code" href="structevents__t.html#o4">mode</a>) { -00089 events-><a class="code" href="structevents__t.html#o4">mode</a> = MODE_SKIN; -00090 events-><a class="code" href="structevents__t.html#o3">mask</a> = 0; -00091 } <span class="keywordflow">else</span> { -00092 delay; -00093 } -00094 -00095 <span class="comment">/*</span> -00096 <span class="comment"> */</span> -00097 <span class="keywordflow">if</span> (<a class="code" href="display__shared_8hch.html#a19">BUTTON_MODE</a> == events-><a class="code" href="structevents__t.html#o3">mask</a>) { -00098 <span class="keywordflow">if</span> (<a class="code" href="eventhandler__shared_8hch.html#a3">MODE_GRAPH</a> == events-><a class="code" href="structevents__t.html#o4">mode</a>) { -00099 events-><a class="code" href="structevents__t.html#o4">mode</a> = MODE_SKIN; -00100 } <span class="keywordflow">else</span> { -00101 events-><a class="code" href="structevents__t.html#o4">mode</a> = MODE_GRAPH; -00102 } -00103 } <span class="keywordflow">else</span> { -00104 delay; -00105 } -00106 -00107 <span class="comment">/*</span> -00108 <span class="comment"> * If the current mask equals the help button</span> -00109 <span class="comment"> * we set display mode to help.</span> -00110 <span class="comment"> */</span> -00111 <span class="keywordflow">if</span> (<a class="code" href="display__shared_8hch.html#a18">BUTTON_HELP</a> == events-><a class="code" href="structevents__t.html#o3">mask</a>) { -00112 <span class="comment">/*</span> -00113 <span class="comment"> * Change the mode to help if it's</span> -00114 <span class="comment"> * currently not set, otherwise go back</span> -00115 <span class="comment"> * to skin mode.</span> -00116 <span class="comment"> */</span> -00117 <span class="keywordflow">if</span> (<a class="code" href="eventhandler__shared_8hch.html#a2">MODE_HELP</a> == events-><a class="code" href="structevents__t.html#o4">mode</a>) { -00118 events-><a class="code" href="structevents__t.html#o4">mode</a> = MODE_SKIN; -00119 } <span class="keywordflow">else</span> { -00120 events-><a class="code" href="structevents__t.html#o4">mode</a> = MODE_HELP; -00121 } -00122 } <span class="keywordflow">else</span> { -00123 delay; -00124 } -00125 -00126 <span class="comment">/*</span> -00127 <span class="comment"> * The Preset buttons span from 1 to 6 so if</span> -00128 <span class="comment"> * the mask one of those, we'll change the</span> -00129 <span class="comment"> * pointer to point to the current preset.</span> -00130 <span class="comment"> */</span> -00131 <span class="keywordflow">if</span> ((<a class="code" href="display__shared_8hch.html#a7">BUTTON_PRESET_1</a> <= events-><a class="code" href="structevents__t.html#o3">mask</a>) && (events-><a class="code" href="structevents__t.html#o3">mask</a> <= BUTTON_PRESET_6)) { -00132 <span class="comment">/*</span> -00133 <span class="comment"> * The active preset is determined by</span> -00134 <span class="comment"> * the mask minus an offset. Hence</span> -00135 <span class="comment"> * ranging our active preset from 0 to</span> -00136 <span class="comment"> * 6.</span> -00137 <span class="comment"> */</span> -00138 events-><a class="code" href="structevents__t.html#o1">active_preset</a> = 0 @ (events-><a class="code" href="structevents__t.html#o3">mask</a> -BUTTON_PRESET_1); -00139 <span class="comment">/*</span> -00140 <span class="comment"> * Each equalizer is 128 bands wide,</span> -00141 <span class="comment"> * thus we need to add 128 * the preset</span> -00142 <span class="comment"> * for each different preset. This</span> -00143 <span class="comment"> * offset is calculated here.</span> -00144 <span class="comment"> */</span> -00145 preset_offset = events-><a class="code" href="structevents__t.html#o1">active_preset</a> << 7; -00146 <span class="comment">/*</span> -00147 <span class="comment"> * We set the pointer to the active</span> -00148 <span class="comment"> * part of the array by using the</span> -00149 <span class="comment"> * preset offset as our index. Hence</span> -00150 <span class="comment"> * depending on the selected preset</span> -00151 <span class="comment"> * we point to 0, 128, 256, 384, 512</span> -00152 <span class="comment"> * or 640.</span> -00153 <span class="comment"> */</span> -00154 audiodata-><a class="code" href="structaudiodata__t.html#o0">equalizer_levels_ptr</a> = &equalizer_levels.read[preset_offset]; -00155 <span class="comment">/*</span> -00156 <span class="comment"> * Finally update the equalizer bars</span> -00157 <span class="comment"> * that are drawn by the display.</span> -00158 <span class="comment"> */</span> -00159 <a class="code" href="display_8hcc.html#a3">reload_equalizer</a>(events, &equalizer_levels.write[preset_offset]); -00160 } <span class="keywordflow">else</span> { -00161 delay; -00162 } -00163 -00164 <span class="keywordflow">if</span> ((<a class="code" href="display__shared_8hch.html#a15">BUTTON_PRECISE</a> <= events-><a class="code" href="structevents__t.html#o3">mask</a>) && (events-><a class="code" href="structevents__t.html#o3">mask</a> <= BUTTON_CONVEX_FULL)) { -00165 events-><a class="code" href="structevents__t.html#o5">equalizer_mode</a> = (events-><a class="code" href="structevents__t.html#o3">mask</a> -BUTTON_PRECISE) <-4; -00166 } <span class="keywordflow">else</span> { -00167 delay; -00168 } -00169 -00170 <span class="comment">/*</span> -00171 <span class="comment"> * If the demo button was pressed load the</span> -00172 <span class="comment"> * demo preset values into the presets.</span> -00173 <span class="comment"> */</span> -00174 <span class="keywordflow">if</span> (<a class="code" href="display__shared_8hch.html#a5">BUTTON_DEMO</a> == events-><a class="code" href="structevents__t.html#o3">mask</a>) { -00175 <a class="code" href="events_8hcc.html#a3">load_preset</a>(<a class="code" href="eventhandler_8hch.html#a2">LOAD_PRESET_DEMO</a>, equalizer_levels.write); -00176 <a class="code" href="display_8hcc.html#a3">reload_equalizer</a>(events, &equalizer_levels.write[preset_offset]); -00177 } -00178 -00179 <span class="comment">/*</span> -00180 <span class="comment"> * If the reset button was pressed load the</span> -00181 <span class="comment"> * reset values into the presets.</span> -00182 <span class="comment"> */</span> -00183 <span class="keywordflow">if</span> (<a class="code" href="display__shared_8hch.html#a6">BUTTON_RESET</a> == events-><a class="code" href="structevents__t.html#o3">mask</a>) { -00184 <a class="code" href="events_8hcc.html#a3">load_preset</a>(<a class="code" href="eventhandler_8hch.html#a1">LOAD_PRESET_RESET</a>, equalizer_levels.write); -00185 <a class="code" href="display_8hcc.html#a3">reload_equalizer</a>(events, &equalizer_levels.write[preset_offset]); -00186 } -00187 -00188 <span class="comment">/*</span> -00189 <span class="comment"> * If the current mask equals the log button,</span> -00190 <span class="comment"> * we flip the display_log bit.</span> -00191 <span class="comment"> */</span> -00192 <span class="keywordflow">if</span> (<a class="code" href="display__shared_8hch.html#a4">BUTTON_LOG</a> == events-><a class="code" href="structevents__t.html#o3">mask</a>) { -00193 audiodata-><a class="code" href="structaudiodata__t.html#o1">display_log</a> = !audiodata-><a class="code" href="structaudiodata__t.html#o1">display_log</a>; -00194 } <span class="keywordflow">else</span> { -00195 delay; -00196 } -00197 -00198 <span class="keywordflow">break</span>; -00199 -00200 <span class="keywordflow">case</span> <a class="code" href="mouse__shared_8hch.html#a5">MOUSE_STATE_DOWN</a>: -00201 <span class="comment">/*</span> -00202 <span class="comment"> * If we are in the volume area we update the</span> -00203 <span class="comment"> * volume level for both channels.</span> -00204 <span class="comment"> */</span> -00205 <span class="keywordflow">if</span> (<a class="code" href="display__shared_8hch.html#a2">AREA_VOLUME_YAXIS</a> == events-><a class="code" href="structevents__t.html#o3">mask</a>) { -00206 <span class="comment">/*</span> -00207 <span class="comment"> * Copy the current Y cursor position</span> -00208 <span class="comment"> * to the events struct. This we then</span> -00209 <span class="comment"> * later use for drawing purposes.</span> -00210 <span class="comment"> */</span> -00211 events-><a class="code" href="structevents__t.html#o2">volume_position</a> = 0 @ mousedata-><a class="code" href="structmousedata__t.html#o1">y</a>; -00212 <span class="comment">/*</span> -00213 <span class="comment"> * Look the relative y-coordinate up in</span> -00214 <span class="comment"> * the volumecontrol lookup table. We</span> -00215 <span class="comment"> * make a local copy here because the</span> -00216 <span class="comment"> * RC200 call doesn't behave nicely</span> -00217 <span class="comment"> * when passing anything else.</span> -00218 <span class="comment"> */</span> -00219 volume_left = <a class="code" href="eventhandler__shared_8hch.html#a7">volumecontrol_table</a>[((mousedata-><a class="code" href="structmousedata__t.html#o1">y</a>) -65) <- 6]; -00220 <span class="comment">/*</span> -00221 <span class="comment"> * We feel that volume gets softer the</span> -00222 <span class="comment"> * closer it gets to the 0, and louder</span> -00223 <span class="comment"> * as it approaches 0x1f. The SetVolume</span> -00224 <span class="comment"> * RC200 call does this in an unnatural</span> -00225 <span class="comment"> * reverse way. Therefor we fix it.</span> -00226 <span class="comment"> */</span> -00227 RC200AudioOutSetVolume(!volume_left, 0x1f -volume_left, 0x1f -volume_left); -00228 } <span class="keywordflow">else</span> { -00229 delay; -00230 } -00231 -00232 <span class="keywordflow">if</span> ((<a class="code" href="display__shared_8hch.html#a20">AREA_EQUALIZER_MIN</a> <= events-><a class="code" href="structevents__t.html#o3">mask</a>) && (events-><a class="code" href="structevents__t.html#o3">mask</a> <= AREA_EQUALIZER_MAX)) { -00233 -00234 <span class="keywordflow">if</span> (<a class="code" href="eventhandler__shared_8hch.html#a6">EQUALIZERMODE_PRECISE</a> == events-><a class="code" href="structevents__t.html#o5">equalizer_mode</a>) { -00235 events-><a class="code" href="structevents__t.html#o6">locked_display</a> = TRUE; -00236 equalizer_levels.write[preset_offset +(0 @ events-><a class="code" href="structevents__t.html#o3">mask</a>) -AREA_EQUALIZER_MIN] = <a class="code" href="eventhandler__shared_8hch.html#a8">equalizer_table</a>[mousedata-><a class="code" href="structmousedata__t.html#o1">y</a> -382]; -00237 events-><a class="code" href="structevents__t.html#o0">equalizer_display</a>[(events-><a class="code" href="structevents__t.html#o3">mask</a> -AREA_EQUALIZER_MIN) <- 7] = mousedata-><a class="code" href="structmousedata__t.html#o1">y</a>; -00238 events-><a class="code" href="structevents__t.html#o6">locked_display</a> = FALSE; -00239 } <span class="keywordflow">else</span> { -00240 -00241 equalizer_mode_local = events-><a class="code" href="structevents__t.html#o5">equalizer_mode</a> +1; -00242 -00243 events-><a class="code" href="structevents__t.html#o6">locked_display</a> = TRUE; -00244 index_offset = ((equalizer_mode_local << 1)); <span class="comment">/* delay; */</span> -00245 -00246 <span class="keywordflow">if</span> (events-><a class="code" href="structevents__t.html#o3">mask</a> < (<a class="code" href="display__shared_8hch.html#a20">AREA_EQUALIZER_MIN</a> +(0 @ equalizer_mode_local))) { -00247 reference_point = events-><a class="code" href="structevents__t.html#o0">equalizer_display</a>[<a class="code" href="display__shared_8hch.html#a20">AREA_EQUALIZER_MIN</a> -AREA_EQUALIZER_MIN]; -00248 index_offset -= (((0 @ equalizer_mode_local) -(events-><a class="code" href="structevents__t.html#o3">mask</a> -AREA_EQUALIZER_MIN)) <- 4); -00249 } <span class="keywordflow">else</span> { -00250 reference_point = events-><a class="code" href="structevents__t.html#o0">equalizer_display</a>[(events-><a class="code" href="structevents__t.html#o3">mask</a> - (0 @ equalizer_mode_local) -AREA_EQUALIZER_MIN) <- 7]; -00251 index_offset -= 1; -00252 } -00253 -00254 <span class="keywordflow">if</span> (events-><a class="code" href="structevents__t.html#o3">mask</a> > (<a class="code" href="display__shared_8hch.html#a21">AREA_EQUALIZER_MAX</a> -(0 @ equalizer_mode_local))) { -00255 reference_point_right = events-><a class="code" href="structevents__t.html#o0">equalizer_display</a>[<a class="code" href="display__shared_8hch.html#a21">AREA_EQUALIZER_MAX</a> -AREA_EQUALIZER_MIN]; -00256 index_end = (((0 @ equalizer_mode_local) -(<a class="code" href="display__shared_8hch.html#a21">AREA_EQUALIZER_MAX</a> -events-><a class="code" href="structevents__t.html#o3">mask</a>)) <- 4) -1; -00257 } <span class="keywordflow">else</span> { -00258 reference_point_right = events-><a class="code" href="structevents__t.html#o0">equalizer_display</a>[(events-><a class="code" href="structevents__t.html#o3">mask</a> + (0 @ equalizer_mode_local) -AREA_EQUALIZER_MIN) <- 7]; -00259 index_end = 0; -00260 } -00261 events-><a class="code" href="structevents__t.html#o6">locked_display</a> = FALSE; -00262 -00263 <span class="keywordflow">for</span> (; index_offset != index_end; index_offset--) { -00264 <span class="keywordtype">unsigned</span> 10 average_bar; -00265 <span class="keywordtype">unsigned</span> 7 equalizer_index; -00266 <span class="keywordtype">unsigned</span> 4 bar_index; -00267 -00268 <span class="keywordflow">if</span> (index_offset == equalizer_mode_local) { -00269 reference_point = reference_point_right; -00270 } <span class="keywordflow">else</span> { -00271 delay; -00272 } -00273 -00274 <span class="keywordflow">if</span> (index_offset > equalizer_mode_local) -00275 { -00276 bar_index = (index_offset -equalizer_mode_local); -00277 equalizer_index = ((events-><a class="code" href="structevents__t.html#o3">mask</a> -(0 @ bar_index) -AREA_EQUALIZER_MIN) <- 7); -00278 } <span class="keywordflow">else</span> -00279 { -00280 bar_index = (equalizer_mode_local -index_offset); -00281 equalizer_index = ((events-><a class="code" href="structevents__t.html#o3">mask</a> +(0 @ bar_index) -AREA_EQUALIZER_MIN) <- 7); -00282 } -00283 -00284 <span class="keywordflow">if</span> (reference_point > mousedata-><a class="code" href="structmousedata__t.html#o1">y</a>) { -00285 average_bar = mousedata-><a class="code" href="structmousedata__t.html#o1">y</a> +((reference_point -mousedata-><a class="code" href="structmousedata__t.html#o1">y</a>) >> (equalizer_mode_local -bar_index)); -00286 } <span class="keywordflow">else</span> { -00287 average_bar = mousedata-><a class="code" href="structmousedata__t.html#o1">y</a> -((mousedata-><a class="code" href="structmousedata__t.html#o1">y</a> -reference_point) >> (equalizer_mode_local -bar_index)); -00288 } -00289 -00290 events-><a class="code" href="structevents__t.html#o6">locked_display</a> = TRUE; -00291 equalizer_levels.write[preset_offset +(0 @ equalizer_index)] = <a class="code" href="eventhandler__shared_8hch.html#a8">equalizer_table</a>[average_bar -382]; -00292 events-><a class="code" href="structevents__t.html#o0">equalizer_display</a>[equalizer_index] = average_bar; -00293 events-><a class="code" href="structevents__t.html#o6">locked_display</a> = FALSE; -00294 } -00295 } -00296 } <span class="keywordflow">else</span> { -00297 delay; -00298 } -00299 -00300 <span class="keywordflow">break</span>; -00301 -00302 <span class="keywordflow">default</span>: -00303 <span class="keywordflow">break</span>; -00304 } -00305 } -00306 } <span class="comment">/* --- eventhandler_main() --- */</span> -00307 -00308 -00309 -00310 <span class="comment">/*</span> -00311 <span class="comment"> * Volume Control lookuptable.</span> -00312 <span class="comment"> * TODO: This table is now hardcoded. To ensure full skinability this table</span> -00313 <span class="comment"> * should be dynamically loaded.</span> -00314 <span class="comment"> */</span> -<a name="l00315"></a><a class="code" href="eventhandler_8hcc.html#a1">00315</a> rom <span class="keywordtype">unsigned</span> 5 <a class="code" href="eventhandler__shared_8hch.html#a7">volumecontrol_table</a>[46] = {31, 31, 30, 30, 29, 29, 28, 28, 27, 27, 26, 26, 25, 25, 24, 24, 23, 23, 22, 22, 21, 21, 20, 20, 19, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 0}; -</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:06 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hcc.html b/Graphic_Equalizer/doc/html/eventhandler_8hcc.html deleted file mode 100644 index 3d700ac..0000000 --- a/Graphic_Equalizer/doc/html/eventhandler_8hcc.html +++ /dev/null @@ -1,191 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/src/eventhandler.hcc File Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000004.html">src</a></div> -<h1>eventhandler.hcc File Reference</h1><code>#include <stdlib.hch></code><br> -<code>#include "pal_master.hch"</code><br> -<code>#include "<a class="el" href="configuration_8hch-source.html">configuration.hch</a>"</code><br> -<code>#include "<a class="el" href="audio_8hch-source.html">audio.hch</a>"</code><br> -<code>#include "<a class="el" href="mouse__shared_8hch-source.html">mouse_shared.hch</a>"</code><br> -<code>#include "<a class="el" href="eventhandler__shared_8hch-source.html">eventhandler_shared.hch</a>"</code><br> -<code>#include "<a class="el" href="eventhandler_8hch-source.html">eventhandler.hch</a>"</code><br> -<code>#include "<a class="el" href="events_8hch-source.html">events.hch</a>"</code><br> -<code>#include "<a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>"</code><br> -<code>#include "<a class="el" href="display_8hch-source.html">display.hch</a>"</code><br> - -<p> -Include dependency graph for eventhandler.hcc:<p><center><img src="eventhandler_8hcc__incl.png" border="0" usemap="#eventhandler.hcc_map" alt="Include dependency graph"></center> -<map name="eventhandler.hcc_map"> -<area href="configuration_8hch.html" shape="rect" coords="245,7,370,34" alt=""> -<area href="audio_8hch.html" shape="rect" coords="394,7,474,34" alt=""> -<area href="mouse__shared_8hch.html" shape="rect" coords="498,7,634,34" alt=""> -<area href="eventhandler__shared_8hch.html" shape="rect" coords="658,7,832,34" alt=""> -<area href="eventhandler_8hch.html" shape="rect" coords="856,7,981,34" alt=""> -<area href="events_8hch.html" shape="rect" coords="1005,7,1090,34" alt=""> -<area href="display__shared_8hch.html" shape="rect" coords="1114,7,1250,34" alt=""> -<area href="display_8hch.html" shape="rect" coords="1274,7,1362,34" alt=""> -</map> - -<p> -<a href="eventhandler_8hcc-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="eventhandler_8hcc.html#a2">eventhandler_main</a> (<a class="el" href="structaudiodata__t.html">audiodata_t</a> *audiodata, <a class="el" href="structevents__t.html">events_t</a> *events, <a class="el" href="structmousedata__t.html">mousedata_t</a> *mousedata)</td></tr> - -<tr><td colspan="2"><br><h2>Variables</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">chan unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="eventhandler_8hcc.html#a0">maskupdate_notification</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">rom unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="eventhandler_8hcc.html#a1">volumecontrol_table</a> [46] = {31, 31, 30, 30, 29, 29, 28, 28, 27, 27, 26, 26, 25, 25, 24, 24, 23, 23, 22, 22, 21, 21, 20, 20, 19, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 0}</td></tr> - -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<h2><a class="anchor" name="generic"> -Graphic Equalizer API</a></h2> -when the mousehandler registers a 'click' we coordinate the actions that follow that click.<h2><a class="anchor" name="project"> -Project information.</a></h2> -Project Graphic Equalizer<br> - <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl> -<dl compact><dt><b>Date:</b></dt><dd>20041110 </dd></dl> -<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl> -<h2><a class="anchor" name="copyright"> -Copyright</a></h2> -Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history"> -Change history</a></h2> -20041110: O.M. Schinagl<br> - Initial version -<p> -Definition in file <a class="el" href="eventhandler_8hcc-source.html">eventhandler.hcc</a>.<hr><h2>Function Documentation</h2> -<a class="anchor" name="a2" doxytag="eventhandler.hcc::eventhandler_main"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void eventhandler_main </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="structaudiodata__t.html">audiodata_t</a> * </td> - <td class="mdname" nowrap> <em>audiodata</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap><a class="el" href="structevents__t.html">events_t</a> * </td> - <td class="mdname" nowrap> <em>events</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap><a class="el" href="structmousedata__t.html">mousedata_t</a> * </td> - <td class="mdname" nowrap> <em>mousedata</em></td> - </tr> - <tr> - <td class="md"></td> - <td class="md">) </td> - <td class="md" colspan="2"></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>*audiodata</em> </td><td>pointer to struct for setting equalizer levels. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>*events</em> </td><td>pointer to struct with all events for display states. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>*mousedata</em> </td><td>pointer to struct with mouse data for X and Y coordinates.</td></tr> - </table> -</dl> -<dl compact><dt><b>Returns:</b></dt><dd>Never Returns. </dd></dl> -<dl compact><dt><b>Return values:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>void</em> </td><td></td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="eventhandler_8hcc-source.html#l00059">59</a> of file <a class="el" href="eventhandler_8hcc-source.html">eventhandler.hcc</a>. -<p> -References <a class="el" href="eventhandler__shared_8hch-source.html#l00031">events_t::active_preset</a>, <a class="el" href="display__shared_8hch-source.html#l00075">AREA_EQUALIZER_MAX</a>, <a class="el" href="display__shared_8hch-source.html#l00074">AREA_EQUALIZER_MIN</a>, <a class="el" href="display__shared_8hch-source.html#l00051">AREA_VOLUME_YAXIS</a>, <a class="el" href="display__shared_8hch-source.html#l00055">BUTTON_DEMO</a>, <a class="el" href="display__shared_8hch-source.html#l00071">BUTTON_HELP</a>, <a class="el" href="display__shared_8hch-source.html#l00054">BUTTON_LOG</a>, <a class="el" href="display__shared_8hch-source.html#l00072">BUTTON_MODE</a>, <a class="el" href="display__shared_8hch-source.html#l00067">BUTTON_PRECISE</a>, <a class="el" href="display__shared_8hch-source.html#l00058">BUTTON_PRESET_1</a>, <a class="el" href="display__shared_8hch-source.html#l00056">BUTTON_RESET</a>, <a class="el" href="audio_8hch-source.html#l00035">audiodata_t::display_log</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00030">events_t::equalizer_display</a>, <a class="el" href="audio_8hch-source.html#l00034">audiodata_t::equalizer_levels_ptr</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00035">events_t::equalizer_mode</a>, <a class="el" href="events_8hcc-source.html#l00075">equalizer_table</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00048">EQUALIZERMODE_PRECISE</a>, <a class="el" href="events_8hcc-source.html#l00053">load_preset()</a>, <a class="el" href="eventhandler_8hch-source.html#l00025">LOAD_PRESET_DEMO</a>, <a class="el" href="eventhandler_8hch-source.html#l00024">LOAD_PRESET_RESET</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00036">events_t::locked_display</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00033">events_t::mask</a>, <a class="el" href="display_8hcc-source.html#l00048">maskupdate_notification</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00034">events_t::mode</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00042">MODE_GRAPH</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00041">MODE_HELP</a>, <a class="el" href="mouse__shared_8hch-source.html#l00048">MOUSE_STATE_DOWN</a>, <a class="el" href="mouse__shared_8hch-source.html#l00047">MOUSE_STATE_ON_PRESS</a>, <a class="el" href="display_8hcc-source.html#l00328">reload_equalizer()</a>, <a class="el" href="mouse__shared_8hch-source.html#l00029">mousedata_t::state</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00032">events_t::volume_position</a>, <a class="el" href="eventhandler_8hcc-source.html#l00315">volumecontrol_table</a>, and <a class="el" href="mouse__shared_8hch-source.html#l00028">mousedata_t::y</a>. -<p> -Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td> - </tr> -</table> - -<p> -Here is the call graph for this function:<p><center><img src="eventhandler_8hcc_a2_cgraph.png" border="0" usemap="#eventhandler_8hcc_a2_cgraph_map" alt=""></center> -<map name="eventhandler_8hcc_a2_cgraph_map"> -<area href="events_8hcc.html#a3" shape="rect" coords="210,7,301,34" alt=""> -<area href="display_8hcc.html#a3" shape="rect" coords="195,58,315,85" alt=""> -</map> -<hr><h2>Variable Documentation</h2> -<a class="anchor" name="a0" doxytag="eventhandler.hcc::maskupdate_notification"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">chan unsigned <a class="el" href="eventhandler_8hcc.html#a0">maskupdate_notification</a> </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="display_8hcc-source.html#l00048">48</a> of file <a class="el" href="display_8hcc-source.html">display.hcc</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>, and <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a1" doxytag="eventhandler.hcc::volumecontrol_table"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">rom unsigned <a class="el" href="eventhandler_8hcc.html#a1">volumecontrol_table</a>[46] = {31, 31, 30, 30, 29, 29, 28, 28, 27, 27, 26, 26, 25, 25, 24, 24, 23, 23, 22, 22, 21, 21, 20, 20, 19, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 0} </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="eventhandler_8hcc-source.html#l00315">315</a> of file <a class="el" href="eventhandler_8hcc-source.html">eventhandler.hcc</a>. -<p> -Referenced by <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:08 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.map b/Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.map deleted file mode 100644 index 8e10f06..0000000 --- a/Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.map +++ /dev/null @@ -1,9 +0,0 @@ -base referer -rect $configuration_8hch.html 245,7 370,34 -rect $audio_8hch.html 394,7 474,34 -rect $mouse__shared_8hch.html 498,7 634,34 -rect $eventhandler__shared_8hch.html 658,7 832,34 -rect $eventhandler_8hch.html 856,7 981,34 -rect $events_8hch.html 1005,7 1090,34 -rect $display__shared_8hch.html 1114,7 1250,34 -rect $display_8hch.html 1274,7 1362,34 diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.md5 b/Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.md5 deleted file mode 100644 index 43b12ac..0000000 --- a/Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -e8a7f337e9a3e5ae2e720dcb8252ef7e
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.png b/Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.png Binary files differdeleted file mode 100644 index 09c2a45..0000000 --- a/Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hcc_a2_cgraph.map b/Graphic_Equalizer/doc/html/eventhandler_8hcc_a2_cgraph.map deleted file mode 100644 index def60cd..0000000 --- a/Graphic_Equalizer/doc/html/eventhandler_8hcc_a2_cgraph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $events_8hcc.html#a3 210,7 301,34 -rect $display_8hcc.html#a3 195,58 315,85 diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hcc_a2_cgraph.md5 b/Graphic_Equalizer/doc/html/eventhandler_8hcc_a2_cgraph.md5 deleted file mode 100644 index 2dffa3a..0000000 --- a/Graphic_Equalizer/doc/html/eventhandler_8hcc_a2_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -61d7348e8088689b8e9bef2cac7fb456
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hcc_a2_cgraph.png b/Graphic_Equalizer/doc/html/eventhandler_8hcc_a2_cgraph.png Binary files differdeleted file mode 100644 index d07857b..0000000 --- a/Graphic_Equalizer/doc/html/eventhandler_8hcc_a2_cgraph.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.map b/Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.map deleted file mode 100644 index e15c770..0000000 --- a/Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $events_8hcc.html#a2 210,7 301,34 -rect $display_8hcc.html#a4 195,58 315,85 diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.md5 b/Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.md5 deleted file mode 100644 index 5572015..0000000 --- a/Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4cc99ebc2d7ee85c7be875aa4524a42e
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.png b/Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.png Binary files differdeleted file mode 100644 index d07857b..0000000 --- a/Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hch-source.html b/Graphic_Equalizer/doc/html/eventhandler_8hch-source.html deleted file mode 100644 index a53a027..0000000 --- a/Graphic_Equalizer/doc/html/eventhandler_8hch-source.html +++ /dev/null @@ -1,36 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/include/eventhandler.hch Source File</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>eventhandler.hch</h1><a href="eventhandler_8hch.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 -00019 <span class="preprocessor">#ifndef _EVENTHANDLER_HCH</span> -<a name="l00020"></a><a class="code" href="eventhandler_8hch.html#a0">00020</a> <span class="preprocessor"></span><span class="preprocessor">#define _EVENTHANDLER_HCH 1</span> -00021 <span class="preprocessor"></span> -00022 -00023 -<a name="l00024"></a><a class="code" href="eventhandler_8hch.html#a1">00024</a> <span class="preprocessor">#define LOAD_PRESET_RESET 0x000</span> -<a name="l00025"></a><a class="code" href="eventhandler_8hch.html#a2">00025</a> <span class="preprocessor"></span><span class="preprocessor">#define LOAD_PRESET_DEMO 0x180</span> -00026 <span class="preprocessor"></span> -00027 -00028 -00029 <span class="comment">/*</span> -00030 <span class="comment"> * This is the main eventhandler loop. We require pointers to the event struct</span> -00031 <span class="comment"> * to store actions to be performed and a mousedata pointer so that we know on</span> -00032 <span class="comment"> * what mousestate to respond. We never returns!</span> -00033 <span class="comment"> */</span> -00034 <span class="keywordtype">void</span> <a class="code" href="eventhandler_8hcc.html#a2">eventhandler_main</a>(<a class="code" href="structaudiodata__t.html">audiodata_t</a> *audiodata, <a class="code" href="structevents__t.html">events_t</a> *events, <a class="code" href="structmousedata__t.html">mousedata_t</a> *mousedata); -00035 -00036 <span class="preprocessor">#else</span> -00037 <span class="preprocessor"></span><span class="preprocessor">#error "ERROR file eventhandler.hch multiple times included"</span> -00038 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* --- _EVENTHANDLER_HCH --- */</span> -00039 -</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:06 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hch.html b/Graphic_Equalizer/doc/html/eventhandler_8hch.html deleted file mode 100644 index cbaba8d..0000000 --- a/Graphic_Equalizer/doc/html/eventhandler_8hch.html +++ /dev/null @@ -1,202 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/include/eventhandler.hch File Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>eventhandler.hch File Reference</h1> -<p> -This graph shows which files directly or indirectly include this file:<p><center><img src="eventhandler_8hch__dep__incl.png" border="0" usemap="#eventhandler.hchdep_map" alt="Included by dependency graph"></center> -<map name="eventhandler.hchdep_map"> -<area href="eventhandler_8hcc.html" shape="rect" coords="7,7,130,34" alt=""> -<area href="main_8hcc.html" shape="rect" coords="154,7,229,34" alt=""> -</map> - -<p> -<a href="eventhandler_8hch-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Defines</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="eventhandler_8hch.html#a0">_EVENTHANDLER_HCH</a> 1</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="eventhandler_8hch.html#a1">LOAD_PRESET_RESET</a> 0x000</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="eventhandler_8hch.html#a2">LOAD_PRESET_DEMO</a> 0x180</td></tr> - -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="eventhandler_8hch.html#a3">eventhandler_main</a> (<a class="el" href="structaudiodata__t.html">audiodata_t</a> *audiodata, <a class="el" href="structevents__t.html">events_t</a> *events, <a class="el" href="structmousedata__t.html">mousedata_t</a> *mousedata)</td></tr> - -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<h2><a class="anchor" name="generic"> -Graphic Equalizer API</a></h2> -<h2><a class="anchor" name="project"> -Project information.</a></h2> -Project Graphic Equalizer<br> - <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl> -<dl compact><dt><b>Date:</b></dt><dd>20041110 </dd></dl> -<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl> -<h2><a class="anchor" name="copyright"> -Copyright</a></h2> -Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history"> -Change history</a></h2> -20041110: O.M. Schinagl<br> - Initial version -<p> -Definition in file <a class="el" href="eventhandler_8hch-source.html">eventhandler.hch</a>.<hr><h2>Define Documentation</h2> -<a class="anchor" name="a0" doxytag="eventhandler.hch::_EVENTHANDLER_HCH"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define _EVENTHANDLER_HCH 1 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="eventhandler_8hch-source.html#l00020">20</a> of file <a class="el" href="eventhandler_8hch-source.html">eventhandler.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a1" doxytag="eventhandler.hch::LOAD_PRESET_RESET"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define LOAD_PRESET_RESET 0x000 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="eventhandler_8hch-source.html#l00024">24</a> of file <a class="el" href="eventhandler_8hch-source.html">eventhandler.hch</a>. -<p> -Referenced by <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a2" doxytag="eventhandler.hch::LOAD_PRESET_DEMO"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define LOAD_PRESET_DEMO 0x180 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="eventhandler_8hch-source.html#l00025">25</a> of file <a class="el" href="eventhandler_8hch-source.html">eventhandler.hch</a>. -<p> -Referenced by <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="a3" doxytag="eventhandler.hch::eventhandler_main"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void eventhandler_main </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="structaudiodata__t.html">audiodata_t</a> * </td> - <td class="mdname" nowrap> <em>audiodata</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap><a class="el" href="structevents__t.html">events_t</a> * </td> - <td class="mdname" nowrap> <em>events</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap><a class="el" href="structmousedata__t.html">mousedata_t</a> * </td> - <td class="mdname" nowrap> <em>mousedata</em></td> - </tr> - <tr> - <td class="md"></td> - <td class="md">) </td> - <td class="md" colspan="2"></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>*audiodata</em> </td><td>pointer to struct for setting equalizer levels. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>*events</em> </td><td>pointer to struct with all events for display states. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>*mousedata</em> </td><td>pointer to struct with mouse data for X and Y coordinates.</td></tr> - </table> -</dl> -<dl compact><dt><b>Returns:</b></dt><dd>Never Returns. </dd></dl> -<dl compact><dt><b>Return values:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>void</em> </td><td></td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="eventhandler_8hcc-source.html#l00059">59</a> of file <a class="el" href="eventhandler_8hcc-source.html">eventhandler.hcc</a>. -<p> -References <a class="el" href="eventhandler__shared_8hch-source.html#l00031">events_t::active_preset</a>, <a class="el" href="display__shared_8hch-source.html#l00075">AREA_EQUALIZER_MAX</a>, <a class="el" href="display__shared_8hch-source.html#l00074">AREA_EQUALIZER_MIN</a>, <a class="el" href="display__shared_8hch-source.html#l00051">AREA_VOLUME_YAXIS</a>, <a class="el" href="display__shared_8hch-source.html#l00055">BUTTON_DEMO</a>, <a class="el" href="display__shared_8hch-source.html#l00071">BUTTON_HELP</a>, <a class="el" href="display__shared_8hch-source.html#l00054">BUTTON_LOG</a>, <a class="el" href="display__shared_8hch-source.html#l00072">BUTTON_MODE</a>, <a class="el" href="display__shared_8hch-source.html#l00067">BUTTON_PRECISE</a>, <a class="el" href="display__shared_8hch-source.html#l00058">BUTTON_PRESET_1</a>, <a class="el" href="display__shared_8hch-source.html#l00056">BUTTON_RESET</a>, <a class="el" href="audio_8hch-source.html#l00035">audiodata_t::display_log</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00030">events_t::equalizer_display</a>, <a class="el" href="audio_8hch-source.html#l00034">audiodata_t::equalizer_levels_ptr</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00035">events_t::equalizer_mode</a>, <a class="el" href="events_8hcc-source.html#l00075">equalizer_table</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00048">EQUALIZERMODE_PRECISE</a>, <a class="el" href="events_8hcc-source.html#l00053">load_preset()</a>, <a class="el" href="eventhandler_8hch-source.html#l00025">LOAD_PRESET_DEMO</a>, <a class="el" href="eventhandler_8hch-source.html#l00024">LOAD_PRESET_RESET</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00036">events_t::locked_display</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00033">events_t::mask</a>, <a class="el" href="display_8hcc-source.html#l00048">maskupdate_notification</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00034">events_t::mode</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00042">MODE_GRAPH</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00041">MODE_HELP</a>, <a class="el" href="mouse__shared_8hch-source.html#l00048">MOUSE_STATE_DOWN</a>, <a class="el" href="mouse__shared_8hch-source.html#l00047">MOUSE_STATE_ON_PRESS</a>, <a class="el" href="display_8hcc-source.html#l00328">reload_equalizer()</a>, <a class="el" href="mouse__shared_8hch-source.html#l00029">mousedata_t::state</a>, <a class="el" href="eventhandler__shared_8hch-source.html#l00032">events_t::volume_position</a>, <a class="el" href="eventhandler_8hcc-source.html#l00315">volumecontrol_table</a>, and <a class="el" href="mouse__shared_8hch-source.html#l00028">mousedata_t::y</a>. -<p> -Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td> - </tr> -</table> - -<p> -Here is the call graph for this function:<p><center><img src="eventhandler_8hch_a3_cgraph.png" border="0" usemap="#eventhandler_8hch_a3_cgraph_map" alt=""></center> -<map name="eventhandler_8hch_a3_cgraph_map"> -<area href="events_8hcc.html#a3" shape="rect" coords="210,7,301,34" alt=""> -<area href="display_8hcc.html#a3" shape="rect" coords="195,58,315,85" alt=""> -</map> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:07 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.map deleted file mode 100644 index 6d9ee70..0000000 --- a/Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $eventhandler_8hcc.html 7,7 130,34 -rect $main_8hcc.html 154,7 229,34 diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.md5 deleted file mode 100644 index af0fe6f..0000000 --- a/Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -53efdfb40707cc5eba57fe4915bbbf35
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.png Binary files differdeleted file mode 100644 index 586b7d0..0000000 --- a/Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.map b/Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.map deleted file mode 100644 index e15c770..0000000 --- a/Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $events_8hcc.html#a2 210,7 301,34 -rect $display_8hcc.html#a4 195,58 315,85 diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.md5 b/Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.md5 deleted file mode 100644 index 5572015..0000000 --- a/Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4cc99ebc2d7ee85c7be875aa4524a42e
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.png b/Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.png Binary files differdeleted file mode 100644 index d07857b..0000000 --- a/Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hch_a3_cgraph.map b/Graphic_Equalizer/doc/html/eventhandler_8hch_a3_cgraph.map deleted file mode 100644 index def60cd..0000000 --- a/Graphic_Equalizer/doc/html/eventhandler_8hch_a3_cgraph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $events_8hcc.html#a3 210,7 301,34 -rect $display_8hcc.html#a3 195,58 315,85 diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hch_a3_cgraph.md5 b/Graphic_Equalizer/doc/html/eventhandler_8hch_a3_cgraph.md5 deleted file mode 100644 index 2dffa3a..0000000 --- a/Graphic_Equalizer/doc/html/eventhandler_8hch_a3_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -61d7348e8088689b8e9bef2cac7fb456
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hch_a3_cgraph.png b/Graphic_Equalizer/doc/html/eventhandler_8hch_a3_cgraph.png Binary files differdeleted file mode 100644 index d07857b..0000000 --- a/Graphic_Equalizer/doc/html/eventhandler_8hch_a3_cgraph.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/eventhandler__shared_8hch-source.html b/Graphic_Equalizer/doc/html/eventhandler__shared_8hch-source.html deleted file mode 100644 index 647d39b..0000000 --- a/Graphic_Equalizer/doc/html/eventhandler__shared_8hch-source.html +++ /dev/null @@ -1,68 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/include/eventhandler_shared.hch Source File</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>eventhandler_shared.hch</h1><a href="eventhandler__shared_8hch.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 -00019 <span class="preprocessor">#ifndef _EVENTHANDLER_SHARED_HCH</span> -<a name="l00020"></a><a class="code" href="eventhandler__shared_8hch.html#a0">00020</a> <span class="preprocessor"></span><span class="preprocessor">#define _EVENTHANDLER_SHARED_HCH 1</span> -00021 <span class="preprocessor"></span> -00022 -00023 -00024 <span class="comment">/*** Data Types **********************/</span> -00025 -00026 <span class="comment">/*</span> -00027 <span class="comment"> * Type definition of the shared memory to be used in various processes</span> -00028 <span class="comment"> */</span> -<a name="l00029"></a><a class="code" href="structevents__t.html">00029</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{ -<a name="l00030"></a><a class="code" href="structevents__t.html#o0">00030</a> ram <span class="keywordtype">unsigned</span> 10 equalizer_display[128]; -<a name="l00031"></a><a class="code" href="structevents__t.html#o1">00031</a> <span class="keywordtype">unsigned</span> 10 active_preset; -<a name="l00032"></a><a class="code" href="structevents__t.html#o2">00032</a> <span class="keywordtype">unsigned</span> 10 volume_position; -<a name="l00033"></a><a class="code" href="structevents__t.html#o3">00033</a> <span class="keywordtype">unsigned</span> 8 mask; -<a name="l00034"></a><a class="code" href="structevents__t.html#o4">00034</a> <span class="keywordtype">unsigned</span> 4 mode; -<a name="l00035"></a><a class="code" href="structevents__t.html#o5">00035</a> <span class="keywordtype">unsigned</span> 4 equalizer_mode; -<a name="l00036"></a><a class="code" href="structevents__t.html#o6">00036</a> <span class="keywordtype">unsigned</span> 1 locked_display; -00037 } <a class="code" href="structevents__t.html">events_t</a>; -00038 -00039 -<a name="l00040"></a><a class="code" href="eventhandler__shared_8hch.html#a1">00040</a> <span class="preprocessor">#define MODE_SKIN 0x00</span> -<a name="l00041"></a><a class="code" href="eventhandler__shared_8hch.html#a2">00041</a> <span class="preprocessor"></span><span class="preprocessor">#define MODE_HELP 0x01</span> -<a name="l00042"></a><a class="code" href="eventhandler__shared_8hch.html#a3">00042</a> <span class="preprocessor"></span><span class="preprocessor">#define MODE_GRAPH 0x02</span> -00043 <span class="preprocessor"></span> -00044 -00045 -<a name="l00046"></a><a class="code" href="eventhandler__shared_8hch.html#a4">00046</a> <span class="preprocessor">#define EQUALIZERMODE_FULL 0x05</span> -<a name="l00047"></a><a class="code" href="eventhandler__shared_8hch.html#a5">00047</a> <span class="preprocessor"></span><span class="preprocessor">#define EQUALIZERMODE_HALF 0x03</span> -<a name="l00048"></a><a class="code" href="eventhandler__shared_8hch.html#a6">00048</a> <span class="preprocessor"></span><span class="preprocessor">#define EQUALIZERMODE_PRECISE 0x00</span> -00049 <span class="preprocessor"></span> -00050 -00051 <span class="comment">/*</span> -00052 <span class="comment"> * Volume Control lookuptable.</span> -00053 <span class="comment"> * TODO: This table is now hardcoded. To ensure full skinability this table</span> -00054 <span class="comment"> * should be dynamically loaded.</span> -00055 <span class="comment"> */</span> -00056 <span class="keyword">extern</span> <span class="keywordtype">unsigned</span> 5 <a class="code" href="eventhandler__shared_8hch.html#a7">volumecontrol_table</a>[46]; -00057 -00058 <span class="comment">/*</span> -00059 <span class="comment"> * Equalizer lookup tables.</span> -00060 <span class="comment"> * TODO: This table is now hardcoded. To ensure full skinability this table</span> -00061 <span class="comment"> * should be dynamically loaded.</span> -00062 <span class="comment"> */</span> -00063 <span class="keyword">extern</span> <span class="keywordtype">unsigned</span> 4 <a class="code" href="eventhandler__shared_8hch.html#a8">equalizer_table</a>[640]; -00064 <span class="keyword">extern</span> <span class="keywordtype">unsigned</span> 10 <a class="code" href="eventhandler__shared_8hch.html#a9">equalizer_table_inv</a>[16]; -00065 -00066 -00067 -00068 <span class="preprocessor">#else</span> -00069 <span class="preprocessor"></span><span class="preprocessor">#error "ERROR file eventhandler_shared.hch multiple times included"</span> -00070 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* --- _EVENTHANDLER_SHARED_HCH --- */</span> -00071 -</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:06 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/eventhandler__shared_8hch.html b/Graphic_Equalizer/doc/html/eventhandler__shared_8hch.html deleted file mode 100644 index ce2041f..0000000 --- a/Graphic_Equalizer/doc/html/eventhandler__shared_8hch.html +++ /dev/null @@ -1,334 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/include/eventhandler_shared.hch File Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>eventhandler_shared.hch File Reference</h1> -<p> -This graph shows which files directly or indirectly include this file:<p><center><img src="eventhandler__shared_8hch__dep__incl.png" border="0" usemap="#eventhandler_shared.hchdep_map" alt="Included by dependency graph"></center> -<map name="eventhandler_shared.hchdep_map"> -<area href="display_8hcc.html" shape="rect" coords="8,7,96,34" alt=""> -<area href="eventhandler_8hcc.html" shape="rect" coords="120,7,242,34" alt=""> -<area href="events_8hcc.html" shape="rect" coords="266,7,352,34" alt=""> -<area href="main_8hcc.html" shape="rect" coords="376,7,450,34" alt=""> -<area href="smartmedia_8hcc.html" shape="rect" coords="474,7,592,34" alt=""> -</map> - -<p> -<a href="eventhandler__shared_8hch-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structevents__t.html">events_t</a></td></tr> - -<tr><td colspan="2"><br><h2>Defines</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="eventhandler__shared_8hch.html#a0">_EVENTHANDLER_SHARED_HCH</a> 1</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="eventhandler__shared_8hch.html#a1">MODE_SKIN</a> 0x00</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="eventhandler__shared_8hch.html#a2">MODE_HELP</a> 0x01</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="eventhandler__shared_8hch.html#a3">MODE_GRAPH</a> 0x02</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="eventhandler__shared_8hch.html#a4">EQUALIZERMODE_FULL</a> 0x05</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="eventhandler__shared_8hch.html#a5">EQUALIZERMODE_HALF</a> 0x03</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="eventhandler__shared_8hch.html#a6">EQUALIZERMODE_PRECISE</a> 0x00</td></tr> - -<tr><td colspan="2"><br><h2>Variables</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="eventhandler__shared_8hch.html#a7">volumecontrol_table</a> [46]</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="eventhandler__shared_8hch.html#a8">equalizer_table</a> [640]</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="eventhandler__shared_8hch.html#a9">equalizer_table_inv</a> [16]</td></tr> - -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<h2><a class="anchor" name="generic"> -Graphic Equalizer API</a></h2> -<h2><a class="anchor" name="project"> -Project information.</a></h2> -Project Graphic Equalizer<br> - <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl> -<dl compact><dt><b>Date:</b></dt><dd>20041110 </dd></dl> -<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl> -<h2><a class="anchor" name="copyright"> -Copyright</a></h2> -Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history"> -Change history</a></h2> -20041110: O.M. Schinagl<br> - Initial version -<p> -Definition in file <a class="el" href="eventhandler__shared_8hch-source.html">eventhandler_shared.hch</a>.<hr><h2>Define Documentation</h2> -<a class="anchor" name="a0" doxytag="eventhandler_shared.hch::_EVENTHANDLER_SHARED_HCH"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define _EVENTHANDLER_SHARED_HCH 1 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="eventhandler__shared_8hch-source.html#l00020">20</a> of file <a class="el" href="eventhandler__shared_8hch-source.html">eventhandler_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a1" doxytag="eventhandler_shared.hch::MODE_SKIN"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define MODE_SKIN 0x00 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="eventhandler__shared_8hch-source.html#l00040">40</a> of file <a class="el" href="eventhandler__shared_8hch-source.html">eventhandler_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a2" doxytag="eventhandler_shared.hch::MODE_HELP"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define MODE_HELP 0x01 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="eventhandler__shared_8hch-source.html#l00041">41</a> of file <a class="el" href="eventhandler__shared_8hch-source.html">eventhandler_shared.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>, and <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a3" doxytag="eventhandler_shared.hch::MODE_GRAPH"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define MODE_GRAPH 0x02 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="eventhandler__shared_8hch-source.html#l00042">42</a> of file <a class="el" href="eventhandler__shared_8hch-source.html">eventhandler_shared.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>, and <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a4" doxytag="eventhandler_shared.hch::EQUALIZERMODE_FULL"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define EQUALIZERMODE_FULL 0x05 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="eventhandler__shared_8hch-source.html#l00046">46</a> of file <a class="el" href="eventhandler__shared_8hch-source.html">eventhandler_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a5" doxytag="eventhandler_shared.hch::EQUALIZERMODE_HALF"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define EQUALIZERMODE_HALF 0x03 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="eventhandler__shared_8hch-source.html#l00047">47</a> of file <a class="el" href="eventhandler__shared_8hch-source.html">eventhandler_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a6" doxytag="eventhandler_shared.hch::EQUALIZERMODE_PRECISE"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define EQUALIZERMODE_PRECISE 0x00 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="eventhandler__shared_8hch-source.html#l00048">48</a> of file <a class="el" href="eventhandler__shared_8hch-source.html">eventhandler_shared.hch</a>. -<p> -Referenced by <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<hr><h2>Variable Documentation</h2> -<a class="anchor" name="a7" doxytag="eventhandler_shared.hch::volumecontrol_table"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">unsigned <a class="el" href="eventhandler_8hcc.html#a1">volumecontrol_table</a>[46] </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="eventhandler_8hcc-source.html#l00315">315</a> of file <a class="el" href="eventhandler_8hcc-source.html">eventhandler.hcc</a>. -<p> -Referenced by <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a8" doxytag="eventhandler_shared.hch::equalizer_table"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">unsigned <a class="el" href="events_8hcc.html#a1">equalizer_table</a>[640] </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="events_8hcc-source.html#l00075">75</a> of file <a class="el" href="events_8hcc-source.html">events.hcc</a>. -<p> -Referenced by <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a9" doxytag="eventhandler_shared.hch::equalizer_table_inv"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">unsigned <a class="el" href="events_8hcc.html#a2">equalizer_table_inv</a>[16] </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="events_8hcc-source.html#l00076">76</a> of file <a class="el" href="events_8hcc-source.html">events.hcc</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00328">reload_equalizer()</a>. </td> - </tr> -</table> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:07 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.map deleted file mode 100644 index e30c9f4..0000000 --- a/Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.map +++ /dev/null @@ -1,6 +0,0 @@ -base referer -rect $display_8hcc.html 8,7 96,34 -rect $eventhandler_8hcc.html 120,7 242,34 -rect $events_8hcc.html 266,7 352,34 -rect $main_8hcc.html 376,7 450,34 -rect $smartmedia_8hcc.html 474,7 592,34 diff --git a/Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.md5 deleted file mode 100644 index 5231ffe..0000000 --- a/Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -27ad7843295f3466cc8c70cc8c0de797
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.png Binary files differdeleted file mode 100644 index 838ca25..0000000 --- a/Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/events_8hcc-source.html b/Graphic_Equalizer/doc/html/events_8hcc-source.html deleted file mode 100644 index d180b4a..0000000 --- a/Graphic_Equalizer/doc/html/events_8hcc-source.html +++ /dev/null @@ -1,60 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/src/events.hcc Source File</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000004.html">src</a></div> -<h1>events.hcc</h1><a href="events_8hcc.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 -00022 <span class="comment">/******** System Includes *************/</span> -00023 <span class="preprocessor">#include <stdlib.hch></span> -00024 -00025 <span class="preprocessor">#include "pal_master.hch"</span> -00026 -00027 <span class="comment">/******** Application Includes ********/</span> -00028 <span class="preprocessor">#include "<a class="code" href="configuration_8hch.html">configuration.hch</a>"</span> -00029 <span class="preprocessor">#include "<a class="code" href="eventhandler__shared_8hch.html">eventhandler_shared.hch</a>"</span> -00030 <span class="preprocessor">#include "<a class="code" href="events_8hch.html">events.hch</a>"</span> -00031 -00032 <span class="preprocessor">#if HAVE_DEBUG</span> -00033 <span class="preprocessor"></span><span class="preprocessor"> #include "debug.hch"</span> -00034 <span class="preprocessor">#endif</span> -00035 <span class="preprocessor"></span> -00036 -<a name="l00037"></a><a class="code" href="events_8hcc.html#a0">00037</a> ram <span class="keywordtype">unsigned</span> 8 <a class="code" href="events_8hcc.html#a0">presets_default_values</a>[768] = { -00038 <span class="preprocessor">#include "presets_hardcoded.txt"</span> -00039 }; -00040 -00041 -00042 -<a name="l00053"></a><a class="code" href="events_8hcc.html#a3">00053</a> <span class="keywordtype">void</span> <a class="code" href="events_8hcc.html#a3">load_preset</a>(<span class="keywordtype">unsigned</span> 10 preset, <span class="keywordtype">unsigned</span> 4 *equalizer_levels_ptr) { -00054 <span class="keywordtype">unsigned</span> 10 equalizer_index; -00055 <span class="keywordtype">unsigned</span> 4 temp; -00056 -00057 equalizer_index = 0; -00058 <span class="keywordflow">while</span> (equalizer_index != 768) { -00059 temp = <a class="code" href="events_8hcc.html#a0">presets_default_values</a>[preset +(0 @ (equalizer_index \\ 1))][7:4]; -00060 equalizer_levels_ptr[equalizer_index] = temp; -00061 temp = <a class="code" href="events_8hcc.html#a0">presets_default_values</a>[preset +(0 @ (equalizer_index \\ 1))][3:0]; -00062 equalizer_levels_ptr[equalizer_index +1] = temp; -00063 -00064 equalizer_index += 2; -00065 } -00066 } <span class="comment">/* --- load_preset() --- */</span> -00067 -00068 -00069 -00070 <span class="comment">/*</span> -00071 <span class="comment"> * Equalizer lookuptabes.</span> -00072 <span class="comment"> * TODO: This table is now hardcoded. To ensure full skinability this table</span> -00073 <span class="comment"> * should be dynamically loaded.</span> -00074 <span class="comment"> */</span> -<a name="l00075"></a><a class="code" href="events_8hcc.html#a1">00075</a> ram <span class="keywordtype">unsigned</span> 4 <a class="code" href="eventhandler__shared_8hch.html#a8">equalizer_table</a>[640] = {15, 15, 15, 15, 15, 14, 14, 14, 14, 13, 13, 13, 13, 12, 12, 12, 12, 11, 11, 11, 11, 10, 10, 10, 10, 9, 9, 9, 9, 8, 8, 8, 8, 7, 7, 7, 7, 6, 6, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0}; -<a name="l00076"></a><a class="code" href="events_8hcc.html#a2">00076</a> ram <span class="keywordtype">unsigned</span> 10 <a class="code" href="eventhandler__shared_8hch.html#a9">equalizer_table_inv</a>[16] = {446, 444, 440, 436, 432, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 384}; -</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:06 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/events_8hcc.html b/Graphic_Equalizer/doc/html/events_8hcc.html deleted file mode 100644 index b6a4870..0000000 --- a/Graphic_Equalizer/doc/html/events_8hcc.html +++ /dev/null @@ -1,202 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/src/events.hcc File Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000004.html">src</a></div> -<h1>events.hcc File Reference</h1><code>#include <stdlib.hch></code><br> -<code>#include "pal_master.hch"</code><br> -<code>#include "<a class="el" href="configuration_8hch-source.html">configuration.hch</a>"</code><br> -<code>#include "<a class="el" href="eventhandler__shared_8hch-source.html">eventhandler_shared.hch</a>"</code><br> -<code>#include "<a class="el" href="events_8hch-source.html">events.hch</a>"</code><br> -<code>#include "presets_hardcoded.txt"</code><br> - -<p> -Include dependency graph for events.hcc:<p><center><img src="events_8hcc__incl.png" border="0" usemap="#events.hcc_map" alt="Include dependency graph"></center> -<map name="events.hcc_map"> -<area href="configuration_8hch.html" shape="rect" coords="245,7,370,34" alt=""> -<area href="eventhandler__shared_8hch.html" shape="rect" coords="394,7,568,34" alt=""> -<area href="events_8hch.html" shape="rect" coords="592,7,677,34" alt=""> -</map> - -<p> -<a href="events_8hcc-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="events_8hcc.html#a3">load_preset</a> (unsigned 10 preset, unsigned 4 *equalizer_levels_ptr)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">This function loads 768 4bits presets into the equalizer_levels array pointed to by equalizer_levels. <a href="#a3"></a><br></td></tr> -<tr><td colspan="2"><br><h2>Variables</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">ram unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="events_8hcc.html#a0">presets_default_values</a> [768]</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">ram unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="events_8hcc.html#a1">equalizer_table</a> [640] = {15, 15, 15, 15, 15, 14, 14, 14, 14, 13, 13, 13, 13, 12, 12, 12, 12, 11, 11, 11, 11, 10, 10, 10, 10, 9, 9, 9, 9, 8, 8, 8, 8, 7, 7, 7, 7, 6, 6, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0}</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">ram unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="events_8hcc.html#a2">equalizer_table_inv</a> [16] = {446, 444, 440, 436, 432, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 384}</td></tr> - -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<h2><a class="anchor" name="generic"> -Graphic Equalizer API</a></h2> -that need to be performed.<h2><a class="anchor" name="project"> -Project information.</a></h2> -Project Graphic Equalizer<br> - <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl> -<dl compact><dt><b>Date:</b></dt><dd>20041710 </dd></dl> -<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl> -<h2><a class="anchor" name="copyright"> -Copyright</a></h2> -Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history"> -Change history</a></h2> -20041710: O.M. Schinagl<br> - Initial version -<p> -Definition in file <a class="el" href="events_8hcc-source.html">events.hcc</a>.<hr><h2>Function Documentation</h2> -<a class="anchor" name="a3" doxytag="events.hcc::load_preset"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void load_preset </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top">unsigned 10 </td> - <td class="mdname" nowrap> <em>preset</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>unsigned 4 * </td> - <td class="mdname" nowrap> <em>equalizer_levels_ptr</em></td> - </tr> - <tr> - <td class="md"></td> - <td class="md">) </td> - <td class="md" colspan="2"></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -This function loads 768 4bits presets into the equalizer_levels array pointed to by equalizer_levels. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>*equalizer_levels</em> </td><td>Location where to store presets loaded from blockram.</td></tr> - </table> -</dl> -<dl compact><dt><b>Returns:</b></dt><dd>void </dd></dl> -<dl compact><dt><b>Return values:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>void</em> </td><td></td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="events_8hcc-source.html#l00053">53</a> of file <a class="el" href="events_8hcc-source.html">events.hcc</a>. -<p> -References <a class="el" href="events_8hcc-source.html#l00037">presets_default_values</a>. -<p> -Referenced by <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<hr><h2>Variable Documentation</h2> -<a class="anchor" name="a0" doxytag="events.hcc::presets_default_values"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">ram unsigned <a class="el" href="events_8hcc.html#a0">presets_default_values</a>[768] </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -<b>Initial value:</b><div class="fragment"><pre class="fragment"> { - -} -</pre></div> -<p> -Definition at line <a class="el" href="events_8hcc-source.html#l00037">37</a> of file <a class="el" href="events_8hcc-source.html">events.hcc</a>. -<p> -Referenced by <a class="el" href="events_8hcc-source.html#l00053">load_preset()</a>, and <a class="el" href="smartmedia_8hcc-source.html#l00072">smartmedia_loaddata()</a>. </td> - </tr> -</table> -<a class="anchor" name="a1" doxytag="events.hcc::equalizer_table"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">ram unsigned <a class="el" href="events_8hcc.html#a1">equalizer_table</a>[640] = {15, 15, 15, 15, 15, 14, 14, 14, 14, 13, 13, 13, 13, 12, 12, 12, 12, 11, 11, 11, 11, 10, 10, 10, 10, 9, 9, 9, 9, 8, 8, 8, 8, 7, 7, 7, 7, 6, 6, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0} </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="events_8hcc-source.html#l00075">75</a> of file <a class="el" href="events_8hcc-source.html">events.hcc</a>. -<p> -Referenced by <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a2" doxytag="events.hcc::equalizer_table_inv"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">ram unsigned <a class="el" href="events_8hcc.html#a2">equalizer_table_inv</a>[16] = {446, 444, 440, 436, 432, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 384} </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="events_8hcc-source.html#l00076">76</a> of file <a class="el" href="events_8hcc-source.html">events.hcc</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00328">reload_equalizer()</a>. </td> - </tr> -</table> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:08 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/events_8hcc__incl.map b/Graphic_Equalizer/doc/html/events_8hcc__incl.map deleted file mode 100644 index e45f3ce..0000000 --- a/Graphic_Equalizer/doc/html/events_8hcc__incl.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $configuration_8hch.html 245,7 370,34 -rect $eventhandler__shared_8hch.html 394,7 568,34 -rect $events_8hch.html 592,7 677,34 diff --git a/Graphic_Equalizer/doc/html/events_8hcc__incl.md5 b/Graphic_Equalizer/doc/html/events_8hcc__incl.md5 deleted file mode 100644 index 4d585b8..0000000 --- a/Graphic_Equalizer/doc/html/events_8hcc__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -02bd65e19ec52f3ed8fe65e35b542b88
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/events_8hcc__incl.png b/Graphic_Equalizer/doc/html/events_8hcc__incl.png Binary files differdeleted file mode 100644 index 6e1fc82..0000000 --- a/Graphic_Equalizer/doc/html/events_8hcc__incl.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/events_8hch-source.html b/Graphic_Equalizer/doc/html/events_8hch-source.html deleted file mode 100644 index 2845fe7..0000000 --- a/Graphic_Equalizer/doc/html/events_8hch-source.html +++ /dev/null @@ -1,29 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/include/events.hch Source File</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>events.hch</h1><a href="events_8hch.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 -00020 <span class="preprocessor">#ifndef _EVENTS_HCH</span> -<a name="l00021"></a><a class="code" href="events_8hch.html#a0">00021</a> <span class="preprocessor"></span><span class="preprocessor">#define _EVENTS_HCH 1</span> -00022 <span class="preprocessor"></span> -00023 -00024 -00025 <span class="comment">/*</span> -00026 <span class="comment"> * This function loads 768 4bits presets into the equalizer_levels array</span> -00027 <span class="comment"> * pointed to by equalizer_levels.</span> -00028 <span class="comment"> */</span> -00029 <span class="keywordtype">void</span> <a class="code" href="events_8hcc.html#a3">load_preset</a>(<span class="keywordtype">unsigned</span> 10 preset, <span class="keywordtype">unsigned</span> 4 *equalizer_levels_ptr); -00030 -00031 <span class="preprocessor">#else</span> -00032 <span class="preprocessor"></span><span class="preprocessor">#error "ERROR file events.hch multiple times included"</span> -00033 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* --- _EVENTS_HCH --- */</span> -</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:06 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/events_8hch.html b/Graphic_Equalizer/doc/html/events_8hch.html deleted file mode 100644 index b3a2c5c..0000000 --- a/Graphic_Equalizer/doc/html/events_8hch.html +++ /dev/null @@ -1,132 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/include/events.hch File Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>events.hch File Reference</h1> -<p> -This graph shows which files directly or indirectly include this file:<p><center><img src="events_8hch__dep__incl.png" border="0" usemap="#events.hchdep_map" alt="Included by dependency graph"></center> -<map name="events.hchdep_map"> -<area href="eventhandler_8hcc.html" shape="rect" coords="8,7,130,34" alt=""> -<area href="events_8hcc.html" shape="rect" coords="154,7,240,34" alt=""> -</map> - -<p> -<a href="events_8hch-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Defines</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="events_8hch.html#a0">_EVENTS_HCH</a> 1</td></tr> - -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="events_8hch.html#a1">load_preset</a> (unsigned 10 preset, unsigned 4 *equalizer_levels_ptr)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">This function loads 768 4bits presets into the equalizer_levels array pointed to by equalizer_levels. <a href="#a1"></a><br></td></tr> -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<h2><a class="anchor" name="generic"> -Graphic Equalizer API</a></h2> -that need to be performed.<h2><a class="anchor" name="project"> -Project information.</a></h2> -Project Graphic Equalizer<br> - <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl> -<dl compact><dt><b>Date:</b></dt><dd>20041710 </dd></dl> -<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl> -<h2><a class="anchor" name="copyright"> -Copyright</a></h2> -Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history"> -Change history</a></h2> -20041710: O.M. Schinagl<br> - Initial version -<p> -Definition in file <a class="el" href="events_8hch-source.html">events.hch</a>.<hr><h2>Define Documentation</h2> -<a class="anchor" name="a0" doxytag="events.hch::_EVENTS_HCH"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define _EVENTS_HCH 1 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="events_8hch-source.html#l00021">21</a> of file <a class="el" href="events_8hch-source.html">events.hch</a>. </td> - </tr> -</table> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="a1" doxytag="events.hch::load_preset"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void load_preset </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top">unsigned 10 </td> - <td class="mdname" nowrap> <em>preset</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>unsigned 4 * </td> - <td class="mdname" nowrap> <em>equalizer_levels_ptr</em></td> - </tr> - <tr> - <td class="md"></td> - <td class="md">) </td> - <td class="md" colspan="2"></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -This function loads 768 4bits presets into the equalizer_levels array pointed to by equalizer_levels. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>*equalizer_levels</em> </td><td>Location where to store presets loaded from blockram.</td></tr> - </table> -</dl> -<dl compact><dt><b>Returns:</b></dt><dd>void </dd></dl> -<dl compact><dt><b>Return values:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>void</em> </td><td></td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="events_8hcc-source.html#l00053">53</a> of file <a class="el" href="events_8hcc-source.html">events.hcc</a>. -<p> -References <a class="el" href="events_8hcc-source.html#l00037">presets_default_values</a>. -<p> -Referenced by <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:07 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/events_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/events_8hch__dep__incl.map deleted file mode 100644 index e1a4795..0000000 --- a/Graphic_Equalizer/doc/html/events_8hch__dep__incl.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $eventhandler_8hcc.html 8,7 130,34 -rect $events_8hcc.html 154,7 240,34 diff --git a/Graphic_Equalizer/doc/html/events_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/events_8hch__dep__incl.md5 deleted file mode 100644 index db0e635..0000000 --- a/Graphic_Equalizer/doc/html/events_8hch__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -9de3b703aa96c0fd466e7058f82e3b76
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/events_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/events_8hch__dep__incl.png Binary files differdeleted file mode 100644 index 7b9cfa7..0000000 --- a/Graphic_Equalizer/doc/html/events_8hch__dep__incl.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/fft_8hcc-source.html b/Graphic_Equalizer/doc/html/fft_8hcc-source.html deleted file mode 100644 index d4cfdb6..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hcc-source.html +++ /dev/null @@ -1,445 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/src/fft.hcc Source File</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000004.html">src</a></div> -<h1>fft.hcc</h1><a href="fft_8hcc.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 -00020 <span class="preprocessor">#include <stdlib.hch></span> -00021 <span class="preprocessor">#include "pal_master.hch"</span> -00022 -00023 <span class="preprocessor">#include "<a class="code" href="audio_8hch.html">audio.hch</a>"</span> -00024 <span class="preprocessor">#include "<a class="code" href="weights__256_8hch.html">weights_256.hch</a>"</span> -00025 <span class="preprocessor">#include "<a class="code" href="configuration_8hch.html">configuration.hch</a>"</span> -00026 <span class="preprocessor">#include "xilinxmult.hch"</span> -00027 <span class="preprocessor">#include "<a class="code" href="fft_8hch.html">fft.hch</a>"</span> -00028 -00029 <span class="preprocessor">#if HAVE_DEBUG</span> -00030 <span class="preprocessor"></span><span class="preprocessor"> #include "debug.hch"</span> -00031 <span class="preprocessor">#endif</span> -00032 <span class="preprocessor"></span> -00033 <span class="comment">/* Define two multi-port RAMs for FFT calculation; one for real and one for imaginary values</span> -00034 <span class="comment"> * Extra block RAM settings are defined to make sure read and write actions can be performed</span> -00035 <span class="comment"> * within one clock-cycle.</span> -00036 <span class="comment"> * Left out extra settings on new board the clock changes TODO !!!!</span> -00037 <span class="comment"> */</span> -00038 <span class="preprocessor">#if HARDWARE_MULTIPLY</span> -00039 <span class="preprocessor"></span>mpram -00040 { -00041 ram <span class="keywordtype">signed</span> 18 rwrite[256]; -00042 rom <span class="keywordtype">signed</span> 18 read[256]; -00043 } real with {block = <span class="stringliteral">"BlockRAM"</span><span class="comment">/*, westart=2.5, welength=1, rclkpos={1.5}, wclkpos={3}, clkpulselen=0.5*/</span>}; -00044 -00045 mpram -00046 { -00047 ram <span class="keywordtype">signed</span> 18 rwrite[256]; -00048 rom <span class="keywordtype">signed</span> 18 read[256]; -00049 } imaginary with {block = <span class="stringliteral">"BlockRAM"</span><span class="comment">/*, westart=2.5, welength=1, rclkpos={1.5}, wclkpos={3}, clkpulselen=0.5*/</span>}; -00050 <span class="preprocessor">#else</span> -00051 <span class="preprocessor"></span>mpram -00052 { -00053 ram <span class="keywordtype">signed</span> 24 rwrite[256]; -00054 rom <span class="keywordtype">signed</span> 24 read[256]; -00055 } real with {block = <span class="stringliteral">"BlockRAM"</span><span class="comment">/*, westart=2.5, welength=1, rclkpos={1.5}, wclkpos={3}, clkpulselen=0.5*/</span>}; -00056 -00057 mpram -00058 { -00059 ram <span class="keywordtype">signed</span> 24 rwrite[256]; -00060 rom <span class="keywordtype">signed</span> 24 read[256]; -00061 } imaginary with {block = <span class="stringliteral">"BlockRAM"</span><span class="comment">/*, westart=2.5, welength=1, rclkpos={1.5}, wclkpos={3}, clkpulselen=0.5*/</span>}; -00062 <span class="preprocessor">#endif</span> -00063 <span class="preprocessor"></span><span class="comment">// multiplication factors for equalizer function</span> -<a name="l00064"></a><a class="code" href="fft_8hcc.html#a1">00064</a> ram <span class="keywordtype">signed</span> 7 <a class="code" href="fft_8hcc.html#a1">eq_settings</a>[16] = {0,2,4,7,10,13,16,19,22,26,30,35,41,48,55,63}; -00065 -00066 <span class="preprocessor">#if HARDWARE_MULTIPLY</span> -00067 <span class="preprocessor"></span><span class="preprocessor">#define DC_COMPONENT 0</span> -00068 <span class="preprocessor"></span><span class="preprocessor">#else</span> -<a name="l00069"></a><a class="code" href="fft_8hcc.html#a0">00069</a> <span class="preprocessor"></span><span class="preprocessor">#define DC_COMPONENT 8470527</span> -00070 <span class="preprocessor"></span><span class="preprocessor">#endif</span> -00071 <span class="preprocessor"></span> -<a name="l00082"></a><a class="code" href="fft_8hcc.html#a2">00082</a> macro proc <a class="code" href="fft_8hcc.html#a2">multiply</a>(result, op_a, op_b) -00083 { -00084 <span class="preprocessor">#if HARDWARE_MULTIPLY</span> -00085 <span class="preprocessor"></span> xilinxmult(result, op_a, adjs(op_b,18)); -00086 <span class="preprocessor">#else</span> -00087 <span class="preprocessor"></span> result = (adjs(op_a,38))*(adjs(op_a,38)); -00088 <span class="preprocessor">#endif </span> -00089 <span class="preprocessor"></span>} -00090 -00091 -00092 -00093 -<a name="l00104"></a><a class="code" href="fft_8hcc.html#a3">00104</a> <span class="keywordtype">void</span> <a class="code" href="fft_8hcc.html#a3">calculate_fft</a>(<span class="keywordtype">unsigned</span> 1 select_inverse) -00105 { -00106 <span class="keywordtype">unsigned</span> 4 level; -00107 <span class="keywordtype">unsigned</span> 8 point1,point2,j,f,k; -00108 <span class="keywordtype">unsigned</span> 9 e,i; -00109 <span class="keywordtype">signed</span> 16 weight1,weight2; -00110 <span class="preprocessor">#if HARDWARE_MULTIPLY</span> -00111 <span class="preprocessor"></span> <span class="keywordtype">signed</span> 18 p,q,r,t; -00112 <span class="preprocessor">#else</span> -00113 <span class="preprocessor"></span> <span class="keywordtype">signed</span> 24 p,q,r,t; -00114 <span class="preprocessor">#endif</span> -00115 <span class="preprocessor"></span> <span class="keywordtype">signed</span> a,b; -00116 -00117 <span class="preprocessor">#if HARDWARE_MULTIPLY</span> -00118 <span class="preprocessor"></span> <span class="comment">// Macro to provide rescaling of 36-bit result of fixed point multiply</span> -00119 <span class="comment">// down to an 18-bit result. The range of bits selected depends on the </span> -00120 <span class="comment">// number that represents the value of "1" in the trig function lookup</span> -00121 <span class="comment">// tables. (Eg. for 16384 == 1, the lowest bit selected should be [14]).</span> -00122 macro expr rescale (x) = (x[35] @ x[30:14]); -00123 <span class="preprocessor">#else</span> -00124 <span class="preprocessor"></span> <span class="comment">//Macro to rescale the multiply result down to a 24-bit value.</span> -00125 macro expr rescale (x) = ((x>>FRACBITS)<-24); -00126 <span class="preprocessor">#endif</span> -00127 <span class="preprocessor"></span> -00128 <span class="keywordflow">for</span>(level=1;level<=NUMBER_OF_COLUMNS;level++) <span class="comment">// count all the columns</span> -00129 { -00130 e=1<<(<a class="code" href="fft_8hch.html#a0">NUMBER_OF_COLUMNS</a>-level+1); <span class="comment">// number of points in each block in this column</span> -00131 f=(e>>1)<-8; <span class="comment">// number of butterflies in each block in this column</span> -00132 -00133 <span class="keywordflow">for</span>(j=1;j<=f;j++) <span class="comment">// count all the butterflies in each block</span> -00134 { -00135 par -00136 { -00137 <span class="comment">// Weight factors for real (the same for FFT and iFFT)</span> -00138 weight1 = <a class="code" href="weights__256_8hch.html#a2">weight_re</a>[((j-1)<<(level-1))<-7]; -00139 -00140 -00141 <span class="comment">// Weight factors for imaginary (opposite for FFT and iFFT)</span> -00142 weight2 = (!select_inverse) ? (<a class="code" href="weights__256_8hch.html#a3">weight_im</a>[((j-1)<<(level-1))<-7]) : -(<a class="code" href="weights__256_8hch.html#a3">weight_im</a>[((j-1)<<(level-1))<-7]); -00143 -00144 <span class="comment">/* ORIGINAL CODE BELOW, MODIFIED BECAUSE OF MISMATCHING OUTPUT WITH BORLAND TESTAPP</span> -00145 <span class="comment"> weight2 = (!select_inverse) ? -(weight_im[((j-1)<<(level-1))<-7]) : weight_im[((j-1)<<(level-1))<-7]; </span> -00146 <span class="comment"> */</span> -00147 -00148 -00149 -00150 <span class="keywordflow">for</span>(i=0@j;i<=NUMBER_OF_POINTS;i+=e) <span class="comment">// count all the blocks in this column</span> -00151 { <span class="comment">// Butterfly calculation</span> -00152 par -00153 { -00154 point1 = ((i<-8)-1); -00155 point2 = (((i<-8)+f)-1); -00156 } -00157 -00158 par -00159 { -00160 p = (real.read[point1] >> 1) + (real.rwrite[point2] >> 1); -00161 q = (imaginary.read[point1] >> 1) + (imaginary.rwrite[point2] >> 1); -00162 } -00163 -00164 par -00165 { -00166 r = (real.read[point1] >> 1) - (real.rwrite[point2] >> 1); -00167 t = (imaginary.read[point1] >> 1) - (imaginary.rwrite[point2] >> 1); -00168 } -00169 -00170 <a class="code" href="fft_8hcc.html#a2">multiply</a>(a,r,weight1); -00171 <a class="code" href="fft_8hcc.html#a2">multiply</a>(b,t,weight2); -00172 -00173 par -00174 { -00175 real.rwrite[point2] = (rescale(a-b)); -00176 imaginary.rwrite[point1] = q; -00177 } -00178 -00179 <a class="code" href="fft_8hcc.html#a2">multiply</a>(a,t,weight1); -00180 <a class="code" href="fft_8hcc.html#a2">multiply</a>(b,r,weight2); -00181 -00182 par -00183 { -00184 real.rwrite[point1] = p; -00185 imaginary.rwrite[point2] = (rescale(a+b)); -00186 } -00187 -00188 } -00189 } -00190 } -00191 } -00192 -00193 j=1; -00194 <span class="keywordflow">for</span>(i=1;i<NUMBER_OF_POINTS;i++) -00195 { -00196 <span class="keywordflow">if</span>(i<(0@j)) -00197 { -00198 par -00199 { -00200 point1=j-1; -00201 point2=(i-1)<-8; -00202 } -00203 <span class="comment">/*</span> -00204 <span class="comment"> COPYING ARRAY VALUES FROM ONE PLACE TO ANOTHER IN THE ARRAT MUST BE DONE IN </span> -00205 <span class="comment"> 2 STEPS. FIRSTLY THE VALUES ARE COPIED TO SEPARATE VARIABLES AFTER THAT THEY</span> -00206 <span class="comment"> ARE COPIED BACK TO THEIR NEW POSITION IN THE ARRAY. THIS MUST BE DONE TO </span> -00207 <span class="comment"> PREVENT TIMING ISSUES FROM OCCURING.</span> -00208 <span class="comment"> */</span> -00209 par -00210 { -00211 p = real.read[point1]; -00212 q = imaginary.read[point1]; -00213 } -00214 par -00215 { -00216 r = real.read[point2]; -00217 t = imaginary.read[point2]; -00218 } -00219 par -00220 { -00221 real.rwrite[point1] = r; -00222 imaginary.rwrite[point1] = t; -00223 } -00224 par -00225 { -00226 real.rwrite[point2] = p; -00227 imaginary.rwrite[point2] = q; -00228 } -00229 } -00230 -00231 k = <a class="code" href="fft_8hch.html#a1">NUMBER_OF_POINTS</a>>>1; -00232 -00233 -00234 <span class="keywordflow">while</span>(k<j) -00235 { -00236 j = j-k; -00237 k = k>>1; -00238 } -00239 -00240 j+=k; -00241 } -00242 -00243 } -00244 -00256 <span class="preprocessor">#if HARDWARE_MULTIPLY</span> -00257 <span class="preprocessor"></span><span class="keywordtype">void</span> <a class="code" href="fft_8hcc.html#a4">perform_fft</a>(<span class="keywordtype">signed</span> 18 *pcm_audio) -00258 #<span class="keywordflow">else</span> -<a name="l00259"></a><a class="code" href="fft_8hcc.html#a4">00259</a> <span class="keywordtype">void</span> <a class="code" href="fft_8hcc.html#a4">perform_fft</a>(<span class="keywordtype">signed</span> 16 *pcm_audio) -00260 #endif -00261 { -00262 <span class="keywordtype">unsigned</span> 8 k; -00263 <span class="preprocessor">#if HARDWARE_MULTIPLY</span> -00264 <span class="preprocessor"></span> <span class="keywordtype">signed</span> 18 sample; -00265 k=0; -00266 sample = adjs(pcm_audio[k],18); -00267 <span class="preprocessor">#else</span> -00268 <span class="preprocessor"></span> <span class="keywordtype">signed</span> 24 sample; -00269 k=0; -00270 sample = adjs(pcm_audio[k],24); -00271 <span class="preprocessor">#endif</span> -00272 <span class="preprocessor"></span> -00273 <span class="comment">//initialize variables for the copying pipeline</span> -00274 -00275 -00276 <span class="comment">// copy audio data to real-array before starting FFT calculation</span> -00277 <span class="comment">// and set imaginary values to zero</span> -00278 <span class="keywordflow">do</span> -00279 { -00280 <span class="comment">//Copying the array values has been pipelined to prevent parallel access to the</span> -00281 <span class="comment">//pcm_audio array. This copying procedure must be finished before another </span> -00282 <span class="comment">//sample is read from the audio input. The time available for this loop is </span> -00283 <span class="comment">//determined by the sampling rate of 44,1 Khz</span> -00284 par -00285 { -00286 <span class="comment">//COPYING NEEDS TO BE DONE IN 2 STEPS, BECAUSE THE VALUE THAT NEEDS TO WRITTEN</span> -00287 <span class="comment">//TO THE REAL-RAM NEEDS TO BE AVAILABLE ON THE START OFF THE CLOCKCYCLE.</span> -00288 <span class="preprocessor">#if HARDWARE_MULTIPLY</span> -00289 <span class="preprocessor"></span> sample = adjs(pcm_audio[k+1],18); -00290 <span class="preprocessor">#else</span> -00291 <span class="preprocessor"></span> sample = adjs(pcm_audio[k+1],24); -00292 <span class="preprocessor">#endif</span> -00293 <span class="preprocessor"></span> real.rwrite[k] = sample; -00294 imaginary.rwrite[k] = 0; -00295 k++; -00296 } -00297 } <span class="keywordflow">while</span> (k); -00298 -00299 -00300 -00301 <span class="preprocessor">#if PERFORM_FFT_CALCULATION</span> -00302 <span class="preprocessor"></span> <a class="code" href="fft_8hcc.html#a3">calculate_fft</a>(0); -00303 <span class="preprocessor">#endif</span> -00304 <span class="preprocessor"></span> -00305 -00306 } -00307 -00321 <span class="preprocessor">#if HARDWARE_MULTIPLY</span> -00322 <span class="preprocessor"></span><span class="keywordtype">void</span> <a class="code" href="fft_8hcc.html#a5">perform_ifft</a>(<span class="keywordtype">signed</span> 18 *modified_audio, <span class="keywordtype">unsigned</span> 6 *ifft_info) -00323 #<span class="keywordflow">else</span> -<a name="l00324"></a><a class="code" href="fft_8hcc.html#a5">00324</a> <span class="keywordtype">void</span> <a class="code" href="fft_8hcc.html#a5">perform_ifft</a>(<span class="keywordtype">signed</span> 16 *modified_audio, <span class="keywordtype">unsigned</span> 6 *ifft_info) -00325 #endif -00326 { -00327 <span class="keywordtype">unsigned</span> 6 k; -00328 <span class="preprocessor">#if HARDWARE_MULTIPLY </span> -00329 <span class="preprocessor"></span> <span class="keywordtype">signed</span> 18 p; -00330 <span class="preprocessor">#else</span> -00331 <span class="preprocessor"></span> <span class="keywordtype">signed</span> 24 p; -00332 <span class="preprocessor">#endif</span> -00333 <span class="preprocessor"></span><span class="preprocessor">#if PERFORM_FFT_CALCULATION </span> -00334 <span class="preprocessor"></span> <a class="code" href="fft_8hcc.html#a3">calculate_fft</a>(1); -00335 <span class="preprocessor">#endif</span> -00336 <span class="preprocessor"></span> -00337 k=0; -00338 <span class="comment">//initialize variables for the copying pipeline</span> -00339 <span class="preprocessor">#if PERFORM_FFT_CALCULATION </span> -00340 <span class="preprocessor"></span><span class="preprocessor"> #if HARDWARE_MULTIPLY </span> -00341 <span class="preprocessor"></span> p = (real.read[(0@k)+95] << NUMBER_OF_COLUMNS); -00342 <span class="preprocessor"> #else</span> -00343 <span class="preprocessor"></span> p = (real.read[(0@k)+95] >> NUMBER_OF_COLUMNS); -00344 <span class="preprocessor"> #endif</span> -00345 <span class="preprocessor"></span><span class="preprocessor">#else</span> -00346 <span class="preprocessor"></span> p = (real.read[(0@k)+95]); -00347 <span class="preprocessor">#endif</span> -00348 <span class="preprocessor"></span> -00349 <span class="keywordflow">do</span> -00350 { -00351 <span class="comment">//Copying the array values has been pipelined to prevent parallel access to the</span> -00352 <span class="comment">//pcm_audio array. This copying procedure must be finished before another </span> -00353 <span class="comment">//sample is read from the audio input. The time available for this loop is </span> -00354 <span class="comment">//determined by the sampling rate of 44,1 Khz</span> -00355 par -00356 { -00357 <span class="comment">/*</span> -00358 <span class="comment"> * Before copying the modified audio from the local real-array </span> -00359 <span class="comment"> * to the output array of the audio I/O component, compensate</span> -00360 <span class="comment"> * for the FFT calculation by shifting the values. </span> -00361 <span class="comment"> * 95 is added to start the output from the middle of the sliding</span> -00362 <span class="comment"> * window, this is done to get a better sound quality.</span> -00363 <span class="comment"> */</span> -00364 <span class="preprocessor">#if PERFORM_FFT_CALCULATION </span> -00365 <span class="preprocessor"></span><span class="preprocessor"> #if HARDWARE_MULTIPLY </span> -00366 <span class="preprocessor"></span> p = (real.read[(0@k)+95] << NUMBER_OF_COLUMNS); -00367 <span class="preprocessor"> #else</span> -00368 <span class="preprocessor"></span> p = (real.read[(0@k)+95] >> NUMBER_OF_COLUMNS); -00369 <span class="preprocessor"> #endif</span> -00370 <span class="preprocessor"></span><span class="preprocessor">#else</span> -00371 <span class="preprocessor"></span> p = (real.read[(0@k)+95]); -00372 <span class="preprocessor">#endif</span> -00373 <span class="preprocessor"></span> <span class="comment">//Copy the modified audio from the local real array to the output array of the audio I/O component.</span> -00374 <span class="preprocessor">#if HARDWARE_MULTIPLY</span> -00375 <span class="preprocessor"></span> modified_audio[k] = p ; -00376 <span class="preprocessor">#else</span> -00377 <span class="preprocessor"></span> modified_audio[k] = (p<-16); -00378 <span class="preprocessor">#endif</span> -00379 <span class="preprocessor"></span> <span class="comment">//Fill the array for displaying the waveform, only the 6 MSB are needed.</span> -00380 ifft_info[k] = (<span class="keywordtype">unsigned</span> 6)(32+(p[17:12])); -00381 k++; -00382 } -00383 } <span class="keywordflow">while</span>(k); -00384 } -00385 -<a name="l00398"></a><a class="code" href="fft_8hcc.html#a6">00398</a> <span class="keywordtype">void</span> <a class="code" href="fft_8hcc.html#a6">equalize_audio</a>(<a class="code" href="structaudiodata__t.html">audiodata_t</a> *audiodata) -00399 { -00400 <span class="preprocessor">#if HARDWARE_MULTIPLY</span> -00401 <span class="preprocessor"></span> <span class="keywordtype">signed</span> 18 p,q; -00402 <span class="preprocessor">#else</span> -00403 <span class="preprocessor"></span> <span class="keywordtype">signed</span> 24 p,q; -00404 <span class="preprocessor">#endif</span> -00405 <span class="preprocessor"></span> <span class="keywordtype">signed</span> 18 a; -00406 <span class="keywordtype">unsigned</span> 8 i, mirror_i, bit, m, n; -00407 <span class="keywordtype">unsigned</span> 7 old_value; -00408 <span class="keywordtype">unsigned</span> 9 tmp; -00409 -00410 <span class="comment">//macro expr equalize_bar = multiply(q,a)[29:6];</span> -00411 -00412 macro proc equalize_bar(retval) -00413 { -00414 <span class="keywordtype">signed</span> result; -00415 <a class="code" href="fft_8hcc.html#a2">multiply</a>(result, q,a); -00416 <span class="preprocessor">#if HARDWARE_MULTIPLY</span> -00417 <span class="preprocessor"></span> retval = result[23:6]; <span class="comment">//drop last 6 bit to compensate the maximum multiplication with 64 from the eq_settings array</span> -00418 <span class="preprocessor">#else</span> -00419 <span class="preprocessor"></span> retval = result[29:6]; <span class="comment">//drop last 6 bit to compensate the maximum multiplication with 64 from the eq_settings array</span> -00420 <span class="preprocessor">#endif</span> -00421 <span class="preprocessor"></span> } -00422 -00423 p = real.read[0] - DC_COMPONENT; <span class="comment">// remove DC component for calculations</span> -00424 real.rwrite[0] = p; -00425 -00426 <span class="keywordflow">for</span>(i=0;i!=NUMBER_OF_FREQUENCIES;i++) -00427 { -00428 -00429 <span class="comment">// set multiplication factor (0..64) for current frequency bar, The first frequency band must be equalized at 100% (63) since there is no DC-component taken into account.</span> -00430 a = adjs(<a class="code" href="fft_8hcc.html#a1">eq_settings</a>[audiodata-><a class="code" href="structaudiodata__t.html#o0">equalizer_levels_ptr</a>[i <- 7]],18); -00431 -00432 -00433 <span class="comment">// multiply frequency with this factor and divide by 64 (drop 6 LSB's)</span> -00434 q = real.read[i]; -00435 equalize_bar(p); -00436 real.rwrite[i] = p; -00437 -00438 q = imaginary.read[i]; -00439 equalize_bar(p); -00440 imaginary.rwrite[i] = p; -00441 -00442 <span class="comment">// the upper part(128..255) of the spectrum is mirrored to the lower part; </span> -00443 <span class="comment">// these values need to be adjusted too</span> -00444 <span class="keywordflow">if</span> ((i<-7)!=0) <span class="comment">// if not in DC component bar</span> -00445 { -00446 mirror_i = (<a class="code" href="fft_8hch.html#a1">NUMBER_OF_POINTS</a>-1)-i+1; -00447 q = real.read[mirror_i]; -00448 equalize_bar(p); -00449 real.rwrite[mirror_i] = p; -00450 -00451 q = imaginary.read[mirror_i]; -00452 equalize_bar(p); -00453 imaginary.rwrite[mirror_i] = p; -00454 } -00455 } -00456 -00457 <span class="comment">//write data to fft_info for display purposes</span> -00458 <span class="keywordflow">for</span>(i=0;i<NUMBER_OF_FREQUENCIES;i++) -00459 { -00460 p = real.read[i]; -00461 q = imaginary.read[i]; -00462 <span class="preprocessor">#if HARDWARE_MULTIPLY</span> -00463 <span class="preprocessor"></span> <span class="keywordflow">if</span> (p[17] == 1) p = -p; <span class="keywordflow">else</span> delay; -00464 <span class="keywordflow">if</span> (q[17] == 1) q = -q; <span class="keywordflow">else</span> delay; -00465 <span class="preprocessor">#else</span> -00466 <span class="preprocessor"></span> <span class="keywordflow">if</span> (p[23] == 1) p = -p; <span class="keywordflow">else</span> delay; -00467 <span class="keywordflow">if</span> (q[23] == 1) q = -q; <span class="keywordflow">else</span> delay; -00468 <span class="preprocessor">#endif</span> -00469 <span class="preprocessor"></span> p = (p<q) ? q : p; <span class="comment">// This is done to get the best visual frequency result</span> -00470 -00471 <span class="keywordflow">if</span> (!audiodata-><a class="code" href="structaudiodata__t.html#o1">display_log</a>) -00472 { -00473 -00474 bit=126; -00475 <span class="preprocessor">#if HARDWARE_MULTIPLY</span> -00476 <span class="preprocessor"></span> <span class="keywordflow">while</span> ((p[15] == 0) && (bit != 0)) -00477 <span class="preprocessor">#else</span> -00478 <span class="preprocessor"></span> <span class="keywordflow">while</span> ((p[21] == 0) && (bit != 0)) -00479 <span class="preprocessor">#endif</span> -00480 <span class="preprocessor"></span> par -00481 { -00482 p = p<<1; -00483 bit = bit - 18; -00484 } -00485 old_value = audiodata->fft_info.write[0 @ (i <- 7)]; -00486 tmp = ((0@old_value) + (0@bit))>>1; -00487 audiodata->fft_info.write[0 @ (i <- 7)] = (old_value <= (tmp<-7)) ? (tmp<-7) : old_value-1; -00488 } -00489 <span class="keywordflow">else</span> -00490 { -00491 old_value = audiodata->fft_info.write[0 @ (i <- 7)]; -00492 <span class="preprocessor">#if HARDWARE_MULTIPLY</span> -00493 <span class="preprocessor"></span> audiodata->fft_info.write[0 @ (i <- 7)] = (old_value<=(unsigned)(p[15:9])) ? (unsigned)(p[15:9]) : old_value-1; -00494 <span class="preprocessor">#else</span> -00495 <span class="preprocessor"></span> audiodata->fft_info.write[0 @ (i <- 7)] = (old_value<=(unsigned)(p[21:15])) ? (unsigned)(p[21:15]) : old_value-1; -00496 <span class="preprocessor">#endif</span> -00497 <span class="preprocessor"></span> } -00498 } -00499 -00500 <span class="comment">// add DC component again before inverse FFT calculation is performed</span> -00501 -00502 p = real.read[0] + DC_COMPONENT; -00503 real.rwrite[0] = p; -00504 } -00505 -</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:07 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/fft_8hcc.html b/Graphic_Equalizer/doc/html/fft_8hcc.html deleted file mode 100644 index 4440372..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hcc.html +++ /dev/null @@ -1,380 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/src/fft.hcc File Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000004.html">src</a></div> -<h1>fft.hcc File Reference</h1><code>#include <stdlib.hch></code><br> -<code>#include "pal_master.hch"</code><br> -<code>#include "<a class="el" href="audio_8hch-source.html">audio.hch</a>"</code><br> -<code>#include "<a class="el" href="weights__256_8hch-source.html">weights_256.hch</a>"</code><br> -<code>#include "<a class="el" href="configuration_8hch-source.html">configuration.hch</a>"</code><br> -<code>#include "xilinxmult.hch"</code><br> -<code>#include "<a class="el" href="fft_8hch-source.html">fft.hch</a>"</code><br> - -<p> -Include dependency graph for fft.hcc:<p><center><img src="fft_8hcc__incl.png" border="0" usemap="#fft.hcc_map" alt="Include dependency graph"></center> -<map name="fft.hcc_map"> -<area href="audio_8hch.html" shape="rect" coords="245,7,325,34" alt=""> -<area href="weights__256_8hch.html" shape="rect" coords="349,7,472,34" alt=""> -<area href="configuration_8hch.html" shape="rect" coords="496,7,621,34" alt=""> -<area href="fft_8hch.html" shape="rect" coords="773,7,832,34" alt=""> -</map> - -<p> -<a href="fft_8hcc-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Defines</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="fft_8hcc.html#a0">DC_COMPONENT</a> 8470527</td></tr> - -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">macro proc </td><td class="memItemRight" valign="bottom"><a class="el" href="fft_8hcc.html#a2">multiply</a> (result, op_a, op_b)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Procedure used for multiply-ing. <a href="#a2"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="fft_8hcc.html#a3">calculate_fft</a> (unsigned 1 select_inverse)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">This routine performs the Fast Fourier Transform for calculation of the frequency spectrum. <a href="#a3"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="fft_8hcc.html#a4">perform_fft</a> (signed 16 *pcm_audio)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="fft_8hcc.html#a5">perform_ifft</a> (signed 16 *modified_audio, unsigned 6 *ifft_info)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="fft_8hcc.html#a6">equalize_audio</a> (<a class="el" href="structaudiodata__t.html">audiodata_t</a> *audiodata)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">This routine equalizes the frequencies derived by the FFT calculation, according to the settings of the equalizer bars. <a href="#a6"></a><br></td></tr> -<tr><td colspan="2"><br><h2>Variables</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">ram signed </td><td class="memItemRight" valign="bottom"><a class="el" href="fft_8hcc.html#a1">eq_settings</a> [16] = {0,2,4,7,10,13,16,19,22,26,30,35,41,48,55,63}</td></tr> - -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<h2><a class="anchor" name="generic"> -Graphic Equalizer API</a></h2> -on the samples. Besides the FFT this module also will equalize the audio signal according to the setting made by the user.<h2><a class="anchor" name="project"> -Project information.</a></h2> -Project Graphic Equalizer<br> - <dl compact><dt><b>Author:</b></dt><dd>M. Lauwerijssen </dd></dl> -<dl compact><dt><b>Date:</b></dt><dd>20041110 </dd></dl> -<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl> -<h2><a class="anchor" name="copyright"> -Copyright</a></h2> -Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history"> -Change history</a></h2> -20041110: M. Lauwerijssen<br> - Initial version -<p> -Definition in file <a class="el" href="fft_8hcc-source.html">fft.hcc</a>.<hr><h2>Define Documentation</h2> -<a class="anchor" name="a0" doxytag="fft.hcc::DC_COMPONENT"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define DC_COMPONENT 8470527 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="fft_8hcc-source.html#l00069">69</a> of file <a class="el" href="fft_8hcc-source.html">fft.hcc</a>. </td> - </tr> -</table> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="a2" doxytag="fft.hcc::multiply"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">macro proc multiply </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top">result </td> - <td class="mdname" nowrap>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>op_a </td> - <td class="mdname" nowrap>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>op_b </td> - <td class="mdname" nowrap></td> - </tr> - <tr> - <td class="md"></td> - <td class="md">) </td> - <td class="md" colspan="2"></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Procedure used for multiply-ing. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>result</em> </td><td>variable containing the result of the multiply procedure </td></tr> - <tr><td valign="top"></td><td valign="top"><em>op_a</em> </td><td>integer value to be multiplied. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>op_b</em> </td><td>integer value to be multiplied.</td></tr> - </table> -</dl> -<dl compact><dt><b>Returns:</b></dt><dd>Procedure returns through variable. </dd></dl> -<dl compact><dt><b>Return values:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>signed</em> </td><td>36 </td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="fft_8hcc-source.html#l00082">82</a> of file <a class="el" href="fft_8hcc-source.html">fft.hcc</a>. -<p> -Referenced by <a class="el" href="fft_8hcc-source.html#l00104">calculate_fft()</a>, and <a class="el" href="fft_8hcc-source.html#l00398">equalize_audio()</a>. </td> - </tr> -</table> -<a class="anchor" name="a3" doxytag="fft.hcc::calculate_fft"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void calculate_fft </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top">unsigned 1 </td> - <td class="mdname1" valign="top" nowrap> <em>select_inverse</em> </td> - <td class="md" valign="top"> ) </td> - <td class="md" nowrap></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -This routine performs the Fast Fourier Transform for calculation of the frequency spectrum. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>select_inverse</em> </td><td>determines if a FFT or iFFT has to be calculated</td></tr> - </table> -</dl> -<dl compact><dt><b>Returns:</b></dt><dd>nothing </dd></dl> -<dl compact><dt><b>Return values:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>void</em> </td><td>cost 12391 cycles </td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="fft_8hcc-source.html#l00104">104</a> of file <a class="el" href="fft_8hcc-source.html">fft.hcc</a>. -<p> -References <a class="el" href="fft_8hcc-source.html#l00082">multiply()</a>, <a class="el" href="fft_8hch-source.html#l00001">NUMBER_OF_COLUMNS</a>, <a class="el" href="fft_8hch-source.html#l00002">NUMBER_OF_POINTS</a>, <a class="el" href="weights__256_8hch-source.html#l00135">weight_im</a>, and <a class="el" href="weights__256_8hch-source.html#l00004">weight_re</a>. -<p> -Referenced by <a class="el" href="fft_8hcc-source.html#l00259">perform_fft()</a>, and <a class="el" href="fft_8hcc-source.html#l00324">perform_ifft()</a>. </td> - </tr> -</table> - -<p> -Here is the call graph for this function:<p><center><img src="fft_8hcc_a3_cgraph.png" border="0" usemap="#fft_8hcc_a3_cgraph_map" alt=""></center> -<map name="fft_8hcc_a3_cgraph_map"> -<area href="fft_8hcc.html#a2" shape="rect" coords="151,8,221,34" alt=""> -</map> -<a class="anchor" name="a4" doxytag="fft.hcc::perform_fft"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void perform_fft </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top">signed 16 * </td> - <td class="mdname1" valign="top" nowrap> <em>pcm_audio</em> </td> - <td class="md" valign="top"> ) </td> - <td class="md" nowrap></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="fft_8hcc-source.html#l00259">259</a> of file <a class="el" href="fft_8hcc-source.html">fft.hcc</a>. -<p> -References <a class="el" href="fft_8hcc-source.html#l00104">calculate_fft()</a>. </td> - </tr> -</table> - -<p> -Here is the call graph for this function:<p><center><img src="fft_8hcc_a4_cgraph.png" border="0" usemap="#fft_8hcc_a4_cgraph_map" alt=""></center> -<map name="fft_8hcc_a4_cgraph_map"> -<area href="fft_8hcc.html#a3" shape="rect" coords="145,8,238,34" alt=""> -<area href="fft_8hcc.html#a2" shape="rect" coords="287,8,357,34" alt=""> -</map> -<a class="anchor" name="a5" doxytag="fft.hcc::perform_ifft"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void perform_ifft </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top">signed 16 * </td> - <td class="mdname" nowrap> <em>modified_audio</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>unsigned 6 * </td> - <td class="mdname" nowrap> <em>ifft_info</em></td> - </tr> - <tr> - <td class="md"></td> - <td class="md">) </td> - <td class="md" colspan="2"></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="fft_8hcc-source.html#l00324">324</a> of file <a class="el" href="fft_8hcc-source.html">fft.hcc</a>. -<p> -References <a class="el" href="fft_8hcc-source.html#l00104">calculate_fft()</a>. </td> - </tr> -</table> - -<p> -Here is the call graph for this function:<p><center><img src="fft_8hcc_a5_cgraph.png" border="0" usemap="#fft_8hcc_a5_cgraph_map" alt=""></center> -<map name="fft_8hcc_a5_cgraph_map"> -<area href="fft_8hcc.html#a3" shape="rect" coords="150,8,244,34" alt=""> -<area href="fft_8hcc.html#a2" shape="rect" coords="293,8,362,34" alt=""> -</map> -<a class="anchor" name="a6" doxytag="fft.hcc::equalize_audio"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void equalize_audio </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="structaudiodata__t.html">audiodata_t</a> * </td> - <td class="mdname1" valign="top" nowrap> <em>audiodata</em> </td> - <td class="md" valign="top"> ) </td> - <td class="md" nowrap></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -This routine equalizes the frequencies derived by the FFT calculation, according to the settings of the equalizer bars. -<p> -<dl compact><dt><b>Note:</b></dt><dd>Cost: 3844 clock cycles (Maximum)</dd></dl> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>*audiodata</em> </td><td>pointer to the audiodata struct, containing the eq_info, etc.</td></tr> - </table> -</dl> -<dl compact><dt><b>Returns:</b></dt><dd>void </dd></dl> -<dl compact><dt><b>Return values:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>void</em> </td><td></td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="fft_8hcc-source.html#l00398">398</a> of file <a class="el" href="fft_8hcc-source.html">fft.hcc</a>. -<p> -References <a class="el" href="audio_8hch-source.html#l00035">audiodata_t::display_log</a>, <a class="el" href="fft_8hcc-source.html#l00064">eq_settings</a>, <a class="el" href="audio_8hch-source.html#l00034">audiodata_t::equalizer_levels_ptr</a>, <a class="el" href="fft_8hcc-source.html#l00082">multiply()</a>, and <a class="el" href="fft_8hch-source.html#l00002">NUMBER_OF_POINTS</a>. </td> - </tr> -</table> - -<p> -Here is the call graph for this function:<p><center><img src="fft_8hcc_a6_cgraph.png" border="0" usemap="#fft_8hcc_a6_cgraph_map" alt=""></center> -<map name="fft_8hcc_a6_cgraph_map"> -<area href="fft_8hcc.html#a2" shape="rect" coords="167,8,237,34" alt=""> -</map> -<hr><h2>Variable Documentation</h2> -<a class="anchor" name="a1" doxytag="fft.hcc::eq_settings"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">ram signed <a class="el" href="fft_8hcc.html#a1">eq_settings</a>[16] = {0,2,4,7,10,13,16,19,22,26,30,35,41,48,55,63} </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="fft_8hcc-source.html#l00064">64</a> of file <a class="el" href="fft_8hcc-source.html">fft.hcc</a>. -<p> -Referenced by <a class="el" href="fft_8hcc-source.html#l00398">equalize_audio()</a>. </td> - </tr> -</table> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:09 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/fft_8hcc__incl.map b/Graphic_Equalizer/doc/html/fft_8hcc__incl.map deleted file mode 100644 index 15797f7..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hcc__incl.map +++ /dev/null @@ -1,5 +0,0 @@ -base referer -rect $audio_8hch.html 245,7 325,34 -rect $weights__256_8hch.html 349,7 472,34 -rect $configuration_8hch.html 496,7 621,34 -rect $fft_8hch.html 773,7 832,34 diff --git a/Graphic_Equalizer/doc/html/fft_8hcc__incl.md5 b/Graphic_Equalizer/doc/html/fft_8hcc__incl.md5 deleted file mode 100644 index 2c9dae2..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hcc__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -13348b3a575ac6358b96e7a456338526
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/fft_8hcc__incl.png b/Graphic_Equalizer/doc/html/fft_8hcc__incl.png Binary files differdeleted file mode 100644 index b142ddb..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hcc__incl.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.map b/Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.map deleted file mode 100644 index de7305e..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $fft_8hcc.html#a1 151,8 221,34 diff --git a/Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.md5 b/Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.md5 deleted file mode 100644 index eea4b2a..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -a664c98e0e50457202b8c3914d39308b
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.png b/Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.png Binary files differdeleted file mode 100644 index 2f3869f..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/fft_8hcc_a3_cgraph.map b/Graphic_Equalizer/doc/html/fft_8hcc_a3_cgraph.map deleted file mode 100644 index c931a46..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hcc_a3_cgraph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $fft_8hcc.html#a2 151,8 221,34 diff --git a/Graphic_Equalizer/doc/html/fft_8hcc_a3_cgraph.md5 b/Graphic_Equalizer/doc/html/fft_8hcc_a3_cgraph.md5 deleted file mode 100644 index 91830d0..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hcc_a3_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -60d0602022030d538bcc3068a25b97cf
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/fft_8hcc_a3_cgraph.png b/Graphic_Equalizer/doc/html/fft_8hcc_a3_cgraph.png Binary files differdeleted file mode 100644 index 2f3869f..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hcc_a3_cgraph.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/fft_8hcc_a4_cgraph.map b/Graphic_Equalizer/doc/html/fft_8hcc_a4_cgraph.map deleted file mode 100644 index 037531e..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hcc_a4_cgraph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $fft_8hcc.html#a3 145,8 238,34 -rect $fft_8hcc.html#a2 287,8 357,34 diff --git a/Graphic_Equalizer/doc/html/fft_8hcc_a4_cgraph.md5 b/Graphic_Equalizer/doc/html/fft_8hcc_a4_cgraph.md5 deleted file mode 100644 index a4d85c7..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hcc_a4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5f114e2457f864aa033edf5b807704fa
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/fft_8hcc_a4_cgraph.png b/Graphic_Equalizer/doc/html/fft_8hcc_a4_cgraph.png Binary files differdeleted file mode 100644 index b2d2b15..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hcc_a4_cgraph.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.map b/Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.map deleted file mode 100644 index 615e423..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $fft_8hcc.html#a3 150,8 244,34 -rect $fft_8hcc.html#a2 293,8 362,34 diff --git a/Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.md5 b/Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.md5 deleted file mode 100644 index 87668b8..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -99e366a583ff5563d9b44801efa74ea1
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.png b/Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.png Binary files differdeleted file mode 100644 index fd17c70..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/fft_8hcc_a6_cgraph.map b/Graphic_Equalizer/doc/html/fft_8hcc_a6_cgraph.map deleted file mode 100644 index ca8d210..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hcc_a6_cgraph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $fft_8hcc.html#a2 167,8 237,34 diff --git a/Graphic_Equalizer/doc/html/fft_8hcc_a6_cgraph.md5 b/Graphic_Equalizer/doc/html/fft_8hcc_a6_cgraph.md5 deleted file mode 100644 index 84ec6cb..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hcc_a6_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -556d882357bf3e1a8c4e82d6a4d5308a
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/fft_8hcc_a6_cgraph.png b/Graphic_Equalizer/doc/html/fft_8hcc_a6_cgraph.png Binary files differdeleted file mode 100644 index 29c7f08..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hcc_a6_cgraph.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/fft_8hch-source.html b/Graphic_Equalizer/doc/html/fft_8hch-source.html deleted file mode 100644 index c741973..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hch-source.html +++ /dev/null @@ -1,48 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/include/fft.hch Source File</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>fft.hch</h1><a href="fft_8hch.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a><a class="code" href="fft_8hch.html#a0">00001</a> <span class="preprocessor">#define NUMBER_OF_COLUMNS 8</span> -<a name="l00002"></a><a class="code" href="fft_8hch.html#a1">00002</a> <span class="preprocessor"></span><span class="preprocessor">#define NUMBER_OF_POINTS (1<<NUMBER_OF_COLUMNS)</span> -<a name="l00003"></a><a class="code" href="fft_8hch.html#a2">00003</a> <span class="preprocessor"></span><span class="preprocessor">#define NUMBER_OF_FREQUENCIES (NUMBER_OF_POINTS>>1)</span> -00004 <span class="preprocessor"></span> -00005 <span class="preprocessor">#if HARDWARE_MULTIPLY</span> -00006 <span class="preprocessor"></span><span class="comment">/*</span> -00007 <span class="comment"> * This routine obtains the audio data from the audio I/O component and copies this </span> -00008 <span class="comment"> * data to local arrays for calculating purposes, and calls the FFT algorithm.</span> -00009 <span class="comment">*/</span> -00010 <span class="keywordtype">void</span> <a class="code" href="fft_8hcc.html#a4">perform_fft</a>(<span class="keywordtype">signed</span> 18 *pcm_audio); -00011 -00012 <span class="comment">/* This routine calls the ifft algorithm and after completing that it obtains the </span> -00013 <span class="comment"> * modified audio data and copies that to the output arrays of the audio I/O component. </span> -00014 <span class="comment"> * Besides that it also fills the array used by the display routine for displaying the waveform.</span> -00015 <span class="comment">*/</span> -00016 <span class="keywordtype">void</span> <a class="code" href="fft_8hcc.html#a5">perform_ifft</a>(<span class="keywordtype">signed</span> 18 *modified_audio ,<span class="keywordtype">unsigned</span> 6 *ifft_info); -00017 <span class="preprocessor">#else</span> -00018 <span class="preprocessor"></span><span class="comment">/*</span> -00019 <span class="comment"> * This routine obtains the audio data from the audio I/O component and copies this </span> -00020 <span class="comment"> * data to local arrays for calculating purposes, and calls the FFT algorithm.</span> -00021 <span class="comment">*/</span> -00022 <span class="keywordtype">void</span> <a class="code" href="fft_8hcc.html#a4">perform_fft</a>(<span class="keywordtype">signed</span> 16 *pcm_audio); -00023 -00024 <span class="comment">/* This routine calls the ifft algorithm and after completing that it obtains the </span> -00025 <span class="comment"> * modified audio data and copies that to the output arrays of the audio I/O component. </span> -00026 <span class="comment"> * Besides that it also fills the array used by the display routine for displaying the waveform.</span> -00027 <span class="comment">*/</span> -00028 <span class="keywordtype">void</span> <a class="code" href="fft_8hcc.html#a5">perform_ifft</a>(<span class="keywordtype">signed</span> 16 *modified_audio ,<span class="keywordtype">unsigned</span> 6 *ifft_info); -00029 <span class="preprocessor">#endif</span> -00030 <span class="preprocessor"></span> -00031 <span class="comment">/* This routine equalizes the frequencies derived by the FFT calculation, </span> -00032 <span class="comment"> * according to the settings of the equalizer bars.</span> -00033 <span class="comment">*/</span> -00034 <span class="keywordtype">void</span> <a class="code" href="fft_8hcc.html#a6">equalize_audio</a>(<a class="code" href="structaudiodata__t.html">audiodata_t</a> *audiodata); -</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:06 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/fft_8hch.html b/Graphic_Equalizer/doc/html/fft_8hch.html deleted file mode 100644 index 850be00..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hch.html +++ /dev/null @@ -1,261 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/include/fft.hch File Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>fft.hch File Reference</h1> -<p> -This graph shows which files directly or indirectly include this file:<p><center><img src="fft_8hch__dep__incl.png" border="0" usemap="#fft.hchdep_map" alt="Included by dependency graph"></center> -<map name="fft.hchdep_map"> -<area href="fft_8hcc.html" shape="rect" coords="7,7,66,34" alt=""> -<area href="main_8hcc.html" shape="rect" coords="90,7,165,34" alt=""> -</map> - -<p> -<a href="fft_8hch-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Defines</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="fft_8hch.html#a0">NUMBER_OF_COLUMNS</a> 8</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="fft_8hch.html#a1">NUMBER_OF_POINTS</a> (1<<NUMBER_OF_COLUMNS)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="fft_8hch.html#a2">NUMBER_OF_FREQUENCIES</a> (NUMBER_OF_POINTS>>1)</td></tr> - -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="fft_8hch.html#a3">perform_fft</a> (signed 16 *pcm_audio)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="fft_8hch.html#a4">perform_ifft</a> (signed 16 *modified_audio, unsigned 6 *ifft_info)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="fft_8hch.html#a5">equalize_audio</a> (<a class="el" href="structaudiodata__t.html">audiodata_t</a> *audiodata)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">This routine equalizes the frequencies derived by the FFT calculation, according to the settings of the equalizer bars. <a href="#a5"></a><br></td></tr> -</table> -<hr><h2>Define Documentation</h2> -<a class="anchor" name="a0" doxytag="fft.hch::NUMBER_OF_COLUMNS"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define NUMBER_OF_COLUMNS 8 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="fft_8hch-source.html#l00001">1</a> of file <a class="el" href="fft_8hch-source.html">fft.hch</a>. -<p> -Referenced by <a class="el" href="fft_8hcc-source.html#l00104">calculate_fft()</a>. </td> - </tr> -</table> -<a class="anchor" name="a1" doxytag="fft.hch::NUMBER_OF_POINTS"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define NUMBER_OF_POINTS (1<<NUMBER_OF_COLUMNS) </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="fft_8hch-source.html#l00002">2</a> of file <a class="el" href="fft_8hch-source.html">fft.hch</a>. -<p> -Referenced by <a class="el" href="fft_8hcc-source.html#l00104">calculate_fft()</a>, and <a class="el" href="fft_8hcc-source.html#l00398">equalize_audio()</a>. </td> - </tr> -</table> -<a class="anchor" name="a2" doxytag="fft.hch::NUMBER_OF_FREQUENCIES"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define NUMBER_OF_FREQUENCIES (NUMBER_OF_POINTS>>1) </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="fft_8hch-source.html#l00003">3</a> of file <a class="el" href="fft_8hch-source.html">fft.hch</a>. </td> - </tr> -</table> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="a3" doxytag="fft.hch::perform_fft"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void perform_fft </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top">signed 16 * </td> - <td class="mdname1" valign="top" nowrap> <em>pcm_audio</em> </td> - <td class="md" valign="top"> ) </td> - <td class="md" nowrap></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="fft_8hcc-source.html#l00259">259</a> of file <a class="el" href="fft_8hcc-source.html">fft.hcc</a>. -<p> -References <a class="el" href="fft_8hcc-source.html#l00104">calculate_fft()</a>. </td> - </tr> -</table> - -<p> -Here is the call graph for this function:<p><center><img src="fft_8hch_a3_cgraph.png" border="0" usemap="#fft_8hch_a3_cgraph_map" alt=""></center> -<map name="fft_8hch_a3_cgraph_map"> -<area href="fft_8hcc.html#a3" shape="rect" coords="145,8,238,34" alt=""> -<area href="fft_8hcc.html#a2" shape="rect" coords="287,8,357,34" alt=""> -</map> -<a class="anchor" name="a4" doxytag="fft.hch::perform_ifft"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void perform_ifft </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top">signed 16 * </td> - <td class="mdname" nowrap> <em>modified_audio</em>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>unsigned 6 * </td> - <td class="mdname" nowrap> <em>ifft_info</em></td> - </tr> - <tr> - <td class="md"></td> - <td class="md">) </td> - <td class="md" colspan="2"></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="fft_8hcc-source.html#l00324">324</a> of file <a class="el" href="fft_8hcc-source.html">fft.hcc</a>. -<p> -References <a class="el" href="fft_8hcc-source.html#l00104">calculate_fft()</a>. </td> - </tr> -</table> - -<p> -Here is the call graph for this function:<p><center><img src="fft_8hch_a4_cgraph.png" border="0" usemap="#fft_8hch_a4_cgraph_map" alt=""></center> -<map name="fft_8hch_a4_cgraph_map"> -<area href="fft_8hcc.html#a3" shape="rect" coords="150,8,244,34" alt=""> -<area href="fft_8hcc.html#a2" shape="rect" coords="293,8,362,34" alt=""> -</map> -<a class="anchor" name="a5" doxytag="fft.hch::equalize_audio"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void equalize_audio </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="structaudiodata__t.html">audiodata_t</a> * </td> - <td class="mdname1" valign="top" nowrap> <em>audiodata</em> </td> - <td class="md" valign="top"> ) </td> - <td class="md" nowrap></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -This routine equalizes the frequencies derived by the FFT calculation, according to the settings of the equalizer bars. -<p> -<dl compact><dt><b>Note:</b></dt><dd>Cost: 3844 clock cycles (Maximum)</dd></dl> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>*audiodata</em> </td><td>pointer to the audiodata struct, containing the eq_info, etc.</td></tr> - </table> -</dl> -<dl compact><dt><b>Returns:</b></dt><dd>void </dd></dl> -<dl compact><dt><b>Return values:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>void</em> </td><td></td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="fft_8hcc-source.html#l00398">398</a> of file <a class="el" href="fft_8hcc-source.html">fft.hcc</a>. -<p> -References <a class="el" href="audio_8hch-source.html#l00035">audiodata_t::display_log</a>, <a class="el" href="fft_8hcc-source.html#l00064">eq_settings</a>, <a class="el" href="audio_8hch-source.html#l00034">audiodata_t::equalizer_levels_ptr</a>, <a class="el" href="fft_8hcc-source.html#l00082">multiply()</a>, and <a class="el" href="fft_8hch-source.html#l00002">NUMBER_OF_POINTS</a>. </td> - </tr> -</table> - -<p> -Here is the call graph for this function:<p><center><img src="fft_8hch_a5_cgraph.png" border="0" usemap="#fft_8hch_a5_cgraph_map" alt=""></center> -<map name="fft_8hch_a5_cgraph_map"> -<area href="fft_8hcc.html#a2" shape="rect" coords="167,8,237,34" alt=""> -</map> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:08 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/fft_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/fft_8hch__dep__incl.map deleted file mode 100644 index 8e0f55e..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hch__dep__incl.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $fft_8hcc.html 7,7 66,34 -rect $main_8hcc.html 90,7 165,34 diff --git a/Graphic_Equalizer/doc/html/fft_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/fft_8hch__dep__incl.md5 deleted file mode 100644 index bdbfb74..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hch__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -6bb05a468f78b02050527b66e74f1b34
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/fft_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/fft_8hch__dep__incl.png Binary files differdeleted file mode 100644 index 9e82038..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hch__dep__incl.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/fft_8hch_a3_cgraph.map b/Graphic_Equalizer/doc/html/fft_8hch_a3_cgraph.map deleted file mode 100644 index 037531e..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hch_a3_cgraph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $fft_8hcc.html#a3 145,8 238,34 -rect $fft_8hcc.html#a2 287,8 357,34 diff --git a/Graphic_Equalizer/doc/html/fft_8hch_a3_cgraph.md5 b/Graphic_Equalizer/doc/html/fft_8hch_a3_cgraph.md5 deleted file mode 100644 index a4d85c7..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hch_a3_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -5f114e2457f864aa033edf5b807704fa
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/fft_8hch_a3_cgraph.png b/Graphic_Equalizer/doc/html/fft_8hch_a3_cgraph.png Binary files differdeleted file mode 100644 index b2d2b15..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hch_a3_cgraph.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/fft_8hch_a4_cgraph.map b/Graphic_Equalizer/doc/html/fft_8hch_a4_cgraph.map deleted file mode 100644 index 615e423..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hch_a4_cgraph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $fft_8hcc.html#a3 150,8 244,34 -rect $fft_8hcc.html#a2 293,8 362,34 diff --git a/Graphic_Equalizer/doc/html/fft_8hch_a4_cgraph.md5 b/Graphic_Equalizer/doc/html/fft_8hch_a4_cgraph.md5 deleted file mode 100644 index 87668b8..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hch_a4_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -99e366a583ff5563d9b44801efa74ea1
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/fft_8hch_a4_cgraph.png b/Graphic_Equalizer/doc/html/fft_8hch_a4_cgraph.png Binary files differdeleted file mode 100644 index fd17c70..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hch_a4_cgraph.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/fft_8hch_a5_cgraph.map b/Graphic_Equalizer/doc/html/fft_8hch_a5_cgraph.map deleted file mode 100644 index ca8d210..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hch_a5_cgraph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $fft_8hcc.html#a2 167,8 237,34 diff --git a/Graphic_Equalizer/doc/html/fft_8hch_a5_cgraph.md5 b/Graphic_Equalizer/doc/html/fft_8hch_a5_cgraph.md5 deleted file mode 100644 index 84ec6cb..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hch_a5_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -556d882357bf3e1a8c4e82d6a4d5308a
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/fft_8hch_a5_cgraph.png b/Graphic_Equalizer/doc/html/fft_8hch_a5_cgraph.png Binary files differdeleted file mode 100644 index 29c7f08..0000000 --- a/Graphic_Equalizer/doc/html/fft_8hch_a5_cgraph.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/files.html b/Graphic_Equalizer/doc/html/files.html deleted file mode 100644 index d24e5c6..0000000 --- a/Graphic_Equalizer/doc/html/files.html +++ /dev/null @@ -1,37 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: File Index</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindexHL" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<h1>Graphic Equalizer 2 File List</h1>Here is a list of all files with brief descriptions:<table> - <tr><td class="indexkey">C:/Project Marcel & Oliver/Graphic_Equalizer/include/<a class="el" href="audio_8hch.html">audio.hch</a> <a href="audio_8hch-source.html">[code]</a></td><td class="indexvalue"></td></tr> - <tr><td class="indexkey">C:/Project Marcel & Oliver/Graphic_Equalizer/include/<a class="el" href="configuration_8hch.html">configuration.hch</a> <a href="configuration_8hch-source.html">[code]</a></td><td class="indexvalue"></td></tr> - <tr><td class="indexkey">C:/Project Marcel & Oliver/Graphic_Equalizer/include/<a class="el" href="display_8hch.html">display.hch</a> <a href="display_8hch-source.html">[code]</a></td><td class="indexvalue"></td></tr> - <tr><td class="indexkey">C:/Project Marcel & Oliver/Graphic_Equalizer/include/<a class="el" href="display__shared_8hch.html">display_shared.hch</a> <a href="display__shared_8hch-source.html">[code]</a></td><td class="indexvalue">Datastructures and defines for usage when interacting with the display library </td></tr> - <tr><td class="indexkey">C:/Project Marcel & Oliver/Graphic_Equalizer/include/<a class="el" href="eventhandler_8hch.html">eventhandler.hch</a> <a href="eventhandler_8hch-source.html">[code]</a></td><td class="indexvalue"></td></tr> - <tr><td class="indexkey">C:/Project Marcel & Oliver/Graphic_Equalizer/include/<a class="el" href="eventhandler__shared_8hch.html">eventhandler_shared.hch</a> <a href="eventhandler__shared_8hch-source.html">[code]</a></td><td class="indexvalue"></td></tr> - <tr><td class="indexkey">C:/Project Marcel & Oliver/Graphic_Equalizer/include/<a class="el" href="events_8hch.html">events.hch</a> <a href="events_8hch-source.html">[code]</a></td><td class="indexvalue"></td></tr> - <tr><td class="indexkey">C:/Project Marcel & Oliver/Graphic_Equalizer/include/<a class="el" href="fft_8hch.html">fft.hch</a> <a href="fft_8hch-source.html">[code]</a></td><td class="indexvalue"></td></tr> - <tr><td class="indexkey">C:/Project Marcel & Oliver/Graphic_Equalizer/include/<a class="el" href="mouse_8hch.html">mouse.hch</a> <a href="mouse_8hch-source.html">[code]</a></td><td class="indexvalue"></td></tr> - <tr><td class="indexkey">C:/Project Marcel & Oliver/Graphic_Equalizer/include/<a class="el" href="mouse__shared_8hch.html">mouse_shared.hch</a> <a href="mouse__shared_8hch-source.html">[code]</a></td><td class="indexvalue"></td></tr> - <tr><td class="indexkey">C:/Project Marcel & Oliver/Graphic_Equalizer/include/<a class="el" href="runfft_8hch.html">runfft.hch</a> <a href="runfft_8hch-source.html">[code]</a></td><td class="indexvalue"></td></tr> - <tr><td class="indexkey">C:/Project Marcel & Oliver/Graphic_Equalizer/include/<a class="el" href="smartmedia_8hch.html">smartmedia.hch</a> <a href="smartmedia_8hch-source.html">[code]</a></td><td class="indexvalue"></td></tr> - <tr><td class="indexkey">C:/Project Marcel & Oliver/Graphic_Equalizer/include/<a class="el" href="smartmedia__shared_8hch.html">smartmedia_shared.hch</a> <a href="smartmedia__shared_8hch-source.html">[code]</a></td><td class="indexvalue"></td></tr> - <tr><td class="indexkey">C:/Project Marcel & Oliver/Graphic_Equalizer/include/<a class="el" href="weights__256_8hch.html">weights_256.hch</a> <a href="weights__256_8hch-source.html">[code]</a></td><td class="indexvalue"></td></tr> - <tr><td class="indexkey">C:/Project Marcel & Oliver/Graphic_Equalizer/src/<a class="el" href="audio_8hcc.html">audio.hcc</a> <a href="audio_8hcc-source.html">[code]</a></td><td class="indexvalue"></td></tr> - <tr><td class="indexkey">C:/Project Marcel & Oliver/Graphic_Equalizer/src/<a class="el" href="display_8hcc.html">display.hcc</a> <a href="display_8hcc-source.html">[code]</a></td><td class="indexvalue"></td></tr> - <tr><td class="indexkey">C:/Project Marcel & Oliver/Graphic_Equalizer/src/<a class="el" href="eventhandler_8hcc.html">eventhandler.hcc</a> <a href="eventhandler_8hcc-source.html">[code]</a></td><td class="indexvalue"></td></tr> - <tr><td class="indexkey">C:/Project Marcel & Oliver/Graphic_Equalizer/src/<a class="el" href="events_8hcc.html">events.hcc</a> <a href="events_8hcc-source.html">[code]</a></td><td class="indexvalue"></td></tr> - <tr><td class="indexkey">C:/Project Marcel & Oliver/Graphic_Equalizer/src/<a class="el" href="fft_8hcc.html">fft.hcc</a> <a href="fft_8hcc-source.html">[code]</a></td><td class="indexvalue"></td></tr> - <tr><td class="indexkey">C:/Project Marcel & Oliver/Graphic_Equalizer/src/<a class="el" href="main_8hcc.html">main.hcc</a> <a href="main_8hcc-source.html">[code]</a></td><td class="indexvalue"></td></tr> - <tr><td class="indexkey">C:/Project Marcel & Oliver/Graphic_Equalizer/src/<a class="el" href="mouse_8hcc.html">mouse.hcc</a> <a href="mouse_8hcc-source.html">[code]</a></td><td class="indexvalue"></td></tr> - <tr><td class="indexkey">C:/Project Marcel & Oliver/Graphic_Equalizer/src/<a class="el" href="runfft_8hcc.html">runfft.hcc</a> <a href="runfft_8hcc-source.html">[code]</a></td><td class="indexvalue"></td></tr> - <tr><td class="indexkey">C:/Project Marcel & Oliver/Graphic_Equalizer/src/<a class="el" href="smartmedia_8hcc.html">smartmedia.hcc</a> <a href="smartmedia_8hcc-source.html">[code]</a></td><td class="indexvalue"></td></tr> -</table> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:05 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/ftv2blank.png b/Graphic_Equalizer/doc/html/ftv2blank.png Binary files differdeleted file mode 100644 index 493c3c0..0000000 --- a/Graphic_Equalizer/doc/html/ftv2blank.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/ftv2doc.png b/Graphic_Equalizer/doc/html/ftv2doc.png Binary files differdeleted file mode 100644 index f72999f..0000000 --- a/Graphic_Equalizer/doc/html/ftv2doc.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/ftv2folderclosed.png b/Graphic_Equalizer/doc/html/ftv2folderclosed.png Binary files differdeleted file mode 100644 index d6d0634..0000000 --- a/Graphic_Equalizer/doc/html/ftv2folderclosed.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/ftv2folderopen.png b/Graphic_Equalizer/doc/html/ftv2folderopen.png Binary files differdeleted file mode 100644 index bbe2c91..0000000 --- a/Graphic_Equalizer/doc/html/ftv2folderopen.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/ftv2lastnode.png b/Graphic_Equalizer/doc/html/ftv2lastnode.png Binary files differdeleted file mode 100644 index e7b9ba9..0000000 --- a/Graphic_Equalizer/doc/html/ftv2lastnode.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/ftv2link.png b/Graphic_Equalizer/doc/html/ftv2link.png Binary files differdeleted file mode 100644 index 14f3fed..0000000 --- a/Graphic_Equalizer/doc/html/ftv2link.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/ftv2mlastnode.png b/Graphic_Equalizer/doc/html/ftv2mlastnode.png Binary files differdeleted file mode 100644 index 09ceb6a..0000000 --- a/Graphic_Equalizer/doc/html/ftv2mlastnode.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/ftv2mnode.png b/Graphic_Equalizer/doc/html/ftv2mnode.png Binary files differdeleted file mode 100644 index 3254c05..0000000 --- a/Graphic_Equalizer/doc/html/ftv2mnode.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/ftv2node.png b/Graphic_Equalizer/doc/html/ftv2node.png Binary files differdeleted file mode 100644 index c9f06a5..0000000 --- a/Graphic_Equalizer/doc/html/ftv2node.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/ftv2plastnode.png b/Graphic_Equalizer/doc/html/ftv2plastnode.png Binary files differdeleted file mode 100644 index 0b07e00..0000000 --- a/Graphic_Equalizer/doc/html/ftv2plastnode.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/ftv2pnode.png b/Graphic_Equalizer/doc/html/ftv2pnode.png Binary files differdeleted file mode 100644 index 2001b79..0000000 --- a/Graphic_Equalizer/doc/html/ftv2pnode.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/ftv2vertline.png b/Graphic_Equalizer/doc/html/ftv2vertline.png Binary files differdeleted file mode 100644 index b330f3a..0000000 --- a/Graphic_Equalizer/doc/html/ftv2vertline.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/functions.html b/Graphic_Equalizer/doc/html/functions.html deleted file mode 100644 index 2ba7edc..0000000 --- a/Graphic_Equalizer/doc/html/functions.html +++ /dev/null @@ -1,40 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: Data Fields</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindexHL" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="qindex"><a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_vars.html">Variables</a></div> - -<p> -Here is a list of all struct and union fields with links to the structures/unions they belong to:<ul> -<li>active_preset -: <a class="el" href="structevents__t.html#o1">events_t</a><li>area_bottom -: <a class="el" href="structskindata__t_1_1skin__info__t.html#o0">skindata_t::skin_info_t</a><li>area_left -: <a class="el" href="structskindata__t_1_1skin__info__t.html#o2">skindata_t::skin_info_t</a><li>area_right -: <a class="el" href="structskindata__t_1_1skin__info__t.html#o3">skindata_t::skin_info_t</a><li>area_top -: <a class="el" href="structskindata__t_1_1skin__info__t.html#o1">skindata_t::skin_info_t</a><li>color_primary -: <a class="el" href="structskindata__t_1_1skin__info__t.html#o4">skindata_t::skin_info_t</a><li>color_secondary -: <a class="el" href="structskindata__t_1_1skin__info__t.html#o5">skindata_t::skin_info_t</a><li>display_log -: <a class="el" href="structaudiodata__t.html#o1">audiodata_t</a><li>equalizer -: <a class="el" href="structskindata__t.html#o3">skindata_t</a><li>equalizer_display -: <a class="el" href="structevents__t.html#o0">events_t</a><li>equalizer_levels_ptr -: <a class="el" href="structaudiodata__t.html#o0">audiodata_t</a><li>equalizer_mode -: <a class="el" href="structevents__t.html#o5">events_t</a><li>locked_display -: <a class="el" href="structevents__t.html#o6">events_t</a><li>mask -: <a class="el" href="structevents__t.html#o3">events_t</a><li>mode -: <a class="el" href="structevents__t.html#o4">events_t</a><li>spectrum -: <a class="el" href="structskindata__t.html#o1">skindata_t</a><li>state -: <a class="el" href="structmousedata__t.html#o2">mousedata_t</a><li>status -: <a class="el" href="structmousedata__t.html#o3">mousedata_t</a><li>volume -: <a class="el" href="structskindata__t.html#o2">skindata_t</a><li>volume_position -: <a class="el" href="structevents__t.html#o2">events_t</a><li>waveform -: <a class="el" href="structskindata__t.html#o0">skindata_t</a><li>x -: <a class="el" href="structmousedata__t.html#o0">mousedata_t</a><li>y -: <a class="el" href="structmousedata__t.html#o1">mousedata_t</a></ul> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:09 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/functions_vars.html b/Graphic_Equalizer/doc/html/functions_vars.html deleted file mode 100644 index d23b45c..0000000 --- a/Graphic_Equalizer/doc/html/functions_vars.html +++ /dev/null @@ -1,40 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: Data Fields - Variables</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindexHL" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="qindex"><a class="qindex" href="functions.html">All</a> | <a class="qindexHL" href="functions_vars.html">Variables</a></div> - -<p> -<ul> -<li>active_preset -: <a class="el" href="structevents__t.html#o1">events_t</a><li>area_bottom -: <a class="el" href="structskindata__t_1_1skin__info__t.html#o0">skindata_t::skin_info_t</a><li>area_left -: <a class="el" href="structskindata__t_1_1skin__info__t.html#o2">skindata_t::skin_info_t</a><li>area_right -: <a class="el" href="structskindata__t_1_1skin__info__t.html#o3">skindata_t::skin_info_t</a><li>area_top -: <a class="el" href="structskindata__t_1_1skin__info__t.html#o1">skindata_t::skin_info_t</a><li>color_primary -: <a class="el" href="structskindata__t_1_1skin__info__t.html#o4">skindata_t::skin_info_t</a><li>color_secondary -: <a class="el" href="structskindata__t_1_1skin__info__t.html#o5">skindata_t::skin_info_t</a><li>display_log -: <a class="el" href="structaudiodata__t.html#o1">audiodata_t</a><li>equalizer -: <a class="el" href="structskindata__t.html#o3">skindata_t</a><li>equalizer_display -: <a class="el" href="structevents__t.html#o0">events_t</a><li>equalizer_levels_ptr -: <a class="el" href="structaudiodata__t.html#o0">audiodata_t</a><li>equalizer_mode -: <a class="el" href="structevents__t.html#o5">events_t</a><li>locked_display -: <a class="el" href="structevents__t.html#o6">events_t</a><li>mask -: <a class="el" href="structevents__t.html#o3">events_t</a><li>mode -: <a class="el" href="structevents__t.html#o4">events_t</a><li>spectrum -: <a class="el" href="structskindata__t.html#o1">skindata_t</a><li>state -: <a class="el" href="structmousedata__t.html#o2">mousedata_t</a><li>status -: <a class="el" href="structmousedata__t.html#o3">mousedata_t</a><li>volume -: <a class="el" href="structskindata__t.html#o2">skindata_t</a><li>volume_position -: <a class="el" href="structevents__t.html#o2">events_t</a><li>waveform -: <a class="el" href="structskindata__t.html#o0">skindata_t</a><li>x -: <a class="el" href="structmousedata__t.html#o0">mousedata_t</a><li>y -: <a class="el" href="structmousedata__t.html#o1">mousedata_t</a></ul> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:09 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/globals.html b/Graphic_Equalizer/doc/html/globals.html deleted file mode 100644 index cec412d..0000000 --- a/Graphic_Equalizer/doc/html/globals.html +++ /dev/null @@ -1,192 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: Globals</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindexHL" href="globals.html">Globals</a></div> -<div class="qindex"><a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_defs.html">Defines</a></div> -<div class="qindex"><a class="qindex" href="#index__">_</a> | <a class="qindex" href="#index_a">a</a> | <a class="qindex" href="#index_b">b</a> | <a class="qindex" href="#index_c">c</a> | <a class="qindex" href="#index_d">d</a> | <a class="qindex" href="#index_e">e</a> | <a class="qindex" href="#index_f">f</a> | <a class="qindex" href="#index_h">h</a> | <a class="qindex" href="#index_i">i</a> | <a class="qindex" href="#index_l">l</a> | <a class="qindex" href="#index_m">m</a> | <a class="qindex" href="#index_n">n</a> | <a class="qindex" href="#index_p">p</a> | <a class="qindex" href="#index_r">r</a> | <a class="qindex" href="#index_s">s</a> | <a class="qindex" href="#index_u">u</a> | <a class="qindex" href="#index_v">v</a> | <a class="qindex" href="#index_w">w</a></div> - -<p> - -<p> -Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:<h3><a class="anchor" name="index__">- _ -</a></h3><ul> -<li>_AUDIO_HCH -: <a class="el" href="audio_8hch.html#a0">audio.hch</a><li>_CONFIGURATION_HCH -: <a class="el" href="configuration_8hch.html#a0">configuration.hch</a><li>_DISPLAY_HCH -: <a class="el" href="display_8hch.html#a0">display.hch</a><li>_DISPLAY_SHARED_HCH -: <a class="el" href="display__shared_8hch.html#a0">display_shared.hch</a><li>_EVENTHANDLER_HCH -: <a class="el" href="eventhandler_8hch.html#a0">eventhandler.hch</a><li>_EVENTHANDLER_SHARED_HCH -: <a class="el" href="eventhandler__shared_8hch.html#a0">eventhandler_shared.hch</a><li>_EVENTS_HCH -: <a class="el" href="events_8hch.html#a0">events.hch</a><li>_MOUSEDRIVER_HCH -: <a class="el" href="mouse_8hch.html#a0">mouse.hch</a><li>_MOUSEDRIVER_SHARED_HCH -: <a class="el" href="mouse__shared_8hch.html#a0">mouse_shared.hch</a><li>_SMARTMEDIA_HCH -: <a class="el" href="smartmedia_8hch.html#a0">smartmedia.hch</a><li>_SMARTMEDIA_SHARED_HCH -: <a class="el" href="smartmedia__shared_8hch.html#a0">smartmedia_shared.hch</a></ul> -<h3><a class="anchor" name="index_a">- a -</a></h3><ul> -<li>ADDRESS_GRAPHMASK_END -: <a class="el" href="smartmedia__shared_8hch.html#a27">smartmedia_shared.hch</a><li>ADDRESS_GRAPHMASK_START -: <a class="el" href="smartmedia__shared_8hch.html#a26">smartmedia_shared.hch</a><li>ADDRESS_HELP_END -: <a class="el" href="smartmedia__shared_8hch.html#a25">smartmedia_shared.hch</a><li>ADDRESS_HELP_START -: <a class="el" href="smartmedia__shared_8hch.html#a24">smartmedia_shared.hch</a><li>ADDRESS_PRESET_DEMO_END -: <a class="el" href="smartmedia__shared_8hch.html#a29">smartmedia_shared.hch</a><li>ADDRESS_PRESET_DEMO_START -: <a class="el" href="smartmedia__shared_8hch.html#a28">smartmedia_shared.hch</a><li>ADDRESS_PRESET_RESET_END -: <a class="el" href="smartmedia__shared_8hch.html#a31">smartmedia_shared.hch</a><li>ADDRESS_PRESET_RESET_START -: <a class="el" href="smartmedia__shared_8hch.html#a30">smartmedia_shared.hch</a><li>ADDRESS_SKIN_END -: <a class="el" href="smartmedia__shared_8hch.html#a23">smartmedia_shared.hch</a><li>ADDRESS_SKIN_START -: <a class="el" href="smartmedia__shared_8hch.html#a22">smartmedia_shared.hch</a><li>AREA_EQUALIZER_MAX -: <a class="el" href="display__shared_8hch.html#a21">display_shared.hch</a><li>AREA_EQUALIZER_MIN -: <a class="el" href="display__shared_8hch.html#a20">display_shared.hch</a><li>AREA_SPECTRUM_ANALYZER -: <a class="el" href="display__shared_8hch.html#a3">display_shared.hch</a><li>AREA_VOLUME_YAXIS -: <a class="el" href="display__shared_8hch.html#a2">display_shared.hch</a><li>AREA_WAVEFORM -: <a class="el" href="display__shared_8hch.html#a1">display_shared.hch</a><li>audio_init() -: <a class="el" href="audio_8hcc.html#a0">audio.hcc</a>, <a class="el" href="audio_8hch.html#a11">audio.hch</a><li>audio_main() -: <a class="el" href="audio_8hcc.html#a1">audio.hcc</a>, <a class="el" href="audio_8hch.html#a12">audio.hch</a><li>AUDIO_NOT_READY -: <a class="el" href="audio_8hch.html#a1">audio.hch</a><li>AUDIO_READY -: <a class="el" href="audio_8hch.html#a2">audio.hch</a></ul> -<h3><a class="anchor" name="index_b">- b -</a></h3><ul> -<li>BUTTON_CONCAVE_FULL -: <a class="el" href="display__shared_8hch.html#a17">display_shared.hch</a><li>BUTTON_CONCAVE_HALF -: <a class="el" href="display__shared_8hch.html#a16">display_shared.hch</a><li>BUTTON_CONVEX_FULL -: <a class="el" href="display__shared_8hch.html#a13">display_shared.hch</a><li>BUTTON_CONVEX_HALF -: <a class="el" href="display__shared_8hch.html#a14">display_shared.hch</a><li>BUTTON_DEMO -: <a class="el" href="display__shared_8hch.html#a5">display_shared.hch</a><li>BUTTON_HELP -: <a class="el" href="display__shared_8hch.html#a18">display_shared.hch</a><li>BUTTON_LOG -: <a class="el" href="display__shared_8hch.html#a4">display_shared.hch</a><li>BUTTON_MODE -: <a class="el" href="display__shared_8hch.html#a19">display_shared.hch</a><li>BUTTON_PRECISE -: <a class="el" href="display__shared_8hch.html#a15">display_shared.hch</a><li>BUTTON_PRESET_1 -: <a class="el" href="display__shared_8hch.html#a7">display_shared.hch</a><li>BUTTON_PRESET_2 -: <a class="el" href="display__shared_8hch.html#a8">display_shared.hch</a><li>BUTTON_PRESET_3 -: <a class="el" href="display__shared_8hch.html#a9">display_shared.hch</a><li>BUTTON_PRESET_4 -: <a class="el" href="display__shared_8hch.html#a10">display_shared.hch</a><li>BUTTON_PRESET_5 -: <a class="el" href="display__shared_8hch.html#a11">display_shared.hch</a><li>BUTTON_PRESET_6 -: <a class="el" href="display__shared_8hch.html#a12">display_shared.hch</a><li>BUTTON_RESET -: <a class="el" href="display__shared_8hch.html#a6">display_shared.hch</a></ul> -<h3><a class="anchor" name="index_c">- c -</a></h3><ul> -<li>calculate_fft() -: <a class="el" href="fft_8hcc.html#a3">fft.hcc</a><li>CPLDRun -: <a class="el" href="smartmedia_8hch.html#a7">smartmedia.hch</a></ul> -<h3><a class="anchor" name="index_d">- d -</a></h3><ul> -<li>DC_COMPONENT -: <a class="el" href="fft_8hcc.html#a0">fft.hcc</a><li>display_main() -: <a class="el" href="display_8hcc.html#a2">display.hcc</a>, <a class="el" href="display_8hch.html#a6">display.hch</a></ul> -<h3><a class="anchor" name="index_e">- e -</a></h3><ul> -<li>eq_settings -: <a class="el" href="fft_8hcc.html#a1">fft.hcc</a><li>equalize_audio() -: <a class="el" href="fft_8hcc.html#a6">fft.hcc</a>, <a class="el" href="fft_8hch.html#a5">fft.hch</a><li>equalizer_table -: <a class="el" href="events_8hcc.html#a1">events.hcc</a>, <a class="el" href="eventhandler__shared_8hch.html#a8">eventhandler_shared.hch</a><li>equalizer_table_inv -: <a class="el" href="events_8hcc.html#a2">events.hcc</a>, <a class="el" href="eventhandler__shared_8hch.html#a9">eventhandler_shared.hch</a><li>EQUALIZERMODE_FULL -: <a class="el" href="eventhandler__shared_8hch.html#a4">eventhandler_shared.hch</a><li>EQUALIZERMODE_HALF -: <a class="el" href="eventhandler__shared_8hch.html#a5">eventhandler_shared.hch</a><li>EQUALIZERMODE_PRECISE -: <a class="el" href="eventhandler__shared_8hch.html#a6">eventhandler_shared.hch</a><li>eventhandler_main() -: <a class="el" href="eventhandler_8hcc.html#a2">eventhandler.hcc</a>, <a class="el" href="eventhandler_8hch.html#a3">eventhandler.hch</a></ul> -<h3><a class="anchor" name="index_f">- f -</a></h3><ul> -<li>FRACBITS -: <a class="el" href="weights__256_8hch.html#a1">weights_256.hch</a></ul> -<h3><a class="anchor" name="index_h">- h -</a></h3><ul> -<li>HARDWARE_MULTIPLY -: <a class="el" href="configuration_8hch.html#a4">configuration.hch</a><li>HAVE_DEBUG -: <a class="el" href="configuration_8hch.html#a1">configuration.hch</a><li>HAVE_SMARTMEDIA -: <a class="el" href="configuration_8hch.html#a2">configuration.hch</a></ul> -<h3><a class="anchor" name="index_i">- i -</a></h3><ul> -<li>INTBITS -: <a class="el" href="weights__256_8hch.html#a0">weights_256.hch</a></ul> -<h3><a class="anchor" name="index_l">- l -</a></h3><ul> -<li>LINE_IN -: <a class="el" href="audio_8hch.html#a3">audio.hch</a><li>load_preset() -: <a class="el" href="events_8hcc.html#a3">events.hcc</a>, <a class="el" href="events_8hch.html#a1">events.hch</a><li>LOAD_PRESET_DEMO -: <a class="el" href="eventhandler_8hch.html#a2">eventhandler.hch</a><li>LOAD_PRESET_RESET -: <a class="el" href="eventhandler_8hch.html#a1">eventhandler.hch</a></ul> -<h3><a class="anchor" name="index_m">- m -</a></h3><ul> -<li>main() -: <a class="el" href="main_8hcc.html#a1">main.hcc</a><li>maskupdate_notification -: <a class="el" href="eventhandler_8hcc.html#a0">eventhandler.hcc</a>, <a class="el" href="display_8hcc.html#a1">display.hcc</a><li>MIC_IN -: <a class="el" href="audio_8hch.html#a4">audio.hch</a><li>MODE_GRAPH -: <a class="el" href="eventhandler__shared_8hch.html#a3">eventhandler_shared.hch</a><li>MODE_HELP -: <a class="el" href="eventhandler__shared_8hch.html#a2">eventhandler_shared.hch</a><li>MODE_SKIN -: <a class="el" href="eventhandler__shared_8hch.html#a1">eventhandler_shared.hch</a><li>mouse_main() -: <a class="el" href="mouse_8hcc.html#a0">mouse.hcc</a>, <a class="el" href="mouse_8hch.html#a2">mouse.hch</a><li>MOUSE_NOT_UPDATED -: <a class="el" href="mouse__shared_8hch.html#a1">mouse_shared.hch</a><li>MOUSE_STATE_DOWN -: <a class="el" href="mouse__shared_8hch.html#a5">mouse_shared.hch</a><li>MOUSE_STATE_ON_PRESS -: <a class="el" href="mouse__shared_8hch.html#a4">mouse_shared.hch</a><li>MOUSE_STATE_ON_RELEASE -: <a class="el" href="mouse__shared_8hch.html#a6">mouse_shared.hch</a><li>MOUSE_STATE_UP -: <a class="el" href="mouse__shared_8hch.html#a3">mouse_shared.hch</a><li>MOUSE_UPDATED -: <a class="el" href="mouse__shared_8hch.html#a2">mouse_shared.hch</a><li>MouseRun -: <a class="el" href="mouse_8hch.html#a1">mouse.hch</a><li>multiply() -: <a class="el" href="fft_8hcc.html#a2">fft.hcc</a></ul> -<h3><a class="anchor" name="index_n">- n -</a></h3><ul> -<li>NUMBER_OF_COLUMNS -: <a class="el" href="fft_8hch.html#a0">fft.hch</a><li>NUMBER_OF_FREQUENCIES -: <a class="el" href="fft_8hch.html#a2">fft.hch</a><li>NUMBER_OF_POINTS -: <a class="el" href="fft_8hch.html#a1">fft.hch</a></ul> -<h3><a class="anchor" name="index_p">- p -</a></h3><ul> -<li>PAL_TARGET_CLOCK_RATE -: <a class="el" href="main_8hcc.html#a0">main.hcc</a>, <a class="el" href="display_8hcc.html#a0">display.hcc</a><li>perform_fft() -: <a class="el" href="fft_8hcc.html#a4">fft.hcc</a>, <a class="el" href="fft_8hch.html#a3">fft.hch</a><li>PERFORM_FFT_CALCULATION -: <a class="el" href="configuration_8hch.html#a5">configuration.hch</a><li>perform_ifft() -: <a class="el" href="fft_8hcc.html#a5">fft.hcc</a>, <a class="el" href="fft_8hch.html#a4">fft.hch</a><li>PIXEL -: <a class="el" href="display_8hch.html#a1">display.hch</a><li>PIXEL_EQUALIZER -: <a class="el" href="display_8hch.html#a3">display.hch</a><li>PIXEL_SPECTRUM -: <a class="el" href="display_8hch.html#a4">display.hch</a><li>PIXEL_VOLUME -: <a class="el" href="display_8hch.html#a2">display.hch</a><li>PIXEL_WAVEFORM -: <a class="el" href="display_8hch.html#a5">display.hch</a><li>presets_default_values -: <a class="el" href="events_8hcc.html#a0">events.hcc</a></ul> -<h3><a class="anchor" name="index_r">- r -</a></h3><ul> -<li>READ -: <a class="el" href="smartmedia_8hch.html#a1">smartmedia.hch</a><li>reload_equalizer() -: <a class="el" href="display_8hcc.html#a3">display.hcc</a>, <a class="el" href="display_8hch.html#a7">display.hch</a><li>RunFFT() -: <a class="el" href="runfft_8hch.html#a0">runfft.hch</a></ul> -<h3><a class="anchor" name="index_s">- s -</a></h3><ul> -<li>SIZE_GRAPH -: <a class="el" href="smartmedia__shared_8hch.html#a3">smartmedia_shared.hch</a><li>SIZE_GRAPHMASK -: <a class="el" href="smartmedia__shared_8hch.html#a6">smartmedia_shared.hch</a><li>SIZE_HELP -: <a class="el" href="smartmedia__shared_8hch.html#a2">smartmedia_shared.hch</a><li>SIZE_HELPMASK -: <a class="el" href="smartmedia__shared_8hch.html#a5">smartmedia_shared.hch</a><li>SIZE_PRESET -: <a class="el" href="smartmedia__shared_8hch.html#a7">smartmedia_shared.hch</a><li>SIZE_SKIN -: <a class="el" href="smartmedia__shared_8hch.html#a1">smartmedia_shared.hch</a><li>SIZE_SKINMASK -: <a class="el" href="smartmedia__shared_8hch.html#a4">smartmedia_shared.hch</a><li>SMARTMEDIA_ADDRESS_GRAPHMASK_END -: <a class="el" href="smartmedia__shared_8hch.html#a19">smartmedia_shared.hch</a><li>SMARTMEDIA_ADDRESS_GRAPHMASK_START -: <a class="el" href="smartmedia__shared_8hch.html#a12">smartmedia_shared.hch</a><li>SMARTMEDIA_ADDRESS_HELP_END -: <a class="el" href="smartmedia__shared_8hch.html#a17">smartmedia_shared.hch</a><li>SMARTMEDIA_ADDRESS_HELP_START -: <a class="el" href="smartmedia__shared_8hch.html#a10">smartmedia_shared.hch</a><li>SMARTMEDIA_ADDRESS_HELPMASK_END -: <a class="el" href="smartmedia__shared_8hch.html#a18">smartmedia_shared.hch</a><li>SMARTMEDIA_ADDRESS_HELPMASK_START -: <a class="el" href="smartmedia__shared_8hch.html#a11">smartmedia_shared.hch</a><li>SMARTMEDIA_ADDRESS_PRESET_DEMO_END -: <a class="el" href="smartmedia__shared_8hch.html#a20">smartmedia_shared.hch</a><li>SMARTMEDIA_ADDRESS_PRESET_DEMO_START -: <a class="el" href="smartmedia__shared_8hch.html#a13">smartmedia_shared.hch</a><li>SMARTMEDIA_ADDRESS_PRESET_RESET_END -: <a class="el" href="smartmedia__shared_8hch.html#a21">smartmedia_shared.hch</a><li>SMARTMEDIA_ADDRESS_PRESET_RESET_START -: <a class="el" href="smartmedia__shared_8hch.html#a14">smartmedia_shared.hch</a><li>SMARTMEDIA_ADDRESS_SKIN_END -: <a class="el" href="smartmedia__shared_8hch.html#a15">smartmedia_shared.hch</a><li>SMARTMEDIA_ADDRESS_SKIN_START -: <a class="el" href="smartmedia__shared_8hch.html#a8">smartmedia_shared.hch</a><li>SMARTMEDIA_ADDRESS_SKINMASK_END -: <a class="el" href="smartmedia__shared_8hch.html#a16">smartmedia_shared.hch</a><li>SMARTMEDIA_ADDRESS_SKINMASK_START -: <a class="el" href="smartmedia__shared_8hch.html#a9">smartmedia_shared.hch</a><li>smartmedia_init() -: <a class="el" href="smartmedia_8hcc.html#a0">smartmedia.hcc</a>, <a class="el" href="smartmedia_8hch.html#a9">smartmedia.hch</a><li>smartmedia_loaddata() -: <a class="el" href="smartmedia_8hcc.html#a1">smartmedia.hcc</a>, <a class="el" href="smartmedia_8hch.html#a10">smartmedia.hch</a><li>SmartMediaRun -: <a class="el" href="smartmedia_8hch.html#a8">smartmedia.hch</a><li>SR_11025 -: <a class="el" href="audio_8hch.html#a6">audio.hch</a><li>SR_16000 -: <a class="el" href="audio_8hch.html#a7">audio.hch</a><li>SR_22050 -: <a class="el" href="audio_8hch.html#a8">audio.hch</a><li>SR_44100 -: <a class="el" href="audio_8hch.html#a9">audio.hch</a><li>SR_48000 -: <a class="el" href="audio_8hch.html#a10">audio.hch</a><li>SR_8000 -: <a class="el" href="audio_8hch.html#a5">audio.hch</a><li>STAGE_LOAD_GRAPH -: <a class="el" href="smartmedia_8hch.html#a5">smartmedia.hch</a><li>STAGE_LOAD_HELP -: <a class="el" href="smartmedia_8hch.html#a4">smartmedia.hch</a><li>STAGE_LOAD_PRESET -: <a class="el" href="smartmedia_8hch.html#a6">smartmedia.hch</a><li>STAGE_LOAD_SKIN -: <a class="el" href="smartmedia_8hch.html#a3">smartmedia.hch</a></ul> -<h3><a class="anchor" name="index_u">- u -</a></h3><ul> -<li>USE_RUNFFT -: <a class="el" href="configuration_8hch.html#a3">configuration.hch</a><li>USE_UNSIGNED_AUDIO -: <a class="el" href="configuration_8hch.html#a6">configuration.hch</a></ul> -<h3><a class="anchor" name="index_v">- v -</a></h3><ul> -<li>volumecontrol_table -: <a class="el" href="eventhandler_8hcc.html#a1">eventhandler.hcc</a>, <a class="el" href="eventhandler__shared_8hch.html#a7">eventhandler_shared.hch</a></ul> -<h3><a class="anchor" name="index_w">- w -</a></h3><ul> -<li>weight_im -: <a class="el" href="weights__256_8hch.html#a3">weights_256.hch</a><li>weight_re -: <a class="el" href="weights__256_8hch.html#a2">weights_256.hch</a><li>WRITE -: <a class="el" href="smartmedia_8hch.html#a2">smartmedia.hch</a></ul> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:09 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/globals_defs.html b/Graphic_Equalizer/doc/html/globals_defs.html deleted file mode 100644 index f1ce8e4..0000000 --- a/Graphic_Equalizer/doc/html/globals_defs.html +++ /dev/null @@ -1,166 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: Globals - Defines</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindexHL" href="globals.html">Globals</a></div> -<div class="qindex"><a class="qindex" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindexHL" href="globals_defs.html">Defines</a></div> -<div class="qindex"><a class="qindex" href="#index__">_</a> | <a class="qindex" href="#index_a">a</a> | <a class="qindex" href="#index_b">b</a> | <a class="qindex" href="#index_c">c</a> | <a class="qindex" href="#index_d">d</a> | <a class="qindex" href="#index_e">e</a> | <a class="qindex" href="#index_f">f</a> | <a class="qindex" href="#index_h">h</a> | <a class="qindex" href="#index_i">i</a> | <a class="qindex" href="#index_l">l</a> | <a class="qindex" href="#index_m">m</a> | <a class="qindex" href="#index_n">n</a> | <a class="qindex" href="#index_p">p</a> | <a class="qindex" href="#index_r">r</a> | <a class="qindex" href="#index_s">s</a> | <a class="qindex" href="#index_u">u</a> | <a class="qindex" href="#index_w">w</a></div> - -<p> - -<p> -<h3><a class="anchor" name="index__">- _ -</a></h3><ul> -<li>_AUDIO_HCH -: <a class="el" href="audio_8hch.html#a0">audio.hch</a><li>_CONFIGURATION_HCH -: <a class="el" href="configuration_8hch.html#a0">configuration.hch</a><li>_DISPLAY_HCH -: <a class="el" href="display_8hch.html#a0">display.hch</a><li>_DISPLAY_SHARED_HCH -: <a class="el" href="display__shared_8hch.html#a0">display_shared.hch</a><li>_EVENTHANDLER_HCH -: <a class="el" href="eventhandler_8hch.html#a0">eventhandler.hch</a><li>_EVENTHANDLER_SHARED_HCH -: <a class="el" href="eventhandler__shared_8hch.html#a0">eventhandler_shared.hch</a><li>_EVENTS_HCH -: <a class="el" href="events_8hch.html#a0">events.hch</a><li>_MOUSEDRIVER_HCH -: <a class="el" href="mouse_8hch.html#a0">mouse.hch</a><li>_MOUSEDRIVER_SHARED_HCH -: <a class="el" href="mouse__shared_8hch.html#a0">mouse_shared.hch</a><li>_SMARTMEDIA_HCH -: <a class="el" href="smartmedia_8hch.html#a0">smartmedia.hch</a><li>_SMARTMEDIA_SHARED_HCH -: <a class="el" href="smartmedia__shared_8hch.html#a0">smartmedia_shared.hch</a></ul> -<h3><a class="anchor" name="index_a">- a -</a></h3><ul> -<li>ADDRESS_GRAPHMASK_END -: <a class="el" href="smartmedia__shared_8hch.html#a27">smartmedia_shared.hch</a><li>ADDRESS_GRAPHMASK_START -: <a class="el" href="smartmedia__shared_8hch.html#a26">smartmedia_shared.hch</a><li>ADDRESS_HELP_END -: <a class="el" href="smartmedia__shared_8hch.html#a25">smartmedia_shared.hch</a><li>ADDRESS_HELP_START -: <a class="el" href="smartmedia__shared_8hch.html#a24">smartmedia_shared.hch</a><li>ADDRESS_PRESET_DEMO_END -: <a class="el" href="smartmedia__shared_8hch.html#a29">smartmedia_shared.hch</a><li>ADDRESS_PRESET_DEMO_START -: <a class="el" href="smartmedia__shared_8hch.html#a28">smartmedia_shared.hch</a><li>ADDRESS_PRESET_RESET_END -: <a class="el" href="smartmedia__shared_8hch.html#a31">smartmedia_shared.hch</a><li>ADDRESS_PRESET_RESET_START -: <a class="el" href="smartmedia__shared_8hch.html#a30">smartmedia_shared.hch</a><li>ADDRESS_SKIN_END -: <a class="el" href="smartmedia__shared_8hch.html#a23">smartmedia_shared.hch</a><li>ADDRESS_SKIN_START -: <a class="el" href="smartmedia__shared_8hch.html#a22">smartmedia_shared.hch</a><li>AREA_EQUALIZER_MAX -: <a class="el" href="display__shared_8hch.html#a21">display_shared.hch</a><li>AREA_EQUALIZER_MIN -: <a class="el" href="display__shared_8hch.html#a20">display_shared.hch</a><li>AREA_SPECTRUM_ANALYZER -: <a class="el" href="display__shared_8hch.html#a3">display_shared.hch</a><li>AREA_VOLUME_YAXIS -: <a class="el" href="display__shared_8hch.html#a2">display_shared.hch</a><li>AREA_WAVEFORM -: <a class="el" href="display__shared_8hch.html#a1">display_shared.hch</a><li>AUDIO_NOT_READY -: <a class="el" href="audio_8hch.html#a1">audio.hch</a><li>AUDIO_READY -: <a class="el" href="audio_8hch.html#a2">audio.hch</a></ul> -<h3><a class="anchor" name="index_b">- b -</a></h3><ul> -<li>BUTTON_CONCAVE_FULL -: <a class="el" href="display__shared_8hch.html#a17">display_shared.hch</a><li>BUTTON_CONCAVE_HALF -: <a class="el" href="display__shared_8hch.html#a16">display_shared.hch</a><li>BUTTON_CONVEX_FULL -: <a class="el" href="display__shared_8hch.html#a13">display_shared.hch</a><li>BUTTON_CONVEX_HALF -: <a class="el" href="display__shared_8hch.html#a14">display_shared.hch</a><li>BUTTON_DEMO -: <a class="el" href="display__shared_8hch.html#a5">display_shared.hch</a><li>BUTTON_HELP -: <a class="el" href="display__shared_8hch.html#a18">display_shared.hch</a><li>BUTTON_LOG -: <a class="el" href="display__shared_8hch.html#a4">display_shared.hch</a><li>BUTTON_MODE -: <a class="el" href="display__shared_8hch.html#a19">display_shared.hch</a><li>BUTTON_PRECISE -: <a class="el" href="display__shared_8hch.html#a15">display_shared.hch</a><li>BUTTON_PRESET_1 -: <a class="el" href="display__shared_8hch.html#a7">display_shared.hch</a><li>BUTTON_PRESET_2 -: <a class="el" href="display__shared_8hch.html#a8">display_shared.hch</a><li>BUTTON_PRESET_3 -: <a class="el" href="display__shared_8hch.html#a9">display_shared.hch</a><li>BUTTON_PRESET_4 -: <a class="el" href="display__shared_8hch.html#a10">display_shared.hch</a><li>BUTTON_PRESET_5 -: <a class="el" href="display__shared_8hch.html#a11">display_shared.hch</a><li>BUTTON_PRESET_6 -: <a class="el" href="display__shared_8hch.html#a12">display_shared.hch</a><li>BUTTON_RESET -: <a class="el" href="display__shared_8hch.html#a6">display_shared.hch</a></ul> -<h3><a class="anchor" name="index_c">- c -</a></h3><ul> -<li>CPLDRun -: <a class="el" href="smartmedia_8hch.html#a7">smartmedia.hch</a></ul> -<h3><a class="anchor" name="index_d">- d -</a></h3><ul> -<li>DC_COMPONENT -: <a class="el" href="fft_8hcc.html#a0">fft.hcc</a></ul> -<h3><a class="anchor" name="index_e">- e -</a></h3><ul> -<li>EQUALIZERMODE_FULL -: <a class="el" href="eventhandler__shared_8hch.html#a4">eventhandler_shared.hch</a><li>EQUALIZERMODE_HALF -: <a class="el" href="eventhandler__shared_8hch.html#a5">eventhandler_shared.hch</a><li>EQUALIZERMODE_PRECISE -: <a class="el" href="eventhandler__shared_8hch.html#a6">eventhandler_shared.hch</a></ul> -<h3><a class="anchor" name="index_f">- f -</a></h3><ul> -<li>FRACBITS -: <a class="el" href="weights__256_8hch.html#a1">weights_256.hch</a></ul> -<h3><a class="anchor" name="index_h">- h -</a></h3><ul> -<li>HARDWARE_MULTIPLY -: <a class="el" href="configuration_8hch.html#a4">configuration.hch</a><li>HAVE_DEBUG -: <a class="el" href="configuration_8hch.html#a1">configuration.hch</a><li>HAVE_SMARTMEDIA -: <a class="el" href="configuration_8hch.html#a2">configuration.hch</a></ul> -<h3><a class="anchor" name="index_i">- i -</a></h3><ul> -<li>INTBITS -: <a class="el" href="weights__256_8hch.html#a0">weights_256.hch</a></ul> -<h3><a class="anchor" name="index_l">- l -</a></h3><ul> -<li>LINE_IN -: <a class="el" href="audio_8hch.html#a3">audio.hch</a><li>LOAD_PRESET_DEMO -: <a class="el" href="eventhandler_8hch.html#a2">eventhandler.hch</a><li>LOAD_PRESET_RESET -: <a class="el" href="eventhandler_8hch.html#a1">eventhandler.hch</a></ul> -<h3><a class="anchor" name="index_m">- m -</a></h3><ul> -<li>MIC_IN -: <a class="el" href="audio_8hch.html#a4">audio.hch</a><li>MODE_GRAPH -: <a class="el" href="eventhandler__shared_8hch.html#a3">eventhandler_shared.hch</a><li>MODE_HELP -: <a class="el" href="eventhandler__shared_8hch.html#a2">eventhandler_shared.hch</a><li>MODE_SKIN -: <a class="el" href="eventhandler__shared_8hch.html#a1">eventhandler_shared.hch</a><li>MOUSE_NOT_UPDATED -: <a class="el" href="mouse__shared_8hch.html#a1">mouse_shared.hch</a><li>MOUSE_STATE_DOWN -: <a class="el" href="mouse__shared_8hch.html#a5">mouse_shared.hch</a><li>MOUSE_STATE_ON_PRESS -: <a class="el" href="mouse__shared_8hch.html#a4">mouse_shared.hch</a><li>MOUSE_STATE_ON_RELEASE -: <a class="el" href="mouse__shared_8hch.html#a6">mouse_shared.hch</a><li>MOUSE_STATE_UP -: <a class="el" href="mouse__shared_8hch.html#a3">mouse_shared.hch</a><li>MOUSE_UPDATED -: <a class="el" href="mouse__shared_8hch.html#a2">mouse_shared.hch</a><li>MouseRun -: <a class="el" href="mouse_8hch.html#a1">mouse.hch</a></ul> -<h3><a class="anchor" name="index_n">- n -</a></h3><ul> -<li>NUMBER_OF_COLUMNS -: <a class="el" href="fft_8hch.html#a0">fft.hch</a><li>NUMBER_OF_FREQUENCIES -: <a class="el" href="fft_8hch.html#a2">fft.hch</a><li>NUMBER_OF_POINTS -: <a class="el" href="fft_8hch.html#a1">fft.hch</a></ul> -<h3><a class="anchor" name="index_p">- p -</a></h3><ul> -<li>PAL_TARGET_CLOCK_RATE -: <a class="el" href="main_8hcc.html#a0">main.hcc</a>, <a class="el" href="display_8hcc.html#a0">display.hcc</a><li>PERFORM_FFT_CALCULATION -: <a class="el" href="configuration_8hch.html#a5">configuration.hch</a><li>PIXEL -: <a class="el" href="display_8hch.html#a1">display.hch</a><li>PIXEL_EQUALIZER -: <a class="el" href="display_8hch.html#a3">display.hch</a><li>PIXEL_SPECTRUM -: <a class="el" href="display_8hch.html#a4">display.hch</a><li>PIXEL_VOLUME -: <a class="el" href="display_8hch.html#a2">display.hch</a><li>PIXEL_WAVEFORM -: <a class="el" href="display_8hch.html#a5">display.hch</a></ul> -<h3><a class="anchor" name="index_r">- r -</a></h3><ul> -<li>READ -: <a class="el" href="smartmedia_8hch.html#a1">smartmedia.hch</a></ul> -<h3><a class="anchor" name="index_s">- s -</a></h3><ul> -<li>SIZE_GRAPH -: <a class="el" href="smartmedia__shared_8hch.html#a3">smartmedia_shared.hch</a><li>SIZE_GRAPHMASK -: <a class="el" href="smartmedia__shared_8hch.html#a6">smartmedia_shared.hch</a><li>SIZE_HELP -: <a class="el" href="smartmedia__shared_8hch.html#a2">smartmedia_shared.hch</a><li>SIZE_HELPMASK -: <a class="el" href="smartmedia__shared_8hch.html#a5">smartmedia_shared.hch</a><li>SIZE_PRESET -: <a class="el" href="smartmedia__shared_8hch.html#a7">smartmedia_shared.hch</a><li>SIZE_SKIN -: <a class="el" href="smartmedia__shared_8hch.html#a1">smartmedia_shared.hch</a><li>SIZE_SKINMASK -: <a class="el" href="smartmedia__shared_8hch.html#a4">smartmedia_shared.hch</a><li>SMARTMEDIA_ADDRESS_GRAPHMASK_END -: <a class="el" href="smartmedia__shared_8hch.html#a19">smartmedia_shared.hch</a><li>SMARTMEDIA_ADDRESS_GRAPHMASK_START -: <a class="el" href="smartmedia__shared_8hch.html#a12">smartmedia_shared.hch</a><li>SMARTMEDIA_ADDRESS_HELP_END -: <a class="el" href="smartmedia__shared_8hch.html#a17">smartmedia_shared.hch</a><li>SMARTMEDIA_ADDRESS_HELP_START -: <a class="el" href="smartmedia__shared_8hch.html#a10">smartmedia_shared.hch</a><li>SMARTMEDIA_ADDRESS_HELPMASK_END -: <a class="el" href="smartmedia__shared_8hch.html#a18">smartmedia_shared.hch</a><li>SMARTMEDIA_ADDRESS_HELPMASK_START -: <a class="el" href="smartmedia__shared_8hch.html#a11">smartmedia_shared.hch</a><li>SMARTMEDIA_ADDRESS_PRESET_DEMO_END -: <a class="el" href="smartmedia__shared_8hch.html#a20">smartmedia_shared.hch</a><li>SMARTMEDIA_ADDRESS_PRESET_DEMO_START -: <a class="el" href="smartmedia__shared_8hch.html#a13">smartmedia_shared.hch</a><li>SMARTMEDIA_ADDRESS_PRESET_RESET_END -: <a class="el" href="smartmedia__shared_8hch.html#a21">smartmedia_shared.hch</a><li>SMARTMEDIA_ADDRESS_PRESET_RESET_START -: <a class="el" href="smartmedia__shared_8hch.html#a14">smartmedia_shared.hch</a><li>SMARTMEDIA_ADDRESS_SKIN_END -: <a class="el" href="smartmedia__shared_8hch.html#a15">smartmedia_shared.hch</a><li>SMARTMEDIA_ADDRESS_SKIN_START -: <a class="el" href="smartmedia__shared_8hch.html#a8">smartmedia_shared.hch</a><li>SMARTMEDIA_ADDRESS_SKINMASK_END -: <a class="el" href="smartmedia__shared_8hch.html#a16">smartmedia_shared.hch</a><li>SMARTMEDIA_ADDRESS_SKINMASK_START -: <a class="el" href="smartmedia__shared_8hch.html#a9">smartmedia_shared.hch</a><li>SmartMediaRun -: <a class="el" href="smartmedia_8hch.html#a8">smartmedia.hch</a><li>SR_11025 -: <a class="el" href="audio_8hch.html#a6">audio.hch</a><li>SR_16000 -: <a class="el" href="audio_8hch.html#a7">audio.hch</a><li>SR_22050 -: <a class="el" href="audio_8hch.html#a8">audio.hch</a><li>SR_44100 -: <a class="el" href="audio_8hch.html#a9">audio.hch</a><li>SR_48000 -: <a class="el" href="audio_8hch.html#a10">audio.hch</a><li>SR_8000 -: <a class="el" href="audio_8hch.html#a5">audio.hch</a><li>STAGE_LOAD_GRAPH -: <a class="el" href="smartmedia_8hch.html#a5">smartmedia.hch</a><li>STAGE_LOAD_HELP -: <a class="el" href="smartmedia_8hch.html#a4">smartmedia.hch</a><li>STAGE_LOAD_PRESET -: <a class="el" href="smartmedia_8hch.html#a6">smartmedia.hch</a><li>STAGE_LOAD_SKIN -: <a class="el" href="smartmedia_8hch.html#a3">smartmedia.hch</a></ul> -<h3><a class="anchor" name="index_u">- u -</a></h3><ul> -<li>USE_RUNFFT -: <a class="el" href="configuration_8hch.html#a3">configuration.hch</a><li>USE_UNSIGNED_AUDIO -: <a class="el" href="configuration_8hch.html#a6">configuration.hch</a></ul> -<h3><a class="anchor" name="index_w">- w -</a></h3><ul> -<li>WRITE -: <a class="el" href="smartmedia_8hch.html#a2">smartmedia.hch</a></ul> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:10 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/globals_func.html b/Graphic_Equalizer/doc/html/globals_func.html deleted file mode 100644 index d8ce10b..0000000 --- a/Graphic_Equalizer/doc/html/globals_func.html +++ /dev/null @@ -1,33 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: Globals - Functions</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindexHL" href="globals.html">Globals</a></div> -<div class="qindex"><a class="qindex" href="globals.html">All</a> | <a class="qindexHL" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_defs.html">Defines</a></div> - -<p> -<ul> -<li>audio_init() -: <a class="el" href="audio_8hcc.html#a0">audio.hcc</a>, <a class="el" href="audio_8hch.html#a11">audio.hch</a><li>audio_main() -: <a class="el" href="audio_8hcc.html#a1">audio.hcc</a>, <a class="el" href="audio_8hch.html#a12">audio.hch</a><li>calculate_fft() -: <a class="el" href="fft_8hcc.html#a3">fft.hcc</a><li>display_main() -: <a class="el" href="display_8hcc.html#a2">display.hcc</a>, <a class="el" href="display_8hch.html#a6">display.hch</a><li>equalize_audio() -: <a class="el" href="fft_8hcc.html#a6">fft.hcc</a>, <a class="el" href="fft_8hch.html#a5">fft.hch</a><li>eventhandler_main() -: <a class="el" href="eventhandler_8hcc.html#a2">eventhandler.hcc</a>, <a class="el" href="eventhandler_8hch.html#a3">eventhandler.hch</a><li>load_preset() -: <a class="el" href="events_8hcc.html#a3">events.hcc</a>, <a class="el" href="events_8hch.html#a1">events.hch</a><li>main() -: <a class="el" href="main_8hcc.html#a1">main.hcc</a><li>mouse_main() -: <a class="el" href="mouse_8hcc.html#a0">mouse.hcc</a>, <a class="el" href="mouse_8hch.html#a2">mouse.hch</a><li>multiply() -: <a class="el" href="fft_8hcc.html#a2">fft.hcc</a><li>perform_fft() -: <a class="el" href="fft_8hcc.html#a4">fft.hcc</a>, <a class="el" href="fft_8hch.html#a3">fft.hch</a><li>perform_ifft() -: <a class="el" href="fft_8hcc.html#a5">fft.hcc</a>, <a class="el" href="fft_8hch.html#a4">fft.hch</a><li>reload_equalizer() -: <a class="el" href="display_8hcc.html#a3">display.hcc</a>, <a class="el" href="display_8hch.html#a7">display.hch</a><li>RunFFT() -: <a class="el" href="runfft_8hch.html#a0">runfft.hch</a><li>smartmedia_init() -: <a class="el" href="smartmedia_8hcc.html#a0">smartmedia.hcc</a>, <a class="el" href="smartmedia_8hch.html#a9">smartmedia.hch</a><li>smartmedia_loaddata() -: <a class="el" href="smartmedia_8hcc.html#a1">smartmedia.hcc</a>, <a class="el" href="smartmedia_8hch.html#a10">smartmedia.hch</a></ul> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:09 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/globals_vars.html b/Graphic_Equalizer/doc/html/globals_vars.html deleted file mode 100644 index 5cda06d..0000000 --- a/Graphic_Equalizer/doc/html/globals_vars.html +++ /dev/null @@ -1,25 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: Globals - Variables</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindexHL" href="globals.html">Globals</a></div> -<div class="qindex"><a class="qindex" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindexHL" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_defs.html">Defines</a></div> - -<p> -<ul> -<li>eq_settings -: <a class="el" href="fft_8hcc.html#a1">fft.hcc</a><li>equalizer_table -: <a class="el" href="events_8hcc.html#a1">events.hcc</a>, <a class="el" href="eventhandler__shared_8hch.html#a8">eventhandler_shared.hch</a><li>equalizer_table_inv -: <a class="el" href="events_8hcc.html#a2">events.hcc</a>, <a class="el" href="eventhandler__shared_8hch.html#a9">eventhandler_shared.hch</a><li>maskupdate_notification -: <a class="el" href="eventhandler_8hcc.html#a0">eventhandler.hcc</a>, <a class="el" href="display_8hcc.html#a1">display.hcc</a><li>presets_default_values -: <a class="el" href="events_8hcc.html#a0">events.hcc</a><li>volumecontrol_table -: <a class="el" href="eventhandler_8hcc.html#a1">eventhandler.hcc</a>, <a class="el" href="eventhandler__shared_8hch.html#a7">eventhandler_shared.hch</a><li>weight_im -: <a class="el" href="weights__256_8hch.html#a3">weights_256.hch</a><li>weight_re -: <a class="el" href="weights__256_8hch.html#a2">weights_256.hch</a></ul> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:09 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/graph_legend.dot b/Graphic_Equalizer/doc/html/graph_legend.dot deleted file mode 100644 index 5420927..0000000 --- a/Graphic_Equalizer/doc/html/graph_legend.dot +++ /dev/null @@ -1,22 +0,0 @@ -digraph G -{ - edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; - node [fontname="Helvetica",fontsize=10,shape=record]; - Node9 [shape="box",label="Inherited",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",style="filled" fontcolor="white"]; - Node10 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="Helvetica"]; - Node10 [shape="box",label="PublicBase",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classPublicBase.html"]; - Node11 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="Helvetica"]; - Node11 [shape="box",label="Truncated",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="red",URL="$classTruncated.html"]; - Node13 -> Node9 [dir=back,color="darkgreen",fontsize=10,style="solid",fontname="Helvetica"]; - Node13 [shape="box",label="ProtectedBase",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classProtectedBase.html"]; - Node14 -> Node9 [dir=back,color="firebrick4",fontsize=10,style="solid",fontname="Helvetica"]; - Node14 [shape="box",label="PrivateBase",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classPrivateBase.html"]; - Node15 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="Helvetica"]; - Node15 [shape="box",label="Undocumented",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="grey75"]; - Node16 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="Helvetica"]; - Node16 [shape="box",label="Templ< int >",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classTempl.html"]; - Node17 -> Node16 [dir=back,color="orange",fontsize=10,style="dashed",label="< int >",fontname="Helvetica"]; - Node17 [shape="box",label="Templ< T >",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classTempl.html"]; - Node18 -> Node9 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="m_usedClass",fontname="Helvetica"]; - Node18 [shape="box",label="Used",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classUsed.html"]; -} diff --git a/Graphic_Equalizer/doc/html/graph_legend.html b/Graphic_Equalizer/doc/html/graph_legend.html deleted file mode 100644 index b5e1c0d..0000000 --- a/Graphic_Equalizer/doc/html/graph_legend.html +++ /dev/null @@ -1,74 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: Graph Legend</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<h1>Graph Legend</h1>This page explains how to interpret the graphs that are generated by doxygen.<p> -Consider the following example: <div class="fragment"><pre class="fragment"><span class="comment">/*! Invisible class because of truncation */</span> -<span class="keyword">class </span>Invisible { }; -<span class="comment"></span> -<span class="comment">/*! Truncated class, inheritance relation is hidden */</span> -<span class="keyword">class </span>Truncated : <span class="keyword">public</span> Invisible { }; - -<span class="comment">/* Class not documented with doxygen comments */</span> -<span class="keyword">class </span>Undocumented { }; -<span class="comment"></span> -<span class="comment">/*! Class that is inherited using public inheritance */</span> -<span class="keyword">class </span>PublicBase : <span class="keyword">public</span> Truncated { }; -<span class="comment"></span> -<span class="comment">/*! A template class */</span> -<span class="keyword">template</span><<span class="keyword">class</span> T> <span class="keyword">class </span>Templ { }; -<span class="comment"></span> -<span class="comment">/*! Class that is inherited using protected inheritance */</span> -<span class="keyword">class </span>ProtectedBase { }; -<span class="comment"></span> -<span class="comment">/*! Class that is inherited using private inheritance */</span> -<span class="keyword">class </span>PrivateBase { }; -<span class="comment"></span> -<span class="comment">/*! Class that is used by the Inherited class */</span> -<span class="keyword">class </span>Used { }; -<span class="comment"></span> -<span class="comment">/*! Super class that inherits a number of other classes */</span> -<span class="keyword">class </span>Inherited : <span class="keyword">public</span> PublicBase, - <span class="keyword">protected</span> ProtectedBase, - <span class="keyword">private</span> PrivateBase, - <span class="keyword">public</span> Undocumented - <span class="keyword">public</span> Templ<int> -{ - <span class="keyword">private</span>: - Used *m_usedClass; -}; -</pre></div>If the <code>MAX_DOT_GRAPH_HEIGHT</code> tag in the configuration file is set to 240 this will result in the following graph:<p> -<center><div align="center"> -<img src="graph_legend.png" alt="graph_legend.png" alt> -</div> -</center> <p> -The boxes in the above graph have the following meaning: <ul> -<li> -A filled black box represents the struct or class for which the graph is generated. </li> -<li> -A box with a black border denotes a documented struct or class. </li> -<li> -A box with a grey border denotes an undocumented struct or class. </li> -<li> -A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries. </li> -</ul> -The arrows have the following meaning: <ul> -<li> -A dark blue arrow is used to visualize a public inheritance relation between two classes. </li> -<li> -A dark green arrow is used for protected inheritance. </li> -<li> -A dark red arrow is used for private inheritance. </li> -<li> -A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible. </li> -<li> -A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance. </li> -</ul> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:11 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/graph_legend.png b/Graphic_Equalizer/doc/html/graph_legend.png Binary files differdeleted file mode 100644 index b8cfe42..0000000 --- a/Graphic_Equalizer/doc/html/graph_legend.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/index.html b/Graphic_Equalizer/doc/html/index.html deleted file mode 100644 index bbefe91..0000000 --- a/Graphic_Equalizer/doc/html/index.html +++ /dev/null @@ -1,8 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2</title></head> -<frameset cols="250,*"> - <frame src="tree.html" name="treefrm"> - <frame src="main.html" name="basefrm"> -</frameset> -</html> diff --git a/Graphic_Equalizer/doc/html/main.html b/Graphic_Equalizer/doc/html/main.html deleted file mode 100644 index 586bea1..0000000 --- a/Graphic_Equalizer/doc/html/main.html +++ /dev/null @@ -1,14 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: Main Page</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindexHL" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<h1>Graphic Equalizer 2 Documentation</h1> -<p> -<h3 align="center">2.0.1 </h3><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:05 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/main_8hcc-source.html b/Graphic_Equalizer/doc/html/main_8hcc-source.html deleted file mode 100644 index 33c19e6..0000000 --- a/Graphic_Equalizer/doc/html/main_8hcc-source.html +++ /dev/null @@ -1,153 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/src/main.hcc Source File</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000004.html">src</a></div> -<h1>main.hcc</h1><a href="main_8hcc.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 -00019 <span class="comment">/*</span> -00020 <span class="comment"> * Set the Clock rate for this domain. 25.175 Mhz is required for the Video output.</span> -00021 <span class="comment"> */</span> -<a name="l00022"></a><a class="code" href="main_8hcc.html#a0">00022</a> <span class="preprocessor">#define PAL_TARGET_CLOCK_RATE 25175000</span> -00023 <span class="preprocessor"></span> -00024 <span class="comment">/******** System Includes *************/</span> -00025 <span class="preprocessor">#include "pal_master.hch"</span> -00026 -00027 <span class="comment">/******** Application Includes ********/</span> -00028 <span class="preprocessor">#include "<a class="code" href="configuration_8hch.html">configuration.hch</a>"</span> -00029 <span class="preprocessor">#include "<a class="code" href="audio_8hch.html">audio.hch</a>"</span> -00030 <span class="preprocessor">#include "<a class="code" href="mouse__shared_8hch.html">mouse_shared.hch</a>"</span> -00031 <span class="preprocessor">#include "<a class="code" href="mouse_8hch.html">mouse.hch</a>"</span> -00032 <span class="preprocessor">#include "<a class="code" href="eventhandler__shared_8hch.html">eventhandler_shared.hch</a>"</span> -00033 <span class="preprocessor">#include "<a class="code" href="eventhandler_8hch.html">eventhandler.hch</a>"</span> -00034 <span class="preprocessor">#include "<a class="code" href="display__shared_8hch.html">display_shared.hch</a>"</span> -00035 <span class="preprocessor">#include "<a class="code" href="display_8hch.html">display.hch</a>"</span> -00036 <span class="preprocessor">#include "<a class="code" href="smartmedia_8hch.html">smartmedia.hch</a>"</span> -00037 -00038 <span class="preprocessor">#include "<a class="code" href="fft_8hch.html">fft.hch</a>"</span> -00039 <span class="preprocessor">#include "<a class="code" href="runfft_8hch.html">runfft.hch</a>"</span> -00040 -00041 <span class="preprocessor">#if HAVE_DEBUG</span> -00042 <span class="preprocessor"></span><span class="preprocessor"> #include "debug.hch"</span> -00043 <span class="preprocessor">#endif</span> -00044 <span class="preprocessor"></span> -<a name="l00051"></a><a class="code" href="main_8hcc.html#a1">00051</a> <span class="keywordtype">void</span> <a class="code" href="main_8hcc.html#a1">main</a>(<span class="keywordtype">void</span>) { -00052 <span class="comment">/*</span> -00053 <span class="comment"> * Set VideoOut, Audio I/O and Ram Handles and set clockrate.</span> -00054 <span class="comment"> */</span> -00055 macro expr ClockRate = PAL_ACTUAL_CLOCK_RATE; -00056 macro expr VideoOut = PalVideoOutOptimalCT(ClockRate); -00057 macro expr AudioIn = PalAudioInCT(0); -00058 macro expr AudioOut = PalAudioOutCT(0); -00059 macro expr RAM_BANK0 = PalPL2RAMCT(0); -00060 -00061 <a class="code" href="structmousedata__t.html">mousedata_t</a> mousedata; -00062 <a class="code" href="structevents__t.html">events_t</a> events; -00063 <a class="code" href="structaudiodata__t.html">audiodata_t</a> audiodata; -00064 <a class="code" href="structskindata__t.html">skindata_t</a> skindata; -00065 <span class="keywordtype">unsigned</span> 1 result; -00066 -00067 <span class="comment">/*</span> -00068 <span class="comment"> * Check library versions and Request various hardware functionality.</span> -00069 <span class="comment"> * We need at least Major Version 1. For Audio purposes we need atleast</span> -00070 <span class="comment"> * minor version 2.</span> -00071 <span class="comment"> */</span> -00072 PalVersionRequire(1, 2); -00073 PalVideoOutRequire(1); -00074 PalAudioInRequire(1); -00075 PalAudioOutRequire(1); -00076 -00077 <span class="comment">/*</span> -00078 <span class="comment"> * We verify some datawidths here at compile time. This to ensure</span> -00079 <span class="comment"> * successfull operation.</span> -00080 <span class="comment"> */</span> -00081 assert (PalVideoOutGetColorWidthCT(VideoOut) == 24, 0, -00082 <span class="stringliteral">"We need a 24-bit color Display."</span>); -00083 assert (PalPL2RAMGetDataWidthCT(RAM_BANK0) >= 32, 0, -00084 <span class="stringliteral">"We can't work with anything less then 32 bits wide ram."</span>); -00085 -00086 <span class="comment">/*</span> -00087 <span class="comment"> * Run The Following main tasks in parallel.</span> -00088 <span class="comment"> */</span> -00089 par { -00090 <span class="comment">/*</span> -00091 <span class="comment"> * Primary task is to 'Run' several hardware simultaniously.</span> -00092 <span class="comment"> */</span> -00093 PalVideoOutRun(VideoOut, ClockRate); -00094 <a class="code" href="mouse_8hch.html#a1">MouseRun</a>(ClockRate); -00095 PalAudioInRun(AudioIn, ClockRate); -00096 PalAudioOutRun(AudioOut, ClockRate); -00097 PalPL2RAMRun(RAM_BANK0, ClockRate); -00098 <span class="preprocessor">#if HAVE_SMARTMEDIA</span> -00099 <span class="preprocessor"></span> <span class="comment">/*</span> -00100 <span class="comment"> * The smartmedia device needs the CPLD to run also.</span> -00101 <span class="comment"> */</span> -00102 <a class="code" href="smartmedia_8hch.html#a7">CPLDRun</a>(ClockRate); -00103 <a class="code" href="smartmedia_8hch.html#a8">SmartMediaRun</a>(ClockRate); -00104 <span class="preprocessor">#endif</span> -00105 <span class="preprocessor"></span><span class="preprocessor">#if HAVE_DEBUG</span> -00106 <span class="preprocessor"></span> RC200RS232Run(RC200RS232_115200Baud, RC200RS232ParityNone, -00107 RC200RS232FlowControlNone, ClockRate); -00108 <span class="preprocessor">#endif</span> -00109 <span class="preprocessor"></span> -00110 <span class="comment">/*</span> -00111 <span class="comment"> * Parallel to our Primary tasks we run the application.</span> -00112 <span class="comment"> */</span> -00113 seq { -00114 <span class="comment">/*</span> -00115 <span class="comment"> * But first we need to initialize Video and Audio.</span> -00116 <span class="comment"> * We also load the data from the SmartMedia card</span> -00117 <span class="comment"> * into the ram.</span> -00118 <span class="comment"> */</span> -00119 <span class="preprocessor">#if HAVE_DEBUG</span> -00120 <span class="preprocessor"></span> print_cls(); -00121 print_string(<span class="stringliteral">"Graphic Equalizer 2"</span>); -00122 print_eol(); -00123 <span class="preprocessor">#endif</span> -00124 <span class="preprocessor"></span> PalVideoOutEnable(VideoOut); -00125 PalAudioInEnable(AudioIn); -00126 PalAudioOutEnable(AudioOut); -00127 <a class="code" href="audio_8hcc.html#a0">audio_init</a>(6, <a class="code" href="audio_8hch.html#a3">LINE_IN</a>, <a class="code" href="audio_8hch.html#a9">SR_44100</a>, AudioIn, AudioOut); -00128 <span class="preprocessor">#if HAVE_SMARTMEDIA</span> -00129 <span class="preprocessor"></span> <span class="comment">/*</span> -00130 <span class="comment"> * Once we properly setup the SmartMedia we load our</span> -00131 <span class="comment"> * data folowed by our main program loop.</span> -00132 <span class="comment"> */</span> -00133 result = <a class="code" href="smartmedia_8hch.html#a9">smartmedia_init</a>(); -00134 <span class="keywordflow">if</span> (!result) { -00135 <span class="preprocessor">#endif</span> -00136 <span class="preprocessor"></span> <a class="code" href="smartmedia_8hcc.html#a1">smartmedia_loaddata</a>(&skindata); -00137 -00138 <span class="comment">/*</span> -00139 <span class="comment"> * Main application starts here!</span> -00140 <span class="comment"> */</span> -00141 par { -00142 <span class="comment">/*</span> -00143 <span class="comment"> * From here we run the mouse driver, audio</span> -00144 <span class="comment"> * and display in parallel. None of these</span> -00145 <span class="comment"> * should ever return.</span> -00146 <span class="comment"> */</span> -00147 <a class="code" href="mouse_8hcc.html#a0">mouse_main</a>(&mousedata); -00148 <a class="code" href="display_8hcc.html#a2">display_main</a>(&skindata, &audiodata, &events, &mousedata); -00149 <a class="code" href="eventhandler_8hcc.html#a2">eventhandler_main</a>(&audiodata, &events, &mousedata); -00150 <a class="code" href="audio_8hcc.html#a1">audio_main</a>(audiodata, AudioIn, AudioOut); -00151 } -00152 <span class="preprocessor">#if HAVE_SMARTMEDIA</span> -00153 <span class="preprocessor"></span> } <span class="keywordflow">else</span> { -00154 <span class="preprocessor">#if HAVE_DEBUG</span> -00155 <span class="preprocessor"></span> print_string(<span class="stringliteral">"Error Initializing SmartMedia"</span>); -00156 <span class="preprocessor">#endif</span> -00157 <span class="preprocessor"></span> } -00158 <span class="preprocessor">#endif</span> -00159 <span class="preprocessor"></span> } -00160 } -00161 -00162 } <span class="comment">/* --- main() --- */</span> -</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:07 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/main_8hcc.html b/Graphic_Equalizer/doc/html/main_8hcc.html deleted file mode 100644 index 91be25e..0000000 --- a/Graphic_Equalizer/doc/html/main_8hcc.html +++ /dev/null @@ -1,151 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/src/main.hcc File Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000004.html">src</a></div> -<h1>main.hcc File Reference</h1><code>#include "pal_master.hch"</code><br> -<code>#include "<a class="el" href="configuration_8hch-source.html">configuration.hch</a>"</code><br> -<code>#include "<a class="el" href="audio_8hch-source.html">audio.hch</a>"</code><br> -<code>#include "<a class="el" href="mouse__shared_8hch-source.html">mouse_shared.hch</a>"</code><br> -<code>#include "<a class="el" href="mouse_8hch-source.html">mouse.hch</a>"</code><br> -<code>#include "<a class="el" href="eventhandler__shared_8hch-source.html">eventhandler_shared.hch</a>"</code><br> -<code>#include "<a class="el" href="eventhandler_8hch-source.html">eventhandler.hch</a>"</code><br> -<code>#include "<a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>"</code><br> -<code>#include "<a class="el" href="display_8hch-source.html">display.hch</a>"</code><br> -<code>#include "<a class="el" href="smartmedia_8hch-source.html">smartmedia.hch</a>"</code><br> -<code>#include "<a class="el" href="fft_8hch-source.html">fft.hch</a>"</code><br> -<code>#include "<a class="el" href="runfft_8hch-source.html">runfft.hch</a>"</code><br> - -<p> -Include dependency graph for main.hcc:<p><center><img src="main_8hcc__incl.png" border="0" usemap="#main.hcc_map" alt="Include dependency graph"></center> -<map name="main.hcc_map"> -<area href="configuration_8hch.html" shape="rect" coords="143,7,269,34" alt=""> -<area href="audio_8hch.html" shape="rect" coords="293,7,373,34" alt=""> -<area href="mouse__shared_8hch.html" shape="rect" coords="397,7,533,34" alt=""> -<area href="mouse_8hch.html" shape="rect" coords="557,7,645,34" alt=""> -<area href="eventhandler__shared_8hch.html" shape="rect" coords="669,7,842,34" alt=""> -<area href="eventhandler_8hch.html" shape="rect" coords="866,7,991,34" alt=""> -<area href="display__shared_8hch.html" shape="rect" coords="1015,7,1151,34" alt=""> -<area href="display_8hch.html" shape="rect" coords="1175,7,1263,34" alt=""> -<area href="smartmedia_8hch.html" shape="rect" coords="1287,7,1405,34" alt=""> -<area href="fft_8hch.html" shape="rect" coords="1429,7,1487,34" alt=""> -<area href="runfft_8hch.html" shape="rect" coords="1511,7,1589,34" alt=""> -</map> - -<p> -<a href="main_8hcc-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Defines</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="main_8hcc.html#a0">PAL_TARGET_CLOCK_RATE</a> 25175000</td></tr> - -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="main_8hcc.html#a1">main</a> (void)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Main Application Loop. <a href="#a1"></a><br></td></tr> -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<h2><a class="anchor" name="generic"> -Graphic Equalizer API</a></h2> -<h2><a class="anchor" name="project"> -Project information.</a></h2> -Project Graphic Equalizer<br> - <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl> -<dl compact><dt><b>Date:</b></dt><dd>20041011 </dd></dl> -<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl> -<h2><a class="anchor" name="copyright"> -Copyright</a></h2> -Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history"> -Change history</a></h2> -20041011: O.M. Schinagl<br> - Initial version -<p> -Definition in file <a class="el" href="main_8hcc-source.html">main.hcc</a>.<hr><h2>Define Documentation</h2> -<a class="anchor" name="a0" doxytag="main.hcc::PAL_TARGET_CLOCK_RATE"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define PAL_TARGET_CLOCK_RATE 25175000 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="main_8hcc-source.html#l00022">22</a> of file <a class="el" href="main_8hcc-source.html">main.hcc</a>. </td> - </tr> -</table> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="a1" doxytag="main.hcc::main"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void main </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top">void </td> - <td class="mdname1" valign="top" nowrap> </td> - <td class="md" valign="top"> ) </td> - <td class="md" nowrap></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Main Application Loop. -<p> -<dl compact><dt><b>Returns:</b></dt><dd>void </dd></dl> -<dl compact><dt><b>Return values:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>void</em> </td><td></td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="main_8hcc-source.html#l00051">51</a> of file <a class="el" href="main_8hcc-source.html">main.hcc</a>. -<p> -References <a class="el" href="audio_8hcc-source.html#l00045">audio_init()</a>, <a class="el" href="audio_8hcc-source.html#l00076">audio_main()</a>, <a class="el" href="smartmedia_8hch-source.html#l00047">CPLDRun</a>, <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>, <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>, <a class="el" href="audio_8hch-source.html#l00052">LINE_IN</a>, <a class="el" href="mouse_8hcc-source.html#l00048">mouse_main()</a>, <a class="el" href="mouse_8hch-source.html#l00027">MouseRun</a>, <a class="el" href="smartmedia_8hcc-source.html#l00046">smartmedia_init()</a>, <a class="el" href="smartmedia_8hcc-source.html#l00072">smartmedia_loaddata()</a>, <a class="el" href="smartmedia_8hch-source.html#l00048">SmartMediaRun</a>, and <a class="el" href="audio_8hch-source.html#l00064">SR_44100</a>. </td> - </tr> -</table> - -<p> -Here is the call graph for this function:<p><center><img src="main_8hcc_a1_cgraph.png" border="0" usemap="#main_8hcc_a1_cgraph_map" alt=""></center> -<map name="main_8hcc_a1_cgraph_map"> -<area href="audio_8hcc.html#a0" shape="rect" coords="145,8,225,34" alt=""> -<area href="audio_8hcc.html#a1" shape="rect" coords="140,58,230,85" alt=""> -<area href="display_8hcc.html#a2" shape="rect" coords="134,109,236,136" alt=""> -<area href="eventhandler_8hcc.html#a2" shape="rect" coords="117,160,253,186" alt=""> -<area href="mouse_8hcc.html#a0" shape="rect" coords="136,210,234,237" alt=""> -<area href="smartmedia_8hch.html#a9" shape="rect" coords="126,261,244,288" alt=""> -<area href="smartmedia_8hcc.html#a1" shape="rect" coords="109,312,261,338" alt=""> -<area href="events_8hcc.html#a3" shape="rect" coords="325,134,416,161" alt=""> -<area href="display_8hcc.html#a3" shape="rect" coords="310,185,430,212" alt=""> -</map> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:09 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/main_8hcc__incl.map b/Graphic_Equalizer/doc/html/main_8hcc__incl.map deleted file mode 100644 index 93dc814..0000000 --- a/Graphic_Equalizer/doc/html/main_8hcc__incl.map +++ /dev/null @@ -1,12 +0,0 @@ -base referer -rect $configuration_8hch.html 143,7 269,34 -rect $audio_8hch.html 293,7 373,34 -rect $mouse__shared_8hch.html 397,7 533,34 -rect $mouse_8hch.html 557,7 645,34 -rect $eventhandler__shared_8hch.html 669,7 842,34 -rect $eventhandler_8hch.html 866,7 991,34 -rect $display__shared_8hch.html 1015,7 1151,34 -rect $display_8hch.html 1175,7 1263,34 -rect $smartmedia_8hch.html 1287,7 1405,34 -rect $fft_8hch.html 1429,7 1487,34 -rect $runfft_8hch.html 1511,7 1589,34 diff --git a/Graphic_Equalizer/doc/html/main_8hcc__incl.md5 b/Graphic_Equalizer/doc/html/main_8hcc__incl.md5 deleted file mode 100644 index 180884e..0000000 --- a/Graphic_Equalizer/doc/html/main_8hcc__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -1419fd3b33c01dc6aea19227c10014a5
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/main_8hcc__incl.png b/Graphic_Equalizer/doc/html/main_8hcc__incl.png Binary files differdeleted file mode 100644 index a519b5a..0000000 --- a/Graphic_Equalizer/doc/html/main_8hcc__incl.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.map b/Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.map deleted file mode 100644 index fc498f4..0000000 --- a/Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.map +++ /dev/null @@ -1,10 +0,0 @@ -base referer -rect $audio_8hcc.html#a0 145,8 225,34 -rect $audio_8hcc.html#a1 140,58 230,85 -rect $display_8hcc.html#a2 134,109 236,136 -rect $eventhandler_8hcc.html#a2 117,160 253,186 -rect $mouse_8hcc.html#a0 136,210 234,237 -rect $smartmedia_8hch.html#a9 126,261 244,288 -rect $smartmedia_8hcc.html#a1 109,312 261,338 -rect $events_8hcc.html#a3 325,134 416,161 -rect $display_8hcc.html#a3 310,185 430,212 diff --git a/Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.md5 b/Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.md5 deleted file mode 100644 index 095d857..0000000 --- a/Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -f9b3a03c002f36a20920f8e86e483e1a
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.png b/Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.png Binary files differdeleted file mode 100644 index c55d7a3..0000000 --- a/Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/mouse_8hcc-source.html b/Graphic_Equalizer/doc/html/mouse_8hcc-source.html deleted file mode 100644 index dfb8298..0000000 --- a/Graphic_Equalizer/doc/html/mouse_8hcc-source.html +++ /dev/null @@ -1,116 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/src/mouse.hcc Source File</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000004.html">src</a></div> -<h1>mouse.hcc</h1><a href="mouse_8hcc.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 -00021 <span class="comment">/******** System Includes *************/</span> -00022 <span class="preprocessor">#include <stdlib.hch></span> -00023 -00024 <span class="preprocessor">#include "pal_master.hch"</span> -00025 <span class="preprocessor">#include "pal_mouse.hch"</span> -00026 -00027 <span class="comment">/******** Application Includes ********/</span> -00028 <span class="preprocessor">#include "<a class="code" href="configuration_8hch.html">configuration.hch</a>"</span> -00029 <span class="preprocessor">#include "<a class="code" href="mouse__shared_8hch.html">mouse_shared.hch</a>"</span> -00030 <span class="preprocessor">#include "<a class="code" href="mouse_8hch.html">mouse.hch</a>"</span> -00031 -00032 <span class="preprocessor">#if HAVE_DEBUG</span> -00033 <span class="preprocessor"></span><span class="preprocessor"> #include "debug.hch"</span> -00034 <span class="preprocessor">#endif</span> -00035 <span class="preprocessor"></span> -00036 -00037 -<a name="l00048"></a><a class="code" href="mouse_8hcc.html#a0">00048</a> <span class="keywordtype">void</span> <a class="code" href="mouse_8hcc.html#a0">mouse_main</a>(<a class="code" href="structmousedata__t.html">mousedata_t</a> *mousedata) { -00049 <span class="keywordtype">unsigned</span> 18 touch_sampler; -00050 <span class="keywordtype">unsigned</span> 10 x, oldx; -00051 <span class="keywordtype">unsigned</span> 9 y, oldy; -00052 <span class="keywordtype">unsigned</span> 3 mousestate, oldmousestate; -00053 <span class="keywordtype">unsigned</span> 1 touch, touched, oldtouched; -00054 -00055 <span class="comment">/*</span> -00056 <span class="comment"> * We only check for mouse states once every 2^18 time. This to</span> -00057 <span class="comment"> * overcome the sampling of the 'Touch' state of the RC200 libs. When</span> -00058 <span class="comment"> * using newer libs this might be overkill, e.g. smaller values may</span> -00059 <span class="comment"> * work or sampling all together will be redundant.</span> -00060 <span class="comment"> */</span> -00061 touch_sampler = 1; -00062 <span class="keywordflow">while</span> (TRUE) { -00063 <span class="keywordflow">if</span> (!touch_sampler) { -00064 <span class="comment">/*</span> -00065 <span class="comment"> * We are here ready to set mouse states. We compare</span> -00066 <span class="comment"> * current and previous states and thereby determine</span> -00067 <span class="comment"> * the state to send to others</span> -00068 <span class="comment"> */</span> -00069 <span class="keywordflow">if</span> (touched) { -00070 <span class="keywordflow">if</span>(oldtouched) { -00071 mousestate = MOUSE_STATE_DOWN; -00072 } <span class="keywordflow">else</span> { -00073 mousestate = MOUSE_STATE_ON_PRESS; -00074 } -00075 oldtouched = TRUE; -00076 } <span class="keywordflow">else</span> { -00077 <span class="keywordflow">if</span>(oldtouched) { -00078 mousestate = MOUSE_STATE_ON_RELEASE; -00079 } <span class="keywordflow">else</span> { -00080 mousestate = MOUSE_STATE_UP; -00081 } -00082 oldtouched = FALSE; -00083 } -00084 <span class="comment">/*</span> -00085 <span class="comment"> * We have now processed our Touch. Reset it for the</span> -00086 <span class="comment"> * next run.</span> -00087 <span class="comment"> */</span> -00088 touched = FALSE; -00089 -00090 <span class="comment">/*</span> -00091 <span class="comment"> * In the rare occurance that we receive values</span> -00092 <span class="comment"> * beyond our range, we set them to some sane</span> -00093 <span class="comment"> * values here.</span> -00094 <span class="comment"> */</span> -00095 x = (x > 639) ? 0 : x; -00096 y = (y > 479) ? 0 : y; -00097 -00098 <span class="comment">/*</span> -00099 <span class="comment"> * Compare Previous States and Coordinates to determine</span> -00100 <span class="comment"> * wether they have changed. If so, Copy them into</span> -00101 <span class="comment"> * shared memory, notify the listening processes and</span> -00102 <span class="comment"> * Set the new as previous values for the next run. We</span> -00103 <span class="comment"> * can only do this when the display has handled all</span> -00104 <span class="comment"> * changes.</span> -00105 <span class="comment"> */</span> -00106 <span class="keywordflow">if</span> (((oldmousestate != mousestate) || (oldx != x) || (oldy != y)) && (<a class="code" href="mouse__shared_8hch.html#a1">MOUSE_NOT_UPDATED</a> == mousedata-><a class="code" href="structmousedata__t.html#o3">status</a>)) { -00107 <span class="comment">//par {</span> -00108 oldx = x; -00109 oldy = y; -00110 oldmousestate = mousestate; -00111 mousedata-><a class="code" href="structmousedata__t.html#o0">x</a> = x; -00112 mousedata-><a class="code" href="structmousedata__t.html#o1">y</a> = 0 @ y; -00113 mousedata-><a class="code" href="structmousedata__t.html#o2">state</a> = mousestate; -00114 mousedata-><a class="code" href="structmousedata__t.html#o3">status</a> = MOUSE_UPDATED; -00115 <span class="comment">//}</span> -00116 } -00117 } -00118 -00119 <span class="comment">/*</span> -00120 <span class="comment"> * Read the current X and Y of the 'cursor' and register wether</span> -00121 <span class="comment"> * the display was touched. If touched store this in a local</span> -00122 <span class="comment"> * store. This we do to catch the sampling of the RC200 lib.</span> -00123 <span class="comment"> */</span> -00124 RC200TouchScreenReadScaled(&x, &y, &touch); -00125 <span class="keywordflow">if</span> (touch) { -00126 touched = TRUE; -00127 } -00128 -00129 touch_sampler++; -00130 } -00131 } <span class="comment">/* --- mouse_main() --- */</span> -</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:07 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/mouse_8hcc.html b/Graphic_Equalizer/doc/html/mouse_8hcc.html deleted file mode 100644 index 6dffc76..0000000 --- a/Graphic_Equalizer/doc/html/mouse_8hcc.html +++ /dev/null @@ -1,101 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/src/mouse.hcc File Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000004.html">src</a></div> -<h1>mouse.hcc File Reference</h1><code>#include <stdlib.hch></code><br> -<code>#include "pal_master.hch"</code><br> -<code>#include "pal_mouse.hch"</code><br> -<code>#include "<a class="el" href="configuration_8hch-source.html">configuration.hch</a>"</code><br> -<code>#include "<a class="el" href="mouse__shared_8hch-source.html">mouse_shared.hch</a>"</code><br> -<code>#include "<a class="el" href="mouse_8hch-source.html">mouse.hch</a>"</code><br> - -<p> -Include dependency graph for mouse.hcc:<p><center><img src="mouse_8hcc__incl.png" border="0" usemap="#mouse.hcc_map" alt="Include dependency graph"></center> -<map name="mouse.hcc_map"> -<area href="configuration_8hch.html" shape="rect" coords="381,7,506,34" alt=""> -<area href="mouse__shared_8hch.html" shape="rect" coords="530,7,666,34" alt=""> -<area href="mouse_8hch.html" shape="rect" coords="690,7,778,34" alt=""> -</map> - -<p> -<a href="mouse_8hcc-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="mouse_8hcc.html#a0">mouse_main</a> (<a class="el" href="structmousedata__t.html">mousedata_t</a> *mousedata)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Main mousedriver. This function never returns! It calls the main mousehandler and returns the States and coordinates into a shared store. <a href="#a0"></a><br></td></tr> -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<h2><a class="anchor" name="generic"> -Graphic Equalizer API</a></h2> -input function itself is however performed by the touchscreen of the RC200.<h2><a class="anchor" name="project"> -Project information.</a></h2> -Project Graphic Equalizer<br> - <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl> -<dl compact><dt><b>Date:</b></dt><dd>20041011 </dd></dl> -<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl> -<h2><a class="anchor" name="copyright"> -Copyright</a></h2> -Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history"> -Change history</a></h2> -20041011: O.M. Schinagl<br> - Initial version -<p> -Definition in file <a class="el" href="mouse_8hcc-source.html">mouse.hcc</a>.<hr><h2>Function Documentation</h2> -<a class="anchor" name="a0" doxytag="mouse.hcc::mouse_main"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void mouse_main </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="structmousedata__t.html">mousedata_t</a> * </td> - <td class="mdname1" valign="top" nowrap> <em>mousedata</em> </td> - <td class="md" valign="top"> ) </td> - <td class="md" nowrap></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Main mousedriver. This function never returns! It calls the main mousehandler and returns the States and coordinates into a shared store. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>*mousedata</em> </td><td>Storage for all mousedata and states.</td></tr> - </table> -</dl> -<dl compact><dt><b>Returns:</b></dt><dd>Never Returns. </dd></dl> -<dl compact><dt><b>Return values:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>void</em> </td><td></td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="mouse_8hcc-source.html#l00048">48</a> of file <a class="el" href="mouse_8hcc-source.html">mouse.hcc</a>. -<p> -References <a class="el" href="mouse__shared_8hch-source.html#l00038">MOUSE_NOT_UPDATED</a>, <a class="el" href="mouse__shared_8hch-source.html#l00029">mousedata_t::state</a>, <a class="el" href="mouse__shared_8hch-source.html#l00030">mousedata_t::status</a>, <a class="el" href="mouse__shared_8hch-source.html#l00028">mousedata_t::x</a>, and <a class="el" href="mouse__shared_8hch-source.html#l00028">mousedata_t::y</a>. -<p> -Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td> - </tr> -</table> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:09 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/mouse_8hcc__incl.map b/Graphic_Equalizer/doc/html/mouse_8hcc__incl.map deleted file mode 100644 index ed301e8..0000000 --- a/Graphic_Equalizer/doc/html/mouse_8hcc__incl.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $configuration_8hch.html 381,7 506,34 -rect $mouse__shared_8hch.html 530,7 666,34 -rect $mouse_8hch.html 690,7 778,34 diff --git a/Graphic_Equalizer/doc/html/mouse_8hcc__incl.md5 b/Graphic_Equalizer/doc/html/mouse_8hcc__incl.md5 deleted file mode 100644 index 8a79480..0000000 --- a/Graphic_Equalizer/doc/html/mouse_8hcc__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -254026f7ee99dbe927548df7b2f1ac05
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/mouse_8hcc__incl.png b/Graphic_Equalizer/doc/html/mouse_8hcc__incl.png Binary files differdeleted file mode 100644 index f87dd35..0000000 --- a/Graphic_Equalizer/doc/html/mouse_8hcc__incl.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/mouse_8hch-source.html b/Graphic_Equalizer/doc/html/mouse_8hch-source.html deleted file mode 100644 index 5c7b232..0000000 --- a/Graphic_Equalizer/doc/html/mouse_8hch-source.html +++ /dev/null @@ -1,38 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/include/mouse.hch Source File</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>mouse.hch</h1><a href="mouse_8hch.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 -00019 <span class="preprocessor">#ifndef _MOUSEDRIVER_HCH</span> -<a name="l00020"></a><a class="code" href="mouse_8hch.html#a0">00020</a> <span class="preprocessor"></span><span class="preprocessor">#define _MOUSEDRIVER_HCH 1</span> -00021 <span class="preprocessor"></span> -00022 -00023 -00024 <span class="comment">/*</span> -00025 <span class="comment"> * Create a define to keep API generic</span> -00026 <span class="comment"> */</span> -<a name="l00027"></a><a class="code" href="mouse_8hch.html#a1">00027</a> <span class="preprocessor">#define MouseRun(ClockRate) RC200TouchScreenRun(ClockRate)</span> -00028 <span class="preprocessor"></span> -00029 -00030 -00031 <span class="comment">/*</span> -00032 <span class="comment"> * Main mousedriver loop. This procedure never returns! It handles mouse input,</span> -00033 <span class="comment"> * updates the shared memory and notifies listeners. It requires a pointer to</span> -00034 <span class="comment"> * a mousedata_t struct to store mouse information.</span> -00035 <span class="comment"> */</span> -00036 <span class="keywordtype">void</span> <a class="code" href="mouse_8hcc.html#a0">mouse_main</a>(<a class="code" href="structmousedata__t.html">mousedata_t</a> *mousedata); -00037 -00038 <span class="preprocessor">#else</span> -00039 <span class="preprocessor"></span><span class="preprocessor">#error "ERROR file mousedriver.hch multiple times included"</span> -00040 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* --- _MOUSEDRIVER_HCH --- */</span> -00041 -</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:06 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/mouse_8hch.html b/Graphic_Equalizer/doc/html/mouse_8hch.html deleted file mode 100644 index 557d23f..0000000 --- a/Graphic_Equalizer/doc/html/mouse_8hch.html +++ /dev/null @@ -1,157 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/include/mouse.hch File Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>mouse.hch File Reference</h1> -<p> -This graph shows which files directly or indirectly include this file:<p><center><img src="mouse_8hch__dep__incl.png" border="0" usemap="#mouse.hchdep_map" alt="Included by dependency graph"></center> -<map name="mouse.hchdep_map"> -<area href="main_8hcc.html" shape="rect" coords="8,7,82,34" alt=""> -<area href="mouse_8hcc.html" shape="rect" coords="106,7,192,34" alt=""> -</map> - -<p> -<a href="mouse_8hch-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Defines</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="mouse_8hch.html#a0">_MOUSEDRIVER_HCH</a> 1</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="mouse_8hch.html#a1">MouseRun</a>(ClockRate) RC200TouchScreenRun(ClockRate)</td></tr> - -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="mouse_8hch.html#a2">mouse_main</a> (<a class="el" href="structmousedata__t.html">mousedata_t</a> *mousedata)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Main mousedriver. This function never returns! It calls the main mousehandler and returns the States and coordinates into a shared store. <a href="#a2"></a><br></td></tr> -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<h2><a class="anchor" name="generic"> -Graphic Equalizer API</a></h2> -<h2><a class="anchor" name="project"> -Project information.</a></h2> -Project Graphic Equalizer<br> - <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl> -<dl compact><dt><b>Date:</b></dt><dd>20041011 </dd></dl> -<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl> -<h2><a class="anchor" name="copyright"> -Copyright</a></h2> -Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history"> -Change history</a></h2> -20041011: O.M. Schinagl<br> - Initial version -<p> -Definition in file <a class="el" href="mouse_8hch-source.html">mouse.hch</a>.<hr><h2>Define Documentation</h2> -<a class="anchor" name="a0" doxytag="mouse.hch::_MOUSEDRIVER_HCH"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define _MOUSEDRIVER_HCH 1 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="mouse_8hch-source.html#l00020">20</a> of file <a class="el" href="mouse_8hch-source.html">mouse.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a1" doxytag="mouse.hch::MouseRun"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define MouseRun </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top">ClockRate </td> - <td class="mdname1" valign="top" nowrap> </td> - <td class="md" valign="top"> ) </td> - <td class="md" nowrap> RC200TouchScreenRun(ClockRate)</td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="mouse_8hch-source.html#l00027">27</a> of file <a class="el" href="mouse_8hch-source.html">mouse.hch</a>. -<p> -Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td> - </tr> -</table> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="a2" doxytag="mouse.hch::mouse_main"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void mouse_main </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="structmousedata__t.html">mousedata_t</a> * </td> - <td class="mdname1" valign="top" nowrap> <em>mousedata</em> </td> - <td class="md" valign="top"> ) </td> - <td class="md" nowrap></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -Main mousedriver. This function never returns! It calls the main mousehandler and returns the States and coordinates into a shared store. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>*mousedata</em> </td><td>Storage for all mousedata and states.</td></tr> - </table> -</dl> -<dl compact><dt><b>Returns:</b></dt><dd>Never Returns. </dd></dl> -<dl compact><dt><b>Return values:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>void</em> </td><td></td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="mouse_8hcc-source.html#l00048">48</a> of file <a class="el" href="mouse_8hcc-source.html">mouse.hcc</a>. -<p> -References <a class="el" href="mouse__shared_8hch-source.html#l00038">MOUSE_NOT_UPDATED</a>, <a class="el" href="mouse__shared_8hch-source.html#l00029">mousedata_t::state</a>, <a class="el" href="mouse__shared_8hch-source.html#l00030">mousedata_t::status</a>, <a class="el" href="mouse__shared_8hch-source.html#l00028">mousedata_t::x</a>, and <a class="el" href="mouse__shared_8hch-source.html#l00028">mousedata_t::y</a>. -<p> -Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td> - </tr> -</table> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:08 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.map deleted file mode 100644 index c2ecffa..0000000 --- a/Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $main_8hcc.html 8,7 82,34 -rect $mouse_8hcc.html 106,7 192,34 diff --git a/Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.md5 deleted file mode 100644 index 30a98a4..0000000 --- a/Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -13b256c6eed7f888f4f52496299b4b2d
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.png Binary files differdeleted file mode 100644 index ac0c83c..0000000 --- a/Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/mouse__shared_8hch-source.html b/Graphic_Equalizer/doc/html/mouse__shared_8hch-source.html deleted file mode 100644 index 1910665..0000000 --- a/Graphic_Equalizer/doc/html/mouse__shared_8hch-source.html +++ /dev/null @@ -1,53 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/include/mouse_shared.hch Source File</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>mouse_shared.hch</h1><a href="mouse__shared_8hch.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 -00019 <span class="preprocessor">#ifndef _MOUSEDRIVER_SHARED_HCH</span> -<a name="l00020"></a><a class="code" href="mouse__shared_8hch.html#a0">00020</a> <span class="preprocessor"></span><span class="preprocessor">#define _MOUSEDRIVER_SHARED_HCH 1</span> -00021 <span class="preprocessor"></span> -00022 <span class="comment">/*** Data Types **********************/</span> -00023 -00024 <span class="comment">/*</span> -00025 <span class="comment"> * Type definition of the shared memory to be used in various processes</span> -00026 <span class="comment"> */</span> -<a name="l00027"></a><a class="code" href="structmousedata__t.html">00027</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{ -<a name="l00028"></a><a class="code" href="structmousedata__t.html#o1">00028</a> <span class="keywordtype">unsigned</span> 10 x, y; -<a name="l00029"></a><a class="code" href="structmousedata__t.html#o2">00029</a> <span class="keywordtype">unsigned</span> 3 state; -<a name="l00030"></a><a class="code" href="structmousedata__t.html#o3">00030</a> <span class="keywordtype">unsigned</span> 1 status; -00031 } <a class="code" href="structmousedata__t.html">mousedata_t</a>; -00032 -00033 -00034 -00035 <span class="comment">/*</span> -00036 <span class="comment"> * States used to identify wether mouse data is updated</span> -00037 <span class="comment"> */</span> -<a name="l00038"></a><a class="code" href="mouse__shared_8hch.html#a1">00038</a> <span class="preprocessor">#define MOUSE_NOT_UPDATED 0</span> -<a name="l00039"></a><a class="code" href="mouse__shared_8hch.html#a2">00039</a> <span class="preprocessor"></span><span class="preprocessor">#define MOUSE_UPDATED 1</span> -00040 <span class="preprocessor"></span> -00041 -00042 -00043 <span class="comment">/*</span> -00044 <span class="comment"> * Set of Mouse States defines</span> -00045 <span class="comment"> */</span> -<a name="l00046"></a><a class="code" href="mouse__shared_8hch.html#a3">00046</a> <span class="preprocessor">#define MOUSE_STATE_UP 0</span> -<a name="l00047"></a><a class="code" href="mouse__shared_8hch.html#a4">00047</a> <span class="preprocessor"></span><span class="preprocessor">#define MOUSE_STATE_ON_PRESS 1</span> -<a name="l00048"></a><a class="code" href="mouse__shared_8hch.html#a5">00048</a> <span class="preprocessor"></span><span class="preprocessor">#define MOUSE_STATE_DOWN 2</span> -<a name="l00049"></a><a class="code" href="mouse__shared_8hch.html#a6">00049</a> <span class="preprocessor"></span><span class="preprocessor">#define MOUSE_STATE_ON_RELEASE 3</span> -00050 <span class="preprocessor"></span> -00051 -00052 -00053 <span class="preprocessor">#else</span> -00054 <span class="preprocessor"></span><span class="preprocessor">#error "ERROR file mousedriver_shared.hch multiple times included"</span> -00055 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* --- _MOUSEDRIVER_SHARED_HCH --- */</span> -00056 -</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:06 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/mouse__shared_8hch.html b/Graphic_Equalizer/doc/html/mouse__shared_8hch.html deleted file mode 100644 index 05df284..0000000 --- a/Graphic_Equalizer/doc/html/mouse__shared_8hch.html +++ /dev/null @@ -1,247 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/include/mouse_shared.hch File Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>mouse_shared.hch File Reference</h1> -<p> -This graph shows which files directly or indirectly include this file:<p><center><img src="mouse__shared_8hch__dep__incl.png" border="0" usemap="#mouse_shared.hchdep_map" alt="Included by dependency graph"></center> -<map name="mouse_shared.hchdep_map"> -<area href="display_8hcc.html" shape="rect" coords="8,7,96,34" alt=""> -<area href="eventhandler_8hcc.html" shape="rect" coords="120,7,242,34" alt=""> -<area href="main_8hcc.html" shape="rect" coords="266,7,341,34" alt=""> -<area href="mouse_8hcc.html" shape="rect" coords="365,7,450,34" alt=""> -<area href="smartmedia_8hcc.html" shape="rect" coords="474,7,592,34" alt=""> -</map> - -<p> -<a href="mouse__shared_8hch-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structmousedata__t.html">mousedata_t</a></td></tr> - -<tr><td colspan="2"><br><h2>Defines</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="mouse__shared_8hch.html#a0">_MOUSEDRIVER_SHARED_HCH</a> 1</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="mouse__shared_8hch.html#a1">MOUSE_NOT_UPDATED</a> 0</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="mouse__shared_8hch.html#a2">MOUSE_UPDATED</a> 1</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="mouse__shared_8hch.html#a3">MOUSE_STATE_UP</a> 0</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="mouse__shared_8hch.html#a4">MOUSE_STATE_ON_PRESS</a> 1</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="mouse__shared_8hch.html#a5">MOUSE_STATE_DOWN</a> 2</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="mouse__shared_8hch.html#a6">MOUSE_STATE_ON_RELEASE</a> 3</td></tr> - -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<h2><a class="anchor" name="generic"> -Graphic Equalizer API</a></h2> -<h2><a class="anchor" name="project"> -Project information.</a></h2> -Project Graphic Equalizer<br> - <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl> -<dl compact><dt><b>Date:</b></dt><dd>20041011 </dd></dl> -<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl> -<h2><a class="anchor" name="copyright"> -Copyright</a></h2> -Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history"> -Change history</a></h2> -20041011: O.M. Schinagl<br> - Initial version -<p> -Definition in file <a class="el" href="mouse__shared_8hch-source.html">mouse_shared.hch</a>.<hr><h2>Define Documentation</h2> -<a class="anchor" name="a0" doxytag="mouse_shared.hch::_MOUSEDRIVER_SHARED_HCH"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define _MOUSEDRIVER_SHARED_HCH 1 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="mouse__shared_8hch-source.html#l00020">20</a> of file <a class="el" href="mouse__shared_8hch-source.html">mouse_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a1" doxytag="mouse_shared.hch::MOUSE_NOT_UPDATED"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define MOUSE_NOT_UPDATED 0 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="mouse__shared_8hch-source.html#l00038">38</a> of file <a class="el" href="mouse__shared_8hch-source.html">mouse_shared.hch</a>. -<p> -Referenced by <a class="el" href="mouse_8hcc-source.html#l00048">mouse_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a2" doxytag="mouse_shared.hch::MOUSE_UPDATED"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define MOUSE_UPDATED 1 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="mouse__shared_8hch-source.html#l00039">39</a> of file <a class="el" href="mouse__shared_8hch-source.html">mouse_shared.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a3" doxytag="mouse_shared.hch::MOUSE_STATE_UP"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define MOUSE_STATE_UP 0 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="mouse__shared_8hch-source.html#l00046">46</a> of file <a class="el" href="mouse__shared_8hch-source.html">mouse_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a4" doxytag="mouse_shared.hch::MOUSE_STATE_ON_PRESS"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define MOUSE_STATE_ON_PRESS 1 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="mouse__shared_8hch-source.html#l00047">47</a> of file <a class="el" href="mouse__shared_8hch-source.html">mouse_shared.hch</a>. -<p> -Referenced by <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a5" doxytag="mouse_shared.hch::MOUSE_STATE_DOWN"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define MOUSE_STATE_DOWN 2 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="mouse__shared_8hch-source.html#l00048">48</a> of file <a class="el" href="mouse__shared_8hch-source.html">mouse_shared.hch</a>. -<p> -Referenced by <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a6" doxytag="mouse_shared.hch::MOUSE_STATE_ON_RELEASE"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define MOUSE_STATE_ON_RELEASE 3 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="mouse__shared_8hch-source.html#l00049">49</a> of file <a class="el" href="mouse__shared_8hch-source.html">mouse_shared.hch</a>. </td> - </tr> -</table> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:08 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.map deleted file mode 100644 index 199f162..0000000 --- a/Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.map +++ /dev/null @@ -1,6 +0,0 @@ -base referer -rect $display_8hcc.html 8,7 96,34 -rect $eventhandler_8hcc.html 120,7 242,34 -rect $main_8hcc.html 266,7 341,34 -rect $mouse_8hcc.html 365,7 450,34 -rect $smartmedia_8hcc.html 474,7 592,34 diff --git a/Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.md5 deleted file mode 100644 index 003654a..0000000 --- a/Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -0fb2c7882172821abee6da1bc34d0db2
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.png Binary files differdeleted file mode 100644 index 01b165d..0000000 --- a/Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/runfft_8hcc-source.html b/Graphic_Equalizer/doc/html/runfft_8hcc-source.html deleted file mode 100644 index 28ce4b0..0000000 --- a/Graphic_Equalizer/doc/html/runfft_8hcc-source.html +++ /dev/null @@ -1,168 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/src/runfft.hcc Source File</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000004.html">src</a></div> -<h1>runfft.hcc</h1><a href="runfft_8hcc.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 -00020 <span class="preprocessor">#include <stdlib.hch></span> -00021 <span class="preprocessor">#include "pal_master.hch"</span> -00022 -00023 <span class="preprocessor">#include "<a class="code" href="configuration_8hch.html">configuration.hch</a>"</span> -00024 <span class="preprocessor">#if USE_RUNFFT</span> -00025 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="audio_8hch.html">audio.hch</a>"</span> -00026 <span class="preprocessor">#include "<a class="code" href="fft_8hch.html">fft.hch</a>"</span> -00027 -00028 <span class="preprocessor">#if HAVE_DEBUG</span> -00029 <span class="preprocessor"></span><span class="preprocessor"> #include "debug.hch"</span> -00030 <span class="preprocessor">#endif</span> -00031 <span class="preprocessor"></span> -00032 <span class="comment">/*</span> -00033 <span class="comment"> * Forward declarations</span> -00034 <span class="comment"> */</span> -00035 <span class="keyword">static</span> macro expr ClockRate = PAL_ACTUAL_CLOCK_RATE; -00036 <span class="preprocessor">#if HARDWARE_MULTIPLY</span> -00037 <span class="preprocessor"></span><span class="comment">//input buffer</span> -00038 ram <span class="keywordtype">signed</span> 18 audio_buffer_in[256] with { block = <span class="stringliteral">"BlockRAM"</span>}; -00039 <span class="comment">//output buffer</span> -00040 ram <span class="keywordtype">signed</span> 18 audio_buffer_out[128] with { block = <span class="stringliteral">"BlockRAM"</span>}; -00041 <span class="preprocessor">#else</span> -00042 <span class="preprocessor"></span><span class="comment">//input buffer</span> -00043 ram <span class="keywordtype">signed</span> 16 audio_buffer_in[256] with { block = <span class="stringliteral">"BlockRAM"</span>}; -00044 <span class="comment">//output buffer</span> -00045 ram <span class="keywordtype">signed</span> 16 audio_buffer_out[128] with { block = <span class="stringliteral">"BlockRAM"</span>}; -00046 <span class="preprocessor">#endif</span> -00047 <span class="preprocessor"></span><span class="comment">//EQ settings for the FFT</span> -00048 ram <span class="keywordtype">unsigned</span> 4 EQ_info[128] with { block = <span class="stringliteral">"BlockRAM"</span>}; -00049 <span class="comment">//EQ settings received from the display</span> -00050 -00051 -00052 <span class="preprocessor">#if HARDWARE_MULTIPLY</span> -00053 <span class="preprocessor"></span><span class="keywordtype">signed</span> 18 *audioptr_in1,*audioptr_in2,*audioptr_in3,*audioptr_in4; -00054 -00055 <span class="keywordtype">signed</span> 18 *audioptr_out1,*audioptr_out2; -00056 -00057 <span class="keywordtype">unsigned</span> 6 *displayptr1,*displayptr2,*displayptr3,*displayptr4; -00058 <span class="preprocessor">#else</span> -00059 <span class="preprocessor"></span><span class="keywordtype">signed</span> 16 *audioptr_in1,*audioptr_in2,*audioptr_in3,*audioptr_in4; -00060 -00061 <span class="keywordtype">signed</span> 16 *audioptr_out1,*audioptr_out2; -00062 -00063 <span class="keywordtype">unsigned</span> 6 *displayptr1,*displayptr2,*displayptr3,*displayptr4; -00064 <span class="preprocessor">#endif</span> -00065 <span class="preprocessor"></span> -00076 macro proc <a class="code" href="audio_8hcc.html#a1">audio_main</a>(audiodata, AUDIOIN, AUDIOOUT) -00077 { -00078 <span class="keywordtype">signed</span> 18 sample; -00079 <span class="keywordtype">unsigned</span> 6 sample_count; -00080 <span class="keywordtype">unsigned</span> 8 i,cycle; -00081 <span class="keywordtype">unsigned</span> 4 eqinfo; -00082 -00083 <span class="keywordtype">unsigned</span> 1 FFT_Sync, first; -00084 macro expr OW = PalAudioOutGetMaxDataWidthCT (); -00085 macro expr IW = PalAudioInGetMaxDataWidthCT (); -00086 <span class="keywordtype">signed</span> LeftNew, RightNew; -00087 <span class="keywordtype">signed</span> Output_sample; -00088 -00089 ram <span class="keywordtype">unsigned</span> 6 input[64]; -00090 -00091 <span class="comment">//pointers for double and quadruple buffering:</span> -00092 audioptr_in1 = &audio_buffer_in[0]; -00093 audioptr_in2 = &audio_buffer_in[64]; -00094 audioptr_in3 = &audio_buffer_in[128]; -00095 audioptr_in4 = &audio_buffer_in[192]; -00096 -00097 audioptr_out1 = &audio_buffer_out[0]; -00098 audioptr_out2 = &audio_buffer_out[64]; -00099 -00100 displayptr1 = &audiodata.ifft_info.write[0]; -00101 displayptr2 = &audiodata.ifft_info.write[64]; -00102 displayptr3 = &audiodata.ifft_info.write[128]; -00103 displayptr4 = &audiodata.ifft_info.write[192]; -00104 -00105 FFT_Sync=0; -00106 par -00107 { -00108 <span class="keywordflow">for</span>(;;) -00109 { -00110 <span class="keywordflow">if</span> (FFT_Sync) <span class="comment">//if 64 samples are read from ADC...</span> -00111 { -00112 par -00113 { -00114 <span class="comment">// switch pointers </span> -00115 audioptr_in1 = audioptr_in2; -00116 audioptr_in2 = audioptr_in3; -00117 audioptr_in3 = audioptr_in4; -00118 audioptr_in4 = audioptr_in1; -00119 -00120 audioptr_out1 = audioptr_out2; -00121 audioptr_out2 = audioptr_out1; -00122 -00123 displayptr1=displayptr2; -00124 displayptr2=displayptr3; -00125 displayptr3=displayptr4; -00126 displayptr4=displayptr1; -00127 -00128 FFT_Sync = 0; -00129 } -00130 -00131 <span class="comment">// FFT calculation</span> -00132 <a class="code" href="fft_8hcc.html#a4">perform_fft</a>(audioptr_in1); -00133 -00134 <span class="preprocessor">#if PERFORM_FFT_CALCULATION</span> -00135 <span class="preprocessor"></span> <a class="code" href="fft_8hcc.html#a6">equalize_audio</a>(&audiodata); -00136 <span class="preprocessor">#endif</span> -00137 <span class="preprocessor"></span> <span class="comment">// inverse FFT calculation</span> -00138 <a class="code" href="fft_8hcc.html#a5">perform_ifft</a>(audioptr_out1,displayptr1); -00139 } -00140 <span class="keywordflow">else</span> -00141 delay; -00142 } -00143 -00144 <span class="keywordflow">for</span>(sample_count=0;;)<span class="comment">//store the samples in the inputbuffer</span> -00145 { -00146 <span class="keywordflow">if</span> (!FFT_Sync) -00147 { -00148 par -00149 { -00150 seq -00151 { -00152 PalAudioInRead(AUDIOIN, &LeftNew, &RightNew); -00153 <span class="preprocessor">#if HARDWARE_MULTIPLY </span> -00154 <span class="preprocessor"></span> audioptr_in1[sample_count] = LeftNew;<span class="comment">//drop 2 LSB's</span> -00155 <span class="preprocessor">#else</span> -00156 <span class="preprocessor"></span> audioptr_in1[sample_count] = (LeftNew\\2);<span class="comment">//drop 2 LSB's</span> -00157 <span class="preprocessor">#endif</span> -00158 <span class="preprocessor"></span> sample_count++; -00159 <span class="keywordflow">if</span> (!sample_count) -00160 { -00161 FFT_Sync = 1; -00162 } -00163 } -00164 seq -00165 { -00166 Output_sample = audioptr_out2[sample_count]; -00167 } -00168 } -00169 } -00170 <span class="keywordflow">else</span> -00171 { -00172 delay; -00173 } -00174 } -00175 <span class="keywordflow">for</span>(;;) -00176 { -00177 PalAudioOutWrite(AUDIOOUT,(<span class="keywordtype">signed</span> OW)(Output_sample @ 0),(<span class="keywordtype">signed</span> OW)(Output_sample @ 0)); -00178 } -00179 }<span class="comment">//end par</span> -00180 }<span class="comment">// end function</span> -00181 <span class="preprocessor">#endif</span> -00182 <span class="preprocessor"></span> -</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:07 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/runfft_8hcc.html b/Graphic_Equalizer/doc/html/runfft_8hcc.html deleted file mode 100644 index 8f3023f..0000000 --- a/Graphic_Equalizer/doc/html/runfft_8hcc.html +++ /dev/null @@ -1,45 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/src/runfft.hcc File Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000004.html">src</a></div> -<h1>runfft.hcc File Reference</h1><code>#include <stdlib.hch></code><br> -<code>#include "pal_master.hch"</code><br> -<code>#include "<a class="el" href="configuration_8hch-source.html">configuration.hch</a>"</code><br> - -<p> -Include dependency graph for runfft.hcc:<p><center><img src="runfft_8hcc__incl.png" border="0" usemap="#runfft.hcc_map" alt="Include dependency graph"></center> -<map name="runfft.hcc_map"> -<area href="configuration_8hch.html" shape="rect" coords="245,7,370,34" alt=""> -</map> - -<p> -<a href="runfft_8hcc-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<h2><a class="anchor" name="generic"> -Graphic Equalizer API</a></h2> -audiosamples are correctly buffered and fed correctly to the FFT.<br> - This module will also handle the output of the modified audio samples.<h2><a class="anchor" name="project"> -Project information.</a></h2> -Project Graphic Equalizer<br> - <dl compact><dt><b>Author:</b></dt><dd>M. Lauwerijssen </dd></dl> -<dl compact><dt><b>Date:</b></dt><dd>20041110 </dd></dl> -<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl> -<h2><a class="anchor" name="copyright"> -Copyright</a></h2> -Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history"> -Change history</a></h2> -20041110: M. Lauwerijssen<br> - Initial version -<p> -Definition in file <a class="el" href="runfft_8hcc-source.html">runfft.hcc</a>.<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:09 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/runfft_8hcc__incl.map b/Graphic_Equalizer/doc/html/runfft_8hcc__incl.map deleted file mode 100644 index d372980..0000000 --- a/Graphic_Equalizer/doc/html/runfft_8hcc__incl.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $configuration_8hch.html 245,7 370,34 diff --git a/Graphic_Equalizer/doc/html/runfft_8hcc__incl.md5 b/Graphic_Equalizer/doc/html/runfft_8hcc__incl.md5 deleted file mode 100644 index ff1d843..0000000 --- a/Graphic_Equalizer/doc/html/runfft_8hcc__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -7129277ffd9cca9295345528e3048acb
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/runfft_8hcc__incl.png b/Graphic_Equalizer/doc/html/runfft_8hcc__incl.png Binary files differdeleted file mode 100644 index 3a3f863..0000000 --- a/Graphic_Equalizer/doc/html/runfft_8hcc__incl.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/runfft_8hch-source.html b/Graphic_Equalizer/doc/html/runfft_8hch-source.html deleted file mode 100644 index 2e52e1b..0000000 --- a/Graphic_Equalizer/doc/html/runfft_8hch-source.html +++ /dev/null @@ -1,15 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/include/runfft.hch Source File</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>runfft.hch</h1><a href="runfft_8hch.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="keyword">extern</span> macro proc <a class="code" href="runfft_8hch.html#a0">RunFFT</a> (AudioIn, AudioOut); -</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:06 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/runfft_8hch.html b/Graphic_Equalizer/doc/html/runfft_8hch.html deleted file mode 100644 index c33f46c..0000000 --- a/Graphic_Equalizer/doc/html/runfft_8hch.html +++ /dev/null @@ -1,66 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/include/runfft.hch File Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>runfft.hch File Reference</h1> -<p> -This graph shows which files directly or indirectly include this file:<p><center><img src="runfft_8hch__dep__incl.png" border="0" usemap="#runfft.hchdep_map" alt="Included by dependency graph"></center> -<map name="runfft.hchdep_map"> -<area href="main_8hcc.html" shape="rect" coords="9,7,83,34" alt=""> -</map> - -<p> -<a href="runfft_8hch-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">macro proc </td><td class="memItemRight" valign="bottom"><a class="el" href="runfft_8hch.html#a0">RunFFT</a> (AudioIn, AudioOut)</td></tr> - -</table> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="a0" doxytag="runfft.hch::RunFFT"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">macro proc RunFFT </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top">AudioIn </td> - <td class="mdname" nowrap>, </td> - </tr> - <tr> - <td class="md" nowrap align="right"></td> - <td class="md"></td> - <td class="md" nowrap>AudioOut </td> - <td class="mdname" nowrap></td> - </tr> - <tr> - <td class="md"></td> - <td class="md">) </td> - <td class="md" colspan="2"></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - </td> - </tr> -</table> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:08 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/runfft_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/runfft_8hch__dep__incl.map deleted file mode 100644 index cf253aa..0000000 --- a/Graphic_Equalizer/doc/html/runfft_8hch__dep__incl.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $main_8hcc.html 9,7 83,34 diff --git a/Graphic_Equalizer/doc/html/runfft_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/runfft_8hch__dep__incl.md5 deleted file mode 100644 index 49eeeaa..0000000 --- a/Graphic_Equalizer/doc/html/runfft_8hch__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -209ac5ed7914b67b6e24a36a5cd34862
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/runfft_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/runfft_8hch__dep__incl.png Binary files differdeleted file mode 100644 index 9d7198c..0000000 --- a/Graphic_Equalizer/doc/html/runfft_8hch__dep__incl.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/sample_8hcc-source.html b/Graphic_Equalizer/doc/html/sample_8hcc-source.html deleted file mode 100644 index f7ee92e..0000000 --- a/Graphic_Equalizer/doc/html/sample_8hcc-source.html +++ /dev/null @@ -1,78 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/src/sample.hcc Source File</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000004.html">src</a></div> -<h1>sample.hcc</h1><a href="sample_8hcc.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 -00019 <span class="comment">/******** System Includes *************/</span> -00020 -00021 <span class="comment">/******** Application Includes ********/</span> -00022 <span class="preprocessor">#include "<a class="code" href="sample_8hch.html">sample.hch</a>"</span> -00023 -00024 -00025 -00026 <span class="comment">/*</span> -00027 <span class="comment"> * Pointer that points towards the current 64 bits samples.</span> -00028 <span class="comment"> */</span> -00029 <span class="keywordtype">signed</span> 16 *audio_in_ptr; -00030 -00031 <span class="comment">/*</span> -00032 <span class="comment"> * 64 step counter to keep track of our samples. This is a private variable.</span> -00033 <span class="comment"> */</span> -00034 <span class="keywordtype">unsigned</span> 8 sample_count; -00035 -00036 -00037 -<a name="l00046"></a><a class="code" href="sample_8hcc.html#a2">00046</a> <span class="keywordtype">void</span> <a class="code" href="sample_8hcc.html#a2">sample_add</a>(<span class="keywordtype">signed</span> 16 in_sample) { -00047 <span class="comment">/*</span> -00048 <span class="comment"> * We only sample 64 bits in our buffer, hence we circulate around the</span> -00049 <span class="comment"> * last 6 bits.</span> -00050 <span class="comment"> */</span> -00051 audio_in_ptr[sample_count <-6] = in_sample; -00052 sample_count++; -00053 } <span class="comment">/* --- sample_add() --- */</span> -00054 -00055 -00056 -<a name="l00065"></a><a class="code" href="sample_8hcc.html#a3">00065</a> <span class="keywordtype">void</span> <a class="code" href="sample_8hcc.html#a3">sample_get</a>(<span class="keywordtype">signed</span> 16 *out_sample) { -00066 <span class="comment">/*</span> -00067 <span class="comment"> * We circulate around a 64 bits buffer, therefor we only use the last</span> -00068 <span class="comment"> * 6 bits.</span> -00069 <span class="comment"> */</span> -00070 *out_sample = audio_out_ptr[sample_count <-6]; -00071 } <span class="comment">/* --- sample_get() --- */</span> -00072 -00073 -00074 -<a name="l00084"></a><a class="code" href="sample_8hcc.html#a4">00084</a> <span class="keywordtype">unsigned</span> 1 <a class="code" href="sample_8hch.html#a2">sample_rotate_buffers</a>(<span class="keywordtype">void</span>) { -00085 <span class="keywordtype">unsigned</span> 1 retval; <span class="comment">/* store for returnvalue */</span> -00086 -00087 retval = 0; -00088 <span class="comment">/*</span> -00089 <span class="comment"> * We only want to read 64 samples, but calculations work nicer if we</span> -00090 <span class="comment"> * use 256 samples. Therefor we circulate our audio pointer around.</span> -00091 <span class="comment"> */</span> -00092 <span class="keywordflow">if</span> (!(sample_count <- 6)) { -00093 <span class="comment">/*</span> -00094 <span class="comment"> * 64 Samples have passed. We are back at '0'. Use the full</span> -00095 <span class="comment"> * sample count as index which is 0 64 128 or 192 and back to</span> -00096 <span class="comment"> * 0. Our Output is only 128 big so we only look at the</span> -00097 <span class="comment"> * 7 LSB. Also, notify the main application that 64 samples</span> -00098 <span class="comment"> * have been processed.</span> -00099 <span class="comment"> */</span> -00100 par { -00101 audio_in_ptr = &pcm_audio_in[sample_count]; -00102 audio_out_ptr = &pcm_audio_out[(sample_count <- 7)]; -00103 retval = 1; -00104 } -00105 } -00106 } <span class="comment">/* --- sample_rotate_buffers() --- */</span> -</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 10:53:29 2004 for Graphic Equalizer by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/sample_8hcc.html b/Graphic_Equalizer/doc/html/sample_8hcc.html deleted file mode 100644 index bbe85aa..0000000 --- a/Graphic_Equalizer/doc/html/sample_8hcc.html +++ /dev/null @@ -1,182 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/src/sample.hcc File Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000004.html">src</a></div> -<h1>sample.hcc File Reference</h1><code>#include "<a class="el" href="sample_8hch-source.html">sample.hch</a>"</code><br> - -<p> -Include dependency graph for sample.hcc:<p><center><img src="sample_8hcc__incl.png" border="0" usemap="#sample.hcc_map" alt="Include dependency graph"></center> -<map name="sample.hcc_map"> -<area href="sample_8hch.html" shape="rect" coords="8,7,98,34" alt=""> -</map> - -<p> -<a href="sample_8hcc-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8hcc.html#a2">sample_add</a> (signed 16 in_sample)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">This procedure adds the supplied sample to the input buffer. <a href="#a2"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8hcc.html#a3">sample_get</a> (signed 16 *out_sample)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">This procedure gets the sample from the current output buffer. <a href="#a3"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8hcc.html#a4">sample_rotate_buffers</a> (void)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">This procedure rotates our buffers around if 64 samples are read into our current buffer. <a href="#a4"></a><br></td></tr> -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<h2><a class="anchor" name="generic"> -Audiodriver API</a></h2> -<h2><a class="anchor" name="project"> -Project information.</a></h2> -Project Graphic Equalizer<br> - <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl> -<dl compact><dt><b>Date:</b></dt><dd>20041021 </dd></dl> -<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl> -<h2><a class="anchor" name="copyright"> -Copyright</a></h2> -Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history"> -Change history</a></h2> -20041021: O.M. Schinagl<br> - Initial version -<p> -Definition in file <a class="el" href="sample_8hcc-source.html">sample.hcc</a>.<hr><h2>Function Documentation</h2> -<a class="anchor" name="a2" doxytag="sample.hcc::sample_add"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void sample_add </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top">signed 16 </td> - <td class="mdname1" valign="top" nowrap> <em>in_sample</em> </td> - <td class="md" valign="top"> ) </td> - <td class="md" nowrap></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -This procedure adds the supplied sample to the input buffer. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>signed</em> </td><td>16 in_sample 16 bits signed sample to be added.</td></tr> - </table> -</dl> -<dl compact><dt><b>Returns:</b></dt><dd>void </dd></dl> -<dl compact><dt><b>Return values:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>void</em> </td><td></td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="sample_8hcc-source.html#l00046">46</a> of file <a class="el" href="sample_8hcc-source.html">sample.hcc</a>. </td> - </tr> -</table> -<a class="anchor" name="a3" doxytag="sample.hcc::sample_get"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void sample_get </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top">signed 16 * </td> - <td class="mdname1" valign="top" nowrap> <em>out_sample</em> </td> - <td class="md" valign="top"> ) </td> - <td class="md" nowrap></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -This procedure gets the sample from the current output buffer. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>*</em> </td><td>in_sample pointer to storage for sample.</td></tr> - </table> -</dl> -<dl compact><dt><b>Returns:</b></dt><dd>void </dd></dl> -<dl compact><dt><b>Return values:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>void</em> </td><td></td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="sample_8hcc-source.html#l00065">65</a> of file <a class="el" href="sample_8hcc-source.html">sample.hcc</a>. </td> - </tr> -</table> -<a class="anchor" name="a4" doxytag="sample.hcc::sample_rotate_buffers"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">unsigned sample_rotate_buffers </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top">void </td> - <td class="mdname1" valign="top" nowrap> </td> - <td class="md" valign="top"> ) </td> - <td class="md" nowrap></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -This procedure rotates our buffers around if 64 samples are read into our current buffer. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>in_sample</em> </td><td>16 bits signed sample to be added.</td></tr> - </table> -</dl> -<dl compact><dt><b>Returns:</b></dt><dd>1 when 64 samples have passed, 0 otherwise. </dd></dl> -<dl compact><dt><b>Return values:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>unsigned</em> </td><td>1; </td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="sample_8hcc-source.html#l00084">84</a> of file <a class="el" href="sample_8hcc-source.html">sample.hcc</a>. </td> - </tr> -</table> -<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 10:53:30 2004 for Graphic Equalizer by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/sample_8hcc__incl.map b/Graphic_Equalizer/doc/html/sample_8hcc__incl.map deleted file mode 100644 index 3cc520a..0000000 --- a/Graphic_Equalizer/doc/html/sample_8hcc__incl.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $sample_8hch.html 8,7 98,34 diff --git a/Graphic_Equalizer/doc/html/sample_8hcc__incl.md5 b/Graphic_Equalizer/doc/html/sample_8hcc__incl.md5 deleted file mode 100644 index 7c12b7e..0000000 --- a/Graphic_Equalizer/doc/html/sample_8hcc__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -1fc36cd8ce3c69063c04bf4a24a0e84e
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/sample_8hcc__incl.png b/Graphic_Equalizer/doc/html/sample_8hcc__incl.png Binary files differdeleted file mode 100644 index 55cd496..0000000 --- a/Graphic_Equalizer/doc/html/sample_8hcc__incl.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/sample_8hch-source.html b/Graphic_Equalizer/doc/html/sample_8hch-source.html deleted file mode 100644 index 5789f08..0000000 --- a/Graphic_Equalizer/doc/html/sample_8hch-source.html +++ /dev/null @@ -1,37 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/include/sample.hch Source File</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>sample.hch</h1><a href="sample_8hch.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 -00019 <span class="preprocessor">#ifndef _SAMPLE_HCH</span> -00020 <span class="preprocessor"></span><span class="preprocessor">#define _SAMPLE_HCH 1</span> -00021 <span class="preprocessor"></span> -00022 -00023 -00024 <span class="comment">/*</span> -00025 <span class="comment"> * This procedure adds the supplied sample to the input buffer.</span> -00026 <span class="comment"> */</span> -00027 <span class="keywordtype">void</span> <a class="code" href="sample_8hcc.html#a2">sample_add</a>(in_sample); -00028 -00029 -00030 -00031 <span class="comment">/*</span> -00032 <span class="comment"> * This procedure rotates our buffers around if 64 samples are read into our</span> -00033 <span class="comment"> * current buffer. It returns 1 when 64 samples have passed, 0 otherwise.</span> -00034 <span class="comment"> */</span> -00035 <span class="keywordtype">unsigned</span> 1 <a class="code" href="sample_8hch.html#a2">sample_rotate_buffers</a>(<span class="keywordtype">void</span>); -00036 -00037 <span class="preprocessor">#else</span> -00038 <span class="preprocessor"></span><span class="preprocessor">#error "ERROR file sample.hch multiple times included"</span> -00039 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* --- _SAMPLE_HCH --- */</span> -00040 -</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 10:53:29 2004 for Graphic Equalizer by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/sample_8hch.html b/Graphic_Equalizer/doc/html/sample_8hch.html deleted file mode 100644 index 8c96e57..0000000 --- a/Graphic_Equalizer/doc/html/sample_8hch.html +++ /dev/null @@ -1,89 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/include/sample.hch File Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>sample.hch File Reference</h1> -<p> -This graph shows which files directly or indirectly include this file:<p><center><img src="sample_8hch__dep__incl.png" border="0" usemap="#sample.hchdep_map" alt="Included by dependency graph"></center> -<map name="sample.hchdep_map"> -<area href="sample_8hcc.html" shape="rect" coords="8,7,98,34" alt=""> -</map> - -<p> -<a href="sample_8hch-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8hch.html#a2">sample_rotate_buffers</a> (void)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">This procedure rotates our buffers around if 64 samples are read into our current buffer. <a href="#a2"></a><br></td></tr> -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<h2><a class="anchor" name="generic"> -Audiodriver API</a></h2> -<h2><a class="anchor" name="project"> -Project information.</a></h2> -Project Graphic Equalizer<br> - <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl> -<dl compact><dt><b>Date:</b></dt><dd>20041011 </dd></dl> -<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl> -<h2><a class="anchor" name="copyright"> -Copyright</a></h2> -Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history"> -Change history</a></h2> -20041011: O.M. Schinagl<br> - Initial version -<p> -Definition in file <a class="el" href="sample_8hch-source.html">sample.hch</a>.<hr><h2>Function Documentation</h2> -<a class="anchor" name="a2" doxytag="sample.hch::sample_rotate_buffers"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">unsigned sample_rotate_buffers </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top">void </td> - <td class="mdname1" valign="top" nowrap> </td> - <td class="md" valign="top"> ) </td> - <td class="md" nowrap></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -This procedure rotates our buffers around if 64 samples are read into our current buffer. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>in_sample</em> </td><td>16 bits signed sample to be added.</td></tr> - </table> -</dl> -<dl compact><dt><b>Returns:</b></dt><dd>1 when 64 samples have passed, 0 otherwise. </dd></dl> -<dl compact><dt><b>Return values:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>unsigned</em> </td><td>1; </td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="sample_8hcc-source.html#l00084">84</a> of file <a class="el" href="sample_8hcc-source.html">sample.hcc</a>. </td> - </tr> -</table> -<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 10:53:30 2004 for Graphic Equalizer by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/sample_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/sample_8hch__dep__incl.map deleted file mode 100644 index 6282c3e..0000000 --- a/Graphic_Equalizer/doc/html/sample_8hch__dep__incl.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $sample_8hcc.html 8,7 98,34 diff --git a/Graphic_Equalizer/doc/html/sample_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/sample_8hch__dep__incl.md5 deleted file mode 100644 index 2f59778..0000000 --- a/Graphic_Equalizer/doc/html/sample_8hch__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -9b1a683b9bef5e200828acd3ea8684fb
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/sample_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/sample_8hch__dep__incl.png Binary files differdeleted file mode 100644 index edc203a..0000000 --- a/Graphic_Equalizer/doc/html/sample_8hch__dep__incl.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/smartmedia_8hcc-source.html b/Graphic_Equalizer/doc/html/smartmedia_8hcc-source.html deleted file mode 100644 index f291834..0000000 --- a/Graphic_Equalizer/doc/html/smartmedia_8hcc-source.html +++ /dev/null @@ -1,215 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/src/smartmedia.hcc Source File</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000004.html">src</a></div> -<h1>smartmedia.hcc</h1><a href="smartmedia_8hcc.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 -00019 <span class="comment">/******** System Includes *************/</span> -00020 <span class="preprocessor">#include <stdlib.hch></span> -00021 -00022 <span class="preprocessor">#include "pal_master.hch"</span> -00023 -00024 <span class="comment">/******** Application Includes ********/</span> -00025 <span class="preprocessor">#include "<a class="code" href="configuration_8hch.html">configuration.hch</a>"</span> -00026 <span class="preprocessor">#include "<a class="code" href="display__shared_8hch.html">display_shared.hch</a>"</span> -00027 <span class="preprocessor">#include "<a class="code" href="smartmedia__shared_8hch.html">smartmedia_shared.hch</a>"</span> -00028 <span class="preprocessor">#include "<a class="code" href="smartmedia_8hch.html">smartmedia.hch</a>"</span> -00029 -00030 <span class="preprocessor">#if HAVE_DEBUG</span> -00031 <span class="preprocessor"></span><span class="preprocessor"> #include "debug.hch"</span> -00032 <span class="preprocessor">#endif</span> -00033 <span class="preprocessor"></span> -00034 <span class="preprocessor">#include "<a class="code" href="audio_8hch.html">audio.hch</a>"</span> -00035 <span class="preprocessor">#include "<a class="code" href="mouse__shared_8hch.html">mouse_shared.hch</a>"</span> -00036 <span class="preprocessor">#include "<a class="code" href="eventhandler__shared_8hch.html">eventhandler_shared.hch</a>"</span> -00037 <span class="preprocessor">#include "<a class="code" href="display_8hch.html">display.hch</a>"</span> <span class="comment">/* FIXME: temporary include, needs to be moved to 'init' */</span> -00038 -<a name="l00046"></a><a class="code" href="smartmedia_8hcc.html#a0">00046</a> <span class="keywordtype">unsigned</span> 1 <a class="code" href="smartmedia_8hch.html#a9">smartmedia_init</a>(<span class="keywordtype">void</span>) { -00047 <span class="keywordtype">unsigned</span> 1 retval; -00048 <span class="comment">/*</span> -00049 <span class="comment"> * Firstly we enable both the CPLD and the SmartMedia.</span> -00050 <span class="comment"> */</span> -00051 RC200CPLDEnable(); -00052 RC200SmartMediaInit(&retval); -00053 -00054 <span class="keywordflow">if</span> (retval) { -00055 RC200SmartMediaReset(&retval); -00056 RC200SmartMediaInit(&retval); -00057 } -00058 -00059 <span class="keywordflow">return</span> retval; -00060 } <span class="comment">/* --- smartmedia_init() --- */</span> -00061 -00062 -00063 -<a name="l00072"></a><a class="code" href="smartmedia_8hcc.html#a1">00072</a> <span class="keywordtype">void</span> <a class="code" href="smartmedia_8hcc.html#a1">smartmedia_loaddata</a>(<a class="code" href="structskindata__t.html">skindata_t</a> *skindata) { -00073 <span class="comment">/*</span> -00074 <span class="comment"> * Setup RAM Handle, and determin maximum Data and Address widths</span> -00075 <span class="comment"> */</span> -00076 macro expr RAM_BANK0 = PalPL2RAMCT(0); -00077 macro expr DW = PalPL2RAMGetMaxDataWidthCT(); -00078 macro expr AW = PalPL2RAMGetMaxAddressWidthCT(); -00079 -00080 <span class="keywordtype">unsigned</span> DW data; -00081 <span class="keywordtype">unsigned</span> 27 smartmedia_address, smartmedia_address_mask; -00082 <span class="keywordtype">unsigned</span> AW address; -00083 <span class="keywordtype">unsigned</span> 8 mask, r, g, b; -00084 <span class="keywordtype">unsigned</span> 3 stage; -00085 <span class="keywordtype">unsigned</span> 1 result; -00086 -00087 <span class="keyword">extern</span> ram <span class="keywordtype">unsigned</span> 8 <a class="code" href="events_8hcc.html#a0">presets_default_values</a>[768]; -00088 -00089 <span class="preprocessor">#if HAVE_DEBUG</span> -00090 <span class="preprocessor"></span> <span class="comment">/*</span> -00091 <span class="comment"> * Print some nice stats about data loading.</span> -00092 <span class="comment"> */</span> -00093 print_eol(); -00094 print_hex_value(0); -00095 <span class="preprocessor">#endif</span> -00096 <span class="preprocessor"></span> <span class="comment">/*</span> -00097 <span class="comment"> * Before we enter our loop to fill our memory with valid data, we have</span> -00098 <span class="comment"> * to set the startup positions for the SmartMedia.</span> -00099 <span class="comment"> */</span> -00100 smartmedia_address = SMARTMEDIA_ADDRESS_SKIN_START; -00101 smartmedia_address_mask = SMARTMEDIA_ADDRESS_SKINMASK_START; -00102 stage = STAGE_LOAD_SKIN; -00103 <span class="comment">/*</span> -00104 <span class="comment"> * We start with the address of the skin, and do the loop until we have</span> -00105 <span class="comment"> * done the end of the help.</span> -00106 <span class="comment"> */</span> -00107 <span class="keywordflow">for</span> (address = ADDRESS_SKIN_START; address != (<a class="code" href="smartmedia__shared_8hch.html#a31">ADDRESS_PRESET_RESET_END</a> +1); address++) { -00108 <span class="comment">/*</span> -00109 <span class="comment"> * Once we are done with the loading of our skin, we need to</span> -00110 <span class="comment"> * change the smartmedia start addresses.</span> -00111 <span class="comment"> */</span> -00112 <span class="keywordflow">switch</span> (address) { -00113 <span class="keywordflow">case</span> <a class="code" href="smartmedia__shared_8hch.html#a24">ADDRESS_HELP_START</a>: -00114 smartmedia_address = SMARTMEDIA_ADDRESS_HELP_START; -00115 smartmedia_address_mask = SMARTMEDIA_ADDRESS_HELPMASK_START; -00116 stage = STAGE_LOAD_HELP; -00117 <span class="keywordflow">break</span>; -00118 <span class="keywordflow">case</span> <a class="code" href="smartmedia__shared_8hch.html#a26">ADDRESS_GRAPHMASK_START</a>: -00119 smartmedia_address_mask = SMARTMEDIA_ADDRESS_GRAPHMASK_START; -00120 stage = STAGE_LOAD_GRAPH; -00121 <span class="keywordflow">break</span>; -00122 <span class="keywordflow">case</span> <a class="code" href="smartmedia__shared_8hch.html#a28">ADDRESS_PRESET_DEMO_START</a>: -00123 smartmedia_address_mask = SMARTMEDIA_ADDRESS_PRESET_DEMO_START; -00124 stage = STAGE_LOAD_PRESET; -00125 <span class="keywordflow">break</span>; -00126 <span class="keywordflow">case</span> <a class="code" href="smartmedia__shared_8hch.html#a30">ADDRESS_PRESET_RESET_START</a>: -00127 smartmedia_address_mask = SMARTMEDIA_ADDRESS_PRESET_RESET_START; -00128 stage = STAGE_LOAD_PRESET; -00129 <span class="keywordflow">break</span>; -00130 <span class="keywordflow">default</span>: -00131 <span class="keywordflow">break</span>; -00132 } -00133 -00134 <span class="comment">/*</span> -00135 <span class="comment"> * Before reading our data from the smartmedia we set our</span> -00136 <span class="comment"> * address pointer to the address from our loop.</span> -00137 <span class="comment"> */</span> -00138 <span class="preprocessor">#if HAVE_SMARTMEDIA</span> -00139 <span class="preprocessor"></span> PalPL2RAMSetWriteAddress(RAM_BANK0, address); -00140 <span class="preprocessor">#else</span> -00141 <span class="preprocessor"></span> PalPL2RAMSetWriteAddress(RAM_BANK0, 0); -00142 <span class="preprocessor">#endif</span> -00143 <span class="preprocessor"></span> -00144 <span class="comment">/*</span> -00145 <span class="comment"> * SmartMedia data is read one byte per call. Because we want</span> -00146 <span class="comment"> * to store the mask + the rgb values in one variable for later</span> -00147 <span class="comment"> * useage we need to read those 4 bytes from the smartmedia</span> -00148 <span class="comment"> * before storing it as one.</span> -00149 <span class="comment"> */</span> -00150 <span class="preprocessor">#if HAVE_SMARTMEDIA</span> -00151 <span class="preprocessor"></span> <span class="comment">/*</span> -00152 <span class="comment"> * FIXME: Due to a bug in the DK2 smartmedia libraries we need</span> -00153 <span class="comment"> * stop reading after each byte with OperationEnd call. This is</span> -00154 <span class="comment"> * VERY slow and must be changed.</span> -00155 <span class="comment"> */</span> -00156 <span class="keywordflow">if</span> ((<a class="code" href="smartmedia_8hch.html#a3">STAGE_LOAD_SKIN</a> == stage) || (<a class="code" href="smartmedia_8hch.html#a4">STAGE_LOAD_HELP</a> == stage)) { -00157 RC200SmartMediaSetAddress(<a class="code" href="smartmedia_8hch.html#a1">READ</a>, smartmedia_address); -00158 RC200SmartMediaRead(&r, TRUE); -00159 RC200SmartMediaOperationEnd(&result); -00160 RC200SmartMediaSetAddress(<a class="code" href="smartmedia_8hch.html#a1">READ</a>, (smartmedia_address +1)); -00161 RC200SmartMediaRead(&g, TRUE); -00162 RC200SmartMediaOperationEnd(&result); -00163 RC200SmartMediaSetAddress(<a class="code" href="smartmedia_8hch.html#a1">READ</a>, (smartmedia_address +2)); -00164 RC200SmartMediaRead(&b, TRUE); -00165 RC200SmartMediaOperationEnd(&result); -00166 } -00167 RC200SmartMediaSetAddress(<a class="code" href="smartmedia_8hch.html#a1">READ</a>, smartmedia_address_mask); -00168 RC200SmartMediaRead(&mask, TRUE); -00169 RC200SmartMediaOperationEnd(&result); -00170 -00171 <span class="keywordflow">switch</span> (stage) { -00172 <span class="keywordflow">case</span> <a class="code" href="smartmedia_8hch.html#a3">STAGE_LOAD_SKIN</a>: -00173 data = 0 @ mask @ r @ g @ b; -00174 <span class="keywordflow">break</span>; -00175 <span class="keywordflow">case</span> <a class="code" href="smartmedia_8hch.html#a4">STAGE_LOAD_HELP</a>: -00176 data = 0 @ mask @ r @ g @ b; -00177 <span class="keywordflow">break</span>; -00178 <span class="keywordflow">case</span> <a class="code" href="smartmedia_8hch.html#a5">STAGE_LOAD_GRAPH</a>: -00179 data = (<span class="keywordtype">unsigned</span> DW)(0 @ mask) << 24; -00180 <span class="keywordflow">break</span>; -00181 <span class="keywordflow">case</span> <a class="code" href="smartmedia_8hch.html#a6">STAGE_LOAD_PRESET</a>: -00182 <a class="code" href="events_8hcc.html#a0">presets_default_values</a>[(address -ADDRESS_PRESET_DEMO_START) <- 10] = mask; -00183 } -00184 -00185 <span class="preprocessor">#else</span> -00186 <span class="preprocessor"></span> data = 0x0000ff00; -00187 <span class="preprocessor">#endif</span> -00188 <span class="preprocessor"></span> <span class="comment">/*</span> -00189 <span class="comment"> * Now that we have gathered all pixel data, store it in ram.</span> -00190 <span class="comment"> */</span> -00191 PalPL2RAMWrite(RAM_BANK0, data); -00192 -00193 <span class="preprocessor">#if HAVE_DEBUG</span> -00194 <span class="preprocessor"></span> <span class="comment">/*</span> -00195 <span class="comment"> * Print some nice stats about data loading.</span> -00196 <span class="comment"> */</span> -00197 <span class="keywordflow">if</span> (!(address <- 10)) { -00198 print_cr(); -00199 print_hex_value(0 @ (address \\ 11)); -00200 print_string(<span class="stringliteral">" / 000001C2 | data: "</span>); -00201 print_hex_value(data <- 32); -00202 } -00203 <span class="preprocessor">#endif</span> -00204 <span class="preprocessor"></span> -00205 <span class="comment">/*</span> -00206 <span class="comment"> * Finally increase al our indexes approperiatly.</span> -00207 <span class="comment"> */</span> -00208 smartmedia_address += 3; -00209 smartmedia_address_mask++; -00210 } -00211 -00212 <span class="comment">/*</span> -00213 <span class="comment"> * This block needs to probably move up into the fore loop where we</span> -00214 <span class="comment"> * calculate these settings later.</span> -00215 <span class="comment"> */</span> -00216 skindata->area_spectrum_top = 200; -00217 skindata->area_spectrum_bottom = 335; -00218 skindata->area_spectrum_left = 77; -00219 skindata->area_spectrum_right = 575; -00220 skindata->area_waveform_top = 46; -00221 skindata->area_waveform_bottom = 118; -00222 skindata->area_waveform_left = 76; -00223 skindata->area_waveform_right = 413; -00224 skindata->area_volume_top = 112; -00225 skindata->area_volume_bottom = 66; -00226 skindata->area_volume_left = 439; -00227 skindata->area_volume_right = 455; -00228 skindata->color_area_volume = PIXEL_VOLUME; -00229 skindata->color_area_waveform = PIXEL_WAVEFORM; -00230 <span class="comment">// skindata->color_area_spectrum_top = PIXEL_SPECTRUM;</span> -00231 <span class="comment">// skindata->color_area_spectrum_bottom = PIXEL_SPECTRUM;</span> -00232 skindata->color_equalizer = PIXEL_EQUALIZER; -00233 } <span class="comment">/* --- smartmedia_loaddata() --- */</span> -</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:07 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/smartmedia_8hcc.html b/Graphic_Equalizer/doc/html/smartmedia_8hcc.html deleted file mode 100644 index bd026c4..0000000 --- a/Graphic_Equalizer/doc/html/smartmedia_8hcc.html +++ /dev/null @@ -1,153 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/src/smartmedia.hcc File Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000004.html">src</a></div> -<h1>smartmedia.hcc File Reference</h1><code>#include <stdlib.hch></code><br> -<code>#include "pal_master.hch"</code><br> -<code>#include "<a class="el" href="configuration_8hch-source.html">configuration.hch</a>"</code><br> -<code>#include "<a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>"</code><br> -<code>#include "<a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>"</code><br> -<code>#include "<a class="el" href="smartmedia_8hch-source.html">smartmedia.hch</a>"</code><br> -<code>#include "<a class="el" href="audio_8hch-source.html">audio.hch</a>"</code><br> -<code>#include "<a class="el" href="mouse__shared_8hch-source.html">mouse_shared.hch</a>"</code><br> -<code>#include "<a class="el" href="eventhandler__shared_8hch-source.html">eventhandler_shared.hch</a>"</code><br> -<code>#include "<a class="el" href="display_8hch-source.html">display.hch</a>"</code><br> - -<p> -Include dependency graph for smartmedia.hcc:<p><center><img src="smartmedia_8hcc__incl.png" border="0" usemap="#smartmedia.hcc_map" alt="Include dependency graph"></center> -<map name="smartmedia.hcc_map"> -<area href="configuration_8hch.html" shape="rect" coords="245,7,370,34" alt=""> -<area href="display__shared_8hch.html" shape="rect" coords="394,7,530,34" alt=""> -<area href="smartmedia__shared_8hch.html" shape="rect" coords="554,7,720,34" alt=""> -<area href="smartmedia_8hch.html" shape="rect" coords="744,7,861,34" alt=""> -<area href="audio_8hch.html" shape="rect" coords="885,7,965,34" alt=""> -<area href="mouse__shared_8hch.html" shape="rect" coords="989,7,1125,34" alt=""> -<area href="eventhandler__shared_8hch.html" shape="rect" coords="1149,7,1322,34" alt=""> -<area href="display_8hch.html" shape="rect" coords="1346,7,1434,34" alt=""> -</map> - -<p> -<a href="smartmedia_8hcc-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia_8hcc.html#a0">smartmedia_init</a> (void)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">We here initialize the Smart Media card and verify wether the card is inserted and such. <a href="#a0"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia_8hcc.html#a1">smartmedia_loaddata</a> (<a class="el" href="structskindata__t.html">skindata_t</a> *skindata)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">We load our memory with skin and help data from the smartmedia. <a href="#a1"></a><br></td></tr> -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<h2><a class="anchor" name="generic"> -Graphic Equalizer API</a></h2> -<h2><a class="anchor" name="project"> -Project information.</a></h2> -Project Graphic Equalizer<br> - <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl> -<dl compact><dt><b>Date:</b></dt><dd>20041110 </dd></dl> -<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl> -<h2><a class="anchor" name="copyright"> -Copyright</a></h2> -Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history"> -Change history</a></h2> -20041110: O.M. Schinagl<br> - Initial version -<p> -Definition in file <a class="el" href="smartmedia_8hcc-source.html">smartmedia.hcc</a>.<hr><h2>Function Documentation</h2> -<a class="anchor" name="a0" doxytag="smartmedia.hcc::smartmedia_init"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">unsigned smartmedia_init </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top">void </td> - <td class="mdname1" valign="top" nowrap> </td> - <td class="md" valign="top"> ) </td> - <td class="md" nowrap></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -We here initialize the Smart Media card and verify wether the card is inserted and such. -<p> -<dl compact><dt><b>Returns:</b></dt><dd>We return 0 on success, 1 on error. </dd></dl> -<dl compact><dt><b>Return values:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>unsigned</em> </td><td>1 </td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="smartmedia_8hcc-source.html#l00046">46</a> of file <a class="el" href="smartmedia_8hcc-source.html">smartmedia.hcc</a>. -<p> -Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a1" doxytag="smartmedia.hcc::smartmedia_loaddata"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void smartmedia_loaddata </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="structskindata__t.html">skindata_t</a> * </td> - <td class="mdname1" valign="top" nowrap> <em>skindata</em> </td> - <td class="md" valign="top"> ) </td> - <td class="md" nowrap></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -We load our memory with skin and help data from the smartmedia. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>*skindata</em> </td><td>skindata like boundries and colors of elements.</td></tr> - </table> -</dl> -<dl compact><dt><b>Returns:</b></dt><dd>void </dd></dl> -<dl compact><dt><b>Return values:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>void</em> </td><td></td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="smartmedia_8hcc-source.html#l00072">72</a> of file <a class="el" href="smartmedia_8hcc-source.html">smartmedia.hcc</a>. -<p> -References <a class="el" href="smartmedia__shared_8hch-source.html#l00066">ADDRESS_GRAPHMASK_START</a>, <a class="el" href="smartmedia__shared_8hch-source.html#l00063">ADDRESS_HELP_START</a>, <a class="el" href="smartmedia__shared_8hch-source.html#l00069">ADDRESS_PRESET_DEMO_START</a>, <a class="el" href="smartmedia__shared_8hch-source.html#l00073">ADDRESS_PRESET_RESET_END</a>, <a class="el" href="smartmedia__shared_8hch-source.html#l00072">ADDRESS_PRESET_RESET_START</a>, <a class="el" href="events_8hcc-source.html#l00037">presets_default_values</a>, <a class="el" href="smartmedia_8hch-source.html#l00028">READ</a>, <a class="el" href="smartmedia_8hch-source.html#l00038">STAGE_LOAD_GRAPH</a>, <a class="el" href="smartmedia_8hch-source.html#l00037">STAGE_LOAD_HELP</a>, <a class="el" href="smartmedia_8hch-source.html#l00039">STAGE_LOAD_PRESET</a>, and <a class="el" href="smartmedia_8hch-source.html#l00036">STAGE_LOAD_SKIN</a>. -<p> -Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td> - </tr> -</table> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:09 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.map b/Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.map deleted file mode 100644 index f1c196f..0000000 --- a/Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.map +++ /dev/null @@ -1,9 +0,0 @@ -base referer -rect $configuration_8hch.html 245,7 370,34 -rect $display__shared_8hch.html 394,7 530,34 -rect $smartmedia__shared_8hch.html 554,7 720,34 -rect $smartmedia_8hch.html 744,7 861,34 -rect $audio_8hch.html 885,7 965,34 -rect $mouse__shared_8hch.html 989,7 1125,34 -rect $eventhandler__shared_8hch.html 1149,7 1322,34 -rect $display_8hch.html 1346,7 1434,34 diff --git a/Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.md5 b/Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.md5 deleted file mode 100644 index 4d36ea5..0000000 --- a/Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -86c9bdde69fa949899315e166183a539
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.png b/Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.png Binary files differdeleted file mode 100644 index a0e23b0..0000000 --- a/Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/smartmedia_8hch-source.html b/Graphic_Equalizer/doc/html/smartmedia_8hch-source.html deleted file mode 100644 index 112cdc0..0000000 --- a/Graphic_Equalizer/doc/html/smartmedia_8hch-source.html +++ /dev/null @@ -1,65 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/include/smartmedia.hch Source File</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>smartmedia.hch</h1><a href="smartmedia_8hch.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 -00019 <span class="preprocessor">#ifndef _SMARTMEDIA_HCH</span> -<a name="l00020"></a><a class="code" href="smartmedia_8hch.html#a0">00020</a> <span class="preprocessor"></span><span class="preprocessor">#define _SMARTMEDIA_HCH 1</span> -00021 <span class="preprocessor"></span> -00022 -00023 -00024 <span class="comment">/*</span> -00025 <span class="comment"> * SmartMedia functioncalls a bit to be set to either Read or Write. This</span> -00026 <span class="comment"> * define should make life easier identifying which one is what.</span> -00027 <span class="comment"> */</span> -<a name="l00028"></a><a class="code" href="smartmedia_8hch.html#a1">00028</a> <span class="preprocessor">#define READ 0</span> -<a name="l00029"></a><a class="code" href="smartmedia_8hch.html#a2">00029</a> <span class="preprocessor"></span><span class="preprocessor">#define WRITE 1</span> -00030 <span class="preprocessor"></span> -00031 -00032 -00033 <span class="comment">/*</span> -00034 <span class="comment"> * The different stages the smart media loaders knows.</span> -00035 <span class="comment"> */</span> -<a name="l00036"></a><a class="code" href="smartmedia_8hch.html#a3">00036</a> <span class="preprocessor">#define STAGE_LOAD_SKIN 0x00</span> -<a name="l00037"></a><a class="code" href="smartmedia_8hch.html#a4">00037</a> <span class="preprocessor"></span><span class="preprocessor">#define STAGE_LOAD_HELP 0x01</span> -<a name="l00038"></a><a class="code" href="smartmedia_8hch.html#a5">00038</a> <span class="preprocessor"></span><span class="preprocessor">#define STAGE_LOAD_GRAPH 0x02</span> -<a name="l00039"></a><a class="code" href="smartmedia_8hch.html#a6">00039</a> <span class="preprocessor"></span><span class="preprocessor">#define STAGE_LOAD_PRESET 0x03</span> -00040 <span class="preprocessor"></span> -00041 -00042 -00043 <span class="comment">/*</span> -00044 <span class="comment"> * Create a define to keep API generic</span> -00045 <span class="comment"> * FIXME: replace with PAL calls when avaiable.</span> -00046 <span class="comment"> */</span> -<a name="l00047"></a><a class="code" href="smartmedia_8hch.html#a7">00047</a> <span class="preprocessor">#define CPLDRun(ClockRate) RC200CPLDRun(ClockRate)</span> -<a name="l00048"></a><a class="code" href="smartmedia_8hch.html#a8">00048</a> <span class="preprocessor"></span><span class="preprocessor">#define SmartMediaRun(ClockRate) RC200SmartMediaRun(ClockRate)</span> -00049 <span class="preprocessor"></span> -00050 -00051 -00052 <span class="comment">/*</span> -00053 <span class="comment"> * Initializes the smartmedia device.</span> -00054 <span class="comment"> */</span> -00055 -00056 <span class="keywordtype">unsigned</span> 1 <a class="code" href="smartmedia_8hch.html#a9">smartmedia_init</a>(<span class="keywordtype">void</span>); -00057 -00058 -00059 -00060 <span class="comment">/*</span> -00061 <span class="comment"> * This function loads the memory with data from the smartmedia card.</span> -00062 <span class="comment"> */</span> -00063 <span class="keywordtype">void</span> <a class="code" href="smartmedia_8hcc.html#a1">smartmedia_loaddata</a>(<a class="code" href="structskindata__t.html">skindata_t</a> *skindata); -00064 -00065 <span class="preprocessor">#else</span> -00066 <span class="preprocessor"></span><span class="preprocessor">#error "ERROR file smartmedia.hch multiple times included"</span> -00067 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* --- _SMARTMEDIA_HCH --- */</span> -00068 -</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:06 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/smartmedia_8hch.html b/Graphic_Equalizer/doc/html/smartmedia_8hch.html deleted file mode 100644 index 3521eac..0000000 --- a/Graphic_Equalizer/doc/html/smartmedia_8hch.html +++ /dev/null @@ -1,406 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/include/smartmedia.hch File Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>smartmedia.hch File Reference</h1> -<p> -This graph shows which files directly or indirectly include this file:<p><center><img src="smartmedia_8hch__dep__incl.png" border="0" usemap="#smartmedia.hchdep_map" alt="Included by dependency graph"></center> -<map name="smartmedia.hchdep_map"> -<area href="main_8hcc.html" shape="rect" coords="8,7,82,34" alt=""> -<area href="smartmedia_8hcc.html" shape="rect" coords="106,7,224,34" alt=""> -</map> - -<p> -<a href="smartmedia_8hch-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Defines</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia_8hch.html#a0">_SMARTMEDIA_HCH</a> 1</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia_8hch.html#a1">READ</a> 0</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia_8hch.html#a2">WRITE</a> 1</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia_8hch.html#a3">STAGE_LOAD_SKIN</a> 0x00</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia_8hch.html#a4">STAGE_LOAD_HELP</a> 0x01</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia_8hch.html#a5">STAGE_LOAD_GRAPH</a> 0x02</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia_8hch.html#a6">STAGE_LOAD_PRESET</a> 0x03</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia_8hch.html#a7">CPLDRun</a>(ClockRate) RC200CPLDRun(ClockRate)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia_8hch.html#a8">SmartMediaRun</a>(ClockRate) RC200SmartMediaRun(ClockRate)</td></tr> - -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia_8hch.html#a9">smartmedia_init</a> (void)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">We here initialize the Smart Media card and verify wether the card is inserted and such. <a href="#a9"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia_8hch.html#a10">smartmedia_loaddata</a> (<a class="el" href="structskindata__t.html">skindata_t</a> *skindata)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">We load our memory with skin and help data from the smartmedia. <a href="#a10"></a><br></td></tr> -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<h2><a class="anchor" name="generic"> -Graphic Equalizer API</a></h2> -<h2><a class="anchor" name="project"> -Project information.</a></h2> -Project Graphic Equalizer<br> - <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl> -<dl compact><dt><b>Date:</b></dt><dd>20041110 </dd></dl> -<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl> -<h2><a class="anchor" name="copyright"> -Copyright</a></h2> -Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history"> -Change history</a></h2> -20041110: O.M. Schinagl<br> - Initial version -<p> -Definition in file <a class="el" href="smartmedia_8hch-source.html">smartmedia.hch</a>.<hr><h2>Define Documentation</h2> -<a class="anchor" name="a0" doxytag="smartmedia.hch::_SMARTMEDIA_HCH"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define _SMARTMEDIA_HCH 1 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia_8hch-source.html#l00020">20</a> of file <a class="el" href="smartmedia_8hch-source.html">smartmedia.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a1" doxytag="smartmedia.hch::READ"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define READ 0 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia_8hch-source.html#l00028">28</a> of file <a class="el" href="smartmedia_8hch-source.html">smartmedia.hch</a>. -<p> -Referenced by <a class="el" href="smartmedia_8hcc-source.html#l00072">smartmedia_loaddata()</a>. </td> - </tr> -</table> -<a class="anchor" name="a2" doxytag="smartmedia.hch::WRITE"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define WRITE 1 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia_8hch-source.html#l00029">29</a> of file <a class="el" href="smartmedia_8hch-source.html">smartmedia.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a3" doxytag="smartmedia.hch::STAGE_LOAD_SKIN"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define STAGE_LOAD_SKIN 0x00 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia_8hch-source.html#l00036">36</a> of file <a class="el" href="smartmedia_8hch-source.html">smartmedia.hch</a>. -<p> -Referenced by <a class="el" href="smartmedia_8hcc-source.html#l00072">smartmedia_loaddata()</a>. </td> - </tr> -</table> -<a class="anchor" name="a4" doxytag="smartmedia.hch::STAGE_LOAD_HELP"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define STAGE_LOAD_HELP 0x01 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia_8hch-source.html#l00037">37</a> of file <a class="el" href="smartmedia_8hch-source.html">smartmedia.hch</a>. -<p> -Referenced by <a class="el" href="smartmedia_8hcc-source.html#l00072">smartmedia_loaddata()</a>. </td> - </tr> -</table> -<a class="anchor" name="a5" doxytag="smartmedia.hch::STAGE_LOAD_GRAPH"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define STAGE_LOAD_GRAPH 0x02 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia_8hch-source.html#l00038">38</a> of file <a class="el" href="smartmedia_8hch-source.html">smartmedia.hch</a>. -<p> -Referenced by <a class="el" href="smartmedia_8hcc-source.html#l00072">smartmedia_loaddata()</a>. </td> - </tr> -</table> -<a class="anchor" name="a6" doxytag="smartmedia.hch::STAGE_LOAD_PRESET"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define STAGE_LOAD_PRESET 0x03 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia_8hch-source.html#l00039">39</a> of file <a class="el" href="smartmedia_8hch-source.html">smartmedia.hch</a>. -<p> -Referenced by <a class="el" href="smartmedia_8hcc-source.html#l00072">smartmedia_loaddata()</a>. </td> - </tr> -</table> -<a class="anchor" name="a7" doxytag="smartmedia.hch::CPLDRun"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define CPLDRun </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top">ClockRate </td> - <td class="mdname1" valign="top" nowrap> </td> - <td class="md" valign="top"> ) </td> - <td class="md" nowrap> RC200CPLDRun(ClockRate)</td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia_8hch-source.html#l00047">47</a> of file <a class="el" href="smartmedia_8hch-source.html">smartmedia.hch</a>. -<p> -Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a8" doxytag="smartmedia.hch::SmartMediaRun"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define SmartMediaRun </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top">ClockRate </td> - <td class="mdname1" valign="top" nowrap> </td> - <td class="md" valign="top"> ) </td> - <td class="md" nowrap> RC200SmartMediaRun(ClockRate)</td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia_8hch-source.html#l00048">48</a> of file <a class="el" href="smartmedia_8hch-source.html">smartmedia.hch</a>. -<p> -Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td> - </tr> -</table> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="a9" doxytag="smartmedia.hch::smartmedia_init"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">unsigned smartmedia_init </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top">void </td> - <td class="mdname1" valign="top" nowrap> </td> - <td class="md" valign="top"> ) </td> - <td class="md" nowrap></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -We here initialize the Smart Media card and verify wether the card is inserted and such. -<p> -<dl compact><dt><b>Returns:</b></dt><dd>We return 0 on success, 1 on error. </dd></dl> -<dl compact><dt><b>Return values:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>unsigned</em> </td><td>1 </td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="smartmedia_8hcc-source.html#l00046">46</a> of file <a class="el" href="smartmedia_8hcc-source.html">smartmedia.hcc</a>. -<p> -Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a10" doxytag="smartmedia.hch::smartmedia_loaddata"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">void smartmedia_loaddata </td> - <td class="md" valign="top">( </td> - <td class="md" nowrap valign="top"><a class="el" href="structskindata__t.html">skindata_t</a> * </td> - <td class="mdname1" valign="top" nowrap> <em>skindata</em> </td> - <td class="md" valign="top"> ) </td> - <td class="md" nowrap></td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -We load our memory with skin and help data from the smartmedia. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>*skindata</em> </td><td>skindata like boundries and colors of elements.</td></tr> - </table> -</dl> -<dl compact><dt><b>Returns:</b></dt><dd>void </dd></dl> -<dl compact><dt><b>Return values:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>void</em> </td><td></td></tr> - </table> -</dl> - -<p> -Definition at line <a class="el" href="smartmedia_8hcc-source.html#l00072">72</a> of file <a class="el" href="smartmedia_8hcc-source.html">smartmedia.hcc</a>. -<p> -References <a class="el" href="smartmedia__shared_8hch-source.html#l00066">ADDRESS_GRAPHMASK_START</a>, <a class="el" href="smartmedia__shared_8hch-source.html#l00063">ADDRESS_HELP_START</a>, <a class="el" href="smartmedia__shared_8hch-source.html#l00069">ADDRESS_PRESET_DEMO_START</a>, <a class="el" href="smartmedia__shared_8hch-source.html#l00073">ADDRESS_PRESET_RESET_END</a>, <a class="el" href="smartmedia__shared_8hch-source.html#l00072">ADDRESS_PRESET_RESET_START</a>, <a class="el" href="events_8hcc-source.html#l00037">presets_default_values</a>, <a class="el" href="smartmedia_8hch-source.html#l00028">READ</a>, <a class="el" href="smartmedia_8hch-source.html#l00038">STAGE_LOAD_GRAPH</a>, <a class="el" href="smartmedia_8hch-source.html#l00037">STAGE_LOAD_HELP</a>, <a class="el" href="smartmedia_8hch-source.html#l00039">STAGE_LOAD_PRESET</a>, and <a class="el" href="smartmedia_8hch-source.html#l00036">STAGE_LOAD_SKIN</a>. -<p> -Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td> - </tr> -</table> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:08 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.map deleted file mode 100644 index 46f0913..0000000 --- a/Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $main_8hcc.html 8,7 82,34 -rect $smartmedia_8hcc.html 106,7 224,34 diff --git a/Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.md5 deleted file mode 100644 index 0f51fe8..0000000 --- a/Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -a6514b61ed04d96f1fee892121b51cd5
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.png Binary files differdeleted file mode 100644 index dc6420a..0000000 --- a/Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/smartmedia__shared_8hch-source.html b/Graphic_Equalizer/doc/html/smartmedia__shared_8hch-source.html deleted file mode 100644 index f21af8d..0000000 --- a/Graphic_Equalizer/doc/html/smartmedia__shared_8hch-source.html +++ /dev/null @@ -1,77 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/include/smartmedia_shared.hch Source File</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>smartmedia_shared.hch</h1><a href="smartmedia__shared_8hch.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 -00019 <span class="preprocessor">#ifndef _SMARTMEDIA_SHARED_HCH</span> -<a name="l00020"></a><a class="code" href="smartmedia__shared_8hch.html#a0">00020</a> <span class="preprocessor"></span><span class="preprocessor">#define _SMARTMEDIA_SHARED_HCH 1</span> -00021 <span class="preprocessor"></span> -00022 -00023 -00024 <span class="comment">/*</span> -00025 <span class="comment"> * Here we set the various sizes of the data in use. Do not round this values</span> -00026 <span class="comment"> * in anyway! For example, 640 pixels times 480 pixels is 307200 (4b000) pixels</span> -00027 <span class="comment"> * total.</span> -00028 <span class="comment"> */</span> -<a name="l00029"></a><a class="code" href="smartmedia__shared_8hch.html#a1">00029</a> <span class="preprocessor">#define SIZE_SKIN 0x04afff</span> -<a name="l00030"></a><a class="code" href="smartmedia__shared_8hch.html#a2">00030</a> <span class="preprocessor"></span><span class="preprocessor">#define SIZE_HELP 0x04afff</span> -<a name="l00031"></a><a class="code" href="smartmedia__shared_8hch.html#a3">00031</a> <span class="preprocessor"></span><span class="preprocessor">#define SIZE_GRAPH 0x04afff</span> -<a name="l00032"></a><a class="code" href="smartmedia__shared_8hch.html#a4">00032</a> <span class="preprocessor"></span><span class="preprocessor">#define SIZE_SKINMASK 0x018fff</span> -<a name="l00033"></a><a class="code" href="smartmedia__shared_8hch.html#a5">00033</a> <span class="preprocessor"></span><span class="preprocessor">#define SIZE_HELPMASK 0x018fff</span> -<a name="l00034"></a><a class="code" href="smartmedia__shared_8hch.html#a6">00034</a> <span class="preprocessor"></span><span class="preprocessor">#define SIZE_GRAPHMASK 0x018fff</span> -00035 <span class="preprocessor"></span> -<a name="l00036"></a><a class="code" href="smartmedia__shared_8hch.html#a7">00036</a> <span class="preprocessor">#define SIZE_PRESET 0x0001c0</span> -00037 <span class="preprocessor"></span> -00038 <span class="comment">/*</span> -00039 <span class="comment"> * Here we setup the start and end address for the various components.</span> -00040 <span class="comment"> */</span> -00041 -<a name="l00042"></a><a class="code" href="smartmedia__shared_8hch.html#a8">00042</a> <span class="preprocessor">#define SMARTMEDIA_ADDRESS_SKIN_START 0x084000 </span><span class="comment">/* Block: 33 */</span> -<a name="l00043"></a><a class="code" href="smartmedia__shared_8hch.html#a9">00043</a> <span class="preprocessor">#define SMARTMEDIA_ADDRESS_SKINMASK_START 0x168000 </span><span class="comment">/* Block: 90 */</span> -<a name="l00044"></a><a class="code" href="smartmedia__shared_8hch.html#a10">00044</a> <span class="preprocessor">#define SMARTMEDIA_ADDRESS_HELP_START 0x1b4000 </span><span class="comment">/* Block: 109 */</span> -<a name="l00045"></a><a class="code" href="smartmedia__shared_8hch.html#a11">00045</a> <span class="preprocessor">#define SMARTMEDIA_ADDRESS_HELPMASK_START 0x298000 </span><span class="comment">/* Block: 166 */</span> -<a name="l00046"></a><a class="code" href="smartmedia__shared_8hch.html#a12">00046</a> <span class="preprocessor">#define SMARTMEDIA_ADDRESS_GRAPHMASK_START 0x2e4000 </span><span class="comment">/* Block: 185 */</span> -00047 -<a name="l00048"></a><a class="code" href="smartmedia__shared_8hch.html#a13">00048</a> <span class="preprocessor">#define SMARTMEDIA_ADDRESS_PRESET_DEMO_START 0x330000 </span><span class="comment">/* Block: 204 */</span> -<a name="l00049"></a><a class="code" href="smartmedia__shared_8hch.html#a14">00049</a> <span class="preprocessor">#define SMARTMEDIA_ADDRESS_PRESET_RESET_START 0x334000 </span><span class="comment">/* Block: 205 */</span> -00050 -<a name="l00051"></a><a class="code" href="smartmedia__shared_8hch.html#a15">00051</a> <span class="preprocessor">#define SMARTMEDIA_ADDRESS_SKIN_END (SMARTMEDIA_ADDRESS_SKIN_START +(SIZE_SKIN *3))</span> -<a name="l00052"></a><a class="code" href="smartmedia__shared_8hch.html#a16">00052</a> <span class="preprocessor"></span><span class="preprocessor">#define SMARTMEDIA_ADDRESS_SKINMASK_END (SMARTMEDIA_ADDRESS_SKINMASK_START +(SIZE_SKINMASK *3))</span> -<a name="l00053"></a><a class="code" href="smartmedia__shared_8hch.html#a17">00053</a> <span class="preprocessor"></span><span class="preprocessor">#define SMARTMEDIA_ADDRESS_HELP_END (SMARTMEDIA_ADDRESS_HELP_START +(SIZE_HELP *3))</span> -<a name="l00054"></a><a class="code" href="smartmedia__shared_8hch.html#a18">00054</a> <span class="preprocessor"></span><span class="preprocessor">#define SMARTMEDIA_ADDRESS_HELPMASK_END (SMARTMEDIA_ADDRESS_HELPMASK_START +(SIZE_HELPMASK *3))</span> -<a name="l00055"></a><a class="code" href="smartmedia__shared_8hch.html#a19">00055</a> <span class="preprocessor"></span><span class="preprocessor">#define SMARTMEDIA_ADDRESS_GRAPHMASK_END (SMARTMEDIA_ADDRESS_GRAPHMASK_START +(SIZE_GRAPHMASK *3))</span> -00056 <span class="preprocessor"></span> -<a name="l00057"></a><a class="code" href="smartmedia__shared_8hch.html#a20">00057</a> <span class="preprocessor">#define SMARTMEDIA_ADDRESS_PRESET_DEMO_END (SMARTMEDIA_ADDRESS_PRESET_DEMO_START +(SIZE_PRESET))</span> -<a name="l00058"></a><a class="code" href="smartmedia__shared_8hch.html#a21">00058</a> <span class="preprocessor"></span><span class="preprocessor">#define SMARTMEDIA_ADDRESS_PRESET_RESET_END (SMARTMEDIA_ADDRESS_PRESET_RESET_START +(SIZE_PRESET))</span> -00059 <span class="preprocessor"></span> -<a name="l00060"></a><a class="code" href="smartmedia__shared_8hch.html#a22">00060</a> <span class="preprocessor">#define ADDRESS_SKIN_START 0x000000</span> -<a name="l00061"></a><a class="code" href="smartmedia__shared_8hch.html#a23">00061</a> <span class="preprocessor"></span><span class="preprocessor">#define ADDRESS_SKIN_END (ADDRESS_SKIN_START +SIZE_SKIN)</span> -00062 <span class="preprocessor"></span> -<a name="l00063"></a><a class="code" href="smartmedia__shared_8hch.html#a24">00063</a> <span class="preprocessor">#define ADDRESS_HELP_START 0x04b000</span> -<a name="l00064"></a><a class="code" href="smartmedia__shared_8hch.html#a25">00064</a> <span class="preprocessor"></span><span class="preprocessor">#define ADDRESS_HELP_END (ADDRESS_HELP_START +SIZE_HELP)</span> -00065 <span class="preprocessor"></span> -<a name="l00066"></a><a class="code" href="smartmedia__shared_8hch.html#a26">00066</a> <span class="preprocessor">#define ADDRESS_GRAPHMASK_START 0x096000</span> -<a name="l00067"></a><a class="code" href="smartmedia__shared_8hch.html#a27">00067</a> <span class="preprocessor"></span><span class="preprocessor">#define ADDRESS_GRAPHMASK_END (ADDRESS_GRAPHMASK_START +SIZE_GRAPH)</span> -00068 <span class="preprocessor"></span> -<a name="l00069"></a><a class="code" href="smartmedia__shared_8hch.html#a28">00069</a> <span class="preprocessor">#define ADDRESS_PRESET_DEMO_START 0x0e1000</span> -<a name="l00070"></a><a class="code" href="smartmedia__shared_8hch.html#a29">00070</a> <span class="preprocessor"></span><span class="preprocessor">#define ADDRESS_PRESET_DEMO_END (ADDRESS_PRESET_DEMO_START +SIZE_PRESET)</span> -00071 <span class="preprocessor"></span> -<a name="l00072"></a><a class="code" href="smartmedia__shared_8hch.html#a30">00072</a> <span class="preprocessor">#define ADDRESS_PRESET_RESET_START 0x0e11c0</span> -<a name="l00073"></a><a class="code" href="smartmedia__shared_8hch.html#a31">00073</a> <span class="preprocessor"></span><span class="preprocessor">#define ADDRESS_PRESET_RESET_END (ADDRESS_PRESET_RESET_START +SIZE_PRESET)</span> -00074 <span class="preprocessor"></span> -00075 -00076 -00077 <span class="preprocessor">#else</span> -00078 <span class="preprocessor"></span><span class="preprocessor">#error "ERROR file smartmedia_shared.hch multiple times included"</span> -00079 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* --- _SMARTMEDIA_SHARED_HCH --- */</span> -00080 -</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:06 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/smartmedia__shared_8hch.html b/Graphic_Equalizer/doc/html/smartmedia__shared_8hch.html deleted file mode 100644 index 6226246..0000000 --- a/Graphic_Equalizer/doc/html/smartmedia__shared_8hch.html +++ /dev/null @@ -1,920 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/include/smartmedia_shared.hch File Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>smartmedia_shared.hch File Reference</h1> -<p> -This graph shows which files directly or indirectly include this file:<p><center><img src="smartmedia__shared_8hch__dep__incl.png" border="0" usemap="#smartmedia_shared.hchdep_map" alt="Included by dependency graph"></center> -<map name="smartmedia_shared.hchdep_map"> -<area href="display_8hcc.html" shape="rect" coords="7,7,95,34" alt=""> -<area href="smartmedia_8hcc.html" shape="rect" coords="119,7,237,34" alt=""> -</map> - -<p> -<a href="smartmedia__shared_8hch-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Defines</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a0">_SMARTMEDIA_SHARED_HCH</a> 1</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a1">SIZE_SKIN</a> 0x04afff</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a2">SIZE_HELP</a> 0x04afff</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a3">SIZE_GRAPH</a> 0x04afff</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a4">SIZE_SKINMASK</a> 0x018fff</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a5">SIZE_HELPMASK</a> 0x018fff</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a6">SIZE_GRAPHMASK</a> 0x018fff</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a7">SIZE_PRESET</a> 0x0001c0</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a8">SMARTMEDIA_ADDRESS_SKIN_START</a> 0x084000</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a9">SMARTMEDIA_ADDRESS_SKINMASK_START</a> 0x168000</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a10">SMARTMEDIA_ADDRESS_HELP_START</a> 0x1b4000</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a11">SMARTMEDIA_ADDRESS_HELPMASK_START</a> 0x298000</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a12">SMARTMEDIA_ADDRESS_GRAPHMASK_START</a> 0x2e4000</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a13">SMARTMEDIA_ADDRESS_PRESET_DEMO_START</a> 0x330000</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a14">SMARTMEDIA_ADDRESS_PRESET_RESET_START</a> 0x334000</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a15">SMARTMEDIA_ADDRESS_SKIN_END</a> (SMARTMEDIA_ADDRESS_SKIN_START +(SIZE_SKIN *3))</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a16">SMARTMEDIA_ADDRESS_SKINMASK_END</a> (SMARTMEDIA_ADDRESS_SKINMASK_START +(SIZE_SKINMASK *3))</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a17">SMARTMEDIA_ADDRESS_HELP_END</a> (SMARTMEDIA_ADDRESS_HELP_START +(SIZE_HELP *3))</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a18">SMARTMEDIA_ADDRESS_HELPMASK_END</a> (SMARTMEDIA_ADDRESS_HELPMASK_START +(SIZE_HELPMASK *3))</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a19">SMARTMEDIA_ADDRESS_GRAPHMASK_END</a> (SMARTMEDIA_ADDRESS_GRAPHMASK_START +(SIZE_GRAPHMASK *3))</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a20">SMARTMEDIA_ADDRESS_PRESET_DEMO_END</a> (SMARTMEDIA_ADDRESS_PRESET_DEMO_START +(SIZE_PRESET))</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a21">SMARTMEDIA_ADDRESS_PRESET_RESET_END</a> (SMARTMEDIA_ADDRESS_PRESET_RESET_START +(SIZE_PRESET))</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a22">ADDRESS_SKIN_START</a> 0x000000</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a23">ADDRESS_SKIN_END</a> (ADDRESS_SKIN_START +SIZE_SKIN)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a24">ADDRESS_HELP_START</a> 0x04b000</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a25">ADDRESS_HELP_END</a> (ADDRESS_HELP_START +SIZE_HELP)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a26">ADDRESS_GRAPHMASK_START</a> 0x096000</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a27">ADDRESS_GRAPHMASK_END</a> (ADDRESS_GRAPHMASK_START +SIZE_GRAPH)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a28">ADDRESS_PRESET_DEMO_START</a> 0x0e1000</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a29">ADDRESS_PRESET_DEMO_END</a> (ADDRESS_PRESET_DEMO_START +SIZE_PRESET)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a30">ADDRESS_PRESET_RESET_START</a> 0x0e11c0</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia__shared_8hch.html#a31">ADDRESS_PRESET_RESET_END</a> (ADDRESS_PRESET_RESET_START +SIZE_PRESET)</td></tr> - -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<h2><a class="anchor" name="generic"> -Graphic Equalizer API</a></h2> -<h2><a class="anchor" name="project"> -Project information.</a></h2> -Project Graphic Equalizer<br> - <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl> -<dl compact><dt><b>Date:</b></dt><dd>20041202 </dd></dl> -<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl> -<h2><a class="anchor" name="copyright"> -Copyright</a></h2> -Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history"> -Change history</a></h2> -20041202: O.M. Schinagl<br> - Initial version -<p> -Definition in file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>.<hr><h2>Define Documentation</h2> -<a class="anchor" name="a0" doxytag="smartmedia_shared.hch::_SMARTMEDIA_SHARED_HCH"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define _SMARTMEDIA_SHARED_HCH 1 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00020">20</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a1" doxytag="smartmedia_shared.hch::SIZE_SKIN"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define SIZE_SKIN 0x04afff </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00029">29</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a2" doxytag="smartmedia_shared.hch::SIZE_HELP"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define SIZE_HELP 0x04afff </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00030">30</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a3" doxytag="smartmedia_shared.hch::SIZE_GRAPH"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define SIZE_GRAPH 0x04afff </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00031">31</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a4" doxytag="smartmedia_shared.hch::SIZE_SKINMASK"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define SIZE_SKINMASK 0x018fff </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00032">32</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a5" doxytag="smartmedia_shared.hch::SIZE_HELPMASK"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define SIZE_HELPMASK 0x018fff </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00033">33</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a6" doxytag="smartmedia_shared.hch::SIZE_GRAPHMASK"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define SIZE_GRAPHMASK 0x018fff </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00034">34</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a7" doxytag="smartmedia_shared.hch::SIZE_PRESET"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define SIZE_PRESET 0x0001c0 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00036">36</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a8" doxytag="smartmedia_shared.hch::SMARTMEDIA_ADDRESS_SKIN_START"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define SMARTMEDIA_ADDRESS_SKIN_START 0x084000 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00042">42</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a9" doxytag="smartmedia_shared.hch::SMARTMEDIA_ADDRESS_SKINMASK_START"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define SMARTMEDIA_ADDRESS_SKINMASK_START 0x168000 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00043">43</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a10" doxytag="smartmedia_shared.hch::SMARTMEDIA_ADDRESS_HELP_START"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define SMARTMEDIA_ADDRESS_HELP_START 0x1b4000 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00044">44</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a11" doxytag="smartmedia_shared.hch::SMARTMEDIA_ADDRESS_HELPMASK_START"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define SMARTMEDIA_ADDRESS_HELPMASK_START 0x298000 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00045">45</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a12" doxytag="smartmedia_shared.hch::SMARTMEDIA_ADDRESS_GRAPHMASK_START"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define SMARTMEDIA_ADDRESS_GRAPHMASK_START 0x2e4000 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00046">46</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a13" doxytag="smartmedia_shared.hch::SMARTMEDIA_ADDRESS_PRESET_DEMO_START"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define SMARTMEDIA_ADDRESS_PRESET_DEMO_START 0x330000 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00048">48</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a14" doxytag="smartmedia_shared.hch::SMARTMEDIA_ADDRESS_PRESET_RESET_START"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define SMARTMEDIA_ADDRESS_PRESET_RESET_START 0x334000 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00049">49</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a15" doxytag="smartmedia_shared.hch::SMARTMEDIA_ADDRESS_SKIN_END"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define SMARTMEDIA_ADDRESS_SKIN_END (SMARTMEDIA_ADDRESS_SKIN_START +(SIZE_SKIN *3)) </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00051">51</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a16" doxytag="smartmedia_shared.hch::SMARTMEDIA_ADDRESS_SKINMASK_END"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define SMARTMEDIA_ADDRESS_SKINMASK_END (SMARTMEDIA_ADDRESS_SKINMASK_START +(SIZE_SKINMASK *3)) </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00052">52</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a17" doxytag="smartmedia_shared.hch::SMARTMEDIA_ADDRESS_HELP_END"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define SMARTMEDIA_ADDRESS_HELP_END (SMARTMEDIA_ADDRESS_HELP_START +(SIZE_HELP *3)) </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00053">53</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a18" doxytag="smartmedia_shared.hch::SMARTMEDIA_ADDRESS_HELPMASK_END"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define SMARTMEDIA_ADDRESS_HELPMASK_END (SMARTMEDIA_ADDRESS_HELPMASK_START +(SIZE_HELPMASK *3)) </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00054">54</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a19" doxytag="smartmedia_shared.hch::SMARTMEDIA_ADDRESS_GRAPHMASK_END"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define SMARTMEDIA_ADDRESS_GRAPHMASK_END (SMARTMEDIA_ADDRESS_GRAPHMASK_START +(SIZE_GRAPHMASK *3)) </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00055">55</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a20" doxytag="smartmedia_shared.hch::SMARTMEDIA_ADDRESS_PRESET_DEMO_END"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define SMARTMEDIA_ADDRESS_PRESET_DEMO_END (SMARTMEDIA_ADDRESS_PRESET_DEMO_START +(SIZE_PRESET)) </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00057">57</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a21" doxytag="smartmedia_shared.hch::SMARTMEDIA_ADDRESS_PRESET_RESET_END"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define SMARTMEDIA_ADDRESS_PRESET_RESET_END (SMARTMEDIA_ADDRESS_PRESET_RESET_START +(SIZE_PRESET)) </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00058">58</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a22" doxytag="smartmedia_shared.hch::ADDRESS_SKIN_START"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define ADDRESS_SKIN_START 0x000000 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00060">60</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="a23" doxytag="smartmedia_shared.hch::ADDRESS_SKIN_END"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define ADDRESS_SKIN_END (ADDRESS_SKIN_START +SIZE_SKIN) </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00061">61</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a24" doxytag="smartmedia_shared.hch::ADDRESS_HELP_START"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define ADDRESS_HELP_START 0x04b000 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00063">63</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. -<p> -Referenced by <a class="el" href="smartmedia_8hcc-source.html#l00072">smartmedia_loaddata()</a>. </td> - </tr> -</table> -<a class="anchor" name="a25" doxytag="smartmedia_shared.hch::ADDRESS_HELP_END"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define ADDRESS_HELP_END (ADDRESS_HELP_START +SIZE_HELP) </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00064">64</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a26" doxytag="smartmedia_shared.hch::ADDRESS_GRAPHMASK_START"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define ADDRESS_GRAPHMASK_START 0x096000 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00066">66</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. -<p> -Referenced by <a class="el" href="smartmedia_8hcc-source.html#l00072">smartmedia_loaddata()</a>. </td> - </tr> -</table> -<a class="anchor" name="a27" doxytag="smartmedia_shared.hch::ADDRESS_GRAPHMASK_END"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define ADDRESS_GRAPHMASK_END (ADDRESS_GRAPHMASK_START +SIZE_GRAPH) </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00067">67</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a28" doxytag="smartmedia_shared.hch::ADDRESS_PRESET_DEMO_START"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define ADDRESS_PRESET_DEMO_START 0x0e1000 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00069">69</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. -<p> -Referenced by <a class="el" href="smartmedia_8hcc-source.html#l00072">smartmedia_loaddata()</a>. </td> - </tr> -</table> -<a class="anchor" name="a29" doxytag="smartmedia_shared.hch::ADDRESS_PRESET_DEMO_END"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define ADDRESS_PRESET_DEMO_END (ADDRESS_PRESET_DEMO_START +SIZE_PRESET) </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00070">70</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a30" doxytag="smartmedia_shared.hch::ADDRESS_PRESET_RESET_START"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define ADDRESS_PRESET_RESET_START 0x0e11c0 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00072">72</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. -<p> -Referenced by <a class="el" href="smartmedia_8hcc-source.html#l00072">smartmedia_loaddata()</a>. </td> - </tr> -</table> -<a class="anchor" name="a31" doxytag="smartmedia_shared.hch::ADDRESS_PRESET_RESET_END"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define ADDRESS_PRESET_RESET_END (ADDRESS_PRESET_RESET_START +SIZE_PRESET) </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="smartmedia__shared_8hch-source.html#l00073">73</a> of file <a class="el" href="smartmedia__shared_8hch-source.html">smartmedia_shared.hch</a>. -<p> -Referenced by <a class="el" href="smartmedia_8hcc-source.html#l00072">smartmedia_loaddata()</a>. </td> - </tr> -</table> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:08 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/smartmedia__shared_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/smartmedia__shared_8hch__dep__incl.map deleted file mode 100644 index 010c863..0000000 --- a/Graphic_Equalizer/doc/html/smartmedia__shared_8hch__dep__incl.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $display_8hcc.html 7,7 95,34 -rect $smartmedia_8hcc.html 119,7 237,34 diff --git a/Graphic_Equalizer/doc/html/smartmedia__shared_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/smartmedia__shared_8hch__dep__incl.md5 deleted file mode 100644 index b1d0df9..0000000 --- a/Graphic_Equalizer/doc/html/smartmedia__shared_8hch__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -cc243b4bbcc02c0ce51bf569d27b4250
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/smartmedia__shared_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/smartmedia__shared_8hch__dep__incl.png Binary files differdeleted file mode 100644 index ddc355c..0000000 --- a/Graphic_Equalizer/doc/html/smartmedia__shared_8hch__dep__incl.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/structaudiodata__t.html b/Graphic_Equalizer/doc/html/structaudiodata__t.html deleted file mode 100644 index 5c3b5fd..0000000 --- a/Graphic_Equalizer/doc/html/structaudiodata__t.html +++ /dev/null @@ -1,77 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: audiodata_t Struct Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<h1>audiodata_t Struct Reference</h1><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned * </td><td class="memItemRight" valign="bottom"><a class="el" href="structaudiodata__t.html#o0">equalizer_levels_ptr</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="structaudiodata__t.html#o1">display_log</a></td></tr> - -</table> -<hr><h2>Field Documentation</h2> -<a class="anchor" name="o0" doxytag="audiodata_t::equalizer_levels_ptr"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">unsigned* <a class="el" href="structaudiodata__t.html#o0">audiodata_t::equalizer_levels_ptr</a> </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="audio_8hch-source.html#l00034">34</a> of file <a class="el" href="audio_8hch-source.html">audio.hch</a>. -<p> -Referenced by <a class="el" href="fft_8hcc-source.html#l00398">equalize_audio()</a>, and <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="o1" doxytag="audiodata_t::display_log"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">unsigned <a class="el" href="structaudiodata__t.html#o1">audiodata_t::display_log</a> </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="audio_8hch-source.html#l00035">35</a> of file <a class="el" href="audio_8hch-source.html">audio.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>, <a class="el" href="fft_8hcc-source.html#l00398">equalize_audio()</a>, and <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<hr>The documentation for this struct was generated from the following file:<ul> -<li>C:/Project Marcel & Oliver/Graphic_Equalizer/include/<a class="el" href="audio_8hch-source.html">audio.hch</a></ul> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:09 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/structevents__t.html b/Graphic_Equalizer/doc/html/structevents__t.html deleted file mode 100644 index 6f88ff4..0000000 --- a/Graphic_Equalizer/doc/html/structevents__t.html +++ /dev/null @@ -1,222 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: events_t Struct Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<h1>events_t Struct Reference</h1><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">ram unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="structevents__t.html#o0">equalizer_display</a> [128]</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="structevents__t.html#o1">active_preset</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="structevents__t.html#o2">volume_position</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="structevents__t.html#o3">mask</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="structevents__t.html#o4">mode</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="structevents__t.html#o5">equalizer_mode</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="structevents__t.html#o6">locked_display</a></td></tr> - -</table> -<hr><h2>Field Documentation</h2> -<a class="anchor" name="o0" doxytag="events_t::equalizer_display"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">ram unsigned <a class="el" href="structevents__t.html#o0">events_t::equalizer_display</a>[128] </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="eventhandler__shared_8hch-source.html#l00030">30</a> of file <a class="el" href="eventhandler__shared_8hch-source.html">eventhandler_shared.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>, <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>, and <a class="el" href="display_8hcc-source.html#l00328">reload_equalizer()</a>. </td> - </tr> -</table> -<a class="anchor" name="o1" doxytag="events_t::active_preset"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">unsigned <a class="el" href="structevents__t.html#o1">events_t::active_preset</a> </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="eventhandler__shared_8hch-source.html#l00031">31</a> of file <a class="el" href="eventhandler__shared_8hch-source.html">eventhandler_shared.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>, and <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="o2" doxytag="events_t::volume_position"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">unsigned <a class="el" href="structevents__t.html#o2">events_t::volume_position</a> </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="eventhandler__shared_8hch-source.html#l00032">32</a> of file <a class="el" href="eventhandler__shared_8hch-source.html">eventhandler_shared.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>, and <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="o3" doxytag="events_t::mask"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">unsigned <a class="el" href="structevents__t.html#o3">events_t::mask</a> </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="eventhandler__shared_8hch-source.html#l00033">33</a> of file <a class="el" href="eventhandler__shared_8hch-source.html">eventhandler_shared.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>, and <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="o4" doxytag="events_t::mode"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">unsigned <a class="el" href="structevents__t.html#o4">events_t::mode</a> </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="eventhandler__shared_8hch-source.html#l00034">34</a> of file <a class="el" href="eventhandler__shared_8hch-source.html">eventhandler_shared.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>, and <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="o5" doxytag="events_t::equalizer_mode"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">unsigned <a class="el" href="structevents__t.html#o5">events_t::equalizer_mode</a> </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="eventhandler__shared_8hch-source.html#l00035">35</a> of file <a class="el" href="eventhandler__shared_8hch-source.html">eventhandler_shared.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>, and <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="o6" doxytag="events_t::locked_display"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">unsigned <a class="el" href="structevents__t.html#o6">events_t::locked_display</a> </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="eventhandler__shared_8hch-source.html#l00036">36</a> of file <a class="el" href="eventhandler__shared_8hch-source.html">eventhandler_shared.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>, <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>, and <a class="el" href="display_8hcc-source.html#l00328">reload_equalizer()</a>. </td> - </tr> -</table> -<hr>The documentation for this struct was generated from the following file:<ul> -<li>C:/Project Marcel & Oliver/Graphic_Equalizer/include/<a class="el" href="eventhandler__shared_8hch-source.html">eventhandler_shared.hch</a></ul> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:09 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/structmousedata__t.html b/Graphic_Equalizer/doc/html/structmousedata__t.html deleted file mode 100644 index 675c18a..0000000 --- a/Graphic_Equalizer/doc/html/structmousedata__t.html +++ /dev/null @@ -1,135 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: mousedata_t Struct Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<h1>mousedata_t Struct Reference</h1><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="structmousedata__t.html#o0">x</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="structmousedata__t.html#o1">y</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="structmousedata__t.html#o2">state</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="structmousedata__t.html#o3">status</a></td></tr> - -</table> -<hr><h2>Field Documentation</h2> -<a class="anchor" name="o0" doxytag="mousedata_t::x"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">unsigned <a class="el" href="structmousedata__t.html#o0">mousedata_t::x</a> </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="mouse__shared_8hch-source.html#l00028">28</a> of file <a class="el" href="mouse__shared_8hch-source.html">mouse_shared.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>, and <a class="el" href="mouse_8hcc-source.html#l00048">mouse_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="o1" doxytag="mousedata_t::y"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">unsigned <a class="el" href="structmousedata__t.html#o1">mousedata_t::y</a> </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="mouse__shared_8hch-source.html#l00028">28</a> of file <a class="el" href="mouse__shared_8hch-source.html">mouse_shared.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>, <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>, and <a class="el" href="mouse_8hcc-source.html#l00048">mouse_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="o2" doxytag="mousedata_t::state"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">unsigned <a class="el" href="structmousedata__t.html#o2">mousedata_t::state</a> </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="mouse__shared_8hch-source.html#l00029">29</a> of file <a class="el" href="mouse__shared_8hch-source.html">mouse_shared.hch</a>. -<p> -Referenced by <a class="el" href="eventhandler_8hcc-source.html#l00059">eventhandler_main()</a>, and <a class="el" href="mouse_8hcc-source.html#l00048">mouse_main()</a>. </td> - </tr> -</table> -<a class="anchor" name="o3" doxytag="mousedata_t::status"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">unsigned <a class="el" href="structmousedata__t.html#o3">mousedata_t::status</a> </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="mouse__shared_8hch-source.html#l00030">30</a> of file <a class="el" href="mouse__shared_8hch-source.html">mouse_shared.hch</a>. -<p> -Referenced by <a class="el" href="display_8hcc-source.html#l00065">display_main()</a>, and <a class="el" href="mouse_8hcc-source.html#l00048">mouse_main()</a>. </td> - </tr> -</table> -<hr>The documentation for this struct was generated from the following file:<ul> -<li>C:/Project Marcel & Oliver/Graphic_Equalizer/include/<a class="el" href="mouse__shared_8hch-source.html">mouse_shared.hch</a></ul> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:09 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/structskindata__t.html b/Graphic_Equalizer/doc/html/structskindata__t.html deleted file mode 100644 index 2ae74df..0000000 --- a/Graphic_Equalizer/doc/html/structskindata__t.html +++ /dev/null @@ -1,139 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: skindata_t Struct Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<h1>skindata_t Struct Reference</h1>This struct contains all area- dimensions and color information for the skin. -<a href="#_details">More...</a> -<p> -Collaboration diagram for skindata_t:<p><center><img src="structskindata__t__coll__graph.png" border="0" usemap="#skindata__t__coll__map" alt="Collaboration graph"></center> -<map name="skindata__t__coll__map"> -<area href="structskindata__t_1_1skin__info__t.html" shape="rect" coords="8,8,162,168" alt=""> -</map> -<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structskindata__t_1_1skin__info__t.html">skin_info_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structskindata__t.html#o0">waveform</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structskindata__t_1_1skin__info__t.html">skin_info_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structskindata__t.html#o1">spectrum</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structskindata__t_1_1skin__info__t.html">skin_info_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structskindata__t.html#o2">volume</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structskindata__t_1_1skin__info__t.html">skin_info_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structskindata__t.html#o3">equalizer</a></td></tr> - -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -This struct contains all area- dimensions and color information for the skin. -<p> - -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00029">29</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>.<hr><h2>Field Documentation</h2> -<a class="anchor" name="o0" doxytag="skindata_t::waveform"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">struct <a class="el" href="structskindata__t_1_1skin__info__t.html">skin_info_t</a> <a class="el" href="structskindata__t.html#o0">skindata_t::waveform</a> </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -We store all information about the waveform area here. -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00042">42</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="o1" doxytag="skindata_t::spectrum"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">struct <a class="el" href="structskindata__t_1_1skin__info__t.html">skin_info_t</a> <a class="el" href="structskindata__t.html#o1">skindata_t::spectrum</a> </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -We store all information about the spectrum analyzer area here. -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00043">43</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="o2" doxytag="skindata_t::volume"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">struct <a class="el" href="structskindata__t_1_1skin__info__t.html">skin_info_t</a> <a class="el" href="structskindata__t.html#o2">skindata_t::volume</a> </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -We store all information about the volume control area here. -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00044">44</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="o3" doxytag="skindata_t::equalizer"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">struct <a class="el" href="structskindata__t_1_1skin__info__t.html">skin_info_t</a> <a class="el" href="structskindata__t.html#o3">skindata_t::equalizer</a> </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -We store all information about the equalizerbars here. -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00045">45</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. </td> - </tr> -</table> -<hr>The documentation for this struct was generated from the following file:<ul> -<li>C:/Project Marcel & Oliver/Graphic_Equalizer/include/<a class="el" href="display__shared_8hch-source.html">display_shared.hch</a></ul> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:09 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/structskindata__t_1_1skin__info__t.html b/Graphic_Equalizer/doc/html/structskindata__t_1_1skin__info__t.html deleted file mode 100644 index 42de9e3..0000000 --- a/Graphic_Equalizer/doc/html/structskindata__t_1_1skin__info__t.html +++ /dev/null @@ -1,189 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: skindata_t::skin_info_t Struct Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<h1>skindata_t::skin_info_t Struct Reference</h1>Structure containing the four boundry limits of an area and maximal two colors per area. -<a href="#_details">More...</a> -<p> -<table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="structskindata__t_1_1skin__info__t.html#o0">area_bottom</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="structskindata__t_1_1skin__info__t.html#o1">area_top</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="structskindata__t_1_1skin__info__t.html#o2">area_left</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="structskindata__t_1_1skin__info__t.html#o3">area_right</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="structskindata__t_1_1skin__info__t.html#o4">color_primary</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="structskindata__t_1_1skin__info__t.html#o5">color_secondary</a></td></tr> - -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -Structure containing the four boundry limits of an area and maximal two colors per area. -<p> - -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00034">34</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>.<hr><h2>Field Documentation</h2> -<a class="anchor" name="o0" doxytag="skindata_t::skin_info_t::area_bottom"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">unsigned <a class="el" href="structskindata__t_1_1skin__info__t.html#o0">skindata_t::skin_info_t::area_bottom</a> </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -lowest point registerd in the area -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00035">35</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="o1" doxytag="skindata_t::skin_info_t::area_top"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">unsigned <a class="el" href="structskindata__t_1_1skin__info__t.html#o1">skindata_t::skin_info_t::area_top</a> </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -highest point registerd in the area -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00036">36</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="o2" doxytag="skindata_t::skin_info_t::area_left"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">unsigned <a class="el" href="structskindata__t_1_1skin__info__t.html#o2">skindata_t::skin_info_t::area_left</a> </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -leftmost point registerd in the area -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00037">37</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="o3" doxytag="skindata_t::skin_info_t::area_right"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">unsigned <a class="el" href="structskindata__t_1_1skin__info__t.html#o3">skindata_t::skin_info_t::area_right</a> </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -rightmost point registerd in the area -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00038">38</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="o4" doxytag="skindata_t::skin_info_t::color_primary"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">unsigned <a class="el" href="structskindata__t_1_1skin__info__t.html#o4">skindata_t::skin_info_t::color_primary</a> </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -primary color for this area -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00039">39</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="o5" doxytag="skindata_t::skin_info_t::color_secondary"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">unsigned <a class="el" href="structskindata__t_1_1skin__info__t.html#o5">skindata_t::skin_info_t::color_secondary</a> </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> -optionally an area can have a second color -<p> -Definition at line <a class="el" href="display__shared_8hch-source.html#l00040">40</a> of file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>. </td> - </tr> -</table> -<hr>The documentation for this struct was generated from the following file:<ul> -<li>C:/Project Marcel & Oliver/Graphic_Equalizer/include/<a class="el" href="display__shared_8hch-source.html">display_shared.hch</a></ul> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:09 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/structskindata__t__coll__graph.map b/Graphic_Equalizer/doc/html/structskindata__t__coll__graph.map deleted file mode 100644 index c8bb9b0..0000000 --- a/Graphic_Equalizer/doc/html/structskindata__t__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $structskindata__t_1_1skin__info__t.html 8,8 162,168 diff --git a/Graphic_Equalizer/doc/html/structskindata__t__coll__graph.md5 b/Graphic_Equalizer/doc/html/structskindata__t__coll__graph.md5 deleted file mode 100644 index 87c2419..0000000 --- a/Graphic_Equalizer/doc/html/structskindata__t__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -577445d3608b8ce3a5b31a17d5e2c760
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/structskindata__t__coll__graph.png b/Graphic_Equalizer/doc/html/structskindata__t__coll__graph.png Binary files differdeleted file mode 100644 index d949888..0000000 --- a/Graphic_Equalizer/doc/html/structskindata__t__coll__graph.png +++ /dev/null diff --git a/Graphic_Equalizer/doc/html/tree.html b/Graphic_Equalizer/doc/html/tree.html deleted file mode 100644 index 60c70e1..0000000 --- a/Graphic_Equalizer/doc/html/tree.html +++ /dev/null @@ -1,200 +0,0 @@ -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - <head> - <meta http-equiv="Content-Type" content="text/xhtml;charset="iso-8859-1" /> - <meta http-equiv="Content-Style-Type" content="text/css" /> - <meta http-equiv="Content-Language" content="en" /> - <link rel="stylesheet" href="doxygen.css"> - <title>TreeView</title> - <style type="text/css"> - <!-- - .directory { font-size: 10pt; font-weight: bold; } - .directory h3 { margin: 0px; margin-top: 1em; font-size: 11pt; } - .directory p { margin: 0px; white-space: nowrap; } - .directory div { display: none; margin: 0px; } - .directory img { vertical-align: middle; } - --> - </style> - <script type="text/javascript"> - <!-- // Hide script from old browsers - - function findChildNode(node, name) - { - var temp; - if (node == null) - { - return null; - } - node = node.firstChild; - while (node != null) - { - if (node.nodeName == name) - { - return node; - } - temp = findChildNode(node, name); - if (temp != null) - { - return temp; - } - node = node.nextSibling; - } - return null; - } - - function toggleFolder(id, imageNode) - { - var folder = document.getElementById(id); - var l = 0; - var vl = "ftv2vertline.png"; - if (imageNode != null && imageNode.nodeName != "IMG") - { - imageNode = findChildNode(imageNode, "IMG"); - if (imageNode!=null) l = imageNode.src.length; - } - if (folder == null) - { - } - else if (folder.style.display == "block") - { - while (imageNode != null && - imageNode.src.substring(l-vl.length,l) == vl) - { - imageNode = imageNode.nextSibling; - l = imageNode.src.length; - } - if (imageNode != null) - { - l = imageNode.src.length; - imageNode.nextSibling.src = "ftv2folderclosed.png"; - if (imageNode.src.substring(l-13,l) == "ftv2mnode.png") - { - imageNode.src = "ftv2pnode.png"; - } - else if (imageNode.src.substring(l-17,l) == "ftv2mlastnode.png") - { - imageNode.src = "ftv2plastnode.png"; - } - } - folder.style.display = "none"; - } - else - { - while (imageNode != null && - imageNode.src.substring(l-vl.length,l) == vl) - { - imageNode = imageNode.nextSibling; - l = imageNode.src.length; - } - if (imageNode != null) - { - l = imageNode.src.length; - imageNode.nextSibling.src = "ftv2folderopen.png"; - if (imageNode.src.substring(l-13,l) == "ftv2pnode.png") - { - imageNode.src = "ftv2mnode.png"; - } - else if (imageNode.src.substring(l-17,l) == "ftv2plastnode.png") - { - imageNode.src = "ftv2mlastnode.png"; - } - } - folder.style.display = "block"; - } - } - - // End script hiding --> - </script> - </head> - - <body> - <div class="directory"> - <h3>Graphic Equalizer 2</h3> - <div style="display: block;"> - <p><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="main.html" target="basefrm">Main Page</a></p> - <p><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder1', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder1', this)"/><a class="el" href="files.html" target="basefrm">File List</a></p> - <div id="folder1"> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="audio_8hch.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/include/audio.hch</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="configuration_8hch.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/include/configuration.hch</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="display_8hch.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/include/display.hch</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="display__shared_8hch.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/include/display_shared.hch</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="eventhandler_8hch.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/include/eventhandler.hch</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="eventhandler__shared_8hch.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/include/eventhandler_shared.hch</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="events_8hch.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/include/events.hch</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="fft_8hch.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/include/fft.hch</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="mouse_8hch.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/include/mouse.hch</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="mouse__shared_8hch.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/include/mouse_shared.hch</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="runfft_8hch.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/include/runfft.hch</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="smartmedia_8hch.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/include/smartmedia.hch</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="smartmedia__shared_8hch.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/include/smartmedia_shared.hch</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="weights__256_8hch.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/include/weights_256.hch</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="audio_8hcc.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/src/audio.hcc</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="display_8hcc.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/src/display.hcc</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="eventhandler_8hcc.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/src/eventhandler.hcc</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="events_8hcc.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/src/events.hcc</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="fft_8hcc.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/src/fft.hcc</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="main_8hcc.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/src/main.hcc</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="mouse_8hcc.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/src/mouse.hcc</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="runfft_8hcc.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/src/runfft.hcc</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="smartmedia_8hcc.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/src/smartmedia.hcc</a></p> - </div> - <p><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder2', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder2', this)"/><a class="el" href="annotated.html" target="basefrm">Data Structures</a></p> - <div id="folder2"> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="structaudiodata__t.html" target="basefrm">audiodata_t</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="structevents__t.html" target="basefrm">events_t</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="structmousedata__t.html" target="basefrm">mousedata_t</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="structskindata__t.html" target="basefrm">skindata_t</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="structskindata__t_1_1skin__info__t.html" target="basefrm">skindata_t::skin_info_t</a></p> - </div> - <p><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="functions.html" target="basefrm">Data Fields</a></p> - <p><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder3', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder3', this)"/><a class="el" href="dirs.html" target="basefrm">Directories</a></p> - <div id="folder3"> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2plastnode.png" alt="\" width=16 height=22 onclick="toggleFolder('folder4', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder4', this)"/><a class="el" href="dir_000000.html" target="basefrm">C:</a></p> - <div id="folder4"> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2plastnode.png" alt="\" width=16 height=22 onclick="toggleFolder('folder5', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder5', this)"/><a class="el" href="dir_000001.html" target="basefrm">Project Marcel & Oliver</a></p> - <div id="folder5"> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2plastnode.png" alt="\" width=16 height=22 onclick="toggleFolder('folder6', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder6', this)"/><a class="el" href="dir_000002.html" target="basefrm">Graphic_Equalizer</a></p> - <div id="folder6"> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder7', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder7', this)"/><a class="el" href="dir_000003.html" target="basefrm">include</a></p> - <div id="folder7"> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2plastnode.png" alt="\" width=16 height=22 onclick="toggleFolder('folder8', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder8', this)"/><a class="el" href="dir_000003.html" target="basefrm">Files</a></p> - <div id="folder8"> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="audio_8hch.html" target="basefrm">audio.hch</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="configuration_8hch.html" target="basefrm">configuration.hch</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="display_8hch.html" target="basefrm">display.hch</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="display__shared_8hch.html" target="basefrm">display_shared.hch</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="eventhandler_8hch.html" target="basefrm">eventhandler.hch</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="eventhandler__shared_8hch.html" target="basefrm">eventhandler_shared.hch</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="events_8hch.html" target="basefrm">events.hch</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="fft_8hch.html" target="basefrm">fft.hch</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="mouse_8hch.html" target="basefrm">mouse.hch</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="mouse__shared_8hch.html" target="basefrm">mouse_shared.hch</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="runfft_8hch.html" target="basefrm">runfft.hch</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="smartmedia_8hch.html" target="basefrm">smartmedia.hch</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="smartmedia__shared_8hch.html" target="basefrm">smartmedia_shared.hch</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="weights__256_8hch.html" target="basefrm">weights_256.hch</a></p> - </div> - </div> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2plastnode.png" alt="\" width=16 height=22 onclick="toggleFolder('folder9', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder9', this)"/><a class="el" href="dir_000004.html" target="basefrm">src</a></p> - <div id="folder9"> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2plastnode.png" alt="\" width=16 height=22 onclick="toggleFolder('folder10', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder10', this)"/><a class="el" href="dir_000004.html" target="basefrm">Files</a></p> - <div id="folder10"> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="audio_8hcc.html" target="basefrm">audio.hcc</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="display_8hcc.html" target="basefrm">display.hcc</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="eventhandler_8hcc.html" target="basefrm">eventhandler.hcc</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="events_8hcc.html" target="basefrm">events.hcc</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="fft_8hcc.html" target="basefrm">fft.hcc</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="main_8hcc.html" target="basefrm">main.hcc</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="mouse_8hcc.html" target="basefrm">mouse.hcc</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="runfft_8hcc.html" target="basefrm">runfft.hcc</a></p> - <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2blank.png" alt=" " width=16 height=22 /><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="smartmedia_8hcc.html" target="basefrm">smartmedia.hcc</a></p> - </div> - </div> - </div> - </div> - </div> - </div> - <p><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="globals.html" target="basefrm">Globals</a></p> - </div> - </div> - </body> -</html> diff --git a/Graphic_Equalizer/doc/html/weights__256_8hch-source.html b/Graphic_Equalizer/doc/html/weights__256_8hch-source.html deleted file mode 100644 index e282ad2..0000000 --- a/Graphic_Equalizer/doc/html/weights__256_8hch-source.html +++ /dev/null @@ -1,278 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/include/weights_256.hch Source File</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>weights_256.hch</h1><a href="weights__256_8hch.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a><a class="code" href="weights__256_8hch.html#a0">00001</a> <span class="preprocessor">#define INTBITS 1</span> -<a name="l00002"></a><a class="code" href="weights__256_8hch.html#a1">00002</a> <span class="preprocessor"></span><span class="preprocessor">#define FRACBITS 14</span> -00003 <span class="preprocessor"></span> -<a name="l00004"></a><a class="code" href="weights__256_8hch.html#a2">00004</a> rom <span class="keywordtype">signed</span> 16 <a class="code" href="weights__256_8hch.html#a2">weight_re</a>[128] = { -00005 16384, -00006 16379, -00007 16364, -00008 16340, -00009 16305, -00010 16261, -00011 16207, -00012 16143, -00013 16069, -00014 15986, -00015 15893, -00016 15791, -00017 15679, -00018 15557, -00019 15426, -00020 15286, -00021 15137, -00022 14978, -00023 14811, -00024 14635, -00025 14449, -00026 14256, -00027 14053, -00028 13842, -00029 13623, -00030 13395, -00031 13160, -00032 12916, -00033 12665, -00034 12406, -00035 12140, -00036 11866, -00037 11585, -00038 11297, -00039 11003, -00040 10702, -00041 10394, -00042 10080, -00043 9760, -00044 9434, -00045 9102, -00046 8765, -00047 8423, -00048 8076, -00049 7723, -00050 7366, -00051 7005, -00052 6639, -00053 6270, -00054 5897, -00055 5520, -00056 5139, -00057 4756, -00058 4370, -00059 3981, -00060 3590, -00061 3196, -00062 2801, -00063 2404, -00064 2006, -00065 1606, -00066 1205, -00067 804, -00068 402, -00069 0, -00070 -402, -00071 -804, -00072 -1205, -00073 -1606, -00074 -2006, -00075 -2404, -00076 -2801, -00077 -3196, -00078 -3590, -00079 -3981, -00080 -4370, -00081 -4756, -00082 -5139, -00083 -5520, -00084 -5897, -00085 -6270, -00086 -6639, -00087 -7005, -00088 -7366, -00089 -7723, -00090 -8076, -00091 -8423, -00092 -8765, -00093 -9102, -00094 -9434, -00095 -9760, -00096 -10080, -00097 -10394, -00098 -10702, -00099 -11003, -00100 -11297, -00101 -11585, -00102 -11866, -00103 -12140, -00104 -12406, -00105 -12665, -00106 -12916, -00107 -13160, -00108 -13395, -00109 -13623, -00110 -13842, -00111 -14053, -00112 -14256, -00113 -14449, -00114 -14635, -00115 -14811, -00116 -14978, -00117 -15137, -00118 -15286, -00119 -15426, -00120 -15557, -00121 -15679, -00122 -15791, -00123 -15893, -00124 -15986, -00125 -16069, -00126 -16143, -00127 -16207, -00128 -16261, -00129 -16305, -00130 -16340, -00131 -16364, -00132 -16379 -00133 } with {block = <span class="stringliteral">"BlockRAM"</span>}; -00134 -<a name="l00135"></a><a class="code" href="weights__256_8hch.html#a3">00135</a> rom <span class="keywordtype">signed</span> 16 <a class="code" href="weights__256_8hch.html#a3">weight_im</a>[128] = { -00136 0, -00137 -402, -00138 -804, -00139 -1205, -00140 -1606, -00141 -2006, -00142 -2404, -00143 -2801, -00144 -3196, -00145 -3590, -00146 -3981, -00147 -4370, -00148 -4756, -00149 -5139, -00150 -5520, -00151 -5897, -00152 -6270, -00153 -6639, -00154 -7005, -00155 -7366, -00156 -7723, -00157 -8076, -00158 -8423, -00159 -8765, -00160 -9102, -00161 -9434, -00162 -9760, -00163 -10080, -00164 -10394, -00165 -10702, -00166 -11003, -00167 -11297, -00168 -11585, -00169 -11866, -00170 -12140, -00171 -12406, -00172 -12665, -00173 -12916, -00174 -13160, -00175 -13395, -00176 -13623, -00177 -13842, -00178 -14053, -00179 -14256, -00180 -14449, -00181 -14635, -00182 -14811, -00183 -14978, -00184 -15137, -00185 -15286, -00186 -15426, -00187 -15557, -00188 -15679, -00189 -15791, -00190 -15893, -00191 -15986, -00192 -16069, -00193 -16143, -00194 -16207, -00195 -16261, -00196 -16305, -00197 -16340, -00198 -16364, -00199 -16379, -00200 -16384, -00201 -16379, -00202 -16364, -00203 -16340, -00204 -16305, -00205 -16261, -00206 -16207, -00207 -16143, -00208 -16069, -00209 -15986, -00210 -15893, -00211 -15791, -00212 -15679, -00213 -15557, -00214 -15426, -00215 -15286, -00216 -15137, -00217 -14978, -00218 -14811, -00219 -14635, -00220 -14449, -00221 -14256, -00222 -14053, -00223 -13842, -00224 -13623, -00225 -13395, -00226 -13160, -00227 -12916, -00228 -12665, -00229 -12406, -00230 -12140, -00231 -11866, -00232 -11585, -00233 -11297, -00234 -11003, -00235 -10702, -00236 -10394, -00237 -10080, -00238 -9760, -00239 -9434, -00240 -9102, -00241 -8765, -00242 -8423, -00243 -8076, -00244 -7723, -00245 -7366, -00246 -7005, -00247 -6639, -00248 -6270, -00249 -5897, -00250 -5520, -00251 -5139, -00252 -4756, -00253 -4370, -00254 -3981, -00255 -3590, -00256 -3196, -00257 -2801, -00258 -2404, -00259 -2006, -00260 -1606, -00261 -1205, -00262 -804, -00263 -402, -00264 } with {block = <span class="stringliteral">"BlockRAM"</span>}; -</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:06 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/weights__256_8hch.html b/Graphic_Equalizer/doc/html/weights__256_8hch.html deleted file mode 100644 index f4f534e..0000000 --- a/Graphic_Equalizer/doc/html/weights__256_8hch.html +++ /dev/null @@ -1,141 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Graphic Equalizer 2: C:/Project Marcel & Oliver/Graphic_Equalizer/include/weights_256.hch File Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.3.9.1 --> -<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">C:</a> / <a class="el" href="dir_000001.html">Project Marcel & Oliver</a> / <a class="el" href="dir_000002.html">Graphic_Equalizer</a> / <a class="el" href="dir_000003.html">include</a></div> -<h1>weights_256.hch File Reference</h1> -<p> -This graph shows which files directly or indirectly include this file:<p><center><img src="weights__256_8hch__dep__incl.png" border="0" usemap="#weights_256.hchdep_map" alt="Included by dependency graph"></center> -<map name="weights_256.hchdep_map"> -<area href="fft_8hcc.html" shape="rect" coords="40,7,98,34" alt=""> -</map> - -<p> -<a href="weights__256_8hch-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Defines</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="weights__256_8hch.html#a0">INTBITS</a> 1</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="weights__256_8hch.html#a1">FRACBITS</a> 14</td></tr> - -<tr><td colspan="2"><br><h2>Variables</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">rom signed </td><td class="memItemRight" valign="bottom"><a class="el" href="weights__256_8hch.html#a2">weight_re</a> [128]</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">rom signed </td><td class="memItemRight" valign="bottom"><a class="el" href="weights__256_8hch.html#a3">weight_im</a> [128]</td></tr> - -</table> -<hr><h2>Define Documentation</h2> -<a class="anchor" name="a0" doxytag="weights_256.hch::INTBITS"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define INTBITS 1 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="weights__256_8hch-source.html#l00001">1</a> of file <a class="el" href="weights__256_8hch-source.html">weights_256.hch</a>. </td> - </tr> -</table> -<a class="anchor" name="a1" doxytag="weights_256.hch::FRACBITS"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">#define FRACBITS 14 </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="weights__256_8hch-source.html#l00002">2</a> of file <a class="el" href="weights__256_8hch-source.html">weights_256.hch</a>. </td> - </tr> -</table> -<hr><h2>Variable Documentation</h2> -<a class="anchor" name="a2" doxytag="weights_256.hch::weight_re"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">rom signed <a class="el" href="weights__256_8hch.html#a2">weight_re</a>[128] </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="weights__256_8hch-source.html#l00004">4</a> of file <a class="el" href="weights__256_8hch-source.html">weights_256.hch</a>. -<p> -Referenced by <a class="el" href="fft_8hcc-source.html#l00104">calculate_fft()</a>. </td> - </tr> -</table> -<a class="anchor" name="a3" doxytag="weights_256.hch::weight_im"></a><p> -<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> - <tr> - <td class="mdRow"> - <table cellpadding="0" cellspacing="0" border="0"> - <tr> - <td class="md" nowrap valign="top">rom signed <a class="el" href="weights__256_8hch.html#a3">weight_im</a>[128] </td> - </tr> - </table> - </td> - </tr> -</table> -<table cellspacing="5" cellpadding="0" border="0"> - <tr> - <td> - - </td> - <td> - -<p> - -<p> -Definition at line <a class="el" href="weights__256_8hch-source.html#l00135">135</a> of file <a class="el" href="weights__256_8hch-source.html">weights_256.hch</a>. -<p> -Referenced by <a class="el" href="fft_8hcc-source.html#l00104">calculate_fft()</a>. </td> - </tr> -</table> -<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:08 2004 for Graphic Equalizer 2 by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address> -</body> -</html> diff --git a/Graphic_Equalizer/doc/html/weights__256_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/weights__256_8hch__dep__incl.map deleted file mode 100644 index d753c47..0000000 --- a/Graphic_Equalizer/doc/html/weights__256_8hch__dep__incl.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $fft_8hcc.html 40,7 98,34 diff --git a/Graphic_Equalizer/doc/html/weights__256_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/weights__256_8hch__dep__incl.md5 deleted file mode 100644 index a2121ab..0000000 --- a/Graphic_Equalizer/doc/html/weights__256_8hch__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -109f72098a9f38fff30825084869cdf5
\ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/weights__256_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/weights__256_8hch__dep__incl.png Binary files differdeleted file mode 100644 index 223c4ed..0000000 --- a/Graphic_Equalizer/doc/html/weights__256_8hch__dep__incl.png +++ /dev/null diff --git a/Graphic_Equalizer/include/audio.hch b/Graphic_Equalizer/include/audio.hch deleted file mode 100644 index 988ef59..0000000 --- a/Graphic_Equalizer/include/audio.hch +++ /dev/null @@ -1,87 +0,0 @@ -/*! \file audio.hch
- *
- * \section generic Graphic Equalizer API
- *
- * \section project Project information.
- * Project Graphic Equalizer\n
- * \author O.M. Schinagl
- * \date 20041021
- * \version 0.1
- *
- * \section copyright Copyright
- * Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved
- *
- * \section history Change history
- * 20041021: O.M. Schinagl\n Initial version
- *
- ********************************************************************/
-
-#ifndef _AUDIO_HCH
-#define _AUDIO_HCH 1
-
-/*
- * Type definition of the shared memory to be used in various processes
- */
-typedef struct {
- mpram {
- ram unsigned 7 write[256];
- rom unsigned 7 read[256];
- } fft_info with { block = "BlockRAM"};
- mpram {
- ram unsigned 6 write[256];
- rom unsigned 6 read[256];
- } ifft_info with { block = "BlockRAM"};
- unsigned 4 *equalizer_levels_ptr;
- unsigned 1 display_log;
-} audiodata_t;
-
-
-
-
-/*
- * States used to indicate wether audio data is sampled.
- */
-#define AUDIO_NOT_READY 0
-#define AUDIO_READY 1
-
-
-
-/*
- * Line in or Mic in aliases for audio_init.
- */
-#define LINE_IN RC200AudioInLineIn
-#define MIC_IN RC200AudioInMicrophone
-
-
-
-/*
- * Sample Rate Aliases for audio_init.
- */
-#define SR_8000 RC200AudioSampleRate8000
-#define SR_11025 RC200AudioSampleRate11025
-#define SR_16000 RC200AudioSampleRate16000
-#define SR_22050 RC200AudioSampleRate22050
-#define SR_44100 RC200AudioSampleRate44100
-#define SR_48000 RC200AudioSampleRate48000
-
-
-
-/*
- * Initialize the Audio sub-system. gain_level sets the internal amplifier to
- * passed level, input_source chooses between line in or mic in. The
- * sample_rate is set to supplied rate. Defines for these are mentioned above.
- */
-macro proc audio_init(gain_level, input_source, sample_rate, AUDIOIN, AUDIOOUT);
-
-
-
-/*
- * Main audiodriver loop. This procedure never returns! It handles audio io and
- * updates the shared memory. It needs Audio I/O handlers passed.
- */
-macro proc audio_main(audiodata, AUDIOIN, AUDIOOUT);
-
-#else
-#error "ERROR file audio.hch multiple times included"
-#endif /* --- _AUDIO_HCH --- */
-
diff --git a/Graphic_Equalizer/include/configuration.hch b/Graphic_Equalizer/include/configuration.hch deleted file mode 100644 index 17c1b3f..0000000 --- a/Graphic_Equalizer/include/configuration.hch +++ /dev/null @@ -1,56 +0,0 @@ -/*! \file configuration.hch
- *
- * \section generic Configuration for the entire application
- *
- * \section project Project information.
- * Project Graphic Equalizer\n
- * \author O.M. Schinagl
- * \date 20041101
- * \version 0.1
- *
- * \section copyright Copyright
- * Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved
- *
- * \section history Change history
- * 20041101: O.M. Schinagl\n Initial version
- *
- ********************************************************************/
-
-#ifndef _CONFIGURATION_HCH
-#define _CONFIGURATION_HCH 1
-
-
-
-/*
- * To print debug information on the RS232 port set this define.
- */
-#define HAVE_DEBUG 0
-
-
-
-/*
- * If we don't want to use the SmartMedia set this to 0. Data is then read from
- * the ram, assuming it's there. Otherwise 1 will load the smartmedia
- * routines.
- */
-#define HAVE_SMARTMEDIA 0
-
-
-
-/*
- * FFT specific. TODO: Clean Up!
- */
-#define USE_RUNFFT 1
-#define HARDWARE_MULTIPLY 1
-#define PERFORM_FFT_CALCULATION 1
-#define USE_UNSIGNED_AUDIO 0
-
-/*
-FIXME: DK doesn't override from commandline defines. We have to therefore
- ignore this include guard until we can find around this.
-#else
-#error "ERROR file configuration.hch multiple times included"
-*/
-#endif /* --- _CONFIGURATION_HCH --- */
-
-
diff --git a/Graphic_Equalizer/include/display.hch b/Graphic_Equalizer/include/display.hch deleted file mode 100644 index af29b4f..0000000 --- a/Graphic_Equalizer/include/display.hch +++ /dev/null @@ -1,52 +0,0 @@ -/*! \file display.hch
- *
- * \section generic Display API
- *
- * \section project Project information.
- * Project Graphic Equalizer\n
- * \author
- * \date 20041011
- * \version 0.1
- *
- * \section copyright Copyright
- * Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved
- *
- * \section history Change history
- * 20041011: \n Initial version
- *
- ********************************************************************/
-
-#ifndef _DISPLAY_HCH
-#define _DISPLAY_HCH 1
-
-
-
-/*
- * Set the color for various items that will be drawn on screen.
- */
-#define PIXEL (pixeldata <- 24)
-#define PIXEL_VOLUME (0x2d74b5)
-#define PIXEL_EQUALIZER (0xc7541f)
-#define PIXEL_SPECTRUM ((((skindata->area_spectrum_bottom -(SCANY <- 10)) <<1) <- 8) @ 0x00 @ (((skindata->area_spectrum_bottom -(SCANY <- 10)) <<1) <- 8))
-#define PIXEL_WAVEFORM (0x2d74b5)
-
-
-
-/*
- * Main display loop. This function never returns! It handles display output.
- * It needs to respond to certain events set by the events pointer. Also it
- * informs events what the current mask is. To optain the current mask we need
- * the X and Y coordinates from our mousedata pointer.
- */
-void display_main(skindata_t *skindata, audiodata_t *audiodata, events_t *events, mousedata_t *mousedata);
-
-
-
-/*
- * reload equalizer bars into the display memory.
- */
-void reload_equalizer(events_t *events, unsigned 4 *equalizer_levels_ptr);
-
-#else
-#error "ERROR file display.hch multiple times included"
-#endif /* --- _DISPLAY_HCH --- */
diff --git a/Graphic_Equalizer/include/display_shared.hch b/Graphic_Equalizer/include/display_shared.hch deleted file mode 100644 index 11d6edc..0000000 --- a/Graphic_Equalizer/include/display_shared.hch +++ /dev/null @@ -1,80 +0,0 @@ -/*! \file display_shared.hch
- *
- * \brief Datastructures and defines for usage when interacting with the
- * display library.
- *
- * \section project Project information.
- * Graphic Equalizer 2\n
- * \author
- * \date 20041011
- * \version 0.1
- *
- * \section copyright Copyright
- * Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved
- *
- * \section history Change history
- * 20041011: \n Initial version
- *
- ********************************************************************/
-
-#ifndef _DISPLAY_SHARED_HCH
-#define _DISPLAY_SHARED_HCH 1
-
-
-
-/*! \struct skindata_t
- * \brief This struct contains all area- dimensions and color information
- * for the skin.
- */
-struct skindata_t {
- /*! \struct skin_info_t
- * \brief Structure containing the four boundry limits of an area and
- * maximal two colors per area.
- */
- struct skin_info_t {
- unsigned 10 area_bottom; /*!< lowest point registerd in the area */
- unsigned 10 area_top; /*!< highest point registerd in the area */
- unsigned 10 area_left; /*!< leftmost point registerd in the area */
- unsigned 10 area_right; /*!< rightmost point registerd in the area */
- unsigned 24 color_primary; /*!< primary color for this area */
- unsigned 24 color_secondary; /*!< optionally an area can have a second color */
- };
- struct skin_info_t waveform; /*!< We store all information about the waveform area here. */
- struct skin_info_t spectrum; /*!< We store all information about the spectrum analyzer area here. */
- struct skin_info_t volume; /*!< We store all information about the volume control area here. */
- struct skin_info_t equalizer; /*!< We store all information about the equalizerbars here. */
-};
-
-
-
-#define AREA_WAVEFORM 0x01 /*!< Waveform area. */
-#define AREA_VOLUME_YAXIS 0x02 /*!< Volume control on the Y plane. */
-#define AREA_SPECTRUM_ANALYZER 0x03 /*!< Spectrum Analyzer area. */
-
-#define BUTTON_LOG 0x04 /*!< Logarithmic display button. */
-#define BUTTON_DEMO 0x05 /*!< Demo preset button. */
-#define BUTTON_RESET 0x06 /*!< Reset presets button. */
-
-#define BUTTON_PRESET_1 0x07 /*!< Button for switching to preset 1 */
-#define BUTTON_PRESET_2 0x08 /*!< Button for switching to preset 2 */
-#define BUTTON_PRESET_3 0x09 /*!< Button for switching to preset 3 */
-#define BUTTON_PRESET_4 0x0a /*!< Button for switching to preset 4 */
-#define BUTTON_PRESET_5 0x0b /*!< Button for switching to preset 5 */
-#define BUTTON_PRESET_6 0x0c /*!< Button for switching to preset 6 */
-
-#define BUTTON_CONVEX_FULL 0x0d /*!< / - \ 'Convex' mode Button*/
-#define BUTTON_CONVEX_HALF 0x0e /*!< /\ 'Convex' mode Button */
-#define BUTTON_PRECISE 0x0f /*!< | 'Precise' selection Button */
-#define BUTTON_CONCAVE_HALF 0x10 /*!< \/ 'Concave' mode Button */
-#define BUTTON_CONCAVE_FULL 0x11 /*!< \ _ / 'Concave' mode Button */
-
-#define BUTTON_HELP 0x12 /*!< Button to display help screen. */
-#define BUTTON_MODE 0x13 /*!< Button to change operation mode. */
-
-#define AREA_EQUALIZER_MIN 0x80 /*!< First bar of the Equalizer Area. */
-#define AREA_EQUALIZER_MAX 0xff /*!< Last bar of the Equalizer Area. */
-
-#else
-#error "ERROR file display_shared.hch multiple times included"
-#endif /* --- _DISPLAY_SHARED_HCH --- */
-
diff --git a/Graphic_Equalizer/include/eventhandler.hch b/Graphic_Equalizer/include/eventhandler.hch deleted file mode 100644 index 0f3eca9..0000000 --- a/Graphic_Equalizer/include/eventhandler.hch +++ /dev/null @@ -1,39 +0,0 @@ -/*! \file eventhandler.hch
- *
- * \section generic SmartMedia API
- *
- * \section project Project information.
- * Project Graphic Equalizer\n
- * \author O.M. Schinagl
- * \date 20041110
- * \version 0.1
- *
- * \section copyright Copyright
- * Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved
- *
- * \section history Change history
- * 20041110: O.M. Schinagl\n Initial version
- *
- ********************************************************************/
-
-#ifndef _EVENTHANDLER_HCH
-#define _EVENTHANDLER_HCH 1
-
-
-
-#define LOAD_PRESET_RESET 0x000
-#define LOAD_PRESET_DEMO 0x180
-
-
-
-/*
- * This is the main eventhandler loop. We require pointers to the event struct
- * to store actions to be performed and a mousedata pointer so that we know on
- * what mousestate to respond. We never returns!
- */
-void eventhandler_main(audiodata_t *audiodata, events_t *events, mousedata_t *mousedata);
-
-#else
-#error "ERROR file eventhandler.hch multiple times included"
-#endif /* --- _EVENTHANDLER_HCH --- */
-
diff --git a/Graphic_Equalizer/include/eventhandler_shared.hch b/Graphic_Equalizer/include/eventhandler_shared.hch deleted file mode 100644 index d21cff4..0000000 --- a/Graphic_Equalizer/include/eventhandler_shared.hch +++ /dev/null @@ -1,71 +0,0 @@ -/*! \file eventhandler_shared.hch
- *
- * \section generic Shared definitions etc. for eveents.
- *
- * \section project Project information.
- * Project Graphic Equalizer\n
- * \author O.M. Schinagl
- * \date 20041110
- * \version 0.1
- *
- * \section copyright Copyright
- * Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved
- *
- * \section history Change history
- * 20041110: O.M. Schinagl\n Initial version
- *
- *****************************************************************************/
-
-#ifndef _EVENTHANDLER_SHARED_HCH
-#define _EVENTHANDLER_SHARED_HCH 1
-
-
-
-/*** Data Types **********************/
-
-/*
- * Type definition of the shared memory to be used in various processes
- */
-typedef struct {
- ram unsigned 10 equalizer_display[128];
- unsigned 10 active_preset;
- unsigned 10 volume_position;
- unsigned 8 mask;
- unsigned 4 mode;
- unsigned 4 equalizer_mode;
- unsigned 1 locked_display;
-} events_t;
-
-
-#define MODE_SKIN 0x00
-#define MODE_HELP 0x01
-#define MODE_GRAPH 0x02
-
-
-
-#define EQUALIZERMODE_FULL 0x05
-#define EQUALIZERMODE_HALF 0x03
-#define EQUALIZERMODE_PRECISE 0x00
-
-
-/*
- * Volume Control lookuptable.
- * TODO: This table is now hardcoded. To ensure full skinability this table
- * should be dynamically loaded.
- */
-extern unsigned 5 volumecontrol_table[46];
-
-/*
- * Equalizer lookup tables.
- * TODO: This table is now hardcoded. To ensure full skinability this table
- * should be dynamically loaded.
- */
-extern unsigned 4 equalizer_table[640];
-extern unsigned 10 equalizer_table_inv[16];
-
-
-
-#else
-#error "ERROR file eventhandler_shared.hch multiple times included"
-#endif /* --- _EVENTHANDLER_SHARED_HCH --- */
-
diff --git a/Graphic_Equalizer/include/events.hch b/Graphic_Equalizer/include/events.hch deleted file mode 100644 index 885e89f..0000000 --- a/Graphic_Equalizer/include/events.hch +++ /dev/null @@ -1,33 +0,0 @@ -/*! \file events.hch
- *
- * \section generic This module contains the various actions and events
- * that need to be performed.
- *
- * \section project Project information.
- * Project Graphic Equalizer\n
- * \author O.M. Schinagl
- * \date 20041710
- * \version 0.1
- *
- * \section copyright Copyright
- * Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved
- *
- * \section history Change history
- * 20041710: O.M. Schinagl\n Initial version
- *
- ******************************************************************************/
-
-#ifndef _EVENTS_HCH
-#define _EVENTS_HCH 1
-
-
-
-/*
- * This function loads 768 4bits presets into the equalizer_levels array
- * pointed to by equalizer_levels.
- */
-void load_preset(unsigned 10 preset, unsigned 4 *equalizer_levels_ptr);
-
-#else
-#error "ERROR file events.hch multiple times included"
-#endif /* --- _EVENTS_HCH --- */
diff --git a/Graphic_Equalizer/include/fft.hch b/Graphic_Equalizer/include/fft.hch deleted file mode 100644 index 635ea7b..0000000 --- a/Graphic_Equalizer/include/fft.hch +++ /dev/null @@ -1,34 +0,0 @@ -#define NUMBER_OF_COLUMNS 8
-#define NUMBER_OF_POINTS (1<<NUMBER_OF_COLUMNS)
-#define NUMBER_OF_FREQUENCIES (NUMBER_OF_POINTS>>1)
-
-#if HARDWARE_MULTIPLY
-/*
- * This routine obtains the audio data from the audio I/O component and copies this
- * data to local arrays for calculating purposes, and calls the FFT algorithm.
-*/
-void perform_fft(signed 18 *pcm_audio);
-
-/* This routine calls the ifft algorithm and after completing that it obtains the
- * modified audio data and copies that to the output arrays of the audio I/O component.
- * Besides that it also fills the array used by the display routine for displaying the waveform.
-*/
-void perform_ifft(signed 18 *modified_audio ,unsigned 6 *ifft_info);
-#else
-/*
- * This routine obtains the audio data from the audio I/O component and copies this
- * data to local arrays for calculating purposes, and calls the FFT algorithm.
-*/
-void perform_fft(signed 16 *pcm_audio);
-
-/* This routine calls the ifft algorithm and after completing that it obtains the
- * modified audio data and copies that to the output arrays of the audio I/O component.
- * Besides that it also fills the array used by the display routine for displaying the waveform.
-*/
-void perform_ifft(signed 16 *modified_audio ,unsigned 6 *ifft_info);
-#endif
-
-/* This routine equalizes the frequencies derived by the FFT calculation,
- * according to the settings of the equalizer bars.
-*/
-void equalize_audio(audiodata_t *audiodata);
diff --git a/Graphic_Equalizer/include/mouse.hch b/Graphic_Equalizer/include/mouse.hch deleted file mode 100644 index ac26bbf..0000000 --- a/Graphic_Equalizer/include/mouse.hch +++ /dev/null @@ -1,41 +0,0 @@ -/*! \file mouse.hch
- *
- * \section generic Mousedriver API
- *
- * \section project Project information.
- * Project Graphic Equalizer\n
- * \author O.M. Schinagl
- * \date 20041011
- * \version 0.1
- *
- * \section copyright Copyright
- * Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved
- *
- * \section history Change history
- * 20041011: O.M. Schinagl\n Initial version
- *
- ********************************************************************/
-
-#ifndef _MOUSEDRIVER_HCH
-#define _MOUSEDRIVER_HCH 1
-
-
-
-/*
- * Create a define to keep API generic
- */
-#define MouseRun(ClockRate) RC200TouchScreenRun(ClockRate)
-
-
-
-/*
- * Main mousedriver loop. This procedure never returns! It handles mouse input,
- * updates the shared memory and notifies listeners. It requires a pointer to
- * a mousedata_t struct to store mouse information.
- */
-void mouse_main(mousedata_t *mousedata);
-
-#else
-#error "ERROR file mousedriver.hch multiple times included"
-#endif /* --- _MOUSEDRIVER_HCH --- */
-
diff --git a/Graphic_Equalizer/include/mouse_shared.hch b/Graphic_Equalizer/include/mouse_shared.hch deleted file mode 100644 index 09c5021..0000000 --- a/Graphic_Equalizer/include/mouse_shared.hch +++ /dev/null @@ -1,56 +0,0 @@ -/*! \file mouse_shared.hch
- *
- * \section generic Shared definitions etc.
- *
- * \section project Project information.
- * Project Graphic Equalizer\n
- * \author O.M. Schinagl
- * \date 20041011
- * \version 0.1
- *
- * \section copyright Copyright
- * Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved
- *
- * \section history Change history
- * 20041011: O.M. Schinagl\n Initial version
- *
- *****************************************************************************/
-
-#ifndef _MOUSEDRIVER_SHARED_HCH
-#define _MOUSEDRIVER_SHARED_HCH 1
-
-/*** Data Types **********************/
-
-/*
- * Type definition of the shared memory to be used in various processes
- */
-typedef struct {
- unsigned 10 x, y;
- unsigned 3 state;
- unsigned 1 status;
-} mousedata_t;
-
-
-
-/*
- * States used to identify wether mouse data is updated
- */
-#define MOUSE_NOT_UPDATED 0
-#define MOUSE_UPDATED 1
-
-
-
-/*
- * Set of Mouse States defines
- */
-#define MOUSE_STATE_UP 0
-#define MOUSE_STATE_ON_PRESS 1
-#define MOUSE_STATE_DOWN 2
-#define MOUSE_STATE_ON_RELEASE 3
-
-
-
-#else
-#error "ERROR file mousedriver_shared.hch multiple times included"
-#endif /* --- _MOUSEDRIVER_SHARED_HCH --- */
-
diff --git a/Graphic_Equalizer/include/runfft.hch b/Graphic_Equalizer/include/runfft.hch deleted file mode 100644 index d6f6ce0..0000000 --- a/Graphic_Equalizer/include/runfft.hch +++ /dev/null @@ -1 +0,0 @@ -extern macro proc RunFFT (AudioIn, AudioOut);
diff --git a/Graphic_Equalizer/include/smartmedia.hch b/Graphic_Equalizer/include/smartmedia.hch deleted file mode 100644 index 8cd87c0..0000000 --- a/Graphic_Equalizer/include/smartmedia.hch +++ /dev/null @@ -1,68 +0,0 @@ -/*! \file smartmedia.hch
- *
- * \section generic SmartMedia API
- *
- * \section project Project information.
- * Project Graphic Equalizer\n
- * \author O.M. Schinagl
- * \date 20041110
- * \version 0.1
- *
- * \section copyright Copyright
- * Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved
- *
- * \section history Change history
- * 20041110: O.M. Schinagl\n Initial version
- *
- ********************************************************************/
-
-#ifndef _SMARTMEDIA_HCH
-#define _SMARTMEDIA_HCH 1
-
-
-
-/*
- * SmartMedia functioncalls a bit to be set to either Read or Write. This
- * define should make life easier identifying which one is what.
- */
-#define READ 0
-#define WRITE 1
-
-
-
-/*
- * The different stages the smart media loaders knows.
- */
-#define STAGE_LOAD_SKIN 0x00
-#define STAGE_LOAD_HELP 0x01
-#define STAGE_LOAD_GRAPH 0x02
-#define STAGE_LOAD_PRESET 0x03
-
-
-
-/*
- * Create a define to keep API generic
- * FIXME: replace with PAL calls when avaiable.
- */
-#define CPLDRun(ClockRate) RC200CPLDRun(ClockRate)
-#define SmartMediaRun(ClockRate) RC200SmartMediaRun(ClockRate)
-
-
-
-/*
- * Initializes the smartmedia device.
- */
-
-unsigned 1 smartmedia_init(void);
-
-
-
-/*
- * This function loads the memory with data from the smartmedia card.
- */
-void smartmedia_loaddata(skindata_t *skindata);
-
-#else
-#error "ERROR file smartmedia.hch multiple times included"
-#endif /* --- _SMARTMEDIA_HCH --- */
-
diff --git a/Graphic_Equalizer/include/smartmedia_shared.hch b/Graphic_Equalizer/include/smartmedia_shared.hch deleted file mode 100644 index 33fdb0a..0000000 --- a/Graphic_Equalizer/include/smartmedia_shared.hch +++ /dev/null @@ -1,80 +0,0 @@ -/*! \file smartmedia_shared.hch
- *
- * \section generic SmartMedia Shared
- *
- * \section project Project information.
- * Project Graphic Equalizer\n
- * \author O.M. Schinagl
- * \date 20041202
- * \version 0.1
- *
- * \section copyright Copyright
- * Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved
- *
- * \section history Change history
- * 20041202: O.M. Schinagl\n Initial version
- *
- ********************************************************************/
-
-#ifndef _SMARTMEDIA_SHARED_HCH
-#define _SMARTMEDIA_SHARED_HCH 1
-
-
-
-/*
- * Here we set the various sizes of the data in use. Do not round this values
- * in anyway! For example, 640 pixels times 480 pixels is 307200 (4b000) pixels
- * total.
- */
-#define SIZE_SKIN 0x04afff
-#define SIZE_HELP 0x04afff
-#define SIZE_GRAPH 0x04afff
-#define SIZE_SKINMASK 0x018fff
-#define SIZE_HELPMASK 0x018fff
-#define SIZE_GRAPHMASK 0x018fff
-
-#define SIZE_PRESET 0x0001c0
-
-/*
- * Here we setup the start and end address for the various components.
- */
-
-#define SMARTMEDIA_ADDRESS_SKIN_START 0x084000 /* Block: 33 */
-#define SMARTMEDIA_ADDRESS_SKINMASK_START 0x168000 /* Block: 90 */
-#define SMARTMEDIA_ADDRESS_HELP_START 0x1b4000 /* Block: 109 */
-#define SMARTMEDIA_ADDRESS_HELPMASK_START 0x298000 /* Block: 166 */
-#define SMARTMEDIA_ADDRESS_GRAPHMASK_START 0x2e4000 /* Block: 185 */
-
-#define SMARTMEDIA_ADDRESS_PRESET_DEMO_START 0x330000 /* Block: 204 */
-#define SMARTMEDIA_ADDRESS_PRESET_RESET_START 0x334000 /* Block: 205 */
-
-#define SMARTMEDIA_ADDRESS_SKIN_END (SMARTMEDIA_ADDRESS_SKIN_START +(SIZE_SKIN *3))
-#define SMARTMEDIA_ADDRESS_SKINMASK_END (SMARTMEDIA_ADDRESS_SKINMASK_START +(SIZE_SKINMASK *3))
-#define SMARTMEDIA_ADDRESS_HELP_END (SMARTMEDIA_ADDRESS_HELP_START +(SIZE_HELP *3))
-#define SMARTMEDIA_ADDRESS_HELPMASK_END (SMARTMEDIA_ADDRESS_HELPMASK_START +(SIZE_HELPMASK *3))
-#define SMARTMEDIA_ADDRESS_GRAPHMASK_END (SMARTMEDIA_ADDRESS_GRAPHMASK_START +(SIZE_GRAPHMASK *3))
-
-#define SMARTMEDIA_ADDRESS_PRESET_DEMO_END (SMARTMEDIA_ADDRESS_PRESET_DEMO_START +(SIZE_PRESET))
-#define SMARTMEDIA_ADDRESS_PRESET_RESET_END (SMARTMEDIA_ADDRESS_PRESET_RESET_START +(SIZE_PRESET))
-
-#define ADDRESS_SKIN_START 0x000000
-#define ADDRESS_SKIN_END (ADDRESS_SKIN_START +SIZE_SKIN)
-
-#define ADDRESS_HELP_START 0x04b000
-#define ADDRESS_HELP_END (ADDRESS_HELP_START +SIZE_HELP)
-
-#define ADDRESS_GRAPHMASK_START 0x096000
-#define ADDRESS_GRAPHMASK_END (ADDRESS_GRAPHMASK_START +SIZE_GRAPH)
-
-#define ADDRESS_PRESET_DEMO_START 0x0e1000
-#define ADDRESS_PRESET_DEMO_END (ADDRESS_PRESET_DEMO_START +SIZE_PRESET)
-
-#define ADDRESS_PRESET_RESET_START 0x0e11c0
-#define ADDRESS_PRESET_RESET_END (ADDRESS_PRESET_RESET_START +SIZE_PRESET)
-
-
-
-#else
-#error "ERROR file smartmedia_shared.hch multiple times included"
-#endif /* --- _SMARTMEDIA_SHARED_HCH --- */
-
diff --git a/Graphic_Equalizer/include/weights_256.hch b/Graphic_Equalizer/include/weights_256.hch deleted file mode 100644 index f2f71ff..0000000 --- a/Graphic_Equalizer/include/weights_256.hch +++ /dev/null @@ -1,264 +0,0 @@ -#define INTBITS 1 -#define FRACBITS 14 - -rom signed 16 weight_re[128] = { - 16384, - 16379, - 16364, - 16340, - 16305, - 16261, - 16207, - 16143, - 16069, - 15986, - 15893, - 15791, - 15679, - 15557, - 15426, - 15286, - 15137, - 14978, - 14811, - 14635, - 14449, - 14256, - 14053, - 13842, - 13623, - 13395, - 13160, - 12916, - 12665, - 12406, - 12140, - 11866, - 11585, - 11297, - 11003, - 10702, - 10394, - 10080, - 9760, - 9434, - 9102, - 8765, - 8423, - 8076, - 7723, - 7366, - 7005, - 6639, - 6270, - 5897, - 5520, - 5139, - 4756, - 4370, - 3981, - 3590, - 3196, - 2801, - 2404, - 2006, - 1606, - 1205, - 804, - 402, - 0, - -402, - -804, - -1205, - -1606, - -2006, - -2404, - -2801, - -3196, - -3590, - -3981, - -4370, - -4756, - -5139, - -5520, - -5897, - -6270, - -6639, - -7005, - -7366, - -7723, - -8076, - -8423, - -8765, - -9102, - -9434, - -9760, - -10080, - -10394, - -10702, - -11003, - -11297, - -11585, - -11866, - -12140, - -12406, - -12665, - -12916, - -13160, - -13395, - -13623, - -13842, - -14053, - -14256, - -14449, - -14635, - -14811, - -14978, - -15137, - -15286, - -15426, - -15557, - -15679, - -15791, - -15893, - -15986, - -16069, - -16143, - -16207, - -16261, - -16305, - -16340, - -16364, - -16379 -} with {block = "BlockRAM"}; - -rom signed 16 weight_im[128] = { - 0, - -402, - -804, - -1205, - -1606, - -2006, - -2404, - -2801, - -3196, - -3590, - -3981, - -4370, - -4756, - -5139, - -5520, - -5897, - -6270, - -6639, - -7005, - -7366, - -7723, - -8076, - -8423, - -8765, - -9102, - -9434, - -9760, - -10080, - -10394, - -10702, - -11003, - -11297, - -11585, - -11866, - -12140, - -12406, - -12665, - -12916, - -13160, - -13395, - -13623, - -13842, - -14053, - -14256, - -14449, - -14635, - -14811, - -14978, - -15137, - -15286, - -15426, - -15557, - -15679, - -15791, - -15893, - -15986, - -16069, - -16143, - -16207, - -16261, - -16305, - -16340, - -16364, - -16379, - -16384, - -16379, - -16364, - -16340, - -16305, - -16261, - -16207, - -16143, - -16069, - -15986, - -15893, - -15791, - -15679, - -15557, - -15426, - -15286, - -15137, - -14978, - -14811, - -14635, - -14449, - -14256, - -14053, - -13842, - -13623, - -13395, - -13160, - -12916, - -12665, - -12406, - -12140, - -11866, - -11585, - -11297, - -11003, - -10702, - -10394, - -10080, - -9760, - -9434, - -9102, - -8765, - -8423, - -8076, - -7723, - -7366, - -7005, - -6639, - -6270, - -5897, - -5520, - -5139, - -4756, - -4370, - -3981, - -3590, - -3196, - -2801, - -2404, - -2006, - -1606, - -1205, - -804, - -402, -} with {block = "BlockRAM"}; diff --git a/Graphic_Equalizer/src/audio.hcc b/Graphic_Equalizer/src/audio.hcc deleted file mode 100644 index 91901e1..0000000 --- a/Graphic_Equalizer/src/audio.hcc +++ /dev/null @@ -1,102 +0,0 @@ -/*! @file audio.hcc
- *
- * @section generic Audio init and main loop
- *
- * @section project Project information.
- * Project Graphic Equalizer\n
- * @author O.M. Schinagl
- * @date 20041011
- * @version 0.1
- *
- * @section copyright Copyright
- * Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved
- *
- * @section history Change history
- * 20041011: \n Initial version
- *
- ********************************************************************/
-
-/******** System Includes *************/
-#include <stdlib.hch>
-
-#include "pal_master.hch"
-
-/******** Application Includes ********/
-#include "configuration.hch"
-#include "audio.hch"
-
-
-
-/*! \fn macro proc audio_init(gain_level, input_source, sample_rate, AUDIOIN, AUDIOOUT)
- *
- * \brief Set some inital values to the audio hardware.
- *
- * \param gain_level Set the input amplifier to this amplification
- * level.
- * \param input_source Choose between microphone input or linein
- * input.
- * \param sample_rate Set the sample rate between 8000
- * and 48000
- *
- * \return void
- * \retval void
- *
- */
-macro proc audio_init(gain_level, input_source, sample_rate, AUDIOIN, AUDIOOUT) {
- /*
- * We simply call the appropiate handlers and pass values along. We
- * Don't set the mute on input gain. We have volume control to do this.
- * Input and Output sampling rates are equal. We dont' need different
- * rates.
- */
- RC200AudioInSetGain(FALSE, gain_level, gain_level);
- RC200AudioInSetInput(input_source);
- PalAudioInSetSampleRate(AUDIOIN, sample_rate);
- PalAudioOutSetSampleRate(AUDIOOUT, sample_rate);
-} /* --- audio_init() --- */
-
-
-#if !USE_RUNFFT
-//TODO: put runfft here!
-/*! @fn macro proc audio_main(audiodata, AUDIOIN, AUDIOOUT);
- *
- * @brief Main audiodriver. This function never returns! It calls the
- * audiohandlers and stores samples into a global array. Once 64
- * Samples are collected it raises a signal AUDIO_READY to let
- * other processes know it's ready. We use quadruple buffering for
- * audio input and double buffering for audio output.
- *
- * @param *audiodata pointer to audio information structure.
- * @param AUDIOIN Audio Input Handler
- * @param AUDIOOUT Audio Output Handler
- *
- * @return Never Returns.
- * @retval void
- */
-macro proc audio_main(audiodata, AUDIOIN, AUDIOOUT) {
- /*
- * Determin the data width for the current platform.
- */
- macro expr IW = PalAudioInGetMaxDataWidthCT();
- macro expr OW = PalAudioOutGetMaxDataWidthCT();
-
- signed IW sample_left_in, sample_right_in;
- signed OW sample_left_out, sample_right_out;
-
- while (TRUE) {
- PalAudioInRead(AUDIOIN, &sample_left_in, &sample_right_in);
-
-/* par {
- sample_add(sample_left_in);
- sample_get(&sample_left_out);
- sample_right_out = sample_right_in;
- }
- if (rotate_samples()) {
- / *
- * 64 Samples have been processed, calculate.
- * /
- }
-*/ PalAudioOutWrite(AUDIOOUT, (signed OW)(sample_left_in @ 0), (signed OW)(sample_right_in @ 0));
- }
-} /* --- audio_main() --- */
-#endif
diff --git a/Graphic_Equalizer/src/display.hcc b/Graphic_Equalizer/src/display.hcc deleted file mode 100644 index 1aeb9d9..0000000 --- a/Graphic_Equalizer/src/display.hcc +++ /dev/null @@ -1,338 +0,0 @@ -/*! \file display.hcc
- *
- * \section generic Message build up information and more
- *
- * \section project Project information.
- * Project Graphic Equalizer\n
- * \author O.M. Schinagl
- * \date 20041011
- * \version 0.1
- *
- * \section copyright Copyright
- * Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved
- *
- * \section history Change history
- * 20041011: O.M. Schinagl\n Initial version
- *
- ********************************************************************/
-
-/*
- * Set the Clock rate for this domain. 25.175 Mhz is required for the Video output.
- */
-#define PAL_TARGET_CLOCK_RATE 25175000
-
-/******** System Includes *************/
-#include <stdlib.hch>
-
-#include "pal_master.hch"
-
-/******** Application Includes ********/
-#include "configuration.hch"
-#include "audio.hch"
-#include "eventhandler_shared.hch"
-#include "mouse_shared.hch"
-#include "smartmedia_shared.hch"
-#include "display_shared.hch"
-#include "display.hch"
-
-#if HAVE_DEBUG
- #include "debug.hch"
-#endif
-
-
-
-/*
- * Channel to notify others when new mousedata is available. If so
- * Then mousedata struct is updated with shared data.
- */
-chan unsigned 1 maskupdate_notification;
-
-
-
-/*! \fn void display_main(skindata_t *skindata, audiodata_t *audiodata, events_t *events, mousedata_t *mousedata)
- *
- * \brief This routine handles all drawing of pixels. It never returns!
- *
- * \param *skindata struct with all skin information.
- * \param *audiodata struct with (i)fft data to be drawn.
- * \param *events struct with all events.
- * \param *mousedata struct with coordinates to current.
- * X en Y.
- *
- * \return Never Returns.
- * \retval void
- */
-void display_main(skindata_t *skindata, audiodata_t *audiodata, events_t *events, mousedata_t *mousedata) {
- /*
- * Setup macro's RAM/Video handles and to coordinate pixel writing.
- */
- macro expr CLOCKRATE = PAL_ACTUAL_CLOCK_RATE;
- macro expr VIDEOOUT = PalVideoOutOptimalCT(CLOCKRATE);
- macro expr RAM_BANK0 = PalPL2RAMCT(0);
- macro expr DW = PalPL2RAMGetMaxDataWidthCT();
- macro expr AW = PalPL2RAMGetMaxAddressWidthCT();
- macro expr VISIBLEX = PalVideoOutGetVisibleX(VIDEOOUT, CLOCKRATE);
- macro expr TOTALX = PalVideoOutGetTotalX(VIDEOOUT, CLOCKRATE);
- macro expr TOTALY = PalVideoOutGetTotalY(VIDEOOUT);
- macro expr SCANX = PalVideoOutGetX(VIDEOOUT);
- macro expr SCANY = PalVideoOutGetY(VIDEOOUT);
-
- unsigned DW pixeldata;
- unsigned 24 visual_graph_color;
- unsigned AW address, address_offset;
-
-
-
- /*
- * If the passed button_state tells us the button is active, then we
- * the button is 'on' and we draw it inverted. Otherwise we draw the
- * area of the button normally.
- */
- macro proc draw_button(button_state) {
- if (button_state == pixeldata[31:24]) {
- PalVideoOutWrite(VIDEOOUT, ~PIXEL);
- } else {
- PalVideoOutWrite(VIDEOOUT, PIXEL);
- }
- }
-
- /*
- * Prime Rendering Pipeline to start where the skin starts.
- */
- PalPL2RAMSetReadAddress(RAM_BANK0, ADDRESS_SKIN_START);
-
- /*
- * Run the following tasks indefinatly and in parallel
- */
- while (TRUE) {
- par {
- /*
- * Before starting this loop we allready set the the
- * address. Therefor we can start reading the
- * previously set address and prepare the next address
- * for the next cycle.
- */
- PalPL2RAMRead(RAM_BANK0, &pixeldata);
- PalPL2RAMSetReadAddress(RAM_BANK0, address_offset +address);
-
- /*
- */
- switch (events->mode) {
- case MODE_HELP:
- address_offset = ADDRESS_HELP_START;
- break;
- case MODE_GRAPH:
- address_offset = ADDRESS_GRAPHMASK_START;
- break;
- default:
- address_offset = ADDRESS_SKIN_START;
- break;
- }
-
- if (MODE_GRAPH == events->mode) {
- par {
- visual_graph_color = ((unsigned 8)(0 @ audiodata->fft_info.read[pixeldata[31:24]]) << 1) @ ((unsigned 8)(0 @ audiodata->fft_info.read[pixeldata[31:24]]) << -1) @ ((unsigned 8)(0 @ audiodata->fft_info.read[pixeldata[31:24]]) << 0);
- PalVideoOutWrite(VIDEOOUT, 0 @ visual_graph_color);
- }
- } else {
- /*
- * Determin what to draw where here. Every case has an
- * if else statement comparing wether to draw something
- * special or the background. Every specific drawing
- * obviously only happens in the masked area.
- */
- switch (pixeldata[31:24]) {
- /*
- */
- case AREA_WAVEFORM:
- if (SCANY == 0 @ skindata->area_waveform_bottom -(0 @ (audiodata->ifft_info.read[((SCANX -(0 @ skindata->area_waveform_left)) <-8)]))) {
- PalVideoOutWrite(VIDEOOUT, skindata->color_area_waveform);
- } else {
- PalVideoOutWrite(VIDEOOUT, PIXEL);
- }
- break;
-
- /*
- * Volume control over the Y-axis.
- */
- case AREA_VOLUME_YAXIS:
- /*
- * The volume_position stores the
- * highest point of our bar. Every
- * pixel after this point is drawn.
- */
- if (SCANY >= 0 @ events->volume_position) {
- PalVideoOutWrite(VIDEOOUT, skindata->color_area_volume);
- } else {
- PalVideoOutWrite(VIDEOOUT, PIXEL);
- }
- break;
-
- /*
- * Spectrum Analyzer
- */
- case AREA_SPECTRUM_ANALYZER:
- /*
- * We draw every pixel that is smaller TODO
- */
- if ((SCANY >= (0 @ skindata->area_spectrum_bottom) -(0 @ audiodata->fft_info.read[(SCANX -(0 @ skindata->area_spectrum_left))[9:2]])) && ((SCANX -(0 @ skindata->area_spectrum_left)) <- 2)) {
- PalVideoOutWrite(VIDEOOUT, PIXEL_SPECTRUM);
- } else {
- PalVideoOutWrite(VIDEOOUT, PIXEL);
- }
- break;
-
- /*
- * Since all buttons are drawn equally, either
- * we draw them normally or we inverse them, we
- * can handle them almost equally.
- */
- case BUTTON_PRESET_1: /* fall through */
- case BUTTON_PRESET_2: /* fall through */
- case BUTTON_PRESET_3: /* fall through */
- case BUTTON_PRESET_4: /* fall through */
- case BUTTON_PRESET_5: /* fall through */
- case BUTTON_PRESET_6:
- /*
- * The active preset tells us what
- * button is currently enabled. We must
- * however not forget to add the preset
- * button offset to possibly match it
- * with the current mask.
- */
- draw_button((events->active_preset +BUTTON_PRESET_1) <- 8);
- break;
-
- case BUTTON_PRECISE: /* fall through */
- case BUTTON_CONCAVE_HALF: /* fall through */
- case BUTTON_CONVEX_HALF: /* fall through */
- case BUTTON_CONCAVE_FULL: /* fall through */
- case BUTTON_CONVEX_FULL:
- /*
- * equalizer mode tells us what button
- * is currently enabled. By adding the
- * equalizer mode button offset we can
- * safley check wether it matches our
- * mask.
- */
- draw_button((0 @ events->equalizer_mode) +BUTTON_PRECISE);
- break;
-
- case BUTTON_LOG:
- /*
- *
- */
- draw_button((0 @ audiodata->display_log) +BUTTON_LOG);
- break;
-
- /*
- * The default case is split up into two parts
- * actually. This is because we have 128 bands
- * for the equalizer and thus as many mask
- * entries. Since we don't want 128 identical
- * cases we check wether the equalizer mask is
- * currently active and if so draw it. If this
- * is not the case we simply draw the
- * background.
- */
- default:
- /* (pixeldata[31:24] <= AREA_EQUALIZER_MAX) && */
- if ((AREA_EQUALIZER_MIN <= pixeldata[31:24]) && (!events->locked_display)) {
- if ((SCANY == 0 @ events->equalizer_display[(pixeldata[31:24] -AREA_EQUALIZER_MIN) <- 7]) || ((SCANY +1) == 0 @ events->equalizer_display[(pixeldata[31:24] -AREA_EQUALIZER_MIN) <- 7])) {
- PalVideoOutWrite(VIDEOOUT, skindata->color_equalizer);
- } else {
- PalVideoOutWrite(VIDEOOUT, PIXEL);
- }
- } else {
- PalVideoOutWrite(VIDEOOUT, PIXEL);
- }
- break;
- }
- }
-
- /*
- * We compare our current X and Y scan positions of the
- * output to the x and y data of the mouse. When those
- * are equal we set the current mask to the mask stored
- * in memory at that location. We then know what mask
- * is to be used for events.
- */
- if (MOUSE_UPDATED == mousedata->status) {
- if ((SCANX == 0 @ mousedata->x) && (SCANY == 0 @ mousedata->y)) {
- par {
- events->mask = pixeldata[31:24];
- mousedata->status = MOUSE_NOT_UPDATED;
- maskupdate_notification ! MOUSE_UPDATED;
- }
- } else {
- delay;
- }
- } else {
- delay;
- }
-
- /*
- * The current position of the screen can lay in an
- * area called the blanking area. We don't have data
- * for this area as it is not drawn. We therefor have
- * to determin wether we are beyond the visible area of
- * the screen, but before the end of the total width of
- * the screen. Our pipeline consists of 5 total stages.
- * Therefor we have to substract 5 pixels.
- */
- if ((SCANX > (VISIBLEX - 5)) && (SCANX <= (TOTALX - 5))) {
- /*
- * We are in the blanking area of the screen.
- * If we are on the last line, and thus last
- * pixel we reset our address counter.
- */
- if (SCANY == (TOTALY -1)) {
- /*
- * Reset our draw address counter to 0.
- */
- address = 0;
- } else {
- /*
- * We have reached the end of the
- * visible line, but not the end of
- * the screen. Therefore do nothing.
- */
- delay;
- }
- } else {
- /*
- * Increase the memory counter for each pixel
- * drawn thus keeping the memory location in
- * sync with the current pixel position.
- */
- address++;
- }
- }
- }
-} /* --- display_main() --- */
-
-
-
-/*! \fn void reload_equalizer(events_t *events, unsigned 4 *equalizer_levels)
-
- * \brief This function copies the supplied equalizer values to the array
- * used for displaying equalizer data.
- *
- * \param *events events struct
- * \param *equalizer_levels pointer to 128 entries where equalizer
- * is to be copied from.
- *
- * \return void
- * \retval void
- */
-void reload_equalizer(events_t *events, unsigned 4 *equalizer_levels) {
- unsigned 7 equalizer_band;
-
- events->locked_display = TRUE;
- delay;
- do {
- events->equalizer_display[equalizer_band] = equalizer_table_inv[equalizer_levels[equalizer_band]];
- equalizer_band++;
- } while (equalizer_band);
- events->locked_display = FALSE;
-} /* --- reload_equalizer() --- */
diff --git a/Graphic_Equalizer/src/eventhandler.hcc b/Graphic_Equalizer/src/eventhandler.hcc deleted file mode 100644 index e1f90ae..0000000 --- a/Graphic_Equalizer/src/eventhandler.hcc +++ /dev/null @@ -1,315 +0,0 @@ -/*! \file eventhandler.hcc
- *
- * \section generic This modules coordinates all events. Thus for example
- * when the mousehandler registers a 'click' we coordinate
- * the actions that follow that click.
- *
- * \section project Project information.
- * Project Graphic Equalizer\n
- * \author O.M. Schinagl
- * \date 20041110
- * \version 0.1
- *
- * \section copyright Copyright
- * Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved
- *
- * \section history Change history
- * 20041110: O.M. Schinagl\n Initial version
- *
- ********************************************************************/
-
-/******** System Includes *************/
-#include <stdlib.hch>
-
-#include "pal_master.hch"
-
-/******** Application Includes ********/
-#include "configuration.hch"
-#include "audio.hch"
-#include "mouse_shared.hch"
-#include "eventhandler_shared.hch"
-#include "eventhandler.hch"
-#include "events.hch"
-#include "display_shared.hch"
-#include "display.hch"
-
-#if HAVE_DEBUG
- #include "debug.hch"
-#endif
-
-
-
-/*
- */
-extern chan unsigned 1 maskupdate_notification;
-
-
-
-/*! \fn void eventhandler_main(audiodata_t *audiodata, events_t *events, mousedata_t *mousedata);
- * \brief
- *
- * \param *audiodata pointer to struct for setting equalizer levels.
- * \param *events pointer to struct with all events for display states.
- * \param *mousedata pointer to struct with mouse data for X and Y
- * coordinates.
- *
- * \return Never Returns.
- * \retval void
- */
-void eventhandler_main(audiodata_t *audiodata, events_t *events, mousedata_t *mousedata) {
- mpram {
- ram unsigned 4 write[768];
- rom unsigned 4 read[768];
- } equalizer_levels with { block = "BlockRAM"};
-
- unsigned 10 preset_offset;
- unsigned 10 reference_point, reference_point_right;
- unsigned 5 volume_left;
- unsigned 4 index_offset, index_end;
- unsigned 4 equalizer_mode_local;
- unsigned 1 newmaskupdate;
-
- load_preset(LOAD_PRESET_RESET, equalizer_levels.write);
- reload_equalizer(events, &equalizer_levels.write[preset_offset]);
-
- while (TRUE) {
- maskupdate_notification ? newmaskupdate;
-
- /*
- * First we determine what mousestate we currently have. Then
- * we check where we are to decide what to do.
- */
- switch (mousedata->state) {
- case MOUSE_STATE_ON_PRESS:
- /*
- * If we are displaying the graphic visual,
- * any press returns to the application.
- */
- if (MODE_GRAPH == events->mode) {
- events->mode = MODE_SKIN;
- events->mask = 0;
- } else {
- delay;
- }
-
- /*
- */
- if (BUTTON_MODE == events->mask) {
- if (MODE_GRAPH == events->mode) {
- events->mode = MODE_SKIN;
- } else {
- events->mode = MODE_GRAPH;
- }
- } else {
- delay;
- }
-
- /*
- * If the current mask equals the help button
- * we set display mode to help.
- */
- if (BUTTON_HELP == events->mask) {
- /*
- * Change the mode to help if it's
- * currently not set, otherwise go back
- * to skin mode.
- */
- if (MODE_HELP == events->mode) {
- events->mode = MODE_SKIN;
- } else {
- events->mode = MODE_HELP;
- }
- } else {
- delay;
- }
-
- /*
- * The Preset buttons span from 1 to 6 so if
- * the mask one of those, we'll change the
- * pointer to point to the current preset.
- */
- if ((BUTTON_PRESET_1 <= events->mask) && (events->mask <= BUTTON_PRESET_6)) {
- /*
- * The active preset is determined by
- * the mask minus an offset. Hence
- * ranging our active preset from 0 to
- * 6.
- */
- events->active_preset = 0 @ (events->mask -BUTTON_PRESET_1);
- /*
- * Each equalizer is 128 bands wide,
- * thus we need to add 128 * the preset
- * for each different preset. This
- * offset is calculated here.
- */
- preset_offset = events->active_preset << 7;
- /*
- * We set the pointer to the active
- * part of the array by using the
- * preset offset as our index. Hence
- * depending on the selected preset
- * we point to 0, 128, 256, 384, 512
- * or 640.
- */
- audiodata->equalizer_levels_ptr = &equalizer_levels.read[preset_offset];
- /*
- * Finally update the equalizer bars
- * that are drawn by the display.
- */
- reload_equalizer(events, &equalizer_levels.write[preset_offset]);
- } else {
- delay;
- }
-
- if ((BUTTON_PRECISE <= events->mask) && (events->mask <= BUTTON_CONVEX_FULL)) {
- events->equalizer_mode = (events->mask -BUTTON_PRECISE) <-4;
- } else {
- delay;
- }
-
- /*
- * If the demo button was pressed load the
- * demo preset values into the presets.
- */
- if (BUTTON_DEMO == events->mask) {
- load_preset(LOAD_PRESET_DEMO, equalizer_levels.write);
- reload_equalizer(events, &equalizer_levels.write[preset_offset]);
- }
-
- /*
- * If the reset button was pressed load the
- * reset values into the presets.
- */
- if (BUTTON_RESET == events->mask) {
- load_preset(LOAD_PRESET_RESET, equalizer_levels.write);
- reload_equalizer(events, &equalizer_levels.write[preset_offset]);
- }
-
- /*
- * If the current mask equals the log button,
- * we flip the display_log bit.
- */
- if (BUTTON_LOG == events->mask) {
- audiodata->display_log = !audiodata->display_log;
- } else {
- delay;
- }
-
- break;
-
- case MOUSE_STATE_DOWN:
- /*
- * If we are in the volume area we update the
- * volume level for both channels.
- */
- if (AREA_VOLUME_YAXIS == events->mask) {
- /*
- * Copy the current Y cursor position
- * to the events struct. This we then
- * later use for drawing purposes.
- */
- events->volume_position = 0 @ mousedata->y;
- /*
- * Look the relative y-coordinate up in
- * the volumecontrol lookup table. We
- * make a local copy here because the
- * RC200 call doesn't behave nicely
- * when passing anything else.
- */
- volume_left = volumecontrol_table[((mousedata->y) -65) <- 6];
- /*
- * We feel that volume gets softer the
- * closer it gets to the 0, and louder
- * as it approaches 0x1f. The SetVolume
- * RC200 call does this in an unnatural
- * reverse way. Therefor we fix it.
- */
- RC200AudioOutSetVolume(!volume_left, 0x1f -volume_left, 0x1f -volume_left);
- } else {
- delay;
- }
-
- if ((AREA_EQUALIZER_MIN <= events->mask) && (events->mask <= AREA_EQUALIZER_MAX)) {
-
- if (EQUALIZERMODE_PRECISE == events->equalizer_mode) {
- events->locked_display = TRUE;
- equalizer_levels.write[preset_offset +(0 @ events->mask) -AREA_EQUALIZER_MIN] = equalizer_table[mousedata->y -382];
- events->equalizer_display[(events->mask -AREA_EQUALIZER_MIN) <- 7] = mousedata->y;
- events->locked_display = FALSE;
- } else {
-
- equalizer_mode_local = events->equalizer_mode +1;
-
- events->locked_display = TRUE;
- index_offset = ((equalizer_mode_local << 1)); /* delay; */
-
- if (events->mask < (AREA_EQUALIZER_MIN +(0 @ equalizer_mode_local))) {
- reference_point = events->equalizer_display[AREA_EQUALIZER_MIN -AREA_EQUALIZER_MIN];
- index_offset -= (((0 @ equalizer_mode_local) -(events->mask -AREA_EQUALIZER_MIN)) <- 4);
- } else {
- reference_point = events->equalizer_display[(events->mask - (0 @ equalizer_mode_local) -AREA_EQUALIZER_MIN) <- 7];
- index_offset -= 1;
- }
-
- if (events->mask > (AREA_EQUALIZER_MAX -(0 @ equalizer_mode_local))) {
- reference_point_right = events->equalizer_display[AREA_EQUALIZER_MAX -AREA_EQUALIZER_MIN];
- index_end = (((0 @ equalizer_mode_local) -(AREA_EQUALIZER_MAX -events->mask)) <- 4) -1;
- } else {
- reference_point_right = events->equalizer_display[(events->mask + (0 @ equalizer_mode_local) -AREA_EQUALIZER_MIN) <- 7];
- index_end = 0;
- }
- events->locked_display = FALSE;
-
- for (; index_offset != index_end; index_offset--) {
- unsigned 10 average_bar;
- unsigned 7 equalizer_index;
- unsigned 4 bar_index;
-
- if (index_offset == equalizer_mode_local) {
- reference_point = reference_point_right;
- } else {
- delay;
- }
-
- if (index_offset > equalizer_mode_local)
- {
- bar_index = (index_offset -equalizer_mode_local);
- equalizer_index = ((events->mask -(0 @ bar_index) -AREA_EQUALIZER_MIN) <- 7);
- } else
- {
- bar_index = (equalizer_mode_local -index_offset);
- equalizer_index = ((events->mask +(0 @ bar_index) -AREA_EQUALIZER_MIN) <- 7);
- }
-
- if (reference_point > mousedata->y) {
- average_bar = mousedata->y +((reference_point -mousedata->y) >> (equalizer_mode_local -bar_index));
- } else {
- average_bar = mousedata->y -((mousedata->y -reference_point) >> (equalizer_mode_local -bar_index));
- }
-
- events->locked_display = TRUE;
- equalizer_levels.write[preset_offset +(0 @ equalizer_index)] = equalizer_table[average_bar -382];
- events->equalizer_display[equalizer_index] = average_bar;
- events->locked_display = FALSE;
- }
- }
- } else {
- delay;
- }
-
- break;
-
- default:
- break;
- }
- }
-} /* --- eventhandler_main() --- */
-
-
-
-/*
- * Volume Control lookuptable.
- * TODO: This table is now hardcoded. To ensure full skinability this table
- * should be dynamically loaded.
- */
-rom unsigned 5 volumecontrol_table[46] = {31, 31, 30, 30, 29, 29, 28, 28, 27, 27, 26, 26, 25, 25, 24, 24, 23, 23, 22, 22, 21, 21, 20, 20, 19, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 0};
diff --git a/Graphic_Equalizer/src/events.hcc b/Graphic_Equalizer/src/events.hcc deleted file mode 100644 index 2e8c272..0000000 --- a/Graphic_Equalizer/src/events.hcc +++ /dev/null @@ -1,76 +0,0 @@ -/*! \file events.hcc
- *
- * \section generic This module contains the various actions and events
- * that need to be performed.
- *
- * \section project Project information.
- * Project Graphic Equalizer\n
- * \author O.M. Schinagl
- * \date 20041710
- * \version 0.1
- *
- * \section copyright Copyright
- * Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved
- *
- * \section history Change history
- * 20041710: O.M. Schinagl\n Initial version
- *
- *****************************************************************************/
-
-
-
-/******** System Includes *************/
-#include <stdlib.hch>
-
-#include "pal_master.hch"
-
-/******** Application Includes ********/
-#include "configuration.hch"
-#include "eventhandler_shared.hch"
-#include "events.hch"
-
-#if HAVE_DEBUG
- #include "debug.hch"
-#endif
-
-
-ram unsigned 8 presets_default_values[768] = {
-#include "presets_hardcoded.txt"
-};
-
-
-
-/*! \fn void load_preset(unsigned 10 preset, unsigned 4 *equalizer_levels_ptr);
- * \brief This function loads 768 4bits presets into the equalizer_levels
- * array pointed to by equalizer_levels.
- *
- * \param *equalizer_levels Location where to store presets loaded
- * from blockram.
- *
- * \return void
- * \retval void
- */
-void load_preset(unsigned 10 preset, unsigned 4 *equalizer_levels_ptr) {
- unsigned 10 equalizer_index;
- unsigned 4 temp;
-
- equalizer_index = 0;
- while (equalizer_index != 768) {
- temp = presets_default_values[preset +(0 @ (equalizer_index \\ 1))][7:4];
- equalizer_levels_ptr[equalizer_index] = temp;
- temp = presets_default_values[preset +(0 @ (equalizer_index \\ 1))][3:0];
- equalizer_levels_ptr[equalizer_index +1] = temp;
-
- equalizer_index += 2;
- }
-} /* --- load_preset() --- */
-
-
-
-/*
- * Equalizer lookuptabes.
- * TODO: This table is now hardcoded. To ensure full skinability this table
- * should be dynamically loaded.
- */
-ram unsigned 4 equalizer_table[640] = {15, 15, 15, 15, 15, 14, 14, 14, 14, 13, 13, 13, 13, 12, 12, 12, 12, 11, 11, 11, 11, 10, 10, 10, 10, 9, 9, 9, 9, 8, 8, 8, 8, 7, 7, 7, 7, 6, 6, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0};
-ram unsigned 10 equalizer_table_inv[16] = {446, 444, 440, 436, 432, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 384};
diff --git a/Graphic_Equalizer/src/fft.hcc b/Graphic_Equalizer/src/fft.hcc deleted file mode 100644 index 0be69fe..0000000 --- a/Graphic_Equalizer/src/fft.hcc +++ /dev/null @@ -1,505 +0,0 @@ -/*! \file fft.hcc
- *
- * \section generic This modules will take care of the actual FFT calculation
- * on the samples. Besides the FFT this module also will
- * equalize the audio signal according to the setting made by the user.
- *
- * \section project Project information.
- * Project Graphic Equalizer\n
- * \author M. Lauwerijssen
- * \date 20041110
- * \version 0.1
- *
- * \section copyright Copyright
- * Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved
- *
- * \section history Change history
- * 20041110: M. Lauwerijssen\n Initial version
- *
- ********************************************************************/
-#include <stdlib.hch>
-#include "pal_master.hch"
-
-#include "audio.hch"
-#include "weights_256.hch"
-#include "configuration.hch"
-#include "xilinxmult.hch"
-#include "fft.hch"
-
-#if HAVE_DEBUG
- #include "debug.hch"
-#endif
-
-/* Define two multi-port RAMs for FFT calculation; one for real and one for imaginary values
- * Extra block RAM settings are defined to make sure read and write actions can be performed
- * within one clock-cycle.
- * Left out extra settings on new board the clock changes TODO !!!!
- */
-#if HARDWARE_MULTIPLY
-mpram
-{
- ram signed 18 rwrite[256];
- rom signed 18 read[256];
-} real with {block = "BlockRAM"/*, westart=2.5, welength=1, rclkpos={1.5}, wclkpos={3}, clkpulselen=0.5*/};
-
-mpram
-{
- ram signed 18 rwrite[256];
- rom signed 18 read[256];
-} imaginary with {block = "BlockRAM"/*, westart=2.5, welength=1, rclkpos={1.5}, wclkpos={3}, clkpulselen=0.5*/};
-#else
-mpram
-{
- ram signed 24 rwrite[256];
- rom signed 24 read[256];
-} real with {block = "BlockRAM"/*, westart=2.5, welength=1, rclkpos={1.5}, wclkpos={3}, clkpulselen=0.5*/};
-
-mpram
-{
- ram signed 24 rwrite[256];
- rom signed 24 read[256];
-} imaginary with {block = "BlockRAM"/*, westart=2.5, welength=1, rclkpos={1.5}, wclkpos={3}, clkpulselen=0.5*/};
-#endif
-// multiplication factors for equalizer function
-ram signed 7 eq_settings[16] = {0,2,4,7,10,13,16,19,22,26,30,35,41,48,55,63};
-
-#if HARDWARE_MULTIPLY
-#define DC_COMPONENT 0
-#else
-#define DC_COMPONENT 8470527
-#endif
-
-/*! \fn macro proc multiply(result, op_a, op_b);
- * \brief Procedure used for multiply-ing
- *
- * \param result variable containing the result of the multiply procedure
- * \param op_a integer value to be multiplied.
- * \param op_b integer value to be multiplied.
- *
- * \return Procedure returns through variable.
- * \retval signed 36
- */
-macro proc multiply(result, op_a, op_b)
-{
-#if HARDWARE_MULTIPLY
- xilinxmult(result, op_a, adjs(op_b,18));
-#else
- result = (adjs(op_a,38))*(adjs(op_a,38));
-#endif
-}
-
-
-
-
-/*! \fn void calculate_fft(unsigned 1 select_inverse)
- * \brief This routine performs the Fast Fourier Transform for calculation of the frequency spectrum
- *
- * \param select_inverse determines if a FFT or iFFT has to be calculated
- *
- * \return nothing
- * \retval void
- *
- * cost 12391 cycles
- */
-void calculate_fft(unsigned 1 select_inverse)
-{
- unsigned 4 level;
- unsigned 8 point1,point2,j,f,k;
- unsigned 9 e,i;
- signed 16 weight1,weight2;
-#if HARDWARE_MULTIPLY
- signed 18 p,q,r,t;
-#else
- signed 24 p,q,r,t;
-#endif
- signed a,b;
-
-#if HARDWARE_MULTIPLY
- // Macro to provide rescaling of 36-bit result of fixed point multiply
- // down to an 18-bit result. The range of bits selected depends on the
- // number that represents the value of "1" in the trig function lookup
- // tables. (Eg. for 16384 == 1, the lowest bit selected should be [14]).
- macro expr rescale (x) = (x[35] @ x[30:14]);
-#else
- //Macro to rescale the multiply result down to a 24-bit value.
- macro expr rescale (x) = ((x>>FRACBITS)<-24);
-#endif
-
- for(level=1;level<=NUMBER_OF_COLUMNS;level++) // count all the columns
- {
- e=1<<(NUMBER_OF_COLUMNS-level+1); // number of points in each block in this column
- f=(e>>1)<-8; // number of butterflies in each block in this column
-
- for(j=1;j<=f;j++) // count all the butterflies in each block
- {
- par
- {
- // Weight factors for real (the same for FFT and iFFT)
- weight1 = weight_re[((j-1)<<(level-1))<-7];
-
-
- // Weight factors for imaginary (opposite for FFT and iFFT)
- weight2 = (!select_inverse) ? (weight_im[((j-1)<<(level-1))<-7]) : -(weight_im[((j-1)<<(level-1))<-7]);
-
- /* ORIGINAL CODE BELOW, MODIFIED BECAUSE OF MISMATCHING OUTPUT WITH BORLAND TESTAPP
- weight2 = (!select_inverse) ? -(weight_im[((j-1)<<(level-1))<-7]) : weight_im[((j-1)<<(level-1))<-7];
- */
-
-
-
- for(i=0@j;i<=NUMBER_OF_POINTS;i+=e) // count all the blocks in this column
- { // Butterfly calculation
- par
- {
- point1 = ((i<-8)-1);
- point2 = (((i<-8)+f)-1);
- }
-
- par
- {
- p = (real.read[point1] >> 1) + (real.rwrite[point2] >> 1);
- q = (imaginary.read[point1] >> 1) + (imaginary.rwrite[point2] >> 1);
- }
-
- par
- {
- r = (real.read[point1] >> 1) - (real.rwrite[point2] >> 1);
- t = (imaginary.read[point1] >> 1) - (imaginary.rwrite[point2] >> 1);
- }
-
- multiply(a,r,weight1);
- multiply(b,t,weight2);
-
- par
- {
- real.rwrite[point2] = (rescale(a-b));
- imaginary.rwrite[point1] = q;
- }
-
- multiply(a,t,weight1);
- multiply(b,r,weight2);
-
- par
- {
- real.rwrite[point1] = p;
- imaginary.rwrite[point2] = (rescale(a+b));
- }
-
- }
- }
- }
- }
-
- j=1;
- for(i=1;i<NUMBER_OF_POINTS;i++)
- {
- if(i<(0@j))
- {
- par
- {
- point1=j-1;
- point2=(i-1)<-8;
- }
- /*
- COPYING ARRAY VALUES FROM ONE PLACE TO ANOTHER IN THE ARRAT MUST BE DONE IN
- 2 STEPS. FIRSTLY THE VALUES ARE COPIED TO SEPARATE VARIABLES AFTER THAT THEY
- ARE COPIED BACK TO THEIR NEW POSITION IN THE ARRAY. THIS MUST BE DONE TO
- PREVENT TIMING ISSUES FROM OCCURING.
- */
- par
- {
- p = real.read[point1];
- q = imaginary.read[point1];
- }
- par
- {
- r = real.read[point2];
- t = imaginary.read[point2];
- }
- par
- {
- real.rwrite[point1] = r;
- imaginary.rwrite[point1] = t;
- }
- par
- {
- real.rwrite[point2] = p;
- imaginary.rwrite[point2] = q;
- }
- }
-
- k = NUMBER_OF_POINTS>>1;
-
-
- while(k<j)
- {
- j = j-k;
- k = k>>1;
- }
-
- j+=k;
- }
-
-}
-
-/*! \fn void perform_fft(signed 18 *pcm_audio)
- * \brief This routine obtains the audio data from the audio I/O component and copies this
- * data to local arrays for calculating purposes, and calls the FFT algorithm.
- *
- * \param *pcm_audio pointer to array containg the audio data
- *
- * \return nothing
- * \retval void
- *
- * cost 258 cycles (excl. the calculate FFT function)
- */
-#if HARDWARE_MULTIPLY
-void perform_fft(signed 18 *pcm_audio)
-#else
-void perform_fft(signed 16 *pcm_audio)
-#endif
-{
- unsigned 8 k;
-#if HARDWARE_MULTIPLY
- signed 18 sample;
- k=0;
- sample = adjs(pcm_audio[k],18);
-#else
- signed 24 sample;
- k=0;
- sample = adjs(pcm_audio[k],24);
-#endif
-
- //initialize variables for the copying pipeline
-
-
- // copy audio data to real-array before starting FFT calculation
- // and set imaginary values to zero
- do
- {
- //Copying the array values has been pipelined to prevent parallel access to the
- //pcm_audio array. This copying procedure must be finished before another
- //sample is read from the audio input. The time available for this loop is
- //determined by the sampling rate of 44,1 Khz
- par
- {
- //COPYING NEEDS TO BE DONE IN 2 STEPS, BECAUSE THE VALUE THAT NEEDS TO WRITTEN
- //TO THE REAL-RAM NEEDS TO BE AVAILABLE ON THE START OFF THE CLOCKCYCLE.
-#if HARDWARE_MULTIPLY
- sample = adjs(pcm_audio[k+1],18);
-#else
- sample = adjs(pcm_audio[k+1],24);
-#endif
- real.rwrite[k] = sample;
- imaginary.rwrite[k] = 0;
- k++;
- }
- } while (k);
-
-
-
-#if PERFORM_FFT_CALCULATION
- calculate_fft(0);
-#endif
-
-
-}
-
-/*! \fn void perform_ifft(signed 18 *modified_audio, unsigned 6 *ifft_info)
- * \brief This routine calls the ifft algorithm and after completing that it obtains the
- * modified audio data and copies that to the output arrays of the audio I/O component.
- * Besides that it also fills the array used by the display routine for displaying the waveform.
- *
- * \param *modified_audio pointer to array containg the audio data
- * \param *ifft_info Pointer to the ifft_info array containing the modified waveform data for display purposes
- *
- * \return nothing
- * \retval void
- *
- * cost 258 cycles (excl. the calculate iFFT function)
- */
-#if HARDWARE_MULTIPLY
-void perform_ifft(signed 18 *modified_audio, unsigned 6 *ifft_info)
-#else
-void perform_ifft(signed 16 *modified_audio, unsigned 6 *ifft_info)
-#endif
-{
- unsigned 6 k;
-#if HARDWARE_MULTIPLY
- signed 18 p;
-#else
- signed 24 p;
-#endif
-#if PERFORM_FFT_CALCULATION
- calculate_fft(1);
-#endif
-
- k=0;
-//initialize variables for the copying pipeline
-#if PERFORM_FFT_CALCULATION
- #if HARDWARE_MULTIPLY
- p = (real.read[(0@k)+95] << NUMBER_OF_COLUMNS);
- #else
- p = (real.read[(0@k)+95] >> NUMBER_OF_COLUMNS);
- #endif
-#else
- p = (real.read[(0@k)+95]);
-#endif
-
- do
- {
- //Copying the array values has been pipelined to prevent parallel access to the
- //pcm_audio array. This copying procedure must be finished before another
- //sample is read from the audio input. The time available for this loop is
- //determined by the sampling rate of 44,1 Khz
- par
- {
- /*
- * Before copying the modified audio from the local real-array
- * to the output array of the audio I/O component, compensate
- * for the FFT calculation by shifting the values.
- * 95 is added to start the output from the middle of the sliding
- * window, this is done to get a better sound quality.
- */
-#if PERFORM_FFT_CALCULATION
- #if HARDWARE_MULTIPLY
- p = (real.read[(0@k)+95] << NUMBER_OF_COLUMNS);
- #else
- p = (real.read[(0@k)+95] >> NUMBER_OF_COLUMNS);
- #endif
-#else
- p = (real.read[(0@k)+95]);
-#endif
- //Copy the modified audio from the local real array to the output array of the audio I/O component.
-#if HARDWARE_MULTIPLY
- modified_audio[k] = p ;
-#else
- modified_audio[k] = (p<-16);
-#endif
- //Fill the array for displaying the waveform, only the 6 MSB are needed.
- ifft_info[k] = (unsigned 6)(32+(p[17:12]));
- k++;
- }
- } while(k);
-}
-
-/*! \fn void equalize_audio(audiodata_t *audiodata)
- * \brief This routine equalizes the frequencies derived by the FFT calculation,
- * according to the settings of the equalizer bars.
- *
- * \note Cost: 3844 clock cycles (Maximum)
- *
- * \param *audiodata pointer to the audiodata struct, containing the eq_info, etc.
- *
- * \return void
- * \retval void
- *
- */
-void equalize_audio(audiodata_t *audiodata)
-{
-#if HARDWARE_MULTIPLY
- signed 18 p,q;
-#else
- signed 24 p,q;
-#endif
- signed 18 a;
- unsigned 8 i, mirror_i, bit, m, n;
- unsigned 7 old_value;
- unsigned 9 tmp;
-
- //macro expr equalize_bar = multiply(q,a)[29:6];
-
- macro proc equalize_bar(retval)
- {
- signed result;
- multiply(result, q,a);
-#if HARDWARE_MULTIPLY
- retval = result[23:6]; //drop last 6 bit to compensate the maximum multiplication with 64 from the eq_settings array
-#else
- retval = result[29:6]; //drop last 6 bit to compensate the maximum multiplication with 64 from the eq_settings array
-#endif
- }
-
- p = real.read[0] - DC_COMPONENT; // remove DC component for calculations
- real.rwrite[0] = p;
-
- for(i=0;i!=NUMBER_OF_FREQUENCIES;i++)
- {
-
- // set multiplication factor (0..64) for current frequency bar, The first frequency band must be equalized at 100% (63) since there is no DC-component taken into account.
- a = adjs(eq_settings[audiodata->equalizer_levels_ptr[i <- 7]],18);
-
-
- // multiply frequency with this factor and divide by 64 (drop 6 LSB's)
- q = real.read[i];
- equalize_bar(p);
- real.rwrite[i] = p;
-
- q = imaginary.read[i];
- equalize_bar(p);
- imaginary.rwrite[i] = p;
-
- // the upper part(128..255) of the spectrum is mirrored to the lower part;
- // these values need to be adjusted too
- if ((i<-7)!=0) // if not in DC component bar
- {
- mirror_i = (NUMBER_OF_POINTS-1)-i+1;
- q = real.read[mirror_i];
- equalize_bar(p);
- real.rwrite[mirror_i] = p;
-
- q = imaginary.read[mirror_i];
- equalize_bar(p);
- imaginary.rwrite[mirror_i] = p;
- }
- }
-
- //write data to fft_info for display purposes
- for(i=0;i<NUMBER_OF_FREQUENCIES;i++)
- {
- p = real.read[i];
- q = imaginary.read[i];
-#if HARDWARE_MULTIPLY
- if (p[17] == 1) p = -p; else delay;
- if (q[17] == 1) q = -q; else delay;
-#else
- if (p[23] == 1) p = -p; else delay;
- if (q[23] == 1) q = -q; else delay;
-#endif
- p = (p<q) ? q : p; // This is done to get the best visual frequency result
-
- if (!audiodata->display_log)
- {
-
- bit=126;
-#if HARDWARE_MULTIPLY
- while ((p[15] == 0) && (bit != 0))
-#else
- while ((p[21] == 0) && (bit != 0))
-#endif
- par
- {
- p = p<<1;
- bit = bit - 18;
- }
- old_value = audiodata->fft_info.write[0 @ (i <- 7)];
- tmp = ((0@old_value) + (0@bit))>>1;
- audiodata->fft_info.write[0 @ (i <- 7)] = (old_value <= (tmp<-7)) ? (tmp<-7) : old_value-1;
- }
- else
- {
- old_value = audiodata->fft_info.write[0 @ (i <- 7)];
-#if HARDWARE_MULTIPLY
- audiodata->fft_info.write[0 @ (i <- 7)] = (old_value<=(unsigned)(p[15:9])) ? (unsigned)(p[15:9]) : old_value-1;
-#else
- audiodata->fft_info.write[0 @ (i <- 7)] = (old_value<=(unsigned)(p[21:15])) ? (unsigned)(p[21:15]) : old_value-1;
-#endif
- }
- }
-
- // add DC component again before inverse FFT calculation is performed
-
- p = real.read[0] + DC_COMPONENT;
- real.rwrite[0] = p;
-}
-
diff --git a/Graphic_Equalizer/src/main.hcc b/Graphic_Equalizer/src/main.hcc deleted file mode 100644 index 78918b8..0000000 --- a/Graphic_Equalizer/src/main.hcc +++ /dev/null @@ -1,162 +0,0 @@ -/*! \file main.hcc
- *
- * \section generic Message build up information and more
- *
- * \section project Project information.
- * Project Graphic Equalizer\n
- * \author O.M. Schinagl
- * \date 20041011
- * \version 0.1
- *
- * \section copyright Copyright
- * Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved
- *
- * \section history Change history
- * 20041011: O.M. Schinagl\n Initial version
- *
- *****************************************************************************/
-
-/*
- * Set the Clock rate for this domain. 25.175 Mhz is required for the Video output.
- */
-#define PAL_TARGET_CLOCK_RATE 25175000
-
-/******** System Includes *************/
-#include "pal_master.hch"
-
-/******** Application Includes ********/
-#include "configuration.hch"
-#include "audio.hch"
-#include "mouse_shared.hch"
-#include "mouse.hch"
-#include "eventhandler_shared.hch"
-#include "eventhandler.hch"
-#include "display_shared.hch"
-#include "display.hch"
-#include "smartmedia.hch"
-
-#include "fft.hch"
-#include "runfft.hch"
-
-#if HAVE_DEBUG
- #include "debug.hch"
-#endif
-
-/*! \fn void main(void);
- * \brief Main Application Loop.
- *
- * \return void
- * \retval void
- */
-void main(void) {
- /*
- * Set VideoOut, Audio I/O and Ram Handles and set clockrate.
- */
- macro expr ClockRate = PAL_ACTUAL_CLOCK_RATE;
- macro expr VideoOut = PalVideoOutOptimalCT(ClockRate);
- macro expr AudioIn = PalAudioInCT(0);
- macro expr AudioOut = PalAudioOutCT(0);
- macro expr RAM_BANK0 = PalPL2RAMCT(0);
-
- mousedata_t mousedata;
- events_t events;
- audiodata_t audiodata;
- skindata_t skindata;
- unsigned 1 result;
-
- /*
- * Check library versions and Request various hardware functionality.
- * We need at least Major Version 1. For Audio purposes we need atleast
- * minor version 2.
- */
- PalVersionRequire(1, 2);
- PalVideoOutRequire(1);
- PalAudioInRequire(1);
- PalAudioOutRequire(1);
-
- /*
- * We verify some datawidths here at compile time. This to ensure
- * successfull operation.
- */
- assert (PalVideoOutGetColorWidthCT(VideoOut) == 24, 0,
- "We need a 24-bit color Display.");
- assert (PalPL2RAMGetDataWidthCT(RAM_BANK0) >= 32, 0,
- "We can't work with anything less then 32 bits wide ram.");
-
- /*
- * Run The Following main tasks in parallel.
- */
- par {
- /*
- * Primary task is to 'Run' several hardware simultaniously.
- */
- PalVideoOutRun(VideoOut, ClockRate);
- MouseRun(ClockRate);
- PalAudioInRun(AudioIn, ClockRate);
- PalAudioOutRun(AudioOut, ClockRate);
- PalPL2RAMRun(RAM_BANK0, ClockRate);
-#if HAVE_SMARTMEDIA
- /*
- * The smartmedia device needs the CPLD to run also.
- */
- CPLDRun(ClockRate);
- SmartMediaRun(ClockRate);
-#endif
-#if HAVE_DEBUG
- RC200RS232Run(RC200RS232_115200Baud, RC200RS232ParityNone,
- RC200RS232FlowControlNone, ClockRate);
-#endif
-
- /*
- * Parallel to our Primary tasks we run the application.
- */
- seq {
- /*
- * But first we need to initialize Video and Audio.
- * We also load the data from the SmartMedia card
- * into the ram.
- */
-#if HAVE_DEBUG
- print_cls();
- print_string("Graphic Equalizer 2");
- print_eol();
-#endif
- PalVideoOutEnable(VideoOut);
- PalAudioInEnable(AudioIn);
- PalAudioOutEnable(AudioOut);
- audio_init(6, LINE_IN, SR_44100, AudioIn, AudioOut);
-#if HAVE_SMARTMEDIA
- /*
- * Once we properly setup the SmartMedia we load our
- * data folowed by our main program loop.
- */
- result = smartmedia_init();
- if (!result) {
-#endif
- smartmedia_loaddata(&skindata);
-
- /*
- * Main application starts here!
- */
- par {
- /*
- * From here we run the mouse driver, audio
- * and display in parallel. None of these
- * should ever return.
- */
- mouse_main(&mousedata);
- display_main(&skindata, &audiodata, &events, &mousedata);
- eventhandler_main(&audiodata, &events, &mousedata);
- audio_main(audiodata, AudioIn, AudioOut);
- }
-#if HAVE_SMARTMEDIA
- } else {
-#if HAVE_DEBUG
- print_string("Error Initializing SmartMedia");
-#endif
- }
-#endif
- }
- }
-
-} /* --- main() --- */
diff --git a/Graphic_Equalizer/src/mouse.hcc b/Graphic_Equalizer/src/mouse.hcc deleted file mode 100644 index 61ce619..0000000 --- a/Graphic_Equalizer/src/mouse.hcc +++ /dev/null @@ -1,131 +0,0 @@ -/*! \file mouse.hcc
- *
- * \section generic This module takes care of mouse input. The mouse
- * input function itself is however performed by the
- * touchscreen of the RC200.
- *
- * \section project Project information.
- * Project Graphic Equalizer\n
- * \author O.M. Schinagl
- * \date 20041011
- * \version 0.1
- *
- * \section copyright Copyright
- * Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved
- *
- * \section history Change history
- * 20041011: O.M. Schinagl\n Initial version
- *
- ********************************************************************/
-
-/******** System Includes *************/
-#include <stdlib.hch>
-
-#include "pal_master.hch"
-#include "pal_mouse.hch"
-
-/******** Application Includes ********/
-#include "configuration.hch"
-#include "mouse_shared.hch"
-#include "mouse.hch"
-
-#if HAVE_DEBUG
- #include "debug.hch"
-#endif
-
-
-
-/*! \fn void mouse_main(mousedata_t *mousedata);
- * \brief Main mousedriver. This function never returns! It calls the
- * main mousehandler and returns the States and coordinates
- * into a shared store.
- *
- * \param *mousedata Storage for all mousedata and states.
- *
- * \return Never Returns.
- * \retval void
- */
-void mouse_main(mousedata_t *mousedata) {
- unsigned 18 touch_sampler;
- unsigned 10 x, oldx;
- unsigned 9 y, oldy;
- unsigned 3 mousestate, oldmousestate;
- unsigned 1 touch, touched, oldtouched;
-
- /*
- * We only check for mouse states once every 2^18 time. This to
- * overcome the sampling of the 'Touch' state of the RC200 libs. When
- * using newer libs this might be overkill, e.g. smaller values may
- * work or sampling all together will be redundant.
- */
- touch_sampler = 1;
- while (TRUE) {
- if (!touch_sampler) {
- /*
- * We are here ready to set mouse states. We compare
- * current and previous states and thereby determine
- * the state to send to others
- */
- if (touched) {
- if(oldtouched) {
- mousestate = MOUSE_STATE_DOWN;
- } else {
- mousestate = MOUSE_STATE_ON_PRESS;
- }
- oldtouched = TRUE;
- } else {
- if(oldtouched) {
- mousestate = MOUSE_STATE_ON_RELEASE;
- } else {
- mousestate = MOUSE_STATE_UP;
- }
- oldtouched = FALSE;
- }
- /*
- * We have now processed our Touch. Reset it for the
- * next run.
- */
- touched = FALSE;
-
- /*
- * In the rare occurance that we receive values
- * beyond our range, we set them to some sane
- * values here.
- */
- x = (x > 639) ? 0 : x;
- y = (y > 479) ? 0 : y;
-
- /*
- * Compare Previous States and Coordinates to determine
- * wether they have changed. If so, Copy them into
- * shared memory, notify the listening processes and
- * Set the new as previous values for the next run. We
- * can only do this when the display has handled all
- * changes.
- */
- if (((oldmousestate != mousestate) || (oldx != x) || (oldy != y)) && (MOUSE_NOT_UPDATED == mousedata->status)) {
- //par {
- oldx = x;
- oldy = y;
- oldmousestate = mousestate;
- mousedata->x = x;
- mousedata->y = 0 @ y;
- mousedata->state = mousestate;
- mousedata->status = MOUSE_UPDATED;
- //}
- }
- }
-
- /*
- * Read the current X and Y of the 'cursor' and register wether
- * the display was touched. If touched store this in a local
- * store. This we do to catch the sampling of the RC200 lib.
- */
- RC200TouchScreenReadScaled(&x, &y, &touch);
- if (touch) {
- touched = TRUE;
- }
-
- touch_sampler++;
- }
-} /* --- mouse_main() --- */
diff --git a/Graphic_Equalizer/src/runfft.hcc b/Graphic_Equalizer/src/runfft.hcc deleted file mode 100644 index 55d4b05..0000000 --- a/Graphic_Equalizer/src/runfft.hcc +++ /dev/null @@ -1,182 +0,0 @@ -/*! \file runfft.hcc
- *
- * \section generic This module will handle the audio I/O. It will ensure the
- * audiosamples are correctly buffered and fed correctly to the FFT.\n
- * This module will also handle the output of the modified audio samples.
- *
- * \section project Project information.
- * Project Graphic Equalizer\n
- * \author M. Lauwerijssen
- * \date 20041110
- * \version 0.1
- *
- * \section copyright Copyright
- * Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved
- *
- * \section history Change history
- * 20041110: M. Lauwerijssen\n Initial version
- *
- ********************************************************************/
-#include <stdlib.hch>
-#include "pal_master.hch"
-
-#include "configuration.hch"
-#if USE_RUNFFT
-#include "audio.hch"
-#include "fft.hch"
-
-#if HAVE_DEBUG
- #include "debug.hch"
-#endif
-
-/*
- * Forward declarations
- */
-static macro expr ClockRate = PAL_ACTUAL_CLOCK_RATE;
-#if HARDWARE_MULTIPLY
-//input buffer
-ram signed 18 audio_buffer_in[256] with { block = "BlockRAM"};
-//output buffer
-ram signed 18 audio_buffer_out[128] with { block = "BlockRAM"};
-#else
-//input buffer
-ram signed 16 audio_buffer_in[256] with { block = "BlockRAM"};
-//output buffer
-ram signed 16 audio_buffer_out[128] with { block = "BlockRAM"};
-#endif
-//EQ settings for the FFT
-ram unsigned 4 EQ_info[128] with { block = "BlockRAM"};
-//EQ settings received from the display
-
-
-#if HARDWARE_MULTIPLY
-signed 18 *audioptr_in1,*audioptr_in2,*audioptr_in3,*audioptr_in4;
-
-signed 18 *audioptr_out1,*audioptr_out2;
-
-unsigned 6 *displayptr1,*displayptr2,*displayptr3,*displayptr4;
-#else
-signed 16 *audioptr_in1,*audioptr_in2,*audioptr_in3,*audioptr_in4;
-
-signed 16 *audioptr_out1,*audioptr_out2;
-
-unsigned 6 *displayptr1,*displayptr2,*displayptr3,*displayptr4;
-#endif
-
-/*! \fn macro proc audio_main(AUDIOIN, AUDIOOUT);
- * \brief Audio I/O component main.
- *
- * \param audiodata Pointer to audiodata struct
- * \param AUDIOIN Handle to audio-input
- * \param AUDIOOUT Handle to audio-output
- *
- * \return Never Returns.
- * \retval void
- */
-macro proc audio_main(audiodata, AUDIOIN, AUDIOOUT)
-{
- signed 18 sample;
- unsigned 6 sample_count;
- unsigned 8 i,cycle;
- unsigned 4 eqinfo;
-
- unsigned 1 FFT_Sync, first;
- macro expr OW = PalAudioOutGetMaxDataWidthCT ();
- macro expr IW = PalAudioInGetMaxDataWidthCT ();
- signed LeftNew, RightNew;
- signed Output_sample;
-
- ram unsigned 6 input[64];
-
- //pointers for double and quadruple buffering:
- audioptr_in1 = &audio_buffer_in[0];
- audioptr_in2 = &audio_buffer_in[64];
- audioptr_in3 = &audio_buffer_in[128];
- audioptr_in4 = &audio_buffer_in[192];
-
- audioptr_out1 = &audio_buffer_out[0];
- audioptr_out2 = &audio_buffer_out[64];
-
- displayptr1 = &audiodata.ifft_info.write[0];
- displayptr2 = &audiodata.ifft_info.write[64];
- displayptr3 = &audiodata.ifft_info.write[128];
- displayptr4 = &audiodata.ifft_info.write[192];
-
- FFT_Sync=0;
-par
-{
- for(;;)
- {
- if (FFT_Sync) //if 64 samples are read from ADC...
- {
- par
- {
- // switch pointers
- audioptr_in1 = audioptr_in2;
- audioptr_in2 = audioptr_in3;
- audioptr_in3 = audioptr_in4;
- audioptr_in4 = audioptr_in1;
-
- audioptr_out1 = audioptr_out2;
- audioptr_out2 = audioptr_out1;
-
- displayptr1=displayptr2;
- displayptr2=displayptr3;
- displayptr3=displayptr4;
- displayptr4=displayptr1;
-
- FFT_Sync = 0;
- }
-
- // FFT calculation
- perform_fft(audioptr_in1);
-
-#if PERFORM_FFT_CALCULATION
- equalize_audio(&audiodata);
-#endif
- // inverse FFT calculation
- perform_ifft(audioptr_out1,displayptr1);
- }
- else
- delay;
- }
-
- for(sample_count=0;;)//store the samples in the inputbuffer
- {
- if (!FFT_Sync)
- {
- par
- {
- seq
- {
- PalAudioInRead(AUDIOIN, &LeftNew, &RightNew);
-#if HARDWARE_MULTIPLY
- audioptr_in1[sample_count] = LeftNew;//drop 2 LSB's
-#else
- audioptr_in1[sample_count] = (LeftNew\\2);//drop 2 LSB's
-#endif
- sample_count++;
- if (!sample_count)
- {
- FFT_Sync = 1;
- }
- }
- seq
- {
- Output_sample = audioptr_out2[sample_count];
- }
- }
- }
- else
- {
- delay;
- }
- }
- for(;;)
- {
- PalAudioOutWrite(AUDIOOUT,(signed OW)(Output_sample @ 0),(signed OW)(Output_sample @ 0));
- }
-}//end par
-}// end function
-#endif
-
diff --git a/Graphic_Equalizer/src/smartmedia.hcc b/Graphic_Equalizer/src/smartmedia.hcc deleted file mode 100644 index ff405c1..0000000 --- a/Graphic_Equalizer/src/smartmedia.hcc +++ /dev/null @@ -1,233 +0,0 @@ -/*! \file smartmedia.hcc
- *
- * \section generic Here we interface with the SmartMedia card.
- *
- * \section project Project information.
- * Project Graphic Equalizer\n
- * \author O.M. Schinagl
- * \date 20041110
- * \version 0.1
- *
- * \section copyright Copyright
- * Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved
- *
- * \section history Change history
- * 20041110: O.M. Schinagl\n Initial version
- *
- ********************************************************************/
-
-/******** System Includes *************/
-#include <stdlib.hch>
-
-#include "pal_master.hch"
-
-/******** Application Includes ********/
-#include "configuration.hch"
-#include "display_shared.hch"
-#include "smartmedia_shared.hch"
-#include "smartmedia.hch"
-
-#if HAVE_DEBUG
- #include "debug.hch"
-#endif
-
-#include "audio.hch"
-#include "mouse_shared.hch"
-#include "eventhandler_shared.hch"
-#include "display.hch" /* FIXME: temporary include, needs to be moved to 'init' */
-
-/*! \fn unsigned 1 smartmedia_init(void);
- * \brief We here initialize the Smart Media card and verify wether the
- * card is inserted and such.
- *
- * \return We return 0 on success, 1 on error.
- * \retval unsigned 1
- */
-unsigned 1 smartmedia_init(void) {
- unsigned 1 retval;
- /*
- * Firstly we enable both the CPLD and the SmartMedia.
- */
- RC200CPLDEnable();
- RC200SmartMediaInit(&retval);
-
- if (retval) {
- RC200SmartMediaReset(&retval);
- RC200SmartMediaInit(&retval);
- }
-
- return retval;
-} /* --- smartmedia_init() --- */
-
-
-
-/*! \fn void smartmedia_loaddata(skindata_t *skindata);
- * \brief We load our memory with skin and help data from the smartmedia.
- *
- * \param *skindata skindata like boundries and colors of elements.
- *
- * \return void
- * \retval void
- */
-void smartmedia_loaddata(skindata_t *skindata) {
- /*
- * Setup RAM Handle, and determin maximum Data and Address widths
- */
- macro expr RAM_BANK0 = PalPL2RAMCT(0);
- macro expr DW = PalPL2RAMGetMaxDataWidthCT();
- macro expr AW = PalPL2RAMGetMaxAddressWidthCT();
-
- unsigned DW data;
- unsigned 27 smartmedia_address, smartmedia_address_mask;
- unsigned AW address;
- unsigned 8 mask, r, g, b;
- unsigned 3 stage;
- unsigned 1 result;
-
- extern ram unsigned 8 presets_default_values[768];
-
-#if HAVE_DEBUG
- /*
- * Print some nice stats about data loading.
- */
- print_eol();
- print_hex_value(0);
-#endif
- /*
- * Before we enter our loop to fill our memory with valid data, we have
- * to set the startup positions for the SmartMedia.
- */
- smartmedia_address = SMARTMEDIA_ADDRESS_SKIN_START;
- smartmedia_address_mask = SMARTMEDIA_ADDRESS_SKINMASK_START;
- stage = STAGE_LOAD_SKIN;
- /*
- * We start with the address of the skin, and do the loop until we have
- * done the end of the help.
- */
- for (address = ADDRESS_SKIN_START; address != (ADDRESS_PRESET_RESET_END +1); address++) {
- /*
- * Once we are done with the loading of our skin, we need to
- * change the smartmedia start addresses.
- */
- switch (address) {
- case ADDRESS_HELP_START:
- smartmedia_address = SMARTMEDIA_ADDRESS_HELP_START;
- smartmedia_address_mask = SMARTMEDIA_ADDRESS_HELPMASK_START;
- stage = STAGE_LOAD_HELP;
- break;
- case ADDRESS_GRAPHMASK_START:
- smartmedia_address_mask = SMARTMEDIA_ADDRESS_GRAPHMASK_START;
- stage = STAGE_LOAD_GRAPH;
- break;
- case ADDRESS_PRESET_DEMO_START:
- smartmedia_address_mask = SMARTMEDIA_ADDRESS_PRESET_DEMO_START;
- stage = STAGE_LOAD_PRESET;
- break;
- case ADDRESS_PRESET_RESET_START:
- smartmedia_address_mask = SMARTMEDIA_ADDRESS_PRESET_RESET_START;
- stage = STAGE_LOAD_PRESET;
- break;
- default:
- break;
- }
-
- /*
- * Before reading our data from the smartmedia we set our
- * address pointer to the address from our loop.
- */
-#if HAVE_SMARTMEDIA
- PalPL2RAMSetWriteAddress(RAM_BANK0, address);
-#else
- PalPL2RAMSetWriteAddress(RAM_BANK0, 0);
-#endif
-
- /*
- * SmartMedia data is read one byte per call. Because we want
- * to store the mask + the rgb values in one variable for later
- * useage we need to read those 4 bytes from the smartmedia
- * before storing it as one.
- */
-#if HAVE_SMARTMEDIA
- /*
- * FIXME: Due to a bug in the DK2 smartmedia libraries we need
- * stop reading after each byte with OperationEnd call. This is
- * VERY slow and must be changed.
- */
- if ((STAGE_LOAD_SKIN == stage) || (STAGE_LOAD_HELP == stage)) {
- RC200SmartMediaSetAddress(READ, smartmedia_address);
- RC200SmartMediaRead(&r, TRUE);
- RC200SmartMediaOperationEnd(&result);
- RC200SmartMediaSetAddress(READ, (smartmedia_address +1));
- RC200SmartMediaRead(&g, TRUE);
- RC200SmartMediaOperationEnd(&result);
- RC200SmartMediaSetAddress(READ, (smartmedia_address +2));
- RC200SmartMediaRead(&b, TRUE);
- RC200SmartMediaOperationEnd(&result);
- }
- RC200SmartMediaSetAddress(READ, smartmedia_address_mask);
- RC200SmartMediaRead(&mask, TRUE);
- RC200SmartMediaOperationEnd(&result);
-
- switch (stage) {
- case STAGE_LOAD_SKIN:
- data = 0 @ mask @ r @ g @ b;
- break;
- case STAGE_LOAD_HELP:
- data = 0 @ mask @ r @ g @ b;
- break;
- case STAGE_LOAD_GRAPH:
- data = (unsigned DW)(0 @ mask) << 24;
- break;
- case STAGE_LOAD_PRESET:
- presets_default_values[(address -ADDRESS_PRESET_DEMO_START) <- 10] = mask;
- }
-
-#else
- data = 0x0000ff00;
-#endif
- /*
- * Now that we have gathered all pixel data, store it in ram.
- */
- PalPL2RAMWrite(RAM_BANK0, data);
-
-#if HAVE_DEBUG
- /*
- * Print some nice stats about data loading.
- */
- if (!(address <- 10)) {
- print_cr();
- print_hex_value(0 @ (address \\ 11));
- print_string(" / 000001C2 | data: ");
- print_hex_value(data <- 32);
- }
-#endif
-
- /*
- * Finally increase al our indexes approperiatly.
- */
- smartmedia_address += 3;
- smartmedia_address_mask++;
- }
-
- /*
- * This block needs to probably move up into the fore loop where we
- * calculate these settings later.
- */
- skindata->area_spectrum_top = 200;
- skindata->area_spectrum_bottom = 335;
- skindata->area_spectrum_left = 77;
- skindata->area_spectrum_right = 575;
- skindata->area_waveform_top = 46;
- skindata->area_waveform_bottom = 118;
- skindata->area_waveform_left = 76;
- skindata->area_waveform_right = 413;
- skindata->area_volume_top = 112;
- skindata->area_volume_bottom = 66;
- skindata->area_volume_left = 439;
- skindata->area_volume_right = 455;
- skindata->color_area_volume = PIXEL_VOLUME;
- skindata->color_area_waveform = PIXEL_WAVEFORM;
-// skindata->color_area_spectrum_top = PIXEL_SPECTRUM;
-// skindata->color_area_spectrum_bottom = PIXEL_SPECTRUM;
- skindata->color_equalizer = PIXEL_EQUALIZER;
-} /* --- smartmedia_loaddata() --- */
|