diff --git a/Client/CentrED.lpi b/Client/CentrED.lpi
index 7821b5a..076f0fa 100644
--- a/Client/CentrED.lpi
+++ b/Client/CentrED.lpi
@@ -55,7 +55,7 @@
-
+
@@ -191,126 +191,119 @@
-
-
-
-
-
-
-
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
@@ -353,7 +346,7 @@
+#-dNoLogging"/>
diff --git a/Client/CentrED.lpr b/Client/CentrED.lpr
index eccb8ac..c529ee7 100644
--- a/Client/CentrED.lpr
+++ b/Client/CentrED.lpr
@@ -1,61 +1,61 @@
-(*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at
- * http://www.opensource.org/licenses/cddl1.php.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at
- * http://www.opensource.org/licenses/cddl1.php. If applicable,
- * add the following below this CDDL HEADER, with the fields enclosed
- * by brackets "[]" replaced with your own identifying * information:
- * Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- *
- *
- * Portions Copyright 2009 Andreas Schneider
- *)
-program CentrED;
-
-{$mode objfpc}{$H+}
-
-uses
- {$IFDEF UNIX}{$IFDEF UseCThreads}
- cthreads,
- {$ENDIF}{$ENDIF}
- SysUtils,
- Interfaces, // this includes the LCL widgetset
- Forms, LResources, lnetvisual, LazOpenGLContext, UdmNetwork, UfrmMain,
- UfrmLogin, UfrmInitialize, UfrmAccountControl, virtualtreeview_package,
- multiloglaz, UfrmEditAccount, UfrmDrawSettings, UfrmBoundaries,
- UfrmElevateSettings, UOverlayUI, UResourceManager, UfrmConfirmation,
- UfrmMoveSettings, UfrmAbout, UfrmHueSettings, UfrmRadar,
- UfrmLargeScaleCommand, UfrmVirtualLayer, UfrmFilter, UfrmTileInfo,
- UGUIPlatformUtils, UPlatformTypes, UfrmRegionControl, UPackets,
- UPacketHandlers, UAdminHandling, UGameResources, ULandscape, UfrmToolWindow,
- Logging, UTileDataProvider, UMap, UWorldItem, UStatics, UTiledata, UAnimData,
- UGLFont, UAnimDataProvider, UMulManager, UArtProvider, UTexmapProvider;
-
-{$IFDEF WINDOWS}{$R CentrED.rc}{$ENDIF}
-
-function GetApplicationName: String;
-begin
- Result := 'CentrED';
-end;
-
-begin
- {$I CentrED.lrs}
- OnGetApplicationName := @GetApplicationName;
- Application.Initialize;
- Application.CreateForm(TdmNetwork, dmNetwork);
- Application.Run;
-end.
-
+(*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * http://www.opensource.org/licenses/cddl1.php.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * http://www.opensource.org/licenses/cddl1.php. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying * information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2009 Andreas Schneider
+ *)
+program CentrED;
+
+{$mode objfpc}{$H+}
+
+uses
+ {$IFDEF UNIX}{$IFDEF UseCThreads}
+ cthreads,
+ {$ENDIF}{$ENDIF}
+ SysUtils,
+ Interfaces, // this includes the LCL widgetset
+ Forms, LResources, lnetvisual, LazOpenGLContext, UdmNetwork, UfrmMain,
+ UfrmLogin, UfrmInitialize, UfrmAccountControl, virtualtreeview_package,
+ multiloglaz, UfrmEditAccount, UfrmDrawSettings, UfrmBoundaries,
+ UfrmElevateSettings, UOverlayUI, UResourceManager, UfrmConfirmation,
+ UfrmMoveSettings, UfrmAbout, UfrmHueSettings, UfrmRadar,
+ UfrmLargeScaleCommand, UfrmVirtualLayer, UfrmFilter,
+ UGUIPlatformUtils, UPlatformTypes, UfrmRegionControl, UPackets,
+ UPacketHandlers, UAdminHandling, UGameResources, ULandscape, UfrmToolWindow,
+ Logging, UTileDataProvider, UMap, UWorldItem, UStatics, UTiledata, UAnimData,
+ UGLFont, UAnimDataProvider, UMulManager, UArtProvider, UTexmapProvider;
+
+{$IFDEF WINDOWS}{$R CentrED.rc}{$ENDIF}
+
+function GetApplicationName: String;
+begin
+ Result := 'CentrED';
+end;
+
+begin
+ {$I CentrED.lrs}
+ OnGetApplicationName := @GetApplicationName;
+ Application.Initialize;
+ Application.CreateForm(TdmNetwork, dmNetwork);
+ Application.Run;
+end.
+
diff --git a/Client/Tools/UfrmFilter.lfm b/Client/Tools/UfrmFilter.lfm
index 8441d20..793c7fe 100644
--- a/Client/Tools/UfrmFilter.lfm
+++ b/Client/Tools/UfrmFilter.lfm
@@ -31,8 +31,8 @@ object frmFilter: TfrmFilter
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 2
- ClientHeight = 22
- ClientWidth = 220
+ ClientHeight = 26
+ ClientWidth = 222
Columns = 2
ItemIndex = 0
Items.Strings = (
@@ -50,8 +50,8 @@ object frmFilter: TfrmFilter
Align = alClient
BorderSpacing.Around = 4
Caption = 'Tile filter'
- ClientHeight = 241
- ClientWidth = 220
+ ClientHeight = 245
+ ClientWidth = 222
TabOrder = 1
object Label1: TLabel
AnchorSideLeft.Control = GroupBox1
@@ -60,9 +60,9 @@ object frmFilter: TfrmFilter
AnchorSideRight.Control = GroupBox1
AnchorSideRight.Side = asrBottom
Left = 4
- Height = 27
- Top = 27
- Width = 212
+ Height = 30
+ Top = 30
+ Width = 214
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 4
Caption = 'Drag and Drop static tiles from the tile list on this list to add them to the filter.'
@@ -79,7 +79,7 @@ object frmFilter: TfrmFilter
Left = 30
Height = 22
Hint = 'Clear'
- Top = 215
+ Top = 219
Width = 22
Anchors = [akLeft, akBottom]
Color = clBtnFace
@@ -131,7 +131,7 @@ object frmFilter: TfrmFilter
Left = 4
Height = 22
Hint = 'Delete'
- Top = 215
+ Top = 219
Width = 22
Anchors = [akLeft, akBottom]
BorderSpacing.Around = 4
@@ -187,12 +187,11 @@ object frmFilter: TfrmFilter
AnchorSideBottom.Control = btnDelete
Cursor = 63
Left = 4
- Height = 153
- Top = 58
- Width = 212
+ Height = 151
+ Top = 64
+ Width = 214
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 4
- BorderStyle = bsSingle
DefaultNodeHeight = 44
DragType = dtVCL
Header.AutoSizeIndex = 0
@@ -226,9 +225,9 @@ object frmFilter: TfrmFilter
AnchorSideLeft.Control = GroupBox1
AnchorSideTop.Control = GroupBox1
Left = 4
- Height = 19
+ Height = 22
Top = 4
- Width = 78
+ Width = 85
BorderSpacing.Around = 4
Caption = 'Filter active'
OnChange = cbTileFilterChange
@@ -243,14 +242,14 @@ object frmFilter: TfrmFilter
Align = alBottom
BorderSpacing.Around = 4
Caption = 'Hue filter'
- ClientHeight = 150
- ClientWidth = 220
+ ClientHeight = 154
+ ClientWidth = 222
TabOrder = 2
object cbHueFilter: TCheckBox
Left = 4
- Height = 19
+ Height = 22
Top = 4
- Width = 212
+ Width = 214
Align = alTop
BorderSpacing.Around = 4
Caption = 'Filter active'
@@ -260,12 +259,11 @@ object frmFilter: TfrmFilter
object vdtHues: TVirtualDrawTree
Cursor = 63
Left = 4
- Height = 119
- Top = 27
- Width = 212
+ Height = 120
+ Top = 30
+ Width = 214
Align = alClient
BorderSpacing.Around = 4
- BorderStyle = bsSingle
Header.AutoSizeIndex = 2
Header.Columns = <
item
@@ -280,7 +278,7 @@ object frmFilter: TfrmFilter
item
Position = 2
Text = 'Name'
- Width = 150
+ Width = 154
end>
Header.DefaultHeight = 17
Header.Options = [hoAutoResize, hoColumnResize, hoDrag, hoVisible]
diff --git a/Client/UdmNetwork.pas b/Client/UdmNetwork.pas
index a58b02b..8d2d6bb 100644
--- a/Client/UdmNetwork.pas
+++ b/Client/UdmNetwork.pas
@@ -1,371 +1,369 @@
-(*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at
- * http://www.opensource.org/licenses/cddl1.php.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at
- * http://www.opensource.org/licenses/cddl1.php. If applicable,
- * add the following below this CDDL HEADER, with the fields enclosed
- * by brackets "[]" replaced with your own identifying * information:
- * Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- *
- *
- * Portions Copyright 2009 Andreas Schneider
- *)
-unit UdmNetwork;
-
-{$mode objfpc}{$H+}
-
-interface
-
-uses
- Classes, SysUtils, LResources, Forms, Controls, Dialogs, lNetComponents, lNet,
- UEnhancedMemoryStream, UPacket, UEnums, ExtCtrls, dateutils;
-
-type
-
- { TdmNetwork }
-
- TdmNetwork = class(TDataModule)
- TCPClient: TLTCPComponent;
- tmNoOp: TTimer;
- procedure DataModuleCreate(Sender: TObject);
- procedure DataModuleDestroy(Sender: TObject);
- procedure TCPClientConnect(aSocket: TLSocket);
- procedure TCPClientDisconnect(aSocket: TLSocket);
- procedure TCPClientError(const msg: string; aSocket: TLSocket);
- procedure TCPClientReceive(aSocket: TLSocket);
- procedure tmNoOpStartTimer(Sender: TObject);
- procedure tmNoOpTimer(Sender: TObject);
- protected
- FSendQueue: TEnhancedMemoryStream;
- FReceiveQueue: TEnhancedMemoryStream;
- FUsername: string;
- FPassword: string;
- FAccessLevel: TAccessLevel;
- FDataDir: string;
- FLastPacket: TDateTime;
- procedure OnCanSend(ASocket: TLSocket);
- procedure OnConnectionHandlingPacket(ABuffer: TEnhancedMemoryStream);
- procedure ProcessQueue;
- procedure DoLogin;
- public
- property Username: string read FUsername;
- property AccessLevel: TAccessLevel read FAccessLevel write FAccessLevel;
- procedure Send(APacket: TPacket);
- procedure Disconnect;
- procedure CheckClose(ASender: TForm);
- end;
-
-var
- dmNetwork: TdmNetwork;
-
-implementation
-
-uses
- UPacketHandlers, UPackets, UfrmMain, UfrmLogin, UfrmInitialize,
- UGameResources, UfrmAccountControl, UfrmEditAccount, UfrmDrawSettings,
- UfrmBoundaries, UfrmElevateSettings, UfrmConfirmation, UfrmMoveSettings,
- UfrmAbout, UfrmHueSettings, UfrmRadar, UfrmLargeScaleCommand,
- UfrmVirtualLayer, UfrmFilter, UfrmTileInfo, UfrmRegionControl;
-
-{$I version.inc}
-
-{ TdmNetwork }
-
-procedure TdmNetwork.DataModuleCreate(Sender: TObject);
-begin
- FSendQueue := TEnhancedMemoryStream.Create;
- FReceiveQueue := TEnhancedMemoryStream.Create;
- TCPClient.OnCanSend := @OnCanSend;
- PacketHandlers[$02] := TPacketHandler.Create(0, @OnConnectionHandlingPacket);
- DoLogin;
-end;
-
-procedure TdmNetwork.DataModuleDestroy(Sender: TObject);
-begin
- FreeAndNil(FSendQueue);
- FreeAndNil(FReceiveQueue);
- FreeAndNil(PacketHandlers[$02]);
-end;
-
-procedure TdmNetwork.TCPClientConnect(aSocket: TLSocket);
-begin
- FSendQueue.Clear;
- FReceiveQueue.Clear;
-end;
-
-procedure TdmNetwork.TCPClientDisconnect(aSocket: TLSocket);
-begin
- FSendQueue.Clear;
- FReceiveQueue.Clear;
- DoLogin;
-end;
-
-procedure TdmNetwork.TCPClientError(const msg: string; aSocket: TLSocket);
-begin
- MessageDlg('Connection error', msg, mtError, [mbOK], 0);
- if not TCPClient.Connected then
- TCPClientDisconnect(aSocket);
-end;
-
-procedure TdmNetwork.TCPClientReceive(aSocket: TLSocket);
-var
- buffer: array[0..4095] of byte;
- size: Integer;
-begin
- repeat
- size := TCPClient.Get(buffer, 4096);
- if size > 0 then
- FReceiveQueue.Enqueue(buffer, size);
- until size <= 0;
- ProcessQueue;
-end;
-
-procedure TdmNetwork.tmNoOpStartTimer(Sender: TObject);
-begin
- FLastPacket := Now;
-end;
-
-procedure TdmNetwork.tmNoOpTimer(Sender: TObject);
-begin
- if SecondsBetween(FLastPacket, Now) > 25 then
- Send(TNoOpPacket.Create);
-end;
-
-procedure TdmNetwork.OnCanSend(ASocket: TLSocket);
-var
- size: Integer;
-begin
- while FSendQueue.Size > 0 do
- begin
- FLastPacket := Now;
- size := TCPClient.Send(FSendQueue.Memory^, FSendQueue.Size);
- if size > 0 then
- FSendQueue.Dequeue(size)
- else
- Break;
- end;
-end;
-
-procedure TdmNetwork.OnConnectionHandlingPacket(ABuffer: TEnhancedMemoryStream);
-var
- subID: Byte;
- loginState: TLoginState;
- width, height: Word;
- serverState: TServerState;
-begin
- subID := ABuffer.ReadByte;
- case subID of
- $01:
- begin
- if ABuffer.ReadCardinal = ProtocolVersion then
- begin
- frmInitialize.lblStatus.Caption := 'Authenticating';
- Send(TLoginRequestPacket.Create(FUsername, FPassword));
- end else
- begin
- MessageDlg('Error', 'Invalid protocol version. Maybe your client is outdated.', mtError, [mbOK], 0);
- Disconnect;
- end;
- end;
- $03:
- begin
- loginState := TLoginState(ABuffer.ReadByte);
- if loginState = lsOK then
- begin
- frmInitialize.lblStatus.Caption := 'Initializing';
- frmInitialize.Repaint;
- frmInitialize.lblStatus.Repaint;
- Application.ProcessMessages;
- FAccessLevel := TAccessLevel(ABuffer.ReadByte);
- InitGameResourceManager(FDataDir);
- width := ABuffer.ReadWord;
- height := ABuffer.ReadWord;
- ResMan.InitLandscape(width, height);
- ResMan.Landscape.UpdateWriteMap(ABuffer);
-
- frmMain := TfrmMain.Create(dmNetwork);
- frmRadarMap := TfrmRadarMap.Create(frmMain);
- frmLargeScaleCommand := TfrmLargeScaleCommand.Create(frmMain);
- frmRegionControl := TfrmRegionControl.Create(frmMain);
- frmAccountControl := TfrmAccountControl.Create(frmMain);
- frmEditAccount := TfrmEditAccount.Create(frmAccountControl);
- frmConfirmation := TfrmConfirmation.Create(frmMain);
- frmDrawSettings := TfrmDrawSettings.Create(frmMain);
- frmMoveSettings := TfrmMoveSettings.Create(frmMain);
- frmElevateSettings := TfrmElevateSettings.Create(frmMain);
- frmHueSettings := TfrmHueSettings.Create(frmMain);
- frmBoundaries := TfrmBoundaries.Create(frmMain);
- frmFilter := TfrmFilter.Create(frmMain);
- frmVirtualLayer := TfrmVirtualLayer.Create(frmMain);
- frmAbout := TfrmAbout.Create(frmMain);
- frmTileInfo := TfrmTileInfo.Create(frmMain);
- frmMain.Show;
- frmInitialize.Hide;
- tmNoOp.Enabled := True;
- end else
- begin
- if loginState = lsInvalidUser then
- MessageDlg('Error', 'The username you specified is incorrect.', mtWarning, [mbOK], 0)
- else if loginState = lsInvalidPassword then
- MessageDlg('Error', 'The password you specified is incorrect.', mtWarning, [mbOK], 0)
- else if loginState = lsAlreadyLoggedIn then
- MessageDlg('Error', 'There is already a client logged in using that account.', mtWarning, [mbOK], 0)
- else if loginState = lsNoAccess then
- MessageDlg('Error', 'This account has no access.', mtWarning, [mbOK], 0);
- end;
- end;
- $04: //Server state
- begin
- serverState := TServerState(ABuffer.ReadByte);
- if serverState = ssRunning then
- begin
- frmInitialize.UnsetModal;
- frmInitialize.Hide;
- tmNoOp.Enabled := True;
- end else
- begin
- case serverState of
- ssFrozen: frmInitialize.lblStatus.Caption := 'The server is currently paused.';
- ssOther: frmInitialize.lblStatus.Caption := ABuffer.ReadStringNull
- end;
- tmNoOp.Enabled := False;
- frmInitialize.Show;
- frmInitialize.SetModal;
- end;
- end;
- end;
-end;
-
-procedure TdmNetwork.ProcessQueue;
-var
- packetHandler: TPacketHandler;
- size: Cardinal;
-begin
- FReceiveQueue.Position := 0;
- while FReceiveQueue.Size >= 1 do
- begin
- packetHandler := PacketHandlers[FReceiveQueue.ReadByte];
- if packetHandler <> nil then
- begin
- size := packetHandler.PacketLength;
- if size = 0 then
- begin
- if FReceiveQueue.Size > 5 then
- size := FReceiveQueue.ReadCardinal
- else
- Break; //wait for more data
- end;
-
- if FReceiveQueue.Size >= size then
- begin
- FReceiveQueue.Lock(FReceiveQueue.Position, size - FReceiveQueue.Position); //prevent handler from reading too much
- packetHandler.Process(FReceiveQueue);
- FReceiveQueue.Unlock;
- FReceiveQueue.Dequeue(size);
- end else
- Break; //wait for more data
- end else
- begin
- {Writeln('Dropping client due to unknown packet: ', ANetState.Socket.PeerAddress);}
- Disconnect;
- FReceiveQueue.Clear;
- end;
- end;
-end;
-
-procedure TdmNetwork.DoLogin;
-begin
- tmNoOp.Enabled := False;
- frmLogin := TfrmLogin.Create(dmNetwork);
- if frmInitialize = nil then
- frmInitialize := TfrmInitialize.Create(dmNetwork);
-
- FreeAndNil(frmTileInfo);
- FreeAndNil(frmEditAccount);
- FreeAndNil(frmAccountControl);
- FreeAndNil(frmConfirmation);
- FreeAndNil(frmDrawSettings);
- FreeAndNil(frmMoveSettings);
- FreeAndNil(frmElevateSettings);
- FreeAndNil(frmHueSettings);
- FreeAndNil(frmBoundaries);
- FreeAndNil(frmFilter);
- FreeAndNil(frmVirtualLayer);
- FreeAndNil(frmAbout);
- FreeAndNil(frmRegionControl);
- FreeAndNil(frmLargeScaleCommand);
- FreeAndNil(frmRadarMap);
-
- if frmMain <> nil then
- begin
- frmMain.ApplicationProperties1.OnIdle := nil;
- FreeAndNil(frmMain);
- end;
-
- FreeAndNil(GameResourceManager);
-
- frmInitialize.Hide;
- while frmLogin.ShowModal = mrOK do
- begin
- if TCPClient.Connect(frmLogin.edHost.Text, frmLogin.edPort.Value) then
- begin
- FUsername := frmLogin.edUsername.Text;
- FPassword := frmLogin.edPassword.Text;
- FDataDir := frmLogin.edData.Text;
- frmInitialize.lblStatus.Caption := 'Connecting';
- frmInitialize.Show;
- Break;
- end else
- MessageDlg('Error', 'Cannot connect to the specified server.', mtError, [mbOK], 0);
- end;
- frmLogin.Close;
- FreeAndNil(frmLogin);
-end;
-
-procedure TdmNetwork.Send(APacket: TPacket);
-var
- source: TEnhancedMemoryStream;
-begin
- if TCPClient.Connected then
- begin
- FSendQueue.Seek(0, soFromEnd);
- source := APacket.Stream;
- FSendQueue.CopyFrom(source, 0);
- OnCanSend(nil);
- end;
- APacket.Free;
-end;
-
-procedure TdmNetwork.Disconnect;
-begin
- Send(TQuitPacket.Create);
-end;
-
-procedure TdmNetwork.CheckClose(ASender: TForm);
-begin
- if ((frmLogin = nil) or (ASender = frmLogin)) and
- ((frmMain = nil) or (ASender = frmMain)) and
- ((frmInitialize = nil) or (not frmInitialize.Visible)) then
- begin
- Application.Terminate;
- end;
-end;
-
-initialization
- {$I UdmNetwork.lrs}
-
-end.
-
+(*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * http://www.opensource.org/licenses/cddl1.php.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * http://www.opensource.org/licenses/cddl1.php. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying * information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2009 Andreas Schneider
+ *)
+unit UdmNetwork;
+
+{$mode objfpc}{$H+}
+
+interface
+
+uses
+ Classes, SysUtils, LResources, Forms, Controls, Dialogs, lNetComponents, lNet,
+ UEnhancedMemoryStream, UPacket, UEnums, ExtCtrls, dateutils;
+
+type
+
+ { TdmNetwork }
+
+ TdmNetwork = class(TDataModule)
+ TCPClient: TLTCPComponent;
+ tmNoOp: TTimer;
+ procedure DataModuleCreate(Sender: TObject);
+ procedure DataModuleDestroy(Sender: TObject);
+ procedure TCPClientConnect(aSocket: TLSocket);
+ procedure TCPClientDisconnect(aSocket: TLSocket);
+ procedure TCPClientError(const msg: string; aSocket: TLSocket);
+ procedure TCPClientReceive(aSocket: TLSocket);
+ procedure tmNoOpStartTimer(Sender: TObject);
+ procedure tmNoOpTimer(Sender: TObject);
+ protected
+ FSendQueue: TEnhancedMemoryStream;
+ FReceiveQueue: TEnhancedMemoryStream;
+ FUsername: string;
+ FPassword: string;
+ FAccessLevel: TAccessLevel;
+ FDataDir: string;
+ FLastPacket: TDateTime;
+ procedure OnCanSend(ASocket: TLSocket);
+ procedure OnConnectionHandlingPacket(ABuffer: TEnhancedMemoryStream);
+ procedure ProcessQueue;
+ procedure DoLogin;
+ public
+ property Username: string read FUsername;
+ property AccessLevel: TAccessLevel read FAccessLevel write FAccessLevel;
+ procedure Send(APacket: TPacket);
+ procedure Disconnect;
+ procedure CheckClose(ASender: TForm);
+ end;
+
+var
+ dmNetwork: TdmNetwork;
+
+implementation
+
+uses
+ UPacketHandlers, UPackets, UfrmMain, UfrmLogin, UfrmInitialize,
+ UGameResources, UfrmAccountControl, UfrmEditAccount, UfrmDrawSettings,
+ UfrmBoundaries, UfrmElevateSettings, UfrmConfirmation, UfrmMoveSettings,
+ UfrmAbout, UfrmHueSettings, UfrmRadar, UfrmLargeScaleCommand,
+ UfrmVirtualLayer, UfrmFilter, UfrmRegionControl;
+
+{$I version.inc}
+
+{ TdmNetwork }
+
+procedure TdmNetwork.DataModuleCreate(Sender: TObject);
+begin
+ FSendQueue := TEnhancedMemoryStream.Create;
+ FReceiveQueue := TEnhancedMemoryStream.Create;
+ TCPClient.OnCanSend := @OnCanSend;
+ PacketHandlers[$02] := TPacketHandler.Create(0, @OnConnectionHandlingPacket);
+ DoLogin;
+end;
+
+procedure TdmNetwork.DataModuleDestroy(Sender: TObject);
+begin
+ FreeAndNil(FSendQueue);
+ FreeAndNil(FReceiveQueue);
+ FreeAndNil(PacketHandlers[$02]);
+end;
+
+procedure TdmNetwork.TCPClientConnect(aSocket: TLSocket);
+begin
+ FSendQueue.Clear;
+ FReceiveQueue.Clear;
+end;
+
+procedure TdmNetwork.TCPClientDisconnect(aSocket: TLSocket);
+begin
+ FSendQueue.Clear;
+ FReceiveQueue.Clear;
+ DoLogin;
+end;
+
+procedure TdmNetwork.TCPClientError(const msg: string; aSocket: TLSocket);
+begin
+ MessageDlg('Connection error', msg, mtError, [mbOK], 0);
+ if not TCPClient.Connected then
+ TCPClientDisconnect(aSocket);
+end;
+
+procedure TdmNetwork.TCPClientReceive(aSocket: TLSocket);
+var
+ buffer: array[0..4095] of byte;
+ size: Integer;
+begin
+ repeat
+ size := TCPClient.Get(buffer, 4096);
+ if size > 0 then
+ FReceiveQueue.Enqueue(buffer, size);
+ until size <= 0;
+ ProcessQueue;
+end;
+
+procedure TdmNetwork.tmNoOpStartTimer(Sender: TObject);
+begin
+ FLastPacket := Now;
+end;
+
+procedure TdmNetwork.tmNoOpTimer(Sender: TObject);
+begin
+ if SecondsBetween(FLastPacket, Now) > 25 then
+ Send(TNoOpPacket.Create);
+end;
+
+procedure TdmNetwork.OnCanSend(ASocket: TLSocket);
+var
+ size: Integer;
+begin
+ while FSendQueue.Size > 0 do
+ begin
+ FLastPacket := Now;
+ size := TCPClient.Send(FSendQueue.Memory^, FSendQueue.Size);
+ if size > 0 then
+ FSendQueue.Dequeue(size)
+ else
+ Break;
+ end;
+end;
+
+procedure TdmNetwork.OnConnectionHandlingPacket(ABuffer: TEnhancedMemoryStream);
+var
+ subID: Byte;
+ loginState: TLoginState;
+ width, height: Word;
+ serverState: TServerState;
+begin
+ subID := ABuffer.ReadByte;
+ case subID of
+ $01:
+ begin
+ if ABuffer.ReadCardinal = ProtocolVersion then
+ begin
+ frmInitialize.lblStatus.Caption := 'Authenticating';
+ Send(TLoginRequestPacket.Create(FUsername, FPassword));
+ end else
+ begin
+ MessageDlg('Error', 'Invalid protocol version. Maybe your client is outdated.', mtError, [mbOK], 0);
+ Disconnect;
+ end;
+ end;
+ $03:
+ begin
+ loginState := TLoginState(ABuffer.ReadByte);
+ if loginState = lsOK then
+ begin
+ frmInitialize.lblStatus.Caption := 'Initializing';
+ frmInitialize.Repaint;
+ frmInitialize.lblStatus.Repaint;
+ Application.ProcessMessages;
+ FAccessLevel := TAccessLevel(ABuffer.ReadByte);
+ InitGameResourceManager(FDataDir);
+ width := ABuffer.ReadWord;
+ height := ABuffer.ReadWord;
+ ResMan.InitLandscape(width, height);
+ ResMan.Landscape.UpdateWriteMap(ABuffer);
+
+ frmMain := TfrmMain.Create(dmNetwork);
+ frmRadarMap := TfrmRadarMap.Create(frmMain);
+ frmLargeScaleCommand := TfrmLargeScaleCommand.Create(frmMain);
+ frmRegionControl := TfrmRegionControl.Create(frmMain);
+ frmAccountControl := TfrmAccountControl.Create(frmMain);
+ frmEditAccount := TfrmEditAccount.Create(frmAccountControl);
+ frmConfirmation := TfrmConfirmation.Create(frmMain);
+ frmDrawSettings := TfrmDrawSettings.Create(frmMain);
+ frmMoveSettings := TfrmMoveSettings.Create(frmMain);
+ frmElevateSettings := TfrmElevateSettings.Create(frmMain);
+ frmHueSettings := TfrmHueSettings.Create(frmMain);
+ frmBoundaries := TfrmBoundaries.Create(frmMain);
+ frmFilter := TfrmFilter.Create(frmMain);
+ frmVirtualLayer := TfrmVirtualLayer.Create(frmMain);
+ frmAbout := TfrmAbout.Create(frmMain);
+ frmMain.Show;
+ frmInitialize.Hide;
+ tmNoOp.Enabled := True;
+ end else
+ begin
+ if loginState = lsInvalidUser then
+ MessageDlg('Error', 'The username you specified is incorrect.', mtWarning, [mbOK], 0)
+ else if loginState = lsInvalidPassword then
+ MessageDlg('Error', 'The password you specified is incorrect.', mtWarning, [mbOK], 0)
+ else if loginState = lsAlreadyLoggedIn then
+ MessageDlg('Error', 'There is already a client logged in using that account.', mtWarning, [mbOK], 0)
+ else if loginState = lsNoAccess then
+ MessageDlg('Error', 'This account has no access.', mtWarning, [mbOK], 0);
+ end;
+ end;
+ $04: //Server state
+ begin
+ serverState := TServerState(ABuffer.ReadByte);
+ if serverState = ssRunning then
+ begin
+ frmInitialize.UnsetModal;
+ frmInitialize.Hide;
+ tmNoOp.Enabled := True;
+ end else
+ begin
+ case serverState of
+ ssFrozen: frmInitialize.lblStatus.Caption := 'The server is currently paused.';
+ ssOther: frmInitialize.lblStatus.Caption := ABuffer.ReadStringNull
+ end;
+ tmNoOp.Enabled := False;
+ frmInitialize.Show;
+ frmInitialize.SetModal;
+ end;
+ end;
+ end;
+end;
+
+procedure TdmNetwork.ProcessQueue;
+var
+ packetHandler: TPacketHandler;
+ size: Cardinal;
+begin
+ FReceiveQueue.Position := 0;
+ while FReceiveQueue.Size >= 1 do
+ begin
+ packetHandler := PacketHandlers[FReceiveQueue.ReadByte];
+ if packetHandler <> nil then
+ begin
+ size := packetHandler.PacketLength;
+ if size = 0 then
+ begin
+ if FReceiveQueue.Size > 5 then
+ size := FReceiveQueue.ReadCardinal
+ else
+ Break; //wait for more data
+ end;
+
+ if FReceiveQueue.Size >= size then
+ begin
+ FReceiveQueue.Lock(FReceiveQueue.Position, size - FReceiveQueue.Position); //prevent handler from reading too much
+ packetHandler.Process(FReceiveQueue);
+ FReceiveQueue.Unlock;
+ FReceiveQueue.Dequeue(size);
+ end else
+ Break; //wait for more data
+ end else
+ begin
+ {Writeln('Dropping client due to unknown packet: ', ANetState.Socket.PeerAddress);}
+ Disconnect;
+ FReceiveQueue.Clear;
+ end;
+ end;
+end;
+
+procedure TdmNetwork.DoLogin;
+begin
+ tmNoOp.Enabled := False;
+ frmLogin := TfrmLogin.Create(dmNetwork);
+ if frmInitialize = nil then
+ frmInitialize := TfrmInitialize.Create(dmNetwork);
+
+ FreeAndNil(frmEditAccount);
+ FreeAndNil(frmAccountControl);
+ FreeAndNil(frmConfirmation);
+ FreeAndNil(frmDrawSettings);
+ FreeAndNil(frmMoveSettings);
+ FreeAndNil(frmElevateSettings);
+ FreeAndNil(frmHueSettings);
+ FreeAndNil(frmBoundaries);
+ FreeAndNil(frmFilter);
+ FreeAndNil(frmVirtualLayer);
+ FreeAndNil(frmAbout);
+ FreeAndNil(frmRegionControl);
+ FreeAndNil(frmLargeScaleCommand);
+ FreeAndNil(frmRadarMap);
+
+ if frmMain <> nil then
+ begin
+ frmMain.ApplicationProperties1.OnIdle := nil;
+ FreeAndNil(frmMain);
+ end;
+
+ FreeAndNil(GameResourceManager);
+
+ frmInitialize.Hide;
+ while frmLogin.ShowModal = mrOK do
+ begin
+ if TCPClient.Connect(frmLogin.edHost.Text, frmLogin.edPort.Value) then
+ begin
+ FUsername := frmLogin.edUsername.Text;
+ FPassword := frmLogin.edPassword.Text;
+ FDataDir := frmLogin.edData.Text;
+ frmInitialize.lblStatus.Caption := 'Connecting';
+ frmInitialize.Show;
+ Break;
+ end else
+ MessageDlg('Error', 'Cannot connect to the specified server.', mtError, [mbOK], 0);
+ end;
+ frmLogin.Close;
+ FreeAndNil(frmLogin);
+end;
+
+procedure TdmNetwork.Send(APacket: TPacket);
+var
+ source: TEnhancedMemoryStream;
+begin
+ if TCPClient.Connected then
+ begin
+ FSendQueue.Seek(0, soFromEnd);
+ source := APacket.Stream;
+ FSendQueue.CopyFrom(source, 0);
+ OnCanSend(nil);
+ end;
+ APacket.Free;
+end;
+
+procedure TdmNetwork.Disconnect;
+begin
+ Send(TQuitPacket.Create);
+end;
+
+procedure TdmNetwork.CheckClose(ASender: TForm);
+begin
+ if ((frmLogin = nil) or (ASender = frmLogin)) and
+ ((frmMain = nil) or (ASender = frmMain)) and
+ ((frmInitialize = nil) or (not frmInitialize.Visible)) then
+ begin
+ Application.Terminate;
+ end;
+end;
+
+initialization
+ {$I UdmNetwork.lrs}
+
+end.
+
diff --git a/Client/UfrmLargeScaleCommand.lfm b/Client/UfrmLargeScaleCommand.lfm
index 374cf46..bccba11 100644
--- a/Client/UfrmLargeScaleCommand.lfm
+++ b/Client/UfrmLargeScaleCommand.lfm
@@ -1089,7 +1089,6 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
Width = 144
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Bottom = 4
- BorderStyle = bsSingle
DefaultText = 'Node'
Header.AutoSizeIndex = 0
Header.Columns = <>
@@ -1132,7 +1131,7 @@ object frmLargeScaleCommand: TfrmLargeScaleCommand
item
Position = 0
Text = 'Actions'
- Width = 152
+ Width = 148
end>
Header.DefaultHeight = 17
Header.Options = [hoAutoResize, hoVisible]
diff --git a/Client/UfrmMain.lfm b/Client/UfrmMain.lfm
index c48ef33..aa4e658 100644
--- a/Client/UfrmMain.lfm
+++ b/Client/UfrmMain.lfm
@@ -1,2653 +1,2650 @@
-object frmMain: TfrmMain
- Left = 257
- Height = 579
- Top = 135
- Width = 755
- ActiveControl = oglGameWindow
- Caption = 'UO CentrED'
- ClientHeight = 556
- ClientWidth = 755
- Constraints.MinHeight = 500
- Constraints.MinWidth = 750
- Font.Height = -11
- Menu = MainMenu1
- OnActivate = FormActivate
- OnClose = FormClose
- OnCreate = FormCreate
- OnDestroy = FormDestroy
- Position = poScreenCenter
- SessionProperties = 'acFlat.Checked;acNoDraw.Checked;Height;Left;mnuFlatShowHeight.Checked;mnuSecurityQuestion.Checked;mnuShowAnimations.Checked;tbStatics.Down;tbTerrain.Down;Top;Width;WindowState;spTileList.Top'
- ShowInTaskBar = stAlways
- LCLVersion = '0.9.29'
- WindowState = wsMaximized
- object pnlBottom: TPanel
- Left = 0
- Height = 31
- Top = 525
- Width = 755
- Align = alBottom
- BevelOuter = bvNone
- ClientHeight = 31
- ClientWidth = 755
- TabOrder = 0
- object lblX: TLabel
- Left = 11
- Height = 14
- Top = 7
- Width = 11
- Caption = 'X:'
- ParentColor = False
- end
- object lblY: TLabel
- Left = 88
- Height = 14
- Top = 7
- Width = 10
- Caption = 'Y:'
- ParentColor = False
- end
- object lblTileInfo: TLabel
- Left = 240
- Height = 14
- Top = 7
- Width = 4
- Caption = ' '
- ParentColor = False
- end
- object lblTip: TLabel
- Left = 517
- Height = 31
- Top = 0
- Width = 230
- Align = alRight
- Alignment = taRightJustify
- BorderSpacing.Right = 8
- Caption = 'Right click shows a menu with all the tools.'
- Layout = tlCenter
- ParentColor = False
- end
- object lblTipC: TLabel
- Left = 487
- Height = 31
- Top = 0
- Width = 30
- Align = alRight
- Caption = 'Tip: '
- Font.Height = -11
- Font.Style = [fsBold]
- Layout = tlCenter
- ParentColor = False
- ParentFont = False
- end
- object edX: TSpinEdit
- Left = 24
- Height = 19
- Top = 3
- Width = 55
- MaxValue = 100000
- TabOrder = 0
- end
- object edY: TSpinEdit
- Left = 104
- Height = 19
- Top = 3
- Width = 52
- MaxValue = 100000
- TabOrder = 1
- end
- object btnGoTo: TButton
- Left = 168
- Height = 23
- Top = 3
- Width = 51
- BorderSpacing.InnerBorder = 4
- Caption = 'GoTo'
- OnClick = btnGoToClick
- TabOrder = 2
- end
- end
- object pcLeft: TPageControl
- Left = 0
- Height = 501
- Top = 24
- Width = 224
- ActivePage = tsTiles
- Align = alLeft
- TabIndex = 0
- TabOrder = 1
- object tsTiles: TTabSheet
- Caption = 'Tiles'
- ClientHeight = 468
- ClientWidth = 218
- object lblFilter: TLabel
- AnchorSideLeft.Control = cbTerrain
- AnchorSideLeft.Side = asrBottom
- AnchorSideTop.Control = cbTerrain
- Left = 81
- Height = 14
- Top = 8
- Width = 30
- BorderSpacing.Left = 16
- Caption = 'Filter:'
- ParentColor = False
- end
- object vdtTiles: TVirtualDrawTree
- Tag = 1
- AnchorSideLeft.Control = tsTiles
- AnchorSideTop.Control = cbStatics
- AnchorSideTop.Side = asrBottom
- AnchorSideRight.Control = tsTiles
- AnchorSideRight.Side = asrBottom
- AnchorSideBottom.Control = spTileList
- Left = 4
- Height = 218
- Top = 56
- Width = 210
- Anchors = [akTop, akLeft, akRight, akBottom]
- BorderSpacing.Left = 4
- BorderSpacing.Top = 4
- BorderSpacing.Right = 4
- DefaultNodeHeight = 44
- DragMode = dmAutomatic
- DragOperations = []
- DragType = dtVCL
- Header.AutoSizeIndex = 2
- Header.Columns = <
- item
- Position = 0
- Text = 'ID'
- end
- item
- Position = 1
- Text = 'Tile'
- Width = 44
- end
- item
- Position = 2
- Text = 'Name'
- Width = 100
- end>
- Header.DefaultHeight = 17
- Header.MainColumn = 2
- Header.Options = [hoVisible]
- Header.ParentFont = True
- Header.Style = hsFlatButtons
- PopupMenu = pmTileList
- TabOrder = 0
- TreeOptions.AutoOptions = [toAutoScroll, toAutoScrollOnExpand, toAutoTristateTracking, toAutoDeleteMovedNodes]
- TreeOptions.MiscOptions = [toFullRepaintOnResize, toInitOnSave, toToggleOnDblClick, toWheelPanning, toFullRowDrag]
- TreeOptions.PaintOptions = [toShowButtons, toShowDropmark, toThemeAware, toUseBlendedImages, toStaticBackground]
- TreeOptions.SelectionOptions = [toFullRowSelect, toMultiSelect]
- OnClick = vdtTilesClick
- OnDrawNode = vdtTilesDrawNode
- OnEnter = vdtTilesEnter
- OnExit = vdtTilesExit
- OnHotChange = vdtTilesHotChange
- OnKeyPress = vdtTilesKeyPress
- OnMouseMove = vdtTilesMouseMove
- OnScroll = vdtTilesScroll
- end
- object gbRandom: TGroupBox
- AnchorSideTop.Control = spTileList
- AnchorSideTop.Side = asrBottom
- AnchorSideBottom.Control = tsTiles
- AnchorSideBottom.Side = asrBottom
- Left = 0
- Height = 189
- Top = 279
- Width = 218
- Align = alBottom
- Anchors = [akTop, akLeft, akRight, akBottom]
- Caption = 'Random pool'
- ClientHeight = 175
- ClientWidth = 216
- TabOrder = 1
- object btnAddRandom: TSpeedButton
- AnchorSideLeft.Control = gbRandom
- AnchorSideTop.Control = gbRandom
- Left = 4
- Height = 22
- Hint = 'Add'
- Top = 0
- Width = 23
- BorderSpacing.Left = 4
- Color = clBtnFace
- Glyph.Data = {
- 36040000424D3604000000000000360000002800000010000000100000000100
- 2000000000000004000064000000640000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000003A8C44FF368940FF32873CFF2F84
- 37FF000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000459653FF419950FF7DC28FFF96D0A6FF96CFA6FF78BE
- 89FF368D42FF2C8134FF00000000000000000000000000000000000000000000
- 0000000000004D9C5DFF64B478FFA8DBB5FF87CC98FF66BC7DFF64BA7CFF86CB
- 98FFA5D9B4FF58AA6BFF2C8134FF000000000000000000000000000000000000
- 000056A366FF6AB97DFFA8DBB2FF60BC77FF5CBA73FF59B870FF59B56FFF58B5
- 6FFF5BB774FFA5D9B3FF5AAA6CFF2C8234FF0000000000000000000000000000
- 000053AB68FFAADDB4FF64C179FF5FBE71FF60BC77FFFFFFFFFFFFFFFFFF59B8
- 70FF58B56EFF5CB774FFA6DAB4FF388F43FF00000000000000000000000061AC
- 75FF8ACC98FF89D396FF6BC67AFF63C170FF55AB65FFFFFFFFFFFFFFFFFF59B8
- 70FF59B870FF5BB972FF85CC97FF7BBE8DFF308539FF000000000000000065AF
- 7AFFA9DDB3FF7DCF8AFF75CC81FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
- FFFFFFFFFFFF59B870FF67BE7DFF9CD4ABFF34883DFF000000000000000069B2
- 7EFFB6E2BEFF8BD597FF7AC986FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
- FFFFFFFFFFFF59B870FF69C17EFF9DD4AAFF388B42FF00000000000000006DB5
- 83FFACDDB6FFA6DFAFFF81CB8CFF7CC986FF6EBD79FFFFFFFFFFFFFFFFFF5BAC
- 6AFF60BC77FF5CBA73FF8BD199FF80C592FF3C8E47FF00000000000000000000
- 000085C797FFD2EED7FF95D9A0FF8AD394FF7FC889FFFFFFFFFFFFFFFFFF79CD
- 85FF6BC37CFF6FC77EFFACDFB5FF459E57FF0000000000000000000000000000
- 000070B887FFAADAB7FFD8F1DCFF92D89DFF88CD93FF84CC8EFF8BD496FF8AD4
- 95FF83D28EFFAFE0B7FF6BB97DFF489856FF0000000000000000000000000000
- 00000000000070B887FFAFDCBBFFDCF2E0FFB6E4BDFF9BDBA5FF96D9A0FFA5DF
- AFFFC0E8C5FF79C28AFF509E5FFF000000000000000000000000000000000000
- 0000000000000000000071B887FF94CEA4FFC3E6CBFFCFEBD4FFC9E9CEFFAFDD
- B8FF6DB97FFF58A569FF00000000000000000000000000000000000000000000
- 0000000000000000000000000000000000006EB684FF6AB380FF67B17CFF63AE
- 77FF000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000
- }
- NumGlyphs = 0
- OnClick = btnAddRandomClick
- ShowHint = True
- ParentShowHint = False
- end
- object btnDeleteRandom: TSpeedButton
- AnchorSideLeft.Control = btnAddRandom
- AnchorSideLeft.Side = asrBottom
- AnchorSideTop.Control = btnAddRandom
- Left = 31
- Height = 22
- Hint = 'Delete'
- Top = 0
- Width = 23
- BorderSpacing.Left = 4
- Color = clBtnFace
- Glyph.Data = {
- 36040000424D3604000000000000360000002800000010000000100000000100
- 2000000000000004000064000000640000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000003853BEFF3551BDFF304BBCFF2E4E
- B8FF000000000000000000000000000000000000000000000000000000000000
- 000000000000000000004255C6FF3C52CCFF757AE8FF8F92EEFF8F92EEFF7178
- E4FF334DC1FF2B4AB7FF00000000000000000000000000000000000000000000
- 0000000000004959CBFF5C65E0FFA1A6F5FF7E86EFFF5B63E9FF595DE7FF7D84
- EEFF9EA0F4FF515DD7FF2B4AB7FF000000000000000000000000000000000000
- 00005361CFFF616BE3FFA1ACF5FF545FECFF505CEAFF4D59E9FF4E59E6FF4C56
- E6FF5056E6FF9EA2F4FF5460D6FF2A4AB8FF0000000000000000000000000000
- 00004B56DBFFA2ABF6FF5664F0FF5266EEFF4D59E9FF4D59E9FF4D59E9FF4D59
- E9FF4C58E6FF525AE6FF9FA3F5FF3450C4FF0000000000000000000000005C62
- D7FF818CEEFF7E91F7FF5D73F3FF4D59E9FF4D59E9FF4D59E9FF4D59E9FF4D59
- E9FF4D59E9FF4F5BE9FF7B83F0FF757BE2FF2E4BBAFF00000000000000005F63
- DAFFA1ABF7FF7086F8FF6882F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
- FFFFFFFFFFFF4D59E9FF5C66EAFF969CF1FF3250BCFF00000000000000006469
- DBFFAFB9F9FF7F93FAFF7085F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
- FFFFFFFFFFFF4D59E9FF5E6AEEFF969DF1FF364FBEFF0000000000000000676A
- DEFFA5AFF5FF9DABFAFF778CF0FF545FECFF545FECFF545FECFF545FECFF545F
- ECFF545FECFF6377F2FF818EF4FF787FE9FF3A53C0FF00000000000000000000
- 00007D83EAFFCDD4FCFF8B9DFAFF7E93F7FF758AEEFF6C84F6FF6C84F6FF6C84
- F6FF6C84F6FF6379F3FFA4AFF8FF3E4FD0FF0000000000000000000000000000
- 00006A69E0FFA3A7F3FFD4DBFDFF879AFAFF7F91F0FF7A8EF1FF7F94F8FF7E92
- F9FF768CF8FFA8B6F8FF636EE3FF4557C7FF0000000000000000000000000000
- 0000000000006A69E0FFAAADF2FFD8DCFDFFAEBAFAFF91A3FAFF8B9DFAFF9CA9
- FBFFBAC7FCFF707BE9FF4C5BCCFF000000000000000000000000000000000000
- 000000000000000000006A6ADFFF8E93EDFFBEC3F8FFCCD3F9FFC4CBF9FFAAB4
- F4FF6670E2FF535ED1FF00000000000000000000000000000000000000000000
- 000000000000000000000000000000000000686ADDFF6364DCFF6164DAFF5D63
- D9FF000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000
- }
- NumGlyphs = 0
- OnClick = btnDeleteRandomClick
- ShowHint = True
- ParentShowHint = False
- end
- object btnClearRandom: TSpeedButton
- AnchorSideLeft.Control = btnDeleteRandom
- AnchorSideLeft.Side = asrBottom
- AnchorSideTop.Control = btnDeleteRandom
- Left = 58
- Height = 22
- Hint = 'Clear'
- Top = 0
- Width = 23
- BorderSpacing.Left = 4
- Color = clBtnFace
- Glyph.Data = {
- 36040000424D3604000000000000360000002800000010000000100000000100
- 2000000000000004000064000000640000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000F1FF0000F1FF0000F1FF0000F1FF0000EFFF0000
- EFFF0000EDFF0000EDFF00000000000000000000000000000000000000000000
- 0000000000000000F5FF1A20F5FF3C4CF9FF3A49F8FF3847F8FF3545F8FF3443
- F7FF3242F7FF141BF1FF0000EDFF000000000000000000000000000000000000
- 00000000F7FF1D23F9FF4453FAFF2429F9FF1212F7FF0F0FF6FF0C0CF5FF0909
- F5FF161BF5FF3343F7FF141BF1FF0000EDFF0000000000000000000000000000
- F9FF1F25FAFF4A58FBFF4247FBFFC9C9FDFF3B3BF9FF1313F7FF1010F6FF3333
- F7FFC5C5FDFF3035F7FF3444F7FF141BF2FF0000EDFF00000000000000000000
- FBFF4F5DFDFF3237FBFFCBCBFEFFF2F2FFFFEBEBFEFF3B3BF9FF3939F8FFEAEA
- FEFFF1F1FEFFC5C5FDFF181DF6FF3343F7FF0000EFFF00000000000000000000
- FDFF525FFDFF2828FCFF4747FCFFECECFFFFF2F2FFFFECECFFFFECECFEFFF1F1
- FFFFEAEAFEFF3434F7FF0B0BF5FF3545F8FF0000EFFF00000000000000000000
- FDFF5562FEFF2C2CFDFF2929FCFF4848FCFFEDEDFFFFF2F2FFFFF2F2FFFFECEC
- FEFF3A3AF9FF1212F7FF0F0FF6FF3848F8FF0000F1FF00000000000000000000
- FDFF5764FEFF3030FDFF2D2DFDFF4B4BFCFFEDEDFFFFF2F2FFFFF2F2FFFFECEC
- FFFF3D3DF9FF1616F8FF1313F7FF3C4BF8FF0000F1FF00000000000000000000
- FFFF5A67FEFF3333FEFF5050FDFFEDEDFFFFF3F3FFFFEDEDFFFFEDEDFFFFF2F2
- FFFFECECFEFF3E3EFAFF1717F8FF3F4EF9FF0000F1FF00000000000000000000
- FFFF5B68FFFF4347FEFFCFCFFFFFF3F3FFFFEDEDFFFF4C4CFCFF4A4AFCFFECEC
- FFFFF2F2FFFFCACAFEFF2A2FFAFF4251FAFF0000F3FF00000000000000000000
- FFFF262BFFFF5D6AFFFF585BFFFFCFCFFFFF5252FEFF2F2FFDFF2C2CFDFF4B4B
- FCFFCCCCFEFF484CFBFF4957FBFF1D23F9FF0000F5FF00000000000000000000
- 00000000FFFF262BFFFF5D6AFFFF4347FFFF3434FEFF3232FEFF3030FDFF2D2D
- FDFF383CFCFF4F5DFCFF1F25FAFF0000F7FF0000000000000000000000000000
- 0000000000000000FFFF262BFFFF5C69FFFF5B68FFFF5A67FEFF5865FEFF5663
- FEFF5461FEFF2227FCFF0000FBFF000000000000000000000000000000000000
- 000000000000000000000000FFFF0000FFFF0000FFFF0000FFFF0000FDFF0000
- FDFF0000FDFF0000FDFF00000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000
- }
- NumGlyphs = 0
- OnClick = btnClearRandomClick
- ShowHint = True
- ParentShowHint = False
- end
- object btnRandomPresetSave: TSpeedButton
- AnchorSideTop.Control = cbRandomPreset
- AnchorSideRight.Control = btnRandomPresetDelete
- Left = 164
- Height = 22
- Hint = 'Save Preset'
- Top = 142
- Width = 22
- Anchors = [akTop, akRight]
- BorderSpacing.Right = 4
- Color = clBtnFace
- Glyph.Data = {
- 36040000424D3604000000000000360000002800000010000000100000000100
- 2000000000000004000064000000640000000000000000000000000000000000
- 000000000000000000000000000000000000BA6833FFC38458FFD38B68FFE18F
- 70FFDC8D6CFFDA8B6DFFD78A6EFFCD8B6CFFAB6D44FFA65F2EFF00000000BA65
- 30FFBB6631FFBA6630FFBA6630FFBA6530FFC68355FFEFCEBAFFDDFFFFFF87EE
- C7FFA2F4D7FFA2F6D7FF8CEEC7FFE0FFFFFFDDA285FFAB6A3EFFBC6933FFF8F1
- EAFFF7ECDFFFF6EADEFFF6EADCFFF6EADCFFC37F51FFEFB69AFFEAF3E8FF51BF
- 84FF6FC998FF71C999FF54BF84FFE4F4E9FFDD9C7BFFAA693AFFBF7138FFF5EB
- DFFFFDBF68FFFBBE65FFFCBE64FFFCBE64FFC48154FFEAB697FFF3F3EAFFEDF1
- E6FFEFF1E6FFEFF0E6FFEDF1E5FFF3F5EDFFD59C79FFB07044FFC1783CFFF7ED
- E3FFFDC26EFFFFD79EFFFFD69BFFFFD798FFC98B61FFE6B592FFE2A781FFE1A7
- 81FFDEA37DFFDCA17BFFDB9F79FFD99E77FFD49A73FFBB7E57FFC47C40FFF7F0
- E6FFF8B455FFF7B554FFF8B453FFF8B253FFCA8D65FFEAB899FFDDA57EFFDDA6
- 80FFDBA37CFFD9A07AFFD9A079FFD89F78FFD89E78FFBF845DFFC58245FFF8F2
- EBFFFEE7D6FFFDE7D6FFFDE7D6FFFDE6D5FFC8885DFFEFBFA1FFFDFCFAFFFEFC
- FBFFFEFDFDFFFEFDFCFFFDFBFAFFFDFCFBFFDDA885FFC17F53FFC68447FFF9F3
- ECFFFEE8D6FFFDE7D6FFFDE7D6FFFDE7D5FFC7865BFFEFC09EFFFFFFFFFFCC93
- 6EFFFFFFFFFFFFFFFFFFFFFBF7FFFFF8F1FFE4AF8CFFC78A61FFC68849FFF9F4
- EDFFFEE8D8FFFEE8D7FFFEE7D6FFFDE5D3FFCC8D65FFF3CDB0FFFFFFFFFFE3C7
- B3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEABFA1FFC98960FFC6884AFFF9F4
- EFFFFEE7D7FFFDE7D5FFFDE6D4FFFCE6D2FFD4976EFFD49E7BFFD09871FFD6A4
- 82FFCD8E68FFCD9069FFD09A75FFD19973FFC88B62FF00000000C6894BFFF9F4
- F0FFFCE6D3FFFDE7D3FFFCE4D1FFFBE3CDFFFAE0C8FFF8DCC2FFF5D6BBFFF3D4
- B5FFF1D2B3FFF8F4F0FFC48246FF000000000000000000000000C6894BFFF9F5
- F1FFFCE3CFFFFCE4CFFFFCE3CDFFFAE1CAFFF9DDC4FFF6D9BCFFF4E9DFFFF7F2
- ECFFFBF7F3FFF5EFE9FFC27E45FF000000000000000000000000C6894CFFF9F5
- F1FFFCE3CDFFFBE3CDFFFBE2CBFFF9E0C8FFF8DCC2FFF5D6BAFFFDFBF8FFFCE6
- CDFFFAE5C9FFE2B684FFBF7942FF000000000000000000000000C5884BFFFAF6
- F2FFFAE0C7FFFBE2C9FFFBE0C8FFF9DFC5FFF8DBC1FFF4D6B8FFFFFBF8FFF6D8
- B4FFE1B07DFFDB9264FF00000000000000000000000000000000C48549FFF7F2
- ECFFF8F4EEFFF8F3EDFFF8F3EDFFF8F3EDFFF8F2ECFFF7F2ECFFF2E6D7FFE2B2
- 7DFFDB9465FF000000000000000000000000000000000000000000000000C88B
- 4DFFC88C4FFFC88C4FFFC88C4FFFC88D4FFFC98C4FFFC78B4FFFC5894BFFC476
- 3BFF000000000000000000000000000000000000000000000000
- }
- NumGlyphs = 0
- OnClick = btnRandomPresetSaveClick
- ShowCaption = False
- ShowHint = True
- ParentShowHint = False
- end
- object btnRandomPresetDelete: TSpeedButton
- AnchorSideTop.Control = btnRandomPresetSave
- AnchorSideRight.Control = gbRandom
- AnchorSideRight.Side = asrBottom
- Left = 190
- Height = 22
- Hint = 'Delete Preset'
- Top = 142
- Width = 22
- Anchors = [akTop, akRight]
- BorderSpacing.Right = 4
- Color = clBtnFace
- Glyph.Data = {
- 36040000424D3604000000000000360000002800000010000000100000000100
- 2000000000000004000064000000640000000000000000000000000000000000
- 0000BA6530FFBB6631FFBA6630FFBA6630FFBA6630FFBA6530FFBA652FFFB965
- 2EFF6E5E76FF1949A8FF0542BBFF1348ADFF394E8FFF0000000000000000BC69
- 33FFF8F1EAFFF7ECDFFFF6EBDEFFF6EADEFFF6EADCFFF6EADCFFFAF3EBFF8AA5
- D7FF2866CAFF2177E6FF0579EAFF0164DDFF064DBBFF0000000000000000BF71
- 38FFF5EBDFFFFDBF68FFFCBD67FFFBBE65FFFCBE64FFFCBE64FFFCBD62FF1E52
- B0FF639DF4FF187FFFFF0076F8FF0076EEFF0368E1FF0345B9FF00000000C178
- 3CFFF7EDE3FFFDC26EFFFFD8A0FFFFD79EFFFFD69BFFFFD798FFFFD696FF0543
- BCFFAECDFEFFFFFFFFFFFFFFFFFFFFFFFFFF187FEFFF0442BCFF00000000C47C
- 40FFF7F0E6FFF8B455FFF7B456FFF7B554FFF8B453FFF8B253FFF7B352FF2453
- ABFF8DB5F6FF4D92FFFF1177FFFF2186FFFF408AEBFF0344B9FF00000000C580
- 42FFF8F1E8FFFEE5D5FFFDE5D3FFFDE5D3FFFCE5D3FFFCE5D3FFFCE4D1FF94A1
- C9FF3D76D1FF8DB5F7FFB8D6FEFF72A8F5FF2F6BC9FF0000000000000000C582
- 45FFF8F2EBFFFEE7D6FFFDE7D6FFFDE7D6FFFDE7D6FFFDE6D5FFFDE5D3FFFCE4
- D1FF94A1C9FF2A5EC1FF0543BCFF1F59BFFF686279FF0000000000000000C684
- 47FFF9F3ECFFFEE8D6FFFEE8D7FFFDE7D6FFFDE7D6FFFDE7D5FFFDE5D3FFFBE4
- D0FFFBE3CCFFFADFC7FFFADFC6FFFAF2EAFFC68042FF0000000000000000C688
- 49FFF9F4EDFFFEE8D8FFFEE8D8FFFEE8D7FFFEE7D6FFFDE5D3FFFCE4D1FFFBE1
- CCFFFAE0C7FFF9DDC3FFF8DCC2FFFAF4EDFFC68245FF0000000000000000C688
- 4AFFF9F4EFFFFEE7D7FFFDE7D6FFFDE7D5FFFDE6D4FFFCE6D2FFFBE1CCFFFADF
- C7FFF8DCC2FFF6DABDFFF6D8BBFFFAF4EFFFC68346FF0000000000000000C689
- 4BFFF9F4F0FFFCE6D3FFFCE6D4FFFDE7D3FFFCE4D1FFFBE3CDFFFAE0C8FFF8DC
- C2FFF5D6BBFFF3D4B5FFF1D2B3FFF8F4F0FFC48246FF0000000000000000C689
- 4BFFF9F5F1FFFCE3CFFFFBE4D0FFFCE4CFFFFCE3CDFFFAE1CAFFF9DDC4FFF6D9
- BCFFF4E9DFFFF7F2ECFFFBF7F3FFF5EFE9FFC27E45FF0000000000000000C689
- 4CFFF9F5F1FFFCE3CDFFFBE3CEFFFBE3CDFFFBE2CBFFF9E0C8FFF8DCC2FFF5D6
- BAFFFDFBF8FFFCE6CDFFFAE5C9FFE2B684FFBF7942FF0000000000000000C588
- 4BFFFAF6F2FFFAE0C7FFFBE1C9FFFBE2C9FFFBE0C8FFF9DFC5FFF8DBC1FFF4D6
- B8FFFFFBF8FFF6D8B4FFE1B07DFFDB9264FF000000000000000000000000C485
- 49FFF7F2ECFFF8F4EEFFF8F4EDFFF8F3EDFFF8F3EDFFF8F3EDFFF8F2ECFFF7F2
- ECFFF2E6D7FFE2B27DFFDB9465FF000000000000000000000000000000000000
- 0000C88B4DFFC88C4FFFC88C4FFFC88C4FFFC88C4FFFC88D4FFFC98C4FFFC78B
- 4FFFC5894BFFC4763BFF00000000000000000000000000000000
- }
- NumGlyphs = 0
- OnClick = btnRandomPresetDeleteClick
- ShowCaption = False
- ShowHint = True
- ParentShowHint = False
- end
- object vdtRandom: TVirtualDrawTree
- Tag = 1
- AnchorSideLeft.Control = gbRandom
- AnchorSideTop.Control = btnAddRandom
- AnchorSideTop.Side = asrBottom
- AnchorSideRight.Control = gbRandom
- AnchorSideRight.Side = asrBottom
- AnchorSideBottom.Control = cbRandomPreset
- Cursor = 63
- Left = 4
- Height = 114
- Top = 24
- Width = 208
- Anchors = [akTop, akLeft, akRight, akBottom]
- BorderSpacing.Left = 4
- BorderSpacing.Top = 2
- BorderSpacing.Right = 4
- BorderSpacing.Bottom = 4
- DefaultNodeHeight = 44
- DragType = dtVCL
- Header.AutoSizeIndex = 0
- Header.Columns = <
- item
- Position = 0
- Text = 'ID'
- end
- item
- Position = 1
- Text = 'Tile'
- Width = 44
- end
- item
- Position = 2
- Text = 'Name'
- Width = 100
- end>
- Header.DefaultHeight = 17
- Header.Options = [hoColumnResize, hoDrag, hoVisible]
- Header.ParentFont = True
- Header.Style = hsFlatButtons
- TabOrder = 0
- TreeOptions.AutoOptions = [toAutoDropExpand, toAutoScroll, toAutoScrollOnExpand, toAutoTristateTracking, toAutoDeleteMovedNodes]
- TreeOptions.PaintOptions = [toHideFocusRect, toShowButtons, toShowDropmark, toThemeAware, toUseBlendedImages]
- TreeOptions.SelectionOptions = [toFullRowSelect, toMultiSelect]
- OnClick = vdtRandomClick
- OnDragOver = vdtRandomDragOver
- OnDragDrop = vdtRandomDragDrop
- OnDrawNode = vdtTilesDrawNode
- OnLoadNode = vdtRandomLoadNode
- OnSaveNode = vdtRandomSaveNode
- OnUpdating = vdtRandomUpdating
- end
- object cbRandomPreset: TComboBox
- AnchorSideLeft.Control = gbRandom
- AnchorSideRight.Control = btnRandomPresetSave
- AnchorSideBottom.Control = gbRandom
- AnchorSideBottom.Side = asrBottom
- Left = 4
- Height = 29
- Top = 142
- Width = 156
- Anchors = [akLeft, akRight, akBottom]
- BorderSpacing.Left = 4
- BorderSpacing.Right = 4
- BorderSpacing.Bottom = 4
- ItemHeight = 0
- OnChange = cbRandomPresetChange
- Sorted = True
- Style = csDropDownList
- TabOrder = 1
- end
- end
- object spTileList: TSplitter
- AnchorSideLeft.Control = tsTiles
- AnchorSideRight.Control = tsTiles
- AnchorSideRight.Side = asrBottom
- Cursor = crVSplit
- Left = 0
- Height = 5
- Top = 274
- Width = 218
- Align = alNone
- Anchors = [akLeft, akRight, akBottom]
- ResizeAnchor = akBottom
- end
- object edSearchID: TEdit
- AnchorSideRight.Control = vdtTiles
- AnchorSideRight.Side = asrBottom
- AnchorSideBottom.Control = vdtTiles
- AnchorSideBottom.Side = asrBottom
- Left = 110
- Height = 19
- Hint = 'Append S or T to restrict the search to Statics or Terrain.'
- Top = 247
- Width = 96
- Anchors = [akRight, akBottom]
- BorderSpacing.Right = 8
- BorderSpacing.Bottom = 8
- CharCase = ecUppercase
- OnExit = edSearchIDExit
- OnKeyPress = edSearchIDKeyPress
- ParentShowHint = False
- ShowHint = True
- TabOrder = 2
- Visible = False
- end
- object edFilter: TEdit
- AnchorSideLeft.Control = lblFilter
- AnchorSideTop.Control = lblFilter
- AnchorSideTop.Side = asrBottom
- AnchorSideRight.Control = tsTiles
- AnchorSideRight.Side = asrBottom
- Left = 81
- Height = 19
- Top = 22
- Width = 121
- Anchors = [akTop, akLeft, akRight]
- BorderSpacing.Right = 16
- OnEditingDone = edFilterEditingDone
- TabOrder = 4
- end
- object cbStatics: TCheckBox
- AnchorSideLeft.Control = cbTerrain
- AnchorSideLeft.Side = asrCenter
- AnchorSideTop.Control = cbTerrain
- AnchorSideTop.Side = asrBottom
- Left = 4
- Height = 22
- Top = 30
- Width = 60
- Caption = 'Statics'
- Checked = True
- OnChange = cbStaticsChange
- State = cbChecked
- TabOrder = 5
- end
- object cbTerrain: TCheckBox
- AnchorSideLeft.Control = tsTiles
- AnchorSideTop.Control = tsTiles
- Left = 4
- Height = 22
- Top = 8
- Width = 61
- BorderSpacing.Left = 4
- BorderSpacing.Top = 8
- Caption = 'Terrain'
- Checked = True
- OnChange = cbTerrainChange
- State = cbChecked
- TabOrder = 6
- end
- end
- object tsClients: TTabSheet
- Caption = 'Clients'
- ClientHeight = 468
- ClientWidth = 218
- object lbClients: TListBox
- Left = 0
- Height = 468
- Top = 0
- Width = 218
- Align = alClient
- ItemHeight = 0
- OnDblClick = mnuGoToClientClick
- PopupMenu = pmClients
- Sorted = True
- TabOrder = 0
- TopIndex = -1
- end
- end
- object tsLocations: TTabSheet
- Caption = 'Locations'
- ClientHeight = 468
- ClientWidth = 218
- object btnClearLocations: TSpeedButton
- AnchorSideLeft.Control = btnDeleteLocation
- AnchorSideLeft.Side = asrBottom
- AnchorSideTop.Control = btnDeleteLocation
- Left = 125
- Height = 22
- Hint = 'Clear'
- Top = 442
- Width = 23
- BorderSpacing.Left = 4
- Color = clBtnFace
- Glyph.Data = {
- 36040000424D3604000000000000360000002800000010000000100000000100
- 2000000000000004000064000000640000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000F1FF0000F1FF0000F1FF0000F1FF0000EFFF0000
- EFFF0000EDFF0000EDFF00000000000000000000000000000000000000000000
- 0000000000000000F5FF1A20F5FF3C4CF9FF3A49F8FF3847F8FF3545F8FF3443
- F7FF3242F7FF141BF1FF0000EDFF000000000000000000000000000000000000
- 00000000F7FF1D23F9FF4453FAFF2429F9FF1212F7FF0F0FF6FF0C0CF5FF0909
- F5FF161BF5FF3343F7FF141BF1FF0000EDFF0000000000000000000000000000
- F9FF1F25FAFF4A58FBFF4247FBFFC9C9FDFF3B3BF9FF1313F7FF1010F6FF3333
- F7FFC5C5FDFF3035F7FF3444F7FF141BF2FF0000EDFF00000000000000000000
- FBFF4F5DFDFF3237FBFFCBCBFEFFF2F2FFFFEBEBFEFF3B3BF9FF3939F8FFEAEA
- FEFFF1F1FEFFC5C5FDFF181DF6FF3343F7FF0000EFFF00000000000000000000
- FDFF525FFDFF2828FCFF4747FCFFECECFFFFF2F2FFFFECECFFFFECECFEFFF1F1
- FFFFEAEAFEFF3434F7FF0B0BF5FF3545F8FF0000EFFF00000000000000000000
- FDFF5562FEFF2C2CFDFF2929FCFF4848FCFFEDEDFFFFF2F2FFFFF2F2FFFFECEC
- FEFF3A3AF9FF1212F7FF0F0FF6FF3848F8FF0000F1FF00000000000000000000
- FDFF5764FEFF3030FDFF2D2DFDFF4B4BFCFFEDEDFFFFF2F2FFFFF2F2FFFFECEC
- FFFF3D3DF9FF1616F8FF1313F7FF3C4BF8FF0000F1FF00000000000000000000
- FFFF5A67FEFF3333FEFF5050FDFFEDEDFFFFF3F3FFFFEDEDFFFFEDEDFFFFF2F2
- FFFFECECFEFF3E3EFAFF1717F8FF3F4EF9FF0000F1FF00000000000000000000
- FFFF5B68FFFF4347FEFFCFCFFFFFF3F3FFFFEDEDFFFF4C4CFCFF4A4AFCFFECEC
- FFFFF2F2FFFFCACAFEFF2A2FFAFF4251FAFF0000F3FF00000000000000000000
- FFFF262BFFFF5D6AFFFF585BFFFFCFCFFFFF5252FEFF2F2FFDFF2C2CFDFF4B4B
- FCFFCCCCFEFF484CFBFF4957FBFF1D23F9FF0000F5FF00000000000000000000
- 00000000FFFF262BFFFF5D6AFFFF4347FFFF3434FEFF3232FEFF3030FDFF2D2D
- FDFF383CFCFF4F5DFCFF1F25FAFF0000F7FF0000000000000000000000000000
- 0000000000000000FFFF262BFFFF5C69FFFF5B68FFFF5A67FEFF5865FEFF5663
- FEFF5461FEFF2227FCFF0000FBFF000000000000000000000000000000000000
- 000000000000000000000000FFFF0000FFFF0000FFFF0000FFFF0000FDFF0000
- FDFF0000FDFF0000FDFF00000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000
- }
- NumGlyphs = 0
- OnClick = btnClearLocationsClick
- ShowHint = True
- ParentShowHint = False
- end
- object btnDeleteLocation: TSpeedButton
- AnchorSideLeft.Control = tsLocations
- AnchorSideLeft.Side = asrCenter
- AnchorSideBottom.Control = tsLocations
- AnchorSideBottom.Side = asrBottom
- Left = 98
- Height = 22
- Hint = 'Delete'
- Top = 442
- Width = 23
- Anchors = [akLeft, akBottom]
- BorderSpacing.Bottom = 4
- Color = clBtnFace
- Glyph.Data = {
- 36040000424D3604000000000000360000002800000010000000100000000100
- 2000000000000004000064000000640000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000003853BEFF3551BDFF304BBCFF2E4E
- B8FF000000000000000000000000000000000000000000000000000000000000
- 000000000000000000004255C6FF3C52CCFF757AE8FF8F92EEFF8F92EEFF7178
- E4FF334DC1FF2B4AB7FF00000000000000000000000000000000000000000000
- 0000000000004959CBFF5C65E0FFA1A6F5FF7E86EFFF5B63E9FF595DE7FF7D84
- EEFF9EA0F4FF515DD7FF2B4AB7FF000000000000000000000000000000000000
- 00005361CFFF616BE3FFA1ACF5FF545FECFF505CEAFF4D59E9FF4E59E6FF4C56
- E6FF5056E6FF9EA2F4FF5460D6FF2A4AB8FF0000000000000000000000000000
- 00004B56DBFFA2ABF6FF5664F0FF5266EEFF4D59E9FF4D59E9FF4D59E9FF4D59
- E9FF4C58E6FF525AE6FF9FA3F5FF3450C4FF0000000000000000000000005C62
- D7FF818CEEFF7E91F7FF5D73F3FF4D59E9FF4D59E9FF4D59E9FF4D59E9FF4D59
- E9FF4D59E9FF4F5BE9FF7B83F0FF757BE2FF2E4BBAFF00000000000000005F63
- DAFFA1ABF7FF7086F8FF6882F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
- FFFFFFFFFFFF4D59E9FF5C66EAFF969CF1FF3250BCFF00000000000000006469
- DBFFAFB9F9FF7F93FAFF7085F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
- FFFFFFFFFFFF4D59E9FF5E6AEEFF969DF1FF364FBEFF0000000000000000676A
- DEFFA5AFF5FF9DABFAFF778CF0FF545FECFF545FECFF545FECFF545FECFF545F
- ECFF545FECFF6377F2FF818EF4FF787FE9FF3A53C0FF00000000000000000000
- 00007D83EAFFCDD4FCFF8B9DFAFF7E93F7FF758AEEFF6C84F6FF6C84F6FF6C84
- F6FF6C84F6FF6379F3FFA4AFF8FF3E4FD0FF0000000000000000000000000000
- 00006A69E0FFA3A7F3FFD4DBFDFF879AFAFF7F91F0FF7A8EF1FF7F94F8FF7E92
- F9FF768CF8FFA8B6F8FF636EE3FF4557C7FF0000000000000000000000000000
- 0000000000006A69E0FFAAADF2FFD8DCFDFFAEBAFAFF91A3FAFF8B9DFAFF9CA9
- FBFFBAC7FCFF707BE9FF4C5BCCFF000000000000000000000000000000000000
- 000000000000000000006A6ADFFF8E93EDFFBEC3F8FFCCD3F9FFC4CBF9FFAAB4
- F4FF6670E2FF535ED1FF00000000000000000000000000000000000000000000
- 000000000000000000000000000000000000686ADDFF6364DCFF6164DAFF5D63
- D9FF000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000
- }
- NumGlyphs = 0
- OnClick = btnDeleteLocationClick
- ShowHint = True
- ParentShowHint = False
- end
- object btnAddLocation: TSpeedButton
- AnchorSideTop.Control = btnDeleteLocation
- AnchorSideRight.Control = btnDeleteLocation
- Left = 71
- Height = 22
- Hint = 'Add'
- Top = 442
- Width = 23
- Anchors = [akTop, akRight]
- BorderSpacing.Right = 4
- Color = clBtnFace
- Glyph.Data = {
- 36040000424D3604000000000000360000002800000010000000100000000100
- 2000000000000004000064000000640000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000003A8C44FF368940FF32873CFF2F84
- 37FF000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000459653FF419950FF7DC28FFF96D0A6FF96CFA6FF78BE
- 89FF368D42FF2C8134FF00000000000000000000000000000000000000000000
- 0000000000004D9C5DFF64B478FFA8DBB5FF87CC98FF66BC7DFF64BA7CFF86CB
- 98FFA5D9B4FF58AA6BFF2C8134FF000000000000000000000000000000000000
- 000056A366FF6AB97DFFA8DBB2FF60BC77FF5CBA73FF59B870FF59B56FFF58B5
- 6FFF5BB774FFA5D9B3FF5AAA6CFF2C8234FF0000000000000000000000000000
- 000053AB68FFAADDB4FF64C179FF5FBE71FF60BC77FFFFFFFFFFFFFFFFFF59B8
- 70FF58B56EFF5CB774FFA6DAB4FF388F43FF00000000000000000000000061AC
- 75FF8ACC98FF89D396FF6BC67AFF63C170FF55AB65FFFFFFFFFFFFFFFFFF59B8
- 70FF59B870FF5BB972FF85CC97FF7BBE8DFF308539FF000000000000000065AF
- 7AFFA9DDB3FF7DCF8AFF75CC81FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
- FFFFFFFFFFFF59B870FF67BE7DFF9CD4ABFF34883DFF000000000000000069B2
- 7EFFB6E2BEFF8BD597FF7AC986FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
- FFFFFFFFFFFF59B870FF69C17EFF9DD4AAFF388B42FF00000000000000006DB5
- 83FFACDDB6FFA6DFAFFF81CB8CFF7CC986FF6EBD79FFFFFFFFFFFFFFFFFF5BAC
- 6AFF60BC77FF5CBA73FF8BD199FF80C592FF3C8E47FF00000000000000000000
- 000085C797FFD2EED7FF95D9A0FF8AD394FF7FC889FFFFFFFFFFFFFFFFFF79CD
- 85FF6BC37CFF6FC77EFFACDFB5FF459E57FF0000000000000000000000000000
- 000070B887FFAADAB7FFD8F1DCFF92D89DFF88CD93FF84CC8EFF8BD496FF8AD4
- 95FF83D28EFFAFE0B7FF6BB97DFF489856FF0000000000000000000000000000
- 00000000000070B887FFAFDCBBFFDCF2E0FFB6E4BDFF9BDBA5FF96D9A0FFA5DF
- AFFFC0E8C5FF79C28AFF509E5FFF000000000000000000000000000000000000
- 0000000000000000000071B887FF94CEA4FFC3E6CBFFCFEBD4FFC9E9CEFFAFDD
- B8FF6DB97FFF58A569FF00000000000000000000000000000000000000000000
- 0000000000000000000000000000000000006EB684FF6AB380FF67B17CFF63AE
- 77FF000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000
- }
- NumGlyphs = 0
- OnClick = btnAddLocationClick
- ShowHint = True
- ParentShowHint = False
- end
- object vstLocations: TVirtualStringTree
- AnchorSideLeft.Control = tsLocations
- AnchorSideTop.Control = tsLocations
- AnchorSideRight.Control = tsLocations
- AnchorSideRight.Side = asrBottom
- AnchorSideBottom.Control = btnDeleteLocation
- Cursor = 63
- Left = 4
- Height = 434
- Top = 4
- Width = 210
- Anchors = [akTop, akLeft, akRight, akBottom]
- BorderSpacing.Around = 4
- BorderStyle = bsSingle
- DefaultText = 'Node'
- Header.AutoSizeIndex = 1
- Header.Columns = <
- item
- Position = 0
- Text = 'Coords'
- Width = 75
- end
- item
- Position = 1
- Text = 'Name'
- Width = 131
- end>
- Header.DefaultHeight = 17
- Header.Options = [hoAutoResize, hoColumnResize, hoDrag, hoVisible]
- Header.ParentFont = True
- Header.Style = hsFlatButtons
- TabOrder = 0
- TreeOptions.AutoOptions = [toAutoScrollOnExpand, toAutoTristateTracking, toAutoDeleteMovedNodes]
- TreeOptions.PaintOptions = [toShowButtons, toShowDropmark, toThemeAware, toUseBlendedImages]
- TreeOptions.SelectionOptions = [toFullRowSelect]
- OnDblClick = vstLocationsDblClick
- OnFreeNode = vstLocationsFreeNode
- OnGetText = vstLocationsGetText
- OnLoadNode = vstLocationsLoadNode
- OnNewText = vstLocationsNewText
- OnSaveNode = vstLocationsSaveNode
- end
- end
- end
- object tbMain: TToolBar
- Left = 0
- Height = 24
- Top = 0
- Width = 755
- Caption = 'tbMain'
- Images = ImageList1
- ParentShowHint = False
- ShowHint = True
- TabOrder = 2
- object tbDisconnect: TToolButton
- Left = 1
- Hint = 'Disconnect'
- Top = 2
- Caption = 'Disconnect'
- ImageIndex = 0
- ParentShowHint = False
- ShowHint = True
- OnClick = mnuDisconnectClick
- end
- object tbSeparator1: TToolButton
- Left = 24
- Top = 2
- Width = 16
- Style = tbsDivider
- end
- object tbSelect: TToolButton
- Left = 40
- Top = 2
- Action = acSelect
- Grouped = True
- ParentShowHint = False
- ShowHint = True
- Style = tbsCheck
- end
- object tbDrawTile: TToolButton
- Left = 63
- Top = 2
- Action = acDraw
- Grouped = True
- ParentShowHint = False
- ShowHint = True
- Style = tbsCheck
- end
- object tbMoveTile: TToolButton
- Left = 86
- Top = 2
- Action = acMove
- Grouped = True
- ParentShowHint = False
- ShowHint = True
- Style = tbsCheck
- end
- object tbElevateTile: TToolButton
- Left = 109
- Top = 2
- Action = acElevate
- Grouped = True
- ParentShowHint = False
- ShowHint = True
- Style = tbsCheck
- end
- object tbDeleteTile: TToolButton
- Left = 132
- Top = 2
- Action = acDelete
- Grouped = True
- ParentShowHint = False
- ShowHint = True
- Style = tbsCheck
- end
- object tbSetHue: TToolButton
- Left = 155
- Top = 2
- Action = acHue
- Grouped = True
- ParentShowHint = False
- ShowHint = True
- Style = tbsCheck
- end
- object tbSeparator3: TToolButton
- Left = 209
- Top = 2
- Width = 16
- Caption = 'tbSeparator3'
- Style = tbsDivider
- end
- object tbBoundaries: TToolButton
- Left = 225
- Top = 2
- Action = acBoundaries
- ParentShowHint = False
- ShowHint = True
- end
- object tbSeparator4: TToolButton
- Left = 294
- Top = 2
- Width = 17
- Caption = 'tbSeparator4'
- Style = tbsDivider
- end
- object tbTerrain: TToolButton
- Left = 311
- Hint = 'Show Terrain'
- Top = 2
- Caption = 'Terrain'
- Down = True
- ImageIndex = 10
- ParentShowHint = False
- ShowHint = True
- Style = tbsCheck
- OnClick = tbTerrainClick
- end
- object tbStatics: TToolButton
- Left = 334
- Hint = 'Show Statics'
- Top = 2
- Caption = 'Statics'
- Down = True
- ImageIndex = 11
- ParentShowHint = False
- ShowHint = True
- Style = tbsCheck
- OnClick = tbStaticsClick
- end
- object tbSeparator5: TToolButton
- Left = 415
- Top = 2
- Width = 17
- Caption = 'tbSeparator5'
- Style = tbsDivider
- end
- object tbRadarMap: TToolButton
- Left = 432
- Hint = 'Radar Map'
- Top = 2
- Caption = 'Radar Map'
- ImageIndex = 13
- ParentShowHint = False
- ShowHint = True
- OnClick = tbRadarMapClick
- end
- object tbVirtualLayer: TToolButton
- Left = 248
- Top = 2
- Action = acVirtualLayer
- end
- object tbFilter: TToolButton
- Left = 271
- Top = 2
- Action = acFilter
- Style = tbsCheck
- OnMouseMove = tbFilterMouseMove
- end
- object tbFlat: TToolButton
- Left = 380
- Top = 2
- Action = acFlat
- DropdownMenu = pmFlatViewSettings
- Style = tbsDropDown
- end
- object tbNoDraw: TToolButton
- Left = 357
- Top = 2
- Action = acNoDraw
- Style = tbsCheck
- end
- object tbSeparator2: TToolButton
- Left = 178
- Top = 2
- Width = 8
- Caption = 'tbSeparator2'
- Style = tbsDivider
- end
- object tbUndo: TToolButton
- Left = 186
- Top = 2
- Action = acUndo
- end
- end
- object pnlChatHeader: TPanel
- AnchorSideLeft.Control = pnlChat
- AnchorSideTop.Control = spChat
- AnchorSideTop.Side = asrBottom
- AnchorSideRight.Control = pnlChat
- AnchorSideRight.Side = asrBottom
- AnchorSideBottom.Control = spChat
- Left = 224
- Height = 22
- Top = 389
- Width = 531
- Anchors = [akLeft, akRight, akBottom]
- BevelInner = bvRaised
- BevelOuter = bvLowered
- ClientHeight = 22
- ClientWidth = 531
- TabOrder = 3
- object lblChatHeaderCaption: TLabel
- Cursor = crHandPoint
- Left = 10
- Height = 18
- Top = 2
- Width = 104
- Align = alLeft
- BorderSpacing.Left = 8
- Caption = 'Chat and Messages'
- Layout = tlCenter
- ParentColor = False
- OnClick = lblChatHeaderCaptionClick
- OnMouseEnter = lblChatHeaderCaptionMouseEnter
- OnMouseLeave = lblChatHeaderCaptionMouseLeave
- end
- end
- object pnlChat: TPanel
- AnchorSideLeft.Control = pcLeft
- AnchorSideLeft.Side = asrBottom
- AnchorSideTop.Control = spChat
- AnchorSideTop.Side = asrBottom
- AnchorSideRight.Control = Owner
- AnchorSideRight.Side = asrBottom
- AnchorSideBottom.Control = pnlBottom
- Left = 224
- Height = 109
- Top = 416
- Width = 531
- Anchors = [akTop, akLeft, akRight, akBottom]
- BevelOuter = bvNone
- ClientHeight = 109
- ClientWidth = 531
- TabOrder = 4
- Visible = False
- object vstChat: TVirtualStringTree
- Cursor = 63
- Left = 0
- Height = 90
- Top = 0
- Width = 531
- Align = alClient
- DefaultText = 'Node'
- Header.AutoSizeIndex = 2
- Header.Columns = <
- item
- Position = 0
- Text = 'Time'
- Width = 75
- end
- item
- Position = 1
- Text = 'Sender'
- Width = 75
- end
- item
- Position = 2
- Text = 'Message'
- Width = 381
- end>
- Header.DefaultHeight = 17
- Header.MainColumn = 2
- Header.Options = [hoAutoResize, hoColumnResize, hoDrag, hoVisible]
- Header.ParentFont = True
- Header.Style = hsFlatButtons
- TabOrder = 0
- TreeOptions.AutoOptions = [toAutoDropExpand, toAutoScroll, toAutoScrollOnExpand, toAutoTristateTracking, toAutoDeleteMovedNodes]
- TreeOptions.MiscOptions = [toFullRepaintOnResize, toInitOnSave, toToggleOnDblClick, toWheelPanning]
- TreeOptions.PaintOptions = [toHideSelection, toShowButtons, toShowDropmark, toThemeAware, toUseBlendedImages]
- OnClick = vstChatClick
- OnFreeNode = vstChatFreeNode
- OnGetText = vstChatGetText
- OnPaintText = vstChatPaintText
- end
- object edChat: TEdit
- Left = 0
- Height = 19
- Top = 90
- Width = 531
- Align = alBottom
- OnKeyPress = edChatKeyPress
- TabOrder = 1
- end
- end
- object spChat: TSplitter
- AnchorSideLeft.Control = pcLeft
- AnchorSideLeft.Side = asrBottom
- AnchorSideRight.Control = Owner
- AnchorSideRight.Side = asrBottom
- Cursor = crVSplit
- Left = 224
- Height = 5
- Top = 411
- Width = 531
- Align = alNone
- Anchors = [akLeft, akRight, akBottom]
- AutoSnap = False
- ResizeAnchor = akBottom
- Visible = False
- end
- object oglGameWindow: TOpenGLControl
- AnchorSideLeft.Control = pcLeft
- AnchorSideLeft.Side = asrBottom
- AnchorSideTop.Control = tbMain
- AnchorSideTop.Side = asrBottom
- AnchorSideRight.Control = Owner
- AnchorSideRight.Side = asrBottom
- AnchorSideBottom.Control = pnlChatHeader
- Left = 224
- Height = 365
- Top = 24
- Width = 531
- Anchors = [akTop, akLeft, akRight, akBottom]
- OnDblClick = oglGameWindowDblClick
- OnKeyDown = oglGameWindowKeyDown
- OnMouseDown = oglGameWindowMouseDown
- OnMouseEnter = oglGameWindowMouseEnter
- OnMouseLeave = oglGameWindowMouseLeave
- OnMouseMove = oglGameWindowMouseMove
- OnMouseUp = oglGameWindowMouseUp
- OnMouseWheel = oglGameWindowMouseWheel
- OnPaint = oglGameWindowPaint
- OnResize = oglGameWindowResize
- end
- object MainMenu1: TMainMenu
- Images = ImageList1
- left = 232
- top = 33
- object mnuCentrED: TMenuItem
- Caption = '&CentrED'
- object mnuDisconnect: TMenuItem
- Caption = '&Disconnect'
- Bitmap.Data = {
- 36040000424D3604000000000000360000002800000010000000100000000100
- 200000000000000400006400000064000000000000000000000028415200AB66
- 3CFFA45D38FF2F4F6300509BB50053A3BE007CA9B700BDDADE00DCE4E30088B5
- C20080BCCC005D757F0034383A0034352E004E5F5800313D6200BA7C4AFFBF87
- 5CFFB97E56FFA7623AFFA3D3DD005594AC0060A1B50062A9BE00487E98004165
- 76003C4A48003B4C4700384740001A231E000102020000000000C4885AFFC692
- 68FFCDA280FFC59670FFB67B53FFAB6A46FFA35E3DFF9C5235FF91442CFF2737
- 39000B0F0D0000000000293B48002E47550028354300324953003D6A9500C68C
- 60FFD1A683FFCC9F7BFFCB9E7BFFC79974FFC3926CFFBE8D65FFA86945FF2C3A
- 42002A3138002D3A420074B9C8007FC5D5005F99AE0076B4C5002F3B35003B49
- 4900D0A17CFFD7AE8FFFC9976FFFC38F66FFBD885CFFC08C64FFBC8861FF8351
- 3CFF4F91AB0054889C0043718A004E6974003D4A4B0045779600000000000304
- 0400D7A682FFDCB699FFD0A17DFFCB9A73FFCFA482FFC79974FF896C58FF8787
- 87FF4E4E4EFF3D5F7B003A5C8600364E63002C2D2E00566E72003E7A8E004C95
- B000DDAE8CFFE2BEA4FFD8AB89FFD9B394FFCF9F7AFFA37858FF939393FFA9A9
- A9FF555555FF3C4E51002C322E002C3331001B1F1C00000000003F85B2004D9C
- C100E3B493FFE8C6ADFFE3C0A6FFDBB08FFFB48D71FF2F353300717171FF6767
- 67FF161B1700000000008F432BFF8B4128FF0203030016292F002E3A48003447
- 5200E7BB9CFFE8C0A3FFE5BFA3FFB59D8AFFAEAEAEFF838383FF000000000000
- 0000060A0B009F5734FFAD724CFFA25F3FFF8E4129FF365C8300020303000001
- 010000000000EABE9FFFCEAF9AFFB7B7B7FFBCBCBCFF8C8C8CFF496F7B00498D
- A600AE6D40FFBB835CFFC08F67FFBB8A60FF995033FF32424E00000000000000
- 00000000000004070700101819009E9E9EFF999999FF3C5B6A002A323500C386
- 57FFC9976FFFCB9F7CFFBC8559FFC3926BFFA6633EFF39434500000000004566
- A1004B697900545B8F004E5089003C40570029375400D9A781FFD9AB88FFDAB2
- 94FFD8B092FFCB9972FFC49068FFC89C78FFB2724AFF00000000000000000000
- 00000000000000000000000000000000000000000000E2B18FFFE7C1A8FFE0BA
- 9FFFD8AC8BFFD2A582FFCE9D77FFD1A684FFBE865CFF00000000000000000000
- 0000000000000000000000000000000000000000000000000000E8C0A4FFE9C8
- B0FFE5C3A9FFE1BDA2FFDCB699FFD5AB8AFFD0A482FFB57644FF000000000000
- 0000000000000000000000000000000000000000000000000000ECBEA1FFE7BB
- 9DFFE4B697FFE0B292FFDAAE8FFFDCB598FFCF9F7AFFC38657FFF0A3E30058BA
- 1500187D7C00D063B90000000000000000000000000000000000000000000000
- 0000000000000000000000000000D9A781FFD39E76FF00000000
- }
- ImageIndex = 0
- OnClick = mnuDisconnectClick
- end
- object mnuSeparator1: TMenuItem
- Caption = '-'
- end
- object mnuExit: TMenuItem
- Caption = 'E&xit'
- OnClick = mnuExitClick
- end
- end
- object mnuAdministration: TMenuItem
- Caption = '&Administration'
- object mnuFlush: TMenuItem
- Caption = '&Flush'
- Bitmap.Data = {
- 36040000424D3604000000000000360000002800000010000000100000000100
- 2000000000000004000064000000640000000000000000000000BA6A36FFB969
- 35FFB86935FFB76835FFB56835FFB46734FFB26634FFB06533FFAE6433FFAC63
- 32FFAA6232FFA96132FFA86031FFA76031FFA66031FFA86131FFBA6A35FFEBC6
- ADFFEAC5ADFFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFB
- F8FFFEFBF8FFFEFBF8FFFEFBF8FFC89A7CFFC79879FFA76031FFBA6B37FFEDCA
- B3FFE0A27AFFFEFAF7FF62C088FF62C088FF62C088FF62C088FF62C088FF62C0
- 88FF62C088FF62C088FFFDF9F6FFCA8D65FFC99B7CFFA76031FFBB6C38FFEECC
- B6FFE1A27AFFFEFAF7FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDC
- C2FFBFDCC2FFBFDCC2FFFDF9F6FFCD9068FFCC9E81FFA86132FFBB6B38FFEFCE
- B8FFE1A279FFFEFAF7FF62C088FF62C088FF62C088FF62C088FF62C088FF62C0
- 88FF62C088FF62C088FFFDF9F6FFCF936AFFCEA384FFAA6132FFBA6A36FFEFD0
- BBFFE2A27AFFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFB
- F8FFFEFBF8FFFEFBF8FFFEFBF8FFD3966DFFD2A78AFFAB6232FFBB6A36FFF0D2
- BEFFE2A37AFFE2A37AFFE1A37AFFE2A37BFFE1A37BFFE0A178FFDE9F77FFDD9F
- 76FFDC9D74FFD99B72FFD89971FFD69970FFD5AB8EFFAD6333FFBB6A36FFF2D5
- C2FFE3A37AFFE3A37AFFE2A37BFFE2A37BFFE2A47BFFE1A279FFE0A178FFDEA0
- 77FFDE9E75FFDC9D74FFDA9B73FFD99B73FFDAB095FFAF6433FFBB6A36FFF2D8
- C5FFE3A47BFFE3A37AFFE3A47AFFE2A47BFFE2A37BFFE1A37BFFE1A279FFDFA0
- 77FFDE9F76FFDD9E74FFDB9C72FFDC9D74FFDDB59AFFB16534FFBB6B36FFF4D9
- C7FFE6A67DFFC88C64FFC98D65FFC98E67FFCB926CFFCB926DFFCA9069FFC88C
- 65FFC88C64FFC88C64FFC88C64FFDA9C74FFE1BA9FFFB36634FFBB6B36FFF4DC
- C9FFE7A77DFFF9ECE1FFF9ECE1FFF9EDE3FFFCF4EEFFFDFAF7FFFDF7F3FFFAED
- E5FFF7E7DBFFF7E5D9FFF6E5D8FFDEA077FFE4BEA4FFB46734FFBC6B36FFF5DD
- CCFFE7A87EFFFAF0E8FFFAF0E8FFC98D66FFFAF0E9FFFDF8F3FFFEFAF8FFFCF4
- EFFFF9E9DFFFF7E7DBFFF7E5D9FFE0A278FFE7C2A9FFB66835FFBC6B36FFF6DF
- D0FFE8A87EFFFCF6F1FFFCF6F1FFC88C64FFFAF1E9FFFBF4EEFFFDFAF7FFFDF9
- F6FFFAF0E8FFF8E8DDFFF7E6DBFFE1A37AFFEFD5C3FFB76935FFBC6B36FFF6DF
- D1FFE9AA80FFFEFAF6FFFDFAF6FFC88C64FFFBF3EEFFFBF1EAFFFCF6F2FFFEFB
- F8FFFCF6F1FFF9ECE2FFF8E7DBFFEED0BAFFECD0BDFFBB703EFFBC6B36FFF6E0
- D1FFF7E0D1FFFEFBF8FFFEFBF7FFFDF9F6FFFCF5F0FFFAF0EAFFFBF2EDFFFDF9
- F6FFFDFAF7FFFBF1EBFFF8E9DFFFECD0BDFFC9895EFFCECFD100F0A3E300BC6B
- 36FFBC6B36FFBC6B36FFBC6B36FFBB6B36FFBB6B36FFBB6A36FFBB6A36FFBC6C
- 39FFBD6E3BFFBB6D3AFFBB6B38FFBB703EFFCECFD100CECFD100
- }
- ImageIndex = 1
- OnClick = mnuFlushClick
- end
- object mnuShutdown: TMenuItem
- Caption = '&Shutdown'
- Bitmap.Data = {
- 36040000424D3604000000000000360000002800000010000000100000000100
- 2000000000000004000064000000640000000000000000000000000000000000
- 000000000000E8E340000000000000000000080000000000000007CE03000000
- 000003CE0700FFFFFF0000000000000000000000000000000000000000000000
- 00000000000000000000E0000000444BD9FF474FDAFF434BD9FF4048D7FF3E47
- D8FF353ED5FF3E5B6800000000000400000020E44000D4E3400000000000C0FF
- 0700C0FF0700C0FF0700636CE4FF8997FAFF8495FFFF7F90FCFF7D8EFAFF7D8D
- F7FF7D8BF2FF5159DDFFC0FF0700C0FF0700000000000000000000F8FF000000
- 000000F8FF006C75E4FF96A5FAFF5A74FFFF3250FFFF304FFFFF2C49FEFF2542
- FAFF4860F9FF8694F4FF5159DDFF000000000000000000000000000000001800
- 18007981E7FF9FADFBFF6781FFFF405EFFFF405EFFFF3C59FFFF3755FFFF3350
- FFFF2846FDFF4A65FDFF8996F6FF545EDEFF0800000000000000000000007178
- E3FFA2B2FCFF738FFFFF4F70FFFF4F6EFFFF4B69FFFF4664FFFF415EFFFF3C5A
- FFFF3755FFFF2C4BFFFF4E67FFFF8493FAFF4048D8FF38394100000000007D84
- E5FFA6BBFFFF5F7FFFFF5F7EFFFF5A79FFFF5573FFFF506EFFFF4B69FFFF4664
- FFFF415EFFFF3B59FFFF314FFFFF8799FFFF4D55DBFFC0FF070008000000858A
- E6FFABBEFFFF6D8DFFFF6989FFFF6583FFFF5F7EFFFF5A79FFFF5574FFFF506F
- FFFF4B69FFFF4663FFFF3F5CFFFF8A9BFFFF535BDCFF00000000010001008B91
- E7FFB1C4FFFF7698FFFF7393FFFF6E8EFFFF6989FFFF6583FFFF5F7EFFFF5A79
- FFFF5573FFFF4F6EFFFF4867FFFF90A1FFFF5A62DEFF00000000C0FF07009298
- E9FFB8CDFFFF7DA0FFFF7C9DFFFF7899FFFF7393FFFF6E8EFFFF6989FFFF6583
- FFFF607EFFFF5978FFFF4F70FFFF98AAFFFF636AE0FFE000000000000000959A
- EAFFBCCDFCFF9CBBFFFF81A5FFFF81A2FFFF7C9EFFFF7899FFFF7493FFFF6F8E
- FFFF6989FFFF6080FFFF7893FFFF9EADFBFF656CE0FFC0FF070068E140001CE1
- 4000A5ACEFFFC1D1FCFFA0BFFFFF86AAFFFF85A7FFFF81A2FFFF7C9DFFFF7898
- FFFF6F90FFFF85A1FFFFACBAFBFF838BE8FF0000000000000000FEFF7F00FCFF
- 3F0000000000A6ADEEFFC4D4FCFFA3C2FFFF8BAFFFFF89ABFFFF84A7FFFF7EA0
- FFFF91AEFFFFB4C3FBFF8C93EAFF275B68000000000004000000000000000000
- 0000FCFF3F00FEFF7F00A9B1F0FFC2D3FCFFC1D6FFFFBDD1FFFFBBCFFFFFB9CE
- FFFFB7C8FCFF989FEDFFFEFF7F00FEFF7F00FEFF7F00FEFF7F00080000000000
- 00000000000000000000000000009EA3EBFFA0A5ECFF9DA2EBFF9BA0EBFF989E
- EAFF9297E9FF0000000000000000000000000000000000000000F0A3E300183A
- EE00187D7C00B81A1B000851A500225B6800000000000400000088E040003CE0
- 400000000000000000000000000050E040000000000000000000
- }
- ImageIndex = 2
- OnClick = mnuShutdownClick
- end
- object mnuSeparator2: TMenuItem
- Caption = '-'
- end
- object mnuAccountControl: TMenuItem
- Caption = '&Account Management'
- Bitmap.Data = {
- 36040000424D3604000000000000360000002800000010000000100000000100
- 2000000000000004000064000000640000000000000000000000000000000000
- 00000000000000000000366A820020B3F9000D8BD2000D629300526471000000
- 00000000000033606A00236889003173930047899F00458B9F004B8B9C00578D
- 9C00669BA6007BB1C400B35020FFA0401FFFAA4522FFAC4622FFAB4422FFA741
- 21FF9F3D1FFFB24F24FF00000000000000000000000000000000000000000000
- 00002579CDFF866161FFBF6035FFFEB961FFFEB962FFFEB962FFFEB962FFFEB9
- 61FFFEB961FFB14924FF7A646DFF2E7ECEFF6DA2D3FF418DA600638D9900297D
- D1FF82BAEEFF9F6658FFF5BB84FFFFAC5BFFFEA85AFFFEA257FFFE9C53FFFFA3
- 55FFFF9F50FFF8AE78FFA45E4AFF83BCEFFF2A77CAFF0000000000000000287C
- CEFF78B3EAFFB39E94FFFFB760FFFFB663FFFEB261FFFEAC5DFFFEA559FFFD9E
- 53FFFE974EFFFF8D43FFBC8F82FF7EB8EDFF2974C7FF5D8C9C004F889900638B
- 94008A5444FFFCC8ABFFFFD198FFFEC76DFFFEBF68FFFEB964FFFEB15EFFFEA8
- 59FFFDA054FFFFB77AFFFEA980FF885042FF00000000000000000A1129000000
- 000000000000C44C1FFFF6E4D6FFFFE4A4FFFFD472FFFFC969FFFFC063FFFFB6
- 5FFFFFC180FFF6D7C6FFC5491FFF197498003E869A004F899A00307793003F77
- 90004877860052849100BC481CFFF4E2D4FF4E7BA9FF4D7BA8FF4D7BA8FF4E7B
- A9FFF3D6C3FFBE461CFF000000000000000012121500202035002244C200171A
- 310000000000000000006A3C25FF346DA7FF9CCCF8FFAFD4F7FFAFD4F7FFA5CF
- F6FF3474AEFF683E2DFF176B92001F7399001C6A8F002E7C9C00153E6400153F
- 590010324A00204E5F002A5B92FFA6CAEEFFABCCEAFFA7D0F6FFA8D0F6FFABCC
- EAFFA7CDEEFF2D629AFF000000003E3D4C001B286B00222E8700013BF4005676
- DC0000000000000000001F5E9BFFD9E8F7FF97C5F1FF8EBBE5FF7FA9D1FF89B5
- DFFFCDDFEEFF2368A7FF3A7F9000417F8C002C587300164A7200546C8100657A
- 87007C8D9900899DA6000C3E87FF7C97B8FF8AB7E4FF719CC8FF15406EFF1944
- 72FF22456BFF113B66FF0000000052536800031F8600011B8F00093DF5006478
- C80000000000000000000F4B97FF12589FFF0F4A8AFF0F4B87FF114B87FF154C
- 85FF124175FF0F335CFF5C828500627B8100546C7E0050647B00736976007D70
- 78008A838A00908990009A929500114E96FF12589BFF125899FF115393FF0F4A
- 87FF0E3E71FF132E4BFF000000001B1B1B002B3C8B0001239F00071E6A000000
- 00000000000000000000000000000000000012488DFF104B90FF0F488AFF1142
- 7DFF15335BFF657174006B777D0057717E0061707D006C627200F0A3E30008E0
- 400000000000000000005D5C68005C637000686E7F0076889700BEC7CC004746
- 4500000000000000000000000000000000003E4560000E32B600
- }
- ImageIndex = 3
- OnClick = mnuAccountControlClick
- end
- object mnuRegionControl: TMenuItem
- Caption = '&Region Management'
- Bitmap.Data = {
- 36040000424D3604000000000000360000002800000010000000100000000100
- 2000000000000004000064000000640000000000000000000000454D47FF5F6A
- 61FF636F64FF646F64FF143F56FF295F86FF4988BCFF4A86A7FF5D7070FF646F
- 66FF646F66FF646F67FF646F67FF647067FF616C63FF474E48FF5F6A60FFEBF5
- ECFFD4EDD7FFD4EED7FF2E6784FF94C7F9FF91C9F9FF4185C9FF256BACFFB7D9
- D4FFD4E2ECFFCFE5D6FFD5EDD9FFD8EFDCFFD5EDD9FF616C63FF626E64FFEEF8
- EFFFA4DBBCFF8CCAA6FF4389AAFFE0F2FFFF549AD8FF1A7ABEFF4998C5FF3B86
- BFFF6074E7FF81C5A3FF8CD0A6FF85CAA0FFD2E9D7FF646F67FF616E64FFECF7
- EEFF96DBAFFF7FC99AFF63ADA5FF7AB6D5FF90B7D1FF55C9E4FF5BDFF5FF78D0
- EDFF4696D9FF76C1A1FF87D0A0FF80CA9AFFD6EEDAFF646F66FF616E63FFF7FB
- F8FF9BDEC4FF73C393FF80CF9FFF53AD9CFF73B9D5FFC2F6FDFF63DFF7FF5DE2
- F8FF79D3F0FF4395DAFF6CB8A4FF74C38FFFD7EFDAFF646F66FF616E63FFF8FC
- F9FFBCFBFBFF9DE7DFFF93E1BBFF77C997FF63BDAEFF77CBE7FFC7F7FDFF5EDC
- F5FF5AE1F7FF7BD4F1FF4395DDFF589BC3FFD0E9DBFF646F66FF606D63FFF8FC
- F8FFA4EBEDFF8DDFDFFF97EBEBFF72CFB7FF74CA99FF4790BDFF79D3EEFFC7F7
- FDFF5FDCF5FF5BE2F7FF7AD6F2FF4399DFFFB1D4D9FF646F66FF606D62FFF8FC
- F8FFAFFAFAFF94EBEBFFA2F9FAFF8AEAEBFF95EDF3FF595FEBFF6BCFE5FF7CD4
- EEFFC4F6FDFF6CDDF6FF6DCAEDFF63A3D7FF66A1D3FF617474FF606D61FFF8FC
- F8FF9FF1F1FF81DDDFFF8AEAEBFF75DEDEFF6591EEFF557EE2FF68DCDDFF5BBC
- C5FF80D5EDFFB2E3F9FF8BC0E7FFAED3F6FFC4E0FCFF669DD0FF5F6D61FFF8FC
- F8FFA6F9F9FF8BE9EAFF99F8FAFF78D3EBFF656BFFFF77DCEAFF70DFDEFFC1C5
- B5FFA8C8C8FF77BEE7FFB4D2F0FFE5F3FFFFACD2EFFF4A89BEFF5F6D61FFF8FC
- F8FF90EAEAFF78DDDEFF81E9EAFF4E6BE2FF639DEEFF5ED7D7FF5BCBC9FFD4B0
- 97FFE2BA9FFFA1ADA9FF58A5D8FF85B1DBFF469DD0FF4E7C8CFF5F6D61FFF7FC
- F8FF9FF9F9FF85E9EAFF84D3FAFF525AF0FF87F2F7FF60DAD7FF98D5CAFFE0B7
- 9CFFEDC7A9FFE0B394FFE6B898FFDEAE8CFFD7ECD6FF636E64FF5F6D60FFF7FC
- F8FF8AEAEAFF72DDDEFF5665F0FF569FDFFF73E8E8FF46C1C1FFBBBBA5FFD0A4
- 83FFDEB08EFFD19E7AFFD6A27AFFCF9871FFD7EBD5FF626E64FF5F6D60FFF7FC
- F8FF9DF9F9FF6CB4EDFF6271FEFF80E7E9FF8CF4F4FF52CDCDFFECC2A4FFDDAD
- 8AFFEBBA97FFDDA780FFE2AB83FFDAA075FFD9EAD4FF616E64FF5C6A5DFFFBFC
- FBFFFCFEFCFFF7FCF8FFF7FCF8FFF7FCF8FFF8FCF8FFF7FCF9FFF8FCF8FFF8FC
- F8FFECF7EEFFEDF7EEFFEFF6EDFFEEF4ECFFEBF4EBFF5E6A5FFF536876FF5C6A
- 5DFF5F6D60FF5F6D60FF5F6D60FF5F6D60FF5F6D61FF5F6D61FF5F6D61FF5F6D
- 61FF606D61FF606D62FF606D62FF606D63FF5E6A5FFF454E46FF
- }
- ImageIndex = 19
- OnClick = mnuRegionControlClick
- end
- object mnuLargeScaleCommands: TMenuItem
- Caption = 'Large Scale Commands'
- Bitmap.Data = {
- 36040000424D3604000000000000360000002800000010000000100000000100
- 2000000000000004000064000000640000000000000000000000000000000000
- 0000000000000000000000000000338037FF317D34FF2F7A32FF2F7A32FF2F7A
- 32FF2F7A32FF00000000000000000000FF00FF00000000000000000000000000
- 0000000000003D8F43FF3A8A3FFF9BC59DFFB3C29DFFBDC19CFFBEC39DFFB0D2
- B1FF7EC09AFF2F7A32FF2F7A32FF0000FF00FF00000000000000000000000000
- 0000469B4DFF70B786FFAEE8C7FFC0D2A0FFC5B381FFCAB47DFFCCAF78FFB9A7
- 78FF80CC95FFA0DABCFF66A87AFF2F7A32FFFF00000000000000000000004EA8
- 57FF76C08DFF99D7B3FF79C080FFBCC27EFFC6A96AFFD7B169FFD6AD65FFBC9B
- 5EFF60AD6AFF599768FF81C199FF67A97BFF2F7A32FF000000000000000053AF
- 5DFFB5EAD3FF69BC74FF6EBD71FFBEB66DFFC9A35BFFDFAB5BFFDDA858FFC192
- 4EFF9DA958FF78B166FF5A9667FFA6DCC0FF2F7A32FF000000005ABA66FF92D7
- AFFFA0DEB4FF84C670FFA8D080FFC5A55CFFD0A757FFE0AA56FFDAA651FFC798
- 4AFFB98C47FFB69B57FF819F65FF79BF90FF81BE9CFF2F7A32FF5EBF6AFFB0E9
- CFFF83D490FFBFDC8AFFC3CB82FFCCA256FFDAAF5CFFDCAF5BFFC99A4BFFBF86
- 43FFB78443FFB99A52FF96A562FF65A676FFA2D8BDFF2F7A32FF60C36DFFBEEF
- DDFF73D17DFF90D16CFFBCE09EFFC7A75EFFD3B05EFFC69953FFC6BC6EFFAFD1
- 7AFFB4C46DFFAFA95FFF7BA957FF5AA367FFB1E3CEFF317E35FF61C46EFFBEF0
- DCFF81D883FF77DB6DFFBFE59AFFCCDFA7FFCAA85DFFC2BD6CFFB8DA8BFFA6D8
- 60FF77D13FFF6AD046FF59BC50FF63AB6CFFB2E4CEFF358239FF61C46EFFB3EC
- D2FF9BE2A2FF9DEA8DFFD4EDB7FFD0EAC7FFCFB96EFFCCB166FFCBC975FF76DB
- 67FF66D94DFF65D74DFF6CD35DFF73BB7EFFA5DBC2FF39883EFF61C46EFF98DE
- B5FFB5EBCCFFB1EFA7FFC9EEA9FFD1EAC9FFD5CF8DFFD9CB8BFFCDB466FFBCBC
- 67FF9AD671FF82DE73FF7ADC71FF91D0A3FF88C8A4FF3D8F43FF0000000061C4
- 6EFFC0F3E2FFB5EFB4FFB5F0ACFFC1EDB7FFD4E3B7FFD9D89CFFDAD395FFCDB5
- 6DFFC7B36DFFB5CB84FF94DF9AFFAFE7CDFF469B4DFF000000000000000061C4
- 6EFF87D7A0FFC0F2DEFFC7F2D6FFD5EFD5FFD0E9CFFFD5DBA6FFDCDEABFFDBCD
- 90FFD7C88BFFC9C18EFFBDD5AFFF7AC791FF4AA353FF00000000FFFFFF00FFFF
- FF0061C46EFF8CD8A2FFCDF5E8FFD4EDDAFFCEEDD3FFCFDFAFFFD6DEB5FFD4D4
- A2FFCED0A1FFC4D0AAFF87C991FF53AF5DFFFF00000000000000080000003737
- 37003636360061C46EFF61C46EFFA5E1BBFFBAEACCFFC5E0BEFFC5DAB4FFBDD7
- B0FFA6D7ACFF5DBE69FF5ABA66FF00000000EFFFFF00FFFFFF00F0A3E300B8EB
- 760000000000000000000851A50061C46EFF61C46EFF61C46EFF61C46EFF61C4
- 6EFF61C46EFF000000000000000050E912000000000000000000
- }
- ImageIndex = 14
- OnClick = mnuLargeScaleCommandsClick
- end
- end
- object mnuSettings: TMenuItem
- Caption = '&Settings'
- object mnuShowAnimations: TMenuItem
- AutoCheck = True
- Caption = '&Animations'
- Checked = True
- Hint = 'Toggles whether to animate tiles or not.'
- OnClick = mnuShowAnimationsClick
- end
- object mnuSecurityQuestion: TMenuItem
- AutoCheck = True
- Caption = '&Security question'
- Checked = True
- Hint = 'Ask for permission before processing area commands.'
- end
- end
- object mnuHelp: TMenuItem
- Caption = '&?'
- object mnuAbout: TMenuItem
- Caption = '&About'
- OnClick = mnuAboutClick
- end
- end
- end
- object ImageList1: TImageList
- left = 264
- top = 32
- Bitmap = {
- 4C69150000001000000010000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000D9A781FFD39E76FF00000000000000000000000000000000000000000000
- 0000000000000000000000000000ECBEA1FFE7BB9DFFE4B697FFE0B292FFDAAE
- 8FFFDCB598FFCF9F7AFFC38657FF000000000000000000000000000000000000
- 0000000000000000000000000000E8C0A4FFE9C8B0FFE5C3A9FFE1BDA2FFDCB6
- 99FFD5AB8AFFD0A482FFB57644FF000000000000000000000000000000000000
- 00000000000000000000E2B18FFFE7C1A8FFE0BA9FFFD8AC8BFFD2A582FFCE9D
- 77FFD1A684FFBE865CFF00000000000000000000000000000000000000000000
- 00000000000000000000D9A781FFD9AB88FFDAB294FFD8B092FFCB9972FFC490
- 68FFC89C78FFB2724AFF00000000000000000000000000000000000000000000
- 00009E9E9EFF999999FF0000000000000000C38657FFC9976FFFCB9F7CFFBC85
- 59FFC3926BFFA6633EFF00000000000000000000000000000000EABE9FFFCEAF
- 9AFFB7B7B7FFBCBCBCFF8C8C8CFF0000000000000000AE6D40FFBB835CFFC08F
- 67FFBB8A60FF995033FF000000000000000000000000E7BB9CFFE8C0A3FFE5BF
- A3FFB59D8AFFAEAEAEFF838383FF0000000000000000000000009F5734FFAD72
- 4CFFA25F3FFF8E4129FF000000000000000000000000E3B493FFE8C6ADFFE3C0
- A6FFDBB08FFFB48D71FF00000000717171FF676767FF00000000000000008F43
- 2BFF8B4128FF00000000000000000000000000000000DDAE8CFFE2BEA4FFD8AB
- 89FFD9B394FFCF9F7AFFA37858FF939393FFA9A9A9FF555555FF000000000000
- 00000000000000000000000000000000000000000000D7A682FFDCB699FFD0A1
- 7DFFCB9A73FFCFA482FFC79974FF896C58FF878787FF4E4E4EFF000000000000
- 00000000000000000000000000000000000000000000D0A17CFFD7AE8FFFC997
- 6FFFC38F66FFBD885CFFC08C64FFBC8861FF83513CFF00000000000000000000
- 000000000000000000000000000000000000C68C60FFD1A683FFCC9F7BFFCB9E
- 7BFFC79974FFC3926CFFBE8D65FFA86945FF0000000000000000000000000000
- 0000000000000000000000000000C4885AFFC69268FFCDA280FFC59670FFB67B
- 53FFAB6A46FFA35E3DFF9C5235FF91442CFF0000000000000000000000000000
- 0000000000000000000000000000BA7C4AFFBF875CFFB97E56FFA7623AFF0000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000AB663CFFA45D38FF000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000BC6B36FFBC6B36FFBC6B36FFBC6B
- 36FFBB6B36FFBB6B36FFBB6A36FFBB6A36FFBC6C39FFBD6E3BFFBB6D3AFFBB6B
- 38FFBB703EFF0000000000000000BC6B36FFF6E0D1FFF7E0D1FFFEFBF8FFFEFB
- F7FFFDF9F6FFFCF5F0FFFAF0EAFFFBF2EDFFFDF9F6FFFDFAF7FFFBF1EBFFF8E9
- DFFFECD0BDFFC9895EFF00000000BC6B36FFF6DFD1FFE9AA80FFFEFAF6FFFDFA
- F6FFC88C64FFFBF3EEFFFBF1EAFFFCF6F2FFFEFBF8FFFCF6F1FFF9ECE2FFF8E7
- DBFFEED0BAFFECD0BDFFBB703EFFBC6B36FFF6DFD0FFE8A87EFFFCF6F1FFFCF6
- F1FFC88C64FFFAF1E9FFFBF4EEFFFDFAF7FFFDF9F6FFFAF0E8FFF8E8DDFFF7E6
- DBFFE1A37AFFEFD5C3FFB76935FFBC6B36FFF5DDCCFFE7A87EFFFAF0E8FFFAF0
- E8FFC98D66FFFAF0E9FFFDF8F3FFFEFAF8FFFCF4EFFFF9E9DFFFF7E7DBFFF7E5
- D9FFE0A278FFE7C2A9FFB66835FFBB6B36FFF4DCC9FFE7A77DFFF9ECE1FFF9EC
- E1FFF9EDE3FFFCF4EEFFFDFAF7FFFDF7F3FFFAEDE5FFF7E7DBFFF7E5D9FFF6E5
- D8FFDEA077FFE4BEA4FFB46734FFBB6B36FFF4D9C7FFE6A67DFFC88C64FFC98D
- 65FFC98E67FFCB926CFFCB926DFFCA9069FFC88C65FFC88C64FFC88C64FFC88C
- 64FFDA9C74FFE1BA9FFFB36634FFBB6A36FFF2D8C5FFE3A47BFFE3A37AFFE3A4
- 7AFFE2A47BFFE2A37BFFE1A37BFFE1A279FFDFA077FFDE9F76FFDD9E74FFDB9C
- 72FFDC9D74FFDDB59AFFB16534FFBB6A36FFF2D5C2FFE3A37AFFE3A37AFFE2A3
- 7BFFE2A37BFFE2A47BFFE1A279FFE0A178FFDEA077FFDE9E75FFDC9D74FFDA9B
- 73FFD99B73FFDAB095FFAF6433FFBB6A36FFF0D2BEFFE2A37AFFE2A37AFFE1A3
- 7AFFE2A37BFFE1A37BFFE0A178FFDE9F77FFDD9F76FFDC9D74FFD99B72FFD899
- 71FFD69970FFD5AB8EFFAD6333FFBA6A36FFEFD0BBFFE2A27AFFFEFBF8FFFEFB
- F8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFB
- F8FFD3966DFFD2A78AFFAB6232FFBB6B38FFEFCEB8FFE1A279FFFEFAF7FF62C0
- 88FF62C088FF62C088FF62C088FF62C088FF62C088FF62C088FF62C088FFFDF9
- F6FFCF936AFFCEA384FFAA6132FFBB6C38FFEECCB6FFE1A27AFFFEFAF7FFBFDC
- C2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFFDF9
- F6FFCD9068FFCC9E81FFA86132FFBA6B37FFEDCAB3FFE0A27AFFFEFAF7FF62C0
- 88FF62C088FF62C088FF62C088FF62C088FF62C088FF62C088FF62C088FFFDF9
- F6FFCA8D65FFC99B7CFFA76031FFBA6A35FFEBC6ADFFEAC5ADFFFEFBF8FFFEFB
- F8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFB
- F8FFC89A7CFFC79879FFA76031FFBA6A36FFB96935FFB86935FFB76835FFB568
- 35FFB46734FFB26634FFB06533FFAE6433FFAC6332FFAA6232FFA96132FFA860
- 31FFA76031FFA66031FFA86131FF000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00009EA3EBFFA0A5ECFF9DA2EBFF9BA0EBFF989EEAFF9297E9FF000000000000
- 000000000000000000000000000000000000000000000000000000000000A9B1
- F0FFC2D3FCFFC1D6FFFFBDD1FFFFBBCFFFFFB9CEFFFFB7C8FCFF989FEDFF0000
- 0000000000000000000000000000000000000000000000000000A6ADEEFFC4D4
- FCFFA3C2FFFF8BAFFFFF89ABFFFF84A7FFFF7EA0FFFF91AEFFFFB4C3FBFF8C93
- EAFF0000000000000000000000000000000000000000A5ACEFFFC1D1FCFFA0BF
- FFFF86AAFFFF85A7FFFF81A2FFFF7C9DFFFF7898FFFF6F90FFFF85A1FFFFACBA
- FBFF838BE8FF000000000000000000000000959AEAFFBCCDFCFF9CBBFFFF81A5
- FFFF81A2FFFF7C9EFFFF7899FFFF7493FFFF6F8EFFFF6989FFFF6080FFFF7893
- FFFF9EADFBFF656CE0FF00000000000000009298E9FFB8CDFFFF7DA0FFFF7C9D
- FFFF7899FFFF7393FFFF6E8EFFFF6989FFFF6583FFFF607EFFFF5978FFFF4F70
- FFFF98AAFFFF636AE0FF00000000000000008B91E7FFB1C4FFFF7698FFFF7393
- FFFF6E8EFFFF6989FFFF6583FFFF5F7EFFFF5A79FFFF5573FFFF4F6EFFFF4867
- FFFF90A1FFFF5A62DEFF0000000000000000858AE6FFABBEFFFF6D8DFFFF6989
- FFFF6583FFFF5F7EFFFF5A79FFFF5574FFFF506FFFFF4B69FFFF4663FFFF3F5C
- FFFF8A9BFFFF535BDCFF00000000000000007D84E5FFA6BBFFFF5F7FFFFF5F7E
- FFFF5A79FFFF5573FFFF506EFFFF4B69FFFF4664FFFF415EFFFF3B59FFFF314F
- FFFF8799FFFF4D55DBFF00000000000000007178E3FFA2B2FCFF738FFFFF4F70
- FFFF4F6EFFFF4B69FFFF4664FFFF415EFFFF3C5AFFFF3755FFFF2C4BFFFF4E67
- FFFF8493FAFF4048D8FF0000000000000000000000007981E7FF9FADFBFF6781
- FFFF405EFFFF405EFFFF3C59FFFF3755FFFF3350FFFF2846FDFF4A65FDFF8996
- F6FF545EDEFF00000000000000000000000000000000000000006C75E4FF96A5
- FAFF5A74FFFF3250FFFF304FFFFF2C49FEFF2542FAFF4860F9FF8694F4FF5159
- DDFF00000000000000000000000000000000000000000000000000000000636C
- E4FF8997FAFF8495FFFF7F90FCFF7D8EFAFF7D8DF7FF7D8BF2FF5159DDFF0000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000444BD9FF474FDAFF434BD9FF4048D7FF3E47D8FF353ED5FF000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000012488DFF104B90FF0F488AFF11427DFF15335BFF000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000114E96FF12589BFF125899FF115393FF0F4A87FF0E3E71FF132E4BFF0000
- 0000000000000000000000000000000000000000000000000000000000000F4B
- 97FF12589FFF0F4A8AFF0F4B87FF114B87FF154C85FF124175FF0F335CFF0000
- 0000000000000000000000000000000000000000000000000000000000000C3E
- 87FF7C97B8FF8AB7E4FF719CC8FF15406EFF194472FF22456BFF113B66FF0000
- 0000000000000000000000000000000000000000000000000000000000001F5E
- 9BFFD9E8F7FF97C5F1FF8EBBE5FF7FA9D1FF89B5DFFFCDDFEEFF2368A7FF0000
- 0000000000000000000000000000000000000000000000000000000000002A5B
- 92FFA6CAEEFFABCCEAFFA7D0F6FFA8D0F6FFABCCEAFFA7CDEEFF2D629AFF0000
- 0000000000000000000000000000000000000000000000000000000000006A3C
- 25FF346DA7FF9CCCF8FFAFD4F7FFAFD4F7FFA5CFF6FF3474AEFF683E2DFF0000
- 000000000000000000000000000000000000000000000000000000000000BC48
- 1CFFF4E2D4FF4E7BA9FF4D7BA8FF4D7BA8FF4E7BA9FFF3D6C3FFBE461CFF0000
- 0000000000000000000000000000000000000000000000000000C44C1FFFF6E4
- D6FFFFE4A4FFFFD472FFFFC969FFFFC063FFFFB65FFFFFC180FFF6D7C6FFC549
- 1FFF00000000000000000000000000000000000000008A5444FFFCC8ABFFFFD1
- 98FFFEC76DFFFEBF68FFFEB964FFFEB15EFFFEA859FFFDA054FFFFB77AFFFEA9
- 80FF885042FF000000000000000000000000287CCEFF78B3EAFFB39E94FFFFB7
- 60FFFFB663FFFEB261FFFEAC5DFFFEA559FFFD9E53FFFE974EFFFF8D43FFBC8F
- 82FF7EB8EDFF2974C7FF0000000000000000297DD1FF82BAEEFF9F6658FFF5BB
- 84FFFFAC5BFFFEA85AFFFEA257FFFE9C53FFFFA355FFFF9F50FFF8AE78FFA45E
- 4AFF83BCEFFF2A77CAFF0000000000000000000000002579CDFF866161FFBF60
- 35FFFEB961FFFEB962FFFEB962FFFEB962FFFEB961FFFEB961FFB14924FF7A64
- 6DFF2E7ECEFF6DA2D3FF0000000000000000000000000000000000000000B350
- 20FFA0401FFFAA4522FFAC4622FFAB4422FFA74121FF9F3D1FFFB24F24FF0000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000000000000000C8C8
- C8FFC5C5C5FF0000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000000000000000C4C4
- C4FFD9D9D9FFBEBEBEFF00000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000000000000000C1C1
- C1FFF7F7F7FFD5D5D5FFB6B6B6FF000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000000000000000BDBD
- BDFFF7F7F7FFEFEFEFFFD0D0D0FFAFAFAFFF0000000000000000000000000000
- 000000000000000000000000000000000000000000000000000000000000B9B9
- B9FFF4F4F4FFECECECFFEDEDEDFFCBCBCBFFA7A7A7FF00000000000000000000
- 000000000000000000000000000000000000000000000000000000000000B5B5
- B5FFF2F2F2FFE8E8E8FFE7E7E7FFEAEAEAFFC6C6C6FF9E9E9EFF000000000000
- 000000000000000000000000000000000000000000000000000000000000B1B1
- B1FFF0F0F0FFE4E4E4FFE2E2E2FFE2E2E2FFE7E7E7FFC1C1C1FF969696FF0000
- 000000000000000000000000000000000000000000000000000000000000ADAD
- ADFFEEEEEEFFE1E1E1FFDFDFDFFFE0E0E0FFE7E7E7FFE4E4E4FFBBBBBBFF8E8E
- 8EFF00000000000000000000000000000000000000000000000000000000A9A9
- A9FFF2F2F2FFE5E5E5FFE2E2E2FFE3E3E3FF959595FF919191FF8D8D8DFF8989
- 89FF868686FF000000000000000000000000000000000000000000000000A4A4
- A4FFD7D7D7FF9D9D9DFFD0D0D0FFEEEEEEFF919191FF00000000000000000000
- 000000000000000000000000000000000000000000000000000000000000A0A0
- A0FF9C9C9CFF00000000949494FFD9D9D9FFC1C1C1FF898989FF000000000000
- 0000000000000000000000000000000000000000000000000000000000009C9C
- 9CFF000000000000000000000000ADADADFFF2F2F2FF848484FF000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000888888FFDBDBDBFFB7B7B7FF7D7D7DFF0000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000AAAAAAFFDBDBDBFF797979FF0000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000007C7C7CFF787878FF757575FF0000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000000000004FAADBFF5093
- CAFF4E90C8FF2F9DD2FF00000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000050A8D9FF6AA5D8FFC9E1
- F7FFCBE3F8FF4295CAFF3182C2FF000000000000000000000000000000000000
- 0000000000000000000000000000000000002FBAE4FFA7D4F4FFC5E1F8FFCCE3
- F9FFCCE3F9FFBDDBF7FF4F90C9FF000000000000000000000000000000000000
- 00000000000000000000000000002FBAE4FFC3EDF8FFA8E2F8FF6CAEDDFFA5CF
- F4FFA5CFF4FFBDDBF7FF5393CBFF000000000000000000000000000000000000
- 000000000000000000002FBAE4FFC3EDF8FFB3F4FCFF68D9F5FF6FCFF3FF599D
- D0FF73ABDDFF4F91C9FF00000000000000000000000000000000000000000000
- 0000000000002FBAE4FFC3EDF8FFB3F4FCFF60DCF5FF44D6F4FF8EEEFAFF5DB4
- E6FF3B8FD9FF0000000000000000000000000000000000000000000000000000
- 00002FBAE4FFC3EDF8FFB3F4FCFF60DCF5FF44D6F4FF8EEEFAFF5DB4E6FF3B8F
- D9FF000000000000000000000000000000000000000000000000000000002790
- BFFFC3EDF8FFB3F4FCFF60DCF5FF44D6F4FF8EEEFAFF5DB4E6FF3B8FD9FF0000
- 00000000000000000000000000000000000000000000000000002689B9FFBEE6
- F2FFB3F4FCFF60DCF5FF44D6F4FF8EEEFAFF5DB4E6FF3B8FD9FF000000000000
- 000000000000000000000000000000000000000000002689B9FFB0CBE1FF67A9
- C8FF60DCF5FF44D6F4FF8EEEFAFF5DB4E6FF3B8FD9FF00000000000000000000
- 0000000000000000000000000000000000001E6D93FFC8E1F2FFD1E7FAFF347D
- B5FF3199C3FF6DC4DCFF4A9CCFFF3483C7FF0000000000000000000000000000
- 0000000000000000000000000000000000001E6D93FFCBE3F9FF61AAECFF4098
- E8FF1567C2FF1660AAFF2C76B4FF000000000000000000000000000000000000
- 000000000000000000000000000000000000124259FF5D9CD4FFA6CFF5FFA9CF
- ECFF488BC1FF2C76B4FF00000000000000000000000000000000000000000000
- 000000000000000000000000000000000000134058FF15425EFF25699CFF2C76
- B4FF3B8BBAFF0000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000068C774FF68C774FF67C673FF66C572FF65C3
- 71FF0000000000000000000000000000000000000000000000005CB666FF5BB4
- 64FF59B262FF58AF60FF56AD5EFF68C774FFA1D8A9FF9ED6A7FF65C371FF0000
- 0000000000000000000000000000000000000000000000000000000000005FB4
- 67FF8DC894FF8EC995FF54AA5CFF67C673FF9DD6A5FF92D19BFF7ECA87FF63C0
- 6EFF00000000000000000000000000000000000000000000000059B162FF76BD
- 7EFF7EC086FF8AC590FF52A85AFF66C472FF6BC575FF83CC8CFF9BD3A4FF7BC7
- 84FF60BC6BFF0000000000000000000000000000000059B161FF75BD7DFF8CC7
- 93FF6DB673FF52A759FF50A557FF65C370FF0000000063BF6DFF80C989FF79C4
- 82FF5FB969FF0000000000000000000000000000000057AE5FFF6EB875FF6CB5
- 73FF52A759FF000000004EA255FF00000000000000000000000060BB6AFF5EB9
- 68FF00000000000000000000000000000000000000000000000053A95BFF52A7
- 59FF000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000000057AE5FFF55AC
- 5DFF0000000000000000000000000000000000000000000000004A9C50FF4899
- 4EFF0000000000000000000000005AB363FF0000000057AE5FFF6CB673FF6AB4
- 71FF52A759FF000000000000000000000000000000004A9B4FFF5FA764FF62A8
- 67FF45954AFF00000000439147FF58B061FF57AE5FFF6CB673FF84C08AFF6EB5
- 74FF50A457FF0000000000000000000000000000000048994DFF5DA561FF75B3
- 79FF5FA463FF47944CFF418F45FF56AD5FFF83C08AFF73B77AFF6CB473FF50A4
- 57FF000000000000000000000000000000000000000000000000459449FF5AA0
- 5EFF5EA664FF6CAD70FF408D44FF54AB5CFF83BF89FF7DBB83FF54A65BFF0000
- 0000000000000000000000000000000000000000000000000000000000004290
- 46FF6DAD71FF6EAE73FF3F8C42FF53A85AFF51A658FF4FA356FF4EA154FF4C9F
- 52FF000000000000000000000000000000000000000000000000429046FF418E
- 45FF408D43FF3F8B42FF3E8A41FF000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000067C673FF65C270FF0000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000066C572FF7ECA88FF7BC885FF5DB868FF00000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000066C472FF7CCA87FF9ED6A7FF9CD4A5FF73C07DFF55AC5EFF000000000000
- 00000000000000000000000000000000000000000000000000000000000065C3
- 71FF62BF6EFF79C683FF9AD4A3FF98D3A1FF7DC386FF4FA458FF4A9E53FF0000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000005BB465FF96D29FFF94D09CFF5DAC65FF00000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000056AD5FFF93CF9AFF90CE98FF489A50FF00000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000050A659FF8ECC95FF8BCB93FF42924AFF00000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000004A9E53FF8ACA91FF87C98EFF3C8A43FF00000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000045954CFF85C78CFF82C689FF36823DFF00000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000003F8D46FF81C587FF7EC385FF317A36FF00000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000039853FFF7DC282FF7AC180FF2B7230FF00000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000337D39FF79C07EFF76BF7CFF266B2BFF00000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000002D7533FF74BD7AFF72BD78FF226526FF00000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000286E2DFF256929FF216425FF1E6022FF00000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000A77B3EFF0000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000CBAE87FF0000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000D5BC9DFF0000000000000000000000000000
- 0000AE854CFF0000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000DEC8AEFF000000000000000000000000D1B6
- 93FFBB9767FF0000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000E6D4C0FF0000000000000000D3B999FFD3B8
- 97FF000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000AF8750FFEDDECEFF00000000CEB38FFFE7D6C3FF0000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000B28A54FFF1E2D3FFCFB38EFFF5E9DCFF000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000B68F59FFF5E9DDFFE2CDB4FFB99461FF000000000000
- 0000000000000000000000000000000000000000000000000000000000009D69
- 32FFB17E42FF9E682CFFBC9767FFF0E0D0FFB6915FFF00000000000000000000
- 0000000000000000000000000000000000000000000000000000B17E42FFDCAA
- 60FFD09E54FFEAB365FFD8BA99FFF8EBE1FFAE8957FF00000000000000000000
- 000000000000000000000000000000000000000000009C6A32FFD6A55EFF0000
- 000000000000E4AD60FFDCBD9BFFEFCDA5FFEFB767FFD8A65DFF000000000000
- 00000000000000000000000000000000000000000000BE8A4AFFA87E41FF0000
- 0000966E32FFE7B066FFCAA274FFE5B167FF945E2DFFB88D4DFFAF703BFF0000
- 00000000000000000000000000000000000000000000B58244FFD6A45AFFAE82
- 41FFECB666FFA76E36FFAC6C37FFC49551FF0000000000000000B77840FF0000
- 0000000000000000000000000000000000000000000000000000C79751FFD8A6
- 5AFFA66C36FF00000000A86835FFD1A057FF000000008E6A36FFB4753FFF0000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000009F5E2FFFE7B263FFBF924FFFDDAB62FFA26232FF0000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000A06131FFB6763FFFA46534FF000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000898989FF888888FF878787FF0000
- 0000000000000000000000000000000000000000000000000000000000006B6B
- 6BFF666666FF626262FF0000000000000000898989FFD3D3D3FF848484FFE6B3
- 8CFFE5B28AFFE5B289FFE5AF86FFE5AE86FFE3AC85FFE3AB83FFE3A980FF6262
- 62FFC4C4C4FF585858FF0000000000000000868686FF838383FF968D87FFEBC4
- A5FFEBC2A4FFEBC2A3FFEAC0A2FFEABFA0FFEABE9FFFE8BC9EFFE8BB9CFF7E72
- 6AFF535353FF4F4F4FFF000000000000000000000000E5B289FFEBC3A5FFEBC2
- A3FFEBC0A2FFEABFA1FFEABEA0FFE9BD9EFFE8BB9DFFE8BA9BFFE7B899FFE6B6
- 97FFDE9D75FF00000000000000000000000000000000E5AF86FFEBC1A2FFEAC0
- A2FFEABEA0FFE9BD9EFFE8BC9DFFE8BA9BFFE7B899FFE6B698FFE6B596FFE5B3
- 94FFDC9A70FF00000000000000000000000000000000E3AC85FFEABFA0FFEABE
- 9FFFE8BC9DFFE8BA9CFFE8B99AFFE6B798FFE6B696FFE5B494FFE4B393FFE4B1
- 91FFDA966CFF00000000000000000000000000000000E3AA81FFE9BC9EFFE8BB
- 9CFFE8B99AFFE7B899FFE6B697FFE6B495FFE4B394FFE4B192FFE3AF90FFE3AE
- 8FFFD9926AFF00000000000000000000000000000000E1A67FFFE8BA9BFFE7B8
- 99FFE6B697FFE6B596FFE5B394FFE4B192FFE4AF91FFE3AE8FFFE3AD8DFFE2AB
- 8BFFD88E66FF00000000000000000000000000000000E1A27BFFE6B798FFE6B5
- 96FFE5B494FFE4B292FFE4B191FFE3AF8FFFE3AD8DFFE2AC8CFFE1AA8AFFE1A9
- 89FFD68C62FF00000000000000000000000000000000DE9F77FFE5B495FFE4B3
- 93FFE4B192FFE3AF90FFE3AE8EFFE2AC8DFFE1AA8BFFE1A989FFE0A787FFDFA6
- 86FFD5895FFF00000000000000000000000000000000DD9B73FFE4B192FFE4AF
- 91FFE3AE8FFFE3AC8DFFE1AB8BFFE1A989FFE1A888FFE0A786FFDFA585FFDFA3
- 84FFD4865DFF000000000000000000000000424242FF3D3D3DFF534B46FFE3AD
- 8DFFE2AB8BFFE1AA8AFFE1A888FFE0A787FFDFA585FFDFA484FFDEA383FF4233
- 2BFF0A0A0AFF070707FF00000000000000003A3A3AFFB7B7B7FF313030FFD890
- 66FFD88E64FFD68C62FFD58961FFD5895FFFD5865DFFD4855BFFD4855AFF0909
- 09FFA6A6A6FF030303FF0000000000000000323232FF2D2D2DFF282828FF0000
- 0000000000000000000000000000000000000000000000000000000000000404
- 04FF010101FF000000FF00000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000063922FF0A3C24FF0000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000104F38FF0D4A2DFF093D22FF093A28FF00000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000063420FF0D3D2BFF0B4028FF0D4726FF0A3A26FF194833FF000000000000
- 0000000000000000000000000000000000000000000000000000000000000B48
- 23FF144C2FFF124631FF0B4029FF114B28FF073121FF0F452DFF114A32FF0000
- 000000000000000000000000000000000000000000000000000005291DFF0F51
- 31FF0F3924FF144A31FF0A3C28FF0D4224FF093D24FF0C4528FF0C3F29FF0F4D
- 38FF000000000000000000000000000000000000000014553FFF0B3A2AFF114F
- 32FF053220FF0E3E29FF08311CFF0C4426FF0F482CFF0D4A2EFF0D4326FF124E
- 39FF083F28FF000000000000000000000000093625FF104330FF083727FF0C45
- 2EFF073325FF154534FF0F4629FF0A4023FF0E4733FF0F4831FF0F4229FF0B43
- 2DFF0C472EFF072217FF000000000A3D2AFF062C1AFF124D2FFF0A3E24FF1049
- 33FF124735FF0C3626FF0D4224FF0E452FFF0A4030FF093927FF0C422AFF0D41
- 2EFF0A3623FF0B3E2AFF083D27FF012818FF093D29FF093923FF0E4226FF0F43
- 2AFF0E442AFF0D402FFF09392BFF0F452CFF11492FFF0C452FFF124B31FF0E42
- 2BFF0A3F24FF07301EFF0D3C2CFF00000000052F1DFF093726FF0F4A32FF0D41
- 29FF114A2CFF104532FF0E462BFF0C3C27FF0E4227FF0C4229FF0E422DFF0E45
- 27FF144D34FF083A24FF000000000000000000000000123F30FF0B3C2BFF1148
- 31FF0D4129FF05271AFF0B3F27FF0D3F2CFF134933FF144C34FF0E422EFF0C44
- 2EFF0C402DFF00000000000000000000000000000000000000000C4933FF104A
- 38FF0A3E25FF164B37FF0E432FFF063318FF134734FF093121FF0C3723FF0943
- 2CFF000000000000000000000000000000000000000000000000000000000632
- 20FF124D36FF0C3C28FF093C25FF104A25FF0F4B30FF0B4529FF062F19FF0000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000073E24FF083722FF0C4226FF0F472DFF0F4534FF052F1FFF000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000114D37FF0A3825FF0C432BFF05382AFF00000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000006301CFF10492EFF0000000000000000000000000000
- 00000000000000000000000000004D5563FF0000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000323F54FF2B3953FF283143FF00000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000002A3646FF1B283DFF30426AFF26354BFF4B566CFF000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00002B3745FF142232FF1D2944FF2F4267FF274161FF2B3D54FF2F3C4CFF0000
- 0000000000000000000000000000000000000000000000000000000000001E27
- 36FF1A2939FF122235FF192741FF304A69FF2C4E71FF214066FF273B4FFF4853
- 65FF0000000000000000000000000000000000000000000000001F2D3CFF1824
- 33FF1B2B43FF0F2237FF172543FF35476AFF2C496DFF203C61FF274B70FF283A
- 51FF2B3746FF000000000000000000000000000000001F2A3AFF18263CFF1A25
- 3AFF18253CFF0F1E34FF1E2744FF2F4267FF2D4569FF253F64FF2B4F78FF1C3A
- 5BFF2A364DFF404F62FF0000000000000000212D39FF101E2CFF1B2842FF1822
- 3BFF1D2A42FF112134FF1A2842FF2C4464FF2D4C6FFF22436AFF335680FF2544
- 64FF304669FF263547FF27333FFF1E2934FF1A293AFF101E33FF19273EFF1524
- 39FF1C2C43FF102337FF192642FF354760FF2A4A6CFF213F63FF2A4D71FF2744
- 63FF2D4466FF25374BFF2C3D53FF152431FF132740FF121D2FFF1D2946FF1926
- 3CFF19263DFF0D2033FF17253CFF00000000324A71FF243D62FF2B4E76FF233E
- 61FF33496DFF2C3F55FF31435FFF162033FF142846FF111F31FF1C2843FF1822
- 39FF18243BFF101D30FF000000000000000000000000224068FF2A4D76FF2643
- 65FF354D6FFF2C3F56FF2F425CFF121D2BFF1B2B45FF101E32FF19273FFF1524
- 39FF162637FF00000000000000000000000000000000000000002E507AFF2544
- 61FF2D4467FF28394FFF314461FF101C2BFF182841FF111C31FF1C2841FF1623
- 36FF000000000000000000000000000000000000000000000000000000002940
- 5AFF304566FF2A3B51FF30435EFF152032FF132945FF132031FF172841FF0000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000384F71FF2E4359FF2C3F5AFF141E2DFF1B2B44FF111E2EFF000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000002C4055FF273B57FF101C27FF1E3049FF00000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000273D57FF131B2AFF0000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000005F93D4FF5C91D1FF598FCFFF558DCCFF000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00006194D5FF77A4DCFF92B9E4FFA9CAECFFA6C7ECFF8EB6E2FF699BD2FF4A84
- C3FF000000000000000000000000000000000000000000000000000000006094
- D5FF8FB7E3FFBAD7F3FF5ED5FBFF2BD5FFFF42D1FBFFB4D2F2FFB2D0F1FF93B9
- E2FF6396CCFF3E7CB9FF0000000000000000000000006295D6FF86AFE1FF5BB3
- F9FF2CA4FFFF41AAFBFF31D3FEFF6DE2FFFF2CD5FFFF80B1E8FF7DAEE7FFAACA
- EFFFA6C6EDFF3878B6FF00000000000000006194D5FF87B0E1FFBAD7F3FF33A7
- FEFF6DC0FFFF2CA4FFFF67BFF0FF3BCEFBFF5BBFF1FF53B4A1FF3CB87AFF48B4
- 91FFA8C8EEFF78A6D6FF3072AFFF000000005D92D2FF93A5F5FF5A5BF6FF5287
- F4FF3CA7FBFF5DACF2FF7FB0E7FF7CAEE7FF79ABE6FF40B781FF61C898FF3CB8
- 7BFF7EADE7FF90B6E3FF2B6FABFF5C91D1FF93BAE5FF6F75F6FF8285F5FF4141
- F0FF91BCEBFFAFCDF0FFADCCF0FFABCAF0FF86B3E9FF5FAAC2FF45B48EFF57A9
- B7FF71A2E4FF98BBE8FF266BA7FF588ECEFFA9C9EDFF85A8EDFF596BEDFF6B8F
- E9FFAECDF0FF6E9ED2FF3F7DBAFF689ACEFFA6C6EEFF969B6AFFAE9827FF9E98
- 4EFF679CE2FF99BCEAFF2268A3FF538BCBFFAFCDF0FFB1CFF0FF99C0ECFF7FAF
- E7FFABCAEFFF3E7CB9FF000000003677B4FFA3C4EDFFA99832FFC5B65BFFAD98
- 27FF5C94DFFF99BCEBFF1D65A0FF4F88C7FF6598CFFF7CA9D9FF8EB5E2FFA4C5
- EDFFA8C7EEFF6598CDFF3576B3FF6094C9FFA0C1EDFF7997A4FF9F9749FF7D95
- 92FF8EB4E9FF7AA6D8FF19629DFF0000000000000000427FBDFF3F7DBAFF3B7A
- B8FF77A5D7FFA2C3EDFFA0C1EDFF9EC0EDFF75A4E4FF5B93DFFF5991DEFF7CA8
- E6FF93B7E8FF4480B8FF00000000000000000000000000000000000000000000
- 00003274B1FF9EC0ECFF6A9DE2FF5C94DFFF5992DFFF6095E0FF96B9EAFF87AE
- E1FF4A84BCFF145F99FF00000000000000000000000000000000000000000000
- 00002D70ADFF6E9ED1FF9ABDEBFF72A1E3FF97BAEAFF95B9EAFF6194CAFF1660
- 9AFF000000000000000000000000000000000000000000000000000000000000
- 000000000000256BA6FF87AEE1FF7FA9DCFF6093C9FF3173ACFF15609AFF0000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000001D65A0FF1A639EFF17619BFF00000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000CEB3A1FFCFB19FFFCDAB95FFCDA7
- 8EFFCDA78EFFCDA78EFFCDA78EFFCDA78EFFCDA68EFFCDA68EFFCDA68EFFCDA6
- 8EFFCDAA93FFCDAF9BFF0000000000000000CFB29FFFECECEBFFF4F4F3FFF7F5
- F4FFF7F5F4FFF7F5F4FFF7F5F4FFF7F5F4FFF7F5F4FFF7F5F4FFF7F5F4FFF7F3
- ECFFF2EFE9FFCEAD97FF0000000000000000CDAB95FFF4F3F2FFE3B495FFD0B4
- 8DFFA9B580FF93CCA1FF84D1AAFF82D0A6FF8BC294FF9A9E69FFC39D73FFD69D
- 77FFF7F2EBFFCFAB94FF0000000000000000CDA78FFFF7F5F4FFE3B597FFB8B7
- 87FF93CBA1FF74D2A8FF67CB9BFF63C897FF6AC998FF83BB8BFFA5996AFFD79F
- 7AFFF7F0E9FFCFAB94FF0000000000000000CDA78FFFF7F5F2FFE4B799FFA3B6
- 80FF82D0A7FF65C998FF5DC691FF59C28BFF58C187FF71C28EFF8C925FFFD9A2
- 7DFFF6F0E8FFCEAB94FF0000000000000000CDA78FFFF7F5F0FFE5B89BFFA1B3
- 7FFF7DCDA0FF5EC590FF56C087FF52BE81FF52BC7EFF6CBD87FF89905EFFDAA4
- 81FFF5EFE7FFCEAB94FF0000000000000000CDA78FFFF7F4EFFFE6B99DFFB6B3
- 87FF88C293FF63C58FFF53BE80FF4FBA7AFF58BD7FFF78B07CFFA3966AFFDCA7
- 84FFF6EEE7FFCEAB94FF0000000000000000CDA78FFFF7F3EEFFE7BB9FFFD1B6
- 93FF9FAA78FF6FB287FF65BD8AFF61BB87FF6BAB7BFF919364FFC5A27DFFDDA9
- 88FFF6EEE7FFCEAB94FF0000000000000000CDA78EFFF7F2EDFFE8BDA1FFE7BB
- 9FFFD0B392FF5E8276FF448E86FF418B87FF568380FFC7A682FFE0AE8EFFDEAC
- 8BFFF6EEE6FFCEAB94FF0000000000000000CDA78EFFF7F1ECFF4EAA7AFF4CA8
- 77FF4AA674FF357B9AFF549FD3FF549FD1FF3F86AFFF409A67FF3E9865FF3C96
- 63FFF6EEE6FFCEAB94FF0000000000000000CCA68DFFF7F1EDFFBFDCC2FFBFDC
- C2FFBFDCC2FFAFD3C5FF9CC8C9FF6EAFD1FFBAD9C3FFBFDCC2FFBFDCC2FFBFDC
- C2FFF6EDE6FFCEAA93FF0000000000000000CCA68EFFF6F1EDFFBFDCC2FFBFDC
- C2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDC
- C2FFF7EDE6FFCEAA93FF0000000000000000CDAB96FFF1EFEDFFF7F3F1FFF8F4
- F1FFF8F4F0FFF7F4F0FFF7F3F0FFF7F3EFFFF7F3EFFFF7F3EFFFF7F3EFFFF8F3
- EFFFF2EFEBFFCFAD97FF0000000000000000CEAF9CFFCFAE9AFFCEAB94FFCEAA
- 93FFCEAA93FFCEAA93FFCEAA93FFCEAA93FFCEAA93FFCEAA93FFCEAA93FFCEAA
- 93FFCEAD97FFCEAF9CFF00000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000061C46EFF61C46EFF61C46EFF61C46EFF61C46EFF61C46EFF000000000000
- 000000000000000000000000000000000000000000000000000061C46EFF61C4
- 6EFFA5E1BBFFBAEACCFFC5E0BEFFC5DAB4FFBDD7B0FFA6D7ACFF5DBE69FF5ABA
- 66FF000000000000000000000000000000000000000061C46EFF8CD8A2FFCDF5
- E8FFD4EDDAFFCEEDD3FFCFDFAFFFD6DEB5FFD4D4A2FFCED0A1FFC4D0AAFF87C9
- 91FF53AF5DFF00000000000000000000000061C46EFF87D7A0FFC0F2DEFFC7F2
- D6FFD5EFD5FFD0E9CFFFD5DBA6FFDCDEABFFDBCD90FFD7C88BFFC9C18EFFBDD5
- AFFF7AC791FF4AA353FF000000000000000061C46EFFC0F3E2FFB5EFB4FFB5F0
- ACFFC1EDB7FFD4E3B7FFD9D89CFFDAD395FFCDB56DFFC7B36DFFB5CB84FF94DF
- 9AFFAFE7CDFF469B4DFF0000000061C46EFF98DEB5FFB5EBCCFFB1EFA7FFC9EE
- A9FFD1EAC9FFD5CF8DFFD9CB8BFFCDB466FFBCBC67FF9AD671FF82DE73FF7ADC
- 71FF91D0A3FF88C8A4FF3D8F43FF61C46EFFB3ECD2FF9BE2A2FF9DEA8DFFD4ED
- B7FFD0EAC7FFCFB96EFFCCB166FFCBC975FF76DB67FF66D94DFF65D74DFF6CD3
- 5DFF73BB7EFFA5DBC2FF39883EFF61C46EFFBEF0DCFF81D883FF77DB6DFFBFE5
- 9AFFCCDFA7FFCAA85DFFC2BD6CFFB8DA8BFFA6D860FF77D13FFF6AD046FF59BC
- 50FF63AB6CFFB2E4CEFF358239FF60C36DFFBEEFDDFF73D17DFF90D16CFFBCE0
- 9EFFC7A75EFFD3B05EFFC69953FFC6BC6EFFAFD17AFFB4C46DFFAFA95FFF7BA9
- 57FF5AA367FFB1E3CEFF317E35FF5EBF6AFFB0E9CFFF83D490FFBFDC8AFFC3CB
- 82FFCCA256FFDAAF5CFFDCAF5BFFC99A4BFFBF8643FFB78443FFB99A52FF96A5
- 62FF65A676FFA2D8BDFF2F7A32FF5ABA66FF92D7AFFFA0DEB4FF84C670FFA8D0
- 80FFC5A55CFFD0A757FFE0AA56FFDAA651FFC7984AFFB98C47FFB69B57FF819F
- 65FF79BF90FF81BE9CFF2F7A32FF0000000053AF5DFFB5EAD3FF69BC74FF6EBD
- 71FFBEB66DFFC9A35BFFDFAB5BFFDDA858FFC1924EFF9DA958FF78B166FF5A96
- 67FFA6DCC0FF2F7A32FF00000000000000004EA857FF76C08DFF99D7B3FF79C0
- 80FFBCC27EFFC6A96AFFD7B169FFD6AD65FFBC9B5EFF60AD6AFF599768FF81C1
- 99FF67A97BFF2F7A32FF000000000000000000000000469B4DFF70B786FFAEE8
- C7FFC0D2A0FFC5B381FFCAB47DFFCCAF78FFB9A778FF80CC95FFA0DABCFF66A8
- 7AFF2F7A32FF00000000000000000000000000000000000000003D8F43FF3A8A
- 3FFF9BC59DFFB3C29DFFBDC19CFFBEC39DFFB0D2B1FF7EC09AFF2F7A32FF2F7A
- 32FF000000000000000000000000000000000000000000000000000000000000
- 0000338037FF317D34FF2F7A32FF2F7A32FF2F7A32FF2F7A32FF000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000068C774FF68C673FF65C2
- 71FF62BE6EFF5FBA6AFF5CB565FF58AF61FF53A95CFF4FA357FF46974DFF0000
- 0000000000000000000000000000000000000000000067C673FF000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00003B8842FF0000000000000000000000000000000063C06EFF0000000067C6
- 73FF67C572FF64C170FF61BD6CFF5DB968FF5AB464FF56AE60FF50A659FF4DA2
- 56FF479A50FF46974EFF419149FF00000000000000005FBB6AFF0000000067C6
- 73FF0000000059B264FF57AE60FF54AB5DFF51A75AFF4DA256FF479950FF4697
- 4EFF408E47FF408F47FF3B8842FF00000000000000005BB565FF0000000064C1
- 6FFF5AB465FF57AF61FF54AB5EFF51A65AFF4CA156FF499B51FF43934AFF4090
- 47FF3B8741FF3A8741FF35803BFF000000000000000056AE60FF0000000060BC
- 6BFF58B062FF54AB5EFF51A659FF4CA055FF489A50FF43944BFF3D8B45FF3A87
- 41FF357F3BFF347F3AFF307835FF00000000000000004EA358FF000000005CB6
- 66FF52A85BFF4EA357FF4A9D52FF45974DFF419048FF3C8A43FF37833EFF357F
- 3BFF2F7835FF2F7734FF2A712FFF00000000000000004C9F54FF0000000057AF
- 61FF4FA559FF4B9E54FF46984EFF429148FF3D8A43FF38843EFF337D39FF2F77
- 34FF29702FFF296F2EFF256A2AFF000000000000000046974EFF419149FF51A7
- 5BFF499B51FF44944BFF3F8E46FF3B8741FF36813CFF317A37FF2D7532FF296F
- 2EFF256929FF256929FF216425FF000000000000000000000000000000004C9F
- 54FF47994FFF42924AFF3D8C45FF39853FFF347F3AFF307835FF2B7230FF276D
- 2CFF246828FF206324FF1D5F21FF000000000000000000000000000000004697
- 4EFF419149FF3C8A43FF38833EFF337D39FF2F7734FF2A712FFF266B2BFF2366
- 27FF206223FF1D5E20FF1A5B1EFF000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000000000000000009A
- FDFF0099FCFF000000000000000000000000000000000191F5FF018FF3FF0000
- 000000000000000000000000000000000000000000000000000016A4FDFF43B6
- FEFF4EBBFEFF0196F9FF00000000000000000191F5FF4BB8FDFF33A8F9FF028B
- EFFF0000000000000000000000000000000000000000000000001EA5FDFF5BC0
- FEFF63C4FFFF0F9BF8FF00000000000000001A9CF6FF54BCFFFF46B4FCFF0289
- EDFF000000000000000000000000000000000000000000000000000000002DAA
- FBFF61C4FFFF38AEFBFF0190F4FF018EF2FF37ABF9FF52BBFFFF249DF4FF0000
- 0000000000000000000000000000000000000000000000000000000000000193
- F7FF32ABFAFF5AC0FEFF018EF2FF38ACF9FF53BCFFFF2CA2F6FF0286EBFF0000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000018FF3FF56BDFEFF4EB9FEFF4EBAFFFF42B1FBFF0285EAFF000000000000
- 00000000000000000000000000000196F9FF179FF9FF0193F6FF0191F5FF018F
- F3FF018DF1FF45B4FCFF49B9FFFF47B7FFFF3FAFFBFF0283E8FF0381E6FF037E
- E4FF037CE2FF1186E6FF0477DDFF0194F8FF50BAFDFF6BC7FFFF53BBFDFF4AB5
- FBFF49B3FBFF52BDFFFF47B8FFFF43B5FFFF48B8FFFF43AFFAFF3BAAF8FF44B1
- FBFF4BB7FFFF36A5F6FF0471D8FF0192F6FF0190F4FF018EF3FF028DF1FF028B
- EFFF0289EDFF3EAEFAFF46B7FFFF42B5FFFF3CADFAFF037EE3FF037BE1FF0379
- DFFF0475DCFF0470D7FF056BD2FF000000000000000000000000000000000000
- 00000286EBFF50B9FEFF42B2FCFF46B7FFFF3CABF9FF037BE1FF000000000000
- 0000000000000000000000000000000000000000000000000000000000000286
- EBFF2EA1F4FF47B2FAFF037FE5FF32A2F3FF48B6FFFF2797EEFF0474DAFF0000
- 00000000000000000000000000000000000000000000000000000285EAFF289D
- F1FF55BDFFFF2598EFFF00000000037AE0FF2F9EF2FF42B4FFFF218CE6FF0000
- 00000000000000000000000000000000000000000000000000002198F0FF52BB
- FEFF4AB4FCFF037CE2FF00000000000000001885E2FF40B3FFFF3BAAF9FF1373
- D5FF0000000000000000000000000000000000000000000000000380E6FF32A1
- F3FF2A9AEFFF000000000000000000000000056CD3FF37A1F2FF2488E3FF065E
- C6FF00000000000000000000000000000000000000000000000000000000037B
- E1FF0379DFFF000000000000000000000000000000000662C9FF000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000001281827053222890732
- 20B50B3C2ABC0B3C2BBE0A4029BC0C4729BC0D4228BE0C412BBC0B442BB6073B
- 238D093B232C0000000000000000000000000A402D0408352363083925D30A3D
- 25FA0C4029FF0B3F2AFF093A27FF0B3A26FF0D3F28FF0C4127FF0B4125FA0A3E
- 25D40A3B27640836240400000000104231010C43302A0B402E9F0C412CEB0D42
- 2AFE0D422AFF0B3D29FF0C3D28FF0C4027FF0B4226FF0B4227FF0B4127FE0B41
- 28EB0E442CA110462E2A0831180106342301063220570B3F2BCF0B3F28F90833
- 20FF093723FF0B3E28FF0D422BFF0D442CFF0B422DFF0B422DFF0C452BFF0C44
- 28F90D462ED00E4B36580E4C3701073D2625093D26840A3E28E30B3E28FD0B3E
- 28FF0A3B24FF0B3E27FF0D422AFF0D432AFF0C432CFF0C422BFF0C412AFF0C41
- 2BFD0B442DE40A432C85083C26280D49324A0B3E28B50A3E26ED0B4226FD0D44
- 26FF0D4328FF0E412BFF10432EFF0F442EFF0D422CFF0D432AFF0C4028FF0A3C
- 25FD093924ED083623B50625185005321E74093924D30B4029F50D432DFD0D44
- 2EFB0B422AF80A3C25F90A3823FC0B3B26FC0B412BF90D442BF80D442BFB0B3E
- 26FD083520F6083925D5073A25790D442A5B0D442B8C083D2A89083B2A860635
- 258B05311F8F06321D8D08351F88083B258808402A8D0A402B8F0B3F2B8B0B3D
- 2786083724890B3A298C0B3B2A600E462C0B0D462D090A422F050B4332050632
- 230A042C1C0C03291809042B1804063D2604063E2809083D290C093C2A0A0C3F
- 2C05184B3605134432090D3D2C0B0E472D020B452E010B4533010B3F2F010630
- 2102042B1C01032616010000000000000000053E2701083D2901083C29020C3E
- 2D011A4F3B011A4D39010E3E2D02000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
- 00000000000000000000000000FF000000FF0000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000FF000000FF000000FF000000FF00000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000FF000000FF000000FF000000FF000000FF000000FF000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
- 0000000000000000000000000000000000000000000000000000000000FF0000
- 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
- 00FF0000000000000000000000000000000000000000161616FF1D1D1DFF0F0F
- 0FFF070707FF282828FF0B0B0BFF282828FF121212FF040404FF0B0B0BFF0F0F
- 0FFF000000FF0000000000000000000000003B3B3BFF616161FF4F4F4FFF5151
- 51FF282828FF494949FF4D4D4DFF777777FF565656FF323232FF4B4B4BFF4848
- 48FF2E2E2EFF383838FF000000005A5A5AFF484848FF7B7B7BFF616161FF5151
- 51FF282828FF6A6A6AFF494949FF777777FF565656FF565656FF616161FF1111
- 11FF747474FF333333FF000000FF000000FF000000FF000000FF000000FF0000
- 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
- 00FF000000FF000000FF000000FF00000000000000FF000000FF000000FF0000
- 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
- 00FF000000FF000000FF000000000000000000000000000000FF000000FF0000
- 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
- 00FF000000FF0000000000000000000000000000000000000000000000FF0000
- 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
- 00FF000000000000000000000000000000000000000000000000000000000000
- 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000FF000000FF000000FF000000FF000000FF000000FF000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000FF000000FF000000FF000000FF00000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000FF000000FF0000000000000000000000000000
- 0000000000000000000000000000536876FF5C6A5DFF5F6D60FF5F6D60FF5F6D
- 60FF5F6D60FF5F6D61FF5F6D61FF5F6D61FF5F6D61FF606D61FF606D62FF606D
- 62FF606D63FF5E6A5FFF454E46FF5C6A5DFFFBFCFBFFFCFEFCFFF7FCF8FFF7FC
- F8FFF7FCF8FFF8FCF8FFF7FCF9FFF8FCF8FFF8FCF8FFECF7EEFFEDF7EEFFEFF6
- EDFFEEF4ECFFEBF4EBFF5E6A5FFF5F6D60FFF7FCF8FF9DF9F9FF6CB4EDFF6271
- FEFF80E7E9FF8CF4F4FF52CDCDFFECC2A4FFDDAD8AFFEBBA97FFDDA780FFE2AB
- 83FFDAA075FFD9EAD4FF616E64FF5F6D60FFF7FCF8FF8AEAEAFF72DDDEFF5665
- F0FF569FDFFF73E8E8FF46C1C1FFBBBBA5FFD0A483FFDEB08EFFD19E7AFFD6A2
- 7AFFCF9871FFD7EBD5FF626E64FF5F6D61FFF7FCF8FF9FF9F9FF85E9EAFF84D3
- FAFF525AF0FF87F2F7FF60DAD7FF98D5CAFFE0B79CFFEDC7A9FFE0B394FFE6B8
- 98FFDEAE8CFFD7ECD6FF636E64FF5F6D61FFF8FCF8FF90EAEAFF78DDDEFF81E9
- EAFF4E6BE2FF639DEEFF5ED7D7FF5BCBC9FFD4B097FFE2BA9FFFA1ADA9FF58A5
- D8FF85B1DBFF469DD0FF4E7C8CFF5F6D61FFF8FCF8FFA6F9F9FF8BE9EAFF99F8
- FAFF78D3EBFF656BFFFF77DCEAFF70DFDEFFC1C5B5FFA8C8C8FF77BEE7FFB4D2
- F0FFE5F3FFFFACD2EFFF4A89BEFF606D61FFF8FCF8FF9FF1F1FF81DDDFFF8AEA
- EBFF75DEDEFF6591EEFF557EE2FF68DCDDFF5BBCC5FF80D5EDFFB2E3F9FF8BC0
- E7FFAED3F6FFC4E0FCFF669DD0FF606D62FFF8FCF8FFAFFAFAFF94EBEBFFA2F9
- FAFF8AEAEBFF95EDF3FF595FEBFF6BCFE5FF7CD4EEFFC4F6FDFF6CDDF6FF6DCA
- EDFF63A3D7FF66A1D3FF617474FF606D63FFF8FCF8FFA4EBEDFF8DDFDFFF97EB
- EBFF72CFB7FF74CA99FF4790BDFF79D3EEFFC7F7FDFF5FDCF5FF5BE2F7FF7AD6
- F2FF4399DFFFB1D4D9FF646F66FF616E63FFF8FCF9FFBCFBFBFF9DE7DFFF93E1
- BBFF77C997FF63BDAEFF77CBE7FFC7F7FDFF5EDCF5FF5AE1F7FF7BD4F1FF4395
- DDFF589BC3FFD0E9DBFF646F66FF616E63FFF7FBF8FF9BDEC4FF73C393FF80CF
- 9FFF53AD9CFF73B9D5FFC2F6FDFF63DFF7FF5DE2F8FF79D3F0FF4395DAFF6CB8
- A4FF74C38FFFD7EFDAFF646F66FF616E64FFECF7EEFF96DBAFFF7FC99AFF63AD
- A5FF7AB6D5FF90B7D1FF55C9E4FF5BDFF5FF78D0EDFF4696D9FF76C1A1FF87D0
- A0FF80CA9AFFD6EEDAFF646F66FF626E64FFEEF8EFFFA4DBBCFF8CCAA6FF4389
- AAFFE0F2FFFF549AD8FF1A7ABEFF4998C5FF3B86BFFF6074E7FF81C5A3FF8CD0
- A6FF85CAA0FFD2E9D7FF646F67FF5F6A60FFEBF5ECFFD4EDD7FFD4EED7FF2E67
- 84FF94C7F9FF91C9F9FF4185C9FF256BACFFB7D9D4FFD4E2ECFFCFE5D6FFD5ED
- D9FFD8EFDCFFD5EDD9FF616C63FF454D47FF5F6A61FF636F64FF646F64FF143F
- 56FF295F86FF4988BCFF4A86A7FF5D7070FF646F66FF646F66FF646F67FF646F
- 67FF647067FF616C63FF474E48FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0066C472FF64C270FF62BF
- 6EFF60BC6BFF5DB868FF5BB565FF58B162FD55AC5FEA52A85BB74FA358704B9F
- 541DFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0064C170FFA6DBB0FFA6DA
- AFFFA3D9ADFFA2D8ABFF9FD7A8FF9CD5A5FF94D09DFF83C58CFF6CB474FF4799
- 50B044944C39FFFFFF00FFFFFF00FFFFFF00FFFFFF0062BE6DFFA5DAAEFFA2D8
- ACFFA1D8AAFF9ED6A7FF9CD5A5FF99D4A2FF97D29FFF8CCD95FF91CF99FF73B8
- 7BFF408F47B03C8A431DFFFFFF00FFFFFF00FFFFFF005FBA6AFF5CB667FF59B3
- 64FF56AE60FF53AA5DFF50A659FF4DA156FF68B170FF88C890FF8DCC95FF8BCB
- 92FF5DA564FF38853F70FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0046974E8F42924AE281C388FF7DC4
- 85FF6EB375FF357F3BB7FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003E8D458F64AB6BFF7FC4
- 86FF79BE81FF317A36EAFFFFFF00FFFFFF00FFFFFF00FFFFFF0052A85B034FA3
- 587BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003A87418F61A867FF7BC2
- 82FF76BC7CFF2D7532EAFFFFFF00FFFFFF00FFFFFF00FFFFFF004EA3579F4B9E
- 53D2FFFFFF00FFFFFF00FFFFFF00FFFFFF003A86408F36813CE275BB7BFF70BD
- 77FF63AB69FF2A702EB7FFFFFF00FFFFFF00FFFFFF004DA2569367B16FFF64AD
- 6BFF43944BFF408F47FF3C8A43FF398540FF549D5AFF74BA7AFF79C17FFF77BF
- 7DFF4A914FFF266B2B70FFFFFF00FFFFFF004DA1568A66B06EFF8ACA92FF89CA
- 90FF86C88DFF83C68AFF80C587FF7EC384FF7BC281FF6DBB74FF76BE7CFF59A0
- 5DFF266B2AB02367271DFFFFFF00FFFFFF00499C518462AC6AFF85C88DFF85C7
- 8BFF82C688FF7FC486FF7CC282FF79C180FF71B978FF5FA865FF49914EFF256A
- 2AB023662739FFFFFF00FFFFFF00FFFFFF00FFFFFF00429149905AA462FF58A1
- 5EFF37833EFF347E3AFF317A36FF2E7533FF2B712FEA286D2CB7256929702266
- 261DFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003A87419C3782
- 3DD2FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0036813C03337D
- 3978FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00
- }
- end
- object pmTileList: TPopupMenu
- left = 184
- top = 128
- object mnuAddToRandom: TMenuItem
- Caption = 'Add to random pool'
- OnClick = btnAddRandomClick
- end
- end
- object ApplicationProperties1: TApplicationProperties
- OnIdle = ApplicationProperties1Idle
- left = 295
- top = 33
- end
- object pmTools: TPopupMenu
- Images = ImageList1
- left = 328
- top = 33
- object mnuSelect: TMenuItem
- Action = acSelect
- Bitmap.Data = {
- 36040000424D3604000000000000360000002800000010000000100000000100
- 2000000000000004000064000000640000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000007C7C
- 7CFF787878FF757575FF000000000000FF00FF00000000000000000000000000
- 000000000000000000000000000000000000000000000000000000000000AAAA
- AAFFDBDBDBFF797979FF000000000000FF00FF00000000000000000000000000
- 0000000000000000000000000000000000000000000000000000888888FFDBDB
- DBFFB7B7B7FF7D7D7DFF000000000000FF00FF00000000000000000000000000
- 000000000000000000009C9C9CFF000000000000000000000000ADADADFFF2F2
- F2FF848484FF00000000000000000000FF00FF00000000000000000000000000
- 00000000000000000000A0A0A0FF9C9C9CFF00000000949494FFD9D9D9FFC1C1
- C1FF898989FF00000000000000000000FF00FF00000000000000000000000000
- 00000000000000000000A4A4A4FFD7D7D7FF9D9D9DFFD0D0D0FFEEEEEEFF9191
- 91FF0000000000000000000000000000FF00FF00000000000000000000000000
- 00000000000000000000A9A9A9FFF2F2F2FFE5E5E5FFE2E2E2FFE3E3E3FF9595
- 95FF919191FF8D8D8DFF898989FF868686FFFF00000000000000000000000000
- 00000000000000000000ADADADFFEEEEEEFFE1E1E1FFDFDFDFFFE0E0E0FFE7E7
- E7FFE4E4E4FFBBBBBBFF8E8E8EFF0000FF00FF00000000000000000000000000
- 00000000000000000000B1B1B1FFF0F0F0FFE4E4E4FFE2E2E2FFE2E2E2FFE7E7
- E7FFC1C1C1FF969696FF000000000000FF00FF00000000000000000000000000
- 00000000000000000000B5B5B5FFF2F2F2FFE8E8E8FFE7E7E7FFEAEAEAFFC6C6
- C6FF9E9E9EFF00000000000000000000FF00FF00000000000000000000000000
- 00000000000000000000B9B9B9FFF4F4F4FFECECECFFEDEDEDFFCBCBCBFFA7A7
- A7FF0000000000000000000000000000FF00FF00000000000000000000000000
- 00000000000000000000BDBDBDFFF7F7F7FFEFEFEFFFD0D0D0FFAFAFAFFF0000
- 00000000000000000000000000000000FF00FF00000000000000000000000000
- 00000000000000000000C1C1C1FFF7F7F7FFD5D5D5FFB6B6B6FF000000000000
- 00000000000000000000000000000000FF00FF00000000000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00C4C4C4FFD9D9D9FFBEBEBEFFFFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FF0000000000000008000000DB87
- 4100DB874100DB874100C8C8C8FFC5C5C5FF0000000000000000000000000000
- 000000000000000000000000000000000000EFFFFF00FFFFFF00F0A3E30008E9
- 120000000000000000000851A500F52E74000000000040000000F8040600AC04
- 0600000000000000000000000000C00406000000000000000000
- }
- GroupIndex = 1
- RadioItem = True
- OnClick = acSelectExecute
- end
- object mnuDraw: TMenuItem
- Action = acDraw
- Bitmap.Data = {
- 36040000424D3604000000000000360000002800000010000000100000000100
- 2000000000000004000064000000640000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000FF00FF00000000000000000000001340
- 58FF15425EFF25699CFF2C76B4FF3B8BBAFF0000000000000000000000000000
- 00000000000000000000000000000000FF00FF00000000000000000000001242
- 59FF5D9CD4FFA6CFF5FFA9CFECFF488BC1FF2C76B4FF00000000000000000000
- 00000000000000000000000000000000FF00FF00000000000000000000001E6D
- 93FFCBE3F9FF61AAECFF4098E8FF1567C2FF1660AAFF2C76B4FF000000000000
- 00000000000000000000000000000000FF00FF00000000000000000000001E6D
- 93FFC8E1F2FFD1E7FAFF347DB5FF3199C3FF6DC4DCFF4A9CCFFF3483C7FF0000
- 00000000000000000000000000000000FF00FF00000000000000000000000000
- 00002689B9FFB0CBE1FF67A9C8FF60DCF5FF44D6F4FF8EEEFAFF5DB4E6FF3B8F
- D9FF0000000000000000000000000000FF00FF00000000000000000000000000
- 0000000000002689B9FFBEE6F2FFB3F4FCFF60DCF5FF44D6F4FF8EEEFAFF5DB4
- E6FF3B8FD9FF00000000000000000000FF00FF00000000000000000000000000
- 000000000000000000002790BFFFC3EDF8FFB3F4FCFF60DCF5FF44D6F4FF8EEE
- FAFF5DB4E6FF3B8FD9FF000000000000FF00FF00000000000000000000000000
- 00000000000000000000000000002FBAE4FFC3EDF8FFB3F4FCFF60DCF5FF44D6
- F4FF8EEEFAFF5DB4E6FF3B8FD9FF0000FF00FF00000000000000000000000000
- 0000000000000000000000000000000000002FBAE4FFC3EDF8FFB3F4FCFF60DC
- F5FF44D6F4FF8EEEFAFF5DB4E6FF3B8FD9FFFF00000000000000000000000000
- 000000000000000000000000000000000000000000002FBAE4FFC3EDF8FFB3F4
- FCFF68D9F5FF6FCFF3FF599DD0FF73ABDDFF4F91C9FF00000000000000000000
- 00000000000000000000000000000000000000000000000000002FBAE4FFC3ED
- F8FFA8E2F8FF6CAEDDFFA5CFF4FFA5CFF4FFBDDBF7FF5393CBFF000000000000
- 0000000000000000000000000000000000000000000000000000000000002FBA
- E4FFA7D4F4FFC5E1F8FFCCE3F9FFCCE3F9FFBDDBF7FF4F90C9FFFFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF0050A8D9FF6AA5D8FFC9E1F7FFCBE3F8FF4295CAFF3182C2FF08000000FF33
- 3300FF333300FF333300FF333300FFFFFF000000000000000000000000000000
- 0000000000004FAADBFF5093CAFF4E90C8FF2F9DD2FFFFFFFF00F0A3E3007804
- 060000000000000000000851A5001E9B7000000000004000000028E62400DCE5
- 2400000000000000000000000000F0E524000000000000000000
- }
- GroupIndex = 1
- RadioItem = True
- OnClick = acDrawExecute
- end
- object mnuMove: TMenuItem
- Action = acMove
- Bitmap.Data = {
- 36040000424D3604000000000000360000002800000010000000100000000100
- 200000000000000400006400000064000000000000000000000053A85AFF51A6
- 58FF4FA356FF4EA154FF4C9F52FFA8AAAC00A5A7AA00A3A6A800A7A9AC00AEAF
- B100ABADB000429046FF418E45FF408D43FF3F8B42FF3E8A41FF54AB5CFF83BF
- 89FF7DBB83FF54A65BFFB2B4B500B0B2B300B7B8BA00B1B3B500ACAFB100AAAC
- AF00A8AAAC00A5A7AA00429046FF6DAD71FF6EAE73FF3F8C42FF56AD5FFF83C0
- 8AFF73B77AFF6CB473FF50A457FFA9ACAE00A7AAAB00ACAFB100B3B5B600B2B4
- B500B0B2B300459449FF5AA05EFF5EA664FF6CAD70FF408D44FF58B061FF57AE
- 5FFF6CB673FF84C08AFF6EB574FF50A457FFBEBFC100B2B5B600AFB2B300ADAF
- B10048994DFF5DA561FF75B379FF5FA463FF47944CFF418F45FF5AB363FFB9BC
- BD0057AE5FFF6CB673FF6AB471FF52A759FFB3B5B700BABDBE00B8BABC00B6B8
- B9004A9B4FFF5FA764FF62A867FF45954AFFB2B4B600439147FFB8BABC00C2C4
- C500BFC1C20057AE5FFF55AC5DFFC9CBCC00B9BCBD00B5B8BA00B2B4B600AFB1
- B300ABAEB0004A9C50FF48994EFFB8BABC00B6B8B900BEC0C200C0C1C300BABC
- BE00B7B9BB00B3B5B700AFB2B400B8BABC00C2C4C500BFC1C200BDBEBF00C4C5
- C600CED0D100C0C1C300BABCBE00B7B9BB00B3B5B700AFB2B400CACBCC00C7C9
- CB00C4C6C700CBCCCD00CED0D100C0C1C300BABCBE00B7B9BB00B3B5B700AFB2
- B400B8BABC00C2C4C500BFC1C200BDBEBF00C4C5C600CED0D100C1C3C500BEC0
- C200B9BBBD00B4B7B900BFC1C300CACBCC00C7C9CB00C4C6C700CBCCCD00D5D5
- D600C7C8CA00C1C3C500BEC0C200B9BBBD00B4B7B900BFC1C300CCCFD000CBCD
- CD00D0D1D200D5D5D600C7C8CA00C1C3C500BEC0C200B9BBBD00B4B7B900BFC1
- C300CACBCC00C7C9CB00C4C6C700CBCCCD00D5D5D600C7C8CA00C2C4C500BEC0
- C100B9BBBC0060BB6AFF5EB968FFCCCFD000CBCDCD00D0D1D200DADBDC00CCCF
- D000C7CACB0053A95BFF52A759FFB9BBBC00C5C7C900D0D1D10065C370FFD5D6
- D70063BF6DFF80C989FF79C482FF5FB969FFBEC0C100B9BBBC00C5C7C900D0D1
- D10057AE5FFF6EB875FF6CB573FF52A759FFCCCFD0004EA255FF66C472FF6BC5
- 75FF83CC8CFF9BD3A4FF7BC784FF60BC6BFFD5D6D700E1E1E200D4D5D600CDCF
- D10059B161FF75BD7DFF8CC793FF6DB673FF52A759FF50A557FF67C673FF9DD6
- A5FF92D19BFF7ECA87FF63C06EFFC2C5C700BEC0C100CBCCCE00D8D9D900D4D7
- D800D1D4D40059B162FF76BD7EFF7EC086FF8AC590FF52A85AFF68C774FFA1D8
- A9FF9ED6A7FF65C371FFD8DADA00D9DBDC00E5E6E700D9DBDC00D4D5D700CDD0
- D100C7C9CB00C2C5C6005FB467FF8DC894FF8EC995FF54AA5CFF68C774FF68C7
- 74FF67C673FF66C572FF65C371FFC2C5C600D0D2D300DEE0E000DADCDD00D8DA
- DA00D9DBDC005CB666FF5BB464FF59B262FF58AF60FF56AD5EFF
- }
- GroupIndex = 1
- RadioItem = True
- OnClick = acMoveExecute
- end
- object mnuElevate: TMenuItem
- Action = acElevate
- Bitmap.Data = {
- 36040000424D3604000000000000360000002800000010000000100000000100
- 20000000000000040000640000006400000000000000000000000000BD0000A5
- 9C00001A420000B5A00013C0F80028FC0000B3A50A00C9800000FC000000F800
- 0000EC5506003A9F0000B3A50A00C9800000FC000000F80016004BDB0000FC00
- 0000F80027000000280000000000FE1E0000286E2DFF256929FF216425FF1E60
- 22FF0028FC000028FC000000280000002800000028000028FC00000028000000
- 28000028FC000027F3000EFC0E00000000002D7533FF74BD7AFF72BD78FF2265
- 26FF4BDB0000FC000000F80000006500000000000000FE1E0000130000000000
- 0000FE0000002CF30000FC000000F8002800337D39FF79C07EFF76BF7CFF266B
- 2BFFFC0000000FFE1F0000004C000028FC000028FC00000028000028FC000028
- FC000000280000002800000028000028FC0039853FFF7DC282FF7AC180FF2B72
- 30FF002CF80028FC0000FE0000002CF30000FC000000F80011004CDB0000FF10
- 0000F20023000000000000000000FE1E00003F8D46FF81C587FF7EC385FF317A
- 36FF15000000FE1E00004CDB0000FC00000026FD000000002B00FC00000028FC
- 0000000028000028FC000028FF000000280045954CFF85C78CFF82C689FF3682
- 3DFF0BFB1D000039DF000EFE1C000049F80028FC0000FE1E000014C2F80028FC
- 0000B2A80A00CB7F0000FF810300C60010004A9E53FF8ACA91FF87C98EFF3C8A
- 43FFFF810300C60028000000280095060800B2A80A00CB7F000065E2BA0013AC
- F10090040000FC00000028FC00000000280050A659FF8ECC95FF8BCB93FF4292
- 4AFF830380000028FC000487C10000A2AC000CB3890000B4A300000B9A00F09D
- 08000016B600D86AF80028FC000013ACF10056AD5FFF93CF9AFF90CE98FF489A
- 50FF0000000013ACF10090040000FC6AEA003C00E600F4F45900000000000000
- 2800000000000000060000000000000000005BB465FF96D29FFF94D09CFF5DAC
- 65FFB728FC00E2BA280068E9E1006EE9E4000028FC000031F100000000000028
- FC000283CF000000000065C371FF62BF6EFF79C683FF9AD4A3FF98D3A1FF7DC3
- 86FF4FA458FF4A9E53FFED5706003E9F00000000000000000000CA5A00000000
- 000000000000000000000000280066C472FF7CCA87FF9ED6A7FF9CD4A5FF73C0
- 7DFF55AC5EFF000028000026FC00000000000006000000000000000000000000
- 000000000000000000000028FF00F5CE350066C572FF7ECA88FF7BC885FF5DB8
- 68FF00000000000000000000000000000000000000003CBBF000000000000000
- 0000000000000000000000000000000000000000000067C673FF65C270FF0000
- 00000000000000000000FC00000028FC000000002800000EFC00E8A3E300802E
- 6400000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000026F000000000000000000000
- }
- GroupIndex = 1
- RadioItem = True
- OnClick = acElevateExecute
- end
- object mnuDelete: TMenuItem
- Action = acDelete
- Bitmap.Data = {
- 36040000424D3604000000000000360000002800000010000000100000000100
- 20000000000000040000640000006400000000000000000000000FFE1F000000
- 4C000028FC000028FC000000280000002800000028000009F100A06131FFB676
- 3FFFA46534FF0DFD1E0000000000FE1E00004BDB0000FF0600002CF30000FC00
- 0000F8002800000028000028FC000011FF00000000009F5E2FFFE7B263FFBF92
- 4FFFDDAB62FFA26232FF0028FC000000240000000000F30028001E000000DB00
- 280026FD0000C79751FFD8A65AFFA66C36FF00002800A86835FFD1A057FF0000
- 9D008E6A36FFB4753FFF0000000024FE000000000000FE00000000000000FE1E
- 0000B58244FFD6A45AFFAE8241FFECB666FFA76E36FFAC6C37FFC49551FF0000
- 0E001E000000B77840FF100031000028FC000028FF0000000E000028FF000608
- 0000BE8A4AFFA87E41FF28FC0000966E32FFE7B066FFCAA274FFE5B167FF945E
- 2DFFB88D4DFFAF703BFF0C00D500000EFD00000000000EFD1F000F04380000AD
- AD009C6A32FFD6A55EFFCB7F0000FC000000E4AD60FFDCBD9BFFEFCDA5FFEFB7
- 67FFD8A65DFF00000000A80A16007F002800810384000028FC006AEAE30000E6
- FF00F459FC00B17E42FFDCAA60FFD09E54FFEAB365FFD8BA99FFF8EBE1FFAE89
- 57FF06082800850380008303800000000100592AFA000000AD00AF80B0000000
- 1000EFF09F000010A4009D6932FFB17E42FF9E682CFFBC9767FFF0E0D0FFB691
- 5FFF00E6FF00F431CD000000000000000000ACF1EC0004002800000000000000
- 0000000000000028FC00000000000006000000000000B68F59FFF5E9DDFFE2CD
- B4FFB99461FFB728FC00E2BA280068E9E1006EE9E40000000000000000000000
- 0000F6DC510000000000000000000000000000000000B28A54FFF1E2D3FFCFB3
- 8EFFF5E9DCFF000000000028FC0000004200570602009F000000BBF0F4005A00
- 00000000000000000000000000000028FC0000000000AF8750FFEDDECEFF0000
- 2800CEB38FFFE7D6C3FF0026FC00000000000006000000000000000000000000
- 00000000000000000000C3EC0600000000000000000000000000E6D4C0FF0000
- 000000000000D3B999FFD3B897FF000000000028FC0000000000000000000000
- 0000000000000000000000000000000000000000000000000000DEC8AEFF0000
- 00000000000000002800D1B693FFBB9767FF000EFC000000000000007800F407
- 0000000000000000000000000000000000000000000000000000D5BC9DFF0000
- 0000000000000000000000000000AE854CFF0000000000000000080000000000
- 0000000000000000000000000000FFFFFF000000000000000000CBAE87FF0000
- 0000000000000000000000000000000000000000000000000000E8A3E3000022
- 780000000000000000000851A500E3AF75000000000078000000A77B3EFFA4F0
- 9D00000000000000000000000000B8F09D000000000000000000
- }
- GroupIndex = 1
- RadioItem = True
- OnClick = acDeleteExecute
- end
- object mnuSetHue: TMenuItem
- Action = acHue
- Bitmap.Data = {
- 36040000424D3604000000000000360000002800000010000000100000000100
- 2000000000000004000064000000640000000000000000000000000000000000
- 000000000000000000000000000000000000FF00000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000001D65A0FF1A639EFF1761
- 9BFF000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000256BA6FF87AEE1FF7FA9DCFF6093
- C9FF3173ACFF15609AFF0000000000000000FF00000000000000000000000000
- 00000000000000000000000000002D70ADFF6E9ED1FF9ABDEBFF72A1E3FF97BA
- EAFF95B9EAFF6194CAFF16609AFF000000000000000000000000000000000000
- 00000000000000000000000000003274B1FF9EC0ECFF6A9DE2FF5C94DFFF5992
- DFFF6095E0FF96B9EAFF87AEE1FF4A84BCFF145F99FF00000000000000000000
- 0000427FBDFF3F7DBAFF3B7AB8FF77A5D7FFA2C3EDFFA0C1EDFF9EC0EDFF75A4
- E4FF5B93DFFF5991DEFF7CA8E6FF93B7E8FF4480B8FF000000004F88C7FF6598
- CFFF7CA9D9FF8EB5E2FFA4C5EDFFA8C7EEFF6598CDFF3576B3FF6094C9FFA0C1
- EDFF7997A4FF9F9749FF7D9592FF8EB4E9FF7AA6D8FF19629DFF538BCBFFAFCD
- F0FFB1CFF0FF99C0ECFF7FAFE7FFABCAEFFF3E7CB9FF000000003677B4FFA3C4
- EDFFA99832FFC5B65BFFAD9827FF5C94DFFF99BCEBFF1D65A0FF588ECEFFA9C9
- EDFF85A8EDFF596BEDFF6B8FE9FFAECDF0FF6E9ED2FF3F7DBAFF689ACEFFA6C6
- EEFF969B6AFFAE9827FF9E984EFF679CE2FF99BCEAFF2268A3FF5C91D1FF93BA
- E5FF6F75F6FF8285F5FF4141F0FF91BCEBFFAFCDF0FFADCCF0FFABCAF0FF86B3
- E9FF5FAAC2FF45B48EFF57A9B7FF71A2E4FF98BBE8FF266BA7FF000000005D92
- D2FF93A5F5FF5A5BF6FF5287F4FF3CA7FBFF5DACF2FF7FB0E7FF7CAEE7FF79AB
- E6FF40B781FF61C898FF3CB87BFF7EADE7FF90B6E3FF2B6FABFF000000006194
- D5FF87B0E1FFBAD7F3FF33A7FEFF6DC0FFFF2CA4FFFF67BFF0FF3BCEFBFF5BBF
- F1FF53B4A1FF3CB87AFF48B491FFA8C8EEFF78A6D6FF3072AFFFFFFFFF00FFFF
- FF006295D6FF86AFE1FF5BB3F9FF2CA4FFFF41AAFBFF31D3FEFF6DE2FFFF2CD5
- FFFF80B1E8FF7DAEE7FFAACAEFFFA6C6EDFF3878B6FF00000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF006094D5FF8FB7E3FFBAD7F3FF5ED5FBFF2BD5FFFF42D1
- FBFFB4D2F2FFB2D0F1FF93B9E2FF6396CCFF3E7CB9FFFFFFFF0008000000888A
- 8C00888A8C00888A8C00888A8C006194D5FF77A4DCFF92B9E4FFA9CAECFFA6C7
- ECFF8EB6E2FF699BD2FF4A84C3FF00000000EFFFFF00FFFFFF00E8A3E30070F0
- 9D0000000000000000000851A500D7AD7500000000005F93D4FF5C91D1FF598F
- CFFF558DCCFF000000000000000020B45F000000000000000000
- }
- GroupIndex = 1
- RadioItem = True
- OnClick = acHueExecute
- end
- object mnuSeparator3: TMenuItem
- Caption = '-'
- end
- object mnuBoundaries: TMenuItem
- Action = acBoundaries
- Bitmap.Data = {
- 36040000424D3604000000000000360000002800000010000000100000000100
- 200000000000000400006400000064000000000000000000000000B2AD000022
- CC000028FC000028FC00000028000000280000002800005AEE00181818008900
- AC000E04380000ACAA0004380000B3A50A00C9800000F25807004BDB00003232
- 32FF2D2D2DFF282828FF0027FC000000CD000000000000000E001E000000DB00
- 2800000028000027FC00040404FF010101FF000000FFDB002800000000003A3A
- 3AFFB7B7B7FF313030FFD89066FFD88E64FFD68C62FFD58961FFD5895FFFD586
- 5DFFD4855BFFD4855AFF090909FFA6A6A6FF030303FFFE1E0000000000004242
- 42FF3D3D3DFF534B46FFE3AD8DFFE2AB8BFFE1AA8AFFE1A888FFE0A787FFDFA5
- 85FFDFA484FFDEA383FF42332BFF0A0A0AFF070707FF000024000028FF000000
- 0E00DD9B73FFE4B192FFE4AF91FFE3AE8FFFE3AC8DFFE1AB8BFFE1A989FFE1A8
- 88FFE0A786FFDFA585FFDFA384FFD4865DFF0000000024FE0000000000000EFD
- 1F00DE9F77FFE5B495FFE4B393FFE4B192FFE3AF90FFE3AE8EFFE2AC8DFFE1AA
- 8BFFE1A989FFE0A787FFDFA686FFD5895FFF100031000028FC00810384000028
- FC00E1A27BFFE6B798FFE6B596FFE5B494FFE4B292FFE4B191FFE3AF8FFFE3AD
- 8DFFE2AC8CFFE1AA8AFFE1A989FFD68C62FF0C00D500000EFD00592AFA000000
- AD00E1A67FFFE8BA9BFFE7B899FFE6B697FFE6B596FFE5B394FFE4B192FFE4AF
- 91FFE3AE8FFFE3AD8DFFE2AB8BFFD88E66FFA80A16007F002800ACF1EC000400
- 2800E3AA81FFE9BC9EFFE8BB9CFFE8B99AFFE7B899FFE6B697FFE6B495FFE4B3
- 94FFE4B192FFE3AF90FFE3AE8FFFD9926AFF83038000000001006EE9E4000000
- 0000E3AC85FFEABFA0FFEABE9FFFE8BC9DFFE8BA9CFFE8B99AFFE6B798FFE6B6
- 96FFE5B494FFE4B393FFE4B191FFDA966CFF0000000000000000570602009F00
- 0000E5AF86FFEBC1A2FFEAC0A2FFEABEA0FFE9BD9EFFE8BC9DFFE8BA9BFFE7B8
- 99FFE6B698FFE6B596FFE5B394FFDC9A70FFE2BA280068E9E100000600000000
- 0000E5B289FFEBC3A5FFEBC2A3FFEBC0A2FFEABFA1FFEABEA0FFE9BD9EFFE8BB
- 9DFFE8BA9BFFE7B899FFE6B697FFDE9D75FF0028FC00000042000028FC008686
- 86FF838383FF968D87FFEBC4A5FFEBC2A4FFEBC2A3FFEAC0A2FFEABFA0FFEABE
- 9FFFE8BC9EFFE8BB9CFF7E726AFF535353FF4F4F4FFF00000000000EFC008989
- 89FFD3D3D3FF848484FFE6B38CFFE5B28AFFE5B289FFE5AF86FFE5AE86FFE3AC
- 85FFE3AB83FFE3A980FF626262FFC4C4C4FF585858FF00000000000000008989
- 89FF888888FF878787FF00000000000000000000000000000000000000000000
- 000000000000000000006B6B6BFF666666FF626262FF00002800C8A3E300C8A3
- E300A8182F00A8182F0000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000
- }
- OnClick = acBoundariesExecute
- end
- object mnuVirtualLayer: TMenuItem
- Action = acVirtualLayer
- Bitmap.Data = {
- 36040000424D3604000000000000360000002800000010000000100000000100
- 200000000000000400006400000064000000000000000000000010A6F1009E00
- 0000A6F1EF0000001500F1ED920000006200DF6FF80028FC000028F8000093F1
- F000000000002900000070A1E30070A1E30020E55C0088A1E300FF1C00000011
- 9C00F4E181000028FC000028FC000000280000002800000028000028FF00F4F4
- F4000016B700D869F80028FC000093F1F0008D000000005AE500000000000000
- 0000000000000000000046974EFF419149FF3C8A43FF38833EFF337D39FF2F77
- 34FF2A712FFF266B2BFF236627FF206223FF1D5E20FF1A5B1EFF000000000000
- 000000000000000000004C9F54FF47994FFF42924AFF3D8C45FF39853FFF347F
- 3AFF307835FF2B7230FF276D2CFF246828FF206324FF1D5F21FF000000000000
- 000046974EFF419149FF51A75BFF499B51FF44944BFF3F8E46FF3B8741FF3681
- 3CFF317A37FF2D7532FF296F2EFF256929FF256929FF216425FF58FC00000028
- FF004C9F54FF28FFF40057AF61FF4FA559FF4B9E54FF46984EFF429148FF3D8A
- 43FF38843EFF337D39FF2F7734FF29702FFF296F2EFF256A2AFF0028FC000000
- 00004EA358FF1171F1005CB666FF52A85BFF4EA357FF4A9D52FF45974DFF4190
- 48FF3C8A43FF37833EFF357F3BFF2F7835FF2F7734FF2A712FFF000000000000
- 000056AE60FF0000000060BC6BFF58B062FF54AB5EFF51A659FF4CA055FF489A
- 50FF43944BFF3D8B45FF3A8741FF357F3BFF347F3AFF307835FFE81ADD00E81A
- DD005BB565FF0000000064C16FFF5AB465FF57AF61FF54AB5EFF51A65AFF4CA1
- 56FF499B51FF43934AFF409047FF3B8741FF3A8741FF35803BFF3FDE47000000
- 00005FBB6AFF0000000067C673FFDE3F6A0059B264FF57AE60FF54AB5DFF51A7
- 5AFF4DA256FF479950FF46974EFF408E47FF408F47FF3B8842FF000000000000
- 000063C06EFF00FFFF0067C673FF67C572FF64C170FF61BD6CFF5DB968FF5AB4
- 64FF56AE60FF50A659FF4DA256FF479A50FF46974EFF419149FF0000000000FF
- FF0067C673FF0000000000000000000000000000000000FFFF00FF0000000000
- 00000000000000000000000000003B8842FFFF00000000000000F90600000000
- 000068C774FF68C673FF65C271FF62BE6EFF5FBA6AFF5CB565FF58AF61FF53A9
- 5CFF4FA357FF46974DFFFF000000000000000000000000000000FFFFFF00FFFF
- FF00FFFFF9004E0009003FDE460000000000000000000000000000000600DE3F
- 7B00C63E0000000000000000000000000000000000003EC6D900080000000000
- 3C00F0F4CA000000000000000000FFFFFF000000000000000000000000000000
- 000000000000000000000000000000000000004ECB00FFFFFF00A8A3E300A8A3
- E3003019DD003019DD000851A50092B075000000000018000000B019DD006419
- DD000000000000000000000000007819DD000000000000000000
- }
- OnClick = acVirtualLayerExecute
- end
- end
- object pmClients: TPopupMenu
- left = 184
- top = 176
- object mnuGoToClient: TMenuItem
- Caption = 'GoTo'
- Default = True
- OnClick = mnuGoToClientClick
- end
- end
- object tmMovement: TTimer
- Enabled = False
- Interval = 500
- OnTimer = tmMovementTimer
- OnStartTimer = tmMovementTimer
- left = 232
- top = 80
- end
- object ActionList1: TActionList
- Images = ImageList1
- left = 264
- top = 80
- object acSelect: TAction
- Category = 'Tools'
- Caption = 'Select'
- Checked = True
- GroupIndex = 1
- Hint = 'Select'
- ImageIndex = 4
- OnExecute = acSelectExecute
- ShortCut = 112
- end
- object acDraw: TAction
- Category = 'Tools'
- Caption = 'Draw tiles'
- GroupIndex = 1
- Hint = 'Draw tiles'
- ImageIndex = 5
- OnExecute = acDrawExecute
- ShortCut = 113
- end
- object acMove: TAction
- Category = 'Tools'
- Caption = 'Move tiles'
- GroupIndex = 1
- Hint = 'Move tiles'
- ImageIndex = 6
- OnExecute = acMoveExecute
- ShortCut = 114
- end
- object acElevate: TAction
- Category = 'Tools'
- Caption = 'Elevate tiles'
- GroupIndex = 1
- Hint = 'Elevate tiles'
- ImageIndex = 7
- OnExecute = acElevateExecute
- ShortCut = 115
- end
- object acDelete: TAction
- Category = 'Tools'
- Caption = 'Delete tiles'
- GroupIndex = 1
- Hint = 'Delete tiles'
- ImageIndex = 8
- OnExecute = acDeleteExecute
- ShortCut = 116
- end
- object acHue: TAction
- Category = 'Tools'
- Caption = 'Hue tiles'
- GroupIndex = 1
- Hint = 'Hue tiles'
- ImageIndex = 12
- OnExecute = acHueExecute
- ShortCut = 117
- end
- object acBoundaries: TAction
- Category = 'Settings'
- Caption = 'Boundaries'
- Hint = 'Boundaries'
- ImageIndex = 9
- OnExecute = acBoundariesExecute
- ShortCut = 118
- end
- object acFilter: TAction
- Category = 'Settings'
- AutoCheck = True
- Caption = 'Filter'
- Hint = 'Filter'
- ImageIndex = 16
- OnExecute = acFilterExecute
- end
- object acVirtualLayer: TAction
- Category = 'Settings'
- Caption = 'Virtual Layer'
- Hint = 'Virtual Layer'
- ImageIndex = 15
- OnExecute = acVirtualLayerExecute
- ShortCut = 119
- end
- object acFlat: TAction
- Category = 'Settings'
- Caption = 'Flat view'
- Hint = 'Flat view'
- ImageIndex = 17
- OnExecute = acFlatExecute
- end
- object acNoDraw: TAction
- Category = 'Settings'
- Caption = 'NoDraw'
- Checked = True
- Hint = 'Display "No Draw" tiles'
- ImageIndex = 18
- OnExecute = acNoDrawExecute
- end
- object acUndo: TAction
- Category = 'Tools'
- Caption = 'Undo'
- Enabled = False
- Hint = 'Undo last set of changes'
- ImageIndex = 20
- OnExecute = acUndoExecute
- ShortCut = 16474
- end
- end
- object tmGrabTileInfo: TTimer
- Enabled = False
- Interval = 250
- OnTimer = tmGrabTileInfoTimer
- left = 368
- top = 80
- end
- object tmTileHint: TTimer
- Enabled = False
- OnTimer = tmTileHintTimer
- left = 184
- top = 224
- end
- object pmGrabTileInfo: TPopupMenu
- OnPopup = pmGrabTileInfoPopup
- left = 368
- top = 33
- object mnuGrabTileID: TMenuItem
- Caption = 'Grab TileID'
- OnClick = mnuGrabTileIDClick
- end
- object mnuGrabHue: TMenuItem
- Caption = 'Grab Hue'
- OnClick = mnuGrabHueClick
- end
- end
- object pmFlatViewSettings: TPopupMenu
- left = 368
- top = 136
- object mnuFlatShowHeight: TMenuItem
- AutoCheck = True
- Caption = 'Show Height'
- OnClick = mnuFlatShowHeightClick
- end
- end
- object XMLPropStorage1: TXMLPropStorage
- StoredValues = <>
- RootNodePath = 'Forms/frmMain'
- Active = False
- OnRestoreProperties = XMLPropStorage1RestoreProperties
- left = 368
- top = 208
- end
-end
+object frmMain: TfrmMain
+ Left = 257
+ Height = 579
+ Top = 135
+ Width = 755
+ ActiveControl = oglGameWindow
+ Caption = 'UO CentrED'
+ ClientHeight = 556
+ ClientWidth = 755
+ Constraints.MinHeight = 500
+ Constraints.MinWidth = 750
+ Font.Height = -11
+ Menu = MainMenu1
+ OnActivate = FormActivate
+ OnClose = FormClose
+ OnCreate = FormCreate
+ OnDestroy = FormDestroy
+ Position = poScreenCenter
+ SessionProperties = 'acFlat.Checked;acNoDraw.Checked;Height;Left;mnuFlatShowHeight.Checked;mnuSecurityQuestion.Checked;mnuShowAnimations.Checked;tbStatics.Down;tbTerrain.Down;Top;Width;WindowState;spTileList.Top'
+ ShowInTaskBar = stAlways
+ LCLVersion = '0.9.29'
+ WindowState = wsMaximized
+ object pnlBottom: TPanel
+ Left = 0
+ Height = 31
+ Top = 525
+ Width = 755
+ Align = alBottom
+ BevelOuter = bvNone
+ ClientHeight = 31
+ ClientWidth = 755
+ TabOrder = 0
+ object lblX: TLabel
+ Left = 11
+ Height = 14
+ Top = 7
+ Width = 11
+ Caption = 'X:'
+ ParentColor = False
+ end
+ object lblY: TLabel
+ Left = 88
+ Height = 14
+ Top = 7
+ Width = 10
+ Caption = 'Y:'
+ ParentColor = False
+ end
+ object lblTileInfo: TLabel
+ Left = 240
+ Height = 14
+ Top = 7
+ Width = 4
+ Caption = ' '
+ ParentColor = False
+ end
+ object lblTip: TLabel
+ Left = 517
+ Height = 31
+ Top = 0
+ Width = 230
+ Align = alRight
+ Alignment = taRightJustify
+ BorderSpacing.Right = 8
+ Caption = 'Right click shows a menu with all the tools.'
+ Layout = tlCenter
+ ParentColor = False
+ end
+ object lblTipC: TLabel
+ Left = 487
+ Height = 31
+ Top = 0
+ Width = 30
+ Align = alRight
+ Caption = 'Tip: '
+ Font.Height = -11
+ Font.Style = [fsBold]
+ Layout = tlCenter
+ ParentColor = False
+ ParentFont = False
+ end
+ object edX: TSpinEdit
+ Left = 24
+ Height = 19
+ Top = 3
+ Width = 55
+ MaxValue = 100000
+ TabOrder = 0
+ end
+ object edY: TSpinEdit
+ Left = 104
+ Height = 19
+ Top = 3
+ Width = 52
+ MaxValue = 100000
+ TabOrder = 1
+ end
+ object btnGoTo: TButton
+ Left = 168
+ Height = 23
+ Top = 3
+ Width = 51
+ BorderSpacing.InnerBorder = 4
+ Caption = 'GoTo'
+ OnClick = btnGoToClick
+ TabOrder = 2
+ end
+ end
+ object pcLeft: TPageControl
+ Left = 0
+ Height = 501
+ Top = 24
+ Width = 224
+ ActivePage = tsTiles
+ Align = alLeft
+ TabIndex = 0
+ TabOrder = 1
+ object tsTiles: TTabSheet
+ Caption = 'Tiles'
+ ClientHeight = 468
+ ClientWidth = 218
+ object lblFilter: TLabel
+ AnchorSideLeft.Control = cbTerrain
+ AnchorSideLeft.Side = asrBottom
+ AnchorSideTop.Control = cbTerrain
+ Left = 81
+ Height = 14
+ Top = 8
+ Width = 30
+ BorderSpacing.Left = 16
+ Caption = 'Filter:'
+ ParentColor = False
+ end
+ object vdtTiles: TVirtualDrawTree
+ Tag = 1
+ AnchorSideLeft.Control = tsTiles
+ AnchorSideTop.Control = cbStatics
+ AnchorSideTop.Side = asrBottom
+ AnchorSideRight.Control = tsTiles
+ AnchorSideRight.Side = asrBottom
+ AnchorSideBottom.Control = spTileList
+ Left = 4
+ Height = 218
+ Hint = '-'
+ Top = 56
+ Width = 210
+ Anchors = [akTop, akLeft, akRight, akBottom]
+ BorderSpacing.Left = 4
+ BorderSpacing.Top = 4
+ BorderSpacing.Right = 4
+ DefaultNodeHeight = 44
+ DragMode = dmAutomatic
+ DragOperations = []
+ DragType = dtVCL
+ Header.AutoSizeIndex = 2
+ Header.Columns = <
+ item
+ Position = 0
+ Text = 'ID'
+ end
+ item
+ Position = 1
+ Text = 'Tile'
+ Width = 44
+ end
+ item
+ Position = 2
+ Text = 'Name'
+ Width = 100
+ end>
+ Header.DefaultHeight = 17
+ Header.MainColumn = 2
+ Header.Options = [hoShowHint, hoVisible]
+ Header.ParentFont = True
+ Header.Style = hsFlatButtons
+ HintMode = hmHint
+ ParentShowHint = False
+ PopupMenu = pmTileList
+ ShowHint = True
+ TabOrder = 0
+ TreeOptions.AutoOptions = [toAutoScroll, toAutoScrollOnExpand, toAutoTristateTracking, toAutoDeleteMovedNodes]
+ TreeOptions.MiscOptions = [toFullRepaintOnResize, toInitOnSave, toToggleOnDblClick, toWheelPanning, toFullRowDrag]
+ TreeOptions.PaintOptions = [toShowButtons, toShowDropmark, toThemeAware, toUseBlendedImages, toStaticBackground]
+ TreeOptions.SelectionOptions = [toFullRowSelect, toMultiSelect]
+ OnClick = vdtTilesClick
+ OnDrawHint = vdtTilesDrawHint
+ OnDrawNode = vdtTilesDrawNode
+ OnEnter = vdtTilesEnter
+ OnGetHintSize = vdtTilesGetHintSize
+ OnKeyPress = vdtTilesKeyPress
+ OnScroll = vdtTilesScroll
+ end
+ object gbRandom: TGroupBox
+ AnchorSideTop.Control = spTileList
+ AnchorSideTop.Side = asrBottom
+ AnchorSideBottom.Control = tsTiles
+ AnchorSideBottom.Side = asrBottom
+ Left = 0
+ Height = 189
+ Top = 279
+ Width = 218
+ Align = alBottom
+ Anchors = [akTop, akLeft, akRight, akBottom]
+ Caption = 'Random pool'
+ ClientHeight = 175
+ ClientWidth = 216
+ TabOrder = 1
+ object btnAddRandom: TSpeedButton
+ AnchorSideLeft.Control = gbRandom
+ AnchorSideTop.Control = gbRandom
+ Left = 4
+ Height = 22
+ Hint = 'Add'
+ Top = 0
+ Width = 23
+ BorderSpacing.Left = 4
+ Color = clBtnFace
+ Glyph.Data = {
+ 36040000424D3604000000000000360000002800000010000000100000000100
+ 2000000000000004000064000000640000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000003A8C44FF368940FF32873CFF2F84
+ 37FF000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000459653FF419950FF7DC28FFF96D0A6FF96CFA6FF78BE
+ 89FF368D42FF2C8134FF00000000000000000000000000000000000000000000
+ 0000000000004D9C5DFF64B478FFA8DBB5FF87CC98FF66BC7DFF64BA7CFF86CB
+ 98FFA5D9B4FF58AA6BFF2C8134FF000000000000000000000000000000000000
+ 000056A366FF6AB97DFFA8DBB2FF60BC77FF5CBA73FF59B870FF59B56FFF58B5
+ 6FFF5BB774FFA5D9B3FF5AAA6CFF2C8234FF0000000000000000000000000000
+ 000053AB68FFAADDB4FF64C179FF5FBE71FF60BC77FFFFFFFFFFFFFFFFFF59B8
+ 70FF58B56EFF5CB774FFA6DAB4FF388F43FF00000000000000000000000061AC
+ 75FF8ACC98FF89D396FF6BC67AFF63C170FF55AB65FFFFFFFFFFFFFFFFFF59B8
+ 70FF59B870FF5BB972FF85CC97FF7BBE8DFF308539FF000000000000000065AF
+ 7AFFA9DDB3FF7DCF8AFF75CC81FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF59B870FF67BE7DFF9CD4ABFF34883DFF000000000000000069B2
+ 7EFFB6E2BEFF8BD597FF7AC986FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF59B870FF69C17EFF9DD4AAFF388B42FF00000000000000006DB5
+ 83FFACDDB6FFA6DFAFFF81CB8CFF7CC986FF6EBD79FFFFFFFFFFFFFFFFFF5BAC
+ 6AFF60BC77FF5CBA73FF8BD199FF80C592FF3C8E47FF00000000000000000000
+ 000085C797FFD2EED7FF95D9A0FF8AD394FF7FC889FFFFFFFFFFFFFFFFFF79CD
+ 85FF6BC37CFF6FC77EFFACDFB5FF459E57FF0000000000000000000000000000
+ 000070B887FFAADAB7FFD8F1DCFF92D89DFF88CD93FF84CC8EFF8BD496FF8AD4
+ 95FF83D28EFFAFE0B7FF6BB97DFF489856FF0000000000000000000000000000
+ 00000000000070B887FFAFDCBBFFDCF2E0FFB6E4BDFF9BDBA5FF96D9A0FFA5DF
+ AFFFC0E8C5FF79C28AFF509E5FFF000000000000000000000000000000000000
+ 0000000000000000000071B887FF94CEA4FFC3E6CBFFCFEBD4FFC9E9CEFFAFDD
+ B8FF6DB97FFF58A569FF00000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000006EB684FF6AB380FF67B17CFF63AE
+ 77FF000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000
+ }
+ NumGlyphs = 0
+ OnClick = btnAddRandomClick
+ ShowHint = True
+ ParentShowHint = False
+ end
+ object btnDeleteRandom: TSpeedButton
+ AnchorSideLeft.Control = btnAddRandom
+ AnchorSideLeft.Side = asrBottom
+ AnchorSideTop.Control = btnAddRandom
+ Left = 31
+ Height = 22
+ Hint = 'Delete'
+ Top = 0
+ Width = 23
+ BorderSpacing.Left = 4
+ Color = clBtnFace
+ Glyph.Data = {
+ 36040000424D3604000000000000360000002800000010000000100000000100
+ 2000000000000004000064000000640000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000003853BEFF3551BDFF304BBCFF2E4E
+ B8FF000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000004255C6FF3C52CCFF757AE8FF8F92EEFF8F92EEFF7178
+ E4FF334DC1FF2B4AB7FF00000000000000000000000000000000000000000000
+ 0000000000004959CBFF5C65E0FFA1A6F5FF7E86EFFF5B63E9FF595DE7FF7D84
+ EEFF9EA0F4FF515DD7FF2B4AB7FF000000000000000000000000000000000000
+ 00005361CFFF616BE3FFA1ACF5FF545FECFF505CEAFF4D59E9FF4E59E6FF4C56
+ E6FF5056E6FF9EA2F4FF5460D6FF2A4AB8FF0000000000000000000000000000
+ 00004B56DBFFA2ABF6FF5664F0FF5266EEFF4D59E9FF4D59E9FF4D59E9FF4D59
+ E9FF4C58E6FF525AE6FF9FA3F5FF3450C4FF0000000000000000000000005C62
+ D7FF818CEEFF7E91F7FF5D73F3FF4D59E9FF4D59E9FF4D59E9FF4D59E9FF4D59
+ E9FF4D59E9FF4F5BE9FF7B83F0FF757BE2FF2E4BBAFF00000000000000005F63
+ DAFFA1ABF7FF7086F8FF6882F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF4D59E9FF5C66EAFF969CF1FF3250BCFF00000000000000006469
+ DBFFAFB9F9FF7F93FAFF7085F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF4D59E9FF5E6AEEFF969DF1FF364FBEFF0000000000000000676A
+ DEFFA5AFF5FF9DABFAFF778CF0FF545FECFF545FECFF545FECFF545FECFF545F
+ ECFF545FECFF6377F2FF818EF4FF787FE9FF3A53C0FF00000000000000000000
+ 00007D83EAFFCDD4FCFF8B9DFAFF7E93F7FF758AEEFF6C84F6FF6C84F6FF6C84
+ F6FF6C84F6FF6379F3FFA4AFF8FF3E4FD0FF0000000000000000000000000000
+ 00006A69E0FFA3A7F3FFD4DBFDFF879AFAFF7F91F0FF7A8EF1FF7F94F8FF7E92
+ F9FF768CF8FFA8B6F8FF636EE3FF4557C7FF0000000000000000000000000000
+ 0000000000006A69E0FFAAADF2FFD8DCFDFFAEBAFAFF91A3FAFF8B9DFAFF9CA9
+ FBFFBAC7FCFF707BE9FF4C5BCCFF000000000000000000000000000000000000
+ 000000000000000000006A6ADFFF8E93EDFFBEC3F8FFCCD3F9FFC4CBF9FFAAB4
+ F4FF6670E2FF535ED1FF00000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000686ADDFF6364DCFF6164DAFF5D63
+ D9FF000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000
+ }
+ NumGlyphs = 0
+ OnClick = btnDeleteRandomClick
+ ShowHint = True
+ ParentShowHint = False
+ end
+ object btnClearRandom: TSpeedButton
+ AnchorSideLeft.Control = btnDeleteRandom
+ AnchorSideLeft.Side = asrBottom
+ AnchorSideTop.Control = btnDeleteRandom
+ Left = 58
+ Height = 22
+ Hint = 'Clear'
+ Top = 0
+ Width = 23
+ BorderSpacing.Left = 4
+ Color = clBtnFace
+ Glyph.Data = {
+ 36040000424D3604000000000000360000002800000010000000100000000100
+ 2000000000000004000064000000640000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000F1FF0000F1FF0000F1FF0000F1FF0000EFFF0000
+ EFFF0000EDFF0000EDFF00000000000000000000000000000000000000000000
+ 0000000000000000F5FF1A20F5FF3C4CF9FF3A49F8FF3847F8FF3545F8FF3443
+ F7FF3242F7FF141BF1FF0000EDFF000000000000000000000000000000000000
+ 00000000F7FF1D23F9FF4453FAFF2429F9FF1212F7FF0F0FF6FF0C0CF5FF0909
+ F5FF161BF5FF3343F7FF141BF1FF0000EDFF0000000000000000000000000000
+ F9FF1F25FAFF4A58FBFF4247FBFFC9C9FDFF3B3BF9FF1313F7FF1010F6FF3333
+ F7FFC5C5FDFF3035F7FF3444F7FF141BF2FF0000EDFF00000000000000000000
+ FBFF4F5DFDFF3237FBFFCBCBFEFFF2F2FFFFEBEBFEFF3B3BF9FF3939F8FFEAEA
+ FEFFF1F1FEFFC5C5FDFF181DF6FF3343F7FF0000EFFF00000000000000000000
+ FDFF525FFDFF2828FCFF4747FCFFECECFFFFF2F2FFFFECECFFFFECECFEFFF1F1
+ FFFFEAEAFEFF3434F7FF0B0BF5FF3545F8FF0000EFFF00000000000000000000
+ FDFF5562FEFF2C2CFDFF2929FCFF4848FCFFEDEDFFFFF2F2FFFFF2F2FFFFECEC
+ FEFF3A3AF9FF1212F7FF0F0FF6FF3848F8FF0000F1FF00000000000000000000
+ FDFF5764FEFF3030FDFF2D2DFDFF4B4BFCFFEDEDFFFFF2F2FFFFF2F2FFFFECEC
+ FFFF3D3DF9FF1616F8FF1313F7FF3C4BF8FF0000F1FF00000000000000000000
+ FFFF5A67FEFF3333FEFF5050FDFFEDEDFFFFF3F3FFFFEDEDFFFFEDEDFFFFF2F2
+ FFFFECECFEFF3E3EFAFF1717F8FF3F4EF9FF0000F1FF00000000000000000000
+ FFFF5B68FFFF4347FEFFCFCFFFFFF3F3FFFFEDEDFFFF4C4CFCFF4A4AFCFFECEC
+ FFFFF2F2FFFFCACAFEFF2A2FFAFF4251FAFF0000F3FF00000000000000000000
+ FFFF262BFFFF5D6AFFFF585BFFFFCFCFFFFF5252FEFF2F2FFDFF2C2CFDFF4B4B
+ FCFFCCCCFEFF484CFBFF4957FBFF1D23F9FF0000F5FF00000000000000000000
+ 00000000FFFF262BFFFF5D6AFFFF4347FFFF3434FEFF3232FEFF3030FDFF2D2D
+ FDFF383CFCFF4F5DFCFF1F25FAFF0000F7FF0000000000000000000000000000
+ 0000000000000000FFFF262BFFFF5C69FFFF5B68FFFF5A67FEFF5865FEFF5663
+ FEFF5461FEFF2227FCFF0000FBFF000000000000000000000000000000000000
+ 000000000000000000000000FFFF0000FFFF0000FFFF0000FFFF0000FDFF0000
+ FDFF0000FDFF0000FDFF00000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000
+ }
+ NumGlyphs = 0
+ OnClick = btnClearRandomClick
+ ShowHint = True
+ ParentShowHint = False
+ end
+ object btnRandomPresetSave: TSpeedButton
+ AnchorSideTop.Control = cbRandomPreset
+ AnchorSideRight.Control = btnRandomPresetDelete
+ Left = 164
+ Height = 22
+ Hint = 'Save Preset'
+ Top = 142
+ Width = 22
+ Anchors = [akTop, akRight]
+ BorderSpacing.Right = 4
+ Color = clBtnFace
+ Glyph.Data = {
+ 36040000424D3604000000000000360000002800000010000000100000000100
+ 2000000000000004000064000000640000000000000000000000000000000000
+ 000000000000000000000000000000000000BA6833FFC38458FFD38B68FFE18F
+ 70FFDC8D6CFFDA8B6DFFD78A6EFFCD8B6CFFAB6D44FFA65F2EFF00000000BA65
+ 30FFBB6631FFBA6630FFBA6630FFBA6530FFC68355FFEFCEBAFFDDFFFFFF87EE
+ C7FFA2F4D7FFA2F6D7FF8CEEC7FFE0FFFFFFDDA285FFAB6A3EFFBC6933FFF8F1
+ EAFFF7ECDFFFF6EADEFFF6EADCFFF6EADCFFC37F51FFEFB69AFFEAF3E8FF51BF
+ 84FF6FC998FF71C999FF54BF84FFE4F4E9FFDD9C7BFFAA693AFFBF7138FFF5EB
+ DFFFFDBF68FFFBBE65FFFCBE64FFFCBE64FFC48154FFEAB697FFF3F3EAFFEDF1
+ E6FFEFF1E6FFEFF0E6FFEDF1E5FFF3F5EDFFD59C79FFB07044FFC1783CFFF7ED
+ E3FFFDC26EFFFFD79EFFFFD69BFFFFD798FFC98B61FFE6B592FFE2A781FFE1A7
+ 81FFDEA37DFFDCA17BFFDB9F79FFD99E77FFD49A73FFBB7E57FFC47C40FFF7F0
+ E6FFF8B455FFF7B554FFF8B453FFF8B253FFCA8D65FFEAB899FFDDA57EFFDDA6
+ 80FFDBA37CFFD9A07AFFD9A079FFD89F78FFD89E78FFBF845DFFC58245FFF8F2
+ EBFFFEE7D6FFFDE7D6FFFDE7D6FFFDE6D5FFC8885DFFEFBFA1FFFDFCFAFFFEFC
+ FBFFFEFDFDFFFEFDFCFFFDFBFAFFFDFCFBFFDDA885FFC17F53FFC68447FFF9F3
+ ECFFFEE8D6FFFDE7D6FFFDE7D6FFFDE7D5FFC7865BFFEFC09EFFFFFFFFFFCC93
+ 6EFFFFFFFFFFFFFFFFFFFFFBF7FFFFF8F1FFE4AF8CFFC78A61FFC68849FFF9F4
+ EDFFFEE8D8FFFEE8D7FFFEE7D6FFFDE5D3FFCC8D65FFF3CDB0FFFFFFFFFFE3C7
+ B3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEABFA1FFC98960FFC6884AFFF9F4
+ EFFFFEE7D7FFFDE7D5FFFDE6D4FFFCE6D2FFD4976EFFD49E7BFFD09871FFD6A4
+ 82FFCD8E68FFCD9069FFD09A75FFD19973FFC88B62FF00000000C6894BFFF9F4
+ F0FFFCE6D3FFFDE7D3FFFCE4D1FFFBE3CDFFFAE0C8FFF8DCC2FFF5D6BBFFF3D4
+ B5FFF1D2B3FFF8F4F0FFC48246FF000000000000000000000000C6894BFFF9F5
+ F1FFFCE3CFFFFCE4CFFFFCE3CDFFFAE1CAFFF9DDC4FFF6D9BCFFF4E9DFFFF7F2
+ ECFFFBF7F3FFF5EFE9FFC27E45FF000000000000000000000000C6894CFFF9F5
+ F1FFFCE3CDFFFBE3CDFFFBE2CBFFF9E0C8FFF8DCC2FFF5D6BAFFFDFBF8FFFCE6
+ CDFFFAE5C9FFE2B684FFBF7942FF000000000000000000000000C5884BFFFAF6
+ F2FFFAE0C7FFFBE2C9FFFBE0C8FFF9DFC5FFF8DBC1FFF4D6B8FFFFFBF8FFF6D8
+ B4FFE1B07DFFDB9264FF00000000000000000000000000000000C48549FFF7F2
+ ECFFF8F4EEFFF8F3EDFFF8F3EDFFF8F3EDFFF8F2ECFFF7F2ECFFF2E6D7FFE2B2
+ 7DFFDB9465FF000000000000000000000000000000000000000000000000C88B
+ 4DFFC88C4FFFC88C4FFFC88C4FFFC88D4FFFC98C4FFFC78B4FFFC5894BFFC476
+ 3BFF000000000000000000000000000000000000000000000000
+ }
+ NumGlyphs = 0
+ OnClick = btnRandomPresetSaveClick
+ ShowCaption = False
+ ShowHint = True
+ ParentShowHint = False
+ end
+ object btnRandomPresetDelete: TSpeedButton
+ AnchorSideTop.Control = btnRandomPresetSave
+ AnchorSideRight.Control = gbRandom
+ AnchorSideRight.Side = asrBottom
+ Left = 190
+ Height = 22
+ Hint = 'Delete Preset'
+ Top = 142
+ Width = 22
+ Anchors = [akTop, akRight]
+ BorderSpacing.Right = 4
+ Color = clBtnFace
+ Glyph.Data = {
+ 36040000424D3604000000000000360000002800000010000000100000000100
+ 2000000000000004000064000000640000000000000000000000000000000000
+ 0000BA6530FFBB6631FFBA6630FFBA6630FFBA6630FFBA6530FFBA652FFFB965
+ 2EFF6E5E76FF1949A8FF0542BBFF1348ADFF394E8FFF0000000000000000BC69
+ 33FFF8F1EAFFF7ECDFFFF6EBDEFFF6EADEFFF6EADCFFF6EADCFFFAF3EBFF8AA5
+ D7FF2866CAFF2177E6FF0579EAFF0164DDFF064DBBFF0000000000000000BF71
+ 38FFF5EBDFFFFDBF68FFFCBD67FFFBBE65FFFCBE64FFFCBE64FFFCBD62FF1E52
+ B0FF639DF4FF187FFFFF0076F8FF0076EEFF0368E1FF0345B9FF00000000C178
+ 3CFFF7EDE3FFFDC26EFFFFD8A0FFFFD79EFFFFD69BFFFFD798FFFFD696FF0543
+ BCFFAECDFEFFFFFFFFFFFFFFFFFFFFFFFFFF187FEFFF0442BCFF00000000C47C
+ 40FFF7F0E6FFF8B455FFF7B456FFF7B554FFF8B453FFF8B253FFF7B352FF2453
+ ABFF8DB5F6FF4D92FFFF1177FFFF2186FFFF408AEBFF0344B9FF00000000C580
+ 42FFF8F1E8FFFEE5D5FFFDE5D3FFFDE5D3FFFCE5D3FFFCE5D3FFFCE4D1FF94A1
+ C9FF3D76D1FF8DB5F7FFB8D6FEFF72A8F5FF2F6BC9FF0000000000000000C582
+ 45FFF8F2EBFFFEE7D6FFFDE7D6FFFDE7D6FFFDE7D6FFFDE6D5FFFDE5D3FFFCE4
+ D1FF94A1C9FF2A5EC1FF0543BCFF1F59BFFF686279FF0000000000000000C684
+ 47FFF9F3ECFFFEE8D6FFFEE8D7FFFDE7D6FFFDE7D6FFFDE7D5FFFDE5D3FFFBE4
+ D0FFFBE3CCFFFADFC7FFFADFC6FFFAF2EAFFC68042FF0000000000000000C688
+ 49FFF9F4EDFFFEE8D8FFFEE8D8FFFEE8D7FFFEE7D6FFFDE5D3FFFCE4D1FFFBE1
+ CCFFFAE0C7FFF9DDC3FFF8DCC2FFFAF4EDFFC68245FF0000000000000000C688
+ 4AFFF9F4EFFFFEE7D7FFFDE7D6FFFDE7D5FFFDE6D4FFFCE6D2FFFBE1CCFFFADF
+ C7FFF8DCC2FFF6DABDFFF6D8BBFFFAF4EFFFC68346FF0000000000000000C689
+ 4BFFF9F4F0FFFCE6D3FFFCE6D4FFFDE7D3FFFCE4D1FFFBE3CDFFFAE0C8FFF8DC
+ C2FFF5D6BBFFF3D4B5FFF1D2B3FFF8F4F0FFC48246FF0000000000000000C689
+ 4BFFF9F5F1FFFCE3CFFFFBE4D0FFFCE4CFFFFCE3CDFFFAE1CAFFF9DDC4FFF6D9
+ BCFFF4E9DFFFF7F2ECFFFBF7F3FFF5EFE9FFC27E45FF0000000000000000C689
+ 4CFFF9F5F1FFFCE3CDFFFBE3CEFFFBE3CDFFFBE2CBFFF9E0C8FFF8DCC2FFF5D6
+ BAFFFDFBF8FFFCE6CDFFFAE5C9FFE2B684FFBF7942FF0000000000000000C588
+ 4BFFFAF6F2FFFAE0C7FFFBE1C9FFFBE2C9FFFBE0C8FFF9DFC5FFF8DBC1FFF4D6
+ B8FFFFFBF8FFF6D8B4FFE1B07DFFDB9264FF000000000000000000000000C485
+ 49FFF7F2ECFFF8F4EEFFF8F4EDFFF8F3EDFFF8F3EDFFF8F3EDFFF8F2ECFFF7F2
+ ECFFF2E6D7FFE2B27DFFDB9465FF000000000000000000000000000000000000
+ 0000C88B4DFFC88C4FFFC88C4FFFC88C4FFFC88C4FFFC88D4FFFC98C4FFFC78B
+ 4FFFC5894BFFC4763BFF00000000000000000000000000000000
+ }
+ NumGlyphs = 0
+ OnClick = btnRandomPresetDeleteClick
+ ShowCaption = False
+ ShowHint = True
+ ParentShowHint = False
+ end
+ object vdtRandom: TVirtualDrawTree
+ Tag = 1
+ AnchorSideLeft.Control = gbRandom
+ AnchorSideTop.Control = btnAddRandom
+ AnchorSideTop.Side = asrBottom
+ AnchorSideRight.Control = gbRandom
+ AnchorSideRight.Side = asrBottom
+ AnchorSideBottom.Control = cbRandomPreset
+ Cursor = 63
+ Left = 4
+ Height = 114
+ Top = 24
+ Width = 208
+ Anchors = [akTop, akLeft, akRight, akBottom]
+ BorderSpacing.Left = 4
+ BorderSpacing.Top = 2
+ BorderSpacing.Right = 4
+ BorderSpacing.Bottom = 4
+ DefaultNodeHeight = 44
+ DragType = dtVCL
+ Header.AutoSizeIndex = 0
+ Header.Columns = <
+ item
+ Position = 0
+ Text = 'ID'
+ end
+ item
+ Position = 1
+ Text = 'Tile'
+ Width = 44
+ end
+ item
+ Position = 2
+ Text = 'Name'
+ Width = 100
+ end>
+ Header.DefaultHeight = 17
+ Header.Options = [hoColumnResize, hoDrag, hoVisible]
+ Header.ParentFont = True
+ Header.Style = hsFlatButtons
+ TabOrder = 0
+ TreeOptions.AutoOptions = [toAutoDropExpand, toAutoScroll, toAutoScrollOnExpand, toAutoTristateTracking, toAutoDeleteMovedNodes]
+ TreeOptions.PaintOptions = [toHideFocusRect, toShowButtons, toShowDropmark, toThemeAware, toUseBlendedImages]
+ TreeOptions.SelectionOptions = [toFullRowSelect, toMultiSelect]
+ OnClick = vdtRandomClick
+ OnDragOver = vdtRandomDragOver
+ OnDragDrop = vdtRandomDragDrop
+ OnDrawNode = vdtTilesDrawNode
+ OnLoadNode = vdtRandomLoadNode
+ OnSaveNode = vdtRandomSaveNode
+ OnUpdating = vdtRandomUpdating
+ end
+ object cbRandomPreset: TComboBox
+ AnchorSideLeft.Control = gbRandom
+ AnchorSideRight.Control = btnRandomPresetSave
+ AnchorSideBottom.Control = gbRandom
+ AnchorSideBottom.Side = asrBottom
+ Left = 4
+ Height = 29
+ Top = 142
+ Width = 156
+ Anchors = [akLeft, akRight, akBottom]
+ BorderSpacing.Left = 4
+ BorderSpacing.Right = 4
+ BorderSpacing.Bottom = 4
+ ItemHeight = 0
+ OnChange = cbRandomPresetChange
+ Sorted = True
+ Style = csDropDownList
+ TabOrder = 1
+ end
+ end
+ object spTileList: TSplitter
+ AnchorSideLeft.Control = tsTiles
+ AnchorSideRight.Control = tsTiles
+ AnchorSideRight.Side = asrBottom
+ Cursor = crVSplit
+ Left = 0
+ Height = 5
+ Top = 274
+ Width = 218
+ Align = alNone
+ Anchors = [akLeft, akRight, akBottom]
+ ResizeAnchor = akBottom
+ end
+ object edSearchID: TEdit
+ AnchorSideRight.Control = vdtTiles
+ AnchorSideRight.Side = asrBottom
+ AnchorSideBottom.Control = vdtTiles
+ AnchorSideBottom.Side = asrBottom
+ Left = 110
+ Height = 19
+ Hint = 'Append S or T to restrict the search to Statics or Terrain.'
+ Top = 247
+ Width = 96
+ Anchors = [akRight, akBottom]
+ BorderSpacing.Right = 8
+ BorderSpacing.Bottom = 8
+ CharCase = ecUppercase
+ OnExit = edSearchIDExit
+ OnKeyPress = edSearchIDKeyPress
+ ParentShowHint = False
+ ShowHint = True
+ TabOrder = 2
+ Visible = False
+ end
+ object edFilter: TEdit
+ AnchorSideLeft.Control = lblFilter
+ AnchorSideTop.Control = lblFilter
+ AnchorSideTop.Side = asrBottom
+ AnchorSideRight.Control = tsTiles
+ AnchorSideRight.Side = asrBottom
+ Left = 81
+ Height = 19
+ Top = 22
+ Width = 121
+ Anchors = [akTop, akLeft, akRight]
+ BorderSpacing.Right = 16
+ OnEditingDone = edFilterEditingDone
+ TabOrder = 4
+ end
+ object cbStatics: TCheckBox
+ AnchorSideLeft.Control = cbTerrain
+ AnchorSideLeft.Side = asrCenter
+ AnchorSideTop.Control = cbTerrain
+ AnchorSideTop.Side = asrBottom
+ Left = 4
+ Height = 22
+ Top = 30
+ Width = 60
+ Caption = 'Statics'
+ Checked = True
+ OnChange = cbStaticsChange
+ State = cbChecked
+ TabOrder = 5
+ end
+ object cbTerrain: TCheckBox
+ AnchorSideLeft.Control = tsTiles
+ AnchorSideTop.Control = tsTiles
+ Left = 4
+ Height = 22
+ Top = 8
+ Width = 61
+ BorderSpacing.Left = 4
+ BorderSpacing.Top = 8
+ Caption = 'Terrain'
+ Checked = True
+ OnChange = cbTerrainChange
+ State = cbChecked
+ TabOrder = 6
+ end
+ end
+ object tsClients: TTabSheet
+ Caption = 'Clients'
+ ClientHeight = 468
+ ClientWidth = 218
+ object lbClients: TListBox
+ Left = 0
+ Height = 468
+ Top = 0
+ Width = 218
+ Align = alClient
+ ItemHeight = 0
+ OnDblClick = mnuGoToClientClick
+ PopupMenu = pmClients
+ Sorted = True
+ TabOrder = 0
+ TopIndex = -1
+ end
+ end
+ object tsLocations: TTabSheet
+ Caption = 'Locations'
+ ClientHeight = 468
+ ClientWidth = 218
+ object btnClearLocations: TSpeedButton
+ AnchorSideLeft.Control = btnDeleteLocation
+ AnchorSideLeft.Side = asrBottom
+ AnchorSideTop.Control = btnDeleteLocation
+ Left = 125
+ Height = 22
+ Hint = 'Clear'
+ Top = 442
+ Width = 23
+ BorderSpacing.Left = 4
+ Color = clBtnFace
+ Glyph.Data = {
+ 36040000424D3604000000000000360000002800000010000000100000000100
+ 2000000000000004000064000000640000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000F1FF0000F1FF0000F1FF0000F1FF0000EFFF0000
+ EFFF0000EDFF0000EDFF00000000000000000000000000000000000000000000
+ 0000000000000000F5FF1A20F5FF3C4CF9FF3A49F8FF3847F8FF3545F8FF3443
+ F7FF3242F7FF141BF1FF0000EDFF000000000000000000000000000000000000
+ 00000000F7FF1D23F9FF4453FAFF2429F9FF1212F7FF0F0FF6FF0C0CF5FF0909
+ F5FF161BF5FF3343F7FF141BF1FF0000EDFF0000000000000000000000000000
+ F9FF1F25FAFF4A58FBFF4247FBFFC9C9FDFF3B3BF9FF1313F7FF1010F6FF3333
+ F7FFC5C5FDFF3035F7FF3444F7FF141BF2FF0000EDFF00000000000000000000
+ FBFF4F5DFDFF3237FBFFCBCBFEFFF2F2FFFFEBEBFEFF3B3BF9FF3939F8FFEAEA
+ FEFFF1F1FEFFC5C5FDFF181DF6FF3343F7FF0000EFFF00000000000000000000
+ FDFF525FFDFF2828FCFF4747FCFFECECFFFFF2F2FFFFECECFFFFECECFEFFF1F1
+ FFFFEAEAFEFF3434F7FF0B0BF5FF3545F8FF0000EFFF00000000000000000000
+ FDFF5562FEFF2C2CFDFF2929FCFF4848FCFFEDEDFFFFF2F2FFFFF2F2FFFFECEC
+ FEFF3A3AF9FF1212F7FF0F0FF6FF3848F8FF0000F1FF00000000000000000000
+ FDFF5764FEFF3030FDFF2D2DFDFF4B4BFCFFEDEDFFFFF2F2FFFFF2F2FFFFECEC
+ FFFF3D3DF9FF1616F8FF1313F7FF3C4BF8FF0000F1FF00000000000000000000
+ FFFF5A67FEFF3333FEFF5050FDFFEDEDFFFFF3F3FFFFEDEDFFFFEDEDFFFFF2F2
+ FFFFECECFEFF3E3EFAFF1717F8FF3F4EF9FF0000F1FF00000000000000000000
+ FFFF5B68FFFF4347FEFFCFCFFFFFF3F3FFFFEDEDFFFF4C4CFCFF4A4AFCFFECEC
+ FFFFF2F2FFFFCACAFEFF2A2FFAFF4251FAFF0000F3FF00000000000000000000
+ FFFF262BFFFF5D6AFFFF585BFFFFCFCFFFFF5252FEFF2F2FFDFF2C2CFDFF4B4B
+ FCFFCCCCFEFF484CFBFF4957FBFF1D23F9FF0000F5FF00000000000000000000
+ 00000000FFFF262BFFFF5D6AFFFF4347FFFF3434FEFF3232FEFF3030FDFF2D2D
+ FDFF383CFCFF4F5DFCFF1F25FAFF0000F7FF0000000000000000000000000000
+ 0000000000000000FFFF262BFFFF5C69FFFF5B68FFFF5A67FEFF5865FEFF5663
+ FEFF5461FEFF2227FCFF0000FBFF000000000000000000000000000000000000
+ 000000000000000000000000FFFF0000FFFF0000FFFF0000FFFF0000FDFF0000
+ FDFF0000FDFF0000FDFF00000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000
+ }
+ NumGlyphs = 0
+ OnClick = btnClearLocationsClick
+ ShowHint = True
+ ParentShowHint = False
+ end
+ object btnDeleteLocation: TSpeedButton
+ AnchorSideLeft.Control = tsLocations
+ AnchorSideLeft.Side = asrCenter
+ AnchorSideBottom.Control = tsLocations
+ AnchorSideBottom.Side = asrBottom
+ Left = 98
+ Height = 22
+ Hint = 'Delete'
+ Top = 442
+ Width = 23
+ Anchors = [akLeft, akBottom]
+ BorderSpacing.Bottom = 4
+ Color = clBtnFace
+ Glyph.Data = {
+ 36040000424D3604000000000000360000002800000010000000100000000100
+ 2000000000000004000064000000640000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000003853BEFF3551BDFF304BBCFF2E4E
+ B8FF000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000004255C6FF3C52CCFF757AE8FF8F92EEFF8F92EEFF7178
+ E4FF334DC1FF2B4AB7FF00000000000000000000000000000000000000000000
+ 0000000000004959CBFF5C65E0FFA1A6F5FF7E86EFFF5B63E9FF595DE7FF7D84
+ EEFF9EA0F4FF515DD7FF2B4AB7FF000000000000000000000000000000000000
+ 00005361CFFF616BE3FFA1ACF5FF545FECFF505CEAFF4D59E9FF4E59E6FF4C56
+ E6FF5056E6FF9EA2F4FF5460D6FF2A4AB8FF0000000000000000000000000000
+ 00004B56DBFFA2ABF6FF5664F0FF5266EEFF4D59E9FF4D59E9FF4D59E9FF4D59
+ E9FF4C58E6FF525AE6FF9FA3F5FF3450C4FF0000000000000000000000005C62
+ D7FF818CEEFF7E91F7FF5D73F3FF4D59E9FF4D59E9FF4D59E9FF4D59E9FF4D59
+ E9FF4D59E9FF4F5BE9FF7B83F0FF757BE2FF2E4BBAFF00000000000000005F63
+ DAFFA1ABF7FF7086F8FF6882F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF4D59E9FF5C66EAFF969CF1FF3250BCFF00000000000000006469
+ DBFFAFB9F9FF7F93FAFF7085F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF4D59E9FF5E6AEEFF969DF1FF364FBEFF0000000000000000676A
+ DEFFA5AFF5FF9DABFAFF778CF0FF545FECFF545FECFF545FECFF545FECFF545F
+ ECFF545FECFF6377F2FF818EF4FF787FE9FF3A53C0FF00000000000000000000
+ 00007D83EAFFCDD4FCFF8B9DFAFF7E93F7FF758AEEFF6C84F6FF6C84F6FF6C84
+ F6FF6C84F6FF6379F3FFA4AFF8FF3E4FD0FF0000000000000000000000000000
+ 00006A69E0FFA3A7F3FFD4DBFDFF879AFAFF7F91F0FF7A8EF1FF7F94F8FF7E92
+ F9FF768CF8FFA8B6F8FF636EE3FF4557C7FF0000000000000000000000000000
+ 0000000000006A69E0FFAAADF2FFD8DCFDFFAEBAFAFF91A3FAFF8B9DFAFF9CA9
+ FBFFBAC7FCFF707BE9FF4C5BCCFF000000000000000000000000000000000000
+ 000000000000000000006A6ADFFF8E93EDFFBEC3F8FFCCD3F9FFC4CBF9FFAAB4
+ F4FF6670E2FF535ED1FF00000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000686ADDFF6364DCFF6164DAFF5D63
+ D9FF000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000
+ }
+ NumGlyphs = 0
+ OnClick = btnDeleteLocationClick
+ ShowHint = True
+ ParentShowHint = False
+ end
+ object btnAddLocation: TSpeedButton
+ AnchorSideTop.Control = btnDeleteLocation
+ AnchorSideRight.Control = btnDeleteLocation
+ Left = 71
+ Height = 22
+ Hint = 'Add'
+ Top = 442
+ Width = 23
+ Anchors = [akTop, akRight]
+ BorderSpacing.Right = 4
+ Color = clBtnFace
+ Glyph.Data = {
+ 36040000424D3604000000000000360000002800000010000000100000000100
+ 2000000000000004000064000000640000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000003A8C44FF368940FF32873CFF2F84
+ 37FF000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000459653FF419950FF7DC28FFF96D0A6FF96CFA6FF78BE
+ 89FF368D42FF2C8134FF00000000000000000000000000000000000000000000
+ 0000000000004D9C5DFF64B478FFA8DBB5FF87CC98FF66BC7DFF64BA7CFF86CB
+ 98FFA5D9B4FF58AA6BFF2C8134FF000000000000000000000000000000000000
+ 000056A366FF6AB97DFFA8DBB2FF60BC77FF5CBA73FF59B870FF59B56FFF58B5
+ 6FFF5BB774FFA5D9B3FF5AAA6CFF2C8234FF0000000000000000000000000000
+ 000053AB68FFAADDB4FF64C179FF5FBE71FF60BC77FFFFFFFFFFFFFFFFFF59B8
+ 70FF58B56EFF5CB774FFA6DAB4FF388F43FF00000000000000000000000061AC
+ 75FF8ACC98FF89D396FF6BC67AFF63C170FF55AB65FFFFFFFFFFFFFFFFFF59B8
+ 70FF59B870FF5BB972FF85CC97FF7BBE8DFF308539FF000000000000000065AF
+ 7AFFA9DDB3FF7DCF8AFF75CC81FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF59B870FF67BE7DFF9CD4ABFF34883DFF000000000000000069B2
+ 7EFFB6E2BEFF8BD597FF7AC986FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFF59B870FF69C17EFF9DD4AAFF388B42FF00000000000000006DB5
+ 83FFACDDB6FFA6DFAFFF81CB8CFF7CC986FF6EBD79FFFFFFFFFFFFFFFFFF5BAC
+ 6AFF60BC77FF5CBA73FF8BD199FF80C592FF3C8E47FF00000000000000000000
+ 000085C797FFD2EED7FF95D9A0FF8AD394FF7FC889FFFFFFFFFFFFFFFFFF79CD
+ 85FF6BC37CFF6FC77EFFACDFB5FF459E57FF0000000000000000000000000000
+ 000070B887FFAADAB7FFD8F1DCFF92D89DFF88CD93FF84CC8EFF8BD496FF8AD4
+ 95FF83D28EFFAFE0B7FF6BB97DFF489856FF0000000000000000000000000000
+ 00000000000070B887FFAFDCBBFFDCF2E0FFB6E4BDFF9BDBA5FF96D9A0FFA5DF
+ AFFFC0E8C5FF79C28AFF509E5FFF000000000000000000000000000000000000
+ 0000000000000000000071B887FF94CEA4FFC3E6CBFFCFEBD4FFC9E9CEFFAFDD
+ B8FF6DB97FFF58A569FF00000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000006EB684FF6AB380FF67B17CFF63AE
+ 77FF000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000
+ }
+ NumGlyphs = 0
+ OnClick = btnAddLocationClick
+ ShowHint = True
+ ParentShowHint = False
+ end
+ object vstLocations: TVirtualStringTree
+ AnchorSideLeft.Control = tsLocations
+ AnchorSideTop.Control = tsLocations
+ AnchorSideRight.Control = tsLocations
+ AnchorSideRight.Side = asrBottom
+ AnchorSideBottom.Control = btnDeleteLocation
+ Cursor = 63
+ Left = 4
+ Height = 434
+ Top = 4
+ Width = 210
+ Anchors = [akTop, akLeft, akRight, akBottom]
+ BorderSpacing.Around = 4
+ DefaultText = 'Node'
+ Header.AutoSizeIndex = 1
+ Header.Columns = <
+ item
+ Position = 0
+ Text = 'Coords'
+ Width = 75
+ end
+ item
+ Position = 1
+ Text = 'Name'
+ Width = 131
+ end>
+ Header.DefaultHeight = 17
+ Header.Options = [hoAutoResize, hoColumnResize, hoDrag, hoVisible]
+ Header.ParentFont = True
+ Header.Style = hsFlatButtons
+ TabOrder = 0
+ TreeOptions.AutoOptions = [toAutoScrollOnExpand, toAutoTristateTracking, toAutoDeleteMovedNodes]
+ TreeOptions.PaintOptions = [toShowButtons, toShowDropmark, toThemeAware, toUseBlendedImages]
+ TreeOptions.SelectionOptions = [toFullRowSelect]
+ OnDblClick = vstLocationsDblClick
+ OnFreeNode = vstLocationsFreeNode
+ OnGetText = vstLocationsGetText
+ OnLoadNode = vstLocationsLoadNode
+ OnNewText = vstLocationsNewText
+ OnSaveNode = vstLocationsSaveNode
+ end
+ end
+ end
+ object tbMain: TToolBar
+ Left = 0
+ Height = 24
+ Top = 0
+ Width = 755
+ Caption = 'tbMain'
+ Images = ImageList1
+ ParentShowHint = False
+ ShowHint = True
+ TabOrder = 2
+ object tbDisconnect: TToolButton
+ Left = 1
+ Hint = 'Disconnect'
+ Top = 2
+ Caption = 'Disconnect'
+ ImageIndex = 0
+ ParentShowHint = False
+ ShowHint = True
+ OnClick = mnuDisconnectClick
+ end
+ object tbSeparator1: TToolButton
+ Left = 24
+ Top = 2
+ Width = 16
+ Style = tbsDivider
+ end
+ object tbSelect: TToolButton
+ Left = 40
+ Top = 2
+ Action = acSelect
+ Grouped = True
+ ParentShowHint = False
+ ShowHint = True
+ Style = tbsCheck
+ end
+ object tbDrawTile: TToolButton
+ Left = 63
+ Top = 2
+ Action = acDraw
+ Grouped = True
+ ParentShowHint = False
+ ShowHint = True
+ Style = tbsCheck
+ end
+ object tbMoveTile: TToolButton
+ Left = 86
+ Top = 2
+ Action = acMove
+ Grouped = True
+ ParentShowHint = False
+ ShowHint = True
+ Style = tbsCheck
+ end
+ object tbElevateTile: TToolButton
+ Left = 109
+ Top = 2
+ Action = acElevate
+ Grouped = True
+ ParentShowHint = False
+ ShowHint = True
+ Style = tbsCheck
+ end
+ object tbDeleteTile: TToolButton
+ Left = 132
+ Top = 2
+ Action = acDelete
+ Grouped = True
+ ParentShowHint = False
+ ShowHint = True
+ Style = tbsCheck
+ end
+ object tbSetHue: TToolButton
+ Left = 155
+ Top = 2
+ Action = acHue
+ Grouped = True
+ ParentShowHint = False
+ ShowHint = True
+ Style = tbsCheck
+ end
+ object tbSeparator3: TToolButton
+ Left = 209
+ Top = 2
+ Width = 16
+ Caption = 'tbSeparator3'
+ Style = tbsDivider
+ end
+ object tbBoundaries: TToolButton
+ Left = 225
+ Top = 2
+ Action = acBoundaries
+ ParentShowHint = False
+ ShowHint = True
+ end
+ object tbSeparator4: TToolButton
+ Left = 294
+ Top = 2
+ Width = 17
+ Caption = 'tbSeparator4'
+ Style = tbsDivider
+ end
+ object tbTerrain: TToolButton
+ Left = 311
+ Hint = 'Show Terrain'
+ Top = 2
+ Caption = 'Terrain'
+ Down = True
+ ImageIndex = 10
+ ParentShowHint = False
+ ShowHint = True
+ Style = tbsCheck
+ OnClick = tbTerrainClick
+ end
+ object tbStatics: TToolButton
+ Left = 334
+ Hint = 'Show Statics'
+ Top = 2
+ Caption = 'Statics'
+ Down = True
+ ImageIndex = 11
+ ParentShowHint = False
+ ShowHint = True
+ Style = tbsCheck
+ OnClick = tbStaticsClick
+ end
+ object tbSeparator5: TToolButton
+ Left = 415
+ Top = 2
+ Width = 17
+ Caption = 'tbSeparator5'
+ Style = tbsDivider
+ end
+ object tbRadarMap: TToolButton
+ Left = 432
+ Hint = 'Radar Map'
+ Top = 2
+ Caption = 'Radar Map'
+ ImageIndex = 13
+ ParentShowHint = False
+ ShowHint = True
+ OnClick = tbRadarMapClick
+ end
+ object tbVirtualLayer: TToolButton
+ Left = 248
+ Top = 2
+ Action = acVirtualLayer
+ end
+ object tbFilter: TToolButton
+ Left = 271
+ Top = 2
+ Action = acFilter
+ Style = tbsCheck
+ OnMouseMove = tbFilterMouseMove
+ end
+ object tbFlat: TToolButton
+ Left = 380
+ Top = 2
+ Action = acFlat
+ DropdownMenu = pmFlatViewSettings
+ Style = tbsDropDown
+ end
+ object tbNoDraw: TToolButton
+ Left = 357
+ Top = 2
+ Action = acNoDraw
+ Style = tbsCheck
+ end
+ object tbSeparator2: TToolButton
+ Left = 178
+ Top = 2
+ Width = 8
+ Caption = 'tbSeparator2'
+ Style = tbsDivider
+ end
+ object tbUndo: TToolButton
+ Left = 186
+ Top = 2
+ Action = acUndo
+ end
+ end
+ object pnlChatHeader: TPanel
+ AnchorSideLeft.Control = pnlChat
+ AnchorSideTop.Control = spChat
+ AnchorSideTop.Side = asrBottom
+ AnchorSideRight.Control = pnlChat
+ AnchorSideRight.Side = asrBottom
+ AnchorSideBottom.Control = spChat
+ Left = 224
+ Height = 22
+ Top = 389
+ Width = 531
+ Anchors = [akLeft, akRight, akBottom]
+ BevelInner = bvRaised
+ BevelOuter = bvLowered
+ ClientHeight = 22
+ ClientWidth = 531
+ TabOrder = 3
+ object lblChatHeaderCaption: TLabel
+ Cursor = crHandPoint
+ Left = 10
+ Height = 18
+ Top = 2
+ Width = 104
+ Align = alLeft
+ BorderSpacing.Left = 8
+ Caption = 'Chat and Messages'
+ Layout = tlCenter
+ ParentColor = False
+ OnClick = lblChatHeaderCaptionClick
+ OnMouseEnter = lblChatHeaderCaptionMouseEnter
+ OnMouseLeave = lblChatHeaderCaptionMouseLeave
+ end
+ end
+ object pnlChat: TPanel
+ AnchorSideLeft.Control = pcLeft
+ AnchorSideLeft.Side = asrBottom
+ AnchorSideTop.Control = spChat
+ AnchorSideTop.Side = asrBottom
+ AnchorSideRight.Control = Owner
+ AnchorSideRight.Side = asrBottom
+ AnchorSideBottom.Control = pnlBottom
+ Left = 224
+ Height = 109
+ Top = 416
+ Width = 531
+ Anchors = [akTop, akLeft, akRight, akBottom]
+ BevelOuter = bvNone
+ ClientHeight = 109
+ ClientWidth = 531
+ TabOrder = 4
+ Visible = False
+ object vstChat: TVirtualStringTree
+ Cursor = 63
+ Left = 0
+ Height = 90
+ Top = 0
+ Width = 531
+ Align = alClient
+ DefaultText = 'Node'
+ Header.AutoSizeIndex = 2
+ Header.Columns = <
+ item
+ Position = 0
+ Text = 'Time'
+ Width = 75
+ end
+ item
+ Position = 1
+ Text = 'Sender'
+ Width = 75
+ end
+ item
+ Position = 2
+ Text = 'Message'
+ Width = 379
+ end>
+ Header.DefaultHeight = 17
+ Header.MainColumn = 2
+ Header.Options = [hoAutoResize, hoColumnResize, hoDrag, hoVisible]
+ Header.ParentFont = True
+ Header.Style = hsFlatButtons
+ TabOrder = 0
+ TreeOptions.AutoOptions = [toAutoDropExpand, toAutoScroll, toAutoScrollOnExpand, toAutoTristateTracking, toAutoDeleteMovedNodes]
+ TreeOptions.MiscOptions = [toFullRepaintOnResize, toInitOnSave, toToggleOnDblClick, toWheelPanning]
+ TreeOptions.PaintOptions = [toHideSelection, toShowButtons, toShowDropmark, toThemeAware, toUseBlendedImages]
+ OnClick = vstChatClick
+ OnFreeNode = vstChatFreeNode
+ OnGetText = vstChatGetText
+ OnPaintText = vstChatPaintText
+ end
+ object edChat: TEdit
+ Left = 0
+ Height = 19
+ Top = 90
+ Width = 531
+ Align = alBottom
+ OnKeyPress = edChatKeyPress
+ TabOrder = 1
+ end
+ end
+ object spChat: TSplitter
+ AnchorSideLeft.Control = pcLeft
+ AnchorSideLeft.Side = asrBottom
+ AnchorSideRight.Control = Owner
+ AnchorSideRight.Side = asrBottom
+ Cursor = crVSplit
+ Left = 224
+ Height = 5
+ Top = 411
+ Width = 531
+ Align = alNone
+ Anchors = [akLeft, akRight, akBottom]
+ AutoSnap = False
+ ResizeAnchor = akBottom
+ Visible = False
+ end
+ object oglGameWindow: TOpenGLControl
+ AnchorSideLeft.Control = pcLeft
+ AnchorSideLeft.Side = asrBottom
+ AnchorSideTop.Control = tbMain
+ AnchorSideTop.Side = asrBottom
+ AnchorSideRight.Control = Owner
+ AnchorSideRight.Side = asrBottom
+ AnchorSideBottom.Control = pnlChatHeader
+ Left = 224
+ Height = 365
+ Top = 24
+ Width = 531
+ Anchors = [akTop, akLeft, akRight, akBottom]
+ OnDblClick = oglGameWindowDblClick
+ OnKeyDown = oglGameWindowKeyDown
+ OnMouseDown = oglGameWindowMouseDown
+ OnMouseEnter = oglGameWindowMouseEnter
+ OnMouseLeave = oglGameWindowMouseLeave
+ OnMouseMove = oglGameWindowMouseMove
+ OnMouseUp = oglGameWindowMouseUp
+ OnMouseWheel = oglGameWindowMouseWheel
+ OnPaint = oglGameWindowPaint
+ OnResize = oglGameWindowResize
+ end
+ object MainMenu1: TMainMenu
+ Images = ImageList1
+ left = 232
+ top = 33
+ object mnuCentrED: TMenuItem
+ Caption = '&CentrED'
+ object mnuDisconnect: TMenuItem
+ Caption = '&Disconnect'
+ Bitmap.Data = {
+ 36040000424D3604000000000000360000002800000010000000100000000100
+ 200000000000000400006400000064000000000000000000000028415200AB66
+ 3CFFA45D38FF2F4F6300509BB50053A3BE007CA9B700BDDADE00DCE4E30088B5
+ C20080BCCC005D757F0034383A0034352E004E5F5800313D6200BA7C4AFFBF87
+ 5CFFB97E56FFA7623AFFA3D3DD005594AC0060A1B50062A9BE00487E98004165
+ 76003C4A48003B4C4700384740001A231E000102020000000000C4885AFFC692
+ 68FFCDA280FFC59670FFB67B53FFAB6A46FFA35E3DFF9C5235FF91442CFF2737
+ 39000B0F0D0000000000293B48002E47550028354300324953003D6A9500C68C
+ 60FFD1A683FFCC9F7BFFCB9E7BFFC79974FFC3926CFFBE8D65FFA86945FF2C3A
+ 42002A3138002D3A420074B9C8007FC5D5005F99AE0076B4C5002F3B35003B49
+ 4900D0A17CFFD7AE8FFFC9976FFFC38F66FFBD885CFFC08C64FFBC8861FF8351
+ 3CFF4F91AB0054889C0043718A004E6974003D4A4B0045779600000000000304
+ 0400D7A682FFDCB699FFD0A17DFFCB9A73FFCFA482FFC79974FF896C58FF8787
+ 87FF4E4E4EFF3D5F7B003A5C8600364E63002C2D2E00566E72003E7A8E004C95
+ B000DDAE8CFFE2BEA4FFD8AB89FFD9B394FFCF9F7AFFA37858FF939393FFA9A9
+ A9FF555555FF3C4E51002C322E002C3331001B1F1C00000000003F85B2004D9C
+ C100E3B493FFE8C6ADFFE3C0A6FFDBB08FFFB48D71FF2F353300717171FF6767
+ 67FF161B1700000000008F432BFF8B4128FF0203030016292F002E3A48003447
+ 5200E7BB9CFFE8C0A3FFE5BFA3FFB59D8AFFAEAEAEFF838383FF000000000000
+ 0000060A0B009F5734FFAD724CFFA25F3FFF8E4129FF365C8300020303000001
+ 010000000000EABE9FFFCEAF9AFFB7B7B7FFBCBCBCFF8C8C8CFF496F7B00498D
+ A600AE6D40FFBB835CFFC08F67FFBB8A60FF995033FF32424E00000000000000
+ 00000000000004070700101819009E9E9EFF999999FF3C5B6A002A323500C386
+ 57FFC9976FFFCB9F7CFFBC8559FFC3926BFFA6633EFF39434500000000004566
+ A1004B697900545B8F004E5089003C40570029375400D9A781FFD9AB88FFDAB2
+ 94FFD8B092FFCB9972FFC49068FFC89C78FFB2724AFF00000000000000000000
+ 00000000000000000000000000000000000000000000E2B18FFFE7C1A8FFE0BA
+ 9FFFD8AC8BFFD2A582FFCE9D77FFD1A684FFBE865CFF00000000000000000000
+ 0000000000000000000000000000000000000000000000000000E8C0A4FFE9C8
+ B0FFE5C3A9FFE1BDA2FFDCB699FFD5AB8AFFD0A482FFB57644FF000000000000
+ 0000000000000000000000000000000000000000000000000000ECBEA1FFE7BB
+ 9DFFE4B697FFE0B292FFDAAE8FFFDCB598FFCF9F7AFFC38657FFF0A3E30058BA
+ 1500187D7C00D063B90000000000000000000000000000000000000000000000
+ 0000000000000000000000000000D9A781FFD39E76FF00000000
+ }
+ ImageIndex = 0
+ OnClick = mnuDisconnectClick
+ end
+ object mnuSeparator1: TMenuItem
+ Caption = '-'
+ end
+ object mnuExit: TMenuItem
+ Caption = 'E&xit'
+ OnClick = mnuExitClick
+ end
+ end
+ object mnuAdministration: TMenuItem
+ Caption = '&Administration'
+ object mnuFlush: TMenuItem
+ Caption = '&Flush'
+ Bitmap.Data = {
+ 36040000424D3604000000000000360000002800000010000000100000000100
+ 2000000000000004000064000000640000000000000000000000BA6A36FFB969
+ 35FFB86935FFB76835FFB56835FFB46734FFB26634FFB06533FFAE6433FFAC63
+ 32FFAA6232FFA96132FFA86031FFA76031FFA66031FFA86131FFBA6A35FFEBC6
+ ADFFEAC5ADFFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFB
+ F8FFFEFBF8FFFEFBF8FFFEFBF8FFC89A7CFFC79879FFA76031FFBA6B37FFEDCA
+ B3FFE0A27AFFFEFAF7FF62C088FF62C088FF62C088FF62C088FF62C088FF62C0
+ 88FF62C088FF62C088FFFDF9F6FFCA8D65FFC99B7CFFA76031FFBB6C38FFEECC
+ B6FFE1A27AFFFEFAF7FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDC
+ C2FFBFDCC2FFBFDCC2FFFDF9F6FFCD9068FFCC9E81FFA86132FFBB6B38FFEFCE
+ B8FFE1A279FFFEFAF7FF62C088FF62C088FF62C088FF62C088FF62C088FF62C0
+ 88FF62C088FF62C088FFFDF9F6FFCF936AFFCEA384FFAA6132FFBA6A36FFEFD0
+ BBFFE2A27AFFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFB
+ F8FFFEFBF8FFFEFBF8FFFEFBF8FFD3966DFFD2A78AFFAB6232FFBB6A36FFF0D2
+ BEFFE2A37AFFE2A37AFFE1A37AFFE2A37BFFE1A37BFFE0A178FFDE9F77FFDD9F
+ 76FFDC9D74FFD99B72FFD89971FFD69970FFD5AB8EFFAD6333FFBB6A36FFF2D5
+ C2FFE3A37AFFE3A37AFFE2A37BFFE2A37BFFE2A47BFFE1A279FFE0A178FFDEA0
+ 77FFDE9E75FFDC9D74FFDA9B73FFD99B73FFDAB095FFAF6433FFBB6A36FFF2D8
+ C5FFE3A47BFFE3A37AFFE3A47AFFE2A47BFFE2A37BFFE1A37BFFE1A279FFDFA0
+ 77FFDE9F76FFDD9E74FFDB9C72FFDC9D74FFDDB59AFFB16534FFBB6B36FFF4D9
+ C7FFE6A67DFFC88C64FFC98D65FFC98E67FFCB926CFFCB926DFFCA9069FFC88C
+ 65FFC88C64FFC88C64FFC88C64FFDA9C74FFE1BA9FFFB36634FFBB6B36FFF4DC
+ C9FFE7A77DFFF9ECE1FFF9ECE1FFF9EDE3FFFCF4EEFFFDFAF7FFFDF7F3FFFAED
+ E5FFF7E7DBFFF7E5D9FFF6E5D8FFDEA077FFE4BEA4FFB46734FFBC6B36FFF5DD
+ CCFFE7A87EFFFAF0E8FFFAF0E8FFC98D66FFFAF0E9FFFDF8F3FFFEFAF8FFFCF4
+ EFFFF9E9DFFFF7E7DBFFF7E5D9FFE0A278FFE7C2A9FFB66835FFBC6B36FFF6DF
+ D0FFE8A87EFFFCF6F1FFFCF6F1FFC88C64FFFAF1E9FFFBF4EEFFFDFAF7FFFDF9
+ F6FFFAF0E8FFF8E8DDFFF7E6DBFFE1A37AFFEFD5C3FFB76935FFBC6B36FFF6DF
+ D1FFE9AA80FFFEFAF6FFFDFAF6FFC88C64FFFBF3EEFFFBF1EAFFFCF6F2FFFEFB
+ F8FFFCF6F1FFF9ECE2FFF8E7DBFFEED0BAFFECD0BDFFBB703EFFBC6B36FFF6E0
+ D1FFF7E0D1FFFEFBF8FFFEFBF7FFFDF9F6FFFCF5F0FFFAF0EAFFFBF2EDFFFDF9
+ F6FFFDFAF7FFFBF1EBFFF8E9DFFFECD0BDFFC9895EFFCECFD100F0A3E300BC6B
+ 36FFBC6B36FFBC6B36FFBC6B36FFBB6B36FFBB6B36FFBB6A36FFBB6A36FFBC6C
+ 39FFBD6E3BFFBB6D3AFFBB6B38FFBB703EFFCECFD100CECFD100
+ }
+ ImageIndex = 1
+ OnClick = mnuFlushClick
+ end
+ object mnuShutdown: TMenuItem
+ Caption = '&Shutdown'
+ Bitmap.Data = {
+ 36040000424D3604000000000000360000002800000010000000100000000100
+ 2000000000000004000064000000640000000000000000000000000000000000
+ 000000000000E8E340000000000000000000080000000000000007CE03000000
+ 000003CE0700FFFFFF0000000000000000000000000000000000000000000000
+ 00000000000000000000E0000000444BD9FF474FDAFF434BD9FF4048D7FF3E47
+ D8FF353ED5FF3E5B6800000000000400000020E44000D4E3400000000000C0FF
+ 0700C0FF0700C0FF0700636CE4FF8997FAFF8495FFFF7F90FCFF7D8EFAFF7D8D
+ F7FF7D8BF2FF5159DDFFC0FF0700C0FF0700000000000000000000F8FF000000
+ 000000F8FF006C75E4FF96A5FAFF5A74FFFF3250FFFF304FFFFF2C49FEFF2542
+ FAFF4860F9FF8694F4FF5159DDFF000000000000000000000000000000001800
+ 18007981E7FF9FADFBFF6781FFFF405EFFFF405EFFFF3C59FFFF3755FFFF3350
+ FFFF2846FDFF4A65FDFF8996F6FF545EDEFF0800000000000000000000007178
+ E3FFA2B2FCFF738FFFFF4F70FFFF4F6EFFFF4B69FFFF4664FFFF415EFFFF3C5A
+ FFFF3755FFFF2C4BFFFF4E67FFFF8493FAFF4048D8FF38394100000000007D84
+ E5FFA6BBFFFF5F7FFFFF5F7EFFFF5A79FFFF5573FFFF506EFFFF4B69FFFF4664
+ FFFF415EFFFF3B59FFFF314FFFFF8799FFFF4D55DBFFC0FF070008000000858A
+ E6FFABBEFFFF6D8DFFFF6989FFFF6583FFFF5F7EFFFF5A79FFFF5574FFFF506F
+ FFFF4B69FFFF4663FFFF3F5CFFFF8A9BFFFF535BDCFF00000000010001008B91
+ E7FFB1C4FFFF7698FFFF7393FFFF6E8EFFFF6989FFFF6583FFFF5F7EFFFF5A79
+ FFFF5573FFFF4F6EFFFF4867FFFF90A1FFFF5A62DEFF00000000C0FF07009298
+ E9FFB8CDFFFF7DA0FFFF7C9DFFFF7899FFFF7393FFFF6E8EFFFF6989FFFF6583
+ FFFF607EFFFF5978FFFF4F70FFFF98AAFFFF636AE0FFE000000000000000959A
+ EAFFBCCDFCFF9CBBFFFF81A5FFFF81A2FFFF7C9EFFFF7899FFFF7493FFFF6F8E
+ FFFF6989FFFF6080FFFF7893FFFF9EADFBFF656CE0FFC0FF070068E140001CE1
+ 4000A5ACEFFFC1D1FCFFA0BFFFFF86AAFFFF85A7FFFF81A2FFFF7C9DFFFF7898
+ FFFF6F90FFFF85A1FFFFACBAFBFF838BE8FF0000000000000000FEFF7F00FCFF
+ 3F0000000000A6ADEEFFC4D4FCFFA3C2FFFF8BAFFFFF89ABFFFF84A7FFFF7EA0
+ FFFF91AEFFFFB4C3FBFF8C93EAFF275B68000000000004000000000000000000
+ 0000FCFF3F00FEFF7F00A9B1F0FFC2D3FCFFC1D6FFFFBDD1FFFFBBCFFFFFB9CE
+ FFFFB7C8FCFF989FEDFFFEFF7F00FEFF7F00FEFF7F00FEFF7F00080000000000
+ 00000000000000000000000000009EA3EBFFA0A5ECFF9DA2EBFF9BA0EBFF989E
+ EAFF9297E9FF0000000000000000000000000000000000000000F0A3E300183A
+ EE00187D7C00B81A1B000851A500225B6800000000000400000088E040003CE0
+ 400000000000000000000000000050E040000000000000000000
+ }
+ ImageIndex = 2
+ OnClick = mnuShutdownClick
+ end
+ object mnuSeparator2: TMenuItem
+ Caption = '-'
+ end
+ object mnuAccountControl: TMenuItem
+ Caption = '&Account Management'
+ Bitmap.Data = {
+ 36040000424D3604000000000000360000002800000010000000100000000100
+ 2000000000000004000064000000640000000000000000000000000000000000
+ 00000000000000000000366A820020B3F9000D8BD2000D629300526471000000
+ 00000000000033606A00236889003173930047899F00458B9F004B8B9C00578D
+ 9C00669BA6007BB1C400B35020FFA0401FFFAA4522FFAC4622FFAB4422FFA741
+ 21FF9F3D1FFFB24F24FF00000000000000000000000000000000000000000000
+ 00002579CDFF866161FFBF6035FFFEB961FFFEB962FFFEB962FFFEB962FFFEB9
+ 61FFFEB961FFB14924FF7A646DFF2E7ECEFF6DA2D3FF418DA600638D9900297D
+ D1FF82BAEEFF9F6658FFF5BB84FFFFAC5BFFFEA85AFFFEA257FFFE9C53FFFFA3
+ 55FFFF9F50FFF8AE78FFA45E4AFF83BCEFFF2A77CAFF0000000000000000287C
+ CEFF78B3EAFFB39E94FFFFB760FFFFB663FFFEB261FFFEAC5DFFFEA559FFFD9E
+ 53FFFE974EFFFF8D43FFBC8F82FF7EB8EDFF2974C7FF5D8C9C004F889900638B
+ 94008A5444FFFCC8ABFFFFD198FFFEC76DFFFEBF68FFFEB964FFFEB15EFFFEA8
+ 59FFFDA054FFFFB77AFFFEA980FF885042FF00000000000000000A1129000000
+ 000000000000C44C1FFFF6E4D6FFFFE4A4FFFFD472FFFFC969FFFFC063FFFFB6
+ 5FFFFFC180FFF6D7C6FFC5491FFF197498003E869A004F899A00307793003F77
+ 90004877860052849100BC481CFFF4E2D4FF4E7BA9FF4D7BA8FF4D7BA8FF4E7B
+ A9FFF3D6C3FFBE461CFF000000000000000012121500202035002244C200171A
+ 310000000000000000006A3C25FF346DA7FF9CCCF8FFAFD4F7FFAFD4F7FFA5CF
+ F6FF3474AEFF683E2DFF176B92001F7399001C6A8F002E7C9C00153E6400153F
+ 590010324A00204E5F002A5B92FFA6CAEEFFABCCEAFFA7D0F6FFA8D0F6FFABCC
+ EAFFA7CDEEFF2D629AFF000000003E3D4C001B286B00222E8700013BF4005676
+ DC0000000000000000001F5E9BFFD9E8F7FF97C5F1FF8EBBE5FF7FA9D1FF89B5
+ DFFFCDDFEEFF2368A7FF3A7F9000417F8C002C587300164A7200546C8100657A
+ 87007C8D9900899DA6000C3E87FF7C97B8FF8AB7E4FF719CC8FF15406EFF1944
+ 72FF22456BFF113B66FF0000000052536800031F8600011B8F00093DF5006478
+ C80000000000000000000F4B97FF12589FFF0F4A8AFF0F4B87FF114B87FF154C
+ 85FF124175FF0F335CFF5C828500627B8100546C7E0050647B00736976007D70
+ 78008A838A00908990009A929500114E96FF12589BFF125899FF115393FF0F4A
+ 87FF0E3E71FF132E4BFF000000001B1B1B002B3C8B0001239F00071E6A000000
+ 00000000000000000000000000000000000012488DFF104B90FF0F488AFF1142
+ 7DFF15335BFF657174006B777D0057717E0061707D006C627200F0A3E30008E0
+ 400000000000000000005D5C68005C637000686E7F0076889700BEC7CC004746
+ 4500000000000000000000000000000000003E4560000E32B600
+ }
+ ImageIndex = 3
+ OnClick = mnuAccountControlClick
+ end
+ object mnuRegionControl: TMenuItem
+ Caption = '&Region Management'
+ Bitmap.Data = {
+ 36040000424D3604000000000000360000002800000010000000100000000100
+ 2000000000000004000064000000640000000000000000000000454D47FF5F6A
+ 61FF636F64FF646F64FF143F56FF295F86FF4988BCFF4A86A7FF5D7070FF646F
+ 66FF646F66FF646F67FF646F67FF647067FF616C63FF474E48FF5F6A60FFEBF5
+ ECFFD4EDD7FFD4EED7FF2E6784FF94C7F9FF91C9F9FF4185C9FF256BACFFB7D9
+ D4FFD4E2ECFFCFE5D6FFD5EDD9FFD8EFDCFFD5EDD9FF616C63FF626E64FFEEF8
+ EFFFA4DBBCFF8CCAA6FF4389AAFFE0F2FFFF549AD8FF1A7ABEFF4998C5FF3B86
+ BFFF6074E7FF81C5A3FF8CD0A6FF85CAA0FFD2E9D7FF646F67FF616E64FFECF7
+ EEFF96DBAFFF7FC99AFF63ADA5FF7AB6D5FF90B7D1FF55C9E4FF5BDFF5FF78D0
+ EDFF4696D9FF76C1A1FF87D0A0FF80CA9AFFD6EEDAFF646F66FF616E63FFF7FB
+ F8FF9BDEC4FF73C393FF80CF9FFF53AD9CFF73B9D5FFC2F6FDFF63DFF7FF5DE2
+ F8FF79D3F0FF4395DAFF6CB8A4FF74C38FFFD7EFDAFF646F66FF616E63FFF8FC
+ F9FFBCFBFBFF9DE7DFFF93E1BBFF77C997FF63BDAEFF77CBE7FFC7F7FDFF5EDC
+ F5FF5AE1F7FF7BD4F1FF4395DDFF589BC3FFD0E9DBFF646F66FF606D63FFF8FC
+ F8FFA4EBEDFF8DDFDFFF97EBEBFF72CFB7FF74CA99FF4790BDFF79D3EEFFC7F7
+ FDFF5FDCF5FF5BE2F7FF7AD6F2FF4399DFFFB1D4D9FF646F66FF606D62FFF8FC
+ F8FFAFFAFAFF94EBEBFFA2F9FAFF8AEAEBFF95EDF3FF595FEBFF6BCFE5FF7CD4
+ EEFFC4F6FDFF6CDDF6FF6DCAEDFF63A3D7FF66A1D3FF617474FF606D61FFF8FC
+ F8FF9FF1F1FF81DDDFFF8AEAEBFF75DEDEFF6591EEFF557EE2FF68DCDDFF5BBC
+ C5FF80D5EDFFB2E3F9FF8BC0E7FFAED3F6FFC4E0FCFF669DD0FF5F6D61FFF8FC
+ F8FFA6F9F9FF8BE9EAFF99F8FAFF78D3EBFF656BFFFF77DCEAFF70DFDEFFC1C5
+ B5FFA8C8C8FF77BEE7FFB4D2F0FFE5F3FFFFACD2EFFF4A89BEFF5F6D61FFF8FC
+ F8FF90EAEAFF78DDDEFF81E9EAFF4E6BE2FF639DEEFF5ED7D7FF5BCBC9FFD4B0
+ 97FFE2BA9FFFA1ADA9FF58A5D8FF85B1DBFF469DD0FF4E7C8CFF5F6D61FFF7FC
+ F8FF9FF9F9FF85E9EAFF84D3FAFF525AF0FF87F2F7FF60DAD7FF98D5CAFFE0B7
+ 9CFFEDC7A9FFE0B394FFE6B898FFDEAE8CFFD7ECD6FF636E64FF5F6D60FFF7FC
+ F8FF8AEAEAFF72DDDEFF5665F0FF569FDFFF73E8E8FF46C1C1FFBBBBA5FFD0A4
+ 83FFDEB08EFFD19E7AFFD6A27AFFCF9871FFD7EBD5FF626E64FF5F6D60FFF7FC
+ F8FF9DF9F9FF6CB4EDFF6271FEFF80E7E9FF8CF4F4FF52CDCDFFECC2A4FFDDAD
+ 8AFFEBBA97FFDDA780FFE2AB83FFDAA075FFD9EAD4FF616E64FF5C6A5DFFFBFC
+ FBFFFCFEFCFFF7FCF8FFF7FCF8FFF7FCF8FFF8FCF8FFF7FCF9FFF8FCF8FFF8FC
+ F8FFECF7EEFFEDF7EEFFEFF6EDFFEEF4ECFFEBF4EBFF5E6A5FFF536876FF5C6A
+ 5DFF5F6D60FF5F6D60FF5F6D60FF5F6D60FF5F6D61FF5F6D61FF5F6D61FF5F6D
+ 61FF606D61FF606D62FF606D62FF606D63FF5E6A5FFF454E46FF
+ }
+ ImageIndex = 19
+ OnClick = mnuRegionControlClick
+ end
+ object mnuLargeScaleCommands: TMenuItem
+ Caption = 'Large Scale Commands'
+ Bitmap.Data = {
+ 36040000424D3604000000000000360000002800000010000000100000000100
+ 2000000000000004000064000000640000000000000000000000000000000000
+ 0000000000000000000000000000338037FF317D34FF2F7A32FF2F7A32FF2F7A
+ 32FF2F7A32FF00000000000000000000FF00FF00000000000000000000000000
+ 0000000000003D8F43FF3A8A3FFF9BC59DFFB3C29DFFBDC19CFFBEC39DFFB0D2
+ B1FF7EC09AFF2F7A32FF2F7A32FF0000FF00FF00000000000000000000000000
+ 0000469B4DFF70B786FFAEE8C7FFC0D2A0FFC5B381FFCAB47DFFCCAF78FFB9A7
+ 78FF80CC95FFA0DABCFF66A87AFF2F7A32FFFF00000000000000000000004EA8
+ 57FF76C08DFF99D7B3FF79C080FFBCC27EFFC6A96AFFD7B169FFD6AD65FFBC9B
+ 5EFF60AD6AFF599768FF81C199FF67A97BFF2F7A32FF000000000000000053AF
+ 5DFFB5EAD3FF69BC74FF6EBD71FFBEB66DFFC9A35BFFDFAB5BFFDDA858FFC192
+ 4EFF9DA958FF78B166FF5A9667FFA6DCC0FF2F7A32FF000000005ABA66FF92D7
+ AFFFA0DEB4FF84C670FFA8D080FFC5A55CFFD0A757FFE0AA56FFDAA651FFC798
+ 4AFFB98C47FFB69B57FF819F65FF79BF90FF81BE9CFF2F7A32FF5EBF6AFFB0E9
+ CFFF83D490FFBFDC8AFFC3CB82FFCCA256FFDAAF5CFFDCAF5BFFC99A4BFFBF86
+ 43FFB78443FFB99A52FF96A562FF65A676FFA2D8BDFF2F7A32FF60C36DFFBEEF
+ DDFF73D17DFF90D16CFFBCE09EFFC7A75EFFD3B05EFFC69953FFC6BC6EFFAFD1
+ 7AFFB4C46DFFAFA95FFF7BA957FF5AA367FFB1E3CEFF317E35FF61C46EFFBEF0
+ DCFF81D883FF77DB6DFFBFE59AFFCCDFA7FFCAA85DFFC2BD6CFFB8DA8BFFA6D8
+ 60FF77D13FFF6AD046FF59BC50FF63AB6CFFB2E4CEFF358239FF61C46EFFB3EC
+ D2FF9BE2A2FF9DEA8DFFD4EDB7FFD0EAC7FFCFB96EFFCCB166FFCBC975FF76DB
+ 67FF66D94DFF65D74DFF6CD35DFF73BB7EFFA5DBC2FF39883EFF61C46EFF98DE
+ B5FFB5EBCCFFB1EFA7FFC9EEA9FFD1EAC9FFD5CF8DFFD9CB8BFFCDB466FFBCBC
+ 67FF9AD671FF82DE73FF7ADC71FF91D0A3FF88C8A4FF3D8F43FF0000000061C4
+ 6EFFC0F3E2FFB5EFB4FFB5F0ACFFC1EDB7FFD4E3B7FFD9D89CFFDAD395FFCDB5
+ 6DFFC7B36DFFB5CB84FF94DF9AFFAFE7CDFF469B4DFF000000000000000061C4
+ 6EFF87D7A0FFC0F2DEFFC7F2D6FFD5EFD5FFD0E9CFFFD5DBA6FFDCDEABFFDBCD
+ 90FFD7C88BFFC9C18EFFBDD5AFFF7AC791FF4AA353FF00000000FFFFFF00FFFF
+ FF0061C46EFF8CD8A2FFCDF5E8FFD4EDDAFFCEEDD3FFCFDFAFFFD6DEB5FFD4D4
+ A2FFCED0A1FFC4D0AAFF87C991FF53AF5DFFFF00000000000000080000003737
+ 37003636360061C46EFF61C46EFFA5E1BBFFBAEACCFFC5E0BEFFC5DAB4FFBDD7
+ B0FFA6D7ACFF5DBE69FF5ABA66FF00000000EFFFFF00FFFFFF00F0A3E300B8EB
+ 760000000000000000000851A50061C46EFF61C46EFF61C46EFF61C46EFF61C4
+ 6EFF61C46EFF000000000000000050E912000000000000000000
+ }
+ ImageIndex = 14
+ OnClick = mnuLargeScaleCommandsClick
+ end
+ end
+ object mnuSettings: TMenuItem
+ Caption = '&Settings'
+ object mnuShowAnimations: TMenuItem
+ AutoCheck = True
+ Caption = '&Animations'
+ Checked = True
+ Hint = 'Toggles whether to animate tiles or not.'
+ OnClick = mnuShowAnimationsClick
+ end
+ object mnuSecurityQuestion: TMenuItem
+ AutoCheck = True
+ Caption = '&Security question'
+ Checked = True
+ Hint = 'Ask for permission before processing area commands.'
+ end
+ end
+ object mnuHelp: TMenuItem
+ Caption = '&?'
+ object mnuAbout: TMenuItem
+ Caption = '&About'
+ OnClick = mnuAboutClick
+ end
+ end
+ end
+ object ImageList1: TImageList
+ left = 264
+ top = 32
+ Bitmap = {
+ 4C69150000001000000010000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000D9A781FFD39E76FF00000000000000000000000000000000000000000000
+ 0000000000000000000000000000ECBEA1FFE7BB9DFFE4B697FFE0B292FFDAAE
+ 8FFFDCB598FFCF9F7AFFC38657FF000000000000000000000000000000000000
+ 0000000000000000000000000000E8C0A4FFE9C8B0FFE5C3A9FFE1BDA2FFDCB6
+ 99FFD5AB8AFFD0A482FFB57644FF000000000000000000000000000000000000
+ 00000000000000000000E2B18FFFE7C1A8FFE0BA9FFFD8AC8BFFD2A582FFCE9D
+ 77FFD1A684FFBE865CFF00000000000000000000000000000000000000000000
+ 00000000000000000000D9A781FFD9AB88FFDAB294FFD8B092FFCB9972FFC490
+ 68FFC89C78FFB2724AFF00000000000000000000000000000000000000000000
+ 00009E9E9EFF999999FF0000000000000000C38657FFC9976FFFCB9F7CFFBC85
+ 59FFC3926BFFA6633EFF00000000000000000000000000000000EABE9FFFCEAF
+ 9AFFB7B7B7FFBCBCBCFF8C8C8CFF0000000000000000AE6D40FFBB835CFFC08F
+ 67FFBB8A60FF995033FF000000000000000000000000E7BB9CFFE8C0A3FFE5BF
+ A3FFB59D8AFFAEAEAEFF838383FF0000000000000000000000009F5734FFAD72
+ 4CFFA25F3FFF8E4129FF000000000000000000000000E3B493FFE8C6ADFFE3C0
+ A6FFDBB08FFFB48D71FF00000000717171FF676767FF00000000000000008F43
+ 2BFF8B4128FF00000000000000000000000000000000DDAE8CFFE2BEA4FFD8AB
+ 89FFD9B394FFCF9F7AFFA37858FF939393FFA9A9A9FF555555FF000000000000
+ 00000000000000000000000000000000000000000000D7A682FFDCB699FFD0A1
+ 7DFFCB9A73FFCFA482FFC79974FF896C58FF878787FF4E4E4EFF000000000000
+ 00000000000000000000000000000000000000000000D0A17CFFD7AE8FFFC997
+ 6FFFC38F66FFBD885CFFC08C64FFBC8861FF83513CFF00000000000000000000
+ 000000000000000000000000000000000000C68C60FFD1A683FFCC9F7BFFCB9E
+ 7BFFC79974FFC3926CFFBE8D65FFA86945FF0000000000000000000000000000
+ 0000000000000000000000000000C4885AFFC69268FFCDA280FFC59670FFB67B
+ 53FFAB6A46FFA35E3DFF9C5235FF91442CFF0000000000000000000000000000
+ 0000000000000000000000000000BA7C4AFFBF875CFFB97E56FFA7623AFF0000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000AB663CFFA45D38FF000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000BC6B36FFBC6B36FFBC6B36FFBC6B
+ 36FFBB6B36FFBB6B36FFBB6A36FFBB6A36FFBC6C39FFBD6E3BFFBB6D3AFFBB6B
+ 38FFBB703EFF0000000000000000BC6B36FFF6E0D1FFF7E0D1FFFEFBF8FFFEFB
+ F7FFFDF9F6FFFCF5F0FFFAF0EAFFFBF2EDFFFDF9F6FFFDFAF7FFFBF1EBFFF8E9
+ DFFFECD0BDFFC9895EFF00000000BC6B36FFF6DFD1FFE9AA80FFFEFAF6FFFDFA
+ F6FFC88C64FFFBF3EEFFFBF1EAFFFCF6F2FFFEFBF8FFFCF6F1FFF9ECE2FFF8E7
+ DBFFEED0BAFFECD0BDFFBB703EFFBC6B36FFF6DFD0FFE8A87EFFFCF6F1FFFCF6
+ F1FFC88C64FFFAF1E9FFFBF4EEFFFDFAF7FFFDF9F6FFFAF0E8FFF8E8DDFFF7E6
+ DBFFE1A37AFFEFD5C3FFB76935FFBC6B36FFF5DDCCFFE7A87EFFFAF0E8FFFAF0
+ E8FFC98D66FFFAF0E9FFFDF8F3FFFEFAF8FFFCF4EFFFF9E9DFFFF7E7DBFFF7E5
+ D9FFE0A278FFE7C2A9FFB66835FFBB6B36FFF4DCC9FFE7A77DFFF9ECE1FFF9EC
+ E1FFF9EDE3FFFCF4EEFFFDFAF7FFFDF7F3FFFAEDE5FFF7E7DBFFF7E5D9FFF6E5
+ D8FFDEA077FFE4BEA4FFB46734FFBB6B36FFF4D9C7FFE6A67DFFC88C64FFC98D
+ 65FFC98E67FFCB926CFFCB926DFFCA9069FFC88C65FFC88C64FFC88C64FFC88C
+ 64FFDA9C74FFE1BA9FFFB36634FFBB6A36FFF2D8C5FFE3A47BFFE3A37AFFE3A4
+ 7AFFE2A47BFFE2A37BFFE1A37BFFE1A279FFDFA077FFDE9F76FFDD9E74FFDB9C
+ 72FFDC9D74FFDDB59AFFB16534FFBB6A36FFF2D5C2FFE3A37AFFE3A37AFFE2A3
+ 7BFFE2A37BFFE2A47BFFE1A279FFE0A178FFDEA077FFDE9E75FFDC9D74FFDA9B
+ 73FFD99B73FFDAB095FFAF6433FFBB6A36FFF0D2BEFFE2A37AFFE2A37AFFE1A3
+ 7AFFE2A37BFFE1A37BFFE0A178FFDE9F77FFDD9F76FFDC9D74FFD99B72FFD899
+ 71FFD69970FFD5AB8EFFAD6333FFBA6A36FFEFD0BBFFE2A27AFFFEFBF8FFFEFB
+ F8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFB
+ F8FFD3966DFFD2A78AFFAB6232FFBB6B38FFEFCEB8FFE1A279FFFEFAF7FF62C0
+ 88FF62C088FF62C088FF62C088FF62C088FF62C088FF62C088FF62C088FFFDF9
+ F6FFCF936AFFCEA384FFAA6132FFBB6C38FFEECCB6FFE1A27AFFFEFAF7FFBFDC
+ C2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFFDF9
+ F6FFCD9068FFCC9E81FFA86132FFBA6B37FFEDCAB3FFE0A27AFFFEFAF7FF62C0
+ 88FF62C088FF62C088FF62C088FF62C088FF62C088FF62C088FF62C088FFFDF9
+ F6FFCA8D65FFC99B7CFFA76031FFBA6A35FFEBC6ADFFEAC5ADFFFEFBF8FFFEFB
+ F8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFB
+ F8FFC89A7CFFC79879FFA76031FFBA6A36FFB96935FFB86935FFB76835FFB568
+ 35FFB46734FFB26634FFB06533FFAE6433FFAC6332FFAA6232FFA96132FFA860
+ 31FFA76031FFA66031FFA86131FF000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00009EA3EBFFA0A5ECFF9DA2EBFF9BA0EBFF989EEAFF9297E9FF000000000000
+ 000000000000000000000000000000000000000000000000000000000000A9B1
+ F0FFC2D3FCFFC1D6FFFFBDD1FFFFBBCFFFFFB9CEFFFFB7C8FCFF989FEDFF0000
+ 0000000000000000000000000000000000000000000000000000A6ADEEFFC4D4
+ FCFFA3C2FFFF8BAFFFFF89ABFFFF84A7FFFF7EA0FFFF91AEFFFFB4C3FBFF8C93
+ EAFF0000000000000000000000000000000000000000A5ACEFFFC1D1FCFFA0BF
+ FFFF86AAFFFF85A7FFFF81A2FFFF7C9DFFFF7898FFFF6F90FFFF85A1FFFFACBA
+ FBFF838BE8FF000000000000000000000000959AEAFFBCCDFCFF9CBBFFFF81A5
+ FFFF81A2FFFF7C9EFFFF7899FFFF7493FFFF6F8EFFFF6989FFFF6080FFFF7893
+ FFFF9EADFBFF656CE0FF00000000000000009298E9FFB8CDFFFF7DA0FFFF7C9D
+ FFFF7899FFFF7393FFFF6E8EFFFF6989FFFF6583FFFF607EFFFF5978FFFF4F70
+ FFFF98AAFFFF636AE0FF00000000000000008B91E7FFB1C4FFFF7698FFFF7393
+ FFFF6E8EFFFF6989FFFF6583FFFF5F7EFFFF5A79FFFF5573FFFF4F6EFFFF4867
+ FFFF90A1FFFF5A62DEFF0000000000000000858AE6FFABBEFFFF6D8DFFFF6989
+ FFFF6583FFFF5F7EFFFF5A79FFFF5574FFFF506FFFFF4B69FFFF4663FFFF3F5C
+ FFFF8A9BFFFF535BDCFF00000000000000007D84E5FFA6BBFFFF5F7FFFFF5F7E
+ FFFF5A79FFFF5573FFFF506EFFFF4B69FFFF4664FFFF415EFFFF3B59FFFF314F
+ FFFF8799FFFF4D55DBFF00000000000000007178E3FFA2B2FCFF738FFFFF4F70
+ FFFF4F6EFFFF4B69FFFF4664FFFF415EFFFF3C5AFFFF3755FFFF2C4BFFFF4E67
+ FFFF8493FAFF4048D8FF0000000000000000000000007981E7FF9FADFBFF6781
+ FFFF405EFFFF405EFFFF3C59FFFF3755FFFF3350FFFF2846FDFF4A65FDFF8996
+ F6FF545EDEFF00000000000000000000000000000000000000006C75E4FF96A5
+ FAFF5A74FFFF3250FFFF304FFFFF2C49FEFF2542FAFF4860F9FF8694F4FF5159
+ DDFF00000000000000000000000000000000000000000000000000000000636C
+ E4FF8997FAFF8495FFFF7F90FCFF7D8EFAFF7D8DF7FF7D8BF2FF5159DDFF0000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000444BD9FF474FDAFF434BD9FF4048D7FF3E47D8FF353ED5FF000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000012488DFF104B90FF0F488AFF11427DFF15335BFF000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000114E96FF12589BFF125899FF115393FF0F4A87FF0E3E71FF132E4BFF0000
+ 0000000000000000000000000000000000000000000000000000000000000F4B
+ 97FF12589FFF0F4A8AFF0F4B87FF114B87FF154C85FF124175FF0F335CFF0000
+ 0000000000000000000000000000000000000000000000000000000000000C3E
+ 87FF7C97B8FF8AB7E4FF719CC8FF15406EFF194472FF22456BFF113B66FF0000
+ 0000000000000000000000000000000000000000000000000000000000001F5E
+ 9BFFD9E8F7FF97C5F1FF8EBBE5FF7FA9D1FF89B5DFFFCDDFEEFF2368A7FF0000
+ 0000000000000000000000000000000000000000000000000000000000002A5B
+ 92FFA6CAEEFFABCCEAFFA7D0F6FFA8D0F6FFABCCEAFFA7CDEEFF2D629AFF0000
+ 0000000000000000000000000000000000000000000000000000000000006A3C
+ 25FF346DA7FF9CCCF8FFAFD4F7FFAFD4F7FFA5CFF6FF3474AEFF683E2DFF0000
+ 000000000000000000000000000000000000000000000000000000000000BC48
+ 1CFFF4E2D4FF4E7BA9FF4D7BA8FF4D7BA8FF4E7BA9FFF3D6C3FFBE461CFF0000
+ 0000000000000000000000000000000000000000000000000000C44C1FFFF6E4
+ D6FFFFE4A4FFFFD472FFFFC969FFFFC063FFFFB65FFFFFC180FFF6D7C6FFC549
+ 1FFF00000000000000000000000000000000000000008A5444FFFCC8ABFFFFD1
+ 98FFFEC76DFFFEBF68FFFEB964FFFEB15EFFFEA859FFFDA054FFFFB77AFFFEA9
+ 80FF885042FF000000000000000000000000287CCEFF78B3EAFFB39E94FFFFB7
+ 60FFFFB663FFFEB261FFFEAC5DFFFEA559FFFD9E53FFFE974EFFFF8D43FFBC8F
+ 82FF7EB8EDFF2974C7FF0000000000000000297DD1FF82BAEEFF9F6658FFF5BB
+ 84FFFFAC5BFFFEA85AFFFEA257FFFE9C53FFFFA355FFFF9F50FFF8AE78FFA45E
+ 4AFF83BCEFFF2A77CAFF0000000000000000000000002579CDFF866161FFBF60
+ 35FFFEB961FFFEB962FFFEB962FFFEB962FFFEB961FFFEB961FFB14924FF7A64
+ 6DFF2E7ECEFF6DA2D3FF0000000000000000000000000000000000000000B350
+ 20FFA0401FFFAA4522FFAC4622FFAB4422FFA74121FF9F3D1FFFB24F24FF0000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000000000000000000000C8C8
+ C8FFC5C5C5FF0000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000000000000000000000C4C4
+ C4FFD9D9D9FFBEBEBEFF00000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000000000000000000000C1C1
+ C1FFF7F7F7FFD5D5D5FFB6B6B6FF000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000000000000000000000BDBD
+ BDFFF7F7F7FFEFEFEFFFD0D0D0FFAFAFAFFF0000000000000000000000000000
+ 000000000000000000000000000000000000000000000000000000000000B9B9
+ B9FFF4F4F4FFECECECFFEDEDEDFFCBCBCBFFA7A7A7FF00000000000000000000
+ 000000000000000000000000000000000000000000000000000000000000B5B5
+ B5FFF2F2F2FFE8E8E8FFE7E7E7FFEAEAEAFFC6C6C6FF9E9E9EFF000000000000
+ 000000000000000000000000000000000000000000000000000000000000B1B1
+ B1FFF0F0F0FFE4E4E4FFE2E2E2FFE2E2E2FFE7E7E7FFC1C1C1FF969696FF0000
+ 000000000000000000000000000000000000000000000000000000000000ADAD
+ ADFFEEEEEEFFE1E1E1FFDFDFDFFFE0E0E0FFE7E7E7FFE4E4E4FFBBBBBBFF8E8E
+ 8EFF00000000000000000000000000000000000000000000000000000000A9A9
+ A9FFF2F2F2FFE5E5E5FFE2E2E2FFE3E3E3FF959595FF919191FF8D8D8DFF8989
+ 89FF868686FF000000000000000000000000000000000000000000000000A4A4
+ A4FFD7D7D7FF9D9D9DFFD0D0D0FFEEEEEEFF919191FF00000000000000000000
+ 000000000000000000000000000000000000000000000000000000000000A0A0
+ A0FF9C9C9CFF00000000949494FFD9D9D9FFC1C1C1FF898989FF000000000000
+ 0000000000000000000000000000000000000000000000000000000000009C9C
+ 9CFF000000000000000000000000ADADADFFF2F2F2FF848484FF000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000888888FFDBDBDBFFB7B7B7FF7D7D7DFF0000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000AAAAAAFFDBDBDBFF797979FF0000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000007C7C7CFF787878FF757575FF0000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000000000004FAADBFF5093
+ CAFF4E90C8FF2F9DD2FF00000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000050A8D9FF6AA5D8FFC9E1
+ F7FFCBE3F8FF4295CAFF3182C2FF000000000000000000000000000000000000
+ 0000000000000000000000000000000000002FBAE4FFA7D4F4FFC5E1F8FFCCE3
+ F9FFCCE3F9FFBDDBF7FF4F90C9FF000000000000000000000000000000000000
+ 00000000000000000000000000002FBAE4FFC3EDF8FFA8E2F8FF6CAEDDFFA5CF
+ F4FFA5CFF4FFBDDBF7FF5393CBFF000000000000000000000000000000000000
+ 000000000000000000002FBAE4FFC3EDF8FFB3F4FCFF68D9F5FF6FCFF3FF599D
+ D0FF73ABDDFF4F91C9FF00000000000000000000000000000000000000000000
+ 0000000000002FBAE4FFC3EDF8FFB3F4FCFF60DCF5FF44D6F4FF8EEEFAFF5DB4
+ E6FF3B8FD9FF0000000000000000000000000000000000000000000000000000
+ 00002FBAE4FFC3EDF8FFB3F4FCFF60DCF5FF44D6F4FF8EEEFAFF5DB4E6FF3B8F
+ D9FF000000000000000000000000000000000000000000000000000000002790
+ BFFFC3EDF8FFB3F4FCFF60DCF5FF44D6F4FF8EEEFAFF5DB4E6FF3B8FD9FF0000
+ 00000000000000000000000000000000000000000000000000002689B9FFBEE6
+ F2FFB3F4FCFF60DCF5FF44D6F4FF8EEEFAFF5DB4E6FF3B8FD9FF000000000000
+ 000000000000000000000000000000000000000000002689B9FFB0CBE1FF67A9
+ C8FF60DCF5FF44D6F4FF8EEEFAFF5DB4E6FF3B8FD9FF00000000000000000000
+ 0000000000000000000000000000000000001E6D93FFC8E1F2FFD1E7FAFF347D
+ B5FF3199C3FF6DC4DCFF4A9CCFFF3483C7FF0000000000000000000000000000
+ 0000000000000000000000000000000000001E6D93FFCBE3F9FF61AAECFF4098
+ E8FF1567C2FF1660AAFF2C76B4FF000000000000000000000000000000000000
+ 000000000000000000000000000000000000124259FF5D9CD4FFA6CFF5FFA9CF
+ ECFF488BC1FF2C76B4FF00000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000134058FF15425EFF25699CFF2C76
+ B4FF3B8BBAFF0000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000068C774FF68C774FF67C673FF66C572FF65C3
+ 71FF0000000000000000000000000000000000000000000000005CB666FF5BB4
+ 64FF59B262FF58AF60FF56AD5EFF68C774FFA1D8A9FF9ED6A7FF65C371FF0000
+ 0000000000000000000000000000000000000000000000000000000000005FB4
+ 67FF8DC894FF8EC995FF54AA5CFF67C673FF9DD6A5FF92D19BFF7ECA87FF63C0
+ 6EFF00000000000000000000000000000000000000000000000059B162FF76BD
+ 7EFF7EC086FF8AC590FF52A85AFF66C472FF6BC575FF83CC8CFF9BD3A4FF7BC7
+ 84FF60BC6BFF0000000000000000000000000000000059B161FF75BD7DFF8CC7
+ 93FF6DB673FF52A759FF50A557FF65C370FF0000000063BF6DFF80C989FF79C4
+ 82FF5FB969FF0000000000000000000000000000000057AE5FFF6EB875FF6CB5
+ 73FF52A759FF000000004EA255FF00000000000000000000000060BB6AFF5EB9
+ 68FF00000000000000000000000000000000000000000000000053A95BFF52A7
+ 59FF000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000000000000057AE5FFF55AC
+ 5DFF0000000000000000000000000000000000000000000000004A9C50FF4899
+ 4EFF0000000000000000000000005AB363FF0000000057AE5FFF6CB673FF6AB4
+ 71FF52A759FF000000000000000000000000000000004A9B4FFF5FA764FF62A8
+ 67FF45954AFF00000000439147FF58B061FF57AE5FFF6CB673FF84C08AFF6EB5
+ 74FF50A457FF0000000000000000000000000000000048994DFF5DA561FF75B3
+ 79FF5FA463FF47944CFF418F45FF56AD5FFF83C08AFF73B77AFF6CB473FF50A4
+ 57FF000000000000000000000000000000000000000000000000459449FF5AA0
+ 5EFF5EA664FF6CAD70FF408D44FF54AB5CFF83BF89FF7DBB83FF54A65BFF0000
+ 0000000000000000000000000000000000000000000000000000000000004290
+ 46FF6DAD71FF6EAE73FF3F8C42FF53A85AFF51A658FF4FA356FF4EA154FF4C9F
+ 52FF000000000000000000000000000000000000000000000000429046FF418E
+ 45FF408D43FF3F8B42FF3E8A41FF000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000067C673FF65C270FF0000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000066C572FF7ECA88FF7BC885FF5DB868FF00000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000066C472FF7CCA87FF9ED6A7FF9CD4A5FF73C07DFF55AC5EFF000000000000
+ 00000000000000000000000000000000000000000000000000000000000065C3
+ 71FF62BF6EFF79C683FF9AD4A3FF98D3A1FF7DC386FF4FA458FF4A9E53FF0000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000005BB465FF96D29FFF94D09CFF5DAC65FF00000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000056AD5FFF93CF9AFF90CE98FF489A50FF00000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000050A659FF8ECC95FF8BCB93FF42924AFF00000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000004A9E53FF8ACA91FF87C98EFF3C8A43FF00000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000045954CFF85C78CFF82C689FF36823DFF00000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000003F8D46FF81C587FF7EC385FF317A36FF00000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000039853FFF7DC282FF7AC180FF2B7230FF00000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000337D39FF79C07EFF76BF7CFF266B2BFF00000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000002D7533FF74BD7AFF72BD78FF226526FF00000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000286E2DFF256929FF216425FF1E6022FF00000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000A77B3EFF0000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000CBAE87FF0000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000D5BC9DFF0000000000000000000000000000
+ 0000AE854CFF0000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000DEC8AEFF000000000000000000000000D1B6
+ 93FFBB9767FF0000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000E6D4C0FF0000000000000000D3B999FFD3B8
+ 97FF000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000AF8750FFEDDECEFF00000000CEB38FFFE7D6C3FF0000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000B28A54FFF1E2D3FFCFB38EFFF5E9DCFF000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000B68F59FFF5E9DDFFE2CDB4FFB99461FF000000000000
+ 0000000000000000000000000000000000000000000000000000000000009D69
+ 32FFB17E42FF9E682CFFBC9767FFF0E0D0FFB6915FFF00000000000000000000
+ 0000000000000000000000000000000000000000000000000000B17E42FFDCAA
+ 60FFD09E54FFEAB365FFD8BA99FFF8EBE1FFAE8957FF00000000000000000000
+ 000000000000000000000000000000000000000000009C6A32FFD6A55EFF0000
+ 000000000000E4AD60FFDCBD9BFFEFCDA5FFEFB767FFD8A65DFF000000000000
+ 00000000000000000000000000000000000000000000BE8A4AFFA87E41FF0000
+ 0000966E32FFE7B066FFCAA274FFE5B167FF945E2DFFB88D4DFFAF703BFF0000
+ 00000000000000000000000000000000000000000000B58244FFD6A45AFFAE82
+ 41FFECB666FFA76E36FFAC6C37FFC49551FF0000000000000000B77840FF0000
+ 0000000000000000000000000000000000000000000000000000C79751FFD8A6
+ 5AFFA66C36FF00000000A86835FFD1A057FF000000008E6A36FFB4753FFF0000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000009F5E2FFFE7B263FFBF924FFFDDAB62FFA26232FF0000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000A06131FFB6763FFFA46534FF000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000898989FF888888FF878787FF0000
+ 0000000000000000000000000000000000000000000000000000000000006B6B
+ 6BFF666666FF626262FF0000000000000000898989FFD3D3D3FF848484FFE6B3
+ 8CFFE5B28AFFE5B289FFE5AF86FFE5AE86FFE3AC85FFE3AB83FFE3A980FF6262
+ 62FFC4C4C4FF585858FF0000000000000000868686FF838383FF968D87FFEBC4
+ A5FFEBC2A4FFEBC2A3FFEAC0A2FFEABFA0FFEABE9FFFE8BC9EFFE8BB9CFF7E72
+ 6AFF535353FF4F4F4FFF000000000000000000000000E5B289FFEBC3A5FFEBC2
+ A3FFEBC0A2FFEABFA1FFEABEA0FFE9BD9EFFE8BB9DFFE8BA9BFFE7B899FFE6B6
+ 97FFDE9D75FF00000000000000000000000000000000E5AF86FFEBC1A2FFEAC0
+ A2FFEABEA0FFE9BD9EFFE8BC9DFFE8BA9BFFE7B899FFE6B698FFE6B596FFE5B3
+ 94FFDC9A70FF00000000000000000000000000000000E3AC85FFEABFA0FFEABE
+ 9FFFE8BC9DFFE8BA9CFFE8B99AFFE6B798FFE6B696FFE5B494FFE4B393FFE4B1
+ 91FFDA966CFF00000000000000000000000000000000E3AA81FFE9BC9EFFE8BB
+ 9CFFE8B99AFFE7B899FFE6B697FFE6B495FFE4B394FFE4B192FFE3AF90FFE3AE
+ 8FFFD9926AFF00000000000000000000000000000000E1A67FFFE8BA9BFFE7B8
+ 99FFE6B697FFE6B596FFE5B394FFE4B192FFE4AF91FFE3AE8FFFE3AD8DFFE2AB
+ 8BFFD88E66FF00000000000000000000000000000000E1A27BFFE6B798FFE6B5
+ 96FFE5B494FFE4B292FFE4B191FFE3AF8FFFE3AD8DFFE2AC8CFFE1AA8AFFE1A9
+ 89FFD68C62FF00000000000000000000000000000000DE9F77FFE5B495FFE4B3
+ 93FFE4B192FFE3AF90FFE3AE8EFFE2AC8DFFE1AA8BFFE1A989FFE0A787FFDFA6
+ 86FFD5895FFF00000000000000000000000000000000DD9B73FFE4B192FFE4AF
+ 91FFE3AE8FFFE3AC8DFFE1AB8BFFE1A989FFE1A888FFE0A786FFDFA585FFDFA3
+ 84FFD4865DFF000000000000000000000000424242FF3D3D3DFF534B46FFE3AD
+ 8DFFE2AB8BFFE1AA8AFFE1A888FFE0A787FFDFA585FFDFA484FFDEA383FF4233
+ 2BFF0A0A0AFF070707FF00000000000000003A3A3AFFB7B7B7FF313030FFD890
+ 66FFD88E64FFD68C62FFD58961FFD5895FFFD5865DFFD4855BFFD4855AFF0909
+ 09FFA6A6A6FF030303FF0000000000000000323232FF2D2D2DFF282828FF0000
+ 0000000000000000000000000000000000000000000000000000000000000404
+ 04FF010101FF000000FF00000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000063922FF0A3C24FF0000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000104F38FF0D4A2DFF093D22FF093A28FF00000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000063420FF0D3D2BFF0B4028FF0D4726FF0A3A26FF194833FF000000000000
+ 0000000000000000000000000000000000000000000000000000000000000B48
+ 23FF144C2FFF124631FF0B4029FF114B28FF073121FF0F452DFF114A32FF0000
+ 000000000000000000000000000000000000000000000000000005291DFF0F51
+ 31FF0F3924FF144A31FF0A3C28FF0D4224FF093D24FF0C4528FF0C3F29FF0F4D
+ 38FF000000000000000000000000000000000000000014553FFF0B3A2AFF114F
+ 32FF053220FF0E3E29FF08311CFF0C4426FF0F482CFF0D4A2EFF0D4326FF124E
+ 39FF083F28FF000000000000000000000000093625FF104330FF083727FF0C45
+ 2EFF073325FF154534FF0F4629FF0A4023FF0E4733FF0F4831FF0F4229FF0B43
+ 2DFF0C472EFF072217FF000000000A3D2AFF062C1AFF124D2FFF0A3E24FF1049
+ 33FF124735FF0C3626FF0D4224FF0E452FFF0A4030FF093927FF0C422AFF0D41
+ 2EFF0A3623FF0B3E2AFF083D27FF012818FF093D29FF093923FF0E4226FF0F43
+ 2AFF0E442AFF0D402FFF09392BFF0F452CFF11492FFF0C452FFF124B31FF0E42
+ 2BFF0A3F24FF07301EFF0D3C2CFF00000000052F1DFF093726FF0F4A32FF0D41
+ 29FF114A2CFF104532FF0E462BFF0C3C27FF0E4227FF0C4229FF0E422DFF0E45
+ 27FF144D34FF083A24FF000000000000000000000000123F30FF0B3C2BFF1148
+ 31FF0D4129FF05271AFF0B3F27FF0D3F2CFF134933FF144C34FF0E422EFF0C44
+ 2EFF0C402DFF00000000000000000000000000000000000000000C4933FF104A
+ 38FF0A3E25FF164B37FF0E432FFF063318FF134734FF093121FF0C3723FF0943
+ 2CFF000000000000000000000000000000000000000000000000000000000632
+ 20FF124D36FF0C3C28FF093C25FF104A25FF0F4B30FF0B4529FF062F19FF0000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000073E24FF083722FF0C4226FF0F472DFF0F4534FF052F1FFF000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000114D37FF0A3825FF0C432BFF05382AFF00000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000006301CFF10492EFF0000000000000000000000000000
+ 00000000000000000000000000004D5563FF0000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000323F54FF2B3953FF283143FF00000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000002A3646FF1B283DFF30426AFF26354BFF4B566CFF000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00002B3745FF142232FF1D2944FF2F4267FF274161FF2B3D54FF2F3C4CFF0000
+ 0000000000000000000000000000000000000000000000000000000000001E27
+ 36FF1A2939FF122235FF192741FF304A69FF2C4E71FF214066FF273B4FFF4853
+ 65FF0000000000000000000000000000000000000000000000001F2D3CFF1824
+ 33FF1B2B43FF0F2237FF172543FF35476AFF2C496DFF203C61FF274B70FF283A
+ 51FF2B3746FF000000000000000000000000000000001F2A3AFF18263CFF1A25
+ 3AFF18253CFF0F1E34FF1E2744FF2F4267FF2D4569FF253F64FF2B4F78FF1C3A
+ 5BFF2A364DFF404F62FF0000000000000000212D39FF101E2CFF1B2842FF1822
+ 3BFF1D2A42FF112134FF1A2842FF2C4464FF2D4C6FFF22436AFF335680FF2544
+ 64FF304669FF263547FF27333FFF1E2934FF1A293AFF101E33FF19273EFF1524
+ 39FF1C2C43FF102337FF192642FF354760FF2A4A6CFF213F63FF2A4D71FF2744
+ 63FF2D4466FF25374BFF2C3D53FF152431FF132740FF121D2FFF1D2946FF1926
+ 3CFF19263DFF0D2033FF17253CFF00000000324A71FF243D62FF2B4E76FF233E
+ 61FF33496DFF2C3F55FF31435FFF162033FF142846FF111F31FF1C2843FF1822
+ 39FF18243BFF101D30FF000000000000000000000000224068FF2A4D76FF2643
+ 65FF354D6FFF2C3F56FF2F425CFF121D2BFF1B2B45FF101E32FF19273FFF1524
+ 39FF162637FF00000000000000000000000000000000000000002E507AFF2544
+ 61FF2D4467FF28394FFF314461FF101C2BFF182841FF111C31FF1C2841FF1623
+ 36FF000000000000000000000000000000000000000000000000000000002940
+ 5AFF304566FF2A3B51FF30435EFF152032FF132945FF132031FF172841FF0000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000384F71FF2E4359FF2C3F5AFF141E2DFF1B2B44FF111E2EFF000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000002C4055FF273B57FF101C27FF1E3049FF00000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000273D57FF131B2AFF0000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000005F93D4FF5C91D1FF598FCFFF558DCCFF000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00006194D5FF77A4DCFF92B9E4FFA9CAECFFA6C7ECFF8EB6E2FF699BD2FF4A84
+ C3FF000000000000000000000000000000000000000000000000000000006094
+ D5FF8FB7E3FFBAD7F3FF5ED5FBFF2BD5FFFF42D1FBFFB4D2F2FFB2D0F1FF93B9
+ E2FF6396CCFF3E7CB9FF0000000000000000000000006295D6FF86AFE1FF5BB3
+ F9FF2CA4FFFF41AAFBFF31D3FEFF6DE2FFFF2CD5FFFF80B1E8FF7DAEE7FFAACA
+ EFFFA6C6EDFF3878B6FF00000000000000006194D5FF87B0E1FFBAD7F3FF33A7
+ FEFF6DC0FFFF2CA4FFFF67BFF0FF3BCEFBFF5BBFF1FF53B4A1FF3CB87AFF48B4
+ 91FFA8C8EEFF78A6D6FF3072AFFF000000005D92D2FF93A5F5FF5A5BF6FF5287
+ F4FF3CA7FBFF5DACF2FF7FB0E7FF7CAEE7FF79ABE6FF40B781FF61C898FF3CB8
+ 7BFF7EADE7FF90B6E3FF2B6FABFF5C91D1FF93BAE5FF6F75F6FF8285F5FF4141
+ F0FF91BCEBFFAFCDF0FFADCCF0FFABCAF0FF86B3E9FF5FAAC2FF45B48EFF57A9
+ B7FF71A2E4FF98BBE8FF266BA7FF588ECEFFA9C9EDFF85A8EDFF596BEDFF6B8F
+ E9FFAECDF0FF6E9ED2FF3F7DBAFF689ACEFFA6C6EEFF969B6AFFAE9827FF9E98
+ 4EFF679CE2FF99BCEAFF2268A3FF538BCBFFAFCDF0FFB1CFF0FF99C0ECFF7FAF
+ E7FFABCAEFFF3E7CB9FF000000003677B4FFA3C4EDFFA99832FFC5B65BFFAD98
+ 27FF5C94DFFF99BCEBFF1D65A0FF4F88C7FF6598CFFF7CA9D9FF8EB5E2FFA4C5
+ EDFFA8C7EEFF6598CDFF3576B3FF6094C9FFA0C1EDFF7997A4FF9F9749FF7D95
+ 92FF8EB4E9FF7AA6D8FF19629DFF0000000000000000427FBDFF3F7DBAFF3B7A
+ B8FF77A5D7FFA2C3EDFFA0C1EDFF9EC0EDFF75A4E4FF5B93DFFF5991DEFF7CA8
+ E6FF93B7E8FF4480B8FF00000000000000000000000000000000000000000000
+ 00003274B1FF9EC0ECFF6A9DE2FF5C94DFFF5992DFFF6095E0FF96B9EAFF87AE
+ E1FF4A84BCFF145F99FF00000000000000000000000000000000000000000000
+ 00002D70ADFF6E9ED1FF9ABDEBFF72A1E3FF97BAEAFF95B9EAFF6194CAFF1660
+ 9AFF000000000000000000000000000000000000000000000000000000000000
+ 000000000000256BA6FF87AEE1FF7FA9DCFF6093C9FF3173ACFF15609AFF0000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000001D65A0FF1A639EFF17619BFF00000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000CEB3A1FFCFB19FFFCDAB95FFCDA7
+ 8EFFCDA78EFFCDA78EFFCDA78EFFCDA78EFFCDA68EFFCDA68EFFCDA68EFFCDA6
+ 8EFFCDAA93FFCDAF9BFF0000000000000000CFB29FFFECECEBFFF4F4F3FFF7F5
+ F4FFF7F5F4FFF7F5F4FFF7F5F4FFF7F5F4FFF7F5F4FFF7F5F4FFF7F5F4FFF7F3
+ ECFFF2EFE9FFCEAD97FF0000000000000000CDAB95FFF4F3F2FFE3B495FFD0B4
+ 8DFFA9B580FF93CCA1FF84D1AAFF82D0A6FF8BC294FF9A9E69FFC39D73FFD69D
+ 77FFF7F2EBFFCFAB94FF0000000000000000CDA78FFFF7F5F4FFE3B597FFB8B7
+ 87FF93CBA1FF74D2A8FF67CB9BFF63C897FF6AC998FF83BB8BFFA5996AFFD79F
+ 7AFFF7F0E9FFCFAB94FF0000000000000000CDA78FFFF7F5F2FFE4B799FFA3B6
+ 80FF82D0A7FF65C998FF5DC691FF59C28BFF58C187FF71C28EFF8C925FFFD9A2
+ 7DFFF6F0E8FFCEAB94FF0000000000000000CDA78FFFF7F5F0FFE5B89BFFA1B3
+ 7FFF7DCDA0FF5EC590FF56C087FF52BE81FF52BC7EFF6CBD87FF89905EFFDAA4
+ 81FFF5EFE7FFCEAB94FF0000000000000000CDA78FFFF7F4EFFFE6B99DFFB6B3
+ 87FF88C293FF63C58FFF53BE80FF4FBA7AFF58BD7FFF78B07CFFA3966AFFDCA7
+ 84FFF6EEE7FFCEAB94FF0000000000000000CDA78FFFF7F3EEFFE7BB9FFFD1B6
+ 93FF9FAA78FF6FB287FF65BD8AFF61BB87FF6BAB7BFF919364FFC5A27DFFDDA9
+ 88FFF6EEE7FFCEAB94FF0000000000000000CDA78EFFF7F2EDFFE8BDA1FFE7BB
+ 9FFFD0B392FF5E8276FF448E86FF418B87FF568380FFC7A682FFE0AE8EFFDEAC
+ 8BFFF6EEE6FFCEAB94FF0000000000000000CDA78EFFF7F1ECFF4EAA7AFF4CA8
+ 77FF4AA674FF357B9AFF549FD3FF549FD1FF3F86AFFF409A67FF3E9865FF3C96
+ 63FFF6EEE6FFCEAB94FF0000000000000000CCA68DFFF7F1EDFFBFDCC2FFBFDC
+ C2FFBFDCC2FFAFD3C5FF9CC8C9FF6EAFD1FFBAD9C3FFBFDCC2FFBFDCC2FFBFDC
+ C2FFF6EDE6FFCEAA93FF0000000000000000CCA68EFFF6F1EDFFBFDCC2FFBFDC
+ C2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDC
+ C2FFF7EDE6FFCEAA93FF0000000000000000CDAB96FFF1EFEDFFF7F3F1FFF8F4
+ F1FFF8F4F0FFF7F4F0FFF7F3F0FFF7F3EFFFF7F3EFFFF7F3EFFFF7F3EFFFF8F3
+ EFFFF2EFEBFFCFAD97FF0000000000000000CEAF9CFFCFAE9AFFCEAB94FFCEAA
+ 93FFCEAA93FFCEAA93FFCEAA93FFCEAA93FFCEAA93FFCEAA93FFCEAA93FFCEAA
+ 93FFCEAD97FFCEAF9CFF00000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000061C46EFF61C46EFF61C46EFF61C46EFF61C46EFF61C46EFF000000000000
+ 000000000000000000000000000000000000000000000000000061C46EFF61C4
+ 6EFFA5E1BBFFBAEACCFFC5E0BEFFC5DAB4FFBDD7B0FFA6D7ACFF5DBE69FF5ABA
+ 66FF000000000000000000000000000000000000000061C46EFF8CD8A2FFCDF5
+ E8FFD4EDDAFFCEEDD3FFCFDFAFFFD6DEB5FFD4D4A2FFCED0A1FFC4D0AAFF87C9
+ 91FF53AF5DFF00000000000000000000000061C46EFF87D7A0FFC0F2DEFFC7F2
+ D6FFD5EFD5FFD0E9CFFFD5DBA6FFDCDEABFFDBCD90FFD7C88BFFC9C18EFFBDD5
+ AFFF7AC791FF4AA353FF000000000000000061C46EFFC0F3E2FFB5EFB4FFB5F0
+ ACFFC1EDB7FFD4E3B7FFD9D89CFFDAD395FFCDB56DFFC7B36DFFB5CB84FF94DF
+ 9AFFAFE7CDFF469B4DFF0000000061C46EFF98DEB5FFB5EBCCFFB1EFA7FFC9EE
+ A9FFD1EAC9FFD5CF8DFFD9CB8BFFCDB466FFBCBC67FF9AD671FF82DE73FF7ADC
+ 71FF91D0A3FF88C8A4FF3D8F43FF61C46EFFB3ECD2FF9BE2A2FF9DEA8DFFD4ED
+ B7FFD0EAC7FFCFB96EFFCCB166FFCBC975FF76DB67FF66D94DFF65D74DFF6CD3
+ 5DFF73BB7EFFA5DBC2FF39883EFF61C46EFFBEF0DCFF81D883FF77DB6DFFBFE5
+ 9AFFCCDFA7FFCAA85DFFC2BD6CFFB8DA8BFFA6D860FF77D13FFF6AD046FF59BC
+ 50FF63AB6CFFB2E4CEFF358239FF60C36DFFBEEFDDFF73D17DFF90D16CFFBCE0
+ 9EFFC7A75EFFD3B05EFFC69953FFC6BC6EFFAFD17AFFB4C46DFFAFA95FFF7BA9
+ 57FF5AA367FFB1E3CEFF317E35FF5EBF6AFFB0E9CFFF83D490FFBFDC8AFFC3CB
+ 82FFCCA256FFDAAF5CFFDCAF5BFFC99A4BFFBF8643FFB78443FFB99A52FF96A5
+ 62FF65A676FFA2D8BDFF2F7A32FF5ABA66FF92D7AFFFA0DEB4FF84C670FFA8D0
+ 80FFC5A55CFFD0A757FFE0AA56FFDAA651FFC7984AFFB98C47FFB69B57FF819F
+ 65FF79BF90FF81BE9CFF2F7A32FF0000000053AF5DFFB5EAD3FF69BC74FF6EBD
+ 71FFBEB66DFFC9A35BFFDFAB5BFFDDA858FFC1924EFF9DA958FF78B166FF5A96
+ 67FFA6DCC0FF2F7A32FF00000000000000004EA857FF76C08DFF99D7B3FF79C0
+ 80FFBCC27EFFC6A96AFFD7B169FFD6AD65FFBC9B5EFF60AD6AFF599768FF81C1
+ 99FF67A97BFF2F7A32FF000000000000000000000000469B4DFF70B786FFAEE8
+ C7FFC0D2A0FFC5B381FFCAB47DFFCCAF78FFB9A778FF80CC95FFA0DABCFF66A8
+ 7AFF2F7A32FF00000000000000000000000000000000000000003D8F43FF3A8A
+ 3FFF9BC59DFFB3C29DFFBDC19CFFBEC39DFFB0D2B1FF7EC09AFF2F7A32FF2F7A
+ 32FF000000000000000000000000000000000000000000000000000000000000
+ 0000338037FF317D34FF2F7A32FF2F7A32FF2F7A32FF2F7A32FF000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000068C774FF68C673FF65C2
+ 71FF62BE6EFF5FBA6AFF5CB565FF58AF61FF53A95CFF4FA357FF46974DFF0000
+ 0000000000000000000000000000000000000000000067C673FF000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00003B8842FF0000000000000000000000000000000063C06EFF0000000067C6
+ 73FF67C572FF64C170FF61BD6CFF5DB968FF5AB464FF56AE60FF50A659FF4DA2
+ 56FF479A50FF46974EFF419149FF00000000000000005FBB6AFF0000000067C6
+ 73FF0000000059B264FF57AE60FF54AB5DFF51A75AFF4DA256FF479950FF4697
+ 4EFF408E47FF408F47FF3B8842FF00000000000000005BB565FF0000000064C1
+ 6FFF5AB465FF57AF61FF54AB5EFF51A65AFF4CA156FF499B51FF43934AFF4090
+ 47FF3B8741FF3A8741FF35803BFF000000000000000056AE60FF0000000060BC
+ 6BFF58B062FF54AB5EFF51A659FF4CA055FF489A50FF43944BFF3D8B45FF3A87
+ 41FF357F3BFF347F3AFF307835FF00000000000000004EA358FF000000005CB6
+ 66FF52A85BFF4EA357FF4A9D52FF45974DFF419048FF3C8A43FF37833EFF357F
+ 3BFF2F7835FF2F7734FF2A712FFF00000000000000004C9F54FF0000000057AF
+ 61FF4FA559FF4B9E54FF46984EFF429148FF3D8A43FF38843EFF337D39FF2F77
+ 34FF29702FFF296F2EFF256A2AFF000000000000000046974EFF419149FF51A7
+ 5BFF499B51FF44944BFF3F8E46FF3B8741FF36813CFF317A37FF2D7532FF296F
+ 2EFF256929FF256929FF216425FF000000000000000000000000000000004C9F
+ 54FF47994FFF42924AFF3D8C45FF39853FFF347F3AFF307835FF2B7230FF276D
+ 2CFF246828FF206324FF1D5F21FF000000000000000000000000000000004697
+ 4EFF419149FF3C8A43FF38833EFF337D39FF2F7734FF2A712FFF266B2BFF2366
+ 27FF206223FF1D5E20FF1A5B1EFF000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000000000000000000000009A
+ FDFF0099FCFF000000000000000000000000000000000191F5FF018FF3FF0000
+ 000000000000000000000000000000000000000000000000000016A4FDFF43B6
+ FEFF4EBBFEFF0196F9FF00000000000000000191F5FF4BB8FDFF33A8F9FF028B
+ EFFF0000000000000000000000000000000000000000000000001EA5FDFF5BC0
+ FEFF63C4FFFF0F9BF8FF00000000000000001A9CF6FF54BCFFFF46B4FCFF0289
+ EDFF000000000000000000000000000000000000000000000000000000002DAA
+ FBFF61C4FFFF38AEFBFF0190F4FF018EF2FF37ABF9FF52BBFFFF249DF4FF0000
+ 0000000000000000000000000000000000000000000000000000000000000193
+ F7FF32ABFAFF5AC0FEFF018EF2FF38ACF9FF53BCFFFF2CA2F6FF0286EBFF0000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000018FF3FF56BDFEFF4EB9FEFF4EBAFFFF42B1FBFF0285EAFF000000000000
+ 00000000000000000000000000000196F9FF179FF9FF0193F6FF0191F5FF018F
+ F3FF018DF1FF45B4FCFF49B9FFFF47B7FFFF3FAFFBFF0283E8FF0381E6FF037E
+ E4FF037CE2FF1186E6FF0477DDFF0194F8FF50BAFDFF6BC7FFFF53BBFDFF4AB5
+ FBFF49B3FBFF52BDFFFF47B8FFFF43B5FFFF48B8FFFF43AFFAFF3BAAF8FF44B1
+ FBFF4BB7FFFF36A5F6FF0471D8FF0192F6FF0190F4FF018EF3FF028DF1FF028B
+ EFFF0289EDFF3EAEFAFF46B7FFFF42B5FFFF3CADFAFF037EE3FF037BE1FF0379
+ DFFF0475DCFF0470D7FF056BD2FF000000000000000000000000000000000000
+ 00000286EBFF50B9FEFF42B2FCFF46B7FFFF3CABF9FF037BE1FF000000000000
+ 0000000000000000000000000000000000000000000000000000000000000286
+ EBFF2EA1F4FF47B2FAFF037FE5FF32A2F3FF48B6FFFF2797EEFF0474DAFF0000
+ 00000000000000000000000000000000000000000000000000000285EAFF289D
+ F1FF55BDFFFF2598EFFF00000000037AE0FF2F9EF2FF42B4FFFF218CE6FF0000
+ 00000000000000000000000000000000000000000000000000002198F0FF52BB
+ FEFF4AB4FCFF037CE2FF00000000000000001885E2FF40B3FFFF3BAAF9FF1373
+ D5FF0000000000000000000000000000000000000000000000000380E6FF32A1
+ F3FF2A9AEFFF000000000000000000000000056CD3FF37A1F2FF2488E3FF065E
+ C6FF00000000000000000000000000000000000000000000000000000000037B
+ E1FF0379DFFF000000000000000000000000000000000662C9FF000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000001281827053222890732
+ 20B50B3C2ABC0B3C2BBE0A4029BC0C4729BC0D4228BE0C412BBC0B442BB6073B
+ 238D093B232C0000000000000000000000000A402D0408352363083925D30A3D
+ 25FA0C4029FF0B3F2AFF093A27FF0B3A26FF0D3F28FF0C4127FF0B4125FA0A3E
+ 25D40A3B27640836240400000000104231010C43302A0B402E9F0C412CEB0D42
+ 2AFE0D422AFF0B3D29FF0C3D28FF0C4027FF0B4226FF0B4227FF0B4127FE0B41
+ 28EB0E442CA110462E2A0831180106342301063220570B3F2BCF0B3F28F90833
+ 20FF093723FF0B3E28FF0D422BFF0D442CFF0B422DFF0B422DFF0C452BFF0C44
+ 28F90D462ED00E4B36580E4C3701073D2625093D26840A3E28E30B3E28FD0B3E
+ 28FF0A3B24FF0B3E27FF0D422AFF0D432AFF0C432CFF0C422BFF0C412AFF0C41
+ 2BFD0B442DE40A432C85083C26280D49324A0B3E28B50A3E26ED0B4226FD0D44
+ 26FF0D4328FF0E412BFF10432EFF0F442EFF0D422CFF0D432AFF0C4028FF0A3C
+ 25FD093924ED083623B50625185005321E74093924D30B4029F50D432DFD0D44
+ 2EFB0B422AF80A3C25F90A3823FC0B3B26FC0B412BF90D442BF80D442BFB0B3E
+ 26FD083520F6083925D5073A25790D442A5B0D442B8C083D2A89083B2A860635
+ 258B05311F8F06321D8D08351F88083B258808402A8D0A402B8F0B3F2B8B0B3D
+ 2786083724890B3A298C0B3B2A600E462C0B0D462D090A422F050B4332050632
+ 230A042C1C0C03291809042B1804063D2604063E2809083D290C093C2A0A0C3F
+ 2C05184B3605134432090D3D2C0B0E472D020B452E010B4533010B3F2F010630
+ 2102042B1C01032616010000000000000000053E2701083D2901083C29020C3E
+ 2D011A4F3B011A4D39010E3E2D02000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
+ 00000000000000000000000000FF000000FF0000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000FF000000FF000000FF000000FF00000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000FF000000FF000000FF000000FF000000FF000000FF000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
+ 0000000000000000000000000000000000000000000000000000000000FF0000
+ 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
+ 00FF0000000000000000000000000000000000000000161616FF1D1D1DFF0F0F
+ 0FFF070707FF282828FF0B0B0BFF282828FF121212FF040404FF0B0B0BFF0F0F
+ 0FFF000000FF0000000000000000000000003B3B3BFF616161FF4F4F4FFF5151
+ 51FF282828FF494949FF4D4D4DFF777777FF565656FF323232FF4B4B4BFF4848
+ 48FF2E2E2EFF383838FF000000005A5A5AFF484848FF7B7B7BFF616161FF5151
+ 51FF282828FF6A6A6AFF494949FF777777FF565656FF565656FF616161FF1111
+ 11FF747474FF333333FF000000FF000000FF000000FF000000FF000000FF0000
+ 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
+ 00FF000000FF000000FF000000FF00000000000000FF000000FF000000FF0000
+ 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
+ 00FF000000FF000000FF000000000000000000000000000000FF000000FF0000
+ 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
+ 00FF000000FF0000000000000000000000000000000000000000000000FF0000
+ 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
+ 00FF000000000000000000000000000000000000000000000000000000000000
+ 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000FF000000FF000000FF000000FF000000FF000000FF000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000FF000000FF000000FF000000FF00000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000FF000000FF0000000000000000000000000000
+ 0000000000000000000000000000536876FF5C6A5DFF5F6D60FF5F6D60FF5F6D
+ 60FF5F6D60FF5F6D61FF5F6D61FF5F6D61FF5F6D61FF606D61FF606D62FF606D
+ 62FF606D63FF5E6A5FFF454E46FF5C6A5DFFFBFCFBFFFCFEFCFFF7FCF8FFF7FC
+ F8FFF7FCF8FFF8FCF8FFF7FCF9FFF8FCF8FFF8FCF8FFECF7EEFFEDF7EEFFEFF6
+ EDFFEEF4ECFFEBF4EBFF5E6A5FFF5F6D60FFF7FCF8FF9DF9F9FF6CB4EDFF6271
+ FEFF80E7E9FF8CF4F4FF52CDCDFFECC2A4FFDDAD8AFFEBBA97FFDDA780FFE2AB
+ 83FFDAA075FFD9EAD4FF616E64FF5F6D60FFF7FCF8FF8AEAEAFF72DDDEFF5665
+ F0FF569FDFFF73E8E8FF46C1C1FFBBBBA5FFD0A483FFDEB08EFFD19E7AFFD6A2
+ 7AFFCF9871FFD7EBD5FF626E64FF5F6D61FFF7FCF8FF9FF9F9FF85E9EAFF84D3
+ FAFF525AF0FF87F2F7FF60DAD7FF98D5CAFFE0B79CFFEDC7A9FFE0B394FFE6B8
+ 98FFDEAE8CFFD7ECD6FF636E64FF5F6D61FFF8FCF8FF90EAEAFF78DDDEFF81E9
+ EAFF4E6BE2FF639DEEFF5ED7D7FF5BCBC9FFD4B097FFE2BA9FFFA1ADA9FF58A5
+ D8FF85B1DBFF469DD0FF4E7C8CFF5F6D61FFF8FCF8FFA6F9F9FF8BE9EAFF99F8
+ FAFF78D3EBFF656BFFFF77DCEAFF70DFDEFFC1C5B5FFA8C8C8FF77BEE7FFB4D2
+ F0FFE5F3FFFFACD2EFFF4A89BEFF606D61FFF8FCF8FF9FF1F1FF81DDDFFF8AEA
+ EBFF75DEDEFF6591EEFF557EE2FF68DCDDFF5BBCC5FF80D5EDFFB2E3F9FF8BC0
+ E7FFAED3F6FFC4E0FCFF669DD0FF606D62FFF8FCF8FFAFFAFAFF94EBEBFFA2F9
+ FAFF8AEAEBFF95EDF3FF595FEBFF6BCFE5FF7CD4EEFFC4F6FDFF6CDDF6FF6DCA
+ EDFF63A3D7FF66A1D3FF617474FF606D63FFF8FCF8FFA4EBEDFF8DDFDFFF97EB
+ EBFF72CFB7FF74CA99FF4790BDFF79D3EEFFC7F7FDFF5FDCF5FF5BE2F7FF7AD6
+ F2FF4399DFFFB1D4D9FF646F66FF616E63FFF8FCF9FFBCFBFBFF9DE7DFFF93E1
+ BBFF77C997FF63BDAEFF77CBE7FFC7F7FDFF5EDCF5FF5AE1F7FF7BD4F1FF4395
+ DDFF589BC3FFD0E9DBFF646F66FF616E63FFF7FBF8FF9BDEC4FF73C393FF80CF
+ 9FFF53AD9CFF73B9D5FFC2F6FDFF63DFF7FF5DE2F8FF79D3F0FF4395DAFF6CB8
+ A4FF74C38FFFD7EFDAFF646F66FF616E64FFECF7EEFF96DBAFFF7FC99AFF63AD
+ A5FF7AB6D5FF90B7D1FF55C9E4FF5BDFF5FF78D0EDFF4696D9FF76C1A1FF87D0
+ A0FF80CA9AFFD6EEDAFF646F66FF626E64FFEEF8EFFFA4DBBCFF8CCAA6FF4389
+ AAFFE0F2FFFF549AD8FF1A7ABEFF4998C5FF3B86BFFF6074E7FF81C5A3FF8CD0
+ A6FF85CAA0FFD2E9D7FF646F67FF5F6A60FFEBF5ECFFD4EDD7FFD4EED7FF2E67
+ 84FF94C7F9FF91C9F9FF4185C9FF256BACFFB7D9D4FFD4E2ECFFCFE5D6FFD5ED
+ D9FFD8EFDCFFD5EDD9FF616C63FF454D47FF5F6A61FF636F64FF646F64FF143F
+ 56FF295F86FF4988BCFF4A86A7FF5D7070FF646F66FF646F66FF646F67FF646F
+ 67FF647067FF616C63FF474E48FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0066C472FF64C270FF62BF
+ 6EFF60BC6BFF5DB868FF5BB565FF58B162FD55AC5FEA52A85BB74FA358704B9F
+ 541DFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0064C170FFA6DBB0FFA6DA
+ AFFFA3D9ADFFA2D8ABFF9FD7A8FF9CD5A5FF94D09DFF83C58CFF6CB474FF4799
+ 50B044944C39FFFFFF00FFFFFF00FFFFFF00FFFFFF0062BE6DFFA5DAAEFFA2D8
+ ACFFA1D8AAFF9ED6A7FF9CD5A5FF99D4A2FF97D29FFF8CCD95FF91CF99FF73B8
+ 7BFF408F47B03C8A431DFFFFFF00FFFFFF00FFFFFF005FBA6AFF5CB667FF59B3
+ 64FF56AE60FF53AA5DFF50A659FF4DA156FF68B170FF88C890FF8DCC95FF8BCB
+ 92FF5DA564FF38853F70FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0046974E8F42924AE281C388FF7DC4
+ 85FF6EB375FF357F3BB7FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003E8D458F64AB6BFF7FC4
+ 86FF79BE81FF317A36EAFFFFFF00FFFFFF00FFFFFF00FFFFFF0052A85B034FA3
+ 587BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003A87418F61A867FF7BC2
+ 82FF76BC7CFF2D7532EAFFFFFF00FFFFFF00FFFFFF00FFFFFF004EA3579F4B9E
+ 53D2FFFFFF00FFFFFF00FFFFFF00FFFFFF003A86408F36813CE275BB7BFF70BD
+ 77FF63AB69FF2A702EB7FFFFFF00FFFFFF00FFFFFF004DA2569367B16FFF64AD
+ 6BFF43944BFF408F47FF3C8A43FF398540FF549D5AFF74BA7AFF79C17FFF77BF
+ 7DFF4A914FFF266B2B70FFFFFF00FFFFFF004DA1568A66B06EFF8ACA92FF89CA
+ 90FF86C88DFF83C68AFF80C587FF7EC384FF7BC281FF6DBB74FF76BE7CFF59A0
+ 5DFF266B2AB02367271DFFFFFF00FFFFFF00499C518462AC6AFF85C88DFF85C7
+ 8BFF82C688FF7FC486FF7CC282FF79C180FF71B978FF5FA865FF49914EFF256A
+ 2AB023662739FFFFFF00FFFFFF00FFFFFF00FFFFFF00429149905AA462FF58A1
+ 5EFF37833EFF347E3AFF317A36FF2E7533FF2B712FEA286D2CB7256929702266
+ 261DFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003A87419C3782
+ 3DD2FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0036813C03337D
+ 3978FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00
+ }
+ end
+ object pmTileList: TPopupMenu
+ left = 184
+ top = 128
+ object mnuAddToRandom: TMenuItem
+ Caption = 'Add to random pool'
+ OnClick = btnAddRandomClick
+ end
+ end
+ object ApplicationProperties1: TApplicationProperties
+ OnIdle = ApplicationProperties1Idle
+ OnShowHint = ApplicationProperties1ShowHint
+ left = 295
+ top = 33
+ end
+ object pmTools: TPopupMenu
+ Images = ImageList1
+ left = 328
+ top = 33
+ object mnuSelect: TMenuItem
+ Action = acSelect
+ Bitmap.Data = {
+ 36040000424D3604000000000000360000002800000010000000100000000100
+ 2000000000000004000064000000640000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000007C7C
+ 7CFF787878FF757575FF000000000000FF00FF00000000000000000000000000
+ 000000000000000000000000000000000000000000000000000000000000AAAA
+ AAFFDBDBDBFF797979FF000000000000FF00FF00000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000888888FFDBDB
+ DBFFB7B7B7FF7D7D7DFF000000000000FF00FF00000000000000000000000000
+ 000000000000000000009C9C9CFF000000000000000000000000ADADADFFF2F2
+ F2FF848484FF00000000000000000000FF00FF00000000000000000000000000
+ 00000000000000000000A0A0A0FF9C9C9CFF00000000949494FFD9D9D9FFC1C1
+ C1FF898989FF00000000000000000000FF00FF00000000000000000000000000
+ 00000000000000000000A4A4A4FFD7D7D7FF9D9D9DFFD0D0D0FFEEEEEEFF9191
+ 91FF0000000000000000000000000000FF00FF00000000000000000000000000
+ 00000000000000000000A9A9A9FFF2F2F2FFE5E5E5FFE2E2E2FFE3E3E3FF9595
+ 95FF919191FF8D8D8DFF898989FF868686FFFF00000000000000000000000000
+ 00000000000000000000ADADADFFEEEEEEFFE1E1E1FFDFDFDFFFE0E0E0FFE7E7
+ E7FFE4E4E4FFBBBBBBFF8E8E8EFF0000FF00FF00000000000000000000000000
+ 00000000000000000000B1B1B1FFF0F0F0FFE4E4E4FFE2E2E2FFE2E2E2FFE7E7
+ E7FFC1C1C1FF969696FF000000000000FF00FF00000000000000000000000000
+ 00000000000000000000B5B5B5FFF2F2F2FFE8E8E8FFE7E7E7FFEAEAEAFFC6C6
+ C6FF9E9E9EFF00000000000000000000FF00FF00000000000000000000000000
+ 00000000000000000000B9B9B9FFF4F4F4FFECECECFFEDEDEDFFCBCBCBFFA7A7
+ A7FF0000000000000000000000000000FF00FF00000000000000000000000000
+ 00000000000000000000BDBDBDFFF7F7F7FFEFEFEFFFD0D0D0FFAFAFAFFF0000
+ 00000000000000000000000000000000FF00FF00000000000000000000000000
+ 00000000000000000000C1C1C1FFF7F7F7FFD5D5D5FFB6B6B6FF000000000000
+ 00000000000000000000000000000000FF00FF00000000000000FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00C4C4C4FFD9D9D9FFBEBEBEFFFFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FF0000000000000008000000DB87
+ 4100DB874100DB874100C8C8C8FFC5C5C5FF0000000000000000000000000000
+ 000000000000000000000000000000000000EFFFFF00FFFFFF00F0A3E30008E9
+ 120000000000000000000851A500F52E74000000000040000000F8040600AC04
+ 0600000000000000000000000000C00406000000000000000000
+ }
+ GroupIndex = 1
+ RadioItem = True
+ OnClick = acSelectExecute
+ end
+ object mnuDraw: TMenuItem
+ Action = acDraw
+ Bitmap.Data = {
+ 36040000424D3604000000000000360000002800000010000000100000000100
+ 2000000000000004000064000000640000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000FF00FF00000000000000000000001340
+ 58FF15425EFF25699CFF2C76B4FF3B8BBAFF0000000000000000000000000000
+ 00000000000000000000000000000000FF00FF00000000000000000000001242
+ 59FF5D9CD4FFA6CFF5FFA9CFECFF488BC1FF2C76B4FF00000000000000000000
+ 00000000000000000000000000000000FF00FF00000000000000000000001E6D
+ 93FFCBE3F9FF61AAECFF4098E8FF1567C2FF1660AAFF2C76B4FF000000000000
+ 00000000000000000000000000000000FF00FF00000000000000000000001E6D
+ 93FFC8E1F2FFD1E7FAFF347DB5FF3199C3FF6DC4DCFF4A9CCFFF3483C7FF0000
+ 00000000000000000000000000000000FF00FF00000000000000000000000000
+ 00002689B9FFB0CBE1FF67A9C8FF60DCF5FF44D6F4FF8EEEFAFF5DB4E6FF3B8F
+ D9FF0000000000000000000000000000FF00FF00000000000000000000000000
+ 0000000000002689B9FFBEE6F2FFB3F4FCFF60DCF5FF44D6F4FF8EEEFAFF5DB4
+ E6FF3B8FD9FF00000000000000000000FF00FF00000000000000000000000000
+ 000000000000000000002790BFFFC3EDF8FFB3F4FCFF60DCF5FF44D6F4FF8EEE
+ FAFF5DB4E6FF3B8FD9FF000000000000FF00FF00000000000000000000000000
+ 00000000000000000000000000002FBAE4FFC3EDF8FFB3F4FCFF60DCF5FF44D6
+ F4FF8EEEFAFF5DB4E6FF3B8FD9FF0000FF00FF00000000000000000000000000
+ 0000000000000000000000000000000000002FBAE4FFC3EDF8FFB3F4FCFF60DC
+ F5FF44D6F4FF8EEEFAFF5DB4E6FF3B8FD9FFFF00000000000000000000000000
+ 000000000000000000000000000000000000000000002FBAE4FFC3EDF8FFB3F4
+ FCFF68D9F5FF6FCFF3FF599DD0FF73ABDDFF4F91C9FF00000000000000000000
+ 00000000000000000000000000000000000000000000000000002FBAE4FFC3ED
+ F8FFA8E2F8FF6CAEDDFFA5CFF4FFA5CFF4FFBDDBF7FF5393CBFF000000000000
+ 0000000000000000000000000000000000000000000000000000000000002FBA
+ E4FFA7D4F4FFC5E1F8FFCCE3F9FFCCE3F9FFBDDBF7FF4F90C9FFFFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF0050A8D9FF6AA5D8FFC9E1F7FFCBE3F8FF4295CAFF3182C2FF08000000FF33
+ 3300FF333300FF333300FF333300FFFFFF000000000000000000000000000000
+ 0000000000004FAADBFF5093CAFF4E90C8FF2F9DD2FFFFFFFF00F0A3E3007804
+ 060000000000000000000851A5001E9B7000000000004000000028E62400DCE5
+ 2400000000000000000000000000F0E524000000000000000000
+ }
+ GroupIndex = 1
+ RadioItem = True
+ OnClick = acDrawExecute
+ end
+ object mnuMove: TMenuItem
+ Action = acMove
+ Bitmap.Data = {
+ 36040000424D3604000000000000360000002800000010000000100000000100
+ 200000000000000400006400000064000000000000000000000053A85AFF51A6
+ 58FF4FA356FF4EA154FF4C9F52FFA8AAAC00A5A7AA00A3A6A800A7A9AC00AEAF
+ B100ABADB000429046FF418E45FF408D43FF3F8B42FF3E8A41FF54AB5CFF83BF
+ 89FF7DBB83FF54A65BFFB2B4B500B0B2B300B7B8BA00B1B3B500ACAFB100AAAC
+ AF00A8AAAC00A5A7AA00429046FF6DAD71FF6EAE73FF3F8C42FF56AD5FFF83C0
+ 8AFF73B77AFF6CB473FF50A457FFA9ACAE00A7AAAB00ACAFB100B3B5B600B2B4
+ B500B0B2B300459449FF5AA05EFF5EA664FF6CAD70FF408D44FF58B061FF57AE
+ 5FFF6CB673FF84C08AFF6EB574FF50A457FFBEBFC100B2B5B600AFB2B300ADAF
+ B10048994DFF5DA561FF75B379FF5FA463FF47944CFF418F45FF5AB363FFB9BC
+ BD0057AE5FFF6CB673FF6AB471FF52A759FFB3B5B700BABDBE00B8BABC00B6B8
+ B9004A9B4FFF5FA764FF62A867FF45954AFFB2B4B600439147FFB8BABC00C2C4
+ C500BFC1C20057AE5FFF55AC5DFFC9CBCC00B9BCBD00B5B8BA00B2B4B600AFB1
+ B300ABAEB0004A9C50FF48994EFFB8BABC00B6B8B900BEC0C200C0C1C300BABC
+ BE00B7B9BB00B3B5B700AFB2B400B8BABC00C2C4C500BFC1C200BDBEBF00C4C5
+ C600CED0D100C0C1C300BABCBE00B7B9BB00B3B5B700AFB2B400CACBCC00C7C9
+ CB00C4C6C700CBCCCD00CED0D100C0C1C300BABCBE00B7B9BB00B3B5B700AFB2
+ B400B8BABC00C2C4C500BFC1C200BDBEBF00C4C5C600CED0D100C1C3C500BEC0
+ C200B9BBBD00B4B7B900BFC1C300CACBCC00C7C9CB00C4C6C700CBCCCD00D5D5
+ D600C7C8CA00C1C3C500BEC0C200B9BBBD00B4B7B900BFC1C300CCCFD000CBCD
+ CD00D0D1D200D5D5D600C7C8CA00C1C3C500BEC0C200B9BBBD00B4B7B900BFC1
+ C300CACBCC00C7C9CB00C4C6C700CBCCCD00D5D5D600C7C8CA00C2C4C500BEC0
+ C100B9BBBC0060BB6AFF5EB968FFCCCFD000CBCDCD00D0D1D200DADBDC00CCCF
+ D000C7CACB0053A95BFF52A759FFB9BBBC00C5C7C900D0D1D10065C370FFD5D6
+ D70063BF6DFF80C989FF79C482FF5FB969FFBEC0C100B9BBBC00C5C7C900D0D1
+ D10057AE5FFF6EB875FF6CB573FF52A759FFCCCFD0004EA255FF66C472FF6BC5
+ 75FF83CC8CFF9BD3A4FF7BC784FF60BC6BFFD5D6D700E1E1E200D4D5D600CDCF
+ D10059B161FF75BD7DFF8CC793FF6DB673FF52A759FF50A557FF67C673FF9DD6
+ A5FF92D19BFF7ECA87FF63C06EFFC2C5C700BEC0C100CBCCCE00D8D9D900D4D7
+ D800D1D4D40059B162FF76BD7EFF7EC086FF8AC590FF52A85AFF68C774FFA1D8
+ A9FF9ED6A7FF65C371FFD8DADA00D9DBDC00E5E6E700D9DBDC00D4D5D700CDD0
+ D100C7C9CB00C2C5C6005FB467FF8DC894FF8EC995FF54AA5CFF68C774FF68C7
+ 74FF67C673FF66C572FF65C371FFC2C5C600D0D2D300DEE0E000DADCDD00D8DA
+ DA00D9DBDC005CB666FF5BB464FF59B262FF58AF60FF56AD5EFF
+ }
+ GroupIndex = 1
+ RadioItem = True
+ OnClick = acMoveExecute
+ end
+ object mnuElevate: TMenuItem
+ Action = acElevate
+ Bitmap.Data = {
+ 36040000424D3604000000000000360000002800000010000000100000000100
+ 20000000000000040000640000006400000000000000000000000000BD0000A5
+ 9C00001A420000B5A00013C0F80028FC0000B3A50A00C9800000FC000000F800
+ 0000EC5506003A9F0000B3A50A00C9800000FC000000F80016004BDB0000FC00
+ 0000F80027000000280000000000FE1E0000286E2DFF256929FF216425FF1E60
+ 22FF0028FC000028FC000000280000002800000028000028FC00000028000000
+ 28000028FC000027F3000EFC0E00000000002D7533FF74BD7AFF72BD78FF2265
+ 26FF4BDB0000FC000000F80000006500000000000000FE1E0000130000000000
+ 0000FE0000002CF30000FC000000F8002800337D39FF79C07EFF76BF7CFF266B
+ 2BFFFC0000000FFE1F0000004C000028FC000028FC00000028000028FC000028
+ FC000000280000002800000028000028FC0039853FFF7DC282FF7AC180FF2B72
+ 30FF002CF80028FC0000FE0000002CF30000FC000000F80011004CDB0000FF10
+ 0000F20023000000000000000000FE1E00003F8D46FF81C587FF7EC385FF317A
+ 36FF15000000FE1E00004CDB0000FC00000026FD000000002B00FC00000028FC
+ 0000000028000028FC000028FF000000280045954CFF85C78CFF82C689FF3682
+ 3DFF0BFB1D000039DF000EFE1C000049F80028FC0000FE1E000014C2F80028FC
+ 0000B2A80A00CB7F0000FF810300C60010004A9E53FF8ACA91FF87C98EFF3C8A
+ 43FFFF810300C60028000000280095060800B2A80A00CB7F000065E2BA0013AC
+ F10090040000FC00000028FC00000000280050A659FF8ECC95FF8BCB93FF4292
+ 4AFF830380000028FC000487C10000A2AC000CB3890000B4A300000B9A00F09D
+ 08000016B600D86AF80028FC000013ACF10056AD5FFF93CF9AFF90CE98FF489A
+ 50FF0000000013ACF10090040000FC6AEA003C00E600F4F45900000000000000
+ 2800000000000000060000000000000000005BB465FF96D29FFF94D09CFF5DAC
+ 65FFB728FC00E2BA280068E9E1006EE9E4000028FC000031F100000000000028
+ FC000283CF000000000065C371FF62BF6EFF79C683FF9AD4A3FF98D3A1FF7DC3
+ 86FF4FA458FF4A9E53FFED5706003E9F00000000000000000000CA5A00000000
+ 000000000000000000000000280066C472FF7CCA87FF9ED6A7FF9CD4A5FF73C0
+ 7DFF55AC5EFF000028000026FC00000000000006000000000000000000000000
+ 000000000000000000000028FF00F5CE350066C572FF7ECA88FF7BC885FF5DB8
+ 68FF00000000000000000000000000000000000000003CBBF000000000000000
+ 0000000000000000000000000000000000000000000067C673FF65C270FF0000
+ 00000000000000000000FC00000028FC000000002800000EFC00E8A3E300802E
+ 6400000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000026F000000000000000000000
+ }
+ GroupIndex = 1
+ RadioItem = True
+ OnClick = acElevateExecute
+ end
+ object mnuDelete: TMenuItem
+ Action = acDelete
+ Bitmap.Data = {
+ 36040000424D3604000000000000360000002800000010000000100000000100
+ 20000000000000040000640000006400000000000000000000000FFE1F000000
+ 4C000028FC000028FC000000280000002800000028000009F100A06131FFB676
+ 3FFFA46534FF0DFD1E0000000000FE1E00004BDB0000FF0600002CF30000FC00
+ 0000F8002800000028000028FC000011FF00000000009F5E2FFFE7B263FFBF92
+ 4FFFDDAB62FFA26232FF0028FC000000240000000000F30028001E000000DB00
+ 280026FD0000C79751FFD8A65AFFA66C36FF00002800A86835FFD1A057FF0000
+ 9D008E6A36FFB4753FFF0000000024FE000000000000FE00000000000000FE1E
+ 0000B58244FFD6A45AFFAE8241FFECB666FFA76E36FFAC6C37FFC49551FF0000
+ 0E001E000000B77840FF100031000028FC000028FF0000000E000028FF000608
+ 0000BE8A4AFFA87E41FF28FC0000966E32FFE7B066FFCAA274FFE5B167FF945E
+ 2DFFB88D4DFFAF703BFF0C00D500000EFD00000000000EFD1F000F04380000AD
+ AD009C6A32FFD6A55EFFCB7F0000FC000000E4AD60FFDCBD9BFFEFCDA5FFEFB7
+ 67FFD8A65DFF00000000A80A16007F002800810384000028FC006AEAE30000E6
+ FF00F459FC00B17E42FFDCAA60FFD09E54FFEAB365FFD8BA99FFF8EBE1FFAE89
+ 57FF06082800850380008303800000000100592AFA000000AD00AF80B0000000
+ 1000EFF09F000010A4009D6932FFB17E42FF9E682CFFBC9767FFF0E0D0FFB691
+ 5FFF00E6FF00F431CD000000000000000000ACF1EC0004002800000000000000
+ 0000000000000028FC00000000000006000000000000B68F59FFF5E9DDFFE2CD
+ B4FFB99461FFB728FC00E2BA280068E9E1006EE9E40000000000000000000000
+ 0000F6DC510000000000000000000000000000000000B28A54FFF1E2D3FFCFB3
+ 8EFFF5E9DCFF000000000028FC0000004200570602009F000000BBF0F4005A00
+ 00000000000000000000000000000028FC0000000000AF8750FFEDDECEFF0000
+ 2800CEB38FFFE7D6C3FF0026FC00000000000006000000000000000000000000
+ 00000000000000000000C3EC0600000000000000000000000000E6D4C0FF0000
+ 000000000000D3B999FFD3B897FF000000000028FC0000000000000000000000
+ 0000000000000000000000000000000000000000000000000000DEC8AEFF0000
+ 00000000000000002800D1B693FFBB9767FF000EFC000000000000007800F407
+ 0000000000000000000000000000000000000000000000000000D5BC9DFF0000
+ 0000000000000000000000000000AE854CFF0000000000000000080000000000
+ 0000000000000000000000000000FFFFFF000000000000000000CBAE87FF0000
+ 0000000000000000000000000000000000000000000000000000E8A3E3000022
+ 780000000000000000000851A500E3AF75000000000078000000A77B3EFFA4F0
+ 9D00000000000000000000000000B8F09D000000000000000000
+ }
+ GroupIndex = 1
+ RadioItem = True
+ OnClick = acDeleteExecute
+ end
+ object mnuSetHue: TMenuItem
+ Action = acHue
+ Bitmap.Data = {
+ 36040000424D3604000000000000360000002800000010000000100000000100
+ 2000000000000004000064000000640000000000000000000000000000000000
+ 000000000000000000000000000000000000FF00000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000001D65A0FF1A639EFF1761
+ 9BFF000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000256BA6FF87AEE1FF7FA9DCFF6093
+ C9FF3173ACFF15609AFF0000000000000000FF00000000000000000000000000
+ 00000000000000000000000000002D70ADFF6E9ED1FF9ABDEBFF72A1E3FF97BA
+ EAFF95B9EAFF6194CAFF16609AFF000000000000000000000000000000000000
+ 00000000000000000000000000003274B1FF9EC0ECFF6A9DE2FF5C94DFFF5992
+ DFFF6095E0FF96B9EAFF87AEE1FF4A84BCFF145F99FF00000000000000000000
+ 0000427FBDFF3F7DBAFF3B7AB8FF77A5D7FFA2C3EDFFA0C1EDFF9EC0EDFF75A4
+ E4FF5B93DFFF5991DEFF7CA8E6FF93B7E8FF4480B8FF000000004F88C7FF6598
+ CFFF7CA9D9FF8EB5E2FFA4C5EDFFA8C7EEFF6598CDFF3576B3FF6094C9FFA0C1
+ EDFF7997A4FF9F9749FF7D9592FF8EB4E9FF7AA6D8FF19629DFF538BCBFFAFCD
+ F0FFB1CFF0FF99C0ECFF7FAFE7FFABCAEFFF3E7CB9FF000000003677B4FFA3C4
+ EDFFA99832FFC5B65BFFAD9827FF5C94DFFF99BCEBFF1D65A0FF588ECEFFA9C9
+ EDFF85A8EDFF596BEDFF6B8FE9FFAECDF0FF6E9ED2FF3F7DBAFF689ACEFFA6C6
+ EEFF969B6AFFAE9827FF9E984EFF679CE2FF99BCEAFF2268A3FF5C91D1FF93BA
+ E5FF6F75F6FF8285F5FF4141F0FF91BCEBFFAFCDF0FFADCCF0FFABCAF0FF86B3
+ E9FF5FAAC2FF45B48EFF57A9B7FF71A2E4FF98BBE8FF266BA7FF000000005D92
+ D2FF93A5F5FF5A5BF6FF5287F4FF3CA7FBFF5DACF2FF7FB0E7FF7CAEE7FF79AB
+ E6FF40B781FF61C898FF3CB87BFF7EADE7FF90B6E3FF2B6FABFF000000006194
+ D5FF87B0E1FFBAD7F3FF33A7FEFF6DC0FFFF2CA4FFFF67BFF0FF3BCEFBFF5BBF
+ F1FF53B4A1FF3CB87AFF48B491FFA8C8EEFF78A6D6FF3072AFFFFFFFFF00FFFF
+ FF006295D6FF86AFE1FF5BB3F9FF2CA4FFFF41AAFBFF31D3FEFF6DE2FFFF2CD5
+ FFFF80B1E8FF7DAEE7FFAACAEFFFA6C6EDFF3878B6FF00000000FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF006094D5FF8FB7E3FFBAD7F3FF5ED5FBFF2BD5FFFF42D1
+ FBFFB4D2F2FFB2D0F1FF93B9E2FF6396CCFF3E7CB9FFFFFFFF0008000000888A
+ 8C00888A8C00888A8C00888A8C006194D5FF77A4DCFF92B9E4FFA9CAECFFA6C7
+ ECFF8EB6E2FF699BD2FF4A84C3FF00000000EFFFFF00FFFFFF00E8A3E30070F0
+ 9D0000000000000000000851A500D7AD7500000000005F93D4FF5C91D1FF598F
+ CFFF558DCCFF000000000000000020B45F000000000000000000
+ }
+ GroupIndex = 1
+ RadioItem = True
+ OnClick = acHueExecute
+ end
+ object mnuSeparator3: TMenuItem
+ Caption = '-'
+ end
+ object mnuBoundaries: TMenuItem
+ Action = acBoundaries
+ Bitmap.Data = {
+ 36040000424D3604000000000000360000002800000010000000100000000100
+ 200000000000000400006400000064000000000000000000000000B2AD000022
+ CC000028FC000028FC00000028000000280000002800005AEE00181818008900
+ AC000E04380000ACAA0004380000B3A50A00C9800000F25807004BDB00003232
+ 32FF2D2D2DFF282828FF0027FC000000CD000000000000000E001E000000DB00
+ 2800000028000027FC00040404FF010101FF000000FFDB002800000000003A3A
+ 3AFFB7B7B7FF313030FFD89066FFD88E64FFD68C62FFD58961FFD5895FFFD586
+ 5DFFD4855BFFD4855AFF090909FFA6A6A6FF030303FFFE1E0000000000004242
+ 42FF3D3D3DFF534B46FFE3AD8DFFE2AB8BFFE1AA8AFFE1A888FFE0A787FFDFA5
+ 85FFDFA484FFDEA383FF42332BFF0A0A0AFF070707FF000024000028FF000000
+ 0E00DD9B73FFE4B192FFE4AF91FFE3AE8FFFE3AC8DFFE1AB8BFFE1A989FFE1A8
+ 88FFE0A786FFDFA585FFDFA384FFD4865DFF0000000024FE0000000000000EFD
+ 1F00DE9F77FFE5B495FFE4B393FFE4B192FFE3AF90FFE3AE8EFFE2AC8DFFE1AA
+ 8BFFE1A989FFE0A787FFDFA686FFD5895FFF100031000028FC00810384000028
+ FC00E1A27BFFE6B798FFE6B596FFE5B494FFE4B292FFE4B191FFE3AF8FFFE3AD
+ 8DFFE2AC8CFFE1AA8AFFE1A989FFD68C62FF0C00D500000EFD00592AFA000000
+ AD00E1A67FFFE8BA9BFFE7B899FFE6B697FFE6B596FFE5B394FFE4B192FFE4AF
+ 91FFE3AE8FFFE3AD8DFFE2AB8BFFD88E66FFA80A16007F002800ACF1EC000400
+ 2800E3AA81FFE9BC9EFFE8BB9CFFE8B99AFFE7B899FFE6B697FFE6B495FFE4B3
+ 94FFE4B192FFE3AF90FFE3AE8FFFD9926AFF83038000000001006EE9E4000000
+ 0000E3AC85FFEABFA0FFEABE9FFFE8BC9DFFE8BA9CFFE8B99AFFE6B798FFE6B6
+ 96FFE5B494FFE4B393FFE4B191FFDA966CFF0000000000000000570602009F00
+ 0000E5AF86FFEBC1A2FFEAC0A2FFEABEA0FFE9BD9EFFE8BC9DFFE8BA9BFFE7B8
+ 99FFE6B698FFE6B596FFE5B394FFDC9A70FFE2BA280068E9E100000600000000
+ 0000E5B289FFEBC3A5FFEBC2A3FFEBC0A2FFEABFA1FFEABEA0FFE9BD9EFFE8BB
+ 9DFFE8BA9BFFE7B899FFE6B697FFDE9D75FF0028FC00000042000028FC008686
+ 86FF838383FF968D87FFEBC4A5FFEBC2A4FFEBC2A3FFEAC0A2FFEABFA0FFEABE
+ 9FFFE8BC9EFFE8BB9CFF7E726AFF535353FF4F4F4FFF00000000000EFC008989
+ 89FFD3D3D3FF848484FFE6B38CFFE5B28AFFE5B289FFE5AF86FFE5AE86FFE3AC
+ 85FFE3AB83FFE3A980FF626262FFC4C4C4FF585858FF00000000000000008989
+ 89FF888888FF878787FF00000000000000000000000000000000000000000000
+ 000000000000000000006B6B6BFF666666FF626262FF00002800C8A3E300C8A3
+ E300A8182F00A8182F0000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000
+ }
+ OnClick = acBoundariesExecute
+ end
+ object mnuVirtualLayer: TMenuItem
+ Action = acVirtualLayer
+ Bitmap.Data = {
+ 36040000424D3604000000000000360000002800000010000000100000000100
+ 200000000000000400006400000064000000000000000000000010A6F1009E00
+ 0000A6F1EF0000001500F1ED920000006200DF6FF80028FC000028F8000093F1
+ F000000000002900000070A1E30070A1E30020E55C0088A1E300FF1C00000011
+ 9C00F4E181000028FC000028FC000000280000002800000028000028FF00F4F4
+ F4000016B700D869F80028FC000093F1F0008D000000005AE500000000000000
+ 0000000000000000000046974EFF419149FF3C8A43FF38833EFF337D39FF2F77
+ 34FF2A712FFF266B2BFF236627FF206223FF1D5E20FF1A5B1EFF000000000000
+ 000000000000000000004C9F54FF47994FFF42924AFF3D8C45FF39853FFF347F
+ 3AFF307835FF2B7230FF276D2CFF246828FF206324FF1D5F21FF000000000000
+ 000046974EFF419149FF51A75BFF499B51FF44944BFF3F8E46FF3B8741FF3681
+ 3CFF317A37FF2D7532FF296F2EFF256929FF256929FF216425FF58FC00000028
+ FF004C9F54FF28FFF40057AF61FF4FA559FF4B9E54FF46984EFF429148FF3D8A
+ 43FF38843EFF337D39FF2F7734FF29702FFF296F2EFF256A2AFF0028FC000000
+ 00004EA358FF1171F1005CB666FF52A85BFF4EA357FF4A9D52FF45974DFF4190
+ 48FF3C8A43FF37833EFF357F3BFF2F7835FF2F7734FF2A712FFF000000000000
+ 000056AE60FF0000000060BC6BFF58B062FF54AB5EFF51A659FF4CA055FF489A
+ 50FF43944BFF3D8B45FF3A8741FF357F3BFF347F3AFF307835FFE81ADD00E81A
+ DD005BB565FF0000000064C16FFF5AB465FF57AF61FF54AB5EFF51A65AFF4CA1
+ 56FF499B51FF43934AFF409047FF3B8741FF3A8741FF35803BFF3FDE47000000
+ 00005FBB6AFF0000000067C673FFDE3F6A0059B264FF57AE60FF54AB5DFF51A7
+ 5AFF4DA256FF479950FF46974EFF408E47FF408F47FF3B8842FF000000000000
+ 000063C06EFF00FFFF0067C673FF67C572FF64C170FF61BD6CFF5DB968FF5AB4
+ 64FF56AE60FF50A659FF4DA256FF479A50FF46974EFF419149FF0000000000FF
+ FF0067C673FF0000000000000000000000000000000000FFFF00FF0000000000
+ 00000000000000000000000000003B8842FFFF00000000000000F90600000000
+ 000068C774FF68C673FF65C271FF62BE6EFF5FBA6AFF5CB565FF58AF61FF53A9
+ 5CFF4FA357FF46974DFFFF000000000000000000000000000000FFFFFF00FFFF
+ FF00FFFFF9004E0009003FDE460000000000000000000000000000000600DE3F
+ 7B00C63E0000000000000000000000000000000000003EC6D900080000000000
+ 3C00F0F4CA000000000000000000FFFFFF000000000000000000000000000000
+ 000000000000000000000000000000000000004ECB00FFFFFF00A8A3E300A8A3
+ E3003019DD003019DD000851A50092B075000000000018000000B019DD006419
+ DD000000000000000000000000007819DD000000000000000000
+ }
+ OnClick = acVirtualLayerExecute
+ end
+ end
+ object pmClients: TPopupMenu
+ left = 184
+ top = 176
+ object mnuGoToClient: TMenuItem
+ Caption = 'GoTo'
+ Default = True
+ OnClick = mnuGoToClientClick
+ end
+ end
+ object tmMovement: TTimer
+ Enabled = False
+ Interval = 500
+ OnTimer = tmMovementTimer
+ OnStartTimer = tmMovementTimer
+ left = 232
+ top = 80
+ end
+ object ActionList1: TActionList
+ Images = ImageList1
+ left = 264
+ top = 80
+ object acSelect: TAction
+ Category = 'Tools'
+ Caption = 'Select'
+ Checked = True
+ GroupIndex = 1
+ Hint = 'Select'
+ ImageIndex = 4
+ OnExecute = acSelectExecute
+ ShortCut = 112
+ end
+ object acDraw: TAction
+ Category = 'Tools'
+ Caption = 'Draw tiles'
+ GroupIndex = 1
+ Hint = 'Draw tiles'
+ ImageIndex = 5
+ OnExecute = acDrawExecute
+ ShortCut = 113
+ end
+ object acMove: TAction
+ Category = 'Tools'
+ Caption = 'Move tiles'
+ GroupIndex = 1
+ Hint = 'Move tiles'
+ ImageIndex = 6
+ OnExecute = acMoveExecute
+ ShortCut = 114
+ end
+ object acElevate: TAction
+ Category = 'Tools'
+ Caption = 'Elevate tiles'
+ GroupIndex = 1
+ Hint = 'Elevate tiles'
+ ImageIndex = 7
+ OnExecute = acElevateExecute
+ ShortCut = 115
+ end
+ object acDelete: TAction
+ Category = 'Tools'
+ Caption = 'Delete tiles'
+ GroupIndex = 1
+ Hint = 'Delete tiles'
+ ImageIndex = 8
+ OnExecute = acDeleteExecute
+ ShortCut = 116
+ end
+ object acHue: TAction
+ Category = 'Tools'
+ Caption = 'Hue tiles'
+ GroupIndex = 1
+ Hint = 'Hue tiles'
+ ImageIndex = 12
+ OnExecute = acHueExecute
+ ShortCut = 117
+ end
+ object acBoundaries: TAction
+ Category = 'Settings'
+ Caption = 'Boundaries'
+ Hint = 'Boundaries'
+ ImageIndex = 9
+ OnExecute = acBoundariesExecute
+ ShortCut = 118
+ end
+ object acFilter: TAction
+ Category = 'Settings'
+ AutoCheck = True
+ Caption = 'Filter'
+ Hint = 'Filter'
+ ImageIndex = 16
+ OnExecute = acFilterExecute
+ end
+ object acVirtualLayer: TAction
+ Category = 'Settings'
+ Caption = 'Virtual Layer'
+ Hint = 'Virtual Layer'
+ ImageIndex = 15
+ OnExecute = acVirtualLayerExecute
+ ShortCut = 119
+ end
+ object acFlat: TAction
+ Category = 'Settings'
+ Caption = 'Flat view'
+ Hint = 'Flat view'
+ ImageIndex = 17
+ OnExecute = acFlatExecute
+ end
+ object acNoDraw: TAction
+ Category = 'Settings'
+ Caption = 'NoDraw'
+ Checked = True
+ Hint = 'Display "No Draw" tiles'
+ ImageIndex = 18
+ OnExecute = acNoDrawExecute
+ end
+ object acUndo: TAction
+ Category = 'Tools'
+ Caption = 'Undo'
+ Enabled = False
+ Hint = 'Undo last set of changes'
+ ImageIndex = 20
+ OnExecute = acUndoExecute
+ ShortCut = 16474
+ end
+ end
+ object tmGrabTileInfo: TTimer
+ Enabled = False
+ Interval = 250
+ OnTimer = tmGrabTileInfoTimer
+ left = 368
+ top = 80
+ end
+ object pmGrabTileInfo: TPopupMenu
+ OnPopup = pmGrabTileInfoPopup
+ left = 368
+ top = 33
+ object mnuGrabTileID: TMenuItem
+ Caption = 'Grab TileID'
+ OnClick = mnuGrabTileIDClick
+ end
+ object mnuGrabHue: TMenuItem
+ Caption = 'Grab Hue'
+ OnClick = mnuGrabHueClick
+ end
+ end
+ object pmFlatViewSettings: TPopupMenu
+ left = 368
+ top = 136
+ object mnuFlatShowHeight: TMenuItem
+ AutoCheck = True
+ Caption = 'Show Height'
+ OnClick = mnuFlatShowHeightClick
+ end
+ end
+ object XMLPropStorage1: TXMLPropStorage
+ StoredValues = <>
+ RootNodePath = 'Forms/frmMain'
+ Active = False
+ OnRestoreProperties = XMLPropStorage1RestoreProperties
+ left = 368
+ top = 208
+ end
+end
diff --git a/Client/UfrmMain.pas b/Client/UfrmMain.pas
index 69832c1..b684332 100644
--- a/Client/UfrmMain.pas
+++ b/Client/UfrmMain.pas
@@ -35,7 +35,7 @@ uses
StdCtrls, Spin, UEnums, VirtualTrees, Buttons, UMulBlock, UWorldItem, math,
LCLIntf, UOverlayUI, UStatics, UEnhancedMemoryStream, ActnList,
XMLPropStorage, fgl, ImagingClasses, dateutils, UPlatformTypes, UMap, UPacket,
- UGLFont, DOM, XMLRead, XMLWrite;
+ UGLFont, DOM, XMLRead, XMLWrite, strutils;
type
TAccessChangedListener = procedure(AAccessLevel: TAccessLevel) of object;
@@ -48,6 +48,13 @@ type
TAccessChangedListeners = specialize TFPGList;
TSelectionListeners = specialize TFPGList;
+ TTileHintInfo = record
+ Name: String;
+ Flags: String;
+ NameRect: TRect;
+ FlagsRect: TRect;
+ end;
+
{ TfrmMain }
TfrmMain = class(TForm)
@@ -138,7 +145,6 @@ type
tbFilter: TToolButton;
tbFlat: TToolButton;
tbNoDraw: TToolButton;
- tmTileHint: TTimer;
tbSeparator2: TToolButton;
tbUndo: TToolButton;
tsLocations: TTabSheet;
@@ -181,6 +187,8 @@ type
procedure acUndoExecute(Sender: TObject);
procedure acVirtualLayerExecute(Sender: TObject);
procedure ApplicationProperties1Idle(Sender: TObject; var Done: Boolean);
+ procedure ApplicationProperties1ShowHint(var HintStr: string;
+ var CanShow: Boolean; var HintInfo: THintInfo);
procedure btnAddLocationClick(Sender: TObject);
procedure btnAddRandomClick(Sender: TObject);
procedure btnClearLocationsClick(Sender: TObject);
@@ -240,7 +248,6 @@ type
procedure tbTerrainClick(Sender: TObject);
procedure tmGrabTileInfoTimer(Sender: TObject);
procedure tmMovementTimer(Sender: TObject);
- procedure tmTileHintTimer(Sender: TObject);
procedure vdtRandomClick(Sender: TObject);
procedure vdtRandomDragDrop(Sender: TBaseVirtualTree; Source: TObject;
DataObject: IDataObject; Formats: TFormatArray; Shift: TShiftState;
@@ -254,15 +261,14 @@ type
Stream: TStream);
procedure vdtRandomUpdating(Sender: TBaseVirtualTree; State: TVTUpdateState);
procedure vdtTilesClick(Sender: TObject);
+ procedure vdtTilesDrawHint(Sender: TBaseVirtualTree; HintCanvas: TCanvas;
+ Node: PVirtualNode; const R: TRect; Column: TColumnIndex);
procedure vdtTilesDrawNode(Sender: TBaseVirtualTree;
const PaintInfo: TVTPaintInfo);
procedure vdtTilesEnter(Sender: TObject);
- procedure vdtTilesExit(Sender: TObject);
- procedure vdtTilesHotChange(Sender: TBaseVirtualTree; OldNode,
- NewNode: PVirtualNode);
+ procedure vdtTilesGetHintSize(Sender: TBaseVirtualTree; Node: PVirtualNode;
+ Column: TColumnIndex; var R: TRect);
procedure vdtTilesKeyPress(Sender: TObject; var Key: char);
- procedure vdtTilesMouseMove(Sender: TObject; Shift: TShiftState; X,
- Y: Integer);
procedure vdtTilesScroll(Sender: TBaseVirtualTree; DeltaX, DeltaY: Integer);
procedure vstChatClick(Sender: TObject);
procedure vstChatFreeNode(Sender: TBaseVirtualTree; Node: PVirtualNode);
@@ -316,6 +322,7 @@ type
FUndoList: TPacketList;
FGLFont: TGLFont;
FSelectionListeners: TSelectionListeners;
+ FTileHint: TTileHintInfo;
{ Methods }
procedure BuildTileList;
function ConfirmAction: Boolean;
@@ -387,8 +394,8 @@ uses
UfrmAccountControl, UGraphicHelper, ImagingComponents, UfrmDrawSettings,
UfrmBoundaries, UfrmElevateSettings, UfrmConfirmation, UfrmMoveSettings,
UfrmAbout, UPacketHandlers, UfrmHueSettings, UfrmRadar, UfrmLargeScaleCommand,
- UfrmLogin, UResourceManager, UfrmVirtualLayer, UfrmFilter, UfrmTileInfo,
- UfrmRegionControl, Logging, LConvEncoding, LCLType;
+ UfrmLogin, UResourceManager, UfrmVirtualLayer, UfrmFilter, UfrmRegionControl,
+ Logging, LConvEncoding, LCLType;
type
TGLArrayf4 = array[0..3] of GLfloat;
@@ -1053,6 +1060,17 @@ begin
Done := False;
end;
+procedure TfrmMain.ApplicationProperties1ShowHint(var HintStr: string;
+ var CanShow: Boolean; var HintInfo: THintInfo);
+begin
+ //that check is a bit dirty, but serves its purpose
+ //(i.e. to set the timeout for the tile info hints)
+ if HintStr = '-' then
+ HintInfo.HideTimeout := Application.HintHidePause +
+ Application.HintHidePausePerChar * (Length(FTileHint.Name) +
+ Length(FTileHint.Flags));
+end;
+
procedure TfrmMain.btnAddLocationClick(Sender: TObject);
var
locationName: string;
@@ -1446,12 +1464,6 @@ begin
end;
end;
-procedure TfrmMain.tmTileHintTimer(Sender: TObject);
-begin
- frmTileInfo.Show;
- tmTileHint.Enabled := False;
-end;
-
procedure TfrmMain.vdtRandomClick(Sender: TObject);
var
node: PVirtualNode;
@@ -1538,6 +1550,18 @@ begin
ProcessToolState;
end;
+procedure TfrmMain.vdtTilesDrawHint(Sender: TBaseVirtualTree;
+ HintCanvas: TCanvas; Node: PVirtualNode; const R: TRect; Column: TColumnIndex
+ );
+begin
+ HintCanvas.Font.Style := [fsBold];
+ DrawText(HintCanvas.Handle, PChar(FTileHint.Name), Length(FTileHint.Name),
+ FTileHint.NameRect, 0);
+ HintCanvas.Font.Style := [fsItalic];
+ DrawText(HintCanvas.Handle, PChar(FTileHint.Flags), Length(FTileHint.Flags),
+ FTileHint.FlagsRect, DT_WORDBREAK);
+end;
+
procedure TfrmMain.vdtTilesDrawNode(Sender: TBaseVirtualTree;
const PaintInfo: TVTPaintInfo);
var
@@ -1594,34 +1618,88 @@ begin
end;
end;
-procedure TfrmMain.vdtTilesExit(Sender: TObject);
-begin
- {TODO : Fix mouse over on !Windows platforms}
- {$IFDEF Windows}
- tmTileHint.Enabled := False;
- {$ENDIF Windows}
-end;
-
-procedure TfrmMain.vdtTilesHotChange(Sender: TBaseVirtualTree; OldNode,
- NewNode: PVirtualNode);
-{$IFDEF Windows}
+procedure TfrmMain.vdtTilesGetHintSize(Sender: TBaseVirtualTree;
+ Node: PVirtualNode; Column: TColumnIndex; var R: TRect);
var
tileInfo: PTileInfo;
-{$ENDIF Windows}
-begin
- {TODO : Fix mouse over on !Windows platforms}
- {$IFDEF Windows}
- if NewNode <> nil then
+ tileData: TTiledata;
+ prefix, flags: string;
+
+ procedure UpdateFlags(AFlag: TTileDataFlag; AName: string);
begin
- tileInfo := vdtTiles.GetNodeData(NewNode);
- frmTileInfo.Update(tileInfo^.ID);
- tmTileHint.Enabled := True;
- end else
- begin
- frmTileInfo.Hide;
- tmTileHint.Enabled := False;
+ if AFlag in tileData.Flags then
+ begin
+ if flags <> '' then
+ flags := flags + ', ' + AName
+ else
+ flags := AName;
+ end;
end;
- {$ENDIF Windows}
+
+begin
+ tileInfo := Sender.GetNodeData(Node);
+ flags := '';
+
+ tileData := ResMan.Tiledata.TileData[tileInfo^.ID];
+ if tileInfo^.ID < $4000 then
+ begin
+ if TLandTiledata(tileData).TextureID > 0 then
+ flags := 'Stretchable';
+ end;
+
+ if tdfArticleA in tileData.Flags then
+ prefix := 'a '
+ else if tdfArticleAn in tileData.Flags then
+ prefix := 'an '
+ else
+ prefix := '';
+
+ FTileHint.Name := AnsiProperCase(Format('%s%s',
+ [prefix, tileData.TileName]), [' ']);
+ FTileHint.NameRect.Left := 5;
+ FTileHint.NameRect.Top := 5;
+ Sender.Canvas.Font.Style := [fsBold];
+ DrawText(Sender.Canvas.Handle, PChar(FTileHint.Name), Length(FTileHint.Name),
+ FTileHint.NameRect, DT_CALCRECT);
+
+ UpdateFlags(tdfBackground, 'Background');
+ UpdateFlags(tdfWeapon, 'Weapon');
+ UpdateFlags(tdfTransparent, 'Transparent');
+ UpdateFlags(tdfTranslucent, 'Translucent');
+ UpdateFlags(tdfWall, 'Wall');
+ UpdateFlags(tdfDamaging, 'Damaging');
+ UpdateFlags(tdfImpassable, 'Impassable');
+ UpdateFlags(tdfWet, 'Wet');
+ UpdateFlags(tdfSurface, 'Surface');
+ UpdateFlags(tdfBridge, 'Bridge');
+ UpdateFlags(tdfGeneric, 'Generic');
+ UpdateFlags(tdfWindow, 'Window');
+ UpdateFlags(tdfNoShoot, 'NoShoot');
+ UpdateFlags(tdfInternal, 'Internal');
+ UpdateFlags(tdfFoliage, 'Foliage');
+ UpdateFlags(tdfPartialHue, 'PartialHue');
+ UpdateFlags(tdfMap, 'Map');
+ UpdateFlags(tdfContainer, 'Container');
+ UpdateFlags(tdfWearable, 'Wearable');
+ UpdateFlags(tdfLightSource, 'Lightsource');
+ UpdateFlags(tdfAnimation, 'Animation');
+ UpdateFlags(tdfNoDiagonal, 'NoDiagonal');
+ UpdateFlags(tdfArmor, 'Armor');
+ UpdateFlags(tdfRoof, 'Roof');
+ UpdateFlags(tdfDoor, 'Door');
+ UpdateFlags(tdfStairBack, 'StairBack');
+ UpdateFlags(tdfStairRight, 'StairRight');
+
+ FTileHint.Flags := Format('Flags = [%s]', [flags]);
+ FTileHint.FlagsRect.Left := 5;
+ FTileHint.FlagsRect.Top := FTileHint.NameRect.Bottom + 5;
+ FTileHint.FlagsRect.Right := 145;
+ Sender.Canvas.Font.Style := [fsItalic];
+ DrawText(Sender.Canvas.Handle, PChar(FTileHint.Flags), Length(FTileHint.Flags),
+ FTileHint.FlagsRect, DT_CALCRECT or DT_WORDBREAK);
+
+ R := Rect(0, 0, Max(FTileHint.NameRect.Right, FTileHint.FlagsRect.Right) + 5,
+ FTileHint.FlagsRect.Bottom + 5);
end;
procedure TfrmMain.vdtTilesKeyPress(Sender: TObject; var Key: char);
@@ -1636,22 +1714,6 @@ begin
end;
end;
-procedure TfrmMain.vdtTilesMouseMove(Sender: TObject; Shift: TShiftState; X,
- Y: Integer);
-begin
- if tmTileHint.Enabled then
- begin
- tmTileHint.Enabled := False;
- tmTileHint.Enabled := True; //Restart timer
- end;
-
- if frmTileInfo.Visible then
- begin
- frmTileInfo.Hide;
- tmTileHint.Enabled := True;
- end;
-end;
-
procedure TfrmMain.vdtTilesScroll(Sender: TBaseVirtualTree; DeltaX,
DeltaY: Integer);
begin
diff --git a/Client/UfrmRegionControl.lfm b/Client/UfrmRegionControl.lfm
index ed0bc98..0877a94 100644
--- a/Client/UfrmRegionControl.lfm
+++ b/Client/UfrmRegionControl.lfm
@@ -85,7 +85,7 @@ object frmRegionControl: TfrmRegionControl
item
Position = 0
Text = 'Regions'
- Width = 160
+ Width = 156
end>
Header.DefaultHeight = 17
Header.Options = [hoAutoResize, hoVisible]
@@ -222,7 +222,6 @@ object frmRegionControl: TfrmRegionControl
BorderSpacing.Left = 4
BorderSpacing.Right = 4
BorderSpacing.Bottom = 4
- BorderStyle = bsSingle
DefaultText = 'Node'
Header.AutoSizeIndex = 0
Header.Columns = <>
diff --git a/Client/UfrmTileInfo.lfm b/Client/UfrmTileInfo.lfm
deleted file mode 100644
index 2ba2289..0000000
--- a/Client/UfrmTileInfo.lfm
+++ /dev/null
@@ -1,69 +0,0 @@
-object frmTileInfo: TfrmTileInfo
- Left = 290
- Height = 59
- Top = 171
- Width = 250
- HorzScrollBar.Page = 249
- VertScrollBar.Page = 106
- AutoSize = True
- BorderIcons = []
- BorderStyle = bsNone
- Caption = 'Tile info'
- ClientHeight = 59
- ClientWidth = 250
- Color = clInfoBk
- Constraints.MinWidth = 250
- Font.Color = clInfoText
- FormStyle = fsStayOnTop
- OnShow = FormShow
- ShowInTaskBar = stNever
- LCLVersion = '0.9.29'
- object lblTileID: TLabel
- Left = 8
- Height = 16
- Top = 26
- Width = 234
- Align = alTop
- BorderSpacing.Left = 8
- BorderSpacing.Top = 2
- BorderSpacing.Right = 8
- BorderSpacing.Bottom = 8
- Font.Color = clInfoText
- Font.Style = [fsItalic]
- ParentColor = False
- ParentFont = False
- end
- object lblFlags: TLabel
- Left = 8
- Height = 1
- Top = 50
- Width = 234
- Align = alTop
- BorderSpacing.Around = 8
- Font.Color = clInfoText
- ParentColor = False
- ParentFont = False
- WordWrap = True
- end
- object lblName: TLabel
- Left = 8
- Height = 16
- Top = 8
- Width = 234
- Align = alTop
- BorderSpacing.Left = 8
- BorderSpacing.Top = 8
- BorderSpacing.Right = 8
- BorderSpacing.Bottom = 2
- Font.Style = [fsBold]
- ParentColor = False
- ParentFont = False
- end
- object tmHide: TTimer
- Enabled = False
- Interval = 5000
- OnTimer = tmHideTimer
- left = 216
- top = 8
- end
-end
diff --git a/Client/UfrmTileInfo.pas b/Client/UfrmTileInfo.pas
deleted file mode 100644
index 2fca8e7..0000000
--- a/Client/UfrmTileInfo.pas
+++ /dev/null
@@ -1,170 +0,0 @@
-(*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at
- * http://www.opensource.org/licenses/cddl1.php.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at
- * http://www.opensource.org/licenses/cddl1.php. If applicable,
- * add the following below this CDDL HEADER, with the fields enclosed
- * by brackets "[]" replaced with your own identifying * information:
- * Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- *
- *
- * Portions Copyright 2009 Andreas Schneider
- *)
-unit UfrmTileInfo;
-
-{$mode objfpc}{$H+}
-
-interface
-
-uses
- Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,
- ExtCtrls, LCLIntf, LCLType, strutils;
-
-type
-
- { TfrmTileInfo }
-
- TfrmTileInfo = class(TForm)
- lblName: TLabel;
- lblFlags: TLabel;
- lblTileID: TLabel;
- tmHide: TTimer;
- procedure FormShow(Sender: TObject);
- procedure tmHideTimer(Sender: TObject);
- private
- { private declarations }
- public
- procedure Update(ATileID: Word);
- procedure Show(ATileID: Word); overload;
- end;
-
-var
- frmTileInfo: TfrmTileInfo;
-
-implementation
-
-uses
- UGameResources, UTiledata;
-
-{ TfrmTileInfo }
-
-procedure TfrmTileInfo.tmHideTimer(Sender: TObject);
-begin
- tmHide.Enabled := False;
- Hide;
-end;
-
-procedure TfrmTileInfo.FormShow(Sender: TObject);
-begin
- tmHide.Enabled := True;
- Left := Mouse.CursorPos.x + 8;
- Top := Mouse.CursorPos.y + 8;
-end;
-
-procedure TfrmTileInfo.Update(ATileID: Word);
-var
- tileData: TTiledata;
- prefix, flags: string;
-
- procedure UpdateFlags(AFlag: TTileDataFlag; AName: string);
- begin
- if AFlag in tileData.Flags then
- begin
- if flags <> '' then
- flags := flags + ', ' + AName
- else
- flags := AName;
- end;
- end;
-
-begin
- if Visible then
- begin
- Left := Mouse.CursorPos.x + 8;
- Top := Mouse.CursorPos.y + 8;
- end;
-
- flags := '';
-
- if ATileID < $4000 then
- begin
- tileData := ResMan.Tiledata.LandTiles[ATileID];
- if TLandTiledata(tileData).TextureID > 0 then
- flags := 'Stretchable';
- end else
- begin
- Dec(ATileID, $4000);
- tileData := ResMan.Tiledata.StaticTiles[ATileID];
- end;
-
- if tdfArticleA in tileData.Flags then
- prefix := 'a '
- else if tdfArticleAn in tileData.Flags then
- prefix := 'an '
- else
- prefix := '';
-
- lblName.Caption := AnsiProperCase(Format('%s%s', [prefix, tileData.TileName]), [' ']);
- lblTileID.Caption := Format('Tile ID: $%x (%0:d)', [ATileID]);
-
- UpdateFlags(tdfBackground, 'Background');
- UpdateFlags(tdfWeapon, 'Weapon');
- UpdateFlags(tdfTransparent, 'Transparent');
- UpdateFlags(tdfTranslucent, 'Translucent');
- UpdateFlags(tdfWall, 'Wall');
- UpdateFlags(tdfDamaging, 'Damaging');
- UpdateFlags(tdfImpassable, 'Impassable');
- UpdateFlags(tdfWet, 'Wet');
- UpdateFlags(tdfSurface, 'Surface');
- UpdateFlags(tdfBridge, 'Bridge');
- UpdateFlags(tdfGeneric, 'Generic');
- UpdateFlags(tdfWindow, 'Window');
- UpdateFlags(tdfNoShoot, 'NoShoot');
- UpdateFlags(tdfInternal, 'Internal');
- UpdateFlags(tdfFoliage, 'Foliage');
- UpdateFlags(tdfPartialHue, 'PartialHue');
- UpdateFlags(tdfMap, 'Map');
- UpdateFlags(tdfContainer, 'Container');
- UpdateFlags(tdfWearable, 'Wearable');
- UpdateFlags(tdfLightSource, 'Lightsource');
- UpdateFlags(tdfAnimation, 'Animation');
- UpdateFlags(tdfNoDiagonal, 'NoDiagonal');
- UpdateFlags(tdfArmor, 'Armor');
- UpdateFlags(tdfRoof, 'Roof');
- UpdateFlags(tdfDoor, 'Door');
- UpdateFlags(tdfStairBack, 'StairBack');
- UpdateFlags(tdfStairRight, 'StairRight');
-
- lblFlags.Caption := Format('Flags = [%s]', [flags]);
-
- if tmHide.Enabled then
- begin
- tmHide.Enabled := False;
- tmHide.Enabled := True; //Refresh timer
- end;
-end;
-
-procedure TfrmTileInfo.Show(ATileID: Word);
-begin
- Update(ATileID);
- Show;
-end;
-
-initialization
- {$I UfrmTileInfo.lrs}
-
-end.
-