diff --git a/Project1.cfg b/Project1.cfg deleted file mode 100644 index 89a39a7..0000000 --- a/Project1.cfg +++ /dev/null @@ -1,39 +0,0 @@ --$A8 --$B- --$C+ --$D+ --$E- --$F- --$G+ --$H+ --$I+ --$J- --$K- --$L+ --$M- --$N+ --$O+ --$P+ --$Q- --$R- --$S- --$T- --$U- --$V+ --$W- --$X+ --$YD --$Z1 --cg --AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; --H+ --W+ --M --$M16384,1048576 --K$00400000 --LE"d:\program files\borland\delphi7\Projects\Bpl" --LN"d:\program files\borland\delphi7\Projects\Bpl" --LUvcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;JclDeveloperTools;Jcl;JclVcl;JclContainers;JvCore;JvSystem;JvStdCtrls;JvAppFrm;JvBands;JvCmp;JvControls;JvCrypt;JvCustom;JvDlgs;JvDocking;JvGlobus;JvHMI;JvJans;JvManagedThreads;JvMM;JvNet;JvPageComps;JvPascalInterpreter;JvPluginSystem;JvPrintPreview;JvRuntimeDesign;JvTimeFramework;JvWizards;JvXPCtrls --w-UNSAFE_TYPE --w-UNSAFE_CODE --w-UNSAFE_CAST diff --git a/Project1.dof b/Project1.dof deleted file mode 100644 index c915731..0000000 --- a/Project1.dof +++ /dev/null @@ -1,134 +0,0 @@ -[FileVersion] -Version=7.0 -[Compiler] -A=8 -B=0 -C=1 -D=1 -E=0 -F=0 -G=1 -H=1 -I=1 -J=0 -K=0 -L=1 -M=0 -N=1 -O=1 -P=1 -Q=0 -R=0 -S=0 -T=0 -U=0 -V=1 -W=0 -X=1 -Y=1 -Z=1 -ShowHints=1 -ShowWarnings=1 -UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; -NamespacePrefix= -SymbolDeprecated=1 -SymbolLibrary=1 -SymbolPlatform=1 -UnitLibrary=1 -UnitPlatform=1 -UnitDeprecated=1 -HResultCompat=1 -HidingMember=1 -HiddenVirtual=1 -Garbage=1 -BoundsError=1 -ZeroNilCompat=1 -StringConstTruncated=1 -ForLoopVarVarPar=1 -TypedConstVarPar=1 -AsgToTypedConst=1 -CaseLabelRange=1 -ForVariable=1 -ConstructingAbstract=1 -ComparisonFalse=1 -ComparisonTrue=1 -ComparingSignedUnsigned=1 -CombiningSignedUnsigned=1 -UnsupportedConstruct=1 -FileOpen=1 -FileOpenUnitSrc=1 -BadGlobalSymbol=1 -DuplicateConstructorDestructor=1 -InvalidDirective=1 -PackageNoLink=1 -PackageThreadVar=1 -ImplicitImport=1 -HPPEMITIgnored=1 -NoRetVal=1 -UseBeforeDef=1 -ForLoopVarUndef=1 -UnitNameMismatch=1 -NoCFGFileFound=1 -MessageDirective=1 -ImplicitVariants=1 -UnicodeToLocale=1 -LocaleToUnicode=1 -ImagebaseMultiple=1 -SuspiciousTypecast=1 -PrivatePropAccessor=1 -UnsafeType=0 -UnsafeCode=0 -UnsafeCast=0 -[Linker] -MapFile=0 -OutputObjs=0 -ConsoleApp=1 -DebugInfo=0 -RemoteSymbols=0 -MinStackSize=16384 -MaxStackSize=1048576 -ImageBase=4194304 -ExeDescription= -[Directories] -OutputDir= -UnitOutputDir= -PackageDLLOutputDir= -PackageDCPOutputDir= -SearchPath= -Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;JclDeveloperTools;Jcl;JclVcl;JclContainers;JvCore;JvSystem;JvStdCtrls;JvAppFrm;JvBands;JvCmp;JvControls;JvCrypt;JvCustom;JvDlgs;JvDocking;JvGlobus;JvHMI;JvJans;JvManagedThreads;JvMM;JvNet;JvPageComps;JvPascalInterpreter;JvPluginSystem;JvPrintPreview;JvRuntimeDesign;JvTimeFramework;JvWizards;JvXPCtrls -Conditionals= -DebugSourceDirs= -UsePackages=1 -[Parameters] -RunParams= -HostApplication= -Launcher= -UseLauncher=0 -DebugCWD= -[Version Info] -IncludeVerInfo=0 -AutoIncBuild=0 -MajorVer=1 -MinorVer=0 -Release=0 -Build=0 -Debug=0 -PreRelease=0 -Special=0 -Private=0 -DLL=0 -Locale=2052 -CodePage=936 -[Version Info Keys] -CompanyName= -FileDescription= -FileVersion=1.0.0.0 -InternalName= -LegalCopyright= -LegalTrademarks= -OriginalFilename= -ProductName= -ProductVersion=1.0.0.0 -Comments= -[Excluded Packages] -d:\program files\borland\delphi7\Bin\dclite70.bpl=Borland Integrated Translation Environment diff --git a/Project1.res b/Project1.res deleted file mode 100644 index e84b2e4..0000000 Binary files a/Project1.res and /dev/null differ diff --git a/RegExpr/RegExpr.dcu b/RegExpr/RegExpr.dcu index 5a74ded..d703b89 100644 Binary files a/RegExpr/RegExpr.dcu and b/RegExpr/RegExpr.dcu differ diff --git a/WinCacheGrind.bdsgroup b/WinCacheGrind.bdsgroup deleted file mode 100644 index 0fd3b88..0000000 --- a/WinCacheGrind.bdsgroup +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - WinCacheGrind.bdsproj - WinCacheGrind.exe - - - - diff --git a/WinCacheGrind.bdsproj b/WinCacheGrind.bdsproj deleted file mode 100644 index 43bb813..0000000 --- a/WinCacheGrind.bdsproj +++ /dev/null @@ -1,233 +0,0 @@ - - - - - - - - - - - - WinCacheGrind.DPR - - - 7.0 - - - 8 - 0 - 0 - 1 - 0 - 0 - 1 - 1 - 1 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 1 - 1 - 1 - True - True - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - False - True - False - True - True - True - - - 0 - 0 - 1 - False - False - False - 16384 - 1048576 - 4194304 - WinCacheGrind - - - - - - - RegExpr - vcl;rtl;vclx;vclactnband;vclshlctrls;DJCL70;dbrtl;inet;JVCL200_R70;qrpt;bdertl;vcldb;JvCoreD9R;JvSystemD9R;JvCustomD9R;JvStdCtrlsD9R;JvCtrlsD9R - PROFILE - D:\c4\D\WinCacheGrind\RegExpr\ - False - - - - - - False - - - - - - False - - - - $00000000 - - - - True - True - 1 - 0 - 0 - 12 - False - False - False - False - False - 1057 - 1252 - - - Ceefour Software - WinCacheGrind - 1.0.0.12 - WinCacheGrind.exe - Copyright (C) 2005 Hendy Irawan - Licensed under GNU GPL version 2 or later - WinCacheGrind.exe - WinCacheGrind - 1.0.0.0 - WinCacheGrind - - - - - Borland Internet Components - Indy 10 Core Design Time - Borland SQL Explorer UI Package - Borland Database Components - Borland dbExpress Components - Borland BDE DB Components - Borland InternetExpress Components - Borland MyBase DataAccess Components - JVCL Database Components - Borland Editor Script Enhancements - Borland Sample Components - Shell Control Property and Component Editors - Borland Editor Emacs Enhancements - Borland Markup Language Wizards - Intraweb 7.2 Design Package for Delphi Win32 - Microsoft Office XP Sample Automation Server Wrapper Components - Borland SOAP Components - Indy 10 Protocols Design Time - Internet Explorer Components - Borland Interbase Event Alerter Component - Borland Control Panel Applet Package - Borland ADO DB Components - Borland InterBase Express Components - Borland Web Wizard Package - Borland WebSnap Components - Borland DataSnap Connection Components - TeeChart Components - Borland SimpleDataset Component (DBX) - JCL Debug IDE extension for Delphi 2005 - JCL Project Analyzer for Delphi 2005 - JVCL Application and Form Components - JVCL Band Objects - JVCL BDE Components - JVCL Non-Visual Components - JVCL Encryption and Compression Components - JVCL Visual Controls - JVCL Dialog Components - JVCL Docking Components - JVCL DotNet Controls - JVCL EDI Components Designtime Package - JVCL Globus Components - JVCL HMI Controls design time unit - JVCL Inspector Components - JVCL Interpreter Components - JVCL Jans Components - JVCL Managed Threads - JVCL Multimedia and Image Components - JVCL Network Components - JVCL Page Style Components - JVCL Plugin Components - JVCL Print Preview Components - JVCL Time Framework - JVCL Unified Interbase Components - JVCL Validators and Error Provider Components - JVCL Wizard Design Time Package - JVCL XP Controls - - - diff --git a/WinCacheGrind.cfg b/WinCacheGrind.cfg deleted file mode 100644 index 97c042b..0000000 --- a/WinCacheGrind.cfg +++ /dev/null @@ -1,39 +0,0 @@ --$A8 --$B- --$C+ --$D+ --$E- --$F- --$G+ --$H+ --$I+ --$J- --$K- --$L+ --$M- --$N+ --$O+ --$P+ --$Q- --$R- --$S- --$T- --$U- --$V+ --$W- --$X+ --$YD --$Z1 --cg --AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; --H+ --W+ --M --$M16384,1048576 --K$00400000 --LE"d:\program files\borland\delphi7\Projects\Bpl" --LN"d:\program files\borland\delphi7\Projects\Bpl" --LUvcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;JclDeveloperTools;Jcl;JclVcl;JclContainers;JvCore;JvSystem;JvStdCtrls;JvAppFrm;JvBands;JvCmp;JvControls;JvCrypt;JvCustom;JvDlgs;JvDocking;JvGlobus;JvHMI;JvJans;JvManagedThreads;JvMM;JvNet;JvPageComps;JvPascalInterpreter;JvPluginSystem;JvPrintPreview;JvRuntimeDesign;JvTimeFramework;JvWizards;JvXPCtrls --w-UNSAFE_TYPE --w-UNSAFE_CODE --w-UNSAFE_CAST diff --git a/WinCacheGrind.dof b/WinCacheGrind.dof deleted file mode 100644 index 5367f4f..0000000 --- a/WinCacheGrind.dof +++ /dev/null @@ -1,134 +0,0 @@ -[FileVersion] -Version=7.0 -[Compiler] -A=8 -B=0 -C=1 -D=1 -E=0 -F=0 -G=1 -H=1 -I=1 -J=0 -K=0 -L=1 -M=0 -N=1 -O=1 -P=1 -Q=0 -R=0 -S=0 -T=0 -U=0 -V=1 -W=0 -X=1 -Y=1 -Z=1 -ShowHints=1 -ShowWarnings=1 -UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; -NamespacePrefix= -SymbolDeprecated=1 -SymbolLibrary=1 -SymbolPlatform=1 -UnitLibrary=1 -UnitPlatform=1 -UnitDeprecated=1 -HResultCompat=1 -HidingMember=1 -HiddenVirtual=1 -Garbage=1 -BoundsError=1 -ZeroNilCompat=1 -StringConstTruncated=1 -ForLoopVarVarPar=1 -TypedConstVarPar=1 -AsgToTypedConst=1 -CaseLabelRange=1 -ForVariable=1 -ConstructingAbstract=1 -ComparisonFalse=1 -ComparisonTrue=1 -ComparingSignedUnsigned=1 -CombiningSignedUnsigned=1 -UnsupportedConstruct=1 -FileOpen=1 -FileOpenUnitSrc=1 -BadGlobalSymbol=1 -DuplicateConstructorDestructor=1 -InvalidDirective=1 -PackageNoLink=1 -PackageThreadVar=1 -ImplicitImport=1 -HPPEMITIgnored=1 -NoRetVal=1 -UseBeforeDef=1 -ForLoopVarUndef=1 -UnitNameMismatch=1 -NoCFGFileFound=1 -MessageDirective=1 -ImplicitVariants=1 -UnicodeToLocale=1 -LocaleToUnicode=1 -ImagebaseMultiple=1 -SuspiciousTypecast=1 -PrivatePropAccessor=1 -UnsafeType=0 -UnsafeCode=0 -UnsafeCast=0 -[Linker] -MapFile=0 -OutputObjs=0 -ConsoleApp=1 -DebugInfo=0 -RemoteSymbols=0 -MinStackSize=16384 -MaxStackSize=1048576 -ImageBase=4194304 -ExeDescription= -[Directories] -OutputDir= -UnitOutputDir= -PackageDLLOutputDir= -PackageDCPOutputDir= -SearchPath= -Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;JclDeveloperTools;Jcl;JclVcl;JclContainers;JvCore;JvSystem;JvStdCtrls;JvAppFrm;JvBands;JvCmp;JvControls;JvCrypt;JvCustom;JvDlgs;JvDocking;JvGlobus;JvHMI;JvJans;JvManagedThreads;JvMM;JvNet;JvPageComps;JvPascalInterpreter;JvPluginSystem;JvPrintPreview;JvRuntimeDesign;JvTimeFramework;JvWizards;JvXPCtrls -Conditionals= -DebugSourceDirs= -UsePackages=1 -[Parameters] -RunParams= -HostApplication= -Launcher= -UseLauncher=0 -DebugCWD= -[Version Info] -IncludeVerInfo=0 -AutoIncBuild=0 -MajorVer=1 -MinorVer=0 -Release=0 -Build=0 -Debug=0 -PreRelease=0 -Special=0 -Private=0 -DLL=0 -Locale=2052 -CodePage=936 -[Version Info Keys] -CompanyName= -FileDescription= -FileVersion=1.0.0.0 -InternalName= -LegalCopyright= -LegalTrademarks= -OriginalFilename= -ProductName= -ProductVersion=1.0.0.0 -Comments= -[Excluded Packages] -d:\program files\borland\delphi7\Bin\dclite70.bpl=Borland Integrated Translation Environment diff --git a/WinCacheGrind.exe b/WinCacheGrind.exe index f14134a..9c03d72 100644 Binary files a/WinCacheGrind.exe and b/WinCacheGrind.exe differ diff --git a/uCacheGrind.dcu b/uCacheGrind.dcu deleted file mode 100644 index 2966201..0000000 Binary files a/uCacheGrind.dcu and /dev/null differ diff --git a/uConfig.dcu b/uConfig.dcu deleted file mode 100644 index 6c4c4ad..0000000 Binary files a/uConfig.dcu and /dev/null differ diff --git a/uDoc.dcu b/uDoc.dcu deleted file mode 100644 index eec3446..0000000 Binary files a/uDoc.dcu and /dev/null differ diff --git a/uDoc.ddp b/uDoc.ddp deleted file mode 100644 index 4370276..0000000 Binary files a/uDoc.ddp and /dev/null differ diff --git a/uDoc.~dfm b/uDoc.~dfm deleted file mode 100644 index 3d94313..0000000 --- a/uDoc.~dfm +++ /dev/null @@ -1,2033 +0,0 @@ -object fDoc: TfDoc - Left = 328 - Top = 284 - Width = 781 - Height = 448 - Caption = 'Profiler Document' - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [] - FormStyle = fsMDIChild - Icon.Data = { - 0000010001001010100000000000280100001600000028000000100000002000 - 00000100040000000000C0000000000000000000000000000000000000000000 - 000000008000008000000080800080000000800080008080000080808000C0C0 - C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000 - 00000000000000000000000000000FFFFFFFFFFFFFF00F00F00F000F00F00FFF - FFFFFFFFFFF00F00F00FF00000F00FEEEEEFF0F9FCF00FFFFFFFF0F9FCF00F00 - 00FFF0FFFCF00F0000FFF0FFFFF00FFFFFFFFFFFFFF00CCCCCCCCCCCCCC0088C - CCCCCCCCC880000000000000000000000000000000000000000000000000FFFF - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000FFFF0000FFFF0000} - Menu = mm - OldCreateOrder = False - Position = poDefault - ScreenSnap = True - ShowHint = True - Visible = True - OnClose = FormClose - OnCreate = FormCreate - OnDestroy = FormDestroy - PixelsPerInch = 96 - TextHeight = 13 - object Splitter1: TSplitter - Left = 261 - Top = 28 - Width = 4 - Height = 366 - end - object tb: TToolBar - Left = 0 - Top = 0 - Width = 773 - Height = 28 - AutoSize = True - BorderWidth = 1 - Caption = 'tb' - DragKind = dkDock - EdgeBorders = [ebBottom] - Flat = True - Images = il - TabOrder = 0 - object ToolButton7: TToolButton - Left = 0 - Top = 0 - Action = aViewGoToUpOneLevel - end - object ToolButton12: TToolButton - Left = 23 - Top = 0 - Action = aTreeGoToRoot - end - object ToolButton8: TToolButton - Left = 46 - Top = 0 - Width = 8 - Caption = 'ToolButton8' - ImageIndex = 4 - Style = tbsSeparator - end - object ToolButton10: TToolButton - Left = 54 - Top = 0 - Action = aProfilerFind - end - object ToolButton9: TToolButton - Left = 77 - Top = 0 - Width = 8 - Caption = 'ToolButton9' - ImageIndex = 3 - Style = tbsSeparator - end - object ToolButton4: TToolButton - Left = 85 - Top = 0 - Action = aViewMs - end - object ToolButton5: TToolButton - Left = 108 - Top = 0 - Action = aViewPercent - end - object ToolButton1: TToolButton - Left = 131 - Top = 0 - Width = 8 - Caption = 'ToolButton1' - ImageIndex = 3 - Style = tbsSeparator - end - object ToolButton2: TToolButton - Left = 139 - Top = 0 - Action = aViewFullPath - end - object ToolButton6: TToolButton - Left = 162 - Top = 0 - Width = 8 - Caption = 'ToolButton6' - ImageIndex = 3 - Style = tbsSeparator - end - object ToolButton11: TToolButton - Left = 170 - Top = 0 - Action = aViewHideFastFuncs - end - object ToolButton3: TToolButton - Left = 193 - Top = 0 - Action = aViewHideLibFuncs - end - end - object tv: TTreeView - Left = 0 - Top = 28 - Width = 261 - Height = 366 - Align = alLeft - ChangeDelay = 50 - HideSelection = False - Images = ilCacheGrind - Indent = 19 - PopupMenu = pmTree - ReadOnly = True - RowSelect = True - ShowRoot = False - TabOrder = 1 - OnChange = tvChange - OnCollapsing = tvCollapsing - OnExpanding = tvExpanding - OnKeyDown = tvKeyDown - end - object Panel1: TPanel - Left = 265 - Top = 28 - Width = 508 - Height = 366 - Align = alClient - BevelOuter = bvNone - Caption = ' ' - TabOrder = 2 - object pcProfiler: TPageControl - Left = 0 - Top = 53 - Width = 508 - Height = 313 - ActivePage = tsMerged - Align = alClient - Images = il - TabOrder = 0 - object tsLBL: TTabSheet - Caption = 'Line by Line' - object lvLBL: TListView - Left = 0 - Top = 0 - Width = 500 - Height = 284 - Align = alClient - Columns = < - item - Caption = 'Function' - Width = 180 - end - item - Alignment = taRightJustify - Caption = 'Self' - Width = 60 - end - item - Alignment = taRightJustify - Caption = 'Cum.' - Width = 60 - end - item - Caption = 'File' - Width = 120 - end - item - Caption = 'Called from' - Width = 200 - end> - HideSelection = False - OwnerData = True - ReadOnly = True - RowSelect = True - PopupMenu = pmLBL - SmallImages = ilCacheGrind - TabOrder = 0 - ViewStyle = vsReport - OnColumnClick = lvLBLColumnClick - OnData = lvLBLData - OnDblClick = lvLBLDblClick - OnKeyDown = lvLBLKeyDown - end - end - object tsMerged: TTabSheet - Caption = 'Overall' - ImageIndex = 1 - object Splitter2: TSplitter - Left = 0 - Top = 156 - Width = 500 - Height = 4 - Cursor = crVSplit - Align = alBottom - end - object lvMerged: TListView - Left = 0 - Top = 33 - Width = 500 - Height = 107 - Align = alClient - Columns = < - item - Caption = 'Function' - Width = 220 - end - item - Alignment = taRightJustify - Caption = 'Avg. Self' - Width = 60 - end - item - Alignment = taRightJustify - Caption = 'Avg. Cum.' - Width = 65 - end - item - Alignment = taRightJustify - Caption = 'Total Self' - Width = 60 - end - item - Alignment = taRightJustify - Caption = 'Total Cum.' - Width = 70 - end - item - Alignment = taRightJustify - Caption = 'Calls' - end> - HideSelection = False - OwnerData = True - ReadOnly = True - RowSelect = True - PopupMenu = pmMerged - SmallImages = ilCacheGrind - TabOrder = 1 - ViewStyle = vsReport - OnColumnClick = lvMergedColumnClick - OnData = lvMergedData - OnSelectItem = lvMergedSelectItem - end - object lvMergedInstances: TListView - Left = 0 - Top = 160 - Width = 500 - Height = 124 - Align = alBottom - Columns = < - item - Caption = 'Num.' - end - item - Alignment = taRightJustify - Caption = 'Self' - Width = 60 - end - item - Alignment = taRightJustify - Caption = 'Cum.' - Width = 60 - end - item - Caption = 'Called by' - Width = 180 - end - item - Caption = 'Called from' - Width = 200 - end - item - Caption = 'Stack trace' - Width = 2000 - end> - HideSelection = False - OwnerData = True - ReadOnly = True - RowSelect = True - PopupMenu = pmMergedInstances - TabOrder = 2 - ViewStyle = vsReport - OnColumnClick = lvMergedInstancesColumnClick - OnData = lvMergedInstancesData - OnDblClick = lvMergedInstancesDblClick - OnKeyDown = lvMergedInstancesKeyDown - end - object Panel2: TPanel - Left = 0 - Top = 0 - Width = 500 - Height = 33 - Align = alTop - BevelOuter = bvNone - Caption = ' ' - TabOrder = 0 - object Label1: TLabel - Left = 32 - Top = 8 - Width = 23 - Height = 13 - Caption = 'Fi&nd:' - FocusControl = cbFind - end - object Image1: TImage - Left = 8 - Top = 8 - Width = 16 - Height = 16 - AutoSize = True - Picture.Data = { - 07544269746D6170F6000000424DF60000000000000076000000280000001000 - 0000100000000100040000000000800000000000000000000000100000000000 - 0000000000000000800000800000008080008000000080008000808000008080 - 8000C0C0C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF - FF008888888888888888888888888888888800000888880000080F000888880F - 00080F000888880F0008000000080000000800F000000F00000800F000800F00 - 000800F000800F0000088000000000000088880F00080F000888880000080000 - 088888800088800088888880F08880F088888880008880008888888888888888 - 8888} - Transparent = True - end - object lFind: TLabel - Left = 396 - Top = 8 - Width = 28 - Height = 13 - Caption = 'lFind' - Font.Charset = DEFAULT_CHARSET - Font.Color = clRed - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [fsBold] - ParentFont = False - ShowAccelChar = False - Visible = False - end - object cbRE: TCheckBox - Left = 280 - Top = 8 - Width = 113 - Height = 17 - Caption = '&Regular expression' - TabOrder = 1 - OnClick = cbREClick - end - object cbFind: TJvComboBox - Left = 64 - Top = 4 - Width = 209 - Height = 21 - ItemHeight = 13 - TabOrder = 0 - OnChange = cbFindChange - OnSelect = cbFindSelect - Items.Strings = ( - '^(include|require|include_once|require_once)::' - '^php::' - '^pear::') - end - end - object Panel3: TPanel - Left = 0 - Top = 140 - Width = 500 - Height = 16 - Align = alBottom - BevelOuter = bvNone - Caption = ' ' - TabOrder = 3 - object lMerged: TLabel - Left = 4 - Top = 2 - Width = 38 - Height = 13 - Caption = 'lMerged' - ShowAccelChar = False - end - end - end - end - object pInfo: TPanel - Left = 0 - Top = 0 - Width = 508 - Height = 53 - Align = alTop - BevelOuter = bvNone - Caption = ' ' - TabOrder = 1 - object lInfoName: TLabel - Left = 24 - Top = 4 - Width = 58 - Height = 13 - Caption = 'lInfoName' - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [fsBold] - ParentFont = False - ShowAccelChar = False - end - object lInfo: TLabel - Left = 4 - Top = 36 - Width = 20 - Height = 13 - Caption = 'lInfo' - ShowAccelChar = False - end - object lInfoFileName: TLabel - Left = 4 - Top = 20 - Width = 64 - Height = 13 - Caption = 'lInfoFileName' - ShowAccelChar = False - end - object iInfo: TImage - Left = 4 - Top = 4 - Width = 16 - Height = 16 - AutoSize = True - Transparent = True - end - end - end - object ilCacheGrind: TImageList - Left = 256 - Top = 172 - Bitmap = { - 494C01010B000E00040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 - 0000000000003600000028000000400000004000000001002000000000000040 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000F7FFF700EFF7EF00FFFF - FF00F7FFF700F7FFFF00F7F7EF00FFFFEF00EFF7EF00FFFFF700F7F7FF00FFF7 - FF00FFFFEF00FFF7E700FFFFEF00EFF7E70000000000C0C0C000F0FBFF00F0FB - FF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00F0FB - FF00F0FBFF0004000000000000000000000000000000FFF7F700FFFFEF00FFFF - EF00FFF7FF00FFF7FF0000000000F7FFFF00F7F7F700F7FFFF00F7FFFF00FFF7 - FF00F7F7FF00FFF7FF00FFF7FF00FFF7FF000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000F7FFFF00F7FFF700FFFFF700EFEF - E700F7FFFF00F7FFF700FFFFF700FFFFF700FFFFF700EFF7F700000000007384 - 8C007B847300949C8C00EFEFE700F7FFF70078544C0078544C00F0FBFF00F0FB - FF0030002E0030002E001A000100F0FBFF00F0FBFF0004000000240004000800 - 0000F0FBFF000400000000000000000000000000000000000000000000000000 - 0000080810000000000000000000000808000008000000000000000008000000 - 0800000008000000080000000800000008000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000EFF7F700FFFFF700EFEFE700FFFF - EF00EFF7EF00F7FFF700EFEFE700F7FFF700F7F7F70000000000000008000008 - 0800000808006B8C8C0084949400FFF7FF00A4A0A00078544C00F0FBFF00F0FB - FF00A8744100A87441001A000100F0FBFF00F0FBFF0078544C008C7441007854 - 4C00F0FBFF00040000000000000000000000000000008C848C00737B84007B94 - 9C006B847B006B947B006B9C73006B947300738C7B007384840073848400848C - 94007B848400848C8C007B848400000008000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000F7F7FF00F7FFFF00FFFFFF00E7EF - EF00848C8400E7EFEF00FFFFFF00F7F7EF00000000006384840042848C002173 - 730029737B0000080800738C94007B7B8C00A4A0A00078544C00F0FBFF00F0FB - FF00A8744100A4A0A0003C1000003C1000003C10000078544C008C7441007854 - 4C00F0FBFF00040000000000000000000000F7F7EF008C8C9400DEF7FF00BDEF - EF007BC69C000031000052AD5200002100005AA56B00B5EFC6006B9C73005A94 - 630073A57300638C6B0073847B00000810000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000EFF7FF00DEE7FF00EFEFFF008484 - 9C008C8C9C008C949C00E7EFEF0000000000D6FFFF0031847B00006B6300007B - 7B001884840021737B000000100073849400A4A0A00030002E0078544C00A874 - 4100A8744100A8744100A8744100A8744100A8744100A87441008C7441003100 - 2E00F0FBFF00040000000000000000000000000000007B8C8400CEFFEF008CE7 - B5000031000042D6420029BD29004ADE52000042000042C64A0052DE4A0052C6 - 420052C642005AA55200738C7B00000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000E7EFFF0031427B00000039000000 - 3100636394008484A5007B7B8400638484003173730010848400007B73000084 - 7B0000848400188484000008080073848C00A4A0A00078544C0078544C008C74 - 4100A8744100A8744100A8744100A8744100A8744100A8744100A87441007854 - 4C00F0FBFF000400000000000000000000000000000073847B00CEFFEF000063 - 210042D6520029CE31004ADE5200008400000084000000420000008C000039EF - 290042D6290052B5420073947300000808000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000DEE7FF0021299C001818A5002921 - AD0000004A006B639C008C8CA5006B8C8C00187B840063F7F700008C8C00007B - 7B00007B7B0008847B0031737300DEFFFF00F0CAA600F0CAA600F0CAA600A4A0 - A000A87441002A0700002A070000A8744100A8744100A8744100A87441007854 - 4C00F0FBFF00040000000000000000000000FFF7FF00848C8C00D6FFF7007BCE - 9400087B210039BD5A0094FFAD006BE78C00003100000084000029E7290031EF - 290029CE290042AD4200638C6B00000008000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000CED6FF001818AD001818D6002118 - D6003118A5000000390000001800738C9400187B84006BFFFF0039DEDE000084 - 840000847B00107B7B00397B7B00DEFFFF00F0CAA600A874410078544C00A4A0 - A000A4A0A000A4A0A0002A070000A8744100A8744100A8744100A87441007854 - 4C0004000000040000001A0001001A000100FFF7FF007B848C00D6FFF700B5FF - DE0073D6A500087339006BD6A500006B21000084100031CE420021E7310029E7 - 290031CE420042AD5200738C8400000008000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000D6D6FF001008B5001818D6000810 - D60000007B0018086B002110420000001000BDFFFF0031949C0073E7EF007BF7 - FF00007B7B00107B7300D6FFFF0000000000F0CAA600F0CAA600F0CAA600A4A0 - A000A4A0A000A4A0A0002A070000A8744100A8744100A8744100A87441007854 - 4C00F0FBFF000400000078544C0078544C00F7EFFF008C949C00C6F7EF008CCE - C6008CF7E70073DEC60094FFD600006B100039D6520018CE290029D6420052FF - 7B0039C66B0084DEAD00738C7B00000008000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000D6D6FF002121BD000008C6000000 - AD00000084000000520031214A00FFFFFF00E7FFFF00D6FFFF0042737B00296B - 6B0031848C00BDFFFF00E7FFFF00F7F7F70000000000F0CAA600F0CAA600F0CA - A600F0CAA600A4A0A0002A070000F0CAA600F0CAA600F0CAA600F0CAA600F0FB - FF00F0FBFF00040000000000000000000000FFF7FF006B737B00D6FFFF0094E7 - DE007BD6DE007BE7DE006BD6AD0039AD6B0039BD4A0052DE5A005AEF7B007BFF - AD007BDEAD00B5F7D6006B847B00000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000E7DEFF0021219C002121A5000000 - 730000086300EFEFFF00FFF7FF009C8484009C847B00846B6300C6949C009C84 - 84006B84840073949400E7EFEF00FFF7FF000000000080808000F0FBFF00F0FB - FF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00F0FB - FF00F0FBFF0004000000000000000000000000000000848C8C00CEFFF700C6FF - FF00B5FFFF00B5FFFF00C6FFFF00CEFFF70063A56B00CEFFCE00DEFFEF00D6FF - F700DEFFF700E7FFF70073847300000800000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000E7E7FF0029297B0029297B00CED6 - FF00E7EFFF00E7E7FF00948C8C00FFF7E70052210800AD5A42007B0000006310 - 080018000000848C8400FFF7FF00FFF7FF000000000080808000F0FBFF00F0FB - FF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00040000000400 - 000004000000040000000000000000000000FFF7FF00848C8C009CC6BD009CDE - CE008CD6CE00ADEFF70094C6CE00BDDEDE00A5BDAD009CA59C006B737300848C - 9400848C94007B847B008C948C00FFFFEF000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000EFF7FF00E7E7FF00EFEFFF00F7F7 - FF00E7E7EF00F7FFF700F7FFDE00D6C69400FFFFCE009C290000B5000000BD18 - 18003900000084737300FFFFF700FFFFF7000000000080808000F0FBFF00F0FB - FF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00C0C0C000F0FB - FF0080808000000000000000000000000000FFEFFF00F7EFFF0084A59C0094CE - BD008CCEC6008CCEC600BDEFEF00A5CECE00848C9400EFF7F70000000000F7F7 - F700F7F7F700FFF7FF00F7F7FF00F7F7F7000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000E7EFFF00F7FFFF00F7EFEF00FFFF - FF00FFFFF700FFFFEF00FFFFDE00FFFFCE00A56B2900CE522900BD000000D610 - 10004A000000AD948C00F7F7EF00FFFFFF000000000080808000F0FBFF00F0FB - FF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00C0C0C0008080 - 800000000000000000000000000000000000FFF7FF00FFF7FF00D6EFE70084A5 - 9C00639C84006BA59400527B7B006B848C00F7FFFF00F7F7FF00FFF7F7000000 - 0000FFF7FF00F7F7FF00F7EFFF00F7F7F7000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000FFFFFF00FFF7FF00FFFFFF00FFF7 - F700F7EFEF00FFFFEF00FFFFD600D6CE8400FFFFBD009C210000DE100800C600 - 0800520000009C8C7B00FFFFFF00F7FFF7000000000080808000808080008080 - 8000808080008080800080808000808080008080800080808000808080000000 - 000000000000000000000000000000000000F7F7F70000000000FFF7FF00EFF7 - F700F7FFFF00EFF7F700F7FFFF00F7F7FF00F7FFF70000000000FFFFF700FFF7 - F700FFF7FF000000000000000000EFF7F7000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000FFFFFF00FFF7F700FFF7FF00FFF7 - FF00FFFFFF00FFFFEF00FFFFCE00FFFFCE00A5732900CE522900D6080000B500 - 000063100800FFFFEF00FFFFF700EFF7FF000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000FFFFF700F7F7EF00FFF7FF00FFF7 - FF00FFF7FF00F7F7F700FFF7FF00F7F7FF00FFFFF700FFF7F700FFFFEF000000 - 0000FFF7FF00F7F7FF00F7F7EF00F7FFF7000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000FFEFFF00FFF7 - FF0000000000F7F7F700EFFFF70073847B0073847B007B847B00F7FFF7000000 - 0000FFFFEF00F7FFF700EFFFF700F7FFFF000000000000000000FFEFFF00FFF7 - FF0000000000F7F7F700EFFFF70073847B0073847B007B847B00F7FFF7000000 - 0000FFFFEF00F7FFF700EFFFF700F7FFFF000000000000000000FFEFFF00FFF7 - FF0000000000F7F7F700EFFFF70073847B0073847B007B847B00F7FFF7000000 - 0000FFFFEF00F7FFF700EFFFF700F7FFFF000000000000000000FFF7FF00FFF7 - FF00FFF7FF00F7FFFF00EFFFEF007B8C840073847B007B8C7B00F7F7FF00FFFF - F700FFFFF700F7FFF700EFFFF700F7FFFF00F7FFFF00F7FFF700FFF7FF00F7F7 - FF00EFFFEF00E7FFE7000018000000180000001800006B846B00849C7B00EFFF - E70063945A004A844A0073AD8400638C6B00F7FFFF00F7FFF700FFF7FF00F7F7 - FF00EFFFEF00E7FFE7000018000000180000001800006B846B00849C7B00EFFF - E70063945A004A844A0073AD8400638C6B00F7FFFF00F7FFF700FFF7FF00F7F7 - FF00EFFFEF00E7FFE7000018000000180000001800006B846B00849C7B00EFFF - E70063945A004A844A0073AD8400638C6B00F7FFF700F7F7F700F7F7FF00F7F7 - FF00EFFFEF00D6FFD6000021000000100000001800006B846B00849C7B00EFFF - E70063945A004A844A0073AD8400638C6B00EFFFF700EFFFF700F7F7F700EFFF - EF00BDFFBD000042000039BD310052CE5200105A1800002100005AA55A005ABD - 5A0039BD39004ADE5A0042B5520042B55200EFFFF700EFFFF700F7F7F700EFFF - EF00BDFFBD000042000039BD310052CE5200105A1800002100005AA55A005ABD - 5A0039BD39004ADE5A0042B5520042B55200EFFFF700EFFFF700F7F7F700EFFF - EF00BDFFBD000042000039BD310052CE5200105A1800002100005AA55A005ABD - 5A0039BD39004ADE5A0042B5520042B55200E7FFEF00F7FFFF00F7FFF700EFFF - EF00CEFFCE00003100004AC642004AC64200105A1800002100005AA55A005ABD - 5A0039BD39004ADE520042B5520042B55200E7FFE700F7FFF700F7FFF700DEFF - DE000021000039C6390039DE310042DE4200107318000018000031943100008C - 000031EF310021D6210029CE390039BD3900E7FFE700F7FFF700F7FFF700DEFF - DE000021000039C6390039DE310042DE4200107318000018000031943100008C - 000031EF310018DE210031C6390031C63900E7FFE700F7FFF700F7FFF700DEF7 - D6000029000039C6390039DE310042DE4200107318000018000031943100008C - 000031EF310018DE210031C6390039BD3900EFFFF700F7FFF700EFEFE700E7FF - E700002900004AD64A0029CE21004ADE4A00107318000018000031943100008C - 000031EF310018DE210031C6390039BD3900F7FFEF00F7F7E700000000007B94 - 7B0073C6730042BD4A005AD65A0021AD3100187B21000029000000310000004A - 000018DE210010E7100042E74A0029BD3100F7FFEF00F7F7E700000000007B94 - 7B0073C6730042BD4A005AD65A0021AD3100187B21000021000000310000004A - 000018EF180018DE210042E74A0029BD3100F7FFEF00F7F7E700000000007B94 - 7B0073C6730042BD4A005AD65A0021AD3100187B21000021000000310000004A - 000018EF180018DE210042E74A0029BD3100E7FFE700FFFFF700000000007B8C - 7B0052A54A004AC64A004AC64A0029B53900187B21000029000000310000004A - 000018EF180018DE210042E74A0029BD3100FFFFEF00FFFFF700FFFFF700EFFF - EF0063945A007BCE7B002994390052BD5A0008731000007308000094080008BD - 180029EF290021D6210042BD4A0042BD4A00FFFFEF00FFFFF700FFFFF700EFFF - EF0063945A007BCE7B002994390052BD5A0008731000007308000094080008BD - 180031DE310021D6210039CE420042B55200FFFFEF00FFFFF700FFFFF700EFFF - EF0063945A007BCE7B002994390052BD5A0008731000007308000094080008BD - 180031DE310021D6210039CE420042B55200FFFFF700EFEFE700FFFFF700F7FF - F7007BAD730063BD6B0039A54A004AB5520008731000007308000094080008BD - 180031DE310021D6210039CE420042B5520000000000F7F7E700F7FFF700F7FF - F700EFF7EF007B948400E7FFE700529C4A0000730800008C000029C6290039DE - 420039CE4200BDFFC60063BD6B00CEFFCE0000000000F7F7E700F7FFF700F7FF - F700EFF7EF007B948400E7FFDE00529C4A0000730800008C000029D6290042DE - 420039CE4200BDFFBD0063BD6B00CEFFCE0000000000F7F7E700F7FFF700F7FF - EF00EFF7EF007B948400E7FFE700529C4A0000730800008C000029D6290039DE - 420039CE4200BDFFBD0063BD6B00CEFFCE00FFF7F700FFFFF700000800000008 - 00000008000000080000001800000021000000730800008C000029D6290039DE - 420039CE4200BDFFC60063BD6B00CEFFCE00F7F7F700F7FFFF00EFFFE700F7FF - F700FFF7FF00FFEFF700F7FFEF0073A56300007B000039DE420031DE31004ADE - 4A00CEFFCE00D6FFDE00DEFFE700E7FFE700F7F7F700F7FFFF00EFFFE700F7FF - F70000000000FFEFF700F7FFEF0073A563000073080039DE420031DE31004ADE - 4A00CEFFCE00D6FFDE00DEFFE700E7FFE700F7F7F700F7FFFF00EFFFE700F7FF - F700FFF7FF00FFEFF700F7FFEF0073A563000073080039DE420031DE31004ADE - 4A00CEFFCE00D6FFDE00DEFFE700E7FFE7000000000000000000E7FFE7008C94 - 840073738400948C94007B846B0000180000007B000039CE420031DE31004AD6 - 4A00CEFFCE00D6FFDE00DEFFE700E7FFE700F7F7FF00EFFFF700EFFFF700F7FF - EF00FFF7F70000000000FFEFEF00849C7B0052C64A0029C629005AE76300ADFF - B500E7FFE700F7FFEF00F7FFF700F7FFEF00F7FFFF00EFFFF700EFFFF700F7FF - EF00FFEFF70000000000FFEFEF008CAD7B0052C64A0029C629005AE76300ADFF - B500E7FFE700F7FFEF00F7FFF700F7FFF700F7FFFF00EFFFF700EFFFF700F7FF - EF00FFF7F70000000000F7EFE7008CAD840052C64A0029C629005AE76300ADFF - B500E7FFE700F7FFEF00F7FFF700F7FFF700F7FFFF0000000000EFFFF700B5C6 - AD00CEB5B500DEC6C600948484000018000052C64A0029C629005AE76300ADFF - B500E7FFE700F7F7EF00F7FFF700F7FFF700F7FFFF00F7FFFF00EFFFF7000008 - 00000800000000000000FFFFF700E7FFD60052B552005AD65A00ADFFB500DEFF - DE00F7FFF700FFF7F70000000000FFFFF700F7FFFF00F7F7F700EFFFF700F7FF - F700FFFFF7000000000000000000DEFFDE0052B552005AD65A00ADFFB500DEFF - DE00F7FFF700FFF7FF00FFFFF700FFFFF700F7FFFF00F7FFF700EFFFF700F7FF - F700FFF7F700FFF7F70000000000DEF7D60052B552005AD65A00ADFFB500DEFF - DE00F7FFF700FFF7F700FFFFF700FFFFF700F7FFFF0000000000E7FFE700C6CE - C600CEBDBD00CEB5B500A59494000010000052B552005AD65A00ADFFB500D6FF - DE00FFFFF700FFF7F70000000000F7FFF70000000000F7F7F700F7FFF7000800 - 000000000800FFEFF700FFFFF700EFFFEF00D6FFDE00D6FFDE00E7FFEF00F7FF - F700FFF7F700FFEFF700FFFFF700FFFFF70000000000EFF7EF00000000000000 - 0000FFEFFF00FFEFF700FFFFEF00EFFFEF00D6FFDE00D6FFE700E7FFE700F7FF - F700FFF7FF00FFEFF700FFFFF700FFFFEF0000000000F7FFF700000000000000 - 0000FFEFF700FFEFFF00FFFFEF00EFFFEF00D6FFDE00D6FFE700E7FFE700F7FF - F700FFF7FF00FFEFF700FFFFF700FFFFF700F7F7EF0008081000F7F7EF000000 - 0000FFF7FF00FFF7F700FFFFF70000100000D6FFDE00D6FFE700E7FFEF00F7FF - F700FFF7F700FFEFF700FFFFF700FFFFF7000000000000000000000000000000 - 1000000008000000080000080000EFFFEF00EFFFF700F7FFFF00F7F7FF00FFF7 - F700FFEFFF00FFF7FF00FFFFF700F7FFF7000000000000000000000008000000 - 1000000008000000080000080000EFFFEF00EFFFF700F7FFFF00F7F7FF00FFF7 - FF00FFEFF700FFF7FF0000000000F7FFEF00FFFFF700FFF7F70000000000FFF7 - FF00F7F7FF00F7F7F700EFF7EF00EFFFEF00EFFFF700F7FFFF00F7F7FF00FFF7 - F700FFEFFF00FFF7FF00FFFFF700F7FFF70000000000F7F7EF00080810000000 - 0800080008000808100000080000EFFFEF00F7FFFF00EFFFF700FFF7FF00FFF7 - F700FFEFFF00FFF7FF0000000000EFFFEF00FFFFF70000000000000010000000 - 1000000010000008000000080000F7FFF700F7FFF700FFEFF700FFF7FF00FFF7 - FF0000000000FFFFF700F7FFFF00F7F7FF000000000000000000000010000000 - 1000000008000008000000080000F7FFF700F7FFF700F7F7F700FFF7FF00FFF7 - FF0000000000FFFFF700F7FFFF00F7F7FF00FFFFF70000000000FFF7FF00F7F7 - FF00F7FFFF00F7FFFF00EFFFF700F7FFF700F7F7F700F7F7F700FFF7FF00FFF7 - FF0000000000FFFFF700F7FFFF00F7F7FF00F7F7F7000000000000000800F7F7 - FF00E7EFF700E7EFF70000100000F7FFF700F7FFF700FFEFF700FFF7FF00FFF7 - FF0000000000FFFFF700F7FFFF00F7F7FF00FFFFF700F7FFFF00F7F7FF000000 - 100000000000F7FFF700F7FFF700000000000000000000000000FFF7FF00FFF7 - FF0000000000FFFFF700F7FFFF00F7FFFF00FFFFF700F7F7F700F7F7FF00F7F7 - FF00F7FFFF00F7FFFF00F7FFEF000000000000000000FFF7FF00FFF7FF000000 - 000000000000FFFFF700F7FFFF00F7F7FF00FFFFF70000000000F7F7FF00F7F7 - FF00F7FFFF00F7FFFF00F7FFF70000000000FFFFF70000000000FFF7FF00FFF7 - FF0000000000FFFFF700F7FFFF00F7FFFF00FFFFF700F7F7F700000010007373 - 8400F7FFFF00848C840000080000F7F7F7000000000000000000FFF7FF00FFF7 - FF0000000000FFFFF700F7FFFF00F7FFFF0000000000F7FFF700F7FFFF000000 - 000000000000FFF7F700FFF7FF00FFF7FF00FFFFF700FFF7F700F7FFF700F7FF - FF00FFFFF70000000000F7F7F700EFF7EF0000000000F7FFFF00F7FFFF00F7FF - FF0000000000F7F7F700FFF7FF00FFF7FF00FFFFF700F7F7F700F7FFF700F7FF - FF00FFFFF70000000000F7F7F700EFF7EF00FFFFF700F7FFFF00F7FFFF00F7FF - FF00F7F7F700FFF7FF00FFF7F700FFF7F700FFF7FF00FFF7F700F7FFF700F7FF - F70000000000FFFFF700F7F7F700EFF7EF00F7F7EF00F7FFFF00F7FFFF000008 - 00000000000010000800FFF7FF0000000000FFF7F700FFF7F700F7FFF700F7FF - FF00FFFFF70000000000F7F7F700F7F7EF00F7FFF700F7FFFF00EFFFF700F7FF - F700FFF7FF00FFF7FF00FFF7FF00FFF7F700FFF7FF00FFFFF700F7FFF700F7FF - F70000000000FFFFF700FFFFF700FFFFF70000000000F7FFF700EFFFF700F7FF - F700FFF7FF00FFF7FF00FFF7FF00FFF7FF00FFFFF70000000000F7FFF700F7FF - F700FFFFF700FFFFF700FFFFF700FFFFF70000000000F7FFF700EFFFF700F7FF - F70000000000FFF7FF00FFF7FF00FFF7FF0000000000FFFFF700F7FFF700F7FF - F70000000000FFF7F700FFFFF700FFFFF70000000000F7FFF700E7FFEF00EFFF - F70000000000FFF7FF00FFF7FF00FFEFF700FFF7F70000000000F7FFF700F7FF - F700FFFFF700FFFFF700FFFFF700FFFFF7000000000000000000FFF7F700FFFF - FF00FFF7F700FFFFFF00F7F7F700F7FFFF00F7FFFF00F7F7F700FFFFFF00FFF7 - F700FFFFFF00FFF7F700000000000000000000000000EEEEEE00DDDDDD00DDDD - DD00DDDDDD00DDDDDD00DDDDDD00DDDDDD00DDDDDD00DDDDDD00DDDDDD00DDDD - DD00EEEEEE000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000EEEEEE00CCCCCC00DDDD - DD00EEEEEE000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000FFFFF700F7FFFF00F7F7F700E7FF - FF00E7FFFF00DEF7FF00DEFFFF00DEF7FF00D6F7FF00E7FFFF00DEFFFF00E7FF - FF00EFFFFF00F7F7F700F7FFFF0000000000EEEEEE00BBBBBB00888888008888 - 880088888800888888008888880088888800888888008888880088888800AAAA - AA00DDDDDD000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000000000009EBDA300898F89009999 - 9900CCCCCC00EEEEEE0000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000FFF7F700EFF7EF00D6FFFF000010 - 1000001010000008080000101000000808000008080000080800000808000008 - 080000101000D6FFFF00EFF7EF00FFF7F700BC927A00843C15007A3A19007239 - 1900723919007239190072391900723919006E3616005F2E1200491E07008888 - 8800DDDDDD000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000050BB6C00285A32006666 - 6600898F8900AAAAAA00CCCCCC00EEEEEE000000000000000000000000000000 - 000000000000000000000000000000000000F7F7EF00EFFFFF00000808007BEF - EF0063EFEF0063FFF7006BEFEF007BEFEF007BEFEF006BEFEF005AF7EF0063FF - F7007BEFEF0000080000EFFFFF00F7F7EF00D1AB9400B9775000C7A78E00BD9B - 7D00B8967800B8967800B3947500B58F6E00AA856400977557005B2A0F008888 - 8800DDDDDD000000000000000000000000000000000000669900006699000066 - 9900015E8B000066990000669900006699000066990000669900006699000066 - 99000066990000669900006699001880B000000000005BC0760032AF57000359 - 1C0027482C0066666600898F8900BBBBBB00DDDDDD00EEEEEE00000000000000 - 000000000000000000000000000000000000F7FFFF00E7FFFF00000808006BEF - EF0042FFF70029F7F7005AF7FF0000101000001018005AF7FF0029F7F70042FF - F7006BEFEF0000080000E7FFFF00F7FFFF00DEB5A500D0967200F5DABE00EBCE - B200E4C6A800E0C0A100E0C0A100DAB89600C8A78600B39475006E3515008888 - 8800DDDDDD000000000000000000000000000066990043D5F00043D5F0003DC4 - DF001E996300288C95003AC0DE0039CBEF0039CBEF0039CBEF0032C5F30032C5 - F30032C5F30032C5F30026B1E40000669900000000005BC0760043C05700157B - 200002521A00054D1600454F46007777770099999900BBBBBB00DDDDDD000000 - 000000000000000000000000000000000000EFFFFF00DEFFFF00000810006BEF - EF0029F7F70021FFFF0042EFF700001021000010210042EFF70021FFFF0029FF - F7006BEFEF0000080800DEFFFF00EFFFFF00DBBDAC00D29C7D00FFE7CE006666 - 66006666660066666600666666006666660066666600BDA08500723919008888 - 8800DDDDDD00000000000000000000000000006699004FE8FF004FE8FF0042C6 - DC0030AF5800077D2A0020796D003ABBD7003DD0F5003FD8FF003FD8FF003CD5 - FF003CD5FF003CD5FF0032C5F30000669900000000005BC0760043C0570028A1 - 2800218920000E721F00015C1E00184E22005555550077777700AAAAAA00CCCC - CC00EEEEEE00000000000000000000000000F7F7F700EFFFFF00DEF7FF000010 - 180021EFE70018FFF70042FFFF0042EFF70042EFF70042F7FF0018FFF70021EF - E70000101800DEF7FF00EFFFFF00F7F7F700DBBDAC00D3A08400FFE9D400FFE7 - CE00FFE3C700FFE3C700FFE3C700FFDDBB00E0C0A100BFA287006E3616008888 - 8800DDDDDD000000000000000000000000000066990054EDFF0054EDFF0043C5 - D90038B35E000CA63400017C29000C6C2A00288C95003AC0DE003DD0F5003FD8 - FF003FD8FF003FD8FF0032C5F30000669900000000005BC0760043C65C0045D4 - 49002CAF2A00299F23001D831D00096B1F0002521A0027482C0066666600898F - 8900BBBBBB00DDDDDD000000000000000000FFFFFF00FFFFFF00FFF7F7000008 - 100042FFF70018FFF70042EFF700001021000010210039F7F70018FFF70052F7 - EF0000081000F7FFFF00FFFFFF00FFF7F700DBC1B200D3A08400FFEEDD006666 - 66006666660066666600666666006666660066666600BFA287006E3616008888 - 8800DDDDDD000000000000000000000000000066990058F1FF0054EDFF0043C5 - D90038B35E001AB839003DD03E0011A83000017C2900106B34002F9AB0003BC6 - E8003DD3FA003CD5FF0032C5F30000669900000000005BC0760043C65C0045DE - 530033CC330030BD2E002CAA250028961D001A881E00025F1E0007411200364A - 3800898F8900CCCCCC00EEEEEE0000000000FFFFFF00FFF7F700FFFFFF000000 - 080052EFE70039FFF70042EFF700000818000010180042EFF70042FFF7004AEF - E70000000800FFFFFF00FFF7F700FFFFFF00DBC1B200D3A28600FFEEDD00FFEE - DD00FFE9D400FFE7CE00FFE7CE00FFE3C700E1C7AC00BDA085006E3616008888 - 8800DDDDDD000000000000000000000000000066990058F1FF0058F1FF0043C5 - D90038B663001ABC3D0033D63D003DD03E0032BD3700099F3000017C29001F82 - 6B003DD0F5003FD8FF0032C5F30000669900000000005BC37A0043C9610045DE - 530033D53C0033CC330033CC330034C12B002FB1220033AD200026A74100169A - 420054A15E00DDDDDD000000000000000000FFFFF700FFFFFF00F7F7F700D6F7 - FF000021180052F7EF005AF7FF0000101800002118005AF7FF0052F7EF000021 - 1800D6F7FF00F7F7EF00FFFFFF00FFF7F700DBC1B200D3A48B00FFF2E6006666 - 6600666666006666660066666600FFE7CE00E1C7AC00BDA28A006E3616008888 - 8800DDDDDD00000000000000000000000000006699005BF4FF005BF4FF004CCE - D90038B6630017C0430032DB44002AC63A0010A933000E9C3900239B520034AB - BD0041D6F80043DCFF0039CBEF0000669900000000005BC37A0043C9610045E4 - 590033DB420033D53C0039CE3C003BC7380029AF2E00159735001F9D41009CC5 - A100EEEEEE00000000000000000000000000EFF7EF00F7FFFF00FFFFFF00DEFF - FF000008000084EFF7004AEFE70000101000001010004AEFE70084EFF7000008 - 0000DEFFFF00FFFFFF0000000000EFF7EF00DBC1B200D3A48B00FFF4E900FFF4 - E900FFEEDD00FFEEDD00FFEEDD00FFE9D400E6D0BB00C1A791006E3616008888 - 8800DDDDDD00000000000000000000000000006699005FF8FF005BF4FF004CCE - D90038B6630017C043001ABC3D0012A3410021A44E0042B0AB0042C6DC0041D6 - F80043DCFF0043DCFF0039CBEF0000669900000000005BC37A0043CE650045E4 - 590039DD4C003CD7490037C9440023AD42000F983A00429D5500DDDDDD000000 - 000000000000000000000000000000000000FFFFF700E7EFE700FFFFF700E7FF - FF00CEFFFF00000800005AF7EF0039F7EF0039F7EF005AF7E70000080800CEFF - FF00EFFFF700F7FFFF00E7EFE700FFFFF700DBC1B200D3A48B00FFF8F0006666 - 6600666666006666660066666600FAE7D500EDD9C600C7A78E007A3A19009999 - 9900DDDDDD00000000000000000000000000006699005FF8FF005FF8FF004CCE - D9004ABF720012A3410029B0540041B29D0043C5D9004ADAF1004CE5FF004CE5 - FF0048E1FF0043DCFF003DD0F50000669900000000005BC37A0043CE650035E2 - 520038DA50002EBF4D0021A54A0035A55100BFD2C300EEEEEE00000000000000 - 000000000000000000000000000000000000FFF7F700FFFFFF00E7EFE700F7FF - FF00EFFFF700000808005AEFE70039F7EF0042FFF7005AEFE70000080800E7FF - FF0000000000E7EFE700FFFFFF00FFF7F700DBC2B500D5AA9500FFFCF800FFF8 - F000FFF8F000FFF4E900FFF4E9009F562F008D310200872F020080462300CCCC - CC00EEEEEE00000000000000000000000000006699005FF8FF005FF8FF0052DA - E2004ABF720040BC7F0047C4D00050DFEF004FE8FF004FE8FF004FE8FF004FE8 - FF004FE8FF0048E1FF003DD0F50000669900000000005BC37A0043D36A0026CB - 4B000F983A0021A54A009CCBA700EEEEEE000000000000000000000000000000 - 000000000000000000000000000000000000FFF7F700FFF7F700FFFFFF00F7FF - FF00F7FFFF00D6FFFF00001010005AEFE7005AEFE70000101000D6FFFF00F7FF - FF00FFFFF700FFFFFF00FFF7F700F7F7EF00DFC7BB00D8B09B0000000000FFFC - F800FFFCF800FFF8F000FFF4E900A6613E00872F020096694F00CCCCCC00EEEE - EE0000000000000000000000000000000000006699001382AC0033B4CF0030AD - C8002CA0BA002CA0BA0025A1C5001B92B9000E7DAB000E7DAB000E7DAB000E7D - AB000E7DAB000E7DAB000B76A50000669900000000005BC37A0034B75E00048E - 310054A76A00EEEEEE0000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000FFFFFF00EFF7EF00000000000000 - 0000EFF7EF00F7FFFF00D6F7FF000000080000000800D6FFFF00EFFFFF00EFF7 - EF00F7FFFF0000000000EFF7EF00FFFFFF00E6D2C700D3A48B00DBBDAC00DEB5 - A500D8B09B00D8B09B00D6A59400B06C4A0097755700BBBBBB00EEEEEE000000 - 0000000000000000000000000000000000009DD6E400015E8B0030ADC80033B4 - CF0033B4CF002FAECC000066990058AFCC0097D1E40097D1E40097D1E40097D1 - E40097D1E40097D1E40097D1E400B5DEEC000000000072CE8F003AB05E00BDC6 - BF00EEEEEE000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000F7FFFF0000000000F7FFFF00EFFF - F700FFFFFF00F7F7F700EFFFFF00EFFFFF00EFFFFF00F7F7F700F7F7F700FFFF - FF00EFFFF700F7FFFF0000000000F7FFFF00F8F3F000E6D2C700DFC7BB00DBC2 - B500DBC2B500DBC1B200DBC1B200BDA08500B8A49C00EEEEEE00000000000000 - 000000000000000000000000000000000000FFFFFF0039A1C200006699000066 - 990000669900006699000B76A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000E2F6E800DBF0E1000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000424D3E000000000000003E000000 - 2800000040000000400000000100010000000000000200000000000000000000 - 000000000000000000000000FFFFFF0000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000800080038200000000200003C0000000 - 0040000380000000008000030000000001000003800000000000000380000000 - 0000000300000000000000000000000000010000000000000000800300000000 - 0000800380000000000080030000000000008007002000000000800F00100000 - 0000801F404600000000FFFF00100000C810C810C810C0000000000000000000 - 0000000000000000000000000000000020002000200020000000000000000000 - 8000800080000000000008000000800004000400040000000402060002000002 - 8000B000B00010008000800220008002000880084008400801C80198414800C8 - 80048804000801040008804088888840C0038007FFFF87FF00010007FFFF83FF - 00000007FFFF80FF000000078000803F000000070000801F0000000700008007 - 0000000700008003000000070000800100000007000080030000000700008007 - 000200070000801F000000070000803F00080007000080FF0000200F000083FF - 3004001F000087FF4002003F00009FFF00000000000000000000000000000000 - 000000000000} - end - object il: TImageList - Left = 217 - Top = 100 - Bitmap = { - 494C010112001300040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 - 0000000000003600000028000000400000005000000001002000000000000050 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000FFFFFF00FFFFFF000000 - 00000000000000000000FFFFFF000000000000000000000000000000FF000000 - FF000000FF0000000000000000007F7F7F00000000007F7F7F00000000000000 - 00000000FF000000FF000000FF00000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000FFFF00000000000000000000FFFF - FF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF0000000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000 - FF000000FF000000FF0000000000000000000000000000000000000000000000 - FF000000FF000000FF0000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000FFFF000000000000FFFFFF0000FF - FF00FFFFFF0000FFFF000000000000000000000000000000000000000000FFFF - FF00FFFFFF0000000000FFFFFF00000000000000000000000000000000000000 - 00000000FF000000FF000000FF007F7F7F00000000007F7F7F000000FF000000 - FF000000FF000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000FFFF00000000000000FFFF00FFFF - FF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF000000 - 0000FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000 - 0000000000000000FF000000FF000000FF00000000000000FF000000FF000000 - FF00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000FFFF000000000000FFFFFF0000FF - FF00FFFFFF0000FFFF000000000000000000000000000000000000000000FFFF - FF00FFFFFF0000000000FFFFFF00000000000000000000000000000000000000 - 000000000000000000000000FF000000FF00000000000000FF000000FF000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000FFFF00000000000000FFFF00FFFF - FF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF000000 - 0000FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000 - 0000000000000000000000000000000080000000000000008000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000FFFF000000000000FFFFFF0000FF - FF0000000000000000000000000000000000000000000000000000000000FFFF - FF00FFFFFF0000000000FFFFFF00000000000000000000000000000000000000 - 000000000000000000000000FF000000800000000000000080000000FF000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000000000000000000000000000FFFF - FF0000FFFF0000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000 - 0000000000000000FF000000FF000000000000000000000000000000FF000000 - FF00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000 - 00000000FF000000FF000000FF000000000000000000000000000000FF000000 - FF000000FF000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000FFFFFF00000000000000000000000000FFFFFF00FFFF - FF00000000000000000000000000000000000000000000000000000000000000 - FF000000FF000000FF0000000000000000000000000000000000000000000000 - FF000000FF000000FF0000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF0000000000FFFFFF00FFFFFF000000000000000000000000000000FF000000 - FF000000FF0000000000000000007F7F7F00000000007F7F7F00000000000000 - 00000000FF000000FF000000FF00000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000FF000000FF000000FF000000FF000000FF000000FF00 - 000000000000FFFFFF0000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000FF000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000FF000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000FFFFFF00000000000000 - 000000000000000000000000000000000000000000000000000000000000FFFF - FF00000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000FF000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000FFFFFF00000000000000 - 000000000000000000000000000000000000000000000000000000000000FFFF - FF00000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000FF000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000FF000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000007F7F - 7F000000000000000000000000007F7F7F000000000000FFFF007F7F7F000000 - 0000000000000000000000000000000000000000000000000000000000007F7F - 7F000000000000000000000000007F7F7F000000000000FFFF007F7F7F000000 - 0000000000000000000000000000000000000000000000000000FFFFFF000000 - 00000000000000000000000000000000000000000000FFFFFF00000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000FF000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000007F7F - 7F007F7F7F007F7F7F007F7F7F007F7F7F00000000000000000000FFFF000000 - 0000000000000000000000000000000000000000000000000000000000007F7F - 7F007F7F7F007F7F7F007F7F7F007F7F7F00000000000000000000FFFF000000 - 0000000000000000000000000000000000000000000000000000FFFFFF000000 - 00000000000000000000000000000000000000000000FFFFFF00000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000 - 00000000000000000000000000000000000000000000000000007F7F7F00FFFF - FF00BFBFBF00FFFFFF00BFBFBF00FFFFFF007F7F7F0000000000000000000000 - 00000000000000000000000000000000000000000000000000007F7F7F00BFBF - BF00FFFFFF00BFBFBF00FFFFFF00BFBFBF007F7F7F0000000000000000000000 - 0000000000000000000000000000000000000000000000000000FFFFFF000000 - 00000000000000000000000000000000000000000000FFFFFF00000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000FF000000FF000000FF000000FF000000FF00000000000000 - 0000000000000000000000000000000000007F7F7F007F7F7F00FFFFFF00BFBF - BF00FFFFFF000000FF00FFFFFF00BFBFBF00FFFFFF007F7F7F007F7F7F000000 - 0000000000000000000000000000000000007F7F7F007F7F7F00BFBFBF00FFFF - FF00BFBFBF00FFFFFF00BFBFBF00FFFFFF00BFBFBF007F7F7F007F7F7F000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000FF000000FF000000FF000000FF000000FF00000000000000 - 000000000000000000000000000000000000000000007F7F7F00BFBFBF00FFFF - FF00BFBFBF000000FF00BFBFBF00FFFFFF00BFBFBF007F7F7F00000000000000 - 000000000000000000000000000000000000000000007F7F7F00FFFFFF00BFBF - BF00FFFFFF00BFBFBF00FFFFFF00BFBFBF00FFFFFF007F7F7F00000000000000 - 000000000000000000000000000000000000000000000000000000000000FFFF - FF000000000000000000000000000000000000000000FFFFFF00000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000FF000000FF000000FF0000000000000000000000 - 000000000000000000000000000000000000000000007F7F7F00FFFFFF000000 - FF000000FF000000FF000000FF000000FF00FFFFFF007F7F7F00000000000000 - 000000000000000000000000000000000000000000007F7F7F00BFBFBF000000 - FF000000FF000000FF000000FF000000FF00BFBFBF007F7F7F00000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000FF000000FF000000FF0000000000000000000000 - 000000000000000000000000000000000000000000007F7F7F00BFBFBF00FFFF - FF00BFBFBF000000FF00BFBFBF00FFFFFF00BFBFBF007F7F7F00000000000000 - 000000000000000000000000000000000000000000007F7F7F00FFFFFF00BFBF - BF00FFFFFF00BFBFBF00FFFFFF00BFBFBF00FFFFFF007F7F7F00000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000FF000000000000000000000000000000 - 0000000000000000000000000000000000007F7F7F007F7F7F00FFFFFF00BFBF - BF00FFFFFF000000FF00FFFFFF00BFBFBF00FFFFFF007F7F7F007F7F7F000000 - 0000000000000000000000000000000000007F7F7F007F7F7F00BFBFBF00FFFF - FF00BFBFBF00FFFFFF00BFBFBF00FFFFFF00BFBFBF007F7F7F007F7F7F000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000FFFFFF000000000000000000000000000000000000000000FFFFFF000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000FF000000000000000000000000000000 - 00000000000000000000000000000000000000000000000000007F7F7F00FFFF - FF00BFBFBF00FFFFFF00BFBFBF00FFFFFF007F7F7F0000000000000000000000 - 00000000000000000000000000000000000000000000000000007F7F7F00BFBF - BF00FFFFFF00BFBFBF00FFFFFF00BFBFBF007F7F7F0000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000007F7F - 7F007F7F7F007F7F7F007F7F7F007F7F7F000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000007F7F - 7F007F7F7F007F7F7F007F7F7F007F7F7F000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000007F7F - 7F000000000000000000000000007F7F7F000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000007F7F - 7F000000000000000000000000007F7F7F000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000FF000000FF00 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00000000000000000000000000000000000000000000000000000000000000 - 000000000000FFFFFF00000000000000000000000000FFFFFF0000000000FFFF - FF000000000000000000FFFFFF00000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000FF000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000006000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000FFFFFF0000000000000000000000000000000000FFFFFF00FFFFFF00FFFF - FF00000000000000000000000000000000000000000000000000000000000000 - 000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000FF000000 - FF000000000000000000000000000000000000000000FF000000000000000000 - 00000000000000000000000000000000000000000000000000000040000000A0 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00000000000000000000000000000000000000000000000000000000000000 - 000000000000FFFFFF000000000000000000FFFFFF000000000000000000FFFF - FF000000000000000000FFFFFF000000000000000000000000000000FF000000 - FF000000000000000000000000000000000000000000FF000000000000000000 - 00000000000000000000000000000000000000000000000000000040000000FF - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000FFFFFF00000000000000000000000000000000000000000000000000FFFF - FF00000000000000000000000000000000000000000000000000000000000000 - 000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000FF000000000000000000 - 00000000000000000000000000000000000000000000000000000040000000FF - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000000000 - 0000FFFFFF0000000000FFFFFF000000000000000000000000000000FF000000 - 00000000000000000000000000000000000000000000FF000000000000000000 - 00000000000000000000000000000000000000000000000000000040000040FF - A000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000FFFFFF00000000000000000000000000000000000000000000000000FFFF - FF00000000000000000000000000000000000000000000000000000000000000 - 0000FFFFFF0000FFFF000000000000000000FFFFFF0000000000FFFFFF000000 - 0000FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000FF000000 - FF0000000000000000000000000000000000FF00000000000000000000000000 - 000000000000000000000000000000000000000000000000000000400000FFFF - FF0000A000000000000000000000000000000000000000000000006000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF0000000000000000000000000000000000000000000000000000000000FFFF - FF0000FFFF000000000000FFFF00FFFFFF0000000000FFFFFF0000FFFF000000 - 0000FFFFFF0000000000FFFFFF00000000000000000000000000000000000000 - FF000000FF000000000000000000FF0000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000040 - 000040FFA00000A000000000000000000000000000000000000000A000000060 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000FFFFFF00000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF - FF00000000000000000000000000000000000000000000000000FFFFFF0000FF - FF00FFFFFF0000FFFF00FFFFFF0000000000FFFFFF0000FFFF0000000000FFFF - FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000 - 00000000FF000000FF000000000000000000FF00000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000040 - 0000FFFFFF0040FFA00000FF0000006000000060000000A0000000A0000000A0 - 0000006000000000000000000000000000000000000000000000000000000000 - 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000000000000000 - 000000000000000000000000000000000000000000000000000000FFFF00FFFF - FF0000FFFF00FFFFFF0000000000FFFFFF0000FFFF0000000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00000000000000FF000000FF00000000000000 - 00000000FF000000FF00000000000000000000000000FF000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000400000FFFFFF00FFFFFF0040FFA00000FF000000FF000000FF000000FF - 000000A000000060000000000000000000000000000000000000000000000000 - 0000FFFFFF000000000000000000FFFFFF00FFFFFF0000000000FFFFFF000000 - 0000000000000000000000000000000000000000000000000000FFFFFF0000FF - FF00FFFFFF0000FFFF00FFFFFF0000FFFF0000000000FFFFFF00FFFFFF00FFFF - FF00000000000000000000000000000000000000FF000000FF00000000000000 - 00000000FF000000FF00000000000000000000000000FF000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000040000000400000FFFFFF00FFFFFF00FFFFFF0040FFA00000FF - 000000FF00000000000000000000000000000000000000000000000000000000 - 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000000000000000 - 000000000000000000000000000000000000FFFF00000000000000FFFF00FFFF - FF0000FFFF00FFFFFF0000FFFF00000000000000000000000000FFFFFF00FFFF - FF0000000000FFFFFF00FFFFFF0000000000000000000000FF000000FF000000 - FF000000FF0000000000000000000000000000000000FF000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000004000000040000000400000FFFFFF0040FF - A000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000FFFF0000FFFF00000000000000FF - FF00FFFFFF0000FFFF000000000000FFFF00FFFFFF0000FFFF0000000000FFFF - FF0000000000FFFFFF0000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000FF000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000400000FFFFFF000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000FFFF0000FFFF0000FFFF00000000 - 000000FFFF00FFFFFF0000FFFF00FFFFFF000000000000000000FFFFFF00FFFF - FF00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000FF000000FF00 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000400000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000FFFF0000FFFF0000FFFF0000FFFF - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000400000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000080000000800000008000 - 0000800000008000000080000000800000008000000080000000800000008000 - 0000800000008000000000000000000000000000000000000000000000000000 - 0000000000007F7F7F0000000000000000000000000000000000000000007F7F - 7F00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000080000000FF000000FF00 - 0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00 - 0000FF0000008000000000000000000000000000000000000000000000000000 - 000000000000000000007F7F7F00FFFFFF0000000000FFFFFF007F7F7F000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000080000000800000008000 - 0000BFBFBF00BFBFBF000000800000FFFF0000008000BFBFBF00BFBFBF008000 - 0000800000008000000000000000000000000000000000000000000000000000 - 000000000000FFFFFF00FFFFFF00FFFFFF007F7F7F00FFFFFF00FFFFFF00FFFF - FF00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000FFFFFF0000FFFF00FFFF - FF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFF - FF0000FFFF00FFFFFF0000000000000000000000000000000000000000000000 - 0000BFBFBF00BFBFBF00BFBFBF0000008000FFFFFF00FFFFFF007F7F7F000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000FFFFFF0000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000 - 0000FFFFFF000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000FFFF00FFFFFF0000FF - FF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FF - FF00FFFFFF0000FFFF0000000000000000000000000000000000000000000000 - 0000BFBFBF00BFBFBF00BFBFBF0000FFFF00FFFFFF007F7F7F007F7F7F000000 - 000000000000000000000000000000000000000000007F7F7F00000000007F7F - 7F00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00FFFF - FF00FFFFFF007F7F7F00000000007F7F7F000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000FFFFFF0000FFFF00FFFF - FF0000FFFF00000000000000000000000000000000000000000000000000FFFF - FF0000FFFF00FFFFFF0000000000000000000000000000000000000000000000 - 000000000000BFBFBF00BFBFBF0000008000FFFFFF007F7F7F00000000000000 - 000000000000000000000000000000000000000000000000000000000000FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF0000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000FFFF00FFFFFF0000FF - FF00FFFFFF0000000000FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FF - FF00FFFFFF0000FFFF0000000000000000000000000000000000000000000000 - 00000000000000000000BFBFBF0000FFFF007F7F7F0000000000000000000000 - 00000000000000000000000000000000000000000000000000007F7F7F000000 - 00007F7F7F00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00FFFF - FF007F7F7F00000000007F7F7F00000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000FFFFFF0000FFFF00FFFF - FF0000FFFF000000000000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFF - FF0000FFFF00FFFFFF0000000000000000000000000000000000000000000000 - 0000000000000000000000000000BFBFBF000000000000000000000000000000 - 000000000000000000000000000000000000000000000000000000000000FFFF - FF00FFFFFF00FFFFFF00FFFFFF00000000000000FF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF0000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000FFFF00FFFFFF000000 - 000000000000000000000000000000000000FFFFFF0000FFFF00FFFFFF0000FF - FF00FFFFFF0000FFFF0000000000000000000000000000000000000000000000 - 0000000000000000000000008000FFFFFF000000800000000000000000000000 - 000000000000000000000000000000000000000000007F7F7F00000000007F7F - 7F00FFFFFF00FFFFFF0000000000FFFFFF000000FF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF007F7F7F00000000007F7F7F000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000FFFFFF0000FFFF00FFFF - FF00000000000000000000000000FFFFFF0000FFFF00FFFFFF0000FFFF00FFFF - FF0000FFFF00FFFFFF0000000000000000000000000000000000000000000000 - 0000000000000000800000FFFF0000008000FFFFFF0000008000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000FFFFFF0000000000FFFFFF00FFFFFF000000FF00FFFFFF00FFFFFF000000 - 0000FFFFFF000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000FFFF00FFFFFF0000FF - FF00FFFFFF0000000000FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FF - FF00FFFFFF0000FFFF0000000000000000000000000000000000000000000000 - 0000BFBFBF00BFBFBF000000800000FFFF00FFFFFF0000FFFF007F7F7F000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000FFFFFF00FFFFFF00FFFFFF000000FF00FFFFFF00FFFFFF00FFFF - FF00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000FFFFFF0000FFFF00FFFF - FF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFF - FF0000FFFF00FFFFFF0000000000000000000000000000000000000000000000 - 0000BFBFBF00BFBFBF00BFBFBF00BFBFBF0000008000FFFFFF007F7F7F000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000007F7F7F00FFFFFF000000FF00FFFFFF007F7F7F000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000080000000800000008000 - 0000BFBFBF00BFBFBF00BFBFBF00BFBFBF00BFBFBF00BFBFBF00BFBFBF008000 - 00008000000080000000000000000000000000000000000000007F7F7F000000 - 000000000000000000007F7F7F000000000000000000000000007F7F7F000000 - 000000000000000000007F7F7F00000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000000000000000000000FFFF00FFFF - FF0000FFFF00FFFFFF0000FFFF00000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000080000000FF000000FF00 - 0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00 - 0000FF0000008000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000080000000800000008000 - 0000800000008000000080000000800000008000000080000000800000008000 - 0000800000008000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000A8C6A7005C895900E4E5E4000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000EEEEEE00CCCCCC00AAAAAA009999990099999900AAAAAA00BBBBBB00DDDD - DD00EEEEEE000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000FFFF0000FFFF0000FFFF00000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000BBD8BB003A6C3A00234B22008495820000000000000000000000 - 000000000000000000000000000000000000000000000000000000000000DDDD - DD00AAAAAA00668D9D005488A1004A788C00416979004C565A00777777008888 - 8800BBBBBB00EEEEEE0000000000000000000000000000000000000000000000 - 000000000000FFFFFF00FFFFFF000000000000000000FFFFFF0000FFFF00FFFF - FF0000FFFF0000000000FFFF0000FFFF00000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000C9E3C9004A824A002A7F270020431F002A4D2800CCCCCC000000 - 0000000000000000000000000000000000000000000000000000DDDDDD007CA4 - B6004FA1C70052A5CE0053AFD6004A9FC3004592B4003B7996002E637A004A53 - 560088888800BBBBBB00EEEEEE00000000000000000000000000000000000000 - 000000000000FFFFFF000000000000FFFF00FFFFFF0000FFFF000000000000FF - FF00FFFFFF0000FFFF0000000000FFFF00000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000CDE6CE004C874F0031C431002A9B26002868250020431F004766 - 4400E4E5E40000000000000000000000000000000000EEEEEE0085C5DD0065BC - E20057C0DF0052C2DB0052CAE6004EC6E30044B4D3003C9CB7003E8BAA00306B - 84004C565A0088888800BBBBBB00EEEEEE000000000000000000000000000000 - 000000000000FFFFFF00FFFFFF0000000000000000000000000000FFFF00FFFF - FF0000FFFF00FFFFFF0000FFFF00000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000CDE6CE004C874F0032D43D003DCD3C0031BD2A002B8E2200285F - 240020431F0072876F00000000000000000000000000ADD5E4006FC6EE0063D1 - ED0063D1ED005AD5F0005CDBF7005BDFFF0053D1F0004AC0DD0040AECB003E91 - B0003B799600595E610099999900DDDDDD000000000000000000000000000000 - 000000000000FFFFFF00FFFFFF00FFFFFF000000000000FFFF00FFFFFF0000FF - FF00FFFFFF0000FFFF00FFFFFF00000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000CDE6CE004C874F0033D83F0033D83F003DCD3C0031C4310031B3 - 25002C812300234B22002A4D2800AFB8AE00EEEEEE006FC6EE0075DBF8006CE4 - FA006CE4FA0063E4FF0063E4FF0063E4FF0063E4FF005BDFFF004ECEEE0044B4 - D3004592B4003E758C0088888800CCCCCC000000000000000000000000000000 - 00000000000000000000000000000000000000FFFF00FFFFFF0000000000FFFF - FF0000FFFF00FFFFFF0000FFFF00000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000CDE6CE004C874F0033DD440033D83F0033D83F0031C4310032C3 - 2B0032C32B0035A62500407A3C0040713F00CBE1E80074CEF60078E4F60071E9 - FE0071E9FE006BE8FF006BE8FF0063E4FF0063E4FF005BDFFF005BDFFF004AC0 - DD003F9DBA003A76920077777700BBBBBB00000000000000000000000000FFFF - FF0000FFFF00FFFFFF0000FFFF0000000000FFFFFF0000000000FFFFFF0000FF - FF000000000000FFFF00FFFFFF0000000000000000000000000000000000BFBF - BF000000000000000000BFBFBF0000000000BFBFBF0000000000BFBFBF000000 - 000000000000000000000000000000000000D47D4200D47D4200D1724100CB71 - 3D00C66D3C00AA9362004C874F0033E34A0033DD440032D43D0032D43D0033CC - 33003E9F3A00457B4800508A5400E1ECDF00A5E1F6007CD8FF0083F0FF0075ED - FF0071E9FE0071E9FE006BE8FF006BE8FF0063E4FF0063E4FF005BDFFF0052CA - E60044B2CD004386A8005E686C00BBBBBB00FFFF000000000000FFFFFF0000FF - FF00000000000000000000000000000000000000000000000000000000000000 - 000000FFFF00FFFFFF000000000000000000000000000000000000000000BFBF - BF000000000000000000BFBFBF0000000000BFBFBF0000000000BFBFBF000000 - 000000000000000000000000000000000000CF6E3C00DB863600DB863600D77D - 3100D3763100B1965C004C874F0033E9500033E1490033DD440033B23A003C73 - 3D00457B4800BBD8BB000000000000000000AEE5F90086DCFF008AF4FF0079EF - FF0079EFFF0071E9FE0071E9FE006BE8FF006BE8FF0063E4FF0063E4FF0059D9 - F7004FC9E60052A5CE0058707A00CCCCCC00FFFF00000000000000FFFF00FFFF - FF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF000000 - 0000FFFFFF0000000000FFFFFF00000000000000000000000000000000000000 - 0000BFBFBF000000000000000000BFBFBF00000000000000000000000000BFBF - BF0000000000000000000000000000000000CF6E3C00EEA73800F4AC3300F09F - 3300EC943300BFA65E00508A540035EF570038D14F003C9143003C733D0072A6 - 740000000000000000000000000000000000CDEFFB0092DFFF0094F5FF0083F0 - FF0075E8F70075EDFF0071E9FE0071E9FE006BE8FF006BE8FF0063E4FF005AD5 - F00052C2DB0052A5CE007A7E8100DDDDDD00FFFF000000000000FFFFFF0000FF - FF00FFFFFF0000FFFF0000000000000000000000000000000000000000000000 - 000000000000FFFFFF00FFFFFF00000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000D1724100F3B23B00F7B53300F4AC - 3300F09F3300C2AC5E00558D5A004BB85E00457B48005E9E6400F0F5F0000000 - 000000000000000000000000000000000000F6FBFD00A2E1FF00A2F4FF0094F5 - FF0079EFFF0079EFFF0079EFFF0071E9FE0071E9FE006CE4FA0063E4FF005AD5 - F00055BADC004FA1C700AAAAAA00EEEEEE00FFFF00000000000000FFFF00FFFF - FF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF000000 - 0000FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000D1724100F3B23B00FCC23300F7B5 - 3300F4AC3300CEB667004977490056905800ACB88E0000000000000000000000 - 00000000000000000000000000000000000000000000B8E9FD009EE8FF009BF6 - FF008AF4FF0079EFFF0079EFFF0079EFFF0079EFFF0071E9FE006CE4FA0062D4 - EE0053AFD6006191A800CCCCCC0000000000FFFF000000000000FFFFFF0000FF - FF00FFFFFF0000FFFF000000000000000000000000000000000000000000FFFF - FF00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000D1724100F5BC4500FFCC3300FCC2 - 3300F7B53300DBBB5F00A0B06000CC663300E4BDA40000000000000000000000 - 00000000000000000000000000000000000000000000F6FBFD00ADE5FF00A3EB - FF009BF6FF0094F5FF008AF4FF0083F0FF0083F0FF0079EFFF0078E4F60074CE - F6006FC0E400CCCCCC00EEEEEE0000000000FFFF00000000000000000000FFFF - FF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF0000000000FFFFFF00FFFF - FF0000000000FFFFFF00FFFFFF00000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000D2794B00F5BC4500FFCC3300FFCC - 3300FBC13300F7B53300F4AC3300CC663300E8C2A70000000000000000000000 - 0000000000000000000000000000000000000000000000000000F4FAFC00ADE5 - FF0097E3FF009DF1FF009DF1FF0094F5FF0089EEFF0082E3FF0074CEF60077C8 - EA00CDD3D400EEEEEE0000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF - FF0000000000FFFFFF0000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000D2794B00DC8C4900DE8E4500DD89 - 3D00DD893D00DA853B00DA853B00CC663300EBC6A80000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000C7EDFE00A2E1FF0092DFFF008ADAFF0080D4FD008ADAFF00A9DAEC00EEEE - EE00000000000000000000000000000000000000000000000000000000000000 - 000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000E9B37C00E9B37C00E9B37C00E9B3 - 7C00E8AD7200E8AD7200E8AD7200E3A26B00F6E3D30000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000D9F3FB00EEEEEE0000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000424D3E000000000000003E000000 - 2800000040000000500000000100010000000000800200000000000000000000 - 000000000000000000000000FFFFFF00F800FFFF00000000F800FFFF00000000 - 2000C631000000000000E223000000000000F007000000000000F88F00000000 - 0000FC1F000000000000FE3F000000000000FC1F000000000000F80F00000000 - E000F00700000000F800E22300000000F800C63100000000F801FFFF00000000 - F803FFFF00000000F807FFFF00000000FFFFFC7FFFFDFFFDFFFFFC7FFFF8FFF8 - 07C1FC7FFFF1FFF107C1FC7FFFE3FFE307C1FC7FFFC7FFC70101FC7FE08FE08F - 0001E00FC01FC01F0201E00F803F803F0201F01F001F001F8003F01F001F001F - C107F83F001F001FC107F83F001F001FE38FFC7F001F001FE38FFC7F803F803F - E38FFEFFC07FC07FFFFFFEFFE0FFE0FFFFFFF000FFFFFFFFE007F000FFC8F1FF - E007F000FFB8E3FFE007F000CFBFC7FFE007F000CFBCC7FFE007F000FFBCC7BF - E007F000DFBFC79FE007E000CF7CC38FE007C000E6FCE007E0078000F37FE003 - E007800033BCF001E00F000033BCF803E01F000087BFFE07E03F0001FFB8FF8F - FFFF0003FFC8FF9FFFFF0007FFFFFFBFFFFFFFFFFFFFFFFF8003F80FFFFFFFFF - 8003F007C00700018003E003E7E70001E00FC001F3F70001E00F8000F9F70001 - F01F8000FCFF0001F83F8000FE7F0001FC7F8000FF3F0001F83F8000FE7F0001 - F01FC001FCFF0001E00FE003F9F70001E00FC001F3F700038003C809E7E780FF - 8003FF7FC007C1FF8003FE3FFFFFFFFFF8FFF007F000FFFFF87FE003F000FFFF - F81FC001F000FFFFF8078000F0005555F8038000F000FFFFF8000000E0004005 - F80000000000C0070000000000004005000300000000C007000F000000004005 - 001F00000000FFFF007F800100005555007F80010000FFFF007FC0032001FFFF - 007FF00FF003FFFF007FFE7FF007FFFF00000000000000000000000000000000 - 000000000000} - end - object am: TActionManager - Images = il - Left = 397 - Top = 160 - StyleName = 'XP Style' - object aViewMs: TAction - Category = 'Profiler' - Caption = 'Milliseconds' - GroupIndex = 1 - Hint = 'Milliseconds|Displays time values as milliseconds.' - ImageIndex = 5 - OnExecute = aViewMsExecute - OnUpdate = aViewMsUpdate - end - object aViewPercent: TAction - Category = 'Profiler' - Caption = 'Percentages' - GroupIndex = 1 - Hint = 'Percentages|Displays time values as percentages.' - ImageIndex = 6 - OnExecute = aViewPercentExecute - OnUpdate = aViewPercentUpdate - end - object aViewFullPath: TAction - Category = 'Profiler' - Caption = 'Show Full Path' - Hint = - 'Show Full Path|Toggles between displaying the full path or filen' + - 'ame only.' - ImageIndex = 3 - OnExecute = aViewFullPathExecute - OnUpdate = aViewFullPathUpdate - end - object aViewHideFastFuncs: TAction - Category = 'Profiler' - Caption = 'Hide Fast Functions' - Hint = 'Hide Fast Functions|Removes fast functions from the lists.' - ImageIndex = 17 - OnExecute = aViewHideFastFuncsExecute - OnUpdate = aViewHideFastFuncsUpdate - end - object aViewHideLibFuncs: TAction - Category = 'Profiler' - Caption = 'Hide Library Functions' - Hint = - 'Hide Library Functions|Toggles between showing and hiding librar' + - 'y functions.' - ImageIndex = 2 - OnExecute = aViewHideLibFuncsExecute - OnUpdate = aViewHideLibFuncsUpdate - end - object aViewGoToOpen: TAction - Category = 'LBL' - Caption = 'Go To' - Hint = 'Go To|Views details about the selected item.' - ImageIndex = 11 - OnExecute = aViewGoToOpenExecute - OnUpdate = aViewGoToOpenUpdate - end - object aViewGoToUpOneLevel: TAction - Category = 'Profiler' - Caption = 'Up One Level' - Hint = 'Up One Level|Goes up one level.' - ImageIndex = 7 - OnExecute = aViewGoToUpOneLevelExecute - OnUpdate = aViewGoToUpOneLevelUpdate - end - object aMergedInstancesGoTo: TAction - Category = 'MergedInstances' - Caption = 'Go To' - Hint = 'Go To|Views details about this item.' - ImageIndex = 11 - OnExecute = aMergedInstancesGoToExecute - OnUpdate = aMergedInstancesGoToUpdate - end - object aTreeShowOverall: TAction - Category = 'Tree' - Caption = 'Show Overall' - Hint = 'Show Overall|Shows all calls to this function.' - ImageIndex = 16 - OnExecute = aTreeShowOverallExecute - OnUpdate = aTreeShowOverallUpdate - end - object aTreeOpenEditor: TAction - Category = 'Tree' - Caption = 'Open in editor' - Hint = - 'Open in editor|Opens the file which contains this function call ' + - 'in the built-in editor.' - ImageIndex = 9 - OnExecute = aTreeOpenEditorExecute - OnUpdate = aTreeOpenEditorUpdate - end - object aTreeShowInfo: TAction - Category = 'Tree' - Caption = 'Show advanced information...' - Hint = - 'Show advanced information|Displays advanced information about th' + - 'e selected item.' - ImageIndex = 10 - OnExecute = aTreeShowInfoExecute - OnUpdate = aTreeShowInfoUpdate - end - object aLBLShowOverall: TAction - Category = 'LBL' - Caption = 'Show Overall' - Hint = 'Show Overall|Shows all calls to this function.' - ImageIndex = 16 - OnExecute = aLBLShowOverallExecute - OnUpdate = aLBLShowOverallUpdate - end - object aLBLOpenEditor: TAction - Category = 'LBL' - Caption = 'Open in editor' - Hint = - 'Open in editor|Opens the file which contains this function call ' + - 'in the built-in editor.' - ImageIndex = 9 - OnExecute = aLBLOpenEditorExecute - OnUpdate = aLBLOpenEditorUpdate - end - object aMergedInstancesOpenEditor: TAction - Category = 'MergedInstances' - Caption = 'Open in editor' - Hint = - 'Open in editor|Opens the file which contains this function call ' + - 'in the built-in editor.' - ImageIndex = 9 - OnExecute = aMergedInstancesOpenEditorExecute - OnUpdate = aMergedInstancesOpenEditorUpdate - end - object aMergedInstancesShowInfo: TAction - Category = 'MergedInstances' - Caption = 'Show advanced information...' - Hint = - 'Show advanced information|Displays advanced information about th' + - 'e selected item.' - ImageIndex = 10 - OnExecute = aMergedInstancesShowInfoExecute - OnUpdate = aMergedInstancesShowInfoUpdate - end - object aLBLShowInfo: TAction - Category = 'LBL' - Caption = 'Show advanced information...' - Hint = - 'Show advanced information|Displays advanced information about th' + - 'e selected item.' - ImageIndex = 10 - OnExecute = aLBLShowInfoExecute - OnUpdate = aLBLShowInfoUpdate - end - object aProfilerFind: TAction - Category = 'Profiler' - Caption = 'Find' - Hint = 'Find|Finds functions containing the specified text.' - ImageIndex = 12 - ShortCut = 16454 - OnExecute = aProfilerFindExecute - end - object aTreeGoToRoot: TAction - Category = 'Tree' - Caption = 'Go To Root' - Hint = 'Go To Root|Selects the root node.' - ImageIndex = 13 - OnExecute = aTreeGoToRootExecute - OnUpdate = aTreeGoToRootUpdate - end - object aTreeExpand: TAction - Category = 'Tree' - Caption = 'Expand' - Hint = 'Expand|Expands the selected node.' - ImageIndex = 14 - OnExecute = aTreeExpandExecute - OnUpdate = aTreeExpandUpdate - end - object aTreeExpandAll: TAction - Category = 'Tree' - Caption = 'Expand All' - Hint = - 'Expand All|Expands the selected node and all all its child nodes' + - '.' - OnExecute = aTreeExpandAllExecute - OnUpdate = aTreeExpandAllUpdate - end - object aTreeCollapse: TAction - Category = 'Tree' - Caption = 'Collapse' - Hint = 'Collapse|Collapses the selected node.' - ImageIndex = 15 - OnExecute = aTreeCollapseExecute - OnUpdate = aTreeCollapseUpdate - end - end - object mm: TMainMenu - Images = il - Left = 68 - Top = 96 - object View1: TMenuItem - Caption = '&Profiler' - GroupIndex = 100 - object Find1: TMenuItem - Action = aProfilerFind - end - object N6: TMenuItem - Caption = '-' - end - object Milliseconds1: TMenuItem - Action = aViewMs - GroupIndex = 1 - RadioItem = True - ShortCut = 16461 - end - object Percentages1: TMenuItem - Action = aViewPercent - GroupIndex = 1 - RadioItem = True - ShortCut = 16464 - end - object N1: TMenuItem - Caption = '-' - GroupIndex = 1 - end - object FullPath1: TMenuItem - Action = aViewFullPath - GroupIndex = 1 - ShortCut = 16454 - end - object N2: TMenuItem - Caption = '-' - GroupIndex = 1 - end - object HideFastFunctions1: TMenuItem - Action = aViewHideFastFuncs - GroupIndex = 1 - end - object HideLibraryFunctions1: TMenuItem - Action = aViewHideLibFuncs - GroupIndex = 1 - end - object N3: TMenuItem - Caption = '-' - GroupIndex = 1 - end - object UpOneLevel1: TMenuItem - Action = aViewGoToUpOneLevel - GroupIndex = 1 - end - object GoToRoot1: TMenuItem - Action = aTreeGoToRoot - GroupIndex = 1 - end - end - end - object pmLBL: TPopupMenu - Images = il - Left = 289 - Top = 142 - object Open1: TMenuItem - Action = aViewGoToOpen - Default = True - end - object UpOneLevel2: TMenuItem - Action = aViewGoToUpOneLevel - end - object GoToRoot3: TMenuItem - Action = aTreeGoToRoot - end - object N7: TMenuItem - Caption = '-' - end - object Openineditor2: TMenuItem - Action = aLBLOpenEditor - end - object N12: TMenuItem - Caption = '-' - end - object ShowOverall2: TMenuItem - Action = aLBLShowOverall - end - object N5: TMenuItem - Caption = '-' - end - object Showadvancedinformation2: TMenuItem - Action = aLBLShowInfo - end - end - object pmMergedInstances: TPopupMenu - Images = il - Left = 285 - Top = 346 - object GoTo1: TMenuItem - Action = aMergedInstancesGoTo - Default = True - end - object N9: TMenuItem - Caption = '-' - end - object Openineditor3: TMenuItem - Action = aMergedInstancesOpenEditor - end - object N10: TMenuItem - Caption = '-' - end - object Showadvancedinformation3: TMenuItem - Action = aMergedInstancesShowInfo - end - end - object pmTree: TPopupMenu - Images = il - Left = 16 - Top = 36 - object Openineditor1: TMenuItem - Action = aTreeOpenEditor - Default = True - end - object N11: TMenuItem - Caption = '-' - end - object ShowOverall1: TMenuItem - Action = aTreeShowOverall - end - object N8: TMenuItem - Caption = '-' - end - object UpOneLevel3: TMenuItem - Action = aViewGoToUpOneLevel - end - object GoToRoot2: TMenuItem - Action = aTreeGoToRoot - end - object N13: TMenuItem - Caption = '-' - end - object Expand1: TMenuItem - Action = aTreeExpand - end - object ExpandAll1: TMenuItem - Action = aTreeExpandAll - end - object Collapse1: TMenuItem - Action = aTreeCollapse - end - object N4: TMenuItem - Caption = '-' - end - object Showadvancedinformation1: TMenuItem - Action = aTreeShowInfo - end - end - object pmMerged: TPopupMenu - Images = il - Left = 357 - Top = 206 - object UpOneLevel4: TMenuItem - Action = aViewGoToUpOneLevel - end - object GoToRoot4: TMenuItem - Action = aTreeGoToRoot - end - end - object tFind: TTimer - Enabled = False - Interval = 200 - OnTimer = tFindTimer - Left = 521 - Top = 122 - end -end diff --git a/uDoc.~pas b/uDoc.~pas deleted file mode 100644 index d5a77fc..0000000 --- a/uDoc.~pas +++ /dev/null @@ -1,1398 +0,0 @@ -unit uDoc; - -interface - -uses - Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, - Dialogs, ComCtrls, uCacheGrind, ExtCtrls, ImgList, XPStyleActnCtrls, - ActnList, ActnMan, ToolWin, Menus, StdCtrls, uConfig, CommCtrl, - JvCombobox, JvExStdCtrls; - -type - TListLBLSort = (lsFunction, lsSelf, lsCum, lsFileName, lsLine); - TListMergedSort = (msFunction, msAvgSelf, msAvgCum, msTotSelf, msTotCum, msCalls); - TMergedInstancesSort = (misIndex, misSelf, misCum, misCaller, misCallerFile); - - TfDoc = class(TForm) - ilCacheGrind: TImageList; - il: TImageList; - am: TActionManager; - aViewPercent: TAction; - aViewMs: TAction; - mm: TMainMenu; - View1: TMenuItem; - Milliseconds1: TMenuItem; - Percentages1: TMenuItem; - aViewFullPath: TAction; - N1: TMenuItem; - FullPath1: TMenuItem; - aViewHideLibFuncs: TAction; - N2: TMenuItem; - HideLibraryFunctions1: TMenuItem; - aViewGoToUpOneLevel: TAction; - N3: TMenuItem; - UpOneLevel1: TMenuItem; - pmLBL: TPopupMenu; - aViewGoToOpen: TAction; - Open1: TMenuItem; - UpOneLevel2: TMenuItem; - aMergedInstancesGoTo: TAction; - pmMergedInstances: TPopupMenu; - GoTo1: TMenuItem; - pmTree: TPopupMenu; - aTreeOpenEditor: TAction; - Openineditor1: TMenuItem; - aTreeShowInfo: TAction; - Showadvancedinformation1: TMenuItem; - N4: TMenuItem; - aLBLShowInfo: TAction; - N5: TMenuItem; - Showadvancedinformation2: TMenuItem; - tb: TToolBar; - ToolButton7: TToolButton; - ToolButton8: TToolButton; - ToolButton4: TToolButton; - ToolButton5: TToolButton; - ToolButton1: TToolButton; - ToolButton2: TToolButton; - ToolButton6: TToolButton; - ToolButton3: TToolButton; - tv: TTreeView; - Splitter1: TSplitter; - Panel1: TPanel; - pcProfiler: TPageControl; - tsLBL: TTabSheet; - lvLBL: TListView; - tsMerged: TTabSheet; - Splitter2: TSplitter; - lvMerged: TListView; - lvMergedInstances: TListView; - pInfo: TPanel; - lInfoName: TLabel; - lInfo: TLabel; - lInfoFileName: TLabel; - iInfo: TImage; - Panel2: TPanel; - Label1: TLabel; - Image1: TImage; - aProfilerFind: TAction; - ToolButton9: TToolButton; - ToolButton10: TToolButton; - N6: TMenuItem; - Find1: TMenuItem; - aLBLOpenEditor: TAction; - N7: TMenuItem; - Openineditor2: TMenuItem; - aTreeGoToRoot: TAction; - GoToRoot1: TMenuItem; - N8: TMenuItem; - UpOneLevel3: TMenuItem; - GoToRoot2: TMenuItem; - GoToRoot3: TMenuItem; - pmMerged: TPopupMenu; - UpOneLevel4: TMenuItem; - GoToRoot4: TMenuItem; - aMergedInstancesOpenEditor: TAction; - aMergedInstancesShowInfo: TAction; - N9: TMenuItem; - N10: TMenuItem; - Showadvancedinformation3: TMenuItem; - Openineditor3: TMenuItem; - aLBLShowOverall: TAction; - aTreeShowOverall: TAction; - N11: TMenuItem; - N12: TMenuItem; - ShowOverall2: TMenuItem; - aTreeExpand: TAction; - aTreeCollapse: TAction; - aTreeExpandAll: TAction; - N13: TMenuItem; - Expand1: TMenuItem; - ExpandAll1: TMenuItem; - Collapse1: TMenuItem; - ShowOverall1: TMenuItem; - aViewHideFastFuncs: TAction; - HideFastFunctions1: TMenuItem; - ToolButton11: TToolButton; - ToolButton12: TToolButton; - cbRE: TCheckBox; - cbFind: TJvComboBox; - tFind: TTimer; - lFind: TLabel; - Panel3: TPanel; - lMerged: TLabel; - procedure FormCreate(Sender: TObject); - procedure FormDestroy(Sender: TObject); - procedure FormClose(Sender: TObject; var Action: TCloseAction); - procedure lvLBLData(Sender: TObject; Item: TListItem); - procedure tvChange(Sender: TObject; Node: TTreeNode); - procedure lvLBLDblClick(Sender: TObject); - procedure lvLBLKeyDown(Sender: TObject; var Key: Word; - Shift: TShiftState); - procedure aViewPercentUpdate(Sender: TObject); - procedure aViewMsUpdate(Sender: TObject); - procedure aViewPercentExecute(Sender: TObject); - procedure aViewMsExecute(Sender: TObject); - procedure tvExpanding(Sender: TObject; Node: TTreeNode; - var AllowExpansion: Boolean); - procedure aViewFullPathExecute(Sender: TObject); - procedure aViewFullPathUpdate(Sender: TObject); - procedure lvMergedData(Sender: TObject; Item: TListItem); - procedure lvLBLColumnClick(Sender: TObject; Column: TListColumn); - procedure lvMergedColumnClick(Sender: TObject; Column: TListColumn); - procedure aViewHideLibFuncsUpdate(Sender: TObject); - procedure aViewHideLibFuncsExecute(Sender: TObject); - procedure ToolButton1Click(Sender: TObject); - procedure aViewGoToUpOneLevelUpdate(Sender: TObject); - procedure aViewGoToUpOneLevelExecute(Sender: TObject); - procedure lvMergedInstancesData(Sender: TObject; Item: TListItem); - procedure aViewGoToOpenUpdate(Sender: TObject); - procedure aViewGoToOpenExecute(Sender: TObject); - procedure lvMergedInstancesColumnClick(Sender: TObject; - Column: TListColumn); - procedure aMergedInstancesGoToUpdate(Sender: TObject); - procedure aMergedInstancesGoToExecute(Sender: TObject); - procedure lvMergedInstancesDblClick(Sender: TObject); - procedure lvMergedInstancesKeyDown(Sender: TObject; var Key: Word; - Shift: TShiftState); - procedure aTreeOpenEditorUpdate(Sender: TObject); - procedure aTreeOpenEditorExecute(Sender: TObject); - procedure tvKeyDown(Sender: TObject; var Key: Word; - Shift: TShiftState); - procedure aTreeShowInfoUpdate(Sender: TObject); - procedure aLBLShowInfoUpdate(Sender: TObject); - procedure aLBLShowInfoExecute(Sender: TObject); - procedure aTreeShowInfoExecute(Sender: TObject); - procedure tvCollapsing(Sender: TObject; Node: TTreeNode; - var AllowCollapse: Boolean); - procedure lvMergedSelectItem(Sender: TObject; Item: TListItem; - Selected: Boolean); - procedure aProfilerFindExecute(Sender: TObject); - procedure cbFindChange(Sender: TObject); - procedure aLBLOpenEditorUpdate(Sender: TObject); - procedure aLBLOpenEditorExecute(Sender: TObject); - procedure aTreeGoToRootExecute(Sender: TObject); - procedure aTreeGoToRootUpdate(Sender: TObject); - procedure aMergedInstancesOpenEditorUpdate(Sender: TObject); - procedure aMergedInstancesOpenEditorExecute(Sender: TObject); - procedure aMergedInstancesShowInfoUpdate(Sender: TObject); - procedure aMergedInstancesShowInfoExecute(Sender: TObject); - procedure aLBLShowOverallExecute(Sender: TObject); - procedure aLBLShowOverallUpdate(Sender: TObject); - procedure aTreeShowOverallExecute(Sender: TObject); - procedure aTreeShowOverallUpdate(Sender: TObject); - procedure aTreeExpandUpdate(Sender: TObject); - procedure aTreeExpandExecute(Sender: TObject); - procedure aTreeCollapseUpdate(Sender: TObject); - procedure aTreeCollapseExecute(Sender: TObject); - procedure aTreeExpandAllUpdate(Sender: TObject); - procedure aTreeExpandAllExecute(Sender: TObject); - procedure aViewHideFastFuncsUpdate(Sender: TObject); - procedure aViewHideFastFuncsExecute(Sender: TObject); - procedure tFindTimer(Sender: TObject); - procedure cbFindSelect(Sender: TObject); - procedure cbREClick(Sender: TObject); - private - FFileName: string; - FCacheGrind: TCacheGrind; - FListLBL, FListMerged, FMergedInstances: TList; - FTimeDisplay: TTimeDisplay; - FUseShortName: Boolean; - FListLBLSort: TListLBLSort; - FListMergedSort: TListMergedSort; - FHideLibFuncs: Boolean; - FMergedInstancesSort: TMergedInstancesSort; - FHideFastFuncs: Boolean; - { Private declarations } - function AddToTree(Parent: TTreeNode; Inst: TProfInstance; Cascade: Boolean): TTreeNode; - procedure CacheGrindAnalyzeProgress(Sender: TObject; Position, Max: Integer; Status: string); - procedure CacheGrindLoadProgress(Sender: TObject; Position, Max: Integer; Status: string); - function GetImageIndex(Kind: TFuncKind): Integer; - procedure SetTimeDisplay(const Value: TTimeDisplay); - procedure SetUseShortName(const Value: Boolean); - procedure SetListLBLSort(const Value: TListLBLSort); - procedure SetListMergedSort(const Value: TListMergedSort); - procedure SetHideLibFuncs(const Value: Boolean); - function GetConfig: TConfig; - procedure SetMergedInstancesSort(const Value: TMergedInstancesSort); - procedure SetHideFastFuncs(const Value: Boolean); - public - { Public declarations } - property CacheGrind: TCacheGrind read FCacheGrind; - property Config: TConfig read GetConfig; - property FileName: string read FFileName; - property HideFastFuncs: Boolean read FHideFastFuncs write SetHideFastFuncs; - property HideLibFuncs: Boolean read FHideLibFuncs write SetHideLibFuncs; - property ListLBLSort: TListLBLSort read FListLBLSort write SetListLBLSort; - property ListMergedSort: TListMergedSort read FListMergedSort write SetListMergedSort; - property MergedInstancesSort: TMergedInstancesSort read FMergedInstancesSort write SetMergedInstancesSort; - property TimeDisplay: TTimeDisplay read FTimeDisplay write SetTimeDisplay; - property UseShortName: Boolean read FUseShortName write SetUseShortName; - - procedure ClearListLBL; - procedure ClearListMerged; - procedure ClearListMergedInstances; - procedure ClearLists; - procedure ClearTree; - function FormatMs(Ms: TProfTime): string; - function FormatPercent(Percent: Double): string; - procedure Open(AFileName: string); - procedure RefreshTree; - procedure RefreshListLBL; - procedure RefreshListMerged; - procedure RefreshListMergedInstances; - procedure RefreshLists; - procedure Reload; - procedure RepaintLists; - procedure SelectLBLInstance(AInst: TProfInstance); - procedure SelectListItem(LV: TListView; AIndex: Integer); - procedure SelectMergedFunc(AFunc: TProfFunc); - procedure SelectTreeInstance(AInst: TProfInstance); - procedure SelectTreeNode(Node: TTreeNode); - procedure ShowInfo(AInst: TProfInstance); - procedure ShowMerged(AFunc: TProfFunc); - procedure SyncTree; - procedure SyncTreeNode(ANode: TTreeNode); - procedure UpdateInfo; - end; - -implementation - -uses uWait, uMain, RegExpr; - -{$R *.dfm} - -function CompareDouble(A, B: Double): Integer; -begin - if A > B then - Result := 1 - else if B > A then - Result := -1 - else - Result := 0; -end; - -function LBLSort(A, B: Pointer): Integer; -var - Form: TfDoc; - IA, IB: TProfInstance; -begin - Result := 0; - IA := TProfInstance(A); - IB := TProfInstance(B); - Form := IA.CacheGrind.Owner as TfDoc; - case Form.ListLBLSort of - lsFunction: Result := CompareText(IA.Name, IB.Name); - lsSelf: Result := -CompareDouble(IA.SelfTime, IB.SelfTime); - lsCum: Result := -CompareDouble(IA.CumTime, IB.CumTime); - lsFileName: Result := CompareText(IA.FileName, IB.FileName); - end; - if Result = 0 then - Result := CompareText(IA.Name, IB.Name); -end; - -function MergedSort(A, B: Pointer): Integer; -var - Form: TfDoc; - FA, FB: TProfFunc; -begin - Result := 0; - FA := TProfFunc(A); - FB := TProfFunc(B); - Form := FA.CacheGrind.Owner as TfDoc; - case Form.ListMergedSort of - msFunction: Result := CompareText(FA.Name, FB.Name); - msAvgSelf: Result := -CompareDouble(FA.AvgSelfTime, FB.AvgSelfTime); - msAvgCum: Result := -CompareDouble(FA.AvgCumTime, FB.AvgCumTime); - msTotSelf: Result := -CompareDouble(FA.TotSelfTime, FB.TotSelfTime); - msTotCum: Result := -CompareDouble(FA.TotCumTime, FB.TotCumTime); - msCalls: Result := FB.InstanceCount - FA.InstanceCount; - end; - if Result = 0 then - Result := CompareText(FA.Name, FB.Name); -end; - -function MergedInstancesSort(A, B: Pointer): Integer; -var - Form: TfDoc; - IA, IB: TProfInstance; -begin - Result := 0; - IA := TProfInstance(A); - IB := TProfInstance(B); - Form := IA.CacheGrind.Owner as TfDoc; - case Form.MergedInstancesSort of - misIndex: Result := IA.Index - IB.Index; - misSelf: Result := -CompareDouble(IA.SelfTime, IB.SelfTime); - misCum: Result := -CompareDouble(IA.CumTime, IB.CumTime); - misCaller: Result := CompareText(IA.Caller.Name, IB.Caller.Name); - misCallerFile: begin - Result := CompareText(IA.Caller.FileName, IB.Caller.FileName); - if Result = 0 then - Result := IA.Line - IB.Line; - end; - end; - if Result = 0 then - Result := IA.Index - IB.Index; -end; - -{ TfDoc } - -procedure TfDoc.Open(AFileName: string); -begin - fWait := TfWait.Create(Self); - try - fWait.Show; - // clear stuff - ClearLists; - ClearTree; - // parse - CacheGrind.Load(AFileName); - // add this to MRU - Config.AddMRU(AFileName, CacheGrind.Cmd); - // ok - FFileName := AFileName; - Caption := CacheGrind.Cmd + ' (' + ExtractFileName(FileName) + ')'; - // Analyzing - CacheGrind.ReAnalyze; - // update - fWait.lWait.Caption := 'Updating tree view...'; - fWait.Update; - RefreshTree; - RefreshLists; - UpdateInfo; - finally - fWait.Free; - end; -end; - -procedure TfDoc.FormCreate(Sender: TObject); -begin - FCacheGrind := TCacheGrind.Create(Self); - FCacheGrind.OnAnalyzeProgress := CacheGrindAnalyzeProgress; - FCacheGrind.OnLoadProgress := CacheGrindLoadProgress; - FListLBL := TList.Create; - FListMerged := TList.Create; - FMergedInstances := TList.Create; - // defaults - FTimeDisplay := Config.TimeDisplay; - FUseShortName := not Config.ShowFullPath; - FHideLibFuncs := Config.HideLibFuncs; - FListLBLSort := lsCum; - FListMergedSort := msTotCum; - // visual stuff - pcProfiler.ActivePageIndex := 0; -end; - -procedure TfDoc.FormDestroy(Sender: TObject); -begin - ClearLists; - FreeAndNil(FListLBL); - FreeAndNil(FMergedInstances); - FreeAndNil(FListMerged); - FreeAndNil(FCacheGrind); -end; - -procedure TfDoc.FormClose(Sender: TObject; var Action: TCloseAction); -begin - Action := caFree; -end; - -procedure TfDoc.ClearTree; -begin - tv.Items.Clear; -end; - -procedure TfDoc.RefreshTree; -var - RootNode: TTreeNode; -begin - ClearTree; - RootNode := AddToTree(nil, CacheGrind.Root, false); - tv.Selected := RootNode; - RootNode.Expand(False); -end; - -function TfDoc.AddToTree(Parent: TTreeNode; Inst: TProfInstance; Cascade: Boolean): TTreeNode; -var - Node: TTreeNode; - I: Integer; - S: string; -begin - tv.Items.BeginUpdate; - try - if UseShortName then - S := Inst.ShortName - else - S := Inst.Name; - Node := tv.Items.AddChild(Parent, S); - Node.Data := Inst; - Node.ImageIndex := GetImageIndex(Inst.Kind); - Node.SelectedIndex := Node.ImageIndex; - Node.HasChildren := Inst.CallCount > 0; - // link this instance to the tree node so we won't have to perform - // searches later - Inst.Data := Node; - if Cascade then begin - for I := 0 to Inst.CallCount - 1 do - AddToTree(Node, Inst.Calls[I], True); - end; - Result := Node; - finally - tv.Items.EndUpdate; - end; -end; - -procedure TfDoc.ClearListLBL; -begin - lvLBL.Items.Count := 0; - FListLBL.Clear; - lvLBL.Invalidate; -end; - -procedure TfDoc.lvLBLData(Sender: TObject; Item: TListItem); -var - Inst: TProfInstance; - S: string; -begin - if (Item.Index >= 0) and (Item.Index < FListLBL.Count) then begin - Inst := TProfInstance(FListLBL[Item.Index]); - Item.Data := Inst; - if UseShortName then - Item.Caption := Inst.ShortName - else - Item.Caption := Inst.Name; - case TimeDisplay of - tdMs: begin - Item.SubItems.Add(FormatMs(Inst.SelfTime)); - Item.SubItems.Add(FormatMs(Inst.CumTime)); - end; - tdPercent: begin - Item.SubItems.Add(FormatPercent(Inst.SelfPercent)); - Item.SubItems.Add(FormatPercent(Inst.CumPercent)); - end; - else - raise Exception.Create('Unknown time display option.'); - end; - if UseShortName then - S := Inst.ShortFileName - else - S := Inst.FileName; - Item.SubItems.Add(S); - if UseShortName then - S := Inst.Caller.ShortFileName - else - S := Inst.Caller.FileName; - // Inst.Line is the line number of the *CALLING* function - if Inst.Line > 0 then - S := S + ' (' + Format ('%.0n', [Inst.Line * 1.0]) + ')'; - Item.SubItems.Add(S); - // set image - Item.ImageIndex := GetImageIndex(Inst.Kind); - end; -end; - -procedure TfDoc.tvChange(Sender: TObject; Node: TTreeNode); -begin - RefreshLists; - UpdateInfo; -end; - -function TfDoc.GetImageIndex(Kind: TFuncKind): Integer; -begin - case Kind of - fkRoot: begin - if CacheGrind.SummaryExists then - Result := 1 - else - Result := 0; - end; - fkSection: Result := 2; - fkFunc: Result := 3; - fkConstructor: Result := 4; - fkDestructor: Result := 5; - fkPublicMethod: Result := 6; - fkPrivateMethod: Result := 7; - fkStaticMethod: Result := 8; - fkInclude: Result := 9; - fkLibFunc: Result := 10; - else - Result := 0; - end; -end; - -procedure TfDoc.lvLBLDblClick(Sender: TObject); -begin - aViewGoToOpen.Execute; -end; - -procedure TfDoc.lvLBLKeyDown(Sender: TObject; var Key: Word; - Shift: TShiftState); -begin - if Shift = [] then begin - if Key = VK_RETURN then - aViewGoToOpen.Execute - else if Key = VK_BACK then - aViewGoToUpOneLevel.Execute; - end else if (Shift = [ssAlt]) and (Key = VK_RETURN) then - aLBLShowInfo.Execute; -end; - -procedure TfDoc.SetTimeDisplay(const Value: TTimeDisplay); -begin - FTimeDisplay := Value; - RepaintLists; -end; - -procedure TfDoc.aViewPercentUpdate(Sender: TObject); -begin - aViewPercent.Checked := TimeDisplay = tdPercent; -end; - -procedure TfDoc.aViewMsUpdate(Sender: TObject); -begin - aViewMs.Checked := TimeDisplay = tdMs; -end; - -procedure TfDoc.aViewPercentExecute(Sender: TObject); -begin - TimeDisplay := tdPercent; -end; - -procedure TfDoc.aViewMsExecute(Sender: TObject); -begin - TimeDisplay := tdMs; -end; - -procedure TfDoc.SetUseShortName(const Value: Boolean); -begin - FUseShortName := Value; - SyncTree; - RepaintLists; -end; - -(** - * Synchronizes the tree with underlying data. - * - * One of the cases when this is called is after a change to - * {@link UseShortName} property. It will be unwise to refresh - * the whole tree, so we just rename the nodes' captions accordingly. - *) -procedure TfDoc.SyncTree; -var - I: Integer; -begin - for I := 0 to tv.Items.Count - 1 do - SyncTreeNode(tv.Items[I]); -end; - -procedure TfDoc.SyncTreeNode(ANode: TTreeNode); -var - Inst: TProfInstance; - I: Integer; -begin - Inst := TProfInstance(ANode.Data); - if UseShortName then - ANode.Text := Inst.ShortName - else - ANode.Text := Inst.Name; - for I := 0 to ANode.Count - 1 do - SyncTreeNode(ANode[I]); -end; - -procedure TfDoc.CacheGrindAnalyzeProgress(Sender: TObject; Position, - Max: Integer; Status: string); -begin - fWait.lWait.Caption := Status; - fWait.pbWait.Position := Position; - fWait.pbWait.Max := Max; - fWait.Update; -end; - -procedure TfDoc.CacheGrindLoadProgress(Sender: TObject; Position, - Max: Integer; Status: string); -begin - fWait.lWait.Caption := Status; - fWait.pbWait.Position := Position; - fWait.pbWait.Max := Max; - fWait.Update; -end; - -procedure TfDoc.tvExpanding(Sender: TObject; Node: TTreeNode; - var AllowExpansion: Boolean); -var - Inst: TProfInstance; - I: Integer; -begin - if Node.HasChildren and (Node.Count = 0) then begin - tv.Items.BeginUpdate; - try - // we do need to expand this - Inst := TProfInstance(Node.Data); - for I := 0 to Inst.CallCount - 1 do - AddToTree(Node, Inst.Calls[I], False); - finally - tv.Items.EndUpdate; - end; - end; -end; - -procedure TfDoc.aViewFullPathExecute(Sender: TObject); -begin - UseShortName := not UseShortName; -end; - -procedure TfDoc.aViewFullPathUpdate(Sender: TObject); -begin - aViewFullPath.Checked := not UseShortName; -end; - -procedure TfDoc.ClearLists; -begin - ClearListLBL; - ClearListMerged; -end; - -procedure TfDoc.ClearListMerged; -begin - lvMerged.Items.Count := 0; - FListMerged.Clear; - lvMerged.Invalidate; -end; - -procedure TfDoc.RefreshListLBL; -var - Parent, Inst, LastInst: TProfInstance; - I: Integer; - Pass: Boolean; -begin - LastInst := nil; - if lvLBL.Selected <> nil then - LastInst := TProfInstance(FListLBL[lvLBL.ItemIndex]); - ClearListLBL; - if tv.Selected <> nil then begin - Parent := TProfInstance(tv.Selected.Data); - for I := 0 to Parent.CallCount - 1 do begin - Inst := Parent.Calls[I]; - Pass := True; - if HideLibFuncs and (Inst.Kind = fkLibFunc) then - Pass := False - else if (HideFastFuncs) and (Inst.CumTime < Config.FastThreshold) then - Pass := False; - if Pass then - FListLBL.Add(Inst); - end; - if ListLBLSort <> lsLine then - FListLBL.Sort(LBLSort); - lvLBL.Items.Count := FListLBL.Count; - SelectListItem(lvLBL, 0); - SelectLBLInstance(LastInst); - end; - lvLBL.Invalidate; -end; - -procedure TfDoc.RefreshListMerged; -var - Parent: TProfInstance; - Func, LastFunc: TProfFunc; - I: Integer; - Q: string; - Delete: Boolean; - RE: TRegExpr; - SumSelf: TProfTime; - SumSelfPercent: Double; - SumCalls: Integer; -begin - lFind.Caption := ''; - LastFunc := nil; - if lvMerged.ItemIndex >= 0 then - LastFunc := TProfFunc(FListMerged[lvMerged.ItemIndex]); - ClearListMerged; - SumSelf := 0; - SumSelfPercent := 0; - SumCalls := 0; - if tv.Selected <> nil then begin - Parent := TProfInstance(tv.Selected.Data); - Parent.GetMerged(FListMerged); - // filter - RE := TRegExpr.Create; - try - if cbRE.Checked then begin - RE.ModifierI := True; - Q := cbFind.Text; - if Q <> '' then begin - try - RE.Expression := Q; - RE.Compile; - except - Q := ''; - lFind.Caption := 'Pattern invalid'; - lFind.Visible := True; - end; - end; - end else - Q := Trim(LowerCase(cbFind.Text)); - for I := FListMerged.Count - 1 downto 0 do begin - Func := TProfFunc(FListMerged[I]); - // filtering - Delete := False; - // filter for hide funcs - if HideLibFuncs and(Func.Kind = fkLibFunc) then - Delete := True - // hide fast funcs - else if HideFastFuncs and (Func.TotCumTime < Config.FastThreshold) then - Delete := True - // find - else if Q <> '' then begin - if cbRE.Checked then begin - if not RE.Exec(Func.Name) then - Delete := True; - end else begin - if (Pos(Q, LowerCase(Func.Name)) <= 0) then - Delete := True; - end; - end; - if Delete then begin - FListMerged.Delete(I); - end else begin - // calculate sum - SumSelf := SumSelf + Func.TotSelfTime; - SumSelfPercent := SumSelfPercent + Func.TotSelfPercent; - SumCalls := SumCalls + Func.InstanceCount; - end; - end; - finally - FreeAndNil(RE); - end; - // ok, continue - FListMerged.Sort(MergedSort); - lvMerged.Items.Count := FListMerged.Count; - // select last function if available - SelectListItem(lvMerged, 0); - SelectMergedFunc(LastFunc); - end; - lvMerged.Invalidate; - lMerged.Caption := - ' Sum of total self time: '+ FormatMs(SumSelf) +' ('+ FormatPercent(SumSelfPercent) + ')' - + ' Sum of calls: '+ Format('%.0n', [SumCalls * 1.0]); -end; - -procedure TfDoc.RefreshLists; -begin - RefreshListLBL; - RefreshListMerged; - RefreshListMergedInstances; -end; - -procedure TfDoc.lvMergedData(Sender: TObject; Item: TListItem); -var - Func: TProfFunc; -begin - if (Item.Index >= 0) and (Item.Index < FListMerged.Count) then begin - Func := TProfFunc(FListMerged[Item.Index]); - Item.Data := Func; - if UseShortName then - Item.Caption := Func.ShortName - else - Item.Caption := Func.Name; - case TimeDisplay of - tdMs: begin - Item.SubItems.Add(FormatMs(Func.AvgSelfTime)); - Item.SubItems.Add(FormatMs(Func.AvgCumTime)); - Item.SubItems.Add(FormatMs(Func.TotSelfTime)); - Item.SubItems.Add(FormatMs(Func.TotCumTime)); - end; - tdPercent: begin - Item.SubItems.Add(FormatPercent(Func.AvgSelfPercent)); - Item.SubItems.Add(FormatPercent(Func.AvgCumPercent)); - Item.SubItems.Add(FormatPercent(Func.TotSelfPercent)); - Item.SubItems.Add(FormatPercent(Func.TotCumPercent)); - end; - else - raise Exception.Create('Unknown time display option.'); - end; - Item.SubItems.Add(Format('%.0n', [Func.InstanceCount * 1.0])); - // set image - Item.ImageIndex := GetImageIndex(Func.Kind); - end; -end; - -procedure TfDoc.RepaintLists; -begin - lvLBL.Invalidate; - lvMerged.Invalidate; -end; - -function TfDoc.FormatMs(Ms: TProfTime): string; -begin - if Ms < 0.1 then - Result := '-' - else if Ms < 10 then - Result := Format('%.1n', [Ms]) + 'ms' - else - Result := Format('%.0n', [Ms]) + 'ms'; -end; - -function TfDoc.FormatPercent(Percent: Double): string; -begin - if Percent < 0.01 then - Result := '-' - else - Result := Format('%.2f%%', [Percent]); -end; - -procedure TfDoc.SetListLBLSort(const Value: TListLBLSort); -begin - FListLBLSort := Value; - RefreshListLBL; -end; - -procedure TfDoc.SetListMergedSort(const Value: TListMergedSort); -begin - FListMergedSort := Value; - RefreshListMerged; -end; - -procedure TfDoc.lvLBLColumnClick(Sender: TObject; Column: TListColumn); -begin - ListLBLSort := TListLBLSort(Column.Index); -end; - -procedure TfDoc.lvMergedColumnClick(Sender: TObject; Column: TListColumn); -begin - ListMergedSort := TListMergedSort(Column.Index); -end; - -procedure TfDoc.UpdateInfo; -var - Inst: TProfInstance; -begin - if tv.Selected <> nil then begin - Inst := TProfInstance(tv.Selected.Data); - lInfoName.Caption := Inst.Name; - lInfoFileName.Caption := 'File: '+ Inst.FileName; - lInfo.Caption := 'Self time: '+ FormatMs(Inst.SelfTime) + ' (' + FormatPercent(Inst.SelfPercent) + ')' - + ' Cumulative time: '+ FormatMs(Inst.CumTime) + ' (' + FormatPercent(Inst.CumPercent) + ')'; - iInfo.Picture.Assign(nil); - ilCacheGrind.GetBitmap(GetImageIndex(Inst.Kind), iInfo.Picture.Bitmap); - pInfo.Visible := True; - end else begin - pInfo.Visible := False; - end; -end; - -procedure TfDoc.Reload; -begin - Open(FileName); -end; - -procedure TfDoc.SetHideLibFuncs(const Value: Boolean); -begin - FHideLibFuncs := Value; - RefreshLists; -end; - -procedure TfDoc.aViewHideLibFuncsUpdate(Sender: TObject); -begin - aViewHideLibFuncs.Checked := HideLibFuncs; -end; - -procedure TfDoc.aViewHideLibFuncsExecute(Sender: TObject); -begin - HideLibFuncs := not HideLibFuncs; -end; - -procedure TfDoc.ToolButton1Click(Sender: TObject); -begin - case TimeDisplay of - tdMs: TimeDisplay := tdPercent; - tdPercent: TimeDisplay := tdMs; - else - raise Exception.Create('Unrecognize time display option.'); - end; -end; - -function TfDoc.GetConfig: TConfig; -begin - Result := fMain.Config; -end; - -procedure TfDoc.aViewGoToUpOneLevelUpdate(Sender: TObject); -begin - aViewGoToUpOneLevel.Enabled := (tv.Selected <> nil) and (tv.Selected.Parent <> nil); -end; - -procedure TfDoc.aViewGoToUpOneLevelExecute(Sender: TObject); -var - LastInst: TProfInstance; -begin - if (tv.Selected <> nil) and (tv.Selected.Parent <> nil) then begin - LastInst := TProfInstance(tv.Selected.Data); - SelectTreeNode(tv.Selected.Parent); - RefreshListLBL; - SelectLBLInstance(LastInst); - end; -end; - -procedure TfDoc.RefreshListMergedInstances; -var - Func: TProfFunc; - I: Integer; -begin - ClearListMergedInstances; - if lvMerged.Selected <> nil then begin - Func := TProfFunc(FListMerged[lvMerged.ItemIndex]); - for I := 0 to Func.InstanceCount - 1 do - FMergedInstances.Add(Func.Instances[I]); - if MergedInstancesSort <> misIndex then - FMergedInstances.Sort(uDoc.MergedInstancesSort); - lvMergedInstances.Items.Count := FMergedInstances.Count; - SelectListItem(lvMergedInstances, 0); - end; - lvMergedInstances.Invalidate; -end; - -procedure TfDoc.ClearListMergedInstances; -begin - lvMergedInstances.Items.Count := 0; - FMergedInstances.Clear; - lvMergedInstances.Invalidate; -end; - -procedure TfDoc.lvMergedInstancesData(Sender: TObject; Item: TListItem); -var - Inst, Cur: TProfInstance; - S: string; -begin - if (Item.Index >= 0) and (Item.Index < FMergedInstances.Count) then begin - Inst := TProfInstance(FMergedInstances[Item.Index]); - Item.Data := Inst; - Item.Caption := Format('%.0n', [(Inst.Index + 1) * 1.0]); - // set image - Item.ImageIndex := GetImageIndex(Inst.Kind); - case TimeDisplay of - tdMs: begin - Item.SubItems.Add(FormatMs(Inst.SelfTime)); - Item.SubItems.Add(FormatMs(Inst.CumTime)); - end; - tdPercent: begin - Item.SubItems.Add(FormatPercent(Inst.SelfPercent)); - Item.SubItems.Add(FormatPercent(Inst.CumPercent)); - end; - else - raise Exception.Create('Unknown time display option.'); - end; - if UseShortName then - Item.SubItems.Add(Inst.Caller.ShortName) - else - Item.SubItems.Add(Inst.Caller.Name); - if UseShortName then - S := Inst.Caller.ShortFileName - else - S := Inst.Caller.FileName; - // Inst.Line is the line number of the *CALLING* function - if Inst.Line > 0 then - S := S + ' (' + Format ('%.0n', [Inst.Line * 1.0]) + ')'; - Item.SubItems.Add(S); - // stack trace euy!!! :-P - S := ''; - Cur := Inst.Caller; - while Cur <> nil do begin - if Cur.Caller = nil then Break; - if S <> '' then S := S + ' « '; - S := S + Cur.ShortName; - Cur := Cur.Caller; - end; - Item.SubItems.Add(S); - end; -end; - -procedure TfDoc.aViewGoToOpenUpdate(Sender: TObject); -begin - aViewGoToOpen.Enabled := lvLBL.Selected <> nil; -end; - -procedure TfDoc.aViewGoToOpenExecute(Sender: TObject); -begin - if lvLBL.Selected <> nil then - SelectTreeInstance(TProfInstance(FListLBL[lvLBL.ItemIndex])); -end; - -procedure TfDoc.SetMergedInstancesSort(const Value: TMergedInstancesSort); -begin - FMergedInstancesSort := Value; - FMergedInstances.Sort(uDoc.MergedInstancesSort); - lvMergedInstances.Invalidate; -end; - -procedure TfDoc.lvMergedInstancesColumnClick(Sender: TObject; - Column: TListColumn); -begin - if Column.Index > Ord(High(TMergedInstancesSort)) then - MessageDlg('Sorting on this column is not supported.', mtInformation, - [mbOK], 0) - else - MergedInstancesSort := TMergedInstancesSort(Column.Index); -end; - -{** - * This function is VERY slow. If possible, use TfDoc.SelectTreeNode(). - *} -procedure TfDoc.SelectTreeInstance(AInst: TProfInstance); -var - Path: TList; - Cur: TProfInstance; - Node, Found: TTreeNode; - I: Integer; -begin - // if not the we must perform a search :-( - Path := TList.Create; - try - // generate path - Cur := AInst; - while Cur <> nil do begin - Path.Insert(0, Cur); - Cur := Cur.Caller; - end; - // then find this path in treenode - // give starting point - Node := tv.Items[0]; - Path.Delete(0); - // then loop - while Path.Count > 0 do begin - // get the instance to find - Cur := Path[0]; - Path.Delete(0); - // expand this node so we have children - if Node.HasChildren and not Node.Expanded then - Node.Expand(False); - // I hope this path is already loaded - if Cur.Data <> nil then - Found := TTreeNode(Cur.Data) - else begin - // whoops!! we have to perform an exhaustive search :-( - // search its children - Found := nil; - for I := 0 to Node.Count - 1 do begin - if Node.Item[I].Data = Cur then begin - Found := Node.Item[I]; - Break; - end; - end; - end; - // not found? - if Found = nil then raise Exception.Create('Cannot find tree node.'); - // this is our node - Node := Found; - end; - // then select this - SelectTreeNode(Node); - finally - FreeAndNil(Path); - end; -end; - -procedure TfDoc.aMergedInstancesGoToUpdate(Sender: TObject); -begin - aMergedInstancesGoTo.Enabled := lvMergedInstances.Selected <> nil; -end; - -procedure TfDoc.aMergedInstancesGoToExecute(Sender: TObject); -begin - SelectTreeInstance(FMergedInstances[lvMergedInstances.ItemIndex]); - pcProfiler.ActivePage := tsLBL; - lvLBL.SetFocus; -end; - -procedure TfDoc.lvMergedInstancesDblClick(Sender: TObject); -begin - aMergedInstancesGoTo.Execute; -end; - -procedure TfDoc.lvMergedInstancesKeyDown(Sender: TObject; var Key: Word; - Shift: TShiftState); -begin - if (Shift = []) and (Key = VK_RETURN) then - aMergedInstancesGoTo.Execute; -end; - -(** - * Opens a file in the editor. - *) -procedure TfDoc.aTreeOpenEditorUpdate(Sender: TObject); -begin - aTreeOpenEditor.Enabled := (tv.Selected <> nil) and (tv.Selected.Parent <> nil); -end; - -procedure TfDoc.aTreeOpenEditorExecute(Sender: TObject); -var - Inst: TProfInstance; -begin - Inst := TProfInstance(tv.Selected.Data); - fMain.OpenEditor(Inst.Caller.FileName, Self, Inst.Line); -end; - -procedure TfDoc.tvKeyDown(Sender: TObject; var Key: Word; - Shift: TShiftState); -begin - if (Shift = []) and (Key = VK_RETURN) then - aTreeOpenEditor.Execute; - if (Shift = []) and (Key = VK_BACK) then - aViewGoToUpOneLevel.Execute; - if (Shift = [ssAlt]) and (Key = VK_RETURN) then - aTreeShowInfo.Execute; -end; - -procedure TfDoc.aTreeShowInfoUpdate(Sender: TObject); -begin - aTreeShowInfo.Enabled := tv.Selected <> nil; -end; - -procedure TfDoc.ShowInfo(AInst: TProfInstance); -var - S: string; -begin - S := ''; - if not CacheGrind.SummaryExists then - S := S + 'Warning! This file does not contain a "summary:" line,' - + ' this usually means the file is not valid.' - + ' As of xdebug 2.0.0 beta 1, this can happen when you use' - + ' exit() or die() in your script.'#13#10#13#10; - S := S + 'Parser information:'#13#10; - S := S + 'Definition line: ' + Format('%.0n', [AInst.ParserLine * 1.0]) + #13#10; - S := S + 'Call line: ' + Format('%.0n', [AInst.ParserCallLine * 1.0]); - MessageDlg(S, mtInformation, [mbOK], 0); -end; - -procedure TfDoc.aLBLShowInfoUpdate(Sender: TObject); -begin - aLBLShowInfo.Enabled := lvLBL.Selected <> nil; -end; - -procedure TfDoc.aLBLShowInfoExecute(Sender: TObject); -begin - ShowInfo(TProfInstance(FListLBL[lvLBL.ItemIndex])); -end; - -procedure TfDoc.aTreeShowInfoExecute(Sender: TObject); -begin - ShowInfo(TProfInstance(tv.Selected.Data)); -end; - -procedure TfDoc.tvCollapsing(Sender: TObject; Node: TTreeNode; - var AllowCollapse: Boolean); -begin - if Node.Parent = nil then - AllowCollapse := False; -end; - -procedure TfDoc.lvMergedSelectItem(Sender: TObject; Item: TListItem; - Selected: Boolean); -begin - if Selected then - RefreshListMergedInstances - else - ClearListMergedInstances; -end; - -procedure TfDoc.aProfilerFindExecute(Sender: TObject); -begin - pcProfiler.ActivePage := tsMerged; - cbFind.SetFocus; - cbFind.SelectAll; -end; - -procedure TfDoc.cbFindChange(Sender: TObject); -begin - tFind.Enabled := False; - tFind.Enabled := True; -end; - -procedure TfDoc.aLBLOpenEditorUpdate(Sender: TObject); -begin - aLBLOpenEditor.Enabled := lvLBL.Selected <> nil; -end; - -procedure TfDoc.aLBLOpenEditorExecute(Sender: TObject); -begin - fMain.OpenEditor(TProfInstance(FListLBL[lvLBL.ItemIndex]).Caller.FileName, - Self, TProfInstance(FListLBL[lvLBL.ItemIndex]).Line); -end; - -procedure TfDoc.aTreeGoToRootExecute(Sender: TObject); -begin - SelectTreeNode(tv.Items[0]); -end; - -procedure TfDoc.aTreeGoToRootUpdate(Sender: TObject); -begin - aTreeGoToRoot.Enabled := CacheGrind.Root <> nil; -end; - -procedure TfDoc.aMergedInstancesOpenEditorUpdate(Sender: TObject); -begin - aMergedInstancesOpenEditor.Enabled := lvMergedInstances.Selected <> nil; -end; - -procedure TfDoc.aMergedInstancesOpenEditorExecute(Sender: TObject); -begin - fMain.OpenEditor(TProfInstance(FMergedInstances[lvMergedInstances.ItemIndex]).Caller.FileName, - Self, TProfInstance(FMergedInstances[lvMergedInstances.ItemIndex]).Line); -end; - -procedure TfDoc.aMergedInstancesShowInfoUpdate(Sender: TObject); -begin - aMergedInstancesShowInfo.Enabled := lvMergedInstances.Selected <> nil; -end; - -procedure TfDoc.aMergedInstancesShowInfoExecute(Sender: TObject); -begin - ShowInfo(TProfInstance(FMergedInstances[lvMergedInstances.ItemIndex])); -end; - -procedure TfDoc.ShowMerged(AFunc: TProfFunc); -begin - // must clear filter first - cbFind.Text := ''; - FHideFastFuncs := False; - FHideLibFuncs := False; - RefreshListMerged(); - // we must switch to parent (and more parents!!) if not found in current view - while FListMerged.IndexOf(AFunc) < 0 do begin - if tv.Selected.Parent = nil then - raise Exception.Create('Cannot find current function in the whole function list (possibly a bug in this program).'); - SelectTreeNode(tv.Selected.Parent); - // refresh lvMerged - RefreshListMerged; - end; - // then select this function - SelectMergedFunc(AFunc); - // set focus - pcProfiler.ActivePage := tsMerged; - lvMerged.SetFocus; -end; - -procedure TfDoc.aLBLShowOverallExecute(Sender: TObject); -begin - ShowMerged(TProfInstance(FListLBL[lvLBL.ItemIndex]).Func); -end; - -procedure TfDoc.aLBLShowOverallUpdate(Sender: TObject); -begin - aLBLShowOverall.Enabled := lvLBL.Selected <> nil; -end; - -procedure TfDoc.aTreeShowOverallExecute(Sender: TObject); -begin - ShowMerged(TProfInstance(tv.Selected.Data).Func); -end; - -procedure TfDoc.aTreeShowOverallUpdate(Sender: TObject); -begin - aTreeShowOverall.Enabled := (tv.Selected <> nil) and (tv.Selected.Parent <> nil); -end; - -procedure TfDoc.aTreeExpandUpdate(Sender: TObject); -begin - aTreeExpand.Enabled := (tv.Selected <> nil) and (tv.Selected.HasChildren) and (not tv.Selected.Expanded); -end; - -procedure TfDoc.aTreeExpandExecute(Sender: TObject); -begin - tv.Selected.Expand(False); - tv.Selected.MakeVisible; -end; - -procedure TfDoc.aTreeCollapseUpdate(Sender: TObject); -begin - aTreeCollapse.Enabled := (tv.Selected <> nil) and (tv.Selected.Expanded) and (tv.Selected.Parent <> nil); -end; - -procedure TfDoc.aTreeCollapseExecute(Sender: TObject); -begin - tv.Selected.Collapse(False); -end; - -procedure TfDoc.aTreeExpandAllUpdate(Sender: TObject); -begin - aTreeExpandAll.Enabled := (tv.Selected <> nil) and (tv.Selected.HasChildren) and (not tv.Selected.Expanded); -end; - -procedure TfDoc.aTreeExpandAllExecute(Sender: TObject); -begin - tv.Items.BeginUpdate; - try - tv.Selected.Expand(True); - tv.Selected.MakeVisible; - finally - tv.Items.EndUpdate; - end; -end; - -procedure TfDoc.SelectMergedFunc(AFunc: TProfFunc); -begin - SelectListItem(lvMerged, FListMerged.IndexOf(AFunc)); -end; - -procedure TfDoc.SelectLBLInstance(AInst: TProfInstance); -begin - SelectListItem(lvLBL, FListLBL.IndexOf(AInst)); -end; - -procedure TfDoc.SelectListItem(LV: TListView; AIndex: Integer); -begin - if (AIndex >= 0) and (AIndex < LV.Items.Count) then begin - ListView_EnsureVisible(LV.Handle, AIndex, False); - ListView_SetItemState(LV.Handle, AIndex, LVIS_FOCUSED or LVIS_SELECTED, - LVIS_FOCUSED or LVIS_SELECTED); - end; - // below doesn't work (unfortunately), and lvMerged.Selected := lvMerged.Items[I] also doesn't work - // I think there's no VCL programmatical way to select an item in ownerdata listview -// lvMerged.ItemIndex := I; - // then show our stuff -end; - -procedure TfDoc.SelectTreeNode(Node: TTreeNode); -begin - if Node <> nil then begin - Node.MakeVisible; - tv.Selected := Node; - end; -end; - -procedure TfDoc.SetHideFastFuncs(const Value: Boolean); -begin - FHideFastFuncs := Value; - RefreshLists; -end; - -procedure TfDoc.aViewHideFastFuncsUpdate(Sender: TObject); -begin - aViewHideFastFuncs.Checked := HideFastFuncs; -end; - -procedure TfDoc.aViewHideFastFuncsExecute(Sender: TObject); -begin - HideFastFuncs := not HideFastFuncs; -end; - -procedure TfDoc.tFindTimer(Sender: TObject); -begin - tFind.Enabled := False; - RefreshListMerged; -end; - -procedure TfDoc.cbFindSelect(Sender: TObject); -begin - cbRE.Checked := True; - tFind.Enabled := False; - tFind.Enabled := True; -end; - -procedure TfDoc.cbREClick(Sender: TObject); -begin - tFind.Enabled := False; - tFind.Enabled := True; -end; - -end. diff --git a/uEditor.dcu b/uEditor.dcu deleted file mode 100644 index 6d604d6..0000000 Binary files a/uEditor.dcu and /dev/null differ diff --git a/uEditor.ddp b/uEditor.ddp deleted file mode 100644 index 4370276..0000000 Binary files a/uEditor.ddp and /dev/null differ diff --git a/uEditor.~dfm b/uEditor.~dfm deleted file mode 100644 index 458f718..0000000 --- a/uEditor.~dfm +++ /dev/null @@ -1,160 +0,0 @@ -object fEditor: TfEditor - Left = 549 - Top = 427 - Width = 320 - Height = 240 - ActiveControl = he - Caption = 'Editor' - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [] - FormStyle = fsMDIChild - Icon.Data = { - 0000010001001010100000000000280100001600000028000000100000002000 - 00000100040000000000C0000000000000000000000000000000000000000000 - 000000008000008000000080800080000000800080008080000080808000C0C0 - C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000 - 00000000000000000000000000000000FFFFFFFF00000000F0000FFF00000000 - FFFFFFFF00000000F000000F00000000FFFFFFFF00000000F000000F00000000 - FFFFFFFF00000000F000FFFF00000000FFFFF00000000000F00FF0F000000000 - FFFFF0000000000000000000000000000000000000000000000000000000FFFF - 0000E0070000E0070000E0070000E0070000E0070000E0070000E0070000E007 - 0000E0070000E0070000E00F0000E01F0000E03F0000FFFF0000FFFF0000} - OldCreateOrder = True - Position = poDefault - ScreenSnap = True - ShowHint = True - Visible = True - OnClose = FormClose - OnCloseQuery = FormCloseQuery - PixelsPerInch = 96 - TextHeight = 13 - object ToolBar1: TToolBar - Left = 0 - Top = 0 - Width = 312 - Height = 26 - AutoSize = True - BorderWidth = 1 - Caption = 'ToolBar1' - EdgeBorders = [] - Flat = True - Images = fMain.il - TabOrder = 0 - object ToolButton1: TToolButton - Left = 0 - Top = 0 - Action = aFileSave - end - object ToolButton2: TToolButton - Left = 23 - Top = 0 - Action = aFileClose - end - object ToolButton3: TToolButton - Left = 46 - Top = 0 - Width = 8 - Caption = 'ToolButton3' - ImageIndex = 2 - Style = tbsSeparator - end - object ToolButton4: TToolButton - Left = 54 - Top = 0 - Action = aFileRevertToSaved - end - end - object he: TJvHLEditor - Left = 0 - Top = 26 - Width = 312 - Height = 180 - Cursor = crIBeam - GutterWidth = 0 - RightMarginColor = clSilver - Completion.ItemHeight = 13 - Completion.Interval = 800 - Completion.ListBoxStyle = lbStandard - Completion.CaretChar = '|' - Completion.CRLF = '/n' - Completion.Separator = '=' - TabStops = '5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77' - SmartTab = False - BackSpaceUnindents = False - SelForeColor = clHighlightText - SelBackColor = clHighlight - OnGetLineAttr = heGetLineAttr - Align = alClient - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -13 - Font.Name = 'Courier New' - Font.Style = [] - ParentColor = False - ParentFont = False - TabStop = True - UseDockManager = False - Highlighter = hlPhp - Colors.Comment.Style = [fsItalic] - Colors.Comment.ForeColor = clOlive - Colors.Comment.BackColor = clWindow - Colors.Number.ForeColor = clNavy - Colors.Number.BackColor = clWindow - Colors.Strings.ForeColor = clPurple - Colors.Strings.BackColor = clWindow - Colors.Symbol.ForeColor = clBlue - Colors.Symbol.BackColor = clWindow - Colors.Reserved.Style = [fsBold] - Colors.Reserved.ForeColor = clWindowText - Colors.Reserved.BackColor = clWindow - Colors.Identifier.ForeColor = clWindowText - Colors.Identifier.BackColor = clWindow - Colors.Preproc.ForeColor = clGreen - Colors.Preproc.BackColor = clWindow - Colors.FunctionCall.ForeColor = clWindowText - Colors.FunctionCall.BackColor = clWindow - Colors.Declaration.ForeColor = clWindowText - Colors.Declaration.BackColor = clWindow - Colors.Statement.Style = [fsBold] - Colors.Statement.ForeColor = clWindowText - Colors.Statement.BackColor = clWindow - Colors.PlainText.ForeColor = clWindowText - Colors.PlainText.BackColor = clWindow - end - object al: TActionList - Images = fMain.il - Left = 184 - Top = 60 - object aFileClose: TAction - Caption = 'Close' - Hint = 'Close|Closes the current file.' - ImageIndex = 5 - OnExecute = aFileCloseExecute - end - object aFileSave: TAction - Caption = 'Save' - Hint = 'Save|Saves the current file.' - ImageIndex = 22 - ShortCut = 16467 - OnExecute = aFileSaveExecute - OnUpdate = aFileSaveUpdate - end - object aFileRevertToSaved: TAction - Caption = 'Revert to Saved' - Hint = 'Revert to Saved|Reloads the file and discards any changes.' - ImageIndex = 21 - OnExecute = aFileRevertToSavedExecute - OnUpdate = aFileRevertToSavedUpdate - end - end - object tUpdateStatus: TTimer - Interval = 100 - OnTimer = tUpdateStatusTimer - Left = 24 - Top = 172 - end -end diff --git a/uEditor.~pas b/uEditor.~pas deleted file mode 100644 index 0d25fab..0000000 --- a/uEditor.~pas +++ /dev/null @@ -1,191 +0,0 @@ -unit uEditor; - -interface - -uses - Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, - Dialogs, JvEditor, JvHLEditor, ComCtrls, ActnList, Menus, ToolWin, - ImgList, StdCtrls, ExtCtrls, JvExControls, JvComponent, JvEditorCommon; - -type - TfEditor = class(TForm) - al: TActionList; - ToolBar1: TToolBar; - aFileClose: TAction; - aFileSave: TAction; - ToolButton1: TToolButton; - ToolButton2: TToolButton; - he: TJvHLEditor; - tUpdateStatus: TTimer; - aFileRevertToSaved: TAction; - ToolButton3: TToolButton; - ToolButton4: TToolButton; - procedure aFileCloseExecute(Sender: TObject); - procedure aFileSaveUpdate(Sender: TObject); - procedure aFileSaveExecute(Sender: TObject); - procedure tUpdateStatusTimer(Sender: TObject); - procedure aFileRevertToSavedUpdate(Sender: TObject); - procedure aFileRevertToSavedExecute(Sender: TObject); - procedure FormClose(Sender: TObject; var Action: TCloseAction); - procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); - procedure heGetLineAttr(Sender: TObject; var Line: String; - Index: Integer; var Attrs: TLineAttrs); - private - FFileName: string; - FHighlightedLine: Integer; - procedure SetHighlightedLine(const Value: Integer); - { Private declarations } - public - { Public declarations } - property FileName: string read FFileName; - property HighlightedLine: Integer read FHighlightedLine write SetHighlightedLine; - - constructor Create(AOwner: TComponent); override; - destructor Destroy; override; - procedure CloseFile; - procedure Open(AFileName: string); - procedure Save; - end; - -implementation - -{$R *.dfm} - -uses uMain; - -{ TfEditor } - -procedure TfEditor.CloseFile; -begin - if FileName <> '' then begin - if he.Modified then begin - if MessageDlg(ExtractFileName(FileName) +' has been modified.' - + ' Do you want to save the changes?', mtConfirmation, - [mbYes, mbNo], 0) = idYes then - Save; - end; - he.Lines.Clear; - he.ReadOnly := True; - FFileName := ''; - Caption := 'No file'; - HighlightedLine := -1; - end; -end; - -constructor TfEditor.Create(AOwner: TComponent); -begin - inherited; - he.ReadOnly := True; -end; - -destructor TfEditor.Destroy; -begin - CloseFile; - inherited; -end; - -procedure TfEditor.Open(AFileName: string); -begin - CloseFile; - he.Lines.LoadFromFile(AFileName); - FFileName := AFileName; - he.ReadOnly := False; - Caption := FFileName; - HighlightedLine := -1; -end; - -procedure TfEditor.Save; -begin - he.Lines.SaveToFile(FileName); - he.Modified := False; -end; - -procedure TfEditor.aFileCloseExecute(Sender: TObject); -begin - Close; -end; - -procedure TfEditor.aFileSaveUpdate(Sender: TObject); -begin - aFileSave.Enabled := (FileName <> '') and (he.Modified); -end; - -procedure TfEditor.aFileSaveExecute(Sender: TObject); -begin - Save; -end; - -procedure TfEditor.tUpdateStatusTimer(Sender: TObject); -begin - if FileName = '' then - Hint := '|No opened file.' - else begin - Hint := '|Column '+ IntToStr(he.CaretX+1) + ' Line ' - + IntToStr(he.CaretY+1); - if he.CaretY <> HighlightedLine then - HighlightedLine := -1; - end; -end; - -procedure TfEditor.aFileRevertToSavedUpdate(Sender: TObject); -begin - aFileRevertToSaved.Enabled := (FileName <> '') and (he.Modified); -end; - -procedure TfEditor.aFileRevertToSavedExecute(Sender: TObject); -begin - if MessageDlg('Reload file and discards any changes?', - mtConfirmation, [mbYes, mbNo], 0) = idYes then - begin - he.Modified := False; - Open(FileName); - end; -end; - -procedure TfEditor.FormClose(Sender: TObject; var Action: TCloseAction); -begin - Action := caFree; -end; - -procedure TfEditor.FormCloseQuery(Sender: TObject; var CanClose: Boolean); -var - Res: Integer; -begin - if FileName <> '' then begin - if he.Modified then begin - Res := MessageDlg(ExtractFileName(FileName) +' has been modified.' - + ' Do you want to save the changes?', mtConfirmation, - [mbYes, mbNo, mbCancel], 0); - case Res of - idYes: Save; - idCancel: begin - CanClose := False; - Exit; - end; - end; - end; - he.Lines.Clear; - he.ReadOnly := True; - FFileName := ''; - Caption := 'No file'; - end; -end; - -procedure TfEditor.heGetLineAttr(Sender: TObject; var Line: String; - Index: Integer; var Attrs: TLineAttrs); -var - I: Integer; -begin - if Index = HighlightedLine then begin - for I := Low(Attrs) to High(Attrs) do - Attrs[I].BC := clBtnFace; - end; -end; - -procedure TfEditor.SetHighlightedLine(const Value: Integer); -begin - FHighlightedLine := Value; - he.Invalidate; -end; - -end. diff --git a/uMain.dcu b/uMain.dcu deleted file mode 100644 index 114aab8..0000000 Binary files a/uMain.dcu and /dev/null differ diff --git a/uMain.ddp b/uMain.ddp deleted file mode 100644 index 4370276..0000000 Binary files a/uMain.ddp and /dev/null differ diff --git a/uMain.~ddp b/uMain.~ddp deleted file mode 100644 index 4370276..0000000 Binary files a/uMain.~ddp and /dev/null differ diff --git a/uMain.~dfm b/uMain.~dfm deleted file mode 100644 index d0a0e8a..0000000 --- a/uMain.~dfm +++ /dev/null @@ -1,1411 +0,0 @@ -object fMain: TfMain - Left = 855 - Top = 272 - Width = 635 - Height = 431 - ActiveControl = lvExplorer - Caption = 'WinCacheGrind' - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [] - FormStyle = fsMDIForm - Menu = mm - OldCreateOrder = False - Position = poDefault - ScreenSnap = True - ShowHint = True - OnCreate = FormCreate - OnDestroy = FormDestroy - OnShow = FormShow - PixelsPerInch = 96 - TextHeight = 13 - object sExplorer: TSplitter - Left = 0 - Top = 270 - Width = 627 - Height = 4 - Cursor = crVSplit - Align = alBottom - end - object sb: TStatusBar - Left = 0 - Top = 366 - Width = 627 - Height = 19 - AutoHint = True - Panels = < - item - Width = 50 - end> - SimplePanel = True - end - object ToolBar1: TToolBar - Left = 0 - Top = 0 - Width = 627 - Height = 28 - AutoSize = True - BorderWidth = 1 - Caption = 'ToolBar1' - DragKind = dkDock - EdgeBorders = [ebBottom] - Flat = True - Images = il - TabOrder = 1 - object ToolButton1: TToolButton - Left = 0 - Top = 0 - Action = aFileOpen - end - object ToolButton2: TToolButton - Left = 23 - Top = 0 - Action = aFileReload - end - object ToolButton3: TToolButton - Left = 46 - Top = 0 - Width = 8 - Caption = 'ToolButton3' - ImageIndex = 2 - Style = tbsSeparator - end - object ToolButton9: TToolButton - Left = 54 - Top = 0 - Action = aViewExplorer - end - object ToolButton8: TToolButton - Left = 77 - Top = 0 - Width = 8 - Caption = 'ToolButton8' - ImageIndex = 3 - Style = tbsSeparator - end - object ToolButton4: TToolButton - Left = 85 - Top = 0 - Action = aToolsOptions - end - object ToolButton5: TToolButton - Left = 108 - Top = 0 - Width = 8 - Caption = 'ToolButton5' - ImageIndex = 4 - Style = tbsSeparator - end - object ToolButton7: TToolButton - Left = 116 - Top = 0 - Action = aHelpReadMe - end - object ToolButton6: TToolButton - Left = 139 - Top = 0 - Action = aHelpAbout - end - end - object lvExplorer: TListView - Left = 0 - Top = 274 - Width = 627 - Height = 92 - Align = alBottom - Columns = < - item - Caption = 'File Name' - Width = 160 - end - item - Caption = 'Title' - Width = 360 - end - item - Alignment = taRightJustify - Caption = 'Modified' - Width = 110 - end - item - Alignment = taRightJustify - Caption = 'Size' - Width = 70 - end> - HideSelection = False - OwnerData = True - ReadOnly = True - RowSelect = True - PopupMenu = pmExplorer - SmallImages = ilIcons - TabOrder = 2 - ViewStyle = vsReport - OnColumnClick = lvExplorerColumnClick - OnData = lvExplorerData - OnDblClick = lvExplorerDblClick - OnKeyDown = lvExplorerKeyDown - end - object tbTabs: TJvTabBar - Left = 0 - Top = 28 - Width = 627 - Images = ilIcons - Tabs = < - item - Caption = 'asdasd' - Selected = True - ImageIndex = 0 - end - item - Caption = 'asdasd' - ImageIndex = 2 - end> - OnTabClosed = tbTabsTabClosed - OnTabSelected = tbTabsTabSelected - end - object il: TImageList - Left = 104 - Top = 80 - Bitmap = { - 494C010117001800040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 - 0000000000003600000028000000400000006000000001002000000000000060 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000FFFFFF00FFFFFF000000FF000000FF00FFFF - FF000000FF000000FF00FFFFFF00000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF000000 - FF000000FF00FFFFFF00FFFFFF00000000000000000000000000008080000080 - 8000000000000000000000000000000000000000000000000000000000000000 - 0000000000000080800000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000FFFFFF0000000000000000000000000000000000FFFFFF00FFFFFF00FFFF - FF00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF000000 - FF000000FF00FFFFFF00FFFFFF00000000000000000000000000008080000080 - 8000000000000000000000000000000000000000000000000000000000000000 - 0000000000000080800000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF000000FF000000 - FF000000FF000000FF00FFFFFF00000000000000000000000000008080000080 - 8000000000000000000000000000000000000000000000000000000000000000 - 0000000000000080800000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000FFFFFF00000000000000000000000000000000000000000000000000FFFF - FF00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000FFFFFF00FFFFFF000000FF000000FF00FFFF - FF00FFFFFF000000FF00FFFFFF00000000000000000000000000008080000080 - 8000000000000000000000000000000000000000000000000000000000000000 - 0000000000000080800000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF - FF00000000000000000000000000000000000000000000000000008080000080 - 8000008080000080800000808000008080000080800000808000008080000080 - 8000008080000080800000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000FFFFFF00000000000000000000000000000000000000000000000000FFFF - FF00000000000000000000000000000000000000000000800000008000000000 - 0000000000000000000000000000000000000080000000000000FFFFFF00FFFF - FF0000000000FFFFFF0000000000000000000000000000000000008080000080 - 8000000000000000000000000000000000000000000000000000000000000000 - 0000008080000080800000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00000000000000000000000000000000000000000000800000008000000000 - 0000000000000000000000000000000000000080000000000000FFFFFF00FFFF - FF00000000000000000000000000000000000000000000000000008080000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000080800000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000FFFFFF00000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF - FF00000000000000000000000000000000000000000000800000008000000000 - 0000000000000000000000000000000000000080000000000000000000000000 - 0000000000000000000000000000000000000000000000000000008080000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000080800000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000000000000000 - 0000000000000000000000000000000000000000000000800000008000000080 - 0000008000000080000000800000008000000080000000000000000000000000 - 0000000000000000000000000000000000000000000000000000008080000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000080800000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000FFFFFF000000000000000000FFFFFF00FFFFFF0000000000FFFFFF000000 - 0000000000000000000000000000000000000000000000800000000000000000 - 0000000000000000000000000000000000000080000000000000000000000000 - 0000000000000000000000000000000000000000000000000000008080000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000080800000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000000000000000 - 000000000000000000000000000000000000000000000080000000000000FFFF - FF00FFFFFF00FFFFFF00FFFFFF00000000000080000000000000000000000000 - 0000000000000000000000000000000000000000000000000000008080000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000000000000080000000000000FFFF - FF00FFFFFF00FFFFFF00FFFFFF00000000000080000000000000000000000000 - 0000000000000000000000000000000000000000000000000000008080000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000000000000080000000000000FFFF - FF00FFFFFF00FFFFFF00FFFFFF00000000000080000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000008484840084848400848484008484 - 8400848484008484840084848400848484008484840084848400FFFFFF00C6C6 - C60084848400C6C6C600FFFFFF00C6C6C6000000000000000000000000000000 - 0000000000000000000084000000840000008400000084000000840000008400 - 0000840000008400000084000000840000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000008484840084848400848484008484 - 840084848400848484008484840084848400848484008484840084848400FFFF - FF0084848400FFFFFF0084848400848484000000000000000000000000000000 - 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00840000000000000084000000840000008400 - 0000840000008400000084000000840000008400000084000000840000008400 - 0000840000008400000000000000000000000000000084000000840000008400 - 0000840000008400000084000000840000008400000084000000840000008400 - 0000840000008400000000000000000000008400000084000000840000008400 - 00000000000000000000848484008484840084848400FFFFFF00FFFFFF00FFFF - FF00840000008400000084000000840000000000000000000000000000000000 - 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00840000000000000084000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF008400000000000000000000000000000084000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF0084000000FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF008400000000000000000000000000000000000000000000008400 - 0000FF00000084000000000000000000000084848400FFFFFF00FFFFFF00FFFF - FF00840000000000000000000000000000000000000000000000000000000000 - 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00840000000000000084000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF008400000000000000000000000000000084000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF0084000000FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF008400000000000000000000000000000000000000000000008400 - 000084000000FF0000008400000000000000FFFFFF00FFFFFF00FFFFFF00FFFF - FF00840000000000000000000000000000000000000000000000000000008400 - 0000840000008400000084000000840000008400000084000000840000008400 - 0000840000008400000084000000840000000000000084000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF008400000000000000000000000000000084000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF0084000000FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF008400000000000000000000000000000000000000000000008400 - 0000FF00000084000000FF00000000000000FFFFFF00FFFFFF00FFFFFF00FFFF - FF00840000000000000000000000000000000000000000000000000000008400 - 0000FFFFFF00FFFFFF0084000000840000008400000084000000840000008400 - 00008400000084000000FFFFFF00840000000000000084000000840000008400 - 0000840000008400000084000000840000008400000084000000840000008400 - 0000840000008400000000000000000000000000000084000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF0084000000FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF008400000000000000000000000000000000000000000000008400 - 000084000000FF0000008400000000000000FFFFFF00FFFF0000FFFFFF00FFFF - 0000840000000000000000000000000000000000000000000000000000008400 - 0000FFFFFF00FFFFFF0084000000840000008400000084000000840000008400 - 0000840000008400000084000000840000000000000084000000840000008400 - 0000840000008400000084000000840000008400000084000000840000008400 - 0000FFFFFF008400000000000000000000000000000084000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF0084000000FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF008400000000000000000000000000000000000000000000008400 - 0000FF00000084000000FF00000000000000FFFF0000FFFFFF00FFFF0000FFFF - FF00840000000000000000000000000000000000000000000000000000008400 - 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00840000000000000000000000000000000000000084000000840000008400 - 0000840000008400000084000000840000008400000084000000840000008400 - 0000840000008400000000000000000000000000000084000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF0084000000FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF008400000000000000000000000000000000000000000000008400 - 000084000000FF0000008400000000000000FFFFFF00FFFF0000FFFFFF00FFFF - 0000840000000000000000000000000000000000000084000000840000008400 - 0000840000008400000084000000840000008400000084000000840000008400 - 0000840000000000000000000000000000000000000084000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF008400000000000000000000000000000084000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF0084000000FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF008400000000000000000000000000000000000000000000008400 - 0000FF00000084000000FF00000000000000FFFF0000FFFFFF00FFFF0000FFFF - FF00840000000000000000000000000000000000000084000000FFFFFF008400 - 000084000000840000008400000084000000840000008400000084000000FFFF - FF00840000000000000000000000000000000000000084000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF008400000000000000000000000000000084000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF0084000000FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF008400000000000000000000000000000000000000000000008400 - 0000840000008400000084000000840000008400000084000000840000008400 - 0000840000000000000000000000000000000000000084000000FFFFFF008400 - 0000840000008400000084000000840000008400000084000000840000008400 - 0000840000000000000000000000000000000000000084000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF008400000000000000000000000000000084000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF0084000000FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF008400000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000084000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00840000000000 - 0000000000000000000000000000000000000000000084000000840000008400 - 0000840000008400000084000000840000008400000084000000840000008400 - 0000840000008400000000000000000000000000000084000000840000008400 - 0000840000008400000084000000840000008400000084000000840000008400 - 0000840000008400000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000084000000840000008400 - 0000840000008400000084000000840000008400000084000000840000000000 - 0000000000000000000000000000000000000000000084000000840000008400 - 0000840000008400000084000000840000008400000084000000840000008400 - 0000FFFFFF008400000000000000000000000000000084000000840000008400 - 00008400000084000000FFFFFF00840000008400000084000000840000008400 - 0000FFFFFF008400000000000000000000000000000000000000000000000000 - 0000000000000000000000840000008400000084000000840000000000000000 - 0000000000000000000000000000000000000000000084000000840000008400 - 00008400000084000000840000008400000084000000FFFFFF00840000000000 - 0000000000000000000000000000000000000000000084000000840000008400 - 0000840000008400000084000000840000008400000084000000840000008400 - 0000840000008400000000000000000000000000000084000000840000008400 - 0000840000008400000084000000840000008400000084000000840000008400 - 0000840000008400000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000084000000840000008400 - 0000840000008400000084000000840000008400000084000000840000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000084000000840000008400000084000000840000008400 - 0000840000008400000084000000840000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000840000008400000084000000840000008400 - 0000840000008400000084000000840000000000000000000000000000000000 - 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00840000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00840000000000000084848400008484008484 - 8400008484008484840084000000FFFFFF000000000000000000000000000000 - 00000000000000000000FFFFFF00840000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000084000000FFFFFF0000000000000000000000 - 00000000000000000000FFFFFF00840000000000000000848400848484000084 - 8400848484000084840084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00840000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00840000000000000084848400008484008484 - 8400008484008484840084000000FFFFFF00000000000000000000000000FFFF - FF00840000008400000084000000840000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000840000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF0084000000FFFFFF0000000000000000000000 - 00000000000000000000FFFFFF00840000000000000000848400848484000084 - 8400848484000084840084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF0084000000FFFFFF0084000000000000000000000000000000840000008400 - 0000840000008400000084000000000000000000000000000000000000000000 - 0000840000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000FFFFFF000000 - 000000000000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00840000000000000084848400008484008484 - 8400008484008484840084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00840000008400000000000000000000000000000000000000840000008400 - 0000840000008400000000000000000000000000000000000000000000000000 - 0000000000008400000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF0084000000FFFFFF000000000000000000FFFF - FF00840000008400000084000000840000000000000000848400848484000084 - 8400848484000084840084000000840000008400000084000000840000008400 - 0000840000000000000000000000000000000000000000000000840000008400 - 0000840000000000000000000000000000000000000000000000000000000000 - 0000000000008400000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000FFFFFF000000 - 000000000000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFF - FF0084000000FFFFFF0084000000000000000000000084848400008484008484 - 8400008484008484840000848400848484000084840084848400008484008484 - 8400008484000000000000000000000000000000000000000000840000008400 - 0000000000008400000000000000000000000000000000000000000000000000 - 0000000000008400000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF0084000000FFFFFF00FFFFFF00FFFFFF00FFFF - FF00840000008400000000000000000000000000000000848400848484000000 - 0000000000000000000000000000000000000000000000000000000000008484 - 8400848484000000000000000000000000000000000000000000840000000000 - 0000000000000000000084000000840000000000000000000000000000000000 - 0000840000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000FFFFFF000000 - 000000000000FFFFFF0000000000840000008400000084000000840000008400 - 0000840000000000000000000000000000000000000084848400848484000000 - 0000000000000000000000000000000000000000000000000000000000008484 - 8400008484000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000008400000084000000840000008400 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF0000000000FFFFFF000000000000000000000000000000 - 0000000000000000000000000000000000000000000000848400848484000084 - 84000000000000FFFF00000000000000000000FFFF0000000000848484000084 - 8400848484000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF0000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000FFFF0000FFFF000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000008400000084000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000FFFFFF00FFFF - FF00FFFFFF007F7F7F000000000000000000000000007F7F7F00FFFFFF00FFFF - FF00FFFFFF000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000840000000000000000000000840000000000000000000000840000008400 - 00000000000000000000000000000000000000000000FFFFFF00000000000000 - 0000FFFFFF000000000000000000FFFFFF00000000000000000000000000FFFF - FF000000000000000000FFFFFF00000000000000000000000000FFFFFF00FFFF - FF0000000000BFBFBF00FFFFFF00FFFFFF00FFFFFF00BFBFBF0000000000FFFF - FF00FFFFFF000000000000000000000000000000000000000000009F9F00009F - 9F00009F9F00009F9F00009F9F00009F9F00009F9F00009F9F00009F9F00009F - 9F00009F9F00009F9F0000000000000000000000000000000000000000000000 - 0000840000000000000000000000840000000000000084000000000000000000 - 00008400000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000FFFFFF007F7F - 7F00BFBFBF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BFBFBF007F7F - 7F00FFFFFF000000000000000000000000000000000000000000009F9F00FFFF - FF009FCFFF009FFFFF009FCFFF009FFFFF009FCFFF009FCFFF009FCFFF009FCF - FF0060CFCF00009F9F0000000000000000000000000000000000000000000000 - 0000840000000000000000000000840000000000000084000000000000000000 - 00008400000000000000000000000000000000000000FFFFFF00000000000000 - 0000FFFFFF000000000000000000FFFFFF00FFFFFF0000000000000000000000 - 00000000000000000000FFFFFF00000000000000000000000000FFFFFF000000 - 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000 - 0000FFFFFF0000000000000000000000000000000000009F9F00FFFFFF009FFF - FF009FFFFF009FCFFF009FFFFF009FCFFF009FFFFF009FCFFF009FCFFF009FCF - FF0060CFCF0000000000009F9F00000000000000000000000000000000000000 - 0000000000008400000084000000840000000000000084000000000000000000 - 00008400000000000000000000000000000000000000FFFFFF00FFFF0000FFFF - 0000FFFF0000FFFF0000FFFF0000FFFFFF00FFFFFF0000000000FFFFFF000000 - FF00FFFFFF00FF000000FFFFFF00000000000000000000000000FFFFFF000000 - 0000FFFFFF00FFFFFF00FFFFFF000000FF000000000000000000FFFFFF000000 - 0000FFFFFF0000000000000000000000000000000000009F9F00FFFFFF009FFF - FF009FFFFF009FFFFF009FFFFF009FFFFF009FCFFF009FFFFF009FCFFF009FCF - FF00009F9F0000000000009F9F00000000000000000000000000000000000000 - 0000000000000000000000000000840000000000000084000000840000008400 - 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF000000 - FF00FFFFFF00FF000000FFFFFF00000000000000000000000000FFFFFF000000 - 0000FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00FFFFFF000000 - 0000FFFFFF00000000000000000000000000009F9F00FFFFFF009FFFFF009FFF - FF009FFFFF009FFFFF009FCFFF009FFFFF009FFFFF009FCFFF009FFFFF0060CF - CF000000000060CFCF0060CFCF00000000000000000000000000000000000000 - 0000000000000000000000000000840000000000000084000000000000000000 - 00000000000000000000000000000000000000000000FFFFFF00000000000000 - 00000000000000000000FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFF - FF00FFFFFF00FF000000FFFFFF00000000000000000000000000FFFFFF007F7F - 7F00BFBFBF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00BFBFBF007F7F - 7F00FFFFFF00000000000000000000000000009F9F00FFFFFF009FFFFF009FFF - FF009FFFFF009FFFFF009FFFFF009FFFFF009FCFFF009FFFFF009FCFFF0060CF - CF000000000060CFCF0060CFCF00000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000FFFFFF00000000000000 - 00000000000000000000FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000FFFFFF00FFFF - FF0000000000BFBFBF00FFFFFF0000000000FFFFFF00BFBFBF0000000000FFFF - FF00FFFFFF00000000000000000000000000009F9F00009F9F00009F9F00009F - 9F00009F9F00009F9F00009F9F00009F9F00009F9F00009F9F00009F9F00009F - 9F0060CFCF009FFFFF0060CFCF00000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000FFFFFF00FFFF - FF00FFFFFF007F7F7F000000000000000000000000007F7F7F00FFFFFF00FFFF - FF00FFFFFF0000000000000000000000000000000000009F9F00FFFFFF009FFF - FF009FFFFF009FFFFF009FFFFF009FFFFF009FFFFF009FFFFF009FFFFF009FFF - FF009FFFFF009FFFFF0060CFCF00000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000FF000000FF000000FF00 - 0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00 - 0000FF000000FF000000FF000000000000000000000000000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000000000 - 00000000000000000000000000000000000000000000009F9F00FFFFFF009FFF - FF009FFFFF009FFFFF009FFFFF009FFFFF009FFFFF009FFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF0060CFCF00000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000C0C0C000C0C0C000FF00 - 0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00 - 0000FF000000C0C0C000C0C0C000000000000000000000000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFF - FF00FFFFFF0000000000000000000000000000000000009F9F00FFFFFF009FFF - FF009FFFFF009FFFFF009FFFFF009FFFFF00FFFFFF00009F9F00009F9F00009F - 9F00009F9F00009F9F00009F9F00000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000000000000000FF000000 - FF000000FF000000FF000000FF000000FF000000FF000000FF0000000000FFFF - FF00000000000000000000000000000000000000000000000000009F9F00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00009F9F0000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000000000 - 000000000000000000000000000000000000000000000000000000000000009F - 9F00009F9F00009F9F00009F9F00009F9F000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000000000008080800000FFFF0000FF - FF00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000000000008080800000FFFF0000FF - FF00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000FFFF0000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000808080008080 - 8000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000080800000808000008080000080800000808000008080000080 - 8000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000FFFF0000808000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000000000008080800000FFFF0000FF - FF0000000000000000000000000000000000000000000000000000FFFF0000FF - FF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000080800000808000008080000080800000808000008080000080 - 8000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000FFFF0000808000008080 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000000000008080800000FFFF0000FF - FF0000000000000000000000000000000000000000000000000000FFFF0000FF - FF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF000000 - 0000000000000000000000000000000000000000000000000000000000000080 - 8000000000000080800000808000008080000080800000808000008080000080 - 8000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000FFFF0000808000008080 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000008080800080808000000000008080800000FF - FF0000FFFF00000000000000000000000000000000000000000000FFFF0000FF - FF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF000000 - 0000000000000000000000000000000000000000000000000000000000000080 - 8000000000000080800000808000008080000080800000808000008080000080 - 8000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000FFFF0000808000008080 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000008080800000FFFF0000FFFF00808080008080 - 800000FFFF0000FFFF000000000000000000000000000000000000FFFF0000FF - FF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF000000 - 0000000000000000000000000000000000000000000000808000000000000080 - 8000000000000000000000000000000000000080800000808000008080000080 - 8000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000808080008080800000000000FFFF0000000000008080 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000008080800000FFFF0000FFFF00808080008080 - 800000FFFF0000FFFF000000000000000000000000000000000000FFFF0000FF - FF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF000000 - 0000000000000000000000000000000000000000000000808000000000000080 - 80000000000000FFFF00FFFFFF0000FFFF000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000FFFF000000000000808080008080800000000000FFFF0000000000008080 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000008080800000FFFF0000FFFF0000FF - FF0000FFFF00000000000000000000000000000000000000000000FFFF0000FF - FF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF000000 - 0000000000000000000000000000000000000000000000808000000000000000 - 0000000000000000000000000000000000000080800000808000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000FFFF0000FFFF0000000000008080800000000000FFFF0000808000008080 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF000000 - 00000000000000000000000000000000000000000000008080000000000000FF - FF00FFFFFF0000FFFF0000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000FFFF0000FFFF0000FFFF - 0000FFFF0000FFFF0000FFFF00000000000000000000FFFF0000808000008080 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000000000000000000000FFFF00FFFF - FF0000FFFF000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000808000008080000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000FFFF0000FFFF0000000000008080800000000000FFFF0000808000008080 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000FFFF00FFFFFF0000FF - FF00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000FFFF000000000000808080008080800000000000FFFF0000808000008080 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000080808000808080008080800000000000FFFF00008080 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000008080800080808000808080008080800000000000FFFF - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000FF000000FF000000FF000000FF000000FF00000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000 - FF00000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000FFFF000080800000000000000000000000 - 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000 - 0000000000000000000000000000000000000000000000000000008080000080 - 8000008080000080800000808000008080000080800000808000008080000000 - 00000000000000000000000000000000000000000000000000000000FF000000 - FF000000FF00000000007F7F7F00000000007F7F7F00000000000000FF000000 - FF000000FF000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000FFFF000080800000000000000000000000 - 00000000000000000000000000000000000000000000FFFFFF00000000000000 - 0000FFFFFF000000000000000000000000000000000000000000FFFFFF000000 - 0000000000000000000000000000000000000000000000FFFF00000000000080 - 8000008080000080800000808000008080000080800000808000008080000080 - 800000000000000000000000000000000000000000000000FF000000FF000000 - FF00000000000000000000000000000000000000000000000000000000000000 - FF000000FF000000FF0000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000 - 00000000000000000000000000000000000000000000FFFFFF0000FFFF000000 - 0000008080000080800000808000008080000080800000808000008080000080 - 800000808000000000000000000000000000000000000000FF000000FF000000 - 000000000000000000007F7F7F00000000007F7F7F0000000000000000000000 - 00000000FF000000FF0000000000000000000000000000000000000000000000 - 000000000000000000000000000000FFFF000080800000000000000000000000 - 00000000000000000000000000000000000000000000FFFFFF00000000000000 - 0000FFFFFF000000000000000000000000000000000000000000FFFFFF000000 - 0000000000000000000000000000000000000000000000FFFF00FFFFFF0000FF - FF00000000000080800000808000008080000080800000808000008080000080 - 8000008080000080800000000000000000000000FF000000FF00000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000FF000000FF00000000000000000000000000000000000000 - 000000000000000000000000000000FFFF000080800000000000000000000000 - 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000 - 00000000000000000000000000000000000000000000FFFFFF0000FFFF00FFFF - FF0000FFFF000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000FF000000FF00000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000FF000000FF00000000000000000000000000000000000000 - 000000000000000000000000000000FFFF000080800000000000000000000000 - 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF000000 - 0000000000000000000000000000000000000000000000FFFF00FFFFFF0000FF - FF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00000000000000 - 0000000000000000000000000000000000000000FF000000FF00000000000000 - 000000000000000000007F7F7F00000000007F7F7F0000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000FFFF0000FFFF0000808000000000000000 - 00000000000000000000000000000000000000000000FFFFFF00000000000000 - 0000FFFFFF00FFFFFF00FFFFFF00000000000000000000000000FFFFFF000000 - 00000000000000000000000000000000000000000000FFFFFF0000FFFF00FFFF - FF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF00000000000000 - 0000000000000000000000000000000000000000FF000000FF00000000000000 - 0000000000000000000000008000000000000000800000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000FFFF0000FFFF00008080000000 - 00000000000000000000000000000000000000000000FFFFFF00000000000000 - 000000000000FFFFFF0000000000000000000000000000000000000000000000 - 0000000000000000000080000000800000000000000000FFFF00FFFFFF0000FF - FF00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000FF000000FF00000000000000 - 00000000000000000000000000000000000000000000000000000000FF000000 - FF000000FF000000FF000000FF00000000000000000000000000000000000000 - 000000FFFF000080800000000000000000000000000000FFFF0000FFFF000080 - 80000000000000000000000000000000000000000000FFFFFF00FFFFFF000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000080000000800000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000000000000000FF000000FF000000 - 0000000000000000000000000000000000000000000000000000000000000000 - FF000000FF000000FF000000FF00000000000000000000000000000000000000 - 000000FFFF00008080000000000000000000000000000000000000FFFF000080 - 8000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000080000000800000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000000000000000FF000000FF000000 - FF00000000000000000000000000000000000000000000000000000000000000 - 00000000FF000000FF000000FF00000000000000000000000000000000000000 - 000000FFFF0000FFFF0000808000000000000000000000FFFF0000FFFF000080 - 8000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000080000000800000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000000000000000FF000000 - FF000000FF00000000007F7F7F00000000007F7F7F00000000000000FF000000 - FF000000FF000000FF000000FF00000000000000000000000000000000000000 - 00000000000000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00008080000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000080000000800000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000 - FF0000000000000000000000FF00000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000080000000800000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000FF000000FF000000FF000000FF000000FF00000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000424D3E000000000000003E000000 - 2800000040000000600000000100010000000000000300000000000000000000 - 000000000000000000000000FFFFFF00FFFFFFFFFFFF0000E007FC00C0010000 - E007FC0080310000E007FC0080310000E007FC0080310000E007FC0080010000 - E007800080010000E007000180010000E00700038FF10000E00700078FF10000 - E007003F8FF10000E00F003F8FF10000E01F00318FF10000E03F00398FF50000 - FFFF003580010000FFFF000FFFFF00000000FC00FFFFFFFF0000FC0080038003 - 0000FC0080038003E007FC0080038003E007E00080038003E007E00080038003 - E007E00080038003E007E00780038003E007800780038003E007800780038003 - E007800780038003FFFF801F80038003F81F801F80038003F81F801F80038003 - F81F801FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC00FFFFFFFF - FE008000FFFFEFFDFE000000FFFFC7FFFE000000FFFFC3FB80000000FFF7E3F7 - 80000001C1F7F1E780000003C3FBF8CF80000003C7FBFC1F80010003CBFBFE3F - 80030003DCF7FC1F80070FC3FF0FF8CF807F0003FFFFE1E780FF8007FFFFC3F3 - 81FFF87FFFFFC7FDFFFFFFFFFFFFFFFFFFFF8003FFFFFFFF00008003FFFFF9FF - 00008003E000F6CF00008003C000F6B700008003C000F6B7000080038000F8B7 - 000080038000FE8F000080030000FE3F000080030000FF7F000080030000FE3F - 000080038000FEBF000080038000FC9F000080038001FDDF00008007C07FFDDF - FFFF800FE0FFFDDFFFFF801FFFFFFFFFFF8FFFFFFFFFFF3FFF8FFFFFF007FF1F - FFCF800FF007FF0FFF8F800FC0070300FF8F800FC007FB07FE47800F0007F807 - F003800F0007E007FE03800F0007E007F007800F001F0007FFFF800F001F0007 - F01F800F007F0007FFFFC7FD007FE007F03FFF1D8FFEE007FFFFFF39FF8EF807 - F01FFF43FF9CF807FFFFFFFFFFA1FFFFFFFFFFFFFFFFFFFFFFFFF83FFE7F000F - 001FE00FFC3F000F000FC447FC3F000F00078C63FE7F000F00039C73FC3F000F - 00013FF9FC3F000F00003EF9FC3F000F001F3C7FFC1F008F001F3C7FF20F1144 - 001F3C41E1070AB88FF19C61E187057CFFF98C71E007FAFCFF75C441F00FFDF8 - FF8FE00DF81FFE04FFFFF83FFFFFFFFF00000000000000000000000000000000 - 000000000000} - end - object mm: TMainMenu - Images = il - Left = 36 - Top = 80 - object miFile: TMenuItem - Caption = '&File' - Hint = 'Contains commands for working with files.' - OnClick = miFileClick - object Open1: TMenuItem - Action = aFileOpen - end - object Close1: TMenuItem - Action = aFileClose - end - object CloseAll1: TMenuItem - Action = aFileCloseAll - end - object N3: TMenuItem - Caption = '-' - end - object Reload1: TMenuItem - Action = aFileReload - end - object ReloadAll1: TMenuItem - Action = aFileReloadAll - end - object miMRUSep: TMenuItem - Caption = '-' - end - object N1: TMenuItem - Caption = '-' - end - object Exit1: TMenuItem - Action = aFileExit - end - end - object View1: TMenuItem - Caption = '&View' - object Explorer1: TMenuItem - Action = aViewExplorer - end - object RefreshExplorer1: TMenuItem - Action = aViewRefreshExplorer - end - end - object ools1: TMenuItem - Caption = '&Tools' - GroupIndex = 200 - Hint = 'Contains miscellaneous commands.' - object Options1: TMenuItem - Action = aToolsOptions - end - end - object miWindow: TMenuItem - Caption = '&Window' - GroupIndex = 200 - Hint = 'Window|Contains commands for working with document windows.' - OnClick = miWindowClick - object Cascade1: TMenuItem - Action = WindowCascade1 - end - object ileHorizontally1: TMenuItem - Action = WindowTileHorizontal1 - end - object ileVertically1: TMenuItem - Action = WindowTileVertical1 - end - object Arrange1: TMenuItem - Action = WindowArrange1 - end - object N6: TMenuItem - Caption = '-' - end - object MinimizeAll1: TMenuItem - Action = WindowMinimizeAll1 - end - object Close2: TMenuItem - Action = aFileClose - end - object CloseAll2: TMenuItem - Action = aFileCloseAll - end - end - object Help1: TMenuItem - Caption = '&Help' - GroupIndex = 200 - Hint = 'Displays help and other information.' - object ReadMe1: TMenuItem - Action = aHelpReadMe - end - object ViewLicense1: TMenuItem - Action = aHelpLicense - end - object N2: TMenuItem - Caption = '-' - end - object About1: TMenuItem - Action = aHelpAbout - end - end - end - object am: TActionManager - Images = il - Left = 216 - Top = 140 - StyleName = 'XP Style' - object aFileOpen: TAction - Category = 'File' - Caption = 'Open...' - Hint = 'Open|Opens a profiler document.' - ImageIndex = 0 - ShortCut = 16463 - OnExecute = aFileOpenExecute - end - object aFileClose: TAction - Category = 'File' - Caption = 'Close' - Hint = 'Close|Closes the current document.' - ImageIndex = 5 - ShortCut = 16471 - OnExecute = aFileCloseExecute - OnUpdate = aFileCloseUpdate - end - object aFileCloseAll: TAction - Category = 'File' - Caption = 'Close All' - Hint = 'Close All|Closes all open document windows.' - ImageIndex = 6 - OnExecute = aFileCloseAllExecute - OnUpdate = aFileCloseAllUpdate - end - object aFileReload: TAction - Category = 'File' - Caption = 'Reload' - Hint = - 'Reload|Closes the current document and reopens it in the current' + - ' window.' - ImageIndex = 1 - ShortCut = 16466 - OnExecute = aFileReloadExecute - OnUpdate = aFileReloadUpdate - end - object aFileReloadAll: TAction - Category = 'File' - Caption = 'Reload All' - Hint = 'Reload All|Reloads documents in all open windows.' - OnExecute = aFileReloadAllExecute - OnUpdate = aFileReloadAllUpdate - end - object aFileExit: TAction - Category = 'File' - Caption = 'Exit' - Hint = 'Exit|Exits this program.' - ImageIndex = 7 - OnExecute = aFileExitExecute - end - object aHelpReadMe: TAction - Category = 'Help' - Caption = 'View Read Me...' - Hint = 'View Read Me|Views the README.txt file.' - ImageIndex = 4 - OnExecute = aHelpReadMeExecute - end - object aHelpLicense: TAction - Category = 'Help' - Caption = 'View License...' - Hint = 'View License|Displays the GNU General Public License.' - OnExecute = aHelpLicenseExecute - end - object aHelpAbout: TAction - Category = 'Help' - Caption = 'About...' - Hint = 'About|Displays program information.' - ImageIndex = 2 - OnExecute = aHelpAboutExecute - end - object aToolsOptions: TAction - Category = 'Tools' - Caption = 'Options...' - Hint = 'Options|Displays available configuration options.' - ImageIndex = 3 - ShortCut = 16464 - OnExecute = aToolsOptionsExecute - end - object aViewExplorer: TAction - Category = 'View' - Caption = 'Explorer' - Hint = 'Explorer|Shows the Explorer pane.' - ImageIndex = 10 - ShortCut = 16453 - OnExecute = aViewExplorerExecute - OnUpdate = aViewExplorerUpdate - end - object WindowCascade1: TWindowCascade - Category = 'Window' - Caption = '&Cascade' - Enabled = False - Hint = 'Cascade' - ImageIndex = 17 - end - object WindowTileHorizontal1: TWindowTileHorizontal - Category = 'Window' - Caption = 'Tile &Horizontally' - Enabled = False - Hint = 'Tile Horizontal' - ImageIndex = 18 - end - object WindowTileVertical1: TWindowTileVertical - Category = 'Window' - Caption = '&Tile Vertically' - Enabled = False - Hint = 'Tile Vertical' - ImageIndex = 19 - end - object WindowArrange1: TWindowArrange - Category = 'Window' - Caption = '&Arrange' - Enabled = False - end - object WindowMinimizeAll1: TWindowMinimizeAll - Category = 'Window' - Caption = '&Minimize All' - Enabled = False - Hint = 'Minimize All' - end - object aViewRefreshExplorer: TAction - Category = 'View' - Caption = 'Refresh Explorer' - Hint = 'Refresh Explorer|Refreshes the Explorer file list.' - OnExecute = aViewRefreshExplorerExecute - OnUpdate = aViewRefreshExplorerUpdate - end - object aExplorerOpen: TAction - Category = 'File' - Caption = 'Open' - Hint = 'Open|Opens the selected file.' - ImageIndex = 0 - OnExecute = aExplorerOpenExecute - OnUpdate = aExplorerOpenUpdate - end - end - object od: TOpenDialog - Filter = 'Cachegrind files (cachegrind.out.*)|cachegrind.out.*' - Title = 'Open Profiler Document' - Left = 32 - Top = 152 - end - object ae: TApplicationEvents - OnIdle = aeIdle - Left = 344 - Top = 144 - end - object pmExplorer: TPopupMenu - Images = il - Left = 20 - Top = 308 - object Open2: TMenuItem - Action = aExplorerOpen - Default = True - end - object N7: TMenuItem - Caption = '-' - end - object Explorer2: TMenuItem - Action = aViewExplorer - end - object RefreshExplorer2: TMenuItem - Action = aViewRefreshExplorer - end - end - object tUpdateStatusBar: TTimer - OnTimer = tUpdateStatusBarTimer - Left = 244 - Top = 36 - end - object ilIcons: TImageList - Left = 112 - Top = 180 - Bitmap = { - 494C010103000400040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 - 0000000000003600000028000000400000001000000001002000000000000010 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF - FF00FFFFFF007F7F7F000000000000000000000000007F7F7F00FFFFFF00FFFF - FF00FFFFFF0000000000000000000000000000000000FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000 - 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF - FF0000000000BFBFBF00FFFFFF00FFFFFF00FFFFFF00BFBFBF0000000000FFFF - FF00FFFFFF0000000000000000000000000000000000FFFFFF00000000000000 - 0000FFFFFF000000000000000000FFFFFF00000000000000000000000000FFFF - FF000000000000000000FFFFFF00000000000000000000000000000000000000 - 0000FFFFFF0000000000000000000000000000000000FFFFFF00FFFFFF00FFFF - FF00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000FFFFFF007F7F - 7F00BFBFBF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BFBFBF007F7F - 7F00FFFFFF0000000000000000000000000000000000FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000 - 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000FFFFFF000000 - 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000 - 0000FFFFFF0000000000000000000000000000000000FFFFFF00000000000000 - 0000FFFFFF000000000000000000FFFFFF00FFFFFF0000000000000000000000 - 00000000000000000000FFFFFF00000000000000000000000000000000000000 - 0000FFFFFF00000000000000000000000000000000000000000000000000FFFF - FF00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000FFFFFF000000 - 0000FFFFFF00FFFFFF00FFFFFF000000FF000000000000000000FFFFFF000000 - 0000FFFFFF0000000000000000000000000000000000FFFFFF00FFFF0000FFFF - 0000FFFF0000FFFF0000FFFF0000FFFFFF00FFFFFF0000000000FFFFFF000000 - FF00FFFFFF00FF000000FFFFFF00000000000000000000000000000000000000 - 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000FFFFFF000000 - 0000FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00FFFFFF000000 - 0000FFFFFF0000000000000000000000000000000000FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF000000 - FF00FFFFFF00FF000000FFFFFF00000000000000000000000000000000000000 - 0000FFFFFF00000000000000000000000000000000000000000000000000FFFF - FF00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000FFFFFF007F7F - 7F00BFBFBF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00BFBFBF007F7F - 7F00FFFFFF0000000000000000000000000000000000FFFFFF00000000000000 - 00000000000000000000FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFF - FF00FFFFFF00FF000000FFFFFF00000000000000000000000000000000000000 - 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF - FF0000000000BFBFBF00FFFFFF0000000000FFFFFF00BFBFBF0000000000FFFF - FF00FFFFFF0000000000000000000000000000000000FFFFFF00000000000000 - 00000000000000000000FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000 - 0000FFFFFF00000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF - FF00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF - FF00FFFFFF007F7F7F000000000000000000000000007F7F7F00FFFFFF00FFFF - FF00FFFFFF0000000000000000000000000000000000FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000 - 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000000000 - 00000000000000000000000000000000000000000000FF000000FF000000FF00 - 0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00 - 0000FF000000FF000000FF000000000000000000000000000000000000000000 - 0000FFFFFF000000000000000000FFFFFF00FFFFFF0000000000FFFFFF000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFF - FF00FFFFFF0000000000000000000000000000000000C0C0C000C0C0C000FF00 - 0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00 - 0000FF000000C0C0C000C0C0C000000000000000000000000000000000000000 - 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000000000000000000000000000FF000000 - FF000000FF000000FF000000FF000000FF000000FF000000FF0000000000FFFF - FF00000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000000000000000000000000000424D3E000000000000003E000000 - 2800000040000000100000000100010000000000800000000000000000000000 - 000000000000000000000000FFFFFF008003FFFFFFFF000080030000E0070000 - 80030000E007000080030000E007000080030000E007000080030000E0070000 - 80030000E007000080030000E007000080030000E007000080030000E0070000 - 80030000E007000080030000E00F000080030000E01F000080070000E03F0000 - 800FFFFFFFFF0000801FFFFFFFFF000000000000000000000000000000000000 - 000000000000} - end - object cn: TJvChangeNotify - Notifications = < - item - Actions = [caChangeFileName, caChangeSize, caChangeLastWrite] - end> - CheckInterval = 500 - OnChangeNotify = cnChangeNotify - Left = 492 - Top = 88 - end - object tRefreshExplorer: TTimer - Enabled = False - OnTimer = tRefreshExplorerTimer - Left = 288 - Top = 72 - end - object AppInstances: TJvAppInstances - OnCmdLineReceived = AppInstancesCmdLineReceived - Left = 536 - Top = 216 - end -end diff --git a/uMain.~pas b/uMain.~pas deleted file mode 100644 index 3577928..0000000 --- a/uMain.~pas +++ /dev/null @@ -1,696 +0,0 @@ -unit uMain; - -interface - -uses - Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, - Dialogs, ComCtrls, ToolWin, Menus, ActnList, XPStyleActnCtrls, ActnMan, - ImgList, XPMan, AppEvnts, uConfig, ExtCtrls, StdActns, JvComponent, - JvChangeNotify, JvTabBar, JvAppInst, JvComponentBase; - -type - TExplorerSort = (esFileName, esTitle, esModified, esSize); - PExplorerData = ^TExplorerData; - TExplorerData = record - FileName: string; - Title: string; - Modified: TDateTime; - Size: Integer; - end; - TfMain = class(TForm) - sb: TStatusBar; - il: TImageList; - mm: TMainMenu; - am: TActionManager; - aFileOpen: TAction; - aFileExit: TAction; - miFile: TMenuItem; - Open1: TMenuItem; - N1: TMenuItem; - Exit1: TMenuItem; - od: TOpenDialog; - ae: TApplicationEvents; - miMRUSep: TMenuItem; - aFileClose: TAction; - Close1: TMenuItem; - aHelpReadMe: TAction; - aHelpAbout: TAction; - Help1: TMenuItem; - ReadMe1: TMenuItem; - N2: TMenuItem; - About1: TMenuItem; - aHelpLicense: TAction; - ViewLicense1: TMenuItem; - miWindow: TMenuItem; - aFileReload: TAction; - N3: TMenuItem; - Reload1: TMenuItem; - aFileCloseAll: TAction; - CloseAll1: TMenuItem; - aFileReloadAll: TAction; - ReloadAll1: TMenuItem; - aToolsOptions: TAction; - ools1: TMenuItem; - Options1: TMenuItem; - ToolBar1: TToolBar; - ToolButton1: TToolButton; - ToolButton2: TToolButton; - ToolButton3: TToolButton; - ToolButton4: TToolButton; - ToolButton5: TToolButton; - ToolButton6: TToolButton; - ToolButton7: TToolButton; - lvExplorer: TListView; - sExplorer: TSplitter; - aViewExplorer: TAction; - WindowCascade1: TWindowCascade; - WindowTileHorizontal1: TWindowTileHorizontal; - WindowTileVertical1: TWindowTileVertical; - WindowMinimizeAll1: TWindowMinimizeAll; - WindowArrange1: TWindowArrange; - View1: TMenuItem; - Cascade1: TMenuItem; - ileHorizontally1: TMenuItem; - ileVertically1: TMenuItem; - Arrange1: TMenuItem; - N6: TMenuItem; - MinimizeAll1: TMenuItem; - CloseAll2: TMenuItem; - Explorer1: TMenuItem; - ToolButton9: TToolButton; - ToolButton8: TToolButton; - aViewRefreshExplorer: TAction; - RefreshExplorer1: TMenuItem; - aExplorerOpen: TAction; - pmExplorer: TPopupMenu; - Open2: TMenuItem; - N7: TMenuItem; - RefreshExplorer2: TMenuItem; - Explorer2: TMenuItem; - tUpdateStatusBar: TTimer; - Close2: TMenuItem; - ilIcons: TImageList; - cn: TJvChangeNotify; - tRefreshExplorer: TTimer; - tbTabs: TJvTabBar; - AppInstances: TJvAppInstances; - procedure FormShow(Sender: TObject); - procedure AppInstancesCmdLineReceived(Sender: TObject; CmdLine: TStrings); - procedure tbTabsTabSelected(Sender: TObject; Item: TJvTabBarItem); - procedure tbTabsTabClosed(Sender: TObject; Item: TJvTabBarItem); - procedure aFileOpenExecute(Sender: TObject); - procedure miFileClick(Sender: TObject); - procedure FormCreate(Sender: TObject); - procedure FormDestroy(Sender: TObject); - procedure aFileExitExecute(Sender: TObject); - procedure aFileCloseUpdate(Sender: TObject); - procedure aFileCloseExecute(Sender: TObject); - procedure aHelpReadMeExecute(Sender: TObject); - procedure aHelpAboutExecute(Sender: TObject); - procedure aHelpLicenseExecute(Sender: TObject); - procedure miWindowClick(Sender: TObject); - procedure aFileReloadUpdate(Sender: TObject); - procedure aFileReloadExecute(Sender: TObject); - procedure aFileCloseAllExecute(Sender: TObject); - procedure aFileCloseAllUpdate(Sender: TObject); - procedure aFileReloadAllExecute(Sender: TObject); - procedure aFileReloadAllUpdate(Sender: TObject); - procedure aToolsOptionsExecute(Sender: TObject); - procedure aViewExplorerUpdate(Sender: TObject); - procedure aViewExplorerExecute(Sender: TObject); - procedure lvExplorerData(Sender: TObject; Item: TListItem); - procedure aViewRefreshExplorerUpdate(Sender: TObject); - procedure aViewRefreshExplorerExecute(Sender: TObject); - procedure lvExplorerColumnClick(Sender: TObject; Column: TListColumn); - procedure aExplorerOpenUpdate(Sender: TObject); - procedure aExplorerOpenExecute(Sender: TObject); - procedure lvExplorerKeyDown(Sender: TObject; var Key: Word; - Shift: TShiftState); - procedure lvExplorerDblClick(Sender: TObject); - procedure tUpdateStatusBarTimer(Sender: TObject); - procedure aeDeactivate(Sender: TObject); - procedure aeIdle(Sender: TObject; var Done: Boolean); - procedure cnChangeNotify(Sender: TObject; Dir: String; - Actions: TJvChangeActions); - procedure tRefreshExplorerTimer(Sender: TObject); - private - { Private declarations } - FConfig: TConfig; - FExplorerList: TList; - FExplorerSort: TExplorerSort; - FLastMDIChildCount: Integer; - FLastActiveMDIChild: TCustomForm; - procedure miMRUClick(Sender: TObject); - procedure WindowItemClick(Sender: TObject); - procedure WMDropFiles(var M: TMessage); message WM_DROPFILES; - procedure SetExplorerSort(const Value: TExplorerSort); - public - { Public declarations } - property Config: TConfig read FConfig; - property ExplorerList: TList read FExplorerList; - property ExplorerSort: TExplorerSort read FExplorerSort write SetExplorerSort; - - procedure ClearExplorer; - procedure Open(AFileName: string); - procedure OpenEditor(AFileName: string; AOwner: TComponent = nil; Line: Integer = 0); - procedure RefreshExplorer; - procedure RefreshTabs; - end; - -var - fMain: TfMain; - -implementation - -{$R *.dfm} - -uses uDoc, Shellapi, uOptions, uCacheGrind, DateUtils, JclFileUtils, uEditor; - -function ExplorerSort(A, B: Pointer): Integer; -var - DA, DB: PExplorerData; -begin - Result := 0; - DA := PExplorerData(A); - DB := PExplorerData(B); - case fMain.ExplorerSort of - esFileName: Result := CompareText(DA.FileName, DB.FileName); - esTitle: Result := CompareText(DA.Title, DB.Title); - esModified: Result := CompareDateTime(DB.Modified, DA.Modified); - esSize: Result := DB.Size - DA.Size; - end; - if Result = 0 then - Result := CompareText(DA.FileName, DB.FileName); -end; - -procedure TfMain.aFileOpenExecute(Sender: TObject); -begin - od.InitialDir := Config.WorkingDir; - if od.Execute then - Open(od.FileName); -end; - -procedure TfMain.miFileClick(Sender: TObject); -var - mi: TMenuItem; - I: Integer; -begin - // delete last MRU - for I := miFile.Count - 1 downto miMRUSep.MenuIndex + 1 do begin - mi := miFile[I]; - if Pos('miMRUEntry', mi.Name) = 1 then - mi.Free; - end; - // recreate them - if Config.MRUTitles.Count > 0 then begin - miMRUSep.Visible := false; - for I := 0 to Config.MRUTitles.Count - 1 do begin - mi := TMenuItem.Create(mm); - mi.Name := 'miMRUEntry' + IntToStr(I); - mi.Caption := IntToStr(I+1) + '. ' +Config.MRUTitles[I]; - mi.Tag := I; - mi.Hint := 'Opens '+ Config.MRUTitles[I] +' ('+ Config.MRU[I] + ').'; - mi.OnClick := miMRUClick; - mi.ImageIndex := 9; - miFile.Insert(miMRUSep.MenuIndex + I + 1, mi); - end; - end else - miMRUSep.Visible := false; -end; - -procedure TfMain.FormCreate(Sender: TObject); -begin - FConfig := TConfig.Create; - FConfig.Load; - FExplorerList := TList.Create; - // accept drag and drop - DragAcceptFiles(Handle, True); - // visuals - ExplorerSort := esModified; - RefreshExplorer; - RefreshTabs; -end; - -procedure TfMain.FormDestroy(Sender: TObject); -begin - if Config.ClearMRUOnExit then - Config.ClearMRU; - FConfig.Save; - FConfig.Free; -end; - -procedure TfMain.aFileExitExecute(Sender: TObject); -begin - Close; -end; - -procedure TfMain.Open(AFileName: string); -var - I: Integer; - Form: TfDoc; -begin - for I := 0 to MDIChildCount - 1 do begin - if MDIChildren[I] is TfDoc then begin - Form := MDIChildren[I] as TfDoc; - if SameText(Form.FileName, AFileName) then begin - Form.Show; - Form.SetFocus; - Exit; - end; - end; - end; - // open in new window - Form := TfDoc.Create(Application); - try - if MDIChildCount = 1 then - Form.WindowState := wsMaximized; - Form.Open(AFileName); - Form.Show; - except - Form.Free; - raise; - end; - lvExplorer.Invalidate; -end; - -procedure TfMain.miMRUClick(Sender: TObject); -var - mi: TMenuItem; -begin - mi := Sender as TMenuItem; - Open(Config.MRU[mi.Tag]); -end; - -procedure TfMain.aFileCloseUpdate(Sender: TObject); -begin - aFileClose.Enabled := ActiveMDIChild <> nil; -end; - -procedure TfMain.aFileCloseExecute(Sender: TObject); -begin - ActiveMDIChild.Close; -end; - -procedure TfMain.aHelpReadMeExecute(Sender: TObject); -begin - ShellExecute(Handle, '', PChar(ExtractFilePath(Application.ExeName) + 'README.txt'), - '', '', SW_SHOWNORMAL); -end; - -procedure TfMain.aHelpAboutExecute(Sender: TObject); -var - VI: TJclFileVersionInfo; -begin - VI := TJclFileVersionInfo.Create(Application.ExeName); - try - MessageDlg( - 'WinCacheGrind version '+ VI.BinFileVersion + #13#10 + - 'Copyright (C) 2005 Hendy Irawan'#13#10 + - #13#10 + - 'Contact information:'#13#10 + - 'E-mail: ceefour@gauldong.net'#13#10 + - 'Web: http://wincachegrind.sourceforge.net/'#13#10 + - #13#10 + - 'This program is licensed under GNU General Public License version ' + - '2 or later.'#13#10 + - 'See GPL.txt for more information.', mtInformation, [mbOK], 0); - finally - FreeAndNil(VI); - end; -end; - -procedure TfMain.aHelpLicenseExecute(Sender: TObject); -begin - ShellExecute(Handle, '', PChar(ExtractFilePath(Application.ExeName) + 'gpl.txt'), - '', '', SW_SHOWNORMAL); -end; - -procedure TfMain.miWindowClick(Sender: TObject); -var - I: Integer; - mi: TMenuItem; -begin - for I := miWindow.Count - 1 downto 8 do - miWindow[I].Free; - if MDIChildCount > 0 then begin - // create separator - mi := TMenuItem.Create(mm); - mi.Caption := '-'; - miWindow.Add(mi); - // then window list - for I := 0 to MDIChildCount - 1 do begin - mi := TMenuItem.Create(mm); - mi.Caption := MDIChildren[I].Caption; - mi.OnClick := WindowItemClick; - if MDIChildren[I] is TfEditor then - mi.ImageIndex := 20 - else - mi.ImageIndex := 8; - mi.Hint := 'Displays '+ MDIChildren[I].Caption; - mi.Tag := I; - miWindow.Add(mi); - end; - end; -end; - -procedure TfMain.WindowItemClick(Sender: TObject); -begin - MDIChildren[(Sender as TMenuItem).Tag].Show; -end; - -procedure TfMain.aFileReloadUpdate(Sender: TObject); -begin - aFileReload.Enabled := MDIChildCount > 0; -end; - -procedure TfMain.aFileReloadExecute(Sender: TObject); -begin - (ActiveMDIChild as TfDoc).Reload; -end; - -procedure TfMain.WMDropFiles(var M: TMessage); -var - hDrop: THandle; - Count, I: Integer; - PC: array[0..65535] of char; -begin - hDrop := M.wParam; - try - Count := DragQueryFile(hDrop, $FFFFFFFF, nil, 0); - for I := 0 to Count - 1 do begin - DragQueryFile(hDrop, I, PC, SizeOf(PC)); - Open(PC); - end; - finally - DragFinish(hDrop); - end; -end; - -procedure TfMain.aFileCloseAllExecute(Sender: TObject); -var - I: Integer; -begin - for I := MDIChildCount - 1 downto 0 do - MDIChildren[I].Close; -end; - -procedure TfMain.aFileCloseAllUpdate(Sender: TObject); -begin - aFileCloseAll.Enabled := MDIChildCount > 0; -end; - -procedure TfMain.aFileReloadAllExecute(Sender: TObject); -var - I: Integer; -begin - for I := 0 to MDIChildCount - 1 do - (MDIChildren[I] as TfDoc).Reload; -end; - -procedure TfMain.aFileReloadAllUpdate(Sender: TObject); -begin - aFileReloadAll.Enabled := MDIChildCount > 0; -end; - -procedure TfMain.aToolsOptionsExecute(Sender: TObject); -begin - fOptions := TfOptions.Create(Self); - try - fOptions.ShowModal; - finally - FreeAndNil(fOptions); - end; - RefreshExplorer; -end; - -procedure TfMain.aViewExplorerUpdate(Sender: TObject); -begin - aViewExplorer.Checked := lvExplorer.Visible; -end; - -procedure TfMain.aViewExplorerExecute(Sender: TObject); -begin - lvExplorer.Visible := not lvExplorer.Visible; - sExplorer.Visible := lvExplorer.Visible; - if lvExplorer.Visible then - RefreshExplorer; -end; - -procedure TfMain.ClearExplorer; -var - I: Integer; -begin - lvExplorer.Items.Count := 0; - for I := 0 to ExplorerList.Count - 1 do - Dispose(PExplorerData(ExplorerList[I])); - ExplorerList.Clear; - lvExplorer.Invalidate; -end; - -procedure TfMain.RefreshExplorer; -var - F: TSearchRec; - Code: Integer; - CG: TCacheGrind; - ED: PExplorerData; -begin - sb.SimplePanel := True; - Application.Hint := 'Refreshing Explorer list. Please wait...'; - sb.Repaint; - ClearExplorer; - if Config.WorkingDir <> '' then begin - CG := TCacheGrind.Create(Self); - try - Code := FindFirst(Config.WorkingDir + '\cachegrind.out.*', faAnyFile, F); - while Code = 0 do begin - if F.Attr <> faDirectory then begin - New(ED); - ExplorerList.Add(ED); - ED.FileName := Config.WorkingDir + '\' + F.Name; - ED.Modified := FileDateToDateTime(F.Time); - ED.Size := F.Size; - try - CG.Load(Config.WorkingDir + '\' + F.Name, True); - ED.Title := CG.Cmd; - except - ED.Title := '(Error: Cannot read file)'; - end; - end; - Code := FindNext(F); - end; - FindClose(F); - finally - FreeAndNil(CG); - end; - FExplorerList.Sort(uMain.ExplorerSort); - // update list - lvExplorer.Items.Count := ExplorerList.Count; - lvExplorer.Invalidate; - // register change notify - cn.Active := False; - cn.Notifications[0].Directory := Config.WorkingDir; - cn.Active := True; - end; - Application.Hint := ''; -end; - -procedure TfMain.lvExplorerData(Sender: TObject; Item: TListItem); -var - ED: PExplorerData; - I: Integer; -begin - if Item.Index < ExplorerList.Count then begin - ED := PExplorerData(ExplorerList[Item.Index]); - Item.Caption := ExtractFileName(ED.FileName); - Item.SubItems.Add(ED.Title); - Item.SubItems.Add(FormatDateTime('ddddd t', ED.Modified)); - Item.SubItems.Add(Format('%.0n', [ED.Size * 1.0])); - Item.ImageIndex := 0; - for I := 0 to MDIChildCount - 1 do begin - if MDIChildren[I] is TfDoc then - if SameText((MDIChildren[I] as TfDoc).FileName, ED.FileName) then begin - Item.ImageIndex := 1; - Break; - end; - end; - end; -end; - -procedure TfMain.aViewRefreshExplorerUpdate(Sender: TObject); -begin - aViewRefreshExplorer.Enabled := Config.WorkingDir <> ''; -end; - -procedure TfMain.aViewRefreshExplorerExecute(Sender: TObject); -begin - RefreshExplorer; -end; - -procedure TfMain.SetExplorerSort(const Value: TExplorerSort); -begin - FExplorerSort := Value; - FExplorerList.Sort(uMain.ExplorerSort); - lvExplorer.Invalidate; -end; - -procedure TfMain.lvExplorerColumnClick(Sender: TObject; - Column: TListColumn); -begin - ExplorerSort := TExplorerSort(Column.Index); -end; - -procedure TfMain.aExplorerOpenUpdate(Sender: TObject); -begin - aExplorerOpen.Enabled := lvExplorer.Selected <> nil; -end; - -procedure TfMain.aExplorerOpenExecute(Sender: TObject); -begin - Open(PExplorerData(ExplorerList[lvExplorer.Selected.Index]).FileName); -end; - -procedure TfMain.lvExplorerKeyDown(Sender: TObject; var Key: Word; - Shift: TShiftState); -begin - if (Shift = []) and (Key = VK_RETURN) then - aExplorerOpen.Execute; -end; - -procedure TfMain.lvExplorerDblClick(Sender: TObject); -begin - aExplorerOpen.Execute; -end; - -procedure TfMain.tUpdateStatusBarTimer(Sender: TObject); -begin - if Application.Hint = '' then - sb.SimpleText := Format('Allocated memory: %.0n bytes', [AllocMemSize * 1.0]) -end; - -procedure TfMain.OpenEditor(AFileName: string; AOwner: TComponent; Line: Integer); -var - I: Integer; - Editor: TfEditor; - Params: PAnsiChar; -begin - if Config.EditorPath <> '' then begin - Params := pchar(' -n' + IntTostr(Line)+' "'+AFileName+'"'); - ShellExecute(Handle, '', PChar(Config.EditorPath),Params, '', SW_SHOWNORMAL); - Exit; - end; - Editor := nil; - // first check if this file is already opened - for I := 1 to MDIChildCount - 1 do begin - if MDIChildren[I] is TfEditor then - if SameText((MDIChildren[I] as TfEditor).FileName, AFileName) then begin - Editor := MDIChildren[I] as TfEditor; - Break; - end; - end; - if Editor = nil then begin - if AOwner = nil then AOwner := Application; - Editor := TfEditor.Create(AOwner); - Editor.Open(AFileName); - end; - Editor.Show; - Editor.he.SetFocus; - if Line > 0 then begin - Editor.he.SetCaret(0, Line - 1); - Editor.HighlightedLine := Line - 1; - end; -end; - -procedure TfMain.aeDeactivate(Sender: TObject); -begin - lvExplorer.Invalidate; -end; - -procedure TfMain.aeIdle(Sender: TObject; var Done: Boolean); -begin - if (FLastMDIChildCount <> MDIChildCount) or (FLastActiveMDIChild <> ActiveMDIChild) then begin - FLastMDIChildCount := MDIChildCount; - FLastActiveMDIChild := ActiveMDIChild; - RefreshTabs; - lvExplorer.Invalidate; - end; -end; - -procedure TfMain.RefreshTabs; -var - I: Integer; - tab: TJvTabBarItem; -begin - tbTabs.Tabs.BeginUpdate; - try - tbTabs.Tabs.Clear; - for I := 0 to MDIChildCount - 1 do begin - tab := TJvTabBarItem(tbTabs.Tabs.Add()); - if MDIChildren[I] is TfDoc then begin - tab.Caption := ExtractFileName((MDIChildren[I] as TfDoc).CacheGrind.Cmd); - tab.ImageIndex := 1; - end else if MDIChildren[I] is TfEditor then begin - tab.Caption := ExtractFileName((MDIChildren[I] as TfEditor).FileName); - tab.ImageIndex := 2; - end else - tab.Caption := MDIChildren[I].Caption; - end; - if tbTabs.Tabs.Count > 0 then begin - tbTabs.SelectedTab := tbTabs.Tabs[0]; - tbTabs.Visible := true; - end else - tbTabs.Visible := false; - finally - tbTabs.Tabs.EndUpdate; - end; -end; - -procedure TfMain.cnChangeNotify(Sender: TObject; Dir: String; - Actions: TJvChangeActions); -begin - sb.Panels[0].Text := 'Working folder modification detected.' - +' Preparing to refresh Explorer file list...'; - sb.SimplePanel := False; - sb.Repaint; - tRefreshExplorer.Enabled := False; - tRefreshExplorer.Enabled := True; -end; - -procedure TfMain.tRefreshExplorerTimer(Sender: TObject); -begin - tRefreshExplorer.Enabled := False; - RefreshExplorer; -end; - -procedure TfMain.tbTabsTabClosed(Sender: TObject; Item: TJvTabBarItem); -begin - MDIChildren[Item.Index].Close; -end; - -procedure TfMain.tbTabsTabSelected(Sender: TObject; Item: TJvTabBarItem); -begin - if (Item <> nil) and (Item.Index < MDIChildCount) then - MDIChildren[Item.Index].Show; -end; - -procedure TfMain.AppInstancesCmdLineReceived(Sender: TObject; - CmdLine: TStrings); -var - i: Integer; -begin - for i := 0 to CmdLine.Count - 1 do begin - Open(CmdLine[i]); - end; -end; - -procedure TfMain.FormShow(Sender: TObject); -var - i: Integer; -begin - // open stuff from command line - // Note: You can't move this to onCreate because the MDI form - // has to be active first before creating an MDI child - for i := 1 to ParamCount do - Open(ParamStr(i)); -end; - -end. diff --git a/uOptions.dcu b/uOptions.dcu deleted file mode 100644 index f9262f1..0000000 Binary files a/uOptions.dcu and /dev/null differ diff --git a/uOptions.ddp b/uOptions.ddp deleted file mode 100644 index 4370276..0000000 Binary files a/uOptions.ddp and /dev/null differ diff --git a/uOptions.~ddp b/uOptions.~ddp deleted file mode 100644 index 4370276..0000000 Binary files a/uOptions.~ddp and /dev/null differ diff --git a/uOptions.~dfm b/uOptions.~dfm deleted file mode 100644 index b9d47f5..0000000 --- a/uOptions.~dfm +++ /dev/null @@ -1,243 +0,0 @@ -object fOptions: TfOptions - Left = 606 - Top = 363 - ActiveControl = pc - BorderStyle = bsDialog - BorderWidth = 8 - Caption = 'Options' - ClientHeight = 280 - ClientWidth = 400 - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [] - OldCreateOrder = False - Position = poMainFormCenter - ScreenSnap = True - ShowHint = True - OnCreate = FormCreate - PixelsPerInch = 96 - TextHeight = 13 - object Panel1: TPanel - Left = 0 - Top = 245 - Width = 400 - Height = 35 - Align = alBottom - BevelOuter = bvNone - Caption = ' ' - TabOrder = 1 - object bOK: TButton - Left = 0 - Top = 8 - Width = 75 - Height = 25 - Caption = 'OK' - Default = True - TabOrder = 0 - OnClick = bOKClick - end - object bCancel: TButton - Left = 80 - Top = 8 - Width = 75 - Height = 25 - Cancel = True - Caption = 'Cancel' - ModalResult = 2 - TabOrder = 1 - end - end - object pc: TPageControl - Left = 0 - Top = 0 - Width = 400 - Height = 245 - ActivePage = Editor - Align = alClient - TabOrder = 0 - object tsMain: TTabSheet - Caption = 'Main' - ImageIndex = 2 - object Label3: TLabel - Left = 8 - Top = 8 - Width = 72 - Height = 13 - Caption = 'Working folder:' - end - object deWorkingDir: TJvDirectoryEdit - Left = 92 - Top = 4 - Width = 297 - Height = 21 - DialogKind = dkWin32 - DialogText = 'Browse for folder' - ButtonHint = 'Browse|Browses for a folder.' - ButtonFlat = True - TabOrder = 0 - Text = 'deWorkingDir' - end - end - object tsDisplay: TTabSheet - Caption = 'Display' - object Label1: TLabel - Left = 8 - Top = 8 - Width = 94 - Height = 13 - Caption = 'Default time display:' - end - object Label4: TLabel - Left = 196 - Top = 52 - Width = 50 - Height = 13 - Caption = 'Threshold:' - end - object Label5: TLabel - Left = 328 - Top = 52 - Width = 56 - Height = 13 - Caption = 'milliseconds' - end - object cbTimeDisplay: TComboBox - Left = 120 - Top = 4 - Width = 137 - Height = 21 - Style = csDropDownList - ItemHeight = 13 - TabOrder = 0 - Items.Strings = ( - 'Milliseconds' - 'Percentages') - end - object cbShowFullPath: TCheckBox - Left = 8 - Top = 32 - Width = 245 - Height = 17 - Caption = 'Show full path as default' - TabOrder = 1 - end - object cbHideLibFuncs: TCheckBox - Left = 8 - Top = 72 - Width = 213 - Height = 17 - Caption = 'Hide library functions as default' - TabOrder = 4 - end - object cbHideFastFuncs: TCheckBox - Left = 8 - Top = 52 - Width = 169 - Height = 17 - Caption = 'Hide fast functions as default' - TabOrder = 2 - end - object seFastThreshold: TJvSpinEdit - Left = 260 - Top = 48 - Width = 65 - Height = 21 - Alignment = taRightJustify - Thousands = True - MaxValue = 1000.000000000000000000 - MinValue = 1.000000000000000000 - Value = 1.000000000000000000 - TabOrder = 3 - end - end - object tsPrivacy: TTabSheet - Caption = 'Privacy' - ImageIndex = 1 - DesignSize = ( - 392 - 217) - object GroupBox1: TGroupBox - Left = 4 - Top = 4 - Width = 381 - Height = 93 - Anchors = [akLeft, akTop, akRight] - Caption = 'Recent files' - TabOrder = 0 - object Label2: TLabel - Left = 8 - Top = 68 - Width = 151 - Height = 13 - Caption = 'Maximum number of recent files:' - end - object cbTrackMRU: TCheckBox - Left = 8 - Top = 16 - Width = 365 - Height = 17 - Caption = 'Track recently opened files' - TabOrder = 0 - end - object cbClearMRUOnExit: TCheckBox - Left = 8 - Top = 36 - Width = 161 - Height = 17 - Caption = 'Clear recent list on exit' - TabOrder = 1 - end - object bClearMRU: TButton - Left = 180 - Top = 32 - Width = 125 - Height = 25 - Caption = 'Clear recent list now' - TabOrder = 2 - OnClick = bClearMRUClick - end - object seMaxMRUCount: TJvSpinEdit - Left = 176 - Top = 64 - Width = 49 - Height = 21 - Alignment = taRightJustify - MaxValue = 9.000000000000000000 - MinValue = 1.000000000000000000 - Value = 1.000000000000000000 - TabOrder = 3 - end - end - end - object Editor: TTabSheet - Caption = 'Editor' - ImageIndex = 3 - object Label6: TLabel - Left = 24 - Top = 16 - Width = 52 - Height = 13 - Caption = 'Editor Path' - end - object Label7: TLabel - Left = 56 - Top = 72 - Width = 111 - Height = 13 - Caption = 'only support notepad++' - end - object deEditorPath: TJvFilenameEdit - Left = 96 - Top = 12 - Width = 273 - Height = 21 - Filter = 'All files (*.*)|*.exe' - TabOrder = 0 - Text = 'deEditorPath' - end - end - end -end diff --git a/uOptions.~pas b/uOptions.~pas deleted file mode 100644 index 9b8c82c..0000000 --- a/uOptions.~pas +++ /dev/null @@ -1,112 +0,0 @@ -unit uOptions; - -interface - -uses - Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, - Dialogs, ComCtrls, StdCtrls, ExtCtrls, uConfig, Mask, JvToolEdit, - JvMaskEdit, JvSpin, JvExMask; - -type - TfOptions = class(TForm) - Panel1: TPanel; - bOK: TButton; - bCancel: TButton; - pc: TPageControl; - tsDisplay: TTabSheet; - tsPrivacy: TTabSheet; - GroupBox1: TGroupBox; - cbTrackMRU: TCheckBox; - cbClearMRUOnExit: TCheckBox; - Label1: TLabel; - cbTimeDisplay: TComboBox; - cbShowFullPath: TCheckBox; - cbHideLibFuncs: TCheckBox; - bClearMRU: TButton; - Label2: TLabel; - tsMain: TTabSheet; - Label3: TLabel; - deWorkingDir: TJvDirectoryEdit; - cbHideFastFuncs: TCheckBox; - Label4: TLabel; - seFastThreshold: TJvSpinEdit; - seMaxMRUCount: TJvSpinEdit; - Label5: TLabel; - Editor: TTabSheet; - Label6: TLabel; - deEditorPath: TJvFilenameEdit; - Label7: TLabel; - procedure FormCreate(Sender: TObject); - procedure bOKClick(Sender: TObject); - procedure bClearMRUClick(Sender: TObject); - private - function GetConfig: TConfig; - { Private declarations } - public - { Public declarations } - property Config: TConfig read GetConfig; - end; - -var - fOptions: TfOptions; - -implementation - -{$R *.dfm} - -uses uMain; - -procedure TfOptions.FormCreate(Sender: TObject); -begin - pc.ActivePageIndex := 0; - // fill stuff - // Main - deWorkingDir.Text := Config.WorkingDir; - // Display - cbTimeDisplay.ItemIndex := Ord(Config.TimeDisplay); - cbHideFastFuncs.Checked := Config.HideFastFuncs; - seFastThreshold.Value := Config.FastThreshold; - cbHideLibFuncs.Checked := Config.HideLibFuncs; - cbShowFullPath.Checked := Config.ShowFullPath; - // privacy - cbTrackMRU.Checked := Config.TrackMRU; - cbClearMRUOnExit.Checked := Config.ClearMRUOnExit; - seMaxMRUCount.Value := Config.MaxMRUCount; - //editor - deEditorPath.Text := Config.EditorPath; -end; - -procedure TfOptions.bOKClick(Sender: TObject); -begin - // save stuff - // Main - Config.WorkingDir := deWorkingDir.Text; - // Display - Config.TimeDisplay := TTimeDisplay(cbTimeDisplay.ItemIndex); - Config.HideFastFuncs := cbHideFastFuncs.Checked; - Config.FastThreshold := seFastThreshold.AsInteger; - Config.HideLibFuncs := cbHideLibFuncs.Checked; - Config.ShowFullPath := cbShowFullPath.Checked; - // Privacy - Config.TrackMRU := cbTrackMRU.Checked; - Config.ClearMRUOnExit := cbClearMRUOnExit.Checked; - Config.MaxMRUCount := seMaxMRUCount.AsInteger; - //editor - Config.EditorPath := deEditorPath.Text; - // then save - Config.Save; - ModalResult := mrOk; -end; - -function TfOptions.GetConfig: TConfig; -begin - Result := fMain.Config; -end; - -procedure TfOptions.bClearMRUClick(Sender: TObject); -begin - Config.ClearMRU; - MessageDlg('Recent list cleared.', mtInformation, [mbOK], 0); -end; - -end. diff --git a/uWait.dcu b/uWait.dcu deleted file mode 100644 index a8bbf73..0000000 Binary files a/uWait.dcu and /dev/null differ diff --git a/uWait.ddp b/uWait.ddp deleted file mode 100644 index 4370276..0000000 Binary files a/uWait.ddp and /dev/null differ diff --git a/uWait.~dfm b/uWait.~dfm deleted file mode 100644 index ebb1c2e..0000000 --- a/uWait.~dfm +++ /dev/null @@ -1,37 +0,0 @@ -object fWait: TfWait - Left = 229 - Top = 154 - BorderStyle = bsToolWindow - Caption = 'Please wait...' - ClientHeight = 84 - ClientWidth = 409 - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'MS Sans Serif' - Font.Style = [] - OldCreateOrder = False - Position = poMainFormCenter - ScreenSnap = True - ShowHint = True - OnClose = FormClose - OnDestroy = FormDestroy - PixelsPerInch = 96 - TextHeight = 13 - object lWait: TLabel - Left = 16 - Top = 16 - Width = 24 - Height = 13 - Caption = 'lWait' - ShowAccelChar = False - end - object pbWait: TProgressBar - Left = 16 - Top = 44 - Width = 377 - Height = 17 - TabOrder = 0 - end -end diff --git a/uWait.~pas b/uWait.~pas deleted file mode 100644 index a1c3565..0000000 --- a/uWait.~pas +++ /dev/null @@ -1,38 +0,0 @@ -unit uWait; - -interface - -uses - Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, - Dialogs, ComCtrls, StdCtrls; - -type - TfWait = class(TForm) - lWait: TLabel; - pbWait: TProgressBar; - procedure FormClose(Sender: TObject; var Action: TCloseAction); - procedure FormDestroy(Sender: TObject); - private - { Private declarations } - public - { Public declarations } - end; - -var - fWait: TfWait; - -implementation - -{$R *.dfm} - -procedure TfWait.FormClose(Sender: TObject; var Action: TCloseAction); -begin - Action := caFree; -end; - -procedure TfWait.FormDestroy(Sender: TObject); -begin - fWait := nil; -end; - -end.