LCL, grids, added ImageLayout property and title image demo from Alexander S. Klenin (with small changes)

git-svn-id: trunk@17057 -
This commit is contained in:
jesus 2008-10-19 19:06:21 +00:00
parent adf88e7dd3
commit 2dd7a9a855
11 changed files with 1369 additions and 6 deletions

9
.gitattributes vendored
View File

@ -1987,6 +1987,15 @@ examples/gridcelleditor/gridcelleditor.lpr svneol=native#text/plain
examples/gridcelleditor/unit1.lfm svneol=native#text/plain
examples/gridcelleditor/unit1.lrs svneol=native#text/plain
examples/gridcelleditor/unit1.pas svneol=native#text/plain
examples/gridexamples/title_images/main.lfm svneol=native#text/plain
examples/gridexamples/title_images/main.lrs svneol=native#text/plain
examples/gridexamples/title_images/main.pas svneol=native#text/plain
examples/gridexamples/title_images/title_image_demo.ico -text svneol=unset#image/ico
examples/gridexamples/title_images/title_image_demo.lpi svneol=native#text/plain
examples/gridexamples/title_images/title_image_demo.lpr svneol=native#text/plain
examples/gridexamples/title_images/title_image_demo.lrs svneol=native#text/plain
examples/gridexamples/title_images/title_image_demo.rc svneol=native#text/plain
examples/gridexamples/title_images/title_image_demo.res -text
examples/groupbox.lpi svneol=native#text/plain
examples/groupbox.pp svneol=native#text/pascal
examples/groupboxnested.lpi svneol=native#text/plain

View File

@ -0,0 +1,287 @@
object Form1: TForm1
Left = 257
Height = 278
Top = 206
Width = 425
HelpContext = 0
Align = alNone
AllowDropFiles = False
AutoScroll = True
AutoSize = False
BorderIcons = [biSystemMenu, biMinimize, biMaximize]
BorderStyle = bsSizeable
Caption = 'Form1'
ChildSizing.LeftRightSpacing = 0
ChildSizing.TopBottomSpacing = 0
ChildSizing.HorizontalSpacing = 0
ChildSizing.VerticalSpacing = 0
ChildSizing.ControlsPerLine = 0
ClientHeight = 278
ClientWidth = 425
DockSite = False
DragKind = dkDrag
DragMode = dmManual
Enabled = True
Font.Height = 0
Font.Style = []
FormStyle = fsNormal
ParentBiDiMode = True
ParentFont = False
Position = poDesigned
ShowInTaskBar = stDefault
UseDockManager = False
LCLVersion = '0.9.27'
WindowState = wsNormal
object StringGrid1: TStringGrid
Left = 0
Height = 236
Top = 42
Width = 425
HelpContext = 0
Align = alClient
AutoAdvance = aaRight
AutoEdit = True
AutoFillColumns = False
BorderSpacing.Left = 0
BorderSpacing.Top = 0
BorderSpacing.Right = 0
BorderSpacing.Bottom = 0
BorderSpacing.Around = 0
BorderSpacing.CellAlignHorizontal = ccaFill
BorderSpacing.CellAlignVertical = ccaFill
BorderStyle = bsSingle
ColCount = 3
Columns = <
item
Alignment = taLeftJustify
Title.Alignment = taCenter
Title.Caption = 'Fruit'
Title.ImageLayout = blGlyphLeft
end
item
Alignment = taRightJustify
Title.Alignment = taCenter
Title.Caption = 'Number'
Title.ImageLayout = blGlyphLeft
end>
DefaultColWidth = 64
DefaultDrawing = True
DragCursor = crDrag
DragKind = dkDrag
DragMode = dmManual
Enabled = True
ExtendedSelect = True
FixedColor = clBtnFace
FixedCols = 1
FixedRows = 1
Flat = False
GridLineWidth = 1
HeaderHotZones = [gzFixedCols]
HeaderPushZones = [gzFixedCols]
Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goRowSizing, goColSizing, goSmoothScroll]
ParentColor = False
ParentFont = True
ParentShowHint = True
RowCount = 5
ScrollBars = ssAutoBoth
TabOrder = 0
TabStop = True
TitleFont.Height = 0
TitleFont.Style = []
TitleImageList = ImageList1
TitleStyle = tsLazarus
UseXORFeatures = False
Visible = True
OnHeaderClick = StringGrid1HeaderClick
Cells = (
8
1
1
'Apple'
1
2
'Orange'
1
3
'Grape'
1
4
'Pineapple'
2
1
'50'
2
2
'60'
2
3
'100'
2
4
'40'
)
end
object RadioGroup1: TRadioGroup
Left = 0
Height = 42
Top = 0
Width = 425
HelpContext = 0
Align = alTop
AutoFill = True
AutoSize = False
BorderSpacing.Left = 0
BorderSpacing.Top = 0
BorderSpacing.Right = 0
BorderSpacing.Bottom = 0
BorderSpacing.Around = 0
BorderSpacing.CellAlignHorizontal = ccaFill
BorderSpacing.CellAlignVertical = ccaFill
Caption = ' Title image layout'
ChildSizing.LeftRightSpacing = 6
ChildSizing.TopBottomSpacing = 6
ChildSizing.HorizontalSpacing = 0
ChildSizing.VerticalSpacing = 0
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 4
ClientHeight = 24
ClientWidth = 421
ColumnLayout = clHorizontalThenVertical
Columns = 4
Ctl3D = False
DragCursor = crDrag
DragMode = dmManual
Enabled = True
ItemIndex = 0
Items.Strings = (
'Left'
'Right'
'Top'
'Bottom'
)
OnClick = RadioGroup1Click
ParentFont = True
ParentColor = True
ParentCtl3D = True
ParentShowHint = True
TabOrder = 1
TabStop = True
Visible = True
end
object ImageList1: TImageList
AllocBy = 4
BlendColor = clNone
BkColor = clNone
DrawingStyle = dsNormal
Height = 16
ImageType = itImage
Masked = False
ShareImages = False
Width = 16
left = 40
top = 128
Bitmap = {
4C69030000001000000010000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000256929C4216425C90000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000002D7533CF488F4DFF458C4AFF226526D100000000000000000000
0000000000000000000000000000000000000000000000000000000000003C8A
430638833ED9519957FF79C07EFF76BF7CFF468D4BFF236627DB206223060000
0000000000000000000000000000000000000000000000000000000000004292
4AB83D8C45F765AD6CFF7DC282FF7AC180FF4B9250FF276D2CF7246828BB0000
0000000000000000000000000000000000000000000000000000000000000000
000043944B384E9A55FF81C587FF7EC385FF317A36FF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000045954CFF85C78CFF82C689FF36823DFF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000004A9E53FF8ACA91FF87C98EFF3C8A43FF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000050A659FF8ECC95FF8BCB93FF42924AFF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000045954CFF85C78CFF82C689FF36823DFF00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000043944B384E9A55FF81C587FF7EC385FF317A36FF00000000000000000000
0000000000000000000000000000000000000000000000000000000000004292
4AB83D8C45F765AD6CFF7DC282FF7AC180FF4B9250FF276D2CF7246828BB0000
0000000000000000000000000000000000000000000000000000000000003C8A
430638833ED9519957FF79C07EFF76BF7CFF468D4BFF236627DB206223060000
0000000000000000000000000000000000000000000000000000000000000000
0000000000002D7533CF488F4DFF458C4AFF226526D100000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000256929C4216425C90000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF0067C673C965C270C4FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0066C572D17ECA88FF7BC885FF5DB868CFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0068C7
740666C472DB7CCA87FF9ED6A7FF9CD4A5FF73C07DFF55AC5ED950A65906FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0065C3
71BB62BF6EF779C683FF9AD4A3FF98D3A1FF7DC386FF4FA458F74A9E53B8FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF005BB465FF96D29FFF94D09CFF5DAC65FF499C5238FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0056AD5FFF93CF9AFF90CE98FF489A50FFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0050A659FF8ECC95FF8BCB93FF42924AFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF004A9E53FF8ACA91FF87C98EFF3C8A43FFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0045954CFF85C78CFF82C689FF36823DFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF003F8D46FF81C587FF7EC385FF317A36FFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0039853FFF7DC282FF7AC180FF2B7230FFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00337D39FF79C07EFF76BF7CFF266B2BFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF002D7533FF74BD7AFF72BD78FF226526FFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00286E2DFF256929FF216425FF1E6022FFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0068C774FF67C673FF65C270FF62BE6DFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0066C572FFA2D8ABFFA0D7A9FF5DB868FFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0063C06FFF9ED6A7FF9CD4A5FF59B263FFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF005FBB6AFF9AD4A3FF98D3A1FF53AA5DFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF005BB465FF96D29FFF94D09CFF4EA257FFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0056AD5FFF93CF9AFF90CE98FF489A50FFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0050A659FF8ECC95FF8BCB93FF42924AFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF004A9E53FF8ACA91FF87C98EFF3C8A43FFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0045954CFF85C78CFF82C689FF36823DFFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF0043944B384E9A55FF81C587FF7EC385FF317A36FFFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004292
4AB83D8C45F765AD6CFF7DC282FF7AC180FF4B9250FF276D2CF7246828BBFFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003C8A
430638833ED9519957FF79C07EFF76BF7CFF468D4BFF236627DB20622306FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF002D7533CF488F4DFF458C4AFF226526D1FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00256929C4216425C9FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00
}
end
end

View File

@ -0,0 +1,187 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TForm1','FORMDATA',[
'TPF0'#6'TForm1'#5'Form1'#4'Left'#3#1#1#6'Height'#3#22#1#3'Top'#3#206#0#5'Wid'
+'th'#3#169#1#11'HelpContext'#2#0#5'Align'#7#6'alNone'#14'AllowDropFiles'#8#10
+'AutoScroll'#9#8'AutoSize'#8#11'BorderIcons'#11#12'biSystemMenu'#10'biMinimi'
+'ze'#10'biMaximize'#0#11'BorderStyle'#7#10'bsSizeable'#7'Caption'#6#5'Form1'
+#28'ChildSizing.LeftRightSpacing'#2#0#28'ChildSizing.TopBottomSpacing'#2#0#29
+'ChildSizing.HorizontalSpacing'#2#0#27'ChildSizing.VerticalSpacing'#2#0#27'C'
+'hildSizing.ControlsPerLine'#2#0#12'ClientHeight'#3#22#1#11'ClientWidth'#3
+#169#1#8'DockSite'#8#8'DragKind'#7#6'dkDrag'#8'DragMode'#7#8'dmManual'#7'Ena'
+'bled'#9#11'Font.Height'#2#0#10'Font.Style'#11#0#9'FormStyle'#7#8'fsNormal'
+#14'ParentBiDiMode'#9#10'ParentFont'#8#8'Position'#7#10'poDesigned'#13'ShowI'
+'nTaskBar'#7#9'stDefault'#14'UseDockManager'#8#10'LCLVersion'#6#6'0.9.27'#11
+'WindowState'#7#8'wsNormal'#0#11'TStringGrid'#11'StringGrid1'#4'Left'#2#0#6
+'Height'#3#236#0#3'Top'#2'*'#5'Width'#3#169#1#11'HelpContext'#2#0#5'Align'#7
+#8'alClient'#11'AutoAdvance'#7#7'aaRight'#8'AutoEdit'#9#15'AutoFillColumns'#8
+#18'BorderSpacing.Left'#2#0#17'BorderSpacing.Top'#2#0#19'BorderSpacing.Right'
+#2#0#20'BorderSpacing.Bottom'#2#0#20'BorderSpacing.Around'#2#0'!BorderSpacin'
+'g.CellAlignHorizontal'#7#7'ccaFill'#31'BorderSpacing.CellAlignVertical'#7#7
+'ccaFill'#11'BorderStyle'#7#8'bsSingle'#8'ColCount'#2#3#7'Columns'#14#1#9'Al'
+'ignment'#7#13'taLeftJustify'#15'Title.Alignment'#7#8'taCenter'#13'Title.Cap'
+'tion'#6#5'Fruit'#17'Title.ImageLayout'#7#11'blGlyphLeft'#0#1#9'Alignment'#7
+#14'taRightJustify'#15'Title.Alignment'#7#8'taCenter'#13'Title.Caption'#6#6
+'Number'#17'Title.ImageLayout'#7#11'blGlyphLeft'#0#0#15'DefaultColWidth'#2'@'
+#14'DefaultDrawing'#9#10'DragCursor'#7#6'crDrag'#8'DragKind'#7#6'dkDrag'#8'D'
+'ragMode'#7#8'dmManual'#7'Enabled'#9#14'ExtendedSelect'#9#10'FixedColor'#7#9
+'clBtnFace'#9'FixedCols'#2#1#9'FixedRows'#2#1#4'Flat'#8#13'GridLineWidth'#2#1
+#14'HeaderHotZones'#11#11'gzFixedCols'#0#15'HeaderPushZones'#11#11'gzFixedCo'
+'ls'#0#7'Options'#11#15'goFixedVertLine'#15'goFixedHorzLine'#10'goVertLine'
+#10'goHorzLine'#13'goRangeSelect'#11'goRowSizing'#11'goColSizing'#14'goSmoot'
+'hScroll'#0#11'ParentColor'#8#10'ParentFont'#9#14'ParentShowHint'#9#8'RowCou'
+'nt'#2#5#10'ScrollBars'#7#10'ssAutoBoth'#8'TabOrder'#2#0#7'TabStop'#9#16'Tit'
+'leFont.Height'#2#0#15'TitleFont.Style'#11#0#14'TitleImageList'#7#10'ImageLi'
+'st1'#10'TitleStyle'#7#9'tsLazarus'#14'UseXORFeatures'#8#7'Visible'#9#13'OnH'
+'eaderClick'#7#22'StringGrid1HeaderClick'#5'Cells'#1#2#8#2#1#2#1#6#5'Apple'#2
+#1#2#2#6#6'Orange'#2#1#2#3#6#5'Grape'#2#1#2#4#6#9'Pineapple'#2#2#2#1#6#2'50'
+#2#2#2#2#6#2'60'#2#2#2#3#6#3'100'#2#2#2#4#6#2'40'#0#0#0#11'TRadioGroup'#11'R'
+'adioGroup1'#4'Left'#2#0#6'Height'#2'*'#3'Top'#2#0#5'Width'#3#169#1#11'HelpC'
+'ontext'#2#0#5'Align'#7#5'alTop'#8'AutoFill'#9#8'AutoSize'#8#18'BorderSpacin'
+'g.Left'#2#0#17'BorderSpacing.Top'#2#0#19'BorderSpacing.Right'#2#0#20'Border'
+'Spacing.Bottom'#2#0#20'BorderSpacing.Around'#2#0'!BorderSpacing.CellAlignHo'
+'rizontal'#7#7'ccaFill'#31'BorderSpacing.CellAlignVertical'#7#7'ccaFill'#7'C'
+'aption'#6#19' Title image layout'#28'ChildSizing.LeftRightSpacing'#2#6#28'C'
+'hildSizing.TopBottomSpacing'#2#6#29'ChildSizing.HorizontalSpacing'#2#0#27'C'
+'hildSizing.VerticalSpacing'#2#0#29'ChildSizing.EnlargeHorizontal'#7#24'crsH'
+'omogenousChildResize'#27'ChildSizing.EnlargeVertical'#7#24'crsHomogenousChi'
+'ldResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildSiz'
+'ing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclLef'
+'tToRightThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#4#12'ClientHeigh'
+'t'#2#24#11'ClientWidth'#3#165#1#12'ColumnLayout'#7#24'clHorizontalThenVerti'
+'cal'#7'Columns'#2#4#5'Ctl3D'#8#10'DragCursor'#7#6'crDrag'#8'DragMode'#7#8'd'
+'mManual'#7'Enabled'#9#9'ItemIndex'#2#0#13'Items.Strings'#1#6#4'Left'#6#5'Ri'
+'ght'#6#3'Top'#6#6'Bottom'#0#7'OnClick'#7#16'RadioGroup1Click'#10'ParentFont'
+#9#11'ParentColor'#9#11'ParentCtl3D'#9#14'ParentShowHint'#9#8'TabOrder'#2#1#7
+'TabStop'#9#7'Visible'#9#0#0#10'TImageList'#10'ImageList1'#7'AllocBy'#2#4#10
+'BlendColor'#7#6'clNone'#7'BkColor'#7#6'clNone'#12'DrawingStyle'#7#8'dsNorma'
+'l'#6'Height'#2#16#9'ImageType'#7#7'itImage'#6'Masked'#8#11'ShareImages'#8#5
+'Width'#2#16#4'left'#2'('#3'top'#3#128#0#6'Bitmap'#10#14#12#0#0'Li'#3#0#0#0
+#16#0#0#0#16#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'%i)'#196'!d%'#201#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0'-u3'#207'H'#143'M'#255'E'#140'J'#255'"e&'#209#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'<'#138
+'C'#6'8'#131'>'#217'Q'#153'W'#255'y'#192'~'#255'v'#191'|'#255'F'#141'K'#255
+'#f'''#219' b#'#6#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
,#0#0'B'#146'J'#184'='#140'E'#247'e'#173'l'#255'}'#194#130#255'z'#193#128#255
+'K'#146'P'#255'''m,'#247'$h('#187#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0'C'#148'K8N'#154'U'#255#129#197#135#255'~'#195
+#133#255'1z6'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'E'#149'L'#255#133#199#140#255#130#198
+#137#255'6'#130'='#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'J'#158'S'#255#138#202#145#255#135
+#201#142#255'<'#138'C'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'P'#166'Y'#255#142#204#149#255
+#139#203#147#255'B'#146'J'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'E'#149'L'#255#133#199#140
+#255#130#198#137#255'6'#130'='#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'C'#148'K8N'#154'U'#255#129#197
+#135#255'~'#195#133#255'1z6'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'B'#146'J'#184'='#140'E'#247'e'#173'l'
+#255'}'#194#130#255'z'#193#128#255'K'#146'P'#255'''m,'#247'$h('#187#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'<'#138'C'#6'8'#131'>'
+#217'Q'#153'W'#255'y'#192'~'#255'v'#191'|'#255'F'#141'K'#255'#f'''#219' b#'#6
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0'-u3'#207'H'#143'M'#255'E'#140'J'#255'"e&'#209#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0'%i)'#196'!d%'#201#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+'g'#198's'#201'e'#194'p'#196#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'f'#197'r'#209
+'~'#202#136#255'{'#200#133#255']'#184'h'#207#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0'h'#199't'#6'f'#196'r'#219'|'#202#135#255
+#158#214#167#255#156#212#165#255's'#192'}'#255'U'#172'^'#217'P'#166'Y'#6#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0'e'#195'q'#187'b'#191'n'#247'y'#198#131#255
+#154#212#163#255#152#211#161#255'}'#195#134#255'O'#164'X'#247'J'#158'S'#184
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'['#180'e'
+#255#150#210#159#255#148#208#156#255']'#172'e'#255'I'#156'R8'#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'V'#173'_'
+#255#147#207#154#255#144#206#152#255'H'#154'P'#255#255#255#255#0#255#255#255
+#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'P'#166'Y'
+#255#142#204#149#255#139#203#147#255'B'#146'J'#255#255#255#255#0#255#255#255
+#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'J'#158'S'
+#255#138#202#145#255#135#201#142#255'<'#138'C'#255#255#255#255#0#255#255#255
+#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'E'#149'L'
+#255#133#199#140#255#130#198#137#255'6'#130'='#255#255#255#255#0#255#255#255
+#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'?'#141'F'
+#255#129#197#135#255'~'#195#133#255'1z6'#255#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'9'#133'?'#255
+'}'#194#130#255'z'#193#128#255'+r0'#255#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'3}9'#255'y'#192'~'
+#255'v'#191'|'#255'&k+'#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0'-u3'#255't'#189'z'#255'r'#189'x'
,#255'"e&'#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0'(n-'#255'%i)'#255'!d%'#255#30'`"'#255#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0'h'#199't'#255'g'#198's'#255'e'#194'p'#255'b'#190'm'#255#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0'f'#197'r'#255#162#216#171#255#160#215#169#255']'#184'h'#255#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0'c'#192'o'#255#158#214#167#255#156#212#165#255'Y'#178'c'#255
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0'_'#187'j'#255#154#212#163#255#152#211#161#255'S'#170']'
+#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0'['#180'e'#255#150#210#159#255#148#208#156#255'N'#162
+'W'#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0'V'#173'_'#255#147#207#154#255#144#206#152#255'H'#154
+'P'#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0'P'#166'Y'#255#142#204#149#255#139#203#147#255'B'#146
+'J'#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0'J'#158'S'#255#138#202#145#255#135#201#142#255'<'#138
+'C'#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0'E'#149'L'#255#133#199#140#255#130#198#137#255'6'#130
+'='#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0'C'#148'K8N'#154'U'#255#129#197#135#255'~'#195#133#255'1z6'#255#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'B'#146'J'#184
+'='#140'E'#247'e'#173'l'#255'}'#194#130#255'z'#193#128#255'K'#146'P'#255'''m'
+','#247'$h('#187#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'<'#138'C'#6'8'#131'>'
+#217'Q'#153'W'#255'y'#192'~'#255'v'#191'|'#255'F'#141'K'#255'#f'''#219' b#'#6
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'-u3'#207
+'H'#143'M'#255'E'#140'J'#255'"e&'#209#255#255#255#0#255#255#255#0#255#255#255
+#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'%i)'#196
+'!d%'#201#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
+#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#0#0#0
]);

View File

@ -0,0 +1,91 @@
unit main;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
Grids, ExtCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
ImageList1: TImageList;
RadioGroup1: TRadioGroup;
StringGrid1: TStringGrid;
procedure RadioGroup1Click(Sender: TObject);
procedure StringGrid1HeaderClick(
Sender: TObject; IsColumn: Boolean;Index: Integer);
private
procedure Refresh;
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
uses
Buttons;
{ TForm1 }
procedure TForm1.RadioGroup1Click(Sender: TObject);
var
i: Integer;
begin
for i := 0 to StringGrid1.Columns.Count - 1 do begin
if RadioGroup1.ItemIndex>1 then
StringGrid1.RowHeights[0] := 2*StringGrid1.DefaultRowHeight
else
StringGrid1.RowHeights[0] := StringGrid1.DefaultRowHeight;
StringGrid1.Columns[i].Title.ImageLayout :=
TButtonLayout(RadioGroup1.ItemIndex);
end;
end;
procedure TForm1.Refresh;
var
i, j: Integer;
t: String;
begin
with StringGrid1 do
for i := 1 to RowCount - 2 do
for j := i + 1 to RowCount - 1 do begin
if
(Columns[0].Title.ImageIndex = 1) and (Cells[1, i] > Cells[1, j]) or
(Columns[0].Title.ImageIndex = 2) and (Cells[1, i] < Cells[1, j]) or
(Columns[1].Title.ImageIndex = 1) and (StrToInt(Cells[2, i]) > StrToInt(Cells[2, j])) or
(Columns[1].Title.ImageIndex = 2) and (StrToInt(Cells[2, i]) < StrToInt(Cells[2, j]))
then begin
t := Cells[1, i]; Cells[1, i] := Cells[1, j]; Cells[1, j] := t;
t := Cells[2, i]; Cells[2, i] := Cells[2, j]; Cells[2, j] := t;
end;
end;
end;
procedure TForm1.StringGrid1HeaderClick(
Sender: TObject; IsColumn: Boolean; Index: Integer);
begin
if not IsColumn then exit;
with StringGrid1.Columns[Index - 1].Title do begin
if ImageIndex = 2 then
ImageIndex := 0
else
ImageIndex := ImageIndex + 1;
if ImageIndex > 0 then
StringGrid1.Columns[2 - Index].Title.ImageIndex := 0;
end;
Refresh;
end;
initialization
{$I main.lrs}
end.

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,21 @@
program title_image_demo;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms
{ you can add units after this }, main, LResources;
{$IFDEF WINDOWS}{$R title_image_demo.rc}{$ENDIF}
begin
{$I title_image_demo.lrs}
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

View File

@ -0,0 +1,491 @@
LazarusResources.Add('MAINICON','ICO',[
#0#0#1#0#4#0#24#24#0#0#1#0#8#0#200#6#0#0'F'#0#0#0#16#16#0#0#1#0#8#0'h'#5#0#0
+#14#7#0#0'00'#0#0#1#0#24#0#168#28#0#0'v'#12#0#0' '#0#0#1#0' '#0#168#16#0#0
+#30')'#0#0'('#0#0#0#24#0#0#0'0'#0#0#0#1#0#8#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#6#2#1#0#22#23#24#0#20' 0'#0#25'!6'#0#28'%8'#0'"!!'#0
+'!%)'#0'+))'#0'4//'#0'51.'#0'+-1'#0'%.<'#0'+1:'#0'533'#0':32'#0':95'#0'359'#0
+'6;<'#0'=??'#0'F7.'#0'D84'#0'K<5'#0'A<8'#0'GC>'#0#22'%@'#0#27'6S'#0'%2C'#0'+'
+'5A'#0',8G'#0'"1J'#0'-:I'#0'16A'#0'8?C'#0'3<J'#0'9>I'#0',=T'#0'>CG'#0'<CN'#0
+')@\'#0'4AR'#0'9FS'#0'>IU'#0'4DX'#0';J\'#0'/Gd'#0'7Of'#0'8Lc'#0'=Rd'#0'<Sj'#0
+'7Ww'#0'?Up'#0'>Yq'#0':Wz'#0'7Z'#0'DDB'#0'IGE'#0'FGJ'#0'DIK'#0'KKL'#0'QKE'#0
+'ZNC'#0'DKT'#0'NOT'#0'AL['#0'KRT'#0'JR['#0'UUT'#0'\WU'#0'QU['#0'VYZ'#0'[]]'#0
+'eZR'#0'i]R'#0'a\\'#0'd`]'#0'le^'#0'p`U'#0'ui^'#0'@Nc'#0'ESb'#0'IUb'#0'LYd'#0
+'CVj'#0'GZm'#0'IYk'#0'T[b'#0'[^b'#0'R^j'#0'H[p'#0'H\x'#0'X`m'#0'M`u'#0'Fa~'#0
+'Lay'#0'P`r'#0'Ydp'#0'\iu'#0'Sdz'#0'Vi|'#0'Yj}'#0'nd`'#0'dfl'#0'iei'#0'cij'#0
+'llm'#0'pjd'#0'{qg'#0'~vm'#0'agp'#0'ckq'#0'bn|'#0'dq{'#0'kr{'#0'vsr'#0'}wq'#0
+'{tt'#0'vv|'#0'vy{'#0'yyx'#0'{y'#0'||y'#0'y|'#0#131'tg'#0#133'wl'#0#136'w'
+#0#136#128'w'#0#134#131'~'#0'@_'#130#0'Eb'#130#0'He'#130#0'Ni'#135#0'Hj'#143
+#0'Ul'#135#0'Yl'#128#0'Yn'#132#0'Qk'#136#0'Wr'#139#0'[r'#139#0'Km'#147#0'So'
+#147#0'Sq'#146#0'Zt'#144#0'_z'#151#0'Qt'#153#0'Wx'#159#0'co'#129#0'eu'#132#0
+'hu'#133#0'mx'#130#0'jz'#134#0'eu'#136#0'iv'#137#0'fx'#141#0'rz'#130#0's'
+#139#0'y'#137#0'cz'#148#0'm~'#146#0'g}'#153#0'h~'#152#0'Uz'#165#0'W{'#168#0
+#131''#130#0'~'#129#134#0'u'#128#139#0'|'#129#139#0'l'#129#156#0'u'#131#147
+#0'p'#131#150#0'r'#134#151#0'x'#133#148#0''#136#147#0's'#133#155#0'y'#138
+#157#0'x'#140#158#0'\'#129#171#0'b'#129#163#0'k'#133#163#0'd'#134#169#0'n'
+#139#170#0's'#137#163#0'y'#141#162#0'x'#142#164#0'q'#142#175#0'z'#143#168#0
+'y'#144#170#0'y'#147#173#0'|'#146#173#0'e'#137#178#0'h'#137#176#0'r'#142#177
+#0'm'#145#187#0'r'#145#180#0''#151#178#0'|'#152#177#0'|'#154#183#0'r'#149
+#190#0'u'#152#189#0'u'#154#199#0#134#132#129#0#133#133#134#0#136#135#132#0
+#140#136#132#0#129#133#137#0#133#136#138#0#129#136#141#0#133#137#141#0#139
+#140#139#0#147#137#129#0#148#145#142#0#152#147#140#0#129#135#149#0#133#138
+#150#0#138#143#149#0#132#143#153#0#134#145#156#0#139#146#154#0#151#151#148#0
+#158#150#149#0#152#155#157#0#162#153#147#0#131#148#166#0#140#151#162#0#137
+#152#166#0#132#153#175#0#137#155#172#0#155#159#160#0#144#157#172#0#131#154
+#181#0#152#162#172#0#139#161#186#0#151#167#183#0#152#166#182#0#145#165#187#0
+#160#165#168#0#173#175#174#0#176#176#175#0#172#180#187#0#129#159#192#0#140
+#170#201#0#141#173#200#0#146#171#196#0#148#171#196#0#144#173#199#0#148#174
+#199#0#150#177#204#0#159#180#200#0#156#186#213#0#163#182#197#0#167#185#202#0
+#166#189#214#0#171#191#208#0#170#193#214#0#177#195#210#0#255#255#255#0#0#0#0
+#0#0#147'.'#137#241#240#196#195#183#174#215#207'ys'#221#0#0#0#0#0#0#0#0#0#0
+#134#187#244#248#243#182#170#150#149#206#201'L~'#0#0#0#0#0#0#0#0#0#172#173
+#138#245#253#228#216#223#216#217#220#218#211'}k'#0#0#0#0#0#0#0#0#0'`T'#134
+#232#238#164#216#224#217#205#208#200#203#209'N'#20#0#0#0#0#0#0#0#235'p'#175
+#247#230'wF'#233#254#214'K'#202#236#210'H|M'#221#0#0#0#0#0#0'n'#165#252#249
+#204#10'E'#222#250#217'8'#202#227'w'#21'={N'#0#0#0#0#0#237'qnp'#149'G'#23#207
+#216#223#2#0#6#208#200'l'#22'I='#0#0#0#0#0#203'7'#18'A>;'#10'zq'#11#0#1#0#9
+'rj<KD'#0#0#0#0#0#16#24#16'::F'#8'WG'#14#8#16#9#14'g9Wzix'#0#0#0#0#9#16'JCGz'
+'n%W>q'#154#154'[pQ'#228#165'WJ'#0#0#0#0'G;'#19'CV'#155#226'B*Rd'#153#153'd_'
+#169#234#171'n;'#0#0#0#0'hpBEa'#183#231#168'*'#134'Z'#133#142#160'c'#231#194
+#174'm'#14#0#0#0#0'Eq)"'#182#229#242#171'S'#178#141#129#177#178'c'#231#188
+#169'a'#11#220#0#0'w!Q+\'#181#138'\'#28'1'#193#190#132#197#191'++O'#152#148
+'&W'#0#0';'#7'"S4'#173'+$'#5'1'#189#192#139#199#190''''#25#4'"(QV'#0#0'C'#17
+#29'T+'#29#12#5#30#128#161#161'6'#176#162'5$&>)#'#17#0#0'CA),1'#157#181#167
+'-'#145#192#144'2'#144#189#139#133#225#169'P#9'#0#0'AR*(S]'#193#239#26#177
+#198#129#130#179#192#140'Z'#246#135'(BE'#0#0'X0$,'#3'/'#131#184'3'#167#137
+#143#136#177#180#142#157#185'"'#12'>V'#0#0#158'^'#159#229'O'#27'^'#186',Y'
+#160#167#138#173#151'PaX'#13'm>V'#0#0#173'Ob'#251#222'""Uo'#151#173'd'#146
+#168'q?;;gu'#7'f'#0#0#152' '#17'v'#0#0#0#204#166#166#213#156#207#201'rKe'#22
+#21#9#14#0#0#0#212'f'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#219't'#163#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#248#0#31#0#248#0#31#0#240#0#31#0#240
+#0#15#0#224#0#7#0#224#0#7#0#192#0#7#0#192#0#7#0#192#0#3#0#192#0#3#0#192#0#3#0
+#192#0#3#0#192#0#1#0#128#0#1#0#128#0#1#0#128#0#1#0#128#0#1#0#128#0#1#0#128#0
+#1#0#128#0#1#0#128#0#1#0#135#0#3#0#159#255#199#0#255#255#255#0'('#0#0#0#16#0
+#0#0' '#0#0#0#1#0#8#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#10#10#11#0#16#15#14#0'$ '#31#0#22'!2'#0#27'#6'#0#18' 8'#0#31'->'#0'''"!'#0
+'&/:'#0',14'#0'557'#0':99'#0'<:9'#0'>?;'#0'L<7'#0'EA='#0'+3B'#0'-:H'#0'5:E'#0
,'+9P'#0'>AC'#0'>@F'#0'5CR'#0'6DT'#0'8CW'#0'9FT'#0'3H_'#0'<K\'#0'+Hg'#0'1E`'#0
+'8Mg'#0'=Qe'#0'FEB'#0'DBF'#0'BFF'#0'LCD'#0'@CH'#0'BGH'#0'CJO'#0'HJO'#0'QJE'#0
+'VMD'#0'YND'#0'QNJ'#0'AJT'#0'JNQ'#0'HOY'#0'HPY'#0'KTZ'#0'JQ_'#0'VRT'#0'\WU'#0
+'\\Y'#0'\[\'#0'seX'#0'se\'#0'yk_'#0'AOa'#0'GSb'#0'LWb'#0'GXi'#0'N\j'#0'H\o'#0
+'Q\j'#0'T^j'#0'R^n'#0'U_l'#0'BWv'#0'A[r'#0'EYp'#0'F[u'#0'A_}'#0'Z`c'#0'Zbj'#0
+']cj'#0'Xdn'#0'Kd|'#0'Nd|'#0'Vew'#0']gu'#0'[jw'#0'Wh~'#0'Yi}'#0'Zl~'#0'`ac'#0
+'jfc'#0'aek'#0'dfh'#0'bhj'#0'gkk'#0'xmc'#0'xsm'#0'bjp'#0'ioy'#0'dq|'#0'hpz'#0
+'kt'#0'qpq'#0'{yv'#0'xx'#0'}~|'#0#129'zr'#0#135'~w'#0#129#128''#0#143#133
+'}'#0'Mk'#140#0'Sh'#128#0'Zr'#142#0'Hk'#146#0'Uq'#144#0'[u'#147#0'Qv'#157#0
+'Z{'#157#0'\z'#158#0'gu'#131#0'cu'#138#0'o}'#138#0'jz'#142#0'pz'#135#0't'
+#135#0'dy'#144#0'h{'#146#0'o'#145#0'e}'#153#0'V{'#166#0'a'#163#0'}'#128#131
+#0'}'#130#136#0''#133#139#0'{'#132#141#0'v'#130#148#0'~'#137#146#0'}'#136
+#148#0's'#135#154#0'u'#134#155#0'p'#135#156#0'w'#139#159#0'i'#133#161#0'n'
+#137#164#0'a'#134#175#0'f'#137#173#0'r'#134#160#0's'#136#161#0'w'#140#162#0
+'t'#142#167#0'q'#142#173#0'y'#148#172#0'j'#143#186#0'n'#144#185#0'}'#154#187
+#0'w'#154#194#0#129#132#132#0#131#137#143#0#147#144#142#0#131#144#158#0#143
+#149#152#0#150#149#145#0#141#156#171#0#129#151#177#0#134#158#182#0#145#159
+#176#0#157#161#162#0#140#160#182#0#136#160#185#0#136#162#188#0#147#162#177#0
+#166#173#180#0#135#164#195#0#140#170#197#0#158#176#193#0#164#182#195#0#170
+#188#206#0#165#191#213#0#255#212#209#0#255#255#255#0#0#0#0#0'/'#0#14#0'P'#0
+#23#0'p'#0'!'#0#144#0'+'#0#176#0'6'#0#207#0'@'#0#240#0'I'#0#255#17'Z'#0#255
+'1p'#0#255'Q'#134#0#255'q'#156#0#255#145#178#0#255#177#200#0#255#209#223#0
+#255#255#255#0#0#0#0#0'/'#0' '#0'P'#0'6'#0'p'#0'L'#0#144#0'b'#0#176#0'x'#0
+#207#0#142#0#240#0#164#0#255#17#179#0#255'1'#190#0#255'Q'#199#0#255'q'#209#0
+#255#145#220#0#255#177#229#0#255#209#240#0#255#255#255#0#0#0#0#0','#0'/'#0'K'
+#0'P'#0'i'#0'p'#0#135#0#144#0#165#0#176#0#196#0#207#0#225#0#240#0#240#17#255
+#0#242'1'#255#0#244'Q'#255#0#246'q'#255#0#247#145#255#0#249#177#255#0#251#209
+#255#0#255#255#255#0#0#0#0#0#27#0'/'#0'-'#0'P'#0'?'#0'p'#0'R'#0#144#0'c'#0
+#176#0'v'#0#207#0#136#0#240#0#153#17#255#0#166'1'#255#0#180'Q'#255#0#194'q'
+#255#0#207#145#255#0#220#177#255#0#235#209#255#0#255#255#255#0#0#0#0#0#8#0'/'
+#0#14#0'P'#0#21#0'p'#0#27#0#144#0'!'#0#176#0'&'#0#207#0','#0#240#0'>'#17#255
+#0'X1'#255#0'qQ'#255#0#140'q'#255#0#166#145#255#0#191#177#255#0#218#209#255#0
+#255#255#255#0#0#0#0'uM'#169#168#147#134#133#152'\'#0#0#0#0#0#0#0'{'#145#173
+#158#155#132#156#157'g['#0#0#0#0#0#0'='#137#167#128#166#129'h'#154'i8'#0#0#0
+#0#0'K'#170#171',J'#172'c'#162')79'#0#0#0#0'IL]'#16#153#130#1#2'ef+*'#0#0#0
+'V'#16'#&'#12'X'#11#3#8#12'6Ub'#0#0#0'!'#14'5Yx''0awPA'#161'W4'#0#0'ZJ.Q'#160
+'@TNly'#136#159'`'#13#0#0'._'#18#144#164'>'#139'jr|v'#143's%'#0#0#10#24'Ez'
+#20#4#141#140#148'~'#6#5'B<'#0#0#21#23' :'#25#30'}mp}'#31'C;'#19#0#0'1'#26' '
+'n'#150#29#151'Hq'#149'D'#165#28'/'#0#0'?F'#7#27#146'Gol'#138#138'kt'#9'-'#0
+#0'R'#142#163#17'OB'#135'S'#131'^("d'#22#0#0'2"'#0#0#0#0#0#0#0#0#0#15'$3'#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#224#15#0#0#224#7#0#0#224#7#0#0#192#3#0#0#192#3
+#0#0#128#3#0#0#128#1#0#0#128#1#0#0#128#1#0#0#128#1#0#0#128#1#0#0#128#1#0#0
+#128#1#0#0#128#1#0#0#159#241#0#0#255#255#0#0'('#0#0#0'0'#0#0#0'`'#0#0#0#1#0
+#24#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#132#148#164'F^r*AW'#0#23'-'#24'/EB\t'
+#143#174#199#141#175#204#150#181#212'}'#156#189'{'#156#189#139#170#201#139
+#169#198#128#158#183#134#159#185#136#160#184#134#155#177#132#149#168#140#153
+#169#142#153#161#143#149#154#145#150#149'~'#128#128'yxt{vs'#148#140#133#140
+'}t'#144#133'}'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#21'%6"9O6NdF`x`x'
+#144'u'#144#170#166#196#223#156#188#217#158#189#220#130#159#190'g'#133#162'{'
+#152#179#130#157#183'v'#144#168's'#140#160'v'#139#160'v'#135#154'z'#136#154
+'}'#137#149#132#140#147#138#143#146#130#135#134'xyw|yuzvq'#139#131'|'#145#133
+'{'#130'wo'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'ckr 0A_v'#140'p'#137#163#138
+#165#191#143#172#199#154#184#211#163#195#224#158#190#219#166#194#224#148#175
+#202'w'#145#169'n'#134#154'i'#145'g{'#140']p}]ozbp|_iss{'#130#135#140#143
+#133#135#136'sssxuq'#137#133#128'rlg81(`VL'#128'vl'#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0'''0:m|'#143#150#172#197#144#169#195#149#176#203#165#195#222#155
+#185#212#147#177#204#159#189#214#160#184#208#149#172#194''#144#163'cs'#131
+'q'#129#145'o'#128#141'ct}kx'#128'fqy`ho{'#132#150#154#155#134#136#136#138
+#136#135#143#139#134#148#142#135#131'{tI@7YOE'#151#141#131#129'xo'#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
,#0#0#0#0#0#0#0#0'tz'#129'KWc'#155#169#191#132#152#177'n'#134#158'q'#140#166
+#148#177#204#157#187#212#167#193#217#162#186#206#155#173#190#141#156#172'u~'
+#140#137#146#159#144#156#168#138#152#164#134#146#156#132#143#151'v'#136#143
+#151#158#143#147#152#150#154#155#148#150#150#168#167#163#158#155#147#153#145
+#138#137#129'zvm'#130'xn'#156#146#136'eYM'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'mvy'
+#132#146#157#172#191'G\r'#19'*@C[s'#136#162#186#174#198#220#191#213#231#178
+#194#210#152#162#172#133#142#152#144#150#161#151#159#172#145#157#169#152#164
+#176#151#161#171#153#162#171#148#156#163#168#174#179#163#168#171#161#165#166
+#153#153#153#153#150#146#166#160#153#153#146#137#147#137#130#149#138#130#148
+#138#128'aUKUG;i]S'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'r{'#132'?KWM]nCWi'#4#23',AVk'#144#165
+#186#174#194#211#187#201#213#182#190#197#144#148#153'}'#129#134#140#149#159
+'t'#141'|'#137#151#143#156#170#153#162#175#168#175#184#170#176#181#173#177
+#178#163#165#166#162#162#162#137#135#134'eb^~xs'#145#137#130#153#142#134#160
+#149#141#145#135'}1%'#27'-'#28#19'$'#21#12#137'x'#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'~'#135#144
+#30'*6/?P]q'#131'cv'#139'v'#138#156#156#174#191#158#171#185#171#177#182#177
+#179#180#138#136#136'WZ^'#157#166#179#160#175#191'|'#139#155'u'#130#144'pz'
+#132'gmtnpqwwwhfeqontrq'#136#132#131#151#146#143#154#148#141#140#129'y'#158
+#146#136#147#135'}'#133'yoWF='#22#5#0'E:2'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#164#168#173'}'#134#143'4A'
+'O`q'#132'|'#148#168#157#180#202#170#191#212#168#183#199#144#153#162#160#160
+#160#145#142#138'\XWX[`'#166#179#193#186#204#221#186#204#221#179#195#208#159
+#168#177#134#137#141'.*)3/*}yt'#159#156#152#188#189#187#187#187#187#185#183
+#182#164#160#155'\RH'#130'th'#154#139#130#162#147#138'}maP@4D6*'#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'Z`e'
+'ENWjw'#133#142#162#180#154#177#199#176#200#222#181#203#221#173#185#197#137
+#141#146'|xLFA2-.QT\'#144#159#175#183#203#221#204#224#242#205#221#234#181
+#190#199#158#160#161'fa^gaZ'#160#156#151#182#181#177#197#199#199#191#195#196
+#174#176#176#136#133#129'LA9C5)|nb'#149#135'{'#133'uhwgZhXK'#148#138#128#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'y~'#129
+'agnFOX'#155#168#182#180#200#218#167#191#211#166#191#211#174#195#210#150#158
+#165#138#138#138'GC>'#20#16#11#7#6#10'NT_~'#142#159#156#177#198#181#202#223
+#181#197#213#172#182#192#130#133#137'B?;JFA'#136#133#129#156#157#155#175#180
+#181#153#158#161#128#132#133'xvuMD@'#12#1#0'9+'#31#142#129's'#152#136'{'#139
+'{np`Si]S'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0'`di~'#134#141'ENW'#132#146#158#199#217#234#191#213#231#161#184#200#159
+#177#188#143#148#151'spl#'#29#22#15#11#6'WX\'#133#139#150'y'#135#153'r'#133
+#154#138#158#176#171#186#202#189#198#207#132#135#139#4#2#1#10#7#3'{yx'#175
+#177#177#159#164#165#128#133#136'qvupqoga\'''#28#20#25#13#1'yl^'#137'|n'#130
+'rezj]ymc'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#178#180#181#132#138#143#165#173#180'kt}dp|'#154#170#183#152#168#184#159#176
+#189#132#145#153'z~gd`'#27#21#14'($'#31#135#137#138#139#146#155'}'#136#150
+#131#146#162#167#183#196#207#217#227'Z^c'#0#0#1#0#0#0#2#0#0#2#0#0#134#135#133
+#198#200#200#156#161#160#130#133#131'}|x'#143#135#128'j`V'#18#6#0'i\N}oc'#141
+'saTFdZP'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#142#142#142'wz~X^cYahs~'#134'O[e'#29',5<HRVaeceeXUQMG@vrm'#140#142#143'lry|'
+#133#146#153#165#177#171#180#190'ouz'#0#0#1#0#0#0#2#0#0#2#0#0#2#0#0#0#1#0'uu'
+'u'#157#158#156#150#151#147'xup'#131'|s'#134'|r<0$ocWdZPI>6;1''?6-'#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'khdQON'#1#2#0'(-.AJ'
+'M(29AKR>HONUXXZZdba'#17#12#9'JEB'#146#145#147#129#133#138#142#149#158#134
+#141#150'*.3'#0#0#1#0#0#0#2#0#0#4#0#0#4#0#0#2#0#0#0#0#0#2#0#0'CA@'#151#150
+#146#135#132''#148#140#133'zqh4+"'#139#130'yf^W?94[UP^YV'#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#129'~zOKFWSN<95*-+/54SZ]x~'#131'T'
+'[^&+,(,-iii'#23#19#18#14#10#9'~'#128'hko'#131#137#144'hlq'#0#0#3#2#0#0#2#0
+#0#7#4#0#16#9#6#8#1#0#4#0#0#2#0#0#4#0#0#4#0#0#130#128''#135#134#130'ytqIC>'
+#31#27#22#135#131'~]YXokj'#136#134#133'_[Za\Y'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0'=94/+&XRMFB=(''#'#0#3#1'[_`sxyZ_`278GKL~'#128#128'3'
+'10'#2#0#0'OOO^`a\`eRUY)&('#4#0#0#5#1#0#5#0#0#20#11#7#23#14#10#8#1#0#5#0#0#5
+#0#0#31#27#26'cef{}}yww&$#+++'#129#131#132'Z\]'#131#133#134#150#149#151'422'
+#25#20#17#146#141#138#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'YTQ'#6#2#0#30
+#26#21':4/NJE]ZV;<8$&&355BGF;@?fkl'#129#134#135'LNN'#0#0#0'PPPqstV[^bei\[]><'
+'<KIIb^]kfeupojfeWRSIDFVUYfjoimrtw{'#4#7#11'HNS'#148#156#163#130#136#143'w{'
,#128'tw{rrrpkjD?<'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'RMJ'#22#19#15#30
+#27#23#20#17#12'TQL'#137#137#131'xwsQRNHIGFHHHLMrwz'#135#142#145'y'#128#131
+#19#24#27'"&'''#134#138#139'pwzaglHKPBEIlosx{rv{ptytx}z}'#133'[]gOT]}'#131
+#142#143#150#159'^ai'#25#31'&~'#135#148#129#141#153#140#149#162'W^gbeiRQSojk'
+'E@?ytq'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0']ZV984*+''01-)*&ed`vuqGFBPQOY[['
+#130#135#136'clpz'#132#139#135#146#154'v'#128#135#3#9#14'?FIcmtDNU=DMLS\Xajp'
+'y'#131's|'#137't'#141'v'#140'lu'#130'OZhR]kt'#141#135#144#157#8#17#27'js'
+#128#175#191#208#165#181#198#145#158#174'nw'#129'aej\[]snoJEDF?<'#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0'vtslmkTVVnsr'#28#30#30#0#1#0'\[Wnkg`a_[`aox|p}'#133
+'t'#132#144#136#152#168#150#166#179'V_h'#0#0#7'T^hUam>KY?L\[jzr'#128#146'q'
+#128#147'q'#128#147'o'#128#147'gx'#139'GViTduw'#133#151'6EU'#21'%5'#174#192
+#209#158#179#201#150#168#191''#141#159'js'#128'PS['#128#130#131#141#136#137
+'QLI60+'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'|}{vxxVZ[ekpSY^'#0#0#1'688ijhEG'
+'G7>ATaiiz'#135't'#136#153#145#166#187#166#185#206#165#176#190#0#2#12' ,8dq'
+'QarDUhJ]r\o'#132'av'#140']q'#138'm'#131#156'bx'#145'Lawi|'#145'|'#139#158#0
+#15' t'#137#158#185#209#231#154#177#203'}'#147#172#129#146#167'mx'#134'glucd'
+'hIGG!'#28#25'HD?'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'pppimndkn`ksp}'#133'Q'
+'Zc&/3SVZOTW3>FN^kcw'#137'h'#128#152'p'#136#164#136#159#185#190#207#226'>N['
+#0#2#14'iw'#131'Zk~Wl'#130'E[tLd|Vl'#133'Ul'#134'^w'#145'[t'#142'[t'#142#128
+#150#175'[l'#4#24'*'#182#206#228#142#169#195'~'#153#180'}'#148#174#130#148
+#171#131#146#162#132#141#151'QTX&&&)''&QLI'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0'```]abfosjwr'#128#140't'#130#142'3=GPV]iqxcq}y'#139#156#134#156#181#147
+#171#199#148#176#206#143#170#197#194#215#236'`p'#128#0#0#11'dqf{'#144'Vo'
+#137'F_y6Nj\t'#144'\t'#144'Lf'#132'\x'#150'k'#135#165#130#155#181':K^3GX'#189
+#213#237#148#175#202#128#154#184'w'#143#171#129#151#176'x'#136#153'T^hTZ_'#31
+'!"SQPd`_'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'fdcaefU[`r}'#133#133#145#157
+'gu'#129#9#21'!'#0#7#17'1:Dr'#130#146#159#180#201#145#168#194#147#174#201#144
+#172#202#160#187#213#214#236#254'Ueu'#0#0#13'w'#135#152'n'#133#159'm'#137#167
+'\x'#150'6RpXr'#144'Qj'#138'Mi'#139'o'#139#173'p'#140#174''#151#179'7H[DVg'
+#207#229#254#153#180#207#141#167#197#139#163#191'~'#148#173'iz'#141'bnxPY]'#0
+#0#3'/.0nll'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'/-,SWXNW[V_hfr~_o|'#7#23'$2'
+'=K~'#139#155#133#153#171'Yp'#134#129#152#178'o'#135#163'|'#149#175#192#216
+#238#222#241#255'FVb'#1#17'!|'#145#166'^z'#152'k'#138#171'o'#142#175'Dc'#132
+'-Ik5Qsb'#128#163'x'#152#188'q'#142#179#128#154#184'@Ob3BR'#201#220#241#190
+#212#237#133#154#181'j'#154'o'#133#158'v'#137#158'k{'#135'W`i'#0#2#10'[^c|~'
+'jjj'#0#0#0#0#0#0#0#0#0#0#0#0#131#128'|>?=DIL?IP`jt^jvVfv'#1#19'$/?Pv'#135
+#154'g|'#146'e{'#148'f|'#149'x'#140#165#139#157#180'dt'#133'T^h'#3#15#25#27
+'/@v'#144#168'b'#129#162'x'#154#190'k'#141#177'Uw'#155'3Sv;[v'#151#190'y'
+#156#196'x'#153#192'x'#145#177'O]o'#0#0#13'#/A6DW`o'#130'gx'#141'Yi'#128'x'
+#137#158#140#156#172'N\h'#8#17#27'Zajtx}245'#0#0#0#0#0#0#0#0#0#0#0#0'nlk888.'
+'58 *1=GQ9FTDVg'#31'5G%=Qu'#140#162'o'#135#159'y'#145#169#139#156#182'IYp'#7
+#23'.'#0#9#28#0#0#8#0#0#8#20'*<k'#136#163'i'#140#174#135#171#211#143#179#219
+'{'#159#197'9]'#131';_'#133'|'#159#202#142#177#221#136#170#213'x'#148#182'EV'
+'k'#0#0#13#0#6#26#22'!5'#0#1#21#12#26'-'#130#144#163#135#149#168'x'#134#152
+'`o.9G]gqflsQTXtrr'#0#0#0#0#0#0#0#0#0'bbbEGH>CF4>E3=G)8H;PePk'#128'9Umc~'
+#152#136#163#189#171#195#219'!/F'#0#5#28'@SnRc}(2D'#0#0#17'!8Ni'#135#164'`'
+#132#168#132#170#212#142#179#223#141#179#221'"Fl;`'#134#133#169#215#146#185
+#230#130#165#209'l'#140#176'<Tp'#0#20'*CToFTpCPj'#0#1#23#0#4#21#173#182#196
+#144#157#173'%2B5BRS_kT[dVY^a__'#0#0#0#0#0#0#0#0#0'XXXLNO'#0#1#4#7#16#20#28
+'%2/?OOdy^x'#144'0Ke'#29'8R'#161#185#207'EXm'#0#0#16'LWm.=W,;UALb'#0#0#21'3L'
+'fKj'#139'Ko'#151'c'#136#180'i'#144#189'm'#146#190#26'>d=b'#136'x'#159#204'x'
+#158#206'q'#149#195'Wz'#162'<Yx'#8' <'#2#20'1'#5#19'/%1I'#6#16'"'#0#0#10#29
+'%2'#19#30','#0#2#18'O\lT`lHOXHKOuss'#0#0#0#0#0#0#0#0#0'USSVVV#''('#9#15#20
+#26'#0/>NH\n_t'#138'@Wm'#0#10#31#0#15' '#0#0#11#0#0#11#0#4#19#0#0#19#0#7#27#0
+#0#18#7#25'03On*NrMr'#158'X'#172'f'#138#184'_'#133#175#7'+OBf'#138'h'#141
+#185'f'#140#188'Y'#175'Ru'#161'9Y|'#24'2P'#0#14'('#0#11#30#0#0#12#0#0#8#0#0
+#7#0#3#13#17#30',)8HHSa4<I'#29'!&'#0#0#1'_Z['#0#0#0#0#0#0#0#0#0'plkNLK^`a39>'
+#24'",DQaL[nL_tDVm=PeUev?N^)6F'#28'&7'#21#31'1'#24'$64AWG\wOm'#144'Sw'#159'^'
+#130#176'\'#130#178'j'#143#187'r'#149#189#21'8Z:]Sw'#159'l'#145#189'`'#134
+#182'Hl'#154'Mn'#149'Gd'#131'EYrHVi`ky'#137#147#157#148#156#169#141#152#166
+'q~'#142'BO_HQ_.2=-05<<<top'#0#0#0#0#0#0#0#0#0#129'~z(&%\`aPY]3=G5BPHXiGXkBW'
+'m7Mfj'#128#153#135#159#183#162#184#212#177#198#225#150#167#193'l~'#149',@Y&'
+'>Zf'#134#170'c'#137#179'd'#138#186'e'#140#185'h'#138#181']}'#161#11'*I'#31
+'A_Y{'#159'e'#137#177'{'#159#205'c'#133#179'_'#131#169'Ts'#148'<Tp'#128#150
,#175'u'#138#160#133#152#173#139#156#177#130#145#164'Ucu3>L &3,.8\_c]__nij'#0
+#0#0#0#0#0#0#0#0'qpl*-+_fiMW^T^h8ES'#27'*:=O`G\r7OgGb}^z'#152#138#166#200's'
+#143#177'i'#131#161#131#156#182'%>X'#28'8V\}'#164'c'#137#179'v'#154#200#144
+#181#225'Uv'#157'c'#130#163#20'2O5SpEe'#136'Lp'#150'k'#142#186't'#151#195'g'
+#136#175'@^'#129#19'+I'#142#164#192#158#182#210'k'#132#158'o'#133#158'`s'#136
+'M[m-8F17DMR[9=B'#23#25#26'RPP'#0#0#0#0#0#0#0#0#0'LOM;@AR\cNZdGS_DQ_1AN)<KH['
+'pKc{D_zUr'#145'|'#154#189'b'#164'u'#148#181#130#159#190#27'6Q'#14'*H\~'#162
+'o'#147#187'v'#154#194'v'#154#192'Vw'#152'Jh'#133'3Pka'#156'y'#153#188'Ei'
+#143'=`'#139'~'#161#204'l'#141#180'D`'#131#0#3'"|'#142#171#188#215#242#144
+#173#200't'#140#164'K`u5EV+8FJQ`HNYRX_@EH][['#0#0#0#0#0#0#0#0#0'IMNW`dM[gRbo'
+'IVf/<L*:G(8HASdSh}+D^5Qob'#128#163#153#185#221#163#198#232'x'#151#184#0#21
+'0'#5'!?g'#135#170#138#174#212#139#173#209'[{'#158'A^}Ok'#137#29'8SMi'#135
+#145#178#211't'#150#186't'#151#191#145#177#218't'#148#184'Oj'#140#0#13',m'
+#156#179#205#235#137#166#193'`w'#141'EVi'#26'*7=IUOXe@HUipyagl[Z\'#0#0#0#0#0
+#0#0#0#0'DJQXdnDWf3GY&8I'#10#26'+'#21'$4%5B'#0#13#26#28',=J_u,E_4Qpn'#143#176
+#128#160#195'e'#129#163'$<X3Kgu'#145#179#156#186#221'e'#129#163'Kg'#134'Pl'
+#138'Ws'#145#30'9TFb'#128#154#187#220'Mp'#146']}'#161#156#188#224'x'#151#184
+'3On<Qp'#146#168#196#152#178#208#138#163#189'M`u#0@'#29'&3'#20#29'''@JTakujs'
+'}kqxnos'#0#0#0#0#0#0#0#0#0'EN[eu'#133'=Ui'#29'5K'#1#22',FYns'#134#155'Pbs'
+#23'$4'#0#5#21'FUh=Rh'#24'3NWt'#147#128#159#192'p'#140#171'OdRf{'#147#175
+#164#190#220'-Ge>Xv'#167#193#223'Ke'#131'%=Yx'#144#172#174#204#233#31'<[Zv'
+#149#151#177#207't'#143#170'Kd~\r'#139#141#163#188#147#168#195'h}'#147')8H'#0
+#2#15'#,607@'#19#28'&%.89BL8?HHKP'#0#0#0#0#0#0''#135#142't'#130#148'i~'#148
+'Jd|Id~<Tr'#160#184#214#154#180#210'u'#140#166#5#20''''#0#1#17#25'&6/>QH^wl'
+#132#160'u'#143#173#139#163#191'AQh'#5#20'''Obw)@V>Uo{'#147#175#159#185#215
+'p'#136#164':OjQg'#128's'#138#164#132#155#181'k'#130#152'!6K_s'#133'-?P"2Cn~'
+#143#153#169#186'R_o'#4#14#24#7#14#23':AJ}'#131#142'v|'#135'4=G,4ALR]su}'#0#0
+#0#0#0#0#128#135#144#135#152#173'k'#130#156'u'#141#165'CZtbx'#148#155#178#210
+#157#185#219#172#198#228'gy'#144'CQc'#5#16#30#0#2#18'K\qt'#136#161'~'#148#173
+#145#165#190'CRe'#0#4#22#6#22'''H\n'#145#165#190#132#153#180'e|'#150'}'#147
+#172'I[riz'#143'k}'#148'~'#143#164'k{'#140'gt'#130'5AM'#14#24'"BLV'#142#151
+#161'x'#129#139#29'$-'#0#0#6')-2'#132#137#146#148#153#162'joxJOXqw'#130'sx'
+#129#152#155#160#0#0#0#0#0#0'ms~l|'#147#132#153#180#132#149#170#0#13' @Pg'
+#139#160#187#174#202#232#194#222#252#163#185#210'cr'#133'QZh&/<)3DQ_qbr'#131
+'k{'#140'w'#133#151'_ml{'#142#136#153#172'x'#138#161#128#146#169'QbwKZm?M_'
+#131#143#161'n|'#142#135#148#164#134#141#156#164#168#179'X[c?BG_bgoou:9='#29
+#28' CBFjhn'#174#176#184#128#130#138#0#1#5#24#27#31#134#137#145'jmu'#0#0#0#0
+#0#0#0#0#0'U[fjz'#145#142#162#187'`m}'#0#0#10#2#10#27'HVh'#172#193#214#213
+#236#255#166#183#204'^k{U^h*/8'#27'!,'#24' -'#26'#06AOgq'#130'pz'#139#129#141
+#159'ft'#134'jx'#139'w'#133#152'hv'#136'Taqclzdkz'#144#152#165'rv'#129'JKU'
+#129''#133'dac0+,2-,?77VLLf\\'#135'|~'#152#145#148#147#143#148':9='#0#0#0#0
+#0#1'nosz}'#129#0#0#0#0#0#0#0#0#0'BHScs'#138#133#151#174'4=K'#0#0#6#29#28'%$'
+'&.X_h'#130#139#149#146#153#162#0#0#0#0#0#0#0#0#0'qty58@EJSbhsflyot'#131'PXe'
+'AHW'#132#140#157'lv'#135'Zesajwgmx]_iUU[CBF3.0/*)'#18#13#10'4.)1%'#31'A1*`N'
+'GVD=<+(G860&&'#6#1#0#4#0#0#2#0#0'ZY['#0#0#0#0#0#0#0#0#0#0#0#0'SZc'#135#148
+#170#145#159#181#29'#0'#25#25#31'FAC'#25#20#21'KJL'#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0'~'#129#134'fiq?AK*,6<>HQS]LP[7=H/5@'#25#30'''KMU||'#130#128
+'}'#133#128#129#146#141#140#161#156#153#0#0#0#0#0#0#0#0#0'SC<8%'#29'0'#29#22
+'<,&@1/:00:22@;<723mjl'#0#0#0#0#0#0#0#0#0#0#0#0'xz'#132#138#148#166#142#151
+#171'NQ_HGP5.1'#155#149#150#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'h\XMA=dZZ{uv~y{'#137#133#138#162
+#159#161'spr'#178#175#177#0#0#0#0#0#0#0#0#0#0#0#0#158#161#166'afu'#141#148
+#163#155#157#168'VS\'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#187#179#179#143#138
+#139#147#144#146#162#161#165#156#155#159#163#162#166#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#148#150#158#159#162#170#148#151#156#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
,#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#192
+#0#0#3#255#252#253#255#192#0#0#3#255#252#253#255#128#0#0#3#255#252#253#255
+#128#0#0#1#255#252#253#255#0#0#0#1#255#252#253#255#0#0#0#0#255#252#253#255#0
+#0#0#0''#252#253#255#0#0#0#0''#252#253#254#0#0#0#0''#252#253#254#0#0#0#0
+'?'#252#253#252#0#0#0#0'?'#252#253#252#0#0#0#0'?'#252#253#248#0#0#0#0'?'#252
+#253#248#0#0#0#0'?'#252#253#248#0#0#0#0'?'#252#253#240#0#0#0#0#31#252#253#240
+#0#0#0#0#15#252#253#224#0#0#0#0#15#252#253#224#0#0#0#0#7#252#253#224#0#0#0#0
+#7#252#253#224#0#0#0#0#7#252#253#224#0#0#0#0#7#252#253#224#0#0#0#0#7#252#253
+#224#0#0#0#0#7#252#253#224#0#0#0#0#7#252#253#224#0#0#0#0#3#252#253#192#0#0#0
+#0#3#252#253#192#0#0#0#0#1#252#253#192#0#0#0#0#1#252#253#192#0#0#0#0#1#252
+#253#192#0#0#0#0#1#252#253#192#0#0#0#0#1#252#253#192#0#0#0#0#1#252#253#192#0
+#0#0#0#1#252#253#192#0#0#0#0#1#252#253#192#0#0#0#0#1#252#253#192#0#0#0#0#1
+#252#253#192#0#0#0#0#1#252#253#128#0#0#0#0#1#252#253#128#0#0#0#0#1#252#253
+#128#0#0#0#0#3#252#253#128#0#0#0#0#3#252#253#128#28#0#0#0#7#252#253#128''#0
+#0#224#7#252#253#128#255#255#255#240#7#252#253#131#255#255#255#248#31#252#253
+#199#255#255#255#255#255#252#253#255#255#255#255#255#255#252#253'('#0#0#0' '
+#0#0#0'@'#0#0#0#1#0' '#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'F[n'#255'&>T'#255'''?V'
+#255'i'#133#158#255#147#180#207#255#144#174#206#255'w'#151#183#255#134#164
+#193#255#128#157#183#255#128#152#176#255#129#149#171#255#130#145#163#255#137
+#148#158#255#140#146#148#255#129#132#131#255'zws'#255#137#130'|'#255#140'w'
+#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'@LX'#255';Od'#255'd}'#150#255'{'#150#176#255
+#149#178#206#255#159#191#220#255#156#184#214#255'{'#150#177#255'r'#139#160
+#255'm'#132#152#255'dy'#136#255'gw'#134#255'lw'#130#255#128#135#141#255#129
+#132#133#255'wwu'#255'{v'#255'^XP'#255'uka'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+'KWd'#255#137#156#179#255#134#159#185#255#151#180#207#255#155#184#210#255#157
+#186#210#255#154#175#196#255#131#147#165#255's'#129#144#255'y'#136#150#255'p'
+'~'#135#255'ny'#129#255'u|'#130#255#143#147#149#255#141#142#141#255#148#145
+#140#255#144#137#130#255'i`X'#255'wmc'#255#130'xn'#255#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'ow'#255
+'z'#135#150#255'q'#131#153#255'<Tk'#255'x'#147#172#255#173#198#220#255#176
+#196#214#255#147#159#171#255#135#143#155#255#145#155#168#255#146#158#170#255
+#145#155#165#255#140#149#157#255#158#164#169#255#157#161#163#255#153#153#151
+#255#161#157#151#255#149#141#134#255#142#132'|'#255#133'{q'#255'cVK'#255#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0'v'#136#255'9FT'#255'H[m'#255'3F['#255'~'#146#166#255#173#188#202
+#255#180#188#195#255#132#134#138#255#134#141#150#255#128#141#155#255#130#144
+#158#255#141#150#160#255#148#154#159#255#151#153#153#255#144#144#144#255'|yx'
+#255'zv'#255#148#139#132#255#155#144#136#255'zoe'#255'A1('#255';-%'#255#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#135#143#151#255'8FU'#255'f{'#142#255#142#164#185#255#160#177#195#255#153#161
+#168#255#158#158#157#255'dcd'#255#137#146#157#255#173#190#207#255#160#176#190
+#255#136#144#152#255'VVW'#255'XUR'#255#135#132#129#255#166#165#164#255#172
+#170#168#255#143#136#129#255#128'ti'#255#151#137#128#255'}nc'#255'?0&'#255#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'glq'
+#255'MU\'#255#133#148#163#255#157#179#199#255#174#198#218#255#169#184#196#255
+''#128#129#255'JE@'#255'215'#255'v'#130#144#255#181#201#220#255#196#214#229
+#255#168#175#182#255'mki'#255'plf'#255#166#164#161#255#185#189#190#255#165
+#168#169#255'pkg'#255'9-&'#255'tfZ'#255#141'~q'#255'wgZ'#255'|pe'#255#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'lqv'#255'U]e'#255
+#157#172#186#255#186#207#225#255#163#185#200#255#151#161#168#255'a^Z'#255#26
+#22#16#255'NPW'#255'x'#131#147#255#136#156#176#255#167#184#200#255#166#173
+#180#255'<;;'#255'?<8'#255#154#155#154#255#155#160#161#255'|'#128#129#255'ki'
+'f'#255'3)$'#255'B5)'#255#137'{m'#255#128'pc'#255'tg\'#255#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#164#165#165#255#131#137#142#255'qz'
+#129#255'q}'#136#255'u'#132#145#255'z'#137#147#255'sy|'#255'OKF'#255':50'#255
+#134#137#141#255'~'#135#147#255#148#162#176#255#172#183#192#255'(),'#255#0#0
+#0#255#2#0#0#255'<<;'#255#166#168#167#255#143#146#143#255#128'|w'#255'{rh'
+#255'9,#'#255'qdX'#255'k^S'#255'VLA'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0'xvt'#255'HII'#255'/46'#255'HRW'#255'5@H'#255'CMT'#255'X'
+'\]'#255'LIF'#255'GB>'#255#136#138#141#255#131#138#146#255'y'#129#138#255'58'
+'<'#255#0#0#0#255#2#0#0#255#2#0#0#255#0#0#0#255';:9'#255#132#132#129#255#134
,#129'{'#255#131'zq'#255'OE;'#255'ne]'#255'G?9'#255'RKF'#255#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'QMH'#255'OKF'#255'00-'#255'166'#255'k'
+'qt'#255'GMO'#255'/34'#255'UTT'#255#17#14#13#255'klm'#255'pty'#255'EGK'#255#6
+#4#5#255#4#1#0#255#13#7#4#255#10#3#2#255#3#0#0#255#7#3#2#255'TRR'#255'~{'
+#255'QLI'#255'CA>'#255'igf'#255'}{{'#255'daa'#255'TOL'#255#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0';63'#255#31#27#23#255'FA<'#255'KHD'#255',.,'#255'BEE'
+#255'DIH'#255'OTU'#255'kno'#255#23#22#22#255'XYY'#255'^bd'#255'VX['#255'533'
+#255'855'#255'JDC'#255'QKJ'#255'@;;'#255'845'#255'Y[^'#255'qsw'#255'125'#255
+'X]a'#255'}'#130#135#255'|'#130#255'hhi'#255'VQO'#255#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0'D@='#255'! '#28#255'*)$'#255'jid'#255'ihd'#255'KLI'#255'Q'
+'TT'#255'glo'#255#129#137#141#255'LSX'#255'49;'#255'lsw'#255'QW]'#255'EIO'
+#255'jou'#255'sx'#255'rx'#128#255'uz'#131#255'TZe'#255'ls'#255'sz'#131#255
+'8>G'#255#141#153#168#255#141#152#166#255'_em'#255'YY\'#255'b]]'#255'\WU'#255
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'gfc'#255'MNL'#255'FIG'#255'!" '#255'cb^'#255
+'\\Z'#255'chj'#255'ny~'#255'{'#138#149#255#138#152#164#255'-4;'#255'BIQ'#255
+'IT_'#255'ALY'#255'an|'#255'q~'#142#255'q'#144#255'ky'#138#255'LZk'#255'jw'
+#136#255';HW'#255'jy'#136#255#160#179#200#255#140#155#173#255'dku'#255'ikn'
+#255'rmm'#255'A;8'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'uwv'#255'bfg'#255'ain'
+#255'05:'#255'ADE'#255'PST'#255'?IO'#255'`p}'#255'w'#140#161#255#148#169#192
+#255'z'#133#147#255#21#29'('#255'_n|'#255'M_r'#255'Maw'#255'[p'#134#255'^t'
+#141#255'by'#146#255'[q'#136#255'p'#130#150#255'.AT'#255#159#183#206#255#138
+#161#187#255''#146#169#255's}'#138#255'cfl'#255'421'#255'=96'#255#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0'cee'#255'cjm'#255'jw'#255'kx'#131#255':BI'#255'[ag'
+#255'Ziu'#255'u'#137#157#255#133#158#186#255#139#165#192#255#156#175#193#255
+#28'".'#255'ds'#131#255'Zp'#135#255'BZt'#255'Ph'#130#255'Wo'#139#255'Xs'#143
+#255'n'#136#164#255'Yl'#129#255'Uk~'#255#159#185#211#255'}'#150#179#255'~'
+#148#173#255's'#129#143#255'X_e'#255'---'#255'UQP'#255#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0'VVV'#255'U[_'#255'ny'#131#255'ky'#133#255#11#22'"'#255'7AL'#255'}'
+#144#162#255#138#160#185#255#135#162#189#255#159#185#211#255#171#190#206#255
+#26'#2'#255's'#135#156#255'k'#134#164#255'Ur'#145#255'D`'#255'Kf'#135#255'h'
+#133#167#255'u'#144#177#255'Qdz'#255'm'#128#147#255#178#202#227#255#134#158
+#187#255'{'#145#171#255'jz'#139#255'Xcj'#255#20#21#25#255'a`a'#255#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0'>??'#255'EMR'#255'^hr'#255'[jx'#255#18'"2'#255'`o'#129
+#255'k'#128#150#255'j'#128#153#255'z'#143#169#255#131#151#171#255'_lw'#255#20
+'%4'#255'p'#138#164#255'm'#141#175#255'b'#131#166#255';Z}'#255'Kj'#142#255'u'
+#150#189#255'w'#148#184#255'Zl'#130#255')1A'#255'`p'#132#255'j|'#146#255'bu'
+#140#255'z'#139#158#255'anz'#255'!(0'#255'mqv'#255'GII'#255#0#0#0#0#0#0#0#0
+'ihg'#255'9;='#255'*39'#255'7BN'#255'<M^'#255'.FZ'#255'Xq'#135#255'}'#150#174
+#255's'#133#158#255')7N'#255#26'(>'#255#8#11#22#255#16#31'/'#255'h'#136#166
+#255'{'#159#198#255#138#174#215#255'Kp'#150#255'Qu'#157#255#137#173#218#255
+#128#160#201#255'Ri'#132#255#7#15'!'#255' ,B'#255#17#24'-'#255'<FY'#255#141
+#153#171#255']k|'#255'>IV'#255']en'#255'[]_'#255#0#0#0#0#0#0#0#0'[[['#255'8:'
+';'#255#21#28' '#255'&2?'#255'?Re'#255'Lg'#255'3Oh'#255#136#159#182#255')3G'
+#255'3>V'#255'7Ga'#255'%,A'#255#30'.E'#255'Tt'#150#255'd'#137#179#255'v'#156
+#200#255';_'#135#255'Qw'#159#255''#165#211#255'n'#145#188#255'Gd'#133#255#11
+' ;'#255#25'(E'#255' +B'#255#1#4#19#255'GQ^'#255#28'$3'#255'JWf'#255'NWa'#255
+'WY\'#255#0#0#0#0#0#0#0#0'_\\'#255'IJJ'#255'!&*'#255'"-;'#255'BSe'#255'Pe{'
+#255'#3H'#255#25'%5'#255#16#20'!'#255#8#13#30#255#7#14'!'#255#21#30'3'#255'1'
+'Kh'#255'@d'#140#255'W}'#170#255'f'#139#183#255')Ms'#255'Jn'#148#255'e'#139
+#184#255'W|'#171#255'Df'#141#255'"9V'#255#23'%:'#255'$(3'#255'03;'#255'/7D'
+#255'1?N'#255'@IW'#255''',3'#255'/-.'#255#0#0#0#0#0#0#0#0'zwt'#255'BAA'#255
+'MTW'#255'/:E'#255'DSc'#255'FYm'#255'<Ph'#255'g{'#145#255'v'#137#160#255'x'
+#137#160#255'Yh~'#255'/B\'#255'Ok'#140#255'_'#132#175#255'b'#136#182#255'g'
+#137#178#255'*Km'#255'7Z{'#255'a'#133#173#255'j'#142#188#255'Y|'#165#255'Je'
+#132#255']r'#138#255'v'#135#153#255#139#154#172#255'x'#134#151#255'DQ`'#255
+'-2?'#255'ADK'#255'\[['#255#0#0#0#0#0#0#0#0'bc_'#255'>CC'#255'Q[b'#255'IT`'
+#255'*9H'#255'<Oa'#255'@Wn'#255'Mh'#132#255'w'#147#180#255'm'#137#171#255'{'
+#150#179#255#30'8T'#255'Ed'#136#255'l'#144#187#255#129#166#208#255'Ww'#154
+#255'2Pm'#255'Ih'#135#255'Mp'#149#255'd'#135#179#255'm'#143#183#255'/Ij'#255
+'^r'#143#255#151#177#204#255'r'#138#164#255'Rdx'#255'4AP'#255'?EQ'#255'DIP'
+#255'567'#255#0#0#0#0#0#0#0#0'JMM'#255'NW\'#255'P^i'#255'BO]'#255'/>L'#255'1'
+'BS'#255'L`u'#255'7Rm'#255'\y'#155#255#139#170#206#255#131#162#195#255#8'!='
+#255'Dd'#133#255#130#165#203#255'n'#144#180#255'Ig'#134#255'2Ni'#255'e'#131
+#162#255'p'#146#182#255'o'#145#186#255'y'#154#192#255'2Gh'#255'L[x'#255#167
,#195#223#255'r'#140#164#255';L^'#255'0=K'#255'IQ_'#255'W^g'#255'W[^'#255#0#0
+#0#0#0#0#0#0'DKT'#255'Scp'#255'3HZ'#255#27'-@'#255',=O'#255'$4B'#255#15#27'+'
+#255'AUk'#255'-Gc'#255'n'#142#175#255'p'#141#175#255'6Lh'#255'c}'#155#255#133
+#161#194#255'Je'#133#255'd'#157#255'1Kg'#255'o'#139#169#255'^'#159#255'p'
+#143#177#255#130#160#192#255'>Xu'#255'w'#141#169#255#142#166#194#255'Ui~'#255
+#25'#1'#255#29'&0'#255':DN'#255'U^h'#255'\ag'#255#0#0#0#0#0#0#0#0'ju'#131#255
+'\q'#134#255'>Wo'#255'F\x'#255#137#160#187#255'I\q'#255#3#10#26#255'+:L'#255
+'6Lc'#255'k'#133#163#255'~'#153#182#255'8Ja'#255'H\r'#255'Ia{'#255'Wo'#139
+#255#140#166#196#255'CZu'#255'k'#131#157#255'n'#135#163#255'[s'#140#255'\r'
+#136#255'6J]'#255'bt'#135#255#130#147#166#255'(5C'#255#19#26'$'#255'RYc'#255
+'HPZ'#255'/8C'#255'OT]'#255#0#0#0#0#0#0#0#0'|'#137#155#255'u'#139#164#255'FZ'
+'r'#255'k'#128#156#255#158#184#216#255#160#184#212#255'\l'#128#255#24' /'#255
+'.9L'#255'l'#149#255''#146#168#255'BOa'#255'%2C'#255'k~'#147#255#132#152
+#177#255'cw'#143#255'Rdz'#255'o'#148#255'z'#138#158#255'v'#130#145#255'T]i'
+#255'-5='#255'qw'#128#255'KQX'#255#24#25#31#255'Z]c'#255#142#146#155#255'BFM'
+#255'cgq'#255'z~'#133#255#0#0#0#0#0#0#0#0'fr'#133#255#128#146#169#255'$+:'
+#255'.;N'#255#146#167#190#255#192#215#238#255'v'#134#152#255'EMX'#255'")5'
+#255'-7F'#255'@L['#255'kw'#136#255't'#129#147#255'p'#146#255'v'#133#153#255
+'[i|'#255'U`p'#255'u~'#142#255'|'#132#146#255'moy'#255'nns'#255'968'#255'JFG'
+#255'MFG'#255'd]_'#255#143#138#143#255'jio'#255#2#3#4#255'QRW'#255'sv|'#255#0
+#0#0#0#0#0#0#0'an'#128#255'jw'#139#255#20#23#31#255'''%+'#255'BEK'#255#136
+#144#153#255#0#0#0#0#0#0#0#0#0#0#0#0'GJR'#255'_dm'#255'X]i'#255'NS`'#255'TZh'
+#255'bjy'#255'JS`'#255'V\g'#255'ffm'#255'\Z^'#255'SNN'#255'50-'#255'2*%'#255
+'A2+'#255'O=6'#255'@/*'#255'>10'#255' '#25#24#255#22#18#19#255'FDF'#255#0#0#0
+#0#0#0#0#0#0#0#0#0''#135#151#255's|'#142#255':;D'#255'LFH'#255'[WY'#255#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'QB='#255'PC'
+'@'#255'g__'#255'lfi'#255'urs'#255#135#131#133#255#0#0#0#0#0#0#0#0#0#0#0#0'~'
+#129#140#255#148#153#164#255'uu~'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#160#153#154#255#152#150
+#153#255#158#157#161#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+#0#0#0#0#254#0#0''#252#0#0''#252#0#0'?'#248#0#0'?'#248#0#0#31#248#0#0#31
+#240#0#0#15#240#0#0#15#224#0#0#15#224#0#0#15#224#0#0#7#192#0#0#7#192#0#0#3
+#192#0#0#3#192#0#0#3#192#0#0#3#192#0#0#3#192#0#0#1#128#0#0#1#128#0#0#1#128#0
+#0#1#128#0#0#1#128#0#0#1#128#0#0#1#128#0#0#1#128#0#0#1#128#0#0#1#128#0#0#1
+#129#192#0#3#131#255#255#3#143#255#255#143#255#255#255#255
]);

View File

@ -0,0 +1 @@
MAINICON ICON "title_image_demo.ico"

View File

@ -354,6 +354,7 @@ type
FAlignment: ^TAlignment;
FFont: TFont;
FImageIndex: Integer;
FImageLayout: TButtonLayout;
FIsDefaultTitleFont: boolean;
FLayout: ^TTextLayout;
procedure FontChanged(Sender: TObject);
@ -371,6 +372,7 @@ type
procedure SetColor(const AValue: TColor);
procedure SetFont(const AValue: TFont);
procedure SetImageIndex(const AValue: Integer);
procedure SetImageLayout(const AValue: TButtonLayout);
procedure SetLayout(const AValue: TTextLayout);
property IsDefaultFont: boolean read FIsDefaultTitleFont;
protected
@ -392,6 +394,7 @@ type
property Color: TColor read GetColor write SetColor stored IsColorStored;
property Font: TFont read GetFont write SetFont stored IsFontStored;
property ImageIndex: Integer read FImageIndex write SetImageIndex default 0;
property ImageLayout: TButtonLayout read FImageLayout write SetImageLayout default blGlyphRight;
property Layout: TTextLayout read GetLayout write SetLayout stored IsLayoutStored;
end;
@ -3086,7 +3089,7 @@ begin
exit;
w := TitleImageList.Width;
h := TitleImageList.Height;
rw := ARect.Right - ARect.Left - BORDER * 3;
rw := ARect.Right - ARect.Left - BORDER * 2;
rh := ARect.Bottom - ARect.Top - BORDER * 2;
if rw < w then begin
w := rw;
@ -3096,8 +3099,30 @@ begin
h := rh;
needStretch := true;
end;
Dec(ARect.Right, w + BORDER * 2);
r.TopLeft := Point(ARect.Right + BORDER, ARect.Top + (rh - h) div 2 + BORDER);
case c.Title.ImageLayout of
blGlyphRight, blGlyphLeft:
r.Top := ARect.Top + (rh - h) div 2 + BORDER;
blGlyphTop, blGlyphBottom:
r.Left := ARect.Left + (rw - w) div 2 + BORDER;
end;
case c.Title.ImageLayout of
blGlyphRight: begin
Dec(ARect.Right, w + BORDER * 2);
r.Left := ARect.Right + BORDER;
end;
blGlyphLeft: begin
r.Left := ARect.Left + BORDER;
Inc(ARect.Left, w + BORDER * 2);
end;
blGlyphTop: begin
r.Top := ARect.Top + BORDER;
Inc(ARect.Top, w + BORDER * 2);
end;
blGlyphBottom: begin
Dec(ARect.Bottom, w + BORDER * 2);
r.Top := ARect.Bottom + BORDER;
end;
end;
if needStretch then begin
r.Right := r.Left + w;
r.Bottom := r.Top + h;
@ -8557,6 +8582,13 @@ begin
FColumn.ColumnChanged;
end;
procedure TGridColumnTitle.SetImageLayout(const AValue: TButtonLayout);
begin
if FImageLayout = AValue then exit;
FImageLayout := AValue;
FColumn.ColumnChanged;
end;
procedure TGridColumnTitle.SetLayout(const AValue: TTextLayout);
begin
if FLayout = nil then begin
@ -8613,6 +8645,7 @@ begin
FFont := TFont.Create;
FillTitleDefaultFont;
FFont.OnChange := @FontChanged;
FImageLayout := blGlyphRight;
end;
destructor TGridColumnTitle.Destroy;
@ -8627,8 +8660,9 @@ end;
function TGridColumnTitle.IsDefault: boolean;
begin
result := (FAlignment=nil) and (FColor=nil) and (FCaption=nil) and
IsDefaultFont and (FLayout=nil);
Result := (FAlignment = nil) and (FColor = nil) and (FCaption = nil) and
IsDefaultFont and (FLayout = nil) and
(FImageIndex = 0) and (FImageLayout = blGlyphRight);
end;
{ TGridColumn }
@ -8644,7 +8678,7 @@ begin
if FAlignment=nil then
Result := GetDefaultAlignment
else
result := FAlignment^;
Result := FAlignment^;
end;
function TGridColumn.GetColor: TColor;