Explorar o código

Clean up memory leak due to unfreed connection etc objects in RegisteredDatabases array.

Reinier Olislagers %!s(int64=11) %!d(string=hai) anos
pai
achega
da92e721d3
Modificáronse 6 ficheiros con 222 adicións e 207 borrados
  1. 1 0
      main.lfm
  2. 197 197
      main.lrs
  3. 12 0
      main.pas
  4. 1 1
      systables.lfm
  5. 3 1
      systables.lrs
  6. 8 8
      systables.pas

+ 1 - 0
main.lfm

@@ -13,6 +13,7 @@ object fmMain: TfmMain
   OnActivate = FormActivate
   OnClose = FormClose
   OnCreate = FormCreate
+  OnDestroy = FormDestroy
   Position = poScreenCenter
   LCLVersion = '1.2.0.3'
   object tvMain: TTreeView

+ 197 - 197
main.lrs

@@ -5,207 +5,207 @@ LazarusResources.Add('TfmMain','FORMDATA',[
   +'Width'#3#0#4#13'ActiveControl'#7#6'tvMain'#7'Caption'#6#28'TurboBird Admin '
   +'for FireBird'#12'ClientHeight'#3'm'#2#11'ClientWidth'#3#0#4#5'Color'#7#7'cl'
   +'White'#9'Font.Name'#6#4'Sans'#4'Menu'#7#9'MainMenu1'#10'OnActivate'#7#12'Fo'
-  +'rmActivate'#7'OnClose'#7#9'FormClose'#8'OnCreate'#7#10'FormCreate'#8'Positi'
-  +'on'#7#14'poScreenCenter'#10'LCLVersion'#6#7'1.2.0.3'#0#9'TTreeView'#6'tvMai'
-  +'n'#4'Left'#2#0#6'Height'#3'Y'#2#3'Top'#2#0#5'Width'#3'h'#1#5'Align'#7#6'alL'
-  +'eft'#15'BackgroundColor'#7#7'clWhite'#5'Color'#7#7'clCream'#15'ExpandSignCo'
-  +'lor'#7#8'clMaroon'#13'HideSelection'#8#6'Images'#7#10'ImageList1'#6'Indent'
-  +#2#25#8'ReadOnly'#9#16'RightClickSelect'#9#9'ShowLines'#8#8'TabOrder'#2#0#10
-  +'OnDblClick'#7#14'tvMainDblClick'#10'OnExpanded'#7#14'tvMainExpanded'#7'Opti'
-  +'ons'#11#17'tvoAutoItemHeight'#21'tvoKeepCollapsedNodes'#11'tvoReadOnly'#19
-  +'tvoRightClickSelect'#14'tvoShowButtons'#11'tvoShowRoot'#11'tvoToolTips'#0#0
-  +#0#9'TSplitter'#9'Splitter1'#4'Left'#3'h'#1#6'Height'#3'Y'#2#3'Top'#2#0#5'Wi'
-  +'dth'#2#14#7'Beveled'#9#0#0#12'TPageControl'#12'PageControl1'#4'Left'#3'y'#1
-  +#6'Height'#3'R'#2#3'Top'#2#3#5'Width'#3#132#2#10'ActivePage'#7#9'TabSheet1'#5
-  +'Align'#7#8'alClient'#18'BorderSpacing.Left'#2#1#17'BorderSpacing.Top'#2#1#19
-  +'BorderSpacing.Right'#2#1#20'BorderSpacing.Bottom'#2#2#20'BorderSpacing.Arou'
-  +'nd'#2#2#25'BorderSpacing.InnerBorder'#2#1#9'Font.Name'#6#4'Sans'#10'ParentF'
-  +'ont'#8#8'TabIndex'#2#0#8'TabOrder'#2#2#17'OnCloseTabClicked'#7#27'PageContr'
-  +'ol1CloseTabClicked'#7'Options'#11#20'nboHidePageListPopup'#0#0#9'TTabSheet'
-  +#9'TabSheet1'#11'BorderWidth'#2#1#7'Caption'#6#4'Main'#12'ClientHeight'#3'3'
-  +#2#11'ClientWidth'#3'|'#2#10'Font.Color'#7#6'clNavy'#9'Font.Name'#6#5'Arial'
-  +#10'ParentFont'#8#0#7'TBitBtn'#11'bbRestoreDB'#4'Left'#2#3#6'Height'#2']'#3
-  +'Top'#3#216#0#5'Width'#3#208#0#7'Caption'#6#16'Restore Database'#5'Color'#7#7
-  +'clCream'#9'Font.Name'#6#4'Sans'#10'Glyph.Data'#10':'#16#0#0'6'#16#0#0'BM6'
-  +#16#0#0#0#0#0#0'6'#0#0#0'('#0#0#0' '#0#0#0' '#0#0#0#1#0' '#0#0#0#0#0#0#16#0#0
-  +'d'#0#0#0'd'#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#0#0#0#1'UUU'#3'@``'#8'NNN'#13'UUU'#18'QQQ'#22'YYY'
-  +#23'MYY'#20'UUU'#15'MfM'#10'fff'#5#128#128#128#2#0#0#0#1#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
+  +'rmActivate'#7'OnClose'#7#9'FormClose'#8'OnCreate'#7#10'FormCreate'#9'OnDest'
+  +'roy'#7#11'FormDestroy'#8'Position'#7#14'poScreenCenter'#10'LCLVersion'#6#7
+  +'1.2.0.3'#0#9'TTreeView'#6'tvMain'#4'Left'#2#0#6'Height'#3'Y'#2#3'Top'#2#0#5
+  +'Width'#3'h'#1#5'Align'#7#6'alLeft'#15'BackgroundColor'#7#7'clWhite'#5'Color'
+  +#7#7'clCream'#15'ExpandSignColor'#7#8'clMaroon'#13'HideSelection'#8#6'Images'
+  +#7#10'ImageList1'#6'Indent'#2#25#8'ReadOnly'#9#16'RightClickSelect'#9#9'Show'
+  +'Lines'#8#8'TabOrder'#2#0#10'OnDblClick'#7#14'tvMainDblClick'#10'OnExpanded'
+  +#7#14'tvMainExpanded'#7'Options'#11#17'tvoAutoItemHeight'#21'tvoKeepCollapse'
+  +'dNodes'#11'tvoReadOnly'#19'tvoRightClickSelect'#14'tvoShowButtons'#11'tvoSh'
+  +'owRoot'#11'tvoToolTips'#0#0#0#9'TSplitter'#9'Splitter1'#4'Left'#3'h'#1#6'He'
+  +'ight'#3'Y'#2#3'Top'#2#0#5'Width'#2#14#7'Beveled'#9#0#0#12'TPageControl'#12
+  +'PageControl1'#4'Left'#3'y'#1#6'Height'#3'R'#2#3'Top'#2#3#5'Width'#3#132#2#10
+  +'ActivePage'#7#9'TabSheet1'#5'Align'#7#8'alClient'#18'BorderSpacing.Left'#2#1
+  +#17'BorderSpacing.Top'#2#1#19'BorderSpacing.Right'#2#1#20'BorderSpacing.Bott'
+  +'om'#2#2#20'BorderSpacing.Around'#2#2#25'BorderSpacing.InnerBorder'#2#1#9'Fo'
+  +'nt.Name'#6#4'Sans'#10'ParentFont'#8#8'TabIndex'#2#0#8'TabOrder'#2#2#17'OnCl'
+  +'oseTabClicked'#7#27'PageControl1CloseTabClicked'#7'Options'#11#20'nboHidePa'
+  +'geListPopup'#0#0#9'TTabSheet'#9'TabSheet1'#11'BorderWidth'#2#1#7'Caption'#6
+  +#4'Main'#12'ClientHeight'#3'3'#2#11'ClientWidth'#3'|'#2#10'Font.Color'#7#6'c'
+  +'lNavy'#9'Font.Name'#6#5'Arial'#10'ParentFont'#8#0#7'TBitBtn'#11'bbRestoreDB'
+  +#4'Left'#2#3#6'Height'#2']'#3'Top'#3#216#0#5'Width'#3#208#0#7'Caption'#6#16
+  +'Restore Database'#5'Color'#7#7'clCream'#9'Font.Name'#6#4'Sans'#10'Glyph.Dat'
+  +'a'#10':'#16#0#0'6'#16#0#0'BM6'#16#0#0#0#0#0#0'6'#0#0#0'('#0#0#0' '#0#0#0' '
+  +#0#0#0#1#0' '#0#0#0#0#0#0#16#0#0'd'#0#0#0'd'#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#0#0#0#1'UUU'#3'NbN'
-  +#13'R[R'#28'QQQ/SVVDRXUTRWTdQVSqSWUuSXVkSYV\TWTLUUU9SZS%MYY'#20'III'#7#0#0#0
-  +#1#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#128#128#128#2'III'#14'WWW)SVSSRVT'#130']^'
-  +'^'#179'pvs'#215'uyw'#226'uzx'#233'sxv'#240'uzx'#242'v{y'#237'v{x'#230'uzw'
-  +#222'jnl'#201'SWU'#153'SWUiRVV;RRR'#25'fff'#5#255#255#255#0#255#255#255#0#255
+  +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#1'UUU'#3'@``'
+  +#8'NNN'#13'UUU'#18'QQQ'#22'YYY'#23'MYY'#20'UUU'#15'MfM'#10'fff'#5#128#128#128
+  +#2#0#0#0#1#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#1'UUU'#3'NbN'#13'R[R'#28'QQQ/SVVDRXUTRWTdQVSqSWUuSXVkSYV\TW'
+  +'TLUUU9SZS%MYY'#20'III'#7#0#0#0#1#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#128#128
+  +#128#2'III'#14'WWW)SVSSRVT'#130']^^'#179'pvs'#215'uyw'#226'uzx'#233'sxv'#240
+  +'uzx'#242'v{y'#237'v{x'#230'uzw'#222'jnl'#201'SWU'#153'SWUiRVV;RRR'#25'fff'#5
+  +#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'@@@'#4'UUU'#24'RXUKY\['#151
-  +#133#137#135#215#161#167#165#243#177#183#180#254#167#173#170#255#155#161#159
-  +#255#144#149#147#255#133#138#136#255#133#138#136#255#141#146#144#255#152#158
-  +#155#255#164#170#167#255#175#182#179#255#174#181#177#250#148#155#152#231'msq'
-  +#188'SWUoSYY+MMM'#10#0#0#0#1#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'UUU'#3'NX'
-  +'X'#26'TZW^lqn'#184#186#194#190#247#202#209#205#255#190#197#194#255#179#185
-  +#182#255#167#173#170#255#155#161#159#255#144#149#147#255#133#138#136#255#133
+  +#255#0'@@@'#4'UUU'#24'RXUKY\['#151#133#137#135#215#161#167#165#243#177#183
+  +#180#254#167#173#170#255#155#161#159#255#144#149#147#255#133#138#136#255#133
   +#138#136#255#141#146#144#255#152#158#155#255#164#170#167#255#175#182#179#255
-  +#187#194#190#255#198#206#202#255#206#214#210#254#148#155#152#222'SYW'#133'UZ'
-  +'U6UUU'#9#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'III'#14'SVVM{'#129'}'#189#202
-  +#210#206#253#207#215#211#255#202#209#205#255#190#197#194#255#179#185#182#255
-  +#167#173#170#255#155#161#159#255#144#149#147#255#133#138#136#255#133#138#136
-  +#255#141#146#144#255#152#158#155#255#164#170#167#255#175#182#179#255#187#194
-  +#190#255#198#206#202#255#207#215#211#255#207#215#211#255#172#179#175#234'TXV'
-  +#128'SZZ"UUU'#3#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#1'RRR'#28'RVT|'#176#183#179#236#207#215#211
-  +#255#207#215#211#255#202#209#205#255#190#197#194#255#179#185#182#255#167#173
-  +#170#255#155#161#159#255#144#149#147#255#133#138#136#255#132#137#135#255#139
-  +#144#142#255#150#156#153#255#163#169#166#255#174#181#178#255#187#194#190#255
-  +#198#206#202#255#207#215#211#255#207#215#211#255#206#214#210#255'lrm'#184'HK'
-  +'KGMMM'#10#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#1'PWW#_cb'#149#206#213#210#254#207#215#211#255#207
-  +#215#211#255#202#209#205#255#190#197#194#255#179#185#182#255#167#173#170#255
-  +#154#160#158#255#140#145#143#255#127#132#130#255's'#128'y'#255']'#131'm'#255
-  +'g'#138'v'#255#131#151#139#255#160#169#165#255#180#186#183#255#195#203#199
-  +#255#206#214#210#255#206#214#210#255#201#208#204#255'X'#132'c'#236'*x:'#221
-  +'333'#25#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#1'PWW#glj'#153#207#215#211#255#207#215#211#255#207#215
-  +#211#255#202#209#205#255#190#197#194#255#178#184#181#255#162#168#165#255#134
-  +#148#141#255'E'#135'd'#255','#145'Y'#255'%'#155'Y'#255'%'#154'V'#255'%'#152
-  +'T'#255'&'#151'R'#255''''#149'P'#255'>'#143'\'#255#141#169#151#255#197#205
-  +#201#255#201#209#205#255#149#175#157#255'*'#139'C'#255'*'#139'A'#255'$T,F'#0
-  +#0#0#2#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
-  +#0#0#0#1'UUU!fli'#147#207#215#211#255#207#215#211#255#207#215#211#255#202#209
-  +#205#255#189#196#193#255#166#174#170#255'W'#147'u'#255'&'#157'a'#255'"'#160
-  +'_'#255'#'#159']'#255'$'#157'['#255'$'#156'Y'#255'%'#154'V'#255'%'#153'T'#255
-  +'&'#151'R'#255'&'#150'P'#255''''#148'N'#255'F'#146'a'#255#140#168#150#255'6'
-  +#141'P'#255')'#142'F'#255'*'#140'D'#255'$i5'#143#0#0#0#6#255#255#255#0#255
-  +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#1'PXX hkj'#142#207
-  +#215#211#255#207#215#211#255#207#215#211#255#202#209#205#255#186#192#189#255
-  +'W'#155'z'#255'!'#165'e'#255'!'#164'c'#255'"'#162'a'#255'"'#160'_'#255'#'#159
-  +']'#255'#'#157'['#255'$'#156'Y'#255'%'#154'W'#255'%'#153'U'#255'&'#151'S'#255
-  +'&'#150'P'#255''''#148'N'#255''''#147'L'#255'('#145'J'#255'('#144'H'#255')'
-  +#142'F'#255'%y;'#202#0#0#0#9#255#255#255#0#255#255#255#0#255#255#255#0#255
-  +#255#255#0#255#255#255#0#0#0#0#1'UUU'#30'hml'#135#207#215#211#255#207#215#211
-  +#255#207#215#211#255#202#209#205#255#190#196#194#255'o'#166#141#255' '#167'h'
-  +#255'!'#165'f'#255'!'#164'd'#255'"'#162'a'#255'"'#161'_'#255'#'#158']'#255'$'
-  +#157'['#255'$'#156'Y'#255'$'#155'W'#255'%'#153'U'#255'&'#151'S'#255'&'#150'Q'
-  +#255''''#148'O'#255''''#147'M'#255'('#145'K'#255'('#144'I'#255''''#138'C'#246
-  +#0#14#14#18#0#0#0#1#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0
-  +#0#0#1'R[R'#28'jnn'#129#207#215#211#255#207#215#211#255#214#221#218#255#200
-  +#203#201#255#154#157#155#255'|'#128'|'#255'0'#149'f'#255' '#167'h'#255'!'#163
-  +'e'#255':'#137'c'#255']'#127'o'#255'z'#133#127#255'~'#136#129#255'b'#132'q'
-  +#255'4'#138'Z'#255'$'#155'W'#255'%'#153'U'#255'&'#152'S'#255'&'#150'Q'#255
-  +''''#149'O'#255''''#147'M'#255'('#146'K'#255'('#144'I'#255#28']/R'#0#0#0#3
-  +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#1'UUU'#27'jpo'
-  +'|'#207#215#211#255#218#223#221#255#171#175#173#255#178#185#181#255#189#196
-  +#193#255#178#184#181#255#144#160#153#255'Z'#147'y'#255'q'#137'~'#255#128#133
-  +#131#255#131#136#134#255#140#145#143#255#151#157#154#255#161#167#164#255#161
-  +#170#166#255'K'#148'l'#255'$'#155'X'#255'%'#153'V'#255'%'#152'S'#255'&'#150
-  +'Q'#255''''#149'O'#255''''#147'M'#255'('#146'K'#255#31'r:'#155#0#0#0#7#255
-  +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#1'R\R'#25'lqnu'
-  +#217#223#219#255#173#179#175#255#206#214#210#255#202#209#205#255#190#197#194
-  +#255#179#185#182#255#166#172#169#255#152#158#156#255#143#148#146#255#133#138
-  +#136#255#133#138#136#255#141#146#144#255#152#158#155#255#164#170#167#255#170
-  +#176#173#255'e'#151'|'#255'$'#157'Z'#255'$'#155'X'#255'%'#154'V'#255'%'#152
-  +'T'#255'&'#151'R'#255'&'#149'P'#255''''#148'N'#255'$'#131'D'#214#0#0#0#11#255
-  +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#1'YYY'#23'lsqo'
-  +#201#206#204#255#207#215#211#255#207#215#211#255#202#209#205#255#190#197#194
-  +#255#179#185#182#255#167#173#170#255#155#161#159#255#144#149#147#255#133#138
-  +#136#255#133#138#136#255#141#146#144#255#152#158#155#255#162#168#165#255#138
-  +#160#150#255''''#158'_'#255'#'#159'\'#255'$'#157'Z'#255'$'#155'X'#255'%'#154
-  +'V'#255'%'#152'T'#255'&'#151'R'#255'&'#149'P'#255'%'#142'K'#240#0#0#0#12#255
-  +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#1'QQQ'#22'cee`'
-  +#202#209#206#255#207#215#211#255#207#215#211#255#202#209#205#255#190#197#194
-  +#255#179#185#182#255#167#173#170#255#155#161#159#255#144#149#147#255#133#138
-  +#136#255#133#138#136#255#141#146#144#255#152#158#155#255#158#164#161#255'7'
-  +#153'i'#255'"'#162'a'#255'"'#160'_'#255'#'#159']'#255'$'#157'['#255'$'#156'Y'
-  +#255'%'#154'W'#255'%'#153'S'#254'$'#143'N'#239#30'x?'#153#0#0#0#7#255#255#255
-  +#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#1'YYY'#20'qssc'#207#215
-  +#211#255#207#215#211#255#207#215#211#255#202#209#205#255#190#197#194#255#179
-  +#185#182#255#167#173#170#255#155#161#159#255#144#149#147#255#133#138#136#255
-  +#133#138#136#255#141#146#144#255#152#158#155#255#158#163#160#255'3'#156'j'
-  +#255'5'#155'h'#255'G'#155'p'#255'\'#160'|'#255'r'#166#138#255#136#174#154#255
-  +#134#160#145#207'<K@D$$$'#21#0#0#0#7#0#0#0#1#255#255#255#0#255#255#255#0#255
-  ,#255#255#0#255#255#255#0#0#0#0#1'QQQ'#19'rwu]'#207#215#211#255#207#215#211
-  +#255#207#215#211#255#202#209#205#255#190#197#194#255#179#185#182#255#167#173
-  +#170#255#155#161#159#255#144#149#147#255#133#138#136#255#133#138#136#255#140
-  +#145#143#255#150#156#153#255#161#167#164#255#165#171#168#255#178#185#181#255
-  +#191#199#195#255#201#209#205#255#202#210#206#255#204#212#208#255#177#184#182
-  +#184'QQQ/UUU'#9#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#1'ZZZ'#17'tywW'#207#215#211#255#207#215#211
-  +#255#207#215#211#255#202#209#205#255#190#197#194#255#178#184#181#255#164#170
-  +#167#255#150#156#154#255#139#144#142#255#127#132#130#255'~'#131#129#255'~'
-  +#136#133#255't'#144#132#255'i'#150#130#255'`'#156#129#255#172#184#178#255#197
-  +#205#201#255#207#215#211#255#207#215#211#255#207#215#211#255#182#189#186#180
-  +'QWW)```'#8#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'UUU'#15'v||P'#207#215#211#255#207#215#211
-  +#255#207#215#211#255#202#209#205#255#189#196#193#255#165#175#170#255'_'#158
-  +#135#255'F'#156'|'#255'6'#157'v'#255'*'#163's'#255'"'#169's'#255#29#175's'
-  +#255#30#173'q'#255#30#172'o'#255#31#170'l'#255#138#171#156#255#196#204#200
-  +#255#207#215#211#255#207#215#211#255#207#215#211#255#184#192#188#176'SZS%ImI'
-  +#7#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[['#14'x'#127#127'K'#207#215#211#255#207#215#211
-  +#255#207#215#211#255#208#215#211#255#207#211#210#255'Q'#175#142#255#26#184
-  +#128#255#26#183'}'#255#27#181'{'#255#27#180'y'#255#28#178'w'#255#29#177'u'
-  +#255#29#175's'#255#30#174'q'#255'4'#150'k'#255#144#149#146#255#174#181#177
-  +#255#203#211#207#255#207#215#211#255#207#215#211#255#186#193#190#173'SSS"UUU'
-  +#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'UUU'#12'}'#132#128'D'#207#215#211#255#209#216#213
-  +#255#223#229#227#255#209#215#213#255#187#194#191#255'H'#168#135#255#25#186
-  +#130#255#26#184#128#255#26#183'~'#255#27#181'|'#255#27#180'z'#255#28#178'w'
-  +#255#28#177'u'#255'#'#168'r'#255#129#146#138#255#149#155#152#255#143#149#148
-  +#255#140#145#142#255#185#193#189#255#207#215#211#255#189#195#192#169'XXX'#29
-  +'UUU'#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'MfM'#10#128#136#132'?'#211#218#215#255#224#227
-  +#226#255#202#209#206#255#195#203#199#255#187#195#191#255'q'#169#150#255#25
-  +#188#132#255#25#186#130#255#26#185#128#255#26#183'~'#255#27#182'|'#255#27#180
-  +'z'#255#28#179'x'#255'A'#148't'#255#145#151#148#255#149#155#152#255#146#152
-  +#150#255#143#148#146#255#137#141#140#255#169#174#171#255#184#190#185#168'@@@'
-  +'$'''''''#13#0#0#0#1#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
-  +#255#255#255#0#255#255#255#0'UUU'#9#135#139#139'9'#223#227#225#255#203#210
-  +#207#255#199#206#203#255#195#203#199#255#190#197#193#255#162#179#172#255#25
-  +#188#134#255#24#188#133#255#25#186#130#255#26#185#128#255#26#183'~'#255#27
-  +#182'|'#255#27#180'z'#255#28#179'x'#255'I'#147'u'#255#140#146#143#255#142#147
-  +#145#255#139#143#141#255#133#138#136#255'u'#129'|'#255'D'#150'p'#225#30#161
-  +'c'#244#27#140'V'#186#0#0#0#12#0#0#0#1#255#255#255#0#255#255#255#0#255#255
-  +#255#0#255#255#255#0#255#255#255#0'III'#7#145#150#150'1'#220#225#223#255#203
-  +#210#207#255#199#206#203#255#195#203#199#255#191#199#195#255#180#187#183#255
-  +'+'#176#133#255#24#190#135#255#24#188#133#255#25#187#131#255#25#185#129#255
-  +#26#184#127#255#27#182'}'#255#27#181'z'#255#28#179'x'#255'%'#166'r'#255'8'
-  +#149'p'#255'@'#143'n'#255'0'#152'k'#255'!'#165'l'#255#31#170'l'#255' '#168'j'
-  +#255' '#167'h'#255#24'zK}'#0#0#0#5#255#255#255#0#255#255#255#0#255#255#255#0
-  +#255#255#255#0#255#255#255#0'fff'#5'YYY'#20#219#224#222#248#203#210#207#255
-  +#199#206#203#255#195#203#199#255#191#199#195#255#183#190#186#255'N'#168#139
-  +#255#23#191#137#255#24#190#135#255#24#188#133#255#25#187#131#255#25#185#129
-  +#255#26#184#127#255#26#182'}'#255#27#181'{'#255#28#179'y'#255#28#178'w'#255
-  +#29#176'u'#255#29#175'r'#255#30#173'p'#255#30#172'n'#255#31#170'l'#255#31#169
-  +'j'#255#30#156'b'#227#0#0#0#10#255#255#255#0#255#255#255#0#255#255#255#0#255
-  +#255#255#0#255#255#255#0#128#128#128#2'MMM'#10#216#220#218#151#205#211#208
-  +#255#199#206#203#255#195#203#199#255#191#199#195#255#185#192#188#255'{'#169
-  +#155#255#23#193#140#255#23#192#138#255#24#190#136#255'1'#167'~'#255#29#182
-  +#129#255#25#186#129#255#26#184#127#255#26#183'}'#255#27#181'{'#255#27#179'y'
-  +#255#28#178'w'#255#29#176'u'#255#29#175's'#255#30#173'q'#255#30#172'o'#255#31
-  +#167'k'#250#25#134'S'#145#0#0#0#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'UUU'#3'@``'#8#213#217#216#144#205
-  +#211#209#255#195#203#199#255#191#199#195#255#187#194#190#255#168#179#175#255
-  +#25#191#140#255#22#193#140#255','#175#133#255#153#161#158#255#142#158#152#255
-  +'F'#157#127#255#28#182#128#255#26#184#128#255#26#183'}'#255#27#181'{'#255#27
-  ,#180'y'#255#28#178'w'#255#29#177'u'#255#29#175'r'#254#26#148'`'#188#14'[:5'#0
-  +#0#0#8#0#0#0#1#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#255#255#1'UUU'#3#205#220#215'4'#208
-  +#214#211#222#198#206#202#254#188#195#191#255#177#184#181#255'3'#177#139#255
-  +#26#191#140#255#134#162#152#255#167#173#170#255#164#170#168#255#156#163#160
-  +#255#132#152#145#255'O'#152'~'#255'='#153'x'#255'-'#159'v'#253'$'#166'u'#242
-  +#23#151'g'#186#22#133'Z'#128#14'd@8'#0#0#0#10#0#0#0#2#255#255#255#0#255#255
+  +#174#181#177#250#148#155#152#231'msq'#188'SWUoSYY+MMM'#10#0#0#0#1#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'UUU'#3'NXX'#26'TZW^lqn'#184#186#194#190#247#202#209
+  +#205#255#190#197#194#255#179#185#182#255#167#173#170#255#155#161#159#255#144
+  +#149#147#255#133#138#136#255#133#138#136#255#141#146#144#255#152#158#155#255
+  +#164#170#167#255#175#182#179#255#187#194#190#255#198#206#202#255#206#214#210
+  +#254#148#155#152#222'SYW'#133'UZU6UUU'#9#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#1#0#0#0#1#0#0
-  +#0#1#201#205#201'p'#188#193#192#213#146#176#167#238#142#171#161#248#170#175
-  +#172#252#168#174#172#253#163#169#167#249#159#164#162#240#153#159#155#225#147
-  +#152#150#180'xxx$'#0#0#0#11#0#0#0#12#0#0#0#9#0#0#0#5#0#0#0#2#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
+  +'III'#14'SVVM{'#129'}'#189#202#210#206#253#207#215#211#255#202#209#205#255
+  +#190#197#194#255#179#185#182#255#167#173#170#255#155#161#159#255#144#149#147
+  +#255#133#138#136#255#133#138#136#255#141#146#144#255#152#158#155#255#164#170
+  +#167#255#175#182#179#255#187#194#190#255#198#206#202#255#207#215#211#255#207
+  +#215#211#255#172#179#175#234'TXV'#128'SZZ"UUU'#3#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#1'RRR'#28'RVT'
+  +'|'#176#183#179#236#207#215#211#255#207#215#211#255#202#209#205#255#190#197
+  +#194#255#179#185#182#255#167#173#170#255#155#161#159#255#144#149#147#255#133
+  +#138#136#255#132#137#135#255#139#144#142#255#150#156#153#255#163#169#166#255
+  +#174#181#178#255#187#194#190#255#198#206#202#255#207#215#211#255#207#215#211
+  +#255#206#214#210#255'lrm'#184'HKKGMMM'#10#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#1'PWW#_cb'#149#206#213
+  +#210#254#207#215#211#255#207#215#211#255#202#209#205#255#190#197#194#255#179
+  +#185#182#255#167#173#170#255#154#160#158#255#140#145#143#255#127#132#130#255
+  +'s'#128'y'#255']'#131'm'#255'g'#138'v'#255#131#151#139#255#160#169#165#255
+  +#180#186#183#255#195#203#199#255#206#214#210#255#206#214#210#255#201#208#204
+  +#255'X'#132'c'#236'*x:'#221'333'#25#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#1'PWW#glj'#153#207#215#211
+  +#255#207#215#211#255#207#215#211#255#202#209#205#255#190#197#194#255#178#184
+  +#181#255#162#168#165#255#134#148#141#255'E'#135'd'#255','#145'Y'#255'%'#155
+  +'Y'#255'%'#154'V'#255'%'#152'T'#255'&'#151'R'#255''''#149'P'#255'>'#143'\'
+  +#255#141#169#151#255#197#205#201#255#201#209#205#255#149#175#157#255'*'#139
+  +'C'#255'*'#139'A'#255'$T,F'#0#0#0#2#255#255#255#0#255#255#255#0#255#255#255#0
+  +#255#255#255#0#255#255#255#0#0#0#0#1'UUU!fli'#147#207#215#211#255#207#215#211
+  +#255#207#215#211#255#202#209#205#255#189#196#193#255#166#174#170#255'W'#147
+  +'u'#255'&'#157'a'#255'"'#160'_'#255'#'#159']'#255'$'#157'['#255'$'#156'Y'#255
+  +'%'#154'V'#255'%'#153'T'#255'&'#151'R'#255'&'#150'P'#255''''#148'N'#255'F'
+  +#146'a'#255#140#168#150#255'6'#141'P'#255')'#142'F'#255'*'#140'D'#255'$i5'
+  +#143#0#0#0#6#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+  +#255#0#0#0#0#1'PXX hkj'#142#207#215#211#255#207#215#211#255#207#215#211#255
+  +#202#209#205#255#186#192#189#255'W'#155'z'#255'!'#165'e'#255'!'#164'c'#255'"'
+  +#162'a'#255'"'#160'_'#255'#'#159']'#255'#'#157'['#255'$'#156'Y'#255'%'#154'W'
+  +#255'%'#153'U'#255'&'#151'S'#255'&'#150'P'#255''''#148'N'#255''''#147'L'#255
+  +'('#145'J'#255'('#144'H'#255')'#142'F'#255'%y;'#202#0#0#0#9#255#255#255#0#255
+  +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#1'UUU'#30'hml'#135
+  +#207#215#211#255#207#215#211#255#207#215#211#255#202#209#205#255#190#196#194
+  +#255'o'#166#141#255' '#167'h'#255'!'#165'f'#255'!'#164'd'#255'"'#162'a'#255
+  +'"'#161'_'#255'#'#158']'#255'$'#157'['#255'$'#156'Y'#255'$'#155'W'#255'%'#153
+  +'U'#255'&'#151'S'#255'&'#150'Q'#255''''#148'O'#255''''#147'M'#255'('#145'K'
+  +#255'('#144'I'#255''''#138'C'#246#0#14#14#18#0#0#0#1#255#255#255#0#255#255
+  +#255#0#255#255#255#0#255#255#255#0#0#0#0#1'R[R'#28'jnn'#129#207#215#211#255
+  +#207#215#211#255#214#221#218#255#200#203#201#255#154#157#155#255'|'#128'|'
+  +#255'0'#149'f'#255' '#167'h'#255'!'#163'e'#255':'#137'c'#255']'#127'o'#255'z'
+  +#133#127#255'~'#136#129#255'b'#132'q'#255'4'#138'Z'#255'$'#155'W'#255'%'#153
+  +'U'#255'&'#152'S'#255'&'#150'Q'#255''''#149'O'#255''''#147'M'#255'('#146'K'
+  +#255'('#144'I'#255#28']/R'#0#0#0#3#255#255#255#0#255#255#255#0#255#255#255#0
+  +#255#255#255#0#0#0#0#1'UUU'#27'jpo|'#207#215#211#255#218#223#221#255#171#175
+  +#173#255#178#185#181#255#189#196#193#255#178#184#181#255#144#160#153#255'Z'
+  +#147'y'#255'q'#137'~'#255#128#133#131#255#131#136#134#255#140#145#143#255#151
+  +#157#154#255#161#167#164#255#161#170#166#255'K'#148'l'#255'$'#155'X'#255'%'
+  +#153'V'#255'%'#152'S'#255'&'#150'Q'#255''''#149'O'#255''''#147'M'#255'('#146
+  +'K'#255#31'r:'#155#0#0#0#7#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+  +#255#0#0#0#0#1'R\R'#25'lqnu'#217#223#219#255#173#179#175#255#206#214#210#255
+  +#202#209#205#255#190#197#194#255#179#185#182#255#166#172#169#255#152#158#156
+  +#255#143#148#146#255#133#138#136#255#133#138#136#255#141#146#144#255#152#158
+  +#155#255#164#170#167#255#170#176#173#255'e'#151'|'#255'$'#157'Z'#255'$'#155
+  +'X'#255'%'#154'V'#255'%'#152'T'#255'&'#151'R'#255'&'#149'P'#255''''#148'N'
+  +#255'$'#131'D'#214#0#0#0#11#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+  +#255#0#0#0#0#1'YYY'#23'lsqo'#201#206#204#255#207#215#211#255#207#215#211#255
+  +#202#209#205#255#190#197#194#255#179#185#182#255#167#173#170#255#155#161#159
+  +#255#144#149#147#255#133#138#136#255#133#138#136#255#141#146#144#255#152#158
+  +#155#255#162#168#165#255#138#160#150#255''''#158'_'#255'#'#159'\'#255'$'#157
+  +'Z'#255'$'#155'X'#255'%'#154'V'#255'%'#152'T'#255'&'#151'R'#255'&'#149'P'#255
+  +'%'#142'K'#240#0#0#0#12#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
+  +#0#0#0#0#1'QQQ'#22'cee`'#202#209#206#255#207#215#211#255#207#215#211#255#202
+  +#209#205#255#190#197#194#255#179#185#182#255#167#173#170#255#155#161#159#255
+  +#144#149#147#255#133#138#136#255#133#138#136#255#141#146#144#255#152#158#155
+  +#255#158#164#161#255'7'#153'i'#255'"'#162'a'#255'"'#160'_'#255'#'#159']'#255
+  +'$'#157'['#255'$'#156'Y'#255'%'#154'W'#255'%'#153'S'#254'$'#143'N'#239#30'x?'
+  +#153#0#0#0#7#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#1
+  +'YYY'#20'qssc'#207#215#211#255#207#215#211#255#207#215#211#255#202#209#205
+  +#255#190#197#194#255#179#185#182#255#167#173#170#255#155#161#159#255#144#149
+  +#147#255#133#138#136#255#133#138#136#255#141#146#144#255#152#158#155#255#158
+  +#163#160#255'3'#156'j'#255'5'#155'h'#255'G'#155'p'#255'\'#160'|'#255'r'#166
+  +#138#255#136#174#154#255#134#160#145#207'<K@D$$$'#21#0#0#0#7#0#0#0#1#255#255
+  ,#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#1'QQQ'#19'rwu]'#207
+  +#215#211#255#207#215#211#255#207#215#211#255#202#209#205#255#190#197#194#255
+  +#179#185#182#255#167#173#170#255#155#161#159#255#144#149#147#255#133#138#136
+  +#255#133#138#136#255#140#145#143#255#150#156#153#255#161#167#164#255#165#171
+  +#168#255#178#185#181#255#191#199#195#255#201#209#205#255#202#210#206#255#204
+  +#212#208#255#177#184#182#184'QQQ/UUU'#9#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#1'ZZZ'#17'tywW'#207
+  +#215#211#255#207#215#211#255#207#215#211#255#202#209#205#255#190#197#194#255
+  +#178#184#181#255#164#170#167#255#150#156#154#255#139#144#142#255#127#132#130
+  +#255'~'#131#129#255'~'#136#133#255't'#144#132#255'i'#150#130#255'`'#156#129
+  +#255#172#184#178#255#197#205#201#255#207#215#211#255#207#215#211#255#207#215
+  +#211#255#182#189#186#180'QWW)```'#8#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'UUU'#15'v||P'#207
+  +#215#211#255#207#215#211#255#207#215#211#255#202#209#205#255#189#196#193#255
+  +#165#175#170#255'_'#158#135#255'F'#156'|'#255'6'#157'v'#255'*'#163's'#255'"'
+  +#169's'#255#29#175's'#255#30#173'q'#255#30#172'o'#255#31#170'l'#255#138#171
+  +#156#255#196#204#200#255#207#215#211#255#207#215#211#255#207#215#211#255#184
+  +#192#188#176'SZS%ImI'#7#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[['#14'x'#127#127'K'#207#215
+  +#211#255#207#215#211#255#207#215#211#255#208#215#211#255#207#211#210#255'Q'
+  +#175#142#255#26#184#128#255#26#183'}'#255#27#181'{'#255#27#180'y'#255#28#178
+  +'w'#255#29#177'u'#255#29#175's'#255#30#174'q'#255'4'#150'k'#255#144#149#146
+  +#255#174#181#177#255#203#211#207#255#207#215#211#255#207#215#211#255#186#193
+  +#190#173'SSS"UUU'#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'UUU'#12'}'#132#128'D'#207#215#211
+  +#255#209#216#213#255#223#229#227#255#209#215#213#255#187#194#191#255'H'#168
+  +#135#255#25#186#130#255#26#184#128#255#26#183'~'#255#27#181'|'#255#27#180'z'
+  +#255#28#178'w'#255#28#177'u'#255'#'#168'r'#255#129#146#138#255#149#155#152
+  +#255#143#149#148#255#140#145#142#255#185#193#189#255#207#215#211#255#189#195
+  +#192#169'XXX'#29'UUU'#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'MfM'#10#128#136#132'?'#211#218
+  +#215#255#224#227#226#255#202#209#206#255#195#203#199#255#187#195#191#255'q'
+  +#169#150#255#25#188#132#255#25#186#130#255#26#185#128#255#26#183'~'#255#27
+  +#182'|'#255#27#180'z'#255#28#179'x'#255'A'#148't'#255#145#151#148#255#149#155
+  +#152#255#146#152#150#255#143#148#146#255#137#141#140#255#169#174#171#255#184
+  +#190#185#168'@@@$'''''''#13#0#0#0#1#255#255#255#0#255#255#255#0#255#255#255#0
+  +#255#255#255#0#255#255#255#0#255#255#255#0'UUU'#9#135#139#139'9'#223#227#225
+  +#255#203#210#207#255#199#206#203#255#195#203#199#255#190#197#193#255#162#179
+  +#172#255#25#188#134#255#24#188#133#255#25#186#130#255#26#185#128#255#26#183
+  +'~'#255#27#182'|'#255#27#180'z'#255#28#179'x'#255'I'#147'u'#255#140#146#143
+  +#255#142#147#145#255#139#143#141#255#133#138#136#255'u'#129'|'#255'D'#150'p'
+  +#225#30#161'c'#244#27#140'V'#186#0#0#0#12#0#0#0#1#255#255#255#0#255#255#255#0
+  +#255#255#255#0#255#255#255#0#255#255#255#0'III'#7#145#150#150'1'#220#225#223
+  +#255#203#210#207#255#199#206#203#255#195#203#199#255#191#199#195#255#180#187
+  +#183#255'+'#176#133#255#24#190#135#255#24#188#133#255#25#187#131#255#25#185
+  +#129#255#26#184#127#255#27#182'}'#255#27#181'z'#255#28#179'x'#255'%'#166'r'
+  +#255'8'#149'p'#255'@'#143'n'#255'0'#152'k'#255'!'#165'l'#255#31#170'l'#255' '
+  +#168'j'#255' '#167'h'#255#24'zK}'#0#0#0#5#255#255#255#0#255#255#255#0#255#255
+  +#255#0#255#255#255#0#255#255#255#0'fff'#5'YYY'#20#219#224#222#248#203#210#207
+  +#255#199#206#203#255#195#203#199#255#191#199#195#255#183#190#186#255'N'#168
+  +#139#255#23#191#137#255#24#190#135#255#24#188#133#255#25#187#131#255#25#185
+  +#129#255#26#184#127#255#26#182'}'#255#27#181'{'#255#28#179'y'#255#28#178'w'
+  +#255#29#176'u'#255#29#175'r'#255#30#173'p'#255#30#172'n'#255#31#170'l'#255#31
+  +#169'j'#255#30#156'b'#227#0#0#0#10#255#255#255#0#255#255#255#0#255#255#255#0
+  +#255#255#255#0#255#255#255#0#128#128#128#2'MMM'#10#216#220#218#151#205#211
+  +#208#255#199#206#203#255#195#203#199#255#191#199#195#255#185#192#188#255'{'
+  +#169#155#255#23#193#140#255#23#192#138#255#24#190#136#255'1'#167'~'#255#29
+  +#182#129#255#25#186#129#255#26#184#127#255#26#183'}'#255#27#181'{'#255#27#179
+  +'y'#255#28#178'w'#255#29#176'u'#255#29#175's'#255#30#173'q'#255#30#172'o'#255
+  +#31#167'k'#250#25#134'S'#145#0#0#0#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'UUU'#3'@``'#8#213#217#216#144
+  +#205#211#209#255#195#203#199#255#191#199#195#255#187#194#190#255#168#179#175
+  +#255#25#191#140#255#22#193#140#255','#175#133#255#153#161#158#255#142#158#152
+  +#255'F'#157#127#255#28#182#128#255#26#184#128#255#26#183'}'#255#27#181'{'#255
+  ,#27#180'y'#255#28#178'w'#255#29#177'u'#255#29#175'r'#254#26#148'`'#188#14'[:'
+  +'5'#0#0#0#8#0#0#0#1#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#255#255#1'UUU'#3#205#220#215'4'
+  +#208#214#211#222#198#206#202#254#188#195#191#255#177#184#181#255'3'#177#139
+  +#255#26#191#140#255#134#162#152#255#167#173#170#255#164#170#168#255#156#163
+  +#160#255#132#152#145#255'O'#152'~'#255'='#153'x'#255'-'#159'v'#253'$'#166'u'
+  +#242#23#151'g'#186#22#133'Z'#128#14'd@8'#0#0#0#10#0#0#0#2#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#1#0#0#0
+  +#1#0#0#0#1#201#205#201'p'#188#193#192#213#146#176#167#238#142#171#161#248#170
+  +#175#172#252#168#174#172#253#163#169#167#249#159#164#162#240#153#159#155#225
+  +#147#152#150#180'xxx$'#0#0#0#11#0#0#0#12#0#0#0#9#0#0#0#5#0#0#0#2#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#2#0#0#0#2#255#255#255#0#255#255#255#0#255#255#255#0#255

+ 12 - 0
main.pas

@@ -135,6 +135,7 @@ type
     procedure FormActivate(Sender: TObject);
     procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
     procedure FormCreate(Sender: TObject);
+    procedure FormDestroy(Sender: TObject);
     procedure lmAddUserClick(Sender: TObject);
     procedure lmBackupClick(Sender: TObject);
     procedure lmChangePasswordClick(Sender: TObject);
@@ -215,6 +216,7 @@ type
     procedure InitNewGen(DatabaseIndex: Integer);
     function GetServerNameNode(ServerName: string): TTreeNode;
     function RemoveSpecialChars(AText: string): string;
+    // Remove RegisteredDatabases and clean up memory held by its objects
     procedure ReleaseRegisteredDatabases;
     procedure SetConnection(Index: Integer);
     procedure SetFocus; override; // solve a bug in Lazarus
@@ -290,6 +292,16 @@ begin
   StatusBar1.Panels[0].Text:= 'TurboBird for ' + Target + '-' + Arch;
 end;
 
+procedure TfmMain.FormDestroy(Sender: TObject);
+begin
+  // Clean up objects in registered database records
+  try
+    ReleaseRegisteredDatabases;
+  except
+    // Ignore exceptions/errors; just close
+  end;
+end;
+
 (*****************  Add New user  ***********************)
 
 procedure TfmMain.lmAddUserClick(Sender: TObject);

+ 1 - 1
systables.lfm

@@ -1,7 +1,7 @@
 object dmSysTables: TdmSysTables
   OldCreateOrder = False
   Height = 300
-  HorizontalOffset = 810
+  HorizontalOffset = 574
   VerticalOffset = 383
   Width = 400
   object sqQuery: TSQLQuery

+ 3 - 1
systables.lrs

@@ -1,6 +1,8 @@
+{ This is an automatically generated lazarus resource file }
+
 LazarusResources.Add('TdmSysTables','FORMDATA',[
   'TPF0'#12'TdmSysTables'#11'dmSysTables'#14'OldCreateOrder'#8#6'Height'#3','#1
-  +#16'HorizontalOffset'#3'*'#3#14'VerticalOffset'#3#127#1#5'Width'#3#144#1#0#9
+  +#16'HorizontalOffset'#3'>'#2#14'VerticalOffset'#3#127#1#5'Width'#3#144#1#0#9
   +'TSQLQuery'#7'sqQuery'#9'FieldDefs'#14#0#14'AutoCalcFields'#8#6'Params'#14#0
   +#4'left'#3#216#0#3'top'#2' '#0#0#0
 ]);

+ 8 - 8
systables.pas

@@ -281,9 +281,9 @@ begin
     'RDB$Update_Rule as UpdateRule, RDB$Delete_Rule as DeleteRule ' +
     'from RDB$RELATION_CONSTRAINTS Con, rdb$REF_Constraints Refc, RDB$INDEX_SEGMENTS Seg, ' +
     'RDB$INDICES Ind ' +
-    'where Con.RDB$COnstraint_Name = Refc.RDB$Const_Name_UQ ' +
-    '  and Refc.RDB$COnstraint_Name = Ind.RDB$Index_Name' +
-    '  and Refc.RDB$COnstraint_Name = Seg.RDB$Index_Name' +
+    'where Con.RDB$Constraint_Name = Refc.RDB$Const_Name_UQ ' +
+    '  and Refc.RDB$Constraint_Name = Ind.RDB$Index_Name' +
+    '  and Refc.RDB$Constraint_Name = Seg.RDB$Index_Name' +
     '  and Ind.RDB$Relation_Name = ''' + UpperCase(ATableName) + '''';
   SqlQuery.Open;
   Result:= SqlQuery.RecordCount > 0;
@@ -768,11 +768,11 @@ begin
     Result:= True;
 
   except
-  on e: exception do
-  begin
-    ErrorMsg:= e.Message;
-    Result:= False;
-  end;
+    on e: exception do
+    begin
+      ErrorMsg:= e.Message;
+      Result:= False;
+    end;
   end;
 end;