From 422e2e42611241f3a41fe0cc579b6f10b9b95ece Mon Sep 17 00:00:00 2001 From: ohyzha Date: Wed, 10 Jul 2024 10:25:34 +0300 Subject: [PATCH 01/15] move compiled shaders out of repo and put every shader in separate file --- .gitignore | 3 + Scripts/CompileShaders.sh | 21 + openVulkanoCpp/Shader/CompileShaders.sh | 19 - openVulkanoCpp/Shader/Shaders.c | 1245 ----------------------- openVulkanoCpp/Shader/Shaders.h | 43 - 5 files changed, 24 insertions(+), 1307 deletions(-) create mode 100644 Scripts/CompileShaders.sh delete mode 100755 openVulkanoCpp/Shader/CompileShaders.sh delete mode 100644 openVulkanoCpp/Shader/Shaders.c delete mode 100644 openVulkanoCpp/Shader/Shaders.h diff --git a/.gitignore b/.gitignore index 904ee1e..b7b163a 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,9 @@ # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 +# Ignore generated shader's output +openVulkanoCpp/GeneratedShaderData/* + # User-specific stuff .idea/**/workspace.xml .idea/**/tasks.xml diff --git a/Scripts/CompileShaders.sh b/Scripts/CompileShaders.sh new file mode 100644 index 0000000..a433dc7 --- /dev/null +++ b/Scripts/CompileShaders.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +GENERATED_DATA_PATH="../openVulkanoCpp/GeneratedShaderData" +rm $GENERATED_DATA_PATH/*.h +rm $GENERATED_DATA_PATH/*.c + +for f in ../openVulkanoCpp/Shader/* ; do + if [[ "$f" == *.frag ]] || [[ "$f" == *.vert ]] + then + filename=$(basename -- "$f") + filename="${filename%.*}" + glslang -V $f -o $GENERATED_DATA_PATH/$filename.spv + bin2c -t -d $GENERATED_DATA_PATH/$filename.h -o $GENERATED_DATA_PATH/$filename.c $GENERATED_DATA_PATH/$filename.spv + sed -i 's/char \*entryName/const char *entryName/' $GENERATED_DATA_PATH/$filename.h + sed -i 's/const char \*data/const unsigned char *data/' $GENERATED_DATA_PATH/$filename.h + rm $GENERATED_DATA_PATH/$filename.spv + fi +done + +read -p "Press enter to continue" + diff --git a/openVulkanoCpp/Shader/CompileShaders.sh b/openVulkanoCpp/Shader/CompileShaders.sh deleted file mode 100755 index 083eb84..0000000 --- a/openVulkanoCpp/Shader/CompileShaders.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -rm Shaders.h -rm Shaders.c -rm *.spv - -for f in ./* ; do - if [[ "$f" != *.sh ]] && [[ "$f" != *.hpp ]] && [[ "$f" != *.cpp ]] - then - glslang -V $f -o $f.spv - fi -done - -bin2c -t -d Shaders.h -o Shaders.c *.spv - -sed -i 's/char \*entryName/const char *entryName/' Shaders.h -sed -i 's/const char \*data/const unsigned char *data/' Shaders.h - -rm *.spv \ No newline at end of file diff --git a/openVulkanoCpp/Shader/Shaders.c b/openVulkanoCpp/Shader/Shaders.c deleted file mode 100644 index 1418cdc..0000000 --- a/openVulkanoCpp/Shader/Shaders.c +++ /dev/null @@ -1,1245 +0,0 @@ -/* Generated by bin2c, do not edit manually */ - -#include "Shaders.h" - -/* Contents of file background.frag.spv */ -const long int background_frag_spv_size = 1076; -const unsigned char background_frag_spv[1076] = { - 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x0B, 0x00, 0x08, 0x00, 0x18, 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, 0x07, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, - 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, - 0xC2, 0x01, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, - 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, 0x66, 0x72, 0x61, 0x67, - 0x43, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0D, 0x00, 0x00, 0x00, - 0x63, 0x61, 0x6D, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, - 0x11, 0x00, 0x00, 0x00, 0x74, 0x65, 0x78, 0x43, 0x6F, 0x6F, 0x72, 0x64, 0x73, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x05, 0x00, 0x15, 0x00, 0x00, 0x00, 0x43, 0x61, 0x6D, 0x65, 0x72, 0x61, 0x44, 0x61, - 0x74, 0x61, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6F, 0x6A, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00, - 0x06, 0x00, 0x05, 0x00, 0x15, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x69, 0x65, 0x77, - 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x70, 0x72, 0x6F, 0x6A, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, - 0x15, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x63, 0x61, 0x6D, 0x50, 0x6F, 0x73, 0x00, 0x00, - 0x06, 0x00, 0x05, 0x00, 0x15, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6E, 0x65, 0x61, 0x72, - 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x04, 0x00, 0x15, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, - 0x66, 0x61, 0x72, 0x00, 0x05, 0x00, 0x03, 0x00, 0x17, 0x00, 0x00, 0x00, 0x63, 0x61, 0x6D, 0x00, - 0x47, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x04, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x04, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x04, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x05, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x15, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x15, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, - 0x15, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x04, 0x00, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x05, 0x00, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, - 0x80, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x15, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, - 0x15, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x05, 0x00, 0x15, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, - 0xD4, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x04, 0x00, 0x17, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x04, 0x00, 0x17, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x13, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x17, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x3B, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x19, 0x00, 0x09, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x03, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, - 0x3B, 0x00, 0x04, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x17, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, - 0x3B, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x18, 0x00, 0x04, 0x00, 0x14, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x1E, 0x00, 0x08, 0x00, 0x15, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, - 0x14, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x16, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, - 0x3B, 0x00, 0x04, 0x00, 0x16, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x36, 0x00, 0x05, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00, 0x05, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, - 0x0B, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, - 0x0F, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x57, 0x00, 0x05, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, - 0x3E, 0x00, 0x03, 0x00, 0x09, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x01, 0x00, - 0x38, 0x00, 0x01, 0x00 -}; - -/* Contents of file background.vert.spv */ -const long int background_vert_spv_size = 4180; -const unsigned char background_vert_spv[4180] = { - 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x0B, 0x00, 0x08, 0x00, 0x85, 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, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, - 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0xC2, 0x01, 0x00, 0x00, 0x04, 0x00, 0x09, 0x00, - 0x47, 0x4C, 0x5F, 0x41, 0x52, 0x42, 0x5F, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x5F, - 0x73, 0x68, 0x61, 0x64, 0x65, 0x72, 0x5F, 0x6F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x73, 0x00, 0x00, - 0x05, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, 0x00, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x69, 0x6F, 0x6E, - 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x17, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x56, - 0x65, 0x72, 0x74, 0x65, 0x78, 0x49, 0x6E, 0x64, 0x65, 0x78, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, - 0x1A, 0x00, 0x00, 0x00, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x04, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x00, 0x00, - 0x05, 0x00, 0x06, 0x00, 0x21, 0x00, 0x00, 0x00, 0x52, 0x65, 0x61, 0x6C, 0x43, 0x61, 0x6D, 0x65, - 0x72, 0x61, 0x44, 0x61, 0x74, 0x61, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x21, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x69, 0x6E, 0x74, 0x72, 0x69, 0x6E, 0x73, 0x69, 0x63, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x05, 0x00, 0x21, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x77, 0x69, 0x64, 0x74, - 0x68, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x21, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x23, 0x00, 0x00, 0x00, - 0x72, 0x65, 0x61, 0x6C, 0x43, 0x61, 0x6D, 0x00, 0x05, 0x00, 0x05, 0x00, 0x29, 0x00, 0x00, 0x00, - 0x72, 0x65, 0x61, 0x6C, 0x53, 0x63, 0x61, 0x6C, 0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, - 0x32, 0x00, 0x00, 0x00, 0x72, 0x65, 0x61, 0x6C, 0x41, 0x73, 0x70, 0x65, 0x63, 0x74, 0x00, 0x00, - 0x05, 0x00, 0x04, 0x00, 0x38, 0x00, 0x00, 0x00, 0x73, 0x63, 0x61, 0x6C, 0x65, 0x59, 0x00, 0x00, - 0x05, 0x00, 0x05, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x43, 0x61, 0x6D, 0x65, 0x72, 0x61, 0x44, 0x61, - 0x74, 0x61, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6F, 0x6A, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00, - 0x06, 0x00, 0x05, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x69, 0x65, 0x77, - 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x70, 0x72, 0x6F, 0x6A, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, - 0x3B, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x63, 0x61, 0x6D, 0x50, 0x6F, 0x73, 0x00, 0x00, - 0x06, 0x00, 0x06, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6E, 0x65, 0x61, 0x72, - 0x50, 0x6C, 0x61, 0x6E, 0x65, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x3B, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x00, 0x00, 0x66, 0x61, 0x72, 0x50, 0x6C, 0x61, 0x6E, 0x65, 0x00, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x05, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x77, 0x69, 0x64, 0x74, - 0x68, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x00, 0x00, 0x06, 0x00, 0x04, 0x00, 0x3B, 0x00, 0x00, 0x00, - 0x08, 0x00, 0x00, 0x00, 0x66, 0x6F, 0x76, 0x00, 0x06, 0x00, 0x05, 0x00, 0x3B, 0x00, 0x00, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x61, 0x73, 0x70, 0x65, 0x63, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, - 0x3B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x73, 0x63, 0x61, 0x6C, 0x65, 0x46, 0x61, 0x63, - 0x74, 0x6F, 0x72, 0x00, 0x06, 0x00, 0x08, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, - 0x70, 0x69, 0x78, 0x65, 0x6C, 0x53, 0x63, 0x61, 0x6C, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6F, 0x72, - 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x63, 0x61, 0x6D, 0x00, - 0x05, 0x00, 0x04, 0x00, 0x42, 0x00, 0x00, 0x00, 0x73, 0x63, 0x61, 0x6C, 0x65, 0x58, 0x00, 0x00, - 0x05, 0x00, 0x06, 0x00, 0x57, 0x00, 0x00, 0x00, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72, 0x4F, 0x66, - 0x66, 0x73, 0x65, 0x74, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x71, 0x00, 0x00, 0x00, - 0x67, 0x6C, 0x5F, 0x50, 0x65, 0x72, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x00, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x06, 0x00, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x50, - 0x6F, 0x73, 0x69, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x06, 0x00, 0x07, 0x00, 0x71, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x50, 0x6F, 0x69, 0x6E, 0x74, 0x53, 0x69, 0x7A, 0x65, - 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, 0x71, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x67, 0x6C, 0x5F, 0x43, 0x6C, 0x69, 0x70, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, 0x00, - 0x06, 0x00, 0x07, 0x00, 0x71, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x43, - 0x75, 0x6C, 0x6C, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, 0x00, 0x05, 0x00, 0x03, 0x00, - 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0x78, 0x00, 0x00, 0x00, - 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6F, 0x6F, 0x72, 0x64, 0x69, 0x6E, 0x61, 0x74, - 0x65, 0x73, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x82, 0x00, 0x00, 0x00, 0x69, 0x6E, 0x64, 0x65, - 0x78, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x17, 0x00, 0x00, 0x00, - 0x0B, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x21, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x21, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, - 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x05, 0x00, 0x21, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, - 0x30, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x21, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x23, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x21, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x23, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x23, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3B, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, - 0x3B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, - 0x3B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x05, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x23, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3B, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, - 0x3B, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x05, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, - 0xD0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, - 0x23, 0x00, 0x00, 0x00, 0xD4, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3B, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xD8, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, - 0x3B, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xDC, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x05, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, - 0xE0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x23, 0x00, 0x00, 0x00, 0xE4, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3B, 0x00, 0x00, 0x00, - 0x0A, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, - 0x3B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xEC, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x03, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, - 0x3D, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, - 0x3D, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, - 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x05, 0x00, 0x71, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x71, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x0B, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x71, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, - 0x71, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x78, 0x00, 0x00, 0x00, - 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x21, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x0B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x04, 0x00, 0x0C, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3F, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xBF, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x0F, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x7F, 0x3F, 0x2C, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, - 0x0D, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, - 0x0E, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, - 0x2C, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, - 0x0D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x07, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, - 0x0F, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x07, 0x00, 0x0C, 0x00, 0x00, 0x00, - 0x14, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, - 0x13, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x15, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x16, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x15, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x16, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x19, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x0C, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x05, 0x00, 0x21, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x15, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x22, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x22, 0x00, 0x00, 0x00, - 0x23, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x15, 0x00, 0x00, 0x00, - 0x24, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x25, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x15, 0x00, 0x00, 0x00, - 0x2A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x15, 0x00, 0x00, 0x00, - 0x2B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x2C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x2D, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, 0x3A, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x0E, 0x00, 0x3B, 0x00, 0x00, 0x00, - 0x3A, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, - 0x3B, 0x00, 0x04, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x2B, 0x00, 0x04, 0x00, 0x15, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x2B, 0x00, 0x04, 0x00, 0x15, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x17, 0x00, 0x04, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x2B, 0x00, 0x04, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x56, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x58, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, - 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, - 0x1C, 0x00, 0x04, 0x00, 0x70, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, - 0x1E, 0x00, 0x06, 0x00, 0x71, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x70, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x72, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x72, 0x00, 0x00, 0x00, - 0x73, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x75, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x77, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x77, 0x00, 0x00, 0x00, - 0x78, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x04, 0x00, 0x79, 0x00, 0x00, 0x00, - 0x4C, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x05, 0x00, 0x4C, 0x00, 0x00, 0x00, - 0x7B, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x05, 0x00, - 0x4C, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00, - 0x2C, 0x00, 0x05, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x7D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, - 0x0D, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x05, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, - 0x7A, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x07, 0x00, 0x79, 0x00, 0x00, 0x00, - 0x7F, 0x00, 0x00, 0x00, 0x7B, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x7D, 0x00, 0x00, 0x00, - 0x7E, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x81, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x79, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00, 0x05, 0x00, 0x00, 0x00, - 0x3B, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x3B, 0x00, 0x04, 0x00, 0x19, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x3B, 0x00, 0x04, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x3B, 0x00, 0x04, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x3B, 0x00, 0x04, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x3B, 0x00, 0x04, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x3B, 0x00, 0x04, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x3B, 0x00, 0x04, 0x00, 0x56, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x3B, 0x00, 0x04, 0x00, 0x81, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x15, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, - 0x3E, 0x00, 0x03, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x08, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, - 0x3E, 0x00, 0x03, 0x00, 0x09, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x25, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x15, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, - 0x6F, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, - 0x3E, 0x00, 0x03, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x41, 0x00, 0x07, 0x00, - 0x2D, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, - 0x2B, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x2F, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x30, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x31, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, - 0x29, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x33, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x25, 0x00, 0x00, 0x00, - 0x34, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, - 0x15, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, - 0x3E, 0x00, 0x03, 0x00, 0x32, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x2D, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, - 0x88, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, - 0x40, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x38, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, - 0x44, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, - 0x45, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, - 0x32, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, - 0x46, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x49, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, - 0x42, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x4A, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x4B, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x50, 0x00, 0x05, 0x00, 0x4C, 0x00, 0x00, 0x00, - 0x4D, 0x00, 0x00, 0x00, 0x4A, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x07, 0x00, - 0x4C, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x4C, 0x00, 0x00, 0x00, - 0x50, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x1D, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, - 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x52, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x2C, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, - 0x50, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x54, 0x00, 0x00, 0x00, - 0x55, 0x00, 0x00, 0x00, 0x41, 0x00, 0x06, 0x00, 0x58, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, - 0x23, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, - 0x1F, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x07, 0x00, - 0x4C, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x25, 0x00, 0x00, 0x00, - 0x5C, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, - 0x15, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x25, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x15, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, - 0x6F, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, - 0x50, 0x00, 0x05, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00, - 0x61, 0x00, 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, - 0x5B, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x57, 0x00, 0x00, 0x00, - 0x63, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, - 0x57, 0x00, 0x00, 0x00, 0x50, 0x00, 0x05, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, - 0x64, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, 0x4C, 0x00, 0x00, 0x00, - 0x67, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, - 0x57, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x4C, 0x00, 0x00, 0x00, - 0x68, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x69, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x07, 0x00, 0x4C, 0x00, 0x00, 0x00, - 0x6A, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x6B, 0x00, 0x00, 0x00, - 0x6A, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x1D, 0x00, 0x00, 0x00, - 0x6C, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x6D, 0x00, 0x00, 0x00, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3E, 0x00, 0x03, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x6D, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x1D, 0x00, 0x00, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, - 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x6B, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x75, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, - 0x2A, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x76, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x15, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, - 0x3E, 0x00, 0x03, 0x00, 0x82, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x56, 0x00, 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, - 0x3E, 0x00, 0x03, 0x00, 0x78, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x01, 0x00, - 0x38, 0x00, 0x01, 0x00 -}; - -/* Contents of file basic.frag.spv */ -const long int basic_frag_spv_size = 376; -const unsigned char basic_frag_spv[376] = { - 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x0B, 0x00, 0x08, 0x00, 0x0D, 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, 0x07, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, - 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, - 0xC2, 0x01, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, - 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, 0x6F, 0x75, 0x74, 0x43, - 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x0B, 0x00, 0x00, 0x00, - 0x63, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x0B, 0x00, 0x00, 0x00, - 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x21, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00, - 0x05, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, - 0x0B, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, - 0xFD, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00 -}; - -/* Contents of file basicTexture.frag.spv */ -const long int basicTexture_frag_spv_size = 668; -const unsigned char basicTexture_frag_spv[668] = { - 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x0B, 0x00, 0x08, 0x00, 0x18, 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, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, - 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, - 0x10, 0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, - 0x02, 0x00, 0x00, 0x00, 0xC2, 0x01, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x6D, 0x61, 0x69, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x6F, 0x75, 0x74, 0x43, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, - 0x0D, 0x00, 0x00, 0x00, 0x74, 0x65, 0x78, 0x53, 0x61, 0x6D, 0x70, 0x6C, 0x65, 0x72, 0x00, 0x00, - 0x05, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x00, 0x74, 0x65, 0x78, 0x43, 0x6F, 0x6F, 0x72, 0x64, - 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x15, 0x00, 0x00, 0x00, 0x63, 0x6F, 0x6C, 0x6F, - 0x72, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x1E, 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, - 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x15, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x19, 0x00, 0x09, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x03, 0x00, 0x0B, 0x00, 0x00, 0x00, - 0x0A, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0B, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x0F, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00, 0x05, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, - 0x57, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, - 0x12, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, - 0x15, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, - 0x13, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x17, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00 -}; - -/* Contents of file basic.vert.spv */ -const long int basic_vert_spv_size = 2972; -const unsigned char basic_vert_spv[2972] = { - 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x0B, 0x00, 0x08, 0x00, 0x62, 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, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, - 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, - 0x3C, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00, - 0x60, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, - 0xC2, 0x01, 0x00, 0x00, 0x04, 0x00, 0x09, 0x00, 0x47, 0x4C, 0x5F, 0x41, 0x52, 0x42, 0x5F, 0x73, - 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x5F, 0x73, 0x68, 0x61, 0x64, 0x65, 0x72, 0x5F, 0x6F, - 0x62, 0x6A, 0x65, 0x63, 0x74, 0x73, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x6D, 0x61, 0x69, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x6C, 0x69, 0x67, 0x68, 0x74, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0E, 0x00, 0x00, 0x00, - 0x77, 0x6F, 0x72, 0x6C, 0x64, 0x50, 0x6F, 0x73, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x4E, 0x6F, 0x64, 0x65, 0x44, 0x61, 0x74, 0x61, 0x00, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x6F, 0x72, 0x6C, - 0x64, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, - 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x19, 0x00, 0x00, 0x00, 0x70, 0x6F, 0x73, 0x69, - 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x21, 0x00, 0x00, 0x00, - 0x77, 0x6F, 0x72, 0x6C, 0x64, 0x4E, 0x6F, 0x72, 0x6D, 0x61, 0x6C, 0x00, 0x05, 0x00, 0x04, 0x00, - 0x2E, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x72, 0x6D, 0x61, 0x6C, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, - 0x33, 0x00, 0x00, 0x00, 0x62, 0x72, 0x69, 0x67, 0x68, 0x74, 0x6E, 0x65, 0x73, 0x73, 0x00, 0x00, - 0x05, 0x00, 0x05, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x6F, 0x75, 0x74, 0x43, 0x6F, 0x6C, 0x6F, 0x72, - 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x63, 0x6F, 0x6C, 0x6F, - 0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x50, - 0x65, 0x72, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, - 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x50, 0x6F, 0x73, 0x69, 0x74, - 0x69, 0x6F, 0x6E, 0x00, 0x06, 0x00, 0x07, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x67, 0x6C, 0x5F, 0x50, 0x6F, 0x69, 0x6E, 0x74, 0x53, 0x69, 0x7A, 0x65, 0x00, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x07, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x43, - 0x6C, 0x69, 0x70, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, 0x00, 0x06, 0x00, 0x07, 0x00, - 0x4F, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x43, 0x75, 0x6C, 0x6C, 0x44, - 0x69, 0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, 0x00, 0x05, 0x00, 0x03, 0x00, 0x51, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x52, 0x00, 0x00, 0x00, 0x43, 0x61, 0x6D, 0x65, - 0x72, 0x61, 0x44, 0x61, 0x74, 0x61, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, 0x52, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6F, 0x6A, 0x65, 0x63, 0x74, 0x69, - 0x6F, 0x6E, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0x54, 0x00, 0x00, 0x00, 0x63, 0x61, 0x6D, 0x00, - 0x05, 0x00, 0x08, 0x00, 0x5C, 0x00, 0x00, 0x00, 0x66, 0x72, 0x61, 0x67, 0x54, 0x65, 0x78, 0x74, - 0x75, 0x72, 0x65, 0x43, 0x6F, 0x6F, 0x72, 0x64, 0x69, 0x6E, 0x61, 0x74, 0x65, 0x73, 0x00, 0x00, - 0x05, 0x00, 0x07, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x43, - 0x6F, 0x6F, 0x72, 0x64, 0x69, 0x6E, 0x61, 0x74, 0x65, 0x73, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, - 0x60, 0x00, 0x00, 0x00, 0x74, 0x61, 0x6E, 0x67, 0x65, 0x6E, 0x74, 0x00, 0x05, 0x00, 0x05, 0x00, - 0x61, 0x00, 0x00, 0x00, 0x62, 0x69, 0x54, 0x61, 0x6E, 0x67, 0x65, 0x6E, 0x74, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x19, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x4F, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, - 0x4F, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x05, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x04, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x05, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x52, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x54, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x54, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x5C, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x60, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x61, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x3A, 0xCD, 0x13, 0x3F, 0x2C, 0x00, 0x06, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, - 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, - 0x0C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x0D, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, - 0x0F, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x03, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, - 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, - 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x15, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, - 0x19, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3F, 0x18, 0x00, 0x04, 0x00, 0x24, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, - 0x2E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x32, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x39, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x39, 0x00, 0x00, 0x00, - 0x3A, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x3B, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x3B, 0x00, 0x00, 0x00, - 0x3C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x15, 0x00, 0x04, 0x00, 0x4C, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x4C, 0x00, 0x00, 0x00, - 0x4D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x04, 0x00, 0x4E, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x06, 0x00, 0x4F, 0x00, 0x00, 0x00, - 0x0C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x50, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, - 0x3B, 0x00, 0x04, 0x00, 0x50, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x1E, 0x00, 0x03, 0x00, 0x52, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x53, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, - 0x53, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, - 0x5A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x5B, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, - 0x5B, 0x00, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, - 0x18, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, - 0x18, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, - 0x18, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0xF8, 0x00, 0x02, 0x00, 0x05, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x0D, 0x00, 0x00, 0x00, - 0x0E, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x21, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x32, 0x00, 0x00, 0x00, - 0x33, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x0B, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x15, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, - 0x12, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x00, 0x00, - 0x17, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x1A, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x1C, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, - 0x1C, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, - 0x91, 0x00, 0x05, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, - 0x1F, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x15, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, - 0x14, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, - 0x22, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, - 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x08, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x26, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0C, 0x00, 0x00, 0x00, - 0x27, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x08, 0x00, - 0x07, 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, 0x51, 0x00, 0x05, 0x00, - 0x0C, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x4F, 0x00, 0x08, 0x00, 0x07, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, - 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x50, 0x00, 0x06, 0x00, 0x24, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, - 0x28, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x24, 0x00, 0x00, 0x00, - 0x2C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, - 0x54, 0x00, 0x04, 0x00, 0x24, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, - 0x91, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, - 0x2F, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x07, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, - 0x21, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x35, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x36, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x94, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x37, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x07, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, - 0x34, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x00, - 0x38, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, - 0x3C, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x08, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, - 0x33, 0x00, 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, - 0x40, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x43, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x05, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, - 0x50, 0x00, 0x06, 0x00, 0x07, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, - 0x34, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x50, 0x00, 0x06, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x46, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, - 0x0C, 0x00, 0x08, 0x00, 0x07, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x2B, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, - 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x4A, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, - 0x0C, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, - 0x4A, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x3A, 0x00, 0x00, 0x00, - 0x4B, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x15, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, - 0x54, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x00, 0x00, - 0x56, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x0C, 0x00, 0x00, 0x00, - 0x57, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x91, 0x00, 0x05, 0x00, 0x0C, 0x00, 0x00, 0x00, - 0x58, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x39, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, - 0x3E, 0x00, 0x03, 0x00, 0x59, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x07, 0x00, - 0x5A, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x5C, 0x00, 0x00, 0x00, - 0x5F, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00 -}; - -/* Contents of file grid.frag.spv */ -const long int grid_frag_spv_size = 6472; -const unsigned char grid_frag_spv[6472] = { - 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x0B, 0x00, 0x08, 0x00, 0x0A, 0x01, 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, 0x09, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, - 0x00, 0x00, 0x00, 0x00, 0xD1, 0x00, 0x00, 0x00, 0xD6, 0x00, 0x00, 0x00, 0xE6, 0x00, 0x00, 0x00, - 0xF4, 0x00, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x10, 0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, - 0x02, 0x00, 0x00, 0x00, 0xC2, 0x01, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x6D, 0x61, 0x69, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x0E, 0x00, 0x00, 0x00, - 0x67, 0x72, 0x69, 0x64, 0x28, 0x76, 0x66, 0x33, 0x3B, 0x66, 0x31, 0x3B, 0x00, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x05, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x66, 0x72, 0x61, 0x67, 0x50, 0x6F, 0x73, 0x33, - 0x44, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x73, 0x63, 0x61, 0x6C, - 0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0x12, 0x00, 0x00, 0x00, 0x63, 0x6F, 0x6D, 0x70, - 0x75, 0x74, 0x65, 0x44, 0x65, 0x70, 0x74, 0x68, 0x28, 0x76, 0x66, 0x33, 0x3B, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x03, 0x00, 0x11, 0x00, 0x00, 0x00, 0x70, 0x6F, 0x73, 0x00, 0x05, 0x00, 0x08, 0x00, - 0x15, 0x00, 0x00, 0x00, 0x63, 0x6F, 0x6D, 0x70, 0x75, 0x74, 0x65, 0x4C, 0x69, 0x6E, 0x65, 0x61, - 0x72, 0x44, 0x65, 0x70, 0x74, 0x68, 0x28, 0x76, 0x66, 0x33, 0x3B, 0x00, 0x05, 0x00, 0x03, 0x00, - 0x14, 0x00, 0x00, 0x00, 0x70, 0x6F, 0x73, 0x00, 0x05, 0x00, 0x04, 0x00, 0x19, 0x00, 0x00, 0x00, - 0x63, 0x6F, 0x6F, 0x72, 0x64, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x1E, 0x00, 0x00, 0x00, - 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, - 0x21, 0x00, 0x00, 0x00, 0x67, 0x72, 0x69, 0x64, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, - 0x2C, 0x00, 0x00, 0x00, 0x6C, 0x69, 0x6E, 0x65, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, - 0x35, 0x00, 0x00, 0x00, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6C, 0x65, 0x00, 0x05, 0x00, 0x04, 0x00, - 0x3B, 0x00, 0x00, 0x00, 0x63, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, - 0x3F, 0x00, 0x00, 0x00, 0x6D, 0x69, 0x6E, 0x69, 0x6D, 0x75, 0x6D, 0x78, 0x00, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x05, 0x00, 0x66, 0x00, 0x00, 0x00, 0x6D, 0x69, 0x6E, 0x69, 0x6D, 0x75, 0x6D, 0x7A, - 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x89, 0x00, 0x00, 0x00, 0x63, 0x6C, 0x69, 0x70, - 0x5F, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5F, 0x70, 0x6F, 0x73, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, - 0x8B, 0x00, 0x00, 0x00, 0x43, 0x61, 0x6D, 0x65, 0x72, 0x61, 0x44, 0x61, 0x74, 0x61, 0x00, 0x00, - 0x06, 0x00, 0x07, 0x00, 0x8B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x69, 0x65, 0x77, - 0x50, 0x72, 0x6F, 0x6A, 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, - 0x8B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x06, 0x00, 0x8B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x70, 0x72, 0x6F, 0x6A, - 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x8B, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x63, 0x61, 0x6D, 0x50, 0x6F, 0x73, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, - 0x8B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6E, 0x65, 0x61, 0x72, 0x00, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x04, 0x00, 0x8B, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x66, 0x61, 0x72, 0x00, - 0x05, 0x00, 0x03, 0x00, 0x8D, 0x00, 0x00, 0x00, 0x63, 0x61, 0x6D, 0x00, 0x05, 0x00, 0x06, 0x00, - 0xA0, 0x00, 0x00, 0x00, 0x63, 0x6C, 0x69, 0x70, 0x5F, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5F, 0x70, - 0x6F, 0x73, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0xA9, 0x00, 0x00, 0x00, 0x63, 0x6C, 0x69, 0x70, - 0x5F, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5F, 0x64, 0x65, 0x70, 0x74, 0x68, 0x00, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x05, 0x00, 0xB1, 0x00, 0x00, 0x00, 0x6C, 0x69, 0x6E, 0x65, 0x61, 0x72, 0x44, 0x65, - 0x70, 0x74, 0x68, 0x00, 0x05, 0x00, 0x03, 0x00, 0xCF, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x05, 0x00, 0xD1, 0x00, 0x00, 0x00, 0x6E, 0x65, 0x61, 0x72, 0x50, 0x6F, 0x69, 0x6E, - 0x74, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xD6, 0x00, 0x00, 0x00, 0x66, 0x61, 0x72, 0x50, - 0x6F, 0x69, 0x6E, 0x74, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xDD, 0x00, 0x00, 0x00, - 0x66, 0x72, 0x61, 0x67, 0x50, 0x6F, 0x73, 0x33, 0x44, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, - 0xE6, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x46, 0x72, 0x61, 0x67, 0x44, 0x65, 0x70, 0x74, 0x68, - 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xE7, 0x00, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, - 0x6D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xEA, 0x00, 0x00, 0x00, 0x6C, 0x69, 0x6E, 0x65, - 0x61, 0x72, 0x44, 0x65, 0x70, 0x74, 0x68, 0x00, 0x05, 0x00, 0x04, 0x00, 0xEB, 0x00, 0x00, 0x00, - 0x70, 0x61, 0x72, 0x61, 0x6D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xEE, 0x00, 0x00, 0x00, - 0x66, 0x61, 0x64, 0x69, 0x6E, 0x67, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xF4, 0x00, 0x00, 0x00, - 0x6F, 0x75, 0x74, 0x43, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, - 0xF5, 0x00, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, - 0xF7, 0x00, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, - 0xFA, 0x00, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, - 0xFC, 0x00, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6D, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, - 0x8B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, - 0x8B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x05, 0x00, 0x8B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x8B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x8B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x23, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x8B, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, - 0x8B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, - 0x8B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x05, 0x00, 0x8B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x8B, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x23, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x8B, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, - 0x8B, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xD4, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x03, 0x00, 0x8B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, - 0x8D, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, - 0x8D, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, - 0xD1, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, - 0xD6, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, - 0xE6, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, - 0xF4, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x16, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, - 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x21, 0x00, 0x05, 0x00, - 0x0B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x21, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x17, 0x00, 0x04, 0x00, 0x17, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, - 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, - 0x15, 0x00, 0x04, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 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, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3F, - 0x20, 0x00, 0x04, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0xCD, 0xCC, 0x4C, 0x3E, - 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, - 0x14, 0x00, 0x02, 0x00, 0x45, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x00, 0x00, 0xCD, 0xCC, 0xCC, 0xBD, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x50, 0x00, 0x00, 0x00, 0xCD, 0xCC, 0xCC, 0x3D, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x57, 0x00, 0x00, 0x00, 0xCD, 0xCC, 0xCC, 0x3E, 0x2B, 0x00, 0x04, 0x00, 0x2D, 0x00, 0x00, 0x00, - 0x5F, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x2D, 0x00, 0x00, 0x00, - 0x61, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, 0x8A, 0x00, 0x00, 0x00, - 0x0A, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x08, 0x00, 0x8B, 0x00, 0x00, 0x00, - 0x8A, 0x00, 0x00, 0x00, 0x8A, 0x00, 0x00, 0x00, 0x8A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x8C, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x8C, 0x00, 0x00, 0x00, - 0x8D, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x8E, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x8E, 0x00, 0x00, 0x00, - 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x90, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x8A, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x8E, 0x00, 0x00, 0x00, - 0xB2, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xB3, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x8E, 0x00, 0x00, 0x00, - 0xB7, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xD0, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0xD0, 0x00, 0x00, 0x00, - 0xD1, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xD2, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0xD0, 0x00, 0x00, 0x00, - 0xD6, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xE5, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0xE5, 0x00, 0x00, 0x00, - 0xE6, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xF3, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0xF3, 0x00, 0x00, 0x00, - 0xF4, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0xF9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x36, 0x00, 0x05, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00, - 0x05, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0xCF, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0xDD, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0xE7, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0xEA, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0xEB, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0xEE, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0xF5, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0xF7, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0xFA, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0xD2, 0x00, 0x00, 0x00, 0xD3, 0x00, 0x00, 0x00, - 0xD1, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0xD4, 0x00, 0x00, 0x00, 0xD3, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0xD5, 0x00, 0x00, 0x00, 0xD4, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0xD2, 0x00, 0x00, 0x00, - 0xD7, 0x00, 0x00, 0x00, 0xD6, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0xD8, 0x00, 0x00, 0x00, 0xD7, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0xD2, 0x00, 0x00, 0x00, 0xD9, 0x00, 0x00, 0x00, 0xD1, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0xDA, 0x00, 0x00, 0x00, 0xD9, 0x00, 0x00, 0x00, - 0x83, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0xDB, 0x00, 0x00, 0x00, 0xD8, 0x00, 0x00, 0x00, - 0xDA, 0x00, 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0xDC, 0x00, 0x00, 0x00, - 0xD5, 0x00, 0x00, 0x00, 0xDB, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0xCF, 0x00, 0x00, 0x00, - 0xDC, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0xDE, 0x00, 0x00, 0x00, - 0xD1, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x00, - 0xCF, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, - 0xD6, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0xE1, 0x00, 0x00, 0x00, - 0xD1, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0xE2, 0x00, 0x00, 0x00, - 0xE0, 0x00, 0x00, 0x00, 0xE1, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, - 0xE3, 0x00, 0x00, 0x00, 0xE2, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, - 0x07, 0x00, 0x00, 0x00, 0xE4, 0x00, 0x00, 0x00, 0xDE, 0x00, 0x00, 0x00, 0xE3, 0x00, 0x00, 0x00, - 0x3E, 0x00, 0x03, 0x00, 0xDD, 0x00, 0x00, 0x00, 0xE4, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, - 0x07, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00, 0xDD, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, - 0xE7, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0xE9, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0xE7, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, - 0xE6, 0x00, 0x00, 0x00, 0xE9, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, - 0xEC, 0x00, 0x00, 0x00, 0xDD, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0xEB, 0x00, 0x00, 0x00, - 0xEC, 0x00, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0xED, 0x00, 0x00, 0x00, - 0x15, 0x00, 0x00, 0x00, 0xEB, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0xEA, 0x00, 0x00, 0x00, - 0xED, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, - 0xEA, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0xF1, 0x00, 0x00, 0x00, - 0x23, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x00, - 0xF2, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0xEF, 0x00, 0x00, 0x00, - 0xF1, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0xEE, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0xF6, 0x00, 0x00, 0x00, 0xDD, 0x00, 0x00, 0x00, - 0x3E, 0x00, 0x03, 0x00, 0xF5, 0x00, 0x00, 0x00, 0xF6, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, - 0xF7, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x39, 0x00, 0x06, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0xF8, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0xF5, 0x00, 0x00, 0x00, 0xF7, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0xFB, 0x00, 0x00, 0x00, 0xDD, 0x00, 0x00, 0x00, - 0x3E, 0x00, 0x03, 0x00, 0xFA, 0x00, 0x00, 0x00, 0xFB, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, - 0xFC, 0x00, 0x00, 0x00, 0xF9, 0x00, 0x00, 0x00, 0x39, 0x00, 0x06, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0xFD, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0xFA, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, - 0x50, 0x00, 0x07, 0x00, 0x0A, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, - 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, - 0x0A, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, - 0x81, 0x00, 0x05, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, - 0xFF, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, - 0xCF, 0x00, 0x00, 0x00, 0xBA, 0x00, 0x05, 0x00, 0x45, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, - 0x01, 0x01, 0x00, 0x00, 0xEF, 0x00, 0x00, 0x00, 0xA9, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x03, 0x01, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0xEF, 0x00, 0x00, 0x00, - 0x8E, 0x00, 0x05, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, - 0x03, 0x01, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0xF4, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x01, 0x00, 0x00, 0xEE, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0xE5, 0x00, 0x00, 0x00, 0x06, 0x01, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x00, - 0x61, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x01, 0x00, 0x00, - 0x06, 0x01, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, - 0x07, 0x01, 0x00, 0x00, 0x05, 0x01, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0xE5, 0x00, 0x00, 0x00, - 0x09, 0x01, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, - 0x09, 0x01, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, 0xFD, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, - 0x36, 0x00, 0x05, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0B, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, - 0x37, 0x00, 0x03, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00, - 0x0F, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, - 0x0C, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x07, 0x00, 0x17, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, - 0x1A, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, - 0x8E, 0x00, 0x05, 0x00, 0x17, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, - 0x1C, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x19, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x17, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, - 0xD1, 0x00, 0x04, 0x00, 0x17, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, - 0x3E, 0x00, 0x03, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, - 0x17, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x50, 0x00, 0x05, 0x00, - 0x17, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, - 0x83, 0x00, 0x05, 0x00, 0x17, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, - 0x24, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x17, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x50, 0x00, 0x05, 0x00, - 0x17, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, - 0x83, 0x00, 0x05, 0x00, 0x17, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, - 0x27, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x17, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, - 0x17, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, - 0x17, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, - 0x3E, 0x00, 0x03, 0x00, 0x21, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, - 0x31, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, - 0x32, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, - 0x3E, 0x00, 0x03, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x07, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, - 0x37, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x39, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, - 0x35, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x3E, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, - 0x2E, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, - 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, - 0x43, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, - 0x2E, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, - 0x46, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, - 0x3F, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x4A, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0xBA, 0x00, 0x05, 0x00, 0x45, 0x00, 0x00, 0x00, - 0x4B, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x4A, 0x00, 0x00, 0x00, 0xF7, 0x00, 0x03, 0x00, - 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0x00, 0x04, 0x00, 0x4B, 0x00, 0x00, 0x00, - 0x4C, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00, 0x4C, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, - 0x2E, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, - 0x4E, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, - 0x3F, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, - 0x50, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0xB8, 0x00, 0x05, 0x00, 0x45, 0x00, 0x00, 0x00, - 0x53, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0xF9, 0x00, 0x02, 0x00, - 0x4D, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00, 0x4D, 0x00, 0x00, 0x00, 0xF5, 0x00, 0x07, 0x00, - 0x45, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, - 0x53, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0xF7, 0x00, 0x03, 0x00, 0x56, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xFA, 0x00, 0x04, 0x00, 0x54, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, - 0x56, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00, 0x55, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, - 0x0A, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x07, 0x00, - 0x17, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x05, 0x00, 0x17, 0x00, 0x00, 0x00, - 0x5A, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, - 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x5B, 0x00, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, - 0x31, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00, - 0x5A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x5D, 0x00, 0x00, 0x00, - 0x5E, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, - 0x3B, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x60, 0x00, 0x00, 0x00, - 0x36, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, - 0x3B, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x63, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x64, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, - 0x3E, 0x00, 0x03, 0x00, 0x65, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0xF9, 0x00, 0x02, 0x00, - 0x56, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00, 0x56, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, - 0x0C, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x25, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x6A, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, - 0x3E, 0x00, 0x03, 0x00, 0x66, 0x00, 0x00, 0x00, 0x6A, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x6B, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x6B, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x6D, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, - 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, - 0x6D, 0x00, 0x00, 0x00, 0xBA, 0x00, 0x05, 0x00, 0x45, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x00, - 0x6C, 0x00, 0x00, 0x00, 0x6E, 0x00, 0x00, 0x00, 0xF7, 0x00, 0x03, 0x00, 0x71, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xFA, 0x00, 0x04, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, - 0x71, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00, 0x70, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, - 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, - 0x74, 0x00, 0x00, 0x00, 0xB8, 0x00, 0x05, 0x00, 0x45, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, - 0x73, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0xF9, 0x00, 0x02, 0x00, 0x71, 0x00, 0x00, 0x00, - 0xF8, 0x00, 0x02, 0x00, 0x71, 0x00, 0x00, 0x00, 0xF5, 0x00, 0x07, 0x00, 0x45, 0x00, 0x00, 0x00, - 0x77, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, - 0x70, 0x00, 0x00, 0x00, 0xF7, 0x00, 0x03, 0x00, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFA, 0x00, 0x04, 0x00, 0x77, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, - 0xF8, 0x00, 0x02, 0x00, 0x78, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x7A, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, - 0x7A, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x7B, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x07, 0x00, 0x17, 0x00, 0x00, 0x00, - 0x7C, 0x00, 0x00, 0x00, 0x7B, 0x00, 0x00, 0x00, 0x7B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x05, 0x00, 0x17, 0x00, 0x00, 0x00, 0x7D, 0x00, 0x00, 0x00, - 0x7C, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x7E, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x7D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3E, 0x00, 0x03, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, - 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x7D, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x80, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, - 0x61, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, - 0x82, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, - 0x83, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x85, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, - 0x85, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0xF9, 0x00, 0x02, 0x00, 0x79, 0x00, 0x00, 0x00, - 0xF8, 0x00, 0x02, 0x00, 0x79, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x86, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x02, 0x00, 0x86, 0x00, 0x00, 0x00, - 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x11, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00, 0x13, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, - 0x3A, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x90, 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00, 0x8F, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x8A, 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x93, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, - 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0x93, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x95, 0x00, 0x00, 0x00, - 0x93, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x96, 0x00, 0x00, 0x00, 0x93, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, - 0x0A, 0x00, 0x00, 0x00, 0x97, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0x95, 0x00, 0x00, 0x00, - 0x96, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x91, 0x00, 0x05, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x98, 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x97, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, - 0x89, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x99, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x9A, 0x00, 0x00, 0x00, 0x99, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x9B, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x9C, 0x00, 0x00, 0x00, 0x9B, 0x00, 0x00, 0x00, - 0x88, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x9D, 0x00, 0x00, 0x00, 0x9A, 0x00, 0x00, 0x00, - 0x9C, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x02, 0x00, 0x9D, 0x00, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, - 0x36, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, - 0xF8, 0x00, 0x02, 0x00, 0x16, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x3A, 0x00, 0x00, 0x00, - 0xA0, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, - 0xA9, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, - 0xB1, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x90, 0x00, 0x00, 0x00, - 0xA1, 0x00, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00, 0x8F, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, - 0x8A, 0x00, 0x00, 0x00, 0xA2, 0x00, 0x00, 0x00, 0xA1, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, - 0x07, 0x00, 0x00, 0x00, 0xA3, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0xA5, 0x00, 0x00, 0x00, 0xA3, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x00, - 0xA3, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0xA7, 0x00, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0xA5, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x00, - 0x36, 0x00, 0x00, 0x00, 0x91, 0x00, 0x05, 0x00, 0x0A, 0x00, 0x00, 0x00, 0xA8, 0x00, 0x00, 0x00, - 0xA2, 0x00, 0x00, 0x00, 0xA7, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0xA0, 0x00, 0x00, 0x00, - 0xA8, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x00, 0x00, - 0xA0, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0xAB, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, - 0xAC, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0xAD, 0x00, 0x00, 0x00, 0xAC, 0x00, 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0xAE, 0x00, 0x00, 0x00, 0xAB, 0x00, 0x00, 0x00, 0xAD, 0x00, 0x00, 0x00, - 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0xAF, 0x00, 0x00, 0x00, 0xAE, 0x00, 0x00, 0x00, - 0x40, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0xB0, 0x00, 0x00, 0x00, - 0xAF, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0xA9, 0x00, 0x00, 0x00, - 0xB0, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0xB3, 0x00, 0x00, 0x00, 0xB4, 0x00, 0x00, 0x00, - 0x8D, 0x00, 0x00, 0x00, 0xB2, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0xB5, 0x00, 0x00, 0x00, 0xB4, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0xB6, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0xB5, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, - 0xB3, 0x00, 0x00, 0x00, 0xB8, 0x00, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00, 0xB7, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0xB9, 0x00, 0x00, 0x00, 0xB8, 0x00, 0x00, 0x00, - 0x85, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0xBA, 0x00, 0x00, 0x00, 0xB6, 0x00, 0x00, 0x00, - 0xB9, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0xB3, 0x00, 0x00, 0x00, 0xBB, 0x00, 0x00, 0x00, - 0x8D, 0x00, 0x00, 0x00, 0xB7, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0xBC, 0x00, 0x00, 0x00, 0xBB, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0xB3, 0x00, 0x00, 0x00, - 0xBD, 0x00, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00, 0xB2, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0xBE, 0x00, 0x00, 0x00, 0xBD, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0xBF, 0x00, 0x00, 0x00, 0xBC, 0x00, 0x00, 0x00, 0xBE, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0xA9, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0xB3, 0x00, 0x00, 0x00, 0xC1, 0x00, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00, - 0xB7, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0xC2, 0x00, 0x00, 0x00, - 0xC1, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0xB3, 0x00, 0x00, 0x00, 0xC3, 0x00, 0x00, 0x00, - 0x8D, 0x00, 0x00, 0x00, 0xB2, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0xC4, 0x00, 0x00, 0x00, 0xC3, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0xC5, 0x00, 0x00, 0x00, 0xC2, 0x00, 0x00, 0x00, 0xC4, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, - 0x06, 0x00, 0x00, 0x00, 0xC6, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0xC5, 0x00, 0x00, 0x00, - 0x83, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0xC7, 0x00, 0x00, 0x00, 0xBF, 0x00, 0x00, 0x00, - 0xC6, 0x00, 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0xC8, 0x00, 0x00, 0x00, - 0xBA, 0x00, 0x00, 0x00, 0xC7, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0xB1, 0x00, 0x00, 0x00, - 0xC8, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0xC9, 0x00, 0x00, 0x00, - 0xB1, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0xB3, 0x00, 0x00, 0x00, 0xCA, 0x00, 0x00, 0x00, - 0x8D, 0x00, 0x00, 0x00, 0xB7, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0xCB, 0x00, 0x00, 0x00, 0xCA, 0x00, 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0xCC, 0x00, 0x00, 0x00, 0xC9, 0x00, 0x00, 0x00, 0xCB, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x02, 0x00, - 0xCC, 0x00, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00 -}; - -/* Contents of file grid.vert.spv */ -const long int grid_vert_spv_size = 3340; -const unsigned char grid_vert_spv[3340] = { - 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x0B, 0x00, 0x08, 0x00, 0x70, 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, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, - 0x00, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, - 0x68, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0xC2, 0x01, 0x00, 0x00, - 0x04, 0x00, 0x09, 0x00, 0x47, 0x4C, 0x5F, 0x41, 0x52, 0x42, 0x5F, 0x73, 0x65, 0x70, 0x61, 0x72, - 0x61, 0x74, 0x65, 0x5F, 0x73, 0x68, 0x61, 0x64, 0x65, 0x72, 0x5F, 0x6F, 0x62, 0x6A, 0x65, 0x63, - 0x74, 0x73, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, - 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x0B, 0x00, 0x12, 0x00, 0x00, 0x00, 0x55, 0x6E, 0x70, 0x72, - 0x6F, 0x6A, 0x65, 0x63, 0x74, 0x50, 0x6F, 0x69, 0x6E, 0x74, 0x28, 0x66, 0x31, 0x3B, 0x66, 0x31, - 0x3B, 0x66, 0x31, 0x3B, 0x6D, 0x66, 0x34, 0x34, 0x3B, 0x6D, 0x66, 0x34, 0x34, 0x3B, 0x00, 0x00, - 0x05, 0x00, 0x03, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, - 0x0E, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0x0F, 0x00, 0x00, 0x00, - 0x7A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x76, 0x69, 0x65, 0x77, - 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x00, 0x70, 0x72, 0x6F, 0x6A, - 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x18, 0x00, 0x00, 0x00, - 0x67, 0x72, 0x69, 0x64, 0x50, 0x6C, 0x61, 0x6E, 0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, - 0x22, 0x00, 0x00, 0x00, 0x75, 0x6E, 0x70, 0x72, 0x6F, 0x6A, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, - 0x6F, 0x69, 0x6E, 0x74, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x23, 0x00, 0x00, 0x00, - 0x43, 0x61, 0x6D, 0x65, 0x72, 0x61, 0x44, 0x61, 0x74, 0x61, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, - 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6F, 0x6A, - 0x65, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x23, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, - 0x23, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x70, 0x72, 0x6F, 0x6A, 0x65, 0x63, 0x74, 0x69, - 0x6F, 0x6E, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x23, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x63, 0x61, 0x6D, 0x50, 0x6F, 0x73, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0x25, 0x00, 0x00, 0x00, - 0x63, 0x61, 0x6D, 0x00, 0x05, 0x00, 0x03, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x06, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x56, 0x65, 0x72, 0x74, 0x65, - 0x78, 0x49, 0x6E, 0x64, 0x65, 0x78, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x43, 0x00, 0x00, 0x00, - 0x6E, 0x65, 0x61, 0x72, 0x50, 0x6F, 0x69, 0x6E, 0x74, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, - 0x46, 0x00, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, - 0x4A, 0x00, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, - 0x4E, 0x00, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, - 0x4F, 0x00, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, - 0x52, 0x00, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, - 0x56, 0x00, 0x00, 0x00, 0x66, 0x61, 0x72, 0x50, 0x6F, 0x69, 0x6E, 0x74, 0x00, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x04, 0x00, 0x57, 0x00, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6D, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x04, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6D, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x04, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6D, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x04, 0x00, 0x5E, 0x00, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6D, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x04, 0x00, 0x61, 0x00, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6D, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x50, 0x65, 0x72, 0x56, 0x65, - 0x72, 0x74, 0x65, 0x78, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x50, 0x6F, 0x73, 0x69, 0x74, 0x69, 0x6F, 0x6E, 0x00, - 0x06, 0x00, 0x07, 0x00, 0x66, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x50, - 0x6F, 0x69, 0x6E, 0x74, 0x53, 0x69, 0x7A, 0x65, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, - 0x66, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x43, 0x6C, 0x69, 0x70, 0x44, - 0x69, 0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, 0x00, 0x06, 0x00, 0x07, 0x00, 0x66, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x43, 0x75, 0x6C, 0x6C, 0x44, 0x69, 0x73, 0x74, 0x61, - 0x6E, 0x63, 0x65, 0x00, 0x05, 0x00, 0x03, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x04, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x05, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x23, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x23, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, - 0x23, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x04, 0x00, 0x23, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x05, 0x00, 0x23, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, - 0x80, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x23, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x23, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, - 0x23, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x25, 0x00, 0x00, 0x00, - 0x22, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x25, 0x00, 0x00, 0x00, - 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x3D, 0x00, 0x00, 0x00, - 0x0B, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x43, 0x00, 0x00, 0x00, - 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x56, 0x00, 0x00, 0x00, - 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x66, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, - 0x66, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x05, 0x00, 0x66, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x66, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x0B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x66, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x21, 0x00, 0x08, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x0A, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x14, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, - 0x04, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x04, 0x00, 0x16, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, - 0x15, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x17, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x16, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x17, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x80, 0x3F, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x06, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, - 0x19, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xBF, 0x2C, 0x00, 0x06, 0x00, - 0x0B, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, - 0x1A, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x06, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, - 0x19, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x06, 0x00, - 0x0B, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, - 0x1A, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x07, 0x00, 0x16, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, - 0x1B, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x21, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x1E, 0x00, 0x06, 0x00, 0x23, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x24, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x24, 0x00, 0x00, 0x00, - 0x25, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x26, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x26, 0x00, 0x00, 0x00, - 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x28, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x14, 0x00, 0x00, 0x00, - 0x33, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x3A, 0x00, 0x00, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x3C, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x3C, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x3F, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x42, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x42, 0x00, 0x00, 0x00, - 0x43, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x26, 0x00, 0x00, 0x00, - 0x44, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x26, 0x00, 0x00, 0x00, - 0x45, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x14, 0x00, 0x00, 0x00, - 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x14, 0x00, 0x00, 0x00, - 0x4B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x42, 0x00, 0x00, 0x00, - 0x56, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x00, - 0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x67, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, - 0x3B, 0x00, 0x04, 0x00, 0x67, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x04, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x36, 0x00, 0x05, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00, 0x05, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, - 0x3A, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x4A, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, - 0x0A, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, - 0x0A, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, - 0x0A, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, - 0x0A, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, - 0x18, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x26, 0x00, 0x00, 0x00, - 0x3E, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x3F, 0x00, 0x00, 0x00, - 0x40, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, - 0x0B, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, - 0x3B, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x48, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, - 0x46, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x4C, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, - 0x4A, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x4E, 0x00, 0x00, 0x00, - 0x1A, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x28, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, - 0x25, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x51, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x4F, 0x00, 0x00, 0x00, - 0x51, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x28, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, - 0x25, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x54, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x52, 0x00, 0x00, 0x00, - 0x54, 0x00, 0x00, 0x00, 0x39, 0x00, 0x09, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, - 0x12, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x4A, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00, - 0x4F, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00, - 0x55, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, - 0x3B, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x59, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x57, 0x00, 0x00, 0x00, - 0x59, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x00, 0x00, - 0x3B, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x5C, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x5A, 0x00, 0x00, 0x00, - 0x5C, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x28, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, - 0x44, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, - 0x5F, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x5E, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x28, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, - 0x45, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, - 0x62, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x61, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, - 0x39, 0x00, 0x09, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, - 0x57, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00, - 0x61, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x56, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, - 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x6A, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x6B, 0x00, 0x00, 0x00, - 0x69, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x6C, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, - 0x08, 0x00, 0x00, 0x00, 0x6D, 0x00, 0x00, 0x00, 0x6A, 0x00, 0x00, 0x00, 0x6B, 0x00, 0x00, 0x00, - 0x6C, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x6E, 0x00, 0x00, 0x00, - 0x6F, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, - 0x6F, 0x00, 0x00, 0x00, 0x6D, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, - 0x36, 0x00, 0x05, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0C, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, - 0x37, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, - 0x07, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x0A, 0x00, 0x00, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, - 0xF8, 0x00, 0x02, 0x00, 0x13, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x21, 0x00, 0x00, 0x00, - 0x22, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x28, 0x00, 0x00, 0x00, - 0x29, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x06, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, - 0x2A, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, - 0x0D, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, - 0x0E, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, - 0x0F, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x08, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, - 0x2C, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, - 0x91, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, - 0x2F, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x22, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, - 0x3D, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, - 0x4F, 0x00, 0x08, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, - 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, - 0x41, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, - 0x33, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, - 0x34, 0x00, 0x00, 0x00, 0x50, 0x00, 0x06, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, - 0x35, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, - 0x0B, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, - 0xFE, 0x00, 0x02, 0x00, 0x37, 0x00, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00 -}; - -const TFileTableEntry fileTable[] = { - {"background.frag.spv", background_frag_spv, 1076}, - {"background.vert.spv", background_vert_spv, 4180}, - {"basic.frag.spv", basic_frag_spv, 376}, - {"basicTexture.frag.spv", basicTexture_frag_spv, 668}, - {"basic.vert.spv", basic_vert_spv, 2972}, - {"grid.frag.spv", grid_frag_spv, 6472}, - {"grid.vert.spv", grid_vert_spv, 3340} -}; -const unsigned int fileTableSize = 7; diff --git a/openVulkanoCpp/Shader/Shaders.h b/openVulkanoCpp/Shader/Shaders.h deleted file mode 100644 index a2e1722..0000000 --- a/openVulkanoCpp/Shader/Shaders.h +++ /dev/null @@ -1,43 +0,0 @@ -/* Generated by bin2c, do not edit manually */ -#ifndef __Shaders_h_included -#define __Shaders_h_included - -/* Contents of file background.frag.spv */ -extern const long int background_frag_spv_size; -extern const unsigned char background_frag_spv[1076]; - -/* Contents of file background.vert.spv */ -extern const long int background_vert_spv_size; -extern const unsigned char background_vert_spv[4180]; - -/* Contents of file basic.frag.spv */ -extern const long int basic_frag_spv_size; -extern const unsigned char basic_frag_spv[376]; - -/* Contents of file basicTexture.frag.spv */ -extern const long int basicTexture_frag_spv_size; -extern const unsigned char basicTexture_frag_spv[668]; - -/* Contents of file basic.vert.spv */ -extern const long int basic_vert_spv_size; -extern const unsigned char basic_vert_spv[2972]; - -/* Contents of file grid.frag.spv */ -extern const long int grid_frag_spv_size; -extern const unsigned char grid_frag_spv[6472]; - -/* Contents of file grid.vert.spv */ -extern const long int grid_vert_spv_size; -extern const unsigned char grid_vert_spv[3340]; - -/* File table comprising original file name, address and size */ -typedef struct { - const char *entryName; - const unsigned char *data; - long int size; -} TFileTableEntry; - -extern const unsigned int fileTableSize; -extern const TFileTableEntry fileTable[]; - -#endif /* __Shaders_h_included */ From fa8b0aa57e02de19dac4498614ca9e7ab290158f Mon Sep 17 00:00:00 2001 From: ohyzha Date: Thu, 11 Jul 2024 11:56:08 +0300 Subject: [PATCH 02/15] rework CompileShaders script --- Scripts/CompileShaders.sh | 42 ++++++++++++++++++++++++++++----------- 1 file changed, 30 insertions(+), 12 deletions(-) diff --git a/Scripts/CompileShaders.sh b/Scripts/CompileShaders.sh index a433dc7..90db9d6 100644 --- a/Scripts/CompileShaders.sh +++ b/Scripts/CompileShaders.sh @@ -1,20 +1,38 @@ #!/bin/bash GENERATED_DATA_PATH="../openVulkanoCpp/GeneratedShaderData" -rm $GENERATED_DATA_PATH/*.h -rm $GENERATED_DATA_PATH/*.c +SHADER_PATH="../openVulkanoCpp/Shader" -for f in ../openVulkanoCpp/Shader/* ; do - if [[ "$f" == *.frag ]] || [[ "$f" == *.vert ]] - then - filename=$(basename -- "$f") - filename="${filename%.*}" - glslang -V $f -o $GENERATED_DATA_PATH/$filename.spv - bin2c -t -d $GENERATED_DATA_PATH/$filename.h -o $GENERATED_DATA_PATH/$filename.c $GENERATED_DATA_PATH/$filename.spv - sed -i 's/char \*entryName/const char *entryName/' $GENERATED_DATA_PATH/$filename.h - sed -i 's/const char \*data/const unsigned char *data/' $GENERATED_DATA_PATH/$filename.h - rm $GENERATED_DATA_PATH/$filename.spv +check_return_code() { + # return code of last executed command + retVal=$? + if [ $retVal -ne 0 ]; then + read -p "Press enter to continue" + exit 1 fi +} + +rm *.spv + +for f in $SHADER_PATH/*.vert ; do + filename=$(basename -- "$f") + filename_no_ext="${filename%.*}" + filename_no_ext_first_upper="${filename_no_ext^}" + + glslang -V $f -o $filename_no_ext.vert.spv + check_return_code + glslang -V $SHADER_PATH/$filename_no_ext.frag -o $filename_no_ext.frag.spv + check_return_code + rm $GENERATED_DATA_PATH/$filename_no_ext.h $GENERATED_DATA_PATH/$filename_no_ext.c + bin2c -t -d $GENERATED_DATA_PATH/$filename_no_ext.h -o $GENERATED_DATA_PATH/$filename_no_ext.c $filename_no_ext.vert.spv $filename_no_ext.frag.spv + check_return_code + sed -i 's/char \*entryName/const char *entryName/' $GENERATED_DATA_PATH/$filename_no_ext.h + sed -i 's/const char \*data/const unsigned char *data/' $GENERATED_DATA_PATH/$filename_no_ext.h + # avoid ODR violation + sed -i "s/fileTable/fileTable${filename_no_ext_first_upper}/" $GENERATED_DATA_PATH/$filename_no_ext.h $GENERATED_DATA_PATH/$filename_no_ext.c + sed -i "s/typedef struct {/#ifndef TFileTableEntry_H_INCLUDED\n#define TFileTableEntry_H_INCLUDED\ntypedef struct {/" $GENERATED_DATA_PATH/$filename_no_ext.h + sed -i "s/} TFileTableEntry;/} TFileTableEntry;\n#endif \/*TFileTableEntry_H_INCLUDED*\//" $GENERATED_DATA_PATH/$filename_no_ext.h + rm *.spv done read -p "Press enter to continue" From 9426f7dbf8a544d599087727b40b190cc14889f1 Mon Sep 17 00:00:00 2001 From: ohyzha Date: Thu, 11 Jul 2024 11:57:05 +0300 Subject: [PATCH 03/15] include shader files --- openVulkanoCpp/Shader/ShaderRegistry.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/openVulkanoCpp/Shader/ShaderRegistry.cpp b/openVulkanoCpp/Shader/ShaderRegistry.cpp index 400c552..9bbf05c 100644 --- a/openVulkanoCpp/Shader/ShaderRegistry.cpp +++ b/openVulkanoCpp/Shader/ShaderRegistry.cpp @@ -5,8 +5,12 @@ */ #include "ShaderRegistry.hpp" -extern "C" { - #include "Shaders.h" + +extern "C" +{ +#include "GeneratedShaderData/background.h" +#include "GeneratedShaderData/basic.h" +#include "GeneratedShaderData/grid.h" } namespace OpenVulkano @@ -19,17 +23,19 @@ namespace OpenVulkano ShaderRegistry::ShaderRegistry() { - RegisterShaderTable(reinterpret_cast(fileTable), fileTableSize); + RegisterShaderTable(reinterpret_cast(fileTableBackground), fileTableBackgroundSize); + RegisterShaderTable(reinterpret_cast(fileTableBasic), fileTableBasicSize); + RegisterShaderTable(reinterpret_cast(fileTableGrid), fileTableGridSize); } void ShaderRegistry::RegisterShaderTable(const ShaderTableEntry* table, uint32_t size) { - for(uint32_t i = 0; i < size; i++) + for (uint32_t i = 0; i < size; i++) { RegisterShader(table[i].entryName, { table[i].data, static_cast(table[i].size) }); } } - + void ShaderRegistry::RegisterShader(std::string_view name, std::pair shader) { m_shaderMap.emplace(name, shader); From a6caaeadf9f2e935bf17a517ae5ef8096ec31391 Mon Sep 17 00:00:00 2001 From: ohyzha Date: Thu, 11 Jul 2024 11:58:08 +0300 Subject: [PATCH 04/15] implement shaders auto recompilation on changes in vert or frag files --- CMakeLists.txt | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2935299..d7dd813 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -80,6 +80,28 @@ endif () SetupVulkan(openVulkanoCpp) +set(SHADER_SRC_FOLDER ${CMAKE_CURRENT_SOURCE_DIR}/openVulkanoCpp/Shader) +file(GLOB SHADER_VERT_FILES ${SHADER_SRC_FOLDER}/*.vert) +foreach(VERT_FILE ${SHADER_VERT_FILES}) + get_filename_component(FILENAME ${VERT_FILE} NAME) + string(REGEX REPLACE "[.]vert" ".c" OUTPUT_C ${FILENAME}) + string(REGEX REPLACE "[.]vert" ".h" OUTPUT_H ${FILENAME}) + list(APPEND OUTPUT_HEADERS ${CMAKE_SOURCE_DIR}/openVulkanoCpp/GeneratedShaderData/${OUTPUT_H}) + list(APPEND OUTPUT_SOURCES ${CMAKE_SOURCE_DIR}/openVulkanoCpp/GeneratedShaderData/${OUTPUT_C}) +endforeach() +file(GLOB SHADER_FRAG_FILES ${SHADER_SRC_FOLDER}/*.frag) +set(SHADER_SRC_FILES ${SHADER_VERT_FILES} ${SHADER_FRAG_FILES}) +set(SHADER_EXPECTED_OUTPUT ${OUTPUT_HEADERS} ${OUTPUT_SOURCES}) + +add_custom_command(OUTPUT ${SHADER_EXPECTED_OUTPUT} + COMMAND ${CMAKE_SOURCE_DIR}/Scripts/CompileShaders.sh + COMMAND ${CMAKE_SOURCE_DIR}/Scripts/checkme.sh + DEPENDS ${SHADER_SRC_FILES} + COMMENT "Recompiling shaders") +add_custom_target(RecompileShaders ALL + DEPENDS ${SHADER_EXPECTED_OUTPUT}) +add_dependencies(openVulkanoCpp RecompileShaders) + if (NOT ANDROID AND NOT IOS) target_link_libraries(openVulkanoCpp PRIVATE glfw pugixml) target_link_libraries(openVulkanoCpp PRIVATE ftxui::screen ftxui::dom ftxui::component) From a228dc2e470cc2e2148e8bcb6c830321ff7233cf Mon Sep 17 00:00:00 2001 From: ohyzha Date: Thu, 11 Jul 2024 14:33:50 +0300 Subject: [PATCH 05/15] fail cmake build on shader compilation failure --- CMakeLists.txt | 13 +++++++++---- Scripts/CompileShaders.sh | 6 +----- cmake/TryCompileShaders.cmake | 4 ++++ 3 files changed, 14 insertions(+), 9 deletions(-) create mode 100644 cmake/TryCompileShaders.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index d7dd813..a909cdd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -81,21 +81,26 @@ endif () SetupVulkan(openVulkanoCpp) set(SHADER_SRC_FOLDER ${CMAKE_CURRENT_SOURCE_DIR}/openVulkanoCpp/Shader) +set(SHADER_OUTPUT_FOLDER ${CMAKE_SOURCE_DIR}/openVulkanoCpp/GeneratedShaderData) + +if (NOT EXISTS ${SHADER_OUTPUT_FOLDER}) + file(MAKE_DIRECTORY ${SHADER_OUTPUT_FOLDER}) +endif () + file(GLOB SHADER_VERT_FILES ${SHADER_SRC_FOLDER}/*.vert) foreach(VERT_FILE ${SHADER_VERT_FILES}) get_filename_component(FILENAME ${VERT_FILE} NAME) string(REGEX REPLACE "[.]vert" ".c" OUTPUT_C ${FILENAME}) string(REGEX REPLACE "[.]vert" ".h" OUTPUT_H ${FILENAME}) - list(APPEND OUTPUT_HEADERS ${CMAKE_SOURCE_DIR}/openVulkanoCpp/GeneratedShaderData/${OUTPUT_H}) - list(APPEND OUTPUT_SOURCES ${CMAKE_SOURCE_DIR}/openVulkanoCpp/GeneratedShaderData/${OUTPUT_C}) + list(APPEND OUTPUT_HEADERS ${SHADER_OUTPUT_FOLDER}/${OUTPUT_H}) + list(APPEND OUTPUT_SOURCES ${SHADER_OUTPUT_FOLDER}/${OUTPUT_C}) endforeach() file(GLOB SHADER_FRAG_FILES ${SHADER_SRC_FOLDER}/*.frag) set(SHADER_SRC_FILES ${SHADER_VERT_FILES} ${SHADER_FRAG_FILES}) set(SHADER_EXPECTED_OUTPUT ${OUTPUT_HEADERS} ${OUTPUT_SOURCES}) add_custom_command(OUTPUT ${SHADER_EXPECTED_OUTPUT} - COMMAND ${CMAKE_SOURCE_DIR}/Scripts/CompileShaders.sh - COMMAND ${CMAKE_SOURCE_DIR}/Scripts/checkme.sh + COMMAND ${CMAKE_COMMAND} -DROOT_FOLDER=${CMAKE_SOURCE_DIR} -P ${CMAKE_SOURCE_DIR}/cmake/TryCompileShaders.cmake DEPENDS ${SHADER_SRC_FILES} COMMENT "Recompiling shaders") add_custom_target(RecompileShaders ALL diff --git a/Scripts/CompileShaders.sh b/Scripts/CompileShaders.sh index 90db9d6..e469dee 100644 --- a/Scripts/CompileShaders.sh +++ b/Scripts/CompileShaders.sh @@ -7,12 +7,11 @@ check_return_code() { # return code of last executed command retVal=$? if [ $retVal -ne 0 ]; then - read -p "Press enter to continue" exit 1 fi } -rm *.spv +rm -f *.spv for f in $SHADER_PATH/*.vert ; do filename=$(basename -- "$f") @@ -34,6 +33,3 @@ for f in $SHADER_PATH/*.vert ; do sed -i "s/} TFileTableEntry;/} TFileTableEntry;\n#endif \/*TFileTableEntry_H_INCLUDED*\//" $GENERATED_DATA_PATH/$filename_no_ext.h rm *.spv done - -read -p "Press enter to continue" - diff --git a/cmake/TryCompileShaders.cmake b/cmake/TryCompileShaders.cmake new file mode 100644 index 0000000..20f103b --- /dev/null +++ b/cmake/TryCompileShaders.cmake @@ -0,0 +1,4 @@ +execute_process(COMMAND bash -c "${ROOT_FOLDER}/Scripts/CompileShaders.sh" RESULT_VARIABLE res_var) +if(NOT "${res_var}" STREQUAL "0") + message(FATAL_ERROR "Failed to recompile shaders") +endif() From 864e734b9657b087a0e1ead1471ac553aeaa7630 Mon Sep 17 00:00:00 2001 From: ohyzha Date: Fri, 12 Jul 2024 09:55:06 +0300 Subject: [PATCH 06/15] make all shader files as a dependency to rebuild --- CMakeLists.txt | 31 ++----------- Scripts/CompileShaders.sh | 56 +++++++++++++++--------- cmake/SetShaderDependency.cmake | 24 ++++++++++ openVulkanoCpp/Shader/ShaderRegistry.cpp | 4 +- 4 files changed, 65 insertions(+), 50 deletions(-) create mode 100644 cmake/SetShaderDependency.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index a909cdd..e2cb97a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,6 +7,7 @@ include(cmake/SetCompilerSettings.cmake) include(cmake/SetupVulkan.cmake) include(cmake/Filter.cmake) include(cmake/AppleHelper.cmake) +include(cmake/SetShaderDependency.cmake) set(DEPENDENCY_MIRROR_FILE "DependencyMirrors.txt" CACHE STRING "Dependency mirror") VarsFromFile("${DEPENDENCY_MIRROR_FILE}") # Load mirror list (for CICD) @@ -79,33 +80,9 @@ if (WIN32) endif () SetupVulkan(openVulkanoCpp) - -set(SHADER_SRC_FOLDER ${CMAKE_CURRENT_SOURCE_DIR}/openVulkanoCpp/Shader) -set(SHADER_OUTPUT_FOLDER ${CMAKE_SOURCE_DIR}/openVulkanoCpp/GeneratedShaderData) - -if (NOT EXISTS ${SHADER_OUTPUT_FOLDER}) - file(MAKE_DIRECTORY ${SHADER_OUTPUT_FOLDER}) -endif () - -file(GLOB SHADER_VERT_FILES ${SHADER_SRC_FOLDER}/*.vert) -foreach(VERT_FILE ${SHADER_VERT_FILES}) - get_filename_component(FILENAME ${VERT_FILE} NAME) - string(REGEX REPLACE "[.]vert" ".c" OUTPUT_C ${FILENAME}) - string(REGEX REPLACE "[.]vert" ".h" OUTPUT_H ${FILENAME}) - list(APPEND OUTPUT_HEADERS ${SHADER_OUTPUT_FOLDER}/${OUTPUT_H}) - list(APPEND OUTPUT_SOURCES ${SHADER_OUTPUT_FOLDER}/${OUTPUT_C}) -endforeach() -file(GLOB SHADER_FRAG_FILES ${SHADER_SRC_FOLDER}/*.frag) -set(SHADER_SRC_FILES ${SHADER_VERT_FILES} ${SHADER_FRAG_FILES}) -set(SHADER_EXPECTED_OUTPUT ${OUTPUT_HEADERS} ${OUTPUT_SOURCES}) - -add_custom_command(OUTPUT ${SHADER_EXPECTED_OUTPUT} - COMMAND ${CMAKE_COMMAND} -DROOT_FOLDER=${CMAKE_SOURCE_DIR} -P ${CMAKE_SOURCE_DIR}/cmake/TryCompileShaders.cmake - DEPENDS ${SHADER_SRC_FILES} - COMMENT "Recompiling shaders") -add_custom_target(RecompileShaders ALL - DEPENDS ${SHADER_EXPECTED_OUTPUT}) -add_dependencies(openVulkanoCpp RecompileShaders) +SetShaderDependency(openVulkanoCpp + ${CMAKE_CURRENT_SOURCE_DIR}/openVulkanoCpp/Shader + ${CMAKE_SOURCE_DIR}/openVulkanoCpp/GeneratedShaderData) if (NOT ANDROID AND NOT IOS) target_link_libraries(openVulkanoCpp PRIVATE glfw pugixml) diff --git a/Scripts/CompileShaders.sh b/Scripts/CompileShaders.sh index e469dee..b7c9f6c 100644 --- a/Scripts/CompileShaders.sh +++ b/Scripts/CompileShaders.sh @@ -11,25 +11,41 @@ check_return_code() { fi } -rm -f *.spv +generate_general_shader_header() { + rm -f $GENERATED_DATA_PATH/GeneratedShaderData.h + touch $GENERATED_DATA_PATH/GeneratedShaderData.h +} -for f in $SHADER_PATH/*.vert ; do - filename=$(basename -- "$f") - filename_no_ext="${filename%.*}" - filename_no_ext_first_upper="${filename_no_ext^}" - - glslang -V $f -o $filename_no_ext.vert.spv - check_return_code - glslang -V $SHADER_PATH/$filename_no_ext.frag -o $filename_no_ext.frag.spv - check_return_code - rm $GENERATED_DATA_PATH/$filename_no_ext.h $GENERATED_DATA_PATH/$filename_no_ext.c - bin2c -t -d $GENERATED_DATA_PATH/$filename_no_ext.h -o $GENERATED_DATA_PATH/$filename_no_ext.c $filename_no_ext.vert.spv $filename_no_ext.frag.spv - check_return_code - sed -i 's/char \*entryName/const char *entryName/' $GENERATED_DATA_PATH/$filename_no_ext.h - sed -i 's/const char \*data/const unsigned char *data/' $GENERATED_DATA_PATH/$filename_no_ext.h - # avoid ODR violation - sed -i "s/fileTable/fileTable${filename_no_ext_first_upper}/" $GENERATED_DATA_PATH/$filename_no_ext.h $GENERATED_DATA_PATH/$filename_no_ext.c - sed -i "s/typedef struct {/#ifndef TFileTableEntry_H_INCLUDED\n#define TFileTableEntry_H_INCLUDED\ntypedef struct {/" $GENERATED_DATA_PATH/$filename_no_ext.h - sed -i "s/} TFileTableEntry;/} TFileTableEntry;\n#endif \/*TFileTableEntry_H_INCLUDED*\//" $GENERATED_DATA_PATH/$filename_no_ext.h - rm *.spv +rm -f *.spv +rm -f $GENERATED_DATA_PATH/*.h $GENERATED_DATA_PATH/*.c + +generate_general_shader_header +echo "// Auto generated file" >> $GENERATED_DATA_PATH/GeneratedShaderData.h +sed -i "$ a #ifndef GeneratedShaderData_H_INCLUDED\n#define GeneratedShaderData_H_INCLUDED\n" $GENERATED_DATA_PATH/GeneratedShaderData.h +sed -i "$ a extern \"C\" {" $GENERATED_DATA_PATH/GeneratedShaderData.h + +# put data from all files with same name into single file +unique_file_names=($(find $SHADER_PATH/ -type f ! -name '*.hpp' ! -name '*.cpp' | awk -F/ '{print $NF}' | awk -F. '{print $1}' | sort | uniq -d)) +for unique_name in ${unique_file_names[@]} ; do + same_files=$(find $SHADER_PATH/ -type f -name "${unique_name}.*") + for same_file in ${same_files[@]} ; do + filename_with_ext_no_path=$(basename -- "$same_file") + glslang -V $same_file -o $filename_with_ext_no_path.spv + check_return_code + done + + bin2c -t -d $GENERATED_DATA_PATH/$unique_name.h -o $GENERATED_DATA_PATH/$unique_name.c *.spv + check_return_code + sed -i "$ a #include \"${unique_name}.h\"" $GENERATED_DATA_PATH/GeneratedShaderData.h + rm *.spv + + filename_no_ext_first_upper="${unique_name^}" + sed -i 's/char \*entryName/const char *entryName/' $GENERATED_DATA_PATH/$unique_name.h + sed -i 's/const char \*data/const unsigned char *data/' $GENERATED_DATA_PATH/$unique_name.h + # avoid ODR violation + sed -i "s/fileTable/fileTable${filename_no_ext_first_upper}/" $GENERATED_DATA_PATH/$unique_name.h $GENERATED_DATA_PATH/$unique_name.c + sed -i "s/typedef struct {/#ifndef TFileTableEntry_H_INCLUDED\n#define TFileTableEntry_H_INCLUDED\ntypedef struct {/" $GENERATED_DATA_PATH/$unique_name.h + sed -i "s/} TFileTableEntry;/} TFileTableEntry;\n#endif \/*TFileTableEntry_H_INCLUDED*\//" $GENERATED_DATA_PATH/$unique_name.h done + +sed -i "$ a }\n#endif \/*GeneratedShaderData_H_INCLUDED*\/" $GENERATED_DATA_PATH/GeneratedShaderData.h diff --git a/cmake/SetShaderDependency.cmake b/cmake/SetShaderDependency.cmake new file mode 100644 index 0000000..432d5c4 --- /dev/null +++ b/cmake/SetShaderDependency.cmake @@ -0,0 +1,24 @@ +function(SetShaderDependency TARGET SHADER_SRC_FOLDER SHADER_OUTPUT_FOLDER) + if (NOT EXISTS ${SHADER_OUTPUT_FOLDER}) + file(MAKE_DIRECTORY ${SHADER_OUTPUT_FOLDER}) + endif () + + file(GLOB SHADER_SRC_FILES ${SHADER_SRC_FOLDER}/*) + list(FILTER SHADER_SRC_FILES EXCLUDE REGEX ".*\\.(hpp|cpp)$") + foreach(SHADER_FILE ${SHADER_SRC_FILES}) + get_filename_component(FILENAME ${SHADER_FILE} NAME_WLE) + if (NOT ${FILENAME} IN_LIST OUTPUT_HEADERS) + list(APPEND OUTPUT_HEADERS ${SHADER_OUTPUT_FOLDER}/${FILENAME}.h) + list(APPEND OUTPUT_SOURCES ${SHADER_OUTPUT_FOLDER}/${FILENAME}.c) + endif() + endforeach() + set(SHADER_EXPECTED_OUTPUT ${OUTPUT_HEADERS} ${OUTPUT_SOURCES}) + + add_custom_command(OUTPUT ${SHADER_EXPECTED_OUTPUT} + COMMAND ${CMAKE_COMMAND} -DROOT_FOLDER=${CMAKE_SOURCE_DIR} -P ${CMAKE_SOURCE_DIR}/cmake/TryCompileShaders.cmake + DEPENDS ${SHADER_SRC_FILES} + COMMENT "Recompiling shaders") + add_custom_target(RecompileShaders ALL + DEPENDS ${SHADER_EXPECTED_OUTPUT}) + add_dependencies(${TARGET} RecompileShaders) +endfunction(SetShaderDependency) \ No newline at end of file diff --git a/openVulkanoCpp/Shader/ShaderRegistry.cpp b/openVulkanoCpp/Shader/ShaderRegistry.cpp index 9bbf05c..f271def 100644 --- a/openVulkanoCpp/Shader/ShaderRegistry.cpp +++ b/openVulkanoCpp/Shader/ShaderRegistry.cpp @@ -8,9 +8,7 @@ extern "C" { -#include "GeneratedShaderData/background.h" -#include "GeneratedShaderData/basic.h" -#include "GeneratedShaderData/grid.h" +#include "GeneratedShaderData/GeneratedShaderData.h" } namespace OpenVulkano From e374d1957131d2d39bfba95d9e29631224ad1464 Mon Sep 17 00:00:00 2001 From: ohyzha Date: Thu, 11 Jul 2024 16:10:59 +0300 Subject: [PATCH 07/15] Set CompileShaders.sh permissions --- Scripts/CompileShaders.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 Scripts/CompileShaders.sh diff --git a/Scripts/CompileShaders.sh b/Scripts/CompileShaders.sh old mode 100644 new mode 100755 From e6d46dcd274434554cb7ac5637931666bfe2353a Mon Sep 17 00:00:00 2001 From: GeorgH93 Date: Thu, 11 Jul 2024 23:10:52 +0200 Subject: [PATCH 08/15] Add glslang as build dependency --- .gitea/workflows/build_pc.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/build_pc.yml b/.gitea/workflows/build_pc.yml index ee12a79..886b3cd 100644 --- a/.gitea/workflows/build_pc.yml +++ b/.gitea/workflows/build_pc.yml @@ -43,7 +43,7 @@ jobs: cache: true - name: Install Dev Packages if: matrix.config.os == 'ubuntu-latest' - run: sudo apt update && sudo apt install -y extra-cmake-modules libwayland-dev libxkbcommon-dev xorg-dev libarchive-dev libassimp-dev ninja-build + run: sudo apt update && sudo apt install -y extra-cmake-modules libwayland-dev libxkbcommon-dev xorg-dev libarchive-dev libassimp-dev ninja-build glslang-tools glslang-dev - name: Configure CMake run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DDEPENDENCY_MIRROR_FILE="${{github.workspace}}/.gitea/workflows/DependencyMirrors.txt" - name: Build @@ -52,4 +52,4 @@ jobs: working-directory: ${{github.workspace}}/build run: ctest -C ${{env.BUILD_TYPE}} - #TODO archive executables \ No newline at end of file + #TODO archive executables From e2cf786dafe2cdb36b2da658b7e2e754bcc7b9b5 Mon Sep 17 00:00:00 2001 From: ohyzha Date: Fri, 12 Jul 2024 16:12:52 +0300 Subject: [PATCH 09/15] add gitattributes file --- .gitattributes | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..5783af6 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,3 @@ +# Set line endings to LF, even on Windows. Otherwise, execution within Docker fails. +# See https://help.github.com/articles/dealing-with-line-endings/ +*.sh text eol=lf \ No newline at end of file From f158299dc2543362df6067f3f721aa4e5577cac4 Mon Sep 17 00:00:00 2001 From: ohyzha Date: Fri, 12 Jul 2024 16:16:14 +0300 Subject: [PATCH 10/15] build fixes --- CMakeLists.txt | 13 ++++- Scripts/CompileShaders.sh | 64 ++++++++++++++++-------- cmake/SetShaderDependency.cmake | 5 +- cmake/TryCompileShaders.cmake | 4 -- cmake/TryCompileShaders.cmake.in | 4 ++ openVulkanoCpp/Shader/ShaderRegistry.cpp | 10 ++-- 6 files changed, 67 insertions(+), 33 deletions(-) delete mode 100644 cmake/TryCompileShaders.cmake create mode 100644 cmake/TryCompileShaders.cmake.in diff --git a/CMakeLists.txt b/CMakeLists.txt index e2cb97a..4e5e9a8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -80,9 +80,18 @@ if (WIN32) endif () SetupVulkan(openVulkanoCpp) + +set(BASH_EXECUTABLE "" CACHE FILEPATH "Path to bash executable") +if ("${BASH_EXECUTABLE}" STREQUAL "") + find_program(BASH_PROGRAM bash NO_CACHE REQUIRED) + set(BASH_EXECUTABLE ${BASH_PROGRAM} CACHE FILEPATH "Path to bash executable" FORCE) +endif() +set(ROOT_FOLDER ${CMAKE_CURRENT_SOURCE_DIR}) +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/TryCompileShaders.cmake.in ${CMAKE_BINARY_DIR}/TryCompileShaders.cmake @ONLY) +execute_process(COMMAND ${BASH_EXECUTABLE} CompileShaders.sh WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Scripts) SetShaderDependency(openVulkanoCpp - ${CMAKE_CURRENT_SOURCE_DIR}/openVulkanoCpp/Shader - ${CMAKE_SOURCE_DIR}/openVulkanoCpp/GeneratedShaderData) + ${CMAKE_CURRENT_SOURCE_DIR}/openVulkanoCpp/Shader + ${CMAKE_CURRENT_SOURCE_DIR}/openVulkanoCpp/GeneratedShaderData) if (NOT ANDROID AND NOT IOS) target_link_libraries(openVulkanoCpp PRIVATE glfw pugixml) diff --git a/Scripts/CompileShaders.sh b/Scripts/CompileShaders.sh index b7c9f6c..db33bbb 100755 --- a/Scripts/CompileShaders.sh +++ b/Scripts/CompileShaders.sh @@ -1,7 +1,14 @@ #!/bin/bash -GENERATED_DATA_PATH="../openVulkanoCpp/GeneratedShaderData" -SHADER_PATH="../openVulkanoCpp/Shader" +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) +GENERATED_DATA_PATH="$(dirname "$SCRIPT_DIR")/openVulkanoCpp/GeneratedShaderData" +SHADER_PATH="$(dirname "$SCRIPT_DIR")/openVulkanoCpp/Shader" + +if [[ "$OSTYPE" == "msys" || "$OSTYPE" == "cygwin" ]]; then + SCRIPT_DIR=$(cygpath -w "$SCRIPT_DIR") + GENERATED_DATA_PATH=$(cygpath -w "$GENERATED_DATA_PATH") + SHADER_PATH=$(cygpath -w "$SHADER_PATH") +fi check_return_code() { # return code of last executed command @@ -11,41 +18,54 @@ check_return_code() { fi } -generate_general_shader_header() { - rm -f $GENERATED_DATA_PATH/GeneratedShaderData.h - touch $GENERATED_DATA_PATH/GeneratedShaderData.h -} - rm -f *.spv -rm -f $GENERATED_DATA_PATH/*.h $GENERATED_DATA_PATH/*.c +rm "$GENERATED_DATA_PATH"/* +touch "$GENERATED_DATA_PATH"/GeneratedShaderData.h -generate_general_shader_header -echo "// Auto generated file" >> $GENERATED_DATA_PATH/GeneratedShaderData.h -sed -i "$ a #ifndef GeneratedShaderData_H_INCLUDED\n#define GeneratedShaderData_H_INCLUDED\n" $GENERATED_DATA_PATH/GeneratedShaderData.h -sed -i "$ a extern \"C\" {" $GENERATED_DATA_PATH/GeneratedShaderData.h +echo "// Auto generated file" >> "$GENERATED_DATA_PATH"/GeneratedShaderData.h +echo -e "#ifndef GeneratedShaderData_H_INCLUDED\n#define GeneratedShaderData_H_INCLUDED\n" >> "$GENERATED_DATA_PATH"/GeneratedShaderData.h +echo -e "extern \"C\" {\n" >> "$GENERATED_DATA_PATH"/GeneratedShaderData.h # put data from all files with same name into single file -unique_file_names=($(find $SHADER_PATH/ -type f ! -name '*.hpp' ! -name '*.cpp' | awk -F/ '{print $NF}' | awk -F. '{print $1}' | sort | uniq -d)) +unique_file_names=($(find $SHADER_PATH/ -type f ! -name '*.hpp' ! -name '*.cpp' | awk -F/ '{print $NF}' | awk -F. '{print $1}' | sort | uniq)) +entriesCount="\nconst unsigned int entriesCount[] = {" +entries="const TFileTableEntry* entries[] = {" +len=${#unique_file_names[@]} +i=0 for unique_name in ${unique_file_names[@]} ; do same_files=$(find $SHADER_PATH/ -type f -name "${unique_name}.*") for same_file in ${same_files[@]} ; do filename_with_ext_no_path=$(basename -- "$same_file") - glslang -V $same_file -o $filename_with_ext_no_path.spv + glslangValidator -V $same_file -o $filename_with_ext_no_path.spv check_return_code done - bin2c -t -d $GENERATED_DATA_PATH/$unique_name.h -o $GENERATED_DATA_PATH/$unique_name.c *.spv + bin2c -t -d "$GENERATED_DATA_PATH"/$unique_name.h -o "$GENERATED_DATA_PATH"/$unique_name.c *.spv check_return_code - sed -i "$ a #include \"${unique_name}.h\"" $GENERATED_DATA_PATH/GeneratedShaderData.h + sed -i "$ a #include \"${unique_name}.h\"" "$GENERATED_DATA_PATH"/GeneratedShaderData.h rm *.spv filename_no_ext_first_upper="${unique_name^}" - sed -i 's/char \*entryName/const char *entryName/' $GENERATED_DATA_PATH/$unique_name.h - sed -i 's/const char \*data/const unsigned char *data/' $GENERATED_DATA_PATH/$unique_name.h + entriesCount+="fileTable${filename_no_ext_first_upper}Size" + entries+="fileTable${filename_no_ext_first_upper}" + + if [ $i -ne $((len-1)) ]; then + entriesCount+=",\n\t\t" + entries+=",\n\t\t" + fi + + sed -i "3s/.*/#include \"${unique_name}.h\"/" "$GENERATED_DATA_PATH"/$unique_name.c + sed -i 's/char \*entryName/const char *entryName/' "$GENERATED_DATA_PATH"/$unique_name.h + sed -i 's/const char \*data/const unsigned char *data/' "$GENERATED_DATA_PATH"/$unique_name.h # avoid ODR violation - sed -i "s/fileTable/fileTable${filename_no_ext_first_upper}/" $GENERATED_DATA_PATH/$unique_name.h $GENERATED_DATA_PATH/$unique_name.c - sed -i "s/typedef struct {/#ifndef TFileTableEntry_H_INCLUDED\n#define TFileTableEntry_H_INCLUDED\ntypedef struct {/" $GENERATED_DATA_PATH/$unique_name.h - sed -i "s/} TFileTableEntry;/} TFileTableEntry;\n#endif \/*TFileTableEntry_H_INCLUDED*\//" $GENERATED_DATA_PATH/$unique_name.h + sed -i "s/fileTable/fileTable${filename_no_ext_first_upper}/" "$GENERATED_DATA_PATH"/$unique_name.h $GENERATED_DATA_PATH/$unique_name.c + sed -i "s/typedef struct {/#ifndef TFileTableEntry_H_INCLUDED\n#define TFileTableEntry_H_INCLUDED\ntypedef struct {/" "$GENERATED_DATA_PATH"/$unique_name.h + sed -i "s/} TFileTableEntry;/} TFileTableEntry;\n#endif \/*TFileTableEntry_H_INCLUDED*\//" "$GENERATED_DATA_PATH"/$unique_name.h + ((i++)) done -sed -i "$ a }\n#endif \/*GeneratedShaderData_H_INCLUDED*\/" $GENERATED_DATA_PATH/GeneratedShaderData.h +entriesCount+=" };" +entries+=" };" +echo -e $entriesCount >> "$GENERATED_DATA_PATH"/GeneratedShaderData.h +echo -e $entries >> "$GENERATED_DATA_PATH"/GeneratedShaderData.h +echo -e "}\n#endif /*GeneratedShaderData_H_INCLUDED*/" >> "$GENERATED_DATA_PATH"/GeneratedShaderData.h diff --git a/cmake/SetShaderDependency.cmake b/cmake/SetShaderDependency.cmake index 432d5c4..ff78b1a 100644 --- a/cmake/SetShaderDependency.cmake +++ b/cmake/SetShaderDependency.cmake @@ -7,7 +7,8 @@ function(SetShaderDependency TARGET SHADER_SRC_FOLDER SHADER_OUTPUT_FOLDER) list(FILTER SHADER_SRC_FILES EXCLUDE REGEX ".*\\.(hpp|cpp)$") foreach(SHADER_FILE ${SHADER_SRC_FILES}) get_filename_component(FILENAME ${SHADER_FILE} NAME_WLE) - if (NOT ${FILENAME} IN_LIST OUTPUT_HEADERS) + if (NOT ${FILENAME} IN_LIST PROCESSED_FILES) + list(APPEND PROCESSED_FILES ${FILENAME}) list(APPEND OUTPUT_HEADERS ${SHADER_OUTPUT_FOLDER}/${FILENAME}.h) list(APPEND OUTPUT_SOURCES ${SHADER_OUTPUT_FOLDER}/${FILENAME}.c) endif() @@ -15,7 +16,7 @@ function(SetShaderDependency TARGET SHADER_SRC_FOLDER SHADER_OUTPUT_FOLDER) set(SHADER_EXPECTED_OUTPUT ${OUTPUT_HEADERS} ${OUTPUT_SOURCES}) add_custom_command(OUTPUT ${SHADER_EXPECTED_OUTPUT} - COMMAND ${CMAKE_COMMAND} -DROOT_FOLDER=${CMAKE_SOURCE_DIR} -P ${CMAKE_SOURCE_DIR}/cmake/TryCompileShaders.cmake + COMMAND ${CMAKE_COMMAND} -DROOT_FOLDER=${CMAKE_SOURCE_DIR} -P ${CMAKE_BINARY_DIR}/TryCompileShaders.cmake DEPENDS ${SHADER_SRC_FILES} COMMENT "Recompiling shaders") add_custom_target(RecompileShaders ALL diff --git a/cmake/TryCompileShaders.cmake b/cmake/TryCompileShaders.cmake deleted file mode 100644 index 20f103b..0000000 --- a/cmake/TryCompileShaders.cmake +++ /dev/null @@ -1,4 +0,0 @@ -execute_process(COMMAND bash -c "${ROOT_FOLDER}/Scripts/CompileShaders.sh" RESULT_VARIABLE res_var) -if(NOT "${res_var}" STREQUAL "0") - message(FATAL_ERROR "Failed to recompile shaders") -endif() diff --git a/cmake/TryCompileShaders.cmake.in b/cmake/TryCompileShaders.cmake.in new file mode 100644 index 0000000..fb957bc --- /dev/null +++ b/cmake/TryCompileShaders.cmake.in @@ -0,0 +1,4 @@ +execute_process(COMMAND "@BASH_EXECUTABLE@" CompileShaders.sh WORKING_DIRECTORY "@ROOT_FOLDER@/Scripts" RESULT_VARIABLE res_var) +if(NOT "${res_var}" STREQUAL "0") + message(FATAL_ERROR "Failed to recompile shaders") +endif() diff --git a/openVulkanoCpp/Shader/ShaderRegistry.cpp b/openVulkanoCpp/Shader/ShaderRegistry.cpp index f271def..479c1ea 100644 --- a/openVulkanoCpp/Shader/ShaderRegistry.cpp +++ b/openVulkanoCpp/Shader/ShaderRegistry.cpp @@ -5,6 +5,7 @@ */ #include "ShaderRegistry.hpp" +#include extern "C" { @@ -21,9 +22,12 @@ namespace OpenVulkano ShaderRegistry::ShaderRegistry() { - RegisterShaderTable(reinterpret_cast(fileTableBackground), fileTableBackgroundSize); - RegisterShaderTable(reinterpret_cast(fileTableBasic), fileTableBasicSize); - RegisterShaderTable(reinterpret_cast(fileTableGrid), fileTableGridSize); + assert(std::size(entriesCount) == std::size(entries)); + const unsigned int sz = std::size(entriesCount); + for (unsigned int i = 0; i < sz; i++) + { + RegisterShaderTable(reinterpret_cast(entries[i]), entriesCount[i]); + } } void ShaderRegistry::RegisterShaderTable(const ShaderTableEntry* table, uint32_t size) From 24f0c9409cf4bddf8ba6449f787d5e79c666e2ef Mon Sep 17 00:00:00 2001 From: ohyzha Date: Sat, 13 Jul 2024 20:21:06 +0300 Subject: [PATCH 11/15] add bin2c dependency --- .gitea/workflows/build_pc.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/build_pc.yml b/.gitea/workflows/build_pc.yml index 886b3cd..864c439 100644 --- a/.gitea/workflows/build_pc.yml +++ b/.gitea/workflows/build_pc.yml @@ -43,7 +43,9 @@ jobs: cache: true - name: Install Dev Packages if: matrix.config.os == 'ubuntu-latest' - run: sudo apt update && sudo apt install -y extra-cmake-modules libwayland-dev libxkbcommon-dev xorg-dev libarchive-dev libassimp-dev ninja-build glslang-tools glslang-dev + run: > + sudo apt update && sudo apt install -y extra-cmake-modules libwayland-dev libxkbcommon-dev xorg-dev libarchive-dev libassimp-dev ninja-build glslang-tools glslang-dev unzip + && sudo wget https://sourceforge.net/projects/bin2c/files/1.1/bin2c-1.1.zip && sudo unzip bin2c-1.1.zip && cd bin2c && sudo gcc -o bin2c bin2c.c && sudo mv bin2c /usr/bin - name: Configure CMake run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DDEPENDENCY_MIRROR_FILE="${{github.workspace}}/.gitea/workflows/DependencyMirrors.txt" - name: Build From 68122cbe2ad87ab491b21bcd8e5b9dfa5fd554e9 Mon Sep 17 00:00:00 2001 From: ohyzha Date: Sat, 13 Jul 2024 22:01:37 +0300 Subject: [PATCH 12/15] fix unresolved reference error --- CMakeLists.txt | 18 ++++++------ Scripts/CompileShaders.sh | 36 ++++++++++++++---------- openVulkanoCpp/Shader/ShaderRegistry.cpp | 2 +- 3 files changed, 31 insertions(+), 25 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4e5e9a8..6de6b78 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,6 +30,15 @@ if(NOT IOS) endif() SetOptimisationSettings() +set(BASH_EXECUTABLE "" CACHE FILEPATH "Path to bash executable") +if ("${BASH_EXECUTABLE}" STREQUAL "") + find_program(BASH_PROGRAM bash NO_CACHE REQUIRED) + set(BASH_EXECUTABLE ${BASH_PROGRAM} CACHE FILEPATH "Path to bash executable" FORCE) +endif() +set(ROOT_FOLDER ${CMAKE_CURRENT_SOURCE_DIR}) +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/TryCompileShaders.cmake.in ${CMAKE_BINARY_DIR}/TryCompileShaders.cmake @ONLY) +execute_process(COMMAND ${BASH_EXECUTABLE} CompileShaders.sh WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Scripts) + if(IOS) set(CMAKE_Swift_LANGUAGE_VERSION 5.0) enable_language(Swift) @@ -80,15 +89,6 @@ if (WIN32) endif () SetupVulkan(openVulkanoCpp) - -set(BASH_EXECUTABLE "" CACHE FILEPATH "Path to bash executable") -if ("${BASH_EXECUTABLE}" STREQUAL "") - find_program(BASH_PROGRAM bash NO_CACHE REQUIRED) - set(BASH_EXECUTABLE ${BASH_PROGRAM} CACHE FILEPATH "Path to bash executable" FORCE) -endif() -set(ROOT_FOLDER ${CMAKE_CURRENT_SOURCE_DIR}) -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/TryCompileShaders.cmake.in ${CMAKE_BINARY_DIR}/TryCompileShaders.cmake @ONLY) -execute_process(COMMAND ${BASH_EXECUTABLE} CompileShaders.sh WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Scripts) SetShaderDependency(openVulkanoCpp ${CMAKE_CURRENT_SOURCE_DIR}/openVulkanoCpp/Shader ${CMAKE_CURRENT_SOURCE_DIR}/openVulkanoCpp/GeneratedShaderData) diff --git a/Scripts/CompileShaders.sh b/Scripts/CompileShaders.sh index db33bbb..47f4cd7 100755 --- a/Scripts/CompileShaders.sh +++ b/Scripts/CompileShaders.sh @@ -19,19 +19,24 @@ check_return_code() { } rm -f *.spv -rm "$GENERATED_DATA_PATH"/* +rm -f "$GENERATED_DATA_PATH"/* touch "$GENERATED_DATA_PATH"/GeneratedShaderData.h +touch "$GENERATED_DATA_PATH"/GeneratedShaderData.c echo "// Auto generated file" >> "$GENERATED_DATA_PATH"/GeneratedShaderData.h -echo -e "#ifndef GeneratedShaderData_H_INCLUDED\n#define GeneratedShaderData_H_INCLUDED\n" >> "$GENERATED_DATA_PATH"/GeneratedShaderData.h -echo -e "extern \"C\" {\n" >> "$GENERATED_DATA_PATH"/GeneratedShaderData.h +echo -e "#ifndef GeneratedShaderData_H_INCLUDED\n#define GeneratedShaderData_H_INCLUDED" >> "$GENERATED_DATA_PATH"/GeneratedShaderData.h +#echo -e "extern \"C\" {" >> "$GENERATED_DATA_PATH"/GeneratedShaderData.h +echo -e "#include \"GeneratedShaderData.h\"" >> "$GENERATED_DATA_PATH"/GeneratedShaderData.c # put data from all files with same name into single file unique_file_names=($(find $SHADER_PATH/ -type f ! -name '*.hpp' ! -name '*.cpp' | awk -F/ '{print $NF}' | awk -F. '{print $1}' | sort | uniq)) -entriesCount="\nconst unsigned int entriesCount[] = {" -entries="const TFileTableEntry* entries[] = {" len=${#unique_file_names[@]} i=0 +entriesCountDef="\nconst unsigned int* entriesCount[${len}] = {" +entriesDef="const void* entries[${len}] = {" +entriesCountDecl="extern const unsigned int* entriesCount[${len}];" +entriesDecl="extern const void* entries[${len}];" +globalDefinitions="" for unique_name in ${unique_file_names[@]} ; do same_files=$(find $SHADER_PATH/ -type f -name "${unique_name}.*") for same_file in ${same_files[@]} ; do @@ -42,16 +47,18 @@ for unique_name in ${unique_file_names[@]} ; do bin2c -t -d "$GENERATED_DATA_PATH"/$unique_name.h -o "$GENERATED_DATA_PATH"/$unique_name.c *.spv check_return_code - sed -i "$ a #include \"${unique_name}.h\"" "$GENERATED_DATA_PATH"/GeneratedShaderData.h rm *.spv + echo -e "#include \"${unique_name}.h\"" >> "$GENERATED_DATA_PATH"/GeneratedShaderData.c filename_no_ext_first_upper="${unique_name^}" - entriesCount+="fileTable${filename_no_ext_first_upper}Size" - entries+="fileTable${filename_no_ext_first_upper}" + entriesCountDef+="&fileTable${filename_no_ext_first_upper}Size" + entriesDef+="fileTable${filename_no_ext_first_upper}" + globalDefinitions+="const unsigned int fileTable${filename_no_ext_first_upper}Size;\n" + globalDefinitions+="const TFileTableEntry fileTable${filename_no_ext_first_upper}[];\n" if [ $i -ne $((len-1)) ]; then - entriesCount+=",\n\t\t" - entries+=",\n\t\t" + entriesCountDef+=",\n\t\t" + entriesDef+=",\n\t\t" fi sed -i "3s/.*/#include \"${unique_name}.h\"/" "$GENERATED_DATA_PATH"/$unique_name.c @@ -64,8 +71,7 @@ for unique_name in ${unique_file_names[@]} ; do ((i++)) done -entriesCount+=" };" -entries+=" };" -echo -e $entriesCount >> "$GENERATED_DATA_PATH"/GeneratedShaderData.h -echo -e $entries >> "$GENERATED_DATA_PATH"/GeneratedShaderData.h -echo -e "}\n#endif /*GeneratedShaderData_H_INCLUDED*/" >> "$GENERATED_DATA_PATH"/GeneratedShaderData.h +entriesCountDef+=" };" +entriesDef+=" };" +echo -e "${entriesCountDecl}\n${entriesDecl}\\n#endif /*GeneratedShaderData_H_INCLUDED*/" >> "$GENERATED_DATA_PATH"/GeneratedShaderData.h +echo -e "\n${globalDefinitions}${entriesCountDef}\n${entriesDef}" >> "$GENERATED_DATA_PATH"/GeneratedShaderData.c diff --git a/openVulkanoCpp/Shader/ShaderRegistry.cpp b/openVulkanoCpp/Shader/ShaderRegistry.cpp index 479c1ea..0438f30 100644 --- a/openVulkanoCpp/Shader/ShaderRegistry.cpp +++ b/openVulkanoCpp/Shader/ShaderRegistry.cpp @@ -26,7 +26,7 @@ namespace OpenVulkano const unsigned int sz = std::size(entriesCount); for (unsigned int i = 0; i < sz; i++) { - RegisterShaderTable(reinterpret_cast(entries[i]), entriesCount[i]); + RegisterShaderTable(reinterpret_cast(entries[i]), *entriesCount[i]); } } From 74c6afc93d1d542486cf529171e0927d02cea362 Mon Sep 17 00:00:00 2001 From: GeorgH93 Date: Sun, 14 Jul 2024 18:10:20 +0200 Subject: [PATCH 13/15] Fix initial run on clean repo --- Scripts/CompileShaders.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/Scripts/CompileShaders.sh b/Scripts/CompileShaders.sh index 47f4cd7..374b102 100755 --- a/Scripts/CompileShaders.sh +++ b/Scripts/CompileShaders.sh @@ -20,6 +20,7 @@ check_return_code() { rm -f *.spv rm -f "$GENERATED_DATA_PATH"/* +mkdir "$GENERATED_DATA_PATH" touch "$GENERATED_DATA_PATH"/GeneratedShaderData.h touch "$GENERATED_DATA_PATH"/GeneratedShaderData.c From 7150425cba6a973fa5a1546c74defcaa177db0ee Mon Sep 17 00:00:00 2001 From: GeorgH93 Date: Sun, 14 Jul 2024 18:10:34 +0200 Subject: [PATCH 14/15] Fix duplicated symbols error --- Scripts/CompileShaders.sh | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Scripts/CompileShaders.sh b/Scripts/CompileShaders.sh index 374b102..bedd0c3 100755 --- a/Scripts/CompileShaders.sh +++ b/Scripts/CompileShaders.sh @@ -37,7 +37,6 @@ entriesCountDef="\nconst unsigned int* entriesCount[${len}] = {" entriesDef="const void* entries[${len}] = {" entriesCountDecl="extern const unsigned int* entriesCount[${len}];" entriesDecl="extern const void* entries[${len}];" -globalDefinitions="" for unique_name in ${unique_file_names[@]} ; do same_files=$(find $SHADER_PATH/ -type f -name "${unique_name}.*") for same_file in ${same_files[@]} ; do @@ -54,8 +53,6 @@ for unique_name in ${unique_file_names[@]} ; do filename_no_ext_first_upper="${unique_name^}" entriesCountDef+="&fileTable${filename_no_ext_first_upper}Size" entriesDef+="fileTable${filename_no_ext_first_upper}" - globalDefinitions+="const unsigned int fileTable${filename_no_ext_first_upper}Size;\n" - globalDefinitions+="const TFileTableEntry fileTable${filename_no_ext_first_upper}[];\n" if [ $i -ne $((len-1)) ]; then entriesCountDef+=",\n\t\t" @@ -75,4 +72,4 @@ done entriesCountDef+=" };" entriesDef+=" };" echo -e "${entriesCountDecl}\n${entriesDecl}\\n#endif /*GeneratedShaderData_H_INCLUDED*/" >> "$GENERATED_DATA_PATH"/GeneratedShaderData.h -echo -e "\n${globalDefinitions}${entriesCountDef}\n${entriesDef}" >> "$GENERATED_DATA_PATH"/GeneratedShaderData.c +echo -e "\n${entriesCountDef}\n${entriesDef}" >> "$GENERATED_DATA_PATH"/GeneratedShaderData.c From 2a791e5a6513125781b20bc38944637311bc6313 Mon Sep 17 00:00:00 2001 From: ohyzha Date: Mon, 15 Jul 2024 09:36:14 +0300 Subject: [PATCH 15/15] update readme --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2eaae75..abb8d88 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,11 @@ openVulkano is a simple Vulkan rendering engine which is capable of recording co ### Requirements: * Git * CMake -* C++ 17 compatible compiler +* C++ 20 compatible compiler +* Perl +* Bash +* glslang +* bin2c ### Required dependencies on linux ```bash sudo apt install extra-cmake-modules libarchive-dev libeigen3-dev