diff --git a/audio/decode/ad_spdif.c b/audio/decode/ad_spdif.c index decd972..e578434 100644 --- a/audio/decode/ad_spdif.c +++ b/audio/decode/ad_spdif.c @@ -53,7 +53,11 @@ struct spdifContext { struct mp_decoder public; }; +#if LIBAVCODEC_VERSION_MAJOR < 61 static int write_packet(void *p, uint8_t *buf, int buf_size) +#else +static int write_packet(void *p, const uint8_t *buf, int buf_size) +#endif { struct spdifContext *ctx = p; diff --git a/filters/f_lavfi.c b/filters/f_lavfi.c index 597cf91..c0596d3 100644 --- a/filters/f_lavfi.c +++ b/filters/f_lavfi.c @@ -1024,7 +1024,11 @@ static const char *get_avopt_type_name(enum AVOptionType type) case AV_OPT_TYPE_VIDEO_RATE: return "fps"; case AV_OPT_TYPE_DURATION: return "duration"; case AV_OPT_TYPE_COLOR: return "color"; +#if LIBAVUTIL_VERSION_MAJOR < 59 case AV_OPT_TYPE_CHANNEL_LAYOUT: return "channellayout"; +#else + case AV_OPT_TYPE_CHLAYOUT: return "channellayout"; +#endif case AV_OPT_TYPE_BOOL: return "bool"; case AV_OPT_TYPE_CONST: // fallthrough default: diff --git a/filters/f_swresample.c b/filters/f_swresample.c index fb1ef05..09148b5 100644 --- a/filters/f_swresample.c +++ b/filters/f_swresample.c @@ -23,6 +23,7 @@ #include #include "audio/aframe.h" +#include "audio/chmap_avchannel.h" #include "audio/fmt-conversion.h" #include "audio/format.h" #include "common/common.h" @@ -269,14 +270,28 @@ static bool configure_lavrr(struct priv *p, bool verbose) out_ch_layout = fudge_layout_conversion(p, in_ch_layout, out_ch_layout); +#if HAVE_AV_CHANNEL_LAYOUT // Real conversion; output is input to avrctx_out. + AVChannelLayout in_layout, out_layout; + mp_chmap_to_av_layout(&in_layout, &in_lavc); + mp_chmap_to_av_layout(&out_layout, &out_lavc); + av_opt_set_chlayout(p->avrctx, "in_chlayout", &in_layout, 0); + av_opt_set_chlayout(p->avrctx, "out_chlayout", &out_layout, 0); +#else av_opt_set_int(p->avrctx, "in_channel_layout", in_ch_layout, 0); av_opt_set_int(p->avrctx, "out_channel_layout", out_ch_layout, 0); +#endif av_opt_set_int(p->avrctx, "in_sample_rate", p->in_rate, 0); av_opt_set_int(p->avrctx, "out_sample_rate", p->out_rate, 0); av_opt_set_int(p->avrctx, "in_sample_fmt", in_samplefmt, 0); av_opt_set_int(p->avrctx, "out_sample_fmt", out_samplefmtp, 0); +#if HAVE_AV_CHANNEL_LAYOUT + AVChannelLayout fake_layout; + av_channel_layout_default(&fake_layout, map_out.num); + av_opt_set_chlayout(p->avrctx_out, "in_chlayout", &fake_layout, 0); + av_opt_set_chlayout(p->avrctx_out, "out_chlayout", &fake_layout, 0); +#else // Just needs the correct number of channels for deplanarization. struct mp_chmap fake_chmap; mp_chmap_set_unknown(&fake_chmap, map_out.num); @@ -285,6 +300,7 @@ static bool configure_lavrr(struct priv *p, bool verbose) goto error; av_opt_set_int(p->avrctx_out, "in_channel_layout", fake_out_ch_layout, 0); av_opt_set_int(p->avrctx_out, "out_channel_layout", fake_out_ch_layout, 0); +#endif av_opt_set_int(p->avrctx_out, "in_sample_fmt", out_samplefmtp, 0); av_opt_set_int(p->avrctx_out, "out_sample_fmt", out_samplefmt, 0); diff --git a/osdep/timer-linux.c b/osdep/timer-linux.c index 281a601..66a3bdb 100644 --- a/osdep/timer-linux.c +++ b/osdep/timer-linux.c @@ -24,6 +24,8 @@ #include #include "timer.h" +#undef _POSIX_TIMERS + void mp_sleep_us(int64_t us) { if (us < 0) diff --git a/osdep/timer.c b/osdep/timer.c index 8a52823..689c8f2 100644 --- a/osdep/timer.c +++ b/osdep/timer.c @@ -28,6 +28,8 @@ #include "misc/random.h" #include "timer.h" +#undef _POSIX_TIMERS + static uint64_t raw_time_offset; static pthread_once_t timer_init_once = PTHREAD_ONCE_INIT; diff --git a/video/out/opengl/ra_gl.c b/video/out/opengl/ra_gl.c index f535f1f..325daa6 100644 --- a/video/out/opengl/ra_gl.c +++ b/video/out/opengl/ra_gl.c @@ -6,6 +6,10 @@ static struct ra_fns ra_fns_gl; +#ifdef __PS4__ +#include "ra_ps4.h" +#endif + // For ra.priv struct ra_gl { GL *gl; @@ -749,13 +753,46 @@ static void compile_attach_shader(struct ra *ra, GLuint program, GL *gl = ra_gl_get(ra); GLuint shader = gl->CreateShader(type); +#ifdef __PS4__ + char hashstr[65]; + MP_VERBOSE(ra, "ps4_mpv_use_precompiled_shaders: %i, ps4_mpv_dump_shaders: %i\n", + ps4_mpv_use_precompiled_shaders, ps4_mpv_dump_shaders); + if(ps4_mpv_use_precompiled_shaders || ps4_mpv_dump_shaders) { + ps4_mpv_get_shader_hash(source, strlen(source), (char *) &hashstr); + MP_VERBOSE(ra, "compile_attach_shader: type: %s, sha: %s\n", shader_typestr(type), hashstr); + } + if(ps4_mpv_use_precompiled_shaders) { + ps4_shader *shader_bin = ps4_mpv_get_shader(hashstr); + if(shader_bin != NULL) { + MP_VERBOSE(ra, "compile_attach_shader: precompiled shader found, using it\n"); + glShaderBinary(1, &shader, 0, (const void *) shader_bin->src, shader_bin->size); + } else { + MP_VERBOSE(ra, "compile_attach_shader: precompiled shader not found, falling back to source compilation\n"); + gl->ShaderSource(shader, 1, &source, NULL); + } + } else { + gl->ShaderSource(shader, 1, &source, NULL); + } +#else gl->ShaderSource(shader, 1, &source, NULL); +#endif gl->CompileShader(shader); GLint status = 0; gl->GetShaderiv(shader, GL_COMPILE_STATUS, &status); GLint log_length = 0; gl->GetShaderiv(shader, GL_INFO_LOG_LENGTH, &log_length); - +#ifdef __PS4__ + if(ps4_mpv_dump_shaders) { + ps4_shader *shader_bin = ps4_mpv_get_shader(hashstr); + if(shader_bin == NULL) { + MP_VERBOSE(ra, "compile_attach_shader: precompiled shader not found, dumping\n"); + ps4_mpv_dump_shader(shader, "/data/", hashstr); + } else { + MP_VERBOSE(ra, "compile_attach_shader: precompiled shader found, skipping dump\n"); + } + } +#endif + int pri = status ? (log_length > 1 ? MSGL_V : MSGL_DEBUG) : MSGL_ERR; const char *typestr = shader_typestr(type); if (mp_msg_test(ra->log, pri)) { diff --git a/video/out/opengl/ra_ps4.c b/video/out/opengl/ra_ps4.c new file mode 100644 index 0000000..91e0479 --- /dev/null +++ b/video/out/opengl/ra_ps4.c @@ -0,0 +1,1535 @@ +#include +#include +#include +#include +#include "ra_ps4.h" + +// enable / disable precompiled shaders +int ps4_mpv_use_precompiled_shaders = 0; +int ps4_mpv_dump_shaders = 0; + +int ps4_shaders_list_size = 6; +ps4_shader ps4_shaders_list[6] = { + {ps4_vert_default_sha, ps4_vert_default, 1295}, + {ps4_frag_default_sha, ps4_frag_default, 2358}, + {ps4_frag_default_gamma_sha, ps4_frag_default_gamma, 2598}, + {ps4_vert_sub_sha, ps4_vert_sub, 1092}, + {ps4_frag_sub_sha, ps4_frag_sub, 1110}, + {ps4_frag_59EAFD_sha, ps4_frag_59EAFD, 7277} +}; + +int ps4_mpv_get_shader_hash(const char *prog, size_t len, char *out) { + struct AVSHA *sha = av_sha_alloc(); + av_sha_init(sha, 256); + av_sha_update(sha, prog, len); + + uint8_t hash[256 / 8]; + av_sha_final(sha, hash); + av_free(sha); + + for (int n = 0; n < 256 / 8; n++) { + snprintf(out + n * 2, 65 - n * 2, "%02X", hash[n]); + } + + return 0; +} + +ps4_shader *ps4_mpv_get_shader(const char *sha) { + for(int i=0; i 0) { + sprintf(dump_path, "%s/%s.c", path, name); + sceKernelDebugOutText(0, "ps4_mpv_dump_shader: dumping shader to: "); + sceKernelDebugOutText(0, dump_path); + + FILE *fp = fopen(dump_path, "w"); + fprintf(fp, "const char %s[%i] = {", name, size); + for (int i = 0; i < size; ++i) { + if (need_comma) + fprintf(fp, ", "); + else + need_comma = 1; + if ((i % 11) == 0) + fprintf(fp, "\n\t"); + fprintf(fp, "0x%.2x", buf[i] & 0xff); + } + fprintf(fp, "\n};\n\n"); + fclose(fp); + } else { + sceKernelDebugOutText(0, "ps4_mpv_dump_shader: glPigletGetShaderBinarySCE failed\n"); + } + + av_free(buf); +} + +// precompiled shaders + +const char ps4_vert_default[1295] = { + 0x71, 0xbc, 0x91, 0xe8, 0x64, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x87, 0x02, 0x00, 0x00, 0x23, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x20, 0x31, 0x30, 0x30, 0x0a, 0x23, 0x69, 0x66, 0x64, + 0x65, 0x66, 0x20, 0x47, 0x4c, 0x5f, 0x46, 0x52, 0x41, 0x47, 0x4d, + 0x45, 0x4e, 0x54, 0x5f, 0x50, 0x52, 0x45, 0x43, 0x49, 0x53, 0x49, + 0x4f, 0x4e, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x0a, 0x70, 0x72, 0x65, + 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x68, 0x69, 0x67, 0x68, + 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3b, 0x0a, 0x23, 0x65, + 0x6c, 0x73, 0x65, 0x0a, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x20, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, + 0x69, 0x66, 0x0a, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x20, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x73, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x3b, 0x0a, 0x23, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x78, 0x31, + 0x44, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x31, 0x44, + 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x74, 0x65, + 0x78, 0x33, 0x44, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, + 0x33, 0x44, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, + 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20, 0x74, 0x65, 0x78, + 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x0a, 0x23, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x55, 0x54, 0x5f, 0x50, 0x4f, 0x53, + 0x28, 0x78, 0x2c, 0x20, 0x6c, 0x75, 0x74, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x29, 0x20, 0x6d, 0x69, 0x78, 0x28, 0x30, 0x2e, 0x35, 0x20, + 0x2f, 0x20, 0x28, 0x6c, 0x75, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x29, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x20, 0x2d, 0x20, 0x30, 0x2e, + 0x35, 0x20, 0x2f, 0x20, 0x28, 0x6c, 0x75, 0x74, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x29, 0x2c, 0x20, 0x28, 0x78, 0x29, 0x29, 0x0a, 0x61, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x65, + 0x63, 0x32, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x0a, 0x61, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x65, 0x63, + 0x32, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x74, 0x65, + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, 0x0a, 0x76, 0x61, + 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, 0x0a, + 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, + 0x65, 0x63, 0x32, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x31, 0x3b, 0x0a, + 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, + 0x32, 0x20, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x31, + 0x3b, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, + 0x78, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x32, + 0x3b, 0x0a, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, + 0x65, 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, + 0x64, 0x32, 0x3b, 0x0a, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6d, 0x61, + 0x69, 0x6e, 0x28, 0x29, 0x20, 0x7b, 0x0a, 0x67, 0x6c, 0x5f, 0x50, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x76, + 0x65, 0x63, 0x34, 0x28, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x31, + 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x74, + 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3d, 0x20, + 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x74, 0x65, 0x78, 0x63, + 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, 0x0a, 0x74, 0x65, 0x78, 0x63, + 0x6f, 0x6f, 0x72, 0x64, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x72, + 0x74, 0x65, 0x78, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, + 0x64, 0x31, 0x3b, 0x0a, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, + 0x64, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, + 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x32, 0x3b, + 0x0a, 0x7d, 0x0a, 0x74, 0x02, 0x00, 0x00, 0x00, 0x04, 0xef, 0xbe, + 0x89, 0xda, 0xd7, 0x93, 0xc0, 0xc0, 0x0f, 0x39, 0x00, 0x01, 0x00, + 0x02, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53, + 0x68, 0x64, 0x72, 0x07, 0x00, 0x02, 0x00, 0x01, 0x12, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x48, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x44, 0x00, + 0x0c, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x00, + 0x12, 0x00, 0x00, 0x00, 0x17, 0x00, 0x02, 0x10, 0x00, 0x04, 0x02, + 0x00, 0x01, 0x08, 0x02, 0x00, 0x02, 0x0c, 0x02, 0x00, 0x03, 0x10, + 0x02, 0x00, 0x0f, 0x00, 0x10, 0x01, 0x11, 0x02, 0x00, 0x00, 0xff, + 0x03, 0xeb, 0xbe, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x21, 0x80, 0xbe, + 0xf2, 0x02, 0x00, 0x7e, 0x80, 0x02, 0x02, 0x7e, 0xcf, 0x08, 0x00, + 0xf8, 0x04, 0x05, 0x00, 0x00, 0x0f, 0x02, 0x00, 0xf8, 0x08, 0x09, + 0x01, 0x00, 0x1f, 0x02, 0x00, 0xf8, 0x0c, 0x0d, 0x01, 0x00, 0x2f, + 0x02, 0x00, 0xf8, 0x10, 0x11, 0x01, 0x00, 0x00, 0x00, 0x81, 0xbf, + 0x39, 0x6a, 0x06, 0x00, 0x10, 0x00, 0x00, 0x6b, 0x03, 0x0f, 0x03, + 0x00, 0x50, 0x50, 0x50, 0x50, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, + 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x17, 0x00, 0x02, 0x10, 0x0f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0xef, 0xbe, 0x00, 0x00, 0x4f, 0x72, 0x62, 0x53, 0x68, 0x64, 0x72, + 0x07, 0x45, 0x38, 0x00, 0x00, 0x04, 0x02, 0x0c, 0x03, 0x89, 0xda, + 0xd7, 0x93, 0xc0, 0xc0, 0x0f, 0x39, 0x92, 0xf9, 0x08, 0x3c, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xd8, 0x00, 0x00, 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x01, + 0x24, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, + 0x95, 0x00, 0x00, 0x00, 0x01, 0x24, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x9a, 0x00, 0x00, 0x00, 0xa7, 0x00, 0x00, 0x00, 0x01, 0x24, + 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0xac, 0x00, 0x00, 0x00, 0xb9, + 0x00, 0x00, 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xbe, 0x00, 0x00, 0x00, 0xc4, 0x00, 0x00, 0x00, 0x01, 0x24, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x00, 0x00, 0xc8, 0x00, + 0x00, 0x00, 0x01, 0x24, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0xc6, + 0x00, 0x00, 0x00, 0xcc, 0x00, 0x00, 0x00, 0x03, 0x2e, 0x00, 0x04, + 0x00, 0x00, 0x00, 0x00, 0xca, 0x00, 0x00, 0x00, 0xd2, 0x00, 0x00, + 0x00, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x56, 0x45, 0x52, 0x54, 0x45, + 0x58, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x00, + 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x74, 0x65, 0x78, 0x63, + 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x56, 0x45, 0x52, 0x54, 0x45, + 0x58, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, + 0x00, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x74, 0x65, 0x78, + 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x31, 0x00, 0x56, 0x45, 0x52, 0x54, + 0x45, 0x58, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, + 0x31, 0x00, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x74, 0x65, + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x32, 0x00, 0x56, 0x45, 0x52, + 0x54, 0x45, 0x58, 0x5f, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, + 0x44, 0x32, 0x00, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, + 0x30, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x30, + 0x00, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x31, 0x00, + 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x31, 0x00, 0x74, + 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x32, 0x00, 0x54, 0x45, + 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x32, 0x00, 0x67, 0x6c, 0x5f, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x28, 0x6e, + 0x6f, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x29, 0x00 +}; + +const char ps4_frag_default[2358] = { + 0x71, 0xbc, 0x91, 0xe8, 0x64, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x0e, 0x05, 0x00, 0x00, 0x23, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x20, 0x31, 0x30, 0x30, 0x0a, 0x23, 0x69, 0x66, 0x64, + 0x65, 0x66, 0x20, 0x47, 0x4c, 0x5f, 0x46, 0x52, 0x41, 0x47, 0x4d, + 0x45, 0x4e, 0x54, 0x5f, 0x50, 0x52, 0x45, 0x43, 0x49, 0x53, 0x49, + 0x4f, 0x4e, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x0a, 0x70, 0x72, 0x65, + 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x68, 0x69, 0x67, 0x68, + 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3b, 0x0a, 0x23, 0x65, + 0x6c, 0x73, 0x65, 0x0a, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x20, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, + 0x69, 0x66, 0x0a, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x20, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x73, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x3b, 0x0a, 0x23, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x78, 0x31, + 0x44, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x31, 0x44, + 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x74, 0x65, + 0x78, 0x33, 0x44, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, + 0x33, 0x44, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, + 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20, 0x74, 0x65, 0x78, + 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x0a, 0x23, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x55, 0x54, 0x5f, 0x50, 0x4f, 0x53, + 0x28, 0x78, 0x2c, 0x20, 0x6c, 0x75, 0x74, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x29, 0x20, 0x6d, 0x69, 0x78, 0x28, 0x30, 0x2e, 0x35, 0x20, + 0x2f, 0x20, 0x28, 0x6c, 0x75, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x29, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x20, 0x2d, 0x20, 0x30, 0x2e, + 0x35, 0x20, 0x2f, 0x20, 0x28, 0x6c, 0x75, 0x74, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x29, 0x2c, 0x20, 0x28, 0x78, 0x29, 0x29, 0x0a, 0x76, + 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, 0x32, + 0x20, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, + 0x0a, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, + 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, + 0x31, 0x3b, 0x0a, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, + 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, + 0x72, 0x64, 0x32, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, + 0x6d, 0x20, 0x6d, 0x61, 0x74, 0x33, 0x20, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x3b, 0x0a, 0x75, 0x6e, + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x20, + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, + 0x5f, 0x63, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, + 0x20, 0x76, 0x65, 0x63, 0x33, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x6c, + 0x75, 0x6d, 0x61, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, + 0x6d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x20, 0x64, 0x73, 0x74, 0x5f, + 0x6c, 0x75, 0x6d, 0x61, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, + 0x72, 0x6d, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, + 0x44, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x30, 0x3b, + 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x76, 0x65, + 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x30, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, + 0x6f, 0x72, 0x6d, 0x20, 0x6d, 0x61, 0x74, 0x32, 0x20, 0x74, 0x65, + 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x6f, 0x74, 0x30, 0x3b, + 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x76, 0x65, + 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, + 0x6f, 0x66, 0x66, 0x30, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, + 0x72, 0x6d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x70, 0x69, 0x78, + 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x30, 0x3b, 0x0a, 0x75, + 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x73, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x72, 0x32, 0x44, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, + 0x72, 0x65, 0x31, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, + 0x6d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x74, + 0x75, 0x72, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x31, 0x3b, 0x0a, + 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6d, 0x61, 0x74, + 0x32, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x72, + 0x6f, 0x74, 0x31, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, + 0x6d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x74, + 0x75, 0x72, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x31, 0x3b, 0x0a, 0x75, + 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x76, 0x65, 0x63, 0x32, + 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x31, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, + 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x20, 0x74, + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x3b, 0x0a, 0x75, 0x6e, + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, + 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x32, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, + 0x20, 0x6d, 0x61, 0x74, 0x32, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, + 0x72, 0x65, 0x5f, 0x72, 0x6f, 0x74, 0x32, 0x3b, 0x0a, 0x75, 0x6e, + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, + 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6f, 0x66, 0x66, + 0x32, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, + 0x76, 0x65, 0x63, 0x32, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x32, 0x3b, 0x0a, 0x76, 0x6f, 0x69, 0x64, + 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x29, 0x20, 0x7b, 0x0a, 0x76, + 0x65, 0x63, 0x34, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, + 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x30, 0x2e, 0x30, 0x2c, 0x20, + 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x31, + 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, + 0x72, 0x20, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x74, 0x65, + 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x74, 0x65, 0x78, 0x74, 0x75, + 0x72, 0x65, 0x30, 0x2c, 0x20, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, + 0x72, 0x64, 0x30, 0x29, 0x29, 0x2e, 0x72, 0x3b, 0x0a, 0x63, 0x6f, + 0x6c, 0x6f, 0x72, 0x2e, 0x67, 0x20, 0x3d, 0x20, 0x31, 0x2e, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, + 0x34, 0x28, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x74, + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x31, 0x2c, 0x20, 0x74, 0x65, + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x31, 0x29, 0x29, 0x2e, 0x72, + 0x3b, 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x62, 0x20, 0x3d, + 0x20, 0x31, 0x2e, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x20, 0x2a, + 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x74, 0x65, 0x78, 0x74, 0x75, + 0x72, 0x65, 0x28, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, + 0x2c, 0x20, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x32, + 0x29, 0x29, 0x2e, 0x72, 0x3b, 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, + 0x20, 0x3d, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, + 0x62, 0x72, 0x3b, 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, + 0x67, 0x62, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x74, 0x33, 0x28, 0x63, + 0x6f, 0x6c, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x29, + 0x20, 0x2a, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, + 0x62, 0x20, 0x2b, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x72, 0x69, 0x78, 0x5f, 0x63, 0x3b, 0x0a, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x2e, 0x61, 0x20, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x3b, + 0x0a, 0x2f, 0x2f, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x6d, + 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x0a, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x2e, 0x72, 0x67, 0x62, 0x20, 0x2a, 0x3d, 0x20, 0x76, 0x65, + 0x63, 0x33, 0x28, 0x31, 0x2e, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x29, 0x3b, 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, + 0x62, 0x20, 0x2a, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x28, 0x31, + 0x2e, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x29, 0x3b, 0x0a, 0x67, + 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, + 0x20, 0x3d, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, 0x7d, + 0x0a, 0x14, 0x04, 0x00, 0x00, 0x00, 0x04, 0xef, 0xbe, 0xd7, 0x09, + 0xb7, 0x33, 0x3c, 0xe6, 0x67, 0x15, 0x01, 0x01, 0x00, 0x02, 0xa8, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53, 0x68, 0x64, + 0x72, 0x07, 0x00, 0x02, 0x00, 0x02, 0x19, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x34, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x64, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x42, 0x01, 0x0c, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0f, + 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1b, 0x01, 0x02, 0x00, + 0x00, 0x00, 0x04, 0x03, 0x01, 0x00, 0x0c, 0x00, 0x00, 0x01, 0x10, + 0x03, 0x00, 0x02, 0x18, 0x03, 0x01, 0x01, 0x20, 0x00, 0x01, 0x02, + 0x24, 0x00, 0x02, 0x00, 0x28, 0x00, 0x0f, 0x00, 0x10, 0x00, 0x11, + 0x00, 0x00, 0x00, 0xff, 0x03, 0xeb, 0xbe, 0x22, 0x00, 0x00, 0x00, + 0x7e, 0x04, 0xa8, 0xbe, 0x7e, 0x0a, 0xfe, 0xbe, 0x10, 0x03, 0xfc, + 0xbe, 0x00, 0x03, 0x08, 0xc1, 0x10, 0x03, 0xd0, 0xc0, 0x00, 0x00, + 0x08, 0xc8, 0x00, 0x01, 0x0c, 0xc8, 0x01, 0x00, 0x09, 0xc8, 0x01, + 0x01, 0x0d, 0xc8, 0x00, 0x04, 0x10, 0xc8, 0x00, 0x05, 0x14, 0xc8, + 0x01, 0x04, 0x11, 0xc8, 0x01, 0x05, 0x15, 0xc8, 0x00, 0x08, 0x18, + 0xc8, 0x00, 0x09, 0x1c, 0xc8, 0x00, 0x01, 0x80, 0xf0, 0x02, 0x02, + 0x61, 0x00, 0x01, 0x08, 0x19, 0xc8, 0x01, 0x09, 0x1d, 0xc8, 0x7f, + 0x00, 0x8c, 0xbf, 0x00, 0x01, 0x80, 0xf0, 0x04, 0x01, 0x04, 0x01, + 0x00, 0x01, 0x80, 0xf0, 0x06, 0x00, 0x26, 0x01, 0x18, 0x03, 0x80, + 0xc0, 0x7f, 0x00, 0x8c, 0xbf, 0x00, 0x01, 0x82, 0xc2, 0x04, 0x01, + 0x84, 0xc2, 0x08, 0x01, 0x86, 0xc2, 0x0c, 0x01, 0x80, 0xc2, 0x72, + 0x00, 0x8c, 0xbf, 0x04, 0x04, 0x06, 0x10, 0x05, 0x04, 0x08, 0x10, + 0x06, 0x04, 0x04, 0x10, 0x71, 0x0f, 0x8c, 0xbf, 0x08, 0x02, 0x06, + 0x3e, 0x09, 0x02, 0x08, 0x3e, 0x0a, 0x02, 0x04, 0x3e, 0x70, 0x0f, + 0x8c, 0xbf, 0x0c, 0x00, 0x06, 0x3e, 0x0d, 0x00, 0x08, 0x3e, 0x0e, + 0x00, 0x04, 0x3e, 0x00, 0x06, 0x00, 0x06, 0x01, 0x08, 0x02, 0x06, + 0x02, 0x04, 0x04, 0x06, 0xf2, 0x02, 0x06, 0x7e, 0x28, 0x04, 0xfe, + 0xbe, 0x00, 0x03, 0x00, 0x5e, 0x02, 0x07, 0x02, 0x5e, 0x0f, 0x1c, + 0x00, 0xf8, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x81, 0xbf, 0x6a, + 0x08, 0x00, 0x1c, 0x00, 0x51, 0x41, 0x00, 0x51, 0x51, 0x41, 0x41, + 0xcd, 0xe8, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0x1b, 0x01, 0x02, + 0x00, 0x00, 0x00, 0x04, 0x03, 0x01, 0x00, 0x0c, 0x00, 0x00, 0x01, + 0x10, 0x03, 0x00, 0x02, 0x18, 0x03, 0x01, 0x01, 0x20, 0x00, 0x01, + 0x02, 0x24, 0x00, 0x02, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0xef, 0xbe, 0x00, 0x00, 0x4f, 0x72, 0x62, + 0x53, 0x68, 0x64, 0x72, 0x07, 0x41, 0xd8, 0x00, 0x00, 0x03, 0x08, + 0x0c, 0x03, 0xd7, 0x09, 0xb7, 0x33, 0x3c, 0xe6, 0x67, 0x15, 0xad, + 0x70, 0x18, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x01, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x01, + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, + 0x05, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x36, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, + 0x00, 0x16, 0x04, 0x6a, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x27, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x15, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x01, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf3, + 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe2, 0x00, + 0x00, 0x00, 0x1e, 0x01, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x2c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x00, 0x00, + 0x00, 0xd8, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x03, 0x30, 0x00, + 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x9e, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x00, 0x00, 0x01, 0x24, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xb2, 0x00, 0x00, 0x00, 0xb8, 0x00, + 0x00, 0x00, 0x01, 0x24, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xb6, + 0x00, 0x00, 0x00, 0xbc, 0x00, 0x00, 0x00, 0x01, 0x24, 0x00, 0x02, + 0x00, 0x00, 0x00, 0x00, 0xba, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, + 0x00, 0x03, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbe, 0x00, + 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x74, 0x65, 0x78, 0x74, 0x75, + 0x72, 0x65, 0x30, 0x00, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, + 0x31, 0x00, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x00, + 0x5f, 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x43, 0x42, + 0x5f, 0x5f, 0x00, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x72, 0x69, 0x78, 0x5b, 0x30, 0x5d, 0x00, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x5b, 0x31, 0x5d, 0x00, + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, + 0x5b, 0x32, 0x5d, 0x00, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x72, 0x69, 0x78, 0x5f, 0x63, 0x00, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x00, 0x28, 0x6e, 0x6f, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x29, 0x00, 0x74, 0x65, 0x78, 0x63, + 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, + 0x4f, 0x52, 0x44, 0x30, 0x00, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, + 0x72, 0x64, 0x31, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, + 0x44, 0x31, 0x00, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, + 0x32, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x32, + 0x00, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, + 0x6f, 0x72, 0x00, 0x00 +}; + +const char ps4_frag_default_gamma[2598] = { + 0x71, 0xbc, 0x91, 0xe8, 0x64, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x7e, 0x05, 0x00, 0x00, 0x23, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x20, 0x31, 0x30, 0x30, 0x0a, 0x23, 0x69, 0x66, 0x64, + 0x65, 0x66, 0x20, 0x47, 0x4c, 0x5f, 0x46, 0x52, 0x41, 0x47, 0x4d, + 0x45, 0x4e, 0x54, 0x5f, 0x50, 0x52, 0x45, 0x43, 0x49, 0x53, 0x49, + 0x4f, 0x4e, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x0a, 0x70, 0x72, 0x65, + 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x68, 0x69, 0x67, 0x68, + 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3b, 0x0a, 0x23, 0x65, + 0x6c, 0x73, 0x65, 0x0a, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x20, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, + 0x69, 0x66, 0x0a, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x20, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x73, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x3b, 0x0a, 0x23, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x78, 0x31, + 0x44, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x31, 0x44, + 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x74, 0x65, + 0x78, 0x33, 0x44, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, + 0x33, 0x44, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, + 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20, 0x74, 0x65, 0x78, + 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x0a, 0x23, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x55, 0x54, 0x5f, 0x50, 0x4f, 0x53, + 0x28, 0x78, 0x2c, 0x20, 0x6c, 0x75, 0x74, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x29, 0x20, 0x6d, 0x69, 0x78, 0x28, 0x30, 0x2e, 0x35, 0x20, + 0x2f, 0x20, 0x28, 0x6c, 0x75, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x29, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x20, 0x2d, 0x20, 0x30, 0x2e, + 0x35, 0x20, 0x2f, 0x20, 0x28, 0x6c, 0x75, 0x74, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x29, 0x2c, 0x20, 0x28, 0x78, 0x29, 0x29, 0x0a, 0x76, + 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, 0x32, + 0x20, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, + 0x0a, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, + 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, + 0x31, 0x3b, 0x0a, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, + 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, + 0x72, 0x64, 0x32, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, + 0x6d, 0x20, 0x6d, 0x61, 0x74, 0x33, 0x20, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x3b, 0x0a, 0x75, 0x6e, + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x20, + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, + 0x5f, 0x63, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, + 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x67, 0x61, 0x6d, 0x6d, 0x61, 0x3b, 0x0a, 0x75, 0x6e, 0x69, + 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x20, 0x73, + 0x72, 0x63, 0x5f, 0x6c, 0x75, 0x6d, 0x61, 0x3b, 0x0a, 0x75, 0x6e, + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x20, + 0x64, 0x73, 0x74, 0x5f, 0x6c, 0x75, 0x6d, 0x61, 0x3b, 0x0a, 0x75, + 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x73, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x72, 0x32, 0x44, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, + 0x72, 0x65, 0x30, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, + 0x6d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x74, + 0x75, 0x72, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x30, 0x3b, 0x0a, + 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6d, 0x61, 0x74, + 0x32, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x72, + 0x6f, 0x74, 0x30, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, + 0x6d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x74, + 0x75, 0x72, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x30, 0x3b, 0x0a, 0x75, + 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x76, 0x65, 0x63, 0x32, + 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x30, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, + 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x20, 0x74, + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x31, 0x3b, 0x0a, 0x75, 0x6e, + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, + 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x31, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, + 0x20, 0x6d, 0x61, 0x74, 0x32, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, + 0x72, 0x65, 0x5f, 0x72, 0x6f, 0x74, 0x31, 0x3b, 0x0a, 0x75, 0x6e, + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, + 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6f, 0x66, 0x66, + 0x31, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, + 0x76, 0x65, 0x63, 0x32, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x31, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, + 0x6f, 0x72, 0x6d, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, + 0x32, 0x44, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, + 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x76, + 0x65, 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x32, 0x3b, 0x0a, 0x75, 0x6e, 0x69, + 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6d, 0x61, 0x74, 0x32, 0x20, 0x74, + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x6f, 0x74, 0x32, + 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x76, + 0x65, 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, + 0x5f, 0x6f, 0x66, 0x66, 0x32, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, + 0x6f, 0x72, 0x6d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x70, 0x69, + 0x78, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x32, 0x3b, 0x0a, + 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x29, + 0x20, 0x7b, 0x0a, 0x76, 0x65, 0x63, 0x34, 0x20, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x30, + 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, + 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x63, 0x6f, + 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x20, 0x3d, 0x20, 0x31, 0x2e, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, + 0x34, 0x28, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x74, + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x30, 0x2c, 0x20, 0x74, 0x65, + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x29, 0x29, 0x2e, 0x72, + 0x3b, 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x67, 0x20, 0x3d, + 0x20, 0x31, 0x2e, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x20, 0x2a, + 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x74, 0x65, 0x78, 0x74, 0x75, + 0x72, 0x65, 0x28, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x31, + 0x2c, 0x20, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x31, + 0x29, 0x29, 0x2e, 0x72, 0x3b, 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, + 0x2e, 0x62, 0x20, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x74, + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x74, 0x65, 0x78, 0x74, + 0x75, 0x72, 0x65, 0x32, 0x2c, 0x20, 0x74, 0x65, 0x78, 0x63, 0x6f, + 0x6f, 0x72, 0x64, 0x32, 0x29, 0x29, 0x2e, 0x72, 0x3b, 0x0a, 0x63, + 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x2e, 0x72, 0x67, 0x62, 0x72, 0x3b, 0x0a, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, 0x20, 0x3d, 0x20, 0x6d, 0x61, + 0x74, 0x33, 0x28, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x72, 0x69, 0x78, 0x29, 0x20, 0x2a, 0x20, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x2e, 0x72, 0x67, 0x62, 0x20, 0x2b, 0x20, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x5f, 0x63, 0x3b, + 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x61, 0x20, 0x3d, 0x20, + 0x31, 0x2e, 0x30, 0x3b, 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, + 0x72, 0x67, 0x62, 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, + 0x28, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, 0x2c, + 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x3b, + 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, 0x20, + 0x3d, 0x20, 0x70, 0x6f, 0x77, 0x28, 0x63, 0x6f, 0x6c, 0x6f, 0x72, + 0x2e, 0x72, 0x67, 0x62, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x28, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x6d, 0x6d, 0x61, 0x29, + 0x29, 0x3b, 0x0a, 0x2f, 0x2f, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, + 0x20, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x0a, 0x63, 0x6f, + 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, 0x20, 0x2a, 0x3d, 0x20, + 0x76, 0x65, 0x63, 0x33, 0x28, 0x31, 0x2e, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x29, 0x3b, 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, + 0x72, 0x67, 0x62, 0x20, 0x2a, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x33, + 0x28, 0x31, 0x2e, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x29, 0x3b, + 0x0a, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, + 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, + 0x0a, 0x7d, 0x0a, 0x94, 0x04, 0x00, 0x00, 0x00, 0x04, 0xef, 0xbe, + 0xaf, 0xf7, 0x6f, 0x06, 0xff, 0x38, 0x43, 0x68, 0x01, 0x01, 0x00, + 0x02, 0xd8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53, + 0x68, 0x64, 0x72, 0x07, 0x00, 0x02, 0x00, 0x02, 0x19, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x64, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x64, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x42, 0x01, + 0x0c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, + 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, + 0x00, 0x0f, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1b, 0x01, + 0x02, 0x00, 0x00, 0x00, 0x04, 0x03, 0x01, 0x00, 0x0c, 0x00, 0x00, + 0x01, 0x10, 0x03, 0x00, 0x02, 0x18, 0x03, 0x01, 0x01, 0x20, 0x00, + 0x01, 0x02, 0x24, 0x00, 0x02, 0x00, 0x28, 0x00, 0x0f, 0x00, 0x10, + 0x00, 0x11, 0x00, 0x00, 0x00, 0xff, 0x03, 0xeb, 0xbe, 0x28, 0x00, + 0x00, 0x00, 0x7e, 0x04, 0xa8, 0xbe, 0x7e, 0x0a, 0xfe, 0xbe, 0x10, + 0x03, 0xfc, 0xbe, 0x00, 0x03, 0x08, 0xc1, 0x10, 0x03, 0xd0, 0xc0, + 0x00, 0x00, 0x08, 0xc8, 0x00, 0x01, 0x0c, 0xc8, 0x01, 0x00, 0x09, + 0xc8, 0x01, 0x01, 0x0d, 0xc8, 0x00, 0x04, 0x10, 0xc8, 0x00, 0x05, + 0x14, 0xc8, 0x01, 0x04, 0x11, 0xc8, 0x01, 0x05, 0x15, 0xc8, 0x00, + 0x08, 0x18, 0xc8, 0x00, 0x09, 0x1c, 0xc8, 0x00, 0x01, 0x80, 0xf0, + 0x02, 0x02, 0x61, 0x00, 0x01, 0x08, 0x19, 0xc8, 0x01, 0x09, 0x1d, + 0xc8, 0x7f, 0x00, 0x8c, 0xbf, 0x00, 0x01, 0x80, 0xf0, 0x04, 0x01, + 0x04, 0x01, 0x00, 0x01, 0x80, 0xf0, 0x06, 0x00, 0x26, 0x01, 0x18, + 0x03, 0x80, 0xc0, 0x7f, 0x00, 0x8c, 0xbf, 0x0c, 0x01, 0x82, 0xc2, + 0x00, 0x01, 0x84, 0xc2, 0x04, 0x01, 0x86, 0xc2, 0x08, 0x01, 0x80, + 0xc2, 0x7f, 0x00, 0x8c, 0xbf, 0x04, 0x02, 0x06, 0x7e, 0x05, 0x02, + 0x08, 0x7e, 0x06, 0x02, 0x0a, 0x7e, 0x72, 0x0f, 0x8c, 0xbf, 0x08, + 0x04, 0x06, 0x3e, 0x09, 0x04, 0x08, 0x3e, 0x0a, 0x04, 0x0a, 0x3e, + 0x71, 0x0f, 0x8c, 0xbf, 0x0c, 0x02, 0x06, 0x3e, 0x0d, 0x02, 0x08, + 0x3e, 0x0e, 0x02, 0x0a, 0x3e, 0x70, 0x0f, 0x8c, 0xbf, 0x03, 0x08, + 0x82, 0xd2, 0x00, 0x00, 0x0e, 0x04, 0x04, 0x08, 0x82, 0xd2, 0x01, + 0x00, 0x12, 0x04, 0x05, 0x08, 0x82, 0xd2, 0x02, 0x00, 0x16, 0x04, + 0x03, 0x4f, 0x00, 0x7e, 0x04, 0x4f, 0x02, 0x7e, 0x05, 0x4f, 0x04, + 0x7e, 0x07, 0x00, 0x00, 0x10, 0x07, 0x02, 0x02, 0x10, 0x07, 0x04, + 0x04, 0x10, 0x00, 0x4b, 0x00, 0x7e, 0x01, 0x4b, 0x02, 0x7e, 0x02, + 0x4b, 0x04, 0x7e, 0xf2, 0x02, 0x06, 0x7e, 0x28, 0x04, 0xfe, 0xbe, + 0x00, 0x03, 0x00, 0x5e, 0x02, 0x07, 0x02, 0x5e, 0x0f, 0x1c, 0x00, + 0xf8, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x81, 0xbf, 0x6a, 0x08, + 0x00, 0x1c, 0x00, 0x51, 0x41, 0x00, 0x51, 0x51, 0x41, 0x41, 0xcd, + 0xe8, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0x1b, 0x01, 0x02, 0x00, + 0x00, 0x00, 0x04, 0x03, 0x01, 0x00, 0x0c, 0x00, 0x00, 0x01, 0x10, + 0x03, 0x00, 0x02, 0x18, 0x03, 0x01, 0x01, 0x20, 0x00, 0x01, 0x02, + 0x24, 0x00, 0x02, 0x00, 0x28, 0x00, 0x01, 0x00, 0x00, 0x00, 0xef, + 0xbe, 0x00, 0x00, 0x4f, 0x72, 0x62, 0x53, 0x68, 0x64, 0x72, 0x07, + 0x41, 0x0c, 0x01, 0x00, 0x02, 0x08, 0x0c, 0x03, 0xaf, 0xf7, 0x6f, + 0x06, 0xff, 0x38, 0x43, 0x68, 0x65, 0xc7, 0xe1, 0x15, 0x04, 0x00, + 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x05, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x98, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x05, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x89, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7a, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x16, 0x04, 0x6a, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6b, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, + 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x01, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x16, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x01, 0x00, 0x00, 0x20, + 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x16, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x37, 0x01, 0x00, 0x00, 0x30, 0x00, + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0x16, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x26, 0x01, 0x00, 0x00, 0x3c, 0x00, 0x00, + 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x14, 0x01, 0x00, 0x00, 0x1e, 0x01, 0x00, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x07, 0x01, 0x00, 0x00, 0x02, + 0x01, 0x00, 0x03, 0x30, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc2, 0x00, 0x00, 0x00, 0xe3, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x3c, 0x00, 0x00, 0x00, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xac, 0x00, 0x00, + 0x00, 0xbf, 0x00, 0x00, 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xbd, 0x00, 0x00, 0x00, 0xc3, 0x00, 0x00, 0x00, 0x01, + 0x24, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xc1, 0x00, 0x00, 0x00, + 0xc7, 0x00, 0x00, 0x00, 0x01, 0x24, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x00, 0xc5, 0x00, 0x00, 0x00, 0xcb, 0x00, 0x00, 0x00, 0x03, 0x38, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc9, 0x00, 0x00, 0x00, 0x7f, + 0x00, 0x00, 0x00, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x30, + 0x00, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x31, 0x00, 0x74, + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x00, 0x5f, 0x5f, 0x47, + 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x43, 0x42, 0x5f, 0x5f, 0x00, + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, + 0x5b, 0x30, 0x5d, 0x00, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x72, 0x69, 0x78, 0x5b, 0x31, 0x5d, 0x00, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x5b, 0x32, 0x5d, + 0x00, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x72, 0x69, + 0x78, 0x5f, 0x63, 0x00, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x67, 0x61, + 0x6d, 0x6d, 0x61, 0x00, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x72, 0x69, 0x78, 0x00, 0x28, 0x6e, 0x6f, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x29, 0x00, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, + 0x64, 0x30, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, + 0x30, 0x00, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x31, + 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x31, 0x00, + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x32, 0x00, 0x54, + 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x32, 0x00, 0x67, 0x6c, + 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x00, + 0x00, 0x00 +}; + +const char ps4_vert_sub[1092] = { + 0x71, 0xbc, 0x91, 0xe8, 0x64, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x2c, 0x02, 0x00, 0x00, 0x23, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x20, 0x31, 0x30, 0x30, 0x0a, 0x23, 0x69, 0x66, 0x64, + 0x65, 0x66, 0x20, 0x47, 0x4c, 0x5f, 0x46, 0x52, 0x41, 0x47, 0x4d, + 0x45, 0x4e, 0x54, 0x5f, 0x50, 0x52, 0x45, 0x43, 0x49, 0x53, 0x49, + 0x4f, 0x4e, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x0a, 0x70, 0x72, 0x65, + 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x68, 0x69, 0x67, 0x68, + 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3b, 0x0a, 0x23, 0x65, + 0x6c, 0x73, 0x65, 0x0a, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x20, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, + 0x69, 0x66, 0x0a, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x20, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x73, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x3b, 0x0a, 0x23, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x78, 0x31, + 0x44, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x31, 0x44, + 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x74, 0x65, + 0x78, 0x33, 0x44, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, + 0x33, 0x44, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, + 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20, 0x74, 0x65, 0x78, + 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x0a, 0x23, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x55, 0x54, 0x5f, 0x50, 0x4f, 0x53, + 0x28, 0x78, 0x2c, 0x20, 0x6c, 0x75, 0x74, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x29, 0x20, 0x6d, 0x69, 0x78, 0x28, 0x30, 0x2e, 0x35, 0x20, + 0x2f, 0x20, 0x28, 0x6c, 0x75, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x29, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x20, 0x2d, 0x20, 0x30, 0x2e, + 0x35, 0x20, 0x2f, 0x20, 0x28, 0x6c, 0x75, 0x74, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x29, 0x2c, 0x20, 0x28, 0x78, 0x29, 0x29, 0x0a, 0x61, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x65, + 0x63, 0x32, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x0a, 0x61, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x65, 0x63, + 0x32, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x74, 0x65, + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x3b, 0x0a, 0x76, 0x61, 0x72, + 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, + 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x3b, 0x0a, 0x61, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x65, 0x63, + 0x34, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x61, 0x73, + 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, 0x76, 0x61, + 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, + 0x61, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, + 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x29, + 0x20, 0x7b, 0x0a, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, + 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x2c, 0x20, + 0x31, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x74, 0x65, 0x78, 0x63, 0x6f, + 0x6f, 0x72, 0x64, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, + 0x78, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x3b, + 0x0a, 0x61, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x20, + 0x3d, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x61, 0x73, + 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, 0x7d, 0x0a, + 0x04, 0x02, 0x00, 0x00, 0x00, 0x04, 0xef, 0xbe, 0x80, 0x0d, 0x30, + 0xfe, 0x7c, 0xc0, 0xd7, 0xd4, 0x00, 0x01, 0x00, 0x02, 0xc4, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53, 0x68, 0x64, 0x72, + 0x07, 0x00, 0x02, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x74, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x43, 0x00, 0x0c, 0x00, 0x0c, + 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x00, 0x00, 0x12, 0x00, 0x00, + 0x00, 0x17, 0x00, 0x02, 0x10, 0x00, 0x04, 0x02, 0x00, 0x01, 0x08, + 0x02, 0x00, 0x02, 0x0c, 0x04, 0x00, 0x0f, 0x00, 0x10, 0x01, 0xff, + 0x03, 0xeb, 0xbe, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x21, 0x80, 0xbe, + 0xf2, 0x02, 0x00, 0x7e, 0x80, 0x02, 0x02, 0x7e, 0xcf, 0x08, 0x00, + 0xf8, 0x04, 0x05, 0x00, 0x00, 0x0f, 0x02, 0x00, 0xf8, 0x08, 0x09, + 0x01, 0x00, 0x1f, 0x02, 0x00, 0xf8, 0x0c, 0x0d, 0x0e, 0x0f, 0x00, + 0x00, 0x81, 0xbf, 0x39, 0x6a, 0x06, 0x00, 0x0c, 0x00, 0x00, 0x6b, + 0x02, 0x07, 0x02, 0x00, 0x50, 0x50, 0xd0, 0x00, 0x10, 0x00, 0x00, + 0x00, 0x12, 0x00, 0x00, 0x00, 0x17, 0x00, 0x02, 0x10, 0x07, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xef, 0xbe, 0x00, 0x00, 0x4f, + 0x72, 0x62, 0x53, 0x68, 0x64, 0x72, 0x07, 0x45, 0x30, 0x00, 0x00, + 0x03, 0x02, 0x0c, 0x03, 0x80, 0x0d, 0x30, 0xfe, 0x7c, 0xc0, 0xd7, + 0xd4, 0x57, 0xaf, 0x62, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, + 0x01, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, + 0x00, 0x64, 0x00, 0x00, 0x00, 0x01, 0x24, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x03, + 0x24, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, + 0x85, 0x00, 0x00, 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x8a, 0x00, 0x00, 0x00, 0x8f, 0x00, 0x00, 0x00, 0x03, 0x24, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00, 0x92, + 0x00, 0x00, 0x00, 0x03, 0x2e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x76, 0x65, 0x72, + 0x74, 0x65, 0x78, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x00, 0x56, 0x45, 0x52, 0x54, 0x45, 0x58, 0x5f, 0x50, 0x4f, + 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x76, 0x65, 0x72, 0x74, + 0x65, 0x78, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, + 0x00, 0x56, 0x45, 0x52, 0x54, 0x45, 0x58, 0x5f, 0x54, 0x45, 0x58, + 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x76, 0x65, 0x72, 0x74, 0x65, + 0x78, 0x5f, 0x61, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, + 0x00, 0x56, 0x45, 0x52, 0x54, 0x45, 0x58, 0x5f, 0x41, 0x53, 0x53, + 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x74, 0x65, 0x78, 0x63, + 0x6f, 0x6f, 0x72, 0x64, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, + 0x52, 0x44, 0x00, 0x61, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x00, 0x41, 0x53, 0x53, 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, + 0x00, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x00, 0x28, 0x6e, 0x6f, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x29, + 0x00, 0x00, 0x00 +}; + +const char ps4_frag_sub[1110] = { + 0x71, 0xbc, 0x91, 0xe8, 0x64, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x7a, 0x02, 0x00, 0x00, 0x23, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x20, 0x31, 0x30, 0x30, 0x0a, 0x23, 0x69, 0x66, 0x64, + 0x65, 0x66, 0x20, 0x47, 0x4c, 0x5f, 0x46, 0x52, 0x41, 0x47, 0x4d, + 0x45, 0x4e, 0x54, 0x5f, 0x50, 0x52, 0x45, 0x43, 0x49, 0x53, 0x49, + 0x4f, 0x4e, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x0a, 0x70, 0x72, 0x65, + 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x68, 0x69, 0x67, 0x68, + 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3b, 0x0a, 0x23, 0x65, + 0x6c, 0x73, 0x65, 0x0a, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x20, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, + 0x69, 0x66, 0x0a, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x20, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x73, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x3b, 0x0a, 0x23, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x78, 0x31, + 0x44, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x31, 0x44, + 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x74, 0x65, + 0x78, 0x33, 0x44, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, + 0x33, 0x44, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, + 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20, 0x74, 0x65, 0x78, + 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x0a, 0x23, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x55, 0x54, 0x5f, 0x50, 0x4f, 0x53, + 0x28, 0x78, 0x2c, 0x20, 0x6c, 0x75, 0x74, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x29, 0x20, 0x6d, 0x69, 0x78, 0x28, 0x30, 0x2e, 0x35, 0x20, + 0x2f, 0x20, 0x28, 0x6c, 0x75, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x29, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x20, 0x2d, 0x20, 0x30, 0x2e, + 0x35, 0x20, 0x2f, 0x20, 0x28, 0x6c, 0x75, 0x74, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x29, 0x2c, 0x20, 0x28, 0x78, 0x29, 0x29, 0x0a, 0x76, + 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, 0x32, + 0x20, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x3b, 0x0a, + 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, + 0x34, 0x20, 0x61, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, + 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x73, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x20, 0x6f, 0x73, + 0x64, 0x74, 0x65, 0x78, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, + 0x72, 0x6d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x20, 0x73, 0x72, 0x63, + 0x5f, 0x6c, 0x75, 0x6d, 0x61, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, + 0x6f, 0x72, 0x6d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x20, 0x64, 0x73, + 0x74, 0x5f, 0x6c, 0x75, 0x6d, 0x61, 0x3b, 0x0a, 0x76, 0x6f, 0x69, + 0x64, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x29, 0x20, 0x7b, 0x0a, + 0x76, 0x65, 0x63, 0x34, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x20, + 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x30, 0x2e, 0x30, 0x2c, + 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, + 0x31, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, + 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x61, 0x73, 0x73, + 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, 0x2c, + 0x20, 0x61, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, + 0x61, 0x20, 0x2a, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, + 0x28, 0x6f, 0x73, 0x64, 0x74, 0x65, 0x78, 0x2c, 0x20, 0x74, 0x65, + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x29, 0x2e, 0x72, 0x29, 0x3b, + 0x0a, 0x2f, 0x2f, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x6d, + 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x0a, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x2e, 0x72, 0x67, 0x62, 0x20, 0x2a, 0x3d, 0x20, 0x76, 0x65, + 0x63, 0x33, 0x28, 0x31, 0x2e, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x29, 0x3b, 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, + 0x62, 0x20, 0x2a, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x28, 0x31, + 0x2e, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x29, 0x3b, 0x0a, 0x67, + 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, + 0x20, 0x3d, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, 0x7d, + 0x0a, 0xc8, 0x01, 0x00, 0x00, 0x00, 0x04, 0xef, 0xbe, 0x27, 0xae, + 0xae, 0x1a, 0x45, 0x94, 0xdd, 0x0a, 0x01, 0x01, 0x00, 0x02, 0xfc, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53, 0x68, 0x64, + 0x72, 0x07, 0x00, 0x02, 0x00, 0x02, 0x12, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xa4, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x48, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x81, 0x00, 0x0c, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0f, + 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, + 0x01, 0x00, 0x0c, 0x00, 0x0f, 0x00, 0x10, 0x00, 0xff, 0x03, 0xeb, + 0xbe, 0x10, 0x00, 0x00, 0x00, 0x7e, 0x04, 0x80, 0xbe, 0x7e, 0x0a, + 0xfe, 0xbe, 0x10, 0x03, 0xfc, 0xbe, 0x00, 0x00, 0x08, 0xc8, 0x00, + 0x01, 0x0c, 0xc8, 0x01, 0x00, 0x09, 0xc8, 0x01, 0x01, 0x0d, 0xc8, + 0x00, 0x01, 0x80, 0xf0, 0x02, 0x02, 0x61, 0x00, 0x00, 0x07, 0x0c, + 0xc8, 0x01, 0x07, 0x0d, 0xc8, 0x70, 0x0f, 0x8c, 0xbf, 0x03, 0x05, + 0x04, 0x10, 0x00, 0x04, 0x0c, 0xc8, 0x01, 0x04, 0x0d, 0xc8, 0x00, + 0x05, 0x10, 0xc8, 0x01, 0x05, 0x11, 0xc8, 0x00, 0x06, 0x00, 0xc8, + 0x01, 0x06, 0x01, 0xc8, 0x00, 0x04, 0xfe, 0xbe, 0x03, 0x09, 0x02, + 0x5e, 0x00, 0x05, 0x00, 0x5e, 0x0f, 0x1c, 0x00, 0xf8, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x81, 0xbf, 0x51, 0x41, 0x00, 0x00, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x01, 0x00, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xef, 0xbe, 0x00, + 0x00, 0x4f, 0x72, 0x62, 0x53, 0x68, 0x64, 0x72, 0x07, 0x41, 0x6c, + 0x00, 0x00, 0x03, 0x02, 0x0c, 0x03, 0x27, 0xae, 0xae, 0x1a, 0x45, + 0x94, 0xdd, 0x0a, 0xa0, 0x7a, 0x41, 0x33, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, + 0x05, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x34, 0x00, 0x00, 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x2f, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x03, 0x24, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x37, + 0x00, 0x00, 0x00, 0x03, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x35, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x6f, 0x73, 0x64, + 0x74, 0x65, 0x78, 0x00, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, + 0x64, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, + 0x61, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x00, 0x41, + 0x53, 0x53, 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x67, 0x6c, + 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x00, + 0x28, 0x6e, 0x6f, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x29, 0x00 +}; + +const char ps4_frag_59EAFD[7277] = { + 0x71, 0xbc, 0x91, 0xe8, 0x64, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x00, 0xd1, 0x10, 0x00, 0x00, 0x23, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x20, 0x31, 0x30, 0x30, 0x0a, 0x23, 0x69, 0x66, 0x64, + 0x65, 0x66, 0x20, 0x47, 0x4c, 0x5f, 0x46, 0x52, 0x41, 0x47, 0x4d, + 0x45, 0x4e, 0x54, 0x5f, 0x50, 0x52, 0x45, 0x43, 0x49, 0x53, 0x49, + 0x4f, 0x4e, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x0a, 0x70, 0x72, 0x65, + 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x68, 0x69, 0x67, 0x68, + 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3b, 0x0a, 0x23, 0x65, + 0x6c, 0x73, 0x65, 0x0a, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x20, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, + 0x69, 0x66, 0x0a, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x20, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x73, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x3b, 0x0a, 0x23, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x78, 0x31, + 0x44, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x31, 0x44, + 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x74, 0x65, + 0x78, 0x33, 0x44, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, + 0x33, 0x44, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, + 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20, 0x74, 0x65, 0x78, + 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x0a, 0x23, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x55, 0x54, 0x5f, 0x50, 0x4f, 0x53, + 0x28, 0x78, 0x2c, 0x20, 0x6c, 0x75, 0x74, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x29, 0x20, 0x6d, 0x69, 0x78, 0x28, 0x30, 0x2e, 0x35, 0x20, + 0x2f, 0x20, 0x28, 0x6c, 0x75, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x29, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x20, 0x2d, 0x20, 0x30, 0x2e, + 0x35, 0x20, 0x2f, 0x20, 0x28, 0x6c, 0x75, 0x74, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x29, 0x2c, 0x20, 0x28, 0x78, 0x29, 0x29, 0x0a, 0x76, + 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, 0x32, + 0x20, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, + 0x0a, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, + 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, + 0x31, 0x3b, 0x0a, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, + 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, + 0x72, 0x64, 0x32, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, + 0x6d, 0x20, 0x6d, 0x61, 0x74, 0x33, 0x20, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x3b, 0x0a, 0x75, 0x6e, + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x20, + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, + 0x5f, 0x63, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, + 0x20, 0x76, 0x65, 0x63, 0x33, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x6c, + 0x75, 0x6d, 0x61, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, + 0x6d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x20, 0x64, 0x73, 0x74, 0x5f, + 0x6c, 0x75, 0x6d, 0x61, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, + 0x72, 0x6d, 0x20, 0x6d, 0x61, 0x74, 0x33, 0x20, 0x63, 0x6d, 0x73, + 0x5f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x3b, 0x0a, 0x75, 0x6e, + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x72, 0x32, 0x44, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, + 0x65, 0x30, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, + 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, + 0x72, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x30, 0x3b, 0x0a, 0x75, + 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6d, 0x61, 0x74, 0x32, + 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x6f, + 0x74, 0x30, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, + 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, + 0x72, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x30, 0x3b, 0x0a, 0x75, 0x6e, + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, + 0x70, 0x69, 0x78, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x30, + 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x73, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x20, 0x74, 0x65, + 0x78, 0x74, 0x75, 0x72, 0x65, 0x31, 0x3b, 0x0a, 0x75, 0x6e, 0x69, + 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x31, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, + 0x6d, 0x61, 0x74, 0x32, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, + 0x65, 0x5f, 0x72, 0x6f, 0x74, 0x31, 0x3b, 0x0a, 0x75, 0x6e, 0x69, + 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x31, + 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x76, + 0x65, 0x63, 0x32, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x31, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, + 0x72, 0x6d, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, + 0x44, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x3b, + 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x76, 0x65, + 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x32, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, + 0x6f, 0x72, 0x6d, 0x20, 0x6d, 0x61, 0x74, 0x32, 0x20, 0x74, 0x65, + 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x6f, 0x74, 0x32, 0x3b, + 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x76, 0x65, + 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, + 0x6f, 0x66, 0x66, 0x32, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, + 0x72, 0x6d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x70, 0x69, 0x78, + 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x32, 0x3b, 0x0a, 0x76, + 0x6f, 0x69, 0x64, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x29, 0x20, + 0x7b, 0x0a, 0x76, 0x65, 0x63, 0x34, 0x20, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x30, 0x2e, + 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, + 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x2e, 0x72, 0x20, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, + 0x28, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x74, 0x65, + 0x78, 0x74, 0x75, 0x72, 0x65, 0x30, 0x2c, 0x20, 0x74, 0x65, 0x78, + 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x29, 0x29, 0x2e, 0x72, 0x3b, + 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x67, 0x20, 0x3d, 0x20, + 0x31, 0x2e, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x20, 0x2a, 0x20, + 0x76, 0x65, 0x63, 0x34, 0x28, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, + 0x65, 0x28, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x31, 0x2c, + 0x20, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x31, 0x29, + 0x29, 0x2e, 0x72, 0x3b, 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, + 0x62, 0x20, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x74, 0x65, + 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x74, 0x65, 0x78, 0x74, 0x75, + 0x72, 0x65, 0x32, 0x2c, 0x20, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, + 0x72, 0x64, 0x32, 0x29, 0x29, 0x2e, 0x72, 0x3b, 0x0a, 0x63, 0x6f, + 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, + 0x2e, 0x72, 0x67, 0x62, 0x72, 0x3b, 0x0a, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x2e, 0x72, 0x67, 0x62, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x74, + 0x33, 0x28, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x72, + 0x69, 0x78, 0x29, 0x20, 0x2a, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, + 0x2e, 0x72, 0x67, 0x62, 0x20, 0x2b, 0x20, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x5f, 0x63, 0x3b, 0x0a, + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x61, 0x20, 0x3d, 0x20, 0x31, + 0x2e, 0x30, 0x3b, 0x0a, 0x2f, 0x2f, 0x20, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x0a, 0x2f, + 0x2f, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x69, 0x7a, 0x65, + 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, 0x20, + 0x3d, 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x28, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, 0x2c, 0x20, 0x30, 0x2e, 0x30, + 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, 0x20, 0x3d, 0x20, 0x70, 0x6f, + 0x77, 0x28, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, + 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x28, 0x31, 0x2e, 0x30, 0x2f, + 0x37, 0x38, 0x2e, 0x38, 0x34, 0x33, 0x37, 0x35, 0x30, 0x29, 0x29, + 0x3b, 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, + 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x78, 0x28, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x2e, 0x72, 0x67, 0x62, 0x20, 0x2d, 0x20, 0x76, 0x65, 0x63, + 0x33, 0x28, 0x30, 0x2e, 0x38, 0x33, 0x35, 0x39, 0x33, 0x38, 0x29, + 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x28, 0x30, 0x2e, 0x30, 0x29, + 0x29, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x20, 0x28, 0x76, 0x65, 0x63, + 0x33, 0x28, 0x31, 0x38, 0x2e, 0x38, 0x35, 0x31, 0x35, 0x36, 0x32, + 0x29, 0x20, 0x2d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x28, 0x31, 0x38, + 0x2e, 0x36, 0x38, 0x37, 0x35, 0x30, 0x30, 0x29, 0x20, 0x2a, 0x20, + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, 0x29, 0x3b, + 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, 0x20, + 0x3d, 0x20, 0x70, 0x6f, 0x77, 0x28, 0x63, 0x6f, 0x6c, 0x6f, 0x72, + 0x2e, 0x72, 0x67, 0x62, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x28, + 0x36, 0x2e, 0x32, 0x37, 0x37, 0x33, 0x39, 0x35, 0x29, 0x29, 0x3b, + 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, 0x20, + 0x2a, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x28, 0x34, 0x39, 0x2e, + 0x32, 0x36, 0x31, 0x30, 0x38, 0x34, 0x29, 0x3b, 0x0a, 0x63, 0x6f, + 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, 0x20, 0x2a, 0x3d, 0x20, + 0x76, 0x65, 0x63, 0x33, 0x28, 0x31, 0x2e, 0x30, 0x2f, 0x34, 0x39, + 0x2e, 0x32, 0x36, 0x31, 0x30, 0x38, 0x36, 0x29, 0x3b, 0x0a, 0x63, + 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, 0x20, 0x2a, 0x3d, + 0x20, 0x76, 0x65, 0x63, 0x33, 0x28, 0x34, 0x39, 0x2e, 0x32, 0x36, + 0x31, 0x30, 0x38, 0x36, 0x29, 0x3b, 0x0a, 0x2f, 0x2f, 0x20, 0x48, + 0x44, 0x52, 0x20, 0x74, 0x6f, 0x6e, 0x65, 0x20, 0x6d, 0x61, 0x70, + 0x70, 0x69, 0x6e, 0x67, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x69, + 0x67, 0x5f, 0x69, 0x64, 0x78, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, + 0x69, 0x66, 0x20, 0x28, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x31, + 0x5d, 0x20, 0x3e, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x73, + 0x69, 0x67, 0x5f, 0x69, 0x64, 0x78, 0x5d, 0x29, 0x20, 0x73, 0x69, + 0x67, 0x5f, 0x69, 0x64, 0x78, 0x20, 0x3d, 0x20, 0x31, 0x3b, 0x0a, + 0x69, 0x66, 0x20, 0x28, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x32, + 0x5d, 0x20, 0x3e, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5b, 0x73, + 0x69, 0x67, 0x5f, 0x69, 0x64, 0x78, 0x5d, 0x29, 0x20, 0x73, 0x69, + 0x67, 0x5f, 0x69, 0x64, 0x78, 0x20, 0x3d, 0x20, 0x32, 0x3b, 0x0a, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x73, 0x69, 0x67, 0x5f, 0x6d, + 0x61, 0x78, 0x20, 0x3d, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5b, + 0x73, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x78, 0x5d, 0x3b, 0x0a, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x73, 0x69, 0x67, 0x5f, 0x70, 0x65, + 0x61, 0x6b, 0x20, 0x3d, 0x20, 0x34, 0x39, 0x2e, 0x32, 0x36, 0x31, + 0x30, 0x38, 0x36, 0x3b, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, + 0x73, 0x69, 0x67, 0x5f, 0x61, 0x76, 0x67, 0x20, 0x3d, 0x20, 0x30, + 0x2e, 0x32, 0x35, 0x30, 0x30, 0x30, 0x30, 0x3b, 0x0a, 0x76, 0x65, + 0x63, 0x33, 0x20, 0x73, 0x69, 0x67, 0x20, 0x3d, 0x20, 0x6d, 0x69, + 0x6e, 0x28, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, + 0x2c, 0x20, 0x73, 0x69, 0x67, 0x5f, 0x70, 0x65, 0x61, 0x6b, 0x29, + 0x3b, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x73, 0x69, 0x67, + 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x20, 0x3d, 0x20, 0x73, 0x69, 0x67, + 0x5b, 0x73, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x78, 0x5d, 0x3b, 0x0a, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x73, 0x6c, 0x6f, 0x70, 0x65, + 0x20, 0x3d, 0x20, 0x6d, 0x69, 0x6e, 0x28, 0x31, 0x2e, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x32, 0x35, 0x30, + 0x30, 0x30, 0x30, 0x20, 0x2f, 0x20, 0x73, 0x69, 0x67, 0x5f, 0x61, + 0x76, 0x67, 0x29, 0x3b, 0x0a, 0x73, 0x69, 0x67, 0x20, 0x2a, 0x3d, + 0x20, 0x73, 0x6c, 0x6f, 0x70, 0x65, 0x3b, 0x0a, 0x73, 0x69, 0x67, + 0x5f, 0x70, 0x65, 0x61, 0x6b, 0x20, 0x2a, 0x3d, 0x20, 0x73, 0x6c, + 0x6f, 0x70, 0x65, 0x3b, 0x0a, 0x76, 0x65, 0x63, 0x34, 0x20, 0x73, + 0x69, 0x67, 0x5f, 0x70, 0x71, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, + 0x34, 0x28, 0x73, 0x69, 0x67, 0x2e, 0x72, 0x67, 0x62, 0x2c, 0x20, + 0x73, 0x69, 0x67, 0x5f, 0x70, 0x65, 0x61, 0x6b, 0x29, 0x3b, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x0a, 0x73, 0x69, 0x67, 0x5f, 0x70, 0x71, + 0x20, 0x2a, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x31, 0x2e, + 0x30, 0x2f, 0x34, 0x39, 0x2e, 0x32, 0x36, 0x31, 0x30, 0x38, 0x34, + 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x0a, 0x73, 0x69, 0x67, 0x5f, 0x70, 0x71, 0x20, 0x3d, 0x20, 0x70, + 0x6f, 0x77, 0x28, 0x73, 0x69, 0x67, 0x5f, 0x70, 0x71, 0x2c, 0x20, + 0x76, 0x65, 0x63, 0x34, 0x28, 0x30, 0x2e, 0x31, 0x35, 0x39, 0x33, + 0x30, 0x32, 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x73, 0x69, 0x67, 0x5f, + 0x70, 0x71, 0x20, 0x3d, 0x20, 0x28, 0x76, 0x65, 0x63, 0x34, 0x28, + 0x30, 0x2e, 0x38, 0x33, 0x35, 0x39, 0x33, 0x38, 0x29, 0x20, 0x2b, + 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x31, 0x38, 0x2e, 0x38, 0x35, + 0x31, 0x35, 0x36, 0x32, 0x29, 0x20, 0x2a, 0x20, 0x73, 0x69, 0x67, + 0x5f, 0x70, 0x71, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x20, 0x28, + 0x76, 0x65, 0x63, 0x34, 0x28, 0x31, 0x2e, 0x30, 0x29, 0x20, 0x2b, + 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x31, 0x38, 0x2e, 0x36, 0x38, + 0x37, 0x35, 0x30, 0x30, 0x29, 0x20, 0x2a, 0x20, 0x73, 0x69, 0x67, + 0x5f, 0x70, 0x71, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x0a, 0x73, 0x69, 0x67, 0x5f, 0x70, 0x71, + 0x20, 0x3d, 0x20, 0x70, 0x6f, 0x77, 0x28, 0x73, 0x69, 0x67, 0x5f, + 0x70, 0x71, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x37, 0x38, + 0x2e, 0x38, 0x34, 0x33, 0x37, 0x35, 0x30, 0x29, 0x29, 0x3b, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x73, 0x63, 0x61, 0x6c, + 0x65, 0x20, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x20, 0x2f, 0x20, 0x73, + 0x69, 0x67, 0x5f, 0x70, 0x71, 0x2e, 0x61, 0x3b, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x0a, 0x73, 0x69, 0x67, 0x5f, 0x70, 0x71, 0x2e, 0x72, 0x67, 0x62, + 0x20, 0x2a, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x28, 0x73, 0x63, + 0x61, 0x6c, 0x65, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6d, 0x61, 0x78, 0x4c, + 0x75, 0x6d, 0x20, 0x3d, 0x20, 0x30, 0x2e, 0x35, 0x38, 0x30, 0x36, + 0x39, 0x30, 0x20, 0x2a, 0x20, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x3b, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x20, 0x6b, 0x73, 0x20, 0x3d, 0x20, 0x31, 0x2e, 0x35, 0x20, + 0x2a, 0x20, 0x6d, 0x61, 0x78, 0x4c, 0x75, 0x6d, 0x20, 0x2d, 0x20, + 0x30, 0x2e, 0x35, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x76, 0x65, 0x63, 0x33, + 0x20, 0x74, 0x62, 0x20, 0x3d, 0x20, 0x28, 0x73, 0x69, 0x67, 0x5f, + 0x70, 0x71, 0x2e, 0x72, 0x67, 0x62, 0x20, 0x2d, 0x20, 0x76, 0x65, + 0x63, 0x33, 0x28, 0x6b, 0x73, 0x29, 0x29, 0x20, 0x2f, 0x20, 0x76, + 0x65, 0x63, 0x33, 0x28, 0x31, 0x2e, 0x30, 0x20, 0x2d, 0x20, 0x6b, + 0x73, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x76, 0x65, 0x63, 0x33, + 0x20, 0x74, 0x62, 0x32, 0x20, 0x3d, 0x20, 0x74, 0x62, 0x20, 0x2a, + 0x20, 0x74, 0x62, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x76, 0x65, 0x63, 0x33, + 0x20, 0x74, 0x62, 0x33, 0x20, 0x3d, 0x20, 0x74, 0x62, 0x32, 0x20, + 0x2a, 0x20, 0x74, 0x62, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x76, 0x65, 0x63, 0x33, + 0x20, 0x70, 0x62, 0x20, 0x3d, 0x20, 0x28, 0x32, 0x2e, 0x30, 0x20, + 0x2a, 0x20, 0x74, 0x62, 0x33, 0x20, 0x2d, 0x20, 0x33, 0x2e, 0x30, + 0x20, 0x2a, 0x20, 0x74, 0x62, 0x32, 0x20, 0x2b, 0x20, 0x76, 0x65, + 0x63, 0x33, 0x28, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x20, 0x2a, 0x20, + 0x76, 0x65, 0x63, 0x33, 0x28, 0x6b, 0x73, 0x29, 0x20, 0x2b, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x74, 0x62, 0x33, 0x20, + 0x2d, 0x20, 0x32, 0x2e, 0x30, 0x20, 0x2a, 0x20, 0x74, 0x62, 0x32, + 0x20, 0x2b, 0x20, 0x74, 0x62, 0x29, 0x20, 0x2a, 0x20, 0x76, 0x65, + 0x63, 0x33, 0x28, 0x31, 0x2e, 0x30, 0x20, 0x2d, 0x20, 0x6b, 0x73, + 0x29, 0x20, 0x2b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x2d, 0x32, 0x2e, 0x30, + 0x20, 0x2a, 0x20, 0x74, 0x62, 0x33, 0x20, 0x2b, 0x20, 0x33, 0x2e, + 0x30, 0x20, 0x2a, 0x20, 0x74, 0x62, 0x32, 0x29, 0x20, 0x2a, 0x20, + 0x76, 0x65, 0x63, 0x33, 0x28, 0x6d, 0x61, 0x78, 0x4c, 0x75, 0x6d, + 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x73, 0x69, 0x67, 0x20, + 0x3d, 0x20, 0x6d, 0x69, 0x78, 0x28, 0x70, 0x62, 0x2c, 0x20, 0x73, + 0x69, 0x67, 0x5f, 0x70, 0x71, 0x2e, 0x72, 0x67, 0x62, 0x2c, 0x20, + 0x76, 0x65, 0x63, 0x33, 0x28, 0x6c, 0x65, 0x73, 0x73, 0x54, 0x68, + 0x61, 0x6e, 0x28, 0x73, 0x69, 0x67, 0x5f, 0x70, 0x71, 0x2e, 0x72, + 0x67, 0x62, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x28, 0x6b, 0x73, + 0x29, 0x29, 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x0a, 0x73, 0x69, + 0x67, 0x20, 0x2a, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x28, 0x73, + 0x69, 0x67, 0x5f, 0x70, 0x71, 0x2e, 0x61, 0x29, 0x3b, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x73, 0x69, + 0x67, 0x20, 0x3d, 0x20, 0x70, 0x6f, 0x77, 0x28, 0x73, 0x69, 0x67, + 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x28, 0x31, 0x2e, 0x30, 0x2f, + 0x37, 0x38, 0x2e, 0x38, 0x34, 0x33, 0x37, 0x35, 0x30, 0x29, 0x29, + 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x0a, 0x73, 0x69, 0x67, 0x20, 0x3d, 0x20, + 0x6d, 0x61, 0x78, 0x28, 0x73, 0x69, 0x67, 0x20, 0x2d, 0x20, 0x76, + 0x65, 0x63, 0x33, 0x28, 0x30, 0x2e, 0x38, 0x33, 0x35, 0x39, 0x33, + 0x38, 0x29, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x20, 0x2f, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, + 0x76, 0x65, 0x63, 0x33, 0x28, 0x31, 0x38, 0x2e, 0x38, 0x35, 0x31, + 0x35, 0x36, 0x32, 0x29, 0x20, 0x2d, 0x20, 0x76, 0x65, 0x63, 0x33, + 0x28, 0x31, 0x38, 0x2e, 0x36, 0x38, 0x37, 0x35, 0x30, 0x30, 0x29, + 0x20, 0x2a, 0x20, 0x73, 0x69, 0x67, 0x29, 0x3b, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x0a, 0x73, 0x69, 0x67, 0x20, 0x3d, 0x20, 0x70, 0x6f, + 0x77, 0x28, 0x73, 0x69, 0x67, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, + 0x28, 0x31, 0x2e, 0x30, 0x2f, 0x30, 0x2e, 0x31, 0x35, 0x39, 0x33, + 0x30, 0x32, 0x29, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x73, 0x69, + 0x67, 0x20, 0x2a, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x28, 0x34, + 0x39, 0x2e, 0x32, 0x36, 0x31, 0x30, 0x38, 0x34, 0x29, 0x3b, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x0a, 0x76, 0x65, 0x63, 0x33, 0x20, 0x73, + 0x69, 0x67, 0x5f, 0x6c, 0x69, 0x6e, 0x20, 0x3d, 0x20, 0x63, 0x6f, + 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, 0x20, 0x2a, 0x20, 0x28, + 0x73, 0x69, 0x67, 0x5b, 0x73, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x78, + 0x5d, 0x20, 0x2f, 0x20, 0x73, 0x69, 0x67, 0x5f, 0x6f, 0x72, 0x69, + 0x67, 0x29, 0x3b, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x63, + 0x6f, 0x65, 0x66, 0x66, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x78, 0x28, + 0x73, 0x69, 0x67, 0x5b, 0x73, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x78, + 0x5d, 0x20, 0x2d, 0x20, 0x30, 0x2e, 0x31, 0x38, 0x30, 0x30, 0x30, + 0x30, 0x2c, 0x20, 0x31, 0x65, 0x2d, 0x36, 0x29, 0x20, 0x2f, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x6d, 0x61, 0x78, 0x28, 0x73, 0x69, 0x67, 0x5b, + 0x73, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x78, 0x5d, 0x2c, 0x20, 0x31, + 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x63, 0x6f, 0x65, 0x66, 0x66, 0x20, + 0x3d, 0x20, 0x30, 0x2e, 0x37, 0x35, 0x30, 0x30, 0x30, 0x30, 0x20, + 0x2a, 0x20, 0x70, 0x6f, 0x77, 0x28, 0x63, 0x6f, 0x65, 0x66, 0x66, + 0x2c, 0x20, 0x31, 0x2e, 0x35, 0x30, 0x30, 0x30, 0x30, 0x30, 0x29, + 0x3b, 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, + 0x20, 0x3d, 0x20, 0x6d, 0x69, 0x78, 0x28, 0x73, 0x69, 0x67, 0x5f, + 0x6c, 0x69, 0x6e, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x20, 0x2a, 0x20, 0x73, 0x69, 0x67, 0x2c, 0x20, 0x63, + 0x6f, 0x65, 0x66, 0x66, 0x29, 0x3b, 0x0a, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x2e, 0x72, 0x67, 0x62, 0x20, 0x3d, 0x20, 0x63, 0x6d, 0x73, + 0x5f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x20, 0x2a, 0x20, 0x63, + 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, 0x3b, 0x0a, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x63, 0x6d, 0x69, 0x6e, 0x20, 0x3d, + 0x20, 0x6d, 0x69, 0x6e, 0x28, 0x6d, 0x69, 0x6e, 0x28, 0x63, 0x6f, + 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x2e, 0x67, 0x29, 0x2c, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, + 0x2e, 0x62, 0x29, 0x3b, 0x0a, 0x69, 0x66, 0x20, 0x28, 0x63, 0x6d, + 0x69, 0x6e, 0x20, 0x3c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x20, 0x7b, + 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6c, 0x75, 0x6d, 0x61, + 0x20, 0x3d, 0x20, 0x64, 0x6f, 0x74, 0x28, 0x64, 0x73, 0x74, 0x5f, + 0x6c, 0x75, 0x6d, 0x61, 0x2c, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, + 0x2e, 0x72, 0x67, 0x62, 0x29, 0x3b, 0x20, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x20, 0x63, 0x6f, 0x65, 0x66, 0x66, 0x20, 0x3d, 0x20, 0x63, + 0x6d, 0x69, 0x6e, 0x20, 0x2f, 0x20, 0x28, 0x63, 0x6d, 0x69, 0x6e, + 0x20, 0x2d, 0x20, 0x6c, 0x75, 0x6d, 0x61, 0x29, 0x3b, 0x20, 0x63, + 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, 0x20, 0x3d, 0x20, + 0x6d, 0x69, 0x78, 0x28, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, + 0x67, 0x62, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x28, 0x6c, 0x75, + 0x6d, 0x61, 0x29, 0x2c, 0x20, 0x63, 0x6f, 0x65, 0x66, 0x66, 0x29, + 0x3b, 0x20, 0x7d, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x63, + 0x6d, 0x61, 0x78, 0x20, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x2f, 0x31, + 0x2e, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x20, 0x2a, 0x20, 0x6d, + 0x61, 0x78, 0x28, 0x6d, 0x61, 0x78, 0x28, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x2e, 0x72, 0x2c, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, + 0x67, 0x29, 0x2c, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x62, + 0x29, 0x3b, 0x0a, 0x69, 0x66, 0x20, 0x28, 0x63, 0x6d, 0x61, 0x78, + 0x20, 0x3e, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x20, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, 0x20, 0x2f, 0x3d, 0x20, 0x63, + 0x6d, 0x61, 0x78, 0x3b, 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, + 0x72, 0x67, 0x62, 0x20, 0x2a, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x33, + 0x28, 0x31, 0x2e, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x29, 0x3b, + 0x0a, 0x2f, 0x2f, 0x20, 0x64, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x61, + 0x72, 0x69, 0x7a, 0x65, 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, + 0x72, 0x67, 0x62, 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, + 0x28, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, 0x2c, + 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x3b, + 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, 0x20, + 0x2a, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x28, 0x31, 0x2e, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x29, 0x3b, 0x0a, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, 0x20, 0x3d, 0x20, 0x70, 0x6f, + 0x77, 0x28, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x72, 0x67, 0x62, + 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x28, 0x31, 0x2e, 0x30, 0x2f, + 0x32, 0x2e, 0x32, 0x29, 0x29, 0x3b, 0x0a, 0x67, 0x6c, 0x5f, 0x46, + 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, 0x7d, 0x0a, 0x88, 0x0b, + 0x00, 0x00, 0x00, 0x04, 0xef, 0xbe, 0xb7, 0xf3, 0xf9, 0x8c, 0x80, + 0xc9, 0x1d, 0xb9, 0x01, 0x01, 0x00, 0x02, 0x14, 0x08, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x53, 0x68, 0x64, 0x72, 0x07, 0x00, + 0x02, 0x00, 0x02, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5c, + 0x07, 0x00, 0x09, 0x04, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x86, 0x01, 0x0c, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x1b, 0x01, 0x02, 0x00, 0x00, 0x00, 0x04, + 0x03, 0x01, 0x00, 0x0c, 0x00, 0x00, 0x01, 0x10, 0x03, 0x00, 0x02, + 0x18, 0x03, 0x01, 0x01, 0x20, 0x00, 0x01, 0x02, 0x24, 0x00, 0x02, + 0x00, 0x28, 0x00, 0x02, 0x0f, 0x2c, 0x00, 0x0f, 0x00, 0x10, 0x00, + 0x11, 0x00, 0x00, 0x00, 0xff, 0x03, 0xeb, 0xbe, 0xe7, 0x00, 0x00, + 0x00, 0x7e, 0x04, 0xb0, 0xbe, 0x7e, 0x0a, 0xfe, 0xbe, 0x10, 0x03, + 0xfc, 0xbe, 0x00, 0x03, 0x08, 0xc1, 0x10, 0x03, 0x10, 0xc1, 0x00, + 0x00, 0x08, 0xc8, 0x00, 0x01, 0x0c, 0xc8, 0x01, 0x00, 0x09, 0xc8, + 0x01, 0x01, 0x0d, 0xc8, 0x00, 0x04, 0x10, 0xc8, 0x00, 0x05, 0x14, + 0xc8, 0x01, 0x04, 0x11, 0xc8, 0x01, 0x05, 0x15, 0xc8, 0x00, 0x08, + 0x18, 0xc8, 0x00, 0x09, 0x1c, 0xc8, 0x00, 0x01, 0x80, 0xf0, 0x02, + 0x02, 0x61, 0x00, 0x01, 0x08, 0x19, 0xc8, 0x01, 0x09, 0x1d, 0xc8, + 0x7f, 0x00, 0x8c, 0xbf, 0x00, 0x01, 0x80, 0xf0, 0x04, 0x01, 0x04, + 0x01, 0x00, 0x01, 0x80, 0xf0, 0x06, 0x00, 0x26, 0x01, 0x0c, 0x29, + 0x80, 0xc2, 0x00, 0x29, 0x82, 0xc2, 0x04, 0x29, 0x84, 0xc2, 0x08, + 0x29, 0x86, 0xc2, 0x7f, 0x00, 0x8c, 0xbf, 0x00, 0x02, 0x06, 0x7e, + 0x01, 0x02, 0x08, 0x7e, 0x72, 0x0f, 0x8c, 0xbf, 0x04, 0x04, 0x06, + 0x3e, 0x05, 0x04, 0x08, 0x3e, 0x71, 0x0f, 0x8c, 0xbf, 0x08, 0x02, + 0x06, 0x3e, 0x09, 0x02, 0x08, 0x3e, 0x70, 0x0f, 0x8c, 0xbf, 0x03, + 0x08, 0x82, 0xd2, 0x0c, 0x00, 0x0e, 0x04, 0x04, 0x08, 0x82, 0xd2, + 0x0d, 0x00, 0x12, 0x04, 0x03, 0x4f, 0x06, 0x7e, 0x04, 0x4f, 0x08, + 0x7e, 0xff, 0x06, 0x06, 0x10, 0xac, 0xcd, 0x4f, 0x3c, 0xff, 0x08, + 0x08, 0x10, 0xac, 0xcd, 0x4f, 0x3c, 0x03, 0x4b, 0x06, 0x7e, 0x04, + 0x4b, 0x08, 0x7e, 0xff, 0x02, 0x0a, 0x7e, 0x00, 0xd0, 0x96, 0x41, + 0xff, 0x03, 0x80, 0xbe, 0x00, 0x80, 0x95, 0x41, 0xff, 0x06, 0x0c, + 0x06, 0x08, 0x00, 0x56, 0xbf, 0xff, 0x08, 0x0e, 0x06, 0x08, 0x00, + 0x56, 0xbf, 0x03, 0x00, 0x82, 0xd2, 0x03, 0x01, 0x14, 0x24, 0x04, + 0x00, 0x82, 0xd2, 0x04, 0x01, 0x14, 0x24, 0x80, 0x0c, 0x0c, 0x20, + 0x80, 0x0e, 0x0e, 0x20, 0x03, 0x55, 0x06, 0x7e, 0x04, 0x55, 0x08, + 0x7e, 0x06, 0x07, 0x06, 0x10, 0x07, 0x09, 0x08, 0x10, 0x03, 0x01, + 0x4e, 0xd3, 0x03, 0x01, 0x00, 0x00, 0x04, 0x01, 0x4e, 0xd3, 0x04, + 0x01, 0x00, 0x00, 0xff, 0x06, 0x06, 0x10, 0x6b, 0xe0, 0xc8, 0x40, + 0xff, 0x08, 0x08, 0x10, 0x6b, 0xe0, 0xc8, 0x40, 0x03, 0x4b, 0x06, + 0x7e, 0x04, 0x4b, 0x08, 0x7e, 0xff, 0x06, 0x06, 0x10, 0x5a, 0x0b, + 0x45, 0x42, 0xff, 0x08, 0x08, 0x10, 0x5a, 0x0b, 0x45, 0x42, 0x04, + 0x07, 0x08, 0x7c, 0x06, 0x00, 0x00, 0xd2, 0x80, 0x02, 0xa9, 0x01, + 0x00, 0x20, 0xf3, 0xeb, 0x06, 0x07, 0x0b, 0x80, 0x02, 0x02, 0x16, + 0x7e, 0x06, 0x04, 0x16, 0x3e, 0x0a, 0x02, 0x16, 0x3e, 0x0b, 0x08, + 0x82, 0xd2, 0x0e, 0x00, 0x2e, 0x04, 0x0b, 0x4f, 0x00, 0x7e, 0xff, + 0x00, 0x00, 0x10, 0xac, 0xcd, 0x4f, 0x3c, 0x00, 0x4b, 0x00, 0x7e, + 0xff, 0x00, 0x02, 0x06, 0x08, 0x00, 0x56, 0xbf, 0x00, 0x00, 0x82, + 0xd2, 0x00, 0x01, 0x14, 0x24, 0x80, 0x02, 0x02, 0x20, 0x00, 0x55, + 0x00, 0x7e, 0x01, 0x01, 0x00, 0x10, 0x00, 0x01, 0x4e, 0xd3, 0x00, + 0x01, 0x00, 0x00, 0xff, 0x00, 0x00, 0x10, 0x6b, 0xe0, 0xc8, 0x40, + 0x00, 0x4b, 0x00, 0x7e, 0xff, 0x00, 0x00, 0x10, 0x5a, 0x0b, 0x45, + 0x42, 0x70, 0x0f, 0x8c, 0xbf, 0x00, 0x13, 0x14, 0x3e, 0x04, 0x11, + 0x14, 0x3e, 0x03, 0x0f, 0x14, 0x3e, 0x00, 0x15, 0x16, 0x7c, 0x82, + 0x0c, 0x02, 0x00, 0x00, 0x20, 0xea, 0xeb, 0x01, 0x06, 0x0b, 0x80, + 0xff, 0x00, 0x02, 0x1e, 0x5a, 0x0b, 0x45, 0x42, 0xff, 0x08, 0x04, + 0x1e, 0x5a, 0x0b, 0x45, 0x42, 0xff, 0x02, 0x12, 0x10, 0x2f, 0x4c, + 0xa6, 0x3c, 0xff, 0x06, 0x14, 0x1e, 0x5a, 0x0b, 0x45, 0x42, 0xff, + 0x04, 0x16, 0x10, 0x2f, 0x4c, 0xa6, 0x3c, 0x09, 0x01, 0x4e, 0xd3, + 0x09, 0x01, 0x00, 0x00, 0xff, 0x14, 0x18, 0x10, 0x2f, 0x4c, 0xa6, + 0x3c, 0x0b, 0x01, 0x4e, 0xd3, 0x0b, 0x01, 0x00, 0x00, 0xff, 0x12, + 0x12, 0x10, 0x10, 0x20, 0x23, 0x3e, 0x0c, 0x01, 0x4e, 0xd3, 0x0c, + 0x01, 0x00, 0x00, 0xff, 0x16, 0x16, 0x10, 0x10, 0x20, 0x23, 0x3e, + 0x09, 0x4b, 0x12, 0x7e, 0xff, 0x18, 0x18, 0x10, 0x10, 0x20, 0x23, + 0x3e, 0x0b, 0x4b, 0x16, 0x7e, 0xff, 0x02, 0x1a, 0x7e, 0x08, 0x00, + 0x56, 0x3f, 0xff, 0x03, 0x81, 0xbe, 0x00, 0xd0, 0x96, 0x41, 0x0e, + 0x00, 0x82, 0xd2, 0x09, 0x01, 0xc8, 0x03, 0x0c, 0x4b, 0x18, 0x7e, + 0x09, 0x00, 0x82, 0xd2, 0x09, 0x03, 0x34, 0x04, 0x0f, 0x00, 0x82, + 0xd2, 0x0b, 0x01, 0xc8, 0x03, 0x0e, 0x55, 0x1c, 0x7e, 0x0b, 0x00, + 0x82, 0xd2, 0x0b, 0x03, 0x34, 0x04, 0x10, 0x00, 0x82, 0xd2, 0x0c, + 0x01, 0xc8, 0x03, 0x0f, 0x55, 0x1e, 0x7e, 0x09, 0x1d, 0x12, 0x10, + 0x01, 0x18, 0x1a, 0x3e, 0x10, 0x55, 0x18, 0x7e, 0x0b, 0x1f, 0x16, + 0x10, 0x09, 0x01, 0x4e, 0xd3, 0x09, 0x01, 0x00, 0x00, 0x0d, 0x19, + 0x18, 0x10, 0x0b, 0x01, 0x4e, 0xd3, 0x0b, 0x01, 0x00, 0x00, 0xff, + 0x12, 0x12, 0x10, 0x00, 0xb0, 0x9d, 0x42, 0x0c, 0x01, 0x4e, 0xd3, + 0x0c, 0x01, 0x00, 0x00, 0xff, 0x16, 0x16, 0x10, 0x00, 0xb0, 0x9d, + 0x42, 0x09, 0x4b, 0x12, 0x7e, 0xff, 0x18, 0x18, 0x10, 0x00, 0xb0, + 0x9d, 0x42, 0x0b, 0x4b, 0x16, 0x7e, 0xff, 0x12, 0x1a, 0x06, 0x4e, + 0xf8, 0xbd, 0xbe, 0x0c, 0x4b, 0x18, 0x7e, 0xff, 0x16, 0x1c, 0x06, + 0x4e, 0xf8, 0xbd, 0xbe, 0xff, 0x1a, 0x1a, 0x10, 0x4b, 0x82, 0xcb, + 0x3f, 0xff, 0x18, 0x1e, 0x06, 0x4e, 0xf8, 0xbd, 0xbe, 0xff, 0x1c, + 0x1c, 0x10, 0x4b, 0x82, 0xcb, 0x3f, 0x0d, 0x1b, 0x20, 0x10, 0xff, + 0x1e, 0x1e, 0x10, 0x4b, 0x82, 0xcb, 0x3f, 0x0e, 0x1d, 0x22, 0x10, + 0x0d, 0x21, 0x24, 0x10, 0x0d, 0x21, 0x1a, 0x3e, 0x0f, 0x1f, 0x26, + 0x10, 0x0e, 0x23, 0x28, 0x10, 0x15, 0x00, 0x20, 0xd2, 0x12, 0x25, + 0x02, 0x08, 0x0e, 0x23, 0x1c, 0x3e, 0x10, 0x1b, 0x1a, 0x40, 0x00, + 0x00, 0x00, 0xc0, 0x0f, 0x27, 0x2c, 0x10, 0x17, 0x00, 0x20, 0xd2, + 0x14, 0x29, 0x02, 0x08, 0xff, 0x20, 0x30, 0x10, 0x00, 0x00, 0x40, + 0x40, 0x10, 0x2b, 0x20, 0x40, 0x00, 0x00, 0x40, 0xc0, 0x0f, 0x27, + 0x1e, 0x3e, 0x11, 0x1d, 0x1c, 0x40, 0x00, 0x00, 0x00, 0xc0, 0xff, + 0x1a, 0x1a, 0x10, 0xd9, 0x03, 0x21, 0x3f, 0x15, 0x00, 0x20, 0xd2, + 0x16, 0x2d, 0x02, 0x08, 0xff, 0x22, 0x32, 0x10, 0x00, 0x00, 0x40, + 0x40, 0x11, 0x2f, 0x22, 0x40, 0x00, 0x00, 0x40, 0xc0, 0x13, 0x1f, + 0x1e, 0x40, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x1c, 0x1c, 0x10, 0xd9, + 0x03, 0x21, 0x3f, 0x12, 0x31, 0x24, 0x40, 0x00, 0x00, 0x00, 0xc0, + 0x10, 0x1b, 0x1a, 0x40, 0x4e, 0xf8, 0xbd, 0x3e, 0xff, 0x26, 0x20, + 0x10, 0x00, 0x00, 0x40, 0x40, 0x13, 0x2b, 0x26, 0x40, 0x00, 0x00, + 0x40, 0xc0, 0xff, 0x1e, 0x1e, 0x10, 0xd9, 0x03, 0x21, 0x3f, 0x14, + 0x33, 0x28, 0x40, 0x00, 0x00, 0x00, 0xc0, 0x11, 0x1d, 0x1c, 0x40, + 0x4e, 0xf8, 0xbd, 0x3e, 0x12, 0x1b, 0x1a, 0x40, 0x1a, 0xa8, 0x14, + 0x3f, 0xff, 0x02, 0x22, 0x7e, 0x4e, 0xf8, 0xbd, 0x3e, 0x16, 0x21, + 0x20, 0x40, 0x00, 0x00, 0x00, 0xc0, 0x13, 0x1f, 0x1e, 0x40, 0x4e, + 0xf8, 0xbd, 0x3e, 0x14, 0x1d, 0x1c, 0x40, 0x1a, 0xa8, 0x14, 0x3f, + 0x0d, 0x23, 0x1a, 0x06, 0x09, 0x23, 0x02, 0x7c, 0x10, 0x1f, 0x1e, + 0x40, 0x1a, 0xa8, 0x14, 0x3f, 0x0e, 0x23, 0x1c, 0x06, 0x02, 0x00, + 0x02, 0xd0, 0x0b, 0x23, 0x02, 0x00, 0x10, 0x00, 0x00, 0xd2, 0x80, + 0xe4, 0xa9, 0x01, 0x09, 0x1b, 0x12, 0x08, 0x11, 0x1f, 0x1e, 0x06, + 0x0c, 0x23, 0x02, 0x7c, 0x11, 0x00, 0x00, 0xd2, 0x80, 0xe4, 0x09, + 0x00, 0x0b, 0x1d, 0x16, 0x08, 0x09, 0x21, 0x1a, 0x3e, 0x09, 0x00, + 0x00, 0xd2, 0x80, 0xe4, 0xa9, 0x01, 0x0c, 0x1f, 0x18, 0x08, 0x0b, + 0x23, 0x1c, 0x3e, 0x0b, 0x01, 0x4e, 0xd3, 0x0d, 0x01, 0x00, 0x00, + 0x0c, 0x13, 0x1e, 0x3e, 0x09, 0x01, 0x4e, 0xd3, 0x0e, 0x01, 0x00, + 0x00, 0xff, 0x16, 0x16, 0x10, 0xac, 0xcd, 0x4f, 0x3c, 0x0c, 0x01, + 0x4e, 0xd3, 0x0f, 0x01, 0x00, 0x00, 0xff, 0x12, 0x12, 0x10, 0xac, + 0xcd, 0x4f, 0x3c, 0x0b, 0x4b, 0x16, 0x7e, 0xff, 0x18, 0x18, 0x10, + 0xac, 0xcd, 0x4f, 0x3c, 0x09, 0x4b, 0x12, 0x7e, 0xff, 0x16, 0x1a, + 0x06, 0x08, 0x00, 0x56, 0xbf, 0x0b, 0x00, 0x82, 0xd2, 0x0b, 0x01, + 0x14, 0x24, 0x0c, 0x4b, 0x18, 0x7e, 0xff, 0x12, 0x1c, 0x06, 0x08, + 0x00, 0x56, 0xbf, 0x80, 0x1a, 0x1a, 0x20, 0x09, 0x00, 0x82, 0xd2, + 0x09, 0x01, 0x14, 0x24, 0x0b, 0x55, 0x16, 0x7e, 0xff, 0x18, 0x1e, + 0x06, 0x08, 0x00, 0x56, 0xbf, 0x80, 0x1c, 0x1c, 0x20, 0x05, 0x00, + 0x82, 0xd2, 0x0c, 0x01, 0x14, 0x24, 0x09, 0x55, 0x12, 0x7e, 0x0d, + 0x17, 0x16, 0x10, 0x80, 0x1e, 0x18, 0x20, 0x05, 0x55, 0x0a, 0x7e, + 0x0e, 0x13, 0x12, 0x10, 0x0b, 0x01, 0x4e, 0xd3, 0x0b, 0x01, 0x00, + 0x00, 0x0c, 0x0b, 0x0a, 0x10, 0x09, 0x01, 0x4e, 0xd3, 0x09, 0x01, + 0x00, 0x00, 0xff, 0x16, 0x16, 0x10, 0x57, 0xe0, 0xc8, 0x40, 0x05, + 0x01, 0x4e, 0xd3, 0x05, 0x01, 0x00, 0x00, 0xff, 0x12, 0x12, 0x10, + 0x57, 0xe0, 0xc8, 0x40, 0x0b, 0x4b, 0x16, 0x7e, 0xff, 0x0a, 0x0a, + 0x10, 0x57, 0xe0, 0xc8, 0x40, 0x09, 0x4b, 0x12, 0x7e, 0xff, 0x16, + 0x18, 0x10, 0x5a, 0x0b, 0x45, 0x42, 0x05, 0x4b, 0x0a, 0x7e, 0xff, + 0x12, 0x1a, 0x10, 0x5a, 0x0b, 0x45, 0x42, 0x70, 0x0f, 0x8c, 0xbf, + 0x08, 0x19, 0x18, 0x10, 0xff, 0x0a, 0x1c, 0x10, 0x5a, 0x0b, 0x45, + 0x42, 0x0d, 0x0f, 0x18, 0x3e, 0x0e, 0x0d, 0x18, 0x3e, 0x01, 0x11, + 0x02, 0x10, 0xff, 0x18, 0x10, 0x06, 0xec, 0x51, 0x38, 0xbe, 0xf2, + 0x18, 0x1a, 0x20, 0x02, 0x0f, 0x02, 0x3e, 0xff, 0x10, 0x04, 0x20, + 0xbd, 0x37, 0x86, 0x35, 0x0d, 0x55, 0x0e, 0x7e, 0x0a, 0x0d, 0x02, + 0x3e, 0x02, 0x0f, 0x04, 0x10, 0x18, 0x29, 0x80, 0xc2, 0x01, 0x55, + 0x02, 0x7e, 0x02, 0x01, 0x4e, 0xd3, 0x02, 0x01, 0x00, 0x00, 0x14, + 0x29, 0x82, 0xc2, 0x0c, 0x03, 0x02, 0x10, 0xff, 0x04, 0x04, 0x10, + 0x00, 0x00, 0xc0, 0x3f, 0x1c, 0x29, 0x84, 0xc2, 0x04, 0x03, 0x08, + 0x10, 0x02, 0x4b, 0x04, 0x7e, 0x7f, 0x00, 0x8c, 0xbf, 0xff, 0x03, + 0x83, 0xbe, 0x5a, 0x0b, 0x45, 0x42, 0x03, 0x03, 0x06, 0x10, 0xff, + 0x04, 0x04, 0x10, 0x00, 0x00, 0x40, 0x3f, 0x06, 0x00, 0x82, 0xd2, + 0x09, 0x07, 0x10, 0x84, 0x00, 0x03, 0x00, 0x10, 0x01, 0x00, 0x82, + 0xd2, 0x05, 0x07, 0x0c, 0x84, 0x06, 0x05, 0x08, 0x3e, 0x05, 0x00, + 0x82, 0xd2, 0x0b, 0x07, 0x00, 0x84, 0x01, 0x05, 0x06, 0x3e, 0x00, + 0x08, 0x02, 0x10, 0x01, 0x08, 0x0c, 0x10, 0x05, 0x05, 0x00, 0x3e, + 0x04, 0x06, 0x02, 0x3e, 0x05, 0x06, 0x0c, 0x3e, 0x02, 0x08, 0x04, + 0x10, 0x09, 0x00, 0x82, 0xd2, 0x00, 0x11, 0x04, 0x04, 0x09, 0x00, + 0x0c, 0x3e, 0x06, 0x06, 0x04, 0x3e, 0x0a, 0x00, 0x04, 0x3e, 0x09, + 0x0d, 0x0a, 0x1e, 0x02, 0x0b, 0x0a, 0x1e, 0x04, 0x06, 0x0e, 0x10, + 0x05, 0x06, 0x10, 0x10, 0x06, 0x06, 0x06, 0x10, 0x80, 0x0a, 0x08, + 0x7c, 0x6a, 0x24, 0x84, 0xbe, 0x17, 0x00, 0x88, 0xbf, 0x10, 0x29, + 0x86, 0xc2, 0x02, 0x08, 0x06, 0x3e, 0x01, 0x08, 0x10, 0x3e, 0x0a, + 0x00, 0x06, 0x3e, 0x00, 0x08, 0x0e, 0x3e, 0x09, 0x00, 0x10, 0x3e, + 0x7f, 0x00, 0x8c, 0xbf, 0x0e, 0x06, 0x02, 0x10, 0x08, 0x00, 0x0e, + 0x3e, 0x0d, 0x10, 0x02, 0x3e, 0x0c, 0x0e, 0x02, 0x3e, 0x05, 0x03, + 0x00, 0x08, 0x00, 0x55, 0x00, 0x7e, 0x05, 0x01, 0x00, 0x10, 0x07, + 0x03, 0x04, 0x0a, 0x08, 0x03, 0x08, 0x0a, 0x03, 0x03, 0x02, 0x0a, + 0x09, 0x00, 0x82, 0xd2, 0x02, 0x01, 0x1e, 0x04, 0x06, 0x00, 0x82, + 0xd2, 0x04, 0x01, 0x22, 0x04, 0x02, 0x00, 0x82, 0xd2, 0x01, 0x01, + 0x0e, 0x04, 0x04, 0x04, 0xfe, 0xbe, 0x06, 0x05, 0x06, 0x20, 0x09, + 0x07, 0x06, 0x20, 0xf2, 0x06, 0x02, 0x7c, 0x04, 0x6a, 0xfe, 0x87, + 0x03, 0x55, 0x06, 0x7e, 0x09, 0x07, 0x12, 0x10, 0x06, 0x07, 0x0c, + 0x10, 0x02, 0x07, 0x04, 0x10, 0x04, 0x04, 0xfe, 0xbe, 0x00, 0x08, + 0x20, 0xd2, 0x09, 0x13, 0x02, 0x00, 0x01, 0x08, 0x20, 0xd2, 0x06, + 0x0d, 0x02, 0x00, 0x02, 0x08, 0x20, 0xd2, 0x02, 0x05, 0x02, 0x00, + 0x00, 0x4f, 0x00, 0x7e, 0x01, 0x4f, 0x02, 0x7e, 0x02, 0x4f, 0x04, + 0x7e, 0xff, 0x00, 0x00, 0x10, 0x2e, 0xba, 0xe8, 0x3e, 0xff, 0x02, + 0x02, 0x10, 0x2e, 0xba, 0xe8, 0x3e, 0xff, 0x04, 0x04, 0x10, 0x2e, + 0xba, 0xe8, 0x3e, 0x00, 0x4b, 0x00, 0x7e, 0x01, 0x4b, 0x02, 0x7e, + 0x02, 0x4b, 0x04, 0x7e, 0xf2, 0x02, 0x06, 0x7e, 0x30, 0x04, 0xfe, + 0xbe, 0x00, 0x03, 0x00, 0x5e, 0x02, 0x07, 0x02, 0x5e, 0x0f, 0x1c, + 0x00, 0xf8, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x81, 0xbf, 0x6a, + 0x08, 0x00, 0x20, 0x00, 0x51, 0x41, 0x00, 0x51, 0x51, 0x41, 0x41, + 0xcd, 0xe8, 0x01, 0x4d, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, + 0x00, 0x1b, 0x01, 0x02, 0x00, 0x00, 0x00, 0x04, 0x03, 0x01, 0x00, + 0x0c, 0x00, 0x00, 0x01, 0x10, 0x03, 0x00, 0x02, 0x18, 0x03, 0x01, + 0x01, 0x20, 0x00, 0x01, 0x02, 0x24, 0x00, 0x02, 0x00, 0x28, 0x00, + 0x02, 0x0f, 0x2c, 0x00, 0x01, 0x00, 0x04, 0x00, 0xef, 0xbe, 0x00, + 0x00, 0x4f, 0x72, 0x62, 0x53, 0x68, 0x64, 0x72, 0x07, 0x41, 0xfc, + 0x06, 0x00, 0x02, 0x09, 0x0c, 0x03, 0xb7, 0xf3, 0xf9, 0x8c, 0x80, + 0xc9, 0x1d, 0xb9, 0x03, 0x95, 0xc3, 0x23, 0x00, 0x00, 0x80, 0x3f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x3f, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x02, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, + 0x05, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0d, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x05, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, + 0x00, 0x00, 0x00, 0x16, 0x04, 0x6a, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xef, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x16, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xdd, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x16, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xcc, 0x01, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xbb, 0x01, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xaa, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, + 0x01, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x01, + 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0x01, 0x00, + 0x00, 0x70, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x02, + 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d, 0x01, 0x00, 0x00, + 0x1e, 0x01, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4b, 0x01, 0x00, 0x00, 0x53, + 0x01, 0x00, 0x00, 0x02, 0x01, 0x00, 0x03, 0x30, 0x00, 0x00, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe6, 0x00, + 0x00, 0x00, 0x2f, 0x01, 0x00, 0x00, 0x02, 0x01, 0x00, 0x03, 0x40, + 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xd0, 0x00, 0x00, 0x00, 0x0b, 0x01, 0x00, 0x00, 0x1e, 0x01, + 0x00, 0x03, 0x50, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x00, 0x00, 0xe7, 0x00, 0x00, + 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, + 0x00, 0x00, 0xf6, 0x00, 0x00, 0x00, 0x01, 0x24, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0xf4, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, + 0x01, 0x24, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, + 0x00, 0xfe, 0x00, 0x00, 0x00, 0x03, 0x38, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0xa7, 0x00, 0x00, 0x00, 0x74, + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x30, 0x00, 0x74, 0x65, 0x78, + 0x74, 0x75, 0x72, 0x65, 0x31, 0x00, 0x74, 0x65, 0x78, 0x74, 0x75, + 0x72, 0x65, 0x32, 0x00, 0x5f, 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41, + 0x4c, 0x5f, 0x43, 0x42, 0x5f, 0x5f, 0x00, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x5b, 0x30, 0x5d, 0x00, + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, + 0x5b, 0x31, 0x5d, 0x00, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x72, 0x69, 0x78, 0x5b, 0x32, 0x5d, 0x00, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x5f, 0x63, 0x00, + 0x64, 0x73, 0x74, 0x5f, 0x6c, 0x75, 0x6d, 0x61, 0x00, 0x63, 0x6d, + 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x5b, 0x30, 0x5d, + 0x00, 0x63, 0x6d, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, + 0x5b, 0x31, 0x5d, 0x00, 0x63, 0x6d, 0x73, 0x5f, 0x6d, 0x61, 0x74, + 0x72, 0x69, 0x78, 0x5b, 0x32, 0x5d, 0x00, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x00, 0x28, 0x6e, 0x6f, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x29, 0x00, 0x63, 0x6d, 0x73, 0x5f, + 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x00, 0x74, 0x65, 0x78, 0x63, + 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, + 0x4f, 0x52, 0x44, 0x30, 0x00, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, + 0x72, 0x64, 0x31, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, + 0x44, 0x31, 0x00, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, + 0x32, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x32, + 0x00, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, + 0x6f, 0x72, 0x00, 0x00, 0x00, 0x00 +}; + diff --git a/video/out/opengl/ra_ps4.h b/video/out/opengl/ra_ps4.h new file mode 100644 index 0000000..aa2e4ea --- /dev/null +++ b/video/out/opengl/ra_ps4.h @@ -0,0 +1,47 @@ +#pragma once + +#include +#include +#include + +typedef struct ps4_shader { + char sha[65]; + const char *src; + int size; +} ps4_shader; + +extern ps4_shader ps4_shaders_list[]; +extern int ps4_shaders_list_size; + +extern int ps4_mpv_use_precompiled_shaders; +extern int ps4_mpv_dump_shaders; + +void glPigletGetShaderBinarySCE( + GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary); + +ps4_shader *ps4_mpv_get_shader(const char *name); + +int ps4_mpv_get_shader_hash(const char *prog, size_t len, char *out); + +void ps4_mpv_dump_shader(GLuint id, const char *path, const char *name); + +// default shader +extern const char ps4_vert_default[]; +extern const char ps4_frag_default[]; +#define ps4_vert_default_sha "0343CB3E07C78C9502D7DC28FE81B01156659FAAD74DAFF538CA814D22C54934" +#define ps4_frag_default_sha "3656E3A040C0B5241A6B93FF03F59A793B0EF6F20D6F590F7C84D569BCB025EA" + +// default shader with gamma correction +extern const char ps4_frag_default_gamma[]; +#define ps4_frag_default_gamma_sha "157F8A13AE02FA8D5D4C1AA15C5A76936A837BE8EC27137FD2F7E4C9AC3697C3" + +// subtitle default shader +extern const char ps4_vert_sub[]; +extern const char ps4_frag_sub[]; +#define ps4_vert_sub_sha "C8F6C1D3AB0F60216199E37E11598772306FE946A7790A9F8223478ACEAB24C5" +#define ps4_frag_sub_sha "148634E777E2C3006104DB8FF2F97A8C486DE5C32A8B88479E5AA8B61571BB49" + +// ... +extern const char ps4_frag_59EAFD[]; +#define ps4_frag_59EAFD_sha "59EAFD8B6C03161A000079B3A3DB5831CBC0F6874BCE8C676B5372B22B30A891" + diff --git a/wscript_build.py b/wscript_build.py index a470808..56d41f9 100644 --- a/wscript_build.py +++ b/wscript_build.py @@ -240,7 +240,6 @@ def build(ctx): ]) getch2_c = ctx.pick_first_matching_dep([ - ( "osdep/terminal-unix.c", "posix" ), ( "osdep/terminal-win.c", "win32-desktop" ), ( "osdep/terminal-dummy.c" ), ]) @@ -252,13 +251,11 @@ def build(ctx): ]) ipc_c = ctx.pick_first_matching_dep([ - ( "input/ipc-unix.c", "posix" ), ( "input/ipc-win.c", "win32-desktop" ), ( "input/ipc-dummy.c" ), ]) subprocess_c = ctx.pick_first_matching_dep([ - ( "osdep/subprocess-posix.c", "posix" ), ( "osdep/subprocess-win.c", "win32-desktop" ), ( "osdep/subprocess-dummy.c" ), ]) @@ -538,6 +535,7 @@ def build(ctx): ( "video/out/opengl/hwdec_vdpau.c", "vdpau-gl-x11" ), ( "video/out/opengl/libmpv_gl.c", "gl" ), ( "video/out/opengl/ra_gl.c", "gl" ), + ( "video/out/opengl/ra_ps4.c", "gl" ), ( "video/out/opengl/utils.c", "gl" ), ( "video/out/present_sync.c", "wayland || x11" ), ( "video/out/wldmabuf/context_wldmabuf.c", "dmabuf-wayland" ),