Browse Source

Added an advanced shader for the GPU renderer

This allows us to support YUV colorspaces and HDR in the GPU renderer.

Fixes https://github.com/libsdl-org/SDL/issues/11281
Fixes https://github.com/libsdl-org/SDL/issues/11282
Sam Lantinga 1 week ago
parent
commit
9735c45db6
42 changed files with 5204 additions and 3588 deletions
  1. 9 0
      include/SDL3/SDL_render.h
  2. 417 82
      src/render/gpu/SDL_render_gpu.c
  3. 8 29
      src/render/gpu/SDL_shaders_gpu.c
  4. 1 4
      src/render/gpu/SDL_shaders_gpu.h
  5. 1 0
      src/render/gpu/shaders/build-shaders.sh
  6. 221 176
      src/render/gpu/shaders/color.frag.dxil.h
  7. 9 1
      src/render/gpu/shaders/color.frag.hlsl
  8. 44 22
      src/render/gpu/shaders/color.frag.msl.h
  9. 60 24
      src/render/gpu/shaders/color.frag.spv.h
  10. 10 0
      src/render/gpu/shaders/common.frag.hlsli
  11. 1 4
      src/render/gpu/shaders/dxil.h
  12. 1 4
      src/render/gpu/shaders/msl.h
  13. 1 4
      src/render/gpu/shaders/spir-v.h
  14. 833 0
      src/render/gpu/shaders/texture_advanced.frag.dxil.h
  15. 282 0
      src/render/gpu/shaders/texture_advanced.frag.hlsl
  16. 1280 0
      src/render/gpu/shaders/texture_advanced.frag.msl.h
  17. 1183 0
      src/render/gpu/shaders/texture_advanced.frag.spv.h
  18. 0 341
      src/render/gpu/shaders/texture_palette.frag.dxil.h
  19. 0 21
      src/render/gpu/shaders/texture_palette.frag.hlsl
  20. 0 60
      src/render/gpu/shaders/texture_palette.frag.msl.h
  21. 0 106
      src/render/gpu/shaders/texture_palette.frag.spv.h
  22. 0 426
      src/render/gpu/shaders/texture_palette_pixelart.frag.dxil.h
  23. 0 44
      src/render/gpu/shaders/texture_palette_pixelart.frag.hlsl
  24. 0 99
      src/render/gpu/shaders/texture_palette_pixelart.frag.msl.h
  25. 0 169
      src/render/gpu/shaders/texture_palette_pixelart.frag.spv.h
  26. 0 33
      src/render/gpu/shaders/texture_pixelart.frag.hlsli
  27. 252 223
      src/render/gpu/shaders/texture_rgb.frag.dxil.h
  28. 9 1
      src/render/gpu/shaders/texture_rgb.frag.hlsl
  29. 59 38
      src/render/gpu/shaders/texture_rgb.frag.msl.h
  30. 106 73
      src/render/gpu/shaders/texture_rgb.frag.spv.h
  31. 0 401
      src/render/gpu/shaders/texture_rgb_pixelart.frag.dxil.h
  32. 0 8
      src/render/gpu/shaders/texture_rgb_pixelart.frag.hlsl
  33. 0 87
      src/render/gpu/shaders/texture_rgb_pixelart.frag.msl.h
  34. 0 148
      src/render/gpu/shaders/texture_rgb_pixelart.frag.spv.h
  35. 253 224
      src/render/gpu/shaders/texture_rgba.frag.dxil.h
  36. 9 1
      src/render/gpu/shaders/texture_rgba.frag.hlsl
  37. 58 36
      src/render/gpu/shaders/texture_rgba.frag.msl.h
  38. 97 62
      src/render/gpu/shaders/texture_rgba.frag.spv.h
  39. 0 402
      src/render/gpu/shaders/texture_rgba_pixelart.frag.dxil.h
  40. 0 8
      src/render/gpu/shaders/texture_rgba_pixelart.frag.hlsl
  41. 0 86
      src/render/gpu/shaders/texture_rgba_pixelart.frag.msl.h
  42. 0 141
      src/render/gpu/shaders/texture_rgba_pixelart.frag.spv.h

+ 9 - 0
include/SDL3/SDL_render.h

@@ -864,6 +864,12 @@ extern SDL_DECLSPEC SDL_Texture * SDLCALL SDL_CreateTextureWithProperties(SDL_Re
  *
  * - `SDL_PROP_TEXTURE_GPU_TEXTURE_POINTER`: the SDL_GPUTexture associated
  *   with the texture
+ * - `SDL_PROP_TEXTURE_GPU_TEXTURE_UV_POINTER`: the SDL_GPUTexture associated
+ *   with the UV plane of an NV12 texture
+ * - `SDL_PROP_TEXTURE_GPU_TEXTURE_U_POINTER`: the SDL_GPUTexture associated
+ *   with the U plane of a YUV texture
+ * - `SDL_PROP_TEXTURE_GPU_TEXTURE_V_POINTER`: the SDL_GPUTexture associated
+ *   with the V plane of a YUV texture
  *
  * \param texture the texture to query.
  * \returns a valid property ID on success or 0 on failure; call
@@ -902,6 +908,9 @@ extern SDL_DECLSPEC SDL_PropertiesID SDLCALL SDL_GetTextureProperties(SDL_Textur
 #define SDL_PROP_TEXTURE_OPENGLES2_TEXTURE_TARGET_NUMBER    "SDL.texture.opengles2.target"
 #define SDL_PROP_TEXTURE_VULKAN_TEXTURE_NUMBER              "SDL.texture.vulkan.texture"
 #define SDL_PROP_TEXTURE_GPU_TEXTURE_POINTER                "SDL.texture.gpu.texture"
+#define SDL_PROP_TEXTURE_GPU_TEXTURE_UV_POINTER             "SDL.texture.gpu.texture_uv"
+#define SDL_PROP_TEXTURE_GPU_TEXTURE_U_POINTER              "SDL.texture.gpu.texture_u"
+#define SDL_PROP_TEXTURE_GPU_TEXTURE_V_POINTER              "SDL.texture.gpu.texture_v"
 
 /**
  * Get the renderer that created an SDL_Texture.

+ 417 - 82
src/render/gpu/SDL_render_gpu.c

@@ -35,13 +35,51 @@ typedef struct GPU_VertexShaderUniformData
     SDL_FColor color;
 } GPU_VertexShaderUniformData;
 
-typedef struct GPU_FragmentShaderUniformData
+typedef struct GPU_SimpleFragmentShaderUniformData
 {
+    float color_scale;
+} GPU_SimpleFragmentShaderUniformData;
+
+typedef struct GPU_AdvancedFragmentShaderUniformData
+{
+    float scRGB_output;
+    float texture_type;
+    float input_type;
+    float color_scale;
+
     float texel_width;
     float texel_height;
     float texture_width;
     float texture_height;
-} GPU_FragmentShaderUniformData;
+
+    float tonemap_method;
+    float tonemap_factor1;
+    float tonemap_factor2;
+    float sdr_white_point;
+
+    float YCbCr_matrix[16];
+} GPU_AdvancedFragmentShaderUniformData;
+
+// These should mirror the definitions in shaders/texture_advanced.frag.hlsl
+static const float TONEMAP_NONE = 0;
+//static const float TONEMAP_LINEAR = 1;
+static const float TONEMAP_CHROME = 2;
+
+//static const float TEXTURETYPE_NONE = 0;
+static const float TEXTURETYPE_RGB = 1;
+static const float TEXTURETYPE_RGB_PIXELART = 2;
+static const float TEXTURETYPE_RGBA = 3;
+static const float TEXTURETYPE_RGBA_PIXELART = 4;
+static const float TEXTURETYPE_PALETTE = 5;
+static const float TEXTURETYPE_PALETTE_PIXELART = 6;
+static const float TEXTURETYPE_NV12 = 7;
+static const float TEXTURETYPE_NV21 = 8;
+static const float TEXTURETYPE_YUV = 9;
+
+static const float INPUTTYPE_UNSPECIFIED = 0;
+static const float INPUTTYPE_SRGB = 1;
+static const float INPUTTYPE_SCRGB = 2;
+static const float INPUTTYPE_HDR10 = 3;
 
 typedef struct GPU_RenderData
 {
@@ -95,10 +133,20 @@ typedef struct GPU_TextureData
 {
     SDL_GPUTexture *texture;
     SDL_GPUTextureFormat format;
-    GPU_FragmentShaderID shader;
     void *pixels;
     int pitch;
     SDL_Rect locked_rect;
+    const float *YCbCr_matrix;
+#ifdef SDL_HAVE_YUV
+    // YV12 texture support
+    bool yuv;
+    SDL_GPUTexture *textureU;
+    SDL_GPUTexture *textureV;
+
+    // NV12 texture support
+    bool nv12;
+    SDL_GPUTexture *textureNV;
+#endif
 } GPU_TextureData;
 
 static bool GPU_SupportsBlendMode(SDL_Renderer *renderer, SDL_BlendMode blendMode)
@@ -211,10 +259,32 @@ static bool GPU_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL_
     SDL_GPUTextureFormat format;
     SDL_GPUTextureUsageFlags usage = SDL_GPU_TEXTUREUSAGE_SAMPLER;
 
-    if (texture->format == SDL_PIXELFORMAT_INDEX8) {
+    switch (texture->format) {
+    case SDL_PIXELFORMAT_INDEX8:
+    case SDL_PIXELFORMAT_YV12:
+    case SDL_PIXELFORMAT_IYUV:
+    case SDL_PIXELFORMAT_NV12:
+    case SDL_PIXELFORMAT_NV21:
         format = SDL_GPU_TEXTUREFORMAT_R8_UNORM;
-    } else {
+        break;
+    case SDL_PIXELFORMAT_P010:
+        format = SDL_GPU_TEXTUREFORMAT_R16_UNORM;
+        break;
+    default:
         format = SDL_GetGPUTextureFormatFromPixelFormat(texture->format);
+        break;
+    }
+    if (renderer->output_colorspace == SDL_COLORSPACE_SRGB_LINEAR) {
+        switch (format) {
+        case SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UNORM:
+            format = SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UNORM_SRGB;
+            break;
+        case SDL_GPU_TEXTUREFORMAT_B8G8R8A8_UNORM:
+            format = SDL_GPU_TEXTUREFORMAT_B8G8R8A8_UNORM_SRGB;
+            break;
+        default:
+            break;
+        }
     }
     if (format == SDL_GPU_TEXTUREFORMAT_INVALID) {
         return SDL_SetError("Texture format %s not supported by SDL_GPU",
@@ -236,7 +306,8 @@ static bool GPU_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL_
             size += 2 * ((texture->h + 1) / 2) * ((data->pitch + 1) / 2);
         }
         if (texture->format == SDL_PIXELFORMAT_NV12 ||
-            texture->format == SDL_PIXELFORMAT_NV21) {
+            texture->format == SDL_PIXELFORMAT_NV21 ||
+            texture->format == SDL_PIXELFORMAT_P010) {
             // Need to add size for the U/V plane
             size += 2 * ((texture->h + 1) / 2) * ((data->pitch + 1) / 2);
         }
@@ -273,26 +344,74 @@ static bool GPU_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL_
     SDL_PropertiesID props = SDL_GetTextureProperties(texture);
     SDL_SetPointerProperty(props, SDL_PROP_TEXTURE_GPU_TEXTURE_POINTER, data->texture);
 
-    if (texture->format == SDL_PIXELFORMAT_RGBA32 || texture->format == SDL_PIXELFORMAT_BGRA32) {
-        data->shader = FRAG_SHADER_TEXTURE_RGBA;
-    } else {
-        data->shader = FRAG_SHADER_TEXTURE_RGB;
+#ifdef SDL_HAVE_YUV
+    if (texture->format == SDL_PIXELFORMAT_YV12 ||
+        texture->format == SDL_PIXELFORMAT_IYUV) {
+        data->yuv = true;
+
+        tci.width = (tci.width + 1) / 2;
+        tci.height = (tci.height + 1) / 2;
+
+        data->textureU = SDL_CreateGPUTexture(renderdata->device, &tci);
+        if (!data->textureU) {
+            return false;
+        }
+        SDL_SetPointerProperty(props, SDL_PROP_TEXTURE_GPU_TEXTURE_U_POINTER, data->textureU);
+
+        data->textureV = SDL_CreateGPUTexture(renderdata->device, &tci);
+        if (!data->textureV) {
+            return false;
+        }
+        SDL_SetPointerProperty(props, SDL_PROP_TEXTURE_GPU_TEXTURE_V_POINTER, data->textureU);
+
+        data->YCbCr_matrix = SDL_GetYCbCRtoRGBConversionMatrix(texture->colorspace, texture->w, texture->h, 8);
+        if (!data->YCbCr_matrix) {
+            return SDL_SetError("Unsupported YUV colorspace");
+        }
     }
+    if (texture->format == SDL_PIXELFORMAT_NV12 ||
+        texture->format == SDL_PIXELFORMAT_NV21 ||
+        texture->format == SDL_PIXELFORMAT_P010) {
+        int bits_per_pixel;
+
+        data->nv12 = true;
+
+        tci.width = ((tci.width + 1) / 2);
+        tci.height = ((tci.height + 1) / 2);
+        if (texture->format == SDL_PIXELFORMAT_P010) {
+            tci.format = SDL_GPU_TEXTUREFORMAT_R16G16_UNORM;
+        } else {
+            tci.format = SDL_GPU_TEXTUREFORMAT_R8G8_UNORM;
+        }
 
+        data->textureNV = SDL_CreateGPUTexture(renderdata->device, &tci);
+        if (!data->textureNV) {
+            return false;
+        }
+        SDL_SetPointerProperty(props, SDL_PROP_TEXTURE_GPU_TEXTURE_UV_POINTER, data->textureNV);
+
+        switch (texture->format) {
+        case SDL_PIXELFORMAT_P010:
+            bits_per_pixel = 10;
+            break;
+        default:
+            bits_per_pixel = 8;
+            break;
+        }
+        data->YCbCr_matrix = SDL_GetYCbCRtoRGBConversionMatrix(texture->colorspace, texture->w, texture->h, bits_per_pixel);
+        if (!data->YCbCr_matrix) {
+            return SDL_SetError("Unsupported YUV colorspace");
+        }
+    }
+#endif // SDL_HAVE_YUV
     return true;
 }
 
-static bool GPU_UpdateTexture(SDL_Renderer *renderer, SDL_Texture *texture,
-                              const SDL_Rect *rect, const void *pixels, int pitch)
+static bool GPU_UpdateTextureInternal(GPU_RenderData *renderdata, SDL_GPUCopyPass *cpass, SDL_GPUTexture *texture, int bpp, int x, int y, int w, int h, const void *pixels, int pitch)
 {
-    GPU_RenderData *renderdata = (GPU_RenderData *)renderer->internal;
-    GPU_TextureData *data = (GPU_TextureData *)texture->internal;
-    const Uint32 texturebpp = SDL_BYTESPERPIXEL(texture->format);
-
     size_t row_size, data_size;
-
-    if (!SDL_size_mul_check_overflow(rect->w, texturebpp, &row_size) ||
-        !SDL_size_mul_check_overflow(rect->h, row_size, &data_size)) {
+    if (!SDL_size_mul_check_overflow(w, bpp, &row_size) ||
+        !SDL_size_mul_check_overflow(h, row_size, &data_size)) {
         return SDL_SetError("update size overflow");
     }
 
@@ -302,54 +421,144 @@ static bool GPU_UpdateTexture(SDL_Renderer *renderer, SDL_Texture *texture,
     tbci.usage = SDL_GPU_TRANSFERBUFFERUSAGE_UPLOAD;
 
     SDL_GPUTransferBuffer *tbuf = SDL_CreateGPUTransferBuffer(renderdata->device, &tbci);
-
     if (tbuf == NULL) {
         return false;
     }
 
     Uint8 *output = SDL_MapGPUTransferBuffer(renderdata->device, tbuf, false);
-
+    if (!output) {
+        return false;
+    }
     if ((size_t)pitch == row_size) {
         SDL_memcpy(output, pixels, data_size);
     } else {
-        // FIXME is negative pitch supposed to work?
-        // If not, maybe use SDL_GPUTextureTransferInfo::pixels_per_row instead of this
         const Uint8 *input = pixels;
-
-        for (int i = 0; i < rect->h; ++i) {
+        for (int i = 0; i < h; ++i) {
             SDL_memcpy(output, input, row_size);
             output += row_size;
             input += pitch;
         }
     }
-
     SDL_UnmapGPUTransferBuffer(renderdata->device, tbuf);
 
-    SDL_GPUCommandBuffer *cbuf = renderdata->state.command_buffer;
-    SDL_GPUCopyPass *cpass = SDL_BeginGPUCopyPass(cbuf);
-
     SDL_GPUTextureTransferInfo tex_src;
     SDL_zero(tex_src);
     tex_src.transfer_buffer = tbuf;
-    tex_src.rows_per_layer = rect->h;
-    tex_src.pixels_per_row = rect->w;
+    tex_src.rows_per_layer = h;
+    tex_src.pixels_per_row = w;
 
     SDL_GPUTextureRegion tex_dst;
     SDL_zero(tex_dst);
-    tex_dst.texture = data->texture;
-    tex_dst.x = rect->x;
-    tex_dst.y = rect->y;
-    tex_dst.w = rect->w;
-    tex_dst.h = rect->h;
+    tex_dst.texture = texture;
+    tex_dst.x = x;
+    tex_dst.y = y;
+    tex_dst.w = w;
+    tex_dst.h = h;
     tex_dst.d = 1;
 
     SDL_UploadToGPUTexture(cpass, &tex_src, &tex_dst, false);
-    SDL_EndGPUCopyPass(cpass);
     SDL_ReleaseGPUTransferBuffer(renderdata->device, tbuf);
 
     return true;
 }
 
+#ifdef SDL_HAVE_YUV
+static bool GPU_UpdateTextureNV(SDL_Renderer *renderer, SDL_Texture *texture,
+                                const SDL_Rect *rect,
+                                const Uint8 *Yplane, int Ypitch,
+                                const Uint8 *UVplane, int UVpitch);
+
+static bool GPU_UpdateTextureYUV(SDL_Renderer *renderer, SDL_Texture *texture,
+                                 const SDL_Rect *rect,
+                                 const Uint8 *Yplane, int Ypitch,
+                                 const Uint8 *Uplane, int Upitch,
+                                 const Uint8 *Vplane, int Vpitch);
+#endif
+
+static bool GPU_UpdateTexture(SDL_Renderer *renderer, SDL_Texture *texture, const SDL_Rect *rect, const void *pixels, int pitch)
+{
+    GPU_RenderData *renderdata = (GPU_RenderData *)renderer->internal;
+    GPU_TextureData *data = (GPU_TextureData *)texture->internal;
+
+    bool retval = true;
+    SDL_GPUCommandBuffer *cbuf = renderdata->state.command_buffer;
+    SDL_GPUCopyPass *cpass = SDL_BeginGPUCopyPass(cbuf);
+    int bpp = SDL_BYTESPERPIXEL(texture->format);
+
+    retval = GPU_UpdateTextureInternal(renderdata, cpass, data->texture, bpp, rect->x, rect->y, rect->w, rect->h, pixels, pitch);
+
+#ifdef SDL_HAVE_YUV
+    if (data->nv12) {
+        const Uint8 *Yplane = (const Uint8 *)pixels;
+        const Uint8 *UVplane = Yplane + rect->h * pitch;
+        int UVpitch;
+
+        bpp *= 2;
+        if (texture->format == SDL_PIXELFORMAT_P010) {
+            UVpitch = (pitch + 3) & ~3;
+        } else {
+            bpp = 1;
+            UVpitch = (pitch + 1) & ~1;
+        }
+        retval &= GPU_UpdateTextureInternal(renderdata, cpass, data->textureNV, bpp, rect->x / 2, rect->y / 2, (rect->w + 1) / 2, (rect->h + 1) / 2, UVplane, UVpitch);
+
+    } else if (data->yuv) {
+        int Ypitch = pitch;
+        int UVpitch = ((Ypitch + 1) / 2);
+        const Uint8 *Yplane = (const Uint8 *)pixels;
+        const Uint8 *Uplane = Yplane + rect->h * Ypitch;
+        const Uint8 *Vplane = Uplane + ((rect->h + 1) / 2) * UVpitch;
+
+        retval &= GPU_UpdateTextureInternal(renderdata, cpass, data->textureU, bpp, rect->x / 2, rect->y / 2, (rect->w + 1) / 2, (rect->h + 1) / 2, Uplane, UVpitch);
+        retval &= GPU_UpdateTextureInternal(renderdata, cpass, data->textureV, bpp, rect->x / 2, rect->y / 2, (rect->w + 1) / 2, (rect->h + 1) / 2, Vplane, UVpitch);
+    }
+#endif
+
+    SDL_EndGPUCopyPass(cpass);
+    return retval;
+}
+
+#ifdef SDL_HAVE_YUV
+static bool GPU_UpdateTextureYUV(SDL_Renderer *renderer, SDL_Texture *texture,
+                                  const SDL_Rect *rect,
+                                  const Uint8 *Yplane, int Ypitch,
+                                  const Uint8 *Uplane, int Upitch,
+                                  const Uint8 *Vplane, int Vpitch)
+{
+    GPU_RenderData *renderdata = (GPU_RenderData *)renderer->internal;
+    GPU_TextureData *data = (GPU_TextureData *)texture->internal;
+    int bpp = SDL_BYTESPERPIXEL(texture->format);
+
+    bool retval = true;
+    SDL_GPUCommandBuffer *cbuf = renderdata->state.command_buffer;
+    SDL_GPUCopyPass *cpass = SDL_BeginGPUCopyPass(cbuf);
+    retval &= GPU_UpdateTextureInternal(renderdata, cpass, data->texture, bpp, rect->x, rect->y, rect->w, rect->h, Yplane, Ypitch);
+    retval &= GPU_UpdateTextureInternal(renderdata, cpass, data->textureU, bpp, rect->x / 2, rect->y / 2, (rect->w + 1) / 2, (rect->h + 1) / 2, Uplane, Upitch);
+    retval &= GPU_UpdateTextureInternal(renderdata, cpass, data->textureV, bpp, rect->x / 2, rect->y / 2, (rect->w + 1) / 2, (rect->h + 1) / 2, Vplane, Vpitch);
+    SDL_EndGPUCopyPass(cpass);
+    return retval;
+}
+
+static bool GPU_UpdateTextureNV(SDL_Renderer *renderer, SDL_Texture *texture,
+                                 const SDL_Rect *rect,
+                                 const Uint8 *Yplane, int Ypitch,
+                                 const Uint8 *UVplane, int UVpitch)
+{
+    GPU_RenderData *renderdata = (GPU_RenderData *)renderer->internal;
+    GPU_TextureData *data = (GPU_TextureData *)texture->internal;
+    int bpp = SDL_BYTESPERPIXEL(texture->format);
+
+    bool retval = true;
+    SDL_GPUCommandBuffer *cbuf = renderdata->state.command_buffer;
+    SDL_GPUCopyPass *cpass = SDL_BeginGPUCopyPass(cbuf);
+    retval &= GPU_UpdateTextureInternal(renderdata, cpass, data->texture, bpp, rect->x, rect->y, rect->w, rect->h, Yplane, Ypitch);
+    bpp *= 2;
+    retval &= GPU_UpdateTextureInternal(renderdata, cpass, data->textureNV, bpp, rect->x / 2, rect->y / 2, (rect->w + 1) / 2, (rect->h + 1) / 2, UVplane, UVpitch);
+    SDL_EndGPUCopyPass(cpass);
+    return retval;
+}
+#endif // SDL_HAVE_YUV
+
 static bool GPU_LockTexture(SDL_Renderer *renderer, SDL_Texture *texture,
                             const SDL_Rect *rect, void **pixels, int *pitch)
 {
@@ -431,7 +640,6 @@ static bool GPU_QueueGeometry(SDL_Renderer *renderer, SDL_RenderCommand *cmd, SD
     int count = indices ? num_indices : num_vertices;
     float *verts;
     size_t sz = 2 * sizeof(float) + 4 * sizeof(float) + (texture ? 2 : 0) * sizeof(float);
-    const float color_scale = cmd->data.draw.color_scale;
     bool convert_color = SDL_RenderingLinearSpace(renderer);
 
     verts = (float *)SDL_AllocateRenderVertices(renderer, count * sz, 0, &cmd->data.draw.first);
@@ -466,11 +674,9 @@ static bool GPU_QueueGeometry(SDL_Renderer *renderer, SDL_RenderCommand *cmd, SD
             SDL_ConvertToLinear(&col_);
         }
 
-        // FIXME: The Vulkan backend doesn't multiply by color_scale. GL does. I'm not sure which one is wrong.
-        // ANSWER: The color scale should be applied in linear space when using the scRGB colorspace. This is done in shaders in the Vulkan backend.
-        *(verts++) = col_.r * color_scale;
-        *(verts++) = col_.g * color_scale;
-        *(verts++) = col_.b * color_scale;
+        *(verts++) = col_.r;
+        *(verts++) = col_.g;
+        *(verts++) = col_.b;
         *(verts++) = col_.a;
 
         if (texture) {
@@ -524,21 +730,6 @@ static void PushVertexUniforms(GPU_RenderData *data, SDL_RenderCommand *cmd)
     SDL_PushGPUVertexUniformData(data->state.command_buffer, 0, &uniforms, sizeof(uniforms));
 }
 
-static void PushFragmentUniforms(GPU_RenderData *data, SDL_RenderCommand *cmd)
-{
-    if (cmd->data.draw.texture &&
-        cmd->data.draw.texture_scale_mode == SDL_SCALEMODE_PIXELART) {
-        SDL_Texture *texture = cmd->data.draw.texture;
-        GPU_FragmentShaderUniformData uniforms;
-        SDL_zero(uniforms);
-        uniforms.texture_width = texture->w;
-        uniforms.texture_height = texture->h;
-        uniforms.texel_width = 1.0f / uniforms.texture_width;
-        uniforms.texel_height = 1.0f / uniforms.texture_height;
-        SDL_PushGPUFragmentUniformData(data->state.command_buffer, 0, &uniforms, sizeof(uniforms));
-    }
-}
-
 static void SetViewportAndScissor(GPU_RenderData *data)
 {
     SDL_SetGPUViewport(data->state.render_pass, &data->state.viewport);
@@ -609,6 +800,104 @@ static SDL_GPUSampler *GetSampler(GPU_RenderData *data, SDL_ScaleMode scale_mode
     return data->samplers[key];
 }
 
+static void CalculateAdvancedShaderConstants(SDL_Renderer *renderer, const SDL_RenderCommand *cmd, const SDL_Texture *texture, GPU_AdvancedFragmentShaderUniformData *constants)
+{
+    float output_headroom;
+
+    SDL_zerop(constants);
+
+    constants->scRGB_output = (float)SDL_RenderingLinearSpace(renderer);
+    constants->color_scale = cmd->data.draw.color_scale;
+
+    switch (texture->format) {
+    case SDL_PIXELFORMAT_YV12:
+    case SDL_PIXELFORMAT_IYUV:
+        constants->texture_type = TEXTURETYPE_YUV;
+        constants->input_type = INPUTTYPE_SRGB;
+        break;
+    case SDL_PIXELFORMAT_NV12:
+        constants->texture_type = TEXTURETYPE_NV12;
+        constants->input_type = INPUTTYPE_SRGB;
+        break;
+    case SDL_PIXELFORMAT_NV21:
+        constants->texture_type = TEXTURETYPE_NV21;
+        constants->input_type = INPUTTYPE_SRGB;
+        break;
+    case SDL_PIXELFORMAT_P010:
+        constants->texture_type = TEXTURETYPE_NV12;
+        constants->input_type = INPUTTYPE_HDR10;
+        break;
+    default:
+        switch (texture->format) {
+        case SDL_PIXELFORMAT_INDEX8:
+            if (cmd->data.draw.texture_scale_mode == SDL_SCALEMODE_PIXELART) {
+                constants->texture_type = TEXTURETYPE_PALETTE_PIXELART;
+            } else {
+                constants->texture_type = TEXTURETYPE_PALETTE;
+            }
+            break;
+        case SDL_PIXELFORMAT_BGRX32:
+        case SDL_PIXELFORMAT_RGBX32:
+            if (cmd->data.draw.texture_scale_mode == SDL_SCALEMODE_PIXELART) {
+                constants->texture_type = TEXTURETYPE_RGB_PIXELART;
+            } else {
+                constants->texture_type = TEXTURETYPE_RGB;
+            }
+            break;
+        case SDL_PIXELFORMAT_BGRA32:
+        case SDL_PIXELFORMAT_RGBA32:
+        case SDL_PIXELFORMAT_ABGR2101010:
+        case SDL_PIXELFORMAT_RGBA64_FLOAT:
+            if (cmd->data.draw.texture_scale_mode == SDL_SCALEMODE_PIXELART) {
+                constants->texture_type = TEXTURETYPE_RGBA_PIXELART;
+            } else {
+                constants->texture_type = TEXTURETYPE_RGBA;
+            }
+            break;
+        default:
+            SDL_assert(!"Unhandled pixel format");
+            break;
+        }
+        if (texture->colorspace == SDL_COLORSPACE_SRGB_LINEAR) {
+            constants->input_type = INPUTTYPE_SCRGB;
+        } else if (texture->colorspace == SDL_COLORSPACE_HDR10) {
+            constants->input_type = INPUTTYPE_HDR10;
+        } else {
+            // The sampler will convert from sRGB to linear on load if working in linear colorspace
+            constants->input_type = INPUTTYPE_UNSPECIFIED;
+        }
+        break;
+    }
+
+    if (cmd->data.draw.texture_scale_mode == SDL_SCALEMODE_PIXELART) {
+        constants->texture_width = texture->w;
+        constants->texture_height = texture->h;
+        constants->texel_width = 1.0f / constants->texture_width;
+        constants->texel_height = 1.0f / constants->texture_height;
+    }
+
+    constants->sdr_white_point = texture->SDR_white_point;
+
+    if (renderer->target) {
+        output_headroom = renderer->target->HDR_headroom;
+    } else {
+        output_headroom = renderer->HDR_headroom;
+    }
+
+    if (texture->HDR_headroom > output_headroom) {
+        constants->tonemap_method = TONEMAP_CHROME;
+        constants->tonemap_factor1 = (output_headroom / (texture->HDR_headroom * texture->HDR_headroom));
+        constants->tonemap_factor2 = (1.0f / output_headroom);
+    }
+
+#ifdef SDL_HAVE_YUV
+    GPU_TextureData *data = (GPU_TextureData *)texture->internal;
+    if (data->yuv || data->nv12) {
+        SDL_memcpy(constants->YCbCr_matrix, data->YCbCr_matrix, sizeof(constants->YCbCr_matrix));
+    }
+#endif
+}
+
 static void Draw(
     GPU_RenderData *data, SDL_RenderCommand *cmd,
     Uint32 num_verts,
@@ -624,29 +913,26 @@ static void Draw(
     SDL_GPUShader *custom_frag_shader = custom_state ? custom_state->fragment_shader : NULL;
     GPU_VertexShaderID v_shader;
     GPU_FragmentShaderID f_shader;
+    GPU_SimpleFragmentShaderUniformData simple_constants = { cmd->data.draw.color_scale };
+    GPU_AdvancedFragmentShaderUniformData advanced_constants;
 
     if (prim == SDL_GPU_PRIMITIVETYPE_TRIANGLELIST) {
         SDL_Texture *texture = cmd->data.draw.texture;
         if (texture) {
             v_shader = VERT_SHADER_TRI_TEXTURE;
-            if (texture->format == SDL_PIXELFORMAT_INDEX8) {
-                if (cmd->data.draw.texture_scale_mode == SDL_SCALEMODE_PIXELART) {
-                    f_shader = FRAG_SHADER_TEXTURE_PALETTE_PIXELART;
-                } else {
-                    f_shader = FRAG_SHADER_TEXTURE_PALETTE;
-                }
-            } else if (texture->format == SDL_PIXELFORMAT_RGBA32 || texture->format == SDL_PIXELFORMAT_BGRA32) {
-                if (cmd->data.draw.texture_scale_mode == SDL_SCALEMODE_PIXELART) {
-                    f_shader = FRAG_SHADER_TEXTURE_RGBA_PIXELART;
-                } else {
+
+            CalculateAdvancedShaderConstants(texture->renderer, cmd, texture, &advanced_constants);
+            if ((advanced_constants.texture_type == TEXTURETYPE_RGB ||
+                 advanced_constants.texture_type == TEXTURETYPE_RGBA) &&
+                advanced_constants.input_type == INPUTTYPE_UNSPECIFIED &&
+                advanced_constants.tonemap_method == TONEMAP_NONE) {
+                if (texture->format == SDL_PIXELFORMAT_RGBA32 || texture->format == SDL_PIXELFORMAT_BGRA32) {
                     f_shader = FRAG_SHADER_TEXTURE_RGBA;
-                }
-            } else {
-                if (cmd->data.draw.texture_scale_mode == SDL_SCALEMODE_PIXELART) {
-                    f_shader = FRAG_SHADER_TEXTURE_RGB_PIXELART;
                 } else {
                     f_shader = FRAG_SHADER_TEXTURE_RGB;
                 }
+            } else {
+                f_shader = FRAG_SHADER_TEXTURE_ADVANCED;
             }
         } else {
             v_shader = VERT_SHADER_TRI_COLOR;
@@ -693,12 +979,29 @@ static void Draw(
         sampler_bind.texture = tdata->texture;
         SDL_BindGPUFragmentSamplers(pass, sampler_slot++, &sampler_bind, 1);
 
-        if (texture->palette) {
-            GPU_PaletteData *palette = (GPU_PaletteData *)texture->palette->internal;
+        if (f_shader == FRAG_SHADER_TEXTURE_ADVANCED) {
+            if (texture->palette) {
+                GPU_PaletteData *palette = (GPU_PaletteData *)texture->palette->internal;
+
+                sampler_bind.sampler = GetSampler(data, SDL_SCALEMODE_NEAREST, SDL_TEXTURE_ADDRESS_CLAMP, SDL_TEXTURE_ADDRESS_CLAMP);
+                sampler_bind.texture = palette->texture;
+                SDL_BindGPUFragmentSamplers(pass, sampler_slot++, &sampler_bind, 1);
+#ifdef SDL_HAVE_YUV
+            } else if (tdata->yuv) {
+                sampler_bind.texture = tdata->textureU;
+                SDL_BindGPUFragmentSamplers(pass, sampler_slot++, &sampler_bind, 1);
+                sampler_bind.texture = tdata->textureV;
+                SDL_BindGPUFragmentSamplers(pass, sampler_slot++, &sampler_bind, 1);
+            } else if (tdata->nv12) {
+                sampler_bind.texture = tdata->textureNV;
+                SDL_BindGPUFragmentSamplers(pass, sampler_slot++, &sampler_bind, 1);
+#endif
+            }
 
-            sampler_bind.sampler = GetSampler(data, SDL_SCALEMODE_NEAREST, SDL_TEXTURE_ADDRESS_CLAMP, SDL_TEXTURE_ADDRESS_CLAMP);
-            sampler_bind.texture = palette->texture;
-            SDL_BindGPUFragmentSamplers(pass, sampler_slot++, &sampler_bind, 1);
+            // We need to fill 3 sampler slots for the advanced shader
+            while (sampler_slot < 3) {
+                SDL_BindGPUFragmentSamplers(pass, sampler_slot++, &sampler_bind, 1);
+            }
         }
     }
     if (custom_state) {
@@ -718,7 +1021,11 @@ static void Draw(
             }
         }
     } else {
-        PushFragmentUniforms(data, cmd);
+        if (f_shader == FRAG_SHADER_TEXTURE_ADVANCED) {
+            SDL_PushGPUFragmentUniformData(data->state.command_buffer, 0, &advanced_constants, sizeof(advanced_constants));
+        } else {
+            SDL_PushGPUFragmentUniformData(data->state.command_buffer, 0, &simple_constants, sizeof(simple_constants));
+        }
     }
 
     SDL_GPUBufferBinding buffer_bind;
@@ -1160,6 +1467,11 @@ static void GPU_DestroyTexture(SDL_Renderer *renderer, SDL_Texture *texture)
     }
 
     SDL_ReleaseGPUTexture(renderdata->device, data->texture);
+#ifdef SDL_HAVE_YUV
+    SDL_ReleaseGPUTexture(renderdata->device, data->textureU);
+    SDL_ReleaseGPUTexture(renderdata->device, data->textureV);
+    SDL_ReleaseGPUTexture(renderdata->device, data->textureNV);
+#endif
     SDL_free(data->pixels);
     SDL_free(data);
     texture->internal = NULL;
@@ -1262,8 +1574,9 @@ static bool GPU_CreateRenderer(SDL_Renderer *renderer, SDL_Window *window, SDL_P
 
     SDL_SetupRendererColorspace(renderer, create_props);
 
-    if (renderer->output_colorspace != SDL_COLORSPACE_SRGB) {
-        // TODO
+    if (renderer->output_colorspace != SDL_COLORSPACE_SRGB &&
+        renderer->output_colorspace != SDL_COLORSPACE_SRGB_LINEAR &&
+        renderer->output_colorspace != SDL_COLORSPACE_HDR10) {
         return SDL_SetError("Unsupported output colorspace");
     }
 
@@ -1278,6 +1591,10 @@ static bool GPU_CreateRenderer(SDL_Renderer *renderer, SDL_Window *window, SDL_P
     renderer->DestroyPalette = GPU_DestroyPalette;
     renderer->CreateTexture = GPU_CreateTexture;
     renderer->UpdateTexture = GPU_UpdateTexture;
+#ifdef SDL_HAVE_YUV
+    renderer->UpdateTextureYUV = GPU_UpdateTextureYUV;
+    renderer->UpdateTextureNV = GPU_UpdateTextureNV;
+#endif
     renderer->LockTexture = GPU_LockTexture;
     renderer->UnlockTexture = GPU_UnlockTexture;
     renderer->SetRenderTarget = GPU_SetRenderTarget;
@@ -1341,7 +1658,7 @@ static bool GPU_CreateRenderer(SDL_Renderer *renderer, SDL_Window *window, SDL_P
         return false;
     }
 
-    // XXX what's a good initial size?
+    // FIXME: What's a good initial size?
     if (!InitVertexBuffer(data, 1 << 16)) {
         return false;
     }
@@ -1350,7 +1667,18 @@ static bool GPU_CreateRenderer(SDL_Renderer *renderer, SDL_Window *window, SDL_P
         return false;
     }
 
-    data->swapchain.composition = SDL_GPU_SWAPCHAINCOMPOSITION_SDR;
+    switch (renderer->output_colorspace) {
+    case SDL_COLORSPACE_SRGB_LINEAR:
+        data->swapchain.composition = SDL_GPU_SWAPCHAINCOMPOSITION_HDR_EXTENDED_LINEAR;
+        break;
+    case SDL_COLORSPACE_HDR10:
+        data->swapchain.composition = SDL_GPU_SWAPCHAINCOMPOSITION_HDR10_ST2084;
+        break;
+    case SDL_COLORSPACE_SRGB:
+    default:
+        data->swapchain.composition = SDL_GPU_SWAPCHAINCOMPOSITION_SDR;
+        break;
+    }
     data->swapchain.present_mode = SDL_GPU_PRESENTMODE_VSYNC;
 
     int vsync = (int)SDL_GetNumberProperty(create_props, SDL_PROP_RENDERER_CREATE_PRESENT_VSYNC_NUMBER, 0);
@@ -1364,7 +1692,14 @@ static bool GPU_CreateRenderer(SDL_Renderer *renderer, SDL_Window *window, SDL_P
     SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_RGBA32);
     SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_BGRX32);
     SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_RGBX32);
+    SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_ABGR2101010);
+    SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_RGBA64_FLOAT);
     SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_INDEX8);
+    SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_YV12);
+    SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_IYUV);
+    SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_NV12);
+    SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_NV21);
+    SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_P010);
 
     SDL_SetNumberProperty(SDL_GetRendererProperties(renderer), SDL_PROP_RENDERER_MAX_TEXTURE_SIZE_NUMBER, 16384);
 

+ 8 - 29
src/render/gpu/SDL_shaders_gpu.c

@@ -106,52 +106,31 @@ static const GPU_ShaderSources vert_shader_sources[NUM_VERT_SHADERS] = {
 static const GPU_ShaderSources frag_shader_sources[NUM_FRAG_SHADERS] = {
     [FRAG_SHADER_COLOR] = {
         .num_samplers = 0,
-        .num_uniform_buffers = 0,
+        .num_uniform_buffers = 1,
         SHADER_SPIRV(color_frag_spv)
         SHADER_DXIL60(color_frag_dxil)
         SHADER_METAL(color_frag_msl)
     },
-    [FRAG_SHADER_TEXTURE_PALETTE] = {
-        .num_samplers = 2,
-        .num_uniform_buffers = 0,
-        SHADER_SPIRV(texture_palette_frag_spv)
-        SHADER_DXIL60(texture_palette_frag_dxil)
-        SHADER_METAL(texture_palette_frag_msl)
-    },
     [FRAG_SHADER_TEXTURE_RGB] = {
         .num_samplers = 1,
-        .num_uniform_buffers = 0,
+        .num_uniform_buffers = 1,
         SHADER_SPIRV(texture_rgb_frag_spv)
         SHADER_DXIL60(texture_rgb_frag_dxil)
         SHADER_METAL(texture_rgb_frag_msl)
     },
     [FRAG_SHADER_TEXTURE_RGBA] = {
         .num_samplers = 1,
-        .num_uniform_buffers = 0,
+        .num_uniform_buffers = 1,
         SHADER_SPIRV(texture_rgba_frag_spv)
         SHADER_DXIL60(texture_rgba_frag_dxil)
         SHADER_METAL(texture_rgba_frag_msl)
     },
-    [FRAG_SHADER_TEXTURE_PALETTE_PIXELART] = {
-        .num_samplers = 2,
-        .num_uniform_buffers = 1,
-        SHADER_SPIRV(texture_palette_pixelart_frag_spv)
-        SHADER_DXIL60(texture_palette_pixelart_frag_dxil)
-        SHADER_METAL(texture_palette_pixelart_frag_msl)
-    },
-    [FRAG_SHADER_TEXTURE_RGB_PIXELART] = {
-        .num_samplers = 1,
-        .num_uniform_buffers = 1,
-        SHADER_SPIRV(texture_rgb_pixelart_frag_spv)
-        SHADER_DXIL60(texture_rgb_pixelart_frag_dxil)
-        SHADER_METAL(texture_rgb_pixelart_frag_msl)
-    },
-    [FRAG_SHADER_TEXTURE_RGBA_PIXELART] = {
-        .num_samplers = 1,
+    [FRAG_SHADER_TEXTURE_ADVANCED] = {
+        .num_samplers = 3,
         .num_uniform_buffers = 1,
-        SHADER_SPIRV(texture_rgba_pixelart_frag_spv)
-        SHADER_DXIL60(texture_rgba_pixelart_frag_dxil)
-        SHADER_METAL(texture_rgba_pixelart_frag_msl)
+        SHADER_SPIRV(texture_advanced_frag_spv)
+        SHADER_DXIL60(texture_advanced_frag_dxil)
+        SHADER_METAL(texture_advanced_frag_msl)
     },
 };
 // clang-format on

+ 1 - 4
src/render/gpu/SDL_shaders_gpu.h

@@ -40,12 +40,9 @@ typedef enum
 {
     FRAG_SHADER_INVALID = -1,
     FRAG_SHADER_COLOR,
-    FRAG_SHADER_TEXTURE_PALETTE,
     FRAG_SHADER_TEXTURE_RGB,
     FRAG_SHADER_TEXTURE_RGBA,
-    FRAG_SHADER_TEXTURE_PALETTE_PIXELART,
-    FRAG_SHADER_TEXTURE_RGB_PIXELART,
-    FRAG_SHADER_TEXTURE_RGBA_PIXELART,
+    FRAG_SHADER_TEXTURE_ADVANCED,
     FRAG_SHADER_TEXTURE_CUSTOM,
 
     NUM_FRAG_SHADERS,

+ 1 - 0
src/render/gpu/shaders/build-shaders.sh

@@ -12,6 +12,7 @@ make-header() {
 # Requires shadercross CLI installed from SDL_shadercross
 for filename in *.hlsl; do
     if [ -f "$filename" ]; then
+        echo "$filename"
         shadercross "$filename" -o "${filename/.hlsl/.spv}"
         make-header "${filename/.hlsl/.spv}"
         shadercross "$filename" -o "${filename/.hlsl/.msl}"

+ 221 - 176
src/render/gpu/shaders/color.frag.dxil.h

@@ -1,9 +1,9 @@
 static const unsigned char color_frag_dxil[] = {
-  0x44, 0x58, 0x42, 0x43, 0x22, 0x83, 0x29, 0x5c, 0x68, 0x9b, 0xf1, 0x0d,
-  0x9d, 0x30, 0x30, 0x3c, 0x40, 0x0e, 0xef, 0x82, 0x01, 0x00, 0x00, 0x00,
-  0x04, 0x0b, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00,
+  0x44, 0x58, 0x42, 0x43, 0x14, 0xca, 0x57, 0x62, 0x73, 0xf9, 0xd9, 0x39,
+  0xf2, 0x3f, 0x7b, 0x7c, 0x48, 0x51, 0x30, 0xa5, 0x01, 0x00, 0x00, 0x00,
+  0x18, 0x0d, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00,
   0x4c, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0xc4, 0x00, 0x00, 0x00,
-  0x58, 0x01, 0x00, 0x00, 0x0c, 0x06, 0x00, 0x00, 0x28, 0x06, 0x00, 0x00,
+  0x74, 0x01, 0x00, 0x00, 0x34, 0x07, 0x00, 0x00, 0x50, 0x07, 0x00, 0x00,
   0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x31, 0x34, 0x00, 0x00, 0x00,
   0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -15,40 +15,49 @@ static const unsigned char color_frag_dxil[] = {
   0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
   0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65,
-  0x74, 0x00, 0x00, 0x00, 0x50, 0x53, 0x56, 0x30, 0x8c, 0x00, 0x00, 0x00,
+  0x74, 0x00, 0x00, 0x00, 0x50, 0x53, 0x56, 0x30, 0xa8, 0x00, 0x00, 0x00,
   0x34, 0x00, 0x00, 0x00, 0x00, 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, 0x01, 0x01, 0x00, 0x01,
   0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x10, 0x00, 0x00, 0x00, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52,
-  0x44, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x44, 0x00, 0x03, 0x02, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x44, 0x10,
-  0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x53, 0x54, 0x41, 0x54,
-  0xac, 0x04, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x2b, 0x01, 0x00, 0x00,
-  0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
-  0x94, 0x04, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00,
-  0x22, 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, 0x10, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42,
-  0x84, 0x10, 0x32, 0x14, 0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x42, 0x88,
-  0x48, 0x90, 0x14, 0x20, 0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32, 0x42,
-  0xe4, 0x48, 0x0e, 0x90, 0x11, 0x22, 0xc4, 0x50, 0x41, 0x51, 0x81, 0x8c,
-  0xe1, 0x83, 0xe5, 0x8a, 0x04, 0x21, 0x46, 0x06, 0x51, 0x18, 0x00, 0x00,
-  0x06, 0x00, 0x00, 0x00, 0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07,
-  0x40, 0x02, 0xa8, 0x0d, 0x84, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x20,
-  0x01, 0x00, 0x00, 0x00, 0x49, 0x18, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x13, 0x82, 0x60, 0x42, 0x20, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00, 0x00,
-  0x0f, 0x00, 0x00, 0x00, 0x32, 0x22, 0x08, 0x09, 0x20, 0x64, 0x85, 0x04,
-  0x13, 0x22, 0xa4, 0x84, 0x04, 0x13, 0x22, 0xe3, 0x84, 0xa1, 0x90, 0x14,
-  0x12, 0x4c, 0x88, 0x8c, 0x0b, 0x84, 0x84, 0x4c, 0x10, 0x30, 0x23, 0x00,
-  0x25, 0x00, 0x8a, 0x19, 0x80, 0x39, 0x02, 0x30, 0x98, 0x23, 0x40, 0x8a,
-  0x31, 0x44, 0x54, 0x44, 0x56, 0x0c, 0x20, 0xa2, 0x1a, 0xc2, 0x81, 0x80,
-  0x34, 0x20, 0x00, 0x00, 0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87,
+  0x00, 0x00, 0x00, 0x00, 0x0a, 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, 0x10, 0x00, 0x00, 0x00, 0x00, 0x54, 0x45, 0x58,
+  0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x44, 0x00,
+  0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x44, 0x10, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+  0x53, 0x54, 0x41, 0x54, 0xb8, 0x05, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
+  0x6e, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0xa0, 0x05, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde,
+  0x21, 0x0c, 0x00, 0x00, 0x65, 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, 0x20, 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, 0x58, 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, 0x6d, 0x8e, 0x20, 0x28,
+  0x06, 0x23, 0x85, 0x90, 0x47, 0x70, 0x20, 0xe0, 0x9c, 0x09, 0x7b, 0x88,
+  0x9f, 0x73, 0x1a, 0x69, 0x02, 0x9a, 0x49, 0x42, 0xc1, 0xa0, 0x99, 0x06,
+  0x04, 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,
@@ -63,40 +72,164 @@ static const unsigned char color_frag_dxil[] = {
   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, 0xc8, 0x02, 0x01, 0x0b, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14,
-  0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0xa2,
-  0x12, 0x18, 0x01, 0x28, 0x86, 0x32, 0x28, 0x8f, 0x92, 0x28, 0x04, 0xaa,
-  0x92, 0x18, 0x01, 0x28, 0x82, 0x42, 0x28, 0x10, 0xda, 0xb1, 0x0c, 0x82,
-  0x08, 0x04, 0x02, 0x01, 0x79, 0x18, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00,
+  0x00, 0x18, 0xf2, 0x34, 0x40, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x30, 0xe4, 0x81, 0x80, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x20, 0x0b, 0x04, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
+  0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47,
+  0xc6, 0x04, 0x43, 0x22, 0x25, 0x30, 0x02, 0x50, 0x0c, 0x65, 0x50, 0x08,
+  0xe5, 0x50, 0x12, 0xe5, 0x41, 0xa5, 0x24, 0x46, 0x00, 0x8a, 0xa0, 0x10,
+  0x0a, 0x84, 0xe6, 0x0c, 0x00, 0xd1, 0x19, 0x00, 0xaa, 0x63, 0x19, 0x04,
+  0x11, 0x08, 0x04, 0x02, 0x79, 0x18, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00,
   0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44, 0x8f, 0x0c, 0x6f, 0xec,
   0xed, 0x4d, 0x0c, 0x24, 0xc6, 0x05, 0xc7, 0x45, 0xa6, 0x06, 0xa6, 0xc6,
   0x45, 0x06, 0x07, 0x04, 0x25, 0xa7, 0xcc, 0x4c, 0x4c, 0xcc, 0x66, 0x6c,
-  0x46, 0x26, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x88, 0x61, 0x82, 0x40, 0x10,
+  0x46, 0x26, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x88, 0x62, 0x82, 0x40, 0x18,
   0x1b, 0x84, 0x81, 0xd8, 0x20, 0x10, 0x04, 0x05, 0xb8, 0xb9, 0x09, 0x02,
-  0x51, 0x6c, 0x18, 0x0e, 0x84, 0x98, 0x20, 0x08, 0xc0, 0x06, 0x60, 0xc3,
-  0x40, 0x2c, 0xcb, 0x86, 0x80, 0xd9, 0x30, 0x0c, 0x4a, 0x33, 0x41, 0x58,
-  0x9e, 0x0d, 0xc1, 0x43, 0xa2, 0x2d, 0x2c, 0xcd, 0x8d, 0x08, 0x55, 0x11,
-  0xd6, 0xd0, 0xd3, 0x93, 0x14, 0xd1, 0x04, 0xa1, 0x50, 0x26, 0x08, 0xc5,
-  0xb2, 0x21, 0x20, 0x26, 0x08, 0x05, 0x33, 0x41, 0x28, 0x9a, 0x09, 0x02,
-  0x61, 0x4c, 0x10, 0x88, 0x63, 0x83, 0x80, 0x65, 0x1b, 0x16, 0x42, 0x9a,
-  0xa8, 0xca, 0x1a, 0x2e, 0x82, 0xd2, 0x36, 0x04, 0x1b, 0x93, 0x29, 0xab,
-  0x2f, 0xaa, 0x30, 0xb9, 0xb3, 0x32, 0xba, 0x09, 0x42, 0xe1, 0x6c, 0x58,
-  0x88, 0x6e, 0xf2, 0x2a, 0x6a, 0xb8, 0x08, 0x4a, 0xdb, 0x10, 0x7c, 0x1b,
-  0x06, 0x0e, 0x0c, 0x80, 0x0d, 0x85, 0x12, 0x85, 0x01, 0x00, 0xb0, 0x48,
-  0x73, 0x9b, 0xa3, 0x9b, 0x9b, 0x20, 0x10, 0x08, 0x8d, 0xb9, 0xb4, 0xb3,
-  0x2f, 0x36, 0xb2, 0x09, 0x02, 0x91, 0xd0, 0x98, 0x4b, 0x3b, 0xfb, 0x9a,
-  0xa3, 0xdb, 0x60, 0x8c, 0x01, 0x19, 0x94, 0x81, 0x19, 0x9c, 0x81, 0x19,
-  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, 0x54, 0x22,
-  0xc3, 0x73, 0xa1, 0xcb, 0x83, 0x2b, 0x0b, 0x72, 0x73, 0x7b, 0xa3, 0x0b,
-  0xa3, 0x4b, 0x7b, 0x73, 0x9b, 0x9b, 0x12, 0x34, 0x75, 0xc8, 0xf0, 0x5c,
-  0xec, 0xd2, 0xca, 0xee, 0x92, 0xc8, 0xa6, 0xe8, 0xc2, 0xe8, 0xca, 0xa6,
-  0x04, 0x4f, 0x1d, 0x32, 0x3c, 0x97, 0x32, 0x37, 0x3a, 0xb9, 0x3c, 0xa8,
-  0xb7, 0x34, 0x37, 0xba, 0xb9, 0x29, 0x41, 0x18, 0x74, 0x21, 0xc3, 0x73,
-  0x19, 0x7b, 0xab, 0x73, 0xa3, 0x2b, 0x93, 0x9b, 0x9b, 0x12, 0x9c, 0x01,
+  0x71, 0x6c, 0x18, 0x0e, 0x84, 0x98, 0x20, 0x50, 0x13, 0x1d, 0xba, 0x3c,
+  0xb8, 0xb2, 0xaf, 0xa1, 0x37, 0xb7, 0x39, 0xba, 0x30, 0x37, 0xba, 0xb9,
+  0x09, 0x02, 0x81, 0x4c, 0x10, 0x88, 0x64, 0x03, 0x42, 0x28, 0x0b, 0x43,
+  0x0c, 0x0d, 0xb0, 0x21, 0x70, 0x36, 0x10, 0x00, 0xf0, 0x00, 0x13, 0x84,
+  0x49, 0x62, 0x35, 0xf4, 0xe6, 0x36, 0x47, 0x17, 0xe6, 0x46, 0x37, 0xf7,
+  0x35, 0xf6, 0xc6, 0xf6, 0x26, 0xf7, 0x35, 0x37, 0x16, 0xc6, 0x56, 0x36,
+  0x41, 0x20, 0x94, 0x09, 0x02, 0xb1, 0x6c, 0x30, 0x10, 0x89, 0x21, 0x26,
+  0x6a, 0x83, 0xd0, 0x54, 0x1b, 0x06, 0x22, 0xb2, 0x26, 0x08, 0x02, 0xb0,
+  0x01, 0xd8, 0x30, 0x10, 0x59, 0xb6, 0x21, 0xd0, 0x36, 0x0c, 0x03, 0xb6,
+  0x4d, 0x10, 0x2a, 0x6a, 0x43, 0xd0, 0x91, 0x68, 0x0b, 0x4b, 0x73, 0x23,
+  0x42, 0x55, 0x84, 0x35, 0xf4, 0xf4, 0x24, 0x45, 0x34, 0x41, 0x28, 0x9a,
+  0x09, 0x42, 0xe1, 0x6c, 0x08, 0x88, 0x09, 0x42, 0xf1, 0x4c, 0x10, 0x0a,
+  0x68, 0x82, 0x40, 0x30, 0x1b, 0x04, 0xc6, 0x0c, 0x36, 0x2c, 0x04, 0x18,
+  0x84, 0x81, 0x18, 0x8c, 0x01, 0x19, 0x0c, 0x65, 0x40, 0x88, 0xc1, 0x19,
+  0x6c, 0x08, 0xd0, 0x80, 0xc9, 0x94, 0xd5, 0x17, 0x55, 0x98, 0xdc, 0x59,
+  0x19, 0xdd, 0x04, 0xa1, 0x88, 0x36, 0x2c, 0x84, 0x1a, 0x84, 0xc1, 0x1a,
+  0x8c, 0x81, 0x18, 0x0c, 0x65, 0x40, 0x88, 0xc1, 0x19, 0x6c, 0x08, 0xd8,
+  0x60, 0xc3, 0x90, 0x06, 0x6d, 0x00, 0x6c, 0x28, 0xb0, 0xcf, 0x0d, 0x20,
+  0x80, 0x86, 0x19, 0xdb, 0x5b, 0x18, 0xdd, 0x1c, 0x8b, 0x34, 0xb7, 0x39,
+  0xba, 0x39, 0x1a, 0x73, 0x69, 0x67, 0x5f, 0x6c, 0x64, 0x34, 0xe6, 0xd2,
+  0xce, 0xbe, 0xe6, 0xe8, 0x36, 0x20, 0x70, 0xc0, 0xc4, 0x81, 0x19, 0xc8,
+  0x41, 0x33, 0x07, 0x4d, 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, 0x60, 0x6d, 0x75, 0xc8, 0xf0, 0x5c, 0xec, 0xd2, 0xca, 0xee,
+  0x92, 0xc8, 0xa6, 0xe8, 0xc2, 0xe8, 0xca, 0xa6, 0x04, 0x5d, 0x1d, 0x32,
+  0x3c, 0x97, 0x32, 0x37, 0x3a, 0xb9, 0x3c, 0xa8, 0xb7, 0x34, 0x37, 0xba,
+  0xb9, 0x29, 0x81, 0x1b, 0x74, 0x21, 0xc3, 0x73, 0x19, 0x7b, 0xab, 0x73,
+  0xa3, 0x2b, 0x93, 0x9b, 0x9b, 0x12, 0xcc, 0x01, 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, 0x14, 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, 0x04, 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, 0x01, 0x10, 0x0c,
+  0x80, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x41, 0x53, 0x48,
+  0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6b, 0xf9, 0x83, 0x7e,
+  0x3a, 0x8a, 0x94, 0x7f, 0x05, 0xc4, 0x15, 0xe1, 0x35, 0x35, 0x42, 0x4f,
+  0x44, 0x58, 0x49, 0x4c, 0xc0, 0x05, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
+  0x70, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0xa8, 0x05, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde,
+  0x21, 0x0c, 0x00, 0x00, 0x67, 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, 0x20, 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, 0x58, 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, 0x6d, 0x8e, 0x20, 0x28,
+  0x06, 0x23, 0x85, 0x90, 0x47, 0x70, 0x20, 0xe0, 0x9c, 0x09, 0x7b, 0x88,
+  0x9f, 0x73, 0x1a, 0x69, 0x02, 0x9a, 0x49, 0x42, 0xc1, 0xa0, 0x99, 0x06,
+  0x04, 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, 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, 0x81, 0x80, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x20, 0x0b, 0x04, 0x00, 0x00, 0x0c, 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, 0x06,
+  0x85, 0x50, 0x1e, 0x54, 0x4a, 0x62, 0x04, 0xa0, 0x08, 0x0a, 0xa1, 0x40,
+  0x88, 0xce, 0x00, 0x50, 0x1d, 0xcb, 0x20, 0x88, 0x40, 0x20, 0x10, 0x00,
+  0x79, 0x18, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90,
+  0x46, 0x02, 0x13, 0x44, 0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24,
+  0xc6, 0x05, 0xc7, 0x45, 0xa6, 0x06, 0xa6, 0xc6, 0x45, 0x06, 0x07, 0x04,
+  0x25, 0xa7, 0xcc, 0x4c, 0x4c, 0xcc, 0x66, 0x6c, 0x46, 0x26, 0x65, 0x43,
+  0x10, 0x4c, 0x10, 0x88, 0x62, 0x82, 0x40, 0x18, 0x1b, 0x84, 0x81, 0x98,
+  0x20, 0x10, 0xc7, 0x06, 0x61, 0x30, 0x28, 0xc0, 0xcd, 0x4d, 0x10, 0x08,
+  0x64, 0xc3, 0x80, 0x24, 0xc4, 0x04, 0x81, 0x8a, 0x08, 0x4c, 0x10, 0x88,
+  0x64, 0x82, 0x40, 0x28, 0x1b, 0x10, 0x62, 0x61, 0x1a, 0x62, 0x70, 0x80,
+  0x0d, 0xc1, 0xb3, 0x81, 0x00, 0x00, 0x08, 0x98, 0x20, 0x54, 0xd2, 0x86,
+  0x40, 0x9a, 0x20, 0x08, 0x00, 0x89, 0xb6, 0xb0, 0x34, 0x37, 0x22, 0x54,
+  0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x13, 0x84, 0x82, 0x99, 0x20,
+  0x14, 0xcd, 0x86, 0x80, 0x98, 0x20, 0x14, 0xce, 0x04, 0xa1, 0x78, 0x26,
+  0x08, 0xc4, 0xb2, 0x41, 0x68, 0xb8, 0x0d, 0x0b, 0x61, 0x5d, 0x58, 0xa6,
+  0x0d, 0x1b, 0x81, 0x75, 0x1b, 0x02, 0x8f, 0xc9, 0x94, 0xd5, 0x17, 0x55,
+  0x98, 0xdc, 0x59, 0x19, 0xdd, 0x04, 0xa1, 0x80, 0x36, 0x2c, 0x04, 0x18,
+  0x5c, 0x61, 0x90, 0x61, 0xc3, 0x46, 0x60, 0xdd, 0x86, 0x40, 0x0c, 0x36,
+  0x0c, 0xdf, 0x18, 0x00, 0x1b, 0x0a, 0xaa, 0x22, 0x83, 0x08, 0xa8, 0xc2,
+  0xc6, 0x66, 0xd7, 0xe6, 0x92, 0x46, 0x56, 0xe6, 0x46, 0x37, 0x25, 0x08,
+  0xaa, 0x90, 0xe1, 0xb9, 0xd8, 0x95, 0xc9, 0xcd, 0xa5, 0xbd, 0xb9, 0x4d,
+  0x09, 0x88, 0x26, 0x64, 0x78, 0x2e, 0x76, 0x61, 0x6c, 0x76, 0x65, 0x72,
+  0x53, 0x02, 0xa3, 0x0e, 0x19, 0x9e, 0xcb, 0x1c, 0x5a, 0x18, 0x59, 0x99,
+  0x5c, 0xd3, 0x1b, 0x59, 0x19, 0xdb, 0x94, 0x20, 0x29, 0x43, 0x86, 0xe7,
+  0x22, 0x57, 0x36, 0xf7, 0x56, 0x27, 0x37, 0x56, 0x36, 0x37, 0x25, 0x80,
+  0xea, 0x90, 0xe1, 0xb9, 0xd8, 0xa5, 0x95, 0xdd, 0x25, 0x91, 0x4d, 0xd1,
+  0x85, 0xd1, 0x95, 0x4d, 0x09, 0xa4, 0x3a, 0x64, 0x78, 0x2e, 0x65, 0x6e,
+  0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x53, 0x02, 0x32,
   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,
@@ -123,116 +256,28 @@ static const unsigned char color_frag_dxil[] = {
   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, 0x0b, 0x00, 0x00, 0x00,
-  0x16, 0x30, 0x0d, 0x97, 0xef, 0x3c, 0xfe, 0xe2, 0x00, 0x83, 0xd8, 0x3c,
-  0xd4, 0xe4, 0x17, 0xb7, 0x6d, 0x02, 0xd5, 0x70, 0xf9, 0xce, 0xe3, 0x4b,
-  0x93, 0x13, 0x11, 0x28, 0x35, 0x3d, 0xd4, 0xe4, 0x17, 0xb7, 0x6d, 0x00,
-  0x04, 0x03, 0x20, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x48, 0x41, 0x53, 0x48, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x1c, 0x7c, 0xd7, 0x34, 0x1f, 0x6e, 0x13, 0xad, 0x41, 0x1b, 0x61, 0x87,
-  0x0c, 0x13, 0x10, 0xdc, 0x44, 0x58, 0x49, 0x4c, 0xd4, 0x04, 0x00, 0x00,
-  0x60, 0x00, 0x00, 0x00, 0x35, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c,
-  0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xbc, 0x04, 0x00, 0x00,
-  0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0x2c, 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, 0x10, 0x45, 0x02, 0x42, 0x92, 0x0b, 0x42, 0x84, 0x10, 0x32, 0x14,
-  0x38, 0x08, 0x18, 0x4b, 0x0a, 0x32, 0x42, 0x88, 0x48, 0x90, 0x14, 0x20,
-  0x43, 0x46, 0x88, 0xa5, 0x00, 0x19, 0x32, 0x42, 0xe4, 0x48, 0x0e, 0x90,
-  0x11, 0x22, 0xc4, 0x50, 0x41, 0x51, 0x81, 0x8c, 0xe1, 0x83, 0xe5, 0x8a,
-  0x04, 0x21, 0x46, 0x06, 0x51, 0x18, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
-  0x1b, 0x8c, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x40, 0x02, 0xa8, 0x0d,
-  0x84, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x20, 0x01, 0x00, 0x00, 0x00,
-  0x49, 0x18, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x82, 0x60, 0x42,
-  0x20, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
-  0x32, 0x22, 0x08, 0x09, 0x20, 0x64, 0x85, 0x04, 0x13, 0x22, 0xa4, 0x84,
-  0x04, 0x13, 0x22, 0xe3, 0x84, 0xa1, 0x90, 0x14, 0x12, 0x4c, 0x88, 0x8c,
-  0x0b, 0x84, 0x84, 0x4c, 0x10, 0x30, 0x23, 0x00, 0x25, 0x00, 0x8a, 0x19,
-  0x80, 0x39, 0x02, 0x30, 0x98, 0x23, 0x40, 0x8a, 0x31, 0x44, 0x54, 0x44,
-  0x56, 0x0c, 0x20, 0xa2, 0x1a, 0xc2, 0x81, 0x80, 0x34, 0x20, 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, 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, 0xc8, 0x02, 0x01,
-  0x0b, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x10, 0x19, 0x11, 0x4c, 0x90,
-  0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0xa2, 0x12, 0x18, 0x01, 0x28,
-  0x89, 0x62, 0x28, 0x83, 0xf2, 0xa0, 0x2a, 0x89, 0x11, 0x80, 0x22, 0x28,
-  0x84, 0x02, 0xa1, 0x1d, 0xcb, 0x20, 0x88, 0x40, 0x20, 0x10, 0x00, 0x00,
-  0x79, 0x18, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90,
-  0x46, 0x02, 0x13, 0x44, 0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24,
-  0xc6, 0x05, 0xc7, 0x45, 0xa6, 0x06, 0xa6, 0xc6, 0x45, 0x06, 0x07, 0x04,
-  0x25, 0xa7, 0xcc, 0x4c, 0x4c, 0xcc, 0x66, 0x6c, 0x46, 0x26, 0x65, 0x43,
-  0x10, 0x4c, 0x10, 0x88, 0x61, 0x82, 0x40, 0x10, 0x1b, 0x84, 0x81, 0x98,
-  0x20, 0x10, 0xc5, 0x06, 0x61, 0x30, 0x28, 0xc0, 0xcd, 0x4d, 0x10, 0x08,
-  0x63, 0xc3, 0x80, 0x24, 0xc4, 0x04, 0x61, 0x71, 0x36, 0x04, 0xcb, 0x04,
-  0x41, 0x00, 0x48, 0xb4, 0x85, 0xa5, 0xb9, 0x11, 0xa1, 0x2a, 0xc2, 0x1a,
-  0x7a, 0x7a, 0x92, 0x22, 0x9a, 0x20, 0x14, 0xc9, 0x04, 0xa1, 0x50, 0x36,
-  0x04, 0xc4, 0x04, 0xa1, 0x58, 0x26, 0x08, 0x05, 0x33, 0x41, 0x20, 0x8e,
-  0x09, 0x02, 0x81, 0x6c, 0x10, 0x2a, 0x6b, 0xc3, 0x42, 0x3c, 0x50, 0x24,
-  0x4d, 0x03, 0x45, 0x44, 0xd7, 0x86, 0x00, 0x63, 0x32, 0x65, 0xf5, 0x45,
-  0x15, 0x26, 0x77, 0x56, 0x46, 0x37, 0x41, 0x28, 0x9a, 0x0d, 0x0b, 0xa1,
-  0x41, 0x9b, 0x14, 0x0d, 0x14, 0x11, 0x5d, 0x1b, 0x02, 0x6e, 0xc3, 0x90,
-  0x75, 0xc0, 0x86, 0xa2, 0x71, 0x3c, 0x00, 0xa8, 0xc2, 0xc6, 0x66, 0xd7,
-  0xe6, 0x92, 0x46, 0x56, 0xe6, 0x46, 0x37, 0x25, 0x08, 0xaa, 0x90, 0xe1,
-  0xb9, 0xd8, 0x95, 0xc9, 0xcd, 0xa5, 0xbd, 0xb9, 0x4d, 0x09, 0x88, 0x26,
-  0x64, 0x78, 0x2e, 0x76, 0x61, 0x6c, 0x76, 0x65, 0x72, 0x53, 0x02, 0xa3,
-  0x0e, 0x19, 0x9e, 0xcb, 0x1c, 0x5a, 0x18, 0x59, 0x99, 0x5c, 0xd3, 0x1b,
-  0x59, 0x19, 0xdb, 0x94, 0x20, 0xa9, 0x43, 0x86, 0xe7, 0x62, 0x97, 0x56,
-  0x76, 0x97, 0x44, 0x36, 0x45, 0x17, 0x46, 0x57, 0x36, 0x25, 0x58, 0xea,
-  0x90, 0xe1, 0xb9, 0x94, 0xb9, 0xd1, 0xc9, 0xe5, 0x41, 0xbd, 0xa5, 0xb9,
-  0xd1, 0xcd, 0x4d, 0x09, 0x3c, 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,
-  0x0b, 0x00, 0x00, 0x00, 0x16, 0x30, 0x0d, 0x97, 0xef, 0x3c, 0xfe, 0xe2,
-  0x00, 0x83, 0xd8, 0x3c, 0xd4, 0xe4, 0x17, 0xb7, 0x6d, 0x02, 0xd5, 0x70,
-  0xf9, 0xce, 0xe3, 0x4b, 0x93, 0x13, 0x11, 0x28, 0x35, 0x3d, 0xd4, 0xe4,
-  0x17, 0xb7, 0x6d, 0x00, 0x04, 0x03, 0x20, 0x0d, 0x00, 0x00, 0x00, 0x00,
-  0x61, 0x20, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x13, 0x04, 0x41, 0x2c,
-  0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x44, 0x85, 0x30, 0x03,
-  0x50, 0x0a, 0x54, 0x25, 0x50, 0x06, 0x00, 0x00, 0x23, 0x06, 0x09, 0x00,
-  0x82, 0x60, 0x60, 0x4c, 0x05, 0x04, 0x29, 0xc4, 0x88, 0x41, 0x02, 0x80,
-  0x20, 0x18, 0x18, 0x94, 0x11, 0x45, 0x43, 0x31, 0x62, 0x90, 0x00, 0x20,
-  0x08, 0x06, 0x46, 0x75, 0x48, 0xd2, 0x62, 0x8c, 0x18, 0x24, 0x00, 0x08,
-  0x82, 0x81, 0x61, 0x21, 0xd3, 0x44, 0x1c, 0x23, 0x06, 0x09, 0x00, 0x82,
-  0x60, 0x80, 0x58, 0x07, 0x45, 0x39, 0xc4, 0x88, 0x41, 0x02, 0x80, 0x20,
-  0x18, 0x20, 0xd6, 0x41, 0x51, 0xc6, 0x30, 0x62, 0x90, 0x00, 0x20, 0x08,
-  0x06, 0x88, 0x75, 0x50, 0x54, 0x23, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82,
-  0x01, 0x62, 0x1d, 0x14, 0x55, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00
+  0xf0, 0x00, 0x00, 0x00, 0x71, 0x20, 0x00, 0x00, 0x14, 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, 0x04,
+  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, 0x01, 0x10, 0x0c, 0x80, 0x34, 0x00, 0x00, 0x61, 0x20, 0x00, 0x00,
+  0x29, 0x00, 0x00, 0x00, 0x13, 0x04, 0x41, 0x2c, 0x10, 0x00, 0x00, 0x00,
+  0x04, 0x00, 0x00, 0x00, 0x44, 0x66, 0x00, 0x4a, 0xa1, 0xe4, 0xca, 0x8e,
+  0x4a, 0x09, 0x94, 0x01, 0xbd, 0x11, 0x00, 0x00, 0x23, 0x06, 0x09, 0x00,
+  0x82, 0x60, 0x00, 0x59, 0x05, 0x43, 0x51, 0xc1, 0x88, 0x41, 0x02, 0x80,
+  0x20, 0x18, 0x18, 0x5a, 0x54, 0x55, 0x0e, 0x32, 0x62, 0x90, 0x00, 0x20,
+  0x08, 0x06, 0xc6, 0x26, 0x59, 0x56, 0x91, 0x8c, 0x18, 0x24, 0x00, 0x08,
+  0x82, 0x81, 0xc1, 0x4d, 0xd7, 0xf5, 0x28, 0x23, 0x06, 0x09, 0x00, 0x82,
+  0x60, 0x60, 0x74, 0x14, 0x86, 0x19, 0xcb, 0x88, 0xc1, 0x01, 0x80, 0x20,
+  0x18, 0x34, 0x5c, 0x52, 0x64, 0xa3, 0x09, 0x01, 0x60, 0x81, 0x21, 0x1f,
+  0x13, 0x0c, 0xf9, 0xd8, 0x60, 0xc8, 0x67, 0xc4, 0x20, 0x01, 0x40, 0x10,
+  0x0c, 0x10, 0x31, 0x80, 0x3c, 0xef, 0x1a, 0x46, 0x0c, 0x12, 0x00, 0x04,
+  0xc1, 0x00, 0x11, 0x03, 0xc8, 0xf3, 0x1a, 0x61, 0xc4, 0x20, 0x01, 0x40,
+  0x10, 0x0c, 0x10, 0x31, 0x80, 0x3c, 0xcf, 0x0a, 0x46, 0x0c, 0x12, 0x00,
+  0x04, 0xc1, 0x00, 0x11, 0x03, 0xc8, 0xf3, 0x18, 0x03, 0x01, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00
 };
-static const unsigned int color_frag_dxil_len = 2820;
+static const unsigned int color_frag_dxil_len = 3352;

+ 9 - 1
src/render/gpu/shaders/color.frag.hlsl

@@ -1,3 +1,9 @@
+
+cbuffer Constants : register(b0, space3)
+{
+    float color_scale;
+};
+
 struct PSInput {
     float4 v_color : COLOR0;
 };
@@ -6,8 +12,10 @@ struct PSOutput {
     float4 o_color : SV_Target;
 };
 
+#include "common.frag.hlsli"
+
 PSOutput main(PSInput input) {
     PSOutput output;
-    output.o_color = input.v_color;
+    output.o_color = GetOutputColor(1.0) * input.v_color;
     return output;
 }

+ 44 - 22
src/render/gpu/shaders/color.frag.msl.h

@@ -5,28 +5,50 @@ static const unsigned char color_frag_msl[] = {
   0x6d, 0x64, 0x2f, 0x73, 0x69, 0x6d, 0x64, 0x2e, 0x68, 0x3e, 0x0a, 0x0a,
   0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70,
   0x61, 0x63, 0x65, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x3b, 0x0a, 0x0a,
+  0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x5f,
+  0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x0a, 0x7b, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x63, 0x6f,
+  0x6c, 0x6f, 0x72, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x3b, 0x0a, 0x7d,
+  0x3b, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20,
+  0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x5f, 0x31, 0x39, 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, 0x20, 0x5b, 0x5b, 0x63, 0x6f, 0x6c, 0x6f,
+  0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 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, 0x20,
-  0x5b, 0x5b, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x28, 0x30, 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, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x30,
-  0x20, 0x5b, 0x5b, 0x75, 0x73, 0x65, 0x72, 0x28, 0x6c, 0x6f, 0x63, 0x6e,
-  0x30, 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, 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,
+  0x5f, 0x69, 0x6e, 0x0a, 0x7b, 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, 0x30, 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, 0x43, 0x6f, 0x6e,
+  0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x26, 0x20, 0x43, 0x6f, 0x6e, 0x73,
+  0x74, 0x61, 0x6e, 0x74, 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, 0x32,
+  0x34, 0x20, 0x3d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x31,
+  0x2e, 0x30, 0x29, 0x20, 0x2a, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61,
+  0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x73, 0x63,
+  0x61, 0x6c, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f,
+  0x61, 0x74, 0x34, 0x20, 0x5f, 0x32, 0x35, 0x20, 0x3d, 0x20, 0x66, 0x6c,
+  0x6f, 0x61, 0x74, 0x34, 0x28, 0x5f, 0x32, 0x34, 0x2e, 0x78, 0x2c, 0x20,
+  0x5f, 0x32, 0x34, 0x2e, 0x79, 0x2c, 0x20, 0x5f, 0x32, 0x34, 0x2e, 0x7a,
+  0x2c, 0x20, 0x5f, 0x31, 0x39, 0x2e, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x5f, 0x32, 0x35, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x31, 0x2e,
+  0x30, 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, 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, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20,
-  0x6f, 0x75, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a
+  0x72, 0x67, 0x65, 0x74, 0x20, 0x3d, 0x20, 0x5f, 0x32, 0x35, 0x20, 0x2a,
+  0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x43,
+  0x4f, 0x4c, 0x4f, 0x52, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72,
+  0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6f, 0x75, 0x74, 0x3b, 0x0a, 0x7d,
+  0x0a, 0x0a
 };
-static const unsigned int color_frag_msl_len = 344;
+static const unsigned int color_frag_msl_len = 602;

+ 60 - 24
src/render/gpu/shaders/color.frag.spv.h

@@ -1,34 +1,70 @@
 static const unsigned char color_frag_spv[] = {
   0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0e, 0x00,
-  0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00,
+  0x1c, 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, 0x07, 0x00, 0x04, 0x00, 0x00, 0x00,
   0x01, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00,
   0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00,
   0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00,
   0x05, 0x00, 0x00, 0x00, 0x58, 0x02, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x2e, 0x76, 0x61, 0x72, 0x2e, 0x43,
-  0x4f, 0x4c, 0x4f, 0x52, 0x30, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x6f, 0x75, 0x74, 0x2e, 0x76, 0x61, 0x72, 0x2e,
-  0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x00, 0x00,
-  0x05, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e,
-  0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x04, 0x00, 0x00, 0x00, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x43, 0x6f, 0x6e,
+  0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00,
+  0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x6f, 0x6c, 0x6f,
+  0x72, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x00, 0x05, 0x00, 0x05, 0x00,
+  0x05, 0x00, 0x00, 0x00, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74,
+  0x73, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x69, 0x6e, 0x2e, 0x76, 0x61, 0x72, 0x2e, 0x43, 0x4f, 0x4c, 0x4f, 0x52,
+  0x30, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x6f, 0x75, 0x74, 0x2e, 0x76, 0x61, 0x72, 0x2e, 0x53, 0x56, 0x5f, 0x54,
+  0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 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, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x16, 0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
-  0x17, 0x00, 0x04, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
-  0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00,
-  0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
-  0x13, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00,
-  0x09, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00,
-  0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x3b, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
-  0xf8, 0x00, 0x02, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
-  0x05, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x3e, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00,
-  0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00
+  0x05, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x47, 0x00, 0x04, 0x00, 0x05, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x04, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x47, 0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x16, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+  0x2b, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x80, 0x3f, 0x17, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00,
+  0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00,
+  0x09, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x2b, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00,
+  0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00,
+  0x0c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+  0x20, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x08, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x0e, 0x00, 0x00, 0x00,
+  0x21, 0x00, 0x03, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00,
+  0x17, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00,
+  0x0b, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x3b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x06, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
+  0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00,
+  0x08, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00,
+  0x0e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x0f, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x14, 0x00, 0x00, 0x00,
+  0x3d, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x00,
+  0x16, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
+  0x3d, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00,
+  0x16, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x18, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00,
+  0x4f, 0x00, 0x09, 0x00, 0x08, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00,
+  0x13, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+  0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x52, 0x00, 0x06, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
+  0x07, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x85, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00,
+  0x1a, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00,
+  0x38, 0x00, 0x01, 0x00
 };
-static const unsigned int color_frag_spv_len = 368;
+static const unsigned int color_frag_spv_len = 796;

+ 10 - 0
src/render/gpu/shaders/common.frag.hlsli

@@ -0,0 +1,10 @@
+
+float4 GetOutputColor(float4 rgba)
+{
+    float4 output;
+
+    output.rgb = rgba.rgb * color_scale;
+    output.a = rgba.a;
+
+    return output;
+}

+ 1 - 4
src/render/gpu/shaders/dxil.h

@@ -1,10 +1,7 @@
 #include "color.frag.dxil.h"
 #include "linepoint.vert.dxil.h"
-#include "texture_palette.frag.dxil.h"
-#include "texture_palette_pixelart.frag.dxil.h"
+#include "texture_advanced.frag.dxil.h"
 #include "texture_rgb.frag.dxil.h"
-#include "texture_rgb_pixelart.frag.dxil.h"
 #include "texture_rgba.frag.dxil.h"
-#include "texture_rgba_pixelart.frag.dxil.h"
 #include "tri_color.vert.dxil.h"
 #include "tri_texture.vert.dxil.h"

+ 1 - 4
src/render/gpu/shaders/msl.h

@@ -1,10 +1,7 @@
 #include "color.frag.msl.h"
 #include "linepoint.vert.msl.h"
-#include "texture_palette.frag.msl.h"
-#include "texture_palette_pixelart.frag.msl.h"
+#include "texture_advanced.frag.msl.h"
 #include "texture_rgb.frag.msl.h"
-#include "texture_rgb_pixelart.frag.msl.h"
 #include "texture_rgba.frag.msl.h"
-#include "texture_rgba_pixelart.frag.msl.h"
 #include "tri_color.vert.msl.h"
 #include "tri_texture.vert.msl.h"

+ 1 - 4
src/render/gpu/shaders/spir-v.h

@@ -1,10 +1,7 @@
 #include "color.frag.spv.h"
 #include "linepoint.vert.spv.h"
-#include "texture_palette.frag.spv.h"
-#include "texture_palette_pixelart.frag.spv.h"
+#include "texture_advanced.frag.spv.h"
 #include "texture_rgb.frag.spv.h"
-#include "texture_rgb_pixelart.frag.spv.h"
 #include "texture_rgba.frag.spv.h"
-#include "texture_rgba_pixelart.frag.spv.h"
 #include "tri_color.vert.spv.h"
 #include "tri_texture.vert.spv.h"

+ 833 - 0
src/render/gpu/shaders/texture_advanced.frag.dxil.h

@@ -0,0 +1,833 @@
+static const unsigned char texture_advanced_frag_dxil[] = {
+  0x44, 0x58, 0x42, 0x43, 0xda, 0x67, 0x33, 0xb5, 0x45, 0xee, 0x36, 0x5b,
+  0xae, 0xa0, 0xf7, 0x36, 0x8d, 0x0f, 0x82, 0x95, 0x01, 0x00, 0x00, 0x00,
+  0xe4, 0x26, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00,
+  0x4c, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x00, 0x00,
+  0x38, 0x02, 0x00, 0x00, 0x74, 0x0c, 0x00, 0x00, 0x90, 0x0c, 0x00, 0x00,
+  0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x31, 0x54, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x48, 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, 0x48, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x00, 0x00, 0x00,
+  0x4f, 0x53, 0x47, 0x31, 0x34, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x00, 0x00,
+  0x50, 0x53, 0x56, 0x30, 0x4c, 0x01, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
+  0x00, 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, 0x02, 0x01, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x13, 0x00, 0x00, 0x00, 0x06, 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,
+  0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x02, 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, 0x42, 0x00,
+  0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x44, 0x10, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+  0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x53, 0x54, 0x41, 0x54, 0x34, 0x0a, 0x00, 0x00,
+  0x60, 0x00, 0x00, 0x00, 0x8d, 0x02, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c,
+  0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x1c, 0x0a, 0x00, 0x00,
+  0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0x84, 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, 0x5c, 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, 0xa4, 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, 0xe4, 0xa6,
+  0xe1, 0xf2, 0x27, 0xec, 0x21, 0x24, 0x7f, 0x25, 0xa4, 0x95, 0x98, 0xfc,
+  0xe2, 0xb6, 0x51, 0x31, 0x0c, 0xc3, 0x40, 0x50, 0x71, 0xcf, 0x70, 0xf9,
+  0x13, 0xf6, 0x10, 0x92, 0x1f, 0x02, 0xcd, 0xb0, 0x10, 0x28, 0x58, 0x0a,
+  0xa3, 0x10, 0x0c, 0x33, 0x0c, 0xc3, 0x40, 0x10, 0xc4, 0x40, 0x4d, 0x19,
+  0x06, 0x62, 0xa0, 0xa7, 0x10, 0x03, 0x31, 0x0c, 0x14, 0x15, 0x49, 0x21,
+  0x18, 0x66, 0x18, 0x86, 0x81, 0x20, 0x88, 0x61, 0x18, 0x86, 0x61, 0x18,
+  0x68, 0x2a, 0xc8, 0x40, 0x0c, 0xc3, 0x30, 0x0c, 0x03, 0x55, 0x47, 0x0d,
+  0x97, 0x3f, 0x61, 0x0f, 0x21, 0xf9, 0xdc, 0x46, 0x15, 0x2b, 0x31, 0xf9,
+  0xc5, 0x6d, 0x23, 0x62, 0x18, 0x86, 0xa1, 0x10, 0x17, 0xc1, 0x10, 0x84,
+  0x95, 0x62, 0x20, 0x86, 0x61, 0x20, 0x6d, 0x8e, 0x20, 0x28, 0x06, 0x43,
+  0x14, 0x04, 0xc1, 0x51, 0x37, 0x10, 0x30, 0x8c, 0x40, 0x0c, 0x33, 0xb5,
+  0xc1, 0x38, 0xb0, 0x43, 0x38, 0xcc, 0xc3, 0x3c, 0xb8, 0x01, 0x2d, 0x94,
+  0x03, 0x3e, 0xd0, 0x43, 0x3d, 0xc8, 0x43, 0x39, 0xc8, 0x01, 0x29, 0xf0,
+  0x81, 0x3d, 0x94, 0xc3, 0x38, 0xd0, 0xc3, 0x3b, 0xc8, 0x03, 0x1f, 0x98,
+  0x03, 0x3b, 0xbc, 0x43, 0x38, 0xd0, 0x03, 0x1b, 0x80, 0x01, 0x1d, 0xf8,
+  0x01, 0x18, 0xf8, 0x81, 0x1e, 0xe8, 0x41, 0x3b, 0xa4, 0x03, 0x3c, 0xcc,
+  0xc3, 0x2f, 0xd0, 0x43, 0x3e, 0xc0, 0x43, 0x39, 0xa0, 0x80, 0x98, 0x49,
+  0x0c, 0xc6, 0x81, 0x1d, 0xc2, 0x61, 0x1e, 0xe6, 0xc1, 0x0d, 0x68, 0xa1,
+  0x1c, 0xf0, 0x81, 0x1e, 0xea, 0x41, 0x1e, 0xca, 0x41, 0x0e, 0x48, 0x81,
+  0x0f, 0xec, 0xa1, 0x1c, 0xc6, 0x81, 0x1e, 0xde, 0x41, 0x1e, 0xf8, 0xc0,
+  0x1c, 0xd8, 0xe1, 0x1d, 0xc2, 0x81, 0x1e, 0xd8, 0x00, 0x0c, 0xe8, 0xc0,
+  0x0f, 0xc0, 0xc0, 0x0f, 0x90, 0x00, 0x86, 0x24, 0x9e, 0x33, 0x61, 0x0f,
+  0xf1, 0x73, 0x4e, 0x23, 0x4d, 0x40, 0x33, 0x49, 0xa8, 0x19, 0x86, 0x61,
+  0x00, 0x87, 0x61, 0x18, 0x40, 0x10, 0x04, 0x89, 0xbc, 0x49, 0x9a, 0x22,
+  0x4a, 0x98, 0x7c, 0x16, 0x60, 0x9e, 0x85, 0x88, 0xd8, 0x09, 0x98, 0x08,
+  0x14, 0x10, 0x64, 0x26, 0x02, 0x01, 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, 0x13, 0x01, 0x01,
+  0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x90, 0x67, 0x02,
+  0x02, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x21, 0x4f,
+  0x05, 0x04, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43,
+  0x1e, 0x0c, 0x08, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x86, 0x3c, 0x1a, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x0c, 0x79, 0x3a, 0x20, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0xc8, 0x02, 0x01, 0x00, 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, 0x8a, 0xa0, 0x24,
+  0xca, 0xa0, 0xc0, 0x03, 0xca, 0xa1, 0x10, 0x0a, 0xa2, 0x30, 0x0a, 0xa4,
+  0x34, 0x0a, 0xa8, 0x90, 0x0a, 0xaa, 0xb0, 0x0a, 0xac, 0x00, 0x03, 0x0a,
+  0x34, 0xa0, 0x80, 0x03, 0xca, 0xa3, 0x58, 0x0b, 0x4a, 0x39, 0x81, 0x8a,
+  0x92, 0x18, 0x01, 0x28, 0x82, 0x42, 0x28, 0x10, 0xe2, 0x6a, 0x80, 0xc6,
+  0x19, 0x00, 0x22, 0x67, 0x00, 0xa8, 0x9c, 0x01, 0xa0, 0x73, 0x06, 0x80,
+  0xd0, 0xb1, 0x10, 0x83, 0x08, 0x04, 0x02, 0x79, 0x1e, 0x00, 0x00, 0x00,
+  0x79, 0x18, 0x00, 0x00, 0x1e, 0x01, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90,
+  0x46, 0x02, 0x13, 0x44, 0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24,
+  0xc6, 0x05, 0xc7, 0x45, 0xa6, 0x06, 0xa6, 0xc6, 0x45, 0x06, 0x07, 0x04,
+  0x25, 0xa7, 0xcc, 0x4c, 0x4c, 0xcc, 0x66, 0x6c, 0x46, 0x26, 0x65, 0x43,
+  0x10, 0x4c, 0x10, 0x88, 0x65, 0x82, 0x40, 0x30, 0x1b, 0x84, 0x81, 0xd8,
+  0x20, 0x10, 0x04, 0x05, 0xb8, 0xb9, 0x09, 0x02, 0xd1, 0x6c, 0x18, 0x0e,
+  0x84, 0x98, 0x20, 0x8c, 0x41, 0x1a, 0x10, 0xa1, 0x2b, 0xc3, 0xa3, 0xab,
+  0x93, 0x2b, 0x83, 0x99, 0x20, 0x10, 0xce, 0x04, 0x81, 0x78, 0x36, 0x08,
+  0x44, 0xb3, 0x21, 0x21, 0x94, 0x85, 0x21, 0x06, 0x86, 0x70, 0x88, 0xd0,
+  0x95, 0xe1, 0xd1, 0xd5, 0xc9, 0x95, 0xc5, 0x6c, 0x48, 0x06, 0x05, 0x62,
+  0x86, 0x81, 0x21, 0x1c, 0x22, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65,
+  0x32, 0x1b, 0x12, 0x46, 0x91, 0x18, 0x66, 0x60, 0x08, 0x67, 0xc3, 0xf0,
+  0x44, 0xd3, 0x04, 0xa1, 0x0c, 0xd6, 0x80, 0x0e, 0x5d, 0x1e, 0x5c, 0xd9,
+  0xd7, 0xd0, 0x9b, 0xdb, 0x1c, 0x5d, 0x98, 0x1b, 0xdd, 0xdc, 0x04, 0x81,
+  0x80, 0x26, 0x08, 0x44, 0xb4, 0x01, 0x21, 0x2a, 0xeb, 0x22, 0x06, 0x0c,
+  0xd8, 0x10, 0x64, 0x13, 0x84, 0x33, 0x60, 0x03, 0x22, 0x73, 0x61, 0x6d,
+  0x70, 0x6c, 0x65, 0x72, 0x30, 0x1b, 0x10, 0x62, 0xe3, 0x18, 0x62, 0x20,
+  0x00, 0x22, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x31, 0x1b, 0x90,
+  0x61, 0xf3, 0x98, 0x61, 0x20, 0x80, 0x0d, 0x42, 0xf7, 0x6d, 0x20, 0x28,
+  0x40, 0x03, 0x83, 0x09, 0x02, 0x19, 0xa8, 0x01, 0xad, 0xa1, 0x37, 0xb7,
+  0x39, 0xba, 0x30, 0x37, 0xba, 0xb9, 0xaf, 0xb9, 0x31, 0xa9, 0x23, 0xa1,
+  0xaf, 0xb7, 0x3a, 0x3a, 0xb8, 0x3a, 0xba, 0x09, 0x02, 0x21, 0x4d, 0x10,
+  0x38, 0x34, 0xd8, 0x80, 0x20, 0x63, 0x70, 0x11, 0x64, 0xd0, 0x34, 0x65,
+  0x40, 0x6b, 0xe8, 0xcd, 0x6d, 0x8e, 0x2e, 0xcc, 0x8d, 0x6e, 0xee, 0x8b,
+  0xae, 0x0c, 0x8f, 0xae, 0x4e, 0xae, 0xec, 0x8b, 0x2e, 0x0f, 0xae, 0x6c,
+  0x82, 0x40, 0x4c, 0x1b, 0x10, 0xe4, 0x0c, 0x2e, 0x34, 0x20, 0x83, 0xa6,
+  0x29, 0x03, 0x52, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73,
+  0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x13,
+  0x04, 0x82, 0xda, 0x80, 0x20, 0x6a, 0x70, 0xad, 0x01, 0x19, 0x34, 0x4d,
+  0x19, 0xb0, 0x1a, 0x7a, 0x73, 0x9b, 0xa3, 0x0b, 0x73, 0xa3, 0x9b, 0xfb,
+  0x1a, 0x7b, 0x63, 0x7b, 0x93, 0xfb, 0x9a, 0x1b, 0x0b, 0x63, 0x2b, 0x9b,
+  0x20, 0x10, 0xd5, 0x06, 0x04, 0x69, 0x83, 0xcb, 0x0d, 0xc8, 0xa0, 0x69,
+  0xca, 0x80, 0xd4, 0xd0, 0x9b, 0xdb, 0x1c, 0x5d, 0x98, 0x1b, 0xdd, 0xdc,
+  0x17, 0x5d, 0x19, 0x5e, 0x19, 0xdb, 0xd7, 0x5c, 0x9a, 0x5e, 0xd9, 0x04,
+  0x81, 0xb0, 0x26, 0x08, 0xc4, 0xb5, 0x41, 0x41, 0xe0, 0xe0, 0x8a, 0x03,
+  0x32, 0x68, 0x9a, 0x32, 0x90, 0x03, 0x34, 0x20, 0x36, 0xf4, 0xe6, 0x36,
+  0x47, 0x17, 0xe6, 0x46, 0x37, 0xf7, 0x45, 0xf7, 0xe6, 0x56, 0xd6, 0x16,
+  0x06, 0xf7, 0xd5, 0x56, 0x46, 0x87, 0xf6, 0x46, 0x36, 0x41, 0x20, 0xb0,
+  0x0d, 0x08, 0x42, 0x07, 0x57, 0x1d, 0x90, 0x41, 0xd3, 0x94, 0x01, 0xb3,
+  0xa1, 0x37, 0xb7, 0x39, 0xba, 0x30, 0x37, 0xba, 0xb9, 0x2f, 0xba, 0x37,
+  0xb7, 0xb2, 0xb6, 0x30, 0xb8, 0x2f, 0xb3, 0xb0, 0x31, 0xba, 0x37, 0xb9,
+  0x98, 0x09, 0x02, 0x91, 0x6d, 0x40, 0x90, 0x3b, 0xb8, 0xf0, 0x80, 0x0c,
+  0x9a, 0xa6, 0x0c, 0x98, 0x0d, 0xbd, 0xb9, 0xcd, 0xd1, 0x85, 0xb9, 0xd1,
+  0xcd, 0x7d, 0xd1, 0xbd, 0xb9, 0x95, 0xb5, 0x85, 0xc1, 0x7d, 0x99, 0x85,
+  0x8d, 0xd1, 0xbd, 0xc9, 0xc9, 0x4c, 0x10, 0x08, 0x6d, 0x03, 0x82, 0xe8,
+  0xc1, 0xb5, 0x07, 0x64, 0xd0, 0x34, 0x65, 0xc0, 0x6c, 0xe8, 0xcd, 0x6d,
+  0x8e, 0x2e, 0xcc, 0x8d, 0x6e, 0xee, 0x6b, 0x8e, 0x4c, 0xee, 0xeb, 0x0e,
+  0x2d, 0x8d, 0xae, 0xec, 0x0b, 0xee, 0x2d, 0xcd, 0x8d, 0x6e, 0x82, 0x40,
+  0x6c, 0x1b, 0x10, 0xa4, 0x0f, 0x2e, 0x3f, 0x20, 0x83, 0xa6, 0x29, 0x03,
+  0x46, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x5f, 0x59,
+  0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x13, 0x04, 0x82, 0xdb, 0xa0, 0x20,
+  0xa0, 0x70, 0x85, 0x02, 0x19, 0x34, 0x4d, 0x19, 0xc8, 0x01, 0x1a, 0x10,
+  0x1a, 0x7a, 0x73, 0x9b, 0xa3, 0x0b, 0x73, 0xa3, 0x9b, 0xfb, 0x92, 0x1a,
+  0x7b, 0x2b, 0x33, 0x33, 0x9b, 0x20, 0x10, 0xdd, 0x06, 0x05, 0x19, 0x85,
+  0x8b, 0x14, 0xc8, 0xa0, 0x69, 0xca, 0x40, 0x0e, 0xd0, 0x80, 0xd0, 0xd0,
+  0x9b, 0xdb, 0x1c, 0x5d, 0x98, 0x1b, 0xdd, 0xdc, 0xd7, 0xd1, 0xd8, 0x5b,
+  0x99, 0x99, 0xd9, 0x04, 0x81, 0xf0, 0x36, 0x28, 0x88, 0x29, 0x5c, 0xa7,
+  0x40, 0x06, 0x4d, 0x53, 0x06, 0x72, 0x80, 0x06, 0x84, 0x86, 0xde, 0xdc,
+  0xe6, 0xe8, 0xc2, 0xdc, 0xe8, 0xe6, 0xbe, 0x84, 0xc6, 0xde, 0xca, 0xcc,
+  0xcc, 0x26, 0x08, 0xc4, 0xb7, 0x41, 0x41, 0x52, 0xe1, 0x52, 0x05, 0x32,
+  0x68, 0x9a, 0x32, 0x90, 0x03, 0x34, 0xd8, 0xe0, 0x60, 0x66, 0x90, 0x06,
+  0x6c, 0xf0, 0x06, 0x73, 0x60, 0x07, 0x79, 0xc0, 0x07, 0x7f, 0x20, 0x0a,
+  0xa5, 0x80, 0x0a, 0xab, 0xb0, 0x61, 0x20, 0xc4, 0x80, 0x15, 0x26, 0x08,
+  0x02, 0xb0, 0x01, 0xd8, 0x30, 0x10, 0xaf, 0xf0, 0x0a, 0x1b, 0x02, 0x58,
+  0xd8, 0x30, 0x0c, 0xae, 0x10, 0x0b, 0x13, 0x04, 0x34, 0x68, 0x83, 0x0d,
+  0xc1, 0x2c, 0x90, 0x68, 0x0b, 0x4b, 0x73, 0x23, 0x42, 0x55, 0x84, 0x35,
+  0xf4, 0xf4, 0x24, 0x45, 0x34, 0x41, 0x28, 0xc6, 0x60, 0x82, 0x50, 0x90,
+  0xc1, 0x86, 0x80, 0x98, 0x20, 0x14, 0x65, 0x30, 0x41, 0x28, 0xcc, 0x60,
+  0x82, 0x40, 0x80, 0xc1, 0x06, 0xe1, 0xe2, 0x85, 0x0d, 0x0b, 0x61, 0x0b,
+  0xb7, 0x80, 0x0b, 0xb9, 0xa0, 0x0b, 0xc3, 0x2e, 0x10, 0xb8, 0xd0, 0x0b,
+  0x1b, 0x82, 0x61, 0x83, 0x70, 0x5d, 0x1b, 0x96, 0xc1, 0x16, 0x6e, 0x01,
+  0x17, 0x7e, 0x41, 0x17, 0x06, 0x5d, 0x18, 0x70, 0x01, 0x1c, 0x36, 0x08,
+  0xbe, 0x10, 0x0e, 0x4c, 0xa6, 0xac, 0xbe, 0xa8, 0xc2, 0xe4, 0xce, 0xca,
+  0xe8, 0x26, 0x08, 0xc5, 0x19, 0x6c, 0x58, 0x88, 0x71, 0xb8, 0x05, 0x72,
+  0xc8, 0x05, 0x5c, 0x18, 0x76, 0x81, 0xc0, 0x85, 0x5e, 0xd8, 0x10, 0x94,
+  0xc3, 0x86, 0x41, 0x1c, 0xcc, 0x01, 0xd8, 0x50, 0xb8, 0x42, 0x2d, 0x9c,
+  0x43, 0x18, 0x00, 0x44, 0xc4, 0xe4, 0xc2, 0xdc, 0xc6, 0xd0, 0xca, 0xe6,
+  0x68, 0x98, 0xb1, 0xbd, 0x85, 0xd1, 0xcd, 0x4d, 0x10, 0x88, 0x30, 0x60,
+  0x91, 0xe6, 0x36, 0x47, 0x37, 0x37, 0x41, 0x20, 0xc4, 0x80, 0xc6, 0x5c,
+  0xda, 0xd9, 0x17, 0x1b, 0x19, 0x8d, 0xb9, 0xb4, 0xb3, 0xaf, 0x39, 0x3a,
+  0x22, 0x74, 0x65, 0x78, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x44, 0xe8, 0xca,
+  0xf0, 0xbe, 0xdc, 0xde, 0xe4, 0xda, 0x36, 0x38, 0xe9, 0x50, 0x07, 0xea,
+  0xb0, 0x0e, 0xec, 0xd0, 0x0e, 0xee, 0x80, 0xbc, 0x03, 0x1a, 0xc0, 0xc3,
+  0x15, 0x0f, 0x6e, 0x50, 0x85, 0x8d, 0xcd, 0xae, 0xcd, 0x25, 0x8d, 0xac,
+  0xcc, 0x8d, 0x6e, 0x4a, 0x10, 0x54, 0x21, 0xc3, 0x73, 0xb1, 0x2b, 0x93,
+  0x9b, 0x4b, 0x7b, 0x73, 0x9b, 0x12, 0x10, 0x4d, 0xc8, 0xf0, 0x5c, 0xec,
+  0xc2, 0xd8, 0xec, 0xca, 0xe4, 0xa6, 0x04, 0x45, 0x1d, 0x32, 0x3c, 0x97,
+  0x39, 0xb4, 0x30, 0xb2, 0x32, 0xb9, 0xa6, 0x37, 0xb2, 0x32, 0xb6, 0x29,
+  0x01, 0x52, 0x86, 0x0c, 0xcf, 0x45, 0xae, 0x6c, 0xee, 0xad, 0x4e, 0x6e,
+  0xac, 0x6c, 0x6e, 0x4a, 0x00, 0x06, 0x95, 0xc8, 0xf0, 0x5c, 0xe8, 0xf2,
+  0xe0, 0xca, 0x82, 0xdc, 0xdc, 0xde, 0xe8, 0xc2, 0xe8, 0xd2, 0xde, 0xdc,
+  0xe6, 0xa6, 0x08, 0xac, 0x10, 0x0b, 0x75, 0xc8, 0xf0, 0x5c, 0xec, 0xd2,
+  0xca, 0xee, 0x92, 0xc8, 0xa6, 0xe8, 0xc2, 0xe8, 0xca, 0xa6, 0x04, 0xb3,
+  0x50, 0x87, 0x0c, 0xcf, 0xa5, 0xcc, 0x8d, 0x4e, 0x2e, 0x0f, 0xea, 0x2d,
+  0xcd, 0x8d, 0x6e, 0x6e, 0x4a, 0x70, 0x0e, 0x5d, 0xc8, 0xf0, 0x5c, 0xc6,
+  0xde, 0xea, 0xdc, 0xe8, 0xca, 0xe4, 0xe6, 0xa6, 0x04, 0xf1, 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,
+  0x2a, 0x00, 0x00, 0x00, 0x56, 0x00, 0x0d, 0x97, 0xef, 0x3c, 0x7e, 0x80,
+  0x34, 0x40, 0x84, 0xf9, 0xc5, 0x6d, 0x1b, 0xc2, 0x36, 0x5c, 0xbe, 0xf3,
+  0xf8, 0x42, 0x40, 0x15, 0x05, 0x11, 0x95, 0x0e, 0x30, 0x94, 0x84, 0x01,
+  0x08, 0x98, 0x5f, 0xdc, 0xb6, 0x29, 0x48, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f,
+  0x44, 0x04, 0x30, 0x11, 0x21, 0xd0, 0x0c, 0x0b, 0x61, 0x07, 0xce, 0x70,
+  0xf9, 0xce, 0xe3, 0x0f, 0xce, 0x74, 0xfb, 0xc5, 0x6d, 0x5b, 0xc0, 0x34,
+  0x5c, 0xbe, 0xf3, 0xf8, 0x8b, 0x03, 0x0c, 0x62, 0xf3, 0x50, 0x93, 0x5f,
+  0xdc, 0xb6, 0x0d, 0x40, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x01, 0xcc, 0xb3,
+  0x10, 0x7e, 0x71, 0xdb, 0x66, 0x40, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x04,
+  0x30, 0xcf, 0x42, 0x80, 0x11, 0x30, 0xf8, 0xc5, 0x6d, 0x9b, 0x40, 0x35,
+  0x5c, 0xbe, 0xf3, 0xf8, 0xd2, 0xe4, 0x44, 0x04, 0x4a, 0x4d, 0x0f, 0x35,
+  0xf9, 0xc5, 0x6d, 0x5b, 0x82, 0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x13, 0x11,
+  0x4d, 0x08, 0x10, 0x61, 0x7e, 0x71, 0xdb, 0x46, 0xf0, 0x0c, 0x97, 0xef,
+  0x3c, 0x3e, 0xd5, 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, 0xea, 0xbb, 0xc8, 0x24,
+  0x70, 0xb5, 0x43, 0xb5, 0x13, 0x10, 0xd8, 0x04, 0x6d, 0xf2, 0xdf, 0x34,
+  0x44, 0x58, 0x49, 0x4c, 0x4c, 0x1a, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
+  0x93, 0x06, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x34, 0x1a, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde,
+  0x21, 0x0c, 0x00, 0x00, 0x8a, 0x06, 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, 0x5c, 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, 0xa8, 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, 0xe4, 0xa6, 0xe1, 0xf2, 0x27, 0xec,
+  0x21, 0x24, 0x7f, 0x25, 0xa4, 0x95, 0x98, 0xfc, 0xe2, 0xb6, 0x51, 0x31,
+  0x0c, 0xc3, 0x40, 0x50, 0x71, 0xcf, 0x70, 0xf9, 0x13, 0xf6, 0x10, 0x92,
+  0x1f, 0x02, 0xcd, 0xb0, 0x10, 0x28, 0x58, 0x0a, 0xa3, 0x10, 0x0c, 0x33,
+  0x0c, 0xc3, 0x40, 0x10, 0xc4, 0x40, 0x4d, 0x19, 0x06, 0x62, 0xa0, 0xa7,
+  0x10, 0x03, 0x31, 0x0c, 0x14, 0x15, 0x49, 0x21, 0x18, 0x66, 0x18, 0x86,
+  0x81, 0x20, 0x88, 0x61, 0x18, 0x86, 0x61, 0x18, 0x68, 0x2a, 0xc8, 0x40,
+  0x0c, 0xc3, 0x30, 0x0c, 0x03, 0x55, 0x47, 0x0d, 0x97, 0x3f, 0x61, 0x0f,
+  0x21, 0xf9, 0xdc, 0x46, 0x15, 0x2b, 0x31, 0xf9, 0xc5, 0x6d, 0x23, 0x62,
+  0x18, 0x86, 0xa1, 0x10, 0x17, 0xc1, 0x10, 0x84, 0x95, 0x62, 0x20, 0x86,
+  0x61, 0x20, 0x6d, 0x8e, 0x20, 0x28, 0x06, 0x43, 0x14, 0x04, 0xc1, 0x51,
+  0x37, 0x10, 0x30, 0x8c, 0x40, 0x0c, 0x33, 0xb5, 0xc1, 0x38, 0xb0, 0x43,
+  0x38, 0xcc, 0xc3, 0x3c, 0xb8, 0x01, 0x2d, 0x94, 0x03, 0x3e, 0xd0, 0x43,
+  0x3d, 0xc8, 0x43, 0x39, 0xc8, 0x01, 0x29, 0xf0, 0x81, 0x3d, 0x94, 0xc3,
+  0x38, 0xd0, 0xc3, 0x3b, 0xc8, 0x03, 0x1f, 0x98, 0x03, 0x3b, 0xbc, 0x43,
+  0x38, 0xd0, 0x03, 0x1b, 0x80, 0x01, 0x1d, 0xf8, 0x01, 0x18, 0xf8, 0x81,
+  0x1e, 0xe8, 0x41, 0x3b, 0xa4, 0x03, 0x3c, 0xcc, 0xc3, 0x2f, 0xd0, 0x43,
+  0x3e, 0xc0, 0x43, 0x39, 0xa0, 0x80, 0x98, 0x49, 0x0c, 0xc6, 0x81, 0x1d,
+  0xc2, 0x61, 0x1e, 0xe6, 0xc1, 0x0d, 0x68, 0xa1, 0x1c, 0xf0, 0x81, 0x1e,
+  0xea, 0x41, 0x1e, 0xca, 0x41, 0x0e, 0x48, 0x81, 0x0f, 0xec, 0xa1, 0x1c,
+  0xc6, 0x81, 0x1e, 0xde, 0x41, 0x1e, 0xf8, 0xc0, 0x1c, 0xd8, 0xe1, 0x1d,
+  0xc2, 0x81, 0x1e, 0xd8, 0x00, 0x0c, 0xe8, 0xc0, 0x0f, 0xc0, 0xc0, 0x0f,
+  0x90, 0x00, 0x86, 0x24, 0x9e, 0x33, 0x61, 0x0f, 0xf1, 0x73, 0x4e, 0x23,
+  0x4d, 0x40, 0x33, 0x49, 0xa8, 0x19, 0x86, 0x61, 0x00, 0x87, 0x61, 0x18,
+  0x40, 0x10, 0x04, 0x89, 0xbc, 0x49, 0x9a, 0x22, 0x4a, 0x98, 0x7c, 0x16,
+  0x60, 0x9e, 0x85, 0x88, 0xd8, 0x09, 0x98, 0x08, 0x14, 0x10, 0x64, 0x26,
+  0x02, 0x31, 0x05, 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, 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, 0x13, 0x01, 0x01, 0x10, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0xc0, 0x90, 0x67, 0x02, 0x02, 0x60, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x21, 0x4f, 0x05, 0x04, 0x40, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x1e, 0x0c, 0x08, 0x80,
+  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x3c, 0x1a, 0x10,
+  0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x79, 0x3a,
+  0x20, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x02,
+  0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14,
+  0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22,
+  0x4a, 0x60, 0x04, 0xa0, 0x24, 0x8a, 0xa1, 0x08, 0xca, 0xa0, 0xc0, 0x03,
+  0xca, 0x83, 0x8a, 0x92, 0x18, 0x01, 0x28, 0x82, 0x42, 0x28, 0x10, 0x1a,
+  0x67, 0x00, 0xa8, 0x9c, 0x01, 0xa0, 0x73, 0x06, 0x80, 0xd0, 0xb1, 0x10,
+  0x83, 0x08, 0x04, 0x02, 0x79, 0x1e, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00,
+  0x66, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44,
+  0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24, 0xc6, 0x05, 0xc7, 0x45,
+  0xa6, 0x06, 0xa6, 0xc6, 0x45, 0x06, 0x07, 0x04, 0x25, 0xa7, 0xcc, 0x4c,
+  0x4c, 0xcc, 0x66, 0x6c, 0x46, 0x26, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x88,
+  0x65, 0x82, 0x40, 0x30, 0x1b, 0x84, 0x81, 0x98, 0x20, 0x10, 0xcd, 0x06,
+  0x61, 0x30, 0x28, 0xc0, 0xcd, 0x4d, 0x10, 0x08, 0x67, 0xc3, 0x80, 0x24,
+  0xc4, 0x04, 0x61, 0x0c, 0x30, 0x02, 0x13, 0x04, 0xe2, 0xd9, 0x20, 0x10,
+  0xc6, 0x86, 0x84, 0x58, 0x98, 0x86, 0x18, 0x1a, 0xc2, 0xd9, 0x90, 0x0c,
+  0x0b, 0xd3, 0x0c, 0x43, 0x43, 0x38, 0x1b, 0x92, 0x66, 0x61, 0x9a, 0x66,
+  0x68, 0x08, 0x67, 0xc3, 0xf0, 0x40, 0xd1, 0x04, 0xa1, 0x0c, 0xb2, 0x09,
+  0x02, 0x01, 0x4d, 0x10, 0x88, 0x68, 0x03, 0x42, 0x4c, 0x0c, 0x45, 0x0c,
+  0x15, 0xb0, 0x21, 0xb0, 0x26, 0x08, 0x67, 0xa0, 0x6d, 0x40, 0x08, 0x8c,
+  0x69, 0x88, 0x81, 0x00, 0x36, 0x20, 0x03, 0xc6, 0x34, 0xc3, 0x40, 0x00,
+  0x1b, 0x84, 0x4c, 0xdb, 0x40, 0x48, 0xc0, 0xb5, 0x4d, 0x10, 0xd0, 0x60,
+  0xdb, 0x10, 0x74, 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, 0x14,
+  0xd6, 0x04, 0x81, 0x90, 0x36, 0x08, 0xd4, 0x19, 0x6c, 0x58, 0x88, 0x30,
+  0x10, 0x83, 0x31, 0x20, 0x83, 0x32, 0x18, 0xcc, 0x80, 0x18, 0x03, 0x34,
+  0xd8, 0x10, 0x0c, 0x1b, 0x04, 0x8a, 0xda, 0xb0, 0x0c, 0x61, 0x20, 0x06,
+  0x63, 0xa0, 0x06, 0x65, 0x30, 0x94, 0xc1, 0x30, 0x06, 0x6b, 0xb0, 0x41,
+  0x48, 0x03, 0x36, 0x60, 0x32, 0x65, 0xf5, 0x45, 0x15, 0x26, 0x77, 0x56,
+  0x46, 0x37, 0x41, 0x28, 0xae, 0x0d, 0x0b, 0xe1, 0x06, 0x62, 0xf0, 0x06,
+  0x64, 0x30, 0x06, 0x83, 0x19, 0x10, 0x63, 0x80, 0x06, 0x1b, 0x02, 0x38,
+  0xd8, 0x30, 0xb4, 0x41, 0x1c, 0x00, 0x1b, 0x8a, 0x0f, 0x0c, 0xe4, 0x80,
+  0x03, 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, 0xc0, 0xa8, 0x43, 0x86, 0xe7, 0x32, 0x87, 0x16,
+  0x46, 0x56, 0x26, 0xd7, 0xf4, 0x46, 0x56, 0xc6, 0x36, 0x25, 0x48, 0xca,
+  0x90, 0xe1, 0xb9, 0xc8, 0x95, 0xcd, 0xbd, 0xd5, 0xc9, 0x8d, 0x95, 0xcd,
+  0x4d, 0x09, 0xb6, 0x3a, 0x64, 0x78, 0x2e, 0x76, 0x69, 0x65, 0x77, 0x49,
+  0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x82, 0xae, 0x0e, 0x19, 0x9e,
+  0x4b, 0x99, 0x1b, 0x9d, 0x5c, 0x1e, 0xd4, 0x5b, 0x9a, 0x1b, 0xdd, 0xdc,
+  0x94, 0x40, 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, 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, 0x2a, 0x00, 0x00, 0x00, 0x56, 0x00, 0x0d, 0x97,
+  0xef, 0x3c, 0x7e, 0x80, 0x34, 0x40, 0x84, 0xf9, 0xc5, 0x6d, 0x1b, 0xc2,
+  0x36, 0x5c, 0xbe, 0xf3, 0xf8, 0x42, 0x40, 0x15, 0x05, 0x11, 0x95, 0x0e,
+  0x30, 0x94, 0x84, 0x01, 0x08, 0x98, 0x5f, 0xdc, 0xb6, 0x29, 0x48, 0xc3,
+  0xe5, 0x3b, 0x8f, 0x2f, 0x44, 0x04, 0x30, 0x11, 0x21, 0xd0, 0x0c, 0x0b,
+  0x61, 0x07, 0xce, 0x70, 0xf9, 0xce, 0xe3, 0x0f, 0xce, 0x74, 0xfb, 0xc5,
+  0x6d, 0x5b, 0xc0, 0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x8b, 0x03, 0x0c, 0x62,
+  0xf3, 0x50, 0x93, 0x5f, 0xdc, 0xb6, 0x0d, 0x40, 0xc3, 0xe5, 0x3b, 0x8f,
+  0x2f, 0x01, 0xcc, 0xb3, 0x10, 0x7e, 0x71, 0xdb, 0x66, 0x40, 0x0d, 0x97,
+  0xef, 0x3c, 0xbe, 0x04, 0x30, 0xcf, 0x42, 0x80, 0x11, 0x30, 0xf8, 0xc5,
+  0x6d, 0x9b, 0x40, 0x35, 0x5c, 0xbe, 0xf3, 0xf8, 0xd2, 0xe4, 0x44, 0x04,
+  0x4a, 0x4d, 0x0f, 0x35, 0xf9, 0xc5, 0x6d, 0x5b, 0x82, 0x34, 0x5c, 0xbe,
+  0xf3, 0xf8, 0x13, 0x11, 0x4d, 0x08, 0x10, 0x61, 0x7e, 0x71, 0xdb, 0x46,
+  0xf0, 0x0c, 0x97, 0xef, 0x3c, 0x3e, 0xd5, 0x00, 0x11, 0xe6, 0x17, 0xb7,
+  0x6d, 0x00, 0x04, 0x03, 0x20, 0x0d, 0x00, 0x00, 0x61, 0x20, 0x00, 0x00,
+  0xc5, 0x04, 0x00, 0x00, 0x13, 0x04, 0xa5, 0x10, 0x0b, 0x04, 0x00, 0x00,
+  0x5e, 0x00, 0x00, 0x00, 0xc4, 0x8d, 0x00, 0x50, 0x51, 0x02, 0x65, 0x40,
+  0x44, 0xf9, 0x95, 0x43, 0xb1, 0x94, 0x4d, 0xa1, 0x06, 0x94, 0x69, 0x40,
+  0xc9, 0x95, 0x42, 0xb9, 0x15, 0x42, 0x21, 0x15, 0x5e, 0xa9, 0x94, 0x4b,
+  0x19, 0x15, 0x57, 0xd9, 0xcd, 0x00, 0xd0, 0x30, 0x46, 0xe0, 0xf6, 0xb1,
+  0x68, 0x7b, 0x63, 0x04, 0xef, 0x9e, 0x96, 0xf7, 0x37, 0x46, 0xa0, 0xb3,
+  0xe6, 0x1c, 0x82, 0xc1, 0x18, 0x01, 0x08, 0x82, 0xfe, 0xfd, 0x8d, 0x11,
+  0x80, 0x20, 0x08, 0xc2, 0xdd, 0x18, 0x81, 0x98, 0x8b, 0x69, 0xff, 0x8d,
+  0x11, 0x80, 0x25, 0xcf, 0xc6, 0xbf, 0x30, 0x46, 0x30, 0xa6, 0xab, 0x9a,
+  0xfb, 0xc2, 0x18, 0xc1, 0x3f, 0x93, 0xfe, 0xef, 0x0b, 0x63, 0x04, 0x74,
+  0x0d, 0x8a, 0xf9, 0x37, 0x46, 0xd0, 0xc2, 0x71, 0x0c, 0xfa, 0xc2, 0x18,
+  0xc1, 0xdc, 0xb7, 0x69, 0xea, 0x0b, 0x63, 0x04, 0xad, 0x1b, 0xf2, 0xbc,
+  0x2f, 0x8c, 0x11, 0xf0, 0x39, 0xeb, 0xe3, 0xdf, 0x18, 0x01, 0x08, 0x82,
+  0x20, 0x0a, 0x06, 0x63, 0x04, 0x20, 0x08, 0x82, 0x2a, 0x18, 0x8c, 0x11,
+  0x80, 0x20, 0x08, 0xb2, 0x60, 0x30, 0x46, 0x00, 0x82, 0x20, 0xe8, 0x82,
+  0xc1, 0x18, 0x01, 0x08, 0x82, 0x20, 0x0c, 0x06, 0x63, 0x04, 0x20, 0x08,
+  0x82, 0x31, 0x18, 0x8c, 0x11, 0xb0, 0xec, 0x19, 0xca, 0xdf, 0x18, 0x01,
+  0xea, 0x97, 0xb1, 0xfa, 0x8d, 0x11, 0xe4, 0xa7, 0x2e, 0xce, 0xde, 0x18,
+  0x81, 0x5e, 0x83, 0x3b, 0xee, 0x8d, 0x11, 0xa8, 0x78, 0x6e, 0xdb, 0xdf,
+  0x18, 0xc1, 0xdb, 0xa7, 0xf4, 0xe8, 0x8d, 0x11, 0xac, 0x73, 0xcc, 0xa2,
+  0xde, 0x18, 0x41, 0x1a, 0xc2, 0xe8, 0xee, 0x8d, 0x11, 0xdc, 0x6d, 0xac,
+  0xda, 0xdf, 0x18, 0x41, 0xcc, 0x83, 0x7d, 0xee, 0x8d, 0x11, 0x98, 0xf7,
+  0xba, 0xca, 0xde, 0x18, 0x01, 0x08, 0xc2, 0x78, 0x38, 0x06, 0x63, 0x04,
+  0xeb, 0x88, 0xc7, 0x2c, 0x18, 0x8c, 0x11, 0x80, 0x20, 0xdd, 0xe6, 0x60,
+  0x30, 0x46, 0x00, 0x82, 0xe0, 0x9a, 0x83, 0xc1, 0x18, 0x01, 0x08, 0x82,
+  0x6c, 0xfd, 0x0b, 0x63, 0x04, 0x6c, 0x3b, 0xff, 0xa4, 0x37, 0x46, 0xe0,
+  0xf6, 0xb1, 0x68, 0xfb, 0xc2, 0x18, 0x41, 0x1f, 0x8b, 0x2e, 0xfe, 0x8d,
+  0x11, 0xd4, 0x6a, 0xad, 0xb6, 0xdf, 0x18, 0x81, 0x2c, 0xba, 0x3d, 0x0d,
+  0x06, 0x63, 0x04, 0x3c, 0xbc, 0xea, 0x74, 0x37, 0x46, 0x00, 0x82, 0x20,
+  0x88, 0xff, 0xc2, 0x18, 0x01, 0xdb, 0xc6, 0xaf, 0xbc, 0x8d, 0x11, 0x80,
+  0x20, 0x08, 0x92, 0x60, 0x30, 0x46, 0x00, 0x82, 0x20, 0x08, 0x82, 0xc1,
+  0x18, 0x01, 0x08, 0x82, 0x20, 0xfc, 0x8d, 0x00, 0x8c, 0x11, 0x80, 0x20,
+  0x08, 0xe2, 0xdf, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x23, 0x06, 0x09, 0x00,
+  0x82, 0x60, 0xd0, 0xe5, 0x82, 0x1f, 0xbc, 0x02, 0x2d, 0xd0, 0xc2, 0x29,
+  0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x41, 0xa7, 0x0b, 0x7f, 0x00, 0x0b,
+  0xb9, 0x90, 0x0b, 0xa8, 0x30, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0xdd,
+  0x2e, 0x80, 0x42, 0x2c, 0xe4, 0x42, 0x2e, 0xa4, 0xc2, 0x88, 0x41, 0x02,
+  0x80, 0x20, 0x18, 0x74, 0xbc, 0x10, 0x0a, 0xa8, 0xb0, 0x0b, 0xbb, 0xa0,
+  0x0a, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0xd0, 0xf5, 0x82, 0x28, 0xa4,
+  0xc2, 0x2e, 0xec, 0xc2, 0x2a, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x41,
+  0xe7, 0x0b, 0xa3, 0x30, 0x0b, 0xbc, 0xc0, 0x0b, 0xac, 0x30, 0x62, 0x90,
+  0x00, 0x20, 0x08, 0x06, 0x06, 0x3a, 0x84, 0x82, 0x2f, 0xf4, 0x42, 0x2d,
+  0xe4, 0xc1, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0xe9, 0x20, 0x0a,
+  0xbf, 0xe0, 0x0b, 0xad, 0xa0, 0x07, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60,
+  0x60, 0xa8, 0xc3, 0x28, 0xfc, 0xc2, 0x2f, 0xdc, 0xc2, 0x1e, 0x8c, 0x18,
+  0x24, 0x00, 0x08, 0x82, 0x81, 0xb1, 0x0e, 0xa4, 0x00, 0x0e, 0xe0, 0xf0,
+  0x0a, 0x7c, 0x30, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x06, 0x3b, 0x94,
+  0x42, 0x38, 0x84, 0x03, 0x2e, 0xf4, 0xc1, 0x88, 0x41, 0x02, 0x80, 0x20,
+  0x18, 0x18, 0xed, 0x60, 0x0a, 0xe2, 0x20, 0x0e, 0xb0, 0xe0, 0x07, 0x23,
+  0x06, 0x07, 0x00, 0x82, 0x60, 0x80, 0x9d, 0x03, 0x28, 0x1c, 0xe3, 0x30,
+  0x9a, 0x10, 0x04, 0xc3, 0x11, 0x41, 0x14, 0x7c, 0xb3, 0x0c, 0x53, 0x10,
+  0x0c, 0x47, 0x08, 0x55, 0xf0, 0xcd, 0x32, 0x08, 0x43, 0x30, 0x62, 0xf0,
+  0x00, 0x20, 0x08, 0x06, 0x0d, 0x3c, 0xa4, 0x82, 0xc3, 0x28, 0x49, 0x14,
+  0x9d, 0xc3, 0x39, 0x8c, 0x42, 0x34, 0x9a, 0x10, 0x00, 0xa3, 0x09, 0x42,
+  0x30, 0x9a, 0x30, 0x08, 0xa3, 0x09, 0xc4, 0x30, 0x4b, 0x30, 0x0d, 0x47,
+  0x20, 0x79, 0x10, 0x7c, 0xb3, 0x0c, 0x44, 0x11, 0x8c, 0x18, 0x18, 0x00,
+  0x08, 0x82, 0xc1, 0x53, 0x0f, 0xb5, 0x00, 0x8d, 0x18, 0x18, 0x00, 0x08,
+  0x82, 0xc1, 0x63, 0x0f, 0xb6, 0x00, 0x8d, 0x18, 0x18, 0x00, 0x08, 0x82,
+  0xc1, 0x73, 0x0f, 0xed, 0x20, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0xc1,
+  0x83, 0x0f, 0xee, 0x20, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0xc1, 0x93,
+  0x0f, 0xba, 0x40, 0x8d, 0x18, 0x18, 0x00, 0x08, 0x82, 0xc1, 0xa3, 0x0f,
+  0xbb, 0x40, 0x8d, 0x18, 0x18, 0x00, 0x08, 0x82, 0xc1, 0xb3, 0x0f, 0xf1,
+  0x20, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0xc1, 0xc3, 0x0f, 0xf2, 0x20,
+  0x98, 0x60, 0xc0, 0xc7, 0x04, 0x03, 0x3e, 0x23, 0x06, 0x07, 0x00, 0x82,
+  0x60, 0x80, 0xed, 0x03, 0x2d, 0x6c, 0xf8, 0x30, 0x9a, 0x10, 0x08, 0xa3,
+  0x09, 0xc2, 0x60, 0x42, 0x21, 0x1f, 0x13, 0x0a, 0xf9, 0x8c, 0x18, 0x1c,
+  0x00, 0x08, 0x82, 0x41, 0x34, 0x12, 0xbb, 0x20, 0xb0, 0xc1, 0x88, 0xc1,
+  0x01, 0x80, 0x20, 0x18, 0x44, 0x24, 0xc1, 0x0b, 0x42, 0x1b, 0x8c, 0x18,
+  0x1c, 0x00, 0x08, 0x82, 0x41, 0x54, 0x12, 0xe1, 0x20, 0xa4, 0xc1, 0x88,
+  0xc1, 0x01, 0x80, 0x20, 0x18, 0x44, 0x26, 0x21, 0x0e, 0x82, 0x1a, 0x18,
+  0x32, 0x06, 0xf2, 0x31, 0x64, 0x0c, 0xe4, 0x63, 0xc4, 0x1b, 0xc8, 0xc7,
+  0x08, 0x38, 0x90, 0x8f, 0x11, 0x42, 0x7c, 0x8c, 0x10, 0xe2, 0x33, 0x62,
+  0x60, 0x00, 0x20, 0x08, 0x06, 0x8f, 0x4b, 0xc0, 0x83, 0x30, 0x62, 0x60,
+  0x00, 0x20, 0x08, 0x06, 0xcf, 0x4b, 0xc4, 0x83, 0x60, 0x42, 0x1d, 0xc0,
+  0xc7, 0x04, 0x3b, 0x80, 0xcf, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x3c,
+  0x32, 0x51, 0x0f, 0xc6, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x3c, 0x33,
+  0x61, 0x0f, 0x86, 0x39, 0x7d, 0x00, 0x1f, 0x0b, 0x06, 0xf8, 0xd8, 0xf3,
+  0x07, 0xf0, 0xb1, 0x80, 0x80, 0x8f, 0x0d, 0x12, 0x7d, 0x4c, 0x90, 0xe8,
+  0x33, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0x8f, 0x4e, 0xf8, 0x83, 0x30,
+  0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0xcf, 0x4e, 0xfc, 0x83, 0x60, 0x82,
+  0x28, 0xc8, 0xc7, 0x84, 0x51, 0x90, 0x8f, 0x95, 0x82, 0x10, 0x1f, 0x33,
+  0x05, 0x21, 0x3e, 0x66, 0x18, 0xf2, 0xb1, 0x60, 0x90, 0x8f, 0x1d, 0x87,
+  0x7c, 0x2c, 0x20, 0xe4, 0x63, 0xd4, 0x00, 0x1f, 0xa3, 0x04, 0xf8, 0x8c,
+  0x26, 0x9c, 0x01, 0x30, 0x9a, 0x80, 0x06, 0x81, 0x11, 0x82, 0x7c, 0x8c,
+  0x10, 0xe4, 0x33, 0x62, 0x50, 0x01, 0x20, 0x08, 0x06, 0x13, 0x5a, 0xbc,
+  0x44, 0x2a, 0x9c, 0x82, 0x10, 0xb0, 0x02, 0x2b, 0x88, 0x85, 0x58, 0xf8,
+  0x43, 0x1d, 0xd0, 0x01, 0x2b, 0xc4, 0x01, 0x1c, 0xb0, 0x02, 0x2b, 0x8c,
+  0x26, 0x04, 0xc0, 0x68, 0x82, 0x10, 0x8c, 0x26, 0x0c, 0xc2, 0x68, 0x02,
+  0x31, 0xcc, 0x12, 0x4c, 0xc3, 0x11, 0xa3, 0x20, 0x0b, 0xc1, 0x37, 0xcb,
+  0x60, 0x1c, 0xc1, 0x88, 0xc1, 0x03, 0x80, 0x20, 0x18, 0x34, 0x71, 0xa1,
+  0x12, 0xaf, 0xd0, 0x0a, 0xab, 0xa0, 0x0a, 0xb2, 0x20, 0x0b, 0x68, 0x81,
+  0x16, 0x24, 0x21, 0x0b, 0xa3, 0x09, 0x01, 0x30, 0x9a, 0x20, 0x04, 0xa3,
+  0x09, 0x83, 0x30, 0x4b, 0x30, 0x0d, 0x47, 0xa0, 0x82, 0x2e, 0x04, 0xdf,
+  0x2c, 0x03, 0x92, 0x04, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0xf0, 0xd4,
+  0x45, 0x4d, 0xc0, 0xc2, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x3c, 0x76,
+  0x61, 0x13, 0xb0, 0x30, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0xcf, 0x5d,
+  0xb4, 0x85, 0x30, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0x0f, 0x5e, 0xb8,
+  0x85, 0x30, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0x4f, 0x5e, 0xe8, 0x04,
+  0x2d, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0xc1, 0xa3, 0x17, 0x3b, 0x41,
+  0x0b, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0xf0, 0xec, 0x45, 0x5c, 0x08,
+  0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0xf0, 0xf0, 0x85, 0x5c, 0x08, 0x26,
+  0x18, 0xf0, 0x31, 0xc1, 0x80, 0xcf, 0x88, 0xc1, 0x01, 0x80, 0x20, 0x18,
+  0x60, 0x7b, 0x41, 0x13, 0xbb, 0x80, 0x17, 0xa3, 0x09, 0x81, 0x30, 0x9a,
+  0x20, 0x0c, 0x26, 0x14, 0xf2, 0x31, 0xa1, 0x90, 0xcf, 0x88, 0xc1, 0x01,
+  0x80, 0x20, 0x18, 0x44, 0xa3, 0xb1, 0x13, 0x02, 0x3b, 0x8c, 0x18, 0x1c,
+  0x00, 0x08, 0x82, 0x41, 0x44, 0x1a, 0x3c, 0x21, 0xb4, 0xc3, 0x88, 0xc1,
+  0x01, 0x80, 0x20, 0x18, 0x44, 0xa5, 0x11, 0x16, 0x42, 0x3a, 0x8c, 0x18,
+  0x1c, 0x00, 0x08, 0x82, 0x41, 0x64, 0x1a, 0x62, 0x21, 0xa8, 0x83, 0x21,
+  0xe3, 0x20, 0x1f, 0x43, 0xc6, 0x41, 0x3e, 0x46, 0xbc, 0x83, 0x7c, 0x8c,
+  0x80, 0x07, 0xf9, 0x18, 0x21, 0xc4, 0xc7, 0x08, 0x21, 0x3e, 0x23, 0x06,
+  0x06, 0x00, 0x82, 0x60, 0xf0, 0xb8, 0x06, 0x5c, 0x08, 0x23, 0x06, 0x06,
+  0x00, 0x82, 0x60, 0xf0, 0xbc, 0x46, 0x5c, 0x08, 0x26, 0xd4, 0x03, 0x7c,
+  0x4c, 0xb0, 0x07, 0xf8, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0xc1, 0x23,
+  0x1b, 0x75, 0x61, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0xc1, 0x33, 0x1b,
+  0x76, 0x61, 0x98, 0xd3, 0x0f, 0xf0, 0xb1, 0x60, 0x80, 0x8f, 0x3d, 0xff,
+  0x00, 0x1f, 0x0b, 0x08, 0xf8, 0xd8, 0x20, 0xd1, 0xc7, 0x04, 0x89, 0x3e,
+  0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0xf0, 0xe8, 0x86, 0x5f, 0x08, 0x23,
+  0x06, 0x06, 0x00, 0x82, 0x60, 0xf0, 0xec, 0xc6, 0x5f, 0x08, 0x26, 0x88,
+  0x84, 0x7c, 0x4c, 0x18, 0x09, 0xf9, 0x58, 0x49, 0x08, 0xf1, 0x31, 0x93,
+  0x10, 0xe2, 0x63, 0x86, 0x21, 0x1f, 0x0b, 0x06, 0xf9, 0xd8, 0x71, 0xc8,
+  0xc7, 0x02, 0x42, 0x3e, 0x46, 0x0d, 0xf0, 0x31, 0x4a, 0x80, 0xcf, 0x68,
+  0xc2, 0x19, 0x00, 0xa3, 0x09, 0x68, 0x10, 0x18, 0x21, 0xc8, 0xc7, 0x08,
+  0x41, 0x3e, 0x23, 0x06, 0x15, 0x00, 0x82, 0x60, 0x30, 0xa1, 0xc7, 0x6b,
+  0xa4, 0xc4, 0x49, 0x08, 0x01, 0x4b, 0xb0, 0x84, 0x78, 0x88, 0x87, 0x5f,
+  0xd4, 0x01, 0x1d, 0xb0, 0x44, 0x1c, 0xc0, 0x01, 0x4b, 0xb0, 0xc4, 0x68,
+  0x42, 0x00, 0x8c, 0x26, 0x08, 0xc1, 0x68, 0xc2, 0x20, 0xcc, 0x12, 0x4c,
+  0xc3, 0x11, 0x22, 0x21, 0x17, 0xc1, 0x37, 0xcb, 0xa0, 0x2c, 0xc1, 0x88,
+  0xc1, 0x03, 0x80, 0x20, 0x18, 0x34, 0xf0, 0x91, 0x1a, 0x2e, 0xc1, 0x12,
+  0x2a, 0x91, 0x12, 0x31, 0x11, 0x13, 0xe7, 0x71, 0x1e, 0xa3, 0x11, 0x13,
+  0xa3, 0x09, 0x01, 0x60, 0x41, 0x68, 0xc8, 0xc7, 0x82, 0xd0, 0x80, 0xcf,
+  0x88, 0xc1, 0x03, 0x80, 0x20, 0x18, 0x34, 0xf4, 0xd1, 0x1a, 0x33, 0x11,
+  0x13, 0x01, 0x4e, 0xd4, 0x44, 0x4d, 0xac, 0xc7, 0x7a, 0x9c, 0x46, 0x4d,
+  0x8c, 0x26, 0x04, 0xc0, 0x68, 0x82, 0x10, 0x8c, 0x26, 0x0c, 0xc2, 0x68,
+  0x02, 0x31, 0xcc, 0x12, 0x4c, 0xc3, 0x11, 0x2c, 0xb1, 0x17, 0xc1, 0x37,
+  0xcb, 0xc0, 0x34, 0xc1, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x3c, 0xf9,
+  0x91, 0x1b, 0x34, 0x31, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0x8f, 0x7e,
+  0xe8, 0x06, 0x4d, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0xc1, 0xb3, 0x1f,
+  0xf1, 0x21, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0xc1, 0xc3, 0x1f, 0xf2,
+  0x21, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0xc1, 0xd3, 0x1f, 0xbe, 0x81,
+  0x13, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0xf0, 0xf8, 0xc7, 0x6f, 0xe0,
+  0xc4, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x3c, 0xff, 0x51, 0x1f, 0xc2,
+  0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x3c, 0x20, 0x62, 0x1f, 0x82, 0x09,
+  0x06, 0x7c, 0x4c, 0x30, 0xe0, 0x33, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06,
+  0xd8, 0x7f, 0xe0, 0xc6, 0x4f, 0xf0, 0xc7, 0x68, 0x42, 0x20, 0x8c, 0x26,
+  0x08, 0x83, 0x09, 0x85, 0x7c, 0x4c, 0x28, 0xe4, 0x33, 0x62, 0x70, 0x00,
+  0x20, 0x08, 0x06, 0xd1, 0x89, 0xfc, 0x86, 0x00, 0x17, 0x23, 0x06, 0x07,
+  0x00, 0x82, 0x60, 0x10, 0xa1, 0x08, 0x78, 0x08, 0x71, 0x31, 0x62, 0x70,
+  0x00, 0x20, 0x08, 0x06, 0x51, 0x8a, 0x94, 0x87, 0xd0, 0x16, 0x23, 0x06,
+  0x07, 0x00, 0x82, 0x60, 0x10, 0xa9, 0x88, 0x79, 0x08, 0x6e, 0x61, 0xc8,
+  0x59, 0xc8, 0xc7, 0x90, 0xb3, 0x90, 0x8f, 0x11, 0x73, 0x21, 0x1f, 0x23,
+  0xe8, 0x42, 0x3e, 0x46, 0x08, 0xf1, 0x31, 0x42, 0x88, 0xcf, 0x88, 0x81,
+  0x01, 0x80, 0x20, 0x18, 0x3c, 0x32, 0x42, 0x1f, 0xc2, 0x88, 0x81, 0x01,
+  0x80, 0x20, 0x18, 0x3c, 0x33, 0x52, 0x1f, 0x82, 0x09, 0x79, 0x01, 0x1f,
+  0x13, 0xf4, 0x02, 0x3e, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0xf0, 0xd8,
+  0x48, 0x7e, 0x18, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0xf0, 0xdc, 0x88,
+  0x7e, 0x18, 0xe6, 0x84, 0x06, 0x7c, 0x2c, 0x18, 0xe0, 0x63, 0xcf, 0x68,
+  0xc0, 0xc7, 0x02, 0x02, 0x3e, 0x36, 0x48, 0xf4, 0x31, 0x41, 0xa2, 0xcf,
+  0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x3c, 0x3e, 0x22, 0x22, 0xc2, 0x88,
+  0x81, 0x01, 0x80, 0x20, 0x18, 0x3c, 0x3f, 0x32, 0x22, 0x82, 0x09, 0xa6,
+  0x21, 0x1f, 0x13, 0x4e, 0x43, 0x3e, 0x96, 0x1a, 0x42, 0x7c, 0x4c, 0x35,
+  0x84, 0xf8, 0x98, 0x61, 0xc8, 0xc7, 0x82, 0x41, 0x3e, 0x76, 0x1c, 0xf2,
+  0xb1, 0x80, 0x90, 0x8f, 0x51, 0x03, 0x7c, 0x8c, 0x12, 0xe0, 0x33, 0x9a,
+  0x70, 0x06, 0xc0, 0x68, 0x02, 0x1a, 0x04, 0x46, 0x08, 0xf2, 0x31, 0x42,
+  0x90, 0xcf, 0x88, 0x41, 0x05, 0x80, 0x20, 0x18, 0x4c, 0x6c, 0x32, 0x23,
+  0xad, 0xb1, 0x1a, 0x42, 0x00, 0x1b, 0xb0, 0x61, 0x26, 0x66, 0x22, 0x22,
+  0x75, 0x40, 0x07, 0xb0, 0x11, 0x07, 0x70, 0x00, 0x1b, 0xb0, 0x31, 0x9a,
+  0x10, 0x00, 0x16, 0x80, 0x88, 0x7c, 0x2c, 0x00, 0x11, 0xf8, 0x8c, 0x18,
+  0x3c, 0x00, 0x08, 0x82, 0x41, 0x33, 0x27, 0x2c, 0x22, 0x1b, 0xb0, 0x11,
+  0xdc, 0x06, 0x6d, 0xd0, 0x86, 0x9a, 0xa8, 0x89, 0x89, 0xd0, 0xc6, 0x68,
+  0x42, 0x00, 0x8c, 0x26, 0x08, 0xc1, 0x68, 0xc2, 0x20, 0x8c, 0x26, 0x10,
+  0xc3, 0x2c, 0xc1, 0x34, 0x1c, 0xb1, 0x1a, 0xf9, 0x11, 0x7c, 0xb3, 0x0c,
+  0xce, 0x13, 0x8c, 0x18, 0x3c, 0x00, 0x08, 0x82, 0x41, 0x93, 0x27, 0x32,
+  0x72, 0x1b, 0xb5, 0x31, 0x1b, 0xb2, 0xa1, 0x1b, 0xba, 0x01, 0x27, 0x70,
+  0xc2, 0x22, 0xba, 0x31, 0x9a, 0x10, 0x00, 0x23, 0x06, 0x0f, 0x00, 0x82,
+  0x60, 0xd0, 0xec, 0x09, 0x8d, 0xe8, 0xc6, 0x6d, 0xd4, 0x06, 0x6d, 0xf0,
+  0x06, 0x6f, 0xc8, 0x89, 0x9c, 0xb8, 0x08, 0x6f, 0x8c, 0x26, 0x04, 0xc0,
+  0x68, 0x82, 0x10, 0x8c, 0x18, 0x1c, 0x00, 0x08, 0x82, 0x01, 0x96, 0x27,
+  0x32, 0x92, 0x1b, 0x71, 0x32, 0x9a, 0x10, 0x00, 0xa3, 0x09, 0x42, 0x30,
+  0x9a, 0x30, 0x08, 0x36, 0x20, 0xf0, 0xb1, 0xe1, 0x80, 0x8f, 0x0d, 0x07,
+  0x7c, 0x46, 0x0c, 0x0e, 0x00, 0x04, 0xc1, 0x00, 0x03, 0x95, 0x1c, 0x01,
+  0x0f, 0x30, 0x19, 0x4d, 0x08, 0x80, 0xd1, 0x04, 0x21, 0x18, 0x4d, 0x18,
+  0x84, 0x11, 0x83, 0x05, 0x00, 0x41, 0x30, 0xa8, 0x4a, 0xa5, 0x4c, 0x0e,
+  0xa3, 0x18, 0x84, 0x60, 0xc4, 0xe0, 0x00, 0x40, 0x10, 0x0c, 0xb0, 0x52,
+  0xf1, 0x91, 0xf2, 0x38, 0x93, 0xd1, 0x84, 0x00, 0x18, 0x4d, 0x10, 0x82,
+  0xd1, 0x84, 0x41, 0x18, 0x31, 0x58, 0x00, 0x10, 0x04, 0x83, 0x4a, 0x55,
+  0xd4, 0x84, 0x59, 0x94, 0x41, 0x08, 0x46, 0x0c, 0x0e, 0x00, 0x04, 0xc1,
+  0x00, 0x53, 0x95, 0x31, 0x51, 0x0f, 0x52, 0x19, 0x4d, 0x08, 0x80, 0xd1,
+  0x04, 0x21, 0x18, 0x4d, 0x18, 0x84, 0x11, 0x83, 0x05, 0x00, 0x41, 0x30,
+  0xa8, 0x5e, 0xe5, 0x4d, 0x22, 0xe8, 0x19, 0x84, 0x60, 0x96, 0x60, 0x1a,
+  0x8e, 0x38, 0x0f, 0x1a, 0x09, 0xbe, 0x59, 0x06, 0x28, 0x0a, 0x46, 0x0c,
+  0x1e, 0x00, 0x04, 0xc1, 0xa0, 0xa9, 0x15, 0x37, 0x99, 0x8f, 0xf8, 0x78,
+  0x0f, 0xf7, 0xb0, 0x0f, 0xfb, 0x60, 0x15, 0x56, 0x41, 0x13, 0xfb, 0x18,
+  0x4d, 0x08, 0x80, 0x11, 0x83, 0x07, 0x00, 0x41, 0x30, 0x68, 0x6e, 0x05,
+  0x4e, 0xec, 0x63, 0x3e, 0xe2, 0x03, 0x3e, 0xf0, 0x03, 0x3f, 0x5c, 0xc5,
+  0x55, 0xd4, 0x04, 0x3f, 0x46, 0x13, 0x02, 0x60, 0x34, 0x41, 0x08, 0x46,
+  0x0c, 0x0e, 0x00, 0x04, 0xc1, 0x00, 0xab, 0x15, 0x37, 0xa9, 0x8f, 0x56,
+  0x19, 0x4d, 0x08, 0x80, 0xd1, 0x04, 0x21, 0x18, 0x4d, 0x18, 0x04, 0x1b,
+  0x10, 0xf8, 0xd8, 0x60, 0xc0, 0xc7, 0x06, 0x04, 0x3e, 0x23, 0x06, 0x07,
+  0x00, 0x82, 0x60, 0x80, 0xf1, 0x4a, 0x9d, 0xf0, 0x07, 0x9f, 0x8c, 0x26,
+  0x04, 0xc0, 0x68, 0x82, 0x10, 0x8c, 0x26, 0x0c, 0xc2, 0x88, 0xc1, 0x02,
+  0x80, 0x20, 0x18, 0x54, 0xe1, 0x12, 0x2a, 0x87, 0x51, 0x0c, 0x42, 0x30,
+  0x62, 0x70, 0x00, 0x20, 0x08, 0x06, 0x58, 0xb8, 0xe8, 0x49, 0x88, 0x8c,
+  0xca, 0x68, 0x42, 0x00, 0x8c, 0x26, 0x08, 0xc1, 0x68, 0xc2, 0x20, 0x8c,
+  0x18, 0x2c, 0x00, 0x08, 0x82, 0x41, 0x65, 0x2e, 0xa6, 0xc2, 0x2c, 0xca,
+  0x20, 0x04, 0x23, 0x06, 0x07, 0x00, 0x82, 0x60, 0x80, 0x99, 0xcb, 0x9f,
+  0x98, 0x08, 0xb8, 0x8c, 0x26, 0x04, 0xc0, 0x68, 0x82, 0x10, 0x8c, 0x26,
+  0x0c, 0xc2, 0x88, 0xc1, 0x02, 0x80, 0x20, 0x18, 0x54, 0xeb, 0xb2, 0x2a,
+  0x11, 0xf4, 0x0c, 0x42, 0x30, 0x4b, 0x30, 0x0d, 0x47, 0x8c, 0xc8, 0x9b,
+  0x04, 0xdf, 0x2c, 0x83, 0x34, 0x05, 0x23, 0x06, 0x0f, 0x00, 0x82, 0x60,
+  0xd0, 0xc4, 0x8b, 0xaa, 0xbc, 0x48, 0x8b, 0xac, 0x88, 0x8a, 0xc8, 0x88,
+  0x8c, 0xa0, 0x0b, 0xba, 0x90, 0x8a, 0x8c, 0x8c, 0x26, 0x04, 0xc0, 0x88,
+  0xc1, 0x03, 0x80, 0x20, 0x18, 0x34, 0xf3, 0xc2, 0x2a, 0x32, 0xf2, 0x22,
+  0x2d, 0xc2, 0x22, 0x34, 0x42, 0x23, 0xea, 0xa2, 0x2e, 0xa6, 0x42, 0x23,
+  0xa3, 0x09, 0x01, 0x30, 0x62, 0xf0, 0x00, 0x20, 0x08, 0x06, 0x4d, 0xbd,
+  0xb8, 0x4a, 0x8d, 0xc4, 0xc8, 0x8b, 0xb8, 0x88, 0x8d, 0xd8, 0x08, 0xbb,
+  0xb0, 0x0b, 0xaa, 0xd8, 0xc8, 0x68, 0x42, 0x00, 0x8c, 0x18, 0x1c, 0x00,
+  0x08, 0x82, 0x01, 0x26, 0x2f, 0xab, 0x22, 0x23, 0xea, 0x32, 0x9a, 0x10,
+  0x00, 0xa3, 0x09, 0x42, 0x30, 0x9a, 0x30, 0x08, 0x36, 0x24, 0xf0, 0xb1,
+  0x01, 0x81, 0x8f, 0x0d, 0x07, 0x7c, 0x46, 0x0c, 0x0e, 0x00, 0x04, 0xc1,
+  0x00, 0xcb, 0x17, 0x59, 0xc9, 0x91, 0x5c, 0x19, 0x4d, 0x08, 0x80, 0xd1,
+  0x04, 0x21, 0x18, 0x4d, 0x18, 0x84, 0x11, 0x83, 0x05, 0x00, 0x41, 0x30,
+  0xa8, 0xfc, 0xc5, 0x57, 0x0e, 0xa3, 0x18, 0x84, 0x60, 0xc4, 0xe0, 0x00,
+  0x40, 0x10, 0x0c, 0x30, 0x7f, 0xb9, 0x15, 0x1f, 0x01, 0x97, 0xd1, 0x84,
+  0x00, 0x18, 0x4d, 0x10, 0x82, 0xd1, 0x84, 0x41, 0x18, 0x31, 0x58, 0x00,
+  0x10, 0x04, 0x83, 0x6a, 0x64, 0xc6, 0x85, 0x59, 0x94, 0x41, 0x08, 0x46,
+  0x0c, 0x0e, 0x00, 0x04, 0xc1, 0x00, 0x1b, 0x19, 0x5e, 0x19, 0x93, 0x7e,
+  0x19, 0x4d, 0x08, 0x80, 0xd1, 0x04, 0x21, 0x18, 0x4d, 0x18, 0x84, 0x11,
+  0x83, 0x05, 0x00, 0x41, 0x30, 0xa8, 0x50, 0x06, 0x5d, 0x22, 0xe8, 0x19,
+  0x84, 0x60, 0x96, 0x60, 0x1a, 0xe8, 0x1a, 0x7c, 0x09, 0xc0, 0x23, 0x41,
+  0x74, 0x08, 0xbb, 0x31, 0x44, 0x05, 0x81, 0x13, 0x45, 0x2e, 0x18, 0x94,
+  0x70, 0x60, 0x01, 0xb2, 0x24, 0x5f, 0x8a, 0x06, 0xba, 0x06, 0x70, 0x02,
+  0xf0, 0x48, 0x10, 0x1d, 0xc2, 0x6e, 0x0c, 0x51, 0x41, 0xe0, 0x44, 0x91,
+  0x0b, 0x06, 0x24, 0x1c, 0x54, 0x80, 0x1c, 0x49, 0x9c, 0xa2, 0x81, 0xae,
+  0x41, 0x9c, 0x00, 0x3c, 0x12, 0x44, 0x87, 0xb0, 0x1b, 0x43, 0x54, 0x10,
+  0x38, 0x51, 0xe4, 0x82, 0xc1, 0x07, 0x07, 0x14, 0x20, 0x43, 0x22, 0xa7,
+  0x68, 0xa0, 0x6b, 0x20, 0x27, 0x00, 0x8f, 0x04, 0xd1, 0x21, 0xc8, 0xc9,
+  0x20, 0x27, 0x04, 0x4e, 0x14, 0xb9, 0x60, 0xc8, 0xc9, 0x21, 0x27, 0x88,
+  0x9c, 0x24, 0x72, 0x8a, 0x46, 0x13, 0xca, 0x44, 0x18, 0x8e, 0x08, 0xf0,
+  0x24, 0xf8, 0x66, 0x19, 0xa8, 0x2a, 0x18, 0x31, 0x30, 0x00, 0x10, 0x04,
+  0x83, 0x47, 0x66, 0x50, 0xc6, 0x18, 0x31, 0x30, 0x00, 0x10, 0x04, 0x83,
+  0x67, 0x66, 0x52, 0xc6, 0x18, 0x31, 0x30, 0x00, 0x10, 0x04, 0x83, 0x87,
+  0x66, 0x54, 0xc6, 0x18, 0x31, 0x30, 0x00, 0x10, 0x04, 0x83, 0xa7, 0x66,
+  0xda, 0x65, 0x18, 0x31, 0x30, 0x00, 0x10, 0x04, 0x83, 0xc7, 0x66, 0xdc,
+  0x65, 0x18, 0x31, 0x30, 0x00, 0x10, 0x04, 0x83, 0xe7, 0x66, 0xde, 0x65,
+  0xb0, 0xe1, 0x54, 0xe4, 0x63, 0x03, 0xaa, 0xc8, 0xc7, 0x86, 0x54, 0x91,
+  0xcf, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x3c, 0x3b, 0x43, 0x2f, 0xc3,
+  0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x3c, 0x3c, 0x53, 0x2f, 0xc3, 0x88,
+  0x81, 0x01, 0x80, 0x20, 0x18, 0x3c, 0x3d, 0x63, 0x2f, 0x83, 0x0d, 0xae,
+  0x02, 0x1f, 0x1b, 0x5e, 0x05, 0x3e, 0x36, 0xc0, 0x0a, 0x7c, 0x46, 0x0c,
+  0x0e, 0x00, 0x04, 0xc1, 0x20, 0x02, 0x1b, 0x7c, 0x19, 0x4a, 0x65, 0xc4,
+  0xe0, 0x00, 0x40, 0x10, 0x0c, 0xa2, 0xb0, 0xc9, 0x97, 0xc1, 0x54, 0x46,
+  0x0c, 0x0e, 0x00, 0x04, 0xc1, 0x20, 0x12, 0x1b, 0x7d, 0x19, 0x4e, 0xc5,
+  0x92, 0x5a, 0x91, 0x8f, 0x25, 0xb6, 0x22, 0x1f, 0x4b, 0x6e, 0x45, 0x3e,
+  0x96, 0x2b, 0x43, 0x7c, 0x4c, 0x57, 0x86, 0xf8, 0xd8, 0xae, 0x0c, 0xf1,
+  0xb1, 0x64, 0xa0, 0x8f, 0x25, 0x03, 0x7d, 0x2c, 0x19, 0xe8, 0x33, 0x62,
+  0x60, 0x00, 0x20, 0x08, 0x06, 0x4f, 0xdb, 0x8c, 0xcd, 0x30, 0x62, 0x60,
+  0x00, 0x20, 0x08, 0x06, 0x8f, 0xdb, 0x90, 0xcd, 0x30, 0x62, 0x60, 0x00,
+  0x20, 0x08, 0x06, 0xcf, 0xdb, 0x94, 0xcd, 0x30, 0x62, 0x60, 0x00, 0x20,
+  0x08, 0x06, 0x0f, 0xdc, 0xa0, 0xcc, 0x30, 0x62, 0x60, 0x00, 0x20, 0x08,
+  0x06, 0x4f, 0xdc, 0xa4, 0xcc, 0x30, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06,
+  0x8f, 0xdc, 0xa8, 0xcc, 0x60, 0x83, 0xb9, 0xc8, 0xc7, 0x86, 0x73, 0x91,
+  0x8f, 0x0d, 0xe8, 0x22, 0x9f, 0x11, 0x03, 0x03, 0x00, 0x41, 0x30, 0x78,
+  0xec, 0xe6, 0x65, 0x86, 0x11, 0x03, 0x03, 0x00, 0x41, 0x30, 0x78, 0xee,
+  0x06, 0x66, 0x86, 0x11, 0x03, 0x03, 0x00, 0x41, 0x30, 0x78, 0xf0, 0x26,
+  0x66, 0x06, 0x1b, 0xda, 0x45, 0x3e, 0x36, 0xb8, 0x8b, 0x7c, 0x6c, 0x78,
+  0x17, 0xf9, 0x8c, 0x18, 0x1c, 0x00, 0x08, 0x82, 0x01, 0x86, 0x37, 0x31,
+  0x83, 0x2b, 0x71, 0x33, 0x9a, 0x10, 0x0c, 0x56, 0x04, 0xf4, 0xb1, 0x42,
+  0xa0, 0x8f, 0x15, 0x03, 0x7d, 0x66, 0x09, 0xaa, 0x81, 0x8a, 0xc1, 0xa0,
+  0xd4, 0x61, 0x1a, 0xa8, 0x18, 0x0c, 0x4a, 0x1d, 0xa6, 0x81, 0x8a, 0xc1,
+  0xa0, 0xd4, 0x61, 0x1a, 0x31, 0x38, 0x00, 0x10, 0x04, 0x03, 0x0c, 0x74,
+  0x72, 0x06, 0x5c, 0xf2, 0x66, 0x34, 0x21, 0x00, 0x86, 0x23, 0x02, 0x75,
+  0x71, 0xbe, 0x59, 0x06, 0xeb, 0x0b, 0x86, 0x23, 0x04, 0x75, 0x09, 0xbe,
+  0x59, 0x86, 0x0b, 0x0b, 0x46, 0x13, 0x88, 0xc0, 0x02, 0x44, 0x3e, 0x26,
+  0x20, 0xf2, 0xb1, 0x01, 0x91, 0xcf, 0x2c, 0xc1, 0x37, 0x1c, 0x71, 0xc8,
+  0x4b, 0xf0, 0xcd, 0x32, 0x64, 0x5f, 0x30, 0x1c, 0xd1, 0x07, 0xf3, 0x12,
+  0x7c, 0xb3, 0x0c, 0xda, 0x16, 0x58, 0xd3, 0x32, 0xf2, 0x19, 0x31, 0x40,
+  0x00, 0x10, 0x04, 0x03, 0x4d, 0x75, 0xca, 0xa6, 0x65, 0x9a, 0x60, 0xc4,
+  0x00, 0x01, 0x40, 0x10, 0x0c, 0xb4, 0xd5, 0x31, 0x9b, 0x96, 0x69, 0x02,
+  0x83, 0x5a, 0x46, 0x3e, 0x23, 0x06, 0x08, 0x00, 0x82, 0x60, 0xa0, 0xb5,
+  0x0e, 0xda, 0xb4, 0x0c, 0x14, 0x8c, 0x18, 0x20, 0x00, 0x08, 0x82, 0x81,
+  0xe6, 0x3a, 0x69, 0xd3, 0x32, 0x50, 0x60, 0x53, 0xcb, 0xc8, 0x67, 0xc4,
+  0x00, 0x01, 0x40, 0x10, 0x0c, 0x34, 0xd8, 0x59, 0x9b, 0x96, 0x99, 0x82,
+  0x11, 0x03, 0x04, 0x00, 0x41, 0x30, 0xd0, 0x62, 0x87, 0x6d, 0x5a, 0x66,
+  0x0a, 0x66, 0x09, 0xb6, 0x81, 0x8a, 0xc1, 0xd1, 0xd8, 0x20, 0x1b, 0xa8,
+  0x18, 0x14, 0x8d, 0x0d, 0xb2, 0x81, 0x8a, 0xc1, 0xd0, 0xd8, 0x20, 0x1b,
+  0x31, 0x38, 0x00, 0x10, 0x04, 0x83, 0x28, 0x77, 0xe2, 0x46, 0x08, 0x46,
+  0x0c, 0x0e, 0x00, 0x04, 0xc1, 0x20, 0xd2, 0x1d, 0xb9, 0x21, 0x82, 0xe1,
+  0x88, 0x00, 0x64, 0x84, 0x6f, 0x96, 0x81, 0xeb, 0x82, 0xd1, 0x84, 0x2c,
+  0xb0, 0x21, 0x90, 0x8f, 0x05, 0x22, 0x03, 0x9f, 0xd1, 0x04, 0x4e, 0x30,
+  0x23, 0x90, 0x8f, 0x05, 0x25, 0x03, 0x1f, 0x23, 0x02, 0xfa, 0x58, 0xd0,
+  0xc8, 0xc7, 0x84, 0x46, 0x3e, 0x36, 0x34, 0xf2, 0x99, 0x25, 0xe8, 0x06,
+  0x2a, 0x06, 0x83, 0x03, 0x83, 0x6d, 0xa0, 0x62, 0x30, 0x38, 0x30, 0xd8,
+  0x06, 0x2a, 0x06, 0x83, 0x03, 0x83, 0x6d, 0x96, 0xc1, 0xfb, 0x3a, 0x1b,
+  0xf0, 0x46, 0x3e, 0x23, 0x06, 0x08, 0x00, 0x82, 0x60, 0xa0, 0x99, 0x4f,
+  0xe8, 0xe0, 0xcd, 0x10, 0x8c, 0x18, 0x20, 0x00, 0x08, 0x82, 0x81, 0x76,
+  0x3e, 0xa2, 0x83, 0x37, 0x43, 0x60, 0x06, 0xde, 0xc8, 0x67, 0xc4, 0x00,
+  0x01, 0x40, 0x10, 0x0c, 0xb4, 0xf4, 0x21, 0x1d, 0xbc, 0x31, 0x82, 0x11,
+  0x03, 0x04, 0x00, 0x41, 0x30, 0xd0, 0xd4, 0xa7, 0x74, 0xf0, 0xc6, 0x08,
+  0x2c, 0xc1, 0x1b, 0xf9, 0x8c, 0x18, 0x20, 0x00, 0x08, 0x82, 0x81, 0xc6,
+  0x3e, 0xa7, 0x83, 0x37, 0x49, 0x30, 0x62, 0x80, 0x00, 0x20, 0x08, 0x06,
+  0x5a, 0xfb, 0xa0, 0x0e, 0xde, 0x24, 0xc1, 0x2c, 0xc1, 0x37, 0xd0, 0x32,
+  0x90, 0x43, 0x45, 0x0b, 0x97, 0xe3, 0x61, 0x1d, 0x39, 0x60, 0x03, 0x2d,
+  0x03, 0x39, 0x54, 0xb4, 0x70, 0x29, 0x1e, 0xd6, 0x91, 0x03, 0x36, 0xd0,
+  0x32, 0x90, 0x43, 0x45, 0x0b, 0x97, 0xe1, 0x61, 0x1d, 0x39, 0x60, 0xc3,
+  0x11, 0xe6, 0x90, 0x33, 0xc1, 0x37, 0xcb, 0x00, 0x06, 0x6b, 0x10, 0x8c,
+  0x26, 0xb0, 0x0c, 0x30, 0x1c, 0x11, 0xf0, 0x8c, 0xf3, 0xcd, 0x32, 0x84,
+  0x81, 0x1a, 0x04, 0xc3, 0x11, 0x86, 0xdb, 0x28, 0xdf, 0x2c, 0xc3, 0x18,
+  0x88, 0x41, 0x60, 0x07, 0xdc, 0xc8, 0x67, 0x96, 0x80, 0x0c, 0x0c, 0x71,
+  0x1d, 0xf8, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0xc1, 0xc3, 0x3f, 0xf2,
+  0x13, 0x58, 0xf0, 0x3a, 0xf2, 0x19, 0x31, 0x30, 0x00, 0x10, 0x04, 0x83,
+  0xc7, 0x7f, 0x6c, 0x27, 0xb0, 0x00, 0x76, 0xe4, 0x33, 0x62, 0x60, 0x00,
+  0x20, 0x08, 0x06, 0x0f, 0x08, 0xe5, 0x4e, 0x30, 0x4b, 0x40, 0x06, 0x03,
+  0x15, 0x83, 0x23, 0x06, 0xc2, 0x18, 0x0c, 0x47, 0x38, 0x77, 0xa3, 0x7c,
+  0xb3, 0x0c, 0x66, 0x50, 0x06, 0x81, 0x3d, 0x79, 0x23, 0x9f, 0x59, 0x82,
+  0x33, 0x30, 0xe8, 0x76, 0xe0, 0x33, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06,
+  0x4f, 0x09, 0xed, 0x4f, 0x60, 0x01, 0xee, 0xc8, 0x67, 0xc4, 0xc0, 0x00,
+  0x40, 0x10, 0x0c, 0x9e, 0x13, 0xfa, 0x9d, 0xc0, 0x82, 0xdc, 0x91, 0xcf,
+  0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x3c, 0x29, 0x24, 0x3e, 0xc1, 0x2c,
+  0xc1, 0x19, 0x0c, 0x54, 0x0c, 0x4e, 0x19, 0x08, 0x66, 0x30, 0x1c, 0x61,
+  0x81, 0x8e, 0xf2, 0xcd, 0x32, 0xa4, 0x01, 0x1a, 0x04, 0x76, 0x89, 0x8e,
+  0x7c, 0x66, 0x09, 0xd4, 0xc0, 0x30, 0xf0, 0x81, 0xcf, 0x88, 0x81, 0x01,
+  0x80, 0x20, 0x18, 0x3c, 0x2e, 0x44, 0x42, 0x81, 0x05, 0xe1, 0x23, 0x9f,
+  0x11, 0x03, 0x03, 0x00, 0x41, 0x30, 0x78, 0x60, 0x08, 0x7d, 0x02, 0x0b,
+  0xc4, 0x47, 0x3e, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0xf0, 0xc8, 0xd0,
+  0xfa, 0x04, 0xb3, 0x04, 0x6a, 0x30, 0xd0, 0x31, 0x90, 0x41, 0x1a, 0x90,
+  0x01, 0x1a, 0x80, 0x02, 0x18, 0x0c, 0x74, 0x0c, 0x54, 0x1a, 0x50, 0x68,
+  0x00, 0x0a, 0x60, 0x30, 0xd0, 0x31, 0x18, 0x69, 0x20, 0xa1, 0x01, 0x28,
+  0x80, 0xc1, 0x68, 0xc2, 0xda, 0x0c, 0x46, 0x04, 0xf2, 0x31, 0x42, 0x90,
+  0x8f, 0x11, 0x83, 0x7c, 0x66, 0x09, 0x48, 0x61, 0x38, 0x42, 0x25, 0x40,
+  0x27, 0xf8, 0x46, 0x13, 0xe0, 0x66, 0x98, 0x65, 0x60, 0x83, 0x3b, 0x10,
+  0x2c, 0x0d, 0x02, 0xf9, 0x58, 0x1a, 0x08, 0xf2, 0xb1, 0x34, 0x18, 0xe4,
+  0x33, 0x9a, 0x40, 0x37, 0xc0, 0x70, 0x44, 0x40, 0x3a, 0xce, 0x37, 0xcb,
+  0x40, 0x0a, 0x6d, 0x10, 0x0c, 0x47, 0x14, 0xab, 0xa3, 0x7c, 0xb3, 0x0c,
+  0x6f, 0xe0, 0x06, 0x81, 0x19, 0xad, 0x23, 0x9f, 0x59, 0x02, 0x38, 0x18,
+  0x31, 0x30, 0x00, 0x10, 0x04, 0x83, 0x67, 0x8c, 0x72, 0xe8, 0x18, 0x31,
+  0x30, 0x00, 0x10, 0x04, 0x83, 0x87, 0x8c, 0xf8, 0x27, 0xb0, 0x20, 0x76,
+  0xe4, 0x33, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0x8f, 0x19, 0xfd, 0x4f,
+  0x60, 0x01, 0xed, 0xc8, 0xc7, 0x02, 0xdb, 0x81, 0xcf, 0x2c, 0x01, 0x1c,
+  0x0c, 0x54, 0x0c, 0x8e, 0x1b, 0x08, 0x6f, 0x30, 0x1c, 0xd1, 0xd0, 0x8e,
+  0xf2, 0xcd, 0x32, 0xc8, 0x41, 0x1c, 0x04, 0xe6, 0xd8, 0x8e, 0x7c, 0x66,
+  0x09, 0xe6, 0x60, 0xc4, 0xc0, 0x00, 0x40, 0x10, 0x0c, 0x1e, 0x36, 0x12,
+  0xa3, 0x67, 0xc4, 0xc0, 0x00, 0x40, 0x10, 0x0c, 0x9e, 0x36, 0x2a, 0xa1,
+  0xc0, 0x02, 0xdd, 0x91, 0xcf, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x3c,
+  0x6f, 0x84, 0x42, 0x81, 0x05, 0xbd, 0x23, 0x1f, 0x0b, 0x7e, 0x07, 0x3e,
+  0xb3, 0x04, 0x73, 0x30, 0x50, 0x31, 0x38, 0x71, 0x20, 0xc8, 0xc1, 0x70,
+  0x44, 0xd5, 0x3b, 0xca, 0x37, 0xcb, 0x50, 0x07, 0x74, 0x10, 0x98, 0xf5,
+  0x3b, 0xf2, 0x99, 0x25, 0xb0, 0x83, 0x11, 0x03, 0x03, 0x00, 0x41, 0x30,
+  0x78, 0xea, 0x68, 0x8d, 0xae, 0x11, 0x03, 0x03, 0x00, 0x41, 0x30, 0x78,
+  0xec, 0xc8, 0x85, 0x02, 0x0b, 0xc6, 0x47, 0x3e, 0x23, 0x06, 0x06, 0x00,
+  0x82, 0x60, 0xf0, 0xe0, 0x51, 0x0c, 0x05, 0x16, 0x98, 0x8f, 0x7c, 0x2c,
+  0x40, 0x1f, 0xf8, 0xcc, 0x12, 0xd8, 0xc1, 0x40, 0xc5, 0xe0, 0xd0, 0x81,
+  0x50, 0x07, 0x23, 0x06, 0x07, 0x00, 0x82, 0x60, 0x10, 0xed, 0xd1, 0x0c,
+  0x4d, 0xe0, 0x33, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06, 0x11, 0x1f, 0xd1,
+  0xd0, 0x12, 0x3e, 0x23, 0x06, 0x07, 0x00, 0x82, 0x60, 0x10, 0xf5, 0x51,
+  0x0d, 0x0d, 0xe2, 0x33, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06, 0x91, 0x1f,
+  0xe9, 0xd0, 0x20, 0x3e, 0x23, 0x06, 0x07, 0x00, 0x82, 0x60, 0x10, 0xfd,
+  0xd1, 0x0e, 0x0d, 0xe3, 0x33, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06, 0x11,
+  0x28, 0xf1, 0xd0, 0x40, 0x3e, 0xb3, 0x04, 0xa4, 0x30, 0xcb, 0x80, 0x07,
+  0xa3, 0x10, 0x17, 0xf6, 0x0a, 0x30, 0x24, 0x9f, 0x11, 0x03, 0x04, 0x00,
+  0x41, 0x30, 0xd0, 0xfc, 0x28, 0x87, 0x60, 0xe8, 0x15, 0x82, 0x11, 0x03,
+  0x04, 0x00, 0x41, 0x30, 0xd0, 0xfe, 0x48, 0x87, 0x60, 0xe8, 0x15, 0x02,
+  0x93, 0x05, 0x18, 0x92, 0xcf, 0x88, 0x01, 0x02, 0x80, 0x20, 0x18, 0x68,
+  0xa1, 0xc4, 0x43, 0x30, 0x24, 0x0b, 0xc1, 0x88, 0x01, 0x02, 0x80, 0x20,
+  0x18, 0x68, 0xa2, 0xd4, 0x43, 0x30, 0x24, 0x0b, 0x81, 0xd5, 0x02, 0x0c,
+  0xc9, 0x67, 0xc4, 0x00, 0x01, 0x40, 0x10, 0x0c, 0x34, 0x52, 0xfa, 0x21,
+  0x18, 0xaa, 0x85, 0x60, 0xc4, 0x00, 0x01, 0x40, 0x10, 0x0c, 0xb4, 0x52,
+  0x02, 0x23, 0x18, 0xaa, 0x85, 0xc0, 0x0e, 0x38, 0x90, 0x8f, 0x15, 0x71,
+  0x20, 0x1f, 0x1b, 0xe4, 0x40, 0x3e, 0xa3, 0x09, 0xe3, 0x03, 0x0c, 0x47,
+  0x04, 0xf3, 0xe3, 0x7c, 0xb3, 0x0c, 0xa4, 0x90, 0x07, 0xc1, 0x70, 0x44,
+  0xa1, 0x3f, 0xca, 0x37, 0xcb, 0xb0, 0x07, 0x7a, 0x10, 0x98, 0xc1, 0x3f,
+  0xf2, 0x99, 0x25, 0xe0, 0x83, 0x11, 0x03, 0x03, 0x00, 0x41, 0x30, 0x78,
+  0x64, 0x09, 0x95, 0x8e, 0x11, 0x03, 0x03, 0x00, 0x41, 0x30, 0x78, 0x66,
+  0x69, 0x8d, 0x02, 0x0b, 0x40, 0x48, 0x3e, 0x23, 0x06, 0x06, 0x00, 0x82,
+  0x60, 0xf0, 0xd4, 0x92, 0x1b, 0x05, 0x16, 0x8c, 0x90, 0x7c, 0x2c, 0x28,
+  0x21, 0xf8, 0xcc, 0x12, 0xf0, 0xc1, 0x40, 0xc5, 0xe0, 0xe8, 0x81, 0xb0,
+  0x07, 0xc3, 0x11, 0xcd, 0x08, 0x29, 0xdf, 0x2c, 0x83, 0x1f, 0xf4, 0x41,
+  0x60, 0x4e, 0x09, 0xc9, 0x67, 0x96, 0xe0, 0x0f, 0x46, 0x0c, 0x0c, 0x00,
+  0x04, 0xc1, 0xe0, 0xd9, 0xa5, 0x58, 0x7a, 0x46, 0x0c, 0x0c, 0x00, 0x04,
+  0xc1, 0xe0, 0xe1, 0x25, 0x3a, 0x0a, 0x2c, 0x48, 0x21, 0xf9, 0x8c, 0x18,
+  0x18, 0x00, 0x08, 0x82, 0xc1, 0xe3, 0x4b, 0x77, 0x14, 0x58, 0xc0, 0x42,
+  0xf2, 0xb1, 0xc0, 0x85, 0xe0, 0x33, 0x4b, 0xf0, 0x07, 0x03, 0x15, 0x83,
+  0xd3, 0x07, 0x82, 0x1f, 0x0c, 0x47, 0x54, 0x2c, 0xa4, 0x7c, 0xb3, 0x0c,
+  0xa1, 0x00, 0x0a, 0x81, 0x59, 0x2e, 0x24, 0x9f, 0x59, 0x02, 0x51, 0x18,
+  0x31, 0x30, 0x00, 0x10, 0x04, 0x83, 0x87, 0x9c, 0x74, 0xe9, 0x1a, 0x31,
+  0x30, 0x00, 0x10, 0x04, 0x83, 0xa7, 0x9c, 0xfa, 0x28, 0xb0, 0x40, 0x86,
+  0xe4, 0x33, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0xcf, 0x39, 0x81, 0x52,
+  0x60, 0x41, 0x0d, 0xc9, 0xc7, 0x82, 0x1b, 0x82, 0xcf, 0x2c, 0x81, 0x28,
+  0x0c, 0x54, 0x0c, 0x0e, 0x28, 0x08, 0xa1, 0x30, 0x62, 0x70, 0x00, 0x20,
+  0x08, 0x06, 0x91, 0x3a, 0x89, 0xd2, 0xf4, 0x42, 0x23, 0x06, 0x07, 0x00,
+  0x82, 0x60, 0x10, 0xad, 0xd3, 0x28, 0x2d, 0x30, 0x34, 0x62, 0x70, 0x00,
+  0x20, 0x08, 0x06, 0x11, 0x3b, 0x91, 0xd2, 0x10, 0x43, 0x23, 0x06, 0x07,
+  0x00, 0x82, 0x60, 0x10, 0xb5, 0x53, 0x2a, 0x0d, 0x31, 0x34, 0x62, 0x70,
+  0x00, 0x20, 0x08, 0x06, 0x91, 0x3b, 0xa9, 0xd2, 0x20, 0x43, 0x23, 0x06,
+  0x07, 0x00, 0x82, 0x60, 0x10, 0xbd, 0xd3, 0x2a, 0x0d, 0x33, 0x34, 0x4b,
+  0x40, 0x0a, 0xe6, 0x0f, 0xb6, 0x20, 0x1f, 0xf3, 0x87, 0x5b, 0x90, 0x8f,
+  0xf9, 0x03, 0x2e, 0xc8, 0x67, 0x96, 0x80, 0x14, 0x06, 0x6a, 0x06, 0xbd,
+  0x50, 0x03, 0x63, 0x14, 0xd4, 0xc1, 0x0e, 0xe0, 0x82, 0x0d, 0x18, 0x51,
+  0x90, 0x05, 0x3c, 0x18, 0xa8, 0x19, 0xf4, 0x42, 0x0d, 0x8c, 0x51, 0x50,
+  0x07, 0x3b, 0x80, 0x0b, 0x36, 0x60, 0x44, 0x41, 0x16, 0xf0, 0x60, 0xa0,
+  0x66, 0xd0, 0x0b, 0x35, 0x30, 0x46, 0x41, 0x1d, 0xec, 0x00, 0x2e, 0xd8,
+  0x80, 0x11, 0x05, 0x59, 0xc0, 0x03, 0x1b, 0x60, 0x48, 0x3e, 0x36, 0xc0,
+  0x90, 0x7c, 0x6c, 0x80, 0x21, 0xf9, 0xd8, 0x7a, 0xc0, 0x90, 0x7c, 0x46,
+  0x0c, 0x12, 0x00, 0x04, 0xc1, 0x00, 0xe9, 0xa7, 0x5c, 0x9a, 0xa7, 0x79,
+  0x5a, 0x27, 0x62, 0xc4, 0x20, 0x01, 0x40, 0x10, 0x0c, 0x90, 0x7e, 0xca,
+  0xa5, 0x79, 0x9a, 0x27, 0x71, 0x1a, 0x46, 0x0c, 0x12, 0x00, 0x04, 0xc1,
+  0x00, 0xe9, 0xa7, 0x5c, 0x9a, 0xa7, 0x79, 0x52, 0x27, 0x61, 0xc4, 0x20,
+  0x01, 0x40, 0x10, 0x0c, 0x90, 0x7e, 0xca, 0xa5, 0x79, 0x9a, 0xa7, 0x70,
+  0x0a, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+static const unsigned int texture_advanced_frag_dxil_len = 9956;

+ 282 - 0
src/render/gpu/shaders/texture_advanced.frag.hlsl

@@ -0,0 +1,282 @@
+
+cbuffer Constants : register(b0, space3)
+{
+    float scRGB_output;
+    float texture_type;
+    float input_type;
+    float color_scale;
+    float4 texel_size;
+
+    float tonemap_method;
+    float tonemap_factor1;
+    float tonemap_factor2;
+    float sdr_white_point;
+
+    float4 Yoffset;
+    float4 Rcoeff;
+    float4 Gcoeff;
+    float4 Bcoeff;
+};
+
+Texture2D texture0 : register(t0, space2);
+Texture2D texture1 : register(t1, space2);
+Texture2D texture2 : register(t2, space2);
+SamplerState sampler0 : register(s0, space2);
+SamplerState sampler1 : register(s1, space2);
+
+struct PSInput {
+    float4 v_color : COLOR0;
+    float2 v_uv : TEXCOORD0;
+};
+
+struct PSOutput {
+    float4 o_color : SV_Target;
+};
+
+// These should mirror the definitions in SDL_render_gpu.c
+static const float TONEMAP_NONE = 0;
+static const float TONEMAP_LINEAR = 1;
+static const float TONEMAP_CHROME = 2;
+
+static const float TEXTURETYPE_NONE = 0;
+static const float TEXTURETYPE_RGB = 1;
+static const float TEXTURETYPE_RGB_PIXELART = 2;
+static const float TEXTURETYPE_RGBA = 3;
+static const float TEXTURETYPE_RGBA_PIXELART = 4;
+static const float TEXTURETYPE_PALETTE = 5;
+static const float TEXTURETYPE_PALETTE_PIXELART = 6;
+static const float TEXTURETYPE_NV12 = 7;
+static const float TEXTURETYPE_NV21 = 8;
+static const float TEXTURETYPE_YUV = 9;
+
+static const float INPUTTYPE_UNSPECIFIED = 0;
+static const float INPUTTYPE_SRGB = 1;
+static const float INPUTTYPE_SCRGB = 2;
+static const float INPUTTYPE_HDR10 = 3;
+
+static const float3x3 mat709to2020 = {
+    { 0.627404, 0.329283, 0.043313 },
+    { 0.069097, 0.919541, 0.011362 },
+    { 0.016391, 0.088013, 0.895595 }
+};
+
+static const float3x3 mat2020to709 = {
+    { 1.660496, -0.587656, -0.072840 },
+    { -0.124547, 1.132895, -0.008348 },
+    { -0.018154, -0.100597, 1.118751 }
+};
+
+float sRGBtoLinear(float v)
+{
+    if (v <= 0.04045) {
+        v = (v / 12.92);
+    } else {
+        v = pow(abs(v + 0.055) / 1.055, 2.4);
+    }
+    return v;
+}
+
+float sRGBfromLinear(float v)
+{
+    if (v <= 0.0031308) {
+        v = (v * 12.92);
+    } else {
+        v = (pow(abs(v), 1.0 / 2.4) * 1.055 - 0.055);
+    }
+    return v;
+}
+
+float3 PQtoLinear(float3 v)
+{
+    const float c1 = 0.8359375;
+    const float c2 = 18.8515625;
+    const float c3 = 18.6875;
+    const float oo_m1 = 1.0 / 0.1593017578125;
+    const float oo_m2 = 1.0 / 78.84375;
+
+    float3 num = max(pow(abs(v), oo_m2) - c1, 0.0);
+    float3 den = c2 - c3 * pow(abs(v), oo_m2);
+    return (10000.0 * pow(abs(num / den), oo_m1) / sdr_white_point);
+}
+
+float3 ApplyTonemap(float3 v)
+{
+    if (tonemap_method == TONEMAP_LINEAR) {
+        v *= tonemap_factor1;
+    } else if (tonemap_method == TONEMAP_CHROME) {
+        if (input_type == INPUTTYPE_SCRGB) {
+            // Convert to BT.2020 colorspace for tone mapping
+            v = mul(mat709to2020, v);
+        }
+
+        float vmax = max(v.r, max(v.g, v.b));
+        if (vmax > 0.0) {
+            float scale = (1.0 + tonemap_factor1 * vmax) / (1.0 + tonemap_factor2 * vmax);
+            v *= scale;
+        }
+
+        if (input_type == INPUTTYPE_SCRGB) {
+            // Convert to BT.709 colorspace after tone mapping
+            v = mul(mat2020to709, v);
+        }
+    }
+    return v;
+}
+
+float2 GetPixelArtUV(PSInput input)
+{
+    // box filter size in texel units
+    float2 boxSize = clamp(fwidth(input.v_uv) * texel_size.zw, 1e-5, 1);
+
+    // scale uv by texture size to get texel coordinate
+    float2 tx = input.v_uv * texel_size.zw - 0.5 * boxSize;
+
+    // compute offset for pixel-sized box filter
+    float2 txOffset = smoothstep(1 - boxSize, 1, frac(tx));
+
+    // compute bilinear sample uv coordinates
+    float2 uv = (floor(tx) + 0.5 + txOffset) * texel_size.xy;
+
+    return uv;
+}
+
+float4 GetInputColor(PSInput input)
+{
+    float4 rgba;
+
+    if (texture_type == TEXTURETYPE_NONE) {
+        rgba = 1.0;
+    } else if (texture_type == TEXTURETYPE_RGBA) {
+        rgba = texture0.Sample(sampler0, input.v_uv);
+    } else if (texture_type == TEXTURETYPE_RGBA_PIXELART) {
+        float2 uv = GetPixelArtUV(input);
+        rgba = texture0.SampleGrad(sampler0, uv, ddx(input.v_uv), ddy(input.v_uv));
+    } else if (texture_type == TEXTURETYPE_RGB) {
+        rgba = float4(texture0.Sample(sampler0, input.v_uv).rgb, 1.0);
+    } else if (texture_type == TEXTURETYPE_RGB_PIXELART) {
+        float2 uv = GetPixelArtUV(input);
+        rgba = float4(texture0.SampleGrad(sampler0, uv, ddx(input.v_uv), ddy(input.v_uv)).rgb, 1.0);
+    } else if (texture_type == TEXTURETYPE_PALETTE) {
+        float index = texture0.Sample(sampler0, input.v_uv).r * 255;
+        rgba = texture1.Sample(sampler1, float2((index + 0.5) / 256, 0.5));
+    } else if (texture_type == TEXTURETYPE_PALETTE_PIXELART) {
+        float2 uv = GetPixelArtUV(input);
+        float index = texture0.SampleGrad(sampler0, uv, ddx(input.v_uv), ddy(input.v_uv)).r * 255;
+        rgba = texture1.Sample(sampler1, float2((index + 0.5) / 256, 0.5));
+    } else if (texture_type == TEXTURETYPE_NV12) {
+        float3 yuv;
+        yuv.x = texture0.Sample(sampler0, input.v_uv).r;
+        yuv.yz = texture1.Sample(sampler0, input.v_uv).rg;
+
+        yuv += Yoffset.xyz;
+        rgba.r = dot(yuv, Rcoeff.xyz);
+        rgba.g = dot(yuv, Gcoeff.xyz);
+        rgba.b = dot(yuv, Bcoeff.xyz);
+        rgba.a = 1.0;
+    } else if (texture_type == TEXTURETYPE_NV21) {
+        float3 yuv;
+        yuv.x = texture0.Sample(sampler0, input.v_uv).r;
+        yuv.yz = texture1.Sample(sampler0, input.v_uv).gr;
+
+        yuv += Yoffset.xyz;
+        rgba.r = dot(yuv, Rcoeff.xyz);
+        rgba.g = dot(yuv, Gcoeff.xyz);
+        rgba.b = dot(yuv, Bcoeff.xyz);
+        rgba.a = 1.0;
+    } else if (texture_type == TEXTURETYPE_YUV) {
+        float3 yuv;
+        yuv.x = texture0.Sample(sampler0, input.v_uv).r;
+        yuv.y = texture1.Sample(sampler0, input.v_uv).r;
+        yuv.z = texture2.Sample(sampler0, input.v_uv).r;
+
+        yuv += Yoffset.xyz;
+        rgba.r = dot(yuv, Rcoeff.xyz);
+        rgba.g = dot(yuv, Gcoeff.xyz);
+        rgba.b = dot(yuv, Bcoeff.xyz);
+        rgba.a = 1.0;
+    } else {
+        // Error!
+        rgba.r = 1.0;
+        rgba.g = 0.0;
+        rgba.b = 0.0;
+        rgba.a = 1.0;
+    }
+    return rgba;
+}
+
+float4 GetOutputColor(float4 rgba)
+{
+    float4 output;
+
+    output.rgb = rgba.rgb * color_scale;
+    output.a = rgba.a;
+
+    return output;
+}
+
+float3 GetOutputColorFromSRGB(float3 rgb)
+{
+    float3 output;
+
+    if (scRGB_output) {
+        rgb.r = sRGBtoLinear(rgb.r);
+        rgb.g = sRGBtoLinear(rgb.g);
+        rgb.b = sRGBtoLinear(rgb.b);
+    }
+
+    output.rgb = rgb * color_scale;
+
+    return output;
+}
+
+float3 GetOutputColorFromLinear(float3 rgb)
+{
+    float3 output;
+
+    output.rgb = rgb * color_scale;
+
+    if (!scRGB_output) {
+        output.r = sRGBfromLinear(output.r);
+        output.g = sRGBfromLinear(output.g);
+        output.b = sRGBfromLinear(output.b);
+        output.rgb = saturate(output.rgb);
+    }
+
+    return output;
+}
+
+float4 AdvancedPixelShader(PSInput input)
+{
+    float4 rgba = GetInputColor(input);
+    float4 output;
+
+    if (input_type == INPUTTYPE_HDR10) {
+        rgba.rgb = PQtoLinear(rgba.rgb);
+    }
+
+    if (tonemap_method != TONEMAP_NONE) {
+        rgba.rgb = ApplyTonemap(rgba.rgb);
+    }
+
+    if (input_type == INPUTTYPE_SRGB) {
+        output.rgb = GetOutputColorFromSRGB(rgba.rgb);
+        output.a = rgba.a;
+    } else if (input_type == INPUTTYPE_SCRGB) {
+        output.rgb = GetOutputColorFromLinear(rgba.rgb);
+        output.a = rgba.a;
+    } else if (input_type == INPUTTYPE_HDR10) {
+        rgba.rgb = mul(mat2020to709, rgba.rgb);
+        output.rgb = GetOutputColorFromLinear(rgba.rgb);
+        output.a = rgba.a;
+    } else {
+        output = GetOutputColor(rgba);
+    }
+
+    return output * input.v_color;
+}
+
+PSOutput main(PSInput input) {
+    PSOutput output;
+    output.o_color = AdvancedPixelShader(input);
+    return output;
+}

+ 1280 - 0
src/render/gpu/shaders/texture_advanced.frag.msl.h

@@ -0,0 +1,1280 @@
+static const unsigned char texture_advanced_frag_msl[] = {
+  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,
+  0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70,
+  0x61, 0x63, 0x65, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x3b, 0x0a, 0x0a,
+  0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x5f,
+  0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x0a, 0x7b, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x73, 0x63,
+  0x52, 0x47, 0x42, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x3b, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x65,
+  0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x3b, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x69, 0x6e,
+  0x70, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x3b, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x63, 0x6f, 0x6c, 0x6f,
+  0x72, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x74, 0x65, 0x78, 0x65,
+  0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x6f, 0x6e, 0x65, 0x6d, 0x61,
+  0x70, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3b, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x6f, 0x6e, 0x65,
+  0x6d, 0x61, 0x70, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x31, 0x3b,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74,
+  0x6f, 0x6e, 0x65, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f,
+  0x72, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61,
+  0x74, 0x20, 0x73, 0x64, 0x72, 0x5f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x5f,
+  0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66,
+  0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x59, 0x6f, 0x66, 0x66, 0x73, 0x65,
+  0x74, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74,
+  0x34, 0x20, 0x52, 0x63, 0x6f, 0x65, 0x66, 0x66, 0x3b, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x47, 0x63, 0x6f,
+  0x65, 0x66, 0x66, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f,
+  0x61, 0x74, 0x34, 0x20, 0x42, 0x63, 0x6f, 0x65, 0x66, 0x66, 0x3b, 0x0a,
+  0x7d, 0x3b, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74,
+  0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x5f, 0x31, 0x31, 0x32,
+  0x20, 0x3d, 0x20, 0x7b, 0x7d, 0x3b, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74,
+  0x61, 0x6e, 0x74, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f,
+  0x31, 0x31, 0x34, 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, 0x20, 0x5b,
+  0x5b, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x28, 0x30, 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, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 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, 0x32, 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, 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, 0x43,
+  0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x26, 0x20, 0x43, 0x6f,
+  0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x20, 0x5b, 0x5b, 0x62, 0x75,
+  0x66, 0x66, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x74,
+  0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f,
+  0x61, 0x74, 0x3e, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x30,
+  0x20, 0x5b, 0x5b, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30,
+  0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65,
+  0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x20, 0x74, 0x65,
+  0x78, 0x74, 0x75, 0x72, 0x65, 0x31, 0x20, 0x5b, 0x5b, 0x74, 0x65, 0x78,
+  0x74, 0x75, 0x72, 0x65, 0x28, 0x31, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x74,
+  0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f,
+  0x61, 0x74, 0x3e, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32,
+  0x20, 0x5b, 0x5b, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x32,
+  0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72,
+  0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x30, 0x20, 0x5b, 0x5b,
+  0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d,
+  0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x73, 0x61,
+  0x6d, 0x70, 0x6c, 0x65, 0x72, 0x31, 0x20, 0x5b, 0x5b, 0x73, 0x61, 0x6d,
+  0x70, 0x6c, 0x65, 0x72, 0x28, 0x31, 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, 0x34, 0x20,
+  0x5f, 0x33, 0x36, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66,
+  0x20, 0x28, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x2e,
+  0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65,
+  0x20, 0x3d, 0x3d, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f,
+  0x33, 0x36, 0x35, 0x20, 0x3d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34,
+  0x28, 0x31, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x5f, 0x33, 0x36, 0x34, 0x3b,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20,
+  0x28, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x74,
+  0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x20,
+  0x3d, 0x3d, 0x20, 0x33, 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, 0x5f, 0x33, 0x36, 0x34, 0x20, 0x3d,
+  0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x30, 0x2e, 0x73, 0x61,
+  0x6d, 0x70, 0x6c, 0x65, 0x28, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72,
+  0x30, 0x2c, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72,
+  0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x29, 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, 0x34, 0x20, 0x5f, 0x33, 0x36, 0x33, 0x3b, 0x0a, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69,
+  0x66, 0x20, 0x28, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73,
+  0x2e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70,
+  0x65, 0x20, 0x3d, 0x3d, 0x20, 0x34, 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, 0x32, 0x20, 0x5f,
+  0x31, 0x34, 0x31, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x73, 0x74, 0x3a, 0x3a,
+  0x63, 0x6c, 0x61, 0x6d, 0x70, 0x28, 0x66, 0x77, 0x69, 0x64, 0x74, 0x68,
+  0x28, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54,
+  0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x29, 0x20, 0x2a, 0x20,
+  0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x74, 0x65,
+  0x78, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x2e, 0x7a, 0x77, 0x2c,
+  0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, 0x39, 0x2e, 0x39, 0x39,
+  0x39, 0x39, 0x39, 0x39, 0x37, 0x34, 0x37, 0x33, 0x37, 0x38, 0x37, 0x35,
+  0x31, 0x36, 0x33, 0x35, 0x35, 0x35, 0x31, 0x34, 0x35, 0x32, 0x36, 0x33,
+  0x36, 0x37, 0x31, 0x38, 0x38, 0x65, 0x2d, 0x30, 0x36, 0x29, 0x2c, 0x20,
+  0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, 0x31, 0x2e, 0x30, 0x29, 0x29,
+  0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32,
+  0x20, 0x5f, 0x31, 0x34, 0x34, 0x20, 0x3d, 0x20, 0x28, 0x69, 0x6e, 0x2e,
+  0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f,
+  0x4f, 0x52, 0x44, 0x30, 0x20, 0x2a, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x74,
+  0x61, 0x6e, 0x74, 0x73, 0x2e, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x73,
+  0x69, 0x7a, 0x65, 0x2e, 0x7a, 0x77, 0x29, 0x20, 0x2d, 0x20, 0x28, 0x5f,
+  0x31, 0x34, 0x31, 0x20, 0x2a, 0x20, 0x30, 0x2e, 0x35, 0x29, 0x3b, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x5f, 0x33, 0x36, 0x33, 0x20, 0x3d, 0x20, 0x74,
+  0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x30, 0x2e, 0x73, 0x61, 0x6d, 0x70,
+  0x6c, 0x65, 0x28, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x30, 0x2c,
+  0x20, 0x28, 0x28, 0x28, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x28, 0x5f, 0x31,
+  0x34, 0x34, 0x29, 0x20, 0x2b, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32,
+  0x28, 0x30, 0x2e, 0x35, 0x29, 0x29, 0x20, 0x2b, 0x20, 0x73, 0x6d, 0x6f,
+  0x6f, 0x74, 0x68, 0x73, 0x74, 0x65, 0x70, 0x28, 0x66, 0x6c, 0x6f, 0x61,
+  0x74, 0x32, 0x28, 0x31, 0x2e, 0x30, 0x29, 0x20, 0x2d, 0x20, 0x5f, 0x31,
+  0x34, 0x31, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, 0x31,
+  0x2e, 0x30, 0x29, 0x2c, 0x20, 0x66, 0x72, 0x61, 0x63, 0x74, 0x28, 0x5f,
+  0x31, 0x34, 0x34, 0x29, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x43, 0x6f, 0x6e,
+  0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x74, 0x65, 0x78, 0x65, 0x6c,
+  0x5f, 0x73, 0x69, 0x7a, 0x65, 0x2e, 0x78, 0x79, 0x29, 0x2c, 0x20, 0x67,
+  0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x64, 0x28, 0x64, 0x66,
+  0x64, 0x78, 0x28, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72,
+  0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x29, 0x2c,
+  0x20, 0x64, 0x66, 0x64, 0x79, 0x28, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f,
+  0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44,
+  0x30, 0x29, 0x29, 0x29, 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, 0x66, 0x6c, 0x6f, 0x61, 0x74,
+  0x34, 0x20, 0x5f, 0x33, 0x36, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x69, 0x66, 0x20, 0x28, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74,
+  0x73, 0x2e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x79,
+  0x70, 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x0a, 0x20,
+  0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20,
+  0x20, 0x5f, 0x33, 0x36, 0x32, 0x20, 0x3d, 0x20, 0x66, 0x6c, 0x6f, 0x61,
+  0x74, 0x34, 0x28, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x30, 0x2e,
+  0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x73, 0x61, 0x6d, 0x70, 0x6c,
+  0x65, 0x72, 0x30, 0x2c, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76,
+  0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30,
+  0x29, 0x2e, 0x78, 0x79, 0x7a, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x3b,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x65,
+  0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34,
+  0x20, 0x5f, 0x33, 0x36, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x43, 0x6f, 0x6e, 0x73, 0x74,
+  0x61, 0x6e, 0x74, 0x73, 0x2e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65,
+  0x5f, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x32, 0x2e, 0x30,
+  0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x5f, 0x31, 0x38, 0x30, 0x20,
+  0x3d, 0x20, 0x66, 0x61, 0x73, 0x74, 0x3a, 0x3a, 0x63, 0x6c, 0x61, 0x6d,
+  0x70, 0x28, 0x66, 0x77, 0x69, 0x64, 0x74, 0x68, 0x28, 0x69, 0x6e, 0x2e,
+  0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f,
+  0x4f, 0x52, 0x44, 0x30, 0x29, 0x20, 0x2a, 0x20, 0x43, 0x6f, 0x6e, 0x73,
+  0x74, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f,
+  0x73, 0x69, 0x7a, 0x65, 0x2e, 0x7a, 0x77, 0x2c, 0x20, 0x66, 0x6c, 0x6f,
+  0x61, 0x74, 0x32, 0x28, 0x39, 0x2e, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39,
+  0x37, 0x34, 0x37, 0x33, 0x37, 0x38, 0x37, 0x35, 0x31, 0x36, 0x33, 0x35,
+  0x35, 0x35, 0x31, 0x34, 0x35, 0x32, 0x36, 0x33, 0x36, 0x37, 0x31, 0x38,
+  0x38, 0x65, 0x2d, 0x30, 0x36, 0x29, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61,
+  0x74, 0x32, 0x28, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c,
+  0x6f, 0x61, 0x74, 0x32, 0x20, 0x5f, 0x31, 0x38, 0x33, 0x20, 0x3d, 0x20,
+  0x28, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54,
+  0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x20, 0x2a, 0x20, 0x43,
+  0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x74, 0x65, 0x78,
+  0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x2e, 0x7a, 0x77, 0x29, 0x20,
+  0x2d, 0x20, 0x28, 0x5f, 0x31, 0x38, 0x30, 0x20, 0x2a, 0x20, 0x30, 0x2e,
+  0x35, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x5f, 0x33, 0x36, 0x31, 0x20, 0x3d, 0x20, 0x66,
+  0x6c, 0x6f, 0x61, 0x74, 0x34, 0x28, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72,
+  0x65, 0x30, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x73, 0x61,
+  0x6d, 0x70, 0x6c, 0x65, 0x72, 0x30, 0x2c, 0x20, 0x28, 0x28, 0x28, 0x66,
+  0x6c, 0x6f, 0x6f, 0x72, 0x28, 0x5f, 0x31, 0x38, 0x33, 0x29, 0x20, 0x2b,
+  0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, 0x30, 0x2e, 0x35, 0x29,
+  0x29, 0x20, 0x2b, 0x20, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x73, 0x74,
+  0x65, 0x70, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, 0x31, 0x2e,
+  0x30, 0x29, 0x20, 0x2d, 0x20, 0x5f, 0x31, 0x38, 0x30, 0x2c, 0x20, 0x66,
+  0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, 0x31, 0x2e, 0x30, 0x29, 0x2c, 0x20,
+  0x66, 0x72, 0x61, 0x63, 0x74, 0x28, 0x5f, 0x31, 0x38, 0x33, 0x29, 0x29,
+  0x29, 0x20, 0x2a, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74,
+  0x73, 0x2e, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65,
+  0x2e, 0x78, 0x79, 0x29, 0x2c, 0x20, 0x67, 0x72, 0x61, 0x64, 0x69, 0x65,
+  0x6e, 0x74, 0x32, 0x64, 0x28, 0x64, 0x66, 0x64, 0x78, 0x28, 0x69, 0x6e,
+  0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43,
+  0x4f, 0x4f, 0x52, 0x44, 0x30, 0x29, 0x2c, 0x20, 0x64, 0x66, 0x64, 0x79,
+  0x28, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54,
+  0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x29, 0x29, 0x29, 0x2e,
+  0x78, 0x79, 0x7a, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 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, 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, 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,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61,
+  0x74, 0x34, 0x20, 0x5f, 0x33, 0x36, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20,
+  0x28, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x74,
+  0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x20,
+  0x3d, 0x3d, 0x20, 0x35, 0x2e, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x5f, 0x33, 0x36, 0x30, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78,
+  0x74, 0x75, 0x72, 0x65, 0x31, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65,
+  0x28, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x31, 0x2c, 0x20, 0x66,
+  0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, 0x28, 0x28, 0x74, 0x65, 0x78, 0x74,
+  0x75, 0x72, 0x65, 0x30, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28,
+  0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x30, 0x2c, 0x20, 0x69, 0x6e,
+  0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43,
+  0x4f, 0x4f, 0x52, 0x44, 0x30, 0x29, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x32,
+  0x35, 0x35, 0x2e, 0x30, 0x29, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x29,
+  0x20, 0x2a, 0x20, 0x30, 0x2e, 0x30, 0x30, 0x33, 0x39, 0x30, 0x36, 0x32,
+  0x35, 0x2c, 0x20, 0x30, 0x2e, 0x35, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 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,
+  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, 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, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66,
+  0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x5f, 0x33, 0x35, 0x39, 0x3b, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x43, 0x6f, 0x6e, 0x73,
+  0x74, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72,
+  0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x36, 0x2e,
+  0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20,
+  0x5f, 0x32, 0x32, 0x38, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x73, 0x74, 0x3a,
+  0x3a, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x28, 0x66, 0x77, 0x69, 0x64, 0x74,
+  0x68, 0x28, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f,
+  0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x29, 0x20, 0x2a,
+  0x20, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x74,
+  0x65, 0x78, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x2e, 0x7a, 0x77,
+  0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, 0x39, 0x2e, 0x39,
+  0x39, 0x39, 0x39, 0x39, 0x39, 0x37, 0x34, 0x37, 0x33, 0x37, 0x38, 0x37,
+  0x35, 0x31, 0x36, 0x33, 0x35, 0x35, 0x35, 0x31, 0x34, 0x35, 0x32, 0x36,
+  0x33, 0x36, 0x37, 0x31, 0x38, 0x38, 0x65, 0x2d, 0x30, 0x36, 0x29, 0x2c,
+  0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, 0x31, 0x2e, 0x30, 0x29,
+  0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66,
+  0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x5f, 0x32, 0x33, 0x31, 0x20, 0x3d,
+  0x20, 0x28, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f,
+  0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x20, 0x2a, 0x20,
+  0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x74, 0x65,
+  0x78, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x2e, 0x7a, 0x77, 0x29,
+  0x20, 0x2d, 0x20, 0x28, 0x5f, 0x32, 0x32, 0x38, 0x20, 0x2a, 0x20, 0x30,
+  0x2e, 0x35, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x5f, 0x33, 0x35, 0x39, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74,
+  0x75, 0x72, 0x65, 0x31, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28,
+  0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x31, 0x2c, 0x20, 0x66, 0x6c,
+  0x6f, 0x61, 0x74, 0x32, 0x28, 0x28, 0x28, 0x74, 0x65, 0x78, 0x74, 0x75,
+  0x72, 0x65, 0x30, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x73,
+  0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x30, 0x2c, 0x20, 0x28, 0x28, 0x28,
+  0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x28, 0x5f, 0x32, 0x33, 0x31, 0x29, 0x20,
+  0x2b, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, 0x30, 0x2e, 0x35,
+  0x29, 0x29, 0x20, 0x2b, 0x20, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x73,
+  0x74, 0x65, 0x70, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, 0x31,
+  0x2e, 0x30, 0x29, 0x20, 0x2d, 0x20, 0x5f, 0x32, 0x32, 0x38, 0x2c, 0x20,
+  0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, 0x31, 0x2e, 0x30, 0x29, 0x2c,
+  0x20, 0x66, 0x72, 0x61, 0x63, 0x74, 0x28, 0x5f, 0x32, 0x33, 0x31, 0x29,
+  0x29, 0x29, 0x20, 0x2a, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e,
+  0x74, 0x73, 0x2e, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a,
+  0x65, 0x2e, 0x78, 0x79, 0x29, 0x2c, 0x20, 0x67, 0x72, 0x61, 0x64, 0x69,
+  0x65, 0x6e, 0x74, 0x32, 0x64, 0x28, 0x64, 0x66, 0x64, 0x78, 0x28, 0x69,
+  0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58,
+  0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x29, 0x2c, 0x20, 0x64, 0x66, 0x64,
+  0x79, 0x28, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f,
+  0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x29, 0x29, 0x29,
+  0x2e, 0x78, 0x20, 0x2a, 0x20, 0x32, 0x35, 0x35, 0x2e, 0x30, 0x29, 0x20,
+  0x2b, 0x20, 0x30, 0x2e, 0x35, 0x29, 0x20, 0x2a, 0x20, 0x30, 0x2e, 0x30,
+  0x30, 0x33, 0x39, 0x30, 0x36, 0x32, 0x35, 0x2c, 0x20, 0x30, 0x2e, 0x35,
+  0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 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, 0x20, 0x20,
+  0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f,
+  0x61, 0x74, 0x34, 0x20, 0x5f, 0x33, 0x35, 0x38, 0x3b, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x43, 0x6f,
+  0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x74, 0x65, 0x78, 0x74,
+  0x75, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x3d, 0x20,
+  0x37, 0x2e, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x32,
+  0x36, 0x34, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x5f, 0x32, 0x36, 0x34, 0x2e, 0x78, 0x20, 0x3d,
+  0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x30, 0x2e, 0x73, 0x61,
+  0x6d, 0x70, 0x6c, 0x65, 0x28, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72,
+  0x30, 0x2c, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72,
+  0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x29, 0x2e,
+  0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x5f, 0x32,
+  0x36, 0x38, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65,
+  0x31, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x73, 0x61, 0x6d,
+  0x70, 0x6c, 0x65, 0x72, 0x30, 0x2c, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e,
+  0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52,
+  0x44, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20,
+  0x5f, 0x32, 0x37, 0x33, 0x20, 0x3d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74,
+  0x33, 0x28, 0x5f, 0x32, 0x36, 0x34, 0x2e, 0x78, 0x2c, 0x20, 0x5f, 0x32,
+  0x36, 0x38, 0x2e, 0x78, 0x2c, 0x20, 0x5f, 0x32, 0x36, 0x38, 0x2e, 0x79,
+  0x29, 0x20, 0x2b, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74,
+  0x73, 0x2e, 0x59, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x2e, 0x78, 0x79,
+  0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x5f, 0x33, 0x35, 0x38, 0x20, 0x3d, 0x20, 0x66, 0x6c,
+  0x6f, 0x61, 0x74, 0x34, 0x28, 0x64, 0x6f, 0x74, 0x28, 0x5f, 0x32, 0x37,
+  0x33, 0x2c, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73,
+  0x2e, 0x52, 0x63, 0x6f, 0x65, 0x66, 0x66, 0x2e, 0x78, 0x79, 0x7a, 0x29,
+  0x2c, 0x20, 0x64, 0x6f, 0x74, 0x28, 0x5f, 0x32, 0x37, 0x33, 0x2c, 0x20,
+  0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x47, 0x63,
+  0x6f, 0x65, 0x66, 0x66, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x2c, 0x20, 0x64,
+  0x6f, 0x74, 0x28, 0x5f, 0x32, 0x37, 0x33, 0x2c, 0x20, 0x43, 0x6f, 0x6e,
+  0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x42, 0x63, 0x6f, 0x65, 0x66,
+  0x66, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29,
+  0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 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,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66,
+  0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x5f, 0x33, 0x35, 0x37, 0x3b, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x69, 0x66, 0x20, 0x28, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74,
+  0x73, 0x2e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x79,
+  0x70, 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x38, 0x2e, 0x30, 0x29, 0x0a, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20,
+  0x5f, 0x32, 0x39, 0x36, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x32,
+  0x39, 0x36, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75,
+  0x72, 0x65, 0x30, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x73,
+  0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x30, 0x2c, 0x20, 0x69, 0x6e, 0x2e,
+  0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f,
+  0x4f, 0x52, 0x44, 0x30, 0x29, 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x5f, 0x33, 0x30, 0x30,
+  0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x31, 0x2e,
+  0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x73, 0x61, 0x6d, 0x70, 0x6c,
+  0x65, 0x72, 0x30, 0x2c, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76,
+  0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30,
+  0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74,
+  0x33, 0x20, 0x5f, 0x33, 0x30, 0x35, 0x20, 0x3d, 0x20, 0x66, 0x6c, 0x6f,
+  0x61, 0x74, 0x33, 0x28, 0x5f, 0x32, 0x39, 0x36, 0x2e, 0x78, 0x2c, 0x20,
+  0x5f, 0x33, 0x30, 0x30, 0x2e, 0x79, 0x2c, 0x20, 0x5f, 0x33, 0x30, 0x30,
+  0x2e, 0x78, 0x29, 0x20, 0x2b, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61,
+  0x6e, 0x74, 0x73, 0x2e, 0x59, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x2e,
+  0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x33, 0x35,
+  0x37, 0x20, 0x3d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x28, 0x64,
+  0x6f, 0x74, 0x28, 0x5f, 0x33, 0x30, 0x35, 0x2c, 0x20, 0x43, 0x6f, 0x6e,
+  0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x52, 0x63, 0x6f, 0x65, 0x66,
+  0x66, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x2c, 0x20, 0x64, 0x6f, 0x74, 0x28,
+  0x5f, 0x33, 0x30, 0x35, 0x2c, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61,
+  0x6e, 0x74, 0x73, 0x2e, 0x47, 0x63, 0x6f, 0x65, 0x66, 0x66, 0x2e, 0x78,
+  0x79, 0x7a, 0x29, 0x2c, 0x20, 0x64, 0x6f, 0x74, 0x28, 0x5f, 0x33, 0x30,
+  0x35, 0x2c, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73,
+  0x2e, 0x42, 0x63, 0x6f, 0x65, 0x66, 0x66, 0x2e, 0x78, 0x79, 0x7a, 0x29,
+  0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 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, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f,
+  0x61, 0x74, 0x34, 0x20, 0x5f, 0x33, 0x35, 0x36, 0x3b, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61,
+  0x6e, 0x74, 0x73, 0x2e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f,
+  0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x39, 0x2e, 0x30, 0x29,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 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, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x33,
+  0x34, 0x32, 0x20, 0x3d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28,
+  0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x30, 0x2e, 0x73, 0x61, 0x6d,
+  0x70, 0x6c, 0x65, 0x28, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x30,
+  0x2c, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f,
+  0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x29, 0x2e, 0x78,
+  0x2c, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x31, 0x2e, 0x73,
+  0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65,
+  0x72, 0x30, 0x2c, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61,
+  0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x29,
+  0x2e, 0x78, 0x2c, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32,
+  0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x73, 0x61, 0x6d, 0x70,
+  0x6c, 0x65, 0x72, 0x30, 0x2c, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f,
+  0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44,
+  0x30, 0x29, 0x2e, 0x78, 0x29, 0x20, 0x2b, 0x20, 0x43, 0x6f, 0x6e, 0x73,
+  0x74, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x59, 0x6f, 0x66, 0x66, 0x73, 0x65,
+  0x74, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x5f, 0x33, 0x35, 0x36, 0x20, 0x3d, 0x20, 0x66, 0x6c,
+  0x6f, 0x61, 0x74, 0x34, 0x28, 0x64, 0x6f, 0x74, 0x28, 0x5f, 0x33, 0x34,
+  0x32, 0x2c, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73,
+  0x2e, 0x52, 0x63, 0x6f, 0x65, 0x66, 0x66, 0x2e, 0x78, 0x79, 0x7a, 0x29,
+  0x2c, 0x20, 0x64, 0x6f, 0x74, 0x28, 0x5f, 0x33, 0x34, 0x32, 0x2c, 0x20,
+  0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x47, 0x63,
+  0x6f, 0x65, 0x66, 0x66, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x2c, 0x20, 0x64,
+  0x6f, 0x74, 0x28, 0x5f, 0x33, 0x34, 0x32, 0x2c, 0x20, 0x43, 0x6f, 0x6e,
+  0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x42, 0x63, 0x6f, 0x65, 0x66,
+  0x66, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29,
+  0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  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, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x33, 0x35, 0x36, 0x20,
+  0x3d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x28, 0x31, 0x2e, 0x30,
+  0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20,
+  0x31, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 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,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x5f, 0x33, 0x35, 0x37, 0x20, 0x3d, 0x20, 0x5f,
+  0x33, 0x35, 0x36, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x33, 0x35, 0x38, 0x20,
+  0x3d, 0x20, 0x5f, 0x33, 0x35, 0x37, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x5f, 0x33, 0x35, 0x39, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x35,
+  0x38, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x5f, 0x33, 0x36, 0x30, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x35, 0x39,
+  0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x5f, 0x33, 0x36, 0x31, 0x20, 0x3d, 0x20, 0x5f,
+  0x33, 0x36, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f,
+  0x33, 0x36, 0x32, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x36, 0x31, 0x3b, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x33,
+  0x36, 0x33, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x36, 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, 0x33, 0x36, 0x34, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x36, 0x33,
+  0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x33, 0x36, 0x35,
+  0x20, 0x3d, 0x20, 0x5f, 0x33, 0x36, 0x34, 0x3b, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20,
+  0x5f, 0x33, 0x36, 0x38, 0x20, 0x3d, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x74,
+  0x61, 0x6e, 0x74, 0x73, 0x2e, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74,
+  0x79, 0x70, 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x33, 0x2e, 0x30, 0x3b, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x5f,
+  0x33, 0x38, 0x37, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20,
+  0x28, 0x5f, 0x33, 0x36, 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, 0x33, 0x37, 0x33, 0x20, 0x3d, 0x20, 0x70,
+  0x6f, 0x77, 0x72, 0x28, 0x61, 0x62, 0x73, 0x28, 0x5f, 0x33, 0x36, 0x35,
+  0x2e, 0x78, 0x79, 0x7a, 0x29, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74,
+  0x33, 0x28, 0x30, 0x2e, 0x30, 0x31, 0x32, 0x36, 0x38, 0x33, 0x33, 0x31,
+  0x33, 0x33, 0x33, 0x39, 0x39, 0x34, 0x38, 0x36, 0x35, 0x34, 0x31, 0x37,
+  0x34, 0x38, 0x30, 0x34, 0x36, 0x38, 0x37, 0x35, 0x29, 0x29, 0x3b, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61,
+  0x74, 0x33, 0x20, 0x5f, 0x33, 0x38, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x70,
+  0x6f, 0x77, 0x72, 0x28, 0x61, 0x62, 0x73, 0x28, 0x70, 0x72, 0x65, 0x63,
+  0x69, 0x73, 0x65, 0x3a, 0x3a, 0x6d, 0x61, 0x78, 0x28, 0x5f, 0x33, 0x37,
+  0x33, 0x20, 0x2d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x30,
+  0x2e, 0x38, 0x33, 0x35, 0x39, 0x33, 0x37, 0x35, 0x29, 0x2c, 0x20, 0x66,
+  0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x30, 0x2e, 0x30, 0x29, 0x29, 0x20,
+  0x2f, 0x20, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x31, 0x38,
+  0x2e, 0x38, 0x35, 0x31, 0x35, 0x36, 0x32, 0x35, 0x29, 0x20, 0x2d, 0x20,
+  0x28, 0x5f, 0x33, 0x37, 0x33, 0x20, 0x2a, 0x20, 0x31, 0x38, 0x2e, 0x36,
+  0x38, 0x37, 0x35, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61,
+  0x74, 0x33, 0x28, 0x36, 0x2e, 0x32, 0x37, 0x37, 0x33, 0x39, 0x34, 0x37,
+  0x37, 0x31, 0x35, 0x37, 0x35, 0x39, 0x32, 0x37, 0x37, 0x33, 0x34, 0x33,
+  0x37, 0x35, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x31, 0x30, 0x30, 0x30, 0x30,
+  0x2e, 0x30, 0x29, 0x20, 0x2f, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33,
+  0x28, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x73,
+  0x64, 0x72, 0x5f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x69,
+  0x6e, 0x74, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x5f, 0x33, 0x38, 0x37, 0x20, 0x3d, 0x20, 0x66, 0x6c, 0x6f, 0x61,
+  0x74, 0x34, 0x28, 0x5f, 0x33, 0x38, 0x35, 0x2e, 0x78, 0x2c, 0x20, 0x5f,
+  0x33, 0x38, 0x35, 0x2e, 0x79, 0x2c, 0x20, 0x5f, 0x33, 0x38, 0x35, 0x2e,
+  0x7a, 0x2c, 0x20, 0x5f, 0x33, 0x36, 0x35, 0x2e, 0x77, 0x29, 0x3b, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c,
+  0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x33, 0x38, 0x37, 0x20, 0x3d, 0x20,
+  0x5f, 0x33, 0x36, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x5f,
+  0x34, 0x33, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20,
+  0x28, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x74,
+  0x6f, 0x6e, 0x65, 0x6d, 0x61, 0x70, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f,
+  0x64, 0x20, 0x21, 0x3d, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x34, 0x33, 0x33, 0x3b,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20,
+  0x28, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x74,
+  0x6f, 0x6e, 0x65, 0x6d, 0x61, 0x70, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f,
+  0x64, 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, 0x5f, 0x34, 0x33, 0x33,
+  0x20, 0x3d, 0x20, 0x5f, 0x33, 0x38, 0x37, 0x2e, 0x78, 0x79, 0x7a, 0x20,
+  0x2a, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x2e,
+  0x74, 0x6f, 0x6e, 0x65, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x61, 0x63, 0x74,
+  0x6f, 0x72, 0x31, 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, 0x34, 0x33,
+  0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x43, 0x6f, 0x6e, 0x73, 0x74,
+  0x61, 0x6e, 0x74, 0x73, 0x2e, 0x74, 0x6f, 0x6e, 0x65, 0x6d, 0x61, 0x70,
+  0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x20, 0x3d, 0x3d, 0x20, 0x32,
+  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, 0x62, 0x6f,
+  0x6f, 0x6c, 0x20, 0x5f, 0x34, 0x30, 0x34, 0x20, 0x3d, 0x20, 0x43, 0x6f,
+  0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x69, 0x6e, 0x70, 0x75,
+  0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x32, 0x2e,
+  0x30, 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, 0x34, 0x30, 0x38, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x69, 0x66, 0x20, 0x28, 0x5f, 0x34, 0x30, 0x34, 0x29, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20,
+  0x5f, 0x34, 0x30, 0x38, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x38, 0x37, 0x2e,
+  0x78, 0x79, 0x7a, 0x20, 0x2a, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33,
+  0x78, 0x33, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x30, 0x2e,
+  0x36, 0x32, 0x37, 0x34, 0x30, 0x33, 0x39, 0x37, 0x34, 0x35, 0x33, 0x33,
+  0x30, 0x38, 0x31, 0x30, 0x35, 0x34, 0x36, 0x38, 0x37, 0x35, 0x2c, 0x20,
+  0x30, 0x2e, 0x33, 0x32, 0x39, 0x32, 0x38, 0x32, 0x39, 0x39, 0x39, 0x30,
+  0x33, 0x38, 0x36, 0x39, 0x36, 0x32, 0x38, 0x39, 0x30, 0x36, 0x32, 0x35,
+  0x2c, 0x20, 0x30, 0x2e, 0x30, 0x34, 0x33, 0x33, 0x31, 0x33, 0x30, 0x30,
+  0x30, 0x33, 0x35, 0x31, 0x31, 0x39, 0x30, 0x35, 0x36, 0x37, 0x30, 0x31,
+  0x36, 0x36, 0x30, 0x31, 0x35, 0x36, 0x32, 0x35, 0x29, 0x2c, 0x20, 0x66,
+  0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x30, 0x2e, 0x30, 0x36, 0x39, 0x30,
+  0x39, 0x36, 0x39, 0x39, 0x37, 0x33, 0x38, 0x30, 0x32, 0x35, 0x36, 0x36,
+  0x35, 0x32, 0x38, 0x33, 0x32, 0x30, 0x33, 0x31, 0x32, 0x35, 0x2c, 0x20,
+  0x30, 0x2e, 0x39, 0x31, 0x39, 0x35, 0x34, 0x31, 0x30, 0x30, 0x31, 0x33,
+  0x31, 0x39, 0x38, 0x38, 0x35, 0x32, 0x35, 0x33, 0x39, 0x30, 0x36, 0x32,
+  0x35, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x31, 0x31, 0x33, 0x36, 0x32, 0x30,
+  0x30, 0x30, 0x33, 0x36, 0x38, 0x35, 0x33, 0x35, 0x35, 0x31, 0x38, 0x36,
+  0x34, 0x36, 0x32, 0x34, 0x30, 0x32, 0x33, 0x34, 0x33, 0x37, 0x35, 0x29,
+  0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x30, 0x2e, 0x30,
+  0x31, 0x36, 0x33, 0x39, 0x30, 0x39, 0x39, 0x39, 0x37, 0x37, 0x39, 0x31,
+  0x30, 0x35, 0x31, 0x38, 0x36, 0x34, 0x36, 0x32, 0x34, 0x30, 0x32, 0x33,
+  0x34, 0x33, 0x37, 0x35, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x38, 0x38, 0x30,
+  0x31, 0x33, 0x30, 0x30, 0x30, 0x37, 0x38, 0x36, 0x33, 0x30, 0x34, 0x34,
+  0x37, 0x33, 0x38, 0x37, 0x36, 0x39, 0x35, 0x33, 0x31, 0x32, 0x35, 0x2c,
+  0x20, 0x30, 0x2e, 0x38, 0x39, 0x35, 0x35, 0x39, 0x35, 0x30, 0x31, 0x34,
+  0x30, 0x39, 0x35, 0x33, 0x30, 0x36, 0x33, 0x39, 0x36, 0x34, 0x38, 0x34,
+  0x33, 0x37, 0x35, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20,
+  0x5f, 0x34, 0x30, 0x38, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x38, 0x37, 0x2e,
+  0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 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, 0x20,
+  0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x34, 0x31,
+  0x33, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x65, 0x3a,
+  0x3a, 0x6d, 0x61, 0x78, 0x28, 0x5f, 0x34, 0x30, 0x38, 0x2e, 0x78, 0x2c,
+  0x20, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x65, 0x3a, 0x3a, 0x6d, 0x61,
+  0x78, 0x28, 0x5f, 0x34, 0x30, 0x38, 0x2e, 0x79, 0x2c, 0x20, 0x5f, 0x34,
+  0x30, 0x38, 0x2e, 0x7a, 0x29, 0x29, 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, 0x34, 0x32, 0x37, 0x3b,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x5f, 0x34, 0x31,
+  0x33, 0x20, 0x3e, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x5f,
+  0x34, 0x32, 0x37, 0x20, 0x3d, 0x20, 0x5f, 0x34, 0x30, 0x38, 0x20, 0x2a,
+  0x20, 0x28, 0x28, 0x31, 0x2e, 0x30, 0x20, 0x2b, 0x20, 0x28, 0x43, 0x6f,
+  0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x74, 0x6f, 0x6e, 0x65,
+  0x6d, 0x61, 0x70, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x31, 0x20,
+  0x2a, 0x20, 0x5f, 0x34, 0x31, 0x33, 0x29, 0x29, 0x20, 0x2f, 0x20, 0x28,
+  0x31, 0x2e, 0x30, 0x20, 0x2b, 0x20, 0x28, 0x43, 0x6f, 0x6e, 0x73, 0x74,
+  0x61, 0x6e, 0x74, 0x73, 0x2e, 0x74, 0x6f, 0x6e, 0x65, 0x6d, 0x61, 0x70,
+  0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x32, 0x20, 0x2a, 0x20, 0x5f,
+  0x34, 0x31, 0x33, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  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, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20,
+  0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20,
+  0x20, 0x5f, 0x34, 0x32, 0x37, 0x20, 0x3d, 0x20, 0x5f, 0x34, 0x30, 0x38,
+  0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20,
+  0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x34, 0x33, 0x31, 0x3b,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x5f, 0x34, 0x30,
+  0x34, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x34, 0x33, 0x31, 0x20, 0x3d, 0x20,
+  0x5f, 0x34, 0x32, 0x37, 0x20, 0x2a, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74,
+  0x33, 0x78, 0x33, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x31,
+  0x2e, 0x36, 0x36, 0x30, 0x34, 0x39, 0x35, 0x39, 0x39, 0x36, 0x34, 0x37,
+  0x35, 0x32, 0x31, 0x39, 0x37, 0x32, 0x36, 0x35, 0x36, 0x32, 0x35, 0x2c,
+  0x20, 0x2d, 0x30, 0x2e, 0x35, 0x38, 0x37, 0x36, 0x35, 0x36, 0x30, 0x32,
+  0x31, 0x31, 0x31, 0x38, 0x31, 0x36, 0x34, 0x30, 0x36, 0x32, 0x35, 0x2c,
+  0x20, 0x2d, 0x30, 0x2e, 0x30, 0x37, 0x32, 0x38, 0x33, 0x39, 0x39, 0x39,
+  0x37, 0x37, 0x30, 0x38, 0x37, 0x39, 0x37, 0x34, 0x35, 0x34, 0x38, 0x33,
+  0x33, 0x39, 0x38, 0x34, 0x33, 0x37, 0x35, 0x29, 0x2c, 0x20, 0x66, 0x6c,
+  0x6f, 0x61, 0x74, 0x33, 0x28, 0x2d, 0x30, 0x2e, 0x31, 0x32, 0x34, 0x35,
+  0x34, 0x36, 0x39, 0x39, 0x37, 0x32, 0x34, 0x39, 0x31, 0x32, 0x36, 0x34,
+  0x33, 0x34, 0x33, 0x32, 0x36, 0x31, 0x37, 0x31, 0x38, 0x37, 0x35, 0x2c,
+  0x20, 0x31, 0x2e, 0x31, 0x33, 0x32, 0x38, 0x39, 0x34, 0x39, 0x39, 0x32,
+  0x38, 0x32, 0x38, 0x33, 0x36, 0x39, 0x31, 0x34, 0x30, 0x36, 0x32, 0x35,
+  0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x30, 0x30, 0x38, 0x33, 0x34, 0x38, 0x30,
+  0x30, 0x30, 0x32, 0x33, 0x35, 0x38, 0x35, 0x35, 0x35, 0x37, 0x39, 0x33,
+  0x37, 0x36, 0x32, 0x32, 0x30, 0x37, 0x30, 0x33, 0x31, 0x32, 0x35, 0x29,
+  0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x2d, 0x30, 0x2e,
+  0x30, 0x31, 0x38, 0x31, 0x35, 0x34, 0x30, 0x30, 0x30, 0x38, 0x36, 0x33,
+  0x34, 0x33, 0x32, 0x38, 0x38, 0x34, 0x32, 0x31, 0x36, 0x33, 0x30, 0x38,
+  0x35, 0x39, 0x33, 0x37, 0x35, 0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x31, 0x30,
+  0x30, 0x35, 0x39, 0x37, 0x30, 0x30, 0x31, 0x36, 0x31, 0x32, 0x31, 0x38,
+  0x36, 0x34, 0x33, 0x31, 0x38, 0x38, 0x34, 0x37, 0x36, 0x35, 0x36, 0x32,
+  0x35, 0x2c, 0x20, 0x31, 0x2e, 0x31, 0x31, 0x38, 0x37, 0x35, 0x31, 0x30,
+  0x34, 0x39, 0x30, 0x34, 0x31, 0x37, 0x34, 0x38, 0x30, 0x34, 0x36, 0x38,
+  0x37, 0x35, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 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,
+  0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x5f,
+  0x34, 0x33, 0x31, 0x20, 0x3d, 0x20, 0x5f, 0x34, 0x32, 0x37, 0x3b, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x34,
+  0x33, 0x32, 0x20, 0x3d, 0x20, 0x5f, 0x34, 0x33, 0x31, 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, 0x34, 0x33, 0x32, 0x20, 0x3d, 0x20, 0x5f, 0x33, 0x38, 0x37, 0x2e,
+  0x78, 0x79, 0x7a, 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, 0x34, 0x33, 0x33, 0x20,
+  0x3d, 0x20, 0x5f, 0x34, 0x33, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x5f, 0x34, 0x33, 0x35, 0x20, 0x3d, 0x20, 0x66, 0x6c, 0x6f,
+  0x61, 0x74, 0x34, 0x28, 0x5f, 0x34, 0x33, 0x33, 0x2e, 0x78, 0x2c, 0x20,
+  0x5f, 0x34, 0x33, 0x33, 0x2e, 0x79, 0x2c, 0x20, 0x5f, 0x34, 0x33, 0x33,
+  0x2e, 0x7a, 0x2c, 0x20, 0x5f, 0x33, 0x38, 0x37, 0x2e, 0x77, 0x29, 0x3b,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65,
+  0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x34, 0x33, 0x35, 0x20, 0x3d,
+  0x20, 0x5f, 0x33, 0x38, 0x37, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20,
+  0x5f, 0x36, 0x30, 0x33, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66,
+  0x20, 0x28, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x2e,
+  0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d,
+  0x3d, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7b,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f,
+  0x61, 0x74, 0x33, 0x20, 0x5f, 0x34, 0x38, 0x30, 0x3b, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x43, 0x6f,
+  0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x63, 0x52, 0x47,
+  0x42, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x21, 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, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x34, 0x35,
+  0x36, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x5f, 0x34, 0x33, 0x35, 0x2e,
+  0x78, 0x20, 0x3c, 0x3d, 0x20, 0x30, 0x2e, 0x30, 0x34, 0x30, 0x34, 0x34,
+  0x39, 0x39, 0x39, 0x39, 0x32, 0x37, 0x32, 0x38, 0x32, 0x33, 0x33, 0x33,
+  0x33, 0x37, 0x34, 0x30, 0x32, 0x33, 0x34, 0x33, 0x37, 0x35, 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, 0x34, 0x35, 0x36, 0x20, 0x3d,
+  0x20, 0x5f, 0x34, 0x33, 0x35, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x30, 0x2e,
+  0x30, 0x37, 0x37, 0x33, 0x39, 0x39, 0x33, 0x38, 0x30, 0x35, 0x30, 0x35,
+  0x30, 0x38, 0x34, 0x39, 0x39, 0x31, 0x34, 0x35, 0x35, 0x30, 0x37, 0x38,
+  0x31, 0x32, 0x35, 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, 0x34, 0x35, 0x36, 0x20, 0x3d,
+  0x20, 0x70, 0x6f, 0x77, 0x72, 0x28, 0x61, 0x62, 0x73, 0x28, 0x5f, 0x34,
+  0x33, 0x35, 0x2e, 0x78, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x30, 0x35, 0x34,
+  0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x37, 0x30, 0x31, 0x39, 0x37, 0x36,
+  0x37, 0x37, 0x36, 0x31, 0x32, 0x33, 0x30, 0x34, 0x36, 0x38, 0x37, 0x35,
+  0x29, 0x20, 0x2a, 0x20, 0x30, 0x2e, 0x39, 0x34, 0x37, 0x38, 0x36, 0x37,
+  0x33, 0x33, 0x33, 0x38, 0x38, 0x39, 0x30, 0x30, 0x37, 0x35, 0x36, 0x38,
+  0x33, 0x35, 0x39, 0x33, 0x37, 0x35, 0x2c, 0x20, 0x32, 0x2e, 0x34, 0x30,
+  0x30, 0x30, 0x30, 0x30, 0x30, 0x39, 0x35, 0x33, 0x36, 0x37, 0x34, 0x33,
+  0x31, 0x36, 0x34, 0x30, 0x36, 0x32, 0x35, 0x29, 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, 0x20, 0x5f, 0x34, 0x36, 0x37, 0x3b, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x69, 0x66, 0x20, 0x28, 0x5f, 0x34, 0x33, 0x35, 0x2e, 0x79, 0x20, 0x3c,
+  0x3d, 0x20, 0x30, 0x2e, 0x30, 0x34, 0x30, 0x34, 0x34, 0x39, 0x39, 0x39,
+  0x39, 0x32, 0x37, 0x32, 0x38, 0x32, 0x33, 0x33, 0x33, 0x33, 0x37, 0x34,
+  0x30, 0x32, 0x33, 0x34, 0x33, 0x37, 0x35, 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, 0x34, 0x36, 0x37, 0x20, 0x3d, 0x20, 0x5f, 0x34,
+  0x33, 0x35, 0x2e, 0x79, 0x20, 0x2a, 0x20, 0x30, 0x2e, 0x30, 0x37, 0x37,
+  0x33, 0x39, 0x39, 0x33, 0x38, 0x30, 0x35, 0x30, 0x35, 0x30, 0x38, 0x34,
+  0x39, 0x39, 0x31, 0x34, 0x35, 0x35, 0x30, 0x37, 0x38, 0x31, 0x32, 0x35,
+  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, 0x34, 0x36, 0x37, 0x20, 0x3d, 0x20, 0x70, 0x6f,
+  0x77, 0x72, 0x28, 0x61, 0x62, 0x73, 0x28, 0x5f, 0x34, 0x33, 0x35, 0x2e,
+  0x79, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x30, 0x35, 0x34, 0x39, 0x39, 0x39,
+  0x39, 0x39, 0x39, 0x37, 0x30, 0x31, 0x39, 0x37, 0x36, 0x37, 0x37, 0x36,
+  0x31, 0x32, 0x33, 0x30, 0x34, 0x36, 0x38, 0x37, 0x35, 0x29, 0x20, 0x2a,
+  0x20, 0x30, 0x2e, 0x39, 0x34, 0x37, 0x38, 0x36, 0x37, 0x33, 0x33, 0x33,
+  0x38, 0x38, 0x39, 0x30, 0x30, 0x37, 0x35, 0x36, 0x38, 0x33, 0x35, 0x39,
+  0x33, 0x37, 0x35, 0x2c, 0x20, 0x32, 0x2e, 0x34, 0x30, 0x30, 0x30, 0x30,
+  0x30, 0x30, 0x39, 0x35, 0x33, 0x36, 0x37, 0x34, 0x33, 0x31, 0x36, 0x34,
+  0x30, 0x36, 0x32, 0x35, 0x29, 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, 0x20, 0x5f, 0x34, 0x37, 0x38, 0x3b, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20,
+  0x28, 0x5f, 0x34, 0x33, 0x35, 0x2e, 0x7a, 0x20, 0x3c, 0x3d, 0x20, 0x30,
+  0x2e, 0x30, 0x34, 0x30, 0x34, 0x34, 0x39, 0x39, 0x39, 0x39, 0x32, 0x37,
+  0x32, 0x38, 0x32, 0x33, 0x33, 0x33, 0x33, 0x37, 0x34, 0x30, 0x32, 0x33,
+  0x34, 0x33, 0x37, 0x35, 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, 0x34, 0x37, 0x38, 0x20, 0x3d, 0x20, 0x5f, 0x34, 0x33, 0x35, 0x2e,
+  0x7a, 0x20, 0x2a, 0x20, 0x30, 0x2e, 0x30, 0x37, 0x37, 0x33, 0x39, 0x39,
+  0x33, 0x38, 0x30, 0x35, 0x30, 0x35, 0x30, 0x38, 0x34, 0x39, 0x39, 0x31,
+  0x34, 0x35, 0x35, 0x30, 0x37, 0x38, 0x31, 0x32, 0x35, 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, 0x34, 0x37, 0x38, 0x20, 0x3d, 0x20, 0x70, 0x6f, 0x77, 0x72, 0x28,
+  0x61, 0x62, 0x73, 0x28, 0x5f, 0x34, 0x33, 0x35, 0x2e, 0x7a, 0x20, 0x2b,
+  0x20, 0x30, 0x2e, 0x30, 0x35, 0x34, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39,
+  0x37, 0x30, 0x31, 0x39, 0x37, 0x36, 0x37, 0x37, 0x36, 0x31, 0x32, 0x33,
+  0x30, 0x34, 0x36, 0x38, 0x37, 0x35, 0x29, 0x20, 0x2a, 0x20, 0x30, 0x2e,
+  0x39, 0x34, 0x37, 0x38, 0x36, 0x37, 0x33, 0x33, 0x33, 0x38, 0x38, 0x39,
+  0x30, 0x30, 0x37, 0x35, 0x36, 0x38, 0x33, 0x35, 0x39, 0x33, 0x37, 0x35,
+  0x2c, 0x20, 0x32, 0x2e, 0x34, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x39,
+  0x35, 0x33, 0x36, 0x37, 0x34, 0x33, 0x31, 0x36, 0x34, 0x30, 0x36, 0x32,
+  0x35, 0x29, 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, 0x34, 0x38, 0x30, 0x20, 0x3d,
+  0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x5f, 0x34, 0x35, 0x36,
+  0x2c, 0x20, 0x5f, 0x34, 0x36, 0x37, 0x2c, 0x20, 0x5f, 0x34, 0x37, 0x38,
+  0x29, 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, 0x34, 0x38, 0x30, 0x20, 0x3d, 0x20, 0x5f, 0x34, 0x33, 0x35, 0x2e,
+  0x78, 0x79, 0x7a, 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, 0x33, 0x20, 0x5f, 0x34, 0x38, 0x33, 0x20, 0x3d,
+  0x20, 0x5f, 0x34, 0x38, 0x30, 0x20, 0x2a, 0x20, 0x43, 0x6f, 0x6e, 0x73,
+  0x74, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f,
+  0x73, 0x63, 0x61, 0x6c, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x5f, 0x34,
+  0x38, 0x34, 0x20, 0x3d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x28,
+  0x5f, 0x34, 0x38, 0x33, 0x2e, 0x78, 0x2c, 0x20, 0x5f, 0x34, 0x38, 0x33,
+  0x2e, 0x79, 0x2c, 0x20, 0x5f, 0x34, 0x38, 0x33, 0x2e, 0x7a, 0x2c, 0x20,
+  0x5f, 0x31, 0x31, 0x32, 0x2e, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x34, 0x38, 0x34, 0x2e, 0x77, 0x20,
+  0x3d, 0x20, 0x5f, 0x34, 0x33, 0x35, 0x2e, 0x77, 0x3b, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x36, 0x30, 0x33, 0x20, 0x3d,
+  0x20, 0x5f, 0x34, 0x38, 0x34, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x5f, 0x36, 0x30, 0x32, 0x3b,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20,
+  0x28, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x69,
+  0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x3d,
+  0x20, 0x32, 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,
+  0x34, 0x39, 0x34, 0x20, 0x3d, 0x20, 0x5f, 0x34, 0x33, 0x35, 0x2e, 0x78,
+  0x79, 0x7a, 0x20, 0x2a, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e,
+  0x74, 0x73, 0x2e, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x73, 0x63, 0x61,
+  0x6c, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f,
+  0x35, 0x33, 0x36, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x21, 0x28, 0x43,
+  0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x63, 0x52,
+  0x47, 0x42, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x21, 0x3d,
+  0x20, 0x30, 0x2e, 0x30, 0x29, 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, 0x35, 0x30, 0x31, 0x20,
+  0x3d, 0x20, 0x5f, 0x34, 0x39, 0x34, 0x2e, 0x78, 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, 0x35, 0x31, 0x31,
+  0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x5f, 0x35,
+  0x30, 0x31, 0x20, 0x3c, 0x3d, 0x20, 0x30, 0x2e, 0x30, 0x30, 0x33, 0x31,
+  0x33, 0x30, 0x38, 0x30, 0x30, 0x30, 0x39, 0x30, 0x37, 0x33, 0x30, 0x31,
+  0x39, 0x30, 0x32, 0x37, 0x37, 0x30, 0x39, 0x39, 0x36, 0x30, 0x39, 0x33,
+  0x37, 0x35, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x35, 0x31, 0x31, 0x20, 0x3d,
+  0x20, 0x5f, 0x35, 0x30, 0x31, 0x20, 0x2a, 0x20, 0x31, 0x32, 0x2e, 0x39,
+  0x32, 0x30, 0x30, 0x30, 0x30, 0x30, 0x37, 0x36, 0x32, 0x39, 0x33, 0x39,
+  0x34, 0x35, 0x33, 0x31, 0x32, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  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, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20,
+  0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20,
+  0x20, 0x5f, 0x35, 0x31, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x70, 0x6f, 0x77,
+  0x72, 0x28, 0x61, 0x62, 0x73, 0x28, 0x5f, 0x35, 0x30, 0x31, 0x29, 0x2c,
+  0x20, 0x30, 0x2e, 0x34, 0x31, 0x36, 0x36, 0x36, 0x36, 0x36, 0x35, 0x36,
+  0x37, 0x33, 0x32, 0x35, 0x35, 0x39, 0x32, 0x30, 0x34, 0x31, 0x30, 0x31,
+  0x35, 0x36, 0x32, 0x35, 0x29, 0x20, 0x2a, 0x20, 0x31, 0x2e, 0x30, 0x35,
+  0x34, 0x39, 0x39, 0x39, 0x39, 0x34, 0x37, 0x35, 0x34, 0x37, 0x39, 0x31,
+  0x32, 0x35, 0x39, 0x37, 0x36, 0x35, 0x36, 0x32, 0x35, 0x29, 0x20, 0x2d,
+  0x20, 0x30, 0x2e, 0x30, 0x35, 0x34, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39,
+  0x37, 0x30, 0x31, 0x39, 0x37, 0x36, 0x37, 0x37, 0x36, 0x31, 0x32, 0x33,
+  0x30, 0x34, 0x36, 0x38, 0x37, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  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, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20,
+  0x5f, 0x35, 0x31, 0x32, 0x20, 0x3d, 0x20, 0x5f, 0x34, 0x39, 0x34, 0x2e,
+  0x79, 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, 0x35, 0x32, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69,
+  0x66, 0x20, 0x28, 0x5f, 0x35, 0x31, 0x32, 0x20, 0x3c, 0x3d, 0x20, 0x30,
+  0x2e, 0x30, 0x30, 0x33, 0x31, 0x33, 0x30, 0x38, 0x30, 0x30, 0x30, 0x39,
+  0x30, 0x37, 0x33, 0x30, 0x31, 0x39, 0x30, 0x32, 0x37, 0x37, 0x30, 0x39,
+  0x39, 0x36, 0x30, 0x39, 0x33, 0x37, 0x35, 0x29, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x5f,
+  0x35, 0x32, 0x32, 0x20, 0x3d, 0x20, 0x5f, 0x35, 0x31, 0x32, 0x20, 0x2a,
+  0x20, 0x31, 0x32, 0x2e, 0x39, 0x32, 0x30, 0x30, 0x30, 0x30, 0x30, 0x37,
+  0x36, 0x32, 0x39, 0x33, 0x39, 0x34, 0x35, 0x33, 0x31, 0x32, 0x35, 0x3b,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x65,
+  0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x35, 0x32, 0x32, 0x20, 0x3d,
+  0x20, 0x28, 0x70, 0x6f, 0x77, 0x72, 0x28, 0x61, 0x62, 0x73, 0x28, 0x5f,
+  0x35, 0x31, 0x32, 0x29, 0x2c, 0x20, 0x30, 0x2e, 0x34, 0x31, 0x36, 0x36,
+  0x36, 0x36, 0x36, 0x35, 0x36, 0x37, 0x33, 0x32, 0x35, 0x35, 0x39, 0x32,
+  0x30, 0x34, 0x31, 0x30, 0x31, 0x35, 0x36, 0x32, 0x35, 0x29, 0x20, 0x2a,
+  0x20, 0x31, 0x2e, 0x30, 0x35, 0x34, 0x39, 0x39, 0x39, 0x39, 0x34, 0x37,
+  0x35, 0x34, 0x37, 0x39, 0x31, 0x32, 0x35, 0x39, 0x37, 0x36, 0x35, 0x36,
+  0x32, 0x35, 0x29, 0x20, 0x2d, 0x20, 0x30, 0x2e, 0x30, 0x35, 0x34, 0x39,
+  0x39, 0x39, 0x39, 0x39, 0x39, 0x37, 0x30, 0x31, 0x39, 0x37, 0x36, 0x37,
+  0x37, 0x36, 0x31, 0x32, 0x33, 0x30, 0x34, 0x36, 0x38, 0x37, 0x35, 0x3b,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x66,
+  0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x35, 0x32, 0x33, 0x20, 0x3d, 0x20,
+  0x5f, 0x34, 0x39, 0x34, 0x2e, 0x7a, 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, 0x35, 0x33, 0x33, 0x3b, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x5f, 0x35, 0x32, 0x33,
+  0x20, 0x3c, 0x3d, 0x20, 0x30, 0x2e, 0x30, 0x30, 0x33, 0x31, 0x33, 0x30,
+  0x38, 0x30, 0x30, 0x30, 0x39, 0x30, 0x37, 0x33, 0x30, 0x31, 0x39, 0x30,
+  0x32, 0x37, 0x37, 0x30, 0x39, 0x39, 0x36, 0x30, 0x39, 0x33, 0x37, 0x35,
+  0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 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,
+  0x20, 0x20, 0x20, 0x20, 0x5f, 0x35, 0x33, 0x33, 0x20, 0x3d, 0x20, 0x5f,
+  0x35, 0x32, 0x33, 0x20, 0x2a, 0x20, 0x31, 0x32, 0x2e, 0x39, 0x32, 0x30,
+  0x30, 0x30, 0x30, 0x30, 0x37, 0x36, 0x32, 0x39, 0x33, 0x39, 0x34, 0x35,
+  0x33, 0x31, 0x32, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 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,
+  0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x5f,
+  0x35, 0x33, 0x33, 0x20, 0x3d, 0x20, 0x28, 0x70, 0x6f, 0x77, 0x72, 0x28,
+  0x61, 0x62, 0x73, 0x28, 0x5f, 0x35, 0x32, 0x33, 0x29, 0x2c, 0x20, 0x30,
+  0x2e, 0x34, 0x31, 0x36, 0x36, 0x36, 0x36, 0x36, 0x35, 0x36, 0x37, 0x33,
+  0x32, 0x35, 0x35, 0x39, 0x32, 0x30, 0x34, 0x31, 0x30, 0x31, 0x35, 0x36,
+  0x32, 0x35, 0x29, 0x20, 0x2a, 0x20, 0x31, 0x2e, 0x30, 0x35, 0x34, 0x39,
+  0x39, 0x39, 0x39, 0x34, 0x37, 0x35, 0x34, 0x37, 0x39, 0x31, 0x32, 0x35,
+  0x39, 0x37, 0x36, 0x35, 0x36, 0x32, 0x35, 0x29, 0x20, 0x2d, 0x20, 0x30,
+  0x2e, 0x30, 0x35, 0x34, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x37, 0x30,
+  0x31, 0x39, 0x37, 0x36, 0x37, 0x37, 0x36, 0x31, 0x32, 0x33, 0x30, 0x34,
+  0x36, 0x38, 0x37, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 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,
+  0x20, 0x20, 0x20, 0x20, 0x5f, 0x35, 0x33, 0x36, 0x20, 0x3d, 0x20, 0x66,
+  0x61, 0x73, 0x74, 0x3a, 0x3a, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x28, 0x66,
+  0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x5f, 0x35, 0x31, 0x31, 0x2c, 0x20,
+  0x5f, 0x35, 0x32, 0x32, 0x2c, 0x20, 0x5f, 0x35, 0x33, 0x33, 0x29, 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, 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, 0x35, 0x33, 0x36, 0x20, 0x3d, 0x20,
+  0x5f, 0x34, 0x39, 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, 0x66, 0x6c, 0x6f, 0x61,
+  0x74, 0x34, 0x20, 0x5f, 0x35, 0x33, 0x37, 0x20, 0x3d, 0x20, 0x66, 0x6c,
+  0x6f, 0x61, 0x74, 0x34, 0x28, 0x5f, 0x35, 0x33, 0x36, 0x2e, 0x78, 0x2c,
+  0x20, 0x5f, 0x35, 0x33, 0x36, 0x2e, 0x79, 0x2c, 0x20, 0x5f, 0x35, 0x33,
+  0x36, 0x2e, 0x7a, 0x2c, 0x20, 0x5f, 0x31, 0x31, 0x32, 0x2e, 0x77, 0x29,
+  0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x5f, 0x35, 0x33, 0x37, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x5f,
+  0x34, 0x33, 0x35, 0x2e, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x36, 0x30, 0x32, 0x20,
+  0x3d, 0x20, 0x5f, 0x35, 0x33, 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, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20,
+  0x5f, 0x36, 0x30, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x5f, 0x33,
+  0x36, 0x38, 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, 0x33, 0x20, 0x5f, 0x35, 0x34, 0x38, 0x20, 0x3d, 0x20,
+  0x28, 0x5f, 0x34, 0x33, 0x35, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x2a, 0x20,
+  0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x78, 0x33, 0x28, 0x66, 0x6c, 0x6f,
+  0x61, 0x74, 0x33, 0x28, 0x31, 0x2e, 0x36, 0x36, 0x30, 0x34, 0x39, 0x35,
+  0x39, 0x39, 0x36, 0x34, 0x37, 0x35, 0x32, 0x31, 0x39, 0x37, 0x32, 0x36,
+  0x35, 0x36, 0x32, 0x35, 0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x35, 0x38, 0x37,
+  0x36, 0x35, 0x36, 0x30, 0x32, 0x31, 0x31, 0x31, 0x38, 0x31, 0x36, 0x34,
+  0x30, 0x36, 0x32, 0x35, 0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x30, 0x37, 0x32,
+  0x38, 0x33, 0x39, 0x39, 0x39, 0x37, 0x37, 0x30, 0x38, 0x37, 0x39, 0x37,
+  0x34, 0x35, 0x34, 0x38, 0x33, 0x33, 0x39, 0x38, 0x34, 0x33, 0x37, 0x35,
+  0x29, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x2d, 0x30,
+  0x2e, 0x31, 0x32, 0x34, 0x35, 0x34, 0x36, 0x39, 0x39, 0x37, 0x32, 0x34,
+  0x39, 0x31, 0x32, 0x36, 0x34, 0x33, 0x34, 0x33, 0x32, 0x36, 0x31, 0x37,
+  0x31, 0x38, 0x37, 0x35, 0x2c, 0x20, 0x31, 0x2e, 0x31, 0x33, 0x32, 0x38,
+  0x39, 0x34, 0x39, 0x39, 0x32, 0x38, 0x32, 0x38, 0x33, 0x36, 0x39, 0x31,
+  0x34, 0x30, 0x36, 0x32, 0x35, 0x2c, 0x20, 0x2d, 0x30, 0x2e, 0x30, 0x30,
+  0x38, 0x33, 0x34, 0x38, 0x30, 0x30, 0x30, 0x32, 0x33, 0x35, 0x38, 0x35,
+  0x35, 0x35, 0x37, 0x39, 0x33, 0x37, 0x36, 0x32, 0x32, 0x30, 0x37, 0x30,
+  0x33, 0x31, 0x32, 0x35, 0x29, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74,
+  0x33, 0x28, 0x2d, 0x30, 0x2e, 0x30, 0x31, 0x38, 0x31, 0x35, 0x34, 0x30,
+  0x30, 0x30, 0x38, 0x36, 0x33, 0x34, 0x33, 0x32, 0x38, 0x38, 0x34, 0x32,
+  0x31, 0x36, 0x33, 0x30, 0x38, 0x35, 0x39, 0x33, 0x37, 0x35, 0x2c, 0x20,
+  0x2d, 0x30, 0x2e, 0x31, 0x30, 0x30, 0x35, 0x39, 0x37, 0x30, 0x30, 0x31,
+  0x36, 0x31, 0x32, 0x31, 0x38, 0x36, 0x34, 0x33, 0x31, 0x38, 0x38, 0x34,
+  0x37, 0x36, 0x35, 0x36, 0x32, 0x35, 0x2c, 0x20, 0x31, 0x2e, 0x31, 0x31,
+  0x38, 0x37, 0x35, 0x31, 0x30, 0x34, 0x39, 0x30, 0x34, 0x31, 0x37, 0x34,
+  0x38, 0x30, 0x34, 0x36, 0x38, 0x37, 0x35, 0x29, 0x29, 0x29, 0x2e, 0x78,
+  0x79, 0x7a, 0x20, 0x2a, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e,
+  0x74, 0x73, 0x2e, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x73, 0x63, 0x61,
+  0x6c, 0x65, 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, 0x35, 0x39, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x69, 0x66, 0x20, 0x28, 0x21, 0x28, 0x43, 0x6f, 0x6e, 0x73, 0x74,
+  0x61, 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x63, 0x52, 0x47, 0x42, 0x5f, 0x6f,
+  0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x21, 0x3d, 0x20, 0x30, 0x2e, 0x30,
+  0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f,
+  0x35, 0x35, 0x35, 0x20, 0x3d, 0x20, 0x5f, 0x35, 0x34, 0x38, 0x2e, 0x78,
+  0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c,
+  0x6f, 0x61, 0x74, 0x20, 0x5f, 0x35, 0x36, 0x35, 0x3b, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x5f, 0x35,
+  0x35, 0x35, 0x20, 0x3c, 0x3d, 0x20, 0x30, 0x2e, 0x30, 0x30, 0x33, 0x31,
+  0x33, 0x30, 0x38, 0x30, 0x30, 0x30, 0x39, 0x30, 0x37, 0x33, 0x30, 0x31,
+  0x39, 0x30, 0x32, 0x37, 0x37, 0x30, 0x39, 0x39, 0x36, 0x30, 0x39, 0x33,
+  0x37, 0x35, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  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, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x5f, 0x35, 0x36, 0x35, 0x20, 0x3d, 0x20, 0x5f, 0x35, 0x35,
+  0x35, 0x20, 0x2a, 0x20, 0x31, 0x32, 0x2e, 0x39, 0x32, 0x30, 0x30, 0x30,
+  0x30, 0x30, 0x37, 0x36, 0x32, 0x39, 0x33, 0x39, 0x34, 0x35, 0x33, 0x31,
+  0x32, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  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, 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, 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, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x5f, 0x35, 0x36, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x70, 0x6f, 0x77,
+  0x72, 0x28, 0x61, 0x62, 0x73, 0x28, 0x5f, 0x35, 0x35, 0x35, 0x29, 0x2c,
+  0x20, 0x30, 0x2e, 0x34, 0x31, 0x36, 0x36, 0x36, 0x36, 0x36, 0x35, 0x36,
+  0x37, 0x33, 0x32, 0x35, 0x35, 0x39, 0x32, 0x30, 0x34, 0x31, 0x30, 0x31,
+  0x35, 0x36, 0x32, 0x35, 0x29, 0x20, 0x2a, 0x20, 0x31, 0x2e, 0x30, 0x35,
+  0x34, 0x39, 0x39, 0x39, 0x39, 0x34, 0x37, 0x35, 0x34, 0x37, 0x39, 0x31,
+  0x32, 0x35, 0x39, 0x37, 0x36, 0x35, 0x36, 0x32, 0x35, 0x29, 0x20, 0x2d,
+  0x20, 0x30, 0x2e, 0x30, 0x35, 0x34, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39,
+  0x37, 0x30, 0x31, 0x39, 0x37, 0x36, 0x37, 0x37, 0x36, 0x31, 0x32, 0x33,
+  0x30, 0x34, 0x36, 0x38, 0x37, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x35, 0x36, 0x36,
+  0x20, 0x3d, 0x20, 0x5f, 0x35, 0x34, 0x38, 0x2e, 0x79, 0x3b, 0x0a, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74,
+  0x20, 0x5f, 0x35, 0x37, 0x36, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x5f, 0x35, 0x36, 0x36, 0x20,
+  0x3c, 0x3d, 0x20, 0x30, 0x2e, 0x30, 0x30, 0x33, 0x31, 0x33, 0x30, 0x38,
+  0x30, 0x30, 0x30, 0x39, 0x30, 0x37, 0x33, 0x30, 0x31, 0x39, 0x30, 0x32,
+  0x37, 0x37, 0x30, 0x39, 0x39, 0x36, 0x30, 0x39, 0x33, 0x37, 0x35, 0x29,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f,
+  0x35, 0x37, 0x36, 0x20, 0x3d, 0x20, 0x5f, 0x35, 0x36, 0x36, 0x20, 0x2a,
+  0x20, 0x31, 0x32, 0x2e, 0x39, 0x32, 0x30, 0x30, 0x30, 0x30, 0x30, 0x37,
+  0x36, 0x32, 0x39, 0x33, 0x39, 0x34, 0x35, 0x33, 0x31, 0x32, 0x35, 0x3b,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 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, 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,
+  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, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x35,
+  0x37, 0x36, 0x20, 0x3d, 0x20, 0x28, 0x70, 0x6f, 0x77, 0x72, 0x28, 0x61,
+  0x62, 0x73, 0x28, 0x5f, 0x35, 0x36, 0x36, 0x29, 0x2c, 0x20, 0x30, 0x2e,
+  0x34, 0x31, 0x36, 0x36, 0x36, 0x36, 0x36, 0x35, 0x36, 0x37, 0x33, 0x32,
+  0x35, 0x35, 0x39, 0x32, 0x30, 0x34, 0x31, 0x30, 0x31, 0x35, 0x36, 0x32,
+  0x35, 0x29, 0x20, 0x2a, 0x20, 0x31, 0x2e, 0x30, 0x35, 0x34, 0x39, 0x39,
+  0x39, 0x39, 0x34, 0x37, 0x35, 0x34, 0x37, 0x39, 0x31, 0x32, 0x35, 0x39,
+  0x37, 0x36, 0x35, 0x36, 0x32, 0x35, 0x29, 0x20, 0x2d, 0x20, 0x30, 0x2e,
+  0x30, 0x35, 0x34, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x37, 0x30, 0x31,
+  0x39, 0x37, 0x36, 0x37, 0x37, 0x36, 0x31, 0x32, 0x33, 0x30, 0x34, 0x36,
+  0x38, 0x37, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 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, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66,
+  0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x35, 0x37, 0x37, 0x20, 0x3d, 0x20,
+  0x5f, 0x35, 0x34, 0x38, 0x2e, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x5f, 0x35,
+  0x38, 0x37, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x69, 0x66, 0x20, 0x28, 0x5f, 0x35, 0x37, 0x37, 0x20, 0x3c, 0x3d, 0x20,
+  0x30, 0x2e, 0x30, 0x30, 0x33, 0x31, 0x33, 0x30, 0x38, 0x30, 0x30, 0x30,
+  0x39, 0x30, 0x37, 0x33, 0x30, 0x31, 0x39, 0x30, 0x32, 0x37, 0x37, 0x30,
+  0x39, 0x39, 0x36, 0x30, 0x39, 0x33, 0x37, 0x35, 0x29, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 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,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x35, 0x38, 0x37,
+  0x20, 0x3d, 0x20, 0x5f, 0x35, 0x37, 0x37, 0x20, 0x2a, 0x20, 0x31, 0x32,
+  0x2e, 0x39, 0x32, 0x30, 0x30, 0x30, 0x30, 0x30, 0x37, 0x36, 0x32, 0x39,
+  0x33, 0x39, 0x34, 0x35, 0x33, 0x31, 0x32, 0x35, 0x3b, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 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, 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, 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, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x35, 0x38, 0x37, 0x20,
+  0x3d, 0x20, 0x28, 0x70, 0x6f, 0x77, 0x72, 0x28, 0x61, 0x62, 0x73, 0x28,
+  0x5f, 0x35, 0x37, 0x37, 0x29, 0x2c, 0x20, 0x30, 0x2e, 0x34, 0x31, 0x36,
+  0x36, 0x36, 0x36, 0x36, 0x35, 0x36, 0x37, 0x33, 0x32, 0x35, 0x35, 0x39,
+  0x32, 0x30, 0x34, 0x31, 0x30, 0x31, 0x35, 0x36, 0x32, 0x35, 0x29, 0x20,
+  0x2a, 0x20, 0x31, 0x2e, 0x30, 0x35, 0x34, 0x39, 0x39, 0x39, 0x39, 0x34,
+  0x37, 0x35, 0x34, 0x37, 0x39, 0x31, 0x32, 0x35, 0x39, 0x37, 0x36, 0x35,
+  0x36, 0x32, 0x35, 0x29, 0x20, 0x2d, 0x20, 0x30, 0x2e, 0x30, 0x35, 0x34,
+  0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x37, 0x30, 0x31, 0x39, 0x37, 0x36,
+  0x37, 0x37, 0x36, 0x31, 0x32, 0x33, 0x30, 0x34, 0x36, 0x38, 0x37, 0x35,
+  0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 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,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x35, 0x39, 0x30,
+  0x20, 0x3d, 0x20, 0x66, 0x61, 0x73, 0x74, 0x3a, 0x3a, 0x63, 0x6c, 0x61,
+  0x6d, 0x70, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x28, 0x5f, 0x35,
+  0x36, 0x35, 0x2c, 0x20, 0x5f, 0x35, 0x37, 0x36, 0x2c, 0x20, 0x5f, 0x35,
+  0x38, 0x37, 0x29, 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,
+  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, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20,
+  0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20,
+  0x20, 0x5f, 0x35, 0x39, 0x30, 0x20, 0x3d, 0x20, 0x5f, 0x35, 0x34, 0x38,
+  0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 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, 0x20, 0x20, 0x20, 0x20,
+  0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x5f, 0x35, 0x39, 0x31, 0x20,
+  0x3d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x28, 0x5f, 0x35, 0x39,
+  0x30, 0x2e, 0x78, 0x2c, 0x20, 0x5f, 0x35, 0x39, 0x30, 0x2e, 0x79, 0x2c,
+  0x20, 0x5f, 0x35, 0x39, 0x30, 0x2e, 0x7a, 0x2c, 0x20, 0x5f, 0x31, 0x31,
+  0x32, 0x2e, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x35,
+  0x39, 0x31, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x5f, 0x34, 0x33, 0x35, 0x2e,
+  0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x36, 0x30, 0x31, 0x20,
+  0x3d, 0x20, 0x5f, 0x35, 0x39, 0x31, 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, 0x66, 0x6c, 0x6f,
+  0x61, 0x74, 0x33, 0x20, 0x5f, 0x35, 0x39, 0x37, 0x20, 0x3d, 0x20, 0x5f,
+  0x34, 0x33, 0x35, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x2a, 0x20, 0x43, 0x6f,
+  0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6f, 0x6c, 0x6f,
+  0x72, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x5f, 0x35, 0x39, 0x38,
+  0x20, 0x3d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x28, 0x5f, 0x35,
+  0x39, 0x37, 0x2e, 0x78, 0x2c, 0x20, 0x5f, 0x35, 0x39, 0x37, 0x2e, 0x79,
+  0x2c, 0x20, 0x5f, 0x35, 0x39, 0x37, 0x2e, 0x7a, 0x2c, 0x20, 0x5f, 0x31,
+  0x31, 0x32, 0x2e, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f,
+  0x35, 0x39, 0x38, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x5f, 0x34, 0x33, 0x35,
+  0x2e, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x36, 0x30, 0x31,
+  0x20, 0x3d, 0x20, 0x5f, 0x35, 0x39, 0x38, 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,
+  0x36, 0x30, 0x32, 0x20, 0x3d, 0x20, 0x5f, 0x36, 0x30, 0x31, 0x3b, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x36, 0x30, 0x33, 0x20, 0x3d,
+  0x20, 0x5f, 0x36, 0x30, 0x32, 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, 0x20, 0x3d, 0x20, 0x5f, 0x36, 0x30, 0x33, 0x20, 0x2a, 0x20,
+  0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x43, 0x4f,
+  0x4c, 0x4f, 0x52, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65,
+  0x74, 0x75, 0x72, 0x6e, 0x20, 0x6f, 0x75, 0x74, 0x3b, 0x0a, 0x7d, 0x0a,
+  0x0a
+};
+static const unsigned int texture_advanced_frag_msl_len = 15313;

+ 1183 - 0
src/render/gpu/shaders/texture_advanced.frag.spv.h

@@ -0,0 +1,1183 @@
+static const unsigned char texture_advanced_frag_spv[] = {
+  0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0e, 0x00,
+  0x5d, 0x02, 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, 0x08, 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,
+  0x10, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
+  0x03, 0x00, 0x03, 0x00, 0x05, 0x00, 0x00, 0x00, 0x58, 0x02, 0x00, 0x00,
+  0x05, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00, 0x74, 0x79, 0x70, 0x65,
+  0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x00, 0x00,
+  0x06, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x73, 0x63, 0x52, 0x47, 0x42, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
+  0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f,
+  0x74, 0x79, 0x70, 0x65, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00,
+  0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x70, 0x75,
+  0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00,
+  0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x63, 0x6f, 0x6c, 0x6f,
+  0x72, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x00, 0x06, 0x00, 0x06, 0x00,
+  0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x74, 0x65, 0x78, 0x65,
+  0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00,
+  0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x74, 0x6f, 0x6e, 0x65,
+  0x6d, 0x61, 0x70, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x00, 0x00,
+  0x06, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
+  0x74, 0x6f, 0x6e, 0x65, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x61, 0x63, 0x74,
+  0x6f, 0x72, 0x31, 0x00, 0x06, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x00,
+  0x07, 0x00, 0x00, 0x00, 0x74, 0x6f, 0x6e, 0x65, 0x6d, 0x61, 0x70, 0x5f,
+  0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x32, 0x00, 0x06, 0x00, 0x07, 0x00,
+  0x06, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x73, 0x64, 0x72, 0x5f,
+  0x77, 0x68, 0x69, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x00,
+  0x06, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
+  0x59, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x00, 0x06, 0x00, 0x05, 0x00,
+  0x06, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x52, 0x63, 0x6f, 0x65,
+  0x66, 0x66, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00,
+  0x0b, 0x00, 0x00, 0x00, 0x47, 0x63, 0x6f, 0x65, 0x66, 0x66, 0x00, 0x00,
+  0x06, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
+  0x42, 0x63, 0x6f, 0x65, 0x66, 0x66, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00,
+  0x07, 0x00, 0x00, 0x00, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74,
+  0x73, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x08, 0x00, 0x00, 0x00,
+  0x74, 0x79, 0x70, 0x65, 0x2e, 0x32, 0x64, 0x2e, 0x69, 0x6d, 0x61, 0x67,
+  0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00,
+  0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x30, 0x00, 0x00, 0x00, 0x00,
+  0x05, 0x00, 0x05, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x74, 0x65, 0x78, 0x74,
+  0x75, 0x72, 0x65, 0x31, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00,
+  0x0b, 0x00, 0x00, 0x00, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32,
+  0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x0c, 0x00, 0x00, 0x00,
+  0x74, 0x79, 0x70, 0x65, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72,
+  0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00,
+  0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00,
+  0x05, 0x00, 0x05, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x73, 0x61, 0x6d, 0x70,
+  0x6c, 0x65, 0x72, 0x31, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x2e, 0x76, 0x61, 0x72, 0x2e, 0x43,
+  0x4f, 0x4c, 0x4f, 0x52, 0x30, 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, 0x30, 0x00, 0x00, 0x00, 0x00,
+  0x05, 0x00, 0x07, 0x00, 0x05, 0x00, 0x00, 0x00, 0x6f, 0x75, 0x74, 0x2e,
+  0x76, 0x61, 0x72, 0x2e, 0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65,
+  0x74, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00,
+  0x0f, 0x00, 0x00, 0x00, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x73, 0x61, 0x6d,
+  0x70, 0x6c, 0x65, 0x64, 0x2e, 0x69, 0x6d, 0x61, 0x67, 0x65, 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,
+  0x05, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x47, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00,
+  0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00,
+  0x09, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x47, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x0a, 0x00, 0x00, 0x00,
+  0x22, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00,
+  0x0a, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x47, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00,
+  0x21, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00,
+  0x0d, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x47, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x0e, 0x00, 0x00, 0x00,
+  0x22, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00,
+  0x0e, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x48, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00,
+  0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00,
+  0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+  0x48, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x23, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00,
+  0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00,
+  0x05, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+  0x48, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
+  0x23, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00,
+  0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00,
+  0x28, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00,
+  0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00,
+  0x48, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
+  0x23, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00,
+  0x06, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00,
+  0x0b, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00,
+  0x48, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
+  0x23, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00,
+  0x06, 0x00, 0x00, 0x00, 0x02, 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,
+  0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x80, 0x3f, 0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x2b, 0x00, 0x04, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40,
+  0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x80, 0x40, 0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x40, 0x2b, 0x00, 0x04, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40,
+  0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0xe0, 0x40, 0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x2b, 0x00, 0x04, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x41,
+  0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00,
+  0x8c, 0x9d, 0x20, 0x3f, 0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x1c, 0x00, 0x00, 0x00, 0xc8, 0x97, 0xa8, 0x3e, 0x2b, 0x00, 0x04, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xf9, 0x68, 0x31, 0x3d,
+  0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00,
+  0xba, 0x82, 0x8d, 0x3d, 0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x1f, 0x00, 0x00, 0x00, 0x0a, 0x67, 0x6b, 0x3f, 0x2b, 0x00, 0x04, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xaf, 0x27, 0x3a, 0x3c,
+  0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,
+  0x6b, 0x46, 0x86, 0x3c, 0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x22, 0x00, 0x00, 0x00, 0x29, 0x40, 0xb4, 0x3d, 0x2b, 0x00, 0x04, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xb7, 0x45, 0x65, 0x3f,
+  0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
+  0x22, 0x8b, 0xd4, 0x3f, 0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x25, 0x00, 0x00, 0x00, 0xa0, 0x70, 0x16, 0xbf, 0x2b, 0x00, 0x04, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x23, 0x2d, 0x95, 0xbd,
+  0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00,
+  0x7f, 0x12, 0xff, 0xbd, 0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x28, 0x00, 0x00, 0x00, 0xb4, 0x02, 0x91, 0x3f, 0x2b, 0x00, 0x04, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x0d, 0xc6, 0x08, 0xbc,
+  0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00,
+  0xb3, 0xb7, 0x94, 0xbc, 0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x2b, 0x00, 0x00, 0x00, 0xcd, 0x05, 0xce, 0xbd, 0x2b, 0x00, 0x04, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x3c, 0x33, 0x8f, 0x3f,
+  0x15, 0x00, 0x04, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x2d, 0x00, 0x00, 0x00,
+  0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00,
+  0x2d, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x2b, 0x00, 0x04, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
+  0x05, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x2d, 0x00, 0x00, 0x00,
+  0x31, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00,
+  0x2d, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x17, 0x00, 0x04, 0x00, 0x33, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x04, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x07, 0x00, 0x33, 0x00, 0x00, 0x00,
+  0x34, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00,
+  0x12, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x43,
+  0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x3f, 0x2b, 0x00, 0x04, 0x00, 0x2d, 0x00, 0x00, 0x00,
+  0x37, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00,
+  0x2d, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
+  0x2b, 0x00, 0x04, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00,
+  0x0b, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x2d, 0x00, 0x00, 0x00,
+  0x3a, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x3f,
+  0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00,
+  0x00, 0xd0, 0x96, 0x41, 0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x3d, 0x00, 0x00, 0x00, 0x00, 0x80, 0x95, 0x41, 0x2b, 0x00, 0x04, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x6b, 0xe0, 0xc8, 0x40,
+  0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00,
+  0xac, 0xcd, 0x4f, 0x3c, 0x17, 0x00, 0x04, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x06, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00,
+  0x3f, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x06, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00,
+  0x3b, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x06, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
+  0x11, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x06, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00,
+  0x3c, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x06, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00,
+  0x3e, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x00, 0x40, 0x1c, 0x46,
+  0x2b, 0x00, 0x04, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00,
+  0x08, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x2d, 0x00, 0x00, 0x00,
+  0x48, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00,
+  0x2d, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
+  0x2c, 0x00, 0x06, 0x00, 0x40, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00,
+  0x12, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00,
+  0x2b, 0x00, 0x04, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00,
+  0x04, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x4c, 0x00, 0x00, 0x00, 0xac, 0xc5, 0x27, 0x37, 0x17, 0x00, 0x04, 0x00,
+  0x4d, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x2c, 0x00, 0x05, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00,
+  0x4c, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x05, 0x00,
+  0x4d, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00,
+  0x12, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x05, 0x00, 0x4d, 0x00, 0x00, 0x00,
+  0x50, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00,
+  0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00,
+  0xe6, 0xae, 0x25, 0x3d, 0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x52, 0x00, 0x00, 0x00, 0x52, 0xb8, 0x4e, 0x41, 0x2b, 0x00, 0x04, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0xae, 0x47, 0x61, 0x3d,
+  0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00,
+  0x3d, 0x0a, 0x87, 0x3f, 0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x55, 0x00, 0x00, 0x00, 0x9a, 0x99, 0x19, 0x40, 0x2b, 0x00, 0x04, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x1c, 0x2e, 0x4d, 0x3b,
+  0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00,
+  0x55, 0x55, 0xd5, 0x3e, 0x1e, 0x00, 0x0f, 0x00, 0x06, 0x00, 0x00, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x33, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00,
+  0x33, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x58, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x19, 0x00, 0x09, 0x00,
+  0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00,
+  0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+  0x1a, 0x00, 0x02, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00,
+  0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
+  0x18, 0x00, 0x04, 0x00, 0x5b, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x5c, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00,
+  0x5d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00,
+  0x20, 0x00, 0x04, 0x00, 0x5e, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x33, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x5f, 0x00, 0x00, 0x00,
+  0x21, 0x00, 0x03, 0x00, 0x60, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00,
+  0x20, 0x00, 0x04, 0x00, 0x61, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x14, 0x00, 0x02, 0x00, 0x62, 0x00, 0x00, 0x00,
+  0x1b, 0x00, 0x03, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+  0x20, 0x00, 0x04, 0x00, 0x63, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x33, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x58, 0x00, 0x00, 0x00,
+  0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00,
+  0x59, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x3b, 0x00, 0x04, 0x00, 0x59, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x59, 0x00, 0x00, 0x00,
+  0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00,
+  0x5a, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x3b, 0x00, 0x04, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x5c, 0x00, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00,
+  0x5d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x3b, 0x00, 0x04, 0x00, 0x5e, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x06, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x64, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
+  0x1d, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x06, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x65, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00,
+  0x20, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x06, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x66, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00,
+  0x23, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x06, 0x00, 0x5b, 0x00, 0x00, 0x00,
+  0x67, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00,
+  0x66, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x06, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x68, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00,
+  0x26, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x06, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x69, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
+  0x29, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x06, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x6a, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00,
+  0x2c, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x06, 0x00, 0x5b, 0x00, 0x00, 0x00,
+  0x6b, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00,
+  0x6a, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3b, 0x2e, 0x00, 0x03, 0x00,
+  0x33, 0x00, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x6f, 0xa7, 0x72, 0x3f,
+  0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x6f, 0x00, 0x00, 0x00,
+  0x91, 0x83, 0x9e, 0x3d, 0x01, 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x00,
+  0x70, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x07, 0x00, 0x33, 0x00, 0x00, 0x00,
+  0x71, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
+  0x11, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00,
+  0x5f, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x60, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x73, 0x00, 0x00, 0x00,
+  0x3d, 0x00, 0x04, 0x00, 0x33, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x4d, 0x00, 0x00, 0x00,
+  0x75, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00,
+  0x61, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
+  0x32, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x77, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x05, 0x00,
+  0x62, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
+  0x11, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00, 0x79, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00, 0x78, 0x00, 0x00, 0x00,
+  0x7a, 0x00, 0x00, 0x00, 0x7b, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00,
+  0x7a, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0x79, 0x00, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0x7b, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x05, 0x00,
+  0x62, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
+  0x14, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00, 0x7d, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00, 0x7c, 0x00, 0x00, 0x00,
+  0x7e, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00,
+  0x7e, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00,
+  0x80, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
+  0x0c, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
+  0x56, 0x00, 0x05, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00,
+  0x80, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x57, 0x00, 0x06, 0x00,
+  0x33, 0x00, 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00,
+  0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00,
+  0x7d, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x00, 0x00,
+  0xb4, 0x00, 0x05, 0x00, 0x62, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00,
+  0x77, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00,
+  0x85, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00,
+  0x84, 0x00, 0x00, 0x00, 0x86, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0x86, 0x00, 0x00, 0x00, 0xd1, 0x00, 0x04, 0x00,
+  0x4d, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00,
+  0x41, 0x00, 0x05, 0x00, 0x63, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00,
+  0x07, 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
+  0x33, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00,
+  0x4f, 0x00, 0x07, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x8b, 0x00, 0x00, 0x00,
+  0x8a, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x4d, 0x00, 0x00, 0x00,
+  0x8c, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x8b, 0x00, 0x00, 0x00,
+  0x0c, 0x00, 0x08, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x8d, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00,
+  0x4e, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00,
+  0x4d, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00,
+  0x8b, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x05, 0x00, 0x4d, 0x00, 0x00, 0x00,
+  0x8f, 0x00, 0x00, 0x00, 0x8d, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00,
+  0x83, 0x00, 0x05, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00,
+  0x8e, 0x00, 0x00, 0x00, 0x8f, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00,
+  0x4d, 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00,
+  0x8d, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x4d, 0x00, 0x00, 0x00,
+  0x92, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
+  0x90, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x08, 0x00, 0x4d, 0x00, 0x00, 0x00,
+  0x93, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00,
+  0x91, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00,
+  0x0c, 0x00, 0x06, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00,
+  0x81, 0x00, 0x05, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x95, 0x00, 0x00, 0x00,
+  0x94, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00,
+  0x4d, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x95, 0x00, 0x00, 0x00,
+  0x93, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x07, 0x00, 0x4d, 0x00, 0x00, 0x00,
+  0x97, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00,
+  0x4d, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00,
+  0x97, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00,
+  0x99, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
+  0x0c, 0x00, 0x00, 0x00, 0x9a, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
+  0xcf, 0x00, 0x04, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x9b, 0x00, 0x00, 0x00,
+  0x75, 0x00, 0x00, 0x00, 0xd0, 0x00, 0x04, 0x00, 0x4d, 0x00, 0x00, 0x00,
+  0x9c, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x56, 0x00, 0x05, 0x00,
+  0x0f, 0x00, 0x00, 0x00, 0x9d, 0x00, 0x00, 0x00, 0x99, 0x00, 0x00, 0x00,
+  0x9a, 0x00, 0x00, 0x00, 0x58, 0x00, 0x08, 0x00, 0x33, 0x00, 0x00, 0x00,
+  0x9e, 0x00, 0x00, 0x00, 0x9d, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00,
+  0x04, 0x00, 0x00, 0x00, 0x9b, 0x00, 0x00, 0x00, 0x9c, 0x00, 0x00, 0x00,
+  0xf9, 0x00, 0x02, 0x00, 0x85, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00,
+  0x87, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x05, 0x00, 0x62, 0x00, 0x00, 0x00,
+  0x9f, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00,
+  0xf7, 0x00, 0x03, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0xfa, 0x00, 0x04, 0x00, 0x9f, 0x00, 0x00, 0x00, 0xa1, 0x00, 0x00, 0x00,
+  0xa2, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xa1, 0x00, 0x00, 0x00,
+  0x3d, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00,
+  0x09, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00,
+  0xa4, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x56, 0x00, 0x05, 0x00,
+  0x0f, 0x00, 0x00, 0x00, 0xa5, 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00,
+  0xa4, 0x00, 0x00, 0x00, 0x57, 0x00, 0x06, 0x00, 0x33, 0x00, 0x00, 0x00,
+  0xa6, 0x00, 0x00, 0x00, 0xa5, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0xa7, 0x00, 0x00, 0x00, 0xa6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x51, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00,
+  0xa6, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0xa9, 0x00, 0x00, 0x00, 0xa6, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x33, 0x00, 0x00, 0x00,
+  0xaa, 0x00, 0x00, 0x00, 0xa7, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00,
+  0xa9, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00,
+  0xa0, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xa2, 0x00, 0x00, 0x00,
+  0xb4, 0x00, 0x05, 0x00, 0x62, 0x00, 0x00, 0x00, 0xab, 0x00, 0x00, 0x00,
+  0x77, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00,
+  0xac, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00,
+  0xab, 0x00, 0x00, 0x00, 0xad, 0x00, 0x00, 0x00, 0xae, 0x00, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0xad, 0x00, 0x00, 0x00, 0xd1, 0x00, 0x04, 0x00,
+  0x4d, 0x00, 0x00, 0x00, 0xaf, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00,
+  0x41, 0x00, 0x05, 0x00, 0x63, 0x00, 0x00, 0x00, 0xb0, 0x00, 0x00, 0x00,
+  0x07, 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
+  0x33, 0x00, 0x00, 0x00, 0xb1, 0x00, 0x00, 0x00, 0xb0, 0x00, 0x00, 0x00,
+  0x4f, 0x00, 0x07, 0x00, 0x4d, 0x00, 0x00, 0x00, 0xb2, 0x00, 0x00, 0x00,
+  0xb1, 0x00, 0x00, 0x00, 0xb1, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x4d, 0x00, 0x00, 0x00,
+  0xb3, 0x00, 0x00, 0x00, 0xaf, 0x00, 0x00, 0x00, 0xb2, 0x00, 0x00, 0x00,
+  0x0c, 0x00, 0x08, 0x00, 0x4d, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0xb3, 0x00, 0x00, 0x00,
+  0x4e, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00,
+  0x4d, 0x00, 0x00, 0x00, 0xb5, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00,
+  0xb2, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x05, 0x00, 0x4d, 0x00, 0x00, 0x00,
+  0xb6, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00,
+  0x83, 0x00, 0x05, 0x00, 0x4d, 0x00, 0x00, 0x00, 0xb7, 0x00, 0x00, 0x00,
+  0xb5, 0x00, 0x00, 0x00, 0xb6, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00,
+  0x4d, 0x00, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00,
+  0xb4, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x4d, 0x00, 0x00, 0x00,
+  0xb9, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
+  0xb7, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x08, 0x00, 0x4d, 0x00, 0x00, 0x00,
+  0xba, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00,
+  0xb8, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0xb9, 0x00, 0x00, 0x00,
+  0x0c, 0x00, 0x06, 0x00, 0x4d, 0x00, 0x00, 0x00, 0xbb, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xb7, 0x00, 0x00, 0x00,
+  0x81, 0x00, 0x05, 0x00, 0x4d, 0x00, 0x00, 0x00, 0xbc, 0x00, 0x00, 0x00,
+  0xbb, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00,
+  0x4d, 0x00, 0x00, 0x00, 0xbd, 0x00, 0x00, 0x00, 0xbc, 0x00, 0x00, 0x00,
+  0xba, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x07, 0x00, 0x4d, 0x00, 0x00, 0x00,
+  0xbe, 0x00, 0x00, 0x00, 0xb1, 0x00, 0x00, 0x00, 0xb1, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00,
+  0x4d, 0x00, 0x00, 0x00, 0xbf, 0x00, 0x00, 0x00, 0xbd, 0x00, 0x00, 0x00,
+  0xbe, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00,
+  0xc0, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
+  0x0c, 0x00, 0x00, 0x00, 0xc1, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
+  0xcf, 0x00, 0x04, 0x00, 0x4d, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x00, 0x00,
+  0x75, 0x00, 0x00, 0x00, 0xd0, 0x00, 0x04, 0x00, 0x4d, 0x00, 0x00, 0x00,
+  0xc3, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x56, 0x00, 0x05, 0x00,
+  0x0f, 0x00, 0x00, 0x00, 0xc4, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00,
+  0xc1, 0x00, 0x00, 0x00, 0x58, 0x00, 0x08, 0x00, 0x33, 0x00, 0x00, 0x00,
+  0xc5, 0x00, 0x00, 0x00, 0xc4, 0x00, 0x00, 0x00, 0xbf, 0x00, 0x00, 0x00,
+  0x04, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x00, 0x00, 0xc3, 0x00, 0x00, 0x00,
+  0x51, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0xc6, 0x00, 0x00, 0x00,
+  0xc5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0xc7, 0x00, 0x00, 0x00, 0xc5, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0xc8, 0x00, 0x00, 0x00, 0xc5, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x50, 0x00, 0x07, 0x00, 0x33, 0x00, 0x00, 0x00, 0xc9, 0x00, 0x00, 0x00,
+  0xc6, 0x00, 0x00, 0x00, 0xc7, 0x00, 0x00, 0x00, 0xc8, 0x00, 0x00, 0x00,
+  0x12, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0xac, 0x00, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0xae, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x05, 0x00,
+  0x62, 0x00, 0x00, 0x00, 0xca, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
+  0x16, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00, 0xcb, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00, 0xca, 0x00, 0x00, 0x00,
+  0xcc, 0x00, 0x00, 0x00, 0xcd, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00,
+  0xcc, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00,
+  0xce, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
+  0x0c, 0x00, 0x00, 0x00, 0xcf, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
+  0x56, 0x00, 0x05, 0x00, 0x0f, 0x00, 0x00, 0x00, 0xd0, 0x00, 0x00, 0x00,
+  0xce, 0x00, 0x00, 0x00, 0xcf, 0x00, 0x00, 0x00, 0x57, 0x00, 0x06, 0x00,
+  0x33, 0x00, 0x00, 0x00, 0xd1, 0x00, 0x00, 0x00, 0xd0, 0x00, 0x00, 0x00,
+  0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0xd2, 0x00, 0x00, 0x00, 0xd1, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0xd3, 0x00, 0x00, 0x00, 0xd2, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00,
+  0x3d, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00,
+  0x0a, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00,
+  0xd5, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0xd6, 0x00, 0x00, 0x00, 0xd3, 0x00, 0x00, 0x00,
+  0x36, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0xd7, 0x00, 0x00, 0x00, 0xd6, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00,
+  0x50, 0x00, 0x05, 0x00, 0x4d, 0x00, 0x00, 0x00, 0xd8, 0x00, 0x00, 0x00,
+  0xd7, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x56, 0x00, 0x05, 0x00,
+  0x0f, 0x00, 0x00, 0x00, 0xd9, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00,
+  0xd5, 0x00, 0x00, 0x00, 0x57, 0x00, 0x06, 0x00, 0x33, 0x00, 0x00, 0x00,
+  0xda, 0x00, 0x00, 0x00, 0xd9, 0x00, 0x00, 0x00, 0xd8, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0xcb, 0x00, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0xcd, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x05, 0x00,
+  0x62, 0x00, 0x00, 0x00, 0xdb, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
+  0x17, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00, 0xdc, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00, 0xdb, 0x00, 0x00, 0x00,
+  0xdd, 0x00, 0x00, 0x00, 0xde, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00,
+  0xdd, 0x00, 0x00, 0x00, 0xd1, 0x00, 0x04, 0x00, 0x4d, 0x00, 0x00, 0x00,
+  0xdf, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00,
+  0x63, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
+  0x4b, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x33, 0x00, 0x00, 0x00,
+  0xe1, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x07, 0x00,
+  0x4d, 0x00, 0x00, 0x00, 0xe2, 0x00, 0x00, 0x00, 0xe1, 0x00, 0x00, 0x00,
+  0xe1, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x85, 0x00, 0x05, 0x00, 0x4d, 0x00, 0x00, 0x00, 0xe3, 0x00, 0x00, 0x00,
+  0xdf, 0x00, 0x00, 0x00, 0xe2, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x08, 0x00,
+  0x4d, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x2b, 0x00, 0x00, 0x00, 0xe3, 0x00, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00,
+  0x4f, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x4d, 0x00, 0x00, 0x00,
+  0xe5, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0xe2, 0x00, 0x00, 0x00,
+  0x8e, 0x00, 0x05, 0x00, 0x4d, 0x00, 0x00, 0x00, 0xe6, 0x00, 0x00, 0x00,
+  0xe4, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00,
+  0x4d, 0x00, 0x00, 0x00, 0xe7, 0x00, 0x00, 0x00, 0xe5, 0x00, 0x00, 0x00,
+  0xe6, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, 0x4d, 0x00, 0x00, 0x00,
+  0xe8, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x00, 0x00,
+  0x0c, 0x00, 0x06, 0x00, 0x4d, 0x00, 0x00, 0x00, 0xe9, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0xe7, 0x00, 0x00, 0x00,
+  0x0c, 0x00, 0x08, 0x00, 0x4d, 0x00, 0x00, 0x00, 0xea, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0xe8, 0x00, 0x00, 0x00,
+  0x4f, 0x00, 0x00, 0x00, 0xe9, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00,
+  0x4d, 0x00, 0x00, 0x00, 0xeb, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x08, 0x00, 0x00, 0x00, 0xe7, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00,
+  0x4d, 0x00, 0x00, 0x00, 0xec, 0x00, 0x00, 0x00, 0xeb, 0x00, 0x00, 0x00,
+  0x50, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, 0x4d, 0x00, 0x00, 0x00,
+  0xed, 0x00, 0x00, 0x00, 0xec, 0x00, 0x00, 0x00, 0xea, 0x00, 0x00, 0x00,
+  0x4f, 0x00, 0x07, 0x00, 0x4d, 0x00, 0x00, 0x00, 0xee, 0x00, 0x00, 0x00,
+  0xe1, 0x00, 0x00, 0x00, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x4d, 0x00, 0x00, 0x00,
+  0xef, 0x00, 0x00, 0x00, 0xed, 0x00, 0x00, 0x00, 0xee, 0x00, 0x00, 0x00,
+  0x3d, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00,
+  0x09, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00,
+  0xf1, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xcf, 0x00, 0x04, 0x00,
+  0x4d, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00,
+  0xd0, 0x00, 0x04, 0x00, 0x4d, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x00, 0x00,
+  0x75, 0x00, 0x00, 0x00, 0x56, 0x00, 0x05, 0x00, 0x0f, 0x00, 0x00, 0x00,
+  0xf4, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf1, 0x00, 0x00, 0x00,
+  0x58, 0x00, 0x08, 0x00, 0x33, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x00, 0x00,
+  0xf4, 0x00, 0x00, 0x00, 0xef, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+  0xf2, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0xf6, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0xf7, 0x00, 0x00, 0x00, 0xf6, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00,
+  0x3d, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00,
+  0x0a, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00,
+  0xf9, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x00, 0x00,
+  0x36, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0xfb, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00,
+  0x50, 0x00, 0x05, 0x00, 0x4d, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
+  0xfb, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x56, 0x00, 0x05, 0x00,
+  0x0f, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00,
+  0xf9, 0x00, 0x00, 0x00, 0x57, 0x00, 0x06, 0x00, 0x33, 0x00, 0x00, 0x00,
+  0xfe, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0xdc, 0x00, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0xde, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x05, 0x00,
+  0x62, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
+  0x18, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00, 0xff, 0x00, 0x00, 0x00,
+  0x01, 0x01, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00,
+  0x01, 0x01, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00,
+  0x03, 0x01, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
+  0x0c, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
+  0x56, 0x00, 0x05, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x05, 0x01, 0x00, 0x00,
+  0x03, 0x01, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x57, 0x00, 0x06, 0x00,
+  0x33, 0x00, 0x00, 0x00, 0x06, 0x01, 0x00, 0x00, 0x05, 0x01, 0x00, 0x00,
+  0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x07, 0x01, 0x00, 0x00, 0x06, 0x01, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x06, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x08, 0x01, 0x00, 0x00, 0x07, 0x01, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00,
+  0x09, 0x01, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
+  0x0c, 0x00, 0x00, 0x00, 0x0a, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
+  0x56, 0x00, 0x05, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0b, 0x01, 0x00, 0x00,
+  0x09, 0x01, 0x00, 0x00, 0x0a, 0x01, 0x00, 0x00, 0x57, 0x00, 0x06, 0x00,
+  0x33, 0x00, 0x00, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x0b, 0x01, 0x00, 0x00,
+  0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0x0d, 0x01, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00,
+  0x0c, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x04, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x63, 0x00, 0x00, 0x00,
+  0x0e, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00,
+  0x3d, 0x00, 0x04, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0f, 0x01, 0x00, 0x00,
+  0x0e, 0x01, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x10, 0x01, 0x00, 0x00, 0x0f, 0x01, 0x00, 0x00, 0x0f, 0x01, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x81, 0x00, 0x05, 0x00, 0x40, 0x00, 0x00, 0x00, 0x11, 0x01, 0x00, 0x00,
+  0x0d, 0x01, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00,
+  0x63, 0x00, 0x00, 0x00, 0x12, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
+  0x38, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x33, 0x00, 0x00, 0x00,
+  0x13, 0x01, 0x00, 0x00, 0x12, 0x01, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0x14, 0x01, 0x00, 0x00, 0x13, 0x01, 0x00, 0x00,
+  0x13, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x94, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x15, 0x01, 0x00, 0x00, 0x11, 0x01, 0x00, 0x00, 0x14, 0x01, 0x00, 0x00,
+  0x41, 0x00, 0x05, 0x00, 0x63, 0x00, 0x00, 0x00, 0x16, 0x01, 0x00, 0x00,
+  0x07, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
+  0x33, 0x00, 0x00, 0x00, 0x17, 0x01, 0x00, 0x00, 0x16, 0x01, 0x00, 0x00,
+  0x4f, 0x00, 0x08, 0x00, 0x40, 0x00, 0x00, 0x00, 0x18, 0x01, 0x00, 0x00,
+  0x17, 0x01, 0x00, 0x00, 0x17, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x94, 0x00, 0x05, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x19, 0x01, 0x00, 0x00, 0x11, 0x01, 0x00, 0x00,
+  0x18, 0x01, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x63, 0x00, 0x00, 0x00,
+  0x1a, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00,
+  0x3d, 0x00, 0x04, 0x00, 0x33, 0x00, 0x00, 0x00, 0x1b, 0x01, 0x00, 0x00,
+  0x1a, 0x01, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x1c, 0x01, 0x00, 0x00, 0x1b, 0x01, 0x00, 0x00, 0x1b, 0x01, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x94, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x1d, 0x01, 0x00, 0x00,
+  0x11, 0x01, 0x00, 0x00, 0x1c, 0x01, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00,
+  0x33, 0x00, 0x00, 0x00, 0x1e, 0x01, 0x00, 0x00, 0x15, 0x01, 0x00, 0x00,
+  0x19, 0x01, 0x00, 0x00, 0x1d, 0x01, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00,
+  0xf9, 0x00, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00,
+  0x02, 0x01, 0x00, 0x00, 0xb4, 0x00, 0x05, 0x00, 0x62, 0x00, 0x00, 0x00,
+  0x1f, 0x01, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00,
+  0xf7, 0x00, 0x03, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0xfa, 0x00, 0x04, 0x00, 0x1f, 0x01, 0x00, 0x00, 0x21, 0x01, 0x00, 0x00,
+  0x22, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x21, 0x01, 0x00, 0x00,
+  0x3d, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x23, 0x01, 0x00, 0x00,
+  0x09, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00,
+  0x24, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x56, 0x00, 0x05, 0x00,
+  0x0f, 0x00, 0x00, 0x00, 0x25, 0x01, 0x00, 0x00, 0x23, 0x01, 0x00, 0x00,
+  0x24, 0x01, 0x00, 0x00, 0x57, 0x00, 0x06, 0x00, 0x33, 0x00, 0x00, 0x00,
+  0x26, 0x01, 0x00, 0x00, 0x25, 0x01, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x27, 0x01, 0x00, 0x00, 0x26, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x52, 0x00, 0x06, 0x00, 0x40, 0x00, 0x00, 0x00, 0x28, 0x01, 0x00, 0x00,
+  0x27, 0x01, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x3d, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x29, 0x01, 0x00, 0x00,
+  0x0a, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00,
+  0x2a, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x56, 0x00, 0x05, 0x00,
+  0x0f, 0x00, 0x00, 0x00, 0x2b, 0x01, 0x00, 0x00, 0x29, 0x01, 0x00, 0x00,
+  0x2a, 0x01, 0x00, 0x00, 0x57, 0x00, 0x06, 0x00, 0x33, 0x00, 0x00, 0x00,
+  0x2c, 0x01, 0x00, 0x00, 0x2b, 0x01, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x2d, 0x01, 0x00, 0x00, 0x28, 0x01, 0x00, 0x00, 0x2c, 0x01, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x41, 0x00, 0x05, 0x00, 0x63, 0x00, 0x00, 0x00, 0x2e, 0x01, 0x00, 0x00,
+  0x07, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
+  0x33, 0x00, 0x00, 0x00, 0x2f, 0x01, 0x00, 0x00, 0x2e, 0x01, 0x00, 0x00,
+  0x4f, 0x00, 0x08, 0x00, 0x40, 0x00, 0x00, 0x00, 0x30, 0x01, 0x00, 0x00,
+  0x2f, 0x01, 0x00, 0x00, 0x2f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0x31, 0x01, 0x00, 0x00, 0x2d, 0x01, 0x00, 0x00,
+  0x30, 0x01, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x63, 0x00, 0x00, 0x00,
+  0x32, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00,
+  0x3d, 0x00, 0x04, 0x00, 0x33, 0x00, 0x00, 0x00, 0x33, 0x01, 0x00, 0x00,
+  0x32, 0x01, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x34, 0x01, 0x00, 0x00, 0x33, 0x01, 0x00, 0x00, 0x33, 0x01, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x94, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x35, 0x01, 0x00, 0x00,
+  0x31, 0x01, 0x00, 0x00, 0x34, 0x01, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00,
+  0x63, 0x00, 0x00, 0x00, 0x36, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
+  0x39, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x33, 0x00, 0x00, 0x00,
+  0x37, 0x01, 0x00, 0x00, 0x36, 0x01, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0x38, 0x01, 0x00, 0x00, 0x37, 0x01, 0x00, 0x00,
+  0x37, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x94, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x39, 0x01, 0x00, 0x00, 0x31, 0x01, 0x00, 0x00, 0x38, 0x01, 0x00, 0x00,
+  0x41, 0x00, 0x05, 0x00, 0x63, 0x00, 0x00, 0x00, 0x3a, 0x01, 0x00, 0x00,
+  0x07, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
+  0x33, 0x00, 0x00, 0x00, 0x3b, 0x01, 0x00, 0x00, 0x3a, 0x01, 0x00, 0x00,
+  0x4f, 0x00, 0x08, 0x00, 0x40, 0x00, 0x00, 0x00, 0x3c, 0x01, 0x00, 0x00,
+  0x3b, 0x01, 0x00, 0x00, 0x3b, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x94, 0x00, 0x05, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x3d, 0x01, 0x00, 0x00, 0x31, 0x01, 0x00, 0x00,
+  0x3c, 0x01, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x33, 0x00, 0x00, 0x00,
+  0x3e, 0x01, 0x00, 0x00, 0x35, 0x01, 0x00, 0x00, 0x39, 0x01, 0x00, 0x00,
+  0x3d, 0x01, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00,
+  0x20, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x22, 0x01, 0x00, 0x00,
+  0xb4, 0x00, 0x05, 0x00, 0x62, 0x00, 0x00, 0x00, 0x3f, 0x01, 0x00, 0x00,
+  0x77, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00,
+  0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00,
+  0x3f, 0x01, 0x00, 0x00, 0x41, 0x01, 0x00, 0x00, 0x42, 0x01, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0x41, 0x01, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
+  0x08, 0x00, 0x00, 0x00, 0x43, 0x01, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
+  0x3d, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x44, 0x01, 0x00, 0x00,
+  0x0d, 0x00, 0x00, 0x00, 0x56, 0x00, 0x05, 0x00, 0x0f, 0x00, 0x00, 0x00,
+  0x45, 0x01, 0x00, 0x00, 0x43, 0x01, 0x00, 0x00, 0x44, 0x01, 0x00, 0x00,
+  0x57, 0x00, 0x06, 0x00, 0x33, 0x00, 0x00, 0x00, 0x46, 0x01, 0x00, 0x00,
+  0x45, 0x01, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x51, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x47, 0x01, 0x00, 0x00,
+  0x46, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
+  0x08, 0x00, 0x00, 0x00, 0x48, 0x01, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
+  0x3d, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x49, 0x01, 0x00, 0x00,
+  0x0d, 0x00, 0x00, 0x00, 0x56, 0x00, 0x05, 0x00, 0x0f, 0x00, 0x00, 0x00,
+  0x4a, 0x01, 0x00, 0x00, 0x48, 0x01, 0x00, 0x00, 0x49, 0x01, 0x00, 0x00,
+  0x57, 0x00, 0x06, 0x00, 0x33, 0x00, 0x00, 0x00, 0x4b, 0x01, 0x00, 0x00,
+  0x4a, 0x01, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x51, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x4c, 0x01, 0x00, 0x00,
+  0x4b, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
+  0x08, 0x00, 0x00, 0x00, 0x4d, 0x01, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00,
+  0x3d, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x4e, 0x01, 0x00, 0x00,
+  0x0d, 0x00, 0x00, 0x00, 0x56, 0x00, 0x05, 0x00, 0x0f, 0x00, 0x00, 0x00,
+  0x4f, 0x01, 0x00, 0x00, 0x4d, 0x01, 0x00, 0x00, 0x4e, 0x01, 0x00, 0x00,
+  0x57, 0x00, 0x06, 0x00, 0x33, 0x00, 0x00, 0x00, 0x50, 0x01, 0x00, 0x00,
+  0x4f, 0x01, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x51, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x51, 0x01, 0x00, 0x00,
+  0x50, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x06, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0x52, 0x01, 0x00, 0x00, 0x47, 0x01, 0x00, 0x00,
+  0x4c, 0x01, 0x00, 0x00, 0x51, 0x01, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00,
+  0x63, 0x00, 0x00, 0x00, 0x53, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
+  0x37, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x33, 0x00, 0x00, 0x00,
+  0x54, 0x01, 0x00, 0x00, 0x53, 0x01, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0x55, 0x01, 0x00, 0x00, 0x54, 0x01, 0x00, 0x00,
+  0x54, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x56, 0x01, 0x00, 0x00, 0x52, 0x01, 0x00, 0x00, 0x55, 0x01, 0x00, 0x00,
+  0x41, 0x00, 0x05, 0x00, 0x63, 0x00, 0x00, 0x00, 0x57, 0x01, 0x00, 0x00,
+  0x07, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
+  0x33, 0x00, 0x00, 0x00, 0x58, 0x01, 0x00, 0x00, 0x57, 0x01, 0x00, 0x00,
+  0x4f, 0x00, 0x08, 0x00, 0x40, 0x00, 0x00, 0x00, 0x59, 0x01, 0x00, 0x00,
+  0x58, 0x01, 0x00, 0x00, 0x58, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x94, 0x00, 0x05, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x5a, 0x01, 0x00, 0x00, 0x56, 0x01, 0x00, 0x00,
+  0x59, 0x01, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x63, 0x00, 0x00, 0x00,
+  0x5b, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00,
+  0x3d, 0x00, 0x04, 0x00, 0x33, 0x00, 0x00, 0x00, 0x5c, 0x01, 0x00, 0x00,
+  0x5b, 0x01, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x5d, 0x01, 0x00, 0x00, 0x5c, 0x01, 0x00, 0x00, 0x5c, 0x01, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x94, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x5e, 0x01, 0x00, 0x00,
+  0x56, 0x01, 0x00, 0x00, 0x5d, 0x01, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00,
+  0x63, 0x00, 0x00, 0x00, 0x5f, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
+  0x3a, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x33, 0x00, 0x00, 0x00,
+  0x60, 0x01, 0x00, 0x00, 0x5f, 0x01, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0x61, 0x01, 0x00, 0x00, 0x60, 0x01, 0x00, 0x00,
+  0x60, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x94, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x62, 0x01, 0x00, 0x00, 0x56, 0x01, 0x00, 0x00, 0x61, 0x01, 0x00, 0x00,
+  0x50, 0x00, 0x07, 0x00, 0x33, 0x00, 0x00, 0x00, 0x63, 0x01, 0x00, 0x00,
+  0x5a, 0x01, 0x00, 0x00, 0x5e, 0x01, 0x00, 0x00, 0x62, 0x01, 0x00, 0x00,
+  0x12, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0x40, 0x01, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0x42, 0x01, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00,
+  0x40, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x40, 0x01, 0x00, 0x00,
+  0xf5, 0x00, 0x07, 0x00, 0x33, 0x00, 0x00, 0x00, 0x64, 0x01, 0x00, 0x00,
+  0x63, 0x01, 0x00, 0x00, 0x41, 0x01, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00,
+  0x42, 0x01, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0x20, 0x01, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0x20, 0x01, 0x00, 0x00, 0xf5, 0x00, 0x07, 0x00,
+  0x33, 0x00, 0x00, 0x00, 0x65, 0x01, 0x00, 0x00, 0x3e, 0x01, 0x00, 0x00,
+  0x21, 0x01, 0x00, 0x00, 0x64, 0x01, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00,
+  0xf9, 0x00, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00,
+  0x00, 0x01, 0x00, 0x00, 0xf5, 0x00, 0x07, 0x00, 0x33, 0x00, 0x00, 0x00,
+  0x66, 0x01, 0x00, 0x00, 0x1e, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00,
+  0x65, 0x01, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00,
+  0xdc, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xdc, 0x00, 0x00, 0x00,
+  0xf5, 0x00, 0x07, 0x00, 0x33, 0x00, 0x00, 0x00, 0x67, 0x01, 0x00, 0x00,
+  0xfe, 0x00, 0x00, 0x00, 0xdd, 0x00, 0x00, 0x00, 0x66, 0x01, 0x00, 0x00,
+  0x00, 0x01, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0xcb, 0x00, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0xcb, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x07, 0x00,
+  0x33, 0x00, 0x00, 0x00, 0x68, 0x01, 0x00, 0x00, 0xda, 0x00, 0x00, 0x00,
+  0xcc, 0x00, 0x00, 0x00, 0x67, 0x01, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00,
+  0xf9, 0x00, 0x02, 0x00, 0xac, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00,
+  0xac, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x07, 0x00, 0x33, 0x00, 0x00, 0x00,
+  0x69, 0x01, 0x00, 0x00, 0xc9, 0x00, 0x00, 0x00, 0xad, 0x00, 0x00, 0x00,
+  0x68, 0x01, 0x00, 0x00, 0xcb, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00,
+  0xa0, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xa0, 0x00, 0x00, 0x00,
+  0xf5, 0x00, 0x07, 0x00, 0x33, 0x00, 0x00, 0x00, 0x6a, 0x01, 0x00, 0x00,
+  0xaa, 0x00, 0x00, 0x00, 0xa1, 0x00, 0x00, 0x00, 0x69, 0x01, 0x00, 0x00,
+  0xac, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0x85, 0x00, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0x85, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x07, 0x00,
+  0x33, 0x00, 0x00, 0x00, 0x6b, 0x01, 0x00, 0x00, 0x9e, 0x00, 0x00, 0x00,
+  0x86, 0x00, 0x00, 0x00, 0x6a, 0x01, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00,
+  0xf9, 0x00, 0x02, 0x00, 0x7d, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00,
+  0x7d, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x07, 0x00, 0x33, 0x00, 0x00, 0x00,
+  0x6c, 0x01, 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00,
+  0x6b, 0x01, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00,
+  0x79, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x79, 0x00, 0x00, 0x00,
+  0xf5, 0x00, 0x07, 0x00, 0x33, 0x00, 0x00, 0x00, 0x6d, 0x01, 0x00, 0x00,
+  0x34, 0x00, 0x00, 0x00, 0x7a, 0x00, 0x00, 0x00, 0x6c, 0x01, 0x00, 0x00,
+  0x7d, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x61, 0x00, 0x00, 0x00,
+  0x6e, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00,
+  0x3d, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x6f, 0x01, 0x00, 0x00,
+  0x6e, 0x01, 0x00, 0x00, 0xb4, 0x00, 0x05, 0x00, 0x62, 0x00, 0x00, 0x00,
+  0x70, 0x01, 0x00, 0x00, 0x6f, 0x01, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
+  0xf7, 0x00, 0x03, 0x00, 0x71, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0xfa, 0x00, 0x04, 0x00, 0x70, 0x01, 0x00, 0x00, 0x72, 0x01, 0x00, 0x00,
+  0x71, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x72, 0x01, 0x00, 0x00,
+  0x4f, 0x00, 0x08, 0x00, 0x40, 0x00, 0x00, 0x00, 0x73, 0x01, 0x00, 0x00,
+  0x6d, 0x01, 0x00, 0x00, 0x6d, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x04, 0x00, 0x00, 0x00, 0x73, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x07, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0x75, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x1a, 0x00, 0x00, 0x00, 0x74, 0x01, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00,
+  0x83, 0x00, 0x05, 0x00, 0x40, 0x00, 0x00, 0x00, 0x76, 0x01, 0x00, 0x00,
+  0x75, 0x01, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x07, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0x77, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x50, 0x00, 0x00, 0x00, 0x76, 0x01, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00,
+  0x8e, 0x00, 0x05, 0x00, 0x40, 0x00, 0x00, 0x00, 0x78, 0x01, 0x00, 0x00,
+  0x75, 0x01, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0x79, 0x01, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00,
+  0x78, 0x01, 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x7a, 0x01, 0x00, 0x00, 0x77, 0x01, 0x00, 0x00, 0x79, 0x01, 0x00, 0x00,
+  0x0c, 0x00, 0x06, 0x00, 0x40, 0x00, 0x00, 0x00, 0x7b, 0x01, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7a, 0x01, 0x00, 0x00,
+  0x0c, 0x00, 0x07, 0x00, 0x40, 0x00, 0x00, 0x00, 0x7c, 0x01, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x7b, 0x01, 0x00, 0x00,
+  0x45, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x05, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x7d, 0x01, 0x00, 0x00, 0x7c, 0x01, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00,
+  0x41, 0x00, 0x05, 0x00, 0x61, 0x00, 0x00, 0x00, 0x7e, 0x01, 0x00, 0x00,
+  0x07, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x7f, 0x01, 0x00, 0x00, 0x7e, 0x01, 0x00, 0x00,
+  0x50, 0x00, 0x06, 0x00, 0x40, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00,
+  0x7f, 0x01, 0x00, 0x00, 0x7f, 0x01, 0x00, 0x00, 0x7f, 0x01, 0x00, 0x00,
+  0x88, 0x00, 0x05, 0x00, 0x40, 0x00, 0x00, 0x00, 0x81, 0x01, 0x00, 0x00,
+  0x7d, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x4f, 0x00, 0x09, 0x00,
+  0x33, 0x00, 0x00, 0x00, 0x82, 0x01, 0x00, 0x00, 0x6d, 0x01, 0x00, 0x00,
+  0x81, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
+  0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00,
+  0x71, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x71, 0x01, 0x00, 0x00,
+  0xf5, 0x00, 0x07, 0x00, 0x33, 0x00, 0x00, 0x00, 0x83, 0x01, 0x00, 0x00,
+  0x6d, 0x01, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x82, 0x01, 0x00, 0x00,
+  0x72, 0x01, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x61, 0x00, 0x00, 0x00,
+  0x84, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
+  0x3d, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x85, 0x01, 0x00, 0x00,
+  0x84, 0x01, 0x00, 0x00, 0xb6, 0x00, 0x05, 0x00, 0x62, 0x00, 0x00, 0x00,
+  0x86, 0x01, 0x00, 0x00, 0x85, 0x01, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
+  0xf7, 0x00, 0x03, 0x00, 0x87, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0xfa, 0x00, 0x04, 0x00, 0x86, 0x01, 0x00, 0x00, 0x88, 0x01, 0x00, 0x00,
+  0x87, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x88, 0x01, 0x00, 0x00,
+  0x4f, 0x00, 0x08, 0x00, 0x40, 0x00, 0x00, 0x00, 0x89, 0x01, 0x00, 0x00,
+  0x83, 0x01, 0x00, 0x00, 0x83, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x05, 0x00,
+  0x62, 0x00, 0x00, 0x00, 0x8a, 0x01, 0x00, 0x00, 0x85, 0x01, 0x00, 0x00,
+  0x12, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00, 0x8b, 0x01, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00, 0x8a, 0x01, 0x00, 0x00,
+  0x8c, 0x01, 0x00, 0x00, 0x8d, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00,
+  0x8c, 0x01, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x61, 0x00, 0x00, 0x00,
+  0x8e, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
+  0x3d, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x8f, 0x01, 0x00, 0x00,
+  0x8e, 0x01, 0x00, 0x00, 0x8e, 0x00, 0x05, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x90, 0x01, 0x00, 0x00, 0x89, 0x01, 0x00, 0x00, 0x8f, 0x01, 0x00, 0x00,
+  0xf9, 0x00, 0x02, 0x00, 0x8b, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00,
+  0x8d, 0x01, 0x00, 0x00, 0xb4, 0x00, 0x05, 0x00, 0x62, 0x00, 0x00, 0x00,
+  0x91, 0x01, 0x00, 0x00, 0x85, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00,
+  0xf7, 0x00, 0x03, 0x00, 0x92, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0xfa, 0x00, 0x04, 0x00, 0x91, 0x01, 0x00, 0x00, 0x93, 0x01, 0x00, 0x00,
+  0x92, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x93, 0x01, 0x00, 0x00,
+  0xb4, 0x00, 0x05, 0x00, 0x62, 0x00, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
+  0x6f, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00,
+  0x95, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00,
+  0x94, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x00, 0x95, 0x01, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0x96, 0x01, 0x00, 0x00, 0x90, 0x00, 0x05, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0x97, 0x01, 0x00, 0x00, 0x89, 0x01, 0x00, 0x00,
+  0x67, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0x95, 0x01, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0x95, 0x01, 0x00, 0x00, 0xf5, 0x00, 0x07, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0x98, 0x01, 0x00, 0x00, 0x89, 0x01, 0x00, 0x00,
+  0x93, 0x01, 0x00, 0x00, 0x97, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x00,
+  0x51, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x99, 0x01, 0x00, 0x00,
+  0x98, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00, 0x98, 0x01, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x9b, 0x01, 0x00, 0x00, 0x98, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x0c, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00, 0x9c, 0x01, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00,
+  0x9b, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x9d, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00,
+  0x99, 0x01, 0x00, 0x00, 0x9c, 0x01, 0x00, 0x00, 0xba, 0x00, 0x05, 0x00,
+  0x62, 0x00, 0x00, 0x00, 0x9e, 0x01, 0x00, 0x00, 0x9d, 0x01, 0x00, 0x00,
+  0x11, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00, 0x9f, 0x01, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00, 0x9e, 0x01, 0x00, 0x00,
+  0xa0, 0x01, 0x00, 0x00, 0x9f, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00,
+  0xa0, 0x01, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x61, 0x00, 0x00, 0x00,
+  0xa1, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
+  0x3d, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0xa2, 0x01, 0x00, 0x00,
+  0xa1, 0x01, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0xa3, 0x01, 0x00, 0x00, 0xa2, 0x01, 0x00, 0x00, 0x9d, 0x01, 0x00, 0x00,
+  0x81, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0xa4, 0x01, 0x00, 0x00,
+  0x12, 0x00, 0x00, 0x00, 0xa3, 0x01, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00,
+  0x61, 0x00, 0x00, 0x00, 0xa5, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
+  0x49, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0xa6, 0x01, 0x00, 0x00, 0xa5, 0x01, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0xa7, 0x01, 0x00, 0x00, 0xa6, 0x01, 0x00, 0x00,
+  0x9d, 0x01, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0xa8, 0x01, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0xa7, 0x01, 0x00, 0x00,
+  0x88, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0xa9, 0x01, 0x00, 0x00,
+  0xa4, 0x01, 0x00, 0x00, 0xa8, 0x01, 0x00, 0x00, 0x8e, 0x00, 0x05, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0xaa, 0x01, 0x00, 0x00, 0x98, 0x01, 0x00, 0x00,
+  0xa9, 0x01, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0x9f, 0x01, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0x9f, 0x01, 0x00, 0x00, 0xf5, 0x00, 0x07, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0xab, 0x01, 0x00, 0x00, 0x98, 0x01, 0x00, 0x00,
+  0x95, 0x01, 0x00, 0x00, 0xaa, 0x01, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00,
+  0xf7, 0x00, 0x03, 0x00, 0xac, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0xfa, 0x00, 0x04, 0x00, 0x94, 0x01, 0x00, 0x00, 0xad, 0x01, 0x00, 0x00,
+  0xac, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xad, 0x01, 0x00, 0x00,
+  0x90, 0x00, 0x05, 0x00, 0x40, 0x00, 0x00, 0x00, 0xae, 0x01, 0x00, 0x00,
+  0xab, 0x01, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00,
+  0xac, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xac, 0x01, 0x00, 0x00,
+  0xf5, 0x00, 0x07, 0x00, 0x40, 0x00, 0x00, 0x00, 0xaf, 0x01, 0x00, 0x00,
+  0xab, 0x01, 0x00, 0x00, 0x9f, 0x01, 0x00, 0x00, 0xae, 0x01, 0x00, 0x00,
+  0xad, 0x01, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0x92, 0x01, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0x92, 0x01, 0x00, 0x00, 0xf5, 0x00, 0x07, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0xb0, 0x01, 0x00, 0x00, 0x89, 0x01, 0x00, 0x00,
+  0x8d, 0x01, 0x00, 0x00, 0xaf, 0x01, 0x00, 0x00, 0xac, 0x01, 0x00, 0x00,
+  0xf9, 0x00, 0x02, 0x00, 0x8b, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00,
+  0x8b, 0x01, 0x00, 0x00, 0xf5, 0x00, 0x07, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0xb1, 0x01, 0x00, 0x00, 0x90, 0x01, 0x00, 0x00, 0x8c, 0x01, 0x00, 0x00,
+  0xb0, 0x01, 0x00, 0x00, 0x92, 0x01, 0x00, 0x00, 0x4f, 0x00, 0x09, 0x00,
+  0x33, 0x00, 0x00, 0x00, 0xb2, 0x01, 0x00, 0x00, 0x83, 0x01, 0x00, 0x00,
+  0xb1, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
+  0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00,
+  0x87, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x87, 0x01, 0x00, 0x00,
+  0xf5, 0x00, 0x07, 0x00, 0x33, 0x00, 0x00, 0x00, 0xb3, 0x01, 0x00, 0x00,
+  0x83, 0x01, 0x00, 0x00, 0x71, 0x01, 0x00, 0x00, 0xb2, 0x01, 0x00, 0x00,
+  0x8b, 0x01, 0x00, 0x00, 0xb4, 0x00, 0x05, 0x00, 0x62, 0x00, 0x00, 0x00,
+  0xb4, 0x01, 0x00, 0x00, 0x6f, 0x01, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00,
+  0xf7, 0x00, 0x03, 0x00, 0xb5, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0xfa, 0x00, 0x04, 0x00, 0xb4, 0x01, 0x00, 0x00, 0xb6, 0x01, 0x00, 0x00,
+  0xb7, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xb6, 0x01, 0x00, 0x00,
+  0x4f, 0x00, 0x08, 0x00, 0x40, 0x00, 0x00, 0x00, 0xb8, 0x01, 0x00, 0x00,
+  0xb3, 0x01, 0x00, 0x00, 0xb3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00,
+  0x61, 0x00, 0x00, 0x00, 0xb9, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
+  0x2e, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0xba, 0x01, 0x00, 0x00, 0xb9, 0x01, 0x00, 0x00, 0xb6, 0x00, 0x05, 0x00,
+  0x62, 0x00, 0x00, 0x00, 0xbb, 0x01, 0x00, 0x00, 0xba, 0x01, 0x00, 0x00,
+  0x11, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00, 0xbc, 0x01, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00, 0xbb, 0x01, 0x00, 0x00,
+  0xbd, 0x01, 0x00, 0x00, 0xbc, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00,
+  0xbd, 0x01, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0xbe, 0x01, 0x00, 0x00, 0xb3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0xbc, 0x00, 0x05, 0x00, 0x62, 0x00, 0x00, 0x00, 0xbf, 0x01, 0x00, 0x00,
+  0xbe, 0x01, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00,
+  0xc0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00,
+  0xbf, 0x01, 0x00, 0x00, 0xc1, 0x01, 0x00, 0x00, 0xc2, 0x01, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0xc1, 0x01, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0xc3, 0x01, 0x00, 0x00, 0xbe, 0x01, 0x00, 0x00,
+  0x6f, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0xc0, 0x01, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0xc2, 0x01, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0xc4, 0x01, 0x00, 0x00, 0xbe, 0x01, 0x00, 0x00,
+  0x53, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0xc5, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+  0xc4, 0x01, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0xc6, 0x01, 0x00, 0x00, 0xc5, 0x01, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00,
+  0x0c, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00, 0xc7, 0x01, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0xc6, 0x01, 0x00, 0x00,
+  0x55, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0xc0, 0x01, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0xc0, 0x01, 0x00, 0x00, 0xf5, 0x00, 0x07, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0xc8, 0x01, 0x00, 0x00, 0xc3, 0x01, 0x00, 0x00,
+  0xc1, 0x01, 0x00, 0x00, 0xc7, 0x01, 0x00, 0x00, 0xc2, 0x01, 0x00, 0x00,
+  0x51, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0xc9, 0x01, 0x00, 0x00,
+  0xb3, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xbc, 0x00, 0x05, 0x00,
+  0x62, 0x00, 0x00, 0x00, 0xca, 0x01, 0x00, 0x00, 0xc9, 0x01, 0x00, 0x00,
+  0x51, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00, 0xcb, 0x01, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00, 0xca, 0x01, 0x00, 0x00,
+  0xcc, 0x01, 0x00, 0x00, 0xcd, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00,
+  0xcc, 0x01, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0xce, 0x01, 0x00, 0x00, 0xc9, 0x01, 0x00, 0x00, 0x6f, 0x00, 0x00, 0x00,
+  0xf9, 0x00, 0x02, 0x00, 0xcb, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00,
+  0xcd, 0x01, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0xcf, 0x01, 0x00, 0x00, 0xc9, 0x01, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00,
+  0x0c, 0x00, 0x06, 0x00, 0x10, 0x00, 0x00, 0x00, 0xd0, 0x01, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xcf, 0x01, 0x00, 0x00,
+  0x85, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0xd1, 0x01, 0x00, 0x00,
+  0xd0, 0x01, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x07, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x1a, 0x00, 0x00, 0x00, 0xd1, 0x01, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00,
+  0xf9, 0x00, 0x02, 0x00, 0xcb, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00,
+  0xcb, 0x01, 0x00, 0x00, 0xf5, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0xd3, 0x01, 0x00, 0x00, 0xce, 0x01, 0x00, 0x00, 0xcc, 0x01, 0x00, 0x00,
+  0xd2, 0x01, 0x00, 0x00, 0xcd, 0x01, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0xd4, 0x01, 0x00, 0x00, 0xb3, 0x01, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0xbc, 0x00, 0x05, 0x00, 0x62, 0x00, 0x00, 0x00,
+  0xd5, 0x01, 0x00, 0x00, 0xd4, 0x01, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00,
+  0xf7, 0x00, 0x03, 0x00, 0xd6, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0xfa, 0x00, 0x04, 0x00, 0xd5, 0x01, 0x00, 0x00, 0xd7, 0x01, 0x00, 0x00,
+  0xd8, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xd7, 0x01, 0x00, 0x00,
+  0x85, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0xd9, 0x01, 0x00, 0x00,
+  0xd4, 0x01, 0x00, 0x00, 0x6f, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00,
+  0xd6, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xd8, 0x01, 0x00, 0x00,
+  0x81, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0xda, 0x01, 0x00, 0x00,
+  0xd4, 0x01, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0xdb, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x04, 0x00, 0x00, 0x00, 0xda, 0x01, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x00, 0x00, 0xdb, 0x01, 0x00, 0x00,
+  0x6e, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0xdd, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
+  0xdc, 0x01, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00,
+  0xd6, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xd6, 0x01, 0x00, 0x00,
+  0xf5, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00, 0xde, 0x01, 0x00, 0x00,
+  0xd9, 0x01, 0x00, 0x00, 0xd7, 0x01, 0x00, 0x00, 0xdd, 0x01, 0x00, 0x00,
+  0xd8, 0x01, 0x00, 0x00, 0x50, 0x00, 0x06, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0xdf, 0x01, 0x00, 0x00, 0xc8, 0x01, 0x00, 0x00, 0xd3, 0x01, 0x00, 0x00,
+  0xde, 0x01, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0xbc, 0x01, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0xbc, 0x01, 0x00, 0x00, 0xf5, 0x00, 0x07, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0xb8, 0x01, 0x00, 0x00,
+  0xb6, 0x01, 0x00, 0x00, 0xdf, 0x01, 0x00, 0x00, 0xd6, 0x01, 0x00, 0x00,
+  0x41, 0x00, 0x05, 0x00, 0x61, 0x00, 0x00, 0x00, 0xe1, 0x01, 0x00, 0x00,
+  0x07, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0xe2, 0x01, 0x00, 0x00, 0xe1, 0x01, 0x00, 0x00,
+  0x8e, 0x00, 0x05, 0x00, 0x40, 0x00, 0x00, 0x00, 0xe3, 0x01, 0x00, 0x00,
+  0xe0, 0x01, 0x00, 0x00, 0xe2, 0x01, 0x00, 0x00, 0x4f, 0x00, 0x09, 0x00,
+  0x33, 0x00, 0x00, 0x00, 0xe4, 0x01, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00,
+  0xe3, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
+  0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0xe5, 0x01, 0x00, 0x00, 0xb3, 0x01, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x52, 0x00, 0x06, 0x00, 0x33, 0x00, 0x00, 0x00,
+  0xe6, 0x01, 0x00, 0x00, 0xe5, 0x01, 0x00, 0x00, 0xe4, 0x01, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0xb5, 0x01, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0xb7, 0x01, 0x00, 0x00, 0xb4, 0x00, 0x05, 0x00,
+  0x62, 0x00, 0x00, 0x00, 0xe7, 0x01, 0x00, 0x00, 0x6f, 0x01, 0x00, 0x00,
+  0x13, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00, 0xe8, 0x01, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00, 0xe7, 0x01, 0x00, 0x00,
+  0xe9, 0x01, 0x00, 0x00, 0xea, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00,
+  0xe9, 0x01, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0xeb, 0x01, 0x00, 0x00, 0xb3, 0x01, 0x00, 0x00, 0xb3, 0x01, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x41, 0x00, 0x05, 0x00, 0x61, 0x00, 0x00, 0x00, 0xec, 0x01, 0x00, 0x00,
+  0x07, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0xed, 0x01, 0x00, 0x00, 0xec, 0x01, 0x00, 0x00,
+  0x8e, 0x00, 0x05, 0x00, 0x40, 0x00, 0x00, 0x00, 0xee, 0x01, 0x00, 0x00,
+  0xeb, 0x01, 0x00, 0x00, 0xed, 0x01, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00,
+  0x61, 0x00, 0x00, 0x00, 0xef, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
+  0x2e, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0xf0, 0x01, 0x00, 0x00, 0xef, 0x01, 0x00, 0x00, 0xb6, 0x00, 0x05, 0x00,
+  0x62, 0x00, 0x00, 0x00, 0xf1, 0x01, 0x00, 0x00, 0xf0, 0x01, 0x00, 0x00,
+  0x11, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x04, 0x00, 0x62, 0x00, 0x00, 0x00,
+  0xf2, 0x01, 0x00, 0x00, 0xf1, 0x01, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00,
+  0xf3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00,
+  0xf2, 0x01, 0x00, 0x00, 0xf4, 0x01, 0x00, 0x00, 0xf3, 0x01, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0xf4, 0x01, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0xf5, 0x01, 0x00, 0x00, 0xee, 0x01, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0xbc, 0x00, 0x05, 0x00, 0x62, 0x00, 0x00, 0x00,
+  0xf6, 0x01, 0x00, 0x00, 0xf5, 0x01, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00,
+  0xf7, 0x00, 0x03, 0x00, 0xf7, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0xfa, 0x00, 0x04, 0x00, 0xf6, 0x01, 0x00, 0x00, 0xf8, 0x01, 0x00, 0x00,
+  0xf9, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xf8, 0x01, 0x00, 0x00,
+  0x85, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0xfa, 0x01, 0x00, 0x00,
+  0xf5, 0x01, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00,
+  0xf7, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xf9, 0x01, 0x00, 0x00,
+  0x0c, 0x00, 0x06, 0x00, 0x10, 0x00, 0x00, 0x00, 0xfb, 0x01, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xf5, 0x01, 0x00, 0x00,
+  0x0c, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00, 0xfc, 0x01, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0xfb, 0x01, 0x00, 0x00,
+  0x57, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0xfd, 0x01, 0x00, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00,
+  0x83, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x00, 0x00,
+  0xfd, 0x01, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00,
+  0xf7, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xf7, 0x01, 0x00, 0x00,
+  0xf5, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00, 0xff, 0x01, 0x00, 0x00,
+  0xfa, 0x01, 0x00, 0x00, 0xf8, 0x01, 0x00, 0x00, 0xfe, 0x01, 0x00, 0x00,
+  0xf9, 0x01, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x00, 0x02, 0x00, 0x00, 0xee, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0xbc, 0x00, 0x05, 0x00, 0x62, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00,
+  0x00, 0x02, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00,
+  0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00,
+  0x01, 0x02, 0x00, 0x00, 0x03, 0x02, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0x03, 0x02, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x05, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+  0x52, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0x02, 0x02, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0x04, 0x02, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x06, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x04, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x0c, 0x00, 0x07, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x1a, 0x00, 0x00, 0x00, 0x06, 0x02, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00,
+  0x85, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00,
+  0x07, 0x02, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x09, 0x02, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00,
+  0x53, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0x02, 0x02, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0x02, 0x02, 0x00, 0x00, 0xf5, 0x00, 0x07, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x0a, 0x02, 0x00, 0x00, 0x05, 0x02, 0x00, 0x00,
+  0x03, 0x02, 0x00, 0x00, 0x09, 0x02, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00,
+  0x51, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0b, 0x02, 0x00, 0x00,
+  0xee, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xbc, 0x00, 0x05, 0x00,
+  0x62, 0x00, 0x00, 0x00, 0x0c, 0x02, 0x00, 0x00, 0x0b, 0x02, 0x00, 0x00,
+  0x56, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00, 0x0d, 0x02, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00, 0x0c, 0x02, 0x00, 0x00,
+  0x0e, 0x02, 0x00, 0x00, 0x0f, 0x02, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00,
+  0x0e, 0x02, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x10, 0x02, 0x00, 0x00, 0x0b, 0x02, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00,
+  0xf9, 0x00, 0x02, 0x00, 0x0d, 0x02, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00,
+  0x0f, 0x02, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x11, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+  0x0b, 0x02, 0x00, 0x00, 0x0c, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x12, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
+  0x11, 0x02, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x13, 0x02, 0x00, 0x00, 0x12, 0x02, 0x00, 0x00,
+  0x54, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x14, 0x02, 0x00, 0x00, 0x13, 0x02, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00,
+  0xf9, 0x00, 0x02, 0x00, 0x0d, 0x02, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00,
+  0x0d, 0x02, 0x00, 0x00, 0xf5, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x15, 0x02, 0x00, 0x00, 0x10, 0x02, 0x00, 0x00, 0x0e, 0x02, 0x00, 0x00,
+  0x14, 0x02, 0x00, 0x00, 0x0f, 0x02, 0x00, 0x00, 0x50, 0x00, 0x06, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0x16, 0x02, 0x00, 0x00, 0xff, 0x01, 0x00, 0x00,
+  0x0a, 0x02, 0x00, 0x00, 0x15, 0x02, 0x00, 0x00, 0x0c, 0x00, 0x08, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0x17, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x2b, 0x00, 0x00, 0x00, 0x16, 0x02, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00,
+  0x4a, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0xf3, 0x01, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0xf3, 0x01, 0x00, 0x00, 0xf5, 0x00, 0x07, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0x18, 0x02, 0x00, 0x00, 0xee, 0x01, 0x00, 0x00,
+  0xe9, 0x01, 0x00, 0x00, 0x17, 0x02, 0x00, 0x00, 0x0d, 0x02, 0x00, 0x00,
+  0x4f, 0x00, 0x09, 0x00, 0x33, 0x00, 0x00, 0x00, 0x19, 0x02, 0x00, 0x00,
+  0x70, 0x00, 0x00, 0x00, 0x18, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+  0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x51, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x1a, 0x02, 0x00, 0x00,
+  0xb3, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x52, 0x00, 0x06, 0x00,
+  0x33, 0x00, 0x00, 0x00, 0x1b, 0x02, 0x00, 0x00, 0x1a, 0x02, 0x00, 0x00,
+  0x19, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00,
+  0xe8, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xea, 0x01, 0x00, 0x00,
+  0xf7, 0x00, 0x03, 0x00, 0x1c, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0xfa, 0x00, 0x04, 0x00, 0x70, 0x01, 0x00, 0x00, 0x1d, 0x02, 0x00, 0x00,
+  0x1e, 0x02, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x1d, 0x02, 0x00, 0x00,
+  0x4f, 0x00, 0x08, 0x00, 0x40, 0x00, 0x00, 0x00, 0x1f, 0x02, 0x00, 0x00,
+  0xb3, 0x01, 0x00, 0x00, 0xb3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x90, 0x00, 0x05, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x1f, 0x02, 0x00, 0x00,
+  0x6b, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x40, 0x00, 0x00, 0x00,
+  0x21, 0x02, 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x41, 0x00, 0x05, 0x00, 0x61, 0x00, 0x00, 0x00, 0x22, 0x02, 0x00, 0x00,
+  0x07, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x23, 0x02, 0x00, 0x00, 0x22, 0x02, 0x00, 0x00,
+  0x8e, 0x00, 0x05, 0x00, 0x40, 0x00, 0x00, 0x00, 0x24, 0x02, 0x00, 0x00,
+  0x21, 0x02, 0x00, 0x00, 0x23, 0x02, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00,
+  0x61, 0x00, 0x00, 0x00, 0x25, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
+  0x2e, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x26, 0x02, 0x00, 0x00, 0x25, 0x02, 0x00, 0x00, 0xb6, 0x00, 0x05, 0x00,
+  0x62, 0x00, 0x00, 0x00, 0x27, 0x02, 0x00, 0x00, 0x26, 0x02, 0x00, 0x00,
+  0x11, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x04, 0x00, 0x62, 0x00, 0x00, 0x00,
+  0x28, 0x02, 0x00, 0x00, 0x27, 0x02, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00,
+  0x29, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00,
+  0x28, 0x02, 0x00, 0x00, 0x2a, 0x02, 0x00, 0x00, 0x29, 0x02, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0x2a, 0x02, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x2b, 0x02, 0x00, 0x00, 0x24, 0x02, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0xbc, 0x00, 0x05, 0x00, 0x62, 0x00, 0x00, 0x00,
+  0x2c, 0x02, 0x00, 0x00, 0x2b, 0x02, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00,
+  0xf7, 0x00, 0x03, 0x00, 0x2d, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0xfa, 0x00, 0x04, 0x00, 0x2c, 0x02, 0x00, 0x00, 0x2e, 0x02, 0x00, 0x00,
+  0x2f, 0x02, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x2e, 0x02, 0x00, 0x00,
+  0x85, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x30, 0x02, 0x00, 0x00,
+  0x2b, 0x02, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00,
+  0x2d, 0x02, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x2f, 0x02, 0x00, 0x00,
+  0x0c, 0x00, 0x06, 0x00, 0x10, 0x00, 0x00, 0x00, 0x31, 0x02, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x2b, 0x02, 0x00, 0x00,
+  0x0c, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00, 0x32, 0x02, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x31, 0x02, 0x00, 0x00,
+  0x57, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x33, 0x02, 0x00, 0x00, 0x32, 0x02, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00,
+  0x83, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x34, 0x02, 0x00, 0x00,
+  0x33, 0x02, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00,
+  0x2d, 0x02, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x2d, 0x02, 0x00, 0x00,
+  0xf5, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00, 0x35, 0x02, 0x00, 0x00,
+  0x30, 0x02, 0x00, 0x00, 0x2e, 0x02, 0x00, 0x00, 0x34, 0x02, 0x00, 0x00,
+  0x2f, 0x02, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x36, 0x02, 0x00, 0x00, 0x24, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0xbc, 0x00, 0x05, 0x00, 0x62, 0x00, 0x00, 0x00, 0x37, 0x02, 0x00, 0x00,
+  0x36, 0x02, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00,
+  0x38, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00,
+  0x37, 0x02, 0x00, 0x00, 0x39, 0x02, 0x00, 0x00, 0x3a, 0x02, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0x39, 0x02, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x3b, 0x02, 0x00, 0x00, 0x36, 0x02, 0x00, 0x00,
+  0x52, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0x38, 0x02, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0x3a, 0x02, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x3c, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x04, 0x00, 0x00, 0x00, 0x36, 0x02, 0x00, 0x00, 0x0c, 0x00, 0x07, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x3d, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x1a, 0x00, 0x00, 0x00, 0x3c, 0x02, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00,
+  0x85, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x3e, 0x02, 0x00, 0x00,
+  0x3d, 0x02, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x3f, 0x02, 0x00, 0x00, 0x3e, 0x02, 0x00, 0x00,
+  0x53, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0x38, 0x02, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0x38, 0x02, 0x00, 0x00, 0xf5, 0x00, 0x07, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x3b, 0x02, 0x00, 0x00,
+  0x39, 0x02, 0x00, 0x00, 0x3f, 0x02, 0x00, 0x00, 0x3a, 0x02, 0x00, 0x00,
+  0x51, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x41, 0x02, 0x00, 0x00,
+  0x24, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xbc, 0x00, 0x05, 0x00,
+  0x62, 0x00, 0x00, 0x00, 0x42, 0x02, 0x00, 0x00, 0x41, 0x02, 0x00, 0x00,
+  0x56, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00, 0x43, 0x02, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00, 0x42, 0x02, 0x00, 0x00,
+  0x44, 0x02, 0x00, 0x00, 0x45, 0x02, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00,
+  0x44, 0x02, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x46, 0x02, 0x00, 0x00, 0x41, 0x02, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00,
+  0xf9, 0x00, 0x02, 0x00, 0x43, 0x02, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00,
+  0x45, 0x02, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x47, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+  0x41, 0x02, 0x00, 0x00, 0x0c, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x48, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
+  0x47, 0x02, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x49, 0x02, 0x00, 0x00, 0x48, 0x02, 0x00, 0x00,
+  0x54, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x4a, 0x02, 0x00, 0x00, 0x49, 0x02, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00,
+  0xf9, 0x00, 0x02, 0x00, 0x43, 0x02, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00,
+  0x43, 0x02, 0x00, 0x00, 0xf5, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x4b, 0x02, 0x00, 0x00, 0x46, 0x02, 0x00, 0x00, 0x44, 0x02, 0x00, 0x00,
+  0x4a, 0x02, 0x00, 0x00, 0x45, 0x02, 0x00, 0x00, 0x50, 0x00, 0x06, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0x4c, 0x02, 0x00, 0x00, 0x35, 0x02, 0x00, 0x00,
+  0x40, 0x02, 0x00, 0x00, 0x4b, 0x02, 0x00, 0x00, 0x0c, 0x00, 0x08, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0x4d, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x2b, 0x00, 0x00, 0x00, 0x4c, 0x02, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00,
+  0x4a, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0x29, 0x02, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0x29, 0x02, 0x00, 0x00, 0xf5, 0x00, 0x07, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0x4e, 0x02, 0x00, 0x00, 0x24, 0x02, 0x00, 0x00,
+  0x1d, 0x02, 0x00, 0x00, 0x4d, 0x02, 0x00, 0x00, 0x43, 0x02, 0x00, 0x00,
+  0x4f, 0x00, 0x09, 0x00, 0x33, 0x00, 0x00, 0x00, 0x4f, 0x02, 0x00, 0x00,
+  0x70, 0x00, 0x00, 0x00, 0x4e, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+  0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x51, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x50, 0x02, 0x00, 0x00,
+  0xb3, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x52, 0x00, 0x06, 0x00,
+  0x33, 0x00, 0x00, 0x00, 0x51, 0x02, 0x00, 0x00, 0x50, 0x02, 0x00, 0x00,
+  0x4f, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00,
+  0x1c, 0x02, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x1e, 0x02, 0x00, 0x00,
+  0x4f, 0x00, 0x08, 0x00, 0x40, 0x00, 0x00, 0x00, 0x52, 0x02, 0x00, 0x00,
+  0xb3, 0x01, 0x00, 0x00, 0xb3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00,
+  0x61, 0x00, 0x00, 0x00, 0x53, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
+  0x31, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x54, 0x02, 0x00, 0x00, 0x53, 0x02, 0x00, 0x00, 0x8e, 0x00, 0x05, 0x00,
+  0x40, 0x00, 0x00, 0x00, 0x55, 0x02, 0x00, 0x00, 0x52, 0x02, 0x00, 0x00,
+  0x54, 0x02, 0x00, 0x00, 0x4f, 0x00, 0x09, 0x00, 0x33, 0x00, 0x00, 0x00,
+  0x56, 0x02, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x55, 0x02, 0x00, 0x00,
+  0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00,
+  0x57, 0x02, 0x00, 0x00, 0xb3, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x52, 0x00, 0x06, 0x00, 0x33, 0x00, 0x00, 0x00, 0x58, 0x02, 0x00, 0x00,
+  0x57, 0x02, 0x00, 0x00, 0x56, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0xf9, 0x00, 0x02, 0x00, 0x1c, 0x02, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00,
+  0x1c, 0x02, 0x00, 0x00, 0xf5, 0x00, 0x07, 0x00, 0x33, 0x00, 0x00, 0x00,
+  0x59, 0x02, 0x00, 0x00, 0x51, 0x02, 0x00, 0x00, 0x29, 0x02, 0x00, 0x00,
+  0x58, 0x02, 0x00, 0x00, 0x1e, 0x02, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00,
+  0xe8, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xe8, 0x01, 0x00, 0x00,
+  0xf5, 0x00, 0x07, 0x00, 0x33, 0x00, 0x00, 0x00, 0x5a, 0x02, 0x00, 0x00,
+  0x1b, 0x02, 0x00, 0x00, 0xf3, 0x01, 0x00, 0x00, 0x59, 0x02, 0x00, 0x00,
+  0x1c, 0x02, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0xb5, 0x01, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0xb5, 0x01, 0x00, 0x00, 0xf5, 0x00, 0x07, 0x00,
+  0x33, 0x00, 0x00, 0x00, 0x5b, 0x02, 0x00, 0x00, 0xe6, 0x01, 0x00, 0x00,
+  0xbc, 0x01, 0x00, 0x00, 0x5a, 0x02, 0x00, 0x00, 0xe8, 0x01, 0x00, 0x00,
+  0x85, 0x00, 0x05, 0x00, 0x33, 0x00, 0x00, 0x00, 0x5c, 0x02, 0x00, 0x00,
+  0x5b, 0x02, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00,
+  0x05, 0x00, 0x00, 0x00, 0x5c, 0x02, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00,
+  0x38, 0x00, 0x01, 0x00
+};
+static const unsigned int texture_advanced_frag_spv_len = 14152;

+ 0 - 341
src/render/gpu/shaders/texture_palette.frag.dxil.h

@@ -1,341 +0,0 @@
-static const unsigned char texture_palette_frag_dxil[] = {
-  0x44, 0x58, 0x42, 0x43, 0x55, 0x86, 0x21, 0xa0, 0x19, 0xf3, 0xde, 0xc6,
-  0x36, 0x0f, 0xde, 0xab, 0xfc, 0x7c, 0x9b, 0x93, 0x01, 0x00, 0x00, 0x00,
-  0xd0, 0x0f, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00,
-  0x4c, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x00, 0x00,
-  0x08, 0x02, 0x00, 0x00, 0x90, 0x08, 0x00, 0x00, 0xac, 0x08, 0x00, 0x00,
-  0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x31, 0x54, 0x00, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x48, 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, 0x48, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x00, 0x00, 0x00,
-  0x4f, 0x53, 0x47, 0x31, 0x34, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x00, 0x00,
-  0x50, 0x53, 0x56, 0x30, 0x1c, 0x01, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
-  0x00, 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, 0x02, 0x01, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x13, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x02, 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, 0x42, 0x00,
-  0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x44, 0x10, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
-  0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x53, 0x54, 0x41, 0x54, 0x80, 0x06, 0x00, 0x00,
-  0x60, 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c,
-  0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x68, 0x06, 0x00, 0x00,
-  0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0x97, 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, 0x43, 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, 0x9b, 0x86, 0xcb, 0x9f,
-  0xb0, 0x87, 0x90, 0xfc, 0x95, 0x90, 0x56, 0x62, 0xf2, 0x8b, 0xdb, 0x46,
-  0xc5, 0x18, 0x63, 0x10, 0x2a, 0xf7, 0x0c, 0x97, 0x3f, 0x61, 0x0f, 0x21,
-  0xf9, 0x21, 0xd0, 0x0c, 0x0b, 0x81, 0x82, 0x55, 0x18, 0x45, 0x18, 0x1b,
-  0x63, 0x0c, 0x42, 0xc8, 0xa0, 0x36, 0x47, 0x10, 0x14, 0x83, 0x91, 0x42,
-  0xc8, 0x23, 0x38, 0x10, 0x30, 0x8c, 0x40, 0x0c, 0x33, 0xb5, 0xc1, 0x38,
-  0xb0, 0x43, 0x38, 0xcc, 0xc3, 0x3c, 0xb8, 0x01, 0x2d, 0x94, 0x03, 0x3e,
-  0xd0, 0x43, 0x3d, 0xc8, 0x43, 0x39, 0xc8, 0x01, 0x29, 0xf0, 0x81, 0x3d,
-  0x94, 0xc3, 0x38, 0xd0, 0xc3, 0x3b, 0xc8, 0x03, 0x1f, 0x98, 0x03, 0x3b,
-  0xbc, 0x43, 0x38, 0xd0, 0x03, 0x1b, 0x80, 0x01, 0x1d, 0xf8, 0x01, 0x18,
-  0xf8, 0x81, 0x1e, 0xe8, 0x41, 0x3b, 0xa4, 0x03, 0x3c, 0xcc, 0xc3, 0x2f,
-  0xd0, 0x43, 0x3e, 0xc0, 0x43, 0x39, 0xa0, 0x80, 0xcc, 0x24, 0x06, 0xe3,
-  0xc0, 0x0e, 0xe1, 0x30, 0x0f, 0xf3, 0xe0, 0x06, 0xb4, 0x50, 0x0e, 0xf8,
-  0x40, 0x0f, 0xf5, 0x20, 0x0f, 0xe5, 0x20, 0x07, 0xa4, 0xc0, 0x07, 0xf6,
-  0x50, 0x0e, 0xe3, 0x40, 0x0f, 0xef, 0x20, 0x0f, 0x7c, 0x60, 0x0e, 0xec,
-  0xf0, 0x0e, 0xe1, 0x40, 0x0f, 0x6c, 0x00, 0x06, 0x74, 0xe0, 0x07, 0x60,
-  0xe0, 0x07, 0x48, 0x98, 0x94, 0xea, 0x4d, 0xd2, 0x14, 0x51, 0xc2, 0xe4,
-  0xb3, 0x00, 0xf3, 0x2c, 0x44, 0xc4, 0x4e, 0xc0, 0x44, 0xa0, 0x80, 0xd0,
-  0x4d, 0x04, 0x02, 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, 0x81, 0x80, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x20, 0x0b, 0x04, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00,
-  0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47,
-  0xc6, 0x04, 0x43, 0x22, 0x25, 0x30, 0x02, 0x50, 0x0c, 0x45, 0x50, 0x12,
-  0x65, 0x50, 0x1e, 0x85, 0x53, 0x08, 0x54, 0x4a, 0x62, 0x04, 0xa0, 0x08,
-  0x0a, 0xa1, 0x40, 0xc8, 0xce, 0x00, 0x10, 0x9e, 0x01, 0xa0, 0x3c, 0x16,
-  0x62, 0x10, 0x81, 0x40, 0x20, 0xcf, 0x03, 0x00, 0x79, 0x18, 0x00, 0x00,
-  0x85, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44,
-  0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24, 0xc6, 0x05, 0xc7, 0x45,
-  0xa6, 0x06, 0xa6, 0xc6, 0x45, 0x06, 0x07, 0x04, 0x25, 0xa7, 0xcc, 0x4c,
-  0x4c, 0xcc, 0x66, 0x6c, 0x46, 0x26, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x88,
-  0x62, 0x82, 0x40, 0x18, 0x1b, 0x84, 0x81, 0xd8, 0x20, 0x10, 0x04, 0x05,
-  0xb8, 0xb9, 0x09, 0x02, 0x71, 0x6c, 0x18, 0x0e, 0x84, 0x98, 0x20, 0x58,
-  0x13, 0x93, 0xba, 0x2f, 0xba, 0x32, 0x3c, 0xba, 0x3a, 0xb9, 0xb2, 0x09,
-  0x02, 0x81, 0x4c, 0x10, 0x88, 0x64, 0x83, 0x40, 0x34, 0x1b, 0x12, 0x42,
-  0x59, 0x18, 0x62, 0x60, 0x08, 0x87, 0x49, 0xdd, 0x17, 0x5c, 0x18, 0x5b,
-  0x19, 0x1d, 0x5d, 0xd9, 0x86, 0x64, 0x50, 0x20, 0x66, 0x18, 0x18, 0xc2,
-  0xd9, 0x20, 0x3c, 0xd1, 0x04, 0x01, 0xa3, 0xa8, 0xd4, 0x7d, 0xcd, 0x85,
-  0xb5, 0xc1, 0xb1, 0x95, 0xc9, 0xc5, 0x6c, 0x40, 0x88, 0x89, 0x62, 0x88,
-  0x81, 0x00, 0xa8, 0xd4, 0x7d, 0xcd, 0x85, 0xb5, 0xc1, 0xb1, 0x95, 0xc9,
-  0xc9, 0x6c, 0x40, 0x86, 0xc9, 0x62, 0x86, 0x81, 0x00, 0x36, 0x08, 0xd5,
-  0xb5, 0x81, 0x90, 0x00, 0x00, 0x9b, 0x20, 0x08, 0xc0, 0x06, 0x60, 0xc3,
-  0x40, 0x6c, 0xdb, 0x86, 0x80, 0xdb, 0x30, 0x0c, 0x5a, 0x37, 0x41, 0xc8,
-  0xaa, 0x0d, 0xc1, 0x47, 0xa2, 0x2d, 0x2c, 0xcd, 0x8d, 0x08, 0x55, 0x11,
-  0xd6, 0xd0, 0xd3, 0x93, 0x14, 0xd1, 0x04, 0xa1, 0x70, 0x26, 0x08, 0xc5,
-  0xb3, 0x21, 0x20, 0x26, 0x08, 0x05, 0x34, 0x41, 0x28, 0xa2, 0x09, 0x02,
-  0xa1, 0x4c, 0x10, 0x88, 0x65, 0x83, 0x80, 0x06, 0x69, 0xb0, 0x61, 0x21,
-  0xc4, 0x60, 0x0c, 0xc8, 0xa0, 0x0c, 0xcc, 0x60, 0x38, 0x03, 0x82, 0x0c,
-  0xd4, 0x60, 0x43, 0x30, 0x6c, 0x10, 0xd0, 0x00, 0x0d, 0x36, 0x2c, 0x83,
-  0x18, 0x8c, 0x01, 0x19, 0xb0, 0x81, 0x19, 0x0c, 0x66, 0x30, 0x90, 0x41,
-  0x1b, 0x6c, 0x10, 0xd6, 0xc0, 0x0d, 0x98, 0x4c, 0x59, 0x7d, 0x51, 0x85,
-  0xc9, 0x9d, 0x95, 0xd1, 0x4d, 0x10, 0x0a, 0x69, 0xc3, 0x42, 0xc0, 0xc1,
-  0x18, 0xc4, 0x41, 0x19, 0x90, 0xc1, 0x70, 0x06, 0x04, 0x19, 0xa8, 0xc1,
-  0x86, 0x40, 0x0e, 0x36, 0x0c, 0x6f, 0x30, 0x07, 0xc0, 0x86, 0x42, 0x0b,
-  0x03, 0x3a, 0xc8, 0x00, 0x1a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x73, 0x2c,
-  0xd2, 0xdc, 0xe6, 0xe8, 0xe6, 0x26, 0x08, 0x04, 0x43, 0x63, 0x2e, 0xed,
-  0xec, 0x8b, 0x8d, 0x8c, 0xc6, 0x5c, 0xda, 0xd9, 0xd7, 0x1c, 0xdd, 0x04,
-  0x81, 0x68, 0x88, 0xd0, 0x95, 0xe1, 0x7d, 0xb9, 0xbd, 0xc9, 0xb5, 0x6d,
-  0x50, 0xec, 0x00, 0xb9, 0x03, 0x3c, 0xc8, 0x03, 0x44, 0x0f, 0xf6, 0x80,
-  0x0f, 0x98, 0x2a, 0x6c, 0x6c, 0x76, 0x6d, 0x2e, 0x69, 0x64, 0x65, 0x6e,
-  0x74, 0x53, 0x82, 0xa0, 0x0a, 0x19, 0x9e, 0x8b, 0x5d, 0x99, 0xdc, 0x5c,
-  0xda, 0x9b, 0xdb, 0x94, 0x80, 0x68, 0x42, 0x86, 0xe7, 0x62, 0x17, 0xc6,
-  0x66, 0x57, 0x26, 0x37, 0x25, 0x28, 0xea, 0x90, 0xe1, 0xb9, 0xcc, 0xa1,
-  0x85, 0x91, 0x95, 0xc9, 0x35, 0xbd, 0x91, 0x95, 0xb1, 0x4d, 0x09, 0x90,
-  0x32, 0x64, 0x78, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
-  0x73, 0x53, 0x02, 0xac, 0x12, 0x19, 0x9e, 0x0b, 0x5d, 0x1e, 0x5c, 0x59,
-  0x90, 0x9b, 0xdb, 0x1b, 0x5d, 0x18, 0x5d, 0xda, 0x9b, 0xdb, 0xdc, 0x94,
-  0xa0, 0xab, 0x43, 0x86, 0xe7, 0x62, 0x97, 0x56, 0x76, 0x97, 0x44, 0x36,
-  0x45, 0x17, 0x46, 0x57, 0x36, 0x25, 0xf8, 0xea, 0x90, 0xe1, 0xb9, 0x94,
-  0xb9, 0xd1, 0xc9, 0xe5, 0x41, 0xbd, 0xa5, 0xb9, 0xd1, 0xcd, 0x4d, 0x09,
-  0xe8, 0xa0, 0x0b, 0x19, 0x9e, 0xcb, 0xd8, 0x5b, 0x9d, 0x1b, 0x5d, 0x99,
-  0xdc, 0xdc, 0x94, 0x80, 0x0f, 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,
-  0x12, 0x00, 0x00, 0x00, 0x46, 0x20, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x10,
-  0x11, 0xc0, 0x44, 0x84, 0x40, 0x33, 0x2c, 0x84, 0x05, 0x4c, 0xc3, 0xe5,
-  0x3b, 0x8f, 0xbf, 0x38, 0xc0, 0x20, 0x36, 0x0f, 0x35, 0xf9, 0xc5, 0x6d,
-  0xdb, 0x00, 0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x12, 0xc0, 0x3c, 0x0b, 0xe1,
-  0x17, 0xb7, 0x6d, 0x02, 0xd5, 0x70, 0xf9, 0xce, 0xe3, 0x4b, 0x93, 0x13,
-  0x11, 0x28, 0x35, 0x3d, 0xd4, 0xe4, 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, 0x67, 0xe9, 0xb9, 0xc5,
-  0x3e, 0x0d, 0xf1, 0xc0, 0xc2, 0x52, 0xbd, 0xf2, 0xbd, 0xb8, 0x68, 0x11,
-  0x44, 0x58, 0x49, 0x4c, 0x1c, 0x07, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
-  0xc7, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00,
-  0x10, 0x00, 0x00, 0x00, 0x04, 0x07, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde,
-  0x21, 0x0c, 0x00, 0x00, 0xbe, 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, 0x43, 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, 0x9b, 0x86, 0xcb, 0x9f, 0xb0, 0x87, 0x90, 0xfc,
-  0x95, 0x90, 0x56, 0x62, 0xf2, 0x8b, 0xdb, 0x46, 0xc5, 0x18, 0x63, 0x10,
-  0x2a, 0xf7, 0x0c, 0x97, 0x3f, 0x61, 0x0f, 0x21, 0xf9, 0x21, 0xd0, 0x0c,
-  0x0b, 0x81, 0x82, 0x55, 0x18, 0x45, 0x18, 0x1b, 0x63, 0x0c, 0x42, 0xc8,
-  0xa0, 0x36, 0x47, 0x10, 0x14, 0x83, 0x91, 0x42, 0xc8, 0x23, 0x38, 0x10,
-  0x30, 0x8c, 0x40, 0x0c, 0x33, 0xb5, 0xc1, 0x38, 0xb0, 0x43, 0x38, 0xcc,
-  0xc3, 0x3c, 0xb8, 0x01, 0x2d, 0x94, 0x03, 0x3e, 0xd0, 0x43, 0x3d, 0xc8,
-  0x43, 0x39, 0xc8, 0x01, 0x29, 0xf0, 0x81, 0x3d, 0x94, 0xc3, 0x38, 0xd0,
-  0xc3, 0x3b, 0xc8, 0x03, 0x1f, 0x98, 0x03, 0x3b, 0xbc, 0x43, 0x38, 0xd0,
-  0x03, 0x1b, 0x80, 0x01, 0x1d, 0xf8, 0x01, 0x18, 0xf8, 0x81, 0x1e, 0xe8,
-  0x41, 0x3b, 0xa4, 0x03, 0x3c, 0xcc, 0xc3, 0x2f, 0xd0, 0x43, 0x3e, 0xc0,
-  0x43, 0x39, 0xa0, 0x80, 0xcc, 0x24, 0x06, 0xe3, 0xc0, 0x0e, 0xe1, 0x30,
-  0x0f, 0xf3, 0xe0, 0x06, 0xb4, 0x50, 0x0e, 0xf8, 0x40, 0x0f, 0xf5, 0x20,
-  0x0f, 0xe5, 0x20, 0x07, 0xa4, 0xc0, 0x07, 0xf6, 0x50, 0x0e, 0xe3, 0x40,
-  0x0f, 0xef, 0x20, 0x0f, 0x7c, 0x60, 0x0e, 0xec, 0xf0, 0x0e, 0xe1, 0x40,
-  0x0f, 0x6c, 0x00, 0x06, 0x74, 0xe0, 0x07, 0x60, 0xe0, 0x07, 0x48, 0x98,
-  0x94, 0xea, 0x4d, 0xd2, 0x14, 0x51, 0xc2, 0xe4, 0xb3, 0x00, 0xf3, 0x2c,
-  0x44, 0xc4, 0x4e, 0xc0, 0x44, 0xa0, 0x80, 0xd0, 0x4d, 0x04, 0x02, 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, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf2, 0x34,
-  0x40, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xe4,
-  0x81, 0x80, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
-  0x0b, 0x04, 0x00, 0x00, 0x0d, 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, 0x04, 0x65, 0x50, 0x1e, 0x54,
-  0x4a, 0x62, 0x04, 0xa0, 0x08, 0x0a, 0xa1, 0x40, 0xc8, 0xce, 0x00, 0x10,
-  0x9e, 0x01, 0xa0, 0x3c, 0x16, 0x62, 0x10, 0x81, 0x40, 0x20, 0xcf, 0x03,
-  0x79, 0x18, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90,
-  0x46, 0x02, 0x13, 0x44, 0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24,
-  0xc6, 0x05, 0xc7, 0x45, 0xa6, 0x06, 0xa6, 0xc6, 0x45, 0x06, 0x07, 0x04,
-  0x25, 0xa7, 0xcc, 0x4c, 0x4c, 0xcc, 0x66, 0x6c, 0x46, 0x26, 0x65, 0x43,
-  0x10, 0x4c, 0x10, 0x88, 0x62, 0x82, 0x40, 0x18, 0x1b, 0x84, 0x81, 0x98,
-  0x20, 0x10, 0xc7, 0x06, 0x61, 0x30, 0x28, 0xc0, 0xcd, 0x4d, 0x10, 0x08,
-  0x64, 0xc3, 0x80, 0x24, 0xc4, 0x04, 0xc1, 0x8a, 0x08, 0x4c, 0x10, 0x88,
-  0x64, 0x83, 0x40, 0x18, 0x1b, 0x12, 0x62, 0x61, 0x1a, 0x62, 0x68, 0x08,
-  0x67, 0x43, 0x32, 0x2c, 0x4c, 0x33, 0x0c, 0x0d, 0xe1, 0x6c, 0x10, 0x1e,
-  0x68, 0x82, 0x80, 0x49, 0x1b, 0x10, 0x42, 0x62, 0x1a, 0x62, 0x20, 0x80,
-  0x0d, 0xc8, 0x20, 0x31, 0xcd, 0x30, 0x10, 0xc0, 0x06, 0x61, 0xa2, 0x36,
-  0x10, 0x11, 0x00, 0x54, 0x13, 0x84, 0x6c, 0xda, 0x10, 0x5c, 0x13, 0x04,
-  0x01, 0x20, 0xd1, 0x16, 0x96, 0xe6, 0x46, 0x84, 0xaa, 0x08, 0x6b, 0xe8,
-  0xe9, 0x49, 0x8a, 0x68, 0x82, 0x50, 0x30, 0x13, 0x84, 0xa2, 0xd9, 0x10,
-  0x10, 0x13, 0x84, 0xc2, 0x99, 0x20, 0x14, 0xcf, 0x04, 0x81, 0x50, 0x26,
-  0x08, 0xc4, 0xb2, 0x41, 0x08, 0x03, 0x31, 0xd8, 0xb0, 0x10, 0x1b, 0xd7,
-  0x79, 0xdf, 0x00, 0x06, 0x44, 0x37, 0x06, 0x1b, 0x82, 0x61, 0x83, 0x10,
-  0x06, 0x61, 0xb0, 0x61, 0x19, 0x36, 0xae, 0x2b, 0x83, 0x6f, 0xf8, 0x86,
-  0xce, 0x0c, 0x36, 0x08, 0x64, 0x70, 0x06, 0x4c, 0xa6, 0xac, 0xbe, 0xa8,
-  0xc2, 0xe4, 0xce, 0xca, 0xe8, 0x26, 0x08, 0x05, 0xb4, 0x61, 0x21, 0xd2,
-  0x80, 0x53, 0x03, 0xaf, 0x1b, 0xc0, 0x80, 0xe8, 0xc6, 0x60, 0x43, 0xb0,
-  0x06, 0x1b, 0x06, 0x34, 0x60, 0x03, 0x60, 0x43, 0x91, 0x69, 0x6d, 0x60,
-  0x01, 0x55, 0xd8, 0xd8, 0xec, 0xda, 0x5c, 0xd2, 0xc8, 0xca, 0xdc, 0xe8,
-  0xa6, 0x04, 0x41, 0x15, 0x32, 0x3c, 0x17, 0xbb, 0x32, 0xb9, 0xb9, 0xb4,
-  0x37, 0xb7, 0x29, 0x01, 0xd1, 0x84, 0x0c, 0xcf, 0xc5, 0x2e, 0x8c, 0xcd,
-  0xae, 0x4c, 0x6e, 0x4a, 0x60, 0xd4, 0x21, 0xc3, 0x73, 0x99, 0x43, 0x0b,
-  0x23, 0x2b, 0x93, 0x6b, 0x7a, 0x23, 0x2b, 0x63, 0x9b, 0x12, 0x24, 0x65,
-  0xc8, 0xf0, 0x5c, 0xe4, 0xca, 0xe6, 0xde, 0xea, 0xe4, 0xc6, 0xca, 0xe6,
-  0xa6, 0x04, 0x55, 0x1d, 0x32, 0x3c, 0x17, 0xbb, 0xb4, 0xb2, 0xbb, 0x24,
-  0xb2, 0x29, 0xba, 0x30, 0xba, 0xb2, 0x29, 0xc1, 0x55, 0x87, 0x0c, 0xcf,
-  0xa5, 0xcc, 0x8d, 0x4e, 0x2e, 0x0f, 0xea, 0x2d, 0xcd, 0x8d, 0x6e, 0x6e,
-  0x4a, 0xd0, 0x06, 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, 0x12, 0x00, 0x00, 0x00,
-  0x46, 0x20, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x10, 0x11, 0xc0, 0x44, 0x84,
-  0x40, 0x33, 0x2c, 0x84, 0x05, 0x4c, 0xc3, 0xe5, 0x3b, 0x8f, 0xbf, 0x38,
-  0xc0, 0x20, 0x36, 0x0f, 0x35, 0xf9, 0xc5, 0x6d, 0xdb, 0x00, 0x34, 0x5c,
-  0xbe, 0xf3, 0xf8, 0x12, 0xc0, 0x3c, 0x0b, 0xe1, 0x17, 0xb7, 0x6d, 0x02,
-  0xd5, 0x70, 0xf9, 0xce, 0xe3, 0x4b, 0x93, 0x13, 0x11, 0x28, 0x35, 0x3d,
-  0xd4, 0xe4, 0x17, 0xb7, 0x6d, 0x00, 0x04, 0x03, 0x20, 0x0d, 0x00, 0x00,
-  0x61, 0x20, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x13, 0x04, 0x41, 0x2c,
-  0x10, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0xf4, 0x46, 0x00, 0xa8,
-  0x94, 0x40, 0x19, 0x10, 0x29, 0xbc, 0x19, 0x80, 0x42, 0x28, 0xb9, 0x52,
-  0xa0, 0x31, 0x46, 0x00, 0x82, 0x20, 0x08, 0x7f, 0x63, 0x04, 0x20, 0x08,
-  0x82, 0x70, 0x37, 0x46, 0x00, 0x82, 0xa0, 0x7f, 0x7f, 0x33, 0x00, 0x00,
-  0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x00, 0x71, 0xc6, 0xb4, 0x6d, 0xcc,
-  0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x40, 0xdd, 0x41, 0x6d, 0x5b, 0x33,
-  0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x90, 0x87, 0x30, 0x5d, 0xe7, 0x8c,
-  0x18, 0x24, 0x00, 0x08, 0x82, 0x01, 0xf4, 0x25, 0x4d, 0xd7, 0x3d, 0x23,
-  0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0x8c, 0xc1, 0xf2, 0x79, 0x17, 0x33,
-  0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x06, 0x19, 0x30, 0x60, 0xf0, 0x41,
-  0xcd, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x65, 0xd0, 0x80, 0x01,
-  0x18, 0x64, 0xce, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x66, 0xe0,
-  0x84, 0x41, 0x18, 0x48, 0xcf, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18,
-  0x67, 0xf0, 0x88, 0x81, 0x18, 0x68, 0xd0, 0x88, 0x41, 0x02, 0x80, 0x20,
-  0x18, 0x18, 0x68, 0x00, 0x8d, 0xc1, 0x18, 0x4c, 0xd1, 0x88, 0xc1, 0x03,
-  0x80, 0x20, 0x18, 0x34, 0x67, 0x30, 0x25, 0x87, 0x51, 0x2c, 0x0b, 0x19,
-  0x90, 0x81, 0xb4, 0x8c, 0x26, 0x04, 0x80, 0x05, 0x8e, 0x7c, 0x2c, 0x80,
-  0xe0, 0x33, 0x62, 0xf0, 0x00, 0x20, 0x08, 0x06, 0xcd, 0x1a, 0x5c, 0x0e,
-  0x13, 0x48, 0xcf, 0x83, 0x06, 0x68, 0x60, 0x3d, 0xa3, 0x09, 0x01, 0x30,
-  0x9a, 0x20, 0x04, 0xa3, 0x09, 0x83, 0x30, 0x9a, 0x40, 0x0c, 0x46, 0x34,
-  0xf2, 0x31, 0xa2, 0x91, 0x8f, 0x11, 0x8d, 0x7c, 0x8c, 0x68, 0xe4, 0x33,
-  0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x48, 0x1d, 0x70, 0x71, 0x10, 0x07,
-  0x6a, 0x40, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x01, 0x52, 0x07, 0x5c,
-  0x1c, 0xc4, 0x81, 0x18, 0x0c, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x80,
-  0xd4, 0x01, 0x17, 0x07, 0x71, 0x90, 0x06, 0xc2, 0x88, 0x41, 0x02, 0x80,
-  0x20, 0x18, 0x20, 0x75, 0xc0, 0xc5, 0x41, 0x1c, 0x84, 0x41, 0x80, 0x00,
-  0x00, 0x00, 0x00, 0x00
-};
-static const unsigned int texture_palette_frag_dxil_len = 4048;

+ 0 - 21
src/render/gpu/shaders/texture_palette.frag.hlsl

@@ -1,21 +0,0 @@
-Texture2D u_texture : register(t0, space2);
-Texture2D u_palette : register(t1, space2);
-SamplerState u_sampler1 : register(s0, space2);
-SamplerState u_sampler2 : register(s1, space2);
-
-struct PSInput {
-    float4 v_color : COLOR0;
-    float2 v_uv : TEXCOORD0;
-};
-
-struct PSOutput {
-    float4 o_color : SV_Target;
-};
-
-PSOutput main(PSInput input) {
-    PSOutput output;
-    float index = u_texture.Sample(u_sampler1, input.v_uv).r * 255;
-    float4 color = u_palette.Sample(u_sampler2, float2((index + 0.5) / 256, 0.5));
-    output.o_color = color * input.v_color;
-    return output;
-}

+ 0 - 60
src/render/gpu/shaders/texture_palette.frag.msl.h

@@ -1,60 +0,0 @@
-static const unsigned char texture_palette_frag_msl[] = {
-  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,
-  0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70,
-  0x61, 0x63, 0x65, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x6c, 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, 0x20,
-  0x5b, 0x5b, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x28, 0x30, 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, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 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, 0x32, 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, 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, 0x74, 0x65,
-  0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61,
-  0x74, 0x3e, 0x20, 0x75, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65,
-  0x20, 0x5b, 0x5b, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30,
-  0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65,
-  0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x20, 0x75, 0x5f,
-  0x70, 0x61, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x20, 0x5b, 0x5b, 0x74, 0x65,
-  0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x31, 0x29, 0x5d, 0x5d, 0x2c, 0x20,
-  0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x75, 0x5f, 0x73, 0x61,
-  0x6d, 0x70, 0x6c, 0x65, 0x72, 0x31, 0x20, 0x5b, 0x5b, 0x73, 0x61, 0x6d,
-  0x70, 0x6c, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x73,
-  0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x75, 0x5f, 0x73, 0x61, 0x6d,
-  0x70, 0x6c, 0x65, 0x72, 0x32, 0x20, 0x5b, 0x5b, 0x73, 0x61, 0x6d, 0x70,
-  0x6c, 0x65, 0x72, 0x28, 0x31, 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, 0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65,
-  0x74, 0x20, 0x3d, 0x20, 0x75, 0x5f, 0x70, 0x61, 0x6c, 0x65, 0x74, 0x74,
-  0x65, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x75, 0x5f, 0x73,
-  0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x2c, 0x20, 0x66, 0x6c, 0x6f,
-  0x61, 0x74, 0x32, 0x28, 0x28, 0x28, 0x75, 0x5f, 0x74, 0x65, 0x78, 0x74,
-  0x75, 0x72, 0x65, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x75,
-  0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x31, 0x2c, 0x20, 0x69,
-  0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58,
-  0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x29, 0x2e, 0x78, 0x20, 0x2a, 0x20,
-  0x32, 0x35, 0x35, 0x2e, 0x30, 0x29, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35,
-  0x29, 0x20, 0x2a, 0x20, 0x30, 0x2e, 0x30, 0x30, 0x33, 0x39, 0x30, 0x36,
-  0x32, 0x35, 0x2c, 0x20, 0x30, 0x2e, 0x35, 0x29, 0x29, 0x20, 0x2a, 0x20,
-  0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x43, 0x4f,
-  0x4c, 0x4f, 0x52, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65,
-  0x74, 0x75, 0x72, 0x6e, 0x20, 0x6f, 0x75, 0x74, 0x3b, 0x0a, 0x7d, 0x0a,
-  0x0a
-};
-static const unsigned int texture_palette_frag_msl_len = 673;

+ 0 - 106
src/render/gpu/shaders/texture_palette.frag.spv.h

@@ -1,106 +0,0 @@
-static const unsigned char texture_palette_frag_spv[] = {
-  0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0e, 0x00,
-  0x2a, 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, 0x08, 0x00, 0x04, 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,
-  0x10, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x03, 0x00, 0x05, 0x00, 0x00, 0x00, 0x58, 0x02, 0x00, 0x00,
-  0x05, 0x00, 0x06, 0x00, 0x05, 0x00, 0x00, 0x00, 0x74, 0x79, 0x70, 0x65,
-  0x2e, 0x32, 0x64, 0x2e, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x00, 0x00, 0x00,
-  0x05, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x74, 0x65,
-  0x78, 0x74, 0x75, 0x72, 0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00,
-  0x07, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x70, 0x61, 0x6c, 0x65, 0x74, 0x74,
-  0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x08, 0x00, 0x00, 0x00,
-  0x74, 0x79, 0x70, 0x65, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72,
-  0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00,
-  0x75, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x31, 0x00, 0x00,
-  0x05, 0x00, 0x05, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x73, 0x61,
-  0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x2e, 0x76, 0x61, 0x72, 0x2e, 0x43,
-  0x4f, 0x4c, 0x4f, 0x52, 0x30, 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, 0x30, 0x00, 0x00, 0x00, 0x00,
-  0x05, 0x00, 0x07, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6f, 0x75, 0x74, 0x2e,
-  0x76, 0x61, 0x72, 0x2e, 0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65,
-  0x74, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00,
-  0x0b, 0x00, 0x00, 0x00, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x73, 0x61, 0x6d,
-  0x70, 0x6c, 0x65, 0x64, 0x2e, 0x69, 0x6d, 0x61, 0x67, 0x65, 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, 0x00, 0x00, 0x00, 0x00,
-  0x47, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00,
-  0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00,
-  0x07, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x47, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00,
-  0x22, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00,
-  0x09, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x47, 0x00, 0x04, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x0a, 0x00, 0x00, 0x00,
-  0x21, 0x00, 0x00, 0x00, 0x01, 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, 0x7f, 0x43,
-  0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x3f, 0x19, 0x00, 0x09, 0x00, 0x05, 0x00, 0x00, 0x00,
-  0x0c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x0f, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x02, 0x00,
-  0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00,
-  0x11, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
-  0x20, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x11, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00,
-  0x0c, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00,
-  0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 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,
-  0x1b, 0x00, 0x03, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
-  0x3b, 0x00, 0x04, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x0f, 0x00, 0x00, 0x00,
-  0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00,
-  0x10, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x3b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00,
-  0x14, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x3b, 0x00, 0x04, 0x00, 0x15, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00,
-  0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3b, 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, 0x13, 0x00, 0x00, 0x00,
-  0x1b, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
-  0x05, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
-  0x3d, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00,
-  0x09, 0x00, 0x00, 0x00, 0x56, 0x00, 0x05, 0x00, 0x0b, 0x00, 0x00, 0x00,
-  0x1e, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00,
-  0x57, 0x00, 0x06, 0x00, 0x11, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00,
-  0x1e, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x51, 0x00, 0x05, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
-  0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00,
-  0x0c, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
-  0x0d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x05, 0x00, 0x00, 0x00,
-  0x22, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
-  0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
-  0x81, 0x00, 0x05, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
-  0x21, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00,
-  0x0c, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
-  0x18, 0x00, 0x00, 0x00, 0x50, 0x00, 0x05, 0x00, 0x13, 0x00, 0x00, 0x00,
-  0x26, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00,
-  0x56, 0x00, 0x05, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00,
-  0x22, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x57, 0x00, 0x06, 0x00,
-  0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00,
-  0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00,
-  0x11, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
-  0x1a, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00,
-  0x29, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00
-};
-static const unsigned int texture_palette_frag_spv_len = 1236;

+ 0 - 426
src/render/gpu/shaders/texture_palette_pixelart.frag.dxil.h

@@ -1,426 +0,0 @@
-static const unsigned char texture_palette_pixelart_frag_dxil[] = {
-  0x44, 0x58, 0x42, 0x43, 0xfc, 0xac, 0x96, 0xa0, 0x23, 0xe7, 0x88, 0xda,
-  0x37, 0xdd, 0x85, 0x27, 0x01, 0x50, 0x7b, 0xe3, 0x01, 0x00, 0x00, 0x00,
-  0xd0, 0x13, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00,
-  0x4c, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x00, 0x00,
-  0x20, 0x02, 0x00, 0x00, 0xe4, 0x09, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00,
-  0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x31, 0x54, 0x00, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x48, 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, 0x48, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x00, 0x00, 0x00,
-  0x4f, 0x53, 0x47, 0x31, 0x34, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x00, 0x00,
-  0x50, 0x53, 0x56, 0x30, 0x34, 0x01, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
-  0x00, 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, 0x02, 0x01, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x13, 0x00, 0x00, 0x00, 0x05, 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,
-  0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x02, 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, 0x42, 0x00,
-  0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x44, 0x10, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
-  0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x53, 0x54, 0x41, 0x54, 0xbc, 0x07, 0x00, 0x00,
-  0x60, 0x00, 0x00, 0x00, 0xef, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c,
-  0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xa4, 0x07, 0x00, 0x00,
-  0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0xe6, 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, 0x56, 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, 0x94, 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, 0x0c,
-  0x03, 0x31, 0x90, 0x52, 0x88, 0x81, 0x18, 0x06, 0x62, 0x6e, 0x1a, 0x2e,
-  0x7f, 0xc2, 0x1e, 0x42, 0xf2, 0x57, 0x42, 0x5a, 0x89, 0xc9, 0x2f, 0x6e,
-  0x1b, 0x15, 0xc3, 0x30, 0x0c, 0x04, 0x15, 0xf7, 0x0c, 0x97, 0x3f, 0x61,
-  0x0f, 0x21, 0xf9, 0x21, 0xd0, 0x0c, 0x0b, 0x81, 0x82, 0xa7, 0x30, 0x0e,
-  0x01, 0x41, 0xc3, 0x30, 0x0c, 0x04, 0x41, 0x0c, 0x14, 0x15, 0xc9, 0x21,
-  0x20, 0x68, 0x18, 0x86, 0x81, 0x20, 0x88, 0x61, 0x18, 0x86, 0x61, 0x18,
-  0x68, 0x3a, 0x6a, 0xb8, 0xfc, 0x09, 0x7b, 0x08, 0xc9, 0xe7, 0x36, 0xaa,
-  0x58, 0x89, 0xc9, 0x2f, 0x6e, 0x1b, 0x11, 0xc3, 0x30, 0x0c, 0x85, 0xa8,
-  0x08, 0x88, 0x20, 0x6b, 0x8e, 0x20, 0x28, 0x06, 0x44, 0x14, 0x04, 0x81,
-  0x51, 0x36, 0x10, 0x30, 0x8c, 0x40, 0x0c, 0x33, 0xb5, 0xc1, 0x38, 0xb0,
-  0x43, 0x38, 0xcc, 0xc3, 0x3c, 0xb8, 0x01, 0x2d, 0x94, 0x03, 0x3e, 0xd0,
-  0x43, 0x3d, 0xc8, 0x43, 0x39, 0xc8, 0x01, 0x29, 0xf0, 0x81, 0x3d, 0x94,
-  0xc3, 0x38, 0xd0, 0xc3, 0x3b, 0xc8, 0x03, 0x1f, 0x98, 0x03, 0x3b, 0xbc,
-  0x43, 0x38, 0xd0, 0x03, 0x1b, 0x80, 0x01, 0x1d, 0xf8, 0x01, 0x18, 0xf8,
-  0x81, 0x1e, 0xe8, 0x41, 0x3b, 0xa4, 0x03, 0x3c, 0xcc, 0xc3, 0x2f, 0xd0,
-  0x43, 0x3e, 0xc0, 0x43, 0x39, 0xa0, 0x80, 0x98, 0x49, 0x0c, 0xc6, 0x81,
-  0x1d, 0xc2, 0x61, 0x1e, 0xe6, 0xc1, 0x0d, 0x68, 0xa1, 0x1c, 0xf0, 0x81,
-  0x1e, 0xea, 0x41, 0x1e, 0xca, 0x41, 0x0e, 0x48, 0x81, 0x0f, 0xec, 0xa1,
-  0x1c, 0xc6, 0x81, 0x1e, 0xde, 0x41, 0x1e, 0xf8, 0xc0, 0x1c, 0xd8, 0xe1,
-  0x1d, 0xc2, 0x81, 0x1e, 0xd8, 0x00, 0x0c, 0xe8, 0xc0, 0x0f, 0xc0, 0xc0,
-  0x0f, 0x90, 0xc0, 0x75, 0xe4, 0x1d, 0x33, 0x61, 0x0f, 0xf1, 0x73, 0x4e,
-  0x33, 0x11, 0xd7, 0x84, 0x02, 0x8e, 0xc0, 0x9b, 0xa4, 0x29, 0xa2, 0x84,
-  0xc9, 0x67, 0x01, 0xe6, 0x59, 0x88, 0x88, 0x9d, 0x80, 0x89, 0x40, 0x01,
-  0x41, 0x62, 0x22, 0x10, 0x00, 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, 0x13, 0x01, 0x01,
-  0x30, 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, 0x12, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x18,
-  0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22,
-  0x4a, 0x60, 0x04, 0xa0, 0x18, 0x8a, 0xa0, 0x24, 0xca, 0xa0, 0x40, 0xca,
-  0xa1, 0x34, 0x0a, 0xa1, 0x3c, 0x8a, 0xac, 0x48, 0x03, 0xa8, 0x28, 0x89,
-  0x11, 0x80, 0x22, 0x28, 0x84, 0x02, 0xa1, 0x6f, 0x06, 0x80, 0xc0, 0x19,
-  0x00, 0x0a, 0x67, 0x00, 0x68, 0x9c, 0x01, 0x20, 0x72, 0x2c, 0xc4, 0x20,
-  0x02, 0x81, 0x40, 0x9e, 0x07, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00,
-  0x9f, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44,
-  0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24, 0xc6, 0x05, 0xc7, 0x45,
-  0xa6, 0x06, 0xa6, 0xc6, 0x45, 0x06, 0x07, 0x04, 0x25, 0xa7, 0xcc, 0x4c,
-  0x4c, 0xcc, 0x66, 0x6c, 0x46, 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, 0x7c,
-  0x1b, 0x93, 0xba, 0x2f, 0xba, 0x32, 0x3c, 0xba, 0x3a, 0xb9, 0xb2, 0x09,
-  0x02, 0xc1, 0x4c, 0x10, 0x88, 0x66, 0x83, 0x40, 0x34, 0x1b, 0x12, 0x42,
-  0x59, 0x18, 0x62, 0x60, 0x08, 0x87, 0x49, 0xdd, 0x17, 0x5c, 0x18, 0x5b,
-  0x19, 0x1d, 0x5d, 0xd9, 0x86, 0x64, 0x50, 0x20, 0x66, 0x18, 0x18, 0xc2,
-  0xd9, 0x20, 0x3c, 0xd1, 0x04, 0x21, 0x0c, 0x3a, 0x32, 0x74, 0x79, 0x70,
-  0x65, 0x5f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x13, 0x04, 0xc2,
-  0x99, 0x20, 0x10, 0xcf, 0x06, 0x84, 0x98, 0xa8, 0x8a, 0x18, 0x2c, 0x60,
-  0x43, 0x70, 0x4d, 0x10, 0xc6, 0xc0, 0xa3, 0x52, 0xf7, 0x35, 0x17, 0xd6,
-  0x06, 0xc7, 0x56, 0x26, 0x17, 0xb3, 0x01, 0x21, 0x32, 0x8d, 0x21, 0x06,
-  0x02, 0xa0, 0x52, 0xf7, 0x35, 0x17, 0xd6, 0x06, 0xc7, 0x56, 0x26, 0x27,
-  0xb3, 0x01, 0x19, 0x32, 0x8e, 0x19, 0x06, 0x02, 0xd8, 0x20, 0x6c, 0xdd,
-  0x06, 0x42, 0x02, 0x30, 0x6f, 0x82, 0x00, 0x06, 0x1c, 0xa5, 0xa1, 0x37,
-  0x37, 0xba, 0x32, 0x3c, 0xba, 0x2f, 0xba, 0x32, 0xbc, 0x32, 0xb6, 0xaf,
-  0xb9, 0x34, 0xbd, 0xb2, 0x09, 0x02, 0x01, 0x4d, 0x10, 0x88, 0x68, 0x82,
-  0x40, 0x48, 0x1b, 0x10, 0x24, 0x0c, 0x2a, 0x42, 0x0c, 0x9a, 0x31, 0x20,
-  0x83, 0x0d, 0x82, 0x55, 0x06, 0x1b, 0x06, 0x02, 0x0c, 0xcc, 0x60, 0x82,
-  0x20, 0x00, 0x1b, 0x80, 0x0d, 0x03, 0x91, 0x06, 0x69, 0xb0, 0x21, 0x50,
-  0x83, 0x0d, 0xc3, 0x80, 0x06, 0x6b, 0x30, 0x41, 0x20, 0x83, 0x6f, 0x43,
-  0xd0, 0x06, 0x24, 0xda, 0xc2, 0xd2, 0xdc, 0x88, 0x50, 0x15, 0x61, 0x0d,
-  0x3d, 0x3d, 0x49, 0x11, 0x4d, 0x10, 0x0a, 0x6b, 0x82, 0x50, 0x5c, 0x1b,
-  0x02, 0x62, 0x82, 0x50, 0x60, 0x13, 0x84, 0x22, 0x9b, 0x20, 0x10, 0xd3,
-  0x06, 0xa1, 0xb2, 0x83, 0x0d, 0x0b, 0x01, 0x07, 0x71, 0x20, 0x07, 0x73,
-  0x40, 0x07, 0x43, 0x1d, 0x10, 0x72, 0x70, 0x07, 0x1b, 0x82, 0x61, 0x83,
-  0x50, 0x55, 0x1b, 0x96, 0x01, 0x0e, 0xe2, 0x40, 0x0e, 0xf2, 0x80, 0x0e,
-  0x06, 0x3a, 0x18, 0xe4, 0x40, 0x0f, 0x36, 0x08, 0x78, 0xb0, 0x07, 0x4c,
-  0xa6, 0xac, 0xbe, 0xa8, 0xc2, 0xe4, 0xce, 0xca, 0xe8, 0x26, 0x08, 0x85,
-  0xb6, 0x61, 0x21, 0xfa, 0x20, 0x0e, 0xfc, 0x60, 0x0e, 0xe4, 0x60, 0xa8,
-  0x03, 0x42, 0x0e, 0xee, 0x60, 0x43, 0xf0, 0x07, 0x1b, 0x06, 0x3e, 0x00,
-  0x05, 0x60, 0x43, 0x81, 0x06, 0x6f, 0x10, 0x0a, 0x1f, 0x40, 0xc3, 0x8c,
-  0xed, 0x2d, 0x8c, 0x6e, 0x6e, 0x82, 0x40, 0x50, 0x2c, 0xd2, 0xdc, 0xe6,
-  0xe8, 0xe6, 0x26, 0x08, 0x44, 0x45, 0x63, 0x2e, 0xed, 0xec, 0x8b, 0x8d,
-  0x8c, 0xc6, 0x5c, 0xda, 0xd9, 0xd7, 0x1c, 0x1d, 0x11, 0xba, 0x32, 0xbc,
-  0xaf, 0x33, 0xb9, 0x30, 0x32, 0x22, 0x74, 0x65, 0x78, 0x5f, 0x6e, 0x6f,
-  0x72, 0x6d, 0x1b, 0x98, 0x51, 0x20, 0x85, 0x52, 0x30, 0x85, 0x53, 0x40,
-  0x50, 0x81, 0x0c, 0x52, 0x61, 0x50, 0x85, 0xa1, 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, 0x8a,
-  0x3a, 0x64, 0x78, 0x2e, 0x73, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x6f,
-  0x64, 0x65, 0x6c, 0x53, 0x02, 0xa4, 0x0c, 0x19, 0x9e, 0x8b, 0x5c, 0xd9,
-  0xdc, 0x5b, 0x9d, 0xdc, 0x58, 0xd9, 0xdc, 0x94, 0xc0, 0xab, 0x44, 0x86,
-  0xe7, 0x42, 0x97, 0x07, 0x57, 0x16, 0xe4, 0xe6, 0xf6, 0x46, 0x17, 0x46,
-  0x97, 0xf6, 0xe6, 0x36, 0x37, 0x45, 0x30, 0x83, 0x35, 0xa8, 0x43, 0x86,
-  0xe7, 0x62, 0x97, 0x56, 0x76, 0x97, 0x44, 0x36, 0x45, 0x17, 0x46, 0x57,
-  0x36, 0x25, 0x68, 0x83, 0x3a, 0x64, 0x78, 0x2e, 0x65, 0x6e, 0x74, 0x72,
-  0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x53, 0x82, 0x50, 0xe8, 0x42,
-  0x86, 0xe7, 0x32, 0xf6, 0x56, 0xe7, 0x46, 0x57, 0x26, 0x37, 0x37, 0x25,
-  0x50, 0x05, 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, 0x23, 0x00, 0x00, 0x00,
-  0x46, 0x00, 0x0d, 0x97, 0xef, 0x3c, 0x7e, 0x80, 0x34, 0x40, 0x84, 0xf9,
-  0xc5, 0x6d, 0xdb, 0xc1, 0x36, 0x5c, 0xbe, 0xf3, 0xf8, 0x42, 0x40, 0x15,
-  0x05, 0x11, 0x95, 0x0e, 0x30, 0x94, 0x84, 0x01, 0x08, 0x98, 0x5f, 0xdc,
-  0xb6, 0x21, 0x48, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x44, 0x04, 0x30, 0x11,
-  0x21, 0xd0, 0x0c, 0x0b, 0x61, 0x01, 0xd3, 0x70, 0xf9, 0xce, 0xe3, 0x2f,
-  0x0e, 0x30, 0x88, 0xcd, 0x43, 0x4d, 0x7e, 0x71, 0xdb, 0x56, 0x00, 0x0d,
-  0x97, 0xef, 0x3c, 0xbe, 0x04, 0x30, 0xcf, 0x42, 0xf8, 0xc5, 0x6d, 0x9b,
-  0x01, 0x35, 0x5c, 0xbe, 0xf3, 0xf8, 0x12, 0xc0, 0x3c, 0x0b, 0x01, 0x46,
-  0xc0, 0xe0, 0x17, 0xb7, 0x6d, 0x02, 0xd5, 0x70, 0xf9, 0xce, 0xe3, 0x4b,
-  0x93, 0x13, 0x11, 0x28, 0x35, 0x3d, 0xd4, 0xe4, 0x17, 0xb7, 0x6d, 0x03,
-  0xcf, 0x70, 0xf9, 0xce, 0xe3, 0x53, 0x0d, 0x10, 0x61, 0x7e, 0x71, 0xdb,
-  0x06, 0x40, 0x30, 0x00, 0xd2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x48, 0x41, 0x53, 0x48, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x9f, 0xb3, 0x26, 0x31, 0x36, 0xb8, 0x29, 0x67, 0x66, 0xc8, 0x7e, 0x84,
-  0x3e, 0x27, 0x25, 0x2a, 0x44, 0x58, 0x49, 0x4c, 0xc8, 0x09, 0x00, 0x00,
-  0x60, 0x00, 0x00, 0x00, 0x72, 0x02, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c,
-  0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xb0, 0x09, 0x00, 0x00,
-  0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0x69, 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, 0x56, 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, 0x94, 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, 0x0c,
-  0x03, 0x31, 0x90, 0x52, 0x88, 0x81, 0x18, 0x06, 0x62, 0x6e, 0x1a, 0x2e,
-  0x7f, 0xc2, 0x1e, 0x42, 0xf2, 0x57, 0x42, 0x5a, 0x89, 0xc9, 0x2f, 0x6e,
-  0x1b, 0x15, 0xc3, 0x30, 0x0c, 0x04, 0x15, 0xf7, 0x0c, 0x97, 0x3f, 0x61,
-  0x0f, 0x21, 0xf9, 0x21, 0xd0, 0x0c, 0x0b, 0x81, 0x82, 0xa7, 0x30, 0x0e,
-  0x01, 0x41, 0xc3, 0x30, 0x0c, 0x04, 0x41, 0x0c, 0x14, 0x15, 0xc9, 0x21,
-  0x20, 0x68, 0x18, 0x86, 0x81, 0x20, 0x88, 0x61, 0x18, 0x86, 0x61, 0x18,
-  0x68, 0x3a, 0x6a, 0xb8, 0xfc, 0x09, 0x7b, 0x08, 0xc9, 0xe7, 0x36, 0xaa,
-  0x58, 0x89, 0xc9, 0x2f, 0x6e, 0x1b, 0x11, 0xc3, 0x30, 0x0c, 0x85, 0xa8,
-  0x08, 0x88, 0x20, 0x6b, 0x8e, 0x20, 0x28, 0x06, 0x44, 0x14, 0x04, 0x81,
-  0x51, 0x36, 0x10, 0x30, 0x8c, 0x40, 0x0c, 0x33, 0xb5, 0xc1, 0x38, 0xb0,
-  0x43, 0x38, 0xcc, 0xc3, 0x3c, 0xb8, 0x01, 0x2d, 0x94, 0x03, 0x3e, 0xd0,
-  0x43, 0x3d, 0xc8, 0x43, 0x39, 0xc8, 0x01, 0x29, 0xf0, 0x81, 0x3d, 0x94,
-  0xc3, 0x38, 0xd0, 0xc3, 0x3b, 0xc8, 0x03, 0x1f, 0x98, 0x03, 0x3b, 0xbc,
-  0x43, 0x38, 0xd0, 0x03, 0x1b, 0x80, 0x01, 0x1d, 0xf8, 0x01, 0x18, 0xf8,
-  0x81, 0x1e, 0xe8, 0x41, 0x3b, 0xa4, 0x03, 0x3c, 0xcc, 0xc3, 0x2f, 0xd0,
-  0x43, 0x3e, 0xc0, 0x43, 0x39, 0xa0, 0x80, 0x98, 0x49, 0x0c, 0xc6, 0x81,
-  0x1d, 0xc2, 0x61, 0x1e, 0xe6, 0xc1, 0x0d, 0x68, 0xa1, 0x1c, 0xf0, 0x81,
-  0x1e, 0xea, 0x41, 0x1e, 0xca, 0x41, 0x0e, 0x48, 0x81, 0x0f, 0xec, 0xa1,
-  0x1c, 0xc6, 0x81, 0x1e, 0xde, 0x41, 0x1e, 0xf8, 0xc0, 0x1c, 0xd8, 0xe1,
-  0x1d, 0xc2, 0x81, 0x1e, 0xd8, 0x00, 0x0c, 0xe8, 0xc0, 0x0f, 0xc0, 0xc0,
-  0x0f, 0x90, 0xc0, 0x75, 0xe4, 0x1d, 0x33, 0x61, 0x0f, 0xf1, 0x73, 0x4e,
-  0x33, 0x11, 0xd7, 0x84, 0x02, 0x8e, 0xc0, 0x9b, 0xa4, 0x29, 0xa2, 0x84,
-  0xc9, 0x67, 0x01, 0xe6, 0x59, 0x88, 0x88, 0x9d, 0x80, 0x89, 0x40, 0x01,
-  0x41, 0x62, 0x22, 0x10, 0x00, 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, 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, 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, 0x13, 0x01, 0x01,
-  0x30, 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, 0x0f, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14,
-  0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22,
-  0x4a, 0x60, 0x04, 0xa0, 0x24, 0x8a, 0xa1, 0x08, 0xca, 0xa0, 0x40, 0xca,
-  0x83, 0x8a, 0x92, 0x18, 0x01, 0x28, 0x82, 0x42, 0x28, 0x10, 0xfa, 0x66,
-  0x00, 0x28, 0x9c, 0x01, 0xa0, 0x71, 0x06, 0x80, 0xc8, 0xb1, 0x10, 0x83,
-  0x08, 0x04, 0x02, 0x79, 0x1e, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00,
-  0x64, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44,
-  0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24, 0xc6, 0x05, 0xc7, 0x45,
-  0xa6, 0x06, 0xa6, 0xc6, 0x45, 0x06, 0x07, 0x04, 0x25, 0xa7, 0xcc, 0x4c,
-  0x4c, 0xcc, 0x66, 0x6c, 0x46, 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, 0xe1, 0xb3, 0x08, 0x4c, 0x10, 0x88, 0x66, 0x83, 0x40, 0x18,
-  0x1b, 0x12, 0x62, 0x61, 0x1a, 0x62, 0x68, 0x08, 0x67, 0x43, 0x32, 0x2c,
-  0x4c, 0x33, 0x0c, 0x0d, 0xe1, 0x6c, 0x10, 0x1e, 0x68, 0x82, 0x10, 0x06,
-  0xd7, 0x04, 0x81, 0x70, 0x26, 0x08, 0xc4, 0xb3, 0x01, 0x21, 0x24, 0x66,
-  0x22, 0x06, 0x0a, 0xd8, 0x10, 0x54, 0x13, 0x84, 0x31, 0xc0, 0x36, 0x20,
-  0xc4, 0xc5, 0x34, 0xc4, 0x40, 0x00, 0x1b, 0x90, 0xe1, 0x62, 0x9a, 0x61,
-  0x20, 0x80, 0x0d, 0x02, 0x96, 0x6d, 0x20, 0x22, 0xc0, 0xd2, 0x26, 0x08,
-  0x64, 0x90, 0x6d, 0x08, 0xb8, 0x09, 0x82, 0x00, 0x90, 0x68, 0x0b, 0x4b,
-  0x73, 0x23, 0x42, 0x55, 0x84, 0x35, 0xf4, 0xf4, 0x24, 0x45, 0x34, 0x41,
-  0x28, 0xa2, 0x09, 0x42, 0x21, 0x6d, 0x08, 0x88, 0x09, 0x42, 0x31, 0x4d,
-  0x10, 0x0a, 0x6a, 0x82, 0x40, 0x40, 0x1b, 0x84, 0xc9, 0x0c, 0x36, 0x2c,
-  0x04, 0x18, 0x84, 0x81, 0x18, 0x8c, 0x01, 0x19, 0x0c, 0x65, 0x40, 0x88,
-  0xc1, 0x19, 0x6c, 0x08, 0x86, 0x0d, 0xc2, 0x34, 0x6d, 0x58, 0x06, 0x30,
-  0x08, 0x03, 0x31, 0x48, 0x03, 0x32, 0x18, 0xc8, 0x60, 0x10, 0x03, 0x35,
-  0xd8, 0x20, 0xa0, 0xc1, 0x1a, 0x30, 0x99, 0xb2, 0xfa, 0xa2, 0x0a, 0x93,
-  0x3b, 0x2b, 0xa3, 0x9b, 0x20, 0x14, 0xd5, 0x86, 0x85, 0x68, 0x83, 0x30,
-  0x70, 0x83, 0x31, 0x10, 0x83, 0xa1, 0x0c, 0x08, 0x31, 0x38, 0x83, 0x0d,
-  0xc1, 0x1b, 0x6c, 0x18, 0xd8, 0x00, 0x0e, 0x80, 0x0d, 0x85, 0xf7, 0xc5,
-  0xc1, 0x06, 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, 0x68, 0x75, 0xc8, 0xf0, 0x5c, 0xec, 0xd2, 0xca, 0xee,
-  0x92, 0xc8, 0xa6, 0xe8, 0xc2, 0xe8, 0xca, 0xa6, 0x04, 0x5c, 0x1d, 0x32,
-  0x3c, 0x97, 0x32, 0x37, 0x3a, 0xb9, 0x3c, 0xa8, 0xb7, 0x34, 0x37, 0xba,
-  0xb9, 0x29, 0x41, 0x1c, 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,
-  0x23, 0x00, 0x00, 0x00, 0x46, 0x00, 0x0d, 0x97, 0xef, 0x3c, 0x7e, 0x80,
-  0x34, 0x40, 0x84, 0xf9, 0xc5, 0x6d, 0xdb, 0xc1, 0x36, 0x5c, 0xbe, 0xf3,
-  0xf8, 0x42, 0x40, 0x15, 0x05, 0x11, 0x95, 0x0e, 0x30, 0x94, 0x84, 0x01,
-  0x08, 0x98, 0x5f, 0xdc, 0xb6, 0x21, 0x48, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f,
-  0x44, 0x04, 0x30, 0x11, 0x21, 0xd0, 0x0c, 0x0b, 0x61, 0x01, 0xd3, 0x70,
-  0xf9, 0xce, 0xe3, 0x2f, 0x0e, 0x30, 0x88, 0xcd, 0x43, 0x4d, 0x7e, 0x71,
-  0xdb, 0x56, 0x00, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x04, 0x30, 0xcf, 0x42,
-  0xf8, 0xc5, 0x6d, 0x9b, 0x01, 0x35, 0x5c, 0xbe, 0xf3, 0xf8, 0x12, 0xc0,
-  0x3c, 0x0b, 0x01, 0x46, 0xc0, 0xe0, 0x17, 0xb7, 0x6d, 0x02, 0xd5, 0x70,
-  0xf9, 0xce, 0xe3, 0x4b, 0x93, 0x13, 0x11, 0x28, 0x35, 0x3d, 0xd4, 0xe4,
-  0x17, 0xb7, 0x6d, 0x03, 0xcf, 0x70, 0xf9, 0xce, 0xe3, 0x53, 0x0d, 0x10,
-  0x61, 0x7e, 0x71, 0xdb, 0x06, 0x40, 0x30, 0x00, 0xd2, 0x00, 0x00, 0x00,
-  0x61, 0x20, 0x00, 0x00, 0xbf, 0x00, 0x00, 0x00, 0x13, 0x04, 0x41, 0x2c,
-  0x10, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x84, 0x8d, 0x00, 0x50,
-  0x51, 0x02, 0x65, 0x40, 0x44, 0xe1, 0x95, 0x5f, 0xd9, 0x95, 0x43, 0xb1,
-  0x94, 0xcd, 0x0c, 0x40, 0x21, 0x94, 0x5c, 0x29, 0x94, 0x69, 0x40, 0xa1,
-  0x06, 0x94, 0x51, 0x21, 0xd1, 0x30, 0x46, 0x00, 0x82, 0x20, 0x08, 0x77,
-  0x63, 0x04, 0x20, 0x08, 0xfa, 0xf7, 0x37, 0x46, 0x00, 0x82, 0x20, 0x48,
-  0x82, 0xc1, 0x18, 0x01, 0x08, 0x82, 0x20, 0x08, 0x06, 0x63, 0x04, 0x20,
-  0x08, 0x82, 0xf8, 0x2f, 0x8c, 0x11, 0x80, 0x20, 0x08, 0xe2, 0xdf, 0x18,
-  0x01, 0xdb, 0xc6, 0xaf, 0xbc, 0x8d, 0x11, 0x80, 0x20, 0x08, 0xc2, 0xdf,
-  0x0c, 0x00, 0x00, 0x00, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x90, 0xb1,
-  0xc1, 0x23, 0x06, 0x6b, 0xb0, 0x06, 0xda, 0x88, 0x41, 0x02, 0x80, 0x20,
-  0x18, 0x64, 0x6d, 0x00, 0x8d, 0xc1, 0x1a, 0xac, 0xc1, 0x36, 0x62, 0x90,
-  0x00, 0x20, 0x08, 0x06, 0x99, 0x1b, 0x44, 0x5a, 0x1b, 0xb4, 0x01, 0x37,
-  0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0xd9, 0x1b, 0x48, 0x5b, 0x1b, 0xb4,
-  0x41, 0x37, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x19, 0x1c, 0x4c, 0x65,
-  0xe0, 0x06, 0x6e, 0xe0, 0x8d, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x81,
-  0x07, 0x15, 0x1c, 0xbc, 0xc1, 0x19, 0x58, 0x23, 0x06, 0x09, 0x00, 0x82,
-  0x60, 0x60, 0xe4, 0x81, 0x15, 0x07, 0x70, 0xf0, 0x5d, 0x23, 0x06, 0x09,
-  0x00, 0x82, 0x60, 0x60, 0xe8, 0xc1, 0x15, 0x07, 0x71, 0x90, 0x06, 0xd8,
-  0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x7b, 0x80, 0xc9, 0x81, 0x1c,
-  0x84, 0x41, 0x36, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x06, 0x1f, 0x64,
-  0x73, 0x30, 0x07, 0x6a, 0xa0, 0x8d, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81,
-  0xd1, 0x07, 0x1a, 0x1d, 0xd0, 0x81, 0x18, 0x6c, 0x23, 0x06, 0x06, 0x00,
-  0x82, 0x60, 0xa0, 0xf0, 0x01, 0x66, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82,
-  0x81, 0xd2, 0x07, 0x99, 0x31, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0x8a,
-  0x1f, 0xd4, 0x81, 0x30, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0xca, 0x1f,
-  0xd8, 0x81, 0x30, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0x0a, 0x28, 0x6c,
-  0xca, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x28, 0xa1, 0xc0, 0x29, 0x23,
-  0x06, 0x06, 0x00, 0x82, 0x60, 0xa0, 0x88, 0x42, 0x1e, 0x08, 0x23, 0x06,
-  0x06, 0x00, 0x82, 0x60, 0xa0, 0x8c, 0x82, 0x1e, 0x08, 0x26, 0x18, 0xf0,
-  0x31, 0xc1, 0x80, 0xcf, 0x88, 0xc1, 0x01, 0x80, 0x20, 0x18, 0x58, 0xa2,
-  0xa0, 0x06, 0xd1, 0x1f, 0x8c, 0x26, 0x04, 0xc2, 0x68, 0x82, 0x30, 0x98,
-  0x50, 0xc8, 0xc7, 0x84, 0x42, 0x3e, 0x23, 0x06, 0x07, 0x00, 0x82, 0x60,
-  0xc0, 0xa8, 0x42, 0x19, 0x08, 0xdd, 0x88, 0xc1, 0x01, 0x80, 0x20, 0x18,
-  0x30, 0xab, 0x60, 0x06, 0x82, 0x37, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06,
-  0x0c, 0x2b, 0x98, 0x81, 0x00, 0x06, 0x23, 0x06, 0x07, 0x00, 0x82, 0x60,
-  0xc0, 0xb4, 0xc2, 0x19, 0x08, 0x61, 0x60, 0x48, 0x26, 0x1f, 0x43, 0x32,
-  0xf9, 0x18, 0x21, 0x06, 0xf2, 0x31, 0x62, 0x0c, 0xe4, 0x63, 0x84, 0x10,
-  0x1f, 0x23, 0x84, 0xf8, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x81, 0x52,
-  0x0b, 0x76, 0x20, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x81, 0x62, 0x0b,
-  0x77, 0x20, 0x98, 0x80, 0x06, 0xf0, 0x31, 0x21, 0x0d, 0xe0, 0x33, 0x62,
-  0x60, 0x00, 0x20, 0x08, 0x06, 0x4a, 0x2e, 0xec, 0x81, 0x31, 0x62, 0x60,
-  0x00, 0x20, 0x08, 0x06, 0x8a, 0x2e, 0xf0, 0x81, 0x61, 0xce, 0x1b, 0xc0,
-  0xc7, 0x82, 0x01, 0x3e, 0xf6, 0xc4, 0x01, 0x7c, 0x2c, 0x20, 0xe0, 0x63,
-  0x83, 0x44, 0x1f, 0x13, 0x24, 0xfa, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82,
-  0x81, 0x12, 0x0e, 0xa4, 0x20, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x81,
-  0x22, 0x0e, 0xa5, 0x20, 0x98, 0x80, 0x07, 0xf2, 0x31, 0x21, 0x0f, 0xe4,
-  0x63, 0x7b, 0x20, 0xc4, 0xc7, 0xf8, 0x40, 0x88, 0x8f, 0x19, 0x86, 0x7c,
-  0x2c, 0x18, 0xe4, 0x63, 0xc7, 0x21, 0x1f, 0x0b, 0x08, 0xf9, 0x18, 0x35,
-  0xc0, 0xc7, 0x28, 0x01, 0x3e, 0xa3, 0x09, 0x67, 0x00, 0x8c, 0x26, 0xa0,
-  0x41, 0x60, 0x84, 0x20, 0x1f, 0x23, 0x04, 0xf9, 0x8c, 0x18, 0x54, 0x00,
-  0x08, 0x82, 0xc1, 0xe4, 0x0e, 0xb6, 0xf0, 0x07, 0x7d, 0x20, 0x04, 0xa1,
-  0x10, 0x0a, 0xea, 0xa0, 0x0e, 0xb1, 0x50, 0x07, 0x74, 0x10, 0x0a, 0x71,
-  0x00, 0x07, 0xa1, 0x10, 0x0a, 0xa3, 0x09, 0x01, 0x60, 0x81, 0x2a, 0xc8,
-  0xc7, 0x02, 0x56, 0x80, 0xcf, 0x88, 0xc1, 0x03, 0x80, 0x20, 0x18, 0x44,
-  0xf3, 0xb0, 0x0b, 0xa4, 0x20, 0x0a, 0x81, 0x29, 0x94, 0x42, 0x29, 0xb8,
-  0x83, 0x3b, 0xd4, 0x42, 0x29, 0x8c, 0x26, 0x04, 0xc0, 0x68, 0x82, 0x10,
-  0x8c, 0x26, 0x0c, 0xc2, 0x68, 0x02, 0x31, 0x18, 0x21, 0x0a, 0xf2, 0x31,
-  0x42, 0x14, 0xe4, 0x63, 0x84, 0x28, 0xc8, 0xc7, 0x08, 0x51, 0x90, 0xcf,
-  0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x20, 0xff, 0xb0, 0x0b, 0xf7, 0x70,
-  0x0f, 0xef, 0x40, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x01, 0xf2, 0x0f,
-  0xbb, 0x70, 0x0f, 0xf7, 0x60, 0x0e, 0xc3, 0x88, 0x41, 0x02, 0x80, 0x20,
-  0x18, 0x20, 0xff, 0xb0, 0x0b, 0xf7, 0x70, 0x0f, 0xee, 0x20, 0x8c, 0x18,
-  0x24, 0x00, 0x08, 0x82, 0x01, 0xf2, 0x0f, 0xbb, 0x70, 0x0f, 0xf7, 0x50,
-  0x0e, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00
-};
-static const unsigned int texture_palette_pixelart_frag_dxil_len = 5072;

+ 0 - 44
src/render/gpu/shaders/texture_palette_pixelart.frag.hlsl

@@ -1,44 +0,0 @@
-cbuffer Context : register(b0, space3) {
-    float4 texel_size;
-};
-
-Texture2D u_texture : register(t0, space2);
-Texture2D u_palette : register(t1, space2);
-SamplerState u_sampler1 : register(s0, space2);
-SamplerState u_sampler2 : register(s1, space2);
-
-struct PSInput {
-    float4 v_color : COLOR0;
-    float2 v_uv : TEXCOORD0;
-};
-
-struct PSOutput {
-    float4 o_color : SV_Target;
-};
-
-float2 GetPixelArtUV(PSInput input)
-{
-    // box filter size in texel units
-    float2 boxSize = clamp(fwidth(input.v_uv) * texel_size.zw, 1e-5, 1);
-
-    // scale uv by texture size to get texel coordinate
-    float2 tx = input.v_uv * texel_size.zw - 0.5 * boxSize;
-
-    // compute offset for pixel-sized box filter
-    float2 txOffset = smoothstep(1 - boxSize, 1, frac(tx));
-
-    // compute bilinear sample uv coordinates
-    float2 uv = (floor(tx) + 0.5 + txOffset) * texel_size.xy;
-
-    return uv;
-}
-
-
-PSOutput main(PSInput input) {
-    PSOutput output;
-    float2 uv = GetPixelArtUV(input);
-    float index = u_texture.SampleGrad(u_sampler1, uv, ddx(input.v_uv), ddy(input.v_uv)).r * 255;
-    float4 color = u_palette.Sample(u_sampler2, float2((index + 0.5) / 256, 0.5));
-    output.o_color = color * input.v_color;
-    return output;
-}

+ 0 - 99
src/render/gpu/shaders/texture_palette_pixelart.frag.msl.h

@@ -1,99 +0,0 @@
-static const unsigned char texture_palette_pixelart_frag_msl[] = {
-  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,
-  0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70,
-  0x61, 0x63, 0x65, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x3b, 0x0a, 0x0a,
-  0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x5f,
-  0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x0a, 0x7b, 0x0a, 0x20, 0x20,
-  0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x74, 0x65, 0x78,
-  0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 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, 0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
-  0x20, 0x5b, 0x5b, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x28, 0x30, 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, 0x43, 0x4f, 0x4c, 0x4f, 0x52,
-  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, 0x32, 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, 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, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x26, 0x20, 0x43, 0x6f,
-  0x6e, 0x74, 0x65, 0x78, 0x74, 0x20, 0x5b, 0x5b, 0x62, 0x75, 0x66, 0x66,
-  0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x74, 0x65, 0x78,
-  0x74, 0x75, 0x72, 0x65, 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74,
-  0x3e, 0x20, 0x75, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20,
-  0x5b, 0x5b, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30, 0x29,
-  0x5d, 0x5d, 0x2c, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32,
-  0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x20, 0x75, 0x5f, 0x70,
-  0x61, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x20, 0x5b, 0x5b, 0x74, 0x65, 0x78,
-  0x74, 0x75, 0x72, 0x65, 0x28, 0x31, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x73,
-  0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x75, 0x5f, 0x73, 0x61, 0x6d,
-  0x70, 0x6c, 0x65, 0x72, 0x31, 0x20, 0x5b, 0x5b, 0x73, 0x61, 0x6d, 0x70,
-  0x6c, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x73, 0x61,
-  0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x75, 0x5f, 0x73, 0x61, 0x6d, 0x70,
-  0x6c, 0x65, 0x72, 0x32, 0x20, 0x5b, 0x5b, 0x73, 0x61, 0x6d, 0x70, 0x6c,
-  0x65, 0x72, 0x28, 0x31, 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, 0x32, 0x20, 0x5f, 0x34,
-  0x35, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x73, 0x74, 0x3a, 0x3a, 0x63, 0x6c,
-  0x61, 0x6d, 0x70, 0x28, 0x66, 0x77, 0x69, 0x64, 0x74, 0x68, 0x28, 0x69,
-  0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58,
-  0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x29, 0x20, 0x2a, 0x20, 0x43, 0x6f,
-  0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f,
-  0x73, 0x69, 0x7a, 0x65, 0x2e, 0x7a, 0x77, 0x2c, 0x20, 0x66, 0x6c, 0x6f,
-  0x61, 0x74, 0x32, 0x28, 0x39, 0x2e, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39,
-  0x37, 0x34, 0x37, 0x33, 0x37, 0x38, 0x37, 0x35, 0x31, 0x36, 0x33, 0x35,
-  0x35, 0x35, 0x31, 0x34, 0x35, 0x32, 0x36, 0x33, 0x36, 0x37, 0x31, 0x38,
-  0x38, 0x65, 0x2d, 0x30, 0x36, 0x29, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61,
-  0x74, 0x32, 0x28, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20,
-  0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x5f, 0x34, 0x38,
-  0x20, 0x3d, 0x20, 0x28, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61,
-  0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x20,
-  0x2a, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x74, 0x65,
-  0x78, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x2e, 0x7a, 0x77, 0x29,
-  0x20, 0x2d, 0x20, 0x28, 0x5f, 0x34, 0x35, 0x20, 0x2a, 0x20, 0x30, 0x2e,
-  0x35, 0x29, 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, 0x20, 0x3d, 0x20, 0x75, 0x5f, 0x70, 0x61,
-  0x6c, 0x65, 0x74, 0x74, 0x65, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65,
-  0x28, 0x75, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x2c,
-  0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, 0x28, 0x28, 0x75, 0x5f,
-  0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x73, 0x61, 0x6d, 0x70,
-  0x6c, 0x65, 0x28, 0x75, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72,
-  0x31, 0x2c, 0x20, 0x28, 0x28, 0x28, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x28,
-  0x5f, 0x34, 0x38, 0x29, 0x20, 0x2b, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74,
-  0x32, 0x28, 0x30, 0x2e, 0x35, 0x29, 0x29, 0x20, 0x2b, 0x20, 0x73, 0x6d,
-  0x6f, 0x6f, 0x74, 0x68, 0x73, 0x74, 0x65, 0x70, 0x28, 0x66, 0x6c, 0x6f,
-  0x61, 0x74, 0x32, 0x28, 0x31, 0x2e, 0x30, 0x29, 0x20, 0x2d, 0x20, 0x5f,
-  0x34, 0x35, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, 0x31,
-  0x2e, 0x30, 0x29, 0x2c, 0x20, 0x66, 0x72, 0x61, 0x63, 0x74, 0x28, 0x5f,
-  0x34, 0x38, 0x29, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x43, 0x6f, 0x6e, 0x74,
-  0x65, 0x78, 0x74, 0x2e, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x73, 0x69,
-  0x7a, 0x65, 0x2e, 0x78, 0x79, 0x29, 0x2c, 0x20, 0x67, 0x72, 0x61, 0x64,
-  0x69, 0x65, 0x6e, 0x74, 0x32, 0x64, 0x28, 0x64, 0x66, 0x64, 0x78, 0x28,
-  0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45,
-  0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x29, 0x2c, 0x20, 0x64, 0x66,
-  0x64, 0x79, 0x28, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72,
-  0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x29, 0x29,
-  0x29, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x32, 0x35, 0x35, 0x2e, 0x30, 0x29,
-  0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x29, 0x20, 0x2a, 0x20, 0x30, 0x2e,
-  0x30, 0x30, 0x33, 0x39, 0x30, 0x36, 0x32, 0x35, 0x2c, 0x20, 0x30, 0x2e,
-  0x35, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f,
-  0x76, 0x61, 0x72, 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x30, 0x3b, 0x0a,
-  0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6f,
-  0x75, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a
-};
-static const unsigned int texture_palette_pixelart_frag_msl_len = 1147;

+ 0 - 169
src/render/gpu/shaders/texture_palette_pixelart.frag.spv.h

@@ -1,169 +0,0 @@
-static const unsigned char texture_palette_pixelart_frag_spv[] = {
-  0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0e, 0x00,
-  0x49, 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, 0x08, 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,
-  0x10, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x03, 0x00, 0x05, 0x00, 0x00, 0x00, 0x58, 0x02, 0x00, 0x00,
-  0x05, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00, 0x74, 0x79, 0x70, 0x65,
-  0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x00, 0x00, 0x00, 0x00,
-  0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x00, 0x00,
-  0x05, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x43, 0x6f, 0x6e, 0x74,
-  0x65, 0x78, 0x74, 0x00, 0x05, 0x00, 0x06, 0x00, 0x08, 0x00, 0x00, 0x00,
-  0x74, 0x79, 0x70, 0x65, 0x2e, 0x32, 0x64, 0x2e, 0x69, 0x6d, 0x61, 0x67,
-  0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00,
-  0x75, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x00, 0x00, 0x00,
-  0x05, 0x00, 0x05, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x70, 0x61,
-  0x6c, 0x65, 0x74, 0x74, 0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00,
-  0x0b, 0x00, 0x00, 0x00, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x73, 0x61, 0x6d,
-  0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00,
-  0x0c, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65,
-  0x72, 0x31, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00,
-  0x75, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x00, 0x00,
-  0x05, 0x00, 0x06, 0x00, 0x03, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x2e, 0x76,
-  0x61, 0x72, 0x2e, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x30, 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, 0x30,
-  0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0x05, 0x00, 0x00, 0x00,
-  0x6f, 0x75, 0x74, 0x2e, 0x76, 0x61, 0x72, 0x2e, 0x53, 0x56, 0x5f, 0x54,
-  0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00,
-  0x05, 0x00, 0x07, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x74, 0x79, 0x70, 0x65,
-  0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x2e, 0x69, 0x6d, 0x61,
-  0x67, 0x65, 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, 0x05, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00,
-  0x22, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00,
-  0x07, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x47, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00,
-  0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00,
-  0x0a, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x47, 0x00, 0x04, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00,
-  0x22, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00,
-  0x0c, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x47, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00,
-  0x21, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00,
-  0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0f, 0x00, 0x00, 0x00,
-  0x20, 0x00, 0x00, 0x00, 0x01, 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, 0x7f, 0x43,
-  0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x3f, 0x2b, 0x00, 0x04, 0x00, 0x0f, 0x00, 0x00, 0x00,
-  0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00,
-  0x10, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xac, 0xc5, 0x27, 0x37,
-  0x17, 0x00, 0x04, 0x00, 0x15, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x05, 0x00, 0x15, 0x00, 0x00, 0x00,
-  0x16, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
-  0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x80, 0x3f, 0x2c, 0x00, 0x05, 0x00, 0x15, 0x00, 0x00, 0x00,
-  0x18, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00,
-  0x2c, 0x00, 0x05, 0x00, 0x15, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00,
-  0x12, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00,
-  0x1a, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
-  0x1e, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
-  0x20, 0x00, 0x04, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x06, 0x00, 0x00, 0x00, 0x19, 0x00, 0x09, 0x00, 0x08, 0x00, 0x00, 0x00,
-  0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x1c, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x02, 0x00,
-  0x0b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00,
-  0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
-  0x20, 0x00, 0x04, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x15, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00,
-  0x21, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x22, 0x00, 0x00, 0x00,
-  0x21, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x03, 0x00, 0x0e, 0x00, 0x00, 0x00,
-  0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x23, 0x00, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00,
-  0x1b, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x3b, 0x00, 0x04, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x1c, 0x00, 0x00, 0x00,
-  0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00,
-  0x1d, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x3b, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x1e, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00,
-  0x1f, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x3b, 0x00, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00,
-  0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3b, 0x36, 0x00, 0x05, 0x00,
-  0x21, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x22, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x25, 0x00, 0x00, 0x00,
-  0x3d, 0x00, 0x04, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x15, 0x00, 0x00, 0x00,
-  0x27, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xd1, 0x00, 0x04, 0x00,
-  0x15, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00,
-  0x41, 0x00, 0x05, 0x00, 0x23, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00,
-  0x07, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
-  0x1a, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00,
-  0x4f, 0x00, 0x07, 0x00, 0x15, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00,
-  0x2a, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x15, 0x00, 0x00, 0x00,
-  0x2c, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00,
-  0x0c, 0x00, 0x08, 0x00, 0x15, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00,
-  0x16, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00,
-  0x15, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00,
-  0x2b, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x05, 0x00, 0x15, 0x00, 0x00, 0x00,
-  0x2f, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00,
-  0x83, 0x00, 0x05, 0x00, 0x15, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
-  0x2e, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00,
-  0x15, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
-  0x2d, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x15, 0x00, 0x00, 0x00,
-  0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
-  0x30, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x08, 0x00, 0x15, 0x00, 0x00, 0x00,
-  0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00,
-  0x31, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00,
-  0x0c, 0x00, 0x06, 0x00, 0x15, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
-  0x81, 0x00, 0x05, 0x00, 0x15, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00,
-  0x34, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00,
-  0x15, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00,
-  0x33, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x07, 0x00, 0x15, 0x00, 0x00, 0x00,
-  0x37, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00,
-  0x15, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00,
-  0x37, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00,
-  0x39, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
-  0x0b, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
-  0xcf, 0x00, 0x04, 0x00, 0x15, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00,
-  0x27, 0x00, 0x00, 0x00, 0xd0, 0x00, 0x04, 0x00, 0x15, 0x00, 0x00, 0x00,
-  0x3c, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x56, 0x00, 0x05, 0x00,
-  0x0e, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00,
-  0x3a, 0x00, 0x00, 0x00, 0x58, 0x00, 0x08, 0x00, 0x1a, 0x00, 0x00, 0x00,
-  0x3e, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00,
-  0x04, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00,
-  0x51, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00,
-  0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00,
-  0x10, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00,
-  0x11, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00,
-  0x41, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
-  0x0b, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
-  0x81, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00,
-  0x40, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00,
-  0x10, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00,
-  0x24, 0x00, 0x00, 0x00, 0x50, 0x00, 0x05, 0x00, 0x15, 0x00, 0x00, 0x00,
-  0x45, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00,
-  0x56, 0x00, 0x05, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00,
-  0x41, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x57, 0x00, 0x06, 0x00,
-  0x1a, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00,
-  0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00,
-  0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00,
-  0x26, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x05, 0x00, 0x00, 0x00,
-  0x48, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00
-};
-static const unsigned int texture_palette_pixelart_frag_spv_len = 1992;

+ 0 - 33
src/render/gpu/shaders/texture_pixelart.frag.hlsli

@@ -1,33 +0,0 @@
-cbuffer Context : register(b0, space3) {
-    float4 texel_size;
-};
-
-Texture2D u_texture : register(t0, space2);
-SamplerState u_sampler : register(s0, space2);
-
-struct PSInput {
-    float4 v_color : COLOR0;
-    float2 v_uv : TEXCOORD0;
-};
-
-struct PSOutput {
-    float4 o_color : SV_Target;
-};
-
-float2 GetPixelArtUV(PSInput input)
-{
-    // box filter size in texel units
-    float2 boxSize = clamp(fwidth(input.v_uv) * texel_size.zw, 1e-5, 1);
-
-    // scale uv by texture size to get texel coordinate
-    float2 tx = input.v_uv * texel_size.zw - 0.5 * boxSize;
-
-    // compute offset for pixel-sized box filter
-    float2 txOffset = smoothstep(1 - boxSize, 1, frac(tx));
-
-    // compute bilinear sample uv coordinates
-    float2 uv = (floor(tx) + 0.5 + txOffset) * texel_size.xy;
-
-    return uv;
-}
-

+ 252 - 223
src/render/gpu/shaders/texture_rgb.frag.dxil.h

@@ -1,9 +1,9 @@
 static const unsigned char texture_rgb_frag_dxil[] = {
-  0x44, 0x58, 0x42, 0x43, 0x1a, 0x3e, 0x83, 0x3d, 0xad, 0x4a, 0x78, 0x19,
-  0xf8, 0xe8, 0xda, 0xf6, 0xa3, 0x17, 0xb1, 0xec, 0x01, 0x00, 0x00, 0x00,
-  0x04, 0x0f, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00,
+  0x44, 0x58, 0x42, 0x43, 0x37, 0x73, 0xca, 0xeb, 0x37, 0xaa, 0x03, 0x92,
+  0x6e, 0xc9, 0x41, 0x8a, 0x5a, 0xd5, 0x6f, 0x91, 0x01, 0x00, 0x00, 0x00,
+  0x60, 0x10, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00,
   0x4c, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x00, 0x00,
-  0xd8, 0x01, 0x00, 0x00, 0x34, 0x08, 0x00, 0x00, 0x50, 0x08, 0x00, 0x00,
+  0xf0, 0x01, 0x00, 0x00, 0xf0, 0x08, 0x00, 0x00, 0x0c, 0x09, 0x00, 0x00,
   0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x31, 0x54, 0x00, 0x00, 0x00,
   0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -18,12 +18,14 @@ static const unsigned char texture_rgb_frag_dxil[] = {
   0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x00, 0x00,
-  0x50, 0x53, 0x56, 0x30, 0xec, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
+  0x50, 0x53, 0x56, 0x30, 0x04, 0x01, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
   0x00, 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, 0x02, 0x01, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
+  0x13, 0x00, 0x00, 0x00, 0x03, 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,
   0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -38,10 +40,10 @@ static const unsigned char texture_rgb_frag_dxil[] = {
   0x01, 0x00, 0x44, 0x10, 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, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x53, 0x54, 0x41, 0x54, 0x54, 0x06, 0x00, 0x00,
-  0x60, 0x00, 0x00, 0x00, 0x95, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c,
-  0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x3c, 0x06, 0x00, 0x00,
-  0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0x8c, 0x01, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x53, 0x54, 0x41, 0x54, 0xf8, 0x06, 0x00, 0x00,
+  0x60, 0x00, 0x00, 0x00, 0xbe, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c,
+  0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xe0, 0x06, 0x00, 0x00,
+  0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0xb5, 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,
@@ -54,168 +56,185 @@ static const unsigned char texture_rgb_frag_dxil[] = {
   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, 0x43, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00, 0x00, 0x4d, 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,
+  0x0b, 0x84, 0xa4, 0x4c, 0x10, 0x7c, 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, 0x9b, 0x86, 0xcb, 0x9f,
   0xb0, 0x87, 0x90, 0xfc, 0x95, 0x90, 0x56, 0x62, 0xf2, 0x8b, 0xdb, 0x46,
   0xc5, 0x18, 0x63, 0x10, 0x2a, 0xf7, 0x0c, 0x97, 0x3f, 0x61, 0x0f, 0x21,
   0xf9, 0x21, 0xd0, 0x0c, 0x0b, 0x81, 0x82, 0x55, 0x18, 0x45, 0x18, 0x1b,
-  0x63, 0x0c, 0x42, 0xc8, 0xa0, 0x36, 0x47, 0x10, 0x14, 0x83, 0x91, 0x42,
-  0xc8, 0x23, 0x38, 0x10, 0x30, 0x8c, 0x40, 0x0c, 0x33, 0xb5, 0xc1, 0x38,
-  0xb0, 0x43, 0x38, 0xcc, 0xc3, 0x3c, 0xb8, 0x01, 0x2d, 0x94, 0x03, 0x3e,
-  0xd0, 0x43, 0x3d, 0xc8, 0x43, 0x39, 0xc8, 0x01, 0x29, 0xf0, 0x81, 0x3d,
-  0x94, 0xc3, 0x38, 0xd0, 0xc3, 0x3b, 0xc8, 0x03, 0x1f, 0x98, 0x03, 0x3b,
-  0xbc, 0x43, 0x38, 0xd0, 0x03, 0x1b, 0x80, 0x01, 0x1d, 0xf8, 0x01, 0x18,
-  0xf8, 0x81, 0x1e, 0xe8, 0x41, 0x3b, 0xa4, 0x03, 0x3c, 0xcc, 0xc3, 0x2f,
-  0xd0, 0x43, 0x3e, 0xc0, 0x43, 0x39, 0xa0, 0x80, 0xcc, 0x24, 0x06, 0xe3,
-  0xc0, 0x0e, 0xe1, 0x30, 0x0f, 0xf3, 0xe0, 0x06, 0xb4, 0x50, 0x0e, 0xf8,
-  0x40, 0x0f, 0xf5, 0x20, 0x0f, 0xe5, 0x20, 0x07, 0xa4, 0xc0, 0x07, 0xf6,
-  0x50, 0x0e, 0xe3, 0x40, 0x0f, 0xef, 0x20, 0x0f, 0x7c, 0x60, 0x0e, 0xec,
-  0xf0, 0x0e, 0xe1, 0x40, 0x0f, 0x6c, 0x00, 0x06, 0x74, 0xe0, 0x07, 0x60,
-  0xe0, 0x07, 0x48, 0x98, 0x94, 0xea, 0x4d, 0xd2, 0x14, 0x51, 0xc2, 0xe4,
-  0xb3, 0x00, 0xf3, 0x2c, 0x44, 0xc4, 0x4e, 0xc0, 0x44, 0xa0, 0x80, 0xd0,
-  0x4d, 0x04, 0x02, 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, 0x81, 0x80, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x20, 0x0b, 0x04, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00,
-  0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47,
-  0xc6, 0x04, 0x43, 0x22, 0x25, 0x30, 0x02, 0x50, 0x0c, 0x45, 0x50, 0x12,
-  0x65, 0x50, 0x1e, 0x85, 0x52, 0x08, 0x54, 0x4a, 0x62, 0x04, 0xa0, 0x08,
-  0x0a, 0xa1, 0x40, 0xc8, 0xce, 0x00, 0x10, 0x9e, 0x01, 0xa0, 0x3c, 0x16,
-  0x62, 0x10, 0x81, 0x40, 0x20, 0xc7, 0x01, 0x00, 0x79, 0x18, 0x00, 0x00,
-  0x7a, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44,
+  0x63, 0x0c, 0x42, 0xc8, 0xa0, 0x76, 0xd4, 0x70, 0xf9, 0x13, 0xf6, 0x10,
+  0x92, 0xcf, 0x6d, 0x54, 0xb1, 0x12, 0x93, 0x5f, 0xdc, 0x36, 0x22, 0xc6,
+  0x18, 0xa3, 0x10, 0x8f, 0x30, 0x42, 0x70, 0x8e, 0x20, 0x28, 0x06, 0x23,
+  0x85, 0x10, 0x49, 0x73, 0x20, 0x60, 0x18, 0x81, 0x18, 0x66, 0x6a, 0x83,
+  0x71, 0x60, 0x87, 0x70, 0x98, 0x87, 0x79, 0x70, 0x03, 0x5a, 0x28, 0x07,
+  0x7c, 0xa0, 0x87, 0x7a, 0x90, 0x87, 0x72, 0x90, 0x03, 0x52, 0xe0, 0x03,
+  0x7b, 0x28, 0x87, 0x71, 0xa0, 0x87, 0x77, 0x90, 0x07, 0x3e, 0x30, 0x07,
+  0x76, 0x78, 0x87, 0x70, 0xa0, 0x07, 0x36, 0x00, 0x03, 0x3a, 0xf0, 0x03,
+  0x30, 0xf0, 0x03, 0x3d, 0xd0, 0x83, 0x76, 0x48, 0x07, 0x78, 0x98, 0x87,
+  0x5f, 0xa0, 0x87, 0x7c, 0x80, 0x87, 0x72, 0x40, 0x01, 0x99, 0x49, 0x0c,
+  0xc6, 0x81, 0x1d, 0xc2, 0x61, 0x1e, 0xe6, 0xc1, 0x0d, 0x68, 0xa1, 0x1c,
+  0xf0, 0x81, 0x1e, 0xea, 0x41, 0x1e, 0xca, 0x41, 0x0e, 0x48, 0x81, 0x0f,
+  0xec, 0xa1, 0x1c, 0xc6, 0x81, 0x1e, 0xde, 0x41, 0x1e, 0xf8, 0xc0, 0x1c,
+  0xd8, 0xe1, 0x1d, 0xc2, 0x81, 0x1e, 0xd8, 0x00, 0x0c, 0xe8, 0xc0, 0x0f,
+  0xc0, 0xc0, 0x0f, 0x90, 0x60, 0x2f, 0xe1, 0x73, 0x26, 0xec, 0x21, 0x7e,
+  0xce, 0x69, 0xa4, 0x09, 0x68, 0x26, 0x09, 0x05, 0x83, 0xf4, 0x4d, 0xd2,
+  0x14, 0x51, 0xc2, 0xe4, 0xb3, 0x00, 0xf3, 0x2c, 0x44, 0xc4, 0x4e, 0xc0,
+  0x44, 0xa0, 0x80, 0x10, 0x4f, 0x04, 0x02, 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, 0x81, 0x80, 0x00, 0x18,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xc8, 0x33, 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,
+  0x0c, 0x45, 0x50, 0x12, 0x65, 0x50, 0x08, 0xe5, 0x50, 0x1e, 0x45, 0x43,
+  0xa5, 0x24, 0x46, 0x00, 0x8a, 0xa0, 0x10, 0x0a, 0x84, 0xf2, 0x0c, 0x00,
+  0xe9, 0x19, 0x00, 0xda, 0x33, 0x00, 0xd4, 0x67, 0x00, 0xc8, 0x8f, 0x85,
+  0x18, 0x44, 0x20, 0x10, 0xc8, 0x71, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00,
+  0x8e, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44,
   0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24, 0xc6, 0x05, 0xc7, 0x45,
   0xa6, 0x06, 0xa6, 0xc6, 0x45, 0x06, 0x07, 0x04, 0x25, 0xa7, 0xcc, 0x4c,
-  0x4c, 0xcc, 0x66, 0x6c, 0x46, 0x26, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x88,
-  0x62, 0x82, 0x40, 0x18, 0x1b, 0x84, 0x81, 0xd8, 0x20, 0x10, 0x04, 0x05,
-  0xb8, 0xb9, 0x09, 0x02, 0x71, 0x6c, 0x18, 0x0e, 0x84, 0x98, 0x20, 0x58,
-  0x13, 0x93, 0xba, 0x2f, 0xba, 0x32, 0x3c, 0xba, 0x3a, 0xb9, 0xb2, 0x09,
-  0x02, 0x81, 0x4c, 0x10, 0x88, 0x64, 0x83, 0x40, 0x34, 0x1b, 0x12, 0x42,
-  0x59, 0x18, 0x62, 0x60, 0x08, 0x67, 0x43, 0xf0, 0x4c, 0x10, 0x30, 0x8a,
-  0x49, 0xdd, 0xd7, 0x5c, 0x58, 0x1b, 0x1c, 0x5b, 0x99, 0xdc, 0x06, 0x84,
-  0x88, 0x24, 0x86, 0x18, 0x08, 0x60, 0x43, 0x30, 0x6d, 0x20, 0x20, 0x00,
-  0xa0, 0x26, 0x08, 0x02, 0xb0, 0x01, 0xd8, 0x30, 0x10, 0xd7, 0xb5, 0x21,
-  0xc0, 0x36, 0x0c, 0x83, 0x95, 0x4d, 0x10, 0xb2, 0x6a, 0x43, 0xb0, 0x91,
-  0x68, 0x0b, 0x4b, 0x73, 0x23, 0x42, 0x55, 0x84, 0x35, 0xf4, 0xf4, 0x24,
-  0x45, 0x34, 0x41, 0x28, 0x9c, 0x09, 0x42, 0xf1, 0x6c, 0x08, 0x88, 0x09,
-  0x42, 0x01, 0x4d, 0x10, 0x8a, 0x68, 0x82, 0x40, 0x28, 0x13, 0x04, 0x62,
-  0xd9, 0x20, 0x90, 0x41, 0x19, 0x6c, 0x58, 0x08, 0xef, 0x03, 0x83, 0x30,
-  0x10, 0x83, 0x61, 0x0c, 0x08, 0x30, 0x30, 0x83, 0x0d, 0xc1, 0xb0, 0x41,
-  0x20, 0x03, 0x32, 0xd8, 0xb0, 0x0c, 0xde, 0x07, 0x06, 0x68, 0x20, 0x06,
-  0x83, 0x18, 0x0c, 0x60, 0x90, 0x06, 0x1b, 0x84, 0x33, 0x50, 0x03, 0x26,
-  0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x13, 0x84, 0x42,
-  0xda, 0xb0, 0x10, 0x6c, 0xf0, 0xb5, 0x41, 0x18, 0x80, 0xc1, 0x30, 0x06,
-  0x04, 0x18, 0x98, 0xc1, 0x86, 0xc0, 0x0d, 0x36, 0x0c, 0x6b, 0xf0, 0x06,
-  0xc0, 0x86, 0xc2, 0xea, 0xe0, 0xa0, 0x02, 0x68, 0x98, 0xb1, 0xbd, 0x85,
-  0xd1, 0xcd, 0xb1, 0x48, 0x73, 0x9b, 0xa3, 0x9b, 0x9b, 0x20, 0x10, 0x0c,
-  0x8d, 0xb9, 0xb4, 0xb3, 0x2f, 0x36, 0x32, 0x1a, 0x73, 0x69, 0x67, 0x5f,
-  0x73, 0x74, 0x13, 0x04, 0xa2, 0x21, 0x42, 0x57, 0x86, 0xf7, 0xe5, 0xf6,
-  0x26, 0xd7, 0xb6, 0x41, 0x91, 0x03, 0x32, 0x98, 0x03, 0x3a, 0xa8, 0x03,
-  0xc4, 0x0e, 0xee, 0x00, 0x0f, 0x86, 0x2a, 0x6c, 0x6c, 0x76, 0x6d, 0x2e,
-  0x69, 0x64, 0x65, 0x6e, 0x74, 0x53, 0x82, 0xa0, 0x0a, 0x19, 0x9e, 0x8b,
-  0x5d, 0x99, 0xdc, 0x5c, 0xda, 0x9b, 0xdb, 0x94, 0x80, 0x68, 0x42, 0x86,
-  0xe7, 0x62, 0x17, 0xc6, 0x66, 0x57, 0x26, 0x37, 0x25, 0x28, 0xea, 0x90,
-  0xe1, 0xb9, 0xcc, 0xa1, 0x85, 0x91, 0x95, 0xc9, 0x35, 0xbd, 0x91, 0x95,
-  0xb1, 0x4d, 0x09, 0x90, 0x32, 0x64, 0x78, 0x2e, 0x72, 0x65, 0x73, 0x6f,
-  0x75, 0x72, 0x63, 0x65, 0x73, 0x53, 0x02, 0xaa, 0x12, 0x19, 0x9e, 0x0b,
-  0x5d, 0x1e, 0x5c, 0x59, 0x90, 0x9b, 0xdb, 0x1b, 0x5d, 0x18, 0x5d, 0xda,
-  0x9b, 0xdb, 0xdc, 0x94, 0x20, 0xab, 0x43, 0x86, 0xe7, 0x62, 0x97, 0x56,
-  0x76, 0x97, 0x44, 0x36, 0x45, 0x17, 0x46, 0x57, 0x36, 0x25, 0xd8, 0xea,
-  0x90, 0xe1, 0xb9, 0x94, 0xb9, 0xd1, 0xc9, 0xe5, 0x41, 0xbd, 0xa5, 0xb9,
-  0xd1, 0xcd, 0x4d, 0x09, 0xe0, 0xa0, 0x0b, 0x19, 0x9e, 0xcb, 0xd8, 0x5b,
-  0x9d, 0x1b, 0x5d, 0x99, 0xdc, 0xdc, 0x94, 0x00, 0x0f, 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, 0x12, 0x00, 0x00, 0x00, 0x46, 0x20, 0x0d, 0x97,
-  0xef, 0x3c, 0xbe, 0x10, 0x11, 0xc0, 0x44, 0x84, 0x40, 0x33, 0x2c, 0x84,
-  0x05, 0x4c, 0xc3, 0xe5, 0x3b, 0x8f, 0xbf, 0x38, 0xc0, 0x20, 0x36, 0x0f,
-  0x35, 0xf9, 0xc5, 0x6d, 0xdb, 0x00, 0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x12,
-  0xc0, 0x3c, 0x0b, 0xe1, 0x17, 0xb7, 0x6d, 0x02, 0xd5, 0x70, 0xf9, 0xce,
-  0xe3, 0x4b, 0x93, 0x13, 0x11, 0x28, 0x35, 0x3d, 0xd4, 0xe4, 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,
-  0x78, 0x26, 0x97, 0x60, 0x43, 0xbf, 0xcf, 0x6c, 0xbf, 0xbb, 0xa0, 0x5f,
-  0xca, 0x55, 0x34, 0x5d, 0x44, 0x58, 0x49, 0x4c, 0xac, 0x06, 0x00, 0x00,
-  0x60, 0x00, 0x00, 0x00, 0xab, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c,
-  0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x94, 0x06, 0x00, 0x00,
-  0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0xa2, 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, 0x43, 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, 0x9b, 0x86, 0xcb, 0x9f,
-  0xb0, 0x87, 0x90, 0xfc, 0x95, 0x90, 0x56, 0x62, 0xf2, 0x8b, 0xdb, 0x46,
-  0xc5, 0x18, 0x63, 0x10, 0x2a, 0xf7, 0x0c, 0x97, 0x3f, 0x61, 0x0f, 0x21,
-  0xf9, 0x21, 0xd0, 0x0c, 0x0b, 0x81, 0x82, 0x55, 0x18, 0x45, 0x18, 0x1b,
-  0x63, 0x0c, 0x42, 0xc8, 0xa0, 0x36, 0x47, 0x10, 0x14, 0x83, 0x91, 0x42,
-  0xc8, 0x23, 0x38, 0x10, 0x30, 0x8c, 0x40, 0x0c, 0x33, 0xb5, 0xc1, 0x38,
-  0xb0, 0x43, 0x38, 0xcc, 0xc3, 0x3c, 0xb8, 0x01, 0x2d, 0x94, 0x03, 0x3e,
-  0xd0, 0x43, 0x3d, 0xc8, 0x43, 0x39, 0xc8, 0x01, 0x29, 0xf0, 0x81, 0x3d,
-  0x94, 0xc3, 0x38, 0xd0, 0xc3, 0x3b, 0xc8, 0x03, 0x1f, 0x98, 0x03, 0x3b,
-  0xbc, 0x43, 0x38, 0xd0, 0x03, 0x1b, 0x80, 0x01, 0x1d, 0xf8, 0x01, 0x18,
-  0xf8, 0x81, 0x1e, 0xe8, 0x41, 0x3b, 0xa4, 0x03, 0x3c, 0xcc, 0xc3, 0x2f,
-  0xd0, 0x43, 0x3e, 0xc0, 0x43, 0x39, 0xa0, 0x80, 0xcc, 0x24, 0x06, 0xe3,
-  0xc0, 0x0e, 0xe1, 0x30, 0x0f, 0xf3, 0xe0, 0x06, 0xb4, 0x50, 0x0e, 0xf8,
-  0x40, 0x0f, 0xf5, 0x20, 0x0f, 0xe5, 0x20, 0x07, 0xa4, 0xc0, 0x07, 0xf6,
-  0x50, 0x0e, 0xe3, 0x40, 0x0f, 0xef, 0x20, 0x0f, 0x7c, 0x60, 0x0e, 0xec,
-  0xf0, 0x0e, 0xe1, 0x40, 0x0f, 0x6c, 0x00, 0x06, 0x74, 0xe0, 0x07, 0x60,
-  0xe0, 0x07, 0x48, 0x98, 0x94, 0xea, 0x4d, 0xd2, 0x14, 0x51, 0xc2, 0xe4,
-  0xb3, 0x00, 0xf3, 0x2c, 0x44, 0xc4, 0x4e, 0xc0, 0x44, 0xa0, 0x80, 0xd0,
-  0x4d, 0x04, 0x02, 0x00, 0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87,
+  0x4c, 0xcc, 0x66, 0x6c, 0x46, 0x26, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x08,
+  0x63, 0x82, 0x40, 0x1c, 0x1b, 0x84, 0x81, 0xd8, 0x20, 0x10, 0x04, 0x05,
+  0xb8, 0xb9, 0x09, 0x02, 0x81, 0x6c, 0x18, 0x0e, 0x84, 0x98, 0x20, 0x64,
+  0x15, 0x93, 0xba, 0x2f, 0xba, 0x32, 0x3c, 0xba, 0x3a, 0xb9, 0xb2, 0x09,
+  0x02, 0x91, 0x4c, 0x10, 0x08, 0x65, 0x83, 0x40, 0x34, 0x1b, 0x12, 0x42,
+  0x59, 0x18, 0x62, 0x60, 0x08, 0x67, 0x43, 0xf0, 0x4c, 0x10, 0xb6, 0x8b,
+  0x0e, 0x5d, 0x1e, 0x5c, 0xd9, 0xd7, 0xd0, 0x9b, 0xdb, 0x1c, 0x5d, 0x98,
+  0x1b, 0xdd, 0xdc, 0x04, 0x81, 0x58, 0x26, 0x08, 0x04, 0xb3, 0x01, 0x21,
+  0x22, 0x69, 0x22, 0x06, 0x0a, 0xd8, 0x10, 0x54, 0x13, 0x84, 0x0e, 0x63,
+  0x52, 0xf7, 0x35, 0x17, 0xd6, 0x06, 0xc7, 0x56, 0x26, 0xb7, 0x01, 0x21,
+  0x2e, 0x8c, 0x21, 0x06, 0x02, 0xd8, 0x10, 0x64, 0x1b, 0x08, 0x08, 0xb0,
+  0xb4, 0x09, 0x82, 0x66, 0xb1, 0x1a, 0x7a, 0x73, 0x9b, 0xa3, 0x0b, 0x73,
+  0xa3, 0x9b, 0xfb, 0x1a, 0x7b, 0x63, 0x7b, 0x93, 0xfb, 0x9a, 0x1b, 0x0b,
+  0x63, 0x2b, 0x9b, 0x20, 0x10, 0xcd, 0x06, 0x03, 0xe9, 0x26, 0xc2, 0x6b,
+  0x36, 0x08, 0xd4, 0xb7, 0x61, 0x20, 0x38, 0x30, 0x98, 0x20, 0x08, 0xc0,
+  0x06, 0x60, 0xc3, 0x40, 0x8c, 0xc1, 0x18, 0x6c, 0x08, 0xc8, 0x60, 0xc3,
+  0x30, 0x88, 0x41, 0x19, 0x4c, 0x10, 0xbc, 0x6c, 0x43, 0x70, 0x06, 0x24,
+  0xda, 0xc2, 0xd2, 0xdc, 0x88, 0x50, 0x15, 0x61, 0x0d, 0x3d, 0x3d, 0x49,
+  0x11, 0x4d, 0x10, 0x0a, 0x68, 0x82, 0x50, 0x44, 0x1b, 0x02, 0x62, 0x82,
+  0x50, 0x48, 0x13, 0x84, 0x62, 0x9a, 0x20, 0x10, 0xce, 0x06, 0x61, 0x82,
+  0x83, 0x0d, 0x0b, 0xa1, 0x06, 0x6b, 0xc0, 0x06, 0x6d, 0xe0, 0x06, 0xc3,
+  0x1b, 0x10, 0x6c, 0x10, 0x07, 0x1b, 0x82, 0x61, 0x83, 0x30, 0x4d, 0x1b,
+  0x96, 0x41, 0x0d, 0xd6, 0x80, 0x0d, 0xe6, 0xc0, 0x0d, 0x06, 0x37, 0x18,
+  0xd8, 0x80, 0x0e, 0x36, 0x08, 0x72, 0x50, 0x07, 0x4c, 0xa6, 0xac, 0xbe,
+  0xa8, 0xc2, 0xe4, 0xce, 0xca, 0xe8, 0x26, 0x08, 0x05, 0xb5, 0x61, 0x21,
+  0xee, 0x60, 0x0d, 0xf0, 0xa0, 0x0d, 0xd8, 0x60, 0x78, 0x03, 0x82, 0x0d,
+  0xe2, 0x60, 0x43, 0x90, 0x07, 0x1b, 0x06, 0x3b, 0xd0, 0x03, 0x60, 0x43,
+  0x21, 0x06, 0x69, 0xb0, 0x07, 0x1b, 0x40, 0xc3, 0x8c, 0xed, 0x2d, 0x8c,
+  0x6e, 0x8e, 0x45, 0x9a, 0xdb, 0x1c, 0xdd, 0xdc, 0x04, 0x81, 0x78, 0x68,
+  0xcc, 0xa5, 0x9d, 0x7d, 0xb1, 0x91, 0xd1, 0x98, 0x4b, 0x3b, 0xfb, 0x9a,
+  0xa3, 0x23, 0x42, 0x57, 0x86, 0xf7, 0xe5, 0xf6, 0x26, 0xd7, 0xb6, 0x41,
+  0xe9, 0x03, 0xc4, 0x0f, 0xfe, 0x00, 0x14, 0x90, 0x50, 0xa0, 0x44, 0x61,
+  0xa8, 0xc2, 0xc6, 0x66, 0xd7, 0xe6, 0x92, 0x46, 0x56, 0xe6, 0x46, 0x37,
+  0x25, 0x08, 0xaa, 0x90, 0xe1, 0xb9, 0xd8, 0x95, 0xc9, 0xcd, 0xa5, 0xbd,
+  0xb9, 0x4d, 0x09, 0x88, 0x26, 0x64, 0x78, 0x2e, 0x76, 0x61, 0x6c, 0x76,
+  0x65, 0x72, 0x53, 0x82, 0xa2, 0x0e, 0x19, 0x9e, 0xcb, 0x1c, 0x5a, 0x18,
+  0x59, 0x99, 0x5c, 0xd3, 0x1b, 0x59, 0x19, 0xdb, 0x94, 0x00, 0x29, 0x43,
+  0x86, 0xe7, 0x22, 0x57, 0x36, 0xf7, 0x56, 0x27, 0x37, 0x56, 0x36, 0x37,
+  0x25, 0xd0, 0x2a, 0x91, 0xe1, 0xb9, 0xd0, 0xe5, 0xc1, 0x95, 0x05, 0xb9,
+  0xb9, 0xbd, 0xd1, 0x85, 0xd1, 0xa5, 0xbd, 0xb9, 0xcd, 0x4d, 0x11, 0xc0,
+  0xa0, 0x0c, 0xea, 0x90, 0xe1, 0xb9, 0xd8, 0xa5, 0x95, 0xdd, 0x25, 0x91,
+  0x4d, 0xd1, 0x85, 0xd1, 0x95, 0x4d, 0x09, 0xce, 0xa0, 0x0e, 0x19, 0x9e,
+  0x4b, 0x99, 0x1b, 0x9d, 0x5c, 0x1e, 0xd4, 0x5b, 0x9a, 0x1b, 0xdd, 0xdc,
+  0x94, 0x60, 0x0f, 0xba, 0x90, 0xe1, 0xb9, 0x8c, 0xbd, 0xd5, 0xb9, 0xd1,
+  0x95, 0xc9, 0xcd, 0x4d, 0x09, 0x44, 0x01, 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, 0x46, 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, 0x0d,
+  0x40, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x01, 0xcc, 0xb3, 0x10, 0x7e, 0x71,
+  0xdb, 0x26, 0x50, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x34, 0x39, 0x11, 0x81,
+  0x52, 0xd3, 0x43, 0x4d, 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, 0xe3, 0xfd, 0xb6, 0x60,
+  0x88, 0x06, 0x02, 0x15, 0xb2, 0xad, 0x97, 0x06, 0x58, 0xab, 0xdb, 0x1f,
+  0x44, 0x58, 0x49, 0x4c, 0x4c, 0x07, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
+  0xd3, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x34, 0x07, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde,
+  0x21, 0x0c, 0x00, 0x00, 0xca, 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, 0x4d, 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, 0x7c, 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, 0x9b, 0x86, 0xcb, 0x9f, 0xb0, 0x87, 0x90, 0xfc,
+  0x95, 0x90, 0x56, 0x62, 0xf2, 0x8b, 0xdb, 0x46, 0xc5, 0x18, 0x63, 0x10,
+  0x2a, 0xf7, 0x0c, 0x97, 0x3f, 0x61, 0x0f, 0x21, 0xf9, 0x21, 0xd0, 0x0c,
+  0x0b, 0x81, 0x82, 0x55, 0x18, 0x45, 0x18, 0x1b, 0x63, 0x0c, 0x42, 0xc8,
+  0xa0, 0x76, 0xd4, 0x70, 0xf9, 0x13, 0xf6, 0x10, 0x92, 0xcf, 0x6d, 0x54,
+  0xb1, 0x12, 0x93, 0x5f, 0xdc, 0x36, 0x22, 0xc6, 0x18, 0xa3, 0x10, 0x8f,
+  0x30, 0x42, 0x70, 0x8e, 0x20, 0x28, 0x06, 0x23, 0x85, 0x10, 0x49, 0x73,
+  0x20, 0x60, 0x18, 0x81, 0x18, 0x66, 0x6a, 0x83, 0x71, 0x60, 0x87, 0x70,
+  0x98, 0x87, 0x79, 0x70, 0x03, 0x5a, 0x28, 0x07, 0x7c, 0xa0, 0x87, 0x7a,
+  0x90, 0x87, 0x72, 0x90, 0x03, 0x52, 0xe0, 0x03, 0x7b, 0x28, 0x87, 0x71,
+  0xa0, 0x87, 0x77, 0x90, 0x07, 0x3e, 0x30, 0x07, 0x76, 0x78, 0x87, 0x70,
+  0xa0, 0x07, 0x36, 0x00, 0x03, 0x3a, 0xf0, 0x03, 0x30, 0xf0, 0x03, 0x3d,
+  0xd0, 0x83, 0x76, 0x48, 0x07, 0x78, 0x98, 0x87, 0x5f, 0xa0, 0x87, 0x7c,
+  0x80, 0x87, 0x72, 0x40, 0x01, 0x99, 0x49, 0x0c, 0xc6, 0x81, 0x1d, 0xc2,
+  0x61, 0x1e, 0xe6, 0xc1, 0x0d, 0x68, 0xa1, 0x1c, 0xf0, 0x81, 0x1e, 0xea,
+  0x41, 0x1e, 0xca, 0x41, 0x0e, 0x48, 0x81, 0x0f, 0xec, 0xa1, 0x1c, 0xc6,
+  0x81, 0x1e, 0xde, 0x41, 0x1e, 0xf8, 0xc0, 0x1c, 0xd8, 0xe1, 0x1d, 0xc2,
+  0x81, 0x1e, 0xd8, 0x00, 0x0c, 0xe8, 0xc0, 0x0f, 0xc0, 0xc0, 0x0f, 0x90,
+  0x60, 0x2f, 0xe1, 0x73, 0x26, 0xec, 0x21, 0x7e, 0xce, 0x69, 0xa4, 0x09,
+  0x68, 0x26, 0x09, 0x05, 0x83, 0xf4, 0x4d, 0xd2, 0x14, 0x51, 0xc2, 0xe4,
+  0xb3, 0x00, 0xf3, 0x2c, 0x44, 0xc4, 0x4e, 0xc0, 0x44, 0xa0, 0x80, 0x10,
+  0x4f, 0x04, 0x02, 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,
@@ -232,41 +251,45 @@ static const unsigned char texture_rgb_frag_dxil[] = {
   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, 0x81, 0x80, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x20, 0x0b, 0x04, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x60, 0xc8, 0x33, 0x01, 0x01, 0x30, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x40, 0x16, 0x08, 0x00, 0x0f, 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, 0x04,
-  0x65, 0x50, 0x1e, 0x54, 0x4a, 0x62, 0x04, 0xa0, 0x08, 0x0a, 0xa1, 0x40,
-  0xc8, 0xce, 0x00, 0x10, 0x9e, 0x01, 0xa0, 0x3c, 0x16, 0x62, 0x10, 0x81,
-  0x40, 0x20, 0xc7, 0x01, 0x79, 0x18, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00,
-  0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44, 0x8f, 0x0c, 0x6f, 0xec,
-  0xed, 0x4d, 0x0c, 0x24, 0xc6, 0x05, 0xc7, 0x45, 0xa6, 0x06, 0xa6, 0xc6,
-  0x45, 0x06, 0x07, 0x04, 0x25, 0xa7, 0xcc, 0x4c, 0x4c, 0xcc, 0x66, 0x6c,
-  0x46, 0x26, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x88, 0x62, 0x82, 0x40, 0x18,
-  0x1b, 0x84, 0x81, 0x98, 0x20, 0x10, 0xc7, 0x06, 0x61, 0x30, 0x28, 0xc0,
-  0xcd, 0x4d, 0x10, 0x08, 0x64, 0xc3, 0x80, 0x24, 0xc4, 0x04, 0xc1, 0x8a,
-  0x08, 0x4c, 0x10, 0x88, 0x64, 0x83, 0x40, 0x18, 0x1b, 0x12, 0x62, 0x61,
-  0x1a, 0x62, 0x68, 0x08, 0x67, 0x43, 0xf0, 0x4c, 0x10, 0x30, 0x69, 0x03,
-  0x42, 0x44, 0x4c, 0x43, 0x0c, 0x04, 0xb0, 0x21, 0x90, 0x36, 0x10, 0x10,
-  0x00, 0x4c, 0x13, 0x84, 0x6c, 0xda, 0x10, 0x54, 0x13, 0x04, 0x01, 0x20,
-  0xd1, 0x16, 0x96, 0xe6, 0x46, 0x84, 0xaa, 0x08, 0x6b, 0xe8, 0xe9, 0x49,
-  0x8a, 0x68, 0x82, 0x50, 0x30, 0x13, 0x84, 0xa2, 0xd9, 0x10, 0x10, 0x13,
-  0x84, 0xc2, 0x99, 0x20, 0x14, 0xcf, 0x04, 0x81, 0x50, 0x26, 0x08, 0xc4,
-  0xb2, 0x41, 0xf8, 0xc0, 0x60, 0xc3, 0x42, 0x64, 0xda, 0xc6, 0x75, 0x83,
-  0x47, 0x6c, 0x61, 0xb0, 0x21, 0x18, 0x36, 0x08, 0xdf, 0xb7, 0x61, 0x19,
-  0x32, 0x6d, 0x1b, 0x83, 0x6e, 0xe8, 0x86, 0x8d, 0x0c, 0x36, 0x08, 0x62,
-  0x50, 0x06, 0x4c, 0xa6, 0xac, 0xbe, 0xa8, 0xc2, 0xe4, 0xce, 0xca, 0xe8,
-  0x26, 0x08, 0x05, 0xb4, 0x61, 0x21, 0xce, 0x40, 0x43, 0x03, 0x6e, 0x1b,
-  0x3c, 0x62, 0x0b, 0x83, 0x0d, 0x41, 0x1a, 0x6c, 0x18, 0xcc, 0x40, 0x0d,
-  0x80, 0x0d, 0xc5, 0x85, 0xad, 0x01, 0x05, 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, 0x4c, 0x75, 0xc8, 0xf0,
-  0x5c, 0xec, 0xd2, 0xca, 0xee, 0x92, 0xc8, 0xa6, 0xe8, 0xc2, 0xe8, 0xca,
-  0xa6, 0x04, 0x55, 0x1d, 0x32, 0x3c, 0x97, 0x32, 0x37, 0x3a, 0xb9, 0x3c,
-  0xa8, 0xb7, 0x34, 0x37, 0xba, 0xb9, 0x29, 0xc1, 0x1a, 0x00, 0x00, 0x00,
+  0x65, 0x50, 0x08, 0xe5, 0x41, 0xa5, 0x24, 0x46, 0x00, 0x8a, 0xa0, 0x10,
+  0x0a, 0x84, 0xf2, 0x0c, 0x00, 0xed, 0x19, 0x00, 0xea, 0x33, 0x00, 0xe4,
+  0xc7, 0x42, 0x0c, 0x22, 0x10, 0x08, 0xe4, 0x38, 0x00, 0x00, 0x00, 0x00,
+  0x79, 0x18, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90,
+  0x46, 0x02, 0x13, 0x44, 0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24,
+  0xc6, 0x05, 0xc7, 0x45, 0xa6, 0x06, 0xa6, 0xc6, 0x45, 0x06, 0x07, 0x04,
+  0x25, 0xa7, 0xcc, 0x4c, 0x4c, 0xcc, 0x66, 0x6c, 0x46, 0x26, 0x65, 0x43,
+  0x10, 0x4c, 0x10, 0x08, 0x63, 0x82, 0x40, 0x1c, 0x1b, 0x84, 0x81, 0x98,
+  0x20, 0x10, 0xc8, 0x06, 0x61, 0x30, 0x28, 0xc0, 0xcd, 0x4d, 0x10, 0x88,
+  0x64, 0xc3, 0x80, 0x24, 0xc4, 0x04, 0x21, 0x9b, 0x08, 0x4c, 0x10, 0x08,
+  0x65, 0x83, 0x40, 0x18, 0x1b, 0x12, 0x62, 0x61, 0x1a, 0x62, 0x68, 0x08,
+  0x67, 0x43, 0xf0, 0x4c, 0x10, 0x36, 0x6a, 0x82, 0x40, 0x2c, 0x13, 0x04,
+  0x82, 0xd9, 0x80, 0x10, 0x11, 0x23, 0x11, 0xc3, 0x04, 0x6c, 0x08, 0xa8,
+  0x09, 0x42, 0x57, 0x6d, 0x40, 0x08, 0x8b, 0x69, 0x88, 0x81, 0x00, 0x36,
+  0x04, 0xd7, 0x06, 0x02, 0x02, 0x2a, 0x6c, 0x82, 0xe0, 0x59, 0x1b, 0x02,
+  0x6d, 0x82, 0x20, 0x00, 0x24, 0xda, 0xc2, 0xd2, 0xdc, 0x88, 0x50, 0x15,
+  0x61, 0x0d, 0x3d, 0x3d, 0x49, 0x11, 0x4d, 0x10, 0x0a, 0x67, 0x82, 0x50,
+  0x3c, 0x1b, 0x02, 0x62, 0x82, 0x50, 0x40, 0x13, 0x84, 0x22, 0x9a, 0x20,
+  0x10, 0xcd, 0x06, 0x41, 0x22, 0x83, 0x0d, 0x0b, 0xe1, 0x7d, 0x60, 0x10,
+  0x06, 0x62, 0x30, 0x8c, 0x01, 0x01, 0x06, 0x65, 0xb0, 0x21, 0x18, 0x36,
+  0x08, 0x92, 0xb4, 0x61, 0x19, 0xbc, 0x0f, 0x0c, 0xce, 0x40, 0x0c, 0x06,
+  0x31, 0x18, 0xc0, 0x00, 0x0d, 0x36, 0x08, 0x66, 0x90, 0x06, 0x4c, 0xa6,
+  0xac, 0xbe, 0xa8, 0xc2, 0xe4, 0xce, 0xca, 0xe8, 0x26, 0x08, 0x85, 0xb4,
+  0x61, 0x21, 0xd6, 0xe0, 0x63, 0x83, 0x30, 0x00, 0x83, 0x61, 0x0c, 0x08,
+  0x30, 0x28, 0x83, 0x0d, 0x41, 0x1b, 0x6c, 0x18, 0xd4, 0xc0, 0x0d, 0x80,
+  0x0d, 0x05, 0xd7, 0xbd, 0x41, 0x06, 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, 0x60, 0x75, 0xc8, 0xf0, 0x5c,
+  0xec, 0xd2, 0xca, 0xee, 0x92, 0xc8, 0xa6, 0xe8, 0xc2, 0xe8, 0xca, 0xa6,
+  0x04, 0x5a, 0x1d, 0x32, 0x3c, 0x97, 0x32, 0x37, 0x3a, 0xb9, 0x3c, 0xa8,
+  0xb7, 0x34, 0x37, 0xba, 0xb9, 0x29, 0xc1, 0x1b, 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,
@@ -293,32 +316,38 @@ static const unsigned char texture_rgb_frag_dxil[] = {
   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, 0x12, 0x00, 0x00, 0x00, 0x46, 0x20, 0x0d, 0x97,
-  0xef, 0x3c, 0xbe, 0x10, 0x11, 0xc0, 0x44, 0x84, 0x40, 0x33, 0x2c, 0x84,
-  0x05, 0x4c, 0xc3, 0xe5, 0x3b, 0x8f, 0xbf, 0x38, 0xc0, 0x20, 0x36, 0x0f,
-  0x35, 0xf9, 0xc5, 0x6d, 0xdb, 0x00, 0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x12,
-  0xc0, 0x3c, 0x0b, 0xe1, 0x17, 0xb7, 0x6d, 0x02, 0xd5, 0x70, 0xf9, 0xce,
-  0xe3, 0x4b, 0x93, 0x13, 0x11, 0x28, 0x35, 0x3d, 0xd4, 0xe4, 0x17, 0xb7,
-  0x6d, 0x00, 0x04, 0x03, 0x20, 0x0d, 0x00, 0x00, 0x61, 0x20, 0x00, 0x00,
-  0x38, 0x00, 0x00, 0x00, 0x13, 0x04, 0x41, 0x2c, 0x10, 0x00, 0x00, 0x00,
-  0x05, 0x00, 0x00, 0x00, 0xf4, 0x46, 0x00, 0x88, 0xcc, 0x00, 0x14, 0x42,
-  0x29, 0x94, 0x5c, 0xe1, 0x51, 0x29, 0x83, 0x12, 0xa0, 0x31, 0x03, 0x00,
-  0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x00, 0x65, 0x05, 0x74, 0x5d, 0xc9,
-  0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x40, 0x9a, 0x41, 0x60, 0x98, 0x32,
-  0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x86, 0x97, 0x68, 0x99, 0xa4, 0x8c,
-  0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0xf1, 0x29, 0x9b, 0x56, 0x2c, 0x23,
-  0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0x80, 0xc1, 0xb2, 0x6d, 0x14, 0x33,
-  0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x46, 0x18, 0x30, 0x1c, 0x77, 0x34,
-  0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0x88, 0x41, 0xd3, 0x75, 0x95,
-  0x33, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0xc6, 0x18, 0x38, 0x9e, 0xa7,
-  0x3c, 0x23, 0x06, 0x0f, 0x00, 0x82, 0x60, 0xd0, 0x88, 0x01, 0x83, 0x1c,
-  0x46, 0x91, 0x24, 0xdf, 0x07, 0x25, 0xa3, 0x09, 0x01, 0x30, 0x9a, 0x20,
-  0x04, 0xa3, 0x09, 0x83, 0x60, 0x03, 0x22, 0x1f, 0x1b, 0x10, 0xf9, 0xd8,
-  0x80, 0xc8, 0x67, 0xc4, 0x20, 0x01, 0x40, 0x10, 0x0c, 0x10, 0x35, 0xa8,
-  0xcc, 0xc0, 0x0c, 0xbe, 0x61, 0xc4, 0x20, 0x01, 0x40, 0x10, 0x0c, 0x10,
-  0x35, 0xa8, 0xcc, 0xc0, 0x0c, 0x22, 0x61, 0xc4, 0x20, 0x01, 0x40, 0x10,
-  0x0c, 0x10, 0x35, 0xa8, 0xcc, 0xc0, 0x0c, 0xbc, 0x60, 0xc4, 0x20, 0x01,
-  0x40, 0x10, 0x0c, 0x10, 0x35, 0xa8, 0xcc, 0xc0, 0x0c, 0x24, 0x04, 0x01,
+  0x71, 0x20, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x46, 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, 0x0d, 0x40, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x01, 0xcc,
+  0xb3, 0x10, 0x7e, 0x71, 0xdb, 0x26, 0x50, 0x0d, 0x97, 0xef, 0x3c, 0xbe,
+  0x34, 0x39, 0x11, 0x81, 0x52, 0xd3, 0x43, 0x4d, 0x7e, 0x71, 0xdb, 0x06,
+  0x40, 0x30, 0x00, 0xd2, 0x00, 0x00, 0x00, 0x00, 0x61, 0x20, 0x00, 0x00,
+  0x44, 0x00, 0x00, 0x00, 0x13, 0x04, 0x41, 0x2c, 0x10, 0x00, 0x00, 0x00,
+  0x05, 0x00, 0x00, 0x00, 0x24, 0x47, 0x00, 0x88, 0xcc, 0x00, 0x94, 0x42,
+  0xc9, 0x15, 0x5e, 0xd9, 0x51, 0x29, 0x83, 0x12, 0xa0, 0x31, 0x03, 0x00,
+  0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x30, 0x6d, 0x46, 0x94, 0x65, 0xc9,
+  0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x4c, 0xdc, 0x41, 0x68, 0x9a, 0x32,
+  0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x53, 0x87, 0x48, 0xdb, 0xb6, 0x8c,
+  0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x21, 0x06, 0x57, 0xc7, 0x51, 0xcb,
+  0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x63, 0x80, 0x79, 0x9d, 0xc1,
+  0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x41, 0x06, 0x99, 0xe7, 0x59,
+  0xcd, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x65, 0xa0, 0x7d, 0x1f,
+  0xe2, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x61, 0x06, 0x1b, 0x18,
+  0x80, 0xc1, 0xf5, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x71, 0x06,
+  0x5c, 0x18, 0x84, 0xc1, 0x02, 0x8d, 0x18, 0x3c, 0x00, 0x08, 0x82, 0x41,
+  0x63, 0x06, 0x4e, 0x82, 0x18, 0x85, 0xa2, 0x88, 0x81, 0x18, 0x44, 0xca,
+  0x68, 0x42, 0x00, 0x8c, 0x26, 0x08, 0xc1, 0x68, 0xc2, 0x20, 0x8c, 0x18,
+  0x1c, 0x00, 0x08, 0x82, 0x01, 0x94, 0x06, 0xd1, 0x62, 0x06, 0xa3, 0x09,
+  0x01, 0x60, 0x85, 0x22, 0x1f, 0x0b, 0x04, 0xf9, 0x98, 0xb1, 0xc8, 0xc7,
+  0x02, 0x42, 0x3e, 0x76, 0x30, 0xf2, 0xb1, 0xc0, 0x90, 0xcf, 0x88, 0x41,
+  0x02, 0x80, 0x20, 0x18, 0x20, 0x73, 0xc0, 0xb9, 0x81, 0x1b, 0x98, 0x41,
+  0x31, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0xc8, 0x1c, 0x70, 0x6e, 0xe0,
+  0x06, 0xd7, 0x30, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0xc8, 0x1c, 0x70,
+  0x6e, 0xe0, 0x06, 0x65, 0x10, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x01,
+  0x32, 0x07, 0x9c, 0x1b, 0xb8, 0x01, 0xd6, 0x20, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00
 };
-static const unsigned int texture_rgb_frag_dxil_len = 3844;
+static const unsigned int texture_rgb_frag_dxil_len = 4192;

+ 9 - 1
src/render/gpu/shaders/texture_rgb.frag.hlsl

@@ -1,3 +1,9 @@
+
+cbuffer Constants : register(b0, space3)
+{
+    float color_scale;
+};
+
 Texture2D u_texture : register(t0, space2);
 SamplerState u_sampler : register(s0, space2);
 
@@ -10,8 +16,10 @@ struct PSOutput {
     float4 o_color : SV_Target;
 };
 
+#include "common.frag.hlsli"
+
 PSOutput main(PSInput input) {
     PSOutput output;
-    output.o_color = float4(u_texture.Sample(u_sampler, input.v_uv).rgb, 1.0f) * input.v_color;
+    output.o_color = GetOutputColor(float4(u_texture.Sample(u_sampler, input.v_uv).rgb, 1.0f)) * input.v_color;
     return output;
 }

+ 59 - 38
src/render/gpu/shaders/texture_rgb.frag.msl.h

@@ -5,44 +5,65 @@ static const unsigned char texture_rgb_frag_msl[] = {
   0x6d, 0x64, 0x2f, 0x73, 0x69, 0x6d, 0x64, 0x2e, 0x68, 0x3e, 0x0a, 0x0a,
   0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70,
   0x61, 0x63, 0x65, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x3b, 0x0a, 0x0a,
+  0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x5f,
+  0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x0a, 0x7b, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x63, 0x6f,
+  0x6c, 0x6f, 0x72, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x3b, 0x0a, 0x7d,
+  0x3b, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20,
+  0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x5f, 0x32, 0x38, 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, 0x20, 0x5b, 0x5b, 0x63, 0x6f, 0x6c, 0x6f,
+  0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 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, 0x20,
-  0x5b, 0x5b, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x28, 0x30, 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, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 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, 0x32, 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, 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, 0x74, 0x65,
-  0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61,
-  0x74, 0x3e, 0x20, 0x75, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65,
-  0x20, 0x5b, 0x5b, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30,
-  0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72,
-  0x20, 0x75, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x5b,
-  0x5b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 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, 0x53, 0x56, 0x5f,
-  0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x20, 0x3d, 0x20, 0x66, 0x6c, 0x6f,
-  0x61, 0x74, 0x34, 0x28, 0x75, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72,
-  0x65, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x75, 0x5f, 0x73,
-  0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x69, 0x6e, 0x2e, 0x69,
+  0x5f, 0x69, 0x6e, 0x0a, 0x7b, 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, 0x30, 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, 0x30, 0x29, 0x2e, 0x78, 0x79, 0x7a, 0x2c, 0x20, 0x31, 0x2e,
-  0x30, 0x29, 0x20, 0x2a, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76,
-  0x61, 0x72, 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x30, 0x3b, 0x0a, 0x20,
-  0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6f, 0x75,
-  0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a
+  0x52, 0x44, 0x30, 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, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61,
+  0x6e, 0x74, 0x73, 0x26, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e,
+  0x74, 0x73, 0x20, 0x5b, 0x5b, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x28,
+  0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72,
+  0x65, 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x20, 0x75,
+  0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20, 0x5b, 0x5b, 0x74,
+  0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c,
+  0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x75, 0x5f, 0x73,
+  0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x5b, 0x5b, 0x73, 0x61, 0x6d,
+  0x70, 0x6c, 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, 0x34, 0x33, 0x20, 0x3d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34,
+  0x28, 0x75, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x73,
+  0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x75, 0x5f, 0x73, 0x61, 0x6d, 0x70,
+  0x6c, 0x65, 0x72, 0x2c, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76,
+  0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30,
+  0x29, 0x2e, 0x78, 0x79, 0x7a, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x2e,
+  0x78, 0x79, 0x7a, 0x20, 0x2a, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61,
+  0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x73, 0x63,
+  0x61, 0x6c, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f,
+  0x61, 0x74, 0x34, 0x20, 0x5f, 0x34, 0x34, 0x20, 0x3d, 0x20, 0x66, 0x6c,
+  0x6f, 0x61, 0x74, 0x34, 0x28, 0x5f, 0x34, 0x33, 0x2e, 0x78, 0x2c, 0x20,
+  0x5f, 0x34, 0x33, 0x2e, 0x79, 0x2c, 0x20, 0x5f, 0x34, 0x33, 0x2e, 0x7a,
+  0x2c, 0x20, 0x5f, 0x32, 0x38, 0x2e, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x5f, 0x34, 0x34, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x31, 0x2e,
+  0x30, 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, 0x20, 0x3d, 0x20, 0x5f, 0x34, 0x34, 0x20, 0x2a,
+  0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x43,
+  0x4f, 0x4c, 0x4f, 0x52, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72,
+  0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6f, 0x75, 0x74, 0x3b, 0x0a, 0x7d,
+  0x0a, 0x0a
 };
-static const unsigned int texture_rgb_frag_msl_len = 534;
+static const unsigned int texture_rgb_frag_msl_len = 782;

+ 106 - 73
src/render/gpu/shaders/texture_rgb.frag.spv.h

@@ -1,6 +1,6 @@
 static const unsigned char texture_rgb_frag_spv[] = {
   0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0e, 0x00,
-  0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00,
+  0x2f, 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, 0x08, 0x00, 0x04, 0x00, 0x00, 0x00,
   0x01, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00,
@@ -8,78 +8,111 @@ static const unsigned char texture_rgb_frag_spv[] = {
   0x10, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
   0x03, 0x00, 0x03, 0x00, 0x05, 0x00, 0x00, 0x00, 0x58, 0x02, 0x00, 0x00,
   0x05, 0x00, 0x06, 0x00, 0x05, 0x00, 0x00, 0x00, 0x74, 0x79, 0x70, 0x65,
-  0x2e, 0x32, 0x64, 0x2e, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x00, 0x00, 0x00,
-  0x05, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x74, 0x65,
-  0x78, 0x74, 0x75, 0x72, 0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00,
-  0x07, 0x00, 0x00, 0x00, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x73, 0x61, 0x6d,
-  0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00,
-  0x08, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65,
-  0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x69, 0x6e, 0x2e, 0x76, 0x61, 0x72, 0x2e, 0x43, 0x4f, 0x4c, 0x4f, 0x52,
-  0x30, 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, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00,
-  0x04, 0x00, 0x00, 0x00, 0x6f, 0x75, 0x74, 0x2e, 0x76, 0x61, 0x72, 0x2e,
-  0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x00, 0x00,
-  0x05, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e,
-  0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0x09, 0x00, 0x00, 0x00,
-  0x74, 0x79, 0x70, 0x65, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64,
-  0x2e, 0x69, 0x6d, 0x61, 0x67, 0x65, 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,
+  0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x00, 0x00,
+  0x06, 0x00, 0x06, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x00,
+  0x05, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x43, 0x6f, 0x6e, 0x73,
+  0x74, 0x61, 0x6e, 0x74, 0x73, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00,
+  0x07, 0x00, 0x00, 0x00, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x32, 0x64, 0x2e,
+  0x69, 0x6d, 0x61, 0x67, 0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00,
+  0x08, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72,
+  0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x09, 0x00, 0x00, 0x00,
+  0x74, 0x79, 0x70, 0x65, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72,
+  0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0a, 0x00, 0x00, 0x00,
+  0x75, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00,
+  0x05, 0x00, 0x06, 0x00, 0x02, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x2e, 0x76,
+  0x61, 0x72, 0x2e, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x30, 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, 0x30,
+  0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0x04, 0x00, 0x00, 0x00,
+  0x6f, 0x75, 0x74, 0x2e, 0x76, 0x61, 0x72, 0x2e, 0x53, 0x56, 0x5f, 0x54,
+  0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00,
+  0x05, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x74, 0x79, 0x70, 0x65,
+  0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x2e, 0x69, 0x6d, 0x61,
+  0x67, 0x65, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00,
   0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00,
-  0x06, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x47, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00,
-  0x22, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00,
-  0x08, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x16, 0x00, 0x03, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
-  0x2b, 0x00, 0x04, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x80, 0x3f, 0x19, 0x00, 0x09, 0x00, 0x05, 0x00, 0x00, 0x00,
-  0x0a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 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,
+  0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00,
+  0x22, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00,
+  0x06, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x47, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00,
+  0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00,
+  0x0a, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x47, 0x00, 0x04, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x05, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x47, 0x00, 0x03, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x15, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x00, 0x00,
+  0x20, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00,
+  0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x2b, 0x00, 0x04, 0x00,
+  0x0c, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x1e, 0x00, 0x03, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
+  0x20, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x05, 0x00, 0x00, 0x00, 0x19, 0x00, 0x09, 0x00, 0x07, 0x00, 0x00, 0x00,
+  0x0d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x02, 0x00,
-  0x07, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00,
-  0x0e, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
-  0x20, 0x00, 0x04, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x0e, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00,
-  0x0a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00,
-  0x11, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
-  0x20, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x0e, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x13, 0x00, 0x00, 0x00,
-  0x21, 0x00, 0x03, 0x00, 0x14, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00,
-  0x1b, 0x00, 0x03, 0x00, 0x09, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
-  0x3b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00,
-  0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00,
-  0x0f, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x3b, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00,
-  0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00,
-  0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x14, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x15, 0x00, 0x00, 0x00,
-  0x3d, 0x00, 0x04, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00,
-  0x17, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
-  0x05, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
-  0x3d, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00,
-  0x08, 0x00, 0x00, 0x00, 0x56, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00,
-  0x1a, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00,
-  0x57, 0x00, 0x06, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00,
-  0x1a, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x51, 0x00, 0x05, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
-  0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00,
-  0x0a, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0a, 0x00, 0x00, 0x00,
-  0x1e, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x50, 0x00, 0x07, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00,
-  0x1c, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00,
-  0x0b, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x0e, 0x00, 0x00, 0x00,
-  0x20, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00,
-  0x3e, 0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
-  0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00
+  0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x02, 0x00,
+  0x09, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00,
+  0x13, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+  0x20, 0x00, 0x04, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x13, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x15, 0x00, 0x00, 0x00,
+  0x0d, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00,
+  0x16, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00,
+  0x20, 0x00, 0x04, 0x00, 0x17, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x13, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x18, 0x00, 0x00, 0x00,
+  0x21, 0x00, 0x03, 0x00, 0x19, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
+  0x1b, 0x00, 0x03, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
+  0x17, 0x00, 0x04, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x1b, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x3b, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00,
+  0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00,
+  0x14, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x3b, 0x00, 0x04, 0x00, 0x16, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x17, 0x00, 0x00, 0x00,
+  0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00,
+  0x13, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00,
+  0x18, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x19, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x1d, 0x00, 0x00, 0x00,
+  0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x15, 0x00, 0x00, 0x00,
+  0x1f, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
+  0x07, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+  0x3d, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,
+  0x0a, 0x00, 0x00, 0x00, 0x56, 0x00, 0x05, 0x00, 0x0b, 0x00, 0x00, 0x00,
+  0x22, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,
+  0x57, 0x00, 0x06, 0x00, 0x13, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00,
+  0x22, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
+  0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00,
+  0x0d, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00,
+  0x26, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x50, 0x00, 0x07, 0x00, 0x13, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00,
+  0x24, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00,
+  0x0e, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x1a, 0x00, 0x00, 0x00,
+  0x28, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x41, 0x00, 0x05, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00,
+  0x06, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
+  0x0d, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00,
+  0x8e, 0x00, 0x05, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00,
+  0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x09, 0x00,
+  0x13, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
+  0x2b, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
+  0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x52, 0x00, 0x06, 0x00,
+  0x13, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00,
+  0x2c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00,
+  0x13, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00,
+  0x1e, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00,
+  0x2e, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00
 };
-static const unsigned int texture_rgb_frag_spv_len = 980;
+static const unsigned int texture_rgb_frag_spv_len = 1380;

+ 0 - 401
src/render/gpu/shaders/texture_rgb_pixelart.frag.dxil.h

@@ -1,401 +0,0 @@
-static const unsigned char texture_rgb_pixelart_frag_dxil[] = {
-  0x44, 0x58, 0x42, 0x43, 0xd3, 0x3a, 0xee, 0x83, 0x73, 0x42, 0x41, 0x69,
-  0x2e, 0xcf, 0xf1, 0xea, 0x25, 0x30, 0xca, 0x66, 0x01, 0x00, 0x00, 0x00,
-  0xa4, 0x12, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00,
-  0x4c, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x00, 0x00,
-  0xf0, 0x01, 0x00, 0x00, 0x54, 0x09, 0x00, 0x00, 0x70, 0x09, 0x00, 0x00,
-  0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x31, 0x54, 0x00, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x48, 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, 0x48, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x00, 0x00, 0x00,
-  0x4f, 0x53, 0x47, 0x31, 0x34, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x00, 0x00,
-  0x50, 0x53, 0x56, 0x30, 0x04, 0x01, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
-  0x00, 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, 0x02, 0x01, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x13, 0x00, 0x00, 0x00, 0x03, 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,
-  0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x02, 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, 0x42, 0x00,
-  0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x44, 0x10, 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, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x53, 0x54, 0x41, 0x54, 0x5c, 0x07, 0x00, 0x00,
-  0x60, 0x00, 0x00, 0x00, 0xd7, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c,
-  0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x44, 0x07, 0x00, 0x00,
-  0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0xce, 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, 0x53, 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, 0x8c, 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, 0x0c,
-  0x03, 0x31, 0x90, 0x52, 0x88, 0x81, 0x18, 0x06, 0x62, 0x6e, 0x1a, 0x2e,
-  0x7f, 0xc2, 0x1e, 0x42, 0xf2, 0x57, 0x42, 0x5a, 0x89, 0xc9, 0x2f, 0x6e,
-  0x1b, 0x15, 0xc3, 0x30, 0x0c, 0x04, 0x15, 0xf7, 0x0c, 0x97, 0x3f, 0x61,
-  0x0f, 0x21, 0xf9, 0x21, 0xd0, 0x0c, 0x0b, 0x81, 0x82, 0xa7, 0x48, 0x0e,
-  0x01, 0x41, 0xc3, 0x30, 0x0c, 0x04, 0x41, 0x0c, 0xc3, 0x30, 0x0c, 0xc3,
-  0x40, 0xd1, 0x51, 0xc3, 0xe5, 0x4f, 0xd8, 0x43, 0x48, 0x3e, 0xb7, 0x51,
-  0xc5, 0x4a, 0x4c, 0x7e, 0x71, 0xdb, 0x88, 0x18, 0x86, 0x61, 0x28, 0xc4,
-  0x44, 0x40, 0x04, 0x51, 0x73, 0x04, 0x41, 0x31, 0x20, 0xa2, 0x20, 0x08,
-  0x8b, 0xae, 0x81, 0x80, 0x61, 0x04, 0x62, 0x98, 0xa9, 0x0d, 0xc6, 0x81,
-  0x1d, 0xc2, 0x61, 0x1e, 0xe6, 0xc1, 0x0d, 0x68, 0xa1, 0x1c, 0xf0, 0x81,
-  0x1e, 0xea, 0x41, 0x1e, 0xca, 0x41, 0x0e, 0x48, 0x81, 0x0f, 0xec, 0xa1,
-  0x1c, 0xc6, 0x81, 0x1e, 0xde, 0x41, 0x1e, 0xf8, 0xc0, 0x1c, 0xd8, 0xe1,
-  0x1d, 0xc2, 0x81, 0x1e, 0xd8, 0x00, 0x0c, 0xe8, 0xc0, 0x0f, 0xc0, 0xc0,
-  0x0f, 0xf4, 0x40, 0x0f, 0xda, 0x21, 0x1d, 0xe0, 0x61, 0x1e, 0x7e, 0x81,
-  0x1e, 0xf2, 0x01, 0x1e, 0xca, 0x01, 0x05, 0xc4, 0x4c, 0x62, 0x30, 0x0e,
-  0xec, 0x10, 0x0e, 0xf3, 0x30, 0x0f, 0x6e, 0x40, 0x0b, 0xe5, 0x80, 0x0f,
-  0xf4, 0x50, 0x0f, 0xf2, 0x50, 0x0e, 0x72, 0x40, 0x0a, 0x7c, 0x60, 0x0f,
-  0xe5, 0x30, 0x0e, 0xf4, 0xf0, 0x0e, 0xf2, 0xc0, 0x07, 0xe6, 0xc0, 0x0e,
-  0xef, 0x10, 0x0e, 0xf4, 0xc0, 0x06, 0x60, 0x40, 0x07, 0x7e, 0x00, 0x06,
-  0x7e, 0x80, 0x04, 0x6d, 0x23, 0xee, 0x98, 0x09, 0x7b, 0x88, 0x9f, 0x73,
-  0x9a, 0x89, 0xb8, 0x26, 0x14, 0x68, 0xe4, 0xdd, 0x24, 0x4d, 0x11, 0x25,
-  0x4c, 0x3e, 0x0b, 0x30, 0xcf, 0x42, 0x44, 0xec, 0x04, 0x4c, 0x04, 0x0a,
-  0x08, 0x02, 0x13, 0x81, 0x00, 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, 0x13, 0x01, 0x01,
-  0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x90, 0x87, 0x02,
-  0x02, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x21, 0xcf,
-  0x05, 0x04, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59,
-  0x20, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14,
-  0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22,
-  0x4a, 0x60, 0x04, 0xa0, 0x18, 0x8a, 0xa0, 0x24, 0xca, 0xa0, 0x40, 0xca,
-  0xa1, 0x34, 0x0a, 0xa1, 0x3c, 0xca, 0xab, 0x28, 0x03, 0xa8, 0x28, 0x89,
-  0x11, 0x80, 0x22, 0x28, 0x84, 0x02, 0xa1, 0x6e, 0x06, 0x80, 0xbc, 0x19,
-  0x00, 0xfa, 0x66, 0x00, 0x28, 0x9c, 0x01, 0x20, 0x71, 0x2c, 0xc4, 0x20,
-  0x02, 0x81, 0x40, 0x8e, 0x03, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00,
-  0x91, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44,
-  0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24, 0xc6, 0x05, 0xc7, 0x45,
-  0xa6, 0x06, 0xa6, 0xc6, 0x45, 0x06, 0x07, 0x04, 0x25, 0xa7, 0xcc, 0x4c,
-  0x4c, 0xcc, 0x66, 0x6c, 0x46, 0x26, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x08,
-  0x64, 0x82, 0x40, 0x24, 0x1b, 0x84, 0x81, 0xd8, 0x20, 0x10, 0x04, 0x05,
-  0xb8, 0xb9, 0x09, 0x02, 0xa1, 0x6c, 0x18, 0x0e, 0x84, 0x98, 0x20, 0x74,
-  0x1a, 0x93, 0xba, 0x2f, 0xba, 0x32, 0x3c, 0xba, 0x3a, 0xb9, 0xb2, 0x09,
-  0x02, 0xb1, 0x4c, 0x10, 0x08, 0x66, 0x83, 0x40, 0x34, 0x1b, 0x12, 0x42,
-  0x59, 0x18, 0x62, 0x60, 0x08, 0x67, 0x43, 0xf0, 0x4c, 0x10, 0x3e, 0x8e,
-  0x0c, 0x5d, 0x1e, 0x5c, 0xd9, 0xd7, 0xd0, 0x9b, 0x1b, 0x5d, 0x19, 0x1e,
-  0xdd, 0x04, 0x81, 0x68, 0x26, 0x08, 0x84, 0xb3, 0x01, 0x21, 0x22, 0x69,
-  0x22, 0x06, 0x0a, 0xd8, 0x10, 0x54, 0x13, 0x84, 0x30, 0xe8, 0x98, 0xd4,
-  0x7d, 0xcd, 0x85, 0xb5, 0xc1, 0xb1, 0x95, 0xc9, 0x6d, 0x40, 0x88, 0x0b,
-  0x63, 0x88, 0x81, 0x00, 0x36, 0x04, 0xd9, 0x06, 0x02, 0x02, 0x2c, 0x6d,
-  0x82, 0xe0, 0x6d, 0x94, 0x86, 0xde, 0xdc, 0xe8, 0xca, 0xf0, 0xe8, 0xbe,
-  0xe8, 0xca, 0xf0, 0xca, 0xd8, 0xbe, 0xe6, 0xd2, 0xf4, 0xca, 0x26, 0x08,
-  0xc4, 0x33, 0x41, 0x20, 0xa0, 0x09, 0x02, 0x11, 0x6d, 0x40, 0x90, 0x6e,
-  0x22, 0xbc, 0xe6, 0x03, 0x83, 0x0d, 0x02, 0x15, 0x06, 0x1b, 0x06, 0x82,
-  0x13, 0x83, 0x09, 0x82, 0x00, 0x6c, 0x00, 0x36, 0x0c, 0x44, 0x19, 0x94,
-  0xc1, 0x86, 0xc0, 0x0c, 0x36, 0x0c, 0x03, 0x19, 0x9c, 0xc1, 0x04, 0x41,
-  0x0c, 0xbc, 0x0d, 0x41, 0x1a, 0x90, 0x68, 0x0b, 0x4b, 0x73, 0x23, 0x42,
-  0x55, 0x84, 0x35, 0xf4, 0xf4, 0x24, 0x45, 0x34, 0x41, 0x28, 0xaa, 0x09,
-  0x42, 0x61, 0x6d, 0x08, 0x88, 0x09, 0x42, 0x71, 0x4d, 0x10, 0x0a, 0x6c,
-  0x82, 0x40, 0x48, 0x1b, 0x84, 0x49, 0x0e, 0x36, 0x2c, 0x04, 0x1b, 0xb4,
-  0x81, 0x1b, 0xbc, 0x01, 0x1c, 0x0c, 0x71, 0x40, 0xb8, 0xc1, 0x1c, 0x6c,
-  0x08, 0x86, 0x0d, 0xc2, 0x34, 0x6d, 0x58, 0x06, 0x36, 0x68, 0x03, 0x37,
-  0xa8, 0x03, 0x38, 0x18, 0xe0, 0x60, 0x70, 0x03, 0x3b, 0xd8, 0x20, 0xd0,
-  0xc1, 0x1d, 0x30, 0x99, 0xb2, 0xfa, 0xa2, 0x0a, 0x93, 0x3b, 0x2b, 0xa3,
-  0x9b, 0x20, 0x14, 0xd9, 0x86, 0x85, 0xc8, 0x83, 0x36, 0xd0, 0x83, 0x37,
-  0x70, 0x83, 0x21, 0x0e, 0x08, 0x37, 0x98, 0x83, 0x0d, 0xc1, 0x1e, 0x6c,
-  0x18, 0xf0, 0x80, 0x0f, 0x80, 0x0d, 0x05, 0x19, 0xac, 0x41, 0x1f, 0x6c,
-  0x00, 0x0d, 0x33, 0xb6, 0xb7, 0x30, 0xba, 0xb9, 0x09, 0x02, 0x31, 0xb1,
-  0x48, 0x73, 0x9b, 0xa3, 0x9b, 0x9b, 0x20, 0x10, 0x14, 0x8d, 0xb9, 0xb4,
-  0xb3, 0x2f, 0x36, 0x32, 0x1a, 0x73, 0x69, 0x67, 0x5f, 0x73, 0x74, 0x44,
-  0xe8, 0xca, 0xf0, 0xbe, 0xce, 0xe4, 0xc2, 0xc8, 0x36, 0x28, 0x7f, 0x00,
-  0x0a, 0xa1, 0x20, 0x0a, 0xa3, 0x80, 0x90, 0x02, 0x18, 0x94, 0xc2, 0x50,
-  0x85, 0x8d, 0xcd, 0xae, 0xcd, 0x25, 0x8d, 0xac, 0xcc, 0x8d, 0x6e, 0x4a,
-  0x10, 0x54, 0x21, 0xc3, 0x73, 0xb1, 0x2b, 0x93, 0x9b, 0x4b, 0x7b, 0x73,
-  0x9b, 0x12, 0x10, 0x4d, 0xc8, 0xf0, 0x5c, 0xec, 0xc2, 0xd8, 0xec, 0xca,
-  0xe4, 0xa6, 0x04, 0x45, 0x1d, 0x32, 0x3c, 0x97, 0x39, 0xb4, 0x30, 0xb2,
-  0x32, 0xb9, 0xa6, 0x37, 0xb2, 0x32, 0xb6, 0x29, 0x01, 0x52, 0x86, 0x0c,
-  0xcf, 0x45, 0xae, 0x6c, 0xee, 0xad, 0x4e, 0x6e, 0xac, 0x6c, 0x6e, 0x4a,
-  0xa0, 0x55, 0x22, 0xc3, 0x73, 0xa1, 0xcb, 0x83, 0x2b, 0x0b, 0x72, 0x73,
-  0x7b, 0xa3, 0x0b, 0xa3, 0x4b, 0x7b, 0x73, 0x9b, 0x9b, 0x22, 0x88, 0xc1,
-  0x19, 0xd4, 0x21, 0xc3, 0x73, 0xb1, 0x4b, 0x2b, 0xbb, 0x4b, 0x22, 0x9b,
-  0xa2, 0x0b, 0xa3, 0x2b, 0x9b, 0x12, 0xa4, 0x41, 0x1d, 0x32, 0x3c, 0x97,
-  0x32, 0x37, 0x3a, 0xb9, 0x3c, 0xa8, 0xb7, 0x34, 0x37, 0xba, 0xb9, 0x29,
-  0x41, 0x1f, 0x74, 0x21, 0xc3, 0x73, 0x19, 0x7b, 0xab, 0x73, 0xa3, 0x2b,
-  0x93, 0x9b, 0x9b, 0x12, 0x94, 0x02, 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,
-  0x1f, 0x00, 0x00, 0x00, 0x46, 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, 0x48, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f,
-  0x44, 0x04, 0x30, 0x11, 0x21, 0xd0, 0x0c, 0x0b, 0x61, 0x01, 0xd3, 0x70,
-  0xf9, 0xce, 0xe3, 0x2f, 0x0e, 0x30, 0x88, 0xcd, 0x43, 0x4d, 0x7e, 0x71,
-  0xdb, 0x56, 0x40, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x04, 0x30, 0xcf, 0x42,
-  0x80, 0x11, 0x30, 0xf8, 0xc5, 0x6d, 0x9b, 0x40, 0x35, 0x5c, 0xbe, 0xf3,
-  0xf8, 0xd2, 0xe4, 0x44, 0x04, 0x4a, 0x4d, 0x0f, 0x35, 0xf9, 0xc5, 0x6d,
-  0xdb, 0xc0, 0x33, 0x5c, 0xbe, 0xf3, 0xf8, 0x54, 0x03, 0x44, 0x98, 0x5f,
-  0xdc, 0xb6, 0x01, 0x10, 0x0c, 0x80, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x48, 0x41, 0x53, 0x48, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x9e, 0x1e, 0xf5, 0xe1, 0xa2, 0x09, 0x7a, 0x62, 0x93, 0xeb, 0xdb, 0x38,
-  0x69, 0x0e, 0xec, 0x47, 0x44, 0x58, 0x49, 0x4c, 0x2c, 0x09, 0x00, 0x00,
-  0x60, 0x00, 0x00, 0x00, 0x4b, 0x02, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c,
-  0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x14, 0x09, 0x00, 0x00,
-  0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0x42, 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, 0x53, 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, 0x8c, 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, 0x0c,
-  0x03, 0x31, 0x90, 0x52, 0x88, 0x81, 0x18, 0x06, 0x62, 0x6e, 0x1a, 0x2e,
-  0x7f, 0xc2, 0x1e, 0x42, 0xf2, 0x57, 0x42, 0x5a, 0x89, 0xc9, 0x2f, 0x6e,
-  0x1b, 0x15, 0xc3, 0x30, 0x0c, 0x04, 0x15, 0xf7, 0x0c, 0x97, 0x3f, 0x61,
-  0x0f, 0x21, 0xf9, 0x21, 0xd0, 0x0c, 0x0b, 0x81, 0x82, 0xa7, 0x48, 0x0e,
-  0x01, 0x41, 0xc3, 0x30, 0x0c, 0x04, 0x41, 0x0c, 0xc3, 0x30, 0x0c, 0xc3,
-  0x40, 0xd1, 0x51, 0xc3, 0xe5, 0x4f, 0xd8, 0x43, 0x48, 0x3e, 0xb7, 0x51,
-  0xc5, 0x4a, 0x4c, 0x7e, 0x71, 0xdb, 0x88, 0x18, 0x86, 0x61, 0x28, 0xc4,
-  0x44, 0x40, 0x04, 0x51, 0x73, 0x04, 0x41, 0x31, 0x20, 0xa2, 0x20, 0x08,
-  0x8b, 0xae, 0x81, 0x80, 0x61, 0x04, 0x62, 0x98, 0xa9, 0x0d, 0xc6, 0x81,
-  0x1d, 0xc2, 0x61, 0x1e, 0xe6, 0xc1, 0x0d, 0x68, 0xa1, 0x1c, 0xf0, 0x81,
-  0x1e, 0xea, 0x41, 0x1e, 0xca, 0x41, 0x0e, 0x48, 0x81, 0x0f, 0xec, 0xa1,
-  0x1c, 0xc6, 0x81, 0x1e, 0xde, 0x41, 0x1e, 0xf8, 0xc0, 0x1c, 0xd8, 0xe1,
-  0x1d, 0xc2, 0x81, 0x1e, 0xd8, 0x00, 0x0c, 0xe8, 0xc0, 0x0f, 0xc0, 0xc0,
-  0x0f, 0xf4, 0x40, 0x0f, 0xda, 0x21, 0x1d, 0xe0, 0x61, 0x1e, 0x7e, 0x81,
-  0x1e, 0xf2, 0x01, 0x1e, 0xca, 0x01, 0x05, 0xc4, 0x4c, 0x62, 0x30, 0x0e,
-  0xec, 0x10, 0x0e, 0xf3, 0x30, 0x0f, 0x6e, 0x40, 0x0b, 0xe5, 0x80, 0x0f,
-  0xf4, 0x50, 0x0f, 0xf2, 0x50, 0x0e, 0x72, 0x40, 0x0a, 0x7c, 0x60, 0x0f,
-  0xe5, 0x30, 0x0e, 0xf4, 0xf0, 0x0e, 0xf2, 0xc0, 0x07, 0xe6, 0xc0, 0x0e,
-  0xef, 0x10, 0x0e, 0xf4, 0xc0, 0x06, 0x60, 0x40, 0x07, 0x7e, 0x00, 0x06,
-  0x7e, 0x80, 0x04, 0x6d, 0x23, 0xee, 0x98, 0x09, 0x7b, 0x88, 0x9f, 0x73,
-  0x9a, 0x89, 0xb8, 0x26, 0x14, 0x68, 0xe4, 0xdd, 0x24, 0x4d, 0x11, 0x25,
-  0x4c, 0x3e, 0x0b, 0x30, 0xcf, 0x42, 0x44, 0xec, 0x04, 0x4c, 0x04, 0x0a,
-  0x08, 0x02, 0x13, 0x81, 0x00, 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, 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, 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, 0x13, 0x01, 0x01,
-  0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x90, 0x87, 0x02,
-  0x02, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x21, 0xcf,
-  0x05, 0x04, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59,
-  0x20, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14,
-  0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22,
-  0x4a, 0x60, 0x04, 0xa0, 0x24, 0x8a, 0xa1, 0x08, 0xca, 0xa0, 0x40, 0xca,
-  0x83, 0x8a, 0x92, 0x18, 0x01, 0x28, 0x82, 0x42, 0x28, 0x10, 0xea, 0x66,
-  0x00, 0xe8, 0x9b, 0x01, 0xa0, 0x70, 0x06, 0x80, 0xc4, 0xb1, 0x10, 0x83,
-  0x08, 0x04, 0x02, 0x39, 0x0e, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00,
-  0x5e, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44,
-  0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24, 0xc6, 0x05, 0xc7, 0x45,
-  0xa6, 0x06, 0xa6, 0xc6, 0x45, 0x06, 0x07, 0x04, 0x25, 0xa7, 0xcc, 0x4c,
-  0x4c, 0xcc, 0x66, 0x6c, 0x46, 0x26, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x08,
-  0x64, 0x82, 0x40, 0x24, 0x1b, 0x84, 0x81, 0x98, 0x20, 0x10, 0xca, 0x06,
-  0x61, 0x30, 0x28, 0xc0, 0xcd, 0x4d, 0x10, 0x88, 0x65, 0xc3, 0x80, 0x24,
-  0xc4, 0x04, 0xa1, 0xab, 0x08, 0x4c, 0x10, 0x08, 0x66, 0x83, 0x40, 0x18,
-  0x1b, 0x12, 0x62, 0x61, 0x1a, 0x62, 0x68, 0x08, 0x67, 0x43, 0xf0, 0x4c,
-  0x10, 0x3e, 0x6b, 0x82, 0x40, 0x34, 0x13, 0x04, 0xc2, 0xd9, 0x80, 0x10,
-  0x11, 0x23, 0x11, 0xc3, 0x04, 0x6c, 0x08, 0xa8, 0x09, 0x42, 0x18, 0x5c,
-  0x1b, 0x10, 0xc2, 0x62, 0x1a, 0x62, 0x20, 0x80, 0x0d, 0xc1, 0xb5, 0x81,
-  0x80, 0x80, 0x0a, 0x9b, 0x20, 0x88, 0x01, 0xb6, 0x21, 0xd0, 0x26, 0x08,
-  0x02, 0x40, 0xa2, 0x2d, 0x2c, 0xcd, 0x8d, 0x08, 0x55, 0x11, 0xd6, 0xd0,
-  0xd3, 0x93, 0x14, 0xd1, 0x04, 0xa1, 0x80, 0x26, 0x08, 0x45, 0xb4, 0x21,
-  0x20, 0x26, 0x08, 0x85, 0x34, 0x41, 0x28, 0xa6, 0x09, 0x02, 0xf1, 0x6c,
-  0x10, 0x24, 0x32, 0xd8, 0xb0, 0x10, 0xde, 0x07, 0x06, 0x61, 0x20, 0x06,
-  0xc3, 0x18, 0x10, 0x60, 0x50, 0x06, 0x1b, 0x82, 0x61, 0x83, 0x20, 0x49,
-  0x1b, 0x96, 0xc1, 0xfb, 0xc0, 0xe0, 0x0c, 0xc4, 0x60, 0x10, 0x83, 0x01,
-  0x0c, 0xd0, 0x60, 0x83, 0x60, 0x06, 0x69, 0xc0, 0x64, 0xca, 0xea, 0x8b,
-  0x2a, 0x4c, 0xee, 0xac, 0x8c, 0x6e, 0x82, 0x50, 0x50, 0x1b, 0x16, 0x62,
-  0x0d, 0x3e, 0x36, 0x08, 0x03, 0x30, 0x18, 0xc6, 0x80, 0x00, 0x83, 0x32,
-  0xd8, 0x10, 0xb4, 0xc1, 0x86, 0x41, 0x0d, 0xdc, 0x00, 0xd8, 0x50, 0x70,
-  0xdd, 0x1b, 0x64, 0x40, 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, 0x18, 0x75, 0xc8, 0xf0, 0x5c,
-  0xe6, 0xd0, 0xc2, 0xc8, 0xca, 0xe4, 0x9a, 0xde, 0xc8, 0xca, 0xd8, 0xa6,
-  0x04, 0x49, 0x19, 0x32, 0x3c, 0x17, 0xb9, 0xb2, 0xb9, 0xb7, 0x3a, 0xb9,
-  0xb1, 0xb2, 0xb9, 0x29, 0x01, 0x56, 0x87, 0x0c, 0xcf, 0xc5, 0x2e, 0xad,
-  0xec, 0x2e, 0x89, 0x6c, 0x8a, 0x2e, 0x8c, 0xae, 0x6c, 0x4a, 0xa0, 0xd5,
-  0x21, 0xc3, 0x73, 0x29, 0x73, 0xa3, 0x93, 0xcb, 0x83, 0x7a, 0x4b, 0x73,
-  0xa3, 0x9b, 0x9b, 0x12, 0xbc, 0x01, 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,
-  0x1f, 0x00, 0x00, 0x00, 0x46, 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, 0x48, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f,
-  0x44, 0x04, 0x30, 0x11, 0x21, 0xd0, 0x0c, 0x0b, 0x61, 0x01, 0xd3, 0x70,
-  0xf9, 0xce, 0xe3, 0x2f, 0x0e, 0x30, 0x88, 0xcd, 0x43, 0x4d, 0x7e, 0x71,
-  0xdb, 0x56, 0x40, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x04, 0x30, 0xcf, 0x42,
-  0x80, 0x11, 0x30, 0xf8, 0xc5, 0x6d, 0x9b, 0x40, 0x35, 0x5c, 0xbe, 0xf3,
-  0xf8, 0xd2, 0xe4, 0x44, 0x04, 0x4a, 0x4d, 0x0f, 0x35, 0xf9, 0xc5, 0x6d,
-  0xdb, 0xc0, 0x33, 0x5c, 0xbe, 0xf3, 0xf8, 0x54, 0x03, 0x44, 0x98, 0x5f,
-  0xdc, 0xb6, 0x01, 0x10, 0x0c, 0x80, 0x34, 0x00, 0x61, 0x20, 0x00, 0x00,
-  0xa8, 0x00, 0x00, 0x00, 0x13, 0x04, 0x41, 0x2c, 0x10, 0x00, 0x00, 0x00,
-  0x13, 0x00, 0x00, 0x00, 0x64, 0x8d, 0x00, 0x50, 0x51, 0x02, 0x65, 0x40,
-  0x44, 0xf9, 0x95, 0x5d, 0x39, 0x14, 0xcb, 0x0c, 0x40, 0x21, 0x94, 0x42,
-  0xc9, 0x95, 0x69, 0x40, 0xa1, 0x06, 0x94, 0x51, 0x21, 0x95, 0x0d, 0x0d,
-  0x63, 0x04, 0x20, 0x08, 0x82, 0x24, 0x18, 0x8c, 0x11, 0x80, 0x20, 0x08,
-  0x82, 0x60, 0x30, 0x46, 0x00, 0x82, 0x20, 0x88, 0xff, 0xc2, 0x18, 0x01,
-  0x08, 0x82, 0x20, 0xfe, 0x8d, 0x11, 0xb0, 0x6d, 0xfc, 0xca, 0xdb, 0x18,
-  0x01, 0x08, 0x82, 0x20, 0xfc, 0xcd, 0x00, 0x00, 0x23, 0x06, 0x09, 0x00,
-  0x82, 0x60, 0x70, 0xa5, 0x41, 0xf3, 0x9d, 0xc1, 0x19, 0x5c, 0x23, 0x06,
-  0x09, 0x00, 0x82, 0x60, 0x70, 0xa9, 0x81, 0x63, 0xa1, 0x01, 0x1a, 0x60,
-  0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x70, 0xad, 0xc1, 0x03, 0x06, 0x69,
-  0x90, 0x06, 0xd9, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x72, 0x20,
-  0xad, 0x81, 0x1a, 0x88, 0xc1, 0x34, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06,
-  0xc6, 0x1c, 0x4c, 0x6c, 0xb0, 0x06, 0x1a, 0x35, 0x62, 0x90, 0x00, 0x20,
-  0x08, 0x06, 0x06, 0x1d, 0x50, 0x6c, 0xc0, 0x06, 0x64, 0x50, 0x8d, 0x18,
-  0x24, 0x00, 0x08, 0x82, 0x81, 0x51, 0x07, 0x55, 0x1b, 0xb4, 0x01, 0x67,
-  0x8d, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x61, 0x07, 0x96, 0x1b, 0xb8,
-  0x41, 0x19, 0x5c, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0xdc, 0xc1,
-  0xf5, 0x06, 0x6f, 0xd0, 0x61, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0xa0,
-  0xd8, 0x41, 0x65, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x81, 0x72, 0x07,
-  0x96, 0x31, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0x0a, 0x1e, 0xc0, 0x81,
-  0x30, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0x4a, 0x1e, 0xc4, 0x81, 0x30,
-  0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0x8a, 0x1e, 0x60, 0xca, 0x88, 0x81,
-  0x01, 0x80, 0x20, 0x18, 0x28, 0x7b, 0x90, 0x29, 0x23, 0x06, 0x06, 0x00,
-  0x82, 0x60, 0xa0, 0xf0, 0x01, 0x1d, 0x08, 0x23, 0x06, 0x06, 0x00, 0x82,
-  0x60, 0xa0, 0xf4, 0x41, 0x1d, 0x08, 0x26, 0x18, 0xf0, 0x31, 0xc1, 0x80,
-  0xcf, 0x88, 0xc1, 0x01, 0x80, 0x20, 0x18, 0x50, 0x7d, 0x60, 0x06, 0x91,
-  0x1e, 0x8c, 0x26, 0x04, 0xc2, 0x68, 0x82, 0x30, 0x98, 0x50, 0xc8, 0xc7,
-  0x84, 0x42, 0x3e, 0x23, 0x06, 0x07, 0x00, 0x82, 0x60, 0xc0, 0x90, 0x82,
-  0x18, 0x08, 0xdb, 0x88, 0xc1, 0x01, 0x80, 0x20, 0x18, 0x30, 0xa5, 0x30,
-  0x06, 0x02, 0x37, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06, 0x8c, 0x29, 0x8c,
-  0x81, 0xe0, 0x8d, 0x18, 0x1c, 0x00, 0x08, 0x82, 0x01, 0x73, 0x0a, 0x64,
-  0x20, 0x7c, 0x86, 0x64, 0xf2, 0x31, 0x24, 0x93, 0x8f, 0x11, 0x60, 0x20,
-  0x1f, 0x23, 0xc2, 0x40, 0x3e, 0x46, 0x08, 0xf1, 0x31, 0x42, 0x88, 0xcf,
-  0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x28, 0xaf, 0xa0, 0x06, 0xc2, 0x88,
-  0x81, 0x01, 0x80, 0x20, 0x18, 0x28, 0xb0, 0xb0, 0x06, 0x82, 0x09, 0x66,
-  0x00, 0x1f, 0x13, 0xce, 0x00, 0x3e, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60,
-  0xa0, 0xcc, 0xc2, 0x1d, 0x18, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0xa0,
-  0xd0, 0x02, 0x1e, 0x18, 0xe6, 0xb4, 0x01, 0x7c, 0x2c, 0x18, 0xe0, 0x63,
-  0xcf, 0x1b, 0xc0, 0xc7, 0x02, 0x02, 0x3e, 0x36, 0x48, 0xf4, 0x31, 0x41,
-  0xa2, 0xcf, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x28, 0xbb, 0x00, 0x0a,
-  0xc2, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x28, 0xbc, 0x10, 0x0a, 0x82,
-  0x09, 0x76, 0x20, 0x1f, 0x13, 0xee, 0x40, 0x3e, 0x96, 0x07, 0x42, 0x7c,
-  0x4c, 0x0f, 0x84, 0xf8, 0x98, 0x61, 0xc8, 0xc7, 0x82, 0x41, 0x3e, 0x76,
-  0x1c, 0xf2, 0xb1, 0x80, 0x90, 0x8f, 0x51, 0x03, 0x7c, 0x8c, 0x12, 0xe0,
-  0x33, 0x9a, 0x70, 0x06, 0xc0, 0x68, 0x02, 0x1a, 0x04, 0x46, 0x08, 0xf2,
-  0x31, 0x42, 0x90, 0xcf, 0x88, 0x41, 0x05, 0x80, 0x20, 0x18, 0x44, 0xe9,
-  0x20, 0x0b, 0x7e, 0xd0, 0x07, 0x42, 0xf0, 0x07, 0x7f, 0x50, 0x0e, 0xe5,
-  0xe0, 0x0a, 0x75, 0x40, 0x07, 0x7f, 0x10, 0x07, 0x70, 0xf0, 0x07, 0x7f,
-  0x30, 0x9a, 0x10, 0x00, 0xa3, 0x09, 0x42, 0x30, 0x9a, 0x30, 0x08, 0x36,
-  0xf4, 0x81, 0x7c, 0x6c, 0xe8, 0x03, 0xf9, 0xd8, 0xd0, 0x07, 0xf2, 0x19,
-  0x31, 0x48, 0x00, 0x10, 0x04, 0x03, 0x64, 0x1e, 0x66, 0x81, 0x1d, 0xd8,
-  0x81, 0x1c, 0x86, 0x11, 0x83, 0x04, 0x00, 0x41, 0x30, 0x40, 0xe6, 0x61,
-  0x16, 0xd8, 0x81, 0x1d, 0x76, 0x41, 0x18, 0x31, 0x48, 0x00, 0x10, 0x04,
-  0x03, 0x64, 0x1e, 0x66, 0x81, 0x1d, 0xd8, 0x61, 0x1c, 0x82, 0x11, 0x83,
-  0x04, 0x00, 0x41, 0x30, 0x40, 0xe6, 0x61, 0x16, 0xd8, 0x81, 0x1d, 0x74,
-  0xa1, 0x0f, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00
-};
-static const unsigned int texture_rgb_pixelart_frag_dxil_len = 4772;

+ 0 - 8
src/render/gpu/shaders/texture_rgb_pixelart.frag.hlsl

@@ -1,8 +0,0 @@
-#include "texture_pixelart.frag.hlsli"
-
-PSOutput main(PSInput input) {
-    PSOutput output;
-    float2 uv = GetPixelArtUV(input);
-    output.o_color = float4(u_texture.SampleGrad(u_sampler, uv, ddx(input.v_uv), ddy(input.v_uv)).rgb, 1.0f) * input.v_color;
-    return output;
-}

+ 0 - 87
src/render/gpu/shaders/texture_rgb_pixelart.frag.msl.h

@@ -1,87 +0,0 @@
-static const unsigned char texture_rgb_pixelart_frag_msl[] = {
-  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,
-  0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70,
-  0x61, 0x63, 0x65, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x3b, 0x0a, 0x0a,
-  0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x5f,
-  0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x0a, 0x7b, 0x0a, 0x20, 0x20,
-  0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x74, 0x65, 0x78,
-  0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 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, 0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
-  0x20, 0x5b, 0x5b, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x28, 0x30, 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, 0x43, 0x4f, 0x4c, 0x4f, 0x52,
-  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, 0x32, 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, 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, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x26, 0x20, 0x43, 0x6f,
-  0x6e, 0x74, 0x65, 0x78, 0x74, 0x20, 0x5b, 0x5b, 0x62, 0x75, 0x66, 0x66,
-  0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x74, 0x65, 0x78,
-  0x74, 0x75, 0x72, 0x65, 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74,
-  0x3e, 0x20, 0x75, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20,
-  0x5b, 0x5b, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30, 0x29,
-  0x5d, 0x5d, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20,
-  0x75, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x5b, 0x5b,
-  0x73, 0x61, 0x6d, 0x70, 0x6c, 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, 0x32, 0x20, 0x5f, 0x34, 0x31, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x73,
-  0x74, 0x3a, 0x3a, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x28, 0x66, 0x77, 0x69,
-  0x64, 0x74, 0x68, 0x28, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61,
-  0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x29,
-  0x20, 0x2a, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x74,
-  0x65, 0x78, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x2e, 0x7a, 0x77,
-  0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, 0x39, 0x2e, 0x39,
-  0x39, 0x39, 0x39, 0x39, 0x39, 0x37, 0x34, 0x37, 0x33, 0x37, 0x38, 0x37,
-  0x35, 0x31, 0x36, 0x33, 0x35, 0x35, 0x35, 0x31, 0x34, 0x35, 0x32, 0x36,
-  0x33, 0x36, 0x37, 0x31, 0x38, 0x38, 0x65, 0x2d, 0x30, 0x36, 0x29, 0x2c,
-  0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, 0x31, 0x2e, 0x30, 0x29,
-  0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74,
-  0x32, 0x20, 0x5f, 0x34, 0x34, 0x20, 0x3d, 0x20, 0x28, 0x69, 0x6e, 0x2e,
-  0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f,
-  0x4f, 0x52, 0x44, 0x30, 0x20, 0x2a, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x65,
-  0x78, 0x74, 0x2e, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a,
-  0x65, 0x2e, 0x7a, 0x77, 0x29, 0x20, 0x2d, 0x20, 0x28, 0x5f, 0x34, 0x31,
-  0x20, 0x2a, 0x20, 0x30, 0x2e, 0x35, 0x29, 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, 0x20, 0x3d,
-  0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x28, 0x75, 0x5f, 0x74, 0x65,
-  0x78, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65,
-  0x28, 0x75, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20,
-  0x28, 0x28, 0x28, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x28, 0x5f, 0x34, 0x34,
-  0x29, 0x20, 0x2b, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, 0x30,
-  0x2e, 0x35, 0x29, 0x29, 0x20, 0x2b, 0x20, 0x73, 0x6d, 0x6f, 0x6f, 0x74,
-  0x68, 0x73, 0x74, 0x65, 0x70, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32,
-  0x28, 0x31, 0x2e, 0x30, 0x29, 0x20, 0x2d, 0x20, 0x5f, 0x34, 0x31, 0x2c,
-  0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, 0x31, 0x2e, 0x30, 0x29,
-  0x2c, 0x20, 0x66, 0x72, 0x61, 0x63, 0x74, 0x28, 0x5f, 0x34, 0x34, 0x29,
-  0x29, 0x29, 0x20, 0x2a, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
-  0x2e, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x2e,
-  0x78, 0x79, 0x29, 0x2c, 0x20, 0x67, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e,
-  0x74, 0x32, 0x64, 0x28, 0x64, 0x66, 0x64, 0x78, 0x28, 0x69, 0x6e, 0x2e,
-  0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f,
-  0x4f, 0x52, 0x44, 0x30, 0x29, 0x2c, 0x20, 0x64, 0x66, 0x64, 0x79, 0x28,
-  0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45,
-  0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x29, 0x29, 0x29, 0x2e, 0x78,
-  0x79, 0x7a, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x20, 0x2a, 0x20, 0x69,
-  0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x43, 0x4f, 0x4c,
-  0x4f, 0x52, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74,
-  0x75, 0x72, 0x6e, 0x20, 0x6f, 0x75, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a
-};
-static const unsigned int texture_rgb_pixelart_frag_msl_len = 1008;

+ 0 - 148
src/render/gpu/shaders/texture_rgb_pixelart.frag.spv.h

@@ -1,148 +0,0 @@
-static const unsigned char texture_rgb_pixelart_frag_spv[] = {
-  0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0e, 0x00,
-  0x40, 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, 0x08, 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,
-  0x10, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x03, 0x00, 0x05, 0x00, 0x00, 0x00, 0x58, 0x02, 0x00, 0x00,
-  0x05, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00, 0x74, 0x79, 0x70, 0x65,
-  0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x00, 0x00, 0x00, 0x00,
-  0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x00, 0x00,
-  0x05, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x43, 0x6f, 0x6e, 0x74,
-  0x65, 0x78, 0x74, 0x00, 0x05, 0x00, 0x06, 0x00, 0x08, 0x00, 0x00, 0x00,
-  0x74, 0x79, 0x70, 0x65, 0x2e, 0x32, 0x64, 0x2e, 0x69, 0x6d, 0x61, 0x67,
-  0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00,
-  0x75, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x00, 0x00, 0x00,
-  0x05, 0x00, 0x06, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x74, 0x79, 0x70, 0x65,
-  0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00,
-  0x05, 0x00, 0x05, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x73, 0x61,
-  0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x2e, 0x76, 0x61, 0x72, 0x2e, 0x43,
-  0x4f, 0x4c, 0x4f, 0x52, 0x30, 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, 0x30, 0x00, 0x00, 0x00, 0x00,
-  0x05, 0x00, 0x07, 0x00, 0x05, 0x00, 0x00, 0x00, 0x6f, 0x75, 0x74, 0x2e,
-  0x76, 0x61, 0x72, 0x2e, 0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65,
-  0x74, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00,
-  0x0c, 0x00, 0x00, 0x00, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x73, 0x61, 0x6d,
-  0x70, 0x6c, 0x65, 0x64, 0x2e, 0x69, 0x6d, 0x61, 0x67, 0x65, 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,
-  0x05, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x47, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00,
-  0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00,
-  0x09, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x47, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00,
-  0x22, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00,
-  0x0b, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x48, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00,
-  0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00,
-  0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x16, 0x00, 0x03, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
-  0x2b, 0x00, 0x04, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x80, 0x3f, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00,
-  0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00,
-  0x0e, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0xac, 0xc5, 0x27, 0x37,
-  0x17, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x05, 0x00, 0x12, 0x00, 0x00, 0x00,
-  0x13, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
-  0x2c, 0x00, 0x05, 0x00, 0x12, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
-  0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00,
-  0x0e, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f,
-  0x2c, 0x00, 0x05, 0x00, 0x12, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00,
-  0x15, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00,
-  0x17, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
-  0x1e, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00,
-  0x20, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x06, 0x00, 0x00, 0x00, 0x19, 0x00, 0x09, 0x00, 0x08, 0x00, 0x00, 0x00,
-  0x0e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x19, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x02, 0x00,
-  0x0a, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x1a, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00,
-  0x1b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00,
-  0x20, 0x00, 0x04, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x12, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00,
-  0x1e, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x1f, 0x00, 0x00, 0x00,
-  0x1e, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x03, 0x00, 0x0c, 0x00, 0x00, 0x00,
-  0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00,
-  0x18, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x3b, 0x00, 0x04, 0x00, 0x19, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x1a, 0x00, 0x00, 0x00,
-  0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00,
-  0x1b, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x3b, 0x00, 0x04, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00,
-  0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00,
-  0x1e, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x1f, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x21, 0x00, 0x00, 0x00,
-  0x3d, 0x00, 0x04, 0x00, 0x17, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00,
-  0x23, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xd1, 0x00, 0x04, 0x00,
-  0x12, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00,
-  0x41, 0x00, 0x05, 0x00, 0x20, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00,
-  0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
-  0x17, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00,
-  0x4f, 0x00, 0x07, 0x00, 0x12, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00,
-  0x26, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x12, 0x00, 0x00, 0x00,
-  0x28, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00,
-  0x0c, 0x00, 0x08, 0x00, 0x12, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
-  0x13, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00,
-  0x12, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00,
-  0x27, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x05, 0x00, 0x12, 0x00, 0x00, 0x00,
-  0x2b, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00,
-  0x83, 0x00, 0x05, 0x00, 0x12, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00,
-  0x2a, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00,
-  0x12, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
-  0x29, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x12, 0x00, 0x00, 0x00,
-  0x2e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
-  0x2c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x08, 0x00, 0x12, 0x00, 0x00, 0x00,
-  0x2f, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00,
-  0x2d, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00,
-  0x0c, 0x00, 0x06, 0x00, 0x12, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00,
-  0x81, 0x00, 0x05, 0x00, 0x12, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00,
-  0x30, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00,
-  0x12, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00,
-  0x2f, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x07, 0x00, 0x12, 0x00, 0x00, 0x00,
-  0x33, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00,
-  0x12, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00,
-  0x33, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00,
-  0x35, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
-  0x0a, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00,
-  0xcf, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00,
-  0x23, 0x00, 0x00, 0x00, 0xd0, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00,
-  0x38, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x56, 0x00, 0x05, 0x00,
-  0x0c, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00,
-  0x36, 0x00, 0x00, 0x00, 0x58, 0x00, 0x08, 0x00, 0x17, 0x00, 0x00, 0x00,
-  0x3a, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
-  0x04, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00,
-  0x51, 0x00, 0x05, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00,
-  0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00,
-  0x0e, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0e, 0x00, 0x00, 0x00,
-  0x3d, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x50, 0x00, 0x07, 0x00, 0x17, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00,
-  0x3b, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00,
-  0x0f, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x17, 0x00, 0x00, 0x00,
-  0x3f, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00,
-  0x3e, 0x00, 0x03, 0x00, 0x05, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00,
-  0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00
-};
-static const unsigned int texture_rgb_pixelart_frag_spv_len = 1736;

+ 253 - 224
src/render/gpu/shaders/texture_rgba.frag.dxil.h

@@ -1,9 +1,9 @@
 static const unsigned char texture_rgba_frag_dxil[] = {
-  0x44, 0x58, 0x42, 0x43, 0x62, 0x3b, 0x7d, 0x43, 0xba, 0x04, 0xbd, 0x2f,
-  0x58, 0xb0, 0x44, 0xf9, 0x75, 0xb5, 0x45, 0xe3, 0x01, 0x00, 0x00, 0x00,
-  0x0c, 0x0f, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00,
+  0x44, 0x58, 0x42, 0x43, 0x2b, 0x94, 0x5f, 0xcd, 0x98, 0x2a, 0x37, 0x41,
+  0x73, 0x69, 0x67, 0xea, 0xbf, 0xa7, 0x06, 0xfb, 0x01, 0x00, 0x00, 0x00,
+  0x64, 0x10, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00,
   0x4c, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x00, 0x00,
-  0xd8, 0x01, 0x00, 0x00, 0x34, 0x08, 0x00, 0x00, 0x50, 0x08, 0x00, 0x00,
+  0xf0, 0x01, 0x00, 0x00, 0xf0, 0x08, 0x00, 0x00, 0x0c, 0x09, 0x00, 0x00,
   0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x31, 0x54, 0x00, 0x00, 0x00,
   0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -18,12 +18,14 @@ static const unsigned char texture_rgba_frag_dxil[] = {
   0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x00, 0x00,
-  0x50, 0x53, 0x56, 0x30, 0xec, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
+  0x50, 0x53, 0x56, 0x30, 0x04, 0x01, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
   0x00, 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, 0x02, 0x01, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
+  0x13, 0x00, 0x00, 0x00, 0x03, 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,
   0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -38,10 +40,10 @@ static const unsigned char texture_rgba_frag_dxil[] = {
   0x01, 0x00, 0x44, 0x10, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
   0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
   0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x53, 0x54, 0x41, 0x54, 0x54, 0x06, 0x00, 0x00,
-  0x60, 0x00, 0x00, 0x00, 0x95, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c,
-  0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x3c, 0x06, 0x00, 0x00,
-  0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0x8c, 0x01, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x53, 0x54, 0x41, 0x54, 0xf8, 0x06, 0x00, 0x00,
+  0x60, 0x00, 0x00, 0x00, 0xbe, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c,
+  0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xe0, 0x06, 0x00, 0x00,
+  0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0xb5, 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,
@@ -54,168 +56,185 @@ static const unsigned char texture_rgba_frag_dxil[] = {
   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, 0x43, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x89, 0x20, 0x00, 0x00, 0x4d, 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,
+  0x0b, 0x84, 0xa4, 0x4c, 0x10, 0x7c, 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, 0x9b, 0x86, 0xcb, 0x9f,
   0xb0, 0x87, 0x90, 0xfc, 0x95, 0x90, 0x56, 0x62, 0xf2, 0x8b, 0xdb, 0x46,
   0xc5, 0x18, 0x63, 0x10, 0x2a, 0xf7, 0x0c, 0x97, 0x3f, 0x61, 0x0f, 0x21,
   0xf9, 0x21, 0xd0, 0x0c, 0x0b, 0x81, 0x82, 0x55, 0x18, 0x45, 0x18, 0x1b,
-  0x63, 0x0c, 0x42, 0xc8, 0xa0, 0x36, 0x47, 0x10, 0x14, 0x83, 0x91, 0x42,
-  0xc8, 0x23, 0x38, 0x10, 0x30, 0x8c, 0x40, 0x0c, 0x33, 0xb5, 0xc1, 0x38,
-  0xb0, 0x43, 0x38, 0xcc, 0xc3, 0x3c, 0xb8, 0x01, 0x2d, 0x94, 0x03, 0x3e,
-  0xd0, 0x43, 0x3d, 0xc8, 0x43, 0x39, 0xc8, 0x01, 0x29, 0xf0, 0x81, 0x3d,
-  0x94, 0xc3, 0x38, 0xd0, 0xc3, 0x3b, 0xc8, 0x03, 0x1f, 0x98, 0x03, 0x3b,
-  0xbc, 0x43, 0x38, 0xd0, 0x03, 0x1b, 0x80, 0x01, 0x1d, 0xf8, 0x01, 0x18,
-  0xf8, 0x81, 0x1e, 0xe8, 0x41, 0x3b, 0xa4, 0x03, 0x3c, 0xcc, 0xc3, 0x2f,
-  0xd0, 0x43, 0x3e, 0xc0, 0x43, 0x39, 0xa0, 0x80, 0xcc, 0x24, 0x06, 0xe3,
-  0xc0, 0x0e, 0xe1, 0x30, 0x0f, 0xf3, 0xe0, 0x06, 0xb4, 0x50, 0x0e, 0xf8,
-  0x40, 0x0f, 0xf5, 0x20, 0x0f, 0xe5, 0x20, 0x07, 0xa4, 0xc0, 0x07, 0xf6,
-  0x50, 0x0e, 0xe3, 0x40, 0x0f, 0xef, 0x20, 0x0f, 0x7c, 0x60, 0x0e, 0xec,
-  0xf0, 0x0e, 0xe1, 0x40, 0x0f, 0x6c, 0x00, 0x06, 0x74, 0xe0, 0x07, 0x60,
-  0xe0, 0x07, 0x48, 0x98, 0x94, 0xea, 0x4d, 0xd2, 0x14, 0x51, 0xc2, 0xe4,
-  0xb3, 0x00, 0xf3, 0x2c, 0x44, 0xc4, 0x4e, 0xc0, 0x44, 0xa0, 0x80, 0xd0,
-  0x4d, 0x04, 0x02, 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, 0x81, 0x80, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x20, 0x0b, 0x04, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00,
-  0x32, 0x1e, 0x98, 0x14, 0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47,
-  0xc6, 0x04, 0x43, 0x22, 0x25, 0x30, 0x02, 0x50, 0x0c, 0x45, 0x50, 0x12,
-  0x65, 0x50, 0x1e, 0x85, 0x50, 0x2c, 0x54, 0x4a, 0x62, 0x04, 0xa0, 0x08,
-  0x0a, 0xa1, 0x40, 0xc8, 0xce, 0x00, 0x10, 0x9e, 0x01, 0xa0, 0x3c, 0x16,
-  0x62, 0x10, 0x81, 0x40, 0x20, 0xcf, 0x03, 0x00, 0x79, 0x18, 0x00, 0x00,
-  0x7a, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44,
+  0x63, 0x0c, 0x42, 0xc8, 0xa0, 0x76, 0xd4, 0x70, 0xf9, 0x13, 0xf6, 0x10,
+  0x92, 0xcf, 0x6d, 0x54, 0xb1, 0x12, 0x93, 0x5f, 0xdc, 0x36, 0x22, 0xc6,
+  0x18, 0xa3, 0x10, 0x8f, 0x30, 0x42, 0x70, 0x8e, 0x20, 0x28, 0x06, 0x23,
+  0x85, 0x10, 0x49, 0x73, 0x20, 0x60, 0x18, 0x81, 0x18, 0x66, 0x6a, 0x83,
+  0x71, 0x60, 0x87, 0x70, 0x98, 0x87, 0x79, 0x70, 0x03, 0x5a, 0x28, 0x07,
+  0x7c, 0xa0, 0x87, 0x7a, 0x90, 0x87, 0x72, 0x90, 0x03, 0x52, 0xe0, 0x03,
+  0x7b, 0x28, 0x87, 0x71, 0xa0, 0x87, 0x77, 0x90, 0x07, 0x3e, 0x30, 0x07,
+  0x76, 0x78, 0x87, 0x70, 0xa0, 0x07, 0x36, 0x00, 0x03, 0x3a, 0xf0, 0x03,
+  0x30, 0xf0, 0x03, 0x3d, 0xd0, 0x83, 0x76, 0x48, 0x07, 0x78, 0x98, 0x87,
+  0x5f, 0xa0, 0x87, 0x7c, 0x80, 0x87, 0x72, 0x40, 0x01, 0x99, 0x49, 0x0c,
+  0xc6, 0x81, 0x1d, 0xc2, 0x61, 0x1e, 0xe6, 0xc1, 0x0d, 0x68, 0xa1, 0x1c,
+  0xf0, 0x81, 0x1e, 0xea, 0x41, 0x1e, 0xca, 0x41, 0x0e, 0x48, 0x81, 0x0f,
+  0xec, 0xa1, 0x1c, 0xc6, 0x81, 0x1e, 0xde, 0x41, 0x1e, 0xf8, 0xc0, 0x1c,
+  0xd8, 0xe1, 0x1d, 0xc2, 0x81, 0x1e, 0xd8, 0x00, 0x0c, 0xe8, 0xc0, 0x0f,
+  0xc0, 0xc0, 0x0f, 0x90, 0x60, 0x2f, 0xe1, 0x73, 0x26, 0xec, 0x21, 0x7e,
+  0xce, 0x69, 0xa4, 0x09, 0x68, 0x26, 0x09, 0x05, 0x83, 0xf4, 0x4d, 0xd2,
+  0x14, 0x51, 0xc2, 0xe4, 0xb3, 0x00, 0xf3, 0x2c, 0x44, 0xc4, 0x4e, 0xc0,
+  0x44, 0xa0, 0x80, 0x10, 0x4f, 0x04, 0x02, 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, 0x81, 0x80, 0x00, 0x18,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xc8, 0x33, 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,
+  0x0c, 0x45, 0x50, 0x12, 0x65, 0x50, 0x08, 0xe5, 0x50, 0x1e, 0x85, 0x43,
+  0xa5, 0x24, 0x46, 0x00, 0x8a, 0xa0, 0x10, 0x0a, 0x84, 0xf2, 0x0c, 0x00,
+  0xe9, 0x19, 0x00, 0xda, 0x33, 0x00, 0xd4, 0x67, 0x00, 0xc8, 0x8f, 0x85,
+  0x18, 0x44, 0x20, 0x10, 0xc8, 0xf3, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00,
+  0x8e, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44,
   0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24, 0xc6, 0x05, 0xc7, 0x45,
   0xa6, 0x06, 0xa6, 0xc6, 0x45, 0x06, 0x07, 0x04, 0x25, 0xa7, 0xcc, 0x4c,
-  0x4c, 0xcc, 0x66, 0x6c, 0x46, 0x26, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x88,
-  0x62, 0x82, 0x40, 0x18, 0x1b, 0x84, 0x81, 0xd8, 0x20, 0x10, 0x04, 0x05,
-  0xb8, 0xb9, 0x09, 0x02, 0x71, 0x6c, 0x18, 0x0e, 0x84, 0x98, 0x20, 0x58,
-  0x13, 0x93, 0xba, 0x2f, 0xba, 0x32, 0x3c, 0xba, 0x3a, 0xb9, 0xb2, 0x09,
-  0x02, 0x81, 0x4c, 0x10, 0x88, 0x64, 0x83, 0x40, 0x34, 0x1b, 0x12, 0x42,
-  0x59, 0x18, 0x62, 0x60, 0x08, 0x67, 0x43, 0xf0, 0x4c, 0x10, 0x30, 0x8a,
-  0x49, 0xdd, 0xd7, 0x5c, 0x58, 0x1b, 0x1c, 0x5b, 0x99, 0xdc, 0x06, 0x84,
-  0x88, 0x24, 0x86, 0x18, 0x08, 0x60, 0x43, 0x30, 0x6d, 0x20, 0x20, 0x00,
-  0xa0, 0x26, 0x08, 0x02, 0xb0, 0x01, 0xd8, 0x30, 0x10, 0xd7, 0xb5, 0x21,
-  0xc0, 0x36, 0x0c, 0x83, 0x95, 0x4d, 0x10, 0xb2, 0x6a, 0x43, 0xb0, 0x91,
-  0x68, 0x0b, 0x4b, 0x73, 0x23, 0x42, 0x55, 0x84, 0x35, 0xf4, 0xf4, 0x24,
-  0x45, 0x34, 0x41, 0x28, 0x9c, 0x09, 0x42, 0xf1, 0x6c, 0x08, 0x88, 0x09,
-  0x42, 0x01, 0x4d, 0x10, 0x8a, 0x68, 0x82, 0x40, 0x28, 0x13, 0x04, 0x62,
-  0xd9, 0x20, 0x90, 0x41, 0x19, 0x6c, 0x58, 0x08, 0xef, 0x03, 0x83, 0x30,
-  0x10, 0x83, 0x61, 0x0c, 0x08, 0x30, 0x30, 0x83, 0x0d, 0xc1, 0xb0, 0x41,
-  0x20, 0x03, 0x32, 0xd8, 0xb0, 0x0c, 0xde, 0x07, 0x06, 0x68, 0x20, 0x06,
-  0x83, 0x18, 0x0c, 0x60, 0x90, 0x06, 0x1b, 0x84, 0x33, 0x50, 0x03, 0x26,
-  0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x13, 0x84, 0x42,
-  0xda, 0xb0, 0x10, 0x6c, 0xf0, 0xb5, 0x41, 0x18, 0x80, 0xc1, 0x30, 0x06,
-  0x04, 0x18, 0x98, 0xc1, 0x86, 0xc0, 0x0d, 0x36, 0x0c, 0x6b, 0xf0, 0x06,
-  0xc0, 0x86, 0xc2, 0xea, 0xe0, 0xa0, 0x02, 0x68, 0x98, 0xb1, 0xbd, 0x85,
-  0xd1, 0xcd, 0x4d, 0x10, 0x08, 0x86, 0x45, 0x9a, 0xdb, 0x1c, 0xdd, 0xdc,
-  0x04, 0x81, 0x68, 0x68, 0xcc, 0xa5, 0x9d, 0x7d, 0xb1, 0x91, 0xd1, 0x98,
-  0x4b, 0x3b, 0xfb, 0x9a, 0xa3, 0x23, 0x42, 0x57, 0x86, 0xf7, 0xe5, 0xf6,
-  0x26, 0xd7, 0xb6, 0x41, 0x91, 0x83, 0x39, 0xa0, 0x83, 0x3a, 0xb0, 0x03,
-  0xe4, 0x0e, 0xe6, 0x00, 0x0f, 0x86, 0x2a, 0x6c, 0x6c, 0x76, 0x6d, 0x2e,
-  0x69, 0x64, 0x65, 0x6e, 0x74, 0x53, 0x82, 0xa0, 0x0a, 0x19, 0x9e, 0x8b,
-  0x5d, 0x99, 0xdc, 0x5c, 0xda, 0x9b, 0xdb, 0x94, 0x80, 0x68, 0x42, 0x86,
-  0xe7, 0x62, 0x17, 0xc6, 0x66, 0x57, 0x26, 0x37, 0x25, 0x28, 0xea, 0x90,
-  0xe1, 0xb9, 0xcc, 0xa1, 0x85, 0x91, 0x95, 0xc9, 0x35, 0xbd, 0x91, 0x95,
-  0xb1, 0x4d, 0x09, 0x90, 0x32, 0x64, 0x78, 0x2e, 0x72, 0x65, 0x73, 0x6f,
-  0x75, 0x72, 0x63, 0x65, 0x73, 0x53, 0x02, 0xaa, 0x12, 0x19, 0x9e, 0x0b,
-  0x5d, 0x1e, 0x5c, 0x59, 0x90, 0x9b, 0xdb, 0x1b, 0x5d, 0x18, 0x5d, 0xda,
-  0x9b, 0xdb, 0xdc, 0x94, 0x20, 0xab, 0x43, 0x86, 0xe7, 0x62, 0x97, 0x56,
-  0x76, 0x97, 0x44, 0x36, 0x45, 0x17, 0x46, 0x57, 0x36, 0x25, 0xd8, 0xea,
-  0x90, 0xe1, 0xb9, 0x94, 0xb9, 0xd1, 0xc9, 0xe5, 0x41, 0xbd, 0xa5, 0xb9,
-  0xd1, 0xcd, 0x4d, 0x09, 0xe0, 0xa0, 0x0b, 0x19, 0x9e, 0xcb, 0xd8, 0x5b,
-  0x9d, 0x1b, 0x5d, 0x99, 0xdc, 0xdc, 0x94, 0x00, 0x0f, 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, 0x12, 0x00, 0x00, 0x00, 0x46, 0x20, 0x0d, 0x97,
-  0xef, 0x3c, 0xbe, 0x10, 0x11, 0xc0, 0x44, 0x84, 0x40, 0x33, 0x2c, 0x84,
-  0x05, 0x4c, 0xc3, 0xe5, 0x3b, 0x8f, 0xbf, 0x38, 0xc0, 0x20, 0x36, 0x0f,
-  0x35, 0xf9, 0xc5, 0x6d, 0xdb, 0x00, 0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x12,
-  0xc0, 0x3c, 0x0b, 0xe1, 0x17, 0xb7, 0x6d, 0x02, 0xd5, 0x70, 0xf9, 0xce,
-  0xe3, 0x4b, 0x93, 0x13, 0x11, 0x28, 0x35, 0x3d, 0xd4, 0xe4, 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,
-  0x48, 0x75, 0xb4, 0xc1, 0x62, 0x05, 0x2f, 0xdc, 0xc4, 0xd5, 0x60, 0x2b,
-  0x9d, 0x56, 0xf2, 0x75, 0x44, 0x58, 0x49, 0x4c, 0xb4, 0x06, 0x00, 0x00,
-  0x60, 0x00, 0x00, 0x00, 0xad, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c,
-  0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x9c, 0x06, 0x00, 0x00,
-  0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0xa4, 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, 0x43, 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, 0x9b, 0x86, 0xcb, 0x9f,
-  0xb0, 0x87, 0x90, 0xfc, 0x95, 0x90, 0x56, 0x62, 0xf2, 0x8b, 0xdb, 0x46,
-  0xc5, 0x18, 0x63, 0x10, 0x2a, 0xf7, 0x0c, 0x97, 0x3f, 0x61, 0x0f, 0x21,
-  0xf9, 0x21, 0xd0, 0x0c, 0x0b, 0x81, 0x82, 0x55, 0x18, 0x45, 0x18, 0x1b,
-  0x63, 0x0c, 0x42, 0xc8, 0xa0, 0x36, 0x47, 0x10, 0x14, 0x83, 0x91, 0x42,
-  0xc8, 0x23, 0x38, 0x10, 0x30, 0x8c, 0x40, 0x0c, 0x33, 0xb5, 0xc1, 0x38,
-  0xb0, 0x43, 0x38, 0xcc, 0xc3, 0x3c, 0xb8, 0x01, 0x2d, 0x94, 0x03, 0x3e,
-  0xd0, 0x43, 0x3d, 0xc8, 0x43, 0x39, 0xc8, 0x01, 0x29, 0xf0, 0x81, 0x3d,
-  0x94, 0xc3, 0x38, 0xd0, 0xc3, 0x3b, 0xc8, 0x03, 0x1f, 0x98, 0x03, 0x3b,
-  0xbc, 0x43, 0x38, 0xd0, 0x03, 0x1b, 0x80, 0x01, 0x1d, 0xf8, 0x01, 0x18,
-  0xf8, 0x81, 0x1e, 0xe8, 0x41, 0x3b, 0xa4, 0x03, 0x3c, 0xcc, 0xc3, 0x2f,
-  0xd0, 0x43, 0x3e, 0xc0, 0x43, 0x39, 0xa0, 0x80, 0xcc, 0x24, 0x06, 0xe3,
-  0xc0, 0x0e, 0xe1, 0x30, 0x0f, 0xf3, 0xe0, 0x06, 0xb4, 0x50, 0x0e, 0xf8,
-  0x40, 0x0f, 0xf5, 0x20, 0x0f, 0xe5, 0x20, 0x07, 0xa4, 0xc0, 0x07, 0xf6,
-  0x50, 0x0e, 0xe3, 0x40, 0x0f, 0xef, 0x20, 0x0f, 0x7c, 0x60, 0x0e, 0xec,
-  0xf0, 0x0e, 0xe1, 0x40, 0x0f, 0x6c, 0x00, 0x06, 0x74, 0xe0, 0x07, 0x60,
-  0xe0, 0x07, 0x48, 0x98, 0x94, 0xea, 0x4d, 0xd2, 0x14, 0x51, 0xc2, 0xe4,
-  0xb3, 0x00, 0xf3, 0x2c, 0x44, 0xc4, 0x4e, 0xc0, 0x44, 0xa0, 0x80, 0xd0,
-  0x4d, 0x04, 0x02, 0x00, 0x13, 0x14, 0x72, 0xc0, 0x87, 0x74, 0x60, 0x87,
+  0x4c, 0xcc, 0x66, 0x6c, 0x46, 0x26, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x08,
+  0x63, 0x82, 0x40, 0x1c, 0x1b, 0x84, 0x81, 0xd8, 0x20, 0x10, 0x04, 0x05,
+  0xb8, 0xb9, 0x09, 0x02, 0x81, 0x6c, 0x18, 0x0e, 0x84, 0x98, 0x20, 0x64,
+  0x15, 0x93, 0xba, 0x2f, 0xba, 0x32, 0x3c, 0xba, 0x3a, 0xb9, 0xb2, 0x09,
+  0x02, 0x91, 0x4c, 0x10, 0x08, 0x65, 0x83, 0x40, 0x34, 0x1b, 0x12, 0x42,
+  0x59, 0x18, 0x62, 0x60, 0x08, 0x67, 0x43, 0xf0, 0x4c, 0x10, 0xb6, 0x8b,
+  0x0e, 0x5d, 0x1e, 0x5c, 0xd9, 0xd7, 0xd0, 0x9b, 0xdb, 0x1c, 0x5d, 0x98,
+  0x1b, 0xdd, 0xdc, 0x04, 0x81, 0x58, 0x26, 0x08, 0x04, 0xb3, 0x01, 0x21,
+  0x22, 0x69, 0x22, 0x06, 0x0a, 0xd8, 0x10, 0x54, 0x13, 0x84, 0x0e, 0x63,
+  0x52, 0xf7, 0x35, 0x17, 0xd6, 0x06, 0xc7, 0x56, 0x26, 0xb7, 0x01, 0x21,
+  0x2e, 0x8c, 0x21, 0x06, 0x02, 0xd8, 0x10, 0x64, 0x1b, 0x08, 0x08, 0xb0,
+  0xb4, 0x09, 0x82, 0x66, 0xb1, 0x1a, 0x7a, 0x73, 0x9b, 0xa3, 0x0b, 0x73,
+  0xa3, 0x9b, 0xfb, 0x1a, 0x7b, 0x63, 0x7b, 0x93, 0xfb, 0x9a, 0x1b, 0x0b,
+  0x63, 0x2b, 0x9b, 0x20, 0x10, 0xcd, 0x06, 0x03, 0xe9, 0x26, 0xc2, 0x6b,
+  0x36, 0x08, 0xd4, 0xb7, 0x61, 0x20, 0x38, 0x30, 0x98, 0x20, 0x08, 0xc0,
+  0x06, 0x60, 0xc3, 0x40, 0x8c, 0xc1, 0x18, 0x6c, 0x08, 0xc8, 0x60, 0xc3,
+  0x30, 0x88, 0x41, 0x19, 0x4c, 0x10, 0xbc, 0x6c, 0x43, 0x70, 0x06, 0x24,
+  0xda, 0xc2, 0xd2, 0xdc, 0x88, 0x50, 0x15, 0x61, 0x0d, 0x3d, 0x3d, 0x49,
+  0x11, 0x4d, 0x10, 0x0a, 0x68, 0x82, 0x50, 0x44, 0x1b, 0x02, 0x62, 0x82,
+  0x50, 0x48, 0x13, 0x84, 0x62, 0x9a, 0x20, 0x10, 0xce, 0x06, 0x61, 0x82,
+  0x83, 0x0d, 0x0b, 0xa1, 0x06, 0x6b, 0xc0, 0x06, 0x6d, 0xe0, 0x06, 0xc3,
+  0x1b, 0x10, 0x6c, 0x10, 0x07, 0x1b, 0x82, 0x61, 0x83, 0x30, 0x4d, 0x1b,
+  0x96, 0x41, 0x0d, 0xd6, 0x80, 0x0d, 0xe6, 0xc0, 0x0d, 0x06, 0x37, 0x18,
+  0xd8, 0x80, 0x0e, 0x36, 0x08, 0x72, 0x50, 0x07, 0x4c, 0xa6, 0xac, 0xbe,
+  0xa8, 0xc2, 0xe4, 0xce, 0xca, 0xe8, 0x26, 0x08, 0x05, 0xb5, 0x61, 0x21,
+  0xee, 0x60, 0x0d, 0xf0, 0xa0, 0x0d, 0xd8, 0x60, 0x78, 0x03, 0x82, 0x0d,
+  0xe2, 0x60, 0x43, 0x90, 0x07, 0x1b, 0x06, 0x3b, 0xd0, 0x03, 0x60, 0x43,
+  0x21, 0x06, 0x69, 0xb0, 0x07, 0x1b, 0x40, 0xc3, 0x8c, 0xed, 0x2d, 0x8c,
+  0x6e, 0x8e, 0x45, 0x9a, 0xdb, 0x1c, 0xdd, 0xdc, 0x04, 0x81, 0x78, 0x68,
+  0xcc, 0xa5, 0x9d, 0x7d, 0xb1, 0x91, 0xd1, 0x98, 0x4b, 0x3b, 0xfb, 0x9a,
+  0xa3, 0x23, 0x42, 0x57, 0x86, 0xf7, 0xe5, 0xf6, 0x26, 0xd7, 0xb6, 0x41,
+  0xe9, 0x03, 0xcf, 0x0f, 0xfe, 0x00, 0x14, 0x90, 0x50, 0xa0, 0x44, 0x61,
+  0xa8, 0xc2, 0xc6, 0x66, 0xd7, 0xe6, 0x92, 0x46, 0x56, 0xe6, 0x46, 0x37,
+  0x25, 0x08, 0xaa, 0x90, 0xe1, 0xb9, 0xd8, 0x95, 0xc9, 0xcd, 0xa5, 0xbd,
+  0xb9, 0x4d, 0x09, 0x88, 0x26, 0x64, 0x78, 0x2e, 0x76, 0x61, 0x6c, 0x76,
+  0x65, 0x72, 0x53, 0x82, 0xa2, 0x0e, 0x19, 0x9e, 0xcb, 0x1c, 0x5a, 0x18,
+  0x59, 0x99, 0x5c, 0xd3, 0x1b, 0x59, 0x19, 0xdb, 0x94, 0x00, 0x29, 0x43,
+  0x86, 0xe7, 0x22, 0x57, 0x36, 0xf7, 0x56, 0x27, 0x37, 0x56, 0x36, 0x37,
+  0x25, 0xd0, 0x2a, 0x91, 0xe1, 0xb9, 0xd0, 0xe5, 0xc1, 0x95, 0x05, 0xb9,
+  0xb9, 0xbd, 0xd1, 0x85, 0xd1, 0xa5, 0xbd, 0xb9, 0xcd, 0x4d, 0x11, 0xc0,
+  0xa0, 0x0c, 0xea, 0x90, 0xe1, 0xb9, 0xd8, 0xa5, 0x95, 0xdd, 0x25, 0x91,
+  0x4d, 0xd1, 0x85, 0xd1, 0x95, 0x4d, 0x09, 0xce, 0xa0, 0x0e, 0x19, 0x9e,
+  0x4b, 0x99, 0x1b, 0x9d, 0x5c, 0x1e, 0xd4, 0x5b, 0x9a, 0x1b, 0xdd, 0xdc,
+  0x94, 0x60, 0x0f, 0xba, 0x90, 0xe1, 0xb9, 0x8c, 0xbd, 0xd5, 0xb9, 0xd1,
+  0x95, 0xc9, 0xcd, 0x4d, 0x09, 0x44, 0x01, 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, 0x46, 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, 0x0d,
+  0x40, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x01, 0xcc, 0xb3, 0x10, 0x7e, 0x71,
+  0xdb, 0x26, 0x50, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x34, 0x39, 0x11, 0x81,
+  0x52, 0xd3, 0x43, 0x4d, 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, 0xc7, 0x1c, 0x0d, 0x85,
+  0xb4, 0x48, 0x99, 0xc0, 0xce, 0x90, 0xaf, 0x39, 0xfa, 0x8e, 0xec, 0xfd,
+  0x44, 0x58, 0x49, 0x4c, 0x50, 0x07, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
+  0xd4, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c, 0x00, 0x01, 0x00, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x38, 0x07, 0x00, 0x00, 0x42, 0x43, 0xc0, 0xde,
+  0x21, 0x0c, 0x00, 0x00, 0xcb, 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, 0x4d, 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, 0x7c, 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, 0x9b, 0x86, 0xcb, 0x9f, 0xb0, 0x87, 0x90, 0xfc,
+  0x95, 0x90, 0x56, 0x62, 0xf2, 0x8b, 0xdb, 0x46, 0xc5, 0x18, 0x63, 0x10,
+  0x2a, 0xf7, 0x0c, 0x97, 0x3f, 0x61, 0x0f, 0x21, 0xf9, 0x21, 0xd0, 0x0c,
+  0x0b, 0x81, 0x82, 0x55, 0x18, 0x45, 0x18, 0x1b, 0x63, 0x0c, 0x42, 0xc8,
+  0xa0, 0x76, 0xd4, 0x70, 0xf9, 0x13, 0xf6, 0x10, 0x92, 0xcf, 0x6d, 0x54,
+  0xb1, 0x12, 0x93, 0x5f, 0xdc, 0x36, 0x22, 0xc6, 0x18, 0xa3, 0x10, 0x8f,
+  0x30, 0x42, 0x70, 0x8e, 0x20, 0x28, 0x06, 0x23, 0x85, 0x10, 0x49, 0x73,
+  0x20, 0x60, 0x18, 0x81, 0x18, 0x66, 0x6a, 0x83, 0x71, 0x60, 0x87, 0x70,
+  0x98, 0x87, 0x79, 0x70, 0x03, 0x5a, 0x28, 0x07, 0x7c, 0xa0, 0x87, 0x7a,
+  0x90, 0x87, 0x72, 0x90, 0x03, 0x52, 0xe0, 0x03, 0x7b, 0x28, 0x87, 0x71,
+  0xa0, 0x87, 0x77, 0x90, 0x07, 0x3e, 0x30, 0x07, 0x76, 0x78, 0x87, 0x70,
+  0xa0, 0x07, 0x36, 0x00, 0x03, 0x3a, 0xf0, 0x03, 0x30, 0xf0, 0x03, 0x3d,
+  0xd0, 0x83, 0x76, 0x48, 0x07, 0x78, 0x98, 0x87, 0x5f, 0xa0, 0x87, 0x7c,
+  0x80, 0x87, 0x72, 0x40, 0x01, 0x99, 0x49, 0x0c, 0xc6, 0x81, 0x1d, 0xc2,
+  0x61, 0x1e, 0xe6, 0xc1, 0x0d, 0x68, 0xa1, 0x1c, 0xf0, 0x81, 0x1e, 0xea,
+  0x41, 0x1e, 0xca, 0x41, 0x0e, 0x48, 0x81, 0x0f, 0xec, 0xa1, 0x1c, 0xc6,
+  0x81, 0x1e, 0xde, 0x41, 0x1e, 0xf8, 0xc0, 0x1c, 0xd8, 0xe1, 0x1d, 0xc2,
+  0x81, 0x1e, 0xd8, 0x00, 0x0c, 0xe8, 0xc0, 0x0f, 0xc0, 0xc0, 0x0f, 0x90,
+  0x60, 0x2f, 0xe1, 0x73, 0x26, 0xec, 0x21, 0x7e, 0xce, 0x69, 0xa4, 0x09,
+  0x68, 0x26, 0x09, 0x05, 0x83, 0xf4, 0x4d, 0xd2, 0x14, 0x51, 0xc2, 0xe4,
+  0xb3, 0x00, 0xf3, 0x2c, 0x44, 0xc4, 0x4e, 0xc0, 0x44, 0xa0, 0x80, 0x10,
+  0x4f, 0x04, 0x02, 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,
@@ -232,41 +251,45 @@ static const unsigned char texture_rgba_frag_dxil[] = {
   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, 0x81, 0x80, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x20, 0x0b, 0x04, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x60, 0xc8, 0x33, 0x01, 0x01, 0x30, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x40, 0x16, 0x08, 0x00, 0x0f, 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, 0x04,
-  0x65, 0x50, 0x1e, 0x54, 0x4a, 0x62, 0x04, 0xa0, 0x08, 0x0a, 0xa1, 0x40,
-  0xc8, 0xce, 0x00, 0x10, 0x9e, 0x01, 0xa0, 0x3c, 0x16, 0x62, 0x10, 0x81,
-  0x40, 0x20, 0xcf, 0x03, 0x79, 0x18, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00,
-  0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44, 0x8f, 0x0c, 0x6f, 0xec,
-  0xed, 0x4d, 0x0c, 0x24, 0xc6, 0x05, 0xc7, 0x45, 0xa6, 0x06, 0xa6, 0xc6,
-  0x45, 0x06, 0x07, 0x04, 0x25, 0xa7, 0xcc, 0x4c, 0x4c, 0xcc, 0x66, 0x6c,
-  0x46, 0x26, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x88, 0x62, 0x82, 0x40, 0x18,
-  0x1b, 0x84, 0x81, 0x98, 0x20, 0x10, 0xc7, 0x06, 0x61, 0x30, 0x28, 0xc0,
-  0xcd, 0x4d, 0x10, 0x08, 0x64, 0xc3, 0x80, 0x24, 0xc4, 0x04, 0xc1, 0x8a,
-  0x08, 0x4c, 0x10, 0x88, 0x64, 0x83, 0x40, 0x18, 0x1b, 0x12, 0x62, 0x61,
-  0x1a, 0x62, 0x68, 0x08, 0x67, 0x43, 0xf0, 0x4c, 0x10, 0x30, 0x69, 0x03,
-  0x42, 0x44, 0x4c, 0x43, 0x0c, 0x04, 0xb0, 0x21, 0x90, 0x36, 0x10, 0x10,
-  0x00, 0x4c, 0x13, 0x84, 0x6c, 0xda, 0x10, 0x54, 0x13, 0x04, 0x01, 0x20,
-  0xd1, 0x16, 0x96, 0xe6, 0x46, 0x84, 0xaa, 0x08, 0x6b, 0xe8, 0xe9, 0x49,
-  0x8a, 0x68, 0x82, 0x50, 0x30, 0x13, 0x84, 0xa2, 0xd9, 0x10, 0x10, 0x13,
-  0x84, 0xc2, 0x99, 0x20, 0x14, 0xcf, 0x04, 0x81, 0x50, 0x26, 0x08, 0xc4,
-  0xb2, 0x41, 0xf8, 0xc0, 0x60, 0xc3, 0x42, 0x64, 0xda, 0xc6, 0x75, 0x83,
-  0x47, 0x6c, 0x61, 0xb0, 0x21, 0x18, 0x36, 0x08, 0xdf, 0xb7, 0x61, 0x19,
-  0x32, 0x6d, 0x1b, 0x83, 0x6e, 0xe8, 0x86, 0x8d, 0x0c, 0x36, 0x08, 0x62,
-  0x50, 0x06, 0x4c, 0xa6, 0xac, 0xbe, 0xa8, 0xc2, 0xe4, 0xce, 0xca, 0xe8,
-  0x26, 0x08, 0x05, 0xb4, 0x61, 0x21, 0xce, 0x40, 0x43, 0x03, 0x6e, 0x1b,
-  0x3c, 0x62, 0x0b, 0x83, 0x0d, 0x41, 0x1a, 0x6c, 0x18, 0xcc, 0x40, 0x0d,
-  0x80, 0x0d, 0xc5, 0x85, 0xad, 0x01, 0x05, 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, 0x4c, 0x75, 0xc8, 0xf0,
-  0x5c, 0xec, 0xd2, 0xca, 0xee, 0x92, 0xc8, 0xa6, 0xe8, 0xc2, 0xe8, 0xca,
-  0xa6, 0x04, 0x55, 0x1d, 0x32, 0x3c, 0x97, 0x32, 0x37, 0x3a, 0xb9, 0x3c,
-  0xa8, 0xb7, 0x34, 0x37, 0xba, 0xb9, 0x29, 0xc1, 0x1a, 0x00, 0x00, 0x00,
+  0x65, 0x50, 0x08, 0xe5, 0x41, 0xa5, 0x24, 0x46, 0x00, 0x8a, 0xa0, 0x10,
+  0x0a, 0x84, 0xf2, 0x0c, 0x00, 0xed, 0x19, 0x00, 0xea, 0x33, 0x00, 0xe4,
+  0xc7, 0x42, 0x0c, 0x22, 0x10, 0x08, 0xe4, 0x79, 0x00, 0x00, 0x00, 0x00,
+  0x79, 0x18, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90,
+  0x46, 0x02, 0x13, 0x44, 0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24,
+  0xc6, 0x05, 0xc7, 0x45, 0xa6, 0x06, 0xa6, 0xc6, 0x45, 0x06, 0x07, 0x04,
+  0x25, 0xa7, 0xcc, 0x4c, 0x4c, 0xcc, 0x66, 0x6c, 0x46, 0x26, 0x65, 0x43,
+  0x10, 0x4c, 0x10, 0x08, 0x63, 0x82, 0x40, 0x1c, 0x1b, 0x84, 0x81, 0x98,
+  0x20, 0x10, 0xc8, 0x06, 0x61, 0x30, 0x28, 0xc0, 0xcd, 0x4d, 0x10, 0x88,
+  0x64, 0xc3, 0x80, 0x24, 0xc4, 0x04, 0x21, 0x9b, 0x08, 0x4c, 0x10, 0x08,
+  0x65, 0x83, 0x40, 0x18, 0x1b, 0x12, 0x62, 0x61, 0x1a, 0x62, 0x68, 0x08,
+  0x67, 0x43, 0xf0, 0x4c, 0x10, 0x36, 0x6a, 0x82, 0x40, 0x2c, 0x13, 0x04,
+  0x82, 0xd9, 0x80, 0x10, 0x11, 0x23, 0x11, 0xc3, 0x04, 0x6c, 0x08, 0xa8,
+  0x09, 0x42, 0x57, 0x6d, 0x40, 0x08, 0x8b, 0x69, 0x88, 0x81, 0x00, 0x36,
+  0x04, 0xd7, 0x06, 0x02, 0x02, 0x2a, 0x6c, 0x82, 0xe0, 0x59, 0x1b, 0x02,
+  0x6d, 0x82, 0x20, 0x00, 0x24, 0xda, 0xc2, 0xd2, 0xdc, 0x88, 0x50, 0x15,
+  0x61, 0x0d, 0x3d, 0x3d, 0x49, 0x11, 0x4d, 0x10, 0x0a, 0x67, 0x82, 0x50,
+  0x3c, 0x1b, 0x02, 0x62, 0x82, 0x50, 0x40, 0x13, 0x84, 0x22, 0x9a, 0x20,
+  0x10, 0xcd, 0x06, 0x41, 0x22, 0x83, 0x0d, 0x0b, 0xe1, 0x7d, 0x60, 0x10,
+  0x06, 0x62, 0x30, 0x8c, 0x01, 0x01, 0x06, 0x65, 0xb0, 0x21, 0x18, 0x36,
+  0x08, 0x92, 0xb4, 0x61, 0x19, 0xbc, 0x0f, 0x0c, 0xce, 0x40, 0x0c, 0x06,
+  0x31, 0x18, 0xc0, 0x00, 0x0d, 0x36, 0x08, 0x66, 0x90, 0x06, 0x4c, 0xa6,
+  0xac, 0xbe, 0xa8, 0xc2, 0xe4, 0xce, 0xca, 0xe8, 0x26, 0x08, 0x85, 0xb4,
+  0x61, 0x21, 0xd6, 0xe0, 0x63, 0x83, 0x30, 0x00, 0x83, 0x61, 0x0c, 0x08,
+  0x30, 0x28, 0x83, 0x0d, 0x41, 0x1b, 0x6c, 0x18, 0xd4, 0xc0, 0x0d, 0x80,
+  0x0d, 0x05, 0xd7, 0xbd, 0x41, 0x06, 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, 0x60, 0x75, 0xc8, 0xf0, 0x5c,
+  0xec, 0xd2, 0xca, 0xee, 0x92, 0xc8, 0xa6, 0xe8, 0xc2, 0xe8, 0xca, 0xa6,
+  0x04, 0x5a, 0x1d, 0x32, 0x3c, 0x97, 0x32, 0x37, 0x3a, 0xb9, 0x3c, 0xa8,
+  0xb7, 0x34, 0x37, 0xba, 0xb9, 0x29, 0xc1, 0x1b, 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,
@@ -293,32 +316,38 @@ static const unsigned char texture_rgba_frag_dxil[] = {
   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, 0x12, 0x00, 0x00, 0x00, 0x46, 0x20, 0x0d, 0x97,
-  0xef, 0x3c, 0xbe, 0x10, 0x11, 0xc0, 0x44, 0x84, 0x40, 0x33, 0x2c, 0x84,
-  0x05, 0x4c, 0xc3, 0xe5, 0x3b, 0x8f, 0xbf, 0x38, 0xc0, 0x20, 0x36, 0x0f,
-  0x35, 0xf9, 0xc5, 0x6d, 0xdb, 0x00, 0x34, 0x5c, 0xbe, 0xf3, 0xf8, 0x12,
-  0xc0, 0x3c, 0x0b, 0xe1, 0x17, 0xb7, 0x6d, 0x02, 0xd5, 0x70, 0xf9, 0xce,
-  0xe3, 0x4b, 0x93, 0x13, 0x11, 0x28, 0x35, 0x3d, 0xd4, 0xe4, 0x17, 0xb7,
-  0x6d, 0x00, 0x04, 0x03, 0x20, 0x0d, 0x00, 0x00, 0x61, 0x20, 0x00, 0x00,
-  0x3a, 0x00, 0x00, 0x00, 0x13, 0x04, 0x41, 0x2c, 0x10, 0x00, 0x00, 0x00,
-  0x05, 0x00, 0x00, 0x00, 0xf4, 0x46, 0x00, 0x88, 0xcc, 0x00, 0x14, 0x42,
-  0x29, 0x94, 0x5c, 0xe1, 0x51, 0x29, 0x83, 0x12, 0xa0, 0x31, 0x03, 0x00,
-  0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x00, 0x65, 0x05, 0x74, 0x5d, 0xc9,
-  0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x40, 0x9a, 0x41, 0x60, 0x98, 0x32,
-  0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x86, 0x97, 0x68, 0x99, 0xa4, 0x8c,
-  0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0xf1, 0x29, 0x9b, 0x56, 0x2c, 0x23,
-  0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0x80, 0xc1, 0xb2, 0x6d, 0x14, 0x33,
-  0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x46, 0x18, 0x30, 0x1c, 0x77, 0x34,
-  0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0x88, 0x41, 0xd3, 0x75, 0x95,
-  0x33, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0xc6, 0x18, 0x38, 0x9e, 0xa7,
-  0x3c, 0x23, 0x06, 0x0f, 0x00, 0x82, 0x60, 0xd0, 0x88, 0x01, 0x83, 0x1c,
-  0x46, 0x91, 0x24, 0xdf, 0x07, 0x25, 0xa3, 0x09, 0x01, 0x30, 0x9a, 0x20,
-  0x04, 0xa3, 0x09, 0x83, 0x30, 0x9a, 0x40, 0x0c, 0x46, 0x24, 0xf2, 0x31,
-  0x22, 0x91, 0x8f, 0x11, 0x89, 0x7c, 0x8c, 0x48, 0xe4, 0x33, 0x62, 0x90,
-  0x00, 0x20, 0x08, 0x06, 0x08, 0x1b, 0x5c, 0x68, 0x80, 0x06, 0x61, 0x40,
-  0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x01, 0xc2, 0x06, 0x17, 0x1a, 0xa0,
-  0xc1, 0x34, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x01, 0xc2, 0x06, 0x17,
-  0x1a, 0xa0, 0x01, 0x18, 0x08, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x80,
-  0xb0, 0xc1, 0x85, 0x06, 0x68, 0x40, 0x05, 0x08, 0x00, 0x00, 0x00, 0x00
+  0x71, 0x20, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x46, 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, 0x0d, 0x40, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f, 0x01, 0xcc,
+  0xb3, 0x10, 0x7e, 0x71, 0xdb, 0x26, 0x50, 0x0d, 0x97, 0xef, 0x3c, 0xbe,
+  0x34, 0x39, 0x11, 0x81, 0x52, 0xd3, 0x43, 0x4d, 0x7e, 0x71, 0xdb, 0x06,
+  0x40, 0x30, 0x00, 0xd2, 0x00, 0x00, 0x00, 0x00, 0x61, 0x20, 0x00, 0x00,
+  0x45, 0x00, 0x00, 0x00, 0x13, 0x04, 0x41, 0x2c, 0x10, 0x00, 0x00, 0x00,
+  0x05, 0x00, 0x00, 0x00, 0x24, 0x47, 0x00, 0x88, 0xcc, 0x00, 0x94, 0x42,
+  0xc9, 0x15, 0x5e, 0xd9, 0x51, 0x29, 0x83, 0x12, 0xa0, 0x31, 0x03, 0x00,
+  0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x30, 0x6d, 0x46, 0x94, 0x65, 0xc9,
+  0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x4c, 0xdc, 0x41, 0x68, 0x9a, 0x32,
+  0x62, 0x90, 0x00, 0x20, 0x08, 0x06, 0x53, 0x87, 0x48, 0xdb, 0xb6, 0x8c,
+  0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x21, 0x06, 0x57, 0xc7, 0x51, 0xcb,
+  0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x63, 0x80, 0x79, 0x9d, 0xc1,
+  0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x41, 0x06, 0x99, 0xe7, 0x59,
+  0xcd, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x65, 0xa0, 0x7d, 0x1f,
+  0xe2, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x61, 0x06, 0x1b, 0x18,
+  0x80, 0xc1, 0xf5, 0x8c, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x71, 0x06,
+  0x5c, 0x18, 0x84, 0xc1, 0x02, 0x8d, 0x18, 0x3c, 0x00, 0x08, 0x82, 0x41,
+  0x63, 0x06, 0x4e, 0x82, 0x18, 0x85, 0xa2, 0x88, 0x81, 0x18, 0x44, 0xca,
+  0x68, 0x42, 0x00, 0x8c, 0x26, 0x08, 0xc1, 0x68, 0xc2, 0x20, 0x8c, 0x26,
+  0x10, 0xc3, 0x88, 0xc1, 0x01, 0x80, 0x20, 0x18, 0x40, 0x6a, 0x20, 0x31,
+  0x67, 0x30, 0x9a, 0x10, 0x00, 0x66, 0x2c, 0xf2, 0xb1, 0x40, 0x90, 0x8f,
+  0x1d, 0x8c, 0x7c, 0x2c, 0x20, 0xe4, 0x63, 0x48, 0x23, 0x1f, 0x0b, 0x0c,
+  0xf9, 0x58, 0xe2, 0xc8, 0x67, 0xc4, 0x20, 0x01, 0x40, 0x10, 0x0c, 0x90,
+  0x3a, 0xf0, 0xe0, 0x00, 0x0e, 0xd0, 0xc0, 0x18, 0x31, 0x48, 0x00, 0x10,
+  0x04, 0x03, 0xa4, 0x0e, 0x3c, 0x38, 0x80, 0x83, 0x8c, 0x18, 0x31, 0x48,
+  0x00, 0x10, 0x04, 0x03, 0xa4, 0x0e, 0x3c, 0x38, 0x80, 0x83, 0x33, 0x10,
+  0x46, 0x0c, 0x12, 0x00, 0x04, 0xc1, 0x00, 0xa9, 0x03, 0x0f, 0x0e, 0xe0,
+  0x40, 0x0b, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00
 };
-static const unsigned int texture_rgba_frag_dxil_len = 3852;
+static const unsigned int texture_rgba_frag_dxil_len = 4196;

+ 9 - 1
src/render/gpu/shaders/texture_rgba.frag.hlsl

@@ -1,3 +1,9 @@
+
+cbuffer Constants : register(b0, space3)
+{
+    float color_scale;
+};
+
 Texture2D u_texture : register(t0, space2);
 SamplerState u_sampler : register(s0, space2);
 
@@ -10,8 +16,10 @@ struct PSOutput {
     float4 o_color : SV_Target;
 };
 
+#include "common.frag.hlsli"
+
 PSOutput main(PSInput input) {
     PSOutput output;
-    output.o_color = u_texture.Sample(u_sampler, input.v_uv) * input.v_color;
+    output.o_color = GetOutputColor(u_texture.Sample(u_sampler, input.v_uv)) * input.v_color;
     return output;
 }

+ 58 - 36
src/render/gpu/shaders/texture_rgba.frag.msl.h

@@ -5,43 +5,65 @@ static const unsigned char texture_rgba_frag_msl[] = {
   0x6d, 0x64, 0x2f, 0x73, 0x69, 0x6d, 0x64, 0x2e, 0x68, 0x3e, 0x0a, 0x0a,
   0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70,
   0x61, 0x63, 0x65, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x3b, 0x0a, 0x0a,
+  0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x5f,
+  0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x0a, 0x7b, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x63, 0x6f,
+  0x6c, 0x6f, 0x72, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x3b, 0x0a, 0x7d,
+  0x3b, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20,
+  0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x5f, 0x32, 0x37, 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, 0x20, 0x5b, 0x5b, 0x63, 0x6f, 0x6c, 0x6f,
+  0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 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,
+  0x5f, 0x69, 0x6e, 0x0a, 0x7b, 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, 0x30, 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, 0x30, 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, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61,
+  0x6e, 0x74, 0x73, 0x26, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e,
+  0x74, 0x73, 0x20, 0x5b, 0x5b, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x28,
+  0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72,
+  0x65, 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x20, 0x75,
+  0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20, 0x5b, 0x5b, 0x74,
+  0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c,
+  0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x75, 0x5f, 0x73,
+  0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x5b, 0x5b, 0x73, 0x61, 0x6d,
+  0x70, 0x6c, 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, 0x34, 0x20,
+  0x5f, 0x33, 0x34, 0x20, 0x3d, 0x20, 0x75, 0x5f, 0x74, 0x65, 0x78, 0x74,
+  0x75, 0x72, 0x65, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x75,
+  0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x69, 0x6e,
+  0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43,
+  0x4f, 0x4f, 0x52, 0x44, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x5f, 0x33, 0x38, 0x20, 0x3d,
+  0x20, 0x5f, 0x33, 0x34, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x2a, 0x20, 0x43,
+  0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x6f, 0x6c,
+  0x6f, 0x72, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x3b, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x5f, 0x33, 0x39,
+  0x20, 0x3d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x28, 0x5f, 0x33,
+  0x38, 0x2e, 0x78, 0x2c, 0x20, 0x5f, 0x33, 0x38, 0x2e, 0x79, 0x2c, 0x20,
+  0x5f, 0x33, 0x38, 0x2e, 0x7a, 0x2c, 0x20, 0x5f, 0x32, 0x37, 0x2e, 0x77,
+  0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x33, 0x39, 0x2e, 0x77,
+  0x20, 0x3d, 0x20, 0x5f, 0x33, 0x34, 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, 0x20,
-  0x5b, 0x5b, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x28, 0x30, 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,
+  0x3d, 0x20, 0x5f, 0x33, 0x39, 0x20, 0x2a, 0x20, 0x69, 0x6e, 0x2e, 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,
-  0x30, 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, 0x30, 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, 0x74, 0x65,
-  0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61,
-  0x74, 0x3e, 0x20, 0x75, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65,
-  0x20, 0x5b, 0x5b, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30,
-  0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72,
-  0x20, 0x75, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x5b,
-  0x5b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 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, 0x53, 0x56, 0x5f,
-  0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x20, 0x3d, 0x20, 0x75, 0x5f, 0x74,
-  0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c,
-  0x65, 0x28, 0x75, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c,
-  0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54,
-  0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x29, 0x20, 0x2a, 0x20,
-  0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x43, 0x4f,
-  0x4c, 0x4f, 0x52, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65,
-  0x74, 0x75, 0x72, 0x6e, 0x20, 0x6f, 0x75, 0x74, 0x3b, 0x0a, 0x7d, 0x0a,
-  0x0a
+  0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e,
+  0x20, 0x6f, 0x75, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a
 };
-static const unsigned int texture_rgba_frag_msl_len = 517;
+static const unsigned int texture_rgba_frag_msl_len = 789;

+ 97 - 62
src/render/gpu/shaders/texture_rgba.frag.spv.h

@@ -1,6 +1,6 @@
 static const unsigned char texture_rgba_frag_spv[] = {
   0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0e, 0x00,
-  0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00,
+  0x2b, 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, 0x08, 0x00, 0x04, 0x00, 0x00, 0x00,
   0x01, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00,
@@ -8,69 +8,104 @@ static const unsigned char texture_rgba_frag_spv[] = {
   0x10, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
   0x03, 0x00, 0x03, 0x00, 0x05, 0x00, 0x00, 0x00, 0x58, 0x02, 0x00, 0x00,
   0x05, 0x00, 0x06, 0x00, 0x05, 0x00, 0x00, 0x00, 0x74, 0x79, 0x70, 0x65,
-  0x2e, 0x32, 0x64, 0x2e, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x00, 0x00, 0x00,
-  0x05, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x74, 0x65,
-  0x78, 0x74, 0x75, 0x72, 0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00,
-  0x07, 0x00, 0x00, 0x00, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x73, 0x61, 0x6d,
-  0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00,
-  0x08, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65,
-  0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x69, 0x6e, 0x2e, 0x76, 0x61, 0x72, 0x2e, 0x43, 0x4f, 0x4c, 0x4f, 0x52,
-  0x30, 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, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00,
-  0x04, 0x00, 0x00, 0x00, 0x6f, 0x75, 0x74, 0x2e, 0x76, 0x61, 0x72, 0x2e,
-  0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x00, 0x00,
-  0x05, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e,
-  0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0x09, 0x00, 0x00, 0x00,
-  0x74, 0x79, 0x70, 0x65, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64,
-  0x2e, 0x69, 0x6d, 0x61, 0x67, 0x65, 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,
+  0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x00, 0x00,
+  0x06, 0x00, 0x06, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x00,
+  0x05, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x43, 0x6f, 0x6e, 0x73,
+  0x74, 0x61, 0x6e, 0x74, 0x73, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00,
+  0x07, 0x00, 0x00, 0x00, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x32, 0x64, 0x2e,
+  0x69, 0x6d, 0x61, 0x67, 0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00,
+  0x08, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72,
+  0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x09, 0x00, 0x00, 0x00,
+  0x74, 0x79, 0x70, 0x65, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72,
+  0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0a, 0x00, 0x00, 0x00,
+  0x75, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00,
+  0x05, 0x00, 0x06, 0x00, 0x02, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x2e, 0x76,
+  0x61, 0x72, 0x2e, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x30, 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, 0x30,
+  0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0x04, 0x00, 0x00, 0x00,
+  0x6f, 0x75, 0x74, 0x2e, 0x76, 0x61, 0x72, 0x2e, 0x53, 0x56, 0x5f, 0x54,
+  0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00,
+  0x05, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x74, 0x79, 0x70, 0x65,
+  0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x2e, 0x69, 0x6d, 0x61,
+  0x67, 0x65, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00,
   0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00,
-  0x06, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x47, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00,
-  0x22, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00,
-  0x08, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x16, 0x00, 0x03, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
-  0x19, 0x00, 0x09, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 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,
+  0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00,
+  0x22, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00,
+  0x06, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x47, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00,
+  0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00,
+  0x0a, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x47, 0x00, 0x04, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x05, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x47, 0x00, 0x03, 0x00, 0x05, 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, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00,
+  0x0e, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x03, 0x00,
+  0x05, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00,
+  0x0f, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
+  0x19, 0x00, 0x09, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00,
   0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x20, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x05, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x02, 0x00, 0x07, 0x00, 0x00, 0x00,
-  0x20, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x07, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00,
-  0x0a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00,
-  0x0e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
-  0x17, 0x00, 0x04, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00,
-  0x11, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
-  0x13, 0x00, 0x02, 0x00, 0x12, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00,
-  0x13, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x03, 0x00,
-  0x09, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00,
-  0x0b, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x3b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x0e, 0x00, 0x00, 0x00,
+  0x20, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x07, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x02, 0x00, 0x09, 0x00, 0x00, 0x00,
+  0x20, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x09, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00,
+  0x0e, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00,
+  0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00,
+  0x17, 0x00, 0x04, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x15, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00,
+  0x16, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00,
+  0x13, 0x00, 0x02, 0x00, 0x17, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00,
+  0x18, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x03, 0x00,
+  0x0b, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00,
+  0x19, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x20, 0x00, 0x04, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x0e, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x0f, 0x00, 0x00, 0x00,
+  0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00,
+  0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x3b, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00,
   0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00,
-  0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x3b, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x12, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00,
-  0xf8, 0x00, 0x02, 0x00, 0x14, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
-  0x0d, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x3d, 0x00, 0x04, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x05, 0x00, 0x00, 0x00,
-  0x17, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
-  0x07, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
-  0x56, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00,
-  0x17, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x57, 0x00, 0x06, 0x00,
-  0x0d, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00,
-  0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00,
-  0x0d, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
-  0x15, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00,
-  0x1b, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00
+  0x15, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x3b, 0x00, 0x04, 0x00, 0x16, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00, 0x12, 0x00, 0x00, 0x00,
+  0x1b, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x17, 0x00, 0x00, 0x00,
+  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
+  0xf8, 0x00, 0x02, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
+  0x12, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+  0x3d, 0x00, 0x04, 0x00, 0x14, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00,
+  0x03, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00,
+  0x1f, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
+  0x09, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
+  0x56, 0x00, 0x05, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,
+  0x1f, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x57, 0x00, 0x06, 0x00,
+  0x12, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,
+  0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00,
+  0x19, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00,
+  0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+  0x02, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x1a, 0x00, 0x00, 0x00,
+  0x24, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
+  0x3d, 0x00, 0x04, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00,
+  0x24, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x05, 0x00, 0x19, 0x00, 0x00, 0x00,
+  0x26, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00,
+  0x4f, 0x00, 0x09, 0x00, 0x12, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00,
+  0x1b, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+  0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+  0x51, 0x00, 0x05, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
+  0x22, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x52, 0x00, 0x06, 0x00,
+  0x12, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
+  0x27, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00,
+  0x12, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00,
+  0x1d, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00,
+  0x2a, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00
 };
-static const unsigned int texture_rgba_frag_spv_len = 876;
+static const unsigned int texture_rgba_frag_spv_len = 1296;

+ 0 - 402
src/render/gpu/shaders/texture_rgba_pixelart.frag.dxil.h

@@ -1,402 +0,0 @@
-static const unsigned char texture_rgba_pixelart_frag_dxil[] = {
-  0x44, 0x58, 0x42, 0x43, 0xf4, 0x83, 0x28, 0x2e, 0xe0, 0xed, 0xd2, 0xe2,
-  0x3c, 0x78, 0x6f, 0xb7, 0x3e, 0x59, 0xdf, 0x55, 0x01, 0x00, 0x00, 0x00,
-  0xac, 0x12, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00,
-  0x4c, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x00, 0x00,
-  0xf0, 0x01, 0x00, 0x00, 0x54, 0x09, 0x00, 0x00, 0x70, 0x09, 0x00, 0x00,
-  0x53, 0x46, 0x49, 0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x49, 0x53, 0x47, 0x31, 0x54, 0x00, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x48, 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, 0x48, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x00, 0x00, 0x00,
-  0x4f, 0x53, 0x47, 0x31, 0x34, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x00, 0x00,
-  0x50, 0x53, 0x56, 0x30, 0x04, 0x01, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
-  0x00, 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, 0x02, 0x01, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x13, 0x00, 0x00, 0x00, 0x03, 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,
-  0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x02, 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, 0x42, 0x00,
-  0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x44, 0x10, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
-  0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x53, 0x54, 0x41, 0x54, 0x5c, 0x07, 0x00, 0x00,
-  0x60, 0x00, 0x00, 0x00, 0xd7, 0x01, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c,
-  0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x44, 0x07, 0x00, 0x00,
-  0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0xce, 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, 0x53, 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, 0x8c, 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, 0x0c,
-  0x03, 0x31, 0x90, 0x52, 0x88, 0x81, 0x18, 0x06, 0x62, 0x6e, 0x1a, 0x2e,
-  0x7f, 0xc2, 0x1e, 0x42, 0xf2, 0x57, 0x42, 0x5a, 0x89, 0xc9, 0x2f, 0x6e,
-  0x1b, 0x15, 0xc3, 0x30, 0x0c, 0x04, 0x15, 0xf7, 0x0c, 0x97, 0x3f, 0x61,
-  0x0f, 0x21, 0xf9, 0x21, 0xd0, 0x0c, 0x0b, 0x81, 0x82, 0xa7, 0x48, 0x0e,
-  0x01, 0x41, 0xc3, 0x30, 0x0c, 0x04, 0x41, 0x0c, 0xc3, 0x30, 0x0c, 0xc3,
-  0x40, 0xd1, 0x51, 0xc3, 0xe5, 0x4f, 0xd8, 0x43, 0x48, 0x3e, 0xb7, 0x51,
-  0xc5, 0x4a, 0x4c, 0x7e, 0x71, 0xdb, 0x88, 0x18, 0x86, 0x61, 0x28, 0xc4,
-  0x44, 0x40, 0x04, 0x51, 0x73, 0x04, 0x41, 0x31, 0x20, 0xa2, 0x20, 0x08,
-  0x8b, 0xae, 0x81, 0x80, 0x61, 0x04, 0x62, 0x98, 0xa9, 0x0d, 0xc6, 0x81,
-  0x1d, 0xc2, 0x61, 0x1e, 0xe6, 0xc1, 0x0d, 0x68, 0xa1, 0x1c, 0xf0, 0x81,
-  0x1e, 0xea, 0x41, 0x1e, 0xca, 0x41, 0x0e, 0x48, 0x81, 0x0f, 0xec, 0xa1,
-  0x1c, 0xc6, 0x81, 0x1e, 0xde, 0x41, 0x1e, 0xf8, 0xc0, 0x1c, 0xd8, 0xe1,
-  0x1d, 0xc2, 0x81, 0x1e, 0xd8, 0x00, 0x0c, 0xe8, 0xc0, 0x0f, 0xc0, 0xc0,
-  0x0f, 0xf4, 0x40, 0x0f, 0xda, 0x21, 0x1d, 0xe0, 0x61, 0x1e, 0x7e, 0x81,
-  0x1e, 0xf2, 0x01, 0x1e, 0xca, 0x01, 0x05, 0xc4, 0x4c, 0x62, 0x30, 0x0e,
-  0xec, 0x10, 0x0e, 0xf3, 0x30, 0x0f, 0x6e, 0x40, 0x0b, 0xe5, 0x80, 0x0f,
-  0xf4, 0x50, 0x0f, 0xf2, 0x50, 0x0e, 0x72, 0x40, 0x0a, 0x7c, 0x60, 0x0f,
-  0xe5, 0x30, 0x0e, 0xf4, 0xf0, 0x0e, 0xf2, 0xc0, 0x07, 0xe6, 0xc0, 0x0e,
-  0xef, 0x10, 0x0e, 0xf4, 0xc0, 0x06, 0x60, 0x40, 0x07, 0x7e, 0x00, 0x06,
-  0x7e, 0x80, 0x04, 0x6d, 0x23, 0xee, 0x98, 0x09, 0x7b, 0x88, 0x9f, 0x73,
-  0x9a, 0x89, 0xb8, 0x26, 0x14, 0x68, 0xe4, 0xdd, 0x24, 0x4d, 0x11, 0x25,
-  0x4c, 0x3e, 0x0b, 0x30, 0xcf, 0x42, 0x44, 0xec, 0x04, 0x4c, 0x04, 0x0a,
-  0x08, 0x02, 0x13, 0x81, 0x00, 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, 0x13, 0x01, 0x01,
-  0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x90, 0x87, 0x02,
-  0x02, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x21, 0xcf,
-  0x05, 0x04, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59,
-  0x20, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14,
-  0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22,
-  0x4a, 0x60, 0x04, 0xa0, 0x18, 0x8a, 0xa0, 0x24, 0xca, 0xa0, 0x40, 0xca,
-  0xa1, 0x34, 0x0a, 0xa1, 0x3c, 0x0a, 0xac, 0x30, 0x03, 0xa8, 0x28, 0x89,
-  0x11, 0x80, 0x22, 0x28, 0x84, 0x02, 0xa1, 0x6e, 0x06, 0x80, 0xbc, 0x19,
-  0x00, 0xfa, 0x66, 0x00, 0x28, 0x9c, 0x01, 0x20, 0x71, 0x2c, 0xc4, 0x20,
-  0x02, 0x81, 0x40, 0x9e, 0x07, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00,
-  0x91, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44,
-  0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24, 0xc6, 0x05, 0xc7, 0x45,
-  0xa6, 0x06, 0xa6, 0xc6, 0x45, 0x06, 0x07, 0x04, 0x25, 0xa7, 0xcc, 0x4c,
-  0x4c, 0xcc, 0x66, 0x6c, 0x46, 0x26, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x08,
-  0x64, 0x82, 0x40, 0x24, 0x1b, 0x84, 0x81, 0xd8, 0x20, 0x10, 0x04, 0x05,
-  0xb8, 0xb9, 0x09, 0x02, 0xa1, 0x6c, 0x18, 0x0e, 0x84, 0x98, 0x20, 0x74,
-  0x1a, 0x93, 0xba, 0x2f, 0xba, 0x32, 0x3c, 0xba, 0x3a, 0xb9, 0xb2, 0x09,
-  0x02, 0xb1, 0x4c, 0x10, 0x08, 0x66, 0x83, 0x40, 0x34, 0x1b, 0x12, 0x42,
-  0x59, 0x18, 0x62, 0x60, 0x08, 0x67, 0x43, 0xf0, 0x4c, 0x10, 0x3e, 0x8e,
-  0x0c, 0x5d, 0x1e, 0x5c, 0xd9, 0xd7, 0xd0, 0x9b, 0x1b, 0x5d, 0x19, 0x1e,
-  0xdd, 0x04, 0x81, 0x68, 0x26, 0x08, 0x84, 0xb3, 0x01, 0x21, 0x22, 0x69,
-  0x22, 0x06, 0x0a, 0xd8, 0x10, 0x54, 0x13, 0x84, 0x30, 0xe8, 0x98, 0xd4,
-  0x7d, 0xcd, 0x85, 0xb5, 0xc1, 0xb1, 0x95, 0xc9, 0x6d, 0x40, 0x88, 0x0b,
-  0x63, 0x88, 0x81, 0x00, 0x36, 0x04, 0xd9, 0x06, 0x02, 0x02, 0x2c, 0x6d,
-  0x82, 0xe0, 0x6d, 0x94, 0x86, 0xde, 0xdc, 0xe8, 0xca, 0xf0, 0xe8, 0xbe,
-  0xe8, 0xca, 0xf0, 0xca, 0xd8, 0xbe, 0xe6, 0xd2, 0xf4, 0xca, 0x26, 0x08,
-  0xc4, 0x33, 0x41, 0x20, 0xa0, 0x09, 0x02, 0x11, 0x6d, 0x40, 0x90, 0x6e,
-  0x22, 0xbc, 0xe6, 0x03, 0x83, 0x0d, 0x02, 0x15, 0x06, 0x1b, 0x06, 0x82,
-  0x13, 0x83, 0x09, 0x82, 0x00, 0x6c, 0x00, 0x36, 0x0c, 0x44, 0x19, 0x94,
-  0xc1, 0x86, 0xc0, 0x0c, 0x36, 0x0c, 0x03, 0x19, 0x9c, 0xc1, 0x04, 0x41,
-  0x0c, 0xbc, 0x0d, 0x41, 0x1a, 0x90, 0x68, 0x0b, 0x4b, 0x73, 0x23, 0x42,
-  0x55, 0x84, 0x35, 0xf4, 0xf4, 0x24, 0x45, 0x34, 0x41, 0x28, 0xaa, 0x09,
-  0x42, 0x61, 0x6d, 0x08, 0x88, 0x09, 0x42, 0x71, 0x4d, 0x10, 0x0a, 0x6c,
-  0x82, 0x40, 0x48, 0x1b, 0x84, 0x49, 0x0e, 0x36, 0x2c, 0x04, 0x1b, 0xb4,
-  0x81, 0x1b, 0xbc, 0x01, 0x1c, 0x0c, 0x71, 0x40, 0xb8, 0xc1, 0x1c, 0x6c,
-  0x08, 0x86, 0x0d, 0xc2, 0x34, 0x6d, 0x58, 0x06, 0x36, 0x68, 0x03, 0x37,
-  0xa8, 0x03, 0x38, 0x18, 0xe0, 0x60, 0x70, 0x03, 0x3b, 0xd8, 0x20, 0xd0,
-  0xc1, 0x1d, 0x30, 0x99, 0xb2, 0xfa, 0xa2, 0x0a, 0x93, 0x3b, 0x2b, 0xa3,
-  0x9b, 0x20, 0x14, 0xd9, 0x86, 0x85, 0xc8, 0x83, 0x36, 0xd0, 0x83, 0x37,
-  0x70, 0x83, 0x21, 0x0e, 0x08, 0x37, 0x98, 0x83, 0x0d, 0xc1, 0x1e, 0x6c,
-  0x18, 0xf0, 0x80, 0x0f, 0x80, 0x0d, 0x05, 0x19, 0xac, 0x41, 0x1f, 0x6c,
-  0x00, 0x0d, 0x33, 0xb6, 0xb7, 0x30, 0xba, 0xb9, 0x09, 0x02, 0x31, 0xb1,
-  0x48, 0x73, 0x9b, 0xa3, 0x9b, 0x9b, 0x20, 0x10, 0x14, 0x8d, 0xb9, 0xb4,
-  0xb3, 0x2f, 0x36, 0x32, 0x1a, 0x73, 0x69, 0x67, 0x5f, 0x73, 0x74, 0x44,
-  0xe8, 0xca, 0xf0, 0xbe, 0xce, 0xe4, 0xc2, 0xc8, 0x36, 0x28, 0x7f, 0x00,
-  0x0a, 0xa1, 0x20, 0x0a, 0xa3, 0x80, 0x90, 0x02, 0x18, 0x94, 0xc2, 0x50,
-  0x85, 0x8d, 0xcd, 0xae, 0xcd, 0x25, 0x8d, 0xac, 0xcc, 0x8d, 0x6e, 0x4a,
-  0x10, 0x54, 0x21, 0xc3, 0x73, 0xb1, 0x2b, 0x93, 0x9b, 0x4b, 0x7b, 0x73,
-  0x9b, 0x12, 0x10, 0x4d, 0xc8, 0xf0, 0x5c, 0xec, 0xc2, 0xd8, 0xec, 0xca,
-  0xe4, 0xa6, 0x04, 0x45, 0x1d, 0x32, 0x3c, 0x97, 0x39, 0xb4, 0x30, 0xb2,
-  0x32, 0xb9, 0xa6, 0x37, 0xb2, 0x32, 0xb6, 0x29, 0x01, 0x52, 0x86, 0x0c,
-  0xcf, 0x45, 0xae, 0x6c, 0xee, 0xad, 0x4e, 0x6e, 0xac, 0x6c, 0x6e, 0x4a,
-  0xa0, 0x55, 0x22, 0xc3, 0x73, 0xa1, 0xcb, 0x83, 0x2b, 0x0b, 0x72, 0x73,
-  0x7b, 0xa3, 0x0b, 0xa3, 0x4b, 0x7b, 0x73, 0x9b, 0x9b, 0x22, 0x88, 0xc1,
-  0x19, 0xd4, 0x21, 0xc3, 0x73, 0xb1, 0x4b, 0x2b, 0xbb, 0x4b, 0x22, 0x9b,
-  0xa2, 0x0b, 0xa3, 0x2b, 0x9b, 0x12, 0xa4, 0x41, 0x1d, 0x32, 0x3c, 0x97,
-  0x32, 0x37, 0x3a, 0xb9, 0x3c, 0xa8, 0xb7, 0x34, 0x37, 0xba, 0xb9, 0x29,
-  0x41, 0x1f, 0x74, 0x21, 0xc3, 0x73, 0x19, 0x7b, 0xab, 0x73, 0xa3, 0x2b,
-  0x93, 0x9b, 0x9b, 0x12, 0x94, 0x02, 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,
-  0x1f, 0x00, 0x00, 0x00, 0x46, 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, 0x48, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f,
-  0x44, 0x04, 0x30, 0x11, 0x21, 0xd0, 0x0c, 0x0b, 0x61, 0x01, 0xd3, 0x70,
-  0xf9, 0xce, 0xe3, 0x2f, 0x0e, 0x30, 0x88, 0xcd, 0x43, 0x4d, 0x7e, 0x71,
-  0xdb, 0x56, 0x40, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x04, 0x30, 0xcf, 0x42,
-  0x80, 0x11, 0x30, 0xf8, 0xc5, 0x6d, 0x9b, 0x40, 0x35, 0x5c, 0xbe, 0xf3,
-  0xf8, 0xd2, 0xe4, 0x44, 0x04, 0x4a, 0x4d, 0x0f, 0x35, 0xf9, 0xc5, 0x6d,
-  0xdb, 0xc0, 0x33, 0x5c, 0xbe, 0xf3, 0xf8, 0x54, 0x03, 0x44, 0x98, 0x5f,
-  0xdc, 0xb6, 0x01, 0x10, 0x0c, 0x80, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x48, 0x41, 0x53, 0x48, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0xf3, 0x80, 0xe9, 0x01, 0x7f, 0xa8, 0xd4, 0x53, 0x8b, 0xb2, 0x5c, 0xd1,
-  0xbf, 0xdc, 0xed, 0x2a, 0x44, 0x58, 0x49, 0x4c, 0x34, 0x09, 0x00, 0x00,
-  0x60, 0x00, 0x00, 0x00, 0x4d, 0x02, 0x00, 0x00, 0x44, 0x58, 0x49, 0x4c,
-  0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x1c, 0x09, 0x00, 0x00,
-  0x42, 0x43, 0xc0, 0xde, 0x21, 0x0c, 0x00, 0x00, 0x44, 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, 0x53, 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, 0x8c, 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, 0x0c,
-  0x03, 0x31, 0x90, 0x52, 0x88, 0x81, 0x18, 0x06, 0x62, 0x6e, 0x1a, 0x2e,
-  0x7f, 0xc2, 0x1e, 0x42, 0xf2, 0x57, 0x42, 0x5a, 0x89, 0xc9, 0x2f, 0x6e,
-  0x1b, 0x15, 0xc3, 0x30, 0x0c, 0x04, 0x15, 0xf7, 0x0c, 0x97, 0x3f, 0x61,
-  0x0f, 0x21, 0xf9, 0x21, 0xd0, 0x0c, 0x0b, 0x81, 0x82, 0xa7, 0x48, 0x0e,
-  0x01, 0x41, 0xc3, 0x30, 0x0c, 0x04, 0x41, 0x0c, 0xc3, 0x30, 0x0c, 0xc3,
-  0x40, 0xd1, 0x51, 0xc3, 0xe5, 0x4f, 0xd8, 0x43, 0x48, 0x3e, 0xb7, 0x51,
-  0xc5, 0x4a, 0x4c, 0x7e, 0x71, 0xdb, 0x88, 0x18, 0x86, 0x61, 0x28, 0xc4,
-  0x44, 0x40, 0x04, 0x51, 0x73, 0x04, 0x41, 0x31, 0x20, 0xa2, 0x20, 0x08,
-  0x8b, 0xae, 0x81, 0x80, 0x61, 0x04, 0x62, 0x98, 0xa9, 0x0d, 0xc6, 0x81,
-  0x1d, 0xc2, 0x61, 0x1e, 0xe6, 0xc1, 0x0d, 0x68, 0xa1, 0x1c, 0xf0, 0x81,
-  0x1e, 0xea, 0x41, 0x1e, 0xca, 0x41, 0x0e, 0x48, 0x81, 0x0f, 0xec, 0xa1,
-  0x1c, 0xc6, 0x81, 0x1e, 0xde, 0x41, 0x1e, 0xf8, 0xc0, 0x1c, 0xd8, 0xe1,
-  0x1d, 0xc2, 0x81, 0x1e, 0xd8, 0x00, 0x0c, 0xe8, 0xc0, 0x0f, 0xc0, 0xc0,
-  0x0f, 0xf4, 0x40, 0x0f, 0xda, 0x21, 0x1d, 0xe0, 0x61, 0x1e, 0x7e, 0x81,
-  0x1e, 0xf2, 0x01, 0x1e, 0xca, 0x01, 0x05, 0xc4, 0x4c, 0x62, 0x30, 0x0e,
-  0xec, 0x10, 0x0e, 0xf3, 0x30, 0x0f, 0x6e, 0x40, 0x0b, 0xe5, 0x80, 0x0f,
-  0xf4, 0x50, 0x0f, 0xf2, 0x50, 0x0e, 0x72, 0x40, 0x0a, 0x7c, 0x60, 0x0f,
-  0xe5, 0x30, 0x0e, 0xf4, 0xf0, 0x0e, 0xf2, 0xc0, 0x07, 0xe6, 0xc0, 0x0e,
-  0xef, 0x10, 0x0e, 0xf4, 0xc0, 0x06, 0x60, 0x40, 0x07, 0x7e, 0x00, 0x06,
-  0x7e, 0x80, 0x04, 0x6d, 0x23, 0xee, 0x98, 0x09, 0x7b, 0x88, 0x9f, 0x73,
-  0x9a, 0x89, 0xb8, 0x26, 0x14, 0x68, 0xe4, 0xdd, 0x24, 0x4d, 0x11, 0x25,
-  0x4c, 0x3e, 0x0b, 0x30, 0xcf, 0x42, 0x44, 0xec, 0x04, 0x4c, 0x04, 0x0a,
-  0x08, 0x02, 0x13, 0x81, 0x00, 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, 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, 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, 0x13, 0x01, 0x01,
-  0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x90, 0x87, 0x02,
-  0x02, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x21, 0xcf,
-  0x05, 0x04, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59,
-  0x20, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x32, 0x1e, 0x98, 0x14,
-  0x19, 0x11, 0x4c, 0x90, 0x8c, 0x09, 0x26, 0x47, 0xc6, 0x04, 0x43, 0x22,
-  0x4a, 0x60, 0x04, 0xa0, 0x24, 0x8a, 0xa1, 0x08, 0xca, 0xa0, 0x40, 0xca,
-  0x83, 0x8a, 0x92, 0x18, 0x01, 0x28, 0x82, 0x42, 0x28, 0x10, 0xea, 0x66,
-  0x00, 0xe8, 0x9b, 0x01, 0xa0, 0x70, 0x06, 0x80, 0xc4, 0xb1, 0x10, 0x83,
-  0x08, 0x04, 0x02, 0x79, 0x1e, 0x00, 0x00, 0x00, 0x79, 0x18, 0x00, 0x00,
-  0x5e, 0x00, 0x00, 0x00, 0x1a, 0x03, 0x4c, 0x90, 0x46, 0x02, 0x13, 0x44,
-  0x8f, 0x0c, 0x6f, 0xec, 0xed, 0x4d, 0x0c, 0x24, 0xc6, 0x05, 0xc7, 0x45,
-  0xa6, 0x06, 0xa6, 0xc6, 0x45, 0x06, 0x07, 0x04, 0x25, 0xa7, 0xcc, 0x4c,
-  0x4c, 0xcc, 0x66, 0x6c, 0x46, 0x26, 0x65, 0x43, 0x10, 0x4c, 0x10, 0x08,
-  0x64, 0x82, 0x40, 0x24, 0x1b, 0x84, 0x81, 0x98, 0x20, 0x10, 0xca, 0x06,
-  0x61, 0x30, 0x28, 0xc0, 0xcd, 0x4d, 0x10, 0x88, 0x65, 0xc3, 0x80, 0x24,
-  0xc4, 0x04, 0xa1, 0xab, 0x08, 0x4c, 0x10, 0x08, 0x66, 0x83, 0x40, 0x18,
-  0x1b, 0x12, 0x62, 0x61, 0x1a, 0x62, 0x68, 0x08, 0x67, 0x43, 0xf0, 0x4c,
-  0x10, 0x3e, 0x6b, 0x82, 0x40, 0x34, 0x13, 0x04, 0xc2, 0xd9, 0x80, 0x10,
-  0x11, 0x23, 0x11, 0xc3, 0x04, 0x6c, 0x08, 0xa8, 0x09, 0x42, 0x18, 0x5c,
-  0x1b, 0x10, 0xc2, 0x62, 0x1a, 0x62, 0x20, 0x80, 0x0d, 0xc1, 0xb5, 0x81,
-  0x80, 0x80, 0x0a, 0x9b, 0x20, 0x88, 0x01, 0xb6, 0x21, 0xd0, 0x26, 0x08,
-  0x02, 0x40, 0xa2, 0x2d, 0x2c, 0xcd, 0x8d, 0x08, 0x55, 0x11, 0xd6, 0xd0,
-  0xd3, 0x93, 0x14, 0xd1, 0x04, 0xa1, 0x80, 0x26, 0x08, 0x45, 0xb4, 0x21,
-  0x20, 0x26, 0x08, 0x85, 0x34, 0x41, 0x28, 0xa6, 0x09, 0x02, 0xf1, 0x6c,
-  0x10, 0x24, 0x32, 0xd8, 0xb0, 0x10, 0xde, 0x07, 0x06, 0x61, 0x20, 0x06,
-  0xc3, 0x18, 0x10, 0x60, 0x50, 0x06, 0x1b, 0x82, 0x61, 0x83, 0x20, 0x49,
-  0x1b, 0x96, 0xc1, 0xfb, 0xc0, 0xe0, 0x0c, 0xc4, 0x60, 0x10, 0x83, 0x01,
-  0x0c, 0xd0, 0x60, 0x83, 0x60, 0x06, 0x69, 0xc0, 0x64, 0xca, 0xea, 0x8b,
-  0x2a, 0x4c, 0xee, 0xac, 0x8c, 0x6e, 0x82, 0x50, 0x50, 0x1b, 0x16, 0x62,
-  0x0d, 0x3e, 0x36, 0x08, 0x03, 0x30, 0x18, 0xc6, 0x80, 0x00, 0x83, 0x32,
-  0xd8, 0x10, 0xb4, 0xc1, 0x86, 0x41, 0x0d, 0xdc, 0x00, 0xd8, 0x50, 0x70,
-  0xdd, 0x1b, 0x64, 0x40, 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, 0x18, 0x75, 0xc8, 0xf0, 0x5c,
-  0xe6, 0xd0, 0xc2, 0xc8, 0xca, 0xe4, 0x9a, 0xde, 0xc8, 0xca, 0xd8, 0xa6,
-  0x04, 0x49, 0x19, 0x32, 0x3c, 0x17, 0xb9, 0xb2, 0xb9, 0xb7, 0x3a, 0xb9,
-  0xb1, 0xb2, 0xb9, 0x29, 0x01, 0x56, 0x87, 0x0c, 0xcf, 0xc5, 0x2e, 0xad,
-  0xec, 0x2e, 0x89, 0x6c, 0x8a, 0x2e, 0x8c, 0xae, 0x6c, 0x4a, 0xa0, 0xd5,
-  0x21, 0xc3, 0x73, 0x29, 0x73, 0xa3, 0x93, 0xcb, 0x83, 0x7a, 0x4b, 0x73,
-  0xa3, 0x9b, 0x9b, 0x12, 0xbc, 0x01, 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,
-  0x1f, 0x00, 0x00, 0x00, 0x46, 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, 0x48, 0xc3, 0xe5, 0x3b, 0x8f, 0x2f,
-  0x44, 0x04, 0x30, 0x11, 0x21, 0xd0, 0x0c, 0x0b, 0x61, 0x01, 0xd3, 0x70,
-  0xf9, 0xce, 0xe3, 0x2f, 0x0e, 0x30, 0x88, 0xcd, 0x43, 0x4d, 0x7e, 0x71,
-  0xdb, 0x56, 0x40, 0x0d, 0x97, 0xef, 0x3c, 0xbe, 0x04, 0x30, 0xcf, 0x42,
-  0x80, 0x11, 0x30, 0xf8, 0xc5, 0x6d, 0x9b, 0x40, 0x35, 0x5c, 0xbe, 0xf3,
-  0xf8, 0xd2, 0xe4, 0x44, 0x04, 0x4a, 0x4d, 0x0f, 0x35, 0xf9, 0xc5, 0x6d,
-  0xdb, 0xc0, 0x33, 0x5c, 0xbe, 0xf3, 0xf8, 0x54, 0x03, 0x44, 0x98, 0x5f,
-  0xdc, 0xb6, 0x01, 0x10, 0x0c, 0x80, 0x34, 0x00, 0x61, 0x20, 0x00, 0x00,
-  0xaa, 0x00, 0x00, 0x00, 0x13, 0x04, 0x41, 0x2c, 0x10, 0x00, 0x00, 0x00,
-  0x13, 0x00, 0x00, 0x00, 0x64, 0x8d, 0x00, 0x50, 0x51, 0x02, 0x65, 0x40,
-  0x44, 0xf9, 0x95, 0x5d, 0x39, 0x14, 0xcb, 0x0c, 0x40, 0x21, 0x94, 0x42,
-  0xc9, 0x95, 0x69, 0x40, 0xa1, 0x06, 0x94, 0x51, 0x21, 0x95, 0x0d, 0x0d,
-  0x63, 0x04, 0x20, 0x08, 0x82, 0x24, 0x18, 0x8c, 0x11, 0x80, 0x20, 0x08,
-  0x82, 0x60, 0x30, 0x46, 0x00, 0x82, 0x20, 0x88, 0xff, 0xc2, 0x18, 0x01,
-  0x08, 0x82, 0x20, 0xfe, 0x8d, 0x11, 0xb0, 0x6d, 0xfc, 0xca, 0xdb, 0x18,
-  0x01, 0x08, 0x82, 0x20, 0xfc, 0xcd, 0x00, 0x00, 0x23, 0x06, 0x09, 0x00,
-  0x82, 0x60, 0x70, 0xa5, 0x41, 0xf3, 0x9d, 0xc1, 0x19, 0x5c, 0x23, 0x06,
-  0x09, 0x00, 0x82, 0x60, 0x70, 0xa9, 0x81, 0x63, 0xa1, 0x01, 0x1a, 0x60,
-  0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x70, 0xad, 0xc1, 0x03, 0x06, 0x69,
-  0x90, 0x06, 0xd9, 0x88, 0x41, 0x02, 0x80, 0x20, 0x18, 0x18, 0x72, 0x20,
-  0xad, 0x81, 0x1a, 0x88, 0xc1, 0x34, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06,
-  0xc6, 0x1c, 0x4c, 0x6c, 0xb0, 0x06, 0x1a, 0x35, 0x62, 0x90, 0x00, 0x20,
-  0x08, 0x06, 0x06, 0x1d, 0x50, 0x6c, 0xc0, 0x06, 0x64, 0x50, 0x8d, 0x18,
-  0x24, 0x00, 0x08, 0x82, 0x81, 0x51, 0x07, 0x55, 0x1b, 0xb4, 0x01, 0x67,
-  0x8d, 0x18, 0x24, 0x00, 0x08, 0x82, 0x81, 0x61, 0x07, 0x96, 0x1b, 0xb8,
-  0x41, 0x19, 0x5c, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x60, 0xdc, 0xc1,
-  0xf5, 0x06, 0x6f, 0xd0, 0x61, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0xa0,
-  0xd8, 0x41, 0x65, 0x8c, 0x18, 0x18, 0x00, 0x08, 0x82, 0x81, 0x72, 0x07,
-  0x96, 0x31, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0x0a, 0x1e, 0xc0, 0x81,
-  0x30, 0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0x4a, 0x1e, 0xc4, 0x81, 0x30,
-  0x62, 0x60, 0x00, 0x20, 0x08, 0x06, 0x8a, 0x1e, 0x60, 0xca, 0x88, 0x81,
-  0x01, 0x80, 0x20, 0x18, 0x28, 0x7b, 0x90, 0x29, 0x23, 0x06, 0x06, 0x00,
-  0x82, 0x60, 0xa0, 0xf0, 0x01, 0x1d, 0x08, 0x23, 0x06, 0x06, 0x00, 0x82,
-  0x60, 0xa0, 0xf4, 0x41, 0x1d, 0x08, 0x26, 0x18, 0xf0, 0x31, 0xc1, 0x80,
-  0xcf, 0x88, 0xc1, 0x01, 0x80, 0x20, 0x18, 0x50, 0x7d, 0x60, 0x06, 0x91,
-  0x1e, 0x8c, 0x26, 0x04, 0xc2, 0x68, 0x82, 0x30, 0x98, 0x50, 0xc8, 0xc7,
-  0x84, 0x42, 0x3e, 0x23, 0x06, 0x07, 0x00, 0x82, 0x60, 0xc0, 0x90, 0x82,
-  0x18, 0x08, 0xdb, 0x88, 0xc1, 0x01, 0x80, 0x20, 0x18, 0x30, 0xa5, 0x30,
-  0x06, 0x02, 0x37, 0x62, 0x70, 0x00, 0x20, 0x08, 0x06, 0x8c, 0x29, 0x8c,
-  0x81, 0xe0, 0x8d, 0x18, 0x1c, 0x00, 0x08, 0x82, 0x01, 0x73, 0x0a, 0x64,
-  0x20, 0x7c, 0x86, 0x64, 0xf2, 0x31, 0x24, 0x93, 0x8f, 0x11, 0x60, 0x20,
-  0x1f, 0x23, 0xc2, 0x40, 0x3e, 0x46, 0x08, 0xf1, 0x31, 0x42, 0x88, 0xcf,
-  0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x28, 0xaf, 0xa0, 0x06, 0xc2, 0x88,
-  0x81, 0x01, 0x80, 0x20, 0x18, 0x28, 0xb0, 0xb0, 0x06, 0x82, 0x09, 0x66,
-  0x00, 0x1f, 0x13, 0xce, 0x00, 0x3e, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60,
-  0xa0, 0xcc, 0xc2, 0x1d, 0x18, 0x23, 0x06, 0x06, 0x00, 0x82, 0x60, 0xa0,
-  0xd0, 0x02, 0x1e, 0x18, 0xe6, 0xb4, 0x01, 0x7c, 0x2c, 0x18, 0xe0, 0x63,
-  0xcf, 0x1b, 0xc0, 0xc7, 0x02, 0x02, 0x3e, 0x36, 0x48, 0xf4, 0x31, 0x41,
-  0xa2, 0xcf, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x28, 0xbb, 0x00, 0x0a,
-  0xc2, 0x88, 0x81, 0x01, 0x80, 0x20, 0x18, 0x28, 0xbc, 0x10, 0x0a, 0x82,
-  0x09, 0x76, 0x20, 0x1f, 0x13, 0xee, 0x40, 0x3e, 0x96, 0x07, 0x42, 0x7c,
-  0x4c, 0x0f, 0x84, 0xf8, 0x98, 0x61, 0xc8, 0xc7, 0x82, 0x41, 0x3e, 0x76,
-  0x1c, 0xf2, 0xb1, 0x80, 0x90, 0x8f, 0x51, 0x03, 0x7c, 0x8c, 0x12, 0xe0,
-  0x33, 0x9a, 0x70, 0x06, 0xc0, 0x68, 0x02, 0x1a, 0x04, 0x46, 0x08, 0xf2,
-  0x31, 0x42, 0x90, 0xcf, 0x88, 0x41, 0x05, 0x80, 0x20, 0x18, 0x44, 0xe9,
-  0x20, 0x0b, 0x7e, 0xd0, 0x07, 0x42, 0xf0, 0x07, 0x7f, 0x50, 0x0e, 0xe5,
-  0xe0, 0x0a, 0x75, 0x40, 0x07, 0x7f, 0x10, 0x07, 0x70, 0xf0, 0x07, 0x7f,
-  0x30, 0x9a, 0x10, 0x00, 0xa3, 0x09, 0x42, 0x30, 0x9a, 0x30, 0x08, 0xa3,
-  0x09, 0xc4, 0x60, 0x84, 0x1f, 0xc8, 0xc7, 0x08, 0x3f, 0x90, 0x8f, 0x11,
-  0x7e, 0x20, 0x1f, 0x23, 0xfc, 0x40, 0x3e, 0x23, 0x06, 0x09, 0x00, 0x82,
-  0x60, 0x80, 0xd4, 0x43, 0x2d, 0xb8, 0x83, 0x3b, 0x98, 0x03, 0x31, 0x62,
-  0x90, 0x00, 0x20, 0x08, 0x06, 0x48, 0x3d, 0xd4, 0x82, 0x3b, 0xb8, 0x43,
-  0x2f, 0x0c, 0x23, 0x06, 0x09, 0x00, 0x82, 0x60, 0x80, 0xd4, 0x43, 0x2d,
-  0xb8, 0x83, 0x3b, 0x94, 0x83, 0x30, 0x62, 0x90, 0x00, 0x20, 0x08, 0x06,
-  0x48, 0x3d, 0xd4, 0x82, 0x3b, 0xb8, 0x03, 0x2f, 0x04, 0x08, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00
-};
-static const unsigned int texture_rgba_pixelart_frag_dxil_len = 4780;

+ 0 - 8
src/render/gpu/shaders/texture_rgba_pixelart.frag.hlsl

@@ -1,8 +0,0 @@
-#include "texture_pixelart.frag.hlsli"
-
-PSOutput main(PSInput input) {
-    PSOutput output;
-    float2 uv = GetPixelArtUV(input);
-    output.o_color = u_texture.SampleGrad(u_sampler, uv, ddx(input.v_uv), ddy(input.v_uv)) * input.v_color;
-    return output;
-}

+ 0 - 86
src/render/gpu/shaders/texture_rgba_pixelart.frag.msl.h

@@ -1,86 +0,0 @@
-static const unsigned char texture_rgba_pixelart_frag_msl[] = {
-  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,
-  0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70,
-  0x61, 0x63, 0x65, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x3b, 0x0a, 0x0a,
-  0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x5f,
-  0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x0a, 0x7b, 0x0a, 0x20, 0x20,
-  0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x74, 0x65, 0x78,
-  0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 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, 0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
-  0x20, 0x5b, 0x5b, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x28, 0x30, 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, 0x43, 0x4f, 0x4c, 0x4f, 0x52,
-  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, 0x32, 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, 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, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x26, 0x20, 0x43, 0x6f,
-  0x6e, 0x74, 0x65, 0x78, 0x74, 0x20, 0x5b, 0x5b, 0x62, 0x75, 0x66, 0x66,
-  0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x74, 0x65, 0x78,
-  0x74, 0x75, 0x72, 0x65, 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74,
-  0x3e, 0x20, 0x75, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20,
-  0x5b, 0x5b, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30, 0x29,
-  0x5d, 0x5d, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20,
-  0x75, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x5b, 0x5b,
-  0x73, 0x61, 0x6d, 0x70, 0x6c, 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, 0x32, 0x20, 0x5f, 0x34, 0x31, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x73,
-  0x74, 0x3a, 0x3a, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x28, 0x66, 0x77, 0x69,
-  0x64, 0x74, 0x68, 0x28, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61,
-  0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x29,
-  0x20, 0x2a, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x74,
-  0x65, 0x78, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x2e, 0x7a, 0x77,
-  0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, 0x39, 0x2e, 0x39,
-  0x39, 0x39, 0x39, 0x39, 0x39, 0x37, 0x34, 0x37, 0x33, 0x37, 0x38, 0x37,
-  0x35, 0x31, 0x36, 0x33, 0x35, 0x35, 0x35, 0x31, 0x34, 0x35, 0x32, 0x36,
-  0x33, 0x36, 0x37, 0x31, 0x38, 0x38, 0x65, 0x2d, 0x30, 0x36, 0x29, 0x2c,
-  0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, 0x31, 0x2e, 0x30, 0x29,
-  0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74,
-  0x32, 0x20, 0x5f, 0x34, 0x34, 0x20, 0x3d, 0x20, 0x28, 0x69, 0x6e, 0x2e,
-  0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f,
-  0x4f, 0x52, 0x44, 0x30, 0x20, 0x2a, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x65,
-  0x78, 0x74, 0x2e, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a,
-  0x65, 0x2e, 0x7a, 0x77, 0x29, 0x20, 0x2d, 0x20, 0x28, 0x5f, 0x34, 0x31,
-  0x20, 0x2a, 0x20, 0x30, 0x2e, 0x35, 0x29, 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, 0x20, 0x3d,
-  0x20, 0x75, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x73,
-  0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x75, 0x5f, 0x73, 0x61, 0x6d, 0x70,
-  0x6c, 0x65, 0x72, 0x2c, 0x20, 0x28, 0x28, 0x28, 0x66, 0x6c, 0x6f, 0x6f,
-  0x72, 0x28, 0x5f, 0x34, 0x34, 0x29, 0x20, 0x2b, 0x20, 0x66, 0x6c, 0x6f,
-  0x61, 0x74, 0x32, 0x28, 0x30, 0x2e, 0x35, 0x29, 0x29, 0x20, 0x2b, 0x20,
-  0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x73, 0x74, 0x65, 0x70, 0x28, 0x66,
-  0x6c, 0x6f, 0x61, 0x74, 0x32, 0x28, 0x31, 0x2e, 0x30, 0x29, 0x20, 0x2d,
-  0x20, 0x5f, 0x34, 0x31, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32,
-  0x28, 0x31, 0x2e, 0x30, 0x29, 0x2c, 0x20, 0x66, 0x72, 0x61, 0x63, 0x74,
-  0x28, 0x5f, 0x34, 0x34, 0x29, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x43, 0x6f,
-  0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f,
-  0x73, 0x69, 0x7a, 0x65, 0x2e, 0x78, 0x79, 0x29, 0x2c, 0x20, 0x67, 0x72,
-  0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x32, 0x64, 0x28, 0x64, 0x66, 0x64,
-  0x78, 0x28, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x5f,
-  0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, 0x29, 0x2c, 0x20,
-  0x64, 0x66, 0x64, 0x79, 0x28, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f, 0x76,
-  0x61, 0x72, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30,
-  0x29, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x5f,
-  0x76, 0x61, 0x72, 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x30, 0x3b, 0x0a,
-  0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6f,
-  0x75, 0x74, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a
-};
-static const unsigned int texture_rgba_pixelart_frag_msl_len = 991;

+ 0 - 141
src/render/gpu/shaders/texture_rgba_pixelart.frag.spv.h

@@ -1,141 +0,0 @@
-static const unsigned char texture_rgba_pixelart_frag_spv[] = {
-  0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0e, 0x00,
-  0x3c, 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, 0x08, 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,
-  0x10, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x03, 0x00, 0x05, 0x00, 0x00, 0x00, 0x58, 0x02, 0x00, 0x00,
-  0x05, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00, 0x74, 0x79, 0x70, 0x65,
-  0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x00, 0x00, 0x00, 0x00,
-  0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x74, 0x65, 0x78, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x00, 0x00,
-  0x05, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x43, 0x6f, 0x6e, 0x74,
-  0x65, 0x78, 0x74, 0x00, 0x05, 0x00, 0x06, 0x00, 0x08, 0x00, 0x00, 0x00,
-  0x74, 0x79, 0x70, 0x65, 0x2e, 0x32, 0x64, 0x2e, 0x69, 0x6d, 0x61, 0x67,
-  0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00,
-  0x75, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x00, 0x00, 0x00,
-  0x05, 0x00, 0x06, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x74, 0x79, 0x70, 0x65,
-  0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00,
-  0x05, 0x00, 0x05, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x73, 0x61,
-  0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x2e, 0x76, 0x61, 0x72, 0x2e, 0x43,
-  0x4f, 0x4c, 0x4f, 0x52, 0x30, 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, 0x30, 0x00, 0x00, 0x00, 0x00,
-  0x05, 0x00, 0x07, 0x00, 0x05, 0x00, 0x00, 0x00, 0x6f, 0x75, 0x74, 0x2e,
-  0x76, 0x61, 0x72, 0x2e, 0x53, 0x56, 0x5f, 0x54, 0x61, 0x72, 0x67, 0x65,
-  0x74, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00,
-  0x0c, 0x00, 0x00, 0x00, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x73, 0x61, 0x6d,
-  0x70, 0x6c, 0x65, 0x64, 0x2e, 0x69, 0x6d, 0x61, 0x67, 0x65, 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,
-  0x05, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x47, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00,
-  0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00,
-  0x09, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x47, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00,
-  0x22, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00,
-  0x0b, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x48, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00,
-  0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00,
-  0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x0f, 0x00, 0x00, 0x00,
-  0x20, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0f, 0x00, 0x00, 0x00,
-  0x10, 0x00, 0x00, 0x00, 0xac, 0xc5, 0x27, 0x37, 0x17, 0x00, 0x04, 0x00,
-  0x11, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x2c, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00,
-  0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00,
-  0x0f, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f,
-  0x2c, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
-  0x13, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00,
-  0x0f, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f,
-  0x2c, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00,
-  0x15, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00,
-  0x17, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
-  0x1e, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00,
-  0x20, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x06, 0x00, 0x00, 0x00, 0x19, 0x00, 0x09, 0x00, 0x08, 0x00, 0x00, 0x00,
-  0x0f, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x19, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x02, 0x00,
-  0x0a, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x1a, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00,
-  0x1b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00,
-  0x20, 0x00, 0x04, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x11, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00,
-  0x1e, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x1f, 0x00, 0x00, 0x00,
-  0x1e, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x03, 0x00, 0x0c, 0x00, 0x00, 0x00,
-  0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00,
-  0x02, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00,
-  0x18, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x3b, 0x00, 0x04, 0x00, 0x19, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x1a, 0x00, 0x00, 0x00,
-  0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00,
-  0x1b, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-  0x3b, 0x00, 0x04, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00,
-  0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00,
-  0x1e, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-  0x1f, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x21, 0x00, 0x00, 0x00,
-  0x3d, 0x00, 0x04, 0x00, 0x17, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00,
-  0x23, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xd1, 0x00, 0x04, 0x00,
-  0x11, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00,
-  0x41, 0x00, 0x05, 0x00, 0x20, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00,
-  0x07, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
-  0x17, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00,
-  0x4f, 0x00, 0x07, 0x00, 0x11, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00,
-  0x26, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-  0x03, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x00,
-  0x28, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00,
-  0x0c, 0x00, 0x08, 0x00, 0x11, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
-  0x12, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00,
-  0x11, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00,
-  0x27, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x00,
-  0x2b, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00,
-  0x83, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00,
-  0x2a, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00,
-  0x11, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
-  0x29, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x11, 0x00, 0x00, 0x00,
-  0x2e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
-  0x2c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x08, 0x00, 0x11, 0x00, 0x00, 0x00,
-  0x2f, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00,
-  0x2d, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00,
-  0x0c, 0x00, 0x06, 0x00, 0x11, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
-  0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00,
-  0x81, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00,
-  0x30, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00,
-  0x11, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00,
-  0x2f, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x07, 0x00, 0x11, 0x00, 0x00, 0x00,
-  0x33, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00,
-  0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00,
-  0x11, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00,
-  0x33, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00,
-  0x35, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00,
-  0x0a, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00,
-  0xcf, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00,
-  0x23, 0x00, 0x00, 0x00, 0xd0, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00,
-  0x38, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x56, 0x00, 0x05, 0x00,
-  0x0c, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00,
-  0x36, 0x00, 0x00, 0x00, 0x58, 0x00, 0x08, 0x00, 0x17, 0x00, 0x00, 0x00,
-  0x3a, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00,
-  0x04, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00,
-  0x85, 0x00, 0x05, 0x00, 0x17, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00,
-  0x3a, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00,
-  0x05, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00,
-  0x38, 0x00, 0x01, 0x00
-};
-static const unsigned int texture_rgba_pixelart_frag_spv_len = 1648;