From 31235de706fe6dad61519168bf48b31c04801e8f Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Mon, 2 Jun 2025 01:40:19 +0200 Subject: [PATCH 1/7] Correct normal transformations (#216) --- miniwin/src/d3drm/d3drmviewport.cpp | 47 ++++++++++++++++++++--------- 1 file changed, 32 insertions(+), 15 deletions(-) diff --git a/miniwin/src/d3drm/d3drmviewport.cpp b/miniwin/src/d3drm/d3drmviewport.cpp index 55260a56..367dee2d 100644 --- a/miniwin/src/d3drm/d3drmviewport.cpp +++ b/miniwin/src/d3drm/d3drmviewport.cpp @@ -31,24 +31,32 @@ static void D3DRMMatrixMultiply(D3DRMMATRIX4D out, const D3DRMMATRIX4D a, const } } -static D3DVALUE Cofactor3x3(const D3DRMMATRIX4D m, int i, int j) -{ - int i1 = (i + 1) % 3; - int i2 = (i + 2) % 3; - int j1 = (j + 1) % 3; - int j2 = (j + 2) % 3; - return m[i1][j1] * m[i2][j2] - m[i2][j1] * m[i1][j2]; -} - static void D3DRMMatrixInvertForNormal(Matrix3x3 out, const D3DRMMATRIX4D m) { - assert(m[3][3] == 1.f); - float detM = m[0][0] * Cofactor3x3(m, 0, 0) - m[0][1] * Cofactor3x3(m, 0, 1) + m[0][2] * Cofactor3x3(m, 0, 2); - for (int i = 0; i < 3; ++i) { - for (int j = 0; j < 3; ++j) { - out[i][j] = (((i + j) % 2) ? -1 : 1) * Cofactor3x3(m, i, j) / detM; - } + float a = m[0][0], b = m[0][1], c = m[0][2]; + float d = m[1][0], e = m[1][1], f = m[1][2]; + float g = m[2][0], h = m[2][1], i = m[2][2]; + + float det = a * (e * i - f * h) - b * (d * i - f * g) + c * (d * h - e * g); + + if (fabs(det) < 1e-6f) { + memset(out, 0, sizeof(Matrix3x3)); + return; } + + float invDet = 1.0f / det; + + out[0][0] = (e * i - f * h) * invDet; + out[1][0] = (c * h - b * i) * invDet; + out[2][0] = (b * f - c * e) * invDet; + + out[0][1] = (f * g - d * i) * invDet; + out[1][1] = (a * i - c * g) * invDet; + out[2][1] = (c * d - a * f) * invDet; + + out[0][2] = (d * h - e * g) * invDet; + out[1][2] = (b * g - a * h) * invDet; + out[2][2] = (a * e - b * d) * invDet; } static void D3DRMMatrixInvertOrthogonal(D3DRMMATRIX4D out, const D3DRMMATRIX4D m) @@ -271,6 +279,15 @@ HRESULT Direct3DRMViewportImpl::CollectSceneData() viewNorm.z = norm.x * worldMatrixInvert[0][2] + norm.y * worldMatrixInvert[1][2] + norm.z * worldMatrixInvert[2][2]; + float len = + sqrtf(viewNorm.x * viewNorm.x + viewNorm.y * viewNorm.y + viewNorm.z * viewNorm.z); + if (len > 0.0f) { + float invLen = 1.0f / len; + viewNorm.x *= invLen; + viewNorm.y *= invLen; + viewNorm.z *= invLen; + } + PositionColorVertex vtx; vtx.x = viewPos.x; vtx.y = viewPos.y; From de8a7c2d91e5f4d20f4219d133032332f6cd8a9c Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Mon, 2 Jun 2025 02:09:04 +0200 Subject: [PATCH 2/7] Correct status of Direct3DRMTextureImpl::Direct3DRMTextureImpl(IDirectDrawSurface* surface) --- miniwin/src/d3drm/d3drmtexture.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/miniwin/src/d3drm/d3drmtexture.cpp b/miniwin/src/d3drm/d3drmtexture.cpp index 4d53d5d4..c0a2ad59 100644 --- a/miniwin/src/d3drm/d3drmtexture.cpp +++ b/miniwin/src/d3drm/d3drmtexture.cpp @@ -8,7 +8,6 @@ Direct3DRMTextureImpl::Direct3DRMTextureImpl(D3DRMIMAGE* image) Direct3DRMTextureImpl::Direct3DRMTextureImpl(IDirectDrawSurface* surface) : m_surface(surface) { - MINIWIN_NOT_IMPLEMENTED(); } HRESULT Direct3DRMTextureImpl::QueryInterface(const GUID& riid, void** ppvObject) From 5375336b5aa2609b2dea035ff9c47f06d98c7da2 Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Mon, 2 Jun 2025 02:09:17 +0200 Subject: [PATCH 3/7] Pass material shininess to the renderer (#217) --- miniwin/src/d3drm/d3drmviewport.cpp | 8 ++++++++ miniwin/src/internal/d3drmrenderer.h | 1 + 2 files changed, 9 insertions(+) diff --git a/miniwin/src/d3drm/d3drmviewport.cpp b/miniwin/src/d3drm/d3drmviewport.cpp index 367dee2d..f755d243 100644 --- a/miniwin/src/d3drm/d3drmviewport.cpp +++ b/miniwin/src/d3drm/d3drmviewport.cpp @@ -229,11 +229,18 @@ HRESULT Direct3DRMViewportImpl::CollectSceneData() D3DRMRENDERQUALITY quality = mesh->GetGroupQuality(gi); IDirect3DRMTexture* texture = nullptr; mesh->GetGroupTexture(gi, &texture); + IDirect3DRMMaterial* material = nullptr; + mesh->GetGroupMaterial(gi, &material); Uint32 texId = NO_TEXTURE_ID; if (texture) { texId = m_renderer->GetTextureId(texture); texture->Release(); } + float shininess = 0.0f; + if (material) { + shininess = material->GetPower(); + material->Release(); + } for (DWORD fi = 0; fi < faceCount; ++fi) { D3DVECTOR norm; @@ -299,6 +306,7 @@ HRESULT Direct3DRMViewportImpl::CollectSceneData() vtx.g = (color >> 8) & 0xFF; vtx.b = (color >> 0) & 0xFF; vtx.a = (color >> 24) & 0xFF; + vtx.shininess = shininess; vtx.texId = texId; vtx.u = dv.tu; vtx.v = dv.tv; diff --git a/miniwin/src/internal/d3drmrenderer.h b/miniwin/src/internal/d3drmrenderer.h index 5910706e..319b4ae0 100644 --- a/miniwin/src/internal/d3drmrenderer.h +++ b/miniwin/src/internal/d3drmrenderer.h @@ -12,6 +12,7 @@ typedef struct PositionColorVertex { Uint8 r, g, b, a; Uint32 texId = NO_TEXTURE_ID; float u, v; + float shininess; } PositionColorVertex; struct FColor { From f08aec74382fa3988830f37114ed50c113f3b7ea Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Mon, 2 Jun 2025 04:14:40 +0200 Subject: [PATCH 4/7] Add highlights to software rendering (#218) --- .../src/d3drm/backends/software/renderer.cpp | 95 +++++++++++-------- 1 file changed, 57 insertions(+), 38 deletions(-) diff --git a/miniwin/src/d3drm/backends/software/renderer.cpp b/miniwin/src/d3drm/backends/software/renderer.cpp index 1f7f29d9..fe264847 100644 --- a/miniwin/src/d3drm/backends/software/renderer.cpp +++ b/miniwin/src/d3drm/backends/software/renderer.cpp @@ -164,51 +164,70 @@ void Direct3DRMSoftwareRenderer::BlendPixel(Uint8* pixelAddr, Uint8 r, Uint8 g, SDL_Color Direct3DRMSoftwareRenderer::ApplyLighting(const PositionColorVertex& vertex) { - float r = 0, g = 0, b = 0; - for (const SceneLight& light : m_lights) { - if (light.positional == 0.f && light.directional == 0.f) { + FColor specular = {0, 0, 0, 0}; + FColor diffuse = {0, 0, 0, 0}; + + // Position and normal + D3DVECTOR position = {vertex.x, vertex.y, vertex.z}; + D3DVECTOR normal = {vertex.nx, vertex.ny, vertex.nz}; + float normLen = std::sqrt(normal.x * normal.x + normal.y * normal.y + normal.z * normal.z); + if (normLen == 0.0f) { + return {vertex.r, vertex.g, vertex.b, vertex.a}; + } + + normal.x /= normLen; + normal.y /= normLen; + normal.z /= normLen; + + for (const auto& light : m_lights) { + FColor lightColor = light.color; + + if (light.positional == 0.0f && light.directional == 0.0f) { // Ambient light - r += light.color.r; - g += light.color.g; - b += light.color.b; + diffuse.r += lightColor.r; + diffuse.g += lightColor.g; + diffuse.b += lightColor.b; + continue; } - else if (light.directional == 1.f) { - // Directional - D3DVECTOR L = light.direction; - float Llen = std::sqrt(L.x * L.x + L.y * L.y + L.z * L.z); - if (Llen > 0.f) { - L.x /= Llen; - L.y /= Llen; - L.z /= Llen; - float ndotl = std::max(0.0f, -(vertex.nx * L.x + vertex.ny * L.y + vertex.nz * L.z)); - r += light.color.r * ndotl; - g += light.color.g * ndotl; - b += light.color.b * ndotl; - } + + // TODO lightVec only has to be calculated once per frame for directional lights + D3DVECTOR lightVec; + if (light.directional == 1.0f) { + lightVec = {-light.direction.x, -light.direction.y, -light.direction.z}; } - else if (light.positional == 1.f) { - // Point - D3DVECTOR L = {light.position.x - vertex.x, light.position.y - vertex.y, light.position.z - vertex.z}; - float Llen = std::sqrt(L.x * L.x + L.y * L.y + L.z * L.z); - if (Llen > 0.f) { - L.x /= Llen; - L.y /= Llen; - L.z /= Llen; - float ndotl = std::max(0.0f, vertex.nx * L.x + vertex.ny * L.y + vertex.nz * L.z); - r += light.color.r * ndotl; - g += light.color.g * ndotl; - b += light.color.b * ndotl; + else if (light.positional == 1.0f) { + lightVec = {light.position.x - position.x, light.position.y - position.y, light.position.z - position.z}; + } + + float len = std::sqrt(lightVec.x * lightVec.x + lightVec.y * lightVec.y + lightVec.z * lightVec.z); + if (len == 0.0f) { + continue; + } + lightVec.x /= len; + lightVec.y /= len; + lightVec.z /= len; + + float dotNL = normal.x * lightVec.x + normal.y * lightVec.y + normal.z * lightVec.z; + if (dotNL > 0.0f) { + // Diffuse contribution + diffuse.r += dotNL * lightColor.r; + diffuse.g += dotNL * lightColor.g; + diffuse.b += dotNL * lightColor.b; + + if (vertex.shininess != 0.0f) { + // Using dotNL ignores view angle, but this matches DirectX 5 behavior. + float spec = std::pow(dotNL, vertex.shininess); + specular.r += spec * lightColor.r; + specular.g += spec * lightColor.g; + specular.b += spec * lightColor.b; } } } - r = std::min(1.0f, r); - g = std::min(1.0f, g); - b = std::min(1.0f, b); - return { - static_cast(vertex.r * r), - static_cast(vertex.g * g), - static_cast(vertex.b * b), + return SDL_Color{ + static_cast(std::min(255.0f, diffuse.r * vertex.r + specular.r * 255.0f)), + static_cast(std::min(255.0f, diffuse.g * vertex.g + specular.g * 255.0f)), + static_cast(std::min(255.0f, diffuse.b * vertex.b + specular.b * 255.0f)), vertex.a }; } From 2affbdfcc77a1fda7a32910740802c45049be8f3 Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Tue, 3 Jun 2025 02:16:33 +0200 Subject: [PATCH 5/7] Align hardware lighting with software (#221) --- .../src/d3drm/backends/sdl3gpu/renderer.cpp | 25 +- .../shaders/generated/PositionColor.vert.h | 969 +++++++---- .../shaders/generated/SolidColor.frag.h | 1451 ++++++++++------- .../backends/sdl3gpu/shaders/src/Common.hlsl | 21 +- .../shaders/src/PositionColor.vert.hlsl | 5 + .../sdl3gpu/shaders/src/SolidColor.frag.hlsl | 63 +- .../src/d3drm/backends/software/renderer.cpp | 67 +- miniwin/src/d3drm/d3drmviewport.cpp | 21 +- miniwin/src/internal/d3drmrenderer.h | 18 +- 9 files changed, 1588 insertions(+), 1052 deletions(-) diff --git a/miniwin/src/d3drm/backends/sdl3gpu/renderer.cpp b/miniwin/src/d3drm/backends/sdl3gpu/renderer.cpp index 03d6656b..a4dfd078 100644 --- a/miniwin/src/d3drm/backends/sdl3gpu/renderer.cpp +++ b/miniwin/src/d3drm/backends/sdl3gpu/renderer.cpp @@ -1,9 +1,11 @@ #include "ShaderIndex.h" +#include "d3drmrenderer.h" #include "d3drmrenderer_sdl3gpu.h" #include "ddraw_impl.h" #include "miniwin.h" #include +#include static SDL_GPUGraphicsPipeline* InitializeGraphicsPipeline(SDL_GPUDevice* device) { @@ -33,21 +35,36 @@ static SDL_GPUGraphicsPipeline* InitializeGraphicsPipeline(SDL_GPUDevice* device vertexBufferDescs[0].input_rate = SDL_GPU_VERTEXINPUTRATE_VERTEX; vertexBufferDescs[0].instance_step_rate = 0; - SDL_GPUVertexAttribute vertexAttrs[3] = {}; + SDL_GPUVertexAttribute vertexAttrs[6] = {}; vertexAttrs[0].location = 0; vertexAttrs[0].buffer_slot = 0; vertexAttrs[0].format = SDL_GPU_VERTEXELEMENTFORMAT_FLOAT3; - vertexAttrs[0].offset = 0; + vertexAttrs[0].offset = offsetof(PositionColorVertex, position); vertexAttrs[1].location = 1; vertexAttrs[1].buffer_slot = 0; vertexAttrs[1].format = SDL_GPU_VERTEXELEMENTFORMAT_FLOAT3; - vertexAttrs[1].offset = sizeof(float) * 3; + vertexAttrs[1].offset = offsetof(PositionColorVertex, normals); vertexAttrs[2].location = 2; vertexAttrs[2].buffer_slot = 0; vertexAttrs[2].format = SDL_GPU_VERTEXELEMENTFORMAT_UBYTE4_NORM; - vertexAttrs[2].offset = sizeof(float) * 6; + vertexAttrs[2].offset = offsetof(PositionColorVertex, colors); + + vertexAttrs[3].location = 3; + vertexAttrs[3].buffer_slot = 0; + vertexAttrs[3].format = SDL_GPU_VERTEXELEMENTFORMAT_UINT; + vertexAttrs[3].offset = offsetof(PositionColorVertex, texId); + + vertexAttrs[4].location = 4; + vertexAttrs[4].buffer_slot = 0; + vertexAttrs[4].format = SDL_GPU_VERTEXELEMENTFORMAT_FLOAT2; + vertexAttrs[4].offset = offsetof(PositionColorVertex, texCoord); + + vertexAttrs[5].location = 5; + vertexAttrs[5].buffer_slot = 0; + vertexAttrs[5].format = SDL_GPU_VERTEXELEMENTFORMAT_FLOAT; + vertexAttrs[5].offset = offsetof(PositionColorVertex, shininess); SDL_GPUVertexInputState vertexInputState = {}; vertexInputState.vertex_buffer_descriptions = vertexBufferDescs; diff --git a/miniwin/src/d3drm/backends/sdl3gpu/shaders/generated/PositionColor.vert.h b/miniwin/src/d3drm/backends/sdl3gpu/shaders/generated/PositionColor.vert.h index d5bb412e..0332e365 100644 --- a/miniwin/src/d3drm/backends/sdl3gpu/shaders/generated/PositionColor.vert.h +++ b/miniwin/src/d3drm/backends/sdl3gpu/shaders/generated/PositionColor.vert.h @@ -10,177 +10,100 @@ // DXIL only makes sense on Windows platforms #if defined(SDL_PLATFORM_WINDOWS) -static const Uint8 PositionColor_vert_dxil[4400] = { - 0x44, 0x58, 0x42, 0x43, 0xcd, 0x9a, 0x63, 0x0f, 0xdd, 0x1b, 0x0c, 0xed, 0x2a, 0xbf, 0x38, 0x12, - 0x91, 0x0c, 0x55, 0x8e, 0x01, 0x00, 0x00, 0x00, 0x30, 0x11, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x3c, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0xc8, 0x00, 0x00, 0x00, 0x50, 0x01, 0x00, 0x00, - 0x8c, 0x02, 0x00, 0x00, 0x18, 0x09, 0x00, 0x00, 0x34, 0x09, 0x00, 0x00, 0x53, 0x46, 0x49, 0x30, +static const Uint8 PositionColor_vert_dxil[5500] = { + 0x44, 0x58, 0x42, 0x43, 0xf2, 0xb1, 0x9d, 0x2b, 0xa2, 0x5a, 0x3d, 0xe2, 0x36, 0x53, 0xf1, 0x29, + 0x0d, 0x9e, 0x36, 0x2a, 0x01, 0x00, 0x00, 0x00, 0x7c, 0x15, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x28, 0x01, 0x00, 0x00, 0x30, 0x02, 0x00, 0x00, + 0x58, 0x04, 0x00, 0x00, 0xd8, 0x0b, 0x00, 0x00, 0xf4, 0x0b, 0x00, 0x00, 0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x31, - 0x74, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0xd4, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x68, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0xc8, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x68, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x45, 0x58, 0x43, - 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x53, 0x47, 0x31, 0x80, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, + 0xc8, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc8, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc8, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc8, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x45, 0x58, 0x43, + 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x53, 0x47, 0x31, 0x00, 0x01, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, + 0x07, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x07, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x01, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x07, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf1, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x53, 0x56, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x00, - 0x50, 0x53, 0x56, 0x30, 0x34, 0x01, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x50, 0x53, 0x56, 0x30, 0x20, 0x02, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x06, 0x07, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x54, 0x45, + 0x74, 0x00, 0x00, 0x00, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, - 0x44, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x43, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x43, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x01, 0x02, 0x44, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x44, 0x00, 0x03, 0x02, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x43, 0x00, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x44, 0x03, 0x03, 0x04, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, - 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x53, 0x54, 0x41, 0x54, - 0x84, 0x06, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, 0xa1, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, - 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x6c, 0x06, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde, - 0x21, 0x0c, 0x00, 0x00, 0x98, 0x01, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, - 0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02, - 0x42, 0x92, 0x0b, 0x42, 0xa4, 0x10, 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x52, 0x88, - 0x48, 0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90, - 0x91, 0x22, 0xc4, 0x50, 0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x29, 0x46, 0x06, - 0x51, 0x18, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, - 0x40, 0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x20, 0x6d, 0x30, 0x86, 0xff, - 0xff, 0xff, 0xff, 0x1f, 0x00, 0x09, 0xa8, 0x00, 0x49, 0x18, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x13, 0x82, 0x60, 0x42, 0x20, 0x4c, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00, 0x00, - 0x26, 0x00, 0x00, 0x00, 0x32, 0x22, 0x48, 0x09, 0x20, 0x64, 0x85, 0x04, 0x93, 0x22, 0xa4, 0x84, - 0x04, 0x93, 0x22, 0xe3, 0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8a, 0x8c, 0x0b, 0x84, 0xa4, 0x4c, - 0x10, 0x68, 0x23, 0x00, 0x25, 0x00, 0x14, 0x66, 0x00, 0xe6, 0x08, 0xc0, 0x60, 0x8e, 0x00, 0x29, - 0xc6, 0x20, 0x84, 0x14, 0x42, 0xa6, 0x18, 0x80, 0x10, 0x52, 0x06, 0xa1, 0xa3, 0x86, 0xcb, 0x9f, - 0xb0, 0x87, 0x90, 0x7c, 0x6e, 0xa3, 0x8a, 0x95, 0x98, 0xfc, 0xe2, 0xb6, 0x11, 0x31, 0xc6, 0x18, - 0x54, 0xee, 0x19, 0x2e, 0x7f, 0xc2, 0x1e, 0x42, 0xf2, 0x43, 0xa0, 0x19, 0x16, 0x02, 0x05, 0xab, - 0x10, 0x8a, 0x30, 0x42, 0xad, 0x14, 0x83, 0x8c, 0x31, 0xe8, 0xcd, 0x11, 0x04, 0xc5, 0x60, 0xa4, - 0x10, 0x12, 0x49, 0x0e, 0x04, 0x0c, 0x23, 0x10, 0x43, 0x12, 0xd4, 0x03, 0x83, 0xc3, 0x91, 0xa6, - 0x05, 0xc0, 0x1c, 0x6a, 0xf2, 0x27, 0xec, 0x21, 0xfe, 0x17, 0x21, 0xac, 0xc7, 0x89, 0x26, 0xb7, - 0x41, 0x0a, 0x27, 0x62, 0x24, 0x14, 0x58, 0xba, 0xe9, 0x40, 0x00, 0x00, 0x13, 0x14, 0x72, 0xc0, - 0x87, 0x74, 0x60, 0x87, 0x36, 0x68, 0x87, 0x79, 0x68, 0x03, 0x72, 0xc0, 0x87, 0x0d, 0xaf, 0x50, - 0x0e, 0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, - 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x78, - 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, - 0x06, 0xe9, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40, 0x07, - 0x7a, 0x60, 0x07, 0x74, 0xd0, 0x06, 0xe6, 0x10, 0x07, 0x76, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, - 0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74, 0xa0, - 0x07, 0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, - 0x72, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x43, 0x9e, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x86, 0x3c, 0x06, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0c, 0x79, 0x10, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf2, 0x34, - 0x40, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xe4, 0x79, 0x80, 0x00, 0x08, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xc8, 0x23, 0x01, 0x01, 0x30, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x40, 0x16, 0x08, 0x00, 0x13, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14, - 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22, 0x25, 0x30, 0x02, 0x50, - 0x0c, 0x05, 0x18, 0x50, 0x04, 0x85, 0x50, 0x06, 0xe5, 0x50, 0x12, 0xe5, 0x51, 0x10, 0x65, 0x57, - 0x14, 0x65, 0x41, 0xa5, 0x24, 0x46, 0x00, 0xca, 0xa0, 0x10, 0x8a, 0x80, 0xee, 0x0c, 0x00, 0xe1, - 0x19, 0x00, 0xca, 0x63, 0x39, 0x0c, 0x03, 0xe2, 0x03, 0x88, 0x0f, 0x20, 0x3e, 0x00, 0x10, 0x18, - 0x80, 0x02, 0x10, 0x08, 0x04, 0x02, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x95, 0x00, 0x00, 0x00, - 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0xc4, 0x31, 0x20, 0xc3, 0x1b, 0x43, 0x81, 0x93, 0x4b, - 0xb3, 0x0b, 0xa3, 0x2b, 0x4b, 0x01, 0x89, 0x71, 0xc1, 0x71, 0x81, 0x71, 0xa1, 0xb9, 0xc1, 0xc9, - 0x01, 0x41, 0x11, 0xa3, 0xb9, 0x89, 0x89, 0xc1, 0x99, 0xc9, 0x29, 0x4b, 0xd9, 0x10, 0x04, 0x13, - 0x04, 0xc2, 0x98, 0x20, 0x10, 0xc7, 0x06, 0x61, 0x20, 0x36, 0x08, 0x04, 0x41, 0xc1, 0x6e, 0x6e, - 0x82, 0x40, 0x20, 0x1b, 0x86, 0x03, 0x21, 0x26, 0x08, 0x98, 0xc6, 0x8a, 0x2e, 0x0f, 0xae, 0xec, - 0xcb, 0x2a, 0xad, 0xec, 0x0e, 0xee, 0x4d, 0x8e, 0xae, 0xca, 0x2d, 0xcd, 0xec, 0x4d, 0xae, 0x6d, - 0x6e, 0x82, 0x40, 0x24, 0x1b, 0x10, 0x42, 0x59, 0x06, 0x62, 0x60, 0x80, 0x0d, 0x41, 0xb3, 0x81, - 0x00, 0x00, 0x07, 0x98, 0x20, 0x5c, 0x19, 0x39, 0xab, 0xb4, 0xb2, 0x3b, 0xb8, 0x37, 0x39, 0xba, - 0x2a, 0xb7, 0x34, 0xb3, 0x37, 0xb9, 0xb6, 0xb9, 0x2f, 0xb8, 0x32, 0xb9, 0x39, 0xb8, 0xb2, 0x31, - 0xba, 0x34, 0xbb, 0xb2, 0x09, 0x02, 0xa1, 0x4c, 0x10, 0x88, 0x65, 0xc3, 0x30, 0x4d, 0xd2, 0x04, - 0x81, 0x60, 0x26, 0x08, 0x44, 0x33, 0x41, 0x20, 0x9c, 0x0d, 0x08, 0x12, 0x49, 0x54, 0x45, 0x58, - 0xd7, 0x06, 0x81, 0xc1, 0x36, 0x0c, 0x04, 0x94, 0x4d, 0x10, 0x04, 0x60, 0x03, 0xb0, 0x61, 0x20, - 0x38, 0x6e, 0x43, 0xd0, 0x6d, 0x18, 0x86, 0xcd, 0x9b, 0x20, 0x64, 0xdb, 0x86, 0x00, 0x0c, 0x48, - 0xb4, 0x85, 0xa5, 0xb9, 0x11, 0xa1, 0x2a, 0xc2, 0x1a, 0x7a, 0x7a, 0x92, 0x22, 0x9a, 0x20, 0x14, - 0xd4, 0x04, 0xa1, 0xa8, 0x36, 0x04, 0xc4, 0x04, 0xa1, 0xb0, 0x36, 0x08, 0x95, 0xb5, 0x61, 0x21, - 0xc6, 0x80, 0x0c, 0xca, 0xc0, 0x0c, 0xca, 0x60, 0x38, 0x03, 0xa2, 0x0c, 0xd0, 0x60, 0x43, 0x30, - 0x6c, 0x58, 0x86, 0x31, 0x20, 0x83, 0x32, 0x50, 0x83, 0x32, 0x18, 0xce, 0x60, 0x28, 0x03, 0x34, - 0xd8, 0x10, 0x48, 0x13, 0x84, 0xe2, 0x9a, 0x20, 0x10, 0xcf, 0x06, 0xa1, 0x72, 0x83, 0x0d, 0x8b, - 0x34, 0x06, 0x64, 0x50, 0x06, 0x6c, 0x50, 0x06, 0x43, 0x1b, 0x48, 0x65, 0xf0, 0x06, 0x1b, 0x86, - 0x34, 0x58, 0x03, 0x38, 0x98, 0x20, 0x14, 0xd8, 0x86, 0x85, 0x18, 0x03, 0x32, 0x28, 0x03, 0x33, - 0x90, 0x83, 0xa1, 0x0d, 0x88, 0x32, 0x78, 0x83, 0x0d, 0xcb, 0x30, 0x06, 0x64, 0x50, 0x06, 0x6a, - 0x20, 0x07, 0xc3, 0x19, 0x0c, 0x65, 0x80, 0x06, 0x5c, 0xa6, 0xac, 0xbe, 0xa0, 0xde, 0xe6, 0xd2, - 0xe8, 0xd2, 0xde, 0xdc, 0x36, 0x2c, 0x52, 0x1d, 0x90, 0xc1, 0x19, 0x98, 0x41, 0x1b, 0x0c, 0x6d, - 0x20, 0x95, 0xc1, 0x1b, 0x6c, 0x18, 0xe6, 0x80, 0x0e, 0xec, 0x60, 0xc3, 0x10, 0x07, 0x77, 0x00, - 0x6c, 0x28, 0x36, 0x31, 0xc0, 0x83, 0x07, 0xa0, 0x61, 0xc6, 0xf6, 0x16, 0x46, 0x37, 0x37, 0x41, - 0x20, 0x20, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x73, 0x13, 0x04, 0x22, 0xa2, 0x31, 0x97, 0x76, 0xf6, - 0xc5, 0x46, 0x36, 0x41, 0x20, 0x24, 0x1a, 0x73, 0x69, 0x67, 0x5f, 0x73, 0x74, 0x13, 0x04, 0x62, - 0xda, 0x80, 0xe8, 0xc1, 0x1e, 0xf0, 0x41, 0x1f, 0xf8, 0xc1, 0x1f, 0x80, 0x42, 0x28, 0x54, 0x61, - 0x63, 0xb3, 0x6b, 0x73, 0x49, 0x23, 0x2b, 0x73, 0xa3, 0x9b, 0x12, 0x04, 0x55, 0xc8, 0xf0, 0x5c, - 0xec, 0xca, 0xe4, 0xe6, 0xd2, 0xde, 0xdc, 0xa6, 0x04, 0x44, 0x13, 0x32, 0x3c, 0x17, 0xbb, 0x30, - 0x36, 0xbb, 0x32, 0xb9, 0x29, 0x41, 0x51, 0x87, 0x0c, 0xcf, 0x65, 0x0e, 0x2d, 0x8c, 0xac, 0x4c, - 0xae, 0xe9, 0x8d, 0xac, 0x8c, 0x6d, 0x4a, 0x80, 0x94, 0x21, 0xc3, 0x73, 0x91, 0x2b, 0x9b, 0x7b, - 0xab, 0x93, 0x1b, 0x2b, 0x9b, 0x9b, 0x12, 0x38, 0x95, 0xc8, 0xf0, 0x5c, 0xe8, 0xf2, 0xe0, 0xca, - 0x82, 0xdc, 0xdc, 0xde, 0xe8, 0xc2, 0xe8, 0xd2, 0xde, 0xdc, 0xe6, 0xa6, 0x08, 0x99, 0x57, 0x87, - 0x0c, 0xcf, 0xc5, 0x2e, 0xad, 0xec, 0x2e, 0x89, 0x6c, 0x8a, 0x2e, 0x8c, 0xae, 0x6c, 0x4a, 0x00, - 0x06, 0x75, 0xc8, 0xf0, 0x5c, 0xca, 0xdc, 0xe8, 0xe4, 0xf2, 0xa0, 0xde, 0xd2, 0xdc, 0xe8, 0xe6, - 0xa6, 0x04, 0x78, 0xd0, 0x85, 0x0c, 0xcf, 0x65, 0xec, 0xad, 0xce, 0x8d, 0xae, 0x4c, 0x6e, 0x6e, - 0x4a, 0x10, 0x0a, 0x00, 0x79, 0x18, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, - 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, - 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e, - 0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30, 0x05, 0x3d, 0x88, 0x43, - 0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8, 0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c, - 0x74, 0x70, 0x07, 0x7b, 0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76, - 0x78, 0x87, 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e, 0xe1, 0x30, 0x0f, 0x6e, - 0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e, 0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8, - 0x21, 0x1d, 0xc2, 0x61, 0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4, - 0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76, 0x60, 0x07, 0x7b, 0x68, - 0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07, 0x37, 0x80, 0x87, 0x70, 0x90, 0x87, 0x70, 0x60, 0x07, - 0x76, 0x28, 0x07, 0x76, 0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71, - 0x18, 0x87, 0x72, 0x98, 0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e, 0xee, 0xe0, 0x0e, 0xf5, - 0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4, - 0xa1, 0x1c, 0xdc, 0x61, 0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90, - 0x43, 0x39, 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8, 0xc3, 0x38, 0x94, 0x43, - 0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc, 0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b, - 0xb0, 0xc3, 0x8c, 0xc8, 0x21, 0x07, 0x7c, 0x70, 0x03, 0x72, 0x10, 0x87, 0x73, 0x70, 0x03, 0x7b, - 0x08, 0x07, 0x79, 0x60, 0x87, 0x70, 0xc8, 0x87, 0x77, 0xa8, 0x07, 0x7a, 0x98, 0x81, 0x3c, 0xe4, - 0x80, 0x0f, 0x6e, 0x40, 0x0f, 0xe5, 0xd0, 0x0e, 0xf0, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, - 0x18, 0x00, 0x00, 0x00, 0x36, 0xb0, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x10, 0x50, 0x45, 0x41, 0x44, - 0xa5, 0x03, 0x0c, 0x25, 0x61, 0x00, 0x02, 0xe6, 0x17, 0xb7, 0x6d, 0x05, 0xd2, 0x70, 0xf9, 0xce, - 0xe3, 0x0b, 0x11, 0x01, 0x4c, 0x44, 0x08, 0x34, 0xc3, 0x42, 0x58, 0xc0, 0x34, 0x5c, 0xbe, 0xf3, - 0xf8, 0x8b, 0x03, 0x0c, 0x62, 0xf3, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x09, 0x54, 0xc3, 0xe5, 0x3b, - 0x8f, 0x2f, 0x4d, 0x4e, 0x44, 0xa0, 0xd4, 0xf4, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x11, 0x48, 0xc3, - 0xe5, 0x3b, 0x8f, 0x3f, 0x11, 0xd1, 0x84, 0x00, 0x11, 0xe6, 0x17, 0xb7, 0x6d, 0x00, 0x04, 0x03, - 0x20, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x41, 0x53, 0x48, 0x14, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xd3, 0x76, 0x94, 0xcd, 0x84, 0x65, 0xc0, 0xe6, 0x06, 0x74, 0x37, 0x7d, - 0xb7, 0x6f, 0xda, 0x84, 0x44, 0x58, 0x49, 0x4c, 0xf4, 0x07, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, - 0xfd, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, - 0xdc, 0x07, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0xf4, 0x01, 0x00, 0x00, - 0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91, - 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19, - 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42, 0xa4, 0x10, 0x32, 0x14, - 0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x52, 0x88, 0x48, 0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5, - 0x00, 0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90, 0x91, 0x22, 0xc4, 0x50, 0x41, 0x51, 0x81, 0x8c, - 0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x29, 0x46, 0x06, 0x51, 0x18, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x40, 0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff, 0xff, - 0xff, 0xff, 0x03, 0x20, 0x6d, 0x30, 0x86, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x09, 0xa8, 0x00, - 0x49, 0x18, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x82, 0x60, 0x42, 0x20, 0x4c, 0x08, 0x06, - 0x00, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x32, 0x22, 0x48, 0x09, - 0x20, 0x64, 0x85, 0x04, 0x93, 0x22, 0xa4, 0x84, 0x04, 0x93, 0x22, 0xe3, 0x84, 0xa1, 0x90, 0x14, - 0x12, 0x4c, 0x8a, 0x8c, 0x0b, 0x84, 0xa4, 0x4c, 0x10, 0x68, 0x23, 0x00, 0x25, 0x00, 0x14, 0x66, - 0x00, 0xe6, 0x08, 0xc0, 0x60, 0x8e, 0x00, 0x29, 0xc6, 0x20, 0x84, 0x14, 0x42, 0xa6, 0x18, 0x80, - 0x10, 0x52, 0x06, 0xa1, 0xa3, 0x86, 0xcb, 0x9f, 0xb0, 0x87, 0x90, 0x7c, 0x6e, 0xa3, 0x8a, 0x95, - 0x98, 0xfc, 0xe2, 0xb6, 0x11, 0x31, 0xc6, 0x18, 0x54, 0xee, 0x19, 0x2e, 0x7f, 0xc2, 0x1e, 0x42, - 0xf2, 0x43, 0xa0, 0x19, 0x16, 0x02, 0x05, 0xab, 0x10, 0x8a, 0x30, 0x42, 0xad, 0x14, 0x83, 0x8c, - 0x31, 0xe8, 0xcd, 0x11, 0x04, 0xc5, 0x60, 0xa4, 0x10, 0x12, 0x49, 0x0e, 0x04, 0x0c, 0x23, 0x10, - 0x43, 0x12, 0xd4, 0x03, 0x83, 0xc3, 0x91, 0xa6, 0x05, 0xc0, 0x1c, 0x6a, 0xf2, 0x27, 0xec, 0x21, - 0xfe, 0x17, 0x21, 0xac, 0xc7, 0x89, 0x26, 0xb7, 0x41, 0x0a, 0x27, 0x62, 0x24, 0x14, 0x58, 0xba, - 0xe9, 0x40, 0x00, 0x00, 0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87, 0x36, 0x68, 0x87, 0x79, + 0x44, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, + 0x4f, 0x52, 0x44, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x54, 0x45, 0x58, + 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x54, + 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, + 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x43, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x43, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x44, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x01, 0x03, 0x41, 0x00, 0x01, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x04, 0x42, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x01, 0x05, 0x41, 0x00, 0x03, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x43, 0x00, 0x03, 0x02, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x44, 0x00, 0x03, 0x02, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x41, 0x00, 0x01, 0x01, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x01, 0x03, 0x42, 0x00, 0x03, 0x02, 0x00, 0x00, 0x5b, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x71, 0x00, 0x03, 0x02, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x01, 0x04, 0x43, 0x00, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x05, 0x44, 0x03, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0xf1, 0x00, 0x00, 0x00, 0xf2, 0x00, + 0x00, 0x00, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x40, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53, 0x54, 0x41, 0x54, 0x78, 0x07, 0x00, 0x00, + 0x60, 0x00, 0x01, 0x00, 0xde, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x60, 0x07, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, + 0xd5, 0x01, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, + 0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42, + 0xa4, 0x10, 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x52, 0x88, 0x48, 0x90, 0x14, 0x20, + 0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90, 0x91, 0x22, 0xc4, 0x50, + 0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x29, 0x46, 0x06, 0x51, 0x18, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x40, 0x02, 0xa8, 0x0d, + 0x84, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x20, 0x6d, 0x30, 0x86, 0xff, 0xff, 0xff, 0xff, 0x1f, + 0x00, 0x09, 0xa8, 0x00, 0x49, 0x18, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x82, 0x60, 0x42, + 0x20, 0x4c, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, + 0x32, 0x22, 0x48, 0x09, 0x20, 0x64, 0x85, 0x04, 0x93, 0x22, 0xa4, 0x84, 0x04, 0x93, 0x22, 0xe3, + 0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8a, 0x8c, 0x0b, 0x84, 0xa4, 0x4c, 0x10, 0x78, 0x23, 0x00, + 0x25, 0x00, 0x14, 0x66, 0x00, 0xe6, 0x08, 0xc0, 0x60, 0x8e, 0x00, 0x29, 0xc6, 0x20, 0x84, 0x14, + 0x42, 0xa6, 0x18, 0x84, 0x10, 0x52, 0x08, 0xa1, 0x62, 0x00, 0x42, 0x48, 0x19, 0xa4, 0x8a, 0x01, + 0x08, 0x21, 0x85, 0x10, 0x3b, 0x6a, 0xb8, 0xfc, 0x09, 0x7b, 0x08, 0xc9, 0xe7, 0x36, 0xaa, 0x58, + 0x89, 0xc9, 0x2f, 0x6e, 0x1b, 0x11, 0x63, 0x8c, 0x41, 0xe5, 0x9e, 0xe1, 0xf2, 0x27, 0xec, 0x21, + 0x24, 0x3f, 0x04, 0x9a, 0x61, 0x21, 0x50, 0xf0, 0x0a, 0xe1, 0x08, 0x24, 0x14, 0x4b, 0x31, 0xc8, + 0x18, 0x83, 0xe6, 0x1c, 0x41, 0x50, 0x0c, 0x48, 0x0a, 0x21, 0x95, 0xec, 0x40, 0xc0, 0x30, 0x02, + 0x31, 0x24, 0x41, 0x3e, 0x30, 0x38, 0x1c, 0x69, 0x5a, 0x00, 0xcc, 0xa1, 0x26, 0x7f, 0xc2, 0x1e, + 0xe2, 0x7f, 0x11, 0xc2, 0x7a, 0x9c, 0x68, 0x72, 0x1b, 0xa4, 0x70, 0x22, 0x46, 0x42, 0x81, 0xa6, + 0x9d, 0x17, 0x04, 0x00, 0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87, 0x36, 0x68, 0x87, 0x79, 0x68, 0x03, 0x72, 0xc0, 0x87, 0x0d, 0xaf, 0x50, 0x0e, 0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x78, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, @@ -189,40 +112,66 @@ static const Uint8 PositionColor_vert_dxil[4400] = { 0x07, 0x76, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x43, 0x9e, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x3c, 0x06, 0x10, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x10, 0x20, 0x00, 0x04, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf2, 0x34, 0x40, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x30, 0xe4, 0x79, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, - 0xc8, 0x23, 0x01, 0x01, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x16, 0x08, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, - 0xc6, 0x04, 0x43, 0x22, 0x25, 0x30, 0x02, 0x50, 0x10, 0xc5, 0x50, 0x80, 0x01, 0x65, 0x50, 0x0e, - 0x45, 0x50, 0x1e, 0x54, 0x4a, 0x62, 0x04, 0xa0, 0x0c, 0x0a, 0xa1, 0x08, 0x08, 0xcf, 0x00, 0x50, - 0x1e, 0xcb, 0x61, 0x18, 0x10, 0x1f, 0x40, 0x7c, 0x00, 0xf1, 0x01, 0x80, 0xc0, 0x00, 0x14, 0x80, - 0x40, 0x20, 0x10, 0x00, 0x79, 0x18, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, - 0x46, 0x02, 0x13, 0xc4, 0x31, 0x20, 0xc3, 0x1b, 0x43, 0x81, 0x93, 0x4b, 0xb3, 0x0b, 0xa3, 0x2b, - 0x4b, 0x01, 0x89, 0x71, 0xc1, 0x71, 0x81, 0x71, 0xa1, 0xb9, 0xc1, 0xc9, 0x01, 0x41, 0x11, 0xa3, - 0xb9, 0x89, 0x89, 0xc1, 0x99, 0xc9, 0x29, 0x4b, 0xd9, 0x10, 0x04, 0x13, 0x04, 0xc2, 0x98, 0x20, - 0x10, 0xc7, 0x06, 0x61, 0x20, 0x26, 0x08, 0x04, 0xb2, 0x41, 0x18, 0x0c, 0x0a, 0x76, 0x73, 0x13, - 0x04, 0x22, 0xd9, 0x30, 0x20, 0x09, 0x31, 0x41, 0xc0, 0x28, 0x02, 0x13, 0x04, 0x42, 0xd9, 0x80, - 0x10, 0x0b, 0x33, 0x10, 0x43, 0x03, 0x6c, 0x08, 0x9c, 0x0d, 0x04, 0x00, 0x3c, 0xc0, 0x04, 0x21, - 0xab, 0x36, 0x04, 0xd1, 0x04, 0x41, 0x00, 0x48, 0xb4, 0x85, 0xa5, 0xb9, 0x11, 0xa1, 0x2a, 0xc2, - 0x1a, 0x7a, 0x7a, 0x92, 0x22, 0x9a, 0x20, 0x14, 0xcf, 0x04, 0xa1, 0x80, 0x36, 0x04, 0xc4, 0x04, - 0xa1, 0x88, 0x26, 0x08, 0xc4, 0x32, 0x41, 0x20, 0x98, 0x0d, 0x82, 0xb6, 0x6d, 0x58, 0x88, 0xca, - 0xba, 0xb0, 0x6b, 0xc8, 0x88, 0x8b, 0xdb, 0x10, 0x0c, 0x1b, 0x96, 0xa1, 0xb2, 0x2e, 0xef, 0x1a, - 0xb2, 0xe1, 0xe2, 0x26, 0x08, 0x44, 0xb3, 0x21, 0x00, 0x83, 0x09, 0x42, 0x21, 0x4d, 0x10, 0x08, - 0x67, 0x83, 0xa0, 0x8d, 0xc1, 0x86, 0x05, 0x0c, 0x2a, 0xeb, 0x0a, 0x83, 0x6b, 0x10, 0x03, 0x30, - 0xb8, 0xc8, 0x60, 0xc3, 0xd0, 0x7d, 0x65, 0x30, 0x41, 0x28, 0xa6, 0x0d, 0x0b, 0x51, 0x59, 0x17, - 0x76, 0x06, 0x83, 0x18, 0x10, 0x17, 0x19, 0x6c, 0x58, 0x86, 0xca, 0xba, 0xbc, 0x33, 0x18, 0xb2, - 0xe1, 0xe2, 0xb8, 0x4c, 0x59, 0x7d, 0x41, 0xbd, 0xcd, 0xa5, 0xd1, 0xa5, 0xbd, 0xb9, 0x6d, 0x58, - 0xc0, 0x40, 0x0d, 0xac, 0x0c, 0x13, 0x83, 0x41, 0x0c, 0xc0, 0xe0, 0x22, 0x83, 0x0d, 0x03, 0x1a, - 0xa4, 0xc1, 0x1a, 0x6c, 0x18, 0xcc, 0x80, 0x0d, 0x80, 0x0d, 0xc5, 0x44, 0xb5, 0x01, 0x04, 0x54, - 0x61, 0x63, 0xb3, 0x6b, 0x73, 0x49, 0x23, 0x2b, 0x73, 0xa3, 0x9b, 0x12, 0x04, 0x55, 0xc8, 0xf0, - 0x5c, 0xec, 0xca, 0xe4, 0xe6, 0xd2, 0xde, 0xdc, 0xa6, 0x04, 0x44, 0x13, 0x32, 0x3c, 0x17, 0xbb, - 0x30, 0x36, 0xbb, 0x32, 0xb9, 0x29, 0x81, 0x51, 0x87, 0x0c, 0xcf, 0x65, 0x0e, 0x2d, 0x8c, 0xac, - 0x4c, 0xae, 0xe9, 0x8d, 0xac, 0x8c, 0x6d, 0x4a, 0x90, 0x94, 0x21, 0xc3, 0x73, 0x91, 0x2b, 0x9b, - 0x7b, 0xab, 0x93, 0x1b, 0x2b, 0x9b, 0x9b, 0x12, 0x3c, 0x75, 0xc8, 0xf0, 0x5c, 0xec, 0xd2, 0xca, - 0xee, 0x92, 0xc8, 0xa6, 0xe8, 0xc2, 0xe8, 0xca, 0xa6, 0x04, 0x51, 0x1d, 0x32, 0x3c, 0x97, 0x32, - 0x37, 0x3a, 0xb9, 0x3c, 0xa8, 0xb7, 0x34, 0x37, 0xba, 0xb9, 0x29, 0x41, 0x1b, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x3c, 0x06, 0x10, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x10, 0x20, 0x00, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf2, 0x28, 0x40, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x30, 0xe4, 0x61, 0x80, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, + 0xc8, 0x13, 0x01, 0x01, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x90, 0x67, 0x02, + 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x21, 0x8f, 0x05, 0x04, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x20, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x32, 0x1e, 0x98, 0x18, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22, + 0x25, 0x30, 0x02, 0x50, 0x0c, 0x05, 0x18, 0x50, 0x04, 0x85, 0x50, 0x06, 0xe5, 0x50, 0x12, 0xe5, + 0x51, 0x0a, 0x05, 0x51, 0x8c, 0x01, 0xc5, 0x51, 0x24, 0x54, 0x4a, 0x62, 0x04, 0xa0, 0x0c, 0x0a, + 0xa1, 0x14, 0x4a, 0xa0, 0x08, 0x68, 0xcf, 0x00, 0x10, 0x9f, 0x01, 0xa0, 0x3e, 0xd6, 0x55, 0x61, + 0x20, 0x08, 0x8a, 0x0f, 0x08, 0x82, 0xe4, 0x03, 0x82, 0x20, 0xfa, 0x00, 0x81, 0x40, 0x00, 0x10, + 0x18, 0x80, 0x02, 0x48, 0x80, 0x08, 0x00, 0x00, 0x20, 0x48, 0x80, 0x20, 0x02, 0x00, 0x08, 0x00, + 0x79, 0x18, 0x00, 0x00, 0xba, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0xc4, + 0x8f, 0x0c, 0x6f, 0x0c, 0x05, 0x4e, 0x2e, 0xcd, 0x2e, 0x8c, 0xae, 0x2c, 0x05, 0x24, 0xc6, 0x05, + 0xc7, 0x05, 0xc6, 0x25, 0x06, 0x04, 0x05, 0x46, 0xac, 0x2c, 0x2c, 0xec, 0xc6, 0xe6, 0x26, 0x65, + 0x43, 0x10, 0x4c, 0x10, 0x08, 0x64, 0x82, 0x40, 0x24, 0x1b, 0x84, 0x81, 0xd8, 0x20, 0x10, 0x04, + 0x05, 0xbb, 0xb9, 0x09, 0x02, 0xa1, 0x6c, 0x18, 0x0e, 0x84, 0x98, 0x20, 0x70, 0x1f, 0x2b, 0xba, + 0x3c, 0xb8, 0xb2, 0x2f, 0xab, 0xb4, 0xb2, 0x3b, 0xb8, 0x37, 0x39, 0xba, 0x2a, 0xb7, 0x34, 0xb3, + 0x37, 0xb9, 0xb6, 0xb9, 0x09, 0x02, 0xb1, 0x6c, 0x40, 0x08, 0x65, 0x19, 0x88, 0x81, 0x01, 0x36, + 0x04, 0xcd, 0x06, 0x02, 0x00, 0x1c, 0x60, 0x82, 0xb0, 0x79, 0xe4, 0xac, 0xd2, 0xca, 0xee, 0xe0, + 0xde, 0xe4, 0xe8, 0xaa, 0xdc, 0xd2, 0xcc, 0xde, 0xe4, 0xda, 0xe6, 0xbe, 0xe0, 0xca, 0xe4, 0xe6, + 0xe0, 0xca, 0xc6, 0xe8, 0xd2, 0xec, 0xca, 0x26, 0x08, 0x04, 0x33, 0x41, 0x20, 0x9a, 0x0d, 0xc3, + 0x34, 0x49, 0x13, 0x04, 0xc2, 0x99, 0x20, 0x10, 0xcf, 0x04, 0x81, 0x80, 0x36, 0x20, 0x48, 0x24, + 0x51, 0x15, 0x61, 0x5d, 0x1b, 0x04, 0x06, 0xdb, 0x30, 0x10, 0x50, 0x36, 0x41, 0x10, 0x80, 0x0d, + 0xc0, 0x86, 0x81, 0xe0, 0xb8, 0x0d, 0x41, 0xb7, 0x61, 0x18, 0x36, 0x6f, 0x82, 0xd0, 0x81, 0xc1, + 0x86, 0x00, 0x0c, 0x48, 0xb4, 0x85, 0xa5, 0xb9, 0x11, 0xa1, 0x2a, 0xc2, 0x1a, 0x7a, 0x7a, 0x92, + 0x22, 0x9a, 0x20, 0x14, 0xd7, 0x04, 0xa1, 0xc0, 0x36, 0x04, 0xc4, 0x04, 0xa1, 0xc8, 0x36, 0x08, + 0x95, 0xb5, 0x61, 0x21, 0xc6, 0x80, 0x0c, 0xca, 0xc0, 0x0c, 0xca, 0x60, 0x38, 0x03, 0xa2, 0x0c, + 0xd0, 0x60, 0x43, 0x30, 0x6c, 0x58, 0x86, 0x31, 0x20, 0x83, 0x32, 0x50, 0x83, 0x32, 0x18, 0xce, + 0x60, 0x28, 0x03, 0x34, 0xd8, 0x10, 0x48, 0x13, 0x84, 0x42, 0x9b, 0x20, 0x10, 0xd1, 0x06, 0xa1, + 0x72, 0x83, 0x0d, 0x8b, 0x34, 0x06, 0x64, 0x50, 0x06, 0x6c, 0x50, 0x06, 0x43, 0x1b, 0x48, 0x65, + 0xf0, 0x06, 0x13, 0x84, 0x62, 0xdb, 0x10, 0x54, 0x13, 0x84, 0x82, 0xdb, 0x20, 0x54, 0xc3, 0x86, + 0xa5, 0x1a, 0x83, 0x38, 0x28, 0x03, 0x39, 0x28, 0x83, 0x61, 0x0e, 0xaa, 0x32, 0xa0, 0x83, 0x0d, + 0xc1, 0x34, 0x41, 0x28, 0xba, 0x0d, 0x42, 0x55, 0x6d, 0x58, 0xa6, 0x31, 0x20, 0x83, 0x32, 0xb0, + 0x83, 0x32, 0x18, 0xee, 0x60, 0x2a, 0x03, 0x3c, 0x98, 0x20, 0x10, 0xd2, 0x86, 0x40, 0x0f, 0x36, + 0x2c, 0x7a, 0x30, 0x06, 0x64, 0x50, 0x06, 0x7b, 0x50, 0x06, 0xc3, 0x1c, 0xe8, 0x41, 0x19, 0xd0, + 0xc1, 0x06, 0x23, 0x0d, 0xd6, 0x00, 0x0e, 0xea, 0x20, 0x0f, 0xf8, 0x60, 0xc3, 0x42, 0x8c, 0x01, + 0x19, 0x94, 0x81, 0x19, 0xdc, 0xc1, 0x70, 0x06, 0x44, 0x19, 0xa0, 0xc1, 0x86, 0x65, 0x18, 0x03, + 0x32, 0x28, 0x03, 0x35, 0xb8, 0x83, 0xa1, 0x0d, 0x86, 0x32, 0x78, 0x83, 0x0d, 0x8b, 0x34, 0x06, + 0x71, 0x50, 0x06, 0x6c, 0x30, 0x07, 0xc3, 0x1c, 0x48, 0x65, 0x40, 0x07, 0x1b, 0x96, 0x6a, 0x0c, + 0xc8, 0xa0, 0x0c, 0xe4, 0xe0, 0x0e, 0x86, 0x3b, 0xa8, 0xca, 0x00, 0x0f, 0x36, 0x2c, 0xd3, 0x18, + 0x90, 0x41, 0x19, 0xd8, 0xc1, 0x1d, 0x0c, 0x73, 0x40, 0x9c, 0x01, 0x1d, 0x6c, 0x58, 0xf4, 0x60, + 0x0c, 0xc8, 0xa0, 0x0c, 0xf6, 0xe0, 0x0e, 0x86, 0x33, 0x98, 0xca, 0x00, 0x0d, 0xb8, 0x4c, 0x59, + 0x7d, 0x41, 0xbd, 0xcd, 0xa5, 0xd1, 0xa5, 0xbd, 0xb9, 0x6d, 0x58, 0x10, 0x52, 0x20, 0x83, 0x33, + 0x30, 0x83, 0x36, 0x18, 0xda, 0x40, 0x0f, 0xca, 0xe0, 0x0d, 0x36, 0x1c, 0x7e, 0xf0, 0x07, 0xa0, + 0x10, 0x0a, 0xa2, 0x30, 0x0a, 0xa5, 0xb0, 0x61, 0xe8, 0x03, 0x53, 0x00, 0x36, 0x14, 0x9b, 0x18, + 0x9c, 0xc2, 0x03, 0xd0, 0x30, 0x63, 0x7b, 0x0b, 0xa3, 0x9b, 0x9b, 0x20, 0x10, 0x13, 0x8b, 0x34, + 0xb7, 0x39, 0xba, 0xb9, 0x09, 0x02, 0x41, 0xd1, 0x98, 0x4b, 0x3b, 0xfb, 0x62, 0x23, 0x9b, 0x20, + 0x10, 0x15, 0x8d, 0xb9, 0xb4, 0xb3, 0xaf, 0x39, 0xba, 0x09, 0x02, 0x61, 0x6d, 0x40, 0x52, 0x41, + 0x15, 0x56, 0x81, 0x15, 0x5a, 0xc1, 0x15, 0x5e, 0x01, 0x16, 0xaa, 0xb0, 0xb1, 0xd9, 0xb5, 0xb9, + 0xa4, 0x91, 0x95, 0xb9, 0xd1, 0x4d, 0x09, 0x82, 0x2a, 0x64, 0x78, 0x2e, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x53, 0x02, 0xa2, 0x09, 0x19, 0x9e, 0x8b, 0x5d, 0x18, 0x9b, 0x5d, 0x99, 0xdc, + 0x94, 0xa0, 0xa8, 0x43, 0x86, 0xe7, 0x32, 0x87, 0x16, 0x46, 0x56, 0x26, 0xd7, 0xf4, 0x46, 0x56, + 0xc6, 0x36, 0x25, 0x40, 0xca, 0x90, 0xe1, 0xb9, 0xc8, 0x95, 0xcd, 0xbd, 0xd5, 0xc9, 0x8d, 0x95, + 0xcd, 0x4d, 0x09, 0x9c, 0x4a, 0x64, 0x78, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x41, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x84, 0xcc, 0xab, 0x43, 0x86, 0xe7, 0x62, 0x97, + 0x56, 0x76, 0x97, 0x44, 0x36, 0x45, 0x17, 0x46, 0x57, 0x36, 0x25, 0x00, 0x83, 0x3a, 0x64, 0x78, + 0x2e, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x53, 0x82, 0x53, 0xe8, + 0x42, 0x86, 0xe7, 0x32, 0xf6, 0x56, 0xe7, 0x46, 0x57, 0x26, 0x37, 0x37, 0x25, 0x80, 0x05, 0x00, 0x79, 0x18, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c, 0x42, 0x1e, @@ -242,56 +191,176 @@ static const Uint8 PositionColor_vert_dxil[4400] = { 0x94, 0xc3, 0x2f, 0xbc, 0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x8c, 0xc8, 0x21, 0x07, 0x7c, 0x70, 0x03, 0x72, 0x10, 0x87, 0x73, 0x70, 0x03, 0x7b, 0x08, 0x07, 0x79, 0x60, 0x87, 0x70, 0xc8, 0x87, 0x77, 0xa8, 0x07, 0x7a, 0x98, 0x81, 0x3c, 0xe4, 0x80, 0x0f, 0x6e, 0x40, - 0x0f, 0xe5, 0xd0, 0x0e, 0xf0, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, - 0x36, 0xb0, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x10, 0x50, 0x45, 0x41, 0x44, 0xa5, 0x03, 0x0c, 0x25, - 0x61, 0x00, 0x02, 0xe6, 0x17, 0xb7, 0x6d, 0x05, 0xd2, 0x70, 0xf9, 0xce, 0xe3, 0x0b, 0x11, 0x01, + 0x0f, 0xe5, 0xd0, 0x0e, 0xf0, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, + 0x56, 0xb0, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x10, 0x50, 0x45, 0x41, 0x44, 0xa5, 0x03, 0x0c, 0x25, + 0x61, 0x00, 0x02, 0xe6, 0x17, 0xb7, 0x6d, 0x07, 0xd2, 0x70, 0xf9, 0xce, 0xe3, 0x0b, 0x11, 0x01, 0x4c, 0x44, 0x08, 0x34, 0xc3, 0x42, 0x58, 0xc0, 0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x8b, 0x03, 0x0c, - 0x62, 0xf3, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x09, 0x54, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x4d, 0x4e, - 0x44, 0xa0, 0xd4, 0xf4, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x11, 0x48, 0xc3, 0xe5, 0x3b, 0x8f, 0x3f, - 0x11, 0xd1, 0x84, 0x00, 0x11, 0xe6, 0x17, 0xb7, 0x6d, 0x00, 0x04, 0x03, 0x20, 0x0d, 0x00, 0x00, - 0x61, 0x20, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x13, 0x04, 0x41, 0x2c, 0x10, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x00, 0x00, 0x44, 0x4a, 0xa1, 0x10, 0x66, 0x00, 0x8a, 0xab, 0xec, 0x4a, 0x8e, 0x4a, - 0x09, 0x50, 0x1c, 0x01, 0x00, 0x00, 0x00, 0x00, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x20, 0x65, - 0xc3, 0x72, 0x5d, 0xc1, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x1e, 0x22, 0x61, 0xcf, 0x31, - 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0xc6, 0x97, 0x4c, 0x19, 0x81, 0x8c, 0x18, 0x24, 0x00, 0x08, - 0x82, 0x81, 0x01, 0x06, 0x0a, 0xa5, 0x39, 0xc9, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x61, - 0xb0, 0x54, 0x5b, 0xa4, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x21, 0x06, 0x4c, 0xc7, 0x4d, - 0xcb, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x63, 0xd0, 0x78, 0x1d, 0xc2, 0x8c, 0x18, 0x24, - 0x00, 0x08, 0x82, 0x81, 0x41, 0x06, 0xce, 0xe7, 0x49, 0xcd, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, - 0x18, 0x65, 0xf0, 0x7c, 0x9f, 0xe5, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x61, 0x06, 0x10, - 0x18, 0x80, 0xc1, 0xf2, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x71, 0x06, 0x51, 0x18, 0x84, - 0x41, 0x05, 0x8d, 0x18, 0x1c, 0x00, 0x08, 0x82, 0x41, 0x63, 0x06, 0xcf, 0x22, 0x06, 0xa3, 0x09, - 0x01, 0x30, 0x9a, 0x20, 0x04, 0xa3, 0x09, 0x83, 0x30, 0x9a, 0x40, 0x0c, 0x23, 0x06, 0x07, 0x00, - 0x82, 0x60, 0xd0, 0xac, 0x01, 0x05, 0xa1, 0xc1, 0x68, 0x42, 0x00, 0x8c, 0x26, 0x08, 0xc1, 0x68, - 0xc2, 0x20, 0x8c, 0x26, 0x10, 0xc3, 0x88, 0xc1, 0x01, 0x80, 0x20, 0x18, 0x34, 0x70, 0x90, 0x55, - 0x66, 0x30, 0x9a, 0x10, 0x00, 0xa3, 0x09, 0x42, 0x30, 0x9a, 0x30, 0x08, 0xa3, 0x09, 0xc4, 0x30, - 0x62, 0x70, 0x00, 0x20, 0x08, 0x06, 0x4d, 0x1d, 0x78, 0x5a, 0x1b, 0x8c, 0x26, 0x04, 0xc0, 0x68, - 0x82, 0x10, 0x8c, 0x26, 0x0c, 0xc2, 0x68, 0x02, 0x31, 0xd8, 0x74, 0xc9, 0x67, 0xc4, 0x00, 0x01, - 0x40, 0x10, 0x0c, 0x1e, 0x3d, 0x28, 0x83, 0xe7, 0x0a, 0x46, 0x0c, 0x10, 0x00, 0x04, 0xc1, 0xe0, - 0xd9, 0x03, 0x33, 0x58, 0xae, 0xc0, 0x82, 0x03, 0x3a, 0x66, 0x6d, 0xf2, 0x19, 0x31, 0x40, 0x00, - 0x10, 0x04, 0x83, 0xc7, 0x0f, 0xd2, 0x40, 0xda, 0x82, 0x11, 0x03, 0x04, 0x00, 0x41, 0x30, 0x78, - 0xfe, 0x40, 0x0d, 0x9c, 0x2d, 0xb0, 0x40, 0x81, 0x8e, 0x65, 0x9f, 0x7c, 0x46, 0x0c, 0x10, 0x00, - 0x04, 0xc1, 0xe0, 0x11, 0x85, 0x36, 0xa8, 0xbe, 0x60, 0xc4, 0x00, 0x01, 0x40, 0x10, 0x0c, 0x9e, - 0x51, 0x70, 0x83, 0xe8, 0x0b, 0x2c, 0x68, 0xa0, 0x63, 0xdc, 0x18, 0xc8, 0x67, 0xc4, 0x00, 0x01, - 0x40, 0x10, 0x0c, 0x1e, 0x53, 0x88, 0x03, 0x6c, 0x0c, 0x82, 0x11, 0x03, 0x04, 0x00, 0x41, 0x30, - 0x78, 0x4e, 0x41, 0x0e, 0xa8, 0x31, 0x08, 0x2c, 0x80, 0xa0, 0x33, 0x62, 0x90, 0x00, 0x20, 0x08, - 0x06, 0xc8, 0x2a, 0xdc, 0x81, 0x29, 0x98, 0x42, 0x1f, 0xb8, 0xc1, 0x88, 0x41, 0x02, 0x80, 0x20, - 0x18, 0x20, 0xab, 0x70, 0x07, 0xa6, 0x60, 0x0a, 0x71, 0xd0, 0x06, 0x23, 0x06, 0x09, 0x00, 0x82, - 0x60, 0x80, 0xac, 0xc2, 0x1d, 0x98, 0x82, 0x29, 0xe8, 0x01, 0x1b, 0x8c, 0x18, 0x24, 0x00, 0x08, - 0x82, 0x01, 0xb2, 0x0a, 0x77, 0x60, 0x0a, 0xa6, 0xc0, 0x07, 0x6b, 0x30, 0x62, 0x90, 0x00, 0x20, - 0x08, 0x06, 0xc8, 0x2a, 0xdc, 0xc1, 0x29, 0x98, 0x42, 0x1f, 0xa8, 0xc1, 0x88, 0x41, 0x02, 0x80, - 0x20, 0x18, 0x20, 0xab, 0x70, 0x07, 0xa7, 0x60, 0x0a, 0x71, 0x90, 0x06, 0x23, 0x06, 0x09, 0x00, - 0x82, 0x60, 0x80, 0xac, 0xc2, 0x1d, 0x9c, 0x82, 0x29, 0xe8, 0x01, 0x1a, 0x8c, 0x18, 0x24, 0x00, - 0x08, 0x82, 0x01, 0xb2, 0x0a, 0x77, 0x00, 0x0a, 0xa6, 0xd0, 0x07, 0xcd, 0x88, 0x41, 0x02, 0x80, - 0x20, 0x18, 0x20, 0xab, 0x70, 0x07, 0xa0, 0x60, 0x0a, 0x71, 0x90, 0x8c, 0x18, 0x24, 0x00, 0x08, - 0x82, 0x01, 0xb2, 0x0a, 0x77, 0x00, 0x0a, 0xa6, 0xa0, 0x07, 0xc5, 0x88, 0x41, 0x02, 0x80, 0x20, - 0x18, 0x20, 0xab, 0x70, 0x07, 0xa0, 0x60, 0x0a, 0x7c, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x62, 0xf3, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x09, 0x4c, 0xc3, 0xe5, 0x3b, 0x8f, 0xbf, 0x38, 0xc0, + 0x20, 0x36, 0x0f, 0x35, 0xf9, 0xc8, 0x6d, 0xdb, 0x40, 0x35, 0x5c, 0xbe, 0xf3, 0xf8, 0xd2, 0xe4, + 0x44, 0x04, 0x4a, 0x4d, 0x0f, 0x35, 0xf9, 0xc5, 0x6d, 0x1b, 0x41, 0x35, 0x5c, 0xbe, 0xf3, 0xf8, + 0xd2, 0xe4, 0x44, 0x04, 0x4a, 0x4d, 0x0f, 0x35, 0xf9, 0xc8, 0x6d, 0x9b, 0x81, 0x34, 0x5c, 0xbe, + 0xf3, 0xf8, 0x13, 0x11, 0x4d, 0x08, 0x10, 0x61, 0x7e, 0x71, 0xdb, 0x06, 0x40, 0x30, 0x00, 0xd2, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x41, 0x53, 0x48, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3b, 0xf2, 0x67, 0x41, 0x2d, 0xc4, 0x3b, 0x4b, 0xbd, 0x62, 0x7e, 0x0f, + 0x0e, 0xcd, 0xf5, 0x86, 0x44, 0x58, 0x49, 0x4c, 0x80, 0x09, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, + 0x60, 0x02, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x68, 0x09, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0x57, 0x02, 0x00, 0x00, + 0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91, + 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19, + 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x14, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42, 0xa4, 0x10, 0x32, 0x14, + 0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x52, 0x88, 0x48, 0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5, + 0x00, 0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90, 0x91, 0x22, 0xc4, 0x50, 0x41, 0x51, 0x81, 0x8c, + 0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x29, 0x46, 0x06, 0x51, 0x18, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x40, 0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff, 0xff, + 0xff, 0xff, 0x03, 0x20, 0x6d, 0x30, 0x86, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x09, 0xa8, 0x00, + 0x49, 0x18, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x82, 0x60, 0x42, 0x20, 0x4c, 0x08, 0x06, + 0x00, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x32, 0x22, 0x48, 0x09, + 0x20, 0x64, 0x85, 0x04, 0x93, 0x22, 0xa4, 0x84, 0x04, 0x93, 0x22, 0xe3, 0x84, 0xa1, 0x90, 0x14, + 0x12, 0x4c, 0x8a, 0x8c, 0x0b, 0x84, 0xa4, 0x4c, 0x10, 0x78, 0x23, 0x00, 0x25, 0x00, 0x14, 0x66, + 0x00, 0xe6, 0x08, 0xc0, 0x60, 0x8e, 0x00, 0x29, 0xc6, 0x20, 0x84, 0x14, 0x42, 0xa6, 0x18, 0x84, + 0x10, 0x52, 0x08, 0xa1, 0x62, 0x00, 0x42, 0x48, 0x19, 0xa4, 0x8a, 0x01, 0x08, 0x21, 0x85, 0x10, + 0x3b, 0x6a, 0xb8, 0xfc, 0x09, 0x7b, 0x08, 0xc9, 0xe7, 0x36, 0xaa, 0x58, 0x89, 0xc9, 0x2f, 0x6e, + 0x1b, 0x11, 0x63, 0x8c, 0x41, 0xe5, 0x9e, 0xe1, 0xf2, 0x27, 0xec, 0x21, 0x24, 0x3f, 0x04, 0x9a, + 0x61, 0x21, 0x50, 0xf0, 0x0a, 0xe1, 0x08, 0x24, 0x14, 0x4b, 0x31, 0xc8, 0x18, 0x83, 0xe6, 0x1c, + 0x41, 0x50, 0x0c, 0x48, 0x0a, 0x21, 0x95, 0xec, 0x40, 0xc0, 0x30, 0x02, 0x31, 0x24, 0x41, 0x3e, + 0x30, 0x38, 0x1c, 0x69, 0x5a, 0x00, 0xcc, 0xa1, 0x26, 0x7f, 0xc2, 0x1e, 0xe2, 0x7f, 0x11, 0xc2, + 0x7a, 0x9c, 0x68, 0x72, 0x1b, 0xa4, 0x70, 0x22, 0x46, 0x42, 0x81, 0xa6, 0x9d, 0x17, 0x04, 0x00, + 0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87, 0x36, 0x68, 0x87, 0x79, 0x68, 0x03, 0x72, 0xc0, + 0x87, 0x0d, 0xaf, 0x50, 0x0e, 0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a, 0x30, + 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20, 0x07, + 0x6d, 0x90, 0x0e, 0x78, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a, + 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe9, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, + 0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, 0xd0, 0x06, 0xe6, 0x10, 0x07, 0x76, 0xa0, 0x07, + 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe6, + 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60, + 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x43, 0x9e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x3c, 0x06, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x10, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x18, 0xf2, 0x28, 0x40, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xe4, + 0x61, 0x80, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xc8, 0x13, 0x01, 0x01, + 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x90, 0x67, 0x02, 0x02, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x21, 0x8f, 0x05, 0x04, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x59, 0x20, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14, + 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22, 0x25, 0x30, 0x02, 0x50, + 0x12, 0xc5, 0x50, 0x80, 0x01, 0x65, 0x50, 0x0e, 0x45, 0x50, 0x1e, 0x85, 0x50, 0x0a, 0x54, 0x4a, + 0x62, 0x04, 0xa0, 0x0c, 0x0a, 0xa1, 0x14, 0x4a, 0xa0, 0x08, 0x88, 0xcf, 0x00, 0x50, 0x1f, 0xeb, + 0xaa, 0x30, 0x10, 0x04, 0xc5, 0x07, 0x04, 0x41, 0xf2, 0x01, 0x41, 0x10, 0x7d, 0x80, 0x40, 0x20, + 0x00, 0x08, 0x0c, 0x40, 0x01, 0x24, 0x40, 0x04, 0x00, 0x00, 0x10, 0x24, 0x40, 0x10, 0x01, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, + 0x46, 0x02, 0x13, 0xc4, 0x8f, 0x0c, 0x6f, 0x0c, 0x05, 0x4e, 0x2e, 0xcd, 0x2e, 0x8c, 0xae, 0x2c, + 0x05, 0x24, 0xc6, 0x05, 0xc7, 0x05, 0xc6, 0x25, 0x06, 0x04, 0x05, 0x46, 0xac, 0x2c, 0x2c, 0xec, + 0xc6, 0xe6, 0x26, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x08, 0x64, 0x82, 0x40, 0x24, 0x1b, 0x84, 0x81, + 0x98, 0x20, 0x10, 0xca, 0x06, 0x61, 0x30, 0x28, 0xd8, 0xcd, 0x4d, 0x10, 0x88, 0x65, 0xc3, 0x80, + 0x24, 0xc4, 0x04, 0x81, 0xd3, 0x08, 0x4c, 0x10, 0x08, 0x66, 0x03, 0x42, 0x2c, 0xcc, 0x40, 0x0c, + 0x0d, 0xb0, 0x21, 0x70, 0x36, 0x10, 0x00, 0xf0, 0x00, 0x13, 0x84, 0x6e, 0xdb, 0x10, 0x44, 0x13, + 0x04, 0x01, 0x20, 0xd1, 0x16, 0x96, 0xe6, 0x46, 0x84, 0xaa, 0x08, 0x6b, 0xe8, 0xe9, 0x49, 0x8a, + 0x68, 0x82, 0x50, 0x4c, 0x13, 0x84, 0x82, 0xda, 0x10, 0x10, 0x13, 0x84, 0xa2, 0x9a, 0x20, 0x10, + 0xcd, 0x04, 0x81, 0x70, 0x36, 0x08, 0xda, 0xb6, 0x61, 0x21, 0x2a, 0xeb, 0xc2, 0xae, 0x21, 0x23, + 0x2e, 0x6e, 0x43, 0x30, 0x6c, 0x58, 0x86, 0xca, 0xba, 0xbc, 0x6b, 0xc8, 0x86, 0x8b, 0x9b, 0x20, + 0x10, 0xcf, 0x86, 0x00, 0x0c, 0x26, 0x08, 0x85, 0x35, 0x41, 0x20, 0xa0, 0x0d, 0x82, 0x36, 0x06, + 0x1b, 0x16, 0x30, 0xa8, 0xac, 0x2b, 0x0c, 0xae, 0x41, 0x0c, 0xc0, 0xe0, 0x22, 0x83, 0x09, 0x42, + 0x71, 0x6d, 0x08, 0xb4, 0x09, 0x42, 0x81, 0x6d, 0x10, 0xb4, 0x61, 0xc3, 0xa2, 0x55, 0x66, 0x70, + 0x9d, 0xc1, 0x35, 0xa0, 0x81, 0x76, 0xa5, 0xc1, 0x04, 0x81, 0x88, 0x36, 0x04, 0x6b, 0x30, 0x41, + 0x28, 0xb2, 0x0d, 0x82, 0xa6, 0x6d, 0x58, 0xd6, 0xa0, 0xb2, 0x2e, 0x36, 0xb8, 0x86, 0x36, 0x58, + 0x83, 0xcb, 0x0d, 0x26, 0x08, 0x84, 0xb4, 0x21, 0x80, 0x83, 0x0d, 0x0b, 0x1c, 0x54, 0xd6, 0x15, + 0x07, 0xd7, 0x80, 0x06, 0x70, 0x70, 0xa5, 0xc1, 0x06, 0xa3, 0xfb, 0xca, 0x40, 0x0d, 0xde, 0x40, + 0x0e, 0x36, 0x2c, 0x44, 0x65, 0x5d, 0x58, 0x1b, 0x0c, 0x19, 0x71, 0x71, 0x1b, 0x96, 0xa1, 0xb2, + 0x2e, 0xaf, 0x0d, 0x06, 0x31, 0x18, 0x2e, 0x32, 0xd8, 0xb0, 0x80, 0x41, 0x65, 0x06, 0x57, 0x18, + 0xa0, 0xc1, 0x80, 0x06, 0x60, 0x70, 0xa5, 0xc1, 0x86, 0x45, 0xab, 0xac, 0xeb, 0x0c, 0xda, 0x60, + 0x68, 0x03, 0xed, 0x72, 0x83, 0x0d, 0xcb, 0x1a, 0x54, 0xd6, 0xc5, 0x06, 0x6d, 0x30, 0xa0, 0x01, + 0x91, 0xa5, 0xc1, 0x86, 0x05, 0x0e, 0x2a, 0xeb, 0x8a, 0x83, 0x36, 0x18, 0xb2, 0x35, 0xb8, 0x38, + 0x2e, 0x53, 0x56, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1b, 0x96, 0x44, 0x0f, + 0xac, 0x0c, 0x13, 0x83, 0x41, 0x0c, 0xe0, 0xe0, 0x22, 0x83, 0x0d, 0x07, 0x1d, 0xd4, 0x81, 0x1d, + 0xdc, 0x01, 0x1e, 0xe4, 0xc1, 0x1e, 0x6c, 0x18, 0xe6, 0x80, 0x0f, 0x80, 0x0d, 0xc5, 0x44, 0xf5, + 0x01, 0x04, 0x54, 0x61, 0x63, 0xb3, 0x6b, 0x73, 0x49, 0x23, 0x2b, 0x73, 0xa3, 0x9b, 0x12, 0x04, + 0x55, 0xc8, 0xf0, 0x5c, 0xec, 0xca, 0xe4, 0xe6, 0xd2, 0xde, 0xdc, 0xa6, 0x04, 0x44, 0x13, 0x32, + 0x3c, 0x17, 0xbb, 0x30, 0x36, 0xbb, 0x32, 0xb9, 0x29, 0x81, 0x51, 0x87, 0x0c, 0xcf, 0x65, 0x0e, + 0x2d, 0x8c, 0xac, 0x4c, 0xae, 0xe9, 0x8d, 0xac, 0x8c, 0x6d, 0x4a, 0x90, 0x94, 0x21, 0xc3, 0x73, + 0x91, 0x2b, 0x9b, 0x7b, 0xab, 0x93, 0x1b, 0x2b, 0x9b, 0x9b, 0x12, 0x3c, 0x75, 0xc8, 0xf0, 0x5c, + 0xec, 0xd2, 0xca, 0xee, 0x92, 0xc8, 0xa6, 0xe8, 0xc2, 0xe8, 0xca, 0xa6, 0x04, 0x51, 0x1d, 0x32, + 0x3c, 0x97, 0x32, 0x37, 0x3a, 0xb9, 0x3c, 0xa8, 0xb7, 0x34, 0x37, 0xba, 0xb9, 0x29, 0x41, 0x1f, + 0x00, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, + 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, + 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e, + 0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30, 0x05, 0x3d, 0x88, 0x43, + 0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8, 0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c, + 0x74, 0x70, 0x07, 0x7b, 0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76, + 0x78, 0x87, 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e, 0xe1, 0x30, 0x0f, 0x6e, + 0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e, 0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8, + 0x21, 0x1d, 0xc2, 0x61, 0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4, + 0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76, 0x60, 0x07, 0x7b, 0x68, + 0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07, 0x37, 0x80, 0x87, 0x70, 0x90, 0x87, 0x70, 0x60, 0x07, + 0x76, 0x28, 0x07, 0x76, 0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71, + 0x18, 0x87, 0x72, 0x98, 0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e, 0xee, 0xe0, 0x0e, 0xf5, + 0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4, + 0xa1, 0x1c, 0xdc, 0x61, 0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90, + 0x43, 0x39, 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8, 0xc3, 0x38, 0x94, 0x43, + 0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc, 0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b, + 0xb0, 0xc3, 0x8c, 0xc8, 0x21, 0x07, 0x7c, 0x70, 0x03, 0x72, 0x10, 0x87, 0x73, 0x70, 0x03, 0x7b, + 0x08, 0x07, 0x79, 0x60, 0x87, 0x70, 0xc8, 0x87, 0x77, 0xa8, 0x07, 0x7a, 0x98, 0x81, 0x3c, 0xe4, + 0x80, 0x0f, 0x6e, 0x40, 0x0f, 0xe5, 0xd0, 0x0e, 0xf0, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, + 0x21, 0x00, 0x00, 0x00, 0x56, 0xb0, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x10, 0x50, 0x45, 0x41, 0x44, + 0xa5, 0x03, 0x0c, 0x25, 0x61, 0x00, 0x02, 0xe6, 0x17, 0xb7, 0x6d, 0x07, 0xd2, 0x70, 0xf9, 0xce, + 0xe3, 0x0b, 0x11, 0x01, 0x4c, 0x44, 0x08, 0x34, 0xc3, 0x42, 0x58, 0xc0, 0x34, 0x5c, 0xbe, 0xf3, + 0xf8, 0x8b, 0x03, 0x0c, 0x62, 0xf3, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x09, 0x4c, 0xc3, 0xe5, 0x3b, + 0x8f, 0xbf, 0x38, 0xc0, 0x20, 0x36, 0x0f, 0x35, 0xf9, 0xc8, 0x6d, 0xdb, 0x40, 0x35, 0x5c, 0xbe, + 0xf3, 0xf8, 0xd2, 0xe4, 0x44, 0x04, 0x4a, 0x4d, 0x0f, 0x35, 0xf9, 0xc5, 0x6d, 0x1b, 0x41, 0x35, + 0x5c, 0xbe, 0xf3, 0xf8, 0xd2, 0xe4, 0x44, 0x04, 0x4a, 0x4d, 0x0f, 0x35, 0xf9, 0xc8, 0x6d, 0x9b, + 0x81, 0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x13, 0x11, 0x4d, 0x08, 0x10, 0x61, 0x7e, 0x71, 0xdb, 0x06, + 0x40, 0x30, 0x00, 0xd2, 0x00, 0x00, 0x00, 0x00, 0x61, 0x20, 0x00, 0x00, 0xba, 0x00, 0x00, 0x00, + 0x13, 0x04, 0x41, 0x2c, 0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x44, 0x66, 0x00, 0x8a, + 0xab, 0xec, 0x4a, 0x8e, 0xea, 0x08, 0x00, 0x00, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0x69, + 0x02, 0x82, 0x61, 0xc1, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x61, 0x10, 0x41, 0x99, 0x63, + 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x21, 0x06, 0x92, 0xa4, 0x3d, 0xc7, 0x88, 0x41, 0x02, + 0x80, 0x20, 0x18, 0x18, 0x63, 0x30, 0x4d, 0x1b, 0x83, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x01, + 0x32, 0x06, 0x14, 0xc6, 0x45, 0xc9, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x65, 0x50, 0x5d, + 0x9d, 0xa4, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x61, 0x06, 0x16, 0xe6, 0x3d, 0xcb, 0x88, + 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x67, 0x70, 0x65, 0xdf, 0xc3, 0x8c, 0x18, 0x24, 0x00, 0x08, + 0x82, 0x81, 0x81, 0x06, 0x98, 0x06, 0x06, 0x54, 0x33, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x46, + 0x1a, 0x64, 0x62, 0x10, 0x06, 0x96, 0x33, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x86, 0x1a, 0x68, + 0x63, 0x20, 0x06, 0xd3, 0x33, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0xc6, 0x1a, 0x6c, 0x64, 0x30, + 0x06, 0x13, 0x34, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x06, 0x1b, 0x70, 0x64, 0x40, 0x06, 0x59, + 0x34, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x46, 0x1b, 0x74, 0x65, 0x50, 0x06, 0x96, 0x34, 0x62, + 0x90, 0x00, 0x20, 0x08, 0x06, 0x86, 0x1b, 0x78, 0x66, 0x60, 0x06, 0xd6, 0x34, 0x62, 0x70, 0x00, + 0x20, 0x08, 0x06, 0xd1, 0x1a, 0x48, 0xcf, 0x19, 0x8c, 0x26, 0x04, 0xc0, 0x68, 0x82, 0x10, 0x8c, + 0x26, 0x0c, 0xc2, 0x68, 0x02, 0x31, 0x8c, 0x18, 0x1c, 0x00, 0x08, 0x82, 0x41, 0x04, 0x07, 0x17, + 0xd5, 0x06, 0xa3, 0x09, 0x01, 0x30, 0x9a, 0x20, 0x04, 0xa3, 0x09, 0x83, 0x30, 0x9a, 0x40, 0x0c, + 0x23, 0x06, 0x07, 0x00, 0x82, 0x60, 0x10, 0xd5, 0x01, 0x97, 0xad, 0xc1, 0x68, 0x42, 0x00, 0x8c, + 0x26, 0x08, 0xc1, 0x68, 0xc2, 0x20, 0x8c, 0x26, 0x10, 0xc3, 0x88, 0xc1, 0x01, 0x80, 0x20, 0x18, + 0x44, 0x7a, 0x10, 0x06, 0x9e, 0x1c, 0x8c, 0x26, 0x04, 0xc0, 0x68, 0x82, 0x10, 0x8c, 0x26, 0x0c, + 0xc2, 0x68, 0x02, 0x31, 0xd8, 0x74, 0xc9, 0x67, 0xc4, 0x00, 0x01, 0x40, 0x10, 0x0c, 0xa6, 0x3f, + 0x40, 0x83, 0xe7, 0x0a, 0x46, 0x0c, 0x10, 0x00, 0x04, 0xc1, 0x60, 0x02, 0x85, 0x34, 0x58, 0xae, + 0xc0, 0x82, 0x03, 0x3a, 0x66, 0x6d, 0xf2, 0x19, 0x31, 0x40, 0x00, 0x10, 0x04, 0x83, 0x69, 0x14, + 0xd8, 0x40, 0xda, 0x82, 0x11, 0x03, 0x04, 0x00, 0x41, 0x30, 0x98, 0x48, 0xa1, 0x0d, 0x9c, 0x2d, + 0xb0, 0x40, 0x81, 0x8e, 0x65, 0x9f, 0x7c, 0x46, 0x0c, 0x10, 0x00, 0x04, 0xc1, 0x60, 0x3a, 0x05, + 0x38, 0xa8, 0xbe, 0x60, 0xc4, 0x00, 0x01, 0x40, 0x10, 0x0c, 0x26, 0x54, 0x88, 0x83, 0xe8, 0x0b, + 0x2c, 0x68, 0xa0, 0x63, 0xdc, 0x18, 0xc8, 0x67, 0xc4, 0x00, 0x01, 0x40, 0x10, 0x0c, 0xa6, 0x55, + 0xa0, 0x03, 0x6c, 0x0c, 0x82, 0x11, 0x03, 0x04, 0x00, 0x41, 0x30, 0x98, 0x58, 0xa1, 0x0e, 0xa8, + 0x31, 0x08, 0x2c, 0x80, 0xa0, 0x33, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x4a, 0x2c, 0x88, 0xc2, + 0x2a, 0xac, 0x02, 0x28, 0xa8, 0xc1, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x28, 0xb1, 0x20, 0x0a, + 0xab, 0xb0, 0x0a, 0x7c, 0x90, 0x06, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0xa0, 0xc4, 0x82, 0x28, + 0xac, 0xc2, 0x2a, 0xec, 0x01, 0x1a, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x12, 0x0b, 0xa2, + 0xc0, 0x0a, 0xab, 0x00, 0x0a, 0x6e, 0x30, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x4a, 0x2c, 0x88, + 0x02, 0x2b, 0xac, 0x02, 0x1f, 0xb4, 0xc1, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x28, 0xb1, 0x20, + 0x0a, 0xac, 0xb0, 0x0a, 0x7b, 0xc0, 0x06, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0xa0, 0xc4, 0x82, + 0x28, 0xb0, 0xc2, 0x2a, 0xfc, 0xc1, 0x1a, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x01, 0x03, 0x0b, + 0xa2, 0x50, 0x0a, 0xab, 0x00, 0x0a, 0x6f, 0x30, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x4a, 0x2c, + 0x88, 0xc2, 0x29, 0xac, 0x02, 0x28, 0xc4, 0xc1, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x28, 0xb1, + 0x20, 0x0a, 0xa7, 0xb0, 0x0a, 0x7c, 0x00, 0x07, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0xa0, 0xc4, + 0x82, 0x28, 0x8c, 0xc2, 0x2a, 0x80, 0x82, 0x1c, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x12, + 0x0b, 0xa2, 0x20, 0x0a, 0xab, 0x00, 0x0a, 0x67, 0x30, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x4a, + 0x2c, 0x88, 0x82, 0x28, 0xac, 0x02, 0x1f, 0x98, 0xc1, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x28, + 0xb1, 0x20, 0x0a, 0xa2, 0xb0, 0x0a, 0x7b, 0x50, 0x06, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0xa0, + 0xc4, 0x82, 0x28, 0xa4, 0xc2, 0x2a, 0x80, 0x42, 0x33, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x4a, + 0x2c, 0x88, 0x42, 0x2a, 0xac, 0x02, 0x1f, 0x24, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0xa0, 0xc4, + 0x82, 0x28, 0xa4, 0xc2, 0x2a, 0xec, 0x41, 0x31, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x4a, 0x2c, + 0x88, 0x42, 0x2a, 0xac, 0xc2, 0x1f, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, }; #endif // MSL only makes sense on Apple platforms #if defined(SDL_PLATFORM_APPLE) -static const Uint8 PositionColor_vert_msl[788] = { +static const Uint8 PositionColor_vert_msl[2302] = { 0x23, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x64, 0x6c, 0x69, 0x62, 0x3e, 0x0a, 0x23, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x3c, 0x73, 0x69, 0x6d, 0x64, 0x2f, 0x73, 0x69, 0x6d, 0x64, 0x2e, 0x68, 0x3e, 0x0a, 0x0a, @@ -300,122 +369,338 @@ static const Uint8 PositionColor_vert_msl[788] = { 0x79, 0x70, 0x65, 0x5f, 0x56, 0x69, 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x78, 0x34, 0x20, 0x70, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x3b, - 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x6d, 0x61, 0x69, 0x6e, - 0x30, 0x5f, 0x6f, 0x75, 0x74, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x34, 0x20, 0x6f, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, - 0x4f, 0x52, 0x44, 0x30, 0x20, 0x5b, 0x5b, 0x75, 0x73, 0x65, 0x72, 0x28, 0x6c, 0x6f, 0x63, 0x6e, - 0x30, 0x29, 0x5d, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, + 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x56, 0x53, 0x5f, 0x49, + 0x6e, 0x70, 0x75, 0x74, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x33, 0x20, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x54, 0x65, 0x78, 0x49, 0x64, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x54, 0x65, 0x78, 0x43, + 0x6f, 0x6f, 0x72, 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, + 0x53, 0x68, 0x69, 0x6e, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x46, 0x53, 0x5f, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x0a, 0x7b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x50, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, + 0x20, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x34, 0x20, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, + 0x69, 0x6e, 0x74, 0x20, 0x54, 0x65, 0x78, 0x49, 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x53, 0x68, 0x69, 0x6e, 0x69, 0x6e, + 0x65, 0x73, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, + 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x0a, 0x7d, + 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x30, 0x5f, + 0x6f, 0x75, 0x74, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, + 0x20, 0x6f, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x30, + 0x20, 0x5b, 0x5b, 0x75, 0x73, 0x65, 0x72, 0x28, 0x6c, 0x6f, 0x63, 0x6e, 0x30, 0x29, 0x5d, 0x5d, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x6f, 0x75, 0x74, + 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x30, 0x20, 0x5b, 0x5b, 0x75, 0x73, + 0x65, 0x72, 0x28, 0x6c, 0x6f, 0x63, 0x6e, 0x31, 0x29, 0x5d, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6f, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, + 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x20, 0x5b, 0x5b, 0x75, 0x73, 0x65, 0x72, 0x28, 0x6c, + 0x6f, 0x63, 0x6e, 0x32, 0x29, 0x5d, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x32, 0x20, 0x6f, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, + 0x4f, 0x4f, 0x52, 0x44, 0x31, 0x20, 0x5b, 0x5b, 0x75, 0x73, 0x65, 0x72, 0x28, 0x6c, 0x6f, 0x63, + 0x6e, 0x33, 0x29, 0x5d, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6f, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, - 0x44, 0x31, 0x20, 0x5b, 0x5b, 0x75, 0x73, 0x65, 0x72, 0x28, 0x6c, 0x6f, 0x63, 0x6e, 0x31, 0x29, - 0x5d, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x67, - 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x5b, 0x5b, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5d, 0x5d, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x30, 0x5f, 0x69, 0x6e, 0x0a, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, + 0x44, 0x32, 0x20, 0x5b, 0x5b, 0x75, 0x73, 0x65, 0x72, 0x28, 0x6c, 0x6f, 0x63, 0x6e, 0x34, 0x29, + 0x5d, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x6f, + 0x75, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x33, + 0x20, 0x5b, 0x5b, 0x75, 0x73, 0x65, 0x72, 0x28, 0x6c, 0x6f, 0x63, 0x6e, 0x35, 0x29, 0x5d, 0x5d, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x67, 0x6c, 0x5f, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x5b, 0x5b, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x5d, 0x5d, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x30, 0x5f, 0x69, 0x6e, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x50, + 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x20, 0x5b, 0x5b, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x33, 0x20, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, + 0x41, 0x4c, 0x30, 0x20, 0x5b, 0x5b, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x28, + 0x31, 0x29, 0x5d, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, + 0x20, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x30, 0x20, 0x5b, + 0x5b, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x28, 0x32, 0x29, 0x5d, 0x5d, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x20, 0x5b, 0x5b, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x28, 0x33, 0x29, 0x5d, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x31, 0x20, 0x5b, 0x5b, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x28, 0x31, 0x29, 0x5d, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, - 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, - 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x32, 0x20, 0x5b, 0x5b, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x28, 0x32, 0x29, 0x5d, 0x5d, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x76, 0x65, 0x72, - 0x74, 0x65, 0x78, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x30, 0x5f, 0x6f, 0x75, 0x74, 0x20, 0x6d, 0x61, - 0x69, 0x6e, 0x30, 0x28, 0x6d, 0x61, 0x69, 0x6e, 0x30, 0x5f, 0x69, 0x6e, 0x20, 0x69, 0x6e, 0x20, - 0x5b, 0x5b, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x5d, 0x5d, 0x2c, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x56, 0x69, 0x65, 0x77, - 0x70, 0x6f, 0x72, 0x74, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x26, 0x20, 0x56, 0x69, - 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x20, 0x5b, - 0x5b, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x29, 0x0a, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x30, 0x5f, 0x6f, 0x75, 0x74, 0x20, 0x6f, 0x75, - 0x74, 0x20, 0x3d, 0x20, 0x7b, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x75, 0x74, 0x2e, - 0x6f, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, - 0x30, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, - 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x75, 0x74, - 0x2e, 0x6f, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, - 0x44, 0x31, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, - 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x75, - 0x74, 0x2e, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, + 0x62, 0x75, 0x74, 0x65, 0x28, 0x34, 0x29, 0x5d, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, + 0x4f, 0x4f, 0x52, 0x44, 0x32, 0x20, 0x5b, 0x5b, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x28, 0x35, 0x29, 0x5d, 0x5d, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x76, 0x65, 0x72, 0x74, + 0x65, 0x78, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x30, 0x5f, 0x6f, 0x75, 0x74, 0x20, 0x6d, 0x61, 0x69, + 0x6e, 0x30, 0x28, 0x6d, 0x61, 0x69, 0x6e, 0x30, 0x5f, 0x69, 0x6e, 0x20, 0x69, 0x6e, 0x20, 0x5b, + 0x5b, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x5d, 0x5d, 0x2c, 0x20, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x56, 0x69, 0x65, 0x77, 0x70, + 0x6f, 0x72, 0x74, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x26, 0x20, 0x56, 0x69, 0x65, + 0x77, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x20, 0x5b, 0x5b, + 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x29, 0x0a, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x30, 0x5f, 0x6f, 0x75, 0x74, 0x20, 0x6f, 0x75, 0x74, + 0x20, 0x3d, 0x20, 0x7b, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x33, 0x20, 0x5f, 0x36, 0x32, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, + 0x72, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x36, 0x31, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x2e, + 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x30, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x5f, 0x36, 0x30, 0x20, 0x3d, + 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, + 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x35, 0x39, 0x20, + 0x3d, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, + 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x32, 0x20, 0x5f, 0x35, 0x38, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, + 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x35, 0x37, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x2e, + 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x32, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x5f, 0x37, 0x32, + 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, + 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x34, 0x20, 0x5f, 0x37, 0x34, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, + 0x61, 0x72, 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x37, 0x35, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x2e, 0x69, + 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x30, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x5f, 0x39, 0x30, 0x20, 0x3d, 0x20, 0x56, 0x69, 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x2e, 0x70, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x20, 0x2a, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x28, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, - 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6f, 0x75, 0x74, 0x3b, - 0x0a, 0x7d, 0x0a, 0x0a, + 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x5f, 0x37, 0x36, 0x20, 0x3d, + 0x20, 0x5f, 0x39, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, + 0x20, 0x5f, 0x37, 0x30, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, + 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, + 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x37, 0x33, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, + 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x37, 0x31, 0x20, 0x3d, 0x20, 0x69, + 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, + 0x44, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x5f, + 0x36, 0x39, 0x20, 0x3d, 0x20, 0x5f, 0x39, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x36, 0x38, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, + 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x30, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x5f, 0x36, 0x37, 0x20, 0x3d, 0x20, 0x69, + 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x30, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x36, 0x36, 0x20, 0x3d, 0x20, + 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, + 0x52, 0x44, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, + 0x5f, 0x36, 0x35, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, + 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x36, 0x34, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, + 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x32, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x36, 0x33, 0x20, 0x3d, + 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, + 0x49, 0x4f, 0x4e, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x75, 0x74, 0x2e, 0x67, 0x6c, 0x5f, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x5f, 0x39, 0x30, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6f, 0x75, 0x74, 0x2e, 0x6f, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x5f, + 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x30, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, + 0x76, 0x61, 0x72, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x6f, 0x75, 0x74, 0x2e, 0x6f, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x43, 0x4f, 0x4c, + 0x4f, 0x52, 0x30, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, + 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x75, 0x74, 0x2e, + 0x6f, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, + 0x30, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, + 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x75, 0x74, + 0x2e, 0x6f, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, + 0x44, 0x31, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, + 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x75, + 0x74, 0x2e, 0x6f, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, + 0x52, 0x44, 0x32, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, + 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, + 0x75, 0x74, 0x2e, 0x6f, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, + 0x4f, 0x52, 0x44, 0x33, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, + 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6f, 0x75, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, }; #endif -static const Uint8 PositionColor_vert_spirv[1144] = { - 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x24, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x05, 0x00, 0x00, 0x00, 0x58, 0x02, 0x00, 0x00, - 0x05, 0x00, 0x08, 0x00, 0x08, 0x00, 0x00, 0x00, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x56, 0x69, 0x65, +static const Uint8 PositionColor_vert_spirv[3104] = { + 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x5c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0xdf, 0x13, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x07, 0x00, 0x53, 0x50, 0x56, 0x5f, 0x4b, 0x48, 0x52, 0x5f, + 0x71, 0x75, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x00, 0x00, 0x00, 0x00, + 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x12, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x0a, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, + 0x0e, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x05, 0x00, 0x00, 0x00, 0x58, 0x02, 0x00, 0x00, + 0x05, 0x00, 0x08, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x06, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x65, 0x72, 0x73, - 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x00, 0x05, 0x00, 0x07, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x06, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x65, 0x72, 0x73, + 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x00, 0x05, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00, 0x56, 0x69, 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x73, - 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0x02, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x2e, 0x76, - 0x61, 0x72, 0x2e, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x00, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x07, 0x00, 0x03, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x2e, 0x76, 0x61, 0x72, 0x2e, 0x54, - 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x31, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x2e, 0x76, 0x61, 0x72, 0x2e, 0x54, 0x45, 0x58, 0x43, 0x4f, - 0x4f, 0x52, 0x44, 0x32, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x02, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x2e, 0x76, + 0x61, 0x72, 0x2e, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x05, 0x00, 0x06, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x2e, 0x76, 0x61, 0x72, 0x2e, 0x4e, 0x4f, 0x52, 0x4d, 0x41, + 0x4c, 0x30, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x04, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x2e, 0x76, + 0x61, 0x72, 0x2e, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x30, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x2e, 0x76, 0x61, 0x72, 0x2e, 0x54, 0x45, 0x58, 0x43, 0x4f, + 0x4f, 0x52, 0x44, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x69, 0x6e, 0x2e, 0x76, 0x61, 0x72, 0x2e, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x31, + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x2e, 0x76, + 0x61, 0x72, 0x2e, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x32, 0x00, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x06, 0x00, 0x09, 0x00, 0x00, 0x00, 0x6f, 0x75, 0x74, 0x2e, 0x76, 0x61, 0x72, 0x2e, + 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x30, 0x00, 0x05, 0x00, 0x06, 0x00, 0x0a, 0x00, 0x00, 0x00, + 0x6f, 0x75, 0x74, 0x2e, 0x76, 0x61, 0x72, 0x2e, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x30, 0x00, 0x00, + 0x05, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x6f, 0x75, 0x74, 0x2e, 0x76, 0x61, 0x72, 0x2e, + 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x6f, 0x75, 0x74, 0x2e, 0x76, 0x61, 0x72, 0x2e, 0x54, 0x45, 0x58, 0x43, + 0x4f, 0x4f, 0x52, 0x44, 0x31, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x6f, 0x75, 0x74, 0x2e, 0x76, 0x61, 0x72, 0x2e, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, - 0x30, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x00, 0x6f, 0x75, 0x74, 0x2e, - 0x76, 0x61, 0x72, 0x2e, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x31, 0x00, 0x00, 0x00, + 0x32, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x6f, 0x75, 0x74, 0x2e, + 0x76, 0x61, 0x72, 0x2e, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x33, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x04, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x04, 0x00, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, - 0x17, 0x00, 0x04, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x18, 0x00, 0x04, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x1e, 0x00, 0x03, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, - 0x11, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x14, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x15, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, - 0x16, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x17, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x14, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x15, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x04, 0x00, 0x14, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x36, 0x00, 0x05, 0x00, 0x16, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x17, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x19, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x11, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x11, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x0e, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x18, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, - 0x51, 0x00, 0x05, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x1a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0c, 0x00, 0x00, 0x00, - 0x21, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, - 0x0e, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x21, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x90, 0x00, 0x05, 0x00, 0x0e, 0x00, 0x00, 0x00, - 0x23, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, - 0x05, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x1b, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, - 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, + 0x05, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x00, 0x56, 0x53, 0x5f, 0x49, 0x6e, 0x70, 0x75, 0x74, + 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, + 0x11, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x00, 0x00, + 0x06, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x43, 0x6f, 0x6c, 0x6f, + 0x72, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x54, 0x65, 0x78, 0x49, 0x64, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x11, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x00, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x06, 0x00, 0x11, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x53, 0x68, 0x69, 0x6e, + 0x69, 0x6e, 0x65, 0x73, 0x73, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x12, 0x00, 0x00, 0x00, + 0x46, 0x53, 0x5f, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, + 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x12, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, + 0x12, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x54, 0x65, 0x78, 0x49, 0x64, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x06, 0x00, 0x12, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x54, 0x65, 0x78, 0x43, + 0x6f, 0x6f, 0x72, 0x64, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x12, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x53, 0x68, 0x69, 0x6e, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x07, 0x00, 0x12, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x57, 0x6f, 0x72, 0x6c, + 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, + 0x0b, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x1e, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x1e, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x1e, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x1e, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x0a, 0x00, 0x00, 0x00, + 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, + 0x1e, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, + 0x1e, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, + 0x1e, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x0e, 0x00, 0x00, 0x00, + 0x1e, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x22, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x0f, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, + 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x48, 0x00, 0x04, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x47, 0x00, 0x03, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x2b, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x1a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x1b, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x1c, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, 0x1e, 0x00, 0x00, 0x00, + 0x1d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x03, 0x00, 0x0f, 0x00, 0x00, 0x00, + 0x1e, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x0f, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x21, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x22, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x1d, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x23, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x25, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x26, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x25, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x27, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x28, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x1d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x29, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x25, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, + 0x2e, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x08, 0x00, 0x11, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, + 0x25, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x2f, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x09, 0x00, 0x12, 0x00, 0x00, 0x00, + 0x1d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, + 0x25, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x21, 0x00, 0x04, 0x00, + 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, + 0x31, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, + 0x32, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, + 0x33, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, + 0x34, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, + 0x35, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, + 0x36, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, + 0x37, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x1f, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x21, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x21, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x22, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x24, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x26, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x27, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x28, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x29, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x28, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x2a, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x2b, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x2c, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x29, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, + 0x2d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, + 0xf8, 0x00, 0x02, 0x00, 0x38, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x37, 0x00, 0x00, 0x00, + 0x39, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x32, 0x00, 0x00, 0x00, + 0x3a, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x36, 0x00, 0x00, 0x00, + 0x3b, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x33, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x34, 0x00, 0x00, 0x00, + 0x3d, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x34, 0x00, 0x00, 0x00, + 0x3e, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x34, 0x00, 0x00, 0x00, + 0x3f, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x37, 0x00, 0x00, 0x00, + 0x40, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x32, 0x00, 0x00, 0x00, + 0x41, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x36, 0x00, 0x00, 0x00, + 0x42, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x33, 0x00, 0x00, 0x00, + 0x43, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x34, 0x00, 0x00, 0x00, + 0x44, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x33, 0x00, 0x00, 0x00, + 0x45, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x34, 0x00, 0x00, 0x00, + 0x46, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x37, 0x00, 0x00, 0x00, + 0x47, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x32, 0x00, 0x00, 0x00, + 0x48, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x36, 0x00, 0x00, 0x00, + 0x49, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x33, 0x00, 0x00, 0x00, + 0x4a, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x34, 0x00, 0x00, 0x00, + 0x4b, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x33, 0x00, 0x00, 0x00, + 0x4c, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x4d, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x4e, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, + 0x4f, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x23, 0x00, 0x00, 0x00, + 0x50, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x25, 0x00, 0x00, 0x00, + 0x51, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x52, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x50, 0x00, 0x09, 0x00, 0x11, 0x00, 0x00, 0x00, + 0x53, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, + 0x50, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, + 0x3e, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x3d, 0x00, 0x00, 0x00, + 0x4e, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, + 0x3e, 0x00, 0x03, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, + 0x3a, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x39, 0x00, 0x00, 0x00, + 0x52, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x48, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, + 0x3e, 0x00, 0x03, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, + 0x4b, 0x00, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x35, 0x00, 0x00, 0x00, + 0x54, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, + 0x1e, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x51, 0x00, 0x05, 0x00, 0x18, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x18, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, + 0x4d, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, + 0x59, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, + 0x19, 0x00, 0x00, 0x00, 0x90, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, + 0x59, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x4c, 0x00, 0x00, 0x00, + 0x5a, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x46, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, + 0x3e, 0x00, 0x03, 0x00, 0x49, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, + 0x47, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x50, 0x00, 0x0a, 0x00, 0x12, 0x00, 0x00, 0x00, + 0x5b, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, + 0x50, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, + 0x3e, 0x00, 0x03, 0x00, 0x45, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, + 0x44, 0x00, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00, + 0x4f, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x42, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, + 0x3e, 0x00, 0x03, 0x00, 0x41, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, + 0x40, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x3f, 0x00, 0x00, 0x00, + 0x4d, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, + 0x3e, 0x00, 0x03, 0x00, 0x09, 0x00, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, + 0x0a, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x0b, 0x00, 0x00, 0x00, + 0x50, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, + 0x3e, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, + 0x0e, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, }; diff --git a/miniwin/src/d3drm/backends/sdl3gpu/shaders/generated/SolidColor.frag.h b/miniwin/src/d3drm/backends/sdl3gpu/shaders/generated/SolidColor.frag.h index fda764e4..6c4bd82d 100644 --- a/miniwin/src/d3drm/backends/sdl3gpu/shaders/generated/SolidColor.frag.h +++ b/miniwin/src/d3drm/backends/sdl3gpu/shaders/generated/SolidColor.frag.h @@ -10,19 +10,27 @@ // DXIL only makes sense on Windows platforms #if defined(SDL_PLATFORM_WINDOWS) -static const Uint8 SolidColor_frag_dxil[5552] = { - 0x44, 0x58, 0x42, 0x43, 0xe3, 0x81, 0x00, 0x37, 0xf2, 0xed, 0x89, 0x38, 0xf1, 0x2b, 0xd3, 0x9d, - 0x01, 0x96, 0x0b, 0xc6, 0x01, 0x00, 0x00, 0x00, 0xb0, 0x15, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x3c, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x38, 0x01, 0x00, 0x00, - 0x44, 0x02, 0x00, 0x00, 0x28, 0x0a, 0x00, 0x00, 0x44, 0x0a, 0x00, 0x00, 0x53, 0x46, 0x49, 0x30, +static const Uint8 SolidColor_frag_dxil[5864] = { + 0x44, 0x58, 0x42, 0x43, 0xc6, 0x78, 0x8d, 0x0a, 0x88, 0x19, 0x2b, 0x24, 0x6f, 0x4f, 0xd0, 0x1f, + 0xc3, 0x54, 0x80, 0x98, 0x01, 0x00, 0x00, 0x00, 0xe8, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x3c, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x54, 0x01, 0x00, 0x00, 0xb8, 0x01, 0x00, 0x00, + 0x68, 0x03, 0x00, 0x00, 0xa8, 0x0b, 0x00, 0x00, 0xc4, 0x0b, 0x00, 0x00, 0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x31, - 0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x68, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x45, 0x58, 0x43, + 0x00, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe8, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe8, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe8, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe8, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe8, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xf1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x0f, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x53, 0x56, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x53, 0x47, 0x31, 0x5c, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -30,119 +38,135 @@ static const Uint8 SolidColor_frag_dxil[5552] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x53, 0x56, - 0x5f, 0x44, 0x65, 0x70, 0x74, 0x68, 0x00, 0x00, 0x50, 0x53, 0x56, 0x30, 0x04, 0x01, 0x00, 0x00, + 0x5f, 0x44, 0x65, 0x70, 0x74, 0x68, 0x00, 0x00, 0x50, 0x53, 0x56, 0x30, 0xa8, 0x01, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, - 0x03, 0x02, 0x00, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x07, 0x02, 0x00, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x54, 0x45, 0x58, - 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x6d, - 0x61, 0x69, 0x6e, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x44, 0x00, - 0x03, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x43, 0x00, - 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x44, 0x03, - 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x44, 0x10, - 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x11, - 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x53, 0x54, 0x41, 0x54, 0xdc, 0x07, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, - 0xf7, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, - 0xc4, 0x07, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0xee, 0x01, 0x00, 0x00, - 0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91, - 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19, - 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x18, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42, 0xc4, 0x10, 0x32, 0x14, - 0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x62, 0x88, 0x48, 0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5, - 0x00, 0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90, 0x11, 0x23, 0xc4, 0x50, 0x41, 0x51, 0x81, 0x8c, - 0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x31, 0x46, 0x06, 0x51, 0x18, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x40, 0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff, 0xff, - 0xff, 0xff, 0x03, 0x20, 0x6d, 0x30, 0x86, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x09, 0xa8, 0x00, - 0x49, 0x18, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x82, 0x60, 0x42, 0x20, 0x4c, 0x08, 0x06, - 0x00, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x32, 0x22, 0x88, 0x09, - 0x20, 0x64, 0x85, 0x04, 0x13, 0x23, 0xa4, 0x84, 0x04, 0x13, 0x23, 0xe3, 0x84, 0xa1, 0x90, 0x14, - 0x12, 0x4c, 0x8c, 0x8c, 0x0b, 0x84, 0xc4, 0x4c, 0x10, 0x88, 0xc1, 0x08, 0x40, 0x09, 0x00, 0x0a, - 0x66, 0x00, 0xe6, 0x08, 0xc0, 0x60, 0x8e, 0x00, 0x29, 0xc6, 0x40, 0x10, 0x44, 0x41, 0x90, 0x51, - 0x0c, 0x80, 0x20, 0x88, 0x62, 0x20, 0xa4, 0x20, 0x03, 0x31, 0x0c, 0xc3, 0x30, 0x0c, 0xa4, 0x94, - 0x61, 0x20, 0x06, 0x62, 0x0a, 0x31, 0x10, 0xc3, 0x40, 0xce, 0x51, 0xc3, 0xe5, 0x4f, 0xd8, 0x43, - 0x48, 0x3e, 0xb7, 0x51, 0xc5, 0x4a, 0x4c, 0x7e, 0x71, 0xdb, 0x88, 0x18, 0x86, 0x61, 0xa0, 0xe2, - 0x9e, 0xe1, 0xf2, 0x27, 0xec, 0x21, 0x24, 0x3f, 0x04, 0x9a, 0x61, 0x21, 0x50, 0x10, 0x15, 0x02, - 0x22, 0x24, 0x82, 0xa6, 0xa3, 0x86, 0xcb, 0x9f, 0xb0, 0x87, 0x90, 0x7c, 0x6e, 0xa3, 0x8a, 0x95, - 0x98, 0x7c, 0xe4, 0xb6, 0x11, 0x41, 0x10, 0x04, 0x51, 0x88, 0x8a, 0x90, 0x08, 0xb2, 0xe6, 0x08, - 0x82, 0x62, 0x48, 0x44, 0x41, 0x10, 0x18, 0x65, 0x03, 0x01, 0xc3, 0x08, 0xc4, 0x70, 0x91, 0x34, - 0x45, 0x94, 0x30, 0xf9, 0xac, 0x40, 0x34, 0x44, 0x89, 0x18, 0xc7, 0x84, 0x06, 0x8e, 0xe3, 0x72, - 0xa0, 0x3b, 0x68, 0xc2, 0x1e, 0xe2, 0x2f, 0x11, 0xe3, 0x98, 0x36, 0xaa, 0x28, 0x88, 0x08, 0x09, - 0x1e, 0x41, 0x5f, 0x3a, 0x10, 0x00, 0x00, 0x00, 0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87, - 0x36, 0x68, 0x87, 0x79, 0x68, 0x03, 0x72, 0xc0, 0x87, 0x0d, 0xaf, 0x50, 0x0e, 0x6d, 0xd0, 0x0e, - 0x7a, 0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, - 0x90, 0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x78, 0xa0, 0x07, 0x73, 0x20, - 0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe9, 0x30, 0x07, - 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40, 0x07, 0x7a, 0x60, 0x07, 0x74, - 0xd0, 0x06, 0xe6, 0x10, 0x07, 0x76, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x60, 0x0e, 0x73, 0x20, - 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74, 0xa0, 0x07, 0x76, 0x40, 0x07, - 0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x76, - 0x40, 0x07, 0x43, 0x9e, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, - 0x3c, 0x06, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x10, 0x20, - 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf2, 0x28, 0x40, 0x00, 0x04, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xe4, 0x61, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x60, 0xc8, 0xe3, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xc0, 0x90, 0x67, 0x02, 0x02, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x21, 0x8f, - 0x05, 0x04, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x9e, 0x0c, 0x08, 0x80, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb2, 0x40, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, - 0x32, 0x1e, 0x98, 0x18, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22, - 0x4a, 0x60, 0x04, 0xa0, 0x18, 0xca, 0xa0, 0x50, 0x05, 0x0a, 0xac, 0x1c, 0x4a, 0xa2, 0x34, 0x0a, - 0xa1, 0x40, 0x0a, 0xa8, 0x40, 0x05, 0xca, 0xa3, 0x08, 0x6a, 0xa0, 0x14, 0x4a, 0x3b, 0xa0, 0xd0, - 0x05, 0xca, 0x82, 0x8a, 0x92, 0x18, 0x01, 0x28, 0x82, 0x42, 0x28, 0x83, 0x02, 0x29, 0x91, 0x12, - 0xa8, 0x01, 0xc2, 0x6a, 0x80, 0xba, 0x19, 0x00, 0xfa, 0x66, 0x00, 0x08, 0x9c, 0x01, 0xa0, 0x70, - 0x2c, 0x87, 0x21, 0x02, 0x81, 0x40, 0x8e, 0xe3, 0x00, 0x8e, 0xe3, 0x38, 0x00, 0x00, 0x00, 0x00, - 0x79, 0x18, 0x00, 0x00, 0xbe, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0xc4, - 0x31, 0x20, 0xc3, 0x1b, 0x43, 0x81, 0x93, 0x4b, 0xb3, 0x0b, 0xa3, 0x2b, 0x4b, 0x01, 0x89, 0x71, - 0xc1, 0x71, 0x81, 0x71, 0xa1, 0xb9, 0xc1, 0xc9, 0x01, 0x41, 0x11, 0xa3, 0xb9, 0x89, 0x89, 0xc1, - 0x99, 0xc9, 0x29, 0x4b, 0xd9, 0x10, 0x04, 0x13, 0x04, 0x22, 0x99, 0x20, 0x10, 0xca, 0x06, 0x61, - 0x20, 0x36, 0x08, 0x04, 0x41, 0x01, 0x6e, 0x6e, 0x82, 0x40, 0x2c, 0x1b, 0x86, 0x03, 0x21, 0x26, - 0x08, 0x60, 0x90, 0x06, 0x84, 0xe8, 0xf2, 0xe0, 0xca, 0xbe, 0x98, 0xd2, 0xce, 0xd0, 0xe8, 0x84, - 0xea, 0xcc, 0xcc, 0xca, 0xe4, 0x26, 0x08, 0x04, 0x33, 0x41, 0x20, 0x9a, 0x0d, 0x08, 0xa1, 0x2c, - 0x0c, 0x31, 0x34, 0xc0, 0x86, 0xc0, 0xd9, 0x40, 0x00, 0xc0, 0x03, 0x4c, 0x10, 0xba, 0x33, 0x98, - 0x20, 0x10, 0x0e, 0x8b, 0xb1, 0x37, 0xb6, 0x37, 0xb9, 0x09, 0x02, 0xf1, 0x4c, 0x10, 0x08, 0x68, - 0x82, 0x40, 0x44, 0x13, 0x04, 0x42, 0xda, 0x80, 0x20, 0x13, 0x43, 0x50, 0x95, 0x75, 0x11, 0x81, - 0x7b, 0x9b, 0x4b, 0xa3, 0x4b, 0x7b, 0x73, 0x9b, 0x20, 0x10, 0xd3, 0x06, 0x04, 0xc9, 0x18, 0x8d, - 0xaa, 0xac, 0x8b, 0x09, 0x59, 0x9a, 0x5c, 0xd9, 0x18, 0x5d, 0xda, 0x9b, 0xdb, 0x04, 0x81, 0xa0, - 0x36, 0x20, 0x08, 0xc7, 0x74, 0x54, 0x65, 0x5d, 0x1b, 0x08, 0x09, 0xdb, 0xbc, 0x09, 0xc2, 0x87, - 0x06, 0x94, 0x98, 0xd2, 0xce, 0xd0, 0xe8, 0x84, 0xea, 0xcc, 0xcc, 0xca, 0xe4, 0xbe, 0xd8, 0xd2, - 0xce, 0xd0, 0xe8, 0xe6, 0x26, 0x08, 0x98, 0x19, 0x6c, 0x30, 0x90, 0x30, 0x60, 0x88, 0x4a, 0x0c, - 0x68, 0x31, 0xa5, 0x9d, 0xa1, 0xd1, 0x09, 0xd5, 0x99, 0x99, 0x95, 0xc9, 0x7d, 0xb1, 0xa5, 0x9d, - 0xa1, 0xd1, 0x0d, 0xbd, 0xd5, 0xb9, 0xd1, 0x4d, 0x10, 0x88, 0x6a, 0x03, 0x82, 0x90, 0x01, 0x53, - 0x06, 0xd4, 0x55, 0x89, 0xc1, 0x86, 0xa1, 0x19, 0x03, 0x33, 0xd8, 0x50, 0x10, 0xd1, 0x07, 0x06, - 0x67, 0x30, 0x41, 0x10, 0x80, 0x0d, 0xc0, 0x86, 0x81, 0x50, 0x03, 0x35, 0xd8, 0x10, 0xac, 0xc1, - 0x86, 0x61, 0x48, 0x03, 0x36, 0x98, 0x20, 0x84, 0x81, 0x1a, 0x6c, 0x08, 0xdc, 0x80, 0x44, 0x5b, - 0x58, 0x9a, 0x1b, 0x11, 0xaa, 0x22, 0xac, 0xa1, 0xa7, 0x27, 0x29, 0xa2, 0x09, 0x42, 0xd1, 0x4d, - 0x10, 0x0a, 0x6f, 0x43, 0x40, 0x4c, 0x10, 0x8a, 0x6f, 0x82, 0x50, 0x80, 0xc1, 0x04, 0x81, 0xb0, - 0x36, 0x08, 0xcc, 0x1d, 0x6c, 0x58, 0x88, 0x38, 0x90, 0x83, 0x39, 0xa0, 0x83, 0x3a, 0x18, 0xec, - 0x80, 0x98, 0x03, 0x3c, 0xd8, 0x10, 0x0c, 0x13, 0x84, 0x22, 0x0c, 0x36, 0x08, 0x0c, 0xb5, 0x61, - 0x19, 0xe2, 0x40, 0x0e, 0xe6, 0x40, 0x0f, 0xea, 0x60, 0xd8, 0x83, 0x61, 0x0e, 0xf8, 0x60, 0x82, - 0x40, 0x5c, 0x5c, 0xa6, 0xac, 0xbe, 0xa0, 0xde, 0xe6, 0xd2, 0xe8, 0xd2, 0xde, 0xdc, 0x36, 0x2c, - 0x7e, 0xf0, 0x07, 0x72, 0xb0, 0x07, 0x74, 0x60, 0x07, 0x83, 0x1d, 0xf8, 0xc1, 0x1c, 0xe0, 0xc1, - 0x86, 0x21, 0x0f, 0xfa, 0x00, 0x14, 0x98, 0x4c, 0x59, 0x7d, 0x51, 0x85, 0xc9, 0x9d, 0x95, 0xd1, - 0x4d, 0x10, 0x0a, 0x31, 0xd8, 0xb0, 0x10, 0xa2, 0x20, 0x07, 0xa3, 0x40, 0x07, 0x73, 0x30, 0xd8, - 0x01, 0x31, 0x07, 0x78, 0x40, 0x64, 0xca, 0xea, 0x8b, 0xa8, 0x0c, 0x8e, 0x0e, 0x6d, 0x82, 0x50, - 0x8c, 0xc1, 0x04, 0xa1, 0x20, 0x83, 0x09, 0x02, 0x81, 0x4d, 0x10, 0x8a, 0x32, 0xd8, 0x20, 0x30, - 0xc3, 0x86, 0x65, 0x28, 0x05, 0x39, 0x30, 0x05, 0x3a, 0x98, 0x83, 0xe1, 0x14, 0x50, 0x21, 0x15, - 0x54, 0x61, 0x83, 0x40, 0x0a, 0xab, 0xb0, 0x61, 0x08, 0x05, 0x56, 0x00, 0x36, 0x14, 0x69, 0x00, - 0x07, 0xad, 0x00, 0x01, 0x44, 0xc4, 0xe4, 0xc2, 0xdc, 0xc6, 0xd0, 0xca, 0xe6, 0x26, 0x08, 0x44, - 0x46, 0xc3, 0x8c, 0xed, 0x2d, 0x8c, 0x6e, 0x6e, 0x82, 0x40, 0x68, 0x2c, 0xd2, 0xdc, 0xe6, 0xe8, - 0xe6, 0x26, 0x08, 0xc4, 0x46, 0x22, 0xcd, 0x8d, 0x6e, 0x8e, 0xc6, 0x5c, 0xda, 0xd9, 0x17, 0x1b, - 0xd9, 0x04, 0x81, 0xe0, 0x68, 0xcc, 0xa5, 0x9d, 0x7d, 0xcd, 0xd1, 0xb1, 0xa8, 0x4b, 0x73, 0xa3, - 0x9b, 0xdb, 0xe0, 0xbc, 0x02, 0x2c, 0xc4, 0x82, 0x2c, 0xcc, 0x02, 0x2d, 0xd4, 0x02, 0x62, 0x0b, - 0xb7, 0x80, 0x0b, 0xb0, 0x90, 0x0b, 0x43, 0x15, 0x36, 0x36, 0xbb, 0x36, 0x97, 0x34, 0xb2, 0x32, - 0x37, 0xba, 0x29, 0x41, 0x50, 0x85, 0x0c, 0xcf, 0xc5, 0xae, 0x4c, 0x6e, 0x2e, 0xed, 0xcd, 0x6d, - 0x4a, 0x40, 0x34, 0x21, 0xc3, 0x73, 0xb1, 0x0b, 0x63, 0xb3, 0x2b, 0x93, 0x9b, 0x12, 0x14, 0x75, - 0xc8, 0xf0, 0x5c, 0xe6, 0xd0, 0xc2, 0xc8, 0xca, 0xe4, 0x9a, 0xde, 0xc8, 0xca, 0xd8, 0xa6, 0x04, - 0x48, 0x19, 0x32, 0x3c, 0x17, 0xb9, 0xb2, 0xb9, 0xb7, 0x3a, 0xb9, 0xb1, 0xb2, 0xb9, 0x29, 0xc1, - 0x53, 0x89, 0x0c, 0xcf, 0x85, 0x2e, 0x0f, 0xae, 0x2c, 0xc8, 0xcd, 0xed, 0x8d, 0x2e, 0x8c, 0x2e, - 0xed, 0xcd, 0x6d, 0x6e, 0x8a, 0x70, 0x06, 0x6c, 0x50, 0x87, 0x0c, 0xcf, 0xc5, 0x2e, 0xad, 0xec, - 0x2e, 0x89, 0x6c, 0x8a, 0x2e, 0x8c, 0xae, 0x6c, 0x4a, 0xe0, 0x06, 0x75, 0xc8, 0xf0, 0x5c, 0xca, - 0xdc, 0xe8, 0xe4, 0xf2, 0xa0, 0xde, 0xd2, 0xdc, 0xe8, 0xe6, 0xa6, 0x04, 0xad, 0xd0, 0x85, 0x0c, - 0xcf, 0x65, 0xec, 0xad, 0xce, 0x8d, 0xae, 0x4c, 0x6e, 0x6e, 0x4a, 0x90, 0x0b, 0x00, 0x00, 0x00, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x54, 0x45, 0x58, + 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x54, + 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, + 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, + 0x52, 0x44, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x43, 0x00, 0x03, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x44, 0x00, 0x03, 0x02, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x41, 0x00, 0x01, 0x01, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x01, 0x03, 0x42, 0x00, 0x03, 0x02, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x71, 0x00, 0x03, 0x02, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x01, 0x04, 0x43, 0x00, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x05, 0x44, 0x03, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x44, 0x10, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x01, 0x11, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53, 0x54, 0x41, 0x54, 0x38, 0x08, 0x00, 0x00, + 0x60, 0x00, 0x00, 0x00, 0x0e, 0x02, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, + 0x05, 0x02, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, + 0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x18, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42, + 0xc4, 0x10, 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x62, 0x88, 0x48, 0x90, 0x14, 0x20, + 0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90, 0x11, 0x23, 0xc4, 0x50, + 0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x31, 0x46, 0x06, 0x51, 0x18, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x40, 0x02, 0xa8, 0x0d, + 0x84, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x20, 0x6d, 0x30, 0x86, 0xff, 0xff, 0xff, 0xff, 0x1f, + 0x00, 0x09, 0xa8, 0x00, 0x49, 0x18, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x82, 0x60, 0x42, + 0x20, 0x4c, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, + 0x32, 0x22, 0x88, 0x09, 0x20, 0x64, 0x85, 0x04, 0x13, 0x23, 0xa4, 0x84, 0x04, 0x13, 0x23, 0xe3, + 0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c, 0x8c, 0x8c, 0x0b, 0x84, 0xc4, 0x4c, 0x10, 0x88, 0xc1, 0x08, + 0x40, 0x09, 0x00, 0x0a, 0x66, 0x00, 0xe6, 0x08, 0xc0, 0x60, 0x8e, 0x00, 0x29, 0xc6, 0x40, 0x10, + 0x44, 0x41, 0x90, 0x51, 0x0c, 0x80, 0x20, 0x88, 0x62, 0x20, 0xa4, 0x20, 0x03, 0x31, 0x0c, 0xc3, + 0x30, 0x0c, 0xa4, 0x94, 0x61, 0x20, 0x06, 0x62, 0x0a, 0x31, 0x10, 0xc3, 0x40, 0xce, 0x51, 0xc3, + 0xe5, 0x4f, 0xd8, 0x43, 0x48, 0x3e, 0xb7, 0x51, 0xc5, 0x4a, 0x4c, 0x7e, 0x71, 0xdb, 0x88, 0x18, + 0x86, 0x61, 0xa0, 0xe2, 0x9e, 0xe1, 0xf2, 0x27, 0xec, 0x21, 0x24, 0x3f, 0x04, 0x9a, 0x61, 0x21, + 0x50, 0x10, 0x15, 0x02, 0x22, 0x24, 0x82, 0xa6, 0xa3, 0x86, 0xcb, 0x9f, 0xb0, 0x87, 0x90, 0x7c, + 0x6e, 0xa3, 0x8a, 0x95, 0x98, 0x7c, 0xe4, 0xb6, 0x11, 0x41, 0x10, 0x04, 0x51, 0x88, 0x8a, 0x90, + 0x08, 0xb2, 0xe6, 0x08, 0x82, 0x62, 0x48, 0x44, 0x41, 0x10, 0x18, 0x65, 0x03, 0x01, 0xc3, 0x08, + 0xc4, 0x70, 0x91, 0x34, 0x45, 0x94, 0x30, 0xf9, 0xac, 0x40, 0x34, 0x44, 0x89, 0x18, 0xc7, 0x84, + 0x06, 0x8e, 0xe3, 0x72, 0xa0, 0x3b, 0x68, 0xc2, 0x1e, 0xe2, 0x2f, 0x11, 0xe3, 0x98, 0x36, 0xaa, + 0x28, 0x88, 0x08, 0x09, 0x1e, 0x41, 0x5f, 0x6a, 0x10, 0x00, 0x00, 0x00, 0x13, 0x14, 0x72, 0xc0, + 0x87, 0x74, 0x60, 0x87, 0x36, 0x68, 0x87, 0x79, 0x68, 0x03, 0x72, 0xc0, 0x87, 0x0d, 0xaf, 0x50, + 0x0e, 0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, + 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x78, + 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, + 0x06, 0xe9, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x76, 0x40, 0x07, + 0x7a, 0x60, 0x07, 0x74, 0xd0, 0x06, 0xe6, 0x10, 0x07, 0x76, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, + 0x60, 0x0e, 0x73, 0x20, 0x07, 0x7a, 0x30, 0x07, 0x72, 0xd0, 0x06, 0xe6, 0x60, 0x07, 0x74, 0xa0, + 0x07, 0x76, 0x40, 0x07, 0x6d, 0xe0, 0x0e, 0x78, 0xa0, 0x07, 0x71, 0x60, 0x07, 0x7a, 0x30, 0x07, + 0x72, 0xa0, 0x07, 0x76, 0x40, 0x07, 0x43, 0x9e, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x86, 0x3c, 0x06, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0c, 0x79, 0x10, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf2, 0x28, + 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xe4, 0x61, 0x80, 0x00, 0x08, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xc8, 0xe3, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xc0, 0x90, 0x67, 0x02, 0x02, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x21, 0x8f, 0x05, 0x04, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, + 0x9e, 0x0c, 0x08, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb2, 0x40, 0x00, 0x00, + 0x1a, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x18, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, + 0xc6, 0x04, 0x43, 0x22, 0x4a, 0x60, 0x04, 0xa0, 0x18, 0xca, 0xa0, 0x50, 0x05, 0x0a, 0xac, 0x1c, + 0x4a, 0xa2, 0x34, 0x0a, 0xa1, 0x40, 0x0a, 0xa8, 0x40, 0x05, 0xca, 0xa3, 0x08, 0x4a, 0xa1, 0x20, + 0x6a, 0xa0, 0xe8, 0x0a, 0x83, 0x8a, 0x92, 0x18, 0x01, 0x28, 0x82, 0x32, 0x28, 0x84, 0x52, 0x28, + 0x81, 0x02, 0x29, 0x91, 0x1a, 0x20, 0xac, 0x06, 0xa8, 0x9b, 0x01, 0xa0, 0x6f, 0x06, 0x80, 0xc0, + 0x19, 0x00, 0x0a, 0xc7, 0xd2, 0x30, 0xe2, 0x38, 0x8e, 0x23, 0x10, 0x08, 0x04, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xe0, 0x38, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, + 0xd3, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0xc4, 0x8f, 0x0c, 0x6f, 0x0c, + 0x05, 0x4e, 0x2e, 0xcd, 0x2e, 0x8c, 0xae, 0x2c, 0x05, 0x24, 0xc6, 0x05, 0xc7, 0x05, 0xc6, 0x25, + 0x06, 0x04, 0x05, 0x46, 0xac, 0x2c, 0x2c, 0xec, 0xc6, 0xe6, 0x26, 0x65, 0x43, 0x10, 0x4c, 0x10, + 0x88, 0x64, 0x82, 0x40, 0x28, 0x1b, 0x84, 0x81, 0xd8, 0x20, 0x10, 0x04, 0x05, 0xb8, 0xb9, 0x09, + 0x02, 0xb1, 0x6c, 0x18, 0x0e, 0x84, 0x98, 0x20, 0x80, 0x81, 0x1a, 0x10, 0xa2, 0xcb, 0x83, 0x2b, + 0xfb, 0x62, 0x4a, 0x3b, 0x43, 0xa3, 0x13, 0xaa, 0x33, 0x33, 0x2b, 0x93, 0x9b, 0x20, 0x10, 0xcc, + 0x04, 0x81, 0x68, 0x36, 0x20, 0x84, 0xb2, 0x30, 0xc4, 0xd0, 0x00, 0x1b, 0x02, 0x67, 0x03, 0x01, + 0x00, 0x0f, 0x30, 0x41, 0xe8, 0xd0, 0x60, 0x82, 0x40, 0x38, 0x2c, 0xc6, 0xde, 0xd8, 0xde, 0xe4, + 0x26, 0x08, 0xc4, 0x33, 0x41, 0x20, 0xa0, 0x09, 0x02, 0x11, 0x4d, 0x10, 0x08, 0x69, 0x03, 0x82, + 0x4c, 0x0c, 0x41, 0x55, 0xd6, 0x45, 0x04, 0xee, 0x6d, 0x2e, 0x8d, 0x2e, 0xed, 0xcd, 0x6d, 0x82, + 0x40, 0x4c, 0x1b, 0x10, 0x24, 0x63, 0x34, 0xaa, 0xb2, 0x2e, 0x26, 0x64, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x13, 0x04, 0x82, 0xda, 0x80, 0x20, 0x1c, 0xd3, 0x51, 0x95, 0x75, 0x6d, + 0x20, 0x24, 0x6c, 0xf3, 0x26, 0x08, 0x5f, 0x1a, 0x50, 0x62, 0x4a, 0x3b, 0x43, 0xa3, 0x13, 0xaa, + 0x33, 0x33, 0x2b, 0x93, 0xfb, 0x62, 0x4b, 0x3b, 0x43, 0xa3, 0x9b, 0x9b, 0x20, 0x60, 0x67, 0xb0, + 0xc1, 0x40, 0xc2, 0x80, 0x21, 0x2a, 0x31, 0xa0, 0xc5, 0x94, 0x76, 0x86, 0x46, 0x27, 0x54, 0x67, + 0x66, 0x56, 0x26, 0xf7, 0xc5, 0x96, 0x76, 0x86, 0x46, 0x37, 0xf4, 0x56, 0xe7, 0x46, 0x37, 0x41, + 0x20, 0xaa, 0x0d, 0x08, 0x42, 0x06, 0x4c, 0x19, 0x50, 0x57, 0x25, 0x06, 0x1b, 0x86, 0x66, 0x0c, + 0xcc, 0x60, 0x43, 0x41, 0x44, 0x1f, 0x18, 0x9c, 0xc1, 0x04, 0x41, 0x00, 0x36, 0x00, 0x1b, 0x06, + 0x42, 0x0d, 0xd4, 0x60, 0x43, 0xb0, 0x06, 0x1b, 0x86, 0x21, 0x0d, 0xd8, 0x60, 0x82, 0x10, 0x06, + 0x6b, 0xb0, 0x21, 0x70, 0x03, 0x12, 0x6d, 0x61, 0x69, 0x6e, 0x44, 0xa8, 0x8a, 0xb0, 0x86, 0x9e, + 0x9e, 0xa4, 0x88, 0x26, 0x08, 0x45, 0x37, 0x41, 0x28, 0xbc, 0x0d, 0x01, 0x31, 0x41, 0x28, 0xbe, + 0x09, 0x42, 0x01, 0x06, 0x1b, 0x04, 0x86, 0xda, 0xb0, 0x10, 0x71, 0x20, 0x07, 0x73, 0x40, 0x07, + 0x75, 0x30, 0xd8, 0x01, 0x31, 0x07, 0x77, 0xb0, 0x21, 0x18, 0x26, 0x08, 0x45, 0x18, 0x4c, 0x10, + 0x08, 0x6b, 0x83, 0xc0, 0xec, 0xc1, 0x86, 0x65, 0x88, 0x03, 0x39, 0x98, 0x83, 0x3c, 0xa8, 0x83, + 0x41, 0x0f, 0x86, 0x39, 0xe0, 0x83, 0x09, 0x02, 0x71, 0x4d, 0x10, 0x0a, 0x31, 0xd8, 0x10, 0xf8, + 0xc1, 0x04, 0xa1, 0x18, 0x83, 0x0d, 0x8b, 0x1f, 0xc4, 0xc1, 0x1f, 0xcc, 0x01, 0x28, 0x84, 0xc2, + 0x10, 0x0a, 0x7e, 0x30, 0x07, 0xc0, 0x86, 0x80, 0xd9, 0xb0, 0x30, 0x71, 0x20, 0x07, 0x73, 0x30, + 0x0a, 0x75, 0x30, 0xd4, 0x01, 0x33, 0x07, 0xc0, 0x86, 0xe0, 0xda, 0x20, 0x30, 0xc3, 0x86, 0xe5, + 0x8a, 0x03, 0x39, 0x98, 0x83, 0x52, 0xa8, 0x83, 0x21, 0x14, 0x08, 0x3b, 0x30, 0x85, 0x09, 0x02, + 0x81, 0x6d, 0x08, 0x50, 0x61, 0xc3, 0x82, 0x0a, 0x71, 0x20, 0x07, 0x73, 0x90, 0x0a, 0x75, 0x30, + 0xd8, 0xc1, 0x35, 0x07, 0x77, 0xc0, 0x65, 0xca, 0xea, 0x0b, 0xea, 0x6d, 0x2e, 0x8d, 0x2e, 0xed, + 0xcd, 0x6d, 0x82, 0x40, 0x64, 0x1b, 0x04, 0x86, 0x15, 0x36, 0x2c, 0xc8, 0x2a, 0xc8, 0x81, 0x1d, + 0xd0, 0x81, 0x1e, 0x0c, 0x7a, 0x80, 0x0a, 0x73, 0xd0, 0x0a, 0x1b, 0x0e, 0x3c, 0xe8, 0x03, 0x51, + 0x20, 0x85, 0x53, 0x50, 0x05, 0x57, 0x60, 0x32, 0x65, 0xf5, 0x45, 0x15, 0x26, 0x77, 0x56, 0x46, + 0x37, 0x41, 0x28, 0xc8, 0x60, 0xc3, 0x42, 0xc0, 0x82, 0x1c, 0xc4, 0x02, 0x1d, 0xcc, 0xc1, 0xa0, + 0x07, 0xc4, 0x1c, 0xf0, 0x01, 0x91, 0x29, 0xab, 0x2f, 0xa2, 0x32, 0x38, 0x3a, 0xb4, 0x09, 0x42, + 0x51, 0x06, 0x13, 0x04, 0x42, 0x9b, 0x20, 0x14, 0x66, 0xb0, 0x61, 0x19, 0x66, 0x41, 0x0e, 0x68, + 0x81, 0x0e, 0xe6, 0x60, 0x08, 0x85, 0x5a, 0xb0, 0x05, 0x53, 0xd8, 0x20, 0xc8, 0xc2, 0x2d, 0x6c, + 0x18, 0x5e, 0x01, 0x17, 0x80, 0x0d, 0x45, 0x1a, 0xc0, 0x41, 0x2e, 0x40, 0x00, 0x11, 0x31, 0xb9, + 0x30, 0xb7, 0x31, 0xb4, 0xb2, 0x39, 0x1a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x73, 0x13, 0x04, 0x62, + 0x63, 0x91, 0xe6, 0x36, 0x47, 0x37, 0x47, 0x22, 0xcd, 0x8d, 0x6e, 0x8e, 0xc6, 0x5c, 0xda, 0xd9, + 0x17, 0x1b, 0xd9, 0x04, 0x81, 0xe0, 0x68, 0xcc, 0xa5, 0x9d, 0x7d, 0xcd, 0xd1, 0xb1, 0xa8, 0x4b, + 0x73, 0xa3, 0x9b, 0xdb, 0xe0, 0xec, 0x02, 0x2b, 0xf0, 0x42, 0x2f, 0xf8, 0x42, 0xf3, 0x0b, 0xac, + 0x00, 0x0e, 0xe1, 0x20, 0x0e, 0xa8, 0x30, 0x0e, 0x43, 0x15, 0x36, 0x36, 0xbb, 0x36, 0x97, 0x34, + 0xb2, 0x32, 0x37, 0xba, 0x29, 0x41, 0x50, 0x85, 0x0c, 0xcf, 0xc5, 0xae, 0x4c, 0x6e, 0x2e, 0xed, + 0xcd, 0x6d, 0x4a, 0x40, 0x34, 0x21, 0xc3, 0x73, 0xb1, 0x0b, 0x63, 0xb3, 0x2b, 0x93, 0x9b, 0x12, + 0x14, 0x75, 0xc8, 0xf0, 0x5c, 0xe6, 0xd0, 0xc2, 0xc8, 0xca, 0xe4, 0x9a, 0xde, 0xc8, 0xca, 0xd8, + 0xa6, 0x04, 0x48, 0x19, 0x32, 0x3c, 0x17, 0xb9, 0xb2, 0xb9, 0xb7, 0x3a, 0xb9, 0xb1, 0xb2, 0xb9, + 0x29, 0xc1, 0x53, 0x89, 0x0c, 0xcf, 0x85, 0x2e, 0x0f, 0xae, 0x2c, 0xc8, 0xcd, 0xed, 0x8d, 0x2e, + 0x8c, 0x2e, 0xed, 0xcd, 0x6d, 0x6e, 0x8a, 0x70, 0x06, 0x6c, 0x50, 0x87, 0x0c, 0xcf, 0xc5, 0x2e, + 0xad, 0xec, 0x2e, 0x89, 0x6c, 0x8a, 0x2e, 0x8c, 0xae, 0x6c, 0x4a, 0xe0, 0x06, 0x75, 0xc8, 0xf0, + 0x5c, 0xca, 0xdc, 0xe8, 0xe4, 0xf2, 0xa0, 0xde, 0xd2, 0xdc, 0xe8, 0xe6, 0xa6, 0x04, 0xb9, 0xd0, + 0x85, 0x0c, 0xcf, 0x65, 0xec, 0xad, 0xce, 0x8d, 0xae, 0x4c, 0x6e, 0x6e, 0x4a, 0x30, 0x0e, 0x00, 0x79, 0x18, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c, 0x42, 0x1e, @@ -174,10 +198,10 @@ static const Uint8 SolidColor_frag_dxil[5552] = { 0xbe, 0xf3, 0xf8, 0xd2, 0xe4, 0x44, 0x04, 0x4a, 0x4d, 0x0f, 0x35, 0xf9, 0xc5, 0x6d, 0x1b, 0xc1, 0x33, 0x5c, 0xbe, 0xf3, 0xf8, 0x54, 0x03, 0x44, 0x98, 0x5f, 0xdc, 0xb6, 0x01, 0x10, 0x0c, 0x80, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x41, 0x53, 0x48, 0x14, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x5e, 0xd9, 0xeb, 0xa7, 0x93, 0x5f, 0xb3, 0xaf, 0x3d, 0xbd, 0x2d, 0x7f, - 0x6c, 0x7b, 0x03, 0xb2, 0x44, 0x58, 0x49, 0x4c, 0x64, 0x0b, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, - 0xd9, 0x02, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x4c, 0x0b, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0xd0, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1f, 0xea, 0x9c, 0x8e, 0x1b, 0xa4, 0x8e, 0xda, 0x78, 0x85, 0x08, 0x51, + 0x2e, 0x33, 0xf2, 0x13, 0x44, 0x58, 0x49, 0x4c, 0x1c, 0x0b, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, + 0xc7, 0x02, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x04, 0x0b, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0xbe, 0x02, 0x00, 0x00, 0x0b, 0x82, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x81, 0x23, 0x91, 0x41, 0xc8, 0x04, 0x49, 0x06, 0x10, 0x32, 0x39, 0x92, 0x01, 0x84, 0x0c, 0x25, 0x05, 0x08, 0x19, 0x1e, 0x04, 0x8b, 0x62, 0x80, 0x18, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42, 0xc4, 0x10, 0x32, 0x14, @@ -200,7 +224,7 @@ static const Uint8 SolidColor_frag_dxil[5552] = { 0x82, 0x62, 0x48, 0x44, 0x41, 0x10, 0x18, 0x65, 0x03, 0x01, 0xc3, 0x08, 0xc4, 0x70, 0x91, 0x34, 0x45, 0x94, 0x30, 0xf9, 0xac, 0x40, 0x34, 0x44, 0x89, 0x18, 0xc7, 0x84, 0x06, 0x8e, 0xe3, 0x72, 0xa0, 0x3b, 0x68, 0xc2, 0x1e, 0xe2, 0x2f, 0x11, 0xe3, 0x98, 0x36, 0xaa, 0x28, 0x88, 0x08, 0x09, - 0x1e, 0x41, 0x5f, 0x3a, 0x10, 0x53, 0x00, 0x00, 0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87, + 0x1e, 0x41, 0x5f, 0x6a, 0x10, 0x53, 0x00, 0x00, 0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87, 0x36, 0x68, 0x87, 0x79, 0x68, 0x03, 0x72, 0xc0, 0x87, 0x0d, 0xaf, 0x50, 0x0e, 0x6d, 0xd0, 0x0e, 0x7a, 0x50, 0x0e, 0x6d, 0x00, 0x0f, 0x7a, 0x30, 0x07, 0x72, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x71, 0xa0, 0x07, 0x73, 0x20, 0x07, 0x6d, 0x90, 0x0e, 0x78, 0xa0, 0x07, 0x73, 0x20, @@ -216,154 +240,150 @@ static const Uint8 SolidColor_frag_dxil[5552] = { 0x00, 0x00, 0x00, 0x60, 0xc8, 0xe3, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x90, 0x67, 0x02, 0x02, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x21, 0x8f, 0x05, 0x04, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x9e, 0x0c, 0x08, 0x80, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb2, 0x40, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, - 0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22, - 0x4a, 0x60, 0x04, 0xa0, 0x20, 0x8a, 0xa1, 0x0c, 0x0a, 0x55, 0xa0, 0x3c, 0xca, 0xa1, 0x08, 0x6a, - 0x80, 0x8a, 0x92, 0x18, 0x01, 0x28, 0x82, 0x42, 0x28, 0x83, 0x02, 0x29, 0x91, 0x12, 0xa8, 0x01, - 0x02, 0x67, 0x00, 0x28, 0x1c, 0xcb, 0x61, 0x88, 0x40, 0x20, 0x90, 0xe3, 0x38, 0x80, 0xe3, 0x38, - 0x0e, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, - 0x46, 0x02, 0x13, 0xc4, 0x31, 0x20, 0xc3, 0x1b, 0x43, 0x81, 0x93, 0x4b, 0xb3, 0x0b, 0xa3, 0x2b, - 0x4b, 0x01, 0x89, 0x71, 0xc1, 0x71, 0x81, 0x71, 0xa1, 0xb9, 0xc1, 0xc9, 0x01, 0x41, 0x11, 0xa3, - 0xb9, 0x89, 0x89, 0xc1, 0x99, 0xc9, 0x29, 0x4b, 0xd9, 0x10, 0x04, 0x13, 0x04, 0x22, 0x99, 0x20, - 0x10, 0xca, 0x06, 0x61, 0x20, 0x26, 0x08, 0xc4, 0xb2, 0x41, 0x18, 0x0c, 0x0a, 0x70, 0x73, 0x13, - 0x04, 0x82, 0xd9, 0x30, 0x20, 0x09, 0x31, 0x41, 0x00, 0x03, 0x8e, 0xc0, 0x04, 0x81, 0x68, 0x26, - 0x08, 0x84, 0xb3, 0x01, 0x21, 0x16, 0xa6, 0x21, 0x06, 0x07, 0xd8, 0x10, 0x3c, 0x1b, 0x08, 0x00, - 0x80, 0x80, 0x09, 0x42, 0x18, 0x74, 0x1b, 0x02, 0x69, 0x82, 0x20, 0x00, 0x24, 0xda, 0xc2, 0xd2, - 0xdc, 0x88, 0x50, 0x15, 0x61, 0x0d, 0x3d, 0x3d, 0x49, 0x11, 0x4d, 0x10, 0x8a, 0x69, 0x82, 0x50, - 0x50, 0x1b, 0x02, 0x62, 0x82, 0x50, 0x54, 0x13, 0x84, 0xc2, 0x9a, 0x20, 0x10, 0xcf, 0x06, 0xa1, - 0xe1, 0x36, 0x2c, 0x84, 0x75, 0x61, 0x99, 0x36, 0x6c, 0x04, 0xd6, 0x6d, 0x08, 0x86, 0x09, 0x42, - 0x71, 0x4d, 0x10, 0x08, 0x68, 0x83, 0xd0, 0x84, 0xc1, 0x86, 0x65, 0xb0, 0x2e, 0xec, 0xd3, 0x06, - 0x30, 0x18, 0x30, 0x31, 0x98, 0x20, 0x10, 0x11, 0x97, 0x29, 0xab, 0x2f, 0xa8, 0xb7, 0xb9, 0x34, - 0xba, 0xb4, 0x37, 0xb7, 0x0d, 0x0b, 0x19, 0x94, 0xc1, 0x05, 0x06, 0xd9, 0x36, 0x6c, 0x64, 0x80, - 0x75, 0x1b, 0x06, 0x6f, 0x0c, 0xcc, 0x80, 0xc9, 0x94, 0xd5, 0x17, 0x55, 0x98, 0xdc, 0x59, 0x19, - 0xdd, 0x04, 0xa1, 0xc0, 0x36, 0x2c, 0x04, 0x1a, 0x5c, 0x69, 0x90, 0x61, 0xc3, 0x46, 0x60, 0x1d, - 0x91, 0x29, 0xab, 0x2f, 0xa2, 0x32, 0x38, 0x3a, 0xb4, 0x09, 0x42, 0x91, 0x4d, 0x10, 0x0a, 0x6d, - 0x82, 0x40, 0x48, 0x13, 0x84, 0x62, 0xdb, 0x20, 0x34, 0xc3, 0x86, 0x65, 0x58, 0x83, 0x8b, 0x0d, - 0x32, 0x6c, 0x68, 0x03, 0x37, 0x78, 0x03, 0x38, 0xd8, 0x20, 0xa8, 0x41, 0x1c, 0x6c, 0x18, 0xce, - 0x40, 0x0e, 0x80, 0x0d, 0x05, 0x55, 0xcd, 0x41, 0x04, 0x54, 0x61, 0x63, 0xb3, 0x6b, 0x73, 0x49, - 0x23, 0x2b, 0x73, 0xa3, 0x9b, 0x12, 0x04, 0x55, 0xc8, 0xf0, 0x5c, 0xec, 0xca, 0xe4, 0xe6, 0xd2, - 0xde, 0xdc, 0xa6, 0x04, 0x44, 0x13, 0x32, 0x3c, 0x17, 0xbb, 0x30, 0x36, 0xbb, 0x32, 0xb9, 0x29, - 0x81, 0x51, 0x87, 0x0c, 0xcf, 0x65, 0x0e, 0x2d, 0x8c, 0xac, 0x4c, 0xae, 0xe9, 0x8d, 0xac, 0x8c, - 0x6d, 0x4a, 0x90, 0x94, 0x21, 0xc3, 0x73, 0x91, 0x2b, 0x9b, 0x7b, 0xab, 0x93, 0x1b, 0x2b, 0x9b, - 0x9b, 0x12, 0x40, 0x75, 0xc8, 0xf0, 0x5c, 0xec, 0xd2, 0xca, 0xee, 0x92, 0xc8, 0xa6, 0xe8, 0xc2, - 0xe8, 0xca, 0xa6, 0x04, 0x52, 0x1d, 0x32, 0x3c, 0x97, 0x32, 0x37, 0x3a, 0xb9, 0x3c, 0xa8, 0xb7, - 0x34, 0x37, 0xba, 0xb9, 0x29, 0xc1, 0x1c, 0x00, 0x79, 0x18, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, - 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, - 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, - 0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c, 0x42, 0x1e, 0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30, - 0x05, 0x3d, 0x88, 0x43, 0x38, 0x84, 0x83, 0x1b, 0xcc, 0x03, 0x3d, 0xc8, 0x43, 0x3d, 0x8c, 0x03, - 0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b, 0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70, 0x07, - 0x7a, 0x70, 0x03, 0x76, 0x78, 0x87, 0x70, 0x20, 0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e, - 0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3, 0xf0, 0x0e, 0xf0, 0x50, 0x0e, 0x33, 0x10, 0xc4, 0x1d, - 0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61, 0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b, - 0xd0, 0x43, 0x39, 0xb4, 0x03, 0x3c, 0xbc, 0x83, 0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76, - 0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x68, 0x87, 0x72, 0x68, 0x07, 0x37, 0x80, 0x87, 0x70, 0x90, - 0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07, 0x76, 0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80, 0x87, - 0x5f, 0x08, 0x87, 0x71, 0x18, 0x87, 0x72, 0x98, 0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e, - 0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec, 0x30, 0x03, 0x62, 0xc8, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, - 0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61, 0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca, - 0x61, 0x06, 0xd6, 0x90, 0x43, 0x39, 0xc8, 0x43, 0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8, - 0xc3, 0x38, 0x94, 0x43, 0x38, 0x88, 0x03, 0x3b, 0x94, 0xc3, 0x2f, 0xbc, 0x83, 0x3c, 0xfc, 0x82, - 0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x8c, 0xc8, 0x21, 0x07, 0x7c, 0x70, 0x03, 0x72, 0x10, 0x87, - 0x73, 0x70, 0x03, 0x7b, 0x08, 0x07, 0x79, 0x60, 0x87, 0x70, 0xc8, 0x87, 0x77, 0xa8, 0x07, 0x7a, - 0x98, 0x81, 0x3c, 0xe4, 0x80, 0x0f, 0x6e, 0x40, 0x0f, 0xe5, 0xd0, 0x0e, 0xf0, 0x30, 0x83, 0x81, - 0xc8, 0x01, 0x1f, 0xdc, 0x40, 0x1c, 0xe4, 0xa1, 0x1c, 0xc2, 0x61, 0x1d, 0xdc, 0x40, 0x1c, 0xe4, - 0x01, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x56, 0x00, 0x0d, 0x97, - 0xef, 0x3c, 0x7e, 0x80, 0x34, 0x40, 0x84, 0xf9, 0xc5, 0x6d, 0x9b, 0xc1, 0x36, 0x5c, 0xbe, 0xf3, - 0xf8, 0x42, 0x40, 0x15, 0x05, 0x11, 0x95, 0x0e, 0x30, 0x94, 0x84, 0x01, 0x08, 0x98, 0x5f, 0xdc, - 0xb6, 0x1d, 0x6c, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x04, 0x54, 0x51, 0x10, 0x51, 0xe9, 0x00, 0x43, - 0x49, 0x18, 0x80, 0x80, 0xf9, 0xc8, 0x6d, 0x1b, 0x82, 0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x42, 0x44, - 0x00, 0x13, 0x11, 0x02, 0xcd, 0xb0, 0x10, 0x36, 0xe0, 0x0c, 0x97, 0xef, 0x3c, 0xfe, 0xe0, 0x4c, - 0xb7, 0x5f, 0xdc, 0xb6, 0x05, 0x4c, 0xc3, 0xe5, 0x3b, 0x8f, 0xbf, 0x38, 0xc0, 0x20, 0x36, 0x0f, - 0x35, 0xf9, 0xc5, 0x6d, 0x9b, 0x40, 0x35, 0x5c, 0xbe, 0xf3, 0xf8, 0xd2, 0xe4, 0x44, 0x04, 0x4a, - 0x4d, 0x0f, 0x35, 0xf9, 0xc5, 0x6d, 0x1b, 0xc1, 0x33, 0x5c, 0xbe, 0xf3, 0xf8, 0x54, 0x03, 0x44, - 0x98, 0x5f, 0xdc, 0xb6, 0x01, 0x10, 0x0c, 0x80, 0x34, 0x00, 0x00, 0x00, 0x61, 0x20, 0x00, 0x00, - 0x3e, 0x01, 0x00, 0x00, 0x13, 0x04, 0x4b, 0x2c, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x84, 0x8d, 0x00, 0x10, 0x51, 0x30, 0x25, 0x57, 0x2a, 0xe5, 0x52, 0x12, 0x85, 0x30, 0x03, 0x50, - 0x6e, 0x65, 0x57, 0x32, 0xa5, 0x50, 0x46, 0x34, 0x8c, 0x11, 0xb0, 0x2f, 0x0d, 0xef, 0xde, 0x18, - 0xc1, 0x3b, 0x93, 0x26, 0xec, 0x8d, 0x11, 0x80, 0x20, 0x08, 0xea, 0x60, 0x30, 0x46, 0x00, 0x82, - 0x20, 0x88, 0x7f, 0x63, 0x04, 0x20, 0x08, 0x82, 0x20, 0x28, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x90, 0xa5, 0x41, 0xc4, 0x9d, 0xc1, 0x19, 0x4c, 0x23, 0x06, - 0x09, 0x00, 0x82, 0x60, 0x60, 0xc4, 0x81, 0x13, 0x06, 0x68, 0xe0, 0x35, 0x23, 0x06, 0x09, 0x00, - 0x82, 0x60, 0x60, 0xc8, 0xc1, 0x23, 0x06, 0x69, 0x90, 0x39, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, - 0x60, 0xcc, 0x01, 0x34, 0x06, 0x6a, 0xf0, 0x3d, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0xd0, - 0x41, 0x44, 0x06, 0x6b, 0xe0, 0x41, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0xd4, 0x81, 0xd4, - 0x06, 0x6c, 0x20, 0x06, 0xd1, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x76, 0x30, 0xb9, 0x41, - 0x1b, 0x74, 0xd2, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x77, 0x40, 0xbd, 0x81, 0x1b, 0x8c, - 0xc1, 0x34, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x06, 0x1e, 0x54, 0x6f, 0xf0, 0x06, 0x65, 0x40, - 0x8d, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x91, 0x07, 0x16, 0x1c, 0xc0, 0x01, 0x18, 0x54, 0x23, - 0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0xe8, 0xc1, 0x15, 0x07, 0x71, 0x60, 0x06, 0xd6, 0x88, 0x41, - 0x02, 0x80, 0x20, 0x18, 0x18, 0x7b, 0x80, 0xc9, 0x81, 0x1c, 0x94, 0xc1, 0x65, 0x0f, 0x42, 0x9f, - 0x11, 0x83, 0x05, 0x00, 0x41, 0x30, 0x50, 0xf6, 0x00, 0x43, 0x0e, 0x03, 0x39, 0x8c, 0x11, 0x03, - 0x03, 0x00, 0x41, 0x30, 0x60, 0xf6, 0xe0, 0x0a, 0x2c, 0x50, 0xe4, 0x63, 0x82, 0x22, 0x1f, 0x1b, - 0x14, 0xf9, 0x58, 0x64, 0xd0, 0xc7, 0xa2, 0x83, 0x3e, 0x16, 0x21, 0xf4, 0xb1, 0x6b, 0x88, 0x8f, - 0x61, 0x43, 0x7c, 0x2c, 0x1b, 0xe2, 0x33, 0x62, 0xb0, 0x00, 0x20, 0x08, 0x06, 0x8a, 0x29, 0x8c, - 0xc1, 0x20, 0x04, 0x83, 0x10, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x01, 0x63, 0x0a, 0x62, 0x10, - 0x58, 0x50, 0xc8, 0xc7, 0x84, 0x42, 0x3e, 0x36, 0x14, 0xf2, 0x19, 0x31, 0x38, 0x00, 0x10, 0x04, - 0x03, 0xeb, 0x14, 0xce, 0xa0, 0x5b, 0x83, 0xd1, 0x84, 0x00, 0x18, 0x6e, 0x08, 0x4c, 0xc1, 0x0c, - 0x66, 0x19, 0x02, 0x25, 0x98, 0x25, 0x10, 0x06, 0x2a, 0x86, 0xfa, 0x40, 0x44, 0x21, 0x18, 0xa8, - 0x18, 0xea, 0x03, 0x21, 0x85, 0x60, 0xa0, 0x62, 0xa8, 0x0f, 0xc4, 0x14, 0x82, 0x81, 0x0a, 0xa2, - 0x3e, 0x10, 0x9a, 0x08, 0x2a, 0x40, 0x05, 0xa9, 0xa0, 0x15, 0x60, 0xc4, 0xe0, 0x00, 0x40, 0x10, - 0x0c, 0xa6, 0x58, 0x80, 0x03, 0x33, 0x08, 0x46, 0x13, 0x82, 0x61, 0x38, 0x22, 0x58, 0x83, 0xe0, - 0xab, 0x22, 0x15, 0x60, 0xc4, 0xe0, 0x00, 0x40, 0x10, 0x0c, 0xa6, 0x5a, 0xa0, 0x03, 0x35, 0x08, - 0x46, 0x13, 0x82, 0x61, 0x38, 0x22, 0x78, 0x83, 0xe0, 0xab, 0x22, 0xd8, 0x59, 0x06, 0x62, 0x08, - 0x46, 0x0c, 0x0e, 0x00, 0x04, 0xc1, 0x60, 0xca, 0x05, 0x3c, 0x70, 0x03, 0x65, 0x34, 0x21, 0x00, - 0x46, 0x13, 0x84, 0x60, 0x34, 0x61, 0x10, 0x6c, 0x50, 0x03, 0xf9, 0xd8, 0xa0, 0x06, 0xf2, 0xb1, - 0x41, 0x0d, 0xe4, 0x63, 0x43, 0x05, 0x1f, 0x1b, 0x2a, 0xf8, 0xd8, 0x50, 0xc1, 0x67, 0x96, 0x00, - 0x99, 0x65, 0x28, 0x0c, 0x68, 0x34, 0x41, 0x02, 0x46, 0x13, 0xa6, 0x60, 0x34, 0x81, 0x12, 0x6c, - 0x48, 0x83, 0xf8, 0xd8, 0x90, 0x06, 0xf1, 0xb1, 0x21, 0x0d, 0xe2, 0x33, 0x62, 0xb0, 0x00, 0x20, - 0x08, 0x06, 0x0a, 0x3b, 0xa4, 0xc2, 0x20, 0x04, 0x83, 0x10, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, - 0x01, 0xc3, 0x0e, 0xa8, 0x10, 0x58, 0x50, 0xc8, 0xc7, 0x84, 0x42, 0x3e, 0x36, 0x14, 0xf2, 0x31, - 0x04, 0x91, 0x8f, 0x21, 0x88, 0x7c, 0x4c, 0x08, 0xe0, 0x63, 0x49, 0x22, 0x1f, 0x13, 0x02, 0xf8, - 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x01, 0x53, 0x0f, 0xba, 0x10, 0x8c, 0x18, 0x2c, 0x00, 0x08, - 0x82, 0x81, 0x72, 0x0f, 0xb4, 0xa0, 0x07, 0x79, 0x80, 0x07, 0x09, 0x72, 0x8c, 0x18, 0x1c, 0x00, - 0x08, 0x82, 0x81, 0x63, 0x0f, 0xb1, 0x10, 0xac, 0x82, 0x05, 0xa3, 0x20, 0x1f, 0x13, 0x46, 0x41, - 0x3e, 0x36, 0x8c, 0x82, 0x7c, 0xcc, 0xa1, 0x03, 0xf8, 0x98, 0x43, 0x07, 0xf0, 0x31, 0x87, 0x0e, - 0xe0, 0x33, 0x62, 0xb0, 0x00, 0x20, 0x08, 0x06, 0xca, 0x3f, 0xf0, 0xc2, 0x20, 0x04, 0x83, 0x10, - 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x01, 0xf3, 0x0f, 0xbb, 0x10, 0x58, 0x50, 0xc8, 0xc7, 0x84, - 0x42, 0x3e, 0x36, 0x14, 0xf2, 0x19, 0x31, 0x58, 0x00, 0x10, 0x04, 0x03, 0x85, 0x24, 0xc2, 0xe1, - 0x14, 0x4c, 0xa1, 0x14, 0x06, 0x21, 0x18, 0x31, 0x38, 0x00, 0x10, 0x04, 0x03, 0x67, 0x24, 0x7c, - 0x21, 0xc0, 0x85, 0x11, 0x03, 0x03, 0x00, 0x41, 0x30, 0x60, 0x4a, 0xe2, 0x1c, 0x02, 0x0b, 0x7a, - 0x41, 0x3e, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0xc0, 0x9c, 0x84, 0x3a, 0x04, 0x16, 0x40, 0xf0, - 0x31, 0x01, 0x82, 0x8f, 0x0d, 0x10, 0x7c, 0x46, 0x0c, 0x0e, 0x00, 0x04, 0xc1, 0x60, 0x4a, 0x09, - 0x74, 0xf0, 0x05, 0x3d, 0x18, 0x4d, 0x08, 0x80, 0xd1, 0x04, 0x21, 0x18, 0x4d, 0x18, 0x04, 0x1b, - 0x0e, 0xf9, 0xd8, 0x70, 0xc8, 0xc7, 0x86, 0x43, 0x3e, 0xd6, 0xa9, 0x83, 0x7c, 0x2c, 0x60, 0x07, - 0xf8, 0x58, 0xf0, 0xc9, 0xc7, 0x82, 0x75, 0x80, 0x8f, 0xb1, 0x43, 0x40, 0x1f, 0x43, 0x02, 0xf9, - 0x18, 0x22, 0xc8, 0xc7, 0x90, 0x41, 0x3e, 0x36, 0xb4, 0x02, 0x7c, 0x6c, 0x68, 0x05, 0xf8, 0xd8, - 0xd0, 0x0a, 0xf0, 0x99, 0x25, 0x40, 0x66, 0x19, 0x0e, 0x84, 0x14, 0x46, 0x13, 0x4c, 0x01, 0x18, - 0x4d, 0x38, 0x85, 0x60, 0x34, 0x01, 0x15, 0x04, 0xab, 0x87, 0x21, 0x3e, 0x66, 0x0f, 0x43, 0x7c, - 0xec, 0x1e, 0x86, 0xf8, 0x8c, 0x18, 0x2c, 0x00, 0x08, 0x82, 0x81, 0x42, 0x16, 0x21, 0x31, 0x08, - 0xc1, 0x20, 0x04, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0xc0, 0x90, 0x05, 0x48, 0x04, 0x16, 0x14, - 0xf2, 0x31, 0xa1, 0x90, 0x8f, 0x0d, 0x85, 0x7c, 0x46, 0x0c, 0x16, 0x00, 0x04, 0xc1, 0x40, 0x49, - 0x0b, 0x93, 0x60, 0x87, 0x75, 0x50, 0x87, 0x41, 0x08, 0x46, 0x0c, 0x0e, 0x00, 0x04, 0xc1, 0xc0, - 0x41, 0x8b, 0x91, 0x08, 0xfa, 0xc1, 0x82, 0x7a, 0x90, 0x8f, 0x09, 0xf5, 0x20, 0x1f, 0x1b, 0xea, - 0x41, 0x3e, 0x86, 0x98, 0x03, 0x7c, 0x0c, 0x31, 0x07, 0xf8, 0x18, 0x62, 0x0e, 0xf0, 0x19, 0x31, - 0x58, 0x00, 0x10, 0x04, 0x03, 0x25, 0x2e, 0x5c, 0x62, 0x10, 0x82, 0x41, 0x08, 0x46, 0x0c, 0x0c, - 0x00, 0x04, 0xc1, 0x80, 0x89, 0x8b, 0x96, 0x08, 0x2c, 0x28, 0xe4, 0x63, 0x42, 0x21, 0x1f, 0x1b, - 0x0a, 0xf9, 0x8c, 0x18, 0x2c, 0x00, 0x08, 0x82, 0x81, 0x62, 0x17, 0x33, 0x91, 0x0f, 0xf8, 0x70, - 0x0f, 0x83, 0x10, 0x8c, 0x18, 0x1c, 0x00, 0x08, 0x82, 0x81, 0x53, 0x17, 0x30, 0x11, 0xa8, 0xc4, - 0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x30, 0x77, 0x91, 0x13, 0x81, 0x05, 0x2f, 0x21, 0x9f, 0x11, - 0x03, 0x03, 0x00, 0x41, 0x30, 0x60, 0xf2, 0x82, 0x27, 0x02, 0x0b, 0x20, 0xf8, 0x98, 0x00, 0xc1, - 0xc7, 0x06, 0x08, 0x3e, 0x23, 0x06, 0x07, 0x00, 0x82, 0x60, 0x30, 0xed, 0x85, 0x4e, 0xc0, 0x04, - 0x3b, 0x8c, 0x26, 0x04, 0xc0, 0x68, 0x82, 0x10, 0x8c, 0x26, 0x0c, 0x82, 0x0d, 0x87, 0x7c, 0x6c, - 0x38, 0xe4, 0x63, 0xc3, 0x21, 0x1f, 0x1b, 0xee, 0x01, 0x3e, 0x36, 0xdc, 0x03, 0x7c, 0x6c, 0xb8, - 0x07, 0xf8, 0xcc, 0x12, 0x20, 0x03, 0x25, 0x83, 0x6a, 0x0c, 0xba, 0x50, 0x18, 0x07, 0x7d, 0x18, - 0x03, 0x25, 0x83, 0x6a, 0x0c, 0xba, 0x50, 0x18, 0x07, 0x7d, 0x18, 0x03, 0x25, 0x83, 0x6a, 0x0c, - 0xba, 0x50, 0x18, 0x07, 0x7d, 0x18, 0xa6, 0x0f, 0xa5, 0x01, 0x83, 0x11, 0x83, 0x03, 0x00, 0x41, - 0x30, 0xb0, 0x50, 0x03, 0x2d, 0x7c, 0x82, 0x2d, 0x46, 0x13, 0x02, 0x60, 0xb8, 0x61, 0x08, 0xd0, - 0x60, 0x96, 0x41, 0x48, 0x82, 0x59, 0x02, 0x65, 0xa0, 0x62, 0x20, 0x15, 0xc0, 0x49, 0x06, 0x2a, - 0x06, 0x53, 0x01, 0x9c, 0x64, 0xa0, 0x62, 0x40, 0x15, 0xc0, 0x49, 0x46, 0x0c, 0x12, 0x00, 0x04, - 0xc1, 0x00, 0x99, 0x0d, 0xb6, 0x58, 0x8d, 0xd5, 0x08, 0x8d, 0x61, 0xc4, 0x20, 0x01, 0x40, 0x10, - 0x0c, 0x90, 0xd9, 0x60, 0x8b, 0xd5, 0x58, 0x8d, 0xbd, 0x10, 0x46, 0x0c, 0x12, 0x00, 0x04, 0xc1, - 0x00, 0x99, 0x0d, 0xb6, 0x58, 0x8d, 0xd5, 0x00, 0x8d, 0x60, 0xc4, 0x20, 0x01, 0x40, 0x10, 0x0c, - 0x90, 0xd9, 0x60, 0x8b, 0xd5, 0x58, 0x0d, 0xbf, 0xc8, 0x89, 0x11, 0x83, 0x04, 0x00, 0x41, 0x30, - 0x40, 0x66, 0x83, 0x2d, 0x58, 0x63, 0x35, 0x42, 0x03, 0x27, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb2, 0x40, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x32, 0x1e, 0x98, 0x18, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22, + 0x4a, 0x60, 0x04, 0xa0, 0x24, 0x8a, 0xa1, 0x0c, 0x0a, 0x55, 0xa0, 0x1c, 0xca, 0xa3, 0x08, 0x0a, + 0xa1, 0x14, 0x0a, 0xa2, 0x06, 0xa8, 0x28, 0x89, 0x11, 0x80, 0x22, 0x28, 0x83, 0x42, 0x28, 0x85, + 0x12, 0x28, 0x90, 0x12, 0xa9, 0x01, 0x02, 0x67, 0x00, 0x28, 0x1c, 0x4b, 0xc3, 0x88, 0xe3, 0x38, + 0x8e, 0x40, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe3, 0x38, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, + 0x46, 0x02, 0x13, 0xc4, 0x8f, 0x0c, 0x6f, 0x0c, 0x05, 0x4e, 0x2e, 0xcd, 0x2e, 0x8c, 0xae, 0x2c, + 0x05, 0x24, 0xc6, 0x05, 0xc7, 0x05, 0xc6, 0x25, 0x06, 0x04, 0x05, 0x46, 0xac, 0x2c, 0x2c, 0xec, + 0xc6, 0xe6, 0x26, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x88, 0x64, 0x82, 0x40, 0x28, 0x1b, 0x84, 0x81, + 0x98, 0x20, 0x10, 0xcb, 0x06, 0x61, 0x30, 0x28, 0xc0, 0xcd, 0x4d, 0x10, 0x08, 0x66, 0xc3, 0x80, + 0x24, 0xc4, 0x04, 0x01, 0x0c, 0xc0, 0x80, 0xc0, 0x04, 0x81, 0x68, 0x26, 0x08, 0x84, 0xb3, 0x01, + 0x21, 0x16, 0xa6, 0x21, 0x06, 0x07, 0xd8, 0x10, 0x3c, 0x1b, 0x08, 0x00, 0x80, 0x80, 0x09, 0x42, + 0x18, 0x84, 0xc1, 0x86, 0x40, 0x9a, 0x20, 0x08, 0x00, 0x89, 0xb6, 0xb0, 0x34, 0x37, 0x22, 0x54, + 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x13, 0x84, 0xc2, 0x9a, 0x20, 0x14, 0xd7, 0x86, 0x80, + 0x98, 0x20, 0x14, 0xd8, 0x04, 0xa1, 0xc8, 0x26, 0x08, 0xc4, 0xb3, 0x41, 0x68, 0xb8, 0x0d, 0x0b, + 0x61, 0x5d, 0x58, 0xa6, 0x0d, 0x1b, 0x81, 0x75, 0x1b, 0x82, 0x61, 0x82, 0x50, 0x68, 0x13, 0x04, + 0x02, 0xda, 0x20, 0x34, 0x61, 0xb0, 0x61, 0x19, 0xac, 0x0b, 0xfb, 0xb4, 0x01, 0x0c, 0x06, 0x4c, + 0x0c, 0x26, 0x08, 0x44, 0x34, 0x41, 0x28, 0xb6, 0x0d, 0x01, 0x19, 0x4c, 0x10, 0x0a, 0x6e, 0xc3, + 0x42, 0x06, 0x56, 0x19, 0x60, 0x66, 0x70, 0x06, 0xc3, 0x19, 0x90, 0x01, 0x06, 0x6c, 0x08, 0x9a, + 0x0d, 0x4b, 0x63, 0x5d, 0x58, 0x1a, 0x68, 0x83, 0xd6, 0x60, 0xc0, 0x04, 0x81, 0x90, 0x36, 0x04, + 0x6b, 0xb0, 0x41, 0x68, 0x86, 0x0d, 0xcb, 0x1a, 0x58, 0x17, 0xc6, 0x06, 0xda, 0x70, 0x06, 0xc4, + 0xd6, 0x06, 0x13, 0x04, 0x62, 0xda, 0x10, 0xbc, 0xc1, 0x86, 0xe5, 0x0d, 0xac, 0x0b, 0x83, 0x03, + 0x6d, 0xd8, 0xd6, 0x00, 0xeb, 0xb8, 0x4c, 0x59, 0x7d, 0x41, 0xbd, 0xcd, 0xa5, 0xd1, 0xa5, 0xbd, + 0xb9, 0x4d, 0x10, 0x08, 0x6a, 0x83, 0xd0, 0xcc, 0xc1, 0x86, 0x25, 0x91, 0x83, 0x6b, 0xcb, 0xc0, + 0x60, 0x00, 0x83, 0x37, 0xc0, 0xe8, 0x60, 0xc3, 0xe1, 0x8d, 0x01, 0x1a, 0xa8, 0x81, 0x1b, 0xc4, + 0x41, 0x1d, 0x30, 0x99, 0xb2, 0xfa, 0xa2, 0x0a, 0x93, 0x3b, 0x2b, 0xa3, 0x9b, 0x20, 0x14, 0xdd, + 0x86, 0x85, 0xb8, 0x83, 0x0b, 0x0f, 0x32, 0x6c, 0x00, 0x03, 0x02, 0x13, 0x03, 0x22, 0x53, 0x56, + 0x5f, 0x44, 0x65, 0x70, 0x74, 0x68, 0x13, 0x84, 0xc2, 0x9b, 0x20, 0x10, 0xd5, 0x04, 0xa1, 0xf8, + 0x36, 0x2c, 0x83, 0x1e, 0x5c, 0x7b, 0x90, 0x61, 0xc3, 0x19, 0xf0, 0x41, 0x1f, 0xb4, 0xc1, 0x06, + 0x21, 0x0f, 0xfc, 0x60, 0xc3, 0x60, 0x07, 0x7f, 0x00, 0x6c, 0x28, 0xa8, 0x0a, 0x14, 0x22, 0xa0, + 0x0a, 0x1b, 0x9b, 0x5d, 0x9b, 0x4b, 0x1a, 0x59, 0x99, 0x1b, 0xdd, 0x94, 0x20, 0xa8, 0x42, 0x86, + 0xe7, 0x62, 0x57, 0x26, 0x37, 0x97, 0xf6, 0xe6, 0x36, 0x25, 0x20, 0x9a, 0x90, 0xe1, 0xb9, 0xd8, + 0x85, 0xb1, 0xd9, 0x95, 0xc9, 0x4d, 0x09, 0x8c, 0x3a, 0x64, 0x78, 0x2e, 0x73, 0x68, 0x61, 0x64, + 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x82, 0xa4, 0x0c, 0x19, 0x9e, 0x8b, 0x5c, 0xd9, + 0xdc, 0x5b, 0x9d, 0xdc, 0x58, 0xd9, 0xdc, 0x94, 0x00, 0xaa, 0x43, 0x86, 0xe7, 0x62, 0x97, 0x56, + 0x76, 0x97, 0x44, 0x36, 0x45, 0x17, 0x46, 0x57, 0x36, 0x25, 0x90, 0xea, 0x90, 0xe1, 0xb9, 0x94, + 0xb9, 0xd1, 0xc9, 0xe5, 0x41, 0xbd, 0xa5, 0xb9, 0xd1, 0xcd, 0x4d, 0x09, 0x40, 0x01, 0x00, 0x00, + 0x79, 0x18, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x33, 0x08, 0x80, 0x1c, 0xc4, 0xe1, 0x1c, 0x66, + 0x14, 0x01, 0x3d, 0x88, 0x43, 0x38, 0x84, 0xc3, 0x8c, 0x42, 0x80, 0x07, 0x79, 0x78, 0x07, 0x73, + 0x98, 0x71, 0x0c, 0xe6, 0x00, 0x0f, 0xed, 0x10, 0x0e, 0xf4, 0x80, 0x0e, 0x33, 0x0c, 0x42, 0x1e, + 0xc2, 0xc1, 0x1d, 0xce, 0xa1, 0x1c, 0x66, 0x30, 0x05, 0x3d, 0x88, 0x43, 0x38, 0x84, 0x83, 0x1b, + 0xcc, 0x03, 0x3d, 0xc8, 0x43, 0x3d, 0x8c, 0x03, 0x3d, 0xcc, 0x78, 0x8c, 0x74, 0x70, 0x07, 0x7b, + 0x08, 0x07, 0x79, 0x48, 0x87, 0x70, 0x70, 0x07, 0x7a, 0x70, 0x03, 0x76, 0x78, 0x87, 0x70, 0x20, + 0x87, 0x19, 0xcc, 0x11, 0x0e, 0xec, 0x90, 0x0e, 0xe1, 0x30, 0x0f, 0x6e, 0x30, 0x0f, 0xe3, 0xf0, + 0x0e, 0xf0, 0x50, 0x0e, 0x33, 0x10, 0xc4, 0x1d, 0xde, 0x21, 0x1c, 0xd8, 0x21, 0x1d, 0xc2, 0x61, + 0x1e, 0x66, 0x30, 0x89, 0x3b, 0xbc, 0x83, 0x3b, 0xd0, 0x43, 0x39, 0xb4, 0x03, 0x3c, 0xbc, 0x83, + 0x3c, 0x84, 0x03, 0x3b, 0xcc, 0xf0, 0x14, 0x76, 0x60, 0x07, 0x7b, 0x68, 0x07, 0x37, 0x68, 0x87, + 0x72, 0x68, 0x07, 0x37, 0x80, 0x87, 0x70, 0x90, 0x87, 0x70, 0x60, 0x07, 0x76, 0x28, 0x07, 0x76, + 0xf8, 0x05, 0x76, 0x78, 0x87, 0x77, 0x80, 0x87, 0x5f, 0x08, 0x87, 0x71, 0x18, 0x87, 0x72, 0x98, + 0x87, 0x79, 0x98, 0x81, 0x2c, 0xee, 0xf0, 0x0e, 0xee, 0xe0, 0x0e, 0xf5, 0xc0, 0x0e, 0xec, 0x30, + 0x03, 0x62, 0xc8, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xcc, 0xa1, 0x1c, 0xe4, 0xa1, 0x1c, 0xdc, 0x61, + 0x1c, 0xca, 0x21, 0x1c, 0xc4, 0x81, 0x1d, 0xca, 0x61, 0x06, 0xd6, 0x90, 0x43, 0x39, 0xc8, 0x43, + 0x39, 0x98, 0x43, 0x39, 0xc8, 0x43, 0x39, 0xb8, 0xc3, 0x38, 0x94, 0x43, 0x38, 0x88, 0x03, 0x3b, + 0x94, 0xc3, 0x2f, 0xbc, 0x83, 0x3c, 0xfc, 0x82, 0x3b, 0xd4, 0x03, 0x3b, 0xb0, 0xc3, 0x8c, 0xc8, + 0x21, 0x07, 0x7c, 0x70, 0x03, 0x72, 0x10, 0x87, 0x73, 0x70, 0x03, 0x7b, 0x08, 0x07, 0x79, 0x60, + 0x87, 0x70, 0xc8, 0x87, 0x77, 0xa8, 0x07, 0x7a, 0x98, 0x81, 0x3c, 0xe4, 0x80, 0x0f, 0x6e, 0x40, + 0x0f, 0xe5, 0xd0, 0x0e, 0xf0, 0x30, 0x83, 0x81, 0xc8, 0x01, 0x1f, 0xdc, 0x40, 0x1c, 0xe4, 0xa1, + 0x1c, 0xc2, 0x61, 0x1d, 0xdc, 0x40, 0x1c, 0xe4, 0x01, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, + 0x24, 0x00, 0x00, 0x00, 0x56, 0x00, 0x0d, 0x97, 0xef, 0x3c, 0x7e, 0x80, 0x34, 0x40, 0x84, 0xf9, + 0xc5, 0x6d, 0x9b, 0xc1, 0x36, 0x5c, 0xbe, 0xf3, 0xf8, 0x42, 0x40, 0x15, 0x05, 0x11, 0x95, 0x0e, + 0x30, 0x94, 0x84, 0x01, 0x08, 0x98, 0x5f, 0xdc, 0xb6, 0x1d, 0x6c, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f, + 0x04, 0x54, 0x51, 0x10, 0x51, 0xe9, 0x00, 0x43, 0x49, 0x18, 0x80, 0x80, 0xf9, 0xc8, 0x6d, 0x1b, + 0x82, 0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x42, 0x44, 0x00, 0x13, 0x11, 0x02, 0xcd, 0xb0, 0x10, 0x36, + 0xe0, 0x0c, 0x97, 0xef, 0x3c, 0xfe, 0xe0, 0x4c, 0xb7, 0x5f, 0xdc, 0xb6, 0x05, 0x4c, 0xc3, 0xe5, + 0x3b, 0x8f, 0xbf, 0x38, 0xc0, 0x20, 0x36, 0x0f, 0x35, 0xf9, 0xc5, 0x6d, 0x9b, 0x40, 0x35, 0x5c, + 0xbe, 0xf3, 0xf8, 0xd2, 0xe4, 0x44, 0x04, 0x4a, 0x4d, 0x0f, 0x35, 0xf9, 0xc5, 0x6d, 0x1b, 0xc1, + 0x33, 0x5c, 0xbe, 0xf3, 0xf8, 0x54, 0x03, 0x44, 0x98, 0x5f, 0xdc, 0xb6, 0x01, 0x10, 0x0c, 0x80, + 0x34, 0x00, 0x00, 0x00, 0x61, 0x20, 0x00, 0x00, 0x12, 0x01, 0x00, 0x00, 0x13, 0x04, 0x50, 0x2c, + 0x10, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x84, 0x8d, 0x00, 0x10, 0x51, 0x2a, 0xe5, 0x32, + 0x03, 0x50, 0x76, 0x65, 0x54, 0x48, 0xe5, 0x56, 0x72, 0x25, 0x53, 0x30, 0x34, 0x8c, 0x11, 0x80, + 0x20, 0x08, 0x82, 0xa0, 0x30, 0x46, 0x00, 0x82, 0x20, 0x88, 0x7f, 0x23, 0x00, 0x00, 0x00, 0x00, + 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x90, 0xa1, 0x81, 0x81, 0x99, 0x81, 0x19, 0x38, 0x23, 0x06, + 0x09, 0x00, 0x82, 0x60, 0x60, 0xc0, 0xc1, 0x57, 0x06, 0x67, 0x80, 0x31, 0x23, 0x06, 0x09, 0x00, + 0x82, 0x60, 0x60, 0xc4, 0x01, 0x18, 0x7c, 0x68, 0xb0, 0x35, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, + 0x60, 0xc8, 0x41, 0x18, 0x80, 0x41, 0x1a, 0x5c, 0xce, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, + 0x73, 0x20, 0x06, 0x61, 0xa0, 0x06, 0xdc, 0x33, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x06, 0x1d, + 0x8c, 0xc1, 0x18, 0xac, 0x81, 0x07, 0x8d, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x51, 0x07, 0x64, + 0xd0, 0x06, 0x6c, 0xf0, 0x45, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0xd8, 0x41, 0x19, 0xb8, + 0x41, 0x1b, 0x6c, 0xd2, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x77, 0x60, 0x06, 0x6f, 0xe0, + 0x06, 0x60, 0x30, 0x8d, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x81, 0x07, 0x67, 0x00, 0x07, 0x6f, + 0x00, 0x06, 0xd4, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x79, 0x80, 0x06, 0x70, 0x00, 0x07, + 0x63, 0x50, 0x8d, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0xa1, 0x07, 0x69, 0x10, 0x07, 0x71, 0xf0, + 0x59, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0xec, 0x81, 0x1a, 0xc8, 0x81, 0x1c, 0x90, 0xc1, + 0x65, 0x0f, 0x43, 0x9f, 0x11, 0x83, 0x03, 0x00, 0x41, 0x30, 0xb0, 0xee, 0x00, 0x73, 0xe6, 0x60, + 0x34, 0x21, 0x00, 0x86, 0x1b, 0x02, 0x3b, 0x30, 0x83, 0x59, 0x86, 0xe0, 0x09, 0x66, 0x09, 0x84, + 0x81, 0x8a, 0xa1, 0x2c, 0x1a, 0x32, 0x08, 0x06, 0x2a, 0x86, 0xb2, 0x68, 0xcc, 0x20, 0x18, 0xa8, + 0x18, 0xca, 0xa2, 0x41, 0x83, 0x60, 0xa0, 0x62, 0x28, 0x8b, 0x46, 0x0d, 0x82, 0x81, 0x8a, 0xa1, + 0x2c, 0x1a, 0x36, 0x08, 0x06, 0x2a, 0x86, 0xb2, 0x68, 0xdc, 0x20, 0x18, 0xa8, 0x20, 0xca, 0xa2, + 0xd1, 0x87, 0xa0, 0x82, 0x3d, 0x90, 0x0a, 0x40, 0x01, 0x46, 0x0c, 0x0e, 0x00, 0x04, 0xc1, 0x60, + 0x22, 0x05, 0x32, 0xd0, 0x82, 0xd1, 0x84, 0x60, 0x18, 0x8e, 0x08, 0xba, 0xe0, 0x9b, 0x65, 0x18, + 0x88, 0xa0, 0x0a, 0x3e, 0x80, 0x11, 0x83, 0x03, 0x00, 0x41, 0x30, 0x98, 0x50, 0x01, 0x0d, 0xbc, + 0x60, 0x34, 0x21, 0x18, 0x86, 0x23, 0x82, 0x30, 0x08, 0xbe, 0x0b, 0x88, 0x98, 0x25, 0x20, 0x06, + 0x2a, 0x08, 0x61, 0x80, 0x09, 0x61, 0xb8, 0x21, 0x48, 0x05, 0x30, 0x98, 0x65, 0x30, 0x8a, 0x60, + 0xc4, 0xe0, 0x00, 0x40, 0x10, 0x0c, 0x26, 0x57, 0x70, 0x03, 0x32, 0x60, 0x46, 0x13, 0x02, 0x60, + 0x34, 0x41, 0x08, 0x46, 0x13, 0x06, 0xc1, 0x06, 0x0a, 0x3e, 0x36, 0x50, 0xf0, 0xb1, 0x81, 0x82, + 0xcf, 0x2c, 0x41, 0x53, 0x93, 0x2a, 0xc0, 0x88, 0xc1, 0x01, 0x80, 0x20, 0x18, 0x4c, 0xb6, 0x60, + 0x07, 0x6c, 0x10, 0x8c, 0x26, 0x04, 0xc3, 0x70, 0x44, 0x00, 0x07, 0xc1, 0x37, 0xcb, 0x70, 0x20, + 0xc1, 0x68, 0xc2, 0x00, 0x8c, 0x26, 0x10, 0xc1, 0x68, 0x42, 0x21, 0x58, 0x1d, 0x0c, 0xf1, 0x31, + 0x3b, 0x18, 0xe2, 0x63, 0x77, 0x30, 0xc4, 0x67, 0xc4, 0x60, 0x01, 0x40, 0x10, 0x0c, 0x14, 0x71, + 0xe0, 0x83, 0x41, 0x08, 0x06, 0x21, 0x18, 0x31, 0x30, 0x00, 0x10, 0x04, 0x03, 0x46, 0x1c, 0xf6, + 0x20, 0xb0, 0xa0, 0x90, 0x8f, 0x09, 0x85, 0x7c, 0x6c, 0x28, 0xe4, 0x33, 0x4b, 0xa0, 0x8c, 0x26, + 0x80, 0x01, 0x30, 0x9a, 0x10, 0x06, 0xc1, 0x68, 0x82, 0x18, 0x08, 0x36, 0xec, 0x41, 0x7c, 0x6c, + 0xd8, 0x83, 0xf8, 0xd8, 0xb0, 0x07, 0xf1, 0xb1, 0x61, 0x90, 0x8f, 0x0d, 0x83, 0x7c, 0x4c, 0x08, + 0xe0, 0x63, 0x04, 0x21, 0x1f, 0x13, 0x02, 0xf8, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x01, 0x13, + 0x0f, 0xa9, 0x10, 0x0c, 0x47, 0x04, 0xa7, 0x10, 0x7c, 0xb3, 0x0c, 0x4d, 0x12, 0x98, 0x22, 0xd0, + 0xc7, 0x94, 0x81, 0x3e, 0xa6, 0x10, 0xf4, 0x99, 0x25, 0x50, 0x06, 0x2a, 0x06, 0x33, 0x38, 0x8c, + 0x64, 0xa0, 0x62, 0x30, 0x83, 0xc3, 0x48, 0x06, 0x2a, 0x06, 0x33, 0x38, 0x8c, 0x64, 0xc4, 0x60, + 0x01, 0x40, 0x10, 0x0c, 0x14, 0x7d, 0xa0, 0x85, 0x51, 0x10, 0x85, 0x50, 0x18, 0x84, 0x60, 0x38, + 0x22, 0x78, 0x05, 0xe1, 0x9b, 0x65, 0x58, 0x9a, 0x60, 0xc4, 0xe0, 0x00, 0x40, 0x10, 0x0c, 0xa6, + 0x7c, 0xc8, 0x85, 0x57, 0xb8, 0x83, 0xd1, 0x84, 0x00, 0x18, 0x4d, 0x10, 0x82, 0xd1, 0x84, 0x41, + 0xb0, 0xc1, 0x90, 0x8f, 0x0d, 0x87, 0x7c, 0x6c, 0x40, 0xe4, 0x63, 0x83, 0x28, 0xc0, 0xc7, 0x06, + 0x51, 0x80, 0x8f, 0x0d, 0xa2, 0x00, 0x9f, 0xe1, 0x08, 0x5a, 0xd0, 0x05, 0xe7, 0x9b, 0x65, 0x60, + 0x9a, 0x60, 0xc4, 0xc0, 0x00, 0x40, 0x10, 0x0c, 0x18, 0x93, 0x30, 0x87, 0xc6, 0x02, 0x5b, 0x90, + 0xcf, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x30, 0x28, 0x91, 0x0e, 0x81, 0x05, 0x8d, 0x7c, 0x4c, + 0x68, 0xe4, 0x63, 0x43, 0x23, 0x1f, 0x1b, 0x5e, 0x01, 0x3e, 0x36, 0xbc, 0x02, 0x7c, 0x6c, 0x78, + 0x05, 0xf8, 0xcc, 0x12, 0x34, 0x03, 0x2d, 0x03, 0x59, 0x14, 0x64, 0x81, 0x18, 0x0c, 0x59, 0x2c, + 0x64, 0xa1, 0x0c, 0xb4, 0x0c, 0x64, 0x51, 0x90, 0x05, 0x62, 0x30, 0x64, 0xb1, 0x90, 0x85, 0x32, + 0xd0, 0x32, 0x90, 0x45, 0x41, 0x16, 0x88, 0xc1, 0x90, 0xc5, 0x42, 0x16, 0xca, 0x40, 0xcb, 0xc0, + 0x0f, 0x05, 0x59, 0x20, 0x60, 0xc0, 0x80, 0xc1, 0x42, 0x16, 0xca, 0x40, 0xcb, 0xc0, 0x0f, 0x05, + 0x59, 0x20, 0x60, 0xc0, 0x80, 0xc1, 0x42, 0x16, 0xca, 0x40, 0xcb, 0xc0, 0x0f, 0x05, 0x59, 0x20, + 0x60, 0xc0, 0x80, 0xc1, 0x42, 0x16, 0x8a, 0xc9, 0x02, 0x4c, 0xc0, 0x60, 0xc4, 0xe0, 0x00, 0x40, + 0x10, 0x0c, 0xac, 0x99, 0xa0, 0x07, 0x75, 0x78, 0x89, 0xd1, 0x84, 0x00, 0x18, 0x6e, 0x18, 0x02, + 0x34, 0x98, 0x65, 0x10, 0x9c, 0x60, 0x96, 0xe0, 0x19, 0xa8, 0x18, 0x78, 0x03, 0xa0, 0x9c, 0x81, + 0x8a, 0xc1, 0x37, 0x00, 0xca, 0x19, 0xa8, 0x18, 0xc0, 0x03, 0xa0, 0x9c, 0x81, 0x8a, 0x41, 0x3c, + 0x00, 0xca, 0x19, 0xa8, 0x18, 0xc8, 0x03, 0xa0, 0x9c, 0x81, 0x8a, 0xc1, 0x3c, 0x00, 0xca, 0xb1, + 0xa1, 0x1d, 0xe4, 0x63, 0x43, 0x3b, 0xc8, 0xc7, 0x86, 0x76, 0x90, 0x8f, 0x0d, 0x09, 0x7c, 0x6c, + 0x48, 0xe0, 0x63, 0x43, 0x02, 0x9f, 0x11, 0x83, 0x03, 0x00, 0x41, 0x30, 0x70, 0xc8, 0x42, 0x24, + 0x06, 0x7d, 0x18, 0x31, 0x38, 0x00, 0x10, 0x04, 0x03, 0xa7, 0x2c, 0x46, 0x62, 0xd8, 0x87, 0x11, + 0x83, 0x03, 0x00, 0x41, 0x30, 0x70, 0xcc, 0x82, 0x24, 0x06, 0x7e, 0x18, 0x31, 0x38, 0x00, 0x10, + 0x04, 0x03, 0xe7, 0x2c, 0x48, 0x62, 0xf0, 0x87, 0x11, 0x83, 0x03, 0x00, 0x41, 0x30, 0x70, 0xd0, + 0xa2, 0x24, 0x86, 0x7f, 0x18, 0x31, 0x38, 0x00, 0x10, 0x04, 0x03, 0x27, 0x2d, 0x4c, 0x62, 0x00, + 0x89, 0x11, 0x83, 0x04, 0x00, 0x41, 0x30, 0x40, 0xda, 0x82, 0x27, 0xca, 0xa2, 0x2c, 0x70, 0x62, + 0x18, 0x31, 0x48, 0x00, 0x10, 0x04, 0x03, 0xa4, 0x2d, 0x78, 0xa2, 0x2c, 0xca, 0x62, 0x26, 0x84, + 0x11, 0x83, 0x04, 0x00, 0x41, 0x30, 0x40, 0xda, 0x82, 0x27, 0xca, 0xa2, 0x2c, 0x6e, 0x22, 0x18, + 0x31, 0x48, 0x00, 0x10, 0x04, 0x03, 0xa4, 0x2d, 0x78, 0xa2, 0x2c, 0xca, 0xc2, 0x26, 0xec, 0x61, + 0xc4, 0x20, 0x01, 0x40, 0x10, 0x0c, 0x90, 0xb6, 0xe0, 0x09, 0xb3, 0x28, 0x0b, 0x9c, 0x90, 0x07, + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; #endif // MSL only makes sense on Apple platforms #if defined(SDL_PLATFORM_APPLE) -static const Uint8 SolidColor_frag_msl[2330] = { +static const Uint8 SolidColor_frag_msl[4117] = { 0x23, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x64, 0x6c, 0x69, 0x62, 0x3e, 0x0a, 0x23, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x3c, 0x73, 0x69, 0x6d, 0x64, 0x2f, 0x73, 0x69, 0x6d, 0x64, 0x2e, 0x68, 0x3e, 0x0a, 0x0a, @@ -379,357 +399,554 @@ static const Uint8 SolidColor_frag_msl[2330] = { 0x4c, 0x69, 0x67, 0x68, 0x74, 0x20, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x73, 0x5b, 0x33, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, - 0x6d, 0x61, 0x69, 0x6e, 0x30, 0x5f, 0x6f, 0x75, 0x74, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x6f, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x53, - 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x30, 0x20, 0x5b, 0x5b, 0x63, 0x6f, 0x6c, 0x6f, - 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x65, 0x70, 0x74, 0x68, 0x20, 0x5b, - 0x5b, 0x64, 0x65, 0x70, 0x74, 0x68, 0x28, 0x61, 0x6e, 0x79, 0x29, 0x5d, 0x5d, 0x3b, 0x0a, 0x7d, - 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x30, 0x5f, - 0x69, 0x6e, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, - 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, - 0x20, 0x5b, 0x5b, 0x75, 0x73, 0x65, 0x72, 0x28, 0x6c, 0x6f, 0x63, 0x6e, 0x30, 0x29, 0x5d, 0x5d, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x69, 0x6e, 0x5f, - 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x31, 0x20, 0x5b, 0x5b, - 0x75, 0x73, 0x65, 0x72, 0x28, 0x6c, 0x6f, 0x63, 0x6e, 0x31, 0x29, 0x5d, 0x5d, 0x3b, 0x0a, 0x7d, - 0x3b, 0x0a, 0x0a, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6d, 0x61, 0x69, 0x6e, - 0x30, 0x5f, 0x6f, 0x75, 0x74, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x30, 0x28, 0x6d, 0x61, 0x69, 0x6e, - 0x30, 0x5f, 0x69, 0x6e, 0x20, 0x69, 0x6e, 0x20, 0x5b, 0x5b, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, - 0x69, 0x6e, 0x5d, 0x5d, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x74, - 0x79, 0x70, 0x65, 0x5f, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x26, - 0x20, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x5b, 0x5b, 0x62, - 0x75, 0x66, 0x66, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x34, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x20, - 0x5b, 0x5b, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5d, 0x5d, 0x29, 0x0a, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x30, 0x5f, 0x6f, 0x75, 0x74, 0x20, 0x6f, 0x75, - 0x74, 0x20, 0x3d, 0x20, 0x7b, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x33, 0x20, 0x5f, 0x34, 0x35, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x73, 0x74, 0x3a, 0x3a, 0x6e, - 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x28, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, - 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x31, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x35, 0x30, 0x20, 0x3d, 0x20, - 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x78, 0x79, 0x7a, - 0x20, 0x2f, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, - 0x67, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, - 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x35, 0x32, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x73, 0x74, - 0x3a, 0x3a, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x28, 0x2d, 0x5f, 0x35, 0x30, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x35, - 0x34, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x35, 0x34, 0x20, 0x3d, 0x20, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x33, 0x28, 0x30, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x35, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6f, - 0x72, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x35, 0x37, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x20, - 0x5f, 0x35, 0x37, 0x20, 0x3c, 0x20, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, - 0x72, 0x2e, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x3b, 0x20, 0x5f, 0x35, - 0x34, 0x20, 0x3d, 0x20, 0x5f, 0x35, 0x35, 0x2c, 0x20, 0x5f, 0x35, 0x37, 0x2b, 0x2b, 0x29, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x6f, - 0x6f, 0x6c, 0x20, 0x5f, 0x37, 0x30, 0x20, 0x3d, 0x20, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x42, 0x75, - 0x66, 0x66, 0x65, 0x72, 0x2e, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x73, 0x5b, 0x5f, 0x35, 0x37, 0x5d, - 0x2e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x77, 0x20, 0x3d, 0x3d, 0x20, 0x31, - 0x2e, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x6f, 0x6f, 0x6c, - 0x20, 0x5f, 0x37, 0x34, 0x20, 0x3d, 0x20, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x42, 0x75, 0x66, 0x66, - 0x65, 0x72, 0x2e, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x73, 0x5b, 0x5f, 0x35, 0x37, 0x5d, 0x2e, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x77, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x2e, - 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, - 0x5f, 0x37, 0x39, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, - 0x28, 0x21, 0x5f, 0x37, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x37, 0x39, - 0x20, 0x3d, 0x20, 0x21, 0x5f, 0x37, 0x34, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x37, 0x39, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, - 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x5f, 0x37, 0x39, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x5f, 0x35, 0x35, 0x20, 0x3d, 0x20, 0x5f, 0x35, 0x34, 0x20, 0x2b, 0x20, - 0x28, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, - 0x4f, 0x52, 0x44, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x2a, 0x20, 0x4c, 0x69, 0x67, 0x68, 0x74, - 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x73, 0x5b, 0x5f, 0x35, - 0x37, 0x5d, 0x2e, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x3b, 0x0a, 0x20, + 0x46, 0x53, 0x5f, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x4e, 0x6f, 0x72, 0x6d, 0x61, + 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x43, 0x6f, + 0x6c, 0x6f, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x54, 0x65, + 0x78, 0x49, 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, + 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x20, 0x53, 0x68, 0x69, 0x6e, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x50, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x20, 0x46, 0x53, 0x5f, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x0a, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x43, 0x6f, 0x6c, 0x6f, 0x72, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x44, 0x65, 0x70, 0x74, + 0x68, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, + 0x75, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x35, 0x39, 0x20, 0x3d, 0x20, 0x7b, 0x7d, 0x3b, 0x0a, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x5f, + 0x36, 0x30, 0x20, 0x3d, 0x20, 0x7b, 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x30, 0x5f, 0x6f, 0x75, 0x74, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x6f, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x5f, + 0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x30, 0x20, 0x5b, 0x5b, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x65, 0x70, 0x74, 0x68, 0x20, + 0x5b, 0x5b, 0x64, 0x65, 0x70, 0x74, 0x68, 0x28, 0x61, 0x6e, 0x79, 0x29, 0x5d, 0x5d, 0x3b, 0x0a, + 0x7d, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x30, + 0x5f, 0x69, 0x6e, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, + 0x20, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x30, 0x20, + 0x5b, 0x5b, 0x75, 0x73, 0x65, 0x72, 0x28, 0x6c, 0x6f, 0x63, 0x6e, 0x30, 0x29, 0x5d, 0x5d, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x69, 0x6e, 0x5f, 0x76, + 0x61, 0x72, 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x30, 0x20, 0x5b, 0x5b, 0x75, 0x73, 0x65, 0x72, + 0x28, 0x6c, 0x6f, 0x63, 0x6e, 0x31, 0x29, 0x5d, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x75, + 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, + 0x4f, 0x52, 0x44, 0x30, 0x20, 0x5b, 0x5b, 0x75, 0x73, 0x65, 0x72, 0x28, 0x6c, 0x6f, 0x63, 0x6e, + 0x32, 0x29, 0x5d, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, + 0x20, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, + 0x31, 0x20, 0x5b, 0x5b, 0x75, 0x73, 0x65, 0x72, 0x28, 0x6c, 0x6f, 0x63, 0x6e, 0x33, 0x29, 0x5d, + 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x69, 0x6e, 0x5f, + 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x32, 0x20, 0x5b, 0x5b, + 0x75, 0x73, 0x65, 0x72, 0x28, 0x6c, 0x6f, 0x63, 0x6e, 0x34, 0x29, 0x5d, 0x5d, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, + 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x33, 0x20, 0x5b, 0x5b, 0x75, 0x73, 0x65, + 0x72, 0x28, 0x6c, 0x6f, 0x63, 0x6e, 0x35, 0x29, 0x5d, 0x5d, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x0a, + 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x30, 0x5f, 0x6f, + 0x75, 0x74, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x30, 0x28, 0x6d, 0x61, 0x69, 0x6e, 0x30, 0x5f, 0x69, + 0x6e, 0x20, 0x69, 0x6e, 0x20, 0x5b, 0x5b, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x5d, + 0x5d, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, + 0x5f, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x26, 0x20, 0x4c, 0x69, + 0x67, 0x68, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x5b, 0x5b, 0x62, 0x75, 0x66, 0x66, + 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, + 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x20, 0x5b, 0x5b, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5d, 0x5d, 0x29, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x30, 0x5f, 0x6f, 0x75, 0x74, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x3d, + 0x20, 0x7b, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, + 0x5f, 0x36, 0x36, 0x20, 0x3d, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6f, + 0x72, 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, + 0x36, 0x35, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x4e, + 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x34, 0x20, 0x5f, 0x36, 0x34, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, + 0x61, 0x72, 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x36, 0x33, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, + 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x32, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x36, 0x32, 0x20, 0x3d, + 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, + 0x4f, 0x52, 0x44, 0x33, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, + 0x20, 0x5f, 0x37, 0x31, 0x20, 0x3d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x30, 0x2e, + 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, + 0x37, 0x32, 0x20, 0x3d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x30, 0x2e, 0x30, 0x29, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x39, 0x32, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x39, 0x35, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x39, 0x32, 0x20, 0x3d, 0x20, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x33, 0x28, 0x30, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x39, 0x35, + 0x20, 0x3d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x30, 0x2e, 0x30, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x39, 0x38, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x37, 0x36, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x39, 0x33, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x39, 0x36, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x37, 0x33, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x5f, 0x39, 0x37, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x28, 0x3b, 0x20, 0x5f, 0x39, 0x37, 0x20, 0x3c, 0x20, + 0x4c, 0x69, 0x67, 0x68, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x6c, 0x69, 0x67, 0x68, + 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x3b, 0x20, 0x5f, 0x39, 0x38, 0x20, 0x3d, 0x20, 0x5f, 0x39, + 0x37, 0x20, 0x2b, 0x20, 0x31, 0x2c, 0x20, 0x5f, 0x37, 0x33, 0x20, 0x3d, 0x20, 0x5f, 0x39, 0x38, + 0x2c, 0x20, 0x5f, 0x39, 0x32, 0x20, 0x3d, 0x20, 0x5f, 0x39, 0x33, 0x2c, 0x20, 0x5f, 0x39, 0x35, + 0x20, 0x3d, 0x20, 0x5f, 0x39, 0x36, 0x2c, 0x20, 0x5f, 0x39, 0x37, 0x20, 0x3d, 0x20, 0x5f, 0x39, + 0x38, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x37, 0x34, 0x20, 0x3d, 0x20, 0x4c, 0x69, + 0x67, 0x68, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x73, + 0x5b, 0x5f, 0x39, 0x37, 0x5d, 0x2e, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x78, 0x79, 0x7a, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x37, + 0x35, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x5f, 0x31, 0x31, 0x38, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x42, + 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x73, 0x5b, 0x5f, 0x39, 0x37, + 0x5d, 0x2e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x77, 0x20, 0x3d, 0x3d, 0x20, + 0x30, 0x2e, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, + 0x5f, 0x31, 0x31, 0x37, 0x20, 0x3d, 0x20, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x42, 0x75, 0x66, 0x66, + 0x65, 0x72, 0x2e, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x73, 0x5b, 0x5f, 0x39, 0x37, 0x5d, 0x2e, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x77, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x2e, + 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, + 0x37, 0x35, 0x20, 0x3d, 0x20, 0x5f, 0x31, 0x31, 0x37, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x31, 0x31, 0x38, 0x20, 0x3d, 0x20, 0x5f, 0x31, + 0x31, 0x37, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x5f, 0x31, 0x31, 0x38, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x69, 0x66, 0x20, 0x28, 0x5f, 0x31, 0x31, 0x38, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x31, 0x32, 0x31, 0x20, 0x3d, 0x20, 0x5f, + 0x39, 0x35, 0x20, 0x2b, 0x20, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, + 0x2e, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x73, 0x5b, 0x5f, 0x39, 0x37, 0x5d, 0x2e, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x5f, 0x37, 0x31, 0x20, 0x3d, 0x20, 0x5f, 0x31, 0x32, 0x31, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x39, 0x33, 0x20, + 0x3d, 0x20, 0x5f, 0x39, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x5f, 0x39, 0x36, 0x20, 0x3d, 0x20, 0x5f, 0x31, 0x32, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x5f, 0x37, 0x30, 0x29, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x38, 0x39, - 0x20, 0x3d, 0x20, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x6c, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x5b, 0x5f, 0x35, 0x37, 0x5d, 0x2e, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x2d, 0x20, 0x5f, 0x35, 0x30, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x33, 0x20, 0x5f, 0x39, 0x30, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x73, 0x74, 0x3a, 0x3a, 0x6e, 0x6f, - 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x28, 0x5f, 0x38, 0x39, 0x29, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, - 0x5f, 0x39, 0x33, 0x20, 0x3d, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, 0x5f, 0x38, 0x39, - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, - 0x35, 0x35, 0x20, 0x3d, 0x20, 0x5f, 0x35, 0x34, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x28, 0x28, 0x69, - 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, - 0x44, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x2a, 0x20, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x65, - 0x3a, 0x3a, 0x6d, 0x61, 0x78, 0x28, 0x64, 0x6f, 0x74, 0x28, 0x5f, 0x34, 0x35, 0x2c, 0x20, 0x5f, - 0x39, 0x30, 0x29, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x29, 0x20, 0x2b, 0x20, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x33, 0x28, 0x70, 0x6f, 0x77, 0x72, 0x28, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x65, - 0x3a, 0x3a, 0x6d, 0x61, 0x78, 0x28, 0x64, 0x6f, 0x74, 0x28, 0x5f, 0x34, 0x35, 0x2c, 0x20, 0x66, - 0x61, 0x73, 0x74, 0x3a, 0x3a, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x28, 0x5f, - 0x39, 0x30, 0x20, 0x2b, 0x20, 0x5f, 0x35, 0x32, 0x29, 0x29, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, - 0x2c, 0x20, 0x32, 0x30, 0x2e, 0x30, 0x29, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x4c, 0x69, 0x67, 0x68, - 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x73, 0x5b, 0x5f, - 0x35, 0x37, 0x5d, 0x2e, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x20, 0x2a, - 0x20, 0x28, 0x31, 0x2e, 0x30, 0x20, 0x2f, 0x20, 0x28, 0x28, 0x31, 0x2e, 0x30, 0x20, 0x2b, 0x20, - 0x28, 0x30, 0x2e, 0x30, 0x39, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x33, 0x35, 0x37, 0x36, 0x32, - 0x37, 0x38, 0x36, 0x38, 0x36, 0x35, 0x32, 0x33, 0x34, 0x33, 0x37, 0x35, 0x20, 0x2a, 0x20, 0x5f, - 0x39, 0x33, 0x29, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x30, 0x2e, 0x30, 0x33, 0x32, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x31, 0x35, 0x31, 0x39, 0x39, 0x31, 0x38, 0x34, 0x34, 0x31, 0x37, 0x37, 0x32, - 0x34, 0x36, 0x30, 0x39, 0x33, 0x37, 0x35, 0x20, 0x2a, 0x20, 0x5f, 0x39, 0x33, 0x29, 0x20, 0x2a, - 0x20, 0x5f, 0x39, 0x33, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x5f, 0x37, 0x34, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x31, 0x31, 0x37, 0x20, 0x3d, 0x20, 0x66, - 0x61, 0x73, 0x74, 0x3a, 0x3a, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x28, 0x2d, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x31, + 0x34, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x6c, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x5b, 0x5f, 0x35, 0x37, 0x5d, 0x2e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x5f, 0x35, 0x35, 0x20, 0x3d, 0x20, 0x5f, 0x35, 0x34, 0x20, 0x2b, 0x20, - 0x28, 0x28, 0x28, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, - 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x2a, 0x20, 0x70, 0x72, 0x65, - 0x63, 0x69, 0x73, 0x65, 0x3a, 0x3a, 0x6d, 0x61, 0x78, 0x28, 0x64, 0x6f, 0x74, 0x28, 0x5f, 0x34, - 0x35, 0x2c, 0x20, 0x5f, 0x31, 0x31, 0x37, 0x29, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x29, 0x20, - 0x2b, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x70, 0x6f, 0x77, 0x72, 0x28, 0x70, 0x72, - 0x65, 0x63, 0x69, 0x73, 0x65, 0x3a, 0x3a, 0x6d, 0x61, 0x78, 0x28, 0x64, 0x6f, 0x74, 0x28, 0x5f, - 0x34, 0x35, 0x2c, 0x20, 0x66, 0x61, 0x73, 0x74, 0x3a, 0x3a, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, - 0x69, 0x7a, 0x65, 0x28, 0x5f, 0x31, 0x31, 0x37, 0x20, 0x2b, 0x20, 0x5f, 0x35, 0x32, 0x29, 0x29, - 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x2c, 0x20, 0x32, 0x30, 0x2e, 0x30, 0x29, 0x29, 0x29, 0x20, - 0x2a, 0x20, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x6c, 0x69, - 0x67, 0x68, 0x74, 0x73, 0x5b, 0x5f, 0x35, 0x37, 0x5d, 0x2e, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, - 0x78, 0x79, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x35, - 0x35, 0x20, 0x3d, 0x20, 0x5f, 0x35, 0x34, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6f, 0x75, 0x74, 0x2e, 0x6f, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x53, - 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x30, 0x20, 0x3d, 0x20, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x34, 0x28, 0x5f, 0x35, 0x34, 0x2c, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, - 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x2e, 0x77, 0x29, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x6f, 0x75, 0x74, 0x2e, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, - 0x65, 0x70, 0x74, 0x68, 0x20, 0x3d, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, - 0x6f, 0x72, 0x64, 0x2e, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x6f, 0x75, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, + 0x74, 0x73, 0x5b, 0x5f, 0x39, 0x37, 0x5d, 0x2e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x77, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x31, 0x33, 0x32, 0x20, 0x3d, 0x20, + 0x66, 0x61, 0x73, 0x74, 0x3a, 0x3a, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x28, + 0x2d, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x6c, 0x69, 0x67, + 0x68, 0x74, 0x73, 0x5b, 0x5f, 0x39, 0x37, 0x5d, 0x2e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x37, 0x36, 0x20, 0x3d, 0x20, 0x5f, 0x31, 0x33, 0x32, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x31, 0x34, + 0x32, 0x20, 0x3d, 0x20, 0x5f, 0x31, 0x33, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x37, + 0x37, 0x20, 0x3d, 0x20, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, + 0x6c, 0x69, 0x67, 0x68, 0x74, 0x73, 0x5b, 0x5f, 0x39, 0x37, 0x5d, 0x2e, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x31, 0x33, + 0x35, 0x20, 0x3d, 0x20, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, + 0x6c, 0x69, 0x67, 0x68, 0x74, 0x73, 0x5b, 0x5f, 0x39, 0x37, 0x5d, 0x2e, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x2d, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, + 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x33, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x37, 0x36, 0x20, + 0x3d, 0x20, 0x5f, 0x31, 0x33, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x31, 0x33, 0x36, 0x20, 0x3d, + 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, 0x5f, 0x31, 0x33, 0x35, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x20, 0x5f, 0x37, 0x38, 0x20, 0x3d, 0x20, 0x5f, 0x31, 0x33, 0x36, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x5f, 0x31, 0x33, + 0x36, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x39, 0x33, 0x20, 0x3d, 0x20, 0x5f, 0x39, + 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x5f, 0x39, 0x36, 0x20, 0x3d, 0x20, 0x5f, 0x39, 0x35, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, + 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x31, 0x34, 0x31, 0x20, 0x3d, 0x20, + 0x5f, 0x31, 0x33, 0x35, 0x20, 0x2f, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x5f, 0x31, + 0x33, 0x36, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x5f, 0x37, 0x36, 0x20, 0x3d, 0x20, 0x5f, 0x31, 0x34, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x31, 0x34, 0x32, 0x20, 0x3d, 0x20, + 0x5f, 0x31, 0x34, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x31, + 0x34, 0x33, 0x20, 0x3d, 0x20, 0x64, 0x6f, 0x74, 0x28, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, + 0x61, 0x72, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x30, 0x2c, 0x20, 0x5f, 0x31, 0x34, 0x32, + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x20, 0x5f, 0x37, 0x39, 0x20, 0x3d, 0x20, 0x5f, 0x31, 0x34, 0x33, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x31, 0x35, 0x36, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, + 0x20, 0x5f, 0x31, 0x35, 0x37, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x66, 0x20, 0x28, 0x5f, 0x31, 0x34, 0x33, 0x20, 0x3e, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x31, 0x34, 0x38, + 0x20, 0x3d, 0x20, 0x5f, 0x39, 0x35, 0x20, 0x2b, 0x20, 0x28, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x42, + 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x73, 0x5b, 0x5f, 0x39, 0x37, + 0x5d, 0x2e, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x2a, 0x20, 0x5f, 0x31, + 0x34, 0x33, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x5f, 0x37, 0x31, 0x20, 0x3d, 0x20, 0x5f, 0x31, 0x34, 0x38, 0x3b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, + 0x5f, 0x31, 0x35, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, + 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x32, 0x20, 0x21, 0x3d, 0x20, 0x30, 0x2e, 0x30, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x31, 0x35, 0x32, 0x20, 0x3d, 0x20, 0x70, 0x6f, 0x77, + 0x72, 0x28, 0x5f, 0x31, 0x34, 0x33, 0x2c, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, + 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x32, 0x29, 0x3b, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x38, 0x30, 0x20, 0x3d, 0x20, 0x5f, 0x31, 0x35, 0x32, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x31, 0x35, 0x34, 0x20, 0x3d, 0x20, 0x5f, 0x39, + 0x32, 0x20, 0x2b, 0x20, 0x28, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, + 0x2e, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x73, 0x5b, 0x5f, 0x39, 0x37, 0x5d, 0x2e, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x2a, 0x20, 0x5f, 0x31, 0x35, 0x32, 0x29, 0x3b, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x5f, 0x37, 0x32, 0x20, 0x3d, 0x20, 0x5f, 0x31, 0x35, 0x34, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x31, 0x35, 0x35, + 0x20, 0x3d, 0x20, 0x5f, 0x31, 0x35, 0x34, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x31, 0x35, 0x35, 0x20, 0x3d, 0x20, 0x5f, 0x39, 0x32, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x31, 0x35, 0x36, + 0x20, 0x3d, 0x20, 0x5f, 0x31, 0x35, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x31, 0x35, 0x37, 0x20, 0x3d, 0x20, 0x5f, 0x31, 0x34, 0x38, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, + 0x31, 0x35, 0x36, 0x20, 0x3d, 0x20, 0x5f, 0x39, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x31, 0x35, 0x37, 0x20, 0x3d, 0x20, 0x5f, 0x39, + 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x39, 0x33, 0x20, 0x3d, 0x20, 0x5f, 0x31, 0x35, 0x36, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x39, 0x36, 0x20, 0x3d, 0x20, 0x5f, + 0x31, 0x35, 0x37, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x38, 0x31, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x2e, 0x69, + 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x30, 0x2e, 0x78, 0x79, 0x7a, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x31, 0x36, + 0x31, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x73, 0x74, 0x3a, 0x3a, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x28, + 0x28, 0x5f, 0x39, 0x35, 0x20, 0x2a, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, + 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x20, 0x2b, 0x20, 0x5f, + 0x39, 0x32, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x30, 0x2e, 0x30, 0x29, 0x2c, + 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x3b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x38, 0x32, 0x20, 0x3d, 0x20, + 0x5f, 0x31, 0x36, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, + 0x20, 0x5f, 0x31, 0x36, 0x37, 0x20, 0x3d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x28, 0x5f, + 0x31, 0x36, 0x31, 0x2c, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x43, + 0x4f, 0x4c, 0x4f, 0x52, 0x30, 0x2e, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x34, 0x20, 0x5f, 0x37, 0x30, 0x20, 0x3d, 0x20, 0x5f, 0x31, 0x36, 0x37, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x36, 0x39, 0x20, 0x3d, + 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x77, 0x3b, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x5f, 0x36, 0x38, 0x20, + 0x3d, 0x20, 0x5f, 0x31, 0x36, 0x37, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x20, 0x5f, 0x36, 0x37, 0x20, 0x3d, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, + 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x75, 0x74, 0x2e, + 0x6f, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x30, 0x20, 0x3d, 0x20, 0x5f, 0x31, 0x36, 0x37, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, + 0x75, 0x74, 0x2e, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x65, 0x70, 0x74, 0x68, 0x20, + 0x3d, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x77, + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6f, 0x75, 0x74, + 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, }; #endif -static const Uint8 SolidColor_frag_spirv[3484] = { - 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x89, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, - 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x0f, 0x00, 0x0a, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, - 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x03, 0x00, 0x05, 0x00, 0x00, 0x00, 0x58, 0x02, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, - 0x08, 0x00, 0x00, 0x00, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x42, 0x75, - 0x66, 0x66, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x73, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, - 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, 0x53, 0x63, 0x65, 0x6e, - 0x65, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, - 0x0a, 0x00, 0x00, 0x00, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x00, - 0x05, 0x00, 0x07, 0x00, 0x03, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x2e, 0x76, 0x61, 0x72, 0x2e, 0x54, - 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x2e, 0x76, 0x61, 0x72, 0x2e, 0x54, 0x45, 0x58, 0x43, 0x4f, - 0x4f, 0x52, 0x44, 0x31, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x6f, 0x75, 0x74, 0x2e, 0x76, 0x61, 0x72, 0x2e, 0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x30, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, - 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, - 0x0f, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, - 0x16, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x23, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x17, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x2c, 0x00, 0x06, 0x00, 0x12, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, - 0x11, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x41, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, - 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x14, 0x00, 0x02, 0x00, 0x17, 0x00, 0x00, 0x00, - 0x2a, 0x00, 0x03, 0x00, 0x17, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0xec, 0x51, 0xb8, 0x3d, 0x2b, 0x00, 0x04, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x6f, 0x12, 0x03, 0x3d, 0x15, 0x00, 0x04, 0x00, - 0x1b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, - 0x1b, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, - 0x1d, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x05, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, - 0x1c, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, - 0x1e, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x21, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x22, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x13, 0x00, 0x02, 0x00, 0x23, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x24, 0x00, 0x00, 0x00, - 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x25, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x26, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x1d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x27, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x21, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x22, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x23, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x29, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, - 0x0c, 0x00, 0x06, 0x00, 0x12, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x45, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x12, 0x00, 0x00, 0x00, - 0x2e, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x28, 0x00, 0x00, 0x00, - 0x2f, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x50, 0x00, 0x06, 0x00, - 0x12, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, - 0x30, 0x00, 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, 0x12, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, - 0x2e, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00, - 0x33, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x12, 0x00, 0x00, 0x00, - 0x34, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, - 0xf9, 0x00, 0x02, 0x00, 0x35, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x35, 0x00, 0x00, 0x00, - 0xf5, 0x00, 0x07, 0x00, 0x12, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, - 0x29, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x07, 0x00, - 0x0c, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, - 0x3a, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x25, 0x00, 0x00, 0x00, - 0x3b, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, - 0x0c, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0xb1, 0x00, 0x05, 0x00, - 0x17, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, - 0xf6, 0x00, 0x04, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xfa, 0x00, 0x04, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, - 0xf8, 0x00, 0x02, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x41, 0x00, 0x07, 0x00, 0x26, 0x00, 0x00, 0x00, - 0x40, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, - 0x15, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, - 0x40, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x12, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x41, 0x00, 0x07, 0x00, 0x26, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, - 0x0a, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x08, 0x00, 0x27, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, - 0x15, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, - 0xb4, 0x00, 0x05, 0x00, 0x17, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, - 0x16, 0x00, 0x00, 0x00, 0x41, 0x00, 0x07, 0x00, 0x26, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, - 0x0a, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x08, 0x00, 0x27, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, - 0x15, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, - 0x3d, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, - 0xb4, 0x00, 0x05, 0x00, 0x17, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, - 0x16, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x04, 0x00, 0x17, 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, - 0x46, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xfa, 0x00, 0x04, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, - 0xf8, 0x00, 0x02, 0x00, 0x4d, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x04, 0x00, 0x17, 0x00, 0x00, 0x00, - 0x4e, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0x4c, 0x00, 0x00, 0x00, - 0xf8, 0x00, 0x02, 0x00, 0x4c, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x07, 0x00, 0x17, 0x00, 0x00, 0x00, - 0x4f, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00, - 0x4d, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xfa, 0x00, 0x04, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, - 0xf8, 0x00, 0x02, 0x00, 0x51, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x12, 0x00, 0x00, 0x00, - 0x52, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x12, 0x00, 0x00, 0x00, - 0x53, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, - 0x12, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, - 0xf9, 0x00, 0x02, 0x00, 0x38, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x50, 0x00, 0x00, 0x00, - 0xf7, 0x00, 0x03, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00, - 0x46, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, - 0x56, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, - 0x43, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x12, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, - 0x57, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, 0x12, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, - 0x58, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x12, 0x00, 0x00, 0x00, - 0x5a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, - 0x94, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x5b, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, - 0x5a, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x5b, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, - 0x0c, 0x00, 0x06, 0x00, 0x10, 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x42, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x5e, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00, - 0x85, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, - 0x5d, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, - 0x60, 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x62, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, - 0x81, 0x00, 0x05, 0x00, 0x12, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, - 0x34, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x12, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x94, 0x00, 0x05, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, - 0x0c, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x50, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x07, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, - 0x67, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x12, 0x00, 0x00, 0x00, - 0x69, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x05, 0x00, 0x12, 0x00, 0x00, 0x00, - 0x6a, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x50, 0x00, 0x06, 0x00, - 0x12, 0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, - 0x68, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, 0x12, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, - 0x6a, 0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x12, 0x00, 0x00, 0x00, - 0x6d, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x05, 0x00, - 0x12, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, - 0x81, 0x00, 0x05, 0x00, 0x12, 0x00, 0x00, 0x00, 0x6f, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, - 0x6e, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0x38, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, - 0x55, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xfa, 0x00, 0x04, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, - 0xf8, 0x00, 0x02, 0x00, 0x71, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, - 0x72, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x12, 0x00, 0x00, 0x00, - 0x73, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00, - 0x74, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x12, 0x00, 0x00, 0x00, - 0x75, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, - 0x94, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, - 0x75, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, - 0x81, 0x00, 0x05, 0x00, 0x12, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, - 0x34, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x12, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x94, 0x00, 0x05, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x7a, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, - 0x0c, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00, 0x7b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x50, 0x00, 0x00, 0x00, 0x7a, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x07, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, - 0x7b, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x12, 0x00, 0x00, 0x00, - 0x7d, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x05, 0x00, 0x12, 0x00, 0x00, 0x00, - 0x7e, 0x00, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x50, 0x00, 0x06, 0x00, - 0x12, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, - 0x7c, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, 0x12, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, - 0x7e, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x12, 0x00, 0x00, 0x00, - 0x81, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, - 0x12, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, - 0xf9, 0x00, 0x02, 0x00, 0x38, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x70, 0x00, 0x00, 0x00, - 0xf9, 0x00, 0x02, 0x00, 0x38, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x38, 0x00, 0x00, 0x00, - 0xf5, 0x00, 0x0b, 0x00, 0x12, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, - 0x51, 0x00, 0x00, 0x00, 0x6f, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, - 0x71, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x80, 0x00, 0x05, 0x00, - 0x0c, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, - 0xf9, 0x00, 0x02, 0x00, 0x35, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x3e, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x28, 0x00, 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x0f, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, - 0x83, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, - 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x86, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, - 0x86, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x30, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, +static const Uint8 SolidColor_frag_spirv[4836] = { + 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0e, 0x00, 0xab, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0xdf, 0x13, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x07, 0x00, 0x53, 0x50, 0x56, 0x5f, 0x4b, 0x48, 0x52, 0x5f, + 0x71, 0x75, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, + 0x2e, 0x34, 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x05, 0x00, 0x00, 0x00, 0x58, 0x02, 0x00, 0x00, + 0x05, 0x00, 0x07, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x4c, 0x69, 0x67, + 0x68, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x73, 0x00, 0x00, + 0x06, 0x00, 0x06, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6c, 0x69, 0x67, 0x68, + 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, + 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x06, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x0d, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x05, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x42, 0x75, 0x66, + 0x66, 0x65, 0x72, 0x00, 0x05, 0x00, 0x06, 0x00, 0x04, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x2e, 0x76, + 0x61, 0x72, 0x2e, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x30, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x2e, 0x76, 0x61, 0x72, 0x2e, 0x43, 0x4f, 0x4c, 0x4f, 0x52, + 0x30, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x2e, 0x76, + 0x61, 0x72, 0x2e, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x00, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x2e, 0x76, 0x61, 0x72, 0x2e, 0x54, + 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x31, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x2e, 0x76, 0x61, 0x72, 0x2e, 0x54, 0x45, 0x58, 0x43, 0x4f, + 0x4f, 0x52, 0x44, 0x32, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x69, 0x6e, 0x2e, 0x76, 0x61, 0x72, 0x2e, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x33, + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x6f, 0x75, 0x74, 0x2e, + 0x76, 0x61, 0x72, 0x2e, 0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x30, 0x00, 0x00, + 0x05, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x05, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x46, 0x53, 0x5f, 0x49, 0x6e, 0x70, 0x75, 0x74, + 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, + 0x0f, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x00, 0x00, + 0x06, 0x00, 0x05, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x43, 0x6f, 0x6c, 0x6f, + 0x72, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x54, 0x65, 0x78, 0x49, 0x64, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x0f, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x54, 0x65, 0x78, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x00, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x06, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x53, 0x68, 0x69, 0x6e, + 0x69, 0x6e, 0x65, 0x73, 0x73, 0x00, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x46, 0x53, 0x5f, 0x4f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x44, 0x65, 0x70, 0x74, 0x68, 0x00, 0x00, 0x00, + 0x47, 0x00, 0x04, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, + 0x47, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, + 0x0b, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, + 0x0a, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, + 0x0e, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, + 0x0e, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x48, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, + 0x47, 0x00, 0x03, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, + 0x12, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x12, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x06, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x15, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x15, 0x00, 0x04, 0x00, 0x16, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x2b, 0x00, 0x04, 0x00, 0x16, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2b, 0x00, 0x04, 0x00, 0x16, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x2b, 0x00, 0x04, 0x00, 0x16, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x02, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x03, 0x00, 0x1a, 0x00, 0x00, 0x00, + 0x1b, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x16, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x3f, 0x2b, 0x00, 0x04, 0x00, 0x16, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x16, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x06, 0x00, 0x14, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, + 0x21, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, + 0x21, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, + 0x23, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x05, 0x00, + 0x0d, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, + 0x1c, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, + 0x1e, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x04, 0x00, 0x24, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x04, 0x00, 0x25, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x04, 0x00, 0x26, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x04, 0x00, 0x27, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, + 0x17, 0x00, 0x04, 0x00, 0x28, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x04, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x04, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x04, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x04, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, + 0x13, 0x00, 0x02, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x2e, 0x00, 0x00, 0x00, + 0x2d, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x09, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, + 0x12, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x2f, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x23, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x21, 0x00, 0x04, 0x00, 0x30, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x31, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x32, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x33, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x34, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x35, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x36, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x37, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x38, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x39, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x3a, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x24, 0x00, 0x00, 0x00, + 0x0e, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x25, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x26, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x25, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x27, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x29, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x2a, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x26, 0x00, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x2b, 0x00, 0x00, 0x00, + 0x0a, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x2c, 0x00, 0x00, 0x00, + 0x0b, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00, 0x21, 0x00, 0x00, 0x00, + 0x3b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00, 0x28, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, + 0x36, 0x00, 0x05, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2e, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x32, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x35, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x3a, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x32, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x3a, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x35, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x3a, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x35, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x3a, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x32, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x32, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x33, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x32, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x34, 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x32, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x32, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x35, 0x00, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x35, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x35, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x32, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, + 0x32, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, + 0x23, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, + 0x23, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, + 0x21, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, + 0x28, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, + 0x12, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x50, 0x00, 0x0a, 0x00, + 0x0f, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, + 0x59, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x42, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, + 0x3e, 0x00, 0x03, 0x00, 0x41, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, + 0x40, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x3f, 0x00, 0x00, 0x00, + 0x58, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, + 0x3e, 0x00, 0x03, 0x00, 0x47, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, + 0x48, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x49, 0x00, 0x00, 0x00, + 0x17, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0x5b, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, + 0x5b, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x07, 0x00, 0x14, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, + 0x15, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00, + 0xf5, 0x00, 0x07, 0x00, 0x14, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x3d, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x07, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, + 0x62, 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x36, 0x00, 0x00, 0x00, + 0x63, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0xb1, 0x00, 0x05, 0x00, + 0x1a, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, + 0xf6, 0x00, 0x04, 0x00, 0x66, 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xfa, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, + 0xf8, 0x00, 0x02, 0x00, 0x67, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x37, 0x00, 0x00, 0x00, + 0x68, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x41, 0x00, 0x07, 0x00, + 0x38, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x61, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x23, 0x00, 0x00, 0x00, + 0x6a, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x6b, 0x00, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x4a, 0x00, 0x00, 0x00, + 0x6b, 0x00, 0x00, 0x00, 0x41, 0x00, 0x07, 0x00, 0x38, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, + 0x0e, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x41, 0x00, 0x08, 0x00, 0x39, 0x00, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, + 0x17, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, + 0x3d, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, + 0xb4, 0x00, 0x05, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x6f, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, + 0xf7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00, + 0x6f, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, + 0x71, 0x00, 0x00, 0x00, 0x41, 0x00, 0x07, 0x00, 0x38, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, + 0x0e, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, + 0x41, 0x00, 0x08, 0x00, 0x39, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, + 0x17, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, + 0x3d, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, + 0xb4, 0x00, 0x05, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, + 0xf9, 0x00, 0x02, 0x00, 0x70, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x70, 0x00, 0x00, 0x00, + 0xf5, 0x00, 0x07, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, + 0x67, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00, + 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00, 0x76, 0x00, 0x00, 0x00, + 0x78, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x78, 0x00, 0x00, 0x00, + 0x81, 0x00, 0x05, 0x00, 0x14, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, + 0x6b, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x47, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, + 0xf9, 0x00, 0x02, 0x00, 0x5e, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x77, 0x00, 0x00, 0x00, + 0x41, 0x00, 0x07, 0x00, 0x38, 0x00, 0x00, 0x00, 0x7a, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, + 0x17, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x41, 0x00, 0x08, 0x00, + 0x39, 0x00, 0x00, 0x00, 0x7b, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x61, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, + 0x12, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7b, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x05, 0x00, + 0x1a, 0x00, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, + 0xf7, 0x00, 0x03, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00, + 0x7d, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, + 0x7f, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x23, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, + 0x7a, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x14, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, + 0x81, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x04, 0x00, 0x14, 0x00, 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, + 0x82, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x14, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, + 0x4c, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0x7e, 0x00, 0x00, 0x00, + 0xf8, 0x00, 0x02, 0x00, 0x80, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x23, 0x00, 0x00, 0x00, + 0x85, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x86, 0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x4d, 0x00, 0x00, 0x00, + 0x86, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, 0x14, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, + 0x86, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x4c, 0x00, 0x00, 0x00, + 0x87, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x12, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, + 0x4e, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x05, 0x00, 0x1a, 0x00, 0x00, 0x00, + 0x89, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00, + 0x8a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00, 0x89, 0x00, 0x00, 0x00, + 0x8b, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x8b, 0x00, 0x00, 0x00, + 0xf9, 0x00, 0x02, 0x00, 0x5e, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x8a, 0x00, 0x00, 0x00, + 0x50, 0x00, 0x06, 0x00, 0x14, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, + 0x88, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x8d, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, + 0x4c, 0x00, 0x00, 0x00, 0x8d, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0x7e, 0x00, 0x00, 0x00, + 0xf8, 0x00, 0x02, 0x00, 0x7e, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x07, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x8e, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x8d, 0x00, 0x00, 0x00, + 0x8a, 0x00, 0x00, 0x00, 0x94, 0x00, 0x05, 0x00, 0x12, 0x00, 0x00, 0x00, 0x8f, 0x00, 0x00, 0x00, + 0x54, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x4f, 0x00, 0x00, 0x00, + 0x8f, 0x00, 0x00, 0x00, 0xba, 0x00, 0x05, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, + 0x8f, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00, 0x91, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00, 0x90, 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, + 0x91, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x92, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x05, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x93, 0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x8f, 0x00, 0x00, 0x00, + 0x81, 0x00, 0x05, 0x00, 0x14, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, + 0x93, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x47, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, + 0xb6, 0x00, 0x05, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x95, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, + 0x13, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xfa, 0x00, 0x04, 0x00, 0x95, 0x00, 0x00, 0x00, 0x97, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, + 0xf8, 0x00, 0x02, 0x00, 0x97, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x07, 0x00, 0x12, 0x00, 0x00, 0x00, + 0x98, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x8f, 0x00, 0x00, 0x00, + 0x58, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x50, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, + 0x8e, 0x00, 0x05, 0x00, 0x14, 0x00, 0x00, 0x00, 0x99, 0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, + 0x98, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, 0x14, 0x00, 0x00, 0x00, 0x9a, 0x00, 0x00, 0x00, + 0x5c, 0x00, 0x00, 0x00, 0x99, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x48, 0x00, 0x00, 0x00, + 0x9a, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0x96, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, + 0x96, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x07, 0x00, 0x14, 0x00, 0x00, 0x00, 0x9b, 0x00, 0x00, 0x00, + 0x5c, 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x9a, 0x00, 0x00, 0x00, 0x97, 0x00, 0x00, 0x00, + 0xf9, 0x00, 0x02, 0x00, 0x91, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x91, 0x00, 0x00, 0x00, + 0xf5, 0x00, 0x07, 0x00, 0x14, 0x00, 0x00, 0x00, 0x9c, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, + 0x7e, 0x00, 0x00, 0x00, 0x9b, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x07, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x9d, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, + 0x94, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0x5e, 0x00, 0x00, 0x00, + 0xf8, 0x00, 0x02, 0x00, 0x5e, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x09, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x5d, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, + 0x8b, 0x00, 0x00, 0x00, 0x9c, 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x09, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, + 0x5f, 0x00, 0x00, 0x00, 0x8b, 0x00, 0x00, 0x00, 0x9d, 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, + 0x80, 0x00, 0x05, 0x00, 0x16, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x49, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, + 0xf9, 0x00, 0x02, 0x00, 0x5b, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x66, 0x00, 0x00, 0x00, + 0x4f, 0x00, 0x08, 0x00, 0x14, 0x00, 0x00, 0x00, 0x9e, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, + 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x3e, 0x00, 0x03, 0x00, 0x51, 0x00, 0x00, 0x00, 0x9e, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x9f, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x9e, 0x00, 0x00, 0x00, + 0x81, 0x00, 0x05, 0x00, 0x14, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x9f, 0x00, 0x00, 0x00, + 0x5c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x08, 0x00, 0x14, 0x00, 0x00, 0x00, 0xa1, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x52, 0x00, 0x00, 0x00, 0xa1, 0x00, 0x00, 0x00, + 0x41, 0x00, 0x05, 0x00, 0x2a, 0x00, 0x00, 0x00, 0xa2, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x19, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, + 0xa2, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x12, 0x00, 0x00, 0x00, 0xa4, 0x00, 0x00, 0x00, + 0xa1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x12, 0x00, 0x00, 0x00, + 0xa5, 0x00, 0x00, 0x00, 0xa1, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, + 0x12, 0x00, 0x00, 0x00, 0xa6, 0x00, 0x00, 0x00, 0xa1, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x50, 0x00, 0x07, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa7, 0x00, 0x00, 0x00, 0xa4, 0x00, 0x00, 0x00, + 0xa5, 0x00, 0x00, 0x00, 0xa6, 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, + 0x46, 0x00, 0x00, 0x00, 0xa7, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x2a, 0x00, 0x00, 0x00, + 0xa8, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, + 0x12, 0x00, 0x00, 0x00, 0xa9, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, + 0x45, 0x00, 0x00, 0x00, 0xa9, 0x00, 0x00, 0x00, 0x50, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, + 0xaa, 0x00, 0x00, 0x00, 0xa7, 0x00, 0x00, 0x00, 0xa9, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, + 0x44, 0x00, 0x00, 0x00, 0xa7, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00, + 0xa9, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x0a, 0x00, 0x00, 0x00, 0xa7, 0x00, 0x00, 0x00, + 0x3e, 0x00, 0x03, 0x00, 0x0b, 0x00, 0x00, 0x00, 0xa9, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, + 0x38, 0x00, 0x01, 0x00, }; diff --git a/miniwin/src/d3drm/backends/sdl3gpu/shaders/src/Common.hlsl b/miniwin/src/d3drm/backends/sdl3gpu/shaders/src/Common.hlsl index 5dedd5b2..4b836124 100644 --- a/miniwin/src/d3drm/backends/sdl3gpu/shaders/src/Common.hlsl +++ b/miniwin/src/d3drm/backends/sdl3gpu/shaders/src/Common.hlsl @@ -1,21 +1,28 @@ struct VS_Input { - float3 Position : TEXCOORD0; - float3 Normal : TEXCOORD1; - float4 Color : TEXCOORD2; + float3 Position : POSITION; + float3 Normal : NORMAL0; + float4 Color : COLOR0; + uint TexId : TEXCOORD0; + float2 TexCoord : TEXCOORD1; + float Shininess : TEXCOORD2; }; struct FS_Input { - float4 Color : TEXCOORD0; - float3 Normal : TEXCOORD1; - float4 Position : SV_Position; + float4 Position : SV_POSITION; + float3 Normal : NORMAL0; + float4 Color : COLOR0; + uint TexId : TEXCOORD0; + float2 TexCoord : TEXCOORD1; + float Shininess : TEXCOORD2; + float3 WorldPosition : TEXCOORD3; }; struct FS_Output { float4 Color : SV_Target0; - float Depth : SV_Depth; + float Depth : SV_Depth; }; struct SceneLight { diff --git a/miniwin/src/d3drm/backends/sdl3gpu/shaders/src/PositionColor.vert.hlsl b/miniwin/src/d3drm/backends/sdl3gpu/shaders/src/PositionColor.vert.hlsl index 217eaaf9..941f1f68 100644 --- a/miniwin/src/d3drm/backends/sdl3gpu/shaders/src/PositionColor.vert.hlsl +++ b/miniwin/src/d3drm/backends/sdl3gpu/shaders/src/PositionColor.vert.hlsl @@ -8,8 +8,13 @@ cbuffer ViewportUniforms : register(b0, space1) FS_Input main(VS_Input input) { FS_Input output; + output.TexCoord = input.TexCoord; output.Color = input.Color; output.Normal = input.Normal; output.Position = mul(perspective, float4(input.Position, 1.0)); + output.WorldPosition = input.Position; + output.TexId = input.TexId; + output.Shininess = input.Shininess; + return output; } diff --git a/miniwin/src/d3drm/backends/sdl3gpu/shaders/src/SolidColor.frag.hlsl b/miniwin/src/d3drm/backends/sdl3gpu/shaders/src/SolidColor.frag.hlsl index 32a52ce4..2eeceba0 100644 --- a/miniwin/src/d3drm/backends/sdl3gpu/shaders/src/SolidColor.frag.hlsl +++ b/miniwin/src/d3drm/backends/sdl3gpu/shaders/src/SolidColor.frag.hlsl @@ -9,53 +9,50 @@ cbuffer LightBuffer : register(b0, space3) FS_Output main(FS_Input input) { FS_Output output; - float3 normal = normalize(input.Normal); - float3 fragPos = input.Position.xyz / input.Position.w; - float3 viewPos = float3(0, 0, 0); - float3 viewDir = normalize(viewPos - fragPos); - - float3 result = float3(0, 0, 0); - - const float shininess = 20.0; // All materials use this in Isle + float3 diffuse = float3(0, 0, 0); + float3 specular = float3(0, 0, 0); for (int i = 0; i < lightCount; ++i) { float3 lightColor = lights[i].color.rgb; - bool hasPos = lights[i].position.w == 1.0; - bool hasDir = lights[i].direction.w == 1.0; - - if (!hasPos && !hasDir) { - // D3DRMLIGHT_AMBIENT - result += input.Color.rgb * lightColor; + if (lights[i].position.w == 0.0 && lights[i].direction.w == 0.0) { + diffuse += lightColor; continue; } - if (hasPos) { - // D3DRMLIGHT_POINT + float3 lightVec; + if (lights[i].direction.w == 1.0) { + lightVec = normalize(-lights[i].direction.xyz); + } + else { float3 lightPos = lights[i].position.xyz; - float3 lightDir = normalize(lightPos - fragPos); - float diff = max(dot(normal, lightDir), 0.0); - float distance = length(lightPos - fragPos); - float attenuation = 1.0 / (1.0 + 0.09 * distance + 0.032 * distance * distance); - float3 halfwayDir = normalize(lightDir + viewDir); - float spec = pow(max(dot(normal, halfwayDir), 0.0), shininess); - result += (input.Color.rgb * diff + spec) * lightColor * attenuation; - continue; + lightVec = lightPos - input.WorldPosition; + + float len = length(lightVec); + if (len == 0.0f) { + continue; + } + + lightVec /= len; } - if (hasDir) { - // D3DRMLIGHT_DIRECTIONAL - float3 lightDir = normalize(-lights[i].direction.xyz); - float diff = max(dot(normal, lightDir), 0.0); - float3 halfwayDir = normalize(lightDir + viewDir); - float spec = pow(max(dot(normal, halfwayDir), 0.0), shininess); - result += (input.Color.rgb * diff + spec) * lightColor; - continue; + float dotNL = dot(input.Normal, lightVec); + if (dotNL > 0.0f) { + diffuse += dotNL * lightColor; + + if (input.Shininess != 0.0f) { + // Using dotNL ignores view angle, but this matches DirectX 5 behavior. + float spec1 = pow(dotNL, input.Shininess); + specular += spec1 * lightColor; + } } } - output.Color = float4(result, input.Color.a); + float3 baseColor = input.Color.rgb; + float3 finalColor = saturate(diffuse * baseColor + specular); + + output.Color = float4(finalColor, input.Color.a); output.Depth = input.Position.w; return output; } diff --git a/miniwin/src/d3drm/backends/software/renderer.cpp b/miniwin/src/d3drm/backends/software/renderer.cpp index fe264847..d6841c7d 100644 --- a/miniwin/src/d3drm/backends/software/renderer.cpp +++ b/miniwin/src/d3drm/backends/software/renderer.cpp @@ -47,10 +47,10 @@ void Direct3DRMSoftwareRenderer::ClearZBuffer() void Direct3DRMSoftwareRenderer::ProjectVertex(const PositionColorVertex& v, D3DRMVECTOR4D& p) const { - float px = proj[0][0] * v.x + proj[1][0] * v.y + proj[2][0] * v.z + proj[3][0]; - float py = proj[0][1] * v.x + proj[1][1] * v.y + proj[2][1] * v.z + proj[3][1]; - float pz = proj[0][2] * v.x + proj[1][2] * v.y + proj[2][2] * v.z + proj[3][2]; - float pw = proj[0][3] * v.x + proj[1][3] * v.y + proj[2][3] * v.z + proj[3][3]; + float px = proj[0][0] * v.position.x + proj[1][0] * v.position.y + proj[2][0] * v.position.z + proj[3][0]; + float py = proj[0][1] * v.position.x + proj[1][1] * v.position.y + proj[2][1] * v.position.z + proj[3][1]; + float pz = proj[0][2] * v.position.x + proj[1][2] * v.position.y + proj[2][2] * v.position.z + proj[3][2]; + float pw = proj[0][3] * v.position.x + proj[1][3] * v.position.y + proj[2][3] * v.position.z + proj[3][3]; p.w = pw; @@ -69,23 +69,23 @@ void Direct3DRMSoftwareRenderer::ProjectVertex(const PositionColorVertex& v, D3D PositionColorVertex SplitEdge(PositionColorVertex a, const PositionColorVertex& b, float plane) { - float t = (plane - a.z) / (b.z - a.z); - a.x = a.x + t * (b.x - a.x); - a.y = a.y + t * (b.y - a.y); - a.z = plane; + float t = (plane - a.position.z) / (b.position.z - a.position.z); + a.position.x = a.position.x + t * (b.position.x - a.position.x); + a.position.y = a.position.y + t * (b.position.y - a.position.y); + a.position.z = plane; - a.u = a.u + t * (b.u - a.u); - a.v = a.v + t * (b.v - a.v); + a.texCoord.u = a.texCoord.u + t * (b.texCoord.u - a.texCoord.u); + a.texCoord.v = a.texCoord.v + t * (b.texCoord.v - a.texCoord.v); - a.nx = a.nx + t * (b.nx - a.nx); - a.ny = a.ny + t * (b.ny - a.ny); - a.nz = a.nz + t * (b.nz - a.nz); + a.normals.x = a.normals.x + t * (b.normals.x - a.normals.x); + a.normals.y = a.normals.y + t * (b.normals.y - a.normals.y); + a.normals.z = a.normals.z + t * (b.normals.z - a.normals.z); - float len = std::sqrt(a.nx * a.nx + a.ny * a.ny + a.nz * a.nz); + float len = std::sqrt(a.normals.x * a.normals.x + a.normals.y * a.normals.y + a.normals.z * a.normals.z); if (len > 0.0001f) { - a.nx /= len; - a.ny /= len; - a.nz /= len; + a.normals.x /= len; + a.normals.y /= len; + a.normals.z /= len; } return a; @@ -97,9 +97,9 @@ void Direct3DRMSoftwareRenderer::DrawTriangleClipped( const PositionColorVertex& v2 ) { - bool in0 = v0.z >= m_front; - bool in1 = v1.z >= m_front; - bool in2 = v2.z >= m_front; + bool in0 = v0.position.z >= m_front; + bool in1 = v1.position.z >= m_front; + bool in2 = v2.position.z >= m_front; int insideCount = in0 + in1 + in2; @@ -168,11 +168,11 @@ SDL_Color Direct3DRMSoftwareRenderer::ApplyLighting(const PositionColorVertex& v FColor diffuse = {0, 0, 0, 0}; // Position and normal - D3DVECTOR position = {vertex.x, vertex.y, vertex.z}; - D3DVECTOR normal = {vertex.nx, vertex.ny, vertex.nz}; + D3DVECTOR position = vertex.position; + D3DVECTOR normal = vertex.normals; float normLen = std::sqrt(normal.x * normal.x + normal.y * normal.y + normal.z * normal.z); if (normLen == 0.0f) { - return {vertex.r, vertex.g, vertex.b, vertex.a}; + return vertex.colors; } normal.x /= normLen; @@ -225,10 +225,10 @@ SDL_Color Direct3DRMSoftwareRenderer::ApplyLighting(const PositionColorVertex& v } return SDL_Color{ - static_cast(std::min(255.0f, diffuse.r * vertex.r + specular.r * 255.0f)), - static_cast(std::min(255.0f, diffuse.g * vertex.g + specular.g * 255.0f)), - static_cast(std::min(255.0f, diffuse.b * vertex.b + specular.b * 255.0f)), - vertex.a + static_cast(std::min(255.0f, diffuse.r * vertex.colors.r + specular.r * 255.0f)), + static_cast(std::min(255.0f, diffuse.g * vertex.colors.g + specular.g * 255.0f)), + static_cast(std::min(255.0f, diffuse.b * vertex.colors.b + specular.b * 255.0f)), + vertex.colors.a }; } @@ -324,7 +324,7 @@ void Direct3DRMSoftwareRenderer::DrawTriangleProjected( Uint8 b = static_cast(w0 * c0.b + w1 * c1.b + w2 * c2.b); Uint8* pixelAddr = pixels + y * pitch + x * m_bytesPerPixel; - if (v0.a == 255) { + if (v0.colors.a == 255) { zref = z; if (texels) { @@ -334,8 +334,12 @@ void Direct3DRMSoftwareRenderer::DrawTriangleProjected( continue; } invW = 1.0 / invW; - float u = static_cast(((w0 * v0.u / p0.w) + (w1 * v1.u / p1.w) + (w2 * v2.u / p2.w)) * invW); - float v = static_cast(((w0 * v0.v / p0.w) + (w1 * v1.v / p1.w) + (w2 * v2.v / p2.w)) * invW); + float u = static_cast( + ((w0 * v0.texCoord.u / p0.w) + (w1 * v1.texCoord.u / p1.w) + (w2 * v2.texCoord.u / p2.w)) * invW + ); + float v = static_cast( + ((w0 * v0.texCoord.v / p0.w) + (w1 * v1.texCoord.v / p1.w) + (w2 * v2.texCoord.v / p2.w)) * invW + ); // Tile textures u = u - std::floor(u); @@ -363,7 +367,7 @@ void Direct3DRMSoftwareRenderer::DrawTriangleProjected( } else { // Transparent alpha blending with vertex alpha - BlendPixel(pixelAddr, r, g, b, v0.a); + BlendPixel(pixelAddr, r, g, b, v0.colors.a); } } } @@ -422,6 +426,7 @@ Uint32 Direct3DRMSoftwareRenderer::GetTextureId(IDirect3DRMTexture* iTexture) if (texRef.texture == nullptr) { texRef.texture = texture; texRef.cached = convertedRender; + texRef.version = texture->m_version; AddTextureDestroyCallback(i, texture); return i; } diff --git a/miniwin/src/d3drm/d3drmviewport.cpp b/miniwin/src/d3drm/d3drmviewport.cpp index f755d243..78bfb7d1 100644 --- a/miniwin/src/d3drm/d3drmviewport.cpp +++ b/miniwin/src/d3drm/d3drmviewport.cpp @@ -296,20 +296,17 @@ HRESULT Direct3DRMViewportImpl::CollectSceneData() } PositionColorVertex vtx; - vtx.x = viewPos.x; - vtx.y = viewPos.y; - vtx.z = viewPos.z; - vtx.nx = viewNorm.x; - vtx.ny = viewNorm.y; - vtx.nz = viewNorm.z; - vtx.r = (color >> 16) & 0xFF; - vtx.g = (color >> 8) & 0xFF; - vtx.b = (color >> 0) & 0xFF; - vtx.a = (color >> 24) & 0xFF; + vtx.position = viewPos; + vtx.normals = viewNorm; + vtx.colors = { + static_cast((color >> 16) & 0xFF), + static_cast((color >> 8) & 0xFF), + static_cast((color >> 0) & 0xFF), + static_cast((color >> 24) & 0xFF) + }; vtx.shininess = shininess; vtx.texId = texId; - vtx.u = dv.tu; - vtx.v = dv.tv; + vtx.texCoord = {dv.tu, dv.tv}; verts.push_back(vtx); } } diff --git a/miniwin/src/internal/d3drmrenderer.h b/miniwin/src/internal/d3drmrenderer.h index 319b4ae0..20b44051 100644 --- a/miniwin/src/internal/d3drmrenderer.h +++ b/miniwin/src/internal/d3drmrenderer.h @@ -6,14 +6,19 @@ #define NO_TEXTURE_ID 0xffffffff -typedef struct PositionColorVertex { - float x, y, z; - float nx, ny, nz; - Uint8 r, g, b, a; - Uint32 texId = NO_TEXTURE_ID; +struct TexCoord { float u, v; +}; + +struct PositionColorVertex { + D3DVECTOR position; + D3DVECTOR normals; + SDL_Color colors; + Uint32 texId; + TexCoord texCoord; float shininess; -} PositionColorVertex; +}; +static_assert(sizeof(PositionColorVertex) == 44); struct FColor { float r, g, b, a; @@ -26,6 +31,7 @@ struct SceneLight { D3DVECTOR direction; float directional = 0.f; // direction is valid if 1.f }; +static_assert(sizeof(SceneLight) == 48); class Direct3DRMRenderer : public IDirect3DDevice2 { public: From 1ab11ed091a86a1e757da728b2d717bf5544cab9 Mon Sep 17 00:00:00 2001 From: AllMeatball <181806857+AllMeatball@users.noreply.github.com> Date: Tue, 3 Jun 2025 00:18:20 +0000 Subject: [PATCH 6/7] miniwin: Compartmentalize EnumDevices (#222) This compartmentalizes everything to a corresponding function for each renderer backend. --- miniwin/src/ddraw/ddraw.cpp | 10 ++-------- miniwin/src/internal/d3drmrenderer_sdl3gpu.h | 10 ++++++++++ miniwin/src/internal/d3drmrenderer_software.h | 9 +++++++++ miniwin/src/internal/ddraw_impl.h | 3 +++ 4 files changed, 24 insertions(+), 8 deletions(-) diff --git a/miniwin/src/ddraw/ddraw.cpp b/miniwin/src/ddraw/ddraw.cpp index 31157378..f5a2f680 100644 --- a/miniwin/src/ddraw/ddraw.cpp +++ b/miniwin/src/ddraw/ddraw.cpp @@ -223,14 +223,8 @@ void EnumDevice(LPD3DENUMDEVICESCALLBACK cb, void* ctx, Direct3DRMRenderer* devi HRESULT DirectDrawImpl::EnumDevices(LPD3DENUMDEVICESCALLBACK cb, void* ctx) { - Direct3DRMRenderer* device = Direct3DRMSDL3GPURenderer::Create(640, 480); - if (device) { - EnumDevice(cb, ctx, device, SDL3_GPU_GUID); - delete device; - } - device = new Direct3DRMSoftwareRenderer(640, 480); - EnumDevice(cb, ctx, device, SOFTWARE_GUID); - delete device; + Direct3DRMSDL3GPU_EnumDevice(cb, ctx); + Direct3DRMSoftware_EnumDevice(cb, ctx); return S_OK; } diff --git a/miniwin/src/internal/d3drmrenderer_sdl3gpu.h b/miniwin/src/internal/d3drmrenderer_sdl3gpu.h index 92359861..20fe0451 100644 --- a/miniwin/src/internal/d3drmrenderer_sdl3gpu.h +++ b/miniwin/src/internal/d3drmrenderer_sdl3gpu.h @@ -1,6 +1,7 @@ #pragma once #include "d3drmrenderer.h" +#include "ddraw_impl.h" #include @@ -60,3 +61,12 @@ class Direct3DRMSDL3GPURenderer : public Direct3DRMRenderer { SDL_GPUBuffer* m_vertexBuffer = nullptr; SDL_Surface* m_renderedImage = nullptr; }; + +inline static void Direct3DRMSDL3GPU_EnumDevice(LPD3DENUMDEVICESCALLBACK cb, void* ctx) +{ + Direct3DRMRenderer* device = Direct3DRMSDL3GPURenderer::Create(640, 480); + if (device) { + EnumDevice(cb, ctx, device, SDL3_GPU_GUID); + delete device; + } +} diff --git a/miniwin/src/internal/d3drmrenderer_software.h b/miniwin/src/internal/d3drmrenderer_software.h index 6879a0e1..7ad5e80c 100644 --- a/miniwin/src/internal/d3drmrenderer_software.h +++ b/miniwin/src/internal/d3drmrenderer_software.h @@ -2,6 +2,7 @@ #include "d3drmrenderer.h" #include "d3drmtexture_impl.h" +#include "ddraw_impl.h" #include #include @@ -56,3 +57,11 @@ class Direct3DRMSoftwareRenderer : public Direct3DRMRenderer { float proj[4][4] = {0}; std::vector m_zBuffer; }; + +inline static void Direct3DRMSoftware_EnumDevice(LPD3DENUMDEVICESCALLBACK cb, void* ctx) +{ + Direct3DRMRenderer* device = nullptr; + device = new Direct3DRMSoftwareRenderer(640, 480); + EnumDevice(cb, ctx, device, SOFTWARE_GUID); + delete device; +} diff --git a/miniwin/src/internal/ddraw_impl.h b/miniwin/src/internal/ddraw_impl.h index c911cafe..1c0ddb16 100644 --- a/miniwin/src/internal/ddraw_impl.h +++ b/miniwin/src/internal/ddraw_impl.h @@ -1,5 +1,6 @@ #pragma once +#include "d3drmrenderer.h" #include "miniwin/d3d.h" #include "miniwin/ddraw.h" @@ -43,3 +44,5 @@ struct DirectDrawImpl : public IDirectDraw2, public IDirect3D2 { HRESULT DirectDrawEnumerate(LPDDENUMCALLBACKA cb, void* context); HRESULT DirectDrawCreate(LPGUID lpGuid, LPDIRECTDRAW* lplpDD, IUnknown* pUnkOuter); + +void EnumDevice(LPD3DENUMDEVICESCALLBACK cb, void* ctx, Direct3DRMRenderer* device, GUID deviceGuid); From b169a4d637b72ffd68110c3974af2b0eeac4a84d Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Tue, 3 Jun 2025 03:28:53 +0200 Subject: [PATCH 7/7] Implement OpenGL 1.5 backend renderer (#223) --- .github/workflows/ci.yml | 4 +- miniwin/CMakeLists.txt | 12 + .../src/d3drm/backends/opengl15/renderer.cpp | 257 ++++++++++++++++++ .../src/d3drm/backends/sdl3gpu/renderer.cpp | 31 +-- miniwin/src/d3drm/d3drm.cpp | 8 + miniwin/src/ddraw/ddraw.cpp | 11 + miniwin/src/internal/d3drmrenderer_opengl15.h | 49 ++++ 7 files changed, 340 insertions(+), 32 deletions(-) create mode 100644 miniwin/src/d3drm/backends/opengl15/renderer.cpp create mode 100644 miniwin/src/internal/d3drmrenderer_opengl15.h diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index def82f85..dc59ca25 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -64,7 +64,7 @@ jobs: sudo apt-get update sudo apt-get install -y \ libx11-dev libxext-dev libxrandr-dev libxrender-dev libxfixes-dev libxi-dev libxinerama-dev \ - libxcursor-dev libwayland-dev libxkbcommon-dev wayland-protocols + libxcursor-dev libwayland-dev libxkbcommon-dev wayland-protocols libgl1-mesa-dev libglew-dev - name: Install macOS dependencies (brew) if: ${{ matrix.brew }} @@ -122,7 +122,7 @@ jobs: run: | action_headers=$(find LEGO1/lego/legoomni/include/actions \ -name '*.h' -print0 | xargs -0 echo) - + python3 tools/ncc/ncc.py \ --clang-lib ${{ env.LLVM_PATH }}/lib/libclang.so \ --recurse \ diff --git a/miniwin/CMakeLists.txt b/miniwin/CMakeLists.txt index 958a9c26..85ada8af 100644 --- a/miniwin/CMakeLists.txt +++ b/miniwin/CMakeLists.txt @@ -23,6 +23,18 @@ add_library(miniwin STATIC EXCLUDE_FROM_ALL src/d3drm/backends/sdl3gpu/shaders/generated/ShaderIndex.cpp ) +find_package(OpenGL) +find_package(GLEW) +if(OpenGL_FOUND AND GLEW_FOUND) + target_sources(miniwin PRIVATE src/d3drm/backends/opengl15/renderer.cpp) + target_compile_definitions(miniwin PRIVATE USE_OPENGL15) + # Find and link OpenGL (1.5) + target_link_libraries(miniwin PRIVATE OpenGL::GL) + # Glew is used for getting a FBO for off screen rendering + target_include_directories(miniwin PRIVATE ${GLEW_INCLUDE_DIRS}) + target_link_libraries(miniwin PRIVATE ${GLEW_LIBRARIES}) +endif() + # Force reported render mods from MiniWin target_compile_definitions(miniwin PRIVATE MINIWIN_PIXELFORMAT=SDL_PIXELFORMAT_RGB565) target_compile_definitions(miniwin PUBLIC MINIWIN) diff --git a/miniwin/src/d3drm/backends/opengl15/renderer.cpp b/miniwin/src/d3drm/backends/opengl15/renderer.cpp new file mode 100644 index 00000000..e3a69487 --- /dev/null +++ b/miniwin/src/d3drm/backends/opengl15/renderer.cpp @@ -0,0 +1,257 @@ +#include "d3drmrenderer_opengl15.h" +#include "ddraw_impl.h" + +#include +#include +#include + +Direct3DRMRenderer* OpenGL15Renderer::Create(DWORD width, DWORD height) +{ + SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 1); + SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 5); + SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_COMPATIBILITY); + + SDL_Window* window = DDWindow; + bool testWindow = false; + if (!window) { + window = SDL_CreateWindow("OpenGL 1.5 test", width, height, SDL_WINDOW_HIDDEN | SDL_WINDOW_OPENGL); + testWindow = true; + } + + SDL_GLContext context = SDL_GL_CreateContext(window); + if (!context) { + if (testWindow) { + SDL_DestroyWindow(window); + } + return nullptr; + } + + SDL_GL_MakeCurrent(window, context); + GLenum err = glewInit(); + if (err != GLEW_OK) { + if (testWindow) { + SDL_DestroyWindow(window); + } + return nullptr; + } + + glEnable(GL_DEPTH_TEST); + glEnable(GL_LIGHTING); + glEnable(GL_COLOR_MATERIAL); + + // Setup FBO + GLuint fbo; + glGenFramebuffers(1, &fbo); + glBindFramebuffer(GL_FRAMEBUFFER, fbo); + + // Create color texture + GLuint colorTex; + glGenTextures(1, &colorTex); + glBindTexture(GL_TEXTURE_2D, colorTex); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, nullptr); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, colorTex, 0); + + // Create depth renderbuffer + GLuint depthRb; + glGenRenderbuffers(1, &depthRb); + glBindRenderbuffer(GL_RENDERBUFFER, depthRb); + glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, width, height); + glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, depthRb); + + if (glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE) { + return nullptr; + } + glBindFramebuffer(GL_FRAMEBUFFER, 0); + + if (testWindow) { + SDL_DestroyWindow(window); + } + + return new OpenGL15Renderer(width, height, context, fbo, colorTex, depthRb); +} + +OpenGL15Renderer::OpenGL15Renderer( + int width, + int height, + SDL_GLContext context, + GLuint fbo, + GLuint colorTex, + GLuint depthRb +) + : m_width(width), m_height(height), m_context(context), m_fbo(fbo), m_colorTex(colorTex), m_depthRb(depthRb) +{ + m_renderedImage = SDL_CreateSurface(m_width, m_height, SDL_PIXELFORMAT_ABGR8888); +} + +OpenGL15Renderer::~OpenGL15Renderer() +{ + if (m_renderedImage) { + SDL_DestroySurface(m_renderedImage); + } +} + +void OpenGL15Renderer::SetBackbuffer(SDL_Surface* surface) +{ + m_backbuffer = surface; +} + +void OpenGL15Renderer::PushVertices(const PositionColorVertex* verts, size_t count) +{ + m_vertices.assign(verts, verts + count); +} + +void OpenGL15Renderer::PushLights(const SceneLight* lightsArray, size_t count) +{ + m_lights.assign(lightsArray, lightsArray + count); +} + +void OpenGL15Renderer::SetProjection(D3DRMMATRIX4D perspective, D3DVALUE front, D3DVALUE back) +{ + memcpy(&m_projection, perspective, sizeof(D3DRMMATRIX4D)); + m_projection[1][1] *= -1.0f; // OpenGL is upside down +} + +Uint32 OpenGL15Renderer::GetTextureId(IDirect3DRMTexture* texture) +{ + return NO_TEXTURE_ID; // Stub +} + +DWORD OpenGL15Renderer::GetWidth() +{ + return m_width; +} + +DWORD OpenGL15Renderer::GetHeight() +{ + return m_height; +} + +void OpenGL15Renderer::GetDesc(D3DDEVICEDESC* halDesc, D3DDEVICEDESC* helDesc) +{ + halDesc->dcmColorModel = D3DCOLORMODEL::RGB; + halDesc->dwFlags = D3DDD_DEVICEZBUFFERBITDEPTH; + halDesc->dwDeviceZBufferBitDepth = DDBD_24; // Todo add support for other depths + helDesc->dwDeviceRenderBitDepth = DDBD_8 | DDBD_16 | DDBD_24 | DDBD_32; + halDesc->dpcTriCaps.dwTextureCaps = D3DPTEXTURECAPS_PERSPECTIVE; + halDesc->dpcTriCaps.dwShadeCaps = D3DPSHADECAPS_ALPHAFLATBLEND; + halDesc->dpcTriCaps.dwTextureFilterCaps = D3DPTFILTERCAPS_LINEAR; + + memset(helDesc, 0, sizeof(D3DDEVICEDESC)); +} + +const char* OpenGL15Renderer::GetName() +{ + return "OpenGL 1.5 Renderer"; +} + +HRESULT OpenGL15Renderer::Render() +{ + if (!m_backbuffer) { + return DDERR_GENERIC; + } + SDL_GL_MakeCurrent(DDWindow, m_context); + glBindFramebuffer(GL_FRAMEBUFFER, m_fbo); + glViewport(0, 0, m_width, m_height); + + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glEnable(GL_DEPTH_TEST); + glEnable(GL_LIGHTING); + glEnable(GL_COLOR_MATERIAL); + glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE); + + glClearColor(0.0f, 0.0f, 0.0f, 0.0f); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + + // Disable all lights and reset global ambient + for (int i = 0; i < 8; ++i) { + glDisable(GL_LIGHT0 + i); + } + const GLfloat zeroAmbient[4] = {0.f, 0.f, 0.f, 1.f}; + glLightModelfv(GL_LIGHT_MODEL_AMBIENT, zeroAmbient); + + // Setup lights + glMatrixMode(GL_MODELVIEW); + glPushMatrix(); + glLoadIdentity(); + + int lightIdx = 0; + for (const auto& l : m_lights) { + if (lightIdx > 7) { + break; + } + GLenum lightId = GL_LIGHT0 + lightIdx++; + const FColor& c = l.color; + GLfloat col[4] = {c.r, c.g, c.b, c.a}; + GLfloat pos[4]; + + if (l.positional == 0.f && l.directional == 0.f) { + // Ambient light only + glLightfv(lightId, GL_AMBIENT, col); + const GLfloat black[4] = {0.f, 0.f, 0.f, 1.f}; + glLightfv(lightId, GL_DIFFUSE, black); + glLightfv(lightId, GL_SPECULAR, black); + const GLfloat dummyPos[4] = {0.f, 0.f, 1.f, 0.f}; + glLightfv(lightId, GL_POSITION, dummyPos); + } + else { + glLightfv(lightId, GL_AMBIENT, zeroAmbient); + glLightfv(lightId, GL_DIFFUSE, col); + glLightfv(lightId, GL_SPECULAR, col); + + if (l.directional == 1.f) { + pos[0] = -l.direction.x; + pos[1] = -l.direction.y; + pos[2] = -l.direction.z; + pos[3] = 0.f; + } + else { + pos[0] = l.position.x; + pos[1] = l.position.y; + pos[2] = l.position.z; + pos[3] = 1.f; + } + glLightfv(lightId, GL_POSITION, pos); + } + glEnable(lightId); + } + glPopMatrix(); + + // Projection and view + glMatrixMode(GL_PROJECTION); + glLoadMatrixf(&m_projection[0][0]); + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + + // Render geometry + glBegin(GL_TRIANGLES); + for (const auto& v : m_vertices) { + glColor4ub(v.colors.r, v.colors.g, v.colors.b, v.colors.a); + glNormal3f(v.normals.x, v.normals.y, v.normals.z); + glTexCoord2f(v.texCoord.u, v.texCoord.v); + + // Set per-vertex specular material + glMaterialf(GL_FRONT, GL_SHININESS, v.shininess); + if (v.shininess != 0.0f) { + GLfloat whiteSpec[] = {v.shininess, v.shininess, v.shininess, v.shininess}; + glMaterialfv(GL_FRONT, GL_SPECULAR, whiteSpec); + } + else { + GLfloat noSpec[] = {0.f, 0.f, 0.f, 1.f}; + glMaterialfv(GL_FRONT, GL_SPECULAR, noSpec); + } + + glVertex3f(v.position.x, v.position.y, v.position.z); + } + glEnd(); + + glReadPixels(0, 0, m_width, m_height, GL_RGBA, GL_UNSIGNED_BYTE, m_renderedImage->pixels); + glBindFramebuffer(GL_FRAMEBUFFER, 0); + + // Composite onto SDL backbuffer + SDL_BlitSurface(m_renderedImage, nullptr, m_backbuffer, nullptr); + + return DD_OK; +} diff --git a/miniwin/src/d3drm/backends/sdl3gpu/renderer.cpp b/miniwin/src/d3drm/backends/sdl3gpu/renderer.cpp index a4dfd078..087e6249 100644 --- a/miniwin/src/d3drm/backends/sdl3gpu/renderer.cpp +++ b/miniwin/src/d3drm/backends/sdl3gpu/renderer.cpp @@ -388,36 +388,7 @@ HRESULT Direct3DRMSDL3GPURenderer::Render() SDL_DestroySurface(m_renderedImage); SDL_UnmapGPUTransferBuffer(m_device, m_downloadTransferBuffer); m_renderedImage = convertedRender; - return Blit(); -} + SDL_BlitSurface(m_renderedImage, nullptr, m_backbuffer, nullptr); -HRESULT Direct3DRMSDL3GPURenderer::Blit() -{ - // Blit the render back to our backbuffer - SDL_Rect srcRect{0, 0, (int) m_width, (int) m_height}; - - const SDL_PixelFormatDetails* details = SDL_GetPixelFormatDetails(m_backbuffer->format); - if (details->Amask != 0) { - // Backbuffer supports transparnacy - SDL_Surface* convertedRender = SDL_ConvertSurface(m_renderedImage, m_backbuffer->format); - SDL_DestroySurface(m_renderedImage); - m_renderedImage = convertedRender; - return DD_OK; - } - - if (m_renderedImage->format == m_backbuffer->format) { - // No conversion needed - SDL_BlitSurface(m_renderedImage, &srcRect, m_backbuffer, &srcRect); - return DD_OK; - } - - // Convert backbuffer to a format that supports transparancy - SDL_Surface* tempBackbuffer = SDL_ConvertSurface(m_backbuffer, m_renderedImage->format); - SDL_BlitSurface(m_renderedImage, &srcRect, tempBackbuffer, &srcRect); - // Then convert the result back to the backbuffer format and write it back - SDL_Surface* newBackBuffer = SDL_ConvertSurface(tempBackbuffer, m_backbuffer->format); - SDL_DestroySurface(tempBackbuffer); - SDL_BlitSurface(newBackBuffer, &srcRect, m_backbuffer, &srcRect); - SDL_DestroySurface(newBackBuffer); return DD_OK; } diff --git a/miniwin/src/d3drm/d3drm.cpp b/miniwin/src/d3drm/d3drm.cpp index 88cf6ff4..e688d890 100644 --- a/miniwin/src/d3drm/d3drm.cpp +++ b/miniwin/src/d3drm/d3drm.cpp @@ -7,6 +7,9 @@ #include "d3drmmesh_impl.h" #include "d3drmobject_impl.h" #include "d3drmrenderer.h" +#ifdef USE_OPENGL15 +#include "d3drmrenderer_opengl15.h" +#endif #include "d3drmrenderer_sdl3gpu.h" #include "d3drmrenderer_software.h" #include "d3drmtexture_impl.h" @@ -141,6 +144,11 @@ HRESULT Direct3DRMImpl::CreateDeviceFromSurface( else if (SDL_memcmp(&guid, &SOFTWARE_GUID, sizeof(GUID)) == 0) { renderer = new Direct3DRMSoftwareRenderer(DDSDesc.dwWidth, DDSDesc.dwHeight); } +#ifdef USE_OPENGL15 + else if (SDL_memcmp(&guid, &OPENGL15_GUID, sizeof(GUID)) == 0) { + renderer = OpenGL15Renderer::Create(DDSDesc.dwWidth, DDSDesc.dwHeight); + } +#endif else { SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Device GUID not recognized"); return E_NOINTERFACE; diff --git a/miniwin/src/ddraw/ddraw.cpp b/miniwin/src/ddraw/ddraw.cpp index f5a2f680..84d3958e 100644 --- a/miniwin/src/ddraw/ddraw.cpp +++ b/miniwin/src/ddraw/ddraw.cpp @@ -1,3 +1,6 @@ +#ifdef USE_OPENGL15 +#include "d3drmrenderer_opengl15.h" +#endif #include "d3drmrenderer_sdl3gpu.h" #include "d3drmrenderer_software.h" #include "ddpalette_impl.h" @@ -224,6 +227,9 @@ void EnumDevice(LPD3DENUMDEVICESCALLBACK cb, void* ctx, Direct3DRMRenderer* devi HRESULT DirectDrawImpl::EnumDevices(LPD3DENUMDEVICESCALLBACK cb, void* ctx) { Direct3DRMSDL3GPU_EnumDevice(cb, ctx); +#ifdef USE_OPENGL15 + OpenGL15Renderer_EnumDevice(cb, ctx); +#endif Direct3DRMSoftware_EnumDevice(cb, ctx); return S_OK; @@ -314,6 +320,11 @@ HRESULT DirectDrawImpl::CreateDevice( if (SDL_memcmp(&guid, &SDL3_GPU_GUID, sizeof(GUID)) == 0) { renderer = Direct3DRMSDL3GPURenderer::Create(DDSDesc.dwWidth, DDSDesc.dwHeight); } +#ifdef USE_OPENGL15 + else if (SDL_memcmp(&guid, &OPENGL15_GUID, sizeof(GUID)) == 0) { + renderer = OpenGL15Renderer::Create(DDSDesc.dwWidth, DDSDesc.dwHeight); + } +#endif else if (SDL_memcmp(&guid, &SOFTWARE_GUID, sizeof(GUID)) == 0) { renderer = new Direct3DRMSoftwareRenderer(DDSDesc.dwWidth, DDSDesc.dwHeight); } diff --git a/miniwin/src/internal/d3drmrenderer_opengl15.h b/miniwin/src/internal/d3drmrenderer_opengl15.h new file mode 100644 index 00000000..d3d1b0c8 --- /dev/null +++ b/miniwin/src/internal/d3drmrenderer_opengl15.h @@ -0,0 +1,49 @@ +#pragma once + +#include "d3drmrenderer.h" +#include "d3drmtexture_impl.h" +#include "ddraw_impl.h" + +#include +#include +#include + +DEFINE_GUID(OPENGL15_GUID, 0x682656F3, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03); + +class OpenGL15Renderer : public Direct3DRMRenderer { +public: + static Direct3DRMRenderer* Create(DWORD width, DWORD height); + OpenGL15Renderer(int width, int height, SDL_GLContext context, GLuint fbo, GLuint colorTex, GLuint depthRb); + ~OpenGL15Renderer() override; + void SetBackbuffer(SDL_Surface* surface) override; + void PushVertices(const PositionColorVertex* verts, size_t count) override; + void PushLights(const SceneLight* lightsArray, size_t count) override; + void SetProjection(D3DRMMATRIX4D perspective, D3DVALUE front, D3DVALUE back) override; + Uint32 GetTextureId(IDirect3DRMTexture* texture) override; + DWORD GetWidth() override; + DWORD GetHeight() override; + void GetDesc(D3DDEVICEDESC* halDesc, D3DDEVICEDESC* helDesc) override; + const char* GetName() override; + HRESULT Render() override; + +private: + SDL_GLContext m_context; + D3DRMMATRIX4D m_projection; + SDL_Surface* m_backbuffer = nullptr; + SDL_Surface* m_renderedImage; + int m_width, m_height; + std::vector m_vertices; + std::vector m_lights; + GLuint m_fbo = 0; + GLuint m_colorTex = 0; + GLuint m_depthRb = 0; +}; + +inline static void OpenGL15Renderer_EnumDevice(LPD3DENUMDEVICESCALLBACK cb, void* ctx) +{ + Direct3DRMRenderer* device = OpenGL15Renderer::Create(640, 480); + if (device) { + EnumDevice(cb, ctx, device, OPENGL15_GUID); + delete device; + } +}