Browse Source

DirectX12 API weiterentwickelt

Kolja Strohm 5 years ago
parent
commit
0e10ee7f87
22 changed files with 16370 additions and 909 deletions
  1. 9 0
      Array.h
  2. 2 0
      ClassDiagram.cd
  3. 0 0
      DX11PixelShader.hlsl
  4. 0 0
      DX11VertexShader.hlsl
  5. 557 82
      DX12GraphicsApi.cpp
  6. 3666 0
      DX12PixelShader.h
  7. 89 0
      DX12PixelShader.hlsl
  8. 3477 0
      DX12VertexShader.h
  9. 51 0
      DX12VertexShader.hlsl
  10. 85 3
      DXBuffer.cpp
  11. 25 0
      DXBuffer.h
  12. 141 0
      DXCommandQueue.cpp
  13. 61 0
      DXCommandQueue.h
  14. 43 2
      Framework.vcxproj
  15. 17 2
      Framework.vcxproj.filters
  16. 43 6
      GraphicsApi.h
  17. 159 53
      Shader.cpp
  18. 84 11
      Shader.h
  19. 107 0
      Textur.cpp
  20. 26 0
      Textur.h
  21. 4441 496
      UIPixelShader.h
  22. 3287 254
      UIVertexShader.h

+ 9 - 0
Array.h

@@ -748,6 +748,15 @@ namespace Framework
             return i;
         }
 
+        int getLastIndex() const
+        {
+            int index = 0;
+            ArrayEintrag< TYP * > *e = entries;
+            for( ; e; ++index )
+                e = e->next;
+            return index - 1;
+        }
+
         // Gibt den Wert des i-ten Elementes zurück mit erhöhtem Reference Counter
         //  i: Der index des gesuchten Elementes, (0) wenn der Index nicht existiert
         TYP *get( int i ) const

+ 2 - 0
ClassDiagram.cd

@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ClassDiagram /> 

+ 0 - 0
UIPixelShader.hlsl → DX11PixelShader.hlsl


+ 0 - 0
UIVertexShader.hlsl → DX11VertexShader.hlsl


+ 557 - 82
DX12GraphicsApi.cpp

@@ -2,55 +2,105 @@
 #include "Globals.h"
 #include "DLLRegister.h"
 #include "Fenster.h"
+#include "DXCommandQueue.h"
+#include "DXBuffer.h"
+#include "Model3D.h"
+#include "Kam3D.h"
+#include "Welt3D.h"
+#include "TexturModel.h"
+#include "Textur.h"
+#include "Bild.h"
+#include "TexturList.h"
+#include "Shader.h"
+#include "DX12PixelShader.h"
+#include "DX12VertexShader.h"
 
 #include <d3d11.h>
 #include <d3d12.h>
 #include <dxgi1_5.h>
+#include <d3dx12.h>
 
 using namespace Framework;
 
-
 DirectX12::DirectX12()
     : GraphicsApi( DIRECTX12 ),
+    debug( 0 ),
     device( 0 ),
     infoQueue( 0 ),
     directCommandQueue( 0 ),
+    copyCommandQueue( 0 ),
+    computeCommandQueue( 0 ),
     swapChain( 0 ),
     rtvHeap( 0 ),
-    directCommandList( 0 ),
+    dsvHeap( 0 ),
+    shaderBufferHeap( 0 ),
+    depthBuffer( 0 ),
     backBufferIndex( 0 ),
     tearing( 0 ),
-    fence( 0 ),
-    fenceEvent( 0 )
+    viewPort( 0 ),
+    allowedRenderArea( 0 ),
+    vertexBufferView( 0 ),
+    indexBufferView( 0 ),
+    vertexBuffer( 0 ),
+    indexBuffer( 0 ),
+    signature( 0 ),
+    pipeline( 0 ),
+    texturModel( 0 ),
+    uiTextur( 0 ),
+    texturRegister( new TexturList() ),
+    vertexShader( 0 ),
+    pixelShader( 0 )
 {
     for( int i = 0; i < 2; i++ )
-    {
-        fenceValue[ i ] = 0;
         backBuffer[ i ] = 0;
-        directCommandAllocator[ i ] = 0;
-    }
 }
 
 DirectX12::~DirectX12()
 {
-    if( directCommandQueue && fence && fenceEvent )
+    if( directCommandQueue )
     {
-        unsigned __int64 val = ++fenceValue[ backBufferIndex ];
-        directCommandQueue->Signal( fence, val );
-        if( fence->GetCompletedValue() < val )
-        {
-            fence->SetEventOnCompletion( val, fenceEvent );
-            WaitForSingleObject( fenceEvent, INFINITE );
-        }
-    }
-    if( fence )
-        fence->Release();
-    if( directCommandList )
-        directCommandList->Release();
+        directCommandQueue->flush();
+        directCommandQueue->release();
+    }
+    if( copyCommandQueue )
+    {
+        copyCommandQueue->flush();
+        copyCommandQueue->release();
+    }
+    if( computeCommandQueue )
+    {
+        computeCommandQueue->flush();
+        computeCommandQueue->release();
+    }
+    if( depthBuffer )
+        depthBuffer->Release();
+    if( dsvHeap )
+        dsvHeap->Release();
+    if( shaderBufferHeap )
+        shaderBufferHeap->Release();
+    if( vertexShader )
+        vertexShader->release();
+    if( pixelShader )
+        pixelShader->release();
+    texturRegister->release();
+    if( uiTextur )
+        uiTextur->release();
+    if( texturModel )
+        texturModel->release();
+    if( pipeline )
+        pipeline->Release();
+    if( signature )
+        signature->Release();
+    if( indexBuffer )
+        indexBuffer->release();
+    if( vertexBuffer )
+        vertexBuffer->release();
+    delete indexBufferView;
+    delete vertexBufferView;
+    delete allowedRenderArea;
+    delete viewPort;
     for( int i = 0; i < 2; i++ )
     {
-        if( directCommandAllocator[ i ] )
-            directCommandAllocator[ i ]->Release();
         if( backBuffer[ i ] )
             backBuffer[ i ]->Release();
     }
@@ -58,8 +108,6 @@ DirectX12::~DirectX12()
         rtvHeap->Release();
     if( swapChain )
         swapChain->Release();
-    if( directCommandQueue )
-        directCommandQueue->Release();
     if( infoQueue )
         infoQueue->Release();
     if( device )
@@ -68,6 +116,8 @@ DirectX12::~DirectX12()
         getDLLRegister()->releaseDLL( "dxgi.dll" );
         getDLLRegister()->releaseDLL( "d3d12.dll" );
     }
+    if( debug )
+        debug->Release();
 }
 
 typedef HRESULT( *CreateDXGIFactory2Function )( UINT, REFIID, void ** );
@@ -75,6 +125,8 @@ typedef HRESULT( *CreateDXGIFactory2Function )( UINT, REFIID, void ** );
 typedef HRESULT( *D3D12CreateDeviceFunction )( IDXGIAdapter *, D3D_FEATURE_LEVEL,
                                                REFIID, void ** );
 
+typedef HRESULT( *D3D12GetDebugInterfaceFunction )( REFIID, void ** );
+
 void DirectX12::initialize( WFenster * fenster, Vec2<int> backBufferSize, bool fullScreen )
 {
     if( device )
@@ -110,6 +162,13 @@ void DirectX12::initialize( WFenster * fenster, Vec2<int> backBufferSize, bool f
         WMessageBox( fenster->getFensterHandle(), new Text( "Fehler" ), new Text( "Der Einstiegspunkt D3D12CreateDevice fon DirectX 12 konnte nicht gefunden werden." ), MB_ICONERROR );
         return;
     }
+    D3D12SerializeVersionedRootSignatureFunction d3d12svrsf = (D3D12SerializeVersionedRootSignatureFunction)GetProcAddress( d3d12DLL, "D3D12SerializeVersionedRootSignature" );
+    D3D12SerializeRootSignatureFunction d3d12srsf = (D3D12SerializeRootSignatureFunction)GetProcAddress( d3d12DLL, "D3D12SerializeRootSignature" );
+#ifdef _DEBUG
+    D3D12GetDebugInterfaceFunction getDebugInterface = (D3D12GetDebugInterfaceFunction)GetProcAddress( d3d12DLL, "D3D12GetDebugInterface" );
+    getDebugInterface( __uuidof( ID3D12Debug ), (void **)& debug );
+    debug->EnableDebugLayer();
+#endif
     IDXGIFactory4 *factory;
     UINT createFactoryFlags = 0;
 #if defined(_DEBUG)
@@ -187,19 +246,9 @@ void DirectX12::initialize( WFenster * fenster, Vec2<int> backBufferSize, bool f
         infoQueue->PushStorageFilter( &NewFilter );
     }
 
-    D3D12_COMMAND_QUEUE_DESC desc = {};
-    desc.Type = D3D12_COMMAND_LIST_TYPE_DIRECT;
-    desc.Priority = D3D12_COMMAND_QUEUE_PRIORITY_NORMAL;
-    desc.Flags = D3D12_COMMAND_QUEUE_FLAG_NONE;
-    desc.NodeMask = 0;
-    res = device->CreateCommandQueue( &desc, __uuidof( ID3D12CommandQueue ), (void **)& directCommandQueue );
-    if( FAILED( res ) )
-    {
-        factory->Release();
-        std::cout << "ERROR: CreateCommandQueue returned " << res << "\n";
-        WMessageBox( fenster->getFensterHandle(), new Text( "Fehler" ), new Text( "CreateCommandQueue ist Fehlgeschlagen." ), MB_ICONERROR );
-        return;
-    }
+    directCommandQueue = new DX12DirectCommandQueue( device );
+    copyCommandQueue = new DX12CopyCommandQueue( device );
+    computeCommandQueue = new DX12ComputeCommandQueue( device );
 
     IDXGIFactory5 *fac5 = 0;
     factory->QueryInterface( __uuidof( IDXGIFactory5 ), (void **)& fac5 );
@@ -224,7 +273,7 @@ void DirectX12::initialize( WFenster * fenster, Vec2<int> backBufferSize, bool f
     swapChainDesc.AlphaMode = DXGI_ALPHA_MODE_UNSPECIFIED;
     swapChainDesc.Flags = tearing ? DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING : 0;
     IDXGISwapChain1 *tmpSwapChain;
-    res = factory->CreateSwapChainForHwnd( directCommandQueue, fenster->getFensterHandle(), &swapChainDesc, 0, 0, &tmpSwapChain );
+    res = factory->CreateSwapChainForHwnd( directCommandQueue->getQueue(), fenster->getFensterHandle(), &swapChainDesc, 0, 0, &tmpSwapChain );
     if( FAILED( res ) )
     {
         factory->Release();
@@ -232,7 +281,7 @@ void DirectX12::initialize( WFenster * fenster, Vec2<int> backBufferSize, bool f
         WMessageBox( fenster->getFensterHandle(), new Text( "Fehler" ), new Text( "CreateSwapChainForHwnd ist Fehlgeschlagen." ), MB_ICONERROR );
         return;
     }
-    res = tmpSwapChain->QueryInterface( __uuidof( IDXGISwapChain4 ), (void**)&swapChain );
+    res = tmpSwapChain->QueryInterface( __uuidof( IDXGISwapChain4 ), (void **)& swapChain );
     tmpSwapChain->Release();
     if( FAILED( res ) )
     {
@@ -277,53 +326,253 @@ void DirectX12::initialize( WFenster * fenster, Vec2<int> backBufferSize, bool f
         rtvHandle.ptr += rtvDescriptorSize;
     }
 
-    res = device->CreateCommandAllocator( D3D12_COMMAND_LIST_TYPE_DIRECT, __uuidof( ID3D12CommandAllocator ), (void **)& directCommandAllocator[ 0 ] );
+    viewPort = new D3D12_VIEWPORT();
+    viewPort->Width = (float)this->backBufferSize.x;
+    viewPort->Height = (float)this->backBufferSize.y;
+    viewPort->MinDepth = 0.0f;
+    viewPort->MaxDepth = 1.0f;
+    viewPort->TopLeftX = 0.0f;
+    viewPort->TopLeftY = 0.0f;
+
+    allowedRenderArea = new D3D12_RECT();
+    allowedRenderArea->left = 0;
+    allowedRenderArea->top = 0;
+    allowedRenderArea->right = LONG_MAX;
+    allowedRenderArea->bottom = LONG_MAX;
+
+    vertexBuffer = new DX12Buffer( sizeof( Vertex3D ), device, copyCommandQueue->getCommandList(), D3D12_RESOURCE_FLAG_NONE );
+    indexBuffer = new DX12Buffer( sizeof( int ), device, copyCommandQueue->getCommandList(), D3D12_RESOURCE_FLAG_NONE );
+
+    texturModel = new TexturModel();
+
+    Bild *renderB = new Bild( 1 );
+    renderB->setAlpha3D( 1 );
+    renderB->neuBild( this->backBufferSize.x, this->backBufferSize.y, 0 );
+    uiTextur = createOrGetTextur( "_f_Render_Bild", renderB );
+
+    texturModel->setSize( this->backBufferSize );
+    texturModel->setTextur( uiTextur->getThis() );
+
+    vertexBufferView = new D3D12_VERTEX_BUFFER_VIEW();
+    vertexBufferView->StrideInBytes = sizeof( Vertex3D );
+
+    indexBufferView = new D3D12_INDEX_BUFFER_VIEW();
+    indexBufferView->Format = DXGI_FORMAT_R32_UINT;
+
+    D3D12_CLEAR_VALUE optimizedClearValue = {};
+    optimizedClearValue.Format = DXGI_FORMAT_D32_FLOAT;
+    optimizedClearValue.DepthStencil = { 1.0f, 0 };
+
+    res = device->CreateCommittedResource(
+        &CD3DX12_HEAP_PROPERTIES( D3D12_HEAP_TYPE_DEFAULT ),
+        D3D12_HEAP_FLAG_NONE,
+        &CD3DX12_RESOURCE_DESC::Tex2D( DXGI_FORMAT_D32_FLOAT, this->backBufferSize.x, this->backBufferSize.y,
+        1, 0, 1, 0, D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL ),
+        D3D12_RESOURCE_STATE_DEPTH_WRITE,
+        &optimizedClearValue,
+        __uuidof( ID3D12Resource ),
+        (void **)&depthBuffer
+    );
     if( FAILED( res ) )
     {
         factory->Release();
-        std::cout << "ERROR: CreateCommandAllocator returned " << res << "\n";
-        WMessageBox( fenster->getFensterHandle(), new Text( "Fehler" ), new Text( "CreateCommandAllocator ist Fehlgeschlagen." ), MB_ICONERROR );
+        std::cout << "ERROR: CreateCommittedResource returned " << res << "\n";
+        WMessageBox( fenster->getFensterHandle(), new Text( "Fehler" ), new Text( "CreateCommittedResource ist Fehlgeschlagen." ), MB_ICONERROR );
         return;
     }
-    res = device->CreateCommandAllocator( D3D12_COMMAND_LIST_TYPE_DIRECT, __uuidof( ID3D12CommandAllocator ), (void **)& directCommandAllocator[ 1 ] );
+
+    D3D12_DESCRIPTOR_HEAP_DESC dsvHeapDesc = {};
+    dsvHeapDesc.NumDescriptors = 1;
+    dsvHeapDesc.Type = D3D12_DESCRIPTOR_HEAP_TYPE_DSV;
+    dsvHeapDesc.Flags = D3D12_DESCRIPTOR_HEAP_FLAG_NONE;
+    res = device->CreateDescriptorHeap( &dsvHeapDesc, __uuidof( ID3D12DescriptorHeap ), (void **)& dsvHeap );
     if( FAILED( res ) )
     {
         factory->Release();
-        std::cout << "ERROR: CreateCommandAllocator returned " << res << "\n";
-        WMessageBox( fenster->getFensterHandle(), new Text( "Fehler" ), new Text( "CreateCommandAllocator ist Fehlgeschlagen." ), MB_ICONERROR );
+        std::cout << "ERROR: CreateDescriptorHeap returned " << res << "\n";
+        WMessageBox( fenster->getFensterHandle(), new Text( "Fehler" ), new Text( "CreateDescriptorHeap ist Fehlgeschlagen." ), MB_ICONERROR );
         return;
     }
-    res = device->CreateCommandList( 0, D3D12_COMMAND_LIST_TYPE_DIRECT, directCommandAllocator[ 0 ], nullptr, __uuidof( ID3D12GraphicsCommandList ), (void **)& directCommandList );
+
+    D3D12_DEPTH_STENCIL_VIEW_DESC dsv = {};
+    dsv.Format = DXGI_FORMAT_D32_FLOAT;
+    dsv.ViewDimension = D3D12_DSV_DIMENSION_TEXTURE2D;
+    dsv.Texture2D.MipSlice = 0;
+    dsv.Flags = D3D12_DSV_FLAG_NONE;
+
+    device->CreateDepthStencilView( depthBuffer, &dsv,
+                                    dsvHeap->GetCPUDescriptorHandleForHeapStart() );
+
+    D3D12_DESCRIPTOR_HEAP_DESC sbheapDesc = {};
+    sbheapDesc.NumDescriptors = 6;
+    sbheapDesc.Type = D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV;
+    sbheapDesc.Flags = D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE;
+    res = device->CreateDescriptorHeap( &sbheapDesc, __uuidof( ID3D12DescriptorHeap ), (void **)& shaderBufferHeap );
     if( FAILED( res ) )
     {
         factory->Release();
-        std::cout << "ERROR: CreateCommandList returned " << res << "\n";
-        WMessageBox( fenster->getFensterHandle(), new Text( "Fehler" ), new Text( "CreateCommandList ist Fehlgeschlagen." ), MB_ICONERROR );
+        std::cout << "ERROR: CreateDescriptorHeap returned " << res << "\n";
+        WMessageBox( fenster->getFensterHandle(), new Text( "Fehler" ), new Text( "CreateDescriptorHeap ist Fehlgeschlagen." ), MB_ICONERROR );
         return;
     }
-    device->CreateFence( 0, D3D12_FENCE_FLAG_NONE, __uuidof( ID3D12Fence ), (void **)&fence );
-    fenceEvent = CreateEvent( 0, 0, 0, 0 );
-    if( !fenceEvent )
+
+    vertexShader = new DX12VertexShader( device, copyCommandQueue->getCommandList() );
+    vertexShader->setCompiledByteArray( (unsigned char *)DX12VertexShaderBytes, sizeof( DX12VertexShaderBytes ) );
+    vertexShader->erstelleConstBuffer( sizeof( Mat4< float > ) * 2, 0 );
+    vertexShader->erstelleConstBuffer( sizeof( Mat4< float > ) * 128, 1 );
+
+    pixelShader = new DX12PixelShader( device, copyCommandQueue->getCommandList() );
+    pixelShader->setCompiledByteArray( (unsigned char *)DX12PixelShaderBytes, sizeof( DX12PixelShaderBytes ) );
+    pixelShader->erstelleConstBuffer( sizeof( float ) * 4, 2 );
+    pixelShader->erstelleConstBuffer( sizeof( float ) * 3, 3 );
+    pixelShader->erstelleConstBuffer( sizeof( int ) * 2, 4 );
+
+    D3D12_INPUT_ELEMENT_DESC inputLayout[] = {
+    { "POSITION", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, D3D12_APPEND_ALIGNED_ELEMENT, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },
+    { "TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT, 0, D3D12_APPEND_ALIGNED_ELEMENT, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },
+    { "NORMAL", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, D3D12_APPEND_ALIGNED_ELEMENT, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 },
+    { "KNOCHEN_ID", 0, DXGI_FORMAT_R32_UINT, 0, D3D12_APPEND_ALIGNED_ELEMENT, D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, 0 }
+    };
+
+    vertexShader->erstelleInputLayout( inputLayout, 4 );
+
+    D3D12_FEATURE_DATA_ROOT_SIGNATURE featureData = {};
+    featureData.HighestVersion = D3D_ROOT_SIGNATURE_VERSION_1_1;
+    if( FAILED( device->CheckFeatureSupport( D3D12_FEATURE_ROOT_SIGNATURE, &featureData, sizeof( featureData ) ) ) )
+        featureData.HighestVersion = D3D_ROOT_SIGNATURE_VERSION_1_0;
+
+    D3D12_ROOT_SIGNATURE_FLAGS rootSignatureFlags =
+        D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT |
+        D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS |
+        D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS |
+        D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS;
+
+    D3D12_DESCRIPTOR_RANGE1 range[ 3 ];
+    range[ 0 ].NumDescriptors = 5;
+    range[ 0 ].BaseShaderRegister = 0;
+    range[ 0 ].RegisterSpace = 0;
+    range[ 0 ].RangeType = D3D12_DESCRIPTOR_RANGE_TYPE_CBV;
+    range[ 0 ].OffsetInDescriptorsFromTableStart = D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND;
+    range[ 0 ].Flags = D3D12_DESCRIPTOR_RANGE_FLAG_NONE;
+    range[ 1 ].NumDescriptors = 1;
+    range[ 1 ].BaseShaderRegister = 0;
+    range[ 1 ].RegisterSpace = 0;
+    range[ 1 ].RangeType = D3D12_DESCRIPTOR_RANGE_TYPE_SRV;
+    range[ 1 ].OffsetInDescriptorsFromTableStart = D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND;
+    range[ 1 ].Flags = D3D12_DESCRIPTOR_RANGE_FLAG_NONE;
+    range[ 2 ].NumDescriptors = 1;
+    range[ 2 ].BaseShaderRegister = 0;
+    range[ 2 ].RegisterSpace = 0;
+    range[ 2 ].RangeType = D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER;
+    range[ 2 ].OffsetInDescriptorsFromTableStart = D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND;
+    range[ 2 ].Flags = D3D12_DESCRIPTOR_RANGE_FLAG_NONE;
+
+    D3D12_ROOT_PARAMETER1 rootParameters[ 2 ];
+    rootParameters[ 0 ].ParameterType = D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE;
+    rootParameters[ 0 ].ShaderVisibility = D3D12_SHADER_VISIBILITY_ALL;
+    rootParameters[ 0 ].DescriptorTable.NumDescriptorRanges = 2;
+    rootParameters[ 0 ].DescriptorTable.pDescriptorRanges = range;
+    rootParameters[ 1 ].ParameterType = D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE;
+    rootParameters[ 1 ].ShaderVisibility = D3D12_SHADER_VISIBILITY_ALL;
+    rootParameters[ 1 ].DescriptorTable.NumDescriptorRanges = 1;
+    rootParameters[ 1 ].DescriptorTable.pDescriptorRanges = &range[ 2 ];
+
+    D3D12_VERSIONED_ROOT_SIGNATURE_DESC rootSignatureDescription;
+    rootSignatureDescription.Version = D3D_ROOT_SIGNATURE_VERSION_1_1;
+    rootSignatureDescription.Desc_1_1.NumParameters = 2;
+    rootSignatureDescription.Desc_1_1.pParameters = rootParameters;
+    rootSignatureDescription.Desc_1_1.NumStaticSamplers = 0;
+    rootSignatureDescription.Desc_1_1.pStaticSamplers = 0;
+    rootSignatureDescription.Desc_1_1.Flags = rootSignatureFlags;
+
+    ID3DBlob *rootSignature;
+    ID3DBlob *error;
+    res = D3DX12SerializeVersionedRootSignature( &rootSignatureDescription, featureData.HighestVersion, &rootSignature, &error, d3d12svrsf, d3d12srsf );
+    if( FAILED( res ) )
     {
         factory->Release();
-        std::cout << "ERROR: CreateEvent returned 0\n";
-        WMessageBox( fenster->getFensterHandle(), new Text( "Fehler" ), new Text( "CreateEvent ist Fehlgeschlagen." ), MB_ICONERROR );
+        std::cout << "ERROR: D3DX12SerializeVersionedRootSignature returned " << res << "\n";
+        WMessageBox( fenster->getFensterHandle(), new Text( "Fehler" ), new Text( "D3DX12SerializeVersionedRootSignature ist Fehlgeschlagen." ), MB_ICONERROR );
+        if( error )
+            error->Release();
         return;
     }
+
+    res = device->CreateRootSignature( 0, rootSignature->GetBufferPointer(), rootSignature->GetBufferSize(), __uuidof( ID3D12RootSignature ), (void **)& signature );
+    if( FAILED( res ) )
+    {
+        factory->Release();
+        std::cout << "ERROR: CreateRootSignature returned " << res << "\n";
+        WMessageBox( fenster->getFensterHandle(), new Text( "Fehler" ), new Text( "CreateRootSignature ist Fehlgeschlagen." ), MB_ICONERROR );
+        return;
+    }
+    rootSignature->Release();
+
+    struct PipelineStateStream
+    {
+        CD3DX12_PIPELINE_STATE_STREAM_ROOT_SIGNATURE pRootSignature;
+        CD3DX12_PIPELINE_STATE_STREAM_INPUT_LAYOUT InputLayout;
+        CD3DX12_PIPELINE_STATE_STREAM_PRIMITIVE_TOPOLOGY PrimitiveTopologyType;
+        CD3DX12_PIPELINE_STATE_STREAM_VS VS;
+        CD3DX12_PIPELINE_STATE_STREAM_PS PS;
+        CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL_FORMAT DSVFormat;
+        CD3DX12_PIPELINE_STATE_STREAM_RENDER_TARGET_FORMATS RTVFormats;
+    } pipelineStateStream;
+
+    D3D12_RT_FORMAT_ARRAY rtvFormats = {};
+    rtvFormats.NumRenderTargets = 1;
+    rtvFormats.RTFormats[ 0 ] = DXGI_FORMAT_R8G8B8A8_UNORM;
+
+    pipelineStateStream.pRootSignature = signature;
+    pipelineStateStream.InputLayout = { vertexShader->zInputLayout(), (unsigned)vertexShader->getInputLayoutSize() };
+    pipelineStateStream.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;
+    pipelineStateStream.VS = { vertexShader->getCompiledShader(), (unsigned __int64)vertexShader->getCompiledLength() };
+    pipelineStateStream.PS = { pixelShader->getCompiledShader(), (unsigned __int64)pixelShader->getCompiledLength() };
+    pipelineStateStream.DSVFormat = DXGI_FORMAT_UNKNOWN;
+    pipelineStateStream.RTVFormats = rtvFormats;
+
+    D3D12_CPU_DESCRIPTOR_HANDLE sbHeapHandle = shaderBufferHeap->GetCPUDescriptorHandleForHeapStart();
+    unsigned int incr = device->GetDescriptorHandleIncrementSize( D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV );
+    D3D12_CONSTANT_BUFFER_VIEW_DESC desc;
+    vertexShader->getViewDesc( 0, desc );
+    device->CreateConstantBufferView( &desc, sbHeapHandle );
+    res = device->GetDeviceRemovedReason();
+    sbHeapHandle.ptr += incr;
+    vertexShader->getViewDesc( 1, desc );
+    device->CreateConstantBufferView( &desc, sbHeapHandle );
+    sbHeapHandle.ptr += incr;
+    pixelShader->getViewDesc( 2, desc );
+    device->CreateConstantBufferView( &desc, sbHeapHandle );
+    sbHeapHandle.ptr += incr;
+    pixelShader->getViewDesc( 3, desc );
+    device->CreateConstantBufferView( &desc, sbHeapHandle );
+    sbHeapHandle.ptr += incr;
+    pixelShader->getViewDesc( 4, desc );
+    device->CreateConstantBufferView( &desc, sbHeapHandle );
+    sbHeapHandle.ptr += incr;
+
+    D3D12_PIPELINE_STATE_STREAM_DESC pipelineStateStreamDesc = {
+    sizeof( PipelineStateStream ), &pipelineStateStream
+    };
+    res = device->CreatePipelineState( &pipelineStateStreamDesc, __uuidof( ID3D12PipelineState ), (void **)& pipeline );
+    if( FAILED( res ) )
+    {
+        factory->Release();
+        std::cout << "ERROR: CreatePipelineState returned " << res << "\n";
+        WMessageBox( fenster->getFensterHandle(), new Text( "Fehler" ), new Text( "CreatePipelineState ist Fehlgeschlagen." ), MB_ICONERROR );
+        return;
+    }
+
     factory->Release();
 }
 
 void DirectX12::update()
 {
-    if( !device || !swapChain || !fence || !directCommandQueue || !fenceEvent )
+    if( !device || !swapChain || !directCommandQueue )
         return;
-    unsigned __int64 val = ++fenceValue[ backBufferIndex ];
-    directCommandQueue->Signal( fence, val );
-    if( fence->GetCompletedValue() < val )
-    {
-        fence->SetEventOnCompletion( val, fenceEvent );
-        WaitForSingleObject( fenceEvent, INFINITE );
-    }
+    directCommandQueue->flush();
+    copyCommandQueue->flush();
+    computeCommandQueue->flush();
     HINSTANCE dxgiDLL = getDLLRegister()->ladeDLL( "dxgi.dll", "dxgi.dll" );
     if( !dxgiDLL )
     {
@@ -370,7 +619,7 @@ void DirectX12::update()
 
     auto rtvDescriptorSize = device->GetDescriptorHandleIncrementSize( D3D12_DESCRIPTOR_HEAP_TYPE_RTV );
     D3D12_CPU_DESCRIPTOR_HANDLE rtvHandle( rtvHeap->GetCPUDescriptorHandleForHeapStart() );
-    
+
     for( int i = 0; i < 2; i++ )
     {
         ID3D12Resource *backBuffer;
@@ -391,6 +640,60 @@ void DirectX12::update()
         rtvHandle.ptr += rtvDescriptorSize;
     }
     getDLLRegister()->releaseDLL( "dxgi.dll" );
+
+    delete viewPort;
+    viewPort = new D3D12_VIEWPORT();
+    viewPort->Width = (float)this->backBufferSize.x;
+    viewPort->Height = (float)this->backBufferSize.y;
+    viewPort->MinDepth = 0.0f;
+    viewPort->MaxDepth = 1.0f;
+    viewPort->TopLeftX = 0.0f;
+    viewPort->TopLeftY = 0.0f;
+
+    depthBuffer->Release();
+
+    D3D12_CLEAR_VALUE optimizedClearValue = {};
+    optimizedClearValue.Format = DXGI_FORMAT_D32_FLOAT;
+    optimizedClearValue.DepthStencil = { 1.0f, 0 };
+
+    res = device->CreateCommittedResource(
+        &CD3DX12_HEAP_PROPERTIES( D3D12_HEAP_TYPE_DEFAULT ),
+        D3D12_HEAP_FLAG_NONE,
+        &CD3DX12_RESOURCE_DESC::Tex2D( DXGI_FORMAT_D32_FLOAT, this->backBufferSize.x, this->backBufferSize.y,
+        1, 0, 1, 0, D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL ),
+        D3D12_RESOURCE_STATE_DEPTH_WRITE,
+        0,
+        __uuidof( ID3D12Resource ),
+        (void **)& depthBuffer
+    );
+    if( FAILED( res ) )
+    {
+        factory->Release();
+        std::cout << "ERROR: CreateCommittedResource returned " << res << "\n";
+        WMessageBox( fenster->getFensterHandle(), new Text( "Fehler" ), new Text( "CreateCommittedResource ist Fehlgeschlagen." ), MB_ICONERROR );
+        return;
+    }
+
+    D3D12_DEPTH_STENCIL_VIEW_DESC dsv = {};
+    dsv.Format = DXGI_FORMAT_D32_FLOAT;
+    dsv.ViewDimension = D3D12_DSV_DIMENSION_TEXTURE2D;
+    dsv.Texture2D.MipSlice = 0;
+    dsv.Flags = D3D12_DSV_FLAG_NONE;
+
+    device->CreateDepthStencilView( depthBuffer, &dsv,
+                                    dsvHeap->GetCPUDescriptorHandleForHeapStart() );
+
+    if( uiTextur )
+        uiTextur->release();
+
+    Bild * renderB = new Bild( 1 );
+    renderB->setAlpha3D( 1 );
+    renderB->neuBild( this->backBufferSize.x, this->backBufferSize.y, 0 );
+    uiTextur = createOrGetTextur( "_f_Render_Bild", renderB );
+
+    texturModel->setSize( this->backBufferSize );
+    texturModel->setTextur( uiTextur->getThis() );
+
     factory->Release();
 }
 
@@ -405,7 +708,8 @@ void DirectX12::beginFrame( bool fill2D, bool fill3D, int fillColor )
     barrier.Transition.StateAfter = D3D12_RESOURCE_STATE_RENDER_TARGET;
     barrier.Transition.Subresource = D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES;
 
-    directCommandList->ResourceBarrier( 1, &barrier );
+    directCommandQueue->getCommandList()->ResourceBarrier( 1, &barrier );
+    directCommandQueue->getCommandList()->RSSetScissorRects( 1, allowedRenderArea );
 
     if( fill3D )
     {
@@ -420,46 +724,217 @@ void DirectX12::beginFrame( bool fill2D, bool fill3D, int fillColor )
         D3D12_CPU_DESCRIPTOR_HANDLE rtv = rtvHeap->GetCPUDescriptorHandleForHeapStart();
         rtv.ptr += rtvDescriptorSize * backBufferIndex;
 
-        directCommandList->ClearRenderTargetView( rtv, color, 0, 0 );
+        directCommandQueue->getCommandList()->OMSetRenderTargets( 1, &rtv, 0, 0 );
+        directCommandQueue->getCommandList()->ClearRenderTargetView( rtv, color, 0, 0 );
     }
+    directCommandQueue->getCommandList()->SetPipelineState( pipeline );
+    directCommandQueue->getCommandList()->SetGraphicsRootSignature( signature );
+    int lc[] = { 0, 0 };
+    pixelShader->füllConstBuffer( (char *)lc, 4, sizeof( int ) * 2 );
 }
 
-void DirectX12::renderKamera( Kam3D * zKamera )
+void DirectX12::renderObject( Model3D * zObj )
 {
+    vertexBuffer->setData( (void *)zObj->zVertexBuffer() );
+    vertexBuffer->setLength( sizeof( Vertex3D ) * zObj->getVertexAnzahl() );
+    vertexBuffer->copieren();
+    Mat4< float > trans = Mat4< float >::identity();
+    int anz = zObj->errechneMatrizen( trans, matrixBuffer );
+    if( vertexShader )
+        vertexShader->füllConstBuffer( (char *)matrixBuffer, 1, sizeof( Mat4< float > ) * anz );
+    float matirialBuffer[ 3 ]; // light factors (phong model)
+    matirialBuffer[ 0 ] = zObj->getAmbientFactor();
+    matirialBuffer[ 1 ] = zObj->getDiffusFactor();
+    matirialBuffer[ 2 ] = zObj->getSpecularFactor();
+    if( pixelShader )
+        pixelShader->füllConstBuffer( (char *)matirialBuffer, 3, sizeof( float ) * 3 );
+    unsigned int offset = 0;
+    unsigned int es = (unsigned)vertexBuffer->getElementLength();
+    vertexBufferView->SizeInBytes = vertexBuffer->getElementAnzahl() * vertexBuffer->getElementLength();
+    vertexBufferView->BufferLocation = vertexBuffer->zBuffer()->GetGPUVirtualAddress();
+    directCommandQueue->getCommandList()->IASetVertexBuffers( 0, 1, vertexBufferView );
+    Model3DTextur * zTextur = zObj->zTextur();
+    int ind = 0;
+    for( auto i = zObj->zModelData()->getPolygons(); i; i++ )
+    {
+        indexBuffer->setData( i->indexList );
+        indexBuffer->setLength( sizeof( int ) * i->indexAnz );
+        indexBuffer->copieren();
+        Textur *t = zTextur->zPolygonTextur( ind );
+        if( t &&t->brauchtUpdate() )
+            t->updateTextur();
+        DXGI_FORMAT f = DXGI_FORMAT_R32_UINT;
+        if( indexBuffer->getElementLength() == 2 )
+            f = DXGI_FORMAT_R16_UINT;
+        if( indexBuffer->getElementLength() == 1 )
+            f = DXGI_FORMAT_R8_UINT;
+        indexBufferView->SizeInBytes = indexBuffer->getElementAnzahl() * indexBuffer->getElementLength();
+        indexBufferView->BufferLocation = indexBuffer->zBuffer()->GetGPUVirtualAddress();
+        directCommandQueue->getCommandList()->IASetIndexBuffer( indexBufferView );
+        directCommandQueue->getCommandList()->IASetPrimitiveTopology( D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST );
+        if( t )
+        {
+            /*ID3D11ShaderResourceView *v[ 3 ];
+            v[ 0 ] = *(DX11Textur *)t;
+            v[ 1 ] = *diffuseLights;
+            v[ 2 ] = *pointLights;
+            d3d11Context->PSSetShaderResources( 0, 3, v );
+            d3d11Context->DrawIndexed( indexBuffer->getElementAnzahl(), 0, 0 );*/
+            D3D12_CPU_DESCRIPTOR_HANDLE sbHeapHandle = shaderBufferHeap->GetCPUDescriptorHandleForHeapStart();
+            unsigned int incr = device->GetDescriptorHandleIncrementSize( D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV );
+            sbHeapHandle.ptr += incr * 5;
+            device->CreateShaderResourceView( ( (DX12Textur *)t )->getResource(), 0, sbHeapHandle );
+            directCommandQueue->getCommandList()->DrawIndexedInstanced( indexBuffer->getElementAnzahl(), 1, 0, 0, 0 );
+        }
+        else
+        {
+            /*d3d11Context->RSSetState( meshRS );
+            ID3D11ShaderResourceView *v[ 3 ];
+            v[ 0 ] = *(DX11Textur *)defaultTextur;
+            v[ 1 ] = *diffuseLights;
+            v[ 2 ] = *pointLights;
+            d3d11Context->PSSetShaderResources( 0, 3, v );
+            d3d11Context->DrawIndexed( indexBuffer->getElementAnzahl(), 0, 0 );
+            d3d11Context->RSSetState( texturRS );*/
+            directCommandQueue->getCommandList()->DrawIndexedInstanced( indexBuffer->getElementAnzahl(), 1, 0, 0, 0 );
+        }
+        ind++;
+    }
+}
+
+// Überprüft, ob eine Kugel in dem Sichtbaren Raum der Welt liegt und gezeichnet werden muss
+//  pos: Der Mittelpunkt der Kugel
+//  radius: Der Radius der Kugel
+//  dist: Einen Zeiger auf einen float, in dem das quadrat des Abstands zur Kammeraposition gespeichert wird, falls diese Funktion true zurückgiebt und der Zeiger nicht 0 ist
+bool DirectX12::isInFrustrum( const Vec3< float > & pos, float radius, float *dist ) const
+{
+    for( int i = 0; i < 6; i++ )
+    {
+        if( frustrum[ i ] * pos + radius < 0 )
+            return 0;
+    }
+    if( dist )
+        * dist = kamPos.abstand( pos );
+    return 1;
+}
 
+void DirectX12::renderKamera( Kam3D * zKamera )
+{
+    directCommandQueue->getCommandList()->RSSetViewports( 1, (D3D12_VIEWPORT *)zKamera->zViewPort() );
+
+    Mat4< float > tmp = zKamera->getProjectionMatrix() * zKamera->getViewMatrix();
+
+    frustrum[ 0 ].x = tmp.elements[ 3 ][ 0 ] + tmp.elements[ 0 ][ 0 ];
+    frustrum[ 0 ].y = tmp.elements[ 3 ][ 1 ] + tmp.elements[ 0 ][ 1 ];
+    frustrum[ 0 ].z = tmp.elements[ 3 ][ 2 ] + tmp.elements[ 0 ][ 2 ];
+    frustrum[ 0 ].w = tmp.elements[ 3 ][ 3 ] + tmp.elements[ 0 ][ 3 ];
+
+    frustrum[ 1 ].x = tmp.elements[ 3 ][ 0 ] - tmp.elements[ 0 ][ 0 ];
+    frustrum[ 1 ].y = tmp.elements[ 3 ][ 1 ] - tmp.elements[ 0 ][ 1 ];
+    frustrum[ 1 ].z = tmp.elements[ 3 ][ 2 ] - tmp.elements[ 0 ][ 2 ];
+    frustrum[ 1 ].w = tmp.elements[ 3 ][ 3 ] - tmp.elements[ 0 ][ 3 ];
+
+    frustrum[ 2 ].x = tmp.elements[ 3 ][ 0 ] - tmp.elements[ 1 ][ 0 ];
+    frustrum[ 2 ].y = tmp.elements[ 3 ][ 1 ] - tmp.elements[ 1 ][ 1 ];
+    frustrum[ 2 ].z = tmp.elements[ 3 ][ 2 ] - tmp.elements[ 1 ][ 2 ];
+    frustrum[ 2 ].w = tmp.elements[ 3 ][ 3 ] - tmp.elements[ 1 ][ 3 ];
+
+    frustrum[ 3 ].x = tmp.elements[ 3 ][ 0 ] + tmp.elements[ 1 ][ 0 ];
+    frustrum[ 3 ].y = tmp.elements[ 3 ][ 1 ] + tmp.elements[ 1 ][ 1 ];
+    frustrum[ 3 ].z = tmp.elements[ 3 ][ 2 ] + tmp.elements[ 1 ][ 2 ];
+    frustrum[ 3 ].w = tmp.elements[ 3 ][ 3 ] + tmp.elements[ 1 ][ 3 ];
+
+    frustrum[ 4 ].x = tmp.elements[ 2 ][ 0 ];
+    frustrum[ 4 ].y = tmp.elements[ 2 ][ 1 ];
+    frustrum[ 4 ].z = tmp.elements[ 2 ][ 2 ];
+    frustrum[ 4 ].w = tmp.elements[ 2 ][ 3 ];
+
+    frustrum[ 5 ].x = tmp.elements[ 3 ][ 0 ] - tmp.elements[ 2 ][ 0 ];
+    frustrum[ 5 ].y = tmp.elements[ 3 ][ 1 ] - tmp.elements[ 2 ][ 1 ];
+    frustrum[ 5 ].z = tmp.elements[ 3 ][ 2 ] - tmp.elements[ 2 ][ 2 ];
+    frustrum[ 5 ].w = tmp.elements[ 3 ][ 3 ] - tmp.elements[ 2 ][ 3 ];
+
+    for( int i = 0; i < 6; i++ )
+        frustrum[ i ].normalize();
+
+    viewAndProj[ 0 ] = zKamera->getViewMatrix();
+    viewAndProj[ 1 ] = zKamera->getProjectionMatrix();
+    kamPos = zKamera->getWorldPosition();
+    if( vertexShader )
+        vertexShader->füllConstBuffer( (char *)viewAndProj, 0, sizeof( Mat4< float > ) * 2 );
+    if( pixelShader )
+        pixelShader->füllConstBuffer( (char *)& kamPos, 2, sizeof( float ) * 3 );
+    Welt3D * w = zKamera->zWelt();
+    w->lock();
+    for( auto obj = w->getMembers(); obj; obj++ )
+    {
+        float dist;
+        if( isInFrustrum( obj->getPos(), obj->getRadius(), &dist ) )
+            renderObject( obj._ );
+    }
+    w->unlock();
 }
 
 void DirectX12::presentFrame()
 {
-    directCommandList->Close();
-    directCommandQueue->ExecuteCommandLists( 1, (ID3D12CommandList**)&directCommandList );
+    directCommandQueue->getCommandList()->RSSetViewports( 1, viewPort );
 
-    // TODO: Render Framework GUI
+    float screenAspect = (float)backBufferSize.x / (float)backBufferSize.y;
+    Mat4< float > view = view.translation( Vec3< float >( 0.f, 0.f, backBufferSize.y * 1.2075f ) );
+    viewAndProj[ 0 ] = view;
+    viewAndProj[ 1 ] = view.projektion( (float)PI / 4.0f, screenAspect, 0.1f, 10000.f );
+    kamPos = Vec3< float >( 0.f, 0.f, backBufferSize.y * 1.2075f );
+    if( vertexShader )
+        vertexShader->füllConstBuffer( (char *)viewAndProj, 1, sizeof( Mat4< float > ) * 2 );
+    if( pixelShader )
+        pixelShader->füllConstBuffer( (char *)& kamPos, 0, sizeof( float ) * 3 );
 
-    swapChain->Present( 0, tearing ? DXGI_PRESENT_ALLOW_TEARING : 0 );
+    if( fenster && !IsIconic( fenster->getFensterHandle() ) )
+        renderObject( texturModel );
 
-    directCommandQueue->Signal( fence, ++fenceValue[ backBufferIndex ] );
+    D3D12_RESOURCE_BARRIER barrier;
+    ZeroMemory( &barrier, sizeof( barrier ) );
+    barrier.Type = D3D12_RESOURCE_BARRIER_TYPE_TRANSITION;
+    barrier.Flags = D3D12_RESOURCE_BARRIER_FLAG_NONE;
+    barrier.Transition.pResource = this->backBuffer[ backBufferIndex ];
+    barrier.Transition.StateBefore = D3D12_RESOURCE_STATE_RENDER_TARGET;
+    barrier.Transition.StateAfter = D3D12_RESOURCE_STATE_PRESENT;
+    barrier.Transition.Subresource = D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES;
 
-    if( fence->GetCompletedValue() < fenceValue[ backBufferIndex ] )
-    {
-        fence->SetEventOnCompletion( fenceValue[ backBufferIndex ], fenceEvent );
-        WaitForSingleObject( fenceEvent, INFINITE );
-    }
+    directCommandQueue->getCommandList()->ResourceBarrier( 1, &barrier );
+    copyCommandQueue->execute();
+    directCommandQueue->execute();
 
-    backBufferIndex = swapChain->GetCurrentBackBufferIndex();
+    swapChain->Present( 0, tearing ? DXGI_PRESENT_ALLOW_TEARING : 0 );
 
-    directCommandAllocator[ backBufferIndex ]->Reset();
-    directCommandList->Reset( directCommandAllocator[ backBufferIndex ], nullptr );
+    backBufferIndex = swapChain->GetCurrentBackBufferIndex();
 }
 
-Textur *DirectX12::createOrGetTextur( const char *name, Bild * b )
+Textur * DirectX12::createOrGetTextur( const char *name, Bild * b )
 {
-    return 0;
+    if( !device )
+    {
+        if( b )
+            b->release();
+        return 0;
+    }
+    if( texturRegister->hatTextur( name ) )
+    {
+        Textur *ret = texturRegister->getTextur( name );
+        if( b )
+            ret->setBildZ( b );
+        return ret;
+    }
+    Textur *ret = new DX12Textur( device, copyCommandQueue->getCommandList(), directCommandQueue->getCommandList() );
+    if( b )
+        ret->setBildZ( b );
+    texturRegister->addTextur( ret->getThis(), name );
+    return ret;
 }
 
 Bild *DirectX12::zUIRenderBild() const
 {
-    return 0;
+    return uiTextur ? uiTextur->zBild() : 0;
 }
 
 bool DirectX12::isAvailable()

+ 3666 - 0
DX12PixelShader.h

@@ -0,0 +1,3666 @@
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.1
+//
+//
+// Buffer Definitions: 
+//
+// cbuffer Object
+// {
+//
+//   struct Material
+//   {
+//       
+//       float ambientFactor;           // Offset:    0
+//       float diffusFactor;            // Offset:    4
+//       float specularFactor;          // Offset:    8
+//
+//   } Object;                          // Offset:    0 Size:    12
+//
+// }
+//
+//
+// Resource Bindings:
+//
+// Name                                 Type  Format         Dim      ID      HLSL Bind  Count
+// ------------------------------ ---------- ------- ----------- ------- -------------- ------
+// SampleType                        sampler      NA          NA      S0             s0      1 
+// shaderTexture                     texture  float4          2d      T0             t0      1 
+// Object                            cbuffer      NA          NA     CB0            cb3      1 
+//
+//
+//
+// Input signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// POSITION                 0   xyzw        0     NONE   float       
+// SV_POSITION              0   xyzw        1      POS   float       
+// TEXCOORD                 0   xy          2     NONE   float   xy  
+// TEXCOORD                 1   xyz         3     NONE   float       
+//
+//
+// Output signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// SV_TARGET                0   xyzw        0   TARGET   float   xyzw
+//
+ps_5_1
+dcl_globalFlags refactoringAllowed | skipOptimization
+dcl_constantbuffer CB0[3:3][1], immediateIndexed, space=0
+dcl_sampler S0[0:0], mode_default, space=0
+dcl_resource_texture2d (float,float,float,float) T0[0:0], space=0
+dcl_input_ps linear v2.xy
+dcl_output o0.xyzw
+dcl_temps 3
+//
+// Initial variable locations:
+//   v0.x <- input.worldPos.x; v0.y <- input.worldPos.y; v0.z <- input.worldPos.z; v0.w <- input.worldPos.w; 
+//   v1.x <- input.position.x; v1.y <- input.position.y; v1.z <- input.position.z; v1.w <- input.position.w; 
+//   v2.x <- input.tex.x; v2.y <- input.tex.y; 
+//   v3.x <- input.normal.x; v3.y <- input.normal.y; v3.z <- input.normal.z; 
+//   o0.x <- <main return value>.x; o0.y <- <main return value>.y; o0.z <- <main return value>.z; o0.w <- <main return value>.w
+//
+#line 64 "C:\Users\kolja\OneDrive\Desktop\Kolja-Strohm-Games\Allgemein\Framework\DX12PixelShader.hlsl"
+itof r0.xyz, l(0, 0, 0, 0)  // r0.x <- diffuseLight.x; r0.y <- diffuseLight.y; r0.z <- diffuseLight.z
+
+#line 65
+itof r1.xyz, l(0, 0, 0, 0)  // r1.x <- specularLight.x; r1.y <- specularLight.y; r1.z <- specularLight.z
+
+#line 85
+sample r2.xyzw, v2.xyxx, T0[0].xyzw, S0[0]  // r2.x <- materialColor.x; r2.y <- materialColor.y; r2.z <- materialColor.z; r2.w <- materialColor.w
+
+#line 86
+mul r2.xyz, r2.xyzx, CB0[3][0].xxxx
+mul r0.xyz, r0.xyzx, CB0[3][0].yyyy
+add r0.xyz, r0.xyzx, r2.xyzx
+mul r1.xyz, r1.xyzx, CB0[3][0].zzzz
+add r0.xyz, r0.xyzx, r1.xyzx
+max r0.xyz, r0.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
+min r0.xyz, r0.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)  // r0.x <- textureColor.x; r0.y <- textureColor.y; r0.z <- textureColor.z
+
+#line 87
+mov r2.w, r2.w  // r2.w <- textureColor.w
+
+#line 88
+mov o0.xyz, r0.xyzx
+mov o0.w, r2.w
+ret 
+// Approximately 14 instruction slots used
+#endif
+
+const BYTE DX12PixelShaderBytes[] =
+{
+     68,  88,  66,  67, 212,  70, 
+     73, 246, 239,  46, 156,  85, 
+    147, 213,  52,  75,  86,  38, 
+    123,   2,   1,   0,   0,   0, 
+    176,  83,   0,   0,   6,   0, 
+      0,   0,  56,   0,   0,   0, 
+     36,   2,   0,   0, 180,   2, 
+      0,   0, 232,   2,   0,   0, 
+     12,   5,   0,   0, 168,   5, 
+      0,   0,  82,  68,  69,  70, 
+    228,   1,   0,   0,   1,   0, 
+      0,   0, 212,   0,   0,   0, 
+      3,   0,   0,   0,  60,   0, 
+      0,   0,   1,   5, 255, 255, 
+      5,   5,   0,   0, 188,   1, 
+      0,   0,  19,  19,  68,  37, 
+     60,   0,   0,   0,  24,   0, 
+      0,   0,  40,   0,   0,   0, 
+     40,   0,   0,   0,  36,   0, 
+      0,   0,  12,   0,   0,   0, 
+      0,   0,   0,   0, 180,   0, 
+      0,   0,   3,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 191,   0,   0,   0, 
+      2,   0,   0,   0,   5,   0, 
+      0,   0,   4,   0,   0,   0, 
+    255, 255, 255, 255,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+     12,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    205,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  83,  97, 
+    109, 112, 108, 101,  84, 121, 
+    112, 101,   0, 115, 104,  97, 
+    100, 101, 114,  84, 101, 120, 
+    116, 117, 114, 101,   0,  79, 
+     98, 106, 101,  99, 116,   0, 
+    205,   0,   0,   0,   1,   0, 
+      0,   0, 236,   0,   0,   0, 
+     16,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    205,   0,   0,   0,   0,   0, 
+      0,   0,  12,   0,   0,   0, 
+      2,   0,   0,   0, 152,   1, 
+      0,   0,   0,   0,   0,   0, 
+    255, 255, 255, 255,   0,   0, 
+      0,   0, 255, 255, 255, 255, 
+      0,   0,   0,   0,  77,  97, 
+    116, 101, 114, 105,  97, 108, 
+      0,  97, 109,  98, 105, 101, 
+    110, 116,  70,  97,  99, 116, 
+    111, 114,   0, 102, 108, 111, 
+     97, 116,   0, 171, 171, 171, 
+      0,   0,   3,   0,   1,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  43,   1,   0,   0, 
+    100, 105, 102, 102, 117, 115, 
+     70,  97,  99, 116, 111, 114, 
+      0, 115, 112, 101,  99, 117, 
+    108,  97, 114,  70,  97,  99, 
+    116, 111, 114,   0,  29,   1, 
+      0,   0,  52,   1,   0,   0, 
+      0,   0,   0,   0,  88,   1, 
+      0,   0,  52,   1,   0,   0, 
+      4,   0,   0,   0, 101,   1, 
+      0,   0,  52,   1,   0,   0, 
+      8,   0,   0,   0,   5,   0, 
+      0,   0,   1,   0,   3,   0, 
+      0,   0,   3,   0, 116,   1, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     20,   1,   0,   0,  77, 105, 
+     99, 114, 111, 115, 111, 102, 
+    116,  32,  40,  82,  41,  32, 
+     72,  76,  83,  76,  32,  83, 
+    104,  97, 100, 101, 114,  32, 
+     67, 111, 109, 112, 105, 108, 
+    101, 114,  32,  49,  48,  46, 
+     49,   0,  73,  83,  71,  78, 
+    136,   0,   0,   0,   4,   0, 
+      0,   0,   8,   0,   0,   0, 
+    104,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   0,   0, 
+      0,   0,  15,   0,   0,   0, 
+    113,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+      3,   0,   0,   0,   1,   0, 
+      0,   0,  15,   0,   0,   0, 
+    125,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   2,   0, 
+      0,   0,   3,   3,   0,   0, 
+    125,   0,   0,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   3,   0, 
+      0,   0,   7,   0,   0,   0, 
+     80,  79,  83,  73,  84,  73, 
+     79,  78,   0,  83,  86,  95, 
+     80,  79,  83,  73,  84,  73, 
+     79,  78,   0,  84,  69,  88, 
+     67,  79,  79,  82,  68,   0, 
+    171, 171,  79,  83,  71,  78, 
+     44,   0,   0,   0,   1,   0, 
+      0,   0,   8,   0,   0,   0, 
+     32,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   0,   0, 
+      0,   0,  15,   0,   0,   0, 
+     83,  86,  95,  84,  65,  82, 
+     71,  69,  84,   0, 171, 171, 
+     83,  72,  69,  88,  28,   2, 
+      0,   0,  81,   0,   0,   0, 
+    135,   0,   0,   0, 106, 136, 
+      0,   1,  89,   0,   0,   7, 
+     70, 142,  48,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+      3,   0,   0,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+     90,   0,   0,   6,  70, 110, 
+     48,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     88,  24,   0,   7,  70, 126, 
+     48,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  85,  85,   0,   0, 
+      0,   0,   0,   0,  98,  16, 
+      0,   3,  50,  16,  16,   0, 
+      2,   0,   0,   0, 101,   0, 
+      0,   3, 242,  32,  16,   0, 
+      0,   0,   0,   0, 104,   0, 
+      0,   2,   3,   0,   0,   0, 
+     43,   0,   0,   8, 114,   0, 
+     16,   0,   0,   0,   0,   0, 
+      2,  64,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  43,   0,   0,   8, 
+    114,   0,  16,   0,   1,   0, 
+      0,   0,   2,  64,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  69,   0, 
+      0,  11, 242,   0,  16,   0, 
+      2,   0,   0,   0,  70,  16, 
+     16,   0,   2,   0,   0,   0, 
+     70, 126,  32,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,  96,  32,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     56,   0,   0,   9, 114,   0, 
+     16,   0,   2,   0,   0,   0, 
+     70,   2,  16,   0,   2,   0, 
+      0,   0,   6, 128,  48,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   0,   0,   0,   0, 
+     56,   0,   0,   9, 114,   0, 
+     16,   0,   0,   0,   0,   0, 
+     70,   2,  16,   0,   0,   0, 
+      0,   0,  86, 133,  48,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   7, 114,   0, 
+     16,   0,   0,   0,   0,   0, 
+     70,   2,  16,   0,   0,   0, 
+      0,   0,  70,   2,  16,   0, 
+      2,   0,   0,   0,  56,   0, 
+      0,   9, 114,   0,  16,   0, 
+      1,   0,   0,   0,  70,   2, 
+     16,   0,   1,   0,   0,   0, 
+    166, 138,  48,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   7, 114,   0,  16,   0, 
+      0,   0,   0,   0,  70,   2, 
+     16,   0,   0,   0,   0,   0, 
+     70,   2,  16,   0,   1,   0, 
+      0,   0,  52,   0,   0,  10, 
+    114,   0,  16,   0,   0,   0, 
+      0,   0,  70,   2,  16,   0, 
+      0,   0,   0,   0,   2,  64, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     51,   0,   0,  10, 114,   0, 
+     16,   0,   0,   0,   0,   0, 
+     70,   2,  16,   0,   0,   0, 
+      0,   0,   2,  64,   0,   0, 
+      0,   0, 128,  63,   0,   0, 
+    128,  63,   0,   0, 128,  63, 
+      0,   0,   0,   0,  54,   0, 
+      0,   5, 130,   0,  16,   0, 
+      2,   0,   0,   0,  58,   0, 
+     16,   0,   2,   0,   0,   0, 
+     54,   0,   0,   5, 114,  32, 
+     16,   0,   0,   0,   0,   0, 
+     70,   2,  16,   0,   0,   0, 
+      0,   0,  54,   0,   0,   5, 
+    130,  32,  16,   0,   0,   0, 
+      0,   0,  58,   0,  16,   0, 
+      2,   0,   0,   0,  62,   0, 
+      0,   1,  83,  84,  65,  84, 
+    148,   0,   0,   0,  14,   0, 
+      0,   0,   3,   0,   0,   0, 
+      0,   0,   0,   0,   2,   0, 
+      0,   0,   7,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+      0,   0,   0,   0,   2,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  83,  80,  68,  66, 
+      0,  78,   0,   0,  77, 105, 
+     99, 114, 111, 115, 111, 102, 
+    116,  32,  67,  47,  67,  43, 
+     43,  32,  77,  83,  70,  32, 
+     55,  46,  48,  48,  13,  10, 
+     26,  68,  83,   0,   0,   0, 
+      0,   2,   0,   0,   2,   0, 
+      0,   0,  39,   0,   0,   0, 
+    196,   0,   0,   0,   0,   0, 
+      0,   0,  38,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    192, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255,  56,   0,   0,   0, 
+    128, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255,   5,   0, 
+      0,   0,  32,   0,   0,   0, 
+     60,   0,   0,   0,   0,   0, 
+      0,   0, 255, 255, 255, 255, 
+      0,   0,   0,   0,   6,   0, 
+      0,   0,   5,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 148,  46,  49,   1, 
+    245, 212,  86,  92,   1,   0, 
+      0,   0, 215,  73, 210, 232, 
+    170, 197, 237,  66, 134, 238, 
+    130, 179, 180,  81, 240,  71, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 220,  81, 
+     51,   1,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  32,  32, 
+     13,  10,  84, 101, 120, 116, 
+    117, 114, 101,  50,  68,  32, 
+    115, 104,  97, 100, 101, 114, 
+     84, 101, 120, 116, 117, 114, 
+    101,  32,  58,  32, 114, 101, 
+    103, 105, 115, 116, 101, 114, 
+     40,  32, 116,  48,  32,  41, 
+     59,  13,  10,  83,  97, 109, 
+    112, 108, 101, 114,  83, 116, 
+     97, 116, 101,  32,  83,  97, 
+    109, 112, 108, 101,  84, 121, 
+    112, 101,  59,  13,  10,  13, 
+     10,  47,  47,  32,  84, 104, 
+    101,  32, 112, 111, 115, 105, 
+    116, 105, 111, 110,  32, 111, 
+    102,  32, 116, 104, 101,  32, 
+    107,  97, 109, 101, 114,  97, 
+     13,  10, 115, 116, 114, 117, 
+     99, 116,  32,  75,  97, 109, 
+    101, 114,  97,  66, 117, 102, 
+    102, 101, 114,  13,  10, 123, 
+     13,  10,  32,  32,  32,  32, 
+    102, 108, 111,  97, 116,  52, 
+     32, 107,  80, 111, 115, 105, 
+    116, 105, 111, 110,  59,  13, 
+     10, 125,  59,  13,  10,  13, 
+     10,  47,  47,  32, 116, 104, 
+    101, 115, 101,  32, 118,  97, 
+    108, 117, 101, 115,  32, 115, 
+    104, 111, 117, 108, 100,  32, 
+    115, 117, 109,  32, 117, 112, 
+     32, 116, 111,  32,  49,  13, 
+     10, 115, 116, 114, 117,  99, 
+    116,  32,  77,  97, 116, 101, 
+    114, 105,  97, 108,  13,  10, 
+    123,  13,  10,  32,  32,  32, 
+     32, 102, 108, 111,  97, 116, 
+     32,  97, 109,  98, 105, 101, 
+    110, 116,  70,  97,  99, 116, 
+    111, 114,  59,  13,  10,  32, 
+     32,  32,  32, 102, 108, 111, 
+     97, 116,  32, 100, 105, 102, 
+    102, 117, 115,  70,  97,  99, 
+    116, 111, 114,  59,  13,  10, 
+     32,  32,  32,  32, 102, 108, 
+    111,  97, 116,  32, 115, 112, 
+    101,  99, 117, 108,  97, 114, 
+     70,  97,  99, 116, 111, 114, 
+     59,  13,  10, 125,  59,  13, 
+     10,  13,  10, 115, 116, 114, 
+    117,  99, 116,  32,  76, 105, 
+    103, 104, 116,  67, 111, 117, 
+    110, 116,  13,  10, 123,  13, 
+     10,  32,  32,  32,  32, 105, 
+    110, 116,  32, 100, 105, 102, 
+    102, 117, 115, 101,  76, 105, 
+    103, 104, 116,  67, 111, 117, 
+    110, 116,  59,  13,  10,  32, 
+     32,  32,  32, 105, 110, 116, 
+     32, 112, 111, 105, 110, 116, 
+     76, 105, 103, 104, 116,  67, 
+    111, 117, 110, 116,  59,  13, 
+     10, 125,  59,  13,  10,  13, 
+     10,  67, 111, 110, 115, 116, 
+     97, 110, 116,  66, 117, 102, 
+    102, 101, 114,  60,  75,  97, 
+    109, 101, 114,  97,  66, 117, 
+    102, 102, 101, 114,  62,  32, 
+     75,  97, 109, 101, 114,  97, 
+     32,  58,  32, 114, 101, 103, 
+    105, 115, 116, 101, 114,  40, 
+     32,  98,  50,  32,  41,  59, 
+     13,  10,  67, 111, 110, 115, 
+    116,  97, 110, 116,  66, 117, 
+    102, 102, 101, 114,  60,  77, 
+     97, 116, 101, 114, 105,  97, 
+    108,  62,  32,  79,  98, 106, 
+    101,  99, 116,  32,  58,  32, 
+    114, 101, 103, 105, 115, 116, 
+    101, 114,  40,  32,  98,  51, 
+     32,  41,  59,  13,  10,  67, 
+    111, 110, 115, 116,  97, 110, 
+    116,  66, 117, 102, 102, 101, 
+    114,  60,  76, 105, 103, 104, 
+    116,  67, 111, 117, 110, 116, 
+    198,  90,   0,   0, 117, 131, 
+      1,   0,  76, 232,   3,   0, 
+    242,  56,   1,   0,  43, 236, 
+      3,   0,  28,  19,   2,   0, 
+     65,  36,   1,   0, 236, 179, 
+      1,   0,  97, 167,   3,   0, 
+    125,  10,   2,   0, 125, 181, 
+      2,   0, 200,  81,   2,   0, 
+    193,  33,   3,   0,  65, 185, 
+      2,   0, 140, 239,   1,   0, 
+    246,  49,   0,   0, 213, 255, 
+      0,   0, 115, 108,   0,   0, 
+    202, 179,   0,   0,   0,  16, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  13,  10, 
+     47,  47,  32,  71,  76,  79, 
+     66,  65,  76,  83,  32,  47, 
+     47,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  13,  10,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     13,  10,  84, 101, 120, 116, 
+    117, 114, 101,  50,  68,  32, 
+    115, 104,  97, 100, 101, 114, 
+     84, 101, 120, 116, 117, 114, 
+    101,  32,  58,  32, 114, 101, 
+    103, 105, 115, 116, 101, 114, 
+     40,  32, 116,  48,  32,  41, 
+     59,  13,  10,  83,  97, 109, 
+    112, 108, 101, 114,  83, 116, 
+     97, 116, 101,  32,  83,  97, 
+    109, 112, 108, 101,  84, 121, 
+    112, 101,  59,  13,  10,  13, 
+     10,  47,  47,  32,  84, 104, 
+    101,  32, 112, 111, 115, 105, 
+    116, 105, 111, 110,  32, 111, 
+    102,  32, 116, 104, 101,  32, 
+    107,  97, 109, 101, 114,  97, 
+     13,  10, 115, 116, 114, 117, 
+     99, 116,  32,  75,  97, 109, 
+    101, 114,  97,  66, 117, 102, 
+    102, 101, 114,  13,  10, 123, 
+     13,  10,  32,  32,  32,  32, 
+    102, 108, 111,  97, 116,  52, 
+     32, 107,  80, 111, 115, 105, 
+    116, 105, 111, 110,  59,  13, 
+     10, 125,  59,  13,  10,  13, 
+     10,  47,  47,  32, 116, 104, 
+    101, 115, 101,  32, 118,  97, 
+    108, 117, 101, 115,  32, 115, 
+    104, 111, 117, 108, 100,  32, 
+    115, 117, 109,  32, 117, 112, 
+     32, 116, 111,  32,  49,  13, 
+     10, 115, 116, 114, 117,  99, 
+    116,  32,  77,  97, 116, 101, 
+    114, 105,  97, 108,  13,  10, 
+    123,  13,  10,  32,  32,  32, 
+     32, 102, 108, 111,  97, 116, 
+     32,  97, 109,  98, 105, 101, 
+    110, 116,  70,  97,  99, 116, 
+    111, 114,  59,  13,  10,  32, 
+     32,  32,  32, 102, 108, 111, 
+     97, 116,  32, 100, 105, 102, 
+    102, 117, 115,  70,  97,  99, 
+    116, 111, 114,  59,  13,  10, 
+     32,  32,  32,  32, 102, 108, 
+    111,  97, 116,  32, 115, 112, 
+    101,  99, 117, 108,  97, 114, 
+     70,  97,  99, 116, 111, 114, 
+     59,  13,  10, 125,  59,  13, 
+     10,  13,  10, 115, 116, 114, 
+    117,  99, 116,  32,  76, 105, 
+    103, 104, 116,  67, 111, 117, 
+    110, 116,  13,  10, 123,  13, 
+     10,  32,  32,  32,  32, 105, 
+    110, 116,  32, 100, 105, 102, 
+    102, 117, 115, 101,  76, 105, 
+    103, 104, 116,  67, 111, 117, 
+    110, 116,  59,  13,  10,  32, 
+     32,  32,  32, 105, 110, 116, 
+     32, 112, 111, 105, 110, 116, 
+     76, 105, 103, 104, 116,  67, 
+    111, 117, 110, 116,  59,  13, 
+     10, 125,  59,  13,  10,  13, 
+     10,  67, 111, 110, 115, 116, 
+     97, 110, 116,  66, 117, 102, 
+    102, 101, 114,  60,  75,  97, 
+    109, 101, 114,  97,  66, 117, 
+    102, 102, 101, 114,  62,  32, 
+     75,  97, 109, 101, 114,  97, 
+     32,  58,  32, 114, 101, 103, 
+    105, 115, 116, 101, 114,  40, 
+     32,  98,  50,  32,  41,  59, 
+     13,  10,  67, 111, 110, 115, 
+    116,  97, 110, 116,  66, 117, 
+    102, 102, 101, 114,  60,  77, 
+     97, 116, 101, 114, 105,  97, 
+    108,  62,  32,  79,  98, 106, 
+    101,  99, 116,  32,  58,  32, 
+    114, 101, 103, 105, 115, 116, 
+    101, 114,  40,  32,  98,  51, 
+     32,  41,  59,  13,  10,  67, 
+    111, 110, 115, 116,  97, 110, 
+    116,  66, 117, 102, 102, 101, 
+    114,  60,  76, 105, 103, 104, 
+    116,  67, 111, 117, 110, 116, 
+     62,  32,  76, 105, 103, 104, 
+    116,  32,  58,  32, 114, 101, 
+    103, 105, 115, 116, 101, 114, 
+     40,  32,  98,  52,  32,  41, 
+     59,  13,  10,  13,  10,  47, 
+     47,  32, 108, 105, 103, 104, 
+    116, 115,  13,  10, 115, 116, 
+    114, 117,  99, 116,  32,  68, 
+    105, 102, 102, 117, 115, 101, 
+     76, 105, 103, 104, 116,  13, 
+     10, 123,  13,  10,  32,  32, 
+     32,  32, 102, 108, 111,  97, 
+    116,  51,  32, 100, 105, 114, 
+    101,  99, 116, 105, 111, 110, 
+     59,  13,  10,  32,  32,  32, 
+     32, 102, 108, 111,  97, 116, 
+     51,  32,  99, 111, 108, 111, 
+    114,  59,  13,  10, 125,  59, 
+     13,  10,  13,  10, 115, 116, 
+    114, 117,  99, 116,  32,  80, 
+    111, 105, 110, 116,  76, 105, 
+    103, 104, 116,  13,  10, 123, 
+     13,  10,  32,  32,  32,  32, 
+    102, 108, 111,  97, 116,  51, 
+     32, 112, 111, 115, 105, 116, 
+    105, 111, 110,  59,  13,  10, 
+     32,  32,  32,  32, 102, 108, 
+    111,  97, 116,  51,  32,  99, 
+    111, 108, 111, 114,  59,  13, 
+     10,  32,  32,  32,  32, 102, 
+    108, 111,  97, 116,  32, 114, 
+     97, 100, 105, 117, 115,  59, 
+     13,  10, 125,  59,  13,  10, 
+     13,  10,  47,  47,  83, 116, 
+    114, 117,  99, 116, 117, 114, 
+    101, 100,  66, 117, 102, 102, 
+    101, 114,  60,  32,  68, 105, 
+    102, 102, 117, 115, 101,  76, 
+    105, 103, 104, 116,  32,  62, 
+     32, 100, 105, 102, 117, 115, 
+    101,  76, 105, 103, 104, 116, 
+    115,  32,  58,  32, 114, 101, 
+    103, 105, 115, 116, 101, 114, 
+     40,  32, 116,  49,  32,  41, 
+     59,  13,  10,  47,  47,  83, 
+    116, 114, 117,  99, 116, 117, 
+    114, 101, 100,  66, 117, 102, 
+    102, 101, 114,  60,  32,  80, 
+    111, 105, 110, 116,  76, 105, 
+    103, 104, 116,  32,  62,  32, 
+    112, 111, 105, 110, 116,  76, 
+    105, 103, 104, 116, 115,  32, 
+     58,  32, 114, 101, 103, 105, 
+    115, 116, 101, 114,  40,  32, 
+    116,  50,  32,  41,  59,  13, 
+     10,  13,  10,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  13, 
+     10,  47,  47,  32,  84,  89, 
+     80,  69,  68,  69,  70,  83, 
+     32,  47,  47,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  13,  10,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  13,  10, 115, 116, 114, 
+    117,  99, 116,  32,  80, 105, 
+    120, 101, 108,  73, 110, 112, 
+    117, 116,  84, 121, 112, 101, 
+     13,  10, 123,  13,  10,  32, 
+     32,  32,  32, 102, 108, 111, 
+     97, 116,  52,  32, 119, 111, 
+    114, 108, 100,  80, 111, 115, 
+     32,  58,  32,  80,  79,  83, 
+     73,  84,  73,  79,  78,  59, 
+     13,  10,  32,  32,  32,  32, 
+    102, 108, 111,  97, 116,  52, 
+     32, 112, 111, 115, 105, 116, 
+    105, 111, 110,  32,  58,  32, 
+     83,  86,  95,  80,  79,  83, 
+     73,  84,  73,  79,  78,  59, 
+     13,  10,  32,  32,  32,  32, 
+    102, 108, 111,  97, 116,  50, 
+     32, 116, 101, 120,  32,  58, 
+     32,  84,  69,  88,  67,  79, 
+     79,  82,  68,  48,  59,  13, 
+     10,  32,  32,  32,  32, 102, 
+    108, 111,  97, 116,  51,  32, 
+    110, 111, 114, 109,  97, 108, 
+     32,  58,  32,  84,  69,  88, 
+     67,  79,  79,  82,  68,  49, 
+     59,  13,  10, 125,  59,  13, 
+     10,  13,  10,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  13, 
+     10,  47,  47,  32,  80, 105, 
+    120, 101, 108,  32,  83, 104, 
+     97, 100, 101, 114,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  13,  10,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  13,  10, 102, 108, 111, 
+     97, 116,  52,  32, 109,  97, 
+    105, 110,  40,  32,  80, 105, 
+    120, 101, 108,  73, 110, 112, 
+    117, 116,  84, 121, 112, 101, 
+     32, 105, 110, 112, 117, 116, 
+     32,  41,  32,  58,  32,  83, 
+     86,  95,  84,  65,  82,  71, 
+     69,  84,  13,  10, 123,  13, 
+     10,  32,  32,  32,  32, 102, 
+    108, 111,  97, 116,  51,  32, 
+    100, 105, 102, 102, 117, 115, 
+    101,  76, 105, 103, 104, 116, 
+     32,  61,  32, 102, 108, 111, 
+     97, 116,  51,  40,  32,  48, 
+     44,  32,  48,  44,  32,  48, 
+     32,  41,  59,  13,  10,  32, 
+     32,  32,  32, 102, 108, 111, 
+     97, 116,  51,  32, 115, 112, 
+    101,  99, 117, 108,  97, 114, 
+     76, 105, 103, 104, 116,  32, 
+     61,  32, 102, 108, 111,  97, 
+    116,  51,  40,  32,  48,  44, 
+     32,  48,  44,  32,  48,  32, 
+     41,  59,  13,  10,  32,  32, 
+     32,  47,  42,  32, 102, 111, 
+    114,  40,  32, 105, 110, 116, 
+     32, 106,  32,  61,  32,  48, 
+     59,  32, 106,  32,  60,  32, 
+     76, 105, 103, 104, 116,  46, 
+    100, 105, 102, 102, 117, 115, 
+    101,  76, 105, 103, 104, 116, 
+     67, 111, 117, 110, 116,  59, 
+     32, 106,  43,  43,  32,  41, 
+     13,  10,  32,  32,  32,  32, 
+    123,  13,  10,  32,  32,  32, 
+     32,  32,  32,  32,  32, 105, 
+    102,  40,  32, 100, 111, 116, 
+     40,  32, 105, 110, 112, 117, 
+    116,  46, 110, 111, 114, 109, 
+     97, 108,  44,  32,  45, 100, 
+    105, 102, 117, 115, 101,  76, 
+    105, 103, 104, 116, 115,  91, 
+     32, 106,  32,  93,  46, 100, 
+    105, 114, 101,  99, 116, 105, 
+    111, 110,  32,  41,  32,  60, 
+     32,  48,  32,  41,  13,  10, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     99, 111, 110, 116, 105, 110, 
+    117, 101,  59,  13,  10,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32, 100, 105, 102, 102, 117, 
+    115, 101,  76, 105, 103, 104, 
+    116,  32,  43,  61,  32, 100, 
+    105, 102, 117, 115, 101,  76, 
+    105, 103, 104, 116, 115,  91, 
+     32, 106,  32,  93,  46,  99, 
+    111, 108, 111, 114,  32,  42, 
+     32, 100, 111, 116,  40,  32, 
+    105, 110, 112, 117, 116,  46, 
+    110, 111, 114, 109,  97, 108, 
+     44,  32,  45, 100, 105, 102, 
+    117, 115, 101,  76, 105, 103, 
+    104, 116, 115,  91,  32, 106, 
+     32,  93,  46, 100, 105, 114, 
+    101,  99, 116, 105, 111, 110, 
+     32,  41,  59,  13,  10,  32, 
+     32,  32,  32, 125,  13,  10, 
+     32,  32,  32,  32, 102, 111, 
+    114,  40,  32, 105, 110, 116, 
+     32, 105,  32,  61,  32,  48, 
+     59,  32, 105,  32,  60,  32, 
+     76, 105, 103, 104, 116,  46, 
+    112, 111, 105, 110, 116,  76, 
+    105, 103, 104, 116,  67, 111, 
+    117, 110, 116,  59,  32, 105, 
+     43,  43,  32,  41,  13,  10, 
+     32,  32,  32,  32, 123,  13, 
+     10,  32,  32,  32,  32,  32, 
+     32,  32,  32, 102, 108, 111, 
+     97, 116,  51,  32, 108, 105, 
+    103, 104, 116,  68, 105, 114, 
+     32,  61,  32, 112, 111, 105, 
+    110, 116,  76, 105, 103, 104, 
+    116, 115,  91,  32, 105,  32, 
+     93,  46, 112, 111, 115, 105, 
+    116, 105, 111, 110,  32,  45, 
+     32, 105, 110, 112, 117, 116, 
+     46, 119, 111, 114, 108, 100, 
+     80, 111, 115,  46, 120, 121, 
+    122,  59,  13,  10,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+    102, 108, 111,  97, 116,  32, 
+    102,  97,  99, 116, 111, 114, 
+     32,  61,  32, 112, 111, 105, 
+    110, 116,  76, 105, 103, 104, 
+    116, 115,  91,  32, 105,  32, 
+     93,  46, 114,  97, 100, 105, 
+    117, 115,  32,  47,  32, 108, 
+    101, 110, 103, 116, 104,  40, 
+     32, 108, 105, 103, 104, 116, 
+     68, 105, 114,  32,  41,  59, 
+     13,  10,  32,  32,  32,  32, 
+     32,  32,  32,  32, 102, 108, 
+    111,  97, 116,  32, 102,  32, 
+     61,  32, 100, 111, 116,  40, 
+     32, 105, 110, 112, 117, 116, 
+     46, 110, 111, 114, 109,  97, 
+    108,  44,  32, 110, 111, 114, 
+    109,  97, 108, 105, 122, 101, 
+     40,  32, 108, 105, 103, 104, 
+    116,  68, 105, 114,  32,  41, 
+     32,  41,  59,  13,  10,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32, 105, 102,  40,  32, 102, 
+     32,  62,  32,  48,  32,  41, 
+     13,  10,  32,  32,  32,  32, 
+     32,  32,  32,  32, 123,  13, 
+     10,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32, 100, 105, 102, 102, 117, 
+    115, 101,  76, 105, 103, 104, 
+    116,  32,  43,  61,  32, 112, 
+    111, 105, 110, 116,  76, 105, 
+    103, 104, 116, 115,  91,  32, 
+    105,  32,  93,  46,  99, 111, 
+    108, 111, 114,  32,  42,  32, 
+    102,  32,  42,  32, 102,  97, 
+     99, 116, 111, 114,  59,  13, 
+     10,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32, 102,  32,  61,  32, 100, 
+    111, 116,  40,  32, 110, 111, 
+    114, 109,  97, 108, 105, 122, 
+    101,  40,  32, 114, 101, 102, 
+    108, 101,  99, 116,  40,  32, 
+    110, 111, 114, 109,  97, 108, 
+    105, 122, 101,  40,  32,  45, 
+    108, 105, 103, 104, 116,  68, 
+    105, 114,  32,  41,  44,  32, 
+    105, 110, 112, 117, 116,  46, 
+    110, 111, 114, 109,  97, 108, 
+     32,  41,  32,  41,  44,  32, 
+    110, 111, 114, 109,  97, 108, 
+    105, 122, 101,  40,  32,  75, 
+     97, 109, 101, 114,  97,  46, 
+    107,  80, 111, 115, 105, 116, 
+    105, 111, 110,  46, 120, 121, 
+    122,  32,  45,  32, 105, 110, 
+    112, 117, 116,  46, 119, 111, 
+    114, 108, 100,  80, 111, 115, 
+     46, 120, 121, 122,  32,  41, 
+     32,  41,  59,  13,  10,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32, 105, 
+    102,  40,  32, 102,  32,  62, 
+     32,  48,  32,  41,  13,  10, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32, 115, 112, 
+    101,  99, 117, 108,  97, 114, 
+     76, 105, 103, 104, 116,  32, 
+     43,  61,  32, 112, 111, 105, 
+    110, 116,  76, 105, 103, 104, 
+    116, 115,  91,  32, 105,  32, 
+     93,  46,  99, 111, 108, 111, 
+    114,  32,  42,  32, 102,  32, 
+     42,  32, 102,  97,  99, 116, 
+    111, 114,  59,  13,  10,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32, 125,  13,  10,  32,  32, 
+     32,  32, 125,  42,  47,  13, 
+     10,  32,  32,  32,  32, 102, 
+    108, 111,  97, 116,  52,  32, 
+    109,  97, 116, 101, 114, 105, 
+     97, 108,  67, 111, 108, 111, 
+    114,  32,  61,  32, 115, 104, 
+     97, 100, 101, 114,  84, 101, 
+    120, 116, 117, 114, 101,  46, 
+     83,  97, 109, 112, 108, 101, 
+     40,  32,  83,  97, 109, 112, 
+    108, 101,  84, 121, 112, 101, 
+     44,  32, 105, 110, 112, 117, 
+    116,  46, 116, 101, 120,  32, 
+     41,  59,  13,  10,  32,  32, 
+     32,  32, 102, 108, 111,  97, 
+    116,  52,  32, 116, 101, 120, 
+    116, 117, 114, 101,  67, 111, 
+    108, 111, 114,  32,  61,  32, 
+    115,  97, 116, 117, 114,  97, 
+    116, 101,  40,  32, 109,  97, 
+    116, 101, 114, 105,  97, 108, 
+     67, 111, 108, 111, 114,  32, 
+     42,  32,  79,  98, 106, 101, 
+     99, 116,  46,  97, 109,  98, 
+    105, 101, 110, 116,  70,  97, 
+     99, 116, 111, 114,  32,  43, 
+     32, 102, 108, 111,  97, 116, 
+     52,  40,  32, 100, 105, 102, 
+    102, 117, 115, 101,  76, 105, 
+    103, 104, 116,  46, 120,  44, 
+     32, 100, 105, 102, 102, 117, 
+    115, 101,  76, 105, 103, 104, 
+    116,  46, 121,  44,  32, 100, 
+    105, 102, 102, 117, 115, 101, 
+     76, 105, 103, 104, 116,  46, 
+    122,  44,  32,  48,  32,  41, 
+     32,  42,  32,  79,  98, 106, 
+    101,  99, 116,  46, 100, 105, 
+    102, 102, 117, 115,  70,  97, 
+     99, 116, 111, 114,  32,  43, 
+     32, 102, 108, 111,  97, 116, 
+     52,  40,  32, 115, 112, 101, 
+     99, 117, 108,  97, 114,  76, 
+    105, 103, 104, 116,  46, 120, 
+     44,  32, 115, 112, 101,  99, 
+    117, 108,  97, 114,  76, 105, 
+    103, 104, 116,  46, 121,  44, 
+     32, 115, 112, 101,  99, 117, 
+    108,  97, 114,  76, 105, 103, 
+    104, 116,  46, 122,  44,  32, 
+     48,  32,  41,  32,  42,  32, 
+     79,  98, 106, 101,  99, 116, 
+     46, 115, 112, 101,  99, 117, 
+    108,  97, 114,  70,  97,  99, 
+    116, 111, 114,  32,  41,  59, 
+     13,  10,  32,  32,  32,  32, 
+    116, 101, 120, 116, 117, 114, 
+    101,  67, 111, 108, 111, 114, 
+     46,  97,  32,  61,  32, 109, 
+     97, 116, 101, 114, 105,  97, 
+    108,  67, 111, 108, 111, 114, 
+     46,  97,  59,  13,  10,  32, 
+     32,  32,  32, 114, 101, 116, 
+    117, 114, 110,  32, 116, 101, 
+    120, 116, 117, 114, 101,  67, 
+    111, 108, 111, 114,  59,  13, 
+     10, 125,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 254, 239, 
+    254, 239,   1,   0,   0,   0, 
+    243,  13,   0,   0,   0,  67, 
+     58,  92,  85, 115, 101, 114, 
+    115,  92, 107, 111, 108, 106, 
+     97,  92,  79, 110, 101,  68, 
+    114, 105, 118, 101,  92,  68, 
+    101, 115, 107, 116, 111, 112, 
+     92,  75, 111, 108, 106,  97, 
+     45,  83, 116, 114, 111, 104, 
+    109,  45,  71,  97, 109, 101, 
+    115,  92,  65, 108, 108, 103, 
+    101, 109, 101, 105, 110,  92, 
+     70, 114,  97, 109, 101, 119, 
+    111, 114, 107,  92,  68,  88, 
+     49,  50,  80, 105, 120, 101, 
+    108,  83, 104,  97, 100, 101, 
+    114,  46, 104, 108, 115, 108, 
+      0,   0,  99,  58,  92, 117, 
+    115, 101, 114, 115,  92, 107, 
+    111, 108, 106,  97,  92, 111, 
+    110, 101, 100, 114, 105, 118, 
+    101,  92, 100, 101, 115, 107, 
+    116, 111, 112,  92, 107, 111, 
+    108, 106,  97,  45, 115, 116, 
+    114, 111, 104, 109,  45, 103, 
+     97, 109, 101, 115,  92,  97, 
+    108, 108, 103, 101, 109, 101, 
+    105, 110,  92, 102, 114,  97, 
+    109, 101, 119, 111, 114, 107, 
+     92, 100, 120,  49,  50, 112, 
+    105, 120, 101, 108, 115, 104, 
+     97, 100, 101, 114,  46, 104, 
+    108, 115, 108,   0,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     13,  10,  47,  47,  32,  71, 
+     76,  79,  66,  65,  76,  83, 
+     32,  47,  47,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  13,  10, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     27, 226,  48,   1, 128,   0, 
+      0,   0, 122, 170, 108,  83, 
+    182, 187, 212,   1,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,   2,   0,   0,   0, 
+      1,   0,   0,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+     94,   0,   0,   0,  40,   0, 
+      0,   0,  27, 226,  48,   1, 
+    147,  82, 163, 245,  56,  13, 
+      0,   0,   1,   0,   0,   0, 
+     93,   0,   0,   0,  94,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   4,   0,   0,   0, 
+     66,   0,  60,  17,  16,   1, 
+      0,   0,   0,   1,  10,   0, 
+      1,   0,  15,   0, 171,  63, 
+     10,   0,   1,   0,  15,   0, 
+    171,  63,  77, 105,  99, 114, 
+    111, 115, 111, 102, 116,  32, 
+     40,  82,  41,  32,  72,  76, 
+     83,  76,  32,  83, 104,  97, 
+    100, 101, 114,  32,  67, 111, 
+    109, 112, 105, 108, 101, 114, 
+     32,  49,  48,  46,  49,   0, 
+      0,   0,  54,   0,  61,  17, 
+      1, 104, 108, 115, 108,  70, 
+    108,  97, 103, 115,   0,  48, 
+    120,  53,   0, 104, 108, 115, 
+    108,  84,  97, 114, 103, 101, 
+    116,   0, 112, 115,  95,  53, 
+     95,  49,   0, 104, 108, 115, 
+    108,  69, 110, 116, 114, 121, 
+      0, 109,  97, 105, 110,   0, 
+      0,   0,   0,   0,  42,   0, 
+     16,  17,   0,   0,   0,   0, 
+    216,   4,   0,   0,   0,   0, 
+      0,   0, 160,   1,   0,   0, 
+      0,   0,   0,   0, 160,   1, 
+      0,   0,   7,  16,   0,   0, 
+    124,   0,   0,   0,   1,   0, 
+    160, 109,  97, 105, 110,   0, 
+     46,   0,  62,  17,   4,  16, 
+      0,   0,   9,   0, 105, 110, 
+    112, 117, 116,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     22,   0,  80,  17,   1,   0, 
+      5,   0,   0,   0,   4,   0, 
+    124,   0,   0,   0,   1,   0, 
+    160,   1,   0,   0,   0,   0, 
+     22,   0,  80,  17,   1,   0, 
+      5,   0,   4,   0,   4,   0, 
+    124,   0,   0,   0,   1,   0, 
+    160,   1,   4,   0,   0,   0, 
+     22,   0,  80,  17,   1,   0, 
+      5,   0,   8,   0,   4,   0, 
+    124,   0,   0,   0,   1,   0, 
+    160,   1,   8,   0,   0,   0, 
+     22,   0,  80,  17,   1,   0, 
+      5,   0,  12,   0,   4,   0, 
+    124,   0,   0,   0,   1,   0, 
+    160,   1,  12,   0,   0,   0, 
+     22,   0,  80,  17,   1,   0, 
+      5,   0,  16,   0,   4,   0, 
+    124,   0,   0,   0,   1,   0, 
+    160,   1,  16,   0,   0,   0, 
+     22,   0,  80,  17,   1,   0, 
+      5,   0,  20,   0,   4,   0, 
+    124,   0,   0,   0,   1,   0, 
+    160,   1,  20,   0,   0,   0, 
+     22,   0,  80,  17,   1,   0, 
+      5,   0,  24,   0,   4,   0, 
+    124,   0,   0,   0,   1,   0, 
+    160,   1,  24,   0,   0,   0, 
+     22,   0,  80,  17,   1,   0, 
+      5,   0,  28,   0,   4,   0, 
+    124,   0,   0,   0,   1,   0, 
+    160,   1,  28,   0,   0,   0, 
+     22,   0,  80,  17,   1,   0, 
+      5,   0,  32,   0,   4,   0, 
+    124,   0,   0,   0,   1,   0, 
+    160,   1,  32,   0,   0,   0, 
+     22,   0,  80,  17,   1,   0, 
+      5,   0,  36,   0,   4,   0, 
+    124,   0,   0,   0,   1,   0, 
+    160,   1,  36,   0,   0,   0, 
+     22,   0,  80,  17,   1,   0, 
+      5,   0,  40,   0,   4,   0, 
+    124,   0,   0,   0,   1,   0, 
+    160,   1,  48,   0,   0,   0, 
+     22,   0,  80,  17,   1,   0, 
+      5,   0,  44,   0,   4,   0, 
+    124,   0,   0,   0,   1,   0, 
+    160,   1,  52,   0,   0,   0, 
+     22,   0,  80,  17,   1,   0, 
+      5,   0,  48,   0,   4,   0, 
+    124,   0,   0,   0,   1,   0, 
+    160,   1,  56,   0,   0,   0, 
+     58,   0,  62,  17,   6,  16, 
+      0,   0, 136,   0,  60, 109, 
+     97, 105, 110,  32, 114, 101, 
+    116, 117, 114, 110,  32, 118, 
+     97, 108, 117, 101,  62,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,   0,   0,   4,   0, 
+    124,   0,   0,   0,   1,   0, 
+    160,   1,   0,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,   4,   0,   4,   0, 
+    124,   0,   0,   0,   1,   0, 
+    160,   1,   4,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,   8,   0,   4,   0, 
+    124,   0,   0,   0,   1,   0, 
+    160,   1,   8,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,  12,   0,   4,   0, 
+    124,   0,   0,   0,   1,   0, 
+    160,   1,  12,   0,   0,   0, 
+     50,   0,  62,  17,   2,  16, 
+      0,   0,   8,   0, 100, 105, 
+    102, 102, 117, 115, 101,  76, 
+    105, 103, 104, 116,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  22,   0, 
+     80,  17,   0,   0,   5,   0, 
+      0,   0,   4,   0, 156,   0, 
+      0,   0,   1,   0, 148,   0, 
+      0,   0,   0,   0,  22,   0, 
+     80,  17,   0,   0,   5,   0, 
+      4,   0,   4,   0, 156,   0, 
+      0,   0,   1,   0, 148,   0, 
+      4,   0,   0,   0,  22,   0, 
+     80,  17,   0,   0,   5,   0, 
+      8,   0,   4,   0, 156,   0, 
+      0,   0,   1,   0, 148,   0, 
+      8,   0,   0,   0,  54,   0, 
+     62,  17,   2,  16,   0,   0, 
+      8,   0, 115, 112, 101,  99, 
+    117, 108,  97, 114,  76, 105, 
+    103, 104, 116,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,   0,   0,   4,   0, 
+    188,   0,   0,   0,   1,   0, 
+    180,   0,  16,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,   4,   0,   4,   0, 
+    188,   0,   0,   0,   1,   0, 
+    180,   0,  20,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,   8,   0,   4,   0, 
+    188,   0,   0,   0,   1,   0, 
+    180,   0,  24,   0,   0,   0, 
+     54,   0,  62,  17,   0,  16, 
+      0,   0,   8,   0, 109,  97, 
+    116, 101, 114, 105,  97, 108, 
+     67, 111, 108, 111, 114,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,   0,   0, 
+      4,   0, 232,   0,   0,   0, 
+      1,   0,  36,   0,  32,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,   4,   0, 
+      4,   0, 232,   0,   0,   0, 
+      1,   0,  36,   0,  36,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,   8,   0, 
+      4,   0, 232,   0,   0,   0, 
+      1,   0,  36,   0,  40,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,  12,   0, 
+      4,   0, 232,   0,   0,   0, 
+      1,   0,  52,   1,  44,   0, 
+      0,   0,  50,   0,  62,  17, 
+      0,  16,   0,   0,   8,   0, 
+    116, 101, 120, 116, 117, 114, 
+    101,  67, 111, 108, 111, 114, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,   0,   0,   4,   0, 
+    220,   1,   0,   0,   1,   0, 
+     64,   0,   0,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,   4,   0,   4,   0, 
+    220,   1,   0,   0,   1,   0, 
+     64,   0,   4,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,   8,   0,   4,   0, 
+    220,   1,   0,   0,   1,   0, 
+     64,   0,   8,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  12,   0,   4,   0, 
+    240,   1,   0,   0,   1,   0, 
+     44,   0,  44,   0,   0,   0, 
+      2,   0,   6,   0, 244,   0, 
+      0,   0,  24,   0,   0,   0, 
+      1,   0,   0,   0,  16,   1, 
+      9, 171,  94, 129, 172, 190, 
+    169,  81, 129,  67,  77, 233, 
+     19, 241, 149, 165,   0,   0, 
+    242,   0,   0,   0, 104,   1, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   1,   0,  28,   2, 
+      0,   0,   0,   0,   0,   0, 
+     28,   0,   0,   0,  92,   1, 
+      0,   0, 124,   0,   0,   0, 
+     64,   0,   0, 128, 124,   0, 
+      0,   0,  64,   0,   0,   0, 
+    156,   0,   0,   0,  65,   0, 
+      0, 128, 156,   0,   0,   0, 
+     65,   0,   0,   0, 188,   0, 
+      0,   0,  85,   0,   0, 128, 
+    188,   0,   0,   0,  85,   0, 
+      0,   0, 232,   0,   0,   0, 
+     86,   0,   0, 128, 232,   0, 
+      0,   0,  86,   0,   0,   0, 
+     12,   1,   0,   0,  86,   0, 
+      0, 128,  12,   1,   0,   0, 
+     86,   0,   0,   0,  48,   1, 
+      0,   0,  86,   0,   0, 128, 
+     48,   1,   0,   0,  86,   0, 
+      0,   0,  76,   1,   0,   0, 
+     86,   0,   0, 128,  76,   1, 
+      0,   0,  86,   0,   0,   0, 
+    112,   1,   0,   0,  86,   0, 
+      0, 128, 112,   1,   0,   0, 
+     86,   0,   0,   0, 140,   1, 
+      0,   0,  86,   0,   0, 128, 
+    140,   1,   0,   0,  86,   0, 
+      0,   0, 180,   1,   0,   0, 
+     86,   0,   0, 128, 180,   1, 
+      0,   0,  86,   0,   0,   0, 
+    220,   1,   0,   0,  87,   0, 
+      0, 128, 220,   1,   0,   0, 
+     87,   0,   0,   0, 240,   1, 
+      0,   0,  88,   0,   0, 128, 
+    240,   1,   0,   0,  88,   0, 
+      0,   0,   4,   2,   0,   0, 
+     88,   0,   0, 128,   4,   2, 
+      0,   0,  88,   0,   0,   0, 
+     24,   2,   0,   0,  88,   0, 
+      0, 128,  24,   2,   0,   0, 
+     88,   0,   0,   0,   5,   0, 
+     44,   0,  27,   0,  43,   0, 
+      5,   0,  45,   0,  28,   0, 
+     44,   0,   5,   0,  73,   0, 
+     28,   0,  72,   0,   5,   0, 
+    248,   0,  37,   0,  72,   0, 
+      5,   0, 248,   0,  76,   0, 
+    156,   0,   5,   0, 248,   0, 
+     37,   0, 156,   0,   5,   0, 
+    248,   0, 160,   0, 245,   0, 
+      5,   0, 248,   0,  37,   0, 
+    245,   0,   5,   0, 248,   0, 
+     27,   0, 247,   0,   5,   0, 
+    248,   0,  27,   0, 247,   0, 
+      5,   0,  37,   0,   5,   0, 
+     36,   0,   5,   0,  24,   0, 
+      5,   0,  24,   0,   5,   0, 
+     24,   0,   5,   0,  24,   0, 
+      5,   0,  24,   0,   5,   0, 
+     24,   0, 246,   0,   0,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0,  20,   0, 
+      0,   0,  60,   0,   0,   0, 
+    100,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  17,  16, 
+      0,   0,   1,   0,   0,   2, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     11, 202,  49,   1,  56,   0, 
+      0,   0,   0,  16,   0,   0, 
+     19,  16,   0,   0, 208,   1, 
+      0,   0,  10,   0, 255, 255, 
+      4,   0,   0,   0, 255, 255, 
+      3,   0,   0,   0,   0,   0, 
+     76,   0,   0,   0,  76,   0, 
+      0,   0,   8,   0,   0,   0, 
+     84,   0,   0,   0,   0,   0, 
+      0,   0,  22,   0,  27,  21, 
+     64,   0,   0,   0,   4,   0, 
+      0,   0,  16,   0, 102, 108, 
+    111,  97, 116,  52,   0, 243, 
+    242, 241,  22,   0,  27,  21, 
+     64,   0,   0,   0,   2,   0, 
+      0,   0,   8,   0, 102, 108, 
+    111,  97, 116,  50,   0, 243, 
+    242, 241,  22,   0,  27,  21, 
+     64,   0,   0,   0,   3,   0, 
+      0,   0,  12,   0, 102, 108, 
+    111,  97, 116,  51,   0, 243, 
+    242, 241,  78,   0,   3,  18, 
+     13,  21,   3,   0,   0,  16, 
+      0,   0,   0,   0, 119, 111, 
+    114, 108, 100,  80, 111, 115, 
+      0, 241,  13,  21,   3,   0, 
+      0,  16,   0,   0,  16,   0, 
+    112, 111, 115, 105, 116, 105, 
+    111, 110,   0, 241,  13,  21, 
+      3,   0,   1,  16,   0,   0, 
+     32,   0, 116, 101, 120,   0, 
+    242, 241,  13,  21,   3,   0, 
+      2,  16,   0,   0,  40,   0, 
+    110, 111, 114, 109,  97, 108, 
+      0, 243, 242, 241,  38,   0, 
+      5,  21,   4,   0,   0,   0, 
+      3,  16,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     52,   0,  80, 105, 120, 101, 
+    108,  73, 110, 112, 117, 116, 
+     84, 121, 112, 101,   0, 243, 
+    242, 241,  10,   0,   1,  18, 
+      1,   0,   0,   0,   4,  16, 
+      0,   0,  10,   0,  24,  21, 
+      0,  16,   0,   0,   1,   0, 
+      1,   0,  14,   0,   8,  16, 
+      6,  16,   0,   0,  23,   0, 
+      1,   0,   5,  16,   0,   0, 
+     14,   0,  23,  21,   0,  16, 
+      0,   0,   3,   2, 224,   3, 
+      0,   0, 242, 241,  10,   0, 
+     24,  21,   8,  16,   0,   0, 
+      1,   0,   1,   0,  10,   0, 
+     24,  21,   9,  16,   0,   0, 
+      1,   0,   0,   2,  14,   0, 
+     23,  21,   0,   0,   0,   0, 
+     10,   2,   0,   0,   0,   0, 
+    242, 241,  10,   0,  24,  21, 
+     11,  16,   0,   0,   1,   0, 
+      1,   0,  10,   0,  24,  21, 
+     12,  16,   0,   0,   1,   0, 
+      0,   2,  78,   0,   3,  18, 
+     13,  21,   3,   0,  64,   0, 
+      0,   0,   0,   0,  97, 109, 
+     98, 105, 101, 110, 116,  70, 
+     97,  99, 116, 111, 114,   0, 
+     13,  21,   3,   0,  64,   0, 
+      0,   0,   4,   0, 100, 105, 
+    102, 102, 117, 115,  70,  97, 
+     99, 116, 111, 114,   0, 241, 
+     13,  21,   3,   0,  64,   0, 
+      0,   0,   8,   0, 115, 112, 
+    101,  99, 117, 108,  97, 114, 
+     70,  97,  99, 116, 111, 114, 
+      0, 243, 242, 241,  30,   0, 
+      5,  21,   3,   0,   0,   0, 
+     14,  16,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     12,   0,  77,  97, 116, 101, 
+    114, 105,  97, 108,   0, 241, 
+     10,   0,  24,  21,  15,  16, 
+      0,   0,   1,   0,   1,   0, 
+     14,   0,  23,  21,  16,  16, 
+      0,   0,  36,   2,   0,   0, 
+      0,   0, 242, 241,  10,   0, 
+     24,  21,  11, 202,  49,   1, 
+     56,   0,   0,   0,   0,  16, 
+      0,   0,   0,  16,   0,   0, 
+      0,   0,   0,   0,  11,   0, 
+    255, 255,   4,   0,   0,   0, 
+    255, 255,   3,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  62,  32, 
+     76, 105, 103, 104, 116,  32, 
+     58,  32, 114, 101, 103, 105, 
+    115, 116, 101, 114,  40,  32, 
+     98,  52,  32,  41,  59,  13, 
+     10,  13,  10,  47,  47,  32, 
+    108, 105, 103, 104, 116, 115, 
+     13,  10, 115, 116, 114, 117, 
+     99, 116,  32,  68, 105, 102, 
+    102, 117, 115, 101,  76, 105, 
+    103, 104, 116,  13,  10, 123, 
+     13,  10,  32,  32,  32,  32, 
+    102, 108, 111,  97, 116,  51, 
+     32, 100, 105, 114, 101,  99, 
+    116, 105, 111, 110,  59,  13, 
+     10,  32,  32,  32,  32, 102, 
+    108, 111,  97, 116,  51,  32, 
+     99, 111, 108, 111, 114,  59, 
+     13,  10, 125,  59,  13,  10, 
+     13,  10, 115, 116, 114, 117, 
+     99, 116,  32,  80, 111, 105, 
+    110, 116,  76, 105, 103, 104, 
+    116,  13,  10, 123,  13,  10, 
+     32,  32,  32,  32, 102, 108, 
+    111,  97, 116,  51,  32, 112, 
+    111, 115, 105, 116, 105, 111, 
+    110,  59,  13,  10,  32,  32, 
+     32,  32, 102, 108, 111,  97, 
+    116,  51,  32,  99, 111, 108, 
+    111, 114,  59,  13,  10,  32, 
+     32,  32,  32, 102, 108, 111, 
+     97, 116,  32, 114,  97, 100, 
+    105, 117, 115,  59,  13,  10, 
+    125,  59,  13,  10,  13,  10, 
+     47,  47,  83, 116, 114, 117, 
+     99, 116, 117, 114, 101, 100, 
+     66, 117, 102, 102, 101, 114, 
+     60,  32,  68, 105, 102, 102, 
+    117, 115, 101,  76, 105, 103, 
+    104, 116,  32,  62,  32, 100, 
+    105, 102, 117, 115, 101,  76, 
+    105, 103, 104, 116, 115,  32, 
+     58,  32, 114, 101, 103, 105, 
+    115, 116, 101, 114,  40,  32, 
+    116,  49,  32,  41,  59,  13, 
+     10,  47,  47,  83, 116, 114, 
+    117,  99, 116, 117, 114, 101, 
+    100,  66, 117, 102, 102, 101, 
+    114,  60,  32,  80, 111, 105, 
+    110, 116,  76, 105, 103, 104, 
+    116,  32,  62,  32, 112, 111, 
+    105, 110, 116,  76, 105, 103, 
+    104, 116, 115,  32,  58,  32, 
+    114, 101, 103, 105, 115, 116, 
+    101, 114,  40,  32, 116,  50, 
+     32,  41,  59,  13,  10,  13, 
+     10,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  13,  10,  47, 
+     47,  32,  84,  89,  80,  69, 
+     68,  69,  70,  83,  32,  47, 
+     47,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  13,  10,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  13, 
+     10, 115, 116, 114, 117,  99, 
+    116,  32,  80, 105, 120, 101, 
+    108,  73, 110, 112, 117, 116, 
+     84, 121, 112, 101,  13,  10, 
+    123,  13,  10,  32,  32,  32, 
+     32, 102, 108, 111,  97, 116, 
+     52,  32, 119, 111, 114, 108, 
+    100,  80, 111, 115,  32,  58, 
+     32,  80,  79,  83,  73,  84, 
+     73,  79,  78,  59,  13,  10, 
+     32,  32,  32,  32, 102, 108, 
+    111,  97, 116,  52,  32, 112, 
+    111, 115, 105, 116, 105, 111, 
+    110,  32,  58,  32,  83,  86, 
+     95,  80,  79,  83,  73,  84, 
+     73,  79,  78,  59,  13,  10, 
+     32,  32,  32,  32, 102, 108, 
+    111,  97, 116,  50,  32, 116, 
+    101, 120,  32,  58,  32,  84, 
+     69,  88,  67,  79,  79,  82, 
+     68,  48,  59,  13,  10,  32, 
+     32,  32,  32, 102, 108, 111, 
+     97, 116,  51,  32, 110, 111, 
+    114, 109,  97, 108,  32,  58, 
+     32,  84,  69,  88,  67,  79, 
+     79,  82,  68,  49,  59,  13, 
+     10, 125,  59,  13,  10,  13, 
+     10,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  13,  10,  47, 
+     47,  32,  80, 105, 120, 101, 
+    108,  32,  83, 104,  97, 100, 
+    101, 114,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  13,  10,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  13, 
+     10, 102, 108, 111,  97, 116, 
+     52,  32, 109,  97, 105, 110, 
+     40,  32,  80, 105, 120, 101, 
+    108,  73, 110, 112, 117, 116, 
+     84, 121, 112, 101,  32, 105, 
+    110, 112, 117, 116,  32,  41, 
+     32,  58,  32,  83,  86,  95, 
+     84,  65,  82,  71,  69,  84, 
+     13,  10, 123,  13,  10,  32, 
+     32,  32,  32, 102, 108, 111, 
+     97, 116,  51,  32, 100, 105, 
+    102, 102, 117, 115, 101,  76, 
+    105, 103, 104, 116,  32,  61, 
+     32, 102, 108, 111,  97, 116, 
+     51,  40,  32,  48,  44,  32, 
+     48,  44,  32,  48,  32,  41, 
+     59,  13,  10,  32,  32,  32, 
+     32, 102, 108, 111,  97, 116, 
+     51,  32, 115, 112, 101,  99, 
+    117, 108,  97, 114,  76, 105, 
+    103, 104, 116,  32,  61,  32, 
+    102, 108, 111,  97, 116,  51, 
+     40,  32,  48,  44,  32,  48, 
+     44,  32,  48,  32,  41,  59, 
+     13,  10,  32,  32,  32,  47, 
+     42,  32, 102, 111, 114,  40, 
+     32, 105, 110, 116,  32, 106, 
+     32,  61,  32,  48,  59,  32, 
+    106,  32,  60,  32,  76, 105, 
+    103, 104, 116,  46, 100, 105, 
+    102, 102, 117, 115, 101,  76, 
+    105, 103, 104, 116,  67, 111, 
+    117, 110, 116,  59,  32, 106, 
+     43,  43,  32,  41,  13,  10, 
+     32,  32,  32,  32, 123,  13, 
+     10,  32,  32,  32,  32,  32, 
+     32,  32,  32, 105, 102,  40, 
+     32, 100, 111, 116,  40,  32, 
+    105, 110, 112, 117, 116,  46, 
+    110, 111, 114, 109,  97, 108, 
+     44,  32,  45, 100, 105, 102, 
+    117, 115, 101,  76, 105, 103, 
+    104, 116, 115,  91,  32, 106, 
+     32,  93,  46, 100, 105, 114, 
+    101,  99, 116, 105, 111, 110, 
+     32,  41,  32,  60,  32,  48, 
+     32,  41,  13,  10,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  99, 111, 
+    110, 116, 105, 110, 117, 101, 
+     59,  13,  10,  32,  32,  32, 
+     32,  32,  32,  32,  32, 100, 
+    105, 102, 102, 117, 115, 101, 
+     76, 105, 103, 104, 116,  32, 
+     43,  61,  32, 100, 105, 102, 
+    117, 115, 101,  76, 105, 103, 
+    104, 116, 115,  91,  32, 106, 
+     32,  93,  46,  99, 111, 108, 
+    111, 114,  32,  42,  32, 100, 
+    111, 116,  40,  32, 105, 110, 
+    112, 117, 116,  46, 110, 111, 
+    114, 109,  97, 108,  44,  32, 
+     45, 100, 105, 102, 117, 115, 
+    101,  76, 105, 103, 104, 116, 
+    115,  91,  32, 106,  32,  93, 
+     46, 100, 105, 114, 101,  99, 
+    116, 105, 111, 110,  32,  41, 
+     59,  13,  10,  32,  32,  32, 
+     32, 125,  13,  10,  32,  32, 
+     32,  32, 102, 111, 114,  40, 
+     32, 105, 110, 116,  32, 105, 
+     32,  61,  32,  48,  59,  32, 
+    105,  32,  60,  32,  76, 105, 
+    103, 104, 116,  46, 112, 111, 
+    105, 110, 116,  76, 105, 103, 
+    104, 116,  67, 111, 117, 110, 
+    116,  59,  32, 105,  43,  43, 
+     32,  41,  13,  10,  32,  32, 
+     32,  32, 123,  13,  10,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32, 102, 108, 111,  97, 116, 
+     51,  32, 108, 105, 103, 104, 
+    116,  68, 105, 114,  32,  61, 
+     32, 112, 111, 105, 110, 116, 
+     76, 105, 103, 104, 116, 115, 
+     91,  32, 105,  32,  93,  46, 
+    112, 111, 115, 105, 116, 105, 
+    111, 110,  32,  45,  32, 105, 
+    110, 112, 117, 116,  46, 119, 
+    111, 114, 108, 100,  80, 111, 
+    115,  46, 120, 121, 122,  59, 
+     13,  10,  32,  32,  32,  32, 
+     32,  32,  32,  32, 102, 108, 
+    111,  97, 116,  32, 102,  97, 
+     99, 116, 111, 114,  32,  61, 
+     32, 112, 111, 105, 110, 116, 
+     76, 105, 103, 104, 116, 115, 
+     91,  32, 105,  32,  93,  46, 
+    114,  97, 100, 105, 117, 115, 
+     32,  47,  32, 108, 101, 110, 
+    103, 116, 104,  40,  32, 108, 
+    105, 103, 104, 116,  68, 105, 
+    114,  32,  41,  59,  13,  10, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32, 102, 108, 111,  97, 
+    116,  32, 102,  32,  61,  32, 
+    100, 111, 116,  40,  32, 105, 
+    110, 112, 117, 116,  46, 110, 
+    111, 114, 109,  97, 108,  44, 
+     32, 110, 111, 114, 109,  97, 
+    108, 105, 122, 101,  40,  32, 
+    108, 105, 103, 104, 116,  68, 
+    105, 114,  32,  41,  32,  41, 
+     59,  13,  10,  32,  32,  32, 
+     32,  32,  32,  32,  32, 105, 
+    102,  40,  32, 102,  32,  62, 
+     32,  48,  32,  41,  13,  10, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32, 123,  13,  10,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32, 100, 
+    105, 102, 102, 117, 115, 101, 
+     76, 105, 103, 104, 116,  32, 
+     43,  61,  32, 112, 111, 105, 
+    110, 116,  76, 105, 103, 104, 
+    116, 115,  91,  32, 105,  32, 
+     93,  46,  99, 111, 108, 111, 
+    114,  32,  42,  32, 102,  32, 
+     42,  32, 102,  97,  99, 116, 
+    111, 114,  59,  13,  10,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32, 102, 
+     32,  61,  32, 100, 111, 116, 
+     40,  32, 110, 111, 114, 109, 
+     97, 108, 105, 122, 101,  40, 
+     32, 114, 101, 102, 108, 101, 
+     99, 116,  40,  32, 110, 111, 
+    114, 109,  97, 108, 105, 122, 
+    101,  40,  32,  45, 108, 105, 
+    103, 104, 116,  68, 105, 114, 
+     32,  41,  44,  32, 105, 110, 
+    112, 117, 116,  46, 110, 111, 
+    114, 109,  97, 108,  32,  41, 
+     32,  41,  44,  32, 110, 111, 
+    114, 109,  97, 108, 105, 122, 
+    101,  40,  32,  75,  97, 109, 
+    101, 114,  97,  46, 107,  80, 
+    111, 115, 105, 116, 105, 111, 
+    110,  46, 120, 121, 122,  32, 
+     45,  32, 105, 110, 112, 117, 
+    116,  46, 119, 111, 114, 108, 
+    100,  80, 111, 115,  46, 120, 
+    121, 122,  32,  41,  32,  41, 
+     59,  13,  10,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32, 105, 102,  40, 
+     32, 102,  32,  62,  32,  48, 
+     32,  41,  13,  10,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32, 115, 112, 101,  99, 
+    117, 108,  97, 114,  76, 105, 
+    103, 104, 116,  32,  43,  61, 
+     32, 112, 111, 105, 110, 116, 
+     76, 105, 103, 104, 116, 115, 
+     91,  32, 105,  32,  93,  46, 
+     99, 111, 108, 111, 114,  32, 
+     42,  32, 102,  32,  42,  32, 
+    102,  97,  99, 116, 111, 114, 
+     59,  13,  10,  32,  32,  32, 
+     32,  32,  32,  32,  32, 125, 
+     13,  10,  32,  32,  32,  32, 
+    125,  42,  47,  13,  10,  32, 
+     32,  32,  32, 102, 108, 111, 
+     97, 116,  52,  32, 109,  97, 
+    116, 101, 114, 105,  97, 108, 
+     67, 111, 108, 111, 114,  32, 
+     61,  32, 115, 104,  97, 100, 
+    101, 114,  84, 101, 120, 116, 
+    117, 114, 101,  46,  83,  97, 
+    109, 112, 108, 101,  40,  32, 
+     83,  97, 109, 112, 108, 101, 
+     84, 121, 112, 101,  44,  32, 
+    105, 110, 112, 117, 116,  46, 
+    116, 101, 120,  32,  41,  59, 
+     13,  10,  32,  32,  32,  32, 
+    102, 108, 111,  97, 116,  52, 
+     32, 116, 101, 120, 116, 117, 
+    114, 101,  67, 111, 108, 111, 
+    114,  32,  61,  32, 115,  97, 
+    116, 117, 114,  97, 116, 101, 
+     40,  32, 109,  97, 116, 101, 
+    114, 105,  97, 108,  67, 111, 
+    108, 111, 114,  32,  42,  32, 
+     79,  98, 106, 101,  99, 116, 
+     46,  97, 109,  98, 105, 101, 
+    110, 116,  70,  97,  99, 116, 
+    111, 114,  32,  43,  32, 102, 
+    108, 111,  97, 116,  52,  40, 
+     32, 100, 105, 102, 102, 117, 
+    115, 101,  76, 105, 103, 104, 
+    116,  46, 120,  44,  32, 100, 
+    105, 102, 102, 117, 115, 101, 
+     76, 105, 103, 104, 116,  46, 
+    121,  44,  32, 100, 105, 102, 
+    102, 117, 115, 101,  76, 105, 
+    103, 104, 116,  46, 122,  44, 
+     32,  48,  32,  41,  32,  42, 
+     32,  79,  98, 106, 101,  99, 
+    116,  46, 100, 105, 102, 102, 
+    117, 115,  70,  97,  99, 116, 
+    111, 114,  32,  43,  32, 102, 
+    108, 111,  97, 116,  52,  40, 
+     32, 115, 112, 101,  99, 117, 
+    108,  97, 114,  76, 105, 103, 
+    104, 116,  46, 120,  44,  32, 
+    115, 112, 101,  99, 117, 108, 
+     97, 114,  76, 105, 103, 104, 
+    116,  46, 121,  44,  32, 115, 
+    112, 101,  99, 117, 108,  97, 
+    114,  76, 105, 103, 104, 116, 
+     46, 122,  44,  32,  48,  32, 
+     41,  32,  42,  32,  79,  98, 
+    106, 101,  99, 116,  46, 115, 
+    112, 101,  99, 117, 108,  97, 
+    114,  70,  97,  99, 116, 111, 
+    114,  32,  41,  59,  13,  10, 
+     32,  32,  32,  32, 116, 101, 
+    120, 116, 117, 114, 101,  67, 
+    111, 108, 111, 114,  46,  97, 
+     32,  61,  32, 109,  97, 116, 
+    101, 114, 105,  97, 108,  67, 
+    111, 108, 111, 114,  46,  97, 
+     59,  13,  10,  32,  32,  32, 
+     32, 114, 101, 116, 117, 114, 
+    110,  32, 116, 101, 120, 116, 
+    117, 114, 101,  67, 111, 108, 
+    111, 114,  59,  13,  10, 125, 
+      0,   7,   0,   0,   0,   0, 
+      0,   0,   0,  93,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0, 186,   0,   0, 
+      0,   1,   0,   0,   0,  94, 
+      0,   0,   0,   4,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  68,  51, 
+     68,  83,  72,  68,  82,   0, 
+     28,   2,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  32,   0, 
+      0,  96,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    255, 255, 255, 255,  26,   9, 
+     47, 241,  32,   0,   0,   0, 
+     20,   2,   0,   0,  21,   0, 
+      0,   0,   1,   0,   0,   0, 
+      1,   0,   0,   0,   1,   0, 
+      0,   0, 101,   0,   0,   0, 
+      1,   0,   0,   0,  61,   0, 
+      0,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   1, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  32,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,  16, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0, 128,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  12,   0, 
+      0,   0,  24,   0,   0,   0, 
+     36,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  18,   0, 
+     37,  17,   0,   0,   0,   0, 
+    128,   0,   0,   0,   1,   0, 
+    109,  97, 105, 110,   0,   0, 
+     38,   0, 100,  17,  10,  16, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      7,   0, 115, 104,  97, 100, 
+    101, 114,  84, 101, 120, 116, 
+    117, 114, 101,   0,  38,   0, 
+    100,  17,  13,  16,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   6,   0, 
+     83,  97, 109, 112, 108, 101, 
+     84, 121, 112, 101,   0,   0, 
+      0,   0,  34,   0, 100,  17, 
+     18,  16,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   8,   0,  79,  98, 
+    106, 101,  99, 116,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     16,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 255, 255, 
+    255, 255,  26,   9,  47, 241, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 255, 255, 255, 255, 
+    119,   9,  49,   1,   1,   0, 
+      0,   0,  13,   0,  10, 140, 
+     14,   0, 180, 156,  15,   0, 
+     11,   0,  76,   0,   0,   0, 
+     32,   0,   0,   0,  44,   0, 
+      0,   0, 104,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  22,   0,   0,   0, 
+     25,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+     28,   2,   0,   0,  32,   0, 
+      0,  96,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   2,   0,   9,   0, 
+    220,   4,   0,   0,   0,   0, 
+      0,   0, 156,   1,   0,   0, 
+      1,   0,   0,   0,  56, 122, 
+      0,   4,   0,   0,   0,   0, 
+      0,   0,   0,   0, 109,  97, 
+    105, 110,   0, 110, 111, 110, 
+    101,   0,   0,   0,  45, 186, 
+     46, 241,   1,   0,   0,   0, 
+      0,   0,   0,   0,  28,   2, 
+      0,   0,  32,   0,   0,  96, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      2,   0,   2,   0,   7,   0, 
+      0,   0,   0,   0,   1,   0, 
+    255, 255, 255, 255,   0,   0, 
+      0,   0,  28,   2,   0,   0, 
+      8,   2,   0,   0,   0,   0, 
+      0,   0, 255, 255, 255, 255, 
+      0,   0,   0,   0, 255, 255, 
+    255, 255,   1,   0,   1,   0, 
+      0,   0,   1,   0,   0,   0, 
+      0,   0,  67,  58,  92,  85, 
+    115, 101, 114, 115,  92, 107, 
+    111, 108, 106,  97,  92,  79, 
+    110, 101,  68, 114, 105, 118, 
+    101,  92,  68, 101, 115, 107, 
+    116, 111, 112,  92,  75, 111, 
+    108, 106,  97,  45,  83, 116, 
+    114, 111, 104, 109,  45,  71, 
+     97, 109, 101, 115,  92,  65, 
+    108, 108, 103, 101, 109, 101, 
+    105, 110,  92,  70, 114,  97, 
+    109, 101, 119, 111, 114, 107, 
+     92,  68,  88,  49,  50,  80, 
+    105, 120, 101, 108,  83, 104, 
+     97, 100, 101, 114,  46, 104, 
+    108, 115, 108,   0, 254, 239, 
+    254, 239,   1,   0,   0,   0, 
+      1,   0,   0,   0,   0,   1, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255,  12,   0, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 148,  46, 
+     49,   1, 245, 212,  86,  92, 
+      1,   0,   0,   0, 215,  73, 
+    210, 232, 170, 197, 237,  66, 
+    134, 238, 130, 179, 180,  81, 
+    240,  71, 137,   0,   0,   0, 
+     47,  76, 105, 110, 107,  73, 
+    110, 102, 111,   0,  47, 110, 
+     97, 109, 101, 115,   0,  47, 
+    115, 114,  99,  47, 104, 101, 
+     97, 100, 101, 114,  98, 108, 
+    111,  99, 107,   0,  47, 115, 
+    114,  99,  47, 102, 105, 108, 
+    101, 115,  47,  99,  58,  92, 
+    117, 115, 101, 114, 115,  92, 
+    107, 111, 108, 106,  97,  92, 
+    111, 110, 101, 100, 114, 105, 
+    118, 101,  92, 100, 101, 115, 
+    107, 116, 111, 112,  92, 107, 
+    111, 108, 106,  97,  45, 115, 
+    116, 114, 111, 104, 109,  45, 
+    103,  97, 109, 101, 115,  92, 
+     97, 108, 108, 103, 101, 109, 
+    101, 105, 110,  92, 102, 114, 
+     97, 109, 101, 119, 111, 114, 
+    107,  92, 100, 120,  49,  50, 
+    112, 105, 120, 101, 108, 115, 
+    104,  97, 100, 101, 114,  46, 
+    104, 108, 115, 108,   0,   4, 
+      0,   0,   0,   6,   0,   0, 
+      0,   1,   0,   0,   0,  58, 
+      0,   0,   0,   0,   0,   0, 
+      0,  17,   0,   0,   0,   7, 
+      0,   0,   0,  10,   0,   0, 
+      0,   6,   0,   0,   0,   0, 
+      0,   0,   0,   5,   0,   0, 
+      0,  34,   0,   0,   0,   8, 
+      0,   0,   0,   0,   0,   0, 
+      0, 220,  81,  51,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     16,   0,   0,   0,  32,   0, 
+      0,   0, 229,   0,   0,   0, 
+      8,   2,   0,   0, 111,   1, 
+      0,   0,  56,   0,   0,   0, 
+      0,   0,   0,   0,  35,  14, 
+      0,   0, 128,   0,   0,   0, 
+     56,  13,   0,   0, 140,   6, 
+      0,   0,  84,   0,   0,   0, 
+      0,   0,   0,   0,  40,   0, 
+      0,   0,  68,   2,   0,   0, 
+     44,   0,   0,   0, 136,   0, 
+      0,   0,   3,   0,   0,   0, 
+     36,   0,   0,   0,  22,   0, 
+      0,   0,  21,   0,   0,   0, 
+     35,   0,   0,   0,  23,   0, 
+      0,   0,  15,   0,   0,   0, 
+      6,   0,   0,   0,  24,   0, 
+      0,   0,  25,   0,   0,   0, 
+     26,   0,   0,   0,  27,   0, 
+      0,   0,  28,   0,   0,   0, 
+     29,   0,   0,   0,  16,   0, 
+      0,   0,   8,   0,   0,   0, 
+      9,   0,   0,   0,  10,   0, 
+      0,   0,  11,   0,   0,   0, 
+     12,   0,   0,   0,  13,   0, 
+      0,   0,  14,   0,   0,   0, 
+     17,   0,   0,   0,  18,   0, 
+      0,   0,  19,   0,   0,   0, 
+     20,   0,   0,   0,   7,   0, 
+      0,   0,  30,   0,   0,   0, 
+     31,   0,   0,   0,  32,   0, 
+      0,   0,  34,   0,   0,   0, 
+     33,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  37,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0
+};

+ 89 - 0
DX12PixelShader.hlsl

@@ -0,0 +1,89 @@
+/////////////                                                                                           
+// GLOBALS //                                                                                           
+/////////////                                                                                           
+Texture2D shaderTexture : register( t0 );
+SamplerState SampleType;
+
+// The position of the kamera
+struct KameraBuffer
+{
+    float4 kPosition;
+};
+
+// these values should sum up to 1
+struct Material
+{
+    float ambientFactor;
+    float diffusFactor;
+    float specularFactor;
+};
+
+struct LightCount
+{
+    int diffuseLightCount;
+    int pointLightCount;
+};
+
+ConstantBuffer<KameraBuffer> Kamera : register( b2 );
+ConstantBuffer<Material> Object : register( b3 );
+ConstantBuffer<LightCount> Light : register( b4 );
+
+// lights
+struct DiffuseLight
+{
+    float3 direction;
+    float3 color;
+};
+
+struct PointLight
+{
+    float3 position;
+    float3 color;
+    float radius;
+};
+
+//StructuredBuffer< DiffuseLight > difuseLights : register( t1 );
+//StructuredBuffer< PointLight > pointLights : register( t2 );
+
+//////////////                                                                                          
+// TYPEDEFS //                                                                                          
+//////////////                                                                                          
+struct PixelInputType
+{
+    float4 worldPos : POSITION;
+    float4 position : SV_POSITION;
+    float2 tex : TEXCOORD0;
+    float3 normal : TEXCOORD1;
+};
+
+////////////////////////////////////////////////////////////////////////////////                        
+// Pixel Shader                                                                                         
+////////////////////////////////////////////////////////////////////////////////                        
+float4 main( PixelInputType input ) : SV_TARGET
+{
+    float3 diffuseLight = float3( 0, 0, 0 );
+    float3 specularLight = float3( 0, 0, 0 );
+   /* for( int j = 0; j < Light.diffuseLightCount; j++ )
+    {
+        if( dot( input.normal, -difuseLights[ j ].direction ) < 0 )
+            continue;
+        diffuseLight += difuseLights[ j ].color * dot( input.normal, -difuseLights[ j ].direction );
+    }
+    for( int i = 0; i < Light.pointLightCount; i++ )
+    {
+        float3 lightDir = pointLights[ i ].position - input.worldPos.xyz;
+        float factor = pointLights[ i ].radius / length( lightDir );
+        float f = dot( input.normal, normalize( lightDir ) );
+        if( f > 0 )
+        {
+            diffuseLight += pointLights[ i ].color * f * factor;
+            f = dot( normalize( reflect( normalize( -lightDir ), input.normal ) ), normalize( Kamera.kPosition.xyz - input.worldPos.xyz ) );
+            if( f > 0 )
+                specularLight += pointLights[ i ].color * f * factor;
+        }
+    }*/
+    float4 materialColor = shaderTexture.Sample( SampleType, input.tex );
+    float4 textureColor = saturate( materialColor * Object.ambientFactor + float4( diffuseLight.x, diffuseLight.y, diffuseLight.z, 0 ) * Object.diffusFactor + float4( specularLight.x, specularLight.y, specularLight.z, 0 ) * Object.specularFactor );
+    textureColor.a = materialColor.a;
+    return textureColor;
+}

+ 3477 - 0
DX12VertexShader.h

@@ -0,0 +1,3477 @@
+#if 0
+//
+// Generated by Microsoft (R) HLSL Shader Compiler 10.1
+//
+//
+// Buffer Definitions: 
+//
+// cbuffer Kamera
+// {
+//
+//   struct KameraBuffer
+//   {
+//       
+//       float4x4 view;                 // Offset:    0
+//       float4x4 projection;           // Offset:   64
+//
+//   } Kamera;                          // Offset:    0 Size:   128
+//
+// }
+//
+// cbuffer Skelett
+// {
+//
+//   struct MatrixBuffer
+//   {
+//       
+//       float4x4 knochenMatrix[128];   // Offset:    0
+//
+//   } Skelett;                         // Offset:    0 Size:  8192
+//
+// }
+//
+//
+// Resource Bindings:
+//
+// Name                                 Type  Format         Dim      ID      HLSL Bind  Count
+// ------------------------------ ---------- ------- ----------- ------- -------------- ------
+// Kamera                            cbuffer      NA          NA     CB0            cb0      1 
+// Skelett                           cbuffer      NA          NA     CB1            cb1      1 
+//
+//
+//
+// Input signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// POSITION                 0   xyzw        0     NONE   float   xyz 
+// TEXCOORD                 0   xy          1     NONE   float   xy  
+// NORMAL                   0   xyz         2     NONE   float   xyz 
+// KNOCHEN_ID               0   x           3     NONE    uint   x   
+//
+//
+// Output signature:
+//
+// Name                 Index   Mask Register SysValue  Format   Used
+// -------------------- ----- ------ -------- -------- ------- ------
+// POSITION                 0   xyzw        0     NONE   float   xyzw
+// SV_POSITION              0   xyzw        1      POS   float   xyzw
+// TEXCOORD                 0   xy          2     NONE   float   xy  
+// TEXCOORD                 1   xyz         3     NONE   float   xyz 
+//
+vs_5_1
+dcl_globalFlags refactoringAllowed | skipOptimization
+dcl_constantbuffer CB0[0:0][8], immediateIndexed, space=0
+dcl_constantbuffer CB1[1:1][512], dynamicIndexed, space=0
+dcl_input v0.xyz
+dcl_input v1.xy
+dcl_input v2.xyz
+dcl_input v3.x
+dcl_output o0.xyzw
+dcl_output_siv o1.xyzw, position
+dcl_output o2.xy
+dcl_output o3.xyz
+dcl_temps 5
+//
+// Initial variable locations:
+//   v0.x <- input.position.x; v0.y <- input.position.y; v0.z <- input.position.z; v0.w <- input.position.w; 
+//   v1.x <- input.tex.x; v1.y <- input.tex.y; 
+//   v2.x <- input.normal.x; v2.y <- input.normal.y; v2.z <- input.normal.z; 
+//   v3.x <- input.knochen; 
+//   o3.x <- <main return value>.normal.x; o3.y <- <main return value>.normal.y; o3.z <- <main return value>.normal.z; 
+//   o2.x <- <main return value>.tex.x; o2.y <- <main return value>.tex.y; 
+//   o1.x <- <main return value>.position.x; o1.y <- <main return value>.position.y; o1.z <- <main return value>.position.z; o1.w <- <main return value>.position.w; 
+//   o0.x <- <main return value>.worldPos.x; o0.y <- <main return value>.worldPos.y; o0.z <- <main return value>.worldPos.z; o0.w <- <main return value>.worldPos.w
+//
+#line 37 "C:\Users\kolja\OneDrive\Desktop\Kolja-Strohm-Games\Allgemein\Framework\DX12VertexShader.hlsl"
+imul null, r0.x, v3.x, l(4)
+dp3 r1.x, v2.xyzx, CB1[1][r0.x + 0].xyzx
+dp3 r1.y, v2.xyzx, CB1[1][r0.x + 1].xyzx
+dp3 r1.z, v2.xyzx, CB1[1][r0.x + 2].xyzx
+dp3 r0.x, r1.xyzx, r1.xyzx
+rsq r0.x, r0.x
+mul r0.xyz, r0.xxxx, r1.xyzx  // r0.x <- output.normal.x; r0.y <- output.normal.y; r0.z <- output.normal.z
+
+#line 40
+mov r1.w, l(1.000000)  // r1.w <- input.position.w
+
+#line 43
+mov r2.xy, v1.xyxx  // r2.x <- output.tex.x; r2.y <- output.tex.y
+
+#line 46
+imul null, r0.w, v3.x, l(4)
+mov r1.xyz, v0.xyzx
+dp4 r3.x, r1.xyzw, CB1[1][r0.w + 0].xyzw  // r3.x <- output.worldPos.x
+dp4 r3.y, r1.xyzw, CB1[1][r0.w + 1].xyzw  // r3.y <- output.worldPos.y
+dp4 r3.z, r1.xyzw, CB1[1][r0.w + 2].xyzw  // r3.z <- output.worldPos.z
+dp4 r3.w, r1.xyzw, CB1[1][r0.w + 3].xyzw  // r3.w <- output.worldPos.w
+
+#line 47
+dp4 r1.x, r3.xyzw, CB0[0][0].xyzw  // r1.x <- output.position.x
+dp4 r1.y, r3.xyzw, CB0[0][1].xyzw  // r1.y <- output.position.y
+dp4 r1.z, r3.xyzw, CB0[0][2].xyzw  // r1.z <- output.position.z
+dp4 r1.w, r3.xyzw, CB0[0][3].xyzw  // r1.w <- output.position.w
+
+#line 48
+dp4 r4.x, r1.xyzw, CB0[0][4].xyzw  // r4.x <- output.position.x
+dp4 r4.y, r1.xyzw, CB0[0][5].xyzw  // r4.y <- output.position.y
+dp4 r4.z, r1.xyzw, CB0[0][6].xyzw  // r4.z <- output.position.z
+dp4 r4.w, r1.xyzw, CB0[0][7].xyzw  // r4.w <- output.position.w
+
+#line 50
+mov o0.xyzw, r3.xyzw
+mov o1.xyzw, r4.xyzw
+mov o3.xyz, r0.xyzx
+mov o2.xy, r2.xyxx
+ret 
+// Approximately 28 instruction slots used
+#endif
+
+const BYTE DX12VertexShaderBytes[] =
+{
+     68,  88,  66,  67,  79, 229, 
+    181, 227, 177, 213,  64, 111, 
+    196,  39,  29,  49,  65, 132, 
+     49, 234,   1,   0,   0,   0, 
+    100,  78,   0,   0,   6,   0, 
+      0,   0,  56,   0,   0,   0, 
+    124,   2,   0,   0,  16,   3, 
+      0,   0, 160,   3,   0,   0, 
+    192,   7,   0,   0,  92,   8, 
+      0,   0,  82,  68,  69,  70, 
+     60,   2,   0,   0,   2,   0, 
+      0,   0, 156,   0,   0,   0, 
+      2,   0,   0,   0,  60,   0, 
+      0,   0,   1,   5, 254, 255, 
+      5,   5,   0,   0,  20,   2, 
+      0,   0,  19,  19,  68,  37, 
+     60,   0,   0,   0,  24,   0, 
+      0,   0,  40,   0,   0,   0, 
+     40,   0,   0,   0,  36,   0, 
+      0,   0,  12,   0,   0,   0, 
+      0,   0,   0,   0, 140,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 147,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+     75,  97, 109, 101, 114,  97, 
+      0,  83, 107, 101, 108, 101, 
+    116, 116,   0, 171, 140,   0, 
+      0,   0,   1,   0,   0,   0, 
+    204,   0,   0,   0, 128,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 147,   0, 
+      0,   0,   1,   0,   0,   0, 
+    124,   1,   0,   0,   0,  32, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 140,   0, 
+      0,   0,   0,   0,   0,   0, 
+    128,   0,   0,   0,   2,   0, 
+      0,   0,  88,   1,   0,   0, 
+      0,   0,   0,   0, 255, 255, 
+    255, 255,   0,   0,   0,   0, 
+    255, 255, 255, 255,   0,   0, 
+      0,   0,  75,  97, 109, 101, 
+    114,  97,  66, 117, 102, 102, 
+    101, 114,   0, 118, 105, 101, 
+    119,   0, 102, 108, 111,  97, 
+    116,  52, 120,  52,   0, 171, 
+      3,   0,   3,   0,   4,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   6,   1,   0,   0, 
+    112, 114, 111, 106, 101,  99, 
+    116, 105, 111, 110,   0, 171, 
+      1,   1,   0,   0,  16,   1, 
+      0,   0,   0,   0,   0,   0, 
+     52,   1,   0,   0,  16,   1, 
+      0,   0,  64,   0,   0,   0, 
+      5,   0,   0,   0,   1,   0, 
+     32,   0,   0,   0,   2,   0, 
+     64,   1,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 244,   0,   0,   0, 
+    147,   0,   0,   0,   0,   0, 
+      0,   0,   0,  32,   0,   0, 
+      2,   0,   0,   0, 240,   1, 
+      0,   0,   0,   0,   0,   0, 
+    255, 255, 255, 255,   0,   0, 
+      0,   0, 255, 255, 255, 255, 
+      0,   0,   0,   0,  77,  97, 
+    116, 114, 105, 120,  66, 117, 
+    102, 102, 101, 114,   0, 107, 
+    110, 111,  99, 104, 101, 110, 
+     77,  97, 116, 114, 105, 120, 
+      0, 171,   3,   0,   3,   0, 
+      4,   0,   4,   0, 128,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   6,   1, 
+      0,   0, 177,   1,   0,   0, 
+    192,   1,   0,   0,   0,   0, 
+      0,   0,   5,   0,   0,   0, 
+      1,   0,   0,   8,   0,   0, 
+      1,   0, 228,   1,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 164,   1, 
+      0,   0,  77, 105,  99, 114, 
+    111, 115, 111, 102, 116,  32, 
+     40,  82,  41,  32,  72,  76, 
+     83,  76,  32,  83, 104,  97, 
+    100, 101, 114,  32,  67, 111, 
+    109, 112, 105, 108, 101, 114, 
+     32,  49,  48,  46,  49,   0, 
+     73,  83,  71,  78, 140,   0, 
+      0,   0,   4,   0,   0,   0, 
+      8,   0,   0,   0, 104,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   0,   0,   0,   0, 
+     15,   7,   0,   0, 113,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   1,   0,   0,   0, 
+      3,   3,   0,   0, 122,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   2,   0,   0,   0, 
+      7,   7,   0,   0, 129,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,   3,   0,   0,   0, 
+      1,   1,   0,   0,  80,  79, 
+     83,  73,  84,  73,  79,  78, 
+      0,  84,  69,  88,  67,  79, 
+     79,  82,  68,   0,  78,  79, 
+     82,  77,  65,  76,   0,  75, 
+     78,  79,  67,  72,  69,  78, 
+     95,  73,  68,   0,  79,  83, 
+     71,  78, 136,   0,   0,   0, 
+      4,   0,   0,   0,   8,   0, 
+      0,   0, 104,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+      0,   0,   0,   0,  15,   0, 
+      0,   0, 113,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,   3,   0,   0,   0, 
+      1,   0,   0,   0,  15,   0, 
+      0,   0, 125,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+      2,   0,   0,   0,   3,  12, 
+      0,   0, 125,   0,   0,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+      3,   0,   0,   0,   7,   8, 
+      0,   0,  80,  79,  83,  73, 
+     84,  73,  79,  78,   0,  83, 
+     86,  95,  80,  79,  83,  73, 
+     84,  73,  79,  78,   0,  84, 
+     69,  88,  67,  79,  79,  82, 
+     68,   0, 171, 171,  83,  72, 
+     69,  88,  24,   4,   0,   0, 
+     81,   0,   1,   0,   6,   1, 
+      0,   0, 106, 136,   0,   1, 
+     89,   0,   0,   7,  70, 142, 
+     48,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   8,   0,   0,   0, 
+      0,   0,   0,   0,  89,   8, 
+      0,   7,  70, 142,  48,   0, 
+      1,   0,   0,   0,   1,   0, 
+      0,   0,   1,   0,   0,   0, 
+      0,   2,   0,   0,   0,   0, 
+      0,   0,  95,   0,   0,   3, 
+    114,  16,  16,   0,   0,   0, 
+      0,   0,  95,   0,   0,   3, 
+     50,  16,  16,   0,   1,   0, 
+      0,   0,  95,   0,   0,   3, 
+    114,  16,  16,   0,   2,   0, 
+      0,   0,  95,   0,   0,   3, 
+     18,  16,  16,   0,   3,   0, 
+      0,   0, 101,   0,   0,   3, 
+    242,  32,  16,   0,   0,   0, 
+      0,   0, 103,   0,   0,   4, 
+    242,  32,  16,   0,   1,   0, 
+      0,   0,   1,   0,   0,   0, 
+    101,   0,   0,   3,  50,  32, 
+     16,   0,   2,   0,   0,   0, 
+    101,   0,   0,   3, 114,  32, 
+     16,   0,   3,   0,   0,   0, 
+    104,   0,   0,   2,   5,   0, 
+      0,   0,  38,   0,   0,   8, 
+      0, 208,   0,   0,  18,   0, 
+     16,   0,   0,   0,   0,   0, 
+     10,  16,  16,   0,   3,   0, 
+      0,   0,   1,  64,   0,   0, 
+      4,   0,   0,   0,  16,   0, 
+      0,  10,  18,   0,  16,   0, 
+      1,   0,   0,   0,  70,  18, 
+     16,   0,   2,   0,   0,   0, 
+     70, 130,  48,  32,   1,   0, 
+      0,   0,   1,   0,   0,   0, 
+     10,   0,  16,   0,   0,   0, 
+      0,   0,  16,   0,   0,  11, 
+     34,   0,  16,   0,   1,   0, 
+      0,   0,  70,  18,  16,   0, 
+      2,   0,   0,   0,  70, 130, 
+     48,  48,   1,   0,   0,   0, 
+      1,   0,   0,   0,   1,   0, 
+      0,   0,  10,   0,  16,   0, 
+      0,   0,   0,   0,  16,   0, 
+      0,  11,  66,   0,  16,   0, 
+      1,   0,   0,   0,  70,  18, 
+     16,   0,   2,   0,   0,   0, 
+     70, 130,  48,  48,   1,   0, 
+      0,   0,   1,   0,   0,   0, 
+      2,   0,   0,   0,  10,   0, 
+     16,   0,   0,   0,   0,   0, 
+     16,   0,   0,   7,  18,   0, 
+     16,   0,   0,   0,   0,   0, 
+     70,   2,  16,   0,   1,   0, 
+      0,   0,  70,   2,  16,   0, 
+      1,   0,   0,   0,  68,   0, 
+      0,   5,  18,   0,  16,   0, 
+      0,   0,   0,   0,  10,   0, 
+     16,   0,   0,   0,   0,   0, 
+     56,   0,   0,   7, 114,   0, 
+     16,   0,   0,   0,   0,   0, 
+      6,   0,  16,   0,   0,   0, 
+      0,   0,  70,   2,  16,   0, 
+      1,   0,   0,   0,  54,   0, 
+      0,   5, 130,   0,  16,   0, 
+      1,   0,   0,   0,   1,  64, 
+      0,   0,   0,   0, 128,  63, 
+     54,   0,   0,   5,  50,   0, 
+     16,   0,   2,   0,   0,   0, 
+     70,  16,  16,   0,   1,   0, 
+      0,   0,  38,   0,   0,   8, 
+      0, 208,   0,   0, 130,   0, 
+     16,   0,   0,   0,   0,   0, 
+     10,  16,  16,   0,   3,   0, 
+      0,   0,   1,  64,   0,   0, 
+      4,   0,   0,   0,  54,   0, 
+      0,   5, 114,   0,  16,   0, 
+      1,   0,   0,   0,  70,  18, 
+     16,   0,   0,   0,   0,   0, 
+     17,   0,   0,  10,  18,   0, 
+     16,   0,   3,   0,   0,   0, 
+     70,  14,  16,   0,   1,   0, 
+      0,   0,  70, 142,  48,  32, 
+      1,   0,   0,   0,   1,   0, 
+      0,   0,  58,   0,  16,   0, 
+      0,   0,   0,   0,  17,   0, 
+      0,  11,  34,   0,  16,   0, 
+      3,   0,   0,   0,  70,  14, 
+     16,   0,   1,   0,   0,   0, 
+     70, 142,  48,  48,   1,   0, 
+      0,   0,   1,   0,   0,   0, 
+      1,   0,   0,   0,  58,   0, 
+     16,   0,   0,   0,   0,   0, 
+     17,   0,   0,  11,  66,   0, 
+     16,   0,   3,   0,   0,   0, 
+     70,  14,  16,   0,   1,   0, 
+      0,   0,  70, 142,  48,  48, 
+      1,   0,   0,   0,   1,   0, 
+      0,   0,   2,   0,   0,   0, 
+     58,   0,  16,   0,   0,   0, 
+      0,   0,  17,   0,   0,  11, 
+    130,   0,  16,   0,   3,   0, 
+      0,   0,  70,  14,  16,   0, 
+      1,   0,   0,   0,  70, 142, 
+     48,  48,   1,   0,   0,   0, 
+      1,   0,   0,   0,   3,   0, 
+      0,   0,  58,   0,  16,   0, 
+      0,   0,   0,   0,  17,   0, 
+      0,   9,  18,   0,  16,   0, 
+      1,   0,   0,   0,  70,  14, 
+     16,   0,   3,   0,   0,   0, 
+     70, 142,  48,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  17,   0, 
+      0,   9,  34,   0,  16,   0, 
+      1,   0,   0,   0,  70,  14, 
+     16,   0,   3,   0,   0,   0, 
+     70, 142,  48,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,  17,   0, 
+      0,   9,  66,   0,  16,   0, 
+      1,   0,   0,   0,  70,  14, 
+     16,   0,   3,   0,   0,   0, 
+     70, 142,  48,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      2,   0,   0,   0,  17,   0, 
+      0,   9, 130,   0,  16,   0, 
+      1,   0,   0,   0,  70,  14, 
+     16,   0,   3,   0,   0,   0, 
+     70, 142,  48,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,  17,   0, 
+      0,   9,  18,   0,  16,   0, 
+      4,   0,   0,   0,  70,  14, 
+     16,   0,   1,   0,   0,   0, 
+     70, 142,  48,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      4,   0,   0,   0,  17,   0, 
+      0,   9,  34,   0,  16,   0, 
+      4,   0,   0,   0,  70,  14, 
+     16,   0,   1,   0,   0,   0, 
+     70, 142,  48,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      5,   0,   0,   0,  17,   0, 
+      0,   9,  66,   0,  16,   0, 
+      4,   0,   0,   0,  70,  14, 
+     16,   0,   1,   0,   0,   0, 
+     70, 142,  48,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      6,   0,   0,   0,  17,   0, 
+      0,   9, 130,   0,  16,   0, 
+      4,   0,   0,   0,  70,  14, 
+     16,   0,   1,   0,   0,   0, 
+     70, 142,  48,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      7,   0,   0,   0,  54,   0, 
+      0,   5, 242,  32,  16,   0, 
+      0,   0,   0,   0,  70,  14, 
+     16,   0,   3,   0,   0,   0, 
+     54,   0,   0,   5, 242,  32, 
+     16,   0,   1,   0,   0,   0, 
+     70,  14,  16,   0,   4,   0, 
+      0,   0,  54,   0,   0,   5, 
+    114,  32,  16,   0,   3,   0, 
+      0,   0,  70,   2,  16,   0, 
+      0,   0,   0,   0,  54,   0, 
+      0,   5,  50,  32,  16,   0, 
+      2,   0,   0,   0,  70,   0, 
+     16,   0,   2,   0,   0,   0, 
+     62,   0,   0,   1,  83,  84, 
+     65,  84, 148,   0,   0,   0, 
+     28,   0,   0,   0,   5,   0, 
+      0,   0,   0,   0,   0,   0, 
+      8,   0,   0,   0,  18,   0, 
+      0,   0,   2,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   7,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  83,  80, 
+     68,  66,   0,  70,   0,   0, 
+     77, 105,  99, 114, 111, 115, 
+    111, 102, 116,  32,  67,  47, 
+     67,  43,  43,  32,  77,  83, 
+     70,  32,  55,  46,  48,  48, 
+     13,  10,  26,  68,  83,   0, 
+      0,   0,   0,   2,   0,   0, 
+      2,   0,   0,   0,  35,   0, 
+      0,   0, 168,   0,   0,   0, 
+      0,   0,   0,   0,  31,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 192, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255,  56,   0, 
+      0,   0, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+      5,   0,   0,   0,  32,   0, 
+      0,   0,  60,   0,   0,   0, 
+      0,   0,   0,   0, 255, 255, 
+    255, 255,   0,   0,   0,   0, 
+      6,   0,   0,   0,   5,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 148,  46, 
+     49,   1, 222, 211,  86,  92, 
+      1,   0,   0,   0,  98, 149, 
+    195, 136, 142, 181, 237,  73, 
+    156, 159, 184, 121,  34,   7, 
+     43, 177,   0,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    220,  81,  51,   1,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     32,  58,  32, 114, 101, 103, 
+    105, 115, 116, 101, 114,  40, 
+     32,  98,  49,  32,  41,  59, 
+     13,  10,  13,  10, 115, 116, 
+    114, 117,  99, 116,  32,  86, 
+    101, 114, 116, 101, 120,  73, 
+    110, 112, 117, 116,  84, 121, 
+    112, 101,  13,  10, 123,  13, 
+     10,  32,  32,  32,  32, 102, 
+    108, 111,  97, 116,  52,  32, 
+    112, 111, 115, 105, 116, 105, 
+    111, 110,  32,  58,  32,  80, 
+     79,  83,  73,  84,  73,  79, 
+     78,  59,  13,  10,  32,  32, 
+     32,  32, 102, 108, 111,  97, 
+    116,  50,  32, 116, 101, 120, 
+     32,  58,  32,  84,  69,  88, 
+     67,  79,  79,  82,  68,  48, 
+     59,  13,  10,  32,  32,  32, 
+     32, 102, 108, 111,  97, 116, 
+     51,  32, 110, 111, 114, 109, 
+     97, 108,  32,  58,  32,  78, 
+     79,  82,  77,  65,  76,  59, 
+     13,  10,  32,  32,  32,  32, 
+    117, 105, 110, 116,  32, 107, 
+    110, 111,  99, 104, 101, 110, 
+     32,  58,  32,  75,  78,  79, 
+     67,  72,  69,  78,  95,  73, 
+     68,  59,  13,  10, 125,  59, 
+     13,  10,  13,  10, 115, 116, 
+    114, 117,  99, 116,  32,  80, 
+    105, 120, 101, 108,  73, 110, 
+    112, 117, 116,  84, 121, 112, 
+    101,  13,  10, 123,  13,  10, 
+     32,  32,  32,  32, 102, 108, 
+    111,  97, 116,  52,  32, 119, 
+    111, 114, 108, 100,  80, 111, 
+    115,  32,  58,  32,  80,  79, 
+     83,  73,  84,  73,  79,  78, 
+     59,  13,  10,  32,  32,  32, 
+     32, 102, 108, 111,  97, 116, 
+     52,  32, 112, 111, 115, 105, 
+    116, 105, 111, 110,  32,  58, 
+     32,  83,  86,  95,  80,  79, 
+     83,  73,  84,  73,  79,  78, 
+     59,  13,  10,  32,  32,  32, 
+     32, 102, 108, 111,  97, 116, 
+     50,  32, 116, 101, 120,  32, 
+     58,  32,  84,  69,  88,  67, 
+     79,  79,  82,  68,  48,  59, 
+     13,  10,  32,  32,  32,  32, 
+    102, 108, 111,  97, 116,  51, 
+     32, 110, 111, 114, 109,  97, 
+    108,  32,  58,  32,  84,  69, 
+     88,  67,  79,  79,  82,  68, 
+     49,  59,  13,  10, 125,  59, 
+     13,  10,  13,  10,  80, 105, 
+    120, 101, 108,  73, 110, 112, 
+    117, 116,  84, 121, 112, 101, 
+     32, 109,  97, 105, 110,  40, 
+     32,  86, 101, 114, 116, 101, 
+    120,  73, 110, 112, 117, 116, 
+     84, 121, 112, 101,  32, 105, 
+    110, 112, 117, 116,  32,  41, 
+     13,  10, 123,  13,  10,  32, 
+     32,  32,  32,  47,  47, 114, 
+    101, 116, 117, 114, 110,  32, 
+    105, 110, 112, 117, 116,  59, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  13,  10,  32, 
+     32,  32,  32,  80, 105, 120, 
+    101, 108,  73, 110, 112, 117, 
+    116,  84, 121, 112, 101,  32, 
+    111, 117, 116, 112, 117, 116, 
+     59,  13,  10,  32,  32,  32, 
+     32, 111, 198,  90,   0,   0, 
+    117, 131,   1,   0,  76, 232, 
+      3,   0, 251, 168,   1,   0, 
+    146, 183,   2,   0,  28,  19, 
+      2,   0, 242,  56,   1,   0, 
+     43, 236,   3,   0, 217,  42, 
+      2,   0,  38, 107,   0,   0, 
+    103, 159,   1,   0, 179, 120, 
+      1,   0, 238,  97,   2,   0, 
+     90,  28,   0,   0,  20, 189, 
+      2,   0,  53, 174,   3,   0, 
+    206,  21,   0,   0, 193, 205, 
+      3,   0, 207, 193,   1,   0, 
+     62,   3,   3,   0, 134, 200, 
+      2,   0, 118, 199,   0,   0, 
+      0,  16,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  47,  47, 
+     32,  77,  97, 116, 114, 105, 
+    122, 101, 110,  32, 102, 252, 
+    114,  32, 100, 105, 101,  32, 
+    101, 105, 110, 122, 101, 108, 
+    110, 101, 110,  32,  75, 110, 
+    111,  99, 104, 101, 110,  32, 
+    100, 101, 115,  32,  77, 111, 
+    100, 101, 108, 108, 115,  13, 
+     10, 115, 116, 114, 117,  99, 
+    116,  32,  77,  97, 116, 114, 
+    105, 120,  66, 117, 102, 102, 
+    101, 114,  13,  10, 123,  13, 
+     10,  32,  32,  32,  32, 109, 
+     97, 116, 114, 105, 120,  32, 
+    107, 110, 111,  99, 104, 101, 
+    110,  77,  97, 116, 114, 105, 
+    120,  91,  32,  49,  50,  56, 
+     32,  93,  59,  13,  10, 125, 
+     59,  13,  10,  13,  10,  47, 
+     47,  32,  84, 104, 101,  32, 
+    112, 114, 111, 106, 101,  99, 
+    116, 105, 111, 110,  32,  97, 
+    110, 100,  32, 118, 105, 101, 
+    119,  32, 109,  97, 116, 114, 
+    105, 120,  13,  10, 115, 116, 
+    114, 117,  99, 116,  32,  75, 
+     97, 109, 101, 114,  97,  66, 
+    117, 102, 102, 101, 114,  13, 
+     10, 123,  13,  10,  32,  32, 
+     32,  32, 109,  97, 116, 114, 
+    105, 120,  32, 118, 105, 101, 
+    119,  59,  13,  10,  32,  32, 
+     32,  32, 109,  97, 116, 114, 
+    105, 120,  32, 112, 114, 111, 
+    106, 101,  99, 116, 105, 111, 
+    110,  59,  13,  10, 125,  59, 
+     13,  10,  13,  10,  67, 111, 
+    110, 115, 116,  97, 110, 116, 
+     66, 117, 102, 102, 101, 114, 
+     60,  75,  97, 109, 101, 114, 
+     97,  66, 117, 102, 102, 101, 
+    114,  62,  32,  75,  97, 109, 
+    101, 114,  97,  32,  58,  32, 
+    114, 101, 103, 105, 115, 116, 
+    101, 114,  40,  32,  98,  48, 
+     32,  41,  59,  13,  10,  67, 
+    111, 110, 115, 116,  97, 110, 
+    116,  66, 117, 102, 102, 101, 
+    114,  60,  77,  97, 116, 114, 
+    105, 120,  66, 117, 102, 102, 
+    101, 114,  62,  32,  83, 107, 
+    101, 108, 101, 116, 116,  32, 
+     58,  32, 114, 101, 103, 105, 
+    115, 116, 101, 114,  40,  32, 
+     98,  49,  32,  41,  59,  13, 
+     10,  13,  10, 115, 116, 114, 
+    117,  99, 116,  32,  86, 101, 
+    114, 116, 101, 120,  73, 110, 
+    112, 117, 116,  84, 121, 112, 
+    101,  13,  10, 123,  13,  10, 
+     32,  32,  32,  32, 102, 108, 
+    111,  97, 116,  52,  32, 112, 
+    111, 115, 105, 116, 105, 111, 
+    110,  32,  58,  32,  80,  79, 
+     83,  73,  84,  73,  79,  78, 
+     59,  13,  10,  32,  32,  32, 
+     32, 102, 108, 111,  97, 116, 
+     50,  32, 116, 101, 120,  32, 
+     58,  32,  84,  69,  88,  67, 
+     79,  79,  82,  68,  48,  59, 
+     13,  10,  32,  32,  32,  32, 
+    102, 108, 111,  97, 116,  51, 
+     32, 110, 111, 114, 109,  97, 
+    108,  32,  58,  32,  78,  79, 
+     82,  77,  65,  76,  59,  13, 
+     10,  32,  32,  32,  32, 117, 
+    105, 110, 116,  32, 107, 110, 
+    111,  99, 104, 101, 110,  32, 
+     58,  32,  75,  78,  79,  67, 
+     72,  69,  78,  95,  73,  68, 
+     59,  13,  10, 125,  59,  13, 
+     10,  13,  10, 115, 116, 114, 
+    117,  99, 116,  32,  80, 105, 
+    120, 101, 108,  73, 110, 112, 
+    117, 116,  84, 121, 112, 101, 
+     13,  10, 123,  13,  10,  32, 
+     32,  32,  32, 102, 108, 111, 
+     97, 116,  52,  32, 119, 111, 
+    114, 108, 100,  80, 111, 115, 
+     32,  58,  32,  80,  79,  83, 
+     73,  84,  73,  79,  78,  59, 
+     13,  10,  32,  32,  32,  32, 
+    102, 108, 111,  97, 116,  52, 
+     32, 112, 111, 115, 105, 116, 
+    105, 111, 110,  32,  58,  32, 
+     83,  86,  95,  80,  79,  83, 
+     73,  84,  73,  79,  78,  59, 
+     13,  10,  32,  32,  32,  32, 
+    102, 108, 111,  97, 116,  50, 
+     32, 116, 101, 120,  32,  58, 
+     32,  84,  69,  88,  67,  79, 
+     79,  82,  68,  48,  59,  13, 
+     10,  32,  32,  32,  32, 102, 
+    108, 111,  97, 116,  51,  32, 
+    110, 111, 114, 109,  97, 108, 
+     32,  58,  32,  84,  69,  88, 
+     67,  79,  79,  82,  68,  49, 
+     59,  13,  10, 125,  59,  13, 
+     10,  13,  10,  80, 105, 120, 
+    101, 108,  73, 110, 112, 117, 
+    116,  84, 121, 112, 101,  32, 
+    109,  97, 105, 110,  40,  32, 
+     86, 101, 114, 116, 101, 120, 
+     73, 110, 112, 117, 116,  84, 
+    121, 112, 101,  32, 105, 110, 
+    112, 117, 116,  32,  41,  13, 
+     10, 123,  13,  10,  32,  32, 
+     32,  32,  47,  47, 114, 101, 
+    116, 117, 114, 110,  32, 105, 
+    110, 112, 117, 116,  59,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  13,  10,  32,  32, 
+     32,  32,  80, 105, 120, 101, 
+    108,  73, 110, 112, 117, 116, 
+     84, 121, 112, 101,  32, 111, 
+    117, 116, 112, 117, 116,  59, 
+     13,  10,  32,  32,  32,  32, 
+    111, 117, 116, 112, 117, 116, 
+     46, 110, 111, 114, 109,  97, 
+    108,  32,  61,  32, 110, 111, 
+    114, 109,  97, 108, 105, 122, 
+    101,  40,  32, 109, 117, 108, 
+     40,  32, 105, 110, 112, 117, 
+    116,  46, 110, 111, 114, 109, 
+     97, 108,  44,  32,  40,  32, 
+    102, 108, 111,  97, 116,  51, 
+    120,  51,  32,  41,  83, 107, 
+    101, 108, 101, 116, 116,  46, 
+    107, 110, 111,  99, 104, 101, 
+    110,  77,  97, 116, 114, 105, 
+    120,  91,  32, 105, 110, 112, 
+    117, 116,  46, 107, 110, 111, 
+     99, 104, 101, 110,  32,  93, 
+     32,  41,  32,  41,  59,  13, 
+     10,  13,  10,  32,  32,  32, 
+     32,  47,  47,  32,  67, 104, 
+     97, 110, 103, 101,  32, 116, 
+    104, 101,  32, 112, 111, 115, 
+    105, 116, 105, 111, 110,  32, 
+    118, 101,  99, 116, 111, 114, 
+     32, 116, 111,  32,  98, 101, 
+     32,  52,  32, 117, 110, 105, 
+    116, 115,  32, 102, 111, 114, 
+     32, 112, 114, 111, 112, 101, 
+    114,  32, 109,  97, 116, 114, 
+    105, 120,  32,  99,  97, 108, 
+     99, 117, 108,  97, 116, 105, 
+    111, 110, 115,  46,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  13,  10,  32,  32,  32, 
+     32, 105, 110, 112, 117, 116, 
+     46, 112, 111, 115, 105, 116, 
+    105, 111, 110,  46, 119,  32, 
+     61,  32,  49,  46,  48, 102, 
+     59,  13,  10,  13,  10,  32, 
+     32,  32,  32,  47,  47,  32, 
+     83, 116, 111, 114, 101,  32, 
+    116, 104, 101,  32, 116, 101, 
+    120, 116, 117, 114, 101,  32, 
+     99, 111, 111, 114, 100, 105, 
+    110,  97, 116, 101, 115,  32, 
+    102, 111, 114,  32, 116, 104, 
+    101,  32, 112, 105, 120, 101, 
+    108,  32, 115, 104,  97, 100, 
+    101, 114,  46,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  13,  10,  32, 
+     32,  32,  32, 111, 117, 116, 
+    112, 117, 116,  46, 116, 101, 
+    120,  32,  61,  32, 105, 110, 
+    112, 117, 116,  46, 116, 101, 
+    120,  59,  13,  10,  13,  10, 
+     32,  32,  32,  32,  47,  47, 
+     32,  67,  97, 108,  99, 117, 
+    108,  97, 116, 101,  32, 116, 
+    104, 101,  32, 112, 111, 115, 
+    105, 116, 105, 111, 110,  32, 
+    111, 102,  32, 116, 104, 101, 
+     32, 118, 101, 114, 116, 101, 
+    120,  32,  97, 103,  97, 105, 
+    110, 115, 116,  32, 116, 104, 
+    101,  32, 119, 111, 114, 108, 
+    100,  44,  32, 118, 105, 101, 
+    119,  44,  32,  97, 110, 100, 
+     32, 112, 114, 111, 106, 101, 
+     99, 116, 105, 111, 110,  32, 
+    109,  97, 116, 114, 105,  99, 
+    101, 115,  46,  32,  13,  10, 
+     32,  32,  32,  32, 111, 117, 
+    116, 112, 117, 116,  46, 119, 
+    111, 114, 108, 100,  80, 111, 
+    115,  32,  61,  32, 109, 117, 
+    108,  40,  32, 105, 110, 112, 
+    117, 116,  46, 112, 111, 115, 
+    105, 116, 105, 111, 110,  44, 
+     32,  83, 107, 101, 108, 101, 
+    116, 116,  46, 107, 110, 111, 
+     99, 104, 101, 110,  77,  97, 
+    116, 114, 105, 120,  91,  32, 
+    105, 110, 112, 117, 116,  46, 
+    107, 110, 111,  99, 104, 101, 
+    110,  32,  93,  32,  41,  59, 
+     13,  10,  32,  32,  32,  32, 
+    111, 117, 116, 112, 117, 116, 
+     46, 112, 111, 115, 105, 116, 
+    105, 111, 110,  32,  61,  32, 
+    109, 117, 108,  40,  32, 111, 
+    117, 116, 112, 117, 116,  46, 
+    119, 111, 114, 108, 100,  80, 
+    111, 115,  44,  32,  75,  97, 
+    109, 101, 114,  97,  46, 118, 
+    105, 101, 119,  32,  41,  59, 
+     13,  10,  32,  32,  32,  32, 
+    111, 117, 116, 112, 117, 116, 
+     46, 112, 111, 115, 105, 116, 
+    105, 111, 110,  32,  61,  32, 
+    109, 117, 108,  40,  32, 111, 
+    117, 116, 112, 117, 116,  46, 
+    112, 111, 115, 105, 116, 105, 
+    111, 110,  44,  32,  75,  97, 
+    109, 101, 114,  97,  46, 112, 
+    114, 111, 106, 101,  99, 116, 
+    105, 111, 110,  32,  41,  59, 
+     13,  10,  13,  10,  32,  32, 
+     32,  32, 114, 101, 116, 117, 
+    114, 110,  32, 111, 117, 116, 
+    112, 117, 116,  59,  13,  10, 
+    125,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 254, 239, 
+    254, 239,   1,   0,   0,   0, 
+    155,   6,   0,   0,   0,  67, 
+     58,  92,  85, 115, 101, 114, 
+    115,  92, 107, 111, 108, 106, 
+     97,  92,  79, 110, 101,  68, 
+    114, 105, 118, 101,  92,  68, 
+    101, 115, 107, 116, 111, 112, 
+     92,  75, 111, 108, 106,  97, 
+     45,  83, 116, 114, 111, 104, 
+    109,  45,  71,  97, 109, 101, 
+    115,  92,  65, 108, 108, 103, 
+    101, 109, 101, 105, 110,  92, 
+     70, 114,  97, 109, 101, 119, 
+    111, 114, 107,  92,  68,  88, 
+     49,  50,  86, 101, 114, 116, 
+    101, 120,  83, 104,  97, 100, 
+    101, 114,  46, 104, 108, 115, 
+    108,   0,   0,  99,  58,  92, 
+    117, 115, 101, 114, 115,  92, 
+    107, 111, 108, 106,  97,  92, 
+    111, 110, 101, 100, 114, 105, 
+    118, 101,  92, 100, 101, 115, 
+    107, 116, 111, 112,  92, 107, 
+    111, 108, 106,  97,  45, 115, 
+    116, 114, 111, 104, 109,  45, 
+    103,  97, 109, 101, 115,  92, 
+     97, 108, 108, 103, 101, 109, 
+    101, 105, 110,  92, 102, 114, 
+     97, 109, 101, 119, 111, 114, 
+    107,  92, 100, 120,  49,  50, 
+    118, 101, 114, 116, 101, 120, 
+    115, 104,  97, 100, 101, 114, 
+     46, 104, 108, 115, 108,   0, 
+     47,  47,  32,  77,  97, 116, 
+    114, 105, 122, 101, 110,  32, 
+    102, 114,  32, 100, 105, 101, 
+     32, 101, 105, 110, 122, 101, 
+    108, 110, 101, 110,  32,  75, 
+    110, 111,  99, 104, 101, 110, 
+     32, 100, 101, 115,  32,  77, 
+    111, 100, 101, 108, 108, 115, 
+     13,  10, 115, 116, 114, 117, 
+     99, 116,  32,  77,  97, 116, 
+    114, 105, 120,  66, 117, 102, 
+    102, 101, 114,  13,  10, 123, 
+     13,  10,  32,  32,  32,  32, 
+    109,  97, 116, 114, 105, 120, 
+     32, 107, 110, 111,  99, 104, 
+    101, 110,  77,  97, 116, 114, 
+    105, 120,  91,  32,  49,  50, 
+     56,  32,  93,  59,  13,  10, 
+    125,  59,  13,  10,  13,  10, 
+     47,  47,  32,  84, 104, 101, 
+     32, 112, 114, 111, 106, 101, 
+     99, 116, 105, 111, 110,  32, 
+     97, 110, 100,  32, 118, 105, 
+    101, 119,  32, 109,  97, 116, 
+    114, 105, 120,  13,  10, 115, 
+    116, 114, 117,  99, 116,  32, 
+     75,  97, 109, 101, 114,  97, 
+     66, 117, 102, 102, 101, 114, 
+     13,  10, 123,  13,  10,  32, 
+     32,  32,  32, 109,  97, 116, 
+    114, 105, 120,  32, 118, 105, 
+    101, 119,  59,  13,  10,  32, 
+     32,  32,  32, 109,  97, 116, 
+    114, 105, 120,  32, 112, 114, 
+    111, 106, 101,  99, 116, 105, 
+    111, 110,  59,  13,  10, 125, 
+     59,  13,  10,  13,  10,  67, 
+    111, 110, 115, 116,  97, 110, 
+    116,  66, 117, 102, 102, 101, 
+    114,  60,  75,  97, 109, 101, 
+    114,  97,  66, 117, 102, 102, 
+    101, 114,  62,  32,  75,  97, 
+    109, 101, 114,  97,  32,  58, 
+     32, 114, 101, 103, 105, 115, 
+    116, 101, 114,  40,  32,  98, 
+     48,  32,  41,  59,  13,  10, 
+     67, 111, 110, 115, 116,  97, 
+    110, 116,  66, 117, 102, 102, 
+    101, 114,  60,  77,  97, 116, 
+    114, 105, 120,  66, 117, 102, 
+    102, 101, 114,  62,  32,  83, 
+    107, 101, 108, 101, 116, 116, 
+     27, 226,  48,   1, 128,   0, 
+      0,   0,  54,  95,  43, 173, 
+    181, 187, 212,   1,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,   2,   0,   0,   0, 
+      1,   0,   0,   0,   2,   0, 
+      0,   0,   0,   0,   0,   0, 
+     95,   0,   0,   0,  40,   0, 
+      0,   0,  27, 226,  48,   1, 
+     12, 108, 182,  46, 223,   5, 
+      0,   0,   1,   0,   0,   0, 
+     94,   0,   0,   0,  95,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   4,   0,   0,   0, 
+     66,   0,  60,  17,  16,   1, 
+      0,   0,   0,   1,  10,   0, 
+      1,   0,  15,   0, 171,  63, 
+     10,   0,   1,   0,  15,   0, 
+    171,  63,  77, 105,  99, 114, 
+    111, 115, 111, 102, 116,  32, 
+     40,  82,  41,  32,  72,  76, 
+     83,  76,  32,  83, 104,  97, 
+    100, 101, 114,  32,  67, 111, 
+    109, 112, 105, 108, 101, 114, 
+     32,  49,  48,  46,  49,   0, 
+      0,   0,  54,   0,  61,  17, 
+      1, 104, 108, 115, 108,  70, 
+    108,  97, 103, 115,   0,  48, 
+    120,  53,   0, 104, 108, 115, 
+    108,  84,  97, 114, 103, 101, 
+    116,   0, 118, 115,  95,  53, 
+     95,  49,   0, 104, 108, 115, 
+    108,  69, 110, 116, 114, 121, 
+      0, 109,  97, 105, 110,   0, 
+      0,   0,   0,   0,  42,   0, 
+     16,  17,   0,   0,   0,   0, 
+     32,   5,   0,   0,   0,   0, 
+      0,   0, 104,   3,   0,   0, 
+      0,   0,   0,   0, 104,   3, 
+      0,   0,   9,  16,   0,   0, 
+    176,   0,   0,   0,   1,   0, 
+    160, 109,  97, 105, 110,   0, 
+     46,   0,  62,  17,   4,  16, 
+      0,   0,   9,   0, 105, 110, 
+    112, 117, 116,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     22,   0,  80,  17,   1,   0, 
+      5,   0,   0,   0,   4,   0, 
+    176,   0,   0,   0,   1,   0, 
+    104,   3,   0,   0,   0,   0, 
+     22,   0,  80,  17,   1,   0, 
+      5,   0,   4,   0,   4,   0, 
+    176,   0,   0,   0,   1,   0, 
+    104,   3,   4,   0,   0,   0, 
+     22,   0,  80,  17,   1,   0, 
+      5,   0,   8,   0,   4,   0, 
+    176,   0,   0,   0,   1,   0, 
+    104,   3,   8,   0,   0,   0, 
+     22,   0,  80,  17,   1,   0, 
+      5,   0,  12,   0,   4,   0, 
+    176,   0,   0,   0,   1,   0, 
+    104,   3,  12,   0,   0,   0, 
+     22,   0,  80,  17,   1,   0, 
+      5,   0,  16,   0,   4,   0, 
+    176,   0,   0,   0,   1,   0, 
+    104,   3,  16,   0,   0,   0, 
+     22,   0,  80,  17,   1,   0, 
+      5,   0,  20,   0,   4,   0, 
+    176,   0,   0,   0,   1,   0, 
+    104,   3,  20,   0,   0,   0, 
+     22,   0,  80,  17,   1,   0, 
+      5,   0,  24,   0,   4,   0, 
+    176,   0,   0,   0,   1,   0, 
+    104,   3,  32,   0,   0,   0, 
+     22,   0,  80,  17,   1,   0, 
+      5,   0,  28,   0,   4,   0, 
+    176,   0,   0,   0,   1,   0, 
+    104,   3,  36,   0,   0,   0, 
+     22,   0,  80,  17,   1,   0, 
+      5,   0,  32,   0,   4,   0, 
+    176,   0,   0,   0,   1,   0, 
+    104,   3,  40,   0,   0,   0, 
+     22,   0,  80,  17,   1,   0, 
+      5,   0,  36,   0,   4,   0, 
+    176,   0,   0,   0,   1,   0, 
+    104,   3,  48,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  12,   0,   4,   0, 
+    176,   1,   0,   0,   1,   0, 
+    132,   1,  28,   0,   0,   0, 
+     58,   0,  62,  17,   8,  16, 
+      0,   0, 136,   0,  60, 109, 
+     97, 105, 110,  32, 114, 101, 
+    116, 117, 114, 110,  32, 118, 
+     97, 108, 117, 101,  62,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,  40,   0,   4,   0, 
+    176,   0,   0,   0,   1,   0, 
+    104,   3,  48,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,  44,   0,   4,   0, 
+    176,   0,   0,   0,   1,   0, 
+    104,   3,  52,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,  48,   0,   4,   0, 
+    176,   0,   0,   0,   1,   0, 
+    104,   3,  56,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,  32,   0,   4,   0, 
+    176,   0,   0,   0,   1,   0, 
+    104,   3,  32,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,  36,   0,   4,   0, 
+    176,   0,   0,   0,   1,   0, 
+    104,   3,  36,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,  16,   0,   4,   0, 
+    176,   0,   0,   0,   1,   0, 
+    104,   3,  16,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,  20,   0,   4,   0, 
+    176,   0,   0,   0,   1,   0, 
+    104,   3,  20,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,  24,   0,   4,   0, 
+    176,   0,   0,   0,   1,   0, 
+    104,   3,  24,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,  28,   0,   4,   0, 
+    176,   0,   0,   0,   1,   0, 
+    104,   3,  28,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,   0,   0,   4,   0, 
+    176,   0,   0,   0,   1,   0, 
+    104,   3,   0,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,   4,   0,   4,   0, 
+    176,   0,   0,   0,   1,   0, 
+    104,   3,   4,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,   8,   0,   4,   0, 
+    176,   0,   0,   0,   1,   0, 
+    104,   3,   8,   0,   0,   0, 
+     22,   0,  80,  17,   2,   0, 
+      5,   0,  12,   0,   4,   0, 
+    176,   0,   0,   0,   1,   0, 
+    104,   3,  12,   0,   0,   0, 
+     46,   0,  62,  17,   7,  16, 
+      0,   0,   8,   0, 111, 117, 
+    116, 112, 117, 116,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  40,   0,   4,   0, 
+    156,   1,   0,   0,   1,   0, 
+    124,   2,   0,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  44,   0,   4,   0, 
+    156,   1,   0,   0,   1,   0, 
+    124,   2,   4,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  48,   0,   4,   0, 
+    156,   1,   0,   0,   1,   0, 
+    124,   2,   8,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  32,   0,   4,   0, 
+    196,   1,   0,   0,   1,   0, 
+     84,   2,  32,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  36,   0,   4,   0, 
+    196,   1,   0,   0,   1,   0, 
+     84,   2,  36,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,   0,   0,   4,   0, 
+     32,   2,   0,   0,   1,   0, 
+    248,   1,  48,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,   4,   0,   4,   0, 
+     76,   2,   0,   0,   1,   0, 
+    204,   1,  52,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,   8,   0,   4,   0, 
+    120,   2,   0,   0,   1,   0, 
+    160,   1,  56,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  12,   0,   4,   0, 
+    164,   2,   0,   0,   1,   0, 
+    116,   1,  60,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  16,   0,   4,   0, 
+    200,   2,   0,   0,   1,   0, 
+    144,   0,  16,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  20,   0,   4,   0, 
+    236,   2,   0,   0,   1,   0, 
+    144,   0,  20,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  24,   0,   4,   0, 
+     16,   3,   0,   0,   1,   0, 
+    144,   0,  24,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  28,   0,   4,   0, 
+     52,   3,   0,   0,   1,   0, 
+    144,   0,  28,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  16,   0,   4,   0, 
+     88,   3,   0,   0,   1,   0, 
+    192,   0,  64,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  20,   0,   4,   0, 
+    124,   3,   0,   0,   1,   0, 
+    156,   0,  68,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  24,   0,   4,   0, 
+    160,   3,   0,   0,   1,   0, 
+    120,   0,  72,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  28,   0,   4,   0, 
+    196,   3,   0,   0,   1,   0, 
+     84,   0,  76,   0,   0,   0, 
+      2,   0,   6,   0, 244,   0, 
+      0,   0,  24,   0,   0,   0, 
+      1,   0,   0,   0,  16,   1, 
+    126,  37, 101,   4,  78, 246, 
+    180,  66, 137, 155, 214, 115, 
+    121, 220,  67,  56,   0,   0, 
+    242,   0,   0,   0, 184,   2, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   1,   0,  24,   4, 
+      0,   0,   0,   0,   0,   0, 
+     56,   0,   0,   0, 172,   2, 
+      0,   0, 176,   0,   0,   0, 
+     37,   0,   0, 128, 176,   0, 
+      0,   0,  37,   0,   0,   0, 
+    208,   0,   0,   0,  37,   0, 
+      0, 128, 208,   0,   0,   0, 
+     37,   0,   0,   0, 248,   0, 
+      0,   0,  37,   0,   0, 128, 
+    248,   0,   0,   0,  37,   0, 
+      0,   0,  36,   1,   0,   0, 
+     37,   0,   0, 128,  36,   1, 
+      0,   0,  37,   0,   0,   0, 
+     80,   1,   0,   0,  37,   0, 
+      0, 128,  80,   1,   0,   0, 
+     37,   0,   0,   0, 108,   1, 
+      0,   0,  37,   0,   0, 128, 
+    108,   1,   0,   0,  37,   0, 
+      0,   0, 128,   1,   0,   0, 
+     37,   0,   0, 128, 128,   1, 
+      0,   0,  37,   0,   0,   0, 
+    156,   1,   0,   0,  40,   0, 
+      0, 128, 156,   1,   0,   0, 
+     40,   0,   0,   0, 176,   1, 
+      0,   0,  43,   0,   0, 128, 
+    176,   1,   0,   0,  43,   0, 
+      0,   0, 196,   1,   0,   0, 
+     46,   0,   0, 128, 196,   1, 
+      0,   0,  46,   0,   0,   0, 
+    228,   1,   0,   0,  46,   0, 
+      0, 128, 228,   1,   0,   0, 
+     46,   0,   0,   0, 248,   1, 
+      0,   0,  46,   0,   0, 128, 
+    248,   1,   0,   0,  46,   0, 
+      0,   0,  32,   2,   0,   0, 
+     46,   0,   0, 128,  32,   2, 
+      0,   0,  46,   0,   0,   0, 
+     76,   2,   0,   0,  46,   0, 
+      0, 128,  76,   2,   0,   0, 
+     46,   0,   0,   0, 120,   2, 
+      0,   0,  46,   0,   0, 128, 
+    120,   2,   0,   0,  46,   0, 
+      0,   0, 164,   2,   0,   0, 
+     47,   0,   0, 128, 164,   2, 
+      0,   0,  47,   0,   0,   0, 
+    200,   2,   0,   0,  47,   0, 
+      0, 128, 200,   2,   0,   0, 
+     47,   0,   0,   0, 236,   2, 
+      0,   0,  47,   0,   0, 128, 
+    236,   2,   0,   0,  47,   0, 
+      0,   0,  16,   3,   0,   0, 
+     47,   0,   0, 128,  16,   3, 
+      0,   0,  47,   0,   0,   0, 
+     52,   3,   0,   0,  48,   0, 
+      0, 128,  52,   3,   0,   0, 
+     48,   0,   0,   0,  88,   3, 
+      0,   0,  48,   0,   0, 128, 
+     88,   3,   0,   0,  48,   0, 
+      0,   0, 124,   3,   0,   0, 
+     48,   0,   0, 128, 124,   3, 
+      0,   0,  48,   0,   0,   0, 
+    160,   3,   0,   0,  48,   0, 
+      0, 128, 160,   3,   0,   0, 
+     48,   0,   0,   0, 196,   3, 
+      0,   0,  50,   0,   0, 128, 
+    196,   3,   0,   0,  50,   0, 
+      0,   0, 216,   3,   0,   0, 
+     50,   0,   0, 128, 216,   3, 
+      0,   0,  50,   0,   0,   0, 
+    236,   3,   0,   0,  50,   0, 
+      0, 128, 236,   3,   0,   0, 
+     50,   0,   0,   0,   0,   4, 
+      0,   0,  50,   0,   0, 128, 
+      0,   4,   0,   0,  50,   0, 
+      0,   0,  20,   4,   0,   0, 
+     50,   0,   0, 128,  20,   4, 
+      0,   0,  50,   0,   0,   0, 
+      5,   0, 105,   0,  63,   0, 
+    100,   0,   5,   0, 105,   0, 
+     32,   0, 102,   0,   5,   0, 
+    105,   0,  32,   0, 102,   0, 
+      5,   0, 105,   0,  32,   0, 
+    102,   0,   5,   0, 105,   0, 
+     21,   0, 104,   0,   5,   0, 
+    105,   0,  21,   0, 104,   0, 
+      5,   0, 105,   0,  21,   0, 
+    104,   0,   5,   0,  28,   0, 
+      5,   0,  27,   0,   5,   0, 
+     27,   0,   5,   0,  26,   0, 
+      5,   0,  84,   0,  44,   0, 
+     81,   0,   5,   0,  84,   0, 
+     23,   0,  83,   0,   5,   0, 
+     84,   0,  23,   0,  83,   0, 
+      5,   0,  84,   0,  23,   0, 
+     83,   0,   5,   0,  84,   0, 
+     23,   0,  83,   0,   5,   0, 
+     84,   0,  23,   0,  83,   0, 
+      5,   0,  58,   0,  23,   0, 
+     57,   0,   5,   0,  58,   0, 
+     23,   0,  57,   0,   5,   0, 
+     58,   0,  23,   0,  57,   0, 
+      5,   0,  58,   0,  23,   0, 
+     57,   0,   5,   0,  64,   0, 
+     23,   0,  63,   0,   5,   0, 
+     64,   0,  23,   0,  63,   0, 
+      5,   0,  64,   0,  23,   0, 
+     63,   0,   5,   0,  64,   0, 
+     23,   0,  63,   0,   5,   0, 
+     18,   0,   5,   0,  18,   0, 
+      5,   0,  18,   0,   5,   0, 
+     18,   0,   5,   0,  18,   0, 
+      5,   0,  18,   0,   5,   0, 
+     18,   0,   5,   0,  18,   0, 
+      5,   0,  18,   0,   5,   0, 
+     18,   0, 246,   0,   0,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,  12,   0,   0,   0, 
+      0,   0,   0,   0,  20,   0, 
+      0,   0,  56,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     66, 117, 102, 102, 101, 114, 
+      0, 241,  10,   0,  24,  21, 
+     12,  16,   0,   0,   1,   0, 
+      1,   0,  14,   0,  23,  21, 
+     13,  16,   0,   0,  36,   2, 
+     16,  92,   0,   0, 242, 241, 
+     10,   0,  24,  21,  14,  16, 
+      0,   0,   1,   0,   0,   2, 
+     18,   0,  22,  21,  10,  16, 
+      0,   0,  34,   0,   0,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0, 241,  26,   0,   3,  18, 
+     13,  21,   3,   0,  16,  16, 
+      0,   0,   0,   0, 107, 110, 
+    111,  99, 104, 101, 110,  77, 
+     97, 116, 114, 105, 120,   0, 
+     34,   0,   5,  21,   1,   0, 
+      0,   0,  17,  16,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,  32,  77,  97, 
+    116, 114, 105, 120,  66, 117, 
+    102, 102, 101, 114,   0, 241, 
+     10,   0,  24,  21,  18,  16, 
+      0,   0,   1,   0,   1,   0, 
+     14,   0,  23,  21,  19,  16, 
+      0,   0,  36,   2,   0,   0, 
+      0,   0, 242, 241,  10,   0, 
+     24,  21,  20,  16,   0,   0, 
+      1,   0,   0,   2,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  11, 202,  49,   1, 
+     56,   0,   0,   0,   0,  16, 
+      0,   0,  22,  16,   0,   0, 
+    116,   2,   0,   0,  10,   0, 
+    255, 255,   4,   0,   0,   0, 
+    255, 255,   3,   0,   0,   0, 
+      0,   0,  88,   0,   0,   0, 
+     88,   0,   0,   0,   8,   0, 
+      0,   0,  96,   0,   0,   0, 
+      0,   0,   0,   0,  22,   0, 
+     27,  21,  64,   0,   0,   0, 
+      4,   0,   0,   0,  16,   0, 
+    102, 108, 111,  97, 116,  52, 
+      0, 243, 242, 241,  22,   0, 
+     27,  21,  64,   0,   0,   0, 
+      2,   0,   0,   0,   8,   0, 
+    102, 108, 111,  97, 116,  50, 
+      0, 243, 242, 241,  22,   0, 
+     27,  21,  64,   0,   0,   0, 
+      3,   0,   0,   0,  12,   0, 
+    102, 108, 111,  97, 116,  51, 
+      0, 243, 242, 241,  78,   0, 
+      3,  18,  13,  21,   3,   0, 
+      0,  16,   0,   0,   0,   0, 
+    112, 111, 115, 105, 116, 105, 
+    111, 110,   0, 241,  13,  21, 
+      3,   0,   1,  16,   0,   0, 
+     16,   0, 116, 101, 120,   0, 
+    242, 241,  13,  21,   3,   0, 
+      2,  16,   0,   0,  24,   0, 
+    110, 111, 114, 109,  97, 108, 
+      0, 243, 242, 241,  13,  21, 
+      3,   0, 117,   0,   0,   0, 
+     36,   0, 107, 110, 111,  99, 
+    104, 101, 110,   0, 242, 241, 
+     38,   0,   5,  21,   4,   0, 
+      0,   0,   3,  16,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  40,   0,  86, 101, 
+    114, 116, 101, 120,  73, 110, 
+    112, 117, 116,  84, 121, 112, 
+    101,   0, 242, 241,  10,   0, 
+      1,  18,   1,   0,   0,   0, 
+      4,  16,   0,   0,  78,   0, 
+      3,  18,  13,  21,   3,   0, 
+      0,  16,   0,   0,   0,   0, 
+    119, 111, 114, 108, 100,  80, 
+    111, 115,   0, 241,  13,  21, 
+      3,   0,   0,  16,   0,   0, 
+     16,   0, 112, 111, 115, 105, 
+    116, 105, 111, 110,   0, 241, 
+     13,  21,   3,   0,   1,  16, 
+      0,   0,  32,   0, 116, 101, 
+    120,   0, 242, 241,  13,  21, 
+      3,   0,   2,  16,   0,   0, 
+     40,   0, 110, 111, 114, 109, 
+     97, 108,   0, 243, 242, 241, 
+     38,   0,   5,  21,   4,   0, 
+      0,   0,   6,  16,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  52,   0,  80, 105, 
+    120, 101, 108,  73, 110, 112, 
+    117, 116,  84, 121, 112, 101, 
+      0, 243, 242, 241,  10,   0, 
+     24,  21,   7,  16,   0,   0, 
+      1,   0,   1,   0,  14,   0, 
+      8,  16,   8,  16,   0,   0, 
+     23,   0,   1,   0,   5,  16, 
+      0,   0,  30,   0,  28,  21, 
+     64,   0,   0,   0,   4,   0, 
+      0,   0,   4,   0,   0,   0, 
+     16,   0,   0,   0,   0,  64, 
+      0, 102, 108, 111,  97, 116, 
+     52, 120,  52,   0,  42,   0, 
+      3,  18,  13,  21,   3,   0, 
+     10,  16,   0,   0,   0,   0, 
+    118, 105, 101, 119,   0, 241, 
+     13,  21,   3,   0,  10,  16, 
+      0,   0,  64,   0, 112, 114, 
+    111, 106, 101,  99, 116, 105, 
+    111, 110,   0, 243, 242, 241, 
+     34,   0,   5,  21,   2,   0, 
+      0,   0,  11,  16,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 128,   0,  75,  97, 
+    109, 101, 114,  97,  11, 202, 
+     49,   1,  56,   0,   0,   0, 
+      0,  16,   0,   0,   0,  16, 
+      0,   0,   0,   0,   0,   0, 
+     11,   0, 255, 255,   4,   0, 
+      0,   0, 255, 255,   3,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    117, 116, 112, 117, 116,  46, 
+    110, 111, 114, 109,  97, 108, 
+     32,  61,  32, 110, 111, 114, 
+    109,  97, 108, 105, 122, 101, 
+     40,  32, 109, 117, 108,  40, 
+     32, 105, 110, 112, 117, 116, 
+     46, 110, 111, 114, 109,  97, 
+    108,  44,  32,  40,  32, 102, 
+    108, 111,  97, 116,  51, 120, 
+     51,  32,  41,  83, 107, 101, 
+    108, 101, 116, 116,  46, 107, 
+    110, 111,  99, 104, 101, 110, 
+     77,  97, 116, 114, 105, 120, 
+     91,  32, 105, 110, 112, 117, 
+    116,  46, 107, 110, 111,  99, 
+    104, 101, 110,  32,  93,  32, 
+     41,  32,  41,  59,  13,  10, 
+     13,  10,  32,  32,  32,  32, 
+     47,  47,  32,  67, 104,  97, 
+    110, 103, 101,  32, 116, 104, 
+    101,  32, 112, 111, 115, 105, 
+    116, 105, 111, 110,  32, 118, 
+    101,  99, 116, 111, 114,  32, 
+    116, 111,  32,  98, 101,  32, 
+     52,  32, 117, 110, 105, 116, 
+    115,  32, 102, 111, 114,  32, 
+    112, 114, 111, 112, 101, 114, 
+     32, 109,  97, 116, 114, 105, 
+    120,  32,  99,  97, 108,  99, 
+    117, 108,  97, 116, 105, 111, 
+    110, 115,  46,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     13,  10,  32,  32,  32,  32, 
+    105, 110, 112, 117, 116,  46, 
+    112, 111, 115, 105, 116, 105, 
+    111, 110,  46, 119,  32,  61, 
+     32,  49,  46,  48, 102,  59, 
+     13,  10,  13,  10,  32,  32, 
+     32,  32,  47,  47,  32,  83, 
+    116, 111, 114, 101,  32, 116, 
+    104, 101,  32, 116, 101, 120, 
+    116, 117, 114, 101,  32,  99, 
+    111, 111, 114, 100, 105, 110, 
+     97, 116, 101, 115,  32, 102, 
+    111, 114,  32, 116, 104, 101, 
+     32, 112, 105, 120, 101, 108, 
+     32, 115, 104,  97, 100, 101, 
+    114,  46,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  13,  10,  32,  32, 
+     32,  32, 111, 117, 116, 112, 
+    117, 116,  46, 116, 101, 120, 
+     32,  61,  32, 105, 110, 112, 
+    117, 116,  46, 116, 101, 120, 
+     59,  13,  10,  13,  10,  32, 
+     32,  32,  32,  47,  47,  32, 
+     67,  97, 108,  99, 117, 108, 
+     97, 116, 101,  32, 116, 104, 
+    101,  32, 112, 111, 115, 105, 
+    116, 105, 111, 110,  32, 111, 
+    102,  32, 116, 104, 101,  32, 
+    118, 101, 114, 116, 101, 120, 
+     32,  97, 103,  97, 105, 110, 
+    115, 116,  32, 116, 104, 101, 
+     32, 119, 111, 114, 108, 100, 
+     44,  32, 118, 105, 101, 119, 
+     44,  32,  97, 110, 100,  32, 
+    112, 114, 111, 106, 101,  99, 
+    116, 105, 111, 110,  32, 109, 
+     97, 116, 114, 105,  99, 101, 
+    115,  46,  32,  13,  10,  32, 
+     32,  32,  32, 111, 117, 116, 
+    112, 117, 116,  46, 119, 111, 
+    114, 108, 100,  80, 111, 115, 
+     32,  61,  32, 109, 117, 108, 
+     40,  32, 105, 110, 112, 117, 
+    116,  46, 112, 111, 115, 105, 
+    116, 105, 111, 110,  44,  32, 
+     83, 107, 101, 108, 101, 116, 
+    116,  46, 107, 110, 111,  99, 
+    104, 101, 110,  77,  97, 116, 
+    114, 105, 120,  91,  32, 105, 
+    110, 112, 117, 116,  46, 107, 
+    110, 111,  99, 104, 101, 110, 
+     32,  93,  32,  41,  59,  13, 
+     10,  32,  32,  32,  32, 111, 
+    117, 116, 112, 117, 116,  46, 
+    112, 111, 115, 105, 116, 105, 
+    111, 110,  32,  61,  32, 109, 
+    117, 108,  40,  32, 111, 117, 
+    116, 112, 117, 116,  46, 119, 
+    111, 114, 108, 100,  80, 111, 
+    115,  44,  32,  75,  97, 109, 
+    101, 114,  97,  46, 118, 105, 
+    101, 119,  32,  41,  59,  13, 
+     10,  32,  32,  32,  32, 111, 
+    117, 116, 112, 117, 116,  46, 
+    112, 111, 115, 105, 116, 105, 
+    111, 110,  32,  61,  32, 109, 
+    117, 108,  40,  32, 111, 117, 
+    116, 112, 117, 116,  46, 112, 
+    111, 115, 105, 116, 105, 111, 
+    110,  44,  32,  75,  97, 109, 
+    101, 114,  97,  46, 112, 114, 
+    111, 106, 101,  99, 116, 105, 
+    111, 110,  32,  41,  59,  13, 
+     10,  13,  10,  32,  32,  32, 
+     32, 114, 101, 116, 117, 114, 
+    110,  32, 111, 117, 116, 112, 
+    117, 116,  59,  13,  10, 125, 
+      0,   7,   0,   0,   0,   0, 
+      0,   0,   0,  94,   0,   0, 
+      0,   1,   0,   0,   0,  95, 
+      0,   0,   0, 188,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   4,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  68,  51, 
+     68,  83,  72,  68,  82,   0, 
+     24,   4,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  32,   0, 
+      0,  96,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    255, 255, 255, 255,  26,   9, 
+     47, 241,  24,   0,   0,   0, 
+     16,   2,   0,   0,   1,   0, 
+      0,   0,   1,   0,   0,   0, 
+     21,   0,   0,   0,   1,   0, 
+      0,   0,  57,   0,   0,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     32,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,  16,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,  32,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  12,   0,   0,   0, 
+     24,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  18,   0, 
+     37,  17,   0,   0,   0,   0, 
+    128,   0,   0,   0,   1,   0, 
+    109,  97, 105, 110,   0,   0, 
+     34,   0, 100,  17,  15,  16, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      8,   0,  75,  97, 109, 101, 
+    114,  97,   0,   0,   0,   0, 
+     34,   0, 100,  17,  21,  16, 
+      0,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+      8,   0,  83, 107, 101, 108, 
+    101, 116, 116,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     16,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 255, 255, 
+    255, 255,  26,   9,  47, 241, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 255, 255, 255, 255, 
+    119,   9,  49,   1,   1,   0, 
+      0,   0,  13,   0,  10, 140, 
+     14,   0, 180, 156,  15,   0, 
+     11,   0,  76,   0,   0,   0, 
+     32,   0,   0,   0,  44,   0, 
+      0,   0, 108,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  22,   0,   0,   0, 
+     25,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+     24,   4,   0,   0,  32,   0, 
+      0,  96,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   2,   0,   9,   0, 
+     36,   5,   0,   0,   0,   0, 
+      0,   0, 236,   2,   0,   0, 
+      1,   0,   0,   0,  88, 121, 
+     47,   1,   0,   0,   0,   0, 
+      0,   0,   0,   0, 109,  97, 
+    105, 110,   0, 110, 111, 110, 
+    101,   0,   0,   0,  45, 186, 
+     46, 241,   1,   0,   0,   0, 
+      0,   0,   0,   0,  24,   4, 
+      0,   0,  32,   0,   0,  96, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      2,   0,   2,   0,   7,   0, 
+      0,   0,   0,   0,   1,   0, 
+    255, 255, 255, 255,   0,   0, 
+      0,   0,  24,   4,   0,   0, 
+      8,   2,   0,   0,   0,   0, 
+      0,   0, 255, 255, 255, 255, 
+      0,   0,   0,   0, 255, 255, 
+    255, 255,   1,   0,   1,   0, 
+      0,   0,   1,   0,   0,   0, 
+      0,   0,  67,  58,  92,  85, 
+    115, 101, 114, 115,  92, 107, 
+    111, 108, 106,  97,  92,  79, 
+    110, 101,  68, 114, 105, 118, 
+    101,  92,  68, 101, 115, 107, 
+    116, 111, 112,  92,  75, 111, 
+    108, 106,  97,  45,  83, 116, 
+    114, 111, 104, 109,  45,  71, 
+     97, 109, 101, 115,  92,  65, 
+    108, 108, 103, 101, 109, 101, 
+    105, 110,  92,  70, 114,  97, 
+    109, 101, 119, 111, 114, 107, 
+     92,  68,  88,  49,  50,  86, 
+    101, 114, 116, 101, 120,  83, 
+    104,  97, 100, 101, 114,  46, 
+    104, 108, 115, 108,   0,   0, 
+      0,   0, 254, 239, 254, 239, 
+      1,   0,   0,   0,   1,   0, 
+      0,   0,   0,   1,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255,  12,   0, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 148,  46, 
+     49,   1, 222, 211,  86,  92, 
+      1,   0,   0,   0,  98, 149, 
+    195, 136, 142, 181, 237,  73, 
+    156, 159, 184, 121,  34,   7, 
+     43, 177, 138,   0,   0,   0, 
+     47,  76, 105, 110, 107,  73, 
+    110, 102, 111,   0,  47, 110, 
+     97, 109, 101, 115,   0,  47, 
+    115, 114,  99,  47, 104, 101, 
+     97, 100, 101, 114,  98, 108, 
+    111,  99, 107,   0,  47, 115, 
+    114,  99,  47, 102, 105, 108, 
+    101, 115,  47,  99,  58,  92, 
+    117, 115, 101, 114, 115,  92, 
+    107, 111, 108, 106,  97,  92, 
+    111, 110, 101, 100, 114, 105, 
+    118, 101,  92, 100, 101, 115, 
+    107, 116, 111, 112,  92, 107, 
+    111, 108, 106,  97,  45, 115, 
+    116, 114, 111, 104, 109,  45, 
+    103,  97, 109, 101, 115,  92, 
+     97, 108, 108, 103, 101, 109, 
+    101, 105, 110,  92, 102, 114, 
+     97, 109, 101, 119, 111, 114, 
+    107,  92, 100, 120,  49,  50, 
+    118, 101, 114, 116, 101, 120, 
+    115, 104,  97, 100, 101, 114, 
+     46, 104, 108, 115, 108,   0, 
+      4,   0,   0,   0,   6,   0, 
+      0,   0,   1,   0,   0,   0, 
+     58,   0,   0,   0,   0,   0, 
+      0,   0,  17,   0,   0,   0, 
+      7,   0,   0,   0,  10,   0, 
+      0,   0,   6,   0,   0,   0, 
+      0,   0,   0,   0,   5,   0, 
+      0,   0,  34,   0,   0,   0, 
+      8,   0,   0,   0,   0,   0, 
+      0,   0, 220,  81,  51,   1, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     16,   0,   0,   0,  32,   0, 
+      0,   0, 230,   0,   0,   0, 
+    172,   2,   0,   0, 115,   1, 
+      0,   0,  56,   0,   0,   0, 
+      0,   0,   0,   0, 203,   6, 
+      0,   0, 128,   0,   0,   0, 
+    223,   5,   0,   0,  32,   8, 
+      0,   0,  96,   0,   0,   0, 
+      0,   0,   0,   0,  40,   0, 
+      0,   0,  56,   2,   0,   0, 
+     44,   0,   0,   0,  92,   0, 
+      0,   0,   3,   0,   0,   0, 
+     29,   0,   0,   0,  19,   0, 
+      0,   0,  18,   0,   0,   0, 
+     28,   0,   0,   0,  20,   0, 
+      0,   0,  11,   0,   0,   0, 
+      6,   0,   0,   0,  21,   0, 
+      0,   0,  22,   0,   0,   0, 
+     12,   0,   0,   0,   8,   0, 
+      0,   0,   9,   0,   0,   0, 
+     10,   0,   0,   0,  13,   0, 
+      0,   0,  14,   0,   0,   0, 
+     15,   0,   0,   0,  16,   0, 
+      0,   0,  17,   0,   0,   0, 
+      7,   0,   0,   0,  23,   0, 
+      0,   0,  24,   0,   0,   0, 
+     25,   0,   0,   0,  27,   0, 
+      0,   0,  26,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  30,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0
+};

+ 51 - 0
DX12VertexShader.hlsl

@@ -0,0 +1,51 @@
+// Matrizen für die einzelnen Knochen des Modells
+struct MatrixBuffer
+{
+    matrix knochenMatrix[ 128 ];
+};
+
+// The projection and view matrix
+struct KameraBuffer
+{
+    matrix view;
+    matrix projection;
+};
+
+ConstantBuffer<KameraBuffer> Kamera : register( b0 );
+ConstantBuffer<MatrixBuffer> Skelett : register( b1 );
+
+struct VertexInputType
+{
+    float4 position : POSITION;
+    float2 tex : TEXCOORD0;
+    float3 normal : NORMAL;
+    uint knochen : KNOCHEN_ID;
+};
+
+struct PixelInputType
+{
+    float4 worldPos : POSITION;
+    float4 position : SV_POSITION;
+    float2 tex : TEXCOORD0;
+    float3 normal : TEXCOORD1;
+};
+
+PixelInputType main( VertexInputType input )
+{
+    //return input;                                                                     
+    PixelInputType output;
+    output.normal = normalize( mul( input.normal, ( float3x3 )Skelett.knochenMatrix[ input.knochen ] ) );
+
+    // Change the position vector to be 4 units for proper matrix calculations.         
+    input.position.w = 1.0f;
+
+    // Store the texture coordinates for the pixel shader.                              
+    output.tex = input.tex;
+
+    // Calculate the position of the vertex against the world, view, and projection matrices. 
+    output.worldPos = mul( input.position, Skelett.knochenMatrix[ input.knochen ] );
+    output.position = mul( output.worldPos, Kamera.view );
+    output.position = mul( output.position, Kamera.projection );
+
+    return output;
+}

+ 85 - 3
DXBuffer.cpp

@@ -2,6 +2,8 @@
 #include <iostream>
 #ifdef WIN32
 #include <d3d11.h>
+#include <d3d12.h>
+#include <d3dx12.h>
 #endif
 
 using namespace Framework;
@@ -81,7 +83,7 @@ DXBuffer *DXBuffer::release()
 
 // Konstruktor
 // eSize: Die Länge eines Elementes in Bytes
-DX11Buffer::DX11Buffer( int eSize, ID3D11Device *device, ID3D11DeviceContext *context, int bindFlags )
+DX11Buffer::DX11Buffer( int eSize, ID3D11Device * device, ID3D11DeviceContext * context, int bindFlags )
     : DXBuffer( eSize )
 {
     buffer = 0;
@@ -138,7 +140,7 @@ void DX11Buffer::copieren( int byteCount )
 }
 
 // Gibt den Buffer zurück
-ID3D11Buffer *DX11Buffer::zBuffer() const
+ID3D11Buffer * DX11Buffer::zBuffer() const
 {
     return buffer;
 }
@@ -148,7 +150,7 @@ ID3D11Buffer *DX11Buffer::zBuffer() const
 
 // Konstruktor
 // eSize: Die Länge eines Elementes in Bytes
-DX11StructuredBuffer::DX11StructuredBuffer( int eSize, ID3D11Device *device, ID3D11DeviceContext *context )
+DX11StructuredBuffer::DX11StructuredBuffer( int eSize, ID3D11Device * device, ID3D11DeviceContext * context )
     : DX11Buffer( eSize, device, context, D3D11_BIND_UNORDERED_ACCESS | D3D11_BIND_SHADER_RESOURCE )
 {
     description->MiscFlags = D3D11_RESOURCE_MISC_BUFFER_STRUCTURED;
@@ -188,4 +190,84 @@ DX11StructuredBuffer::operator ID3D11ShaderResourceView *( ) const
 {
     return view;
 }
+
+
+// Konstruktor
+// eSize: Die Länge eines Elementes in Bytes
+DX12Buffer::DX12Buffer( int eSize, ID3D12Device2 * device, ID3D12GraphicsCommandList2 * list, int flags )
+    : DXBuffer( eSize ),
+    buffer( 0 ),
+    intermediate( 0 ),
+    device( device ),
+    list( list )
+{
+    description = new D3D12_RESOURCE_DESC();
+    ZeroMemory( description, sizeof( D3D12_RESOURCE_DESC ) );
+    description->Dimension = D3D12_RESOURCE_DIMENSION_BUFFER;
+    description->Height = 1;
+    description->DepthOrArraySize = 1;
+    description->MipLevels = 1;
+    description->Format = DXGI_FORMAT_UNKNOWN;
+    description->SampleDesc.Count = 1;
+    description->Layout = D3D12_TEXTURE_LAYOUT_ROW_MAJOR;
+    description->Flags = (D3D12_RESOURCE_FLAGS)flags;
+}
+
+// Destruktor
+DX12Buffer::~DX12Buffer()
+{
+    if( intermediate )
+        intermediate->Release();
+    if( buffer )
+        buffer->Release();
+    delete description;
+}
+
+// Kopiert die Daten in den Buffer, fals sie sich verändert haben
+void DX12Buffer::copieren( int byteCount )
+{
+    if( !len )
+        return;
+    if( byteCount < 0 )
+        byteCount = len;
+    if( description->Width < len )
+    {
+        if( intermediate )
+            intermediate->Release();
+        if( buffer )
+            buffer->Release();
+        buffer = 0;
+        description->Width = len;
+    }
+    if( !buffer )
+    {
+        D3D12_HEAP_PROPERTIES hprop;
+        hprop.Type = D3D12_HEAP_TYPE_DEFAULT;
+        hprop.CPUPageProperty = D3D12_CPU_PAGE_PROPERTY_UNKNOWN;
+        hprop.MemoryPoolPreference = D3D12_MEMORY_POOL_UNKNOWN;
+        hprop.CreationNodeMask = 1;
+        hprop.VisibleNodeMask = 1;
+        device->CreateCommittedResource( &hprop, D3D12_HEAP_FLAG_NONE, description, D3D12_RESOURCE_STATE_COPY_DEST, 0, __uuidof( ID3D12Resource ), (void **)& buffer );
+        hprop.Type = D3D12_HEAP_TYPE_UPLOAD;
+        device->CreateCommittedResource( &hprop, D3D12_HEAP_FLAG_NONE, description, D3D12_RESOURCE_STATE_GENERIC_READ, 0, __uuidof( ID3D12Resource ), (void **)& intermediate );
+        if( data )
+            changed = 1;
+    }
+    if( changed && data )
+    {
+        BYTE *pData;
+        intermediate->Map( 0, nullptr, reinterpret_cast<void **>( &pData ) );
+        memcpy( pData, data, byteCount );
+        intermediate->Unmap( 0, nullptr );
+        list->CopyBufferRegion( buffer, 0, intermediate, 0, byteCount );
+        changed = 0;
+    }
+}
+
+// Gibt den Buffer zurück
+ID3D12Resource *DX12Buffer::zBuffer() const
+{
+    return buffer;
+}
+
 #endif

+ 25 - 0
DXBuffer.h

@@ -8,6 +8,10 @@ struct D3D11_BUFFER_DESC;
 struct ID3D11ShaderResourceView;
 struct ID3D11Device;
 struct ID3D11DeviceContext;
+struct ID3D12Resource;
+struct ID3D12Device2;
+struct D3D12_RESOURCE_DESC;
+struct ID3D12GraphicsCommandList2;
 #endif
 
 namespace Framework
@@ -90,5 +94,26 @@ namespace Framework
         // Gibt die verwendtete Shader Resource View zurück
         __declspec( dllexport ) operator ID3D11ShaderResourceView *() const;
     };
+
+    // Ein Buffer mit Daten im Grafikspeicher
+    class DX12Buffer : public DXBuffer
+    {
+    protected:
+        D3D12_RESOURCE_DESC *description;
+        ID3D12Resource *buffer;
+        ID3D12Resource *intermediate;
+        ID3D12Device2 *device;
+        ID3D12GraphicsCommandList2 *list;
+    public:
+        // Konstruktor
+        // eSize: Die Länge eines Elementes in Bytes
+        __declspec( dllexport ) DX12Buffer( int eSize, ID3D12Device2 *device, ID3D12GraphicsCommandList2 *list, int bindFlags );
+        // Destruktor
+        __declspec( dllexport ) virtual ~DX12Buffer();
+        // Kopiert die Daten in den Buffer, fals sie sich verändert haben
+        __declspec( dllexport ) void copieren( int byteCount = -1 ) override;
+        // Gibt den Buffer zurück
+        __declspec( dllexport ) ID3D12Resource *zBuffer() const;
+    };
 #endif
 }

+ 141 - 0
DXCommandQueue.cpp

@@ -0,0 +1,141 @@
+#include "DXCommandQueue.h"
+#include "Text.h"
+#include "Fenster.h"
+
+#include <iostream>
+#include <d3d12.h>
+
+using namespace Framework;
+
+
+DX12CommandQueue::DX12CommandQueue( int typ, ID3D12Device2 *device )
+    : device( device ),
+    event( CreateEvent( 0, 0, 0, 0 ) ),
+    fenceValue( 0 ),
+    ref( 1 )
+{
+    D3D12_COMMAND_QUEUE_DESC desc = {};
+    desc.Type = (D3D12_COMMAND_LIST_TYPE)typ;
+    desc.Priority = D3D12_COMMAND_QUEUE_PRIORITY_NORMAL;
+    desc.Flags = D3D12_COMMAND_QUEUE_FLAG_NONE;
+    desc.NodeMask = 0;
+    HRESULT res = device->CreateCommandQueue( &desc, __uuidof( ID3D12CommandQueue ), (void **)& queue );
+    if( FAILED( res ) )
+    {
+        std::cout << "ERROR: CreateCommandQueue returned " << res << "\n";
+        WMessageBox( 0, new Text( "Fehler" ), new Text( "CreateCommandQueue ist Fehlgeschlagen." ), MB_ICONERROR );
+    }
+
+    res = device->CreateCommandAllocator( (D3D12_COMMAND_LIST_TYPE)typ, __uuidof( ID3D12CommandAllocator ), (void **)& allocator );
+    if( FAILED( res ) )
+    {
+        std::cout << "ERROR: CreateCommandAllocator returned " << res << "\n";
+        WMessageBox( 0, new Text( "Fehler" ), new Text( "CreateCommandAllocator ist Fehlgeschlagen." ), MB_ICONERROR );
+    }
+
+    res = device->CreateCommandList( 0, (D3D12_COMMAND_LIST_TYPE)typ, allocator, nullptr, __uuidof( ID3D12GraphicsCommandList ), (void **)& commandList );
+    if( FAILED( res ) )
+    {
+        std::cout << "ERROR: CreateCommandList returned " << res << "\n";
+        WMessageBox( 0, new Text( "Fehler" ), new Text( "CreateCommandList ist Fehlgeschlagen." ), MB_ICONERROR );
+    }
+
+    res = device->CreateFence( 0, D3D12_FENCE_FLAG_NONE, __uuidof( ID3D12Fence ), (void **)& fence );
+    if( FAILED( res ) )
+    {
+        std::cout << "ERROR: CreateFence returned " << res << "\n";
+        WMessageBox( 0, new Text( "Fehler" ), new Text( "CreateFence ist Fehlgeschlagen." ), MB_ICONERROR );
+    }
+}
+
+DX12CommandQueue::~DX12CommandQueue()
+{
+    flush();
+    if( commandList )
+        commandList->Release();
+    if( allocator )
+        allocator->Release();
+    if( queue )
+        queue->Release();
+}
+
+unsigned __int64 DX12CommandQueue::addSignalFromGPU()
+{
+    queue->Signal( fence, ++fenceValue );
+    return fenceValue;
+}
+
+void DX12CommandQueue::whaitForGPUSignal( unsigned __int64 value )
+{
+    if( fence->GetCompletedValue() < value )
+    {
+        fence->SetEventOnCompletion( value, event );
+        WaitForSingleObject( event, INFINITE );
+    }
+}
+
+void DX12CommandQueue::whaitForGPUSignal()
+{
+    if( fence->GetCompletedValue() < fenceValue )
+    {
+        fence->SetEventOnCompletion( fenceValue, event );
+        WaitForSingleObject( event, INFINITE );
+    }
+}
+
+void DX12CommandQueue::flush()
+{
+    whaitForGPUSignal( addSignalFromGPU() );
+}
+
+ID3D12CommandAllocator *DX12CommandQueue::getAllocator() const
+{
+    return allocator;
+}
+
+ID3D12GraphicsCommandList2 *DX12CommandQueue::getCommandList() const
+{
+    return commandList;
+}
+
+ID3D12CommandQueue *DX12CommandQueue::getQueue() const
+{
+    return queue;
+}
+
+void DX12CommandQueue::execute()
+{
+    commandList->Close();
+    queue->ExecuteCommandLists( 1, (ID3D12CommandList * *)& commandList );
+    flush();
+    allocator->Reset();
+    commandList->Reset( allocator, nullptr );
+}
+
+DX12CommandQueue *DX12CommandQueue::getThis()
+{
+    ref++;
+    return this;
+}
+
+DX12CommandQueue *DX12CommandQueue::release()
+{
+    if( !--ref )
+        delete this;
+    return 0;
+}
+
+
+DX12DirectCommandQueue::DX12DirectCommandQueue( ID3D12Device2 *device )
+    : DX12CommandQueue( D3D12_COMMAND_LIST_TYPE_DIRECT, device )
+{}
+
+
+DX12CopyCommandQueue::DX12CopyCommandQueue( ID3D12Device2 * device )
+    : DX12CommandQueue( D3D12_COMMAND_LIST_TYPE_COPY, device )
+{}
+
+
+DX12ComputeCommandQueue::DX12ComputeCommandQueue( ID3D12Device2 * device )
+    : DX12CommandQueue( D3D12_COMMAND_LIST_TYPE_COMPUTE, device )
+{}

+ 61 - 0
DXCommandQueue.h

@@ -0,0 +1,61 @@
+#pragma once
+
+#include "Betriebssystem.h"
+
+// DirectX12 Datentypen
+struct ID3D12CommandAllocator;
+struct ID3D12CommandQueue;
+struct ID3D12Fence;
+struct ID3D12Device2;
+struct ID3D12GraphicsCommandList2;
+
+namespace Framework
+{
+    class DX12Command;
+
+    class DX12CommandQueue
+    {
+    protected:
+        ID3D12CommandAllocator *allocator;
+        ID3D12GraphicsCommandList2 *commandList;
+        ID3D12CommandQueue *queue;
+        ID3D12Fence *fence;
+        ID3D12Device2 *device;
+        HANDLE event;
+        unsigned __int64 fenceValue;
+        int ref;
+
+        DX12CommandQueue( int typ, ID3D12Device2 *device );
+
+    public:
+        virtual ~DX12CommandQueue();
+        unsigned __int64 addSignalFromGPU();
+        void whaitForGPUSignal();
+        void whaitForGPUSignal( unsigned __int64 value );
+        void flush();
+        ID3D12CommandAllocator *getAllocator() const;
+        ID3D12GraphicsCommandList2 *getCommandList() const;
+        ID3D12CommandQueue *getQueue() const;
+        void execute();
+        DX12CommandQueue *getThis();
+        DX12CommandQueue *release();
+    };
+
+    class DX12DirectCommandQueue : public DX12CommandQueue
+    {
+    public:
+        DX12DirectCommandQueue( ID3D12Device2 *device );
+    };
+
+    class DX12CopyCommandQueue : public DX12CommandQueue
+    {
+    public:
+        DX12CopyCommandQueue( ID3D12Device2 *device );
+    };
+
+    class DX12ComputeCommandQueue : public DX12CommandQueue
+    {
+    public:
+        DX12ComputeCommandQueue( ID3D12Device2 *device );
+    };
+};

+ 43 - 2
Framework.vcxproj

@@ -205,6 +205,7 @@ copy "x64\Release\Framework.dll" "..\..\Spiele Platform\SMP\Fertig\x64\framework
     <ClInclude Include="Bild.h" />
     <ClInclude Include="Bildschirm.h" />
     <ClInclude Include="CharMap.h" />
+    <ClInclude Include="DXCommandQueue.h" />
     <ClInclude Include="Critical.h" />
     <ClInclude Include="Cube.h" />
     <ClInclude Include="Dialog.h" />
@@ -284,6 +285,7 @@ copy "x64\Release\Framework.dll" "..\..\Spiele Platform\SMP\Fertig\x64\framework
     <ClCompile Include="AuswahlBox.cpp" />
     <ClCompile Include="Bild.cpp" />
     <ClCompile Include="Bildschirm.cpp" />
+    <ClCompile Include="DXCommandQueue.cpp" />
     <ClCompile Include="Critical.cpp" />
     <ClCompile Include="Cube.cpp" />
     <ClCompile Include="Datei.cpp" />
@@ -351,7 +353,43 @@ copy "x64\Release\Framework.dll" "..\..\Spiele Platform\SMP\Fertig\x64\framework
     <Reference Include="System.Xml" />
   </ItemGroup>
   <ItemGroup>
-    <FxCompile Include="UIPixelShader.hlsl">
+    <FxCompile Include="DX12PixelShader.hlsl">
+      <ShaderType Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Pixel</ShaderType>
+      <ShaderType Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Pixel</ShaderType>
+      <ShaderType Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Pixel</ShaderType>
+      <ShaderType Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Pixel</ShaderType>
+      <ShaderModel Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">5.1</ShaderModel>
+      <ShaderModel Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">5.1</ShaderModel>
+      <ShaderModel Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">5.1</ShaderModel>
+      <ShaderModel Condition="'$(Configuration)|$(Platform)'=='Release|x64'">5.1</ShaderModel>
+      <VariableName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">DX12PixelShaderBytes</VariableName>
+      <HeaderFileOutput Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">DX12PixelShader.h</HeaderFileOutput>
+      <VariableName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">DX12PixelShaderBytes</VariableName>
+      <HeaderFileOutput Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">DX12PixelShader.h</HeaderFileOutput>
+      <VariableName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">DX12PixelShaderBytes</VariableName>
+      <HeaderFileOutput Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">DX12PixelShader.h</HeaderFileOutput>
+      <VariableName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">DX12PixelShaderBytes</VariableName>
+      <HeaderFileOutput Condition="'$(Configuration)|$(Platform)'=='Release|x64'">DX12PixelShader.h</HeaderFileOutput>
+    </FxCompile>
+    <FxCompile Include="DX12VertexShader.hlsl">
+      <ShaderType Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Vertex</ShaderType>
+      <ShaderType Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Vertex</ShaderType>
+      <ShaderType Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Vertex</ShaderType>
+      <ShaderType Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Vertex</ShaderType>
+      <ShaderModel Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">5.1</ShaderModel>
+      <ShaderModel Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">5.1</ShaderModel>
+      <ShaderModel Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">5.1</ShaderModel>
+      <ShaderModel Condition="'$(Configuration)|$(Platform)'=='Release|x64'">5.1</ShaderModel>
+      <VariableName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">DX12VertexShaderBytes</VariableName>
+      <HeaderFileOutput Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">DX12VertexShader.h</HeaderFileOutput>
+      <VariableName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">DX12VertexShaderBytes</VariableName>
+      <HeaderFileOutput Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">DX12VertexShader.h</HeaderFileOutput>
+      <VariableName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">DX12VertexShaderBytes</VariableName>
+      <HeaderFileOutput Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">DX12VertexShader.h</HeaderFileOutput>
+      <VariableName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">DX12VertexShaderBytes</VariableName>
+      <HeaderFileOutput Condition="'$(Configuration)|$(Platform)'=='Release|x64'">DX12VertexShader.h</HeaderFileOutput>
+    </FxCompile>
+    <FxCompile Include="DX11PixelShader.hlsl">
       <ShaderType Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Pixel</ShaderType>
       <ShaderType Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Pixel</ShaderType>
       <ShaderType Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Pixel</ShaderType>
@@ -373,7 +411,7 @@ copy "x64\Release\Framework.dll" "..\..\Spiele Platform\SMP\Fertig\x64\framework
       <ShaderModel Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">5.0</ShaderModel>
       <ShaderModel Condition="'$(Configuration)|$(Platform)'=='Release|x64'">5.0</ShaderModel>
     </FxCompile>
-    <FxCompile Include="UIVertexShader.hlsl">
+    <FxCompile Include="DX11VertexShader.hlsl">
       <ShaderType Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Vertex</ShaderType>
       <ShaderType Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Vertex</ShaderType>
       <ShaderType Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Vertex</ShaderType>
@@ -396,6 +434,9 @@ copy "x64\Release\Framework.dll" "..\..\Spiele Platform\SMP\Fertig\x64\framework
       <HeaderFileOutput Condition="'$(Configuration)|$(Platform)'=='Release|x64'">UIVertexShader.h</HeaderFileOutput>
     </FxCompile>
   </ItemGroup>
+  <ItemGroup>
+    <None Include="ClassDiagram.cd" />
+  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>

+ 17 - 2
Framework.vcxproj.filters

@@ -315,6 +315,9 @@
     <ClInclude Include="DLLRegister.h">
       <Filter>Headerdateien\Framework\OS</Filter>
     </ClInclude>
+    <ClInclude Include="DXCommandQueue.h">
+      <Filter>Headerdateien\Framework\Grafik\DX</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="Maus.cpp">
@@ -512,13 +515,25 @@
     <ClCompile Include="DX12GraphicsApi.cpp">
       <Filter>Quelldateien\Framework\Grafik\DX</Filter>
     </ClCompile>
+    <ClCompile Include="DXCommandQueue.cpp">
+      <Filter>Quelldateien\Framework\Grafik\DX</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
-    <FxCompile Include="UIPixelShader.hlsl">
+    <FxCompile Include="DX12VertexShader.hlsl">
+      <Filter>Headerdateien\Framework\Grafik\DX\Shader</Filter>
+    </FxCompile>
+    <FxCompile Include="DX11VertexShader.hlsl">
+      <Filter>Headerdateien\Framework\Grafik\DX\Shader</Filter>
+    </FxCompile>
+    <FxCompile Include="DX11PixelShader.hlsl">
       <Filter>Headerdateien\Framework\Grafik\DX\Shader</Filter>
     </FxCompile>
-    <FxCompile Include="UIVertexShader.hlsl">
+    <FxCompile Include="DX12PixelShader.hlsl">
       <Filter>Headerdateien\Framework\Grafik\DX\Shader</Filter>
     </FxCompile>
   </ItemGroup>
+  <ItemGroup>
+    <None Include="ClassDiagram.cd" />
+  </ItemGroup>
 </Project>

+ 43 - 6
GraphicsApi.h

@@ -6,6 +6,7 @@
 
 // DirectX 12 Types
 
+struct ID3D12Debug;
 struct ID3D12Device2;
 struct ID3D12InfoQueue;
 struct ID3D12CommandQueue;
@@ -15,6 +16,11 @@ struct ID3D12Resource;
 struct ID3D12CommandAllocator;
 struct ID3D12GraphicsCommandList;
 struct ID3D12Fence;
+struct D3D12_VIEWPORT;
+struct D3D12_VERTEX_BUFFER_VIEW;
+struct D3D12_INDEX_BUFFER_VIEW;
+struct ID3D12RootSignature;
+struct ID3D12PipelineState;
 
 // DirectX 11 Types
 
@@ -52,6 +58,12 @@ namespace Framework
     class Model3D;
     class DX11Buffer;
     class DX11StructuredBuffer;
+    class DX12Buffer;
+    class DX12DirectCommandQueue;
+    class DX12CopyCommandQueue;
+    class DX12ComputeCommandQueue;
+    class DX12PixelShader;
+    class DX12VertexShader;
 
     enum GraphicApiType
     {
@@ -176,19 +188,44 @@ namespace Framework
     class DirectX12 : public GraphicsApi
     {
     private:
+        ID3D12Debug *debug;
         ID3D12Device2 *device;
         ID3D12InfoQueue *infoQueue;
-        ID3D12CommandQueue *directCommandQueue;
+        DX12DirectCommandQueue *directCommandQueue;
+        DX12CopyCommandQueue *copyCommandQueue;
+        DX12ComputeCommandQueue *computeCommandQueue;
         IDXGISwapChain4 *swapChain;
         ID3D12DescriptorHeap *rtvHeap;
+        ID3D12DescriptorHeap *dsvHeap;
+        ID3D12DescriptorHeap *shaderBufferHeap;
+        ID3D12Resource *depthBuffer;
         ID3D12Resource *backBuffer[ 2 ];
-        ID3D12CommandAllocator *directCommandAllocator[ 2 ];
-        ID3D12GraphicsCommandList *directCommandList;
         int backBufferIndex;
         int tearing;
-        ID3D12Fence *fence;
-        HANDLE fenceEvent;
-        unsigned __int64 fenceValue[ 2 ];
+        D3D12_VIEWPORT *viewPort;
+        RECT *allowedRenderArea;
+        D3D12_VERTEX_BUFFER_VIEW *vertexBufferView;
+        D3D12_INDEX_BUFFER_VIEW *indexBufferView;
+        DX12Buffer *vertexBuffer;
+        DX12Buffer *indexBuffer;
+        ID3D12RootSignature *signature;
+        ID3D12PipelineState *pipeline;
+        Mat4< float > matrixBuffer[ MAX_KNOCHEN_ANZ ];
+        Mat4< float > viewAndProj[ 2 ];
+        Vec3< float > kamPos;
+        Ebene3D< float > frustrum[ 6 ];
+        TexturModel *texturModel;
+        Textur *uiTextur;
+        TexturList *texturRegister;
+        DX12VertexShader *vertexShader;
+        DX12PixelShader *pixelShader;
+
+        void renderObject( Model3D *zObj );
+        // Überprüft, ob eine Kugel in dem Sichtbaren Raum der Welt liegt und gezeichnet werden muss
+        //  pos: Der Mittelpunkt der Kugel
+        //  radius: Der Radius der Kugel
+        //  dist: Einen Zeiger auf einen float, in dem das quadrat des Abstands zur Kammeraposition gespeichert wird, falls diese Funktion true zurückgiebt und der Zeiger nicht 0 ist
+        bool isInFrustrum( const Vec3< float > &pos, float radius, float *dist = 0 ) const;
 
     public:
         __declspec( dllexport ) DirectX12();

+ 159 - 53
Shader.cpp

@@ -3,6 +3,7 @@
 #include "Datei.h"
 #include "DXBuffer.h"
 #include <d3d11.h>
+#include <d3d12.h>
 #include <iostream>
 
 using namespace Framework;
@@ -13,37 +14,24 @@ using namespace Framework;
 Shader::Shader()
 {
     type = UNBEKANNT;
-    for( int i = 0; i < 14; i++ )
-        constBuffers[ i ] = 0;
+    constBuffers = new RCArray< DXBuffer >();
     ref = 1;
 }
 
 // Destruktor
 Shader::~Shader()
 {
-    for( int i = 0; i < 14; i++ )
-    {
-        if( constBuffers[ i ] )
-            constBuffers[ i ]->release();
-    }
+    constBuffers->release();
 }
 
 // Löscht einen constanten Buffer
 //  index: der Index des Buffers, der gelöscht werden soll. Buffer 0 kann nicht gelöscht werden, solange Buffer 1 noch existiert usw.
 bool Shader::removeConstBuffer( int index )
 {
-    if( index < 0 || index >= 14 )
+    if( index < 0 )
         return 0;
     bool ok = 1;
-    for( int i = 13; i > index; i-- )
-        ok &= constBuffers[ i ] == 0;
-    if( !ok )
-        return 0;
-    if( constBuffers[ index ] )
-    {
-        constBuffers[ index ]->release();
-        constBuffers[ index ] = 0;
-    }
+    constBuffers->set( 0, index );
     return 1;
 }
 
@@ -54,14 +42,15 @@ bool Shader::removeConstBuffer( int index )
 //  län: Die Länge der Daten in Bytes (-1 für die maximale größe des Buffers)
 bool Shader::füllConstBuffer( char *data, int index, int len )
 {
-    if( index < 0 || index >= 14 )
+    if( index < 0 )
         return 0;
-    if( !constBuffers[ index ] )
+    DXBuffer * zB = constBuffers->z( index );
+    if( !zB )
         return 0;
     if( len < 0 )
-        len = constBuffers[ index ]->getElementAnzahl() * constBuffers[ index ]->getElementLength();
-    constBuffers[ index ]->setData( data );
-    constBuffers[ index ]->copieren( len );
+        len = zB->getElementAnzahl() * zB->getElementLength();
+    zB->setData( data );
+    zB->copieren( len );
     return 1;
 }
 
@@ -69,11 +58,12 @@ bool Shader::f
 //  index: Der Index des Buffers
 int Shader::getConstBufferLänge( int index ) const
 {
-    if( index < 0 || index >= 14 )
+    if( index < 0 )
         return 0;
-    if( !constBuffers[ index ] )
+    DXBuffer * zB = constBuffers->z( index );
+    if( !zB )
         return 0;
-    return constBuffers[ index ]->getElementAnzahl() * constBuffers[ index ]->getElementLength();
+    return zB->getElementAnzahl() * zB->getElementLength();
 }
 
 // Gibt den Shadertyp zurück
@@ -100,7 +90,7 @@ Shader *Shader::release()
     return 0;
 }
 
-DX11Shader::DX11Shader( ID3D11Device *device, ID3D11DeviceContext *context )
+DX11Shader::DX11Shader( ID3D11Device * device, ID3D11DeviceContext * context )
     : Shader()
 {
     this->device = device;
@@ -120,16 +110,10 @@ bool DX11Shader::erstelleConstBuffer( int gr
     if( index < 0 || index >= 14 )
         return 0;
     bool ok = 1;
-    for( int i = 0; i < index; i++ )
-        ok &= constBuffers[ i ] != 0;
-    if( !ok )
-        return 0;
     while( ( größe / 16 ) * 16 != größe ) // es sind nur vielfache von 16 als größe erlaubt
         größe++;
-    if( constBuffers[ index ] )
-        constBuffers[ index ]->release();
-    constBuffers[ index ] = new DX11Buffer( 1, device, context, D3D11_BIND_CONSTANT_BUFFER );
-    constBuffers[ index ]->setLength( größe );
+    constBuffers->set( new DX11Buffer( 1, device, context, D3D11_BIND_CONSTANT_BUFFER ), index );
+    constBuffers->z( index )->setLength( größe );
     return 1;
 }
 
@@ -137,7 +121,7 @@ bool DX11Shader::erstelleConstBuffer( int gr
 // Inhalt der PixelShader Klasse
 
 // Konstruktor
-DX11PixelShader::DX11PixelShader( ID3D11Device *device, ID3D11DeviceContext *context )
+DX11PixelShader::DX11PixelShader( ID3D11Device * device, ID3D11DeviceContext * context )
     : DX11Shader( device, context )
 {
     pixelShader = 0;
@@ -164,16 +148,16 @@ bool DX11PixelShader::setCompiledByteArray( unsigned char *bytes, int length )
 //  zD3d11Context: Das Context Objekt, mit dem der Shader verwendet werden soll
 void DX11PixelShader::benutzeShader()
 {
-    ID3D11Buffer *buffer[ 14 ];
-    int anz = 0;
-    for( ; anz < 14 && constBuffers[ anz ]; anz++ )
+    int maxI = constBuffers->getLastIndex();
+    for( int i = 0; i <= maxI; i++ )
     {
-        if( !( (DX11Buffer *)constBuffers[ anz ] )->zBuffer() )
-            constBuffers[ anz ]->copieren();
-        buffer[ anz ] = ( (DX11Buffer *)constBuffers[ anz ] )->zBuffer();
+        if( !constBuffers->z( i ) )
+            continue;
+        if( !( (DX11Buffer *)constBuffers->z( i ) )->zBuffer() )
+            constBuffers->z( i )->copieren();
+        ID3D11Buffer * buf = ( (DX11Buffer *)constBuffers->z( i ) )->zBuffer();
+        context->PSSetConstantBuffers( i, 1, &buf );
     }
-    if( anz )
-        context->PSSetConstantBuffers( 0, anz, buffer );
     if( pixelShader )
         context->PSSetShader( pixelShader, 0, 0 );
 }
@@ -182,7 +166,7 @@ void DX11PixelShader::benutzeShader()
 // Inhalt der VertexShader Klasse
 
 // Konstruktor
-DX11VertexShader::DX11VertexShader( ID3D11Device *device, ID3D11DeviceContext *context )
+DX11VertexShader::DX11VertexShader( ID3D11Device * device, ID3D11DeviceContext * context )
     : DX11Shader( device, context )
 {
     vertexShader = 0;
@@ -204,7 +188,7 @@ DX11VertexShader::~DX11VertexShader()
 //  bytes: Die Bytes des compilierten codes
 //  length: die Länge des bytearrays
 //  return: true, wenn bytes gültig ist, false sonst
-bool DX11VertexShader::setCompiledByteArray(unsigned char *bytes, int length )
+bool DX11VertexShader::setCompiledByteArray( unsigned char *bytes, int length )
 {
     shaderByteBuffer = (unsigned char *)bytes;
     byteBufferSize = length;
@@ -237,18 +221,140 @@ bool DX11VertexShader::erstelleInputLayout( D3D11_INPUT_ELEMENT_DESC * descArray
 //  zD3d11Context: Das Context Objekt, mit dem der Shader verwendet werden soll
 void DX11VertexShader::benutzeShader()
 {
-    ID3D11Buffer *buffer[ 14 ];
-    int anz = 0;
-    for( ; anz < 14 && constBuffers[ anz ]; anz++ )
+    int maxI = constBuffers->getLastIndex();
+    for( int i = 0; i <= maxI; i++ )
     {
-        if( !( (DX11Buffer *)constBuffers[ anz ] )->zBuffer() )
-            constBuffers[ anz ]->copieren();
-        buffer[ anz ] = ( (DX11Buffer *)constBuffers[ anz ] )->zBuffer();
+        if( !constBuffers->z( i ) )
+            continue;
+        if( !( (DX11Buffer *)constBuffers->z( i ) )->zBuffer() )
+            constBuffers->z( i )->copieren();
+        ID3D11Buffer * buf = ( (DX11Buffer *)constBuffers->z( i ) )->zBuffer();
+        context->VSSetConstantBuffers( i, 1, &buf );
     }
-    if( anz )
-        context->VSSetConstantBuffers( 0, anz, buffer );
     if( inputLayout )
         context->IASetInputLayout( inputLayout );
     if( vertexShader )
         context->VSSetShader( vertexShader, 0, 0 );
+}
+
+
+DX12Shader::DX12Shader( ID3D12Device2 * device, ID3D12GraphicsCommandList2 * list )
+{
+    shaderByteBuffer = 0;
+    byteBufferSize = 0;
+    this->device = device;
+    this->list = list;
+}
+
+DX12Shader::~DX12Shader()
+{
+    delete[] shaderByteBuffer;
+}
+
+// erstellt ein constanten Buffer, der constante daten an den Shader übergibt
+// es können maximal 14 Buffer erstellt werden
+//  zD3d11Device: Das Device, mit dem der Buffer erstellt werden soll
+//  size: Die größe des buffers in byte
+//  index: Die position des Buffers im Buffer Array. Bereits vorhanderner Buffer wird ersetzt. Buffer 1 kann nicht erstellt werden, wenn Buffer 0 noch nicht erstellt wurde usw.
+bool DX12Shader::erstelleConstBuffer( int size, int index )
+{
+    if( index < 0 || index >= 14 )
+        return 0;
+    while( ( size / 256 ) * 256 != size )
+        size++;
+    constBuffers->set( new DX12Buffer( 1, device, list, D3D12_RESOURCE_FLAG_NONE ), index );
+    constBuffers->z( index )->setLength( size );
+    constBuffers->z( index )->copieren();
+    return 1;
+}
+
+// Setzt den Compilierten Shader
+//  zD3d11Device: Das Device, mit welchem der Shader erstellt werden soll
+//  bytes: Die Bytes des compilierten codes
+//  length: die Länge des bytearrays
+//  return: true, wenn bytes gültig ist, false sonst
+bool DX12Shader::setCompiledByteArray( unsigned char *bytes, int length )
+{
+    delete[] shaderByteBuffer;
+    shaderByteBuffer = new unsigned char[ length ];
+    memcpy( shaderByteBuffer, bytes, length );
+    byteBufferSize = length;
+    return 1;
+}
+
+// Nach dem Aufruf dieser Funktion wird dieser Shader als Pixel Shader benutzt
+//  zD3d11Context: Das Context Objekt, mit dem der Shader verwendet werden soll
+void DX12Shader::benutzeShader()
+{
+    // not needet in DirectX 12
+}
+
+// gibt die compilierten bytes zurück
+unsigned char *DX12Shader::getCompiledShader() const
+{
+    return shaderByteBuffer;
+}
+
+// gitbt die anzahl der compilierten bytes zurück
+int DX12Shader::getCompiledLength() const
+{
+    return byteBufferSize;
+}
+
+// Erstellt den RootParameter zu einem constanten buffer
+//  index: Der Index des Buffers
+//  view: enthält nach dem Aufruf die position und größe des buffers im speicher
+void DX12Shader::getViewDesc( int index, D3D12_CONSTANT_BUFFER_VIEW_DESC &view )
+{
+    DX12Buffer *zB = (DX12Buffer *)constBuffers->z( index );
+    if( !zB )
+        return;
+    view.SizeInBytes = zB->getElementAnzahl() * zB->getElementLength();
+    view.BufferLocation = zB->zBuffer()->GetGPUVirtualAddress();
+}
+
+
+DX12PixelShader::DX12PixelShader( ID3D12Device2 * device, ID3D12GraphicsCommandList2 * list )
+    : DX12Shader( device, list )
+{}
+
+
+// Konstruktor
+DX12VertexShader::DX12VertexShader( ID3D12Device2 * device, ID3D12GraphicsCommandList2 * list )
+    : DX12Shader( device, list )
+{
+    inputLayout = 0;
+    inputLayoutSize = 0;
+}
+
+// Destruktor
+DX12VertexShader::~DX12VertexShader()
+{
+    delete[] inputLayout;
+}
+
+// erstellt ein InputLayout für den Shader
+// Darf erst nach compile aufgerufen werden
+//  zD3d11Device: Das Device, mit dem das Layout erstellt werden soll
+//  descArray: Ein Array mit initialisierungsdaten
+//  anz: Die Anzahl der Elemente im Array
+bool DX12VertexShader::erstelleInputLayout( D3D12_INPUT_ELEMENT_DESC * descArray, int anz )
+{
+    delete[] inputLayout;
+    inputLayout = new D3D12_INPUT_ELEMENT_DESC[ anz ];
+    memcpy( inputLayout, descArray, anz * sizeof( D3D12_INPUT_ELEMENT_DESC ) );
+    inputLayoutSize = anz;
+    return 1;
+}
+
+// Gint die Anzahl an eingabeparametern des Shaders zurück
+int DX12VertexShader::getInputLayoutSize() const
+{
+    return inputLayoutSize;
+}
+
+// Gibt eine Liste mit formaten für jeden Eingabewert zurück
+D3D12_INPUT_ELEMENT_DESC *DX12VertexShader::zInputLayout() const
+{
+    return inputLayout;
 }

+ 84 - 11
Shader.h

@@ -1,5 +1,7 @@
 #pragma once
 
+#include "Array.h"
+
 struct ID3D10Blob;
 struct ID3D11PixelShader;
 struct ID3D11VertexShader;
@@ -9,6 +11,12 @@ struct D3D11_INPUT_ELEMENT_DESC;
 struct ID3D11Buffer;
 struct ID3D11InputLayout;
 
+struct ID3D12Device2;
+struct ID3D12GraphicsCommandList2;
+struct D3D12_INPUT_ELEMENT_DESC;
+struct D3D12_ROOT_PARAMETER1;
+struct D3D12_CONSTANT_BUFFER_VIEW_DESC;
+
 namespace Framework
 {
     class Text;
@@ -26,7 +34,7 @@ namespace Framework
     {
     protected:
         ShaderType type;
-        DXBuffer * constBuffers[ 14 ];
+        RCArray< DXBuffer > *constBuffers;
         int ref;
 
     public:
@@ -39,7 +47,7 @@ namespace Framework
         //  bytes: Die Bytes des compilierten codes
         //  length: die Länge des bytearrays
         //  return: true, wenn bytes gültig ist, false sonst
-        virtual bool setCompiledByteArray( unsigned char* bytes, int length ) = 0;
+        virtual bool setCompiledByteArray( unsigned char *bytes, int length ) = 0;
         // Nach dem Aufruf dieser Funktion wird dieser Shader als Pixel Shader benutzt
         //  zD3d11Context: Das Context Objekt, mit dem der Shader verwendet werden soll
         virtual void benutzeShader() = 0;
@@ -57,7 +65,7 @@ namespace Framework
         //  data: Einen zeiger auf en byte Array der größe des Buffers
         //  index: Der Index des Buffers
         //  len: Die Länge der Daten in Bytes (-1 für die maximale größe des Buffers)
-        bool füllConstBuffer( char* data, int index, int len = -1 );
+        bool füllConstBuffer( char *data, int index, int len = -1 );
         // Gibt die Länge eines constanten Buffers zurück
         //  index: Der Index des Buffers
         int getConstBufferLänge( int index ) const;
@@ -65,10 +73,10 @@ namespace Framework
         ShaderType getType() const;
         // Erhöht den Reference Counter um 1
         //  Return: Ein zeiger auf diesen Shader
-        Shader* getThis();
+        Shader *getThis();
         // Verringert den Reference Counter und löscht den Shader, falls der Refeence Counter auf 0 ist
         //  Return: 0
-        Shader* release();
+        Shader *release();
     };
 
     class DX11Shader : public Shader
@@ -92,7 +100,7 @@ namespace Framework
     class DX11PixelShader : public DX11Shader
     {
     private:
-        ID3D11PixelShader* pixelShader;
+        ID3D11PixelShader *pixelShader;
 
     public:
         // Konstruktor
@@ -104,7 +112,7 @@ namespace Framework
         //  bytes: Die Bytes des compilierten codes
         //  length: die Länge des bytearrays
         //  return: true, wenn bytes gültig ist, false sonst
-        bool setCompiledByteArray(unsigned char *bytes, int length ) override;
+        bool setCompiledByteArray( unsigned char *bytes, int length ) override;
         // Nach dem Aufruf dieser Funktion wird dieser Shader als Pixel Shader benutzt
         //  zD3d11Context: Das Context Objekt, mit dem der Shader verwendet werden soll
         void benutzeShader() override;
@@ -114,9 +122,9 @@ namespace Framework
     class DX11VertexShader : public DX11Shader
     {
     private:
-        ID3D11VertexShader* vertexShader;
-        ID3D11InputLayout* inputLayout;
-        unsigned char* shaderByteBuffer;
+        ID3D11VertexShader *vertexShader;
+        ID3D11InputLayout *inputLayout;
+        unsigned char *shaderByteBuffer;
         int byteBufferSize;
 
     public:
@@ -135,9 +143,74 @@ namespace Framework
         //  zD3d11Device: Das Device, mit dem das Layout erstellt werden soll
         //  descArray: Ein Array mit initialisierungsdaten
         //  anz: Die Anzahl der Elemente im Array
-        bool erstelleInputLayout( D3D11_INPUT_ELEMENT_DESC* descArray, int anz );
+        bool erstelleInputLayout( D3D11_INPUT_ELEMENT_DESC *descArray, int anz );
         // Nach dem Aufruf dieser Funktion wird dieser Shader als Vertex Shader benutzt
         //  zD3d11Context: Das Context Objekt, mit dem der Shader verwendet werden soll
         void benutzeShader() override;
     };
+
+    class DX12Shader : public Shader
+    {
+    protected:
+        ID3D12Device2 *device;
+        ID3D12GraphicsCommandList2 *list;
+        unsigned char *shaderByteBuffer;
+        int byteBufferSize;
+
+    public:
+        DX12Shader( ID3D12Device2 *device, ID3D12GraphicsCommandList2 *list );
+        virtual ~DX12Shader();
+        // erstellt ein constanten Buffer, der constante daten an den Shader übergibt
+        // es können maximal 14 Buffer erstellt werden
+        //  zD3d11Device: Das Device, mit dem der Buffer erstellt werden soll
+        //  size: Die größe des buffers in byte
+        //  index: Die position des Buffers im Buffer Array. Bereits vorhanderner Buffer wird ersetzt. Buffer 1 kann nicht erstellt werden, wenn Buffer 0 noch nicht erstellt wurde usw.
+        virtual bool erstelleConstBuffer( int size, int index ) override;
+        // Setzt den Compilierten Shader
+        //  zD3d11Device: Das Device, mit welchem der Shader erstellt werden soll
+        //  bytes: Die Bytes des compilierten codes
+        //  length: die Länge des bytearrays
+        //  return: true, wenn bytes gültig ist, false sonst
+        bool setCompiledByteArray( unsigned char *bytes, int length ) override;
+        // Nach dem Aufruf dieser Funktion wird dieser Shader als Pixel Shader benutzt
+        //  zD3d11Context: Das Context Objekt, mit dem der Shader verwendet werden soll
+        void benutzeShader() override;
+        // gibt die compilierten bytes zurück
+        unsigned char *getCompiledShader() const;
+        // gitbt die anzahl der compilierten bytes zurück
+        int getCompiledLength() const;
+        // Erstellt den RootParameter zu einem constanten buffer
+        //  index: Der Index des Buffers
+        //  view: enthält nach dem Aufruf die position und größe des buffers im speicher
+        virtual void getViewDesc( int index, D3D12_CONSTANT_BUFFER_VIEW_DESC &view );
+    };
+
+    class DX12PixelShader : public DX12Shader
+    {
+    public:
+        DX12PixelShader( ID3D12Device2 *device, ID3D12GraphicsCommandList2 *list );
+    };
+
+    class DX12VertexShader : public DX12Shader
+    {
+    private:
+        D3D12_INPUT_ELEMENT_DESC *inputLayout;
+        int inputLayoutSize;
+
+    public:
+        // Konstruktor
+        DX12VertexShader( ID3D12Device2 *device, ID3D12GraphicsCommandList2 *list );
+        // Destruktor
+        ~DX12VertexShader();
+        // erstellt ein InputLayout für den Shader
+        // Darf erst nach compile aufgerufen werden
+        //  zD3d11Device: Das Device, mit dem das Layout erstellt werden soll
+        //  descArray: Ein Array mit initialisierungsdaten
+        //  anz: Die Anzahl der Elemente im Array
+        bool erstelleInputLayout( D3D12_INPUT_ELEMENT_DESC *descArray, int anz );
+        // Gint die Anzahl an eingabeparametern des Shaders zurück
+        int getInputLayoutSize() const;
+        // Gibt eine Liste mit formaten für jeden Eingabewert zurück
+        D3D12_INPUT_ELEMENT_DESC *zInputLayout() const;
+    };
 }

+ 107 - 0
Textur.cpp

@@ -2,6 +2,8 @@
 #include "Bild.h"
 #ifdef WIN32
 #include <d3d11.h>
+#include <d3d12.h>
+#include <d3dx12.h>
 #endif
 
 using namespace Framework;
@@ -164,4 +166,109 @@ bool DX11Textur::brauchtUpdate() const
 DX11Textur::operator ID3D11ShaderResourceView *( ) const
 {
     return view;
+}
+
+
+DX12Textur::DX12Textur( ID3D12Device2 *device, ID3D12GraphicsCommandList2 *copy, ID3D12GraphicsCommandList2 *direct )
+    : Textur(),
+    buffer( 0 ),
+    intermediate( 0 ),
+    device( device ),
+    copy( copy ),
+    direct( direct ),
+    shaderResource( 0 )
+{}
+
+DX12Textur::~DX12Textur()
+{
+    if( buffer )
+        buffer->Release();
+    if( intermediate )
+        intermediate->Release();
+}
+
+// Aktualisiert die Textur. Die Pixel des aktuellen Bildes werden in den Graphikspeicher kopiert
+bool DX12Textur::updateTextur()
+{
+    if( !bild )
+        return 0;
+    if( !buffer )
+    {
+        D3D12_RESOURCE_DESC description;
+        ZeroMemory( &description, sizeof( D3D12_RESOURCE_DESC ) );
+        description.Dimension = D3D12_RESOURCE_DIMENSION_TEXTURE2D;
+        description.Height = bild->getHeight();
+        description.Width = bild->getBreite();
+        description.DepthOrArraySize = 1;
+        description.MipLevels = 1;
+        description.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
+        description.SampleDesc.Count = 1;
+        description.Layout = D3D12_TEXTURE_LAYOUT_UNKNOWN;
+        description.Flags = D3D12_RESOURCE_FLAG_NONE;
+        D3D12_HEAP_PROPERTIES hprop;
+        hprop.Type = D3D12_HEAP_TYPE_DEFAULT;
+        hprop.CPUPageProperty = D3D12_CPU_PAGE_PROPERTY_UNKNOWN;
+        hprop.MemoryPoolPreference = D3D12_MEMORY_POOL_UNKNOWN;
+        hprop.CreationNodeMask = 1;
+        hprop.VisibleNodeMask = 1;
+        device->CreateCommittedResource( &hprop, D3D12_HEAP_FLAG_NONE, &description, D3D12_RESOURCE_STATE_COPY_DEST, 0, __uuidof( ID3D12Resource ), (void **)& buffer );
+        const UINT64 uploadBufferSize = GetRequiredIntermediateSize( buffer, 0, 1 );
+        D3D12_RESOURCE_DESC iDescription;
+        iDescription.Dimension = D3D12_RESOURCE_DIMENSION_BUFFER;
+        iDescription.Alignment = 0;
+        iDescription.Width = uploadBufferSize;
+        iDescription.Height = 1;
+        iDescription.DepthOrArraySize = 1;
+        iDescription.MipLevels = 1;
+        iDescription.Format = DXGI_FORMAT_UNKNOWN;
+        iDescription.SampleDesc.Count = 1;
+        iDescription.SampleDesc.Quality = 0;
+        iDescription.Layout = D3D12_TEXTURE_LAYOUT_ROW_MAJOR;
+        iDescription.Flags = D3D12_RESOURCE_FLAG_NONE;
+        hprop.Type = D3D12_HEAP_TYPE_UPLOAD;
+        device->CreateCommittedResource( &hprop, D3D12_HEAP_FLAG_NONE, &iDescription, D3D12_RESOURCE_STATE_GENERIC_READ, 0, __uuidof( ID3D12Resource ), (void **)& intermediate );
+        shaderResource = 0;
+    }
+    if( bild )
+    {
+        if( shaderResource )
+        {
+            D3D12_RESOURCE_BARRIER barrier;
+            barrier.Type = D3D12_RESOURCE_BARRIER_TYPE_TRANSITION;
+            barrier.Transition.pResource = buffer;
+            barrier.Transition.StateBefore = D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE;
+            barrier.Transition.StateAfter = D3D12_RESOURCE_STATE_COPY_DEST;
+            barrier.Transition.Subresource = 0;
+            barrier.Flags = D3D12_RESOURCE_BARRIER_FLAG_NONE;
+            direct->ResourceBarrier( 1, &barrier );
+            shaderResource = 0;
+        }
+        D3D12_SUBRESOURCE_DATA textureData = {};
+        textureData.pData = bild->getBuffer();
+        textureData.RowPitch = bild->getBreite() * sizeof( int );
+        textureData.SlicePitch = textureData.RowPitch * bild->getHeight();
+        UpdateSubresources( copy, buffer, intermediate, 0, 0, 1, &textureData );
+        D3D12_RESOURCE_BARRIER barrier;
+        barrier.Type = D3D12_RESOURCE_BARRIER_TYPE_TRANSITION;
+        barrier.Transition.pResource = buffer;
+        barrier.Transition.StateBefore = D3D12_RESOURCE_STATE_COPY_DEST;
+        barrier.Transition.StateAfter = D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE;
+        barrier.Transition.Subresource = 0;
+        barrier.Flags = D3D12_RESOURCE_BARRIER_FLAG_NONE;
+        direct->ResourceBarrier( 1, &barrier );
+        shaderResource = 1;
+    }
+    return 1;
+}
+
+// Gibt true zurük, wenn updateTextur aufgerufen werden muss
+bool DX12Textur::brauchtUpdate() const
+{
+    return bild && !buffer;
+}
+
+// Gibt die DX12 Resource zurück
+ID3D12Resource *DX12Textur::getResource()
+{
+    return buffer;
 }

+ 26 - 0
Textur.h

@@ -7,6 +7,11 @@ struct ID3D11ShaderResourceView;
 struct ID3D11Device;
 struct ID3D11DeviceContext;
 
+struct ID3D12Device2;
+struct D3D12_RESOURCE_DESC;
+struct ID3D12Resource;
+struct ID3D12GraphicsCommandList2;
+
 namespace Framework
 {
     class Bild; // Bild.h
@@ -71,4 +76,25 @@ namespace Framework
         // Gibt die verwendtete Shader Resource View zurück
         __declspec( dllexport ) operator ID3D11ShaderResourceView *( ) const;
     };
+
+    class DX12Textur : public Textur
+    {
+    private:
+        ID3D12Resource *buffer;
+        ID3D12Resource *intermediate;
+        ID3D12Device2 *device;
+        ID3D12GraphicsCommandList2 *copy;
+        ID3D12GraphicsCommandList2 *direct;
+        bool shaderResource;
+
+    public:
+        __declspec( dllexport ) DX12Textur( ID3D12Device2 *device, ID3D12GraphicsCommandList2 *copy, ID3D12GraphicsCommandList2 *direct );
+        __declspec( dllexport ) ~DX12Textur();
+        // Aktualisiert die Textur. Die Pixel des aktuellen Bildes werden in den Graphikspeicher kopiert
+        __declspec( dllexport ) bool updateTextur() override;
+        // Gibt true zurük, wenn updateTextur aufgerufen werden muss
+        __declspec( dllexport ) bool brauchtUpdate() const override;
+        // Gibt die DX12 Resource zurück
+        __declspec( dllexport ) ID3D12Resource *getResource();
+    };
 }

+ 4441 - 496
UIPixelShader.h

@@ -88,7 +88,7 @@
 // SV_TARGET                0   xyzw        0   TARGET   float   xyzw
 //
 ps_5_0
-dcl_globalFlags refactoringAllowed
+dcl_globalFlags refactoringAllowed | skipOptimization
 dcl_constantbuffer CB0[1], immediateIndexed
 dcl_constantbuffer CB1[1], immediateIndexed
 dcl_constantbuffer CB2[1], immediateIndexed
@@ -100,672 +100,4617 @@ dcl_input_ps linear v0.xyz
 dcl_input_ps linear v2.xy
 dcl_input_ps linear v3.xyz
 dcl_output o0.xyzw
-dcl_temps 7
-mov r0.xyzw, l(0,0,0,0)
+dcl_temps 6
+//
+// Initial variable locations:
+//   v0.x <- input.worldPos.x; v0.y <- input.worldPos.y; v0.z <- input.worldPos.z; v0.w <- input.worldPos.w; 
+//   v1.x <- input.position.x; v1.y <- input.position.y; v1.z <- input.position.z; v1.w <- input.position.w; 
+//   v2.x <- input.tex.x; v2.y <- input.tex.y; 
+//   v3.x <- input.normal.x; v3.y <- input.normal.y; v3.z <- input.normal.z; 
+//   o0.x <- <TexturePixelShader return value>.x; o0.y <- <TexturePixelShader return value>.y; o0.z <- <TexturePixelShader return value>.z; o0.w <- <TexturePixelShader return value>.w
+//
+#line 60 "C:\Users\kolja\OneDrive\Desktop\Kolja-Strohm-Games\Allgemein\Framework\DX11PixelShader.hlsl"
+itof r0.xyz, l(0, 0, 0, 0)  // r0.x <- diffuseLight.x; r0.y <- diffuseLight.y; r0.z <- diffuseLight.z
+
+#line 61
+itof r1.xyz, l(0, 0, 0, 0)  // r1.x <- specularLight.x; r1.y <- specularLight.y; r1.z <- specularLight.z
+
+#line 62
+mov r0.w, l(0)  // r0.w <- j
+mov r2.xyz, r0.xyzx  // r2.x <- diffuseLight.x; r2.y <- diffuseLight.y; r2.z <- diffuseLight.z
+mov r1.w, r0.w  // r1.w <- j
 loop 
-  ige r1.x, r0.w, cb2[0].x
-  breakc_nz r1.x
-  ld_structured_indexable(structured_buffer, stride=24)(mixed,mixed,mixed,mixed) r1.xyz, r0.w, l(0), t1.xyzx
-  dp3 r1.x, v3.xyzx, -r1.xyzx
-  lt r1.x, r1.x, l(0.000000)
-  if_nz r1.x
-    iadd r1.x, r0.w, l(1)
-    mov r0.w, r1.x
+  ilt r2.w, r1.w, cb2[0].x
+  breakc_z r2.w
+
+#line 64
+  ld_structured_indexable(structured_buffer, stride=24)(mixed,mixed,mixed,mixed) r3.x, r1.w, l(0), t1.xxxx
+  ld_structured_indexable(structured_buffer, stride=24)(mixed,mixed,mixed,mixed) r3.y, r1.w, l(4), t1.xxxx
+  ld_structured_indexable(structured_buffer, stride=24)(mixed,mixed,mixed,mixed) r3.z, r1.w, l(8), t1.xxxx
+  mov r3.xyz, -r3.xyzx
+  dp3 r2.w, v3.xyzx, r3.xyzx
+  itof r3.x, l(0)
+  lt r2.w, r2.w, r3.x
+  if_nz r2.w
+
+#line 65
+    iadd r1.w, r1.w, l(1)
     continue 
   endif 
-  ld_structured_indexable(structured_buffer, stride=24)(mixed,mixed,mixed,mixed) r1.xy, r0.w, l(0), t1.xyxx
-  ld_structured_indexable(structured_buffer, stride=24)(mixed,mixed,mixed,mixed) r2.xyzw, r0.w, l(8), t1.xyzw
-  mov r1.z, r2.x
-  dp3 r1.x, v3.xyzx, -r1.xyzx
-  mad r0.xyz, r2.yzwy, r1.xxxx, r0.xyzx
-  iadd r0.w, r0.w, l(1)
+
+#line 66
+  ld_structured_indexable(structured_buffer, stride=24)(mixed,mixed,mixed,mixed) r3.x, r1.w, l(12), t1.xxxx
+  ld_structured_indexable(structured_buffer, stride=24)(mixed,mixed,mixed,mixed) r3.y, r1.w, l(16), t1.xxxx
+  ld_structured_indexable(structured_buffer, stride=24)(mixed,mixed,mixed,mixed) r3.z, r1.w, l(20), t1.xxxx
+  ld_structured_indexable(structured_buffer, stride=24)(mixed,mixed,mixed,mixed) r4.x, r1.w, l(0), t1.xxxx
+  ld_structured_indexable(structured_buffer, stride=24)(mixed,mixed,mixed,mixed) r4.y, r1.w, l(4), t1.xxxx
+  ld_structured_indexable(structured_buffer, stride=24)(mixed,mixed,mixed,mixed) r4.z, r1.w, l(8), t1.xxxx
+  mov r4.xyz, -r4.xyzx
+  dp3 r2.w, v3.xyzx, r4.xyzx
+  mul r3.xyz, r2.wwww, r3.xyzx
+  add r2.xyz, r2.xyzx, r3.xyzx
+
+#line 62
+  iadd r1.w, r1.w, l(1)
+
+#line 67
 endloop 
-add r1.xyz, -v0.xyzx, cb0[0].xyzx
-dp3 r0.w, r1.xyzx, r1.xyzx
-rsq r0.w, r0.w
-mul r1.xyz, r0.wwww, r1.xyzx
-mov r2.xyz, r0.xyzx
-mov r3.xyz, l(0,0,0,0)
-mov r0.w, l(0)
+
+#line 68
+mov r0.x, l(0)  // r0.x <- i
+mov r0.yzw, r2.xxyz  // r0.y <- diffuseLight.x; r0.z <- diffuseLight.y; r0.w <- diffuseLight.z
+mov r3.xyz, r1.xyzx  // r3.x <- specularLight.x; r3.y <- specularLight.y; r3.z <- specularLight.z
+mov r1.w, r0.x  // r1.w <- i
 loop 
-  ige r1.w, r0.w, cb2[0].y
-  breakc_nz r1.w
-  ld_structured_indexable(structured_buffer, stride=28)(mixed,mixed,mixed,mixed) r4.xyz, r0.w, l(0), t2.xyzx
-  add r4.xyz, r4.xyzx, -v0.xyzx
-  dp3 r1.w, r4.xyzx, r4.xyzx
-  rsq r2.w, r1.w
-  mul r5.xyz, r2.wwww, r4.xyzx
-  dp3 r2.w, v3.xyzx, r5.xyzx
-  lt r3.w, l(0.000000), r2.w
-  if_nz r3.w
-    ld_structured_indexable(structured_buffer, stride=28)(mixed,mixed,mixed,mixed) r5.xyzw, r0.w, l(12), t2.xyzw
-    sqrt r1.w, r1.w
-    div r1.w, r5.w, r1.w
-    mul r6.xyz, r2.wwww, r5.xyzx
-    mad r2.xyz, r6.xyzx, r1.wwww, r2.xyzx
-    dp3 r2.w, -r4.xyzx, -r4.xyzx
-    rsq r2.w, r2.w
-    mul r4.xyz, r2.wwww, -r4.xyzx
-    dp3 r2.w, r4.xyzx, v3.xyzx
-    add r2.w, r2.w, r2.w
-    mad r4.xyz, v3.xyzx, -r2.wwww, r4.xyzx
-    dp3 r2.w, r4.xyzx, r4.xyzx
-    rsq r2.w, r2.w
-    mul r4.xyz, r2.wwww, r4.xyzx
-    dp3 r2.w, r4.xyzx, r1.xyzx
-    lt r3.w, l(0.000000), r2.w
-    mul r4.xyz, r2.wwww, r5.xyzx
-    mad r4.xyz, r4.xyzx, r1.wwww, r3.xyzx
-    movc r3.xyz, r3.wwww, r4.xyzx, r3.xyzx
+  ilt r2.w, r1.w, cb2[0].y
+  breakc_z r2.w
+
+#line 70
+  ld_structured_indexable(structured_buffer, stride=28)(mixed,mixed,mixed,mixed) r4.x, r1.w, l(0), t2.xxxx
+  ld_structured_indexable(structured_buffer, stride=28)(mixed,mixed,mixed,mixed) r4.y, r1.w, l(4), t2.xxxx
+  ld_structured_indexable(structured_buffer, stride=28)(mixed,mixed,mixed,mixed) r4.z, r1.w, l(8), t2.xxxx
+  mov r5.xyz, -v0.xyzx
+  add r4.xyz, r4.xyzx, r5.xyzx  // r4.x <- lightDir.x; r4.y <- lightDir.y; r4.z <- lightDir.z
+
+#line 71
+  ld_structured_indexable(structured_buffer, stride=28)(mixed,mixed,mixed,mixed) r2.w, r1.w, l(24), t2.xxxx
+  dp3 r3.w, r4.xyzx, r4.xyzx
+  sqrt r3.w, r3.w
+  div r2.w, r2.w, r3.w  // r2.w <- factor
+
+#line 72
+  dp3 r3.w, r4.xyzx, r4.xyzx
+  rsq r3.w, r3.w
+  mul r5.xyz, r3.wwww, r4.xyzx
+  dp3 r3.w, v3.xyzx, r5.xyzx  // r3.w <- f
+
+#line 73
+  itof r4.w, l(0)
+  lt r4.w, r4.w, r3.w
+  if_nz r4.w
+
+#line 75
+    ld_structured_indexable(structured_buffer, stride=28)(mixed,mixed,mixed,mixed) r5.x, r1.w, l(12), t2.xxxx
+    ld_structured_indexable(structured_buffer, stride=28)(mixed,mixed,mixed,mixed) r5.y, r1.w, l(16), t2.xxxx
+    ld_structured_indexable(structured_buffer, stride=28)(mixed,mixed,mixed,mixed) r5.z, r1.w, l(20), t2.xxxx
+    mul r5.xyz, r3.wwww, r5.xyzx
+    mul r5.xyz, r2.wwww, r5.xyzx
+    add r0.yzw, r0.yyzw, r5.xxyz
+
+#line 76
+    mov r4.xyz, -r4.xyzx
+    dp3 r3.w, r4.xyzx, r4.xyzx
+    rsq r3.w, r3.w
+    mul r4.xyz, r3.wwww, r4.xyzx
+    dp3 r3.w, r4.xyzx, v3.xyzx
+    add r3.w, r3.w, r3.w
+    mov r3.w, -r3.w
+    mul r5.xyz, r3.wwww, v3.xyzx
+    add r4.xyz, r4.xyzx, r5.xyzx
+    dp3 r3.w, r4.xyzx, r4.xyzx
+    rsq r3.w, r3.w
+    mul r4.xyz, r3.wwww, r4.xyzx
+    mov r5.xyz, -v0.xyzx
+    add r5.xyz, r5.xyzx, cb0[0].xyzx
+    dp3 r3.w, r5.xyzx, r5.xyzx
+    rsq r3.w, r3.w
+    mul r5.xyz, r3.wwww, r5.xyzx
+    dp3 r3.w, r4.xyzx, r5.xyzx  // r3.w <- f
+
+#line 77
+    itof r4.x, l(0)
+    lt r4.x, r4.x, r3.w
+    if_nz r4.x
+
+#line 78
+      ld_structured_indexable(structured_buffer, stride=28)(mixed,mixed,mixed,mixed) r4.x, r1.w, l(12), t2.xxxx
+      ld_structured_indexable(structured_buffer, stride=28)(mixed,mixed,mixed,mixed) r4.y, r1.w, l(16), t2.xxxx
+      ld_structured_indexable(structured_buffer, stride=28)(mixed,mixed,mixed,mixed) r4.z, r1.w, l(20), t2.xxxx
+      mul r4.xyz, r3.wwww, r4.xyzx
+      mul r4.xyz, r2.wwww, r4.xyzx
+      add r3.xyz, r3.xyzx, r4.xyzx
+    endif 
+
+#line 79
   endif 
-  iadd r0.w, r0.w, l(1)
+
+#line 80
+  iadd r1.w, r1.w, l(1)
 endloop 
-sample_indexable(texture2d)(float,float,float,float) r0.xyzw, v2.xyxx, t0.xyzw, s0
-mul r1.xyz, r2.xyzx, cb1[0].yyyy
-mad r0.xyz, r0.xyzx, cb1[0].xxxx, r1.xyzx
-mad_sat o0.xyz, r3.xyzx, cb1[0].zzzz, r0.xyzx
-mov o0.w, r0.w
+
+#line 81
+sample_indexable(texture2d)(float,float,float,float) r1.xyzw, v2.xyxx, t0.xyzw, s0  // r1.x <- materialColor.x; r1.y <- materialColor.y; r1.z <- materialColor.z; r1.w <- materialColor.w
+
+#line 82
+mul r1.xyz, r1.xyzx, cb1[0].xxxx
+mul r0.xyz, r0.yzwy, cb1[0].yyyy
+add r0.xyz, r0.xyzx, r1.xyzx
+mul r1.xyz, r3.xyzx, cb1[0].zzzz
+add r0.xyz, r0.xyzx, r1.xyzx
+max r0.xyz, r0.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
+min r0.xyz, r0.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)  // r0.x <- textureColor.x; r0.y <- textureColor.y; r0.z <- textureColor.z
+
+#line 83
+mov r1.w, r1.w  // r1.w <- textureColor.w
+
+#line 84
+mov o0.xyz, r0.xyzx
+mov o0.w, r1.w
 ret 
-// Approximately 65 instruction slots used
+// Approximately 103 instruction slots used
 #endif
 
 const BYTE UIPixelShader[] =
 {
-     68,  88,  66,  67, 214,  30, 
-    129, 152, 232,  92,   8,  31, 
-     88, 232, 203,  21, 146, 219, 
-    131,  18,   1,   0,   0,   0, 
-     52,  14,   0,   0,   5,   0, 
-      0,   0,  52,   0,   0,   0, 
-    120,   5,   0,   0,   8,   6, 
-      0,   0,  60,   6,   0,   0, 
-    152,  13,   0,   0,  82,  68, 
-     69,  70,  60,   5,   0,   0, 
-      5,   0,   0,   0, 108,   1, 
-      0,   0,   7,   0,   0,   0, 
-     60,   0,   0,   0,   0,   5, 
-    255, 255,   0,   1,   0,   0, 
-     20,   5,   0,   0,  82,  68, 
-     49,  49,  60,   0,   0,   0, 
-     24,   0,   0,   0,  32,   0, 
-      0,   0,  40,   0,   0,   0, 
-     36,   0,   0,   0,  12,   0, 
-      0,   0,   0,   0,   0,   0, 
-     28,   1,   0,   0,   3,   0, 
+     68,  88,  66,  67, 146, 225, 
+      5, 229,  26, 132,  14, 224, 
+    199, 183,  54, 131,  74,  29, 
+    244,  69,   1,   0,   0,   0, 
+    136, 104,   0,   0,   6,   0, 
+      0,   0,  56,   0,   0,   0, 
+    124,   5,   0,   0,  12,   6, 
+      0,   0,  64,   6,   0,   0, 
+    228,  17,   0,   0, 128,  18, 
+      0,   0,  82,  68,  69,  70, 
+     60,   5,   0,   0,   5,   0, 
+      0,   0, 108,   1,   0,   0, 
+      7,   0,   0,   0,  60,   0, 
+      0,   0,   0,   5, 255, 255, 
+      5,   1,   0,   0,  20,   5, 
+      0,   0,  82,  68,  49,  49, 
+     60,   0,   0,   0,  24,   0, 
+      0,   0,  32,   0,   0,   0, 
+     40,   0,   0,   0,  36,   0, 
+      0,   0,  12,   0,   0,   0, 
+      0,   0,   0,   0,  28,   1, 
+      0,   0,   3,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
       0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0,  39,   1,   0,   0, 
-      2,   0,   0,   0,   5,   0, 
-      0,   0,   4,   0,   0,   0, 
-    255, 255, 255, 255,   0,   0, 
+     39,   1,   0,   0,   2,   0, 
+      0,   0,   5,   0,   0,   0, 
+      4,   0,   0,   0, 255, 255, 
+    255, 255,   0,   0,   0,   0, 
+      1,   0,   0,   0,  13,   0, 
+      0,   0,  53,   1,   0,   0, 
+      5,   0,   0,   0,   6,   0, 
+      0,   0,   1,   0,   0,   0, 
+     24,   0,   0,   0,   1,   0, 
       0,   0,   1,   0,   0,   0, 
-     13,   0,   0,   0,  53,   1, 
+      1,   0,   0,   0,  66,   1, 
       0,   0,   5,   0,   0,   0, 
       6,   0,   0,   0,   1,   0, 
-      0,   0,  24,   0,   0,   0, 
-      1,   0,   0,   0,   1,   0, 
-      0,   0,   1,   0,   0,   0, 
-     66,   1,   0,   0,   5,   0, 
-      0,   0,   6,   0,   0,   0, 
-      1,   0,   0,   0,  28,   0, 
-      0,   0,   2,   0,   0,   0, 
-      1,   0,   0,   0,   1,   0, 
-      0,   0,  78,   1,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
+      0,   0,  28,   0,   0,   0, 
+      2,   0,   0,   0,   1,   0, 
       0,   0,   1,   0,   0,   0, 
-      1,   0,   0,   0,  85,   1, 
+     78,   1,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       1,   0,   0,   0,   1,   0, 
-      0,   0,   1,   0,   0,   0, 
-     94,   1,   0,   0,   0,   0, 
+      0,   0,  85,   1,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   2,   0,   0,   0, 
-      1,   0,   0,   0,   1,   0, 
-      0,   0,  83,  97, 109, 112, 
-    108, 101,  84, 121, 112, 101, 
-      0, 115, 104,  97, 100, 101, 
-    114,  84, 101, 120, 116, 117, 
-    114, 101,   0, 100, 105, 102, 
-    117, 115, 101,  76, 105, 103, 
-    104, 116, 115,   0, 112, 111, 
-    105, 110, 116,  76, 105, 103, 
-    104, 116, 115,   0,  75,  97, 
-    109, 101, 114,  97,   0,  77, 
-     97, 116, 101, 114, 105,  97, 
-    108,   0,  76, 105, 103, 104, 
-    116,  67, 111, 117, 110, 116, 
-      0, 171, 171, 171,  78,   1, 
+      0,   0,   0,   0,   1,   0, 
       0,   0,   1,   0,   0,   0, 
-    228,   1,   0,   0,  16,   0, 
+      1,   0,   0,   0,  94,   1, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  85,   1, 
-      0,   0,   3,   0,   0,   0, 
-     68,   2,   0,   0,  16,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  94,   1, 
-      0,   0,   2,   0,   0,   0, 
-     16,   3,   0,   0,  16,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  53,   1, 
+      2,   0,   0,   0,   1,   0, 
       0,   0,   1,   0,   0,   0, 
-    172,   3,   0,   0,  24,   0, 
+     83,  97, 109, 112, 108, 101, 
+     84, 121, 112, 101,   0, 115, 
+    104,  97, 100, 101, 114,  84, 
+    101, 120, 116, 117, 114, 101, 
+      0, 100, 105, 102, 117, 115, 
+    101,  76, 105, 103, 104, 116, 
+    115,   0, 112, 111, 105, 110, 
+    116,  76, 105, 103, 104, 116, 
+    115,   0,  75,  97, 109, 101, 
+    114,  97,   0,  77,  97, 116, 
+    101, 114, 105,  97, 108,   0, 
+     76, 105, 103, 104, 116,  67, 
+    111, 117, 110, 116,   0, 171, 
+    171, 171,  78,   1,   0,   0, 
+      1,   0,   0,   0, 228,   1, 
+      0,   0,  16,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      3,   0,   0,   0,  66,   1, 
-      0,   0,   1,   0,   0,   0, 
-    100,   4,   0,   0,  28,   0, 
+      0,   0,  85,   1,   0,   0, 
+      3,   0,   0,   0,  68,   2, 
+      0,   0,  16,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      3,   0,   0,   0,  12,   2, 
+      0,   0,  94,   1,   0,   0, 
+      2,   0,   0,   0,  16,   3, 
+      0,   0,  16,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-     16,   0,   0,   0,   2,   0, 
-      0,   0,  32,   2,   0,   0, 
+      0,   0,  53,   1,   0,   0, 
+      1,   0,   0,   0, 172,   3, 
+      0,   0,  24,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,  66,   1,   0,   0, 
+      1,   0,   0,   0, 100,   4, 
+      0,   0,  28,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,  12,   2,   0,   0, 
+      0,   0,   0,   0,  16,   0, 
+      0,   0,   2,   0,   0,   0, 
+     32,   2,   0,   0,   0,   0, 
+      0,   0, 255, 255, 255, 255, 
       0,   0,   0,   0, 255, 255, 
     255, 255,   0,   0,   0,   0, 
-    255, 255, 255, 255,   0,   0, 
-      0,   0, 107,  80, 111, 115, 
-    105, 116, 105, 111, 110,   0, 
-    102, 108, 111,  97, 116,  52, 
-      0, 171, 171, 171,   1,   0, 
-      3,   0,   1,   0,   4,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
+    107,  80, 111, 115, 105, 116, 
+    105, 111, 110,   0, 102, 108, 
+    111,  97, 116,  52,   0, 171, 
+    171, 171,   1,   0,   3,   0, 
+      1,   0,   4,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-     22,   2,   0,   0, 188,   2, 
       0,   0,   0,   0,   0,   0, 
-      4,   0,   0,   0,   2,   0, 
-      0,   0, 208,   2,   0,   0, 
-      0,   0,   0,   0, 255, 255, 
-    255, 255,   0,   0,   0,   0, 
-    255, 255, 255, 255,   0,   0, 
-      0,   0, 244,   2,   0,   0, 
-      4,   0,   0,   0,   4,   0, 
+      0,   0,   0,   0,  22,   2, 
+      0,   0, 188,   2,   0,   0, 
+      0,   0,   0,   0,   4,   0, 
       0,   0,   2,   0,   0,   0, 
     208,   2,   0,   0,   0,   0, 
       0,   0, 255, 255, 255, 255, 
       0,   0,   0,   0, 255, 255, 
     255, 255,   0,   0,   0,   0, 
-      1,   3,   0,   0,   8,   0, 
+    244,   2,   0,   0,   4,   0, 
       0,   0,   4,   0,   0,   0, 
       2,   0,   0,   0, 208,   2, 
       0,   0,   0,   0,   0,   0, 
     255, 255, 255, 255,   0,   0, 
       0,   0, 255, 255, 255, 255, 
-      0,   0,   0,   0,  97, 109, 
-     98, 105, 101, 110, 116,  70, 
-     97,  99, 116, 111, 114,   0, 
-    102, 108, 111,  97, 116,   0, 
-      0,   0,   3,   0,   1,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0, 202,   2,   0,   0, 
-    100, 105, 102, 102, 117, 115, 
-     70,  97,  99, 116, 111, 114, 
-      0, 115, 112, 101,  99, 117, 
-    108,  97, 114,  70,  97,  99, 
-    116, 111, 114,   0,  96,   3, 
-      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   1,   3, 
+      0,   0,   8,   0,   0,   0, 
       4,   0,   0,   0,   2,   0, 
-      0,   0, 120,   3,   0,   0, 
+      0,   0, 208,   2,   0,   0, 
       0,   0,   0,   0, 255, 255, 
     255, 255,   0,   0,   0,   0, 
     255, 255, 255, 255,   0,   0, 
-      0,   0, 156,   3,   0,   0, 
-      4,   0,   0,   0,   4,   0, 
+      0,   0,  97, 109,  98, 105, 
+    101, 110, 116,  70,  97,  99, 
+    116, 111, 114,   0, 102, 108, 
+    111,  97, 116,   0,   0,   0, 
+      3,   0,   1,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    202,   2,   0,   0, 100, 105, 
+    102, 102, 117, 115,  70,  97, 
+     99, 116, 111, 114,   0, 115, 
+    112, 101,  99, 117, 108,  97, 
+    114,  70,  97,  99, 116, 111, 
+    114,   0,  96,   3,   0,   0, 
+      0,   0,   0,   0,   4,   0, 
       0,   0,   2,   0,   0,   0, 
     120,   3,   0,   0,   0,   0, 
       0,   0, 255, 255, 255, 255, 
       0,   0,   0,   0, 255, 255, 
     255, 255,   0,   0,   0,   0, 
-    100, 105, 102, 102, 117, 115, 
-    101,  76, 105, 103, 104, 116, 
-     67, 111, 117, 110, 116,   0, 
-    105, 110, 116,   0, 171, 171, 
-      0,   0,   2,   0,   1,   0, 
-      1,   0,   0,   0,   0,   0, 
+    156,   3,   0,   0,   4,   0, 
+      0,   0,   4,   0,   0,   0, 
+      2,   0,   0,   0, 120,   3, 
       0,   0,   0,   0,   0,   0, 
+    255, 255, 255, 255,   0,   0, 
+      0,   0, 255, 255, 255, 255, 
+      0,   0,   0,   0, 100, 105, 
+    102, 102, 117, 115, 101,  76, 
+    105, 103, 104, 116,  67, 111, 
+    117, 110, 116,   0, 105, 110, 
+    116,   0, 171, 171,   0,   0, 
+      2,   0,   1,   0,   1,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0, 114,   3,   0,   0, 
-    112, 111, 105, 110, 116,  76, 
-    105, 103, 104, 116,  67, 111, 
-    117, 110, 116,   0, 212,   3, 
       0,   0,   0,   0,   0,   0, 
-     24,   0,   0,   0,   2,   0, 
-      0,   0,  64,   4,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    114,   3,   0,   0, 112, 111, 
+    105, 110, 116,  76, 105, 103, 
+    104, 116,  67, 111, 117, 110, 
+    116,   0, 212,   3,   0,   0, 
+      0,   0,   0,   0,  24,   0, 
+      0,   0,   2,   0,   0,   0, 
+     64,   4,   0,   0,   0,   0, 
+      0,   0, 255, 255, 255, 255, 
       0,   0,   0,   0, 255, 255, 
     255, 255,   0,   0,   0,   0, 
-    255, 255, 255, 255,   0,   0, 
-      0,   0,  36,  69, 108, 101, 
-    109, 101, 110, 116,   0,  68, 
-    105, 102, 102, 117, 115, 101, 
-     76, 105, 103, 104, 116,   0, 
-    100, 105, 114, 101,  99, 116, 
-    105, 111, 110,   0, 102, 108, 
-    111,  97, 116,  51,   0, 171, 
-      1,   0,   3,   0,   1,   0, 
-      3,   0,   0,   0,   0,   0, 
+     36,  69, 108, 101, 109, 101, 
+    110, 116,   0,  68, 105, 102, 
+    102, 117, 115, 101,  76, 105, 
+    103, 104, 116,   0, 100, 105, 
+    114, 101,  99, 116, 105, 111, 
+    110,   0, 102, 108, 111,  97, 
+    116,  51,   0, 171,   1,   0, 
+      3,   0,   1,   0,   3,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0, 244,   3,   0,   0, 
-     99, 111, 108, 111, 114,   0, 
-    171, 171, 234,   3,   0,   0, 
-    252,   3,   0,   0,   0,   0, 
-      0,   0,  32,   4,   0,   0, 
-    252,   3,   0,   0,  12,   0, 
-      0,   0,   5,   0,   0,   0, 
-      1,   0,   6,   0,   0,   0, 
-      2,   0,  40,   4,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+    244,   3,   0,   0,  99, 111, 
+    108, 111, 114,   0, 171, 171, 
+    234,   3,   0,   0, 252,   3, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 221,   3, 
-      0,   0, 212,   3,   0,   0, 
-      0,   0,   0,   0,  28,   0, 
-      0,   0,   2,   0,   0,   0, 
-    240,   4,   0,   0,   0,   0, 
+     32,   4,   0,   0, 252,   3, 
+      0,   0,  12,   0,   0,   0, 
+      5,   0,   0,   0,   1,   0, 
+      6,   0,   0,   0,   2,   0, 
+     40,   4,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 221,   3,   0,   0, 
+    212,   3,   0,   0,   0,   0, 
+      0,   0,  28,   0,   0,   0, 
+      2,   0,   0,   0, 240,   4, 
+      0,   0,   0,   0,   0,   0, 
+    255, 255, 255, 255,   0,   0, 
       0,   0, 255, 255, 255, 255, 
-      0,   0,   0,   0, 255, 255, 
-    255, 255,   0,   0,   0,   0, 
-     80, 111, 105, 110, 116,  76, 
-    105, 103, 104, 116,   0, 112, 
-    111, 115, 105, 116, 105, 111, 
-    110,   0, 114,  97, 100, 105, 
-    117, 115,   0, 171,   0,   0, 
-      3,   0,   1,   0,   1,   0, 
+      0,   0,   0,   0,  80, 111, 
+    105, 110, 116,  76, 105, 103, 
+    104, 116,   0, 112, 111, 115, 
+    105, 116, 105, 111, 110,   0, 
+    114,  97, 100, 105, 117, 115, 
+      0, 171,   0,   0,   3,   0, 
+      1,   0,   1,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 202,   2, 
+      0,   0, 151,   4,   0,   0, 
+    252,   3,   0,   0,   0,   0, 
+      0,   0,  32,   4,   0,   0, 
+    252,   3,   0,   0,  12,   0, 
+      0,   0, 160,   4,   0,   0, 
+    168,   4,   0,   0,  24,   0, 
+      0,   0,   5,   0,   0,   0, 
+      1,   0,   7,   0,   0,   0, 
+      3,   0, 204,   4,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-    202,   2,   0,   0, 151,   4, 
-      0,   0, 252,   3,   0,   0, 
-      0,   0,   0,   0,  32,   4, 
-      0,   0, 252,   3,   0,   0, 
-     12,   0,   0,   0, 160,   4, 
-      0,   0, 168,   4,   0,   0, 
-     24,   0,   0,   0,   5,   0, 
-      0,   0,   1,   0,   7,   0, 
-      0,   0,   3,   0, 204,   4, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 140,   4, 
+      0,   0,  77, 105,  99, 114, 
+    111, 115, 111, 102, 116,  32, 
+     40,  82,  41,  32,  72,  76, 
+     83,  76,  32,  83, 104,  97, 
+    100, 101, 114,  32,  67, 111, 
+    109, 112, 105, 108, 101, 114, 
+     32,  49,  48,  46,  49,   0, 
+     73,  83,  71,  78, 136,   0, 
+      0,   0,   4,   0,   0,   0, 
+      8,   0,   0,   0, 104,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
       0,   0,   0,   0,   0,   0, 
-    140,   4,   0,   0,  77, 105, 
-     99, 114, 111, 115, 111, 102, 
-    116,  32,  40,  82,  41,  32, 
-     72,  76,  83,  76,  32,  83, 
-    104,  97, 100, 101, 114,  32, 
-     67, 111, 109, 112, 105, 108, 
-    101, 114,  32,  49,  48,  46, 
-     49,   0,  73,  83,  71,  78, 
-    136,   0,   0,   0,   4,   0, 
-      0,   0,   8,   0,   0,   0, 
-    104,   0,   0,   0,   0,   0, 
+     15,   7,   0,   0, 113,   0, 
       0,   0,   0,   0,   0,   0, 
-      3,   0,   0,   0,   0,   0, 
-      0,   0,  15,   7,   0,   0, 
-    113,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,   3,   0, 
       0,   0,   1,   0,   0,   0, 
-      3,   0,   0,   0,   1,   0, 
-      0,   0,  15,   0,   0,   0, 
-    125,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      3,   0,   0,   0,   2,   0, 
-      0,   0,   3,   3,   0,   0, 
-    125,   0,   0,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
-      3,   0,   0,   0,   3,   0, 
-      0,   0,   7,   7,   0,   0, 
-     80,  79,  83,  73,  84,  73, 
-     79,  78,   0,  83,  86,  95, 
-     80,  79,  83,  73,  84,  73, 
-     79,  78,   0,  84,  69,  88, 
-     67,  79,  79,  82,  68,   0, 
-    171, 171,  79,  83,  71,  78, 
-     44,   0,   0,   0,   1,   0, 
-      0,   0,   8,   0,   0,   0, 
-     32,   0,   0,   0,   0,   0, 
+     15,   0,   0,   0, 125,   0, 
       0,   0,   0,   0,   0,   0, 
-      3,   0,   0,   0,   0,   0, 
-      0,   0,  15,   0,   0,   0, 
-     83,  86,  95,  84,  65,  82, 
-     71,  69,  84,   0, 171, 171, 
-     83,  72,  69,  88,  84,   7, 
-      0,   0,  80,   0,   0,   0, 
-    213,   1,   0,   0, 106,   8, 
-      0,   1,  89,   0,   0,   4, 
-     70, 142,  32,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   2,   0,   0,   0, 
+      3,   3,   0,   0, 125,   0, 
+      0,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   3,   0,   0,   0, 
+      7,   7,   0,   0,  80,  79, 
+     83,  73,  84,  73,  79,  78, 
+      0,  83,  86,  95,  80,  79, 
+     83,  73,  84,  73,  79,  78, 
+      0,  84,  69,  88,  67,  79, 
+     79,  82,  68,   0, 171, 171, 
+     79,  83,  71,  78,  44,   0, 
       0,   0,   1,   0,   0,   0, 
+      8,   0,   0,   0,  32,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   3,   0, 
+      0,   0,   0,   0,   0,   0, 
+     15,   0,   0,   0,  83,  86, 
+     95,  84,  65,  82,  71,  69, 
+     84,   0, 171, 171,  83,  72, 
+     69,  88, 156,  11,   0,   0, 
+     80,   0,   0,   0, 231,   2, 
+      0,   0, 106, 136,   0,   1, 
      89,   0,   0,   4,  70, 142, 
-     32,   0,   1,   0,   0,   0, 
+     32,   0,   0,   0,   0,   0, 
       1,   0,   0,   0,  89,   0, 
       0,   4,  70, 142,  32,   0, 
-      2,   0,   0,   0,   1,   0, 
-      0,   0,  90,   0,   0,   3, 
-      0,  96,  16,   0,   0,   0, 
-      0,   0,  88,  24,   0,   4, 
-      0, 112,  16,   0,   0,   0, 
-      0,   0,  85,  85,   0,   0, 
-    162,   0,   0,   4,   0, 112, 
-     16,   0,   1,   0,   0,   0, 
-     24,   0,   0,   0, 162,   0, 
+      1,   0,   0,   0,   1,   0, 
+      0,   0,  89,   0,   0,   4, 
+     70, 142,  32,   0,   2,   0, 
+      0,   0,   1,   0,   0,   0, 
+     90,   0,   0,   3,   0,  96, 
+     16,   0,   0,   0,   0,   0, 
+     88,  24,   0,   4,   0, 112, 
+     16,   0,   0,   0,   0,   0, 
+     85,  85,   0,   0, 162,   0, 
       0,   4,   0, 112,  16,   0, 
-      2,   0,   0,   0,  28,   0, 
-      0,   0,  98,  16,   0,   3, 
-    114,  16,  16,   0,   0,   0, 
-      0,   0,  98,  16,   0,   3, 
-     50,  16,  16,   0,   2,   0, 
-      0,   0,  98,  16,   0,   3, 
-    114,  16,  16,   0,   3,   0, 
-      0,   0, 101,   0,   0,   3, 
-    242,  32,  16,   0,   0,   0, 
-      0,   0, 104,   0,   0,   2, 
-      7,   0,   0,   0,  54,   0, 
-      0,   8, 242,   0,  16,   0, 
-      0,   0,   0,   0,   2,  64, 
+      1,   0,   0,   0,  24,   0, 
+      0,   0, 162,   0,   0,   4, 
+      0, 112,  16,   0,   2,   0, 
+      0,   0,  28,   0,   0,   0, 
+     98,  16,   0,   3, 114,  16, 
+     16,   0,   0,   0,   0,   0, 
+     98,  16,   0,   3,  50,  16, 
+     16,   0,   2,   0,   0,   0, 
+     98,  16,   0,   3, 114,  16, 
+     16,   0,   3,   0,   0,   0, 
+    101,   0,   0,   3, 242,  32, 
+     16,   0,   0,   0,   0,   0, 
+    104,   0,   0,   2,   6,   0, 
+      0,   0,  43,   0,   0,   8, 
+    114,   0,  16,   0,   0,   0, 
+      0,   0,   2,  64,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  43,   0, 
+      0,   8, 114,   0,  16,   0, 
+      1,   0,   0,   0,   2,  64, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-     48,   0,   0,   1,  33,   0, 
-      0,   8,  18,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+     54,   0,   0,   5, 130,   0, 
+     16,   0,   0,   0,   0,   0, 
+      1,  64,   0,   0,   0,   0, 
+      0,   0,  54,   0,   0,   5, 
+    114,   0,  16,   0,   2,   0, 
+      0,   0,  70,   2,  16,   0, 
+      0,   0,   0,   0,  54,   0, 
+      0,   5, 130,   0,  16,   0, 
       1,   0,   0,   0,  58,   0, 
      16,   0,   0,   0,   0,   0, 
+     48,   0,   0,   1,  34,   0, 
+      0,   8, 130,   0,  16,   0, 
+      2,   0,   0,   0,  58,   0, 
+     16,   0,   1,   0,   0,   0, 
      10, 128,  32,   0,   2,   0, 
       0,   0,   0,   0,   0,   0, 
-      3,   0,   4,   3,  10,   0, 
-     16,   0,   1,   0,   0,   0, 
+      3,   0,   0,   3,  58,   0, 
+     16,   0,   2,   0,   0,   0, 
     167,   0,   0, 139,   2, 195, 
       0, 128, 131, 153,  25,   0, 
-    114,   0,  16,   0,   1,   0, 
+     18,   0,  16,   0,   3,   0, 
       0,   0,  58,   0,  16,   0, 
-      0,   0,   0,   0,   1,  64, 
+      1,   0,   0,   0,   1,  64, 
       0,   0,   0,   0,   0,   0, 
-     70, 114,  16,   0,   1,   0, 
-      0,   0,  16,   0,   0,   8, 
-     18,   0,  16,   0,   1,   0, 
-      0,   0,  70,  18,  16,   0, 
-      3,   0,   0,   0,  70,   2, 
-     16, 128,  65,   0,   0,   0, 
-      1,   0,   0,   0,  49,   0, 
-      0,   7,  18,   0,  16,   0, 
-      1,   0,   0,   0,  10,   0, 
+      6, 112,  16,   0,   1,   0, 
+      0,   0, 167,   0,   0, 139, 
+      2, 195,   0, 128, 131, 153, 
+     25,   0,  34,   0,  16,   0, 
+      3,   0,   0,   0,  58,   0, 
      16,   0,   1,   0,   0,   0, 
-      1,  64,   0,   0,   0,   0, 
-      0,   0,  31,   0,   4,   3, 
-     10,   0,  16,   0,   1,   0, 
-      0,   0,  30,   0,   0,   7, 
-     18,   0,  16,   0,   1,   0, 
-      0,   0,  58,   0,  16,   0, 
-      0,   0,   0,   0,   1,  64, 
-      0,   0,   1,   0,   0,   0, 
-     54,   0,   0,   5, 130,   0, 
-     16,   0,   0,   0,   0,   0, 
-     10,   0,  16,   0,   1,   0, 
+      1,  64,   0,   0,   4,   0, 
+      0,   0,   6, 112,  16,   0, 
+      1,   0,   0,   0, 167,   0, 
+      0, 139,   2, 195,   0, 128, 
+    131, 153,  25,   0,  66,   0, 
+     16,   0,   3,   0,   0,   0, 
+     58,   0,  16,   0,   1,   0, 
+      0,   0,   1,  64,   0,   0, 
+      8,   0,   0,   0,   6, 112, 
+     16,   0,   1,   0,   0,   0, 
+     54,   0,   0,   6, 114,   0, 
+     16,   0,   3,   0,   0,   0, 
+     70,   2,  16, 128,  65,   0, 
+      0,   0,   3,   0,   0,   0, 
+     16,   0,   0,   7, 130,   0, 
+     16,   0,   2,   0,   0,   0, 
+     70,  18,  16,   0,   3,   0, 
+      0,   0,  70,   2,  16,   0, 
+      3,   0,   0,   0,  43,   0, 
+      0,   5,  18,   0,  16,   0, 
+      3,   0,   0,   0,   1,  64, 
+      0,   0,   0,   0,   0,   0, 
+     49,   0,   0,   7, 130,   0, 
+     16,   0,   2,   0,   0,   0, 
+     58,   0,  16,   0,   2,   0, 
+      0,   0,  10,   0,  16,   0, 
+      3,   0,   0,   0,  31,   0, 
+      4,   3,  58,   0,  16,   0, 
+      2,   0,   0,   0,  30,   0, 
+      0,   7, 130,   0,  16,   0, 
+      1,   0,   0,   0,  58,   0, 
+     16,   0,   1,   0,   0,   0, 
+      1,  64,   0,   0,   1,   0, 
       0,   0,   7,   0,   0,   1, 
      21,   0,   0,   1, 167,   0, 
       0, 139,   2, 195,   0, 128, 
-    131, 153,  25,   0,  50,   0, 
-     16,   0,   1,   0,   0,   0, 
-     58,   0,  16,   0,   0,   0, 
+    131, 153,  25,   0,  18,   0, 
+     16,   0,   3,   0,   0,   0, 
+     58,   0,  16,   0,   1,   0, 
       0,   0,   1,  64,   0,   0, 
-      0,   0,   0,   0,  70, 112, 
+     12,   0,   0,   0,   6, 112, 
      16,   0,   1,   0,   0,   0, 
     167,   0,   0, 139,   2, 195, 
       0, 128, 131, 153,  25,   0, 
-    242,   0,  16,   0,   2,   0, 
+     34,   0,  16,   0,   3,   0, 
       0,   0,  58,   0,  16,   0, 
-      0,   0,   0,   0,   1,  64, 
-      0,   0,   8,   0,   0,   0, 
-     70, 126,  16,   0,   1,   0, 
-      0,   0,  54,   0,   0,   5, 
-     66,   0,  16,   0,   1,   0, 
-      0,   0,  10,   0,  16,   0, 
-      2,   0,   0,   0,  16,   0, 
-      0,   8,  18,   0,  16,   0, 
-      1,   0,   0,   0,  70,  18, 
-     16,   0,   3,   0,   0,   0, 
-     70,   2,  16, 128,  65,   0, 
-      0,   0,   1,   0,   0,   0, 
-     50,   0,   0,   9, 114,   0, 
-     16,   0,   0,   0,   0,   0, 
-    150,   7,  16,   0,   2,   0, 
-      0,   0,   6,   0,  16,   0, 
-      1,   0,   0,   0,  70,   2, 
-     16,   0,   0,   0,   0,   0, 
-     30,   0,   0,   7, 130,   0, 
-     16,   0,   0,   0,   0,   0, 
-     58,   0,  16,   0,   0,   0, 
+      1,   0,   0,   0,   1,  64, 
+      0,   0,  16,   0,   0,   0, 
+      6, 112,  16,   0,   1,   0, 
+      0,   0, 167,   0,   0, 139, 
+      2, 195,   0, 128, 131, 153, 
+     25,   0,  66,   0,  16,   0, 
+      3,   0,   0,   0,  58,   0, 
+     16,   0,   1,   0,   0,   0, 
+      1,  64,   0,   0,  20,   0, 
+      0,   0,   6, 112,  16,   0, 
+      1,   0,   0,   0, 167,   0, 
+      0, 139,   2, 195,   0, 128, 
+    131, 153,  25,   0,  18,   0, 
+     16,   0,   4,   0,   0,   0, 
+     58,   0,  16,   0,   1,   0, 
       0,   0,   1,  64,   0,   0, 
-      1,   0,   0,   0,  22,   0, 
-      0,   1,   0,   0,   0,   9, 
-    114,   0,  16,   0,   1,   0, 
-      0,   0,  70,  18,  16, 128, 
-     65,   0,   0,   0,   0,   0, 
-      0,   0,  70, 130,  32,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,  16,   0,   0,   7, 
-    130,   0,  16,   0,   0,   0, 
-      0,   0,  70,   2,  16,   0, 
-      1,   0,   0,   0,  70,   2, 
+      0,   0,   0,   0,   6, 112, 
      16,   0,   1,   0,   0,   0, 
-     68,   0,   0,   5, 130,   0, 
-     16,   0,   0,   0,   0,   0, 
-     58,   0,  16,   0,   0,   0, 
+    167,   0,   0, 139,   2, 195, 
+      0, 128, 131, 153,  25,   0, 
+     34,   0,  16,   0,   4,   0, 
+      0,   0,  58,   0,  16,   0, 
+      1,   0,   0,   0,   1,  64, 
+      0,   0,   4,   0,   0,   0, 
+      6, 112,  16,   0,   1,   0, 
+      0,   0, 167,   0,   0, 139, 
+      2, 195,   0, 128, 131, 153, 
+     25,   0,  66,   0,  16,   0, 
+      4,   0,   0,   0,  58,   0, 
+     16,   0,   1,   0,   0,   0, 
+      1,  64,   0,   0,   8,   0, 
+      0,   0,   6, 112,  16,   0, 
+      1,   0,   0,   0,  54,   0, 
+      0,   6, 114,   0,  16,   0, 
+      4,   0,   0,   0,  70,   2, 
+     16, 128,  65,   0,   0,   0, 
+      4,   0,   0,   0,  16,   0, 
+      0,   7, 130,   0,  16,   0, 
+      2,   0,   0,   0,  70,  18, 
+     16,   0,   3,   0,   0,   0, 
+     70,   2,  16,   0,   4,   0, 
       0,   0,  56,   0,   0,   7, 
-    114,   0,  16,   0,   1,   0, 
+    114,   0,  16,   0,   3,   0, 
       0,   0, 246,  15,  16,   0, 
-      0,   0,   0,   0,  70,   2, 
-     16,   0,   1,   0,   0,   0, 
-     54,   0,   0,   5, 114,   0, 
+      2,   0,   0,   0,  70,   2, 
+     16,   0,   3,   0,   0,   0, 
+      0,   0,   0,   7, 114,   0, 
      16,   0,   2,   0,   0,   0, 
-     70,   2,  16,   0,   0,   0, 
-      0,   0,  54,   0,   0,   8, 
-    114,   0,  16,   0,   3,   0, 
-      0,   0,   2,  64,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,  54,   0, 
-      0,   5, 130,   0,  16,   0, 
-      0,   0,   0,   0,   1,  64, 
-      0,   0,   0,   0,   0,   0, 
-     48,   0,   0,   1,  33,   0, 
-      0,   8, 130,   0,  16,   0, 
+     70,   2,  16,   0,   2,   0, 
+      0,   0,  70,   2,  16,   0, 
+      3,   0,   0,   0,  30,   0, 
+      0,   7, 130,   0,  16,   0, 
       1,   0,   0,   0,  58,   0, 
+     16,   0,   1,   0,   0,   0, 
+      1,  64,   0,   0,   1,   0, 
+      0,   0,  22,   0,   0,   1, 
+     54,   0,   0,   5,  18,   0, 
      16,   0,   0,   0,   0,   0, 
-     26, 128,  32,   0,   2,   0, 
-      0,   0,   0,   0,   0,   0, 
-      3,   0,   4,   3,  58,   0, 
+      1,  64,   0,   0,   0,   0, 
+      0,   0,  54,   0,   0,   5, 
+    226,   0,  16,   0,   0,   0, 
+      0,   0,   6,   9,  16,   0, 
+      2,   0,   0,   0,  54,   0, 
+      0,   5, 114,   0,  16,   0, 
+      3,   0,   0,   0,  70,   2, 
      16,   0,   1,   0,   0,   0, 
-    167,   0,   0, 139,   2, 227, 
+     54,   0,   0,   5, 130,   0, 
+     16,   0,   1,   0,   0,   0, 
+     10,   0,  16,   0,   0,   0, 
+      0,   0,  48,   0,   0,   1, 
+     34,   0,   0,   8, 130,   0, 
+     16,   0,   2,   0,   0,   0, 
+     58,   0,  16,   0,   1,   0, 
+      0,   0,  26, 128,  32,   0, 
+      2,   0,   0,   0,   0,   0, 
+      0,   0,   3,   0,   0,   3, 
+     58,   0,  16,   0,   2,   0, 
+      0,   0, 167,   0,   0, 139, 
+      2, 227,   0, 128, 131, 153, 
+     25,   0,  18,   0,  16,   0, 
+      4,   0,   0,   0,  58,   0, 
+     16,   0,   1,   0,   0,   0, 
+      1,  64,   0,   0,   0,   0, 
+      0,   0,   6, 112,  16,   0, 
+      2,   0,   0,   0, 167,   0, 
+      0, 139,   2, 227,   0, 128, 
+    131, 153,  25,   0,  34,   0, 
+     16,   0,   4,   0,   0,   0, 
+     58,   0,  16,   0,   1,   0, 
+      0,   0,   1,  64,   0,   0, 
+      4,   0,   0,   0,   6, 112, 
+     16,   0,   2,   0,   0,   0, 
+    167,   0,   0, 139,   2, 227, 
       0, 128, 131, 153,  25,   0, 
-    114,   0,  16,   0,   4,   0, 
+     66,   0,  16,   0,   4,   0, 
       0,   0,  58,   0,  16,   0, 
-      0,   0,   0,   0,   1,  64, 
-      0,   0,   0,   0,   0,   0, 
-     70, 114,  16,   0,   2,   0, 
-      0,   0,   0,   0,   0,   8, 
+      1,   0,   0,   0,   1,  64, 
+      0,   0,   8,   0,   0,   0, 
+      6, 112,  16,   0,   2,   0, 
+      0,   0,  54,   0,   0,   6, 
+    114,   0,  16,   0,   5,   0, 
+      0,   0,  70,  18,  16, 128, 
+     65,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   7, 
     114,   0,  16,   0,   4,   0, 
       0,   0,  70,   2,  16,   0, 
-      4,   0,   0,   0,  70,  18, 
-     16, 128,  65,   0,   0,   0, 
-      0,   0,   0,   0,  16,   0, 
-      0,   7, 130,   0,  16,   0, 
-      1,   0,   0,   0,  70,   2, 
-     16,   0,   4,   0,   0,   0, 
-     70,   2,  16,   0,   4,   0, 
-      0,   0,  68,   0,   0,   5, 
+      4,   0,   0,   0,  70,   2, 
+     16,   0,   5,   0,   0,   0, 
+    167,   0,   0, 139,   2, 227, 
+      0, 128, 131, 153,  25,   0, 
     130,   0,  16,   0,   2,   0, 
       0,   0,  58,   0,  16,   0, 
-      1,   0,   0,   0,  56,   0, 
-      0,   7, 114,   0,  16,   0, 
-      5,   0,   0,   0, 246,  15, 
-     16,   0,   2,   0,   0,   0, 
-     70,   2,  16,   0,   4,   0, 
+      1,   0,   0,   0,   1,  64, 
+      0,   0,  24,   0,   0,   0, 
+      6, 112,  16,   0,   2,   0, 
       0,   0,  16,   0,   0,   7, 
+    130,   0,  16,   0,   3,   0, 
+      0,   0,  70,   2,  16,   0, 
+      4,   0,   0,   0,  70,   2, 
+     16,   0,   4,   0,   0,   0, 
+     75,   0,   0,   5, 130,   0, 
+     16,   0,   3,   0,   0,   0, 
+     58,   0,  16,   0,   3,   0, 
+      0,   0,  14,   0,   0,   7, 
     130,   0,  16,   0,   2,   0, 
-      0,   0,  70,  18,  16,   0, 
-      3,   0,   0,   0,  70,   2, 
+      0,   0,  58,   0,  16,   0, 
+      2,   0,   0,   0,  58,   0, 
+     16,   0,   3,   0,   0,   0, 
+     16,   0,   0,   7, 130,   0, 
+     16,   0,   3,   0,   0,   0, 
+     70,   2,  16,   0,   4,   0, 
+      0,   0,  70,   2,  16,   0, 
+      4,   0,   0,   0,  68,   0, 
+      0,   5, 130,   0,  16,   0, 
+      3,   0,   0,   0,  58,   0, 
+     16,   0,   3,   0,   0,   0, 
+     56,   0,   0,   7, 114,   0, 
      16,   0,   5,   0,   0,   0, 
-     49,   0,   0,   7, 130,   0, 
+    246,  15,  16,   0,   3,   0, 
+      0,   0,  70,   2,  16,   0, 
+      4,   0,   0,   0,  16,   0, 
+      0,   7, 130,   0,  16,   0, 
+      3,   0,   0,   0,  70,  18, 
      16,   0,   3,   0,   0,   0, 
-      1,  64,   0,   0,   0,   0, 
-      0,   0,  58,   0,  16,   0, 
-      2,   0,   0,   0,  31,   0, 
-      4,   3,  58,   0,  16,   0, 
-      3,   0,   0,   0, 167,   0, 
+     70,   2,  16,   0,   5,   0, 
+      0,   0,  43,   0,   0,   5, 
+    130,   0,  16,   0,   4,   0, 
+      0,   0,   1,  64,   0,   0, 
+      0,   0,   0,   0,  49,   0, 
+      0,   7, 130,   0,  16,   0, 
+      4,   0,   0,   0,  58,   0, 
+     16,   0,   4,   0,   0,   0, 
+     58,   0,  16,   0,   3,   0, 
+      0,   0,  31,   0,   4,   3, 
+     58,   0,  16,   0,   4,   0, 
+      0,   0, 167,   0,   0, 139, 
+      2, 227,   0, 128, 131, 153, 
+     25,   0,  18,   0,  16,   0, 
+      5,   0,   0,   0,  58,   0, 
+     16,   0,   1,   0,   0,   0, 
+      1,  64,   0,   0,  12,   0, 
+      0,   0,   6, 112,  16,   0, 
+      2,   0,   0,   0, 167,   0, 
       0, 139,   2, 227,   0, 128, 
-    131, 153,  25,   0, 242,   0, 
+    131, 153,  25,   0,  34,   0, 
      16,   0,   5,   0,   0,   0, 
-     58,   0,  16,   0,   0,   0, 
+     58,   0,  16,   0,   1,   0, 
       0,   0,   1,  64,   0,   0, 
-     12,   0,   0,   0,  70, 126, 
+     16,   0,   0,   0,   6, 112, 
      16,   0,   2,   0,   0,   0, 
-     75,   0,   0,   5, 130,   0, 
-     16,   0,   1,   0,   0,   0, 
-     58,   0,  16,   0,   1,   0, 
-      0,   0,  14,   0,   0,   7, 
-    130,   0,  16,   0,   1,   0, 
+    167,   0,   0, 139,   2, 227, 
+      0, 128, 131, 153,  25,   0, 
+     66,   0,  16,   0,   5,   0, 
       0,   0,  58,   0,  16,   0, 
-      5,   0,   0,   0,  58,   0, 
-     16,   0,   1,   0,   0,   0, 
+      1,   0,   0,   0,   1,  64, 
+      0,   0,  20,   0,   0,   0, 
+      6, 112,  16,   0,   2,   0, 
+      0,   0,  56,   0,   0,   7, 
+    114,   0,  16,   0,   5,   0, 
+      0,   0, 246,  15,  16,   0, 
+      3,   0,   0,   0,  70,   2, 
+     16,   0,   5,   0,   0,   0, 
      56,   0,   0,   7, 114,   0, 
-     16,   0,   6,   0,   0,   0, 
+     16,   0,   5,   0,   0,   0, 
     246,  15,  16,   0,   2,   0, 
       0,   0,  70,   2,  16,   0, 
-      5,   0,   0,   0,  50,   0, 
-      0,   9, 114,   0,  16,   0, 
-      2,   0,   0,   0,  70,   2, 
-     16,   0,   6,   0,   0,   0, 
-    246,  15,  16,   0,   1,   0, 
-      0,   0,  70,   2,  16,   0, 
-      2,   0,   0,   0,  16,   0, 
-      0,   9, 130,   0,  16,   0, 
-      2,   0,   0,   0,  70,   2, 
-     16, 128,  65,   0,   0,   0, 
-      4,   0,   0,   0,  70,   2, 
-     16, 128,  65,   0,   0,   0, 
-      4,   0,   0,   0,  68,   0, 
-      0,   5, 130,   0,  16,   0, 
-      2,   0,   0,   0,  58,   0, 
-     16,   0,   2,   0,   0,   0, 
-     56,   0,   0,   8, 114,   0, 
-     16,   0,   4,   0,   0,   0, 
-    246,  15,  16,   0,   2,   0, 
+      5,   0,   0,   0,   0,   0, 
+      0,   7, 226,   0,  16,   0, 
+      0,   0,   0,   0,  86,  14, 
+     16,   0,   0,   0,   0,   0, 
+      6,   9,  16,   0,   5,   0, 
+      0,   0,  54,   0,   0,   6, 
+    114,   0,  16,   0,   4,   0, 
       0,   0,  70,   2,  16, 128, 
      65,   0,   0,   0,   4,   0, 
       0,   0,  16,   0,   0,   7, 
-    130,   0,  16,   0,   2,   0, 
-      0,   0,  70,   2,  16,   0, 
-      4,   0,   0,   0,  70,  18, 
-     16,   0,   3,   0,   0,   0, 
-      0,   0,   0,   7, 130,   0, 
-     16,   0,   2,   0,   0,   0, 
-     58,   0,  16,   0,   2,   0, 
-      0,   0,  58,   0,  16,   0, 
-      2,   0,   0,   0,  50,   0, 
-      0,  10, 114,   0,  16,   0, 
-      4,   0,   0,   0,  70,  18, 
-     16,   0,   3,   0,   0,   0, 
-    246,  15,  16, 128,  65,   0, 
-      0,   0,   2,   0,   0,   0, 
-     70,   2,  16,   0,   4,   0, 
-      0,   0,  16,   0,   0,   7, 
-    130,   0,  16,   0,   2,   0, 
+    130,   0,  16,   0,   3,   0, 
       0,   0,  70,   2,  16,   0, 
       4,   0,   0,   0,  70,   2, 
      16,   0,   4,   0,   0,   0, 
      68,   0,   0,   5, 130,   0, 
-     16,   0,   2,   0,   0,   0, 
-     58,   0,  16,   0,   2,   0, 
+     16,   0,   3,   0,   0,   0, 
+     58,   0,  16,   0,   3,   0, 
       0,   0,  56,   0,   0,   7, 
     114,   0,  16,   0,   4,   0, 
       0,   0, 246,  15,  16,   0, 
-      2,   0,   0,   0,  70,   2, 
+      3,   0,   0,   0,  70,   2, 
      16,   0,   4,   0,   0,   0, 
      16,   0,   0,   7, 130,   0, 
-     16,   0,   2,   0,   0,   0, 
+     16,   0,   3,   0,   0,   0, 
      70,   2,  16,   0,   4,   0, 
-      0,   0,  70,   2,  16,   0, 
-      1,   0,   0,   0,  49,   0, 
+      0,   0,  70,  18,  16,   0, 
+      3,   0,   0,   0,   0,   0, 
       0,   7, 130,   0,  16,   0, 
-      3,   0,   0,   0,   1,  64, 
-      0,   0,   0,   0,   0,   0, 
-     58,   0,  16,   0,   2,   0, 
+      3,   0,   0,   0,  58,   0, 
+     16,   0,   3,   0,   0,   0, 
+     58,   0,  16,   0,   3,   0, 
+      0,   0,  54,   0,   0,   6, 
+    130,   0,  16,   0,   3,   0, 
+      0,   0,  58,   0,  16, 128, 
+     65,   0,   0,   0,   3,   0, 
       0,   0,  56,   0,   0,   7, 
-    114,   0,  16,   0,   4,   0, 
+    114,   0,  16,   0,   5,   0, 
       0,   0, 246,  15,  16,   0, 
-      2,   0,   0,   0,  70,   2, 
-     16,   0,   5,   0,   0,   0, 
-     50,   0,   0,   9, 114,   0, 
+      3,   0,   0,   0,  70,  18, 
+     16,   0,   3,   0,   0,   0, 
+      0,   0,   0,   7, 114,   0, 
      16,   0,   4,   0,   0,   0, 
      70,   2,  16,   0,   4,   0, 
-      0,   0, 246,  15,  16,   0, 
-      1,   0,   0,   0,  70,   2, 
+      0,   0,  70,   2,  16,   0, 
+      5,   0,   0,   0,  16,   0, 
+      0,   7, 130,   0,  16,   0, 
+      3,   0,   0,   0,  70,   2, 
+     16,   0,   4,   0,   0,   0, 
+     70,   2,  16,   0,   4,   0, 
+      0,   0,  68,   0,   0,   5, 
+    130,   0,  16,   0,   3,   0, 
+      0,   0,  58,   0,  16,   0, 
+      3,   0,   0,   0,  56,   0, 
+      0,   7, 114,   0,  16,   0, 
+      4,   0,   0,   0, 246,  15, 
      16,   0,   3,   0,   0,   0, 
-     55,   0,   0,   9, 114,   0, 
+     70,   2,  16,   0,   4,   0, 
+      0,   0,  54,   0,   0,   6, 
+    114,   0,  16,   0,   5,   0, 
+      0,   0,  70,  18,  16, 128, 
+     65,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   8, 
+    114,   0,  16,   0,   5,   0, 
+      0,   0,  70,   2,  16,   0, 
+      5,   0,   0,   0,  70, 130, 
+     32,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  16,   0, 
+      0,   7, 130,   0,  16,   0, 
+      3,   0,   0,   0,  70,   2, 
+     16,   0,   5,   0,   0,   0, 
+     70,   2,  16,   0,   5,   0, 
+      0,   0,  68,   0,   0,   5, 
+    130,   0,  16,   0,   3,   0, 
+      0,   0,  58,   0,  16,   0, 
+      3,   0,   0,   0,  56,   0, 
+      0,   7, 114,   0,  16,   0, 
+      5,   0,   0,   0, 246,  15, 
      16,   0,   3,   0,   0,   0, 
-    246,  15,  16,   0,   3,   0, 
+     70,   2,  16,   0,   5,   0, 
+      0,   0,  16,   0,   0,   7, 
+    130,   0,  16,   0,   3,   0, 
       0,   0,  70,   2,  16,   0, 
       4,   0,   0,   0,  70,   2, 
+     16,   0,   5,   0,   0,   0, 
+     43,   0,   0,   5,  18,   0, 
+     16,   0,   4,   0,   0,   0, 
+      1,  64,   0,   0,   0,   0, 
+      0,   0,  49,   0,   0,   7, 
+     18,   0,  16,   0,   4,   0, 
+      0,   0,  10,   0,  16,   0, 
+      4,   0,   0,   0,  58,   0, 
      16,   0,   3,   0,   0,   0, 
-     21,   0,   0,   1,  30,   0, 
-      0,   7, 130,   0,  16,   0, 
-      0,   0,   0,   0,  58,   0, 
-     16,   0,   0,   0,   0,   0, 
-      1,  64,   0,   0,   1,   0, 
-      0,   0,  22,   0,   0,   1, 
-     69,   0,   0, 139, 194,   0, 
-      0, 128,  67,  85,  21,   0, 
-    242,   0,  16,   0,   0,   0, 
-      0,   0,  70,  16,  16,   0, 
-      2,   0,   0,   0,  70, 126, 
+     31,   0,   4,   3,  10,   0, 
+     16,   0,   4,   0,   0,   0, 
+    167,   0,   0, 139,   2, 227, 
+      0, 128, 131, 153,  25,   0, 
+     18,   0,  16,   0,   4,   0, 
+      0,   0,  58,   0,  16,   0, 
+      1,   0,   0,   0,   1,  64, 
+      0,   0,  12,   0,   0,   0, 
+      6, 112,  16,   0,   2,   0, 
+      0,   0, 167,   0,   0, 139, 
+      2, 227,   0, 128, 131, 153, 
+     25,   0,  34,   0,  16,   0, 
+      4,   0,   0,   0,  58,   0, 
+     16,   0,   1,   0,   0,   0, 
+      1,  64,   0,   0,  16,   0, 
+      0,   0,   6, 112,  16,   0, 
+      2,   0,   0,   0, 167,   0, 
+      0, 139,   2, 227,   0, 128, 
+    131, 153,  25,   0,  66,   0, 
+     16,   0,   4,   0,   0,   0, 
+     58,   0,  16,   0,   1,   0, 
+      0,   0,   1,  64,   0,   0, 
+     20,   0,   0,   0,   6, 112, 
+     16,   0,   2,   0,   0,   0, 
+     56,   0,   0,   7, 114,   0, 
+     16,   0,   4,   0,   0,   0, 
+    246,  15,  16,   0,   3,   0, 
+      0,   0,  70,   2,  16,   0, 
+      4,   0,   0,   0,  56,   0, 
+      0,   7, 114,   0,  16,   0, 
+      4,   0,   0,   0, 246,  15, 
+     16,   0,   2,   0,   0,   0, 
+     70,   2,  16,   0,   4,   0, 
+      0,   0,   0,   0,   0,   7, 
+    114,   0,  16,   0,   3,   0, 
+      0,   0,  70,   2,  16,   0, 
+      3,   0,   0,   0,  70,   2, 
+     16,   0,   4,   0,   0,   0, 
+     21,   0,   0,   1,  21,   0, 
+      0,   1,  30,   0,   0,   7, 
+    130,   0,  16,   0,   1,   0, 
+      0,   0,  58,   0,  16,   0, 
+      1,   0,   0,   0,   1,  64, 
+      0,   0,   1,   0,   0,   0, 
+     22,   0,   0,   1,  69,   0, 
+      0, 139, 194,   0,   0, 128, 
+     67,  85,  21,   0, 242,   0, 
+     16,   0,   1,   0,   0,   0, 
+     70,  16,  16,   0,   2,   0, 
+      0,   0,  70, 126,  16,   0, 
+      0,   0,   0,   0,   0,  96, 
      16,   0,   0,   0,   0,   0, 
-      0,  96,  16,   0,   0,   0, 
+     56,   0,   0,   8, 114,   0, 
+     16,   0,   1,   0,   0,   0, 
+     70,   2,  16,   0,   1,   0, 
+      0,   0,   6, 128,  32,   0, 
+      1,   0,   0,   0,   0,   0, 
       0,   0,  56,   0,   0,   8, 
-    114,   0,  16,   0,   1,   0, 
-      0,   0,  70,   2,  16,   0, 
-      2,   0,   0,   0,  86, 133, 
+    114,   0,  16,   0,   0,   0, 
+      0,   0, 150,   7,  16,   0, 
+      0,   0,   0,   0,  86, 133, 
      32,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0,  50,   0, 
-      0,  10, 114,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   7, 114,   0,  16,   0, 
       0,   0,   0,   0,  70,   2, 
      16,   0,   0,   0,   0,   0, 
-      6, 128,  32,   0,   1,   0, 
-      0,   0,   0,   0,   0,   0, 
      70,   2,  16,   0,   1,   0, 
-      0,   0,  50,  32,   0,  10, 
-    114,  32,  16,   0,   0,   0, 
+      0,   0,  56,   0,   0,   8, 
+    114,   0,  16,   0,   1,   0, 
       0,   0,  70,   2,  16,   0, 
       3,   0,   0,   0, 166, 138, 
      32,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   7, 114,   0,  16,   0, 
       0,   0,   0,   0,  70,   2, 
      16,   0,   0,   0,   0,   0, 
-     54,   0,   0,   5, 130,  32, 
+     70,   2,  16,   0,   1,   0, 
+      0,   0,  52,   0,   0,  10, 
+    114,   0,  16,   0,   0,   0, 
+      0,   0,  70,   2,  16,   0, 
+      0,   0,   0,   0,   2,  64, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     51,   0,   0,  10, 114,   0, 
      16,   0,   0,   0,   0,   0, 
-     58,   0,  16,   0,   0,   0, 
-      0,   0,  62,   0,   0,   1, 
-     83,  84,  65,  84, 148,   0, 
-      0,   0,  65,   0,   0,   0, 
-      7,   0,   0,   0,   0,   0, 
-      0,   0,   4,   0,   0,   0, 
-     34,   0,   0,   0,   5,   0, 
+     70,   2,  16,   0,   0,   0, 
+      0,   0,   2,  64,   0,   0, 
+      0,   0, 128,  63,   0,   0, 
+    128,  63,   0,   0, 128,  63, 
+      0,   0,   0,   0,  54,   0, 
+      0,   5, 130,   0,  16,   0, 
+      1,   0,   0,   0,  58,   0, 
+     16,   0,   1,   0,   0,   0, 
+     54,   0,   0,   5, 114,  32, 
+     16,   0,   0,   0,   0,   0, 
+     70,   2,  16,   0,   0,   0, 
+      0,   0,  54,   0,   0,   5, 
+    130,  32,  16,   0,   0,   0, 
+      0,   0,  58,   0,  16,   0, 
+      1,   0,   0,   0,  62,   0, 
+      0,   1,  83,  84,  65,  84, 
+    148,   0,   0,   0, 103,   0, 
+      0,   0,   6,   0,   0,   0, 
+      0,   0,   0,   0,   4,   0, 
+      0,   0,  49,   0,   0,   0, 
+      5,   0,   0,   0,   0,   0, 
+      0,   0,   2,   0,   0,   0, 
+      5,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,  19,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  10,   0,   0,   0, 
+      0,   0,   0,   0,   5,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  83,  80,  68,  66, 
+      0,  86,   0,   0,  77, 105, 
+     99, 114, 111, 115, 111, 102, 
+    116,  32,  67,  47,  67,  43, 
+     43,  32,  77,  83,  70,  32, 
+     55,  46,  48,  48,  13,  10, 
+     26,  68,  83,   0,   0,   0, 
+      0,   2,   0,   0,   2,   0, 
+      0,   0,  43,   0,   0,   0, 
+    212,   0,   0,   0,   0,   0, 
+      0,   0,  42,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    192, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255,  56,   0,   0,   0, 
+      0, 248, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255,   5,   0, 
+      0,   0,  32,   0,   0,   0, 
+     60,   0,   0,   0,   0,   0, 
+      0,   0, 255, 255, 255, 255, 
+      0,   0,   0,   0,   6,   0, 
+      0,   0,   5,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 148,  46,  49,   1, 
+    239,   9,  86,  92,   1,   0, 
+      0,   0, 181,   8, 118, 233, 
+     34,  59, 232,  73, 154, 102, 
+    224,  97, 252,  30, 120, 109, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 220,  81, 
+     51,   1,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  32,  32, 
+     13,  10,  84, 101, 120, 116, 
+    117, 114, 101,  50,  68,  32, 
+    115, 104,  97, 100, 101, 114, 
+     84, 101, 120, 116, 117, 114, 
+    101,  32,  58,  32, 114, 101, 
+    103, 105, 115, 116, 101, 114, 
+     40,  32, 116,  48,  32,  41, 
+     59,  13,  10,  83,  97, 109, 
+    112, 108, 101, 114,  83, 116, 
+     97, 116, 101,  32,  83,  97, 
+    109, 112, 108, 101,  84, 121, 
+    112, 101,  59,  13,  10,  13, 
+     10,  47,  47,  32,  84, 104, 
+    101,  32, 112, 111, 115, 105, 
+    116, 105, 111, 110,  32, 111, 
+    102,  32, 116, 104, 101,  32, 
+    107,  97, 109, 101, 114,  97, 
+     13,  10,  99,  98, 117, 102, 
+    102, 101, 114,  32,  75,  97, 
+    109, 101, 114,  97,  32,  58, 
+     32, 114, 101, 103, 105, 115, 
+    116, 101, 114,  40,  32,  98, 
+     48,  32,  41,  13,  10, 123, 
+     13,  10,  32,  32,  32,  32, 
+    102, 108, 111,  97, 116,  52, 
+     32, 107,  80, 111, 115, 105, 
+    116, 105, 111, 110,  59,  13, 
+     10, 125,  13,  10,  13,  10, 
+     47,  47,  32, 116, 104, 101, 
+    115, 101,  32, 118,  97, 108, 
+    117, 101, 115,  32, 115, 104, 
+    111, 117, 108, 100,  32, 115, 
+    117, 109,  32, 117, 112,  32, 
+    116, 111,  32,  49,  13,  10, 
+     99,  98, 117, 102, 102, 101, 
+    114,  32,  77,  97, 116, 101, 
+    114, 105,  97, 108,  32,  58, 
+     32, 114, 101, 103, 105, 115, 
+    116, 101, 114,  40,  32,  98, 
+     49,  32,  41,  13,  10, 123, 
+     13,  10,  32,  32,  32,  32, 
+    102, 108, 111,  97, 116,  32, 
+     97, 109,  98, 105, 101, 110, 
+    116,  70,  97,  99, 116, 111, 
+    114,  59,  13,  10,  32,  32, 
+     32,  32, 102, 108, 111,  97, 
+    116,  32, 100, 105, 102, 102, 
+    117, 115,  70,  97,  99, 116, 
+    111, 114,  59,  13,  10,  32, 
+     32,  32,  32, 102, 108, 111, 
+     97, 116,  32, 115, 112, 101, 
+     99, 117, 108,  97, 114,  70, 
+     97,  99, 116, 111, 114,  59, 
+     13,  10, 125,  59,  13,  10, 
+     13,  10,  99,  98, 117, 102, 
+    102, 101, 114,  32,  76, 105, 
+    103, 104, 116,  67, 111, 117, 
+    110, 116,  32,  58,  32, 114, 
+    101, 103, 105, 115, 116, 101, 
+    114,  40,  32,  98,  50,  32, 
+     41,  13,  10, 123,  13,  10, 
+     32,  32,  32,  32, 105, 110, 
+    116,  32, 100, 105, 102, 102, 
+    117, 115, 101,  76, 105, 103, 
+    104, 116,  67, 111, 117, 110, 
+    116,  59,  13,  10,  32,  32, 
+     32,  32, 105, 110, 116,  32, 
+    112, 111, 105, 110, 116,  76, 
+    105, 103, 104, 116,  67, 111, 
+    117, 110, 116,  59,  13,  10, 
+    125,  13,  10,  13,  10,  47, 
+     47,  32, 108, 105, 103, 104, 
+    116, 115,  13,  10, 115, 116, 
+    114, 117,  99, 116,  32,  68, 
+    105, 102, 102, 117, 115, 101, 
+     76, 105, 103, 104, 116,  13, 
+     10, 123,  13,  10,  32,  32, 
+     32,  32, 102, 108, 111,  97, 
+    116,  51,  32, 100, 105, 114, 
+    101,  99, 116, 105, 111, 110, 
+     59,  13,  10,  32,  32,  32, 
+     32, 102, 108, 111,  97, 116, 
+     51,  32,  99, 111, 108, 111, 
+    114,  59,  13,  10, 125,  59, 
+     13,  10,  13,  10, 115, 116, 
+    198,  90,   0,   0, 117, 131, 
+      1,   0,  76, 232,   3,   0, 
+    242,  56,   1,   0,  43, 236, 
+      3,   0,  28,  19,   2,   0, 
+     65,  36,   1,   0, 236, 179, 
+      1,   0, 133, 187,   3,   0, 
+    125,  10,   2,   0, 125, 181, 
+      2,   0, 200,  81,   2,   0, 
+    193,  33,   3,   0,  65, 185, 
+      2,   0,   9, 241,   2,   0, 
+    146, 230,   3,   0, 125, 218, 
+      1,   0, 118,  19,   1,   0, 
+    202, 179,   0,   0, 201, 241, 
+      2,   0,  12, 238,   0,   0, 
+    115,  74,   1,   0, 117,  14, 
+      0,   0,  80, 185,   1,   0, 
+    110,  77,   0,   0, 144, 132, 
+      1,   0, 232,  35,   2,   0, 
+     16, 206,   3,   0, 226, 163, 
+      0,   0,   0,  16,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  13,  10, 
+     47,  47,  32,  71,  76,  79, 
+     66,  65,  76,  83,  32,  47, 
+     47,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  13,  10,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     13,  10,  84, 101, 120, 116, 
+    117, 114, 101,  50,  68,  32, 
+    115, 104,  97, 100, 101, 114, 
+     84, 101, 120, 116, 117, 114, 
+    101,  32,  58,  32, 114, 101, 
+    103, 105, 115, 116, 101, 114, 
+     40,  32, 116,  48,  32,  41, 
+     59,  13,  10,  83,  97, 109, 
+    112, 108, 101, 114,  83, 116, 
+     97, 116, 101,  32,  83,  97, 
+    109, 112, 108, 101,  84, 121, 
+    112, 101,  59,  13,  10,  13, 
+     10,  47,  47,  32,  84, 104, 
+    101,  32, 112, 111, 115, 105, 
+    116, 105, 111, 110,  32, 111, 
+    102,  32, 116, 104, 101,  32, 
+    107,  97, 109, 101, 114,  97, 
+     13,  10,  99,  98, 117, 102, 
+    102, 101, 114,  32,  75,  97, 
+    109, 101, 114,  97,  32,  58, 
+     32, 114, 101, 103, 105, 115, 
+    116, 101, 114,  40,  32,  98, 
+     48,  32,  41,  13,  10, 123, 
+     13,  10,  32,  32,  32,  32, 
+    102, 108, 111,  97, 116,  52, 
+     32, 107,  80, 111, 115, 105, 
+    116, 105, 111, 110,  59,  13, 
+     10, 125,  13,  10,  13,  10, 
+     47,  47,  32, 116, 104, 101, 
+    115, 101,  32, 118,  97, 108, 
+    117, 101, 115,  32, 115, 104, 
+    111, 117, 108, 100,  32, 115, 
+    117, 109,  32, 117, 112,  32, 
+    116, 111,  32,  49,  13,  10, 
+     99,  98, 117, 102, 102, 101, 
+    114,  32,  77,  97, 116, 101, 
+    114, 105,  97, 108,  32,  58, 
+     32, 114, 101, 103, 105, 115, 
+    116, 101, 114,  40,  32,  98, 
+     49,  32,  41,  13,  10, 123, 
+     13,  10,  32,  32,  32,  32, 
+    102, 108, 111,  97, 116,  32, 
+     97, 109,  98, 105, 101, 110, 
+    116,  70,  97,  99, 116, 111, 
+    114,  59,  13,  10,  32,  32, 
+     32,  32, 102, 108, 111,  97, 
+    116,  32, 100, 105, 102, 102, 
+    117, 115,  70,  97,  99, 116, 
+    111, 114,  59,  13,  10,  32, 
+     32,  32,  32, 102, 108, 111, 
+     97, 116,  32, 115, 112, 101, 
+     99, 117, 108,  97, 114,  70, 
+     97,  99, 116, 111, 114,  59, 
+     13,  10, 125,  59,  13,  10, 
+     13,  10,  99,  98, 117, 102, 
+    102, 101, 114,  32,  76, 105, 
+    103, 104, 116,  67, 111, 117, 
+    110, 116,  32,  58,  32, 114, 
+    101, 103, 105, 115, 116, 101, 
+    114,  40,  32,  98,  50,  32, 
+     41,  13,  10, 123,  13,  10, 
+     32,  32,  32,  32, 105, 110, 
+    116,  32, 100, 105, 102, 102, 
+    117, 115, 101,  76, 105, 103, 
+    104, 116,  67, 111, 117, 110, 
+    116,  59,  13,  10,  32,  32, 
+     32,  32, 105, 110, 116,  32, 
+    112, 111, 105, 110, 116,  76, 
+    105, 103, 104, 116,  67, 111, 
+    117, 110, 116,  59,  13,  10, 
+    125,  13,  10,  13,  10,  47, 
+     47,  32, 108, 105, 103, 104, 
+    116, 115,  13,  10, 115, 116, 
+    114, 117,  99, 116,  32,  68, 
+    105, 102, 102, 117, 115, 101, 
+     76, 105, 103, 104, 116,  13, 
+     10, 123,  13,  10,  32,  32, 
+     32,  32, 102, 108, 111,  97, 
+    116,  51,  32, 100, 105, 114, 
+    101,  99, 116, 105, 111, 110, 
+     59,  13,  10,  32,  32,  32, 
+     32, 102, 108, 111,  97, 116, 
+     51,  32,  99, 111, 108, 111, 
+    114,  59,  13,  10, 125,  59, 
+     13,  10,  13,  10, 115, 116, 
+    114, 117,  99, 116,  32,  80, 
+    111, 105, 110, 116,  76, 105, 
+    103, 104, 116,  13,  10, 123, 
+     13,  10,  32,  32,  32,  32, 
+    102, 108, 111,  97, 116,  51, 
+     32, 112, 111, 115, 105, 116, 
+    105, 111, 110,  59,  13,  10, 
+     32,  32,  32,  32, 102, 108, 
+    111,  97, 116,  51,  32,  99, 
+    111, 108, 111, 114,  59,  13, 
+     10,  32,  32,  32,  32, 102, 
+    108, 111,  97, 116,  32, 114, 
+     97, 100, 105, 117, 115,  59, 
+     13,  10, 125,  59,  13,  10, 
+     13,  10,  83, 116, 114, 117, 
+     99, 116, 117, 114, 101, 100, 
+     66, 117, 102, 102, 101, 114, 
+     60,  32,  68, 105, 102, 102, 
+    117, 115, 101,  76, 105, 103, 
+    104, 116,  32,  62,  32, 100, 
+    105, 102, 117, 115, 101,  76, 
+    105, 103, 104, 116, 115,  32, 
+     58,  32, 114, 101, 103, 105, 
+    115, 116, 101, 114,  40,  32, 
+    116,  49,  32,  41,  59,  13, 
+     10,  83, 116, 114, 117,  99, 
+    116, 117, 114, 101, 100,  66, 
+    117, 102, 102, 101, 114,  60, 
+     32,  80, 111, 105, 110, 116, 
+     76, 105, 103, 104, 116,  32, 
+     62,  32, 112, 111, 105, 110, 
+    116,  76, 105, 103, 104, 116, 
+    115,  32,  58,  32, 114, 101, 
+    103, 105, 115, 116, 101, 114, 
+     40,  32, 116,  50,  32,  41, 
+     59,  13,  10,  13,  10,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  13,  10,  47,  47,  32, 
+     84,  89,  80,  69,  68,  69, 
+     70,  83,  32,  47,  47,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  13, 
+     10,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  13,  10, 115, 
+    116, 114, 117,  99, 116,  32, 
+     80, 105, 120, 101, 108,  73, 
+    110, 112, 117, 116,  84, 121, 
+    112, 101,  13,  10, 123,  13, 
+     10,  32,  32,  32,  32, 102, 
+    108, 111,  97, 116,  52,  32, 
+    119, 111, 114, 108, 100,  80, 
+    111, 115,  32,  58,  32,  80, 
+     79,  83,  73,  84,  73,  79, 
+     78,  59,  13,  10,  32,  32, 
+     32,  32, 102, 108, 111,  97, 
+    116,  52,  32, 112, 111, 115, 
+    105, 116, 105, 111, 110,  32, 
+     58,  32,  83,  86,  95,  80, 
+     79,  83,  73,  84,  73,  79, 
+     78,  59,  13,  10,  32,  32, 
+     32,  32, 102, 108, 111,  97, 
+    116,  50,  32, 116, 101, 120, 
+     32,  58,  32,  84,  69,  88, 
+     67,  79,  79,  82,  68,  48, 
+     59,  13,  10,  32,  32,  32, 
+     32, 102, 108, 111,  97, 116, 
+     51,  32, 110, 111, 114, 109, 
+     97, 108,  32,  58,  32,  84, 
+     69,  88,  67,  79,  79,  82, 
+     68,  49,  59,  13,  10, 125, 
+     59,  13,  10,  13,  10,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  13,  10,  47,  47,  32, 
+     80, 105, 120, 101, 108,  32, 
+     83, 104,  97, 100, 101, 114, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  13, 
+     10,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  13,  10, 102, 
+    108, 111,  97, 116,  52,  32, 
+     84, 101, 120, 116, 117, 114, 
+    101,  80, 105, 120, 101, 108, 
+     83, 104,  97, 100, 101, 114, 
+     40,  32,  80, 105, 120, 101, 
+    108,  73, 110, 112, 117, 116, 
+     84, 121, 112, 101,  32, 105, 
+    110, 112, 117, 116,  32,  41, 
+     32,  58,  32,  83,  86,  95, 
+     84,  65,  82,  71,  69,  84, 
+     13,  10, 123,  13,  10,  32, 
+     32,  32,  32, 102, 108, 111, 
+     97, 116,  51,  32, 100, 105, 
+    102, 102, 117, 115, 101,  76, 
+    105, 103, 104, 116,  32,  61, 
+     32, 102, 108, 111,  97, 116, 
+     51,  40,  32,  48,  44,  32, 
+     48,  44,  32,  48,  32,  41, 
+     59,  13,  10,  32,  32,  32, 
+     32, 102, 108, 111,  97, 116, 
+     51,  32, 115, 112, 101,  99, 
+    117, 108,  97, 114,  76, 105, 
+    103, 104, 116,  32,  61,  32, 
+    102, 108, 111,  97, 116,  51, 
+     40,  32,  48,  44,  32,  48, 
+     44,  32,  48,  32,  41,  59, 
+     13,  10,  32,  32,  32,  32, 
+    102, 111, 114,  40,  32, 105, 
+    110, 116,  32, 106,  32,  61, 
+     32,  48,  59,  32, 106,  32, 
+     60,  32, 100, 105, 102, 102, 
+    117, 115, 101,  76, 105, 103, 
+    104, 116,  67, 111, 117, 110, 
+    116,  59,  32, 106,  43,  43, 
+     32,  41,  13,  10,  32,  32, 
+     32,  32, 123,  13,  10,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32, 105, 102,  40,  32, 100, 
+    111, 116,  40,  32, 105, 110, 
+    112, 117, 116,  46, 110, 111, 
+    114, 109,  97, 108,  44,  32, 
+     45, 100, 105, 102, 117, 115, 
+    101,  76, 105, 103, 104, 116, 
+    115,  91,  32, 106,  32,  93, 
+     46, 100, 105, 114, 101,  99, 
+    116, 105, 111, 110,  32,  41, 
+     32,  60,  32,  48,  32,  41, 
+     13,  10,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  99, 111, 110, 116, 
+    105, 110, 117, 101,  59,  13, 
+     10,  32,  32,  32,  32,  32, 
+     32,  32,  32, 100, 105, 102, 
+    102, 117, 115, 101,  76, 105, 
+    103, 104, 116,  32,  43,  61, 
+     32, 100, 105, 102, 117, 115, 
+    101,  76, 105, 103, 104, 116, 
+    115,  91,  32, 106,  32,  93, 
+     46,  99, 111, 108, 111, 114, 
+     32,  42,  32, 100, 111, 116, 
+     40,  32, 105, 110, 112, 117, 
+    116,  46, 110, 111, 114, 109, 
+     97, 108,  44,  32,  45, 100, 
+    105, 102, 117, 115, 101,  76, 
+    105, 103, 104, 116, 115,  91, 
+     32, 106,  32,  93,  46, 100, 
+    105, 114, 101,  99, 116, 105, 
+    111, 110,  32,  41,  59,  13, 
+     10,  32,  32,  32,  32, 125, 
+     13,  10,  32,  32,  32,  32, 
+    102, 111, 114,  40,  32, 105, 
+    110, 116,  32, 105,  32,  61, 
+     32,  48,  59,  32, 105,  32, 
+     60,  32, 112, 111, 105, 110, 
+    116,  76, 105, 103, 104, 116, 
+     67, 111, 117, 110, 116,  59, 
+     32, 105,  43,  43,  32,  41, 
+     13,  10,  32,  32,  32,  32, 
+    123,  13,  10,  32,  32,  32, 
+     32,  32,  32,  32,  32, 102, 
+    108, 111,  97, 116,  51,  32, 
+    108, 105, 103, 104, 116,  68, 
+    105, 114,  32,  61,  32, 112, 
+    111, 105, 110, 116,  76, 105, 
+    103, 104, 116, 115,  91,  32, 
+    105,  32,  93,  46, 112, 111, 
+    115, 105, 116, 105, 111, 110, 
+     32,  45,  32, 105, 110, 112, 
+    117, 116,  46, 119, 111, 114, 
+    108, 100,  80, 111, 115,  46, 
+    120, 121, 122,  59,  13,  10, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32, 102, 108, 111,  97, 
+    116,  32, 102,  97,  99, 116, 
+    111, 114,  32,  61,  32, 112, 
+    111, 105, 110, 116,  76, 105, 
+    103, 104, 116, 115,  91,  32, 
+    105,  32,  93,  46, 114,  97, 
+    100, 105, 117, 115,  32,  47, 
+     32, 108, 101, 110, 103, 116, 
+    104,  40,  32, 108, 105, 103, 
+    104, 116,  68, 105, 114,  32, 
+     41,  59,  13,  10,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+    102, 108, 111,  97, 116,  32, 
+    102,  32,  61,  32, 100, 111, 
+    116,  40,  32, 105, 110, 112, 
+    117, 116,  46, 110, 111, 114, 
+    109,  97, 108,  44,  32, 110, 
+    111, 114, 109,  97, 108, 105, 
+    122, 101,  40,  32, 108, 105, 
+    103, 104, 116,  68, 105, 114, 
+     32,  41,  32,  41,  59,  13, 
+     10,  32,  32,  32,  32,  32, 
+     32,  32,  32, 105, 102,  40, 
+     32, 102,  32,  62,  32,  48, 
+     32,  41,  13,  10,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+    123,  13,  10,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32, 100, 105, 102, 
+    102, 117, 115, 101,  76, 105, 
+    103, 104, 116,  32,  43,  61, 
+     32, 112, 111, 105, 110, 116, 
+     76, 105, 103, 104, 116, 115, 
+     91,  32, 105,  32,  93,  46, 
+     99, 111, 108, 111, 114,  32, 
+     42,  32, 102,  32,  42,  32, 
+    102,  97,  99, 116, 111, 114, 
+     59,  13,  10,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32, 102,  32,  61, 
+     32, 100, 111, 116,  40,  32, 
+    110, 111, 114, 109,  97, 108, 
+    105, 122, 101,  40,  32, 114, 
+    101, 102, 108, 101,  99, 116, 
+     40,  32, 110, 111, 114, 109, 
+     97, 108, 105, 122, 101,  40, 
+     32,  45, 108, 105, 103, 104, 
+    116,  68, 105, 114,  32,  41, 
+     44,  32, 105, 110, 112, 117, 
+    116,  46, 110, 111, 114, 109, 
+     97, 108,  32,  41,  32,  41, 
+     44,  32, 110, 111, 114, 109, 
+     97, 108, 105, 122, 101,  40, 
+     32, 107,  80, 111, 115, 105, 
+    116, 105, 111, 110,  46, 120, 
+    121, 122,  32,  45,  32, 105, 
+    110, 112, 117, 116,  46, 119, 
+    111, 114, 108, 100,  80, 111, 
+    115,  46, 120, 121, 122,  32, 
+     41,  32,  41,  59,  13,  10, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+    105, 102,  40,  32, 102,  32, 
+     62,  32,  48,  32,  41,  13, 
+     10,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32, 115, 
+    112, 101,  99, 117, 108,  97, 
+    114,  76, 105, 103, 104, 116, 
+     32,  43,  61,  32, 112, 111, 
+    105, 110, 116,  76, 105, 103, 
+    104, 116, 115,  91,  32, 105, 
+     32,  93,  46,  99, 111, 108, 
+    111, 114,  32,  42,  32, 102, 
+     32,  42,  32, 102,  97,  99, 
+    116, 111, 114,  59,  13,  10, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32, 125,  13,  10,  32, 
+     32,  32,  32, 125,  13,  10, 
+     32,  32,  32,  32, 102, 108, 
+    111,  97, 116,  52,  32, 109, 
+     97, 116, 101, 114, 105,  97, 
+    108,  67, 111, 108, 111, 114, 
+     32,  61,  32, 115, 104,  97, 
+    100, 101, 114,  84, 101, 120, 
+    116, 117, 114, 101,  46,  83, 
+     97, 109, 112, 108, 101,  40, 
+     32,  83,  97, 109, 112, 108, 
+    101,  84, 121, 112, 101,  44, 
+     32, 105, 110, 112, 117, 116, 
+     46, 116, 101, 120,  32,  41, 
+     59,  13,  10,  32,  32,  32, 
+     32, 102, 108, 111,  97, 116, 
+     52,  32, 116, 101, 120, 116, 
+    117, 114, 101,  67, 111, 108, 
+    111, 114,  32,  61,  32, 115, 
+     97, 116, 117, 114,  97, 116, 
+    101,  40,  32, 109,  97, 116, 
+    101, 114, 105,  97, 108,  67, 
+    111, 108, 111, 114,  32,  42, 
+     32,  97, 109,  98, 105, 101, 
+    110, 116,  70,  97,  99, 116, 
+    111, 114,  32,  43,  32, 102, 
+    108, 111,  97, 116,  52,  40, 
+     32, 100, 105, 102, 102, 117, 
+    115, 101,  76, 105, 103, 104, 
+    116,  46, 120,  44,  32, 100, 
+    105, 102, 102, 117, 115, 101, 
+     76, 105, 103, 104, 116,  46, 
+    121,  44,  32, 100, 105, 102, 
+    102, 117, 115, 101,  76, 105, 
+    103, 104, 116,  46, 122,  44, 
+     32,  48,  32,  41,  32,  42, 
+     32, 100, 105, 102, 102, 117, 
+    115,  70,  97,  99, 116, 111, 
+    114,  32,  43,  32, 102, 108, 
+    111,  97, 116,  52,  40,  32, 
+    115, 112, 101,  99, 117, 108, 
+     97, 114,  76, 105, 103, 104, 
+    116,  46, 120,  44,  32, 115, 
+    112, 101,  99, 117, 108,  97, 
+    114,  76, 105, 103, 104, 116, 
+     46, 121,  44,  32, 115, 112, 
+    101,  99, 117, 108,  97, 114, 
+     76, 105, 103, 104, 116,  46, 
+    122,  44,  32,  48,  32,  41, 
+     32,  42,  32, 115, 112, 101, 
+     99, 117, 108,  97, 114,  70, 
+     97,  99, 116, 111, 114,  32, 
+     41,  59,  13,  10,  32,  32, 
+     32,  32, 116, 101, 120, 116, 
+    117, 114, 101,  67, 111, 108, 
+    111, 114,  46,  97,  32,  61, 
+     32, 109,  97, 116, 101, 114, 
+    105,  97, 108,  67, 111, 108, 
+    111, 114,  46,  97,  59,  13, 
+     10,  32,  32,  32,  32, 114, 
+    101, 116, 117, 114, 110,  32, 
+    116, 101, 120, 116, 117, 114, 
+    101,  67, 111, 108, 111, 114, 
+     59,  13,  10, 125,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 254, 239, 
+    254, 239,   1,   0,   0,   0, 
+     95,  13,   0,   0,   0,  67, 
+     58,  92,  85, 115, 101, 114, 
+    115,  92, 107, 111, 108, 106, 
+     97,  92,  79, 110, 101,  68, 
+    114, 105, 118, 101,  92,  68, 
+    101, 115, 107, 116, 111, 112, 
+     92,  75, 111, 108, 106,  97, 
+     45,  83, 116, 114, 111, 104, 
+    109,  45,  71,  97, 109, 101, 
+    115,  92,  65, 108, 108, 103, 
+    101, 109, 101, 105, 110,  92, 
+     70, 114,  97, 109, 101, 119, 
+    111, 114, 107,  92,  68,  88, 
+     49,  49,  80, 105, 120, 101, 
+    108,  83, 104,  97, 100, 101, 
+    114,  46, 104, 108, 115, 108, 
+      0,   0,  99,  58,  92, 117, 
+    115, 101, 114, 115,  92, 107, 
+    111, 108, 106,  97,  92, 111, 
+    110, 101, 100, 114, 105, 118, 
+    101,  92, 100, 101, 115, 107, 
+    116, 111, 112,  92, 107, 111, 
+    108, 106,  97,  45, 115, 116, 
+    114, 111, 104, 109,  45, 103, 
+     97, 109, 101, 115,  92,  97, 
+    108, 108, 103, 101, 109, 101, 
+    105, 110,  92, 102, 114,  97, 
+    109, 101, 119, 111, 114, 107, 
+     92, 100, 120,  49,  49, 112, 
+    105, 120, 101, 108, 115, 104, 
+     97, 100, 101, 114,  46, 104, 
+    108, 115, 108,   0,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     13,  10,  47,  47,  32,  71, 
+     76,  79,  66,  65,  76,  83, 
+     32,  47,  47,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  13,  10, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     27, 226,  48,   1, 128,   0, 
+      0,   0, 145, 188, 144,  80, 
+     61, 187, 212,   1,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,   2,   0,   0,   0, 
+      1,   0,   0,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+     94,   0,   0,   0,  40,   0, 
+      0,   0,  27, 226,  48,   1, 
+     15,  68, 182,  27, 164,  12, 
+      0,   0,   1,   0,   0,   0, 
+     93,   0,   0,   0,  94,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   4,   0,   0,   0, 
+     66,   0,  60,  17,  16,   1, 
+      0,   0,   0,   1,  10,   0, 
+      1,   0,  15,   0, 171,  63, 
+     10,   0,   1,   0,  15,   0, 
+    171,  63,  77, 105,  99, 114, 
+    111, 115, 111, 102, 116,  32, 
+     40,  82,  41,  32,  72,  76, 
+     83,  76,  32,  83, 104,  97, 
+    100, 101, 114,  32,  67, 111, 
+    109, 112, 105, 108, 101, 114, 
+     32,  49,  48,  46,  49,   0, 
+      0,   0,  66,   0,  61,  17, 
+      1, 104, 108, 115, 108,  70, 
+    108,  97, 103, 115,   0,  48, 
+    120,  53,   0, 104, 108, 115, 
+    108,  84,  97, 114, 103, 101, 
+    116,   0, 112, 115,  95,  53, 
+     95,  48,   0, 104, 108, 115, 
+    108,  69, 110, 116, 114, 121, 
+      0,  84, 101, 120, 116, 117, 
+    114, 101,  80, 105, 120, 101, 
+    108,  83, 104,  97, 100, 101, 
+    114,   0,   0,   0,  58,   0, 
+     16,  17,   0,   0,   0,   0, 
+    156,   7,   0,   0,   0,   0, 
+      0,   0, 236,  10,   0,   0, 
+      0,   0,   0,   0, 236,  10, 
+      0,   0,   7,  16,   0,   0, 
+    176,   0,   0,   0,   1,   0, 
+    160,  84, 101, 120, 116, 117, 
+    114, 101,  80, 105, 120, 101, 
+    108,  83, 104,  97, 100, 101, 
+    114,   0,   0,   0,  46,   0, 
+     62,  17,   4,  16,   0,   0, 
+      9,   0, 105, 110, 112, 117, 
+    116,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  22,   0, 
+     80,  17,   1,   0,   5,   0, 
+      0,   0,   4,   0, 176,   0, 
+      0,   0,   1,   0, 236,  10, 
+      0,   0,   0,   0,  22,   0, 
+     80,  17,   1,   0,   5,   0, 
+      4,   0,   4,   0, 176,   0, 
+      0,   0,   1,   0, 236,  10, 
+      4,   0,   0,   0,  22,   0, 
+     80,  17,   1,   0,   5,   0, 
+      8,   0,   4,   0, 176,   0, 
+      0,   0,   1,   0, 236,  10, 
+      8,   0,   0,   0,  22,   0, 
+     80,  17,   1,   0,   5,   0, 
+     12,   0,   4,   0, 176,   0, 
+      0,   0,   1,   0, 236,  10, 
+     12,   0,   0,   0,  22,   0, 
+     80,  17,   1,   0,   5,   0, 
+     16,   0,   4,   0, 176,   0, 
+      0,   0,   1,   0, 236,  10, 
+     16,   0,   0,   0,  22,   0, 
+     80,  17,   1,   0,   5,   0, 
+     20,   0,   4,   0, 176,   0, 
+      0,   0,   1,   0, 236,  10, 
+     20,   0,   0,   0,  22,   0, 
+     80,  17,   1,   0,   5,   0, 
+     24,   0,   4,   0, 176,   0, 
+      0,   0,   1,   0, 236,  10, 
+     24,   0,   0,   0,  22,   0, 
+     80,  17,   1,   0,   5,   0, 
+     28,   0,   4,   0, 176,   0, 
+      0,   0,   1,   0, 236,  10, 
+     28,   0,   0,   0,  22,   0, 
+     80,  17,   1,   0,   5,   0, 
+     32,   0,   4,   0, 176,   0, 
+      0,   0,   1,   0, 236,  10, 
+     32,   0,   0,   0,  22,   0, 
+     80,  17,   1,   0,   5,   0, 
+     36,   0,   4,   0, 176,   0, 
+      0,   0,   1,   0, 236,  10, 
+     36,   0,   0,   0,  22,   0, 
+     80,  17,   1,   0,   5,   0, 
+     40,   0,   4,   0, 176,   0, 
+      0,   0,   1,   0, 236,  10, 
+     48,   0,   0,   0,  22,   0, 
+     80,  17,   1,   0,   5,   0, 
+     44,   0,   4,   0, 176,   0, 
+      0,   0,   1,   0, 236,  10, 
+     52,   0,   0,   0,  22,   0, 
+     80,  17,   1,   0,   5,   0, 
+     48,   0,   4,   0, 176,   0, 
+      0,   0,   1,   0, 236,  10, 
+     56,   0,   0,   0,  74,   0, 
+     62,  17,   6,  16,   0,   0, 
+    136,   0,  60,  84, 101, 120, 
+    116, 117, 114, 101,  80, 105, 
+    120, 101, 108,  83, 104,  97, 
+    100, 101, 114,  32, 114, 101, 
+    116, 117, 114, 110,  32, 118, 
+     97, 108, 117, 101,  62,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  22,   0,  80,  17, 
+      2,   0,   5,   0,   0,   0, 
+      4,   0, 176,   0,   0,   0, 
+      1,   0, 236,  10,   0,   0, 
+      0,   0,  22,   0,  80,  17, 
+      2,   0,   5,   0,   4,   0, 
+      4,   0, 176,   0,   0,   0, 
+      1,   0, 236,  10,   4,   0, 
+      0,   0,  22,   0,  80,  17, 
+      2,   0,   5,   0,   8,   0, 
+      4,   0, 176,   0,   0,   0, 
+      1,   0, 236,  10,   8,   0, 
+      0,   0,  22,   0,  80,  17, 
+      2,   0,   5,   0,  12,   0, 
+      4,   0, 176,   0,   0,   0, 
+      1,   0, 236,  10,  12,   0, 
+      0,   0,  50,   0,  62,  17, 
+      2,  16,   0,   0,   8,   0, 
+    100, 105, 102, 102, 117, 115, 
+    101,  76, 105, 103, 104, 116, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,   0,   0,   4,   0, 
+    208,   0,   0,   0,   1,   0, 
+     72,   0,   0,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,   4,   0,   4,   0, 
+    208,   0,   0,   0,   1,   0, 
+     72,   0,   4,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,   8,   0,   4,   0, 
+    208,   0,   0,   0,   1,   0, 
+     72,   0,   8,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,   0,   0,   4,   0, 
+     24,   1,   0,   0,   1,   0, 
+     24,   3,  32,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,   4,   0,   4,   0, 
+     24,   1,   0,   0,   1,   0, 
+     24,   3,  36,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,   8,   0,   4,   0, 
+     24,   1,   0,   0,   1,   0, 
+     24,   3,  40,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,   0,   0,   4,   0, 
+     48,   4,   0,   0,   1,   0, 
+    132,   6,   4,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,   4,   0,   4,   0, 
+     48,   4,   0,   0,   1,   0, 
+    132,   6,   8,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,   8,   0,   4,   0, 
+     48,   4,   0,   0,   1,   0, 
+    108,   7,  12,   0,   0,   0, 
+     54,   0,  62,  17,   2,  16, 
+      0,   0,   8,   0, 115, 112, 
+    101,  99, 117, 108,  97, 114, 
+     76, 105, 103, 104, 116,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,   0,   0, 
+      4,   0, 240,   0,   0,   0, 
+      1,   0,  84,   3,  16,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,   4,   0, 
+      4,   0, 240,   0,   0,   0, 
+      1,   0,  84,   3,  20,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,   8,   0, 
+      4,   0, 240,   0,   0,   0, 
+      1,   0,  84,   3,  24,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,   0,   0, 
+      4,   0,  68,   4,   0,   0, 
+      1,   0,  88,   7,  48,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,   4,   0, 
+      4,   0,  68,   4,   0,   0, 
+      1,   0,  88,   7,  52,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,   8,   0, 
+      4,   0,  68,   4,   0,   0, 
+      1,   0,  88,   7,  56,   0, 
+      0,   0,  42,   0,  62,  17, 
+    116,   0,   0,   0,   0,   0, 
+    106,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  22,   0, 
+     80,  17,   0,   0,   1,   0, 
+      0,   0,   4,   0,   4,   1, 
+      0,   0,   1,   0,  40,   0, 
+     12,   0,   0,   0,  22,   0, 
+     80,  17,   0,   0,   1,   0, 
+      0,   0,   4,   0,  44,   1, 
+      0,   0,   1,   0,  44,   3, 
+     28,   0,   0,   0,  42,   0, 
+     62,  17, 116,   0,   0,   0, 
+      0,   0, 105,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      1,   0,   0,   0,   4,   0, 
+     28,   4,   0,   0,   1,   0, 
+     60,   0,   0,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      1,   0,   0,   0,   4,   0, 
+     88,   4,   0,   0,   1,   0, 
+     28,   6,  28,   0,   0,   0, 
+     46,   0,  62,  17,   2,  16, 
+      0,   0,   8,   0, 108, 105, 
+    103, 104, 116,  68, 105, 114, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,   0,   0,   4,   0, 
+     64,   5,   0,   0,   1,   0, 
+     12,   2,  64,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,   4,   0,   4,   0, 
+     64,   5,   0,   0,   1,   0, 
+     12,   2,  68,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,   8,   0,   4,   0, 
+     64,   5,   0,   0,   1,   0, 
+     12,   2,  72,   0,   0,   0, 
+     46,   0,  62,  17,  64,   0, 
+      0,   0,   0,   0, 102,  97, 
+     99, 116, 111, 114,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      1,   0,   0,   0,   4,   0, 
+    184,   5,   0,   0,   1,   0, 
+    144,   4,  44,   0,   0,   0, 
+     42,   0,  62,  17,  64,   0, 
+      0,   0,   0,   0, 102,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  26,   0,  80,  17, 
+      0,   0,   1,   0,   0,   0, 
+      4,   0,  32,   6,   0,   0, 
+      1,   0,  40,   4,  72,   1, 
+    164,   1,  60,   0,   0,   0, 
+     54,   0,  62,  17,   0,  16, 
+      0,   0,   8,   0, 109,  97, 
+    116, 101, 114, 105,  97, 108, 
+     67, 111, 108, 111, 114,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,   0,   0, 
+      4,   0, 116,  10,   0,   0, 
+      1,   0,  32,   0,  16,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,   4,   0, 
+      4,   0, 116,  10,   0,   0, 
+      1,   0,  32,   0,  20,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,   8,   0, 
+      4,   0, 116,  10,   0,   0, 
+      1,   0,  32,   0,  24,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,  12,   0, 
+      4,   0, 116,  10,   0,   0, 
+      1,   0,  40,   1,  28,   0, 
+      0,   0,  50,   0,  62,  17, 
+      0,  16,   0,   0,   8,   0, 
+    116, 101, 120, 116, 117, 114, 
+    101,  67, 111, 108, 111, 114, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,   0,   0,   4,   0, 
+     92,  11,   0,   0,   1,   0, 
+     64,   0,   0,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,   4,   0,   4,   0, 
+     92,  11,   0,   0,   1,   0, 
+     64,   0,   4,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,   8,   0,   4,   0, 
+     92,  11,   0,   0,   1,   0, 
+     64,   0,   8,   0,   0,   0, 
+     22,   0,  80,  17,   0,   0, 
+      5,   0,  12,   0,   4,   0, 
+    112,  11,   0,   0,   1,   0, 
+     44,   0,  28,   0,   0,   0, 
+      2,   0,   6,   0, 244,   0, 
+      0,   0,  24,   0,   0,   0, 
+      1,   0,   0,   0,  16,   1, 
+     40,  19,  73,  84,  74, 167, 
+     33,  72, 195, 111, 254, 118, 
+     47, 204, 252,  24,   0,   0, 
+    242,   0,   0,   0, 192,   9, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   1,   0, 156,  11, 
+      0,   0,   0,   0,   0,   0, 
+    206,   0,   0,   0, 180,   9, 
+      0,   0, 176,   0,   0,   0, 
+     60,   0,   0, 128, 176,   0, 
+      0,   0,  60,   0,   0,   0, 
+    208,   0,   0,   0,  61,   0, 
+      0, 128, 208,   0,   0,   0, 
+     61,   0,   0,   0, 240,   0, 
+      0,   0,  62,   0,   0, 128, 
+    240,   0,   0,   0,  62,   0, 
+      0,   0,   4,   1,   0,   0, 
+     62,   0,   0, 128,   4,   1, 
+      0,   0,  62,   0,   0,   0, 
+     24,   1,   0,   0,  62,   0, 
+      0, 128,  24,   1,   0,   0, 
+     62,   0,   0,   0,  44,   1, 
+      0,   0,  62,   0,   0, 128, 
+     44,   1,   0,   0,  62,   0, 
+      0,   0,  48,   1,   0,   0, 
+     62,   0,   0, 128,  48,   1, 
+      0,   0,  62,   0,   0,   0, 
+     80,   1,   0,   0,  62,   0, 
+      0, 128,  80,   1,   0,   0, 
+     62,   0,   0,   0,  92,   1, 
+      0,   0,  64,   0,   0, 128, 
+     92,   1,   0,   0,  64,   0, 
+      0,   0, 136,   1,   0,   0, 
+     64,   0,   0, 128, 136,   1, 
+      0,   0,  64,   0,   0,   0, 
+    180,   1,   0,   0,  64,   0, 
+      0, 128, 180,   1,   0,   0, 
+     64,   0,   0,   0, 224,   1, 
+      0,   0,  64,   0,   0, 128, 
+    224,   1,   0,   0,  64,   0, 
+      0,   0, 248,   1,   0,   0, 
+     64,   0,   0, 128, 248,   1, 
+      0,   0,  64,   0,   0,   0, 
+     20,   2,   0,   0,  64,   0, 
+      0, 128,  20,   2,   0,   0, 
+     64,   0,   0,   0,  40,   2, 
+      0,   0,  64,   0,   0, 128, 
+     40,   2,   0,   0,  64,   0, 
+      0,   0,  68,   2,   0,   0, 
+     64,   0,   0, 128,  68,   2, 
+      0,   0,  64,   0,   0,   0, 
+     80,   2,   0,   0,  65,   0, 
+      0, 128,  80,   2,   0,   0, 
+     62,   0,   0,   0, 108,   2, 
+      0,   0,  65,   0,   0, 128, 
+    108,   2,   0,   0,  65,   0, 
+      0,   0, 112,   2,   0,   0, 
+     65,   0,   0, 128, 112,   2, 
+      0,   0,  65,   0,   0,   0, 
+    116,   2,   0,   0,  66,   0, 
+      0, 128, 116,   2,   0,   0, 
+     66,   0,   0,   0, 160,   2, 
+      0,   0,  66,   0,   0, 128, 
+    160,   2,   0,   0,  66,   0, 
+      0,   0, 204,   2,   0,   0, 
+     66,   0,   0, 128, 204,   2, 
+      0,   0,  66,   0,   0,   0, 
+    248,   2,   0,   0,  66,   0, 
+      0, 128, 248,   2,   0,   0, 
+     66,   0,   0,   0,  36,   3, 
+      0,   0,  66,   0,   0, 128, 
+     36,   3,   0,   0,  66,   0, 
+      0,   0,  80,   3,   0,   0, 
+     66,   0,   0, 128,  80,   3, 
+      0,   0,  66,   0,   0,   0, 
+    124,   3,   0,   0,  66,   0, 
+      0, 128, 124,   3,   0,   0, 
+     66,   0,   0,   0, 148,   3, 
+      0,   0,  66,   0,   0, 128, 
+    148,   3,   0,   0,  66,   0, 
+      0,   0, 176,   3,   0,   0, 
+     66,   0,   0, 128, 176,   3, 
+      0,   0,  66,   0,   0,   0, 
+    204,   3,   0,   0,  66,   0, 
+      0, 128, 204,   3,   0,   0, 
+     66,   0,   0,   0, 232,   3, 
+      0,   0,  62,   0,   0, 128, 
+    232,   3,   0,   0,  62,   0, 
+      0,   0,   4,   4,   0,   0, 
+     67,   0,   0, 128,   4,   4, 
+      0,   0,  67,   0,   0,   0, 
+      8,   4,   0,   0,  68,   0, 
+      0, 128,   8,   4,   0,   0, 
+     68,   0,   0,   0,  28,   4, 
+      0,   0,  68,   0,   0, 128, 
+     28,   4,   0,   0,  68,   0, 
+      0,   0,  48,   4,   0,   0, 
+     68,   0,   0, 128,  48,   4, 
+      0,   0,  68,   0,   0,   0, 
+     68,   4,   0,   0,  68,   0, 
+      0, 128,  68,   4,   0,   0, 
+     68,   0,   0,   0,  88,   4, 
+      0,   0,  68,   0,   0, 128, 
+     88,   4,   0,   0,  68,   0, 
+      0,   0,  92,   4,   0,   0, 
+     68,   0,   0, 128,  92,   4, 
+      0,   0,  68,   0,   0,   0, 
+    124,   4,   0,   0,  68,   0, 
+      0, 128, 124,   4,   0,   0, 
+     68,   0,   0,   0, 136,   4, 
+      0,   0,  70,   0,   0, 128, 
+    136,   4,   0,   0,  70,   0, 
+      0,   0, 180,   4,   0,   0, 
+     70,   0,   0, 128, 180,   4, 
+      0,   0,  70,   0,   0,   0, 
+    224,   4,   0,   0,  70,   0, 
+      0, 128, 224,   4,   0,   0, 
+     70,   0,   0,   0,  12,   5, 
+      0,   0,  70,   0,   0, 128, 
+     12,   5,   0,   0,  70,   0, 
+      0,   0,  36,   5,   0,   0, 
+     70,   0,   0, 128,  36,   5, 
+      0,   0,  70,   0,   0,   0, 
+     64,   5,   0,   0,  71,   0, 
+      0, 128,  64,   5,   0,   0, 
+     71,   0,   0,   0, 108,   5, 
+      0,   0,  71,   0,   0, 128, 
+    108,   5,   0,   0,  71,   0, 
+      0,   0, 136,   5,   0,   0, 
+     71,   0,   0, 128, 136,   5, 
+      0,   0,  71,   0,   0,   0, 
+    156,   5,   0,   0,  71,   0, 
+      0, 128, 156,   5,   0,   0, 
+     71,   0,   0,   0, 184,   5, 
+      0,   0,  72,   0,   0, 128, 
+    184,   5,   0,   0,  72,   0, 
+      0,   0, 212,   5,   0,   0, 
+     72,   0,   0, 128, 212,   5, 
+      0,   0,  72,   0,   0,   0, 
+    232,   5,   0,   0,  72,   0, 
+      0, 128, 232,   5,   0,   0, 
+     72,   0,   0,   0,   4,   6, 
+      0,   0,  72,   0,   0, 128, 
+      4,   6,   0,   0,  72,   0, 
+      0,   0,  32,   6,   0,   0, 
+     73,   0,   0, 128,  32,   6, 
+      0,   0,  73,   0,   0,   0, 
+     52,   6,   0,   0,  73,   0, 
+      0, 128,  52,   6,   0,   0, 
+     73,   0,   0,   0,  80,   6, 
+      0,   0,  73,   0,   0, 128, 
+     80,   6,   0,   0,  73,   0, 
+      0,   0,  92,   6,   0,   0, 
+     75,   0,   0, 128,  92,   6, 
+      0,   0,  75,   0,   0,   0, 
+    136,   6,   0,   0,  75,   0, 
+      0, 128, 136,   6,   0,   0, 
+     75,   0,   0,   0, 180,   6, 
+      0,   0,  75,   0,   0, 128, 
+    180,   6,   0,   0,  75,   0, 
+      0,   0, 224,   6,   0,   0, 
+     75,   0,   0, 128, 224,   6, 
+      0,   0,  75,   0,   0,   0, 
+    252,   6,   0,   0,  75,   0, 
+      0, 128, 252,   6,   0,   0, 
+     75,   0,   0,   0,  24,   7, 
+      0,   0,  75,   0,   0, 128, 
+     24,   7,   0,   0,  75,   0, 
+      0,   0,  52,   7,   0,   0, 
+     76,   0,   0, 128,  52,   7, 
+      0,   0,  76,   0,   0,   0, 
+     76,   7,   0,   0,  76,   0, 
+      0, 128,  76,   7,   0,   0, 
+     76,   0,   0,   0, 104,   7, 
+      0,   0,  76,   0,   0, 128, 
+    104,   7,   0,   0,  76,   0, 
+      0,   0, 124,   7,   0,   0, 
+     76,   0,   0, 128, 124,   7, 
+      0,   0,  76,   0,   0,   0, 
+    152,   7,   0,   0,  76,   0, 
+      0, 128, 152,   7,   0,   0, 
+     76,   0,   0,   0, 180,   7, 
+      0,   0,  76,   0,   0, 128, 
+    180,   7,   0,   0,  76,   0, 
+      0,   0, 208,   7,   0,   0, 
+     76,   0,   0, 128, 208,   7, 
+      0,   0,  76,   0,   0,   0, 
+    232,   7,   0,   0,  76,   0, 
+      0, 128, 232,   7,   0,   0, 
+     76,   0,   0,   0,   4,   8, 
+      0,   0,  76,   0,   0, 128, 
+      4,   8,   0,   0,  76,   0, 
+      0,   0,  32,   8,   0,   0, 
+     76,   0,   0, 128,  32,   8, 
+      0,   0,  76,   0,   0,   0, 
+     60,   8,   0,   0,  76,   0, 
+      0, 128,  60,   8,   0,   0, 
+     76,   0,   0,   0,  80,   8, 
+      0,   0,  76,   0,   0, 128, 
+     80,   8,   0,   0,  76,   0, 
+      0,   0, 108,   8,   0,   0, 
+     76,   0,   0, 128, 108,   8, 
+      0,   0,  76,   0,   0,   0, 
+    132,   8,   0,   0,  76,   0, 
+      0, 128, 132,   8,   0,   0, 
+     76,   0,   0,   0, 164,   8, 
+      0,   0,  76,   0,   0, 128, 
+    164,   8,   0,   0,  76,   0, 
+      0,   0, 192,   8,   0,   0, 
+     76,   0,   0, 128, 192,   8, 
+      0,   0,  76,   0,   0,   0, 
+    212,   8,   0,   0,  76,   0, 
+      0, 128, 212,   8,   0,   0, 
+     76,   0,   0,   0, 240,   8, 
+      0,   0,  76,   0,   0, 128, 
+    240,   8,   0,   0,  76,   0, 
+      0,   0,  12,   9,   0,   0, 
+     77,   0,   0, 128,  12,   9, 
+      0,   0,  77,   0,   0,   0, 
+     32,   9,   0,   0,  77,   0, 
+      0, 128,  32,   9,   0,   0, 
+     77,   0,   0,   0,  60,   9, 
+      0,   0,  77,   0,   0, 128, 
+     60,   9,   0,   0,  77,   0, 
+      0,   0,  72,   9,   0,   0, 
+     78,   0,   0, 128,  72,   9, 
+      0,   0,  78,   0,   0,   0, 
+    116,   9,   0,   0,  78,   0, 
+      0, 128, 116,   9,   0,   0, 
+     78,   0,   0,   0, 160,   9, 
+      0,   0,  78,   0,   0, 128, 
+    160,   9,   0,   0,  78,   0, 
+      0,   0, 204,   9,   0,   0, 
+     78,   0,   0, 128, 204,   9, 
+      0,   0,  78,   0,   0,   0, 
+    232,   9,   0,   0,  78,   0, 
+      0, 128, 232,   9,   0,   0, 
+     78,   0,   0,   0,   4,  10, 
+      0,   0,  78,   0,   0, 128, 
+      4,  10,   0,   0,  78,   0, 
+      0,   0,  32,  10,   0,   0, 
+     78,   0,   0, 128,  32,  10, 
+      0,   0,  78,   0,   0,   0, 
+     36,  10,   0,   0,  79,   0, 
+      0, 128,  36,  10,   0,   0, 
+     79,   0,   0,   0,  40,  10, 
+      0,   0,  80,   0,   0, 128, 
+     40,  10,   0,   0,  68,   0, 
+      0,   0,  68,  10,   0,   0, 
+     80,   0,   0, 128,  68,  10, 
+      0,   0,  80,   0,   0,   0, 
+     72,  10,   0,   0,  81,   0, 
+      0, 128,  72,  10,   0,   0, 
+     81,   0,   0,   0, 116,  10, 
+      0,   0,  82,   0,   0, 128, 
+    116,  10,   0,   0,  82,   0, 
+      0,   0, 148,  10,   0,   0, 
+     82,   0,   0, 128, 148,  10, 
+      0,   0,  82,   0,   0,   0, 
+    180,  10,   0,   0,  82,   0, 
+      0, 128, 180,  10,   0,   0, 
+     82,   0,   0,   0, 208,  10, 
+      0,   0,  82,   0,   0, 128, 
+    208,  10,   0,   0,  82,   0, 
+      0,   0, 240,  10,   0,   0, 
+     82,   0,   0, 128, 240,  10, 
+      0,   0,  82,   0,   0,   0, 
+     12,  11,   0,   0,  82,   0, 
+      0, 128,  12,  11,   0,   0, 
+     82,   0,   0,   0,  52,  11, 
+      0,   0,  82,   0,   0, 128, 
+     52,  11,   0,   0,  82,   0, 
+      0,   0,  92,  11,   0,   0, 
+     83,   0,   0, 128,  92,  11, 
+      0,   0,  83,   0,   0,   0, 
+    112,  11,   0,   0,  84,   0, 
+      0, 128, 112,  11,   0,   0, 
+     84,   0,   0,   0, 132,  11, 
+      0,   0,  84,   0,   0, 128, 
+    132,  11,   0,   0,  84,   0, 
+      0,   0, 152,  11,   0,   0, 
+     84,   0,   0, 128, 152,  11, 
+      0,   0,  84,   0,   0,   0, 
+      5,   0,  44,   0,  27,   0, 
+     43,   0,   5,   0,  45,   0, 
+     28,   0,  44,   0,   5,   0, 
+     48,   0,  14,   0,  18,   0, 
+      5,   0,  48,   0,   5,   0, 
+     48,   0,   5,   0,  48,   0, 
+      5,   0,  48,   0,   5,   0, 
+     48,   0,   5,   0,  48,   0, 
+      5,   0,  48,   0,  21,   0, 
+     41,   0,   5,   0,  48,   0, 
+     21,   0,  41,   0,   9,   0, 
+     67,   0,  33,   0,  49,   0, 
+      9,   0,  67,   0,  33,   0, 
+     49,   0,   9,   0,  67,   0, 
+     33,   0,  49,   0,   9,   0, 
+     67,   0,  32,   0,  59,   0, 
+      9,   0,  67,   0,  13,   0, 
+     61,   0,   9,   0,  67,   0, 
+     13,   0,  65,   0,   9,   0, 
+     67,   0,  13,   0,  65,   0, 
+      9,   0,  67,   0,   9,   0, 
+     67,   0,  13,   0,  21,   0, 
+     44,   0,  46,   0,  13,   0, 
+     21,   0,  13,   0,  21,   0, 
+     21,   0,  21,   0,  21,   0, 
+     21,   0,   9,   0, 100,   0, 
+     25,   0,  41,   0,   9,   0, 
+    100,   0,  25,   0,  41,   0, 
+      9,   0, 100,   0,  25,   0, 
+     41,   0,   9,   0, 100,   0, 
+     71,   0,  87,   0,   9,   0, 
+    100,   0,  71,   0,  87,   0, 
+      9,   0, 100,   0,  71,   0, 
+     87,   0,   9,   0, 100,   0, 
+     70,   0,  97,   0,   9,   0, 
+    100,   0,  51,   0,  99,   0, 
+      9,   0, 100,   0,  25,   0, 
+     99,   0,   9,   0, 100,   0, 
+      9,   0,  99,   0,  44,   0, 
+     46,   0,  44,   0,  46,   0, 
+      5,   0,   5,   0,   5,   0, 
+      5,   0,   5,   0,  46,   0, 
+     14,   0,  18,   0,   5,   0, 
+     46,   0,   5,   0,  46,   0, 
+      5,   0,  46,   0,   5,   0, 
+     46,   0,   5,   0,  46,   0, 
+      5,   0,  46,   0,   5,   0, 
+     46,   0,   5,   0,  46,   0, 
+      5,   0,  46,   0,  21,   0, 
+     39,   0,   5,   0,  46,   0, 
+     21,   0,  39,   0,   9,   0, 
+     73,   0,  27,   0,  42,   0, 
+      9,   0,  73,   0,  27,   0, 
+     42,   0,   9,   0,  73,   0, 
+     27,   0,  42,   0,   9,   0, 
+     73,   0,  27,   0,  72,   0, 
+      9,   0,  73,   0,  27,   0, 
+     72,   0,   9,   0,  68,   0, 
+     24,   0,  39,   0,   9,   0, 
+     68,   0,  50,   0,  67,   0, 
+      9,   0,  68,   0,  50,   0, 
+     67,   0,   9,   0,  68,   0, 
+     24,   0,  67,   0,   9,   0, 
+     61,   0,  38,   0,  58,   0, 
+      9,   0,  61,   0,  38,   0, 
+     58,   0,   9,   0,  61,   0, 
+     38,   0,  58,   0,   9,   0, 
+     61,   0,  19,   0,  60,   0, 
+      9,   0,  19,   0,  13,   0, 
+     17,   0,   9,   0,  19,   0, 
+     13,   0,  17,   0,   9,   0, 
+     19,   0,   9,   0,  19,   0, 
+     13,   0,  64,   0,  29,   0, 
+     44,   0,  13,   0,  64,   0, 
+     29,   0,  44,   0,  13,   0, 
+     64,   0,  29,   0,  44,   0, 
+     13,   0,  64,   0,  29,   0, 
+     54,   0,  13,   0,  64,   0, 
+     29,   0,  63,   0,  13,   0, 
+     64,   0,  13,   0,  63,   0, 
+     13,   0, 133,   0,  53,   0, 
+     61,   0,  13,   0, 133,   0, 
+     42,   0,  63,   0,  13,   0, 
+    133,   0,  42,   0,  63,   0, 
+     13,   0, 133,   0,  42,   0, 
+     63,   0,  13,   0, 133,   0, 
+     33,   0,  79,   0,  13,   0, 
+    133,   0,  33,   0,  79,   0, 
+     13,   0, 133,   0,  33,   0, 
+     79,   0,  13,   0, 133,   0, 
+     33,   0,  79,   0,  13,   0, 
+    133,   0,  33,   0,  79,   0, 
+     13,   0, 133,   0,  22,   0, 
+     81,   0,  13,   0, 133,   0, 
+     22,   0,  81,   0,  13,   0, 
+    133,   0,  22,   0,  81,   0, 
+     13,   0, 133,   0,  95,   0, 
+    128,   0,  13,   0, 133,   0, 
+     95,   0, 128,   0,  13,   0, 
+    133,   0,  84,   0, 130,   0, 
+     13,   0, 133,   0,  84,   0, 
+    130,   0,  13,   0, 133,   0, 
+     84,   0, 130,   0,  13,   0, 
+    133,   0,  17,   0, 132,   0, 
+     13,   0,  23,   0,  17,   0, 
+     21,   0,  13,   0,  23,   0, 
+     17,   0,  21,   0,  13,   0, 
+     23,   0,  13,   0,  23,   0, 
+     17,   0,  69,   0,  34,   0, 
+     49,   0,  17,   0,  69,   0, 
+     34,   0,  49,   0,  17,   0, 
+     69,   0,  34,   0,  49,   0, 
+     17,   0,  69,   0,  34,   0, 
+     59,   0,  17,   0,  69,   0, 
+     34,   0,  68,   0,  17,   0, 
+     69,   0,  17,   0,  68,   0, 
+     69,   0,  69,   0,  69,   0, 
+     69,   0,   9,   0,   9,   0, 
+      9,   0,   9,   0,   5,   0, 
+      5,   0,  42,   0,  44,   0, 
+      5,   0,   5,   0,   5,   0, 
+      5,   0,   5,   0,  73,   0, 
+     28,   0,  72,   0,   5,   0, 
+    227,   0,  37,   0,  65,   0, 
+      5,   0, 227,   0,  69,   0, 
+    142,   0,   5,   0, 227,   0, 
+     37,   0, 142,   0,   5,   0, 
+    227,   0, 146,   0, 224,   0, 
+      5,   0, 227,   0,  37,   0, 
+    224,   0,   5,   0, 227,   0, 
+     27,   0, 226,   0,   5,   0, 
+    227,   0,  27,   0, 226,   0, 
+      5,   0,  37,   0,   5,   0, 
+     36,   0,   5,   0,  24,   0, 
+      5,   0,  24,   0,   5,   0, 
+     24,   0,   5,   0,  24,   0, 
+      5,   0,  24,   0,   5,   0, 
+     24,   0, 246,   0,   0,   0, 
+      4,   0,   0,   0,   0,   0, 
+      0,   0,  44,   0,   0,   0, 
+      0,   0,   0,   0,  36,   0, 
+      0,   0,  72,   0,   0,   0, 
+    104,   0,   0,   0, 136,   0, 
+      0,   0, 172,   0,   0,   0, 
+    208,   0,   0,   0, 244,   0, 
+      0,   0,  28,   1,   0,   0, 
+     64,   1,   0,   0, 100,   1, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  26,   2,   0,   0, 
+      0,   0, 242, 241,  10,   0, 
+     24,  21,  21,  16,   0,   0, 
+      1,   0,   1,   0,  10,   0, 
+     24,  21,  22,  16,   0,   0, 
+      1,   0,   0,   2,  58,   0, 
+      3,  18,  13,  21,   3,   0, 
+      2,  16,   0,   0,   0,   0, 
+    112, 111, 115, 105, 116, 105, 
+    111, 110,   0, 241,  13,  21, 
+      3,   0,   2,  16,   0,   0, 
+     16,   0,  99, 111, 108, 111, 
+    114,   0,  13,  21,   3,   0, 
+     64,   0,   0,   0,  28,   0, 
+    114,  97, 100, 105, 117, 115, 
+      0, 243, 242, 241,  34,   0, 
+      5,  21,   3,   0,   0,   0, 
+     24,  16,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     32,   0,  80, 111, 105, 110, 
+    116,  76, 105, 103, 104, 116, 
+      0, 243, 242, 241,  14,   0, 
+     23,  21,  25,  16,   0,   0, 
+     26,   2,   0,   0,   0,   0, 
+    242, 241,  10,   0,  24,  21, 
+     26,  16,   0,   0,   1,   0, 
+      1,   0,  10,   0,  24,  21, 
+     27,  16,   0,   0,   1,   0, 
+      0,   2,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  11, 202, 
+     49,   1,  56,   0,   0,   0, 
+      0,  16,   0,   0,  29,  16, 
+      0,   0, 112,   2,   0,   0, 
+     10,   0, 255, 255,   4,   0, 
+      0,   0, 255, 255,   3,   0, 
+      0,   0,   0,   0, 116,   0, 
+      0,   0, 116,   0,   0,   0, 
+      8,   0,   0,   0, 124,   0, 
+      0,   0,   0,   0,   0,   0, 
+     22,   0,  27,  21,  64,   0, 
+      0,   0,   4,   0,   0,   0, 
+     16,   0, 102, 108, 111,  97, 
+    116,  52,   0, 243, 242, 241, 
+     22,   0,  27,  21,  64,   0, 
+      0,   0,   2,   0,   0,   0, 
+      8,   0, 102, 108, 111,  97, 
+    116,  50,   0, 243, 242, 241, 
+     22,   0,  27,  21,  64,   0, 
+      0,   0,   3,   0,   0,   0, 
+     12,   0, 102, 108, 111,  97, 
+    116,  51,   0, 243, 242, 241, 
+     78,   0,   3,  18,  13,  21, 
+      3,   0,   0,  16,   0,   0, 
+      0,   0, 119, 111, 114, 108, 
+    100,  80, 111, 115,   0, 241, 
+     13,  21,   3,   0,   0,  16, 
+      0,   0,  16,   0, 112, 111, 
+    115, 105, 116, 105, 111, 110, 
+      0, 241,  13,  21,   3,   0, 
+      1,  16,   0,   0,  32,   0, 
+    116, 101, 120,   0, 242, 241, 
+     13,  21,   3,   0,   2,  16, 
+      0,   0,  40,   0, 110, 111, 
+    114, 109,  97, 108,   0, 243, 
+    242, 241,  38,   0,   5,  21, 
+      4,   0,   0,   0,   3,  16, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  52,   0, 
+     80, 105, 120, 101, 108,  73, 
+    110, 112, 117, 116,  84, 121, 
+    112, 101,   0, 243, 242, 241, 
+     10,   0,   1,  18,   1,   0, 
+      0,   0,   4,  16,   0,   0, 
+     10,   0,  24,  21,   0,  16, 
+      0,   0,   1,   0,   1,   0, 
+     14,   0,   8,  16,   6,  16, 
+      0,   0,  23,   0,   1,   0, 
+      5,  16,   0,   0,  14,   0, 
+     23,  21,   0,  16,   0,   0, 
+      3,   2,  96,   3,   0,   0, 
+    242, 241,  10,   0,  24,  21, 
+      8,  16,   0,   0,   1,   0, 
+      1,   0,  10,   0,  24,  21, 
+      9,  16,   0,   0,   1,   0, 
+      0,   2,  14,   0,  23,  21, 
+      0,   0,   0,   0,  10,   2, 
+      0,   0,   0,   0, 242, 241, 
+     10,   0,  24,  21,  11,  16, 
+      0,   0,   1,   0,   1,   0, 
+     10,   0,  24,  21,  12,  16, 
+      0,   0,   1,   0,   0,   2, 
+     10,   0,  24,  21,   6,  16, 
+      0,   0,   1,   0,   0,   2, 
+     10,   0,  24,  21,  64,   0, 
+      0,   0,   1,   0,   1,   0, 
+     10,   0,  24,  21,  15,  16, 
+      0,   0,   1,   0,   0,   2, 
+     10,   0,  24,  21, 116,   0, 
+      0,   0,   1,   0,   1,   0, 
+     10,   0,  24,  21,  17,  16, 
+      0,   0,   1,   0,   0,   2, 
+     38,   0,   3,  18,  13,  21, 
+      3,   0,   2,  16,   0,   0, 
+      0,   0, 100, 105, 114, 101, 
+     99, 116, 105, 111, 110,   0, 
+     13,  21,   3,   0,   2,  16, 
+      0,   0,  16,   0,  99, 111, 
+    108, 111, 114,   0,  34,   0, 
+      5,  21,   2,   0,   0,   0, 
+     19,  16,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     28,   0,  68, 105, 102, 102, 
+    117, 115, 101,  76, 105, 103, 
+    104, 116,   0, 241,  14,   0, 
+     23,  21,  20,  16,   0,   0, 
+     11, 202,  49,   1,  56,   0, 
+      0,   0,   0,  16,   0,   0, 
+      0,  16,   0,   0,   0,   0, 
+      0,   0,  11,   0, 255, 255, 
+      4,   0,   0,   0, 255, 255, 
+      3,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 114, 117,  99, 116, 
+     32,  80, 111, 105, 110, 116, 
+     76, 105, 103, 104, 116,  13, 
+     10, 123,  13,  10,  32,  32, 
+     32,  32, 102, 108, 111,  97, 
+    116,  51,  32, 112, 111, 115, 
+    105, 116, 105, 111, 110,  59, 
+     13,  10,  32,  32,  32,  32, 
+    102, 108, 111,  97, 116,  51, 
+     32,  99, 111, 108, 111, 114, 
+     59,  13,  10,  32,  32,  32, 
+     32, 102, 108, 111,  97, 116, 
+     32, 114,  97, 100, 105, 117, 
+    115,  59,  13,  10, 125,  59, 
+     13,  10,  13,  10,  83, 116, 
+    114, 117,  99, 116, 117, 114, 
+    101, 100,  66, 117, 102, 102, 
+    101, 114,  60,  32,  68, 105, 
+    102, 102, 117, 115, 101,  76, 
+    105, 103, 104, 116,  32,  62, 
+     32, 100, 105, 102, 117, 115, 
+    101,  76, 105, 103, 104, 116, 
+    115,  32,  58,  32, 114, 101, 
+    103, 105, 115, 116, 101, 114, 
+     40,  32, 116,  49,  32,  41, 
+     59,  13,  10,  83, 116, 114, 
+    117,  99, 116, 117, 114, 101, 
+    100,  66, 117, 102, 102, 101, 
+    114,  60,  32,  80, 111, 105, 
+    110, 116,  76, 105, 103, 104, 
+    116,  32,  62,  32, 112, 111, 
+    105, 110, 116,  76, 105, 103, 
+    104, 116, 115,  32,  58,  32, 
+    114, 101, 103, 105, 115, 116, 
+    101, 114,  40,  32, 116,  50, 
+     32,  41,  59,  13,  10,  13, 
+     10,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  13,  10,  47, 
+     47,  32,  84,  89,  80,  69, 
+     68,  69,  70,  83,  32,  47, 
+     47,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  13,  10,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  13, 
+     10, 115, 116, 114, 117,  99, 
+    116,  32,  80, 105, 120, 101, 
+    108,  73, 110, 112, 117, 116, 
+     84, 121, 112, 101,  13,  10, 
+    123,  13,  10,  32,  32,  32, 
+     32, 102, 108, 111,  97, 116, 
+     52,  32, 119, 111, 114, 108, 
+    100,  80, 111, 115,  32,  58, 
+     32,  80,  79,  83,  73,  84, 
+     73,  79,  78,  59,  13,  10, 
+     32,  32,  32,  32, 102, 108, 
+    111,  97, 116,  52,  32, 112, 
+    111, 115, 105, 116, 105, 111, 
+    110,  32,  58,  32,  83,  86, 
+     95,  80,  79,  83,  73,  84, 
+     73,  79,  78,  59,  13,  10, 
+     32,  32,  32,  32, 102, 108, 
+    111,  97, 116,  50,  32, 116, 
+    101, 120,  32,  58,  32,  84, 
+     69,  88,  67,  79,  79,  82, 
+     68,  48,  59,  13,  10,  32, 
+     32,  32,  32, 102, 108, 111, 
+     97, 116,  51,  32, 110, 111, 
+    114, 109,  97, 108,  32,  58, 
+     32,  84,  69,  88,  67,  79, 
+     79,  82,  68,  49,  59,  13, 
+     10, 125,  59,  13,  10,  13, 
+     10,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  13,  10,  47, 
+     47,  32,  80, 105, 120, 101, 
+    108,  32,  83, 104,  97, 100, 
+    101, 114,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  13,  10,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  13, 
+     10, 102, 108, 111,  97, 116, 
+     52,  32,  84, 101, 120, 116, 
+    117, 114, 101,  80, 105, 120, 
+    101, 108,  83, 104,  97, 100, 
+    101, 114,  40,  32,  80, 105, 
+    120, 101, 108,  73, 110, 112, 
+    117, 116,  84, 121, 112, 101, 
+     32, 105, 110, 112, 117, 116, 
+     32,  41,  32,  58,  32,  83, 
+     86,  95,  84,  65,  82,  71, 
+     69,  84,  13,  10, 123,  13, 
+     10,  32,  32,  32,  32, 102, 
+    108, 111,  97, 116,  51,  32, 
+    100, 105, 102, 102, 117, 115, 
+    101,  76, 105, 103, 104, 116, 
+     32,  61,  32, 102, 108, 111, 
+     97, 116,  51,  40,  32,  48, 
+     44,  32,  48,  44,  32,  48, 
+     32,  41,  59,  13,  10,  32, 
+     32,  32,  32, 102, 108, 111, 
+     97, 116,  51,  32, 115, 112, 
+    101,  99, 117, 108,  97, 114, 
+     76, 105, 103, 104, 116,  32, 
+     61,  32, 102, 108, 111,  97, 
+    116,  51,  40,  32,  48,  44, 
+     32,  48,  44,  32,  48,  32, 
+     41,  59,  13,  10,  32,  32, 
+     32,  32, 102, 111, 114,  40, 
+     32, 105, 110, 116,  32, 106, 
+     32,  61,  32,  48,  59,  32, 
+    106,  32,  60,  32, 100, 105, 
+    102, 102, 117, 115, 101,  76, 
+    105, 103, 104, 116,  67, 111, 
+    117, 110, 116,  59,  32, 106, 
+     43,  43,  32,  41,  13,  10, 
+     32,  32,  32,  32, 123,  13, 
+     10,  32,  32,  32,  32,  32, 
+     32,  32,  32, 105, 102,  40, 
+     32, 100, 111, 116,  40,  32, 
+    105, 110, 112, 117, 116,  46, 
+    110, 111, 114, 109,  97, 108, 
+     44,  32,  45, 100, 105, 102, 
+    117, 115, 101,  76, 105, 103, 
+    104, 116, 115,  91,  32, 106, 
+     32,  93,  46, 100, 105, 114, 
+    101,  99, 116, 105, 111, 110, 
+     32,  41,  32,  60,  32,  48, 
+     32,  41,  13,  10,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  99, 111, 
+    110, 116, 105, 110, 117, 101, 
+     59,  13,  10,  32,  32,  32, 
+     32,  32,  32,  32,  32, 100, 
+    105, 102, 102, 117, 115, 101, 
+     76, 105, 103, 104, 116,  32, 
+     43,  61,  32, 100, 105, 102, 
+    117, 115, 101,  76, 105, 103, 
+    104, 116, 115,  91,  32, 106, 
+     32,  93,  46,  99, 111, 108, 
+    111, 114,  32,  42,  32, 100, 
+    111, 116,  40,  32, 105, 110, 
+    112, 117, 116,  46, 110, 111, 
+    114, 109,  97, 108,  44,  32, 
+     45, 100, 105, 102, 117, 115, 
+    101,  76, 105, 103, 104, 116, 
+    115,  91,  32, 106,  32,  93, 
+     46, 100, 105, 114, 101,  99, 
+    116, 105, 111, 110,  32,  41, 
+     59,  13,  10,  32,  32,  32, 
+     32, 125,  13,  10,  32,  32, 
+     32,  32, 102, 111, 114,  40, 
+     32, 105, 110, 116,  32, 105, 
+     32,  61,  32,  48,  59,  32, 
+    105,  32,  60,  32, 112, 111, 
+    105, 110, 116,  76, 105, 103, 
+    104, 116,  67, 111, 117, 110, 
+    116,  59,  32, 105,  43,  43, 
+     32,  41,  13,  10,  32,  32, 
+     32,  32, 123,  13,  10,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32, 102, 108, 111,  97, 116, 
+     51,  32, 108, 105, 103, 104, 
+    116,  68, 105, 114,  32,  61, 
+     32, 112, 111, 105, 110, 116, 
+     76, 105, 103, 104, 116, 115, 
+     91,  32, 105,  32,  93,  46, 
+    112, 111, 115, 105, 116, 105, 
+    111, 110,  32,  45,  32, 105, 
+    110, 112, 117, 116,  46, 119, 
+    111, 114, 108, 100,  80, 111, 
+    115,  46, 120, 121, 122,  59, 
+     13,  10,  32,  32,  32,  32, 
+     32,  32,  32,  32, 102, 108, 
+    111,  97, 116,  32, 102,  97, 
+     99, 116, 111, 114,  32,  61, 
+     32, 112, 111, 105, 110, 116, 
+     76, 105, 103, 104, 116, 115, 
+     91,  32, 105,  32,  93,  46, 
+    114,  97, 100, 105, 117, 115, 
+     32,  47,  32, 108, 101, 110, 
+    103, 116, 104,  40,  32, 108, 
+    105, 103, 104, 116,  68, 105, 
+    114,  32,  41,  59,  13,  10, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32, 102, 108, 111,  97, 
+    116,  32, 102,  32,  61,  32, 
+    100, 111, 116,  40,  32, 105, 
+    110, 112, 117, 116,  46, 110, 
+    111, 114, 109,  97, 108,  44, 
+     32, 110, 111, 114, 109,  97, 
+    108, 105, 122, 101,  40,  32, 
+    108, 105, 103, 104, 116,  68, 
+    105, 114,  32,  41,  32,  41, 
+     59,  13,  10,  32,  32,  32, 
+     32,  32,  32,  32,  32, 105, 
+    102,  40,  32, 102,  32,  62, 
+     32,  48,  32,  41,  13,  10, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32, 123,  13,  10,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32, 100, 
+    105, 102, 102, 117, 115, 101, 
+     76, 105, 103, 104, 116,  32, 
+     43,  61,  32, 112, 111, 105, 
+    110, 116,  76, 105, 103, 104, 
+    116, 115,  91,  32, 105,  32, 
+     93,  46,  99, 111, 108, 111, 
+    114,  32,  42,  32, 102,  32, 
+     42,  32, 102,  97,  99, 116, 
+    111, 114,  59,  13,  10,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32, 102, 
+     32,  61,  32, 100, 111, 116, 
+     40,  32, 110, 111, 114, 109, 
+     97, 108, 105, 122, 101,  40, 
+     32, 114, 101, 102, 108, 101, 
+     99, 116,  40,  32, 110, 111, 
+    114, 109,  97, 108, 105, 122, 
+    101,  40,  32,  45, 108, 105, 
+    103, 104, 116,  68, 105, 114, 
+     32,  41,  44,  32, 105, 110, 
+    112, 117, 116,  46, 110, 111, 
+    114, 109,  97, 108,  32,  41, 
+     32,  41,  44,  32, 110, 111, 
+    114, 109,  97, 108, 105, 122, 
+    101,  40,  32, 107,  80, 111, 
+    115, 105, 116, 105, 111, 110, 
+     46, 120, 121, 122,  32,  45, 
+     32, 105, 110, 112, 117, 116, 
+     46, 119, 111, 114, 108, 100, 
+     80, 111, 115,  46, 120, 121, 
+    122,  32,  41,  32,  41,  59, 
+     13,  10,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32, 105, 102,  40,  32, 
+    102,  32,  62,  32,  48,  32, 
+     41,  13,  10,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32, 115, 112, 101,  99, 117, 
+    108,  97, 114,  76, 105, 103, 
+    104, 116,  32,  43,  61,  32, 
+    112, 111, 105, 110, 116,  76, 
+    105, 103, 104, 116, 115,  91, 
+     32, 105,  32,  93,  46,  99, 
+    111, 108, 111, 114,  32,  42, 
+     32, 102,  32,  42,  32, 102, 
+     97,  99, 116, 111, 114,  59, 
+     13,  10,  32,  32,  32,  32, 
+     32,  32,  32,  32, 125,  13, 
+     10,  32,  32,  32,  32, 125, 
+     13,  10,  32,  32,  32,  32, 
+    102, 108, 111,  97, 116,  52, 
+     32, 109,  97, 116, 101, 114, 
+    105,  97, 108,  67, 111, 108, 
+    111, 114,  32,  61,  32, 115, 
+    104,  97, 100, 101, 114,  84, 
+    101, 120, 116, 117, 114, 101, 
+     46,  83,  97, 109, 112, 108, 
+    101,  40,  32,  83,  97, 109, 
+    112, 108, 101,  84, 121, 112, 
+    101,  44,  32, 105, 110, 112, 
+    117, 116,  46, 116, 101, 120, 
+     32,  41,  59,  13,  10,  32, 
+     32,  32,  32, 102, 108, 111, 
+     97, 116,  52,  32, 116, 101, 
+    120, 116, 117, 114, 101,  67, 
+    111, 108, 111, 114,  32,  61, 
+     32, 115,  97, 116, 117, 114, 
+     97, 116, 101,  40,  32, 109, 
+     97, 116, 101, 114, 105,  97, 
+    108,  67, 111, 108, 111, 114, 
+     32,  42,  32,  97, 109,  98, 
+    105, 101, 110, 116,  70,  97, 
+     99, 116, 111, 114,  32,  43, 
+     32, 102, 108, 111,  97, 116, 
+     52,  40,  32, 100, 105, 102, 
+    102, 117, 115, 101,  76, 105, 
+    103, 104, 116,  46, 120,  44, 
+     32, 100, 105, 102, 102, 117, 
+    115, 101,  76, 105, 103, 104, 
+    116,  46, 121,  44,  32, 100, 
+    105, 102, 102, 117, 115, 101, 
+     76, 105, 103, 104, 116,  46, 
+    122,  44,  32,  48,  32,  41, 
+     32,  42,  32, 100, 105, 102, 
+    102, 117, 115,  70,  97,  99, 
+    116, 111, 114,  32,  43,  32, 
+    102, 108, 111,  97, 116,  52, 
+     40,  32, 115, 112, 101,  99, 
+    117, 108,  97, 114,  76, 105, 
+    103, 104, 116,  46, 120,  44, 
+     32, 115, 112, 101,  99, 117, 
+    108,  97, 114,  76, 105, 103, 
+    104, 116,  46, 121,  44,  32, 
+    115, 112, 101,  99, 117, 108, 
+     97, 114,  76, 105, 103, 104, 
+    116,  46, 122,  44,  32,  48, 
+     32,  41,  32,  42,  32, 115, 
+    112, 101,  99, 117, 108,  97, 
+    114,  70,  97,  99, 116, 111, 
+    114,  32,  41,  59,  13,  10, 
+     32,  32,  32,  32, 116, 101, 
+    120, 116, 117, 114, 101,  67, 
+    111, 108, 111, 114,  46,  97, 
+     32,  61,  32, 109,  97, 116, 
+    101, 114, 105,  97, 108,  67, 
+    111, 108, 111, 114,  46,  97, 
+     59,  13,  10,  32,  32,  32, 
+     32, 114, 101, 116, 117, 114, 
+    110,  32, 116, 101, 120, 116, 
+    117, 114, 101,  67, 111, 108, 
+    111, 114,  59,  13,  10, 125, 
+      0,   7,   0,   0,   0,   0, 
+      0,   0,   0,  93,   0,   0, 
+      0,   1,   0,   0,   0,  94, 
+      0,   0,   0, 186,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   4,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     68,  51,  68,  83,  72,  68, 
+     82,   0, 156,  11,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     32,   0,   0,  96,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 255, 255, 255, 255, 
+     26,   9,  47, 241,  88,   0, 
+      0,   0,  48,   2,   0,   0, 
+     37,   0,   0,   0,   1,   0, 
+      0,   0,  29,   1,   0,   0, 
+      1,   0,   0,   0,  65,   1, 
+      0,   0,   1,   0,   0,   0, 
+    245,   0,   0,   0,   1,   0, 
+      0,   0, 209,   0,   0,   0, 
+      1,   0,   0,   0, 173,   0, 
+      0,   0,   1,   0,   0,   0, 
+    101,   1,   0,   0,   1,   0, 
+      0,   0, 137,   0,   0,   0, 
+      1,   0,   0,   0, 105,   0, 
+      0,   0,   1,   0,   0,   0, 
+      1,   0,   0,   0,   1,   0, 
+      0,   0,  73,   0,   0,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   1,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  32,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0, 128,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   2,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      2,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,  64, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     32,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   2,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,  16,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0, 128,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  12,   0,   0,   0, 
+     24,   0,   0,   0,  36,   0, 
+      0,   0,  48,   0,   0,   0, 
+     60,   0,   0,   0,  72,   0, 
+      0,   0,  84,   0,   0,   0, 
+     96,   0,   0,   0, 108,   0, 
+      0,   0, 120,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     34,   0,  37,  17,   0,   0, 
+      0,   0, 140,   0,   0,   0, 
+      1,   0,  84, 101, 120, 116, 
+    117, 114, 101,  80, 105, 120, 
+    101, 108,  83, 104,  97, 100, 
+    101, 114,   0,   0,   0,   0, 
+     34,   0,  81,  17,  10,  16, 
+      0,   0,   7,   0, 255, 255, 
+    255, 255,   0,   0, 255, 255, 
+    255, 255, 115, 104,  97, 100, 
+    101, 114,  84, 101, 120, 116, 
+    117, 114, 101,   0,   0,   0, 
+     30,   0,  81,  17,  13,  16, 
+      0,   0,   6,   0, 255, 255, 
+    255, 255, 255, 255,   0,   0, 
+    255, 255,  83,  97, 109, 112, 
+    108, 101,  84, 121, 112, 101, 
+      0,   0,  30,   0,  81,  17, 
+     14,  16,   0,   0,   8,   0, 
+      0,   0,   0,   0, 255, 255, 
+    255, 255, 255, 255, 107,  80, 
+    111, 115, 105, 116, 105, 111, 
+    110,   0,   0,   0,  34,   0, 
+     81,  17,  16,  16,   0,   0, 
+      8,   0,   1,   0,   0,   0, 
+    255, 255, 255, 255, 255, 255, 
+     97, 109,  98, 105, 101, 110, 
+    116,  70,  97,  99, 116, 111, 
+    114,   0,   0,   0,  34,   0, 
+     81,  17,  16,  16,   0,   0, 
+      8,   0,   1,   0,   4,   0, 
+    255, 255, 255, 255, 255, 255, 
+    100, 105, 102, 102, 117, 115, 
+     70,  97,  99, 116, 111, 114, 
+      0,   0,   0,   0,  34,   0, 
+     81,  17,  16,  16,   0,   0, 
+      8,   0,   1,   0,   8,   0, 
+    255, 255, 255, 255, 255, 255, 
+    115, 112, 101,  99, 117, 108, 
+     97, 114,  70,  97,  99, 116, 
+    111, 114,   0,   0,  38,   0, 
+     81,  17,  18,  16,   0,   0, 
+      8,   0,   2,   0,   0,   0, 
+    255, 255, 255, 255, 255, 255, 
+    100, 105, 102, 102, 117, 115, 
+    101,  76, 105, 103, 104, 116, 
+     67, 111, 117, 110, 116,   0, 
+      0,   0,  34,   0,  81,  17, 
+     18,  16,   0,   0,   8,   0, 
+      2,   0,   4,   0, 255, 255, 
+    255, 255, 255, 255, 112, 111, 
+    105, 110, 116,  76, 105, 103, 
+    104, 116,  67, 111, 117, 110, 
+    116,   0,  34,   0,  81,  17, 
+     23,  16,   0,   0,   7,   0, 
+    255, 255, 255, 255,   1,   0, 
+    255, 255, 255, 255, 100, 105, 
+    102, 117, 115, 101,  76, 105, 
+    103, 104, 116, 115,   0,   0, 
+      0,   0,  30,   0,  81,  17, 
+     28,  16,   0,   0,   7,   0, 
+    255, 255, 255, 255,   2,   0, 
+    255, 255, 255, 255, 112, 111, 
+    105, 110, 116,  76, 105, 103, 
+    104, 116, 115,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  16,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    255, 255, 255, 255,  26,   9, 
+     47, 241,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 255, 255, 
+    255, 255, 119,   9,  49,   1, 
+      1,   0,   0,   0,  13,   0, 
+     10, 140,  14,   0, 180, 156, 
+     15,   0,  11,   0,  88,   0, 
+      0,   0,  32,   0,   0,   0, 
+     44,   0,   0,   0, 104,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  22,   0, 
+      0,   0,  25,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0, 156,  11,   0,   0, 
+     32,   0,   0,  96,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   2,   0, 
+      9,   0, 160,   7,   0,   0, 
+      0,   0,   0,   0, 244,   9, 
+      0,   0,   1,   0,   0,   0, 
+    136, 122, 136,   3,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     84, 101, 120, 116, 117, 114, 
+    101,  80, 105, 120, 101, 108, 
+     83, 104,  97, 100, 101, 114, 
+      0, 110, 111, 110, 101,   0, 
+     45, 186,  46, 241,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+    156,  11,   0,   0,  32,   0, 
+      0,  96,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   2,   0,   2,   0, 
+      7,   0,   0,   0,   0,   0, 
+      1,   0, 255, 255, 255, 255, 
+      0,   0,   0,   0, 156,  11, 
+      0,   0,   8,   2,   0,   0, 
+      0,   0,   0,   0, 255, 255, 
+    255, 255,   0,   0,   0,   0, 
+    255, 255, 255, 255,   1,   0, 
+      1,   0,   0,   0,   1,   0, 
+      0,   0,   0,   0,  67,  58, 
+     92,  85, 115, 101, 114, 115, 
+     92, 107, 111, 108, 106,  97, 
+     92,  79, 110, 101,  68, 114, 
+    105, 118, 101,  92,  68, 101, 
+    115, 107, 116, 111, 112,  92, 
+     75, 111, 108, 106,  97,  45, 
+     83, 116, 114, 111, 104, 109, 
+     45,  71,  97, 109, 101, 115, 
+     92,  65, 108, 108, 103, 101, 
+    109, 101, 105, 110,  92,  70, 
+    114,  97, 109, 101, 119, 111, 
+    114, 107,  92,  68,  88,  49, 
+     49,  80, 105, 120, 101, 108, 
+     83, 104,  97, 100, 101, 114, 
+     46, 104, 108, 115, 108,   0, 
+    254, 239, 254, 239,   1,   0, 
+      0,   0,   1,   0,   0,   0, 
+      0,   1,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255,  12, 
+      0, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    148,  46,  49,   1, 239,   9, 
+     86,  92,   1,   0,   0,   0, 
+    181,   8, 118, 233,  34,  59, 
+    232,  73, 154, 102, 224,  97, 
+    252,  30, 120, 109, 137,   0, 
+      0,   0,  47,  76, 105, 110, 
+    107,  73, 110, 102, 111,   0, 
+     47, 110,  97, 109, 101, 115, 
+      0,  47, 115, 114,  99,  47, 
+    104, 101,  97, 100, 101, 114, 
+     98, 108, 111,  99, 107,   0, 
+     47, 115, 114,  99,  47, 102, 
+    105, 108, 101, 115,  47,  99, 
+     58,  92, 117, 115, 101, 114, 
+    115,  92, 107, 111, 108, 106, 
+     97,  92, 111, 110, 101, 100, 
+    114, 105, 118, 101,  92, 100, 
+    101, 115, 107, 116, 111, 112, 
+     92, 107, 111, 108, 106,  97, 
+     45, 115, 116, 114, 111, 104, 
+    109,  45, 103,  97, 109, 101, 
+    115,  92,  97, 108, 108, 103, 
+    101, 109, 101, 105, 110,  92, 
+    102, 114,  97, 109, 101, 119, 
+    111, 114, 107,  92, 100, 120, 
+     49,  49, 112, 105, 120, 101, 
+    108, 115, 104,  97, 100, 101, 
+    114,  46, 104, 108, 115, 108, 
+      0,   4,   0,   0,   0,   6, 
+      0,   0,   0,   1,   0,   0, 
+      0,  58,   0,   0,   0,   0, 
+      0,   0,   0,  17,   0,   0, 
+      0,   7,   0,   0,   0,  10, 
+      0,   0,   0,   6,   0,   0, 
+      0,   0,   0,   0,   0,   5, 
+      0,   0,   0,  34,   0,   0, 
+      0,   8,   0,   0,   0,   0, 
+      0,   0,   0, 220,  81,  51, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  16,   0,   0,   0, 
+     32,   0,   0,   0, 229,   0, 
+      0,   0, 168,   2,   0,   0, 
+    123,   1,   0,   0,  56,   0, 
+      0,   0,   0,   0,   0,   0, 
+    143,  13,   0,   0, 128,   0, 
+      0,   0, 164,  12,   0,   0, 
+    196,  17,   0,   0, 124,   0, 
+      0,   0,   0,   0,   0,   0, 
+     40,   0,   0,   0, 152,   2, 
+      0,   0,  44,   0,   0,   0, 
+    132,   1,   0,   0,   3,   0, 
+      0,   0,  40,   0,   0,   0, 
+     27,   0,   0,   0,  26,   0, 
+      0,   0,  39,   0,   0,   0, 
+     28,   0,   0,   0,  15,   0, 
+      0,   0,   6,   0,   0,   0, 
+     29,   0,   0,   0,  30,   0, 
+      0,   0,  31,   0,   0,   0, 
+     32,   0,   0,   0,  33,   0, 
+      0,   0,  16,   0,   0,   0, 
+      8,   0,   0,   0,   9,   0, 
+      0,   0,  10,   0,   0,   0, 
+     11,   0,   0,   0,  12,   0, 
+      0,   0,  13,   0,   0,   0, 
+     14,   0,   0,   0,  17,   0, 
+      0,   0,  18,   0,   0,   0, 
+     19,   0,   0,   0,  20,   0, 
+      0,   0,  21,   0,   0,   0, 
+     22,   0,   0,   0,  23,   0, 
+      0,   0,  24,   0,   0,   0, 
+     25,   0,   0,   0,   7,   0, 
+      0,   0,  34,   0,   0,   0, 
+     35,   0,   0,   0,  36,   0, 
+      0,   0,  38,   0,   0,   0, 
+     37,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  41,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      2,   0,   0,   0,   4,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0,   5,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      7,   0,   0,   0,   1,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 

+ 3287 - 254
UIVertexShader.h

@@ -50,7 +50,7 @@
 // TEXCOORD                 1   xyz         3     NONE   float   xyz 
 //
 vs_5_0
-dcl_globalFlags refactoringAllowed
+dcl_globalFlags refactoringAllowed | skipOptimization
 dcl_constantbuffer CB0[512], dynamicIndexed
 dcl_constantbuffer CB1[8], immediateIndexed
 dcl_input v0.xyz
@@ -61,325 +61,370 @@ dcl_output o0.xyzw
 dcl_output_siv o1.xyzw, position
 dcl_output o2.xy
 dcl_output o3.xyz
-dcl_temps 3
-mov r0.xyz, v0.xyzx
-mov r0.w, l(1.000000)
-ishl r1.x, v3.x, l(2)
-dp4 r2.x, r0.xyzw, cb0[r1.x + 0].xyzw
-dp4 r2.y, r0.xyzw, cb0[r1.x + 1].xyzw
-dp4 r2.z, r0.xyzw, cb0[r1.x + 2].xyzw
-dp4 r2.w, r0.xyzw, cb0[r1.x + 3].xyzw
-mov o0.xyzw, r2.xyzw
-dp4 r0.x, r2.xyzw, cb1[0].xyzw
-dp4 r0.y, r2.xyzw, cb1[1].xyzw
-dp4 r0.z, r2.xyzw, cb1[2].xyzw
-dp4 r0.w, r2.xyzw, cb1[3].xyzw
-dp4 o1.x, r0.xyzw, cb1[4].xyzw
-dp4 o1.y, r0.xyzw, cb1[5].xyzw
-dp4 o1.z, r0.xyzw, cb1[6].xyzw
-dp4 o1.w, r0.xyzw, cb1[7].xyzw
-mov o2.xy, v1.xyxx
-dp3 r0.x, v2.xyzx, cb0[r1.x + 0].xyzx
-dp3 r0.y, v2.xyzx, cb0[r1.x + 1].xyzx
-dp3 r0.z, v2.xyzx, cb0[r1.x + 2].xyzx
-dp3 r0.w, r0.xyzx, r0.xyzx
-rsq r0.w, r0.w
-mul o3.xyz, r0.wwww, r0.xyzx
+dcl_temps 5
+//
+// Initial variable locations:
+//   v0.x <- input.position.x; v0.y <- input.position.y; v0.z <- input.position.z; v0.w <- input.position.w; 
+//   v1.x <- input.tex.x; v1.y <- input.tex.y; 
+//   v2.x <- input.normal.x; v2.y <- input.normal.y; v2.z <- input.normal.z; 
+//   v3.x <- input.knochen; 
+//   o3.x <- <TextureVertexShader return value>.normal.x; o3.y <- <TextureVertexShader return value>.normal.y; o3.z <- <TextureVertexShader return value>.normal.z; 
+//   o2.x <- <TextureVertexShader return value>.tex.x; o2.y <- <TextureVertexShader return value>.tex.y; 
+//   o1.x <- <TextureVertexShader return value>.position.x; o1.y <- <TextureVertexShader return value>.position.y; o1.z <- <TextureVertexShader return value>.position.z; o1.w <- <TextureVertexShader return value>.position.w; 
+//   o0.x <- <TextureVertexShader return value>.worldPos.x; o0.y <- <TextureVertexShader return value>.worldPos.y; o0.z <- <TextureVertexShader return value>.worldPos.z; o0.w <- <TextureVertexShader return value>.worldPos.w
+//
+#line 42 "C:\Users\kolja\OneDrive\Desktop\Kolja-Strohm-Games\Allgemein\Framework\DX11VertexShader.hlsl"
+imul null, r0.x, v3.x, l(4)
+dp3 r1.x, v2.xyzx, cb0[r0.x + 0].xyzx
+dp3 r1.y, v2.xyzx, cb0[r0.x + 1].xyzx
+dp3 r1.z, v2.xyzx, cb0[r0.x + 2].xyzx
+dp3 r0.x, r1.xyzx, r1.xyzx
+rsq r0.x, r0.x
+mul r0.xyz, r0.xxxx, r1.xyzx  // r0.x <- output.normal.x; r0.y <- output.normal.y; r0.z <- output.normal.z
+
+#line 45
+mov r1.w, l(1.000000)  // r1.w <- input.position.w
+
+#line 48
+mov r2.xy, v1.xyxx  // r2.x <- output.tex.x; r2.y <- output.tex.y
+
+#line 51
+imul null, r0.w, v3.x, l(4)
+mov r1.xyz, v0.xyzx
+dp4 r3.x, r1.xyzw, cb0[r0.w + 0].xyzw  // r3.x <- output.worldPos.x
+dp4 r3.y, r1.xyzw, cb0[r0.w + 1].xyzw  // r3.y <- output.worldPos.y
+dp4 r3.z, r1.xyzw, cb0[r0.w + 2].xyzw  // r3.z <- output.worldPos.z
+dp4 r3.w, r1.xyzw, cb0[r0.w + 3].xyzw  // r3.w <- output.worldPos.w
+
+#line 52
+dp4 r1.x, r3.xyzw, cb1[0].xyzw  // r1.x <- output.position.x
+dp4 r1.y, r3.xyzw, cb1[1].xyzw  // r1.y <- output.position.y
+dp4 r1.z, r3.xyzw, cb1[2].xyzw  // r1.z <- output.position.z
+dp4 r1.w, r3.xyzw, cb1[3].xyzw  // r1.w <- output.position.w
+
+#line 53
+dp4 r4.x, r1.xyzw, cb1[4].xyzw  // r4.x <- output.position.x
+dp4 r4.y, r1.xyzw, cb1[5].xyzw  // r4.y <- output.position.y
+dp4 r4.z, r1.xyzw, cb1[6].xyzw  // r4.z <- output.position.z
+dp4 r4.w, r1.xyzw, cb1[7].xyzw  // r4.w <- output.position.w
+
+#line 55
+mov o0.xyzw, r3.xyzw
+mov o1.xyzw, r4.xyzw
+mov o3.xyz, r0.xyzx
+mov o2.xy, r2.xyxx
 ret 
-// Approximately 24 instruction slots used
+// Approximately 28 instruction slots used
 #endif
 
 const BYTE UIVertexShader[] =
 {
-     68,  88,  66,  67,  32, 205, 
-     91, 125,  70,  56, 194, 166, 
-    120,   6,  24, 104,   5, 136, 
-     94, 169,   1,   0,   0,   0, 
-     60,   7,   0,   0,   5,   0, 
-      0,   0,  52,   0,   0,   0, 
-     16,   2,   0,   0, 164,   2, 
-      0,   0,  52,   3,   0,   0, 
-    160,   6,   0,   0,  82,  68, 
-     69,  70, 212,   1,   0,   0, 
-      2,   0,   0,   0, 144,   0, 
-      0,   0,   2,   0,   0,   0, 
-     60,   0,   0,   0,   0,   5, 
-    254, 255,   0,   1,   0,   0, 
-    171,   1,   0,   0,  82,  68, 
-     49,  49,  60,   0,   0,   0, 
-     24,   0,   0,   0,  32,   0, 
-      0,   0,  40,   0,   0,   0, 
-     36,   0,   0,   0,  12,   0, 
-      0,   0,   0,   0,   0,   0, 
-    124,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
+     68,  88,  66,  67, 146,  57, 
+    156, 144, 220, 157, 105, 102, 
+     95, 189, 162,   8,  13, 244, 
+    170, 135,   1,   0,   0,   0, 
+    168,  77,   0,   0,   6,   0, 
+      0,   0,  56,   0,   0,   0, 
+     20,   2,   0,   0, 168,   2, 
+      0,   0,  56,   3,   0,   0, 
+      4,   7,   0,   0, 160,   7, 
+      0,   0,  82,  68,  69,  70, 
+    212,   1,   0,   0,   2,   0, 
+      0,   0, 144,   0,   0,   0, 
+      2,   0,   0,   0,  60,   0, 
+      0,   0,   0,   5, 254, 255, 
+      5,   1,   0,   0, 171,   1, 
+      0,   0,  82,  68,  49,  49, 
+     60,   0,   0,   0,  24,   0, 
+      0,   0,  32,   0,   0,   0, 
+     40,   0,   0,   0,  36,   0, 
+      0,   0,  12,   0,   0,   0, 
+      0,   0,   0,   0, 124,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      1,   0,   0,   0,   1,   0, 
-      0,   0, 137,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   1,   0, 
       0,   0,   1,   0,   0,   0, 
-      1,   0,   0,   0,  77,  97, 
-    116, 114, 105, 120,  66, 117, 
-    102, 102, 101, 114,   0,  75, 
-     97, 109, 101, 114,  97,   0, 
-    124,   0,   0,   0,   1,   0, 
-      0,   0, 192,   0,   0,   0, 
-      0,  32,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    137,   0,   0,   0,   2,   0, 
-      0,   0,  36,   1,   0,   0, 
-    128,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-    232,   0,   0,   0,   0,   0, 
-      0,   0,   0,  32,   0,   0, 
-      2,   0,   0,   0,   0,   1, 
+    137,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-    255, 255, 255, 255,   0,   0, 
-      0,   0, 255, 255, 255, 255, 
-      0,   0,   0,   0, 107, 110, 
-    111,  99, 104, 101, 110,  77, 
-     97, 116, 114, 105, 120,   0, 
-    102, 108, 111,  97, 116,  52, 
-    120,  52,   0, 171,   3,   0, 
-      3,   0,   4,   0,   4,   0, 
-    128,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+      1,   0,   0,   0,   1,   0, 
+      0,   0,  77,  97, 116, 114, 
+    105, 120,  66, 117, 102, 102, 
+    101, 114,   0,  75,  97, 109, 
+    101, 114,  97,   0, 124,   0, 
+      0,   0,   1,   0,   0,   0, 
+    192,   0,   0,   0,   0,  32, 
       0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 137,   0, 
+      0,   0,   2,   0,   0,   0, 
+     36,   1,   0,   0, 128,   0, 
       0,   0,   0,   0,   0,   0, 
-    246,   0,   0,   0, 116,   1, 
+      0,   0,   0,   0, 232,   0, 
       0,   0,   0,   0,   0,   0, 
-     64,   0,   0,   0,   2,   0, 
-      0,   0, 124,   1,   0,   0, 
+      0,  32,   0,   0,   2,   0, 
+      0,   0,   0,   1,   0,   0, 
       0,   0,   0,   0, 255, 255, 
     255, 255,   0,   0,   0,   0, 
     255, 255, 255, 255,   0,   0, 
-      0,   0, 160,   1,   0,   0, 
-     64,   0,   0,   0,  64,   0, 
+      0,   0, 107, 110, 111,  99, 
+    104, 101, 110,  77,  97, 116, 
+    114, 105, 120,   0, 102, 108, 
+    111,  97, 116,  52, 120,  52, 
+      0, 171,   3,   0,   3,   0, 
+      4,   0,   4,   0, 128,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 246,   0, 
+      0,   0, 116,   1,   0,   0, 
+      0,   0,   0,   0,  64,   0, 
       0,   0,   2,   0,   0,   0, 
     124,   1,   0,   0,   0,   0, 
       0,   0, 255, 255, 255, 255, 
       0,   0,   0,   0, 255, 255, 
     255, 255,   0,   0,   0,   0, 
-    118, 105, 101, 119,   0, 171, 
-    171, 171,   3,   0,   3,   0, 
-      4,   0,   4,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0, 246,   0, 
-      0,   0, 112, 114, 111, 106, 
-    101,  99, 116, 105, 111, 110, 
-      0,  77, 105,  99, 114, 111, 
-    115, 111, 102, 116,  32,  40, 
-     82,  41,  32,  72,  76,  83, 
-     76,  32,  83, 104,  97, 100, 
-    101, 114,  32,  67, 111, 109, 
-    112, 105, 108, 101, 114,  32, 
-     49,  48,  46,  49,   0, 171, 
-     73,  83,  71,  78, 140,   0, 
-      0,   0,   4,   0,   0,   0, 
-      8,   0,   0,   0, 104,   0, 
+    160,   1,   0,   0,  64,   0, 
+      0,   0,  64,   0,   0,   0, 
+      2,   0,   0,   0, 124,   1, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   3,   0, 
-      0,   0,   0,   0,   0,   0, 
-     15,   7,   0,   0, 113,   0, 
+    255, 255, 255, 255,   0,   0, 
+      0,   0, 255, 255, 255, 255, 
+      0,   0,   0,   0, 118, 105, 
+    101, 119,   0, 171, 171, 171, 
+      3,   0,   3,   0,   4,   0, 
+      4,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   3,   0, 
-      0,   0,   1,   0,   0,   0, 
-      3,   3,   0,   0, 122,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   3,   0, 
-      0,   0,   2,   0,   0,   0, 
-      7,   7,   0,   0, 129,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0,   3,   0,   0,   0, 
-      1,   1,   0,   0,  80,  79, 
-     83,  73,  84,  73,  79,  78, 
-      0,  84,  69,  88,  67,  79, 
-     79,  82,  68,   0,  78,  79, 
-     82,  77,  65,  76,   0,  75, 
-     78,  79,  67,  72,  69,  78, 
-     95,  73,  68,   0,  79,  83, 
-     71,  78, 136,   0,   0,   0, 
+      0,   0, 246,   0,   0,   0, 
+    112, 114, 111, 106, 101,  99, 
+    116, 105, 111, 110,   0,  77, 
+    105,  99, 114, 111, 115, 111, 
+    102, 116,  32,  40,  82,  41, 
+     32,  72,  76,  83,  76,  32, 
+     83, 104,  97, 100, 101, 114, 
+     32,  67, 111, 109, 112, 105, 
+    108, 101, 114,  32,  49,  48, 
+     46,  49,   0, 171,  73,  83, 
+     71,  78, 140,   0,   0,   0, 
       4,   0,   0,   0,   8,   0, 
       0,   0, 104,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   3,   0,   0,   0, 
-      0,   0,   0,   0,  15,   0, 
+      0,   0,   0,   0,  15,   7, 
       0,   0, 113,   0,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0,   3,   0,   0,   0, 
-      1,   0,   0,   0,  15,   0, 
-      0,   0, 125,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   3,   0,   0,   0, 
-      2,   0,   0,   0,   3,  12, 
-      0,   0, 125,   0,   0,   0, 
-      1,   0,   0,   0,   0,   0, 
+      1,   0,   0,   0,   3,   3, 
+      0,   0, 122,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
       0,   0,   3,   0,   0,   0, 
-      3,   0,   0,   0,   7,   8, 
+      2,   0,   0,   0,   7,   7, 
+      0,   0, 129,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+      3,   0,   0,   0,   1,   1, 
       0,   0,  80,  79,  83,  73, 
-     84,  73,  79,  78,   0,  83, 
-     86,  95,  80,  79,  83,  73, 
      84,  73,  79,  78,   0,  84, 
      69,  88,  67,  79,  79,  82, 
-     68,   0, 171, 171,  83,  72, 
-     69,  88, 100,   3,   0,   0, 
-     80,   0,   1,   0, 217,   0, 
-      0,   0, 106,   8,   0,   1, 
-     89,   8,   0,   4,  70, 142, 
-     32,   0,   0,   0,   0,   0, 
-      0,   2,   0,   0,  89,   0, 
-      0,   4,  70, 142,  32,   0, 
-      1,   0,   0,   0,   8,   0, 
-      0,   0,  95,   0,   0,   3, 
-    114,  16,  16,   0,   0,   0, 
-      0,   0,  95,   0,   0,   3, 
-     50,  16,  16,   0,   1,   0, 
-      0,   0,  95,   0,   0,   3, 
-    114,  16,  16,   0,   2,   0, 
-      0,   0,  95,   0,   0,   3, 
-     18,  16,  16,   0,   3,   0, 
-      0,   0, 101,   0,   0,   3, 
-    242,  32,  16,   0,   0,   0, 
-      0,   0, 103,   0,   0,   4, 
-    242,  32,  16,   0,   1,   0, 
+     68,   0,  78,  79,  82,  77, 
+     65,  76,   0,  75,  78,  79, 
+     67,  72,  69,  78,  95,  73, 
+     68,   0,  79,  83,  71,  78, 
+    136,   0,   0,   0,   4,   0, 
+      0,   0,   8,   0,   0,   0, 
+    104,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   0,   0, 
+      0,   0,  15,   0,   0,   0, 
+    113,   0,   0,   0,   0,   0, 
       0,   0,   1,   0,   0,   0, 
-    101,   0,   0,   3,  50,  32, 
+      3,   0,   0,   0,   1,   0, 
+      0,   0,  15,   0,   0,   0, 
+    125,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   2,   0, 
+      0,   0,   3,  12,   0,   0, 
+    125,   0,   0,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   3,   0, 
+      0,   0,   7,   8,   0,   0, 
+     80,  79,  83,  73,  84,  73, 
+     79,  78,   0,  83,  86,  95, 
+     80,  79,  83,  73,  84,  73, 
+     79,  78,   0,  84,  69,  88, 
+     67,  79,  79,  82,  68,   0, 
+    171, 171,  83,  72,  69,  88, 
+    196,   3,   0,   0,  80,   0, 
+      1,   0, 241,   0,   0,   0, 
+    106, 136,   0,   1,  89,   8, 
+      0,   4,  70, 142,  32,   0, 
+      0,   0,   0,   0,   0,   2, 
+      0,   0,  89,   0,   0,   4, 
+     70, 142,  32,   0,   1,   0, 
+      0,   0,   8,   0,   0,   0, 
+     95,   0,   0,   3, 114,  16, 
+     16,   0,   0,   0,   0,   0, 
+     95,   0,   0,   3,  50,  16, 
+     16,   0,   1,   0,   0,   0, 
+     95,   0,   0,   3, 114,  16, 
      16,   0,   2,   0,   0,   0, 
-    101,   0,   0,   3, 114,  32, 
+     95,   0,   0,   3,  18,  16, 
      16,   0,   3,   0,   0,   0, 
-    104,   0,   0,   2,   3,   0, 
-      0,   0,  54,   0,   0,   5, 
-    114,   0,  16,   0,   0,   0, 
+    101,   0,   0,   3, 242,  32, 
+     16,   0,   0,   0,   0,   0, 
+    103,   0,   0,   4, 242,  32, 
+     16,   0,   1,   0,   0,   0, 
+      1,   0,   0,   0, 101,   0, 
+      0,   3,  50,  32,  16,   0, 
+      2,   0,   0,   0, 101,   0, 
+      0,   3, 114,  32,  16,   0, 
+      3,   0,   0,   0, 104,   0, 
+      0,   2,   5,   0,   0,   0, 
+     38,   0,   0,   8,   0, 208, 
+      0,   0,  18,   0,  16,   0, 
+      0,   0,   0,   0,  10,  16, 
+     16,   0,   3,   0,   0,   0, 
+      1,  64,   0,   0,   4,   0, 
+      0,   0,  16,   0,   0,   9, 
+     18,   0,  16,   0,   1,   0, 
+      0,   0,  70,  18,  16,   0, 
+      2,   0,   0,   0,  70, 130, 
+     32,   4,   0,   0,   0,   0, 
+     10,   0,  16,   0,   0,   0, 
+      0,   0,  16,   0,   0,  10, 
+     34,   0,  16,   0,   1,   0, 
       0,   0,  70,  18,  16,   0, 
-      0,   0,   0,   0,  54,   0, 
-      0,   5, 130,   0,  16,   0, 
-      0,   0,   0,   0,   1,  64, 
-      0,   0,   0,   0, 128,  63, 
-     41,   0,   0,   7,  18,   0, 
+      2,   0,   0,   0,  70, 130, 
+     32,   6,   0,   0,   0,   0, 
+      1,   0,   0,   0,  10,   0, 
+     16,   0,   0,   0,   0,   0, 
+     16,   0,   0,  10,  66,   0, 
+     16,   0,   1,   0,   0,   0, 
+     70,  18,  16,   0,   2,   0, 
+      0,   0,  70, 130,  32,   6, 
+      0,   0,   0,   0,   2,   0, 
+      0,   0,  10,   0,  16,   0, 
+      0,   0,   0,   0,  16,   0, 
+      0,   7,  18,   0,  16,   0, 
+      0,   0,   0,   0,  70,   2, 
      16,   0,   1,   0,   0,   0, 
-     10,  16,  16,   0,   3,   0, 
+     70,   2,  16,   0,   1,   0, 
+      0,   0,  68,   0,   0,   5, 
+     18,   0,  16,   0,   0,   0, 
+      0,   0,  10,   0,  16,   0, 
+      0,   0,   0,   0,  56,   0, 
+      0,   7, 114,   0,  16,   0, 
+      0,   0,   0,   0,   6,   0, 
+     16,   0,   0,   0,   0,   0, 
+     70,   2,  16,   0,   1,   0, 
+      0,   0,  54,   0,   0,   5, 
+    130,   0,  16,   0,   1,   0, 
       0,   0,   1,  64,   0,   0, 
-      2,   0,   0,   0,  17,   0, 
+      0,   0, 128,  63,  54,   0, 
+      0,   5,  50,   0,  16,   0, 
+      2,   0,   0,   0,  70,  16, 
+     16,   0,   1,   0,   0,   0, 
+     38,   0,   0,   8,   0, 208, 
+      0,   0, 130,   0,  16,   0, 
+      0,   0,   0,   0,  10,  16, 
+     16,   0,   3,   0,   0,   0, 
+      1,  64,   0,   0,   4,   0, 
+      0,   0,  54,   0,   0,   5, 
+    114,   0,  16,   0,   1,   0, 
+      0,   0,  70,  18,  16,   0, 
+      0,   0,   0,   0,  17,   0, 
       0,   9,  18,   0,  16,   0, 
-      2,   0,   0,   0,  70,  14, 
-     16,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,  70,  14, 
+     16,   0,   1,   0,   0,   0, 
      70, 142,  32,   4,   0,   0, 
-      0,   0,  10,   0,  16,   0, 
-      1,   0,   0,   0,  17,   0, 
+      0,   0,  58,   0,  16,   0, 
+      0,   0,   0,   0,  17,   0, 
       0,  10,  34,   0,  16,   0, 
-      2,   0,   0,   0,  70,  14, 
-     16,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,  70,  14, 
+     16,   0,   1,   0,   0,   0, 
      70, 142,  32,   6,   0,   0, 
       0,   0,   1,   0,   0,   0, 
-     10,   0,  16,   0,   1,   0, 
+     58,   0,  16,   0,   0,   0, 
       0,   0,  17,   0,   0,  10, 
-     66,   0,  16,   0,   2,   0, 
+     66,   0,  16,   0,   3,   0, 
       0,   0,  70,  14,  16,   0, 
-      0,   0,   0,   0,  70, 142, 
+      1,   0,   0,   0,  70, 142, 
      32,   6,   0,   0,   0,   0, 
-      2,   0,   0,   0,  10,   0, 
-     16,   0,   1,   0,   0,   0, 
+      2,   0,   0,   0,  58,   0, 
+     16,   0,   0,   0,   0,   0, 
      17,   0,   0,  10, 130,   0, 
-     16,   0,   2,   0,   0,   0, 
-     70,  14,  16,   0,   0,   0, 
+     16,   0,   3,   0,   0,   0, 
+     70,  14,  16,   0,   1,   0, 
       0,   0,  70, 142,  32,   6, 
       0,   0,   0,   0,   3,   0, 
-      0,   0,  10,   0,  16,   0, 
-      1,   0,   0,   0,  54,   0, 
-      0,   5, 242,  32,  16,   0, 
-      0,   0,   0,   0,  70,  14, 
-     16,   0,   2,   0,   0,   0, 
-     17,   0,   0,   8,  18,   0, 
-     16,   0,   0,   0,   0,   0, 
-     70,  14,  16,   0,   2,   0, 
-      0,   0,  70, 142,  32,   0, 
-      1,   0,   0,   0,   0,   0, 
-      0,   0,  17,   0,   0,   8, 
-     34,   0,  16,   0,   0,   0, 
-      0,   0,  70,  14,  16,   0, 
-      2,   0,   0,   0,  70, 142, 
-     32,   0,   1,   0,   0,   0, 
-      1,   0,   0,   0,  17,   0, 
-      0,   8,  66,   0,  16,   0, 
-      0,   0,   0,   0,  70,  14, 
-     16,   0,   2,   0,   0,   0, 
+      0,   0,  58,   0,  16,   0, 
+      0,   0,   0,   0,  17,   0, 
+      0,   8,  18,   0,  16,   0, 
+      1,   0,   0,   0,  70,  14, 
+     16,   0,   3,   0,   0,   0, 
      70, 142,  32,   0,   1,   0, 
-      0,   0,   2,   0,   0,   0, 
-     17,   0,   0,   8, 130,   0, 
-     16,   0,   0,   0,   0,   0, 
-     70,  14,  16,   0,   2,   0, 
+      0,   0,   0,   0,   0,   0, 
+     17,   0,   0,   8,  34,   0, 
+     16,   0,   1,   0,   0,   0, 
+     70,  14,  16,   0,   3,   0, 
       0,   0,  70, 142,  32,   0, 
-      1,   0,   0,   0,   3,   0, 
+      1,   0,   0,   0,   1,   0, 
       0,   0,  17,   0,   0,   8, 
-     18,  32,  16,   0,   1,   0, 
+     66,   0,  16,   0,   1,   0, 
       0,   0,  70,  14,  16,   0, 
-      0,   0,   0,   0,  70, 142, 
+      3,   0,   0,   0,  70, 142, 
      32,   0,   1,   0,   0,   0, 
-      4,   0,   0,   0,  17,   0, 
-      0,   8,  34,  32,  16,   0, 
+      2,   0,   0,   0,  17,   0, 
+      0,   8, 130,   0,  16,   0, 
       1,   0,   0,   0,  70,  14, 
-     16,   0,   0,   0,   0,   0, 
+     16,   0,   3,   0,   0,   0, 
      70, 142,  32,   0,   1,   0, 
-      0,   0,   5,   0,   0,   0, 
-     17,   0,   0,   8,  66,  32, 
-     16,   0,   1,   0,   0,   0, 
-     70,  14,  16,   0,   0,   0, 
+      0,   0,   3,   0,   0,   0, 
+     17,   0,   0,   8,  18,   0, 
+     16,   0,   4,   0,   0,   0, 
+     70,  14,  16,   0,   1,   0, 
       0,   0,  70, 142,  32,   0, 
-      1,   0,   0,   0,   6,   0, 
+      1,   0,   0,   0,   4,   0, 
       0,   0,  17,   0,   0,   8, 
-    130,  32,  16,   0,   1,   0, 
+     34,   0,  16,   0,   4,   0, 
       0,   0,  70,  14,  16,   0, 
-      0,   0,   0,   0,  70, 142, 
+      1,   0,   0,   0,  70, 142, 
      32,   0,   1,   0,   0,   0, 
-      7,   0,   0,   0,  54,   0, 
-      0,   5,  50,  32,  16,   0, 
-      2,   0,   0,   0,  70,  16, 
-     16,   0,   1,   0,   0,   0, 
-     16,   0,   0,   9,  18,   0, 
-     16,   0,   0,   0,   0,   0, 
-     70,  18,  16,   0,   2,   0, 
-      0,   0,  70, 130,  32,   4, 
-      0,   0,   0,   0,  10,   0, 
+      5,   0,   0,   0,  17,   0, 
+      0,   8,  66,   0,  16,   0, 
+      4,   0,   0,   0,  70,  14, 
      16,   0,   1,   0,   0,   0, 
-     16,   0,   0,  10,  34,   0, 
-     16,   0,   0,   0,   0,   0, 
-     70,  18,  16,   0,   2,   0, 
-      0,   0,  70, 130,  32,   6, 
-      0,   0,   0,   0,   1,   0, 
-      0,   0,  10,   0,  16,   0, 
-      1,   0,   0,   0,  16,   0, 
-      0,  10,  66,   0,  16,   0, 
-      0,   0,   0,   0,  70,  18, 
-     16,   0,   2,   0,   0,   0, 
-     70, 130,  32,   6,   0,   0, 
-      0,   0,   2,   0,   0,   0, 
-     10,   0,  16,   0,   1,   0, 
-      0,   0,  16,   0,   0,   7, 
-    130,   0,  16,   0,   0,   0, 
-      0,   0,  70,   2,  16,   0, 
-      0,   0,   0,   0,  70,   2, 
-     16,   0,   0,   0,   0,   0, 
-     68,   0,   0,   5, 130,   0, 
-     16,   0,   0,   0,   0,   0, 
-     58,   0,  16,   0,   0,   0, 
-      0,   0,  56,   0,   0,   7, 
-    114,  32,  16,   0,   3,   0, 
-      0,   0, 246,  15,  16,   0, 
-      0,   0,   0,   0,  70,   2, 
-     16,   0,   0,   0,   0,   0, 
-     62,   0,   0,   1,  83,  84, 
-     65,  84, 148,   0,   0,   0, 
-     24,   0,   0,   0,   3,   0, 
-      0,   0,   0,   0,   0,   0, 
-      8,   0,   0,   0,  18,   0, 
+     70, 142,  32,   0,   1,   0, 
+      0,   0,   6,   0,   0,   0, 
+     17,   0,   0,   8, 130,   0, 
+     16,   0,   4,   0,   0,   0, 
+     70,  14,  16,   0,   1,   0, 
+      0,   0,  70, 142,  32,   0, 
+      1,   0,   0,   0,   7,   0, 
+      0,   0,  54,   0,   0,   5, 
+    242,  32,  16,   0,   0,   0, 
+      0,   0,  70,  14,  16,   0, 
+      3,   0,   0,   0,  54,   0, 
+      0,   5, 242,  32,  16,   0, 
+      1,   0,   0,   0,  70,  14, 
+     16,   0,   4,   0,   0,   0, 
+     54,   0,   0,   5, 114,  32, 
+     16,   0,   3,   0,   0,   0, 
+     70,   2,  16,   0,   0,   0, 
+      0,   0,  54,   0,   0,   5, 
+     50,  32,  16,   0,   2,   0, 
+      0,   0,  70,   0,  16,   0, 
+      2,   0,   0,   0,  62,   0, 
+      0,   1,  83,  84,  65,  84, 
+    148,   0,   0,   0,  28,   0, 
+      0,   0,   5,   0,   0,   0, 
+      0,   0,   0,   0,   8,   0, 
+      0,   0,  18,   0,   0,   0, 
+      2,   0,   0,   0,   0,   0, 
       0,   0,   1,   0,   0,   0, 
-      0,   0,   0,   0,   1,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -387,7 +432,2995 @@ const BYTE UIVertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0,   4,   0, 
+      0,   0,   7,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  83,  80,  68,  66, 
+      0,  70,   0,   0,  77, 105, 
+     99, 114, 111, 115, 111, 102, 
+    116,  32,  67,  47,  67,  43, 
+     43,  32,  77,  83,  70,  32, 
+     55,  46,  48,  48,  13,  10, 
+     26,  68,  83,   0,   0,   0, 
+      0,   2,   0,   0,   2,   0, 
+      0,   0,  35,   0,   0,   0, 
+    172,   0,   0,   0,   0,   0, 
+      0,   0,  32,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    192, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255,  56,   0,   0,   0, 
+    254, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255,   5,   0, 
+      0,   0,  32,   0,   0,   0, 
+     60,   0,   0,   0,   0,   0, 
+      0,   0, 255, 255, 255, 255, 
+      0,   0,   0,   0,   6,   0, 
+      0,   0,   5,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      3,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 148,  46,  49,   1, 
+    240,   9,  86,  92,   1,   0, 
+      0,   0, 228,  40,  64, 180, 
+     89, 166,  85,  74, 165, 155, 
+     28, 220, 218, 181,  38,   1, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 220,  81, 
+     51,   1,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  13,  10,  47,  47,  32, 
+     84,  89,  80,  69,  68,  69, 
+     70,  83,  32,  47,  47,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  13,  10,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  13,  10, 115, 116, 114, 
+    117,  99, 116,  32,  86, 101, 
+    114, 116, 101, 120,  73, 110, 
+    112, 117, 116,  84, 121, 112, 
+    101,  13,  10, 123,  13,  10, 
+     32,  32,  32,  32, 102, 108, 
+    111,  97, 116,  52,  32, 112, 
+    111, 115, 105, 116, 105, 111, 
+    110,  32,  58,  32,  80,  79, 
+     83,  73,  84,  73,  79,  78, 
+     59,  13,  10,  32,  32,  32, 
+     32, 102, 108, 111,  97, 116, 
+     50,  32, 116, 101, 120,  32, 
+     58,  32,  84,  69,  88,  67, 
+     79,  79,  82,  68,  48,  59, 
+     13,  10,  32,  32,  32,  32, 
+    102, 108, 111,  97, 116,  51, 
+     32, 110, 111, 114, 109,  97, 
+    108,  32,  58,  32,  78,  79, 
+     82,  77,  65,  76,  59,  13, 
+     10,  32,  32,  32,  32, 117, 
+    105, 110, 116,  32, 107, 110, 
+    111,  99, 104, 101, 110,  32, 
+     58,  32,  75,  78,  79,  67, 
+     72,  69,  78,  95,  73,  68, 
+     48,  59,  13,  10, 125,  59, 
+     13,  10,  13,  10, 115, 116, 
+    114, 117,  99, 116,  32,  80, 
+    105, 120, 101, 108,  73, 110, 
+    112, 117, 116,  84, 121, 112, 
+    101,  13,  10, 123,  13,  10, 
+     32,  32,  32,  32, 102, 108, 
+    111,  97, 116,  52,  32, 119, 
+    111, 114, 108, 100,  80, 111, 
+    115,  32,  58,  32,  80,  79, 
+     83,  73,  84,  73,  79,  78, 
+     59,  13,  10,  32,  32,  32, 
+     32, 102, 108, 111,  97, 116, 
+     52,  32, 112, 111, 115, 105, 
+    116, 105, 111, 110,  32,  58, 
+     32,  83,  86,  95,  80,  79, 
+     83,  73,  84,  73,  79,  78, 
+     59,  13,  10,  32,  32,  32, 
+     32, 102, 108, 111,  97, 116, 
+     50,  32, 116, 101, 120,  32, 
+     58,  32,  84,  69,  88,  67, 
+     79,  79,  82,  68,  48,  59, 
+     13,  10,  32,  32,  32,  32, 
+    102, 108, 111,  97, 116,  51, 
+     32, 110, 111, 114, 109,  97, 
+    108,  32,  58,  32,  84,  69, 
+     88,  67,  79,  79,  82,  68, 
+    198,  90,   0,   0, 117, 131, 
+      1,   0,  76, 232,   3,   0, 
+    251, 168,   1,   0, 146, 183, 
+      2,   0,  28,  19,   2,   0, 
+    242,  56,   1,   0,  43, 236, 
+      3,   0, 217,  42,   2,   0, 
+     38, 107,   0,   0, 103, 159, 
+      1,   0,  73,  20,   1,   0, 
+     19,  54,   2,   0,  65, 185, 
+      2,   0, 153, 189,   3,   0, 
+      0,  16,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  13,  10,  47, 
+     47,  32,  71,  76,  79,  66, 
+     65,  76,  83,  32,  47,  47, 
+     13,  10,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  13,  10,  99, 
+     98, 117, 102, 102, 101, 114, 
+     32,  77,  97, 116, 114, 105, 
+    120,  66, 117, 102, 102, 101, 
+    114,  32,  58,  32, 114, 101, 
+    103, 105, 115, 116, 101, 114, 
+     40,  32,  98,  48,  32,  41, 
+     13,  10, 123,  13,  10,  32, 
+     32,  32,  32, 109,  97, 116, 
+    114, 105, 120,  32, 107, 110, 
+    111,  99, 104, 101, 110,  77, 
+     97, 116, 114, 105, 120,  91, 
+     32,  49,  50,  56,  32,  93, 
+     59,  13,  10, 125,  59,  13, 
+     10,  13,  10,  47,  47,  32, 
+     84, 104, 101,  32, 112, 114, 
+    111, 106, 101,  99, 116, 105, 
+    111, 110,  32,  97, 110, 100, 
+     32, 118, 105, 101, 119,  32, 
+    109,  97, 116, 114, 105, 120, 
+     13,  10,  99,  98, 117, 102, 
+    102, 101, 114,  32,  75,  97, 
+    109, 101, 114,  97,  32,  58, 
+     32, 114, 101, 103, 105, 115, 
+    116, 101, 114,  40,  32,  98, 
+     49,  32,  41,  13,  10, 123, 
+     13,  10,  32,  32,  32,  32, 
+    109,  97, 116, 114, 105, 120, 
+     32, 118, 105, 101, 119,  59, 
+     13,  10,  32,  32,  32,  32, 
+    109,  97, 116, 114, 105, 120, 
+     32, 112, 114, 111, 106, 101, 
+     99, 116, 105, 111, 110,  59, 
+     13,  10, 125,  13,  10,  13, 
+     10,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  13, 
+     10,  47,  47,  32,  84,  89, 
+     80,  69,  68,  69,  70,  83, 
+     32,  47,  47,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  13, 
+     10,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  13, 
+     10, 115, 116, 114, 117,  99, 
+    116,  32,  86, 101, 114, 116, 
+    101, 120,  73, 110, 112, 117, 
+    116,  84, 121, 112, 101,  13, 
+     10, 123,  13,  10,  32,  32, 
+     32,  32, 102, 108, 111,  97, 
+    116,  52,  32, 112, 111, 115, 
+    105, 116, 105, 111, 110,  32, 
+     58,  32,  80,  79,  83,  73, 
+     84,  73,  79,  78,  59,  13, 
+     10,  32,  32,  32,  32, 102, 
+    108, 111,  97, 116,  50,  32, 
+    116, 101, 120,  32,  58,  32, 
+     84,  69,  88,  67,  79,  79, 
+     82,  68,  48,  59,  13,  10, 
+     32,  32,  32,  32, 102, 108, 
+    111,  97, 116,  51,  32, 110, 
+    111, 114, 109,  97, 108,  32, 
+     58,  32,  78,  79,  82,  77, 
+     65,  76,  59,  13,  10,  32, 
+     32,  32,  32, 117, 105, 110, 
+    116,  32, 107, 110, 111,  99, 
+    104, 101, 110,  32,  58,  32, 
+     75,  78,  79,  67,  72,  69, 
+     78,  95,  73,  68,  48,  59, 
+     13,  10, 125,  59,  13,  10, 
+     13,  10, 115, 116, 114, 117, 
+     99, 116,  32,  80, 105, 120, 
+    101, 108,  73, 110, 112, 117, 
+    116,  84, 121, 112, 101,  13, 
+     10, 123,  13,  10,  32,  32, 
+     32,  32, 102, 108, 111,  97, 
+    116,  52,  32, 119, 111, 114, 
+    108, 100,  80, 111, 115,  32, 
+     58,  32,  80,  79,  83,  73, 
+     84,  73,  79,  78,  59,  13, 
+     10,  32,  32,  32,  32, 102, 
+    108, 111,  97, 116,  52,  32, 
+    112, 111, 115, 105, 116, 105, 
+    111, 110,  32,  58,  32,  83, 
+     86,  95,  80,  79,  83,  73, 
+     84,  73,  79,  78,  59,  13, 
+     10,  32,  32,  32,  32, 102, 
+    108, 111,  97, 116,  50,  32, 
+    116, 101, 120,  32,  58,  32, 
+     84,  69,  88,  67,  79,  79, 
+     82,  68,  48,  59,  13,  10, 
+     32,  32,  32,  32, 102, 108, 
+    111,  97, 116,  51,  32, 110, 
+    111, 114, 109,  97, 108,  32, 
+     58,  32,  84,  69,  88,  67, 
+     79,  79,  82,  68,  49,  59, 
+     13,  10, 125,  59,  13,  10, 
+     13,  10,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  13,  10, 
+     47,  47,  32,  86, 101, 114, 
+    116, 101, 120,  32,  83, 104, 
+     97, 100, 101, 114,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  13,  10,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     13,  10,  80, 105, 120, 101, 
+    108,  73, 110, 112, 117, 116, 
+     84, 121, 112, 101,  32,  84, 
+    101, 120, 116, 117, 114, 101, 
+     86, 101, 114, 116, 101, 120, 
+     83, 104,  97, 100, 101, 114, 
+     40,  32,  86, 101, 114, 116, 
+    101, 120,  73, 110, 112, 117, 
+    116,  84, 121, 112, 101,  32, 
+    105, 110, 112, 117, 116,  32, 
+     41,  13,  10, 123,  13,  10, 
+     32,  32,  32,  32,  47,  47, 
+    114, 101, 116, 117, 114, 110, 
+     32, 105, 110, 112, 117, 116, 
+     59,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  13,  10, 
+     32,  32,  32,  32,  80, 105, 
+    120, 101, 108,  73, 110, 112, 
+    117, 116,  84, 121, 112, 101, 
+     32, 111, 117, 116, 112, 117, 
+    116,  59,  13,  10,  32,  32, 
+     32,  32, 111, 117, 116, 112, 
+    117, 116,  46, 110, 111, 114, 
+    109,  97, 108,  32,  61,  32, 
+    110, 111, 114, 109,  97, 108, 
+    105, 122, 101,  40,  32, 109, 
+    117, 108,  40,  32, 105, 110, 
+    112, 117, 116,  46, 110, 111, 
+    114, 109,  97, 108,  44,  32, 
+     40, 102, 108, 111,  97, 116, 
+     51, 120,  51,  41, 107, 110, 
+    111,  99, 104, 101, 110,  77, 
+     97, 116, 114, 105, 120,  91, 
+     32, 105, 110, 112, 117, 116, 
+     46, 107, 110, 111,  99, 104, 
+    101, 110,  32,  93,  32,  41, 
+     32,  41,  59,  13,  10,  13, 
+     10,  32,  32,  32,  32,  47, 
+     47,  32,  67, 104,  97, 110, 
+    103, 101,  32, 116, 104, 101, 
+     32, 112, 111, 115, 105, 116, 
+    105, 111, 110,  32, 118, 101, 
+     99, 116, 111, 114,  32, 116, 
+    111,  32,  98, 101,  32,  52, 
+     32, 117, 110, 105, 116, 115, 
+     32, 102, 111, 114,  32, 112, 
+    114, 111, 112, 101, 114,  32, 
+    109,  97, 116, 114, 105, 120, 
+     32,  99,  97, 108,  99, 117, 
+    108,  97, 116, 105, 111, 110, 
+    115,  46,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  13, 
+     10,  32,  32,  32,  32, 105, 
+    110, 112, 117, 116,  46, 112, 
+    111, 115, 105, 116, 105, 111, 
+    110,  46, 119,  32,  61,  32, 
+     49,  46,  48, 102,  59,  13, 
+     10,  13,  10,  32,  32,  32, 
+     32,  47,  47,  32,  83, 116, 
+    111, 114, 101,  32, 116, 104, 
+    101,  32, 116, 101, 120, 116, 
+    117, 114, 101,  32,  99, 111, 
+    111, 114, 100, 105, 110,  97, 
+    116, 101, 115,  32, 102, 111, 
+    114,  32, 116, 104, 101,  32, 
+    112, 105, 120, 101, 108,  32, 
+    115, 104,  97, 100, 101, 114, 
+     46,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  13,  10,  32,  32,  32, 
+     32, 111, 117, 116, 112, 117, 
+    116,  46, 116, 101, 120,  32, 
+     61,  32, 105, 110, 112, 117, 
+    116,  46, 116, 101, 120,  59, 
+     13,  10,  13,  10,  32,  32, 
+     32,  32,  47,  47,  32,  67, 
+     97, 108,  99, 117, 108,  97, 
+    116, 101,  32, 116, 104, 101, 
+     32, 112, 111, 115, 105, 116, 
+    105, 111, 110,  32, 111, 102, 
+     32, 116, 104, 101,  32, 118, 
+    101, 114, 116, 101, 120,  32, 
+     97, 103,  97, 105, 110, 115, 
+    116,  32, 116, 104, 101,  32, 
+    119, 111, 114, 108, 100,  44, 
+     32, 118, 105, 101, 119,  44, 
+     32,  97, 110, 100,  32, 112, 
+    114, 111, 106, 101,  99, 116, 
+    105, 111, 110,  32, 109,  97, 
+    116, 114, 105,  99, 101, 115, 
+     46,  32,  13,  10,  32,  32, 
+     32,  32, 111, 117, 116, 112, 
+    117, 116,  46, 119, 111, 114, 
+    108, 100,  80, 111, 115,  32, 
+     61,  32, 109, 117, 108,  40, 
+     32, 105, 110, 112, 117, 116, 
+     46, 112, 111, 115, 105, 116, 
+    105, 111, 110,  44,  32, 107, 
+    110, 111,  99, 104, 101, 110, 
+     77,  97, 116, 114, 105, 120, 
+     91,  32, 105, 110, 112, 117, 
+    116,  46, 107, 110, 111,  99, 
+    104, 101, 110,  32,  93,  32, 
+     41,  59,  13,  10,  32,  32, 
+     32,  32, 111, 117, 116, 112, 
+    117, 116,  46, 112, 111, 115, 
+    105, 116, 105, 111, 110,  32, 
+     61,  32, 109, 117, 108,  40, 
+     32, 111, 117, 116, 112, 117, 
+    116,  46, 119, 111, 114, 108, 
+    100,  80, 111, 115,  44,  32, 
+    118, 105, 101, 119,  32,  41, 
+     59,  13,  10,  32,  32,  32, 
+     32, 111, 117, 116, 112, 117, 
+    116,  46, 112, 111, 115, 105, 
+    116, 105, 111, 110,  32,  61, 
+     32, 109, 117, 108,  40,  32, 
+    111, 117, 116, 112, 117, 116, 
+     46, 112, 111, 115, 105, 116, 
+    105, 111, 110,  44,  32, 112, 
+    114, 111, 106, 101,  99, 116, 
+    105, 111, 110,  32,  41,  59, 
+     13,  10,  13,  10,  32,  32, 
+     32,  32, 114, 101, 116, 117, 
+    114, 110,  32, 111, 117, 116, 
+    112, 117, 116,  59,  13,  10, 
+    125,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 254, 239, 
+    254, 239,   1,   0,   0,   0, 
+     54,   8,   0,   0,   0,  67, 
+     58,  92,  85, 115, 101, 114, 
+    115,  92, 107, 111, 108, 106, 
+     97,  92,  79, 110, 101,  68, 
+    114, 105, 118, 101,  92,  68, 
+    101, 115, 107, 116, 111, 112, 
+     92,  75, 111, 108, 106,  97, 
+     45,  83, 116, 114, 111, 104, 
+    109,  45,  71,  97, 109, 101, 
+    115,  92,  65, 108, 108, 103, 
+    101, 109, 101, 105, 110,  92, 
+     70, 114,  97, 109, 101, 119, 
+    111, 114, 107,  92,  68,  88, 
+     49,  49,  86, 101, 114, 116, 
+    101, 120,  83, 104,  97, 100, 
+    101, 114,  46, 104, 108, 115, 
+    108,   0,   0,  99,  58,  92, 
+    117, 115, 101, 114, 115,  92, 
+    107, 111, 108, 106,  97,  92, 
+    111, 110, 101, 100, 114, 105, 
+    118, 101,  92, 100, 101, 115, 
+    107, 116, 111, 112,  92, 107, 
+    111, 108, 106,  97,  45, 115, 
+    116, 114, 111, 104, 109,  45, 
+    103,  97, 109, 101, 115,  92, 
+     97, 108, 108, 103, 101, 109, 
+    101, 105, 110,  92, 102, 114, 
+     97, 109, 101, 119, 111, 114, 
+    107,  92, 100, 120,  49,  49, 
+    118, 101, 114, 116, 101, 120, 
+    115, 104,  97, 100, 101, 114, 
+     46, 104, 108, 115, 108,   0, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  13,  10,  47,  47,  32, 
+     71,  76,  79,  66,  65,  76, 
+     83,  32,  47,  47,  13,  10, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  13,  10,  99,  98, 117, 
+    102, 102, 101, 114,  32,  77, 
+     97, 116, 114, 105, 120,  66, 
+    117, 102, 102, 101, 114,  32, 
+     58,  32, 114, 101, 103, 105, 
+    115, 116, 101, 114,  40,  32, 
+     98,  48,  32,  41,  13,  10, 
+    123,  13,  10,  32,  32,  32, 
+     32, 109,  97, 116, 114, 105, 
+    120,  32, 107, 110, 111,  99, 
+    104, 101, 110,  77,  97, 116, 
+    114, 105, 120,  91,  32,  49, 
+     50,  56,  32,  93,  59,  13, 
+     10, 125,  59,  13,  10,  13, 
+     10,  47,  47,  32,  84, 104, 
+    101,  32, 112, 114, 111, 106, 
+    101,  99, 116, 105, 111, 110, 
+     32,  97, 110, 100,  32, 118, 
+    105, 101, 119,  32, 109,  97, 
+    116, 114, 105, 120,  13,  10, 
+     99,  98, 117, 102, 102, 101, 
+    114,  32,  75,  97, 109, 101, 
+    114,  97,  32,  58,  32, 114, 
+    101, 103, 105, 115, 116, 101, 
+    114,  40,  32,  98,  49,  32, 
+     41,  13,  10, 123,  13,  10, 
+     32,  32,  32,  32, 109,  97, 
+    116, 114, 105, 120,  32, 118, 
+    105, 101, 119,  59,  13,  10, 
+     32,  32,  32,  32, 109,  97, 
+    116, 114, 105, 120,  32, 112, 
+    114, 111, 106, 101,  99, 116, 
+    105, 111, 110,  59,  13,  10, 
+    125,  13,  10,  13,  10,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     27, 226,  48,   1, 128,   0, 
+      0,   0,  57, 128, 215,  80, 
+     61, 187, 212,   1,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,   2,   0,   0,   0, 
+      1,   0,   0,   0,   2,   0, 
+      0,   0,   0,   0,   0,   0, 
+     95,   0,   0,   0,  40,   0, 
+      0,   0,  27, 226,  48,   1, 
+    155, 234,  65, 223, 121,   7, 
+      0,   0,   1,   0,   0,   0, 
+     94,   0,   0,   0,  95,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   4,   0,   0,   0, 
+     66,   0,  60,  17,  16,   1, 
+      0,   0,   0,   1,  10,   0, 
+      1,   0,  15,   0, 171,  63, 
+     10,   0,   1,   0,  15,   0, 
+    171,  63,  77, 105,  99, 114, 
+    111, 115, 111, 102, 116,  32, 
+     40,  82,  41,  32,  72,  76, 
+     83,  76,  32,  83, 104,  97, 
+    100, 101, 114,  32,  67, 111, 
+    109, 112, 105, 108, 101, 114, 
+     32,  49,  48,  46,  49,   0, 
+      0,   0,  66,   0,  61,  17, 
+      1, 104, 108, 115, 108,  70, 
+    108,  97, 103, 115,   0,  48, 
+    120,  53,   0, 104, 108, 115, 
+    108,  84,  97, 114, 103, 101, 
+    116,   0, 118, 115,  95,  53, 
+     95,  48,   0, 104, 108, 115, 
+    108,  69, 110, 116, 114, 121, 
+      0,  84, 101, 120, 116, 117, 
+    114, 101,  86, 101, 114, 116, 
+    101, 120,  83, 104,  97, 100, 
+    101, 114,   0,   0,  58,   0, 
+     16,  17,   0,   0,   0,   0, 
+     76,   5,   0,   0,   0,   0, 
+      0,   0,  44,   3,   0,   0, 
+      0,   0,   0,   0,  44,   3, 
+      0,   0,   9,  16,   0,   0, 
+    152,   0,   0,   0,   1,   0, 
+    160,  84, 101, 120, 116, 117, 
+    114, 101,  86, 101, 114, 116, 
+    101, 120,  83, 104,  97, 100, 
+    101, 114,   0,   0,  46,   0, 
+     62,  17,   4,  16,   0,   0, 
+      9,   0, 105, 110, 112, 117, 
+    116,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  22,   0, 
+     80,  17,   1,   0,   5,   0, 
+      0,   0,   4,   0, 152,   0, 
+      0,   0,   1,   0,  44,   3, 
+      0,   0,   0,   0,  22,   0, 
+     80,  17,   1,   0,   5,   0, 
+      4,   0,   4,   0, 152,   0, 
+      0,   0,   1,   0,  44,   3, 
+      4,   0,   0,   0,  22,   0, 
+     80,  17,   1,   0,   5,   0, 
+      8,   0,   4,   0, 152,   0, 
+      0,   0,   1,   0,  44,   3, 
+      8,   0,   0,   0,  22,   0, 
+     80,  17,   1,   0,   5,   0, 
+     12,   0,   4,   0, 152,   0, 
+      0,   0,   1,   0,  44,   3, 
+     12,   0,   0,   0,  22,   0, 
+     80,  17,   1,   0,   5,   0, 
+     16,   0,   4,   0, 152,   0, 
+      0,   0,   1,   0,  44,   3, 
+     16,   0,   0,   0,  22,   0, 
+     80,  17,   1,   0,   5,   0, 
+     20,   0,   4,   0, 152,   0, 
+      0,   0,   1,   0,  44,   3, 
+     20,   0,   0,   0,  22,   0, 
+     80,  17,   1,   0,   5,   0, 
+     24,   0,   4,   0, 152,   0, 
+      0,   0,   1,   0,  44,   3, 
+     32,   0,   0,   0,  22,   0, 
+     80,  17,   1,   0,   5,   0, 
+     28,   0,   4,   0, 152,   0, 
+      0,   0,   1,   0,  44,   3, 
+     36,   0,   0,   0,  22,   0, 
+     80,  17,   1,   0,   5,   0, 
+     32,   0,   4,   0, 152,   0, 
+      0,   0,   1,   0,  44,   3, 
+     40,   0,   0,   0,  22,   0, 
+     80,  17,   1,   0,   5,   0, 
+     36,   0,   4,   0, 152,   0, 
+      0,   0,   1,   0,  44,   3, 
+     48,   0,   0,   0,  22,   0, 
+     80,  17,   0,   0,   5,   0, 
+     12,   0,   4,   0, 140,   1, 
+      0,   0,   1,   0, 100,   1, 
+     28,   0,   0,   0,  74,   0, 
+     62,  17,   8,  16,   0,   0, 
+    136,   0,  60,  84, 101, 120, 
+    116, 117, 114, 101,  86, 101, 
+    114, 116, 101, 120,  83, 104, 
+     97, 100, 101, 114,  32, 114, 
+    101, 116, 117, 114, 110,  32, 
+    118,  97, 108, 117, 101,  62, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  22,   0,  80,  17, 
+      2,   0,   5,   0,  40,   0, 
+      4,   0, 152,   0,   0,   0, 
+      1,   0,  44,   3,  48,   0, 
+      0,   0,  22,   0,  80,  17, 
+      2,   0,   5,   0,  44,   0, 
+      4,   0, 152,   0,   0,   0, 
+      1,   0,  44,   3,  52,   0, 
+      0,   0,  22,   0,  80,  17, 
+      2,   0,   5,   0,  48,   0, 
+      4,   0, 152,   0,   0,   0, 
+      1,   0,  44,   3,  56,   0, 
+      0,   0,  22,   0,  80,  17, 
+      2,   0,   5,   0,  32,   0, 
+      4,   0, 152,   0,   0,   0, 
+      1,   0,  44,   3,  32,   0, 
+      0,   0,  22,   0,  80,  17, 
+      2,   0,   5,   0,  36,   0, 
+      4,   0, 152,   0,   0,   0, 
+      1,   0,  44,   3,  36,   0, 
+      0,   0,  22,   0,  80,  17, 
+      2,   0,   5,   0,  16,   0, 
+      4,   0, 152,   0,   0,   0, 
+      1,   0,  44,   3,  16,   0, 
+      0,   0,  22,   0,  80,  17, 
+      2,   0,   5,   0,  20,   0, 
+      4,   0, 152,   0,   0,   0, 
+      1,   0,  44,   3,  20,   0, 
+      0,   0,  22,   0,  80,  17, 
+      2,   0,   5,   0,  24,   0, 
+      4,   0, 152,   0,   0,   0, 
+      1,   0,  44,   3,  24,   0, 
+      0,   0,  22,   0,  80,  17, 
+      2,   0,   5,   0,  28,   0, 
+      4,   0, 152,   0,   0,   0, 
+      1,   0,  44,   3,  28,   0, 
+      0,   0,  22,   0,  80,  17, 
+      2,   0,   5,   0,   0,   0, 
+      4,   0, 152,   0,   0,   0, 
+      1,   0,  44,   3,   0,   0, 
+      0,   0,  22,   0,  80,  17, 
+      2,   0,   5,   0,   4,   0, 
+      4,   0, 152,   0,   0,   0, 
+      1,   0,  44,   3,   4,   0, 
+      0,   0,  22,   0,  80,  17, 
+      2,   0,   5,   0,   8,   0, 
+      4,   0, 152,   0,   0,   0, 
+      1,   0,  44,   3,   8,   0, 
+      0,   0,  22,   0,  80,  17, 
+      2,   0,   5,   0,  12,   0, 
+      4,   0, 152,   0,   0,   0, 
+      1,   0,  44,   3,  12,   0, 
+      0,   0,  46,   0,  62,  17, 
+      7,  16,   0,   0,   8,   0, 
+    111, 117, 116, 112, 117, 116, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,  40,   0, 
+      4,   0, 120,   1,   0,   0, 
+      1,   0,  76,   2,   0,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,  44,   0, 
+      4,   0, 120,   1,   0,   0, 
+      1,   0,  76,   2,   4,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,  48,   0, 
+      4,   0, 120,   1,   0,   0, 
+      1,   0,  76,   2,   8,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,  32,   0, 
+      4,   0, 160,   1,   0,   0, 
+      1,   0,  36,   2,  32,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,  36,   0, 
+      4,   0, 160,   1,   0,   0, 
+      1,   0,  36,   2,  36,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,   0,   0, 
+      4,   0, 248,   1,   0,   0, 
+      1,   0, 204,   1,  48,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,   4,   0, 
+      4,   0,  32,   2,   0,   0, 
+      1,   0, 164,   1,  52,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,   8,   0, 
+      4,   0,  72,   2,   0,   0, 
+      1,   0, 124,   1,  56,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,  12,   0, 
+      4,   0, 112,   2,   0,   0, 
+      1,   0,  84,   1,  60,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,  16,   0, 
+      4,   0, 144,   2,   0,   0, 
+      1,   0, 128,   0,  16,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,  20,   0, 
+      4,   0, 176,   2,   0,   0, 
+      1,   0, 128,   0,  20,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,  24,   0, 
+      4,   0, 208,   2,   0,   0, 
+      1,   0, 128,   0,  24,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,  28,   0, 
+      4,   0, 240,   2,   0,   0, 
+      1,   0, 128,   0,  28,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,  16,   0, 
+      4,   0,  16,   3,   0,   0, 
+      1,   0, 180,   0,  64,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,  20,   0, 
+      4,   0,  48,   3,   0,   0, 
+      1,   0, 148,   0,  68,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,  24,   0, 
+      4,   0,  80,   3,   0,   0, 
+      1,   0, 116,   0,  72,   0, 
+      0,   0,  22,   0,  80,  17, 
+      0,   0,   5,   0,  28,   0, 
+      4,   0, 112,   3,   0,   0, 
+      1,   0,  84,   0,  76,   0, 
+      0,   0,   2,   0,   6,   0, 
+    244,   0,   0,   0,  24,   0, 
+      0,   0,   1,   0,   0,   0, 
+     16,   1, 179,  13,  72, 160, 
+    162, 195,  89, 194, 190,  27, 
+    114, 125, 118, 227, 205, 203, 
+      0,   0, 242,   0,   0,   0, 
+    184,   2,   0,   0,   0,   0, 
+      0,   0,   1,   0,   1,   0, 
+    196,   3,   0,   0,   0,   0, 
+      0,   0,  56,   0,   0,   0, 
+    172,   2,   0,   0, 152,   0, 
+      0,   0,  42,   0,   0, 128, 
+    152,   0,   0,   0,  42,   0, 
+      0,   0, 184,   0,   0,   0, 
+     42,   0,   0, 128, 184,   0, 
+      0,   0,  42,   0,   0,   0, 
+    220,   0,   0,   0,  42,   0, 
+      0, 128, 220,   0,   0,   0, 
+     42,   0,   0,   0,   4,   1, 
+      0,   0,  42,   0,   0, 128, 
+      4,   1,   0,   0,  42,   0, 
+      0,   0,  44,   1,   0,   0, 
+     42,   0,   0, 128,  44,   1, 
+      0,   0,  42,   0,   0,   0, 
+     72,   1,   0,   0,  42,   0, 
+      0, 128,  72,   1,   0,   0, 
+     42,   0,   0,   0,  92,   1, 
+      0,   0,  42,   0,   0, 128, 
+     92,   1,   0,   0,  42,   0, 
+      0,   0, 120,   1,   0,   0, 
+     45,   0,   0, 128, 120,   1, 
+      0,   0,  45,   0,   0,   0, 
+    140,   1,   0,   0,  48,   0, 
+      0, 128, 140,   1,   0,   0, 
+     48,   0,   0,   0, 160,   1, 
+      0,   0,  51,   0,   0, 128, 
+    160,   1,   0,   0,  51,   0, 
+      0,   0, 192,   1,   0,   0, 
+     51,   0,   0, 128, 192,   1, 
+      0,   0,  51,   0,   0,   0, 
+    212,   1,   0,   0,  51,   0, 
+      0, 128, 212,   1,   0,   0, 
+     51,   0,   0,   0, 248,   1, 
+      0,   0,  51,   0,   0, 128, 
+    248,   1,   0,   0,  51,   0, 
+      0,   0,  32,   2,   0,   0, 
+     51,   0,   0, 128,  32,   2, 
+      0,   0,  51,   0,   0,   0, 
+     72,   2,   0,   0,  51,   0, 
+      0, 128,  72,   2,   0,   0, 
+     51,   0,   0,   0, 112,   2, 
+      0,   0,  52,   0,   0, 128, 
+    112,   2,   0,   0,  52,   0, 
+      0,   0, 144,   2,   0,   0, 
+     52,   0,   0, 128, 144,   2, 
+      0,   0,  52,   0,   0,   0, 
+    176,   2,   0,   0,  52,   0, 
+      0, 128, 176,   2,   0,   0, 
+     52,   0,   0,   0, 208,   2, 
+      0,   0,  52,   0,   0, 128, 
+    208,   2,   0,   0,  52,   0, 
+      0,   0, 240,   2,   0,   0, 
+     53,   0,   0, 128, 240,   2, 
+      0,   0,  53,   0,   0,   0, 
+     16,   3,   0,   0,  53,   0, 
+      0, 128,  16,   3,   0,   0, 
+     53,   0,   0,   0,  48,   3, 
+      0,   0,  53,   0,   0, 128, 
+     48,   3,   0,   0,  53,   0, 
+      0,   0,  80,   3,   0,   0, 
+     53,   0,   0, 128,  80,   3, 
+      0,   0,  53,   0,   0,   0, 
+    112,   3,   0,   0,  55,   0, 
+      0, 128, 112,   3,   0,   0, 
+     55,   0,   0,   0, 132,   3, 
+      0,   0,  55,   0,   0, 128, 
+    132,   3,   0,   0,  55,   0, 
+      0,   0, 152,   3,   0,   0, 
+     55,   0,   0, 128, 152,   3, 
+      0,   0,  55,   0,   0,   0, 
+    172,   3,   0,   0,  55,   0, 
+      0, 128, 172,   3,   0,   0, 
+     55,   0,   0,   0, 192,   3, 
+      0,   0,  55,   0,   0, 128, 
+    192,   3,   0,   0,  55,   0, 
+      0,   0,   5,   0,  95,   0, 
+     61,   0,  90,   0,   5,   0, 
+     95,   0,  32,   0,  92,   0, 
+      5,   0,  95,   0,  32,   0, 
+     92,   0,   5,   0,  95,   0, 
+     32,   0,  92,   0,   5,   0, 
+     95,   0,  21,   0,  94,   0, 
+      5,   0,  95,   0,  21,   0, 
+     94,   0,   5,   0,  95,   0, 
+     21,   0,  94,   0,   5,   0, 
+     28,   0,   5,   0,  27,   0, 
+      5,   0,  27,   0,   5,   0, 
+     26,   0,   5,   0,  76,   0, 
+     44,   0,  73,   0,   5,   0, 
+     76,   0,  23,   0,  75,   0, 
+      5,   0,  76,   0,  23,   0, 
+     75,   0,   5,   0,  76,   0, 
+     23,   0,  75,   0,   5,   0, 
+     76,   0,  23,   0,  75,   0, 
+      5,   0,  76,   0,  23,   0, 
+     75,   0,   5,   0,  51,   0, 
+     23,   0,  50,   0,   5,   0, 
+     51,   0,  23,   0,  50,   0, 
+      5,   0,  51,   0,  23,   0, 
+     50,   0,   5,   0,  51,   0, 
+     23,   0,  50,   0,   5,   0, 
+     57,   0,  23,   0,  56,   0, 
+      5,   0,  57,   0,  23,   0, 
+     56,   0,   5,   0,  57,   0, 
+     23,   0,  56,   0,   5,   0, 
+     57,   0,  23,   0,  56,   0, 
+      5,   0,  18,   0,   5,   0, 
+     18,   0,   5,   0,  18,   0, 
+      5,   0,  18,   0,   5,   0, 
+     18,   0,   5,   0,  18,   0, 
+      5,   0,  18,   0,   5,   0, 
+     18,   0,   5,   0,  18,   0, 
+      5,   0,  18,   0, 246,   0, 
+      0,   0,   4,   0,   0,   0, 
+      0,   0,   0,   0,  16,   0, 
+      0,   0,   0,   0,   0,   0, 
+     36,   0,   0,   0,  72,   0, 
+      0,   0, 100,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     11, 202,  49,   1,  56,   0, 
+      0,   0,   0,  16,   0,   0, 
+     15,  16,   0,   0, 184,   1, 
+      0,   0,  10,   0, 255, 255, 
+      4,   0,   0,   0, 255, 255, 
+      3,   0,   0,   0,   0,   0, 
+     60,   0,   0,   0,  60,   0, 
+      0,   0,   8,   0,   0,   0, 
+     68,   0,   0,   0,   0,   0, 
+      0,   0,  22,   0,  27,  21, 
+     64,   0,   0,   0,   4,   0, 
+      0,   0,  16,   0, 102, 108, 
+    111,  97, 116,  52,   0, 243, 
+    242, 241,  22,   0,  27,  21, 
+     64,   0,   0,   0,   2,   0, 
+      0,   0,   8,   0, 102, 108, 
+    111,  97, 116,  50,   0, 243, 
+    242, 241,  22,   0,  27,  21, 
+     64,   0,   0,   0,   3,   0, 
+      0,   0,  12,   0, 102, 108, 
+    111,  97, 116,  51,   0, 243, 
+    242, 241,  78,   0,   3,  18, 
+     13,  21,   3,   0,   0,  16, 
+      0,   0,   0,   0, 112, 111, 
+    115, 105, 116, 105, 111, 110, 
+      0, 241,  13,  21,   3,   0, 
+      1,  16,   0,   0,  16,   0, 
+    116, 101, 120,   0, 242, 241, 
+     13,  21,   3,   0,   2,  16, 
+      0,   0,  24,   0, 110, 111, 
+    114, 109,  97, 108,   0, 243, 
+    242, 241,  13,  21,   3,   0, 
+    117,   0,   0,   0,  36,   0, 
+    107, 110, 111,  99, 104, 101, 
+    110,   0, 242, 241,  38,   0, 
+      5,  21,   4,   0,   0,   0, 
+      3,  16,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     40,   0,  86, 101, 114, 116, 
+    101, 120,  73, 110, 112, 117, 
+    116,  84, 121, 112, 101,   0, 
+    242, 241,  10,   0,   1,  18, 
+      1,   0,   0,   0,   4,  16, 
+      0,   0,  78,   0,   3,  18, 
+     13,  21,   3,   0,   0,  16, 
+      0,   0,   0,   0, 119, 111, 
+    114, 108, 100,  80, 111, 115, 
+      0, 241,  13,  21,   3,   0, 
+      0,  16,   0,   0,  16,   0, 
+    112, 111, 115, 105, 116, 105, 
+    111, 110,   0, 241,  13,  21, 
+      3,   0,   1,  16,   0,   0, 
+     32,   0, 116, 101, 120,   0, 
+    242, 241,  13,  21,   3,   0, 
+      2,  16,   0,   0,  40,   0, 
+    110, 111, 114, 109,  97, 108, 
+      0, 243, 242, 241,  38,   0, 
+      5,  21,   4,   0,   0,   0, 
+      6,  16,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     52,   0,  80, 105, 120, 101, 
+    108,  73, 110, 112, 117, 116, 
+     84, 121, 112, 101,   0, 243, 
+    242, 241,  10,   0,  24,  21, 
+      7,  16,   0,   0,   1,   0, 
+      1,   0,  14,   0,   8,  16, 
+      8,  16,   0,   0,  23,   0, 
+      1,   0,   5,  16,   0,   0, 
+     30,   0,  28,  21,  64,   0, 
+      0,   0,   4,   0,   0,   0, 
+      4,   0,   0,   0,  16,   0, 
+      0,   0,   0,  64,   0, 102, 
+    108, 111,  97, 116,  52, 120, 
+     52,   0,  10,   0,  24,  21, 
+     10,  16,   0,   0,   1,   0, 
+      1,   0,  18,   0,  22,  21, 
+     11,  16,   0,   0,  34,   0, 
+      0,   0,  64,   0,   0,   0, 
+      0,  32,   0, 241,  10,   0, 
+     24,  21,  12,  16,   0,   0, 
+      1,   0,   0,   2,  10,   0, 
+     24,  21,  11,  16,   0,   0, 
+      1,   0,   0,   2,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  11, 202,  49,   1, 
+     56,   0,   0,   0,   0,  16, 
+      0,   0,   0,  16,   0,   0, 
+      0,   0,   0,   0,  11,   0, 
+    255, 255,   4,   0,   0,   0, 
+    255, 255,   3,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  49,  59, 
+     13,  10, 125,  59,  13,  10, 
+     13,  10,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  13,  10, 
+     47,  47,  32,  86, 101, 114, 
+    116, 101, 120,  32,  83, 104, 
+     97, 100, 101, 114,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  13,  10,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     47,  47,  47,  47,  47,  47, 
+     13,  10,  80, 105, 120, 101, 
+    108,  73, 110, 112, 117, 116, 
+     84, 121, 112, 101,  32,  84, 
+    101, 120, 116, 117, 114, 101, 
+     86, 101, 114, 116, 101, 120, 
+     83, 104,  97, 100, 101, 114, 
+     40,  32,  86, 101, 114, 116, 
+    101, 120,  73, 110, 112, 117, 
+    116,  84, 121, 112, 101,  32, 
+    105, 110, 112, 117, 116,  32, 
+     41,  13,  10, 123,  13,  10, 
+     32,  32,  32,  32,  47,  47, 
+    114, 101, 116, 117, 114, 110, 
+     32, 105, 110, 112, 117, 116, 
+     59,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  13,  10, 
+     32,  32,  32,  32,  80, 105, 
+    120, 101, 108,  73, 110, 112, 
+    117, 116,  84, 121, 112, 101, 
+     32, 111, 117, 116, 112, 117, 
+    116,  59,  13,  10,  32,  32, 
+     32,  32, 111, 117, 116, 112, 
+    117, 116,  46, 110, 111, 114, 
+    109,  97, 108,  32,  61,  32, 
+    110, 111, 114, 109,  97, 108, 
+    105, 122, 101,  40,  32, 109, 
+    117, 108,  40,  32, 105, 110, 
+    112, 117, 116,  46, 110, 111, 
+    114, 109,  97, 108,  44,  32, 
+     40, 102, 108, 111,  97, 116, 
+     51, 120,  51,  41, 107, 110, 
+    111,  99, 104, 101, 110,  77, 
+     97, 116, 114, 105, 120,  91, 
+     32, 105, 110, 112, 117, 116, 
+     46, 107, 110, 111,  99, 104, 
+    101, 110,  32,  93,  32,  41, 
+     32,  41,  59,  13,  10,  13, 
+     10,  32,  32,  32,  32,  47, 
+     47,  32,  67, 104,  97, 110, 
+    103, 101,  32, 116, 104, 101, 
+     32, 112, 111, 115, 105, 116, 
+    105, 111, 110,  32, 118, 101, 
+     99, 116, 111, 114,  32, 116, 
+    111,  32,  98, 101,  32,  52, 
+     32, 117, 110, 105, 116, 115, 
+     32, 102, 111, 114,  32, 112, 
+    114, 111, 112, 101, 114,  32, 
+    109,  97, 116, 114, 105, 120, 
+     32,  99,  97, 108,  99, 117, 
+    108,  97, 116, 105, 111, 110, 
+    115,  46,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  13, 
+     10,  32,  32,  32,  32, 105, 
+    110, 112, 117, 116,  46, 112, 
+    111, 115, 105, 116, 105, 111, 
+    110,  46, 119,  32,  61,  32, 
+     49,  46,  48, 102,  59,  13, 
+     10,  13,  10,  32,  32,  32, 
+     32,  47,  47,  32,  83, 116, 
+    111, 114, 101,  32, 116, 104, 
+    101,  32, 116, 101, 120, 116, 
+    117, 114, 101,  32,  99, 111, 
+    111, 114, 100, 105, 110,  97, 
+    116, 101, 115,  32, 102, 111, 
+    114,  32, 116, 104, 101,  32, 
+    112, 105, 120, 101, 108,  32, 
+    115, 104,  97, 100, 101, 114, 
+     46,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  32,  32,  32,  32,  32, 
+     32,  13,  10,  32,  32,  32, 
+     32, 111, 117, 116, 112, 117, 
+    116,  46, 116, 101, 120,  32, 
+     61,  32, 105, 110, 112, 117, 
+    116,  46, 116, 101, 120,  59, 
+     13,  10,  13,  10,  32,  32, 
+     32,  32,  47,  47,  32,  67, 
+     97, 108,  99, 117, 108,  97, 
+    116, 101,  32, 116, 104, 101, 
+     32, 112, 111, 115, 105, 116, 
+    105, 111, 110,  32, 111, 102, 
+     32, 116, 104, 101,  32, 118, 
+    101, 114, 116, 101, 120,  32, 
+     97, 103,  97, 105, 110, 115, 
+    116,  32, 116, 104, 101,  32, 
+    119, 111, 114, 108, 100,  44, 
+     32, 118, 105, 101, 119,  44, 
+     32,  97, 110, 100,  32, 112, 
+    114, 111, 106, 101,  99, 116, 
+    105, 111, 110,  32, 109,  97, 
+    116, 114, 105,  99, 101, 115, 
+     46,  32,  13,  10,  32,  32, 
+     32,  32, 111, 117, 116, 112, 
+    117, 116,  46, 119, 111, 114, 
+    108, 100,  80, 111, 115,  32, 
+     61,  32, 109, 117, 108,  40, 
+     32, 105, 110, 112, 117, 116, 
+     46, 112, 111, 115, 105, 116, 
+    105, 111, 110,  44,  32, 107, 
+    110, 111,  99, 104, 101, 110, 
+     77,  97, 116, 114, 105, 120, 
+     91,  32, 105, 110, 112, 117, 
+    116,  46, 107, 110, 111,  99, 
+    104, 101, 110,  32,  93,  32, 
+     41,  59,  13,  10,  32,  32, 
+     32,  32, 111, 117, 116, 112, 
+    117, 116,  46, 112, 111, 115, 
+    105, 116, 105, 111, 110,  32, 
+     61,  32, 109, 117, 108,  40, 
+     32, 111, 117, 116, 112, 117, 
+    116,  46, 119, 111, 114, 108, 
+    100,  80, 111, 115,  44,  32, 
+    118, 105, 101, 119,  32,  41, 
+     59,  13,  10,  32,  32,  32, 
+     32, 111, 117, 116, 112, 117, 
+    116,  46, 112, 111, 115, 105, 
+    116, 105, 111, 110,  32,  61, 
+     32, 109, 117, 108,  40,  32, 
+    111, 117, 116, 112, 117, 116, 
+     46, 112, 111, 115, 105, 116, 
+    105, 111, 110,  44,  32, 112, 
+    114, 111, 106, 101,  99, 116, 
+    105, 111, 110,  32,  41,  59, 
+     13,  10,  13,  10,  32,  32, 
+     32,  32, 114, 101, 116, 117, 
+    114, 110,  32, 111, 117, 116, 
+    112, 117, 116,  59,  13,  10, 
+    125,   0,   7,   0,   0,   0, 
+      0,   0,   0,   0,  94,   0, 
+      0,   0,   0,   0,   0,   0, 
+     95,   0,   0,   0,   1,   0, 
+      0,   0, 188,   0,   0,   0, 
+      0,   0,   0,   0,   4,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  68,  51, 
+     68,  83,  72,  68,  82,   0, 
+    196,   3,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  32,   0, 
+      0,  96,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+    255, 255, 255, 255,  26,   9, 
+     47, 241,  32,   0,   0,   0, 
+     20,   2,   0,   0,   1,   0, 
+      0,   0,   1,   0,   0,   0, 
+     73,   0,   0,   0,   1,   0, 
+      0,   0,  37,   0,   0,   0, 
+      1,   0,   0,   0, 101,   0, 
+      0,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      2,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   1,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   4, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   4,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  12,   0, 
+      0,   0,  24,   0,   0,   0, 
+     36,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  34,   0, 
+     37,  17,   0,   0,   0,   0, 
+    140,   0,   0,   0,   1,   0, 
+     84, 101, 120, 116, 117, 114, 
+    101,  86, 101, 114, 116, 101, 
+    120,  83, 104,  97, 100, 101, 
+    114,   0,   0,   0,  34,   0, 
+     81,  17,  13,  16,   0,   0, 
+      8,   0,   0,   0,   0,   0, 
+    255, 255, 255, 255, 255, 255, 
+    107, 110, 111,  99, 104, 101, 
+    110,  77,  97, 116, 114, 105, 
+    120,   0,   0,   0,  26,   0, 
+     81,  17,  14,  16,   0,   0, 
+      8,   0,   1,   0,   0,   0, 
+    255, 255, 255, 255, 255, 255, 
+    118, 105, 101, 119,   0,   0, 
+      0,   0,  30,   0,  81,  17, 
+     14,  16,   0,   0,   8,   0, 
+      1,   0,  64,   0, 255, 255, 
+    255, 255, 255, 255, 112, 114, 
+    111, 106, 101,  99, 116, 105, 
+    111, 110,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     16,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 255, 255, 
+    255, 255,  26,   9,  47, 241, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0, 255, 255, 255, 255, 
+    119,   9,  49,   1,   1,   0, 
+      0,   0,  13,   0,  10, 140, 
+     14,   0, 180, 156,  15,   0, 
+     11,   0,  92,   0,   0,   0, 
+     32,   0,   0,   0,  44,   0, 
+      0,   0, 108,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  22,   0,   0,   0, 
+     25,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   1,   0, 
+      0,   0,   0,   0,   0,   0, 
+    196,   3,   0,   0,  32,   0, 
+      0,  96,   0,   0,  38,   1, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   2,   0,   9,   0, 
+     80,   5,   0,   0,   0,   0, 
+      0,   0, 236,   2,   0,   0, 
+      1,   0,   0,   0, 120, 121, 
+    198,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,  84, 101, 
+    120, 116, 117, 114, 101,  86, 
+    101, 114, 116, 101, 120,  83, 
+    104,  97, 100, 101, 114,   0, 
+    110, 111, 110, 101,   0,   0, 
+      0,   0,  45, 186,  46, 241, 
+      1,   0,   0,   0,   0,   0, 
+      0,   0, 196,   3,   0,   0, 
+     32,   0,   0,  96,   0,   0, 
+     38,   1,   0,   0,   0,   0, 
+      0,   0,   0,   0,   2,   0, 
+      2,   0,   7,   0,   0,   0, 
+      0,   0,   1,   0, 255, 255, 
+    255, 255,   0,   0,   0,   0, 
+    196,   3,   0,   0,   8,   2, 
+      0,   0,   0,   0,   0,   0, 
+    255, 255, 255, 255,   0,   0, 
+      0,   0, 255, 255, 255, 255, 
+      1,   0,   1,   0,   0,   0, 
+      1,   0,   0,   0,   0,   0, 
+     67,  58,  92,  85, 115, 101, 
+    114, 115,  92, 107, 111, 108, 
+    106,  97,  92,  79, 110, 101, 
+     68, 114, 105, 118, 101,  92, 
+     68, 101, 115, 107, 116, 111, 
+    112,  92,  75, 111, 108, 106, 
+     97,  45,  83, 116, 114, 111, 
+    104, 109,  45,  71,  97, 109, 
+    101, 115,  92,  65, 108, 108, 
+    103, 101, 109, 101, 105, 110, 
+     92,  70, 114,  97, 109, 101, 
+    119, 111, 114, 107,  92,  68, 
+     88,  49,  49,  86, 101, 114, 
+    116, 101, 120,  83, 104,  97, 
+    100, 101, 114,  46, 104, 108, 
+    115, 108,   0,   0,   0,   0, 
+    254, 239, 254, 239,   1,   0, 
+      0,   0,   1,   0,   0,   0, 
+      0,   1,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255,  12, 
+      0, 255, 255, 255, 255, 255, 
+    255, 255, 255, 255, 255,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0, 148,  46, 
+     49,   1, 240,   9,  86,  92, 
+      1,   0,   0,   0, 228,  40, 
+     64, 180,  89, 166,  85,  74, 
+    165, 155,  28, 220, 218, 181, 
+     38,   1, 138,   0,   0,   0, 
+     47,  76, 105, 110, 107,  73, 
+    110, 102, 111,   0,  47, 110, 
+     97, 109, 101, 115,   0,  47, 
+    115, 114,  99,  47, 104, 101, 
+     97, 100, 101, 114,  98, 108, 
+    111,  99, 107,   0,  47, 115, 
+    114,  99,  47, 102, 105, 108, 
+    101, 115,  47,  99,  58,  92, 
+    117, 115, 101, 114, 115,  92, 
+    107, 111, 108, 106,  97,  92, 
+    111, 110, 101, 100, 114, 105, 
+    118, 101,  92, 100, 101, 115, 
+    107, 116, 111, 112,  92, 107, 
+    111, 108, 106,  97,  45, 115, 
+    116, 114, 111, 104, 109,  45, 
+    103,  97, 109, 101, 115,  92, 
+     97, 108, 108, 103, 101, 109, 
+    101, 105, 110,  92, 102, 114, 
+     97, 109, 101, 119, 111, 114, 
+    107,  92, 100, 120,  49,  49, 
+    118, 101, 114, 116, 101, 120, 
+    115, 104,  97, 100, 101, 114, 
+     46, 104, 108, 115, 108,   0, 
+      4,   0,   0,   0,   6,   0, 
+      0,   0,   1,   0,   0,   0, 
+     58,   0,   0,   0,   0,   0, 
+      0,   0,  17,   0,   0,   0, 
+      7,   0,   0,   0,  10,   0, 
+      0,   0,   6,   0,   0,   0, 
+      0,   0,   0,   0,   5,   0, 
+      0,   0,  34,   0,   0,   0, 
+      8,   0,   0,   0,   0,   0, 
+      0,   0, 220,  81,  51,   1, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+     16,   0,   0,   0,  32,   0, 
+      0,   0, 230,   0,   0,   0, 
+    240,   1,   0,   0, 131,   1, 
+      0,   0,  56,   0,   0,   0, 
+      0,   0,   0,   0, 102,   8, 
+      0,   0, 128,   0,   0,   0, 
+    121,   7,   0,   0,  80,   8, 
+      0,   0,  68,   0,   0,   0, 
+      0,   0,   0,   0,  40,   0, 
+      0,   0,  68,   2,   0,   0, 
+     44,   0,   0,   0, 132,   0, 
+      0,   0,   3,   0,   0,   0, 
+     30,   0,   0,   0,  19,   0, 
+      0,   0,  29,   0,   0,   0, 
+     20,   0,   0,   0,  12,   0, 
+      0,   0,   6,   0,   0,   0, 
+     21,   0,   0,   0,  22,   0, 
+      0,   0,  23,   0,   0,   0, 
+     13,   0,   0,   0,   8,   0, 
+      0,   0,   9,   0,   0,   0, 
+     10,   0,   0,   0,  11,   0, 
+      0,   0,  14,   0,   0,   0, 
+     15,   0,   0,   0,  16,   0, 
+      0,   0,  17,   0,   0,   0, 
+     18,   0,   0,   0,   7,   0, 
+      0,   0,  24,   0,   0,   0, 
+     25,   0,   0,   0,  26,   0, 
+      0,   0,  28,   0,   0,   0, 
+     27,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,  31,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
+      0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
@@ -399,5 +3432,5 @@ const BYTE UIVertexShader[] =
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
       0,   0,   0,   0,   0,   0, 
-      0,   0,   0,   0
+      0,   0
 };