Sfoglia il codice sorgente

Fixed paths to assets

GLScene 2 anni fa
parent
commit
9dfd45873d
100 ha cambiato i file con 12886 aggiunte e 1482 eliminazioni
  1. BIN
      Bpl/GLScene_Cg_DT.bpl
  2. BIN
      Bpl/GLScene_Cg_RT.bpl
  3. BIN
      Bpl/GLScene_DT.bpl
  4. BIN
      Bpl/GLScene_GPU_DT.bpl
  5. BIN
      Bpl/GLScene_GPU_RT.bpl
  6. BIN
      Bpl/GLScene_Physics_DT.bpl
  7. BIN
      Bpl/GLScene_Physics_RT.bpl
  8. BIN
      Bpl/GLScene_RT.bpl
  9. BIN
      Bpl/GLScene_Sounds_DT.bpl
  10. BIN
      Bpl/GLScene_Sounds_RT.bpl
  11. BIN
      Bpl/Win64/GLScene_Cg_RT.bpl
  12. BIN
      Bpl/Win64/GLScene_GPU_RT.bpl
  13. BIN
      Bpl/Win64/GLScene_Physics_RT.bpl
  14. BIN
      Bpl/Win64/GLScene_RT.bpl
  15. BIN
      Bpl/Win64/GLScene_RT.rsm
  16. BIN
      Bpl/Win64/GLScene_Sounds_RT.bpl
  17. BIN
      Dcp/GLScene_Cg_DT.dcp
  18. BIN
      Dcp/GLScene_Cg_RT.dcp
  19. BIN
      Dcp/GLScene_DT.dcp
  20. BIN
      Dcp/GLScene_GPU_DT.dcp
  21. BIN
      Dcp/GLScene_GPU_RT.dcp
  22. BIN
      Dcp/GLScene_Physics_DT.dcp
  23. BIN
      Dcp/GLScene_Physics_RT.dcp
  24. BIN
      Dcp/GLScene_RT.dcp
  25. BIN
      Dcp/GLScene_Sounds_DT.dcp
  26. BIN
      Dcp/GLScene_Sounds_RT.dcp
  27. BIN
      Dcp/Win64/GLScene_Cg_RT.dcp
  28. BIN
      Dcp/Win64/GLScene_GPU_RT.dcp
  29. BIN
      Dcp/Win64/GLScene_Physics_RT.dcp
  30. BIN
      Dcp/Win64/GLScene_RT.dcp
  31. BIN
      Dcp/Win64/GLScene_Sounds_RT.dcp
  32. 1 1
      Examples/AdvDemos/Christmas/fChrismasC.cpp
  33. 1 1
      Examples/AdvDemos/Christmas/fChrismasC.h
  34. 1 0
      Examples/Demos/behaviours/Torque/fTorqueD.dfm
  35. 0 22
      Examples/Demos/cgshaders/BombShader/BombShaderD.dpr
  36. 8 8
      Examples/Demos/cgshaders/BombShader/CGBombShaderC.cbproj
  37. 1 1
      Examples/Demos/cgshaders/BombShader/CgBombShaderD.dproj
  38. 15 10
      Examples/Demos/cgshaders/BombShader/fCgBombShaderC.dfm
  39. 15 9
      Examples/Demos/cgshaders/BombShader/fCgBombShaderD.dfm
  40. 18 0
      Examples/Demos/cgshaders/BumpMapping/CgBumpMapD.dpr
  41. 950 0
      Examples/Demos/cgshaders/BumpMapping/CgBumpMapD.dproj
  42. 185 0
      Examples/Demos/cgshaders/BumpMapping/fBumpMapD.dfm
  43. 192 0
      Examples/Demos/cgshaders/BumpMapping/fBumpMapD.pas
  44. 0 0
      Examples/Demos/cgshaders/CgCloudSky.jpg
  45. 0 0
      Examples/Demos/cgshaders/CgDistortion.jpg
  46. 0 0
      Examples/Demos/cgshaders/CgReflect.jpg
  47. 2 2
      Examples/Demos/cgshaders/CloudSky/CgCloudSkyD.dpr
  48. 6 6
      Examples/Demos/cgshaders/CloudSky/CgCloudSkyD.dproj
  49. 201 0
      Examples/Demos/cgshaders/CloudSky/fCloudSkyD.dfm
  50. 463 0
      Examples/Demos/cgshaders/CloudSky/fCloudSkyD.pas
  51. 0 0
      Examples/Demos/cgshaders/CloudSky/fSkyClouds.dfm
  52. 0 0
      Examples/Demos/cgshaders/CloudSky/fSkyClouds.pas
  53. 28 0
      Examples/Demos/cgshaders/Distortion/CgDisttexD.dpr
  54. 23 333
      Examples/Demos/cgshaders/Distortion/CgDisttexD.dproj
  55. 100 0
      Examples/Demos/cgshaders/Distortion/fDisttexD.dfm
  56. 171 0
      Examples/Demos/cgshaders/Distortion/fDisttexD.pas
  57. 46 536
      Examples/Demos/cgshaders/Reflect/CgReflectC.cbproj
  58. 2 2
      Examples/Demos/cgshaders/Reflect/CgReflectC.cpp
  59. 2 2
      Examples/Demos/cgshaders/Reflect/CgReflectD.dpr
  60. 18 6
      Examples/Demos/cgshaders/Reflect/CgReflectD.dproj
  61. 29 0
      Examples/Demos/cgshaders/Reflect/fReflectC.cpp
  62. 9901 0
      Examples/Demos/cgshaders/Reflect/fReflectC.dfm
  63. 92 0
      Examples/Demos/cgshaders/Reflect/fReflectC.h
  64. 1 1
      Examples/Demos/cgshaders/Reflect/fReflectD.dfm
  65. 1 4
      Examples/Demos/cgshaders/Reflect/fReflectD.pas
  66. BIN
      Examples/Demos/cgshaders/SkyClouds.jpg
  67. 57 45
      Examples/Demos/cgshaders/cgshaders.groupproj
  68. 9 8
      Examples/Demos/collisions/BoxSphere/fBoxSphereC.dfm
  69. 136 267
      Examples/Demos/collisions/BoxSphere/fBoxSphereD.dfm
  70. 13 12
      Examples/Demos/collisions/OcclusionQuery/fOcclusionQueryC.cpp
  71. 12 10
      Examples/Demos/collisions/OcclusionQuery/fOcclusionQueryD.pas
  72. 1 0
      Examples/Demos/collisions/boxedin/fBoxC.dfm
  73. 0 0
      Examples/Demos/glslshaders/BunnyBump.jpg
  74. 1 1
      Examples/Demos/glslshaders/GLSLShaderComponent/ShaderCompD.dproj
  75. 1 1
      Examples/Demos/glslshaders/PostShader/PostShaderC.cbproj
  76. 2 2
      Examples/Demos/glslshaders/PostShader/PostShaderC.cpp
  77. 2 2
      Examples/Demos/glslshaders/PostShader/PostShaderD.dpr
  78. 1 1
      Examples/Demos/glslshaders/PostShader/PostShaderD.dproj
  79. 11 12
      Examples/Demos/glslshaders/PostShader/fPostShaderC.cpp
  80. 6 6
      Examples/Demos/glslshaders/PostShader/fPostShaderC.dfm
  81. 6 6
      Examples/Demos/glslshaders/PostShader/fPostShaderC.h
  82. 1 7
      Examples/Demos/glslshaders/PostShader/fPostShaderD.dfm
  83. 22 22
      Examples/Demos/glslshaders/PostShader/fPostShaderD.pas
  84. 1 1
      Examples/Demos/glslshaders/ShadersLab/fShaderLabD.pas
  85. 0 2
      Examples/Demos/glslshaders/SimpleGLSL/fSimpleShaderC.dfm
  86. 1 1
      Examples/Demos/graph/points/PointsC.cbproj
  87. 26 43
      Examples/Demos/graph/points/fPointsC.dfm
  88. 1 1
      Examples/Demos/graph/splines/fSplinesC.cpp
  89. 8 5
      Examples/Demos/graph/splines/fSplinesC.dfm
  90. 33 34
      Examples/Demos/meshes/synthterr/fSynthTerrainC.cpp
  91. 9 12
      Examples/Demos/meshes/synthterr/fSynthTerrainD.dfm
  92. 2 1
      Examples/Demos/meshes/terrain/fTerrainC.cpp
  93. 2 1
      Examples/Demos/meshes/terrain/fTerrainC.h
  94. 6 4
      Examples/Demos/meshes/tiles/TilesC.cbproj
  95. 13 14
      Examples/Demos/meshes/tiles/fTilesC.cpp
  96. 18 0
      Examples/Demos/meshes/tiles/fTilesD.pas
  97. 9 10
      Examples/Demos/meshes/tree/fTreeC.dfm
  98. 1 1
      Examples/Demos/movements/manual/ManualD.dproj
  99. 1 5
      Examples/Demos/movements/manual/fManualD.dfm
  100. 1 1
      Examples/Demos/rendering/BlurAdvanced/BlurAdvancedD.dproj

BIN
Bpl/GLScene_Cg_DT.bpl


BIN
Bpl/GLScene_Cg_RT.bpl


BIN
Bpl/GLScene_DT.bpl


BIN
Bpl/GLScene_GPU_DT.bpl


BIN
Bpl/GLScene_GPU_RT.bpl


BIN
Bpl/GLScene_Physics_DT.bpl


BIN
Bpl/GLScene_Physics_RT.bpl


BIN
Bpl/GLScene_RT.bpl


BIN
Bpl/GLScene_Sounds_DT.bpl


BIN
Bpl/GLScene_Sounds_RT.bpl


BIN
Bpl/Win64/GLScene_Cg_RT.bpl


BIN
Bpl/Win64/GLScene_GPU_RT.bpl


BIN
Bpl/Win64/GLScene_Physics_RT.bpl


BIN
Bpl/Win64/GLScene_RT.bpl


BIN
Bpl/Win64/GLScene_RT.rsm


BIN
Bpl/Win64/GLScene_Sounds_RT.bpl


BIN
Dcp/GLScene_Cg_DT.dcp


BIN
Dcp/GLScene_Cg_RT.dcp


BIN
Dcp/GLScene_DT.dcp


BIN
Dcp/GLScene_GPU_DT.dcp


BIN
Dcp/GLScene_GPU_RT.dcp


BIN
Dcp/GLScene_Physics_DT.dcp


BIN
Dcp/GLScene_Physics_RT.dcp


BIN
Dcp/GLScene_RT.dcp


BIN
Dcp/GLScene_Sounds_DT.dcp


BIN
Dcp/GLScene_Sounds_RT.dcp


BIN
Dcp/Win64/GLScene_Cg_RT.dcp


BIN
Dcp/Win64/GLScene_GPU_RT.dcp


BIN
Dcp/Win64/GLScene_Physics_RT.dcp


BIN
Dcp/Win64/GLScene_RT.dcp


BIN
Dcp/Win64/GLScene_Sounds_RT.dcp


+ 1 - 1
Examples/AdvDemos/Christmas/fChrismasC.cpp

@@ -19,7 +19,6 @@
 #pragma link "GLS.Objects"
 #pragma link "GLS.Scene"
 #pragma link "GLS.ShadowPlane"
-#pragma link "GLS.Sound"
 #pragma link "GLS.VectorFileObjects"
 #pragma link "GLS.SceneViewer"
 #pragma link "GLS.WindowsFont"
@@ -35,6 +34,7 @@
 #pragma link "GLS.FileWAV"
 #pragma link "GLS.LensFlare"
 #pragma link "GLS.ParticleFX"
+#pragma link "GLS.SoundManager"
 #pragma resource "*.dfm"
 TForm1* Form1;
 

+ 1 - 1
Examples/AdvDemos/Christmas/fChrismasC.h

@@ -24,7 +24,6 @@
 #include "GLS.ParticleFX.hpp"
 #include "GLS.Scene.hpp"
 #include "GLS.ShadowPlane.hpp"
-#include "GLS.Sound.hpp"
 #include "GLS.VectorFileObjects.hpp"
 #include "GLS.SceneViewer.hpp"
 #include "GLS.WindowsFont.hpp"
@@ -38,6 +37,7 @@
 #include "GLS.FireFX.hpp"
 #include "GLS.BaseClasses.hpp"
 #include "GLS.Utils.hpp"
+#include "GLS.SoundManager.hpp"
 
 //-----------------
 

+ 1 - 0
Examples/Demos/behaviours/Torque/fTorqueD.dfm

@@ -148,6 +148,7 @@ object FormTorque: TFormTorque
       end
       object Dodecahedron: TGLDodecahedron
         Material.FrontProperties.Diffuse.Color = {0000803F00000000000000000000803F}
+        Material.BlendingMode = bmTransparency
         Position.Coordinates = {0000000000000000000000C00000803F}
         Scale.Coordinates = {9A99993F9A99993F9A99993F00000000}
       end

+ 0 - 22
Examples/Demos/cgshaders/BombShader/BombShaderD.dpr

@@ -1,22 +0,0 @@
-{: GL CgBomb Shader Demo.
-
-  A demo that demostrates how to use the TGLCgBombShader component.
-
-  Version history:
-    22/12/12 - PW - Changed the path to media directory
-    05/04/07 - DaStr - Initial version. Creation
-
-}
-program BombShaderD;
-
-uses
-  Forms,
-  fCgBombShaderD in 'fCgBombShaderD.pas' {FormCgBombShader};
-
-{$R *.res}
-
-begin
-  Application.Initialize;
-  Application.CreateForm(TFormCgBombShader, FormCgBombShader);
-  Application.Run;
-end.

+ 8 - 8
Examples/Demos/cgshaders/BombShader/CGBombShaderC.cbproj

@@ -4,7 +4,7 @@
         <ProjectVersion>19.4</ProjectVersion>
         <FrameworkType>VCL</FrameworkType>
         <AppType>Application</AppType>
-        <MainSource>CGBombShaderC.cpp</MainSource>
+        <MainSource>CgBombShaderC.cpp</MainSource>
         <Base>True</Base>
         <Config Condition="'$(Config)'==''">Debug</Config>
         <Platform Condition="'$(Platform)'==''">Win32</Platform>
@@ -58,7 +58,7 @@
         <Base>true</Base>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Base)'!=''">
-        <SanitizedProjectName>CGBombShaderC</SanitizedProjectName>
+        <SanitizedProjectName>CgBombShaderC</SanitizedProjectName>
         <Icon_MainIcon>$(BDS)\bin\cbuilder_PROJECTICON.ico</Icon_MainIcon>
         <DCC_Namespace>System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace)</DCC_Namespace>
         <Multithreaded>true</Multithreaded>
@@ -138,7 +138,7 @@
         <Defines>NDEBUG;$(Defines)</Defines>
     </PropertyGroup>
     <ItemGroup>
-        <CppCompile Include="CGBombShaderC.cpp">
+        <CppCompile Include="CgBombShaderC.cpp">
             <BuildOrder>0</BuildOrder>
         </CppCompile>
         <CppCompile Include="fCgBombShaderC.cpp">
@@ -166,7 +166,7 @@
         <BorlandProject>
             <CPlusPlusBuilder.Personality>
                 <Source>
-                    <Source Name="MainSource">CGBombShaderC.cpp</Source>
+                    <Source Name="MainSource">CgBombShaderC.cpp</Source>
                 </Source>
                 <VersionInfo>
                     <VersionInfo Name="IncludeVerInfo">False</VersionInfo>
@@ -377,15 +377,15 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
-                <DeployFile LocalName=".\Win32\Debug\CGBombShaderC.exe" Configuration="Debug" Class="ProjectOutput">
+                <DeployFile LocalName=".\Win32\Debug\CgBombShaderC.exe" Configuration="Debug" Class="ProjectOutput">
                     <Platform Name="Win32">
-                        <RemoteName>CGBombShaderC.exe</RemoteName>
+                        <RemoteName>CgBombShaderC.exe</RemoteName>
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
-                <DeployFile LocalName=".\Win32\Debug\CGBombShaderC.tds" Configuration="Debug" Class="DebugSymbols">
+                <DeployFile LocalName=".\Win32\Debug\CgBombShaderC.tds" Configuration="Debug" Class="DebugSymbols">
                     <Platform Name="Win32">
-                        <RemoteName>CGBombShaderC.tds</RemoteName>
+                        <RemoteName>CgBombShaderC.tds</RemoteName>
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>

+ 1 - 1
Examples/Demos/cgshaders/BombShader/CgBombShaderD.dproj

@@ -1,6 +1,6 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     <PropertyGroup>
-        <ProjectGuid>{71499B42-5987-4544-AFE5-46E377F21393}</ProjectGuid>
+        <ProjectGuid>{DA98DD99-4191-40C8-9624-05550F4F451F}</ProjectGuid>
         <MainSource>CgBombShaderD.dpr</MainSource>
         <Base>True</Base>
         <Config Condition="'$(Config)'==''">Debug</Config>

+ 15 - 10
Examples/Demos/cgshaders/BombShader/fCgBombShaderC.dfm

@@ -2,22 +2,22 @@ object Form1: TForm1
   Left = 0
   Top = 0
   Caption = 'Cg Bomb Shader'
-  ClientHeight = 420
-  ClientWidth = 565
+  ClientHeight = 507
+  ClientWidth = 835
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
   Font.Height = -11
   Font.Name = 'Tahoma'
   Font.Style = []
-  WindowState = wsMaximized
+  Position = poScreenCenter
   OnCreate = FormCreate
   TextHeight = 13
   object Splitter1: TSplitter
     Left = 209
     Top = 0
     Width = 0
-    Height = 420
+    Height = 507
     Color = clBtnShadow
     ParentColor = False
     ExplicitHeight = 397
@@ -26,11 +26,12 @@ object Form1: TForm1
     Left = 0
     Top = 0
     Width = 209
-    Height = 420
+    Height = 507
     Align = alLeft
     BevelInner = bvRaised
     BevelOuter = bvLowered
     TabOrder = 0
+    ExplicitHeight = 420
     object ComboBox1: TComboBox
       Left = 16
       Top = 344
@@ -232,8 +233,8 @@ object Form1: TForm1
   object Panel9: TPanel
     Left = 209
     Top = 0
-    Width = 356
-    Height = 420
+    Width = 626
+    Height = 507
     Align = alClient
     Font.Charset = ANSI_CHARSET
     Font.Color = clWindowText
@@ -242,17 +243,21 @@ object Form1: TForm1
     Font.Style = [fsBold]
     ParentFont = False
     TabOrder = 1
+    ExplicitWidth = 356
+    ExplicitHeight = 420
     object GLSceneViewer1: TGLSceneViewer
       Left = 1
       Top = 1
-      Width = 354
-      Height = 418
+      Width = 624
+      Height = 505
       Camera = GLCamera1
       Buffer.AntiAliasing = aa4x
-      FieldOfView = 148.451522827148400000
+      FieldOfView = 157.598403930664100000
       PenAsTouch = False
       Align = alClient
       TabOrder = 0
+      ExplicitWidth = 454
+      ExplicitHeight = 426
     end
   end
   object GLScene1: TGLScene

+ 15 - 9
Examples/Demos/cgshaders/BombShader/fCgBombShaderD.dfm

@@ -2,8 +2,8 @@ object FormCgBombShader: TFormCgBombShader
   Left = 387
   Top = 217
   Caption = 'Cg Bomb Shader'
-  ClientHeight = 419
-  ClientWidth = 562
+  ClientHeight = 461
+  ClientWidth = 778
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
@@ -18,19 +18,21 @@ object FormCgBombShader: TFormCgBombShader
     Left = 209
     Top = 0
     Width = 0
-    Height = 419
+    Height = 461
     Color = clBtnShadow
     ParentColor = False
+    ExplicitHeight = 419
   end
   object Panel1: TPanel
     Left = 0
     Top = 0
     Width = 209
-    Height = 419
+    Height = 461
     Align = alLeft
     BevelInner = bvRaised
     BevelOuter = bvLowered
     TabOrder = 0
+    ExplicitHeight = 419
     object ComboBox1: TComboBox
       Left = 16
       Top = 341
@@ -232,8 +234,8 @@ object FormCgBombShader: TFormCgBombShader
   object Panel9: TPanel
     Left = 209
     Top = 0
-    Width = 353
-    Height = 419
+    Width = 569
+    Height = 461
     Align = alClient
     Font.Charset = ANSI_CHARSET
     Font.Color = clWindowText
@@ -242,17 +244,21 @@ object FormCgBombShader: TFormCgBombShader
     Font.Style = [fsBold]
     ParentFont = False
     TabOrder = 1
+    ExplicitWidth = 353
+    ExplicitHeight = 419
     object GLSceneViewer1: TGLSceneViewer
       Left = 1
       Top = 1
-      Width = 351
-      Height = 417
+      Width = 567
+      Height = 459
       Camera = GLCamera1
       Buffer.AntiAliasing = aa4x
-      FieldOfView = 148.195465087890600000
+      FieldOfView = 155.418640136718800000
       PenAsTouch = False
       Align = alClient
       TabOrder = 0
+      ExplicitWidth = 499
+      ExplicitHeight = 439
     end
   end
   object GLScene1: TGLScene

+ 18 - 0
Examples/Demos/cgshaders/BumpMapping/CgBumpMapD.dpr

@@ -0,0 +1,18 @@
+(*
+Bump Mapping
+Author: Antic (edited by Da Stranger)
+Date:  09 June 2006
+*)
+program CgBumpMapD;
+
+uses
+  Forms,
+  fBumpMapD in 'fBumpMapD.pas' {BumpDemo_frm};
+
+{$R *.res}
+
+begin
+  Application.Initialize;
+  Application.CreateForm(TBumpDemo_frm, BumpDemo_frm);
+  Application.Run;
+end.

+ 950 - 0
Examples/Demos/cgshaders/BumpMapping/CgBumpMapD.dproj

@@ -0,0 +1,950 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+    <PropertyGroup>
+        <ProjectGuid>{E04BE963-263A-47FF-8BD3-A17C04451B6A}</ProjectGuid>
+        <MainSource>CgBumpMapD.dpr</MainSource>
+        <Base>True</Base>
+        <Config Condition="'$(Config)'==''">Debug</Config>
+        <TargetedPlatforms>1</TargetedPlatforms>
+        <AppType>Application</AppType>
+        <FrameworkType>VCL</FrameworkType>
+        <ProjectVersion>19.4</ProjectVersion>
+        <Platform Condition="'$(Platform)'==''">Win32</Platform>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''">
+        <Base_Win32>true</Base_Win32>
+        <CfgParent>Base</CfgParent>
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Base)'=='true') or '$(Base_Win64)'!=''">
+        <Base_Win64>true</Base_Win64>
+        <CfgParent>Base</CfgParent>
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
+        <Cfg_1>true</Cfg_1>
+        <CfgParent>Base</CfgParent>
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
+        <Cfg_2>true</Cfg_2>
+        <CfgParent>Base</CfgParent>
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win32)'!=''">
+        <Cfg_2_Win32>true</Cfg_2_Win32>
+        <CfgParent>Cfg_2</CfgParent>
+        <Cfg_2>true</Cfg_2>
+        <Base>true</Base>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Base)'!=''">
+        <DCC_K>false</DCC_K>
+        <SanitizedProjectName>CgBumpMapD</SanitizedProjectName>
+        <DCC_Namespace>Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;$(DCC_Namespace)</DCC_Namespace>
+        <DCC_N>false</DCC_N>
+        <DCC_ImageBase>00400000</DCC_ImageBase>
+        <VerInfo_Locale>1049</VerInfo_Locale>
+        <DCC_S>false</DCC_S>
+        <DCC_F>false</DCC_F>
+        <DCC_E>false</DCC_E>
+        <VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=;CFBundleName=</VerInfo_Keys>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Base_Win32)'!=''">
+        <UWP_DelphiLogo150>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png</UWP_DelphiLogo150>
+        <UWP_DelphiLogo44>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png</UWP_DelphiLogo44>
+        <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
+        <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
+        <DCC_Namespace>System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace>
+        <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
+        <VerInfo_Locale>1033</VerInfo_Locale>
+        <VerInfo_Keys>CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(ModuleName);FileDescription=$(ModuleName);ProductName=$(ModuleName)</VerInfo_Keys>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Base_Win64)'!=''">
+        <UWP_DelphiLogo150>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png</UWP_DelphiLogo150>
+        <UWP_DelphiLogo44>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png</UWP_DelphiLogo44>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Cfg_1)'!=''">
+        <DCC_DebugInformation>0</DCC_DebugInformation>
+        <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
+        <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
+        <DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Cfg_2)'!=''">
+        <DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
+        <DCC_Optimize>false</DCC_Optimize>
+        <DCC_GenerateStackFrames>true</DCC_GenerateStackFrames>
+    </PropertyGroup>
+    <PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
+        <BT_BuildType>Debug</BT_BuildType>
+        <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
+        <VerInfo_Locale>1033</VerInfo_Locale>
+        <VerInfo_Keys>CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName)</VerInfo_Keys>
+        <Icon_MainIcon>$(BDS)\bin\delphi_PROJECTICON.ico</Icon_MainIcon>
+        <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
+    </PropertyGroup>
+    <ItemGroup>
+        <DelphiCompile Include="$(MainSource)">
+            <MainSource>MainSource</MainSource>
+        </DelphiCompile>
+        <DCCReference Include="fBumpMapD.pas">
+            <Form>BumpDemo_frm</Form>
+        </DCCReference>
+        <BuildConfiguration Include="Base">
+            <Key>Base</Key>
+        </BuildConfiguration>
+        <BuildConfiguration Include="Release">
+            <Key>Cfg_1</Key>
+            <CfgParent>Base</CfgParent>
+        </BuildConfiguration>
+        <BuildConfiguration Include="Debug">
+            <Key>Cfg_2</Key>
+            <CfgParent>Base</CfgParent>
+        </BuildConfiguration>
+    </ItemGroup>
+    <ProjectExtensions>
+        <Borland.Personality>Delphi.Personality.12</Borland.Personality>
+        <Borland.ProjectType/>
+        <BorlandProject>
+            <Delphi.Personality>
+                <Source>
+                    <Source Name="MainSource">CgBumpMapD.dpr</Source>
+                </Source>
+                <Excluded_Packages>
+                    <Excluded_Packages Name="C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl\GLScene_SDL_DT.bpl">File C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl\GLScene_SDL_DT.bpl not found</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\bcboffice2k280.bpl">Embarcadero C++Builder Office 2000 Servers Package</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\bcbofficexp280.bpl">Embarcadero C++Builder Office XP Servers Package</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\dcloffice2k280.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\dclofficexp280.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
+                </Excluded_Packages>
+            </Delphi.Personality>
+            <Platforms>
+                <Platform value="Win32">True</Platform>
+                <Platform value="Win64">False</Platform>
+            </Platforms>
+            <Deployment Version="3">
+                <DeployFile LocalName="CgBumpMapD.exe" Configuration="Debug" Class="ProjectOutput">
+                    <Platform Name="Win32">
+                        <RemoteName>CgBumpMapD.exe</RemoteName>
+                        <Overwrite>true</Overwrite>
+                    </Platform>
+                </DeployFile>
+                <DeployClass Name="AdditionalDebugSymbols">
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSX32">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Win32">
+                        <Operation>0</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidClasses">
+                    <Platform Name="Android">
+                        <RemoteDir>classes</RemoteDir>
+                        <Operation>64</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>classes</RemoteDir>
+                        <Operation>64</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidFileProvider">
+                    <Platform Name="Android">
+                        <RemoteDir>res\xml</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\xml</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidGDBServer">
+                    <Platform Name="Android">
+                        <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidLibnativeArmeabiFile">
+                    <Platform Name="Android">
+                        <RemoteDir>library\lib\armeabi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>library\lib\armeabi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidLibnativeArmeabiv7aFile">
+                    <Platform Name="Android64">
+                        <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidLibnativeMipsFile">
+                    <Platform Name="Android">
+                        <RemoteDir>library\lib\mips</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>library\lib\mips</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidServiceOutput">
+                    <Platform Name="Android">
+                        <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>library\lib\arm64-v8a</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidServiceOutput_Android32">
+                    <Platform Name="Android64">
+                        <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidSplashImageDef">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidSplashStyles">
+                    <Platform Name="Android">
+                        <RemoteDir>res\values</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\values</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="AndroidSplashStylesV21">
+                    <Platform Name="Android">
+                        <RemoteDir>res\values-v21</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\values-v21</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_Colors">
+                    <Platform Name="Android">
+                        <RemoteDir>res\values</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\values</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_DefaultAppIcon">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_LauncherIcon144">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-xxhdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-xxhdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_LauncherIcon192">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-xxxhdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-xxxhdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_LauncherIcon36">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-ldpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-ldpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_LauncherIcon48">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-mdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-mdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_LauncherIcon72">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-hdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-hdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_LauncherIcon96">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-xhdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-xhdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_NotificationIcon24">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-mdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-mdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_NotificationIcon36">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-hdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-hdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_NotificationIcon48">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-xhdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-xhdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_NotificationIcon72">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-xxhdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-xxhdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_NotificationIcon96">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-xxxhdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-xxxhdpi</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_SplashImage426">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-small</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-small</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_SplashImage470">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-normal</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-normal</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_SplashImage640">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-large</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-large</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_SplashImage960">
+                    <Platform Name="Android">
+                        <RemoteDir>res\drawable-xlarge</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\drawable-xlarge</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="Android_Strings">
+                    <Platform Name="Android">
+                        <RemoteDir>res\values</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>res\values</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="DebugSymbols">
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSX32">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Win32">
+                        <Operation>0</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="DependencyFramework">
+                    <Platform Name="OSX32">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                        <Extensions>.framework</Extensions>
+                    </Platform>
+                    <Platform Name="OSX64">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                        <Extensions>.framework</Extensions>
+                    </Platform>
+                    <Platform Name="OSXARM64">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                        <Extensions>.framework</Extensions>
+                    </Platform>
+                    <Platform Name="Win32">
+                        <Operation>0</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="DependencyModule">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="OSX32">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="OSX64">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="OSXARM64">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="Win32">
+                        <Operation>0</Operation>
+                        <Extensions>.dll;.bpl</Extensions>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Required="true" Name="DependencyPackage">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="OSX32">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="OSX64">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="OSXARM64">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                        <Extensions>.dylib</Extensions>
+                    </Platform>
+                    <Platform Name="Win32">
+                        <Operation>0</Operation>
+                        <Extensions>.bpl</Extensions>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="File">
+                    <Platform Name="Android">
+                        <Operation>0</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <Operation>0</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice32">
+                        <Operation>0</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>0</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>0</Operation>
+                    </Platform>
+                    <Platform Name="OSX32">
+                        <RemoteDir>Contents\Resources\StartUp\</RemoteDir>
+                        <Operation>0</Operation>
+                    </Platform>
+                    <Platform Name="OSX64">
+                        <RemoteDir>Contents\Resources\StartUp\</RemoteDir>
+                        <Operation>0</Operation>
+                    </Platform>
+                    <Platform Name="OSXARM64">
+                        <RemoteDir>Contents\Resources\StartUp\</RemoteDir>
+                        <Operation>0</Operation>
+                    </Platform>
+                    <Platform Name="Win32">
+                        <Operation>0</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iOS_AppStore1024">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_AppIcon152">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_AppIcon167">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Launch2x">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_LaunchDark2x">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Notification40">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_Setting58">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPad_SpotLight80">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_AppIcon120">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_AppIcon180">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch2x">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Launch3x">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_LaunchDark2x">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_LaunchDark3x">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Notification40">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Notification60">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Setting58">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Setting87">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Spotlight120">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="iPhone_Spotlight80">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectAndroidManifest">
+                    <Platform Name="Android">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectiOSDeviceDebug">
+                    <Platform Name="iOSDevice32">
+                        <RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectiOSEntitlements">
+                    <Platform Name="iOSDevice32">
+                        <RemoteDir>..\</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectiOSInfoPList">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectiOSLaunchScreen">
+                    <Platform Name="iOSDevice64">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen</RemoteDir>
+                        <Operation>64</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <RemoteDir>..\$(PROJECTNAME).launchscreen</RemoteDir>
+                        <Operation>64</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectiOSResource">
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectOSXDebug">
+                    <Platform Name="OSX64">
+                        <RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSXARM64">
+                        <RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectOSXEntitlements">
+                    <Platform Name="OSX32">
+                        <RemoteDir>..\</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSX64">
+                        <RemoteDir>..\</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSXARM64">
+                        <RemoteDir>..\</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectOSXInfoPList">
+                    <Platform Name="OSX32">
+                        <RemoteDir>Contents</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSX64">
+                        <RemoteDir>Contents</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSXARM64">
+                        <RemoteDir>Contents</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectOSXResource">
+                    <Platform Name="OSX32">
+                        <RemoteDir>Contents\Resources</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSX64">
+                        <RemoteDir>Contents\Resources</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSXARM64">
+                        <RemoteDir>Contents\Resources</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Required="true" Name="ProjectOutput">
+                    <Platform Name="Android">
+                        <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Android64">
+                        <RemoteDir>library\lib\arm64-v8a</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSDevice64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="iOSSimulator">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Linux64">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSX32">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSX64">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="OSXARM64">
+                        <RemoteDir>Contents\MacOS</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Win32">
+                        <Operation>0</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectOutput_Android32">
+                    <Platform Name="Android64">
+                        <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="ProjectUWPManifest">
+                    <Platform Name="Win32">
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Win64">
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="UWP_DelphiLogo150">
+                    <Platform Name="Win32">
+                        <RemoteDir>Assets</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Win64">
+                        <RemoteDir>Assets</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <DeployClass Name="UWP_DelphiLogo44">
+                    <Platform Name="Win32">
+                        <RemoteDir>Assets</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                    <Platform Name="Win64">
+                        <RemoteDir>Assets</RemoteDir>
+                        <Operation>1</Operation>
+                    </Platform>
+                </DeployClass>
+                <ProjectRoot Platform="Android" Name="$(PROJECTNAME)"/>
+                <ProjectRoot Platform="Android64" Name="$(PROJECTNAME)"/>
+                <ProjectRoot Platform="iOSDevice32" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="iOSDevice64" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="iOSSimulator" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="Linux64" Name="$(PROJECTNAME)"/>
+                <ProjectRoot Platform="OSX32" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="OSX64" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="OSXARM64" Name="$(PROJECTNAME).app"/>
+                <ProjectRoot Platform="Win32" Name="$(PROJECTNAME)"/>
+                <ProjectRoot Platform="Win64" Name="$(PROJECTNAME)"/>
+            </Deployment>
+        </BorlandProject>
+        <ProjectFileVersion>12</ProjectFileVersion>
+    </ProjectExtensions>
+    <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
+    <Import Project="$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj" Condition="Exists('$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj')"/>
+    <Import Project="$(MSBuildProjectName).deployproj" Condition="Exists('$(MSBuildProjectName).deployproj')"/>
+</Project>

+ 185 - 0
Examples/Demos/cgshaders/BumpMapping/fBumpMapD.dfm

@@ -0,0 +1,185 @@
+object BumpDemo_frm: TBumpDemo_frm
+  Left = 167
+  Top = 182
+  Caption = 'Cg BumpMapping'
+  ClientHeight = 638
+  ClientWidth = 1019
+  Color = clBtnFace
+  Font.Charset = DEFAULT_CHARSET
+  Font.Color = clWindowText
+  Font.Height = -11
+  Font.Name = 'MS Sans Serif'
+  Font.Style = []
+  Position = poScreenCenter
+  OnCreate = FormCreate
+  TextHeight = 13
+  object SceneViewer: TGLSceneViewer
+    Left = 289
+    Top = 0
+    Width = 730
+    Height = 638
+    Camera = Camera
+    Buffer.BackgroundColor = clSkyBlue
+    Buffer.AmbientColor.Color = {00000000000000000000000000000000}
+    Buffer.AntiAliasing = aaNone
+    FieldOfView = 145.189712524414100000
+    PenAsTouch = False
+    Align = alClient
+    TabOrder = 0
+  end
+  object Shaders_ctrl: TPageControl
+    Left = 0
+    Top = 0
+    Width = 289
+    Height = 638
+    ActivePage = ts_Vertex_Program
+    Align = alLeft
+    TabOrder = 1
+    object ts_Fragment_Program: TTabSheet
+      Caption = 'Pixel Shader'
+      object FP_Memo: TMemo
+        Left = 0
+        Top = 24
+        Width = 273
+        Height = 433
+        Lines.Strings = (
+          '')
+        ScrollBars = ssBoth
+        TabOrder = 0
+        OnChange = FP_MemoChange
+      end
+      object FP_btn: TButton
+        Left = 200
+        Top = 464
+        Width = 75
+        Height = 25
+        Caption = 'Apply'
+        TabOrder = 1
+        OnClick = FP_btnClick
+      end
+      object FP_cb: TCheckBox
+        Left = 0
+        Top = 0
+        Width = 97
+        Height = 17
+        Caption = 'Enabled'
+        TabOrder = 2
+        OnClick = FP_cbClick
+      end
+    end
+    object ts_Vertex_Program: TTabSheet
+      Caption = 'Vertex Shader'
+      ImageIndex = 1
+      object VP_Memo: TMemo
+        Left = 0
+        Top = 24
+        Width = 273
+        Height = 433
+        ScrollBars = ssBoth
+        TabOrder = 0
+        OnChange = VP_MemoChange
+      end
+      object VP_btn: TButton
+        Left = 200
+        Top = 464
+        Width = 75
+        Height = 25
+        Caption = 'Apply'
+        TabOrder = 1
+        OnClick = VP_btnClick
+      end
+      object VP_cb: TCheckBox
+        Left = 0
+        Top = 0
+        Width = 97
+        Height = 17
+        Caption = 'Enabled'
+        TabOrder = 2
+        OnClick = VP_cbClick
+      end
+    end
+  end
+  object Scene: TGLScene
+    VisibilityCulling = vcObjectBased
+    Left = 360
+    Top = 16
+    object LightSource: TGLLightSource
+      Ambient.Color = {0000803F0000803F0000803F0000803F}
+      ConstAttenuation = 1.000000000000000000
+      Position.Coordinates = {000000C00000803F000000400000803F}
+      LightStyle = lsOmni
+      SpotCutOff = 180.000000000000000000
+      object Light_Sphere: TGLSphere
+        Material.FrontProperties.Ambient.Color = {0000803F0000803F0000803F0000803F}
+        Material.FrontProperties.Diffuse.Color = {0000803F0000803F0000803F0000803F}
+        Material.FrontProperties.Emission.Color = {0000803F0000803F0000803F0000803F}
+        Material.FrontProperties.Specular.Color = {0000803F0000803F0000803F0000803F}
+        Radius = 0.100000001490116100
+      end
+    end
+    object Dummy: TGLDummyCube
+      CubeSize = 1.000000000000000000
+    end
+    object Cube_2: TGLCube
+      Position.Coordinates = {0000803F00000000000000000000803F}
+      CubeSize = {6666A63F6666A63F6666A63F}
+    end
+    object GLSphere1: TGLSphere
+      Position.Coordinates = {000080BF00000000000000000000803F}
+      Radius = 1.000000000000000000
+      Slices = 64
+    end
+    object Camera: TGLCamera
+      DepthOfView = 100.000000000000000000
+      FocalLength = 100.000000000000000000
+      TargetObject = Dummy
+      Position.Coordinates = {00000000000000000000A0400000803F}
+    end
+  end
+  object Cadencer: TGLCadencer
+    Scene = Scene
+    OnProgress = CadencerProgress
+    Left = 440
+    Top = 16
+  end
+  object CgShader: TCgShader
+    VertexProgram.OnApply = CgShaderApplyVP
+    FragmentProgram.OnApply = CgShaderApplyFP
+    OnApplyVP = CgShaderApplyVP
+    OnApplyFP = CgShaderApplyFP
+    Left = 360
+    Top = 72
+  end
+  object MaterialLibrary: TGLMaterialLibrary
+    Left = 512
+    Top = 16
+  end
+  object Timer: TGLAsyncTimer
+    Enabled = True
+    Interval = 500
+    OnTimer = TimerTimer
+    ThreadPriority = tpNormal
+    Left = 440
+    Top = 72
+  end
+  object GLSimpleNavigation1: TGLSimpleNavigation
+    Form = Owner
+    GLSceneViewer = SceneViewer
+    FormCaption = 'Cg BumpMapping - %FPS'
+    KeyCombinations = <
+      item
+        ShiftState = [ssLeft, ssRight]
+        Action = snaZoom
+      end
+      item
+        ShiftState = [ssLeft]
+        Action = snaMoveAroundTarget
+      end
+      item
+        ShiftState = [ssRight]
+        Action = snaMoveAroundTarget
+      end>
+    Left = 688
+    Top = 120
+  end
+end

+ 192 - 0
Examples/Demos/cgshaders/BumpMapping/fBumpMapD.pas

@@ -0,0 +1,192 @@
+unit fBumpMapD;
+
+interface
+
+uses
+  Winapi.Windows,
+  Winapi.Messages,
+  System.SysUtils,
+  System.Variants,
+  System.Classes,
+  Vcl.Graphics,
+  Vcl.Controls,
+  Vcl.Forms,
+  Vcl.Dialogs,
+  Vcl.StdCtrls,
+  Vcl.ComCtrls,
+  Vcl.Imaging.Jpeg,
+
+  //GLScene
+  GLS.VectorTypes,
+  GLS.SceneViewer,
+  GLS.Cadencer,
+  GLS.Scene,
+  Cg.GL,
+  GLS.Texture,
+  CG.Shader,
+  GLS.Objects,
+  GLS.AsyncTimer,
+  GLS.Material,
+  GLS.Coordinates,
+  GLS.BaseClasses,
+  GLS.TextureFormat,
+  GLS.Utils, GLS.SimpleNavigation;
+
+type
+  TBumpDemo_frm = class(TForm)
+    Scene: TGLScene;
+    Cadencer: TGLCadencer;
+    SceneViewer: TGLSceneViewer;
+    Shaders_ctrl: TPageControl;
+    ts_Fragment_Program: TTabSheet;
+    ts_Vertex_Program: TTabSheet;
+    FP_Memo: TMemo;
+    VP_Memo: TMemo;
+    VP_btn: TButton;
+    FP_btn: TButton;
+    FP_cb: TCheckBox;
+    VP_cb: TCheckBox;
+    CgShader: TCgShader;
+    MaterialLibrary: TGLMaterialLibrary;
+    Camera: TGLCamera;
+    LightSource: TGLLightSource;
+    Light_Sphere: TGLSphere;
+    Dummy: TGLDummyCube;
+    Cube_2: TGLCube;
+    Timer: TGLAsyncTimer;
+    GLSphere1: TGLSphere;
+    GLSimpleNavigation1: TGLSimpleNavigation;
+    procedure VP_cbClick(Sender: TObject);
+    procedure FP_cbClick(Sender: TObject);
+    procedure FP_btnClick(Sender: TObject);
+    procedure VP_btnClick(Sender: TObject);
+    procedure FormCreate(Sender: TObject);
+    procedure VP_MemoChange(Sender: TObject);
+    procedure FP_MemoChange(Sender: TObject);
+    procedure SceneViewerMouseMove(Sender: TObject; Shift: TShiftState; X,
+      Y: Integer);
+    procedure CadencerProgress(Sender: TObject; const deltaTime,
+      newTime: Double);
+    procedure CgShaderApplyFP(CgProgram: TCgProgram; Sender: TObject);
+    procedure CgShaderApplyVP(CgProgram: TCgProgram; Sender: TObject);
+    procedure TimerTimer(Sender: TObject);
+  private
+     
+  public
+    OldX, OldY: Integer;
+     
+  end;
+
+var
+  BumpDemo_frm: TBumpDemo_frm;
+
+implementation
+
+{$R *.dfm}
+
+procedure TBumpDemo_frm.VP_cbClick(Sender: TObject);
+begin
+  CgShader.VertexProgram.Enabled := VP_cb.Checked;
+  if CgShader.VertexProgram.Enabled = True then VP_btn.Click;
+end;
+
+procedure TBumpDemo_frm.FP_cbClick(Sender: TObject);
+begin
+  CgShader.FragmentProgram.Enabled := FP_cb.Checked;
+  if CgShader.FragmentProgram.Enabled = True then FP_btn.Click;
+end;
+
+procedure TBumpDemo_frm.FP_btnClick(Sender: TObject);
+begin
+  CgShader.FragmentProgram.Code := FP_Memo.Lines;
+  FP_btn.Enabled := False;
+end;
+
+procedure TBumpDemo_frm.VP_btnClick(Sender: TObject);
+begin
+  CgShader.VertexProgram.Code := VP_Memo.Lines;
+  VP_btn.Enabled := False;
+end;
+
+procedure TBumpDemo_frm.FormCreate(Sender: TObject);
+begin
+  var Path: TFileName := GetCurrentAssetPath();
+  SetCurrentDir(Path + '\shader');
+  FP_Memo.Lines.LoadFromFile('BumpMapping_fp.cg');
+  VP_Memo.Lines.LoadFromFile('BumpMapping_vp.cg');
+  with MaterialLibrary do
+    begin
+      SetCurrentDir(Path + '\map');
+      AddTextureMaterial('c_tex','earth.jpg');
+
+      SetCurrentDir(Path + '\texture');
+      AddTextureMaterial('c_normal','earthnormals.jpg');
+      AddTextureMaterial('c2_tex','walkway.jpg');
+      AddTextureMaterial('c2_normal','walkwaynorm.jpg');
+      Materials[0].Material.Texture.FilteringQuality := tfAnisotropic;
+      Materials[1].Material.Texture.FilteringQuality := tfAnisotropic;
+      Materials[2].Material.Texture.FilteringQuality := tfAnisotropic;
+      Materials[3].Material.Texture.FilteringQuality := tfAnisotropic;
+      Materials[0].Texture2Name := 'c_normal';
+      Materials[0].Shader := CgShader;
+      Materials[2].Texture2Name := 'c2_normal';
+      Materials[2].Shader := CgShader;
+      Materials[1].Material.Texture.TextureFormat := tfNormalMap;
+      Materials[3].Material.Texture.TextureFormat := tfNormalMap;
+      Materials[1].Material.Texture.NormalMapScale := 0.005;
+      Materials[3].Material.Texture.NormalMapScale := 0.005;
+    end;
+  Cube_2.Material.MaterialLibrary := MaterialLibrary;
+  GLSphere1.Material.MaterialLibrary := MaterialLibrary;
+  GLSphere1.Material.LibMaterialName := 'c_tex';
+  Cube_2.Material.LibMaterialName := 'c2_tex';
+end;
+
+procedure TBumpDemo_frm.VP_MemoChange(Sender: TObject);
+begin
+  VP_btn.Enabled := True;
+end;
+
+procedure TBumpDemo_frm.FP_MemoChange(Sender: TObject);
+begin
+  FP_btn.Enabled := True;
+end;
+
+procedure TBumpDemo_frm.SceneViewerMouseMove(Sender: TObject;
+  Shift: TShiftState; X, Y: Integer);
+begin
+  if ssLeft in Shift then Camera.MoveAroundTarget(OldY - y, oldX - x);
+  OldX := x;
+  Oldy := y;
+end;
+
+procedure TBumpDemo_frm.CadencerProgress(Sender: TObject; const deltaTime,
+  newTime: Double);
+begin
+  LightSource.MoveObjectAround(Dummy, 0, deltatime * 20);
+  SceneViewer.Invalidate;
+end;
+
+procedure TBumpDemo_frm.CgShaderApplyFP(CgProgram: TCgProgram;
+  Sender: TObject);
+begin
+  CgProgram.ParamByName('tex1').SetAsTexture2D(0);
+  CgProgram.ParamByName('tex2').SetAsTexture2D(1);
+  CgProgram.ParamByName('lightcolor').SetAsVector(LightSource.Diffuse.Color);
+end;
+
+procedure TBumpDemo_frm.CgShaderApplyVP(CgProgram: TCgProgram;
+  Sender: TObject);
+begin
+  CgProgram.ParamByName('lightpos').SetAsVector(LightSource.Position.AsAffineVector);
+  CgProgram.ParamByName('ModelViewProj').SetAsStateMatrix(CG_GL_MODELVIEW_PROJECTION_MATRIX, CG_GL_MATRIX_IDENTITY);
+end;
+
+procedure TBumpDemo_frm.TimerTimer(Sender: TObject);
+begin
+  BumpDemo_frm.Caption := 'Cg BumpMapping FPS - '+SceneViewer.FramesPerSecondText(2);
+  SceneViewer.ResetPerformanceMonitor;
+
+end;
+
+end.

+ 0 - 0
Examples/Demos/cgshaders/Cg_Sky.jpg → Examples/Demos/cgshaders/CgCloudSky.jpg


+ 0 - 0
Examples/Demos/cgshaders/DistortionTexture.jpg → Examples/Demos/cgshaders/CgDistortion.jpg


+ 0 - 0
Examples/Demos/cgshaders/Cg_Reflect.jpg → Examples/Demos/cgshaders/CgReflect.jpg


+ 2 - 2
Examples/Demos/cgshaders/SkyClouds/CgSkyClouds.dpr → Examples/Demos/cgshaders/CloudSky/CgCloudSkyD.dpr

@@ -5,11 +5,11 @@ n - night
 c - clear weather
 s - cloudy weather
 *)
-program CgSkyClouds;
+program CgCloudSkyD;
 
 uses
   Forms,
-  fSkyClouds in 'fSkyClouds.pas';
+  fCloudSkyD in 'fCloudSkyD.pas' {MainForm};
 
 {$R *.res}
 

+ 6 - 6
Examples/Demos/cgshaders/SkyClouds/CgSkyClouds.dproj → Examples/Demos/cgshaders/CloudSky/CgCloudSkyD.dproj

@@ -1,7 +1,7 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     <PropertyGroup>
         <ProjectGuid>{EA7F30EE-DB23-4B90-A0DB-670BEB006B55}</ProjectGuid>
-        <MainSource>CgSkyClouds.dpr</MainSource>
+        <MainSource>CgCloudSkyD.dpr</MainSource>
         <Base>True</Base>
         <Config Condition="'$(Config)'==''">Debug</Config>
         <TargetedPlatforms>1</TargetedPlatforms>
@@ -52,7 +52,7 @@
         <Base>true</Base>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Base)'!=''">
-        <SanitizedProjectName>CgSkyClouds</SanitizedProjectName>
+        <SanitizedProjectName>CgCloudSkyD</SanitizedProjectName>
         <DCC_E>false</DCC_E>
         <DCC_S>false</DCC_S>
         <DCC_ImageBase>00400000</DCC_ImageBase>
@@ -113,7 +113,7 @@
         <DelphiCompile Include="$(MainSource)">
             <MainSource>MainSource</MainSource>
         </DelphiCompile>
-        <DCCReference Include="fSkyClouds.pas">
+        <DCCReference Include="fCloudSkyD.pas">
             <Form>MainForm</Form>
         </DCCReference>
         <BuildConfiguration Include="Base">
@@ -134,7 +134,7 @@
         <BorlandProject>
             <Delphi.Personality>
                 <Source>
-                    <Source Name="MainSource">CgSkyClouds.dpr</Source>
+                    <Source Name="MainSource">CgCloudSkyD.dpr</Source>
                 </Source>
                 <VersionInfo>
                     <VersionInfo Name="IncludeVerInfo">False</VersionInfo>
@@ -176,9 +176,9 @@
                 <Platform value="Win64">False</Platform>
             </Platforms>
             <Deployment Version="3">
-                <DeployFile LocalName="CgSkyClouds.exe" Configuration="Debug" Class="ProjectOutput">
+                <DeployFile LocalName="CgCloudSkyD.exe" Configuration="Debug" Class="ProjectOutput">
                     <Platform Name="Win32">
-                        <RemoteName>CgSkyClouds.exe</RemoteName>
+                        <RemoteName>CgCloudSkyD.exe</RemoteName>
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>

+ 201 - 0
Examples/Demos/cgshaders/CloudSky/fCloudSkyD.dfm

@@ -0,0 +1,201 @@
+object MainForm: TMainForm
+  Left = 436
+  Top = 247
+  Caption = 'Sky Clouds'
+  ClientHeight = 515
+  ClientWidth = 792
+  Color = clBtnFace
+  Font.Charset = DEFAULT_CHARSET
+  Font.Color = clWindowText
+  Font.Height = -10
+  Font.Name = 'MS Sans Serif'
+  Font.Style = []
+  Position = poScreenCenter
+  OnCreate = FormCreate
+  TextHeight = 13
+  object GLSV: TGLSceneViewer
+    Left = 105
+    Top = 0
+    Width = 687
+    Height = 515
+    Camera = cam
+    FieldOfView = 141.469467163085900000
+    PenAsTouch = False
+    Align = alClient
+    OnMouseDown = GLSVMouseDown
+    TabOrder = 0
+  end
+  object Panel1: TPanel
+    Left = 0
+    Top = 0
+    Width = 105
+    Height = 515
+    Align = alLeft
+    Alignment = taRightJustify
+    TabOrder = 1
+    object Label1: TLabel
+      Left = 3
+      Top = 105
+      Width = 45
+      Height = 13
+      Caption = 'N = Night'
+    end
+    object Label2: TLabel
+      Left = 3
+      Top = 48
+      Width = 39
+      Height = 13
+      Caption = 'D = Day'
+    end
+    object Label3: TLabel
+      Left = 2
+      Top = 67
+      Width = 66
+      Height = 13
+      Caption = 'C = Weather1'
+    end
+    object Label4: TLabel
+      Left = 2
+      Top = 86
+      Width = 66
+      Height = 13
+      Caption = 'S = Weather2'
+    end
+    object Label5: TLabel
+      Left = 16
+      Top = 8
+      Width = 26
+      Height = 13
+      Caption = 'Keys:'
+    end
+    object PanelFPS: TPanel
+      Left = 3
+      Top = 136
+      Width = 96
+      Height = 41
+      Caption = 'FPS'
+      TabOrder = 0
+    end
+  end
+  object GLScene: TGLScene
+    Left = 120
+    Top = 20
+    object SbBackground: TGLSkyBox
+      CloudsPlaneOffset = 0.200000002980232200
+      CloudsPlaneSize = 32.000000000000000000
+      object Moons: TGLDummyCube
+        Position.Coordinates = {0000A0C1000020410000A0C10000803F}
+        CubeSize = 1.000000000000000000
+        object sprMasser: TGLSprite
+          Width = 10.000000000000000000
+          Height = 10.000000000000000000
+          Rotation = 0.000000000000000000
+        end
+        object sprSecunda: TGLSprite
+          Position.Coordinates = {00000000000000000000A0400000803F}
+          Width = 5.000000000000000000
+          Height = 5.000000000000000000
+          Rotation = 0.000000000000000000
+        end
+      end
+      object sprSun: TGLSprite
+        Position.Coordinates = {000040C000004040000020C10000803F}
+        Width = 5.000000000000000000
+        Height = 5.000000000000000000
+        Rotation = 0.000000000000000000
+      end
+    end
+    object SbClouds: TGLSkyBox
+      Position.Coordinates = {0000A0C1000020410000A0C10000803F}
+      CloudsPlaneOffset = 0.200000002980232200
+      CloudsPlaneSize = 32.000000000000000000
+    end
+    object dc_cam: TGLDummyCube
+      CubeSize = 1.000000000000000000
+      object cam: TGLCamera
+        DepthOfView = 500.000000000000000000
+        FocalLength = 90.000000000000000000
+        TargetObject = dc_cam
+        Position.Coordinates = {0000204100000000000020410000803F}
+      end
+    end
+  end
+  object Cadencer: TGLCadencer
+    Scene = GLScene
+    OnProgress = CadencerProgress
+    Left = 196
+    Top = 20
+  end
+  object Timer: TGLAsyncTimer
+    OnTimer = TimerTimer
+    ThreadPriority = tpNormal
+    Left = 120
+    Top = 108
+  end
+  object MatLib: TGLMaterialLibrary
+    Left = 196
+    Top = 108
+  end
+  object CgBackground: TCgShader
+    FragmentProgram.OnApply = CgBackgroundApplyFP
+    FragmentProgram.OnUnApply = CgBackgroundUnApplyFP
+    OnApplyFP = CgBackgroundApplyFP
+    OnUnApplyFP = CgBackgroundUnApplyFP
+    Left = 154
+    Top = 244
+  end
+  object CgClouds: TCgShader
+    VertexProgram.OnApply = CgCloudsApplyVP
+    FragmentProgram.OnApply = CgCloudsApplyFP
+    FragmentProgram.OnUnApply = CgCloudsUnApplyFP
+    OnApplyVP = CgCloudsApplyVP
+    OnApplyFP = CgCloudsApplyFP
+    OnUnApplyFP = CgCloudsUnApplyFP
+    Left = 258
+    Top = 244
+  end
+  object CgMasser: TCgShader
+    FragmentProgram.OnApply = CgMasserApplyFP
+    FragmentProgram.OnUnApply = CgMasserUnApplyFP
+    OnApplyFP = CgMasserApplyFP
+    OnUnApplyFP = CgMasserUnApplyFP
+    Left = 354
+    Top = 244
+  end
+  object CgSecunda: TCgShader
+    FragmentProgram.OnApply = CgSecundaApplyFP
+    FragmentProgram.OnUnApply = CgSecundaUnApplyFP
+    OnApplyFP = CgSecundaApplyFP
+    OnUnApplyFP = CgSecundaUnApplyFP
+    Left = 458
+    Top = 244
+  end
+  object CgSun: TCgShader
+    FragmentProgram.OnApply = CgSunApplyFP
+    FragmentProgram.OnUnApply = CgSunUnApplyFP
+    OnApplyFP = CgSunApplyFP
+    OnUnApplyFP = CgSunUnApplyFP
+    Left = 554
+    Top = 244
+  end
+  object GLSimpleNavigation1: TGLSimpleNavigation
+    Form = Owner
+    GLSceneViewer = GLSV
+    FormCaption = 'Sky Clouds - %FPS'
+    KeyCombinations = <
+      item
+        ShiftState = [ssLeft, ssRight]
+        Action = snaZoom
+      end
+      item
+        ShiftState = [ssLeft]
+        Action = snaMoveAroundTarget
+      end
+      item
+        ShiftState = [ssRight]
+        Action = snaMoveAroundTarget
+      end>
+    Left = 136
+    Top = 224
+  end
+end

+ 463 - 0
Examples/Demos/cgshaders/CloudSky/fCloudSkyD.pas

@@ -0,0 +1,463 @@
+unit fCloudSkyD;
+
+interface
+
+uses
+  Winapi.Windows,
+  Winapi.Messages,
+  System.SysUtils,
+  System.Variants,
+  System.Classes,
+  System.Math,
+  Vcl.Graphics,
+  Vcl.Controls,
+  Vcl.Forms,
+  Vcl.Dialogs,
+  Vcl.StdCtrls,
+  Vcl.ExtCtrls,
+
+  GLS.Scene,
+  GLS.Objects,
+  GLS.SceneViewer,
+  GLS.AsyncTimer,
+  GLS.Cadencer,
+  GLS.VectorGeometry,
+  GLS.SkyDome,
+  GLS.Texture,
+  CG.Shader,
+  GLS.FileTGA,
+  GLS.Keyboard,
+  GLS.Material,
+  GLS.Coordinates,
+  GLS.BaseClasses,
+  GLS.Utils,
+
+  GLS.SimpleNavigation;
+
+type
+
+  TMainForm = class(TForm)
+    GLScene: TGLScene;
+    GLSV: TGLSceneViewer;
+    dc_cam: TGLDummyCube;
+    cam: TGLCamera;
+    Cadencer: TGLCadencer;
+    Timer: TGLAsyncTimer;
+    SbBackground: TGLSkyBox;
+    MatLib: TGLMaterialLibrary;
+    CgBackground: TCgShader;
+    CgClouds: TCgShader;
+    SbClouds: TGLSkyBox;
+    Moons: TGLDummyCube;
+    sprSecunda: TGLSprite;
+    sprMasser: TGLSprite;
+    CgMasser: TCgShader;
+    CgSecunda: TCgShader;
+    CgSun: TCgShader;
+    sprSun: TGLSprite;
+    Panel1: TPanel;
+    Label1: TLabel;
+    Label2: TLabel;
+    Label3: TLabel;
+    Label4: TLabel;
+    Label5: TLabel;
+    GLSimpleNavigation1: TGLSimpleNavigation;
+    PanelFPS: TPanel;
+    procedure CgCloudsApplyVP(CgProgram: TCgProgram; Sender: TObject);
+    procedure CgSunUnApplyFP(CgProgram: TCgProgram);
+    procedure CgSunApplyFP(CgProgram: TCgProgram; Sender: TObject);
+    procedure CgSecundaUnApplyFP(CgProgram: TCgProgram);
+    procedure CgSecundaApplyFP(CgProgram: TCgProgram; Sender: TObject);
+    procedure CgMasserUnApplyFP(CgProgram: TCgProgram);
+    procedure CgMasserApplyFP(CgProgram: TCgProgram; Sender: TObject);
+    procedure CgCloudsUnApplyFP(CgProgram: TCgProgram);
+    procedure CgCloudsApplyFP(CgProgram: TCgProgram; Sender: TObject);
+    procedure CgBackgroundUnApplyFP(CgProgram: TCgProgram);
+    procedure CgBackgroundApplyFP(CgProgram: TCgProgram; Sender: TObject);
+    procedure CadencerProgress(Sender: TObject;
+      const deltaTime, newTime: Double);
+    procedure FormCreate(Sender: TObject);
+    procedure GLSVMouseDown(Sender: TObject; Button: TMouseButton;
+      Shift: TShiftState; X, Y: Integer);
+    procedure GLSVMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
+    procedure FormMouseWheel(Sender: TObject; Shift: TShiftState;
+      WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
+    procedure TimerTimer(Sender: TObject);
+  private
+    mx, my: Integer;
+    bg_w1, bg_w2, c_w1, c_w2, m_w, a_w: single;
+    DayMode, WeatherMode: byte;
+    procedure HandleKeys;
+    procedure AssignMaterials;
+    procedure CreateMaterials;
+  public
+  end;
+
+var
+  MainForm: TMainForm;
+  dirSelf, dirTextures, dirShaders: TFileName;
+
+const
+  Coeff = 0.1;
+
+// ---------------------------------------------------------
+implementation
+
+{$R *.dfm}
+
+// ---------------------------FormCreate--------------------
+procedure TMainForm.FormCreate(Sender: TObject);
+begin
+  // GetDir(0, dirSelf);
+  dirSelf := GetCurrentAssetPath();  // current assets
+  dirTextures := dirSelf + '\texture\';
+  dirShaders := dirSelf + '\shader\';
+
+  CreateMaterials;
+  AssignMaterials;
+  bg_w1 := 1;
+  bg_w2 := 0;
+  c_w1 := 1;
+  c_w2 := 0;
+  m_w := 0; // moons
+  a_w := 0; // ambient
+
+  WeatherMode := 0;
+  ClientWidth := 1024;
+  ClientHeight := 712;
+  Position := poScreenCenter;
+  GLSV.Align := alClient;
+  Timer.Enabled := True;
+end;
+
+// ---------------------------CreateMaterials---------------
+procedure TMainForm.CreateMaterials;
+begin
+  CgBackground.FragmentProgram.LoadFromFile
+    (dirShaders + 'fragment_bkground.cg');
+  CgClouds.FragmentProgram.LoadFromFile(dirShaders + 'fragment_clouds.cg');
+  CgMasser.FragmentProgram.LoadFromFile(dirShaders + 'fragment_moon.cg');
+  CgSecunda.FragmentProgram.LoadFromFile(dirShaders + 'fragment_moon.cg');
+  CgSun.FragmentProgram.LoadFromFile(dirShaders + 'fragment_moon.cg');
+
+  // day background
+  MatLib.AddTextureMaterial('day', dirTextures + 'tx_day.tga');
+
+  // night background
+  MatLib.AddTextureMaterial('night', dirTextures + 'tx_night.tga');
+
+  // main skybox material
+  with MatLib.Materials.Add do
+  begin
+    Name := 'background';
+    Shader := CgBackground;
+  end;
+
+  // clouds
+  MatLib.AddTextureMaterial('clouds_clear', dirTextures + 'tx_sky_clear.tga');
+  MatLib.AddTextureMaterial('clouds_cloudy', dirTextures + 'tx_sky_cloudy.tga');
+
+  // main clouds material
+  with MatLib.Materials.Add do
+  begin
+    Name := 'clouds';
+    Material.BlendingMode := bmTransparency;
+    Shader := CgClouds;
+  end;
+
+  // moons
+  MatLib.AddTextureMaterial('masser', dirTextures + 'tx_masser_three_wan.tga');
+  MatLib.AddTextureMaterial('secunda',
+    dirTextures + 'tx_secunda_three_wan.tga');
+  MatLib.AddTextureMaterial('sun', dirTextures + 'tx_sun.tga');
+
+  with MatLib.Materials.Add do
+  begin
+    Name := 'moon_masser';
+    Material.BlendingMode := bmTransparency;
+    Shader := CgMasser;
+  end;
+
+  with MatLib.Materials.Add do
+  begin
+    Name := 'moon_secunda';
+    Material.BlendingMode := bmTransparency;
+    Shader := CgSecunda;
+  end;
+
+  with MatLib.Materials.Add do
+  begin
+    Name := 'moon_sun';
+    Material.BlendingMode := bmTransparency;
+    Shader := CgSun;
+  end;
+end;
+
+// ---------------------------AssignMaterials---------------
+procedure TMainForm.AssignMaterials;
+begin
+  with SbBackground do
+  begin
+    MaterialLibrary := MatLib;
+    MatNameTop := 'background';
+    MatNameRight := 'background';
+    MatNameFront := 'background';
+    MatNameLeft := 'background';
+    MatNameBack := 'background';
+    MatNameBottom := 'background';
+  end;
+
+  with SbClouds do
+  begin
+    MaterialLibrary := MatLib;
+    MatNameClouds := 'clouds';
+  end;
+
+  with sprMasser.Material do
+  begin
+    MaterialLibrary := MatLib;
+    LibMaterialName := 'moon_masser';
+  end;
+
+  with sprSecunda.Material do
+  begin
+    MaterialLibrary := MatLib;
+    LibMaterialName := 'moon_secunda';
+  end;
+
+  with sprSun.Material do
+  begin
+    MaterialLibrary := MatLib;
+    LibMaterialName := 'moon_sun';
+  end;
+end;
+
+// ---------------------------GLSVMouseDown-----------------
+procedure TMainForm.GLSVMouseDown(Sender: TObject; Button: TMouseButton;
+  Shift: TShiftState; X, Y: Integer);
+begin
+  mx := X;
+  my := Y;
+end;
+
+// ---------------------------GLSVMouseMove-----------------
+procedure TMainForm.GLSVMouseMove(Sender: TObject; Shift: TShiftState;
+  X, Y: Integer);
+begin
+  if Shift = [ssRight] then
+    cam.MoveAroundTarget(my - Y, mx - X);
+  mx := X;
+  my := Y;
+end;
+
+// ---------------------------FormMouseWheel----------------
+procedure TMainForm.FormMouseWheel(Sender: TObject; Shift: TShiftState;
+  WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
+begin
+  cam.AdjustDistanceToTarget(Power(1.1, WheelDelta / 100));
+end;
+
+// ---------------------------TimerTimer--------------------
+procedure TMainForm.TimerTimer(Sender: TObject);
+begin
+  PanelFPS.Caption := GLSV.FramesPerSecondText(2);
+  GLSV.ResetPerformanceMonitor;
+end;
+
+// ---------------------------CadencerProgress--------------
+procedure TMainForm.CadencerProgress(Sender: TObject;
+  const deltaTime, newTime: Double);
+begin
+  HandleKeys;
+  case DayMode of
+    1: // day
+      begin
+        bg_w1 := bg_w1 + deltaTime * Coeff;
+        if bg_w1 > 1 then
+          bg_w1 := 1;
+        bg_w2 := bg_w2 - deltaTime * Coeff;
+        if bg_w2 < 0 then
+          bg_w2 := 0;
+        m_w := m_w - deltaTime * Coeff;
+        if m_w < 0 then
+          m_w := 0;
+      end;
+    2: // night
+      begin
+        bg_w1 := bg_w1 - deltaTime * Coeff;
+        if bg_w1 < 0 then
+          bg_w1 := 0;
+        bg_w2 := bg_w2 + deltaTime * Coeff;
+        if bg_w2 > 1 then
+          bg_w2 := 1;
+        m_w := m_w + deltaTime * Coeff;
+        if m_w > 1 then
+          m_w := 1;
+
+        if bg_w2 > 0.3 then
+          a_w := a_w - deltaTime * Coeff
+        else
+          a_w := a_w + deltaTime * Coeff;
+
+        if a_w < 0 then
+          a_w := 0.01;
+      end;
+  end;
+
+  case WeatherMode of
+    1:
+      begin
+        c_w1 := c_w1 - deltaTime * Coeff;
+        if c_w1 < 0 then
+          c_w1 := 0;
+        c_w2 := c_w2 + deltaTime * Coeff;
+        if c_w2 > 1 then
+          c_w2 := 1;
+      end;
+    0:
+      begin
+        c_w1 := c_w1 + deltaTime * Coeff;
+        if c_w1 > 1 then
+          c_w1 := 1;
+        c_w2 := c_w2 - deltaTime * Coeff;
+        if c_w2 < 0 then
+          c_w2 := 0;
+      end;
+
+  end;
+  GLSV.Invalidate;
+end;
+
+// ---------------------------HandleKeys--------------------
+procedure TMainForm.HandleKeys;
+begin
+  if IsKeyDown('c') then           // weather1
+    WeatherMode := 0
+  else if IsKeyDown('s') then      // weather2
+    WeatherMode := 1
+  else if IsKeyDown('n') then      // night
+    DayMode := 2
+  else if IsKeyDown('d') then      // day
+    DayMode := 1
+  else
+
+end;
+
+// ---------------------------CgShaderApplyFP---------------
+procedure TMainForm.CgBackgroundApplyFP(CgProgram: TCgProgram; Sender: TObject);
+var
+  w1, w2: single;
+begin
+  with CgProgram.ParamByName('channel1') do
+  begin
+    SetAsTexture2d(MatLib.LibMaterialByName('day').Material.Texture.Handle);
+    EnableTexture;
+  end;
+  with CgProgram.ParamByName('channel2') do
+  begin
+    SetAsTexture2d(MatLib.LibMaterialByName('night')
+      .Material.Texture.Handle);
+    EnableTexture;
+  end;
+  CgProgram.ParamByName('w1').SetAsScalar(bg_w1);
+  CgProgram.ParamByName('w2').SetAsScalar(bg_w2);
+end;
+
+// ---------------------------CgShaderUnApplyFP-------------
+procedure TMainForm.CgBackgroundUnApplyFP(CgProgram: TCgProgram);
+begin
+  CgProgram.ParamByName('channel1').DisableTexture;
+  CgProgram.ParamByName('channel2').DisableTexture;
+end;
+
+// ---------------------------CgShaderCloudsApplyFP---------
+procedure TMainForm.CgCloudsApplyFP(CgProgram: TCgProgram; Sender: TObject);
+begin
+  with CgProgram.ParamByName('channel1') do
+  begin
+    SetAsTexture2d(MatLib.LibMaterialByName('clouds_clear')
+      .Material.Texture.Handle);
+    EnableTexture;
+  end;
+  with CgProgram.ParamByName('channel2') do
+  begin
+    SetAsTexture2d(MatLib.LibMaterialByName('clouds_cloudy')
+      .Material.Texture.Handle);
+    EnableTexture;
+  end;
+  // if a_w < 0.1 then
+  // a:= 0.5;
+  CgProgram.ParamByName('w1').SetAsScalar(c_w1);
+  CgProgram.ParamByName('w2').SetAsScalar(c_w2 - bg_w2 / 2);
+  if a_w > 0 then
+  begin
+    CgProgram.ParamByName('redoffset1').SetAsScalar(a_w);
+    CgProgram.ParamByName('redoffset2').SetAsScalar(a_w);
+  end;
+end;
+
+// ---------------------------CgCloudsApplyVP---------------
+procedure TMainForm.CgCloudsApplyVP(CgProgram: TCgProgram; Sender: TObject);
+begin
+  //
+end;
+
+// ---------------------------CgShaderCloudsUnApplyFP-------
+procedure TMainForm.CgCloudsUnApplyFP(CgProgram: TCgProgram);
+begin
+  CgProgram.ParamByName('channel1').DisableTexture;
+  CgProgram.ParamByName('channel2').DisableTexture;
+end;
+
+// ---------------------------CgMoonApplyFP-----------------
+procedure TMainForm.CgMasserApplyFP(CgProgram: TCgProgram; Sender: TObject);
+begin
+  with CgProgram.ParamByName('channel1') do
+  begin
+    SetAsTexture2d(MatLib.LibMaterialByName('masser').Material.Texture.Handle);
+    EnableTexture;
+  end;
+  CgProgram.ParamByName('w').SetAsScalar(m_w);
+end;
+
+// ---------------------------CgMoonUnApplyFP---------------
+procedure TMainForm.CgMasserUnApplyFP(CgProgram: TCgProgram);
+begin
+  CgProgram.ParamByName('channel1').DisableTexture;
+end;
+
+// ---------------------------CgSecundaApplyFP--------------
+procedure TMainForm.CgSecundaApplyFP(CgProgram: TCgProgram; Sender: TObject);
+begin
+  with CgProgram.ParamByName('channel1') do
+  begin
+    SetAsTexture2d(MatLib.LibMaterialByName('secunda').Material.Texture.Handle);
+    EnableTexture;
+  end;
+  CgProgram.ParamByName('w').SetAsScalar(m_w);
+end;
+
+// ---------------------------CgSecundaUnApplyFP------------
+procedure TMainForm.CgSecundaUnApplyFP(CgProgram: TCgProgram);
+begin
+  CgProgram.ParamByName('channel1').DisableTexture;
+end;
+
+// ---------------------------CgSunApplyFP------------------
+procedure TMainForm.CgSunApplyFP(CgProgram: TCgProgram; Sender: TObject);
+begin
+  with CgProgram.ParamByName('channel1') do
+  begin
+    SetAsTexture2d(MatLib.LibMaterialByName('sun').Material.Texture.Handle);
+    EnableTexture;
+  end;
+  CgProgram.ParamByName('w').SetAsScalar(1.2 * (1 - m_w));
+end;
+
+// ---------------------------CgSunUnApplyFP----------------
+procedure TMainForm.CgSunUnApplyFP(CgProgram: TCgProgram);
+begin
+  CgProgram.ParamByName('channel1').DisableTexture;
+end;
+
+end.

+ 0 - 0
Examples/Demos/cgshaders/SkyClouds/fSkyClouds.dfm → Examples/Demos/cgshaders/CloudSky/fSkyClouds.dfm


+ 0 - 0
Examples/Demos/cgshaders/SkyClouds/fSkyClouds.pas → Examples/Demos/cgshaders/CloudSky/fSkyClouds.pas


+ 28 - 0
Examples/Demos/cgshaders/Distortion/CgDisttexD.dpr

@@ -0,0 +1,28 @@
+{ This little demo shows how to use the GL_TEXTURE_RECT_NV extension for creating
+  effects applied on the screen (filters, grayscaling etc.).
+
+  I tried it on a HUD sprite first but for some reason, its coordinates are messed
+  up. HUD sprites are using somewhat different calcultions than a regular object
+  so I guess the vertex program handles the coordinates wrong. Didn't have time
+  to really look at it so I did a cheesy solution, just putting a plane 'exactly'
+  in front of the camera. Of course, that doesn't work really well when moving/rotating
+  the camera.
+
+  Anyway, it looks like if you were looking into 3D space but in fact there's nothing
+  but a flat plane in front of your nose with a snapshot of the scene on it. The scene
+  itself is behind that plane.
+
+}
+program CgDisttexD;
+
+uses
+  Forms,
+  fDisttexD in 'fDisttexD.pas' {Form1};
+
+{$R *.res}
+
+begin
+  Application.Initialize;
+  Application.CreateForm(TForm1, Form1);
+  Application.Run;
+end.

+ 23 - 333
Examples/Demos/cgshaders/BombShader/BombShaderD.dproj → Examples/Demos/cgshaders/Distortion/CgDisttexD.dproj

@@ -1,7 +1,7 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     <PropertyGroup>
-        <ProjectGuid>{71499B42-5987-4544-AFE5-46E377F21393}</ProjectGuid>
-        <MainSource>BombShaderD.dpr</MainSource>
+        <ProjectGuid>{947705F9-5FC7-425C-8CD2-9043FB185DAA}</ProjectGuid>
+        <MainSource>CgDisttexD.dpr</MainSource>
         <Base>True</Base>
         <Config Condition="'$(Config)'==''">Debug</Config>
         <TargetedPlatforms>1</TargetedPlatforms>
@@ -28,12 +28,6 @@
         <CfgParent>Base</CfgParent>
         <Base>true</Base>
     </PropertyGroup>
-    <PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Cfg_1)'=='true') or '$(Cfg_1_Win64)'!=''">
-        <Cfg_1_Win64>true</Cfg_1_Win64>
-        <CfgParent>Cfg_1</CfgParent>
-        <Cfg_1>true</Cfg_1>
-        <Base>true</Base>
-    </PropertyGroup>
     <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
         <Cfg_2>true</Cfg_2>
         <CfgParent>Base</CfgParent>
@@ -45,86 +39,58 @@
         <Cfg_2>true</Cfg_2>
         <Base>true</Base>
     </PropertyGroup>
-    <PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win64)'!=''">
-        <Cfg_2_Win64>true</Cfg_2_Win64>
-        <CfgParent>Cfg_2</CfgParent>
-        <Cfg_2>true</Cfg_2>
-        <Base>true</Base>
-    </PropertyGroup>
     <PropertyGroup Condition="'$(Base)'!=''">
-        <DCC_S>false</DCC_S>
         <VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=;CFBundleName=</VerInfo_Keys>
-        <VerInfo_Locale>1049</VerInfo_Locale>
         <DCC_K>false</DCC_K>
-        <SanitizedProjectName>BombShaderD</SanitizedProjectName>
-        <DCC_E>false</DCC_E>
+        <VerInfo_Locale>1049</VerInfo_Locale>
+        <SanitizedProjectName>CgDisttexD</SanitizedProjectName>
         <DCC_N>false</DCC_N>
-        <DCC_Namespace>Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace)</DCC_Namespace>
+        <DCC_E>false</DCC_E>
+        <DCC_S>false</DCC_S>
         <DCC_F>false</DCC_F>
         <DCC_ImageBase>00400000</DCC_ImageBase>
+        <DCC_Namespace>Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace)</DCC_Namespace>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Base_Win32)'!=''">
         <UWP_DelphiLogo150>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png</UWP_DelphiLogo150>
         <UWP_DelphiLogo44>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png</UWP_DelphiLogo44>
         <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
-        <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
-        <VerInfo_Locale>1033</VerInfo_Locale>
-        <VerInfo_Keys>CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(ModuleName);FileDescription=$(ModuleName);ProductName=$(ModuleName)</VerInfo_Keys>
         <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
+        <VerInfo_Locale>1033</VerInfo_Locale>
+        <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
         <DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace>
+        <VerInfo_Keys>CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(ModuleName);FileDescription=$(ModuleName);ProductName=$(ModuleName)</VerInfo_Keys>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Base_Win64)'!=''">
         <UWP_DelphiLogo150>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png</UWP_DelphiLogo150>
         <UWP_DelphiLogo44>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png</UWP_DelphiLogo44>
-        <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
-        <VerInfo_Locale>1033</VerInfo_Locale>
-        <DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace)</DCC_Namespace>
-        <VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
-        <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Cfg_1)'!=''">
+        <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
         <DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
-        <DCC_DebugInformation>0</DCC_DebugInformation>
         <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
-        <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
-    </PropertyGroup>
-    <PropertyGroup Condition="'$(Cfg_1_Win64)'!=''">
-        <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
-        <AppDPIAwarenessMode>PerMonitor</AppDPIAwarenessMode>
+        <DCC_DebugInformation>0</DCC_DebugInformation>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Cfg_2)'!=''">
-        <DCC_GenerateStackFrames>true</DCC_GenerateStackFrames>
         <DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
+        <DCC_GenerateStackFrames>true</DCC_GenerateStackFrames>
         <DCC_Optimize>false</DCC_Optimize>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
-        <VerInfo_Locale>1033</VerInfo_Locale>
-        <DCC_DcuOutput>.\$(Platform)\$(Config)</DCC_DcuOutput>
-        <DCC_ExeOutput>.\$(Platform)\$(Config)</DCC_ExeOutput>
-        <Icon_MainIcon>$(BDS)\bin\delphi_PROJECTICON.ico</Icon_MainIcon>
-        <VerInfo_Keys>CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName)</VerInfo_Keys>
-        <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
-        <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
         <BT_BuildType>Debug</BT_BuildType>
-        <DCC_UnitSearchPath>..\..\Source;$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
-        <AppDPIAwarenessMode>none</AppDPIAwarenessMode>
-    </PropertyGroup>
-    <PropertyGroup Condition="'$(Cfg_2_Win64)'!=''">
+        <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
         <VerInfo_Locale>1033</VerInfo_Locale>
+        <VerInfo_Keys>CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName)</VerInfo_Keys>
         <Icon_MainIcon>$(BDS)\bin\delphi_PROJECTICON.ico</Icon_MainIcon>
-        <DCC_ExeOutput>.\$(Platform)\$(Config)</DCC_ExeOutput>
-        <DCC_DcuOutput>.\$(Platform)\$(Config)</DCC_DcuOutput>
         <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
-        <VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
-        <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
-        <AppDPIAwarenessMode>PerMonitor</AppDPIAwarenessMode>
+        <AppDPIAwarenessMode>none</AppDPIAwarenessMode>
     </PropertyGroup>
     <ItemGroup>
         <DelphiCompile Include="$(MainSource)">
             <MainSource>MainSource</MainSource>
         </DelphiCompile>
-        <DCCReference Include="fCgBombShaderD.pas">
-            <Form>FormCgBombShader</Form>
+        <DCCReference Include="fDisttexD.pas">
+            <Form>Form1</Form>
         </DCCReference>
         <BuildConfiguration Include="Base">
             <Key>Base</Key>
@@ -144,9 +110,11 @@
         <BorlandProject>
             <Delphi.Personality>
                 <Source>
-                    <Source Name="MainSource">BombShaderD.dpr</Source>
+                    <Source Name="MainSource">CgDisttexD.dpr</Source>
                 </Source>
                 <Excluded_Packages>
+                    <Excluded_Packages Name="C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl\VirtualTreesD22.bpl">File C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl\VirtualTreesD22.bpl not found</Excluded_Packages>
+                    <Excluded_Packages Name="C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl\GLScene_Newton_DT.bpl">File C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl\GLScene_Newton_DT.bpl not found</Excluded_Packages>
                     <Excluded_Packages Name="C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl\GBComps.bpl">Geoblock - Components</Excluded_Packages>
                     <Excluded_Packages Name="C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl\GBE3D.bpl">File C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl\GBE3D.bpl not found</Excluded_Packages>
                     <Excluded_Packages Name="$(BDSBIN)\bcboffice2k280.bpl">Embarcadero C++Builder Office 2000 Servers Package</Excluded_Packages>
@@ -160,9 +128,9 @@
                 <Platform value="Win64">False</Platform>
             </Platforms>
             <Deployment Version="3">
-                <DeployFile LocalName="Win32\Debug\BombShaderD.exe" Configuration="Debug" Class="ProjectOutput">
+                <DeployFile LocalName="CgDisttexD.exe" Configuration="Debug" Class="ProjectOutput">
                     <Platform Name="Win32">
-                        <RemoteName>BombShaderD.exe</RemoteName>
+                        <RemoteName>CgDisttexD.exe</RemoteName>
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
@@ -188,12 +156,6 @@
                         <Operation>64</Operation>
                     </Platform>
                 </DeployClass>
-                <DeployClass Name="AndroidClassesDexFile">
-                    <Platform Name="Android">
-                        <RemoteDir>classes</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
                 <DeployClass Name="AndroidFileProvider">
                     <Platform Name="Android">
                         <RemoteDir>res\xml</RemoteDir>
@@ -618,105 +580,6 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
-                <DeployClass Name="iPad_Launch1024x768">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPad_Launch1536x2048">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPad_Launch1668">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPad_Launch1668x2388">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPad_Launch2048x1536">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPad_Launch2048x2732">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPad_Launch2224">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPad_Launch2388x1668">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPad_Launch2732x2048">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
                 <DeployClass Name="iPad_Launch2x">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -727,17 +590,6 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
-                <DeployClass Name="iPad_Launch768x1024">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
                 <DeployClass Name="iPad_LaunchDark2x">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -798,105 +650,6 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
-                <DeployClass Name="iPhone_Launch1125">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPhone_Launch1136x640">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPhone_Launch1242">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPhone_Launch1242x2688">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPhone_Launch1334">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPhone_Launch1792">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPhone_Launch2208">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPhone_Launch2436">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPhone_Launch2688x1242">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
                 <DeployClass Name="iPhone_Launch2x">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -907,17 +660,6 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
-                <DeployClass Name="iPhone_Launch320">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
                 <DeployClass Name="iPhone_Launch3x">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -928,50 +670,6 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
-                <DeployClass Name="iPhone_Launch640">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPhone_Launch640x1136">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPhone_Launch750">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPhone_Launch828">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
                 <DeployClass Name="iPhone_LaunchDark2x">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -1070,14 +768,6 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
-                <DeployClass Name="ProjectiOSDeviceResourceRules">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
                 <DeployClass Name="ProjectiOSEntitlements">
                     <Platform Name="iOSDevice32">
                         <RemoteDir>..\</RemoteDir>

+ 100 - 0
Examples/Demos/cgshaders/Distortion/fDisttexD.dfm

@@ -0,0 +1,100 @@
+object Form1: TForm1
+  Left = 375
+  Top = 237
+  Caption = 'Cg Texture Distortion'
+  ClientHeight = 613
+  ClientWidth = 951
+  Color = clBtnFace
+  Font.Charset = DEFAULT_CHARSET
+  Font.Color = clWindowText
+  Font.Height = -11
+  Font.Name = 'MS Sans Serif'
+  Font.Style = []
+  Position = poScreenCenter
+  OnCreate = FormCreate
+  TextHeight = 13
+  object viewer: TGLSceneViewer
+    Left = 0
+    Top = 0
+    Width = 951
+    Height = 613
+    Camera = GLCamera1
+    Buffer.BackgroundColor = clBlack
+    FieldOfView = 161.469665527343800000
+    PenAsTouch = False
+    Align = alClient
+    OnMouseMove = viewerMouseMove
+    TabOrder = 0
+  end
+  object GLScene1: TGLScene
+    Left = 56
+    Top = 24
+    object GLLightSource1: TGLLightSource
+      ConstAttenuation = 1.000000000000000000
+      Diffuse.Color = {23DB793F39B4483FF0A7463F0000803F}
+      Position.Coordinates = {000000C00000A0400000A0400000803F}
+      SpotCutOff = 180.000000000000000000
+    end
+    object backGround: TGLPlane
+      Material.MaterialLibrary = matLib
+      Material.LibMaterialName = 'backGroundFilter'
+      Position.Coordinates = {00000000000000000000A0C00000803F}
+      Scale.Coordinates = {000040413333E3400000803F00000000}
+      Height = 1.000000000000000000
+      Width = 1.000000000000000000
+    end
+    object GLCube1: TGLCube
+    end
+    object GLDirectOpenGL1: TGLDirectOpenGL
+      UseBuildList = False
+      OnRender = GLDirectOpenGL1Render
+      Blend = False
+    end
+    object GLPlane1: TGLPlane
+      Material.MaterialLibrary = matLib
+      Material.LibMaterialName = 'filter'
+      Position.Coordinates = {0000000000000000CDCC8C3F0000803F}
+      Scale.Coordinates = {48E12A400AD703400000004000000000}
+      Height = 1.000000000000000000
+      Width = 1.000000000000000000
+    end
+    object GLCamera1: TGLCamera
+      DepthOfView = 100.000000000000000000
+      FocalLength = 50.000000000000000000
+      TargetObject = GLCube1
+      Position.Coordinates = {0000000000000000000000400000803F}
+    end
+  end
+  object matLib: TGLMaterialLibrary
+    Materials = <
+      item
+        Name = 'filter'
+        Tag = 0
+        Shader = filterShader
+      end
+      item
+        Name = 'backGroundFilter'
+        Tag = 0
+        Material.Texture.TextureMode = tmModulate
+        Material.Texture.Disabled = False
+        TextureScale.Coordinates = {000020400000C03F0000803F00000000}
+      end>
+    Left = 192
+    Top = 24
+  end
+  object GLCadencer1: TGLCadencer
+    Scene = GLScene1
+    SleepLength = 20
+    OnProgress = GLCadencer1Progress
+    Left = 192
+    Top = 104
+  end
+  object filterShader: TCgShader
+    VertexProgram.OnApply = filterShaderApplyVP
+    FragmentProgram.OnApply = filterShaderApplyFP
+    OnApplyVP = filterShaderApplyVP
+    OnApplyFP = filterShaderApplyFP
+    Left = 56
+    Top = 112
+  end
+end

+ 171 - 0
Examples/Demos/cgshaders/Distortion/fDisttexD.pas

@@ -0,0 +1,171 @@
+unit fDisttexD;
+
+interface
+
+uses
+  Winapi.OpenGL,
+  Winapi.OpenGLext,
+  System.SysUtils,
+  System.Classes,
+  Vcl.Graphics,
+  Vcl.Controls,
+  Vcl.Forms,
+  Vcl.ExtCtrls,
+  Vcl.StdCtrls,
+
+  GLS.OpenGLTokens,
+  GLS.Cadencer,
+  GLS.Texture,
+  GLS.SceneViewer,
+  GLS.Scene,
+  GLS.Objects,
+  GLS.Context,
+  GLS.HUDObjects,
+  CG.Shader,
+  GLS.Material,
+  GLS.Coordinates,
+
+  GLS.BaseClasses,
+  GLS.RenderContextInfo,
+  GLS.Utils,
+
+  CG.Import,
+  CG.GL;
+
+type
+  TForm1 = class(TForm)
+    GLScene1: TGLScene;
+    viewer: TGLSceneViewer;
+    matLib: TGLMaterialLibrary;
+    GLCamera1: TGLCamera;
+    GLLightSource1: TGLLightSource;
+    GLDirectOpenGL1: TGLDirectOpenGL;
+    GLCadencer1: TGLCadencer;
+    GLCube1: TGLCube;
+    filterShader: TCgShader;
+    GLPlane1: TGLPlane;
+    backGround: TGLPlane;
+    procedure FormCreate(Sender: TObject);
+    procedure GLDirectOpenGL1Render(Sender: TObject; var rci: TGLRenderContextInfo);
+    procedure GLCadencer1Progress(Sender: TObject; const deltaTime, newTime: Double);
+    procedure filterShaderApplyFP(CgProgram: TCgProgram; Sender: TObject);
+    procedure filterShaderApplyVP(CgProgram: TCgProgram; Sender: TObject);
+    procedure viewerMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
+  private
+  end;
+
+var
+  Form1: TForm1;
+  refract: TGLTextureHandle;
+
+  // ------------------------------------------
+implementation
+
+// ------------------------------------------
+
+{$R *.dfm}
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+  var Path: TFileName := GetCurrentAssetPath();
+  SetCurrentDir(Path + '\shader');
+
+  // Load the shader
+  filterShader.VertexProgram.LoadFromFile('filterV.c');
+  filterShader.FragmentProgram.LoadFromFile('filterF.c');
+
+  // Load the texture for the background plane
+  SetCurrentDir(Path + '\texture');
+  matLib.Materials[1].Material.Texture.Image.LoadFromFile('parquet.bmp');
+end;
+
+(*
+  Initialize refract texture used for the screen filter. Remember
+  this is not an ordinary texture used with GL_TEXTURE_2D, we won't
+  its dimensions to be NPOT (Non Power Of Two)
+*)
+procedure initialize;
+begin
+  refract := TGLTextureHandle.Create;
+  // Create the refract texture
+  glEnable(GL_TEXTURE_RECTANGLE_NV);
+  refract.AllocateHandle;
+
+  glBindTexture(GL_TEXTURE_RECTANGLE_NV, refract.Handle);
+  glTexParameteri(GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
+  glTexParameteri(GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
+  glTexParameteri(GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+  glTexParameteri(GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+
+  (* Important note, if you resize the screen, the size of this texture
+    must be modified this case so you need to recreate the texture, otherwise
+    it crashes. I was too lazy for that so that's why you can't resize
+    the form *)
+  glCopyTexImage2d(GL_TEXTURE_RECTANGLE_NV, 0, GL_RGBA8, 0, 0, Form1.viewer.ClientWidth,
+    Form1.viewer.ClientHeight, 0);
+end; // initialize
+
+var
+  initialized: boolean = false;
+
+procedure TForm1.GLDirectOpenGL1Render(Sender: TObject; var rci: TGLRenderContextInfo);
+begin
+  if not initialized then
+  begin
+    (* Initializing OpenGL related stuff like textures must be done
+      in a OpenGL context. Doing this in the formCreate for example
+      won't work. This is not the nicest solution but hey, it's only
+      a demo. *)
+    initialize;
+    initialized := True;
+  end;
+
+  // Take a snapshot for the refract texture
+  glBindTexture(GL_TEXTURE_RECTANGLE_NV, refract.Handle);
+  glCopyTexSubImage2D(GL_TEXTURE_RECTANGLE_NV, 0, 0, 0, 0, 0, viewer.ClientWidth,
+    viewer.ClientHeight);
+  glDisable(GL_TEXTURE_RECTANGLE_NV);
+end; // Render
+
+procedure TForm1.GLCadencer1Progress(Sender: TObject; const deltaTime, newTime: Double);
+begin
+  GLCube1.PitchAngle := GLCube1.PitchAngle + 0.3;
+  GLCube1.TurnAngle := GLCube1.TurnAngle + 0.5;
+end; // Cadencer progress
+
+// ****************************************************************************//
+// ************************* Shader stuff *************************************//
+// ****************************************************************************//
+var
+  cursorX, cursorY: single;
+
+procedure TForm1.filterShaderApplyFP(CgProgram: TCgProgram; Sender: TObject);
+begin
+  // Pass parameter values to fragment program
+  with CgProgram do
+  begin
+    paramByName('screenW').SetAsScalar(viewer.ClientWidth);
+    paramByName('screenH').SetAsScalar(viewer.ClientHeight);
+    paramByName('refractTex').SetAsTextureRECT(refract.Handle);
+    paramByName('refractTex').EnableTexture;
+    // We do a little trick with the cursor position so pass its coordinates
+    paramByName('cursorX').SetAsScalar(cursorX);
+    paramByName('cursorY').SetAsScalar(cursorY);
+  end;
+end; // apply Fragment program
+
+procedure TForm1.filterShaderApplyVP(CgProgram: TCgProgram; Sender: TObject);
+begin
+  with CgProgram do
+  begin
+    paramByName('MVP').SetAsStateMatrix(CG_GL_MODELVIEW_PROJECTION_MATRIX, CG_GL_MATRIX_IDENTITY);
+  end;
+end; // apply Vertex program
+
+procedure TForm1.viewerMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
+begin
+  cursorX := X / viewer.ClientWidth;
+  cursorY := 1 - (Y / viewer.ClientHeight);
+end;
+
+end.

+ 46 - 536
Examples/Demos/cgshaders/BombShader/BombShaderC.cbproj → Examples/Demos/cgshaders/Reflect/CgReflectC.cbproj

@@ -1,13 +1,14 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     <PropertyGroup>
-        <ProjectGuid>{A4E3012C-F239-4F92-95E0-9E18A667A067}</ProjectGuid>
+        <ProjectGuid>{C4716F6F-CC46-462E-B795-55E5A263BCB6}</ProjectGuid>
         <ProjectVersion>19.4</ProjectVersion>
         <FrameworkType>VCL</FrameworkType>
         <AppType>Application</AppType>
-        <MainSource>BombShaderC.cpp</MainSource>
+        <MainSource>CgReflectC.cpp</MainSource>
         <Base>True</Base>
         <Config Condition="'$(Config)'==''">Debug</Config>
         <Platform Condition="'$(Platform)'==''">Win32</Platform>
+        <CC_Suffix Condition="'$(CC_Suffix)'==''">c</CC_Suffix>
         <TargetedPlatforms>1</TargetedPlatforms>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
@@ -34,12 +35,6 @@
         <Cfg_1>true</Cfg_1>
         <Base>true</Base>
     </PropertyGroup>
-    <PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Cfg_1)'=='true') or '$(Cfg_1_Win64)'!=''">
-        <Cfg_1_Win64>true</Cfg_1_Win64>
-        <CfgParent>Cfg_1</CfgParent>
-        <Cfg_1>true</Cfg_1>
-        <Base>true</Base>
-    </PropertyGroup>
     <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_2)'!=''">
         <Cfg_2>true</Cfg_2>
         <CfgParent>Base</CfgParent>
@@ -51,20 +46,7 @@
         <Cfg_2>true</Cfg_2>
         <Base>true</Base>
     </PropertyGroup>
-    <PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win64)'!=''">
-        <Cfg_2_Win64>true</Cfg_2_Win64>
-        <CfgParent>Cfg_2</CfgParent>
-        <Cfg_2>true</Cfg_2>
-        <Base>true</Base>
-    </PropertyGroup>
     <PropertyGroup Condition="'$(Base)'!=''">
-        <SanitizedProjectName>BombShaderC</SanitizedProjectName>
-        <Icon_MainIcon>$(BDS)\bin\cbuilder_PROJECTICON.ico</Icon_MainIcon>
-        <DCC_Namespace>System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace)</DCC_Namespace>
-        <Multithreaded>true</Multithreaded>
-        <ProjectType>CppVCLApplication</ProjectType>
-        <AllPackageLibs>rtl.lib;vcl.lib;fmx.lib;xmlrtl.lib;vclimg.lib;GLScene_RT.lib;GLScene_Cg_RT.lib</AllPackageLibs>
-        <_TCHARMapping>wchar_t</_TCHARMapping>
         <DCC_CBuilderOutput>JPHNE</DCC_CBuilderOutput>
         <DynamicRTL>true</DynamicRTL>
         <UsePackages>true</UsePackages>
@@ -73,35 +55,40 @@
         <BCC_wpar>false</BCC_wpar>
         <BCC_OptimizeForSpeed>true</BCC_OptimizeForSpeed>
         <BCC_ExtendedErrorInfo>true</BCC_ExtendedErrorInfo>
+        <ILINK_TranslatedLibraryPath>$(BDSLIB)\$(PLATFORM)\release\$(LANGDIR);$(ILINK_TranslatedLibraryPath)</ILINK_TranslatedLibraryPath>
+        <ProjectType>CppVCLApplication</ProjectType>
+        <DCC_Namespace>System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace)</DCC_Namespace>
+        <AllPackageLibs>rtl.lib;vcl.lib;GLScene_RT.lib;xmlrtl.lib;vclimg.lib;GLScene_Cg_RT.lib</AllPackageLibs>
+        <_TCHARMapping>wchar_t</_TCHARMapping>
+        <Multithreaded>true</Multithreaded>
+        <Icon_MainIcon>$(BDS)\bin\cbuilder_PROJECTICON.ico</Icon_MainIcon>
+        <UWP_CppLogo44>$(BDS)\bin\Artwork\Windows\UWP\cppreg_UwpDefault_44.png</UWP_CppLogo44>
+        <UWP_CppLogo150>$(BDS)\bin\Artwork\Windows\UWP\cppreg_UwpDefault_150.png</UWP_CppLogo150>
+        <IncludePath>D:\GLScene\Examples\Demos\cgshaders\Reflect\;$(IncludePath)</IncludePath>
+        <ILINK_LibraryPath>D:\GLScene\Examples\Demos\cgshaders\Reflect\;$(ILINK_LibraryPath)</ILINK_LibraryPath>
+        <SanitizedProjectName>CgReflectC</SanitizedProjectName>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Base_Win32)'!=''">
-        <UWP_CppLogo150>$(BDS)\bin\Artwork\Windows\UWP\cppreg_UwpDefault_150.png</UWP_CppLogo150>
-        <UWP_CppLogo44>$(BDS)\bin\Artwork\Windows\UWP\cppreg_UwpDefault_44.png</UWP_CppLogo44>
-        <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
-        <VerInfo_Keys>CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(ModuleName);FileDescription=$(ModuleName);ProductName=$(ModuleName)</VerInfo_Keys>
+        <PackageImports>adortl;appanalytics;bcbie;bcbsmp;bdertl;bindcomp;bindcompdbx;bindcompfmx;bindcompvcl;bindcompvclsmp;bindcompvclwinx;bindengine;CloudService;CustomIPTransport;DataSnapClient;DataSnapCommon;DataSnapConnectors;DatasnapConnectorsFreePascal;DataSnapFireDAC;DataSnapIndy10ServerTransport;DataSnapNativeClient;DataSnapProviderClient;DataSnapServer;DataSnapServerMidas;dbexpress;dbrtl;dbxcds;DbxClientDriver;DbxCommonDriver;DBXDb2Driver;DBXFirebirdDriver;DBXInformixDriver;DBXInterBaseDriver;DBXMSSQLDriver;DBXMySQLDriver;DBXOdbcDriver;DBXOracleDriver;DBXSqliteDriver;DBXSybaseASADriver;DBXSybaseASEDriver;dsnap;dsnapcon;dsnapxml;emsclient;emsclientfiredac;emsedge;emshosting;emsserverresource;FireDAC;FireDACADSDriver;FireDACASADriver;FireDACCommon;FireDACCommonDriver;FireDACCommonODBC;FireDACDb2Driver;FireDACDBXDriver;FireDACDSDriver;FireDACIBDriver;FireDACInfxDriver;FireDACMongoDBDriver;FireDACMSAccDriver;FireDACMSSQLDriver;FireDACMySQLDriver;FireDACODBCDriver;FireDACOracleDriver;FireDACPgDriver;FireDACSqliteDriver;FireDACTDataDriver;fmx;fmxase;fmxdae;fmxFireDAC;fmxobj;FMXTee;FmxTeeUI;GBComps;GLScene_Cg_RT;GLScene_GPU_RT;GLScene_Physics_RT;GLScene_RT;GLScene_Sounds_RT;IndyCore;IndyIPClient;IndyIPCommon;IndyIPServer;IndyProtocols;IndySystem;inet;inetdb;inetdbxpress;RESTBackendComponents;RESTComponents;rtl;soapmidas;soaprtl;soapserver;Tee;TeeDB;TeeUI;tethering;vcl;vclactnband;vcldb;vcldbx;vcldsnap;vcledge;vclFireDAC;vclie;vclimg;VCLRESTComponents;VclSmp;vcltouch;vclwinx;vclx;xmlrtl;$(PackageImports)</PackageImports>
         <IncludePath>$(BDSINCLUDE)\windows\vcl;$(IncludePath)</IncludePath>
-        <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
         <DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace>
-        <PackageImports>IndyIPClient;GLScene_Sounds_RT;frx17;fs17;GLScene_Physics_RT;GLScene_Cg_RT;bindcompfmx;GR32_RSXE3;DBXSqliteDriver;vcldbx;GLScene_Physics_RT;fmx;rtl;dbrtl;DbxClientDriver;IndySystem;TeeDB;bindcomp;inetdb;inetdbbde;vclib;DBXInterBaseDriver;DataSnapClient;DataSnapCommon;DBXOdbcDriver;DataSnapServer;Tee;GLScene_RT;DataSnapProviderClient;xmlrtl;DBXSybaseASEDriver;ibxpress;DbxCommonDriver;vclimg;GLScene_Sounds_RT;IndyProtocols;DBXMySQLDriver;dbxcds;MetropolisUILiveTile;bindengine;vclactnband;vcldb;soaprtl;bindcompdbx;vcldsnap;bindcompvcl;FMXTee;TeeUI;vclie;GR32_DSGN_RSXE3;DBXDb2Driver;vcltouch;bcbsmp;websnap;DBXOracleDriver;CustomIPTransport;vclribbon;VclSmp;dsnap;DBXInformixDriver;IndyIPServer;fmxase;vcl;DataSnapConnectors;IndyCore;GLScene_Sounds_RT;DBXMSSQLDriver;CodeSiteExpressPkg;CloudService;DBXFirebirdDriver;dsnapcon;frxDB17;inet;fsDB17;fmxobj;IndyIPCommon;FmxTeeUI;vclx;frxe17;inetdbxpress;webdsnap;DBXSybaseASADriver;fmxdae;bdertl;dbexpress;DataSnapIndy10ServerTransport;adortl;bcbie;$(PackageImports)</PackageImports>
+        <BT_BuildType>Debug</BT_BuildType>
+        <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
+        <VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
         <VerInfo_Locale>1033</VerInfo_Locale>
         <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
+        <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Base_Win64)'!=''">
-        <UWP_CppLogo150>$(BDS)\bin\Artwork\Windows\UWP\cppreg_UwpDefault_150.png</UWP_CppLogo150>
-        <UWP_CppLogo44>$(BDS)\bin\Artwork\Windows\UWP\cppreg_UwpDefault_44.png</UWP_CppLogo44>
-        <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
-        <VerInfo_Locale>1033</VerInfo_Locale>
-        <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
-        <DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace)</DCC_Namespace>
-        <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
-        <VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
-        <PackageImports>IndyIPClient;GLScene_Sounds_RT;frx17;fs17;GLScene_Physics_RT;GLScene_Cg_RT;bindcompfmx;GR32_RSXE3;DBXSqliteDriver;vcldbx;GLScene_Physics_RT;fmx;rtl;dbrtl;DbxClientDriver;IndySystem;TeeDB;bindcomp;inetdb;inetdbbde;vclib;DBXInterBaseDriver;DataSnapClient;DataSnapCommon;DBXOdbcDriver;DataSnapServer;Tee;GLScene_RT;DataSnapProviderClient;xmlrtl;DBXSybaseASEDriver;ibxpress;DbxCommonDriver;vclimg;GLScene_Sounds_RT;IndyProtocols;DBXMySQLDriver;dbxcds;MetropolisUILiveTile;bindengine;vclactnband;vcldb;soaprtl;bindcompdbx;vcldsnap;bindcompvcl;FMXTee;TeeUI;vclie;GR32_DSGN_RSXE3;DBXDb2Driver;vcltouch;bcbsmp;websnap;DBXOracleDriver;CustomIPTransport;vclribbon;VclSmp;dsnap;DBXInformixDriver;IndyIPServer;fmxase;vcl;DataSnapConnectors;IndyCore;GLScene_Sounds_RT;DBXMSSQLDriver;CodeSiteExpressPkg;CloudService;DBXFirebirdDriver;dsnapcon;frxDB17;inet;fsDB17;fmxobj;IndyIPCommon;FmxTeeUI;vclx;frxe17;inetdbxpress;webdsnap;DBXSybaseASADriver;fmxdae;bdertl;dbexpress;DataSnapIndy10ServerTransport;adortl;bcbie;$(PackageImports)</PackageImports>
+        <PackageImports>adortl;appanalytics;bcbie;bcbsmp;bindcomp;bindcompdbx;bindcompfmx;bindcompvcl;bindcompvclsmp;bindcompvclwinx;bindengine;CloudService;CustomIPTransport;DataSnapClient;DataSnapCommon;DataSnapConnectors;DatasnapConnectorsFreePascal;DataSnapFireDAC;DataSnapIndy10ServerTransport;DataSnapNativeClient;DataSnapProviderClient;DataSnapServer;DataSnapServerMidas;dbexpress;dbrtl;dbxcds;DbxClientDriver;DbxCommonDriver;DBXDb2Driver;DBXFirebirdDriver;DBXInformixDriver;DBXInterBaseDriver;DBXMSSQLDriver;DBXMySQLDriver;DBXOdbcDriver;DBXOracleDriver;DBXSqliteDriver;DBXSybaseASADriver;DBXSybaseASEDriver;dsnap;dsnapcon;dsnapxml;emsclient;emsclientfiredac;emsedge;emshosting;emsserverresource;FireDAC;FireDACADSDriver;FireDACASADriver;FireDACCommon;FireDACCommonDriver;FireDACCommonODBC;FireDACDb2Driver;FireDACDBXDriver;FireDACDSDriver;FireDACIBDriver;FireDACInfxDriver;FireDACMongoDBDriver;FireDACMSAccDriver;FireDACMSSQLDriver;FireDACMySQLDriver;FireDACODBCDriver;FireDACOracleDriver;FireDACPgDriver;FireDACSqliteDriver;FireDACTDataDriver;fmx;fmxase;fmxdae;fmxFireDAC;fmxobj;FMXTee;FmxTeeUI;GLScene_Cg_RT;GLScene_GPU_RT;GLScene_Physics_RT;GLScene_RT;GLScene_Sounds_RT;IndyCore;IndyIPClient;IndyIPCommon;IndyIPServer;IndyProtocols;IndySystem;inet;inetdb;inetdbxpress;RESTBackendComponents;RESTComponents;rtl;soapmidas;soaprtl;soapserver;Tee;TeeDB;TeeUI;tethering;vcl;vclactnband;vcldb;vcldsnap;vcledge;vclFireDAC;vclie;vclimg;VCLRESTComponents;VclSmp;vcltouch;vclwinx;vclx;xmlrtl;$(PackageImports)</PackageImports>
+        <IncludePath>$(BDSINCLUDE)\windows\vcl;$(IncludePath)</IncludePath>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Cfg_1)'!=''">
         <BCC_OptimizeForSpeed>false</BCC_OptimizeForSpeed>
         <BCC_DisableOptimizations>true</BCC_DisableOptimizations>
         <DCC_Optimize>false</DCC_Optimize>
         <DCC_DebugInfoInExe>true</DCC_DebugInfoInExe>
+        <Defines>_DEBUG;$(Defines)</Defines>
         <BCC_InlineFunctionExpansion>false</BCC_InlineFunctionExpansion>
         <BCC_UseRegisterVariables>None</BCC_UseRegisterVariables>
         <DCC_Define>DEBUG</DCC_Define>
@@ -116,38 +103,35 @@
         <BCC_DisableSpellChecking>true</BCC_DisableSpellChecking>
         <CLANG_UnwindTables>true</CLANG_UnwindTables>
         <ILINK_LibraryPath>$(BDSLIB)\$(PLATFORM)\debug;$(ILINK_LibraryPath)</ILINK_LibraryPath>
+        <ILINK_TranslatedLibraryPath>$(BDSLIB)\$(PLATFORM)\debug\$(LANGDIR);$(ILINK_TranslatedLibraryPath)</ILINK_TranslatedLibraryPath>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Cfg_1_Win32)'!=''">
-        <BT_BuildType>Debug</BT_BuildType>
-        <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
-        <VerInfo_Locale>1033</VerInfo_Locale>
-        <ILINK_LibraryPath>$(BDSCOMMONDIR)\Dcp;$(BDSLIB)\$(PLATFORM)$(CC_SUFFIX)\debug;$(ILINK_LibraryPath)</ILINK_LibraryPath>
-        <Defines>_DEBUG;$(Defines)</Defines>
-        <LinkPackageImports>rtl.bpi;vcl.bpi;fmx.bpi;xmlrtl.bpi;vclimg.bpi;GLScene_RT.bpi;GLScene_Cg_RT.bpi</LinkPackageImports>
-    </PropertyGroup>
-    <PropertyGroup Condition="'$(Cfg_1_Win64)'!=''">
-        <Defines>_DEBUG;$(Defines)</Defines>
+        <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
+        <AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
+        <BCC_UseClassicCompiler>false</BCC_UseClassicCompiler>
+        <ILINK_LibraryPath>$(BDSLIB)\$(PLATFORM)$(CC_SUFFIX)\debug;$(ILINK_LibraryPath)</ILINK_LibraryPath>
+        <LinkPackageImports>rtl.bpi;vcl.bpi;GLScene_RT.bpi;xmlrtl.bpi;vclimg.bpi;GLScene_Cg_RT.bpi</LinkPackageImports>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Cfg_2)'!=''">
+        <Defines>NDEBUG;$(Defines)</Defines>
         <TASM_Debugging>None</TASM_Debugging>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
-        <Defines>NDEBUG;$(Defines)</Defines>
-    </PropertyGroup>
-    <PropertyGroup Condition="'$(Cfg_2_Win64)'!=''">
-        <Defines>NDEBUG;$(Defines)</Defines>
+        <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
+        <AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
+        <BCC_UseClassicCompiler>false</BCC_UseClassicCompiler>
     </PropertyGroup>
     <ItemGroup>
-        <CppCompile Include="BombShaderC.cpp">
+        <CppCompile Include="CgReflectC.cpp">
             <BuildOrder>0</BuildOrder>
         </CppCompile>
-        <CppCompile Include="fCgBombShaderC.cpp">
-            <Form>Form1</Form>
+        <CppCompile Include="fReflectC.cpp">
+            <Form>FormRef</Form>
             <FormType>dfm</FormType>
-            <DependentOn>fCgBombShaderC.h</DependentOn>
+            <DependentOn>fReflectC.h</DependentOn>
             <BuildOrder>2</BuildOrder>
         </CppCompile>
-        <FormResources Include="fCgBombShaderC.dfm"/>
+        <FormResources Include="fReflectC.dfm"/>
         <BuildConfiguration Include="Base">
             <Key>Base</Key>
         </BuildConfiguration>
@@ -165,56 +149,15 @@
         <Borland.ProjectType>CppVCLApplication</Borland.ProjectType>
         <BorlandProject>
             <CPlusPlusBuilder.Personality>
-                <Source>
-                    <Source Name="MainSource">BombShaderC.cpp</Source>
-                </Source>
-                <VersionInfo>
-                    <VersionInfo Name="IncludeVerInfo">False</VersionInfo>
-                    <VersionInfo Name="AutoIncBuild">False</VersionInfo>
-                    <VersionInfo Name="MajorVer">1</VersionInfo>
-                    <VersionInfo Name="MinorVer">0</VersionInfo>
-                    <VersionInfo Name="Release">0</VersionInfo>
-                    <VersionInfo Name="Build">0</VersionInfo>
-                    <VersionInfo Name="Debug">False</VersionInfo>
-                    <VersionInfo Name="PreRelease">False</VersionInfo>
-                    <VersionInfo Name="Special">False</VersionInfo>
-                    <VersionInfo Name="Private">False</VersionInfo>
-                    <VersionInfo Name="DLL">False</VersionInfo>
-                    <VersionInfo Name="Locale">1049</VersionInfo>
-                    <VersionInfo Name="CodePage">1251</VersionInfo>
-                </VersionInfo>
-                <VersionInfoKeys>
-                    <VersionInfoKeys Name="CompanyName"/>
-                    <VersionInfoKeys Name="FileDescription"/>
-                    <VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
-                    <VersionInfoKeys Name="InternalName"/>
-                    <VersionInfoKeys Name="LegalCopyright"/>
-                    <VersionInfoKeys Name="LegalTrademarks"/>
-                    <VersionInfoKeys Name="OriginalFilename"/>
-                    <VersionInfoKeys Name="ProductName"/>
-                    <VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
-                    <VersionInfoKeys Name="Comments"/>
-                    <VersionInfoKeys Name="CFBundleName"/>
-                    <VersionInfoKeys Name="CFBundleDisplayName"/>
-                    <VersionInfoKeys Name="CFBundleIdentifier"/>
-                    <VersionInfoKeys Name="CFBundleVersion"/>
-                    <VersionInfoKeys Name="CFBundlePackageType"/>
-                    <VersionInfoKeys Name="CFBundleSignature"/>
-                    <VersionInfoKeys Name="CFBundleAllowMixedLocalizations"/>
-                    <VersionInfoKeys Name="CFBundleExecutable"/>
-                </VersionInfoKeys>
                 <ProjectProperties>
                     <ProjectProperties Name="AutoShowDeps">False</ProjectProperties>
                     <ProjectProperties Name="ManagePaths">True</ProjectProperties>
-                    <ProjectProperties Name="VerifyPackages">False</ProjectProperties>
+                    <ProjectProperties Name="VerifyPackages">True</ProjectProperties>
                     <ProjectProperties Name="IndexFiles">False</ProjectProperties>
                 </ProjectProperties>
-                <Excluded_Packages>
-                    <Excluded_Packages Name="$(BDSBIN)\bcboffice2k210.bpl">Embarcadero C++Builder Office 2000 Servers Package</Excluded_Packages>
-                    <Excluded_Packages Name="$(BDSBIN)\bcbofficexp210.bpl">Embarcadero C++Builder Office XP Servers Package</Excluded_Packages>
-                    <Excluded_Packages Name="$(BDSBIN)\dcloffice2k210.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
-                    <Excluded_Packages Name="$(BDSBIN)\dclofficexp210.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
-                </Excluded_Packages>
+                <Source>
+                    <Source Name="MainSource">CgReflectC.cpp</Source>
+                </Source>
             </CPlusPlusBuilder.Personality>
             <Deployment Version="3">
                 <DeployFile Condition="'$(UsingDelphiRTL)'=='true'" LocalName="$(BDS)\bin64\borlndmm.dll" Class="DependencyModule">
@@ -222,46 +165,6 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
-                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin64\cc64160.dll" Class="DependencyModule">
-                    <Platform Name="Win64">
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin64\cc64160mt.dll" Class="DependencyModule">
-                    <Platform Name="Win64">
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin64\cc64230.dll" Class="DependencyModule">
-                    <Platform Name="Win64">
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin64\cc64230mt.dll" Class="DependencyModule">
-                    <Platform Name="Win64">
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin64\cc64240.dll" Class="DependencyModule">
-                    <Platform Name="Win64">
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin64\cc64240mt.dll" Class="DependencyModule">
-                    <Platform Name="Win64">
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin64\cc64260.dll" Class="DependencyModule">
-                    <Platform Name="Win64">
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin64\cc64260mt.dll" Class="DependencyModule">
-                    <Platform Name="Win64">
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin64\cc64280.dll" Class="DependencyModule">
                     <Platform Name="Win64">
                         <Overwrite>true</Overwrite>
@@ -277,46 +180,6 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
-                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32160.dll" Class="DependencyModule">
-                    <Platform Name="Win32">
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32160mt.dll" Class="DependencyModule">
-                    <Platform Name="Win32">
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32230.dll" Class="DependencyModule">
-                    <Platform Name="Win32">
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32230mt.dll" Class="DependencyModule">
-                    <Platform Name="Win32">
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32240.dll" Class="DependencyModule">
-                    <Platform Name="Win32">
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32240mt.dll" Class="DependencyModule">
-                    <Platform Name="Win32">
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32260.dll" Class="DependencyModule">
-                    <Platform Name="Win32">
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32260mt.dll" Class="DependencyModule">
-                    <Platform Name="Win32">
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32280.dll" Class="DependencyModule">
                     <Platform Name="Win32">
                         <Overwrite>true</Overwrite>
@@ -327,26 +190,6 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
-                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c240.dll" Class="DependencyModule">
-                    <Platform Name="Win32">
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32c240mt.dll" Class="DependencyModule">
-                    <Platform Name="Win32">
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c260.dll" Class="DependencyModule">
-                    <Platform Name="Win32">
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin\cc32c260mt.dll" Class="DependencyModule">
-                    <Platform Name="Win32">
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
                 <DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32c280.dll" Class="DependencyModule">
                     <Platform Name="Win32">
                         <Overwrite>true</Overwrite>
@@ -367,25 +210,15 @@
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
-                <DeployFile Condition="'$(DynamicRTL)'=='true'" LocalName="$(BDS)\Redist\osx64\libcgcrtl.dylib" Class="DependencyModule">
-                    <Platform Name="OSX64">
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile Condition="'$(DynamicRTL)'=='true'" LocalName="$(BDS)\Redist\osx64\libcgstl.dylib" Class="DependencyModule">
-                    <Platform Name="OSX64">
-                        <Overwrite>true</Overwrite>
-                    </Platform>
-                </DeployFile>
-                <DeployFile LocalName=".\Win32\Debug\BombShaderC.exe" Configuration="Debug" Class="ProjectOutput">
+                <DeployFile LocalName=".\Win32\Debug\CgReflectC.exe" Configuration="Debug" Class="ProjectOutput">
                     <Platform Name="Win32">
-                        <RemoteName>BombShaderC.exe</RemoteName>
+                        <RemoteName>CgReflectC.exe</RemoteName>
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
-                <DeployFile LocalName=".\Win32\Debug\BombShaderC.tds" Configuration="Debug" Class="DebugSymbols">
+                <DeployFile LocalName=".\Win32\Debug\CgReflectC.tds" Configuration="Debug" Class="DebugSymbols">
                     <Platform Name="Win32">
-                        <RemoteName>BombShaderC.tds</RemoteName>
+                        <RemoteName>CgReflectC.tds</RemoteName>
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>
@@ -411,12 +244,6 @@
                         <Operation>64</Operation>
                     </Platform>
                 </DeployClass>
-                <DeployClass Name="AndroidClassesDexFile">
-                    <Platform Name="Android">
-                        <RemoteDir>classes</RemoteDir>
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
                 <DeployClass Name="AndroidFileProvider">
                     <Platform Name="Android">
                         <RemoteDir>res\xml</RemoteDir>
@@ -459,7 +286,6 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
-                <DeployClass Name="AndroidLibnativeX86File"/>
                 <DeployClass Name="AndroidServiceOutput">
                     <Platform Name="Android">
                         <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
@@ -842,138 +668,6 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
-                <DeployClass Name="iPad_Launch1024">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPad_Launch1024x768">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPad_Launch1536">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPad_Launch1536x2048">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPad_Launch1668">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPad_Launch1668x2388">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPad_Launch2048">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPad_Launch2048x1536">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPad_Launch2048x2732">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPad_Launch2224">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPad_Launch2388x1668">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPad_Launch2732x2048">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
                 <DeployClass Name="iPad_Launch2x">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -984,28 +678,6 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
-                <DeployClass Name="iPad_Launch768">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPad_Launch768x1024">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
                 <DeployClass Name="iPad_LaunchDark2x">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -1066,105 +738,6 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
-                <DeployClass Name="iPhone_Launch1125">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPhone_Launch1136x640">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPhone_Launch1242">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPhone_Launch1242x2688">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPhone_Launch1334">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPhone_Launch1792">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPhone_Launch2208">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPhone_Launch2436">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPhone_Launch2688x1242">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
                 <DeployClass Name="iPhone_Launch2x">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -1175,17 +748,6 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
-                <DeployClass Name="iPhone_Launch320">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
                 <DeployClass Name="iPhone_Launch3x">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -1196,50 +758,6 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
-                <DeployClass Name="iPhone_Launch640">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPhone_Launch640x1136">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPhone_Launch750">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
-                <DeployClass Name="iPhone_Launch828">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSSimulator">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
                 <DeployClass Name="iPhone_LaunchDark2x">
                     <Platform Name="iOSDevice64">
                         <RemoteDir>..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset</RemoteDir>
@@ -1338,14 +856,6 @@
                         <Operation>1</Operation>
                     </Platform>
                 </DeployClass>
-                <DeployClass Name="ProjectiOSDeviceResourceRules">
-                    <Platform Name="iOSDevice32">
-                        <Operation>1</Operation>
-                    </Platform>
-                    <Platform Name="iOSDevice64">
-                        <Operation>1</Operation>
-                    </Platform>
-                </DeployClass>
                 <DeployClass Name="ProjectiOSEntitlements">
                     <Platform Name="iOSDevice32">
                         <RemoteDir>..\</RemoteDir>

+ 2 - 2
Examples/Demos/cgshaders/BombShader/BombShaderC.cpp → Examples/Demos/cgshaders/Reflect/CgReflectC.cpp

@@ -4,7 +4,7 @@
 #pragma hdrstop
 #include <tchar.h>
 //---------------------------------------------------------------------------
-USEFORM("fCgBombShaderC.cpp", Form1);
+USEFORM("fReflectC.cpp", FormRef);
 //---------------------------------------------------------------------------
 int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
 {
@@ -12,7 +12,7 @@ int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
 	{
 		Application->Initialize();
 		Application->MainFormOnTaskBar = true;
-		Application->CreateForm(__classid(TForm1), &Form1);
+		Application->CreateForm(__classid(TFormRef), &FormRef);
 		Application->Run();
 	}
 	catch (Exception &exception)

+ 2 - 2
Examples/Demos/cgshaders/Reflect/CgReflect.dpr → Examples/Demos/cgshaders/Reflect/CgReflectD.dpr

@@ -1,10 +1,10 @@
 { Simple Cg Shader Cubemap Demo (incomplete)}
-program CgReflect;
+program CgReflectD;
 
 
 uses
   Forms,
-  fReflect in 'fReflect.pas' {Form1};
+  fReflectD in 'fReflectD.pas' {Form1};
 
 {$R *.res}
 

+ 18 - 6
Examples/Demos/cgshaders/Reflect/CgReflect.dproj → Examples/Demos/cgshaders/Reflect/CgReflectD.dproj

@@ -1,7 +1,7 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     <PropertyGroup>
         <ProjectGuid>{37D4D061-195E-4B80-8B7D-2B2C4076404A}</ProjectGuid>
-        <MainSource>CgReflect.dpr</MainSource>
+        <MainSource>CgReflectD.dpr</MainSource>
         <Base>True</Base>
         <Config Condition="'$(Config)'==''">Debug</Config>
         <TargetedPlatforms>1</TargetedPlatforms>
@@ -44,7 +44,7 @@
         <DCC_ImageBase>00400000</DCC_ImageBase>
         <DCC_S>false</DCC_S>
         <DCC_F>false</DCC_F>
-        <SanitizedProjectName>CgReflect</SanitizedProjectName>
+        <SanitizedProjectName>CgReflectD</SanitizedProjectName>
         <VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=;CFBundleName=</VerInfo_Keys>
         <VerInfo_Locale>1049</VerInfo_Locale>
         <DCC_E>false</DCC_E>
@@ -78,12 +78,18 @@
     </PropertyGroup>
     <PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
         <BT_BuildType>Debug</BT_BuildType>
+        <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
+        <VerInfo_Locale>1033</VerInfo_Locale>
+        <VerInfo_Keys>CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName)</VerInfo_Keys>
+        <Icon_MainIcon>$(BDS)\bin\delphi_PROJECTICON.ico</Icon_MainIcon>
+        <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
+        <AppDPIAwarenessMode>none</AppDPIAwarenessMode>
     </PropertyGroup>
     <ItemGroup>
         <DelphiCompile Include="$(MainSource)">
             <MainSource>MainSource</MainSource>
         </DelphiCompile>
-        <DCCReference Include="fReflect.pas">
+        <DCCReference Include="fReflectD.pas">
             <Form>Form1</Form>
         </DCCReference>
         <BuildConfiguration Include="Base">
@@ -104,17 +110,23 @@
         <BorlandProject>
             <Delphi.Personality>
                 <Source>
-                    <Source Name="MainSource">CgReflect.dpr</Source>
+                    <Source Name="MainSource">CgReflectD.dpr</Source>
                 </Source>
+                <Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\bcboffice2k280.bpl">Embarcadero C++Builder Office 2000 Servers Package</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\bcbofficexp280.bpl">Embarcadero C++Builder Office XP Servers Package</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\dcloffice2k280.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\dclofficexp280.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
+                </Excluded_Packages>
             </Delphi.Personality>
             <Platforms>
                 <Platform value="Win32">True</Platform>
                 <Platform value="Win64">False</Platform>
             </Platforms>
             <Deployment Version="3">
-                <DeployFile LocalName="CgReflect.exe" Configuration="Debug" Class="ProjectOutput">
+                <DeployFile LocalName="CgReflectD.exe" Configuration="Debug" Class="ProjectOutput">
                     <Platform Name="Win32">
-                        <RemoteName>CgReflect.exe</RemoteName>
+                        <RemoteName>CgReflectD.exe</RemoteName>
                         <Overwrite>true</Overwrite>
                     </Platform>
                 </DeployFile>

+ 29 - 0
Examples/Demos/cgshaders/Reflect/fReflectC.cpp

@@ -0,0 +1,29 @@
+//---------------------------------------------------------------------------
+
+#include <vcl.h>
+#pragma hdrstop
+
+#include "fReflectC.h"
+//---------------------------------------------------------------------------
+#pragma package(smart_init)
+#pragma link "Cg.Shader"
+#pragma link "GLS.BaseClasses"
+#pragma link "GLS.Cadencer"
+#pragma link "GLS.Coordinates"
+#pragma link "GLS.GeomObjects"
+#pragma link "GLS.Material"
+#pragma link "GLS.Objects"
+#pragma link "GLS.Scene"
+#pragma link "GLS.SceneViewer"
+#pragma link "GLS.VectorFileObjects"
+#pragma resource "*.dfm"
+
+TFormRef *FormRef;
+float  ref;
+
+//---------------------------------------------------------------------------
+__fastcall TFormRef::TFormRef(TComponent* Owner)
+	: TForm(Owner)
+{
+}
+//---------------------------------------------------------------------------

+ 9901 - 0
Examples/Demos/cgshaders/Reflect/fReflectC.dfm

@@ -0,0 +1,9901 @@
+object FormRef: TFormRef
+  Left = 0
+  Top = 0
+  Caption = 'Reflect'
+  ClientHeight = 515
+  ClientWidth = 918
+  Color = clBtnFace
+  Font.Charset = DEFAULT_CHARSET
+  Font.Color = clWindowText
+  Font.Height = -12
+  Font.Name = 'Segoe UI'
+  Font.Style = []
+  TextHeight = 15
+  object Splitter1: TSplitter
+    Left = 369
+    Top = 0
+    Height = 515
+    Color = clBtnShadow
+    ParentColor = False
+    ExplicitHeight = 455
+  end
+  object Panel1: TPanel
+    Left = 0
+    Top = 0
+    Width = 369
+    Height = 515
+    Align = alLeft
+    BevelInner = bvRaised
+    BevelOuter = bvLowered
+    TabOrder = 0
+    ExplicitLeft = 8
+    ExplicitTop = 8
+    ExplicitHeight = 440
+    object PageControl1: TPageControl
+      Left = 2
+      Top = 2
+      Width = 365
+      Height = 511
+      ActivePage = TabSheet3
+      Align = alClient
+      Font.Charset = ANSI_CHARSET
+      Font.Color = clWindowText
+      Font.Height = -11
+      Font.Name = 'Tahoma'
+      Font.Style = []
+      ParentFont = False
+      TabOrder = 0
+      ExplicitHeight = 436
+      object TabSheet1: TTabSheet
+        Caption = 'Vertex Program'
+        object Splitter3: TSplitter
+          Left = 0
+          Top = 376
+          Width = 357
+          Height = 3
+          Cursor = crVSplit
+          Align = alBottom
+          Color = clBtnShadow
+          ParentColor = False
+          ExplicitTop = 316
+        end
+        object Panel2: TPanel
+          Left = 0
+          Top = 0
+          Width = 357
+          Height = 25
+          Align = alTop
+          BevelOuter = bvNone
+          TabOrder = 0
+          object LabelVertProfile: TLabel
+            Left = 88
+            Top = 5
+            Width = 63
+            Height = 13
+            Caption = 'Using profile:'
+          end
+          object CBVertexProgram: TCheckBox
+            Left = 6
+            Top = 4
+            Width = 59
+            Height = 17
+            Caption = 'Enabled'
+            Font.Charset = ANSI_CHARSET
+            Font.Color = clWindowText
+            Font.Height = -11
+            Font.Name = 'Tahoma'
+            Font.Style = []
+            ParentFont = False
+            TabOrder = 0
+          end
+        end
+        object Panel11: TPanel
+          Left = 0
+          Top = 25
+          Width = 357
+          Height = 351
+          Align = alClient
+          Caption = 'Panel6'
+          TabOrder = 1
+          ExplicitHeight = 276
+          object Panel12: TPanel
+            Left = 1
+            Top = 1
+            Width = 355
+            Height = 16
+            Align = alTop
+            BevelOuter = bvNone
+            Caption = 'Shader Code'
+            Color = clBtnHighlight
+            TabOrder = 0
+          end
+          object MemoVertCode: TMemo
+            Left = 1
+            Top = 17
+            Width = 355
+            Height = 308
+            Align = alClient
+            Font.Charset = ANSI_CHARSET
+            Font.Color = clWindowText
+            Font.Height = -11
+            Font.Name = 'Courier New'
+            Font.Style = []
+            ParentFont = False
+            ScrollBars = ssBoth
+            TabOrder = 1
+            WordWrap = False
+            ExplicitHeight = 233
+          end
+          object Panel13: TPanel
+            Left = 1
+            Top = 325
+            Width = 355
+            Height = 25
+            Align = alBottom
+            BevelOuter = bvNone
+            TabOrder = 2
+            ExplicitTop = 250
+            DesignSize = (
+              355
+              25)
+            object ButtonApplyVP: TButton
+              Left = 280
+              Top = 2
+              Width = 67
+              Height = 20
+              Anchors = [akTop, akRight]
+              Caption = 'Apply'
+              Enabled = False
+              TabOrder = 0
+            end
+          end
+        end
+        object Panel5: TPanel
+          Left = 0
+          Top = 379
+          Width = 357
+          Height = 104
+          Align = alBottom
+          TabOrder = 2
+          ExplicitTop = 304
+          DesignSize = (
+            357
+            104)
+          object Label2: TLabel
+            Left = 284
+            Top = 5
+            Width = 30
+            Height = 13
+            Anchors = [akTop, akRight]
+            Caption = 'Show:'
+          end
+          object Memo1: TMemo
+            Left = 1
+            Top = 1
+            Width = 272
+            Height = 102
+            Align = alLeft
+            Anchors = [akLeft, akTop, akRight, akBottom]
+            Color = clBtnFace
+            Font.Charset = ANSI_CHARSET
+            Font.Color = clWindowText
+            Font.Height = -11
+            Font.Name = 'Courier New'
+            Font.Style = []
+            ParentFont = False
+            ReadOnly = True
+            ScrollBars = ssBoth
+            TabOrder = 0
+            WordWrap = False
+          end
+          object Button1: TButton
+            Left = 282
+            Top = 21
+            Width = 64
+            Height = 18
+            Anchors = [akTop, akRight]
+            Caption = 'Params'
+            TabOrder = 1
+          end
+          object Button4: TButton
+            Left = 282
+            Top = 42
+            Width = 64
+            Height = 18
+            Anchors = [akTop, akRight]
+            Caption = 'Asm'
+            TabOrder = 2
+          end
+        end
+      end
+      object TabSheet2: TTabSheet
+        Caption = 'Fragment Program'
+        ImageIndex = 1
+        object Splitter2: TSplitter
+          Left = 0
+          Top = 376
+          Width = 357
+          Height = 3
+          Cursor = crVSplit
+          Align = alBottom
+          Color = clBtnShadow
+          ParentColor = False
+          ExplicitTop = 316
+        end
+        object Panel4: TPanel
+          Left = 0
+          Top = 0
+          Width = 357
+          Height = 25
+          Align = alTop
+          BevelOuter = bvNone
+          TabOrder = 0
+          object LabelFragProfile: TLabel
+            Left = 88
+            Top = 5
+            Width = 63
+            Height = 13
+            Caption = 'Using profile:'
+          end
+          object CheckBox1: TCheckBox
+            Left = 6
+            Top = 4
+            Width = 67
+            Height = 17
+            Caption = 'Enabled'
+            TabOrder = 0
+          end
+        end
+        object Panel6: TPanel
+          Left = 0
+          Top = 25
+          Width = 357
+          Height = 351
+          Align = alClient
+          Caption = 'Panel6'
+          TabOrder = 1
+          object Panel7: TPanel
+            Left = 1
+            Top = 1
+            Width = 355
+            Height = 16
+            Align = alTop
+            BevelOuter = bvNone
+            Caption = 'Shader Code'
+            Color = clBtnHighlight
+            TabOrder = 0
+          end
+          object MemoFragCode: TMemo
+            Left = 1
+            Top = 17
+            Width = 355
+            Height = 308
+            Align = alClient
+            Font.Charset = ANSI_CHARSET
+            Font.Color = clWindowText
+            Font.Height = -11
+            Font.Name = 'Courier New'
+            Font.Style = []
+            ParentFont = False
+            ScrollBars = ssBoth
+            TabOrder = 1
+            WordWrap = False
+            ExplicitHeight = 233
+          end
+          object Panel3: TPanel
+            Left = 1
+            Top = 325
+            Width = 355
+            Height = 25
+            Align = alBottom
+            BevelOuter = bvNone
+            TabOrder = 2
+            DesignSize = (
+              355
+              25)
+            object ButtonApplyFP: TButton
+              Left = 280
+              Top = 2
+              Width = 67
+              Height = 20
+              Anchors = [akTop, akRight]
+              Caption = 'Apply'
+              Enabled = False
+              TabOrder = 0
+            end
+          end
+        end
+        object Panel8: TPanel
+          Left = 0
+          Top = 379
+          Width = 357
+          Height = 104
+          Align = alBottom
+          TabOrder = 2
+          DesignSize = (
+            357
+            104)
+          object Label1: TLabel
+            Left = 284
+            Top = 5
+            Width = 30
+            Height = 13
+            Anchors = [akTop, akRight]
+            Caption = 'Show:'
+          end
+          object Memo3: TMemo
+            Left = 1
+            Top = 1
+            Width = 272
+            Height = 102
+            Align = alLeft
+            Anchors = [akLeft, akTop, akRight, akBottom]
+            Color = clBtnFace
+            Font.Charset = ANSI_CHARSET
+            Font.Color = clWindowText
+            Font.Height = -11
+            Font.Name = 'Courier New'
+            Font.Style = []
+            ParentFont = False
+            ReadOnly = True
+            ScrollBars = ssBoth
+            TabOrder = 0
+            WordWrap = False
+          end
+          object Button2: TButton
+            Left = 282
+            Top = 21
+            Width = 64
+            Height = 18
+            Anchors = [akTop, akRight]
+            Caption = 'Params'
+            TabOrder = 1
+          end
+          object Button3: TButton
+            Left = 282
+            Top = 42
+            Width = 64
+            Height = 18
+            Anchors = [akTop, akRight]
+            Caption = 'Asm'
+            TabOrder = 2
+          end
+        end
+      end
+      object TabSheet3: TTabSheet
+        Caption = 'Control'
+        ImageIndex = 2
+        object TrackBar1: TTrackBar
+          Left = 136
+          Top = 8
+          Width = 150
+          Height = 33
+          TabOrder = 0
+        end
+      end
+    end
+  end
+  object Panel9: TPanel
+    Left = 372
+    Top = 0
+    Width = 546
+    Height = 515
+    Align = alClient
+    Font.Charset = ANSI_CHARSET
+    Font.Color = clWindowText
+    Font.Height = -19
+    Font.Name = 'Tahoma'
+    Font.Style = [fsBold]
+    ParentFont = False
+    TabOrder = 1
+    ExplicitWidth = 379
+    ExplicitHeight = 440
+    object Panel10: TPanel
+      Left = 1
+      Top = 1
+      Width = 544
+      Height = 48
+      Align = alTop
+      Caption = 'Cg CubeMap'
+      Font.Charset = ANSI_CHARSET
+      Font.Color = clWindowText
+      Font.Height = -19
+      Font.Name = 'Trebuchet MS'
+      Font.Style = [fsBold]
+      ParentFont = False
+      TabOrder = 0
+      ExplicitWidth = 377
+    end
+    object GLSceneViewer1: TGLSceneViewer
+      Left = 1
+      Top = 49
+      Width = 544
+      Height = 465
+      Camera = GLCamera1
+      Buffer.FaceCulling = False
+      Buffer.AntiAliasing = aa4x
+      FieldOfView = 155.726348876953100000
+      PenAsTouch = False
+      Align = alClient
+      TabOrder = 1
+    end
+  end
+  object GLScene1: TGLScene
+    Left = 510
+    Top = 70
+    object GLLightSource1: TGLLightSource
+      Ambient.Color = {23DB793F23DB793F23DB793F0000803F}
+      ConstAttenuation = 1.000000000000000000
+      Position.Coordinates = {0000000000002041000000000000803F}
+      LightStyle = lsOmni
+      Specular.Color = {91ED7C3F91ED7C3F91ED7C3F0000803F}
+      SpotCutOff = 180.000000000000000000
+    end
+    object GLDummyCube1: TGLDummyCube
+      Scale.Coordinates = {0000C8410000C8410000C84100000000}
+      CubeSize = 1.000000000000000000
+      object bottom: TGLPlane
+        Material.Texture.Image.Picture.Data = {
+          07544269746D617036C00000424D36C000000000000036000000280000008000
+          000080000000010018000000000000C000000000000000000000000000000000
+          00007CCCFF77C7FF70BEF965B4ED5DACE558A8DF58A8DF59A8E15EACE759A6E5
+          6BB8FD4B98E1519CEB4692E54996EC4897EE4492EC4292EB4292EB4494ED4699
+          EF489BF1479AEF4598ED4797EA4896E95CA6F864AAFD5294E55A9BEC5491E159
+          98E85297E65097E75296E95295EC5493ED5392EC5492EC5494E85294E35A9EE7
+          4A90D378BFFE519BD55AA5DD73BEF670C0F756B0E64CACE243A7DE44A5DD51A5
+          DF53A5DF4DA3E545A4E33BA6D95FACCC77757B8A504AD3726FAC707A6497B734
+          9ECD3B9FD93FA2E043A5E541A3E33A9EDE379BDB3A9BDD3D9EE0409EDF3E9DDC
+          47A1E1439DD866BFF8469DD554A7DE459BD14BA4D749A3D949A2DB48A0DC489D
+          DB479DD94A9ED84BA1D74FA4D6489DCD4EA3D56FC2F972C1FF6DB9FF559FED4D
+          9AE94093E14098E5419AEA4098EC3B95EA3B94EC3F99EE449EF2409BEC3D99E6
+          459DEA3A92DE479AE85BAEFC56A7F857A3F667A6FE599AEF51A1EE4FA6E953AC
+          E54796C92963942A54813852813A517F3C57833757822F567D39608640658B33
+          577B54A3E25EAEEB6DBDFA78C6FF78C7FF70C0F765B5EC5DACE557A5E065B2F1
+          69B7FA549FE94994E24995E74994EA4C99F04897EE4999F24A9AF34696EF4090
+          E73C8FE53F92E74596EB4696E94795E863ACFF599FF25597EA5C9BEC5591E359
+          98E85497E65097E75296E95295EC5493ED5392EC5492EC5494E85597E65397E0
+          5CA2E56CB3F24E98D24F9AD256A1D953A3DA6AC0F663C0F75CBDF552B0EB4DA2
+          DA489AD4489CDE4AA5E24DB0E25395B2736A6D925650E991918656627BB0D13F
+          A6D742A6E03EA1DF3A9CDC3A9CDC3B9FDF3EA2E23FA1E13E9FDF409EDF3E9BDA
+          49A4E148A2DD65BCF4479DD353A6DD469CD24CA5D84AA4DA4AA3DC49A1DD499F
+          DB499FDB4CA0DA4DA3D956ABDD50A5D7479CCE4A9DD464B2F45BA7EF5EA7F760
+          ACFE59ACFA4A9FED3B91E33B91E54299EF479EF64097ED378FE33A93E43C96E3
+          3B93DF479DE94FA3EF67B9FF509FEE529CEE5A9AF25C9DF256A7F24DA3E55AAE
+          E83580B42058892D56833653803C55813754803659812E557C3F668C3B5F8328
+          4B6D61B1F25EAEED5AAAE959A9E65CACE765B6EF70C1FA78C9FF66B6F172C2FF
+          54A2E44E9AE24793DF56A4F14B97E94593E64897EE4493EA4190E74292E94797
+          EE4999F04798ED4495EA4494E94F9BEE68B0FF5093E85798ED5C9AEE5894E858
+          97E85497E65297E75496E95494EC5593ED5492EC5692EC5694E85597E64C90D9
+          6DB3F65DA4E34F98D44F99D34895CE4A99D24597CE479ED64DABE65EBAF56EC3
+          FB6DBDF85CADF04FA2E04FA4D152829A7E61648C4A45CC898C846A7C6097BE4A
+          AADF379AD43B9FDA41A4E241A4E23EA1DF3B9EDC3C9DDC3D9EDD3F9EDD419EDB
+          45A1DC57B1EA56ADE54DA3D94EA1D8499FD34BA4D74AA4DA4AA4DB49A2DB499F
+          DB499FDB4CA0DA4DA3D9479BCF54A9DB50A4D84C9FD76DBBFE4E99E34E97E94B
+          94E854A6F45DB0FE62B4FF57A8FD4295EB388AE33C91E7469CF0499EEE479CEA
+          4195E1479AE555A6F15EAEFB4F9DEA569FEF5497EC5FA3F658A6F24D9EE15BAB
+          E6246A9F1D508230578433527F3C578334547F33577F32597F466C8F37577A1A
+          365854A8EA57ABEC5CAEEF60B0EF5FB0ED5FAFEA5EAEE95EAFE870C0FB85D5FF
+          64B2F45EACEF4896DD4894E04593E04E9AEC4593E64797EC4A9AEF4898ED4494
+          E94192E74393E84696EB4491E75BA6FC60A8FC4E91E65697EC5996EC5D98EE58
+          94E85596E75496E75495EA5594EC5593ED5492EC5692EB5694E85696E45195DE
+          6CB2F5559CDB4F98D4529FD84D9AD354A1DA4E9BD34C9DD6439DD8409AD5499C
+          D455A5E066B5F877C3FE7AB8E0526A7E805251C4807B895E67A1A1B969A6D23A
+          97CE47A8E23DA1DC369AD5369AD53B9EDC3FA3DE3FA0DF3E9EDA409DDA47A3DE
+          449ED765BFF6479FD553A9DD489CD04CA2D64AA3D648A3D648A2D848A2D9489F
+          D8489FD84BA0D84CA2D84CA0D458ACE04EA1D857A8E55EABF0448FDB458DE143
+          8CE2438FE14291E24B98EE59A8FF68B6FF66B4FF53A3FA4192E74192E33F91DE
+          4E9FEA489AE269B8FF57A4ED58A4F05BA5F3599FF25DA4F453A0E953A1E34F98
+          D2205F9222528231588534547F3757803458802D547A3D6386476A8C344F710C
+          23435AAFF358ADF157AAEE54A8EA55A8E658A9E65CAEE860B2EC63B3EE65B5F2
+          54A3E268B6F874C2FF66B4FB57A4ED4795E24D99EB4795E84391E44391E44694
+          E74696E94795E84593E64894E769B2FF5098EC5497EC5394E95693E9629DF356
+          91E75796E75596E75595EA5793EC5793ED5692EC5892EB5694E85797E563A5EC
+          60A6E9549BDA4A93CF509CD74C98D3519ED7509AD2559FD94CA1DF469DDB499A
+          D34B99D44D9BDD5E9ED8789DBF726B7882443EDF9D986C5C6D82A1C261A6D840
+          9AD53C9DD73C9FD93EA1DB3FA2DC3EA0DC3DA0DA3F9FDB40A1DB409ED946A3DB
+          4FAAE15FB9EF479FD54FA5D94A9ED24EA3D549A2D448A3D64AA2D849A0D8489F
+          D7489FD74BA0D84CA1D94EA4DA4FA5DB4698D267B7F84894DC4891E1478EE54D
+          94EC4992E84691E7428CE43E87E23F88E34995EF5DAAFF6CB9FF5FAEFD4B9BE8
+          4A99E24B99E070BEFF5DA9F15AA5EF4E99E358A2F058A3EF55A0E562AAEA3A7A
+          B41F56892C568532578332547F31557D345D84285277466C8E41608131466606
+          183751A6EE53A9EF56ACF258ADF159ADEE59ACEA58ABE859ABE56ABAF556A6E1
+          4A9AD74998D74F9FE04B9ADD67B5FC79C6FF5BA6F453A1EE4C99E84796E54A97
+          E64A99E84B97E94A96E8539DEF69B2FF4A90E3579BEE5294E75292E7629DF356
+          91E75795E95795E95794EA5793EC5793ED5692EB5893E95894E65596E16EB0F7
+          559BDE57A0DE4A95D3519DD84896D14D99D4599DD8529BD54696D54297D54E9F
+          D857A4DD4F9CDA5C92C77A809D997680AF675FAF78758995AD89C0EB56A3DC4E
+          A7E43B9BD73C9FD93FA2DC3FA2DC3DA0DA3D9ED83D9ED8409FD744A1D946A1D8
+          61BBF14DA6D954AADE479CCE52A5D84CA1D34AA3D549A5D64BA4D74BA3D94AA2
+          D84AA1D94DA2DA4EA3DB499ED6479BD550A0DF71BFFF4691DD4F98EA458CE447
+          8DE84890E84991E94990EB4A90ED4790EC468FEB448DE8438EE455A2F160AEFA
+          67B5FC72C0FF5EABF04F9DE057A2E760ACF4529FE855A1E95DA7E968A9E6275F
+          96204F822E558232558032567E2C567B305D822B587A486E8E38547326355509
+          133153AAF453AAF452AAF153A9EF53A9EB55A9EA59ACE95AADEA71C3FD4EA0DA
+          4D9DD84E9EDB51A0DF4E9DDC4F9DE04795DA59A7EE64B2F96AB7FF5FAEF74F9C
+          E54190D94692DE4E9AE662ADFB5BA5F34E95E55499E95395E65393E75D99ED57
+          93E75995E75995E95994EA5994EA5993EC5892EB5894E85895E55899E46EB1F6
+          5299D9539CDA4F9AD8549FDD4895D3519CDA4F93CE589ED955A4E34F9FDE4A9B
+          D44D9AD24D97D16A94C379637BAD7177FFCEC5B89292749ABA65B3E862B9F76C
+          C8FF5EBEFA4AADE7379BD23296CD3D9ED645A6DE45A4DC419ED543A0D74AA6DB
+          67C1F7439CCF55ABDF489DCF53A6D94DA2D24CA3D54BA4D64BA4D74BA4D74AA3
+          D64AA2D84DA3D94EA3DB53A7E14C9FDC61B0F356A3EC438EDD4992E6468DE849
+          90EB458CE7458CE7468CE9498FED4B91EF4B91EE478EE9448DE34590DF4895DE
+          4C9ADF76C5FF70BEFF71BFFF67B5F853A2E559AAEE58A7EA62A7E6558FCA2352
+          8829518231548032547F30577E2D597E29597B366384416583324A6618233F0F
+          132F50A8F451AAF454ABF554ACF257ACF057AEEE5DB0EE5EB1EE66B8F2489AD4
+          52A2DD52A2DD4696D350A0DD509FDE4C9ADC51A1E24A99DC4A99DC59A8EB6AB8
+          FD6BB9FE58A6ED4492D96FBAFF4E97E1589EEB4F95E25598E75597E65594E559
+          95E75995E75995E75994EA5994EA5994EA5893E95894E65896E460A1EB6BB0F5
+          549BDB4A93D14E99D7519EDC4491D0539EDC579DD8559DD94D9AD94897D64E9D
+          D655A1D65197CC6A88B1815366AD6264D89F968B7D8169A2C9409DDA41A1E33D
+          9EE246A7E658BBF567CAFF60C4FB4AABE33B9AD23D9AD146A3DA429ED355AFE5
+          64BDF0489ED24BA2D452A7D94DA0D34FA4D64BA2D449A2D54AA3D649A2D548A1
+          D449A2D54CA2D84DA2DA4DA0DD4B9DDE71BFFF408CD84F99EB4891E7488FEA47
+          8DEA478DEA458EEA478DEB448CEA458BE9438CE8488FEA4894E74792E04493DC
+          509EE35BABEC4898D74898D76ABAF969BBFC67BBFC60AFEE60A2DD3D73AA2951
+          8537598736568131547C2E587D2F5D7F235474416D8A3C5D7732465F10152E16
+          162E52AAF651AAF453AAF453ABF152A7EB5AB1F154A7E573C6FF4FA1DB4FA1DB
+          4FA0D94E9FD84D9DD84E9ED94E9EDB4E9EDB4898D550A0DD4A9AD74F9FDC4C9B
+          DA4F9EDD6AB8FA6FBDFF77C2FF5FAAEF4E96DE4F96E0579BE85799E75597E557
+          97E55A96E85591E35F9AF05A95EB5994EA5B97EB528FDF5A98E471B3FA589EE1
+          4E95D4529BD7509BD94C99D74E9BDA519EDD519AD659A2DE4892D24F9CDB4F9C
+          D5539CCE62A1CD576988935261D68588A27D7985969F5AA5D338A0E13CA4EB36
+          9EE33CA0E03FA3DD42A5DF50B3ED67C8FF67C6FE52AFE63F9CD345A1D669C3F9
+          49A2D54EA4D84DA3D7489ED24FA3D750A4D8499FD34FA5D950A6DA4CA2D64CA3
+          D550A6DA4EA4DA469BD34A9DDA4D9EE161B0F94996E54891E54991E9478DEA45
+          8BE8468FEB448FEB468EEC448EEC468DEE448EEC468FEA4492E54391DE4092D9
+          64B5F8489DDB479DD94096D2489EDA4197D3479DD96BBAF37FBFF63B6B9F3354
+          853B58852D4B74395D832855772B5A7A31607F466E8A314F681E2E451013281C
+          172C51A9F551AAF453ABF256ACF256ACEE5CB0F15CAFED6BBEFB4FA1DB4EA0DA
+          4E9FD84E9FD84D9DD84E9ED94E9ED94E9ED94C9DD653A4DD4C9DD64C9CD74A9A
+          D54D9DDA4E9DDC68B7F661ADEF70BBFF79C1FF6BB3FB589DE64E92DD5195E057
+          9AE55C9BEB5493E45793E7508EE25692E65B97E95694E262A3ED72B5FA589FDF
+          4B94D04C98D34F9BD64E9BD94C9BDA4998D74B99D4529ED94A94D4519CDA519C
+          D4589CCB6092B6585C749A515BE99CA082747883ADC052A7D933A0E438A6EE32
+          9EE5369DDC3FA3DE3D9FDB399CD640A1DB4BAAE25AB7EF69C6FD6BC5FC70CAFF
+          48A0D6479DD14AA0D64EA4D851A4DB4FA2D94BA1D74DA3D94FA5D94DA3D74AA1
+          D34AA1D34DA3D752A7DF50A3E162B3F754A2EE428EE0428BE1478EE9488EEB49
+          91EF448FEB448FEB448EEC448EEC448EEE448EEC4490EA4492E54191DE489BDF
+          5CB0F1469EDA449DD63E98D1469FD84099D2479FD555A1D64680B42C578A4563
+          92566F9B4362893054783360812857763D69863A5F79374F67121D3119192B1F
+          192A53AAF452AAF154AAF054ABEE59AFF15BAFF066B9F75FB0ED4F9FDA4F9FDA
+          509ED9509ED9509ED9509ED94E9ED94E9ED94C9DD651A3DA4FA1D84A9BD44E9E
+          D952A2DD4693D16EBBFA56A2E4549FE355A0E461ACF174BCFF7AC2FF69B1F955
+          99E4599BEA5697E85594E55192E35B9AEB5B9AEA5697E267AAEF5FA3E4539BD7
+          509AD4529FD8539FDA509DDB4B9AD94392D14C9DDA4A9AD54C97D54E97D3559C
+          D5659ECB6A88A36D606E984F57CA899265707E68A8C645A0D7319EE22C9DE62F
+          9EE6379FE041A6E443A6E441A3DF42A3DD409FD7429FD749A6DD55AFE668C2F9
+          72C9FF70C8FE57AEE648A0D64398D04A9FD750A5DD499ED6479DD34DA3D74FA6
+          D84AA1D3489ED24CA0DA499BDC67B7FE4693E2438FE2448EE64891EC448DE948
+          91ED428FEB428FEB428FEC428FEC428FEC428FEB4491E84493E43F92DD51A6EA
+          50A7E7449ED9419BD43E9BD2449FD6419BD1459ACC509ACA2860912149792B48
+          75344D77446488406688406D8E32607F486F8B405E7735485D12192C1B1B291B
+          172356ACF255ABF153AAED52A8EA5BAFF05BAEEC6CBCFB52A3E04E9EDB4E9ED9
+          509ED9509ED9509ED9509ED94E9ED94E9ED94C9DD64D9ED752A3DC499AD351A1
+          DC53A3E056A3E26CB9F857A3E5539EE2529DE1549FE4519CE1529CE466AEF67C
+          C3FF6BAFFC67AAF95B9EED5295E45698E75497E2579CE26EB4F7549BDA519BD5
+          529DD54D9AD24594CD4A97D551A0DF51A0DF4699D64597D1539FDA579DD85E9F
+          D66894BD61697A684D51C5858AA277827997B253A1CC48A7DF3BA6E92998E036
+          A5ED3BA3E63EA2E2399DDD3DA0DE45A7E345A6E03F9DD8409DD565BEF749A3DA
+          4BA2DA57AEE665BCF471C8FF5EB5EE52A6E04DA0DD479BD5469CD24AA0D44CA3
+          D54AA1D34CA2D652A6E051A3E459A8F14490E24792E84891EC4790EB438CE843
+          8EEA428FEB4190EB428FEC428FEC428FEC448FEB4491E84493E44495E059AEF2
+          469DDB449ED7409AD3409DD4429FD6429CD2489CCC468DB91C507E2A517D2E4A
+          732C466E2E5173254E6E285473406A87557892556D851C2A3D11162517172328
+          273059AEF258AEF055ABED53A7E85BAFF05CAFED6BBBFA4C9CD94F9CDA4F9CDA
+          509DDB509DDB509DDB509DDB4E9EDB4E9EDB4E9EDB4D9DD853A3E04797D44D9C
+          DB4A99D869B5F75AA5E9529DE1509BE055A0E55EA8F05CA6EE509BE54E97E153
+          9BE8569EEB6BB1FE72B8FF6CB2FF5EA2ED4F94DD589FE36EB7F54B95CF4D99CE
+          529ED34F9DD24897D04C9AD5519EDD4B9AD94C9FDC4597D1509CD75499D2619A
+          D1708DB4806B749D6D6BD5A4A6786576719EC94497CF42A3DD3FA8E7319AE33B
+          A6F0379EE33CA1E53CA0E13D9FDF40A1E040A0DC45A2DF52AEE966BFF848A1DA
+          4CA5DE459ED7449DD655ADE95EB6F26BC1FD67BAF85DB0ED52A7DF4DA3D74FA6
+          D84FA6D84AA0D44498D26ABBFE4997E34A96E9458FE7448DE8418AE6458EE946
+          92EC4290EA428FEB448EEC448EEC448EEC468FEB4690E84692E44D9BE75BAEF2
+          4297D5459ED73F99D2439ED5409DD4459ED156A6D5367AA5194A762B517B3350
+          77385378274C6E2049692753723B637F35536C3D4F661C233632354322242C18
+          1B2057ADEF59B0F059ADEE58ABE95EB1EF64B4F363B3F04B9BD84E9BD94F9CDA
+          4F9CDA509DDB509DDB509DDC4E9DDC4D9CDB4F9EDD4C9BDA519FE14997D94B99
+          DC4D9BDE72BDFF519CE1549EE657A1E957A0EA4F9AE44D98E4529DE958A2F059
+          A3F157A2EE549CE94F97E462A9F374BCFF78C0FF71B8FB59A2DE55A0D8519DD1
+          509FD2509ED34D9DD44F9DD84D9AD94290D24EA1DF4798D54B9AD35598D16295
+          CD727FA59D6F75D1938BE4C2C29297AC70A7E054AAF03FA1DD3AA1DF3399E131
+          96E1369CE43CA3E840A5E942A6E741A3E33E9DDC429FDE51ACE958B2ED48A1DA
+          56AEEA4EA6E249A1DD49A0DE49A0DE4BA2E254A6E766B9F774C8FF6BC1F556AD
+          DF4AA1D34BA1D552A6E068B9FC3987D34995E84791E9458EEA428BE7468FEA45
+          8EE94490EA4490EA448FEB468EEC468EEC488EEB4890E84892E459A5F156A7EB
+          4396D4479ED7419AD3449FD6409BD2469FD2519ECC2969921F5078274B732643
+          682F4D70284F6F2F5B78234D6A426783475E782C394F1216281C1C2822252A23
+          282B51A5E658ADEB5CAFED5BAEEB61B2EF69B9F656A6E34E9BD94E9BDA4E9BDA
+          4F9CDB509DDC509DDC509CDE4E9CDE4D9BDD4D9CDF4B9ADD4D9BDE4F9DE04D9A
+          DF5DAAEF65B1F9539FE7539EE856A1EB56A1ED55A0EC56A0EE58A3F1539EED4C
+          97E64C97E5539EEA539EE8559EE84D97DF5BA6EA7AC4FF74C1FA68B6EB5EADE0
+          57A6D9509FD24696CD4997D2519EDD519FE14696D54899D64F9ED760A3DA6693
+          CC5E5F85914F50CA80749784818098B0528ED04A9DEB3C9EDA41A8E145A4ED42
+          A2EE3BA1EA389FE4359ADF379ADE3E9FE143A1E24EABEA5FBAF7469FDC419BD6
+          50A7E54BA2E04EA5E34AA1E14DA5E54DA4E451A2E54A9ADB4A9CD65CAFE66DC4
+          F671C8FA66BCF05BAFE95BACF04391DE438FE24993EB4790EC468FEB468FEA41
+          8BE34690E8468FEA468FEB488EEB488EEB498FEA4990E74992E463AEFA4E9CE1
+          4696D5499DD7449BD4459FD63F9AD1499FD33B86B217547C1E4D732B50763252
+          75325374264F6F1A466338627F46698340546D171F361D1D2D1918221C20251A
+          2222599FD55FA9DF5FAFE45FB1E863B0EE6EBBFA4C9CD94A9BD8489BD84B9CD9
+          4F9CDB529CDC529DDB509DDB4F9CDB4D9BDD509EE04E9DE04A98DB53A1E44D9A
+          DF67B5FC4D9AE3529EEA55A1ED4F9AE8509BE956A1F0549FEE4E99E8509AEC58
+          A3F2539EEC529DE9509BE555A0EA4E9AE25AA7EC69B7F94999D651A1DC5AACE3
+          6BBDF46EC0F75BABE64A9AD74897D64A99D84EA0DA4E9ED94794D25898CF6687
+          B561526EA85655EA9D9470737879ACCC5AA2E83F98E840A3E13FA6DF3899DD3C
+          9EE6389EE63AA2E73BA2E740A3E742A3E5419FE049A6E55BB5F54EA7E44CA5E2
+          51A8E6479EDE4EA5E5469DDF4EA5E74BA1E34FA2E64D9EE14FA2DF51A6DE4BA1
+          D5499FD35FB5EB7CD0FF68B8F963B3FA448FDD4692E4448DE14591E44993E543
+          8FE24690E8468FEA488EEB498EEB4B8EEB4B8EEA4B91E54992E268B5FE4596D9
+          449AD6489FD8459CD4459FD53E98CE4E9FD234769F1B5075234F742B51742C4F
+          712349692F5878244E6B3C637F45637C33435A11182C1F1F2F181923161A1F1A
+          212420436E7DAED66CB5DB66B7E473B9F55CA2E552A2E14199D53D9ED6409DD5
+          4C99D7549BDA56A1D955A2DA4F9CDA4A99D84C9CD94E9EDB4393D24E9EDF53A2
+          E56CBCFF4C9AE652A0ED519EED519EED509DEC509DEC509DEC509DEC519EED53
+          9EED549EEC549FEB549FEB58A4F04796DF70BFFF4597DE4A9CE3489DE14298DA
+          4298DA4EA5E562B6F767BBFC5EB0F152A3E0479ACE50A0D74F9CE15E94D16570
+          8E805B63B95C59DD9798728EA64EA1CE4AA8E93EA2EA3C9DDF3DA2E03DA4E237
+          A1E039A2E5339CDF39A1E43AA0E1399ADC3F9DDE60BDFC4CA6E64BA3E34CA3E3
+          4CA3E34CA2E44BA2E44BA2E54BA2E54BA2E54EA3E750A4E64CA0E155A8E6499D
+          D750A5DD56A9E167BAF24696D15DAEEB72C1FF6BBBFC57A5E84896DB4996DB4D
+          99E54691E74A90ED4B90ED4C8CEA4584E04C8EE7478DE068B4FF499EE2409BD8
+          42A2D83A9ACF47A3D6419CCF489ED24E98C8265A822B5578254D70244C6F2C54
+          7721476A315878284C6A476580486078202F420F17281A1D2C1A1C271B1D2816
+          18220B20403C5F8090D2EF75C2E98DCEFF4E90D754A4E549A4E140A5DC41A2DA
+          4D9CDB5198D74F9BD04E9CD14F9CDA519EDD4E9ED950A1DA52A2DF4B9BDA58A7
+          EA54A4EB4D9BE74F9FEC4F9EED4F9EEF4E9DEE4E9DEE509DEC509DEC519EED53
+          9EEC549FEB55A0EC539EEA53A1ED4E9FEA63B6FF4499E3449BE54198E2449CE3
+          459DE4429AE04198DB459BDD50A6E85EB1EE6CBFF264B4EB4E98E06B97D2645E
+          71865351E58E8CA66E7976A2C73E9ED4389FDE3EA5EA44A5E93E9FE137A2DC3C
+          A8E239A3E2369FE23EA6E73EA4E53D9FDF48A7E65DB7F74BA3E34CA3E34CA3E3
+          4CA2E44CA2E44BA2E54BA2E549A1E749A1E74BA2E550A5E94B9FE14FA3E44FA2
+          E04CA0DA61B3ED5EAFE858AAE14EA0D74697D04FA0D964B4EF6EBEFB62B1F04F
+          9DE24590DF4089DF488DE45598EF5695ED5092E54E96E464B4FB439BDB3D9CD4
+          3CA1D5389BCD44A1D2419ACC499CD04589B82150762F5575284E71244C6F2751
+          76285073274D6F3D5F7D47627C3E53681A283A111A28181E2B1A1B291C1C2A17
+          17250E2342001E3C3A749174B9E186C7FF78BDFF64B2F74BA2E4419EDB439DDD
+          4C9ADD539ADD529FD753A0D8519EDD4F9DDF4D9BD64697D052A2DF50A0DF70BF
+          FF55A5EC58A7F04A98E5519EED519EED509CEE509CEE529DEC529DEC539EEC53
+          9EEC539EEA56A1EB519CE8519FEB5BACF756A9F4469AE64299E34099E3429CE3
+          429CE34199DF3E96DC4198DB469DE04DA4E44296D057A6DF67ABEC81A4D66C52
+          62894D4DE7A2A59B798A77A4D04BA5E03FA0E2399CE03D9CE142A2E440A5E339
+          A4DE37A0DF359DDE3EA4E53EA2E33C9DDD53B2F157B1F14CA5E24CA3E14CA3E1
+          4CA3E34CA2E44BA2E54BA2E549A2E549A2E549A0E34FA6E94AA0E249A0E051A6
+          E44DA1DB6BBDF750A3DB4496CD4EA0D755A6DF52A3DC4C9CD750A0DD5CABEA66
+          B6F774C2FF5FABF74F97E44A90DD4A8CDA478BD657A1E95BACEF429BD83D9CD4
+          3898CD3F9ED04EA7D94FA4D64A98CD2567971C496F2E54742A5073244C6F234D
+          722E5679214668506F8E455E782D4055131F31151C2B1A1D2B181A251C1C2A17
+          17250B223C0F2D480A395884BFE7508ECE5A9EE955A5EC5AAFF567BEFF5BB0F4
+          539EE84D98DD4F9BD64F9ED74D9BDE4B99DC5BA8E652A0DB4D9AD854A3E268B6
+          F952A0E758A5EE4A98E4519FEC519EED509CEE509DEC529DEC529DEB539EEC54
+          9FEB539EE856A1EB509CE8519FEB64B5FF499EE8469CE83F97E3419CE73D99E2
+          3B97E03F9BE247A1E847A2E7429AE03D94D749A0E052A0DB63A0D864799F8459
+          64B87677B5868F9F96B16999CD51A2E54DA6E9419EE3409BE047A2E545A7E73E
+          A3E13BA2E13CA0E140A1E33E9FDF3D9CDB5AB7F651AAE74DA4E24CA3E14CA3E1
+          4CA3E34CA3E34BA2E449A2E549A2E549A2E549A0E34CA3E54CA2E449A0DE4FA4
+          E256ADE666BAF4499CD452A4DB4EA0D7499AD34A9BD44E9ED952A2DD4F9FDC4A
+          9AD94393D25BABEC71BDFF6CB5F961A8EC549BDE64B0F250A0DF3E97D044A1D8
+          409FD1429ECF4499CB4897CA4D93C82A65961F4C712B5272295273285073234D
+          722951742A50704F6F8C425A721B2F410E1829171F2C181C271618231C1C2A19
+          1927122A40102B45001F3D5D8AB55C96D84C92DF52A0ED4596E14997E35CA8F4
+          6DB8FF70BBFF64B1F055A2E14D99E14E9AE24895D452A0DB4C99D767B5F75AA8
+          EB509EE5509DE6539FEB539EEC539EEC529DEC529DEC539CEC539DEB549EEC54
+          9FEB529DE756A2EA509DE653A5ED61B4FF4398E2449CE83C97E23C99E43C99E4
+          3C99E43B99E23C98E13D99E0419BE2439DE43D95DC4C97D56394C06E728BCD8D
+          93FFC2C5A18B9EA0B3D990C5FF62ABF54C9CE3499EE24EA3E9499FE53E9CDE3D
+          9EDE41A2E242A3E344A2E344A1E048A2E260B8F84BA2E04CA1DF4EA3E14EA3E1
+          4CA3E34CA3E34BA3E349A3E449A3E447A3E448A1E446A0E14EA5E74AA1DF4BA0
+          DE65BCF558ACE64A9DD54B9DD44FA1D853A4DD52A3DC4D9DD84999D44B9BD84D
+          9FD94FA2D94EA1D84A9CD34E9BD466B0EA72BFF87FCEFF57AAE2469ED449A4D7
+          409BCE4CA1D353A2D5569DCF4180B3134978255176264D6D285172295475254F
+          72224B6C40648244627D3950661123340D1624191F2A1719241718221E1C281E
+          1C280F283C021C34102A482B4D7B669DE24F94E4509CEE4A96E8599FF24E94E7
+          438CE24995E75EABF06AB8FB68B3FF61ACF64E98DA57A2E0539DDD71BDFF58A3
+          E75AA7EC509BE556A2EE539FEB539EEC529DEB529DEB539DEB539EEA549FEB54
+          9FE9529EE654A2E94F9EE75BADF556A9F44198E2439BE73A97E23997E33B99E5
+          3C9AE63B9AE43998E23B99E23E9BE6449FEA459DE95BA0DF5F7DA0695866B76B
+          6FD6919B80809E749FD25891DC61A3F474BDFF77C5FF65B3FA4C9EE5429AE046
+          A1E43D99DA439FE0439DDD47A1E157AFEF5EB5F54DA2E04DA2E04EA3E14EA3E1
+          4CA3E34CA3E34BA3E349A3E349A3E447A3E449A2E546A0E14EA6E64AA3E04DA3
+          DF68BFF84BA0D84BA0D850A2D94C9ED54A9BD44D9ED750A0DB50A0DB4E9EDB4C
+          9FD74B9FD34FA4D452A6D653A4D75AA6DA5BA9DE66B6EB5DB1E56BC4F75FB8EB
+          4AA1D3499BCB549CCC5897C9346C9D164773285275234A6A264F6F2A53742952
+          73284F6F4D6F8D3C57712A3F540D1C2C0F18251A1E29171822191A241E1C281F
+          1D292C465712293F1C2E4D0D2756568CD3549AED448FE54791E94A89E35594EE
+          559EFA4E9BF24894E04795DC539EED62ACFA75BFFF68B3F168B2F266B2F455A0
+          E454A1E6519DE555A0EA539FEB539FEB539EEA539EEA539EEA539EEA569EEB54
+          9FE9529EE652A0E550A0E762B6FE469BE5439CE63E99E43B97E43B98E73897E6
+          3998E73C9CE83F9FEB41A0EA3D9BE73A96E33E98E55593CF5E67828D676DDB8B
+          8CBF8290869AC35693D35995E95190E84B8FDC4B93D95DA5ED6EBAFF6ABEFF5D
+          B5FB4AA1E350A8E8479EDE4AA1E162B6F756AAEB4FA1E252A4E550A2E34EA2E3
+          4CA3E34CA3E34BA3E349A3E349A3E349A3E347A3E449A3E44DA5E549A2DF58AE
+          EA5DB4ED479CD44DA3D94FA1D84D9FD64C9DD64E9FD84D9DD84B9BD64C9CD94E
+          A1D94FA3D74DA2D24A9ECE4D9FCF59A6D763B2E557A8DB54A8DC469CD058AEE2
+          6EC1F477C3F36FB1E15C95C223527E1E4970285172264E6B2950702950702A51
+          71395D7B4765823A546C172B3D091624141D27181D261718221F1E281C1A261E
+          1C28324B5F1C3147232D4F02174A4E81CA4F94EB4D96F15298F55996F45592F0
+          488FF04491ED4A97E64E9AE64D97E94C95E5549DE1569FDD82CCFF77C1FF70BB
+          FF58A3E756A3E8539FE753A0E953A0E9539EEA539EE8539EEA539EE8569FE954
+          A0E8519FE44FA0E450A2E968BDFF3C91DB469FE93C97E23B99E53C99E83A99E8
+          3799E73698E63898E43898E43A98E43E98E5479BE7598AC26D5F71A26A69E499
+          9B9164777597CC549BE55395EE508FEB5395E45C9DE75B9CE65195E04D9BE755
+          A9F169BCFF6BBFFF56A8E951A3E467B9FA4D9FE04E9EDF50A2E350A1E450A2E3
+          4EA2E34CA3E34CA3E34BA3E34BA3E349A3E348A2E34DA7E84AA2E2489FDD63B9
+          F550A7DF489DD550A3DA4EA0D74D9FD64E9FD851A2DB51A1DC4D9DD84D9DDA50
+          A0DB499CD352A7D950A3D64D9FCF58A7DA71C0F352A3D6499CD050A4D8499DD1
+          4F9ED15AA2D26FACD873A5CF3B648B43698B294F6D2D54702D5371274D6B2B4F
+          6D4969863A556F3D546A0C1C2D081321191F2A1A1C2618192321202A1C1A261B
+          1B27354C622E425B1C254A03184C4577C3569AF34B94F04C92F05591F15590F3
+          4B91F64794F14C98EA4E99E84C95EB4C94E85199DF5098D875BFFF4D97D9549F
+          E36EB9FD74C1FF67B3FB52A0E752A0E7539EE854A0E8549FE955A1E958A2EA56
+          A2EA56A4E94FA0E464B6FD4FA4EA439AE44099E3419CE73C9AE63996E53C9BEA
+          3B9AE93A99E83F9CEB3E9BEA3A97E64399E5509BE05071A285616DA86562DDA1
+          A79D87A06390CD4A96E94D92EF5191EF5394E55795E15995E15595E34C97E548
+          98E54FA0E44998DB61B0F378C7FF6FBEFF51A0E35EACEF4A99DC52A0E551A2E5
+          4FA0E34A9EE0489EE04AA1E34CA3E54AA1E349A0E24BA2E448A0E04FA6E471C7
+          FF459AD24598D04DA0D74FA2D64EA1D54D9FD64D9ED74C9CD74C9CD74D9DDA4D
+          9DDA499BD554A7DF4799D054A4DB61AFE461AFE44999CE54A6DD4DA0D753A5DC
+          539FD360A4D369A0CB2E5B8026496A40607D4B6E884A6D87395C763254713151
+          6E4C698440587026394E0A182A121A271F242D1C1E26191A2422232D1D1D2917
+          1826394E693345621621470011475384D24588E45199F74B90F15491F35490F4
+          4C92F74793F34A96E94C96E84E95F05097EE539BE35FA9E95FA9EB509CDE519C
+          E0519FE2519EE356A3E86FBDFF69B7FE62AEF659A5ED539FE7519DE5539DE552
+          9EE653A1E655A6EA5EB0F74DA2E8429AE14099E3419CE73E9BE63A98E43C9BEA
+          3D9AE93D9AE93E9BEA3D99E83C98E74A9CE45B97D35C6B928F5A63DD9595A176
+          839694B8699CE24C99F04A92F04D92EF5393E75795E35B94E35795E34D96E64A
+          97E64A96DE4B96DA519CE170BDFF5BA6EB64B1F66CB8FF70BCFF54A0E84F9DE2
+          519FE458A9ED56A9ED4CA2E44A9FE34FA5E74BA1E350A7E74EA2E353A9E557AA
+          E751A4DC56A9E151A3DA4EA1D54EA1D54EA0D74EA0D74E9FD84E9ED94E9EDB4E
+          9EDB4C9CDB4D9CDB519FDA4E9DD66AB7F051A1D850A2D950A1DA4FA2DA4D9DD4
+          539CD064A4D45789B300244506243F1A344C25445B33526946647D4B6982536E
+          88546C843B50661726390E18291218251B1D27181A221819231C1E291A1B291E
+          212F354667394C6F14264F00154E5082D44B8BE94E94F24B92F34F90F25091F4
+          4C92F74993F34A95EB4C95E94C95F15199F14D97DF6FB9FB4B95D7539FE1529D
+          E14795D84391D4509FE24C9ADF55A3E863B1F66DBBFF6EBBFF65B2F759A6EB50
+          9DE253A1E660B1F555A7EE4BA0E64196DE3F98E23F9AE53B98E33C98E53C9AE6
+          3E9AE73E9AE73C98E53B95E23C96E3529BDF658BBB6C6580A16167F3ADB37660
+          788294C35A91DC458CE74A93EF4C93EE5293E85793E55B94E35795E34F95E84C
+          97E64E97E1529AE059A1E964AEF64A92DA559FE75099E356A1EB6EB9FF6FBCFF
+          63B0F94C9CE34696DD4DA0E451A3EA4A9DE153A4E74EA0E153A5E672C3FF52A3
+          E04E9FD84B9CD54797CE50A0D550A0D54EA0D74FA1D84EA1D94EA1D94EA0DA4D
+          9EDB4E9CDF4B99DC529FDE55A2E067B6EF4B9AD355A6DF4C9ED84A9CD655A4DD
+          5CA2D867A2D32D5B84000F2D031E3303192B031B2F061E34203850324A625369
+          8255677E4452681C283A141B2A181C271E202A1F212920222C1A1C2712172627
+          2C3B2C3B6234466F1C3664001C585486D95793F34B91EF4A94F24B93F14D92F3
+          4B91F64B92F34D96EC4D96EA4B94F04D94EF5099E36EBAFC4894D64F9DDF4F9D
+          E04E9DE04C9BDE4F9EE14C9BDE4A98DD4896DB4A98DD53A0E55EABF06BB8FD71
+          BFFF4FA0E466B7FB50A2E94EA3E9469BE3449CE34099E33A95E03F99E63E98E5
+          419BE8419BE83E96E33E96E24298E45B9AD75C6B8C9D808FF6B3B8DDA1AC7C78
+          9C7B9DD8679FF05197F24A94EC4C95EB5093EA5393E85794E45795E35195E84F
+          95E84F95E25397E270B4FF5AA1EB569CE94F95E24E93E24B93E1529AE84E99E5
+          5CA7F371BEFF72BFFF5EABF4529FE855A3EA529FE44B99DB519FE16DBDFA4F9C
+          DA4E9DD6509FD856A6DD4E9ED34F9FD44EA0D74FA1D84EA1D94EA1D94EA0DA4D
+          9EDB4D9BDE519FE24A97D667B5F057A6DF4FA1D851A4DC4C9ED84B9CD958A6E1
+          5C9FD8659FD0043157001936081D320A1A2A10213401152704172C0B1E332031
+          462331471D293B0A12232B2E3C2628321E1F291617211719240F152219203146
+          4E5F313B6A273B6A0B3161002F6D6598EE528CEC5599F84491ED4695F04693F0
+          4C90F34E92F15098EC4E97EB4A92F0498FEC62ADF95EA9ED509BDF4D9BDE4B99
+          DC4E9DE04E9EDF4799DA489ADB499ADD4A9BDE4C9DE04F9EE14F9EE1509FE250
+          9FE26EBFFF78C9FF54A6ED4BA0E64095DD4098DF3F98E24099E34098E43F97E3
+          439BE7459BE74296E2469BE5499CE76295CD7E72847C4A4ACF8F94A2778C9EA9
+          DB6692D94C88DA4C91E84D96E84D95E94E92EB5093EA5394E55395E45394E951
+          95E85194E35698E672B4FF4D91DE5C9FEE4F94E3579CEC569DED468DDD5299E9
+          5299E94892E0509AE867B2FE71BCFF6EB7FF559DE364AEF06AB4F660ABE9529D
+          DB54A1DA519ED7509DD5509ED34E9ED34D9FD64EA0D74DA0D84DA0D84B9FD94D
+          9EDB4C9BDA55A2E14B99D46DBDF44A9DD152A5D94DA0D74BA0D854A5E24896D1
+          589BD45A93C6002B52011F3C000F210D1A2A0916260816280B192C1621350C17
+          2B10192D141B2C1B1E2D1416211A1B2525242E282933282B3919202F1D273947
+          5365363F71283D700015482C65A36497ED558CED5398F54494ED4097EF4295F0
+          4C91F25092F14F97EB4E97EB4C91F24A90ED6FBAFF4896D9509EE14E9DE04C9B
+          DE4899DC4B9DDE489ADB50A2E34EA0E14A9BDE4798DB4695D84695D84695D847
+          96D955A6EA5FB0F45AACF361B6FC60B4FC56ABF3469DE73B94DE3F97E33F95E1
+          4399E54297E13F92DD4B9DE5489AE25C84B879575D9C5950DEA5A88D728C7D92
+          D05B90E15D9BEF4F93E64F97E54F96E64C92ED4C92ED4E95E55095E45394E954
+          94E95394E562A4F365A7F64F90E15294E55193E64A8EE14F93E6589EF24C92E5
+          4A90E3539AEA549BEB4D95E35098E65EA5EF76BCFF7BC2FF77BEFE569FDD559D
+          D94E98D24E99D15AA5DD539FD4519FD44F9FD64C9ED54C9FD74C9FD74B9FD94D
+          9FD94D9DDA519FDA5AAAE160B1E44DA1D14EA3D34CA2D64BA0D853A4E14592D0
+          65A8E14178AB1A426C1B3755112033121D2B131C2A171F30192132242B3E1016
+          291016290F1221161725201E2A1C1B251B1A24161622141A271A2233303B4F5E
+          6D8031387121366D0031665492D2598EE55E95F6498EEB4898F13C97EC3F98F0
+          4F95F35393F14F95E94C95E94F94F55399F665B0FC4593D64E9CDF4F9EE14D9D
+          DE499BDC4D9FE04A9EDF469ADB4599DA4599DA4599DA4899DC499ADD4A9BDE4B
+          9CDF58A9ED4495D94193DA4095DB4B9FE755AAF25FB6FF67BEFF4CA3ED4AA1EB
+          4CA1EB4498E04092DA4D9CE54491DA4B6D9B95605DC57663B9888A988BAB7492
+          D95C91EB5596EB5095E45397E25197E44C92ED4992EE4B95E74C95E55394E954
+          94E95293E46CADFE5A9BEC5898EC5698EB5C9DF24E91E65396EB4D90E75598ED
+          5699EE5094E74F93E65398E85196E6488EDB5196DC5BA1E477BBFC75BCFB7BC1
+          FD67B0EA549ED657A3D856A2D753A1D64F9FD44C9ED54B9ED64C9FD74B9FD94C
+          A0DA4D9ED74E9ED36BBAEB53A6D34FA5CF4DA4D04BA3D24AA2D84CA0DA519FDA
+          60A2DD22598C2B537D3854733544572E37451C2130171A29121726171B2D1317
+          29181A2C1C1B2B1D1A291D19251A16211E1D271A1A26151A2919233523304638
+          495E202F6D011E5B427AB55394D85F98ED5892F14A8DE94A98F23E95ED4299F1
+          5098F64E94F14793E64894E7519AF65BA3FB529FE84E9DE04D9CDF499ADD4697
+          DA499DDF4CA0E24498DA489CDD489CDD489CDD489CDD499BDC4899DC4998DB47
+          98DB6ABAFF4698E0499DE93F92E04396E44094E04297DF449CE35DB5FF59B1FD
+          5BADFA4E9FEA4694E1579FE75490CC5562829B584FE0907F8C6F78919BC37299
+          E85A92F14A8BE0559BE85199DF5198E24E92EB4C91EE4B94EA4B95E74F95E953
+          95E85799EA6FB1FF5293E44E90E35293E85396ED4F92E95296EF5395EE4E92EB
+          5093EA5295EC5396EB5194E95296E9579AE95B9FE860A2E968AAF15597DE5497
+          DC6EB2F575B9FA75BCFB59A1DD56A0DA529FD74E9ED54E9DD64D9DD84EA0DA4F
+          A2DA4C9FD34FA1D16FBFEE52A3D04DA0CD52A8D6459ED04CA5D84FA4DC54A1D9
+          4181B715487A2C527C385574354B644354674856693D4759374153232A3D191F
+          320F11231A19291916251D1827191521201D2C1A1B2910152411192A0B162A0C
+          1A2D012065325C9F5691D65A9EE75698EB5698F15798F45093F05197F54794F1
+          4292EF4097EF3E96EA499DEF4793E66EB9FF4696DD4498DA4497DB4499DF459A
+          E0469AE2469BE1469BDF4197D9489FDF479CDA469BD9499CDA4D9DDE3E8CCF61
+          AFF44EA0E8459AEA3D93ED3A91EF4093EE4698E9489BDF449BDD3592E13894E7
+          4D9EEF67B1FF71B9FF6EA5EE677FA36D5860A0564AE7A39C7E7C92779DD3689C
+          EF4F8CEA5C99EF4C90DD56A1E5519CE14D8DE15593ED4E8FEB488FE7529EF047
+          92E065ADFA599FEC5497E65095E54E91E64E93EA5194F04C92ED5093F04C91EE
+          4E91ED5295F15296EF4E92EB4F94EB569AED5493E477B3FF5C98EC5590E65690
+          E95996EC5492E65494E26DAFF680C6FF73BBF756A0DA549DD9569FDB4F99D950
+          9CD74B9ED160B2E162AFE056A1D552A0D54FA1D847A1D74BA5DB479CCE60AADA
+          245C8B27547F2D52783255772B516F355C78355572334F6D536A843F506A2833
+          4914192E1514281D192C1D192C1B172A1412261D1D2F131527191E2D1017260C
+          13223166A97FBAFF7CC3FF4795DC4795E24E9AED4A8CE55291ED518FED4A90ED
+          4698F146A0F53F9AEB3E93E359A4F25FA8F24495D84599DA489BDF469BE14498
+          E04398E0459AE2489EE4449ADC489FDF469BD9449AD64A9AD94C9CDD4D9BDE68
+          B6FD499CE74096EA388FEF378DF13E90EF4494E94699DD4198DA3897E73C99F0
+          4996ED458CE34E92EB729FE28B899D8E645FC37B71B782858497B85B94D1528F
+          E55593F14E8BE15EA1EC4492D44694D75493E45F99F25895F34C8FEB4A97E647
+          95E16BB3FF599FEC5196E65599EC5297EE4F93EC4F95F04F94F14D91F04E93F0
+          4D92EF4D93EE5094ED5296EF5095EC4F92E7619FF36CA8FC5993EC548DEA5A91
+          F25B92F35590ED5996EC4E8DDD5496DD5DA3E673BAF980C7FF6DB4F4569BE054
+          9DDB55A6D963B6E363AEE2569ED4549ED853A1DC489FD7449CD251A3D35498C5
+          245881264F762B4F752E53752552732A5979295376375C7E43607F3B506B1C28
+          4010152A18172B1914291A152A1D1A301A182E18192D121628151A29121A2714
+          1C2958ABE34198D146A3E059BAFA5BB7FE5EB2FE5FA5F84E8DE55594EC4F92E9
+          4691E7499AEB4496E34290DC79BDFF5AA0E64C9ADC4498D94396DA4297DD4599
+          E1469AE24599E14297DB459BDD479EDE469BD9459AD84B9BDC4898D95BA8ED65
+          B2FB4698E53E94E8388EEE3A8DF0458FEF4791E94196DE3B95DC3793E6368CE6
+          4E97F35698F15092E35B80B8897385C28A89FFC0BFAC8A9596B8DC599AD75397
+          EA599DF64586D75398E153A3E44D9BDE5493E4558EE95691EE508FE9498EDD51
+          9AE46BB0FF5698E94D90E55598EF5397F04D90EC4C91EE4F94F14C91EE4F94F1
+          4E94EF4A91E94F94EB549AEE5397EA4D8FE06EB0FF5D9CED5693E9518DE75A94
+          F35892F25590ED5A96EF5998E95B9CE75698DF4E91D65598DD66A8EF71B2FD70
+          B7FB65B5EA65B7E65AA4DA4E95CE549DD75BA7E252A5DD499CD35BA7D83C7DAA
+          25557F2A4F753252763154762A53742853742A5275446789395573344762111C
+          321014271D1B2E1713261712271A182C14152A0B0E23151C2F121C2E0A172708
+          15253C9BCD3C9FD339A3D935A0DA379BDB47A4E964B2FF76BDFF60A2F35BA0F0
+          4B96E54E9CE84F9DE4549FE478B9FE4F90D44E9BDA489BD94798DB4699DD4698
+          DF459AE04499DF4499DD449ADC459CDC489DDB489DDB4B9DDE4594D75EACF354
+          A2EE4497E53F94EA3C90EF408FF04B8FEE4A92EA4096E23895E03D94EA4492EF
+          4C90F34D8CE65995DB5D78A47B535FB47273D09FA79C90A68ABAE46DB8F672BD
+          FF67AEFF5FA3F04E94DA4898D94593D85395E8558EE95A93F05895EB5394DF6B
+          AFF861A3F45293E84D90E75496EF5093EF4C8FEB4C91EE4E93F04D92EF4E94EF
+          4E95ED4C93EA4E94E75198E85398E85497E673B5FF5594E45A98EC518DE75892
+          F15791F05690EF5793ED5A97ED5291E15595E35D9EE9599AE55292E05796E75D
+          A1EA73C0F976C5F871BBF362A8E3529AD64E97D34E9FD858A8DD549CCC225F8B
+          27537C2D51773755783553763056762B52722E547744648737516F23344E0A13
+          271214261F1C2C1B15261E1A2D1B1A2E12152A0F152C303D532E3F541E314611
+          24393F9DCB3799C937A0D13CA6DB3BA4DD3FA2E0449CE24193DB5AA7F06AB7FF
+          61B1F854A5E94A98DA5BA3E365A3E363A2DF4B96D44B9CD94F9FE04B9CDF4697
+          DB4396DA489BDF4EA1E5479BDD469ADB489DDB479BDC4B9CDF4697DB5DACF549
+          99E64395E73F93EC3F92EE4490F05090EE4E92EB3C95E63695E44396EC4892F0
+          4487EE4D89E36095CE5A6583884A50DA8F919373868D9BBF65A4D64FA6E652A4
+          F154A1F076BEFF73BCFF5CAEEF4FA2E65197EA4C8AE4568FEA5E97EC5E9AE076
+          B4FA5596E75191E95396ED5496EF4E91ED5093EF5197F24F95F04F95F04C93EB
+          4E94E85197EA5095E54D92E1579BE863A7F467AAF54F91DF5C9DEE5190E85590
+          ED5791F05993F2548FEC5F9BF5528FE54F8DE15695E65995E75894E85792E84F
+          91E071BDF85EACE15DA6E072B8F47EC6FF76BFFB5DAAE24C97CB488ABA164D78
+          2651782F4F73365275324E703253742F52733B5D813D5B7E39516F12213B0C13
+          261717271C1A261D19251D1A2A1517290D132A121E3641526C435A74364F6928
+          435D003C6C3888B74EA7D93795CA3397CE3CA0DA3A99D83997D83D98DB449FE2
+          47A1E255ACEA74C5FF8ED6FF619FDB5493CF539DD74999D44695D44797D84B9A
+          DD4B9CE04A9BDF469ADC499DDE479BDC469BD94498D94899DD51A1E85CAAF646
+          98E64093E83E92EB4090ED458FED5190EC4C90E93A94E93794E93E91E7438DEB
+          4589F2629BF1668DBA554F60A4595BFFB3BA7566857CA2D25EABE44DABED4FA6
+          F057A8F35BA6EA5AA6E85DB1F266BBFF72BCFF64A6FF528EE75189DA619BDD7C
+          B9FB5392E25293E85396ED5295EC4C90E95094ED5299F14D94EC5097EF4B92E9
+          4E94E85399EC5196E64C91E0599DEA6CB0FD589AE84F91E05999ED5493EB538E
+          EB5892F15C96F5558FEE4D88E55B97F15D99F25490E95792E8619BF4609AF355
+          94E56BB5F556A5DE529BD7579EDD569DDC5CA4E06FB9F182C9FB4684B2235982
+          315B803353763652742F4A6C2E4D6E2F507148668939547633486409172E1118
+          291B1B291B17221D19251616240F13250B162C162741334B6737537131506F30
+          52700012460023582C659C5AA0D64EA1D93C99D13CA0DB36A0DD2D97D6329DDA
+          3CA4DF3699D34BA4DD66B3EB67AAE184C7FE60AAE453A3DE4C9BDA4A9ADB4E9D
+          E04D9EE14899DC4293D64A9CDD489BD9469ADB4498D9479ADE5BADF553A3F043
+          94E53F92E73E92EB4091EC4390EC4E90E94A91E93C92EC3A94ED4494ED4C97F3
+          448EF45389DC5B6E8F785C62C77473BE76828A8EB76DA4E150A6E842A2E849A5
+          EE5AAFF557A3E55BA8E757AEEE4FA7ED4FA1F261ACFF78B9FF81BDFF7CB7F562
+          9FDD5D9EE95496E75094E75094E74C92E64F95E95196ED4E93EA5196ED4E94E8
+          5195E85397EA5395E65295E45D9FEE6BADFC5192E35494E85292E75997F1528F
+          ED5490F05A94F45791F15B95F55791F05790ED5C95F05993EC4B85DE5791EA7A
+          BCFF5BA7E94EA0DA53A0DE5AA5E355A0DE559FD959A1D7589BCC36729C2F6388
+          3761843B5E7F405F80395675335273365576476385364F6F1C2F4A0A152B1419
+          281B1B271B17221D19241C1C2A13192C142239283D59304C6B2E5173284E712D
+          55783E4983233570001D5813437D4F91CC52A4DE3294D036A2DC35A5E12497D0
+          309ED8349BD257B2E95BADE4519BD15199CF62AFE769B7F26ABAF75FAEED4B9B
+          DC4190D34796D950A2E34699D7479AD84A9CDD479BDD4A9DE163B5FD4A9AE73A
+          8BDC3E94E83F93EC3F93EC4292EB4992E84791E93F92EE3C93EF4696EF3E8CE6
+          418DED6392DC6460798A5C5BE08E8DAD73858EA3D75FA5EB4EA7F148AAF24BA7
+          EE4CA1E555A4E35BAAE94BA2E44EA8EF4BA2F252A4F6569DED66A7F188C7FF82
+          C1FD6DB0F5599DE85096E35398E75199E75097E75197EA5096E94F95E85096E9
+          5296E95195E85294E75698EB5FA0F166A6FA5393E85A99F14D8BE55D9AF75490
+          F0508CEC568FF2568FF2538DED5993F2568FEC5790EB5F99F25793E75A96E871
+          B3FF4F9DE0499CDA4EA1DF50A0DF4C9CD758A3DB5CA2D75393C318537B295B7F
+          315C7D3D63814C6E8C4766853F5E7F4160813F5A7C364B6A0817310D162A1518
+          261D1C261D19241B1A241718260D142712213B324A68315174305679224D7425
+          5278514B8C4A4A8A3D49892443820737774287C6429BD83499D732A0DC2B9CD5
+          36A2DC379ED561BEF53F95CB52A2D74E9CD14E9ED54A98D34D9DDA5FAEED6FBD
+          FF6CBAFC5AA8EA4898D74A9AD94DA0DD4C9FDD4B9DDE50A2E950A1EC4A99E848
+          99EA4194E93D92E83C90E93E93E94496E84495EA3F90EB3C8CE93E91E73F90E5
+          4A95EB4E74B4765A6D8C4D49DF9A9D9E7A927FA3DF55A3F04AA4F147A6F04CA6
+          ED51A6EA58A7E658A7E650A7E944A0E74CA9F8489FEF549FED70B6FC6BB2EB5C
+          A2D864ABEB73BAFE77BFFF67AFF55198E2498FDC4D95E3559DEB5196E65195E8
+          589AED5192E75191E65292E781BEFF4D89E25997F15794F15592F0538FEF558F
+          EF558EF1558EF1558EF15791F15791F05994F15793EC5793E75B99E764A2EE6A
+          AFF557A7E8449BDB4CA3E350A5E34DA1DB51A1D863AADC3472A01A537A245778
+          2957762D5774335977385C7A4467885A799A546D8D2639540D1B3211182B1213
+          21181721211D281B19251419280B162A1C2F4A334F6E2F5377264F7623517A21
+          527A4B488D474A8E485397344E90234D90205C9E4999DA3A99D8389DDB339DDA
+          389CD749AAE457B1EA439AD2489ED44B9ED54A9BD44A9AD54999D64797D44795
+          D74F9DDF60AFEE70C0FD60B0ED53A4E14595D44EA0E16CBCFF56A7F24493E23F
+          90E14092E43D93E73E93E93C93E93B94E53D93E54593ED4794F04598EE408FDE
+          4C90D9526A9EBE909DF5AEABCD9AA2998FAD71A3E550A2F44CA3F34AA4F14CA6
+          ED51A6EA57A7E857A7E851A8EB46A5EB46A6F248A4F154A3EC6CB7FB61ABE557
+          A3D8559EDA559EDC58A2E267B1F376BFFF76BEFF61AAF44C94E15499E8478CDC
+          5092E55697EC5292E75F9EF66DA9FF5793ED508BE8508DEB5690EF5993F35A94
+          F45993F35791F1548EEE5690F05A94F35691EE5693E95998E85697E16EAFF460
+          A7EA4FA1E24CA3E3479FDF4BA4E14BA2DB52A2D75DA2D328668F22587B255676
+          2958742B58732C56733158783B6082486788445A7622314B1621371F26371F20
+          2E1D1C261B19250F101E12182B0C1A312A3F5E3250732A4F751F497322527C2E
+          608A3850922A44862E498C2344892C569B265DA2539ADD4798DB4299DB429CDC
+          4095D362B5F250A2DC4BA0D84198D049A0D84B9ED64D9DD84E9EDB4D9DDA4B97
+          D94793D54A97D6509DDB56A3E16CBCF768B8F55FAFEE61AFF44291DA4694E14D
+          9CEB4698E64395E63E93E93C93E93A97E63B94E4418EE4408AE23E90E24C97E1
+          6297D04B517693545EDE9597846A7A9DB0D665A3E94EA2F450A2F350A3F14EA5
+          EF50A6EC55A6EA55A6EA52A8EE4BA7EE43A5ED49A8F158AAF166B4F654A4DF54
+          A4DB59A6DF57A0DC539CDA519AD8519BDB5AA4E66AB2F878C0FF74B8FF5B9FEC
+          5698E75596E74F8DE16FACFF5A95EB5C96EF5E97F45B95F45A92F1558DEC528A
+          E9548CEB5892F15D97F6558FEE5C97F4518FE95393E75799E7579CE174B9F854
+          9FDD499BDC52A9EB429CDC47A2DF4AA4DB55A6D94D91C01B567E2A5D7E285776
+          2C5B772E5D782A5673315A7A3A60833C5B7C3245601A273D141B2E1D21331F20
+          2E1F1F2B20212F181C2E0B132A10213C38517136567A30547C224C7627547F32
+          628C3C71B0295C9B2757991A498D1E51974A85CA5196DB4B99DC4798DB499BDC
+          4B98D76DB8F64B98D64EA0DA3E98CF47A1D84A9ED84698D24494D14998D7509C
+          DE509DDC4A97D64693D14593CE509ED94E9BD969B8F775C2FF69B6FF5CA7F542
+          90DD4796DF4494E14091E63B90E63794E33C96E34995E74C96E84E9FF05596DA
+          5F7CA863536AA45B63DC97A17975927BA9D85AA5EA4CA3F353A2F353A2F14EA5
+          EF4CA6ED53A5ED53A5EC53A7EF4CA6ED45A5EB49A8ED64B5F860ACEE51A1DE53
+          A3DE509CD7539CD858A1DD5DA6E458A2E2529CDC529CDE57A0E45BA1E76BB0F9
+          79BCFF70B2FF609FEF72B1FF538FE15D99ED5993EC5790EB568FEA5993EC5D97
+          F05D96F15790ED508BE85690EF5996F3518FE95494E85396E164AAED6EB6F24F
+          9CD54B9DDE50A6E8429FDE46A2DD4CA6DD56A8D83677A41A51782E5D7D2A5673
+          315E7931607B2A587735608140658B3B577A24354F161F330F16271619281819
+          271B1C2A2124331E253818233E2B3D5A3C57792D4F732C5078234B7534608930
+          5E874697D44592D04387C83878B92665A95195D84997DA4A9BDE4599DA4B9BDC
+          57A1E168AFEE4F98D64E9CD7419BD245A0D7439AD34396D34595D44797D64997
+          D94B98D74E9BDA549FDD54A0DB4392CB4290CB6BBBF84D9BDE4896DD5DA8F672
+          BEFF62AFF456A3EC4794EA3E91E74098E5439CE64797E44391DE3B88D7588DCC
+          6E6E8C875C67C87B83A16A7B798DB664A7E053A6EA4EA4F055A3F055A3F04CA4
+          F048A5F050A4F051A4EF53A7EF4DA3E94BA8ED4DA7E870BCFE5BA2E553A1E353
+          A2E15EA8E857A0DE529BD9559DDD56A0E0549EDE529CDC549EE05AA1E55EA5E9
+          599EE363A5EC81C1FF8AC9FF6EABF55F9BE7548EE05891E65D97E95C96E85892
+          E45591E55893E95B97F15792EF5491EE5391EB5697EC4F93DE72B9FC5FA8E44F
+          9ED752A2E3499DDF49A3E348A4DF4FA7DD54A2D1205D8924557B2B56772C5471
+          315C772D5C77275574355F823E628A354F7418263D161D2E141928191C2A1A1A
+          2A15182714182B0F172E0A1835415676506C8F40618830547C2249703B648B2E
+          577E3B9ED849A7E2499CDA509DDC4793D54292D34CA2E43F99D93F99D9479EDC
+          5FACEB5BA2E1529AD64C9BD4469ED4449FD6459CD5489BD84D9DDC4E9EDD4B99
+          DB4594D34892D24A96D154A1DA4693CC55A1DC71BEFC4C97DB4995DD4A94E24D
+          98E457A1E363AEF36AB3FF5EADFF4A9DEB3D92DA3F94DA4A99E24D97E5658AC6
+          775B6E945253EA9DA4845A717EA6D754A8E94CA7EA4EA6EC58A3ED57A3EF4AA5
+          F047A5F14CA4F150A3F154A5F050A2E950AAEB55ACEC71B9F9589CDF56A1E552
+          A0E3529BDF579EE15BA2E55DA4E757A1E3539DDD559FDF59A3E3549CDC5CA3E3
+          569ADB5CA0E172B4F560A2E36DADEE7DBBFF7DB7FF6DA6F55C96E25491DB5A97
+          E15F9AE95A96E8528FE55792EF518EEB5493EF5697EC5599E672BBFF529ED953
+          A1DC56A4E64698D94DA5E54BA5DE4EA4DA448EBE16507A2F5C812F5575325773
+          315D752C59742957763761843759842940660E1A32141928151826171A281919
+          291416280E15290A1530182A493C5276314E753757804568904E729A4B709623
+          496C319AD3389CD63D98D5499EDC51A6E43D98D541A6E4319BD8339AD843A5E1
+          5EB4F04B99D4519BD54D9DD4469ED4439FD44AA0DC4499D74193D44595D64997
+          D94B9AD9509ADA529ED94B95CF4E9BD464B0EB519EDC4793D5519EE34D98E44C
+          95DF589FDF4D94D7468CE05299F465B2FF69BBFF56ADEF4398DC4D93E0516AA2
+          84505AC06A64DB90988D718E71A7E347A6EC48A8EA4EA8E958A5EA57A4ED48A5
+          F043A5F348A3F44EA3F356A4F156A6ED53A7E866B6F56AACED5D9CE0599FE553
+          9DE55AA2EA589DE6549AE05298DE549DE159A3E55BA3E3579FDF569DDC59A1DD
+          589EDA63A9E475B9F45EA0DB5D9CD865A4E1649FE475B1F783C0FF7CB9FD64A3
+          E75492D95492E05C9AEE5692EC518EEB5493EF5393EB63A8F765ADF3509BD956
+          A3E157A1E34E9CDE4CA3E34BA4DD4C9ED52A72A21A5079325C81355677395B78
+          325B742A5772305D7E3B658A2F4E7B1B30560E162D1619271516241415231518
+          2714182B10182F101C382336593D547A38547D2E4E7724476F3E628842668A4F
+          749639A3D9379CD346A3E03F97D73D95D543A0DF3698D4399FDA349BD447AAE4
+          5EB6F24395CF4B99D4509FD8499CD3489ED4449BD44699D64B9BDA4E9CDE519A
+          DE5097DB4E95D84E96D64A93D1519DD86EBEFB4494D34F9FE04896DB3F8CD54F
+          9BE34D96DA5098E04C95EB4991E94B93E14F9DE256AEEE68BBF87BB9F9556590
+          935456E69189A06B759B97BB6AA7E946A4F04AA7EC50A7E958A5EA57A4ED4AA5
+          F047A4F34AA3F350A3F156A4F15DABF251A3E472BFFE5FA0E45F9DE3589DE354
+          9CE45398E1599EE75CA1EA589EE4549DE157A1E35AA2E2579FDF549BDA5BA3DF
+          5DA3DE61A7E26CB1EA68ABE45C9FD85FA1DC67A5E55C9CDC5A9ADA69A9EA7DBC
+          FF80BEFF6FABF75997E55594E55492E65596E74F92E173B7FF57A0E4519EDD54
+          A3E24D9CDF51A2E54BA0DE50A3DB4D9ACB1D5E8A22557D2E587B325577385B7C
+          2C557526527138618242668C2D46701323470E142B1A1A2A1A1B29171A291A1D
+          2C13192C0B152D061633394F73334C762D4D782B4E7A2E507B4E719927496D34
+          57793EA1D33B9ED23C99D6429BDE479CE04495D84898D556A7E0479AD168BFF7
+          439BD74499D74998D74B96D44F98D44794CC4B9ED54499D14D9AD85399DC5191
+          D85996E05C98E44D8ED85098DE4B9ADD5AAEF03F96D83E95D74299DB4499DF43
+          97DF4696E34192E34090E74F9DF04890D64D97D7449AD6509CD15B8FB4848A9D
+          D99C98F1AFAA74647688A3CF70AEF44E9FF04FA2ED52A4EC57A4ED54A2EE4FA2
+          ED4EA2EE51A3F055A6F159A6EF59A7EE5BA8ED68B3F75A9FE45EA1E65A9FE557
+          9CE2589EE4569EE4569EE4569FE3589FE3589FE259A0E059A0E05AA1E05AA1E0
+          589EDA72B8F461A6E55A9DDC5FA2E15B9EDB5DA3DE5DA3DE5CA1E0599DE05C9A
+          E062A0E76EACF378B6FC84C3FF65A5E65C9FDE60A6E26DB6F25AA5E353A0DF4B
+          9DDE49A4E749A5E6489FD85BA8D94C8EB7215B7F2151732A577929557A2E5980
+          2E5B812B547B47688F3D577B27375B121C3A12172C141628141726191C2B1619
+          28141B2E0311281A2E4D3650782E4F7C294D7D284E7E30548240638E2D4E753A
+          5A7E63C2F358B6EB479FDF3F94DA4597DE4A98DD4A95D34D97CF56A2D767B7EE
+          479AD84397D84593D64B95D7539BD7549ED84799D04697D04F9CDA559DDD5196
+          DB5699DE579CE14D94D84A96D85EAEEF53A7E8449ADC4398DC459AE04495E045
+          95E2499AEB4092E43E90E24593E05095DA569DDC4497D45FA2D3536E89716069
+          C1827ED09B9EAABBD58CC6F773B8FD5AA5F356A4F153A4EF55A4ED53A5ED54A6
+          EE54A6EE53A5ED54A4EB4E9EE557A5EA6EBBFF62ABEF569DE1599EE3589BE05A
+          9FE459A0E457A0E457A0E457A1E359A0E359A1E15AA1E15AA1E059A0DF59A0DF
+          60A5E46DB2F160A4E5599DDE5FA1E25BA0DF5AA3DD5BA5DF5CA3E25CA0E35B9B
+          E25C9AE1619DE365A2E464A3DF6FB2E97BC1F687D0FF6EB8F0519DD8539FE154
+          A5E843A0E542A0E153A6DD5CA2D12F6A911C4F6F2B59783562832F5F832C5A83
+          2D5A852D557F47678B394E6E26314F161B34181D32111527191C2B1518271217
+          26141E300A1933283F5F3250792C4E7C264E7F264E7F355B8B385B8731517A38
+          587C3697C959B4EB71BFFF67B3FB50A5EB449BDD469DD64FA2D960AEE35AA7DF
+          4897D64D9BDE4F9ADF529CDE4494CF4091CA4894CF4794D24C9CD94A9ED8419B
+          D2419DD245A1D2439DCC479CCC6CBEEE549FD7549BDA5498E15597E64F8FE750
+          93EA4A94E64492DE4D9BE24C92D85F9BE15C9CDD3F92D05C96C7685C78905A67
+          E59B9F9F77828AB6D558ADDD61B4F268BAFF6FC1FF62B7FD56A8EF4EA3E94FA4
+          EA51A6EA50A5E950A4E65AABEE5CABEE6FBDFF4D97D9559CDF61A7EA599DE059
+          9FE259A0E457A0E459A0E459A0E359A0E359A1E15AA1E15AA1E05BA0DF5BA1DD
+          6BB1ED66ACE860A3E25C9FDE5EA1E05DA2E156A0DA59A2DE5CA3E35FA3E65F9F
+          E65D9DE45E9CE25E9EDF63A5E05FA2DB579DD374BEF473BDF776C1FF6DB8FC57
+          A5EA4CA3E64397D857A1D95090C021557D295677325E7D295574225072235076
+          2451773C6389446384354B6717243E10172B181C2E0F12211D1D2D1114231216
+          28111A2E15233F354B6E33507C2B4C7D274F802951823C63902C527C33577D34
+          577940A0D6469EDA4C94DA5199E15CB1F762BEFF57B4EC4AA4DA6EC2F651A0D9
+          4694D6448FD4458AD04B95D74498D24CA3DB4899D64998D74699D6419AD33D98
+          CF3C9ACF419ECF419ECB50A9D55EB3E14D9CCF529AD6579ADF5797E55491E752
+          93E8448EDC4696DD4FA2E04A9AD75A9BE05596DB4D9DDA5985B4815873A75768
+          E3A1AD8C788B68A7CD49AEE253B1EC56B0F052A9EB61B8FA6EC5FF6BC2FF5BB2
+          F44FA6E84FA5E755ACEC499DDE5DB0EE6EBCFE55A2E158A2E25BA3E3549BDB57
+          9EDE589FE256A0E2589FE258A0E058A0E058A1DF59A0DF59A1DD5BA1DD5DA3DF
+          73B9F55FA5E15FA2DF5EA1E05EA1E05EA4E058A1DD56A1DF58A0E05AA0E35EA1
+          E661A2E763A2E663A3E35C9ED961A6DF6DB4ED69B2EC4F98D656A0E260AAF267
+          B2FC81CFFF6EB8F86FB0E7447CAD25537C365F803E65852E5575366083325E83
+          265075496F913552712D455D0C192F151D2E1116251314221A1A2A141628151B
+          2E0A142C233252364D73324F7C2D4E7F254D7E30598A39628F29507733577B30
+          5676449DDA489CDD4E93DC488FD94395DC409DDC4AAAE05BBAEC78D4FF51A8E1
+          52A0E35298DE5393DA5298DB3E95CD3898CD3F9ED6439CD94397D84797D84B96
+          DA4D96DA4A96D84A9AD764B8F2449BD346A0D7459CD44A9ED84D9DDA519BDD4D
+          98DC4696DD439ADC3A9FD33A9FD34497DB4B96DB61ABE354709997576DC97181
+          AF8295959DBB6AB2E14DB4EB4AB1EA48ACE64DADE94AA7E64CA6E659B3F369C3
+          FF6DC7FF63BBFB55ACEA5BB0EE67BAF7509FDE519EDC549FDD59A2E05AA1E058
+          9FDF589FE2589FE2589FE258A0E058A0E058A1DF59A0DF59A1DD5BA1DD61A7E2
+          73B9F45BA1DC5EA2DD5EA1DE5DA0DD5EA4E05CA5E358A2E2589FE2589EE15B9F
+          E25B9FE25DA0DF5C9FDC63A7E25CA3DC76BCF75BA2E14F96D9539BE34C94E250
+          98E5498ED766A6E782BBF34C7BAE38608A2C507430537531547532587A2E5778
+          2F5879486E8C35526D21364B091729121A271216211E202B161725161A2C171D
+          34091430354569374F792F4D7C2E5183234A7E396293325C872953783057772F
+          57744798DB4A98DD4D96E04C97E14797DE3C94D4429FD655B6E84CAFE34BA9E4
+          6FC2FF71B9FF65A3EA5496D7489BCF4BA5D44399CF489AD44996D44E95D85597
+          DE5294DB4E92DB5199DF6DBDFE3B92D04AA4DF43A0D8459DD9479DD94B9EDC47
+          97D84A9AE1409ADB319ACD39A3D83B9ADF4897DA5D97C84B50719F5162FAA3B1
+          83738B86ABD160AEE342A8E349B1EC47B0E949ADE84CAEEA4EAEEA4AAAE648A8
+          E44FACE95EB9F66AC3FF71C8FF75C8FF4D9DDC58A8E5559FDF549DDB5DA4E457
+          9FDF59A0E359A0E359A1E159A1E159A2E059A2E05AA2DE5AA3DD5DA3DE66ACE7
+          6BB1EC5BA1DC5EA2DD5FA3DE5DA0DD5DA3DF59A1E157A1E359A0E359A0E35AA1
+          E15B9FE05AA0DC589ED9599FDA59A2DC74BCF8569EDE559DE5549CE94B94E656
+          9BEB61A0EA639BDC4A7CB6204B7E4669954D6E954B6B8F47678A3257792A5072
+          4167873B5D7A3650680D2133111C2A11172217192323242E0F12201216281017
+          30121D3D3E4F76384F7D2F4C7F2D4F84284F833B65942C56802C56792C56732D
+          58734F98E24B98E14394DF4394DF4694D94595D44FA6DE61C1F646B0E5329AD5
+          3D98DD4A98DF6CB1F67BBCF975BDEC68ADD85F9ACB669FD35F99D45895D35496
+          D74D93D64D96DA5AA5E95DABEE4A9ADB4B9CDF4A9EE04699DD459BE1459DE440
+          95DF4896E34395DD3B9BD73DA3DE3A9FE44C99D7597AA1705B71BB656FE59DAA
+          6A7C9965A9D663B3EE59B5F64CB3F23CA6E34AAFED4CAFED4DAEED4CADEC4AAB
+          EA4AA9E84EA8E84FA7E75AB1F16CBFFD6DBDFE73C2FF64AEF0539DDD5DA4E75B
+          A2E559A0E357A1E359A1E159A1E159A2E059A2E05AA2DE5AA3DD5EA4DF6CB3EC
+          60A7E05CA3DC5EA3DC5FA4DD5DA1DC5BA1DD569EDE559FE159A0E35AA2E25CA3
+          E25BA3DF5BA3DF5BA4DE62ABE56DB5F162A9E95299DD569CE95299E94D94EB54
+          96E95792DA6498DA3F6DA7244C812E4F8030507B3150773F5F83517599486D8F
+          517495375572223851031225161D2C1D1F2A181A221D1E281215230E14270A13
+          2E2531533D4E79364D7D2F4E83274C80335A8E36608F2B567D2A57782A56732B
+          59714D95E34B96E44096E24196E04C97DC4F97D750A5DD59B9EE35A0D93CA7E4
+          4DADF3459DE350A0DF5B9ED57BADD78EADCE9FA7C4A8ACC995A3C77D99C26B96
+          C75A93CA5C9DDA6DB5F54893D756A3E84593DA4C9BE44595E24699E7449BEB3F
+          94E44995E74893E14C9BE44398DE3C99DE5B9CD3737692C1929BFFA5ABC38896
+          79A3C658B3E653ADE84DABEC3FA4E84AB3F646ADEC47ACEA45A9E948AAEA4AAB
+          EB4DABEC4FABEC52A9EB69BFFF51A5E750A1E452A0E367B2F672BBFF76BFFF61
+          AAEE569FE356A0E2589FE258A0E058A0E058A1DF59A1DD59A2DC5DA6E06FB6EF
+          589FD85DA4DD5EA3DC5FA4DD5DA1DC599FDB59A0E357A0E4589FE2579FDF579E
+          DD579FDB59A2DC5BA4DE579FDB75BEFC5198DC549CE4559AE94B91E55195EE57
+          99EC609AE26093D223518B264D84284B7D3657852F4F7A34557C2C4D743C5F81
+          4C6B8C4C668422334D141F331214261515211B1A23181A221C1F2D11182C0B16
+          3237476C374C79344D7F304F8423487C3C6495315A872C587D2956772C59742A
+          58704C95E54493E23D95E1489DE54A8FD45499D864BAF04BADE33FAAE43FABEB
+          3AA1E649ACF045A6DE5199C89DB3D688708293524AAE6355C28B88CAADB6AAAD
+          C28AA6C96293C575B4F0569FE34796DF4393E0499AEB4292E53E8EE34E9EF33D
+          8DE24692E54D90E55691E7609AEC4A8FD56E96C67C5D6C9E5454FFADB2AA7D8E
+          7EB6DF4AB4EA42AAE543ABEC50B6FF40A5F041A9EC49B0EF3FA5E650B4F544A5
+          E74BA9EB56B1F452A9EC61B6FC56A8EF51A1E856A4EB56A1EB539CE659A2EC65
+          AFF776C1FF6DB8FC5DA6EA59A3E5539DDD529DDB5DA6E256A0DA6FB9F360A9E3
+          59A2DC5CA5DF5DA3DE5BA1DC5BA1DC589EDA569DE0539ADE5AA1E45DA6E457A0
+          DC5AA4DE5FA8E2579FDB5DA6E472BAFA549AE04F95E25398E85298EC498DE65B
+          9BEF67A0E53F70AE25538D224B82284D812D5181294C782B4D783051784B6B8F
+          385375324766101D3720243C2B293D2722311E1D261F21291116250911281926
+          4641547A344B793752853151862447793A60902B557F2753782B59782F5E7A29
+          58734796E73C8EDC449AE64193DB5295DA539AD95FBAF144AADF3DA4E23EA6E9
+          329CE335A1E13EABDE6CB3D8AAA3BE925055BC4E34CD5531B85438AF6252A373
+          72AE9AA7C1C4E096B0D56991C1679AD2609DDB589BE05199E6539EED3B89DC41
+          91E44698E6539DEF4C8AE45A90E3699FDE607297895156BA6660CA8288978298
+          6EB0E03DABE53BACE53DABEB45AAF841A4F443A9F145ADEE44A9ED48ABEF49AA
+          EE4CA8EF4DA7EE62B7FF57AAF550A1EC4E9CE8539FEB539DEB4F99E7529CEA5D
+          A5F2539CE661ACF16FBAFF76BFFF6CB6F85DA7E759A4E25AA3DF74BDF962ACE6
+          58A1DD59A2DC58A0DC5BA4DE62A8E461A8E764AAED5EA5E85CA4E459A2E0559F
+          D958A2DC5DA6E05BA3DF6AB2F265ACF04F96E05398E75195E85699EE4D92E957
+          96E66197D835649C1F4D83254F842B53842D53832D507C31537E35557E425F84
+          3C557720324F0F183319193120192E221A2B24232C22252D192031111D352A3B
+          5C3A5079314B7A2645782F5082385C8C39608C2D567D2852752D5B7A28577328
+          57733E97E7398EDC4A98E54991D95096D958A8E550B6EB3DA9DF48A9E941A1E7
+          359FE631A2E037ABD46EB1CAA98595B95855D65B3FD8552ED45836D45F44BA54
+          3EA75040EEA9A0BF8F8ED0B6BCB9B6C6A0B2CF7399C35991C8549ADD4492DF43
+          98E6308FD448A7EC3C95E54891DB6D9ED062637D995451E190888361678596B0
+          66AFE33FA8E740B0EC3DADEF3CA3F243A7F944AAF341A9EC4AAFF440A2E84DAD
+          F34DA9F249A2EC6EC3FF4FA1EE4F9FEC519EED529FEE549FEE529DEC529CEE55
+          9EEE539EEA4F9AE4519CE659A3EB66B1F66CB7FB69B5F773BDFD65B0EE58A4DF
+          549FDD59A2DE57A0DE569FDB579EDD549BDA5298DB569CDF569DDC58A0DC5DA6
+          E05CA5DF59A1DD5AA1E174BBFF559AE34F93E05A9CED5094E7579BEE5397EA57
+          96E05E90CC2F5A8D214A7B2952832A508029507D2B4E7A2E51793F60873C587B
+          3D54740E1C3814193215122B1A1126221A2B21202A1B20291920331F2C464054
+          773E57813E5C8B2E4F802549794266943258822C537A2A5275335E7F2C587731
+          5D7C3A97E63F94E24A90DD5798E24A94D463BCF53FACE23CAAE443A0E545A1EA
+          3FA8F132A2DE42ACD189BBCDA76D72B84439D15134D6512CE6613FD95B39D65B
+          3BDA684AFF9D82C56B53B46C5A8F5A50AD8E91C2BACBAAB9D97B9CC96E9DD555
+          94CE4E9FD2449ED43C9ADB5EABE46488AC615260964C46ECA79E65677176ACCA
+          5EB0E74BACEE46AEEF44ACF13BA3F041A8F744AAF242A7EC4DAFF542A2E84DAB
+          F44CA8F155ABF766BAFF4C9EEC51A0EF54A0F2539FF1559FF156A0F2559EF253
+          9DEF529DEC539FEB59A4F0529DE7539FE756A3E85BA6EA71BDFF79C6FF6DB7F7
+          64AEEE60ABE959A3E359A2E05BA3E359A1E15DA4E461A8E85AA2DE569FD95BA5
+          DD59A2DC5AA1E066ACEF6EB3FC4F93E05193E45A9CED5294E75499E95699E860
+          9DE14C79AC2C4F7A274A7630537F2B4E7A2D507B31547C32567C4565893A5678
+          2D435F06132D181E3516142A1C1328241C2D1917231316240E172B253651425A
+          7E405C85466794395D8B2F548042689230577E31587E32587B30597A30587B29
+          53763797E34397E34E8FDA5C9AE14B9EDC5CC0F736A8DD39A9E546A5EB3E9BE6
+          3DA6EF41A8E158A9CA879DA99A524BCA4F3BD75439D65436CF5838C45535BE57
+          36FB9878E68363CD6B4DCC684FBC5D49C97065AE65619C696DD2B0BBD1C1D3B6
+          BED57EA6BF61A1C04A99C45FA0C66272837F6265C17874A97876608A975EB7D9
+          51ABE454AEF54EA5EF49A6F141A8F13EA8EF44ABF044A7EB4AADF148A9ED4AA6
+          ED4EA8EF65BCFF52A6F24A9CEA4F9EED529EF04F9BED509CEF529EF1529EF150
+          9CEF529EF054A1F059A4F355A0EE519DE9529FE856A2EA62AFF44492D54A96D8
+          5BA7E96AB7F66AB6F866B0F05CA6E8529ADA559CDC5FA4E35DA3DE5BA2DB5EA5
+          DE5AA0DB5BA2E16BB0F55FA2ED5394E55797EB5797EB5596E75296E35598E361
+          9CDA3D608B334E703B55793D587D33507734537A355579345477446382385570
+          122841051329161D3117162A1D162B1F192A1717251217260A152B2D3F5C3751
+          7633537C3358842E5581567CA6456C92355B7E3056792F5377264C6F385F852E
+          557B3895E04194DF5794DE5293D855B1EC46B3E937A8E037A6E446A8F03C9CE8
+          37A3EB4CA9E179ACCC979097A45344CD5538CE5037D95E44C8573CCE6649BA58
+          3AFC9C7EBC5737D76B4CD86346CB543AD35E49D36756C3675CEFA49CA16460BF
+          9799B5A4ADB8BFD0A1BCD6899EB46D5C60754541DA93907C5A606CABC04FBAE0
+          49A9E558AEFA519FF252A4F54AAFF342ACEB46ACED45A9EA49AAEE4EADF249A4
+          E953ABF26CC1FF4598E34E9EEB4F9EED519EED4F9BED4F9BEE4F9DF0509EF14F
+          9DF056A2F5519DEF4793E54B98E7529DEB5CA8F467B4FD59A7EE4794D94492D5
+          4994D8509CDE55A0E462AEF06FBAFE75BFFF5AA1E05FA5E15EA5DE5DA4DD5BA2
+          DB599FDA5FA6E66EB3F95294E35898EC5999EE5494E85698E75295E05499DE49
+          81B81D395C2D3C563A4D683C506F394F723C567A3C587A425F7E405E79324E66
+          021A2E09182B141B2E16182A1B172A1C1627191828131A2B16223A394D6C304D
+          722A4E76224A74244E783C668B3056793F64864B70924D71953A5E843D618926
+          4C763C93DD4796DF5493DD5196DB56BDF637ABE038A7DF3CA6E5319AE33CA6F3
+          37A5ED4E9FD89CAFD0C5A1A7CC785FBD522DC55138D05D48C2533DC2553FE379
+          62FF9C84DA6B51D15E43CE5339DC6147DA6048D6634ED9725FFFA596C16C62DA
+          8A83B76463B1646BB87D8CD29AA7E4A19ED18982E59B9F775D6D75B7D44EB9E5
+          4BACEC55AAF8569FFA57A5F84FB0EF47B1E749AEEC47A9E94AAAEC4FAFF14AA5
+          E85BB3F960B5FD489BE651A2ED50A0ED509FEE509FEE509FF0509FF0509FF04F
+          9FF24997EA55A3F653A1F45BAAFB4E9CE94B99E561B0F94393DA4A98DF4593D8
+          4693D84492D5408DD24593D64C99DE4F99DB79C0FF71B5F06AAFE865ABE15BA2
+          DB5BA1DD66ACEF70B4FD5293E45898ED5797EC5595E95597E65599E2599DE01C
+          5184001430161C2F21294023304A2E3E5B354A693C5472526D883B576F213C50
+          041B2B0B1B2B101B29181B2A1615251B182818182811172A28354F3D52723353
+          77284F76244E782E59803C6689315779315777325576375A7C3C608642659048
+          6D993E93D9529FE4518FD65AA1E457BBF537ABE031A5DC39ABE73AA7EB36A2E9
+          36A0E766AADFA699B19F5F5BD97D60FFAF8BFF977CD86953C05A44B75440FFA0
+          8CC55F4CDA6A58DA624FCE4E3BE76752D95F47D5614AE2755FE8826CE78573D1
+          685BD55D57DB6161CF6467993737A34538EB9385FAAAA9D7AFBA95B4C975B7DA
+          6BB0E260A7E760A3F256A6F347ABE642AFE545AFEC44A8E94AABED4FADEF4FA8
+          EB63BAFD51A7ED51A6EE4EA3ED4C9EEB4D9FED50A0F34F9FF44C9BF24C9BF24E
+          9DF4539DF558A1F74692E555A1F34C9BEA53A4EF6EC0FF3B8DD54294DB4393DA
+          4797DE4997DE4492D94593DA4896DD4592D74B92D64C93D361A9E574BEF872BC
+          F66BB4F063ADEF5AA2EA5698E95698EB5693E95997EB5995E1619DE363A0DE00
+          29581422391F202E161A2C0F162A16203817243E1B2C463E50673B4E6317293A
+          0E1D2D0C1725101825181B291212201A1A2A14182B0813292E3F5A384F6F3454
+          78284C742C547E38628C305A7F375F82345A7C30557730547A3B5E86274A7638
+          5D894395D64B97D95591D774B5F955AFE634A3D52CAFE027AADC36A7E03FA4E2
+          49A9EB71A3D1AB8289C26451CB5D41D75E3ED75D3FF9896BFCA388D88C75F7B0
+          9CAE6050CE6960CA554CDC574FDF594DE76A5BD4614CFFAE96CB644BE57B63D3
+          634DE5675CDB5E56CE5D53A23B2CBF5D45FFB399C1644FA3584AC29592C1B0B9
+          BEC5DE8FB3D76FACDE56AFE838A6E03FB7F342B2F43BA3E84AADF147A4E950A9
+          EC6AC1FF47A0E349A4E94CA6ED469EEA479BED4F9FF6519FFC4D9AFB4A98FD50
+          9BFF5497F45B9BF3579DF1519BED4F9EED64B9FF4BA3EA3F97DD3D95DB3D95DB
+          3F95DB4094DC4293DE4293DE4292DF4492DF438EDD4D97E53F8DD44898D94596
+          D358ABE883D5FF68B6FB55A0EC5297E7619DF16098E95D90D96FA1E34D7BB500
+          1944171F36201E2A1C1D2B1A1D2C1A1F2E0F162722293A12162817192B191929
+          1A19291A1A2819182819182818172713172A09152D11213E384D6C364F71324F
+          742D50782245704A6F9B2B527E2F56823258822E547E2D507B2E517C31547F34
+          5782499FDB53A3E05195D871B8F84EA5DE41ACDF2CAEDD2CAFE03EABE346A2DD
+          509FD891ACD1A86B67C5573DCC5339DE5E41D45235D15C3FB66248DDA189FFEC
+          DAFFD9CCD58B85B65956CD615DD26059D0675ACE6A58FFA690BC573ED6674DE0
+          6953E76A5BD85E4EC65541BF553DCD674AFFA787CA6245BA553CAF4F3F9D4C45
+          9F656A9E8492C7D1E996C2E16EB4D956ABD94AA2DE5EB5F753A9EB58AEF05FB4
+          F858ADF14DA2E64BA0E6489DE752A6F254A5F64A9AEF4593ED4A97F44D99F94C
+          96F45498F15C9FF45399EC56A1F0509EEB63B6FF4499E13E96DD3D95DC3D95DC
+          3D94DE3F94DE4092DF4292DF4291E04490E2438EE44792E84391DE4798DC3E91
+          CF5BAEEB61B4F251A2E570BBFF6FB5FF6CA9F9649CE96C9DE36D99D8335D921C
+          3A631520361B1C2A1C1F2D1F22301A202D151B282326351F1E2E1A17271E1627
+          1F17281F17281B182819182818182812182B02112B2135543A51713851733450
+          7337567D3A5A833A5D882E52802C507E2B507C2E537F345985375D873457822B
+          4F7767C4FC67C1FC64B5F267BAF748A4DF42A9E030A5D831A5DA37A1DE54A8E2
+          76AAD9908FA99C524CD7634CE3684CD35035DE543DD25842AC5943F4C2AEFFF4
+          E4FFFAEDA68980A1756ECA908AC38279AE6A5DE69E8DC57361C36451D15F4EDA
+          624FD5654FD4664EB2442ABF5439FB9074FA8D71BA4C30CB553CD35340CC4A3D
+          CB4C44C75653E18B8BA66E6DBDA6A4C6C9D795B0DC83B1EB64A0DC67AFEB78C6
+          FF4A9BDE519DE561A8F25DA1EE5699E84D97E5529EEA56A4F057A4ED55A0EA55
+          A0EA4DA0EB4FA2ED4FA0EB53A0E95EA9F55FAAF44893DF4490DC4492DE4293DE
+          4092DF4092DF4491E04691E04790E04790E2468FE5448DE14994E04C97DC4892
+          D26CB7F54F9CDA509CDE4B96DB599DE86CADF879B4FC88BCFE76A6E02F5A8B35
+          567D394763262D41131C30121C2E141E301F293B171E2F1014261816291B172A
+          1D172A1D172A1C182B1A182B17192B12192C132138344762374C68364E6C314A
+          6A3753764B6B8F34557C2C4E793457823A5D883558832C4F7A294D752E517932
+          567C4BAAE255B2EA70CAFF64C0FB63C0FD52B4F04BB0E740A4DE43A4E65099D3
+          98B1D38F717CB25B51CB5740DB6346DA5C40D9523ECD5746BC7260FFE4D5FFFF
+          F4DCE0D578766E7E726C7C645E92706AAA8276CD9B8FA56456AC584CD46961CF
+          5F53CD6754C4624AAB462DC0573CFFB094DE6D52BE492CCE5135D64E36DB4A34
+          D8412DFF6B5AF67360BE4D39B257428C4E43A18390A29DB8B3BEDE96AFD791B9
+          EA75A5DF6FA3E6629BE65D98E860A1F25DA5F3539FEB4F9DE453A3E457A4E351
+          A0DF4FA6E8439EE155ABF14799E06DB9FF4F97E54E93E3478CDC4B8FE2498FE2
+          4690E24691E04491E04492DF4492DE4492DF4692E4438DDF4C93DD4B92D6589D
+          DC72B8F4569BDA5BA2E25BA2E6549AE05FA1E85C9BDF6198D55284B93D6A9648
+          6C92475C7C44526E37486227385214243B1F2D430D182C10172B18192D1A182C
+          1C172C1C182B19172A18182A16182A11182B000B2114243B1D2E48354863374D
+          693A52704E698B37557837577B34557C3152792D51772F537934587E35597D33
+          577B50AAE152ADE455B7ED3C9DD746A2E352A9EB68BBF96DC1FF55B0F562A0D6
+          B5AFC2935954C76858CE5F45C85336C65136CC5340C15B4EDB9D92FFF5EAFFFF
+          F99AA8A268706F6D6F6F796F6F85726F6F56526F4D4794645EAD6B66C77270C9
+          6D68B35E4F9B4531A84B36D26E56FF987EC95437D55E3ECE5331CD512FD95B39
+          D35435FF9679D55439CE4D34CD4D36C25137B76340945132A96B59E7B3B3DAB6
+          CCBFB1DA909ED8739BE366A3F34F98EC4797EC4F9FF253A3F04F9FE64EA0E153
+          A8E650A7E5469EDE55ACEF499EE666B8FF438FE24C91E84A89E3508BE8528BE6
+          508CE54B8FE24691DF3F94DC3997D93996DB4397E34691DF4B92DC4C8FD46CAA
+          EA6AA7E5609EDE5B9DDE559ADF569DE15EA4E75FA2E1639ED63063952D588329
+          4E74476489526D8F5770904C66844159754B607B2938521C273D12172C16172B
+          18162A18162A18162915172914182A11192A151F310715280412250B192F0D1F
+          361F334C384E6A3D55733A56753B577939587937587939597C375A7C3457792F
+          527456A7E066BBF350AFE748A9E33C96D74FA0E45099DD549DE159AAEE95C3F2
+          DAB9BDB86752BF5D45CE6347C45638D06248BD5446C06B61FFD2C8FFFAF4EEF2
+          ED6976746A717473747871686B88777A836E708C7272926E6E9A686AA7656AB7
+          6E70CD8780C98175CA7C6CE8907FE9846EC05137C54D2FC84D2BCF5432C8502C
+          C95532FF9373C34729DB563BDB4C37E1593CC35122C45B28B54B26EA87719D49
+          44AC6E7AB394B1B0ACD694A9E078A1DF6DA1E46BA7ED62A6EF559FE750A1E555
+          A9EB50A4E64FA3E54DA2E85BAFF756A5F44692E4468FE34A8FE64B8DE64D8DE5
+          4B8EE34790E24492DF3F94DC3B96DB3996DB3D94DE4293DE4C94DC5697DC78B4
+          F6659DDE68A2E45D9ADC589CDF5FA6E95199D9579BD6609CD21F5080244E7835
+          5A802E517932527B2F507737577A506D8C5F779536496414203810162D15162A
+          16152917152816162815182714182A131A29131C2A0E1725171F30101A2C0F1A
+          2E16243A0C1C330519321E334E2D435F3C54703E5A783A577638557437567539
+          58776CAFE877C1FB469EDA47A2DF3D8FD04F9DE04E95DF5296DF569BDA86A2C5
+          B1786FF69574FFA482F49171CB6044AB452EB75F51BD7A71FFEAE3FFFAF7DAD5
+          D67A7B7F786F7973636E89707A785B64896F758A6E748E7075846066A87C83A0
+          7076976664AE7A74A36C63B37264C47463C86753C24E37DA5C43D25235CF5134
+          EF7A5BED785BC44F34CD5139CD4735D5503CCB5036CC5639D66144FF9476C055
+          3AAF4D35A64E3DA55D53B07A7AC8A7B5C5BED996A6D06E94CE669FE45DA3F049
+          96E5539EED56A1EF519BE96EB6FF4B96E24692DE4294DC3F94DC3995DE3795DE
+          3794DF3B93E03F92E04490E24B8EE34790E23C92DE3B92DC4896DD5BA0E577B2
+          F7669DE067A0E5619EE25C9FE460A7EA549DDB599ED7457FB31E4F7D264A7234
+          587E274C782E55812D537D35597F4D6D904A6482374C67243249161D311A1B2F
+          1B192C1A1929181828161927151A29131B28131926161927191C2B101524141B
+          2C1A22330E182A0D182C0A172D0B1B3211223C1C314C2F45613D55713E58763B
+          55736DA9E475B9F44699D7449BD94D9EDB4F9DDF529CEA5091DC689ED5A3A8C1
+          9B4F3CC85931B9572FCC6B47FF9B7FFE9784D6877CD9A29BFFFCF8FFF1F0A69D
+          A0766F767365707D66747F616E8867757F616C91767F7D656D8C717B8D6D7899
+          777E926B6D936A689A6B6798615CB37067CE7E73CA6D5EC35F4DB54C37BD533B
+          FD9479B74C30C45338C75134D25438D25138CE4D3ACF523EFA8167D56041C651
+          2CD15A33D05932CC5938B9543BA65344A76F6EBDA0AFC1BCDBA3B3E189A7DE7A
+          A5E46FA0E4669EE568A0E777B5FB5295DA418CD0449ADC3994D73497DB3297DC
+          3495DF3793E03F91E3468FE54D8CE6498EE54098E43793DA4597DE5CA4EA68A6
+          EC629AE15B95DD5E9CE3599BE25299DC5AA1E05EA1DA1F568929568236567F30
+          4E772D54812A5481204A752F547A4B6B8E304C6A20334E07142A202639242436
+          222131201D2C1B1C2A171A28121A27121A27151924191B26151624191A282122
+          301B1B2B131625191D2F13192C111A2E0E192F08162D0819331326412338532D
+          435F7BB9F561A4E14A9ADB479EDE4DA0D84B9EDC479AE85293DD82A3D086727E
+          B2553ECC5329BC5328BE542FCB5139BF4E3EB86960FFEFE9FFF0ECFFF9F8786F
+          726B646B7267717563707E66728066738E7680866E786149536E566275586784
+          646F8C676BA177789B696B90595CA0676AA771719C6967996860A06E62B67B68
+          D48A72B55B3DBE5331C54F26DA5A2FD6532CD25136CB4D35FF977DC04A2DCC55
+          35CF5636CD5031D25638D35A40C0513BE88C7BAD61559356528F5E60C0969DC9
+          B3C5BBBFE28BA4D08AAEDE79AADC5191C84894CF4599DA3C94DA429AE63289D9
+          3D91E34D9EF33A87DD4C99EF3A87DD4698E93593DC3291D63B90D670BCFF5D9E
+          E85E9BE5629FE95C9BE5579BE45BA0E55A9FDE4B8AC41E5084244D7A3A567F35
+          517A2A517E26507D2C56803C61873D5E7F36516C0B1D340E192D171B2D181826
+          201D2C282632232530262C370B1421171F2C0F12201F1F2D1A1A261715212725
+          311A1726201D2C1515231D1D2D15192B11172A0F182C0C183008173106173207
+          18337ABDFA559EDC499ADD47A0DD409AD0469FD8469EEA5A97DB949FBF805455
+          B0462ED4542BCC5B30BD4B27D24F3BC34D41B16961FFF9F4FFFDF9CBBBBC756E
+          736D696F6A626C6F646E7968737C6874806D768B7A834E3D48513F4C412C3B56
+          404C675055836467956A739B6C759A6A7680566160414A5841454C3735452A20
+          7246359D5F47C77556BD5D39BD542BC75A34C05032DF6E54F58267C24C2FCE53
+          37D65A3CD45437D9593CC7492CDA6245FFA186C1553DC15B44BA5A43B85C49A7
+          5F55976E75A18EA1E5E1FA9CAAC77F9EC56FA0CE5996CE4A91D1438FD74F9FEC
+          4493E43989DC3B8BDE4696E94193E43C92DE43A0E53B99DB56ABEF62B0F7569A
+          E55596E15899E460A1EC589CE5589BE05F9FDF3C74AF2150842B4F7D364F7938
+          517B2C517D2A547F2D567D3F63873B5A79243D57122036101829191A281D1B27
+          1A18241F1D291D202E161E2B1A27351A25332429381D1D2D0F101E2525332A27
+          361A1622211A272D283714112016152516182A13182D121A310F1B330B173304
+          122E68B8F74195D6449EDF42A2DE3898CD42A2D8469EE4669AD69A8DA39B554E
+          CC583FDA5530D75C36D45738EB5F4EC34C43DEA09AFFFEF8FFFEFB877F806B6A
+          6E6C6C726B6A736E69726D646E796E76847981655A62453C46493F4B49404D3A
+          334036333C433C435D46547554637951635F3749482637442B394031393C3133
+          4135313C271F5735287E503F985E4BA7644FA6593EE58B6DC86043C65134D150
+          35D25033CA4D2ED55C3CD76040EC7857EE7456C84B2FE06249D2573DC04832C6
+          5B46AA5242B16860D09391A07179B99FB1B4AFCE8DA1CA729ACE5694D04A96D8
+          3C91D73D94DE499FEB4496E34492DF4190D93D91D3378BCC65B4F7519EE35BA3
+          EB59A0EA5094E1579BE6599DE65899DE5D98D6275993274F83325381324A7439
+          527C2F527D2E568034597F45668736536E0F263C16223414192819192522202C
+          171521171725191E2D0D1A2A35475827394A111D2F22293C212537292B3D1817
+          271F1C2B2823322E2736423D4C2D2A3A1A1A2C13162B11172E0C162E0A16320E
+          1A3651A8EB3993D444A1E041A2DC399ED245A3D84C99D77FA0D19F7985AA5146
+          C9533AD75335DB5F3DD7593DD64F3FBA4F47FFE7E0FFFFFBE8E0E07370726666
+          6C6769716F6E7766636C6159634A4249534B5240384248424D33313D40414F3B
+          3E4C3134422B2B393228393F2F414C33474E3246492D41442C3E342533342B38
+          3B3540372F39352830432C344D2B3561363990584DDF9B88B46250B85B46BC54
+          3DD16248CC5E40C15232C25130FF9D7CDD6242DF5D3FD85337DC573BDC593EDB
+          5D44D05C45F58A75BB5647A44B41984E4C8E585FA48293B6ADC7B1C0E17FA2CD
+          6396C85595CC4990CF4993D54893D8509BDF5299D8569EDA72BAFA4E95D8569E
+          E4569FE95198E25CA0EB5C9EE5619EE04F85C21E4D83294E80355481334B7539
+          537B31547C2E53794062864463822F496106192E141E2F191C2A19192522202C
+          1717251518270F192B16273A445C70364E642D3F5618263C0B182E1E273B1F23
+          352525352522321F1C2B2926354B4A5A58576B393C511B2039121D38111D3907
+          15314198E24098DE45A1DC3E9ED43FA3DA4BA3D95F98CC9FA8CA92545AC45F50
+          D15F48CC5437CC5137D25A44C95445DD887EFFFEF8F7FAF8B0B2B27374786766
+          6F65646E66626D655D686E656F4F444E3D323C4E465052515B4A4E593E495742
+          495A4F465B473B513735492E2E402D2D3D403B4A4B3B4C3D2739432A3E372036
+          36233C3A29443C294A3D274A3B1D464D284A5023336634385E302F976860A36E
+          619C5A47A5503ABD5940D16143FF9072C54C2CDD6242CE5333D85A3DDC5C3FD0
+          5239C9503DFF9584C24C39CC5944BE4F39B54C37B45643A35145995B55D2A9AE
+          C7B5C6AFB7D47C9FC7639ACD5099D3519AD65790C876ACE378B2ED5D9DDD569C
+          DF539BE1519BE35AA0E65E9FE369A2E03A6AA4244F822A4E7C35537C37527735
+          527733547B2C50744A6A8D3E5A78253B5408192C0F17281C1F2E1818261A1A28
+          16192811182B04152A243C543A58733758723C597425405A1E344D0F21380D1B
+          2E131A2D2024361E1E2E2323333030404142564C53674E5870414E682634500D
+          1D3A4294E54CA0E8479ED6409BCE40A0DC54A1DA7C9DCAB3A0B9F7A9AAFF9A89
+          DD7159CB5D43C6533EC15543AE5241F0B2A7FFFEF8F3F9F8898C906A6A706564
+          6E68647067606D7269766A5E6A51434E392B363A303C4D49554447553D475833
+          394C493D53493D5144405333364522283536374547404F39293A392538432E44
+          48354E34223F38294948375C432F59371F423C1F364427363B262F372225462D
+          2B7C5651A66E63AF6456E48877D5705ABE523ACB5D41CE5D3DD25B3BD05535DC
+          5E41E26850F67C66D05239CC4E31CF4E2DD55330D45431CC5333CB5D45F59988
+          8C45418B5F65B19FB0B4B8D497B0D26F92BA7E9CCB90B2E76F9CD5679EDB5C9E
+          DF59A0E458A0E65097DB629FE16096D229578D2D53832D4F7A3252763A587B31
+          517432547834567A4D698B324D68192D460E1D300D15261C1F2E1B1B2B141726
+          171D300E1B31051A352F4D6A2B5171315878254D6A3B607C4D6B861A334D0015
+          2B011023141E30151C2D1D2133181C2E22283B3C445B4B597048597442547141
+          56724D94EC519CE84D9BD04DA0D3439ADC5D9CD99BA4C9AE8495C36766DC6D5D
+          F18F77FFAC92F6907EB85E4DA46551FFF1E1FFFFFBDADBDF79767F67616C6861
+          706C65746D6675675E6B5E525E3A2C3832212E3D2F3B584D5D2E283938374B3E
+          3E50322D3C332B36453C49473E4B312A3935303F403D4C322F3E363343322F3E
+          3E39482B24312C253226202B2B2A3432313B322C373028333228342E202C3521
+          2E462C39512F3951282D8B57579F5F5AC17366BD624DBF583DD16040CE5632D3
+          5A33FF936FD45F3ACA502CD0522FDC5A37DB5634D14E2DD65436E2644BF9856E
+          B9503DAD4E3FA853499E534BBC7873CFA3AABBB4D7A7BBEB7D9DD272A0DA609D
+          DB579EDE5DA4E7569DDD64A1DF487AB42550832E537F315279305073375A7B2F
+          5273315377456589445F81263E5A0C20390F1D3010172A171B2D1C1E30121629
+          161E350B1A34132D4B32557728527728557A2B597B2A587738607D30536D2743
+          5B152A3F0312250D17280F1728192132141E300E1B312837514E617C5369853C
+          54724D96E64C96DE4D97CF5BA8E04297DB629AD5B5A7C3AA686DD66F66E1715D
+          DA7860C3664DE07A68F8A191ECBDAFFFFFF5FFFDFDAEAAB0706B746F69746D66
+          736A63726A63723B34413027343D313D3527334C3D4B483D4D3E364735314432
+          3141332F3B2A252E493F4B6154624A3F4F3C35443A3746292A38262937232732
+          3F3E483330393B373C2726282B2D2D2D313234363E2B2A3429222F3429393C2C
+          3E352235322031402C39442631502B2F622D2A925148B36555C86F5ABB5E44C0
+          5D3DFF9F7AC45731BD4B27CE5835CD512FD25130D14D2FD55133FF9074D45235
+          CE5034CC4E35CA4E36CD563DC14A31AD4F42A06F7DA690ACB2A7C7B6B7DD9AAE
+          D7789BC770A1D169A3D46EA6D735669628517E2E507B37537C304D7239597C2F
+          52743051785271983954762036520719300D1B2D131D2E111827151C2B0E1427
+          131B32061430233A5A3255772B577C23547A2255762F6080336180325A772D50
+          6A2F4D660D243A0A1D320C1B2E0615280816290D1B310C1A3114243B3A4B6565
+          769049A0D8489AD45CA3E34C96D83E94D66DA1D0C09FAEC16962E0735EDD6950
+          E57862DB705BE2725CC86B5CFCCFCCFFF8FCFDF5FC79747D817C856B666F6963
+          6E6A6671524E5934303C443D4A463F4C3D34413D3643362F3E423D4C39364636
+          3342322D3C48414E483F4C493F4F47404F433E4D443F4E2D2B372E2C3832303C
+          3C38443D3742312B362F2731342F383A353E312B362D25302E2631382E3B3D30
+          3E3829373324323726333D27333F263043242B46232750282A693D3E8E605FB7
+          7E75D58673B0533AB24E35C25A3DC14F31C64E30D05334D85534FF8F6ED75030
+          D75133D65135D34F37CA4A33CD4D36BF4C38F59988AC584CA9514BAE5E5DBF84
+          88D4B5BCBEC4CF87A8B86999B124557532577D2E4975394D7C445685324A7833
+          527F375A863858813B53770E203D09172D0E1B2B0C1C280F202913212D111B2C
+          0D132A1119363C4E6D3A56782852752656782555773D6C8C2A59792A58772B54
+          74274D6B3557741C3B54011B33081F35091A2F0816290F16291115271D1F3134
+          344645A0CD489CD04C97DB4A92D857A2E082A6CEAF7E86D57264DF7056E46F54
+          DB6B55D96955E2725CD88070FFF4F9FFFAFFCFC7D1736E777B767F6E6972706D
+          765A57603C384336323D3E3A463C38442B2733332F3B252231302D3C2825342E
+          2B3A2C25344039484B44534C45543C37462D28372F2B372F2B37332F3B302C38
+          322B382F28352B222F2E25323A303C4036423C323E332935302632352B37372B
+          373024302E202C30222E31202D382633402C383F2B373B253137212D38222E45
+          252A713D37A56456B36A5CA85644B45742BB543BC45136EF7458E86649DE583A
+          D24C2ED75133D55034D35035D7563DDC6147FF8D6FC85336D5543BDF604BCA5A
+          48A75647966F66A49F9C96A9AE435D6D4658754550764D5380424C7B384F7D33
+          507D4567923B5A812A40630D1B370D182C151E2C0E1D260A1B240B1B27112030
+          0B182E21324D4055753250732B557A2653782B597B3261812554742958782B58
+          79285374325B7B284F6B20415B001A3201162B16243712192A1212221E1B2A1E
+          19286EBDF05CADE64B9CDF4C96D86AA0D79AA3C5A76A6ED26D5EE0745CE7785E
+          E2725EE47867D46E5BF0A498FFFBFEFDF8FF928D9668636C5E59624E49525551
+          5C3A364124202B312D38312D3926222E282430292531312E3D2A27362E2B3A30
+          2D3C312A393029383F384748415045404F3D3847383440423E4A3A364237333F
+          37303D362F3C39303D3B323F3F35413F3541463A463B2F3B3529353529353527
+          332F212D2D1F2B31232F36253238273437253232202D331F2C3723303A26333A
+          252E3C292C432B2B4A272473433FAE7066AA5B4EB15141FF9987C9523CCF5138
+          CA4A2DD85638D65436CE4F30CA4D2EFC8466D6684CCF5A3FE05840DA4C35DB51
+          3AD45D48A75341A0695A9B7B757A6568917C8B7C6B86655C7D46496F384F752A
+          4A6E486487385171172A450F1C32151C2D1C1F2D191D28131B280A1725081C2E
+          00162E264663355A7C284F762C568127517B3A67892F5C7D2655752958782C59
+          7A2A55762D56763159763153702F4D66122A40021328111D2F12192A0D0F211B
+          1B2B5DA4DD5FABE666BEFE75BDF989A5D4AE98B4C47879D66E5DDE745DD2664E
+          D56755D66F60BF6759FFDED5FFFDFEEFEFF576737C746F785E596247424B4541
+          4C38343F312D38332F3A383440322E3A322E3A37333F393645302D3C26233221
+          1C2B3D36452C2534362F3E3F38474742514C4756423E4A4D4955383440393541
+          38313E352E3B39303D372E3B332935312733423642392D393327333226323325
+          312E202C2E202C3224302F1E2B36253236253233212E3523303B29363B293633
+          222F3528362E222E35212D3E22284A2325592624894A42D98F83B25B4BAF503C
+          BD563DBD5034C04E30CA5536CD5636FF9F7EC35636CC573AE25A3EE65339E956
+          3CDD573FC15641E08E7D95574D69363469363E673C4B7E5D728472896A6D8265
+          728853637A405067111F32151D2E1617251917231F1B2721212F151F3002172C
+          001B3522506F29597D27547F2A528229527F416D922D5A7B2C597A2857772A57
+          782A577824506F305979365D79395A74334F671A314705162B0C172B181F3213
+          192C5A9BD84A95D33B98D768ABE2BBB8DFDDA5B8F59994E47866D76E59D66D58
+          E27665C8685BC37E75FFF7F2FFFAFABDC2C56D6B717D7881746F7867626B4743
+          4E3B37423E3A45322E39231F2B2D2935262130403B4A3835444D4A5936334231
+          2C3B362F3E342A3A3F3847393241312C3B322D3C2F2B373F3B4745414D4A4652
+          443D4A3A33403C33403B313E382E3A3B313D372B3734263230222E30222E2F21
+          2D2C1E2A2C1E2A2F212D2D1F2B352733382A363625323423303726333423302E
+          1B2A3D21383719323E243B39233533222D3E2F333F2D2C38221C614338895E4F
+          B07663AB624CAB533BB65138D6654BE97858C95C36C6542BD6512CE25435E85B
+          40D24F3BC25847E58C81964E477A37367933397C363D733037693235643B39A9
+          91917C7780505663151924181A24231E27281F292617251C12221D213401162C
+          0A324E245A791E557C255883234C7D3359893862872754752C597A2552732655
+          75305D7E2552732E5A792A54712B526E395A743B5670263C5512243B0A1B3006
+          142A5294D5559FDF3894CF5E99C7BB9EB8C26F77E98279FF9684FFA694FF9B88
+          E07769AB544AE1ACA9FFFCFCFFFFFE81898967676D736E77746F7876717A3935
+          402A263135313C2D2934322E3A312D393A3544322D3C403D4C3C39483B38472C
+          273627202F3228383C3544362F3E29243325202F27232F322E3A332F3B3F3B47
+          3D3643342B38352B383026332A202C32263235273332243030222E30222E2F21
+          2D2C1E2A2B1D292D1F2B3527333729353426322E202C2D1F2B3226323C2E3A41
+          2E3F43263D3B1B34391F373320332B2030231F2A22202635323429221F3D2D27
+          41241B704437A36859B56D5CE39180BD634BB55432CE633DE06543D45235CF4E
+          35C8503AD16D5BBF6A5B883F377F3834853A38893C3A7E312E763128773E2FA9
+          81756553525C565B4A464B403A3F30242A24131C2B142233223017132608162C
+          2549612B5D7B1D5277235681254D7E4165952E587D2853742E597A2552732554
+          742E5D7D255474295677224E6D325C792F5672345471425F7A2F47630D243E06
+          1C35549BDE57A1E1489BD3769FC6C38E9CC8615ED06355E47460D86757F88D7F
+          FF9C8EE59A92FFEAECFFF5F9D9DCDA6E74736F6D73706B746D6772726C773430
+          3B312D38393541312D392E2A3626222E3E3948282332474454302D3D4542523B
+          354627202F2F25352E2736352E3D342D3C2F2837322E3A322E3A2D2633403946
+          413845372E3B3A303D3329362C202C3125313628343625323524313524313322
+          2F31202D2E202C30222E3124323124323023312F22302E212F2C222F2F22302F
+          22303423313A27363D2C3A31202E2D1E2C3324322F212D3527333828333E2D36
+          321E23442D31492F2F4E302F7F605D92645CBA7260B75A45BA4F3ABC4C36C959
+          43C75F48E38A75A0553F864431824434833E3479342B7532297B3F33A06F5F8B
+          66586B514B5846454F3F404332354F3C3F503A3F442933381F2D271A2827293B
+          3F54693758722B547528537A2F56824166922D547A2953762D577A2855772755
+          772856782453732655752E5D7D2452712F58783159762A4E6C3857763957741B
+          39564D9CDF4A95D35FA1D491A4C5B87278DD6A5FE0705EDE6D59E46F60D7695D
+          C96D60D6978FFFF8FEFFFDFFB2B2B2686A6A6F6B71716C7567616C69636E3B37
+          424B4752433F4B2C2834312D3935313D342F3E3E3948302D3D302D3D2C293938
+          3243312A39352B3B2B2433362F3E352E3D2A2332322E3A322E3A2E27343E3744
+          382F3C29202D2D23302B212E291D2933273336253235243134233033222F3221
+          2E2F212D2F212D31232F3427352F22302C1F2D2C222F2E24312F253231273433
+          29353A2F372A1E2432252D32242F2B1D2936273535253629192A302032342436
+          382B3B342735322632483F49362D374A35387649458F5248B76C63BB695DAE59
+          49A04E3CDB94808E4F3B793E2B7439297B3B3079382F73352B683025B5857979
+          51456A4842654844674E4C41292941292B4A2F3356373E63464F513943564854
+          5C5B6B4A5569425973345374395D81355C822950762951742B53762D577A2B58
+          7A265476285777295A7A2655752857772754752B57762E57782950703157774A
+          6D8E3E96D6539DD775A2CE9C96AFBA6765E16B58E3745EDA6A56E56B5FD7685E
+          C27065F8C6C0FFF3FCFBFAFF8580817B7677777077655F6A5C5661554F5A4C48
+          534F4B564B47533A3642302B3A383342484352433E4D383545353242322F3F3B
+          3546332C3B271D2D2D23332F2535362F3E3C35442E27343029362C2532302936
+          352C39332A372F25322D233030243033273333222F3625322F1E2B3F2E3B4133
+          3F30222E332432332634372A383427352E24312C222F2D22322E243430263632
+          283431262930252731262932282E3028322D27322D26352C26372721342F263B
+          271B31372A4031223741304548374C392A383C32384034343F262269453F895B
+          53B381759565597C4A3E7641376D332D7939357532317736357C3F3BB0797481
+          514B71484567413F6743434F2D2E4C2D304B2C2F624346654649613D436A484F
+          84646F8B78876664784D5D7443638029527231577A2E557B2C53792A54792956
+          782957792856782755772656782553752553752E5B7C204A6D2E597A365F803A
+          638449A4E1589CD18EA1C7A17F90BF645BE26E57E0735DE27260EB7066D2655D
+          BA7369FFE7E2FFFBFFCACCD76C656884797B57505748424D413B463B35403632
+          3D403C47484450413D49332E3D2D2837312C3B302B3A312E3E3633432C29392B
+          25362A2332271D2D302636322838362F3E3C3544322B38322B382E27342B2431
+          2B222F2A212E2A202D281E2B2B1F2B2E222E30222E352431362532392B373628
+          3430222E3427353528363629373326342E24312D23302D233330263632283834
+          2A362D23292D24272F2629312A2F322A342F29342E2938302A3B2E283B31283D
+          2D21373A2D4336263D35233A45314844384A3535413D3F47342E333B2D2F3620
+          225D434371555589696A835E626E4046753F466C32376F34389F656690595680
+          4D4A6E43406A43415E36374F282A4C292D5E3D4169494A6B4747734446632E31
+          6A3439623740634E5D666A7D5F7E933D68832A50732F547A355A80335A802D57
+          7A2855772956782B597B2553752957792856782D5B7D2956782552743761842A
+          5477489FD75E96C5AAA2C0AE727CCB6A5CDF6F58D66B56DB6F5EDB655AD26D64
+          DCA197FFFEF8FFFDFFA0A2AD756B7185777B544B554C46514A444F423C473733
+          3F37333F3B3743383440342F3E2C27362C26372721322724342B283825223228
+          22332D23332B20302E24342B21312A2332312A39322B383A33403B3441302936
+          2B222F2E2532312734312432322632372B3732242F30222D3B2D393628342A1C
+          282D212D3326343427353329363127342F24342F2434302637322839342A3B35
+          2B3B2B24312B25302F2732332B36362C39352B38372A3A3B2B3C4333453C2C3E
+          3020323121323629392C1F2F33263636293748394748374439283540303B382A
+          36473A483E34444036464B3D4F644E61735364704958683B44B584867C4B4976
+          47436F43426E46475A31365631354D292F55343844202041161369302E722F2C
+          8139396C2E34522E3A6059684A657936627A52789B43678F31567C264D73284F
+          752A5479295678275476295678305D7F2653752451732E587D254F74416B902C
+          567B4E9ACE81A9D3D1B0C5D88A8BE17A6BE0715BD66A59DC7163DA6E62C36A5F
+          F8CABFFFF8F2F7FAFF888A9480757D63545C423943433D4847414C443E493A36
+          423935413F3B47423E4A433E4D3934433731422E28392926362C293929263630
+          2A3B3026362D22323026363127372B243327202F2C25323A33403C35422F2835
+          2B222F312734362937322533322632392D39352A342A1F2940323E3A2E3A2A1E
+          2A312531322533342735342A37322835312636312636322839342A3B352B3C33
+          2B3C2E283B2C26392F273833293A3629393626373826373A27364C3948503D4C
+          46384433273340364238303B342E393027343A273A3B263C3323353D31433731
+          423D3C4C33354738384A3C3A4E42364C2A172C573B4E7B5765B68D958A5E6468
+          3E3F6D4648623D414622284B292F4D2B31573438461F1D4B1B176829217A302A
+          7C2D2A783538572D38786E7E3C556928506C25496D34577F4569914B70964368
+          8E355C822C56792B5578214B6E2B55782A5477295376355C82345B813D648B29
+          507769A1D28DA0C5B7818EEE8D89FFA799FFAA9AFA8A7ED3695ECE6F60BD7668
+          FFFAF0FFFFFBC1C6C94A50576157635F515D3F3742423C47433C493F38453935
+          413A3642443F4E514C5B46415035303F2F293A2A24352A27372E2B3B2622352A
+          24352C22322C2131352B3B463C4C4036462B213127202D322B383D3441332A37
+          312734362C39372A38302331322430372B37362B35231A243B2F3B3F3541342A
+          36352B37322835352B3834293933283832263833273934283A35293B342A3B34
+          293D32283F32253F31243C33273B37273937253637263439283532222D41333E
+          49404A35303937343D282933282A342C2D3B3327433024422620392727392225
+          332A2F3833363E404348312C35655B67614E5D483042513346957384C19BADA2
+          7E8C75545B624449472B31462A3054383E6744486335345E26217A322A7E3029
+          6C221E682C2D5935417D778A425874315678375A822E5179284B732B4F77375C
+          8241668C40688B3D6687315A7B315A7B2F577A2850732A4F753F648A31567C2F
+          547A7B9FCDA0A2C1B26C72DA6E63DE6E62ED7A6FFF938CFFA299E08D7EDDA594
+          FFF6ECFFFEF9979F9E60666B5E5562514452544C5756505B534C594D46534541
+          4D3C38443A3544423D4C3B3645322D3C332D3E302A3B2C29392C293927233630
+          2A3B2E24352D2232302636453B4B4238482B213129222F312A3739303D352C39
+          362C39392F3C372A382E212F2F212D3327332E252F2017212F25313D333F3A30
+          3C352B37322835342A3733283833283833273934283A35293B35293B342A3B32
+          273B372A4435284233263E352A3E362A3C362C39392F3B3B333D3A333A3A363C
+          48444A44414A41404A33333F2D2F3A39374A37304B30284626243A272A392A2E
+          392A303525282C232226443D443E333D5142504A3A4B4F3C4F564356877386B4
+          9FAEB59DA79D868E74626958434B50393E6A474B7644446F2F2A772C247A2D24
+          7B3732623032664C5A5A57703C507334547D2F4F7A32547F36588333567E2C50
+          762A5073305679375D7F42688A3D63853E628633577B2F5379466A902B4C7331
+          557B8696C49F8FAEC67473E57263E06B62D6615ADF6866D87069D18B7AFFE8D5
+          FFFCF1E3E3DD6E77746E777A6864705A50604A4350504A555049564F48554E4A
+          56423E4A3732413B3645393443393443443E4F433D4E393548332F42312D403F
+          394A342A3B322737291F2F352B3B352B3B2A20302F28353029362B222F2B222F
+          2E24313026333023312B1E2C2C1E2A2C202C2C232D2A222C2B232E372F3A3830
+          3B31293433293632283530253531263632263834283A35293B362A3C35293D32
+          273B392C44342A4130293E2F2C3C2F2F3D30323C32383F373D42383F422A3035
+          32343C3938423630413C334733273D382B4134283C362C3D342F3E2E2F392C2D
+          372D2C35332E37362E393C314133283840384943404F484C57464D56505B5F96
+          9B9EA99FA5B2A4AAAFA4ACA79AA26E59616E4B4F7940417F3B36893B34762D25
+          6D35305B363A7B6E7E5256733B4E792F4B7A2F4E7B2C4C772C4C772E51793458
+          7E35597D3054782A4F71305577365B7D44678945688A4C6E924C6E923150772D
+          4E75B1A1C0A67E90C76D66DA6857ED796EE57069E56C6ACF6B66BF8677FFFFF1
+          FCF0EABDBEBC5B6362656C6F65616D594F5F46424E49455144404C46424E4B48
+          574542513E3B4A4742513631402F293A3731423B35463935483430432925382E
+          2839322A3B362C3C2922312F2837342A3A2F2633342B382A212E29202D2C222E
+          302331322632342735372935372935342834322A353B3540322A35372F3A3A30
+          3D322835392F3C3429392D23332E24342D2536302839352B3C362A3C35293D34
+          273D342A412F273E2A2639272737272A38272E372B353C303B3F303B3F2F353C
+          36384235333F27213243384C40334943374B392F3F36323E34333D2D2E383031
+          3B33323C34303C3029362D23333B334428253534374536404A3B4B5142555899
+          A4A8A49FA8A99EA8A59EA5A3999F3F2E31401E1E7A3D3BC17773B96B6494504B
+          6E3A3A5B3C456F6A7F434D6F374B7A39548633518033527F32527D3050792F4F
+          782F507732547833577B30517830547A2E52782B4F7543648B3F608745648B48
+          678EE19FA4C17674D07265D46A59E06F5FE16B60E56B65D2706AE5B7AFFFFFF9
+          FFF9FA828288686B7064636C6E656F675D693C394840414F4748564748564342
+          52403F4F4140504542522F2C3C3F3B4E4F4B5E474356342E41352F423A344730
+          2A3B302A3B2A27362E2938332E3D352E3B2F26332B222F2D232F261A262D222C
+          3527333D2F3A4436423E303B3628333329352F2B37312F3B37303D382E3B3528
+          383323343124343226382D27383330402D2C3C34334337314432273B3A2B4031
+          243A372D442B233A2B253C2E2D412A2C3E2E313F3337422E323D36374134333D
+          34303C37333F3934433732413431403231412D303F2A2F3E313744383E4B343A
+          4532364130323D2B2C3633313D2C2C382D2D3B30313F3538462C2F3D7C828F98
+          98A6A79BADA495A3ABA0A88177772D201846261B75342B7F312A843A36AA6869
+          A6717BA48497504F694356793A517E334F7E2F507E2F507D31517C33517A3351
+          7A33527933517A31517C2D4E7B2E517D2C507E33578540638F2A4C7735558033
+          537CE68C81C46659D06E5EE67E6DE57563E26F60E16C63C66C65FFE1DDFDF5F5
+          E6E5E9706F7868646F6C66717368725D545E2B2837282B3A2B2E3D3235443F3F
+          4F4646564241513938483834474440534E4A5D413D502E283B2D273A332D402B
+          25362E2B3B2825342724332E2938312A372E25322C222F2C222E332733362833
+          3525303626313B2B363A2A35362834372D39302E3A30303E383140382D3D3828
+          39342435322436302637352F403534442C2C3C313141353144352C404031463A
+          2A4132283F2C263D2F29402B2A3E2424362427363233413C3C4A44424E413D49
+          39354134303C32303C33333F3335402E3441353E4C2D37482E37452E37452F37
+          44353B48393D483237402729332F313B3737433E3E4A4F4F5D403F4F6F6D809F
+          99ACA99DB1B1A1B2AB9CA45344423E2A1F4F2A1C7534269041387E3432793C40
+          592A3A8A73894D5370364E72314A762D4C792F507E2F507D31517C33517A3552
+          7935527935517A31517C30517F2D4E7F294D7D3B5F8F385A882D4E7B31517C2C
+          4A73DA7C6FD77668D16B59D96D5BD86453E77465D76B60CC7D74FFF9F4FDF8F7
+          AFAEB267666F6E66716F6571736872554D582A28343233413939493939493A3A
+          4A404050434252403F4F2E2D3D3736463E3A4D332F422622352A2639322E412F
+          2C3C2E28392A2534292433302938332C3B3229363026333026333D303E392D39
+          3224302E202C322430322430342533382E3B322D3C302D3C342D3C352A3A3528
+          383525363426383127383A34453534442C2C3C3130403633433830413D314537
+          2B3F352C41302B402A253A2626382B2B3D2C2F3E3233413A3B493B3B473C3A46
+          3937433535413636443839473437452E3441363F4D303849303746323948373D
+          4A3D43503F434E373B4632343E3B3D473E404B3F414C54546243435146455590
+          8A9BA397A9B5A4B296868D3C24244F2B23663428722D2380352D7C36366C3439
+          5D3E4D6D667B4553703A567934517D3152802E517D2F507D31517A3352793552
+          7935527935527933517A3453802C4D7B2D4F7D44659331517C35537C324F761F
+          3A5FEF8D7DFFAC9AFF9A87EF7F6DDE6857D46353B05043F1AEA5FFF0EAFCF8F7
+          6A6B6F706D76756B776F636F6D636F4C46512A28343839474342523C3C4C3635
+          453C3B4B4746564C4B5B3736463938483834472D293C2622352624372B273A27
+          23362B25362A25342D2635322B3A362C3C342A3A342939362C393D32423B2E3C
+          332634312230342533322331312230322835332E3D302D3C322B3A3429393629
+          39382B3B3B2D3F392F40363041343141302F3F323141353242362E3F362A3E31
+          2539352C40352F422C283B2B2A3A353545353644313240383947383844343440
+          353541383A453B3C4A373A48343A47333A49353C4D2D34453037463A3F4E3C42
+          4F3C424F40444F40444F7E808A86889291939E9799A4A0A0AE8888965A596999
+          93A4A99EAEB7A6B379646C4728294818127739317F3A31833C3878363765343C
+          8879874B5468374C6B37577B2B4E792C517D2E517D2E517C31517A3352793552
+          7735527735527933517A33537E2C4D7A36578442628D304C753C577C374F7310
+          294BBB553FB84F3AD46450FF9581FF9989DD7062AB5C4FFFECE2FFF2EBCFCDCC
+          4D4E5276737C76687471606D66606B39384252505C4646543C39483A3A484B48
+          585352624645553130403C3B4B3A39493332422D2C3C2E2C3F2F2F412C2A3D28
+          26392F293A3028392F27382E26372C24352D253633293A382E3E3C32433A2F3F
+          3227373225353528383225352E21312F243439323F35313D362D3A352B38382B
+          3B3B2E3E3F32423F3545342D3C312E3D333242333242343141372F40352B3C35
+          293B2C2435352F40352F40312E3D322F3E2B2B372C2C383B3B4741434E353742
+          30313F3437453237462E33423138473E45564044563236483439484043523B3E
+          4C3538463F434E4D515C999BA6989AA5A0A2ADA4A6B1A1A3AE9496A16464728D
+          8897AB9EACA897A24A34394D2929642725883F3B7B37306C2C2874373B5A323D
+          7777853B5268385673315579224A742A547F2C517D2E517C31517A3352793353
+          7733537733527933517A31517C30507B43638E3B5780344D7540567A394C6D06
+          1A39CA5E46C65840D05C45CB543FD25848E88172F8B7A9FFF8EEFFFEF88F8D8D
+          5B5E6375727B725F6E715E6D5C58632D2D394A47565451605B58675451604744
+          543F3C4C3D3C4C3E3D4D3534443534442E2D3D2D2D3D35354736364830304230
+          2E41393344383041332B3C2B25362822332A2435342C3D3A32433C3445383041
+          3026372F24343328383225352F22323025353A313E37303D382E3B372A383629
+          39372A3A382D3D3A3040352E3D322D3C3633433431413630413B33443A304140
+          3545322838342B38312A392F28352E27342A26322B293535333F3434402D2F3A
+          2C2F3D343746303544272E3F2C33443B3F513F415337394B4144534D505F4245
+          53333644393D48484C579A9CA7A3A5B09FA1AC9A9CA7989AA59EA0AB8E8E9AA9
+          A5B1AEA0ACA18C95482F334D2324783736772C2A7633307B3F3F69333A72515F
+          575E6F405F763557752D557827547A2A567F2A527C2C527C2F527A3152793153
+          7731537733527931517A2F4F7A35558048668F314E753950763E52752E405F05
+          1532C55537C65338D25B42D75E4AC84F3FAE4F40F7C6B8FFF9EEF4EBE7727272
+          7272787A757E7863726D58674A46523C3E49524F5E4742513F3A49464150504D
+          5C504D5C4340503835453B3A4A3C3B4B3434443030403434442B2E3D22243628
+          283A383545373142322C3D2D2A3A2F2B3E322E413531443531443B3548363041
+          2D25362A22333026373024362C2131302535352B38372D3A392F3C392C3A3629
+          37342735332936342B38362F3E302B3A3934433631403833424039483A30403F
+          34443D303E362A36362937382C38362A36342A36342C372E2A3524222E292B36
+          3235433639482F33452A2E412A2E412F30442F31433737474A4A5A5454644748
+          56383947353944373B4660646F999DA89EA0AA9C9EA8A0A1AB9FA0AA9C9DA7A5
+          9FAAB3A4AC705961432427633738B37373AB65658A4C4C632E3163363F886F7D
+          4C53663B576F2A4E6C2A527527547A22507928527C2C527C2E527A2F53792F53
+          772F53773152792F527A2F517C3B5B86405E87304D743B53773A4D6E19294609
+          1733CA5635E26D4ECC5339C74E3AD56253B66054FFEFE1FFFAEFC8C5C17D7C7E
+          77777D847C86856E7D66516035333F5458636A67765E57664F4A594E49584D48
+          574441503C39493936463433433A39493535453232423336452C2F3E26283A32
+          32422E2B3B2D2A3A2D2A3A302F3F36344738384A3333452C2C3E353346332F42
+          2A27372923343228393025352A1F2F2E212F322533382B393E313F3F32403B2E
+          3C372A38352B38362C39372D3D3029383B34433A33423D3645413A49322B3A35
+          2B383D2F3B3F2F3A4A39464E3D483F2E393929343A2E3A362E392C2834373743
+          3E3E4E3336452A2B3F2A2B3F2E2C422C2B3F29293B3535454646564848583D3E
+          4C383947363A453337424246519FA3AEA3A5AF9A9CA6A3A4AE999AA49FA0AAA4
+          9FA8AB9BA24B323643202453272869302F864A4AA87272AC7E8477535F847283
+          4E5368364B663B5A79355B7D2451732A577C2A527C2C527C2E527A2E527A2F53
+          792F53792F527A2E527A31537E3D5F8A355580354F773D537738496A0917340E
+          1A36DE6944C14B28D35A40D15C47BF5446DE9286FFFFF4F5F8EF9C9D9B787A7B
+          77757B827A847F6877554251726F7E5C5F6D64626E6059665A53624D48574742
+          5138334243404F4946554242503A3A48424252464958373A492A2D3C272C3B26
+          29382E2D3D2A2A383A39492F2F3F2D2F41383A4C2A2C3E30324433334529293B
+          282535302B3A342A3A2E24313124323C2E3A392B373224302F232F3B2F3B342A
+          363026323A303D3329363B313E372E3B3E3542413845433C4B2D26352F28373E
+          35423F2F3A4E3B44442E3A4E364058404A4A353E41303B36283432293634323E
+          3433432E2E3E3231453D3B4F3C364D302B40312F423D3C4C424151403F4F3F40
+          4E3C3D4B353846353846454752A5A7B29A9BA5A0A1AB9C9BA4A2A1AAA8A7B0A5
+          9DA499858A3D20234C25274C20214A1C1B5224234E1F225B343C8A727E74687A
+          69667F59617E3B53712C4F702E57782B55782C537A2A507A2E527A31557D3155
+          7B2D51772D51792F557F30537F4D709B2C4C773A537D384E722A3B5C07132F0A
+          1530D25B34D9613ECE5639C2523EC56558FFD1C7F7EBE1DFE6E17479786F7074
+          6F6B717067716E5C695847556868765356646F6D7967606D625B6A5A5362504B
+          5A3833423E3B4A4845544747553C3C4A3434442E31403033423E41503F445332
+          35443839473232403C3C4C2F32412F3143383C4E2B2F413335472C2E402D2C3C
+          2D2A392E273432263234263237263136253032202D2F1E2B30222E372B372E24
+          302A202C352B383127343F3542403643433644372D3A3E3444352E3D3631403D
+          34414B3B4658434C4C333D50353F563B454D323C49313D3F2E39352B37322E3A
+          2E2E3C2C2C3C312F423934493F354C3C33483733463D3C4C3D3C4C3737473738
+          46373846343745373A4850525DA6A8B3A0A1ABA1A0AAA09FA8A3A0A9A5A0A9AC
+          A2A8614A4E3B1B1C481E1F55292A512B294420204E252C482932413442353144
+          4640595A5A78586A87516F8C40627F284E6E31557B30537B2D51772B4C732B4D
+          712D51772F537B2F527D375A85345782314E7A3650783F52770B1A3A0914301B
+          223BCF562ED9613DCF5A3FC15845C27064FFF9F1FFFAF6B5C0BE6265696F6D73
+          6B636D685D675A4C584C424F524F5E45465456525E5C55625854603D39453631
+          40322D3C3633422F2C3B40404E41414F3E3F4D3738463336453E41503F425132
+          35443E3F4D3838463F3F4F343746333645383D4C2C2F3E2E31402E2D3D373443
+          3B323F362A363C2B3649343D4A323A3F272F3C26323C2B363B2D393E323E342A
+          362D253038303B382E3A3E323E4034404435433B2E3C433A473A334035313D31
+          2B364031394B363E462E364E313A57384152353E5037414A36424337433A3340
+          31313F2F2F3F2F2D40332C413B2E4640344A3835453C3C4A3839473435433535
+          45333645333644383B494A4C57999BA6A0A1AB9E9DA7AAA5AEA7A3A9A69FA6A9
+          9B9F43282B502A2A5C2B2D4B1D1C3E1C1C391D1D4A293040283429263515162A
+          170E291A15321B27432D445E445F794E6B86405C7E3E5B803A587B3452753654
+          7739597C32537A25487045679230527D37537C2F496E36496C0A1835131A350E
+          142BFF9870FF9873DB6A4FB45240EAA59BFFFDF7FAF6F5788184686B706F6A73
+          70656F6E636D4D434F46404B4C4958504D5C524E5A5A56625C5864383440322D
+          3C3633423A3746302D3C29293731313F3D3E4C4243513D404F3A3D4C3C3F4E3F
+          3F4F3F3F4D3A3A48403F4F3B3B4B393C4B3B3E4D2E2E3E2D2D3B363140413845
+          45374346333C533B4365474C6443475333384D343E4E3A464837444337433A30
+          3C342C373D35403D333F4135413E303C413240403341483E4B352E3B2F2B3732
+          2C373F323A49343C4B333B52353E5637404F323B442B3539262F4138423B3742
+          35354130313F2D2C3C2F293C382B413B2F45353242383947393A48373A483A3D
+          4C383B4A3437453639473B3D488E8E9A9F9EA8A09DA6AAA3AAABA4A9ABA4A986
+          75784A2B2C451C1A5A26264D1B1B4F29294326293D222B50424E1419280F182C
+          1A173119153209132B07172E12253A1B30463348644358785267864B63813B55
+          73324E6D3553763A5A7E3C5B8235547B3C577C3B51751628470B163213193012
+          152AC9532AD05E3AF08268EB9180FFE1D7FFFCF7F0EDEF646A6F67697169646D
+          76667170626D403C474B4C565C5766615C6B57535F4A485452505C413F4B3B39
+          452E2C382B28373232402A2A3830303E353644393A48393A483637453838483F
+          3E4E3E3B4A3B37433E39483C39483C3B4B3D3C4C373443383342433A47473945
+          4D3841583C4269484C795254764A4B643C3E543740523C4845343F3D2F3A372E
+          38352D373B333E392F3B4B3D494837444635423D2F3B413744332C3934323E3D
+          394444394347363F523B43573C45593A4352353E442B3534232C332B3532333D
+          30343F2B2E3C292939312B3E392D41372C40343141363745383947393C4A3E41
+          503A3F4E343948383B493D3F4A9494A0A1A0AAA5A0A9A69EA5ADA3A9AFA3A958
+          45484523235828276A3031591E225D2B2F532D333C242E2E27340F1C2C061A2C
+          0C162E101730121A310E172B0C13260A1426101C340F1C361E2B453C4B655364
+          7E54698449617F3F5B7A435F82324C702E4769394C6D0F1B3712193213172A1A
+          1A2CC65229C75733BB5237CC7A69FFFCF3FFFEFC9F9EA26769736667716E6671
+          79687361515C33343E4A4F58514C5B504958403C483836424A48543C3A463836
+          422E2C382323312929372A2A383C3C4A3E3F4D3334422B2C3A292A382D2D3D35
+          35434039463A3340352E3D352E3D3630413833423E3746443A4753455156414A
+          5C3F486845497A50518353527F49486F3F3E57353F533D4941303B372934372E
+          3838303A3B333E382E3A44364251404D53424F3F313D4238453F38453F3D493B
+          3A44433B4545363E533E46533B4351343D5237404A323C42333B332E3734373F
+          32384329323C2B2E3C3431413B3044382E3F3737453538463336443639473B40
+          4F3A3F4E363B4A3A3F4E4A4B599E9EAAA3A2ACA5A1A7A69EA5B2A6ACA1939745
+          2F315D37358C59578A4B4D79363B66282E51222B5F4B573C3D4B0D1F30031D2E
+          00152903162B161D311A1B2F171727191929121629090F220910240F182C1220
+          331E2F443C50695C728E4C6482445B7B4459782C3C590F193113182D1B1A2A17
+          1423CB5930C55733BB563DFFB8A8FFFCF3F9F4F377777D6969756A6874756D78
+          78647053434E3E404A474E57332E3D3A30403C3844403E4A5654603D3B473A3A
+          4640404C36364233333F2626343737453B3B493232402B2B392626342C2C3A3F
+          3C4B473E4B413744372C3C3329393329393329393D32424738465D4955664B54
+          6C4A51744C4E804E4E87504D844743733D3C59373E5A424E4635403B2D383B33
+          3D3B363F3D353F39303A3A2C384C3B48554350473643493F4B46404B3F404A36
+          374149444D473C4456454E503842422730422A32422D3643363E3C3B44353D44
+          313B452E38422F35423435433E364741394A3B3B49373A483336443339463B40
+          4F3A3F4E373C4B3B404F565765A1A1ADA6A2ADA49DA4AFA4ACB2A6AC74656942
+          2A2C47201E703B38975556C97F83BE71798147527A667249515E344B5B264757
+          0D33450321340F192B12112116121E231F2B1F1C2B1A1A281B1B2B1B1E2D141B
+          2C0A16280B192F12243B2136513D526E51647F25324C0D14281012241F1B2723
+          1D28C9512DCF6242B35D45FFEBDCFFFEF8DCD7D97068726D66736965706F6974
+          695B664B424C595B655256612620313C3445443F4E3A38444D4B573937433535
+          413434402D2D393636424747553A3A482A2A382B2B3930303E2424322424323B
+          38474F48554C424E42354340313F3B2C3A382735412F3C4A344063464F734F55
+          7E51547E4A4A814846874A4683453F723B385C363C5E454F4D3A433E31393D35
+          3F3A353E38333C362D373D2F3B44323F4B374444323F4A3E4A423A453E3D473F
+          3E47413A4140353D54454D4B384138232B3E293145343D4E434B403F48333841
+          2C353F2F3842333946363745433D4E4E49583C3D4B383C47353944393C4A4043
+          513D404F383B4A3B3E4C5F606EA2A2AEA7A3AEA19AA1B7AAB2AD9EA24733383E
+          22225B2E2A662C267A32327D2D328B3945A065749085953E506135536634596D
+          2D546A2B4C60324358262D4115192B1919291516241518261619271419281119
+          2A111B2D1220331624370513290B182E152036151C2F252837302D3C201A2522
+          1A24D55439BF553DCE917DFFFFF2FFFEFCAAA0A67C687578667368636C65696E
+          42474A51545956525D5D55663B334A342C433B38482E2E3C42425030303E3333
+          4130303E2A2A3834344243435142425030303E2929373535433232402828362E
+          2E3A383741423D463C2E3A382431442C38472E384B3039624247744D4F7B4B49
+          8449478B4B478C4A458646417B413B6E3D3B623A3F5C4046533E46473B413E3A
+          4038363C37343D423A44423440483441523B49513A48584853473C46443F4847
+          424B4D40484133393C2D353A2B3334252D3A2D3544394340384238343F32333D
+          3434403436413434423F3F4D53505F595967434851414851393B4541414D423F
+          4E3A37464441503D3D4B7D7D8BA5A5B19E9AA5ABA4ABB4A5AD9781863E222849
+          232363312570312383322F88323A8535467F4E645B6075294E642A566E29516D
+          324F6E3753723757743353702E4664283B561B2A3D061525111F310F1E310B1A
+          2D09172D1C273B121C2E141B2C1013221B1B271C1B251915201F1924241E292D
+          2732D1513CB6533FFFD5C4FFFCF0F2EDEC766B737F65737A616F777379565F62
+          36444348515458525D5A4E60352C462E2A432928382E2E3C4444523E3E4C3636
+          443C3C4A2F2F3D3A3A4841414F3C3C4A3232403232403A3A483636442E2E3C30
+          303C2F313936343A382A353D27334E333D5A3B44634348755052774A477F4843
+          894742904A438F4B46884A447B47416F43426441455E4549524145443B3E3C3A
+          4036393E3A3942473F493D2F3B4733404D33415238454F39454535403A313B42
+          3A41493B413A2A3142313A52454D4C3F473B333A3E353F423D4636303B332F3A
+          35333F383642383544423F4E514E5D5555613D424B3E464D3F414B3D3C464843
+          523F3A495F5A69817E8DA1A1ADA3A4AEA09DA6A69EA5AF9FA673595F3E1C224E
+          22216C3828783526883331853038712D3E89657D45546E2E5B76265672275372
+          324E71344E722C5274285374294D712C4B6A3C566E2E46581F364C12293F0117
+          300C1E351421370C1628141928151521231F2A231E271D18211F1A231B17221C
+          1823C4513CB05945FFF3E3FFFFF7D4D4D46F6771846D7B7962706B68713D4649
+          3B49484E5A5C5B57624B435426233924253A2D2C3C3A3A464D4D5951515D4040
+          4C47475333333F3C3C483F3F4B3535413535413D3D493F3F4B3A3A4636364234
+          344034373F37363F42343F4B3541583A456241486A474B714B4B7848467F4742
+          8846418C48438D4A47874C4A7B4B49704A4A664B4F5D4C504E45484340423D40
+          453D41464043484E4A50493944543E4A5236435F414C543B45523D4645343D4E
+          404649394045353C4A3A414B3F4543363E3A32393D343E3A353E3C364137333E
+          3937433B3945393645403D4C4A47564A4A5641464F3A3F483D3E483C3B454540
+          4F645F6E878493A9A9B79D9DA99B9CA6B4B1BAB3A8B0A691994E323847232960
+          32316C35287A362981302D7C2F37794556806F84374D66214E69245372255273
+          2E51732D5072294F712651722B53763056763150693D5A6F35506A344F692941
+          5D3249631F304A0D1A30161D301316241D1D291E1D271B1A241F1D2918182415
+          1521F59381FFB5A3FFF9E9FCFDF48B8F90706D76786372776572716E773A4347
+          46535546525446454F38354431324644485B41425043434F4E4E5A5454604848
+          5443434F30303C3535413E3E4A30303C3939454545513E3E4A3A3A463B3B4734
+          3640373C453B3D454D424C5B464F5F424B6442496944486A413F7B4B47844A44
+          8A4843894742894948824C4C764C4D6A494D684D51624E5354494C4A45474647
+          4B44474C46464C514A51493A424F3A434C333D573C45563E46543F4747393F4E
+          404454444B5341484C3C4345373D3E313940353D423943413943413B463B3742
+          3C38443C3A463B3847403D4C4744534644504444503B3C46403F4943424C4240
+          4C908D9CA6A6B4A3A5B0A6A8B39A9BA5AAA5AEAA9EA48C757A4B2B304C242953
+          23226A2F257C3A2F7C30316E2D3687687757586C405F7628557022506F245172
+          2B54752B5475295273275071254F72285172274C6837587231516E3353703D5A
+          794A64823B516D35455C2B364A171E2F141725161823181A251D1E2C191A281A
+          1D2BAE5D4EFFD6C7FFF9EDE5ECE5697073787A827C6B797A69775A5661343A3F
+          515D5F4A555944464E3535433236483D4455494A583738423C3D4741424C4849
+          5337384230313B33343E3E3F4932333D3E3F49474852393A443536403B3C4634
+          36402F3841363B444C434D5D485164454E6B454B724A4C7649467F4B45844A44
+          8947428646428249487E4D4F704C526849506E4C536D4E55614B5057484C5049
+          4E4B454A463F4649414844373F413138442F374632375445494C414346414248
+          42435244484635393E2E35483A404A3D453E333B3C333D473F493E384337333E
+          3834403C38443E3A4645414D4B46554A46523C3A463F3E4849455044434D615F
+          6B9F9FABA8AAB59D9FAA9C9EA99F9EA7ADA6ADBAAAB1806569633E4262343A73
+          3D3D71332B77362D7B3738693840817A87384E6032587024506D275070265172
+          2453732554742A5374295273214F71204F6F2E57772F5575294F6F254A6C3C5F
+          813D5C7D3C56744156714250661D2739101524141725171A28141A2711162518
+          1D2CA9695EFFF6EBFFFFF8A4AFAC5B646768697381728073627067616C42454D
+          4A53573B4448393B43393B463F4655464D5C41434E2B2C362D2E3834353F4647
+          513738423A3B453E3F493D3E48393A4445465047485234353F30313B38394333
+          353F37424A3D444D4C444E59444D62434C6944487046477A4A487B4741814741
+          8545408343427E4848774E536C4F58644C54744F5979525A6F5057624C515949
+          504E4248443941473B41483A40413236443337433537574C4E4C47464B49484B
+          474650434549383C402E3543333A4A3B4342373F40353F463E48423A4539333E
+          3834403C38443F3B4746424E49445344404C423C47433D4845414C46454F9898
+          A4A3A5B09CA0AB9EA2ADA4A6B0ABA8B1AFA4ACA69297604045693E41845155BF
+          8383C17F7A985651783D41603E485D69753C6274224E6624506D2C5274285172
+          2150702051712952732A5374255375245274265375244E712953762D5578446A
+          8D335678324F6E3A516B394A5F1622340D1423131926171D2A151B280D142314
+          1B2CD4A59DFFFDF7FFFFFB89969478838772737D8172806D5C6A6159644F4E57
+          53575C54585D53525B4D4E584A505D4048553E404A39384136353E3E3D464544
+          4D41404944434C46454E3D3C4543424B4F4E5749485134333C302F3837363F33
+          353F404B53474E574E465055424B67484F6B464A693F4073444077433C7D463F
+          81453F7C434178464A734E56634F5B5F4B57744F597C515A714F5665494F5B44
+          4C4D3D44483A404B3D4349394047363A4534384A393C5448485047444A45424F
+          484554464858474B4C3B3F413236493B414B41474B40484C454C473F493E3942
+          3C3843403C47433F4B47434F46424E4039464D4550443C474A444F71707AAFB1
+          BCA1A5B0999FAA9EA4AF9C9DA7A29EA4B0A2A88972766C474B7B4C4F7940418D
+          4B4C964C4CAA6869B4868CA696A14F69772555671A4B653765842D52742B5174
+          235071225171265172295273265375265476265476224F742551762F597E385F
+          85335579355271445B752031460D1A2A0F1724141A25161C27181E2B10172613
+          1A29FFE4E0FFF4EFD5D6D46B77776971786869736E5F6D7B6A78564A564E4952
+          4A4A505050564D4A5345444D454B5641475243444E4E4D5647464F4C4B544140
+          4944434C414049403F483B3A4349485155545D4A495234333C302F3836353E33
+          363E38434B40495247424B55424B70545A7451556A444471474273433D7A463F
+          7D454078424171454B6D4E575D4F5B584A56684952714C5467484F5A4046513C
+          444A383F48383F513F46533F44584247523B3F5E484A5D4847604C4B5544415E
+          4C4B4A373A4632373E2D3145363A4E404643373D3F343C4F474E453D473D3841
+          3F394445414C4945514D49554B4753433C494E4450453D485D5762ACABB59D9F
+          AA999FAAA0A6B1A1A6AFA8A7B0ADA5ACB5A4A857393E542C2E7B4649894D4D93
+          4D4E974A4D8B494E56353C6A6B754B6E7C45788C4575912653742B4F732E5074
+          2C52742A5374265172255071254F72254F72224F742552772552773662873358
+          7E345779314D6C3E546D1423360F1A28181E29161B24131821171D281218250E
+          1623FFFAFAFFFDFEABADAD5A63666E747B65616C7A6B79725F6E635561423943
+          4039404F4B514B444B49464F4F525A3A3F48393B432E2D363E3D464847503D3C
+          4548475052515A3E3D463D3C454A4952403F484D4C554140493C3B443A394233
+          363E36414939424B49444D5948516B505975555A714F506A45416E464171433C
+          7C494678484770484D654A534F434F4D4550605057614D5258474B56474B4436
+          3A493B3F4D3E425844495D464B5E3F46613F456C474B714A4C6C4446663E3F62
+          3D3F5C4446513E414433373B2C304335394E43464D4349423B40433C433B373D
+          38333C48434C4F495446404B46404B48424D4A404C4C424EA6A0ABA4A3AD969A
+          A5A6ACB79DA4ADA0A2ACA4A2A8B6AAB0A0898D3F1C20522325773E3F8747469D
+          545695454C83465067545D5C6A76395F712A5C732555713A65864D7195456589
+          39577A2A4D6F234C6D2550712D53763056792650732C597B2552743A64873257
+          7933557337526D2C41570B1729111926161B24191C24191C24191B25161B2414
+          1A25FFFCFFFFF7F981838471757A5F616969636E73657174626F766572665863
+          30252F2C242B40383F3F3B4144474C3B3E462F2E3727262F3A39424B4A534140
+          49403F4846454E3C3B443E3D4646454E3F3E4749485142414A44434C3D3C4535
+          38402E3740353C4547424B564651654E566D5157694E5166484767474269453F
+          754A477147486B494F644D554B414D433D48554B515B505353484B5045484136
+          3946383C45363A523C415E444A6140476640466C434872444A7543477441456F
+          42456043465742454E3A3F46353946373B4B3D414B3F45453B413B333A3F383F
+          3F37413D384146404B4B455046404B48404B483E4A867C88A19BA6A7A6B0A5A9
+          B49CA3AC9BA0A9A1A3ABADA6ADB0A1A57A5F623810124E1A1A80424293504D8A
+          4242974A52723C49827A853F566530586B33607B2B5978315C7D2E5276405D82
+          526A8E516D903C65862E597A2B4F73294D71264E71204A6D2E5679375D7F3053
+          743553703D546E24354A141D2B181C271A1C241A1A201A1922181A22181A2416
+          1B24FFFCFFDCD3D67C7B7F7374786C6A70645C6680727D7565707665707A6A75
+          3C2E392F242E3931382E272E39373D3030362A293223222B33323B4B4A534F4E
+          5747464F43424B4140493E3D463F3E4741404944434C43424B4C4B543E3D4637
+          39412F373E373D4446404B51434E5746515C474F5946495743425B4442604541
+          6B4A47684647684A4F6651594C434D3F3A434D44475E515355484A4F42444739
+          3D4B3C4046343B533C445A40466142496543496843476D414772454878464A73
+          484B6144475B46495946495342454B3C40483A3E483C42483E44393138413A41
+          4A424C423A444A424C4B434D3C343F4D4550514753A79FAAA4A0ABA0A1AB989D
+          A69DA2ABA8AAB4AEACB2ABA1A7B9A4A77151524418194D15146D2D2C914D4893
+          4D4D8F4C55633847787B893A5968335A703058752E577831597C33577D355277
+          3B517540587C406587426B8C42668A3C608432587A244D6E4167893A5F813655
+          7437526D34495F0B192B141C29191B251C1C221D1C201D1B211B1A23191A2418
+          1A24FFF8FDA59FA48581866864697C787D696269756A725B4D584C3C47493944
+          31232E33283230282F2D272C3C383D2D2C3035343D2A29322A29323E3D46504F
+          584B4A533E3D4639384136353E34333C403F483D3C45403F484A495238374034
+          363E353B42393C44423C47493D494D3F4B4E404B4A40464840414B3F3F544241
+          634A48624344654A4E69555A5449514841464E4044635255574649514043503F
+          435544484F3A425A454D5A4449624B50664C5264464B6240466542466A424764
+          41455E43475C474A5D4A4D5B4A4D534246493B3F473B414A4046423A413F373E
+          4C444E4B434D51495349414B443C477E7681A199A4A09AA5B1ADB8B0B1BB9A9F
+          A8A3A8B1A1A3ABA29EA4B9A9B0A1868A6F484A5D2B2B5B201E62221E89453E8B
+          4A497A424D715261505D6B426678355A742C5471345A7D2F547A31567C38587C
+          40577D3F577B34577932587A375D803B61844C72943F6486486D8F335475304D
+          6C39516D2D3D54101C2E1016231719211D1B21211D231F1D231D1C251A1B2519
+          1925F5F1F77D797E7973786C67696D686A756F74453E433B333A473C4630222D
+          261B252B202A332B323B353A393638353438423F4838343F2C2833302C373E3A
+          453C3843302C372C2833302C372F2B36403C473C38433F3B46413D4834303B32
+          313A3C3F44393C413F3741443A46493F4C48414E44434C434349403D3F4A4242
+          5D49485A42425F47496954575A4F5254494C5C474A6C54565B4448553E42543E
+          435943484F3A4259474E58484F5F5157615359594A4E5140444F3C3F50393D4C
+          3539563F435843455A48495A4A4B5544474B3E40483D40494043494247413A3F
+          4B444B4B444B5149534D454F5C545EACA4AE9C949F4D49546E6D77989AA4A2A7
+          B0A2A7B0A4A3ACAAA3A8AE9A9F7A595D3F13144F1918B87975A86661803C358C
+          514F734954867687415364395E722E5571355C7C3B5F852C50762F547A33577B
+          3B587D3C587B3754793153772C54772C56792E54774165894A6D8F4867884C68
+          874B617D1A283F0711231417251A19231F1A231F1B211E1B241C1B251A1A2819
+          1A28D4D2D86F6E72837D827B74776863656863653A3739524C51514950423943
+          362D372B232A3A333A3A37392626263F3E40403D463C3843322E392D29342F2B
+          362E2A352E2A3535313C332F3A322E39413D48423E4944404B3B374238343F3B
+          384145454B424046423A44453C49463F4E41414F3A404B374049383E43414042
+          5446475541405B4345634E50594C4E584B4D645253695355574044523D404F39
+          3E503C4144343B4C3E44493F454D464B4F494E4B4449473D43453A3D483A3E4C
+          3B3F523D405640425944465745465342454D40424C3E42483F424B41474E474C
+          575057524B525149534E4650574F5989818B645E69413D484849536368717C81
+          8A82858DA7A4ADB2A6ACB99FA5441F234A181A571E1D6E2E2A7C3831A36057B3
+          7C798B6E77797686455B6D31566C305875335C7D32537A375780365B812C5379
+          294D712F4F723B557A3E5B80305D7F2B597B31597C45698D37577B3452753F58
+          7A3C506F15223C1D24381C1F2E1F1D29201B241E19221B17221A18241A19291A
+          1A2C7171774C4B4F676166524B4E4B46472F2D2D3A393B4544483B373D3B333D
+          352D372D262D2E2C322E2D2F292B2B3B3D3E36333C302C372F2B36322E392F2B
+          362C283335313C433F4A3B374238343F3F3B4645414C4B475238343F403C4744
+          414A48474B464247473F49483F4C413E4E353A492D38462B3A43333F45373C3F
+          4840414F3D3E5742415F4B4A544647524848635757594D4D493C3E4C3F414638
+          3C483A3E3E343A413A3F3E373E3D393F3D393F3E373E3C343B41353B4A3A4156
+          4247543F425A44465B46485543445140435043454F41454940434B4147564F54
+          5E565D5E565D5B535D544C564C444E5048523B35405756605456604C515A4B50
+          59696B73AAA5AEB4A4AB997A81340B104C171A66282861211C6D292277342B62
+          2F2C918089545C6D425A6E395D752D59762D577A2F4E753E5C852B52782F5B80
+          356284395F823C5379334E732452742156772F597E3E62883150773451763C55
+          772438570B193510182F1D1F31211E2D221E2A231C29201B2A1B1A2A19182C17
+          182C44474C55565A544D524741424B4546363433595B5C3C3D4147454B353039
+          2F2731302C322220262B2D2E3F4141282A2A302D36201C27221E29312D38302C
+          372A2631322E393F3B463E3A4538343F37333E433F4A4B4752322E39423E4946
+          434C3F3B40403C41463D4747404D3E3D4D3037482636432739442D3D442F353A
+          3F393A4A3A3B5742415E4A495344424F46435D55554A45444038394A4243463B
+          3E473E41413A3F413D42423E443A383E353339343036332B32372A3244343B54
+          4045584346614B4D614C4E5745465140435245475345494B42454E444A514A4F
+          534B525F575E665E6860586258505A48434C948E99A7A6B0A6A8B2979CA56B70
+          7983858DAFA7B1B0A0A76342493D1117551E216E3030712F2A78352C6D2A215F
+          2F2B7B70784451613C546A41657D214D6C315B7E3B5A8134507930577D28557A
+          2553752A52753E53793D577C2A5A7C245A7B366085375B81304F76324F74374F
+          731023440D1B370B132A17182C1F1C2B25202F282430282233201E311A192D15
+          162B}
+        Material.Texture.Disabled = False
+        Direction.Coordinates = {000000000000803F2EBD3BB300000000}
+        PitchAngle = 90.000000000000000000
+        Position.Coordinates = {00000000000000BF000000000000803F}
+        Scale.Coordinates = {AE47813FAE47813FAE47813F00000000}
+        Up.Coordinates = {000000002EBD3BB3000080BF00000000}
+        Height = 1.000000000000000000
+        Width = 1.000000000000000000
+      end
+      object back: TGLPlane
+        Material.Texture.Image.Picture.Data = {
+          07544269746D617036C00000424D36C000000000000036000000280000008000
+          000080000000010018000000000000C000000000000000000000000000000000
+          00008B87867677754E5253424549554D544F444E655B68534A57453E4D312737
+          332838352E3B2325303239422D333A31343C2C3239282E35252B32232930292C
+          343538403739412C2E36302F3834333C36333C33303938353E403D46423D463B
+          363F39363F38353E3B38413B384139363F3C39423F3C453B38413E3C42353339
+          3C3A4038363C46444A4F4D533C3A404B494F524E5947434E403E4A3A3A464646
+          52363A45353944353B4632364130353E2E303A31343C37373D31313732313541
+          3B4051434955434A5943485943485A45485A474A5547494F4446433D3E4F4D4D
+          3F3B404A494D534B555B525C5E515F6D646EA5A8AC9FA4A7A8A4B0AAA1B5A198
+          ADA89AACBEA8B4A37F7F501B0E64230E702D1277371F763A2E5D2423682A3A77
+          526C4C5F822E5B8129557A2855772D577A305B7C3259792E5575335979355B7B
+          31547631547637597D325478305178435F824A5E7D44536D45526C404D632833
+          4912192C101426181B2A1A1A281818261916251C1928211E2D25223124213123
+          2030DAD5D68280807B7F8052555955535959515B342B35504450574D593D3340
+          342A37302833332F3A282A32292B33484B53292F36272D34272D34282E352B2E
+          362F323A31333B2C2E36302F38302F3834313A37343D38353E37343D3D384140
+          3D463D3A4338353E36333C35323B35323B3F3C4548454E47444D4240463C3A40
+          42404639373D46444A5A585E4D4B51514F5549455044404B45414D413F4B4949
+          553A3C47343843353944393D483638422E31392D2F37303036302F333834394A
+          434857494F59484C5A44495842475843465845485345474D4244463E3F555052
+          4C484D4A484E4C4750665E69928593B1A7B3A6A5A9ACADB19A9AA6A9A6B6A89F
+          B3B6A6B7AE939D542A2B52170D65210E78321B85412E652A216C373A7849596E
+          5871394E6E29557A315B7E305A7D2C57782C55762F5878355C7C385F7F2B5072
+          33587A3B5E802F517534567A3E5F863C587B3F516E4A5771404E65202D430C15
+          29131A2D1B1F311215241515231919271E1B2A1D1A291A17261B18272320302A
+          2737FFFDFF9D989A807F83888B8F565F6252575A382E344432393E2C3336272F
+          30293030293055464E3E2F372C2A30484C514D535A41474E373D443339403235
+          3D2F323A2F313930323A2E2D362A29323130393D3C453D3A43302D36312E373E
+          3B4449464F4140493D3C4538374032313A36353E3B3A4337363F3D3B4139373D
+          403E443230363C3A405A585E57555B4F4D533D37423B3742423E4941404A4C4C
+          5841434E42444F44465144465040414B3A394237343D3733393630353E373C52
+          494C5E4F535E4D515D474C5944475B44485B46495544474E414353484B494245
+          464247605E64918C95A59DA8B1A8B5ABA1ADB1A6AEA8A4AAA0A5AEA0A6B1A5A1
+          ADB6A4B17D565E4D171764251D71291D8B3F33762D256C3030683D4671617253
+          5B723C58763157792D56772D56772D56762E57772F58792F58792F587933597C
+          30567930547837587F3A5B823859803F5B7E40536E3340561E293F10192D0C13
+          26151C2D191E2D1215241717251717251815241A17261B1A2A1D1C2C1F1E2E1F
+          1E2EFFFBFFF8E7EB8B86888287887484834D5A5839343633252951464950494C
+          3B3D3E29282C44363C3F2E37332F353D41465F656C51575E40464D393F463A3D
+          4533363E2E30382F31392E2D362A293234333C45444D46434C34313A2B283131
+          2E373C3B44393B433D3C453B3A4336353E3C3B4445444D45444D4341473F3D43
+          45434936343A3432384C4A504E4C524440463C37403C3641403A453D39444D4B
+          574848544D4D594F505A4948524A49524B48514B474D4A434840393C453A3D54
+          464A5D4E525F4B505D484B5B44485C45495D464A5744474F3E41554A4D494247
+          46424867656BB3AFBAB2ACB7ADA6B3A8A0ABB1A6AEA19AA1A3A7ACA4A8ADABA3
+          AA826B704B1C1F6D2F2FAF6864AE625C80333173303372404A7E67754F596B38
+          576E3E5E7B3458762E54722D5474325979325B7C2E57782A52752A5275355D80
+          2E54772B4F733D5F833F5F8331517536517335445E182337081125141B2E1920
+          31161B2A1518271718261717251616241815241D1A29201F2F201F2F1B1A2A15
+          1424FFE0E9FFF8FFD7CCCE707B796477745A6E69596160353B3A677270687573
+          54615F4048482D2C2E353136393A3E3B3F44545A615459624D4F594446504143
+          4D383A4431323C3536402D2E38292A3431303A403F4944434D3938422E2A3528
+          273132333D3638423E3F493D3E48383A423F41494F4E5755545D57545D535059
+          58545A4A464C3B373D423E444440463E373E49414B443F48423D463B38414D49
+          544A49534A495346454F48444F4E4952534B555850575A4E544D42454A3B3F53
+          45475746495A474A5B46495C45495F464A60474B594246513E414A3C4053494F
+          494249545258ACA8B3A8A4AFA4A0ACADA9B4A5A0A9A19DA3ACA6ABADA2A4A792
+          943814144F171668222276262798464BB46E759D68758A72844B506534546B34
+          60782E516B34556F375976385C7A345B7B30597A2E56792B557A31587E2B5076
+          365A7E3D5F833A577C3C587B314D6F1B304F121F35171F301A2132191E2D1419
+          28181B291B1C2A1717251414221A1A2620202E20202E1C1B2B17162617162619
+          1828C47075FFF7F8FFFDFA949F975F716A6D817C5F6D6B697776556B695B7071
+          6372746972753A3F42303337393C403A3D4256596161666F5759633F414B3537
+          4131333D2F303A3536402E2F392728322726302F2E3836353F36353F332F3A2F
+          2E3833353F3E404A4D4F594E505A43454D3F414942414A403F4854515A56535C
+          5A565C504C52423E443E3A40433C43433C4348404A473F494540493F3A434F4B
+          564D495448444F403B4446414A4942494D424A55494F5A4C50524347513E4158
+          45485544475A474A5F4A4D614A4E654A4E654A4E60474B5842474C3C435E545A
+          4B444B49464FA7A3AEAFAEB8A5A3AF9FA0AA989AA4B2B0B6AD9FA1C0A4A4532D
+          294D1A175A1A16722A2A7F2F34671F2B5B253674586C61637B5D7892406B862B
+          5A76385D77395A743456733155733055772E56792E557B2E557B30577D34587C
+          3B5E80405F803B56783048661B314D0A1B350D1729181D2C1F2230191C2A1316
+          241B1C2A1D1D2B1414221C1C281D1D291C1C2A1A1A281817271817271817271A
+          1929B34844FAAAA3FFFDF1F0F4E8777F786974716E777A6773775E71785A6D74
+          636E766E737C4C4F5734373C41424641424654565E64667053555F3436403537
+          413C3E483436402C2E3834353F2C2D37272832292A342E2D37302F3938374140
+          414B383D46434851555A635A5F6852545E494B5543454D3C3B444340494E4B54
+          4F4A5349444D463F46433C434740474A434A403940443D4446414A423D46544F
+          58534E574E4952433E474B434D473F464639414F3F4658474B564247553E425A
+          45485848495D4D4E644F51644E50674C50674C5063494F5E484D5B495064585E
+          554E5557545D9A96A1A5A4AEA8A9B3A9ABB5A0A9B29E9EA4C5AAAD7747455214
+          0E651D157A302A7B33336A252F653142705870595C7835516F1F48683560813C
+          658646688641607F3657782E53752E54772E557B2E557B2D547A3155793F6284
+          3B5779324C6A3348632030470A182E131D2F1E24311719241517221B1D281B1D
+          281C1C281C1C2818182422222E1B1B271515231515231818281B1B2B19192916
+          1626DA6655A84E3DFFE2CFFFFDEDBFBDB375757577747D69697568717F61697A
+          67697B6D6C7C6F6B7757525B5E5A5F4F4E52494B535E606A53555F43454F5B5D
+          676D6F795557613739433F404A36374132333D34353F32313B302F393F3E4853
+          545E585D66585F685F646D5C616A5456604F515B4D4F574648503C3B44504D56
+          4C4750443F484841484841484A434A4D464D4039404740474A454E443F48544F
+          58544F58524D564B434D524A514B404846383E4E3C4359454A594247573E425A
+          43475848495D4D4E634E50624C4E61484C60474B61474D5D474C604E554E4149
+          4D454C736E77AAA6B1ACA8B3A8A7B19E9FA9A4ABB4AEA8AD8E6C6D5116146012
+          0B8631297826216C26275C2A34664C5E4F526E344D6D264E71235075234A702F
+          53773053753D5D8045688A42668A375C822D547A2F547A33577B3F5F82375375
+          39516D32465F1B293C0F192A161D2C1B1F2A1D1E281A1B251F1E281D1E281919
+          251B1B2720202C20202C1818241A1A261C1C2A1A1A281616261515251818281A
+          1A2AD26141DC7C5ECF9074FFF8E4FFF7EE9386888E7786806880776681726682
+          6F6883766C837B677A6C58655E565D63616762646C6A6C766F717B6E707A6B6D
+          776466705557614648524A4C565C5E683D3E48595A64787983595A6430313B40
+          424C4F545D5C636C5B6069595E675D5F69595B6555566048495348475049464F
+          49444D46414A49414B4C444E4D454F4A424C403C423D393F413C454540494742
+          4B4F4A53555059554D574F474E4B3E46483A404A383F4D393E513A3F573E425B
+          444854444557474854414460494D5C4248654B51614951624D5554434C665961
+          484047554E559A959EB1ACB5A29AA4B0A8B2B1A9B3A8979B5630304D100C822F
+          27842922802C276E2F316E555F51576A375572254F72234C73274D772B4B7429
+          4A712A4E742A4E742A4E742F547A4468904C71973E62863D5D803D5A7938506C
+          293B52172537131B281C1E28212127201E24211E271E1D261F1C251D1C251E1D
+          271E1D271B1B271A1A2618182618182618182819192919192919192919192919
+          1929CF562ECE633EBA6446E8AC96FFEDE3F8E0E27D62728C728A76627F6F6583
+          6C6885736F888473887B6A78625E6453565B5E5F69686A7470727C6B6D776264
+          6E5B5D675456604E505A57596360626C54555F58596361626C6D6E7860616B37
+          39433A3F48434A534B5059595E67666872696B7567687256576157565F53525B
+          4F4C554B464F4B464F4F47514E465049444D403C423D393F3F3A43413E474843
+          4C514E5758535C534E57554C5651464E5041494F3F46503C41513B40573E425A
+          43475C4B4E56484A574447614C4F614A4F614B505D464E5D4B525E4F57594C54
+          5B535A534B5260585FB0A5ADB2A5ADB5A6AEB69FA74323284317168F5550C272
+          6BA9554F742A287041445F57623D5267254D6A1E4B702C507834547D364F792C
+          49702E51792549712448702F527A264A703355795272954966854059732F4158
+          1A2638101825181A22201F23282223272023231F25211E2723202924212A2221
+          2B1D1E281919251616221C1C2A1B1B2919192918182817172717172718182818
+          1828E15B33D1542EC6583AAE5842FFD8CDFFF0EDAF9CA5726A7B6B6C81676F86
+          626F855E697D646978696D78687077666F7363656F6C6E7970727D6B6D786466
+          7160626D5E606B5B5D686769745C5E695C5E695B5D685B5D686466716A6C7747
+          49543C404B363A453236413B3F4A42444E4F515B676872656670605F695D5C66
+          59565F535059514E57504B544B464F454049423D463F3C453D3A433837403D39
+          444F4E5864606B66636C4B464F4B434A4D40484C3E444B3A3E4B373C4F3A3D53
+          3E415345474A3B3F4E3D415541465E495157454C5B48515C4D55584B5351464E
+          5C5258554B5172666CB7A7AEBCAAB1BFA5AB724C524B1C1F4E1B194E16115313
+          0E81453F9969687D63695152603D546A3254722B51742D4C73314C7134496F30
+          476D2949722B4F772F527A23446B36567A415D7F2D4967465D77283B501D2A3A
+          131B281A1D25242327282223271F1F261E1F242026221F28221E29221E29201E
+          2A1C1C281919271617251C1C2C1B1B2B191929171727171826181927191A281A
+          1B29DF5A35DE5D3CD2573DBA513EB7695CFFF4EEAE9C9B7E8185616C745F6F7B
+          63737F60707C5A6D755E707768747A6A72796C717A6E707B6C6E796B6D786D6F
+          7A6F717C6B6D78646671686A7564667160626D5C5E69686A7552545F54566163
+          6570565A655357625B5F6A63677254566050525C63646E62636D43424C494852
+          504D56524F58535059524F584D4A5348454E3C39423E3D46403F4834363E3231
+          3B42434D5A5963605F6945414C49444D4C434D4E41494D3F454C3D41533F4455
+          44485445495345496151586252596E5E6565565E6A5B63665961534850554D54
+          544A5054494CA39498BBA6A9C1A8AC926F73400E124C12134B1211531C19491A
+          16401B174630323D353C3D425138485F354D6B314C6E2E496B32486B3C4D6E3F
+          52752E4B702E4F7629496D425E814561803A526E354B641324390C1929121A27
+          1B202926262C29252A282124282021292023262228211E271E1A251A18241818
+          24191A281A1B291A1A2A191929181828181828181828191A281A1B291B1C2A1C
+          1D2BEC755BF27860FC7D68CC5645CA6457EFA99CC0A99A90948879827869736D
+          686D6C6871745C73755C757766727862686F6B6D776A6C77696B766A6C776E70
+          7B70727D6D6F7A686A7564667172747F6E707B5C5E696D717C5D616C565A656A
+          6E796E707B686A756A6C776C6E795557624A4C575C5D675A5B655D5E6864656F
+          68677162616B57565F4D4C5544434C3F3E474A49534D4E5852535D4C4E584646
+          52494B564D4D5947485241424C48454E4B464F4C444B4A40464A3F424E3F4350
+          4145483A4055474D6A5B63695A6270636B695E6870656F6B626C6F686F726B72
+          72686E685A5EAF9A9DBA9FA2AA898D44191C4A11105616155618184312103E20
+          1F32262614171C181E29121628181C34232C4732405D3B506C3F546F424E6A3A
+          48653B54762B476A435C7C3F57753A4F6A3B4D641C2A3C0E19270B141E171C25
+          1E20281F1D231E1A20231C232922292D262D28232C231F2A1D1B271818241818
+          26181828191929181A2C15172916182A171A29181B2A1B1C2A1B1C2A1B1B271B
+          1B27B15E49AD4E3BBE4436D85748D45E4DBC634FDCAE96AA9379A58E78917868
+          8C6F6684716C696E6C677171757379726C77666672696B766C6E796C6E796A6C
+          77696B766B6D786C6E796D6F7A6A6C7770727D696B766C707B6D717C686C7767
+          6B76686A756769746D6F7A797B8670727D63657062636D55566062636D696A74
+          6F6E786D6C766968716867706A6972696B7363646E5B5D67585A645A5C665B5D
+          685A5E6953556042444F454751494A544D4A534B464F4A42494A40464B3F4549
+          3D435041495A4B5366575F6558606D626C79707A9088929D98A1A39FA5AEA8AD
+          B2A9ACAB9D9FCEB6B8BC9C9D7750524919185918175A17144A1110471D1E3321
+          221B1C201A252D121F2D191D3014152A0E0D270C1029101C341F2D44333E543C
+          4A612D425E4D65834257723E5067374659162333101926141B24171A221C1F24
+          1D1D2319161F1A1621221E2924202C201C2825212C22212B1F1F2B1E1E2C1D1D
+          2D191C2B16182A14162815192B161A2C191C2B1A1D2C1B1C2A191A2818182416
+          1622B29B8B8C5949BA4E43DC564AC94736C5533CC06949C97C5BC66F54BD674F
+          BC6E5EB170679469668E6F7292747F826B79716A776B6D786C6E796C6E796A6C
+          77686A756A6C776C6E7972747F5F616C696D7870747F6569746D717C696D7869
+          6D7870727D6D6D7963636F6565716666726666726E6F796B6C766768726A6B75
+          6A6B75686973676872686973696B73686A726768725658624F515C525661565A
+          65545A6550545F454954535762585A645B5A635A57605A565C5C565B5B54595A
+          505651444C4F3F4A4A3C47534550544A56665E69807D86A09DA69C9AA0ABA7AC
+          B1A8ABB9A8ABB99EA1724D4F3B0F105A24236A231F6B29244414123A1E1E271D
+          23191A24242B3A071122131A2E14192E1D1B311F1C321B192D1415290E182A0E
+          1D3025374E1E324B3D4E6335435515202E131C26151B2213161B1B1C201B1C20
+          1B1B211D1C261E1E2A1F1E2E1A1A2C151525211E2D201E2A1E1E2C1F1F2D1F1F
+          2F1C1E30191A2E15192C161A2D171B2D191C2B181B2A191A2817182617172316
+          16228EAAAB95949882464CA3484BAE4D49B35346A34A35E5886FD0644CC4543E
+          B9503DAE4F40A4534BB8716DC48283AC7578987375886D7081696B7F6A6D7F6E
+          717C6E72756B716E676E6D6A736D6C7570727C6A6F785B5F6A6A707B6268736A
+          6E79696A7473747E6F707A6F717B6F717C666A75686C77676B76686C77686C77
+          676B76696B766A6C776C6C786A697363646E63656F575C65575C655E636C5A5F
+          685358614E535C4B4D575759635B5C665E5D66605D66625F6868636C67626B66
+          5E685B525C5247514E3F47605159554850524A515B575D78767CA5A2ABAAA3AA
+          B5A9AFBDA8AB9A78794013105F24227734316B2623531A194F2D2E36272B2824
+          2F1C2130141A2D444D61303B4F222B3F141B2E11152815172914182A0F1C2C0F
+          1D2F0614270E1C2F0B15270C1523171D28181E251A1D221C1D211D1E22191A1E
+          1B1A231E1F291E1E2C191929181A2C1D1F311C1C2A1B1B27191A28191A281A1D
+          2C1A1F2E1C20321C2032161A2C151A29171A2916192718192717182618182418
+          1824589EC36EA4C7839CBE8484A27B6A7F7C5967855256944F4CD88079B34D41
+          C05443BF523DB24530C65943E17760B34E38B05441A85644A75B49B47162B47D
+          70AA7C7489676188716F756768817A7D707076686B736E747F626A775D657263
+          69746D6F776C6C72696C74666C736B747D66707A5C687465737F5F6C7A606B79
+          626B79646B7A6B6E7D706F7F6B66756F6D79595E6761697063696E595F646267
+          6A54575B5E5F6359585C5B595F5F5D6365606965616C64606C63606F65627268
+          657563646E5C585E55454C786469675659584B4D595255655E65ADA4AEAFA1AC
+          BBA8B1B1969A481C1B5A1C14842F2588332B6E31356C424D4935421B16250C12
+          25141F331B223B1B223B4651674251643C53632B4454142D3D0E25350F213209
+          15270F1627151827171A28181C271A1C27181A2417192115181D1C1F241C1E26
+          1C1E261C1D271B1B271B1B291A1A281819271B1D28181C27181C27161C27171D
+          28161F2918212B19222C18212B191F2A1A1E29181C27191B2618182419162519
+          16254E9ED94F9CD45799CE659BCA7BA2C98FA4C49B9DB5A393A4A6848EAB797D
+          995958A359539B4840AF554AB95A50D87769BB584AB15141AC503FB05A48AB5E
+          4BC27D6A9A5C4A9862519F72659B776D886A658D767476616477676E7A6A757F
+          717C756A72756E736E6A706E6E746A6B75696E77636C76616A77646D7A606976
+          656D7A6268756C6D7B6B68776F68756C687363666E63696E676D7263686B686D
+          706265696B6C706A696D66646A68666C6A677067667062626E60606E61607062
+          637161626C55525B75696FA7969A8170736457596F686B8A8489B5AAB4B5A4AD
+          C2AAB25532365B2826601F178A382C722A2369424A6C5C6E5B5A6E2F3A501120
+          3A0617320A122F0F16310B122B414E644E6678405F6E4361723F5B6C33445733
+          3D4F1616261A1726181824191925191A24191A24181A221719211C1E261C1E26
+          1C1D271B1C261D1B271C1A261C1A26191925141823141A25191D28191F2A1A21
+          2A181F28151C25131A23171E27171E27191D281B1D281B1B271B1B271D1A291D
+          1A295998DC5696D75396D3549CD2559FCF539DC7539AC05898BA6FA7C48BB6D1
+          8BA8C38894B09490AD7E6E8D7C6182A9809B8B4F61904A519B5151A75750AA55
+          45E48A72BC5C3EB45331B85736B85B3CBB644AE49582B2675EB3706DAB6C6E9E
+          6A718361688A717B7A626C7E6B74716069796C747B737A726B72706C7269676D
+          706E7469676D6E6D716C686D7670756D696E70717565686D6D7075676B70686B
+          73676A72696B75696B75686A74686A74686B736369705F656C5C62675D636861
+          64695B55606F6772665E6969616C817983837B857E777EACA5ACB1A8ABCBBABD
+          69484C4617197B4342955C5A81524A75585461616D47586B3B586D3E5D762F4D
+          6A0B2341010C2C1316351818360A0D29222F454B5C6F54697E516479424D6320
+          253A181828191927191925191925191A241A1B251A1C241B1D251C1E261C1E26
+          1B1C261A1B251C1A261C1A261C1A261A1A26171924171B261C1E291B1F2A1B20
+          29191E27161A25131722161A25171B26191B261B1D281D1D2B1E1E2C1F1F2D1F
+          1F2D68A3E867A7E864ABEA5DABE64FA4DC419DD042A1D24BAADB3D99C84DA1D1
+          64ADE1609CD2719FD97092CE829BDB939BD7A392C5A181AA9A729591637A8A52
+          5FBA777AAB5D56A34E3EAF5340AC4E37B05039DB7C68AF513EAE5344AB5146A5
+          564D985854BA8281A06A69A2716F936663936D698E6B68856766846D6B7E6C6B
+          796D6D736D6E6E6B6D6B6A6C71727666696D70737762666B6B6E76696B756668
+          73666977666775666978676A79676A78666A7565687063676C62676A63686967
+          686C6E66717166766E69786865759893A2B7B3BFA9A5B0ABA5AAB2A8A8977E7C
+          4614146020206D2C2E5F2D2F5642415D63683D5A69315B722859732656722E59
+          7A32527526365A161A3D0C0B2B1715331419321B263C313E5437425822274010
+          122A19192B1B1B291B1B291B1B271C1C281C1D271D1E281D1F271C1E261B1D25
+          1A1B251A1B251B19251C1A261C1A261C1A261F1F2B1D1F2A1C1C281A1A26191A
+          241A1B251B1B271B1B27191925181A25191B261A1C271B1C2A1D1E2C1D1E2C1E
+          1F2D5CA3E2549DDB519AD6549DD955A1DC54A1DA56A2DD5AA5E35AA4E45CA3E6
+          5A9FE560A4ED4A8AD85897E75894E65C8EE1718DE47B8CE2808EE08491DD878E
+          D39293CF9E95C79382A785688289616D90595CB26F66AE5F4CAB5237B15231BC
+          5939B45135E8876DBB5E45B2583FAF5B42B0644DAE6955BD83709C6D5F947167
+          7D67627F73736E6D71676D74626E785A6972626E745F6970626B74686E7B666A
+          7C6B6C806A687E6D6A806B687E6B697D6C69796D69756C69726D6C706E6D6F71
+          6D726D65706258686F6478786F83AAA1B6ACA6B79E9DA7AFAAACB6A3A0451B16
+          671C1A82282D72232C6C3D465D5F693F627022546B225C79215E7E1A57792357
+          7B355C823A5177303B61181A3D1F1E3E1518340E132C151A33151A3312132F14
+          142C18182A191A281B1C2A1C1E291D1D291D1E281D1E281C1D271B1D251B1D25
+          1D1C261C1B251C1B251C1B251D1B271D1B2723222C1E1F291C1B251918221917
+          231A18241D1B271F1D291C19281A1A281A1A28191A281A1A2A181B2A181B2A18
+          1B2A58B0EC4FA7E34B9EDB4D9DD8539FDA559EDC559CDB569ADB5699DE5B9FE8
+          5BA2EC63ADFB5FAEFD50A2F44295EA519EF55695F15A93F0558CE7558AE45A8C
+          E45381D5769CEA7B9BDD8A9DD6969DC89D98B5AD9AA9B89899A0756C9966569B
+          604D954A3ACE7B6CB15D4BA9533FB15B43AE593FA85438C17257A75F47A46551
+          8D5A4A946B62937672816C6E7B6D73766B7370666C7B747970686F746C77726B
+          78706A7B6E687B6C687B6C687B6A69796C69786B6A746D6B716D6C706D6C6E6E
+          6D716F6E786E6B7A72687971667AB1A8BCA8A3B2A0A0A6BCB4B46648435A221D
+          943E3E9F42497129366D495A495A6D25566C295F7E145173155377205E84235A
+          8125517A35547B475A7F4F597B2026430D142F171D340D122B0B0F2817163016
+          132C17162A1818281919291B1C2A1C1C281B1B271A1B251A1B251B1D251B1D25
+          1D1C261E1D271E1D271E1D271D1B271D1B271D1C261C1B251B1A241B1A241C18
+          241C18241D19251D19251D1A291D1A291A1A28191A2816192815182713182713
+          18273FADE743AFE947ADE845A6E0459DD94A9BD8529DDB569FDD5198D85097DA
+          519CE04796D95AAFF33E99DE3C9BE149A6EB479FDF4FA4E251A3E458A7EA5DA7
+          EF5498E3619FEB6CA6F1639BE2669BDE699BD76C9ED378A9D76D9EC673A3C779
+          9CBE8E94B7A798B78B748A7B5763875353975248AC5B46D97C62B65534BA5737
+          B35034B85A43D77F6EAF5D52AF635DA7625F975B5BB07C7C8E5F618C65678869
+          6C7A656876686C6E686D686B70646A6F636C70616D6F636C6F636D6D646B6E62
+          6B6F636C75585E6976727E766F7C9D9CA5ADAEB2AFADAC6B5B553C0D0973302D
+          813033863A459164756E6177536A843059792E5A7F2C58812658821F517B1C4E
+          78305C853B60863351743F54733E4F691C2A4102102310182F15193113132B1E
+          1E3616172B161928161928161927181A25181A25191A24191A241C1B251D1C26
+          1F1E28201F29201F291F1E281C1C281B1B27171822181A221B1A231C1B241C1B
+          251C1A261B19251A17261C19281C19281A1A2818192716192715182613192613
+          19263EA7EA45ADEE48ACED45A3E4449BDD4A9CDD4F9CDB509ADA529ADA559DDD
+          4C96D6509FDE4A9FDD55ACEC49A3E3419FDA3FA5D640A6D63FA2D445A2D94AA2
+          DE55AAE853A2E56BB9FF5BA9F055A4ED4FA1E94B9FE7439BE2419CE148A7EC49
+          9CDA65A1D7759FCE85A3CC8E9DBE9996AC9D8694A67D82BC83819C544CA35447
+          A85042A84D3EDF8376A5493EAE534AA75046A9514AD17E76A55750A56057A469
+          6096655D966F678C6F687E6A65776B67736B6B6F6D6D6F6E706B6E72696D7266
+          6C735F666F666D766F72776365669EA3A1AAAAA4958A8233160F6229276F2D2E
+          6A2E367247565D526645506B2D4A69375B7F406089385A85385D89325C872852
+          7C2C557C345A7D33557327425C0A21370213260E1C2E131D2F0F142911142910
+          1328171B2E161A2C16182A151827171826181A251A1A261B1C261C1B251D1C26
+          1F1E2821202A21202A201F291C1C281A1B25181A22181A22191B23191B231C1B
+          251B1C261D1B271C1C2A1B1827191927191927181927181927181A25161A2516
+          1A255EA8FA5EA8FA61ABFD61AAFA56A1ED4A95DF4B95DD549CE2539CE05299DC
+          569EDE559DDD539BDB5CA5E35EA7E54799D345A7DD3EA7DA3DA4D53AA0D13FA0
+          D244A3D54AA5D84DA5DB52A9E24096D24CA3E351A7ED50A7F156AEFB4AA1F149
+          9FE54FA4D256A7CC67B4DB579CC75B97C56495C77699CB7B92C29099C5928EB2
+          9987A495778AAF868E8F5D5D844D488F4B3EA44A39DB7562B4513BAE4E37AE4F
+          3BAF543FD27C68AC5E4DB46E619F645A9D6D699C76767F636975616D7A6B796F
+          65756B6772727278666C6B626B619FA697A9A5934C2F216D3E366D3131713D44
+          634D594D546533536A26516C2D4D70314E73304A72334D7534507937557E405F
+          8642628533557324435C031C30061A2B0C1C29101B290E17250E1526151C2F21
+          283B1E2437181F3015192B1619281819271719241818241818241C1B251D1C26
+          1E1D271E1D271C1D271C1D271D1D291E1F292528301F23281B1E261C1F271E1F
+          291A1C26191925181A251717251515231717231B1B271D1D291C1D27201F2924
+          232D5194E95396EB579BEE5BA1F461A8F864ACF960A9F35AA4EC59A4E9569FE3
+          5AA1E4599FE2549BDB5DA1E264A7E655A1DC40A0D63BA1D53EA3D740A3D542A3
+          D543A2D446A2D549A3D95AB4EB49A1DD449BDB4097DA4095DF459AE8439AEA46
+          9EE44DA9DA50AED961BDEE4FA9E04DA1E24F9DE2569DE75695DF6195DC668FCE
+          7692C87F8FB9A8ACC89996A69E939BB0989AB1817FC68A849C5D558E493F9549
+          3DA95A4DBD6A5BAB58499D4E41985046985853824A49794C4F704B537D5F6A7E
+          66727864707062667C77747C7A6FB4AA98553D295425175F251F6B3437694752
+          55596B3A5B6F20536D1B4F6D274C6E2E4A6D3A5679314D702E486C395175415A
+          7C3A52702239530C24380D202F131F2B191F2A1B1F2A191C2A171C2B1B253727
+          314321283B1A2033131A2B1216281518271819271B1B271E1E2A1D1C261D1C26
+          1D1C261D1C261C1D271D1E281D1D291D1E281C1E261B1F241D202820232B1F21
+          2B191E271B1D281E202B14162121212D23212D1A162119141D271F29332B3234
+          2C334D9EE94E9FEA4D9EE94C9DE854A3EC5CA9F255A3EA4996DB55A2E755A0E5
+          57A2E65AA3E757A0E45BA4E863ACF05FAEED49A3D946A5D74AA6DB4DA8DF4BA3
+          DF479CDA4798DB4A9BDF54A4EB50A2E94196DC3E94DA4198DB3C95D83E99DC44
+          9BDD4898D7509ADA61ABED57A0E4539BE3579BE65A9DE85A99E36FAAF06CA3E6
+          70A4E06EA0D487B4E0729EC36D98B96F9BBA6D9ABF76A0C37897B67F90AA8A8B
+          9FA192A08B6C7383585B87565487504B955F58521E174D1E164C20194A221D5E
+          38365E383E5E3A406347467A5B529166574D16077A372E6C2F2D663D45584B5B
+          4154692B506A1F4E6A22506F2C52702D516F244C68274E6A3755724159753C4D
+          6825324C111C320C1425191C2A1D1C26251D28271F2A211C2B1D1D2D1E283A27
+          35481D2739181F32131A2B1317291619281819271B1B271F1D291F1B261E1A25
+          1B1A241D1C261D1E281E1F291D1F291C1D2720222A1D20251B1E261A1D25181D
+          26151C25191D281C202B1F212C1C1B25211C2533283044363C4F3D445E484D67
+          5255449CDC48A0E049A1E1479FDF499FE151A5E755A9EB58A9EC4E9DE04D9CDF
+          519FE258A3E759A2E659A1E75BA3E95EA8E85DADE455A8DB53A5DC55A6DF54A4
+          E14E9DDC4C9BDE509EE34B9CE056A9ED469BDF479EE04BA4E13D99D4409CD743
+          9AD84997DA4F95DB5DA3E9579CE25397E0599DE65D9FE65EA1E65899DD5598D7
+          5C9FDC62A5DC74B8ED65AADB63A9D85FABDB4FA2DA4FA1DB539DD35C9CCC6B9B
+          C58EB1D38C9FBAA0A7BB9A95A49D8F9A8D777C523A3C48292A3E1F1E47282741
+          1F203D121B40141B41191B5427244E140E5D1B16732F306C363D72596755566A
+          3B536B2E4E6B2C4E6C2D4F6D2C4E6B284D672651662F596C3E5A723A4F652732
+          4814192E1014261C1C2A201A252419232B1A252B1A272419291D1B2E1C273B26
+          344A172236151F31141B2E171E2F191E2D1C1D2B1B1B291D1B271F1B261D1924
+          1A19231C1B251E1F2920212B1D1F291C1E261C1B2418181E13151D14171F171C
+          251920291A202B1C212A20212B37323B3E333B3E2C335A404686676A9673778A
+          656756B1E453AFE252AEE350ACE14BA6DD48A2DB4CA6DF55ADE94FA4E24FA2E0
+          4E9EDF529EE0579EE1559ADF5697DC5A9ADB6CABE762A3DA599CD3579DD3559F
+          D553A1D653A3D853A6DD51A9DF5BB5EC4AA5DC45A2D945A2D93B98CF419ED547
+          A0D94C9FDD4E9DDC57A6E557A4E3509ADA549EDE539CDA569DDC5EA4E05AA0DB
+          5EA5DE63A9DF6BB1E65FA6D85BA4D65FA5DA65A8E16CABE763A6DF68ABE263A7
+          DC64A7D8599CC9619FC8669DC26A98BA3253744159774A5571484C65736F8844
+          33483B1A28380D16491C254C1B2350151D480F1843111D402130332F42253248
+          2B3F583D526E4A5A77425471364F692E50673D6577365B692B41531B27391418
+          2B1717271B1B29201C27251D242A1B23301A262F1B2827192B1D1B2F1C263E24
+          344B18253B172133171E311920311C21301E1F2D1D1D2B1F1D29231F2A201C27
+          1E1A251C1B251D1E281E1F291B1D27191B23201B24201C221D1C251A1C24171C
+          25191E271B20291E202A23222C3E363D67555C886D71916C708A5B5D824D5082
+          4C4C4CA5D7459ED0449DCF4DA6D954ACE255ACE457AEE75CB3EC5BAEEB5AADEB
+          54A4E5509EE056A2E458A1E5589FE35FA3E669AAE763A3DD589BD45298CE4E99
+          CD509DCE4D9FCE4AA0CE4DA5D451ADDE4BA7DA45A3D8429FD73E9AD5429DDA44
+          9FDC459EDB459DD952A8E458AFE850A2DC53A5DF4E9CD751A0D954A1DA4F9CD4
+          539ED657A2DA5AA6DB56A2D759A5DA5FA7DD63A3DD65A4DE5599D459A2DE63B1
+          EC5BACE95DB1EB5CAFE763AFE43779AC174D7C2B557F3C5A7D4B5F7E3F4A6614
+          12282F1D2A361B253A1E2B4F324162445751364A402E45342E451B263C0A1C33
+          00152B00142D04152F0D1E381E324B30485C314E5D27414D1D28361215241613
+          23211C2B201F29191821251E25261B232E1A262C192825162B1B173018233F20
+          314C1A273D152034131A2D12192A15192B1A1A2A1C1C2A201E2A25212C231F2A
+          211D281E1D271E1D271B1C26181A24181720241C2628202726212A1F1E271E20
+          2A262B34353A4342434D58535C70636B7B6469724F537746488A50519351528B
+          45455FB2EA56A9E14E9FD84F9DD8539FDA529DDB4F99D94C96D65BA5E760ACEE
+          56A5E84C9DE04FA3E54EA5E84CA5E853AAEC52A5E258A8E356A8DF4EA1D54B9E
+          D14CA0D04BA0CE469BC9459ACA469CD04EA8DF4AA3E0429BDE429CE33E99E43B
+          99E23F9DDE3E9EDA4BA8E557B5F04FA9E454AEE74EA5DE53AAE355A9E354A7DF
+          57A8E15AABE455A5E051A1DC51A1DC53A2DB57A4DC54A2D753A2DB51A1DE66B4
+          F659A4E85EA4EA599DE05693D11C4F872E58873153774B647E5368772131381B
+          242815161A22242C2029373D4E6147607A4C6886405A783C526E3F526D3B5369
+          2E50601E4756133C4B10304314223911172E1A23311C222F231E2D251B2B251A
+          2A231C291B1E26171D221B20231F1D2325192526192921142C1915321720411F
+          2F4C19253D141F3311182B0F16271216281616261A1A281E1C28221E29211D28
+          201C271E1D271E1D271B1C26191B251C1B24221721271A222A212B342F384443
+          4D5557615D5F69605F686D666D67575E6A4C51764B4E854B4C8F494A984B49A1
+          4E4D66B3F263B0EF5BA5E54F99D94F96D9559BDE569DE0539ADE4B94D856A4E7
+          50A1E54295D94198DB3E99DC3997D93D9BDC4099D651A7E35BAFE957ACE455A8
+          DF57ABDF56A9DC50A3D64EA2D6479AD255A8E54B9FE03E93D9469BE54096E23D
+          96E03C9ADC3998D73F9EDD4AAAE63D9DD943A4DE3B9CD645A3DE46A2DD49A3DE
+          52AAE65CB3F158ADEB56A8E954A4E552A2E351A2DF499DD759AAE74B9BDC64AF
+          F3599FE562A2E96AA3E83B6BAB2851882F507D3B567852677C2335401120220F
+          1D1C121E240F212C3552613D647A386983275A7A204D6F2E54762F4E6D36546F
+          2C556B295566325D6C436172424B5F302F431B1C2A1919252318282B1E2E291E
+          2E211A27181E251823271B22251C1F24251C26271A2A22162C1816331823431F
+          315018263D132134131C30141B2E1B1B2D1B1A2A191A281B1B271B17231D1924
+          1A1B251D1C26201C27231E272520292B20283E2931412B3048363D5D5058776E
+          7877737E5559643339443C3E484A454E574A52674C507C4A4E8B4A4C984A4B9B
+          49484A90D6549AE05BA3E95EA6EC4D98DD4994D95BA8ED4A98DD4C9DE14699DD
+          4DA1E34CA2E44197D94097D9459CDE4197D94799DA4897D64E9DDC5AA9E85CAC
+          E955A5E254A4DF5AAAE561B1EC5DADEA59A8E75EADEC4C98DA4F9DDF4F9ADE49
+          98DB4497DB449BDE419BDC4CABEA3899D8379DD839A1DC369ED9349CD73C9FDD
+          3B9CDB53AFF04299DC4EA0E74D9AE359A4EE549FE9519EE757A3EB69B6FB62AB
+          EF5BA1E46BA9E95E94D12C59922A4D7F324B77485B7E3C49631522320E182215
+          212B07172721394B36566934596D2D576E2F5C772E597A245173315C832F597E
+          3157793A5C7A425A723A495C2B303F1C1E291A202D191F2C211B2C221A2B2118
+          2C1C1929171B26151D24181D201D1C20291C242F1E2B281C301C1B351724441C
+          304F1526400E1F340C1A2D11182B1B172A211B2C181E2B1117221A1824191822
+          121A21181B23261B252F1C2536212A42262C603B3D7751518162638A7175957D
+          857B6D784A53603047561F3848304A58233D49222B344831397C4E5486474993
+          4F50569EE44991D74792D754A1E64795DA4290D53E8FD33D90D43E93D73C91D5
+          479DDF4FA5E74CA2E44DA1E34A9EE04392D54894D64A94D6509ADC5BA5E75DA9
+          EB5BA7E958A6E85BAAE956A4E6509FDE58A4E65BA8E758A2E24F99D9529CDC53
+          9FE152A1E450A3E74AA0E254AEEE3E9DDC3A9ED9399FDA329BD4369CD73A9DDB
+          3B99DA51AAED4294DB4D9AE34A92DF549AE7559DEB4D95E34F97E4569EE65299
+          DD5D9FE0639FDB497CB41F477B41608D43587E525F7F242B440A112213192608
+          13211E3349304B653C5E75335A702A536A2D55712E597A2B587D1D4A75214C77
+          31547F415B7F3D4B68272E421D1E2C1E202A181E291A1D2B221C2D241B2F231A
+          2E1D1A2A161A25151B221B1E22201C212A1C222B1A2722172B1617311322421B
+          3050162440132137121F35192033201B301D1728111724151924211924211822
+          211F252D262D3D252D49272E633C4482565C996767905F5D7A514F7D5B5C9776
+          7D8676814858652241501A3B4E23495B19425118323E3A313B704B537F474C8C
+          4B4D50A0E14F9FE04899DC4E9FE24599DB4FA3E54096D83D93D53D94D6388ED0
+          3B91D34498DA489CDE50A1E451A2E64E9CDF559BDE589CDF5B9FE25DA3E65FA6
+          EA5EA7EB5AA5E955A3E559A7EA52A2E359A8EB56A5E85CABEE4493D64493D64C
+          9ADD4593D54797D84598D652A8E44BA3DF4BA5DE4DAAE249A6DE4FA9E450A8E4
+          4FA4E262B0F2539CE05A9FE55695DF5A99E3579BE64E95DF5AA1EB579CE55396
+          DB63A1E14D83BF1A497D2F54803752774B5D7A36425A161D2E2528361C1E281F
+          28363A506C3452753053742A506E28506D275070234D701C476E254F79325882
+          35537C263C601823411418301818281B1A241E1D27201C27251A2A27192B2519
+          2B21192A191B26161C231D20251F1E22251A242218251914291115310E21421B
+          30501D2542171D340B132A0F16291D1C301C1B2B1B1C2A2925312F1E2938202A
+          38202847262D72434B9A646BA0676F90575A864D4C854D4C7C4A4A855D5F997A
+          817B727C3546530422331433481D3C51204053263646382E3A6C4A51854B508D
+          4A4D509AD260AAE25AA5DD58A2DC56A3DC56A5DE54A5DE4C9FD753A5DF4C9ED8
+          4798D54595D24595D24999D64E9DDC509DDC559DDD579FDF569EDE539DDD54A0
+          E256A4E653A1E34B9BDC53A5E653A4E753A4E752A3E65CADF14C9DE14798DC50
+          9EE14D97D95199D94D98D655A2E053A3E04EA0DA4EA2DC489CD64599D34899D6
+          4B9BDA5DA9EB559EE25EA5E95EA0E75EA3E95CA2E8559DE567AEF85CA0EB5192
+          DC5996DA2F65A200275B153B6525416341556E1725380B14220F15221518264D
+          57694156763C597E3F5F823D617F375C78325773335775385B7C39597D365176
+          263A5D101D3D0D122B1C1C2E26222E241F28201D261F1C252218242316242116
+          262019261C1D271C1F271E2125221E23261B252518261C152A15163215224221
+          30501B223D1C2038111A2E0D192B121C2D111827131722241E2938252E583940
+          8259609E6C709B606489484A884346934F50834241884B49884E4F8E5F629278
+          7E736D7831424F04223319344921394F2F44593840513C303C6B4A51894F5491
+          4A4D3A6E974478A13F759E5289B4629CC65390BC68A9D56BAFDC60A6D562AAD9
+          62ACDC5EAADA5CA8D959A6D75AA6DA5AAADF4DA3D94BA5DC49A2DB449ED746A0
+          DB4BA5E049A2DF419AD73B94D1449BDB3E92D34698D94E9FE258A7EA4F9DE258
+          A1E55F9EE2639FE15E9BDD61A1E261A5E6569DDC549FDD4D9AD84B9CD9499CDA
+          4C9EDF53A7E94B9FE14EA1E54D9FE64E9FE353A1E64F9BE35DA5F25398E74E90
+          E15B99E54980C533639D29537E284B6C001B33041A2C0F1F30101C2E262E4533
+          3E593B5070364F6F3953713E59733F5B733D586D3B566A40576D44566D29354D
+          171D341D1E32242130231B25241A20292225181B1F171C1F1A1A201C1A201D1A
+          231C1B241C1F241D20241F1E22231C212B1A232C1A2727162B24173123213F2B
+          2F4C1A1F381921380F1E310317280019270C252F2A373F4948516D5F6587676C
+          8E5C60814244823E3F974F4F9E525391464498514E954F4F8D484B8E585D927B
+          8074737D30414E0018292B425833435A4A5067504E614539456C4D548B505492
+          494B89B6CB82AFC46594AA57889E45778E295D74245C75134E68306C893A7896
+          4282A14A8AAC5598B95D9FC264A8CB6CB3D953A1CF50A2D24CA0D04A9DD04C9F
+          D250A4D850A3DA4C9FD650A3DB56A8E2499BD54D9DDA4D9AD85DAAE954A0E254
+          9EDE549BDB5A9EDF559CDC58A0E064ACEC5AA4E45BAAE958A8E759ACEA54ABEB
+          56ADEF54AEEF47A2E545A0E3419EE3419CDF4CA0E24E9FE34E9CE94892E44C91
+          E85698EB5A97E1659BDA78A9D95B89AB00263F00132A05233C1A345201173B04
+          1A43051F47021F440721450C2847102D4819354D2A455A3B5367243249141B34
+          0B0F2715162B1B1D2F1A1A281F1825221F2813191E121B1F191D221B1D251C1E
+          261B1E261A1E23191E211B1C201F1B20271A222B1A2726182A23162E25203B2C
+          2D4720223A131930121D31192B3C1D3A4836515B5A656D6D6B71685A5E6E4F52
+          834A4D9950529C50519949489D4846A24F4D944947944A4A924548965B5F9680
+          8574777F293A4700071736475C3F465F59536A6054664E404C6D51578B505497
+          4C4E95CBC49DD3CCA7DDD8AFE7E2A2D7D4C3F9F9BAF0F1B8EFF295CCD18DC3CA
+          74A7B15B8D994E7F8D3C6D7D2D5E6E2A5B712B5E7F2D60883468903D739C4981
+          AA538FB95C9BC75FA0CD5B9FCE579CCD549BCD549DD1539BD15AA4DA5EA8E058
+          A7E04DA9E44BAEE846A8E444A4E051B0EF45A2E14AA7E64BA8E743A0DF44A0E1
+          48A6E747A5E63F9FE13D9EE042A3E542A2E44AA2E258ADF14B9DEA4292E74893
+          EF4188E34489D95596DB65A3D9001B4500123200204116456B7AA6D57FA7E143
+          6DA80F3B710631640E34642E537F4F789F567EA13C62842243640D2346122246
+          0D1B3F041334001233041837081535050E29161D2E191D281A1C271A1C27181C
+          27161C27171E27151F26161E25171D241C1E261D1E281A1A2A161A2C1D243829
+          304426233C1D19323A384E5C627556697851616D5957635446515C4A51704E54
+          8C4C5295454A984547A14949A84848A144439A4A49994D4E9D494D99595E917C
+          7F6F757A2F40490114233C455949475D6351686953655545506E5357894F509A
+          4E4F558C734F866D69A18A7CB49D48806B6AA28D3E74635A91829FD5C89DD2C8
+          93C8BF98CCC5B1E4E0BEF0EEBFF1F1C5F5FBB2DEEFA7D1E891BDD578A5C05B8C
+          A64274902F6584265F7F245E811A587C2D6C9236779E4584B04B8CB865A6D363
+          ABDB5AB1E357B5EA53AFE44CA7DE5BB5EC4DA4DD55A9E357ABE554A7E454A7E4
+          56ACE84EA6E2439DD83D99D4429ED9409DD5439AD25EB4F04D9FE64D9CED5CA9
+          FF549EF65BA2F26CB2F86EB4EA3377A41B608700426966A6D66BAAE4609CE25D
+          97DF659FE16299D64E7EB81F4E8400285A002D5C2A5D88608BB68AA9D6869ECC
+          7991BF6683B04A6E9C2D5481193A6B132E5A0C24420D2238081A3104162D0116
+          2B041A2C0920300F24330E21300F1F2F101F2F121F2F0F1B2D0F1A2E1A253928
+          304721233B1F1C354F4C6274788B5262723646534744534E4450463F46533E46
+          77444C904D54924D509145469E4548A44E4E914949924C4D95464997575C8F7D
+          7E6D74772A3A41000713474B5D574E626E55696F55655849516C5456844B4C95
+          4D4D497A544D7E5830633E5A8E69609673386F4E30684B4580647FBCA28ACBB2
+          65A690266B5661A8946AB29E6DB4A3A0E5D86AA6A571A8AB97CFD4BEF6FBBEF8
+          FEB7F2FBBAF4FFB6F1FFAFE9FCA5DEF39AD3E980B6CF6CA0BE679BB94F82A238
+          6C901B537C28618E28618E3F77A64075A75287BA5085B85F95CA659ED2639FD3
+          67A8DB5BA0D260A7D955A1D152A0CF53A4D15CABD666B6E55AA9E257A2E65DA5
+          F358A0EE5BA2EC60A8E858A3D7539ECA60ACD655A3CE60ADE55DABEE549FEE59
+          A3F558A0E85FA3E667A1E2639CDA5C9BD54687BE18588E00386C00265B284C82
+          7196CE6C99D25B93CE639FDB72A8E774A8E470A6D56EA7CE538AAF4D83A63065
+          862A5B7B083655042C49001C3A001936001A38041A36000E2B131E3A1C223F28
+          2F4A1421371321343D44587782963D5464394D5E444C5D39414E35464F2F3841
+          46373F604148704E546F444781454B8D4D52844D50884F528741479860658B7D
+          7E757D7D333F4300060F484854574A5A7459696C52604C40466954568652528D
+          4B4C194C2041744840754A396E43356A422F663F2D68423C79553875534A8B6B
+          498D6E3A80626CB3985BA48A4D977D66AE9770B29F71B2A293D4C5B5F7EBB9FB
+          F0B3F6EDB2F5F0ACEFECB4F7F8B5F8FBA8E7EFB7F5FFBAF8FFA7E4F2C0FCFFB9
+          F2FFBDF3FFB8EAFFAEE0FE84B5D589B7D973A0C56D98BF5682AB3A68912F6088
+          3A6D952F64892862863572945191B05294B162A7C25AA0BE5DA1CC64A6DB5899
+          D65E9EDE6EAFEC5DA0D75EA4D360ABD269B8DF57A8D555A8E052A7ED50A4F647
+          9AEF4D9FE756A2E45F9EE25A97D9569BDA57A1DB559FD75FA0D73968A0001B55
+          335F9A6DA3E05EA3E2549BDE5B9DE4599CE1569CD859A3D958A3D766B2E362AA
+          DA6CB0DD69A8D473ACD979ADDB6192BE4E7BA63F679121416A19335812234A1E
+          2D4E14263D1C2B3E3942566E798D415469293D4F3B495C3A4A5B2B48572E4957
+          192230181524231B26321E2A482430532934512F366B424A7E47508A5E65857A
+          7C6D75743740430B1116494550594B576F56645E4854474045655759774C4F83
+          4A4D2461353F7C5027633A38744B5B946D58916A69A27C5A926F5A8F6E467C5E
+          588E715E957A5C9378538A7179B29983BEA249896B266A4B276D4F40886A549E
+          8478C6AE9BEDD7A0F5E1A6FBEC9EF6E8A3FCF298F3EA9EFAF59BF9F596F4F091
+          EBEB9CEDF0A9F6F9A9F3F9ACF4FCAAEBF9AEEAFAAFE9FCC0F5FFBEF0FFBBECFF
+          B6E5FBA5D2E7A4D2E493C1D278A7B552828E4A7F89487D8A32687F2A5F802E64
+          8D386F9A4B82AD4F8AB25C9CBF589DBE5CA4C65BAAD360B0E74FA3E54FA4F247
+          9CEA53A9EB57A4E25A9ADA5795D54E97D34F9ED754A4DB62A5DC36659B000F46
+          37659B6CA5DD519AD6509EE05EA4EA599EE765AAF356A1E64998DB4999D84192
+          CF4997D257A1DB62ABE564AAE55DA3DE5CA6DE6AB0E674B3E67BB0E2406C9B0F
+          305711223C111A2E62657A7779914E556E2E3A52151E3926375122415826465D
+          041C3403132A0B122B18152E2818302C182F221727281725391A29583D47827C
+          8174797A343B3E01050A433E47564A5661505D544651403D4668616673545B7A
+          505729663A2D6A3E407A51336D44376F46265B34285D36487B566B9A796A9978
+          3A6B4B27573A3D6D50194B2D225337467D5C66A780266E442F794F4A966D3E8C
+          6757AB886FC6A5449E802481664CAD9388EAD485EAD579DFCE88EEDD82E9DAA0
+          FFF4A1FDF09CF3E99EF3EB98E9E6B0FCFBA7EEF2ADECF4A9E4EDB7EDF8B9E9F5
+          6B98A31E4952335A6241676C557B7F72999B779EA094BDC09DC5D1A8D3E4B1DD
+          F599C8E382B2CE77ACC7568DA84D89A62F6F912B71994A96CA4B9BDA50A5ED48
+          9FE9429CDD4A9DDB569ADD5DA1E453A1E34A9FDD4CA3DC529CD4396AA2001950
+          3D6CA269A4DC52A1DA4C9FDD4D96DA5BA0E95097E14793DB4B9CE04DA3E54FA6
+          E455A8E55AA9E854A1E05CAAEC62B2F35CAEEF4FA0DD4B95CF5C9CD32F649703
+          2651182B460E152870758A686D863D46612F3D5A2C405F4864834C7193224D6E
+          1A426515395D0F2D5003193D051036081133101E3A09142A1D182D423A4B7E7F
+          896F757A353B400F131837343D49434E453E4B514F5B333742696A7473616E61
+          47544270464C7A503563393563394371472E5B3438653E24512A29553054835D
+          3F704A2A5D383468430F45201F573459976F458A5D539D6D47936355A37484D4
+          A985D7AD6CC29A77CEAA60B79641997B1B745A4AA28A61BBA46EC7B36DC6B380
+          D9C674CAB892E7D89CEEE28EDDD492DEDAA0E6E695D8DB80BEC4ACE5EEBEF2F9
+          6D9DA319464A244D501D44461E444433585634545329484926464B294D552245
+          523057655A85946694A68AB9CEC8FBFFBBF4FF7EBFE666AEDE4E9BD450A2E348
+          A1E444A4E64FAAEF5CA7F161AAF4489DE53996DB45A3E44F9FDC2F62A000134E
+          35649C5E9BD34FA0D954A7E4519BDD579DE0549CDC549FDD50A4DE4BA3D94DA6
+          D956AADE5DAAE259A3DD549EDE4A96D84595D6509DDC5CA2DD6CA5DD3E689D14
+          315D10243D1222335A6B7E60758B324864264362789EC176A3C95082AC0E4572
+          5E9AC870ACDA72AADB5B8EC04B7AAD3C6A99124167032A4A0B234126344B6E76
+          87727883323A4100040B32343C363843262F3C4C5967243141666E7F605E712B
+          25383D6E403A6B3D467749396A3C47764853825444754747784A497C503F7246
+          3A6F433D74473C75483F7A4D4E8C5E47885A64AB7960AB775EAB785EAD7C5FAF
+          8065B6896ABF936EC49C6BC29E81D7B564BA9C469D815AB1979DF3DB81D6C059
+          B19A7AD4C19AF5E686DED175CAC248999667B4B66EB5B986C7CFB4F1FBAFE6EF
+          63949E1E4A51244A4F26494C2F51512543442E47492E47492B484C2F4E512343
+          4922464E4C737C6F98A7C1ECFFC6F5FF9DD2F3629EC85C9FD0519CD44FA0DD45
+          9DDD3F9DDE459EE14D97DF579EE8469BE3429FE454B1F0519FDA3B6CA4001246
+          3962936FA5D45CA7D55BAADB4E91C82A689E3875A74E8FBC559FC95BAAD15DAD
+          D260ABD2599CC9589ACB5B9ED55BA1DC5BA7E25FA9E362A4D96CA1D440639517
+          2D560F1F360E1E2F5D77886281982D4B68244A6C77AAD2649DCA568EBF003269
+          5CA2D858A1DB5DA1DC5CA2DE5FA8E4529CD462AADA73B3DC83B5D96A89A86D7B
+          92676E7F313A44040D163D424B2E374429404F455F6F1F34496070874A557014
+          1D383C834B3E854D3579423D80493A7B4433743D35743C35743C3C7B43407F47
+          3B7A4236773F40844B43874E377C433D844C3F8550468E5A57A06E5EAA7A5BA9
+          7A5EAF8263B88C5EB68E6CC59E69C5A27CD9BA58B59868C7AC90EFD47CDDC38F
+          F3DD80E7D883ECE193FAF38FF2F0A2FFFF95EDF4A0F0FBA5EEFCA6E6F8ABE3F4
+          6A9AAC2C55642C4E5B27434E314A54253C44253B463049532541482242482143
+          4920444C597F8BA7CDDFCFF8FF8FBBDA73A4CC659DCC61A1D7559ED854A4E14E
+          A4E052ABE454A7DF5595D5609DDF529FDE4DA0DD4FA2D93277A8395E8A001238
+          375274628AA746829F4888A67AAED2A6D0F393B9D992B9D5699BB25A93A84F8A
+          9E478096366A88467A9E4980AB4583B14389B84F95C464A3CF7BAED64869900D
+          2041222D410D1A2A60798D54748B21405F224C715791BB5795C55587C100316F
+          5B9DDE579EE1579EE257A2E758AFF24CA6E654AEE55EB2E271B6E16393B76274
+          916B70852E3947000711444D5731414E537684375D6F1F3B535A708C485D7C48
+          5D7D347F47358048357E46337C4430743D40854C357940387C4135793E2B6F34
+          35793E307439286E31327B3D2E7739347C40377B46317643327947347C4D3480
+          50408E5F4B9A6F47996F50A37C5AAF8960B694429B7A65C3A171D2B282E5C584
+          EBD084F3DF8AFBED8DFDF38AF7EF90F8F795F6F997F1F89DEDF8A2E9F7B0EEFE
+          689BAB436C7B7F9EAD90A7B698A9B694A6B1899FAB79939F738E986D8A934867
+          7047677296B8C5DCFDFF7CA0B81E446219436622537B1F5683296795397CAD2B
+          73A24690BA5196BE588EBD689BCD5C9CCC5CA1CC63A9CE447C9F2E4C6F142847
+          3146615A7B8F8FC0D0A6DAEA87B0C65B7A938BA5BD7D98AD4A6E7E5783906E9B
+          A982AEBF7BA6B9A0CCE38FBFDB7EB5D473B0D06CACCA5A96AE52849B2F516F1E
+          3352121F35101D2D5266775D788C36567329547568A3C368A3CA5984B50B376D
+          5491C95AA1DA569CD74B97D2479FDB43A0D848A3D64499C75AA3CF6498BD6176
+          92686F822C3441000A143F4D593148577CA5B42C576A1E3D56546D8D4E6B908C
+          AAD33A7B4A3D7E4D3778473977473E7C4C3B7846377442417F4B3E7C483D7D49
+          3B7E473A7D46377B44337A422F763D2C733B3577442E6F3E28693B276B3C286E
+          3F2C714430754833784D3E805742835C54977057A07A6FC09959B28A59B9905C
+          C39D6ADBBA6BE1C479EED582F6DF8AFAE994FFF499FDF794EEEEA4F5F8A7EEF2
+          5B959B19474F1E3F48243A452738413647502E484F365259425D674A656F516D
+          785F7A88708A9A7995A6243F5429455D2A496223475F1A435A18425913425811
+          40561143550E3D521B435C173E5A1E4A611D4B5D113F5039617437546F031B39
+          738CA6B4D4E77BA2AB628B946D92A0496A7D28465F325069375A6E395F713D65
+          78426A7C406A7736636E31606E3A6B79386C78356C71568D8A80B3B65F849E0E
+          2A4C0A20390C1C2D69757F697985435F77244D64568C975B8F9B4A6C84000422
+          447B9A5195B2589EBC559EBE5AA8CD61AFD45DA5C75FA1C46CA7CE6390B25A6F
+          856B7380363B3E010A0E455865224051769EB1335A70214158516E8D49689579
+          99CE47895F44865C3E80563C7D503F7E523D7D4F3C7A4C3F7D4D3978463A7A46
+          3C7C483B7E473B7E47397D46367B4234783F3D77413E77443D7B473E7D4B3A7D
+          4A3477442F703F2F6D3F3B76492F6A3E3D774E5393696AB28741906542996D54
+          B0854EB28857BE9866CFAA6ED7B672D9BD84E8D298F8E7A2FAEDA9F9F2ADF4F1
+          659E9F1D4D4F21454B334F56384B5330434A25424727454A29464D28434D2640
+          4C28424E2A44522B4454263F4F2B44542C465627445224414F23434E24444F21
+          454D25494F264953325061274556284853294B512D4D525977825E7890071F3B
+          425B75637E925D7C854C6C712A4A5538566733516A3D5B7645667A4164783E60
+          7741657742697240686D3D646C50787D739A9C88B2AB82AF9E6B948D3F5D7612
+          2A4E152A45101E305B5E666B727B3C51662C4D605882816E938F5C707B162A3B
+          749BA97FB3BF81B5C172A9B6639BAE588FA45085994E80975584A3597E9A6375
+          86747B84393B3C0005083D5463294A5D688DA140657925455847647F4D6D9873
+          94C683D7AD6FC39956A87D3E8D622E7B4F2E77493177482F74423B7E4B3A7C48
+          3A7B443C7B433D7D423F7F443F7F434480444B7E424B7B40457B3F417D413D7D
+          42397D423C804742834C427F4D3E7A4A447F525593656AAB7E3D82573E865B42
+          8D6150996B4E996B55A27662B0876EBB9971BFA063AF974E95846EB3A675B4AB
+          487D7A1846471A40442B4D53304D54203C432A4A4F2A4A4F27474C26434A2643
+          4A28454C28434D25404A28434D29444E2A454F28454E2A47502C4B542F4E572F
+          4F552D4D5328444F2C4456294153324C58304C53213E43354F5B34486100122F
+          364B66395165324D57425E6538525E405A6A39586F3D5D743C5E6E3859693B5B
+          6E4F6D7E66858E7494999BB7BE769096516A6C3B5450314B3D3045422C375323
+          2A5118203D161C2F575359817E87464F632A3C4D283F3B32443D343238000007
+          2733391D3234223738334A4C40585E456168567A80668D967B9EB27994A97380
+          8E6C6E783333390E151E354D5F14344B52778B3458681D3A485B77884E6B8A7E
+          9EC2A9FFE3A4FDDCA4FBD99CF0CD8BDBB682CDA777BE9664A87F4F9063498759
+          417E4C3B764339733D38723B39733C3E763B4B7B404A793B42793A3E7E3D3980
+          4136804435814738834B3C84503E85534084554C8F6263A57B3C80573E845B3D
+          8257397B4A3B7D4A3B7D4C3275482569402669442C6F502C6D53286551316859
+          2B5D5327554F254D4C25484B2C4C5126464B26494D25484C2343482040452341
+          4627454A29464B28454A2F4C512D4A4F2A474C28454A27444B28454C27444B26
+          434A2C49502B45512E465A273F532A4450314D5439555C56707E4B5E790C1E3D
+          21365241596D415B673D5960435D6B344F5D3B5B683D61694A6F7365888B7C9C
+          A277959A52716E2F4E4718302E182F2B1B302820322520341D223326262A3D24
+          23451C203C1E1F33564E55827B82474E612C3C491E302927342634302F130F0E
+          28322C1E2E2317281B1C2E21162920162E24102B220927220C282F2F434E6F76
+          7F797B8332343C00000D2840541D3D545276884063711C383F5D7980526E7F7C
+          99AE8CE1D386D9CA86D8C67DCCB96BB39F5DA28D54957C478168457D60407554
+          3A6E493A6D473D6F453F7246447549487B4951864D4883463E81433883453085
+          472781461E7C431A7841217D4A217A492C815544936A5DAC8536835E35815F3A
+          855F458E603B8653347C4D2A72431D6439165A310D4E27023F1D023C1F073B23
+          1644312C57482C514724463F2C4C4729494825454A26484E26484E26464B2746
+          492A494A2E4C4D2F4D4E2948472745462745462A474B2D4A4F2D4B502D4A512B
+          484F25424B2A4553344C62334B612E485827434E213D482A44541C324E081D3D
+          263B5A3E566E3E596734515A496373587780779D976F98895A84723A634E1C41
+          310C301F11341A18391E1A37201B37201F381E223A1A1F3A0F1E32152A313439
+          3D501F243D1E22355753597373794251612B454C2F493B364D371E2D1F021305
+          19361F1B41251A41211C452515412220492A233E242A3E2B2C3E37445251797E
+          8174737C363741050E1C2A41572949601233462E515B2844455A74744E6A6B1E
+          3B3F226D65246D6532776D3D8176458375458071457C694376623C6C54346448
+          335F4033603F34633D3160392F5E372E61353E79474688545BA67074C89287E3
+          AE90F1BF8EF4C48DF5C690F6CC88EBC37AD8B55BB4936EC4A670C4A883D4BB8B
+          DDC086D6B18AD9B090DEB58DD9B07CC69C6BB38961A47D599871407D59407658
+          45785C55856B55836D557F6D5A84734C746850736F5476755477734C706A4467
+          5D3E60553A5D4F385B4D4266563E62523A5C51395B513657502E504A284A4426
+          47432E4E4D264548203C47213D4827454A2D4C4D2F4E4F2F4C53324B5F00142C
+          284155435E6C6281847E9E9D6180833858570C30200C33190D33150F35171638
+          201F3F262748262A4B28274627334F313853313C5A314A68374A644036454122
+          2C3D162137171E325A5C6473797E3E566227454A3552423653393046330C260F
+          3055353D694238653A346335275A2E305C33415E3746583941513F4E5B537C81
+          806F6F753335400007182A3F5535516921425236555E213D3D5A746E516D6727
+          433D1A55470B4638003526003120003220002C19002611022C130C3319062F10
+          062F0F103B161945201D4C2522522822572F2C6D463E866261AF8A83DAB699F5
+          D29FFFDE9DFFE29CFFE48DF3D79DFFE8A0FFEA64C1AC73CDBA89E2D285DCCE75
+          CABB64B9A356AA9250A38A5AAA8D6DB99A84D0AE97DFBB9CE1BCA3E6BF9CDDB6
+          8CCDA67EBE9A69A783549471478764326A4D305C453C624C41684F426A4E466D
+          4D4A734E4F7852527C5349734A4872494A7550517B58557F60567F635881665B
+          8469567A6260816C6684776381745476654D715B51755F50716233524F072526
+          4D6A67607F76355844183C241336221838251C3723223923213C221E391F1B31
+          1E19301A1C36181F3C1B1A351B2D482E2B492C20401D264A1E30503129404220
+          34461327400D1C2F4E585F6D7C7F314F5A2144483E5B4B4A654B38523B011B03
+          31502F3A5C34355629395D2E375E303C61333F5C2F4259334154394E5E4D7980
+          7B6A6F72393E47010A18283B501D364A24415027444B19363366837A49645B34
+          4F4567978B63938766928579A4978FB6A784A99973958474948160816C53755D
+          486B51456B4F446C50426C4D426F4E3F735528644C2669542C735F36816C4491
+          7C57A89571C5B385DBC993EBDB9CF3E5A5FBEF69BDB17ED1C8A4F4EDA7F7F0A2
+          F5EDA2F8F0A2FAED9CF1E37ACCBA418E791761470A5032084B2B10502D1A5731
+          23603A306E462D6A4428653F2B6842295F3C325B3F375A3F3256382A4F2D284D
+          272B51272F56282F5929386233335F30325D30315E332F5A352A56322853322C
+          5535315031314C322B443029433127442B29482D2F4E3327432F28433A142D29
+          102820193424254429183819203F24243E26283B282B39272A3C252E40293141
+          3030402E2A3F26273E22233A241E382116331A1838191C411B1033190D272E20
+          344D14274207182B48545A72838626465313353B2B44363C5039384E3B001300
+          3B5335435B383B53293F5A2E3B592E31522636542937542D3D55374C5F4A7583
+          786771713B444D010D191F2F4021354627414D3652592440405B7672425F5626
+          4439C0ECE6ACD5D0B2DAD5A7CCC8B4D5D1A9C7C28EA7A388A29C7D979189A49B
+          76938A7C9B926B8D836C90847AA094729C9179A8A06B9E97689B946EA19A4A7A
+          74497B775F918D62959174AAA5669F9C71ACA866A39F5794908CCBC99FDEDCA7
+          EEEB99F0ED99F7F39AF1ED92E5DC6BB7AB34796A12513D073F280A3A20103B20
+          0A331413391B2148281F4424284D2D2A4B3034503D304B3B354F3D203C251431
+          171938191334111C3E192344211F431F24472521462612371D0E351C12372311
+          321D192C171C2A181520161D2A221425170C1E0D192C1B112217222F311D292F
+          1522241B2B241D2F1E1A2D181B2D1C2636252A3525232E1E29352127331F303A
+          2D28332331412A3547303F51404154433D564243604737593A395A452A404C1B
+          2B481824400E192D4F555C727E843852621B37422F3E363E4A38344639061B0C
+          2A3C252B3A1E3647262F441E29411E2746211C3D1A1D401E1E3C1F4259436E7F
+          7467757333414701101920303C293B46192F3A405A611E3B40607E7F425F5C0B
+          292474A39B7DACA494C0B99EC7C0BADED8C3E3DEC9E4E0CDE6E2DAF1EDDAF1ED
+          D1EAE6C6E1DDBCDAD5A2C2BDA2C4BE9ABDB991B6B48FB3B37897986C8A8B98B1
+          B3A1BABC9DB6B887A3A47593947A9C9C6A90906F9A9765919098C7C481B0AE74
+          AAAA7FC0C18FD4D7ABECED99D5D482B8B35B8C845882775F83776B8A7B7C9787
+          748C7A354E3A29432C213B241D341E162F1B3B5446344D3F3B52430B2311142E
+          17112C122B472A294527324E30314F32223F2527452C27432F2C493917342511
+          2A1C1A28161D2717151D160C16101723172433252A3B2D35443C2832391C252E
+          1520241C2A261726181323111623130413050719080C1F0C0F220D071A051121
+          101B2B1A21351E1C30191A2D1C1A2F201B3321213E251535161B39261C314024
+          324F15203C161D314A4F586F7A82375364173240212B25333D302840362E473D
+          0B1E0D1D2D1616270C102609132F120527090E31160B2C11112E143650396A7E
+          72697C792D4045000C132E3E453B4B5220333B485F6728434D5571784863670D
+          26282C6A524D8B73437D652C624B23513E1D4533476B5A4C6B5C496657587264
+          5670635A74675D786E79978C84A499A4C3BAB2D0CBAFCAC79DB2B0C9D9D8C5CF
+          CFBEC6C6B7BFBEDAE5E3AFBDBBA8BBB88AA39F6C8B846B8D876D928A5F837D58
+          7975475E60495C61809194879699A3B0B2B3BFBFC7CFCFB9C1C0B1B9B8A0A9A6
+          9DABA5B0C0B9869B925E766C5F796C6B85787791836D8878637D6B465F4B6882
+          6B718A70819A7E647B5F748B6F798F767D937B768B753347343548394E60536A
+          7B6D586752586752515F533F4F444F6052506352233927172D213243460F1F25
+          1D2F3034463F233724223820445742445A47486A5230573D1B4125173A1F102F
+          1A122F181836192644271C382115301C102C1519381D103311183820182C371D
+          29451F28431D2438484F5868787F3D5E711F404F27343234433B2D4F49214741
+          1D382E2842321B36222E4E351941281F4930274833213C2830462E445845697C
+          73697E7B2C424704171E3A4A503442483A4C5344586327414F58727E4C616935
+          494E49886E28654B1E573E093D250B3923042B16062613233E2E395343162D1E
+          203729081F11748C8090AA9D94B0A37D988E4560572D453D6E80798C98927279
+          747F8580C6CCC7ABB2ADAFBDB7BBCDC6AAC2BA88A39A85A2997D9C936A898248
+          5C57282A2A443D40665D605A5056867C8291878D8A8289A099A0A39FA587888C
+          6A6F726B777775868396ACA7BBD2CD8FAAA06C8B7C8FAF9E9AB8A5B9D5C2C3DE
+          CAD9EFDCD7ECD6C0D3BEC6D4C2CFDBC9CFDACAE5EEE1E9EFE4DFE5DAD6DBD2F0
+          F6EBF2FCEBF1FDEBF1FCF2EAF7EFF1FFF5EEFFF2CDE1D4BACFC762707615242D
+          5B6A6DAABBB7ABBEAD95A893869986758D7B5377616C967D79A28780A78D87A7
+          94A5C3B0A1BEA590AD9394AD9992AA9888A08E7F99815F7E5F516B5938475727
+          314F121D38131E3257626A687B82385E70214252444E4E4A514C31504D0A2D29
+          2F443C414F435D6A5A64776465816D85A18E8FA1908792829298857E88777283
+          7A617677243E450D242C43565B3D4B5144535C4F606D3F5666586D7C50606731
+          3D419BCABA98C5B56B9687587C6E5C7A6D486255475B4F213229000C0407140C
+          48554D303F376A7D744D62593B53492D463C2744353E5B4B60776945574A6371
+          655F6D6285958A73877B7790864A675E3E605691B4AA88A9A26F90894A656151
+          625E4A48473026262D22241E1316281C22463941433842443B454B434D4C4952
+          484B4F525A5A66737141524E687D74698376698D7F79A0905D81736E8F814F6B
+          5E5D75695E6F646772687F867F757672989591B1A9A9BAAEAEBEB0B1D0C2C4C4
+          B8B6C0BEB4B6B7ADAEAEAEAAACAD999E9CA5ACA7CDD8D5D7E3E58C91A0202639
+          848A97D9E2E6E5F0E8DDE7DBCBD4CAD3E0D8AEC6BCAAC6B9B1CBBDD0E9DBDAEC
+          E5DBECE3C3D4C6BDCCBEB4BFB7A2ADA58D989094A2969FB29FA5B4AC686D8622
+          254B14203C0C1C2D65757B627A803E64765B7788DEDBDDF9F2EFBDCDCC425251
+          E7E2DFFDEBE4DFCCBFF1E1D1DED4C3D0C9BACABEB2C3B6A8CABCAAA39C8D7980
+          7D5C6F7428425016313F50636B3B4B528494A05263702E40516B7B8873797EB8
+          BABA4F675FACC4BCC3D8D0A0B3AA6E7B733B433C3F433D161A142729232F342B
+          41493F454E443644393D4E43374B3F637D6D65816E617D69748D79788E7C778C
+          7D697E6F7A93856F8D80688B81497068547D767CA49F7FA1A0839F9F758D8D68
+          76756D6E6C595151625A5B60595E524A51665E68655F6A55545E54555F33393E
+          5F6B6B8596925B70678CA6988FAD9A7CA28C65957D699A8467968082AA9881A2
+          9388A2948B9C91969E97A5A7A1B7B0ADC4B7B5B6A4A3D4BCBCC9ADADB99A9D9A
+          7E7D7A675F6F6057705E5F7A696C655957746B68B0ABA8BBB4B7796D7F211529
+          887D8DB6AFB4ACA69FA49E93978F88A9A39C918E89C4C5BCEBECE2EEEDE3DDD8
+          D5E2DCD7E6E0D5E6E0D5E5DCD8E9E0DCDAD4CFCDCBC1BBBDAAAEAEA87168832D
+          254D212744101C2E737F856D808539576A44586AB2A3A7A996937D7F7F4C4E4E
+          9D8684B9948CBF9588BD9485B69385B99889BA978AB89286BF9E8BA18C7D7B79
+          7863727B395266213F524A606C3F515C7686935564743B4B5C656E7B6E6C6C9A
+          918D64615C4A47427975706F6962847A7390857D6F625A8B81775B5248544E41
+          5F6050535948525E4A4E614C576C5668826A7F9982859F8896AD977A937F9CB4
+          A286A0927C9D8F3F645A4D77704976737EAAA9628B8E719197586E7968768262
+          6B7563666A797B7C6C6D71696B739A9FA88C929D525C663A4952465A5F8EA8A8
+          32544A789F8F517D664F7F625D916C48815A5C9B735B9A726AA57F70A381729C
+          7D71917880957F98A492CCCCBECBC2B5D5C3B8C1A89EB99A91BD9890C9A299B3
+          8B7FBE9684B68D7EBB918CBD9491AC8880AC8B82B4958CA5868384606C371321
+          7E5B65A38181AB8E80AE907DAB8A7BAC897CB8948AAC867AA88375AB8678B58B
+          84B0867FB28B7DB49080AF8B81B49088AD8F84AD9484A7967CA89588785C703B
+          2244271D3B1412266A686E777D8444556A53596CAA8C919F7E7B88817E605956
+          B18E8ABF8E84C38F7FC99783B08572BF9180C68C80C78C7DC58F7EAD887A8479
+          7B697280415B731E3D564059693346537282924A59693441516D727B716662AA
+          9A8E9C7F7AA58883A2857E9E7E78AA867EA17D75A68980A1887E77645C72685E
+          68685C5F685B606A5D7B8A7C738677667C6A778A79A2B6A3AFC2ADACC1ABA2BA
+          A8B3CABC91A69D48605841665C638C859EC0C0638186657F8B6373837E7E8E89
+          85917270766B6A6C77787C707378878D949DA7AEC3CBD2A4AFB3B2C0BF95AAA2
+          7A9C8B7EAB9060967377B28676AD7E639B6A74B282609E6E609B6E62976C7099
+          74809D7C7F8E728F937A89806C978070A68778B28B7DB4877AB38377B88779BF
+          8C7CB98773B88571C38C7FB77F74B37D72BF8B7FB28276AB7E7B805560491A2A
+          88555DAC7C78B68A79AD806BBC8878BD8377BF8377BE8075C5857ABF7F74C587
+          7DBD8076C28778BB8273C0877EBD887EB78376BA8C7AB68D76B08C827858693C
+          24422B223C2422366D67727F808A3B495B494B5D9C757DB185868F807E564542
+          B48581C58A81B98273BC8773C28D79C48976CF8A7BD28B7DCC897AB483798774
+          77636A79435D751D3C553F576B425465657586505F6F3E4B596B6E7680716EA6
+          8D83B47F75AA756BB37B70B0766AB17166B97C72AA7C7199756F886C6B695B5C
+          666E6E5766685C646B848A91646E756672766E7C7899A79BA1AD99AAB7A1B0C0
+          AEAEB7AAAAA09978716870806F9CB1A28F99937E88888FA2AABAC3D0C0AFBDA1
+          8892A08F92938787887E7E5D58576765655C5A59BFB3B1A99B95DCCBC2A9A293
+          7E8F7463896566996D5F94626A915D7B9F6B6E9A6B7AA97B6E9C6E6F956B7B96
+          6F93A381929274978A70997A65A47867AD7969B5796DB6786DB9796EB7796FB3
+          796DAE7D6DB07E6CB77C69BC796ABD776AB9776CB0786DA67675784F64451B32
+          814A53AF7772AD7C6EAC7867C17A70C2756CBB746ABC746CC1756FC27670BD78
+          6FBB796EBC7A6FBD7A71BC7976BF7C79C17C72BF7B6EC38274AE7B796C566931
+          2E481B2236171F306968786F7280374F5B414754A57986AC747F886F73513836
+          B07775C17F7AB28375B38371BF7C6DCA7F6FC57F6ECB8377C97E76B37876937A
+          7E6C707B3854651B3C50384A613441576E7C8F4B5A6A32444F70767B776467A7
+          8788BD7672B46E67B6736ABB766CBB7367B97268B07169A66F6A976B6C6F5255
+          5F555B57565F5B5A645C5D6750576049535A69767469776C5C68546D725D8F8A
+          7B5B4C43907D787D746A808F7A7D8E79848278827D7C9299A29F9DA9A6848FA2
+          757E9772749F8382A28D8B9F908D80766F7A6A648E726BCCA89EAD85799C7E6B
+          7D7B5D6E835C5D85556995606C8B5475915C6F9162779A6E75966A738B638692
+          6E90916F90826593755CA27560AE7461B67265B97165BC7168BD7269BB726AB6
+          736AAC7266AD7263B8705FBC6E5DBE6C60B86B62AF6D629F6B6B6F48613F1631
+          7F434DAC6C68A97265AA6B5DC26C66C26762BB6C63BA6C65C26B69C36C68BC6F
+          66B87064BC7168BB716BBA7070BE7273C4736BC47267C87770AE717565506627
+          2C45152336141E2F676376717080334653353F49926D7D9C707D726466493433
+          AC6C6CBB716DAA7469AF7569C17366C87768BD7869C07C6FC07672AE72739177
+          7D6D6F793853611A3A4D445269323952676F86475464293A4371757A7F686D9D
+          777DB8636BB26569A66564A76B65A86A62A9655EB56761B06360AB6A698D5554
+          835153855E607664634F4F495D686055665D3D4C444E5F525C715B676854956A
+          619467637C79716077697D9C87788F79716C638B7D7EAFABB1B4A4AFC697A09A
+          5E669D6465976765B4948FB09892917B758C6F6894665FB68177B37B70956553
+          8A715784805D798A5E68855364844E6D8D577C996B7792677689626C744F817F
+          5D87785895785D996F589F6754A86654AD6357B16257B26159B3625AB2625BB3
+          635CB6665FB6655DBE6459BF6356BF6259B9615AB0635A9E62636D465F3E1731
+          813F4AAD6361A9675CAB6057C1605DC05C5ABB635CB8655DBF625FBF625FB865
+          5DB6675CBA6961BB6964B86869BD6B6AC36B64C46B61C57068AC6B6D654C602A
+          2B451722361A1E317261768777893F485637414B7266727C71794F5B5B403B38
+          A76B6CC06D6CB76B65BE6F66C96E65C67266B27365AE776AB0706BA36F6F8D77
+          7C6A6E793852601B364A3E486032364F676B834A5263212B356A6972866A709D
+          737AAF565FB26267A05F5E9760599B6057A36057BA645EB65B56AF615BA65B59
+          AB5B5CA9686788666067594D82796B8A827582797068665B6C7A6275705B9A64
+          5DA673707A827883A7976B8B737C8D789F998E947F7D846D7299717CA8656EA9
+          5C60A862629D635E976D66A281788A655DA0726AA56A61A26158A065569B6955
+          96755B7A69487071477E895B7C925E6E87556D8156707D57797D59817856927D
+          5E947157996852995E4AA96453AD6254AF5F54B35E54B25D55B55D56B65E58B9
+          5D58BC5B58BF5B57C25A53C15A51BD5A52B95953B25A539C5A5B69455B3D1931
+          813E47AB5C59AA5F56AC5951C05655C05453B85A54B65B52BE5957BD5955B65B
+          52B55F53B96056BA625CB65E5EBB6160BF615BC16258C26760AA636665495D2F
+          2C461D263A1B1C30715A708770863737471D27312E353E313D41304D4A393E3C
+          9F6669C0676ABE6463C36762C76662BD655EB36E64AE7167AD6A67A16C6F8C77
+          7F6A707B36536118384B2E40572E3850565E753E48591F29336C69728768719D
+          7178B05B59AC605AA4665BA0695AA26454A55F4EB55F53B55A51AB564EB05955
+          B75A59AD5C5988574F8A62569C655CB0726A93595490675E6F644E9C927AA37D
+          71B79A9193A4978DAD9C96A38D959682756C5EA0837E99656C9E5761B85E63AC
+          5251AA5E589C5E549F6F637F5245AE786D9E5D54A75F55A86457A06E5C8C6A53
+          887256908160857A54847E537A7C4E898E617B80597876547768488367498A5C
+          449C624CA7624FB26453AB5A4BAF594DAE574DAF564CB2544EB4544EB7554FBA
+          5350BF4E51C14E51C04F4CBB5049B74F48B35048B05148995151614152361A2E
+          7C3940A4524DA9564EAB5047BB4D4DBF4D4DB55048B65148BB4E4CBB4F4BB452
+          48B25349B7564CB75751B35353B65754BB5850BD594DBE5C54A5585B65425631
+          2B441D243817182C6F576F8E748B504A5B353E4B2F424A2D484C2244433A4241
+          915B60B55D63BD5C60C15F5FC36161BB5E5BBA635FB66361B16063A4666C8F76
+          8069727C345764133F5028495D2641552A42541E314021303976737C82636C96
+          6972AF5D52A1584AA9745FAB7D65A0684F9A5C449E5B46A96150A95A4DB05851
+          AF544FA0554D8E6457A07C6C985A4FAB6359AA665FA36E61B69B81BEAB909D83
+          72706053768375A0B3A2757D666E6E566F6C57998175945656AB565AA14441B7
+          5C53A452479D594CA06F5F8C6150956252B77E6F945344965B4B9D7660947B61
+          9F92727B714FA696719C8B6494865C7569417F75538475558C6E51A171599A59
+          44A65946A44C3CA44639AA4B41A74B40A74A41A64940AA4842AB4742B24743B5
+          4644BF474CBE464AB94845B44942B14942AF4A41AF4A41964C48593F4D331C2B
+          7A393BA14B45A75046AB4C42B84947BB4A48B54A42B64B43BD4A47BD4A47B64D
+          44B34F43B75047B7524AB34E4CB5504EBC534ABB5346BB564DA3535466405237
+          2C46262D41161A2D6B5970826F84564D613A404D293C44243D412D474747494A
+          7E50569D5057A85056AE5356AF5959B05858B45657B4565AAD545DA15F6A8C73
+          7D68727C335B67134754234E5F2347591433420C26341D2E376F6E777B5D6892
+          6772A75544985540B1896DA08364865F3F8A6444826949947255A0614DA4594B
+          9A5447926151998E78979279846550986D5A9E766389624CC6A0827B5C3D9A8B
+          718079659792836A6C595B67497586657181629A927B9B60579E4D469D4F3FA0
+          4E3CA64E3E974B39A67A6381684E887259987E66906B557E5840987D637D6B4E
+          877E5D685F3DA89A7686704C8A6F4A8266439079599073589A6C54A05E4B9A48
+          37A54637B0473CAD4338B04940AC4A40A94A41AA4B42AD4A42B04841B54743B9
+          4544B94348B44346B14642AC473EAB463DAB473BAD473A944842573F4B331F2C
+          7939399D483EA64E40A84A3DB24743B74945B4483DB7483EBE4843BE4843B94A
+          40B64D40B74D42B84E47B44A49B64D4ABA5045B95043B95249A2504F67405039
+          2F461A21350912266361757E788B6F6B7E6263715D636E5A616A595C616B5F65
+          7D575D8F575C97555A9552559755569B5254AB5458B0535AA6535C9C5E6A8A72
+          7E68727C375D691A4B591E49581D4151102F3E152F3B1C2C386A69737A5E6B8C
+          616EA34A3CA25846C599819E7C5F7C4E2F976E4E907C59987F5F945C4395543F
+          88543D876C519DAB877C946C696C45827856897E6095866679633F7D6D485D60
+          407E8167938572675F486E805B6F8F66708F68848F6E8E6F5A8F5D498555398D
+          5637914B339F5B4497684D9072579E8C6F746A4C776D4F877D5F83795B958A6A
+          857354755E3E7255367A59386D4A288B6847806043865C45A16652A25443A94A
+          3BAC4035BD4A40B03F35B0433BAC453CA8463EA9473FAA473FAF453EB44340B5
+          4140B14043AD4140A6443CA54538A54337A94336AC433594443D593E48371F2B
+          7837369D4439A54A3BA74838AE453CB4473FB04439B3443ABC443FBD4540B847
+          3DB4483CB5493EB44941B24744B44946B74B40B74C3EB64D429D4B4A633C4C37
+          2D441F263A121E30737A8D8F93A59493A38E8B9A8E8C988D87929385909E8991
+          9879809F7B81A0777C996C6F93696A9463659B5B609E5A6198596391636F8675
+          8069727C3F5D68284D5B2948571933431126352939462D364079737E7F657278
+          5460AE4143AD504D8C4E43935B4A9F53419C513B885338D8A88CA16548955B3E
+          89603F786F4474945E71A166567D3F7F9C64899A6F6D7B515B71405A77456D8E
+          628EA07BA4967A6B604267815366915E63905F769A6E8BA17E6C76527B79508F
+          8157987C598056398F563C80482F80593D9C8F6F8495706D88619FB08B645F3E
+          BC9579884F36864830855035AB896B6F52337E563D824D398F4938A1493BAE45
+          3AB13D36B23A34B43F38AC3F37A84138A34139A34139A44139A93F38AE3E38AD
+          3C39A73E3BA3413BA14538A14637A74436AA4133AA3F31943F375E39433D1D28
+          752E2B9E4235A14330AD4937B2483DAE4237AE4538B14539B8433CB9443DB446
+          3AB04739B2463AAF443CB04542AF4440B5493DB74C3EB44B409C4B48633E4E37
+          2D441D23360F1D2F6A788A8892A39898A8948F9E998F9C9F8E9BA58D99A78E98
+          A29097A09195A49194A39093A48F91A38E909D87899B84889B8187937E86817C
+          85707681626F7D5B6A7A5D64756062746363736B6877716D79776B777A626E78
+          5A65B0444A8D303195544BB97A6C9E4537AA4E3D9C513B7F442A84523476502E
+          755A35AFAB7B799A6165985576A862648E4D5F79494F693B648F5665975D77A2
+          6F5873484B4B276971486C965F5A92576C99616F95656D94677A9D715E79477A
+          895685855D846B49A4694F96543B966448725B3B707E5A5C77505E6A467A6D4D
+          87543A934A34964B3586462EA2775C865E458D5A468E4E3C924336A04137AD40
+          38B23D36B53D37B6423BAC3F37A74037A34139A34139A34038A73F38AB3D37A8
+          3D36A53D38A03E369A42329E4231A73F32A93D31A93E30943E385F3340441B2A
+          7B302EA34538A44230AB4431B04236AD3F33AD4436AD4437B6423BB7423BB145
+          39AF4638AE4538AE4439AF4441AE433FB4483CB64B3DB24A3D984946623D4D36
+          2C43212538121C2D657282848D9B9494A2958E9B99919C9F919CA48E9AA28F98
+          999297959196958F94938E908F8C8E8C8B8D8F93948F9192918D92918D938C8E
+          968C8E99898C9A8B8B9B8D85968D81938A7F8F8A808D897F8B8A7C8788757E86
+          6E7898413D8C4139966154B37B6A8E3C2B9337269F493582442C897050726944
+          6B5B366D663B79885566834B698E4E69894E8092636276498CB37B5C884D8AA7
+          755F794B61805364946074BE7E62A76468885184946498AA815A7549688E5A5D
+          7F498E986E90805CA77557C38468935A408F674A9182625E5534806A4E764E35
+          80442EA25D49914C389855408D4E3990513D9A5748954A3C953E349E3C34A93E
+          37AF3D37B23D38B2403AAA3F38A54038A24038A04138A13F37A33E36A73D36A6
+          3C35A63C35A13C339B3F2E9E3E2EA93A30A93A30A33C338F3C3B6530444D1A2E
+          7B2E31A1443BA43F30A93D2CAE3C2FAF3F33AA4334AA4235B24039B3413AAD44
+          37AC4536AD4437AC4338AC4340AA423DB0473AB2493BAE483B954845603C4C35
+          2B4222233714182A6062747E7E8E8984938884908A89938A8992938E97949096
+          93919793939996949A95969A90979A8E979A889194879093898D928A8D928C8E
+          968D8E98908E9A928D9C9A8F9F9A8D9B998C9A988C98968C98988D97998C9499
+          8A928B392E863D2F6B3320864F3A9347348F3C2795442F945840A38E726F6444
+          7B5B3EB3927175643D7B7D4F8D9D684B5C2953542C82885F99B98284A76E6B7A
+          4760734262885665A2687FD08B40884245622A8991628E8F68767D58566C3C75
+          895A8B8C645945227D4F3081492C88513676472B6A45297D583C8D5B44995A45
+          BA715D934735934B39BC766587413089413098483D964137983D34A03E36A93F
+          38A83D36A93B35A73C35A63E37A43F37A13F37A13F37A03E36A03D35A13C34A5
+          3B34A73C34A63D329F3E30A13E30AA3B33A63A36953A357E383E63304B4A1935
+          6F2A34923E399D3D30A43B2DAD3A2FB24236A64033A54234AC3F37AF4038AB43
+          36A94435AB4336AB4239AB423FA9413CAE4538B04739AC463A944744603C4C35
+          2C412525371518275A57677B74838077847B7782787D86727C83757E82797F84
+          7E818686848A89878D888B90848F938490948A90958C90958E91968F91999190
+          99908F99908C97908A95928A95938B96938B96948C96958D97968F969991989A
+          92999B3D2A9A432F924A32A6664D95563A7E3F2385452D854F389C7860653A25
+          924A398E3E2D7F402B724B2F7A6E4A6E6B456651329C906C96A9767C935C5C5C
+          2C5F6133657B4A9ECE94488B463879344D7339818C5E7465458F745970593998
+          7F5D634423C49E809061457D4D31B5866B7A4D327848308148328D4533903B2B
+          AC5142AA4E418F3E2F8A41338F4C3D8D4539933C329B3B359F3D37A23E39A13D
+          38A13B36A33B34A23D35A33E36A13E36A13E36A13E36A03D359F3C349F3C34A2
+          3A33AA3D35A93C34A23E32A33E35A83B399C3A3A7A393862353E522D4F41183D
+          5C29377C3B3A903F379F3F32A73B30AC4035A14032A24034A93E37AC3E38AA42
+          35A84334AA4235AA4138AB423FA9403DAF4338AF4638AB4539954544603C4C36
+          2D4226283A1C1C2C5E5464837684817784787781747B8467777D66797C6C787C
+          77767F7E76807F77817A7982747C83747C838B838D90858F918892938B95938E
+          97928F98908F988E90988D90988E91998E91998E91968E8E948D8E928E8D918F
+          8E929F3F2F9A3B2B973E2A9E4E37904A327E432976422B6F3D277944308E4B3C
+          82261BA14336853B29794C31877D5B5C5835674930695536899B6C566D397873
+          46A2996D868E5F6380498CBC7A8FBF7D9EB68064643C593E249F7562875D4690
+          63487443297E4E328C6043885E4172472C916247A36A54AF6C57924433C46F5F
+          A24639973B2EA34D419446398B45389B5145973933A23A35A13B369F3B369C3A
+          349A3A349F3D35A240389F3C349F3C349F3C349F3C349F3C349F3C349D3B33A0
+          3B33AB3C34A83B339F3D339F3D35A23A3B8D383C61393B4533403E2852331B45
+          4A2C3F653B3C7F40389442379C3931A23B329E3E319F3F32A83D36AB3D37A741
+          34A74134AA4136AA4138AA403FA83F3CAE4237AF4337AC4338944443603B4B36
+          2D422426381F202E5D53608A7B898379857B7A83777F866B797F697E806D7C7F
+          7D78818375807F76807A77807279827479827C747F7F747E7D757F7C77807E79
+          82807E8483838984878C868A8F858C8F8A8E938B90938D90948F90949091958E
+          91958A342E983D36A93E37A2372F943B2D813C2B81543FB1846F8F4638943B30
+          9E4537883B288A583C816E498191616574486F59406453397C996C5B7F4B5F62
+          35CABE94A59F744E52215C753994A86D6A64357A6441775643A37C6E956F5D62
+          37227E4831976148AB7E63734B2F8E5E46965D479B5A4597523EAA6653904C39
+          7D35249244379C4A3F89372C83342B903B33A13835A63735A138359C38349638
+          32953A33973C359B3D379C3A329D3A32A03B33A13C34A13C349F3C349E3D33A0
+          3B32AB3B35A739339B3C33963B3697393D7D3940493B3F2B35462C2A58292352
+          383146493639653834813D369038329A3A34983C2F9D3D30A63B34A93B35A53F
+          33A64033A83F34A83F36A93F3EA83D3AAE3F35AD4135AA4136944241613A4A35
+          2C412023321C1F2D59505D897C8A7F79847A79827F7E8772787D6A797C6D787C
+          7C737D82727D7E727E78747F74768171788173757F73757F70767D71747C7373
+          7977757B7F787F827C817D797E7C7B7D7F7E828382848A87898B8A8C8A8D918A
+          8F929A5E52843D339636309937318F3B3576392F6A4C3B997E6A88514281412F
+          844B357F55389079537E8153709059A8C3919C8E717E7256769165597D495A64
+          358A855892875B635E2D6E773F848D558E8258896D4E896553734C3E805B4D95
+          6D5B713F29804C3584584085594188533E81422E843A289A4E3C9C5645854031
+          843D2F9A4B40A9544A953E34AF5A52953B349F3633A235339F36339A38329739
+          33963B3494393293362D993A319C39319F3A32A03B33A03B339F3C349E3D339F
+          3D33A53E35A13C339A3B3296393694373E783943453C4627384B24325C222D59
+          2A344C2E2C38442C3461353B72363E823D40843B378F3B359D3937A53A37A63C
+          35A73E33A83E33A73E35A8403BA73C38AD3E36AB3E36A43E398F404360394836
+          2B3F2022341B202F544F5E867D8A7B7782797881827E8477777D767D80777C7F
+          82777F83767E7D757F79767F7476807077806E757E6E787F707A817179807577
+          7F77757B7B747B7C757C7E787D7B777C79757A7976787B787A7D7A7C797B7C77
+          7B7C8E7B5AA48669AA7763A56E6193645C876A618B837670725F9F9C877D7D5F
+          5F67427A875B808A5B7A8D5A69905873935D68633C90855F505D2F586F3B5E72
+          3D84905C6B6835817D4A89915C67724090946A7368486E4B378E63547C52467B
+          54467B5340744B348055407E4C387D413187403288382D9A4339963C35953B34
+          963B34963B34963B34963C35943D33963D339B39339C38339B39339B3931993A
+          31993A31993A31993A319B39319B3A309C3A309C3A309C3A309C3A309C3A3099
+          3B2E9540309A43339E3B339C37359A3A41823A475136462E33481E3251193456
+          1D3150252F4D342F4C3627463A2B4A3F29415B374372383D89343C9B3439A735
+          35AB3933A63C31A43E32A54135A33C33A83A34A93E3BA03F43853C445B374341
+          3444272539171B2E525063807D8D777581777680837F857D797E7B7A7C7B7A7C
+          7F7A7C7C797B7A797D76797D75797E73797E73797E73797E72787D74777F7577
+          7F77767F77767F79767F7A77807A77807A787E7A797D7A797B7A797B7A797B78
+          7A7AA4956EF1DBB8825C446F42346F433C81615C6459517D7E6E6B6E5891A17F
+          8EAF8385AA78728854889C67A8C79074905B929D6F6B7245777F50A1AD7BBAC7
+          937A87515456225D612D86915F8C9769666A417A68497B4C377841328D615473
+          504271523D8E6C558E654F7945348648388D43379540389237309D3A369E3A36
+          9D39349C3A349A3A34963B34953C32963D33973933993933993A31993A319B39
+          319B39319B39319B39319B3A309B3A309C3A309C3A309C3A309C3A309C3A3099
+          3B2E8B3927984333A53D36A0343395323A7B303E4E2D3C2A293D1E364E13314C
+          162D4D202E522B30572B2D55242D53202546322C43472D3D632E3C7A303C8B35
+          3B923B398F3F388D41358D3D32943C359C38369A363B8F39437A3C4857364438
+          2E3B272539171B2E4D4F617D7E8C7979857A79827E7C827673757F7A7C7D7B7B
+          7B7B7B7A797B787A7B76797D75797E75797E75797E75797E75787D75787D7577
+          7F75768075768075768077768077767F77777D77777D79787C79787A79787A79
+          79799061459362486F342487443B7D323083403F7D534E745447785442867455
+          53673C749360828E5A73774363643264703E658C58628856576535C4C494A4A0
+          70464513646B389BAA777F9565414B20705D3A86573C8D412F904537C69B8C76
+          5B47775B4389674F734A3376432F9C5E4E8F483A9442379940369B3B359D3B35
+          9C3A349A3A34973933953A33943A33943A33983A349A3A349A3A349A3A349A3B
+          329A3B329C3A329C3A329B39319B39319B3A309B3A309B3A309B3A309C3A309B
+          3B2E9336279D3C2EA83832A63636A03E44843D474E2E3920212F051D2F18374E
+          1E334F1F2A4A292D50292C521E274C2534551A2D48212E44322D424030414D35
+          3F53383C5239375537326C3F3C7C4040893B428634407D3646703C4D51374732
+          2B3A202234191E2D5255637F818C797A8477777D7D7C807D7A7C7D7A7C7D7A7C
+          7B7A7C7A797D78787E76797E75788075788076797E76797D77787C77777D7776
+          7F77767F77767F77767F77767F77767F77777D77777D77787C77797A77797A77
+          797ABF7B687B3927874336883C36913334872A2B823E398A4F45773C2970482B
+          84885E90A7737A8A556769355E4A1B756B3C6C8B58587D4B51582B7E75497A6A
+          3F56491D6F6A3D9FA2756A74494D5029816C4C774A2F76311E88463468473362
+          4D379C8167AD8C72885F4874432D894E3B9E57499B4B40943B31993B359D3B35
+          9C3A34993933973933933932933932933932983A349A3A349A3A349A3A349A3B
+          329A3B329C3A329C3A329C3A329C3A329C3B319C3B319C3B319C3B319D3B319D
+          3B31A44133A63D32A8332EA3323099363879313748262C27222B091723081C2D
+          19233B2A2E4B2D2F4E3032541E2A4C1F3454163153162F511D2D4A242D482A2F
+          442D303F2B2D372D2B3133252B42252E4F23305221315026384D2E433F334732
+          32441F2433161E2B4A505B777C85777A82777A7F7E7D817F7C7E7D7A7C7D7A7C
+          7B7A7E7A787E7A778078778176778176778178787E78797D77787C77787C7777
+          7D77767F77767F77767F78778078778078787E78787E78797D78797D787A7B78
+          7A7B8B3F337C34287E3D34873D39963335A840418528258F3F349B5643774829
+          8B7B5150592753723B65733D7D592B784D227B70446263375B5429594A236B58
+          328F755094714F6E4D2C6752327468468079586257398D6F56896B525F4E3463
+          5539755D4189694C875F4681503A773C299954458E3F3490392F973C359A3A34
+          993834993834963833933833933932933932963B34983A34983A34983A34983A
+          34983A349A3A349A3A349A3B329A3B329A3B329A3B329C3A329C3A329C3A329D
+          3B319E382CA2382DAB3631AA39369E3C3C893F3F8155568673767B777D51515D
+          4D475A4E465D2D2A442C304C1D304B1932521A2D581B2A582127542327502929
+          4D292B4A242B44222B3F1B25371920331A1E311F1E321D1B311B1C311F233B28
+          2F431F2836151F294049526F777E7B7F847C7F847A7B7F7675797D797E7D797E
+          7D797F7A787E7A778078778178768278778178787E7A797B79787A79787C7978
+          7C79777D79777D79777D7A787E7A787E78787E78787E78797D78797D78797D78
+          797D8A39328D423A78342F883F3B8828289B34329838328B35298A412B815232
+          786F44637945598B515B7E45634D1D83592EAE966C7768418C825ABCB38D9589
+          656047277A492F7B432A74442C77563C756B4D9D977A705D42B69D838B745A7C
+          64486E52346442256A41287B4B337439268B4635823328964137953B34973933
+          973934963833943833933833913932933932963B34983A34983A34983A34983A
+          34983A349A3A349A3A349A3B329A3B329A3B329A3B329C3A329C3A329C3A329C
+          3A329E3C32A13A31A43630A3373398353181302D783D3B815856E0C1C4FFE6EC
+          FFE2F1F5DDEFEEE2F6C3C6DB435A70152F4D1E295523275A232859232958242A
+          55232952222B501D2C4C2436531B304C162B46152A4512233E0D1B3716213D25
+          2F471623331925314B555F757E877A808776798175787D7A7A807B7A7E7D797E
+          7D797F7C787E7A77807A76817876827877817A797D7A797B79787A79787A7978
+          7C79787C79777D79777D79777D79777D77777D77777D77787C77787C77787C77
+          787C8534318C3D3A772D297D302D96423D812B2588382D8D43318A412B6E4826
+          738B5B69A66C367F415B975B6E86508D8D5D786C42584E269FA0788189618C94
+          6F63593B70412B7D3B29864132854B38A17F68896E545E38207E4E366E382174
+          4127A57E62936E5279503768361F783E2B8A48368C40348E3C31923A33943932
+          9438339337329337329338339139339338339539349539349539349539349739
+          34973934973933973933983A34983A349A3A349A3A349A3B329A3B329A3B329A
+          3B32943930983B329D3830A23A33A4403B9A3E39883A34813C39763636DDA2A6
+          FFCED9FFDDEAFEE4F4A7A6B60D24340D253D1F214A2622532028571C2C57182B
+          56162A531A28521C28501D264C1B244A1925491B274B1B27491C264823294C2A
+          3250141F3318223346515F6E77847379847175807476807F818979797F7B797F
+          7B797F7A787E7A77807A77807877817877807A797D7C797B7B787A7B787A7B77
+          7C7B777C79787C79787C79777D79777D77777D77777D77777D77777D77777D77
+          777D97585481453F8046407E433A7E3D34803F31804532864A348C4831704929
+          9EBA8C4D8E56468B524B8B50517B448B9C698F7E57836B4752492461613D8B92
+          716F694C6F44319F5E50893D317C3629855341693C27743F2A7D412B87472F7F
+          432B73462B6D462A6A3C2476442EA56A57803D2E84382C8D3B30913932933932
+          933732923732923732933833913933923A349439349539349539349539349539
+          34973934973933973933983A34983A34983A349A3A349A3B329A3B329A3B3296
+          3B3290392F9B42389D3E3599362E9D38309E3C349739338F3731913A38843032
+          AB5B62FFC1CCFFDFEBAFA1AD1C28341022331615351C1B4217274B122E510E2E
+          510F2C51182B51202A52252652262851232952212951202A52222B5122274E1F
+          23461D26410C172D273246535D6F6E7586797E8D757886757782777981777981
+          79797F78787E78787E78787E78787E78787E7A797D7C797B7B777C7B777C7B77
+          7C7B777C79787C79787C7A787E7A787E78787E78787E78787E78787E78787E78
+          787E846A5E765F5062524166503E7D5947805741BB977FA980679559417D4E32
+          555831759566BCE9B85883505F7E4BC0C3959D77557741236F43267F61446B5F
+          43584831714D3DA770639851478B43398447397B4030783A287C3F2B864D37A8
+          775D73482D966A528D5D45864F3A874C397C392A893D318B3B308E39318F3731
+          913631913631923732913933923A34933B359338349439359439349439349439
+          34953934953934953934973B36973B36973C35993B35993B35993B35993B3597
+          3C35943C35933C32983B329B3A309C3A309D382F9D382F9D3830A03833A1393A
+          943035913C44D79BA3BD9BA2322A31191F2A181F300A192C052538032D40042E
+          450F324C1B2E4F20284D2A295126244E1C2049212B531D29511D274F23275025
+          274F1922441D274518233F252E49676F86747B8F707788757A89727681797B85
+          7A7C8474777C73767A777A7E777B7C74767777767A78777B78767C79787C7877
+          7B77767A78777B7B7A7E79777D79777D77777D77777D77767F77767F77767F77
+          767F78776252513C8A8A7299947B77684E5E472D82654A6F462D81452F7B452E
+          6A56377D7D595F6840AEBA907686576D673E7440228C462E7C3C248D5D458B73
+          5B5B48337250406E3C30813C33863B338742388844377F3A2B803E2C8B523D88
+          563F87573FA6755F834E39A369567E3D2E7D372A8E42368938308D37318F3731
+          9136318F37318F3731903832923A34923A34943935943935943934943934953A
+          35953A35963A35963A35973B36973B36973C35973C35993B35993B35993B3597
+          3C35963C35963C35983B329A3B319B3A309C3A2E9F392DA1382FA638329C2D2B
+          B1444697363A7E3135864E535C3A402E1F23211D23273138061E24001B240C2C
+          3910283A1D273F2828462B274A252549232C5223355A0F2248182950262E5618
+          1E47232C5228315720284D121B3C2F37543B425D555B7273798C7378876E747F
+          6F747D767C817B8083787D7E767B7C7A7E7F78787E7D7C857F7C857A7A807A78
+          7E7574787473777A797D79777D79777D77777D77777D77767F77767F77767F77
+          767F5D694B6C72536A6244857B5D8B8967655838653C237B3F297E38276F2F1D
+          7F56408E6F56633E22866A4B524B2469593496614688422B7C39247D4B35836B
+          5567543F7A5949713F33833B34A5554E8A41397D352B85382F7F3529823D2E77
+          3927763E2B763E2B783E2BCC8E7E9B574A863E3483362D8A39328B37318D3632
+          8E35318E35318F37318E38328F3933903A34933A36933A36933A36933A36963B
+          37963B37963B37963B37963B36963B36973B36973B36973B36973B36973C3599
+          3B359D3B359D3B359D3B339A3B319A3B319A3B31993B2E9C3A2E9F382FAD433C
+          982D2A8E2829A045487F30337E3D3FDDACAEF9DDDCD1C5C1D9D5D4C5C5C5AAAA
+          B0BBB5C0ACA0B28779912B243F2D314E172C4B0B2A4B0124460F2C51162B5122
+          31581A234E202954242C541D244B232C4E22294A2C34513A415A535A6E6D7485
+          7D83907279826B717870767B747B7E70777A74767E77788273727C70727A7E7D
+          867D7D8377777D7B7B8177777D77777D77777D77777D79767F79767F79767F79
+          767F758F676F855B6B744C80845B75764F877857693C21793724823427873D31
+          85493D703728853F2E73341F9D7B5DDABF9D6B3C2181452F8B4936773D2A6F4E
+          3A7A614D8866567442368139328B3D378B40388B40388B3A33A15048B5685F99
+          5346884A3A763A2A8F50428F4B3E762E248A3F378D3D368E3C378B37328D3632
+          8E35318C35318D37318E38328F3933903A34943B37943B37943B37943B37963B
+          37973C38973C38973C38963B36963B36973B36973B36973B36973B36973C3599
+          3B35A13B36A23A359E3B339B3C33973D32963C31963C31983C3199382EA03B33
+          A33B36A13A379D39379C3F3E933B3B722725AE7671FFDAD3FFE9E3F9E0DCFDE8
+          E7F1DBE0F4DAE7F3DDEFD1C5D95B587113223C16304E0F2E4D133253142C5012
+          254B1E29551C25511F26511F274F222B51212A4C20294A1C24412B324B2B3448
+          434A5D67707E7B8390747D876B747D6E757E787A857D7E8C7476816E707B7779
+          837678806F717974747A77777D77777D77777D77777D79767F79767F79767F79
+          767F486F3B4F7B46386A34698D595D5A2E6A4E2B99715583483583322A903C37
+          772D298436309F40379F4336A6634C7D4E328B6A50A07963703220803D2E8552
+          42663E2C683F307344368140379148408C403A7C2E288E3A3594403B7F312B81
+          3830803B31803B31A15A5082393182372F8F413B8736317E2B298B36348B3634
+          8C35318C35318D37318C38328D3A328E3A34923B37923B39953B3A953B3A953C
+          38953C38953C38953C38953C38953C38963B36963B36963B36963B36953A3598
+          3A34A13B36A23A339E3B339B3C33973C33963D33963D33963D339C3F3696372E
+          993731A6423D9834308B27239C3834A1403D92393591453FE8AEA8FFEAE3F9DB
+          D6F5DBDBF7DCE0F9E0EAF7DDEDEFDCF1AEA5BF4748641D28461D2E4F15294C1B
+          2D521F2B551E2752202954212B5319244A1E274C222C4E212A4B212C48232E49
+          1E28401A253B323B4F596375737B8C747C8D666A7C7476887578877174837376
+          8474768173757F7A7C8475777F75777F77777D77777D79767F79767F79767F79
+          767F58864B578D51448B4C4A8045747242684622774A2F824A39893F39914140
+          863B3DA15150902C2A9433298B3F2C7F4E3479654C715A447A3F2F8D46386C2F
+          21865242905C4F75403397564D833E358C4841863F3B823330903E3D8B3B3A87
+          3A37833933873E3680342E893D378E403A8433308B383693403E8C37358B3634
+          8D36328D36328C38328D39338E3B338F3B35933C38933C3A953B3A953B3A953C
+          38953C38963D39963D39953C38953C38973C37963B36963B36953A35953A3598
+          3A349E3A35A03B339D3B33993C33973C33963D33963C35963D339B4039953A33
+          8F312B9636309E3C34A54038A73F389C312D992E2B9A393683352FBB7F79FFDC
+          D8FFE8E5FFE0E1FDE3E9FCE2EFF0DAECD7C7DE6C667F3134501D2745202C4E1C
+          2A4E1A244C1C264E202A522731591D284E212C521E2A4E1F294B1F2A4A1C2747
+          222D4B2B3652242F4A1E27422D374F4A526970758A6F75886F73866E72847176
+          85797C8A777B8670727C75777F75777F77777D77777D79767F79767F79767F79
+          767F4B7937568F4B3F8B445993527A7D4B5F3E17743E257136279E666186504F
+          6D34377737378535348F40377B3C286D452C756E5580755F946050843C308542
+          338C4B3C78392BCC8D7F904B418A4940784138703A337C3D397F39397F32358F
+          3F408235329347418435328C3B388635328734338E3B3A8630308D38368C3735
+          8C38338C38338C38328E3A348D3C34903C36923B37923B39933C3A933C3A933C
+          3A933C3A953C38953C38953C38953C38953C38943B37963B36953A35953A3596
+          3B349A3A349A3B32993B35993B35993B35993B359B3A36993B359537329B4039
+          9A403993382F973B309B3C329C382C9E362FAF41419E3637953938782D2B8A4F
+          4DDFB1B0FFE8E9FAE3E7F1E3E9F0E8F3B7B6C6272A3F2529421D23401A1F401A
+          2043222B50202B511722481D284E17244A212E541C294F212D511E2A4E202C50
+          1D294D1B25471D2749242D4E232C4D1F2745272C451E243B23283D2D33463A41
+          505A606D74788372747E75777F75777F77767F77767F79767F79767F7B767F7B
+          767F3F6825649A55549E565996525B622F674A256F3F27AD7A6A8A6B5C705247
+          5C322D743F3C73363274372D794430653F2754432E5A47327A4538853F32833F
+          32833F327D382E7F3D3282403584463C77443A815048844A457C3B3A8B3E4184
+          34358F3F3E7C2D2A87383591403D8D3B3A8734338734338D3A388D38368D3836
+          8C38338C38338D39338E3A348D3C35903C36903B39923B39923B39933C3A933C
+          3A933C3A953C38953C38953C38953C38953C38943B37963B36953A35953A3595
+          3A35963B34963B34963B34963B34983A359B3A369B3A369B3A369F3E3A90322C
+          953A33973C3395392E9A3C2F9A382CA33C339C2F2DA134369E3A3A9A403F8336
+          34783837B68282FFDDDFF6DCE2ECDDE5C0B9C62B2B3D242840111833121A3713
+          1C3D172242212B4D1F294B27315320294E222E521824481F2A50202B511B264C
+          1C274D202B51202B511C254B1C254B222A4F222A48202742282F4820283F1219
+          2C303849646978747A8772768174768075768075777F77767F77767F79767F79
+          777D405C205B85444D964E478543838F5F6B58356D4D36684E36969374858061
+          64422B6F41306B3D326B3D326E3E2C6E3F2A6C3D2F703F317C3F3589483FA567
+          5D783B31793C32793C327C3F3584463E874B4584484283433E85403D873C3A86
+          3937873A37873A37873A37893A37893A378A39368A3936893835883533893732
+          8937328A38338B39348C3A35903C37903C37913C3A913B3B913B3B913B3B913C
+          3A913C3A933C3A933C3A923B39933C3A963D39973E3A973E3A963D39963B3795
+          3A35963B36973B36973B36983C379A3C379A3C379A3C369C3C369A3A349A3A34
+          9B3B359A3B329C3A329B3A309E39309D38309D37329F3934A13B369C39359334
+          318F3534923F41924C4DF7BDC2FFE8F1CDB3C031263624283B0D1B31061E3605
+          1C36111D392026431E2441262E4C242B4C1B2445242E501A264A1F2A501F2B53
+          1D29511C28521E2A541D26511B2450212951212A4C202A48202B471E29441F28
+          4329334B495064666D806E758470768373778275778177798177798179797F79
+          7A7E446D2F4F84414B914B578C4D5B5E315D49267E694D877D5F5E663E62623A
+          653F216F3D276D493975544598705E7342327B3D32803D348342398B4D43A466
+          5E83483F793E35773E35763B3272342C79393488464187433E7B34307F35318D
+          433F873A37873A37873A37873A37893A37883936893835893835873631883732
+          8937328A38338B39348C3A35903C37903C378F3C3B8F3C3B913B3B913B3B913C
+          3A913C3A933C3A933C3A933C3A933C3A963D39963D39963D39953C38963B3795
+          3A36953A35963B36973B36973B36993B36993B36993B35993B359B3B359D3B35
+          9C3A349C3A349D3A329C39319E39319B38309C39319B38309E3931A038319E36
+          319C35329C3B38994141813539B97D83E4B9C24129352F283718203105192B0B
+          20350F1C320E142B252A4320243D242743363A57262B4A262F511E274C19244A
+          1E2A52212D5519254F1F2853232C581D244F212D51212D4F2330502330501E29
+          4718233F1F284328324A414A5E585F72707786777D8A6F737E676C756F727A78
+          7C8156A95E2C7B323B823F4C72385C461C694320655A34949470767652564223
+          8448307D3E2A6E4F3864523B8065516D42337A3D337E3A337F3E3684453D9455
+          4D8B4D45763A347A3E3880423C7C3E388A4A45A05E599D5855853E3B7E333188
+          3D3B883B39883B39883B38883B38893A37883936873835863734883734883734
+          8937328A38338B39348C3A358D3B368E3C378F3C3B8F3C3B8F3C3B8F3C3B913C
+          3A913C3A933C3A933C3A933C3A933C3A963D39963D39953C38943B37953A3694
+          3935953A35953A35963A35963A35963A35963A35993B35993B359B3B359B3B35
+          9C3A349C3A349D39349C38339C39319C39319E3C329B392F9C372E9E3930A139
+          329E39319A383293383492403F7A3538885257613A42361E282117242724331A
+          1F2E131D2E18223312182B12152A1A173018152F211F3C2E304F232849242D4F
+          1E2A4E1B264C1E2850202A52222853242C541D284E18264A19274B1D2B4F1F2B
+          4D1B28481C27451E2A4617223D202A42333C504E5568697081757C8B767C8971
+          758037974351A356599051586C37695225654A1E7A82536C7B4F6C6342593A21
+          6C35208B543F8F6E54674E34926B5C7341357B3C347E38317C38317B3A327F3E
+          3688484373352F7D3F397C3E387A3A357B39347E3936823B38853B39893E3C8E
+          4341893C3A893C3A893C39883B38893A37883936873835863734883734883734
+          8937328A38338B39348C3A358D3B368E3C378F3C3B8F3C3B8F3C3B8F3C3B913C
+          3A913C3A933C3A933C3A933C3A933C3A953C38953C38943B37933A3694393594
+          3935943934943934953934953934963A35963A35983A34983A349B3B359B3B35
+          9C3A349C3A349C38339C38339C39319C39319E3D339B3A309B392F9F3A31A13C
+          339F3A319B38309537318F38348235337937387A434682565DA4828C937A8491
+          818C8D8D998187928E919FA5A4B49894A7AAA3B8ADA7C0544F6A2D2B492A2C4B
+          2126471D2648242D4F1E274C19204720294F212E541A2A4F17264D19294E1C2C
+          511B2B501D2B4F212D4F242F4F1D284619223D1A243C2A3249414A5E5D63766C
+          728553A350549147678048797D4C6564327A87517AA268718F5E48381B7D5A46
+          B79C87A88D73956A4F7F46307A322A813431833A36813A36813A367F3B367634
+          2F84444075353180403C7C3C38813E3B803D3A7F3939843C3C8A404085393A7D
+          2F30893C3A893C3A893C3A883B39893A37883936873835863734883734883734
+          8938358938358B39348C3A358D3B368D3B368F3C3B8F3C3B8F3C3B8F3C3B913C
+          3A913C3A913C3A913C3A933C3A933C3A953C38953C38943B37933A36933A3692
+          3935943934943934953A35953A35963A35963A35983A35983A359B3B359B3B35
+          9C3A349B39339C38339C38339C38339C39319D3C329B3B2E9B3B2E9D3B2F9F3B
+          2F9D392D9E3A2E9D3C329537319D453F8E3D3A823A3A7E3D3F9F656AFFCFD6FF
+          E0E7F5E5ECE8E4EAEEE9F2DBD6DFDED8E3EAE3F0DCD4E5E7DEF2ADA5BC514B64
+          27234031314F282B4A1F2745262F50212D4F18284D15264D1727511A2A541B2B
+          5518285217264D15254A17244A1F2D51293355242F4F1C26441A2541282F4A33
+          3A55599B4C5B89414A4F1C626030AFC68F3B6427477A3E506D3C574227885D4E
+          6D4D3A633E2A71382279311F8A3934833332813634853C38863D3988413D7B36
+          33823F3C7936337E3B38AB68659C57548A4444823A3A833939863A3B8B3D3E8D
+          3F40893C3A893C3A893C3A883B398A3B38893A37883936873835893835893835
+          8938358938358B39348C3A358C3A358D3B368F3C3B8F3C3B8F3C3B8F3C3B913C
+          3A913C3A913C3A913C3A933C3A933C3A953C38943B37943B37943B37943B3794
+          3B37953A35953A35963B36963B36973B36973B36993B36993B369C3C369B3B35
+          9C3A349B39339C38339C38339C38339D3A329B3A30993A309B3A309D3B2F9E3A
+          2E9C382C9F3B2FA33F33A03E3496372E9E423D8F38348C3A398B3D3E8D4043E0
+          A1A3FFDDDFF3DDDFEFDCDFEDDFE3EFE5EBE6DEE5DED5DFEDE3F0E4D9E9E8DCF0
+          9A8DA53E38512F2E482C304C1A25401C2C4916234917264D1829501A2A541A2A
+          541929541929531A2A541F2D571B2A5117244A1723471925471E284A222B4C22
+          2B4C5C964F456B294D48177C7C4C5484495B975A7FA46C91986D674D35733F32
+          823A327F30278A3C2F8A403470302B7D3E3A7D363383393781373588413E8139
+          397E3838803A3A7D3737894343833B3B803739873C3E883D3F84373A84353887
+          393A863B39873C3A893C3A883B39883B39873A38893A37883936893835893835
+          8938358938358B38368B38368C3A358D3B368F3C3B8F3C3B8F3C3B8F3C3B8F3C
+          3A8F3C3A913C3A913C3A933C3A923B39923B37923B37953C38953C38963D3996
+          3D39973C38973C38973C38973C38983C37983C379B3D389B3D389C3B379B3A36
+          9C3A349B39339B37329C38339C38339D39349C3A329B39319D3A329F3D33A03B
+          329F3B2FA23C30A53F33A33E35A23D35933028AE4C469F3E3BA4444491343396
+          4342B67676FDCBCBFFDDDDFBDFDEF5E6E4E8DEDEEEE6E7E7DDE3F1E1ECE5D4E1
+          F5E3F4D8CCDE746F842F3247212E441B2A44253153253056202D531C28501826
+          5016265018285319295412224D1927511F2D57222E56212C521F284E1C254A1C
+          254A4F86474770335159246F784574A168507D45595F30563D1B6B422C73372B
+          8736318E3231933A367F302D743733743B397E39368439377D3230873D3B853B
+          3B7D3535884040803838823A3A823A3A84393B84393B85383B86393C893A3D8A
+          3B3E863A3B863B39883B39883B39883B39883B39893A37893A37893835893835
+          8938358938358B38368B38368C3A358C39378F3C3B8F3C3B8F3C3B8F3C3B8F3C
+          3A8F3C3A913C3A913C3A923B39923B39923B37933C38953C38963D39973E3A97
+          3E3A973C38983D39983D39983D39993D38993D389B3D389C3E399C3B379B3A36
+          9C3A349B39339B37329C38339C38339D3934A03C389E3A359E3A35A13E36A540
+          38A33E35A23D34A43D34A13A31AF4740A33B349F3732AA423D9F3633AA413EA1
+          3D3B933E3C934C49E4A9A7FFE5E1FADCD7F3DFDAF0E4E0E7DBD9EADCDEF0E0E7
+          ECDBE6EEE0ECEBE4F3B9B9C9606778232B421E264320274820294B1F284D1E29
+          4F1D29511A28521927511B29531A28521826501B27511F2951202A52212A5020
+          294F44824C4A814853793FB1CA9261733E4C461B673B1C75362180402E7A3A2F
+          7636317D34368D323B8A313A7837367639357E363682363783373885393A8539
+          3A843A3A843A3A843A3A84393B84393B84393B84393B85383B85383B86393C86
+          393C863A3B863A3B863B39863B39883B39883B39883B39883B39883837883837
+          8A39368A39368A39368B3A378C39378D3A388D3B3A8D3B3A8D3B3A8D3B3A8E3B
+          398E3B39903B39903B398E39378F3A38913A36923B37933C38943D39963D3996
+          3D39973E3A973E3A993E3A993E3A993E3A983D39983C37973B36983A35983A35
+          9938349837339B39339C3A349E3A359F3B37A23B39A23B39A23B39A23B38A23B
+          38A33D38A33D38A33E36A33E36A33D38A53D38A63E39A83D39A83D39A93D39A8
+          3D3AA6413F973C3893423FBF7D78FFCDC7FFE9E4FAE0D9F2E0D9F1E2DFECE0E0
+          E9E0E3E9E2E7E3DBE5EAE3F0E0DBEAACAABD4B4B632829431E213D3034512229
+          4A1F284A1C254B202A521C28501C28521C28521E27521E285020285021284F22
+          29504A7046527C4C79AD716A965966774453401A83442F8938298437277A352B
+          72353178353A8B2E3D8A2D3C7E35377D3A378036348436378337388438398539
+          3A85393A843A3A843A3A84393B84393B84393B84393B85383B85383B86393C86
+          393C863A3B863A3B863B39863B39883B39883B39883B39883B39893938883837
+          8A39368A39368A39368B3A378C39378C39378C3A398C3A398C3A398D3B3A8E3B
+          398E3B39903B39903B39903B39903B39923B37933C38943D39953E3A973E3A97
+          3E3A973E3A973E3A993E3A993E3A983D39983D39983C37973B36993B36983A35
+          9A39359938349B39339D3B359F3B36A03C38A23A3BA4393BA23A3BA23B39A23B
+          39A13D39A13D39A13D38A13D39A33D38A43E39A63E39A83D39A83D39A93D39A9
+          3D39A73C39A43D3A9A39368C3531A55B55EDB2A9FFE8DFFDE0D7F1DFD8F6ECE5
+          E4DFDCE5E0E1EEE7ECE3D8E0E7D6E3F5E6F4DFD7E89995A8403E521E1E362326
+          422629481D23462831561E294F1E28501E28501E285020285020294F21284F21
+          284F7562474448245F91574585444D7A424F572E6E3C2685372A7E33237B3327
+          7B333380313A8C2B3F8B2B3C823435823C358136348437358338368439378539
+          3A85393A85393A85393A843A3A843A3A84393B84393B84393B84393B853A3C85
+          3A3C863A3B863A3B863A3B863A3B883B39883B39883B39883B398A3A39893938
+          8939388838378A39368A39368B3A378B3A378B39388B39388C3A398C3A398E3B
+          398E3B398F3C3A8F3C3A913C3A913C3A943D39943D39953E3A963F3B963F3B96
+          3F3B973E3A973E3A973E3A973E3A993E3A983D39983B38983B389A3C37993B36
+          9B3A369A39359D3A369D3A369E3B37A03C38A23A3BA23A3BA23A3BA23A3BA03A
+          3BA13C3AA13C3AA03D39A13D3BA23E3AA23E3AA43D3AA43D3AA73E3BA93E3BA9
+          3E3BA53C39A83D3AAD423FB14845A03D39923C36C17D76FFDDD2FFE4DAE9DED6
+          E3E1D9E9E8E4E6DEDFF0DFE3FFE4EFEED3DDE9D8E3F2E8F4D6CDDA837D8E3D3B
+          4F2627412B2F4C1B2243202A4C1E2A4E1E294F1E294F1E294F1E2A4E20294E20
+          294E6F422D473A1A4B78403D81404F7E467182565D40256E34217E392882362A
+          843133862F398C2C3D892D3A823533833B348137338336348237358338368438
+          3985393A85393A863A3B843A3A843A3A84393B84393B84393B84393B853A3C85
+          3A3C863A3B863A3B863A3B863A3B883B39883B39883B39883B398A3A398A3A39
+          8939388939388A39368A39368A39368B3A378B39388B39388C3A398C3A398E3B
+          398F3C3A8F3C3A903D3B923D3B923D3B943D39953E3A953E3A963F3B963F3B96
+          3F3B973E3A973E3A973E3A973E3A993E3A983D39993C39993C399B3D389B3D38
+          9C3B379C3B379E3B379F3C389F3C38A03C3AA03A3BA03A3BA03A3BA13B3CA13B
+          3CA13B3CA03C3AA03C3AA13D3BA13D3BA23E3AA33F3BA53E3BA53E3BA53E3BA5
+          3E3BA13A37B24946AB3C3AA33230B2413EAC46419A443E96554CE3B8AFFAE1D7
+          F2E5DDEAE0D9F4E5E3F5DEE2FCDAE1FEDCE3F0DADFEFE0E4EBDEE6E7DDE9C7C1
+          D2666579282943262C49212A4B1E2A4C1E2A4E1C294F1E2A4E1E2A4E1E2A4E1E
+          2A4E714B334E442253794542753B667F475C65334F50286E5A3B7A4531863930
+          8A2F328D2D378B2F3A8632377D36327C39308037338136348136348237358439
+          37853A38863B39863B39843A3A843A3A843A3A843A3A823A3A823A3A833B3B85
+          3B3B863A3B863A3B863A3B863A3B863A3B863A3B883B39883B398B3B3A8A3A39
+          8A3A398939388B39388B39388B3A378B3A378B39388C3A398C3A398D3B3A8E3D
+          3A8E3D3A903D3B903D3B923D3B923D3B933F3A933F3A953E3A963F3B963F3B96
+          3F3B973D3C983E3D983F3B983F3B9A3F3B9A3F3B9A3D3A9A3D3A9D3E3B9C3D3A
+          9E3D399E3D39A03D39A03D39A03D39A03D39A03C3AA03C3AA03C3AA03C3AA13D
+          3BA13D3BA23D3BA23D3BA33E3CA33E3CA33E3CA33E3CA33F3BA4403CA4403CA4
+          403CA4403E9C3533A73939B44341AC3936A43632A23E3995413B8A4941D3A29A
+          F9D3CEFBDDD8FDE1E0FBDFDFFFDDE3FFDFE4FFE7E7E9D7D6F1E3E5ECDFE7DED5
+          E2DEDAEDA7A9C14D546F222C4A1F2B4D1D2B4F1A2A4E1C2A4E1C2A4E1C2A4E1B
+          294DB9A183645B366374485E7C474E672D4961278197638D8D65774A35843A34
+          873033892F348834368336337F372F7C372E7F36328035338136348237358338
+          36843937863B39873C3A843A3A843A3A843A3A823A3A823A3A823A3A833B3B83
+          3B3B853B3B863A3B863A3B863A3B863A3B863A3B883B39883B398A3A398A3A39
+          8A3A398939388B39388B39388B3A378C3B388D3B3A8D3B3A8D3B3A8E3C3B8E3D
+          3A8F3E3B903D3B913E3C933E3C933E3C933F3A94403B963F3B963F3B963F3B96
+          3F3B983E3D983E3D99403C99403C9B403C9B403C9B3E3B9B3E3B9E3F3C9E3F3C
+          A03F3BA03F3BA13E3AA13E3AA13E3AA13E3A9F3F399D3F399D3F39A03F3BA03F
+          3BA23F3BA33F3BA33E3CA33E3CA33E3CA53E3CA43F3DA4403CA4403CA4403CA4
+          3F3DA54141A33F3FA33B3CA93D3CAF403EAF413DAE433FAC4843943935843532
+          A86864F2BCBBFFDFDDFDDBDCFCDFE2F1D9DBF2DBD9F8E4DFFCEAEBEADCE0E5DC
+          E6E8E5F49B9CB16C738E212C4A1D2C4D1B2B4F182B4E182B4E182B4E172A4D17
+          2A4DA9A47D685F3962502B5052242756176CA561AECD906E6B3E6F442F7A3833
+          7933337C353280383082382C85362D82342D8236308036328036328137338339
+          35843A36863B39873C3A843A38843A38823B38823B38823A3A803A3A813B3B83
+          3B3B853B3B853B3B863A3B863A3B863A3B863A3B883A3B883A3B883B39883B39
+          8939388939388B39388C3A398C3A398D3B3A8E3C3B8F3D3C8F3D3C8F3D3C8F3E
+          3B8F3E3B913E3C913E3C95403E95403E95413C95413C97403C97403C97403C97
+          403C993F3E993F3E9A403F9A403F9C413D9C413D9D403D9D403D9F403D9F403D
+          A1403CA1403CA1403CA03F3BA23F3B9F3F399E41389C41389C41389F413BA141
+          3BA3413BA4403BA4403CA63F3CA63F3CA83F3CA63F3CA63F3CA63F3CA7403DA5
+          403E9E3A3AA745459E3C3C9D3C39AD4A46A33C399B2F2BB1433FB03E3EBC4F51
+          9A393B924243C68D8EFBD6D8FBE9EAE2D6D4FFEBE6EAD4CEF0DCDBF2E4E6E8DF
+          E9DCD9E8515469161D36212C4A1D2C4D192C4F172A4F172A4F16294E162A4D16
+          2A4D907F5E765F3F66412552451F7FB072B4EFABC0D09B6F5B386E3A2D743430
+          7533347A3734813A3081372B85342D85332E8235328036328036328137338238
+          34843A36863B39873C3A843A38843A38843A38823B38823A3A823A3A833B3B83
+          3B3B853B3B853B3B863A3B863A3B863A3B863A3B883A3B883A3B873A38873A38
+          8939388939388C3A398C3A398D3B3A8D3B3A903E3D903E3D903E3D903E3D903F
+          3C903F3C913E3C913E3C96413F96413F96413F96423D98413F98413D98413F98
+          413F98413F98413F9A403F9B41409B41409D423E9D41409D403D9E413EA0413E
+          A0413EA2413DA1403DA1403CA03F3CA03F3B9F413B9D42399F413B9F413BA242
+          3CA4423CA5413CA5413DA63F3CA83F3CA83F3CA83F3CA63F3CA7403DA7403DA7
+          403EA84243A84444A64646A0413E9D3C38A7433FB14642B03F3DB43C3CB0393A
+          AD3F41A244458C4143A36D6DE3C0BDFFE7E3F2D8D1FBE3DDF6E1DFEAD9DCF1E5
+          F1EDEAFA484A62292F4C222D4D1F2B4F1D2B4F1A2A4E1A2B4C172B4A172C4816
+          2D477B43326E3C2A6C41306B5B3EA8C88F8AA77068503A68302B7736357D3436
+          7F34368034358134328333328533328533328235338136348136348136348136
+          34823735843839863A3B85393A85393A85393A843A3A843A3A843A3A84393B84
+          393B843A3A843A3A843A3A853B3B863A3B863A3B863A3B863A3B883A3B883A3B
+          8A3A3B8B3B3C8B3B3C8C3C3D8C3C3D8C3C3D8F3D3C8F3D3C8F3D3C8F3D3C903E
+          3D913F3E93403F93403F93403F93403F93403F93403E953F3F96413F97414197
+          41419842429842429A42429941419941419B41409A40409C403F9E42419E4140
+          9E4140A0413EA04040A0413EA04040A3423FA3423FA2413EA2413EA33F3DA340
+          3CA4403CA4403CA5403EA8413FA8413FA8413EA7403DA9403DA9403DA9403DA7
+          403DA8413FA6413FA6413FA6423EA6423EA8413EAA413EAC413EAD403EAF4441
+          A23837A03C3AA144438E3735A3524FDA9A95FFE3DAF7DDD6F1D9D9EDD8E0E7D7
+          E8DED5EF4B4A6A272A501F244B272C5324274D181D3E141B36101E310F223111
+          273379342B743D305D3F2C6B63458897644B4C2075443A7D33397D33397D3337
+          7D34368034358333348333348333348133348035338136348136348136348136
+          34823735843839863A3B85393A85393A85393A85393A85393A85393A85383B85
+          383B843A3A843A3A843A3A853B3B863A3B863A3B863A3B863A3B883A3B883A3B
+          8A3A3B8B3B3C8B3B3C8C3C3D8C3C3D8C3C3D8F3D3C8F3D3C8F3D3C8F3D3C903E
+          3D913F3E93403F93403F93403F93403F93403F93403F953F3F96404097414197
+          41419842429842429842429842429941419941419B41419B41419E42419E4241
+          9E41409E4140A04040A04040A14141A14141A64242A54141A54141A44040A540
+          3EA5403EA6413FA6413FA8413FA8413FA8413EA8413EAA413EA9403DA9403DA9
+          403DA9423FA9423FA9423FA9423FA9423FA9423FA9423FA9423FA23B38AF4845
+          A9423FA63F3CAE4744A7403DA23B38A8504AA4665EFFD4CDFFE9E9EED4DAEEDC
+          EDE7DEF84A496922254B242950292E5522254B151A39111831101D2D12202C15
+          272E7740396B47376C6A4B808C6265673D7D67446C3122863B397D3337793437
+          7636367936338036328134317E34327C35327F35338136348136348136348136
+          34823735843839863A3B85393A85393A85393A85393A85393A85393A85383B85
+          383B843A3A843A3A843A3A853B3B863A3B863A3B863A3B863A3B883A3B883A3B
+          8B3B3C8B3B3C8B3B3C8C3C3D8C3C3D8C3C3D8F3D3C8F3D3C8F3D3C8F3D3C903E
+          3D913F3E93403F93403F93403F93403F93403F93403F96404096404097414197
+          41419943439943439943439842429A42429A42429C42429C42429F43429E4241
+          9F42419F4241A14141A14141A14141A24242A74343A74343A64242A54141A541
+          41A54141A74142A74142A94240A94240A8413FA8413FAA403FAA403FAA403FAA
+          403FA94240A94240A94240A94240A94240A94240A94240A94240A63F3DAF4846
+          AA4341A43D3BAA4341AD4644A23B3996332FA54A43994D47DFA8A5FFE1E2E8D8
+          E3E7E3F64E4F69262B4A202649212A4F1726470A1C39091D360D1E31101D2D15
+          1E2C6B36335A3C2B536439566C3C59502B7651377B3E2A7F372D8035377B3339
+          76363577373280372F82372F7F36327C35327F35338136348136348136348035
+          3381363483373885393A85393A85393A85393A85393A85393A85393A85383B85
+          383B843A3A843A3A843A3A853B3B863A3B863A3B863A3B863A3B883A3B893B3C
+          8B3B3C8B3B3C8C3C3D8C3C3D8C3C3D8D3D3E8F3D3C8F3D3C8F3D3C8F3D3C903E
+          3D913F3E93403F93403F94414093403F93403F93403F96404097414197414198
+          42429943439943439943439943439B43439B43439D43439D43439F43429F4342
+          A043429F4241A14141A24242A24242A24242A54343A74343A64242A64242A642
+          42A64242A74142A74142A94240A94240A94240A94240AB4140AB4140AB4140AA
+          403FAA4341AA4341AA4341AA4341AA4341AA4341AA4341AA4341AC4543A8413F
+          A7403EA7403EA53E3CA63F3DAB4442B04744A33932A747418D413BB47C7BE8C6
+          CCEDDBE8575164282C45202B471C2E4B112743061E3A0921391022391621371B
+          22367B3D3D714F3F5B6E3D5A713B624D3162331E763D2388443185353683333A
+          7C36367B373080382C84382C8235328235338035338136348136348035338035
+          3381363483373884383985393A85393A85393A85393A85393A85393A85383B85
+          383B843A3A843A3A843A3A853B3B863A3B863A3B863A3B863A3B893B3C893B3C
+          8B3B3C8C3C3D8C3C3D8C3C3D8D3D3E8D3D3E8F3D3C8F3D3C8F3D3C8F3D3C903E
+          3D913F3E93403F93403F94414094414094414094414096404097414197414198
+          42429A44449A44449A44449A44449C44449C44449E44449E4444A04443A04443
+          A14443A04342A24242A34343A34343A34343A54244A54244A64143A64143A641
+          43A64143A74142A74142A84243A84243AA4243AA4243AC4241AB4140AB4140AB
+          4140AC4143AC4143AC4143AC4143AC4143AC4143AC4143AC4143AB4042A73C3E
+          AD4244B14648A83D3FA3383AAA3F41AE4542AF483FA23B32AC4843933938A359
+          5FE6B2BC6E55632928382536491B364B0C2840011A340518330A19330C17320E
+          17327C30348C5C50656D3E5F713C5846296A453172482B7D473085353688323A
+          8135368038317F392C80382C8435328434338235338136348136348035338035
+          3380353382363784383985393A85393A85393A85393A85393A85393A85383B85
+          383B843A3A843A3A843A3A853B3B863A3B863A3B863A3B863A3B893B3C893B3C
+          8B3B3C8C3C3D8C3C3D8D3D3E8D3D3E8D3D3E8F3D3C8F3D3C8F3D3C8F3D3C903E
+          3D913F3E93403F93403F94414094414094414094414096404097414198424298
+          42429A44449A44449A44449A44449D45459D45459F45459F4545A14544A14544
+          A14443A14443A34343A34343A44444A44444A64345A64345A74244A64143A641
+          43A64143A84243A84243A94344A94344AB4344AB4344AC4241AC4241AC4241AC
+          4241AC4143AC4143AC4143AC4143AC4143AC4143AC4143AC4143AB4042AC4143
+          AF4446AE4345A93E40AB4042AB4042A43B38AA453CAD463DAD3F39AD4140A33F
+          449F51587D4A525C444E2729341D2D3D1127390A1F340F213816233D17203B17
+          203B852A3393524A60502B464C1D5B58396E6348A1927276513B8036368A313A
+          8734368137317A3A2F7B392E8235328633358235338136348136348035337F34
+          3280353382363783373885393A85393A85393A85393A85393A85393A85383B85
+          383B843A3A843A3A843A3A853B3B863A3B863A3B863A3B863A3B893B3C893B3C
+          8C3C3D8C3C3D8C3C3D8D3D3E8D3D3E8D3D3E8F3D3C8F3D3C8F3D3C8F3D3C903E
+          3D913F3E93403F93403F94414094414094414094414097414197414198424298
+          42429A44449A44449B45459B45459D45459E4646A04646A04646A24645A14544
+          A24544A24544A44444A44444A44444A54545A74446A74446A64345A64345A742
+          44A84345A84345A84345AA4445AA4445AB4344AB4344AB4344AB4344AD4244AD
+          4244AC4143AC4143AC4143AC4143AC4143AC4143AC4143AC4143AD4244B04547
+          AD4244A83D3FAA3F41B04547AF4446A63F3DA5423AA54038B64A46AB3E3CAF42
+          44A23E438D38408D4E57623D474C3C472B2C3A0E1B2B0816280A182B12182F16
+          1A329837417427246C492F544F2845502A8893726B694B5C402F7A3637883238
+          8535367E3733753A30753A317F35338234358035338136348136348035337F34
+          3280353381353683373885393A85393A85393A85393A85393A85393A85383B85
+          383B843A3A843A3A843A3A853B3B863A3B863A3B863A3B863A3B893B3C893B3C
+          8C3C3D8C3C3D8D3D3E8D3D3E8D3D3E8D3D3E8F3D3C8F3D3C8F3D3C8F3D3C903E
+          3D913F3E93403F93403F94414094414094414094414097414197414198424298
+          42429B45459B45459B45459B45459E46469E4646A04646A04646A24645A24645
+          A24544A24544A44444A44444A54545A54545A84547A84547A74446A74446A843
+          45A94446A94446A94446AA4445AA4445AC4445AC4445AB4344AB4344AD4244AD
+          4244AB4042AB4042AB4042AB4042AB4042AB4042AB4042AB4042AA3F41AD4244
+          AD4244AD4244AF4446AC4143A93E40AD4342AF4845A7413CAC4340AB423FB346
+          48A3383BB34C51983B42974C547C47505637403B2D3845434F686B799194A3AF
+          B2C191343B8639376E3D2F56482B859F719FBC8F5C5B46614239773939833639
+          7F37377939357039346E3A347937387F36388137378136348035338035338035
+          3381363483373884383985393A85393A85393A85393A85393A85393A85383B85
+          383B843A3A843A3A853B3B853B3B873B3C873B3C873B3C873B3C893B3C893B3C
+          8C3C3D8C3C3D8C3C3D8D3D3E8D3D3E8D3D3E903E3D8F3D3C8F3D3C8F3D3C903E
+          3D913F3E94414095424193403F94414094414095424198424299434399434399
+          43439A44449A44449A44449B45459D45459D45459F45459F4545A24645A24645
+          A34645A34645A54545A54545A54545A54545A94648A84547A84547A84547A845
+          47A84547AA4646A94545AB4546AB4546AA4445AA4445AB4442AB4442AB4442AB
+          4442AC4143AC4143AC4143AC4143AC4143AC4143AC4143AC4143AC4143AC4143
+          AC4143AC4143AC4143AC4143AC4143AC4143AF4244AD4244A84444A64444A644
+          44A94344AD4245AF4145AD434A983940A4575FE8B2B9FFE5ECF1E1E8E8E6ECDF
+          E3E88E373A863A3B7E4740543D27728C576885545445356739387A3839823838
+          7F37377938377239387239387837397D37388036368136348035338035338035
+          3381363482363783373885393A85393A85393A85393A85393A85393A85383B85
+          383B843A3A843A3A853B3B853B3B873B3C873B3C873B3C873B3C893B3C893B3C
+          8C3C3D8C3C3D8C3C3D8D3D3E8D3D3E8D3D3E903E3D903E3D8F3D3C903E3D903E
+          3D92403F94414094414093403F9441409441409542419842429943439943439A
+          44449A44449B45459B45459C46469E46469E4646A046469F4545A34746A34746
+          A44746A44746A64646A64646A64646A64646A94648A94648A84547A84547A845
+          47A84646AA4646AA4646AA4445AA4445A94344A94442AB4442AA4341AA4341AA
+          4341AC4143AC4143AC4143AC4143AC4143AC4143AC4143AC4143AC4143AC4143
+          AC4143AC4143AC4143AC4143AC4143AC4143AF4145AD4245A84345A64345A644
+          44A84444AF4244B24144BB4347B64247AD4349943D41D19196FFDADCD9C4C6E7
+          DDDD8737367C3532753B365F422D7A88526972406F413682353D853639853738
+          8236377F36387D36397D36397F353B8135398135368035338035338035338035
+          3381363482363783373885393A85393A85393A85393A85393A85393A85383B85
+          383B843A3A843A3A853B3B853B3B873B3C873B3C873B3C873B3C893B3C8A3C3D
+          8C3C3D8C3C3D8D3D3E8D3D3E8D3D3E8E3E3F903E3D903E3D903E3D903E3D913F
+          3E92403F9441409441409441409441409542419643429842429943439A44449A
+          44449B45459C46469C46469D47479F47479F4747A14747A04646A34746A34746
+          A44746A44746A64646A64646A64646A64646A74747A74747A94747A94747A846
+          46A84646AA4646AA4644A94543A94543AA4543AA4543AB4442AB4441AA4340AA
+          4340AC4241AE4241AE4241AE4241AE4241AE4241AE4241AE4241AF4342AF4342
+          AF4342AF4342AF4342AF4342AF4342AD4244AB4147AB4147AD4147AD4245AB43
+          44AB4344AB4442AD4441A93A38BC4847B23B3CB7494B9A3D3EAD6565FFD3D1FE
+          D9D5833C387A3B3368372D785F45838C547A79477F473C8C383D8A3638893736
+          87373885373885353A84343986333B8634398335368035338035338035338136
+          3481363482363783373885393A85393A85393A85393A85393A85393A85383B85
+          383B843A3A843A3A853B3B853B3B873B3C873B3C873B3C873B3C8A3C3D8A3C3D
+          8C3C3D8D3D3E8D3D3E8D3D3E8E3E3F8E3E3F913F3E913F3E913F3E913F3E9240
+          3F92403F9441409441409441409542419542419643429943439A44449A44449B
+          45459C46469C46469D47479D47479F47479F4747A14747A14747A34746A34746
+          A44746A44746A64646A64646A64646A64646A84848A84848A94747A94747A947
+          47A94845AB4745AB4745AB4745AB4745AC4745AC4844AD4643AD4643AC4542AC
+          4542AE4340AE4340AE4241AE4340AE4241AE4340AE4241AE4340AF4342AF4441
+          AF4342AF4441AF4342AF4441AF4342AD4342AC4346AC4248AE4346B04246AE43
+          45AE4443AE4542B04542B24642B54441C24C4BAD3C3AAC4543A246459A4D4AEE
+          A7A3793A327541346748316F664165723C585828683F2979332C8A37368E3636
+          8C36368A37398737388935398D323B8D323B8535368136348136348136348237
+          3582373583373883373885393A85393A85393A85393A85393A85393A85383B85
+          383B843A3A843A3A853B3B853B3B873B3C873B3C873B3C873B3C8A3C3D8A3C3D
+          8C3C3D8D3D3E8D3D3E8E3E3F8E3E3F8E3E3F913F3E913F3E92403F92403F9341
+          409341409441409441409542419542419643429744439943439A44449B45459B
+          45459B45459C46469C46469D47479F47479F4747A14747A04646A44847A44847
+          A54847A54847A74747A74747A74747A74747A84946A84946A84946A84946AA49
+          46A94845AB4745AB4844AC4945AC4945AD4945AC4844AC4844AC4843AD4742AD
+          4742AF4440AF4440AF4441AF4440AF4441AF4440AF4441AF4440B04542B04541
+          B04542B04541B04542B04541B04542B04542B04443B04345AE4345AC4543AE44
+          43B14442B54442B54441BA4C48AB433E9D3B35AC4B47AD4C48A33E3CAE4241AB
+          3D3D7742386A4531665E3951602D4D6A333E5423615D3A6F4D36803A338C3636
+          8B3837863937813A378238388B323B8C313A8535368237358237358237358338
+          3683383683373883373885393A85393A85393A85393A85393A85393A85383B85
+          383B843A3A843A3A853B3B853B3B873B3C873B3C873B3C873B3C8A3C3D8A3C3D
+          8D3D3E8D3D3E8D3D3E8E3E3F8E3E3F8E3E3F92403F92403F9341409341409341
+          409341409441409441409542419643429643429744439A44449B45459B45459C
+          46469C46469C46469D47479D47479F47479F4747A14747A14747A54948A54948
+          A64948A64948A84848A84848A84848A84848A94A47A94A47A84946A84946AA49
+          46AA4945AC4945AC4945AC4945AC4945AC4844AC4844AB4742AB4742AD4742AD
+          4742AE4641B04541B04541B04541B04541B04541B04541B04541B14642B14642
+          B14642B14642B14642B14642B14642B14642B24543B24543B14643AF4643B245
+          43B44642B84542B64542A73C38AC4843A64B44A64A45A94844B14845BF4948BE
+          424276504463523761794343753545824A4A8A56649D66697F556A3E31833836
+          833A367C3D356F3E34703C3582353988323A8436378237358338368439378439
+          3784393784383984383985393A85393A85393A85393A85393A85393A85383B85
+          383B843A3A843A3A853B3B853B3B873B3C873B3C873B3C873B3C8A3C3D8B3D3E
+          8D3D3E8D3D3E8E3E3F8E3E3F8E3E3F8F3F4092403F9341409341409442419442
+          419442419441409441409643429643429744439845449A44449B45459C46469C
+          46469D47479D47479D47479E4848A04848A04848A24848A24848A54948A54948
+          A64948A64948A84848A84848A84848A84848A94A47A94B46A94B46A94B46AA49
+          45AA4945AA4945AA4A44AC4A44AC4A44AD4944AC4843AC4843AC4843AB4840AD
+          4840AF4742B14642B14642B14642B14642B14642B14642B14642B24743B24743
+          B24743B24743B24743B24743B24743B24743B14740B2473FB44640B64640B646
+          40B44642B14642AD4742AD4945AE4B47AC4945A23D3BB04645B34746A83838BA
+          484865483A5D58395B8244458A4136834A50A46E55AC6C5A8B575F41307E3936
+          7F3B36773F346742346840347F353987323A853738833836843937843937853A
+          38853A3885393A85393A85393A85393A85393A85393A85393A85393A85383B85
+          383B843A3A843A3A853B3B853B3B873B3C873B3C873B3C873B3C8B3D3E8B3D3E
+          8D3D3E8D3D3E8E3E3F8E3E3F8E3E3F8F3F4092403F9341409442419442419442
+          419442419441409441409643429643429744439845449B45459B45459C46469C
+          46469D47479E48489E48489F4949A14949A14949A34949A24848A54948A54948
+          A64948A64948A84848A84848A84848A84946A94A47A94B46A94B46A94B46AB4A
+          46AA4945AA4A44AA4A44AE4C46AE4C46AE4A45AE4A45AE4A45AD4944AD4A42AF
+          4A42B04843B24743B24743B24743B24743B24743B24743B24743B24743B24743
+          B24743B24743B24743B24743B24743B24841B1483FB2483DB8463FBA463FB846
+          40B44640AF4742AA4842AA4945A84743A5403EAE4443B44847B34545B34746B0
+          4443}
+        Material.Texture.Disabled = False
+        Position.Coordinates = {0000000000000000000000BF0000803F}
+        Scale.Coordinates = {AE47813FAE47813FAE47813F00000000}
+        Height = 1.000000000000000000
+        Width = 1.000000000000000000
+      end
+      object left: TGLPlane
+        Material.Texture.Image.Picture.Data = {
+          07544269746D617036C00000424D36C000000000000036000000280000008000
+          000080000000010018000000000000C000000000000000000000000000000000
+          00006FB4E561ABE156A8E956AEF551ADFA4BA8F34DA9F053B1F34CABF043A5EB
+          4DAEF850ACF35DABED6DACDF7FABD0112F481E31461A293C13233A172A45283D
+          5D334B6F3149732A436F2842712842712A416F293E6B2A3D6A2D3F68303E6828
+          3D6325416A072A526489AF82A1C82734600D17461A2D603651892A4E8A214D8D
+          2253995495DA4398DC3899DB399BDB3F9CDB5DAEEB54A1DF509DDC4796D94795
+          DC4899E44493E24697E84294E64597E83F92E03F94DE4B9FE73B90D4489EE044
+          9BD94DA4DD6AC1F958AFE84EA5DE56AEEA51A9E552A9E753AAE850A8E44FA7E3
+          65B9F36EC3FB62B3EC58AAE156A4D94896CB4D9ED169BAED5DADE44392CB4996
+          D4519EDD4B96DA4D98DC4C97DC4B96DA4A98DB4C9BDA4E9DDC4F9FDA4E9ED94D
+          9ED74594CD75B2E498B3D88E859A8C585FA3524ABF5746C9583ECA593FE17357
+          F4896EB84D32CC593EC95134D55336CE5234C95D3EC75D3EFD8764E25E39E556
+          30EB5C36E96742D66A4BFFBAA5FFE4D8FFF6F6FFFDFFF3F6FEF6FCFFFFFDFFC2
+          BEC380CEFC6CBDF056ADEB50ABF053ABF752AAF655AAF055AAEE5AB2F850ACF3
+          50AEFA4BA6F156A7EB66ABE474A8D1052B4920364F1C2D421B2C46283D593147
+          6A2C466B29426E2A4472274170284271283F6F263D6B283D6A2C3F6A2F3F692A
+          3E67223F6623476D1B3F655A779E0E1C46182251263768385288365894285293
+          27559C5694DA4398DC399ADA3B9CDC419BDB68B9F653A1DC4B9AD94897DA4896
+          DD4A98E44291E03D8EDF4596E74193E44296E24398E24397DF4196DA499FE140
+          95D35BB2EB63BAF355ACE551A7E356AEEA51A8E64FA6E454ABE951A8E654ACE8
+          56A9E656AAE461B4EC6BBDF46EBEF56EBEF35FAFE45CACE14E9ED54B9AD357A4
+          E253A0DF4995D74D98DC4C97DB55A0E454A2E44997D94594D34B9BD84E9ED94C
+          9AD568B1EF6DA9E47DA2D4969FC5AC96B2B58492AF696AAC554BCC6A5AF18972
+          B74A2ED15F41C55031CA4E30CF4F32D75D3FDB6D51ED8162D86443CE532FD653
+          2CE8653ECD522EBF5133B85E46E6A08FEDBAB0FFFDF8FFF4F3FFF8FAFFFDFFFF
+          FEFF62C1E95BB9E750AFE74FABEC57ACF45FAEF764ACF264AAF058A2EA55A3EF
+          54AAFC4FA8F957ADF963B3F460A6DB002F581633521E314C2438573145683349
+          722D46722B45732D4B7C2B487B2B487B2A457828417329416F2B426F2D406B28
+          3E672542692E4E720224481A355A1620481A204D3341713850842848831D4685
+          214E925994D94C9DE03F9DDE3E9ADB4099D666B8F24C9AD54B9AD94E9EDF4896
+          DB4A99E24A9AE7489AE84698E63F91DF4597E4479BE33F91D8499CE0489CDE44
+          97D56BBEFB5BAEEB53A9E554A9E754ABE951A8E84BA2E254ABEB51A8E858AFEF
+          51A4E24C9FDC5BACE95DADE85AAAE566B7F072C3FC6CBDF659AAE34494CF4191
+          CE4998D74D9BDD4B99DB509EE04896D84A96D8529EE054A1E04E9BD94D9AD856
+          9EDE71AFF55D97DF4F88D36091DB789DE18799D49B93BCB692A8C58285A74A3B
+          D36345C54A26D1522CDC5C39D15838E06A4DF48067C55439C85737D06240D163
+          3FCC5E3AC65836E97858E97759C75739BB5336D37960FFC4B1FFFDF2FFFBF6FF
+          FCFC6EB8DC71BEE570BDEE68B5EE63ABEB62A9E965A8E762A5E468AFF25DADF4
+          56AEFB4CA9F84BA7F456ACF257A7E21250800C2D5425395C2D43672D466E314C
+          783B57863F5E913D5D924060953F5F943C5B9037568937528436507E324B772B
+          446E2C466E244166234366011B3F242C541A204B2D39693C51853D5B962C5090
+          254E93568FD44695D83C96D74098D84299D773C5FF4C9CD74A9AD74E9EDF4394
+          D84797DE4899E44393E04597E44193E04598E3499BE34093D74D9EE14395D654
+          A7E56BBEFC52A5E355AAE855A9EA52A6E753A9EB4DA3E553A9EB4DA3E552A8EA
+          54A8E959ACEA5DADEC53A4E156A6E369B9F44C9CD74193CD54A4E16FBFFC68B7
+          F651A0DF4A99D84F9EDD4A98DA4795D74D99DB529EE04C98DA4592D154A1E071
+          B8FC5993DF5B93E55392EA4B8FE84B8DE65890E27296DC909DD1AF9ABACC9AA6
+          A65A54AA4C39BA5136C75739ED7D5FF48264CB5336CD5538C15030CB603EC660
+          3DC45F39EF845FE36F4CD25733C74724D45634CF5B3CAF4F37C67A67FFDED1FF
+          FDF1DDEFFFD3E9FFB6D6FF92BCEB78ABDD71ACDE70B3E46CB8E959AFE34DACE4
+          49AFF04AB1F64CABF453ABF162AFEE3F7DB30D315F29426C35507C3854833F5E
+          915070A5567AB05277AF5479B15479B15376AE5072A74D6EA04868993F5D8C38
+          55812D4A712441662E4C6F1A3256191F48242753222C5C43558A2F4A83294C8B
+          365DA179AEF16BB7F955ACEC479EDE4095D376C8FF4999D44292CF4898D74495
+          D84B9CE0499BE33F90DB4596E1489AE24597DF4898DF4899DD4D9CDF4191D269
+          B9F85FB1F24FA1E25BADEE56AAEC4EA2E457AAEE52A7EB51A6EA52A7EB4FA5E7
+          57ABED57ABEC51A3E455A8E661B1F061B1F04393D24193D44595D44090CF4292
+          D15CACEB68B8F756A7E44897D651A0DF51A0DF4B99DB519DDF5DA8EC5BA6EA52
+          97E0528BE05C91EB5D95EE5490E9508FE75191E94F8FE3528BDA608DD17B96CF
+          A1A3CCBFA7BF9B686CD08478CB6A50C35231C54A26DF613ED05939CE5D3CCD62
+          3CF4885FCF5E33D05A30CF552DCB502EC14A31C4513CCF644FE47E68BC583CFF
+          9E80F7F5FFF6F9FFEDF8FFE1F6FFD1EFFFBCE5FFA1D1F388C2E574BADF62B1DC
+          58AFE158B1EA54AAE658A9E667B1EB5F9BD1183F732F4D7E405F925070A5577A
+          B25C81BB5F87C1638BC66189C46189C36187C15F86BD5D84B8597EB05074A44A
+          6B993A5881314E75254267283F65161C471D204D2A336542548936508C29498A
+          2B5094689BE162A9EC5AAEEF61B5F66ABDFB6BBDF750A3DB50A2DC51A2DF4496
+          D74798DB499BE24B9DE44395DC4C9CE34696DD4596DA4D9CDF4A9ADB4A9AD971
+          C1FF55A6E951A2E55AABEE57A8EB4EA1E557AAEE56ABEF4FA4E853A8EC51A7E9
+          56AAEC4FA3E44B9DDE5DAFF05DB0EE3E90D14A9BDE3B8CD03C8DD04294D53C8E
+          CF3F8FCE499AD74D9EDB66B6F35CACE94C9BDA4391D34F9ADE5CA7EC58A3E84B
+          91DE5692EB558BE95289E4548DE35590E65293E84D94EB4B96EC4D99EC4D90DF
+          6094D77897CCB5BADBC4B1C0AE8485945547B7614BBD5A3EB54F32E57A59F07E
+          59DB623AD25529D3552CC94E2AD1593BD6624BE67660D15F48C95439C64B29C8
+          4C24F3FFFFF1FFFFEDFDFFECFAFFEFFCFFEFFCFFEFFBFFE9FAFFDBF3FFC1E2FC
+          A0CDEE8BC2E977B4E071B4E171B5E46AA5D6244E833D60985476B16185C1648C
+          C7658ECC6793D06895D26895D26794D16793CE6792CB6992C96890C56088BC5A
+          80B05473A046638F304E7729416B252B58171B4B313C703F50893851912A4A8C
+          2C50966799E15DA4E853A4E758A9EC60B2F369BBF55AAFE75DB1EB57AAE74A9D
+          DB4799DA4697DA4C9DE14697DB4A98DD4997DC4897DA4A98DB4B99DB5FAEED66
+          B6F553A4E756A7EA56A7EA58A9EC53A7E954A8EA59ADEF51A5E74EA2E452A6E7
+          53A7E853A7E85CB0F164B9F756ABE9398DCE3486CD3E90D84597DE3C8FD33589
+          CA3F92D04598D53E91CE3E8FCC499AD761B0EF71BFFF6AB7FC539FE74891DB49
+          90E04E8FEB518EEC5891EC6097EC5E95E6578FDE548EDA5091DC4C90DD4D94DE
+          5CA4EC6FB5F871B0EC6BA7DB7FB6E386A8C687838E87635DC68471C3674AD75F
+          3BDC532DE05332DA5033D7563DD1573FE26D52C95536C85431CD5833CD5531D6
+          5D36F1FFF6F2FFF9F8FFFEFAFFFFFDFFFFFFFBFFFFFDFFFFFDFFFBFDFFF3FDFF
+          E9FBFFDFFCFFCEF3FFB9E6FF97C9ED72A3CF2E56904F76B4678DCD668FCE6590
+          CF709CDB73A2E06B9CDA70A1DF6EA0DC6E9DDA6D9DD7719ED7709ED46C98CD68
+          90C46589B95A7BA9416290354F7D28326225295C26316A3E508D354D8F29478E
+          2D509A6B9AE45EA4EA53A4E85AA8ED62B2F356AAE4469BD34498D24A9ED85AAD
+          EA64B7F557A9EA50A2E34999DA4595D64B9ADD4999DA4593D54B99DB70BFFE59
+          A9E857A9EA59ADEF51A2E556AAEB57ABED50A4E558ACED51A5E655A9EA55AAE8
+          4EA2E353A8E660B5F352A7E53D92D03E92D34597DE3C8ED6388AD23E91D54498
+          DA4195D63E91CF3C8FCC4B9CD94696D54595D6519FE260ACF468B3FD63AEFA5C
+          A3F3498CE35090E85791EA578EE3578DE05A91E25A95E45396E14B96E0489EE4
+          50AFF548ADF248AFF43EA6EB40A8ED5CB4F081B6DBA5BACFB2A4AA91615DA24A
+          3CCA5945CE4F3AD9533BF06F56EF7155CC5131D55D39CF5831CD572EC34E27DE
+          6942FFFFF8FFFEF4FFFFF9FFFFF9FFFFFBFDFAF5FFFFFCFFFFFCFDFFFCFBFFFE
+          F8FFFFF2FCFFEEFBFFE8F6FFE6F8FF6B83AD5274AF5A84C76690D36B96D973A0
+          E379A9E97CAFEE81B4F37EB4F17EB4F080B4F07EB3EC7EAFE777A9DE73A2D870
+          9FD36F97CC6D92C6567BAD4A699C2E3C711F265F2D3B763C4E8F324B91305099
+          2D4F9B6E9FEB5A9FE853A3EA5EACF366B5F84C9FDC489FD7479CD44498D24498
+          D2479AD74C9DDA4E9EDD60B0EF65B5F44B9BDC4C9CDB4999D84E9EDD6CBCFB54
+          A4E353A7E852A9E954A8E955AAE855A9EA54A9E752A7E551A6E455AAE853A9E5
+          51A6E454AAE66AC0FC3C92CE3E94D03D91D23F94DA3D91D93C90D83D92D63D91
+          D33A8ECF3E93D1469BD93C8FCD4A9CDD54A5E8519FE44794DD4792E04F9AE959
+          A1EF70B4FF6AABF65F9BEF4F89E25189E8528EEE4F95F04293E84BACF645B3F5
+          3FB5F036B1EB34ACE837ABEC3CAAF247ACF152AAE665ABE07CB0DF98AED7A395
+          B19E6E7AB5625AE0725AD55734D75129E15C36E1623CCB512DD7623DEE7C54DF
+          6F45FFFFFBFFFFF9FFFFF9FFFFF9FFFBF6FFFFFBFFFFFCFFFFFBFBFDF7FCFFF6
+          FDFFF7FEFFFDFBFEFFF8FBFFF0F4FF62729C5F81BD6491D5709DE176A5E97FB1
+          F384B9F885BAF986BDFA87BEFB87BFFA89C0F988C0F787BDF484B7EF7FB3E87E
+          B0E5749FD8719DD3648DC46082B84859922A34702E3D7C32488A2C488F264691
+          2549976D9DEB5FA3EE56A4EB58A6ED6AB9FC499CD9469DD5479CD4469BD3469A
+          D4479BD54A9BD84B9CD94293D04B9BDA4E9EDD5AAAE95EAEED6CBFFD68BBF959
+          ACEA56ADED52AAEA50A7E74EA5E34FA6E454A9E757ADE959AFEB51A7E358AEEA
+          54AAE666BCF83D93CF4096D23288C4479BDC398ED43C90D83E93D93D92D63F92
+          D64094D64094D53F93D4499ADD50A1E452A2E94C9BE44593E04491E04A94E64E
+          99E8458DDA579DEA65AAFA74B7FF5A9DF94A90ED4291E84EA9FA47ADF63CACEE
+          36ACE734ACE73AB2EE3EB4F53EAEF437A5ED41AAF348ADF252AAF05EA4E082AB
+          DCB6C0DEC9AEB8BA7F76B75E49BA4F33C55033D0583AE57051EC7958D1613DC9
+          5935FEFAFFFFFEFFFFFCFDFFFEFEFFFCFDFFFDFFFFFCFFFFFEFFFFFFFEFFFFFB
+          FFFFF9FDFEFAFAFFFFF3FCFFE5F4FF6079A3658DC86B9CE279AAEE7FB3F689BD
+          FF8CC2FF8AC1FE87C1FC8AC5FD8AC6FC8DC6FD8EC7FB8DC6FA8CC2F789BFF48A
+          BDF584B4EE7EAEE86E9CD6698FC9576AA72C3878304283344B8F345299294994
+          274B996A9BE760A4ED56A4EB54A1E672C0FF4699D6459CD5459CD5469DD6489D
+          D5479CD4499BD5489AD44B9FD94396D3479AD74396D44EA1DF6DC1FF5DB1F265
+          BCFC59B0F257B1F158B0F057AFEF55ACEA52A9E752A8E450A6E256A9E64EA1DE
+          62B5F25BAEEB3A8FCD4095D3398ECC3E92D33C8FD33B8DD43D8FD63F92D63F92
+          D63D90D43E91D54093D751A3EA50A2E94B9CE74595E24291E04392E34692E543
+          90E64897EE408FE64696E93F92E058ADF758AEF463B9FF5BB2F554ACF254AFF4
+          4FAEF446A8EE3EA5EA3BA8EC3EAEF040B0F633A0EE3FA9F647AAEE56B0EB67B6
+          E767A5CD7099BA96A5BFAB9BAC9F7177A05650CE7162D66C55C45339CD5C42C7
+          563CF6FDFFF8FEFFFCFDFFFFFEFFFFFDFFFCF9FFF6F7FFFAFDFFF3F4F8FAFBF9
+          FFFFFBFFFFFBFBFEFFF0F9FFDAEBFF627FAB6B94D275A6EA80B4F785B9FB8AC0
+          FF8CC4FF88C2FD89C5FB8AC6FC8AC6FA8DC8FA8DC8FA8EC7FA8DC6F98EC4F98D
+          C3FA8FC3FF87BAF874A8E4709AD56279B7263776304485375194314F96294994
+          284C986998E25FA1E858A3E7559FE172BFFE4699D6459CD5469DD6479ED7499E
+          D6489DD5499BD5489AD44FA3DD4397D14B9EDB3D93CF51A5E65EB5F54BA2E253
+          AAEC52ABEE53AEF156B2F359B3F45AB2F257AEEC56ABE954A9E75AADEB4DA0DE
+          61B4F24093D14496D7388CCD4498D9388CCD4497DB3B8ED2398CD03F92D63E91
+          D5398BD24092D94EA0E84E9FEA4A9AE74594E34193E14192E34393E64292E740
+          91E63B90E63F98E9328CD9409AE14299DC61B7F95CADF15BA7EF6AB5FF60ABF9
+          55A2F150A3F150ADF84EB5FA41AFEF33A4E345B1F842AAF150B5F351B3E93D99
+          CA3F93C3529BCD5B93C47392BF8F95BACDB3CBBE8C989D5757B05E53BA5E51BA
+          5B4BD3EFF6DFF7FDEDFFFFE5F1F5F4FEFFF2FBFFF3FCFFF4FBFFF8FDFFFFFEFF
+          FFFFFCFFFFFCFEFDFFF0F5FFD5E2FF6D87B574A0DB7EB2F48ABFFE8BC1FE8BC3
+          FE8BC4FB8BC4FB90CBFD8FCAFC8FCAFB8FCAFB8FCAFB90CAFB8FC9FA90C7FA90
+          C6FB8CC2FE8BC1FE84BAF685B1EC7C95D32839782E4283354D8F2C498E2C4C93
+          31529B729EE565A4E862AAEA61A8E774BDF9489BD8449CD8469DD6469DD6489D
+          D5489DD5489DD5489DD5479CD44397D14BA1DD439BD760B8F851ABEB4AA4E544
+          9FE245A2E746A2E947A4E94BA6EB52A9EC57ADEF60B4F664B8F95CAEEF68BAFB
+          52A2E34292D33988CB398ACD4091D54495D84293D64193D44092D33F90D33D90
+          D44193DA499CE752A4F14395E34192E34090E34092E44193E54293E84293E83E
+          95E53798DC3094D447A5E64A9FE55BA6F2488ADB5390E65791EA538EEB5F9EF8
+          66ADFF60B0FF52ADF848AAF044AEED47B2EC4CB0E65CBBED4BA7DA3D93C74B9E
+          D156A2D75197D25998D55C94D56E9ADA6482BD8692C2ABA3C2A68C9AAC7F7CA1
+          6B60C9E6EBD4EDF1CDE1E296A5A7AFBBC1BAC6D2D8E7F7D7E6F6F3FDFFF5FAFD
+          FAF9F5FFFFFBFDFFFFF3FCFFD5E9FF7394C17DA9E485BAF98EC4FF8CC2FE8BC4
+          FB8CC6FA8DC8FA93CEFF92CEFC92CFFB93CFFD93CFFD93CEFC92CCFD93CBFC90
+          C9FC8CC4FF8CC3FF8CC2FE90BEF88DA7E32639762D4280344D8D344F92304F94
+          2A4A91709BDE5E9DDA5DA3DE6AAFE86CB5EF4B9DD7459DD9469CD8459CD5479C
+          D4489DD5499ED6499ED6499ED6449BD3439BD7459EDB59B3F344A0E150ABEE48
+          A5EA42A0E944A1EC45A3EC46A2E949A1E84DA3E951A6EA56A9ED62B3F771C2FF
+          4D9BE04F9DE24B99E04A98DF3F8ED73F8FD63789CA4396D44396D43A8BCE3C8F
+          D34C9EE64FA1EE4799E73F8FE23E8FE44091E64093E84093E83D90E53E91E63C
+          96E33B9BDD40A1E04198DB53A1ED4F91E45995EE5187E5568CEB528CEB4D8EEA
+          4991E94C9AED52A7F559B2FC57B4F956B1EE62B6EA4597C74493C6549ED44F97
+          CD4B8FCA5598D5599BDC498ED45092D95F9DE3598ECD7399C998AFCF979EAF99
+          98A1C8D1D4E8F0F0F7FAF8D0D2D2D9DEE1C8D1DABECEDEABBECDABBEC6C1D0D2
+          D7E2D8E5EEE4E2F0EEE9FEFFC7E8FF6D97C17FB0E887BDFA8CC2FE8BC2FB8EC7
+          FB90C9FC8FCBF992CFFB95D0FD96D2FC97D2FF97D2FF98D1FE97CFFE95CDFC92
+          CBFE93CBFF8EC7FF8CC4FF91BFF996B1EA25377230447E39518D334E8E2D4B8C
+          28458883ACEB70ACE765A8DF75B7EC61A7DD4A9CD6449CD8469CD8459CD5479C
+          D4489DD5489ED4489ED44299D1439AD2459DD958B1EE52AFEE45A3E447A5E742
+          A1E744A2EE47A4F34AA6F34AA5F04AA0EC489DE7479BE3499BE361B1F859A7EE
+          539EE8529DE75FABF754A0EC4E99E74491DA4494D34799D34396D43E90D14496
+          DD50A1EC4B9DEB3D8DE04090E73F8FE64191E84194EA4093E93B90E63B91E53D
+          93E73B8BDE4D99EC5EA6FA5194EB5392EC4F8DE75594EE498EE5448DE34492E5
+          4394E54092E04493E2519CEA60A8F66DB0FB68A8E968A5E35B96D45692CE619D
+          D95E9CD85291CE4F90CD579DD84E94CF539AD36BB1E663A8D9599CC967A7D05E
+          9CC4B3B8B6D7DBD6F7F6F2F9F8F4FDFFFFF1F7FEDFEBF5D9ECF4B1C4C9C6D8D7
+          C9D8D0B7C6BEA5B8B5C0D7DFBCDDF178A2C583B5E986BEF989C2FA8AC3FA91CB
+          FF95D0FF92CFFB92D0F998D5FD99D7FD9BD9FF9BD9FF9BD8FF99D5FF99D2FF95
+          CFFF96D0FF90CCFF8ECAFF96C8FD9FBFF4283D7431457F384D8B324A8C334D8F
+          435C9AC5E5FFBEEBFFA2D6FBA5D7FB7AB1D8599CC9559CCE539CCE549DCF529E
+          CF509DCE4E9DCE4B9CCF4D9FD6479CD4469CD860B8F845A0E349A8EE42A1EA4A
+          ABF543A1ED44A2EE44A0ED449FEA469EEA4BA2EC55A8F35DAEF956A4F0428DDB
+          519AEA529BEB4992E45098EC569DF462ABFB5DAEF2499DDE4293D74B9BE255A3
+          EF52A0ED4796E54091E24294E64092E43E91E64194E93E94E83A92E63892E63E
+          93E95CA8FF559BF64D8EEA538FE8558CE1548CDD528DDD5294E24B97E34396E1
+          4094DC4394DF5096E95999EE5C95EB598FE45D92E26CA0EC74A9F26AA0E75A91
+          D6548ED05593D35395D05095CE61AADE5DAADB4B9DCD4BA0D247A0D33996CD41
+          A1D7EEFEF3DFECE4E5EDE6DDE3DEDDDFDFDEE2E3F1F6F9F6FFFFDBE7E7E3F0EE
+          EEFCF8E6F4F2C9D8DBEAFBFFE2F2FF8DA9C787BBEA7DBDF487C5FB87C5FB90CC
+          FF90CEFE9BDAFF91D2F898D8FB9ADBFA9ADCF999DAF99BDBFD9CDCFF9AD7FF93
+          D1FA97D3FF91CFFD8FD0FD92CAF993BDEA23417230447E3C4C8E3D4E97415196
+          36467BD8E8FFE9F9FFEDFFFFECFFFFE5FEFFD0F3FFB5E0FB96C5E17CB0CE6BA4
+          C4619FC35C9DC45599C6539CD0519ED756A6E555AAEE49A4EF45A4F344A7F943
+          A6F64BAAF446A2E945A1E84DA7EE4EA8EF4CA3ED51A6F05CAEFB4695E44C98EB
+          4F98EE4C92ED4F8FED5190F2528EF2498BEA4595E84EA0F15FABFD65AEFF5DA5
+          F94F98EA4795E24697E24296DE4297DF4095DF3C92DE3F97E43894E33492E54C
+          A6FA4595EC4F98EE488BE2548CDD6494D63E67A50830712656983778BC56A2E4
+          4796D9509BE55F9BF55E94F3578BE9578CE75B94EF528EE7528EE25D97E96BA6
+          F570ADF768A7EB5E9EDE60A4DF579ED7509CD14D9ED14B9FD3439ED1429ED341
+          9FD4D0E5DCF1FFFBEBF9F5F3FBFAFAFFFFE0E4E5D2D4D5E0E5E4E5EBEAB6BEBD
+          F2FDFBF1FDFFEEF8FFD0D9E3F6FBFFAABED78CBBE784C2F889C5FB8BC7FD92CE
+          FF8DC8F992CFFB9DDBFF9DDDFCA1E2FEA1E3FC9CDEF79DDEFAA4E4FFA4E2FF9F
+          DDFFA3E1FF95D3FB94D4FD90CDF583B1DA193A68354881414E92323F8D38468E
+          3B467AE5EDFFFBFEFFFDFFF9FBFFF9F7FFFEF0FEFFE8FCFFE4FBFFDAF8FFCBEE
+          FFB2DCF397C6E281B5D9649BC6609DCF64A7DE60ABE955A6E94BA3E943A2EB3D
+          9FE742A1E74CA9EE4FA9F049A3EA4DA4EE58ACF857A9F74F9EEF4591E44991E9
+          4C92ED4F91F05392F45694F85894F85493F5428AE2509CEF5DA5F95AA2F65BA1
+          F55EA7F95FAAF959A7F34A9AE14093D73F92D6499BE23E93DD4197E34FA8F842
+          94E5579DEA4C89D3639AE54976B908285D000C3B1A2E6738579424589A579BDE
+          579FE5569BEA518BEB4D82EA4D86E95491EF4B89E75192EE5897F15797EC5493
+          E45899E46AABF076BAFB64AAE658A1DB4C99D1489AD1489ED4449ED4409ED340
+          9ED3DCF5F1E0F6F4E0F2F3B3BFC3DFE5EADDE1E6D8DBE0ECEFF3FBFFFFF8FEFD
+          CED4D3FAFFFFF4F8FDD5D7E1DDDDEBC0CEE592BCE787C0F490C6FD92C8FF8DC3
+          F89ACFFFA1D8FF9FD6FDA0D9F9A0DAF7A5E0FAAAE6FEA6E1FBA1DBF8A4DDFCAB
+          E6FF9ED8FB91CFF39BDAFF9DD9FD86B3D81B3D6834478039468A35459245549C
+          4A578BE1E8FFFBFCFFFFFFFEFDFFFFFAFFFEFDFEFFFBFEFFF8FEFFF4FDFFEFFD
+          FFEAFDFFE4FAFFDCF7FFD2F0FFB9E0FFA0CDF282BAE366AAD559A6D457ABDB50
+          AAE043A1E24AA9EF4BA7F0469CE84DA0EE5CABFC5BA4FA4B92EA5298F35194F0
+          4E91EE4D90ED4A8FEC498FEA488FEA5093EA5F99EB68A1F061A3F1569CE9529C
+          EA59A3F55CA4F85AA0F46BAFFF67ADFA69B1F7509BDF509BE05BA7EF4A94E253
+          92DC6C98D55072A81A3970000C3E0E1D4418204822285D3646883B60AA68A0EF
+          5D9EEF5193EC4C86F04987F3458CEE4890EE4D90EC4A8CE54A8AE25193E65EA0
+          EF66AAF364ABEF5FA7E762ADEB63B1EC61B3ED57ACE4459FD63C97CE3F9CD446
+          A5DD92A1A4B9C5CBB4BBC4D4D9E2C7C7D3F0EFF9F6F5FED7D7DDF5F8FCF1F5F6
+          E5EAEBD8E0E0EDF3F8F5FBFFE2E6F1D9E7FD90B6E08ABAEE96C4FA9DCBFF9CCA
+          FFA2D1FFA1D1FFABDDFFA9DDFFAAE0FFACE3FEAEE6FFAEE6FFABE3FCA6DDF8A2
+          DAF7ACE3FFA3DFFDA1DEFF9FD7FA88B5D722426B34487F3D4B8D384894404F97
+          49558BDDE6FFF9FBFFFCFBFDF9FCFFFDFCFEFFFEFFFFFEFFFFFDFFFDFCFEFAFD
+          FFF6FFFFF4FDFFF1FDFFECFDFFE6FAFFE1FCFFDAFCFFC6EFFFAEDFF996CFE97C
+          BCDF67B1E15BA8E157A2E05BA5E762A7F060A3F2599AEF5291EB4C8DE94C8CEA
+          5093F0549AF55199F14995E84894E75299E973ADF96BA4EF5C9EEC569EEC519B
+          ED4C95EB4F93EC5797EF4E8EE267A7F55297DC62A6E781C1FF7BB8F670A5E85B
+          88C5284D79001F4300153C1A32561A26420C13342124574B54973C5AA9608EE6
+          5087E24986E84F87F6508FFD4692F2418FE94990E75093E8569AED5CA1F05FA6
+          F05CA6EE58A3E752A0E25AAAE954A7E44FA7E354AEE95BB7F25CB7F455B2EF4C
+          ACE8473D4A4D43507568788D809076687ACBC0D0EBE2EFF9F4FDCACAD0FAFFFF
+          EBF5F5BDCBCAEFFFFFD1E4E9C7DAE2C8E2F38EB3D989B2E36E96CA446CA1466D
+          A45279B04D75AA5B85B46A95C08DBADFA6D7F7A8DAF6AADDF7B7EBFFB9ECFFAE
+          E4FDA4D9F4A8E1FB9CD8F69AD1F08DB9D828497031467A404F8E3949952F4188
+          404E83E5EEFFF8FBFFFDFDFFF9FBFFFFFDFFFFFAFCFFFDFDFFFEFEFFFFFEFBFF
+          FEF6FEFDF3FEFCF1FEFCF6FFFFF2FBFEF4FDFFF4FEFFF3FEFFF1FDFFEFFDFFE2
+          F9FFD3F5FFB1DBF898C4E98CBAE97FB0E86B9FE25D95E25A96EA5C9BF55396F2
+          4D93EE4A92EA458EE24390DF4E9CE85FABF360A8EE589FE94F98EC529BF7559A
+          FB5296F55796F05D9EEF63A7F05095DA6DB1F274B3EF6DA3DA648FC036537F0D
+          2D51002A4600334C3264806A96AE1836470D213A273161374488344FA56088E8
+          5889EB578DF2578AF84E88F1448CE44693E2589FEF5EA3F361A6F55CA4F154A0
+          E852A0E552A6E855ACEC4CA4E449A3E34BA5E550ADEC57B5F65BB9FB56B4F64D
+          ADEF725F706856676855685946595A495E47394B7D70807D75808583896F7276
+          9AA2A2A0ACAEA5B6B9D2E6EBCDE2EAE3FDFF799CBE2D527E214575193B701C3D
+          751A3D7521447C244B7F123A6A113D661C496E3968886190AF87B7D3A4D4F0B3
+          E3FFACDEFAB6EBFFAAE2FFA3D7F589B2D226466A2F44773E4F8E3A4A96394B92
+          445287D4DEFFD7DAE9FBFEFFFAFDFFF4F6FEFFFCFFFFFFFFFFFFFFFBFFFEFAFF
+          FEF8FFFEFAFFFCFBFFFCFFFFFCFFFDFCFFFEFDFFFFFEFFFDFEFFFEFFFFFEFFFC
+          FDFFF3FEFFEBFCFFE8FCFFE3FAFFD3EFFFB2D3FF8DB5EA73A0DD5B8FD25890D7
+          5996E0599AE4579BE6569DE759A3EB5DAAEF509EE353A0E9539CF05097F25196
+          F3559AF7579DF1569CE9539ADE6DB3EF76B3EB6EA6D73E6895062A5006234200
+          203C1D59765DA3C07BBDDA85BDD61B43550D29411927573F50933C59AE648EEE
+          5A8DED578EF15489F14E8AEA4B96E256A3E866ADF75FA3F0529BE5519DE556A7
+          EB56ABEF52A9EB48A4E548A6E751B2F257B7F94FAFF143A2E83F9EE445A3EC4D
+          ABF46A5D6B61566665596B675B6D6B5F716D61736156667167736860674F494E
+          4C494B4C4D51595D62575F6667707A6A7A8B6684A122466A4C6F9A7293C48BAB
+          E06E8FC77698D38EB3EB8EB5E97DA7D66A95C04D7CA22A5A7E1747693060825A
+          88AA97C4E5A4D1F2ABDEFEABDCFC779EBE1D3A5F384B7E4153903647903D4F96
+          445489C6D0F2AEB1BFEEF1F5F0F3FBCBD5DCE0F0F6E0F5F7E6F9FCEDFFFFF3FF
+          FFF8FFFFFBFDFDFFFAFBFFFDFFFFFDFEFFFDFEFFFDFEFFFBFBFFFEFDFFFFFEFC
+          FEFFFBFEFFFBFCFFF9FCFFF4F9FFF4FBFFF1FDFFECFDFFE6FCFFD2F0FFBCDFFF
+          99C3ED7BACDE679FDA629EE061A1E85EA2ED529FE856A1EB5DA1EA5A9BE55599
+          E4519CE84B9FEB4BA0E870BEFF66A6E044739F0B31540019370026421F53715F
+          9FC161AEDC60AFE05EA6D67BB6DE173F5C0018371422563E51942F54A65A8CE4
+          4E8AE34B8BE3518EEB5A9CED5DAAE863B3EA59A0E45BA0E959A4E956A4E951A5
+          E74EA5E749A7E848A9E947ABEC45AAEE43A8ED42A4EA45A6F04BAAF44CA8F549
+          A5F2625B6865616D6762715F596A615B6C615A696A616E6157636B6068685E64
+          73696F655E63635E6757535E545462444E6029455D8DB2CEA6C9EB385A855D7E
+          AF7193C97294CF85AAE492B8F299C3F89CC7FA99C7F69BCAF68EBEE86291BD35
+          628D10375E385F8582AFD4B0DCFF789DBF233D653F52853547843A4D9634478B
+          46578AE2EFFFB9BFCAE5E9EADBE0E3C2CCD3B5C7CEB2C8CEB3C9CFBED1D6CDDE
+          E1E2EEF0F6FBFEFFFEFFFFFCFEFFFAFDFFFEFFFFFEFFFFFEFFFFFFFFFAFFFFF9
+          FDFEFFFDFFFFFBFFFFFDFEFFFFFEFFFFFCFCFFFBF9FFFBF4FFFEEFFFFFE8FEFF
+          E0FBFFD5F5FFCAEEFFB8DEFF9BC3F87AABE367A3DE5E9ED865A0D86DA6DE6AA4
+          DF609FDB60A8E46EB7F13E81B809447500153D0025472B5A7A5E93B471B1D45A
+          A5D351A1E05EAFF35CA3E35F97CE0B2E56051A40222E64384A8B365CAA6EA5F6
+          6AADFC62A7F663A2F367A6F061A9DF5AA6D75DA4E35DA4E85AA5E955A4E74DA3
+          E54AA6E74BACEC4DB1F242A7EB44ABF045ABF344A7F144A4F048A6F248A4F346
+          A2F16768725A5B655F616C5C5D6B5A5B695E5E6C5D59656B636E685D656C5E64
+          6C5E646D5F656A5F69685E6B645C6D565D6E7B95A6C9EEFF456A842A4F71486B
+          97577AAC678CC67095D1759FDA86B2ED94C1FA94C2F892C1F797C7FB96C5FB92
+          BFF27394C54F709D183F6B476F995F80A72A436F40528734458433468F3F5597
+          425686CBD9F5C6CED5F3F8F6E7EDECFAFFFFF8F9FFE7E9F3D4DBE4D7E3E9BDCD
+          D3B1C4C7CDE0E3C4D8D9D7E6E8EEFBFDE7F3F5F4FFFFF1FCFFF4FFFFF1FDFFF8
+          FFFFFFFFFFFFFAF9FFFCFBFFFFFEF7FCFAF0F9F6F4FFFFEEFCFAF1FFFFEBFAFD
+          F1FFFFF1FEFFE8F2FCF4FCFFF0F7FFEDFBFFD3F1FFADD4F498C4E989B3DE7CA3
+          D07A9DC988A9D02B4E7000234400274A084F753E90BA60B2E25FABDF60A2D761
+          A4E35FABFD519BF35694E86591D80F2559101A49292C633E4A8A3359A1669DE6
+          5FA4EA589DE3659FEB74AAF173ACE374B3E564A7E45BA2E554A0E254A4E553A9
+          EB52AEEF4CACEE46AAEB45AAEE43AAEF42A8F042A5EF43A3EF48A6F24DA9F853
+          ACFC8D939E7A808B78808D727B896D7483676C7B5A5B69625E696A616B6C5F67
+          6B5C64695A62685A66655B68615B6C585D6C9CB6C2CDF0FD54778B2A4F6B3559
+          7F5B7FAD5B81B7668CC66A94CF6E9AD577A5DF7FADE780AFEC83B2EF8CBBF89C
+          C6FF5270A73B588B4063953A5E8C35527E273E6C3041794354933D5099314789
+          3E5281E0EFFFF1FAFEF7FBF6E9EEECCDD1D2EEEBF4D1D0D9E2E5EDF5FDFFDAE9
+          ECE1F4F7EDFFFFBED3D4C2D6D7DDEFF09EB0B1C0D1D4C0D1D4C8DBE0D9EDF2E2
+          F1F4F9FEFFFFFFFFFDFFFFEEF3F2FAFFFFF7FFFFF6FFFFF6FFFFF4FEFEF8FFFF
+          FBFFFFFDFFFFFFFFFEFBF6F5FFFFFCF8F5F7F3FDFFEAFCFFE3FBFFDAF2FFD6EB
+          FF9DAEC91C273D152238344C625C859E74B4D665B4DD4EA1D450A1DA65ABE76B
+          ADF44994EA4C92EF5E97ED7199E4182C63161B4C282961414F8A3D65A666A0E2
+          579EDD4E94D7558CD75E8FD96395D1649DD468A8E867AEF168B4F663B3F455AB
+          ED49A5E644A4E642A6E743A6EA41A6EB43A7EF4BACF651B0FA4EAAF747A1EE40
+          98E58892A397A4B493A1B38291A48897AA8A96A87D8596898A9887838E877E88
+          81767E786D756E6671635F6B5959694E57647E969CD5F5FB9CBDCC2D4D643151
+          743C5E894164965C82B86189C35F8BC66795CF74A1DE78A7E574A2E26E9CDC73
+          99D95F79B51A316927477C2C4D7F34507F32487825366F42529430468E3D5597
+          3B4F7ECDDCF6C1C7CCE2E6E1D5D8D6EFF3F4F5FCFFCFD8DBF3FCFFF6FFFFCBD5
+          D5D9E3E3E6ECEBACB2B1F8FCFDF6FAFBF2FAFAE0ECEECCDEDFBFD6D8B2CECFA3
+          BFC0C6DBDDDFF0F3D5E4E7F2FEFFF6FFFFFAFFFFFCFEFFFEFEFEFFFFFFFFFFFF
+          F6F4F4FFFDFDFDFDFDFCFCFCFFFFFFFDFEFFF7F7FFFAFAFFF6F7FFFAFCFFFAFC
+          FF9195A0595E6D73798CE3EEFFD0E2F9ACCBE28AB2CF79AED373B3E360A6E244
+          8FD44993E15297E65E98E4729CDF172E60111C481F26583B4F862F5B965493CF
+          4F98D2559CDC5B93E05E8FDF6093D95E96D75D9EE2539ADE5099DD52A1E459AD
+          EF5BB2F453AEF149A9EB47A6EB4CADF150AFF54CAAF344A0E94199E5459BE74A
+          A0ECA1C0D77D9CB3799BB381A3BB7796AF809CB491A4B98B97A99798A69D97A2
+          A0959F9F919C978D998E8794848190787E8965787DBDD6DAD6F0FC8DA8BC2440
+          5E3B587D4B6D98466A9A557CB05B85BA5E8AC05C89C25E8AC5638FCE648ECF64
+          88C85169A5273B742442792241742B4574354A7D3E4F88374789354B93354C90
+          3B4F7F7B89A5CED4DBFFFFFEDFDEE0FBFFFFF5FDFDCFD9D9E9F3F3E5EFEFCAD2
+          D1E5EBEAFAFFFEFBFBFBF0EEEEE4E4E4E2E1E3F0F5F6C8D4D6EFFFFFE7FCFEC5
+          DDDDECFFFFD1E3E4C2D1D3D1DEE0B1BABDC6CBCECBCED2E2E3E7F1F0F4F9F8FC
+          FDFEFFFDFEFFF5F8FCFAFFFFEBF2F5F8FEFFFAFCFFF1EFFBFFFBFFFFFCFFFFFB
+          FF98919872717B6E707BF8FBFFF0F7FFEFF8FFEBFAFFD3F0FFACD6F986BCEB70
+          AEE468A2DD689EDB6190CE6D92CA1228520F1E451B28563F568836669A5698CD
+          4A95C9529BD75492DE558DDE5A97E15999E04E93D94E95D94B93D94795D84596
+          DA489DE150A7EA55AEF161BCFF53AEF3449FE44199DF489DE54DA2EA4EA2EA4A
+          9EE6629FBF7DBDDC82C1E377B7D67BB4D482B4D283A8C28199AF8F96A99C97A6
+          A799A5AF9BA7B09CA8AD9CA7A89AA69E98A39FA5AA879699C5D6DFDEF0FF9DB3
+          CC2F46663B567B4E6E974B6E99597DAB6189B95E87B85981B65A83BA6085C165
+          87C24C609A30447B29457B2545762842702E447445568F3A4A8C364B963A5097
+          3E5184303B5B6769747D7A7C6B676D8B898FA1A1A7A1A4A8C8CFD2DEE7EAE9F5
+          F5DDE9E9C0CACAD9DFDEE8EDECC9CBCBFFFEFFE5E2E4E9E8EAFDFFFFE2E5E9E2
+          E7E6E3EBE1B7BFB4FAFFFBF0F9F6F0F7FADFE7EEC3CCD6CBD4E2B7C0CEB8C1CF
+          D6DFEDD4DDEAF4FDFFF4FEFFF4FFFFF3FFFFEFFDFFF3FEFFFAFAFFFFF9FFF9EC
+          FCA394A26D656C7E7A7FFBFDFEFAFFFFF9FCFFF5FBFFF1FBFFECFBFFE4FBFFD9
+          F4FFC1DDFBB8D4F7A2BEE79EB6E02134571321451828533D57863262925C9CCC
+          4D98C654A2D7559DE34B95E3479CE4449AE04A94DC5096DC4E96DE4A95DA4894
+          DC4A98DD50A1E554A7EB4FA2E654A9ED58ADF157AAEE4EA2E44B9FE151A5E758
+          ACEE0956844897C25AA9D45AA9D271B9E178B7DD70A1C16F90AA8B99AF9898A8
+          A195A1A5949FA8959EA8959EA595A09F979E9091959FA5AA8E97A1C0CADBE7F5
+          FFD0E3FE7991AF3F5A7C4E6C8F46688C4A6D95567CA65C80AE5578AA4F71A653
+          71A8566AA121366A224071234472314C78344A7A3647803E4E90314592384E96
+          3D4C84586186626274635E675A53604F4855564F5C54505B53545E595C647E84
+          8B8E979B9FA5AAEFF6F9CDD0D4DFE0E4BCBBBFDFDBE0ECEBEFE6E5E9E0E0E6F8
+          FAFBF9FAF6F3F5EFE8ECE7D5DCD9E2EAEAD2DBDFE0EBF3E7F3FDD5E1EDEAF6FF
+          E0ECF6D7E3EDD0DBE3B8C4CAC1CCD0C5D2D4D1E3E2E6F5F7F2F7FFFDFAFFFFF9
+          FFA399A66D666D7E7B7DFDFEFCFDFFFEFDFFFFFBFEFFF7F9FFF7FAFFFAFDFFF8
+          FEFFF8FEFFF3FCFFE9F8FFD9EBFF3546611322421825513D538331578772A4D2
+          5F9BC55D9DCD5C99DB4C91DA4198DB3A93D64793DB4C91DA4B93DB539BE35AA4
+          EC5EA8F057A3EB519EE353A1E651A0E353A2E55BABEC64B4F565B5F45EAEED53
+          A6E44E9CD714659E1769A04F9FD457A4D55EA2CF74ADD4658EAE859BB4929AAB
+          9A98A4A199A0A39CA1A69FA4A5A1A6A4A3A79F9BA0A19EA79E9CA8898C9B9BA2
+          B6C6D2EAE1F2FFC2D8F4829CBA6684A1506F904E6E915372994E6E994C6A9950
+          6B9D3E54842B41713452811B3C6925416A39507E394A823A4C8D394D9A2E438E
+          3D4B854C547C6562785B5161796E82665A7062556B665A70665D715852635754
+          6454516053515D7A798359556054515A5D5C6582848CCAD0D7CED8DFC9D7DDD6
+          E3EBD5DBE6F7F9FFCDD3DAEFF5FAEFF7F7E4EDEAF3FDF7E7F2EAD8E3DBE0EBE3
+          C0CAC4E1E9E8F6FEFEF8FEFFE6ECF3D5DCDFD4E0DAB0BFB7D9E7E3C0CCCCE7F0
+          F49399A05B5E66787A82FDFEFFF6F8F9F2F7F6FBFFFEFBFFFEFDFFFFFDFDFDFF
+          FFFEFFFCF3FCFDF9F1FDFFE5F8FF30455B1022411F2A564954865B6F9FB5CDFB
+          9DBAE186A5D2799BD7618ED15396D34996D54D95DD569DE760A4EF5FA3EE559C
+          E65098E0549CE459A1E758A0E65DA6EA60ACEE61AEED5CACE95CACE961B1EC64
+          B6F04996D44693D12474AF2D7DB44E99CD5195C2588FB6658EAE8098B08E98A9
+          9798A29E9AA09E9A9F9E9B9D98999D97989CA49DA499919B9D96A3A4A1B08E8E
+          A0949AAD9CA7BBBCCAE0E0F1FFD1E6FCB5CCE290A8C06E86A25B7391516A8C50
+          668A485B812F42682A41672C466B3D5377364A73384B7E3D4F8E3347943E519C
+          404E88545A835552686D63735D52666B5E74695B7364566E6B5F75655A6E5D55
+          666A62736962715D566367606D57505D5D596451525C3C414A4F586167747C76
+          828CC5CAD9AFB2C1CDD1DCE5EBF2E5EDEDEBF4F1E2EDE5DCE8DCDFE9DCE4EEE1
+          F1FAF0DAE5DDE5EDECDEE7EAD6E0E7EEF7FBD3D9D4F8FFF6E5F0E8D0DCD6B7C4
+          C23E4A4C31373E5E6169D4D7DCE1E5E6EFF5F4F9FFFDFAFFFCFBFFFEFFFFFFFF
+          FFFCFFFFF5FEFFF4F2FDFFE9FAFF2F425712223F232C574B538268739FE8F5FF
+          ECF7FFE2EFFFD5E4FFABC8FB83B8EB67AAE15FA6E65AA0E6559BE1549AE0559B
+          E158A0E85CA4EC5EA6EC66AEF463ACF05EA9ED5EAAEC60ACEE5FAEED5FAEED5F
+          AFEC1E68A03D87BD3C84BA1C63952D6F9F6EA9D16C9CBE688BA5869AAC929AA7
+          9B9AA3A19BA0A29BA0A19BA09F9BA19F9BA1A199A3A199A3A199A49F99A49D99
+          A59999A5989AA59699A79AA0ADB0B8C5CDD6E3DFEBF7E4F1FFDDEAF8C5D4E4B0
+          BED09DABC137455C39425D464D683F45624852745767953D518B354B933A4C93
+          404E837E84A9848496807B84776F7A736976706575695F6F635969635A67665D
+          6A685F6C665D6A635B66675F6A675F6A67616C605A65635F6A605F695C5B655F
+          5E6757585C494A4E4E51555A5F626D7378868F929CA9ABBCCAC9D2E0DCE6F4F0
+          C9D7D3EFFDF9E4F4F3D7E9EAE9FDFFCAD9DCF4F6F7EDE8E9A09B9C6363633234
+          344E5253969A9BF1F5F6DEE3E4D0D8D8DEE9E7CDD8D6DEE8E8C5CFCFDFE8EBE8
+          F0EFF7FEF7F8FFFBF3FFFFE9F9FF37445A141D3E1F274F49557D6B7C9DE7F7FF
+          F0F9FFF4FAFFF0F7FFE4F9FFCCFAFF74B2DB63A9DE63ADE762ABE75DA6E45DA7
+          E762AEF062AFF45DAAEF58A6ED5FADF461AEF75BA8F159A6EF5BA6F056A1EB4C
+          98E027699C1A5D8E14578817578717537D23587D355E7E7897AE8A9AAB949AA5
+          9D9BA1A29BA0A49AA0A29AA1A199A39F9AA3A199A3A199A3A199A3A199A39F9A
+          A39F9AA39D9AA39B9AA39897A0999BA3989BA3989EA5A5ABB2B8C0C7C8D0D7CB
+          D4DD97A3AF5D66745554685F5C726E6F84797F9C6676A03B5087354A8E3A4D91
+          4653878B91B49A9BA9A09CA1A098A2A299A39C949F948C978A828D827A857C74
+          7F756D786E667169616C69616C625A65645C67665E6969616C69616C675F6A68
+          606A71686B6963646762646361675C5E665456604D525B50565D686F726D7273
+          6E7473919998B0B9BCC2CFD1DBEBF1CDD8DC918D936D6369382F32766F72CDCB
+          CBE5E5E5FAFCFCE9EEEDE4EAE9E1E9E8E0EAEAE6F2F2DFEBEDD4E1E3C7D3D7C6
+          D2D4C9D4D2D1DEDCDBEAEDE2F0FC3E455E1E24472329524853796C7C99EBFBFF
+          F8FEFFFDFFFFFBFEFFEBFBFFC6EFFF68A2C661A8DA5BA8E15BA9E45DAAE85CAB
+          EA5DADEE60AEF360B0F75DABF25AA7F05AA7F05BA6F0549FE94C95DF4A91DB4E
+          96DE65A3D14987B53876A43B79A23871982F62832D55716E8BA08B9AAA969AA5
+          9D9BA1A29BA0A499A1A29AA1A199A39F99A4A199A3A199A3A199A3A199A39F9A
+          A39F9AA39D9AA39B9AA39D9CA59C9EA6999BA393969E92959D9399A09399A08D
+          949D5C6670848C999896A99F9AAF9D9BB19296B36676A03E538A394E923F4F94
+          465387888EB19798A69E9A9FA098A2A299A3A79FAAA49CA7A29AA5A098A39F97
+          A29E96A19C949F9A929D8A828D78707B746C777D7580756D786E66716A626D68
+          5D6775626B79646C6F60686B5F6B695F6C675E6B6B616E695D6972656D62575A
+          675C5E544C4D5750555751565C545E564F56473F46766F74C2BBBEEAE5E7F8F5
+          F7F3F2F4E1E3E3E0E5E4E7EDECE9F1F0DFE9E9EAF4F4DEE7EAE3EFF1D6E1E5D6
+          E1E5F5FEFFEAF3F7D8E5EDCDD9EB252B480F11391F224F4B517C6E7997ECF8FF
+          FBFEFFFFFDFDFBFAFEF3FDFFD8F9FF84B9DE5CA6DE4CA0E24EA2E453A7E951A4
+          E84B9DE44C9EE555A5EC65B3FA5CA9EE55A0E4549EE05298DB4F93D45698D960
+          A3E23B739C538EB665A0C767A1C56195B95C8AA94D728C7A93A78D9AA8989AA4
+          9F9BA1A49AA0A499A1A299A3A199A49F99A4A199A3A199A3A199A3A199A39F9A
+          A39F9AA39D9AA39D9AA393909996959E9A99A29A9CA49C9EA69D9FA7989BA390
+          969D585F68959BA69D9AA99D97AA9A98AC9598B468779E394E82384B8F3B4B90
+          455084868CAF9697A59F9BA1A199A3A49BA59E96A19F97A2A199A4A29AA5A39B
+          A6A49CA7A59DA8A69EA9A69EA98E869189818CA199A49A929D968E99968E9993
+          87938874818B7784786B796E677668627369617277677873606F725E6A705E65
+          7F71757166696F656B71656B6F5F6A71626A564E55585257746F717A7779908F
+          91E8E7E9DBDDDDE5E7E7E7ECEBE6ECEBE8F0F0D4DEDEDCE3E6DAE3E6EBF4F8EE
+          F7FBDDE4E7DFE5EADFE9F3E3EDFF40456424264E282A5A4B517E626E90CBD8EE
+          CCD1DAD0D3D7E6E8F0ECF9FFCDEFFF78AFD656A3E1469EE5459DE449A1E84CA1
+          E9499FE54C9EE554A3E6529EE057A1E15AA2DE5EA3DC65A6DD6AAAE068A7DA62
+          9FD11242640D4061073A5B0E3F5F225170375F7B4060778097A7919AA7999AA4
+          A19AA1A49AA0A499A1A299A39F99A49F99A4A199A3A199A3A199A3A199A39F9A
+          A39F9AA39F9AA39F9AA3A5A0A9A19EA79D9AA397969F97969F9A99A29B9AA398
+          9AA26F757A9598A0958E9B968F9E918E9E9697B1717EA43A4C8136498D3B4C8F
+          4651858B8FB2999AA8A19DA3A29AA4A59BA79F97A1A098A2A199A3A098A29E96
+          A09D959F9D959F9D959F9D959F867E887D757FA29AA49E96A09E96A0A39BA59E
+          96A1A499A9A29CAF9498AA8B95A7828EA07C82957D778A7A6D7D7B6A77796C74
+          6863656463656362666D696E6F616C6F626A766F766E6A6F5F5B6079787CA4A3
+          A5F5F7F8FDFFFFF0F2F2EDF2F1EAF0EFF5FAFBD6DEDEE5EAEDD4DBDEE6EDF0DE
+          E5E8F3F7F8EDF2F3E0EAF1D7E2F02D344F13183F20265549538362759BD3E8FF
+          DDEDFED9E7F3D9E9F6CFE8FCB1DDFC72B3E054A8EA45A1EE429CE9429AE6449B
+          E5469CE24899DC4996D5549ED8569CD25598C95A99C5609DC55E98BC4B83A639
+          6F90072F4B0F3A5514415C1A4560163F5810354B2641558699A8929BA59B9AA3
+          A29AA1A69AA0A499A1A299A39F98A59D99A59F99A4A199A3A199A3A199A39F9A
+          A39F9AA39F9AA39F9AA399949D9A959E9C97A09F9AA3A19CA5A29DA6A19CA59D
+          9BA1696C7086898DA69EA9B0A6B39E97A69394A9717CA23E4F823B4C8F3E4E91
+          4752868A8EB19697A59B979D9A929D9B919DA098A2A199A3A39BA5A39BA5A39B
+          A5A39BA5A49CA6A49CA6A8A0AA968E98827A84A79FA9A39BA5A29AA4A49CA69D
+          99A59B9BAD828DA17992A67999AC82A1B68DA5B9949BAEA29FAFA097A4A9A5AB
+          8A9194879393768385747B7E756D7772697369676D66676B6A6B6F67686CA2A4
+          A5F4F6F7FDFFFFFDFFFFFBFFFFF8FDFCF9FDFEEDF2F3F4F7FBECF1F4EBF0F3E1
+          E5E6EAEBE7E7EBE6DFEBEBDBE8F0313C52141D421E285846558657719FCAEAFF
+          D5F4FFC4E3F8ACCEE68FBBD87AB7DF5EA8DE4CA3E645A0EB449DE7459DE44A9F
+          E34FA2E0509ED94F99CF579CCD60A2CB62A0C44F89A630667F2A5F74598B9F92
+          C2D423435A24465D1C41571A3F551F41581F3F522E45558393A0969AA59D9AA3
+          A29AA1A69AA0A499A1A299A39F98A59D99A59F99A49F9AA3A199A3A199A3A199
+          A3A199A3A199A3A199A3A59DA7A39BA5A199A3A098A2A098A29F97A19E96A09C
+          989E77797A7B7A7C9C919BA296A2A198A59594A86E779C3D4C7D384A8B3C4C8E
+          4651858C90B39A9AAAA29EA4A39BA6A59DA8A29AA4A199A3A098A2A098A29F97
+          A19E96A09E96A09D959F9D959F948C9678707A9F97A19F97A1A098A2A199A39B
+          9BA78392A548677E34657B30677C3B728749748941596D5963746B717C858F96
+          889FA18DACAB8CABAA889D9E898F968C8B94DBDEE3CDD1D6C8CBCF9C9FA3C1C5
+          C6FBFFFFF9FBFBF3F5F5FDFFFFFDFFFFFCFEFEFAFFFEFDFFFFFBFFFFFBFEFFF9
+          FBFBFCFAF0F9F9EDE9F6EEDEF0F1314050101F3F1828573B53875077AB9ECFFB
+          90C4E883B9DA81BBDF6DB1DC51A3DA3C95D24197D94197D9489CDD53A4E157A7
+          DE56A1D557A0CC5CA1C84281A327627C2961746398A5AADBE5C4F3F7B1DCDF96
+          C2C3223E4F2543541E3E512040532646592943543449588C98A4989AA49F9BA1
+          A499A1A69AA0A499A3A298A49F98A59D99A59F99A49F9AA3A199A3A199A3A199
+          A3A199A3A199A3A199A39E96A09D959F9D959FA098A2A299A3A299A3A198A2A0
+          99A0838284827F81A699A1A395A0AAA0AC9998AC6F789A4756873C4C8E404E90
+          485085898DB09696A69B98A19E96A1A098A3A39BA6A199A3A098A2A199A3A29A
+          A4A39BA5A39BA5A39BA5A199A39E96A07C747EA098A2A199A3A29AA4A199A39B
+          9CAA859AB03B637C2D667F25687F2A6B8022576C00172C06142607101D08161C
+          0523240025232348463B575859636A6D7078CFD5DCF4FAFFEDF3F8FAFFFFF2F7
+          F8FBFFFFF8FAFAFDFFFFFAFCFCFAFCFCFDFFFFFDFFFFFDFFFFF7F9FAFCFDFFFE
+          FFFDFFFFF7FFFFF1EAF8ECDAEFED2D404F0C203F1428583452892D5C927CB7E9
+          71B2DE65ABD362AAD44E9DCE3D99D43E9BD84EA1D8509CD0529ECE57A0CC4B91
+          B933779A2B6B8932718674AFBF9ED4DFBEF1F4AEDFDD80ACA65B867D5B83776A
+          9286324A562C46542B455523404F203D4C223B4B2F424F8C98A4989AA49F9BA1
+          A499A1A5999FA398A2A197A39D96A39B97A39F99A4A199A3A199A3A199A3A199
+          A3A199A3A299A3A299A3A299A3A299A3A299A3A299A3A499A3A499A3A499A3A2
+          9AA18D8B8B716F6F9F9399AC9EA9A399A59694A8757EA04150813B4B8D3E4C8E
+          474F848B8FB29898A89C99A29F97A2A29AA5A199A4A199A3A199A3A199A3A199
+          A3A199A3A199A3A199A39F97A1A098A2766E78A098A2A199A3A199A3A199A398
+          99A78195AE39607C31688326667F29657D1A4B6100162C0511230C121F050E17
+          001519000F1000131400080D060B140B0A141B21281E272B677074F5FCFFFAFF
+          FFFBFFFFFDFFFFFCFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFDFFFFFDFFFFFF
+          FFFEFFFFF9FFFFF7EBF8F0D7ECED2B3F500D224214295C32508B2D5D9768A6DC
+          569CCB539FC956A4CF51A5D555B2EA59B3E964AFD65596B53576921B5B734784
+          988BC6D6B3EBF6A1D8DD6D9F9F3D6D6749776B4E796A547E6C1A412B547C6361
+          886E2C424D2B444E2F49572F4A582E48582C465434455289959F989AA49F9AA3
+          A499A1A699A1A398A2A197A39E97A49C98A4A199A4A199A3A199A3A199A3A199
+          A3A199A3A299A3A299A3A299A3A299A3A299A3A299A3A499A3A499A3A499A3A2
+          9AA1929090706B6CA2969CAC9CA7A298A49694A8747D9F3F4E7F3F4D8F3F4D8F
+          4850858C90B39999A99F9AA3A098A3A39BA6A199A3A199A3A199A3A199A3A199
+          A3A199A3A199A3A199A39F97A1A098A279717B9D959FA199A3A199A3A199A398
+          99A78394AE44668431637F2D66802D657E154158031A30040E200C0F1D050C15
+          001217000F1000131700080F0709140907130C131C101A21616A6EF1FAFEF9FE
+          FFFAFEFFFDFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFEFFFDFFFFFF
+          FFFFFDF5F5FFFFFFB0BEBD3C51591B3046091C4112225737508E3A66A16CA5DC
+          60A4CF62ABD16BB5D963B0D73D8FBE1968912E6F844C848F95CCD5BEF4FBA1D6
+          D975A7A56B9E9766968A4E7B6B4B786556826B5580655680613E67474A724F1A
+          431E2F434E2C424D2D44532C46542C46562C46543647548B97A3989AA59F9AA3
+          A499A1A699A1A499A3A298A4A099A69E9AA6A199A4A199A3A199A3A199A3A199
+          A3A199A3A299A3A299A3A299A3A299A3A299A3A299A3A299A3A299A3A299A3A1
+          9AA19996986B6668A598A0A89AA5A197A39694A8747D9F3E4D7E3F4D8F3F4D8F
+          4850858C90B39999A99F9AA3A098A3A49AA6A199A3A19AA1A19AA1A19AA1A19A
+          A1A19AA1A19AA1A19AA1A099A0A19AA17D767D989198A29BA2A099A0A29BA298
+          99A78291AB4D6B8837647F3B6C863C6B861A3E560D1F36040B1E0E111F040912
+          000E1400101203191E001017090C1A080917070E170610175D666AF1FAFEF8FD
+          FFFAFEFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFF
+          FEFFFEF6FFFBFBFFB6C6D3597183192D4C0E1F4A1D2861394B883D5D986E9CCC
+          70A8CB5693AD2F6A7E326D8164A1BBA7E2F6ABE0E3ADE0D982B3AB64938A1B49
+          3C5D8A7964927C4B785E335F42416B4C436F4B46724D325E372D593034603717
+          44193145502B414D27414F253F4F2741512942523245548A95A3969AA59D99A4
+          A299A3A59AA2A59AA4A39AA4A19BA6A19BA6A199A3A199A3A199A3A199A3A199
+          A3A199A3A299A3A299A3A299A3A299A3A299A3A299A3A299A3A299A3A299A3A1
+          9AA19D9C9E676466A297A1A597A3A197A49795A9757EA03E4D7E3B4B8D3E4C8E
+          474F848D8FB29998A89E9AA0A096A2A399A5A199A3A19AA1A19AA1A19AA1A19A
+          A1A19AA1A19AA1A19AA1A099A0A29BA2837C83918A91A39CA3A099A0A29BA299
+          9BA68999B0496681355D76335F774A728B47677E586B806771821F25320C131C
+          00101601151A11242B08192207101E000714111C240612185E676BF4FAFFF9FE
+          FFFBFEFFFBFDFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFDFFFFFD
+          FDFFFFF9FFF6F7FFC2D6E86D889D1E3555000A351D245D4A55913953893C648E
+          497A947AAFBCA4D6DCAEDFE186B6BC69999A6A9A8E5384704F7D6A56846D406D
+          533A684B2E5A3B14421E2C58332C59322C5A3035633819471C1442172E5D2F3B
+          6C3E293F4B253D492640502642532844552943542E42538491A19699A79D99A4
+          A39AA4A59AA2A59AA4A39BA5A19BA6A19BA6A29AA4A39AA4A39AA4A39AA4A29A
+          A4A29AA4A29AA4A29AA4A29AA4A29AA4A29AA4A29AA4A29AA4A29AA4A29AA4A0
+          9CA29C9DA168676B9B8F9BA194A2A096A69896AC747DA23F4D813B4B8E3E4B8F
+          474F848D8FB29999A79E9AA0A096A2A399A5A199A3A19AA1A19AA1A19AA1A19A
+          A1A19AA1A19AA1A19AA1A099A0A49DA48A838A898289A49DA4A099A0A29BA299
+          9BA68497AC3E5C753F637B30566E42677D38576C344A5C4354611B273105121A
+          03161B192D323D545C43596446596841525F212E3608141A5D666AF4FAFFF9FE
+          FFFBFEFFFAFCFDFEFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFDFFFFFB
+          FEFFF9F7FFEDF1FFA8C0D285A4B90A24421E3157262C613F497F4058867399BB
+          85B6C472A6A655847B588374577F735780713C6A534374582A5A3E3060431645
+          2534644031603A3F6E4738683E37683C3E6F41407445386C3D3167383F75463E
+          7546263B4A1F3947203A4B1C3A4D1F3D50233E522D43558695A5959BA89C9BA5
+          A29AA4A59AA2A39AA4A29AA4A09AA5A09AA5A29AA4A39AA4A39AA4A39AA4A29A
+          A4A29AA4A29AA4A29AA4A29AA4A29AA4A29AA4A29AA4A29AA4A29AA4A29AA4A0
+          9BA49C9CA27070768E8490A194A4A298A99895AE737CA23F50833D4D903F4C90
+          4850858E90B39A9AA8A19AA1A198A2A49BA5A299A3A19AA1A19AA1A19AA1A19A
+          A1A19AA1A19AA1A19AA1A19AA1A59EA5908990837C83A59EA59F989FA29BA299
+          9BA68B9CAF3F597142617829485F3C596E354E623047574758651E2D36021219
+          000F151629303E535B4159653F58683C51602A39420612185B636AF3F9FEF8FD
+          FFFDFEFFFBFAFCFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFBFFFFFB
+          FEFFFAFAFFF1FBFFADCAD85C818F102F460017371B26524B578759739B739CB5
+          5C93984C857C4C7F6B5C896F567E65476F563B6C503A6E503E70522F62404376
+          5133664033653D30623836693D2D6334376D3E366E3D3A7444326C3C35714130
+          6C3C253C4C1E38481B37481434471534491B384D2A42548999AA939AA99A9AA6
+          A29AA4A39BA2A39BA2A199A39F99A49F99A4A29AA4A39AA4A39AA4A39AA4A39A
+          A4A39AA4A29AA4A29AA4A29AA4A29AA4A09BA4A09BA4A09BA4A09BA4A09BA49E
+          9BA4999CA17D7C85827885A095A5A199AA9696AE70799F3F4F843D4D903F4C90
+          4850858E90B39A9AA8A19AA1A198A2A49BA5A299A3A19AA1A19AA1A19AA1A19A
+          A1A19AA1A19AA1A19AA1A19AA1A69FA6958E957E777EA69FA69F989FA29BA29B
+          9CA6818FA144596F4C61773F526753667B3B4C5F3848583D4D591C2931010D13
+          000B1118252D3E4E5A42556440586A4057672B3A43020E145A6269F4FAFFF7FC
+          FFFDFEFFFBFAFCFFFEFFFFFEFFFFFEFFFFFFFEFFFFFEFFFFFFFDFFFFFBFFFFFB
+          FFFFFAFDFFF0FDFFC6E9EDA2CCD110354306223A1D305343567C5477986B9DB1
+          4585853F82734281673E77583F71533A6C4E2E6447367152336C4D37704F3169
+          46417A533F774E41794E467F523C7646417B4B3D79493D7B4D3876483C7C4E45
+          855722394921394B233E521F3E531E3D521E3B50273F538393A4939AA99A9AA6
+          A29AA4A39BA2A29AA1A19AA19F99A49E98A3A29AA4A39AA4A39AA4A39AA4A39A
+          A4A39AA4A29AA4A29AA4A29AA4A29AA4A29AA4A09BA4A29AA4A09BA4A29AA4A0
+          9BA49B9BA186868C7C727FA196A6A199AA9595AD6E779D3E4F823A4B8E3C4C8F
+          474F848D8FB29999A7A099A0A097A1A59AA4A299A3A19AA1A19AA1A19AA1A19A
+          A1A19AA1A19AA1A19AA1A19AA1A69FA69790977B747BA69FA69F989FA29BA29B
+          9CA68C99A952637849576D3B495F4C5D722E3F523C50614253601F2E37071319
+          0410161A272F3C4C583D505F3F55674357682B3A43000C125A646BF6FCFFF8FB
+          FFFDFFFFFBF8FAFFFFFFFFFFFFFFFFFFFFFFFEFFFFFEFFFFFFFDFFFFFDFFFFFB
+          FFFFF8FDFFEDFFFFAAD2CD7DACAA0A313A0A293E152B4E3D597C43708B71ABB7
+          4B8E893F857445886D48866850896A478061508C6E427E5F427E5F4986643C79
+          533F7D55468259427F53407E504482544485543E7F4E3D7D4F4586583D7E5036
+          77492D4153243A4C233C50203B50203B50263E542E4358808EA0959BA89C9BA5
+          A29AA4A39BA2A39BA2A09CA29E9AA59E9AA5A29AA4A39AA4A39AA4A39AA4A39A
+          A4A39AA4A39AA4A39AA4A299A3A299A3A299A3A199A3A299A3A199A3A299A3A1
+          9AA19B9A9E9A969B6E626EA497A5A197A79A98AE747DA23D4E813A4B8E3D4D8F
+          4A52878D91B49A9AA89F989FA297A1A69BA5A299A3A19AA1A19AA1A19AA1A19A
+          A1A19AA1A19AA1A19AA1A19AA1A29BA2A39CA3726B72A29BA2A49DA4A19AA19B
+          9CA68A99A94054665A667E3C49633A50692D475F2C4A5D395363172733000C14
+          000E141B2E332D434E3C536247586D4B5B6C35444D000E115B666AF6FDFFFBFE
+          FFFDFCFEFFFDFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFD
+          FFFFF4FCFBECFFFEB7E2D78DBDB714374107253E0E2B5232577D3B748A6FAEB6
+          5F9E955E9C8C61A08C5E9C845C997F5A977B57957756957554947152926E5190
+          694C8B6347875D4384574182543C7D4F37784A37784A3C7D503E7F523C7D5038
+          794C2135471A30421B32481A32481732471F384C2B3E537D8B9D979AA89C9BA5
+          A39AA4A59AA2A39BA2A09CA29E9AA59E9AA5A29AA4A39AA4A39AA4A39AA4A39A
+          A4A39AA4A39AA4A39AA4A299A3A299A3A299A3A299A3A299A3A299A3A299A3A1
+          9AA19F9BA09C989D71636EA89AA6A298A89C9AB0737CA13F50833A4C8D3D4D8F
+          4853878D91B49A9AA8A099A0A297A1A69BA5A299A3A19AA1A19AA1A19AA1A19A
+          A1A19AA1A19AA1A19AA1A19AA1A29BA2A39CA3756E75A099A0A49DA4A29BA29B
+          9CA68899A64B617344546B364761445F7914364E1F44582647560D202D001017
+          000D1311252A2E484F455C6B6172856876883B4B520211145C6568F6FBFEFCFE
+          FFFFFCFEFFFEFFFFFFFFFFFFFEFFFFFEFDFFFFFDFFFFFFFFFFFFFFFFFFFEFFFD
+          FFFFF8FFFFE6FCF7B9E4D7A5D3CD1A374508203E14315D2E577E46819584C7CA
+          7FBCB279B5A36FB09B62A68F5CA087599C7F5497784B8C6C3F815E387B56387B
+          56377A5330764E2C72492B7349367E5440875F4089613B845E377F5B3B835F41
+          896514283A0F253712293F10283E0C273C142D4123364B788698979AA89C9BA5
+          A39AA4A59AA2A39BA2A29BA29E9AA59E9AA5A29AA4A39AA4A39AA4A39AA4A39A
+          A4A39AA4A39AA4A39AA4A39AA4A39AA4A39AA4A39AA4A39AA4A39AA4A39AA4A2
+          9BA2A09CA19D999E71636EA799A5A197A79C9AB06F789D4152853B4D8E3D4D8F
+          4752868D91B49A9AA8A099A0A297A1A69BA5A39AA4A29BA2A29BA2A29BA2A29B
+          A2A29BA2A29BA2A29BA2A19AA1A19AA1A39CA37A737A9B949BA49DA4A29BA29A
+          9CA68194A1546E7F3F546A2C445C446880184358224D60244B590C222E021219
+          01111724373C576E765A727E738596758595414E560612165D6467F5F8FCFDFC
+          FEFFFDFFFFFEFFFFFFFFFFFFFEFFFFFEFDFFFFFDFFFFFDFFFFFFFFFFFFFEFFFF
+          FEFFFDFDFFF3FFFFC7E9E3A9CDCD263C4E0C1D3E172E5C3458803D768B69ACAD
+          5494884B8C7641886E317C602B7A592F7B59266A4B3073543C7F5F488D6C559A
+          7962A98871BA9A7AC6A686D4B581D1B47ECFB480D3BA88DCC48FE2CC8FE4D08E
+          E3CF1A2E40162C3E1A3147153045102B40173044283B50808EA0979AA89C9BA5
+          A39AA4A59AA2A39BA2A29BA29E9AA59E9AA5A29AA4A39AA4A39AA4A39AA4A39A
+          A4A39AA4A39AA4A39AA4A39AA4A39AA4A39AA4A39AA4A39AA4A39AA4A39AA4A2
+          9BA2A09CA19D999E736570A395A19F95A59B99AF6B74994253863B4D8E3C4C8E
+          4752868D91B49B9BA9A19AA1A398A2A69BA5A39AA4A29BA2A29BA2A29BA2A29B
+          A2A29BA2A29BA2A29BA2A29BA2A19AA1A39CA3817A81948D94A39CA3A29BA299
+          9BA5869CA84B6778405B702F4F662E5A711B4E62386C7D76A2AF19343E03131A
+          0210163A4A507F979D69838A6F85916F818C414F550611155C6366F4F7FBFDFC
+          FEFFFEFFFFFEFFFFFEFFFFFFFEFFFFFEFDFFFFFDFFFFFDFFFFFDFFFFFFFEFFFF
+          FEFFF8F4F9F8FFFFADC9C36181802231440F1B3D10225133567E3B728757979B
+          3B7D71468B7658A38D5DAE936BBFA27DD1B496E7CEA1EFD8A7F7E0A8F9E0A2F5
+          DCA1F4DBA7FBE2ACFFEAA4FCE4A5FFE7A8FFECA7FFEFA5FFEEA0FEED9CFBEC9B
+          FAEB182C3E162C3E1A32481530450F2A3F162F43293C518290A2979AA89C9BA5
+          A39AA4A59AA2A39BA2A29BA29E9AA59E9AA5A29AA4A39AA4A39AA4A39AA4A39A
+          A4A39AA4A39AA4A39AA4A39AA4A39AA4A39AA4A39AA4A39AA4A39AA4A39AA4A2
+          9BA2A19DA29E9A9F796B769B8D99A096A69A98AE6B74994152853B4D8E3C4C8E
+          4651858C90B39B9BA9A29BA2A398A2A69BA5A39AA4A29BA2A29BA2A29BA2A29B
+          A2A29BA2A29BA2A29BA2A29BA2A19AA1A39CA38881888D868DA39CA3A39CA399
+          9BA58BA0AF577888325367224C5F356D806EACBC80BDCB6FA1AD1D3A43011118
+          010B123642467C90956982866D828A6C7F863D4B51050E125D6265F7F8FCFFFE
+          FFFFFDFFFFFEFFFFFDFEFFFFFEFFFFFEFDFFFFFDFFFFFDFFFFFDFFFFFFFEFFFF
+          FFFFFFFFFCFBFFF992AD9D3150471F2C3A1C24421D2C5A3D5B8445799085C4CC
+          8DCDC7A1E6D9ABF8EAA5F9E7A5FCE8A2FEEB96F9EF90F7F092F7EF95FBF09AFF
+          F49AFFF298FEED93F9E79AFFEC97FFE893FBE293F9E092F8DF8FF5DC88EED582
+          E8CF132739102638142C42102B4009263B112C40273A4F818FA1979AA89C9BA5
+          A39AA4A59AA2A39BA2A29BA29E9AA59E9AA5A29AA4A39AA4A39AA4A39AA4A39A
+          A4A39AA4A39AA4A39AA4A39AA4A39AA4A39AA4A39AA4A39AA4A39AA4A39AA4A2
+          9BA2A29EA3A19DA2847681928490A298A89A98AE6E779C4152853B4D8E3C4C8E
+          4550848C90B39C9CAAA29BA2A499A3A69BA5A39AA4A29BA2A29BA2A29BA2A29B
+          A2A29BA2A29BA2A29BA2A39CA3A099A0A39CA38F888F867F86A39CA3A39CA399
+          9BA57A8F9E5476864C70829FCDDFA7E5F582C7D67EC3CD6098A30F2E37000F16
+          0911182A33376073766980826E83856D80853C484C040D115E6366F8F9FDFFFE
+          FFFFFDFFFFFEFFFFFDFEFFFFFEFFFFFEFFFFFFFDFFFFFDFFFFFDFFFFFFFEFFFF
+          FFFFFFFEFDF1F8F1A5BFB1627E78202B390E13341B285635507C477B92A7E6EE
+          B7FAF3AEF5E59CEBDD96ECDA99F4DF8EF1DD77E1D476E3DA7DEBDF86F2E58BF6
+          E688F2E180E9D67AE2CB6AD0B75FC4AA54B89C53B49954B4964CA98C35927521
+          7E611A3042162E401B33491631460F2C411732462D40558795A7979AA89C9BA5
+          A39AA4A59AA2A39BA2A29BA2A09AA5A09AA5A29AA4A39AA4A39AA4A39AA4A39A
+          A4A39AA4A39AA4A39AA4A49BA5A49BA5A49BA5A49BA5A49BA5A49BA5A49BA5A3
+          9CA3A19DA2A19DA28C7E89887A86A59BAB9896AC717A9F3E4F823B4D8E3B4B8D
+          4550848C90B39C9CAAA39CA3A499A3A69BA5A49BA5A39CA3A39CA3A39CA3A39C
+          A3A39CA3A39CA3A39CA3A39CA3A099A0A39CA3948D94817A81A39CA3A39CA398
+          9AA4899EAD52738330566872A5B593D7E465AFBB73BBC5619CA517354004101A
+          13161E282C314F5C5E6D7F7E6D7F7E707F813E494D080E13616468FBFAFEFFFE
+          FFFFFBFEFFFEFFFFFEFFFFFFFEFFFFFEFFFFFFFDFFFFFDFFFFFDFFFFFFFEFFFF
+          FEFFFFFCFFF8FEFFDDF8F5C3E0E4374159191E452331623E5B88487C93A1E1E5
+          A9EBE097DFC97DD0B76CC6A961C09E4FB39055BD9C57BFA058C09F51B69643A6
+          863796742E89682B8562449A7854A58462AE8E5EA787488E6F2E72531A5E3F12
+          56371B3143162E40193147132E430C293E132E42283B50818FA1979AA89E9AA5
+          A39AA4A59AA2A59AA2A29BA2A09AA5A09AA5A29AA4A39AA4A39AA4A39AA4A39A
+          A4A39AA4A39AA4A39AA4A49BA5A49BA5A49BA5A49BA5A49BA5A49BA5A49BA5A3
+          9CA39F9BA0A19DA291838E80727EA59BAB9694AA727BA03B4C7F3B4D8E3B4B8D
+          444F838B8FB29C9CAAA39CA3A499A3A69BA5A49BA5A39CA3A39CA3A39CA3A39C
+          A3A39CA3A39CA3A39CA3A39CA3A099A0A39CA3968F967F787FA39CA3A49DA498
+          9AA48699A85371824B6F816E9FAFA2E6F375C0C979C1CB7EB9C334525D081420
+          0F101A22252A434C4F6C7A7969767474817F424B4E0A101563666AFCFBFFFFFC
+          FEFFFAFDFFFEFFFFFEFFFFFFFEFFFFFEFFFFFFFDFFFFFDFFFFFDFFFFFFFEFFFF
+          FEFFF2F1FAF4FFFFD6F5F2D1F2F52B395019224816255634538041758C64A4A9
+          4180763378643D8B7452A78B6BC3A579D2B188DFBE79CEAE62B5954C9C7D3D8B
+          6C34806131795B2F75573A7C5F408063468067447D64427960487C645488715F
+          937C152B3D1A3244112C411330450724391732462C3F548290A2979AA89E9AA5
+          A39AA4A59AA2A59AA2A39BA2A29AA5A09AA5A098A2A198A2A299A3A39AA4A39A
+          A4A39AA4A299A3A299A3A39AA4A39AA4A39AA4A39AA4A39AA4A39AA4A39AA4A2
+          9BA29E9A9FA4A0A5948691796B77A49AAA9C9AB0767FA43E4F823B4D8E3E4E90
+          4853878D91B49B9BA9A49DA4A59AA4A59AA4A39AA4A29BA2A29BA2A29BA2A29B
+          A2A29BA2A29BA2A29BA2A19AA1A099A0A8A1A8999299797279A19AA1A099A09C
+          9DA78999A94D67784A6B7B73A0AEA1E1EC65ADB75CA3AD75ADB84966740E1927
+          0909156F6E77E3EAED7D8886727976757E7B40494C0C1519616669FAFBFFFFFE
+          FFFFFDFFFFFEFFFFFBFCFFFFFEFFFFFEFFFFFFFDFFFFFDFFFFFDFFFFFFFEFFFD
+          FFFFF8FFFCEDFFFBAFD9C87AA59C1C344008173714285738598645779395D1DD
+          ADE6E5A6E1D9A8E9E0A9EEE389D1C48FD4C77DB5A86FA1956D9F9386B8AC7EAD
+          A47DACA37DACA486B5AD8FBBB483AFA88DB9B299C5BEACD8D1A5D1CAB4E0D9C2
+          EEE7142A3C172F41142F440F2C411330451833472E43588492A4989BA99F9BA6
+          A49BA5A89BA3A69BA3A49CA3A39BA6A19BA6A299A3A299A3A39AA4A49BA5A49B
+          A5A49BA5A39AA4A39AA4A49BA5A49BA5A49BA5A49BA5A49BA5A49BA5A49BA5A3
+          9CA3A29EA3A29EA39A8C97786A76A197A79694AA6F789D3C4D803E5091405092
+          4651858F93B69B9BA9A59EA5A398A2A69BA5A39AA4A29BA2A29BA2A29BA2A29B
+          A2A29BA2A19AA1A19AA1A49DA4A19AA1A7A0A79F989F7B747BA69FA6A49DA49D
+          9EA88B98A8546A7C455F70779EACADE4F11D5F6A5D9FAA77ACB94E6B7A212E3E
+          141726757680F8FEFF7F8786787C77757974414B4B040F1362676AF8F9FDFFFE
+          FFFFFCFEFFFEFFFFFBFCFFFFFEFFFFFEFDFFFFFDFFFFFDFFFFFFFFFFFFFEFFFD
+          FFFFF6FFFCEAFFF7CDFAE9B2E1D8233D490A1E3D1C33612C4D7A3F6F8B6BA2AF
+          85B6B895C8C196CCC59BD4CCB2EEE4B7ECE3C0E9E2C5E9E3DAFBF7CAEDE9C7EA
+          E6ADD2CEB5DAD6AFD4D0A2C7C3AED7D0ACD5CE8AB4AD84AFA681ACA384AFA67D
+          A89F1830421933441833480D2A3F19384D142F43293E537E8C9E979AA89E9AA5
+          A39AA4A79AA2A59AA2A39BA2A29AA5A09AA5A198A2A299A3A299A3A39AA4A39A
+          A4A39AA4A39AA4A299A3A49BA5A49BA5A49BA5A49BA5A49BA5A49BA5A49BA5A3
+          9CA3A39FA49D999EA2949F776975A096A69896AC70799E41528536488938488A
+          3D487C8E92B59898A6A7A0A7A499A3AA9FA9A59CA6A49DA4A49DA4A39CA3A39C
+          A3A39CA3A29BA2A29BA2A39CA39E979EA19AA1A29BA2777077A39CA3A29BA29A
+          99A38994A25E7081475E6E7B9BA8ADDDE918535D427E8A7CB0BD698798445465
+          272F406E7481F1FAFE787E7D7F7F797D7D77424C4C00080C636A6DF4F7FBFFFE
+          FFFEFBFDFFFEFFFFFCFDFFFFFEFFFFFEFDFFFFFDFFFFFFFFFFFFFFFFFFFEFFFD
+          FEFFF3FCFFEAFFFFAAD6CF8CBABB1C344A0B1D421025583C5A8941708CA8DCE8
+          C4F1EECBF7EAC1EDE0C0EDDDD5FFF0D3FFEDAFD8C9A4CCC089AEA46E968A5F87
+          7B5C8478547D6E4F7B6A6C99865A897350806856866C6495794B7F613B704F3E
+          7352172F411C36471833480F2C4116354A132E4223384D7B899B989BA99F9BA6
+          A49BA5A89BA3A69BA3A49CA3A39BA6A19BA6A39AA4A49BA5A49BA5A49BA5A49B
+          A5A49BA5A49BA5A49BA5A49BA5A49BA5A49BA5A49BA5A49BA5A49BA5A49BA5A3
+          9CA3A4A0A59D999EAA9CA77567739B91A19B99AF717A9F3F50833F5192425294
+          444F839599BC9A9AA8A7A0A7A0959FA69BA5A69DA7A59EA5A49DA4A49DA4A49D
+          A4A39CA3A39CA3A39CA3A8A1A8A39CA3A39CA3A9A2A9787178A29BA2A59EA59E
+          9DA78A95A35060714D606F829CAAB2DAE63B6E78457C896497A7698A9D4B6075
+          414F62788391DDEBF17D858483807B7B7873465050000B0E616D6FEFF6F9FDFF
+          FFFEFBFDFFFFFFFFFEFEFFFFFEFFFFFEFDFFFFFDFFFFFFFFFFFFFFFFFFFEFFFF
+          FEFFF5F8FFEDFFFFCDF5F0ABD4D62B43591021481C2F62365281315D7A93C3CF
+          93BAB88EB2A682A29783A4966C8C7B52725F4466554468573256453C604F3B5F
+          4E4569583B5F4E496F5D416853476E583C644B30593E3B674A426E514470514A
+          765711293B1B3546132E431330450D2C41183347253A4F7E8C9E989BA99F9BA6
+          A49BA5A89BA3A89BA3A69BA3A39BA6A19BA6A49BA5A49BA5A49BA5A49BA5A49B
+          A5A59CA6A59CA6A59CA6A39AA4A39AA4A39AA4A39AA4A39AA4A39AA4A39AA4A2
+          9BA2A4A0A5A09CA1AC9EA97466729187979795AB6D769B37487B3446873A4A8C
+          414C808D91B49797A5A49DA4A196A0A69BA5A49BA5A39CA3A39CA3A39CA3A39C
+          A3A29BA2A29BA2A29BA2A59EA5A39CA3A19AA1A59EA5797279999299A19AA19D
+          9CA6919CAA3141524150608C9FACC7EAF43E6B76588C994A7D8D5C8197355267
+          40586C687D8CACBFC6828E8E8F8C878D8A854A565608191C626F71ECF5F8FBFF
+          FFFBFDFEFEFEFEFFFFFFFFFFFEFDFFFEFDFFFFFDFFFFFFFFFFFFFFFFFFFEFFFF
+          FEFFFFFFFFF5FFFDA7CBBF5C817D0D21320312331B2C5D3C5685365E7B3F6877
+          405E633F5553384A493543422F3C3A26352D374D3A2A472E2741291A341D3049
+          35243B2C253C2E253B2F30453C283D351F312A293B343F504C56676372837F94
+          A5A1132B3D1C364716314618354A07263B1A3549263B507482949497A59B97A2
+          A097A1A4979FA4979FA2979F9F97A29F97A2A097A1A097A19F96A09F96A0A097
+          A1A097A1A198A2A198A2A39AA4A39AA4A39AA4A39AA4A39AA4A39AA4A39AA4A2
+          9BA29F9BA0A19DA2A99BA681737F9187979896AC767FA447588B3A4C8D415193
+          4C578B8A8EB19898A6A39CA3A99EA8A99EA8A69DA7A59EA5A59EA5A59EA5A69F
+          A6A69FA6A69FA6A69FA6A59EA5A69FA6A49DA4A59EA5878087999299A39CA39F
+          A0AA8895A32737472F3C4A8B9BA8D5F1FC5B838F356674699BAD567F961C4058
+          28495D4564737B959C798786908D88989590505E5D1F3436617072ECF8FAF8FF
+          FFFAFEFFFBFDFDFFFFFFFDFFFEFDFFFEFDFFFFFDFFFFFFFFFFFFFFFFFFFEFFFF
+          FEFFFFFAFAFCFFFB88A4972E4E491F2F3F1A24461B295A3E54843A5D7E3C6072
+          4B63693744464F585C2225291E1D1F292A261D261935412F495444454F42404C
+          4037423A303936283232161F221A25291C272B2531372C383E3E4A503E4A5038
+          444A1931431A34451A374C14334808273C183347273C515F6D7F6366746A6671
+          6F667073666E73666E71666E6F65716E66717067716F66706F66706E656F6F66
+          706F6670706771716872746B75746B75746B75746B75746B75746B75746B7573
+          6C736E6A6F726E737769746A5C686D63736C6A80565F843A4B7E3B4D8E3E4E90
+          455084686C8F71717F7069707B707A746973786F797770777770777871787871
+          787972797972797972797B747B8079807D767D7C757C736C737770777F787F78
+          79836C7C892639482A35438997A3C9E2EC8EB2BC3665738CBED04B778E0E3750
+          163F553D647385A4AD708283817E7A817E7A556564384F515F7172ECF9FBF8FF
+          FFFBFFFFFBFDFDFDFFFFFDFFFEFDFFFEFDFFFFFDFFFFFFFFFFFFFFFFFFFEFFFF
+          FDFFFFFCFFFFFEFFB3C5BE667B7C1B223614163E2A32673E4F824F6E8F89AABA
+          93A6AB8B9595CDCFCFABA6A79089869188859A8F91B9B0B3BDB6B9ABA5AA6662
+          6855545D545660666A753D45523B47535C6C788BA0A86C838B445E643754594A
+          676C152E420E293D1A374C112E430B2A411734492A42565462745E616F67616C
+          6C61696E62686C61696A62696A616B69616B6B626C6A616B6A616B69606A6A61
+          6B6A616B6B626C6C636D6B626C6B626C6B626C6B626C6B626C6B626C6B626C6A
+          636A6763686C686D6D5F6A7465736A60705F5D73515A80445588394A8D3B4B8E
+          424D81585C7F646472615A617267716A5F696A62696962696A636A6B646B6B64
+          6B6C656C6D666D6D666D665F666C656C6962696760676D666D6962696E676E66
+          656E5965711F2F3C2F38468A9AA7B0D0DB8EBBC683B2C081B3C553809B113E59
+          0B374E3C6070A3B8C0788080847F7C7F7E7A57686B4861655F7073EFFBFDFAFF
+          FFFDFFFFFBFDFDFDFFFEFBFFFEFDFFFEFDFFFFFFFFFFFFFFFFFFFFFFFFFEFFFF
+          FDFFFFF3FBFFFDFFBDCBC97B8F9428324A191D461D245B4250844962849CB4C6
+          9BA7ABA5A8A6ADA8A5A59694A9908CB09190AC8A909C7D86A2879097828A8271
+          7A5F525A594E584F4551675F6A6B6772898B93A8B0B78D999D8594978091947D
+          8F900F2E430E2D441B354D17314913314A0F2E453C55695C6C7D6262706B626C
+          6F63696D64676A64696864696962696A616B6A626C6A626C6A626C6A626C6A62
+          6C6A626C6A626C6A626C69616B69616B69616B69616B69616B69616B69616B69
+          626967636869656A6D5F6B7263716C62735A5770525A824353883E4E933D4C91
+          454F855B5F825E5E6C6760676A5F696A5F696961686861686962696A636A6B64
+          6B6B646B6C656C6C656C6861686A636A6861686B646B6B646B6E676E6D666D67
+          646D596069343D4A4650627991A3A7DAE479B7BF8CC0CD7FACC15D89A83F6889
+          3C657E6B85969F97A19A8889867B777B7E7C4F656B3C576166737BF0F4F9FFFE
+          FFFFFEFEFFFFFEFBFFFEFAFFFEFBFFFEFFFFFFFFFEFFFFFEFFFFFEFFFFFFFFFF
+          FEFFF9F9FFF8FEFF96ABAC9BB5BC22355007174214215947558A425172A0ADBD
+          B3B8B984807B8D7E7B9B7C79AB7575B67676BB7D7DAB73729C716E977772AF95
+          8FA78F89A98C87AE8D8AA7817FAA84829F7D7D9D818088716F8A75738B767499
+          84820B2D440D2D441B324C1B324C1937500D2D442E495D5565765F5F6D6B606A
+          6D61676C63666764666564686962696A62696A626C6A626C6A626C6A626C6A62
+          6C6A626C6A626C6A626C69616B69616B69616B69616B69616B69616B69616B67
+          63696561666662676F616D726273645A6B605D77535B833E4D853A4A8F38478C
+          404A805F63866362726A64696C616B6C616B6860676760676861686861686962
+          696A636A6A636A6B646B6962696D666D6C656C6E676E6D666D625B626E676E6B
+          696F656B722D3643303B4F648295A1DFEA78C0C88AC1CE7BA8BD5984A5436C8D
+          3A627B596D7E8D7880977978887C787C82814E677139546266727CF3F5FDFFFE
+          FFFFFEFDFFFFFEFBFFFCFAFFFEFAFFFEFFFEFFFFFEFFFFFDFFFFFEFFFFFFFFFD
+          FFFFFBFEFFEDF5FC94A8A989A3AA2A405C0215401A2961474D82696588706879
+          CAC2C3B7ACA487777094746FAE6C6DBE6C6BB96865C77D77B2776E9E7065936B
+          5F996F63A9766CAB7269B3736EB4746FAA706BAD76719D6D69A1726EA1716DA9
+          7975092B420C2C43152C46182F491D3B541231482B465A6272837373817F737F
+          82757D81777D7C787D7B7A7E7F787F80787F8078828078828078828078828078
+          82807882807882807882857D87857D87857D87857D87857D87857D87857D8783
+          7F85848085827E838C7E8A8A7A8B6B617276738D5F678F3E4D853E4E933D4C91
+          485288797DA08584948D878C90858F928791978F96968F969790979790979891
+          989992999992999992999891989E979E9C959C9E979E9C959C7F787F9B949B9C
+          9AA08C929745515B364558597A8E97D8E66BB5C172ADBC6193A7366281345D7D
+          335C724D606D78676B8E7573857C79757F7F4E6973324F5D606F78F3F6FEFFFE
+          FFFFFCFBFFFFFEFAFFFBFAFFFEFAFFFEFFFEFFFFFEFFFFFDFFFFFEFFFFFFFFFF
+          FEFFFFFDFFF8F4F999A3A3ACBEC52C415C11234C151F555751866A4E72856374
+          8D71718B78708B8278806A5F9F625EC06D6BC06561C06A64A85F57B27168A86B
+          61B37269B76E66B2625BBA6661B76560AE615EB06965A76763AB6B67AA6764AC
+          696614364D17364D182F4919304A1F3D5618374E344F638191A29C9CAAA79BA7
+          AA9DA5A99FA5A4A0A5A2A1A5A69FA6A79FA6A69EA8A69EA8A69EA8A69EA8A69E
+          A8A69EA8A69EA8A69EA8A39BA5A39BA5A39BA5A39BA5A39BA5A39BA5A39BA5A3
+          9CA3A39FA49F9BA0A99BA7A494A5766C7D8A87A16D759D404F873B4B903B4A8F
+          4751878A8EB19C9CAAA49EA3A79CA6ABA0AAA29AA1A19AA1A29BA2A29BA2A29B
+          A2A39CA3A39CA3A39CA3A19AA1A59EA5A19AA1A49DA4A39CA3797279A099A0A1
+          9FA59BA4A85B6C754A5E70587D918DD0DF6BB7C378B3C26D9FB11C49642A5570
+          335B6E4E626D7365678F7876827D7A727E804D6A732D4A585A6874F0F3FBFFFD
+          FFFFFBFAFFFFFEF9FFFAFAFFFEFAFFFEFFFEFFFFFEFFFFFDFFFFFEFFFFFFFFFF
+          FFFFFFFDFFFFFDFFC5C7C7939FA5202E450A163E2A2E61594E80755476865A6B
+          8A615F8163588171649B887B9A695F9D5750B35F59AF5A52AF6259B26B61A35A
+          52AB5D56B15953B55954C05F5CBB5E5BB05E59AE615EA9625EAA635FAA605CA9
+          5F5B15354C16354C142B45112842112F480D2C432A455A8898A99C99A8A599A5
+          A799A4A69BA3A19DA39E9CA2A29AA4A299A3A39AA4A39AA4A39AA4A39AA4A39A
+          A4A39AA4A39AA4A39AA4A69DA7A69DA7A69DA7A69DA7A69DA7A69DA7A69DA7A5
+          9EA5A29EA39F9BA0AA9CA8A898A9786E7F8B88A2727AA23E4D853A4A8F3C4B90
+          434E828F93B69F9FADA59FA4A69BA5A89DA7A79FA6A69FA6A69FA6A69FA6A7A0
+          A7A7A0A7A7A0A7A7A0A7A69FA6A7A0A7A19AA1A69FA6A69FA67972799E979E9E
+          9EA48E999D5D70784961734D758873B7C46DB5BF7BB7C371A4B427556D335F76
+          365F6E50666C6F63638C7873827D7A7581814A68732C4C59546470EAEDF5FFFD
+          FFFFFDFCFFFFFEFAFFFBFAFFFEFAFFFEFFFEFFFFFEFFFFFDFFFFFEFFFFFFFFFF
+          FFFFFFFBFDFFFEFED6D7D39DA4A730354A1213392827595A507F6B547087636F
+          8C5D5994675A7F5C4E987E6E967C6B8A6354A8695BAE6458C27E71A463559F57
+          4DB4655CBD635CC1615BBC5B57B75C57AF5F58A55D56A35F58A25E57A75F58A6
+          5E5713334A17364D1C334D1A314B14324B14334A2E495E91A1B2A09DADAB9DA9
+          AD9DA8A99EA6A4A0A6A19FA5A59DA7A59CA6A79EA8A79EA8A79EA8A79EA8A79E
+          A8A79EA8A79EA8A79EA8A49BA5A49BA5A49BA5A49BA5A49BA5A49BA5A49BA5A3
+          9CA39F9BA0A09CA1A799A5AA9BA97E7485827F99737BA33C4B833B4B90404F94
+          424D819397BA9F9FADA59FA4A69BA3A79CA6A59DA4A49DA4A49DA4A49DA4A59E
+          A5A59EA5A59EA5A59EA5A7A0A7A59EA5A099A0A69FA6A49DA47F787F9992999C
+          9CA28C9AA05B727A4761714A718063A1A974B6BB7FB5BC6C9CA82D5C7239657C
+          38617050686E6B625F8B7972817B7475807E4D6A73335261546470E1E7EEFFFD
+          FFFFFFFEFFFFFEFBFFFCFAFFFEFAFFFEFFFEFFFFFEFFFFFDFFFFFEFFFFFFFFFF
+          FFFEFFFDFCFFFFFBCFC9C2A39E9F3432462324461C214E55547E574B6193797F
+          764B42865545956A59785A4773695182765E8A65518C5C4AA97B699A6757A065
+          56A66053A8534BB0554EB2544FB05550AB5B549F564E9F5A519F574FAA5C55AB
+          5B5402233706253C122943132A4408263F0E2D44243F548292A39C99A9A799A5
+          AA9AA5A89BA3A19DA39F9DA3A49BA5A59AA4A49BA5A49CA3A49CA3A49CA3A49C
+          A3A49CA3A49CA3A49CA3A79FA6A79FA6A79FA6A79FA6A79FA6A79FA6A79FA6A6
+          9FA6A4A0A5A8A4A9A89AA5AFA0AE8A809177748D737CA23D4D8236468B3F4E93
+          3D487C8F93B69999A7A39DA2A79CA4A69BA5A69EA5A59EA5A59EA5A59EA5A59E
+          A5A59EA5A59EA5A59EA5A7A0A7A59EA5A49DA4ABA4ABA29BA2898289968F969B
+          9DA58C9EA55A737D4963715A7D8765989A87BEBB90BCBB7AA4AB2D586D3D6980
+          3963764F6872655E5B8E7B73867D70767D764F6C733A5B6A536570D9DFE6FFFC
+          FFFFFFFEFFFFFEFBFFFCFAFFFEFBFFFEFFFEFFFFFEFFFFFEFFFFFEFFFDFFFFFA
+          FFFEF6FFF9FFFFF9DCC6C06752511C192916203E233A60405376616375695B5C
+          A283748B644E9D78628D755D68684A696F507270527F785D92876C9F8A749976
+          6282503E8D473AA7554AA64C45A54D46A5544C9B4C43A2534AA24F47B1534DB1
+          4F4917384C17364B243A5324395415304A1B3A512E495E8797A89C99A8A89AA6
+          AB9BA6AA9DA5A39FA5A19FA5A69CA8A89DA7A59CA6A59DA4A59DA4A59DA4A59D
+          A4A59DA4A59DA4A59DA4A49CA3A49CA3A49CA3A49CA3A49CA3A49CA3A49CA3A3
+          9DA29E9B9DA5A1A6A2949FAD9EAC8F85956E6B84737CA23E4E833B4B9047569B
+          414C809398B99A9AA8A49EA3A99EA6A89DA5A69EA5A59EA5A59EA5A59EA5A59E
+          A5A59EA5A69FA6A69FA6A59EA5A49DA4A7A0A7ADA6AD9F989F8F888F928B929C
+          9EA6899BA6536D79465E6A5E7C815C827C7EA89D82A49D6E919437617447748F
+          3F69804863715A56558D7D718D816F7F8175506C733F606F536471D0D7E0FFFB
+          FFFFFEFFFBFCFAFAFEF9FBFFFEFBFFFEFFFFFFFFFEFFFFFEFFFFFEFFFDFFFEF8
+          FFFCF3FFFBF7FBF0D5B3AD8F6D6E2F2C3B10243D0725484A6383525968605B58
+          A89A87776046A28068A4896EAAA5868A917069704F7B80616160447C73588A6F
+          5A8A5C4A99554898483DA0463FA0463FA44C4599443CA44C45A54741B24A45AE
+          423E1334471332471329420E243D06223A072439233C508A98AA9F9CABAA9CA8
+          AC9CA7AA9DA5A59EA5A39FA5A79DA9A99EA8A79EA8A79FA6A69EA5A69EA5A59D
+          A4A59DA4A49CA3A49CA3A59DA4A59DA4A59DA4A59DA4A59DA4A49CA3A49CA3A3
+          9DA29D9A9CAAA7A9A2949FAC9DAB9A90A06A67806F789E3F4F843D4E913A4A8D
+          4651858E93B49B9BA9A49EA3A99EA6A99EA6A79FA6A7A0A5A7A0A5A7A0A5A7A0
+          A5A7A0A5A7A0A5A7A0A5A7A0A5A49DA2A49DA2ADA6ABA39CA1958E93867F849C
+          9DA7889BAA405A6A4157635F7678637B6F637D6B698072617E7B40687B3C6B87
+          396582446275565858877A6C9587718181714D6A6F3D606E4B5E6BBDC4CDFFFD
+          FFFFFEFFFFFFFEFAFEF9FBFFFEFBFFFEFFFFFFFFFEFFFFFEFFFFFFFFFDFFFEFA
+          FFFCF6FFF9FFFBF2D6ACA7A57D7F191C2A0A243C18325643577651576462645E
+          8A927B6D6A4B97765C865F43C5B0918E83638B806282775B7D70567D69508562
+          4E996554944A3EA24A43A54440A54440A44640A84D46A44640A4403BB1463FB4
+          443E12334613314410273D0A2137011D35052237243E4F8D9CAC9F9CABAA9CA8
+          AC9CA7AA9DA5A59EA5A39FA5A79EA8A99EA8A79FA6A79FA6A69EA5A69EA5A59D
+          A4A59DA4A49CA3A49CA3A59DA4A59DA4A59DA4A59DA4A59DA4A59DA4A49CA3A3
+          9DA29E9B9DA8A5A7A597A2AC9DAB9D93A369667F6D769C4050853D4E913A4A8D
+          4651858E93B49B9BA7A5A0A2A99EA6A99EA6A99FA5A7A0A5A7A0A5A7A0A5A7A0
+          A5A7A0A5A7A0A5A7A0A5A8A1A6A59EA3A8A1A6AAA3A8A69FA49A9398827B809E
+          9FA9899DAF4863774E6470697D7E6D7E706D7E696F7F6E627A78386073376686
+          44739353758C717A7D8882779385727C7C6E516E754468784E6470BAC1CAFFFD
+          FFFFFEFFFFFFFEFDFFFCFBFFFEFBFFFEFFFFFFFFFEFFFFFEFFFFFFFEFDFFFEFB
+          FFFCF7FFF5FFFFF8D1A19D6235383235430C243C1B2D524E5979737986969E97
+          5B6C51949575855A3F7C432A7E583A6E5033684B30654A30BCA28AAA8D789068
+          55986152954A41953D37A2413DA23F3B9C3B379F3F39A2423CA6403BAD413DAE
+          3E381E3F4F1F3D4E1A3246122A3E0623380422351D374780909DA19DA9AA9CA7
+          AC9DA5AA9EA4A59FA4A4A0A6A79EA8A99EA8A99EA6A99EA6A89DA5A89DA5A89D
+          A5A79CA4A79CA4A79CA4A89DA5A89DA5A89DA5A79CA4A79CA4A79CA4A79CA4A5
+          9EA3A19EA0A5A2A4A89AA5AB9CAAA298A868657E6871974151863D4E913B4B8E
+          4752848F94B59C9CA8A5A0A2A99EA6A99EA6A99FA5A7A0A5A7A0A5A7A0A5A7A0
+          A5A7A0A5A7A0A5A7A0A5A8A1A6A59EA3ABA4A9A59EA3A7A0A5A19A9F7D767BA0
+          A1AB8397A94D687D5269796A7D826E7C71727E6C6F7E706179794C758B3D6D8F
+          3E6E904469837080877C7E788A85767C8178496A73446B7A4E6470AFB8C1FFFD
+          FFFFFEFFFEFCFBFDFFFCFBFFFEFDFFFEFFFFFFFFFEFFFFFFFEFFFFFEFBFFFEFB
+          FFFCFBFDF7FFFCF7CF9C997B4C4F2F2A390F1C361B20475355775B616E79847C
+          89987DABA082944F3B95422D89523772452A95654D8559426F4A34AA8773946C
+          5A8C584B87443B9B4944953835A1403DA2413E9E3D399C3B379E3A35A43935AB
+          3F3B1C3D4C21404F233B4D233B4F1E3C4F1D3B4C2D47578797A4A19DA9AC9CA7
+          AD9DA4AB9FA5A6A0A5A4A0A5A79FA6A99EA6A99EA6A99EA6A89DA5A89DA5A89D
+          A5A89DA5A79CA4A79CA4A89DA5A89DA5A89DA5A89DA5A89DA5A89DA5A79CA4A5
+          9EA3A3A0A2A29FA1AB9DA8AA9BA9A69CAC6B6881626B914252873D4E913B4B8E
+          4752849095B69C9CA8A5A0A2AAA0A6A99EA6A99FA5A7A0A5A7A0A5A7A0A5A7A0
+          A5A7A0A5A7A0A5A7A0A5A69FA4A59EA3ACA5AAA0999EA8A1A6A69FA47871769E
+          9FA9889CAE547186556E82647A856E7C7A73827A71827E607D82436F873F7495
+          44779848738E657F8B6A77796E757267777640667241697B49606FA3ACB6FFFD
+          FFFFFEFFFCFAF9FDFFFCFDFFFEFDFFFEFFFFFFFFFEFFFFFFFEFFFFFEFBFFFCFB
+          FFFCFDFFFCFFFEFBDAA7A5AC79802B1F311E2441252952595D805356655A5B57
+          7D7C677E6348924532A2483796563E845137AE7762B98A756D4A367B604C9278
+          67876456925F55732F2A8F3C3A993C3B993939963532A03C3AA6423EA13835A3
+          38342446532949562B44542F47592E4C5D2E4D5C36515F8999A5A19DA8AC9DA5
+          AE9FA3AD9FA3A6A1A3A4A0A5A99EA6AB9EA6A99EA6A99FA5A89EA4A89EA4A89E
+          A4A89EA4A89EA4A89EA4A99FA5A99FA5A99FA5A99FA5A89EA4A89EA4A89EA4A6
+          9FA4A4A1A3A19EA0AC9EA9AA9BA9A89EAE7270865C658A4253863D4E913B4B8E
+          4752849095B69D9DA9A6A1A3AAA0A6A89DA5A99FA5A7A0A5A7A0A5A7A0A5A7A0
+          A5A7A0A5A7A0A5A7A0A5A69FA4A59EA3ACA5AA9F989DA9A2A7A9A2A77972779B
+          9DA58C9EAF56738848687F506E815B747E657D835F7B825376842D5D793D7394
+          40769543728D466B794F6C754D67735673814974854A72844D647397A1ABFCFC
+          FFFFFEFFFBF9F8FDFFFCFDFFFEFDFFFEFFFFFFFFFEFFFFFFFEFFFFFEFBFFFCF8
+          FFFCEDFBF5FFFDFAC89696743F482D1E33171F3D1727514753775B5568635152
+          8C72627B4C368D412F9D4B39C98873824C3575432F724D397F6D56726C557372
+          5E888170866C6096686187423F903D3C9B3D3E983434993432A33A37A03331A6
+          39372E515B2F4F5A2E45542B44542B47582847562F4A587E8F98A29FA8AD9FA5
+          AE9FA3ADA0A2A6A1A3A4A1A3AAA0A6AC9FA7A89EA4A89EA4A99FA5A99FA5A99F
+          A5A99FA5A99FA5A99FA5A99FA5A99FA5A99FA5A99FA5A99FA5A99FA5A89EA4A6
+          9FA2A4A1A3A29FA1AC9EA9AB9DA9A69DAA7E7C925760854051843D4E913B4B8E
+          4853859196B59E9EAAA6A1A3AAA0A6A89DA5A99FA5A7A0A5A7A0A5A7A0A5A7A0
+          A5A7A0A5A7A0A5A7A0A5A8A1A6A8A1A6ABA4A9A29BA0AAA3A8ABA4A9817A7F97
+          99A18B9CA95270833A5F7B3F65834F71895B7C9053798B48758A3F75933C7797
+          2D658230647B3462734C77884E779056829A5180954E798A526978909AA4F5F5
+          FBFFFFFFFCFAF9FDFFFCFDFFFEFDFFFEFFFFFFFFFEFFFFFFFEFFFFFEFBFFFCF8
+          FFFCF3FFFEFFFFFEC09E9E69444C383146192444162954505B8163566C66484D
+          A07368874F3C8F4A398E49369D5E4A864B37844838845141876E5A5F5844565A
+          478F928270645884625C9D64629248489844469339399034339B3E3B96373498
+          3A3522464E264651283F4E253F4D254251264653324E598697A0A29FA8AD9FA5
+          AE9FA3ADA0A2A6A1A2A5A2A4AAA0A6ACA0A6A89EA4A89EA4A99FA5A99FA5A99F
+          A5A99FA5A99FA5A99FA5AAA0A6AAA0A6AAA0A6A99FA5A99FA5A99FA5A99FA5A7
+          A0A3A3A0A2A4A1A3AA9DA5AC9EAAA39AA789879D545D823F50833D4E913B4B8E
+          4853859196B59E9EAAA6A1A3AAA0A6A89DA5A99FA5A7A0A5A7A0A5A7A0A5A7A0
+          A5A7A0A5A7A0A5A7A0A5A8A1A6A9A2A7A7A0A5A69FA4A9A2A7A9A2A788818694
+          949A8D9DA95674873A63833C6B914A769B4F7C9E4574933F73913C7896296785
+          245D7631687D3E7387467C953B7599326C90366A813B66774C637289939DEEEE
+          F4FFFFFFFEFCFBFDFFFCFDFFFEFDFFFEFFFFFFFFFEFFFFFFFEFFFFFEFBFFFCFA
+          FFFCF8FFFFF8FDFCAEADA97273771D2B3E081B3C13234E53557D68566D5F3D43
+          6A392F874F3EA76B5BB278656D3621D99A86B85E53953E3478413466493A8A81
+          737B786A91857B7B5E596939377C4040BC7978C7827FA25F5C8A4A4577393177
+          3931294A53304F582F49552E45542A4553294550344D5787969FA09FA8A99FA5
+          AD9FA3ABA0A3A8A1A4A8A1A4ACA0A6ACA0A6AA9EA4AA9EA4AB9FA5AB9FA5AB9F
+          A5A99FA5A99FA5A99FA5AAA0A6AAA0A6AAA0A6AAA0A6A99FA5A99FA5A99FA5A7
+          A0A5A29FA1A8A3A5A89AA5AC9EAAA198A5908EA4525B80404F803E4E903D4B8D
+          4A53859396B5A09EAAA7A2A4AA9FA7A89DA5A99FA5A9A0A3A99FA5A99FA5A99F
+          A5A99FA5A99FA5A99FA5A99FA5AAA0A6A69CA2A7A0A5AAA0A6A69FA48D868B8F
+          8E978998A1536F80385F7B3966883F6B903B688A2C5A792858741D526D0D405A
+          1E4D622856682D5B6D1A4A62174C6D1245661B445B2A4756465764878E97EBEB
+          F1FFFFFFFEFFFDFDFFFCFBFFFEFBFFFEFFFFFFFFFFFFFFFFFFFFFFFEFBFFFEFB
+          FFFEF9FEFCFBFFFEB6BFBC67737716293E0C20431F2F5A4D527967576E603E45
+          9F68639353488243358147348151397C462D9446358D3C2D7C412E724A385540
+          31716559BDADA664514CAE948E68443E68312C7B3D378F554FAF7C729B776582
+          664E34535C27464F2C475138515B354B56364A5541525B838D979E9FA9A49FA8
+          A79FA6A99EA6A99FA5AB9FA5AE9DA6AE9EA5AE9FA3AD9FA3AD9FA3AD9FA3AD9F
+          A3ABA0A3ABA0A3ABA0A3A99FA5A99FA5A99FA5A99FA5A79FA6A79FA6A79FA6A7
+          A0A5A4A0A5A59FA4AB9DA9A899A7A69DAA9695A94F597B4250803F4E8D434D8D
+          4F53849493B3A4A0ACA8A1A4A69EA5AA9FA7AD9FA3AEA0A2AE9FA3AE9FA3AD9F
+          A3AD9FA3AD9FA3AD9FA3ACA0A6AEA2A8ADA0A8A79CA4AFA2AAA69BA392878F87
+          8690919FAB2E4856213D4E3050632F4E632D4C6121405527465B1A3A4D2A4859
+          3956653E59673F596746606E4F69795B6F806C76877A808D8B8D987F7E87E1E2
+          E6FDFFFFFBFFFEFAFFFDFAFFFCF5FCF7FBFFFEFBFFFFFDFFFFFBFDFEFBFFFFFB
+          FFFFFFFFFCFCFCF6A39F9E85848D303752142449192F58405074585467644750
+          965A5B9649478B3B348742317D54339075506E52308A6B4C825D3B7C583A6244
+          316F564CA38E8C645B578E9A8884836F7F52448240357C39307A4A3860532D93
+          9668344D5739525C4F65706577826A7B846F7B8568717B91969F9E9FA9A29FA8
+          A69EA8A99EA8AB9EA6AD9EA6AE9DA6AE9EA5AE9FA3AD9FA3AD9FA3AD9FA3AD9F
+          A3ABA0A3ABA0A3A99FA5A99FA5A99FA5A99FA5A7A0A5A79FA6A79FA6A79FA6A6
+          9FA6A6A0A5A69FA6AB9DA9A79AA8A59EAB9697AB545E804353823F4E8D434D8D
+          5152849693B3A4A0ACA8A1A6A69EA5AA9FA7AB9FA5AD9FA3AD9FA3AD9FA3AD9F
+          A5AB9FA5AD9FA5AB9FA5A99DA3AA9DA5A89DA5A79CA4AA9FA7A89DA5978C9685
+          828B8C96A04A5A6646566251616D54657260717E5F6F7F67778776869383909E
+          8E9AA6939CA9959EA89BA2ABA1A7AEA5A7AFACA7B0A59DA7A59EA5868287D8D7
+          D9FBFBFBF9FBFBF8FDFBEFF4F2FAFFFBFBFFFEFAFDFBFAFCFCFFFEFFFFFEFFF9
+          F9F9F7FBF6FFFFFCBDB4B198909723273F0F20410C264B4A5F7F5B5C70957B88
+          763B437C2F329647447F443178663D7C804F878D6476764E86754A9676528459
+          447F564D795D5C827A7390A0898B92778B6A56814B3A7E4334976F568187564A
+          692C828E98818D97818B957A838D767C877D818C71737D8B8C96A29EA9A49FA8
+          A69EA8A79FA6A99EA6AB9EA6AB9FA5AD9FA5AD9FA5AB9FA5AB9FA5AB9FA5AB9F
+          A5A99FA5A99FA5A99EA6A99EA6A79FA6A79FA6A79FA6A79FA6A69FA6A69FA6A6
+          9FA6A6A0A5A7A0A5A99DA9A99CAAA49FAE979AAF5664884354853D4D8F414D8F
+          4F52859493B5A4A0ACA7A1A6A69EA5A89FA9A69EA8A69EA8A69EA8A69EA8A69E
+          A8A69EA8A79EA8A69EA8A59DA7A49CA6A89FA9A89FA9A69EA5A9A1A89E969D81
+          7D83A9A9AF92949C9A9CA4999BA39A9CA6A5A7B19EA2ADA4A6B19D9FAAA0A0AC
+          A0A1ABA09FA9A19EA7A29EA4A29BA29F989DAAA0A6A39A9DA89FA2888184D4CF
+          D0FFFEFFFFFFFFFFFFFEFFFFFEFFFFFEFDFBFAFFFDFCFFFFFEFFFEFFFFFEFFFF
+          FEFFFAFEFFFDFFFFD1C4C2756A6C2B3441041B31102C4B4558795C5C7471596B
+          7747537B3E42854943896952748A59618A51657E528F996FB5B285967B56874C
+          398B4C446B484475625A8E806D6F6448A29176886F55835C466C57386A844F4F
+          81417B7B877D7D89807E8A7A788479778386828D797580928D96A49FA8A69FA6
+          A79FA6A79FA6A79FA6A99FA5A99FA5A99FA5A99FA5A99FA5A99FA5A99FA5A99F
+          A5A99FA5A99EA6A79FA6A79FA6A79FA6A79FA6A79FA6A69FA6A69FA6A69FA6A6
+          A0A5A6A1A3A9A2A7AB9DA8A89EABA49FAE969AB25B6B903F54873C4D903F4D8F
+          4C53859293B5A2A0ACA7A2A4A69EA5A79FA9A49EA9A29EA9A29EA9A29FA8A49E
+          A9A49FA8A49FA8A49FA8A6A1AAA49DA4A8A1A8ABA3AAA39CA1AAA3A8A59EA37D
+          767BA59C9FA9A0A3B2A8AEA8A1A6A8A0A7ABA4ABA199A3A49CA6A69EA8A59DA7
+          A49BA5A49BA5A99EA6AFA2AAB0A4AAB0A4AAABA2A5A69FA2ABA4A7857F84C2BC
+          C1FFFDFFFFFCFFFAF6FBF4F0F5FFFCFEFFFAFCFFFEFFFFFEFFFFFDFFFFFEFEFF
+          FEFFFBFFFFFDFFFFC1B5AF5D54511B2830132B3F1326494C557B5A55704D3B4C
+          7F5F646F46437042375D432BBED5A8A1C492646F477F7F5B7C7E54695C367A4D
+          387D473C8661597D5F54896A55604A2E5E5B3CA19F8064583C66623FA8C28DAD
+          D397847884867A86897D89887C88847884877C86786D778F878EA79FA6A79FA6
+          A79FA6A7A0A5A7A0A5A6A0A5A6A0A5A6A0A5A7A0A5A79FA6A79FA6A79FA6A79F
+          A6A79FA6A79FA6A79FA6A79FA6A69FA6A6A0A5A6A0A5A6A0A5A6A0A5A6A0A5A6
+          A0A5A7A1A2ACA3A6AA9DA5AA9EAAA09DAC959BB25E70953B51853A4D913D4D90
+          4A52879193B5A2A0ACA7A2A4A69FA4A8A0A7A49FA8A29FA8A49FA8A4A0A6A49F
+          A8A4A0A6A69FA6A6A0A5A6A0A5A49DA2A69FA2ADA4A7A49C9DABA3A4ABA3A47F
+          7476A89A9CAEA0A2B0A1A5A89A9EAB9DA3ACA0A6AA9DA5B1A6AEAA9FA7A99EA8
+          A89DA7AA9CA7AA9DA5AC9DA5AD9EA6AA9FA7A8A1A89F9DA3A4A1AA84838D9D9B
+          A7BFBFCDA7A6B69897A7898696CFCBD7FFFBFFFFFCFFFDF3F9FFFDFFFFFDFFFF
+          FCFCFBFFFAFFFFFBC9BFB5544D4A1724321322422022526058875C506E4F444E
+          5953487C6E586D4532764F396E5D42695B3F88664E886B506B6A44828A657A7C
+          5F746751815F526E4334896049694F3163674465775281967075855C76784A5D
+          5A27917D8A8D79858D79868A79848877828E7F8786777FA699A1AB9EA6A99FA5
+          A7A0A5A7A0A5A6A0A5A6A0A5A4A1A3A6A1A3A7A0A5A79FA6A79FA6A79FA6A79F
+          A6A79FA6A79FA6A7A0A5A79FA6A6A0A5A7A0A5A6A1A3A7A0A5A6A1A3A7A0A5A7
+          A0A3A9A1A1AFA4A6AB9DA3AB9FABA19CAB969CB363749B385086384D913C4C91
+          4A52879193B5A2A0ACA8A2A3A89FA2AAA0A6A7A0A5A6A0A5A7A0A5A7A0A3A7A0
+          A5A7A0A3A7A0A3A7A0A3A9A1A2A9A1A2A99EA0B0A5A7A99F9FADA3A3B0A6A683
+          7979ADA0A2B0A2A6AFA1A5ACA0A6ADA1A7A79CA4A59AA2A79EA8A89FA9A59DA8
+          A49BA8A097A49A909C9086928A808C857E8B7A7A886B6E7D686C7E6266795E62
+          7A676B845255714C4F6B4D4E689292AAFBF9FFFDFAFFFCF7FFFFFDFFFFFDFEFF
+          FDFAFCFFF6FDFFF3D2CBBC4D4A462531430B163C2C235C5E4E84605170443D40
+          838972696443805B417D4A366535298853497A3B2D774430604E31767B5B5763
+          4583866D7E66547C5D485741257B72505E694394A982BFD4AE98A37B887F545F
+          4C1F8D77838E7982917B878F7C858B78818D7C857C6D7592868CAB9FA5A99FA5
+          A7A0A5A7A0A3A6A1A3A6A1A3A6A1A3A6A1A3A7A0A5A99FA5A99FA5A99FA5A99F
+          A5A99FA5A99FA5A9A0A3A99FA5A7A0A3A9A0A3A7A1A2A9A0A3A7A1A2A9A0A3A9
+          A1A2A9A09DB1A5A3AB9CA0AD9FAAA19DA9979EB2697BA03B5185384D913C4C91
+          4A52879294B3A4A0ABA8A2A3AA9FA1AEA1A3ADA1A1ADA1A1ADA1A1ADA19FADA1
+          A1ADA1A1ADA1A1ADA1A1AFA3A3B1A5A5A99D9DB2A6A6ACA0A0A99D9DADA1A181
+          797AA09A9FA09BA49F9AA39E9AA598949F8D8B978686927E7F8D7373836F6F7F
+          6A6C7E696B7D6466785D5F71595A6E54596E4A546C3E49642C37552C3757222E
+          523A446C4A547C545C845259806E7596EBEFFFF4FAFFF8FBFFFBFDFFF9FBFCFF
+          FFFCFFFFF7FFFFF4B7B7A55A5C561C273B1A214C261B5A5A48836859785B5556
+          7175586C633D7A5235864A3A8A4242833338984744803B3170453288705A7D6F
+          5893887264594366684B728A6749663F6C7E578C906C726846584824887C545F
+          562B8E79828F7C85927F888F7C858F7E879A89928B7D839E9298AB9FA5A99FA5
+          A9A0A3A7A0A3A7A0A3A6A1A3A7A0A3A7A0A3A9A0A3A9A0A3AB9FA5A9A0A3AB9F
+          A5A9A0A3ABA0A3A9A0A3ABA0A3A9A1A2ABA0A2A9A1A2A9A1A2A9A1A2A9A1A2AB
+          A1A1AA9F9BB1A4A2AC9B9FB0A1A9A39CA99A9FB46F7FA33C53853A4D913D4D90
+          4C53859294B3A4A0ABAAA2A3AA9FA1AEA1A3AEA0A1B0A19FB0A19FAEA19FAEA0
+          A1AEA0A1ADA0A2ADA0A2ACA1A4AFA4A7A3979DA99FA5A3999F9992979B939A75
+          70797474807174836D707F686C7E6165775D63765E6578555C704E566D444C63
+          38425A343E56313B532D374F29344F293551202D4D2E3D5E2030552332591424
+          4F3544724A5888404F7D4D5884667197EDF8FFEEF7FFF2FAFFF8FEFFF8FEFDFD
+          FFFBFFFFF9FDFFF3B8BEAB525B512532400E173D2A2864594F8B5A517261555B
+          84766071583672462E9F68597E4040813B41803634873F387C41376837297047
+          386D523E64563F72775A496A4757805A47603A767E59645A38887552AF9F7A88
+          7B55998B91A5999FA3979DA1959BA1959BA1959B80747A8C8288ACA2A8AAA0A6
+          A9A0A3AAA1A4AAA1A4A7A0A3A89FA2A89FA2ACA1A4ABA0A2AD9FA3ACA1A3AFA1
+          A5ADA2A4AEA1A3ABA0A2B2A5A7ACA2A2AB9F9FA99F9FACA2A2ADA3A3ACA2A2AA
+          A0A0ADA29EB0A3A1AE9DA1A99AA2A9A1AC9A9EB16D7C9D3C52823F50933A488A
+          4E55879796B6AAA6B1AAA4A5ABA2A5AA9FA2B0A2A4AFA1A3AFA0A4AD9FA3AB9D
+          A3A3969E978C968D838F867D8A7B7483736B7C6E68796B677A6664776462765F
+          60745B61784A546C39435B3B4661333E592C3753323E5A24304C253350263451
+          24335325345423345522335421315521315529375B24325622315825335D1120
+          4E2F3F6E48578844528246547E7381A5E9F6FFEFFCFFF3FDFFF4FCFBFAFFF9FB
+          FFF9FDFFFEF9FFFAB5C1AD6D7D6C2B3A3D0919301A2C5B4855896260843E2B3C
+          794C497843366E402F85625479675C715C54673B34793F397F3D388B47408B4D
+          437B473A643F2B93846AA0AC8E7E99776C8E6974936C4F643D71764F7E6B4A6A
+          4B2CA69FA4A8A1A6A59EA3A9A2A7ABA4A9A7A0A5817A7F847A80AAA0A6AAA0A6
+          AAA1A4AAA1A4A89FA2A79EA1A69DA0A89DA0AC9EA2AA9D9FAA9D9FAA9D9FAC9F
+          A1ADA0A2AEA1A3AEA1A3A89B9DA89D9FABA0A2AEA3A5AFA4A6ABA3A4AA9FA1A5
+          9D9EAFA5A5AFA4A6AD9DA4A999A4A89FAC9B9CB06D7C9D4155854153943E4C8E
+          5057898A8BAD9996A59A9499979097938A94897F8B8379857B717E756C797369
+          797068796A6679676579605D7658577150516D4B4D6B4548673B405F3237562B
+          3253131C3D2732522C37572E3959252F511F294B2531531F2B4D263254253455
+          26345824345823335823335825355A28365A232E4E2D3858242E502A355B1A26
+          4E42507A5C69957583AD919FC3C4CFEDE9F4FFECF6FFF8FFFFFAFFF9FCFFF3FB
+          FFF5FAFCFCFAFFFFB2C5B26A806D2738350C1E2F0F2B5439517F51547A644B65
+          72353F813B3B7747417B5F54544E417473657E6E616F4C42672D289755508E4F
+          47713A2D72473472563E5D563D565F447795728AAF87577A4E56643B72593968
+          3B20A4A3A79E9DA1A19DA2A9A5AAAAA4A9A59FA4857F84797277A49DA2A7A0A5
+          ABA1A7ACA2A8ADA1A7ACA0A6ADA1A7B0A2A6B4A6AAB2A4A8AFA1A5AEA0A4ACA1
+          A4ABA0A3ABA0A3AA9FA2B1A6A9AEA5A8AAA1A4A79EA1A59BA1A59EA3ABA1A7AD
+          A6ABA19BA0A69EA5AC9EAAAB9EACA9A2B19497AC6773973D4E813B4B8E3B488C
+          484E83696A906F6F816D6C76696675625E7169677D6161795857714F4D6A4646
+          643E405F36385A3034572F355A282F56232B53222B56212D57202D59212E5A22
+          2F5B1C244C2E355C272E55242B522D355A30385D33395E2F35583036592E3759
+          2C3557273052232B50222B50262F542B3455373B53595D7051556D6C708C141C
+          392E3654B3BCDDEDF7FFEFF8FFEDF6FFF4FDFFF8FFFFF9FDF7FFFFF4F7F9E3FF
+          FFF2FFFFFEFAFFFEB2CAB86D89762636351223360B284F334D7B495176755E7A
+          6F30407E363C814F4F6D4A465039317C7366646B56555440836259885A53673D
+          3069453362422B6E523A62493550432D545C3D6E865E7693665562365D3E1F77
+          4128A3A2A6A09FA3A4A3A7A8A4A9A29EA3A19DA28E888D746E73A29BA0A69FA4
+          ABA1A7A99FA5A79BA1A69AA0A89AA0A89AA0AA9CA2A79BA1A89CA2AA9EA4ACA0
+          A6ACA2A8ACA1A9ACA1A9A39BA2A69EA8ABA3ADACA4AEA9A1AC9F99A497919C90
+          8C978C8C98888594827889776C806E6A7D656982525F85405287415196445096
+          4750894E527B4C50684D4F61474A5F3F425E2A2F50292F522B31562C34592E35
+          5C2E365E2A345C28315C26325C24315D2633612837652838672434631F316021
+          305E1A224A31365D32345C2B2E542E31572B2D5027294B2D2F4E2C2E4D333553
+          3D3F5D494B69585B7A6B6E8D8184A39094ADA5A5B39C9BA5B2B2C0A2A4B63D41
+          54191D351E243B52586FD0D7EBF1F8FFF2F7FFFBFFFFFFFFF9FFFFF0FFFFF1FF
+          FEECFFFAF7FBFFFEA8C3B36485761D2D33101E34021B432E4572515A7C63526D
+          7D495B78384487575D643C3E7042417E625789927881947971715F74695B7465
+          526C5C4573654976634867493860483454543666744B8191626E71437A603CA4
+          7C5FA4A0A6A4A0A6A7A3A9A49DA4A29BA2A59EA5968E956A6269A0959DA79CA4
+          ACA1A9ACA1A9ADA0A8AFA2AAB1A4ACB1A4ACAD9FAAABA0AAAA9FA9A79EA8A59B
+          A7A298A49D94A19A919E938C998984937F7A89757281716E7E6E6D7D6D6C7C69
+          6B7D5D62775F637B65627C625D785959714E547142507A3B4F863749903B4A93
+          3B46842C34632A31522A334E273051232C5128345C24325C22305A212F59212E
+          5A222F5B23305C23315B24325C212F591F2D571F2D571F2D57202E5824325C2B
+          375F191F442C30533537592F315037395750516D66657F79768F8D8AA09391A5
+          9A98ACA09EB2A6A4B8AFADC1BBB9CDC5C2D1E2DEE3EEE9EAF4F3F7FBFAFFF4F5
+          FF868B9A13192C252B3E1B2134888D9CE9EDF8F5F8FDFFFFFFFFFFFBF9F4EBFF
+          FFF8FFFFFCFBFFFAA4C1B262847A1D2F3A121E3A0616403946724B5273474158
+          73586859333F774F5B65313B84373E7D413B7C7457819B77577F63496C526F7E
+          62818867757F5B505131614C37614E396D6E4E7A80576B66356D64326E683D61
+          5D34A79FA6A8A0A7A8A0A7A49CA3AEA6ADB1A9B0A29AA170656DA0959DA79CA4
+          AA9FA7A89DA5A89BA3A99CA4A89BA3A297A19488949086938C828F867D8A7E77
+          8677707F6E68796763766D697C69677B6665796364796061765759714C4E6640
+          455E37425E343E5C3637593231512B2D4B28315231416F3D518B3C4F9A3F519E
+          404E9025316726335929385927355F25356020315C20315C21325D22325D2232
+          5D23315B2332592531592A355B2A33582832542932542932532E3556353C5D3D
+          45632328474145627A7E9A9498B19194A99C9BAFA4A3B3A6A3B2B9B5C1C4C0CB
+          D3CFDAE4DFE8EFEAF3F8F3FCFFFBFFFFFDFFFFFCFBFFFFFCFAF8F8FDFEFFFAFC
+          FFF4FAFFDDE5F6333D4F1E2539192033393D4FA2A5B3FAFBFFFCF9FFFFFDFFFF
+          FEFFFFFDFFFAFFFDAAC5BB61827B1E353D15253C0D1B3F3A456B505778585975
+          70667D5542576B53656B434F763336764134595630607D5067936F4F7C5B698A
+          65819B736F875D57643E5D533B50422B4F5232646E43626B3369783B667D4759
+          7442AC9FA7AEA1A9AA9DA5A598A0AFA2AAA99CA4A4979F7F727A958792988A95
+          9489938B808A8378827E737D756A746A606C7268786E66776B6374676172635F
+          72615D705D5B6F5A586E4A476043425C393A543235512F334F2E34512F35522B
+          3455212F53222E562E335A34375D2F355829345A2D3F6E384D8A344896374A9B
+          3B4A921B29631E2E5C20325B1A2E5E1D31611D305D1F315A2132592132592532
+          582632562832542933513339564247605B5D7574758A8685999290A39B9AAAA1
+          A1B3373E52212A3E6F7689BFC6D7C7CDDACFD1DBE6E9EEFAFBFFFAFAFAFFFEFD
+          FFFFFEFFFFFEFFFFFCFFFFFCFFFEFAFEFDF9FFFFFBFEFFFBFDFFFFF9FEFFF4FD
+          FFEDF8FFDDEBFEC6D4EB404B6626314D262E4B1E223E4B4C66CACAE2F9F6FFF5
+          F1FFFBF8FFF3F9FFAEC6BE55746B1633300E27310719302633533C46684E5479
+          5251794642654E49644C434D564336574E2C61744167834E4755315E6F4E7698
+          6F4970425C794B61734A78775B6F6B4F636946607B4965A25E589F565C955663
+          975B9E919F9F95A1988E9A8C828E89808A756C767C747E6E66716A616E6F6575
+          6F67786C64756A64776965786361745A596D504E6449496143435B3B3D553438
+          5131354E2D314D2C304D2E34512D35532D35532A335428335328335329335529
+          345A26366123305C272E592A315828325424335A2E40753E519436489B3B4B9E
+          4151941F2D6125355A2736571F2C58242F5B2831572A33542F39573B43604E54
+          71656A837B7F978A8EA19D9FB19FA0AEA3A1ADA7A6B0B1ACB5BDB8C1CECAD0D8
+          D7E1979EAF101A2C2F3748B8C0CDF6FDFFF8FEFFFBFFFFFAFCFCFDFFFEFFFFFC
+          FFFFFCFEFFFDFEFFFDFEFFFDFDFFFFFDFFFFF6F9FEF6F9FFCDD1DC9FA7B4757D
+          8E525D712E3C5325334F273552222D4B2A3553333D5B0A0F2E1E223F60637FDE
+          E2FBF4F9FFF1FBFFBACDD5566E741A343B132D3B081F351A2C4B35446B3F4B7B
+          474E854F568851577C4E5461747A676C754D4E5E2F8D966B7D6F525F593C8AA3
+          7D70996C54794B617F54546240595E3E72775066844F75C17972CA7E65AB6523
+          601E6B657C6563776161736A6A7A6467755F636E676A786366755C5B6F53526C
+          4545633C3D5F363A5D293257242F5529375B2635562534552534552233542334
+          552334552333572333571E315420335622355824365B22355A2134591F32571F
+          2F59232F5F28326227305B2533572A3C5B172A5030417A3E4D963E489F3B4696
+          455089313D5F353E4C4347525E5871736987857B92938A9EA39BACA8A1B0A59E
+          ADA59FAAAEA9B2B7B3B9C8C4C9D5D1D6E3E0E2EDEAECF5F2F4FCF9FBFFFEFFFB
+          FDFFF6FAFF757C900F1728353D4ADDE4EDF4FAFFF6FDFFFAFFFFFAFFFFF1F9F9
+          F8FEFFF1F7FEE8EEF9D1D8E79CA4B57E8599464A673C3E603133552A2F50282F
+          502831522833512934521B27432D3A5443506A55637A38465C0F1E311524371F
+          2E417482985A688434436425325822315823355A03193C10274D243B6B445892
+          3D4B9340498D444B7C616A7E505B4B7376565B4C32A88B76A58171583E2D4F54
+          393D5B384F81576EA1757C9C7385976E6B704364764180B67572B57082B8753D
+          6D2B5A59795557754A4F68444D613842542D3A4A2C36481C243B2027422D3253
+          31335B2B315C26315D21305E1D2F5E1F34611E315C1E325B1E325B1E325B1F33
+          5C1F335C21335C20335926395F23365C1F32581D2E551D2E5520325724365B28
+          375E2C325F2B315C242D4F1E2C482536502033563947813A458F40479E3D4493
+          4A5587737F97959EA1A8A8A8AFA2B2B09DB0BBABB6BFB3B9C8BCC2D2C8CEDFD5
+          DBEBE4E7F8F1F4FFFBFCFFFBFCFFFEFEFFFFFEFDFEFCFEFFFDFDFFFEFDFFFEF7
+          FCFDF4FCFFE3EBFC585F700B122148505DF0F9FFE7EDF8EBF1FCCCD4E1A9B0BF
+          828A9B535A6E384057273149232E492832502F375C272E55242B52262D54262E
+          532E375C4F597B737E9EB3BEDCC3D1EDCAD8F4B2C1DB6576901F304A1C2E4528
+          39532032511C2C512A35612A346418204F25315B192B500D234D3B5087344889
+          3848943D4C913F4E7C3F4F5F455C46C7D5B17A6F54523A2465483371573F8E80
+          64646F4E9ACCA2BEF8C864885A8CA2727687543D541D47703385B87575A86464
+          9A552D2E543135582C33542B36522936502A39532D39551924421F284A2D345B
+          2E345F262C59252F5E2432621C2E5D182A5920305F212F5F21305E21305E2330
+          5C24315D28335F28345E242E56252F572932582C335A2D345B2B335828305529
+          2D50353658444561585C746970837584947684A06E79AB464F92404797454B96
+          4A56869BA9C0B5C1C3C2C7C6D7D0DDE6DCE9EEE8E9F2EFEBFAF7F3FFFFFEFFFE
+          FFFFFEFFFFFEFFFCFBFDF6F5F7FDFFFFFDFFFFFBFFFEF9FFFAF6FEF7FAFFF9F6
+          FFFCEEF9FDF3FDFFCDD6E431394A20273B464C63515571454867292E4F252A4B
+          272B4E292D5030375822294A2A345229335126314F404B696B76949EA9C7C9D4
+          F4D3E0FFBAC6E899A5C75A668A3C486C1E294F1D2A5024305827335B2C386221
+          2E5A26356321305E212D552A34562F3A562F37541C2546252E593D48823C488A
+          4555983C50873F5A755576724F78535D845050713E4D6332535D2E615A2F6B4A
+          236D5D33749A685488536F8554889E6A6B985F5A8B4D54753842652562A05A5E
+          A75E282A532B305727305627335724335424355626365A15254A121E46232C57
+          292F5C242C5B26305F283563263563253462252F5E272F5E27305C262F5B272E
+          59262E56292D562A2F56282B512D2F523535594241635251716865857D7B998D
+          8AA49994A99996A59C9BA5979AA298A1AA9FAABE858CB7424A86444A95474F95
+          485583CBDBF2EBFAFDF0FAFAFDFBFFFFFBFFFFFFFFFDFFFBFDFFFCFDFFFEFAFC
+          FCF8FCFDFBFEFFFAFEFFFAFEFFF6FCFFF1F7FEF5FDFFF6FEFFEBF6FACCD6DDAF
+          BAC288919F535A6E3B435A232A43333B5819213F2F35581C2449282F562D345B
+          2A3158252C53363E634750728992B4A6B1CFDBEAFFD2E4FBB0C1DB7889A44959
+          76324161273657212D512B355D27305B242F5B273160232C5E232C5E272F6421
+          2C6012235625396823345B202D4D2E36542D32531D1F4823255544487D475284
+          3A4B7241596F50706F5C846B98C59AA1CF9AB0E0A5B1DA9D7C935C8385517F67
+          396456264A6A335C8950445E2898B87F5A995B4383424B70323A5F1F85C68142
+          934A30335F2F356028315C2A366021315B1D2F581E315C15265113225026305F
+          3039652D366229325D222B56202C5429335B2F365D2D32592C2F552B2E543436
+          59434567575676656381817D9A8D88A39C96AFA59DB4A49DB2A49BB0A59CB0AA
+          A0B0BCB4BBC6C0C1D6D1D0DCDAD9E0E5E4E5EBF8A4AACD474C8344488F484F94
+          42517FDDEEFFEDFFFFF1FEFFF5F8FFF1F2FFF5F9FEF5FDFDF7FFFFF8FFFFF8FF
+          FFF6FFFFF5FEFFF3FDFFEAF3FDD4DCEDAEB4CB7F85A2555A7B363C61292C5826
+          29552C2D592B2C58252952353C632B3459141F3F1825452C3C5941516E667792
+          909EBBB8C6E3D8E3FFC6CFF1A8B1D3737E9E3A4B6622364F182B46233651293B
+          5822345320305428355B1E2A541F2958273161283163262B62282D64282C661D
+          295F1E3664112F5818315924345E272E5F292A62312C6A25225A4B4F78748294
+          68827577977887AB7F3E623351714887A77EBCDEAFCEE9B78B96645559286D76
+          435767314E6C31597F435B884989C1803A813E3F8643568B4C477C3D4484434F
+          97552E2F5B2A2D59242A5726315D21305E1D305D223562182B581423511D2854
+          202A52252C532C345931375A30395A38405E4D506C5C5D7773728C86869E9394
+          A99A99AD9D9BAEA09CAF9D97A8A8A1B0B6ADBAC1B7C3C9C0CAD6CDD7E9DEE6F6
+          ECF2FCF3F0FFF8F4FFFEF9FFFEF9FDFFFEF8FDFFAEB1D04C508346488E495194
+          425080D9ECFFE8FDFFECFDFFF4FCFFF6FAFFF4FCFFF4FCFFF3FCFFEDF6FFD7E0
+          EDAEB7C47A8495586274363E552E3752293051282F562B315C2B31602B30612C
+          30612B2E5B2E325B2A3059283157556183475676071938122743A1B6D2A9BEDA
+          8FA1BE617090364363273153252D521B25472C3E5D1F33521D315026395A2639
+          5A1E31541F2F5426355C2B3761232E5A26305F232B5A2027582B30612B2F6227
+          31601C2E5721375A2338542333502A3358222552201F571314472C325553646D
+          5A775E4D71436E925C56774437522B445736545D3C6766445549275048236771
+          476172465B66386371416D845079A0684984473D7E40498545437C3D366F3051
+          8B4A37385E33365C282F56262F5A23305C23345F23345F10214C19284F333F63
+          4A51725A607D7275918589A19295AA9C9EB09B9DA89EA0A8A3A2ABA7A7ADADAD
+          B3B9B8BCC5C4C6D0CDCFE2DDDFECE6E7F7F1F2FFF9F9FFFCF9FFFCF9FFFDFAFF
+          FFFAFFFFFAFFFFFBFFFFFAFEFDF9FDFFFFF8FCFF9699B8383D6E4A4D91495194
+          445384D7EBFFE8FEFFECFEFFE7F2FFD0D7EBA5ACC5868DA85C61803A3F602A30
+          532A30552D315A2D335C2B315A2B335B2B345A273357212E4E212F4C2B395537
+          475E65738597A5B7C0CFE2E2F3FFC9DDF68EA3BF192E4E1B3154142A4E22375D
+          2033591B2B500D1A402932572B3358303C601D2D5723345F23345F1B2D561A2A
+          541F305724335A2131562A375D212D512935592B35572A34562F385A222B4C21
+          26473E3C605B59768E959ED7E2E0DDEBE764707618223A1620420C183C14233D
+          253C3E2B46364E6D4E6A89646880606C755B684F3F6C4236683B306C493B5C48
+          37695B485C4B3668503A6C462E604B2B50673A4B7C46467C403B6F2F608B4872
+          9753312F4C33355330325431395E3F4A704F5E855362893B486E2C375768708D
+          9A9EB6A0A4B79C9CAC9D9DABA7A5B1B1B1B7BFC0BECACAC4D8D8D2E4E4DEEEEE
+          E8F5F5EFFEFBF6FFFFFBFFFEF9FFFFFAFFFFFBFFFFFBFFFFF9FFFFF9FFFFF9FF
+          FFFBFFFFFCFFFFFEFEFDFFFBFCFFFAFDFFF3F7FF898EAF33376A41478A485195
+          404E83A2B5D87D91A2586A75434D5E252C45282F502A30552C31582D315A2B31
+          5A2A305B282E59262E56283058252E532F3B5D515F7C7F90AAACBFD4CEE2F4E3
+          F6FFC8D9E6A0B0C05E708142546B1E304D1C31511D3357192F581D335C20345D
+          1C2E571D2E55111F432E3B5B1F2A4827335521315C1E2E5D1F2F5E22315F2333
+          5E22305A22325725335728355524304C2E3954232F472530444E5A6C858FA1BC
+          C2D5EAE4FDFFFAFFFDFFFCEAF6E4F6FFF1F2FFF6AFBFC5324053111C3A1D2844
+          0F1C2A2535345263555E6E57616E58686955967C706D433E7A44436933336B3F
+          40643C3D6E42437D47477E3936763E33776B4F95A97E709F675A904F3B642054
+          79317976867E7E909292AA8D91AD989FC09CA6C84853732C37532A3249808798
+          AEB0BBC8C8CED6D2D7D4D1D3ECE7E8F5F2EEFDFBF1FFFDF2FFFFF6FFFFF8FFFF
+          F8FFFFF6FFFFF8FFFFF9FFFFFBFCFEF8FBFCF8FDFFFCFDFFFEFDFFFEFBFFFEFB
+          FFFFFAFEFFF6FBFFF6F9FFF6FAFFF1F8FFCFD7EE7A83A81F275C434A8F474F95
+          3A477F20305A23354C2B3B4B2B364A2E34512F345B272D58262D54283153252F
+          4D2A355046546B69788BA1B0C3BFD1E2DEF0FFDCEDFFB7C8DD8293A84D5F7631
+          405A2C3755222C4E1F2B4F24335A2636601F305B1B2E5B1D335D1D305B23385E
+          15294C2337560D1E392334492C3B4E28375126355C1E2C5C23326024315D2231
+          5825325825315327334F2A364E3742566C7687B0BCC8DAE5EDEDF7FEF4FFFFF6
+          FFFFFAFEFFF3F9F8F8FFF8F1FFF0F3FFF5F1FFF7DFEEF0E0E9F6797F9228293D
+          22202C322E3358514E61584F7F756B4A44375C6551696455895F5A6C2F33793D
+          48713040853D51762B4078303D7A3A3F6D382E77654892B884488644518A3F4D
+          86379B969FA5A4AEA3A2B2A2A5BAA8ACC8686E8B353C57353B525C6170C7C9D3
+          F5F7F8FAF8F7FCF9F5FFFFFBFFFFFBFFFCF7FFFFF9FFFFF8FFFFF9FFFFF8FFFF
+          FBFFFFFCFFFFFEFAFCFCFAFFFEFAFFFFFAFFFFF8FEFFF6FCFFF2FAFFF2FAFFF0
+          F9FFD8E1EFBCC5D98C93AC5F6681404A622A35511C274D1722544750933F4A8E
+          4E5A941E2D5B2536512E3C52273149272F4C27314F3C45665D67858590ABB3BF
+          D7D4E2F8DBEAFDD2E2F39AACBD75869944556A25354C22304C2937542635551F
+          2D512B345F27305C222C5B212E5C21305E20305E1F305B1D315A20325B1E3156
+          2A3D60293A5B1423431D2B48303C5818264323315527335B29365C212D512532
+          522E3957545F7A8691A5BAC4D5F2FBFFF4FDFFEAF3F7F8FFFFF8FFFFEEF6F5F9
+          FFFEFDFFFFFCFEFFF4FAF5EAF2EBE5EEE4E7EFE8F3F8F6EEEFF3E8E2EDEDE3EF
+          54465138282FA2939152423B76695B95917E9DA993696B577051488C58587338
+          407E3C48752C3C7E3343803C4774323789423E653A25ACBA904C773E537A3C59
+          7F3DCDC8CACAC9CDE7E5F1E2E4F6B2B6CE393E5733374F3A3E50CBD0D9FBFEFF
+          FFFFFEFFFEF9FFFDF8FFFCF7FFFFFBFFFCFBFBF9F9FFFDFFFFFEFFFFFEFFFDFD
+          FFFDFCFFFBFCFFF8FAFFF6FCFFF3FAFFEAF2FFD9E3F5BFC8DC95A0B4646F833E
+          4B612F3C561D2B482A3456343E60242F4F1E2B4B2131561523534A55933B4789
+          3B468225336325345543506A757D9A9EA8C0C5D5E1D9ECF3DDF0F8BDCEDB8F9E
+          B165738A3E49671F2B4D202B51232D55252E59252E5A272F5E29316027325E25
+          2F5E1F29592832622B356425305C1C2A541D2D522232562535592131551F2F54
+          2430581F2A56131A4B242A5F292C6334396A1F2A4A2D3951455268707B8FBCC7
+          DBDCE6F8EFF8FFF4FCFFF6FDFFF8FEFFF5F9FEF8FBFFFBFFFFFDFFFFF9FBFBFF
+          FDFFFCEFFFFAE7FAF1E2F0FFF4FCF7EAECECDFDDFDEEEBF7E6E3FFEFF3F2DAE2
+          FEE6F0907C817266608C8B7788906B93966F988871654C3C735C4C6D5444734D
+          416F42376A3C31703D337840356C302479382A784531A8957A4D462562533278
+          6544FEFCFCFFFEFFF5F6FFDEE0F241455D32364E33374F9CA0B2F6F8FFFAFDFF
+          F6F7F5FFFFFCFFFFFCFBFCFAFBFAFCFDFDFFFBFBFFFBFAFFF7F7FFF9F9FFF8F9
+          FFF8F9FFDDE0F5C0C4DC8E93AC6E758E47506B30385527314F28325027325025
+          33501C2B4B263758232F571E2A522E3A5C2E3B5B1728490A1A4434407A4C5997
+          4A5690A7B5E6CBD9FDEBF6FFDDE3FFA5ADCA8393A35C707B3545551F3043202F
+          49263353273258222E582931602A33652D3368293166292E65252C63242C6124
+          2C61262F61242E5E212B5A232E5A2C365E313C622C385C2430522832542A3358
+          2C345C2A305D2025561E22573A3C76636797B0B8CFD4DEE8F1FAFFEFF8FFF6FD
+          FFF2F9FFF8FEFFF7FBFFF9FCFFFBFCFFFFFEFFFFFCFEEEECECF1ECEDF7F2F3F3
+          E9EFF8E5F6FEE8FBF6DEF0FFE9F5FFEBEEFEE7E5FFE7E0FEE1DAD8B4B49A7579
+          66414B6A4B52725F5A8B85726A724A5D5A34724C3A64372C7A605066533EBAA4
+          8B9B866A857B59675B3962492969422675412A693420653A2762392A77463C6B
+          382EFBFEFFF4F7FFF0F3FF52576C3236522D314D7C809CF4F9FFF8FBFFFAFDFF
+          FBFEFFF7FBFCF7FBFFF6FBFFF4FCFFF4FAFFE7ECFFE1E5FFC8CCE9999DBA6469
+          884045642D3251232A4B2C3354282F5029325330395B2E3759262F512630522C
+          385A2F3E5F25335728315C2B355D434E6E6D7B975B6C860F20413F4E7F38457D
+          24336B8B9ACB7180A73C486A2B32592B315A252E591E2955232C582A36602934
+          60222E5825305C2E3B67242F5B1D2A581C26561D285A242C61252F65252E6723
+          2D6329356528326125305C262F5B252C57232954272B542B3057303359242A4D
+          2F3558262D4E141D3E242F4DAEB9D7E8F5FFF1FAFFF8FFFFFAFFFFF9FEFFFBFF
+          FFFAFCFDFFFEFFFEFCFCFCFAFAFCF7F8F5EFF0F3EBECF7EFEFFBF1F1F6ECECF2
+          E5E7F2E3E7FFF0F4FBEAEDE9D9DAF5E2DDE2CBC3997C6E6B473D623532703E42
+          74404A71414D6840457E615C63523D604834713D37743B3A6E433A785A47A698
+          7B848C637899666F965E758C5858592D6D4E2D76442D7A3E327A3E386B323376
+          3E43F5FCFFF4FCFF62697D2E3550363E5C4F5677DFE4FFE9EDFFECF2FFF6FCFF
+          F6FDFFF4FDFFE0E9F7BCC8DA8E9BB56A7593454F71333C61212A4F1E274C2831
+          56333C61333C612E375C2F375C2932542831532B34562C32552A31522E375837
+          4262525D7D8995B7B5BDE5CDD6FCECF7FFD9E7FD7283960A1B351B2B551D2B5F
+          17285B2232611A2950202D532A325A2F3564222960232C652731672A35692934
+          66233161202D5B1B2B5625325E2535602936642534621F2D5D1C2A5B1F2C6026
+          34651C29552130572A375D30395E2D33562C3152393C5B484A688386A2B1B5CE
+          E8EEFF7D869A172236111F32172738C7D5E1F8FFFFFDFFFFF8F8F8FEFEFEF8F6
+          F5F1EFEEFDF8F7F5F0EFF7EFEFEFE8E5F8EFECFFF3F1F4E7E5EFE3DFF9EAE8FE
+          EDEAFAE6E1ECD6D1CFBAB8907C77806A65684E4757392E6F4C3F74463E65322F
+          6B3437673136855659734C4A69483F65403870373879383A733836764C3F5D50
+          363F4623607449657D4D788A5B979B715544235B3C235E36246E3D33763B398C
+          4E4EEEF9FF838FA125304B2E3959384167C2CAF2E6EEFFEAF1FFCAD1EA9EA8BA
+          6F798A495567313F5627375421335821335C1E2E581D2D5722315828375E2736
+          5D222F551F2D51232F532731532A3354323C5A4B5371777D9AA9B0CBCFD6F1DF
+          E8FFEAF3FFD4DEFCB6BCE17C83A4424D632F3C4C23354007192A1C2C50233361
+          24356624346324355C29395E252E59242D59283464263464212F5F1B2A581C2A
+          5A21315F24336120305E1D2D58192A551C2C5620325B24375D22355B1F32581E
+          315626395C2032511F304A354359647181A3ADB7D8E0E7F5FCFFF5FAFBF8FFFF
+          F3FCFFE5F0F85C67750E1C2E1B2A3D344151D3D5DDFFFEFFFAF5F7FEF9FBFAF4
+          F5F7F2F1F4EAEAF4EBE8F8ECEAF5EAE6F9EDE7F7EBE5F5E8E0FAEEE4EBDBD4C8
+          B3AB8B685E6740385F3C395C3D3C7F60636E4F5065474255342B764F41653A29
+          7C4D3F7B4B3F96675F6336326D4441673B3A6D37377537378640417B44416C57
+          4F5442377C493F692E247A4F40A98E7A695D4583846A7D87696660436E3C2696
+          4D399EAEC525344E32416129375B55618B6E77A349507B262F55283153242E4C
+          2C37532B37532531532332591E2E5C1E2E5C22335A24345926365B2533571C2A
+          4E202E52404C6E626F8F8893B3B3BEDCDDE8FFEAF5FFE3ECFFC6CFEA96A0B869
+          748F37425E232D4B1F25482C3354333D552B37491F303D1A2B3E1526472D3F68
+          1224532638671B2E591E3059222F5B2332601E2F5A1D305B21325D21325D2031
+          5C1E2F5A1F2F5920305A25345B24345927355926355521314E1E2F4A23344F2B
+          3C564C5C738493A6C1D1DEE5F1FBF2FDFFF6FFFFFAFFFCFAFFFAFAFFFAF5FDF6
+          F8FFFFF2FBFED8E3EB333F4B172434141E2F616472E0DFE9F0EAEFF4ECEDF3E9
+          E9FEF2F0F3E7E1FCF3E9EEE8DBFFFBECF3ECDDE7E3D0D3DABF868D724E4B3665
+          57446147365B3A2B6A463E653F3D845D5F85636499807C60483C654631846349
+          6A5032755D41A68673623F326E43406C3C3B6F3835783A3A7631346B30346F52
+          4E64443E74312E8B3E3B743832714A418E7F6F4B563C6283606E7D576B3E1C89
+          40202336571E31521E315421325922305A1E2B57212B5A27325E28315D2A305D
+          282F5A262D58282E5B2C32612B3061252C57262D4E353B585157747A829FA8B0
+          CDCCD7F3E2EDFFE9F5FFD0DCF8AFBDD97E8CA84C5D782B3C571E2F4A1E314C24
+          36532030542532582631572630522C36542E3955232F4B0F1F3C1022471D305B
+          1F3362182E5E1A315F1F33621C305F192D5C192E5B1D325F23366123355E1E30
+          591E30552434582D3A5A2732502A324F2C334C32394D484E61777E8FB5B9CBE0
+          E6F3F8FDFFF8FEFFFAFFFFFAFFFFFAFEFFF6FBFAF8FDFBFBFFFEFBFFFEF7FCFB
+          F9FEFFF1F8FBE5EBF0BBC3CA293138121E2A57677ED9E7FAE5E7E8F2EAE3F6E8
+          E2FEEFE6FBEFDDF7F4D8D8DEBFACB5946D705073855CA1D3997AAD7349613768
+          715061684749462A624C3A69453B8E5B59774C497264587C735F654A305C4727
+          656B42738158444525705F4A5D392F6D3B35793F396C322D743A3F6635376B46
+          3E7456436046286A4E30623F2B6342337A63545B5A464D6B4872845B6D462088
+          47211D2F5827396229396320305A1E2E582835612A376326315D242D58232C57
+          2A325A2D365C2A3257353D62646A8D959AB9D0D4F0DCE0F9E9EEFFECF1FFD6DD
+          F8A6AFCA6D789346526E212F4B20304D20324F20345321345522355621365621
+          34591F305B25346227355F263157262F542933552531531D2B4F1829501B2D56
+          1A2F5C1C33611F3362182C5B192C592336632A3D6823355E1C2C561C2E532333
+          5727365626324E212C473C445B686F83A8ACBEDCDFEDF8FAFFFBFCFFFDFCFFFD
+          FDFFFEFEFEFAFBF9F9FAF8FDFEFCFFFFFFFCFCFCFAFAFAF9F9F9F4F3F5F4F3F5
+          E9E8EAEDECEEEEEDF1E3E2E49B9A9E1A1F28505E75D0DBEFF6EEEFFFEFE9FFE6
+          E5E1C7C0BDB1996967447C845B90966D746747888860A9D3966C9D5F465B2E66
+          734D5A754E576A49615B446A4D3F8957516739325845366F69526C654462683F
+          506E3D648455545F378375596F443382473E7838338241406E32387242415335
+          24766C4A9AA6767F895A796A4A664B375D4333594A37A2AD8CAEB38C8F6A487C
+          43232D39692430601E2B59202D5924325C2430581E2C501A274734425E4B5970
+          738194A4B4C1CEDFE8E4F7FCE7F8FBE1F1F8B3BCD0939AB5626A8739415E222C
+          4A1E2947242F4F2834562A395A27375B26365B2234592132591F325820325B1E
+          315C1B2C5D1B2C5F1D2D5C222F5B2A375D2D395D232F53132145101F461E2F56
+          23355E1E305920305A24335A2532582833591E2A4E2632542C36582732522D37
+          55535C77909BB1C3CCE0EDF4FFF4F9FFF6FCFFF8FDFFF9FCFFF6FAFFF6F9FDF8
+          FCFDF7F9F9FBFEFCFFFFFEFFFFFEF7F5F4EEECEBEFEBEAF2EEEDF1EBECF8F0F1
+          F0E8E9EDE2E4F2E4E8F4E7E9F4E6EA6C646B6B6C7AE0D7E4E5C1C7BF8C90AE79
+          82724B4975654E49452268663E877253713A2D753E317665444A482051452369
+          67484F6E4D567A5C4C57435D514587625E663935623C307A6C56A2BD96689967
+          54854F5576434C4D23775839874A3680332A8C3F427D30377F32396B37304D48
+          29BDD7A784B2777BA06885856186705760432E60442C59452689745597705A73
+          4232232C57222C542630582E395F394569586486919EBEC5D3EFDAE8FFE9F7FF
+          EDFBFFD4E4F1A9BAC3788B90485B5E28394227334B2530502631512933552B37
+          592C385C263359232F57202F561E2E581F2F5A202F5D20305E21316022326121
+          32631F336A20356924356622315F202E58212E542430542430540D1A40222F55
+          2B385E2634582933552C35562D32512A304D2F35524C536E7F839FB6BBD4E1E5
+          FDF4FAFFF4FBFFF0F5FFF8FCFFF7FCFFF9FDFFF9FEFFFAFEFFFAFEFFF9FEFDFB
+          FDFDFDFFFEF7F8F6EEECEBEAE8E7EFEBEAF3EEEDF7EFEFFBEFEFF1E3E4F5E5E6
+          FFF0F2FCE6E8FFEEF0FCE1E4FFE6E9DCC3C767525A6F5057682F37641F296F2A
+          39682E33866555513F205041215B3B24782E2E85383B69392D56331F643D2753
+          3C2666745C6077614D50415B4B44916E6B66393669352E69513D5880574E925D
+          66A0666E965F566434675C367450327139287731328E41488038386135246770
+          456A925874A769375E27565A374B3C22523E255E492E6550316041286B3A3067
+          302D5564777C8B9EACBBCED1DFF5E7F5FFEAF7FFD8E4FFC2CDEB8F9ABA616B8D
+          343E60232D4F222C4E222C4E2731532E375C2431572131562131562231582332
+          5923315B222F5B1E2D5B253462243463253465243266233165202E631D2B6019
+          2860182B64142960172A5D20305E27355F28355B253155242E501723451F294B
+          242F4F29314F2F334F3F4159727086A9A8BCE2E1F5EDEDFFF9F9FFFAFAFFF7F8
+          FFF4F6FFF8FAFFFBFDFFF9FCFFF7FAFEF8FAFBF9FBFBFAFDFBF7FBF6F2F6F1EF
+          F0ECECEAE9EEEAE9EEE9E6F1EAE7F3EAE7F5E9E7F5E6E4F6E2E1FFEBEBFFE5E5
+          FFE9EAFDDBDCE9C2C4B0888A7045485D3033612F33743D40743237762D358536
+          44752C366C332A683E2B5A3F2A4D2C1D72343A78333D622C2B6B3A32743D3469
+          3B3079635768564B64443F683F3D986C6D6331317437335837275E8058569460
+          79B0773B71369ACF966696626D91636269486C4138783B397B473A7054364753
+          1F5C7B3E5C7941445627736C516F624C9FA18479805F4C4D2B5E482F74373587
+          363FE9F9FFE5F5FFD4E3F3B0BED0828FA555627C343F5F212A4F30386028315C
+          262E5D2A31622C3365293062272D62262F6123326022335E23345F23345F2333
+          6122326020305F1F2F5E223162202F601D2B5F1B295D1B295E1E2C61212F6422
+          316921356C1B30641C2E5D21315C26325A243054242F4F252F4D151F3D323D59
+          5E6782959BB2CECFE3F2F1FFFFFBFFFFFBFFFFFBFFFDFCFFFFFBFFFFFCFFFFFC
+          FFFFFDFFFEFDFFFEFDFFFAF9FBF8F8F8F7F5F4F5F4F0F3F3EDF1EEE9EBE8E3E6
+          E3DEFAF3F0F9EFEFF6EAE8F3E6E4F8E6E5FDE9E8FFE8E8FFE5E6FFDDDEDCB6B6
+          A278798052516230326834346D37376A3031702F316824257432337D383B6B22
+          2C78313B75353466302960372E60332F7B3B417029336E303072373565282679
+          403E70403E6235327540436F373C986569663134814140683B2E5F5F416B8359
+          667C4C4E6B3961925C72AC766CA57296B890655741856451624B315F5B326078
+          3E5B7A3D6A7D4A61633F614B39967E724B44307E8063918F70644C347A343492
+          3641616F864452692A375125314D273252252E532730562B345F1C2453252F5F
+          2931662229601D275D232C65252E67202C622230641F30611D2E5F1B2C5D1A2B
+          5C1B2C5D1E2F602231621D2D5C1F2F5E223061243263253363233161212F5F1E
+          2E5D1F2F5E20315C24325C253155212C4C2B36524D56716D778F3D475F9DA5BC
+          EAF1FFF6FAFFF6F6FFFFFBFFFFFAFFF9F2F7FFFCFFFCFBFFFCF8FDFDFAFCFEFB
+          FDFEFCFCFEF9FAFCF8F7F5F0EFF3EEEBF2EBE8F1EBE6F1EBE6F5EDE6F7EFE8F9
+          EFE8F4E5E3F6E2E1F8E3E2FFE8E8FFE9E8F4D6D5D0ACACAF87886B3F40683837
+          612D2D6731305F25266F33337A3C3C6F2F2F7431347B3A3971352F6B342D6633
+          316B393B6431356B383C6B343773333880303577242677302C7436306E343590
+          575A713738703637844A4F713840915D646A3237773939763832753C2D713F28
+          724629755936555029697A4F49653A58764D45542EABB68E48592E5C79484E7A
+          3F4F783E4C60335F593C7149446F3D3D784E475E3C2C84664D8B624B833B3486
+          3030232F512935572A365A253056252F572A335E29346025305C2D3766232F5F
+          212C5E263465273566202F601F2D5E2231621D2E611D30631F32651F32651D31
+          611F30611F316022326024345F23335E24325C23315B22315822315823325925
+          3258253357232F513842606A738EA5ACC5D1D8ECEAF1FFF3FAFF4F5669A9B1C2
+          F4F8FFF8FBFFF9F8FFFFFDFFFFFEFFFFFEFEFFFEFFFFFFFFFFFFFFFEFCFBF9F5
+          F4F3EEEDF1ECEBF3ECE9F4EBE8F7ECE8F9EDE9F9EDE9FAECE6FAEAE4F9E9E3FB
+          E7E2FFE8E7FFEBECFCDCDDD0AEAE9973736D45465C30315B2B2A693535602A29
+          6D34337135357A3A3A7635346926257D37377B32347731316D2E26733A316B38
+          35612F2F6A333C672935722D3873292F77302C7A3C316B3A2A6134276A3A3677
+          41416D3132773B3C81494E6B383C905A61743C416B32337C3B3A8C3B34863127
+          7E38277C432D6742287A684B5F61438A9874485C2DABC1905F73445E7B4A4C7B
+          43527F47597043504C2F6A423D733B40794747784842683A2977443079392E7E
+          393028335F25305C242F5B26315D25326023305E24315D25356020305A20325B
+          21345A2033581E32551C325520355520365A1E305F1E2E631F30631F30612032
+          6122326021315C20315825355A1E2F5023325229395623314D1D2B4736435D59
+          657D929BAFBEC4D7E8EFFFF6FBFFF4FAFFF4FAFFF6FCFFF6FCFF5A61709DA5B2
+          F6FCFFFAFCFFFEFCFFFFFEFFFFFEFEFFF9F6FBF9F8F3F4F2EBECEAEDECE8F2EF
+          EBEFEAE7F1E8E5F9EDEBF6E7E5FBE9E8FFEDEAFFE8E6FEE5E3FFEAE9FFE8E7F9
+          DAD9D3ABAC9C7071663A3B5D2E306635376634346531316B32336B31326D3131
+          6F31317232317332317532317532317931317E3031822F3182302F7E312F7731
+          31753033792D397E2B3A842D37752D2D64412D756B4D85886869654972534463
+          332D6C3331864E4D704745673D3E7E484D713B40653638723C3B7C32308A3D3A
+          77392F6E392C774235653A2B664E3C90886B6A6D3FA9AA7876694355532B5777
+          464E7A455A77454A512C5A45368663606747486C45436E392F7A433685544667
+          3A2C1B2A581F2E5C24336126356322315F1D2D5B1E2D5B20315C22335E22345D
+          20355B21375B21375A2138582037572134591E2E5C1F2E5F20305F202F5D1F2F
+          5A2130572532582935572A38552A37512E3C52455366768496B2BFCFDAE7F5EE
+          F7FFF3F8FFFBFDFFFDFDFFFDFDFFFCFCFFFBFEFFF9FCFFF4F9FF6268739FA5B0
+          F7FCFFF9FBFFFAF9FDFCF6F7FCF3F0F1E8E4EFECE8EDEEEAF1F0ECF1EEEAF1EA
+          E7F5ECE9FAEDEBFFEDECFEE9E8FEE4E4FFE5E4FFE3E2F7D3D3D5AFAF98727264
+          3A3B643234642D30652E316B35356D3435682E2F682E2F6E32336F31316F3131
+          71313072323173323175323175322F77322F7B312F7E312F802F32802E337B30
+          327B2F337C2D367E2D36792B2C7740335043237C855D909E7A565F3E857E6358
+          402C7449406F403C653F3B643D3B7C474A642D306334366B37378034387D2E31
+          763534793C387939357036306439305B3A27543A15826840815A3E523D1E4A63
+          3765965E608F513C5C264F54375245377F6664694143894949712E2B69383069
+          413522375D20355B1E30591C2E571E2F5A2134612535642535641E2E5D1D2D5C
+          1E2D5E20305F22326123336222326121305E222F5B29355F2C38602D385E2834
+          582833532B37532F3B53626D819FA9BAD8E4F0EBF5FFECF6FDF2FDFFF4FFFFF8
+          FFFFFFFFFFFFFFFEFEFAF9FFFBFAFFFFFEFFFFFFFDFFFFFAFDFF4F545D90959E
+          F3F5FFF2F2F8F0EDEFEBE3E3F9EDE9FBEFEBFBF4F1EFECE8EDE8E5EDE6E3F1E5
+          E3FEEFEDFFECEBF1D9D9FFECECF0D0D1CBA4A6966E70683B3E57282B602E326C
+          373A64292D6D31326F33346A2E2F6A2B2D6D2F2F713333723434713131713131
+          71313172323272323173323173323172342E6C362B6C352E6E3036702E39732E
+          387330357032326B352E673B2A573A1F4A411B49471F6057365352307C95696E
+          815A5E4D3A5D38306A403981524E844E4D6D34356F3A3D76363B88333B862B34
+          833136803739763233753534773A3875382E82432F7F402B6C3324654833819C
+          708CC9894A984B60A75E5C8552434B2D60443D6F373C8E404797444C6D2B3076
+          3D3E1E345E1F355F21345F1E315E1F325F1F31601B2C5D172559233165243165
+          222F63202D611E2C5D202B5D212C5E242F5B293257273051262E4C2F37544F56
+          71868EA5C7CEE2F3FBFFF1F9FFF6FCFFF8FEFFF8FFFFFAFFFFFBFFFFF8FDFBF4
+          F8F3FFFCF7FFFBF6FFFEF9FFFFFBFFFFFCFDF9F8F6F5F7F5F6FA6A6D75989AA4
+          EBECF6EAE8EEF3ECEFF1E5E5FAE9E6F7E4DFFEF2EEF3E6E4FBECEAFFF1F0FCE8
+          E7F8E0E0E8CCCCC8A8A97D585A653D3E57282B59282A632D326B34376C323765
+          2A2E7334367534367231336E2D2F7131317636367333336B2B2B713131713131
+          71313172323272323272323173313270332F6B372A65372C623139672E3D722E
+          3973303370332F64392A523D215F60387686564C592B5045255F5D3A567C4A5A
+          8252424028593D326740378759527647436B3B396A363676343989343C953841
+          852F37792D31753C3B6A373464302A7A3C3484352C83322B7E3733633A2B5359
+          3095C48585D7845AB46169A96D69845D563C2E884C4D87373E9F4B577B333F76
+          343F182A5F1D2F642032672131661E2E6322306525336829366A1D285C252E60
+          2B35652D356429325E282F5A2A325A2F385A4E556E798093B3B9CCE3EAFBF6FB
+          FFF6FCFFF5F9FFF0F2FCFBFDFFF8FBFFF8F9FDFDFDFDFCFDFBFCFAF9FFFFFCFF
+          FFFCFFFFFBFFFFFBFFFEFAFFFCF7F9F2EFECE6E7EBE7ECF1EFF57B7A84A6A5AF
+          F1EDF8F1E8F2F8EAEEFAE8E9FFECE8FFEAE6FFE9E7FDE4E2FFE5E4E9CBCAAA8B
+          8A795757643E3E542A2B603133602E2E693437733A3B6E33376A2E2F6D303471
+          32346B2B2B6D2D2D7131317232327131316F2F2F6F2F2F703030713131713131
+          722F3273303373303373313273303373332F72362A6B362C5E313A622F3D752E
+          387C2F327C322E6B39274B452291B07D7EBD7F69A0675A653F545B36547A4856
+          7C4C50553A624F406644377952496F51465D3E355E342F733A397D30348A343A
+          822E337937387F5B557D675B64503F5B382B813C39832F33863B3D81473B724F
+          2D666E328FCD7F92E99984D1937AA57A604C3A743D387D3B3C803A4188435274
+          304122336B1C2D651829611C2C61212F63223061202E5E202D5B2C376328325A
+          232A51232C4E3A426069718EA5ACC7D0D6EDEFF5FFF6FBFFFAFCFFFAFDFFF9FB
+          FFFAFDFFFDFEFFFFFEFFFFFEFFFFFEFFFFFEFFFFFEFFFFFFFEFFFFFEFFF8F8F9
+          F1F1FAF1EEF6EDEAF3EAE7F1EAE7F0E8E9ECE5E8EFE8EFF4EFF88A8692B2AEBA
+          F2E9F6F3E5F0F6E2E7FFEBEBFFE8E5FFE4E0EFCCC9B69090805859633B3C5A30
+          315F33326334365F2D2D6B3737662D2E662C2D6B2F2F6A2B2D6C2C2C702F3170
+          30307639377134326E30306F31316D2F2F6A2C2C703030773737713131713131
+          722F3273303373303373303373303375323177342B72342E653039672F3C7730
+          3380302F7E312E6C38285C523097B88571BF786AB2704D64384A512C54683D6B
+          7D5469614A664C3E644437795C4E846D5E61473B60362F713A37763435772E30
+          7E34347A3B377855489685729488706B514075373772282E773B3B7245378868
+          44514E1777A15A73AF6977AB765D735060422F652C23773D37773B3B7D3D4976
+          36491F34611A2F5C1D305D2336612638612032572432562B385827334F4F5B73
+          8D96AAC1CBDCE3ECF9F3FCFFF6FEFFF8FEFFFBFFFFFDFFFFFDFFFFFDFFFFFEFE
+          FEFBFBFBFDFBFBFFFAFBFEF8F9FFFBFCFFFCFDFFF8F9FEF3F5FCF1F3FBEEF0F8
+          EBEDF3E8EAF0E8E9F1E9EAF3EBECF5EBF1F3EBF2F1E9F3EFE8F57C7584AFA5B5
+          F1E4F2FFEFFAF2DBE0E8C9CAAE88868057545E302F5D2D2C5D2B2B602C2C602C
+          2C642E2D6B32336E36356C33326A2E2E7032327737367735367736357533346D
+          2D2C6A2F2D652C2A672C2A6E33317338367136346F31316C2E2E713032713032
+          722F32733033752F35752F35752F357731327C312F7B3131792E36772E367B32
+          2E7B332B77322F6C352C66442C757A4D84C07971B36B52683868644147391C62
+          48306E4437643930573A2C836C5D7B6153714F4266352B69332C6F3D376C3832
+          763A3470322A693223855A458971536D51396C3332774043533D324B4A2E8893
+          656E7F464A5D246D754652462A5E3A2A7B41358544367A41327841386B323A76
+          3D4C192F581C325B23385E22385C21345736486770809DABB8D2D9E7FAE4F1FF
+          F2FBFFF3FEFFF6FFFFF5FFFEF6FEFDF8FFFAFDFFFCFEFFFAFDFEFAFDFEFAFFFF
+          FCFFFFFCFFFFFEFFFFFEFFFDFDFCF4F4F7ECEEF7ECEEF9ECEEF5E8EAF8E9EDFB
+          EDF1F1E6E9F3EAEDF5ECEFF3EAEDEEE6EDEDE5EFEEE6F1EDE6F381798AAFA5B5
+          CBBBCC9F8B975B3F455A3839512B275D302C5F2B2B6B35356E35366930316D34
+          336E35346C30306A2E2E6F31316D2F2F73323171302F6F2C2B722F2E77343372
+          32317035336E37346D34326A312F69302E6A312F6E30306E3030713032713032
+          722F32733033752F35752F35772F35792F337E3031803031822C36802E337C33
+          2B77352A7332316C342F6537254D461B6EA35A4E8E423C531F776E4C6040296C
+          3B2B6E352C733F3853382A937E6F5A4030805B4D713C326F3A3060342D663B32
+          703A3375392D7E3B2C753C265F401F5E3F266F39385B2F30514C3D5E73524263
+          307A975F565C2B7868447648377B3C3480382E7732237E44317B473A7E484D72
+          3C49}
+        Material.Texture.Disabled = False
+        Direction.Coordinates = {0000803F000000002EBD3BB300000000}
+        Position.Coordinates = {000000BF00000000000000000000803F}
+        Scale.Coordinates = {AE47813FAE47813FAE47813F00000000}
+        TurnAngle = 90.000000000000000000
+        Up.Coordinates = {00000000FFFF7F3F0000000000000000}
+        Height = 1.000000000000000000
+        Width = 1.000000000000000000
+      end
+      object right: TGLPlane
+        Material.Texture.Image.Picture.Data = {
+          07544269746D617036C00000424D36C000000000000036000000280000008000
+          000080000000010018000000000000C000000000000000000000000000000000
+          00001B1C261B1C261A1B25191A24181923181923191A24191A241B1C261C1D27
+          1B1C261A1B25191A241A1B251E1F2922232D1A1C27171924171924191B26191B
+          261719241819271C1D2B1A1B2918192718182819192915152516162623233532
+          3347454962414A653F4F6C3F55713A56743854723B536F41546F3C4762191E37
+          1A1E361E243B151E3901122D1D3551324E6D546D8F40557541506A111B2D1B21
+          2E171B26121B2912203641567537547B2C507E274F802B518130548232557D32
+          537A496D91365C7F2E54772C5679285576235474245777245A79205675245A79
+          2B5C7C2B5A7A2A57782C577831577A2F5879365F803A66852E597A2550712B56
+          77285374295273396282436987486B853250691E354B0D1C2F0B15261E20320C
+          15291A34523C62823A6080355D792C587028556A325C6F0E374600202E04212F
+          0B212D0F1C2A181B2A1E1B2B2117281A15241A1F281B252C21262F1E1F291B16
+          251D1625241A2B291F301F162A22192D211B2C1E18291F15252318282E212F39
+          2A3824252F21222C1D1E281C1D271C1D271C1D271A1B25191A24181923181923
+          1819231819231819231A1B251D1E281F202A1D1F2A191B26171924181A25181A
+          25171924171826191A281B1C2A191A281919291C1C2C19192915152518182A1D
+          1E321B1D351A213A1C2B452439542D4561334E693D546E47587227314912162E
+          191C31181C34171E3716253F384E6A4963815871934459793847610A1529151B
+          28141A27131B2C223046435A7A38557C2E507E2A50802B51812E517D30507931
+          517547678A3457792D52743157792F58782A58772A5978285A78255775295A7A
+          2C5B7B2A57782C577830597A30587B2D5578416A8B2954752853742C597A2451
+          722552733059792E55752D526E3F5D783D56700F243A0A192C121E3009112224
+          3147435F7D3E63852B52722F5773305C742F597039647731596B3A5F6D21404F
+          0C23320C1B2B131A2B1717291B172A201D2D1D232E18212A191D281C1C28241F
+          2E27202F23192A191122201A2B201A2B1C19291A17271916251D1827241D2A29
+          202D23232F1F1F2B1B1B271C1C281F1F2B21212D20202C1E1E2A1E1E2A1D1D29
+          1B1B271A1A261A1A2619192519192518182420222D1C1E29181A25191B261A1C
+          27191B26191A281A1B291819271516241616261B1B2B1D1D2D18182816162616
+          162828273B1C1F340D182E08182F0A1E3713294223354C313E541D243818192D
+          1C1C2E1112260E13281B283E3D4E68445A765A70934B608035435F131E32151D
+          2E131A290B152726364D3D547436537A3255813054822E517D2D50783C597E4A
+          66884F6B8A3E5A793754733756753355732E54722E56732C5673305A772B5776
+          2C55752D56762F58792F5879335B7E375F823F6588254E6F224F702B5A7A2254
+          7221506F2A56732D547036547131476311223D09172E14223812213425344748
+          5D7341607F2E5375264D6D2F5774355D79305A712E596E305A6D375D6F385969
+          3852633044561D2B3E0E152912152A2024372025341C222F191A281512211A12
+          23211728231B2C221C2D1E1B2B191A28141725131926151B28171D2A171D2A15
+          1B281E1E2A1C1C281A1A261A1A261C1C281E1E2A1F1F2B1E1E2A22222E20202C
+          1E1E2A1E1E2A1E1E2A1D1D291A1A2618182420222D1C1E29181A25181A251A1C
+          271B1D281B1C2A1B1C2A1A1B291617251515251818281B1B2B1A1A2A1919291B
+          1A2A2522321E1D2D131A2B111B2D0E1D300E1C320D1B2E111B2D15192B1C1B2B
+          221F2E1918281A1C2E30374B4B596F53647E4D60814458772736501421371721
+          33192334141F333D4E683F567636537A33537E33558033537C355277435C7C51
+          69873D526E3045612C425E304662304864324F6A3E5B7641627C3B5D7A335775
+          3155733258783056782C5576335B7E3E66892C507431577A2451721F50702458
+          761F516D224D68395C762D45611F2D490A132E141E360A182F0E2037455E725C
+          7B92426482385D7F3B62822F57742A526E3059722C566D355E742D546A385B6F
+          3E5D723F5A6F3F546A38485F25324C121E3609122611182B181C2E1B1B2D1D19
+          2C1F192A201A2B1D1A29191A28151826101825101C2814202C14222E14202C0F
+          1D291E1E2C1E1E2C1D1D2B1B1B291717251515231616241717251A1A28191927
+          1A1A281C1C2A1F1F2D21212F1F1F2D1E1E2C1F212C1C1E29191B26171924181A
+          25191B26191A281819271C1D2B1B1C2A191A28191A281819271718261717271A
+          1A28241E29211B261A1A26191F2C182031141E2F121A2B131827171725201C28
+          251E2B231F2B21212F303446424C5E4B596F4A5A7740526F1D2B420E1B310E18
+          2A121E3018253B4B5C76485F7F3E597E3A577E3C59803C567A354D6B2E425B2A
+          3C530D1B3207152C08162D0B193008182F0C1E351A2B451F354E384F69405B76
+          425F7E3758792E537530597A325C7F32597F264A7033597C2653741C4E6C2459
+          7428597328526936566D24354F0A132E10142D090E2716253F445C743F61792A
+          526B3B61813B6183486F8F385F7F2F5774365E7A2B536F2F5871365E77345973
+          30536D35567045627D4D68833D5775293F5B162A4314243B101D3311182C1819
+          2D1E1C2F1D1C2C181826151826141A25121C26131F2913212D11212D121F2D0F
+          1F2C1919271C1C2A1E1E2C1C1C2A171725151523161624181826161624161624
+          1717251818261A1A281C1C2A1C1C2A1B1B2920222D21232E1F212C1C1E291A1C
+          271A1C271A1B291819271617251819271A1B291B1C2A191A281819271818281C
+          1A26332A342B232A1F1C25181923151826131827171A291C1D2B1F1D29241E29
+          231B26241E291917231C1D2B1D243527304435435A33405A162339111C300D17
+          290D192B17243A43546E405574455E80496387445D7F364B6723344E17253811
+          1D2F101A2C0D162A10192D12192D0A11250710240B162C0D19311B2A44384B66
+          465E7C3756753356773D6687366385224E732F547A264D732653752554732354
+          6E305E7634596F1F3A4F041229131831181C351B223D2D405B3B58732D557127
+          5370295272274D6F365D7D3A61813C63833C64812E56733159762C5471315775
+          395F7D3D63813A5D7E34577836597A3D617F3A5A77324D671F374F1020370B14
+          28101427171A291B1C2A171B26161C27161F29151E2B141D2A111C2A111C2A11
+          1B2C1616241919271C1C2A1D1D2B1B1B291A1A281919271A1A28181826191927
+          1919271818261717251616241616241717251D1F2A21232E22242F1F212C1C1E
+          291D1F2A1E202B1D1F2A151722181A251A1B291A1B291A1B291A1B291A1B291D
+          1B27241C23261C22251D2722212B20212F1A1D2B191A281919271F1B27241E29
+          201823251F2A1D19251E1E2C191B2D22283B0E172B161F3311182B161E2F161E
+          2F141E2F222D414151683A4C6942567542567531445F1F2D431721331A202D1A
+          202B1017260E1524141928191C2B151827151729171B2E14192E0C142B202D47
+          3247633955733C5F803C6586305E802350752A567B234D722751742B57762954
+          6F2F556D2744590A1F340E192F1419320B122B34405C475F7B3153712F5B7A26
+          5574305B7C264F70254E6F2A537433597B385F7F3B6282456C8C33597B345D7E
+          3962833A65863660832B587A2754762855762F5D7C35607B3659732F4B632639
+          4E1D283C171E2F1319261C202B1B1F2A1A1D2B191C2A1A1A2A19192B18172B18
+          172B1A1A281B1B291C1C2A1D1D2B1D1D2B1B1B29171725151523171725191927
+          1A1A281919271818261818261A1A281C1C2A1416211B1D281F212C1C1E291A1C
+          271C1E291E202B1F212C21232E1F212C1C1D2B18192717182618192717182619
+          18222C242B2B2127261E28201C271A1A281616261818281C1C2A1C1A2624202C
+          1E1724231F2B1B19251F1F2D19192B212335131729191E2D161C29171D2A1218
+          250C13221F293B37445A4A57713C4B6524314B0C192F0D15261C1F2D24262E21
+          232B1F232E161C29171A281A1B29171725181826191828131527151A2F0C192F
+          1D314A3E59744367852C58771E4F6F2356771D4D712A567B2853742C5270395A
+          742A465E0F243A08162C0F1C32020E26303D57495E793855742F557527547525
+          53752752732B54752A53742952732B51732B51732E54772D5578436B8E456F92
+          3B678C2B587D23537727597D295B7F245778255878285874305874395B73425A
+          70404F622F394A1E25341F22301C1F2D191C2B1A1A2A1C1A2D1E192E1D172E1C
+          162D1A1A281919271818261B1B291F1F2D1E1E2C1A1A28161624171725171725
+          1818261818261818261818261818261818261717231B1B271F1F2B1E1E2A1D1D
+          291B1B271A1A261818241C1C281D1D291D1D291E1E2A1E1E2A1F1F2B1E1E2A20
+          1F292019202A232A231D281F1D291716261B1B2D1616281B1B2D1817271F1F2D
+          1D1A291A17261F1F2D1D1C2C1B1B2D2424341A1C271C1D271C1D271B1D271A1C
+          27181B29151C2B141B2E161F3318213511182B0E15261D212C23222B1F1B201F
+          1E22151A23141A251B1F2A23253023232F1F1D291C19281A1A2A121628121D31
+          061B31405B753B607C2854731C4F6F1F54752358792050722F5676365673384F
+          691C2B45000820101D33031128253A50415A743C5A752D50712C52742A547927
+          5176274F722C54772C5477274F72274F722C54772D547A2950763A64892A567B
+          37628945729834638925567C25597E23577B2D5E7E2E5A772D5470385671465C
+          75415267293547161E2F0C1324141928191D2F1A1B2F16172C17142D1B17301E
+          1A331B1B291919271818261A1A281D1D2B1D1D2B191927161624181826181826
+          1919271919271919271919271919271919271717231919251D1D291F1F2B1E1E
+          2A1C1C281B1B271B1B271C1C281C1C281D1D291E1E2A1E1E2A1E1E2A1E1E2A20
+          1F29211E272D283124202C211E2E18172B1B1C3113142916172B1517291C1F2E
+          1A1A2A1819271F1E2E1F1E2E1E1C2F2625351E1D26211F25211F251E1D261B1C
+          26191B26171A28161B2A131A2B171E2F151A2918192723242E28262C24202525
+          23291D222B151D2A161A25181A251B1B271F1D2922202C222331131827101C2E
+          081B302E4A62355A7626526F2557752056751D53722857762B4F6D3B55732937
+          53131A351F263F09132B1D32482D4961375A742E5672264F6F2951742F547A2E
+          53792C5379264E712850732E56792C5379254C722A5177355F84335C832C577E
+          28537A224F742754793B6B8F3C6E922B597B2B5272345674405E7B3A526E2132
+          4C132138131E340F182C141E300C16280B1428121A31131B320F142D0E122B13
+          17301C1C2A1B1B291A1A281B1B291C1C2A1D1D2B1B1B29191927191927191927
+          1919271919271919271919271919271919271818261717251B1B2720202C2020
+          2C1C1C281B1B271E1E2A1C1C281C1C281D1E281D1E281E1F291E1F291E1F291E
+          1F29201F292928321F1F2D1F1F311A1B3020223A171931181A3215192C191D2F
+          181B2A1619281C1C2C1D1C2C1C1A2D242130221E24231F24231F24201E241D1C
+          251A1B251A1A261A1B291619271A1D2B191A281A1A26201F291D1C251A172017
+          1822131B28121B29131926141823191B261D1D291D1D291A1B29202534182535
+          0F2335223F5432556F26516C2C5B7A23557324567224506D355572273C580A12
+          2F070B27121632101D373A526A35576F2E59742655712451722A52752F53792D
+          51772B50762A52752852772650752852772E587D325C81335D822B557A285277
+          2A54792F597C2E587B2B5578315C7D3F6585506A88485A77263451101C38171F
+          3C131C3708122A0C183007172E15273E2B3F58374D662E445D192D46071B3403
+          142E1D1D2B1C1C2A1C1C2A1C1C2A1D1D2B1E1E2C1E1E2C1E1E2C191927191927
+          1818261818261818261818261818261818261919271717251919251F1F2B2020
+          2C1B1B271A1A261E1E2A1B1B271C1C281C1D271D1E281D1E281D1E281D1E281D
+          1E28191B2521232E1919291A1B2F1B1D35292A4422263F23273F191E33192031
+          191E2D171D2A1C1D2B1D1D2B1F1C2C231E2D211D23221E23221E23201E241D1C
+          251B1C261B1B271C1C28191B26191B26191B261D1E2C22223020212F1C1C2C18
+          1D2C0D1526101A2B151C2D161B2A181B291B1D28191B261215230F16250E1B2B
+          122336324A6043627B3B637C36607D2D59762D59712D526C304B651425400C12
+          2F0F132F151D3A43546F3C59743057732655712655742855772B52782E4F762C
+          4D742B51742B5376265075244E732D577C386287355F84295378254F74335D80
+          345D7E2A5072294F6F3054723256743855702F3D59242B462428441F233F0C10
+          2D09112E101C3804153019304A304B6642607B3E5F7936577132506B2946611C
+          3A531B1B271B1B271C1C281C1C281D1D291E1E2A20202C21212D1B1B271B1B27
+          1A1A261A1A261919251919251A1A261A1A261A1A281717251919271E1E2C1F1F
+          2B1B1B271919251C1C281B1C261B1C261C1D271C1D271D1F271D1F271D1F271C
+          1E28171C251F223015172917182D1A1C342D2E48292D462B2F471B2236192132
+          19212E1B212C1E202B22202C26213028212E231E27211F25201F281D1E281B1C
+          261A1A261B1B271B1B271F1F2B181A251819271A1D2C1A1E31151A2F10152E0A
+          112A10182F131C30151C30131A2B151827171A281A1D2B1B1E2C1A2130162031
+          102031374C613C587042647C385D793F647E406077405D72142A430A19330F1A
+          360F1A3631415E475F7D345372264F6F214E6F2553752956782A51772D4E752D
+          4E752F5578254D70254F74315B803460852D597E2855772B55782751742B5475
+          2C5272335573405E7B3B5873263F59152A400C142B1C1F341618301317301F26
+          411A24421325442239593352713558793158782953702F59763C64803B627E31
+          56701717231919251B1B271B1B271A1A261B1B271E1E2A20202C1E1E2A1E1E2A
+          1D1D291C1C281B1B271B1B271C1C281C1C281A1A281A1A281A1A281C1C2A1D1D
+          291D1D291B1B271A1A261A1B251B1C261B1C261C1D271C1E261C1E261C1E261B
+          1E261B1F2A212734181A2C16172C181A322B2C462A2B45292D45171E31121B29
+          151D2A1920291B1D2724202B2C242F29212C24212A22212A20212B1D1F2A1B1D
+          28191B261819271A1A261F1F2D171826191C2B1D2336192039141C390E19390A
+          15350C1733101730131930151A2F161A2C161928181B2A191F2C151C2B151F30
+          1624363E52643C5369405C742D4B6638566F465D73293C510C1D3204142B0D1B
+          372B3D5A435877324F6E2E5172254E6F214E70245173275176284F752C507630
+          547A284E712C5477315B80345E832D597E2652772653752A5778325B7C2B5272
+          3254713D5B76334C66182D43081A310E1C2F1E2536131729141A2D161C330B16
+          311D2D4A4057774C6A8D395D812F597C2C5A7C305F7F32607F2F5B782D55722D
+          5470161721191A241B1C261B1C26191A24191A241B1C261E1F291F202A1E1F29
+          1D1E281B1C261B1C261B1C261C1D271C1C281818261C1C2A1D1D2B1B1B291D1D
+          2921212D20202C1A1A261A1B251A1B251B1C261B1C261C1E261C1E261C1E261B
+          1E26191D282127341A1D2C18192D1A1A322A2B45282A42272C41151D2E0E1724
+          121B25191F26181A22231E272B222C251C2621202A1F212C1D212C1C1F2D1A1D
+          2B191C2A191C2B1B1C2A18182816192825293C3138512D3755283758293A6128
+          3A5F172041121835101430171B331A1E3115192B161928171C2B212837151D2E
+          0511230C1B2E0C1E352238512E46624A5F7A2E3C4F0B15270F1C32112138253A
+          554D68834764833A5D7E32587A2D5578295376285277295076284F752B51742E
+          54772B5076355C823660852C567B24507529567B2B597B275475305979355B79
+          2F506A122C440010260B1A2D222B3F1F2738202936111D29010E1E0F1E313145
+          5E3F577536557634587C3B658A35628835658936668A315C7D274E6E294D6B35
+          57751918221D1C26201F291D1E28191A241819231A1B251C1D271E1F291D1E28
+          1B1C261A1B25181A24161B24171C25181C271418231C1D2B1D1E2C191A281C1E
+          292525312424301C1C281919251A1B251B1C261B1C261C1D271B1E261B1E261B
+          1D27131722202331191C2A181A2C191B332C2D47282C45282C441C2334131B28
+          171E271D20281B1A24231E27292229221A241E1D271D1D291D1F2A1B1F2A1B1F
+          2A1A202D1B202F1C20321C20331D22373037523B4563303C5E25375C263A6328
+          3B612E3A5C1C24410E143111162F151A2F161A2C1B1E2D2326351116250F1625
+          141C2D0D172909162C0B19300718320F1C36131C30161D300611252432494458
+          713C54703451703253743B5E80385C80365A7E32577D2F547A2D52782A507329
+          4E743B628830577D2852772A54772D577A2D56772C55753359772C4E6B12314A
+          051F37031B2F1120332B3749373E51212B3C05182509202F1F38483550653A57
+          7237567532567A2E587D2C58812F5D8634628B38658B396388375B7F3151742B
+          496C1B17231E1A26201C271D1C26191B23181A221A19221B1A231C1B24201F28
+          1E1F29181A24111722121C260F1E270D1C25121C26131C26131924121823171B
+          261E202B1D1D2B1717251E1E2C20202C20222D1E202B1C1E29181D26181D2619
+          1E271A1B291A1B291E222D151B28141830272B472A2D4C2529451A2132161C27
+          191B251B1B271C1928201D2C25222B2220261F1B261A16211F1E2820222A181B
+          23161B24161E2B0F16291920392D3553363F642F3A6028385D24365B25395C29
+          3E5E33456426345014203C0E1830131A2E171E2F1B1E2D1B1C2A181927171826
+          15182716182A141A2D131A2E11172E0D152C0E15290F192B1520341D2A402A38
+          4F34455F3B506C3F5775314A6A34507239577A3C5C803B5D81395D81385D8337
+          5E842A557C28537A2852772E5476385B7C3B5B782C49641D374F071E3401162B
+          081C2E2436473745572735471220320A1E30042437234A60365F763259753158
+          782F577A2F597E355F892D57822F59842C56812A517D3154803C5E8944618D42
+          5F8B1E1A261F1B271E1C281E1D271B1C261B1D251B1D251D1C251E1B24211E27
+          1F1E28191B25131924101A240D1C250D1C25121C26131C25121B25131924171B
+          261E202B1E1E2C1B1B29161624181826191B261B1D281B1D281A1E291C212A1E
+          222D1C1D2B1C1D2B20252E141D27151B32252B48282D4E262A471B2233181C27
+          191B251B1B271C182B1F1C2C20222A1E1E24221E291D1924201D262121271B1E
+          22161C23141C29111B2D232B48313B5D343E6628366024355C25375C273C5C2D
+          42613246652C3E5B1E2C480E1A320F182C181F301C1F2E171826191925191925
+          1919271A19291A1A2C18192D18192E15182D161C2F141C2D131A2D10192D101B
+          31111D3513203A11223D394D6C364B6A314A6A304B6D32507337577A3C5F813E
+          6286355F84345E81375D7F3457782B49661A354F0F263C0B1E33011225233344
+          44546548586928394C021326001126122A40294E68325C79305C7B2853742D57
+          7A2F5B802F5983315C872F5984264F7C284F7C3158843459852D507C2E4F7C36
+          57841F1C2B1D1D291B1D281B1D271A1F281A1F281C1E281D1E281E1D27201C27
+          211D29201E2A1B1C2A161927111926131B28121B25151B26141A251519241619
+          271C1D2B1E1E2C1E1E2C1717251818261919271A1A28191925191B261A1C271B
+          1D281E1E2C1B1C2A20252E151E28131B32232B48272C4D2529461B2233191D28
+          1A1C271C1C2A1C182B1E1B2B1F202A1D1C25201C271F1B261D1A231C1F241C20
+          25141C23131C291A2539293450303C5E2B375F202E581F305726385D2A3F5F2F
+          44633347663749682D3B5714213B0E192F1A21341D2133161725191925191925
+          1B182718172716162814152915162A16172B181B2A151A2914182A1118291118
+          2B10192D101B31101C3402102C0B1C371A2F4B2F45613E5674435D7B3F5B793A
+          57762E52703458763A5C7932506B17334B01192F02172C102436485C6E475B6D
+          2D4055071C310010260A223A29425C3F5C7738597A385D7F33597C32577D365D
+          84345C862C56802A547F2B56812C57822A558027537C28527C2B557F30598031
+          5A811E1E2C1B1C2A171A28151B26181E291920291B20291C1E2821202A201C28
+          211D2925202F221F2E1B1A2A181828191C2B161927171B26171B261519241617
+          251819271C1D2B1E1F2D1B1B291B1B291A1A2819192717172316162216162216
+          16241B1A2A1819271D222B141C29131B32212946262B4C2529461B2233191D28
+          1B1D281D1D2B1D192C1E1D2D20212B1C1E261918221C1B251A19221A1D221A20
+          27111A23161F2D2732462A36522E3A5C24335A1A2B522132592B3E6330456533
+          48683449693B4E6F354562202D47151F371B22361E22341B1B2B1B1B291C1C28
+          1E1B2A1B182717162615152716162818182A1D1D2B1C1C28191A281818281618
+          2A14182A13182D12192D101B310A162E06132D08173112233D20344D2F435C36
+          4E663F5B7328475E102B4000172B001729172D3F3C5062576B7D41556723384D
+          00172D00172F1D3B543A58753A59783152732F517534557C365981385C84365C
+          862D548027517C29537E27527D2F5B842F5B8428557B27547A2F5C81305D822B
+          597B1C1C2C1A1B29141A27121A27131C29141E28151E28181C271E1E2A1D1A29
+          201B2A271F30251F30201A2D1B172A1B192C1B1B291B1C2A1B1C2A191A281518
+          26151826181B291C1F2D1819271718261718261718261919271919271A1A281A
+          1A28191828151624192029131C29141C33222A48252C4D252B481A2132191D28
+          1B1D281D1D2B1C1A2E1F1D3022232D1D1F271817211F1E281C1E261A1D25181F
+          28121B281A2435303D532D3B572E3D5E26365B2031582B3C63374A6F394E6E37
+          4E6E384E713B4F72384A692B39551D2843161E35181C2F1C1C2C1E1E2C211F2B
+          211F2B1F1C2B1D1A291B1A2A1D1C2C1F1E2E1D1B271E1A251B19251A18241717
+          2516172514162812162814182B141A2D151C30131C300F1A2E0D182C0D182C0A
+          1A2B162A3B091E2D001423102332374A575568775363733C4E5F14283A051C32
+          08223A26435E3C5C793356772B5173375C82375A853457833257832F56822950
+          7C234D7828527D2E588329557E26527B2B578035608734608528557723507227
+          54751C1B2B1A1A2A171A28121A27121B28121B28131C26141A25191A28191927
+          1E1829211B2C241B2F201A2D1E172C1B172A1E1D2D1C1D2B1C1D2B191C2A171A
+          28141A27161C291A202D161C29171A28151826171826191A281B1B291D1A291D
+          1A29191828151624192029151E2B161E35232B49262D4E272D4A192031181C27
+          1B1D281E1E2C1C1A2E201E3121232D1C20251A1B2520212B20222C1B2029161F
+          2916212F222E403341582F3F5C30416227395E22355A2F42673C50733A517138
+          4E713C54783A5074394C6D34446125324C151D341016291919291A1A281D1B27
+          1E1C281E1C281F1C2B201D2C221F2E23202F1E18231F1A231F19241E1A251F1B
+          271E1C281D1C2C1C1C2C18182A181A2C171B2D15192B1216280F162512172613
+          1A290C18240A192209172315232F323E4A414F5B303D4B102030091A2D253A50
+          415A744D6A85486A883A6080365C7F3C6389375F892C56812A547F2A547F2650
+          7B27517C2C56812A547E2F59832D57812F587F335A8132597F2F577A2D53762C
+          5274211A29201B2A1C1C2A191C2A131C26121B25121B25141A25141725191927
+          1B18281B18281F192C1F1B2E1C1A2E1816291B1B2B191929171A29171C2B161C
+          29121A27131B28161E2B1A222F1A202D161C29171A2819192918182818172717
+          1626191828141523191F2A151E2B161E35232B49252B4E272C4B192031181C27
+          1A1C271D1D2B1B192D1E1C2F1F212B1A1E231B1C261C1D271B2029171D28141D
+          2B1D2A3A2C3A4D303F5930425F2E416224375A1F33562D4164394F723B527239
+          4F723F567C3B52783C50733A4C6B2C3A5619233B12182B161928171725191723
+          1C18231E1A25201C281F1D291F1D291F1D29221D26221D26221C271F1B261E1A
+          261A18241916261615251C1B2B1C1B2B1A1A2A19192918192718192719192518
+          1A2513192418212A19222C141D27141A25141C29111A28081223212F423D4E63
+          445A733B546E3C5A77496A8B496C8E3D65882E5B8127557E2B59822D5B842856
+          7F2C58812F5983285178325980385C8434577F2C4C752C4B72304F762C49701E
+          3B6029192A271D2A271E2B201E2A1A1C27161B24161A25171B261618231A1A28
+          1C19281A17271B1A2A1E1E301B1C3016182A16182A131625121726131A29131B
+          28111926101926131C291A222F171F2C161C29151B28171A2919192918182817
+          1727191828131422181E29141D2A151C3521294723294C252A49192031151B26
+          1A1C271C1C2A1A182C1C1A2D1D1F29181B23181A22141620151924121A27131B
+          2C2530443442592E3F5A3143602D42612136561C3053293F62394F723E55753E
+          54773D567E3B547C3E54783C4F7032405D202C44171E32181B2A1B1B291C1A26
+          1D19241F1B26211D29211D291D1B271D1924211C25221D26231D28231F2B2420
+          2C221F2E232030211F321C182B1715281514241514241A17261C1A261D1B271C
+          1B25191B261B1D281D1F2A1C1E291A1C27171A28171C2B171E2F0F192B172538
+          2334493347604158723E58763753723253743661823361833967893663852855
+          772C5679355C8231567C31557B2E4F76304E7736527B2F4B741C355F051E4800
+          123C351B2B311D2A2F1D2A2C202C2A222D25222B211D281C1B25201F291F1D29
+          1D1B27181826171727161B2A161D2E161D2E131A2B14182A131A29141B2A141C
+          29121B28111B25111B2517202A151E28121A27131926141928181B2A1A1C2E1B
+          1D2F18182A1B1E2D1218231D26330C162E222C4A22284B272C4B181F32191F2C
+          1A1B291919291C1A2E1E1C2F1B1D28181B23171A22181A24171A281118291019
+          2D2F3B5333425C30425F304463283D5C283D5D1C3353263D5D3D54743D51743C
+          527640588239517B3B50763A4D7033415E2F3B5310172B15192B1819271C1A26
+          1F1B26201C27201C271F1B261C1A261B19251E1A251F1B261F1B261C1A261C19
+          291C1A2D1E1C2F1F1E32201E32262438211F321817271A17261A18241E1A2621
+          1F2B1C1C2A1B1B291A1A281919271919271A19291A1A2A191C2B181C2E161C2F
+          121B2F0F1A2E111F351D2D442F405A384F693758722F57702E55713459753E62
+          804367853A5D7E3050732E4E713555792F4C73112D5600163F011C481E396537
+          527E502D3B4A29374227313C242E36232C32232B2E21292A1F27271E28251D27
+          231B261E1A261A1B29181E2B161F2D141F2D1018291017260F16251119261119
+          26111A24121B25151C25161C27151B26141A2512182511172411162512162813
+          172916182A181B2A111722202937111B33232D4B23294C2A2F4E1920331A202D
+          191C2A1A1A2A1E1C301E1E301D1F2A1A1D25171A22151A2313192611172A151D
+          3435405B3543602D3F5E314564293E5D263E5C1D3454273E5E3E55754054773F
+          55793F57813B537D3D537C3A4D72344161323D58141B2F171B2D1A1B291B1B27
+          1E1D27201C271F1B261E1A251B19251B19251B1A241C1B251E1C281C1C2A1C1A
+          2D1C1B2F1D1C301C1D32222338292A3F27263A201E311E1D2D201D2C1F1C2B23
+          202F1D1C2C1C1B2B1C182B1B18281A17271A17271B18281918281C1C2C1E1E30
+          1E2032191D2F12182B0D14270B15270716290A1F34223B4F3D556B425D723C56
+          6E38536D3F5A75466280415D7C1B375900193C011E451C3A6333507C38588338
+          58838758617E515A714850643F475A394054353C4F353B4C353A442D353C2A31
+          34252D2A212B21202A1C212A18222C17232F1F28361B2432181F2E171F2C1A1E
+          29181D261A1C261D1F271B1C261D1E281D1F291D1F2A191C2A151B28161B2A17
+          1C2B1416281417260D16201C2735121C341F28491D2648242C4A171E31171D2A
+          1619271919291C1A301D1C301B1D28171D241A1D25161B2413182712192C1821
+          3C3A4563364566293C5D2D4262253D5B223A581B3351273C5B3C517140537640
+          53783B537D3D557F4157803A4D72334060343F5A181F33181C2E1E1F2D1E1E2A
+          1F1E281E1D271D1C261D1C261C1A261C1A26191A24191B251C1E291B1E2C1A1C
+          2E181C2F181B30191B3322243C292B4328293E1E1F331E1E301D1C2C1D1A291F
+          1C2B1D1B2E1D1B2E1F1A2F1E1A2D201A2D201A2D201A2B1E1B2B1C19291E1B2A
+          1F1C2B1E1E2C1C1D2B1B1C2A191C2A181E2B181F2E1118290D15261822332D39
+          4B3544572B3C51172B44041B350C264423405F39597C3F6387385D832E557C2E
+          557C8D545C935D649B676EA070769E707694686E875E637D555A6D494F68484D
+          60464C57454C4941483B3B4131373E2B343D242C391D24331A202D1C202B1F20
+          2A1E1D26211C25231F25221A24231E27221F281D1C261717231114220F142310
+          152416182A171A29101923182331111B331F284920294B212947171E31161C29
+          1518261919291C1A301C1B2F181C27161C231C1F27191E27151A29131A2E1921
+          3E3E49693A486C2C3F622B4060253D5B1F37531B334F273C5B394E6D41547741
+          5479394F793D557F445881384A6F303D5D35405B192034181C2E20212F20202C
+          201E2A1F1E281E1D271E1D271F1D291D1D291A1C261B1D271A1E291A1D2B171B
+          2D151B2E161B30161C331F233C272B4323273F191D3017182C1818281716261A
+          17271A182B1B192C1E192E1F1B2E221C2F231D2E231D2E231E2D231E2D211C2B
+          1E1A261D19251C1A261E1D271E1F291F202A1A18241C19281C19281515230E11
+          200E1322141C2D182337213247344861425A763C5A773052702E5474355B7E38
+          60838D4E508B4C4E864A4B864A4B874D4E8D535494595D99606398626798666A
+          966D72927277856F7473686B6763685F63684E5461414655373A483636423933
+          3E352C3634272F35272D31202932232B2F242E2A222D221E2A1D1D2B1C1F2E1E
+          21301A1A2C1A1D2C141D27141F2D111B33232C4D283055252C4D181F32161C29
+          1619271B1B2B1E1C321C1B2F181C27171D241A1E231C1E28191B2D1418301820
+          3E3F496B404E72374A6D2C416128405E2238542238542C405F3A4E6D47577B44
+          577C384E783D557F43578037496E2F3C5C35405B1B2236181C2E1C1F2E1D1F2A
+          1C1C281B1B271B1B271C1C281D1D2B1D1F2A1E21291D20281A1F28181C27151A
+          2913192C141B2F141C3320253E282E4523273F161A2D14152917172717162618
+          182617162618172719172A1A19291D1A2A1E1B2A1E1B2A1F1C2B211E2D201E2A
+          211F2B211F2B201F291D1C2616172115141E1C18241C15221C15221C18241D1B
+          271B1B27181B29131A29091324111F31192C4121384E304A623F5D7646648142
+          627F8E4B4A914E4D955251985252975151934D4D92494B8E4849944F528E4E53
+          88515482555877565A705B5E75686A7A767B7C7E89686B795B5B675F5964655A
+          6466555E685159695159573F47543D454C394240323D322A3527232F20202E1E
+          1E2E1E1E301B1E2D151E28121D2B121C3420294A272F54232A4B181F32151B28
+          1518261B1B2B1E1C321A192D151924151B22171A1F1A1C26191B2D12162F151C
+          3D40496E4552783E50752A3E6128405E203652233A542D425E374B6A47587944
+          567B3B517B3F557F41557E36496C2F3D5A35405B1B22361A1E30181B2A191A28
+          191925191925191925181A251A1B291B1D281D20281C20251A1D25161B241318
+          2711192A141B2F151D341D253C262E4522273C12182B13152715182718182618
+          18261A1A281A1A281A1A281A1A281C19281D1A291D1A291D1A291D1B271C1C28
+          1F1F2B21212D23232F23242E20222C1F202A1816221A16221C18241F1B261D1C
+          261B1A241718221719241C1F2D1219280E18290E1C2E0F1E311122371A2C4328
+          3A51924846934947944A48954A48974A489A4A499F4C4EA14E509D4C4F95484B
+          8A474A81484B73484B735256816B6D8F84877978825F606E534F5B5D535F7160
+          6B7E66708669728C6D7494737A8F707982697375616D655763564D5A47445340
+          40503C3C4E2E3140262E3B232E3C202A421D264720284D2027481B2236171C2B
+          171A281E1E2E201E341B1A2E161A25161C23181B201B1D27181A2C11152E141B
+          3C3F486E4350763B4D72273B5E293E5D1E3450243B552D425E35476646557640
+          52773D537D3D537D3F527836466A2E3C59333E591920341A1E30181B2A191A28
+          191925191925171826171826181828181A25191D22191E1F191D22161C23141A
+          27121B29151C2F161F331A2239242C4322273C13192C141628181B2A1A1A2819
+          19251D1E281D1E281C1D271B1C261B1C261B1B271C1C281D1D291F1F2D1C1D2B
+          1A1B29181A25151924161A25161C27181E292127321A202B151B26191D281D1F
+          291B1D27191A2419182224232D1D1C261919251C1D2B1C1D2B1717271517291A
+          1C2E964C489A4D4A9B4E4B9C4D4A9A4B489B48469D48469E49479B4545994948
+          984F51935254864E53784E55795F657E737B7D7D8B5C5F6E4646544A444F5D4C
+          576D50597750587C52597A4E557E525985596089626A866B7486717988737C83
+          727F6F6575514E5D4A4953494B563C4058252D4B1D294D1F2B4D1E293F1B2334
+          19202F20243620253A1A2135161F2D17212B141D27171F2C151B2E0F142D131A
+          3B3C456A3C4C70334669273B5E2A3F5F203453273B5A3143623547664556773F
+          52773E547E3A507A3B4E743343672E3957333D55181E311B1E2D1C1D2B1C1D27
+          1D1C261C1B251A1A26181A25181927161A2515191E141B1E161C21161B24151B
+          26151C2B161E2F162032192138252D44242B3F171D30171C2B1C1F2D1C1E291B
+          1C261A1B251A1C24191B23181923191A241B1C261D1D291E1E2A1A1A281A1B29
+          1A1B29191B26151924141823131924141A25111A27111A27151E281C232C1D21
+          2C181C27181A251A1B2911111F1E1A26241E292119241E16211F19241E1A261A
+          1726984B48984B489B4C499B4C49994C499B4C499F4B469F4B469B4B44994D47
+          934C49904B4E8E4B547F4D59735F6C797987767C8F505C6E3643533B414E5D4F
+          5A71525B804F57844A4F884F528D4E50944D50904D507F51507B5250864F5281
+          4E56694C5B5D4C595A464B50404746405121284315284B11274B273B54374659
+          3643532F3E4E27384D1E33491A2F440D21330E22341220360E192F1B223B131C
+          372E3A56374B6A273E5E273D60293D6028385D243256313F63394A6B344B6B42
+          5B7D384F7C40558234446E253357404A682B31480F112320202C232029211D23
+          1F1B2125212726232C1C1B2414151F171C25111821111A23121B24161C27191F
+          2C19202F181F30151C2F1D253C212C42242C43121C2E1219281A202B181A241C
+          1E261C1E281D1F291D1F291C1E291D1D291D1D291E1C281D1B271E1C281B1B27
+          1919251819231819231A1B251C1D271C1E291318271318271719241A1B251618
+          231619281B2236171D341C203819182C221B2A2219231B131A1E1A2026263233
+          3644954B49954B49964B49974C4A944D4A954C489C4B469C4C45984D45964E47
+          934C49914A4D924953824B5A715E6D74798870798D4C5A6D2E4051333C495347
+          53704E58844E558C4A4F8D4D4D924C4C9E4B4A9B4B4A874F4A864F4A964C4C8E
+          4B507B546371596575575C6A5155564C592A2E46192C51132D511E334E2D3E51
+          29384825354520354A243C522F475D2A4258233B532337501E2C43232D451620
+          382B3852384F692E48662841632E446838476E3A446C424D733C4C70263F5F27
+          43652A426C3247743848723A486C2E3856252B421F22311C1C281A1720211D23
+          231F241D1C201B1A231B1D25191B25111722141D2A121E2A141C29121A27141A
+          27171C2B1C20331D22371C243B212C42242C43131C30131A2B1A202B181B231B
+          1D251D1E281C1E291D1D291B1B271B1B271C1C281E1C281E1C28191723191723
+          1B1A241C1D271F202A1D1E2817192111131E181A2C171A291B19251D1C261919
+          25171B2D192039161E3B2228451818301F1827312630443D4259555A61636D65
+          6B788B4B4A8C4C4B8F4B4C8D4B4C8C4C4B8D4C4B954B49974A47954C48944D49
+          904B48904A4B934850854B56755F6B78798771788B4C5A6D304051333B484B3F
+          4B6D4B55884F57904D528D4D4D924C4C9E4B4A9B4B4A874F4A864F4A964C4C8E
+          4B506F485772586585656A7F666A695C6A32344C15274C0C244840536E536275
+          56616F505D6B425366374A5F34475C283B50142B411D314A25334A333D552A34
+          4C33405A394E692D47652A426631466C3F4D77424E76445078384A6F1D365616
+          3254273F69293C672E4167334165353F5D12182F171B2D1112201A1B251F1E27
+          1F21291A1C24111520131924131B280D16240C1725101B29171E2D181F2E191E
+          2D171C2B181C2F171C311D233A232A43262B44151B3215192C1C1F2D191A241C
+          1B241D1B271919271A17261916251916251A17261C19281D1A291D1D2920202C
+          21212D1F212C1B1D27191B25181D26191D281115271316251818241B1C261D1F
+          2A1D22311A213A1A223F1F25423131494B445360585F6D666B6F6B70696B7563
+          69748B4B4B8C4A4B8F4A4D8F4A4D8C4B4D8D4B4C944A4A954A48934C49924D4A
+          904B48924A4A95484F874C547760687B7A847076894E596D324052393F4C473C
+          466C4A54874E568F4C518F4D4E934D4D9F4C4B9C4C4B8A504B88504B974D4D8F
+          4C51754C5B70546179575D6F5458594A5828284018284C192C5142506C576375
+          616976656D7A616D7F606E816A76886372854F647A495E74424E66424962383F
+          5837425D384B6629415F2A42662C43693C4A743C48723A466E3143681E37591C
+          3759263C6525396222345927365775809C222A411B213421243321232E181A25
+          161A25151B280B14220913240D192B0E1A2C131F31101A2B0D15260C13220E13
+          2213152716192E1B1D351E223B242942262B44161A3215192C1E1E2E1818241C
+          1B251D1A291818261916261916251916251A17261C19281D1D2B1B1B291B1D28
+          1A1C27171B26161B24141B24171E271A202B2024361A1D2C18192312141C1618
+          23171E2D151F371D2844292F4C52546C6E6978726A716B6469686469686A7465
+          6B7697484B97484B98484D96484F93494F93494F97474C99484B964A4B944D4A
+          924B48924A4A95494D874D527862647B7B817175874F596B374152444755473C
+          466B4953864B538D474D904E4F964E4E9F4D4C9D4D4C8D504C8B514C984E4E92
+          4C5273485773556285616785676C72616F3A3750202C5016294C49546F5E6576
+          6567726466705A5F6E515869575C6B4F5768596A7F55677E545E765A60776064
+          7C575E77455671273C5B2841632940663A487238446E303C642C3C6122385B23
+          3C5E273A5F2B3D622030542937548C97B23B435A242A3D222736262B3A202835
+          192230101A2B0A182A0E1F3212253A1324392331441A2638131B2C12192A161A
+          2C171B2D191C311B1D351E223B252844252945161A3315182D1E1E301818261C
+          19281D1C2C19192919172A1B1A2A1C1B2B1B1A2A1D1C2C20202E1A1A28171826
+          151924171D281C222D1A232D141D270E1623101524181828292832313039393B
+          4631384719233B1A2541272E495A5C746F6A796E666D71676D746E7371737D61
+          67729C484A9D494B9D484C9A484D95484F95484F9A484D99484B94474A934B4B
+          924B48924A4A944B4D874E4F7662617A7B7F757A8951586B3E45565355604F44
+          4E6F4E55864B5390484E904C4D944C4C9D4B4A994C4A8B4E4A8B4E4A964C4C90
+          4A50784B5B704F5D785258735358604D5C2D29421B244919274B3B455D555867
+          65616C716C756F6D796D6A7976727E6E6E7E68778A5B6C814E546B46495E5657
+          6C565A724F5C763045612A4161293F623B4A713B466C2F3A602A395A1F345320
+          3554293A5B2E3D5D253350303D575E697F4A54663F46572C33423E45544F5866
+          3D4A5A19293A13263B23384E213750142A432A3D521E2D40111D2F0E18291218
+          2B13192C13172F1519321E213D24284425294513183111152D1B1C3017172719
+          1929181A2C13172A13172A191B2D1A1C2E1919291919291D1D2D1B1C2A1F202E
+          1E222D181E291117220F1520121B251A202D2023322E2E3E4E4D575D5C656567
+          714E55641C263E141F3A1F28435A5D726C68746D656C6C62685D575C4A4B552E
+          343F9C4B469C4B469C4A49994A4D944A4E914A4D96494D96494C904749904A4A
+          904B48914B4B954C4E854F4F736160787A7B777D8A5057683F44535F5D69554A
+          54705158874B53924B4E8E4A4B924A4A994948954A488B4C48894C48944A4A8E
+          484E784B5B775462855F65846469705D6C37334C20294B1C284A5C62796A6A78
+          6B636D6A60666158625D535F665B655F5B674C59694E5E6F4F5568504E626964
+          796B697F5D687E3C4B65384D693145643E4C703E486A333C5E323D5B2B3C5728
+          3953313E583541593D4A604A5569535B6C6A71806C7481555D6A515966717C8A
+          5B6A7A28394C20354B2B435B213A54162F492C43591B30450B1C2F0715270B14
+          280F162A141A311A1F381C233E2329462228451017320F142D171C3113172914
+          1B2C0F182C0A15290E172B161D30181E3114182A1518271A1A2A1718261B1C2A
+          1D1E2C191A281618231B1F2A2D313C3C3F4D616171605F6F6B677264616A6263
+          6D494F5C15203615203B29324D54576C524E5A4E474C49404337303335343D2E
+          333C954F42954E44974D47944D4A8E4D4C8D4D4D934A4C934A4C8B48478C4C48
+          8D4D49904D4C934D4E834F4F71626075797A7679874B4F613D3D4D615D685348
+          506D4E5583474D90494C904A4B904A4A974A48944A488B4C488B4C48944A4A8C
+          494E784959734F5D7C545976545A5F4C5B2D27401D2648232D4F4549615B5867
+          6B60687A6C707D6E767B6C74837079776E78606977647383656877585263695F
+          70605A6D4F55682A374D4D5E783E4F6A444F6D4048663A405D4148613F4C623E
+          4C5F444E60495063676F806B7281717782757B866D747D545B644B545E6F7B87
+          5A69792A3C4D23384E213B5315304A16314B1E3A52223A502D42573C4D603E4C
+          5F313C502229421A213C1B23401F2A461E28460B163208142C111C320F192B10
+          1C2E0A1B3006192E0B1C31152336172335151D2E15192B191C2B1B1C2A171725
+          1A17262B28374745515F5D696866726666745E5D6D5C5C6A69666F6361676466
+          6E4D536017223819243F1E253E35394C2A2330342A3044393C3F383B54535C64
+          6670895342884F408A4E428C514888524B864F4A8C4C4B914E4B90514D8A4D49
+          8A4B4790504F924F527E4C4E685A5B7275797578865659684441505B5560594E
+          56684D51874D52934C4F924C4D914B4B954B49934C498D4D4C8E4D4C944A4A8A
+          474C7749567B5765865E6389686C6C5968312B44282E511E284A5B5D756D6877
+          74666C6D5C5F6E5C63735E66725B6066585E535C6655616D494955564C596A5B
+          69756A7A6F6F7F3D4556536275495A6F616C826E748B6C6F847074876F768770
+          78857076817276816F747D71747C6C6F7770747973777C585E634E585F747E88
+          616E7C23364520354A1F374D1B354D16354C1C3B541231481A354A1C34482D3E
+          5127364929354D202B4616223E1D2B481D2B4832435E2637511A2A410C1D3009
+          1D2F132E43102D42263E54273C5126374A111E2E121A2B191E2D20202E393645
+          55515D645D6A645D6A625966635A67635C6B605D6D5A576667626B635F654E4D
+          56383B491D263A1420381E253E414558514A57695F6574696B6C64657472786C
+          6E768E57488C53448B4E44874C43834C45864C47914E4B96514E88484390524C
+          8E4F4B8A4A498C4B4D7E4F526F64667D83887379865858684641505D5560594F
+          55664D51874D52934C4F924C4D8F4C4B934C49924D4A8D4D4C8E4D4C944A4A8B
+          484D784A5776525E7D56587D5C60614E5D2A243D242A4D1D2749474961615A67
+          6F6167745F6279636882686E87696E7C6A715E656E65717B63616D6B5F6B6D5C
+          696A5C685D5B672E36434D5A6A475666616B7D7077887272827273816F717C6D
+          707874767E77777D74747A75767A70717574767774777B5A5F62535C60727E84
+          5E6C78263744243849233B4F1F3A4F1A3950193B531739510E2D440F283C2538
+          4D2334471D2B421C294314223E1A2A471729462A3F5A273C57273E54283D5227
+          40541C3C531739501B3A512540542137492C3C4C2E39473C424F5E5E6C635F6B
+          675E6B675D6A675D6A6A5D6B6C5D6B675D6A625B6A4945513E373E342D342F2E
+          372B2E3C1B24381C263E2C314A56576B655D6870646A7265676C6163716D7363
+          626B8F4740964D499F524F9E53519A535097504D9A4A4996464591484498544F
+          91514D8D4D4C8E4E53734A4F5E595B6C787E7179865959694942515E5460564F
+          54634C50874E51934D4E924C4C904D4A8F4C498E4E4A8D4D4C8E4D4C934A4C8B
+          494E76485577535F865F6189686C6F5C6B343049242C511925495458706E6A76
+          7D6D747B6669776065775B6176565B6A565B5057604A5962494753574B576655
+          606F5F6A6965704349545D6975525F6D656E7C6E74816E6E7A76757E7A7A807D
+          7E8277767A7877797776787877797372747777777678795B5F60585F62707B7F
+          5E6A74293945293C4B263D4D243D51203D5213374F193D5507263D041F331B30
+          4525364918263D1F2C46162440192C471328441E354F1B344E1F3A4F233E521E
+          3D5221455D1F455D1A3C532B485D253D4F536373535E6C626573615F6B615B66
+          61576365596567596560525E5342504536443B30403B323F483D45544C53605D
+          664E505B22293D131D35282E455D5C70746A767A6C70796B6D76696B746D7460
+          5D668F444C944A50994A5396484F93464D96494DA04B4FA04D4C994A47964D49
+          8D48458E4E4D97575C784F545A595D6B7B827179865A5A6A4C42525F545E544E
+          53624D50854E51934D4E914E4D8E4E4A8D4D498D4E4A8E4E4D8F4E4D924C4D8A
+          4A4F7B505B73505A7A53557354575B4A582A2740212A4F1E2C50353951524D5C
+          67595F705B5E7760657F63698563697D696E616A745969755F5F6B7266727C6B
+          76786873615D68363C474B596547576364707C777D8877788279777D7372746F
+          6E707875777A77797976787B79797674747777777678785B5F60585F6270797D
+          606D752F3F4B2A3D4A253C4C253D4F223F54183A521C40580C2B420C25391227
+          3C2334471B293F1C2A4111203A172A45142A461A334D1D3852213E5324415619
+          3A4E11374F153B531B3D55244156213749536373535C6A5559644F4E585E5661
+          6258645549553F313D3524313F2E3C4D3E4C5C51616258656A5D65685E646763
+          69494B561D2438181F382D31495555676459635B4C505140434537393C313929
+          212B75374F7E3E5488455A8E475B8B48579048549C49519E494D9F4F4E9D534F
+          934C498C4B4A9250557B4F55635F64717E866F78855B5C6A4E44515F545E514D
+          52604E4F854E51934D4E914E4D8E4E4A8A4D498B4E4A8E4E4D8F4E4D934D4E89
+          4C50744954704E58845F618465686A5B6935354D1E2A4E16264A565B746B6877
+          776B717966697A63687B5F657A585E6E5961505C684459684D505F554B5B5B4A
+          5860515F5D5B674A525F5464704A5B685C6A7668717B696C747473777979797F
+          7D7D76757778777B77767A79787A7574767678797478795A5F62575D626D777E
+          64707A3444502A3D4A243B4B263E50223D512140591E3D5619354D1C34480F20
+          35202E41222D4318223A17243E1C2D48192E4A1A334D1F3A541D3C511E3D5210
+          31450D314913374F2F4D66243C522337494958684E566346485345414C3B333D
+          332A343E333D51465060555F685C686A5D6B5A4D5D65586671626A6F63696C65
+          6C4D4E5822283B21273E25273F39374A443641443336493436473738473B4144
+          3C43240F30341C3C50314E6A455F7750658150608C4D57924C5289434394504B
+          97524F8F4C4B89464B7E4E5469626769727B7078855C5D6B5046535E535D4F4C
+          4E5D4D4E864F52934D4E924F4E8E4F4B894F4A894F4A8E4E4D904F4E924E4F88
+          4D51774D586C4A547A5656705454574856282A4219274B1B2E51373E574D4C5C
+          5F545C6B575C765E667F63698563697C6A715A697950687A6066796A64757063
+          7371667660606E454E5C495A6743596561727F74808A777D847B7C8078787875
+          757577767A76767C75757B77787C72737774777B74797C595F64575F666F7881
+          66727E354552293C4B263D4D2B4153223B4F1C3A5314324B20385024394E1321
+          371F2A3E2A32491C243B1F2A451F2D49182A47152C461A354F14334818374C0B
+          2A3F16354E1C395448617B2B4258324154545E6F656B785D5E6854515A565258
+          5C555C655D64685F69655C66625A65645C67706371685A665F4E575244484A42
+          493837411C20331D233A272941312D403A2C37422F32483234412F30392B3139
+          2E36426E934066894560824D5F7C515970544D5C644651754A4D875452804843
+          894B45904F4E91494F86505779676E75777F7278855D5E6C52455360525D4C4B
+          4D5B4D4E844F52934D4E924F4E8E4F4B894F4A894F4A8E4E4D904F4E914F5088
+          4F527048536B4C558462627D636363566432344C18284C182B50535C77686878
+          766B7379686C7A636B795D637B595F6F5E675064753B586D424D63474559574C
+          60665E6F565968394656485D6C3E556455687564727E676E777174797877797A
+          797B74777C74767E72747C74777C70737873777C73797E5961685A636C6F7983
+          63717D31424F283B4A2B425231475921394F18334D112C461F354E233449202B
+          4122293D2B304522283F2029441B2743172744152A45223B551D3A4F2544591C
+          3B5015304B1B334F4B607B2A3C53303B4F58607173768470717B77747D6B676D
+          605C62615D62635F65605C6258555E59535E4B3E4C42313E3F2E373B2D31372F
+          36302F391F233620243C292A3F322C3F41313C493639503A3C4A35373A2A313A
+          2D3563B2D95CA7CE5DA2CA6AA5CC76A3C47A98B38D94ADA59DAEB19EA7846568
+          784D4A8B5856874F547549507461647C787D7678825E606B5048525C545B4C4B
+          4F5B4D4F7F50528E4E4E8F504C8C4F4B874F4A874F4A8C4F4B90514D914F5089
+          50536C47516447507B5D5C715959584C582C2C441723471B2B4F3741594F5261
+          655D646F5E62745C64765A607C5B6274646F55697B4A69805A687F5B5D755F5D
+          716C6A7D5C6475445464435A6A3D56665A6D7C6E7A86727780777A7F787A7B77
+          797A74777C75777F72747C72757D6E717973767E747A815A62695F68726F7B87
+          616E7C2D3D4D27394A314759354D6121394F1B385319344F22364F1F2D432A33
+          471F24391F253C1C233E242F4B1C2A47182845142944203A521532471A3B4F12
+          31461C344C1F354E4C6177293C51263447555D6E70738173727C737079626066
+          4F4F5544474C393F462E353E2C323D3135403434422F2A3939333E37343D302F
+          39282B391D24381E263D22283F292A3E332F3B372F3641373D463F44413F4546
+          485052A3C84B9FC94FA7DD56AAE4589ED35F9CCE72A2D67FA3D3BACEF1858A9F
+          4A3F42614E4B6D595E5A4B4F796C6A7E777478767C5F61695155564E50514744
+          4D584750785355865351874D488D514B8C5351864F4C8953488D554A93535288
+          50556A4853564149705B597A68676F616D2D273E23274A222B4D4C546B60646F
+          7A737884737681676D7F63697F6369695B6651627745607A43526C404B614249
+          5D4852644658692F4656526A7C4057675664766E758475758174737C6E6F736F
+          717272737775757B71717772757A71747972767B6F757C5A62695D6670687480
+          5F6F7C2A3D4C2B3F502B415330485C1A364E1535521B3B583F566C38475A2B34
+          4822283F232B481F294B1D2B4F1424481A2A47243752364E6425425716384F13
+          334A21394B213848415B6C253F501F3646505F6F6E738274727E75717C696871
+          555D6430404730424D253B472439483044552C41502B3E4D283B4A2D404F3040
+          511F304311233A13253C1A2A4126374C29394A3141513849563246512F48522B
+          46504F9FC45CB1DF47A4E33A97DC56A8E965AFEF5FA4E968A4E6739DD2445E82
+          0006151F21295258655D606E6D6B717A767B757680565B643845473944483B3C
+          4A6156665F484D684444835653804F4D7445477D51507C534A7C51487C474A7F
+          5058644A5762535B675856645657584C58352F4829294D21274A1E263D2B313C
+          554F54685A5C7961697C616A6952576A606C495A6F45607A4C5D77505E74525D
+          71536275536A7A3F5969516B7C43596B5B65776E728475737F78778078797D79
+          7D7E78777B7A797D75767A77787C74777C75797E74777F5D656C626B75707C88
+          5F6F7C243444263A4C283E502D445A18334D173957102F4E253C522230422229
+          3C191F36141D3E122044182950182A4F18274722334D283F5523405514364E16
+          384F243D4D223844445E6E2744531F38484B5E6D6C718076748076727D72747C
+          5F6A7230454D29434F244150213B4C223E4F2745561D3E4D1836471B394A223A
+          501A3248132942182E47142B41233B51243D512543542947582447542A4D5A2B
+          525B62AAD458A4D54CA0E24CA1E953A0E5599FE5569AE55694DB78A7E5315381
+          0719360F1B33798AAB8D9EBF6974906C748B6F758C616D7F425661364956202D
+          4352546C1F14241E0B1422060C35171C2D121B3B24293724214A353353343D69
+          4C5B49394A53495553484A5F57585A515E36314C1F2046222A4F48526A5E6574
+          736F75786D70745F687E697287747D5C58644E607745607A41526C39475D2E39
+          4D2A3A4B2D4454223C4C3B55663A50625D67797277867876827978817374786C
+          707176757978777B72737774757971747971757A70737B5961685D6670707986
+          5966741F2E3E2D3E513044562C4157162F492342611431501B30461A2638272E
+          4120273B141E3C16224614234A1D2D511826431F2F461F3449233E5214334C1B
+          3B52273E4E1D333F4660702A4756213A4A4B5B6B6B707F777581736F7A787A82
+          6570782D424A24404B244352233F50203C4D2240511D3E4D1B394A213F502941
+          571E364C142A43152B44193046294157294256244253213F50183B4820435023
+          4A535A92AF4F8BAF579CCE61A8E15B9DD25C9AD065A3DF6AA2DD6897CA23476D
+          4D627D11233A748BAB7089AB4C607F667490646F8B4C5A712A4353324E5F1F35
+          51515F7B0001141814201007111409130F06130000070100020200012218255D
+          51630A04153A38443835371D1A1C2721322D2B48272C53212A501D2945050D1E
+          3A3942423B403A2A3551414C4B404A4A4B5944596F435E784C5D775260764C57
+          6B445465445B6B395363486273455C6C616B7D6A6F7E6D6B7777767F7B7C8079
+          7D7E77787C7C7B7F75767A77787C74777C75787D73767E5D636A616772727B88
+          5E69772E3B4B465568435467374960233A541A37561632502033481D27382F36
+          472B30451F2745212B4D1522481F2D511D28461D2B42293C5129415519384F1E
+          3A52273B4C132633435C6C2A4454243B4B4A5A6A6A6F7E777581716D78767880
+          626D75293E461F3B462241502543542745561F40502041502341522644552B43
+          591D354B1228411329421930462B43592C45592442531E3C4D133643183B4818
+          3F483E625C577E8051818D4276874D7E8E5181934E7E9659889E5E8496193742
+          5267691124276179855A7383566A7B63728565708C4E5C783F5A6E5474872A48
+          65455D7B101E34838C9A7D838E50576000010E5E6D76536566627173171D2A4D
+          5163141B2C444A5754595C4245494C4C5E2628461D234C222C5443516E586476
+          686A7569666F665C69615865605C67545C69485F75445F794B5C765260764A55
+          69384859304757223C4C3A5465415868687284787D8C7977837B7A8375767A6B
+          6F7075767A77787C73747875767A72757A73767B71747C5B6168606671707885
+          6069772E3B4B404E61364558304057293F5815314F233E5935465B2830413236
+          483236492A304D2932541D284E1E2A4C202B4717243A3A495C283E50213C5123
+          3E53243647071A273F5868264050253C4C4C5B6B6A6F7E74727E75717C73767E
+          5F6C742B424A203E491D3E4D204151284959234454254655244253213F502139
+          4F172F45132942192F48142B412840562C45592947582745561E414E2144511D
+          444D2F47292E4B3220443411392E10362A0E362B09322D0A322D193B3407251A
+          3B50411E3226384E4C2A4347546A70657581717C92505E752B45552F50602445
+          5F48667F03192B61737E73838939494F00020A385056526D6A48605E16252E4F
+          596A28354563717D6E777A33393E35394B252946252C5716224C14223F0D192B
+          62687351505929253173717D81868F4957634760743E5A7242546B4E5C724B56
+          6A3D4D5E3B5262334D5D425C6D4259695F697A686D7C6A687472717A77787C76
+          7A7B72737775767A7172767374787073787174796F727A5B5E6660646F6F7582
+          5D6674252F402833471E2C3F26344B253952233D5B354E684A596C313A482E31
+          402C2D41272B481E2748222B501B25471F2744121D333A485B1C2D4019314724
+          3D51223544031421445B6B263F4F243B4B4D5C6C6B707F73717D76727D71747C
+          5F6C7431485024424D1839481536461D3E4E1C3D4D214251244253224051223A
+          50183046122841162C45132A402840562D465A2B495A2C4A5B254855274A5721
+          4851475E322D471F2949262E50311E4224173F231D462B163E2515381E07250C
+          2F482E1D3320374F452F48445065665D7075646D7B5A647536505723424B2848
+          5B49677800141F3E51544C5F5C31444100080A2A42424A655C4961591C282C43
+          4F591B2C394557625360623D46493D4455262C492129511F2B53384662495567
+          696F7A62646C5C5A666C6E79656E77596B76456074415D754D5F765F6D835B66
+          7A4656673C5363324C5C405A6A425969667081777C8B7977837A798277787C73
+          777877787C7A7B7F76777B78797D76797E777A7F76788062656D676B76747A87
+          656C7B31394A37425639475A3E4A62293A542B435F334A644B596C39404F3434
+          442E3042282C481B224320284D1C25462229441E273B3743550C1C2D051D3123
+          3B4F2535450617244F66762A4353233A4A4B5A6A6E718072707C74707B70737B
+          5C6C732E484F22424D173A48123444183A4A1A3B4B2041502543542644552A42
+          581F374D142A43122841162D432B43592C455926445525435420435024475420
+          47503045183C55293651292748232A4C27274D291E4623204525264627082609
+          4760461026132E44382D413C3F54526F7D836B747E59636D384F512A494C3C5C
+          694562700011153C514E44564F30433A000906273E39435D4F40564A1B26244E
+          585F233540485D654656552F3B3D282F3E292D4920294F19244A1E2A460D1A2A
+          585F685C60653A3B455B60695763692E434B3F5A6E36526A3B4D6448576A404B
+          5F2C3C4D2A4151274151466070415868606A7B6F7483716F7B73727B73747874
+          78797071757273776E6F737172766F727770737870727A5B5E666769746F7582
+          686D7C3C4455565F736570845A667E2837512F47632F46604E5C6E4D54635152
+          604E5062464A66353C5D1D2749222B4C2A314C30394D394355061627000F2426
+          3B502737470C1D2A5C70812E475725394A4A59696E718073717D74707B71747C
+          5B6B722A444B21414C1D404E1C3E4E2042522647572647562341522240512941
+          57223A50192F48172D46162D432A42582A4357213F501F3D4E1C3F4C25485525
+          4C5519310E1F3715243F1D28452426482A274B2D2B4D2F2F4E332D4A30142E17
+          3E544210211632403A404C4C4A565C6B757F7379844F5B6138504E2A4A49304F
+          58526F78071F1F44564F46564B39493E0003002E40394A5F50425345252A284D
+          535821343C425A604E5F5C303C3C3D4350262B44232B5020294E3F4C663F4A58
+          6B71766A6E6F595C61666C71616D715469714B667A49657D5062796170835560
+          7444546549606F304B594761713B52625E6879727786706F7974747A7A7C7D76
+          7A7B78797D7A7B7F77787C7B7C80777A7F75787D74767E61646C686A75747A87
+          6368773A4253565F73606B7F5B677F2F3E5831496549627C677788495260686B
+          79888A9C7279942D36571D294B1F2A4A202944161F334C56680A182A000E2320
+          354A273747021320627687324B5B2034455261716E718072707C75717C71747C
+          5F6F762E484F21414C2043512345552547572445551A3B4A203E4F224051253D
+          531F374D142A43172D46152C42233B511D364A1E3C4D2D4B5C2A4D5A294C5925
+          4C55182F13172F11152B0E102A0C0A270D09270E0C290F102B11162E16122613
+          3D514522322B47514B464B4C555D646F78826F78825161683753532648482848
+          534B677200171947585457645C404D45000E0A3A494546574A4854481F212155
+          586023363E475D624C5D592B38363B414C262C43222A4F20294E1F2D44212D39
+          4A51544A4E4F3E41454E545945525432484E3651653A566E34465D4B5A6D424E
+          602E3E4F3D5463183341405A6A3E5565636D7E767B8A75747E76767C7476776E
+          73727071757273777071757374786F72776E71766D6F775A5D655F636E717784
+          606776394152505B6F5361744F5B73273852223D5827425C4355662934422E34
+          412D34453039541D2A4A1B2A4B1827471E29441823374D596B09172900112627
+          3C5127374700111E5B72823049591F36465160706E718073717D76727D71747C
+          5C6C7329434A1B3B461A3D4B1D3F4F1F41511D3E4E1637461F3D4E2341522941
+          57253D53182E47172D46152C42273F55243D51213F502A4859264956294C5929
+          505930452C2E41262D3D1E27391A1F371F1F3921253B22283E2221331C152815
+          2D3E3313211B3C433C35393452575A6D747D6A77854E646F2F4F541E44492649
+          574A697802181E51606259646237424000080C485759485851535E5B1B1E2355
+          596425363F4A60654A5B5726343039424C262C431F294B1E2A4C394A5F3D4B57
+          5E676A5D616255585C696D725E6A6C475B60496576415D754E60775766795662
+          745B6B7B59707F3F5A68435D6D465D6D616B7C6A707D6E6D7774747A75777876
+          7B7A75767A77787C75767A797A7E75787D74777C73767E61646C616570777D8A
+          656E7C3D4758556074515F724C5A712D415A304D6824425B3F53643542503740
+          4D252F4027344E2635551C2D4E1628471D2A44172538495769051526000F2322
+          3A4E29394901121F566D7D2F4858223949505F6F6B707F73717D76727D71747C
+          5E6B732C434B1F3D481E3F4E2344542647572344541F404F2543542341522840
+          56263E54182E47142A43152C422A42582A43572341522442531C3F4C22455226
+          4D5633412F313E28333B1D2D361B2232201D311E1E2E171E2B15202F1A16271A
+          3549441B2C29444B46383E394B5457707A846978884E657425494F173E462546
+          594E697D0115205665687A84844C53560000074A585E3D4E4B4E5A5A1B1D2752
+          58652434404B5F64495A562734323C454F262E451C284C1A2B4C35475E3D4F5A
+          566165505556484B505B5F64535F613B4E55375364456277384B605362755460
+          724E5E6E6A81903C5765334D5D435A69687381747A877C7B857C7C827173746D
+          727174757976777B73747877787C74777C73767B72757D60666D5C626D727A87
+          616A783744544F5D7049586B45556C2E445D1F3D5818375031495B273845323F
+          4D2C394926354F122645192D501429481A2B451223364757680D1F3000192D1F
+          384C293C4B0215225069792C4656243B4B4F5E6E6A6F7E73717D75717C70737B
+          5F6C742D444C203E491F404F2344542647572849592546552846571F3D4E1F37
+          4D1F374D162C45132942162D432D455B2D465A254354234152173A471B3E4B1F
+          464FB6BCB1B8BBABBDBBA3BBBAA5B0B8ADACB7ADACB5A8A9B3A39AA59B5B6C68
+          546C72273F456777766A787756686F697A876476874F6675294B511F444C2141
+          5447607400101C636D748B909364696C0000075B68704555544A58571B212C4C
+          5362233340475A614A5B582F3B3B414A5724304819294E162A4D3E546D4E6470
+          65737960676A575A6264676F5F6A6E4A5C634B677847647955687D58677A5662
+          7462728261788746616F435E6C4B6271636E7C676D7A706F7978787E787A7B7A
+          7F7E72737776757971727675767A72757A72757A72757D5F656C626873717A87
+          5D6876323F4F45546742536644566D2E465E1B3D5A22465E405A6B2639462939
+          4629394A2B3E59172F4D112A4C102949172C470D2035495A6D1E344615304524
+          3F532338470316234B6474284252243B4B4D5D6D6C718074727E74707B71737B
+          606B732D424A1E3A451938471A38491A38491C3D4D1D3E4D2543541C3A4B1B33
+          491C344A162C45182E47172E442E465C2E475B2947582846571D404D1D404D1E
+          454EA5968DA79689AF9882AF9A85A69C92A59F98AAA499AAA69BB7B7B16B7373
+          637580475B66A8B4B6B1BBBB7282896273806271815366733A585D39595F2A44
+          554C6072121C26888C91969597797B7C0002096872794A5B584253501720294B
+          546225354242555D4D5D5C3B484A444F5D222E4A172A5011284E2E4761465D6C
+          5E6E755E676B585A645D5F695862694657603B576848657A3D50655262734F5B
+          6D4757675E7584314C5A425D6B475E6D687381757B887A79837A7A807274756B
+          706F7877797A797D75767A78797D75787D74787D75788061697068717B747D8A
+          5E6B792E3D4D37485B394D5F44596F28445C193E5A1D455E3D5B6C253C4B2639
+          46213546253C56162F4F0E2A4C0F2B4A162D47091E33455B6D253D4F1C394E23
+          3E531F3344051B27496373223F4E213A4A4D5D6D6E738274727E736F7A71737B
+          616C742F444C213D481C3B4A1F3B4C1E3A4B1C3A4B1B3C4B274556244253223A
+          501F374D162C45192F48132A402840562942562644552B495A21445121445120
+          4750C4978AC79686CF977EC9957EB79185B09188B49487B2968BAB98917B7072
+          71737E484C57908E8E8D8B8A6C70756D767F6A737D55626A425A5A4D66683649
+          5658637123252D9F9A9BB1AAA78A85840305066169694D5C544A5A5317202351
+          5A642B3B4B3E4F5C4F60634554574352621B2B48152B540E28502E4B66466071
+          5A6A765E67705B5E6C5C5F6D5C656F4F5F6B456074405D72495C715767785864
+          765D6D7D5F76853F5A68546F7D485F6E626D7B6D73806E6D7674757977797974
+          797875747676757971727674757971747970747971747C5C646B626B756A7682
+          5A6A772737472236482A40523F566C1E3D54173E5A163F58335464243E4C2B41
+          4D243B4B223B550F2C4B0F2E4F0E2B4A152E4808203441596B213B4C18374E1D
+          3A4F213848112733506A7A23404F213A4A4B5E6D6F748372707C74707B72747C
+          636E7632474F26404C2542512943542844552543541F404F2947582947582941
+          5721394F152B44172D4612293F263E54253E5223415229475822455223465323
+          4A53C08778C68B78D18E75D08D76C38A7BBC8A7EB98C7EB88E81AD8580866C6C
+          69666F44454F96888A9180837A767C72757D7279824F5B613C4E4F4E61643445
+          4E545D6A1A1A208F888B9286866E646405000272747579837D798783232F314F
+          5B652F41523B4E5D5062694A5A614550641D28461A2B5213284E324B65435C6C
+          4E5E6A515B65515463525564585E69525E6A3F576B3F576D384B605160735462
+          745262725C7382344E5C536D7B4359655E6C787379846E717975767A767B7A70
+          757476787977787C73747874777B73767B72757A72757D60656E6369746C7582
+          626F7F2B3B4C2132452A3F54495E7425405A1B415F1C44603556691C39472139
+          45203747233C56132F4E112D4F0B2746122D47082337405C6D1D3B4C1A3A5122
+          4259254152183242577384274354223B4B4D5D6D6F74836D6D7B74737D72737D
+          616B7530424D223C48203D4C233F502341522849581C3F4D2041512442552840
+          56223851152A45182E47172E442B435926415523415226475623455225485529
+          4D57B8897BBD8979C78874CB8774C78775C18978BB8B79B98A7CC18A857C5656
+          797D7E43494E987D86A3818C77697472737D6F758059646C44545B85979E495A
+          635A6670141620817C85897B8669596412040F6D646E74777C7B858C23353C54
+          68734B61735167796273804855635358712C2E4D26294F202748435163556571
+          84939C7B87915C607268687A68687450545F4A586B3D50654354694D5E71495A
+          6D5567785D72813E5564415763435762606F786E7A806E777A777C7D767B7A73
+          787773787B73777C6F737873767B73757D73757D73747E62646E6B6F7A757B88
+          60677829334524324537485D43536A283F59224664224965395D6F1B3B481C36
+          42273E4E1E324B192D4C182C4F142B4B0D2842022235395B6B1B3F511C40581C
+          405816384F1A3B4F5170852F485C314557525F6F7075846D6E7C6F6F7D6F737E
+          6069762D3D4A2138472842522846572445541C424E0E34401739492643582E46
+          5E273A55162845172A45132942213A4E1C3A4B1D3E4D264756294B582B4D5A24
+          4653B48375B98273C68172C98170C7826FC0836FB58573B38476C187828A6361
+          6D75744754569579869975837C707C7779846F7882505E6A2F3F4B51636E3446
+          5153636F1D25325858666459695444551D0D1E5A4F5F6D6D7B737C89374B5655
+          6F7B445D714A5F745C6E7F4954685557752C2B4D2A284C2528474C59694C5D66
+          61747C5767734C5569646A7D717280616774505E7146596E4B5D7454697E4F64
+          79576D7F5C73834156654A5D6A495B666171786C787E6A73766F77777075746D
+          717271787B72787D6F737872767B72747C71737B71727C5F616B60616F6B707F
+          6970813640521F2D4030415642546B233A541D3F5D2146623B5C6F1F3F4C1F39
+          452C40512736502330501B2C4D182D4C102C44042538335767173D4F193D5516
+          3C54143A52183D5347667B2A4357293A4D4F5C6C6B72816F7280747583717482
+          626B7932424F273C4B274151294857294C5A2A515A2249522849592B465B2B40
+          5B2739561A2949162845162C452540542341522243522547542547542C4C592A
+          4A57BA776EBF776DC9776CCB7869C67969BB7B69AD7C6CA87C6FAD78757C5D5C
+          40514E384D4E82717C846B7974707C66707A64717F4859662D434F3D5561364E
+          5A485E6A172734161D2C2120303933443B3344413E4E3B404F2E3E4B29434F4C
+          69782F485C30455B48596C404D634E537225264C24264E232C4D314255344C58
+          455F6B475E6D45576E505E744B58683D4C5C40556A3A52683D556D465E74425A
+          7049627650687C384E604358674455625F6B756D767F70767D787C817C7D817C
+          7D8174777C75797E73767B76797E75787D74767E73757F62646E6B717E6E7584
+          6673832E3E4F0D2133263B50445C7227425C20405D2447613D5E6E24404B1E34
+          40263646202D47182343172647162A49112B430A283B2E4F5F193B4B1D3D5418
+          3A521C425A1E43593E5D72294354233748515E6E686F7E6E74816D707E6A707B
+          5E677430404D243A461E39471E3D4C20424F1D414B1C404A254453203B4F1F34
+          4F2335521D2D4A1A2D48172D462D465A2D495A2847562244511F414E27495629
+          4B58BF6E69C46E68CF7067D17066CC7267C17366B17368AA736AAE7272876062
+          424E4E455A5C7C707C7F6E7C696F7A62747F6676864458692A43533A54643855
+          644C66764256673F4D5F4B51645C5D71666579575B6E535D6F485A6B4B657553
+          6F80435A703B50665465784F5C72545B7C20254C1D234C1D294B42596F4A6776
+          51707F4E6C7D4C667E4F677F52687A566F7F4E697E45647B416077446078405C
+          744A657A556D83425A6E4D61724B5B6B626E7A6D76806C717A6F7179706E746E
+          6C7271717774747A72727874777C73767B72757A72757D60656E616A7467737F
+          5E6E7B2A3F4E162F3F2743543654671A395016344F213F583F5C6B314A542D41
+          4C36455535415927314F1E2A4C1D2C4C172E441430412A49581C3A4B203D521B
+          3A51103249103347244255203A4B21344354616F666E7B6F75806E727D6E747F
+          646E78364450253B46203A461D3A481B3B4820444C21414C284554233C502134
+          4F1F314E172744182944182C452D465A2E4A5B2948572143501B3D4A21435022
+          4451C46867C96865D56965D96963D86A64D06B63C36B65BC6A69BE6971A36771
+          716A71666F78786B7973687853636F637D8962768742586A223C4D2A48592647
+          57496A7A5B7788657B8D657487646F83636C80616A7E606F826076885A768751
+          6C80556C82485A716071845D6B815B648520294F1C25501B2B4F2D475F365767
+          35596934576B35567038577044647753748444647B405F7837566F34536A2E4D
+          643552673F5A6F334B5F445568414F615E66777075847577827C7B85807A8580
+          7B8478747A7A787E78767C79797F77777D74777C74777F6168715C676F6B7A83
+          5A6B78263D4C243E4E2846572B4C5C1F40531430482840564D65714D626A4D5E
+          6754616F525D733A425F1F2A4A1C2A47162B401E374726414F1D374720394D1A
+          35492343561E3F4F223F4E253C4B273845586470626B756A717A6D727B707780
+          656E7732414A263843233B47213D481C3A4526434C213E472943512C4254273B
+          5422334E162643192A45172B442C44582E48592847562345521D3F4C1E414F1B
+          3E4CC06263C66262D16161D76160D7625FD16260C76363C06266BA5C67A25D6A
+          7E6D786D6D797265756F67784659665B78865B7183485B70263F53203E511D3D
+          5046677A4E6E814C677B586D8261728766738969768C56677C576C815871855E
+          778B54667D4354695E6E7F5C6A805863831E294F1C2852192B503D5971486A7A
+          496D7F4F74885376904F708A52738650728247687C4A698044637A446078425E
+          7647627751687E465B705665784F5B6D646C7D74778673737F77737E756F7A75
+          707978747A7B777D76747A78767C7373796F727771747C60666D646D76748189
+          5A6C77263C48243E4C203D4C1F404F2846571A33472D4355566B735D7075616F
+          75636C795D6478353B582129471A26421D2E43384D5C39515D384E5A3C506138
+          4E60264051213B4B213847293C4933414D5F69736B727B757A836E707A6E737C
+          636A733641492D3E4730444F3248532F48522F49502B414C34495835495B3041
+          5B2637521A2A471E2F4A192D462B43572C46572A47562648552144512144521A
+          3F4DB55C5FB85A5EC2595CC6595BC75959C35B5CBC5B5DB65C62B459689F5B6C
+          7B64726C6776786A7C7771845265745D788668798C4E5F723147591B35462341
+          524E6F7F5977885874855C72845F70835D6B7E6472855B6A7D607184596F815C
+          7082647288505E716776866270825863811C284C1A264E1525492D455D325061
+          2B4C5C2F4E632E4B662A48613351622B4A593550643E566C3B53693D546A3E55
+          6B44596E4C5F74455467515F714A54655E65746E717F71717D78747F7B75807D
+          788177737978777B75747877767A72737772737774777C666A6F676F766F7A82
+          64737C455762425864354C5B2E48562A43532E42543B4B5B5B6B726473766974
+          786C757F696E833C405C2A2F4E222A472E3C4F5E6F7C60727D62747F65748464
+          7484667B8A6278845F707D5B697559636D6970796B70796E717976788071747C
+          6E747B535C6556616952616A52636C5669705A6D74586B73596A77485A6B3646
+          5D283751182944192A451C2D472D42572B4355294655274857254856234A591E
+          4554A5585CA6575AAC5558AE5558AC5656A85859A05A5B9C59609B5965956474
+          76677568677772677B6E687B5C6979677A896C788A4D596B3E4E5F223647334C
+          5C4E68785670805C75855D7182617182606C7E647082636F8167758763718363
+          71835F6B7D4A576765737F5F6E7E58637E212B4D212C521D294B3F51684B6272
+          4B647451697B4B617A4A60795B7282546C785B6D7E6374875F6E815E6D805F6E
+          81627082687688616E7E707B89646C7973798680828D7D7E8881808984828887
+          858B89888C8C8B8F8A898D8D8C908A8B8F8C8D9192929884878C8F939880888F
+          78818A69737D6B79856A7A866D7E8B61717E64718164707C748084717D7F7079
+          7C7479827074873F425E2629481D23402D384C6875836877806B78806C75826A
+          75835F6C7A64727E6B77836B747E6B727B71747C71737B74737C7573796D6D73
+          73757D6E7179747B8469727B6570786E7A8067757B6A777F65758249596A2F3F
+          5624354F192A451829431C2D472C41562A4254274453264756244957244D5C1F
+          4A59905559905559915758905A598B5E5B8663607E67657B696A7C676F746874
+          646C79616C7A6D697C6F697C696C7B676E7D6C7180656A795C63725B66745F6F
+          7C65768362758261727F6474816774826C75836E7584707786727988737A8973
+          7A89737C89727C86727D857884906B768C212B49222A4F222B4C5D687C7A8795
+          7E8B997D8A9A838BA2818A9E838F9B828E98878F9C878E9D878E9D888F9E8990
+          9F89909F89909F8A929F8C929D8C939C8D929B8F929A90939890939792949592
+          9495909195909195919296919296919394929495929397929397949599898C91
+          7D7F8774768072747E7276817177847278856D75826E778070797C717978757A
+          7B73767E73748840415D272B48232A452933456975816C777F6A747B6D737E6E
+          747F6C757F6D737E6F737E71737D72737D74737C76737C777379777379777379
+          75737973737971737B70737B70737B6E747B6C747B6A747B6C78845362723546
+          5B2839531D2E49172B4417284224394E243C4E1D394A26475621485619445332
+          5F6D9B72779A73759873759276758A7976827E797B807E798181787E83767F88
+          70828D7383908281918A82938885958A87968B8995878793848691838792838C
+          96858F99858F99848E98858F99868F99888E998A8E998D8F9A8D8F9A8D8F9A8D
+          8F9A90949F8D949D88939789949C767F93242C492227481F25426A7083898F9A
+          8F939E8D909E9392A69090A292949E91959A92939D92939D94929E92929E9292
+          9E91939E91939D91939D8F919B8F929A8F939890939790939790949590959490
+          9594929697929599949599939498939596939596949395949397989499908C91
+          8682887F7A837C77807A76817B778278778173758072787F747A79747977767B
+          7A73767E73748840415D272B48232A452933456B74816D777E6E747971737D73
+          747E72747E72747C72737D74737C76737C78737C7A737A797279797279797279
+          77737977737975727B73727B73727B71747974777C6E747B6B747E4E5B6B2D3E
+          5120354B192D46182C45182A412C4156263E5227435426495718424F2655633D
+          6E7CA38C91A18C8F9D8C8F978D8D8F908C89928F859391839294818F95828E98
+          818F9B858E9C8F8C9C958B9B968D9A958F9A8E89928E8B94918E978F8E978D8F
+          978B8E968C8F978D90988E91998E91998E90988E9098908F98928F98928F9892
+          8F988A8C948A90978891948A949B77819329304B282B4A2629457072848F909A
+          96929D968F9C9B91A2978D9D969298969395979399969298989198959197948F
+          98918E97918E97918F959393999394989394989094959095948F94928E95928E
+          95928A8E8F8A8D91898D8E8A8C8D898B8C8A898B8C898B8B888A8B8688868085
+          827B807F777E7F777E81788281788280788276757F75787D757A78747A75767B
+          7A73777C7374883E415D272A492329462933456B74816F777E70747974737D77
+          737E77747D76747A76737C78747A78747A7A737A7A737A797279797279797279
+          79727979727977737977737977737975737978777B7174796D747D4E5967293A
+          4D1C3147172B44162C45182D4333485D2B4357304C5D244858133E4D35667648
+          7C8C998E969790959590929090908B9190879290859191869294889097898F9A
+          8B8E9C8C8D9B908B9A938A97938B96928D96938F9593919798949A98949A9692
+          9895919793919794929892909691919791919791919793919796929896929896
+          929893929B94979C9098988D989C7A82932A314A292C4B282945737282938F9A
+          99919B978D999B8E9E968C99979095959091989395989297979196969095958E
+          95938F95928E94928E9487868A8685898385868183848082827C817F7B807E7B
+          807E7C80817C7F837D7F807C7E7F7D7C7E7C7B7D7D7B7B7D7B7B7E797B7E777A
+          7C75787E747A80767C82777F82777F7F777E78757E77787C777B76767A75767B
+          7973777C7374883E415D272A492329462932466B748171777E71747976737C79
+          747D79757B78747A78747A78747A78747A78747A78747A777379777379777379
+          77737977737977737977737977737977737879747675747871767F515D692D3F
+          501C3448152C42152B44142B412D45592C45592947581C43521A4755366A7A3F
+          7887908D968F8C958D8D938C8D918E8D8F8E8D8F908C91928B92958B97968C99
+          998C9C988D9D978E9B958F9A94929894949A8F8F958E8E94908E94918D93938C
+          93938C93938C93928B9295919793919791919791919791919793919793919793
+          9197918E979191978A8F92858D94707A8C262D48272A4925284465657583828C
+          8B838D89808A8B818E877D898683858583827D7A7C7D7A7C7D7A7C7D7A7C7C78
+          7D7A797D7A797D7A797D7C7B7F7C7B7F7B7A7C7A797B79797976797776797775
+          7777797B7C78797D7A797B7A797B7979797979797878787A78787F7D7D807B7C
+          7F7A7B80797C7F787B7E777C7D767B7A74797A767C79787A797A76767A74767B
+          7973777C7175883D415E252A4B2129462932466B748171777E73737978737C7B
+          737D79757B78747978747A78747A76747A76747A76747A75737975727B75727B
+          75727B75727B75737977737977737979737879727576737572757D525E6A2E40
+          511E364A162E44152D45142B41263E522D465A203E4F1C4352295A683069782F
+          6B7B918F9B91909A8F9199919197929195969095978F96998E98968A96998A98
+          9C8A9B998A98918B968A8C948B8E928B90938D91968C8F948B8B918F8B91928B
+          92948C93938B92918A918682888482888181877E81867D80857C7F847D7D837F
+          7D837B767F7B788173777C727982646D81202944272C4D262A46575A69757680
+          7D78817B737D7E758279737E777979757A78797E7D7B7D7E7B7D7E7B7D7E7B7C
+          807B7C807B7C807D7C807D7C807D7C807D7C807E7D7F7E7D7F7F7F7F7F7F7F7F
+          7F7F7E7B7D7E7A7F7E7B7D7C7B7D7C7C7C7C7C7C7C7C7C7C7C7C7B7B7B7B7B7B
+          7D7B7B7D7B7B7D7A7C7C797B7B777C7B777C7A767B797979797B75767A74767B
+          7973767E7174893D415E252A4B2129472932466B748173767E7374787A737A7B
+          747B79757A78747976747A76747A74747A72757A72757A71747971737B71737B
+          71737B71737B7373797373797573797773787C75787873756F727A4F5B652D3F
+          501E374B163146142E461830462840542F485C2142522B54633D7080326D7D2A
+          6B7A8B86958B8793898892878991878A8F89898F8B898F8A879084838D86828E
+          8B818E887F8C7C7F87767F83757F7F757F7F737C7F747A7F75787D79777D7B77
+          7D7D767D7D757C7C757C7D797F7B797F76797E74787D73777C72767B73767B74
+          737C7F7984807A8575777F717782646C83202B47242A4D212744585C6E787A84
+          7B7D857A79837D7B87787983777F7E76817E727C7C747B7E747B7E747B7E767A
+          7F767A7F777A7F79797F7A787E7A797D7C787D7C797B7D7A7C7D7A7C7D7A7C7D
+          7A7C817B80817B80807B7D7E7B7D7E7C7C7C7C7C7C7D7B7A7D7B757876767977
+          747978757A79767B7A777C7B787C7D7B7D7E7877797B7979797B75767A74767B
+          7A71777E6F74893B415E232A4B2129472932466B748173767E7374787A737A7B
+          747B79757A76757974747A72757A71757A71757A6F757C6E747B6E747B6E747B
+          70737B70737B71737B71737B7373797574787D767978737570737B505C663042
+          53213A4E153045112B43172F452C44582942562A4B5B3F677943768639758530
+          73827C75827A768278778176788075787D75787D74767E74767E73757F757680
+          7B758079758070767D6E777A6E78786F797970797C73797E76797E78787E7A76
+          7C79757B7B747B79757B79777D77777D75787D74787D74787D74787D74787D77
+          767F7F77827E788373757D717782666E85252D4B262C4F22284552596872787F
+          77798174767E787884757781757D7D747F7C737D7D737C7F757C7F757C7F757C
+          7F767B7E777A7F777A7E7C7C827E7D817D7C807C7B7D7D7A7C7C797B7C797B7B
+          787A807A7F807A7F7E7B7D7D7A7C7B7A7C7B7B7B787A7A787A7A787D7C787D7C
+          787D7C767B7A75797A75797A767A7B777B7C787779797979797A76767977767A
+          7B71777E6F75883B425B232B481F2A462732466B748271767F73737978747A7B
+          747B77757B74747A72757A71757A71757A6F757A6F757C6E747B6E747B6E747B
+          70737B70737B71737B7174797373797574787B767876727774767E58626C3949
+          59253D4F132E430B253D12263F2D415A1D354B2C4D61427082376F803578872F
+          788679767F77767F77767F77777D77777D77777D77777D77777D75777F77767F
+          79767F77767F75787D75787D75787C75787C75787D75787D77777D77777D7977
+          7D79777D7A787E7A787E77777D77777D77777D76797E76797E76797E76797E7A
+          787E7F787F7D777C797A7E757781676C81272B4824294A262A46595F6C787D80
+          7B7C807A797D7E7A857C78837B7D7E787D7C777C7D757C7F777C7D777C7D777C
+          7D787C7D787B7F787C7D787B7F7A7C7D7A7C7D7A7C7D7C7B7D7C7C7C7C7C7C7C
+          7B7D7A7B7F7A7B7F7A7B7F7A7B7F7A7B7F797B7C797B7C797B7C797B7C797B7C
+          797B7C787A7B78797D78797D78797D78797D76777B7678797B7D7E7476777376
+          7B74768070758440475A212C421D2A40283347656D7E757B866E707875747877
+          767A73757D70737B70737B71747C73767E73767E72757D70737B6F7277787B80
+          77777D72727876747A716F756F6D7378777B71747972757A6E70785A616A3D4B
+          57223746122C3D10273D1D29452E395724365532526F3A6E8530748735829224
+          788477777D77777D77777D77777D77777D77777D77777D77777D77777D77777D
+          77777D77777D77777D77777D77777D77777D77777D77777D77777D77777D7777
+          7D77777D78787E78787E77777D77777D77777D78787E78787E78787E78787E7A
+          787E7D797E7B777C797A7E757781696C81272B4826284A262A46595F6A767D80
+          7B7D7E7A797D7E7A857C78837D7C807A7C7D787B7F787B7F787C7D787C7D787C
+          7D787C7D787C7D787C7D787C7D787C7D787C7D787C7D7A7C7D7A7C7C7A7C7D7A
+          7C7D7A7C7D7A7C7D7A7C7D7A7C7D7A7C7D797B7C797B7C797B7C7B7A7C797B7C
+          7B7A7E7A797B7A797D7A797B7A797D7A797D7B7A7E74757978777B7172767575
+          7B7577816C727F3941522632442833472D384C687284747A8773757F77767A75
+          747873757D73767E74768073767E71747C6E71796E70786D6F776D6F7772717A
+          71707972717A79767F78757E76737C75747D7277807479827777836E727D5765
+          713C4F5E1E364A10243D1E2644353A5B3241623E5C793E708737778941879431
+          798377777D77777D77777D77777D77777D77777D77777D77777D77777D77777D
+          77777D77777D77777D77777D77777D77777D77777D77777D77777D77777D7777
+          7D77777D78787E78787E77777D77777D77777D78787E78787E78787E78787E78
+          787E7B797F79777D777A7F737782676B83252A4924284B242A47575F6C747D81
+          797D7E78797D7C7B857A79837B7C807A7C7D7A7B7F7A7B7F7A7B7F7A7B7F7A7B
+          7F7A7B7F7A7B7F7A7B7F7A7B7F7A7B7F7A7B7F7A7B7F7C7B7F7C7B7D7C7B7F7C
+          7B7D7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7B7B7B7B7B7B7B7B7B7D7B7B7B7B7B
+          7D7A7C7C7A7A7C797B7C7A7A7C797B7C797B7C797B7776787C797B7675797878
+          7E7779817276814047561C2638242D41252F41656D7E6E717F78798378767C77
+          767A75757B73767B72747C70727A70727A72747C7677817A7B8577788271737D
+          71737E71737E6F707E7172807273817070806D707F7578877777895F63753743
+          5517283B0B1D340E1C381D203F232547141F3D0E253F072F411F4C59507A8154
+          7C8177777D77777D77777D77777D77777D77777D77777D77777D77777D77777D
+          77777D77777D77777D77777D77777D77777D77777D77777D77777D77777D7777
+          7D77777D78787E78787E77777D77777D77777D78787E78787E78787E78787E78
+          787E79788175777F7679816F7882646B84232A4B22284D222A47565F6D747D81
+          787D8076797E7C7A867A79837B7B817A7C7D7A7B7F7A7B7F7C7B7F7A7B7F7C7B
+          7F7A7B7F7C7B7F7A7B7F7C7B7F7A7B7F7C7B7F7C7B7F7C7B7F7C7B7F7C7B7F7E
+          7B7D7E7C7B7E7D79807D797E7D79807D797D7C787D7B7A7D7B7A7D7B7A7D7B7B
+          7D7B7B7C7A7A7C7A7A7C7A7A7C7A7A7C7A7A7976787A7779827F817B7A7E7876
+          7C73757D717580454C5B252C3F293246262F436B73846E718078798374717A77
+          757B75757B74747A73737973757D76788074757F6D6F7A686A75676A786E7180
+          7479885E627434384B252B3E383D52484D623B3E5336394E313247262A421A28
+          3E1729401C2D48252F4D28294B292A4C1E294516283F112C3A365057737F837C
+          818477777D77777D77777D77777D77777D77777D77777D77777D77777D77777D
+          77777D77777D77777D77777D77777D77777D77777D77777D77777D77777D7777
+          7D77777D78787E78787E77777D77777D77777D78787E78787E78787E78787E78
+          787E79788174777F747A816E7784626B86212A4B20284D202A48545F6D727D81
+          767D8076797E7C7A867A7983797C817A7C7D7C7B7F7C7B7F7E7A7F7C7B7F7E7A
+          7F7C7B7F7E7A7F7C7B7F7E7A7F7C7B7F7E7A7F7E7A7F7E7A7F7E7A7F7E7A7F7E
+          7C7C807D79807E76817D78807D78817D787F7C777F7C787F7C787F7C787F7B7A
+          7D7B7A7C7A797A7A7A7A7A7A7A7A7A7A7A7A79787A77767A7E7A7F79787C7876
+          7C72747C6D717C3F46551B22351F283C232C406F768971758777798471707A79
+          767F7E7D866E6D765A5C645758625F5F6B696A78696C7B656A79515869404659
+          343A512A32491E253E1C263E1D2641151C372C2F4B292A462225411D243F1725
+          41142643172444192244202044232446202B471D2C3F1B2B3743474C7863657D
+          5B5B77777D77777D77777D77777D77777D77777D77777D77777D77777D77777D
+          77777D77777D77777D77777D77777D77777D77777D77777D77777D77777D7777
+          7D77777D78787E78787E77777D77777D77777D78787E78787E78787E78787E78
+          787E77798174777F727A816E7784606B86202B4B1F284D202A48545F6D727D81
+          767D8076797E7C7B857A79837B7C807A7C7D7C7B7D7E7A7F7E7A7F7E7A7F7E7A
+          7F7E7A7F7E7A7F7E7A7F7E7A7F7E7A7F7E7A7F7E7A7F7E7A7F7E7A7F7E7A7F7E
+          7C7C807D78817E76817E76807D78807D787F7C787F7C787D7C787D7B7A7D7B7A
+          7B7B7B7A7A7A787A7B787A7B787A7B78797D7D7D8373737976747A78767C7E7D
+          867B7D877076833D45561D263A242F452C364E70788F72788B7174836C6C786F
+          707A6C6C7851535E3132401D202F1D1F31232739242A3D22293D20283F1E2840
+          222B46202B471A25431C2745232E4E262F501D203F242644262C49222C4A1729
+          4813264718264A20274E26264E25274A1C2A4618273A1D263046383C77464882
+          404177777D77777D77777D77777D77777D77777D77777D77777D77777D77777D
+          77777D77777D77777D77777D77777D77777D77777D77777D77777D77777D7777
+          7D77777D78787E78787E77777D77777D77777D78787E78787E78787E78787E78
+          787E77798174777F727A816E7882626C84212A4B20294B222A47565F6C747D81
+          787D7E76797D7C7B857C78837D7C7E7C7C7C7E7B7D7E7B7D7E7B7D7E7B7D7E7B
+          7D7E7B7D7E7B7D7E7B7D7E7A7F7E7A7F7C7B7F7C7B7F7C7B7F7C7B7F7C7B7F7E
+          7B7D807D79807D78807D787E7D797E7D797B7C7A7B7C7A7B7B7B797B7C797B7C
+          777A7E76797D76797E76797E7578807578807B7D8770727D72737D71727C7274
+          7F6C6F7E6067782E374B1A243C212C471F2B47414C673B425B353A4F3337492E
+          3140252B3E22273C20243C22283F262B44262D46242B461E26431E29451D2846
+          1A25451926461E2A4C1C2B4C162448172345292E4F21264517213F132242162B
+          4B162C4F16254C151D451D214A1D254A182D49192D3F292F3A4F383D7936398D
+          343777777D77777D77777D77777D77777D77777D77777D77777D77777D77777D
+          77777D77777D77777D77777D77777D77777D77777D77777D77777D77777D7777
+          7D77777D78787E78787E77777D77777D77777D78787E78787E78787E78787E78
+          787E79797F75787D747A7F6F7881646C83232B4922294A242B4657606A747D80
+          797E7D787A7B7E7B847C79827F7C7E7E7C7B7E7B7D7E7B7D7E7B7D7E7B7D7E7B
+          7D7C7B7D7E7B7D7C7B7D7C7B7F7C7B7F7C7B7F7A7B7F7C7B7F7A7B7F7A7B7F7C
+          7B7F7C7C7C7C7C7C7C7C7C7A7C7C7A7C7D777B7C777A7E767B7E767A7F747A81
+          7479827378817377827177827177847177847178876E7284707584646978575B
+          6D454B5E3B435A0E1A32182440202E4B15244423314E1C27431F263F2930441F
+          253C212A45212C48232D4B212B491E27481B26461E2949212C4C182446202C4E
+          1A294A1725491C2A4E19274B142449202C4E1D25432228451F2A481A2A471027
+          470F254818274E1F28531B224D19244A1028460F273B2A2D3B54374085373EA6
+          3F4677777D77777D77777D77777D77777D77777D77777D77777D77777D77777D
+          77777D77777D77777D77777D77777D77777D76767C76767C76767C76767C7676
+          7C76767C76767C76767C7B7B8179797F76767C77777D7A7A807A7A8078787E76
+          767C7B7A7E75777874797A6F777E686F83272E492429482227405C636C737B7B
+          7D7F7F807F81817C857D7881837E80807E7D7C797B7B7A7C7C7B7D7C7B7D7B7A
+          7C797B7C7C7B7F7A7B7F78797D7A7B7F7B7B8176797E78787E797C817A7D8279
+          7C81797C81767A7F75797E75797E757880747982747883727883777D8A4B5360
+          2B3241363F4D51596A5660714852643A43572D384E28324A232B421F273E1E26
+          3D1E28401E29451D2B481A294A17274B15274C19294D1B27491C26441F28431F
+          2A4618244615254A19264C1A274D1B284E19294E19294E19294E1B294D1C2A4E
+          16264A1525491A284C19274B1725491D2A4A202944202B411C2840192A44182E
+          4A1328481222471A264E202A5216264B0C2847142C44292D3F5335428A3A47A3
+          394677777D77777D77777D77777D77777D77777D77777D77777D77777D77777D
+          77777D77777D77777D77777D77777D77777D77777D77777D77777D77777D7777
+          7D77777D77777D77777D76767C75757B75757B77777D79797F7A7A8078787E78
+          777B7E7B7D7E7E7E7A7F7E6E7479606679252945292D4A2A2E475F666F777C7D
+          7A7C7C79787A7B767F79747D7F7A7C7A7878807F817D7E827C7D817B7C80797C
+          80787B7F777A7F76797E797D82777B80767981767981777A82777A8272787F70
+          757E6F7580727885767C89777F8C747B8A6A73815E6677565D703A43572B3448
+          1F2A40202B411F2B431C28401C2840212C471E2C491D2B481F2B47202B47212C
+          48202B491D2A4A1A294A1E305514254C10234916274E1C2A4E1B27491E284624
+          2F4F1B2B5017275114244E14244E16265016274E15244B122247112146142449
+          17244A1A284C1E2C501928491523471F2A48242C43262D40202A3C1B293C1C2E
+          451A2B461A25451D26481E264B1C284A1A32501D344A2C2E404D2E3D8233419B
+          344377777D77777D77777D77777D77777D77777D77777D77777D77777D77777D
+          77777D77777D77777D77777D77777D77777D77777D77777D77777D77777D7777
+          7D77777D77777D77777D76767C77777D78787E7A7A807B7B817A7A8079797F7A
+          797D7673757C7A7A7A7C7C73777C62687B2B2F4B2B2E4D292D465A606B767B7E
+          7C7F837F7D83817D89817D89837F8579787C76797E74777F73767E757880787B
+          837A7D85787D86777C85747A855C626D4B515C535964666E7B727A876F778469
+          707F5960734D566A3E475B2D384C222D431C273D19233B152139202B461E2944
+          1D29451D29451B26441924421C27451E2B4B16264A17274B1B2A4B1E2D4D212E
+          4E212D4F1C2A4E18284D12234A162851182A5316265019294E1F2B4F1E274816
+          21411A274D1A295019284F16254C1221481323481C294F222F552431571C2A4E
+          1A264A1E2A4C1925471421413440626974908890A17C828F5A5D6B373C4B272F
+          40262D41272B442B2C482A28462426441E2B45202B3F2C26374D2C3B8136469B
+          394977777D77777D77777D77777D77777D77777D77777D77777D77777D77777D
+          77777D77777D77777D77777D77777D77777D77777D77777D77777D77777D7777
+          7D77777D77777D77777D78787E79797F7A7A807A7A8079797F78787E78787E7A
+          797D817E80817F7F797B7B777D82696F822D335024294A2125425A6170757B82
+          76798170717B726F7F7673837D7C867678807C808B777D8A747A87747A87777D
+          8A777D8A7279886F768561697A3F4758232B3C222A3B2B35472C3648222C3E17
+          2236212B431D28431C27431B27431F2A46222E4A25304E2732501F2A4A1E2949
+          1C284A1D294B212D4F243054222E521B294D1A2B52172A5017294E19294D1C2B
+          4C1D2C4D1C2A4E1A2A4F14254C18285218285212224C1522481E2A4C252F4D25
+          2F4D1E29491A24461923451D2749232D4F232D4F1B2547121C3E182244172242
+          182343202B4B1F2C4C1A2747283353454E69D0D3E1E6E5EEF0E8F2E2DAE4CCC6
+          D1A9A5B180788964596D45354C3A2C442F2A3F312B3C3C2B3858303C7D333F8B
+          2F3C76767C76767C76767C76767C76767C76767C76767C76767C77777D77777D
+          77777D77777D77777D77777D77777D77777D77777D77777D77777D77777D7777
+          7D77777D77777D77777D77777D77777D77777D77777D76767C76767C78787E7B
+          797F7D797E7877796E7273737A8362687F262D4E20264B262D4E4C56686D7680
+          797F8A7B7E8C7B7C91797A8F7A7C8E717685747A8D6B72855F667A535A6E484F
+          633C43572E364D262E45273149202A421D2941232F47232E491E29441C294321
+          2D491E29491F2A4A222C4E222E50242E501F2B4D1925471521431A264A1F2B4F
+          222E521D294D1925491A254B1B264C18244C1B2D56192B5417294E18284C1A29
+          4A1B2A4B1C2A4E1A2A4F1A295014234A15244B1E2A52222B501B24451C223F22
+          26422428412A2C442B2D45282A4221253D1F243D25294529304B1E25402D3552
+          2D35521C26441722401D2846202B49262D46D2D2DEEDE3E9F9E5EAF5DEE2F8E2
+          E7FFE9EEFFE8F0FFE4EEF9D8E6E6C5D4C1A5B29577826C4A5167343B82353C94
+          3A4076767C76767C76767C76767C76767C76767C76767C76767C77777D77777D
+          77777D77777D77777D77777D77777D77777D78787E78787E78787E78787E7878
+          7E78787E78787E78787E78787E78787E77777D78787E79797F7A7A807A7A807B
+          7B8179777D7D7D83787C817C858F616883252D521D254D262F54535E746D7788
+          71798A6C72855E617D4B4E6A3F455C343B4F242B442029442128432029442129
+          46222A472028451D27451D27451C2747202B4B212E4E1E2A4C1925471B27491E
+          2D4E232F53202C501D284E1C284C1D284E202C50232E54242F551D284E212C52
+          222D531F2A501E274D1C274D2028501E2A5217275116285119284F1C2A4E1F2B
+          4D1F2B4D1E2A4C1B294D1D2A501F2C521E294F172045182142262C492E324E33
+          3449615E6E8B8491B8B1BEC7C2D1ACA9B877768643455724283B252A3F242A41
+          1F2641202845232E4A1F2A481E29472C3249D6D1DAF3E2E5FFE6E9FFE2E4FFE5
+          E5FFE5E5FFDEDEFFD7DAF2BFC6CA969D9A676E7D4B4F7341417F41418B3B3A89
+          2F2E76767C76767C76767C76767C76767C76767C76767C76767C77777D77777D
+          77777D77777D77777D77777D77777D77777D78787E78787E78787E78787E7878
+          7E78787E78787E78787E7A7A8079797F79797F7A7A807B7B817A7A8077777D74
+          747A7B7A8381838B7379806F7886505A78222D5318234F19254D25314D2D3A50
+          242F451F29412025461E2344252D4A29324D242C4A222B4C242B4C222B4C232C
+          4E222C4E222C4E202C502430541D2A5018254B18254B1C28501D2C531D2C531B
+          2A511B274F1C274D1D274F1E294F1F29511F2A501F274F1E264E2129511D254D
+          1B234B1D254D222851232B53232952202A5216265015275018274E1C2A4E1F2B
+          4D212C4C202B4B1E284A1620421C284C20294E1C25472E3352646783AFB0CAEC
+          E8FBFAEDF5F4E6E8EEDFE3F2E4E8F6EBF3F0E8F2DCD8E3C7C7D5858595515568
+          242A4121284127324E1D29451924422D334ADDD4DEFBE3E5FFE4E5FFD8D7F5C2
+          BFCD9B959D6B65844C47702D2C7B3333853F3F843F3C76342F7A322A8E3B339B
+          423876777B76777B76777B76777B76777B76777B76777B76777B77777D77777D
+          77777D75777F75777F75777F7576807476807577817577817577817577827577
+          82757782757782757782767883737782727583747785747785707381696C7A63
+          66744B4E5D4A4E602D36442A3347242E4C1C254A212A55212C521B2848222E4A
+          1C2844222C4A282E5322284D232A4B202A48202B4B212C4C212B4D212A4C2029
+          4B1F284A1F274C1F284E1D264C1E28501E2A521B29531A285219295316275214
+          244E232A552228511F274F1F284E1D284E1E294F1D284E1D284E202A521F274F
+          20264F2228512127501E254C20264B222A4F212B4D202A4C1F28492028462129
+          46202B47202A481F2A48243151192547212B4D293253191F3C1D203C77778FE9
+          E3F4EFE1E5F6E5E2F6E7E5F5E6E4F1E3E4F0E3E5EFE4E7EFE4ECF4EBF5F0E8F3
+          D3CCDBA49EAF736D80484358332E433A2F3FD3B8BCC89F9DA66E6D8343427535
+          3072332B75342C7B373087393383322D86342F8838318638318C3D34923D3390
+          372C7678787779797A7A7A79797978787877777777767877767877787C75757B
+          72747C72747E7579847578866A6F7E5C6374464E5F61687B72798C6D74886A73
+          87737C90717990646C835A617A515B73454E6937405B2A3551222D491E29451C
+          27431F2A481F2A481F2B47202B46222A47222A4822294A20294A222B4D202A4C
+          20294E20284D23284F252A51282B51242A4D1E2B4B1B2B481C2A47202B49252C
+          4D282D4E262A4D23274A22284D21284F212A501C285017284F16294F142A531A
+          2A54252854282552282A521C24491C284A2536570D1E3F1F2F531E2A521F2853
+          1F265120265122274E22284B23294624294239374D4C4A5E73718588879B575B
+          6E20273B1C263E202F4920324F172A4B192A4B182446232D4B272B485E5D77E9
+          E6F6ECE5E8F1E8E4F4E9E5F5E9E5F6E7E4F7E6E3F7E3E2F7E2E1FFE6E6FFE4E4
+          FFE4E5FFE1E2E9C6CAB89397855D626C3D3F7737367F353381343182342E8535
+          2E83352E84342D83332C85342D85342D88342E87362F8737308938318B37328B
+          373174787975797A77797A787A7B797B7C797B7C78797D75787C76797E767981
+          7A7E897A808D6B72834D54672D364A1B24381823393E495F59637B4F5971343F
+          5A27324D232E4A1F2A461D28461C27471925471925471A264A1B294D1D2B4F1F
+          2D5119294E19294E1D294B1F2A4A222A48222A4724294822294A1F274C20294F
+          202A52202A5221295121275022264F1F264D212D4F1E2D4D1F2C4C1F2C4C202A
+          4C212A4C21274A1E264B232B50212A501F284E1C274D18274E16274E16294F19
+          284F1C20492E30591C24492630521F2F4C1323402434511B26461C224522254B
+          29284F3331554846646B6A849599ACB9B8C8DFD5E2F3E5F1EDE1EDEFE5F1E7E3
+          EFA9AAB8575D701D283E1A29431323401D2C4C232E4C252D4A242841626076ED
+          E8F7F5E8EAF4E5E2F4E1DEF6E1DFFDE4E0FFE6E2FFE4E1FFE2DEEBC0BDCD9E9A
+          A6716E87504D763C37723531793A3688413D8937328E35318C342E8B332D8934
+          2C89342C89342C88332B86332B87342C88342E89352F88363188363189363489
+          3634747C837179806F757C6E747B6F757C71777E71767F717580747785686D7C
+          5F6677585F72464E652E3850202C44222E46222C44232D451F28431B243F1C27
+          43242F4B242E4C1D27451F2A4A1F2A4A202A4C1E2A4C1E2A4E1D294D1D294D1A
+          274D1C28501C28501E294F20294E212A4C212A4B23294C21294E1D284E1D2951
+          1C2B521C2A541C28521C264E1D274F2028501F26511F26511E27521C28521A28
+          521B29531B2B551C2F55192C521A2B521C2C511F2C52222D53232C5222295020
+          294E1A2A4E1C2F50102443152A461A2B4624314B272E4941425C78718C988DA7
+          C2B4CCDFD0E5EADDEDE9DFEBE9E1EBEFE4ECF7E5ECF2DBE3F5DEE6F5E3EAE6D7
+          DFEAE1EBE8E3F2B7B7C9565B7031374E222942292F462D304529293B676474F5
+          EAF4FCDFE2FFE2DFFFE3E1FFDFDDF6CAC9D2A2A1A4716F874F4E7A3E3E7A3A39
+          7E3B3A87403D8C413F893C3A8538358837348C38338C35318A342E89332D8934
+          2C89342C86332B85322A86332B87342C88342E89352F88363188363188363188
+          36316B74826C75836C75836B7482666D7C58616F474E5F3A4154333A4E2A3347
+          232D45202B461B274316213F172444222D4B1F2A461E29441F27441D28441F2A
+          46232D4B242E4C232E4E222D4D222C4E232D4F232D4F202C501E2A4E1D294D1C
+          274D1E27521E275220285020294F20294F20294E20294F20294F1F2B531B2A51
+          1727511727511727511A29501C2B52212D572026552125551E26551C26551A27
+          53182954172B54172C5212254B15274C1A284C1E284A2027482426482B274A27
+          2A49192B48142C4A122A481D324E12223F252D4A2F334CB3B0C6E5D9EDEDDCEA
+          F2DEEAF6E1E9F5E4E8F3E5E7F0E4E4F0E2E3F2DDE0FBE3E5F6DEE0F8E2E4FCE7
+          EAF8E4E9F6E5EEEEE0ECECE1F1C2BACB6D64782E2637332838392B37716069FD
+          E1E7EFC3C4D9A3A3AE75768A50517D3E407D3D3D8240418A44449046468D4240
+          8E3E3D913E3D913B3B8F38368E37359039378F38348D36328B352F8A342E8933
+          2D88332B85322A84312986332B86332B87332D88342E87353088363188363188
+          3631434F6737435B28344C1C28401B253D1A263E1F28431E29441F2A461F2B47
+          1E29491C284A1B294D1E2C501D2D521E2C501C2747212C4A293351293452222D
+          4B1B26461A25451E284A1B25471A264A1A264A1B274B1D284E1E294F1E294F1F
+          29511E27532026532026532027522027521E27521E28501C28501E2C56172751
+          15264D16294F182B51192B50182A4F1C2B52252A572527572125552026531F28
+          531D29511A2A4F19294D223151242F4D252B482529422C2C443D3A50584E6562
+          5E77232C471C2C49172647202F50232D4F282D4E21223E4D4B5FF0E7F4F0E4EA
+          EDDFE0EFE0DDF3E5DFF4E8E2F1E6E2EEE3DFF6E7E4F7E6E3F0DBD9F7E1DCFBE2
+          E0F4DADAF7DCDFF9DDE3FEE1EAF7D9E4FFEFFCE4C2CD85606A764C538E616484
+          4F52834244864041833D3E853C3E8A3F418D41428F414292403F8E3B3A8F3939
+          923A3A963C3B983C3B973A39973A39973A379138348D36328B34308A342E8733
+          2D86322C85322A83302885322A86332B87332D88342E86352E87362F87353087
+          35301725421826431A28451D2B48202E4B202D4D1E2B4B1B2848202C4E1F2D51
+          1B284E15254A16254C1B29531A2A5418274E2533571D294B152143182446222C
+          4E253153273055222E52232F53222E52212C521F2A501E294F1E294F1D284E1D
+          274F2027522026532026531E27531E27531C27531C28521C28521B2A5118274E
+          18284D1D2D511D2D5119294D16264A19274B1C214820224A23254D272A50282C
+          4F262B4C2329462327432E324A4F50657E7C8FA9A6B6CBC4D1DFD7E2EAE0ECEC
+          E5F471738B242948242D4F1920471C224B21264D373A5952556AE2E1EBEAE4E5
+          EEE6DFF1E7DDF3E7DDF5E5DEF4E3E0F3E2DFF6E8E2F1E1DAFFEBE5FFF2EBFDDD
+          D7FFDFDBFFEFEDFFD9DAEFC1C7CA99A1A16E76834C55783C428445478E4A4B87
+          3F3F8D414290424391424591434493434495434296434299434397414198413F
+          993F3E993D3C973B3A9438379235328F34309138348D36328B34308A332F8733
+          2D86322C85322A84312985322A85322A86322C87332D86352E86352E87353087
+          3530202E521F2D511D2B4F1C2A4E1B294D1B284E1B284E1B284E18244C17264D
+          1B29531F2D57202E581B2B5617275214244F16254C1B284E1D2A501C294F1C27
+          4D19264C1B264C19264C1A274D1A274D1B274F1C28501C28501D29511D29511F
+          295120264F20264F1F26511D26511B26521926521927511B274F1E294F1C284C
+          1E2A4C232E4E212C4A1D2846202B492934502A314C2A2E46292B433331474B49
+          5D787285AAA0B1CBC0D0E5D9E5EADCE7EEE2E8F0E5E8EEE3E5E8E0E0E4DCDCDF
+          D8DDE2DBF059547327244B282A532D3161191F4C121B404A566ED6DFE9DEE3E2
+          E7E5DDEEE5DBF2E2DBF6DFDDF9DEE2F9DEE2F4DED9FFEEE6FADFD5F7D6CDF8CE
+          C7D5A7A0A6716E854C4B85454A7F3D42803A4090464C94474A8B3B3A913C3A9B
+          49449242419043419042438E413F8E3E3D8D3D3C8F3D3C8F3E3B8D3C398E3B39
+          8E3B39903C37913D38923E39903C378D39348D38368B363489353088342F8733
+          2D87332D85322A84312984312985322A86332B87342C86352E86352E86342F86
+          342F18284D19294E1A2A4F1A2A4F1A29501A29501C2B521D2C531D2B5517254F
+          16244E1B29531A275315224E1724501F2C581927511D2C53202C561D29511B27
+          4F1C28501D29511D295119254D1A264E1C28501D29511D29511D29511C28501D
+          284E20284D22284B1F284E1D274F1B27511927511B274F1D284E222B4D222A48
+          252B48272C4525294124284031354E40455A636877868A95B7B7C3DCD8E3EDE4
+          EEEEE0EBEDDAE3ECD7DFF6E0E5F3DEE0EFDBDAEBDCD9EDE1DBEDE5DEEBE6DDE8
+          E3E2E7DDEAE1D6F0554E6F2A29511B1C48252B562B3557454F67E0E6F1E5E5E5
+          EDE4DBF6E3DBFFE5E1FFE3E5FFDBE9FFD9E5EDC5C6C8A29DA57972905F577B44
+          3D7E403A914E4B8F48458C414393464A8D3D428E3D409743459843419B433D98
+          423C93423F8F42408F42408F42408F42408F42408F403D8C3F3C8D403D8B3E3B
+          8B3D378A3C368B3D378C3E388A3C368739338A37358B363489353088342F8733
+          2D87332D86332B84312984312985322A86332B87342C85342D86352E86342F86
+          342F1C28501C28501C28501C28501C28501C28501C28501C28501B274F1B274F
+          1B274F1A264E1A26501B27511D29531E2A541826501727511B28541C2A541C2A
+          541B29531A28521A28521B274F1C28501F2A501E294F1D284E1C274D1D284E21
+          2B4D262E4B1E25402832501521431F2C521D2A50172347242D4F1D213E383953
+          4442566B677A8E8899B9B3C4D1CBDEDEDBEAE2E2E8E5E7E8DCD9DBE4DEDFECDF
+          E1EAD9DCF6E4E5F2DCDEF3DEDDF3DEDDF2DFDCF0E0DAEDE1DBEBE4DBE8E3DAE5
+          E1DCECE5EADFD6E3D2CCE34E4A672D2B4F27274B2E2E4C525064E7DFE6F2E0DF
+          FFE2DDFFDED9FFC9C9E2A1AAB96E83984E6089464D8A48498E49469147459447
+          4497464398454398454497434793424590414490424390434193453F94453C93
+          443B93453F9043408F423F8F423F8F423F8D433F8E413E8A403C873D39883E3A
+          883E38873D37853D36843C35823A3382383287363388353387353086342F8534
+          2D84332C84332B83322A82312982312983322A83322A86332B86332B87332D87
+          332D1E28501C294F1E28501C28501C28501C28501C28501C28501B274F1F2A50
+          212C52242D53242D53222B511F284E1B264C1E2A541B29531C28521A26501925
+          4D18244C19254D1A274D212C521F2B4F1F284D202A4C222C4E222C4E20294B1F
+          2745252C402B3144232D451A25431C2B4C132243242E50242A4781839BC3BFD2
+          E1D7E7EFE3EFECDBE8EDDCE9E8DAE6E9DEE8ECE5E8E6E2E1E5E0DDE5DEDBEBDF
+          DDF0E3E1F0E1DFF3E1E0F2E0DFF3E1E0F3E2DFF3E2DFF0E1DEEDE1DDEBE0DCEB
+          E0DCE7D8D5F4E4E5ECDCE7DBCBDC4F3F5739263F331E347C6371E8C6CCD1A8A6
+          AD7B759356528A444590414A9C4658A14B5D96454E98474A9B47499C46469F45
+          44A14544A044439E44449A434696414592414490424390434191453F92453C91
+          443B93453F92434091423F90413E8F423F8F423F8D403D8C3F3C873D39883E3A
+          883E38873D37853D36843C35823A3382383288373488353387343286342F8534
+          2D84332C84332B83322A82312982312983322A83322A86332B86332B86322C87
+          332D20294F1E2A4E20294F1E294F1E294F1E294F1E294F1E294F1E294F1E274C
+          1B24491B23481C25471F284A232A4B232C4E1D264C1E2850212C52232E54252E
+          53242D52242D4F242D4F1F2548202748232847242A47252B48252B48272B4828
+          2C443F404E595A68707689A3ADC5828DAB1E2C491E28462227409B99ADE1D7E7
+          F2E3EBECDBDFECD6DBF1DBE0EBD6DEEAD8DFEBDDDFE3D7D7EEE4E4EAE0E0EBE1
+          E1EEE6E6DED6D6E0D8D8E9E1E2EBE0E2EDE0E2EFDEE1F0DDE0F1DCDFF3DCE0F8
+          DEDEFFE7DCFCDCD1FFDDD9FCD7DBD1A8B08E606C945F6991565E8848488C4843
+          9249419A4C45A04F4CA14E509A474F96434C9A474F9B474C9E474B9F4747A246
+          45A14544A043449E44449C434696414594404492424392424195444195443D94
+          433C96443F95424093403E93403E94413F93403E91403D903F3C8D3C398E3D3A
+          8C3D3A8B3C398A3B38893A378738358637348836358736338736338635308635
+          2E85342D84332B83322A82312982312983322A83322A85322A86332B86332B86
+          332B20294E20294E20294E20294E1E294F1E294F1E294F1E2A4E1C254A1E284A
+          232C4E262F502930512A2F4E282D4C252A49232A4B242A4D242B4C22294A2227
+          46212744252946262A46272A462A2E472F314935384D4A4B60717286A2A3B7C8
+          C7D7DAD5DEE9E7EDDBDCEAD8DFF37F8AA516213D242D48292B43A4A1B1E5DAE4
+          EEDDE1E7D2D4F6E0E2FEE8EAF6DFE3F3DEE1F7E2E4EFDDDEF0E0E1E6D8D9E5D8
+          DAEADFE1E6DEDFEEE6E7E8DDDFE9DBDDEDDADDF3DCE0FCDDE4FFDFE6FFDDE5FF
+          DEDFEFBFB3E4B0A0B07A6F8E544F9E5E5E8540439B4E51964647A14C4AA44C46
+          A34B44A34B44A04C469E4D48994C4A974A4D99494E9B494E9C484C9E48489E47
+          459F45449E44449C44449A434696414595404495414395414398434199423E98
+          413D99424096413F95403E95403E95403E95403E923F3D913E3C8E3B398F3C3A
+          8F3C3A8D3C398D3A388B3A378A37358837348836358836358736338635328634
+          2F85342D84332B84332B82312982312982312983322A85322A85322A85322A86
+          332B202A4C202A4C1E2A4E1E2A4E1E2A4E1E2A4E1E2A4E1E2A4E262F54242E50
+          222B4C1E28461E2643202742252945282B472D2E482B2C462829432526402929
+          413031463E3C5248465A7B778A9996A6C2BDCCDDD9E5E7E0EDE4DEE9E0DAE5E3
+          DBE2E5DADCE8DDE0DBD7E2D5D7E9798099202845252C4724263EA9A4B3E6DBE3
+          F4E3E6EDDAD7F7E2E0F0DBD9EAD8D9F1DCDEF0D8DAF8E0E2F4DEE0F8E3E5F3E1
+          E2ECDADBF2E0E1F1DCDEF5DDDFFBDEE1FFDFE3FFDADFF6C6CCD39FA6AB727A92
+          5355974F47A95E509649409F4F489E4C47A24B47A04443B05050A84744A94845
+          A64A45A44C459D4D46984F4794514892504B924C4D944A4E954A4C974A489849
+          469948439847449745449744469542449540449740439B40439E4241A0413E9D
+          403D9B4140964040953F3F953F3F953F3F953F3F943E3E933D3D903A3A913B3B
+          913B3B8E3B3A8F39398C39388C36368936358836358836358736338635328534
+          2F84342D84332B84332B82322782322782322783332885322A85322A85322A85
+          322A202A4C1E2A4C1E2A4E1E2A4E1E2A4E1C2A4E1E2A4E1E2A4E1A26481F2A4A
+          222B4C212C48232A45222942272C452E3048232236363245514D60716D80958F
+          A0B6B1C0D5CEDBE8E0EBE5DDE8E5DDE4E6DBE3E5DBE1E7DCDFE7DCDFEADDDFEC
+          DEDFF5E2DFE6D6D7E7DCE4EBE8F882869F242A472327432C2F44B2ADBCE3D9DF
+          F1E1E2EAD7D4F3E0DBE8D7D4EDDEDCF9E7E8EBD3D3FADEDEF3D7D7FDE1E1FFE0
+          E1F7D8D7FFE1E1FFD8D9F0C4C3D6A4A4B07A7A9458588D4B4C954F509F5658AA
+          5C5DAA5853A24C46AC5650AB554FA64E48A84D48AB4E4BA0413EB04E4EB04D4F
+          AA4D4CA54B4A9C4B46944B438F4D428D4C44924C4D93494D954B4B954A48964A
+          449549439448429447449346449143449241449441439741419C4241A040409D
+          403D97414193414093403F923F3E93403F93403F913E3D903D3C8E3B3A8F3C3B
+          8F3C3B8E3B3A8D3A398C39388A37368936358937368836358736338635328534
+          2F84342D85342D84332B82322782322782322782322784312984312984312984
+          31291E2A4E1E2A4E1E2A4E1C2A4E1C294F1A2A4F1C294F1C2A4E202C4E202B4B
+          1E27481D28442B324D434A636469827E8196C1BECED1C8D5DDD4E1E5DDE8E7DE
+          E8E9DEE6E8DEE4EBE0E3F0E2E6ECE0E0EADCDDEADDDBEDDEDBEDDEDBECDCD6EB
+          D8D3EED5D1F6DEDEF1E2EAE1D9EA6C6B85212542292D49202338B7B4C3DFD8DD
+          F2E4E5EDDEDBF8EAE4ECE0DCEAE0E0E5D7D8F7E0DEFFE2DEFFE0DBFFDAD6F3C6
+          C3D5A29FB87E79A1615D9D5652A0544EA3524DA6554EAB5850AC574FA85349A4
+          4E48A34C4FA24D51A24E50A55352903F3CA04F4CA85554A24B4E9D4348A0434A
+          A1444DA2454C9F484B9F4C4A9C4E479B4F499A4A4B99484B9949489849469948
+          439749429249419149428E47448C45428B43438D434390434193444197424094
+          423D9242418D42408D403E8D403E8E413F8D403E8C3F3D8B3E3C8B3B3C8C3C3D
+          8C3C3D8B3B3C8C393B8B383A8936388835378737368636358637348536338635
+          3085352E84342D83342B82322782322782322782322784312984312984312984
+          3129202A4C1E2A4C1E2A4C1E2B4B1E2B4B1E2B4B202B49212C48313A55535A73
+          82889FAAAFC4C6C7DBD3D5E7DDDDEFE5E2F2E0D6E2E6DBE5ECDFE7EBDEE6E7DB
+          E1E7D9DDE8DBDDEBDDDFE9D9DAECDDDBF1E0DDF2E1DEF2DFDAF1DED9F1DED7F1
+          DDD8FCE6E1EFDBDAE1D3D9EDE6F3807F932628403033482A2A3CBAB4BFE1D6D9
+          F5E3E2EDD7D2F9DFD9F5DBD5FFE3E2F8D9D6EBC5C0CDA19AB3817B955F589355
+          4FA05C579C524CA75750AB554FAE544DAF544DB0534AAF5249AF5348AD5348AD
+          534CA84F52AA545A9E4A4EA04E4DAD5E5B9748459C4C4BA55254A04A50A14851
+          A34851A2484EA2484DA04A4A9F4B469C4A459C49489C484A9B48479B48469948
+          439749439549439149428E47438A45428B43438B43438D43418F444292434091
+          423F9043418C413F8B403E8B403E8B403E8B403E8C3F3D8B3E3C893B3C8A3C3D
+          8A3C3D893B3C8A3A3B89393A8737388636358737368636358637348536338635
+          3085342F84342D84352C82312982312982312982312984312984312984312984
+          31291C2546242E4C1F2A462C35501E263D272E41969AACC8C9D7DDDEE8E2DFE8
+          E5E0E9E6DFE6E6DBE3E5DAE2E7DAE2EADBE3EDDDE4EADAE1EEE0E6E7D9DFEFE1
+          E5E9DADEEEE0E2EBDDDFEFDEE1ECDCDDF3E1E2EBD9D8F4E0DFEED9D8F6DEDEF0
+          DCDBEDDFE0EBE3E4D9D3D8ECE9F27A7B852325302E2F39302D36BCB0B6EBD6D9
+          FFE1E0FAD1CEF6C4BEDFA59FBB7B76AD6760A35A52A45951A55750A6564FA555
+          4EA6554EA8544EAB554FAD554FAE534EAE534EAD524DAC514CAC514CAC514CAB
+          524EA8514FA65050A44F4DA34E4CA24E49A14C4AA04B49A04A4AA04A4AA0494C
+          A0494CA0494CA04A4AA04A4AA04B499E4B499E4B4A9D4B4A9C4A499B49489A49
+          469A494697484597484594474592474593464492454391444290434192424192
+          424192424192424191414090403F8F3F3E8D403E8E3E3D8E3E3D8C3C3B8C3C3B
+          8B3B3A8A3A39873A388639378538368737368737368938358837348736338635
+          3085342F85342F84342D84332C83322B83322B82312A82312A81302981302980
+          2F281B2945192842121E360B12261B1D2FA09EAAE5DDE8E3D8E0E8DADEEDDCDF
+          F0DEDFF1DFE0EFDDDEEFDDDEF0DDE0EFDEE1EEDDE0EFE1E3E4D5D9F1E3E5E8D7
+          DBF6E5E8ECDBDEF0E0E1EEDBDEEEDCDDF2E0E1EFDDDCF1DFE0EEDCDBF3DEE0F2
+          E0E1E2D4D5EDE0E2E3D8DBF0E5E88B7D833E2F33443035473034BFA0A3CCA4A6
+          BA8888A06563A25B57A75952A8554DB15A50B35A50B45950B2574EB1564DAF55
+          4EAF554EAF544FAF544FAF544FAE534EAE534FAD524EAA504FAA504FAA504FAA
+          504FA9524EA9524EA7504CA64F4BA54E4AA44D49A44D4BA44D4BA04B49A04B49
+          A04B49A04B49A04A4AA04A4AA04A4A9E4B4A9E4B4A9C4A499C4A499B49489A48
+          479A484799474699474696464596464595454494444393434292424192424192
+          424194424194424193414092403F8F3F3E8F3F3E8E3E3D8E3E3D8C3C3B8C3C3B
+          8B3B3A8A3A39873A388639378639378538368938358837348837348736338635
+          3085342F84332E84332E84322D84322D83312C82302B82312A81302981302981
+          30290019310B233904152A1D2437A09DADE3D7E3FBE5F1F1D4DDF7D6DDFAD8DE
+          FADBDEF9DCDFF2DCDEEFDDDEECDEE0ECDFE1E7DADCE7DBDBEBDDDFEFDFE0F6E3
+          E6F1DFE0EFDADCE8D4D3F1DCDEF3DFDEEFDDDCEEDFDCE7DAD8E8DDD9E6DDDAEC
+          E0DCF4DBD9FFE4E3FCDADBFDD6D8B88A90905D64985F67A4686E8F4D52A0595C
+          A25657A45552B16059B46159AE5A4EB15B4FB55C52B55A51B45950B3584FB257
+          50B1564FB05550B05550AF544FAE534EAE534FAD524EAA504FAA504FAA504FAA
+          504FA9524EA8514DA7504CA64F4BA54E4AA44D49A44D4BA44D4BA04B49A04B49
+          A04B49A04B49A04A4AA04A4AA04A4A9E4B4A9E4B4A9C4A499C4A499B49489A48
+          4799474699474698464596464596464595454494444393434292424192424192
+          424194424194424193414093414090403F8F3F3E8E3E3D8E3E3D8D3D3C8C3C3B
+          8B3B3A8A3A39873A388639378639378538368837348837348736338736338635
+          3285343184332E84332E84322D84322D83312C83312C82312A82312A81302981
+          30290A1D32091A2D1923358C8F9EEAE1EEECDBE6E2CAD2FCDDE4FBD9DFFDDADE
+          FBDCDFF7DCDFF2DCDEEDDDDEEADDDFE8DEDEF2E6E4EBDEDCEDE0DEE2D3D1F1DF
+          DEECD8D7F9E4E2F7E2E0F1DAD8F4DDDBEFD9D4F7E1DCF2DCD7FAE4DFF5DFDAFD
+          E0DCF3C3C1DEA5A4B07474A36264964F52A15559A55358A75256B75D62B95E61
+          B35756B0544FB55A53B3584FAF5648B45B4DB65C51B55A51B55A51B3584FB257
+          50B25750B05550B05550AF544FAE534EAE534FAD524EAA504FA94F4EA94F4EA9
+          4F4EA9504CA64F4BA54E4AA44D49A34C48A34C48A34C4AA24B49A04B49A04B49
+          A04B49A04B49A04A4AA04A4AA04A4A9E4B4A9D4A499C4A499B49489B49489A48
+          4799474698464598464596464596464595454494444393434292424192424192
+          424194424194424194424193414090403F8F3F3E8F3F3E8E3E3D8D3D3C8C3C3B
+          8C3C3B8B3B3A883B39873A388639378639378637348736338736338635328635
+          3285343184332E84332E85332E84322D84322D83312C83322B82312A82312A82
+          312A231D301E1529928899E7DDEADBCDD9EBDCE4EEDDE1EDDADDF0DEDFF0DEDD
+          F0DEDDEEDFDDEDE0DEEBDFDDE9DFDFEADEDCECDDDAF3E3DDECDCD6F7E7E1EADA
+          D4F6E3DEEFDBD6F5DFDAF2D8D2FCDED9FFDCD8FFDFDCF5C4C2DCA6A5AE75749A
+          5958964744AB5452B35958B45A5AAC4F50B15354B25153B95658B14E50B45050
+          B7534FBC5853C15C54BD594DBB574BBD5B4FB75B50B55A51B55A53B45952B358
+          51B25750B15550B15550AF544FAE534EAD524EAC514DAB504CAB504CAB4F4EA9
+          4F4EA84F4BA84F4BA74E4AA64D49A34C48A34C48A34C4AA34C4AA24B49A24B49
+          A04B49A04B49A04A4AA04A4AA04A4A9E4B4A9D4A499C4A499B49489A48479A48
+          4799474698464598464596464596464595454494444393434292424192424192
+          424194424194424194424194424191414090403F8F3F3E8E3E3D8D3D3C8D3D3C
+          8C3C3B8B3B3A883B39873A388639378639378637348536338536338536338635
+          3285343185343185343184332E84332E85332E84322D83312C83312C82302B82
+          302B2D1A2B877483ECDAE7EEDDE8EDDEE6E6D8DCF2E5E7E4D8D8EADEDCEADFDB
+          E8DFDCE9E0DDEBE2DFEBE2DFEBE2DFEDE1DDEDDAD3F4DDD5F4DDD5F8E1D9FADE
+          D7FDE0D9FFDDD7FFDDD8EFC1BAD9A59FB578749D5A57954A48A0504FAB5857B8
+          5E5DBC5854BE5552B74E4BB9504DBA5351C05957BE5755B44F4DC25D5BBD5955
+          BC5651BB564EBA534AB95347BF564BC25E52B85950B55A51B55A53B45952B459
+          52B35851B25651B25651AF544FAF544FAD524EAC514DAB504CAA4F4BAA4E4DAA
+          4E4DA9504CA84F4BA84F4BA74E4AA44D49A44D49A44D4BA44D4BA24B49A24B49
+          A04B49A04B49A04A4AA04A4AA04A4A9E4B4A9D4A499B49489B49489A48479947
+          4699474698464598464596464596464595454494444393434292424192424192
+          424194424194424195434294424192424190403F8F3F3E8E3E3D8D3D3C8D3D3C
+          8C3C3B8B3B3A883B39873A38873A388639378637348637348536338536338736
+          3386353286353286353285342F84332E85332E84322D84322D83312C83312C83
+          312C7C6C77F6E7EFE3D5DBE4D6DAEDE0E2E6DADAE3D7D5F3E8E4EADFDBEAE0D9
+          E9DEDAEADFDBECE1DDEDE2DEEBE0DCEDDFD9FAE3DBFDDED5FFE5DDF9CFC8FAC9
+          C1D49A94BF7D78A85E5AA4514FA94F4EAF5251B05050B75555B55151B34F4FB1
+          4A48B94D49BE504CBC504CC25753BD5451B64F4CC05C58B95652B5524EB4514D
+          B85650BC5A54BB5850BC574EBF584FBA584EB85950B75953B55A53B65B54B55A
+          53B55A53B45853B45853B0544FB0544FAD524EAC514DAB504CAA4F4BAA4F4BA9
+          4E4AA9504CA84F4BA74E4AA74E4AA64D49A64D49A44D4BA44D4BA24B49A24B49
+          A24B49A24B49A04A4AA04A4AA04A4A9E4B4A9D4A499B49489B49489A48479947
+          4698464598464597454496464596464595454494444393434292424192424192
+          42419442419442419543429543429242419141408F3F3E8E3E3D8E3E3D8D3D3C
+          8C3C3B8B3B3A883B39873A38873A388639378636358636358637348637348536
+          3385363387363387363385343185343184332E84332E84322D84322D83312C83
+          312CEAD9DDE9DBDDF0E2E3ECE0E0E5DCD9E2D9D6F1E8E4E0D8D1EDE3DCEEE1D9
+          F1DED9F4DED9FBDEDAFBDCD9FDDAD7FFD7D4ECBAB4D9A097B0726A9C5B538F47
+          409E4E47A14A46AA4E49AF4B49B14A47BC504FB74A48BF5151BB4C4AC25252BF
+          5250C05551BB534CB74F48C35B56BE5651B44B48C25B58B7504DBF5855B85450
+          B85551B85650B3534DB6574EB95A51B4574EB75953B75953B65B54B75C55B75C
+          55B65B54B65A55B55954B0544FB0544FAD524EAC514DAB504CAA4F4BA94E4AA9
+          4E4AA74E4AA74E4AA64D49A54C48A54C48A54C48A34C4AA34C4AA24B49A24B49
+          A24B49A24B49A04A4AA04A4AA04A4AA04A4A9D4A499B49489B49489A48479947
+          4698464598464597454496464596464595454494444393434292424192424192
+          42419442419543429543429543429242419141408F3F3E8E3E3D8E3E3D8D3D3C
+          8D3D3C8C3C3B893C3A883B39873A388639378737368737368637348637348637
+          3486373488373487363385343185343185342F84332E84322D84322D83312C83
+          312CECD7D6F4E1DEE7D8D5F3E8E4DCD9D1E9E7DFE0DFD5EBE6DDE7DCD4F4DFD7
+          FFDFDBFFD9D7FFC3C3E79C9EC36E72AD5051A94543AB4743AB4743AB4844AB4A
+          46AA4C46AC4E49AD4F49B04F4BB3514BB64F4CBB504CBE4F4DC04F4CC44E4DBE
+          504CB3554FAE564FB1564FB55450BA5350BE5251C25252C25252C25252BF5151
+          BA5351B85551B35752B15953AF5B55AF5C54B35952B65852B65853B75954B759
+          54B75954B65A55B65A55B15550B15550AF534EAE524DAC514CAC514CAC514DAC
+          514DA9504CA9504CA84F4BA74E4AA64D49A64D49A64C4BA64C4BA34C4AA24B49
+          A24B49A14A48A04848A14949A14949A04A4A9C49489B49489B49489A48479A48
+          4798464597454497454495454495454494444394444394444393434293434293
+          43429442419442419442419442419242419242419141409141408D3D3C8D3D3C
+          8C3C3B8C3C3B8B3E3C8A3D3B883B398639378838378737368636358535348535
+          3485353486373486373487363387363386353286353285342F84332E82312C82
+          312CFCE4DEEED8D2F7E4DDE3D0C9F9E8DFE7D4CCF8E3DBF4D9CFE4C0B8D1A19B
+          B275719A4F4D973D3DA13C3EB24448BF4C4FBB4544BB4643B94643B84744B549
+          45B64B47B34D48B24E49B34F4AB34F4AB6504BB9514CBB504CBC504CC04F4CB9
+          514CB05550AA5650AE5650B35451B85351BE5251C45252C65152C75255C35255
+          C05355BA5553B45756B05955AD5B56B05C56B35853B65852B75954B75954B759
+          54B75954B65A55B65A55B35752B25651B0544FAF534EAD524DAD524DAC514DAD
+          524EAC514DA9504CA84F4BA74E4AA74E4AA64D49A64C4BA64C4BA34C4AA34C4A
+          A24B49A14A48A14949A14949A14949A04A4A9C49489B49489B49489A48479A48
+          4799474698464597454495454495454494444394444394444393434293434293
+          43429442419442419442419442419242419242419141409141408E3E3D8D3D3C
+          8C3C3B8C3C3B8B3E3C8A3D3B883B398639378838378737368636358535348535
+          3485353486373486373487363387363386353286353285342F84332E83322D82
+          312CF5DBD4F7DBD4FFE1D8FFD9D1FACAC4D79D97B4706B974A479843419F4342
+          A64444AC4647B24847B34746B04443AE413FB34844B34942B44942B74943B84A
+          44BB4B45BC4C46BC4C46BE4D4ABC4E4ABA4F4BB9514CB8524DB5534DB5534DB1
+          534EB05551B05551B35451B75353BA5253BE5153C25154C45154C65257C45357
+          C15357BD5556BA5557B75757B65958B65958B75954B75954B75954B75954B759
+          54B85A55B85A55B85A55B45853B45853B25651B15550B0544FAF534EAE524DAD
+          524DAD524EAC514DAB504CAA4F4BA74E4AA74E4AA74D4CA74D4CA64C4BA54B4A
+          A24B49A14A48A14949A14949A14949A04A4A9C49489B49489B49489B49489A48
+          4799474698464597454495454495454494444394444394444393434293434293
+          43429442419442419442419442419242419242419141409141408E3E3D8D3D3C
+          8C3C3B8C3C3B8A3D3B8A3D3B883B398639378639378538368437358336348535
+          3485353486363586363585363385363387363386353285343184333083322F83
+          322FECBEB6D5A69EA36C659C5D55853B37A14D48A2413EB14A48B64848BA4947
+          BA4947B84745B54644B24642B24743B04843B04B43B04B43B24A43B44A43B64B
+          44B94B45BB4B45BC4C46BE4D4ABC4E4ABA4F4BB9514CB8524DB6544EB4544EB4
+          534FB75351B85253B85253BA5253BA5253BC5153BD5254BF5254C15456C15357
+          BF5457BF5457C05558BE5558BE5558BC5657B95855B75954B75954B75954B85A
+          55B85A55B85A55B85A55B65A55B55954B45853B35752B25651B15550B0544FAF
+          534EAE534FAE534FAC514DAB504CA84F4BA84F4BA74D4CA74D4CA64C4BA64C4B
+          A34C4AA14A48A14949A14949A14949A04A4A9D4A499C4A499B49489B49489A48
+          4799474698464597454495454495454494444394444394444393434293434293
+          43429442419442419442419442419242419242419141409141408F3F3E8E3E3D
+          8D3D3C8C3C3B8A3D3B8A3D3B883B39873A38873A388639378538368437358535
+          3485353486363586363585363385363387363387363386353285343184333084
+          33309C484399423E9D423E9D413CAB4745AE4744B34845AF4240AD3E3CB1403D
+          B44340B44640B34841B44A43B64C45B64E47B04B43B04B43B04B43B04B43AF4C
+          44B04D45B14D48B14D48B34F4AB6504BB9504DBC514EBE514FBF5250C15250C3
+          5250C35151C35053C15053BE5153BA5253B85253B85452B65552B75653BA5656
+          BB5556BD5556C15456C35557C75457C35557BC5856B85A55B85A55B85A55B85A
+          55B85A55B85A55B85A55B65A55B65A55B55954B55954B35752B25651B15550B1
+          5550B05551AF5450AE534FAC514DAB504CAB504CA84E4DA84E4DA74D4CA64C4B
+          A54B4AA44A49A14949A14949A14949A04A4A9D4A499C4A499C4A499B49489A48
+          4799474698464598464595454495454494444394444394444393434293434293
+          43429442419442419442419442419242419242419141409141408F3F3E8E3E3D
+          8D3D3C8C3C3B8A3D3B8A3D3B893C3A883B39873A38873A388538368437358336
+          3483363486363586363585363385363385363385363387363386353285343185
+          3431B24744AF4441B74C49AF4240BA4D4BB24341B94A48B44642B84A46B84A44
+          B54A43B44941B1483FB1483DB04940B04940B44A43B44A43B44A43B34B44B24D
+          45B34E46B24E49B24E49B4504BB7514CBA514EBD524FBE514FC15250C35250C5
+          5051C55053C55053C35053BF5153BC5153B85351B65552B45552B45552B75653
+          BA5654BB5654C05557C25655C55457C25655BD5957B95B56B85A55B85A55B85A
+          55B85A55B85A55B75954B65A55B65A55B65A55B65A55B55954B45853B35752B2
+          5651B15652B05551AF5450AE534FAC514DAB504CA94F4EA94F4EA84E4DA74D4C
+          A54B4AA44A49A14949A14949A14949A04A4A9D4A499C4A499C4A499B49489B49
+          489A484799474698464595454495454494444394444394444393434293434293
+          434294424194424194424194424192424192424191414091414090403F8E3E3D
+          8D3D3C8C3C3B8A3D3B8A3D3B893C3A883B39883B39873A388639378437358437
+          3583363486363586363585363386373486373486373487363387363386353285
+          3431AF433FB24642AF433FB34743AD413DB14642AE433FB24743B24743B24841
+          B04841B14A41B24C40B34D40B34D41B64C41BC4A43BE4944BF4A45BD4B45BF4C
+          49C04D4ABF4E4BBE504CBC4F4DBD504EBC514EBB524FBC5251BA5351BA5351BA
+          5351BE5153BE5153BE5251BE5251BC5251BA5350BB5451B95551B95551B95652
+          BA5753B95854BA5956BA5955BA5956BA5956BB5A57BB5A57B95B56B85A55B85A
+          55B85A55B85A55B75954B75954B85A55B65A55B65A55B65A55B55954B45952B3
+          5752B25753B15652B05551AE534FAD524EAC514DAA504FA94F4EA84E4DA74D4C
+          A64C4BA44A49A34949A34949A149499F49499D4A499C4A499C4A499C4A499B49
+          489A484799474698464595454495454494444394444394444393434293434293
+          434294424194424194424194424192424192424191414091414090403F8F3F3E
+          8D3D3C8C3C3B8A3D3B8A3D3B8A3D3B893C3A893B3C883A3B8639378538368437
+          3583363486363586363586363586363586373486373486373485363386353286
+          3532B24642B34743B34743B44844B24743B24743B14944B34B46B34B44B24A43
+          AF4A41B04C40B34D41B34D40B24C3FB44A3FC04B44C44945C34B46C44C47C54C
+          4AC54E4CC64F4DC4514EC34F4EBF504EBE514FBB524FBA5351B75351B65250B6
+          5250B85253BA5253BC5251BC5251BC5350BC5350BD5451BD5451BB5451BA5652
+          BB5854B85A55B75B56B65B56B45C56B65B56B95A57BB5A57B95B56B95B56B85A
+          55B85A55B85A55B75954B75954B75954B65A55B65A55B65A55B65A55B55A53B4
+          5952B35854B25753B05551AF5450AD524EAC514DAA504FAA504FA84E4DA74D4C
+          A64C4BA44A49A34949A34949A149499F49499D4A499C4A499C4A499C4A499B49
+          489A484799474698464595454495454494444394444394444393434293434293
+          43429442419442419442419442419242419242419141409141409141408F3F3E
+          8D3D3C8C3C3B8A3D3B8A3D3B8A3D3B893C3A893B3C883A3B8639378538368437
+          3583363486363586363586363586363586373486373486373485363387363386
+          3532}
+        Material.Texture.Disabled = False
+        Direction.Coordinates = {FFFF7FBF00000000E2CD0C3400000000}
+        Position.Coordinates = {0000003F00000000000000000000803F}
+        Scale.Coordinates = {AE47813FAE47813FAE47813F00000000}
+        TurnAngle = -90.000000000000000000
+        Up.Coordinates = {00000000FFFF7F3F0000000000000000}
+        Height = 1.000000000000000000
+        Width = 1.000000000000000000
+      end
+      object front: TGLPlane
+        Material.Texture.Image.Picture.Data = {
+          07544269746D617036C00000424D36C000000000000036000000280000008000
+          000080000000010018000000000000C000000000000000000000000000000000
+          00004153884563922A5E821455712162772D667C3657783C547E38508A4469AD
+          67A8F34EA0F1449FF048A3F4559EF259A0F0529DEB60B1FC4F9EED4698E94496
+          E8479DF13C93EB429BF33D97F03D97F03C96EE3C97EC3D97EC3D98E93D98E93D
+          99E84097E7479FEC60B9FF4BA6EB4CA9E85BB8F55CBAF555B3EE47A0DD47A0DD
+          4BA0DE4CA2DE50A2DC50A3DA50A2D950A3D7509FD84699D071CFFD3AA1CE3DA6
+          D7399ED5489AE146A0E72AA1DF27A5DC34A0D048AADA3FA0D83191D3409BEC5E
+          9EDF949DB1C8A29EFFADABA26E75407289399ED23C9EF63C97FA4D9BF54DA2E8
+          43ABDA3CAED63FABDB3CA8E238A4EB3AA5E946A7E14EA9DC71C9FF81D4FF61AF
+          EA529BD9589FDF5598DD5895DF5A95E45995E75693E95692EC5592EF5592F252
+          93EF579AF14B94E65199ED5DA9FC58A5FB4495EA4191E84C9FF54397F04094ED
+          3F92E84194EA4696ED4797EE4797EC4794EA4C93EE4891E74A99EA56AAF25CB2
+          F458AEEA55A9E358ABE357AAE753A8E654AAEC56ADF053A7EF51A3EB60ACF873
+          BEFF34437447628E3A6A8C215C761B576D275B72385A78425B83364E84315595
+          5893DB4E9CE84CA4F1489FEF5CA6F859A0F057A3EF5CADF861B3FF4699E74496
+          E8469CF0378EE43790E83E96F03D97F03C96EE3C97EC3D97EC3D97EB3D98E93F
+          98E83E97E7429AE759B2FC45A2E744A0E148A8E44AA7E44AA7E461BCF95EB6F6
+          55ACEC4EA3E14A9DDA499ED64B9ED54DA0D759AAE34C9FD669C5F6399BC93EA5
+          D63DA1D8459AE0419BE22DA1E02FA8E039A0D144A3D542A3DB48A9E9449FEA61
+          9DD8898898CEA19DA359599A727D4E85A049AFE33C9FF3409EFD489BF04AA0E6
+          3FA8DB3BACD73BA8DC3AA5E236A2E93AA2E747A8E253ADE355ACE456A9E15FAD
+          E86AB5F368AFEF5B9EE35D9CE65997E35693E35694E85898ED5997F15796F254
+          96EF4D90E55AA0F360A8FC57A3F64A97ED4393E84090E73B8EE43C8EE74499EF
+          4B9EF44598EE4191E84293E84595EA4895EB4A95EB4F9BEE58A6F35BADF557AB
+          ED4FA4E251A7E35BAEEB57AAE85AACED5CABEE56A4E955A3E85BA9EE61AFF462
+          B0F529355D485E825078953B6D84275C702B5A703858753A52763E55832F5088
+          457AB95BA0E559A9F050A3EE59A4F2529DE954A2EE51A2ED67B9FF4295E33F91
+          E3469CF04198EE3E98ED3E97EF3E97EF3D96EE3D97EC3D97EC3D97EB3F98E93F
+          98E9419AEB3E97E756B1FC44A3E9409EE03D9EDD3E9DDC43A2E13998D744A0E1
+          53ADEE5FB6F862B9F95BB3EF53AAE34BA2DA4297CF499FD56DC6F846A3D441A2
+          D43B9AD24499DF47A1E82B97D734A3DB46A5D74AA5D83C9FD944A8E3419CD969
+          9CC7806B73CA928D834C4F76697961A1C43EA8DD37A2EC3197E943A2EC44A4E6
+          3DA8E13AAADF3AA8E43AA6E639A3EA3EA3E83D9AD95FB7F358AEEA4194D14797
+          D4519EDD58A2E468AFF375BAFF63A7F05497E25294E25698E75798E95496E951
+          95E85094E75DA4F45DA6F84C96E8438FE24898EB4B9CF14396EB4295EB4396EC
+          4696ED4798ED4797EC4696E94795E84596E74C9EEB56A7F260ADF65EABF055A4
+          E74FA0E350A6E856ABEF54A5E95CA7EC63A5EC67A5EB67A8EC65ACEB57AAE24B
+          A3D909112F29375447657E50798F4D788B4C758B4D6A854259793F557E335180
+          2B578D5892CD5BA2E25AA7EC519DE556A3EC57A6EF51A3EB63B6FF4DA1ED3E90
+          E14094E64399ED3C93E94097ED3E97EF3D96EE3D97EC3D97EC3D97EB3F97EB3F
+          98E9419AEB3E9AE956B3FE45A4EA3F9EE33D9FDF3EA0E043A5E545A5E741A1E3
+          3E9BE03E99DE449DE04DA7E759B2EF5FB9F461BAF35CB3EB61B7ED4298CC45A0
+          D346A0D94399DF3D96E041A5E63DA1DB4DA3D94EA4DA379BD63599D051A6D473
+          9AB6946C6DA8686383636E5F6E8866B0DA38A3DC39A9EB37A7ED3EA6E93EA6E7
+          3BA7E737A8E737A7E93BA6EA3EA5EA44A5E952ACED59B0F0489CDD3D91D24999
+          DA4494D5408ED0539FE1529BDF5DA6EA6DB3F970B5FE61A6EF5094DF4F93E057
+          9BE864A9F95CA3F3519AEC4993E54793E64997EA4797EC4394E94A9BF03E91E6
+          3E8FE44898EB4B9BEE4897E84897E8509FEE54AAF057ADEF5BAAED59A4E859A4
+          E85AA7EC57A7EE54A3EC58A5EE5AA3ED65A7EE70ADEF6CAAE665A6D96BAFDC78
+          C0E81C1D32171E3214273C1934481E3F532F4F6645607A5169855065854A6489
+          3659855181B171ACE466ADEC519FE259AAEE4C9FE34FA2E652A7ED62B7FF479B
+          E73E93E1469CEE3B93E74097ED4097ED3F96EC3F96EC3F96EC3F97EB3F97EB3F
+          97EB3A94E83E99EA57B3FF41A0E93B9BE13EA2E33FA3E43FA2E63B9DE33D9FE5
+          41A0E942A1EA43A2E841A0E5419FE1419EDD3F9AD75EB6F278C8FF6CBAF561B4
+          EB4FA5E14499E13F97E345A0E33D94D24D9CD550A3DB43A6E43C9ACF67ADCA65
+          7782CF928E93504F6260736797BB54A7DB3DA8E22EA5DD38B1E935A7E337A5E5
+          34A4EA33A2EA34A3EB39A3EA41A4E848A3E65CB3F64A9DE13C90D24397D94CA0
+          E2479BDC4294D54396D44999D84493D24895D459A5E76BB5F76FB6FA66ADF15E
+          A4EA5EA3F25299E94992E24B96E54C98EA4897E84393E64395E74294E64496E8
+          4797EA4798E94695E64996E553A0EF5EACF856ACEE55ACEA52A7E552A2E359A4
+          E964A9F264A6F45D9FEE61A6F55CA7F15BABEC5FACE466A8D87BB2D9ACD2F4D5
+          F5FF1B18271314220E15280F1E310A2137041E36072139112A4432496339516F
+          405C7F496C9781B4E679B9F360AFEE59ADEF56AAEC57ABED499EE265BAFF4A9F
+          E93C92DE4CA1F1449AEC4298EC4097ED3F96EC3F96EC3F96EC3F96EC3F97EB3F
+          97EB3B95E93F9AEB56B3FF409FE9389AE03DA2E63DA2E63A9FE4389CE4399CE6
+          399CE63A9DE73D9EE83EA0E840A0E642A2E448A6E75CB3F3539EE2549BDE5DA9
+          E464B3F25EB0FD5CAFFD4D9FE6509EE05BA4E04D9DDA43A1E24A9DD084AFC286
+          8180CA88838B5156576D8968ADDE49A3DE3BA5E235ADE125A2D432A9E034A6E5
+          32A4EB32A2EE34A3EB3DA5EA48A6E84FA6E84B9EE24295D9479ADE479DDF3C92
+          D43E95D5479EDC459DD94399D5479AD7499AD74696D34794D3559FDF6DB5F580
+          C5FF5EA2EF5BA0F0559CEC4C95E54792E14793E54A99EA4A9BEC4091E24A9BEC
+          4A9BEC4392E14895E458A6F360ABF959A9F04FA6E653AAE855AAE857A5E75DA3
+          E964A5EF68A6F464A4F260A7F158A6E954A7DF61AEDC8BC5E9BCE3FFE9F7FFF6
+          FAFF221D26211D28181828151A2F15233A081C3500162E021E36000F25041A33
+          192F4B213D604F79A678B4E86AB8F35BB2F268BFFF61B8F857ADEF62B7FB50A5
+          ED3E95DF469BE93C93E34298EA4298EC4197EB4197EB3F97EB3F97EB3F97EB3F
+          97EB409AEF3E98EC54B1FF43A2EC3C9EE63CA1E63BA0E53AA0E83AA0E93A9FEA
+          3B9FED3A9EEC3A9EEC399EE93A9DE73B9DE3409DE263B8FE569FE9589CE55498
+          DB559BE14E9CEF55A2F869B1FE6DB3F965AFF14E9CDE479EE164A3D5959EA8D4
+          B2ACA06464805D6B6490B94CA3DC4DA8EB3EA5E442B9EA2DAAD735AAE135A7E6
+          31A5EC31A4ED37A6EA42A8E94FA9E957A9EA4A9BDE4194D84194D84096D83D95
+          D5419CD9439EDB3B97D2439DD8469FD8469DD64799D34C9CD95AA5E362ABE962
+          A8EB6CB0FB6BB0FF66AEFC5AA4F2509BE94A97E64695E44493E24998E74A9AE7
+          4898E5499AE556A4F063B0F960ABF550A0E74BA4E751A8EA5CAAED63A8ED67A5
+          EB66A4EB61A6EC5FA8EC58A8E75BADE46DB8E693CFF3C9EEFFECFCFFFFFBFFFF
+          F4FA201C212520291B152618162C212843142540001731001A2F021D31031B2F
+          000F29011838022852659DCE5DACE556AFEC52A9E74FA6E461B8F863B9FB66BC
+          FF57ACF452A6F24398E64499E94298EA4197E94197EB4197EB3F97EB3F97EB3F
+          97EB449CF03A94E850ACFB44A3ED40A2EA3A9FE4399DE53DA3EB379EE7389EE9
+          389DEC399EED399EEC399FEA399EE93D9FE7459EE865B6FF4E93E35695E65894
+          E05898E64C94EC4B92ED5393E7599AE55DA8ED68B6F973BEFF88B0E17F626BD1
+          9994AF838A837E9966A5D73D9BDC4BA5EC42A3E5299CCF3CB3E436A6E233A3E5
+          2EA3E831A4E739A7E346A9E353A9E558A8E74999DA4498D94397D8439CD9469F
+          DC409CD73B99D43F9DD83E9BD3429CD54199D54497D451A0DF60ADEC63ABEB59
+          A0E4589DE6579DEA60A8F56DB7FF70BAFF60AEFB509EEB4595E24A9AE74596E1
+          4C9DE85DACF562B0F757A5EC54A1E659A7EC51A6EE51A6EC5BA6EB64A9EE6AAB
+          EF68ABEA60A8E45DA8E061ADDE7ABEE9A6DCFFD3F8FFEAFCFFF8FAFFFFFAFCFF
+          FEFC1E1E241C1B241D17281B182E2C2F4B4C5A76455E781D3C53203D52112A3E
+          01122C04193800143C2C629166B3EB4EA6E254ACE856ADEB4EA5E55DB3F565BA
+          FE479DE35BB0F85AAFF95EB2FE57ACFA4EA3F3449AEC3F95E73E94E64096E842
+          98EA4298EA3E97E84AA4F154B2FB40A0E63EA1E53DA2E7369CE439A0E9399FEA
+          399EED399EED389DEB379DE8369CE73A9BE5479BE76AB5FF5295EC518DE65790
+          E55A95EB4E8EEC5092F15993EC5897E84894E04D98DD619DDF7F8BBBA96975AF
+          64666C5B707A9AC358A4DF43A2E74EA3EB45A0E342ADE635A4DC3CA2E33FA7EA
+          36A7E932A6E142ACE154B2E758AAE44E9BDA4B9CD9459BD7469CD8449ED7449E
+          D7409DD53D9CD43E9DD547A3DE3C96D13F96D455A7E85FAEF15AA5E95AA0E660
+          A6EC5A9EE95CA3ED5AA3ED549FEB58A3EF60AEFA68B6FF66B7FF50A1EC50A2EA
+          57A7EE5DAEF25CABEE56A4E759A5E75EABF057A1EF5AA3F35DA6F05CA7EB5DA9
+          E461ADE164AFDD6CAFD697CDF0C3E9FFE6FAFFF3FBFFFDFCFFFFFCFDFFFFFBFF
+          FFF812181F1A1C27211D3019152E161935313D5949607A49687F3554693B586D
+          3C526B233B590B2E56002C5A5DA8DC61B6EE58B0EC59B0EE50A7E554ABEB5EB4
+          F657ACF0479CE24A9FE73D92DC469AE654A7F55CB1FF5DB2FF54ABFB49A0F040
+          97E7479BED3E95E5459DE950ACF33C9BE03FA0E240A3E73A9FE4399FE7399FE8
+          399DEB399DEB3A9FEA3BA1EA3BA1EA42A1EA4D9DEA67ADFF5497EE5995EF5F94
+          EF5E94F2528EEE518EEE5992EF4E8DE5509BEA5499DF6E95D3756B96E08D9C9B
+          4F5B5F688A6EADE069C0FF5FBBFF59ADF5489DE145A6E540A4E447A6EC42A2E8
+          34A4E037A7DC45ABDB4DA9DA519EDC4D97D74B9DD7489DD5439AD2409AD1429D
+          D444A1D8429FD73E9AD53F99D4439CD94FA3E45AABEE5DABF05AA4EC589FE959
+          A0EA5CA3ED569FE957A0EA59A4EE56A3EC509FE851A2ED58AAF26EC0FF75C7FF
+          71C2FF5DAEF14F9DDF4F9EDD57A4E35BA6EA69AEFD60A5F55BA5ED5EABE95DA9
+          DD61A9D17DBCDEA8D7F3D9F5FFEFFAFFFBFBFFFDF5FFFFFDFFFFFFFCFFFFF9F3
+          FAED111D29121B291C1B2F17142D0D0E2A18233E3A50695271883D5D743F5E77
+          405B76445F813B5F87184A784487B852A2D954ABE455AEEB54ABE94EA5E556AC
+          EE67BCFF3F94D8489DE351A5ED4BA0EA459AE43F95E14297E54A9FED52AAF75B
+          B0FE60B2FF54A7F551A6F059B1F7409BDE419FE03F9FE13B9CDE40A3E73FA1E7
+          3B9EE83A9DE7399DE53A9FE43BA0E5439FE65CA8F461A6F65191E95792EF5A8D
+          ED5C8FF05690F05490F05993F3518EEB5197EA5C95DA8999CE816287D27D918E
+          4D666A8CBA50A5E3439EE14FA7ED6ABAFF6BBBFF5FB7FD4BA5EC4BA2EC429FE4
+          3EA6E148B3E652B4E24FA5D94A97D64894D6489AD44CA1D94CA3DB449ED5419B
+          D2419CD3429CD5409AD53D94D24FA3E45BAEF25AAAF156A3EC57A2EE58A0EE56
+          9EEB59A2EC56A0E857A1E959A5ED56A4EB50A0E751A3EB5AACF363B6FA5DB1F3
+          63B5F66FC2FF72C2FF64B4EF5EACE763ADED579BE65CA0EB5DA7E75FABE06DB3
+          DB91CAE9C8EDFFECFCFFFBFBFFFFFBFFFBF1F7FFFEFFFFFFFEF7FEF7F8FFF7FA
+          FFF81222320B192B141A2D1D1E3315172F10173022374D3D597145677F355872
+          3855743353762D547B2B5A862A66945FA8DA55A9E352ABE859B0EE52A9E953AA
+          EA63B9FB4DA0E44DA0E4459AE0479BE3499DE5499EE8499EE8469CE8449AE643
+          99E54597E44A9BE658ADF374CBFF5DB5F558B5F24CA9E841A0DF3D9DDF3E9EE0
+          3FA0E441A2E642A3E741A2E440A2E244A0E165B1F9589CE94E90E35793ED598C
+          ED5A8BEF5A92F15592F05993F35691EE5A98EC6B95D68F8BB5B188A4A6607787
+          62845F94CD4DAEF24FADEF4EA8E94DA0E44B9BE25BA9F562B4FF68BBFF5DB5FB
+          50B3ED4DB2E64CA8DB449BD34795D84D9BDE4697D4479CD4479ED7479ED7459C
+          D5449BD4449AD64499D74C9EDF58A9EC5EACF156A4EB529DE955A0EC58A2F059
+          A1EF57A0EA59A5ED58A4EC52A0E753A3EA5BADF461B3FA60B3F757ABED60B4F5
+          5FB2F057AAE764B4EF78C9FF78C7FF66B2ED6AB1F168ABEA67A9DE7BB7E1AADC
+          FADAFDFFEDFCFFF6F7FFFFFCFFFFFCFFFFFDFFFFFCFBF4FAF5F7FFFAF2FFF5F6
+          FFF90F24390A1B2E111A2E1F23361C20330E15281526392E465C44637C3A5E7C
+          4164862A4F75325B8227557E1B4F783F80AD61B2EB53ACE958AFEF56ADED56AA
+          EB55A9EA5EB2F44699DD4FA2E64A9FE5469BE14398E04398E0439AE4469DE74A
+          9FE94F9EE74C9AE14C9DE161B5F6479CDA51ABE657B1EC5FBBF65AB7F654B1F0
+          4BA7E844A0E1409CDD419EDD45A2DF4CA5E266B4F75197DD5294E25D98EE6091
+          F55B8CF25793ED5292EA528FED558EEB6A9AEC8095D2866D89C699AA8C69837F
+          7FA76BA9E94DACF245A6E54BA8E553AAEA54A5E956A0EE519CEA499EE655AEF1
+          65BEFB68C2FD5FB8F552A8EA4D9AE34694DB4B9DDE3F94D23D90CE4295D3489B
+          D94A9AD94A9AD94D9BDD5BA9EB5BA9EC58A5EA55A1E9549FEB56A1ED58A2F057
+          A2EE57A3EB59A6EB57A4E953A1E656A7EB5EB1F561B4F85AB0F260B7F757ACEA
+          57AAE75EB2EC61B2EB5CAEE566B6ED79C8FB77C1F181C0ECA0CDF3C9E6FFEAF8
+          FFF5FAFFF8FAFFFCFBFDFFFFFFF4F4F4FFFFFFFFFFFFFDFFFEFAFFFED3E1DBE2
+          F2EB233D5513283D0813271017281B1E2C1419280D1C2C162B4044617C4F7293
+          2A527529527929547B315C832C597E2A648E59A9E052ABE84FA6E654ABEB5BAF
+          F051A5E669BDFF4498DA499CE04A9DE14C9EE54CA1E74A9FE7499EE6449CE345
+          99E14D9BE24F9CE155A3E56FBFFE479BD549A0D83F99D0429CD547A1DC4FA9E4
+          5BB4F163BCF961BBF656B0E947A1DA4097D06FBCFA5299DC5496DD5791E35C8D
+          F15889EF5494E95498EB4F8FED5F94EF688DDF8285BC9C7081986C736969817C
+          A1CD5FA0E44EA3EB48ABE54AAEE54CA9E652A5E95DA2F15EA6F449A1E751AEED
+          5AACED4FA0E3469BE54EA4F05DADFA62B0FC52A4EB4EA2E44D9EE1499ADD4594
+          D74593D6519CE060A9ED61AAEE5BA3E958A0E659A3EB59A4EE58A3EF54A0EC53
+          A0E957A3EB53A0E554A2E75CADF15FB2F65CB0F258AEF05AB1F14CA3E15AB2EE
+          61B8F15CB1E95CAFE663B6EA64B4E963AEDC82C0E4ADDCF8DEF8FFEFFAFFFBF8
+          FFFBF3FDFFFEFFFFFFFFFAFFFFF5FDFCF8FFFFF8FFFFE4E9EAD6DEDE9EA9A79E
+          ABA93A556F253D530C1C2D08111E1A1C26191E270D162406172A0926413C6282
+          305A7F426F9529547B38628532587A22557D3883BB53ABEB4FA6E652A9E95AAE
+          EF56AAEB68BAFB52A4E54E9FE24CA0E24B9EE2489DE1469CE2469CE2439BE146
+          9BE1529FE4509BDF4F9CDB69B9F64295CD499FD5449AD04AA2D8479ED6439CD5
+          429AD6449DD64CA3DB56AEE460B8EE69BFF571C2FB58A1DD5EA0E15A94E06192
+          F4588CF05193E4539BE94F92EE6295F17289D97B6EA2B77C847B524F51758D6A
+          B0DF66A7EB5AA5EA4BAFE543AEE141A4DE4CA1E55CA0ED5BA3F050AEEF54B4F0
+          5DABEE5199E64093E84299EF4B9DEF4A99E84DA0EB58AAF25CABF453A1E84C98
+          E0559DE361A7ED67ADF35EA3E95DA2E85CA2E85BA3EB5AA4EC57A2EC55A2EB54
+          A2E955A2E755A2E75BA9EE62B3F762B6F85CB0F258AEF05BB3F366BDFB57AFEB
+          55ACE560B5ED61B4EB59ACE062B3E684C6EFC9EBFFE9F8FFF3FCFFF4FAFFFCFD
+          FFFFFEFFFFFFFFF3F5F5F2FAFAF3FFFFE3F4F7D3E4E7D1E0E3F4FFFFF0F5F8DD
+          DFE030556F2F4E671D3247121C2D191B261B1A24131624111E2E092139224461
+          3A65861E4E721F4C712B5578375C7E28547D23659A63B3EE60B1EE57ACEA54AB
+          EB58ACEE5BACEF60AFF24E9CDF4E9CDF4C9DE04B9EE2489FE2489EE4489EE449
+          9EE44F9DE24C9ADD4C99D86ABAF74798D150A3DA479AD14BA1D7479ED6469DD5
+          459CD5449BD3479CD4499FD54BA1D74FA3D76DBDF45DA8E06CB3EC6DACF075AE
+          FF639DF64F93E04A94DC4F97E55C8FD897A0DF846B91A66D7585676C6EA3C44D
+          A3D95EA3E8569EE44CABE345ADE249A9E555ABED5DA3F0569FE950ACED4DABEC
+          55A0EA4E97E94495F04299F5479AF04395E64496E44D9DEA4D9BE84D99E561A7
+          F478BCFF74B7FF5FA3EC589CE75CA4EC60A5EE5BA0E9589DE656A0E855A5EC55
+          A6EA55A5E660B0EF64B6F75CB0F155ACEC56ADEF56B0F154AEEF55ADED57AEEC
+          62B5ED68B7EA6BB3E277B9E296D4F8C6F3FFF1FBFFFFFCFFFDFDFFFBFEFFF9FE
+          FDF7FDFCFAFFFFF6FFFFF3FFFFD6EAEBA1B6B7D6EBEDF0FFFFF3FCFFF4F3F5EF
+          EAEC1B516F2F5E7A2E4C65101E351C1A2E271D2E130C1B1D202E0D1D2E0A2A3D
+          2D59702F617D21517327547A284E78254C792253833975A9539DD54B9CD951A8
+          EA5CB2F857A5EC78C0FF5196DC5198DC53A1E34CA0E14198DA489FE24DA3E942
+          97DD499CE04C9DE04F9FE065B4F351A1DE4C9ED84C9FD7489DD5479ED6419BD2
+          449ED546A0D7439AD2469AD450A2DC57A8E15BA8E155A1D64F9DCC529ECF5A9F
+          DE62A5EA6BADF472B8FB5CACE373AAD1928FA5BE9BA9A4808E7A738E76AFE34F
+          A2E657A5EC519FE652A9E94FA8E557AEEE4EA2E456A4EB56A3EC5EB1FC50A4F0
+          4997EA4A97EE499AF54699F44294ED3E91E64898EB4796E74D99EB4F98E861A2
+          F35F9EEF4E8FE061A6F564AFFE64B2FF67ACFB63A5F35E9CE85A9EE756A6ED4C
+          A3E35DB2EA64BAEE62B8EE55AFE654AEE954B0F152B1F653B2F850ACF35BB1F3
+          61ABE57DBBE989B8D8CCEDFFEAFFFFF4FFFFFEFAFFFFFCFFFFFDFFFAFFFFF5FE
+          FFF2FFFFEAFCFBE6FDF9B6CECCAEC7C3CDE2DFABBCB9D6DEDDF5F8F6DAD6D5FF
+          FEFE1F5C7C194F6D294D6B354A65181C34130F222C263710101E0F1A28051F2D
+          183C4E325E76315D7C254F74294E7A2A4E7C1C4572265A894B8FC44A9AD5489F
+          E1449AE04B98E15CA0EB72B3FD66A9EE5FA9EB5AAAEB4DA1E3499EE24A9CE343
+          95DC4799E0489BDF4C9BDE5FADEF4F9EDD4A9AD74B9BD6469BD349A0D846A0D7
+          46A0D747A1D8489CD64799D34F9FDC5DABE65DAAE357A6D952A4CE50A2CC4F9E
+          CF519BD35898D85C9ED95BAAD575A8C2968184A87D806A5A728090BE70A7EA59
+          A5F156A4F05AAAF152A0E55EADF04F9EE15BAAED56A4E95EADF6509DEC4A98EB
+          4996ED4896F04797F04597F04799F24D9DF44D9AF04691E753A1F458A2F45797
+          EB5D99ED5894E85393E84D99EC4A98EB59A2F466A8F978B6FF6BACF6519EE366
+          B9F769BDF15BB0E05AB0E45DB7EE57B1EC53AFF054AFF450A8EE5EB2F468B1ED
+          73B0E297C4E9DAF9FFEFFEFFF5FAF8FFFFFCFFFCFEFFFEFFFBFBFFF0F7FAF4FF
+          FFF1FFFFCEE3E1A9C1BFC5DBD9E5FCF8ECFDFAF4FFFFE9F0EDC0C3C1D4D5D3E8
+          E6E52D678A2B61802C557538567124364D0B1527161A2C0F1423121B29061525
+          061B30324D674261802B4D712B4D78284D79244F7A1D517F387AAD509DD63E92
+          D3388DD34594DD4C95DF61A5EE5093D84B91D4579EE15AA5E959A6EB5DA9F15E
+          ACF355A5EC52A3E74F9EE15BA9EB519EDD4B98D64D9DD84C9ED8469BD3469DD5
+          439AD2449BD3499DD74597D14E9CD763B2EB4F9DD24D9FCF4EA2CC50A4CE4DA2
+          D2509ED35C9BD55F9DD358A1CD6E96B2AC838A8958604F577C7BA5E075A9F068
+          A6F45FA7F45CA9F25BA7EF519FE2509EE152A0E35BA8ED5FAAF4529CEA519BED
+          4F9AF04C99F04796ED4495EA4596EB4A9AEF4F97EF4D95ED4FA0F54C9CEF5096
+          E95D99ED5F91E95B90EA5294ED5199F13F8AE04E97EB5DA0EF5C9DE774B7FC7E
+          C5FF6BB8F06FBFF45FB2EA52A8E45BB2F25BB1F35BABEA6BB5EF73B2E47FB3DC
+          BAE1FFDCFBFFE8FDFFEBF8FFF6FFFFF8FFFFF6FFFFEFFBFBF6FFFFF4FFFFD4E0
+          E0BBC7C7BDC9CBBCC9CBE7F3F5F2FFFFF3FFFFF4FFFFE9F5F7E8F4F6F2FEFFEF
+          FBFD2153773262843A6685335A764362792D4559041425172132161D2E101629
+          09112827344E3F54733955772F5077204970204E77194D7B226193559FD74898
+          D74598DC4092DA4390D968B0F8589DE35093D85497DC5499DE4D93D94991D948
+          91DB4997DE4F9DE257A4E96BB6FA68B2F456A3E24F9CDA4496D04498D2489FD7
+          449BD3489DD550A2DC4797D24D99D466B3EC499CCF4CA1CF53A4D151A6D348A5
+          D24CA2D05D9DD3679ED172A7D2758AA6C89BA47B505F5F7AAD5792DA6498E558
+          8DDD5092E0549CE96AB2FA64ACF270B9FD63ACF063ABF1539CE6539BE94E97E7
+          4B94E84B97EA4C9AED4B9BEE4A9BEC4A98EB4F92EE5BA1FC4A9AF14393E6599D
+          F05189DB426BC04D76CB5C92E55695E65EA3F34A8FDE5293DE68A6ED538FD54A
+          8ACB5BA1DD569FDB68B5F373C0FF62AFEE63ACE875B7EC79B2DFA4D1F2D0F2FF
+          E6FDFFECFDFFF1FEFFF3FFFFECF7FFF3FFFFEDFCFEE6F6F5DDEBEAC9D3D3C0C8
+          C8DCE1E2F4F7FBF1F2F6C3C4C8C3C6CBD9DDE2E1E7EEE3EDF4F0FCFFB3C0C894
+          A4AB2E557C2D547A3B6485325C7931597236596D1933440B1B2C151B2E1A192D
+          1818301419322D3B58476080345B7B214F712051771449740D48793172A94994
+          D24697DA3F94DA4597DF4F9DE45199DF5393DA5593DA5997DE5898DF5498E152
+          99E3539FE74D9BE04693D84E99DD56A0E24F9CDB5AA7E65DAEEB59ADE756ADE6
+          489FD84397D14A9CD64797D254A0DB70C0F7489DCD4BA1CF53A0D14FA1D13FA4
+          CB44A5CB5A9FD1719FCF899DC67B748FA7818D77617A6A94D54586DB578BDE55
+          87D95592E25597E6498CD75397E05095DB68ADF266ACF269AEF75CA0ED589DEC
+          549BEB519AEC509AEC4E9BEA4B99E64A94E65998F25FA1FA4B98EE4B97E95594
+          E53566B61D3D891F3C86062D724B7BBD568CCD679FE07BB0F35F93D9528AD156
+          92D85697DB5094D5468ACB5898D877B3EE7DB4E789B8DEB0D5F1D8F1FFEFFFFF
+          F6FFFFF1F7F6F5FDFDF6FFFFF3FEFFF0FDFFF3FFFFF3FFFFCDD8D6BCC2C1E8EA
+          EBF9F6F8ECE5EAFAEFF7FFFBFFFFFBFFD6CED9D4D0DBBABAC6878B965C647147
+          4F5C334F7836557C315579365F7F2D5A75335C7339586D13273913182D1A182E
+          211D360B0C2618253F3F5A7537627D2B5D7B2C5E8220527C1A507F1551855195
+          D04796D54196DA4199DF4499DF54A0E85A9BE55792DA5893DB5895DF5094DD4B
+          95DD438FD74694DB4A97DC54A1E661ACF0509CDE4B99DB4699D73C92CE47A0D9
+          4FA8E159B0E961B3ED57A7E2539FDA59A9E049A1D04DA2D2549ED84B9ED23DA5
+          C841A7CA58A1D3789ECE9A8FAF8A6D846A54677B7FA25F92DB4F93EC5188DD60
+          95E64781D34885D54A88D65493DD5B9BE25FA2E7589AE14E93D95B9EE95FA3F0
+          5FA4F359A1EF529CEA509CE8539FEB559FED61A2F74D90E74992E6569BEB4379
+          C6274E98263E80182C66133063002250466D9A779FD0688EC8618DCC5B8FD556
+          91D7528ED4538FD15F98D65C8FC75B87B68BAFD3D0ECFFEAFDFFF3FFFFECF3F0
+          FDFFFCFDFFFCFBFFFFF3FAFDF4FEFFCFD9E0E8F4F4CEDCD8E9F1F0FBFFFFECEB
+          EDD8D2D7E0D8DFE2D7DFFFF5FFE0D2DD756B775A515E534E5D4441505757655B
+          5C6A11214F223862203D642E53753A6481365F783B5B722F465C182037171931
+          1A1A3211152D0A1A311C3B522F5B723467812857772B5A8032618D285A8E5393
+          CA5BA4E23F96D83693D83C97DC4FA3EB599DE85493DD5895DF5495DF4D95DD4C
+          9AE14A9AE14B9BE24797DE4C9ADF5CA9EE4897DA4698D94198D6459EDB449ED9
+          409AD53C96D14299D24FA1DB5DABE665B4ED57ABDF58ABE255A5E64FA3DD46AA
+          CD47A9CB529ED27596C4B58CA1AE7B895B5C787094C4568DD85090E54783D553
+          8EDE5B95E7528DDD5B96E55390DA66A4EB5997DD5E9CE25494DB508FD95596E1
+          589BE6589CE9589FE95DA7EF63ADF566B0F85CA1F04B90E05295E4619BE7456E
+          B7314D8E3D4F842C3C66162B470D243A04152F384A69758AB77493CA598DCF50
+          8CD25A90D76598D76793C97C9FCBB5CFEDE5F6FFF3FEFFF2FAFAFAFFFFFBFFFE
+          F8FEFDF2F8F7FAFFFFEDF5F5D8E0E0C1C9C9ACB4B3D3DEDCE8F0F0E9EEEFF2F5
+          F9F1F2F6E8E6ECECE8EED1C9D39A929C655D684B434E5C53606B626F6D637063
+          5A670D1D4B00113B00183F00193B002242052D4A0E2F49304A621E2B45141B34
+          11152D1B233A07172E001A2F274F623C687F2C5575345B8129517B234E7F2C65
+          9962A8E3489FDD4FAFF148A7EC56B0F75CA7F1579BE6579BE44F97DF4394D846
+          9BDF4499DF4499DF4294DB4496DD5AABEF4598DC459BDD439DDD3E9BDA3E9BD8
+          409DDA409CD7409AD549A0D952A4DE4F9FDA4B9BD64E9EDD4BA0E64BA3E350AF
+          D75BB3D863A9DE8AA1CEAB7582A9717C63769B5B94CC5A98DF4989D75092E04E
+          90DF538EDE558DDE538DD9639DE85F9BE1619EE25593D95795DB5C9AE15897E1
+          5394DE5094DD5499E258A0E6569FE34E99DE4E99E35BA3F064A5F06CA1EA587A
+          C038508C36467529395D2A3F551125361A263818223A1A264A4E65936996CF57
+          8DC96B98D5678DC38AA7D3CADFFEEFFBFFF6FEFFF9FBFBFDFFFCFAFDFBF6FDFA
+          F8FFFFF6FFFFBDC7C7DCE4E4F8FFFCF9FFFDE6F1EFD2DEDEEBF7F7EDF6F9C9D2
+          D5E3EAEDFAFEFFD1D4D98D8F975B5A63595560655F6A6B636E615763695F6C66
+          5C683A567F36557C264A6E13395C082E50072D4D042644001C3700132F071630
+          0F1B33041028132137071A2F0B233739566B42627F35557839587F3055812657
+          894E8FC64DA0DD44A2E33C9DE141A0E65DB0FB519EE759A5ED5CADF154AEEF4C
+          AAEB49A2E5499FE54398DE4499DF52A7EB3D94D7449DE03B99DA3899D9379AD8
+          3A9BDA40A0DC449FDC4199D560B3F04B9AD95199DF4F9AE43D99E23A9BDB469C
+          D058A0CF689DCF7E8BB1BE8D9584596282A1CE5DA2E14F96D54C93D64B93D94A
+          8ED94F8CDC4B86D5629CE766A1E9609DE1609DDF5794D85C9BDF5896DC5999E0
+          5897E15697E15A9FE55EA5E9579EE14792D64996DF4D98E24F93DC6498DE5C7C
+          BD3D538D374879253A604A688549687F142A43192A451421410F21462E517970
+          96C07492BBB1C9EDE0F1FFEAF6FFF8FDFFFBFFFFFAFBF7FDFFFCFAFFFFF5FFFF
+          D9E4E8C0CCD0C5D1D3D8E2E2DEE5E2D3DCD9E6F6F5DBEFF0E4F6F7E7F8FBC2D1
+          D4818D9159636A575F66575D6461646C575A6263656D5D5C6564616A66626D68
+          656E2953762E587B305A7D30597A30597A345A7C375A7B375675344E6C394F6B
+          0A1B3614223907142A0B162C131C300E1B31112641061F3F1A34581C3C650F3B
+          6A2D699D56A5DE4AA5E246A5EA45A4EA56ADF7489BE64095DB419ADD399AD936
+          99D748A3E64DA6E94DA3E953AAED5FB6F948A1E444A2E43A9ADC3DA1E23B9FDF
+          379BDB3A9BDA3C99D83B94D158ADEB4796D95095E44E97E9449DE746A4E651A4
+          E262A2D87A99C68888A69472798A78857BA6D75AA7E55EABE35BABE260AEF05D
+          A7EF5E9FEA5E9CE85F9DE45C9BDF5494D55694D45C9ADA5996D85A99DD5694DA
+          5696DD5F9FE65FA1E8579CE1549ADD509BDF4799E14B99E54F95DB5F99DB567B
+          B938508A30457C1C3769416B9695C2E8678EB42644670D20410C1C390317302A
+          3F54D1DFF5EDF9FFF3FCFFF5FCFFFAFEFFFBFFFFF9FEFDFAFFFFE7EFEFBDC7C7
+          B6C2C4DAE6E8F6FFFFF6FFFFF4FCFBE9F3F3C6D8D9DAEDF0D6E7EAA2B0B66771
+          784D555C51565F5B5D6761626C60616B5A5C665C5E685A5C66575C65747A858B
+          929B215B78245C79275B792958782D5879325B7C3A5F814063853B5A7B2E4A68
+          33496513223C161B3419162F292138141127242F4A1C314D172C4B001B3E0014
+          3E0029583A82B851A4E1419ADD3B97DE48A1EB469FE93893D83E9CDD3AA0DB3B
+          A1DC3D9BDC419DDE4099DC469FE253ACEF46A1E444A3E841A2E641A6EA3FA5E6
+          3AA0E13EA0E03F9DDE409ADA58AFEF4A9AE14E93EA4C91E84794DD4497DB4499
+          E15C98D4878AB0917E93695F6C8D9DB46FA7D853A2DB59ABDA53A7D756A7E44F
+          9EE15CA2E86AACF365A6EB68AAEB63A6E55FA0DD69AAE75696D65F9EE25C9AE0
+          5D9DE461A1E85A9CE34F94D94D93D64D98DD4393E04799E64B99DE5B9EDD507D
+          BA304F8C27428212327325599B64A2E25D9DD777ACDE4F6F922230463536405D
+          5B5BFBF9F9F1F1F1FBFFFFF8FEFFECF6FDF3FFFFEEFAFFC6D1D5C8D1D4EAF2F2
+          EBF1F0D7DDDCD8DDDEDCE3E6D7E2E6DBE7EDD9E5EBA1ABB25D636A3D3E48514D
+          587169747568766558666457676257676B65767170807176855964727584948D
+          9EAB1C5A721E5A72245B762B5D7B305B7C2D56772E5477305478325779335475
+          415B792A3D580F16311F1B341D0F27251B3221273E4958724C617C3B5776355B
+          7E1546722B6A9D5DA5E154A3E6499EE64AA3ED51ADF63D9ADF40A1E13B9FD93A
+          9DD73E9BDA409ADB3C96D7409ADB4BA4E748A3E646A5EA48A9ED3EA3E740A5E9
+          3EA3E746A7E948A6E84FA6E95DB0F4509EEA549BF35799F2589BE65098DE4A9D
+          E8659CD99384A39174845D6A807FACCD60A3D452A3D654AAD454ABD751A5DF52
+          A2E35FA8EC60A7EA569DDD559DD9559BD6599FDA69ADE861A4E15FA1E266A7EC
+          67A7EE5F9FE65799E05799E05499DE4D95DB4090DD4799E64D9EE25DA4E35183
+          BF2D529026418410317A2A61AA599EE458A0E05C98CC8EB1D3AEBACC665E5F78
+          6861FBF1E7FFFFF8FFFFFCF6FBFCF3FEFFEEFDFFD8E7F0CAD6DCF1FAFDDFE5E4
+          E6E9E7F9FCFAFBFFFFFAFFFFD2DBE49AA3AD5C5F6756555E5C58637068737467
+          756957686451646A576C6F5D747C6F878D89A28D91A9748299536982738DA596
+          B5CC376C8032677C306078305C793059792E57782F577A32597F396184446A8C
+          2D4F6D344C6825314D10142D1911281C142B0F142937445A43586E3C59743659
+          7A245079235688659FDA68ABF05CA7F151A4EF57B0FA45A3E545A4E342A1D940
+          9DD5459EDB469EDE459DDD49A0E24FA6E94DA6E9409DE2409FE53C9EE440A2E8
+          3EA0E645A4EA49A3EA52A7ED57A7EE4F9BE74E97ED599CF16AA4F0639EE659A5
+          ED709FD791778F7F62717293B46AAFDA57A5D456ABD952AACF57AFD84FA3DD57
+          A7E85EADEC4F9CDA519DD84D9AD24D99CE54A0D556A0D85EA4E05DA1E262A5EA
+          62A4EB5C9DE75B9CE65FA1E85DA2E8569EE64997E34FA1E952A3E75FA6E64F82
+          C02D51912842851534793667AB619EDC5B9DD28FC5EED4F1FFD3DAE96D606271
+          5F58F6EDE3FFFEF4FAFEF9E9F1F1C4CFD7B2C1CAD2DFE7E8F4FADFE6E9EDF2F1
+          E7E8E6DFDDDCDBDADCADB0B56A6C774747535D555F635860695B66695B676856
+          676C596C7A687F857892958DAB9190B0858EAF8EA1C47A96B9567C9F36608521
+          4E73385D71355D703559713055713053742F557731587E305C812C597E2B587A
+          355C7C345471435A741D2B42161C3313162B0E1427192537384D624A69803658
+          762F567C234C7D3E6EA869A2E763A6F152A0EC53AAF450ABEE4FAAE754ABE356
+          ABE34FA5E14EA3E14CA1DF4BA2E24DA3E554ABEE439DE447A3EA42A1EA45A4ED
+          3F9EE744A0E9489DE752A4EC519CE64F97E44B94E45195E8619CEB5B95DD5F99
+          DB708EBF856A7E7D677981B2D857ACDC52A6D659B0DC4FAACF56B0D951A2DF57
+          A6E953A3E24395CF51A3DA53A3D851A2D557A6D94F9BD058A1DB5DA4E4589BE0
+          5698DF5B9CE65B9CE65899E3569AE358A0E657A4E95AA8ED56A4E760A2E34F7D
+          BD2F4D8E2E43811F3771385F936F9FC9BAE8FFD8FBFFE5F5FFE5E5F15F585D79
+          6F6FFAF7F3F4F8F3C6CCCBCED6D6F1FCFFE1ECF0D9E4E8F0F9FCEEF3F4D9DBDC
+          E3E3E3E4E1E3A6A2A7615F6556525D68626D73666E71626A6A5D656A5E6A746A
+          7A817D908C8CA48B94AF8392B2849EC27598C078A3CE5F93C15894C25191C151
+          93C313213721344931455E344C68324F6E2F52742A5177235076235278205074
+          346383416B882F546E38586F0B2438071B2C101A2B0815251B34443A5A6D395C
+          7635597D3357872F54906492D96CA5F05BA3F052A5F05BB2F550A5E359A8E15C
+          A9E15DADE858ABE853A6E453A5E653A4E75DB2F64CA4EB53ADF443A1EA48A5F0
+          449FEA49A2EC4C9FEA5AA8F4529AE75498E35B9EE95195E2519AEA5895DF7193
+          CE7B81AA816D808E8DA16FADD64EA9DC51A5D958B0DE52B6D858BAE262B1F064
+          AFF450A1DE459BD1489CD0479CCE479BCB4FA1D157A5DA5CA7DF5BA2E1549ADD
+          5297DD5599E25497E25094DD5296DF589FE359A6E55CA9E75BA2E2689FE2567B
+          BF364C8D344479293A61748CA4E1FAFFE5F6F9F6FBFCFFFCFFDED6E14D4E5C5D
+          6473B5C0C8CDD9DFD7E0E3ECF4F4F1F6F4EBEEECF3F6F4E3E5E5E5E9EAB4B7BC
+          6D6C754945505A555E6E656F6F626A6B5F65655A5D6A61647672788587918995
+          A18299A9789BAF719EB96097B65C9DC3529BC755A5D451A5D94AA4DB4BA5DE45
+          A2DA161A2D20273B222D4315253C0C213C112B49193A5B1D42642D5677275070
+          2B5572335A76365A7236596D37576A031C2C0F1F2C0A1A27071E2D2442534A69
+          823B5C7D3D5E8B30548A4D77B8639ADF5CA0E954A2E963B6FA51A3E45AA5E35C
+          A8E353A3E054A4E356A4E657A7E854A2E759ACF03F94DA4199DF3E98DF45A1E8
+          46A0E750A8EE53A8EE62B2F9519FE6519DE5529DE23F90D4469EE560A0E09097
+          C887789E6F6B888AA0C35CA0D556AEEA50A6DA52AAD84FB2D84CAED859A8E74F
+          9DE048A1DA51ADE04EAADB56B0DF55ADDC55A9D960B0E5529FD8529ADA579EE2
+          589CE55295E05495E05B9CE762A1EB5DA2E8529CDC58A3E15F9FE06FA0E45F7C
+          C63D4D923842782D37597D8D99F4FFFFFDFFF9FFFFF8FFF7F5E9DFE5595B6636
+          3F4D99A5B1D2DDE5E8ECF1E7E9EAE5E6E4EFEEEAEFF0ECBFC0BE5C5B5D57555B
+          595862635F6B655E6B665C696F5D6A72616E7B75808688938C98A4849BAA7A9E
+          B074A5BB6EABC564ACCA62B3D657AED64FAAD746A3D447A5DA3996CD43A1DC42
+          A0DB36394833384732394A404A5C4F5B6D3B4A5D21344921364C11283E10283E
+          1830462E455B374E6440556A42576C3042530A1B280F212C122736021C2D3955
+          6D3B5A7933547B2B527F2453876298D46EACEC62A9EC60ADF25FAFF661B1F850
+          A0E757A4E957A4E959A4E959A6EB53A1E659AAEE479ADE449ADC4299DB3F99D9
+          439DDD3F9AD745A0DD52AEE951ABE64DA8E54AA8E944AAE540ADE06CB2DA9B89
+          AE88658D7182B573A6E45FA0EB54A2E94FA8DB50ACD751ACD952A8DC4DA1DB45
+          9ED73C9FD33FA7D641A5D53D9DCB44A0CF57AEE063B6ED63B3F063AEF25FA7EF
+          599DE85698E65D9BE9629EEA669FEA629FE959A2EC5098DE65A2E276A3E7687E
+          D03A4393353B7C3037628291A1F1FFFFF6FFFEF3FAF3FFFFF9CBC5C0504B4A41
+          3C3E4342467D797EE0D6DCFFF9FFF9F4F6B7B9B96C71704A4F4E5F5A5C665F64
+          655E6569636E645E6F6C617587728B92839F8F95B28399B57393B077A5C45994
+          B43C84A65FB0D559B1D951ADD650ABD849A1CF469ACA509FD0539FD03982B419
+          60926A6A766769746E717F686E7B555D6A545D6A515A683944523F4C5C354252
+          2432441C2A3C12203319273A2D3B4E2D394B1D2935121E280714220C1C2D2035
+          4A415A743857782A517722527C427AAB68A8DE5CA2DD53A0DF5DAEF153AAED58
+          AEF458A9ED59A7EC59A8EB5CABEE55A6E95CB0F24B9FE0479EDE459CDA419AD7
+          429ED93D9AD2409FD74BAAE244A5DD40A3DD43A7E742ABE445AFD869A9C8967E
+          9E7957807598D7579BE85A9DF457A2F153ADE455B3E157AFE553AAE34EA1DF44
+          9ED944A5DD3B9FD53A9AD0429ED351A8E05FB1EB5EAEEB58A6E858A4EC5FAAF6
+          64AEFC63AEFA62AAF75FA7EF5CA2E8569FE35DABEE5CA5E369A2D9779FDA6A80
+          CE414E9D3E488825305C8D9BADF1FFFFF1FFFED0DEDADAE7DFEFF6EFB2B1AD6E
+          69684A464547414258494DA7999F8B84895C5B5F55585C66656770676A6D6265
+          655D646B6A74747B8A828B9F9394B08D96B77999BC6B9BBF679EC56AA8D0559D
+          C54B9AC55BAEDB50A6D44FA3D3489CCC4594C53684B3145E8E0042710951802C
+          75A16A6973696A74676872666872646873626873676D7A6E7683666F7C646D7A
+          5A6573596472505A6B475162434D5E353C4B403F492D2A331D1D291B1E2D0812
+          2434445B445D77416583255375296289569AC562AEDE56ABDD57B1E74DADE34B
+          ACE453ADE852AAE652AAE655ADE951ABE659B3EE48A1DE429DDA4AA5E246A1DE
+          46A3E0429FDC49A6E354B1EE4EABE849A8E745A6E64AA4DD5FADD86E9BBD6F68
+          8B6E679272A1DF4993E14B93EB4898ED48A4E548A9E347A7E348A1E44A9CE448
+          99E44397DF4196DA4A9BDF56A3E85FA8EC60A6EC60A4ED60A7F15EA8F655A2F1
+          52A6F255AEF84EABF040A1E140A4DF4DAFE54BA7D65FAED58FC5E8C2E8FF9BB6
+          F6364E902440761E385D9BABBBE7F3F7C4D3D6CFE2E5DCFBF8CEEBE8E3F4F7D8
+          E4E6959B9A4545453C31345B4D53675C645E565D665E656F646C715E67817079
+          8D889188949E7DA0AA79A6B37CACBE74ACC561A8C952A0C44F9CC34793BD3C85
+          B14489BA4687BA3B79AF3B77AD2260961252881E64993986B74BA0CE4BA8D548
+          A7D273717766666C6C6C7274777C6D6F77666971656A73606770686F78686F78
+          5F6872646D7768707D68707D6A727F6367726A656E6A636A7C7780716F7B5154
+          634751633B4C61263E5620405D1C45653A6C906FA8CF6FAFD865AAD572BAE95B
+          A7D75FABDF5BA9DE58A8DD5CACE357A9E05FB2EA4B9FD9459CD5459DD93F98D5
+          419CD9409BD847A4E353B0EF4CABEA4AA9E84CA9E855A2DA7DACD87690B4565F
+          818396C36099D74A98E54290EA4194EA3E99E43B9BDD3598DC3694DD4290E348
+          91E73F8DE04897E858A1F162A7F761A4F35D9FEE61A2F366ABFB569FF15CABFA
+          55ABF7419EE33A9BDA41A8E144ADE043A7D15AACCB9AD6EECDF0FFE3F8FF9EB3
+          E6314983264A781A3B5C687986D0D8DFDEE3ECDAE5EDCFE8EACBE7E8E6F6FDBD
+          C4CD707475524D4E6F636966575F7066726A626D6C6370706470927E8B9D8C97
+          A29EA98697A06E9CA4619EA8589CA94A93A73987A43182A52C7CA13E8BB2428D
+          B94A92C14284B52B6A9C3E78AC609ACE75B1E569ABDC559ACB4592C03387B121
+          77A16460657874796E6A6F5F5E626E6D7170717565686D6D71766568706D737A
+          6B71786A7077686A746466706B6D776B6E766D70746B6E727073786A6C74696B
+          756F737E6A6F7E686E816B738A636C8776829EA2AFCF9BACCD8FA2C59FB2D887
+          A0CA80A8D877A8DA74A6DA76ABDE6FA8DC75B1E760A1D8579DD8519AD64595D2
+          4499D7429BD845A2E14DABEC46A7E748A7E651A9E56AA8DE8EA0C9797FA25773
+          9682B1DD589EDA50A1EC4B9BF2499DF6469FF03E9DE73298E03293DD418DE748
+          8CEB3F8CE84694EE4C99F04F97EF4F96ED5297EE5499F05199ED56A2F457A6F5
+          5BADF558AEF053AAE24FA6D855AEDA6FB9DBB3E0F5E6FBFFFAFCFFF8F6FFA7AD
+          D83D508331537E1C3E5B8592A0F2F1FAEFE5F1CEC4D0FBFAFFDCDEE67A707D50
+          424E67565F7D6B726E58647463716D6778686B7A898B9DA6A5B5A89BABAFA2B0
+          A09CA847565F09303900353E1D5A643A75884F819F6395B9518BAF589CC13482
+          A722779D3E96BB4EA5CD5AACD65BA6D2599EC9508EB73D729D24547E133F680B
+          355F4E494B544F514E4B4D4E4B4D565557575658595A5E65686C5A5D62666A6F
+          63676C676B706E70786B6D756D6F776C6F7464696C6D7575686D706B7073686B
+          7075777F65646E73707F6A67776F6B7E9C97ACADA7BEA7A1BAAEA7C2ABA6C1AB
+          ADCB98A9CA91A9CD8FA9CE8EABD086A7CE8BB2D979A4CF75A4D075A9D869A3D4
+          68A7D961A6D860A9DD64AFE35AA8DD5BA9DE54A4D977ADDC8D91B47274936893
+          B463A9D15FADE251A5E74EA2EE4FA3F551A5F74BA6F13EA6E73EA0E64D97EF51
+          95F44E97F3519DF7529BF64B95ED4893E94B97EA4E9AED4E9AEC5BA9F654A1EA
+          57A2E661AAE466A9DA6EAED790CDEFC4F1FFEAFDFFFBFCFFFFFCFFFFF8FFB0B2
+          DA3D4F7E254971193E5A788996F3F5FDEEDDEAD2BECBAB9BA66557626554617F
+          6D7A64505D7562717464766C677C8C97AD869BB0869EB28F9EB19695A99D95A6
+          928D9C393F4A051E2800161E00151E000E1D001028001D39001B383C74915A9E
+          BB5BA7C459ACC8499CB84693B33176971A5777144768153E5F1637581B365826
+          3D5D423D3F353032898688E1DEE0DAD9DBCFCED0C2C3C78F929693969A898C90
+          66696D54575B58585E56565C59595F575A5F616669696E6F6B70736A6F726A6D
+          7170737868677072717A6A69738A8993B4B2BEB0AEBAACA9B8B3B0BFA7A4B3AA
+          AAB8A8ACB7A6ADB6A5AEB8A6AFBC9EAAB6A5B5C29AAABB98ACBE99AEC391A9BF
+          91ACC68DAAC58AABC58BADCA85A7C57DACCC63A8D078AFD49499B281879E70AB
+          C551A5C857ACD952A8DC54A7E556A7EB57A6EF52A9EC45ADE246ABE254A2EE5A
+          A0F45BA1F5569CEF4F98EA4E99E84F9DEA51A2ED54A7F25AACF3509FE265ADED
+          6AA9E3669BCD85ADD7C0DCFEE6F9FFEFFAFFF5F6FFFEFBFFF9F8FCD8DBE98B98
+          BE384F7F224A740F395675939ED3E1E7857B87644E5A6C57606E6066706C7255
+          545E7A71857A748B9498B1596C877299B56DA0BA6FA5BC78A2B98D9DB4A0A1B5
+          A59DAE423E4A0D121B000710050E1700101C00101E001121000B1A2C57684D7D
+          8F54869A417387336277224D622950662C4F6325465A22405323415227455628
+          46576C666B6F6C6E615D627C7B7DC3C2C6D5D6DACACBCFDADDE1E5E8ECF1F6F9
+          E9ECF1E5E8EDE2E5EAD1D4D9C7C7CDC1C1C74D4C503C3B3F4B4A4E4041455F5E
+          625E5F6365656B5A5A605F6267979BA0A1A5AA9FA3A8A5ABB0A8AEB3AFB5BAA6
+          ADB0ABB0AFAFB2B0AEB3B2AFB4B3A7ACADB1B9B9A8AEB3ABB3BAA6B0B7A2ABB4
+          A8B2BCA4B0BCA5B0BEA6B3C1A2AFBF9BB4C880B2D087AFCCB1AFC2A8A8B881B2
+          C86CB2CF5B9FC269ABD474B1E372ADE571A7E666A5DF59A9D256A8D262A1DD69
+          9FE66194DD4378C1306BB13D7CC05296D75AA3E155A0DE519ED762ACE25FA0D3
+          74A8D6A5CCF3DAEFFFF1F8FFFCF9FFFFF8FFFDF7FFE5E4EDE4E9ECDCE5F39EAD
+          D44258882344712043643B5565444E58605663776473685863706C7259696F7C
+          959F7F94AA839BB97695B65584A43679981F6B88347E9A3D7690768FA98F93AB
+          9E95A9443A4719161F0E0E14110F15050B1200070E0010170017202A49523553
+          5E3F5C6A2D4A583A5462374E5D374C5B3649562F45512B414C26414B25424924
+          444A6A666C7571766C686E969599A7A7ADA9ACB1ABAEB3A7ABB0A6AAAFAFB5BA
+          B2B5BDB0B3BBBDC0C8BABDC5BCBEC6E0DDE6CBC0C85A4B5340333B3B30388078
+          7FE7E0E7DBDADED4D7DBCDD4D7D9E5E7D2DFE1ADBCBEB0C2C195AAA8A2B8B699
+          AEAC95A4A697A6A899A6A899A6A895A4A6A7B6B9A0AFB2A1AFB5A7B5BBA0AEB4
+          A3B0B8A8B5BDA4B1B9A1AEB6A6B2BCA5B5C59AB0C9ABB5CDBAA8B5C2B1BCABB9
+          CC95B3CC9BB6D195ADCB99ACD1A0B0DB9AA5D79BAEDB8FB4D084ABC791AEDA8F
+          A7DB849CD6425D9614336A1F467A0F3D6D0F43713E77A45894BE63A1C775ABCE
+          ABD7F6D6F5FFECFBFFF5F7FFFFF9FFF7EDF3D7D7DDD7DDE2E7F0F3E3EEFC99A1
+          C93E497D3E4C7D26325A464C63625F6F7361786354698182908195A06F9DA564
+          A1AF5899B54D91B4589FC44C9CC13F9DC14BA9CC4EA3C360A0BE7D99B78C91AA
+          A19BAE423946121218080D10070F0F060F12060E15000B13010E163B4B52394C
+          54374A52374A523748513847503B4A533B4A5338475033464D33494F354D5334
+          4E546E6A70726E747C787EA5A3A9B2B2B8AFB2B7A3A7ACA6AAAFAAB0B7A5ABB2
+          A8AEB5AEB4BBAFB5BCA9AFB6A2A8AFABAAB3AFA4AE74646F82747F7F747E6C64
+          6BB3ACB3BBB9BFC4C7CBCCD3D6D9E3E3D9E7E6D0E0DFDCEEEDCDE0DDD6EBE8D4
+          E6E5DDECEEE3F0F2CFDCDED0DDDFAFBCBEC2CFD1A9B6B8AEBBBDA1AEB09AA7A9
+          98A5A79DAAACA2AFB1A2AFB1A3AFB3A6B1B9A9B1C2B5B5C5C4B4BBC5B3BAADAC
+          BCA2A7BCAAB0C3ADB1C4AFACC5B3AECBAFA8C9AEACC9A6B3C1A3B4C1A8B5CFA3
+          AFD1A0A9D44C578335436D8C9FC596B1D3708FAE40668418405C2B546DC3EAFF
+          D9F8FFE6FDFFEEF8FFF9FAFEEDE5E5DFDAD9E8EDF0D9E5E7E4F0F0C5D1DD636D
+          954651853B4678363C674C486571677E796D898F90AC819AAE6494A66AB0C158
+          ABC161B8D850A9CE5AB2DA5AB7DE52B5DB4CADD13D91B44580A0809AB89397AF
+          A199AA4038430D1116111D1D0E1C1B0B1717181B23090B150207103C454F414B
+          55424E5842515A43525B45515B46525C424E5A3847502E4149273E46243E4522
+          3E45574F59443F488A858EB2AFB89B9AA3A5A7AFA3A6AEACAFB79CA2A9A5ADB4
+          A2AAB19CA4AB9FA7AEA0A8AFA5ADB4B4B7BF8C8691726A757D788176717A7370
+          79AEACB2B7B7BDADAEB2ADAEB2AFB2B6A8ABAFAAAEAFB1B5B6ACB0B1B3B5B6B6
+          B8B9CBCACCD5D4D6D0CFD1DDDCDECECECEEAECECE0E2E2EBF0EEF8FDFBECF3F0
+          DDE4E1D4DDDAD2DCD6C8D2CCBDC7C1BBC6C4A5B1B79AA3ACA6AAABABAAACA5A6
+          B0AEAFBDB3B5C0B2B3BDB7B6C0B9B5C1BDB8C7B4B4C0AEB7BAADBDBCA5B5BCA0
+          AFBFAAB3CE5159773B425DA4ABC4ABB4C8A5B1C3A7B5C7ABBBCB6C7C8CD3E4F1
+          EDFDFFE6F1F9D3DADDE4E7E5EDEDE7F0F2ECECF7F5CBD9D7889390626F774154
+          773A50802E447425355F5756769894B18C92B593AED06EA8C554A3BE54A9C948
+          A1C34DA7CA4098BD3B90B82B80A820779F3687AC579BBE7EADCC8896B29F9CB2
+          A096A63D3742060F13223231182D2B101F213F434E212131070C1B3D4556404A
+          5B3C49593948583A49593847573A49593848593144532A415028435127475425
+          47542F2630423A44423A449E99A2DFDCE5DDDCE5E7E9F1C5C8D0C7CDD4BEC7CB
+          BBC3CABFC8CCB4BEC5A7B2B6A4ACB39DA3AA686B735B5D6564676F6B6E76A5A8
+          B0A5A8B0A5ABB0AAB0B5ACB1B4ADB2B5A4A7ABAAADB1AAABAFB1B3B4B3B2B6B8
+          B7BBAEADB1AEADB1B5B4B8AFAEB2B0AFB1B8B7B9B4B6B7B7B9B9BCBEBEBFC1C1
+          C0C2C2C9CBCBD9DCDADFE2E0E2E5E3E8EEEDE1EEF0CFDEE0E6F0F0E8EFF2DDE0
+          E8D9DCE4C2C4CCB1B1B7C5C4C8BCBBBFB9BABEA3A7A89DA6A3ABB6B3AAB7B5B3
+          BFC5A3AFC14C576D383D52AEB2C4B1B3BEB8B9C3B7B6BFB3B5BD7A7C84ECEFF7
+          EAEEF3DDE0E4F5F7F7E3E4E2F4F4EEEFF0EC868E8E505858606665545E68475A
+          7F3E57892F49782A3B66605F7F9999B76B7BA03E658B31799B3387AB2C7BA44E
+          9AC43E87AD4086AB5293B969A8CE7BBCE27EBDDF6396B6466983838AA3A59FB2
+          A096A33E3942030C102F4043233437132127474A5821213303071A394355404C
+          5E3B4B5C394B5C3B4F60364A5C384C5E364A5C2C445626405122405321415421
+          425542373F382D35332830332B32575359A6A4AAE9E9EFF0F3F8DEE2E7E0E7EA
+          E4EDF1E5EEF1D7E0E4E5EEF1EFFAFECAD5D9A5B0B4939EA2737F83647074A8B7
+          BAB8C7CABACBCEAEBFC296A7AA9EAFB2A0AFB2A5B4B79CA8ACA8B5B7A0ABAF9E
+          AAAEA4B1B9A0ACB6A7B3BDA3ADB7A8B1BBAAB3BDA7ADB8A8ADB6A8A9B3AEADB7
+          B3AFBAB5AFBAB4AEB9B4ACB7B7ADB9B8B5BEB4C0C0A5B3B2BDC3C8BFC2CAB9BF
+          C6CED4DBE0DFE8EAE8EEE1E2E6E3E7E8F3FAF7E7F0EDDEE6E5DDE5E4CED5D2C9
+          D2D6C5D5E6596B822E3C4EA2ABB9A2A4AEB1AFB5B0ACB1B5B0B2797476BDB8BA
+          EFEBF0EEEBEDFFFBFDF4EFF08F8B8A676263665E697168755753596A6E807082
+          AB30467A2D42752934606764849290AD5D6D912F567C24648705486F002C5F24
+          4C7C285275486F8F6A8BAC698AAB3E64841D446021435B33485D7D7F91A69CAC
+          A197A3413C45020A1138434B2A333C171D2840405017192B0001123340503749
+          5A3047572E4858334D5D314B5C324A5C2F475B263F531E394D1C374C1A374C17
+          364B42333B47393F3A2D353C32383B333A1F1B205B5A5EBBBCC0E4E7EBECF1F2
+          D4DBDEDFE9E9F6FFFFEBF5F5E5EEF1E6F2F4D4E0E2E3F0F2E2EFF1DDECEED6E5
+          E8E1F2F5DFF2F5CFE2E5D9ECEFDCEFF2DFF0F3DDECEFC9D8DBD5E1E5CAD6DAC7
+          D3D9AEBEC5A9BBC2A7B7BEACB8C2A1ADB7ACB6C09CA5AFA0A6B1ACB0BBAEAFBD
+          B6B6C4B8B5C4B1ACBBB1ACBBB9B2C1B5B4BEABB9B8A4B2B1B6B6C2B9B6C5A9B3
+          BAADB7BEB2B3BDB0AFB8AFB5BAADB9B9B7C5C1B7C6C2BEC7CBCCD0D5D9D9D9E0
+          E4E9C4D2E851647F354359CDD7E8F1F6FFF6F6FCDAD7D9CDC8C9C5BFC0827D7F
+          7E797B9793989B959A615C5E5D5659675F69615C7174758A8F9AA89EB3C95F7C
+          A936548B30457836426C6565839094AD4A62802954750F4C6C00385C35568743
+          5C8846607E354C6236435D4B58724458712F475B35495A414E5C7D7D89A49CA6
+          9F9AA33E3D46000912333F49282F3E151A2940455419212E00091532424E3346
+          5329414D253F4B2842502B42512D44542B4252263C4E20384A1D384C1F3A4F1D
+          3A4F45333A37262A4D3D44392E31382E34423B3E3835372A292B616364D3D8D7
+          F3F8F9E1E9E8E2EAEAE6F1EFF0FAFAE9F3F3F8FDFEDFE4E5D6DBDCF8FFFFEEF5
+          F8E0E9ECD3DFE1E3EFF1E9F4F8E1ECF0EAF3F7E8EEF3DCDFE7E5E7EFE1E3EBE3
+          E6EBECF4F4E7F2F0E6EEEDE7EFEFDDE5E5E1EBEBD5DEE1DAE3E6D2DDE1C3CDD4
+          C4CED5C0CAD1ACB5BEACB5BEAFB8C2A0ACB2A9BCB9A9B5B5B0A4B6B3A8BCA5B5
+          BCA3B7BCB1B4C2ABACBAAAB4BEA4B7BAA1B6B3A8BDBBABB7C3ABAEBCB7B3B9B7
+          B3BFABB1CE4E5A7C343C59A9B0C4B5BBC8B6BCC3BEC1C5D5D9DAD1D5D6DCE0E1
+          BFC2C64B4E535B595F646066766F768382928997B48BAAC9699BB16AA5BF4A7F
+          B129548D2A42782D396359637B8FA0B3466D832B61780A4A620B45623860833A
+          56785770845E717E6F7788838A996A75833E4C5834434C36404787878DA39FA4
+          9C9CA2343C43000C15273A47222E40111B2D36424C112127000B10304449374B
+          50364A4F3749503B4B523C48523E4A5639475330404D253A49203A481D3A491B
+          3A49514A514740473C383E47454B4343492B2E33454B502E373B374246333F43
+          6F8083CADDE0C9DEE0C0D7D9D8F1F3B8CFD1D7EAEDE9F8FBE4F0F4DAE6E8E9F1
+          F1EAEFEEE1E3E3F1F0F2EBEAECDDDCE0F1EDF3F7F3F9F0EBF4F1EBF6E9E3EEE9
+          E7EDEFF4F2E6EDE8F0F7F4DFE7E6E6EEEEDDE7E7E0ECEEE4F0F2F2FEFFDAE6EA
+          DEEAEEE4F0F4DAE6EAE6F2F8F1FDFFDAE9ECDBEBEAE9F2F5E9DFF0E5DCF0CDDD
+          E4BACED3C6CCD7C3C6D4ACB6C0A3B6B998ADAAA5BAB8ABB7C3A4A7B5B3AEB7AB
+          A9B5A7ADCA58628437425E9BA3BAADB6C4B1BAC3AAB5B9ADB9BBAAB6B8ABB7B9
+          757E82646A6F706F788A858E9B919D9599AC6989AC4C80A468A9BE63A6C14984
+          B6285690224077283964596680839AAA355F7226596D1B4E5E2453682347654C
+          6984546E7C6879827C808B9596A0969BA48C949B8B94987C8085949095A5A1A6
+          999BA3303942000E19253845222E40131D2E34444B12242500090C2F41423849
+          4C3D4C4F404C50414B523D444D3D464F3A444E313F4B2B3C49253D49243F4D23
+          404E2B3C493647543043502E414E2A404C2A424E314B572C485330505D294B58
+          2B515D4C798445727F3F717D4B7F8B477B875C8C9881ABB774959E71878C8D99
+          99BABDBBC5BFBAECE0DCF5E5E6F6E5E8F7E7EEF5E8F0F1E7F3EEE5F2E9E2EFE3
+          E2EBE5EDECF1FCF9E1EDEDE4EFF3DEE9F1CFDBE5E0ECF8E0ECF6E1ECF4D5E1E7
+          DEE6EDE6EFF3F6FAFFE4E8EDE3E3E9F0F4F9D2DBDFEEF9FDF6F8FFEEF3FCE3ED
+          F4E2EEF2DFE7EEE2E8EFE2EBEFE3EFF1E1EDEDD8E4E4DAE3E7D4D8DDE0E3E7D3
+          D8E1C1CEE45A6B852C3C53A7B6C9A2B1C1AEBECAA3B5BC9BAEB3A9BABD8D9EA1
+          798589C4CDD18F8E97A8A0AAAA9CA88B91A43E6E923070924E8292406F843563
+          9329538E1E447A1E39655866828D9EB3496980305367667E8A475C6B213C564B
+          6681586C7E6D79857878849995A0A5A2ABA9A9AFA5A8ADAAAAB0A69DA7A69DA7
+          9C9AA6343A4500091362717A40444F1A1E29616B721F2B2F0003094F5A5E3B45
+          4C3D454C4149504249524B525B404953414A572D3B473C4D5A2C424E2A415024
+          3E4C2645542E4D5C2B4A592A49582748572649572A4E5E214857244C5E1D4B5C
+          2D6070437A893470803475843073822F72814A859839707F46737E315458293F
+          3D2A372F3B3F34312F244D4740554F4A645F5C797777919296ACAFB4C2C6CBCB
+          D4D7C8DDDA94ADA99BB5B5A5BFC5AFC8D2B7D1DFA8C2D0B4CEDCC1D9E5D8EFF7
+          AABDC4AABDC2E0EFF2DFEBEF979FA6AEB8BFCEDBE3D5E5ECDEEEF4DEEEF4CFDD
+          E3D4E2E8E6F5F8DFEEF1F2FEFFDAE6EAE0EDEFE5F2F4EAF6F8D8E4E6DEEAECCF
+          DCE4C7D6E951637A334459CEDFF2D5EAF9CAE0EBC8E2E9E3FEFFC5E0E4C4DBDD
+          C0D3D6F1FCFF9E9DA6A59CA6AC9AA79497AC3E72962A6B8A557F8B5371824264
+          9231569022487E1D3C695B66848F9BB3496780345265707C86515B65253D554B
+          6681576B7D6E77857A78849D959FA8A4AAABA9AFA9A7ADACAAB0A99EA8A69CA8
+          9E9AA6363A4500091369747C47495124232C8C92992F373E0E161D989EA5A7AD
+          B49EA4AB8B909981868F6F7580656E78616A772836422334411A303C162D3C14
+          2B3A2C4B5A3251602D4C5B2E4D5C2C4D5C294C5A284C5C1942511F4A5B235162
+          4275854B84933D7989478897387B8A3B7B8D457E933A6E7F517E8B3D686B678D
+          87B1D4C695B3A09AB6A28EAA9684A08C738F7C607B6B516B5D466053425A4E3B
+          594E1D483F42756E578987437679497A8253859147788645768442727E518088
+          3460671E484D51777C4F73796C8E9487A7AD8AA5AF99B2BCAEC7D15D76802E45
+          4D9AB1B95C737B617880B3C9CF83999FA5BBC1ABC1C79FB5BBA7BDC3D4EAEFC3
+          D7E2E4F2FF65718D33435AB9CEE3DCF5FFDAF8FFC8ECF2C9EFF1CDF3F5D2F4F4
+          DAF3F5F1FDFF97969FA2949FB097A59691A641698C1E547353717C586C7D4259
+          89304C882241781B34605E6684909AB24B66803553666D7C854D5C65233F5749
+          668155697B6D76847C78849D959FA8A4AAABAAAEA8A7ABABA9AFA99EA8A69CA8
+          9D99A5373944010A146D767F4D4F572C2C32999DA2282E3300050A94989DABAE
+          B6A8ABB3A3A5AFA7ACB5ABB1BCA4ADB79DA6B33A47551A2A3A162B3A0A213107
+          20301F3E4D244352203F4E2243522546552245531E4554113A49133F50255666
+          407484467F8E3874844485943D7E8D3C7A8C3970854073873769752253556FA1
+          9784B6A494C7AC99CFB195CEAD96CFAE99D2B19ED5B4A6DBBAAFE0C0B6E5C5B6
+          E6CCA4DFD051918B3776744C8B8F4B8A923979843877853D7C8A3F7D883F7C86
+          26616A447B8221575E15495046757D27545F4268745E818E3A5D6A3C5F6C587C
+          8640636D5B7E88678A9461848E60848C64858E40616A5B7C8568899280A1AA91
+          AEBCA1B7D04C617D253A557A92A88EAABBA0C0CBA8CCD2B2D7DBBAE0E2CDECED
+          E8FFFFF1FFFFA09FA8A99EA8B69FAD9992A748698A234B6862747F6B75864D5B
+          8B3B4F892B457B2338656366859097B04B66803454676A7B844B5C6523425947
+          658055697B6D76847B77839D959FAAA3AAAAA9ADA8A7ABACA8AEAA9FA9A89CA8
+          9F98A5373943020B14717B8253565B333339989CA132383D12161B9CA0A5AAAC
+          B4ACAEB6AEAFB9B0B2BCACB0BBA7AFBCADB6C43F4C5C1A2A3A1E32430E253511
+          293B1E3D4C2342511E3F4E254655294C5A264B59274E5D1B46551B495A346777
+          39707F407B8A3470803778873B7C8B3573853F758C35677D336773275D5E164E
+          436BA78F6FB0906DB48C6DB88C6DBB8C6FBE8D71C08F75BF8F76BF8D78BD8A75
+          B99070B29F4386813F81802B6D7242828D4E8F9E246476428294448292387785
+          205E692F69751B525F275C694C7D8B3465732556644677853C6D7B3869775B8C
+          9A507F8D4F7E8C4E7E8A4C7C8852828E487582265360477481527F8C54818E51
+          7C8D597E982A4C691F3D58618097536E82445F6D3C5761526C725972768DA4A6
+          EBFDFEF1FDFF9EA2A799979DA39AA49090A24D6686294661737A837F7F8D5A5F
+          8C45518B33457A2D3D686567859197AE4D688237576A6A7B844B5E6624445B45
+          6680546A7C6E77857C78849D959FA9A2A9AAA9ADA7A6AAACA8AEAA9FA9A89DA7
+          9F99A4383A44040D16737D8458585E39383C9194992A2E330D10159A9DA2ACAC
+          B2B1B1B7AEADB6A2A3ADA2A6B19CA2AFA7B0BE3D4A5A17293A1A3042071F3312
+          2B3F2C4B5A304F5E294A592C4F5D294E5C234A58264F5E204D5B316272457888
+          3B7281437E8D3B77873A78883F808F3A788A457B923F72863A6E7A255B5B0033
+          2514533965AA8559A47665B48163B78162B98163BA8063BB7F65BB7D67BB7B66
+          B5846AAF9A40807B3E7E7E36747A25636E2965752462742D6A7E3B76892B6777
+          3971820D4453174B5B36687A4A7A8C3C6E80265C6D316C7B2962714B8695346D
+          7C518A993D76853D76852B6473508A962861701B525F59909F487F8C336A7955
+          8A9E46789424527119415D5E8098587388536A7A30424D34444B2A383E6E7B7D
+          F1FDFFF6FFFFAEB2B79B9EA3A2A2A8969BAA495F7B2C3F5A797881817A875D5C
+          88464D86303E722B39636868869195AD516A843C5C6F6C7E854E616925475E43
+          6680576D7F7079877C78849D949EA8A1A8ABA7ACA7A6AAACA8ADA99EA6A89DA7
+          A09AA53A3C46061017747F83595A5E39383C9DA0A5282C31070A0F9C9CA2AAAA
+          B0ACACB2B0AFB8AFB1B9B1B3BEA4AAB7AAB3C1434F611B2C3F152A3F00182E0C
+          273C2948572D4C5B2546552447551A414F133D4A1845531847553D7080427686
+          387180407B8A3E7A8A3E7C8C3778873C7A8C478095396E82467983376C690030
+          2200290E114C266CAD7F61A6735EAB725CAE735BB1735EB5755EB87660BB7664
+          B68160A18B639B96447C7D457B823368750F435424576B4072885A8DA1477B8C
+          2F5F71194759143F52537D904770862F5C712964742A6B7A316F7F367786316F
+          7F3775854785953876862B697932717F165464316E7C3E7A8A2F6C7A37738340
+          7D913E78952A607F103C593E617B374F6554647539424F3F464F404449757A7D
+          FBFEFFF9FEFFB1B6B9959A9D959A9D88919E4F647F36465D817D82837985615F
+          894F548B314071303C666B69879195AD546E864060736E808750636B2A4A6145
+          66805A7082727B887D79859D949EA7A0A7AAA6ABA7A6A8ACA8ADA99EA6A89DA7
+          A29CA73C3E4807111875808457585C37363898999D25282C0F1014A8A9ADB0AF
+          B3A9A7ADADAAB3AEADB6AAAAB6A2A5B3A4ADBB4450621E2F44142B410620380F
+          2B4324435228495823465422475519435014404D1F4E5C2455634C8090417887
+          3E7988427F8D417F8F4684942F707F3D7B8D3B74893E74854E8289285B573768
+          583B6E52356B464C875A5EA06D5CA36B5AA76D59AC6E59AF6F5AB2705AB2705B
+          AD7864A58C488179447A7A42797E2E626E1C4F5F295B6F5183973E708447798B
+          2454661C4A5C416C7F4C778A59829839687D2864744286934283923D818E3D7E
+          8D3F82914081903A7D8C3172812B6C7B0C4D5C3C7D8C3F808F3677863F808F2E
+          6D81336C8B255A7B133F5E4F718E4A627A647485353E4B3A3F483C3F446F7172
+          FDFFFFFCFEFFB9BABE999A9E9C9DA1949AA551678036495E7C7B7D7C747E605F
+          874E568B2F3E6F2E3A626969879195AD56708844627570828952636C2C4C6345
+          677F5E7283747C897E7A869D949EA7A0A7AAA6ABA7A6A8AAA9ADA79FA6A69DA7
+          A09CA73D3F49071319747F8354575B353438979A9E26292D0C0D11A0A1A5AEAA
+          AFB0ACB1B3B1B7ABAAB3ABACB6ABAEBCABB4C24A586A22354A162C4509223C0D
+          28422F505F2E4F5E193C4A1F465414404D113E4B215260477B88477E8D427B8A
+          45808F43808E3270802E6C7C2C6A7A235F6F437D904C839040747A2458514476
+          6454876B548863578F64569464569966539B66519D6753A26957A66D57A66D56
+          A173589C8342817744827C397575164F581F59654078893E76873C7485366F7E
+          184F5E144B5A3E72824E82933C6E80346A7B296674397B8641808E3779843E7D
+          8B397A8832717F3D7E8C478694205F6D21606E4E8D9B3877853D7C8A36758345
+          80944E7EA02852771B4062506E8B5F778F7B8D9E71818D6571776C7578929A9A
+          F8FCFDFBFDFDD5D0D2978E91B0A4AA9997A3586F85354D5F7378777E7C826062
+          8A4350842E4272293A616A6A888F93AB66809849677A6B7B825E6D763A576C46
+          647D5B6D7E797F8C7D77829E969DABA5AAA7A4A6A5A4A8AAA9AD9F979EAEA5AF
+          9C9BA5434851121F2775818754585D2E31369DA0A52E31361111179C9CA2B1AD
+          B2ABA7ACB6B2B8AEABB4A9AAB4B0B3C1A5AEBC3A485A32455A0F273F08233D0E
+          2B462142512C4F5D2B505E1D4452224E5B1F4F5B346875376E7B447D8C3D7887
+          3E7B893C79873270803674843D7B8B3C78883D7586447B883A71742359524279
+          66528C6F508A6751906655986B549A6B539B6C519B6B519B6B539D6D549D6B51
+          996F559982488A7E43837D2B6B6B114F551F5C66387382346F7E38738225636E
+          205C68326E7A46828E45808F326B7A1B56651F5B67407E89518F9A4987924280
+          8B36747F2F6D783E7B89407D8B1C5967377482407F8D34717F43829047849247
+          80954A77992F537B214164516D8B5D738C90A2B38A9BA48E9DA0939FA1B1B9B8
+          FBFFFFFFFFFFDBD5D6A5979BAC9CA398949F556E82345160767C7B7D7E825C63
+          8A4553872E4474293B646769878F95AC58728A5A75896D7A82626F7737526749
+          657D5C6C7D777D8A7A747F9D929AABA4A9A8A5A7A6A5A9AAA8AEA9A0AAA69EA9
+          9A9AA65359641E2D3673838A555D64383B4391979E292C340C0E169E9EA4AFAD
+          B3AEAAAFB5B1B7B1AEB7A9AAB4AEB1BFA5AEBC3F4D5F2F4257132B430A253F0E
+          2B462A4B5A294C5A294E5C1F495623505D20525E386D7A346E7A397483387583
+          3C7B89407F8D3D7B8B3D7B8B417D8D3D7989387180437B8640797B27635B3F7F
+          6C4E91744E9672529E754D9C714FA07350A075509F74559F755BA1785FA1785C
+          9E7B5397804C9184387B741D5F5E19595E306E78417E8C3D7A883D7A8813535E
+          1B59643B79833E7C863D7B863A7883276570255F6B447F894D8A94427F893976
+          8033707A36737D44808C34707C17535F49859139778236727E44828D4D89954A
+          829547769632597F1E41634B67855C7187A1B0C095A0A89FA8AB979C9DAEB3B1
+          FFFFFEF7F5F4D3CDCE9E9395A89A9E9E9DA74E697D32536276817F7A7F825762
+          884255882F4676263A636C708D979DB4516B835671856C777F616C74435B7147
+          61795A6A7A797D887D75809D929AAAA3A8A8A5A7A5A6AAA8A8AEA8A0AB9E97A4
+          A3A4B2717A873E505B788B934A545E2930399299A22B323B10131BA1A4A9AEAE
+          B4B0AEB4AEACB2ADACB5ADAEB8AEB2BDA7B0BE4856682E41561D354D102B4511
+          2E492C4D5C2A4D5B1E435126505D1C49562C606C3B727F37737F2E6D7B31707E
+          3A798742818F4280903D7B8B3A7686377282376F8039717C336D7222605A3F84
+          70539D8157A48258A98255A97F56AC8258AE865DAD8861AE896AB08C6FB18E6E
+          AE905FA28D4B8D8123665F0E4E4E2361673E7B8546819047829139748314525D
+          215F6942808A42808A407E8842808B326E7A245F6941798448838D4A858F4C87
+          9149848E447F893C77812B657126606C4E8A96437F8B48849044808C4782914C
+          86994D80A02F5C81173C5E35526D556A809DAABA9198A1999CA0363636656662
+          FCFBF7FFFFFCE4E0DF9B9596A69FA29597A1466477335162778280787C81535E
+          844153882F46782438616A6E8B98A0B7546E864763746F7B815D696F4D667A2F
+          4A5F566673797E87817983A1969EAAA3A8A6A3A5A3A4A8A7A7ADA49EA99B96A5
+          9598A7606B794457647B919D4B5965353E4B919AA72E37411318219FA2AAABAD
+          B5B1B1B7A9A9AFADADB3AEAFB9ACB0BBA8B1BF4D5B6D2D4055243C52132E4811
+          2E49193A49294C5A234856254F5C20505C4177824A849034727D306F7D2D6E7C
+          2E6F7D3273813977873977873D7989437E8E427D8D36707C2C666C205D594889
+          7A64AA9366B1915EAE8961B48E63B89266BB9566BA976BBB9871BD9B77BE9D79
+          BCA17CBBAB4C888015504C0D46482D646D4075824074844178873F76852A616E
+          29646E37727C37737F397581397483306A76275F6A3A727D39717C3D7580447E
+          8A49838F48828E356F7B104B5A326D7C407B8A427D8C4B86953D78873773833F
+          7A8E4A83A2255A7B113D5C23455D52677C8F9AA89B9EA6A3A2A4413D3C6C6964
+          FFFFFBFFFFFCE1E2E0838585A4A6A78E97A04661763751627B81807A7A80545C
+          844251892F46782336616467869499B24E6A824967787381875D696F4861751C
+          374C4C5C69787A84857C86A598A0A9A2A7A4A1A3A0A3A7A5A7AFA5A1ADA5A2B1
+          9094A64856684158687A91A14050602E3B498A95A32C3844141D27949BA4A8AB
+          B3B1B3BBABABB1AFAFB5ABACB6A6AAB5A6AFBC4958682A3E50263E540E2C450D
+          2C452142512346542449571D49562E606C396F7A488490367681357684337482
+          2E6F7D2F707E3876863775853B7686447F8F427D903C77873A737C26605F3975
+          6A4B8B7557997C589F7E5CA6825FAD8863B39065B79468B9986FC09F76C5A47A
+          C5A98CCDBE46827C124B4C1E565B3A707B4175853F73844175864A8091417887
+          37717D336D7934707C3C78843C7786306B7A2C66723E7983376E7B306A76336D
+          793A768249838F3772810944533F7C8A3974843C7888437F8F3E7A8A36728235
+          71873C75942056751B476434566E5971837B8B9798A1A59FA4A32A2B2760625C
+          F9FBF5FEFFFAEEF1EF888B89A8AAAB8D969F4C647A3B50657F81827D7A83585B
+          874451893045792738636C6F8E9095AE415C765573846D7B815F6D73425E6F2D
+          485C45556174777F847C83A4989EA8A1A4A4A1A3A1A4A9A6A8B09F9BA7A1A0B0
+          9096A94C5B6E4C64767D97A84052632E3D4D8B9AAA3946542A3340929BA5A7AC
+          B5AEB1B9A9ACB1ACAFB4AAADB5A4ABB4A8B1BE4252622D41532840560D2C430E
+          2D462E4F5E2447551E455325515E3A6C783167723975813979843B7C8A397D8A
+          347885377886407E8E3876863570803B7689337084377285417782275A5C2658
+          4E2E5E4C3C6E56487C5E4D896750926F559D7957A58059AD8A5FB79366C09C6D
+          C1A47EC4B732726D155254346F78457E8D437B8E457C91437A8F417B8E417C8C
+          4986944D8A984887954E8D9B43849329687625606F44808C4982914A85944580
+          8F417E8C4883922A66762C6878468494458093448294438193458395417F9145
+          7F953F72922A57781F4764496B825A778669838A8A9FA08A9F9C51635C96A59D
+          F5FFFAF6FEF7F3F6F48E8C8BA29B9E999AA4566781405166827E838379855E5D
+          89474F8A32437B2A396767688A858AA3405B7555738668787E5F6D734763743D
+          5B6E4C5A66777981837B82A2969CA8A1A4A6A3A5A2A5AAA5A7AF8D8A997B7B8D
+          7B82964B5C714A65797C9AAD586D8254657890A0B04A5A6747535F98A2ACA8AF
+          B8A9ACB4A9ACB1ABAEB3ACAFB7A7AEB7ACB5C23C4D5A34485A2A42580F2B4313
+          32491E40502C515F214A5935626F3D717E447B8835737E31717C40818F3D818E
+          357986387987417F8F3977873571813E798C39758B3671843D747D285C5C2D5F
+          5334654F396D4F38704D427B5446845C4B8F664B976D4AA07651AB805BB48961
+          B5936AB1A01F615C155556407E864581913E798D417D933B788C3876882E6C7C
+          3B7B8641818C367583407F8D417F8F205E6E1E5B693E7988437E8D468391417E
+          8C3A79873D7B8B195A6945869537778941819341819338788A38788A3A798D47
+          839B5283A3335D80143A584B6D84526F7D6680868CA4A28FA69E586B62B7C8BF
+          F6FFFBFAFFFCF6F7F5807B7C746B6E75747E566B813D5065827A848777885F5C
+          8A484E8935427A2E38674C4B6B7378914A69804E6E81737D87606A744B677834
+          52655464707C7E88847C83A1959BA9A2A7A8A4A9A4A5A9A2A4AC7B79855B5B6B
+          727C8E5D70854E6B807190A552697F4B5D74899AAD4E5E6E53637099A5B1ACB0
+          BBA5A7B1ABADB5ADB1B6ABAEB6A7AEB7ADB7C1364653354B5D2641560D294113
+          314A254D5F1F4A591A46573869773B6F7F2C6574417E8C42818F3677853C7D8B
+          4283913E7F8D377684357482326F7D2662724B869A4A85953C767C1A554D528D
+          7963A4845EAB7F5DAC795FA77263A77064A8735CA8724DA87148A46F529F6C54
+          9A71478E741E63562E6F6D46858D47859542839830738825697C286D7C367B85
+          4A8B9342818948828E4D869530687B1F596C1F5A6946848F42808B4585903779
+          84317680347885266C79347A87377E8C3C81902F74832469783B7E8D4A8C9E3F
+          7D95497DA119466C1A425F638498445E6A7386898D9B97A1A9A25C6158969990
+          FFFFFBFFFFFBF8F3F490898C726B6E747982496B7B314F60847A8A8C77905E59
+          8C4B4E8B3D447B323764514D6A70758A51728651728575768A6A697D4A617736
+          5467576774797E87807883A2949FABA4A9A9A5AAA5A6AAA5A8AD7E7D8660626D
+          6D778852667839586D6E8EA54C648051647F8898AF4E5D705567789CA9B7A9AA
+          B8A9A8B2ABADB5ACB0B5A7ADB4AAB1BAA8AEBB404D5D2E475B2140570F2D4611
+          2E491541521A48592A5B6B3568783168773A758445829032717F397A882D6E7C
+          2F707E377886357482306F7D387583407C8C336E8138758339767A225E544E8A
+          72589B7653A47354A77063AA7167A96E68A56D5DA2694A9F6546996252915F53
+          8B6249846834716345827E4B898F3D7B8D36778C32758C397E91397E8D3B8089
+          43858A407E84447F894D8493457A8F3C71862A63724A8490407A86437F8B3C7A
+          853C7C873E808B3074813B7F8C4084913E828F387B8A3E7F8E43849345839344
+          7D9642769B28557B1B415F58778C40566196A5A899A09D9EA19844453C88867E
+          FCF9F4FFFDF9FFFDFEA39EA08F8A8C89939A46707C2E5361827A8B8874915957
+          8B454D883A447A3138635B5A747983954B7385496D7F7374896B657C4D62783E
+          596D576774797D88807883A0959FADA2AAABA5AAA5A6AAA5A8AC7B7881666872
+          778290576E7E3A596E6C8EA6506886566B878C9BB54C5D7250647698A7B7ABAC
+          BAAEAAB5ABADB5A8AEB3A7ADB4AAB1BAACAFBD475162314C601E40570C2A4512
+          2E4C1D4B5C204E5F3F7080477B8B3D7483427D8C3D7A882D6C7A3E7F8D3E7F8D
+          448391458492427F8D44818F478291427E8E3977893877853B7A7E1F5A522E61
+          4D285D3C1F5E321B5E2B235F29265E292A5D2B265E2B1D602D1E602D2D5C2E30
+          59342C563F2B594D3C6E6C447B82447F924382973C7C94408295367786367780
+          3A7A7F42828743808A437E8D477C91376A7E2152604274804476825387935288
+          934D85904179842B6571316B77457F8B4A84904982914A81903B7281366D7C4B
+          7F964673983059801A3E5C3B586D374D59A1AFB59BA3A2A0A6A141453F898B85
+          FAFBF7FFFFFEFFFFFFA7A7A79E9C9C919DA149737F3055637E7B8B8376905358
+          893D4E8731467A283A63636A838396A54B7A88426D7C7276896664784B5E733E
+          5869576774797D88817984A0959FAEA3ABABA4ABA5A6AAA5A8AC9A97A08A8C96
+          919DA9657C8B4060736A8CA3475F7B455A768B9AB449586B495D6E93A3B0AAAC
+          B7AFABB6ACAEB6A6ACB1A7ADB4A7AEB7AAADBB475162304B5F1A3C530B294414
+          324F1D4E5E3061714578884B7F8F467F8E427D8C3875832D6C7A317280397A88
+          448391438290417E8C468391447F8E3671803570832F6877376E732957513852
+          443D5239415A38425C3440592D435A2E4A5A314B5D3448633B4D673F5C68445E
+          684A6678675E7A744A73753A6D7739758539788D3571893772863E798838757F
+          2C6C713070752B6C7534717F457C9130637728596740717B3A6A764274804377
+          83497F8A467C873D75803A717E38727E39707D437A874F8695457C8B356C7B37
+          697F426F912C5177294B693A546C576C7B9DADB48D999B98A19E484F4C919792
+          FBFFFEFBFFFFFBFDFDA1A3A39E9F9D8E9B9D4F737D365564827D8C857892535A
+          8B3C50892F487A253C625F6D83879EAD4A7E8A42727E737D8E656779495F713C
+          56675868757A7D8B817885A094A0AEA3ADABA4ABA5A6AAA7A8ACAAA7B09A9CA6
+          95A1AD687F8E4A6A7D7597AE4F67834358738896AD4554674458698F9FACA8A8
+          B4AEABB4ABAEB3A8ACB1A9AFB6A5ACB5A6A9B7444E5F2D485C1739500A284317
+          35520B3E4E4276863F7383356C7B417A89427D8C3E7B892B6A782E6D7B256472
+          2C69773976843A75843873823F7887467D8C47798D3D697A4368703F53545549
+          436B4B3E73503C7550367755387853377C51367950377250387351397B513A72
+          513E5F544C636E6C507075376872306C7C3170843B758B467D92447888437984
+          3371792E6F77296C75377684457D9025586C2D626F3C737C346B74366F78366E
+          793F7A84427F8947858F3E7C8635767F3C7A8545838E46848F47859043818C37
+          6F824E799A2B4F751C3B5A28425A5C70819AABB48F9B9FA3AFAF3741417E8987
+          F6FEFDF9FFFEF6FBFAA5A8A6A2A39F959F9F546E7A3F5162897C8C897893575B
+          8C3E518A2F487A223C6157687D849EAA477D88407480728292646C7D4E68793F
+          5C6B576777787E8B817885A195A1AEA3ADABA4ABA6A7ABA8A9ADA4A1AA9B9CA6
+          929BA8657A894B6C7C779AAE556E884B607B8997AE4858694B5E6D92A2AEA7A8
+          B2ADA8B1ADADB3AAAEB3AAB0B7A9AEB7A8ABB94751622F4A5E17395106244112
+          2F4E1C50604B82913A7180346D7C427D8C3976843B7A8834738137768431707E
+          3572803875833873823974833F78873F76854C7F934573844C707A535E627856
+          579A5B57A55A51A7584BA055459F5444A250449E4F42974D41944C40984C408A
+          4C4467494873747868858A5586904485943B7F92427C9244798E3F7080487A86
+          427D863C7D853B7E87468593407589184C5D1E5864326F793C798345838D3F7D
+          873D7E8732747F357881357A84397E884A8F99468B95317680357A8446889347
+          82954D7A9B3A5E822443623E597362788A8296A145555C3D4C4F323F41717D7F
+          F5FFFFF8FFFFFAFFFEAFB3AEA2A49E999F9E586B78404E6087798B887693575B
+          8C3F50892F45792438615F6C828DA3AF4D7E8C4475836D7D8D5D6778536B7D3F
+          5B6C576777787D8C817787A194A2AEA2AEACA5ACA6A6ACA8A9ADA29FA8A0A1AB
+          969FAC687D8C4869796D90A44F6A844F647F8D9EB34F5F705366759AA8B4A9AA
+          B4ADA9AFACACB2ABAEB2A8ACB1A8ADB6A9ACBA475162304B5F173951001E3B05
+          22413C7382467F8E407988427D8C437E8D3673813776843A79873C7B89407F8D
+          44818F3C79873772813E77863D74832964733A7C8E3879873E7279475A5F6F4A
+          4E974C4EA34343A5413DA44641A24641A84442A84442A24542A04743A047438E
+          49466C474B6D696F58757C467D863A818F377F90417E923C6F83487688497886
+          417C8633747C377A83438290356779184A5C2964733577823D7F8A42848F3779
+          84347983296F7C3279833E86923A828E377F8B327A862F7783357D8939818D3C
+          7C8E3F6E8E2D537611355332516A5973846A808C3A4D5537474E46545A727E82
+          F4FFFFF8FFFFFBFFFFBABBB7A19E99979C9B5B6E7D414F65837A8E8377955659
+          8C404E8935447C2C37636D6E8899A3B45A809252788A6D798B5D63765A6D8241
+          566B586678787D8C827888A194A2AFA3AFACA5ACA8A6ACA8A9AD9D9AA39E9FA9
+          929CA66A808C4E70807093A7547088566C858D9EB34D5F7051667598A8B4AAAB
+          B5ADA9AFADABB1A9ACB0A6AAAFA9ACB4A9AAB8434D5E2E495D1B3D5405233E05
+          23403E77863B76854883923F7C8A326F7D3E7B893E7D8B3372804685933C7B89
+          3F7C8A468190447D8C3F78874178873B78862E7785347C8839747D3F595F6847
+          4E934A52A24449AA464B9C42429A42429E3E449D3D43973D42923E408E3E3F80
+          3F41603F4663646E5579814A8791398893307E8E3676882B5E72416C7F406F7D
+          417C86397A833F818C437F8B2253630C3A4B3772823E7F8D4482924283913677
+          863576842A6D7C377B883F8493438996377C8B2D73803176852D73802E738242
+          81955082A0315C7D1F456335576F617C904F69774155604D5F66516167707C82
+          F6FFFFF6FBFCFEFEFEC3C0BCA49E999B9FA05973833A556A797F927878964F5A
+          8E3F4E8C36447E3238676C64829A9BB0647F945C7B9071799060647C63728C46
+          586F586678787D8C827888A394A2AFA3AFACA5ACA8A6ACAAA9ADA9A4ADA2A3AD
+          8F99A368808C5375857095A94C6A834A627A8699AE47596A49606F94A4B0A9AA
+          B4ADA9AFACAAB0A8A9ADACAFB4ADB0B8A9AAB8424A5B314A5E23455C112F4A12
+          304D346F7E3C798733707E2966742764722D6C7A3A79873675833A77853F7C8A
+          3E7988437E8D387180397281346D7C3673813C81903D839033717935555B5946
+          4F79444D854148853D437D3D427E41457E39437E3943804046763A406F353A67
+          3B4148353E636D774D7B83367B842F818C2E808C3B7E8D3E74854977884C7A8B
+          417B8746869134747F3E78842C57662E596A25596A427D8D427A8D417C8C4B85
+          98468191417B8E3772823D778A4984944A8497437E8E3771842A65753974874C
+          859A4E82A0265575133D5A3960767091A1AFCBD67D949C6072793E4C52747E85
+          F4FAFFFDFEFFFDF8FADBD3D3A194929CA0A1385F6D265668425E6F4D627E3E56
+          8A334A882E3E79383D6E7466889C96AF6B7F98546D876D769164688452607C3F
+          506A576375787B8A887D8DA697A5B2A6B2A8A0A7B1ADB3ABAAAEA49FA8A1A0AA
+          95A1AD6C83925071846F97AA4D6C8557728C8CA1B7516577566D7D91A2AFAAAB
+          B5B3AFB5A8A6ACB1B2B6AEB1B6A8AAB2AEAEBA484F5E2842532445590220390A
+          2742407D8B3A77852F6C7A33707E2E6D7B286775377684438290407D8B357280
+          316C7B447F8E437C8B3C7584346D7C3C77863D7B8B40818F3978803460674B4E
+          565C474F63444B63444B5B474C5443475B4049664B545F48506652576953585E
+          52585456605A727E40757F2F788030858D3186903C7F8E447C8D4677873C6D7D
+          326D7C43838E407E893065722A51603E647617495B346C7F3B738641798C4880
+          93477C9044798D3A6F833C718541768A41768A31667A2D627633697A3C71853D
+          74894175932C5B7A224D6842697F7394A3E3FEFFE8FEFFECFCFFCBD7DDD0D9DD
+          FAFEFFF9F8FCFFFDFFE1D6D8A5989693969A234D5A2056673E62723E5C773251
+          8434508D2E427C272E5F7267889F9AB5677E984E6F89607590586B8648628040
+          5973546274767785837986A594A1B3A5B0A9A1A8AEAAAFA9A5AAA59DA7A1A0AA
+          909CA8617B894A6E807099AF4F728C54728B889FB54B6173536C7C96A7B4ABAD
+          B8B2ADB6A6A4AAA9AAAEAAAAB0ABAAB3AFADB9525766324B5B2646590D294111
+          2C462F6E7C4584924685933D7C8A3C7987417E8C427F8D2E6B79407D8B417E8C
+          3C7987427F8D407B8A4782913E79883C7584326A7B346F7E33747D3872784B70
+          745972765B767A5A797C4D7377466C704E6B7255717844646A55757A647F835D
+          777D5975804F758135727C267179297C842D7E86307481437E8D4175863F7383
+          346F7E34717F326E7A1E525F294E5C315867265C6D2D6B7D2F6A7D316C7F3772
+          824078894B8192447A8B396D7E3F7384437788396D7E2B5F70477B8B3F73843D
+          7286477C972352711A465E577C90829FADE8FFFFEDFFFFF1FFFFF1FCFFF5FCFF
+          FBFEFFFFFDFFFFFDFFDFD4D7A5979999999F31515E315C6B40626F39586F2E4C
+          7D34508C354C842937676461819398B14D738B35677E3D6C823C6A822D5F7B37
+          637B5D6F807E7E8C8C7F8DAA98A5BBABB6B2A7AFB4AEB3ACA8ADA8A0AAA4A3AD
+          909BA95E7787466E816D98AD4A6F89466781839DB5435C704E687995A8B5ABAD
+          B8B4AFB8AEACB2AFAEB2A9A8ACB6B4BAA6A2AD454856273C4B224051203B501C
+          364E3C7B893F7E8C3A79873E7D8B407D8B39768439768433707E33707E43808E
+          427F8D3F7C8A37748244818F427D8C407786406E803566762C69733472784579
+          7F4D80834681833D7D8134787D3778803D747D2B606A235E67316D73467A8044
+          747A54818E4579863B7C852A737B27747D2A757E2B6A78417C8B437B8C457D8E
+          3C7987367381215B671C4D5B315462274E5D417A893879883677863977873E7B
+          894782914D8695477E8D477B8B487C8C477B8B3569791D525F4A7F8C467A8752
+          86974979951D4966123B525B7D8D7A959FDDF1F6F0FFFFF5FFFFF4FCFCFBFFFF
+          FDFEFFFEFDFFFFFDFFDAD3D89B91979F9CA57B8B986B8593687E8961798D4961
+          8F324D8630487E30406E656986919EB4416E832764782D687C316E8228657F3D
+          6F855A6C7D7B79858A7C88A38F9BB2A1AAAEA2A8B0A9AEACA8ADA8A1A8A3A4AE
+          93A0AE6781914E788B6695AB48708C446781809BB53F5A6F4460718BA0AFA0A3
+          B1ADA8B1AEACB2AEADB1AFAEB2AEAAAFB6B1BAA7A9B48FA2AF3D57671F384C26
+          3F53377482387583326F7D3875833C79873774823673812E6B792B68762D6A78
+          2E6B793C7987377482377684377482477B8B587B8F4A6B7E3D6A783D727C4175
+          7C41787F35797E2B71783B7B86437C8B3C6D7D174A5A2F6D78397781487F8842
+          77814A818E407B8A43838E387A85397C853F8089387480437C8B437E8E3D7989
+          3A7B8A478694205A662756643459672F59663874803178823E838D4587924283
+          8C417F893D788238707B457C85477E874D828C2358621F545E437882497D8448
+          79873B66812D53712A4A615A7484657880B8C4C8F5FDFCFAFFFDFDFFFEFCFEFE
+          FDFFFFFCFDFFF9F9FFE8E5EE9C97A0A29CA7A8A3B29E9CA894979F8F99AA6878
+          A3394F832D44742A3F65676E878C9CAD39697B2060722462742C6A7C2A637C3F
+          6C81647484827E8992828DA48F98AF9CA5AFA1A7B0A9AEB5AFB4A59EA59FA0AA
+          92A2AF6C8899547F945D8DA54A749150779383A1BC4B6A814B6B7E8FA6B6A2A8
+          B5ABA7B2AFADB3AEADB1ADAAACB5B1B6B7AFB9A7A8B296A8B34B657331495B26
+          3E502A67753E7B893E7B893B78863E7B89468391427F8D2A677534717F316E7C
+          2C69773675833776843E7D8B357482397281557D904D738548798748808B407B
+          843F80883C878F39818B3F7A8A43728731576F1944593F7D8D4084913E7A8639
+          737F3778863475843C79873E7A8649818C518792477C893E7582326E7E397787
+          3C7F8E3E7D8B19526132626E3157632F59653E7982387C8342838B3F7E863B77
+          7D3973793C72794B7F864B7D834A7A804D7D831C4A513A686F4D7B825C898D52
+          7C88456A862946651E364E6376858B969EADB5B5FDFFFEFFFFFBFAFCF6F6F7F3
+          FDFFFFFBFEFFC9CDD2BDBFC98A8C96A8A4AFB09FACB4A5ADA8A3A59DA1AC707D
+          A3405484334C782B3F62686D828996A6476F813367783566763C667941657D4C
+          647A6A73817B7881887780917A82947F879080878E8588948E93A49DA49D9DA9
+          8E9DAD64829348758A4779903E6A894D75926C8CA94C6B8450718592AABCABB0
+          BFB0ACB7B1AFB5AEADB1B5B2B4ACA6ABACA4ABB3B2BCA5B5C14B636F31485835
+          4C5C427F8D3F7C8A397684427F8D417C8B387382417C8B48839243808E458290
+          3B7A883E7D8B3B7A88438492387987306F7D427D8C3A77853C818B3D858D337C
+          84347F8732838B2D758147798D44667E334E693C5F794C879B42899734738135
+          74822D72812F7281367180467A874D7A874A7784477684386D7A2B67773E8190
+          4083921F606E1B526138687428505C3D6871568A904C84894C8388487C825080
+          84507D814A72775E84895D828654777B3C5C614262675B7C7F6F90937D9C9F9F
+          BDC89BB6D1496080203249768393BDC3C8A1A4A2FFFFFBFFFDF5FFFFF9FEFFFB
+          FDFFFFEFF6F980888F5E6971545D6A858792A4939CB6A3A6AAA5A2A0A6AD7180
+          A13F557F354F772D3F5E7573879C9CAA798D9E6F899A748396757991837B997B
+          728C817E8D8580898E7B848F78808F7A82897A7E80777A857E83A199A39E9EAA
+          8E9DAD5C7A8D3A667D32657F2E5B7C3A63834466843C5D7744667D86A0B1A5AC
+          BBAAA8B4ABA9AFAAA9ADABA8AAB4AEB3B6AEB5A3A2AB94A5AE526B75394E5D2B
+          404F336B7C447F8E488091427B8A3A73823871803E7786346F7E4B869543808E
+          3F7C8A4B8B9642818F37798430727D3B7C8A387C892C727F327A8637828B347C
+          8636818A2F7E892063723D687D38516B3245605C77914A7F93417D8D31657242
+          7381417782467B854B79805A838657787B49686B4F7177496C765275825F828F
+          597D8730545C47666F4B676E324E5574919657767550746E537C745C877C709A
+          8F6489814059553F565248615D4B64602F454096AAA58FA39E9BAFAA859796D4
+          E9F18196B53D50751F2D49778193C6C8D28F8E90FFFFFCFFFFF8FFFFFBFAFBF7
+          F7FBFCF6FEFF77838F3B4B5B27384B38415562576B7E6F7D85848D949DAA7182
+          A33D537C364D7330405D727083A29EAA9AA2AF9BA2B19F9CAC9A8C9EAC93A79C
+          84968B808A877C848F7A8290797E947E83937F8487797D897F8599919B9EA0AB
+          8F9FAF58788B37667C306580285B7B2D5C7C3A607E41647E4B6D8489A2B6A9B1
+          C2ADADB9AFACB5B3AFB4B5B0B2B2ABAEB8B1B6B1AFB5A1AEB650656D2F434E2F
+          424F3A6C80477B8C4173873D7182366A7B3367783E758437707F3D79853F7D88
+          42808B3C7D8635758030717A2D707930707B4682924580934381934381914480
+          903D7C8A3074812F6C7A23495B324A5C4756696177895B8592527C88647B8A67
+          75816D7D83718683597365627E6A6277615464536671697F7F7F77656C684E54
+          745C5EA992905843415A4D4B444647A6A9A74B463761644A4E684452774F90B9
+          936C8B6A5D654E5458455B6B595568535A674F79816A6F7661939988777F75D0
+          DBE36376991F325F26365B8F9AB6EDF1FFDFE1E9FFFEFFFDF9F8FFFFFBFFFFFF
+          F4FAFFF0F9FF8E9CB2394E69182E511E2F5634335F302C564247684E59795161
+          8B3F507B3D4D77354262616879A7AAB29B9EA39E9CA2ADA2AAAFA0A4B2A09FB8
+          A5A2AD9C9FAA989FA68F949D8389967C82937C81917D828B7C849D95A09EA1AF
+          8FA1B240617437687E2F68822868862B678534637F3A5F7946657E5D75897582
+          92878B9699969FA7A1A6BAB1B4AFA6A9BAB3B6AFAEB2A3ABB2515E6644555E32
+          454D4D7E8E5283914475853F6E7C3B6A783D6A7749768346737E527F8A537E87
+          547D86527B84537A835279815178805378805F7F8A5F7C8A607C87617B87647D
+          87617A8456767C5771784B5059564D575B4D5862575F5B5B615453575A4A515C
+          45495B43454C3C35403D28585C3F4F54356E6F55766D5F4F39335A34345C2B2D
+          CB969370393460302A835E5A4E383AAC9C9679654C60532D686B3E616E405265
+          3A707F598C896D4B4C325A71516C886464764D828D6558623E6F785D70796CC5
+          D1D76F80A11A2B561B2B503C4765AEB4CBF6FBFFFAFCFFFDFDFFECEDF1D5D8DD
+          D2D8E3ADB4C7939EB94453731F3156283660292E5B30335F2E375D18244C3C4A
+          7A4A578B343F712F39614E596F959CA5A3A6AAABA6A8A99FA5AEA1A3ACA09AAC
+          A09AAB9EA0AD9FA5B19FA6B29EA3B19BA0AB959A9E8A8F8F80889C949EA0A2AD
+          8A9AA7455F703B6278396981366D883D728D4870894E6C8558708668798C767E
+          8F7C7C88857D878D80889082888A7C80968B8E9E989DAEAEB47B8188616A7339
+          464E40777C477C7F43757B48777B537B805C7F83668388657B8176838B747C83
+          71737B726E74756A7277687074636C7362666A58576955506A4F4B694A476C47
+          4367423E5E3E38623A35783B377F38347D39347A362F7A393178372E6F2E2574
+          332B712E2D692F2A65382A84655053442A74664F5C4234674B4459413B896B66
+          9C6C686F38355F2C29845655573032B0938E776B4F8074507158365B3F215D47
+          2E72654F736F5C78866E58855E3A6E3E678C547A9760678355516A48586F60A8
+          BDBFA7B8D228395A2736562D3B57232F4749546850576A3C4354353A492B2F41
+          25293C30334831354E3E415D565A778286A2545B6F212A3E2B36512D395D353E
+          77454E8E3A42853239704B54756771827D858C999CA19F9BA6A9A1ACA69FA6A8
+          A4A9A1A1A7A0A3A8A4A2A8A9A3A8AEA5A8AFA4A7AA9CA0A2949A948991A49FA8
+          92949F606977556576576F834E6B8054718662798F65768B6C778B787C8E807D
+          8C8379868777828D7881907981947F8794828986787E837B827A767C8D8C958E
+          91996272716171705C6A695963635A5E5F595757594E50534245654C5067464A
+          673F446A3D40713E42763E43763C41753C3B79443A7A43367F3F34853D33883D
+          34883E32843E31883D2F903429943226933A2C903828993A2B923A298239258D
+          4837883D35863E376C2E238254438D6E595037236D4E3F6E5045877368CCB5AD
+          7247445F2E2C6C3A3A8C5B5D5C2A2EAD8783786851836E5278442D7437237643
+          336E4F406D66557D927953855D477F4C4A703461824587A9736082595B78613B
+          524D2532402D384E202A422A364E29354D2936502D3A54313E585E69843B445F
+          292D497C8099EBEAFFF5F1FFFDF7FFDAD8EBB5BAC389949C5562722734542D37
+          6D3F478A383E853A4180313B632D39513F495A5E65746F70848E8DA19897A7A0
+          A2AD9DA5AC9CA5A99BA2A59B9EA2A29FA1A7A0A3A89FA2A79C9F8C8086AEA3AB
+          A6A1AA908E9A858595878E9F768092778193777F90767B8A7878887F7A89857B
+          888B7A87927C88987F898A727A947C84967F87917F868C7D85897E8688808A82
+          7D867F40427D3E407B3C3E7A393B7C393C833F40853F40894141873D3D893B3C
+          8A3A3B8C3A398D3A398E3B3A903A3A8E3C37823A30843A2E8F382E95392E963A
+          2F953C2E8F3C2D8F3C2D983C2F923A2A8B3F2D8B3F2C8C38267E351F6A422676
+          583D7442306B34257541347F52447851428D6C5C7E6251957B6BC8AEA05B3F34
+          8D6A665D3536714447724044672E31AA7977785950754B3E8233268E36287F3D
+          2B6D4532766F5B5A6D52638965567D50586E3A70834C6A87505E7E4F415F3C6E
+          826F8E9392B4B3BDD1D2E0999DB02F39512A3553243556192B503E507594A2C6
+          636E8E292F4C5A5B75B2AFC5FBF2FFFFFAFFF5F7FFE2EBF4A8B6C2818FA6616E
+          9A444F89333D7D27326E2532602733572E3758343C5A34395A575A79666C836F
+          7784899296949C9C9FA4A5A5A7A7A6A6A6A7A2A3A39D9EA0979A81757BABA0A8
+          ACA3ADABA3AEA39CABA9A3B49795A89897A78F8D998E89928A828C897E888B7B
+          868C78849078829279839C838D957C868B737D89767F8879818D8088837B827F
+          787FA03C3C9D3939A23E3E9B39399B39399E3C3C993A379D3E3B9B3D389A3E39
+          9B3F3A993D38953B34923831933831903831903F37923F379E3C36A23A359E39
+          3198362E91352A8D34298E382C8536297F3424853A2A8732237A352273583E72
+          664A6F563C7E5C458B6253683E316D43376C493B7B624E987F6B8463535C3A2D
+          9C7F7A4A2E2E704B4F6F4245682E2F9960617A54526E413D7A29218631227B3F
+          2964422A716D546E7F646B8A6B4F6B4772815597A67357733E6D8E5BA0BB9060
+          6F50B6B0A3F3E5E6EFE5EBFFFBFFBCBFD43F4A6618284C2B3D66172A551B2F58
+          5C6C9193A0C03F466133364B686679DADAE8F8FBFFF4FBFFE8F5FFD9EAFD8191
+          B53E4E7D404F8738467B25356027345A1F2A502B345A282C552B315630395443
+          4D5F5A616A6E727783868B9495999F9EA2A6A3A5A8A5A7AAA4A97D767BAAA0A6
+          A99EA6A79EA8A69AA6AAA0ADA49AA7A79FAAA7A0A5A69DA0A1989B9E93969B8D
+          9396858E958089917C858B767F8A778091808991828A887B83877C84827A818B
+          858A9D3C38993834A2413D9E403B9B3F3A9C413C903831913C348A372F8A3931
+          8B3C318A3E32883E32893F338941358B43398235328A34349833359E33369B35
+          369B37379A3838933938833731843A3482302B953A3592312D8B3D36936E6073
+          674F918C6B8D84638C735F735043774E457E584C6C5440826A526A422F7D5647
+          6E58526D5E5C71595B532E306F3635935B5A8868695839366C342979402B603E
+          206E6240747658748367657C604860405C6E474A5F324E723E4566335A6E417A
+          7C586C5944B3988EFCE7E5EBDDE1FAF4FFF4F8FF606B8B22335A2238620F2751
+          253B6433496C8496B37C8CA3333E52252E427D7F9DC5C9E6C2CDE3A1B1C87183
+          A24B5E832F426F2637621D30513645652531552C355B2E315D242851232D4B37
+          3E5738394D46445753526262617174727E87869095949E9F9CA5807C82AAA4A9
+          A9A3A8A8A1A6AAA0A6AB9FA5AB9FA5ADA5A6ADA5A5ADA6A3ACA4A4AAA2A3AA9F
+          A2A79BA1A2959D9D9098938892887D8789808A80787F837C838682877E7D8180
+          7F81A2443F963B349A3E3993393294393499413A903B339441399241398F4035
+          8B3F33873D31863C30833B2F823A2E823A308A3B388E38389834399A33369532
+          34913433923435893835783E3882473E86322D9837348627247F342C8C625551
+          412A4B4A244C4B2567523D755248916760764D44C2A28F75573E7B553D765643
+          74655C584F4B756768513233703936935C59856968664E486B3F326337206D51
+          33A798786E634854553B637056576C4C657851778E6188A976849C6C76774F71
+          5F406D52385B3D2CAE968AFFEEEBECE1E9F5F4FFF3F8FF96A3C322355A162D53
+          1D375C112B4F233A5A4E6382495E79233350262C512D3056252F4D22324F1C2F
+          523C4E773D4E792E4166384C65899AAF6E7C934149662D30562E31573035542A
+          304D3133523433533535533A3B574648605A5B6F696B7D7273816B6C769A989E
+          A29EA3A7A1A2B0A6A6AB9F9DADA19DADA19DA89F9BA7A19CA8A19EA9A1A1ABA2
+          A5AAA3A8A8A0A7A59EA5A8A0AA9E96A0A09BA48B878D8A888E8B8A8E8180827A
+          7C7D963D39943E38933C38933D37933C38933D37953D37943E38933B35913B35
+          933B35933B34923A33923A339139328E38328D39338B352F953633983A358D35
+          2F86332B8A36307F3D326E4C3C7D57458E3E338E2F26812F247F3E2F5D332065
+          4F3352461E8F7F5A9F806B744B42643733906159804D3D6F452E886F55665841
+          3C372888857D756C696249476C37348D57508D75695E493A78503E6A3B266B42
+          2C8058456D44356D514089866A52603C5266375C733F6B8150595D3465472E66
+          3C29684930725A424E3A288F7F72E9DEDAE7E1E6AAAAB8777E923F4B67263857
+          1C3053263E621D3559152F531933571A30542B345A272D522A335826325A1C2A
+          5B49578C2D3B6F28375E7E90A1E3F5FCB0BEC496A0AA7B7F974F506C31324E2B
+          2E4D2C3059292D5D2A2F5C292F58262E532B33513A415C484F63606574696A74
+          7C787D9B9695A29793B6A9A1B7A69DAE9F96A89E97ADA4A1AFA7A7ABA3A4A69F
+          A2A7A0A5A9A1A8A79FA9A79FAAA59FAAA5A0A9A4A0A6A29EA49D999E9592948D
+          8C8E903B39903B39903B39903B39923B39923B39923B39933C3A933938933938
+          933A36953A369439359338349338349038328B332C913C34953B348B362C863A
+          2E864033803D2E6636248A7E66645339773523873726995E4A744A335D40255C
+          492865572D7D704A715A44684B3D70484382504A86483D6734204E3B20464529
+          656A559FA2935A554C7C6962673B347D5249907D6E5344316E4B376D402B6A3F
+          2A5F311F89584A6B47376F684D2B37137587586A7F4E596B3C8A8A6672533E64
+          3C2A5B442A6E604375684E796E5A776E60E3DBD45E595A44434C2B2D3F31374E
+          2D38542231521B2E531C325B223A64192D56354066B3BCE16B769C212E5C131E
+          5836417F47528C27335D8897AAEFFEFFF4FFFFE5EFEFB7BAC8A5A5B78F8F9F53
+          556D30355C272D5C2D36622F3863222D53293355313C5C29344F262F43414655
+          5959656F6B716F686B8C8282A39694B3A6A4B3A7A7AFA4A7A89FA2A49AA0A79C
+          A4ACA1A9ABA2ACA89FA9A69CA8A59CA6A39AA4A39BA2A59EA3A69FA4A7A0A3A7
+          A0A38E38388E38388E38388E38388E38388F39398F3939903A3A8D3A398D3A39
+          8D3A398D3A398C39388B38378A37368A37358B362E8E3C318C3A2F873B2F7D3C
+          2E6F37266E412C785F45666C4D4346265E351C6B37207F654760553568623F5E
+          5D3779784C43441C6F745756523F8A6F65814F497532296C342366553B575C3F
+          65765B707D675A57485F4D4270534AA3887E8A8173615745896D556B462C5634
+          176B4A307956425A422E6A6D5366755554633D6273486B825697A6807672566D
+          634B6F6C4D545331605E40817D61443E27736B5A857B718C817DB2A8AED2CBD8
+          EDEBFF999CB82D33562C365E17245024325C293559202C4E717FA3A9B6E24C57
+          91353F7F3C458417205295A0BCF0F9FFF4FDFFF2F7FAFBFDFFEDEDF3BDBFBFA1
+          A5AA888CA4545978242C4A222C4A343E5C2833511E29492B36541924422B3350
+          34395241435B4F4D636563776C687B756D7E8A7D8B9D8F9BAFA1ADB3A5B1AFA1
+          ADAA9CA8AA9CA8AB9DA9A89AA5B1A1ACB6A6B1B3A4ACAC9CA3A8989FAD9EA2B3
+          A4A88B37398A37368A36388B38378B37398C39388D393B8C393B8C393B8C393B
+          8C393B8B383A8B383A8A37398936388A37368B37318D3A3287362E853A317C3D
+          2F632F1E693F2C887058807E60555031643F2580583C796748625C39878360A8
+          A7816F73495E6C425972505969515946397A4C44793A3270392C6C553F7B8162
+          445D3B5B72525C5F4660544267564964534A98908972665AC09F8B522B0F6246
+          236953306E573D7969525C59444649305D5B3D484C295D6F483A4F286A78546F
+          78577D84636568485A58398783665F563B7C6E58B3A190E5D1C6F9E6E1F8E7EA
+          FFFAFFF7EEFFD6D2EF494B6D2F345B2A3359212A4F3743651B2A4B3142694A57
+          8B3D48842C347031396E252E508389A0DCE1F0FAFCFFFBFCFFFCFDFFFBFFF9ED
+          F3EEC0C2CCAAADBC969AAD686F832E364D252E49323D5B263254121E42273258
+          2A355B262F55242B522B30573B3E645756786E657F75697F7E72868E8296A193
+          A5AE9EAFAE9FADAB9AA7B0A0ABAC9BA6AB98A1AF9CA5B8A3ABBAA5ADB5A1A6AF
+          9BA0853836853835853836863936883837893A378A3A398C3A398B39388C3938
+          8C39388E38388E38388D37378E36368D35358A3331923B3988333181302B833A
+          3279392E6E3D2F7B503F67422E673E28703E2864341C603E216C50327B61435E
+          4F2E6F724B4B61374F744E849C7E695D4B613A3158241E79483E795B48504C2F
+          3E5B344C6E4657644447452D675C4E70615E93888B6954537C4F416F3F237A5E
+          3567572C5344236D5E44735F4E63493B5F3D2D755F46777E5940572B586F425E
+          7146505535565436686245998D715E4D32543E25816652694C3DC8ABA2FFE9E5
+          FBE6E9FCECF7FFF9FFDFD9F0686781363A572D36582531532434511F33521525
+          4F2736672A346A1E27592C335A2429483B3E5A9092AAEFF0FFF8FDFFF0FAF4FA
+          FFF9FFFFFEE8E7E9C2C2C8AAACB6959AA9666C8339415E2F395B1F2B531E2E59
+          1C2A5A1C2B5C263468212F631D2B602A346438375E4B46655D58756A637E746A
+          8181768A988B9BAA9BA9AF9EABAF9EA9B09DA6AF9DA4AD9BA2AE9CA3AF9DA4B1
+          9FA68A39348A39348A39348A39348A39348B3A358B3A358C3B388C39378C3937
+          8C39378E39378D38368C37358C37358B36348B36348C373587323084322D8436
+          3076362B724133895B49793F2C703722835A41725235806445715B386D5A3750
+          44207B75505D613D72805C4A52334B3C296141367147427A504957362650482B
+          5571464C73453C562E8F97795447396A565599939844333687564C744029896E
+          49695D35453A1A695942785B4C5C34286F4130775940727A524862327089575A
+          693D66634462553B6E5A4157402653371F5C3D26522F1B613D2B674637F1D2C9
+          FFECE8FFEFF0F9EDF3FFFBFFFDFBFF9B9FB23237562A355520314B2B3E591E2F
+          561625532230611F2958515A7F4A526F353C57222642393C58A7ACC1F3FDFFF4
+          FDFFFBFFFFFDFFFFFBFEFFEBEDF8BFC3D5A6ACC37D85A33E476C1C28521F2E5C
+          27366721326523346715275C17295E202F6028315D2A2F562F33563F41605352
+          6C6360766F697A766D7A8E84909C9199AD9FA5B1A3A9AC9EA4A89AA0AC9EA4B2
+          A4AA9338339338339338339038329038328F39338F39338D39348E3A358C3A35
+          8C3A358B3A358A3934893833883732863832893B3581332D85342D893A317B33
+          296C3121714E3A9A765E7236207E482F817551484E254F51276B70436F815277
+          8055644B297F573A633B1F6B482E583A275D40327A5551603C36583E2E6D6548
+          889F725077433B65364B5E3D452D217E62617179797075735E372F7241316146
+          2C4A3E22534931655741704F3F562E1B643E204E3B15566B3A8CAE785466376F
+          6E485641266C4B374B281465402A5B311E9F75628C624F5E36245A35276E4E41
+          A1887EFDEBE4EFE4E0F1EEEAF4F5F3F6FCFFC0C7DB424D6828384F2737541B2B
+          552432621A285823325944546BB8C8D88694A63A455B2F3558262B523F476CB9
+          C1DFF3FAFFDDE4F5B4BBCE868EA55E658039415F2932542F385E2C365E2D3963
+          35416B28345E28345C27345A2F3C6224335A23336122326021315B2230542630
+          4E30384F464A5C5B5C6A62616A68666C7771768B8688A09A9FABA5AAAAA3AAA4
+          9DA49438339438339338319238319038319038328E38328C38338C3A358B3A35
+          893B35873B35863A3485393384393184393182372F86362F8D383087342C7930
+          28773C3278574481664C613B196C5329717C4A556B374B5122737A4D6C8656A5
+          B187603B21773927783A28713F2D67553E685C4A775C525C3C368D6D60897A60
+          6A794D52703F66845B5F694B8D6D6063403D939897747A79624A445534258E7C
+          65A6A083424426565235695438644829937C56766F444B602F688050676A4351
+          42225C3D24633C267F544166382662301E8754446F3E2E77483A63372A573022
+          5B372D8C6F66FAE7E0F7EBE5FAF6F1FBFDFEF3FCFFDDE8FC626F852A36522B35
+          5D162351243462192E541E364E20384A6E8196BAC8E4576086242A593237681F
+          2552353E602B35532C36542D375528304E2A32502E365429314F2F3755646C8A
+          98A0BD7D83A04C536E2E334C353A5326304E20325B19305D1D335C25385D2639
+          5A25355229344F2F374E3F465A51556765657569697567687272717B8A89929F
+          9FA58E37338C38338C38328C38328B3A338B3A338B39348A3936883837893B3C
+          873D3D853B3982383682383485373186362F85352E8A342E90302A9134318433
+          36702F31613430503B25626B3955702E8EAB6697A66965582C73633E79815961
+          5F4067412F7A433C67322F83645B6F7C62566A4D554B396144367A504373543D
+          6368413C471F4E472E6A54428965535B382E917981685B638B86834646345555
+          376B734A657B4B7285524F5123635E3197956C4F50285A5E3A8986675E4A3154
+          382056371E9D7961895C4773412F67302170362A693126D8A297663025663025
+          723B3456241E8E6562FCDDDCFFECEEEAE5E7EAF4FBEFFDFFF1F8FF999DB63438
+          5B1A234E263966102B571032561D3D601933572031582B34602B31602D326325
+          2A5B272D5C31376420274E3037583C435E50566D797F92B8BDCCE0E3F1E4E6F1
+          C7C9D3ADAEB8A09EAA8A8594655F7233324C2531531E33591E33591E33591F34
+          5A21355E24356025356026335F232C572C31584447665B5C7666687A69697568
+          6A728B36348937328A38338A39328A39328A3A338A393488393686383985383B
+          84393B83393980393682393582393183382F8939328B38308D332C89302C7C2C
+          337A373E8A59578E7761ADBA8652712C415D175C662A5E4A2160442670654763
+          543A5F35287F504C7C5E5D6962596E81666075556E6B56806A587C53445F402B
+          5C603D56603C4E432F5D463669543E4D36267758614E37458E8C8C61685B5B5E
+          447A855D5B7D47628B4E708E536D854B5364314F592E5757334C4024553A2558
+          39244930167B5E43734C3661311F652E216C3127682F267E453C7439306D2E26
+          631F1A823F3C6226277B494DFBD7DDFDE9EEE8E7EBEBF1F8F1F4FFEFF1FFA9AE
+          CD131F431C305918335F13335E14345F18315B2D406B26335F1B23522A326123
+          2A5B242B5C262F5B2E365E2730527D83A0E2E9FDF6FBFFF1F5FFFBFDFFFDFDFF
+          F8F7FBFDF9FED7D0D7A8A1A8ACA3AD9996A5535B7232435E1F31501F32552436
+          5F1E315E192A5B18295C202E622533642A3561293258272E4F3438544E516663
+          677A8C35338C35318D36328D37318C39318A39328A3934883936883839863637
+          853536843637833935803A337B3B307C3B2D7C342A7E34287F3B2E7E3B327330
+          2F7234347F4E468A6551644B236E6631758048A5AE7B7868445F41285C412C6D
+          4C397B4B3F6040356370626278665A5840463A22615C477E7561785C4B432E18
+          616F4D59714E5C6B504E593F656F51474834918083543E4A7B6C706C605C463B
+          2D52573A4E7345629C623C7C3A4E874368894C5666306A74456E6B45533E2265
+          4D3557462B5F4E335738235D35235E2E226E392F7D483E6A332A6B30276F2E26
+          813733651816752C2E712F34642E35EBC2CAFFE9F1DED3DD5D5D6B383F521623
+          3D2C3E5D1F325524355C273A6013264C1D3258172C52172B5420305B2933625A
+          638FC4D2F6505F802632562932572730523E4663A8AEC5F1F8FFF8FBFFFAFCFF
+          FDFBFFF8F4FFFFFCFFFFFBFFD2CECDAEAFAD9DA6AA8A93A0616A7E333B581F28
+          4E27305B2C366526335F27355F1F2F541F30512A39592E385A262F51262E532E
+          355C8635328635328A36318A36308B3830893A31853A328539338A3837883534
+          8D32358E34348A3833823931763B2C743C2B7A3C2C723123773A2C7A3E327435
+          2D70322A6E34286D38246D3B1D6B49256D6C40656D44817E5F6B5B4476524269
+          3D30663D2E5E4D3A657F676E88705948335B3D2A6A5F497467516A4A37604933
+          5C6D4C44623F4459397F8E6E7C8A68484E357D726E4933385A3A3F836364614B
+          4532311D42613C51895462AF6C91DA92ABD7925C71335F66336D673E5E492D6E
+          583F6053396D60465136225B372766382D825149703C35612B24682C26702C27
+          762724822F2E832F336F21286A252F723942E7BCC5FAE1EB544B583E4254313F
+          55273852212F4C273252232C4E313B5D28375826395C283D631F335C21315C24
+          325C415273B8CAE999A8C9404C6E2731532C355628304D4F546DBFC3DBF6F7FF
+          F9F9FFFAFBFFFDFDFFF9FBFBFFFFFBF3F5EFC9CBCBB8BBBFA9ABB69597A96D71
+          8A414562282F502730521D294B2B3A5A2E3D5E213253222F552B376129346019
+          26547936337D363280363083383083382F823A307F3A318238328A3735903433
+          9730339B333496353186352D773B2B72402C8956426F37267834277A34277231
+          227C3A28843A28843D297134206A4029695B3F5C6243576C4C585E455630246C
+          3B314C34206663475764444C51345F4632613F2F5E4632654833733F2E5E3925
+          69775B647F5EA1A5828A815F786C4A5045297E7665554038612B2B8E55568668
+          63453E2F596345608456296C2E448A4394C27A8A9F60645D2C6F573362432C82
+          6753C1B19A4838215133229870646E3E386B3731693731632C27692C28702B28
+          7828277A23267A23277F2A32772A32601C27612831C49AA554404C37333F4B55
+          666977899FAAC0DCE2F9D0D1EB494A66222A4725325223365924395F10244D22
+          365F24375D2235586D81A0C3D6F17586A1212F4C232D4F3A406324294A5F637C
+          D7DDEAF8FEFFEFF5F4FAFFFEFBFFFFFCFEFFFFFDFFF8F1F6D4CFD1B0ADAFA1A3
+          A49A9DA2757984464C5F373E592B3456222C54202D5921305E22315F22335E23
+          36617936337D363284363086362F84372E80382E7B382F7E3930883732913433
+          9F32349F333293332D82372973442F7250388B66506E3E2C79392E7B35286B31
+          1B743B21773B1E7B3B23803D2E6F3529866153534834607659556448603F3067
+          3B2E6B5E446B6F4C6570483F4623655D465F503D5E5039563C24612F1B7A513B
+          54543C3F4B2D5F5E3871653D65512E5344249292746D61496E382D692F29755C
+          52635C4B6B674E707F5956854D3B733285AD6CC4D39A634D24653C235027186E
+          4B3E8C72615439255C34285D2C246229276128265F27266029266B302E652521
+          792C2A7B282A741F2378262B762931702B356E2F38612E3692707AEAD9E4EBE7
+          F2EEF1FFF5F8FFF2F5FFF6F4FFE9E7FB7C7D92282D462735522A3D6020375D1A
+          335B182C551B2E54233659233756A7B9D8CEDDFD535F81232D4F2E38562D374F
+          2C35437E8991EAF3F7F4FDFFE9EFF4FBFEFFFFFDFFFFFDFFFFFEFEFFFBF6E1DE
+          D9B8B9B5A2A4A49EA1A972768949506B2D36582B355D27346019295418295422
+          356086343389343290333090342F8A352D85362D7C372D7A372E8337318C3531
+          993432973430843429713C286453386F6A4B867057643E2C713B30753C2D6A3E
+          2170512A6352276A4E2C79342A8534317D3633683C2F5B5D408088696E55415E
+          3F2A5B5030575D348197664665384C6B4C5E795F5F71544C4E305E472D75553E
+          654B3A45372062633B484B1D6358325D562F67764A5E643B6141245D371F6B61
+          4975765C695E42534D2A5B6B3C5C7641465F2D9CA0766A472D5D281B6E39365C
+          2C2A5B312555281A6C322C6E2E2A7630316A26276C2D2F682F2E652C2A602321
+          76312E762C2C752A2C752B2F611E236A2C325C2026581F2763323AA17A82FFEF
+          F7EADDE5F5F1F7F0F0F6FAF9FFFFFBFFFFFAFFA9A7BB353A531826431F3A5C17
+          345922365F293A651B2B5A2635631E2E58566788D0E4FD93A7B9364958213141
+          374256283349383F539AA1B4E4ECF9F8FEFFFDFAFCFFFEFFFFFFFEFDF9F8FDF9
+          F8F7F5F5DADADAB7B8BCA5A8B09CA2AD7C83964C566E2E39592C375D2D386426
+          336187353489343290333092342F8C342D83362D79372C77372C8137318A3631
+          98353194342E7D33276B3E29625F40757A5A917C66633A2B692E246E33247649
+          288D784B858C599490676D3327853234772A286A382C514F30707D5771664A67
+          553868603B4E582A7998614F7944446C494E71564A6141929F7F57593B73684D
+          68493A5D46305E683D48582869623B59572F6E89576B875247481E514B265762
+          3C6B77536B6946433F1C6E72496A7249383F1A3C32145D32216B2F2963272764
+          2C2B6631276B332867231E782C2D6F2023712529712E31602425602726662D2B
+          6D2E2A6A27246824256B2B2B6A2E2F62292C672C306A2E345F242C5D272E966C
+          73FFE1E6F3E5E7F0EAEBF6F1F2FFFCFEFEF5FFFFFAFFC6C5D9515B731A324E1D
+          385A1E2F5A212F5F202E5F1E2C5C24345E21345721354E879DAFD3E7F8738596
+          2D3B5227324D2F3754222B46444C639EA5B6F7F9FFFCFDFFFDFDFFFFFDFFFFFD
+          FFFFFEFFFDFAFCF4F4F4D9DBDBB4B8B99FA2AA9DA3B0898DA5585B7A32355B29
+          2D567A332F7D332F85332E87332D84352C7D372A74382C74382C8339338A332F
+          902C2893312B85372A6839235C5436807E605A3C296F392E80322C87382D7236
+          186B50248B9864AEB88D714D3D672D287137315434215F6F46506D3F5B653B53
+          532B7371484C5725608448567E47586B4A5F664B404022858C6B6D8965566B4B
+          5A4A39705F4AB8CFA37D98667D7B53595832587C4D5C905B5885544E74444B6B
+          3C506C3E566F43586A41575D3A3F3C1D483D2259402C7D514461272170312D67
+          2824632B206A2D23752C287A2A2B7C282D75252C71292F67282A642B2A632C29
+          662C27682B276A2A2A672B2B642B2C622C2C632A2B63272868262B7131365B1F
+          258F6063FEDFDEFEEBE8F9EEEAEAE3E0FFFDFFFFFBFFFBF8FFE2E8FB6E7E951B
+          2E4F253161202B5F2A37632434592435561D2E4F1F3255233659415273B9CBE8
+          C1D2EC54647B23304A283450252D522D33564D556CC9D1E2EAF1FFF6FBFFFAFC
+          FFF8FAFFFDFEFFFFFFFFFFFFFCF2F1EDD5D5D5BFBEC2A8A6B2A39FB29591AA6A
+          65827D343080342E87332D89342C84352A7D352974362B74362B7A322B86342F
+          92342F90352E7C35276237224F4A2B605C3F6740317B3934822F2D7F30257240
+          227362376A7B485B6C416D54406B3A30602B21654430616F45708F5C8595667A
+          8456505C2C79905A89B37691BA817889644244276A65465258355A7B565D7A59
+          54503D4C462F53693F3F592B5E5F38434220556A44678A625B84575D84564D69
+          3B627C4E5A7E505F7D52646F4E3C391D483E26725C4A6B47376D403284534562
+          3123683729652D22762F2B73232476222773202870282E6A292B63292A622A29
+          662B29682B296A2A29682A2A632A2B632A2B672E2D6729296C2A2B6924276A27
+          2C602425825251F5D2CFFFEEEAFFF1EBEEE5E2FFFEFFFDFCFFF7F8FFF3F9FF95
+          9EB9252B542F38641C274D2C385A202F502B3B5F25335D1A2A551F2F591B2C53
+          7283A4D0E0FD99A9C6394666283359242F552734542E3A566C7890C9D4E8F3FC
+          FFF5FCFFFAFEFFF9FBFCFCFDFBFFFFFEFFFEFFF6F1F3DDD6DBBDB5BCAFA5B1AB
+          A1AD8932308D322E92312D91312B8C332984342979342A75352A77312A7D332D
+          8735307D322A6B34256447325D5F416865496B3B2F742D29762C286E35266E5A
+          3B7B825764784B4B542C7D654F6736286C2A1F703F296C6A4258683878805155
+          612F35551F29561D36662B5F89528AA87F4D5E3C2A310E7279566A7A5859694A
+          696F5864694E343E1A606B43747A575A563A62503F7F6B5A50452F6B674A5B59
+          36535C346B895E5F81588494724B53344B5335A7A68A402F15856F536E5D3C4D
+          3B1C4C2F1A5A2F206C31286F28257C2D307C2C31732B316A292B65292A652929
+          6929286C29286F29296D292A6A292B682A2A652524692827743233611F207330
+          33773437591A1C804A49E6BDBAFFE5DFFBEFE9E6E3DFF5F7F8FDFCFFFFF8FFF9
+          F6FFCFD5E83F49612933512E365B2B325D2029552D3A6626335F253462283765
+          1E2C5C323F6D9AA8D2CBD8FE6F7F9C2433531E2F561C2D541F2E4E2131487D8C
+          9CD6E3EBF4FEFFF8FEFFFAFAFFFDFAFFFEF6FFFFFCFFFFFDFFFBF1F1E7DCD8CC
+          C2BB8B31308D322E91302C91312B8C31288533287D322978332A7D352E7B312B
+          7F332D77312A6934276F4E3A726B507D6D568249407D332F7D37307441316E5B
+          4071704E5E5F3D5D55376C4D38653726844C3B683C256657366060387F7C5041
+          4D1D5E8851548A4F4D783F4D6E3B64784D505F3956603C7074515854375B583C
+          3D44294F5439453F2261533754452B5038267D55506A3D3A582F26472918483B
+          214D512E5A6D46556A437C83604C5332485836B2B9985D4B2C866A4BB3A37E56
+          482449361B785A476A392F6929256E23256F22266B23296E2D2F67282A672929
+          6A29286E28287329297129296F282B6D292A732D2D6B28256828277030306C29
+          2C6E292C752E316321227C4645DBB5B1FEEBE4F1E8E4EFEBEAF7F2F4FFFBFFFF
+          FBFFF8FAFFE7F0FA737A8E2F34532B3057282E5B232B5A232F5F212C5E1E2B5F
+          28346A24316514214F6E7EA3D8EAFFB0C2DF3F517622335A2E3E622A3A571C2D
+          42334153939DAEECF3FFF8FBFFFBFBFFFEFAFFFCF5FCFFFAFDFFFFFCFFFFF8FD
+          F3E982342E83322D86322C87322A8533288232277F32297D322A8436307D2E2B
+          81322F7F3531733229713E2E714C38744A377F39327829267631276D34256838
+          2661392650311C5D3E29673C296B412E8A6F5A745F494B351C4C3A1D5C4B2A5D
+          61374D794442753C4B6837646E40746E454B421C5B5D395C5A38563B216D543A
+          4E4C2E76725665453257261874392A61291E8457547A514F63302E532C235049
+          35464B30615F404039185B4F2D716E4876865D565B345F39196B34195A2B0F5F
+          3D2057462B9987705E3729672D27742C2C782C306C222866232669282A692929
+          6C292871292973292973292971272B6F292A722B2877322F5F1F1E6B2D2D6A2B
+          2D5E1B207931377B3437652525693634C9A6A2FFF6F0F7E8E5EEE2E2FFF1F4FF
+          F7FBFEFAFFFBFEFFF3F8FF9EA3B23C415A2C3255242A5730366B283268222C62
+          26346520305B20315814274A273A5B8B9DBCDEF1FF8596B12B3A5A2935572A35
+          5B262F542A33553B4360A5AFC1EBF3FFFAFEFFFAFCFDFFFFFFFFFCFDFBF3F4FF
+          FEFF7D332D7E332B80332A83322A82322782322782312A82302B8532307E2D2A
+          802E2D8033307A322B7232276F3726733829772F287C322C7C3B2D7539297A3A
+          2F7A3B33723630783F366E3C2A5A331D76644D62513C664335653C2D583A215D
+          54326B8857365C2843562B575830453A0E9A91666A734B4B4E2E61462C674930
+          4240213A3116613328732F2A6B231C83443C82585367413D7A45428059516C69
+          5A5D5F49472F175535186A502C756F46768E5E45562A5236146D372068301D5E
+          332066573DAC9E876E4A3A723B326D27277023266E24287732356A2A2A6A2A2A
+          6D2A296F2929712929722A2A70292C702A2B6A232075302D6E2E2D6526286C2C
+          317331366F292F662026742F325D1F1F6A3734BC9691FFE5E1FFEEEBF7E8E6F6
+          ECECFFFEFFFEFDFFFDFEFFF6F9FFC8CDDC50556E2C335A232C58252F5F2A3666
+          1B2B562737612F416626385D27385F1728494D5B72CAD7EDC7D3EF6E789A2830
+          58262F5A2731592C355A2B37535B6779B8C1CEF6FEFFF6FAFFF7FAFEFFFEFFFB
+          F7FC7F312A7F312A81322982312986312786312788302A882F2B862F2D822F2E
+          7C2C2D792E2C7B322E79342B7A36297F3D3274352D7E40367438287133237534
+          2C792F2F822A307D2D2E6B34258A634DB0927F6441337237356A2B276B3C2E60
+          452A504E25616C3E47542E6C774F646837AAB583577348495F3C4F492C4D4226
+          848E6A79755867332D7A36376C362F764A3D7551416944365B2C248561597E7B
+          6D4A42315C2A186D341B906E4A464618557C483761317379567B634F6539324B
+          22199688718F8268512D1B582015712725823336772B2F661F226B2B2B692B2B
+          6C2B2A6C2B2A6E2B2A6C2B2A6C2B2D6C2C2C73332E6725207734337431346523
+          2865252B64262C6D2D326825287632336E2D2C551C1AB48A85FFF6F0EFE5DEF4
+          F1ECE8E3E0FFFEFFFEFBFDFBFBFFF8FCFFE2E9FA687389232F4B243151213155
+          23345B1929531C2C5721315C1A29572B385E293049232A3E8087A0DFE7FFB5BE
+          DF4F5B7F1C294F26325A1B284E26355627334F636E84C9D4E2F4FDFFF8FFFFF6
+          FEFE81312A81312A8231298431298631298830298A2F2A882F2B832C2A883533
+          7F32307A302C7E362F79342B762F257136277C51427E5644763B2B7837297739
+          336D2D2C7B3431763B315F45275E502C5D4529572D1A783A347835326E362B7D
+          523D765F3F5C542F6065456C73505457295B633450663C3E532D666949545233
+          555C39746C4F63322A692B2B85574F522F217456456C4B3B502A1E4E34286666
+          564137256A32216E2E1671512E434216425E3098B68B8890726454446C3E3D65
+          3432573C284F39205C3B2869362C6F2A2772232678282D742A2E6C2A2B692B2B
+          6B2B2A6B2B2A6C2C2B6A2D2B6A2B2D6A2C2C6F2F2B702D2A6D2A296D282B6D2B
+          306E2E336B2E3265282C6B2A2C6925266D25257534335A25228E6863FDE7E1F7
+          EBE5FAF1EDE5DEDBFEF8F9FFFDFFFCF9FFFAFCFFECF4FF99A4B22E3C4F293950
+          22345325375C24345F1F2F5E24326326315D343C5A10152E262D48434C67A1AD
+          C9DEEBFF93A1C528355B24335A26325A2A365A293656313E58778598D4E1EFEF
+          FDFF80302980302981302981302984302A86302A86302A84302A82302B7F2E29
+          782C267830297C372E76352C75372D7046336E694A675F416D36277A342D6C35
+          305D3A2D7264486D774CA9D09282A464514A196D4D2971452E6B37276E322676
+          3F30623D277B684D6D694D5C593A604D2C523E1B52482644401D676644716F4D
+          897F617B654C7D54457443397143386F473B725749614C3D432C1D594D3B383E
+          27635F466637216E3B21746140453E1D5F513473614A5743325A362E5D212275
+          3132673326562E1B563A29573329672A2876292D79272C772A2E6D2B2C682C2C
+          6A2D2B6A2D2B662D2B682D2B6C2B2D6F2B2C6F2B2C6F2C2B6F2B2C6F2B2C6D2A
+          2D6C2B2D6C2B2D6C2B2D6727276B292A6826276F2F2F6A2E2E582221936260FE
+          D9D5FFF0EAF4ECE5EEE5E2FFF6F6FFFCFFFFFAFFFCFAFFFAFCFFC1CAD4525F6F
+          1C2E45273B5A1C2F551E305F2634681F2E5F202F561E2D4E1824462330502735
+          52556380CDD8F6D3DEFE5C67872D3759202C502F3A60222F5527345A303D636F
+          7FA480302980302981302981302984302A84302A84302A82312A802F2881332C
+          7F342C7B332B753229713027793C327A564468734D656945733C2D7F35317038
+          335F3C2E665A384C5F2C4E8A4473B066899E60807F4D544D266851376531246A
+          2F255B31246047375A533F5D563D4C2D16734D3558371D614C304E4C2D555537
+          66573D6245305C3324643428632F285E352C6754474A3D2D5B4736685A446F74
+          596B6B4D56351BAB866A6C5C3F514025532E1A603728563A2F5B3731702E2F6C
+          24245E271A855B485F4233543127662D2B6C2528782B2F772A2E6D2B2C6A2C2C
+          6A2D2B682D2B662D2B682C2C6C2B2D6F2A2D6F2B2C6F2B2C6F2B2C6F2B2C6D2B
+          2C6D2B2C6D2B2C6D2B2C7131317434346A2A2A6A2A2A6C2E2E612323692B2B87
+          5452ECCFCAF4E4DEFFF7F4E9DCDAF6EAEAFFFEFFFFFEFFF9FAFEFAFEFFD5DEE7
+          6C798926344B3140611F2F591C2B5C1A295A1F305B0C1D4419294E2230542734
+          54192744384361909AB8EAF4FFB5C0E04551752E3860212C58222F5D19275721
+          2F607E302A7E302A802F2A82302B84302B84302B84302B82302B802E2983352F
+          8236307C342D763029702F277A3B337D54455C5C3E5D5A3B7138297F312A7932
+          2E76332A81412F5C401E679057458A474A82416DA064679665889C795C392B6E
+          3732643C375B463E6B6E5F5050405633266E3D2F6938286C4C396F6F57515A40
+          4A3F2B593A2B612C2271352F662B29653B346E645258513D5434216647326F6B
+          4F42422456462951391D5C452B5C3D26592F1C5430205C4D3D705A4F773E3C6D
+          2D28633B297B5C455D39295E312668302B7131316D282B722B2E6F2B2C6D2B2C
+          6C2C2B6A2D2B6A2C2C6A2C2C6A2B2D6C2B2D6D2B2C6F2B2C6F2B2C6F2B2C6D2B
+          2C6D2B2C6D2B2C6D2B2C6626266D2D2D6A2A2A6727276A2C2C682A2A6224245D
+          2524784C4BE1BFBFFFE7E5FFF5F3EEE9E8F2F3F1F2F7F6F5FBFAF8FCFDFAFEFF
+          F9FBFF9B9FB22A2E4A323B5D2F3B652535602D3D67101F460B1B40303E622834
+          56212E4E303B5B1F2A4A434E6EB1BBDDCCD8FC3F4A7027335D1E295528356327
+          34627E302A7F312B81302B81302B82302B84302B84302B83312C802F2A80322C
+          7C302A7B312B7C362F77332C74332B6F3D31543D275C422A6F33238031287F2E
+          297D2B268C342D6F37246573493D70374A814242793A7CAD7985967465423564
+          2B2A70403E775D5661685B5E64536346386B3B2F6130225C3B286A6D5450593F
+          4F412E5533235B2219692B2362332B6B4E4078725BABA78B50351B81634A928A
+          6D5B573A88775C7F664C4F301754321B623C2A5337265B5342837366602E2863
+          2E244B341EC9B89D7D55436531256C362F5F26246D2F2F692929712B2C712B2B
+          6D2C2B6D2C2B6D2B2C6C2C2C682C2D682C2D6D2B2C6F2B2C6F2B2C6F2B2C6D2B
+          2C6D2B2C6D2B2C6D2B2C6C2C2C6B2B2B6E2E2E6E2E2E682A2A6729296B2D2D6C
+          30305A2124714042DBB6B8F7E2E1F4ECECDFE0DEE7EEE9F7FEF9FDFFFEF9F9F9
+          FFFDFFFFFBFFCBCADE474A66293253202C501F2C521322491B284E2431572331
+          55303C601D294B2C385A303C601C284C3C486C1F2C5218244C323E6835416B2B
+          37617D312B7D312B7F312B81302B81302B83312C83312C83312C82312C80322C
+          7B2F297B312B8038317B352E722E276E30266E34287337277A34238436298433
+          2B802E2981313071362D4D3C226A72496575404150176262347860426F382F80
+          3A3A71312C643D2F3F4631445338766A5265462F67432B785F457577594F5435
+          594429633A23723C2B63352359463168634A50482A59502F554C2B67603FBAB7
+          98403519674C32663F2957301A53321E4F3723574835655E4B90806F5F35295D
+          39294D492C827D5E653B28672D2165312A693633652F2E6C3030732A2C752B2B
+          712B2B6F2C2B712B2C6F2B2C682C2D662C2D6B2B2B6C2A2B6C2A2B6C2A2B6C2A
+          2B6C2A2B6C2A2B6C2A2B7131316828286A2A2A7030306D2D2D6B2B2B6B2B2B67
+          27276B282D692C305F3033C2A2A3F6E7E5F6F1EEE4E6E0E8ECE6F1F4EBFFFFFB
+          FFFDFEFFF8FFFFFBFFF0EEFF6A6E872E3654303C60222E5616224A1E2A521B28
+          4E27375C24345927375C1C2C512E3E631D2D522431572D39612D375F2C365E2E
+          38607D312B7D312B7F312B7F312B82312C82312C83312C83312C81302B85342F
+          81332D7D312B7E342E7B332C78322B7C372E7C352B7B38297439267736278033
+          2A83322F7B31316E312D613829725D3E5451244544115943196B45276735296F
+          39327243355139216877575F78569CA1814A4322413414605634888A66787352
+          795D3F5831155E351C603E26554A2F4A4728675E3959522B5961395C633E6760
+          3F4A351A59321C5C311E5E3925886D59897865938572614D3B4E34234D2C1C62
+          4D38434C2BA7AA8A7E57416831226433295B2B25673431682D2B752B2B762A2B
+          732C29712C29732A2C6F2B2C682B2F662C2D6B2A2C6C2A2B6C2A2B6C2A2B6C2A
+          2B6C2A2B6C2A2B6C2A2B6626266727276A2A2A6929296929296E2E2E6F2F2F68
+          262770292C68252A5F282B582E2FC2A3A4FEEDEAF6EEE7EDEAE2EEECE2F5F2EA
+          FFFAF7FFFAFCFFFCFFFBF8FFF6F4FFAAAECB212A4F24305A030F39212F593341
+          6B1D2D5723355E1D2F58283A63192B541C2C56202F562F3B631F2A502E395F51
+          5C827B312B7B312B7D312B7E322C80322C80322C82312C82312C81302B863530
+          82342E7C302A7E322C7C322C7C322C7D3A31733B2A7A4D3874553E66412D722F
+          267F322F7734336E312D6A352862402874754B515A2864562C5A432376614C4F
+          4430686F4E4C62385071455E8155647F543B5127485C32738158CFD0A9685938
+          4325087555389680647260434C33194F3A1B50401B7172487F92674D5B325341
+          2259331B6333217D52415C412D61503D5D4E3B7F65547A4C3B64362568503C5D
+          5A3E5F6D49646A476B50366438275C302365362E67302D6C2C2B752B2B762B29
+          732C29712C29712B2C6F2B2C682B2F682C2D6B2A2C6C2A2B6C2A2B6C2A2B6C2A
+          2B6C2A2B6C2A2B6C2A2B6A2A2A7131317131316929296525256828286B2B2B6B
+          292A6B27286F2C2F6526285E2526552426AD8785FFE5E1FDEAE3FEF3EBEFE9E2
+          F2F1EDFBFDFEF0F2FAFAFAFFF4F2FFF4F6FFC9D2F8313C68111E4A1B2B561929
+          571F325F1C315E243966172C59253A6725386323345F1B29532B375F1A264E74
+          80A87B312B7B312B7E322C7E322C80322C80322C82312C82312C82312C83322D
+          7D2F297C2E2880342E80342E792F297032276E4A32837154897E636C5440672E
+          2576312E7139346B3A307549385D42286B6C4590976C50451F817553A2A487B4
+          C1A171865F5D784C4F6A3E58714562744B34441B5B6D463E452265573A55361D
+          6235208C614E866B567158445A32205F382287744F5D5E328FA87C61754B533F
+          205D331C602D1D8354467B5A4A4D372547352451352469322368312273584365
+          6144646B48656C47685A3E5A3B2657302263322A6D332E6F2C2B732C29752B29
+          732C296F2C296F2B2C6D2B2C6A2A2F6A2B2D6B2A2C6C2A2B6C2A2B6C2A2B6C2A
+          2B6C2A2B6C2A2B6C2A2B6A2A2A6929296626266A2A2A7030306C2C2C6727276B
+          292A6827266C2A2B6D2B2C6A292B6A2B2D5F29299B6E6BFFE2DEFDE7E1F2E7E3
+          F1EDECEBEEF2EFF4FDF4FBFFEEF2FFC2C7E65A628A23305C212E5C1A2A582838
+          67203463182C5B1A315F1F3664152C5A192E5B1F325F2536611E2E582836601C
+          2A547C322C7C322C7E322C7E322C7E322C7E322C80322C80322C80322C80322C
+          7F312B7F312B7D312B7D312B7D312B6B37276057366D75506E6A515D49386736
+          2E68312A63392C6A4F3B837559504B2A6867455A583573664667603F4A5C3778
+          8B645A593349401B42411B5B5734605033533C22523A226749365E3526632C23
+          722E2977322F753C3A5A2423672E2D6F3E348B71536162385B74485C714A887A
+          5D6E49336534266830256A322763372A513A2B523E2D64392A6130207A503D55
+          3A204B42219494708A866956462F512C1E662F2874312E783030742D2A712C29
+          712C296D2D296A2C2C6A2C2C6C2A2F6B2A2C6B2A2C6B2B2B6A2A2A6A2A2A6A2A
+          2A6A2A2A6A2A2A6A2A2A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B
+          2A296E2E2A6626226A2726742E2F702A2B652324723636865553FFDFDCF9E4E3
+          F4E9ECEEEDF6E2E9F8A0AEC144526E1E2D4E1F2B5325325E2936621E2F5A1F2F
+          5D1D325F182C5B213866162E5C2037651B32601C315E253865182B562C3D681D
+          2E597C322C7C322C7E322C7E322C7E322C7E322C80322C80322C80322C80322C
+          7F312B7F312B7D312B7D312B7D312B6B37275F553362653E65553E613E316A33
+          2E65312A5F44306E63476A6A464C4A275C4A2D65472E5A361E4D391A5E724865
+          7C4F4D421C614E2957542E62603E6B543A4A2713683D2C734337622E276B2E2C
+          78292C7521267A2C336C262D6E2E34653531755E4456532D4F5E38818A699E8A
+          71633D2B54271A71382F6F2B246E332A89695C6E5446633A2B65342463302064
+          3924563E205B5231838567463E27603B2D70342E742A2A782C2D722C2C6E2E2A
+          6E2E2A6D2E2A692D2D682C2C6C2A2F6D2A2D6B2A2C6B2B2B6B2B2B6A2A2A6A2A
+          2A6A2A2A6A2A2A6A2A2A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B
+          2A296C2C286C2A25702A2A742C2C6F26286A21236C28297034357F4D4FFFDEE2
+          FFE8F0EEE4F0DBDFF15B6980263B5A273D60303F66212D55202E582F3D672939
+          631D2F581C2F5A192F592C426C152A57162B58273C69172C591D325F1A2F5C1C
+          315E7E312E7E312E7E312E7E312E80312E80312E80312E80312E7E312E7E312E
+          7E312E7D302D7D302D7D302D7D302D723527623E20604122683424702E297A33
+          306D382E5D51397076536966405F4926713C27732D1C803323703E2751572E4A
+          5E2F3D370C6A663D667F53849E769E9B7C5C442C6F4735592C1F5C312867302D
+          78292C781E2480252E76262D682D315A342F61513A847F60605A3D4F3E245832
+          2065382B6840345B2C24712F2A6C2A2590615973493D65322870382D63281E6D
+          3A2A613C2255402497967A5B553E673F336C2D2975292A7C2E2F712E2D6C2F2D
+          6E2F2B6B2E2A662E2D672E2D6E2B30702B2E6D2A2D6C2C2C6B2B2B6B2B2B6B2B
+          2B6A2A2A6A2A2A6A2A2A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6D
+          2A296C2724712D28702D2C6C29286B27286D292A6D282B67242769292E733D44
+          EDC3CEF5DBEBF7F2FF626D882B4766334F711B2B4F2E3A5C293559212D512A38
+          5C57678B6373971F32551A2C5125385E22345D233661192E5B263B681F33621A
+          315F81322F7F322F81322F81322F81322F81322F81322F81322F7E312E7E312E
+          7E312E7E312E7E312E7D302D7D302D7A3329733A24723822782D24802D2B8630
+          307231295541285C57365D49265E381A753A266C2517853A2C6C372257563064
+          734773704469683C4F623790A077BAAF9165462F663B2A6A3D30613429622E27
+          742C2C792B2C7C3031702D2C642D2A643B32553D2B66543D533B275D3C2C6B3B
+          2F5E2B21582A22622E28732C29712A276B342F65342C662F286E322C76372F6D
+          33276438217E6348958B7376675462342C6928277F3235762B2D6F2D2E6A2F2D
+          6C2F2D692E2C662E2D672E2D6E2B2E702B2E6D2D2D6C2C2C6C2C2C6B2B2B6B2B
+          2B6A2A2A6A2A2A6A2A2A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6D
+          2A296F2825712C296E2B2A6727276828286E2E2E722D306F282B71292F6B2831
+          6F3A44CEA9B9F6E5FA5C6079384D6C27415F2C3A57323A572E3653636C87B3BC
+          D7EDF8FFEBF6FF939FBB2F3A582A375728385C1B2C5321345F162B5819305E1F
+          356583322F81322F83322F81322F81322F81322F7F322F7F322F7E312E7E312E
+          7C322E7C322E7C322E7C322E7D302D7D312B7F352981352982312A872E2A902F
+          2C832F296434225E3A22703D235F2D165E3A2271523B8A6A53543D2370715152
+          5A35686840766C445A47225E3F207E4C357C4431713F2D602F21683428632D22
+          68302568362A6744366E4C3C6C382B70392C6E41346C44385A382B4B241B6130
+          286A322D6E312D7734337325267B3131632C2966383166322C672A267C353271
+          2D2665352387654D7557446D4A3C6430297232317D37386B27286E2E2E6A2F2D
+          6A2F2D692E2C672E2D692D2D6D2C2E6E2B2E6E2E2E6B2D2D6B2D2D6A2C2C6B2B
+          2B6B2B2B6A2A2A6A2A2A6B292A6B292A6B292A6B292A6D292A6D292A6D292A6D
+          292A712B2B6F2B2C6C2A2B67282A6627296726286C2829702A2B6E2226672127
+          672B33673743C2A7B77A6E844A4F6835405B262E4573788DB8BCCFF6FAFFF6FB
+          FFECF1FFF6FBFFF6FAFFC5CCDF444C63323D591D2C4D1F30572A3D68182C5B1A
+          30608433308433308433308433308233308233308033308033307F322F7F322F
+          7C322E7C322E7C322E7C322E7E312E7E312E7A2D2A7E302A84302B882D288F2F
+          298B362E773A2C6B3726793F2C6839245F4C316A64479F9479675A405E4E3742
+          31175A4A2D5D45275F351E6B301D782E22762B2263261C6B32296A2F26692E25
+          632F235831225E4B367F67537545336B30217E413D6B32306734315F2C296B34
+          316D302E6B2827772D2D7F2C2E7A2E2F6A333064353160302C703434752A2C79
+          322E6739287049336B3A2C612A216F35307335356E2D2F7031336D2F2F6B2F2F
+          6B302E6A2F2D6A2E2E6C2E2E6E2D2F6E2D2F6C2E2E6C2E2E6B2D2D6B2D2D6C2C
+          2C6B2B2B6A2A2A6A2A2A6B292A6B292A6B292A6B292A6D292A6D292A6D292A6D
+          292A6B282B6926296B2A2C6C2D2F6C2B2D6825286C2627732B2B752D2D712D2E
+          5D20245A272F522C385F455766596F787388CDCDDDE5E7F2E2E2EEEBEAF3FCFA
+          FFFEFCFFFFFDFFFAFAFFFBFCFFEDF0FF666D812F3A562735591D2D572134611A
+          315F8532308532308433308433308233308233308033308033307D332F7D332F
+          7D332F7C322E7C322E7C322E7C322E7B312F7734377A343585332E8631297E2F
+          247A342771342A6331255B312471534073684C535031766E51654D375922197E
+          403A61332865382D713D376B2B2A7A292C7F292F7B2F337631346C292C6D2D2D
+          6B2E2C5D2C24603E318062516B402F632D226C2E2E6D2A2F6C262C7732356E29
+          2C732F307935367B323483333475292A6B2D2D602D2B5D2C2A753C3D70262A79
+          3635653A2B663B287B382F7329257635346A3031632A2B72393A6C30306E3030
+          6A312F6C312F70302F7030306D2E306B2F306D2F2F6D2F2F6C2E2E6B2D2D6C2C
+          2C6B2B2B6B2B2B6A2A2A6B292A6B292A6B292A6B292A6D292A6D292A6D292A6B
+          282B64272B64272B68282D6E2B30712C2F72292B722A2A742D2A6D2B266E2F2B
+          652E2B59272953272E4C2430987284FBE0F0EDE4EEE4E5E9EAE6EBF3EEEFF7F2
+          F1FDF6F3FFFFFCFFFEFEFFFEFFF8F7FFF8FBFF9DA3BA222D4D23335821325D1D
+          325F8532308532308433308433308233308233308033308033307D332F7D332F
+          7D332F7D332F7C322E7C322E7C322E7731316C2C326B292E7F2E2B8434297A33
+          2574362672372E67362E644235907C6A807A5D6866445C56395D402B752B297F
+          2B2F7030305C2625682F326A282D88323E7D2330832F3B722631702A316D2B30
+          723133662F2C5C332A6D4A3C5A312267342A6E2D2F7A313B7827309F4F567A30
+          366F282B753132762D2F77292A7A2E2F7030306C3635612F2F6B35356D252B75
+          32315C3225673B2A7D2F288732307531326A30316631346731316E3233703232
+          6C33316B32307231307231306D31326B31326D2F2F6D2F2F6C2E2E6B2D2D6C2C
+          2C6B2B2B6B2B2B6A2A2A6B292A6B292A6B292A6B292A6D292A6D292A6D292A6A
+          292B662B2F642A2F67272D68252A6F252B74292B7329296F28246B2B265F251F
+          652E2962312F5B2B31592A335423338C6876F7E9EFE6E4E4F6F1F2F5EEEBEBE2
+          DEFEF4EDFFFFF8FFFCF5FFFCFCFFFDFFFAFAFFF4FAFFBDC7E53F4D7120315C1E
+          315E}
+        Material.Texture.Disabled = False
+        Direction.Coordinates = {2EBDBBB398DEDD1BFFFF7FBF00000000}
+        Position.Coordinates = {00000000000000000000003F0000803F}
+        Scale.Coordinates = {AE47813FAE47813FAE47813F00000000}
+        TurnAngle = 180.000000000000000000
+        Up.Coordinates = {010080270000803F0000000000000000}
+        Height = 1.000000000000000000
+        Width = 1.000000000000000000
+      end
+      object top: TGLPlane
+        Material.Texture.Image.Picture.Data = {
+          07544269746D617036C00000424D36C000000000000036000000280000008000
+          000080000000010018000000000000C000000000000000000000000000000000
+          0000517E464868377074506C6A4853543293A478799C635C87464F71344E4E1E
+          7F3F27983D36852E32863940803D4275343681373B84373A85393A85393A863A
+          3B863A3B863A3B863A3B85393A863A3B863B39863B39863B39863B39863B3986
+          3B39853B3B853B3B853B3B853B3B863A3B863A3B863A3B863A3B8B3D3E8B3D3E
+          8D3D3E8D3D3E8E3E3F8F3F409040419040419441409441409542419441409340
+          3F93403F9441409542419643429744439845449946459A47469B48479C49489C
+          49489F4649A0474AA1484BA2494CA24A4AA34B4BA54B4AA54B4AA64A49A64A49
+          A64B47A64B47A74A47A74A47A84C47A84C47AC4B47AC4B47AC4B47AC4B47AC4B
+          47AB4A46AD4A46AC4945AE4A46AF4B47AF4B47AF4B47B04946B04946AF4845AE
+          4843B34844B24841B24841B24841B24841B24841B24841B34942B34942B34942
+          B34942B34942B44A43B44A43B44A43B44A43B44941B44941B44941B44941B449
+          41B44941B44942B44942B34841B34841B34743B34743B34743B24642B24543B2
+          454380976A97A87D545533474223594E2E75724C5568357090577898615F6437
+          77442A7E2E239646457C2F3277313784414481373B84373A85393A85393A863A
+          3B863A3B863A3B863A3B85393A85393A853A38863B39863B39863B39863B3986
+          3B39853B3B853B3B853B3B853B3B863A3B863A3B863A3B863A3B8B3D3E8B3D3E
+          8D3D3E8D3D3E8E3E3F8F3F409040419040419341409441409542419441409340
+          3F93403F9441409643429643429744439845449946459A47469B48479C49489C
+          49489F4649A0474AA1484BA2494CA24A4AA24A4AA44A49A44A49A74B4AA64A49
+          A64B47A64B47A74A47A84B48A94D48A94D48AD4C48AD4C48AD4C48AD4C48AD4C
+          48AD4C48AE4B47AE4B47AF4B47AF4B47B04C48AF4B47B14A47B04946B04946AF
+          4944B34942B34942B24841B24841B24841B24841B34942B34942B24841B24841
+          B24841B24841B34942B34942B34942B34942B44941B44941B44941B44941B449
+          41B44941B44942B44942B34841B34841B34743B34743B34743B34743B24543B2
+          45435B462B8D7F63969275584D316D442D643C205847267D825B91AE818C9E75
+          5B432576412D7F3A30843A36863C40762F3282363A84373A85393A85393A863A
+          3B863A3B863A3B85393A85393A85393A853A38863B39873C3A873C3A873C3A88
+          3D3B863C3C863C3C863C3C863C3C873B3C873B3C873B3C873B3C8B3D3E8B3D3E
+          8D3D3E8D3D3E8E3E3F8F3F409040419040419341409341409442419341409441
+          409441409542419643429744439744439845449946459A47469B48479B48479C
+          4948A0474AA0474AA14949A14949A44A4AA44A4AA34948A34948A74B4AA74B4A
+          A74C48A74C48A84B48A94C49A94D48AA4E49AF4F49AF4F49AF4F49AF4F49B14F
+          49B14F49B04E48B04E48B14D48B14D48B14D48B14D48B24C47B24C47B14B46B1
+          4B46B44A43B44A43B34942B34942B34942B34942B44A43B44A43B44A43B44A43
+          B44A43B34942B34942B34942B24841B24841B44941B44941B44941B44941B449
+          41B44941B44942B44942B44942B44942B44844B34743B34743B34743B34743B3
+          4743703B316B413490776362432E81463385443572473454422B81896B566545
+          6D6C4A775F4378402D82393180363685393D82373984373A84383985393A8539
+          3A85393A85393A85393A85393A85393A863B39863B39873C3A883D3B883D3B89
+          3E3C863C3C863C3C863C3C863C3C873B3C873B3C873B3C873B3C8B3D3E8B3D3E
+          8D3D3E8D3D3E8E3E3F8F3F409040419040419341409341409442419442419441
+          409441409643429744439744439744439845449946459A47469B48479B48479E
+          4848A0474AA1484BA14949A14949A34949A34949A34948A24847A74B4AA64A49
+          A64B47A74C48A84B48A94C49AA4E49AA4E49B0504AB0504AB0504AB0504AB250
+          4AB2504AB14F49B14F49B24E49B24E49B24E49B24E49B44E49B34D48B24C47B2
+          4C47B54B44B54B44B44A43B44A43B44A43B44A43B54B44B54B44B74D46B74D46
+          B64C45B54B44B54B44B44A43B44A43B34942B54A42B54A42B54A42B54A42B54A
+          42B54A42B54A43B54A43B44942B44942B44844B44844B44844B34743B34743B3
+          47437A333683424172352B804335813A307A352C7639356C3F3B593F3377725D
+          8293718C906C6A3E26813C2D853B3985393D823739823739833939843A3A843A
+          3A843A3A843A3A843A3A843A3A853B3B853B39863C3A873D3B873D3B883E3C88
+          3E3C873D3D873D3D873D3D873D3D883C3D883C3D883C3D883C3D8B3D3E8B3D3E
+          8D3D3E8D3D3E8E3E3F8F3F409040419040419341409341409442419442419341
+          409442419643429744439744439845449845449946459C46469C46469D47479D
+          4747A14949A14949A14949A24A4AA44A4AA34949A34948A34948A64B47A64B47
+          A74A47A84B48A84C47A94D48AA4E49AB4F4AB1514BB15249B15249B15249B351
+          49B35149B25048B25048B35048B35048B55048B55048B55048B44F47B44F47B3
+          4E46B64C45B64C45B54B44B54B44B54B44B54B44B64C45B64C45B84E47B84E47
+          B74D46B64C45B54B44B54B44B44A43B44A43B54A42B54A42B54A42B54A42B54A
+          43B54A43B54A43B54A43B54A43B54A43B54945B44844B44844B44844B44844B4
+          48447A2C337F3235762E27803830863C36883D3B80363A79393E693937857263
+          B5C5A64D57336D462A8946377F3834782F31823739823739833939833939843A
+          3A843A3A843A3A843A3A853B3B863C3C863C3A863C3A873D3B883E3C883E3C88
+          3E3C873D3D873D3D873D3D873D3D883C3D883C3D883C3D883C3D8B3D3E8B3D3E
+          8D3D3E8D3D3E8E3E3F8F3F4090404190404192403F9341409442419442419442
+          419442419744439845449845449845449845449946459C46469C46469D47479D
+          4747A14949A14949A24A4AA24A4AA44A4AA44A4AA44A49A44A49A74C48A74C48
+          A84B48A84B48A94D48AA4E49AB4F4AAE504AB2524CB2534AB2534AB2534AB452
+          4AB4524AB35149B35149B45149B45149B65149B65149B65149B55048B44F47B6
+          4E47B74D46B74D46B64C45B64C45B64C45B64C45B74D46B74D46B74D46B74D46
+          B74D46B64C45B54B44B44A43B44A43B34942B54A43B54A42B54A42B54A42B54A
+          43B54A43B54A43B54A43B54A43B54A43B54945B54945B54945B44844B44844B4
+          48448A3E3F752E2B8C4E466F312979302C8133348A373F7B303871383974554C
+          6F6B535D55386F432C7B3A2B72332B7F3C397F3638823739833939833939843A
+          3A843A3A843A3A833939873D3D873D3D873D3B873D3B873D3B883E3C883E3C88
+          3E3C883E3C883E3C883E3C883E3C893E3C893E3C893E3C893E3C8B3E3C8B3E3C
+          8D3D3C8D3D3C8E3E3D8F3F3E90403F90403F90403F9141409442419442419442
+          419442419744439946459845449845449B45459B45459C46469C46469C46469D
+          4747A14949A14949A44A4AA54B4BA54B4AA54B4AA74B4AA74B4AA84D49A84D49
+          A94D48AA4E49AD4F4AAE504BAF514CB0524CB4544EB4554CB6544CB6544CB654
+          4CB6544CB6534BB6534BB45149B45149B65149B65149B85049B74F48B64E47B6
+          4E47B84D49B74C48B74C48B74C48B74C48B74C48B74C48B84D49B74C48B74C48
+          B74C48B64B47B64B47B54A46B54A46B54B44B54A43B54A43B54A43B54A43B54A
+          43B54A43B54A43B54A43B64B44B64B44B54A43B54A43B54A43B54A43B54A43B5
+          4A437443356F3E306433257C433A813E3B782B2E8C373F83333A743636663A33
+          7259498A6E5D7642327F3F3474362C7C3C377F3737823739823838833939843A
+          3A843A3A833939833939873D3D873D3D873D3B873D3B873D3B873D3B873D3B88
+          3E3C883E3C883E3C883E3C883E3C893E3C893E3C893E3C893E3C8B3E3C8B3E3C
+          8D3D3C8D3D3C8E3E3D8F3F3E90403F90403F90403F9141409442419442419442
+          419543429744439946459845449845449B45459B45459B45459C46469C46469C
+          4646A14949A14949A44A4AA54B4BA64C4BA64C4BA84C4BA84C4BA94E4AAA4F4B
+          AB4F4AAB4F4AAE504BB0524DB1534EB1534DB5564DB5564DB7554DB8564EB755
+          4DB7554DB7544CB7544CB45149B45149B65149B65149B85049B74F48B64E47B6
+          4E47B84D49B84D49B74C48B74C48B74C48B74C48B84D49B84D49B94E4AB94E4A
+          B84D49B84D49B74C48B74C48B74C48B74C48B54A43B54A43B54A43B54A43B54A
+          43B54A43B54A43B54A43B64B44B64B44B64B44B54A43B54A43B54A43B54A43B5
+          4A4372724E5F5434744F3B743D346629278642438736397F3132783834733C35
+          703E38733F397B3F397C3D357C3B327D39327F37378237398238388339398339
+          39843A3A843A3A843A3A863C3C873D3D883E3C893F3D8A403E8A403E8A403E89
+          3F3D8A403E8A403E8A403E893F3D8A3F3D8A3F3D893E3C893E3C8B3E3C8C3F3D
+          8F3F3E8F3F3E8E3E3D8E3E3D90403F9141409242419343429343429444439745
+          449745449846459846459946459A47469C46469D47479F4747A04848A04848A1
+          4949A44A4AA34949A34949A34949A34948A54B4AA94E4AAA4F4BAC4F4CAC4F4C
+          AC504BAD514CB0524DB1534EB2544EB3554FB6574EB8564EB7554DB7554DB755
+          4DB7554DB8554DB8554DB7524AB7524AB65149B44F47B64E47B64E47B64E47B6
+          4E47B74C48B74C48B74C48B74C48B74C48B74C48B74C48B74C48B94E4AB94E4A
+          B84D49B84D49B74C48B74C48B84D49B84D49B84D46B84D46B84D46B84D46B84D
+          46B74C45B74C45B74C45B64B44B64B44B64B44B64B44B64B44B64B44B64B44B6
+          4B4476A46F76895E714F38894B437239377A3C3C7B312F893D377D37307B3934
+          7A39387A393B793B3B7B3A398139328137318137378237398238388339398339
+          39843A3A843A3A843A3A863C3C873D3D883E3C893F3D8A403E8A403E893F3D89
+          3F3D8A403E8A403E8A403E893F3D8A3F3D8A3F3D893E3C893E3C8C3F3D8D403E
+          8F3F3E8F3F3E8E3E3D8F3F3E90403F9141409242419343429343429444439745
+          449846459846459846459A47469A47469C46469D47479F4747A04848A14949A1
+          4949A44A4AA34949A34949A44A4AA54B4AA64C4BA94E4AAA4F4BAC4F4CAC4F4C
+          AD514CAE524DB1534EB2544FB3554FB3554FB9574FB9574FB8564EB8564EB755
+          4DB6544CB7544CB6534BB8534BB7524AB65149B55048B74F48B74F48B74F48B7
+          4F48B94E4AB94E4AB94E4AB94E4AB94E4AB94E4AB94E4AB94E4AB94E4AB94E4A
+          B84D49B84D49B74C48B84D49B84D49B84D49B84D46B84D46B84D46B84D46B84D
+          46B74C45B74C45B74C45B64B44B64B44B64B44B64B44B64B44B64B44B64B44B6
+          4B444FA36279A4716B422B873B3573363472393773322A7E372D80382E813731
+          7C363779363B74363C7936398536338836318236377F36388038388038388139
+          39823A3A823A3A823A3A843C3C853D3D863F3C87403D87403D87403D87403D87
+          403D8A403E8A403E893F3D893F3D8A3F3D8A3F3D8A3F3D8A3F3D8C3F3D8D403E
+          90403F8F3F3E8F3F3E8F3F3E9141409242419144429144429343429444439545
+          449646459846459947469A47469A47469D47479D4747A04848A04848A14949A1
+          4949A34948A44A49A44A49A54B4AA84C4BA94D4CAA4F4BAA4F4BAC504BAD514C
+          B1534EB35550B45650B45650B45650B45650BA5852BA5852B95751B85650B854
+          4FB7534EB6524DB6524DB9534EB8524DBA524DB9514CB8504BB8504BB8504BB8
+          504BBA4F4BBA4F4BBA4F4BBA4F4BBA4F4BBA4F4BBA4F4BBA4F4BB94E4AB94E4A
+          B84D49B84D49B84D49B84D49B84D49B84D49B84C48B84C48B84C48B84C48B84C
+          48B84C48B84D46B74C45B74C45B64B44B64B44B64B44B64B43B64B43B64B43B6
+          4B43338144678F5F673E2881362E7E39367C3C387C3B3378362B7D382E7F3730
+          8033367D333974343A78353A8535348936348236377F36387F37378038388139
+          39813939823A3A823A3A843C3C853D3D853E3B863F3C863F3C87403D87403D87
+          403D893F3D893F3D893F3D893F3D8A3F3D8A3F3D8A3F3D8A3F3D8D403E8E413F
+          90403F90403F8F3F3E90403F9141409242419144429144429444439444439545
+          449646459947469947469B48479B48479D47479E4848A04848A14949A14949A2
+          4A4AA34948A44A49A54B4AA74D4CAA4E4DAB4F4EAB504CAB504CAD514CAF534E
+          B35550B55752B65852B65852B65852B75751BA5852BA5852B95652B85650B854
+          50B7534EB7534FB6524DBA5350B9534EBB524FBA524DBA514EB9514CB9504DB9
+          514CBA4F4BBA4F4BBA4F4BBA4F4BBA4F4BBA4F4BBA4F4BBA4F4BBA4F4BB94E4A
+          B94E4AB84D49B84D49B84D49B84D49B84D49B94D49B94D49B94D49B84C48B84C
+          48B84C48B84D46B84D46B74C45B74C45B74C45B74C45B64B43B64B43B64B43B6
+          4B43466439505A365D3E297B3D33913E3D872E317E3531783A34733A31773933
+          8434358632367934377835388235388635388136387F36387F37378038388038
+          38813939813939823A3A843C3C843C3C853E3B853E3B863F3C87403D87403D87
+          403D89403C89403C89403C89403C8A403C8A403C8A403C8A403C8D403D8E413E
+          90413E90413E8F403D90413E91423F9243409144429144429245439346449646
+          459646459947469947469B48479B48479E4848A04848A14949A24A4AA44A4AA4
+          4A4AA44A49A54B4AA84C4BAA4E4DAB504CAC514DAD504DAE514EB0544FB15550
+          B55752B65853B75953B75953B85852B85852B95652B95652B95452B95551B954
+          52B95551BA5351BA5350BA5351BA5350BC5251BB524FBB5150BA514EBB4F4EBB
+          504DBA4F4CBA4F4CBA4F4CBA4F4CBA4F4CBA4F4CBA4F4CBA4F4CBA4F4CB94E4B
+          B94E4BB84D4AB84D4AB84D4AB94E4BB94E4BB94D49B94D49B94D49B94D49B84C
+          48B84C48B84D46B84D46B84D46B84D46B74C44B74C44B64B43B64B43B64B43B5
+          4A4257462C513923683F3073352B8F33328A2C307D37376F3634713836783834
+          8735348734337C36367836377D353B7F353B7E34387F36387F37378038388038
+          38813939813939813939843C3C843C3C843D3A853E3B853E3B863F3C87403D88
+          413E89403C89403C89403C89403C8A403C8A403C8B413D8B413D8C3F3C8D403D
+          90413E8F403D8F403D8F403D91423F9243409144429245439245439346449646
+          459747469947469947469C49489E4848A04848A14949A14949A24A4AA44A4AA5
+          4B4BA54B4AA64C4BA94D4CAA4E4DAC514DAD524EAF524FB05350B25651B35752
+          B65853B75954B75953B75953B85852B85852B95553B95553B95452B95452B954
+          52B95452BB5452BB5452BA5351BA5351BC5251BC5251BB5150BB5150BC504FBB
+          4F4EB94E4BB94E4BB94E4BB94E4BB94E4BB94E4BB94E4BB94E4BBA4F4CBA4F4C
+          B94E4BB94E4BB84D4AB94E4BB94E4BB94E4BB94D49B94D49B94D49B94D49B94D
+          49B84C48B84D46B84D46B94E47B84D46B84D45B74C44B74C44B64B43B64B43B5
+          4A4271322E773933803C357D322A8A302F8D393B7A3F436C363B793437823435
+          8735308737307E383177373675353B75343D7C35387E35377F37377F37378038
+          38813939813939813939843C3C843C3C843D3A843D3A853E3B863F3C87403D88
+          413E883F3B883F3B89403C89403C8A403C8B413D8B413D8B413D8C3F3C8D403D
+          8F403D8F403D8E3F3C8F403D90413E91423F9245439245439245439346449646
+          459747469947469A48479C49489E4848A14949A14949A44A4AA44A4AA54B4BA5
+          4B4BA74D4CA74D4CA94D4CAA4E4DAC514DAE534FB05350B25552B55954B55954
+          B75953B75953B85852B85852B85852B85852BA5654BA5654BA5553BA5553B954
+          52B95452BA5351BA5351BA5351BA5351BC5251BC5251BE5251BD5150BC504FBB
+          4F4EB94E4BB94E4BB94E4BB94E4BB94E4BB94E4BB94E4BB94E4BBA4F4CBA4F4C
+          B94E4BB94E4BB94E4BB94E4BB94E4BB94E4BB94C4AB94C4AB94D49B94D49B94D
+          49B94D49B94E47B84D46B94E47B94E47B84D45B74C44B74C44B64B43B64B43B5
+          4A428232338939387B2D27863832883734793131672E316F353A7C3238853135
+          86353081383078393175383474343976333A7C35387E35377F37377F37378038
+          38803838813939813939853D3D843C3C843D3A843D3A853E3B863F3C87403D88
+          413E883E3C883F3B89403C89403C8A403C8B413D8B413D8B413D8B3E3B8C3F3C
+          8F403D8F403D8E3F3C8E3F3C90413E91423F9444439245439346449346449646
+          459747469947469B48479E48489E4848A14949A14949A44A4AA54B4AA54B4AA5
+          4B4AA84E4DA74D4CA94D4CAA4F4BAB504CAE534EB15550B35752B75B56B65B54
+          B75953B65852B85852B85753B85753B85753BB5755BB5755BB5654BA5553B954
+          52B85351B95250B95250BA5351BC5251BC5251BC5350BE5251BD524FBB4F4EBB
+          504DBA4F4CBA4F4CBA4F4CBA4F4CBA4F4CBA4F4CBA4F4CBA4F4CBA4F4CBA4F4C
+          B94E4BB94E4BB94E4BB94E4BB94E4BB94E4BBA4D4BBA4D4BB94D49B94D49B94D
+          49B94D49B94E47B94E47B94E47B94E47B84D45B84D45B74C44B64B43B54A42B5
+          4A42823A33772F288439317F352F72322D7C3F3B6D2B2C7E3A3B7D3337803336
+          8034357B36336D39336F38337E35378334378036367E36367E36367F37378038
+          38813939823A3A833B3B833B3B833B3B843C3C853D3D863E3E873F3F88404088
+          413E87403D87403D88413E88413E8A403E8A403E8B403E8B403E8E413F8E413F
+          8F3F3E8E3E3D8E3E3D8F3F3E92403F90403F9344419445429545449646459947
+          469A48479C484A9C484AA04A4AA04A4AA14A48A04947A04947A14A46A54C48A6
+          4D49A94E4AAA4F4BAB504CAC514CAF534EB0554EB45650B45650B65852B65852
+          B85852B85753BA5753BB5755BB5757BC5858BB5556BB5556BC5455BC5455BB54
+          52BB5452BC5251BC5251BA514EBD524FBD524FBD524EBE514FBD514DBC4F4DBB
+          4F4BBC514DBB504CBB504CBA4F4BBB4F4BBA4E4ABB4F4BBB4F4BBB4E4CBB4E4C
+          BA4D4BBA4D4BBA4D4BBA4D4BBA4D4BBA4D4BB94E4AB94E4AB94E4ABA4F4BBA4F
+          4BB94E4AB94E4AB94E4AB74D46B74D46B84D46B74C45B74C45B64B44B64B44B6
+          4B447C3A2F73352A763B316C362B763F386528249147457B2D2E7D34367B3536
+          7F34367935366F38357037358036348535348036367E36367E36367F37378038
+          38813939823A3A823A3A833B3B833B3B843C3C853D3D863E3E873F3F873F3F88
+          404087403D87403D87403D88413E8A403E8A403E8B403E8B403E8E413F8E413F
+          8F3F3E8F3F3E8F3F3E8F3F3E92403F9341409344419445429444439646459947
+          469A48479C484A9C484AA04A4AA04A4AA14A48A14A48A14A46A24B47A54D47A6
+          4E48AA4F4BAA4F4BAA4F4AAB504BAE534CB0554EB4574EB5584FB65950B65852
+          B85753B85753BA5654BA5654BB5757BB5658BC5657BB5556BD5556BD5556BC55
+          53BB5452BD5352BD5352BE5350BE5350BE534FBE534FBF534FBE524EBD514DBC
+          504CBD514DBC514DBB504CBA4F4BBB4F4BBB4F4BBB4F4BBB4F4BBC4F4DBC4F4D
+          BB4E4CBB4E4CBB4E4CBB4E4CBB4E4CBB4E4CB94E4AB94E4AB94E4AB94E4AB94E
+          4AB94E4AB94E4AB84D49B84E47B84E47B84D46B84D46B84D46B84D46B74C45B7
+          4C45793A2C6B38285238276046366E392F7E373383302F8633357A3435783435
+          7D34367F34367B35357936357D35357D35357E36367E36367E36367E36367F37
+          37803838813939823A3A823A3A833B3B833B3B843C3C853D3D863E3E873F3F87
+          3F3F87403D87403D87403D87403D8A403E8A403E8B403E8B403E8F42408E413F
+          8F3F3E8F3F3E8F3F3E90403F9341409341409344419344419444439545449947
+          469A48479C484A9C484AA04A4AA04A4AA14A48A14A48A44B47A54C48A64E48A7
+          4F49AA4F4BAA4F4BAA4F4AAB504BAD524BAF544DB3564DB5584FB85852B85852
+          B95652B95652BA5654BA5654BC5657BC5657BE5657BE5657BD5556BD5556BF55
+          54BE5453BE5552BE5552BF5451BF5451C05450C05450C05450BF534FC0524CBE
+          534CBE534CBD524BBD524BBC514ABB5049BB5049BC504CBC504CBD514DBC504C
+          BC504CBC504CBE504CBE504CBE4F4DBC4F4DB94E4AB94E4AB94E4AB94E4AB94E
+          4AB94E4AB84D49B84D49B84D49B84D49B94E47B94E47B94E47B94E47B84D46B8
+          4D46663827866D59808D7359614A6B41347A342D7B2C29853836763534753535
+          7C33358033368234358034357D35357936357E36367E36367E36367E36367F37
+          37803838813939813939823A3A823A3A833B3B843C3C853D3D863E3E863E3E87
+          3F3F87403D87403D87403D87403D893F3D8A403E8B403E8B403E8E413F8E413F
+          8F3F3E8F3F3E8F3F3E90403F9341409442419344419344419444439545449846
+          459A48479B47499C484AA04A4AA04A4AA24B49A24B49A54C48A64D49A8504AA8
+          504AAB504CAB504CAA4F4AAA4F4AAD524BAF544DB3564DB5584FB75751B75751
+          B95652B95652B95553B95553BB5556BB5556BD5556BD5556BD5556BF5456BE54
+          53BE5453BE5552C05552C05552C05552C15551C05450C05450C1534FC1534DC1
+          534DC0524CBE534CBD524BBD524BBC514ABC514ABC514ABC504CBD514DBD514D
+          BD514DBC504CBE504CBE504CBE504CBC504CBA4E4AB94E4AB94E4AB94E4AB94E
+          4AB84D49B84D49B74C48B84D49B84D49B94E47B94E47B94E47B94E47B94E47B9
+          4E474F412A767F64659D7A739F80715B496A32277C3A35793633713732713634
+          7A34348133348631358632367F34367935367E36367E36367E36367E36367F37
+          377F3737803838813939813939823A3A823A3A833B3B843C3C853D3D863E3E86
+          3E3E863F3C87403D87403D87403D893F3D893F3D8A3F3D8B403E8E413F8D403E
+          8F3F3E8F3F3E8F3F3E90403F9341409442419243409344419444439545449846
+          459947469B47499C484A9F49499F4949A24B49A34C4AA64D49A74E4AA8504AA9
+          514BAC514CAC504BAC504BAC504BB0524CB1534DB5554FB75751B95751B95751
+          B95551B95551B95452BA5553BC5455BD5556BE5355BE5355BE5453C05453C054
+          53C05453BF5451C05351C15452C15452C25450C25450C2544EC3534DC3534DC1
+          534DC1544CC1544CC0534BBF524ABF524ABF524ABF524ABF514BBF514BBE504A
+          BE504ABE504ABE504ABE504ABE504ABB4F4BBA4E4ABA4F4BBA4F4BB94E4AB94E
+          4AB84D49B84D49B74C48B84D49B84D49B84D49B84D49B84D49B84D49B84D49B8
+          4D494F44294F593B5E916F8CB595604B3679423577383073332E753731753632
+          7A34347F33348531358531357F34367B35367E36367E36367E36367E36367E36
+          367F3737803838803838813939813939823A3A833B3B843C3C853D3D853D3D86
+          3E3E863F3C863F3C863F3C87403D893F3D893F3D8A3F3D8A3F3D8D403E8C3F3D
+          8E3E3D8E3E3D8F3F3E90403F9341409442419243409344419343429545449846
+          459947469B47499B47499E48489E4848A14A48A34C4AA64D49A84F4BA9514BAB
+          504BAD514CAD514CAE524DAE524DB1534DB3554FB65650B65650B85650B85650
+          B95551B95551B95452BB5452BC5455BE5355BD5254BF5254BF5352BF5352BF53
+          52C05252C05351C05351C25553C35452C35551C45350C4544EC4544EC4544EC4
+          544EC4554DC2554DC1544CC0534BC0534BC0534BC0534BC0534BBF514BBF514B
+          BF514BBE504ABE504ABE504ABE504ABE504ABB4F4BBB504CBA4F4BBA4F4BBA4F
+          4BB94E4AB84D49B74C48B84D49B84D49B84D49B84D49B84D49B84D49B94E4AB9
+          4E4A603923634931A9AC927470575F33227C372D803830772F287E34307E3331
+          7E34347C34347C33357C33357C33357C33357E36367E36367E36367E36367E36
+          367F37377F3737803838803838813939813939823A3A833B3B843C3C853D3D85
+          3D3D863F3C863F3C863F3C863F3C893F3D893F3D8A3F3D8A3F3D8C3F3D8B3E3C
+          8D3D3C8D3D3C8E3E3D8F3F3E9341409341409243409243409543429644439846
+          459947469B47499B47499D47479D4747A14A48A34C4AA64D49A84F4BAB504BAB
+          504BAD514CAE524DAF544DB0554EB3554FB45650B65650B65650B85551B95551
+          BA5350BA5350BB5452BD5352BE5453BE5453C05453C15353C15353C15353C153
+          53C35353C35452C35452C55753C75653C65552C75451C7554FC7554FC7554FC7
+          554FC7554EC4554BC4554BC3544AC25349C25349C25349C3544AC2534BC2534B
+          C1524AC1524ABF524ABF524ABF524ABF514BBC504CBC504CBC504CBC504CBB4F
+          4BBA4E4AB84D49B84D49B84D49B84D49B94E4BB94E4BB94E4BB94E4BBA4F4CBA
+          4F4C743C2964321E6D48345F3A26774333763729742C24893E3682342E7E3430
+          7A35327635347535357634357C33357E33357E36367E36367E36367E36367E36
+          367E36367F37377F3737803838803838813939823A3A833B3B843C3C853D3D85
+          3D3D863F3C863F3C863F3C863F3C893F3D893F3D8A3F3D8A3F3D8B3E3C8B3E3C
+          8C3C3B8D3D3C8D3D3C8F3F3E92403F9341409243409243409543429644439846
+          459947469B47499B47499C46469D4747A14A48A24B49A64D49A84F4BAB504BAB
+          504BAD514CAE524DB0554EB25750B55751B55751B65650B7554FB95551B95551
+          BA5350BA5350BC5251BD5352BD5352C05453C15353C15353C35353C45454C454
+          54C45454C45553C65553C85754CA5754C95653C85552C7554FC85650CA5550C8
+          564FC7564CC7564CC6554BC3544AC5544AC3544AC3544AC3544AC3544CC3544C
+          C2534BC2534BC0534BC0534BC0534BC0534BBF514BBD514DBD514DBC504CBC50
+          4CBB4F4BB94E4AB84D49B94E4AB94E4AB94E4BBA4F4CBA4F4CBB504DBB504DBB
+          504D733525814333743324783D2D6537266E402F7F4137752D257A342D773530
+          7238336D35307338367939387C313384373A7F35357D35357E36367E36367E36
+          367E3636803838813939803838803838813939813939823A3A823A3A833B3B83
+          3B3B853E3B853E3B863F3C863F3C883E3C883E3C893E3C893E3C8B3E3C8B3E3C
+          8E3E3D8E3E3D8E3E3D8F3F3E913F3E913F3E93423F93423F9442419543429744
+          439845449C45489C45489F47479F4747A24847A34948A74C48A94E4AAB504BAD
+          524DAE534CAF544DB2544EB45650B75652B75652B85551B85551B85351BA5351
+          BC5251BC5251BF5352BF5352C05552C25553C35353C35353C55353C55353C655
+          53C65553C75654C95554C95653CB5653CB5651CB5651CB5651CA5550CB564FCA
+          564FCC594FCB584DCA574CC7574BC9564CC6554BC6554BC6554BC6554BC6554B
+          C4554DC3544CC3544CC2534BC2534BC0534BBF514BBF514BBC504CBC504CBB4F
+          4BBA4E4ABA4E4AB94D49B94E4BBA4F4CBA4F4CBB504DB94F4EBA504FBA504FBA
+          504F7942336E35267D3C2E753E2F573C28543A29602C207C3F3579403768352B
+          65362E6C3C366F34327532318134377C2D307F35357D35357E36367E36367E36
+          367E3636803838813939803838813939813939823A3A823A3A833B3B833B3B83
+          3B3B853E3B853E3B863F3C863F3C883E3C883E3C893E3C893E3C8B3E3C8B3E3C
+          8E3E3D8E3E3D8E3E3D8F3F3E913F3E913F3E93423F93423F9442419543429744
+          439845449C45489C4548A04848A04848A34948A44A49A84D49AA4F4BAB504BAC
+          514CAE534CAF544DB3554FB45650B75652B65551B85551B85450BB5452BC5251
+          BC5251BF5352BF5352C15353C25553C45553C75555C75555C75555C75555C756
+          54C95554CA5655CC5655CC5754CC5754CB5651CC5651CC5651CC5651CC5750CC
+          5750CD584FCB584DCB584DCA574CC9564CC9564CC9564CC7564CC6554BC6554B
+          C6544DC4554DC3544CC3544CC2534BC2534BC0524CC0524CBE524EBD514DBC50
+          4CBC504CBC504CBB4F4BBA4F4CBA4F4CBB504DBB504DBA504FBA504FBB5150BB
+          51508766565D3B2B69403184685793957F7B7A66643F3168382C5C362A69493C
+          5F3F346438317333327C303188393C8132357F35357D35357E36367E36367E36
+          367E3636803838813939813939813939823A3A823A3A833B3B843C3C843C3C84
+          3C3C853E3B853E3B863F3C863F3C883E3C883E3C893E3C893E3C8B3E3C8B3E3C
+          8D3D3C8E3E3D8E3E3D8E3E3D913F3E913F3E93423F93423F9341409442419643
+          429845449B44479C4548A04848A04848A44A49A54B4AA94E4AAA4F4BAB504BAB
+          504BAF544DB2554CB3554FB45650B75652B85551B95452B85351BD5654BF5554
+          C15554C25454C25553C55654C65755C75856C85656CA5556CB5756CB5756CB57
+          56CD5756CD5855CE5755CE5755CE5755CD5752CF5752CF5751CF5751CF5751CF
+          5751CF584FCD584FCC574ECB564DCB564DC9564CC9564CC9564CC9554EC7554E
+          C7554EC6544DC6544DC5534CC3544CC3544CC1534DC1534DC1534DC1534DBE52
+          4EBE524EBE514FBE514FBB504DBC514EBA504FBA504FBB5150BB5150BB5052BC
+          51536441345F3C2F613E317A63537C7E6A4B47345E3729703E32613E31A08577
+          806459643B32823C3C8232337D30338237397D35357D35357E36367E36367E36
+          367E3636803838813939823A3A823A3A823A3A833B3B843C3C843C3C853D3D85
+          3D3D853E3B853E3B863F3C863F3C883E3C883E3C893E3C893E3C8B3E3C8B3E3C
+          8D3D3C8D3D3C8E3E3D8E3E3D913F3E913F3E92413E92413E9341409442419643
+          429744439B44479B44479F4747A04848A44A49A64C4BA94E4AAA4F4BAA4F4AAA
+          5049B2544EB3564DB45650B65650B95652B95652B95452BB5452C15756C35756
+          C55757C55757C85957C95A58CA5B59CC5B59CC5758CC5758CD5958CF5958CF59
+          58CF5958D05957CF5856CF5856D15856D15954D15954D05852D25852D25852D2
+          5852D25950D05950CF584FCC574ECB564DCB564DCB564DCA574DCA564FCA564F
+          C7554EC7554EC7554EC6544DC4554DC4554DC1534DC1534DC1534DC1534DBF53
+          4FBF534FBF5250BF5250BD524FBD524FBB5150BB5150BC5251BC5251BC5153BC
+          515388484380443E68342D6A44387A605260403375372F77332C69382EA78175
+          82625765372F843A3A8030317630317836377B35357D35357E36367E36367E36
+          367E3636803838813939823A3A823A3A833B3B833B3B843C3C843C3C853D3D85
+          3D3D853E3B853E3B863F3C863F3C883E3C883E3C893E3C893E3C8A3D3B8A3D3B
+          8D3D3C8D3D3C8E3E3D8E3E3D903E3D903E3D92413E92413E93403F9441409542
+          419744439A43469B44479E4646A04848A44A49A64C4BA94E4AAA4F4BAA4F4AAA
+          5049B3554FB4574EB65650B75751BA5753BA5753BB5654BD5654C3585AC5585A
+          C65858C75959CA5B59CD5C5ACE5D5AD05D5ACE5A59D05A59D15B5AD25A5AD25A
+          5AD15959D35A58D25957D25A55D45955D45955D45955D45A54D65A54D55953D3
+          5953D35A51D15A51D05852CF5751CE5650CC5750CC5750CC5750CB5750CA564F
+          CA5550CA5550C7554FC7554FC7554FC4544EC1534DC1534DC1534DC1534DC153
+          4FC1534FBF5250BF5250BE5251BE5251BC5251BC5251BC5153BC5153BA5253BA
+          52537E32337E39368049446C3E366F443B754036752D2681352F6F312978453B
+          653C3366372F7A302E7E2E2F7B393A7234347B35357D35357E36367E36367E36
+          367E3636803838813939823A3A823A3A833B3B833B3B843C3C843C3C853D3D85
+          3D3D853E3B853E3B863F3C863F3C883E3C883E3C893E3C893E3C8A3D3B8A3D3B
+          8D3D3C8D3D3C8D3D3C8E3E3D903E3D903E3D91403D91403D93403F9441409542
+          419643429A43469A43469F4747A04848A34948A54B4AA94E4AAB504CAC514CAD
+          524BB4574EB5584FB75751B85852BB5854BC5955BF5856C05957C5585AC5585A
+          C75959C95959CC5B59CE5D5BD15E5BD15E5BD25C5BD35D5CD45C5CD55D5DD45C
+          5CD45C5CD55C5AD45B59D65B57D65B57D55A56D55A56D75B55D75B55D75B55D7
+          5B55D45B52D35A51D05852D05852CF5751CF5751CD5851CD5851CC5750CB5750
+          CB5651CB5651C85650C85650C7554FC7554FC4544EC2544EC2544EC2544EC153
+          4FC1534FBF5250BF5250BE5251BE5251BC5251BC5251BC5153BC5153BA5253BA
+          5253772E3074343371423E623831652E297B3B367C322C883C36883E3873342C
+          693830713D367B34317E33317A39386F32307B35357D35357E36367E36367E36
+          367E3636803838813939823A3A823A3A823A3A833B3B833B3B843C3C843C3C85
+          3D3D853E3B853E3B863F3C863F3C883E3C883E3C893E3C893E3C8A3D3B8A3D3B
+          8C3C3B8D3D3C8D3D3C8D3D3C903E3D903E3D91403D91403D923F3E93403F9640
+          409842429942459A4346A04848A34949A44A49A64C4BAA4F4BAD524EB0544FB1
+          564FB5584FB5584FB85852B95953BC5955BD5A56C25B59C25A5BC75A5CC75A5C
+          C95B5BCC5C5CCF5E5CD05F5DD3605DD4615ED55F5ED75F5FD75F5FD86060DA61
+          5FD85F5DD75E5CD65D5BD75C58D75C58D85B57D85B57D85C56D85C56D95B56D8
+          5C56D45A54D45A54D35953D25852D05852CF5751CF5752CD5752CD5752CD5752
+          CB5651CB5651C95653C85552C85552C85552C5554FC5554FC3554FC2544EC254
+          50C1534FBF5250BF5250BE5251BE5251BC5153BC5153BA5253BA5253BA5154BA
+          5154733332763B3964302A733F3974342F78372F763C306733236A3626683727
+          673A2C6935297B352E7F363270312D7538367936357B35357E36367C36367E36
+          367C3636803838813939813939813939823A3A823A3A833B3B843C3C843C3C84
+          3C3C853E3B853E3B863F3C863F3C883E3C883E3C893E3C893E3C8A3D3B8A3D3B
+          8C3C3B8D3D3C8D3D3C8D3D3C903E3D903E3D903E3D923F3E923F3E953F3F9640
+          409842429943439C4444A34949A44A49A54B4AA64D49AB504CAE534FB25651B3
+          5851B55751B5584FB85852B95854BD5A56C05B59C35C5AC65B5DCA5D5FCB5D5D
+          CE5E5ECF5F5FD2615FD36260D66360D96461D8615FD96260DA6361DA6361DC63
+          61DB635ED9605ED8605BD75C58D75C58D95C58D95C58D85C56D85C56D95B56D8
+          5C56D55B55D45A54D35953D35953D25852D05852D25753D05853CF5752CD5752
+          CD5752CB5651CB5653C95653C85552C85552C75653C45652C45652C35551C254
+          50C05351BF5250BF5250BE5251BE5251BC5153BC5153BA5253B95152B95152B9
+          515265352F6C352E7C342D883A3384372E713626654A304D46257878548A8461
+          765A3C6D3E287F3B2E79312970332F6F36347635347936357C36367A37367C36
+          367A37367D37377E3838803A3A7F39397F3939803A3A803A3A823C3C833D3D84
+          3E3E85403D85403D843F3C843F3C863F3C863F3C893F3D893F3D883D3B873C3A
+          893C3A893C3A8C3C3B8D3D3C8F3D3C903E3D923F3E933D3D933D3D953D3D973F
+          3F9A42429C44449E4745A14746A44A49A64C4BA84F4BAB504CAD524DB15651B5
+          5954B95B56BA5955BC5955BC5856BE5957C05B59C45D5BC75D5CCA5E5DCC5F5D
+          CF605ED2615FD56160D56160D76160D7625FDA645FDB6560DC6661DC6661DC66
+          61DC6760DD6560DC645ED8605AD65E58D65C56D65C56D55B55D55B55D95D57DC
+          605AD75E55D65D54D55C53D45B52D35953D35953D55953D35953D25753D05853
+          D05755CD5654CC5655CB5554C95554C75654C45553C25553C25553C15452C154
+          52C05252C05252BE5251BD5150BD5150BB5150BC5251BC5251BD5352BD5352BE
+          54536B493C64382B742F26772C237A392A5B351D32361368865B6A8F61789165
+          706644673E25783728833A327837366F2F2F7534337936357A37367A37367A37
+          367A37367B38377C3938803A3A803A3A803A3A803A3A813B3B823C3C833D3D84
+          3E3E83403D83403D85403D843F3C863F3C87403D893F3D893F3D883D3B883D3B
+          8A3D3B8A3D3B8C3C3B8D3D3C903E3D903E3D933F41943D40963E3E973F3F9840
+          409B43439D46449F4846A24847A44A49A74E4AA9504CAD524DAF544FB35853B7
+          5B56B95A57BB5A57BC5856BD5957BF5A58C15C5AC75D5CC85E5DCD605ECD605E
+          D1605ED2615FD56160D66261D96362D96461DE6863DE6962DF6A63E06B64E06B
+          64E06B64E16963E16963DC645ED9615BD95F59D85E58D65C56D55B55D85C56DB
+          5F59D75E55D75E55D65D54D45B52D65A54D55953D65A54D65A54D35854D35854
+          D05755CE5755CE5656CC5655CA5655C85755C55555C35555C25454C25454C153
+          53C05252BF5352BF5352BE5251BE5251BC5251BC5251BC5251BD5352BD5352BD
+          535265543F7A614D693E2D6C412E5A3B2664604371926D63996E5391635D8A5F
+          6B705064452E6A2C217D2E2B82303584373B7933347835347A37367A37367936
+          357A37367B38377C3938803A3A803A3A803A3A803A3A813B3B823C3C833D3D84
+          3E3E85403D85403D85403D85403D87403D87403D893F3D893F3D883D3B883D3B
+          8A3D3B8A3D3B8D3D3C8E3E3D8F3F3E913F3E944042953E41953F3F9640409A42
+          429C44449E4745A04947A34948A54B4AA84F4BAA514DAF544FB25752B65B56B9
+          5D58BA5B58BC5B58BE5A58BE5A58C05B59C25D5BC85E5DC95F5ECF6260CF6260
+          D2615FD36260D66261D76362DB6564DC6764E16B66E16C65E36B65E46C66E46C
+          66E56D67E56D67E56D67E26862DF655FDC625CDB615BDA5E58D75B55D75B55D8
+          5C56D85F56D75E55D65D54D55C53D75B55D65A54D65955D65955D45955D45955
+          D15856CF5856CF5757CD5756CB5756C95856C55555C55555C55555C45454C254
+          54C15353C05252C05252BF5352BF5352BF5352BF5352BC5251BC5251BC5251BC
+          52515A6545555739504127533D244F3B227E7B5F869D7D9ABE9A648A66465F3D
+          524B325F3B2B72342E8339397C2E357C2F367933347835347936357936357936
+          357936357A37367C39387F39397F3939803A3A803A3A813B3B823C3C833D3D83
+          3D3D843F3C85403D85403D85403D87403D87403D893F3D883E3C883D3B883D3B
+          8A3D3B8A3D3B8D3D3C8E3E3D8F3F3E913F3E944042963F429640409741419A42
+          429D45459F4846A04947A44A49A54B4AA84F4BAB524EB05550B45954B75C57BA
+          5E59BA5B58BC5B58BF5B59C05C5AC25D5BC65F5DC95F5ECC605FD16462D26361
+          D46361D46361D76362D96564DD6766DE6966E16B66E16C65E36B65E46C66E46C
+          66E56D67E66E68E76F69E56B65E16761DD635DDC625CDC605AD85C56D65A54D7
+          5B55D85E58D75E55D75E55D65D54D85C56D75B55D75A56D75A56D55A56D55A56
+          D35A58D05957D05858CE5857CC5857CC5857C85656C65656C55555C55555C454
+          54C25454C15353C15353C15353C05453BF5352BF5352BD5352BC5251BC5251BC
+          52517EAC81698B638B9271A3977B725540805F4C8264517B604C7A614D593926
+          6134266B342B733332773B3C6A32376931367434347835347936357936357936
+          357936357A37367B38377E38387F39397F3939803A3A813B3B823C3C823C3C82
+          3C3C843F3C843F3C85403D85403D87403D87403D883E3C883E3C873C3A873C3A
+          893C3A8A3D3B8D3D3C8E3E3D8F3F3E913F3E933F419440429640409741419943
+          439B45459F4846A04947A44A49A54B4AA74E4AAA514DB15651B55A55B85D58BA
+          5E59BA5B58BD5C59BF5B59C15D5BC35E5CC7605ECA605FCD6160D26563D36462
+          D56462D76362DA6463DD6766E06868E16A68E36B66E36B66E66B67E66B67E76C
+          68E86D69E86D69E96E6AE46965E06561DF625EDF625EDE615DDA5D59D75A56D7
+          5B55D75D57D75D57D75D57D75D57D85C56D85C56D85B57D75A56D65B59D65B59
+          D35A58D15A58D15959CF5958CD5958CD5958C95757C95757C85656C65656C555
+          55C55555C45454C25454C25454C15353C05453BF5352BF5352BE5251BE5251BD
+          5150476B41738D655758385842296237266A32276C2F256C2E2473352B71322A
+          803C357936336C2A2B6D30346C363B6D373C7133337835347936357936357936
+          357936357A37367B38377D37377E38387F3939803A3A813B3B813B3B813B3B81
+          3B3B823D3A833E3B843F3C843F3C863F3C863F3C873D3B863C3A873C3A873C3A
+          8A3D3B8A3D3B8D3D3C8F3F3E90403F90403F9440429440429741419842429A44
+          449B45459F4846A04947A54B4AA54B4AA74E4AAA514DB15651B55A55B85D58BA
+          5E59BA5B58BC5B58C05C5AC15D5BC65F5DC7605ECD6160CD6160D46563D66563
+          D86463D96564DC6665DE6867E16969E46B69E46B69E76C68E86D69EA6F6BEA6F
+          6BEA6F6BEA6F6BE96E6AE46965E06561E0635FE0635FE0635FDC5F5BD95C58D8
+          5B57D65C56D65C56D75D57D75D57D95D57D85C56D85B57D75A56D65B59D65B59
+          D45B59D15A58D15959D05A59CD5958CD5958CA5858CA5858C95757C85656C856
+          56C55555C55555C55555C25454C15353C05453C05453BF5352BE5251BE5251BE
+          5251564425523A1E603B25602F1F72342C8A433F742A288036347C323079322F
+          752E2B78312E7832337D363980383E702A307632337734337936357936357835
+          347936357A37367B38377C36367D37377E38387F3939803A3A803A3A803A3A80
+          3A3A813C39823D3A853E3B863F3C863F3C853E3B863C3A853B39883D3B893E3C
+          8B3E3C8C3F3D8D403E8E413F9141409242419440429541439643429744439B45
+          459D47479E49479F4A48A44D4BA44D4BA74E4AAB524EB25752B65B56B85D58B9
+          5D58BB5A57BE5A58C05C5AC25E5CC65F5DC8615FCD6160CD6160D36462D56462
+          D86463DC6665DE6666E06868E36969E46B69E86D6BEB6E6AED706CEF726EEF72
+          6EEE716DEC6F6BEB6E6AE76A66E36662E16460E26561E26561DE615DDB5D59D8
+          5B57D55B55D65C56D65B57D75C58D95C58D85B57D75A56D75A56D65B59D65B59
+          D45B59D15A58D15959D05A59CD5958CD5958CC5758CC5758CC5758C95757C856
+          56C85656C55555C55555C15353C15353C05453C05453BF5352BF5352BD5352BD
+          53526C3722713C2872372877362E7A3330782B2E8233367B2C2F7B30327A3232
+          702B287936337B3535732B2B8033367D32347832327734337835347936357835
+          347835347A37367B38377B35357C36367D37377F39397F3939803A3A7F39397F
+          3939803B38813C39843D3A853E3B853E3B843D3A853B39843A388A3F3D8A3F3D
+          8C3F3D8D403E8E413F9043419343429444439441439642449744439845449C46
+          469E48489F4A48A04B49A54E4CA54E4CA84F4BAB524EB25752B75C57B85D58BA
+          5E59BB5A57BE5A58C05C5AC35E5CC65F5DCA605FCD6160CE6060D26361D56462
+          DB6564DD6766DF6767E06868E36969E56A68EA6C6BEC6F6BEF716DF0736FF073
+          6FEF726EEC6F6BEA6D69E96C68E56864E26561E36662E46763E0635FDC5E5AD9
+          5C58D75B55D55B55D65B57D75C58D95C58D85B57D75A56D75A56D65B59D65B59
+          D45B59D15A58D15959D05A59CD5958CD5958CD5859CC5758CC5758CB5657C957
+          57C85656C65656C65656C15353C15353C05453C05453BF5352BD5352BD5352BD
+          535277362877352A77332C753231773033792F357B2E357B2E35773132733231
+          70332F6C352E6E342E72342E7633307833307734337734337835347936357936
+          357936357936357936357B35357C36367C36367C36367D37377E38387F39397F
+          3939813A37823B38833C39833C39843A38843A38853B39863C3A883D3B893E3C
+          8A3F3D8C413F8F42409043419144429343429744469845479947469A48479C49
+          489D4A499F4A489F4A48A34C4AA54E4CAA514DAD5450B55A55BA5F5ABA5F5AB8
+          5C57BB5A57BF5B59C35E5CC5605EC8615FCA605FCD6160CF6161D26361D66563
+          DC6665DF6767E26868E36969E66A6AE86D6BEF706FF0726EF47370F47672F476
+          72F1736FED6F6BE96B67E86A66E76965E56763E46662E26460DF615DDB5D59D8
+          5B57D95C58D65B57D55A56D55A56D85A59D95B5AD95B5AD85A59D65B59D65B59
+          D45B59D25B59D15A58D05B58CE5A59CE5A59CF5A5BCE595ACE595ACD5859CA58
+          58CA5858C75757C75757C65858C65858C45857C35756C05655BF5554BE5453BC
+          55537C322C7B322E773131733033732F36732F36752F36752F35723133703331
+          6C342F6B362C6C352C70352C76342F78342F7734337734337835347936357936
+          357936357936357936357C36367C36367C36367C36367D37377E38387F39397F
+          3939813A37823B38833C39833C39843A38843A38853B39863C3A883D3B893E3C
+          8B403E8C413F9043419144429144429245439545469845479947469A48479C49
+          489D4A499F4A489F4A48A44D4BA64F4DAA514DAD5450B55A55BA5F5ABA5F5AB8
+          5C57BC5B58C05C5AC45F5DC6615FC96260CB6160CE6261D16161D56462D96564
+          DE6867E06868E36969E56B6BE86C6CEC6D6EF57373F57471F57471F67572F675
+          72F37571F1736FEE706CED6F6BEA6C68E86A66E56763E36561E1635FDF615DDC
+          5F5BD95C58D65B57D55A56D55A56D85A59D95B5AD95B5AD85A59D65B59D65B59
+          D45B59D25B59D25B59D05B58CE5A59CE5A59CE595ACE595ACE595ACB5959CA58
+          58C85858C85858C55757C65858C55958C45857C25857C15756BE5755BD5654BD
+          56547B31317731327330337030366C30386C30386C30366C31356C33326C342F
+          6C352E6E352C72342C75342C7A332F7C332F7933337734337835347936357936
+          357936357936357936357C36367C36367C36367C36367D37377E38387F39397F
+          3939813A37843A38853B39853B39843A38843A38853B39863C3A893E3C8A3F3D
+          8B403E8D42408E43418F44429045439245439545469646479747469848479B49
+          489D4A499F4A489F4A48A44D4BA64F4DAA514DAE5551B55A55BA5F5ABB5F5ABA
+          5C57BE5D5AC25E5CC5605EC76260C96260CC6261CF6362D36363D76664DB6766
+          E06A69E36B6BE66C6CE96D6DED6E6FEE6F70F77575F87474F77373F77373F773
+          73F67474F57373F57373F27070EF6D6DEB6969E86666E66464E56363E16261DF
+          6160DA5C5BD65B59D55A58D55A58D85A59D95B5AD95B5AD85A59D65B59D65B59
+          D45B59D25B59D25B59D15C59CE5B58CE5A59CE595ACE595ACB5959CB5959CB59
+          59C95959C85858C65858C75959C65A59C35958C05957C05957BD5856BC5755BC
+          57557731327530337230356E30366C30386C30386C30366C32336E333170332F
+          72342E73342C77332C79322E7C32307C32327933337734337835347936357936
+          357936357936357936357C36367C36367C36367C36367D37377D37377E38387F
+          3939823836833937843A38843A38843A38843A38853B39863C3A8A3F3D8A3F3D
+          8C413F8E43418F44429045439146449146449446479646479747469949489C4A
+          499C4A499E4B49A04B49A54E4CA7504EAB524EAE5551B55A55BA5F5ABB5F5ABA
+          5C57BE5D5AC25E5CC6615FC76260CC6261CE6261D06262D46464DB6766DF6968
+          E36B6BE76D6DEA6E6EEB6F6FEF7071F27273F87474F77373F67272F67272F773
+          73F87474F77373F57373F27070EF6D6DEC6A6AE96767E76565E56363E16261DF
+          605FDA5C5BD75C5AD65B59D65B59D95B5AD95B5AD95B5AD85A59D75C5AD75C5A
+          D45B59D25B59D25B59D15C59CF5C59CF5C59CD5859CB5959CB5959C95959C959
+          59C75959C75959C65A59C75B5AC45A59C25B59BF5A58BF5A58BE5957BD5856BC
+          585672323272323272313372303572303572303572313372323275322F79322E
+          7B322E7C322E7C312F7B31317A30347831347933347734337835347936357936
+          357936357936357936357D37377C36367C36367C36367D37377D37377E38387E
+          3838823836833937843A38843A38843A38843A38853B39863C3A8A3F3D8B403E
+          8C413F8E43418F44429045439146449146449446479446479848479949489C4A
+          499D4B4A9E4B49A04B49A54E4CA7504EAB524EAE5551B55A55BA5F5ABB5F5ABA
+          5C57BE5D5AC25E5CC5605EC76260CB6160CF6362D16363D56565DC6867E06A69
+          E46C6CE86E6EEC7070EF7071F27273F47475F77373F97373FA7474FB7575FC76
+          76F97575F77373F67272F36F6FF26E6EED6B6BEB6969E96767E66464E26060DE
+          5F5EDB5C5DD85C5CD65A5AD65A5AD95A5BD95A5BD95A5BD8595AD75C5AD75C5A
+          D55C5AD25B59D25B59D15C59CF5C59CF5C59CC5A5ACC5A5ACC5A5ACA5A5AC959
+          59C75959C75959C65A59C55B5AC35C5AC25B59C05B59BF5A58BE5A58BD5957BB
+          5A5772323173323175313275313275303373303372323272323175322F79322E
+          7C322E7E312F7C2F32792F35762F397430377733347734337835347936357936
+          357936357936357936357D37377D37377D37377C36367D37377D37377E38387E
+          3838813735823836833937843A38843A38843A38853B39873D3B8A3F3D8B403E
+          8C413F8E43418F44429045439146449146449446479547489848479949489C4A
+          499D4B4A9E4B499E4B49A64F4DA8514FAC534FAF5652B65B56BA5F5ABB5F5AB9
+          5B56BE5D5AC15D5BC5605EC6615FCC6261D06463D36565D96767DE6A69E36B6B
+          E86E6EEC7070F07172F17273F47475F87677FC7676FC7676FD7777FF7979FF7A
+          7AFE7878F97575F77373F57171F36F6FF06E6EEE6C6CEC6A6AE86666E46262DE
+          5F5EDC5D5ED85C5CD75B5BD75B5BD95A5BD95A5BD95A5BD8595AD75C5AD75C5A
+          D55C5AD35C5AD35C5AD15C59CF5C59CF5C59CC5A5ACC5A5ACA5A5ACA5A5AC85A
+          5AC75959C65A59C45A59C35C5AC25B59C05B59BF5B59BE5A58BC5B58BC5B58BC
+          5B5877322F77322F7B31317B31317731327232316C33316B342F6C352E70342E
+          75322F773132772F35732E396D2F3D6D303A7433357734337835347936357936
+          357936357936357936357D37377D37377D37377C36367D37377D37377D37377E
+          3838803634823836833937843A38843A38843A38853B39873D3B893E3C8A3F3D
+          8C413F8D42408F44429045439045439146449446479547489649479949489C4A
+          499D4B4A9E4B499E4B49A64F4DA8514FAC534FAF5652B65B56BA5F5ABB5F5AB9
+          5B56BE5D5AC15D5BC5605EC76260CD6362D16564D56767DB6969E06C6BE56D6D
+          EA7070EE7272F27374F57576F97778FB797AFF7979FF7879FF797AFF7A7BFF7B
+          7BFF7A7AFD7777FB7575F77373F57171F26E6EF06C6CEB6969E86666E56363E0
+          6160DC5D5ED95D5DD75B5BD75B5BD95A5BD95A5BD95A5BD8595AD75B5BD75B5B
+          D55C5AD35C5AD35C5AD25D5ACF5C59CF5C59CD5B5BCB5B5BCB5B5BCA5A5AC85A
+          5AC75959C65A59C45A59C25B59C25B59C05B59BF5B59BE5A58BC5B58BC5B58BA
+          5B5877322F79322F7B312F7B31317731317232316C333169352F6B342F6E342F
+          723231753132732F36702F386C303B6C303A7433357534337835347936357936
+          357936357936357936357B38377D37377D37377C36367D37377D37377D37377E
+          38387E3636813735833937833937833937843A38853B39873D3B893E3C8A3F3D
+          8B403E8D42408E43419045439045439045439446479547489649479949489A4A
+          499D4B4A9E4B499F4C4AA5504EA8514FAA534FAF5652B45C56BA5F5ABA5F5AB7
+          5B56BE5D5AC25E5CC4605EC86361CC6563D16766D76969DB6B6BE26E6DE6706F
+          EC7272F07474F47576F77778F9797AFC7A7BFF7A7CFF7B7BFF797AFF7B7BFF7B
+          7BFF7A7AFE7878FA7676F97575F67272F16D6DEC6A6AE96767E76565E56363E2
+          6362DC5D5ED95D5DD75B5BD75B5BD95A5BD95A5BD95A5BD65A5AD75B5BD55B5B
+          D55C5AD35C5AD25D5AD05D5ACF5C59CD5C5ACC5C5CCC5C5CCB5B5BC85A5AC85A
+          5AC65A59C35958C35958C25B59C25B59C05B59BE5A58BE5A5ABC5A5ABC5A5ABA
+          5A5A753231753231753231753132753132733132723232703331703331723231
+          7331327331327330337231337030357031337434347434337534337534337635
+          347736357837367938377938377B38377A37367A37367A37367936357936357B
+          3535803838803838833939843A3A853B3B863C3C863C3C873D3D893D3E8B3F40
+          8D42408F44429045439045439045439045439447459649479A4A499A4A499949
+          489A4A499E4D4AA24F4DA14F4AA6524DA95550AF5854B35D57B75F59B75F59BA
+          5F5ABC5D5AC15F5FC46262C96565CC6667D1696AD86C6BDB6D6DE37171E67172
+          EB7374F07577F47779F8797BFA7B7CFB7B7CFF7A7CFD787AFF7A7CFF8183FF88
+          8AFF8688FF7C7EF47273F67474F47272F06E6EEA6B6AE76867E46564E16261DF
+          605FDD5E5DDA5C5BD85A59D75958D65B59D75C5AD75B5BD55B5BD65C5CD45C5C
+          D35D5CD15D5CD05C5BCE5D5BCE5D5BCE5C5CCC5C5CC95B5BC85A5AC85A5AC759
+          59C65A59C4595BC55A5CC25A5BC25A5BC05A5BBE5A5ABE595BBE595BBD585ABB
+          585A733132733132733132733132733132733132733132733132733132733132
+          7331327331327331327331327331327331327333327333327333327434337534
+          337635347736357837367938377837367A37367A37367A373679363579363579
+          36357F36387F3638823838833939843A3A853B3B863C3C873D3D8A3E3F8B3F40
+          8D42408F44429045439146449045439045439447459649479A4A499A4A499949
+          489A4A499E4D4AA1504DA4524DA6544FAC5853B05C57B55F59B6605AB7615BB9
+          615BBB5E5DC06060C56363C76565CD6768D26A6BD76D6CDB6F6EE17171E47272
+          EA7374EE7677F27779F6797BFA7B7CFB7B7CFD7A7DFD787BFC7779FE797BFF7B
+          7DFF7B7DFB797AF87677F57373F37171ED6E6DEA6B6AE76867E56665E26362E0
+          6160DE5F5EDC5D5CD95B5AD95B5AD95B5AD85D5BD65C5CD65C5CD45C5CD45C5C
+          D35D5CD15D5CD15D5CCF5E5CCE5C5CCC5C5CCB5B5BC95B5BC85A5AC85A5AC65A
+          59C65A59C4595BC4595BC25A5BC25A5BC0595CBF585BBE595BBE595BBD575CBD
+          575C733132733132733132733132733132733132733132733132733132733132
+          7331327331327331327331327331327331327232317232317232317333327433
+          327534337635347736357837367837367A373679363579363579363579363579
+          36357E35377E35377F3737803838843A3A853B3B863C3C863C3C893F3F8A4040
+          8D42408F4442904543914644914644914644944745964947984B49984B499949
+          489A4A499E4D4AA1504DA6544FA85651AD5954B15D58B6605AB7615BB8625CBA
+          625CBD605FC16161C66464C96767CE6869D36B6CD86E6DDC706FE17171E47272
+          EA7374EE7677F27779F4797BF77B7BFA7B7CFE7C7DFF7B7DFF7A7CFD787AFB76
+          78FB7678FA7878FC7A7AF67474F37171ED6E6DEA6B6AE76965E46662E26460DF
+          615DDD5E5DDC5D5CDA5B5AD95B5AD95B5AD85D5BD65C5CD65C5CD55D5DD55D5D
+          D35D5CD15D5CD15C5DD15C5DCF5D5DCD5D5DCB5B5BC95B5BC75B5AC65A59C65A
+          59C65A59C4595BC4595BC25A5BC25A5BBF585BBF585BBE595BBD585ABD585ABD
+          585A733132733132733132733132733132733132733132733132733132733132
+          7331327331327331327331327331327331327232317232317232317232317332
+          3174333275343375343377363577363579363579363579363579363579363579
+          36357D34367D34367E3636803838833939843A3A853B3B863C3C893F3F8A4040
+          8D42408F4442904543914644924745924745944745964947984B49984B499949
+          489A4A499E4D4AA1504DA75550A95752AD5954B05C57B55F59B6605AB7615BBA
+          625CBE6160C26262C76565C96767CE6A6AD16B6CD66F6DDA706FDF7171E27272
+          E87374ED7677F07879F3787AF77B7BF97A7BFD7B7CFF7C7EFF7E80FF7D7FFE79
+          7BFB7678F87676F87676F77575F47272EE6F6EEA6B6AE76965E36561E0625EDE
+          605CDB5C5BDA5B5AD95A59D95A59D95B5AD75C5AD75B5BD55B5BD55D5DD55D5D
+          D45E5DD35D5CD15C5DD15C5DCF5D5DCD5D5DC95B5BC95B5BC75B5AC65A59C65A
+          59C45A59C4595BC25A5BC25A5BC05A5BBF585BBE595BBD585ABD585ABD585ABD
+          585A723232723232723232723232723232723232723232723232723232723232
+          7232327232327232327232327232327232327232317232317131307131307332
+          3173323174333274333276353476353478353478353478353478353478353478
+          35347C33357D34367E36367F3737813939823A3A833B3B843C3C893F3F8A4040
+          8B413F8D43418F4543904644914745914745924647944849984B49984B49974A
+          48984B499C4D4A9F504DA65552A85754AB5954AE5C57B35F5AB5615CB8625CBA
+          625CBD6160C06362C56565CA6868CE6A6AD16B6CD66F6DDA706FDF7171E27272
+          E87374EC7576EF7778F07879F37979F67A7AFA7878FD7979FE7A7AFE7A7AFB79
+          79F87676F47272F27070F47370F2716EEC6E6AE96B67E66864E36561E0625EDE
+          605CDB5C5BDA5B5AD95A59D95A59D95A5BD85C5CD75B5BD55B5BD55D5DD45C5C
+          D35C5DD35C5DD15C5DD15C5DCF5D5DCC5C5CC95B5BC75B5AC75B5AC65A59C45A
+          59C35958C4595BC25A5BC1595ABF595ABF595ABE5A5ABD5959BB5959BA5759BA
+          5759713131713131713131713131713131713131713131713131723232723232
+          7232327232327232327232327232327232327232317232317131307131307332
+          3173323174333274333275343375343377343378353478353478353478353478
+          35347A34357D34367E36367F3737813939833B3B843C3C843C3C883E3E893F3F
+          8A403E8C42408E44428F4543914745924846924647944849984B49984B49974A
+          48984B499C4D4A9F504DA75653A85754AC5A55AF5D58B35F5AB6625DB9635DBA
+          635FBD6160C06362C56565C76767CB6969CF6B6BD36E6CD7706EDD7170DF7171
+          E57373E97475ED7677EF7778F07878F47878F97A79F97777F87474F67474F674
+          74F67474F47272F27070F06F6CEE6D6AE96B67E76965E66864E46662E26460E1
+          635FDB5C5BDA5B5ADA5B5ADA5C5BDB5C5DD95D5DD75D5DD65C5CD45C5CD35D5C
+          D35C5DD05B5CD05B5CD05B5CCE5C5CCC5C5CC85A5AC75B5AC65A59C45A59C359
+          58C15A58C1595ABF595ABF595ABE5A5ABE5A5ABB5959BB5959BB5959BA5759BA
+          5759713131713131713131713131713131713131713131713131723232723232
+          7232327232327232327232327232327232327232317232317232317232317332
+          3173323173323174333274333275343377343377343377343378353478353478
+          35347A34357B35367C36367E38387F3939813B3B843C3C853D3D853D3D863E3E
+          87403D89423F8D43418F4543904644914745924647944849964A4B964A4B974A
+          48984B499C4C4B9F4F4EA65552A75653AA5853AD5B56B25E59B5615CB7635EBA
+          635FBC605FBE6261C26564C66666CA6868CE6A6AD16C6AD56E6CDA706FDD7170
+          E27272E67474E97475ED7677EE7877EF7777F67877F57675F57373F27372F273
+          72F27372F27470F1736FED6F6BEB6D69E86A66E66864E46661E36560E0625DDF
+          615DDA5C5BD95A5BD95A5BDA5B5CDB5C5DDA5E5ED75D5DD65C5CD35B5CD25B5C
+          D25B5CD05B5CD05B5CCD5B5BCD5B5BCB5B5BC75B5AC55B5AC45A59C35958C359
+          58C15A58C15A58BF5A58BF5A58BE5A58BD5959BB5959BB5959B85858B85858B8
+          5858713131713131713131713131713131713131713131713131723232723232
+          7232327232327232327232327232327232327333327232317232317232317332
+          3173323174333274333274333274333277343377343377343378353478353478
+          35347A34357B35367C36367E3838803A3A813B3B853D3D853D3D853D3D853D3D
+          863F3C88413E8C42408E4442904644914745924647944849964A4B964A4B974A
+          48984B499C4C4B9F4F4EA3524FA55451A85651AB5954B05C57B35F5AB6625DB7
+          635EB95F5EBD6160C06463C36665C76767CB6969D06C6AD36E6CD8716FDB7170
+          DF7171E37373E77575E87676E97876ED7776ED7270F07271F27372F17372F172
+          71EE706FEF716DEE716DF0726EEC6F6BEA6C68E56864E36560DF635DDD5F5ADA
+          5D59D85A59D8595AD8595AD75B5BD85C5CD65C5CD65C5CD35B5BD25B5CD05B5C
+          CF5A5BCD5B5BCD5B5BCD5B5BCD5B5BCB5B5BC75B5AC55B5AC45A59C15A58C15A
+          58BF5A58BF5A58BE5A58BE5A58BC5B58BB5959B95959B95959B85858B85858B8
+          5858713131713131713131713131713131713131713131713131713131713131
+          7131317131317131317131317131317131317131307232317232317333327433
+          3273323173323172313073323174333276333276333275323176333277343378
+          35347834357A36377F3939803A3A813B3B823C3C843E3E853F3F853F3F853F3F
+          87403D88413E89423F8B44418D46438E4744934949944A4A944A4A944A4A9549
+          4A964A4B9B4E4C9D504EA25350A45552A85754AA5956AD5B56AF5D58B2605BB6
+          625DBA605FBC6261BE6463C26665C46766C86868CC6B68D06C6AD7706EDA706F
+          DD7170E07272E17373E37373E37472E77372EE7573EF7472F17372EE7371EF71
+          70EB706EEC6E6DE96E6CEB6E6AE96E6AEA6D69E86D69E96C68E36864DE615DD7
+          5C58D75C5AD75B5BD75B5BD75B5BD75B5BD55B5BD35B5CD25B5CD25B5CCF5A5B
+          CF5A5BCD5B5BCC595CC9585BC9585BC7595BC45A59C25B59C25B59C25B59C25B
+          59C05B59C05B59BE5A58BD5957BC5B58BC5B58BA5B58BA5B58B75A57B75A57B6
+          5956713131713131713131713131713131713131713131713131713131713131
+          7131317131317131317131317131317131317232317232317232317232317332
+          3173323173323173323173323173323176333276333275323175323177343378
+          35347834357A36377F3939803A3A813B3B823C3C843E3E853F3F853F3F853F3F
+          87403D88413E89423F8B44418D46438E4744934949934949944A4A944A4A9549
+          4A964A4B9B4E4C9D504EA1524FA35451A85754AA5956AD5B56AF5D58B2605BB6
+          625DB96260BC6261BE6463BF6564C26665C56867CA6B68CE6D6AD46F6DD7706E
+          DB7170DE7271DF7372E07272E07371E47371E8716FEA716FEA716FE9706EE86F
+          6DE76E6CE66D6BE56C6AE76C6AE56D68E76C68E66B67E46965E06561DA5F5BD7
+          5C5AD65A5AD45A5AD65A5AD45A5AD45A5AD25A5AD15A5BCF5A5BD05B5CCD5B5B
+          CD5B5BCA5A5ACA595CC7595BC7595BC6595BC25B59C25B59C25B59C05B59C05B
+          59BF5B59BE5A58BC5B58BC5B58BA5B58BA5B58B85B58B85B58B85B58B75A57B7
+          5A576F31316F31316F31316F31316F31316F31316F31316F31316F31316F3131
+          6F31316F31316F31316F31316F31316F313172323171313071313070302F7130
+          2F72313072313073323172313073323176333276333275323175323177343378
+          35347834357A36377C39387E3B3A7F3C3B803D3C813E3D83403F853F3F853F3F
+          85403D86413E87423F8944418D46438E474490484891484A944A4A944A4A9549
+          4A964A4B9A4D4B9C4F4DA0504FA25251A75653AA5956AC5B58AE5D5AB2605BB6
+          625DB96260BA6361BB6462BE6463C06463C46766C96A67CD6C69D26E6CD46F6D
+          D8716FDB7170DC7271DE7271DE7370E0716FE26E6DE56D6DE56D6DE56D6DE46C
+          6CE36B6BE26A6AE26B69E26967E16A68E36A68E06765DD6462D9605ED65D5BD5
+          5C5AD45A5AD25A5AD45A5AD25A5AD25A5BD15A5BCF5A5BCD5B5BCD5B5BCB5B5B
+          CB5A5DC85A5CC85A5CC6595BC6595BC4595BC1595ABF595ABF5A58BF5A58BF5A
+          58BE5A58BE5A58BC5B58BC5B58BB5C59BB5D58B95D58B95D58B75C57B75C57B6
+          5B566F31316F31316F31316F31316F31316F31316F31316F31316F31316F3131
+          6F31316F31316F31316F31316F31316F313172323171313070302F6F2F2E702F
+          2E71302F72313073323172313073323176333275323175323175323176333278
+          35347834357A36377C39387E3B3A7F3C3B803D3C813E3D83403F843E3E843E3E
+          85403D85403D87423F8944418D46438E474490474991484A944A4A944A4A9549
+          4A964A4B9A4D4B9B4E4CA0504FA25251A75653AA5956AC5B58AE5D5AB2605BB4
+          625DB86361BA6361BA6361BA6361BD6362C16564C66966CA6B68CF6E6BD26E6C
+          D46F6DD7706ED8716FDA706FD9706DDC6F6DDE6D6BE06C6BE26C6BE06C6BE26C
+          6BE16B6AE16B6AE06A69DD6766DE6966DE6765DB6462D7605ED35C5AD45B59D3
+          5C5AD15959D05A59D15959D05A59D0595ACE595ACC5A5ACA5A5ACA5A5AC85A5A
+          C85A5CC6595BC6595BC4595BC4595BC25A5BBE5859BE5859BF5A58BE5A58BE5A
+          58BC5B58BC5B58BA5B58BB5C59B95C59B95D58B95D58B85D58B85D58B75C57B7
+          5C576F31316F31316F31316F31316F31316F31316F31316F31316F31316F3131
+          6F31316F31316F31316F31316F31316F313171313070302F6F2F2E6E2E2D6F2E
+          2D702F2E71302F72313072313073323175323175323174313075323176333278
+          35347533347735367A39387B3A397E3B3A7F3C3B813E3D823F3E823F3E823F3E
+          843F3C85403D87423F8944418A45428B46438F464890474992494B92494B944A
+          4A954B4B974B4C994D4E9D504EA05351A55653A85956AC5B58AE5D5AB05F5CB3
+          605EB76260B86361B76260B96260BB6160BF6362C46764C86966CD6C69CF6B69
+          D16D6BD36E6CD56E6CD56E6CD56E6BD86D6AD96969DB6969DD6869DC6A6ADD68
+          69DD6869DC6768DC6867DA6665DA6665DB6564D86261D35D5CD05A59D15959D1
+          5B5ACE5758CC5758CE5758CC5758CC5758CA5858C85858C65858C7595BC6595B
+          C5585AC3585AC3585AC1595AC1595ABF595ABE5859BD5959BD5959BD5959BD59
+          57BC5B58BC5B58BA5B58BB5D58B95D58B95D58B85D58B85E57B85E57B55D56B5
+          5D566F31316F31316F31316F31316F31316F31316F31316F31316F31316F3131
+          6F31316F31316F31316F31316F31316F313170302F6F2F2E6E2E2D6E2E2D6F2E
+          2D6F2E2D702F2E71302F72313072313075323175323174313074313076333277
+          34337533347735367A39387B3A397E3B3A7F3C3B813E3D823F3E823F3E823F3E
+          843F3C85403D86413E8843408A45428B46438F464890474991484A92494B944A
+          4A954B4B974B4C984C4D9E514FA05351A65754A85956AC5B58AD5C59AF5E5BB0
+          5F5CB4615FB76260B76260B76260B96260BC6261C16662C46764C86966CB6A67
+          CE6A68CF6B69D06B69D26B69D26B68D36A67D46666D66666D86666D86666D866
+          66D86666D76565D76565D96465D86463D66261D35F5ED25C5BD05A59CF5958CD
+          5958CA5556CA5556CA5556C85656C85656C65656C45656C35756C45759C25759
+          C25759C05859C05859BE5859BE5859BE5859BC5858BC5858BC5858BD5959BB5A
+          57BB5A57BA5B58BA5B58B85C57B95D58B85D58B85D58B85E57B75D56B55D56B4
+          5C556F31316F31316F31316F31316F31316F31316F31316F31316F31316F3131
+          6F31316F31316F31316F31316F31316F31316E2E2D6E2E2D6E2E2D6E2E2D6F2E
+          2D6F2E2D6F2E2D6F2E2D71302F72313075323175323174313074313076333277
+          34337533347735367938377B3A397C3B3A7D3C3B803D3C823F3E823F3E823F3E
+          823F3C83403D86413E8843408A45428B46438E454790474991484A92494B944A
+          4A954B4B974B4C984C4D9E514FA15452A65754A85956AA5B58AB5C59AE5D5AAF
+          5E5BB3605EB4615FB76260B76260B96260BC6261BF6460C26562C66764C96865
+          CC6866CD6967CE6967CE6967CF6865D16865D36565D36567D56467D56467D564
+          67D46366D36265D36363D56363D46262D15F5FCF5D5DD05B5CCE595ACC5758CA
+          5556C85354C65454C65454C45454C45454C25454C25454C15554C25557C05557
+          C05557BE5657BF5758BD5758BD5758BC5858BB5757BB5757BC5858BC5858BB5A
+          57BB5A57B95A57BA5B58B85C57B85C57B75C57B75C57B55D56B55D56B45C55B4
+          5C556F31316F31316F31316F31316F31316F31316F31316F31316F31316F3131
+          6F31316F31316F31316F31316F31316F31316D2D2C6E2E2D6E2E2D6E2E2D6F2E
+          2D6F2E2D6F2E2D6E2D2C71302F72313075323174313074313074313076333277
+          34337533347735367938377B3A397C3B3A7D3C3B803D3C823F3E823F3E823F3E
+          823F3C83403D86413E8843408A45428B45458E46468F464891484A92494B944A
+          4A944A4A974B4C984C4D9D5250A15452A45755A95A57AA5A59AA5B58AB5B5AAE
+          5D5AB3605EB4615FB76260B76260B96260B96260BC635FBF6460C36663C66764
+          C96865C96865CC6866CB6765CC6864CD6664D16668D36668D36668D36668D365
+          67D36567D26466D16365D26262D06060CD5D5DCE5C5CCD5B5BCC5A5AC95757C6
+          5454C55353C35353C35353C15353C15353C05453C05453BE5453BF5456BF5456
+          BD5556BE5657BC5657BC5657BB5757BB5757BB5757BB5755BB5757BC5856BA59
+          56BB5A57B95A57BA5B58B75B56B85C57B85C57B75C57B75D56B45C55B45C55B3
+          5B546D31316D31316D31316D31316D31316D31316D31316D31316E32326E3232
+          6E32326D31316D31316C30306B2F2F6C2E2E6F2F2F6F2F2F6E2E2E6E2E2E6D2D
+          2D6E2E2E6F2D2E6F2D2E6E2C2D6F2D2E702E2F72303173313273313276323376
+          32337634357735367937387B393A7C3A3B7D3B3C813D3E823E3F823F3E83403F
+          83403F83403F83403F8441408943438B45458C46468D4747904848924A4A924A
+          4A924A4A944A4A9349499B51519D5152A05455A55856A7595AA85B59A85A5BAA
+          5A59AE5D5AB05D5BB45F5DB6615FB96260B96260BB6160BD6160C06561C16461
+          C26562C46562C46562C46562C66562C86462CC6465CE6365CE6365CE6365CF62
+          64CF6264CE6163CE6163CE6062CD5F61CB5D5FCC5B5ECA595CC8575AC65558C2
+          5456C15353C15353C15353C05453C15554C15554C25655C15756BE5453BC5553
+          BC5553BD5654BB5654BB5654BC5755BC5755BA5654BA5753B95553B95652B857
+          53B95854B95B56BA5C57BA5C57B75B56B75B56B55A55B55A55B45954B45954B4
+          59546D31316D31316D31316D31316D31316D31316D31316D31316E32326E3232
+          6E32326D31316D31316C30306B2F2F6A2E2E6E2E2E6E2E2E6E2E2E6D2D2D6D2D
+          2D6D2D2D6F2D2E6F2D2E6E2C2D6F2D2E702E2F712F3072303173313275313276
+          32337634357735367937387A38397B393A7C3A3B803C3D823E3F823F3E823F3E
+          823F3E823F3E823F3E8441408842428A44448B45458C4646904848914949924A
+          4A924A4A944A4A934949994F4F9B51519F5354A15556A65859A7595AA7595AAA
+          5A5BAD5B5AAF5C5AB35E5CB5605EB8615FB96260BA605FBA605FBD625EBD625E
+          BF625FC06360C06360C06360C26360C3625FC96364CB6364CB6364CB6364CC61
+          63CB6062CB6062CA5F61CA5D5FC95C5EC85A5CC7595BC6585AC45658C15355BF
+          5153BE5251BE5251BE5251BE5251BE5251BE5251BC5251BC5251BB5452BB5452
+          BB5452BC5553BA5553BA5553BB5654BB5654BA5753BA5753BA5753BA5753B857
+          53B95854B85A55B85A55B85A55B85A55B65A55B55954B45954B35853B35853B3
+          58536D31316D31316D31316D31316D31316D31316D31316D31316E32326E3232
+          6E32326D31316D31316C30306B2F2F6A2E2E6D2D2D6D2D2D6D2D2D6D2D2D6D2D
+          2D6D2D2D6E2E2E6E2E2E6E2C2D6F2D2E702E2F712F3072303173313273313273
+          31327533347735367836377A38397A38397B393A7F3B3C813D3E813E3D813E3D
+          823F3E823F3E823F3E83403F8842428943438A44448B45458F47479048489149
+          49924A4A944A4A934949974D4D994F4F9C50519F5354A15556A35758A65859A8
+          5859AB5958AD5A59B15C5AB35E5CB45F5DB5605EB8615FB8615FBA605FBB6160
+          BD625EBE635FBF625FBF625FBF625FC0615EC56161C66061C86061C86061C75F
+          60C75F60C85D5FC75C5EC55A5CC4595BC45759C35658C35557C25456BF5153BD
+          4F51BF5352BF5451BE5350BE5350BB524FBC5350BC5350BC5350BA5350BA5350
+          B95551B95551B95551BA5652B95652B95652B95652BA5753B85753B85753B857
+          53B85753B65853B65853B45853B45853B45853B45853B25752B25752B15651B1
+          56516D31316D31316D31316D31316D31316D31316D31316D31316D31316D3131
+          6D31316D31316D31316C30306B2F2F6B2F2F6D2D2D6C2C2C6C2C2C6C2C2C6C2C
+          2C6D2D2D6D2D2D6E2E2E6E2C2D6F2D2E702E2F712F3072303173313273313273
+          31327432337634357836377937387937387A38397E3A3B7F3B3C803D3C813E3D
+          813E3D823F3E823F3E83403F8741418842428943438A44448D45458F47479048
+          48914949944A4A944A4A954B4B964C4C994D4E9C50519F5354A15556A45657A4
+          5657A95756AB5857AF5A58B15C5AB35E5CB45F5DB7605EB7605EBA605FBA605F
+          BD625EBD625EBD605DBD605DBC5F5CBE5F5CC35F5FC45E5FC45E5FC55D5EC45C
+          5DC35B5CC35B5CC4595BC3585AC25759C35658C25557C15456C15355BF5153BC
+          504FBF5451BE5350BE5350BC5350BC5350BC5350BD5451BB5451BB5451B95551
+          B95551BA5652BA5652BA5652BA5753BA5753B85551B95652B85753B85753B857
+          53B75652B45651B35550B25651B25651B25651B25651B05550B05550B05550B0
+          55506D31316D31316D31316D31316D31316D31316D31316D31316D31316D3131
+          6D31316D31316D31316C30306C30306B2F2F6D2D2D6D2D2D6C2C2C6C2C2C6C2C
+          2C6D2D2D6D2D2D6D2D2D6E2C2D6E2C2D6F2D2E712F3072303172303173313273
+          31327432337533347735367836377836377937387D393A7E3A3B7E3B3A803D3C
+          813E3D813E3D813E3D823F3E8640408741418842428943438A44448C46468F47
+          47914949924A4A924A4A934949944A4A974B4C9A4E4F9C50519E52539F5354A2
+          5455A85655A95756AB5857AD5A59AF5C5AB15E5CB45F5DB45F5DB7605EB7605E
+          B95F5EB95F5EBA5F5BB95E5AB95C59BB5C59BE5D5AC05C5AC05C5AC15C5AC05B
+          59BF5A58BD5856BF5856BF5856BD5654BE5453BE5453BD5352BE5251BC504FBB
+          4F4EBA4F4CB84F4CB9504DB9504DBA514EB9524FBA5350BA5350BC5552BA5652
+          BA5652B95652BA5753BA5753BA5753BB5854B55450B65551B65551B65551B456
+          51B35550B2544FB1534EB0544FB0544FAF544FAF544FAF544FAF544FAE534EAE
+          534E6D31316D31316D31316D31316D31316D31316D31316D31316C30306D3131
+          6D31316D31316D31316C30306C30306C30306C2E2E6E2E2E6D2D2D6D2D2D6C2C
+          2C6C2C2C6D2D2D6D2D2D6D2B2C6E2C2D6F2D2E702E2F712F3072303172303173
+          31327331327432337634357735367735367836377B37387D393A7D3A397F3C3B
+          803D3C813E3D813E3D813E3D853F3F8640408741418741418943438A44448E46
+          46904848914949924A4A934949944A4A964A4B984C4D9A4E4F9C50519D5152A0
+          5253A55554A75554A95655AB5857AC5957AE5B59B15C5AB25D5BB7605EB7605E
+          BA605FBA605FBB605CBB605CBB5E5BBB5E5BBD5C59BE5A58BE5A58BD5957BC58
+          56BC5755BB5654BA5553BC5553BB5452BA5351BB5150BB5150BA504FB94F4EB7
+          4E4BB84F4CB84F4CB84F4CB9504DB8514EB9524FBA5350B95551B95551B95551
+          B85551B85551B95652B95652BA5753B85753B4534FB4534FB4534FB2544FB153
+          4EB1534EB0524DAE524DAF534EAF534EAE534EAE534EAE534EAE534EAE534EAE
+          534E6D31316D31316D31316D31316D31316D31316D31316D31316C30306C3030
+          6D31316D31316D31316D31316C30306C30306E30306D2F2F6C2E2E6C2E2E6D2D
+          2D6C2C2C6C2C2C6C2C2C6C2C2C6D2D2D6F2D2E702E2F712F3072303172303172
+          30317230317432337533347634357634357735367A36377C38397D3A397E3B3A
+          803D3C803D3C803D3C813E3D843E3E853F3F8640408741418842428A44448C46
+          468E4848914949924A4A934949944A4A944A4A964C4C984C4D9A4E4F9B4F509E
+          5051A35352A35352A65453A75554A95655AB5857AE5957AF5A58B45D5BB45D5B
+          B75D5CB85E5DB95F5EB95F5EBB605CBC5F5CBB5A56BB5A56BB5A56BA5955B958
+          54BA5753B85551B85551B95551B85450B7534FB9524FB9524FB9524FB7504DB5
+          4E4BB64F4CB6504BB7514CB7514CB8524DB9534EB8544FB95550B6524DB5534D
+          B5534DB6544EB4544EB4544EB5554FB55450B2514DB0514EAF504DAF504DAF50
+          4DAD504DAD504DAD504DAE514EAD524EAD524EAD524EAD524EAD524EAB524EAB
+          524E6D31316D31316D31316D31316D31316D31316D31316D31316C30306C3030
+          6D31316D31316D31316D31316C30306C30306F31316E30306D2F2F6C2E2E6D2D
+          2D6C2C2C6C2C2C6C2C2C6C2C2C6D2D2D6F2D2E702E2F712F3072303172303172
+          30317230317331327533347634357634357634357A36377B37387C39387E3B3A
+          7F3C3B803D3C803D3C813E3D843E3E853F3F853F3F8640408741418943438B45
+          458E4848914949924A4A934949944A4A944A4A954B4B984C4D994D4E9A4E4F9B
+          4F50A05351A25251A45251A55352A65453A85554AA5755AC5755AA5553AD5654
+          AF5856B25857B45A59B65C5BB85D59B95E5AB95B56B95B56BA5955B95854B857
+          53B75652B65551B75450B95652B85551B85450B85450B85450B85450B8514EB7
+          504DB44E49B44E49B44E49B44E49B54F4AB34F4AB4504BB3514BB2504AB2504A
+          B3514BB1514BB2524CB2524CB2524CB0524DB0514EAD504DAE4F4CAB4E4BAB4E
+          4BAC4F4CAD504DAD504DAC514DAC514DAD524EAD524EAD524EAD524EAB524EAB
+          524E6D31316E32326E32326E32326E32326D31316D31316C30306E32326E3232
+          6D31316D31316D31316D31316D31316D31316D2F2F6D2F2F6C2E2E6B2D2D6B2D
+          2D6A2C2C6C2C2C6C2C2C6D2D2D6D2D2D6E2E2E6E2E2E6F2F2F71313173313273
+          31327331327331327432337533347634357735367A36377A36377B38377C3938
+          7E3B3A7E3B3A7E3B3A7F3C3B823C3C843E3E823F3E8441408842428943438A44
+          448C4646904848924A4A924A4A934B4B954B4B954B4B964A4B974B4C994D4E9B
+          4F509E50519E5051A15150A15150A15150A45251A45251A55251A95655AB5555
+          AC5755AE5755AE5755AD5654AE5453AF5450B45853B45853B65853B55752B456
+          51B35550B2544FB4534FB55450B4534FB5524EB4514DB24F4BB14E4AB14D49B1
+          4D49B04C48B04C48B04C48B04C48B14D49B04D49B04D49B04D49B04D49AE4D49
+          AF4E4AAD4F4AAE504BAE504BAE504BAE504BAC4F4CAB4F4EAC4F4EAB4F4EAB4F
+          4EAB4F4EAA4E4DAA4E4DAA4E4DAA4E4DAA4E4DAA4E4DA84E4DA84E4DA94F4EA9
+          4F4E6D31316D31316D31316D31316D31316C30306C30306C30306E32326D3131
+          6D31316D31316C30306D31316D31316D31316D2F2F6D2F2F6C2E2E6B2D2D6B2D
+          2D6A2C2C6C2C2C6C2C2C6D2D2D6D2D2D6D2D2D6E2E2E6F2F2F70303072303173
+          31327331327331327432337533347634357735367935367A36377B38377C3938
+          7D3A397E3B3A7E3B3A7F3C3B823C3C833D3D813E3D83403F8741418842428943
+          438B45458F4747904848914949924A4A954B4B944A4A95494A964A4B984C4D99
+          4D4E9C4E4F9C4E4F9F4F4E9F4F4E9F4F4EA0504FA2504FA2504FA65352A75453
+          AA5553AA5553AC5553AC5553AD5352AC5251AF5450AF544FB0544FB0544FAF53
+          4EB0524DAF514CAF514CB1534EB2514DB1504CB04F4BAF4E4AAF4C48AE4B47AE
+          4B47AD4945AE4A46AE4A46AE4A46AD4A46AD4A46AD4A46AB4A46AD4C48AD4C48
+          AB4D48AB4D48AC4E49AC4E49AD4F4AAB4E4BA84C4BA84C4BA84C4BA84C4BA74B
+          4AA74B4AA74B4AA74B4AA84C4BA84C4BA84C4BA94D4CA74D4CA74D4CA74D4CA7
+          4D4C6D31316C30306B2F2F6B2F2F6A2E2E6B2F2F6B2F2F6C30306D31316D3131
+          6C30306C30306C30306C30306D31316D31316D2F2F6D2F2F6C2E2E6B2D2D6B2D
+          2D6A2C2C6A2C2C6A2C2C6C2C2C6C2C2C6D2D2D6D2D2D6E2E2E70303071313171
+          31317331327331327432337432337533347634357935367935367A37367B3837
+          7D3A397D3A397D3A397E3B3A813B3B833D3D803D3C813E3D83403F8542418741
+          418943438B45458C4646914949924A4A944A4A944A4A934949944A4A954B4B97
+          4D4D984C4D984C4D9A4C4D9A4C4D9D4D4C9D4D4C9F4D4CA04E4DA3504FA45150
+          A75151A85252A85351A85351AA5351AB5150AB524EAB524EAD524EAC514DAC51
+          4DAC4F4CAB4E4BAA4D4AAC4F4CAE4F4CAD4E4BAB4C49AA4B48AB4A47AA4946AA
+          4946AA4644AA4644AB4745AB4745AB4745AB4745A94845A94845AB4A47A94A47
+          A94A47A94A47A84B48A84B48A94C49A94C49A84C4BA64C4BA64C4BA54B4AA54B
+          4AA54B4AA54B4AA54B4AA54B4AA54B4AA54B4AA54B4AA54B4AA54B4AA64C4BA6
+          4C4B6C30306B2F2F6A2E2E692D2D692D2D692D2D6B2F2F6B2F2F6C30306C3030
+          6B2F2F6B2F2F6B2F2F6C30306C30306C30306D2F2F6D2F2F6C2E2E6B2D2D6B2D
+          2D6A2C2C6A2C2C6A2C2C6C2C2C6C2C2C6C2C2C6D2D2D6E2E2E6F2F2F70303071
+          31317331327331327331327432337533347533347834357834357936357A3736
+          7C39387C39387C39387D3A39803A3A823C3C7F3C3B813E3D823F3E8441408640
+          408842428A44448B4545904848914949944A4A944A4A934949944A4A954B4B96
+          4C4C964A4B964A4B984A4B994B4C9B4B4A9B4B4A9E4C4B9E4C4BA14E4DA24F4E
+          A54F4FA65050A75250A75250A95250A95250AB524EAB524EAB524EAB524EAC51
+          4DAB504CAB504CAB4E4BAA4D4AAA4D4AAB4C49AA4B48A94A47A84946A74845A9
+          4845AA4644AA4644AA4644AA4644AA4644A84744A94845A74845A74845A74845
+          A84946A64946A64946A74A47A74A47A64B47A64C4BA64C4BA64C4BA54B4AA54B
+          4AA54B4AA54B4AA54B4AA44A49A44A49A44A49A44A49A44A49A54B4AA54B4AA5
+          4B4A6C30306B2F2F692D2D682C2C682C2C692D2D6A2E2E6B2F2F6B2F2F6A2E2E
+          6A2E2E6A2E2E6A2E2E6B2F2F6C30306C30306B2F2F6B2F2F6A2E2E692D2D6B2D
+          2D6A2C2C6A2C2C6A2C2C6A2C2C6A2C2C6C2C2C6D2D2D6E2E2E6F2F2F70303071
+          3131723031733132733132733132743233753334773334773334783534793635
+          7A37367B38377B38377C39387F3939803A3A7F3C3B803D3C823F3E83403F8640
+          408741418943438A44448F4747914949924A4A924A4A944A4A944A4A954B4B96
+          4C4C95494A95494A964A4B964A4B984A4B994B4C9B4B4A9B4B4A9F4D4C9F4D4C
+          A24F4EA3504FA45150A45150A6514FA6514FA8514FA8514FA95250A95250AA50
+          4FAA504FA94F4EAA4E4DA84C4BA84C4BA84B4AA84B4AA74A49A64948A54847A7
+          4747A64444A84444A64444A74545A74545A74545A74545A54545A74747A54847
+          A54847A54847A64948A54948A64A49A64A49A44A4AA24A4AA14949A14949A349
+          49A34949A34949A34949A44A4AA44A4AA44A4AA44A4AA44A4AA44A4AA54B4BA5
+          4B4B6B2F2F6A2E2E692D2D682C2C682C2C692D2D692D2D6A2E2E692D2D692D2D
+          692D2D692D2D6A2E2E6A2E2E6B2F2F6C30306B2F2F6B2F2F6A2E2E692D2D6B2D
+          2D6A2C2C6A2C2C6A2C2C6A2C2C6A2C2C6D2D2D6D2D2D6E2E2E70303071313171
+          3131723031723031733132733132733132743233763233763233773433783534
+          7936357A37367A37367B38377E38387F39397E3B3A803D3C813E3D823F3E853F
+          3F8640408741418943438D45458F4747904848914949934949934949944A4A95
+          4B4B95494A95494A95494A964A4B984A4B994B4C9B4B4A9B4B4A9D4B4A9E4C4B
+          A04D4CA24F4EA3504FA3504FA44F4DA44F4DA64F4DA64F4DA64F4DA64F4DA84E
+          4DA84E4DA74D4CA74D4CA84C4BA84C4BA84B4AA74A49A74A49A64948A54847A7
+          4747A44242A74343A54343A54343A54343A54343A34343A44444A44746A44746
+          A54847A54847A44847A54948A54948A34948A44A4AA24A4AA24A4AA24A4AA44A
+          4AA44A4AA34949A34949A44A4AA44A4AA44A4AA44A4AA44A4AA44A4AA54B4BA5
+          4B4B6A2E2E6A2E2E692D2D692D2D692D2D692D2D692D2D692D2D692D2D692D2D
+          692D2D692D2D692D2D6A2E2E6B2F2F6B2F2F6B2F2F6B2F2F6A2E2E692D2D6B2D
+          2D6A2C2C6A2C2C6A2C2C6B2D2D6B2D2D6B2D2D6C2E2E6F2F2F70303071313172
+          3232723031723031723031733132733132733132753132763233763332773433
+          7936357936357936357A37367D37377F39397D3A397E3B3A803D3C813E3D813E
+          3D823F3E8640408741418A42428C44448E46468F474792484892484893494994
+          4A4A944A4A944A4A95494A95494A964A4B964A4B994B4C994B4C9A4A499B4B4A
+          9E4C4B9F4D4CA14E4DA14E4DA24C4CA24C4CA14C4AA14C4AA44D4BA44D4BA44D
+          4BA34C4AA54B4AA54B4AA64C4BA54B4AA74B4AA64A49A64948A64948A54847A7
+          4747A54244A54244A54244A54244A34244A34244A44345A44345A34546A34546
+          A34647A34647A34647A44748A44748A24848A54B4BA34B4BA34B4BA34B4BA34B
+          4BA24A4AA24A4AA24A4AA34949A34949A34949A34949A44A4AA44A4AA44A4AA4
+          4A4A692D2D692D2D6A2E2E6A2E2E682F2E672E2D672E2D682C2C682C2C682C2C
+          6A2C2C6A2C2C692D2D6A2E2E6B2F2F6B2F2F6B2F2F6B2F2F6A2E2E692D2D6B2D
+          2D6A2C2C6A2C2C6A2C2C6B2D2D6B2D2D6C2E2E6C2E2E6D2F2F6F313172323272
+          3232723031723031723031733132733132733132753132753132763332773433
+          7835347936357936357936357D37377E38387C39387D3A397F3C3B803D3C803D
+          3C813E3D843E3E8640408840408A42428C44448E464690464691474792484893
+          494993494993494995494A95494A95494A964A4B984A4B984A4B974A48994948
+          9B4B4A9C4C4B9E4C4B9E4C4B9E4B4A9E4B4A9E4B499E4B49A14C4AA14C4AA14C
+          4AA14C4AA24B49A24B49A34C4AA34C4AA44A49A44A49A54948A54948A44847A5
+          4847A44345A44345A44345A44345A54446A34546A54446A34546A24445A24445
+          A24546A24546A24546A34647A34647A14747A34949A14949A04848A04848A048
+          48A04848A04848A04848A24848A24848A34949A34949A34949A34949A34949A3
+          4949703133672B2C632728682E2F662E2D632B2A68302F672E2D692D2D6B2D2D
+          6D2D2D6D2D2D6C2F2D6A2F2D6A2F2D6A2F2D6A2E2E6C2E2E6C2E2E6C2E2E6B2D
+          2D6B2D2D6B2D2D6A2C2C692D2D6A2E2E6B2F2F6C30306D31316D31316F31316F
+          3131713131723031723031733132733132733132733132733132773334773334
+          7733347834357834357935367935367936357D3A397E3B38803B38813C39823D
+          3A833E3B843F3C843F3C85403D86413E89423F8B44418D46438E474490494690
+          4946924846934947934947944A48944A48944A48954A48954A48954A48974A48
+          984B49984B49984B49994C4A9B4B4A9B4B4A9C4A499C4A499C4A499C4A499D4A
+          499D4A499E4B4A9E4B4AA14B4BA04A4AA14949A14949A14949A149499F47479F
+          4545A04344A14344A14344A14344A14344A04344A24445A14445A04344A04344
+          A04344A14445A24546A24546A34647A14747A14747A04848A04848A04848A048
+          48A04848A04848A048489E46469F47479F4747A04848A04848A048489F47479F
+          474768292B6D31326D3132682E2F642C2B652D2C68302F642B2A6B2D2D6D2D2D
+          6D2D2D6D2D2D6B2E2C6A2F2D6A2F2D682F2D6C2E2E6C2E2E6C2E2E6C2E2E6B2D
+          2D6B2D2D6B2D2D6B2D2D6A2E2E6A2E2E6B2F2F6C30306D31316D31316D31316F
+          3131713131723031723031733132733132733132733132733132763233773334
+          7733347834357834357935367935367936357C39387C39367F3A37803B38813C
+          39833E3B833E3B843F3C843F3C85403D88413E8A43408B44418D46438E47448F
+          4845914745924846924846934947934947934947944947944947954A48954A48
+          964B49964B49964B49974C4A994C4A994C4A9A4A499A4A499A4A499A4A499C4A
+          499D4B4A9D4B4A9D4B4A9E4B4A9D4A499F49499F49499F49499F49499D47479E
+          46469E4444A043449F42439F4243A04344A04344A14445A144459F42439F4243
+          A04344A04344A14445A14445A24546A046469F47479F47479F47479F47479F47
+          47A04848A04848A048489E46469F47479F4747A04848A04848A04848A048489F
+          47476425276A2E2F6A2E2F63292A662D2C6A3130672E2D682C2C6B2D2D6D2D2D
+          6D2D2D6D2D2D6B2E2C692E2C6A2F2D682F2D6C2E2E6C2E2E6C2E2E6B2D2D6B2D
+          2D6B2D2D6B2D2D6B2D2D6A2E2E6B2F2F6B2F2F6C30306D31316D31316D31316F
+          3131713131713131723031733132733132733132733132733132733132743233
+          7632337733347834357935367935367936357A37367A37347B38357D3A37803B
+          38813C39823D3A833E3B833E3B833E3B863F3C88413E8A43408B44418C45428D
+          4643904644904644914745924846924846924846924846924846954A48954A48
+          954A48964B49964B49974C4A974C4A994C4A9A4A499A4A499A4A499A4A499A4A
+          499A4A499D4B4A9D4B4A9D4A499D4A499C49489C49489F49499F49499E48489E
+          46469E44449D43439D43439D43439D43439E44449E44449F45459D43439D4343
+          9D43439D43439E44449E44449F45459F45459E46469C46469C46469C46469C46
+          469C46469D47479D47479D47479D47479D47479E48489E48489E48489E48489E
+          48486C2D2F672B2C65292A6228296A31306D31316529296C2E2E6C2C2C6C2C2C
+          6D2D2D6D2D2D6B2E2C692E2C692E2C672E2C6C2E2E6C2E2E6B2D2D6B2D2D6B2D
+          2D6B2D2D6B2D2D6B2D2D6B2F2F6B2F2F6C30306D31316D31316D31316D31316D
+          3131713131713131723031733132733132733132733132733132733132733132
+          7632337632337733347834357935367936357835347936337A37347B38357E39
+          36803B38813C39813C39823D3A823D3A853E3B87403D88413E8A43408B44418B
+          44418F45438F4543904644914745914745914745914745914745944947944947
+          954A48954A48964B49964B49964B49964B49974A489949489A4A499A4A499A4A
+          499A4A499C4A499C4A499C49489B48479B48479C49489F49499F49499E48489C
+          46469B43439B43439D43439A42429D43439B43439E44449C44449D43439B4343
+          9D43439C44449E44449C44449E44449C44449A44449B45459B45459B45459B45
+          459B45459B45459C46469C46469D47479D47479E48489E48489E48489E48489D
+          47476B2F30692D2E6E3233672B2C692D2D6E30306527276B2B2B6C2C2C6C2C2C
+          6C2C2C6D2D2D6B2E2C692E2C692E2C672E2C6B2D2D6B2D2D6B2D2D6B2D2D6B2D
+          2D6B2D2D6C2E2E6C2E2E6B2F2F6C30306C30306D31316D31316D31316D31316D
+          3131713131713131713131723232733132733132733132733132733132733132
+          7331327432337733347733347834357835347734337734317835327A37347B38
+          357C39367F3A37803B38813C39823D3A833E3B843F3C87403D89423F8A43408A
+          43408D43418E44428F4543904644904644914745914745914745934846934846
+          944947944947944947954A48954A48954A48964947974A48974A48974A489949
+          489949489B49489C4A499A48479947469A47469B48479C49489C49489C46469B
+          45459842429842429A42429842429A42429943439B43439943439C44449A4444
+          9C44449A44449C44449A44449D45459B45459A44449A44449A44449A44449A44
+          449A44449B45459B45459C46469C46469D47479D47479D47479D47479D47479D
+          4747632A2B612728703637672B2C6123237030306C2C2C6B2B2B6C2C2C6C2C2C
+          6C2C2C6A2C2C6A2D2B692E2C692E2C692E2C6B2D2D6B2D2D6B2D2D6B2D2D6B2D
+          2D6C2E2E6C2E2E6C2E2E6C30306C30306D31316D31316D31316D31316D31316D
+          3131713131713131713131723232733132733132733132733132733132733132
+          7331327432337632337632337733347733347734337734317835327936337A37
+          347B38357D38357E3936803B38813C39823D3A833E3B863F3C87403D88413E89
+          423F8B413F8C42408D43418E44428F45438F4543904644904644924745924745
+          9247459348469348469348469449479449479548469548469649479649479848
+          479848479A48479A48479947469846459946459946459A47469A47469B454599
+          43439842429643429741419542419842429643429943439744439A4444984544
+          9A44449845449A44449845449A44449A44449943439943439A44449A44449A44
+          449A44449A44449A44449B45459B45459C46469C46469D47479C46469C46469C
+          4646844E4E5C2626652B2C672B2C642424702E2F6D2B2C6F2D2E6D2B2C6C2C2C
+          6C2C2C6A2C2C6A2D2B682D2B692E2C692E2C6B2D2D6B2D2D6B2D2D6B2D2D6C2E
+          2E6C2E2E6C2E2E6C2E2E6C30306D31316D31316E32326E32326D31316D31316D
+          3131713131713131713131723232723232723232733132733132743233743233
+          7432337331327331327331327531327531327835347835347835347936357936
+          357A37367A37367A37367F39397F3939803A3A813B3B823C3C833D3D843E3E85
+          3F3F87403D87403D89423F8A43408D43418D43418E44428E44428F4543904644
+          9146449146449247459247459247459348469447459447459447459548469548
+          4695484697474697474699474698464597454497454499464598454497444395
+          4241964342944241954241944241954241954342964342964443984544974544
+          9845449745449845449644439744439744439744439744439744439845449845
+          449845449845449845449845449845449946459946459A47469A474699464599
+          4645BD8B8B6430305A21226D31326E2E2E702C2D682425712D2E6D2B2C6C2C2C
+          6A2C2C6A2C2C682D2B682D2B692E2C692E2C6A2C2C6B2D2D6B2D2D6B2D2D6C2E
+          2E6C2E2E6C2E2E6C2E2E6D31316D31316D31316E32326E32326D31316D31316D
+          31316F3131713131713131723232723232723232733132733132743233743233
+          7432337331327331327331327531327430317835347835347835347936357936
+          357936357936357A37367E38387E38387F3939803A3A813B3B823C3C833D3D83
+          3D3D853E3B863F3C87403D88413E8B413F8C42408C42408C42408F45438F4543
+          9045439045439146449146449247459247459447459447459447459447459447
+          4594474596464597474698464597454497454496444398454497444395424193
+          4140944241944241944241944241944241944241954342954342964443964443
+          9644439644439644439543429543429543429744439744439845449845449845
+          4498454498454498454497444398454498454499464599464599464599464598
+          4544FFD9D86C3C3B5B27275B21227131316E2A2B651F20742E2F6E2A2B6B2B2B
+          6A2C2C692D2D6A2F2D6A2F2D6C2F2D6C2F2D6C2E2E6B2D2D6B2D2D6A2C2C6B2D
+          2D6B2D2D6C2E2E6D2F2F6D31316D31316D31316E32326E32326D31316D31316D
+          31316F31316F3131713131713131713131713131713131713131723232723232
+          7331327331327331327331327331327331327332317433327433327534337835
+          347936357936357936357B38377B38377E3838803A3A813B3B823C3C833D3D84
+          3E3E853E3B853E3B863F3C87403D89423F8A43408D43418D43418F45438F4543
+          8F45438F45439046449046449247459348469045439146449146449146449346
+          4493464493464492454394444394444395434294424194424194424194424194
+          4241934140914140914140914140924241924241924241924241934342934342
+          9343429343429242419242419242419442419744439744439744439744439845
+          4498454498454498454498454498454498454498454497444397444397444397
+          4443FFE4E2966D6B582827672E2F6424246B27287C36376A24256E2A2B6B2B2B
+          6A2C2C692D2D692E2C692E2C6B2E2C6B2E2C6C2E2E6B2D2D6B2D2D6A2C2C6B2D
+          2D6B2D2D6C2E2E6D2F2F6C30306D31316D31316E32326E32326D31316D31316D
+          31316F31316F3131713131713131713131713131713131713131713131713131
+          7230317331327331327331327331327331327332317433327433327534337835
+          347835347936357936357A37367A37367D37377F3939803A3A813B3B823C3C83
+          3D3D843D3A853E3B863F3C87403D88413E89423F8C42408C42408D43418D4341
+          8D43418D43418E44428E44429045439146449045439045439045439146449346
+          4492454392454392454394444393434295434294424194424194424194424194
+          4241914140914140914140914140924241924241924241924241924241924241
+          9242419242419242419242419242419242419644439744439744439744439744
+          4398454498454498454498454498454498454497444397444397444397444397
+          4443FFE3E0E0BDBA5226256430306527276D292A712B2C6D27286B292A692B2B
+          672B2B662D2C682D2B6A2D2B6C2C2B6C2C2B6B2D2D6B2D2D6B2D2D6B2D2D6B2D
+          2D6B2D2D6C2E2E6C2E2E6C30306C30306D31316D31316D31316D31316D31316D
+          31316F31316F31316F31316F3131713131713131713131713131713131713131
+          7131317131317331327331327331327331327332317332317433327433327534
+          337635347835347835347936357936357A37367B38377F3939803A3A813B3B81
+          3B3B843D3A843D3A853E3B863F3C87403D88413E88413E89423F8C42408B413F
+          8B413F8B413F8B413F8C42408D43418D43418E44428E44428F44429045439045
+          438F444291444291444291444291444292424191414093414093414093414093
+          4140914140914140914140914140924241924241924241924241924241924241
+          9242419242419242419242419242419242419543429543429644439644439644
+          4396444396444396444397454497454496444396444396444396444396444396
+          4443FDE4E0FFEAE668413F623030682C2C722E2F621C1D732D2E6B292A682A2A
+          672B2B652C2B682D2B6A2D2B6B2B2A6C2B2A6D2D2D6B2D2D6B2D2D6B2D2D6B2D
+          2D6B2D2D6B2D2D6C2E2E6B2F2F6C30306C30306D31316D31316D31316D31316D
+          31316F31316F31316F31316F3131713131713131713131713131703030703030
+          7131317131317230317331327331327331327332317332317433327433327534
+          337534337734337734337835347936357A37367B38377E38387F3939803A3A80
+          3A3A833C39843D3A843D3A853E3B863F3C87403D87403D88413E8A403E8A403E
+          8A403E8A403E8A403E8A403E8B413F8B413F8C42408D43418E43418E43418E43
+          418E43419043418F424090434190434191414090403F92403F92403F92403F92
+          403F914140914140914140914140914140914140924241924241914140914140
+          9242419242419242419242419242419242419543429543429543429543429644
+          4396444396444396444396444396444396444396444396444396444395434295
+          4342FFEEE9FBE5E0A887845B2D2C6027266F2D2E712B2C6F292A6B292A682A2A
+          652C2B652C2B672C2A692C2A6C2B2A6C2B2A6C2C2C6A2C2C6A2C2C6B2D2D6B2D
+          2D6B2D2D6B2D2D6B2D2D6B2F2F6B2F2F6C30306D31316D31316D31316D31316D
+          31316F31316F31316F31316F31316F31316F3131713131713131703030703030
+          7131317131317131317131317331327331327331327331327331327432337432
+          337432337432337533347834357935367935367A36377B37387C38397D393A7D
+          3A39813C39813C39823D3A833E3B853E3B863F3C87403D87403D87403D87403D
+          893F3D893F3D893F3D8A403E8A403E8B413F8B413F8B413F8C42408C42408D42
+          408D42408C413F8C413F8F42408F424090403F8F3F3E8F3F3E8F3F3E8F3F3E8F
+          3F3E90403F90403F90403F90403F90403F914140914140914140914140914140
+          9242419242419242419242419343429343429242419242419343429343429343
+          4293434293434293434294444394444394444394444394444393434293434293
+          4342F6EAE4F6E3DEE6C7C4522625622A296927287731326D27286B292A692B2B
+          652C2B642C2B672C2A692C2A6C2B2A6B2A296B2B2B6A2C2C6A2C2C6B2D2D6B2D
+          2D6B2D2D6B2D2D6A2C2C6A2E2E6B2F2F6B2F2F6C30306D31316D31316D31316D
+          31316F31316F31316F31316F31316F31316F3131713131713131713131713131
+          7131317131317131317131317230317230317331327331327331327331327331
+          327331327432337432337834357834357935367A36377B37387B37387C38397C
+          3938803A3A803B38813C39813C39843D3A843D3A853E3B853E3B853E3B853E3B
+          873D3B883E3C883E3C893F3D8A403E8B413F8A403E8A403E8A403E8B413F8C41
+          3F8B403E8B403E8B403E8E413F8E413F8F3F3E8E3E3D8E3E3D8E3E3D8E3E3D8E
+          3E3D8F3F3E8F3F3E8F3F3E8F3F3E8F3F3E8F3F3E90403F90403F90403F914140
+          9141409141409242419242419242419343429242419242419242419242419242
+          4193434293434293434294444394444394444393434293434293434293434293
+          4342ECE4DDFEF0EAFDE2DE7A514F662E2D6727276E2829702A2B6B2B2B672B2B
+          662D2C652D2C682D2B692C2A6E2B2A6D2A296B2B2B692B2B6A2C2C6B2D2D6B2D
+          2D6B2D2D6A2C2C6A2C2C6A2E2E6A2E2E6B2F2F6C30306D31316D31316D31316D
+          31316F31316F31316F31316F31316F31316F31316F31316F3131723232723232
+          7131317131317030307030307030306F2F2F7331327331327331327331327331
+          327331327331327331327733347733347834357834357935367A36377A36377B
+          38377E38387E39367F3A377F3A37823B38823B38833C39833C39833C39833C39
+          843D3A843D3A873D3B893F3D8A403E8A403E893F3D893F3D8A403E8A403E8A40
+          3E8A403E8A3F3D8A3F3D8D403E8D403E8C3F3D8B3E3C8D3D3C8D3D3C8D3D3C8D
+          3D3C8D3D3C8E3E3D8E3E3D8E3E3D8E3E3D8E3E3D8E3E3D8E3E3D8F3F3E8F3F3E
+          8F3F3E90403F90403F9141409141409141409141409141409242419242419242
+          4192424192424192424194444394444393434293434293434293434293434293
+          4342F4EEE9FBF0ECFDE4E2C49E9C582626662A2A702D306D292A6B2B2B6A2C2C
+          682C2C662D2C682D2B692C2A6C2B2A6C2B2A6B2B2B692B2B6A2C2C6B2D2D6B2D
+          2D6B2D2D6A2C2C6A2C2C692D2D6A2E2E6B2F2F6C30306D31316D31316D31316D
+          31316F31316F31316F31316F31316F31316F31316F31316F3131723232723232
+          7131317131317030306F2F2F6F2F2F6F2F2F7331327331327331327331327331
+          3273313273313273313276323376323377333477333478343579353679353679
+          35367D37377D38357D38357E3936803936813A37813A37813A37813A37823B38
+          823B38833C39863C3A883E3C893F3D8A403E883E3C893F3D893F3D893F3D893F
+          3D893F3D8A3F3D893E3C8D403E8C3F3D8C3F3D8B3E3C8B3E3C8C3C3B8D3D3C8D
+          3D3C8D3D3C8D3D3C8D3D3C8D3D3C8D3D3C8E3E3D8E3E3D8E3E3D8D3D3C8D3D3C
+          8E3E3D8E3E3D8F3F3E8F3F3E90403F90403F9141409141409141409242419242
+          4192424192424192424194444394444393434293434293434293434293434293
+          4342E7E2DFFBF2EFF3DFDEF0D2D15F35365D2929692C306C2B2D6B2B2B6B2B2B
+          6A2C2C6A2C2C6A2D2B6B2E2C6D2E2A6D2D2C6B2D2D692D2D692D2D692D2D692D
+          2D692D2D692D2D692D2D6A2E2E6A2E2E6B2F2F6C30306C30306D31316E32326E
+          32327032327032326F31316E30306E30306E30306E30306E30306D2D2D6E2E2E
+          6E2E2E6F2F2F6F2F2F6F2F2F6F2F2F6F2F2F702E2F712F307230317331327432
+          337331327230317230317531327632337733347733347834357935367A36377A
+          36377D37377D37377D37377D37377E38387E3838813939813939813939813939
+          823A3A823A3A853B3B853B3B853B3B853B3B883E3E883E3E883E3E883E3E883E
+          3E883E3E893D3E893D3E883C3D883C3D883C3D883C3D883C3D8A3C3D8A3C3D8A
+          3C3D893B3C893B3C893B3C8A3C3D8A3C3D8A3C3D8C3C3D8C3C3D8D3D3E8E3E3F
+          8E3E3F8E3E3F913E40913E40913E40913E408F3F408F3F409040419040419141
+          4292424393434493434493434493434493434493434493434493434493434493
+          4344F5F1F0E3DBDBFFEFEEFFEEEE7C56565A2B2D6A31346225296A2B2D6C2C2C
+          6C2C2C6C2C2C6B2E2C6B2E2C6D2E2A6D2D2C6B2D2D692D2D692D2D692D2D692D
+          2D692D2D692D2D692D2D6A2E2E6A2E2E6A2E2E6B2F2F6C30306C30306D31316D
+          31316F31316F31316E30306E30306D2F2F6D2F2F6D2F2F6D2F2F6D2D2D6D2D2D
+          6E2E2E6E2E2E6F2F2F6F2F2F6F2F2F6F2F2F702E2F712F307230317331327432
+          3373313272303172303174303175313275313276323377333478343579353679
+          35367D37377C36367C36367C36367D37377E3838803838813939813939813939
+          813939823A3A843A3A853B3B853B3B853B3B873D3D873D3D873D3D873D3D873D
+          3D873D3D883C3D883C3D873B3C873B3C873B3C873B3C873B3C873B3C893B3C89
+          3B3C893B3C893B3C893B3C893B3C8A3C3D8A3C3D8C3C3D8C3C3D8D3D3E8D3D3E
+          8D3D3E8E3E3F903D3F913E40913E40913E408F3F408F3F408F3F409040419141
+          4292424392424392424393434493434493434493434493434493434493434493
+          4344F4F0EFE6DEDEFFF1EFFFEEEEC39EA054272A612A2D64292D6A2B2D6C2B2D
+          6C2C2C6D2D2D6D2D2C6D2D2C6D2D2C6D2D2C6B2D2D6B2D2D6B2D2D6B2D2D6B2D
+          2D6B2D2D6B2D2D6B2D2D6B2D2D6B2D2D6C2E2E6C2E2E6D2F2F6D2F2F6E30306E
+          30306E30306E30306D2F2F6C2E2E6C2E2E6B2D2D6B2D2D6B2D2D6D2D2D6D2D2D
+          6D2D2D6E2E2E6E2E2E6E2E2E6E2E2E6E2E2E6F2F2F7030307230317331327331
+          32733132733132723031712F3072303174303175313276323377333477333478
+          34357B35357B35357B35357B35357C36367C36367F3737803838803838803838
+          813939813939823A3A823A3A853B3B853B3B863C3C863C3C863C3C863C3C863C
+          3C863C3C863C3C863C3C863A3B863A3B863A3B863A3B863A3B863A3B863A3B86
+          3A3B873B3C873B3C873B3C873B3C893B3C893B3C8A3C3D8A3C3D8A3C3D8A3C3D
+          8D3D3E8D3D3E8D3D3E8E3E3F8E3E3F8E3E3F8E3E3F8F3F408F3F409040419040
+          4191414291414292424392424392424392424393434493434493434493434493
+          4344EEEAE9F4ECECF5E6E4F9E1E1FEDCDD5F34375E2C2E672E316B2C2E6D2C2E
+          6D2D2D6D2D2D6D2D2C6D2D2C6D2D2C6D2D2C6B2D2D6B2D2D6B2D2D6B2D2D6B2D
+          2D6B2D2D6B2D2D6B2D2D6A2C2C6B2D2D6B2D2D6B2D2D6C2E2E6C2E2E6D2F2F6D
+          2F2F6D2F2F6D2F2F6C2E2E6B2D2D6B2D2D6B2D2D6B2D2D6B2D2D6D2D2D6D2D2D
+          6D2D2D6D2D2D6D2D2D6D2D2D6E2E2E6E2E2E6F2F2F7030307230317331327331
+          32733132733132733132712F3072303174303175313275313276323377333477
+          33347A34347A34347A34347A34347B35357B35357E36367E36367F37377F3737
+          803838803838813939823A3A843A3A853B3B853B3B853B3B853B3B853B3B853B
+          3B853B3B853B3B853B3B85393A85393A85393A85393A85393A85393A85393A85
+          393A863A3B863A3B863A3B873B3C893B3C893B3C893B3C893B3C893B3C893B3C
+          8C3C3D8C3C3D8C3C3D8D3D3E8D3D3E8D3D3E8E3E3F8E3E3F8E3E3F8F3F408F3F
+          4090404190404190404191414292424392424392424392424393434493434493
+          4344F4EFEEF3EBEBF3E3E4FFE9EBFFE6E7966E70623133612A2D692D2E6B2C2E
+          6D2D2D6D2D2D6D2D2C6D2D2C6A2D2B6A2D2B6B2D2D6B2D2D6B2D2D6B2D2D6B2D
+          2D6B2D2D6B2D2D6B2D2D6A2C2C6A2C2C6B2D2D6B2D2D6B2D2D6C2E2E6C2E2E6C
+          2E2E6A2E2E6A2E2E692D2D692D2D6B2D2D6B2D2D6B2D2D6B2D2D6C2E2E6C2E2E
+          6D2D2D6D2D2D6D2D2D6D2D2D6D2D2D6E2E2E7030307030307131317131317331
+          3273313273313273313272303172303173313273313276323376323377333477
+          33347A34347933337933337933337A34347A34347B35357C36367E36367E3636
+          7F37377F3737803838813939823A3A823A3A843A3A843A3A843A3A843A3A843A
+          3A843A3A843A3A843A3A85393A85393A85393A85393A85393A85393A85393A85
+          393A853B3B853B3B863A3B863A3B863A3B863A3B873B3C873B3C863A3B863A3B
+          883A3B893B3C893B3C8A3C3D8A3C3D8A3C3D8D3D3E8E3E3F8E3E3F8E3E3F8F3F
+          408F3F408F3F408F3F4090404190404191414291414292424392424393434493
+          4344EFEAE9F7EFEFF2E4E5FDE8EAFEE2E2DFBABC542829612C2F672D2E6A2B2D
+          6C2C2C6C2C2C6C2C2B6C2C2B6A2D2B692C2A6B2D2D6B2D2D6B2D2D6B2D2D6B2D
+          2D6B2D2D6B2D2D6B2D2D6A2C2C6B2D2D6B2D2D6B2D2D6B2D2D6B2D2D6B2D2D6B
+          2D2D692D2D692D2D692D2D692D2D6B2D2D6C2E2E6C2E2E6D2F2F6D2F2F6D2F2F
+          6E2E2E6D2D2D6D2D2D6D2D2D6E2E2E6E2E2E7030307030307131317131317230
+          3173313273313273313273313273313273313274323376323377333477333477
+          33347933337933337933337933337933337A34347B35357B35357C34347D3535
+          7E36367F3737803838813939813939823A3A843A3A843A3A843A3A843A3A843A
+          3A843A3A843A3A843A3A85393A85393A85393A85393A85393A85393A85393A85
+          393A843A3A843A3A85393A85393A863A3B863A3B863A3B863A3B85393A85393A
+          87393A883A3B883A3B893B3C893B3C893B3C8D3D3E8D3D3E8D3D3E8D3D3E8E3E
+          3F8E3E3F8E3E3F8E3E3F8F3F408F3F408F3F4090404191414291414292424392
+          4243E9E4E3FAF2F2F3E7E7F6E4E5FEE6E6FFE2E36E4445613032652C2D682C2D
+          6C2C2C6C2A2B6C2B2A6B2B2A692C2A682B296B2D2D6B2D2D6B2D2D6B2D2D6B2D
+          2D6B2D2D6B2D2D6B2D2D6B2D2D6B2D2D6B2D2D6B2D2D6B2D2D6B2D2D6B2D2D6B
+          2D2D692D2D692D2D692D2D6A2E2E6B2F2F6C30306E30306F31316E30306E3030
+          6C2E2E6B2D2D6D2D2D6D2D2D6E2E2E6F2F2F7030307030307030307131317131
+          3172323273313273313273313273313273313274323374323374323376323377
+          33347734337734337734337734337933337A34347B35357B35357A34347A3434
+          7D35357E36367F3737803838813939813939823A3A823A3A823A3A823A3A843A
+          3A843A3A843A3A843A3A843A3A843A3A85393A85393A85393A85393A85393A85
+          393A843A38843A38843A38843A38843A38843A38853B39853B39843937843937
+          853A38853A38853A38863B39863B39883B398D3D3E8D3D3E8D3D3E8D3D3E8D3D
+          3E8D3D3E8D3D3E8D3D3E8D3D3E8E3E3F8E3E3F8F3F4090404190404191414291
+          4142F3EEEDEFE7E7F7EBEBFEEEEFFEE9E8FCE0E0AD8688592A2C632C2F682C2D
+          6B2A2C6C2A2B6C2A2B6A2A296A2A29682B296B2D2D6B2D2D6B2D2D6B2D2D6B2D
+          2D6B2D2D6B2D2D6B2D2D6B2D2D6B2D2D6B2D2D6B2D2D6B2D2D6B2D2D6B2D2D6B
+          2D2D692D2D692D2D692D2D6A2E2E6B2F2F6D31317032327133336F31316E3030
+          6D2F2F6B2D2D6D2D2D6E2E2E6E2E2E6F2F2F7030307030307030307131317131
+          3172323273313274323373313273313273313273313273313274323376323376
+          32337734337734337734337734337933337A34347B35357B35357933337A3434
+          7C34347E36367F3737803838813939813939823A3A823A3A823A3A823A3A843A
+          3A843A3A843A3A843A3A843A3A843A3A85393A85393A85393A85393A85393A85
+          393A833937843A38843A38843A38843A38843A38843A38853B39843937843937
+          843937853A38853A38853A38863B39863B398B3D3E8D3D3E8D3D3E8D3D3E8D3D
+          3E8D3D3E8D3D3E8D3D3E8D3D3E8D3D3E8D3D3E8E3E3F8F3F4090404190404191
+          4142F9F1F2F2EAEBF3E9E9F7EBEBFCEAEBFEE6E6F5D3D44E2425602B2E612526
+          7433356F2B2C6422237333336A2A29662927692B2B6A2C2C6A2C2C6B2D2D6B2D
+          2D6B2D2D6A2C2C6A2C2C6B2D2D6B2D2D6B2D2D6B2D2D6B2D2D6B2D2D6A2C2C6A
+          2C2C692D2D692D2D6A2E2E6A2E2E6B2F2F6C30306D31316E32326F31316E3030
+          6D2F2F6B2D2D6B2D2D6B2D2D6C2E2E6D2F2F6F31316F31317131317131317131
+          3171313171313171313173333373333374323374323374323374323375333475
+          33347734337734337734337734337734337835347A34347A3434793333793333
+          7933337A34347D35357E36367E36367F37377F37377F37378038388139398139
+          39823A3A853B3B853B3B843A3A843A3A843A3A843A3A843A3A843A3A85393A85
+          393A833937833937843A38843A38843A38843A38843A38843A38863B39863B39
+          853A38853A38853A38853A38863B39863B39883A3B893B3C893B3C8A3C3D8A3C
+          3D8B3D3E8B3D3E8C3E3F8B3D3E8B3D3E8B3D3E8B3D3E8C3E3F8C3E3F8D3F408D
+          3F40FDF5F6F5EDEEF1E9E9F4EAEAF8EAEBF9E4E6FDDEDF7B53555F2D2F652A2E
+          6726286A25286E2C2D6F2D2E672A286A2D2B692B2B692B2B6A2C2C6A2C2C6B2D
+          2D6B2D2D6A2C2C6A2C2C6B2D2D6B2D2D6B2D2D6B2D2D6B2D2D6B2D2D6A2C2C6A
+          2C2C692D2D692D2D692D2D6A2E2E6B2F2F6C30306D31316E32326F31316E3030
+          6D2F2F6B2D2D6B2D2D6B2D2D6C2E2E6D2F2F6F31316F31317131317131317131
+          3171313171313171313172323273333374323374323374323374323374323374
+          32337734337734337734337734337734337835347A34347A3434793333793333
+          7933337A34347C34347D35357D35357E36367E36367E36367F37377F37378038
+          38813939833939843A3A853B3B853B3B853B3B853B3B853B3B853B3B863A3B86
+          3A3B853B39853B39853B39853B39853B39863C3A863C3A863C3A843937843937
+          843937833836833836843937843937843937883A3B883A3B893B3C893B3C8A3C
+          3D8A3C3D8B3D3E8B3D3E8A3C3D8A3C3D8A3C3D8B3D3E8B3D3E8C3E3F8C3E3F8C
+          3E3FFFFAFBFAF2F3EEE8E9EFE9EAF5EBEBF3E3E4FFEBEBBB9698572628693033
+          662527692427732F306A2829682A2A6A2C2C692B2B6B2B2B6C2C2C6C2C2C6C2C
+          2C6C2C2C6C2C2C6C2C2C6D2D2D6D2D2D6D2D2D6D2D2D6D2D2D6D2D2D6D2D2D6B
+          2D2D692D2D672E2D682F2E682F2E6B2F2F6C30306D31316D31316D31316C3030
+          6C2E2E6B2D2D6B2D2D6C2E2E6D2F2F6E30306F31316F31316F31316F31317131
+          3171313171313171313172323272323272323273333374323374323374323374
+          3233773433773433773433773433773433773433773433783534793333793333
+          7933337933337A34347A34347A34347A34347C34347D35357D35357E36367E36
+          367F37377F3737803838843A3A843A3A843A3A843A3A843A3A843A3A843A3A84
+          3A3A843A38843A38863B39863B39863B39863B39863B39863B39833836823735
+          84373584373584373584373584373585383687393A87393A883A3B883A3B893B
+          3C893B3C8A3C3D8A3C3D893B3C893B3C8A3C3D8A3C3D8B3D3E8B3D3E8B3D3E8B
+          3D3EFFFEFFFDF5F6EDE8E9EDE8E9F3EEEDEFE3E3FFF0EFEBCBCC5C2D2F642B2E
+          7231336D282B6D292A6A28296A2C2C6529296B2B2B6B2B2B6C2C2C6C2C2C6C2C
+          2C6C2C2C6C2C2C6C2C2C6C2C2C6C2C2C6D2D2D6D2D2D6D2D2D6D2D2D6D2D2D6B
+          2D2D692D2D682F2E69302F69302F6C30306D31316D31316D31316C30306B2F2F
+          6C2E2E6B2D2D6B2D2D6C2E2E6D2F2F6E30306F31316F31316F31316F31317131
+          3171313171313171313172323272323272323272323274323374323374323374
+          3233763332763332763332773433773433773433773433773433793333793333
+          7933337933337933337933337933337933337C34347C34347C34347D35357D35
+          357E36367E36367E363681373781373781373781373781373781373781373781
+          3737823836823836833836833836833836833836843937843937823735823735
+          83363483363483363483363484373584373586383986383986383987393A8739
+          3A883A3B893B3C893B3C893B3C893B3C8A3C3D8A3C3D8B3D3E8B3D3E8B3D3E8B
+          3D3EFFFDFFFFF7F8EEE9EAEBE9E9F3EFEEECE4E4FEECEBFFE4E58A5E5F581F22
+          723133722B2E6A26276D2B2C692B2B6529296A2A2A6B2B2B6B2B2B6C2C2C6C2C
+          2C6C2C2C6C2C2C6B2B2B6C2C2C6C2C2C6C2C2C6D2D2D6D2D2D6D2D2D6D2D2D6B
+          2D2D6A2E2E69302F6A31306B32316B32316B32316D31316D31316B2F2F6A2E2E
+          6A2E2E692D2D6B2D2D6D2F2F6E30306F31316F31316F31316F31316F31316F31
+          316F313171313171313172323272323272323272323272323273333374323374
+          3233743332743332763332763332773433773433773433773433763332763332
+          7832327832327832327933337933337933337A34347A34347B35357B35357D35
+          357E36367E36367E36367E36367E363680363680363680363680363680363680
+          3636803533803632813733813733833633833633833633833633843734843734
+          8536338536338536338536338637348636358436378436378537388638398638
+          3987393A87393A87393A893B3C893B3C8A3C3D8A3C3D8A3C3D8B3D3E8B3D3E8B
+          3D3EFFFDFFFFF9FAF4EFF0ECEAEAF0EEEDEEE9E8F6E7E5FFE9E9D1A7A8592225
+          6724276F282B6E2A2B6D2B2C662828692D2D6A2A2A6A2A2A6B2B2B6B2B2B6C2C
+          2C6C2C2C6B2B2B6B2B2B6C2C2C6C2C2C6C2C2C6D2D2D6D2D2D6D2D2D6E2E2E6C
+          2E2E6A2E2E69302F6A31306B32316B32316B32316D31316C30306A2E2E6A2E2E
+          692D2D692D2D6B2D2D6D2F2F6F31317032326F31316F31316F31316F31316F31
+          316F313171313171313171313172323272323272323272323272323273313273
+          3132743332743332763332763332763332773433773433773433763332763332
+          7832327832327933337933337933337933337B35357B35357B35357B35357D35
+          357D35357D35357D35357E36367E363680363680363680363680363680363680
+          3634803533803632803632803632833633833633833633833633843734833633
+          8536338536338536338536338536338637348335368335368436378436378537
+          38853738863839863839883A3B893B3C893B3C893B3C8A3C3D8A3C3D8A3C3D8A
+          3C3DFFFCFEFFFDFEF9F7F7EAEAEAE9EAE8F1EDECF2E5E3FFE8E8FFD6D7784144
+          6623266A2326732E316926296628286A2E2E6A2A2A6A2A2A6B2B2B6B2B2B6B2B
+          2B6B2B2B6B2B2B6B2B2B6B2B2B6C2C2C6C2C2C6C2C2C6D2D2D6E2E2E6E2E2E6C
+          2E2E692D2D682F2E69302F6A31306B32316A31306B2F2F6B2F2F6A2E2E692D2D
+          692D2D692D2D6A2E2E6B2F2F6F31317032326F31316F31316F31316F31316F31
+          316F31316F31316F313171313171313171313172323272323272323272323272
+          3232743332743332743332743332763332763332763332773433763332763332
+          7832327933337933337A34347A34347A34347A34347A34347A34347A34347C34
+          347D35357D35357D35357D35357D35357D35357D35357F35357F35357F35357F
+          3533803533823532823532823532823532823532853633853633853633853633
+          8435328435328635328635328736338536338234358234358335368335368436
+          3784363785373885373887393A87393A87393A883A3B883A3B883A3B893B3C89
+          3B3CFFFDFEFFFEFFFFFDFDEAEAEAE5E5E5F4F0EFF2E6E6FFE8E8FFE2E4956365
+          6D3034632023722F326523246B2B2B682A2A6A2A2A6A2A2A6B2B2B6B2B2B6B2B
+          2B6B2B2B6B2B2B6B2B2B6B2B2B6C2C2C6C2C2C6C2C2C6D2D2D6E2E2E6E2E2E6C
+          2E2E682C2C672E2D682F2E69302F6A313069302F6A2E2E692D2D6A2E2E692D2D
+          692D2D692D2D6A2E2E6B2F2F6F31317133336F31316F31316F31316F31316F31
+          316F31316F31316F313171313171313171313172323272323272323272323272
+          3232723231733231743332743332763332763332763332763332753231763332
+          7832327933337A34347A34347B35357B35357C33357C33357835347835327C35
+          327C35317C35327A35327734337534337733347B32347E32337E32337D33337D
+          33317F35317F3531813431813431833431833431843532843532843532843532
+          8435328435328635328635328635328635328333328235338434358336348335
+          3684373584363785383685373885383686383986393787393A873A3887393A87
+          3A38FFFCFDFFFFFFFFFDFFF1F0F2EAE9EBF1ECEDF7EAECF9E4E7FFE1E5E6BBBE
+          5722255E242571333364232271302F6827266A2A2A6A2A2A6A2A2A6A2A2A6A2A
+          2A6A2A2A6A2A2A6A2A2A6A2A2A6A2A2A6B2B2B6B2B2B6C2C2C6C2C2C6D2D2D6B
+          2D2D692D2D692D2D6A2E2E6A2E2E6A2E2E6A2E2E692D2D692D2D682C2C682C2C
+          6B2D2D6C2E2E6D2F2F6E30306F31316F31316F31316F31316F31316F31317131
+          3171313171313171313171313171313172303173313273313273313273313272
+          323272323172332F72332F72332F733231733231753132753132773132773132
+          7731317832327833307934317734317C343482353980333A76353474342F7633
+          2A7B342A7D352D7A39316F37326D35347233357B3135832F33822F317B312F7A
+          36317A342D7C342D7E342E82342E84332E84332E83322F83322F843532843532
+          8235328435328635328635328734328734328534318334318634338435328434
+          33853633853534853633823533833633833634843734833836843A36853A3885
+          3B37FFFEFEFFFFFFFEFDFFF4F3F5EFECEEF0EBEDF5EAEDF9E6E9FFE9ECFDD8DA
+          7546495D2727682C2C6C2C2B6B2825702D2A6B292A6A2A2A6A2A2A6A2A2A6A2A
+          2A6A2A2A6A2A2A6A2A2A6A2A2A6A2A2A6B2B2B6B2B2B6C2C2C6C2C2C6D2D2D6B
+          2D2D6B2D2D692D2D6A2E2E6A2E2E6A2E2E6A2E2E692D2D692D2D682C2C692D2D
+          6B2D2D6C2E2E6D2F2F6E30306F31317032326F31316F31316F31316F31317131
+          3171313171313171313171313171313172303173313273313273313273313272
+          323172323170332F72332F72332F733231733231753132753132773132773132
+          7731317832327833307934317735307933337A2C33792C3371302F73332E7D38
+          2E823C2F7E372D7130276D3631693634703337783036832E32842D307B312D7A
+          342D7A342D7C342D7E343080342E84332E84332E84312F83322F823330803330
+          8033308033308233308433308532308532308433308433308534318534318435
+          32843532843532843532823532833633833633843734833935843A36853B3785
+          3B37FFFFFEFFFFFEFFFFFFF9F9F9F1F1F1EFEAEBF2EAEBFBEAEDFFE9EBFFEBEC
+          AD8083592525632A296C2C2B6623206F2C296B292A6A2A2A6A2A2A6A2A2A6A2A
+          2A6A2A2A6A2A2A6A2A2A6A2A2A6A2A2A6B2B2B6B2B2B6B2B2B6C2C2C6C2C2C6A
+          2C2C6B2D2D692D2D692D2D6A2E2E6A2E2E692D2D692D2D692D2D6B2D2D6B2D2D
+          6C2E2E6D2F2F6E30306F31317032327032326F31316F31316F31316F31317131
+          3171313171313171313171313171313171313172323273313273313273313272
+          323172323170332F723231723231733132753132773132773132773132773132
+          7731317832327633307633307735307734337830367D353B7B383774322D7831
+          277D372A7F382E76352C6F35306E3534723335783134802F32822F2E82312C7F
+          332D7C332F7C332F7E333180333082333082333083322F81322F7F322F7D332F
+          7D332F7D332F7F322F81322F81322F83322F8433308433308233308334318334
+          31833431843532843532823532823532833633843734833935833935843A3684
+          3A36FFFFFEFFFFFEFFFFFEFDFDFDF4F4F4ECEAEAEEE8E9F9EDEDFAE4E6FFE8E9
+          E5BDBE613130652C2D6626266E2B2A6926256B292A6A2A2A6A2A2A6A2A2A6A2A
+          2A6A2A2A6A2A2A6A2A2A6A2A2A6A2A2A6B2B2B6B2B2B6B2B2B6B2B2B6C2C2C6C
+          2C2C6A2C2C692D2D692D2D692D2D692D2D692D2D692D2D682C2C6B2D2D6C2E2E
+          6C2E2E6D2F2F6E30306F31317032327133336F31316F31316F31316F31317131
+          3171313171313171313171313171313171313172323273313273313273313273
+          313272323172332F723231733231753132753132773132773132773132773132
+          77313275323176333076333076342F7433326D2C2E7030357033316B312B703A
+          2F7D483B7D483B753D3270342E7534337933347A31337C30317F323080342E80
+          342E7C332F7C32307D33317E33318033318033307F322F7F322F7D332F7D332F
+          7C332F7C332F7D332F7F322F7F322F81322F8233308433308334318334318334
+          3184353284353284353282353282353283363383363382383483393583393583
+          3935FFFFFCFFFEFAFFFFFBFFFFFEF7F8F6EEECEBEDE9E8F7EDEDF7E7E8FDE3E3
+          FFE1E1875B5A5E28286224247835346A24246B292A6A2A2A6A2A2A6A2A2A6A2A
+          2A6A2A2A6A2A2A6A2A2A6A2A2A6A2A2A6B2B2B6B2B2B6B2B2B6B2B2B6B2B2B6B
+          2B2B6A2C2C6A2C2C6B2D2D6B2D2D6B2D2D6B2D2D6A2C2C6A2C2C6B2D2D6C2E2E
+          6C2E2E6D2F2F6E30306F31317032327133336F31316F31316F31316F31316F31
+          316F313171313171313171313171313171313172323272323272323273313273
+          3132733231733231733132733132753033753033773033773033773033773132
+          75313275323175322F73332F7434307134326F3637683434673733714A41856E
+          5E93837286726173504271312C813130853133812E3076312E74342F7A372E7B
+          362D7A33307C32327D33337D33337E32337E33317D32307D32307C32307C3230
+          7C332F7C332F7D332F7D332F7D332D7F332D8334318334318334318435328435
+          3284353285363385363382353282353282353283363383363384373484373484
+          3734FFFFFCFFFDFAFFFFFCFFFFFCF9FAF8EFF0EEECEAE9F1ECE9F8ECEAFAE6E5
+          FFE5E4BE96975622226327277430316C26266B292A6A2A2A6A2A2A6A2A2A6A2A
+          2A6A2A2A6A2A2A6A2A2A6B2B2B6B2B2B6A2A2A6A2A2A6A2A2A6A2A2A6A2A2A6A
+          2A2A6A2C2C6A2C2C6B2D2D6B2D2D6B2D2D6B2D2D6A2C2C6A2C2C6B2D2D6B2D2D
+          6C2E2E6D2F2F6E30306F31317032327032326F31316F31316F31316F31316F31
+          316F313171313171313171313171313171313172323272323272323273313273
+          3132733231733231733132733132753033753033773033773033773033753033
+          75313273323173323172332F72332F6E33316A3231612E2C5B2C285F3C326C59
+          4A7769576C5847613B2F72312983322F8731317E2E2D72302B72342C76352C76
+          332A7C32307D31327D33337D33337D33337D33337C32307C32307D33317E3331
+          7E34307E34307E34307E34307E342E7E342E8334318334318435328435328435
+          3285363385363385363382353282353282353282353283363383363383363384
+          3734FFFFFCFFFFFCFFFFFCFFFFFCFBFCF8F4F5F1EDEEEAEDEAE6F2EBE8F7E8E5
+          FDE4E2F0CCCC663635632A296A28296B27286B292A6A2A2A6A2A2A6A2A2A6A2A
+          2A6A2A2A6A2A2A6A2A2A6B2B2B6B2B2B6A2A2A6A2A2A6A2A2A6A2A2A6A2A2A6A
+          2A2A6C2C2C6C2C2C6C2C2C6D2D2D6B2D2D6A2C2C6A2C2C6A2C2C6A2C2C6B2D2D
+          6B2D2D6C2E2E6D2F2F6E30306D31316E32326F31316F31316F31316F31316F31
+          316F31316F31316F313171313171313171313172323272323272323272323273
+          3132733132753132753033753033773033773033773033773033753033753033
+          75313273323172323170332F70342E6F322E7635347434336C342F64332B6336
+          2B66382D6C352C6F312978342D7E38317E373376322B74302977342B7C352B79
+          30287F32307F30337E31347E31347D33337D33337C32327C32327D32307F3230
+          7F322F7F322F7F332D7F332D7D332D7D332D8334318334318334318334318435
+          3284353283363383363381343182353282353282353282353283363383363383
+          3633FFFFFEFFFFFCFFFFFEFFFFFCFFFEFAF8F9F5EFF0ECEAE9E5ECE9E4F5EAE6
+          FDEAE7FFECEB825655632D2D6828286E2A2B6B292A6A2A2A6A2A2A6A2A2A6A2A
+          2A6A2A2A6A2A2A6A2A2A6B2B2B6B2B2B6A2A2A6A2A2A6A2A2A6A2A2A6A2A2A6A
+          2A2A6C2C2C6C2C2C6C2C2C6D2D2D6B2D2D6A2C2C6A2C2C6A2C2C6A2C2C6A2C2C
+          6B2D2D6C2E2E6D2F2F6E30306D31316D31316F31316F31316F31316F31316F31
+          316F31316F31316F313171313171313171313172323272323272323272323272
+          3232753132753132753033753033773033773033773033753033753033733132
+          73313272323170332F6D332E6D332D6F332D73302D75302D75322F73332E7131
+          2C71322A76322B77332C7A39317A3F36724034673A2D64372A6C382B74362B78
+          30288131308130338031347E31347D33337D33337C32327C32327F3230813130
+          81322F81322F81332D7F332D7F332D7F332D8033308233308233308334318334
+          3183343182353282353281343181343182353282353282353282353283363383
+          3633FAF8F8FFFFFEFFFFFFFEFCFBFFFFFEFFFFFEE4E5E1EEEFEBEBEBE5EAE4DF
+          FCEDEAFFE6E4CFA8A65F2D2D5E22236F2C2F6B292A6B292A6B292A6B292A6B29
+          2A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B
+          292A6B292A6B292A6B2B2B6B2B2B6B2B2B6B2B2B6B2B2B6B2B2B6B2D2D6B2D2D
+          6C2E2E6D2F2F6C30306D31316E32326E32326D31316D31316D31316D31316F31
+          316F31316F31316F31316F31316F313171313171313171313171313171313171
+          3131742F32742F32742F327530337530337530337530337530336B292A793939
+          7133336D32306D35306B342F66302968312A74393073322A7E322C7A2B287C33
+          2F7A36316B2C24783A3264291F734639A48C7A49402C6C69546355425E352673
+          352B7C2F2D822F317C2C2D813536762E2E8139397B3431752B29803331843231
+          85323085323085323084333081332D7F332D7F322F7F322F8033308134318134
+          3181343181343181343181343181343183343184353284353285363385363386
+          3734FDFFFFFBFDFEFDFCFEFEFCFCFFFDFDFFFFFEF4F2F1F1F0ECF1F0ECEEEAE5
+          F1E6E2FFEEECFBD8D5603231632A2B6B2C2E6A2A2A6B292A6B292A6B292A6B29
+          2A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B
+          292A6B292A6B292A6B2B2B6B2B2B6B2B2B6B2B2B6B2B2B6B2B2B6B2D2D6B2D2D
+          6C2E2E6D2F2F6C30306D31316D31316E32326D31316D31316D31316D31316F31
+          316F31316F31316F31316F31316F313171313171313171313171313171313171
+          3131753033753033753033753033753033753033763134743233703030793C3A
+          672C2A6C342F69322D612D267C484187544A7C483C71352982342D802F2A782F
+          2B7C3A3572342C6C2E2676382E663527806B56626048767F656C685061382976
+          352C8333327B29288335367C323078323274312E732E2B8238367F3230833130
+          86312F87323087323085323084332E82342E7F322F7F322F8033308033308033
+          3081343181343181343181343181343183343184353284353285363385363385
+          3633F2F6FBF6F9FEFDFEFFFFFDFFFFFBFDFFFDFEFFFDFCEDECE8EAE9E5F4F1ED
+          F0E7E3F9E6E3FFEDEC906667632E316026276A2A2A6B292A6B292A6B292A6B29
+          2A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B
+          292A6B292A6B292A6B292A6C2A2B6C2A2B6C2A2B6B2B2B6B2B2B6A2C2C6B2D2D
+          6C2E2E6D2F2F6C30306D31316D31316E32326D31316D31316D31316D31316D31
+          316D31316F31316F31316F31316F31316F31316F31316F31316F313171313171
+          3131753132753132753132753132743134743134743233733333763838622725
+          6C35326F3B3566352D60322774463B9C6F629C6E5D6D3627732E24833B337031
+          29672B2570302B7C383184362F6B261C663E2C705B45716650735B496F312780
+          2F2A802F2C8334317D333174302B73343072342E7535307B37327E312E82312E
+          86312F88312F86312F8532308433308233308033308033307F322F7F322F7F32
+          2F80333081343182353283343183343183343184353284353285363385363385
+          3633B1B8C1F8FDFFFBFDFFFFFDFFFFFDFFFFFCFFFFFEFFEEEAE9EAE7E3F2EFEB
+          F2ECE7EFE0DDFFE6E4D9B5B5592A2C62292A68292B6B292A6B292A6B292A6B29
+          2A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B
+          292A6B292A6B292A6B292A6B292A6B292A6C2A2B6B2B2B6B2B2B6A2C2C6B2D2D
+          6B2D2D6C2E2E6B2F2F6C30306D31316D31316D31316D31316D31316D31316D31
+          316D31316F31316F31316F31316F31316F31316F31316F31316F313171313171
+          3131733132753132753132733132743134733333733333713432692E2C78403B
+          69352F68372F67392E663A2D82584B633B295E392359341E663E2C693C2E6231
+          277036307B3732732923762E26793E2F5E3925573C27523723683D2E772D2784
+          2D297D2C27863C3669251E74362E7239306A332A7539336F2F2A7A312D7F302D
+          85302E87302E86312F84312F8233308033308033308033307F322F7E312E7E31
+          2E80333081343182353283343183343183343183343184353284353284353284
+          35325A6672F4FCFFF8FAFFFBF7FFFFFCFFFFFCFFFFFDFEFCF4F4F1EEEAECE9E5
+          F1EBE6F5E9E5FFE9E7FFE0DF673D3E632F2F68292B6B292A6B292A6B292A6B29
+          2A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B
+          292A6D292A6D292A6D292A6D292A6B292A6B292A6B2B2B6B2B2B6C2C2C6C2C2C
+          6B2D2D6C2E2E6B2F2F6C30306D31316D31316D31316D31316D31316D31316D31
+          316D31316D31316D31316F31316F31316F31316F31316F31316F31316F313171
+          31317332317332317331327331327331327333337133336F34326D34325E2722
+          693830592B20683E327B5446745040593A25544225575233626A4C7B7A658568
+          5A723B347728257E322C643527836854695B444937205F34236E302580322C83
+          312C80352D7532296E31276B372B6D3D315B2E216532286D342B76322B7B312B
+          81302D83302E83302E81322F7D32307D33317E34307D332F7C322E7C322E7E31
+          2E7F322F81343182353283343183343183343183343183343184353286353286
+          35322D3C4CDAE5F3F8FBFFFBF7FFFFFBFFFFFAFFFFFCFFFFFCFEEDE8E7F4EFEC
+          F1EDE8F3E8E4FFEFECFFE4E3A57F7F572726662A2B6B292A6B292A6B292A6B29
+          2A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B
+          292A6C28296C28296D292A6D292A6B292A6B292A6A2A2A6A2A2A6C2C2C6C2C2C
+          6B2D2D6C2E2E6B2F2F6C30306C30306D31316D31316D31316D31316D31316D31
+          316D31316D31316D31316F31316F31316F31316F31316F31316F31316F31316F
+          31317131307231307230317232327232327032326E33316C33316C353079453E
+          6E403565392C633C2E54302074534060442C7968478787636A7F5E4F5E43513E
+          2F5D2C247A2D2A7E342E663B2C826D57756E5556483180584671362C77332E76
+          2E2777342B6A2D1F905B4E5B2E20603728633C2E663A2D66342871332B7A322B
+          7F302D81302D82312E7E312E7B312F7A33307C332F7D332F7C322E7C322E7E31
+          2E7F322F80333081343183343183343183343183343183343183343185343185
+          34312737489AA7B7F6FBFFFDFAFFFFFAFFFFF7FFFFFCFFFFFCFEF0E8E8F7F2EF
+          F0ECE7EFE6E2FAE9E6FAE1DFEAC6C65D2F2E662A2B6B292A6B292A6B292A6B29
+          2A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B
+          292A6C28296C28296C28296D292A6B292A6B292A6B292A6B292A6B2B2B6C2C2C
+          6B2D2D6C2E2E6B2F2F6C30306C30306D31316D31316D31316D31316D31316D31
+          316D31316D31316D31316F31316F31316F31316F31316F31316F31316F31316F
+          313170302F70302F7131307131307131306F32306D32306B32306D39338E5D55
+          9E7166643A2D5732245634245E3D2A4E2F166748276D59366D6A4B7C7B617062
+          5059362C652B256E2D256F382B734B38715A445E4E377D68535A392A61322A63
+          2C25692F236D37268D5F4E734B396545327857477551416134276D342B76322B
+          7B312D7D302D7D302E7A302E76312E76312E7B322E7C322E7C322E7D332F7F32
+          2F80333080333080333083343183343183343183343185343185343185343185
+          3431213344546373F2F6FFFDFAFFFFF8FFFFF5FFFFFBFFFFFAFCFFFBFBECE7E4
+          E8E4DFFBF2EEF7E8E5F5DEDCFFE7E77C504F662A2B6B292A6B292A6B292A6B29
+          2A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B292A6B
+          292A6C28296C28296C28296C28296B292A6B292A6B292A6B292A6B2B2B6C2C2C
+          6A2C2C6B2D2D6A2E2E6B2F2F6C30306D31316D31316D31316D31316D31316D31
+          316D31316D31316D31316F31316F31316F31316F31316F31316F31316F31316F
+          313170302F70302F70302F70302F6F32306D32306D32306A332E66322C66382D
+          7144397952448C68585E3D2A5C3C295D3B23603A1A5638155141245B543B4D3F
+          2D492F236C3B336E332A73352A602E1C61442F5747306A5D474634235B362E61
+          322A6934276F3B2A633825A5826E8365528065517E5C4C693E2F6B342B74332B
+          7A312D7D302D7B302E7A302E74312E74312E7A312D7C322E7D332F7D332F8033
+          308033308033307F322F83343183343183343183343185343185343184333084
+          3330}
+        Material.Texture.Disabled = False
+        Direction.Coordinates = {000080A7FFFF7FBF6721A23300000000}
+        PitchAngle = -90.000000000000000000
+        Position.Coordinates = {000000000000003F000000000000803F}
+        Scale.Coordinates = {AE47813FAE47813FAE47813F00000000}
+        Up.Coordinates = {2FBDBB1B6821A2330000803F00000000}
+        Height = 1.000000000000000000
+        Width = 1.000000000000000000
+      end
+    end
+    object GLDummyCube2: TGLDummyCube
+      CubeSize = 1.000000000000000000
+      object GLSphere1: TGLSphere
+        Material.MaterialLibrary = GLMaterialLibrary1
+        Material.LibMaterialName = 'environment'
+        Radius = 0.500000000000000000
+      end
+      object GLTorus1: TGLTorus
+        Material.MaterialLibrary = GLMaterialLibrary1
+        Material.LibMaterialName = 'shaderMat'
+        Scale.Coordinates = {00000040000000400000404000000000}
+        MajorRadius = 0.400000005960464500
+        MinorRadius = 0.100000001490116100
+        StopAngle = 360.000000000000000000
+        Parts = [toSides, toStartDisk, toStopDisk]
+      end
+      object plane: TGLFreeForm
+        Material.MaterialLibrary = GLMaterialLibrary1
+        Material.LibMaterialName = 'shaderMat'
+        Scale.Coordinates = {00000040000000400000004000000000}
+        object GLCamera2: TGLCamera
+          DepthOfView = 100.000000000000000000
+          FocalLength = 50.000000000000000000
+        end
+      end
+    end
+    object GLCamera1: TGLCamera
+      DepthOfView = 100.000000000000000000
+      FocalLength = 50.000000000000000000
+      TargetObject = GLDummyCube1
+      CameraStyle = csInfinitePerspective
+      Position.Coordinates = {0000004000004040000080400000803F}
+    end
+  end
+  object GLMaterialLibrary1: TGLMaterialLibrary
+    Materials = <
+      item
+        Name = 'environment'
+        Tag = 0
+        Material.Texture.ImageClassName = 'TGLCubeMapImage'
+        Material.Texture.TextureMode = tmModulate
+        Material.Texture.MappingMode = tmmCubeMapReflection
+      end
+      item
+        Name = 'decal'
+        Tag = 0
+        Material.Texture.Image.Picture.Data = {
+          0A544A504547496D616765D10A0000FFD8FFE000104A46494600010101006400
+          640000FFDB00430006040506050406060506070706080A100A0A09090A140E0F
+          0C1017141818171416161A1D251F1A1B231C1616202C20232627292A29191F2D
+          302D283025282928FFDB0043010707070A080A130A0A13281A161A2828282828
+          2828282828282828282828282828282828282828282828282828282828282828
+          28282828282828282828282828FFC20011080080008003012200021101031101
+          FFC4001A000003010101010000000000000000000002030401000506FFC40017
+          010101010100000000000000000000000000010204FFDA000C03010002100310
+          000001FB65AEAE7E95351C55B3EB2CD5A0A4263B7689DF29708B39CB25A11422
+          CE9E9E04F017BCFF004243CFBA2F41B0EA7584B96056F4BAE4377511CE534785
+          D24C9AD2B1D5363750B9ECA9BB8CF6E6D9BABD97755AA5C072A65742D17AD35B
+          7180E52189F589EDC50627A69DDE79CA82BB570828B986E5A56D11264F05684B
+          1C5269AD20BA5A26C45614D64791E92E623899D4247A93A2C39AD992D26DA669
+          5948D3708EA3090E8854D4D62AA95732652A9ABCD4EB8E95FC099622887269D3
+          9A87121C6E8924BCDC6FFFC40024100002020202020202030000000000000000
+          01021110120321133120323041042223FFDA0008010100010502D934C8BBFC1F
+          BCCFD44D5C1FB55584CB112951BD2F2444596367EEA44BD2E8676471AF5CBB45
+          F27274AA51D68DA712332EC48589F78A287D164D9AEF35171516490E367D083C
+          D12542658C68D2CE45441DC5D0AC8C4A5F192B231A2B0F12EE5C4A4E51E31228
+          A2BF048DD25C70DC8C70843CD087EEF164E7DF80E2FAAC7EF14562B0DD2F3791
+          C60E97A685FE645E1659B1E45727327BD7F1F8A4B8E304935D47D9289DC44ED1
+          64A490D9B221C690C7FDF946C4EC7ED48B1B446439C989329228709627EB8EB6
+          72252426C942527E3628B3445610F0B1C9255C7668C8A12298D32852EA534791
+          119DE1911C672141928C8568809668AB6A078D1A247A252E9723166696D1586C
+          BC3FBFC26ADD112FA6CD443CD9222FE12C7FFFC4001D11000300020301010000
+          0000000000000000011110200212312151FFDA0008010301013F01F0F48420F2
+          9966388D97558852E9048E4F5EBFA761B3DC4261A2108914A762428D94F4F988
+          3D1669FFC400191100020301000000000000000000000000113000012040FFDA
+          0008010201013F0160414564C1BAE7FFC4002810000103030302060300000000
+          000000000100112102303110202232610312415171814050A1FFDA0008010100
+          063F02FC005428DCF52CD86DC1A54F1585C614CA9FEDC9C285ED7810869C54DC
+          ECAA6C29BB964F5DE20074F51FABADE10F377F45E6AEA7EDACE2C32E34AEAFA0
+          B9E540036F6DF8F9D1BD0598527589D6AD7A4ACB2EB4C6A533625406F944D446
+          FCEE0E587B0D67711A6028FD27FFC40024100003000202020202030100000000
+          0000000111213141511061718191D120A1B1C1FFDA0008010100013F21485A86
+          2EB583650D887A17C898DE464CC870686C97224475CBD8E730624EE865C8FDC6
+          5305DB44A307F62670FB1F2D8B236F33A044F4A8BBD3AF19546C0D26B548AE3E
+          0A043B68E3B25CA4F913720CA55FECB659A6F818622443F09C1F227510665723
+          4169CD9695F596133A179B9086D41082CB15FA10D0A7E44E8ECDC16C4128FC99
+          137B18EDE5158B03B2758DA535EC6BDC4AD248C2E8BD0960440D104820F03CA5
+          C0A915E1D8875796F826B9327C190FC7209A9E1B8FC4C8C7791BD6D3E43DDAF1
+          70A884B09226C6668395D1383C068B2C7DB832F8138B3F2249928ECD3E8ECDBF
+          C0D068412286941A90855893931C09C8F1DB1AE60409FF00C850A9A465D14F32
+          67829AD1DFF030E1E058575FA5A32327BA259B54F80EC1E5A6E8DDF48A0B0A94
+          1043E04DF5642D4D3160C251A6FE8AF04F92CB593D858BE05A3BE59EC581CB43
+          36261E8CED37A1A9265916D2B174683F63FC866C591BB6E32BE27D8929E0CDF3
+          77D88B28B6D8D6A1D884D4FE0CFF00A1551E84ACD0488D0EA19A162FB351B884
+          9EB3F9313A50A369EA0B910D983DC45B1BEEE508E4847612F344E4989D5E098D
+          8FD8510D116188F894D8C0484A3C783529188E521B3F4094C1093466710A884D
+          464C1134318217343A960627911AA18578A2F1B1D10B81E6CF608B28916C8868
+          3D8B7AF0CC5B5BC8C4605D1BD1FFDA000C03010002000300000010A79FAB42E7
+          8EA79F397463748652EBE719CAD0EBACAF2E4C86E67E3BE269876A6398485CF6
+          39824ECFCCF71D52D9CD6CFFC4001B1101010101010101010000000000000000
+          0100112131415110FFDA0008010301013F10227F1EDB727EC45FB5A83B24610E
+          4238939EDB6C3A6583D85F93CED809D5C6C832606764F23CB20B179E583D40F0
+          BA480B1396AD5AAC8E5CC17D6FD163DC8DB1883D58F968F6219407B21F21A720
+          C723B64324BCBC5FFFC4001B1100030101010101000000000000000000000111
+          1021314120FFDA0008010201013F106B108B904B21098989136E3A24785CA512
+          E2196787457D10CA5174E0C52948425110590E94E7D14C9FAFFFC40022100100
+          0301010003010003010100000000010011213141516171811091A1B1D1FFDA00
+          08010100013F10105DF2256A4012BA859C26137C8F5B34B00358FDC33A26AE98
+          36B7D25F363C6C1A36C043D4431D9AA5FF0019F9316818EAC51E84B0DA9FB9C6
+          347B051E3F639347EC65385C8B4C2F5979E9FF00508C2F3C4BEE0DD7B33711FB
+          9568627499351B7E4C14C815EC54513CB82E3075034D5D5449818E9BC638B1FA
+          98A0A775328074F6A1A47683B968208D881517F2A0308FCAD0FC864E2E1A5A9A
+          56D795000D37F3196061BB2CA968C03A8152D3C9A63003E21BB4900BB6A66174
+          E5C7391F8EDF9B2DA25C5E479C9CA6560C25690AAEC150C1306C14A23E8C04C8
+          42030036C63768FA8789193C49B765CA2F253807B01216D9E27FF612E03DFAFD
+          8705CAFBB8146F575500B0439501E47A4D1D8A95D128C646EDC4C46CF6562153
+          E0AA27485C3A7B0F073D084234AA2A17C96010167FE602B766ED836407E43C3F
+          F6537D940E5C060841712AF19CCBB8360D338EF760768B946C79C9E08A6DDFA9
+          EEA42C57CCA399F040002EE231360AE37D894D1FE27376022996C2C16C6E1EC2
+          825B1D2D1FA82BA3FAC22E3A7C5FDC52D46500C7B36FB4E1F550C20B66EDC940
+          885718E2CE4B656F8861B128BC7FA8D9206BC88A6E9A5343F7EA2EFCD9FDEFB2
+          A693C96A3F1125E99AF9080D1517750DB77003D8F15609EC3A13512D57EC040D
+          3F29A9949ABE4571B952A29801F5B0008EB57FE20D0343892B54AB2885FDB808
+          21AE443F810E352D2D4A02911E3EC42FF87CC7826DFD33C829F614045FB9132B
+          0FB205BCB5102FC110CEB181C66EB5ECCCE22CE6896A2F5DF89D802EFCC1189B
+          EB2F28FCB9A7096522A5A5FAF3F92F157ED6111AD7F3B3C4D2EEB2243F38AAA9
+          C0BA7B3B5B5B1529A07F188B80D5F607434E41151E62B0C6D43EA695B2F54878
+          2962CA21F3B0A0FADA20031EFCC1236E52C348423B151002563292988E1E8AD3
+          FC9636BD4D2BF33708F0E10A447DD88AA0FA802E22B84366BE9F5177B2E16D57
+          F12D96255893EA0B5466DB5FE09448F7A3FD8AAB15F5ECB1B399507A4AFAD540
+          21006F92CE0256D75091B5C7EC29B6582664050BFD2E67347E22C00FD1517294
+          3E218CD8D5723AE3E19798899B54B868C801B2A6861FA811A82419F5032A0DBD
+          947D05541B7235A9476A2B4D64A82CA6E5940EC54073EA01D082ABA214AB7B28
+          874AA25565C418490A795317A33018761171943D8284B81C258EDC2FC127FFD9}
+        Material.Texture.TextureMode = tmModulate
+        Material.Texture.Disabled = False
+      end
+      item
+        Name = 'shaderMat'
+        Tag = 0
+        Texture2Name = 'environment'
+        Shader = CgShader1
+      end>
+    Left = 470
+    Top = 110
+  end
+  object GLCadencer1: TGLCadencer
+    Scene = GLScene1
+    Left = 510
+    Top = 110
+  end
+  object CgShader1: TCgShader
+    Left = 470
+    Top = 70
+  end
+  object Timer1: TTimer
+    Left = 555
+    Top = 70
+  end
+  object GLMemoryViewer1: TGLMemoryViewer
+    Camera = GLCamera2
+    Width = 128
+    Height = 128
+    Left = 556
+    Top = 110
+  end
+end

+ 92 - 0
Examples/Demos/cgshaders/Reflect/fReflectC.h

@@ -0,0 +1,92 @@
+//---------------------------------------------------------------------------
+
+#ifndef fReflectCH
+#define fReflectCH
+//---------------------------------------------------------------------------
+#include <System.Classes.hpp>
+#include <Vcl.Controls.hpp>
+#include <Vcl.StdCtrls.hpp>
+#include <Vcl.Forms.hpp>
+#include "Cg.Shader.hpp"
+#include "GLS.BaseClasses.hpp"
+#include "GLS.Cadencer.hpp"
+#include "GLS.Coordinates.hpp"
+#include "GLS.GeomObjects.hpp"
+#include "GLS.Material.hpp"
+#include "GLS.Objects.hpp"
+#include "GLS.Scene.hpp"
+#include "GLS.SceneViewer.hpp"
+#include "GLS.VectorFileObjects.hpp"
+#include <Vcl.ComCtrls.hpp>
+#include <Vcl.ExtCtrls.hpp>
+//---------------------------------------------------------------------------
+class TFormRef : public TForm
+{
+__published:	// IDE-managed Components
+	TSplitter *Splitter1;
+	TPanel *Panel1;
+	TPageControl *PageControl1;
+	TTabSheet *TabSheet1;
+	TSplitter *Splitter3;
+	TPanel *Panel2;
+	TLabel *LabelVertProfile;
+	TCheckBox *CBVertexProgram;
+	TPanel *Panel11;
+	TPanel *Panel12;
+	TMemo *MemoVertCode;
+	TPanel *Panel13;
+	TButton *ButtonApplyVP;
+	TPanel *Panel5;
+	TLabel *Label2;
+	TMemo *Memo1;
+	TButton *Button1;
+	TButton *Button4;
+	TTabSheet *TabSheet2;
+	TSplitter *Splitter2;
+	TPanel *Panel4;
+	TLabel *LabelFragProfile;
+	TCheckBox *CheckBox1;
+	TPanel *Panel6;
+	TPanel *Panel7;
+	TMemo *MemoFragCode;
+	TPanel *Panel3;
+	TButton *ButtonApplyFP;
+	TPanel *Panel8;
+	TLabel *Label1;
+	TMemo *Memo3;
+	TButton *Button2;
+	TButton *Button3;
+	TTabSheet *TabSheet3;
+	TTrackBar *TrackBar1;
+	TPanel *Panel9;
+	TPanel *Panel10;
+	TGLSceneViewer *GLSceneViewer1;
+	TGLScene *GLScene1;
+	TGLLightSource *GLLightSource1;
+	TGLDummyCube *GLDummyCube1;
+	TGLPlane *bottom;
+	TGLPlane *back;
+	TGLPlane *left;
+	TGLPlane *right;
+	TGLPlane *front;
+	TGLPlane *top;
+	TGLDummyCube *GLDummyCube2;
+	TGLSphere *GLSphere1;
+	TGLTorus *GLTorus1;
+	TGLFreeForm *plane;
+	TGLCamera *GLCamera2;
+	TGLCamera *GLCamera1;
+	TGLMaterialLibrary *GLMaterialLibrary1;
+	TGLCadencer *GLCadencer1;
+	TCgShader *CgShader1;
+	TTimer *Timer1;
+	TGLMemoryViewer *GLMemoryViewer1;
+private:	// User declarations
+public:		// User declarations
+	int mx, my;
+	__fastcall TFormRef(TComponent* Owner);
+};
+//---------------------------------------------------------------------------
+extern PACKAGE TFormRef *FormRef;
+//---------------------------------------------------------------------------
+#endif

+ 1 - 1
Examples/Demos/cgshaders/Reflect/fReflect.dfm → Examples/Demos/cgshaders/Reflect/fReflectD.dfm

@@ -38,7 +38,7 @@ object Form1: TForm1
       Top = 2
       Width = 365
       Height = 436
-      ActivePage = TabSheet2
+      ActivePage = TabSheet3
       Align = alClient
       Font.Charset = ANSI_CHARSET
       Font.Color = clWindowText

+ 1 - 4
Examples/Demos/cgshaders/Reflect/fReflect.pas → Examples/Demos/cgshaders/Reflect/fReflectD.pas

@@ -1,4 +1,4 @@
-unit fReflect;
+unit fReflectD;
 
 interface
 
@@ -126,10 +126,8 @@ type
     procedure CgShader1ApplyFP(CgProgram: TCgProgram; Sender: TObject);
     procedure CgShader1ApplyVP(CgProgram: TCgProgram; Sender: TObject);
   private
-
     procedure CreateCubeMap;
   public
-
     mx, my: Integer;
   end;
 
@@ -325,7 +323,6 @@ end;
 procedure TForm1.Timer1Timer(Sender: TObject);
 begin
   Caption := Format('Cg Reflect - %.1f fps', [GLSceneViewer1.FramesPerSecond]);
-  ResetPerformanceMonitor;
 end;
 
 procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);

BIN
Examples/Demos/cgshaders/SkyClouds.jpg


+ 57 - 45
Examples/Demos/cgshaders/cgshaders.groupproj

@@ -3,10 +3,10 @@
         <ProjectGuid>{18365A3F-D138-4D4B-BF35-F39B0AAA8663}</ProjectGuid>
     </PropertyGroup>
     <ItemGroup>
-        <Projects Include="BombShader\BombShaderD.dproj">
+        <Projects Include="BombShader\CgBombShaderD.dproj">
             <Dependencies/>
         </Projects>
-        <Projects Include="BombShader\BombShaderC.cbproj">
+        <Projects Include="BombShader\CgBombShaderC.cbproj">
             <Dependencies/>
         </Projects>
         <Projects Include="BlinnSheen\CgBlinnSheen.dproj">
@@ -30,16 +30,19 @@
         <Projects Include="texturing\CgTextureC.cbproj">
             <Dependencies/>
         </Projects>
-        <Projects Include="BumpMapping\CgBumpMapping.dproj">
+        <Projects Include="BumpMapping\CgBumpMapD.dproj">
             <Dependencies/>
         </Projects>
-        <Projects Include="Distortion\CgDistTexture.dproj">
+        <Projects Include="Distortion\CgDisttexD.dproj">
             <Dependencies/>
         </Projects>
-        <Projects Include="Reflect\CgReflect.dproj">
+        <Projects Include="Reflect\CgReflectD.dproj">
             <Dependencies/>
         </Projects>
-        <Projects Include="SkyClouds\CgSkyClouds.dproj">
+        <Projects Include="Reflect\CgReflectC.cbproj">
+            <Dependencies/>
+        </Projects>
+        <Projects Include="CloudSky\CgCloudSkyD.dproj">
             <Dependencies/>
         </Projects>
     </ItemGroup>
@@ -50,23 +53,23 @@
             <Default.Personality/>
         </BorlandProject>
     </ProjectExtensions>
-    <Target Name="BombShaderD">
-        <MSBuild Projects="BombShader\BombShaderD.dproj"/>
+    <Target Name="CgBombShaderD">
+        <MSBuild Projects="BombShader\CgBombShaderD.dproj"/>
     </Target>
-    <Target Name="BombShaderD:Clean">
-        <MSBuild Projects="BombShader\BombShaderD.dproj" Targets="Clean"/>
+    <Target Name="CgBombShaderD:Clean">
+        <MSBuild Projects="BombShader\CgBombShaderD.dproj" Targets="Clean"/>
     </Target>
-    <Target Name="BombShaderD:Make">
-        <MSBuild Projects="BombShader\BombShaderD.dproj" Targets="Make"/>
+    <Target Name="CgBombShaderD:Make">
+        <MSBuild Projects="BombShader\CgBombShaderD.dproj" Targets="Make"/>
     </Target>
-    <Target Name="BombShaderC">
-        <MSBuild Projects="BombShader\BombShaderC.cbproj"/>
+    <Target Name="CgBombShaderC">
+        <MSBuild Projects="BombShader\CgBombShaderC.cbproj"/>
     </Target>
-    <Target Name="BombShaderC:Clean">
-        <MSBuild Projects="BombShader\BombShaderC.cbproj" Targets="Clean"/>
+    <Target Name="CgBombShaderC:Clean">
+        <MSBuild Projects="BombShader\CgBombShaderC.cbproj" Targets="Clean"/>
     </Target>
-    <Target Name="BombShaderC:Make">
-        <MSBuild Projects="BombShader\BombShaderC.cbproj" Targets="Make"/>
+    <Target Name="CgBombShaderC:Make">
+        <MSBuild Projects="BombShader\CgBombShaderC.cbproj" Targets="Make"/>
     </Target>
     <Target Name="CgBlinnSheen">
         <MSBuild Projects="BlinnSheen\CgBlinnSheen.dproj"/>
@@ -131,50 +134,59 @@
     <Target Name="CgTextureC:Make">
         <MSBuild Projects="texturing\CgTextureC.cbproj" Targets="Make"/>
     </Target>
-    <Target Name="CgBumpMapping">
-        <MSBuild Projects="BumpMapping\CgBumpMapping.dproj"/>
+    <Target Name="CgBumpMapD">
+        <MSBuild Projects="BumpMapping\CgBumpMapD.dproj"/>
+    </Target>
+    <Target Name="CgBumpMapD:Clean">
+        <MSBuild Projects="BumpMapping\CgBumpMapD.dproj" Targets="Clean"/>
+    </Target>
+    <Target Name="CgBumpMapD:Make">
+        <MSBuild Projects="BumpMapping\CgBumpMapD.dproj" Targets="Make"/>
+    </Target>
+    <Target Name="CgDisttexD">
+        <MSBuild Projects="Distortion\CgDisttexD.dproj"/>
     </Target>
-    <Target Name="CgBumpMapping:Clean">
-        <MSBuild Projects="BumpMapping\CgBumpMapping.dproj" Targets="Clean"/>
+    <Target Name="CgDisttexD:Clean">
+        <MSBuild Projects="Distortion\CgDisttexD.dproj" Targets="Clean"/>
     </Target>
-    <Target Name="CgBumpMapping:Make">
-        <MSBuild Projects="BumpMapping\CgBumpMapping.dproj" Targets="Make"/>
+    <Target Name="CgDisttexD:Make">
+        <MSBuild Projects="Distortion\CgDisttexD.dproj" Targets="Make"/>
     </Target>
-    <Target Name="CgDistTexture">
-        <MSBuild Projects="Distortion\CgDistTexture.dproj"/>
+    <Target Name="CgReflectD">
+        <MSBuild Projects="Reflect\CgReflectD.dproj"/>
     </Target>
-    <Target Name="CgDistTexture:Clean">
-        <MSBuild Projects="Distortion\CgDistTexture.dproj" Targets="Clean"/>
+    <Target Name="CgReflectD:Clean">
+        <MSBuild Projects="Reflect\CgReflectD.dproj" Targets="Clean"/>
     </Target>
-    <Target Name="CgDistTexture:Make">
-        <MSBuild Projects="Distortion\CgDistTexture.dproj" Targets="Make"/>
+    <Target Name="CgReflectD:Make">
+        <MSBuild Projects="Reflect\CgReflectD.dproj" Targets="Make"/>
     </Target>
-    <Target Name="CgReflect">
-        <MSBuild Projects="Reflect\CgReflect.dproj"/>
+    <Target Name="CgReflectC">
+        <MSBuild Projects="Reflect\CgReflectC.cbproj"/>
     </Target>
-    <Target Name="CgReflect:Clean">
-        <MSBuild Projects="Reflect\CgReflect.dproj" Targets="Clean"/>
+    <Target Name="CgReflectC:Clean">
+        <MSBuild Projects="Reflect\CgReflectC.cbproj" Targets="Clean"/>
     </Target>
-    <Target Name="CgReflect:Make">
-        <MSBuild Projects="Reflect\CgReflect.dproj" Targets="Make"/>
+    <Target Name="CgReflectC:Make">
+        <MSBuild Projects="Reflect\CgReflectC.cbproj" Targets="Make"/>
     </Target>
-    <Target Name="CgSkyClouds">
-        <MSBuild Projects="SkyClouds\CgSkyClouds.dproj"/>
+    <Target Name="CgCloudSkyD">
+        <MSBuild Projects="CloudSky\CgCloudSkyD.dproj"/>
     </Target>
-    <Target Name="CgSkyClouds:Clean">
-        <MSBuild Projects="SkyClouds\CgSkyClouds.dproj" Targets="Clean"/>
+    <Target Name="CgCloudSkyD:Clean">
+        <MSBuild Projects="CloudSky\CgCloudSkyD.dproj" Targets="Clean"/>
     </Target>
-    <Target Name="CgSkyClouds:Make">
-        <MSBuild Projects="SkyClouds\CgSkyClouds.dproj" Targets="Make"/>
+    <Target Name="CgCloudSkyD:Make">
+        <MSBuild Projects="CloudSky\CgCloudSkyD.dproj" Targets="Make"/>
     </Target>
     <Target Name="Build">
-        <CallTarget Targets="BombShaderD;BombShaderC;CgBlinnSheen;CgCellShaderD;CgCellShaderC;CgSimpleD;CgSimpleC;CgTextureD;CgTextureC;CgBumpMapping;CgDistTexture;CgReflect;CgSkyClouds"/>
+        <CallTarget Targets="CgBombShaderD;CgBombShaderC;CgBlinnSheen;CgCellShaderD;CgCellShaderC;CgSimpleD;CgSimpleC;CgTextureD;CgTextureC;CgBumpMapD;CgDisttexD;CgReflectD;CgReflectC;CgCloudSkyD"/>
     </Target>
     <Target Name="Clean">
-        <CallTarget Targets="BombShaderD:Clean;BombShaderC:Clean;CgBlinnSheen:Clean;CgCellShaderD:Clean;CgCellShaderC:Clean;CgSimpleD:Clean;CgSimpleC:Clean;CgTextureD:Clean;CgTextureC:Clean;CgBumpMapping:Clean;CgDistTexture:Clean;CgReflect:Clean;CgSkyClouds:Clean"/>
+        <CallTarget Targets="CgBombShaderD:Clean;CgBombShaderC:Clean;CgBlinnSheen:Clean;CgCellShaderD:Clean;CgCellShaderC:Clean;CgSimpleD:Clean;CgSimpleC:Clean;CgTextureD:Clean;CgTextureC:Clean;CgBumpMapD:Clean;CgDisttexD:Clean;CgReflectD:Clean;CgReflectC:Clean;CgCloudSkyD:Clean"/>
     </Target>
     <Target Name="Make">
-        <CallTarget Targets="BombShaderD:Make;BombShaderC:Make;CgBlinnSheen:Make;CgCellShaderD:Make;CgCellShaderC:Make;CgSimpleD:Make;CgSimpleC:Make;CgTextureD:Make;CgTextureC:Make;CgBumpMapping:Make;CgDistTexture:Make;CgReflect:Make;CgSkyClouds:Make"/>
+        <CallTarget Targets="CgBombShaderD:Make;CgBombShaderC:Make;CgBlinnSheen:Make;CgCellShaderD:Make;CgCellShaderC:Make;CgSimpleD:Make;CgSimpleC:Make;CgTextureD:Make;CgTextureC:Make;CgBumpMapD:Make;CgDisttexD:Make;CgReflectD:Make;CgReflectC:Make;CgCloudSkyD:Make"/>
     </Target>
     <Import Project="$(BDS)\Bin\CodeGear.Group.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Group.Targets')"/>
 </Project>

+ 9 - 8
Examples/Demos/collisions/BoxSphere/fBoxSphereC.dfm

@@ -2,41 +2,42 @@ object Form1: TForm1
   Left = 0
   Top = 0
   Caption = 'Box Sphere Intersection'
-  ClientHeight = 454
-  ClientWidth = 552
+  ClientHeight = 470
+  ClientWidth = 829
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
   Font.Height = -11
   Font.Name = 'Tahoma'
   Font.Style = []
-  OldCreateOrder = False
   Position = poScreenCenter
   OnCreate = FormCreate
   OnMouseWheel = FormMouseWheel
-  PixelsPerInch = 96
   TextHeight = 13
   object Viewer: TGLSceneViewer
     Left = 180
     Top = 0
-    Width = 372
-    Height = 454
+    Width = 649
+    Height = 470
     Camera = GLCamera1
     Buffer.BackgroundColor = clTeal
-    FieldOfView = 149.907211303710900000
+    FieldOfView = 155.977050781250000000
     PenAsTouch = False
     Align = alClient
     OnMouseDown = ViewerMouseDown
     OnMouseMove = ViewerMouseMove
     TabOrder = 0
+    ExplicitWidth = 645
+    ExplicitHeight = 454
   end
   object Panel2: TPanel
     Left = 0
     Top = 0
     Width = 180
-    Height = 454
+    Height = 470
     Align = alLeft
     TabOrder = 1
+    ExplicitHeight = 454
     object Label5: TLabel
       Left = 10
       Top = 134

+ 136 - 267
Examples/Demos/collisions/BoxSphere/fBoxSphereD.dfm

@@ -2,114 +2,83 @@ object FormBoxSphere: TFormBoxSphere
   Left = 281
   Top = 115
   Caption = 'Box Sphere Intersection'
-  ClientHeight = 588
-  ClientWidth = 700
+  ClientHeight = 470
+  ClientWidth = 745
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -14
+  Font.Height = -11
   Font.Name = 'Arial'
   Font.Style = []
   KeyPreview = True
+  Position = poScreenCenter
   OnCreate = FormCreate
   OnKeyPress = FormKeyPress
   OnMouseWheel = FormMouseWheel
   OnResize = FormResize
-  PixelsPerInch = 120
-  TextHeight = 16
+  TextHeight = 14
   object Viewer: TGLSceneViewer
-    Left = 225
+    Left = 180
     Top = 0
-    Width = 475
-    Height = 588
-    Margins.Left = 4
-    Margins.Top = 4
-    Margins.Right = 4
-    Margins.Bottom = 4
+    Width = 565
+    Height = 470
     Camera = GLCamera1
     Buffer.BackgroundColor = clTeal
-    FieldOfView = 156.222686767578100000
+    FieldOfView = 155.977050781250000000
     PenAsTouch = False
     Align = alClient
     OnMouseDown = ViewerMouseDown
     OnMouseMove = ViewerMouseMove
     TabOrder = 0
+    ExplicitWidth = 557
   end
   object Panel2: TPanel
     Left = 0
     Top = 0
-    Width = 225
-    Height = 588
-    Margins.Left = 4
-    Margins.Top = 4
-    Margins.Right = 4
-    Margins.Bottom = 4
+    Width = 180
+    Height = 470
     Align = alLeft
     TabOrder = 1
     object Label5: TLabel
-      Left = 13
-      Top = 168
-      Width = 73
-      Height = 16
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 10
+      Top = 134
+      Width = 56
+      Height = 14
       Caption = 'Sphere pos'
     end
     object Label3: TLabel
-      Left = 20
-      Top = 10
-      Width = 76
-      Height = 16
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 16
+      Top = 8
+      Width = 59
+      Height = 14
       Caption = 'Box position'
     end
     object Label4: TLabel
-      Left = 120
-      Top = 10
-      Width = 60
-      Height = 16
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 96
+      Top = 8
+      Width = 48
+      Height = 14
       Caption = 'Box scale'
     end
     object Label1: TLabel
-      Left = 10
-      Top = 480
-      Width = 44
-      Height = 16
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 8
+      Top = 384
+      Width = 33
+      Height = 14
       Caption = 'Result:'
     end
     object Label7: TLabel
-      Left = 120
-      Top = 170
-      Width = 89
-      Height = 16
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 96
+      Top = 136
+      Width = 68
+      Height = 14
       Caption = 'Sphere radius'
     end
     object CheckBox06: TCheckBox
-      Left = 10
-      Top = 364
-      Width = 100
-      Height = 21
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 8
+      Top = 291
+      Width = 80
+      Height = 17
       Caption = 'Grid'
       Checked = True
       State = cbChecked
@@ -117,14 +86,10 @@ object FormBoxSphere: TFormBoxSphere
       OnClick = CheckBox04Click
     end
     object CheckBox04: TCheckBox
-      Left = 10
-      Top = 303
-      Width = 100
-      Height = 23
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 8
+      Top = 242
+      Width = 80
+      Height = 19
       Caption = 'Box visible'
       Checked = True
       State = cbChecked
@@ -132,27 +97,19 @@ object FormBoxSphere: TFormBoxSphere
       OnClick = CheckBox04Click
     end
     object CheckBox05: TCheckBox
-      Left = 10
-      Top = 334
-      Width = 100
-      Height = 21
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 8
+      Top = 267
+      Width = 80
+      Height = 17
       Caption = 'Axis'
       TabOrder = 2
       OnClick = CheckBox04Click
     end
     object CheckBox07: TCheckBox
-      Left = 10
-      Top = 393
-      Width = 121
-      Height = 21
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 8
+      Top = 314
+      Width = 97
+      Height = 17
       Caption = 'Sphere visible '
       Checked = True
       State = cbChecked
@@ -160,293 +117,205 @@ object FormBoxSphere: TFormBoxSphere
       OnClick = CheckBox04Click
     end
     object Edit1: TEdit
-      Left = 13
-      Top = 31
-      Width = 70
-      Height = 24
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 10
+      Top = 25
+      Width = 56
+      Height = 22
       TabOrder = 4
       Text = '12'
       OnChange = Edit1Change
     end
     object Edit2: TEdit
-      Left = 13
-      Top = 60
-      Width = 70
-      Height = 24
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 10
+      Top = 48
+      Width = 56
+      Height = 22
       TabOrder = 5
       Text = '9'
       OnChange = Edit1Change
     end
     object Edit3: TEdit
-      Left = 13
-      Top = 90
-      Width = 70
-      Height = 24
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 10
+      Top = 72
+      Width = 56
+      Height = 22
       TabOrder = 6
       Text = '6'
       OnChange = Edit1Change
     end
     object UpDown1: TUpDown
-      Left = 83
-      Top = 31
-      Width = 27
-      Height = 24
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 66
+      Top = 25
+      Width = 22
+      Height = 22
       Associate = Edit1
       Min = -100
       Position = 12
       TabOrder = 7
     end
     object UpDown2: TUpDown
-      Left = 83
-      Top = 60
-      Width = 27
-      Height = 24
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 66
+      Top = 48
+      Width = 22
+      Height = 22
       Associate = Edit2
       Min = -100
       Position = 9
       TabOrder = 8
     end
     object UpDown3: TUpDown
-      Left = 83
-      Top = 90
-      Width = 27
-      Height = 24
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 66
+      Top = 72
+      Width = 22
+      Height = 22
       Associate = Edit3
       Min = -100
       Position = 6
       TabOrder = 9
     end
     object Edit4: TEdit
-      Left = 114
-      Top = 30
-      Width = 70
-      Height = 24
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 91
+      Top = 24
+      Width = 56
+      Height = 22
       TabOrder = 10
       Text = '10'
       OnChange = Edit1Change
     end
     object Edit5: TEdit
-      Left = 114
-      Top = 60
-      Width = 70
-      Height = 24
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 91
+      Top = 48
+      Width = 56
+      Height = 22
       TabOrder = 11
       Text = '10'
       OnChange = Edit1Change
     end
     object Edit6: TEdit
-      Left = 114
-      Top = 90
-      Width = 70
-      Height = 24
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 91
+      Top = 72
+      Width = 56
+      Height = 22
       TabOrder = 12
       Text = '10'
       OnChange = Edit1Change
     end
     object UpDown4: TUpDown
-      Left = 184
-      Top = 30
-      Width = 27
-      Height = 24
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 147
+      Top = 24
+      Width = 22
+      Height = 22
       Associate = Edit4
       Position = 10
       TabOrder = 13
     end
     object UpDown5: TUpDown
-      Left = 184
-      Top = 60
-      Width = 27
-      Height = 24
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 147
+      Top = 48
+      Width = 22
+      Height = 22
       Associate = Edit5
       Position = 10
       TabOrder = 14
     end
     object UpDown6: TUpDown
-      Left = 184
-      Top = 90
-      Width = 27
-      Height = 24
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 147
+      Top = 72
+      Width = 22
+      Height = 22
       Associate = Edit6
       Position = 10
       TabOrder = 15
     end
     object Edit7: TEdit
-      Left = 13
-      Top = 190
-      Width = 70
-      Height = 24
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 10
+      Top = 152
+      Width = 56
+      Height = 22
       TabOrder = 16
       Text = '7'
       OnChange = Edit1Change
     end
     object Edit8: TEdit
-      Left = 13
-      Top = 220
-      Width = 70
-      Height = 24
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 10
+      Top = 176
+      Width = 56
+      Height = 22
       TabOrder = 17
       Text = '-1'
       OnChange = Edit1Change
     end
     object Edit9: TEdit
-      Left = 13
-      Top = 250
-      Width = 70
-      Height = 24
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 10
+      Top = 200
+      Width = 56
+      Height = 22
       TabOrder = 18
       Text = '6'
       OnChange = Edit1Change
     end
     object UpDown7: TUpDown
-      Left = 83
-      Top = 190
-      Width = 27
-      Height = 24
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 66
+      Top = 152
+      Width = 22
+      Height = 22
       Associate = Edit7
       Min = -100
       Position = 7
       TabOrder = 19
     end
     object UpDown8: TUpDown
-      Left = 83
-      Top = 220
-      Width = 27
-      Height = 24
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 66
+      Top = 176
+      Width = 22
+      Height = 22
       Associate = Edit8
       Min = -100
       Position = -1
       TabOrder = 20
     end
     object UpDown9: TUpDown
-      Left = 83
-      Top = 250
-      Width = 27
-      Height = 24
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 66
+      Top = 200
+      Width = 22
+      Height = 22
       Associate = Edit9
       Min = -100
       Position = 6
       TabOrder = 21
     end
     object Edit10: TEdit
-      Left = 116
-      Top = 190
-      Width = 70
-      Height = 24
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 93
+      Top = 152
+      Width = 56
+      Height = 22
       TabOrder = 22
       Text = '5'
       OnChange = Edit1Change
     end
     object UpDown10: TUpDown
-      Left = 186
-      Top = 190
-      Width = 28
-      Height = 24
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 149
+      Top = 152
+      Width = 22
+      Height = 22
       Associate = Edit10
       Position = 5
       TabOrder = 23
     end
     object Button3: TButton
-      Left = 50
-      Top = 430
-      Width = 94
-      Height = 31
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 40
+      Top = 344
+      Width = 75
+      Height = 25
       Caption = 'Recalc'
       TabOrder = 24
       OnClick = Button3Click
     end
     object Button4: TButton
-      Left = 14
-      Top = 123
-      Width = 197
-      Height = 31
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 11
+      Top = 98
+      Width = 158
+      Height = 25
       Caption = 'Random box rotation'
       Default = True
       TabOrder = 25

+ 13 - 12
Examples/Demos/collisions/OcclusionQuery/fOcclusionQueryC.cpp

@@ -11,12 +11,13 @@
 #pragma link "GLS.BaseClasses"
 #pragma link "GLS.Cadencer"
 #pragma link "GLS.Coordinates"
+#pragma link "GLS.Context"
+
 
 #pragma link "GLS.GeomObjects"
 #pragma link "GLS.Objects"
 #pragma link "GLS.Scene"
 #pragma link "GLS.SceneViewer"
-#pragma link "GLS.Context"
 
 #pragma resource "*.dfm"
 
@@ -27,15 +28,6 @@ __fastcall TForm1::TForm1(TComponent* Owner)
 {
 }
 
-//---------------------------------------------------------------------------
-void __fastcall TForm1::FormDestroy(TObject *Sender)
-{
-  // Delete the queries
-  TimerQuery->Free();
-  OcclusionQuery->Free();
-  bOcclusionQuery->Free();
-}
-
 //---------------------------------------------------------------------------
 void __fastcall TForm1::GLCadencer1Progress(TObject *Sender, const double deltaTime,
 		  const double newTime)
@@ -107,8 +99,7 @@ void __fastcall TForm1::OGLEndQueriesRender(TObject *Sender, TGLRenderContextInf
   samplesPassed = OcclusionQuery->PixelCount();
 
   while (! TimerQuery->IsResultAvailable()) ;// wait
-	// would normally do something in this period before checking if
-	// result is available
+	// would normally do something in this period before checking if result is available
   timeTaken = TimerQuery->Time();
 	// Use this line instead of the one above to use 64 bit timer, to allow
 	// recording time periods more than a couple of seconds (requires Delphi 7+)
@@ -142,3 +133,13 @@ void __fastcall TForm1::Timer1Timer(TObject *Sender)
   GLSceneViewer1->ResetPerformanceMonitor();
 }
 //---------------------------------------------------------------------------
+
+void __fastcall TForm1::FormDestroy(TObject *Sender)
+{
+  // Delete the queries
+  TimerQuery->Free();
+  OcclusionQuery->Free();
+  bOcclusionQuery->Free();
+}
+
+//---------------------------------------------------------------------------

+ 12 - 10
Examples/Demos/collisions/OcclusionQuery/fOcclusionQueryD.pas

@@ -83,13 +83,8 @@ implementation
 
 {$R *.dfm}
 
-procedure TFormOcclusionQuery.FormDestroy(Sender: TObject);
-begin
-  // Delete the queries
-  TimerQuery.Free;
-  OcclusionQuery.Free;
-  bOcclusionQuery.Free;
-end;
+
+//------------------------------------------------------------------------------
 
 procedure TFormOcclusionQuery.GLCadencer1Progress(Sender: TObject; const deltaTime,
   newTime: Double);
@@ -167,9 +162,8 @@ begin
 
   if timerQuerySupported then
   begin
-    while not TimerQuery.IsResultAvailable do
-      { wait }; // would normally do something in this period before checking if
-    // result is available
+    while not TimerQuery.IsResultAvailable do ; (* wait *) 
+	// would normally do something in this period before checking if result is available
     timeTaken := TimerQuery.Time;
     // Use this line instead of the one above to use 64 bit timer, to allow
     // recording time periods more than a couple of seconds (requires Delphi 7+)
@@ -201,5 +195,13 @@ begin
   GLSceneViewer1.ResetPerformanceMonitor;
 end;
 
+procedure TFormOcclusionQuery.FormDestroy(Sender: TObject);
+begin
+  // Delete the queries
+  TimerQuery.Free;
+  OcclusionQuery.Free;
+  bOcclusionQuery.Free;
+end;
+
 end.
 

+ 1 - 0
Examples/Demos/collisions/boxedin/fBoxC.dfm

@@ -10,6 +10,7 @@ object Form1: TForm1
   Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Style = []
+  Position = poScreenCenter
   TextHeight = 13
   object GLSceneViewer2: TGLSceneViewer
     Left = 0

+ 0 - 0
Examples/Demos/rendering/BunnyBump.jpg → Examples/Demos/glslshaders/BunnyBump.jpg


+ 1 - 1
Examples/Demos/glslshaders/GLSLShaderComponent/ShaderCompD.dproj

@@ -8,7 +8,7 @@
         <AppType>Application</AppType>
         <FrameworkType>VCL</FrameworkType>
         <ProjectVersion>19.4</ProjectVersion>
-        <Platform Condition="'$(Platform)'==''">Win64</Platform>
+        <Platform Condition="'$(Platform)'==''">Win32</Platform>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
         <Base>true</Base>

+ 1 - 1
Examples/Demos/glslshaders/PostShader/PostShaderC.cbproj

@@ -147,7 +147,7 @@
     </PropertyGroup>
     <ItemGroup>
         <CppCompile Include="fPostShaderC.cpp">
-            <Form>Form1</Form>
+            <Form>FormPostShader</Form>
             <FormType>dfm</FormType>
             <DependentOn>fPostShaderC.h</DependentOn>
             <BuildOrder>2</BuildOrder>

+ 2 - 2
Examples/Demos/glslshaders/PostShader/PostShaderC.cpp

@@ -4,7 +4,7 @@
 #pragma hdrstop
 #include <tchar.h>
 //---------------------------------------------------------------------------
-USEFORM("fPostShaderC.cpp", Form1);
+USEFORM("fPostShaderC.cpp", FormPostShader);
 //---------------------------------------------------------------------------
 int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
 {
@@ -12,7 +12,7 @@ int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
 	{
 		Application->Initialize();
 		Application->MainFormOnTaskBar = true;
-		Application->CreateForm(__classid(TForm1), &Form1);
+		Application->CreateForm(__classid(TFormPostShader), &FormPostShader);
 		Application->Run();
 	}
 	catch (Exception &exception)

+ 2 - 2
Examples/Demos/glslshaders/PostShader/PostShaderD.dpr

@@ -11,12 +11,12 @@ program PostShaderD;
 
 uses
   Forms,
-  fPostShaderD in 'fPostShaderD.pas' {PostShaderDemoForm};
+  fPostShaderD in 'fPostShaderD.pas' {FormPostShader};
 
 {$R *.res}
 
 begin
   Application.Initialize;
-  Application.CreateForm(TPostShaderDemoForm, PostShaderDemoForm);
+  Application.CreateForm(TFormPostShader, FormPostShader);
   Application.Run;
 end.

+ 1 - 1
Examples/Demos/glslshaders/PostShader/PostShaderD.dproj

@@ -142,7 +142,7 @@
             <MainSource>MainSource</MainSource>
         </DelphiCompile>
         <DCCReference Include="fPostShaderD.pas">
-            <Form>PostShaderDemoForm</Form>
+            <Form>FormPostShader</Form>
         </DCCReference>
         <BuildConfiguration Include="Base">
             <Key>Base</Key>

+ 11 - 12
Examples/Demos/glslshaders/PostShader/fPostShaderC.cpp

@@ -26,7 +26,7 @@
 #pragma link "GLSL.PostEffects"
 #pragma resource "*.dfm"
 
-TForm1 *Form1;
+TFormPostShader *FormPostShader;
 
   //Shaders
   TGLSLPostBlurShader *BlurShader;
@@ -41,12 +41,12 @@ TForm1 *Form1;
 
 
 //---------------------------------------------------------------------------
-__fastcall TForm1::TForm1(TComponent* Owner)
+__fastcall TFormPostShader::TFormPostShader(TComponent* Owner)
 	: TForm(Owner)
 {
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::FormCreate(TObject *Sender)
+void __fastcall TFormPostShader::FormCreate(TObject *Sender)
 {
   // First load models.
   TFileName Path = GetCurrentAssetPath();
@@ -150,7 +150,7 @@ void __fastcall TForm1::FormCreate(TObject *Sender)
 }
 
 //---------------------------------------------------------------------------
-void __fastcall TForm1::CadencerProgress(TObject *Sender, const double deltaTime,
+void __fastcall TFormPostShader::CadencerProgress(TObject *Sender, const double deltaTime,
 		  const double newTime)
 {
   Viewer->Invalidate();
@@ -166,7 +166,7 @@ void __fastcall TForm1::CadencerProgress(TObject *Sender, const double deltaTime
 	NightVisionShader->ElapsedTime = newTime; // 20*deltaTime;
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::LightCubeProgress(TObject *Sender, const double deltaTime,
+void __fastcall TFormPostShader::LightCubeProgress(TObject *Sender, const double deltaTime,
 		  const double newTime)
 {
   if (LightMovingCheckBox->Checked)
@@ -174,7 +174,7 @@ void __fastcall TForm1::LightCubeProgress(TObject *Sender, const double deltaTim
 }
 
 //---------------------------------------------------------------------------
-void __fastcall TForm1::ShaderCheckListBoxClick(TObject *Sender)
+void __fastcall TFormPostShader::ShaderCheckListBoxClick(TObject *Sender)
 {
   int I;
   if (ShaderCheckListBox->Items->Count != 0)
@@ -185,13 +185,12 @@ void __fastcall TForm1::ShaderCheckListBoxClick(TObject *Sender)
 
 //---------------------------------------------------------------------------
 
-void __fastcall TForm1::tbBlurValueChange(TObject *Sender)
+void __fastcall TFormPostShader::tbBlurValueChange(TObject *Sender)
 {
 /*
   BlurShader->Threshold = tbBlurValue->Position / 100;
   lblBlurValue->Caption = FloatToStrF(BlurShader->Threshold, ffFixed, 5, 2);
 
-
   if (BigBlurThickness->Checkbox = Checked)
 	BlurShader->Threshold = 0.005;
   else
@@ -200,28 +199,28 @@ void __fastcall TForm1::tbBlurValueChange(TObject *Sender)
 }
 //---------------------------------------------------------------------------
 
-void __fastcall TForm1::tbDreamThresholdChange(TObject *Sender)
+void __fastcall TFormPostShader::tbDreamThresholdChange(TObject *Sender)
 {
 //
 }
 
 //---------------------------------------------------------------------------
 
-void __fastcall TForm1::tbThermalThresholdChange(TObject *Sender)
+void __fastcall TFormPostShader::tbThermalThresholdChange(TObject *Sender)
 {
 //
 }
 
 //---------------------------------------------------------------------------
 
-void __fastcall TForm1::tbThermalIntensityChange(TObject *Sender)
+void __fastcall TFormPostShader::tbThermalIntensityChange(TObject *Sender)
 {
 //
 }
 
 
 //---------------------------------------------------------------------------
-void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
+void __fastcall TFormPostShader::FormClose(TObject *Sender, TCloseAction &Action)
 {
   Cadencer->Enabled = false;
 }

+ 6 - 6
Examples/Demos/glslshaders/PostShader/fPostShaderC.dfm

@@ -1,9 +1,9 @@
-object Form1: TForm1
+object FormPostShader: TFormPostShader
   Left = 261
   Top = 176
   Caption = 'GLSL Post Shader'
   ClientHeight = 620
-  ClientWidth = 769
+  ClientWidth = 900
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
@@ -17,7 +17,7 @@ object Form1: TForm1
   object Viewer: TGLSceneViewer
     Left = 0
     Top = 0
-    Width = 546
+    Width = 677
     Height = 591
     Camera = Camera
     Buffer.BackgroundColor = clBackground
@@ -25,7 +25,7 @@ object Form1: TForm1
     Buffer.AntiAliasing = aaNone
     Buffer.DepthPrecision = dp24bits
     Buffer.ColorDepth = cd24bits
-    FieldOfView = 153.215011596679700000
+    FieldOfView = 155.188858032226600000
     PenAsTouch = False
     Align = alClient
     TabOrder = 0
@@ -33,7 +33,7 @@ object Form1: TForm1
   object Panel1: TPanel
     Left = 0
     Top = 591
-    Width = 769
+    Width = 900
     Height = 29
     Align = alBottom
     TabOrder = 1
@@ -61,7 +61,7 @@ object Form1: TForm1
     end
   end
   object Panel2: TPanel
-    Left = 546
+    Left = 677
     Top = 0
     Width = 223
     Height = 591

+ 6 - 6
Examples/Demos/glslshaders/PostShader/fPostShaderC.h

@@ -37,7 +37,7 @@
 #include "Cg.PostTransformationShader.hpp"
 
 //---------------------------------------------------------------------------
-class TForm1 : public TForm
+class TFormPostShader : public TForm
 {
 __published:	// IDE-managed Components
 	TGLSceneViewer *Viewer;
@@ -64,23 +64,23 @@ __published:	// IDE-managed Components
 	TGLCadencer *Cadencer;
 	TGLMaterialLibrary *MaterialLibrary;
 	TGLSimpleNavigation *GLSimpleNavigation1;
+	void __fastcall tbBlurValueChange(TObject *Sender);
+	void __fastcall tbDreamThresholdChange(TObject *Sender);
+	void __fastcall tbThermalIntensityChange(TObject *Sender);
 	void __fastcall FormCreate(TObject *Sender);
 	void __fastcall CadencerProgress(TObject *Sender, const double deltaTime, const double newTime);
 	void __fastcall LightCubeProgress(TObject *Sender, const double deltaTime, const double newTime);
 	void __fastcall ShaderCheckListBoxClick(TObject *Sender);
 	void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
 	void __fastcall tbThermalThresholdChange(TObject *Sender);
-	void __fastcall tbBlurValueChange(TObject *Sender);
-	void __fastcall tbDreamThresholdChange(TObject *Sender);
-	void __fastcall tbThermalIntensityChange(TObject *Sender);
 private:	// User declarations
 	int mx, my;
 	TGLSLPostBlurShader *BlurShader;
 	TGLCGPostTransformationShader *TransformationShader;
 public:		// User declarations
-	__fastcall TForm1(TComponent* Owner);
+	__fastcall TFormPostShader(TComponent* Owner);
 };
 //---------------------------------------------------------------------------
-extern PACKAGE TForm1 *Form1;
+extern PACKAGE TFormPostShader *FormPostShader;
 //---------------------------------------------------------------------------
 #endif

+ 1 - 7
Examples/Demos/glslshaders/PostShader/fPostShaderD.dfm

@@ -1,4 +1,4 @@
-object PostShaderDemoForm: TPostShaderDemoForm
+object FormPostShader: TFormPostShader
   Left = 261
   Top = 176
   Caption = 'GLSL Post Shader'
@@ -29,8 +29,6 @@ object PostShaderDemoForm: TPostShaderDemoForm
     PenAsTouch = False
     Align = alClient
     TabOrder = 0
-    ExplicitWidth = 510
-    ExplicitHeight = 519
   end
   object Panel1: TPanel
     Left = 0
@@ -39,8 +37,6 @@ object PostShaderDemoForm: TPostShaderDemoForm
     Height = 29
     Align = alBottom
     TabOrder = 1
-    ExplicitTop = 507
-    ExplicitWidth = 661
     object LightMovingCheckBox: TCheckBox
       Left = 8
       Top = 8
@@ -71,8 +67,6 @@ object PostShaderDemoForm: TPostShaderDemoForm
     Height = 523
     Align = alRight
     TabOrder = 2
-    ExplicitLeft = 438
-    ExplicitHeight = 507
     object Label1: TLabel
       Left = 16
       Top = 8

+ 22 - 22
Examples/Demos/glslshaders/PostShader/fPostShaderD.pas

@@ -39,7 +39,7 @@ uses
   GLS.File3DS;
 
 type
-  TPostShaderDemoForm = class(TForm)
+  TFormPostShader = class(TForm)
     Scene: TGLScene;
     Viewer: TGLSceneViewer;
     Cadencer: TGLCadencer;
@@ -134,7 +134,7 @@ type
   end;
 
 var
-  PostShaderDemoForm: TPostShaderDemoForm;
+  FormPostShader: TFormPostShader;
 
   //Shaders
   BlurShader: TGLSLPostBlurShader;
@@ -151,7 +151,7 @@ implementation
 
 {$R *.dfm}
 
-procedure TPostShaderDemoForm.FormCreate(Sender: TObject);
+procedure TFormPostShader.FormCreate(Sender: TObject);
 begin
   // First load animated models with textures
   var Path: TFileName := GetCurrentAssetPath();
@@ -256,7 +256,7 @@ end;
 
 //-------------------------------------------------------
 
-procedure TPostShaderDemoForm.CadencerProgress(Sender: TObject;
+procedure TFormPostShader.CadencerProgress(Sender: TObject;
   const deltaTime, newTime: double);
 begin
   Viewer.Invalidate;
@@ -274,7 +274,7 @@ end;
 
 //-------------------------------------------------------
 
-procedure TPostShaderDemoForm.LightCubeProgress(Sender: TObject;
+procedure TFormPostShader.LightCubeProgress(Sender: TObject;
   const deltaTime, newTime: double);
 begin
   if LightMovingCheckBox.Checked then
@@ -284,7 +284,7 @@ end;
 
 //-------------------------------------------------------
 
-procedure TPostShaderDemoForm.ShaderCheckListBoxClick(Sender: TObject);
+procedure TFormPostShader.ShaderCheckListBoxClick(Sender: TObject);
 var
   I: Integer;
 begin
@@ -296,7 +296,7 @@ end;
 
 //-------------------------------------------------------
 
-procedure TPostShaderDemoForm.tbBlurValueChange(Sender: TObject);
+procedure TFormPostShader.tbBlurValueChange(Sender: TObject);
 begin
   BlurShader.Threshold := tbBlurValue.Position / 100;
   lblBlurValue.Caption := FloatToStrF(BlurShader.Threshold, ffFixed, 5, 2);
@@ -304,7 +304,7 @@ end;
 
 //-------------------------------------------------------
 
-procedure TPostShaderDemoForm.tbDreamThresholdChange(Sender: TObject);
+procedure TFormPostShader.tbDreamThresholdChange(Sender: TObject);
 begin
   DreamVisionShader.Threshold := tbDreamThreshold.Position / 100;
   lblDreamThreshold.Caption := FloatToStrF(DreamVisionShader.Threshold,
@@ -313,7 +313,7 @@ end;
 
 //-------------------------------------------------------
 
-procedure TPostShaderDemoForm.tbFrostFactorChange(Sender: TObject);
+procedure TFormPostShader.tbFrostFactorChange(Sender: TObject);
 begin
   FrostShader.RandFactor := tbFrostFactor.Position;
   lblFrostFactor.Caption := FloatToStrF(FrostShader.RandFactor, ffFixed, 5, 2);
@@ -321,7 +321,7 @@ end;
 
 //-------------------------------------------------------
 
-procedure TPostShaderDemoForm.tbFrostRandChange(Sender: TObject);
+procedure TFormPostShader.tbFrostRandChange(Sender: TObject);
 begin
   FrostShader.RandScale := tbFrostRand.Position;
   lblFrostRand.Caption := FloatToStrF(FrostShader.RandScale, ffFixed, 5, 2);
@@ -329,7 +329,7 @@ end;
 
 //-------------------------------------------------------
 
-procedure TPostShaderDemoForm.tblNightThresholdChange(Sender: TObject);
+procedure TFormPostShader.tblNightThresholdChange(Sender: TObject);
 begin
   NightVisionShader.LuminanceThreshold := tblNightThreshold.Position / 100;
   lblNight.Caption := FloatToStrF(NightVisionShader.LuminanceThreshold,
@@ -338,7 +338,7 @@ end;
 
 //-------------------------------------------------------
 
-procedure TPostShaderDemoForm.tbNightAmplificationChange(Sender: TObject);
+procedure TFormPostShader.tbNightAmplificationChange(Sender: TObject);
 begin
   NightVisionShader.ColorAmplification := tbNightAmplification.Position / 100;
   lblNightAmplification.Caption :=
@@ -347,7 +347,7 @@ end;
 
 //-------------------------------------------------------
 
-procedure TPostShaderDemoForm.tbPixelateHeightChange(Sender: TObject);
+procedure TFormPostShader.tbPixelateHeightChange(Sender: TObject);
 begin
   PixelateShader.PixelHeight := tbPixelateHeight.Position;
   lblPixelateHeight.Caption := FloatToStrF(PixelateShader.PixelHeight,
@@ -356,7 +356,7 @@ end;
 
 //-------------------------------------------------------
 
-procedure TPostShaderDemoForm.tbPixelateWidthChange(Sender: TObject);
+procedure TFormPostShader.tbPixelateWidthChange(Sender: TObject);
 begin
   PixelateShader.PixelWidth := tbPixelateWidth.Position;
   lblPixelateWidth.Caption := FloatToStrF(PixelateShader.PixelWidth,
@@ -365,7 +365,7 @@ end;
 
 //-------------------------------------------------------
 
-procedure TPostShaderDemoForm.tbPosterizeColorsChange(Sender: TObject);
+procedure TFormPostShader.tbPosterizeColorsChange(Sender: TObject);
 begin
   PosterizeShader.NumColors := tbPosterizeColors.Position;
   lblPosterizeColors.Caption := FloatToStrF(PosterizeShader.NumColors,
@@ -374,7 +374,7 @@ end;
 
 //-------------------------------------------------------
 
-procedure TPostShaderDemoForm.tbPosterizeGammaChange(Sender: TObject);
+procedure TFormPostShader.tbPosterizeGammaChange(Sender: TObject);
 begin
   PosterizeShader.Gamma := tbPosterizeGamma.Position / 100;
   lblPosterizeGamma.Caption := FloatToStrF(PosterizeShader.Gamma,
@@ -383,7 +383,7 @@ end;
 
 //-------------------------------------------------------
 
-procedure TPostShaderDemoForm.tbThermalIntensityChange(Sender: TObject);
+procedure TFormPostShader.tbThermalIntensityChange(Sender: TObject);
 begin
   ThermalVisionShader.Intensity := tbThermalIntensity.Position / 100;
   lblThermalIntensity.Caption := FloatToStrF(ThermalVisionShader.Intensity,
@@ -392,7 +392,7 @@ end;
 
 //-------------------------------------------------------
 
-procedure TPostShaderDemoForm.tbThermalThresholdChange(Sender: TObject);
+procedure TFormPostShader.tbThermalThresholdChange(Sender: TObject);
 begin
   ThermalVisionShader.Threshold := tbThermalThreshold.Position / 100;
   lblThermalThreshold.Caption := FloatToStrF(ThermalVisionShader.Threshold,
@@ -401,7 +401,7 @@ end;
 
 //-------------------------------------------------------
 
-procedure TPostShaderDemoForm.tbTroubleFreqChange(Sender: TObject);
+procedure TFormPostShader.tbTroubleFreqChange(Sender: TObject);
 begin
   TroubleShader.Freq := tbTroubleFreq.Position / 100;
   lblTroubleFreq.Caption := FloatToStrF(TroubleShader.Freq, ffFixed, 5, 2);
@@ -409,7 +409,7 @@ end;
 
 //-------------------------------------------------------
 
-procedure TPostShaderDemoForm.tbTroubleHeightChange(Sender: TObject);
+procedure TFormPostShader.tbTroubleHeightChange(Sender: TObject);
 begin
   TroubleShader.PixelY := tbTroubleHeight.Position;
   lblTroubleHeight.Caption := FloatToStrF(TroubleShader.PixelY, ffFixed, 5, 2);
@@ -417,7 +417,7 @@ end;
 
 //-------------------------------------------------------
 
-procedure TPostShaderDemoForm.tbTroubleWidthChange(Sender: TObject);
+procedure TFormPostShader.tbTroubleWidthChange(Sender: TObject);
 begin
   TroubleShader.PixelX := tbTroubleWidth.Position;
   lblTroubleWidth.Caption := FloatToStrF(TroubleShader.PixelX, ffFixed, 5, 2);
@@ -425,7 +425,7 @@ end;
 
 //-------------------------------------------------------
 
-procedure TPostShaderDemoForm.FormClose(Sender: TObject;
+procedure TFormPostShader.FormClose(Sender: TObject;
   var Action: TCloseAction);
 begin
   Cadencer.Enabled := false;

+ 1 - 1
Examples/Demos/glslshaders/ShadersLab/fShaderLabD.pas

@@ -556,7 +556,7 @@ begin
 
   VertexDisplacementShader := TGLSLVertexDisplacementShader.Create(self);
   MaterialLibrary.LibMaterialByName('ExplosionTexture').Material.Texture.Image.LoadFromFile
-    ('FireGrade2.png');
+    ('FireGrade.png');
   VertexDisplacementShader.MaterialLibrary := MaterialLibrary;
   VertexDisplacementShader.MainTextureName := 'ExplosionTexture';
   VertexDisplacementShader.Enabled := False;

+ 0 - 2
Examples/Demos/glslshaders/SimpleGLSL/fSimpleShaderC.dfm

@@ -31,8 +31,6 @@ object Form1: TForm1
     Align = alClient
     OnMouseDown = GLSceneViewer1MouseDown
     TabOrder = 0
-    ExplicitWidth = 866
-    ExplicitHeight = 466
   end
   object GLScene1: TGLScene
     Left = 176

+ 1 - 1
Examples/Demos/graph/points/PointsC.cbproj

@@ -7,7 +7,7 @@
         <MainSource>PointsC.cpp</MainSource>
         <Base>True</Base>
         <Config Condition="'$(Config)'==''">Debug</Config>
-        <Platform Condition="'$(Platform)'==''">Win64</Platform>
+        <Platform Condition="'$(Platform)'==''">Win32</Platform>
         <TargetedPlatforms>3</TargetedPlatforms>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">

+ 26 - 43
Examples/Demos/graph/points/fPointsC.dfm

@@ -2,66 +2,53 @@ object Form1: TForm1
   Left = 0
   Top = 0
   Caption = 'Points'
-  ClientHeight = 516
-  ClientWidth = 609
+  ClientHeight = 467
+  ClientWidth = 629
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -13
+  Font.Height = -10
   Font.Name = 'Tahoma'
   Font.Style = []
+  Position = poScreenCenter
   OnCreate = FormCreate
-  PixelsPerInch = 120
-  TextHeight = 16
+  TextHeight = 12
   object GLSceneViewer1: TGLSceneViewer
     Left = 0
-    Top = 29
-    Width = 609
-    Height = 487
-    Margins.Left = 4
-    Margins.Top = 4
-    Margins.Right = 4
-    Margins.Bottom = 4
+    Top = 23
+    Width = 629
+    Height = 444
     Camera = GLCamera1
     Buffer.BackgroundColor = clTeal
-    FieldOfView = 156.792495727539100000
+    FieldOfView = 154.614669799804700000
     PenAsTouch = False
     Align = alClient
     OnMouseDown = GLSceneViewer1MouseDown
     OnMouseMove = GLSceneViewer1MouseMove
     TabOrder = 0
+    ExplicitWidth = 539
+    ExplicitHeight = 406
   end
   object Panel1: TPanel
     Left = 0
     Top = 0
-    Width = 609
-    Height = 29
-    Margins.Left = 4
-    Margins.Top = 4
-    Margins.Right = 4
-    Margins.Bottom = 4
+    Width = 629
+    Height = 23
     Align = alTop
     TabOrder = 1
+    ExplicitWidth = 487
     object LabelFPS: TLabel
-      Left = 333
-      Top = 6
-      Width = 22
-      Height = 16
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 266
+      Top = 5
+      Width = 18
+      Height = 12
       Caption = 'FPS'
     end
     object CBPointParams: TCheckBox
-      Left = 10
-      Top = 5
-      Width = 111
-      Height = 20
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 8
+      Top = 4
+      Width = 89
+      Height = 16
       Caption = 'PointParameters'
       Checked = True
       State = cbChecked
@@ -69,14 +56,10 @@ object Form1: TForm1
       OnClick = CBPointParamsClick
     end
     object CBAnimate: TCheckBox
-      Left = 204
-      Top = 5
-      Width = 111
-      Height = 20
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 163
+      Top = 4
+      Width = 89
+      Height = 16
       Caption = 'Animate'
       Checked = True
       State = cbChecked

+ 1 - 1
Examples/Demos/graph/splines/fSplinesC.cpp

@@ -3,7 +3,7 @@
    TGLLines can handle normal lines and cubic splines, each node can have a
    different color, and the line can be color-interpolated.
 
-   Note that the camera in this sample is in <i>orthogonal</i> mode, this makes
+   Note that the camera in this sample is in orthogonal mode, this makes
    for a quick and easy way to work in 2D with OpenGL (try switching the camera
    to perpective mode if you don't see the point).
 */

+ 8 - 5
Examples/Demos/graph/splines/fSplinesC.dfm

@@ -2,20 +2,21 @@ object Form1: TForm1
   Left = 217
   Top = 127
   Caption = 'Splines'
-  ClientHeight = 320
-  ClientWidth = 326
+  ClientHeight = 437
+  ClientWidth = 590
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
   Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Style = []
+  Position = poScreenCenter
   TextHeight = 13
   object GLSceneViewer1: TGLSceneViewer
     Left = 0
     Top = 0
-    Width = 326
-    Height = 320
+    Width = 590
+    Height = 437
     Margins.Left = 2
     Margins.Top = 2
     Margins.Right = 2
@@ -23,12 +24,14 @@ object Form1: TForm1
     Camera = GLCamera1
     Buffer.BackgroundColor = clBackground
     Buffer.AntiAliasing = aa4xHQ
-    FieldOfView = 162.238677978515600000
+    FieldOfView = 166.945602416992200000
     PenAsTouch = False
     Align = alClient
     OnMouseDown = GLSceneViewer1MouseDown
     OnMouseMove = GLSceneViewer1MouseMove
     TabOrder = 0
+    ExplicitWidth = 460
+    ExplicitHeight = 363
   end
   object GLScene1: TGLScene
     Left = 16

+ 33 - 34
Examples/Demos/meshes/synthterr/fSynthTerrainC.cpp

@@ -81,47 +81,47 @@ void __fastcall TForm1::FormCreate(TObject* Sender)
 //
 void __fastcall TForm1::GLCustomHDSStartPreparingData(TGLHeightData* HeightData)
 {
-	int x, y;
+    int x, y;
 	TByteRaster rasterLine;
-	TGLHeightDataType oldType;
-	TByteVector* b;
+    TGLHeightDataType oldType;
+//	TByteVector* b;
+	Byte b;
 	float d, dy;
 
-	b = new(TByteVector);
-	HeightData->DataState = hdsPreparing;
+//    b = new (TByteVector);
+    HeightData->DataState = hdsPreparing;
 	// retrieve data
-	oldType = HeightData->DataType;
+    oldType = HeightData->DataType;
 	HeightData->Allocate(hdtByte);
-	// Cheap texture changed (32 is our tileSize = 2^5)
-	// This basicly picks a texture for each tile depending on the tile's position
-	switch ((((HeightData->XLeft ^ HeightData->YTop) << 5) && 3)) {
-		case 0, 3:
-			HeightData->MaterialName = "BW";
-			break;
-		case 1:
-			HeightData->MaterialName = "Blue";
-			break;
-		case 2:
-			HeightData->MaterialName = "Red";
-			break;
-		default:;
-	}
-	// 'Cheap' elevation data : this is just a formula z=f(x, y)
-	for (y = HeightData->YTop; y < HeightData->YTop + HeightData->Size - 1; y++)
-	{
-		rasterLine = HeightData->ByteRaster[y - HeightData->YTop];
-		dy = y * y;
+    // Cheap texture changed (32 is our tileSize = 2^5)
+    // This basicly picks a texture for each tile depending on the tile's position
+    switch ((((HeightData->XLeft ^ HeightData->YTop) << 5) && 3)) {
+        case 0, 3:
+            HeightData->MaterialName = "BW";
+            break;
+        case 1:
+            HeightData->MaterialName = "Blue";
+            break;
+        case 2:
+            HeightData->MaterialName = "Red";
+            break;
+        default:;
+    }
+    // 'Cheap' elevation data : this is just a formula z=f(x, y)
+    for (y = HeightData->YTop; y < HeightData->YTop + HeightData->Size - 1; y++)
+    {
+        rasterLine = HeightData->ByteRaster[y - HeightData->YTop];
+        dy = y * y;
         for (x = HeightData->XLeft;
-             x < HeightData->XLeft + HeightData->Size - 1; x++) {
+			 x < HeightData->XLeft + HeightData->Size - 1; x++) {
             d = sqrt(x * x + dy);
-			b = (float)RoundInt(128 + 128 * Sin(d * 0.2) / (d * 0.1 + 1));
+			b = RoundInt(128 + 128 * Sin(d * 0.2) / (d * 0.1 + 1));
 			rasterLine[x - HeightData->XLeft] = b;
-        }
-    }
+		}
+	}
 	if (oldType != hdtByte)
 		HeightData->DataType = oldType;
 
-	///inherited;
 }
 //---------------------------------------------------------------------------
 // Movement, mouse handling etc.
@@ -150,7 +150,7 @@ void __fastcall TForm1::Timer1Timer(TObject* Sender)
     Caption =
         "Synthetic Terrain " +
         Format("%.1f FPS - %d", ARRAYOFCONST((GLSceneViewer1->FramesPerSecond(),
-                                    TerrainRenderer1->LastTriangleCount)));
+									TerrainRenderer1->LastTriangleCount)));
     GLSceneViewer1->ResetPerformanceMonitor();
 }
 
@@ -165,7 +165,7 @@ void __fastcall TForm1::FormKeyPress(TObject* Sender, System::WideChar &Key)
                 GLSceneViewer1->Buffer->FogEnvironment->FogEnd =
                     GLSceneViewer1->Buffer->FogEnvironment->FogEnd * 1.2;
                 GLSceneViewer1->Buffer->FogEnvironment->FogStart =
-					GLSceneViewer1->Buffer->FogEnvironment->FogStart * 1.2;
+                    GLSceneViewer1->Buffer->FogEnvironment->FogStart * 1.2;
             }
             break;
         case '-':
@@ -179,7 +179,7 @@ void __fastcall TForm1::FormKeyPress(TObject* Sender, System::WideChar &Key)
             break;
         case '*':
             if (TerrainRenderer1->CLODPrecision > 5)
-                TerrainRenderer1->CLODPrecision =
+				TerrainRenderer1->CLODPrecision =
                     RoundInt(TerrainRenderer1->CLODPrecision * 0.8);
             break;
         case '/':
@@ -240,4 +240,3 @@ void __fastcall TForm1::GLCadencer1Progress(
 }
 //---------------------------------------------------------------------------
 
-

+ 9 - 12
Examples/Demos/meshes/synthterr/fSynthTerrainD.dfm

@@ -2,28 +2,23 @@ object FormSynthTerrain: TFormSynthTerrain
   Left = 159
   Top = 120
   Caption = 'Synthetic Terrain'
-  ClientHeight = 495
-  ClientWidth = 684
+  ClientHeight = 453
+  ClientWidth = 755
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -14
+  Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Style = []
   Position = poScreenCenter
   OnCreate = FormCreate
   OnKeyPress = FormKeyPress
-  PixelsPerInch = 120
-  TextHeight = 16
+  TextHeight = 13
   object GLSceneViewer1: TGLSceneViewer
     Left = 0
     Top = 0
-    Width = 684
-    Height = 495
-    Margins.Left = 4
-    Margins.Top = 4
-    Margins.Right = 4
-    Margins.Bottom = 4
+    Width = 755
+    Height = 453
     Camera = GLCamera1
     VSync = vsmSync
     Buffer.FogEnvironment.FogColor.Color = {0000803F0000803F0000803F0000803F}
@@ -33,12 +28,14 @@ object FormSynthTerrain: TFormSynthTerrain
     Buffer.BackgroundColor = clBlack
     Buffer.FogEnable = True
     Buffer.Lighting = False
-    FieldOfView = 157.157623291015600000
+    FieldOfView = 155.103134155273400000
     PenAsTouch = False
     Align = alClient
     OnMouseDown = GLSceneViewer1MouseDown
     OnMouseMove = GLSceneViewer1MouseMove
     TabOrder = 0
+    ExplicitWidth = 701
+    ExplicitHeight = 443
   end
   object GLScene1: TGLScene
     ObjectsSorting = osNone

+ 2 - 1
Examples/Demos/meshes/terrain/fTerrainC.cpp

@@ -13,7 +13,7 @@
 #pragma link "GLS.LensFlare"
 #pragma link "GLS.VectorGeometry"
 #pragma link "Sounds.BASS"
-#pragma link "GLS.Sound"
+#pragma link "GLS.SoundManager"
 #pragma link "GLS.SceneViewer"
 #pragma link "GLS.SkyDome"
 #pragma link "GLS.BitmapFont"
@@ -30,6 +30,7 @@
 
 #pragma link "GLS.Material"
 #pragma link "GLS.FileMP3"
+#pragma link "GLS.SoundManager"
 #pragma resource "*.dfm"
 TForm1* Form1;
 

+ 2 - 1
Examples/Demos/meshes/terrain/fTerrainC.h

@@ -14,7 +14,7 @@
 #include "GLS.LensFlare.hpp"
 #include "GLS.VectorGeometry.hpp"
 #include "Sounds.BASS.hpp"
-#include "GLS.Sound.hpp"
+#include "GLS.SoundManager.hpp"
 #include "GLS.SceneViewer.hpp"
 #include "GLS.SkyDome.hpp"
 #include "GLS.BitmapFont.hpp"
@@ -32,6 +32,7 @@
 #include "GLS.FileMP3.hpp"
 #include "Jpeg.hpp"
 #include "GLS.Utils.hpp"
+#include "GLS.SoundManager.hpp"
 //---------------------------------------------------------------------------
 class TForm1:public TForm
 {

+ 6 - 4
Examples/Demos/meshes/tiles/TilesC.cbproj

@@ -106,6 +106,8 @@
         <ILINK_LibraryPath>$(BDSCOMMONDIR)\Dcp;$(BDSLIB)\$(PLATFORM)$(CC_SUFFIX)\debug;$(ILINK_LibraryPath)</ILINK_LibraryPath>
         <LinkPackageImports>rtl.bpi;vcl.bpi;xmlrtl.bpi;vclimg.bpi;GLScene_RT.bpi</LinkPackageImports>
         <BT_BuildType>Debug</BT_BuildType>
+        <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
+        <AppDPIAwarenessMode>none</AppDPIAwarenessMode>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Cfg_2)'!=''">
         <Defines>NDEBUG;$(Defines)</Defines>
@@ -149,10 +151,10 @@
                     <Source Name="MainSource">TilesC.cpp</Source>
                 </Source>
                 <Excluded_Packages>
-                    <Excluded_Packages Name="$(BDSBIN)\bcboffice2k210.bpl">Embarcadero C++Builder Office 2000 Servers Package</Excluded_Packages>
-                    <Excluded_Packages Name="$(BDSBIN)\bcbofficexp210.bpl">Embarcadero C++Builder Office XP Servers Package</Excluded_Packages>
-                    <Excluded_Packages Name="$(BDSBIN)\dcloffice2k210.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
-                    <Excluded_Packages Name="$(BDSBIN)\dclofficexp210.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\bcboffice2k280.bpl">Embarcadero C++Builder Office 2000 Servers Package</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\bcbofficexp280.bpl">Embarcadero C++Builder Office XP Servers Package</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\dcloffice2k280.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\dclofficexp280.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
                 </Excluded_Packages>
             </CPlusPlusBuilder.Personality>
             <Deployment Version="3">

+ 13 - 14
Examples/Demos/meshes/tiles/fTilesC.cpp

@@ -21,7 +21,9 @@
 TForm1* Form1;
 //---------------------------------------------------------------------------
 __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) {}
+
 //---------------------------------------------------------------------------
+
 void __fastcall TForm1::FormCreate(TObject* Sender)
 {
 	int i, j;
@@ -29,7 +31,6 @@ void __fastcall TForm1::FormCreate(TObject* Sender)
 	SetCurrentDir(Path  + "\\texture");
 
 	GLMaterialLibrary->TexturePaths = GetCurrentDir();
-
 	GLMaterialLibrary->LibMaterialByName("beigemarble")
 		->Material->Texture->Image->LoadFromFile("beigemarble.jpg");
 	GLMaterialLibrary->LibMaterialByName("marbletiles")
@@ -38,19 +39,18 @@ void __fastcall TForm1::FormCreate(TObject* Sender)
 		->Material->Texture->Image->LoadFromFile("walkway.jpg");
 
   // fill the tiled area with random tiles
-    RandSeed = 0;
-    for (int i = -20; i < 20; i++)
-        for (int j = -20; j < 20; j++)
-            GLTilePlane->Tiles[i][j] =
-                Random(GLMaterialLibrary->Materials.Count - 1) + 1;
+	RandSeed = 0;
+	for (int i = -20; i < 20; i++)
+		for (int j = -20; j < 20; j++)
+			GLTilePlane->Tiles[i][j] =  Random(GLMaterialLibrary->Materials->Count - 1) + 1;
 
-    // set all tile materials to anisotropic add them to the material selection combo
-    for (i = 0; GLMaterialLibrary->Materials->Count - 1; i++) {
-        GLMaterialLibrary->Materials->Items[i]
-            ->Material->Texture->FilteringQuality = tfAnisotropic;
-        CBMaterial->Items->Add(GLMaterialLibrary->Materials->Items[i]->Name);
-    }
-    CBMaterial->ItemIndex = 0;
+	// set all tile materials to anisotropic add them to the material selection combo
+	for (i = 0; GLMaterialLibrary->Materials->Count - 1; i++) {
+		GLMaterialLibrary->Materials->Items[i]
+			->Material->Texture->FilteringQuality = tfAnisotropic;
+		CBMaterial->Items->Add(GLMaterialLibrary->Materials->Items[i]->Name);
+	}
+	CBMaterial->ItemIndex = 0;
 }
 //---------------------------------------------------------------------------
 
@@ -62,7 +62,6 @@ void __fastcall TForm1::FormMouseWheel(TObject *Sender, TShiftState Shift, int W
 //---------------------------------------------------------------------------
 
 void __fastcall TForm1::GLDirectOpenGLRender(TObject *Sender, TGLRenderContextInfo &rci)
-
 {
   // we clear the depth buffer, so that the grid is always in front of the
   // tile plane and won't Z-Fight with it

+ 18 - 0
Examples/Demos/meshes/tiles/fTilesD.pas

@@ -88,6 +88,8 @@ implementation
 
 {$R *.dfm}
 
+//------------------------------------------------------
+
 procedure TFormTiles.FormCreate(Sender: TObject);
 var
   i, j: Integer;
@@ -117,6 +119,8 @@ begin
   CBMaterial.ItemIndex := 0;
 end;
 
+//------------------------------------------------------
+
 procedure TFormTiles.GLSceneViewer1MouseDown(Sender: TObject; Button: TMouseButton;
   Shift: TShiftState; X, Y: Integer);
 begin
@@ -134,12 +138,16 @@ begin
   end;
 end;
 
+//------------------------------------------------------
+
 procedure TFormTiles.FormMouseWheel(Sender: TObject; Shift: TShiftState;
   WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
 begin
   GLCamera.AdjustDistanceToTarget(Power(1.1, WheelDelta / 120));
 end;
 
+//------------------------------------------------------
+
 procedure TFormTiles.GLCadencer1Progress(Sender: TObject;
   const deltaTime, newTime: Double);
 var
@@ -204,6 +212,8 @@ begin
   GLSceneViewer1.Invalidate;
 end;
 
+//------------------------------------------------------
+
 procedure TFormTiles.GLDirectOpenGLRender(Sender: TObject;
   var rci: TGLRenderContextInfo);
 begin
@@ -212,22 +222,30 @@ begin
   glClear(GL_DEPTH_BUFFER_BIT);
 end;
 
+//------------------------------------------------------
+
 procedure TFormTiles.BUPackClick(Sender: TObject);
 begin
   // packing a tile area removes unused area from the in-memory structures
   GLTilePlane.Tiles.Pack;
 end;
 
+//------------------------------------------------------
+
 procedure TFormTiles.CBShowGridClick(Sender: TObject);
 begin
   GLXYZGrid.Visible := CBShowGrid.Checked;
 end;
 
+//------------------------------------------------------
+
 procedure TFormTiles.CBSortByMaterialsClick(Sender: TObject);
 begin
   GLTilePlane.SortByMaterials := CBSortByMaterials.Checked;
 end;
 
+//------------------------------------------------------
+
 procedure TFormTiles.Timer1Timer(Sender: TObject);
 begin
   Caption := GLSceneViewer1.FramesPerSecondText;

+ 9 - 10
Examples/Demos/meshes/tree/fTreeC.dfm

@@ -2,8 +2,8 @@ object Form1: TForm1
   Left = 192
   Top = 106
   Caption = 'Tree Editor'
-  ClientHeight = 388
-  ClientWidth = 579
+  ClientHeight = 464
+  ClientWidth = 762
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
@@ -12,31 +12,30 @@ object Form1: TForm1
   Font.Style = []
   Menu = MainMenu1
   Position = poScreenCenter
-  WindowState = wsMaximized
   TextHeight = 13
   object GLSceneViewer1: TGLSceneViewer
     Left = 153
     Top = 0
-    Width = 426
-    Height = 388
+    Width = 609
+    Height = 464
     Camera = GLCamera1
-    FieldOfView = 151.095138549804700000
+    FieldOfView = 155.675598144531300000
     PenAsTouch = False
     Align = alClient
     OnMouseDown = GLSceneViewer1MouseDown
     OnMouseMove = GLSceneViewer1MouseMove
     TabOrder = 0
-    ExplicitWidth = 575
-    ExplicitHeight = 503
+    ExplicitWidth = 576
+    ExplicitHeight = 445
   end
   object Panel1: TPanel
     Left = 0
     Top = 0
     Width = 153
-    Height = 388
+    Height = 464
     Align = alLeft
     TabOrder = 1
-    ExplicitHeight = 503
+    ExplicitHeight = 388
     object Label1: TLabel
       Left = 8
       Top = 112

+ 1 - 1
Examples/Demos/movements/manual/ManualD.dproj

@@ -8,7 +8,7 @@
         <AppType>Application</AppType>
         <FrameworkType>VCL</FrameworkType>
         <ProjectVersion>19.4</ProjectVersion>
-        <Platform Condition="'$(Platform)'==''">Win64</Platform>
+        <Platform Condition="'$(Platform)'==''">Win32</Platform>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
         <Base>true</Base>

+ 1 - 5
Examples/Demos/movements/manual/fManualD.dfm

@@ -12,6 +12,7 @@ object FormManual: TFormManual
   Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Style = []
+  Position = poScreenCenter
   OnResize = FormResize
   DesignSize = (
     585
@@ -28,8 +29,6 @@ object FormManual: TFormManual
     PenAsTouch = False
     Align = alClient
     TabOrder = 0
-    ExplicitWidth = 500
-    ExplicitHeight = 356
   end
   object TrackBar: TTrackBar
     Left = 0
@@ -43,8 +42,6 @@ object FormManual: TFormManual
     TabOrder = 1
     ThumbLength = 15
     OnChange = TrackBarChange
-    ExplicitTop = 354
-    ExplicitWidth = 499
   end
   object CBPlay: TCheckBox
     Left = 230
@@ -56,7 +53,6 @@ object FormManual: TFormManual
     Checked = True
     State = cbChecked
     TabOrder = 2
-    ExplicitTop = 16
   end
   object StaticText1: TStaticText
     Left = 16

+ 1 - 1
Examples/Demos/rendering/BlurAdvanced/BlurAdvancedD.dproj

@@ -8,7 +8,7 @@
         <AppType>Application</AppType>
         <FrameworkType>VCL</FrameworkType>
         <ProjectVersion>19.4</ProjectVersion>
-        <Platform Condition="'$(Platform)'==''">Win64</Platform>
+        <Platform Condition="'$(Platform)'==''">Win32</Platform>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
         <Base>true</Base>

Some files were not shown because too many files changed in this diff